KR100480998B1 - 디지털 하드웨어 시스템 보안 장치 및 방법 - Google Patents
디지털 하드웨어 시스템 보안 장치 및 방법 Download PDFInfo
- Publication number
- KR100480998B1 KR100480998B1 KR10-2002-0080156A KR20020080156A KR100480998B1 KR 100480998 B1 KR100480998 B1 KR 100480998B1 KR 20020080156 A KR20020080156 A KR 20020080156A KR 100480998 B1 KR100480998 B1 KR 100480998B1
- Authority
- KR
- South Korea
- Prior art keywords
- hardware
- security
- block
- key
- hardware system
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/86—Secure or tamper-resistant housings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/88—Detecting or preventing theft or loss
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 하드웨어 보안 메커니즘을 갖는 하드웨어 블록을 포함하는 디지털 하드웨어 시스템 보안 장치에 관한 것으로, 하드웨어 블록은, CPU 및 PCI 브릿지의 보안 대상이 되는 보안 대상 블록과, 하드웨어 보안 메커니즘을 제공하며 하드웨어 시스템 버스를 통해 데이터 및 명령어에 대하여 안정성을 제공하면서 양방향 통신을 수행하는 하드웨어 보안 블록을 구비하며, 하드웨어 보안 블록은, 하드웨어 시스템 버스에 의해 연결된 보안 메커니즘을 제공하는 하드웨어 보안 블록간에 비밀키를 서로 노출시키지 않은 상태에서 키를 분배할 수 있도록 키 분배 프로토콜 구조를 갖는 키 분배 제어기와, 하드웨어 보안 블록 구성 요소들간의 동작을 제어하는 제어기와, 하드웨어 시스템 버스의 클록 동기화를 위해 선형 피드백 쉬프트 레지스터(Linear Feedback Shift Registe) 및 비대칭키 암호 알고리즘을 사용하여 자신의 비밀키를 노출시키지 않는 상태에서 서로 안전하게 분배된 키 값을 쉬프트 레지스터에 저장 및 출력시키는 유사 난수 발생기와, 유사 난수 발생기의 출력 값과 하드웨어 시스템 버스를 통과하는 데이터에 대하여 모듈라 2 덧셈 연산(modular-2 addition)을 수행하여 고성능 시스템 버스와 입출력 버스를 암호화하는 배타적 이진 연산기와, 비대칭키 암호 알고리즘 기반 RSA 암호 알고리즘 및 타원곡선 암호 알고리즘을 사용하여 비대칭으로 암호화하는 비대칭키 암호 모듈을 포함한다. 본 발명에 따른 하드웨어적인 시스템 보안 메커니즘은 사용자 인증 및 보안이 중요하게 생각되는 다양한 시스템, 예를 들면 디지털 게임기나 PDA, 셋탑 박스, IC 카드 등에 적용될 수 있다.
Description
본 발명은 디지털 하드웨어 시스템 보안 장치 및 방법에 관한 것으로, 특히 비대칭키 암호 알고리즘과 적절한 보안 메커니즘을 사용하여, 셋탑 박스나 디지털 게임기와 같은 디지털 하드웨어 시스템의 보안을 제공하도록 하는 장치 및 방법에 관한 것이다.
통상적으로, 디지털 하드웨어 시스템의 보안성은 해쉬 함수 혹은 대칭키 암호 알고리즘을 주로 사용하는 비밀키의 안전성에 기반을 두어 보안을 유지해 왔다. 그렇지만, 비밀키 및 해쉬 함수 값에 의존하는 안전성은 시스템 버스의 도청 등과 같은 하드웨어 공격에 의해 비밀키 값이 노출되어 안전성이 쉽게 파괴된다는 단점을 가진다.
이와 같은 하드웨어 공격 방법은 대칭키 암호 알고리즘을 사용하는 거의 대부분의 하드웨어 시스템에 적용할 수 있다.
그 예로, 차세대 비디오 게임기인 엑스바(Xbox)는 알씨4(RC4)라는 비밀키 암호 알고리즘과 해쉬 함수 값을 사용하여 부팅 및 게임기 시스템의 시작과 관련 있는 시스템 코드를 암호화하여 게임기의 안전성을 제공한다. 그렇지만, 이러한 보안 메커니즘은 비밀키 값만 알아내어 보안 코드 부분을 해킹함으로서 공격자들은 원하는 게임을 불법적으로 사용할 수 있게 된다. 즉, 그 비밀키 값을 사용하는 모든 Xbox 시스템에 적용할 수 있어서 Xbox를 개발한 업체에 경제적으로 막대한 피해를 주게 된다.
또한, 케이블 TV의 유료화를 가능하게 하는 셋탑 박스도 대부분 비밀키 값 혹은 해쉬 함수 값을 사용하여 사용자를 인증하는데 이러한 비밀키 값은 해커에 하드웨어 및 소프트웨어적인 공격에 의해 쉽게 노출되어 시스템의 보안성이 파괴되는 문제점을 갖고 있다.
이와 같이, 시스템 보안 기술로는 1998년 12월 1일 1998-052997로 등록된 "저장장치에 저장된 데이터의 보안 기능을 구비한 컴퓨터 시스템 및 방법"과, 2000년 6월 27일 266611로 등록된 "데이터 스크램블링회로"와, 2000년 6월 27일 266605로 등록된 "다중데이터 스크램블링회로" 등에 개시되어 있다.
상술한 바와 같이, 개시된 선행기술을 상세하게 설명하면, "저장장치에 저장된 데이터의 보안 기능을 구비한 컴퓨터 시스템 및 방법"은 컴퓨터 시스템이 파워 오프 될 때마다 하드디스크의 FAT(파일 할당 테이블) 정보가 별도의 EEPROM에 저장되고, 하드디스크에 기록된 FAT 정보가 삭제된다. 이후 시스템이 파워 온 되어 부팅되는 단계에서 하드디스크의 패스워드 및 시리얼 넘버의 일치 여부를 확인하여 일치되는 경우에만 EEPROM에 저장된 FAT 정보를 하드디스크에 복원한다. 그러므로 하드디스크를 분리하여 다른 컴퓨터 시스템에 장착하더라도 FAT를 복원할 수 없기 때문에 하드디스크에 저장된 데이터를 취득할 수 없다. 이와 같이, FAT 정보를 저장하고 있는 원래의 컴퓨터 시스템에서만 HDD 사용이 가능하게 되므로 하드디스크 정보에 대한 보안을 유지할 수 있다.
이 발명에서 제안하는 보안성 메커니즘을 구현하기 위해서, 착탈 가능한 하드디스크 드라이브, 상기 하드디스크 드라이브의 FAT정보를 저장하기 위한 EEPROM 메모리, 상기 컴퓨터 시스템이 파워 오프될 때 상기 하드디스크 드라이브로부터 FAT 정보를 상기 EEPROM 메모리 수단에 저장한 뒤 상기 하드디스크 드라이브의 FAT 정보를 삭제하는 기능, 상기 컴퓨터 시스템이 파워 온 될 때 EEPROM 메모리로부터 FAT 정보를 빼내어서, 상기 하드디스크 드라이브로 FAT 정보를 복원하는 제어 수단이 필요하다.
다음으로, "데이터 스크램블링 회로"는 각 암호화 기능블록의 출력신호를 저장부에 저장된 특정 값을 사용하여 암호화 정도를 향상시키고, 그 암호화 정도가 향상된 출력신호 각각을 선택적으로 최종적인 암호문으로 사용함으로써, 랜덤 비(RANDOM RATE)를 향상시켰다.
다음으로, "다중데이터 스크램블링 회로"는 데이터 암호화된 데이터를 스크램블 할 때, 멀티플렉서를 사용하여 서로 다른 크기의 데이터를 선택적으로 입력하여 데이터를 스크램블 할 수 있게 하였다. 이 발명의 가장 큰 특징은 기존의 방식의 고정된 길이를 가변적으로 선택할 수 있게 하여 선택된 데이터를 스크램블 한다는 것이다.
이와 같이, 선행 특허에 개시된 기술을 살펴보았을 때, 비밀키 값을 사용하는 모든 Xbox 시스템에 적용할 수 있어서 Xbox를 개발한 업체에 경제적으로 막대한 피해를 주게 되는 문제점과, 비밀키 값 혹은 해쉬 함수 값에 의해 사용자 인증 처리를 수행하는 케이블 TV에 있어서, 비밀키 값은 해커에 하드웨어 및 소프트웨어적인 공격에 의해 쉽게 노출되어 시스템의 보안성이 파괴되는 문제점이 여전히 남아 있다.
따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 그 목적은 하드웨어의 복잡도가 매우 낮고 고성능이 가능한 배타적 이진 연산기와 유사 난수 발생기를 사용하여 고속의 데이터 암호화 및 복호화가 가능하며, 비대칭키 암호 모듈에 의한 비대칭키 암호 알고리즘을 사용하여 높은 안전성을 제공하며, 분배된 키 값을 토대로 배타적 이진 연산을 수행하여 셋탑 박스나 디지털 게임기와 같은 디지털 하드웨어 시스템의 보안성을 강화시킬 수 있도록 하는 디지털 하드웨어 시스템 보안 장치 및 방법을 제공함에 있다.
이러한 목적을 달성하기 위한 본 발명의 일 실시예에 따르면, 하드웨어 보안 메커니즘을 갖는 하드웨어 블록을 포함하는 디지털 하드웨어 시스템 보안 장치로서, 하드웨어 블록은, CPU 및 PCI 브릿지의 보안 대상이 되는 보안 대상 블록과, 하드웨어 보안 메커니즘을 제공하며 하드웨어 시스템 버스를 통해 데이터 및 명령어에 대하여 안정성을 제공하면서 양방향 통신을 수행하는 하드웨어 보안 블록을 구비하며, 하드웨어 보안 블록은, 하드웨어 시스템 버스에 의해 연결된 보안 메커니즘을 제공하는 하드웨어 보안 블록간에 비밀키를 서로 노출시키지 않은 상태에서 키를 분배할 수 있도록 키 분배 프로토콜 구조를 갖는 키 분배 제어기와, 하드웨어 보안 블록 구성 요소들간의 동작을 제어하는 제어기와, 하드웨어 시스템 버스의 클록 동기화를 위해 선형 피드백 쉬프트 레지스터(Linear Feedback Shift Registe) 및 비대칭키 암호 알고리즘을 사용하여 자신의 비밀키를 노출시키지 않는 상태에서 서로 안전하게 분배된 키 값을 쉬프트 레지스터에 저장 및 출력시키는 유사 난수 발생기와, 유사 난수 발생기의 출력 값과 하드웨어 시스템 버스를 통과하는 데이터에 대하여 모듈라 2 덧셈 연산(modular-2 addition)을 수행하여 고성능 시스템 버스와 입출력 버스를 암호화하는 배타적 이진 연산기와, 비대칭키 암호 알고리즘 기반 RSA 암호 알고리즘 및 타원곡선 암호 알고리즘을 사용하여 비대칭으로 암호화하는 비대칭키 암호 모듈을 포함하는 디지털 하드웨어 시스템 보안 장치를 제공한다.본 발명의 목적을 달성하기 위한 다른 실시예에 따르면, 보안 대상 블록 및 하드웨어 보안 블록을 구비하는 디지털 하드웨어 시스템에서의 보안 방법으로서, 하드웨어 보안 블록으로 전원이 들어오는 부팅 과정에서 난수를 발생시키고, 난수 값을 비밀키로 사용하는 하드웨어 보안 블록 내 비대칭키 암호 모듈에서 RSA 지수승 연산 혹은 타원곡선 스칼라 곱셈 연산을 통하여, 키 분배 프로토콜을 수행하여 공개키 값을 생성 및 분배하는 단계와, 분배된 키 값을 하드웨어 보안 블록내의 유사 난수 발생기에 저장하여 유사 난수를 발생하는 시드(seed) 값으로 사용하는 단계와, 발생된 난수 값을 상기 디지털 하드웨어 보안 시스템의 보안 대상 블록에서 입출력되는 데이터와 하드웨어 보안 블록 내 배타적 이진 연산기에 사용하는 단계와, 배타적 이진 연산기에 의해 연산된 데이터를 하드웨어 시스템 버스를 통해 타측 하드웨어 보안 블록으로 전송하고, 타측 하드웨어 보안 블록에서 암호화된 데이터에 대하여 배타적 이진 연산을 재 수행하여 복호화하는 단계를 포함하는 디지털 하드웨어 시스템 보안 방법을 제공한다.
삭제
본 발명의 목적을 달성하기 위한 또 다른 실시예에 따르면, 하드웨어 보안 메커니즘을 갖는 하드웨어 블록을 포함하는 디지털 하드웨어 시스템 보안 장치로서, 하드웨어 블록은, PU 및 PCI 브릿지의 보안 대상이 되는 보안 대상 블록과, 하드웨어 보안 메커니즘을 제공하며 다중으로 구현된 하드웨어 시스템 버스를 통해 데이터 및 명령어에 대하여 안정성을 제공하면서 양방향 통신을 수행하는 하드웨어 보안 블록을 구비하며, 하드웨어 보안 블록은, 다중으로 구현된 하드웨어 시스템 버스에 의해 연결된 보안 메커니즘을 제공하는 하드웨어 보안 블록간에 비밀키를 서로 노출시키지 않은 상태에서 키를 분배할 수 있도록 키 분배 프로토콜 구조를 갖는 키 분배 제어기와, 하드웨어 보안 블록 구성 요소들간의 동작을 제어하는 제어기와, 다중으로 구현된 하드웨어 시스템 버스의 클록 동기화를 위해 선형 피드백 쉬프트 레지스터 및 비대칭키 암호 알고리즘을 사용하여 자신의 비밀키를 노출시키지 않는 상태에서 서로 안전하게 분배된 키 값을 쉬프트 레지스터에 저장 및 출력시키는 유사 난수 발생기와, 유사 난수 발생기의 출력 값과 다중으로 구현된 하드웨어 시스템 버스를 통과하는 데이터에 대하여 모듈라 2 덧셈 연산을 수행하여 고성능 시스템 버스와 입출력 버스를 암호화하는 배타적 이진 연산기와, 암호화된 데이터를 다중으로 구현된 하드웨어 시스템 버스 중 어떤 버스를 선택할 것인지와, 특정 시간에 어떤 버스를 통하여 전송할 것인지를 선택하는 버스 퍼뮬테이션(permutation)을 위한 분배기와, 비대칭키 암호 알고리즘 기반 RSA 암호 알고리즘 및 타원곡선 암호 알고리즘을 사용하여 비대칭으로 암호화하는 비대칭키 암호 모듈을 포함하는 디지털 하드웨어 시스템 보안 장치를 제공한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세하게 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 디지털 하드웨어 시스템 보안 장치에 대한 블록 구성도로서, 하드웨어 시스템 버스(130)를 통해 연결된 하드웨어 보안 메커니즘을 갖는 하드웨어 블록(110)을 포함한다.
하드웨어 보안 메커니즘을 갖는 하드웨어 블록(110)은 CPU나 PCI 브릿지 등과 같이 보안 대상이 되는 보안 대상 블록(100) 및 하드웨어 보안 메커니즘을 제공하는 하드웨어 보안 블록(120)을 구비하며, 이중 하드웨어 보안 메커니즘을 제공하는 하드웨어 보안 블록(120)은 내부적으로 키 분배 제어기(140)와, 제어기(150)와, 유사 난수 발생기(160)와, 버스 암호화를 위한 배타적 이진 연산기(170)와, 비대칭키 암호 모듈(180)을 갖는다.
보안 대상 블록(100)은 CPU, PCI 브릿지와 같은 입출력 버스 제어기, PCI 인터페이스 제어기, 그리고 메모리 버스 입출력 제어기 등이 될 수 있다.
하드웨어 보안 블록(120)은 CPU 혹은 입출력 버스 제어기, 시스템 버스 제어기 등과 같은 하드웨어로 구현되어 있는 블록으로서, 하드웨어 시스템 버스(130)를 통해 데이터 및 명령어에 대하여 안정성을 제공하면서 양방향 통신을 수행한다. 여기서, 하드웨어 시스템 버스(130)에 대하여 물리적인 탐지 및 도청 등과 같은 하드웨어적인 해킹이 수행되는 경우, 양방향으로 통신되는 트래픽 데이터는 암호화되거나 치환(permutation)되어 있는데, 해킹자가 이를 도청하더라도 데이터의 내용을 알 수 없게 되는데, 이때 중요한 것은 버스 속도를 저하시키지 않으면서 안전성을 제공할 수 있어야 하며, 하드웨어 시스템 버스(130)에 연결된 각 노드간의 동기화(synchronization) 문제를 쉽게 해결할 수 있도록 구성되어 있어야 한다.
하드웨어 보안 블록(120)내 키 분배 제어기(140)는 하드웨어 시스템 버스(130)에 의해 연결된 보안 메커니즘을 제공하는 하드웨어 보안 블록(120)간에 비밀키를 서로 노출시키지 않은 상태에서 키를 분배할 수 있도록 하는 제어기 블록으로 프로그램 가능한 구조를 가진다. 즉, 다양한 키 분배 프로토콜을 수행할 수 있도록 한다. 이때, 비대칭키 암호 모듈(180)을 사용하는 가장 일반적인 키 분배 프로토콜인 디피 헬만(Diffie Hellman) 키 분배 프로토콜은 버스 중간에서 키를 가로채어 양쪽 각각에 대하여 적당한 키 값을 제공하여, 공격할 수 있는 방법이 존재하기 때문에, 이를 방지할 수 있는 안전한 디피 헬만(Diffie Hellman) 키 분배 프로토콜인 키 분배 제어기(140)를 구현한 것이다.
하드웨어 보안 블록(120)내 제어기(150)는 하드웨어 보안 블록(120) 구성 요소들간의 동작을 제어한다.
하드웨어 보안 블록(120)내 유사 난수 발생기(160)는 선형 피드백 쉬프트 레지스터(Linear Feedback Shift Register : LFSR)를 사용하여 구성된 블록으로서, 비대칭키 암호 알고리즘을 사용하여, 자신의 비밀키를 노출시키지 않는 상태에서 서로 안전하게 분배된 키 값은 유사 난수 발생기의 쉬프트 레지스터에 저장된 후, 하드웨어 시스템 버스(130)의 클록과 동기화 되어 동작하게 된다.
하드웨어 보안 블록(120)내 배타적 이진 연산기(170)는 유사 난수 발생기(160)의 출력 값과 하드웨어 시스템 버스(130)를 통과하는 데이터에 대하여, 모듈라 2 덧셈(modular-2 addition) 연산을 수행하기 때문에, 매우 빠른 동작으로 수 백 Mbps에서 수 Gbps 급의 고성능 시스템 버스와 입출력 버스를 암호화한다.
하드웨어 보안 블록(120)내 비대칭키 암호 모듈(180)은 RSA나 타원곡선 암호 알고리즘과 같은 비대칭키 암호 알고리즘을 고속으로 수행할 수 있도록 하는 블록으로서, 비대칭키 암호 알고리즘 기반 RSA 암호 알고리즘을 사용하는 경우, RSA 암호 알고리즘의 높은 하드웨어 복잡도와 저속 동작 특성 때문에, 성능 특성과 하드웨어의 복잡도를 고려하여 곱셈기 기반의 몽고메리(Montgomery) 알고리즘을 사용한다. 한편, 타원곡선 암호 알고리즘을 사용하는 경우에는, 타원곡선 암호 알고리즘이 RSA보다 작은 하드웨어 복잡도와 고성능 특성을 가지기 때문에, 하드웨어 보안 시스템에 적절히 사용할 수 있다.
이하, 상술한 구성과 함께, 본 발명에 따른 디지털 하드웨어 시스템 보안 장치의 동작 과정에 대해 도 2의 흐름도를 참조로 상세히 설명하기로 한다.
먼저, 도 1의 하드웨어 보안 메커니즘을 제공하는 하드웨어 보안 블록(120)은 내부적으로 전원이 들어오는 상태 즉, 부팅 과정에서 난수를 발생시키고(단계 201), 이 발생된 난수 값을 비밀키로 사용하는 비대칭키 암호 모듈(180)은 RSA 지수승 연산 혹은 타원곡선 스칼라 곱셈 연산을 통하여, 키 분배 프로토콜을 수행하게 된다. 즉, 부팅 과정에서 생성된 키 값들은 두 하드웨어 보안 블록(120)내의 비대칭키 암호 모듈(180)에 사용되어, 공개키 값을 생성하도록 한다(단계 202).
일단, 생성된 공개키 값은 입출력 버스 혹은 메모리 버스 등과 같은 하드웨어 시스템 버스(130)를 통하여 상대방 하드웨어 블록(110)에 서로 전달되는데, 이때, 키 분배 동작은 키 분배 제어기(140)에 의해 키 분배가 수행되며(단계 203), 필요한 하드웨어 보안 블록(120) 구성 요소들간의 동작은 제어기(150)에 의해 제어된다.
한편, 하드웨어 공격자가 하드웨어 시스템 버스(130)를 통하여 전송되는 공개키 값을 가로챈다고 할 지라도 이는 이미 비대칭키 암호 모듈(180)에 의해 암호화가 되었기 때문에, 이를 해석하는 것은 RSA인 경우에는 지수승 연산 문제를 푸는 것이고, 타원곡선 암호 알고리즘인 경우에는 이산 대수의 문제를 푸는 것이기 때문에 해독이 불가능하다.
여기서, 키 분배 프로토콜은 단순한 디피 헬만(Diffie Hellman) 키 분배 프로토콜을 사용한 것이지만, 키 분배 제어기(140)가 프로그램 가능하기 때문에, 더욱 안전한 키 분배 프로토콜을 사용할 수도 있다.
키 분배 제어기(140)에 의해 분배된 키 값은 하드웨어 보안 블록(120)내의 유사 난수 발생기(160)에 저장되어(단계 204), 유사 난수를 발생하는 시드(seed) 값으로 사용된다(단계 205). 여기서, 유사 난수 발생기(160)를 구성하는 레지스터는 광학적인 하드웨어 공격 방법이나, 디-케핑(de-capping)과 값은 물리적인 하드웨어 공격을 통하여, 시드 키 값을 알아내도록 하는 것을 막기 위해, 칩 구현시 적절한 하드웨어 방지 기법을 사용하여 보호해야 한다.
또한, 매 클럭마다 발생되는 난수 값은 하드웨어 보안 시스템의 보호 대상이 되는 CPU나 PCI 브릿지와 같은 보안 대상 블록(100)에서 입출력되는 데이터와 배타적 이진 연산기(170)에 의해 연산된다(단계 206). 즉, 배타적 이진 연산기(170)에 의해 연산된 데이터는 하드웨어 시스템 버스(130)를 통하여 상대 하드웨어 블록(110)으로 전송되고(단계 207), 상대 하드웨어 블록(110)에서는 암호화된 데이터에 대하여, 배타적 이진 연산을 한번 더 수행함으로서 복호화한다(단계 208).
도 3은 본 발명의 다른 실시 예에 따른 디지털 하드웨어 시스템 보안 장치에 대한 블록 구성도로서, 하드웨어 시스템 버스(230)를 통해 연결된 하드웨어 보안 메커니즘을 가지는 하드웨어 블록(210)을 포함한다.
하드웨어 보안 메커니즘을 가지는 하드웨어 블록(210)은 CPU나 PCI 브릿지 등과 같이 보안 대상이 되는 보안 대상 블록(200) 및 하드웨어 보안 메커니즘을 제공하는 하드웨어 보안 블록(220)을 구비하며, 이중 하드웨어 보안 메커니즘을 제공하는 하드웨어 보안 블록(220)은 내부적으로 키 분배 제어기(240)와, 제어기(250)와, 유사 난수 발생기(260)와, 버스 암호화를 위한 배타적 이진 연산기(270)와, 버스 퍼뮬테이션(permutation)을 위한 분배기(280)와, 비대칭키 암호 모듈(180)을 갖는다.
상술한 도 1의 장치와 비교해 볼 때, 버스 퍼뮬테이션을 위한 분배기(280)가 추가되었고, 하드웨어 시스템 버스(230)가 다중으로 구현되어 있다.
즉, 데이터가 전송되는 하드웨어 시스템 버스(230)를 다중으로 구성하고, 어떤 시간에 어떤 버스를 통하여 암호화된 데이터를 전송할 것인가를 버스 퍼뮬테이션을 위한 분배기(280)에 의해 임의로 선택함으로서, 외부 공격자들이 버스에 대한 물리적인 탐지를 했다고 하더라도, 이를 해독하는 것이 더욱 불가능하도록 한 것이다.
또한, 물리적으로 많은 수의 하드웨어 시스템 버스(230) 라인을 탐지하는 것은 이보다 작은 수의 버스를 탐지하는 것보다 현실적으로 더 어려우며, 특히, PCB 기판에 버스 라인을 구현할 때, 이를 각기 다른 층(layer)에 레이 아웃으로 구현하게 되면, 하드웨어 시스템 버스(230)에 대한 탐지는 더욱 불가능하게 된다.
한편, 하드웨어 시스템 버스(230)에서 어떤 버스를 선택할 것인가와 특정 시간에 어떤 버스를 통하여 암호화된 데이터가 전송되었는가를 상대측 하드웨어 보안 블록(220)에서는 정확히 알고 있어야 한다.
즉, 버스 퍼뮬테이션을 위한 분배기(280)는 멀티플렉서와 디멀티플렉서를 사용하여 구현이 가능하며, 하드웨어 시스템 버스(230) 라인 선택은 유사 난수 발생기의 특정 비트값을 조합하여 구현할 수 있다. 그 예로, 특정 하위 비트값을 사용하여 하드웨어 시스템 버스(230) 라인을 선택할 수 있으며, 특정 비트값들을 조합하여 하드웨어 시스템 버스(230) 라인을 선택할 수도 있다.
이때, 보안성은 유사 난수 발생기(260)의 안전도와 동일하기 때문에 안전하며, 상대측 버스 퍼뮬테이션을 위한 분배기(280)와의 동기화는 키 분배 제어기(240)에서 제공되는 키 분배 프로토콜에 의해 공유된 키 값에 의해 동기화 되므로, 쉽게 구현할 수 있게 된다.
다시 말해서, 특정 시점에 각 하드웨어 보안 모듈(220)내의 유사 난수 발생기(260)에는 동일한 랜덤 키 값이 발생되고 있으며, 이 값에 의해, 버스 퍼뮬테이션을 위한 분배기(280)의 선택에 의해 이루어져, 암호화 데이터가 하드웨어 시스템 버스(230)의 특정 시간에 특정 버스 라인을 통하여 전송된다.
수신측에서 보면, 수신측 하드웨어 보안 모듈(220)의 유사 난수 발생기(260)도 동일한 클록 시간에 동일한 랜덤 키 값을 가지고 있기 때문에, 분배기(280)에 의해 적절한 버스 라인이 선택되어, 수신하고자 하는 데이터가 정확히 복호화되고 이 복호화된 데이터를 수신한 후 보안 대상 블록(220)에 전송한다.이상, 본 발명의 바람직한 실시예에 대해 기술하였으나 본 발명은 이러한 실시예에 한정되는 것은 아니며, 후술하는 특허청구범위의 기술 범주를 벗어나지 않는 범위내에서 다양한 변경 및 변형이 가능함은 물론이다.
본 발명에 의하면, 하드웨어의 복잡도가 매우 낮고 고성능이 가능한 배타적 이진 연산기와 유사 난수 발생기를 사용하여 고속의 데이터 암호화 및 복호화가 가능하며, 비대칭키 암호 모듈에 의한 비대칭키 암호 알고리즘을 사용하여 높은 안전성을 제공하며, 분배된 키 값을 토대로 배타적 이진 연산을 수행함으로써, 고속성 및 보안성을 제공한다.
또한, 본 발명에 따른 디지털 하드웨어 시스템 보안 장치는 기반이 되는 시스템 버스를 고속으로 암호화하여, 하드웨어 해커들의 불법적인 공격으로부터 프로토콜 정보 및 보안 관련 정보, 비밀키 값 등을 노출시키지 않는다.
그리고, 하드웨어 공격자가 인증 절차 등이 포함되어 있는 시스템 소프트웨어를 불법적으로 변경한 경우, 이를 감지하여, 도용되었음을 확인할 수 있다. 마지막으로, 본 발명에서 제안한 하드웨어적인 시스템 보안 메커니즘은 사용자 인증 및 보안이 중요하게 생각되는 다양한 시스템, 즉 디지털 게임기나 PDA, 셋탑 박스, IC 카드 등에 적용할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 디지털 하드웨어 시스템 보안 장치에 대한 블록 구성도,
도 2는 본 발명의 다른 실시예에 따른 디지털 하드웨어 시스템 보안 장치의 동작 과정에 대한 흐름도,
도 3은 본 발명의 또 다른 실시 예에 따른 디지털 하드웨어 시스템 보안 장치에 대한 블록 구성도.
<도면의 주요부분에 대한 부호의 설명>
100,200 : 보안 대상 블록 110,210 : 하드웨어 블록
120,220 : 하드웨어 보안 블록 130,230 : 하드웨어 시스템 버스
140,240 : 키 분배 제어기 150,250 : 제어기
160,260 : 유사 난수 발생기 170,270 : 배타적 이진 연산기
180,290 : 비대칭키 암호 모듈 280 : 버스 퍼뮬테이션을 위한 분배기
Claims (11)
- 하드웨어 보안 메커니즘을 갖는 하드웨어 블록을 포함하는 디지털 하드웨어 시스템 보안 장치로서,상기 하드웨어 블록은,CPU 및 PCI 브릿지의 보안 대상이 되는 보안 대상 블록과,하드웨어 보안 메커니즘을 제공하며 하드웨어 시스템 버스를 통해 데이터 및 명령어에 대하여 안정성을 제공하면서 양방향 통신을 수행하는 하드웨어 보안 블록을 구비하며,상기 하드웨어 보안 블록은,상기 하드웨어 시스템 버스에 의해 연결된 보안 메커니즘을 제공하는 하드웨어 보안 블록간에 비밀키를 서로 노출시키지 않은 상태에서 키를 분배할 수 있도록 키 분배 프로토콜 구조를 갖는 키 분배 제어기와,상기 하드웨어 보안 블록 구성 요소들간의 동작을 제어하는 제어기와,상기 하드웨어 시스템 버스의 클록 동기화를 위해 선형 피드백 쉬프트 레지스터 및 비대칭키 암호 알고리즘을 사용하여 자신의 비밀키를 노출시키지 않는 상태에서 서로 안전하게 분배된 키 값을 쉬프트 레지스터에 저장 및 출력시키는 유사 난수 발생기와,상기 유사 난수 발생기의 출력 값과 하드웨어 시스템 버스를 통과하는 데이터에 대하여 모듈라 2 덧셈 연산을 수행하여 고성능 시스템 버스와 입출력 버스를 암호화하는 배타적 이진 연산기와,상기 비대칭키 암호 알고리즘 기반 RSA 암호 알고리즘 및 타원곡선 암호 알고리즘을 사용하여 비대칭으로 암호화하는 비대칭키 암호 모듈을 포함하는 디지털 하드웨어 시스템 보안 장치.
- 제 1 항에 있어서,상기 장치는, 양방향 통신되는 트래픽 데이터를 암호화 및 치환하여 상기 하드웨어 시스템 버스에 대한 하드웨어적인 해킹을 방지하며, 상기 하드웨어 시스템 버스에 연결된 각 노드간의 동기화를 해결하도록 구성되는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 장치.
- 제 1 항에 있어서,상기 비대칭키 암호 모듈을 사용하는 키 분배 제어기는 디피 헬만 키 분배 프로토콜 형태로 사용되어, 상기 하드웨어 시스템 버스 중간에서 키를 가로채어도 전체 키 값을 복원할 수 없도록 하는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 장치.
- 제 1 항에 있어서,상기 RSA 암호 알고리즘은 상기 장치의 저속 동작 특성과 높은 하드웨어 복잡도를 고려하여 곱셈기 기반의 몽고메리 알고리즘을 사용하며, 상기 타원곡선 암호 알고리즘은 상기 장치의 고속 동작 특성과 높은 하드웨어 복잡도를 고려한 하드웨어 보안 시스템에 사용되는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 장치.
- 보안 대상 블록 및 하드웨어 보안 블록을 구비하는 디지털 하드웨어 시스템에서의 보안 방법으로서,상기 하드웨어 보안 블록으로 전원이 들어오는 부팅 과정에서 난수를 발생시키고, 상기 난수 값을 비밀키로 사용하는 상기 하드웨어 보안 블록 내 비대칭키 암호 모듈에서 RSA 지수승 연산 혹은 타원곡선 스칼라 곱셈 연산을 통하여, 키 분배 프로토콜을 수행하여 공개키 값을 생성 및 분배하는 단계와,상기 분배된 키 값을 하드웨어 보안 블록내의 유사 난수 발생기에 저장하여 유사 난수를 발생하는 시드 값으로 사용하는 단계와,상기 발생된 난수 값을 상기 디지털 하드웨어 보안 시스템의 보안 대상 블록에서 입출력되는 데이터와 상기 하드웨어 보안 블록 내 배타적 이진 연산기에 사용하는 단계와,상기 배타적 이진 연산기에 의해 연산된 데이터를 하드웨어 시스템 버스를 통해 타측 하드웨어 보안 블록으로 전송하고, 상기 타측 하드웨어 보안 블록에서 상기 암호화된 데이터에 대하여 배타적 이진 연산을 재 수행하여 복호화하는 단계를 포함하는 디지털 하드웨어 시스템 보안 방법.
- 제 5 항에 있어서,상기 키 분배 프로토콜은 디피 헬만 기법이 적용되는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 방법.
- 제 5 항에 있어서,상기 유사 난수 발생기를 구성하는 레지스터는 광학적인 하드웨어 공격으로부터 보호되는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 방법.
- 하드웨어 보안 메커니즘을 갖는 하드웨어 블록을 포함하는 디지털 하드웨어 시스템 보안 장치로서,상기 하드웨어 블록은,CPU 및 PCI 브릿지의 보안 대상이 되는 보안 대상 블록과,하드웨어 보안 메커니즘을 제공하며 다중으로 구현된 하드웨어 시스템 버스를 통해 데이터 및 명령어에 대하여 안정성을 제공하면서 양방향 통신을 수행하는 하드웨어 보안 블록을 구비하며,상기 하드웨어 보안 블록은,상기 다중으로 구현된 하드웨어 시스템 버스에 의해 연결된 보안 메커니즘을 제공하는 하드웨어 보안 블록간에 비밀키를 서로 노출시키지 않은 상태에서 키를 분배할 수 있도록 키 분배 프로토콜 구조를 갖는 키 분배 제어기와,상기 하드웨어 보안 블록 구성 요소들간의 동작을 제어하는 제어기와,상기 다중으로 구현된 하드웨어 시스템 버스의 클록 동기화를 위해 선형 피드백 쉬프트 레지스터 및 비대칭키 암호 알고리즘을 사용하여 자신의 비밀키를 노출시키지 않는 상태에서 서로 안전하게 분배된 키 값을 쉬프트 레지스터에 저장 및 출력시키는 유사 난수 발생기와,상기 유사 난수 발생기의 출력 값과 상기 다중으로 구현된 하드웨어 시스템 버스를 통과하는 데이터에 대하여 모듈라 2 덧셈 연산을 수행하여 고성능 시스템 버스와 입출력 버스를 암호화하는 배타적 이진 연산기와,상기 암호화된 데이터를 상기 다중으로 구현된 하드웨어 시스템 버스 중 어떤 버스를 선택할 것인지와, 특정 시간에 어떤 버스를 통하여 전송할 것인지를 선택하는 버스 퍼뮬테이션을 위한 분배기와,상기 비대칭키 암호 알고리즘 기반 RSA 암호 알고리즘 및 타원곡선 암호 알고리즘을 사용하여 비대칭으로 암호화하는 비대칭키 암호 모듈을 포함하는 디지털 하드웨어 시스템 보안 장치.
- 제 8 항에 있어서,상기 버스 퍼뮬테이션을 위한 분배기는 멀티플렉서와 디멀티플렉서를 사용하여 구현되며, 상기 다중화로 구현된 하드웨어 시스템 버스 라인 선택은 유사 난수 발생기의 특정 비트값을 조합하여 구현하는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 장치.
- 제 8 항에 있어서,상기 버스 퍼뮬레이션을 위한 분배기와 타측 버스 퍼뮬레이션을 위한 분배기와의 동기화는 상기 키 분배 제어기에서 제공되는 키 분배 프로토콜에 의해 공유된 키 값에 의해 구현되는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 장치.
- 제 8 항 또는 제 10 항에 있어서,상기 하드웨어 보안 모듈내의 유사 난수 발생기에는 동일한 랜덤 키 값이 발생되어 상기 발생된 키 값에 의해 상기 버스 퍼뮬테이션을 위한 분배기의 선택 제어가 이루어지며, 상기 암호화 데이터가 상기 선택된 버스 라인을 통해 전송되는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0080156A KR100480998B1 (ko) | 2002-12-16 | 2002-12-16 | 디지털 하드웨어 시스템 보안 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0080156A KR100480998B1 (ko) | 2002-12-16 | 2002-12-16 | 디지털 하드웨어 시스템 보안 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040052304A KR20040052304A (ko) | 2004-06-23 |
KR100480998B1 true KR100480998B1 (ko) | 2005-04-07 |
Family
ID=37345982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0080156A KR100480998B1 (ko) | 2002-12-16 | 2002-12-16 | 디지털 하드웨어 시스템 보안 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100480998B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010126636A3 (en) * | 2009-01-20 | 2011-01-06 | Microsoft Corporation | Hardware encrypting storage device with physically separable key storage device |
US8321956B2 (en) | 2009-06-17 | 2012-11-27 | Microsoft Corporation | Remote access control of storage devices |
US9330282B2 (en) | 2009-06-10 | 2016-05-03 | Microsoft Technology Licensing, Llc | Instruction cards for storage devices |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8473750B2 (en) | 2004-12-15 | 2013-06-25 | Nvidia Corporation | Chipset security offload engine |
US7920701B1 (en) | 2004-12-15 | 2011-04-05 | Nvidia Corporation | System and method for digital content protection |
JP4740830B2 (ja) * | 2005-12-14 | 2011-08-03 | エヌヴィディア コーポレイション | チップセットセキュリティオフロードエンジン |
KR101370829B1 (ko) * | 2007-05-08 | 2014-03-10 | 삼성전자주식회사 | 데이터의 암호화/복호화 방법 및 이를 적용한 버스 시스템 |
KR100940445B1 (ko) * | 2007-11-20 | 2010-02-10 | 한국전자통신연구원 | 하드웨어 부채널 검증 시스템 |
KR101531662B1 (ko) * | 2013-12-31 | 2015-06-25 | 고려대학교 산학협력단 | 사용자 단말과 서버간 상호 인증 방법 및 시스템 |
US10764029B1 (en) | 2019-04-02 | 2020-09-01 | Carey Patrick Atkins | Asymmetric Encryption Algorithm |
-
2002
- 2002-12-16 KR KR10-2002-0080156A patent/KR100480998B1/ko not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010126636A3 (en) * | 2009-01-20 | 2011-01-06 | Microsoft Corporation | Hardware encrypting storage device with physically separable key storage device |
US9330282B2 (en) | 2009-06-10 | 2016-05-03 | Microsoft Technology Licensing, Llc | Instruction cards for storage devices |
US8321956B2 (en) | 2009-06-17 | 2012-11-27 | Microsoft Corporation | Remote access control of storage devices |
US9111103B2 (en) | 2009-06-17 | 2015-08-18 | Microsoft Technology Licensing, Llc | Remote access control of storage devices |
Also Published As
Publication number | Publication date |
---|---|
KR20040052304A (ko) | 2004-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9152805B2 (en) | Security device | |
US10187200B1 (en) | System and method for generating a multi-stage key for use in cryptographic operations | |
CN100592683C (zh) | 来自数字权利管理加密解密器的受保护的返回路径 | |
EP0624013B1 (en) | Device and method for data encryption | |
US7900047B2 (en) | Method and apparatus for encrypting data transmitted over a serial link | |
JP6880017B2 (ja) | 信頼できないコンピュータ上でプライベートプログラムを実行するためのシステム及びプロセス | |
US8681975B2 (en) | Encryption method and apparatus using composition of ciphers | |
KR102383829B1 (ko) | 안전하게 메시지를 교환하기 위한 방법, 이 방법을 구현하기위한 장치 및 시스템 | |
US20150215117A1 (en) | White box encryption apparatus and method | |
JPH09270785A (ja) | 情報処理装置 | |
US7600118B2 (en) | Method and apparatus for augmenting authentication in a cryptographic system | |
EP2922235B1 (en) | Security module for secure function execution on untrusted platform | |
EP2629223A1 (en) | System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction | |
KR100480998B1 (ko) | 디지털 하드웨어 시스템 보안 장치 및 방법 | |
KR101899130B1 (ko) | 데이터의 암호화, 복호화 방법 및 이를 이용하는 장치 | |
EP1258796A2 (en) | Copy protection method and system for a field-programmable gate array | |
CN113326518A (zh) | 一种数据处理方法及装置 | |
KR20140071775A (ko) | 암호키 관리 시스템 및 방법 | |
KR20060068006A (ko) | 전력분석에 의한 데이터 버스 공격을 막기 위한 랜덤 버스스크램블 장치 | |
WO2019142260A1 (ja) | 秘匿分析装置、秘匿分析システム、秘匿分析方法及び秘匿分析プログラム | |
CN117221878B (zh) | 一种基于无线网络设备的信息安全管控方法及装置 | |
KR101915808B1 (ko) | 난독화를 이용하는 암호문 복호화 | |
Mary Sheeba et al. | Hybrid Security for Data in Cloud Computing: A Review | |
Nair et al. | Image encryption using logistic and rectangular chaotic maps | |
WO2009154959A2 (en) | Key exchange through a scramble methodology and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20100323 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |