KR20040052304A - Security apparatus and method for digital hardware system - Google Patents

Security apparatus and method for digital hardware system Download PDF

Info

Publication number
KR20040052304A
KR20040052304A KR1020020080156A KR20020080156A KR20040052304A KR 20040052304 A KR20040052304 A KR 20040052304A KR 1020020080156 A KR1020020080156 A KR 1020020080156A KR 20020080156 A KR20020080156 A KR 20020080156A KR 20040052304 A KR20040052304 A KR 20040052304A
Authority
KR
South Korea
Prior art keywords
hardware
security
block
bus
key
Prior art date
Application number
KR1020020080156A
Other languages
Korean (ko)
Other versions
KR100480998B1 (en
Inventor
김호원
김무섭
최용제
류희수
정교일
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR10-2002-0080156A priority Critical patent/KR100480998B1/en
Publication of KR20040052304A publication Critical patent/KR20040052304A/en
Application granted granted Critical
Publication of KR100480998B1 publication Critical patent/KR100480998B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/72Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/86Secure or tamper-resistant housings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/88Detecting or preventing theft or loss

Abstract

PURPOSE: A device and a method for the security of a digital hardware system are provided to encrypt/decrypt data fast by using an exclusive binary operator and a similar random number generator, offer the high security by using an asymmetric encryption algorithm, and reinforce the security of the digital hardware system such as a set-top box or a digital game machine. CONSTITUTION: A hardware block(110) having a hardware security mechanism is equipped with a security target block(100) that is the security target of a CPU or a PCI(Peripheral Component Interconnect) bridge, and a hardware security block(120) providing the hardware security mechanism and performing bidirectional communication while providing the stability for data and an instruction through a hardware system bus(130). The hardware security block includes a key distribution controller(140), a controller(150), the similar random number generator(160), the exclusive binary operator(170), and the asymmetric encryption module(180).

Description

디지털 하드웨어 시스템 보안 장치 및 방법{SECURITY APPARATUS AND METHOD FOR DIGITAL HARDWARE SYSTEM}SECURITY APPARATUS AND METHOD FOR DIGITAL HARDWARE SYSTEM

본 발명은 디지털 하드웨어 시스템 보안 장치 및 방법에 관한 것으로, 특히 비대칭키 암호 알고리즘과 적절한 보안 메커니즘을 사용하여, 셋탑 박스나 디지털 게임기와 같은 디지털 하드웨어 시스템의 보안을 제공하도록 하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for securing a digital hardware system, and more particularly, to an apparatus and method for providing security of a digital hardware system such as a set-top box or a digital game machine by using an asymmetric key encryption algorithm and an appropriate security mechanism.

통상적으로, 디지털 하드웨어 시스템의 보안성은 해쉬 함수 혹은 대칭키 암호 알고리즘을 주로 사용하는 비밀키의 안전성에 기반을 두어 보안을 유지해 왔다. 그렇지만, 비밀키 및 해쉬 함수 값에 의존하는 안전성은 시스템 버스의 도청 등과 같은 하드웨어 공격에 의해 비밀키 값이 노출되어 안전성이 쉽게 파괴된다는 단점을 가진다.Typically, the security of digital hardware systems has been secured based on the security of secret keys, which mainly use hash functions or symmetric key cryptographic algorithms. However, the safety that depends on the secret key and hash function value has the disadvantage that the secret key value is exposed by hardware attack such as eavesdropping of the system bus and the security is easily destroyed.

이와 같은 하드웨어 공격 방법은 대칭키 암호 알고리즘을 사용하는 거의 대부분의 하드웨어 시스템에 적용할 수 있다.Such a hardware attack method can be applied to almost any hardware system using a symmetric key cryptographic algorithm.

그 예로, 차세대 비디오 게임기인 엑스바(Xbox)는 알씨4(RC4)라는 비밀키 암호 알고리즘과 해쉬 함수 값을 사용하여 부팅 및 게임기 시스템의 시작과 관련 있는 시스템 코드를 암호화하여 게임기의 안전성을 제공한다. 그렇지만, 이러한 보안 메커니즘은 비밀키 값만 알아내어 보안 코드 부분을 해킹함으로서 공격자들은 원하는 게임을 불법적으로 사용할 수 있게 된다. 즉, 그 비밀키 값을 사용하는 모든 Xbox 시스템에 적용할 수 있어서 Xbox를 개발한 업체에 경제적으로 막대한 피해를 주게 된다.For example, the next-generation video game console, Xbox, uses a secret key cryptographic algorithm called Rc4 and a hash function value to encrypt the system code associated with booting and starting the game console system to provide game console security. . However, these security mechanisms only detect the secret key value and hack the security code part, allowing attackers to illegally play the desired game. In other words, it can be applied to any Xbox system that uses that secret key value, causing significant economic damage to the Xbox developer.

또한, 케이블 TV의 유료화를 가능하게 하는 셋탑 박스도 대부분 비밀키 값 혹은 해쉬 함수 값을 사용하여 사용자를 인증하는데 이러한 비밀키 값은 해커에 하드웨어 및 소프트웨어적인 공격에 의해 쉽게 노출되어 시스템의 보안성이 파괴되는 문제점을 갖고 있다.In addition, most of the set-top boxes that enable the paying of cable TV use a secret key value or a hash function value to authenticate a user. Such a secret key value is easily exposed to hackers by hardware and software attacks, so that the security of the system is improved. It has the problem of being destroyed.

이와 같이, 시스템 보안 기술로는 1998년 12월 1일 1998-052997로 등록된 "저장장치에 저장된 데이터의 보안 기능을 구비한 컴퓨터 시스템 및 방법"과, 2000년 6월 27일 266611로 등록된 "데이터 스크램블링회로"와, 2000년 6월 27일 266605로 등록된 "다중데이터 스크램블링회로" 등에 개시되어 있다.As such, system security technologies include "Computer Systems and Methods with Security Capabilities of Data Stored in Storage Devices," registered 1998-052997 on December 1, 1998, and 266611, registered on June 27, 2000, " Data scrambling circuit "and" multi-data scrambling circuit "registered on June 27, 2000 as 266605.

상술한 바와 같이, 개시된 선행기술을 상세하게 설명하면, "저장장치에 저장된 데이터의 보안 기능을 구비한 컴퓨터 시스템 및 방법"은 컴퓨터 시스템이 파워 오프 될 때마다 하드디스크의 FAT(파일 할당 테이블) 정보가 별도의 EEPROM에 저장되고, 하드디스크에 기록된 FAT 정보가 삭제된다. 이후 시스템이 파워 온 되어 부팅되는 단계에서 하드디스크의 패스워드 및 시리얼 넘버의 일치 여부를 확인하여 일치되는 경우에만 EEPROM에 저장된 FAT 정보를 하드디스크에 복원한다. 그러므로 하드디스크를 분리하여 다른 컴퓨터 시스템에 장착하더라도 FAT를 복원할 수 없기 때문에 하드디스크에 저장된 데이터를 취득할 수 없다. 이와 같이, FAT 정보를 저장하고 있는 원래의 컴퓨터 시스템에서만 HDD 사용이 가능하게 되므로 하드디스크 정보에 대한 보안을 유지할 수 있다.As described above, the disclosed prior art will be described in detail, "a computer system and method having a security function of data stored in a storage device" means FAT (file allocation table) information of a hard disk each time the computer system is powered off. Is stored in a separate EEPROM, and the FAT information recorded on the hard disk is deleted. After the system is powered on and booted, it checks whether the password and serial number of the hard disk match and restores the FAT information stored in the EEPROM to the hard disk only when they match. Therefore, even if the hard disk is removed and mounted on another computer system, the FAT cannot be restored, so data stored on the hard disk cannot be obtained. As such, since the HDD can be used only in the original computer system storing the FAT information, security of the hard disk information can be maintained.

이 발명에서 제안하는 보안성 메커니즘을 구현하기 위해서, 착탈 가능한 하드디스크 드라이브, 상기 하드디스크 드라이브의 FAT정보를 저장하기 위한 EEPROM 메모리, 상기 컴퓨터 시스템이 파워 오프될 때 상기 하드디스크 드라이브로부터 FAT 정보를 상기 EEPROM 메모리 수단에 저장한 뒤 상기 하드디스크 드라이브의 FAT정보를 삭제하는 기능, 상기 컴퓨터 시스템이 파워 온 될 때 EEPROM 메모리로부터 FAT 정보를 빼내어서, 상기 하드디스크 드라이브로 FAT 정보를 복원하는 제어 수단이 필요하다.In order to implement the security mechanism proposed in the present invention, a removable hard disk drive, an EEPROM memory for storing FAT information of the hard disk drive, and FAT information from the hard disk drive when the computer system is powered off. A function for deleting FAT information of the hard disk drive after storing in EEPROM memory means, and a control means for extracting FAT information from EEPROM memory when the computer system is powered on and restoring FAT information to the hard disk drive. Do.

다음으로, "데이터 스크램블링 회로"는 각 암호화 기능블록의 출력신호를 저장부에 저장된 특정 값을 사용하여 암호화 정도를 향상시키고, 그 암호화 정도가 향상된 출력신호 각각을 선택적으로 최종적인 암호문으로 사용함으로써, 랜덤 비(RANDOM RATE)를 향상시켰다.Next, the "data scrambling circuit" uses the output signal of each encryption function block to improve the degree of encryption by using a specific value stored in the storage, and by selectively using each of the output signal with the improved degree of encryption as the final cipher text, Improved random ratio (RANDOM RATE).

다음으로, "다중데이터 스크램블링 회로"는 데이터 암호화된 데이터를 스크램블 할 때, 멀티플렉서를 사용하여 서로 다른 크기의 데이터를 선택적으로 입력하여 데이터를 스크램블 할 수 있게 하였다. 이 발명의 가장 큰 특징은 기존의 방식의 고정된 길이를 가변적으로 선택할 수 있게 하여 선택된 데이터를 스크램블 한다는 것이다.Next, when scrambled data encrypted data, the "multi-data scrambling circuit" makes it possible to scramble data by selectively inputting data of different sizes using a multiplexer. The biggest feature of this invention is that it allows the variable length of the conventional scheme to be variably selected to scramble the selected data.

이와 같이, 선행 특허에 개시된 기술을 살펴보았을 때, 비밀키 값을 사용하는 모든 Xbox 시스템에 적용할 수 있어서 Xbox를 개발한 업체에 경제적으로 막대한 피해를 주게 되는 문제점과, 비밀키 값 혹은 해쉬 함수 값에 의해 사용자 인증 처리를 수행하는 케이블 TV에 있어서, 비밀키 값은 해커에 하드웨어 및 소프트웨어적인 공격에 의해 쉽게 노출되어 시스템의 보안성이 파괴되는 문제점이 여전히 남아 있다.Thus, when looking at the technology disclosed in the prior patent, it can be applied to all Xbox systems that use a secret key value, which causes a significant economic damage to the company that developed the Xbox, secret key value or hash function value In the cable TV that performs the user authentication process, the secret key value is easily exposed to the hacker by hardware and software attacks, and the problem of the security of the system still remains.

따라서, 본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로서, 그 목적은 하드웨어의 복잡도가 매우 낮고 고성능이 가능한 배타적 이진 연산기와 유사 난수 발생기를 사용하여 고속의 데이터 암호화 및 복호화가 가능하며, 비대칭키 암호 모듈에 의한 비대칭키 암호 알고리즘을 사용하여 높은 안전성을 제공하며, 분배된 키 값을 토대로 배타적 이진 연산을 수행하여 셋탑 박스나 디지털 게임기와 같은 디지털 하드웨어 시스템의 보안성을 강화시킬 수 있도록 하는 디지털 하드웨어 시스템 보안 장치 및 방법을 제공함에 있다.Accordingly, the present invention has been made to solve the above-described problems, and its object is to enable fast data encryption and decryption using an exclusive binary operator and a similar random number generator capable of very low hardware complexity and high performance. Digital hardware that provides high security using asymmetric key cryptographic algorithm by cryptographic module and enhances the security of digital hardware system such as set-top box or digital game machine by performing exclusive binary operation based on distributed key value A system security apparatus and method are provided.

상술한 목적을 달성하기 위한 본 발명에서 디지털 하드웨어 시스템 보안 장치는 하드웨어 보안 메커니즘을 가지는 하드웨어 블록은, CPU나 PCI 브릿지의 보안 대상이 되는 보안 대상 블록; 및 하드웨어 보안 메커니즘을 제공하며, 하드웨어 시스템 버스를 통해 데이터 및 명령어에 대하여 안정성을 제공하면서 양방향 통신을 수행하는 하드웨어 보안 블록을 구비하며; 하드웨어 보안 블록에는 하드웨어 시스템 버스에 의해 연결된 보안 메커니즘을 제공하는 하드웨어 보안 블록간에 비밀키를 서로 노출시키지 않은 상태에서 키를 분배할 수 있도록 키 분배 프로토콜 구조를 갖는 키 분배 제어기와; 하드웨어 보안 블록 구성 요소들간의 동작을 제어하는 제어기와; 하드웨어 시스템 버스의 클록 동기화를 위해 선형 피드백 쉬프트 레지스터(Linear Feedback Shift Registe) 및 비대칭키 암호 알고리즘을 사용하여 자신의 비밀키를 노출시키지 않는 상태에서 서로 안전하게 분배된 키 값을 쉬프트 레지스터에 저장 및 출력시키는 유사 난수 발생기와; 유사 난수 발생기의 출력 값과 하드웨어 시스템 버스를 통과하는 데이터에 대하여 모듈라 2 덧셈(modular-2 addition) 연산을 수행하여 고성능 시스템 버스와 입출력 버스를 암호화하는 배타적 이진 연산기와; 비대칭키 암호 알고리즘 기반 RSA 암호 알고리즘 및 타원곡선 암호 알고리즘을 사용하여 비대칭으로 암호화하는 비대칭키 암호 모듈을 포함하는 것을 특징으로 한다.In the present invention for achieving the above object, the digital hardware system security apparatus includes a hardware block having a hardware security mechanism, the security target block that is the security target of the CPU or PCI bridge; And a hardware security block that provides a hardware security mechanism and performs bidirectional communication while providing stability to data and instructions over a hardware system bus; The hardware security block includes a key distribution controller having a key distribution protocol structure for distributing keys without exposing secret keys to each other between hardware security blocks providing a security mechanism connected by a hardware system bus; A controller for controlling operations between hardware security block components; Linear Feedback Shift Registe and asymmetric key cryptographic algorithms for clock synchronization of hardware system buses, storing and outputting key values that are safely distributed to one another without exposing their secret keys. Pseudo random number generator; An exclusive binary operator configured to encrypt a high-performance system bus and an input / output bus by performing a modular-2 addition operation on the output value of the pseudorandom number generator and the data passing through the hardware system bus; Asymmetric key cryptographic algorithm based RSA cryptographic algorithm and an elliptic curve cryptographic algorithm using the asymmetric key cryptographic module characterized in that it comprises asymmetric encryption.

그리고, 상술한 목적을 달성하기 위한 본 발명에서 디지털 하드웨어 시스템 보안 방법은 하드웨어 보안 블록으로 전원이 들어오는 부팅 과정에서 난수를 발생시키고, 난수 값을 비밀키로 사용하는 하드웨어 보안 블록 내 비대칭키 암호 모듈에서 RSA 지수승 연산 혹은 타원곡선 스칼라 곱셈 연산을 통하여, 키 분배 프로토콜을 수행하여 공개키 값을 생성 및 분배하는 단계; 분배된 키 값은 하드웨어 보안 블록내의 유사 난수 발생기에 저장되어, 유사 난수를 발생하는 시드(seed) 값으로 사용되는 단계; 발생된 난수 값은 하드웨어 보안 시스템의 보호 대상이 되는 CPU나 PCI 브릿지와 같은 보안 대상 블록에서 입출력되는 데이터와 하드웨어 보안 블록 내 배타적 이진 연산기에서 사용되는 단계; 배타적 이진 연산기에 의해 연산된 데이터는 하드웨어 시스템 버스를 통하여 상대 하드웨어 블록으로 전송되고, 상대 하드웨어 블록에서 암호화된 데이터에 대하여, 배타적 이진 연산을 한번 더 수행하여 복호화하는 단계를 포함하는 것을 특징으로 한다.In addition, in the present invention for achieving the above object, the digital hardware system security method generates a random number during a booting process in which power is supplied to the hardware security block, and uses an RSA in an asymmetric key encryption module in a hardware security block that uses a random value as a secret key. Generating and distributing a public key value by performing a key distribution protocol through an exponential power operation or an elliptic curve scalar multiplication operation; The distributed key value is stored in a pseudo random number generator in a hardware security block and used as a seed value for generating a pseudo random number; The generated random number is used by data input / output in a security target block such as a CPU or a PCI bridge which is a protection target of the hardware security system, and an exclusive binary operator in the hardware security block; The data computed by the exclusive binary operator is transmitted to the counterpart hardware block through the hardware system bus, and the data is encrypted by the counterpart hardware block.

그리고, 상술한 목적을 달성하기 위한 본 발명에서 디지털 하드웨어 시스템 보안 장치는 하드웨어 보안 메커니즘을 가지는 하드웨어 블록은 CPU나 PCI 브릿지의 보안 대상이 되는 보안 대상 블록; 및 하드웨어 보안 메커니즘을 제공하며, 다중으로 구현된 하드웨어 시스템 버스를 통해 데이터 및 명령어에 대하여 안정성을 제공하면서 양방향 통신을 수행하는 하드웨어 보안 블록을 구비하며; 하드웨어 보안 블록에는 다중으로 구현된 하드웨어 시스템 버스에 의해 연결된 보안 메커니즘을 제공하는 하드웨어 보안 블록간에 비밀키를 서로 노출시키지 않은 상태에서 키를 분배할 수 있도록 키 분배 프로토콜 구조를 갖는 키 분배 제어기와; 하드웨어 보안 블록 구성 요소들간의 동작을 제어하는 제어기와; 다중으로 구현된 하드웨어 시스템 버스의 클록 동기화를 위해 선형 피드백 쉬프트 레지스터(Linear Feedback Shift Registe) 및 비대칭키 암호 알고리즘을 사용하여 자신의 비밀키를 노출시키지 않는 상태에서 서로 안전하게 분배된 키 값을 쉬프트 레지스터에 저장 및 출력시키는 유사 난수 발생기와; 유사 난수 발생기의 출력 값과 다중으로 구현된 하드웨어 시스템 버스를 통과하는 데이터에 대하여 모듈라 2 덧셈(modular-2 addition) 연산을 수행하여 고성능 시스템 버스와 입출력 버스를 암호화하는 배타적 이진 연산기와; 암호화된 데이터를 다중으로 구현된 하드웨어 시스템 버스 중 어떤 버스를 선택할 것인가와 특정 시간에 어떤 버스를 통하여 전송할 것인지를 선택하는 버스 퍼뮬테이션(permutation)을 위한 분배기와; 비대칭키 암호 알고리즘 기반 RSA 암호 알고리즘 및 타원곡선 암호 알고리즘을 사용하여 비대칭으로 암호화하는 비대칭키 암호 모듈을 포함하는 것을 특징으로 한다.In addition, in the present invention for achieving the above object, the digital hardware system security apparatus includes a hardware block having a hardware security mechanism is a security target block that is a security target of the CPU or PCI bridge; And a hardware security block that provides a hardware security mechanism and performs bidirectional communication while providing stability to data and instructions over a multiple implemented hardware system bus; The hardware security block includes a key distribution controller having a key distribution protocol structure for distributing keys without exposing secret keys to each other between hardware security blocks providing security mechanisms connected by multiple implemented hardware system buses; A controller for controlling operations between hardware security block components; For clock synchronization of multiple implemented hardware system buses, linearly shifted shift registers and asymmetric key cryptographic algorithms are used to safely distribute key values to the shift registers without exposing their secret keys. A pseudo random number generator for storing and outputting; An exclusive binary operator configured to encrypt a high-performance system bus and an input / output bus by performing a modular-2 addition operation on the output value of the pseudorandom number generator and the data passing through the multiple-implemented hardware system bus; A distributor for bus permutation for selecting which of the multiplexed hardware system buses and which bus to transmit the encrypted data over at a particular time; Asymmetric key cryptographic algorithm based RSA cryptographic algorithm and an elliptic curve cryptographic algorithm using the asymmetric key cryptographic module characterized in that it comprises asymmetric encryption.

도 1은 본 발명의 일 실시 예에 따른 디지털 하드웨어 시스템 보안 장치에 대한 블록 구성도이며,1 is a block diagram illustrating a digital hardware system security apparatus according to an embodiment of the present invention.

도 2는 본 발명에 따른 디지털 하드웨어 시스템 보안 장치의 동작 방법에 대한 흐름도이며,2 is a flowchart illustrating a method of operating a digital hardware system security apparatus according to the present invention;

도 3은 본 발명의 다른 실시 예에 따른 디지털 하드웨어 시스템 보안 장치에 대한 블록 구성도이다.3 is a block diagram illustrating a digital hardware system security apparatus according to another embodiment of the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

100,200 : 보안 대상 블록 110,210 : 하드웨어 블록100,200: Security target block 110,210: Hardware block

120,220 : 하드웨어 보안 블록 130,230 : 하드웨어 시스템 버스120220: Hardware Security Block 130230: Hardware System Bus

140,240 : 키 분배 제어기 150,250 : 제어기140,240: key distribution controller 150,250: controller

160,260 : 유사 난수 발생기 170,270 : 배타적 이진 연산기160,260 pseudo-random number generator 170270 exclusive binary operator

180,290 : 비대칭키 암호 모듈 280 : 버스 퍼뮬테이션을 위한 분배기180,290: Asymmetric Key Cryptographic Module 280: Splitter for Bus Emulation

이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세하게 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시 예에 따른 디지털 하드웨어 시스템 보안 장치에 대한 블록 구성도로서, 하드웨어 시스템 버스(130)를 통해 연결된 하드웨어 보안메커니즘을 가지는 하드웨어 블록(110)을 포함한다.1 is a block diagram of a digital hardware system security apparatus according to an embodiment of the present invention, which includes a hardware block 110 having a hardware security mechanism connected through a hardware system bus 130.

하드웨어 보안 메커니즘을 가지는 하드웨어 블록(110)은 CPU나 PCI 브릿지 등과 같이 보안 대상이 되는 보안 대상 블록(100) 및 하드웨어 보안 메커니즘을 제공하는 하드웨어 보안 블록(120)을 구비하며, 이중 하드웨어 보안 메커니즘을 제공하는 하드웨어 보안 블록(120)은 내부적으로 키 분배 제어기(140)와, 제어기(150)와, 유사 난수 발생기(160)와, 버스 암호화를 위한 배타적 이진 연산기(170)와, 비대칭키 암호 모듈(180)을 갖는다.The hardware block 110 having a hardware security mechanism includes a security target block 100 that is a security target, such as a CPU or a PCI bridge, and a hardware security block 120 that provides a hardware security mechanism, and provides a dual hardware security mechanism. The hardware security block 120 internally includes a key distribution controller 140, a controller 150, a pseudorandom number generator 160, an exclusive binary operator 170 for bus encryption, and an asymmetric key cryptographic module 180. Has

보안 대상 블록(100)은 CPU, PCI 브릿지와 같은 입출력 버스 제어기, PCI 인터페이스 제어기, 그리고 메모리 버스 입출력 제어기 등이 될 수 있다.The security target block 100 may be a CPU, an input / output bus controller such as a PCI bridge, a PCI interface controller, and a memory bus input / output controller.

하드웨어 보안 블록(120)은 CPU 혹은 입출력 버스 제어기, 시스템 버스 제어기 등과 같은 하드웨어로 구현되어 있는 블록으로서, 하드웨어 시스템 버스(130)를 통해 데이터 및 명령어에 대하여 안정성을 제공하면서 양방향 통신을 수행한다. 여기서, 하드웨어 시스템 버스(130)에 대하여 물리적인 탐지 및 도청 등과 같은 하드웨어적인 해킹이 수행되는 경우, 양방향으로 통신되는 트래픽 데이터는 암호화되거나 치환(permutation)되어 있는데, 해킹자가 이를 도청하더라도 데이터의 내용을 알 수 없게 되는데, 이때 중요한 것은 버스 속도를 저하시키지 않으면서 안전성을 제공할 수 있어야 하며, 하드웨어 시스템 버스(130)에 연결된 각 노드간의 동기화(synchronization) 문제를 쉽게 해결할 수 있도록 구성되어 있어야 한다.The hardware security block 120 is a block implemented in hardware such as a CPU or an input / output bus controller, a system bus controller, and the like, and performs bidirectional communication while providing stability to data and instructions through the hardware system bus 130. Here, when hardware hacking such as physical detection and eavesdropping is performed on the hardware system bus 130, the traffic data communicated in both directions is encrypted or permutated. In this case, the important thing is to be able to provide safety without degrading the bus speed, and be configured to easily solve the synchronization problem between each node connected to the hardware system bus 130.

하드웨어 보안 블록(120)내 키 분배 제어기(140)는 하드웨어 시스템 버스(130)에 의해 연결된 보안 메커니즘을 제공하는 하드웨어 보안 블록(120)간에비밀키를 서로 노출시키지 않은 상태에서 키를 분배할 수 있도록 하는 제어기 블록으로 프로그램 가능한 구조를 가진다. 즉, 다양한 키 분배 프로토콜을 수행할 수 있도록 한다. 이때, 비대칭키 암호 모듈(180)을 사용하는 가장 일반적인 키 분배 프로토콜인 디피 헬만(Diffie Hellman) 키 분배 프로토콜은 버스 중간에서 키를 가로채어 양쪽 각각에 대하여 적당한 키 값을 제공하여, 공격할 수 있는 방법이 존재하기 때문에, 이를 방지할 수 있는 안전한 디피 헬만(Diffie Hellman) 키 분배 프로토콜인 키 분배 제어기(140)를 구현한 것이다.The key distribution controller 140 in the hardware security block 120 can distribute the keys without exposing the secret keys to each other between the hardware security blocks 120 that provide the security mechanisms connected by the hardware system bus 130. Has a programmable structure as a controller block. That is, it enables to perform various key distribution protocols. At this time, the Diffie Hellman key distribution protocol, which is the most common key distribution protocol using the asymmetric key cryptographic module 180, intercepts a key in the middle of the bus and provides an appropriate key value for each of them. Since a method exists, the key distribution controller 140 is implemented, which is a secure Diffie Hellman key distribution protocol.

하드웨어 보안 블록(120)내 제어기(150)는 하드웨어 보안 블록(120) 구성 요소들간의 동작을 제어한다.The controller 150 in the hardware security block 120 controls the operation between the components of the hardware security block 120.

하드웨어 보안 블록(120)내 유사 난수 발생기(160)는 선형 피드백 쉬프트 레지스터(Linear Feedback Shift Register : LFSR)를 사용하여 구성된 블록으로서, 비대칭키 암호 알고리즘을 사용하여, 자신의 비밀키를 노출시키지 않는 상태에서 서로 안전하게 분배된 키 값은 유사 난수 발생기의 쉬프트 레지스터에 저장된 후, 하드웨어 시스템 버스(130)의 클록과 동기화 되어 동작하게 된다.The pseudo-random number generator 160 in the hardware security block 120 is a block configured using a linear feedback shift register (LFSR), and does not expose its secret key using an asymmetric key cryptographic algorithm. The key values securely distributed from each other are stored in the shift register of the pseudorandom number generator, and then operate in synchronization with the clock of the hardware system bus 130.

하드웨어 보안 블록(120)내 배타적 이진 연산기(170)는 유사 난수 발생기(160)의 출력 값과 하드웨어 시스템 버스(130)를 통과하는 데이터에 대하여, 모듈라 2 덧셈(modular-2 addition) 연산을 수행하기 때문에, 매우 빠른 동작으로 수 백 Mbps에서 수 Gbps 급의 고성능 시스템 버스와 입출력 버스를 암호화한다.The exclusive binary operator 170 in the hardware security block 120 performs a modular-2 addition operation on the output value of the pseudo random number generator 160 and the data passing through the hardware system bus 130. This enables very fast operation to encrypt high-performance system buses and I / O buses from hundreds of Mbps up to Gbps.

하드웨어 보안 블록(120)내 비대칭키 암호 모듈(180)은 RSA나 타원곡선 암호 알고리즘과 같은 비대칭키 암호 알고리즘을 고속으로 수행할 수 있도록 하는 블록으로서, 비대칭키 암호 알고리즘 기반 RSA 암호 알고리즘을 사용하는 경우, RSA 암호 알고리즘의 높은 하드웨어 복잡도와 저속 동작 특성 때문에, 성능 특성과 하드웨어의 복잡도를 고려하여 곱셈기 기반의 몽고메리(Montgomery) 알고리즘을 사용한다. 한편, 타원곡선 암호 알고리즘을 사용하는 경우에는, 타원곡선 암호 알고리즘이 RSA보다 작은 하드웨어 복잡도와 고성능 특성을 가지기 때문에, 하드웨어 보안 시스템에 적절히 사용할 수 있다.The asymmetric key cryptographic module 180 in the hardware security block 120 is a block that enables asymmetric key cryptographic algorithms such as RSA and elliptic curve cryptography to be performed at high speed. Because of the high hardware complexity and low-speed operation of the RSA cryptographic algorithm, the multiplier-based Montgomery algorithm is used in consideration of performance characteristics and hardware complexity. On the other hand, when the elliptic curve cryptographic algorithm is used, the elliptic curve cryptographic algorithm has a smaller hardware complexity and higher performance than the RSA, and thus can be suitably used in a hardware security system.

도 2의 흐름도를 참조하면, 상술한 구성을 바탕으로, 본 발명에 따른 디지털 하드웨어 시스템 보안 장치의 동작에 대하여 보다 세부적으로 설명한다.Referring to the flowchart of FIG. 2, the operation of the digital hardware system security apparatus according to the present invention will be described in detail based on the above-described configuration.

먼저, 도 1의 하드웨어 보안 메커니즘을 제공하는 하드웨어 보안 블록(120)은 내부적으로 전원이 들어오는 상태 즉, 부팅 과정에서 난수를 발생시키고(단계 201), 이 발생된 난수 값을 비밀키로 사용하는 비대칭키 암호 모듈(180)은 RSA 지수승 연산 혹은 타원곡선 스칼라 곱셈 연산을 통하여, 키 분배 프로토콜을 수행하게 된다. 즉, 부팅 과정에서 생성된 키 값들은 두 하드웨어 보안 블록(120)내의 비대칭키 암호 모듈(180)에 사용되어, 공개키 값을 생성하도록 한다(단계 202).First, the hardware security block 120 that provides the hardware security mechanism of FIG. 1 generates a random number internally, that is, a booting process (step 201), and uses an asymmetric key that uses the generated random number as a secret key. The cryptographic module 180 performs a key distribution protocol through an RSA exponential power operation or an elliptic curve scalar multiplication operation. That is, the key values generated during the boot process are used in the asymmetric key cryptographic module 180 in the two hardware security blocks 120 to generate a public key value (step 202).

일단, 생성된 공개키 값은 입출력 버스 혹은 메모리 버스 등과 같은 하드웨어 시스템 버스(130)를 통하여 상대방 하드웨어 블록(110)에 서로 전달되는데, 이때, 키 분배 동작은 키 분배 제어기(140)에 의해 키 분배가 수행되며(단계 203), 필요한 하드웨어 보안 블록(120) 구성 요소들간의 동작은 제어기(150)에 의해 제어된다.Once generated, the public key values are transferred to the other hardware block 110 through a hardware system bus 130 such as an input / output bus or a memory bus, where the key distribution operation is performed by the key distribution controller 140. Is performed (step 203), and the operation between the necessary hardware security block 120 components is controlled by the controller 150.

한편, 하드웨어 공격자가 하드웨어 시스템 버스(130)를 통하여 전송되는 공개키 값을 가로챈다고 할 지라도 이는 이미 비대칭키 암호 모듈(180)에 의해 암호화가 되었기 때문에, 이를 해석하는 것은 RSA인 경우에는 지수승 연산 문제를 푸는 것이고, 타원곡선 암호 알고리즘인 경우에는 이산 대수의 문제를 푸는 것이기 때문에 해독이 불가능하다.On the other hand, even if the hardware attacker intercepts the public key value transmitted through the hardware system bus 130, since it is already encrypted by the asymmetric key cryptographic module 180, it is exponential power to interpret it in case of RSA Since it solves a computational problem and an elliptic curve cryptographic algorithm, it solves a discrete logarithmic problem and thus cannot be decrypted.

여기서, 키 분배 프로토콜은 단순한 디피 헬만(Diffie Hellman) 키 분배 프로토콜을 사용한 것이지만, 키 분배 제어기(140)가 프로그램 가능하기 때문에, 더욱 안전한 키 분배 프로토콜을 사용할 수도 있다.Here, the key distribution protocol uses a simple Diffie Hellman key distribution protocol, but since the key distribution controller 140 is programmable, a more secure key distribution protocol may be used.

키 분배 제어기(140)에 의해 분배된 키 값은 하드웨어 보안 블록(120)내의 유사 난수 발생기(160)에 저장되어(단계 204), 유사 난수를 발생하는 시드(seed) 값으로 사용된다(단계 205). 여기서, 유사 난수 발생기(160)를 구성하는 레지스터는 광학적인 하드웨어 공격 방법이나, 디-케핑(de-capping)과 값은 물리적인 하드웨어 공격을 통하여, seed 키 값을 알아내도록 하는 것을 막기 위해, 칩 구현시 적절한 하드웨어 방지 기법을 사용하여 보호해야 한다.The key value distributed by the key distribution controller 140 is stored in the pseudo random number generator 160 in the hardware security block 120 (step 204) and used as a seed value for generating the pseudo random number (step 205). ). Here, the register constituting the pseudo-random number generator 160 is an optical hardware attack method, but de-capping and the value is a physical hardware attack to prevent the seed key value to be found, chip Implementations should protect using appropriate hardware prevention techniques.

또한, 매 클럭마다 발생되는 난수 값은 하드웨어 보안 시스템의 보호 대상이 되는 CPU나 PCI 브릿지와 같은 보안 대상 블록(100)에서 입출력되는 데이터와 배타적 이진 연산기(170)에 의해 연산된다(단계 206). 즉, 배타적 이진 연산기(170)에 의해 연산된 데이터는 하드웨어 시스템 버스(130)를 통하여 상대 하드웨어 블록(110)으로 전송되고(단계 207), 상대 하드웨어 블록(110)에서는 암호화된 데이터에 대하여, 배타적 이진 연산을 한번 더 수행함으로서 복호화한다(단계 208).In addition, the random number value generated every clock is calculated by the exclusive binary operator 170 and the data input and output from the security target block 100 such as a CPU or a PCI bridge which is a protection target of the hardware security system (step 206). That is, the data calculated by the exclusive binary operator 170 is transmitted to the counterpart hardware block 110 via the hardware system bus 130 (step 207), and the counterpart hardware block 110 is exclusive to the encrypted data. Decoding by performing the binary operation once more (step 208).

도 3은 본 발명의 다른 실시 예에 따른 디지털 하드웨어 시스템 보안 장치에대한 블록 구성도로서, 하드웨어 시스템 버스(230)를 통해 연결된 하드웨어 보안 메커니즘을 가지는 하드웨어 블록(210)을 포함한다.3 is a block diagram of a digital hardware system security apparatus according to another embodiment of the present invention, which includes a hardware block 210 having a hardware security mechanism connected through a hardware system bus 230.

하드웨어 보안 메커니즘을 가지는 하드웨어 블록(210)은 CPU나 PCI 브릿지 등과 같이 보안 대상이 되는 보안 대상 블록(200) 및 하드웨어 보안 메커니즘을 제공하는 하드웨어 보안 블록(220)을 구비하며, 이중 하드웨어 보안 메커니즘을 제공하는 하드웨어 보안 블록(220)은 내부적으로 키 분배 제어기(240)와, 제어기(250)와, 유사 난수 발생기(260)와, 버스 암호화를 위한 배타적 이진 연산기(270)와, 버스 퍼뮬테이션(permutation)을 위한 분배기(280)와, 비대칭키 암호 모듈(180)을 갖는다.The hardware block 210 having a hardware security mechanism includes a security target block 200 to be secured, such as a CPU or a PCI bridge, and a hardware security block 220 that provides a hardware security mechanism, and provides a dual hardware security mechanism. The hardware security block 220 internally includes a key distribution controller 240, a controller 250, a pseudorandom number generator 260, an exclusive binary operator 270 for bus encryption, and bus permutation. Has a distributor 280 and an asymmetric key cryptographic module 180.

상술한 도 1의 장치와 비교해 볼 때, 버스 퍼뮬테이션을 위한 분배기(280)가 추가되었고, 하드웨어 시스템 버스(230)가 다중으로 구현되어 있다.In comparison with the apparatus of FIG. 1 described above, a divider 280 for bus emulation is added, and the hardware system bus 230 is implemented in multiples.

즉, 데이터가 전송되는 하드웨어 시스템 버스(230)를 다중으로 구성하고, 어떤 시간에 어떤 버스를 통하여 암호화된 데이터를 전송할 것인가를 버스 퍼뮬테이션을 위한 분배기(280)에 의해 임의로 선택함으로서, 외부 공격자들이 버스에 대한 물리적인 탐지를 했다고 하더라도, 이를 해독하는 것이 더욱 불가능하도록 한 것이다.That is, by constructing multiple hardware system buses 230 through which data is transmitted, and arbitrarily selecting by the distributor 280 for bus emulation which time to transmit encrypted data over which bus, external attackers Even if a physical detection of the bus was made, it would be more impossible to decipher it.

또한, 물리적으로 많은 수의 하드웨어 시스템 버스(230) 라인을 탐지하는 것은 이보다 작은 수의 버스를 탐지하는 것보다 현실적으로 더 어려우며, 특히, PCB 기판에 버스 라인을 구현할 때, 이를 각기 다른 층(layer)에 레이 아웃으로 구현하게 되면, 하드웨어 시스템 버스(230)에 대한 탐지는 더욱 불가능하게 된다.In addition, detecting a physically large number of hardware system bus 230 lines is more practically difficult than detecting a smaller number of buses, especially when implementing bus lines on a PCB substrate, with different layers. By implementing the layout, detection of the hardware system bus 230 is more impossible.

한편, 하드웨어 시스템 버스(230)에서 어떤 버스를 선택할 것인가와 특정 시간에 어떤 버스를 통하여 암호화된 데이터가 전송되었는가를 상대측 하드웨어 보안 블록(220)에서는 정확히 알고 있어야 한다.On the other hand, the counterpart hardware security block 220 should know exactly which bus is selected from the hardware system bus 230 and which bus is encrypted data transmitted at a specific time.

즉, 버스 퍼뮬테이션을 위한 분배기(280)는 멀티플렉서와 디멀티플렉서를 사용하여 구현이 가능하며, 하드웨어 시스템 버스(230) 라인 선택은 유사 난수 발생기의 특정 비트값을 조합하여 구현할 수 있다. 그 예로, 특정 하위 비트값을 사용하여 하드웨어 시스템 버스(230) 라인을 선택할 수 있으며, 특정 비트값들을 조합하여 하드웨어 시스템 버스(230) 라인을 선택할 수도 있다.That is, the divider 280 for bus emulation may be implemented using a multiplexer and a demultiplexer, and the hardware system bus 230 line selection may be implemented by combining specific bit values of the pseudo random number generator. For example, the hardware system bus 230 line may be selected using a specific lower bit value, and the hardware system bus 230 line may be selected by combining specific bit values.

이때, 보안성은 유사 난수 발생기(260)의 안전도와 동일하기 때문에 안전하며, 상대측 버스 퍼뮬테이션을 위한 분배기(280)와의 동기화는 키 분배 제어기(240)에서 제공되는 키 분배 프로토콜에 의해 공유된 키 값에 의해 동기화 되므로, 쉽게 구현할 수 있게 된다.At this time, the security is the same as the safety of the pseudo-random number generator 260 is secure, the synchronization with the distributor 280 for the bus bus counterpart synchronization is a key value shared by the key distribution protocol provided by the key distribution controller 240 Synchronized by, it is easy to implement.

다시 말해서, 특정 시점에 각 하드웨어 보안 모듈(220)내의 유사 난수 발생기(260)에는 동일한 랜덤 키 값이 발생되고 있으며, 이 값에 의해, 버스 퍼뮬테이션을 위한 분배기(280)의 선택에 의해 이루어져, 암호화 데이터가 하드웨어 시스템 버스(230)의 특정 시간에 특정 버스 라인을 통하여 전송된다.In other words, the same random key value is generated in the pseudo-random number generator 260 in each hardware security module 220 at a specific point in time, and by this value, by the selection of the distributor 280 for bus emulation, Encrypted data is transmitted over a particular bus line at a particular time on hardware system bus 230.

수신측에서 보면, 수신측 하드웨어 보안 모듈(220)의 유사 난수 발생기(260)도 동일한 클록 시간에 동일한 랜덤 키 값을 가지고 있기 때문에, 분배기에 의해 적절한 버스 라인이 선택되어, 수신하고자 하는 데이터를 정확히 복호화 되어 받은 후, 보안 대상 블록(220)에 전송한다.From the receiving side, since the pseudo-random number generator 260 of the receiving hardware security module 220 also has the same random key value at the same clock time, an appropriate bus line is selected by the distributor so that the data to be received can be precisely selected. After receiving the decrypted data, it transmits to the security target block 220.

상기와 같이 설명한 본 발명은 하드웨어의 복잡도가 매우 낮고 고성능이 가능한 배타적 이진 연산기와 유사 난수 발생기를 사용하여 고속의 데이터 암호화 및 복호화가 가능하며, 비대칭키 암호 모듈에 의한 비대칭키 암호 알고리즘을 사용하여 높은 안전성을 제공하며, 분배된 키 값을 토대로 배타적 이진 연산을 수행함으로써, 고속성 및 보안성을 제공한다.As described above, the present invention enables high-speed data encryption and decryption using an exclusive binary operator and a similar random number generator capable of very low hardware complexity and a high performance, and high using an asymmetric key encryption algorithm by an asymmetric key encryption module. It provides security and provides high speed and security by performing exclusive binary operations based on distributed key values.

또한, 본 발명에 따른 디지털 하드웨어 시스템 보안 장치는 기반이 되는 시스템 버스를 고속으로 암호화하여, 하드웨어 해커들의 불법적인 공격으로부터 프로토콜 정보 및 보안 관련 정보, 비밀키 값 등을 노출시키지 않는다.In addition, the digital hardware system security apparatus according to the present invention encrypts the underlying system bus at high speed so that protocol information, security related information, and secret key values are not exposed from illegal attacks by hardware hackers.

그리고, 하드웨어 공격자가 인증 절차 등이 포함되어 있는 시스템 소프트웨어를 불법적으로 변경한 경우, 이를 감지하여, 도용되었음을 확인할 수 있다. 마지막으로, 본 발명에서 제안한 하드웨어적인 시스템 보안 메커니즘은 사용자 인증 및 보안이 중요하게 생각되는 다양한 시스템, 즉 디지털 게임기나 PDA, 셋탑 박스, IC 카드 등에 적용할 수 있는 효과가 있다.In addition, when a hardware attacker illegally changes the system software including an authentication procedure, the hardware attacker detects the illegal information and confirms the theft. Finally, the hardware system security mechanism proposed in the present invention has an effect that can be applied to various systems in which user authentication and security are important, that is, digital game machines, PDAs, set-top boxes, and IC cards.

Claims (11)

디지털 하드웨어 시스템 보안 장치에 있어서,A digital hardware system security device, 하드웨어 보안 메커니즘을 가지는 하드웨어 블록은,A hardware block with a hardware security mechanism CPU나 PCI 브릿지의 보안 대상이 되는 보안 대상 블록; 및A security target block that is a security target of the CPU or PCI bridge; And 하드웨어 보안 메커니즘을 제공하며, 하드웨어 시스템 버스를 통해 데이터 및 명령어에 대하여 안정성을 제공하면서 양방향 통신을 수행하는 하드웨어 보안 블록을 구비하며;Providing a hardware security mechanism, comprising a hardware security block for performing bidirectional communication while providing stability for data and instructions over a hardware system bus; 상기 하드웨어 보안 블록에는 :The hardware security block includes: 상기 하드웨어 시스템 버스에 의해 연결된 보안 메커니즘을 제공하는 하드웨어 보안 블록간에 비밀키를 서로 노출시키지 않은 상태에서 키를 분배할 수 있도록 키 분배 프로토콜 구조를 갖는 키 분배 제어기와;A key distribution controller having a key distribution protocol structure for distributing keys without exposing secret keys to each other between hardware security blocks providing security mechanisms connected by the hardware system bus; 상기 하드웨어 보안 블록 구성 요소들간의 동작을 제어하는 제어기와;A controller for controlling the operation between the hardware security block components; 상기 하드웨어 시스템 버스의 클록 동기화를 위해 선형 피드백 쉬프트 레지스터(Linear Feedback Shift Registe) 및 비대칭키 암호 알고리즘을 사용하여 자신의 비밀키를 노출시키지 않는 상태에서 서로 안전하게 분배된 키 값을 쉬프트 레지스터에 저장 및 출력시키는 유사 난수 발생기와;Store and output key values securely distributed to one another without exposing their secret keys using a Linear Feedback Shift Registe and an asymmetric key cryptographic algorithm for clock synchronization of the hardware system bus. A pseudo-random number generator; 상기 유사 난수 발생기의 출력 값과 하드웨어 시스템 버스를 통과하는 데이터에 대하여 모듈라 2 덧셈(modular-2 addition) 연산을 수행하여 고성능 시스템 버스와 입출력 버스를 암호화하는 배타적 이진 연산기와;An exclusive binary operator configured to encrypt a high performance system bus and an input / output bus by performing a modular-2 addition operation on the output value of the pseudorandom number generator and the data passing through a hardware system bus; 상기 비대칭키 암호 알고리즘 기반 RSA 암호 알고리즘 및 타원곡선 암호 알고리즘을 사용하여 비대칭으로 암호화하는 비대칭키 암호 모듈을 포함하는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 장치.And an asymmetric key cryptographic module for encrypting asymmetrically using the asymmetric key cryptographic algorithm-based RSA cryptographic algorithm and an elliptic curve cryptographic algorithm. 제 1 항에 있어서,The method of claim 1, 상기 하드웨어 시스템 버스에 대하여 하드웨어적인 해킹이 수행되는 경우, 양방향으로 통신되는 트래픽 데이터는 암호화되거나 치환(permutation)되어 있는데, 해킹자가 이를 도청하더라도 데이터의 내용을 모르게 하며 상기 버스 속도를 저하시키지 않으면서 안전성을 제공하며, 상기 하드웨어 시스템 버스에 연결된 각 노드간의 동기화(synchronization)를 해결하도록 구성되어 있는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 장치.When hardware hacking is performed on the hardware system bus, the traffic data communicated in both directions is encrypted or permutated. Even if a hacker eavesdrops on it, the contents of the data are not known and the safety is achieved without degrading the bus speed. And provide a solution for resolving synchronization between nodes connected to the hardware system bus. 제 1 항에 있어서,The method of claim 1, 상기 비대칭키 암호 모듈을 사용하는 키 분배 프로토콜인 디피 헬만(Diffie Hellman) 키 분배 프로토콜은 버스 중간에서 키를 가로채어 양쪽 각각에 대하여 적당한 키 값을 제공하여, 공격할 수 있는 방법이 존재하기 때문에, 이를 방지할 수 있도록 상기 키 분배 제어기에 구현한 것을 특징으로 하는 디지털 하드웨어 시스템 보안 장치.Since the Diffie Hellman key distribution protocol, which is a key distribution protocol using the asymmetric key cryptographic module, intercepts a key in the middle of the bus and provides an appropriate key value for each of them, the method exists to attack. Digital hardware system security device, characterized in that implemented in the key distribution controller to prevent this. 제 1 항에 있어서,The method of claim 1, 상기 RSA 암호 알고리즘을 사용하는 경우에는 높은 하드웨어 복잡도와 저속 동작 특성 때문에 성능 특성과 하드웨어의 복잡도를 고려하여 곱셈기 기반의 몽고메리(Montgomery) 알고리즘을 사용하며, 상기 타원곡선 암호 알고리즘을 사용하는 경우에는 작은 하드웨어 복잡도와 고성능 특성을 가지기 때문에 하드웨어 보안 시스템에 적절히 사용하는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 장치.In the case of using the RSA encryption algorithm, a multiplier-based Montgomery algorithm is used in consideration of the performance characteristics and the hardware complexity due to the high hardware complexity and the low-speed operating characteristics, and in the case of using the elliptic curve encryption algorithm, A digital hardware system security device characterized by its complexity and high performance that makes it suitable for use in hardware security systems. 보안 대상 블록 및 하드웨어 보안 블록을 구비하는 디지털 하드웨어 시스템에서의 보안 방법에 있어서,A security method in a digital hardware system having a security target block and a hardware security block, 상기 하드웨어 보안 블록으로 전원이 들어오는 부팅 과정에서 난수를 발생시키고, 상기 난수 값을 비밀키로 사용하는 상기 하드웨어 보안 블록 내 비대칭키 암호 모듈에서 RSA 지수승 연산 혹은 타원곡선 스칼라 곱셈 연산을 통하여, 키 분배 프로토콜을 수행하여 공개키 값을 생성 및 분배하는 단계;A key distribution protocol is generated through an RSA exponential multiplication or an elliptic curve scalar multiplication operation in an asymmetric key cryptographic module in the hardware security block that generates a random number in the booting process when power is supplied to the hardware security block and uses the random number as a secret key. Performing and generating and distributing a public key value; 상기 분배된 키 값은 하드웨어 보안 블록내의 유사 난수 발생기에 저장되어, 유사 난수를 발생하는 시드(seed) 값으로 사용되는 단계;The distributed key value is stored in a pseudo random number generator in a hardware security block and used as a seed value for generating a pseudo random number; 상기 발생된 난수 값은 하드웨어 보안 시스템의 보호 대상이 되는 CPU나 PCI 브릿지와 같은 보안 대상 블록에서 입출력되는 데이터와 상기 하드웨어 보안 블록 내 배타적 이진 연산기에서 사용되는 단계;The generated random number value is used by data inputted and outputted from a security target block such as a CPU or a PCI bridge which is a protection target of a hardware security system, and an exclusive binary calculator in the hardware security block; 상기 배타적 이진 연산기에 의해 연산된 데이터는 하드웨어 시스템 버스를 통하여 상대 하드웨어 블록으로 전송되고, 상기 상대 하드웨어 블록에서 상기 암호화된 데이터에 대하여, 배타적 이진 연산을 한번 더 수행하여 복호화하는 단계를포함하는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 방법.And the data calculated by the exclusive binary operator is transmitted to a counterpart hardware block through a hardware system bus, and performing an exclusive binary operation once more on the encrypted data in the counterpart hardware block to decrypt the data. How to secure your digital hardware system. 제 5 항에 있어서,The method of claim 5, wherein 상기 키 분배 프로토콜은 디피 헬만(Diffie Hellman) 키 분배 프로토콜을 사용하지만, 상기 하드웨어 보안 블록 내 키 분배 제어기가 프로그램 가능하기 때문에, 더욱 안전한 키 분배 프로토콜을 사용할 수도 있는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 방법.The key distribution protocol uses a Diffie Hellman key distribution protocol, but since the key distribution controller in the hardware security block is programmable, a more secure key distribution protocol may be used. . 제 5 항에 있어서,The method of claim 5, wherein 상기 유사 난수 발생기를 구성하는 레지스터는 광학적인 하드웨어 공격 방법이나, 디-케핑(de-capping)과 값은 물리적인 하드웨어 공격을 통하여, seed 키 값을 알아내도록 하는 것을 막기 위해, 칩 구현시 적절한 하드웨어 방지 기법을 사용하여 보호해야 하는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 방법.Registers constituting the pseudo random number generator are optical hardware attack methods, but de-capping and values are physical hardware attacks to prevent seed key values from being found. A method of securing a digital hardware system, characterized in that it must be protected using prevention techniques. 디지털 하드웨어 시스템 보안 장치에 있어서,A digital hardware system security device, 하드웨어 보안 메커니즘을 가지는 하드웨어 블록은,A hardware block with a hardware security mechanism CPU나 PCI 브릿지의 보안 대상이 되는 보안 대상 블록; 및A security target block that is a security target of the CPU or PCI bridge; And 하드웨어 보안 메커니즘을 제공하며, 다중으로 구현된 하드웨어 시스템 버스를 통해 데이터 및 명령어에 대하여 안정성을 제공하면서 양방향 통신을 수행하는 하드웨어 보안 블록을 구비하며;Providing a hardware security mechanism, comprising a hardware security block for performing bidirectional communication while providing stability to data and instructions over a multiple implemented hardware system bus; 상기 하드웨어 보안 블록에는 :The hardware security block includes: 상기 다중으로 구현된 하드웨어 시스템 버스에 의해 연결된 보안 메커니즘을 제공하는 하드웨어 보안 블록간에 비밀키를 서로 노출시키지 않은 상태에서 키를 분배할 수 있도록 키 분배 프로토콜 구조를 갖는 키 분배 제어기와;A key distribution controller having a key distribution protocol structure for distributing keys without exposing secret keys to each other between hardware security blocks providing security mechanisms connected by the multiple implemented hardware system buses; 상기 하드웨어 보안 블록 구성 요소들간의 동작을 제어하는 제어기와;A controller for controlling the operation between the hardware security block components; 상기 다중으로 구현된 하드웨어 시스템 버스의 클록 동기화를 위해 선형 피드백 쉬프트 레지스터(Linear Feedback Shift Registe) 및 비대칭키 암호 알고리즘을 사용하여 자신의 비밀키를 노출시키지 않는 상태에서 서로 안전하게 분배된 키 값을 쉬프트 레지스터에 저장 및 출력시키는 유사 난수 발생기와;Shift registers are securely distributed to each other without exposing their secret keys using a linear feedback shift register and an asymmetric key cryptographic algorithm for clock synchronization of the multiplely implemented hardware system bus. A pseudo-random number generator for storing and outputting the result; 상기 유사 난수 발생기의 출력 값과 상기 다중으로 구현된 하드웨어 시스템 버스를 통과하는 데이터에 대하여 모듈라 2 덧셈(modular-2 addition) 연산을 수행하여 고성능 시스템 버스와 입출력 버스를 암호화하는 배타적 이진 연산기와;An exclusive binary operator configured to encrypt a high-performance system bus and an input / output bus by performing a modular-2 addition operation on the output value of the pseudo-random number generator and the data passing through the multiplely implemented hardware system bus; 상기 암호화된 데이터를 상기 다중으로 구현된 하드웨어 시스템 버스 중 어떤 버스를 선택할 것인가와 특정 시간에 어떤 버스를 통하여 전송할 것인지를 선택하는 버스 퍼뮬테이션(permutation)을 위한 분배기와;A divider for bus permutation that selects which bus of said multiplely implemented hardware system buses to select and which bus to transmit at a particular time; 상기 비대칭키 암호 알고리즘 기반 RSA 암호 알고리즘 및 타원곡선 암호 알고리즘을 사용하여 비대칭으로 암호화하는 비대칭키 암호 모듈을 포함하는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 장치.And an asymmetric key cryptographic module for encrypting asymmetrically using the asymmetric key cryptographic algorithm-based RSA cryptographic algorithm and an elliptic curve cryptographic algorithm. 제 8 항에 있어서,The method of claim 8, 상기 버스 퍼뮬테이션을 위한 분배기는 멀티플렉서와 디멀티플렉서를 사용하여 구현이 가능하며, 상기 다중화로 구현된 하드웨어 시스템 버스 라인 선택은 유사 난수 발생기의 특정 비트값을 조합하여 구현하는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 장치.The divider for the bus emulation can be implemented using a multiplexer and a demultiplexer, and the multiplexing hardware system bus line selection is implemented by combining specific bit values of the pseudo random number generator. Device. 제 8 항에 있어서,The method of claim 8, 상기 버스 퍼뮬레이션을 위한 분배기와 상대측 버스 퍼뮬레이션을 위한 분배기와의 동기화는 상기 키 분배 제어기에서 제공되는 키 분배 프로토콜에 의해 공유된 키 값에 의해 동기화되는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 장치.And the synchronizing of the distributor for the bus emulation with the distributor for the opposing bus emulation is synchronized by a key value shared by a key distribution protocol provided by the key distribution controller. 제 10 항에 있어서,The method of claim 10, 상기 하드웨어 보안 모듈내의 유사 난수 발생기에는 동일한 랜덤 키 값이 발생되며, 상기 발생된 값에 의해 버스 퍼뮬테이션을 위한 분배기의 선택 제어가 이루어지며, 상기 암호화 데이터가 상기 선택된 버스 라인을 통해 전송되는 것을 특징으로 하는 디지털 하드웨어 시스템 보안 장치.The same random key value is generated in the pseudo-random number generator in the hardware security module, selection control of the distributor for bus emulation is performed by the generated value, and the encrypted data is transmitted through the selected bus line. Digital hardware system security device.
KR10-2002-0080156A 2002-12-16 2002-12-16 Security apparatus and method for digital hardware system KR100480998B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0080156A KR100480998B1 (en) 2002-12-16 2002-12-16 Security apparatus and method for digital hardware system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0080156A KR100480998B1 (en) 2002-12-16 2002-12-16 Security apparatus and method for digital hardware system

Publications (2)

Publication Number Publication Date
KR20040052304A true KR20040052304A (en) 2004-06-23
KR100480998B1 KR100480998B1 (en) 2005-04-07

Family

ID=37345982

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0080156A KR100480998B1 (en) 2002-12-16 2002-12-16 Security apparatus and method for digital hardware system

Country Status (1)

Country Link
KR (1) KR100480998B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100893980B1 (en) * 2005-12-14 2009-04-20 엔비디아 코포레이션 Chipset security offload engine
KR100940445B1 (en) * 2007-11-20 2010-02-10 한국전자통신연구원 Apparatus for verifying hardware side channel
US7920701B1 (en) 2004-12-15 2011-04-05 Nvidia Corporation System and method for digital content protection
US8473750B2 (en) 2004-12-15 2013-06-25 Nvidia Corporation Chipset security offload engine
KR101370829B1 (en) * 2007-05-08 2014-03-10 삼성전자주식회사 Method of encrypting and decrypting data, and Bus System using the same
KR101531662B1 (en) * 2013-12-31 2015-06-25 고려대학교 산학협력단 Method and system for mutual authentication between client and server
US10764029B1 (en) 2019-04-02 2020-09-01 Carey Patrick Atkins Asymmetric Encryption Algorithm

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100185843A1 (en) * 2009-01-20 2010-07-22 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

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7920701B1 (en) 2004-12-15 2011-04-05 Nvidia Corporation System and method for digital content protection
US8473750B2 (en) 2004-12-15 2013-06-25 Nvidia Corporation Chipset security offload engine
KR100893980B1 (en) * 2005-12-14 2009-04-20 엔비디아 코포레이션 Chipset security offload engine
KR101370829B1 (en) * 2007-05-08 2014-03-10 삼성전자주식회사 Method of encrypting and decrypting data, and Bus System using the same
KR100940445B1 (en) * 2007-11-20 2010-02-10 한국전자통신연구원 Apparatus for verifying hardware side channel
KR101531662B1 (en) * 2013-12-31 2015-06-25 고려대학교 산학협력단 Method and system for mutual authentication between client and server
US10764029B1 (en) 2019-04-02 2020-09-01 Carey Patrick Atkins Asymmetric Encryption Algorithm

Also Published As

Publication number Publication date
KR100480998B1 (en) 2005-04-07

Similar Documents

Publication Publication Date Title
US9152805B2 (en) Security device
KR101669157B1 (en) Data protecting apparatus and method thereof
CN101401105B (en) Encryption apparatus and method for providing an encrypted file system
US8681975B2 (en) Encryption method and apparatus using composition of ciphers
JP6880017B2 (en) Systems and processes for running private programs on untrusted computers
US20080046728A1 (en) Method and apparatus for encrypting data transmitted over a serial link
KR102383829B1 (en) Cryptographic method for securely exchanging messages and device and system for implementing this method
US20150215117A1 (en) White box encryption apparatus and method
KR20130129170A (en) Storage device and method for providing a partially-encrypted content file to a host device
CN110650010A (en) Method, device and equipment for generating and using private key in asymmetric key
EP2629223A1 (en) System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction
KR100834364B1 (en) System and memthod for encrypting and verifying messages using three-phase encryption
CN112035860A (en) File encryption method, terminal, device, equipment and medium
KR100480998B1 (en) Security apparatus and method for digital hardware system
KR101899130B1 (en) Methods for encrypting data, decrypting data and apparatus using the same
EP1258796A2 (en) Copy protection method and system for a field-programmable gate array
CN113326518A (en) Data processing method and device
KR20060110383A (en) Multi-mode ciphering apparatus for network security processor
KR20060068006A (en) Method and apparatus for preventing dpa(differential power analysis) attacks on data bus
WO2019142260A1 (en) Secret analysis device, secret analysis system, secret analysis method, and secret analysis program
KR101915808B1 (en) Decrypting cipher texts using scrambling
CN117708843A (en) Storage medium and data common encryption method
Archana et al. Data security and storage in cloud using hybrid algorithms
KR20160050919A (en) Method and Apparatus for Securing the Continuity of Random Numbers after Von Neumann Post-processing
CN117221878A (en) Information security control method and device based on wireless network equipment

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