KR20180062427A - Hardware security module and hardware security device using thereof - Google Patents

Hardware security module and hardware security device using thereof Download PDF

Info

Publication number
KR20180062427A
KR20180062427A KR1020170163259A KR20170163259A KR20180062427A KR 20180062427 A KR20180062427 A KR 20180062427A KR 1020170163259 A KR1020170163259 A KR 1020170163259A KR 20170163259 A KR20170163259 A KR 20170163259A KR 20180062427 A KR20180062427 A KR 20180062427A
Authority
KR
South Korea
Prior art keywords
security key
unit
data
security
encryption
Prior art date
Application number
KR1020170163259A
Other languages
Korean (ko)
Other versions
KR101929315B1 (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 주식회사 베프스
Publication of KR20180062427A publication Critical patent/KR20180062427A/en
Application granted granted Critical
Publication of KR101929315B1 publication Critical patent/KR101929315B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification
    • G06K9/00087

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

The present invention relates to a hardware security module with security reinforced by using biometric information and a hardware security device using the same. According to one embodiment of the present invention, the hardware security module comprises: a security key generation unit to randomly generate a security key required for encryption and decryption in accordance with a security key generation request including a private key, an exclusive key, and a public key; a security key storage unit to store the security key generated in the security key generation unit and to transmit the stored security key in accordance with a security key transmission request; a security key management unit to request the security key generation unit to generate the security key, to store the generated security key in the security key storage unit or delete the stored security key, to confirm a location number in which the security key to be requested is stored when a security key use request is received, and to transmit the security key to be requested to an encryption/decryption engine unit; and the encryption/decryption engine unit. The encryption/decryption engine unit includes: a security key buffer unit to temporarily store the security key received from the security key management unit in a volatile buffer; a function selection unit to select encryption and decryption functions for data; a data buffer unit receiving the data for encryption and decryption to transmit the data in a predetermined data buffer space; an encryption block unit to perform encryption in a hardware mode in accordance with encryption function selection of the function selection unit; a decryption block unit to perform decryption in a hardware mode in accordance with decryption function selection of the function selection unit; and a module data output unit including a buffer memory space to temporarily store the data encrypted and decrypted in the encryption and decryption block units.

Description

하드웨어 보안 모듈 및 이를 이용한 하드웨어 보안 디바이스 {HARDWARE SECURITY MODULE AND HARDWARE SECURITY DEVICE USING THEREOF}HARDWARE SECURITY MODULE AND HARDWARE SECURITY DEVICE USING THEREOF FIELD OF THE INVENTION [0001]

본 발명은 생체정보를 이용하여 사용자를 인증할 수 있는 생체정보 하드웨어 보안 모듈 및 이를 이용한 하드웨어 보안 디바이스에 관한 것이다. The present invention relates to a biometric information hardware security module capable of authenticating a user using biometric information, and a hardware security device using the same.

정보보호 및 인증기술에 있어서, 개인의 인증정보와 및 금융 거래를 위한 비밀번호 등의 정보를 하드웨어적으로 또한 암호학적으로 안전하게 관리하는 장치 및 시스템의 개발기술 필요성은 인터넷의 보급과 함께 제기되어 왔다.In the field of information security and authentication technology, the need for development of devices and systems for securely managing hardware authentication information such as personal authentication information and passwords for financial transactions has been raised along with the spread of the Internet.

이 비밀정보는 개인을 인증하고 본인이 직접 특정 행위를 한 것을 확인하는 수단이 되기 때문에, 만일 이 비밀 정보가 타인에게 노출된다면 행위자를 특정할 수 없어서 전체 금융거래 체계가 붕괴될 수 있으므로 매우 안전하게 관리되어야 한다.This confidential information is a means of authenticating an individual and confirming that he or she has performed a specific act. Therefore, if this confidential information is exposed to another person, it is impossible to identify the actor and the entire financial transaction system may collapse. .

이와 같은 고도의 보안성을 제공하기 위해, 하드웨어적으로 동시에 암호학적으로 안전한 키 관리시스템을 탑재한 하드웨어 보안 모듈(Hardware Secure Module, HSM)이라는 개념이 소개되고 있다.In order to provide such high level of security, the concept of a hardware security module (HSM) with a hardware key cryptographically secure key management system is introduced.

HSM은 내부에 자체적으로 비밀 키를 생성하고 이를 바탕으로 유도 키 생성 및 데이터의 암/복호화를 처리하는 장치로서, 어떠한 방법으로도 내부에 저장된 데이터를 추출할 수 없고, 만일 물리적인 방법으로 데이터를 추출하고자 한다면 자체적으로 데이터를 소멸시키는 등의 안전장치를 확보하고, 이에 대한 공인기관의 인증을 받음으로써 비밀정보의 안전을 보장할 수 있는 장치이다.The HSM is a device that generates a secret key by itself and handles the derivation of the derived key and the encryption / decryption of the data based on the generated secret key. Therefore, the HSM can not extract the data stored therein by any means, It is a device that can guarantee the security of confidential information by securing safety device such as extinction of data itself if it is to be extracted and obtaining certification of the authorized institution.

따라서 HSM은 사이버 거래와 같이 대면이 아닌 거래 방식에서 거래의 안전성을 확실하게 보장할 수 있는 수단이 되기 때문에, 금융거래, 통신회사의 가입자 인증 시스템 등에 널리 이용되고 있다.Therefore, HSM is widely used in financial transactions and subscriber authentication systems of telecommunication companies, because it is a means to ensure the safety of transactions in a non-confrontational transaction mode such as cyber transactions.

그리고 모바일 단말에 내장되는 HSM은 하드웨어 암호 코프로세서(Cryptographic Coprocessor) 기반의 암호엔진, 메모리 등과 같은 하드웨어 자원을 이용하여 보안작업을 처리하는 일종의 임베디드 시스템으로 볼 수도 있다. The HSM embedded in the mobile terminal can be regarded as a kind of embedded system that handles security work using hardware resources such as a cryptographic coprocessor based cryptographic engine and memory.

금융거래, 통신회사의 가입자 인증, 모바일 단말의 프로그램 업데이트, 전자서명 등 다양한 분야에 HSM 기술이 사용되지만, 이러한 기술은 모두 보안키가 인터페이스를 통해 외부로 출력하기 때문에 해킹으로부터 안전하지 않다는 문제점이 있다. HSM technology is used in various fields such as financial transaction, subscriber authentication of a communication company, program update of a mobile terminal, digital signature, etc. However, all of these technologies have a problem that the security key is not secure from hacking .

본 발명이 해결하고자 하는 과제는, 생체정보를 이용하여 보안을 강화한 HSM 모듈을 제공하는 것이다. An object of the present invention is to provide an HSM module that enhances security using biometric information.

또한, 본 발명이 해결하고자 하는 과제는 암복호화 로직 및 신호처리가 외부로 유출하지 않고 보안성을 강화할 할 수 있는 HSM을 제공하는 것이다. Another object of the present invention is to provide an HSM capable of enhancing security without leakage of encryption / decryption logic and signal processing to the outside.

본 발명의 일 실시 예에 따른 하드웨어 보안 모듈은, 암호화 및 복호화에 요구되며, 개인키, 전용키 및 공개키를 포함하는 보안키 생성 요청에 따라 램덤하게 보안키를 생성하는 보안키 생성부, 상기 보안키 생성부에서 생성한 보안키를 저장하고, 보안키 전송 요청에 따라 상기 저장된 보안키를 전송하는 보안키 저장부, 상기 보안키 생성부에 상기 보안키 생성 요청을 하며, 상기 생성된 보안키를 상기 보안키 저장부에 저장 하거나 상기 저장된 보안키를 삭제하고, 보안키 사용 요청을 수신하면, 상기 사용 요청한 보안키가 저장된 위치 번호를 확인하고, 상기 사용 요청한 보안키를 암복호화 엔진부에 전송하는 보안키 관리부 및 상기 보안키 관리부로부터 전송 받은 보안키를 휘발성 버퍼에 임시 저장하는 보안키 버퍼부, 데이터에 대한 암호화 및 복호화 기능을 선택하는 기능 선택부, 암호화 및 복호화를 위한 데이터를 전송 받아 기 정해진 데이터 버퍼공간에 전송하는 데이터 버퍼부, 상기 기능 선택부의 암호화 기능 선택에 따라 하드웨어 방식으로 암호화를 수행하는 암호화 블록부, 상기 기능 선택부의 복호화 기능 선택에 따라 하드웨어 방식으로 복호화를 수행하는 복호화 블록부 및 상기 암호화 블록부 및 복호화 블록부에서 암호화 및 복호화된 상기 데이터를 임시로 저장하는 버퍼 메모리 공간을 포함하는 모듈 데이터 출력부를 포함하는 암복호화 엔진부를 포함한다. A hardware security module according to an embodiment of the present invention includes a security key generation unit required for encryption and decryption and randomly generating a security key according to a security key generation request including a private key, a private key, and a public key, A security key storage unit for storing the security key generated by the security key generation unit and transmitting the stored security key in response to the security key transmission request, a security key generation unit for requesting the security key generation unit to generate the security key, The security key storage unit stores the security key in the security key storage unit or deletes the stored security key, and when receiving the security key use request, confirms the location number in which the security key requested for use is stored and transmits the security key to the encryption / decryption engine unit And a security key buffer unit for temporarily storing the security key received from the security key management unit in a volatile buffer, A data buffer unit for receiving data for encryption and decryption and transferring the data to a predetermined data buffer space, an encryption block unit for performing encryption in a hardware manner according to the encryption function selection of the function selection unit, And a buffer memory space for temporarily storing the data encrypted and decrypted by the encryption block unit and the decryption block unit, and a buffer memory space for temporarily storing the data encrypted and decrypted by the encryption block unit and the decryption block unit, And an encryption / decryption engine unit.

일 실시 예에 따르면, 상기 보안키 버퍼부는 휘발성 메모리이며, 상기 보안키 저장부는 전기적 신호에 의해서만 초기화될 수 있다. According to one embodiment, the security key buffer unit is a volatile memory, and the security key storage unit can be initialized only by an electrical signal.

일 실시 예에 따르면, 상기 암호화 블록부 및 복호화 블록부에서 사용하는 개인키 및 전용키는 상기 보안키 관리부에서 임시적으로 전송 받으며, 상기 개인키 및 전용키가 외부에 노출 되지 않을 수 있다. According to one embodiment, the private key and the private key used in the encryption block unit and the decryption block unit are temporarily received by the security key management unit, and the private key and the private key may not be exposed to the outside.

일 실시 예에 따르면, 상기 보안키 관리부에서 생성되는 보안키가 포함하는 공개키는 상기 하드웨어 보안 모듈의 외부로 전송 가능한 키일 수 있다. According to an embodiment, the public key included in the security key generated by the security key management unit may be a key that can be transmitted to the outside of the hardware security module.

일 실시 예에 따르면, 프로세서로부터 상기 기능 선택부에 KEY생성 명령어가 전송되면, 상기 보안키 생성부의 난수 발생기 (RNG: Random Number Generation)를 통해 물리적인 랜덤 번호를 발생시키고, 상기 발생된 보안키는 상기 보안키 저장부의 DB 공간에 저장되며, 상기 보안키 관리부는 상기 보안키 저장부의 DB 공간의 번호를 기록하며, 상기 보안키 저장부의 레지스터 공간에 상기 생성된 보안키의 DB 공간의 번호를 기록하고, 상기 기록된 보안키가 개인키, 전용키 및 공개키 중 어떤 것인지 종류를 함께 기록하며, 상기 프로세서로부터 상기 기능 선택부에 암호화 명령어가 전송되면 암호화에 사용되는 알고리즘에 대한 정보를 확인하고, 상기 보안키 저장부의 DB 공간의 번호를 확인하여, 상기 보안키 관리부에 상기 확인한 보안키를 요청하며, 임시 버퍼에 상기 확인한 보안키를 복사하고, 암호화를 위한 데이터를 상기 데이터 버퍼부에 전송하며, 결합된 임시 보안키와 상기 데이터 버퍼부에 전송한 상기 데이터를 상기 암호화 블록부에 전송하며, 암호화를 위한 상기 데이터의 사이즈만큼 암호화 하며, 상기 암호화 블록부가 암호화한 상기 데이터는 상기 데이터 출력부로 전송되며 상기 프로세서의 플래쉬 메모리로 상기 데이터가 전송되어 상기 프로세스가 요청한 위치로 상기 데이터를 처리할 수 있다. According to an embodiment, when a KEY generation command is transmitted from the processor to the function selection unit, a physical random number is generated through a Random Number Generation (RNG) of the secret key generation unit, The security key management unit records the DB space number of the security key storage unit and records the DB space number of the generated security key in the register space of the security key storage unit , And records the type of security key, the private key, the private key, and the public key together with the recorded security key. When the encryption command is transmitted from the processor to the function selection unit, information on an algorithm used for encryption is confirmed, The security key management unit checks the number of the DB space of the security key storage unit, requests the security key confirmed by the security key management unit, And transmits the encrypted temporary security key and the data transmitted to the data buffer unit to the encryption block unit, and transmits the encrypted data to the encryption buffer unit. And the data encrypted by the encryption block is transmitted to the data output unit and the data is transferred to the flash memory of the processor so that the data can be processed to a position requested by the process.

일 실시 예에 따르면, 프로세서로부터 상기 기능 선택부에 KEY생성 명령어가 전송되면, 상기 보안키 생성부의 난수 발생기 (RNG: Random Number Generation)를 통해 물리적인 랜덤 번호를 발생시키고, 상기 발생된 보안키는 상기 보안키 저장부의 DB 공간에 저장되며, 상기 보안키 관리부는 상기 보안키 저장부의 DB 공간의 번호를 기록하며, 상기 보안키 저장부의 레지스터 공간에 상기 생성된 보안키의 DB 공간의 번호를 기록하고, 상기 기록된 보안키가 개인키, 전용키 및 공개키 중 어떤 것인지 종류를 함께 기록하며, 상기 프로세서로부터 상기 기능 선택부에 복호화 명령어가 전송되면 복호화에 사용되는 알고리즘에 대한 정보를 확인하고, 상기 보안키 저장부의 DB 공간의 번호를 확인하여, 상기 보안키 관리부에 상기 확인한 보안키를 요청하며, 임시 버퍼에 상기 확인한 보안키를 복사하고, 복호화를 위한 데이터를 상기 데이터 버퍼부에 전송하며, 결합된 임시 보안키와 상기 데이터 버퍼부에 전송한 상기 데이터를 상기 복호화 블록부에 전송하며, 복호화를 위한 상기 데이터의 사이즈만큼 복호화 하며, 상기 복호화 블록부가 복호화한 상기 데이터는 상기 데이터 출력부로 전송되며 상기 프로세서의 플래쉬 메모리로 상기 데이터가 전송되어 상기 프로세스가 요청한 위치로 상기 데이터를 처리할 수 있다. According to an embodiment, when a KEY generation command is transmitted from the processor to the function selection unit, a physical random number is generated through a Random Number Generation (RNG) of the secret key generation unit, The security key management unit records the DB space number of the security key storage unit and records the DB space number of the generated security key in the register space of the security key storage unit , And records the type of security key, the private key, the private key, and the public key of the recorded security key together. When the decryption command is transmitted from the processor to the function selection unit, information on an algorithm used for decryption is checked, The security key management unit checks the number of the DB space of the security key storage unit, requests the security key confirmed by the security key management unit, And transmits the combined temporary security key and the data transmitted to the data buffer unit to the decryption block unit, and transmits the decrypted data to the decryption block unit, And the data decoded by the decoding block is transmitted to the data output unit and the data is transmitted to the flash memory of the processor to process the data to a position requested by the process.

한편, 본 발명의 목적을 달성하기 위한 또 다른 실시 예에 따른 하드웨어 보안 디바이스는 CPU, MPU및 MCU 중 어느 하나 이상을 포함하는 프로세서, 데이터에 대한 암호화 및 복호화를 진행하는 하드웨어 보안 모듈, 데이터 전송을 위한 데이터 버스, 상기 데이터 저장을 위한 휘발성 메모리, 상기 데이터 저장을 위한 비휘발성 메모리 및 외부 통신을 위한 통신 인터페이스를 포함한다. According to another aspect of the present invention, there is provided a hardware security device including a processor including at least one of a CPU, an MPU, and an MCU, a hardware security module for encrypting and decrypting data, A volatile memory for storing the data, a nonvolatile memory for storing the data, and a communication interface for external communication.

일 실시 예에 따르면, 상기 하드웨어 보안 디바이스는, 상기 통신 인터페이스를 통해 외부의 호스트 프로세서가 전송하는 상기 데이터에 대한 암호화 및 복호화를 진행하여, 상기 외부의 호스트 프로세서에 암호화 및 복호화를 진행한 데이터를 전송할 수 있다. According to an embodiment, the hardware security device encrypts and decrypts the data transmitted from an external host processor through the communication interface, and transmits data encrypted and decrypted to the external host processor .

일 실시 예에 따르면, 상기 데이터는 적어도 하나 이상의 생체 인식 데이터일 수 있다. According to one embodiment, the data may be at least one or more biometric data.

일 실시 예에 따르면, 상기 하드웨어 보안 디바이스는, 생체 인식 센서 및 영상 인식 센서 중 어느 하나 이상과 상기 통신 인터페이스를 통해 데이터를 전송 받을 수 있다. According to an embodiment, the hardware security device may receive data through at least one of the biometric sensor and the image recognition sensor through the communication interface.

일 실시 예에 따르면, 상기 하드웨어 보안 디바이스는, 제1 외부 호스트 프로세서 또는 제2 외부 호스트 프로세서와 상기 통신 인터페이스를 통해 데이터를 전송 받으며, 상기 제1 외부 호스트 프로세서로부터 전송 받은 데이터를 암호화하여 상기 제1 외부 호스트 프로세서 또는 제2 외부 호스트 프로세서에 전송하며, 이 경우, 상기 제1 외부 호스트 프로세서는 상기 암호화한 데이터의 보안키의 DB 번호를 지정하거나, 지정하지 않는 경우 상기 보안키의 DB 번호를 자동으로 생성하여 상기 제2 외부 호스트 프로세서에 전송할 수 있다. According to one embodiment, the hardware security device receives data through a communication interface with a first external host processor or a second external host processor, encrypts data transmitted from the first external host processor, The first external host processor automatically transmits the DB number of the security key to the external host processor or the second external host processor when the first external host processor designates or does not specify the DB number of the security key of the encrypted data And transmit the generated data to the second external host processor.

일 실시 예에 따르면, 상기 하드웨어 보안 디바이스는, 복호화를 진행하는 경우, 상기 제2 외부 호스트 프로세서로부터 상기 전송 받은 데이터의 보안키의 DB 번호 및 상기 데이터의 암호화에 사용된 알고리즘에 대한 정보를 전송 받을 수 있다. According to one embodiment, when the decryption is to be performed, the hardware security device receives from the second external host processor information on the DB number of the security key of the transmitted data and the algorithm used to encrypt the data .

한편, 상기 하드웨어 보안 디바이스가 탑재된 스마트 자동차로 구현할 수도 있다.Alternatively, it may be implemented as a smart car equipped with the hardware security device.

본 발명의 실시 예에 따르면, 보안키가 외부로 유출되지 않고 하드웨어 보안 모듈 내에서만 동작하므로 보안성을 보다 강화할 수 있다. According to the embodiment of the present invention, since the security key does not leak to the outside but operates only in the hardware security module, security can be further enhanced.

또한, 본 발명의 실시 예에 따르면, 생체정보를 암호화하여 보안성을 강화할 수 있다. Also, according to the embodiment of the present invention, biometric information can be encrypted to enhance security.

또한, 본 발명의 실시 예에 따르면, 암호화 또는 복호화된 데이터를 휘발성 메모리에 저장함으로써 데이터가 외부로 유출되는 것을 방지할 수 있다. Also, according to the embodiment of the present invention, it is possible to prevent the data from being leaked to the outside by storing the encrypted or decrypted data in the volatile memory.

도 1은 본 발명의 일 실시 예에 따른 하드웨어 보안 모듈을 나타낸 블럭도이다.
도 2는 도 1의 보안키 생성 예를 나타낸 것이다.
도 3은 본 발명의 일 실시 예에 따른 하드웨어 보안 모듈의 동작 프로세스를 나타낸 것이다.
도 4는 본 발명의 일 실시 예에 따른 하드웨어 보안 시스템을 나타낸 블럭도이다.
도 5는 본 발명의 다른 일 실시 예에 따른 하드웨어 보안 시스템을 나타낸 블럭도이다.
도 6은 본 발명의 또 다른 일 실시 예에 따른 하드웨어 보안 시스템을 나타낸 블럭도이다.
도 7은 본 발명의 하드웨어 보안 모듈 및 시스템의 적용예를 나타낸 것이다.
도 8은 본 발명의 또 다른 실시 예에 따른 하드웨어 보안 모듈의 전체 구성을 나타낸 도면이다.
도 9는 본 발명의 또 다른 실시 예에 따른 하드웨어 보안 디바이스의 전체 구성을 나타낸 도면이다.
1 is a block diagram illustrating a hardware security module according to an embodiment of the present invention.
FIG. 2 shows an example of the security key generation in FIG.
FIG. 3 illustrates an operation process of a hardware security module according to an embodiment of the present invention.
4 is a block diagram illustrating a hardware security system according to an embodiment of the present invention.
5 is a block diagram illustrating a hardware security system according to another embodiment of the present invention.
6 is a block diagram illustrating a hardware security system according to another embodiment of the present invention.
7 shows an application example of the hardware security module and system of the present invention.
FIG. 8 is a diagram illustrating the overall configuration of a hardware security module according to another embodiment of the present invention.
9 is a diagram showing the overall configuration of a hardware security device according to another embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다.Terms including ordinals, such as first, second, etc., may be used to describe various elements, but the elements are not limited to these terms.

상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the second component may be referred to as a first component, and similarly, the first component may also be referred to as a second component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하, 첨부된 도면을 참조하여 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings, wherein like or corresponding elements are denoted by the same reference numerals, and redundant description thereof will be omitted.

도 1은 본 발명에 따른 생체정보 하드웨어 보안 모듈의 블록도를 나타낸 것이다. 1 is a block diagram of a biometric information hardware security module according to the present invention.

도 1을 참조하면, 본 발명에 따른 생체정보 하드웨어 보안 모듈은 보안키 생성부(10), 보안키 저장부(20), 암/복호화 엔진부(30), 메모리(40), 및 프로세서(50)를 포함할 수 있다. 1, a biometric information hardware security module according to the present invention includes a security key generation unit 10, a security key storage unit 20, an arm / decryption engine unit 30, a memory 40, and a processor 50 ).

상기 보안키 생성부(10)는 상기 프로세서(50)로부터 암호화를 요청하는 신호를 입력받아 보안키를 생성한다. 상기 보안키는 난수발생기(RNG)를 통하여 생성되며 다수의 보안키가 생성될 수 있다. 보안키는 다양한 방식으로 생성 가능하다. 예를 들어, 소인수분해 암호 방식 시스템이나 타원곡선 암호 시스템에 의해 보안키 생성이 가능하다. 타원 곡선 암호 시스템에 의하면, 보안키 생성부(10)는 타원 곡선 방정식인 y2= x2 + ax + b를 만족하며 (여기서, a 및 b는 실수임), 특정한 방정식을 더 만족하는 (x, y) 로 이루어지는 실수체 군을 산출한다. 여기서, 특정한 방정식은 예를 들어, 덧셈 방정식, 항등원 방정식 및 결합 방정식일 수 있다. 예를 들어, 도 2에 도시되는 바와 같은 타원 곡선에서, 두 점 A 및 B의 덧셈 정의는 A 및 B를 잇는 선을 그으면 타원 곡선 위의 다른 점 R과 만나게 되고, R에 X축 대칭인 점이 C일 때에 A + B = C로 정의할 수 있다. 항등원 공식은 실수체 군 내의 임의의 원소 D에 대해서 D + G = G + D = D를 만족하는 G가 존재하는 것을 의미할 수 있다. 결합 방정식은 실수체 군 내에서 A + (B + C) = (A + B) + C가 만족하는 것을 의미할 수 있다. 이후에, 키 생성부(10) 는 위와 같은 실수체 군에 속하는 P 및 Q에 관해서 P = f(Q)를 만족하게 하는 알고리즘에 의해 보안키를 생성할 수 있다. 한편, 타원 곡선 암호 시스템은 소인수 분해 암호 시스템에 비해 생성되는 키의 길이가 짧기 때문에 키 생성 시간을 현저하게 줄일 수 있다는 장점이 있다. 예를 들어, HSM에서 대표적인 소인수 분해 암호 시스템인 RSA 2048을 이용하여 2048 비트의 키를 생성할 때에 약 10 내지 20초의 시간이 소요되지만, HSM에서 타원 곡선 암호 시스템을 이용하여 키를 생성할 때에 1초 미만의 시간이 소요된다. 실제로, RSA 2048에 의해 생성된 2048 비트의 암호는 타원 곡선 암호 시스템에 의해 생성된 224 비트의 암호와 동등한 보안 수준을 가지기 때문에, 타원 곡선 암호 시스템을 이용하여 키를 생성하는 경우, 소인수 분해 암호 시스템을 이용하여 키를 생성하는 경우와 비교하여, 보안 수준을 동등하게 유지하면서, 전자 서명을 수행하려는 사용자의 편의성를 현저하게 향상시킬 수 있다.The security key generator 10 receives a signal requesting encryption from the processor 50 and generates a security key. The security key is generated through a random number generator (RNG) and a plurality of security keys can be generated. The security key can be generated in various ways. For example, it is possible to generate a secret key by using a decimal decryption cryptosystem or an elliptic curve cryptosystem. According to the elliptic curve cryptosystem, the security key generator 10 satisfies the elliptic curve equation y2 = x2 + ax + b (where a and b are real numbers) ) Is calculated. Here, the specific equation may be, for example, an addition equation, an equatorial equation and a combination equation. For example, in the elliptic curve as shown in Fig. 2, the addition definition of the two points A and B is such that when a line connecting A and B is drawn, it comes into contact with another point R on the elliptic curve, C, A + B = C can be defined. The idiomatic formula may mean that there exists a G that satisfies D + G = G + D = D for any element D in the real number group. The coupling equation can mean that A + (B + C) = (A + B) + C is satisfied in the real number group. Thereafter, the key generation unit 10 can generate a security key by an algorithm that satisfies P = f (Q) with respect to P and Q belonging to the real number group as described above. On the other hand, the elliptic curve cryptosystem has an advantage that the key generation time can be remarkably reduced because the generated key length is shorter than that of the prime number decomposition cryptosystem. For example, when generating a 2048-bit key using RSA 2048, which is a typical decimal decryption encryption system in HSM, it takes about 10 to 20 seconds. However, when a key is generated using an elliptic curve cryptosystem in HSM, It takes less than a second. In fact, since a 2048-bit cryptosystem generated by RSA 2048 has a security level equivalent to a 224-bit cryptosystem generated by an elliptic curve cryptosystem, when a key is generated using an elliptic curve cryptosystem, It is possible to remarkably improve the convenience of the user who wishes to perform the digital signature while maintaining the security level at the same level as compared with the case of generating the key using the key.

상기 보안키 저장부(20)는 상기 보안키 생성부에 의해 생성된 보안키를 저장한다. 다수의 보안키에 번호를 할당하여 저장할 수 있다. 즉, 보안키 저장부는 보안키에 번호를 할당하여 저장하는 보안키 데이터베이스라고 할 수 있다. The security key storage unit 20 stores the security key generated by the security key generation unit. Multiple security keys can be assigned numbers and stored. That is, the security key storage unit may be regarded as a security key database in which a number is allocated to a security key.

상기 암/복호화 엔진부(30)는 상기 프로세서(50)로부터 암호화 요청 신호가 입력되면 보안키 저장부(20)에 저장된 다수의 보안키 중 어느 하나를 전달받아 보안키에 따라 생체정보를 암호화 한다. 반대로 복호화 요청이 있으면 보안키 저장부에 저장된 보안키에 따라 암호화된 데이터를 복호화한다. 상기 암/복호화 엔진부(30)는 암호화를 수행하는 암호화부, 복호화를 수행하는 복호화부, 및 암호화 또는 복호화된 데이터를 출력하는 데이터 출력부로 구성될 수 있다. 상기 데이터 출력부는 암호화 또는 복호화된 데이터를 메모리(40)로 출력한다. 상기 암/복호화 엔진부(30)는 SEED, ARIA, RSA, DES, MD5, DSS, SHA 등과 같은 다양한 암/복호화 엔진이 사용될 수 있다. When the encryption / decryption request signal is input from the processor 50, the encryption / decryption engine unit 30 receives any one of the plurality of security keys stored in the security key storage unit 20 and encrypts the biometric information according to the security key . Conversely, if there is a decryption request, the decryption unit decrypts the encrypted data according to the security key stored in the security key storage unit. The encryption / decryption engine unit 30 may include an encryption unit for performing encryption, a decryption unit for decryption, and a data output unit for outputting encrypted or decrypted data. The data output unit outputs the encrypted or decrypted data to the memory (40). Various encryption / decryption engines such as SEED, ARIA, RSA, DES, MD5, DSS, SHA, and the like may be used as the encryption / decryption engine unit 30.

상기 메모리(40)는 복호화된 데이터를 저장하기 위한 구성으로, 상기 데이터 출력부로부터 전달되는 암호화 또는 복호화된 데이터를 저장한다. 상기 메모리는 램(Random Access Memory, RAM), SRAM(Static Random Access Memory)와 같은 휘발성 메모리가 사용될 수 있다. The memory 40 is configured to store decrypted data, and stores encrypted or decrypted data transmitted from the data output unit. The memory may be a volatile memory such as a random access memory (RAM) or a static random access memory (SRAM).

상기 프로세서(50)는 하드웨어 보안 모듈의 전체 동작 및 기능을 제어하는 부분으로 외부 장치로부터 전달되는 각종 정보, 메시지, 데이터 등을 처리한다. The processor 50 is a part for controlling the overall operations and functions of the hardware security module, and processes various information, messages, data, and the like transmitted from an external device.

상기와 같은 구성에 의해 하드웨어 보안 모듈은 데이터 인터페이스를 하나 이상 사용하고 암호화 또는 복호화를 선택하면 보안 키의 DB번호를 지정하게 된다. 지정된 DB에 저장된 보안키를 암/복호화 모듈로 전송하고 암호화 또는 복호화의 용도에 맞게 데이터를 암복호화할 수 있다. According to the above configuration, if the hardware security module uses one or more data interfaces and selects encryption or decryption, the DB number of the security key is designated. The security key stored in the designated DB can be transmitted to the encryption / decryption module and the encryption / decryption of data can be performed according to the purpose of encryption or decryption.

도 3은 본 발명에 따른 하드웨어 보안 모듈의 동작 프로세스를 나타낸 것이다. FIG. 3 illustrates an operation process of a hardware security module according to the present invention.

도 3을 참조하면, 먼저 절차가 시작되면 입력되는 프로토콜을 확인하여 암호화, 복호화, 일반 통신 중 어떤 절차인지를 확인하고, 해당 프로토콜에 따른 절차를 수행한다.  Referring to FIG. 3, when a procedure is started, an input protocol is checked to confirm whether it is an encryption, a decryption, or a general communication, and a procedure according to the protocol is performed.

예를 들어, 암호화 프로토콜인 경우, 암호화 엔진을 확인하고, 지정된 보안키를 확인하여 평문 데이터를 요청하고, 데이터를 암호화한 후 암호화된 데이터를 전송하고 다음 프로세스를 대기한다. For example, in the case of the encryption protocol, the encryption engine is checked, the plain text data is requested by confirming the designated security key, the data is encrypted, the encrypted data is transmitted, and the next process is awaited.

다음으로, 일반 통신인 경우에는 프로토콜을 확인하여 그에 대응하는 보안키 생성이 가능한지를 확인한다. 보안키 생성이 가능하면 보안키 생성부(10)는 난수 발생에 의해 보안키를 생성하고 보안키 저장부(20)에 저장한다. 보안키 저장이 완료되면 저장완료 리턴 메시지를 생성/전송하고 다음 프로세스를 대기한다. Next, in the case of general communication, the protocol is confirmed and it is confirmed whether or not a corresponding security key can be generated. If security key generation is possible, the security key generation unit 10 generates a security key by generating a random number and stores the security key in the security key storage unit 20. When the security key storage is completed, a save complete return message is generated / transmitted and the next process is awaited.

다음으로, 프로토콜이 복호화인 경우, 보안키 저장부(20)에 저장된 보안키를 확인하여 암호화된 데이터를 요청한다. 암호화된 데이터가 수신되면 보안키를 이용하여 암호화된 데이터를 복호화하고, 복호화된 데이터를 전송한 후 다음 프로세스를 대기한다. Next, when the protocol is decryption, the secure key storage unit 20 confirms the security key and requests the encrypted data. When the encrypted data is received, the encrypted data is decrypted using the secret key, the decrypted data is transmitted, and then the next process is awaited.

지금까지 하드웨어 보안 모듈의 기본적인 구성 및 동작 프로세스를 살펴보았다. 이하에서는 도 1의 하드웨어 보안 모듈을 적용한 보안 시스템에 대해 살펴보도록 한다. So far, we have covered the basic configuration and operation process of the hardware security module. Hereinafter, a security system to which the hardware security module of FIG. 1 is applied will be described.

이하에서 언급되는 하드웨어 보안 모듈의 기본적인 구성은 도 1의 하드웨어 보안 모듈을 포함하고, 시스템의 특징에 따라 일부 인터페이스가 또는 구성이 추가될 수 있다. The basic configuration of the hardware security module referred to below includes the hardware security module of FIG. 1, and some interfaces or configurations may be added depending on the characteristics of the system.

이하에서 살펴보는 보안 시스템은 모바일 단말기, 노트북, 자동차의 ECU 다양한 시스템을 포함한다. The following security systems include various systems of ECUs of mobile terminals, notebook computers, and automobiles.

도 4는 상기 도 1의 하드웨어 보안 모듈을 적용한 시스템의 블록도를 나타낸 것이다. FIG. 4 is a block diagram of a system to which the hardware security module of FIG. 1 is applied.

도 4를 참조하면, 본 실시 예에 따른 시스템은 호스트 프로세서(100), 하드웨어 보안 모듈(200), 및 생체정보 인식부(300)를 포함하여 구성될 수 있다. Referring to FIG. 4, the system according to the present embodiment may include a host processor 100, a hardware security module 200, and a biometric information recognizer 300.

상기 호스트 프로세서(100)는 시스템의 주요 프로세스로 시스템 동작에 필요한 각종 동작 및 기능을 제어하며 하드웨어 보안 모듈(200)에 암호화 방식을 지정하여 전송할 수 있다. 또한, 필요에 따라 하드웨어 보안 모듈(200)에 복호화를 요청한다. The host processor 100 is a main process of the system, and controls various operations and functions necessary for system operation, and can transmit an encryption scheme to the hardware security module 200. In addition, if necessary, the hardware security module 200 requests decryption.

상기 하드웨어 보안 모듈(200)은 생체정보 인식부(300)로부터 생체정보를 전달받아 상기 호스트 프로세서(100)가 지정한 방호화 방식에 따라 생체정보를 암호화 또는 복호화를 수행한다. The hardware security module 200 receives biometric information from the biometric information recognition unit 300 and encrypts or decrypts the biometric information according to a protection method designated by the host processor 100.

상기 하드웨어 보다 구체적으로 살펴보면, 상기 하드웨어 보안 모듈(200)은 기능선택 인터페이스(210), 제1 내지 제3 통신 인터페이스(220, 230, 240), 보안키 저장부(250), 암/복호화 엔진부(260), 메모리(270), 및 프로세서(280)를 포함할 수 있다. More specifically, the hardware security module 200 includes a function selection interface 210, first to third communication interfaces 220, 230 and 240, a security key storage unit 250, an arm / A processor 260, a memory 270, and a processor 280.

상기 기능선택 인터페이스(210)는 호스트 프로세서(100)로부터 기능 수행에 대한 정보를 전달받는다. 앞서 살펴본 바와 같이 호스트 프로세서(100)는 하드웨어 보안 모듈(200)로 암호화를 요청하거나 복호화를 요청한다. 기능선택 인터페이스(210)는 이러한 신호를 입력받아 암호화 또는 복호화를 수행하도록 한다. The function selection interface 210 receives information on the performance of the function from the host processor 100. As described above, the host processor 100 requests the hardware security module 200 for encryption or decryption. The function selection interface 210 receives these signals and allows them to perform encryption or decryption.

상기 제1 통신 인터페이스(220)는 상기 호스트 프로세서와 데이터를 주고받는 인터페이스로 USB, UART, SPI, I2C 등의 다양한 인터페이스가 사용될 수 있다. The first communication interface 220 is an interface for exchanging data with the host processor, and various interfaces such as USB, UART, SPI, and I2C may be used.

상기 제2 통신 인터페이스(220)는 상기 생체정보 인식부(300)와 데이터를 주고 받는 인터페이스로 USB, UART, SPI, I2C 등의 다양한 인터페이스가 사용될 수 있다. 즉, 제2 통신 인터페이스(230)을 통해 생체정보 인식부(300)로부터 생체정보를 로오 데이터(Raw data) 형식으로 전달받는다. The second communication interface 220 is an interface for exchanging data with the biometric information recognition unit 300. Various interfaces such as USB, UART, SPI, and I2C may be used. That is, biometric information is received from the biometric information recognizing unit 300 in the form of raw data through the second communication interface 230.

그리고 제3 통신 인터페이스(240)로는 무선 인터페이스가 사용될 수 있다. 예를 들어, 제3 통신 인터페이스(240)는 무선 인터넷 모듈 및 근거리 통신 모듈을 포함할 수 있다. A wireless interface may be used as the third communication interface 240. For example, the third communication interface 240 may include a wireless Internet module and a short range communication module.

상기 무선 인터넷 모듈은 무선 인터넷 접속을 위한 모듈을 말하는 것으로, 무선 인터넷 기술들에 따른 통신망에서 무선 신호를 송수신하도록 이루어진다. 무선 인터넷 기술로는, 예를 들어 WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등이 있으며, 상기 무선 인터넷 모듈(7113)은 상기에서 나열되지 않은 인터넷 기술까지 포함한 범위에서 적어도 하나의 무선 인터넷 기술에 따라 데이터를 송수신하게 된다. WiBro, HSDPA, HSUPA, GSM, CDMA, WCDMA, LTE, LTE-A 등에 의한 무선인터넷 접속은 이동통신망을 통해 이루어진다는 관점에서 본다면, 상기 이동통신망을 통해 무선인터넷 접속을 수행하는 상기 무선 인터넷 모듈(7113)은 상기 이동통신 모듈(7112)의 일종으로 이해될 수도 있다.The wireless Internet module refers to a module for wireless Internet access, and transmits and receives wireless signals in a communication network according to wireless Internet technologies. Wireless Internet technologies include, for example, wireless LAN (WLAN), wireless fidelity (Wi-Fi), wireless fidelity (Wi-Fi) Direct, DLNA (Digital Living Network Alliance), WiBro Interoperability for Microwave Access, High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Long Term Evolution (LTE) and Long Term Evolution-Advanced (LTE-A) 7113 transmit and receive data according to at least one wireless Internet technology, including Internet technologies not listed above. In view of wireless Internet access by WiBro, HSDPA, HSUPA, GSM, CDMA, WCDMA, LTE, LTE-A, etc. through a mobile communication network, the wireless Internet module 7113 May be understood as a kind of the mobile communication module 7112.

상기 근거리 통신 모듈은 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi(Wireless-Fidelity), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 근거리 통신을 지원할 수 있다. 상기 근거리 무선 통신망은 근거리 무선 사용자 통신망(Wireless Personal Area Networks)일 수 있다.The short-range communication module is for short-range communication. The short-range communication module includes Bluetooth, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, Communication, Wi-Fi (Wireless-Fidelity), Wi-Fi Direct, and Wireless USB (Wireless Universal Serial Bus) technology. The short-range wireless communication network may be a Wireless Personal Area Network.

상기 보안키 저장부(250)는 앞서 도 1에서 살펴본 바와 같이 보안키에 지정번호를 할당하여 저장한다. The security key storage unit 250 allocates and stores a designated number to the secret key as previously described with reference to FIG.

상기 암복호화 엔진부(260)는 호스트 프로세서로부터 암호화 또는 복호화에 대한 요청이 있으면 보안키 저장부의 지정된 보안키를 사용하여 암호화 또는 복호화를 수행한다. The encryption / decryption engine 260 performs encryption or decryption using a security key stored in the security key storage unit when a request for encryption or decryption is received from the host processor.

상기 보안키 저장부, 암복호화 엔진부, 메모리 및 프로세서와 같은 기본 구성은 도 1에 살펴본 하드웨어 보안 모듈의 구성과 동일하므로 이들에 대한 자세한 설명은 생략하기로 한다. The basic configuration of the security key storage unit, the encryption / decryption engine unit, the memory, and the processor are the same as those of the hardware security module shown in FIG. 1, and thus a detailed description thereof will be omitted.

상기 생체정보 인식부(300)는 생체정보를 획득하고 인식하기 위한 구성으로 생체정보를 획득하기 위한 다양한 구성이 사용될 수 있다. 생체정보 인식부(300)는 다양한 생체정보를 인식하여 상기 하드웨어 보안 모듈로 전송한다. 상기 생체정보는 생체의 신체 특성(body attribute) 또는 행위 특성(action attribute)을 나타내는 정보이다. 예를 들어 생체정보는 사람얼굴(facial image), 지문(finger print), 장문(friction ridge), 혈관(blood vessel), 홍채(iris), 시망막(retina), 심전도(ECG, electrocardiogram), 뇌전도(EEG, electroencephalogram), 맥박(pulse), 혈압(blood pressure), 가슴 소리(heart sound), 가슴 또는 복부운동, 인체의 전도성(conductivity of human body) 등의 다양한 정보를 포함한다. The biometric information recognizing unit 300 may be configured to acquire biometric information in a configuration for acquiring and recognizing biometric information. The biometric information recognizing unit 300 recognizes various biometric information and transmits it to the hardware security module. The biometric information is information indicating a body attribute or an action attribute of a living body. For example, the biometric information may be a facial image, a finger print, a friction ridge, a blood vessel, an iris, a retina, an electrocardiogram (ECG) (EEG, electroencephalogram), pulse, blood pressure, heart sound, chest or abdominal motion, and conductivity of human body.

또한 생체정보 인식부(300)는 생체신호는 전기신호, 소리신호, 힘 신호(force signal), 전자기신호, 이미지/동영상 신호, 광신호 등 여러 종류의 형태로 수집될 수 있다. 또한, 생체신호를 수집하기 사용되는 센서는 여러 종류의 센서가 사용될 수 있다.In addition, the bio-information recognition unit 300 may collect bio-signals in various forms such as an electric signal, a sound signal, a force signal, an electromagnetic signal, an image / motion picture signal, and an optical signal. In addition, various kinds of sensors can be used as the sensors used for collecting the biological signals.

예를 들어, 컬러이미지 센서는 사람얼굴 이미지, 지문 이미지, 장문 이미지, 시망막 이미지 등을 수집하기 위해 사용될 수 있다. 다른 예를 들어, 적외선 이미지 센서는 혈관 이미지 등 적외선 광원에 민감한 생체특징의 이미지를 수집하기 위해 사용될 수 있다. 또 다른 예를 들어, 진동 센서(vibration sensor)는 가슴 또는 복부운동 신호 등 진동 특성(vibration attribute)을 갖고 있는 신호를 수집하기 위해 사용될 수 있다. 이 외에도, 예를 들면, 압력 센서는 혈압신호, 및 가슴 또는 복부운동 신호 등 압력과 연관된 생체신호를 수집하기 위해 사용될 수 있다. 여러 종류의 생체신호는 여러 개의 서로 다른 센서로부터 동시에 각각 수집되거나 또는 여러 종류의 생체신호를 수집할 수 있는 하나로 통합된 센서를 통해 동시에 수집될 수 있다. 예를 들면, 컬러이미지 센서와 광전 센서(photoelectric sensor)가 각각 동시에 사람얼굴 이미지와 PPG신호를 수집할 수 있거나, 컬러 이미지 센서와 광전 센서의 기능을 가지도록 통합된 센서가 동시에 사람얼굴 이미지와 PPG신호를 수집할 수 있다. For example, a color image sensor may be used to capture a human face image, a fingerprint image, a long image, a thumbnail image, and the like. In another example, an infrared image sensor can be used to acquire an image of a biological feature sensitive to an infrared light source, such as a blood vessel image. As another example, a vibration sensor may be used to acquire a signal having a vibration attribute, such as a chest or abdominal motion signal. In addition, for example, a pressure sensor can be used to collect blood pressure signals, and bio-signals associated with pressure, such as chest or abdominal motion signals. Various kinds of bio-signals can be simultaneously collected from a plurality of different sensors or can be simultaneously collected through a single integrated sensor capable of collecting various kinds of bio-signals. For example, a color image sensor and a photoelectric sensor can respectively collect a human face image and a PPG signal at the same time, or an integrated sensor to have the functions of a color image sensor and a photoelectric sensor can simultaneously capture a human face image and a PPG The signal can be collected.

일 실시 예에 따르면, 시간변화에 따라 연속되는 생체신호 또는 시간상 연관성을 갖는 생체특징의 여러 개의 분산 데이터 포인트(distributed data point)를 획득하기 위해, 각종 생체신호의 수집은 미리 정한 시간(예를 들면, 1분내 심전도 신호 파형 수집, 또는 10초간 여러 개의 사람얼굴 이미지를 수집 등) 동안 지속될 수 있다.According to one embodiment, in order to acquire a plurality of distributed data points having continuous bio-signals or biochemical features having temporal correlation with time, collection of various bio-signals may be performed at a predetermined time (for example, , Collecting electrocardiogram signal waveforms within 1 minute, or collecting several human face images for 10 seconds, etc.).

수집된 생체신호는 신호전환회로를 통하여 하기와 같은 처리를 한 후 프로세서로 전송될 수 있다. 일 실시 예에 따른 생물 인증 장치는 연속된 아날로그 신호(예를 들면, 심전도 신호, PPG신호 등)를 디지털 신호로 변환하고, 신호에 포함된 잡음을 처리하며(예를 들면, 수집된 홍채 이미지에 대하여 눈꺼풀, 눈썹 등 이미지 잡음을 제거), 신호의 강도, 분포, 변화 등을 처리할 수 있다.The collected bio-signals can be transmitted to the processor after performing the following processing through the signal switching circuit. The biometric authentication apparatus according to one embodiment converts a continuous analog signal (e.g., electrocardiogram signal, PPG signal, etc.) into a digital signal, processes the noise contained in the signal (e.g., To remove image noise such as eyelids, eyebrows, etc.), intensity of signal, distribution, change, and the like.

상기와 같은 구성에 위해 생체정보 인식부에서 취득한 생체정보는 하드웨어 보안 모듈로 전송되고, 하드웨어 보안 모듈은 호스트 프로세서의 요청에 따라 생체정보를 로오 데이터를 암호화하거나, 암호화된 데이터를 복호화하여 데이터의 무결성과 사용자 인증으로 사용할 수 있다. The biometric information acquired by the biometric information recognition unit is transmitted to the hardware security module. The hardware security module decrypts the biometric information and the encrypted data according to the request of the host processor, decrypts the encrypted data, And user authentication.

이때 호스트 프로세서(100)에 전달되는 데이터는 호스트 프로세서(100)의 휘발성 메모리에 저장되어야 한다. 즉, 호스트 프로세서(100)는 데이터 처리 후 생체정보의 복호화된 데이터는 존재하지 않는다. 따라서 복호화된 데이터가 유출될 염려도 없고 보안성을 강화할 수 있다. At this time, the data transmitted to the host processor 100 must be stored in the volatile memory of the host processor 100. That is, the host processor 100 does not have decrypted data of the biometric information after the data processing. Therefore, there is no fear that the decrypted data will be leaked and the security can be enhanced.

도5는 도 1의 하드웨어 보안 모듈을 적용한 보안 시스템의 다른 실시 예를 나타낸 블록도이다. FIG. 5 is a block diagram illustrating another embodiment of a security system to which the hardware security module of FIG. 1 is applied.

도 5를 참조하면, 상기 보안 시스템은 제1 호스트 프로세서(100), 제2 호스트 프로세서(120), 생체정보 인식부(300), 및 하드웨어 보안 모듈(400)을 포함한다. Referring to FIG. 5, the security system includes a first host processor 100, a second host processor 120, a biometric information recognizer 300, and a hardware security module 400.

도 4와 비교하면, 호스트 프로세서가 2개 사용되는 것을 확인할 수 있다. 따라서 하드웨어 보안 모듈(400)은 제1 호스트 프로세서(100)로부터 기능 선택 데이터를 입력 받는 제1 기능선택 인터페이스(410)와 제2 호스트 프로세서(120)로부터 기능 선택 데이터를 입력받는 제2 기능선택 인터페이스(420)를 포함한다. Compared with FIG. 4, it can be seen that two host processors are used. The hardware security module 400 includes a first function selection interface 410 for receiving function selection data from the first host processor 100 and a second function selection interface 410 for receiving function selection data from the second host processor 120. [ (420).

그리고 생체정보 인식부(300)는 제1 호스트 프로세서(100)를 통해 전달될 수 있다. The biometric information recognizing unit 300 may be transmitted through the first host processor 100.

다른 구성, 제1, 2통신 인터페이스, 보안키 저장부, 암복호화 엔진부, 메모리, 프로세서는 도 1 및 도 4에서 살펴본 구성과 동일하므로 자세한 설명은 생략한다. 본 실시 예에서 제3 통신 인터페이스는 생략되었지만, 필요에 따라 추가하여 사용할 수 있음은 물론이다. The other configurations, the first and second communication interfaces, the security key storage unit, the encryption / decryption engine unit, the memory, and the processor are the same as those shown in FIG. 1 and FIG. Although the third communication interface is omitted in this embodiment, it goes without saying that the third communication interface can be additionally used as needed.

상기 제1 호스트 프로세서(100)는 제1 통신 인터페이스(430)를 통해 하드웨어 보안 모듈(400)과 데이터를 주고 받을 수 있고, 제2 호스트 프로세서(120)는 제2 통신 인터페이스(440)를 통해 하드웨어 보안 모듈(400)과 데이터를 주고 받을 수 있다. The first host processor 100 can exchange data with the hardware security module 400 through the first communication interface 430 and the second host processor 120 can communicate with the hardware security module 400 via the second communication interface 440. [ Data can be exchanged with the security module 400.

상기와 같은 구성에 의해, 제1 호스트 프로세서에서 생체정보를 보안 하드웨어 보안 모듈(400)로 전달되고, 하드웨어 보안 모듈(400)은 암호화 또는 복호화 한다. According to the above configuration, the biometric information is transmitted to the security hardware security module 400 by the first host processor, and the hardware security module 400 encrypts or decrypts the biometric information.

제1 호스트 프로세서에서 제1 호스트 프로세서의 생체정보를 복호화하기 위해서는 제1 호스트 프로세서와 통신을 하여 암호화 또는 복호화 방식을 필요시 마다 새롭게 연결하여 사용하도록 한다. 따라서 보안성을 보다 강화할 수 있다. In order to decode the biometric information of the first host processor in the first host processor, the first host processor communicates with the first host processor to newly connect and use the encryption or decryption method whenever necessary. Therefore, security can be further enhanced.

도 6은 도 1의 하드웨어 보안 모듈을 적용한 보안 시스템의 또 다른 실시 예를 나타낸 블록도이다. FIG. 6 is a block diagram illustrating another embodiment of a security system to which the hardware security module of FIG. 1 is applied.

도 6을 참조하면, 상기 보안 시스템은 호스트 인터페이스(100), 생체정보 인식부(300), 및 하드웨어 보안 모듈(500)을 포함할 수 있다. Referring to FIG. 6, the security system may include a host interface 100, a biometric information recognition unit 300, and a hardware security module 500.

상기 생체정보 인식부(300)는 도 5의 실시 예에서와 마찬가지로 호스트 프로세서(100)를 통해 생체정보를 하드웨어 보안 모듈(500)로 전달할 수 있다. The biometric information recognition unit 300 may transmit the biometric information to the hardware security module 500 through the host processor 100 as in the embodiment of FIG.

상기 하드웨어 보안 모듈(500)은 기능선택 인터페이스(510), 통신 인터페이스(520), 보안키 저장부(530), 암복호화 엔진부(540), 메모리(550) 및 프로세스를 포함할 수 있다. The hardware security module 500 may include a function selection interface 510, a communication interface 520, a security key storage unit 530, an encryption / decryption engine unit 540, a memory 550, and a process.

상기와 같은 구성에 의해 호스트 프로세서(100)는 생체정보 인식부(300)로부터 생체정보를 전송받아서 하드웨어 보안 모듈(500)에 암호화를 요청하고, 암호화된 데이터는 호스트 프로세서(100)의 저장 공간에 저장 후 인증이 필요한 상황에서는 하드웨어 보안 모듈(500)에 복호화를 요청하여 사용한다. 이때 휘발서 메모리에 데이터를 저장하여 데이터를 비교한 후 삭제하는 방식이 사용되기 때문에 데이터가 유출될 우려가 없다. The host processor 100 receives the biometric information from the biometric information recognizing unit 300 and requests the hardware security module 500 to encrypt the biometric information, and the encrypted data is stored in the storage space of the host processor 100 In a situation where authentication is required after storing, the decryption is requested to the hardware security module 500 and used. At this time, data is stored in the volatile memory and the data is compared and deleted, so there is no possibility of data leakage.

도 7은 본 발명에 따른 하드웨어 보안 모듈 및 시스템의 적용예를 나타낸 것이다. FIG. 7 shows an application example of a hardware security module and system according to the present invention.

도 7에 도시된 것과 같이 하드웨어 보안 모듈 및 시스템은 자동차의 엔진 ECU, 에어백 액츄에이터, 센트럴 게이트웨이 등 자동차의 여러 부분에 적용될 수 있다. 즉, 자동차 각각의 처리 장치에 중간 데이터 가공 처리자 형태로 하드웨어 모안 모듈이 사용될 수 있다. As shown in FIG. 7, the hardware security module and system can be applied to various parts of an automobile such as an engine ECU, an airbag actuator, and a central gateway. That is, a hardware simulation module may be used in the form of an intermediate data processing processor for each processing device of the vehicle.

각각의 장치별로 암호화 데이터를 전송하면, 하드웨어 보안 모듈은 중간에서 암호화 또는 복호화를 진행한다. When encryption data is transmitted for each device, the hardware security module proceeds encryption or decryption in the middle.

따라서 다수의 장치 중 어느 하나가 해킹되더라도 다른 장치는 해킹으로부터 안전하다. 예를 들어, 종래의 경우, 보안을 강화하기 위해 하드웨어 보안 모듈을 적용하다고 하더라도 ECU 가 해킹되면 자동차 전체가 해커에서 장악되지만, 본 발명에 의하면 개별 장치들에 하드웨어 보안 모듈이 적용되고 이들은 각자 독립적으로 동작하기 때문에 ECU가 해킹되더라도 다른 장치들은 해킹으로부터 안전하다. 따라서 보안성을 보다 강화할 수 있다. Therefore, even if one of the plurality of devices is hacked, the other device is safe from hacking. For example, in the conventional case, even if a hardware security module is applied to enhance security, if the ECU is hacked, the entire automobile is taken over by the hacker. However, according to the present invention, a hardware security module is applied to individual devices, Even if the ECU is hacked, other devices are safe from hacking. Therefore, security can be further enhanced.

도 8은 본 발명의 또 다른 실시 예에 따른 하드웨어 보안 모듈(1000)의 전체 구성을 나타낸 도면이다. FIG. 8 is a diagram illustrating the overall configuration of a hardware security module 1000 according to another embodiment of the present invention.

이 경우 하드웨어 보안 모듈(1000)은 암호화 및 복호화에 요구되며, 개인키, 전용키 및 공개키를 포함하는 보안키 생성 요청에 따라 램덤하게 보안키를 생성하는 보안키 생성부(1100), 상기 보안키 생성부에서 생성한 보안키를 저장하고, 보안키 전송 요청에 따라 상기 저장된 보안키를 전송하는 보안키 저장부(1200), 상기 보안키 생성부에 상기 보안키 생성 요청을 하며, 상기 생성된 보안키를 상기 보안키 저장부에 저장 하거나 상기 저장된 보안키를 삭제하고, 보안키 사용 요청을 수신하면, 상기 사용 요청한 보안키가 저장된 위치 번호를 확인하고, 상기 사용 요청한 보안키를 암복호화 엔진부(1400)에 전송하는 보안키 관리부(1300) 및 상기 보안키 관리부로부터 전송 받은 보안키를 휘발성 버퍼에 임시 저장하는 보안키 버퍼부(1410), 데이터에 대한 암호화 및 복호화 기능을 선택하는 기능 선택부(1420), 암호화 및 복호화를 위한 데이터를 전송 받아 기 정해진 데이터 버퍼공간에 전송하는 데이터 버퍼부(1430), 상기 기능 선택부의 암호화 기능 선택에 따라 하드웨어 방식으로 암호화를 수행하는 암호화 블록부(1440), 상기 기능 선택부의 복호화 기능 선택에 따라 하드웨어 방식으로 복호화를 수행하는 복호화 블록부(1450) 및 상기 암호화 블록부 및 복호화 블록부에서 암호화 및 복호화된 상기 데이터를 임시로 저장하는 버퍼 메모리 공간을 포함하는 모듈 데이터 출력부(1460)를 포함하는 암복호화 엔진부(1400)를 포함한다. In this case, the hardware security module 1000 is required for encryption and decryption and includes a security key generation unit 1100 for randomly generating a security key according to a security key generation request including a private key, a private key, and a public key, A security key storage unit 1200 for storing the security key generated by the key generation unit and transmitting the stored security key in response to the security key transmission request, a security key generation unit 1200 for requesting the security key generation unit to generate the security key, The secure key storage unit stores the security key in the security key storage unit or deletes the stored security key, and when receiving the security key use request, confirms the location number in which the security key requested for use is stored, A security key management unit 1300 for transmitting the security key to the security key management unit 1400, a security key buffer unit 1410 for temporarily storing the security key received from the security key management unit in the volatile buffer, A data buffer 1430 for transferring data for encryption and decryption to a predetermined data buffer space, a data buffer 1430 for encrypting and decrypting data according to a selection of an encryption function of the function selector, A decryption block 1450 for performing decryption in a hardware manner in accordance with the decryption function selection of the function selection unit, and a decryption unit 1450 for temporarily storing the data encrypted and decrypted in the decryption block unit and the decryption block unit And a module data output unit 1460 including a buffer memory space for storing the buffer memory space.

일 실시 예에 따르면, 상기 보안키 버퍼부(1410)는 휘발성 메모리이며, 상기 보안키 저장부(1200)는 전기적 신호에 의해서만 초기화될 수 있다. According to one embodiment, the security key buffer unit 1410 is a volatile memory, and the security key storage unit 1200 can be initialized only by an electrical signal.

일 실시 예에 따르면, 상기 암호화 블록부(1440) 및 복호화 블록부(!450)에서 사용하는 개인키 및 전용키는 상기 보안키 관리부(1300)에서 임시적으로 전송 받으며, 상기 개인키 및 전용키가 외부에 노출 되지 않을 수 있다. According to an exemplary embodiment, the private key and the private key used in the encryption block unit 1440 and the decryption block unit 450 are temporarily received by the security key management unit 1300, It may not be exposed to the outside.

일 실시 예에 따르면, 상기 보안키 관리부(1300)에서 생성되는 보안키가 포함하는 공개키는 상기 하드웨어 보안 모듈(1000)의 외부로 전송 가능한 키일 수 있다. According to an exemplary embodiment, the public key included in the secret key generated by the secret key management unit 1300 may be a key that can be transmitted to the outside of the hardware security module 1000.

일 실시 예에 따르면, 프로세서(미도시)로부터 상기 기능 선택부(1420)에 KEY생성 명령어가 전송되면, 상기 보안키 생성부(1100)의 난수 발생기 (RNG: Random Number Generation, 미도시)를 통해 물리적인 랜덤 번호를 발생시키고, 상기 발생된 보안키는 상기 보안키 저장부(1200)의 DB 공간에 저장되며, 상기 보안키 관리부(1300)는 상기 보안키 저장부(1200)의 DB 공간의 번호를 기록하며, 상기 보안키 저장부(1200)의 레지스터 공간에 상기 생성된 보안키의 DB 공간의 번호를 기록하고, 상기 기록된 보안키가 개인키, 전용키 및 공개키 중 어떤 것인지 종류를 함께 기록하며, 상기 프로세서(미도시)로부터 상기 기능 선택부(1420)에 암호화 명령어가 전송되면 암호화에 사용되는 알고리즘에 대한 정보를 확인하고, 상기 보안키 저장부(1200)의 DB 공간의 번호를 확인하여, 상기 보안키 관리부(1300)에 상기 확인한 보안키를 요청하며, 임시 버퍼에 상기 확인한 보안키를 복사하고, 암호화를 위한 데이터를 상기 데이터 버퍼부(1430)에 전송하며, 결합된 임시 보안키와 상기 데이터 버퍼부(1430)에 전송한 상기 데이터를 상기 암호화 블록부(1440)에 전송하며, 암호화를 위한 상기 데이터의 사이즈만큼 암호화하며, 상기 암호화 블록부(1440)가 암호화한 상기 데이터는 상기 모듈 데이터 출력부(1460)로 전송되며 상기 프로세서(미도시)의 플래쉬 메모리로 상기 데이터가 전송되어 상기 프로세스가 요청한 위치로 상기 데이터를 처리할 수 있다. According to an embodiment, when a KEY generation command is transmitted from the processor (not shown) to the function selection unit 1420, a random number generation (RNG) (not shown) of the secret key generation unit 1100 The security key management unit 1300 generates a random number for the security key in the security key storage unit 1200 and stores the generated security key in the DB space of the security key storage unit 1200, Records the number of the DB space of the generated security key in a register space of the security key storage unit 1200, and stores the recorded security key as a private key, a private key, and a public key together When an encryption command is transmitted from the processor (not shown) to the function selection unit 1420, information on an algorithm used for encryption is checked, and the number of the DB space of the security key storage unit 1200 is checked Thus, Requests the management unit 1300 to verify the security key, copies the security key to the temporary buffer, transmits data for encryption to the data buffer unit 1430, The encryption unit 1440 encrypts the data transmitted to the encryption block unit 1430 to the encryption block unit 1440 and encrypts the data corresponding to the size of the data for encryption, 1460 and the data is transferred to the flash memory of the processor (not shown) to process the data to a location requested by the process.

일 실시 예에 따르면, 프로세서(미도시)로부터 상기 기능 선택부(1420)(1420)에 KEY생성 명령어가 전송되면, 상기 보안키 생성부(1100)의 난수 발생기 (RNG: Random Number Generation)를 통해 물리적인 랜덤 번호를 발생시키고, 상기 발생된 보안키는 상기 보안키 저장부(1200)의 DB 공간에 저장되며, 상기 보안키 관리부(1300)는 상기 보안키 저장부(1200)의 DB 공간의 번호를 기록하며, 상기 보안키 저장부(1200)의 레지스터 공간에 상기 생성된 보안키의 DB 공간의 번호를 기록하고, 상기 기록된 보안키가 개인키, 전용키 및 공개키 중 어떤 것인지 종류를 함께 기록하며, 상기 프로세서로부터 상기 기능 선택부(1420)에 복호화 명령어가 전송되면 복호화에 사용되는 알고리즘에 대한 정보를 확인하고, 상기 보안키 저장부(1200)의 DB 공간의 번호를 확인하여, 상기 보안키 관리부(1300)에 상기 확인한 보안키를 요청하며, 임시 버퍼에 상기 확인한 보안키를 복사하고, 복호화를 위한 데이터를 상기 데이터 버퍼부(1430)에 전송하며, 결합된 임시 보안키와 상기 데이터 버퍼부(1430)에 전송한 상기 데이터를 상기 복호화 블록부(1450)에 전송하며, 복호화를 위한 상기 데이터의 사이즈만큼 복호화 하며, 상기 복호화 블록부(1450)가 복호화한 상기 데이터는 상기 모듈 데이터 출력부(1460)로 전송되며 상기 프로세서의 플래쉬 메모리로 상기 데이터가 전송되어 상기 프로세스가 요청한 위치로 상기 데이터를 처리할 수 있다. According to an embodiment, when a KEY generation command is transmitted from the processor (not shown) to the function selection units 1420 and 1420, the random number generation (RNG) of the secret key generation unit 1100 The security key management unit 1300 generates a random number for the security key in the security key storage unit 1200 and stores the generated security key in the DB space of the security key storage unit 1200, Records the number of the DB space of the generated security key in a register space of the security key storage unit 1200, and stores the recorded security key as a private key, a private key, and a public key together If the decryption command is transmitted from the processor to the function selector 1420, the controller checks the information about the algorithm used for decryption, verifies the number of the DB space of the secure key storage 1200, The key management unit 1300 And transmits the decrypted data to the data buffer unit 1430. The combined temporary security key and the data buffer unit 1430 transmit the decrypted security key to the data buffer unit 1430, The decoding unit 1450 decodes the data transmitted to the decoding unit 1450 by the size of the data for decoding and outputs the decoded data to the module data output unit 1460 And the data is transferred to the flash memory of the processor to process the data to a location requested by the process.

한편, 도 9는 본 발명의 또 다른 실시 예에 따른 하드웨어 보안 디바이스(2000)의 전체 구성을 나타낸 도면인바, 하드웨어 보안 디바이스(2000)는 CPU, MPU및 MCU 중 어느 하나 이상을 포함하는 프로세서(2100), 데이터에 대한 암호화 및 복호화를 진행하는 하드웨어 보안 모듈(1000), 데이터 전송을 위한 데이터 버스(2500), 상기 데이터 저장을 위한 휘발성 메모리(2200), 상기 데이터 저장을 위한 비휘발성 메모리(2300) 및 외부 통신을 위한 통신 인터페이스(2400)를 포함한다. 9 shows an overall configuration of a hardware secure device 2000 according to another embodiment of the present invention. The hardware secure device 2000 includes a processor 2100 including at least one of a CPU, an MPU, and an MCU A hardware security module 1000 for encrypting and decrypting data, a data bus 2500 for data transmission, a volatile memory 2200 for storing data, a nonvolatile memory 2300 for storing data, And a communication interface 2400 for external communication.

일 실시 예에 따르면, 상기 하드웨어 보안 디바이스(2000)는, 상기 통신 인터페이스(2400)를 통해 외부의 호스트 프로세서(미도시)가 전송하는 상기 데이터에 대한 암호화 및 복호화를 진행하여, 상기 외부의 호스트 프로세서(미도시)에 암호화 및 복호화를 진행한 데이터를 전송할 수 있다. According to one embodiment, the hardware security device 2000 encrypts and decrypts the data transmitted from an external host processor (not shown) via the communication interface 2400, (Not shown) can be transmitted.

일 실시 예에 따르면, 상기 데이터는 적어도 하나 이상의 생체 인식 데이터일 수 있다. According to one embodiment, the data may be at least one or more biometric data.

일 실시 예에 따르면, 상기 하드웨어 보안 디바이스(2000)는, 생체 인식 센서 및 영상 인식 센서(미도시) 중 어느 하나 이상과 상기 통신 인터페이스(2400)를 통해 데이터를 전송 받을 수 있다. According to one embodiment, the hardware security device 2000 can receive data through the communication interface 2400 with at least one of a biometric sensor and an image recognition sensor (not shown).

일 실시 예에 따르면, 상기 하드웨어 보안 디바이스(2000)는, 제1 외부 호스트 프로세서(미도시)또는 제2 외부 호스트 프로세서(미도시)와 상기 통신 인터페이스(2400)를 통해 데이터를 전송 받으며, 상기 제1 외부 호스트 프로세서(미도시)로부터 전송 받은 데이터를 암호화하여 상기 제1 외부 호스트 프로세서(미도시)또는 제2 외부 호스트 프로세서(미도시)에 전송하며, 이 경우, 상기 제1 외부 호스트 프로세서(미도시)는 상기 암호화한 데이터의 보안키의 DB 번호를 지정하거나, 지정하지 않는 경우 상기 보안키의 DB 번호를 자동으로 생성하여 상기 제2 외부 호스트 프로세서(미도시)에 전송할 수 있다. According to one embodiment, the hardware secure device 2000 receives data via a communication interface 2400 with a first external host processor (not shown) or a second external host processor (not shown) 1 encrypts data received from an external host processor (not shown) and transmits the data to the first external host processor (not shown) or a second external host processor (not shown). In this case, May specify the DB number of the security key of the encrypted data or may automatically generate the DB number of the security key and transmit the DB number to the second external host processor (not shown).

일 실시 예에 따르면, 상기 하드웨어 보안 디바이스(2000)는, 제1 외부 호스트 프로세서(미도시)또는 제2 외부 호스트 프로세서(미도시)와 상기 통신 인터페이스(2400)를 통해 데이터를 전송 받으며, 상기 제1 외부 호스트 프로세서(미도시)로부터 전송 받은 데이터를 암호화하여 상기 제1 외부 호스트 프로세서(미도시)또는 제2 외부 호스트 프로세서(미도시)에 전송하며, 이 경우, 상기 제1 외부 호스트 프로세서(미도시)는 상기 암호화한 데이터의 보안키의 DB 번호를 지정하거나, 지정하지 않는 경우 상기 보안키의 DB 번호를 자동으로 생성하여 상기 제2 외부 호스트 프로세서(미도시)에 전송할 수 있다. According to one embodiment, the hardware secure device 2000 receives data via a communication interface 2400 with a first external host processor (not shown) or a second external host processor (not shown) 1 encrypts data received from an external host processor (not shown) and transmits the data to the first external host processor (not shown) or a second external host processor (not shown). In this case, May specify the DB number of the security key of the encrypted data or may automatically generate the DB number of the security key and transmit the DB number to the second external host processor (not shown).

일 실시 예에 따르면, 상기 하드웨어 보안 디바이스(2000)는, 복호화를 진행하는 경우, 상기 제2 외부 호스트 프로세서(미도시)로부터 상기 전송 받은 데이터의 보안키의 DB 번호 및 상기 데이터의 암호화에 사용된 알고리즘에 대한 정보를 전송 받을 수 있다. According to one embodiment, when proceeding with the decryption, the hardware security device 2000 receives the DB number of the security key of the transmitted data from the second external host processor (not shown) Information about the algorithm can be received.

한편, 도 7에 도시된 것과 마찬가지로, 상기 하드웨어 보안 디바이스(2000)가 탑재된 스마트 자동차를 구현할 수도 있다.7, a smart car on which the hardware security device 2000 is mounted may be implemented.

이상에서 본 발명에 따른 실시 예들이 설명되었으나, 이는 예시적인 것에 불과하며, 당해 분야에서 통상적 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 특허청구범위에 의해서 정해져야 할 것이다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention as defined by the appended claims. Accordingly, the true scope of the present invention should be determined by the following claims.

100: 호스트 프로세서
200, 400, 500, 1000: 하드웨어 보안 모듈
300: 생체정보 인식부
1100: 보안키 생성부
1200: 보안키 저장부
1300: 보안키 관리부
1400: 암복호화 엔진부
1410: 보안키 버퍼부 1420: 기능 선택부
1430: 데이터 버퍼부 1440: 암호화 블록부
1450: 복호화 블록부 1460: 모듈 데이터 출력부
2000: 하드웨어 보안 디바이스
2100: 프로세서
2200: 휘발성 메모리
2300: 비휘발성 메모리
2400: 통신 인터페이스
2500: 데이터 버스
100: Host processor
200, 400, 500, 1000: Hardware security module
300: Biometric information recognition unit
1100: Security key generation unit
1200: Security key storage unit
1300: Security key management unit
1400: an encryption / decryption engine section
1410: Security key buffer unit 1420: Function selection unit
1430: Data buffer unit 1440: Encryption block unit
1450: decryption block unit 1460: module data output unit
2000: Hardware security device
2100: Processor
2200: Volatile memory
2300: Nonvolatile memory
2400: Communication interface
2500: Data bus

Claims (13)

암호화 및 복호화에 요구되며, 개인키, 전용키 및 공개키를 포함하는 보안키 생성 요청에 따라 램덤하게 보안키를 생성하는 보안키 생성부;
상기 보안키 생성부에서 생성한 보안키를 저장하고, 보안키 전송 요청에 따라 상기 저장된 보안키를 전송하는 보안키 저장부;
상기 보안키 생성부에 상기 보안키 생성 요청을 하며, 상기 생성된 보안키를 상기 보안키 저장부에 저장 하거나 상기 저장된 보안키를 삭제하고, 보안키 사용 요청을 수신하면, 상기 사용 요청한 보안키가 저장된 위치 번호를 확인하고, 상기 사용 요청한 보안키를 암복호화 엔진부에 전송하는 보안키 관리부; 및
상기 보안키 관리부로부터 전송 받은 보안키를 휘발성 버퍼에 임시 저장하는 보안키 버퍼부;
데이터에 대한 암호화 및 복호화 기능을 선택하는 기능 선택부;
암호화 및 복호화를 위한 데이터를 전송 받아 기 정해진 데이터 버퍼공간에 전송하는 데이터 버퍼부;
상기 기능 선택부의 암호화 기능 선택에 따라 하드웨어 방식으로 암호화를 수행하는 암호화 블록부;
상기 기능 선택부의 복호화 기능 선택에 따라 하드웨어 방식으로 복호화를 수행하는 복호화 블록부; 및
상기 암호화 블록부 및 복호화 블록부에서 암호화 및 복호화된 상기 데이터를 임시로 저장하는 버퍼 메모리 공간을 포함하는 모듈 데이터 출력부;
를 포함하는 암복호화 엔진부;
를 포함하는 하드웨어 보안 모듈.
A security key generation unit required for encryption and decryption and randomly generating a security key according to a security key generation request including a private key, a private key, and a public key;
A security key storage unit for storing the security key generated by the security key generation unit and transmitting the stored security key in response to a security key transmission request;
The secure key generation unit transmits the generated security key to the security key generation unit, stores the generated security key in the security key storage unit or deletes the stored security key, and upon receipt of the security key use request, A security key management unit for confirming the stored location number and transmitting the security key requested to use to the encryption / decryption engine unit; And
A security key buffer unit for temporarily storing the security key received from the security key management unit in a volatile buffer;
A function selection unit for selecting an encryption and decryption function for data;
A data buffer unit for receiving data for encryption and decryption and transferring the data to a predetermined data buffer space;
An encryption block for performing encryption in a hardware manner in accordance with a selection of an encryption function of the function selection unit;
A decoding block for performing decoding in a hardware manner in accordance with selection of a decoding function of the function selecting unit; And
A module data output unit including a buffer memory space for temporarily storing the encrypted and decrypted data in the encryption block unit and the decryption block unit;
An encryption / decryption engine unit;
A hardware security module.
제1항에 있어서,
상기 보안키 버퍼부는 휘발성 메모리이며,
상기 보안키 저장부는 전기적 신호에 의해서만 초기화되는,
하드웨어 보안 모듈..
The method according to claim 1,
Wherein the security key buffer unit is a volatile memory,
Wherein the security key storage unit is initialized only by an electrical signal,
Hardware security module ..
제 1항에 있어서,
상기 암호화 블록부 및 복호화 블록부에서 사용하는 개인키 및 전용키는 상기 보안키 관리부에서 임시적으로 전송 받으며, 상기 개인키 및 전용키가 외부에 노출 되지 않는,
하드웨어 보안 모듈.
The method according to claim 1,
Wherein the private key and the private key used in the encryption block unit and the decryption block unit are temporarily received by the security key management unit and the private key and the private key are not exposed to the outside,
Hardware security module.
제 1항에 있어서,
상기 보안키 관리부에서 생성되는 보안키가 포함하는 공개키는 상기 하드웨어 보안 모듈의 외부로 전송 가능한 키인,
하드웨어 보안 모듈.
The method according to claim 1,
Wherein the public key included in the security key generated by the security key management unit is a key that can be transmitted to the outside of the hardware security module,
Hardware security module.
제 1항에 있어서,
프로세서로부터 상기 기능 선택부에 KEY생성 명령어가 전송되면, 상기 보안키 생성부의 난수 발생기 (RNG: Random Number Generation)를 통해 물리적인 랜덤 번호를 발생시키고, 상기 발생된 보안키는 상기 보안키 저장부의 DB 공간에 저장되며, 상기 보안키 관리부는 상기 보안키 저장부의 DB 공간의 번호를 기록하며, 상기 보안키 저장부의 레지스터 공간에 상기 생성된 보안키의 DB 공간의 번호를 기록하고, 상기 기록된 보안키가 개인키, 전용키 및 공개키 중 어떤 것인지 종류를 함께 기록하며,
상기 프로세서로부터 상기 기능 선택부에 암호화 명령어가 전송되면 암호화에 사용되는 알고리즘에 대한 정보를 확인하고, 상기 보안키 저장부의 DB 공간의 번호를 확인하여, 상기 보안키 관리부에 상기 확인한 보안키를 요청하며, 임시 버퍼에 상기 확인한 보안키를 복사하고, 암호화를 위한 데이터를 상기 데이터 버퍼부에 전송하며, 결합된 임시 보안키와 상기 데이터 버퍼부에 전송한 상기 데이터를 상기 암호화 블록부에 전송하며, 암호화를 위한 상기 데이터의 사이즈만큼 암호화 하며, 상기 암호화 블록부가 암호화한 상기 데이터는 상기 모듈 데이터 출력부로 전송되며 상기 프로세서의 플래쉬 메모리로 상기 데이터가 전송되어 상기 프로세스가 요청한 위치로 상기 데이터를 처리하는,
하드웨어 보안 모듈.
The method according to claim 1,
The security key generation unit generates a physical random number through a Random Number Generation (RNG) of the security key generation unit when the KEY generation command is transmitted from the processor to the function selection unit, The security key management unit records the number of the DB space of the security key storage unit, records the number of the DB space of the generated security key in the register space of the security key storage unit, Records the type of the private key, the private key, and the public key together,
When the encryption command is transmitted from the processor to the function selection unit, information on the algorithm used for encryption is checked, the number of the DB space of the security key storage unit is confirmed, the security key is requested to the security key management unit And transmits the encryption data to the data buffer unit, transmits the combined temporary security key and the data transmitted to the data buffer unit to the encryption block unit, Wherein the encrypted data is transmitted to the module data output unit and the data is transmitted to the flash memory of the processor to process the data to a position requested by the process.
Hardware security module.
제 1항에 있어서,
프로세서로부터 상기 기능 선택부에 KEY생성 명령어가 전송되면, 상기 보안키 생성부의 난수 발생기 (RNG: Random Number Generation)를 통해 물리적인 랜덤 번호를 발생시키고, 상기 발생된 보안키는 상기 보안키 저장부의 DB 공간에 저장되며, 상기 보안키 관리부는 상기 보안키 저장부의 DB 공간의 번호를 기록하며, 상기 보안키 저장부의 레지스터 공간에 상기 생성된 보안키의 DB 공간의 번호를 기록하고, 상기 기록된 보안키가 개인키, 전용키 및 공개키 중 어떤 것인지 종류를 함께 기록하며,
상기 프로세서로부터 상기 기능 선택부에 복호화 명령어가 전송되면 복호화에 사용되는 알고리즘에 대한 정보를 확인하고, 상기 보안키 저장부의 DB 공간의 번호를 확인하여, 상기 보안키 관리부에 상기 확인한 보안키를 요청하며, 임시 버퍼에 상기 확인한 보안키를 복사하고, 복호화를 위한 데이터를 상기 데이터 버퍼부에 전송하며, 결합된 임시 보안키와 상기 데이터 버퍼부에 전송한 상기 데이터를 상기 복호화 블록부에 전송하며, 복호화를 위한 상기 데이터의 사이즈만큼 복호화 하며, 상기 복호화 블록부가 복호화한 상기 데이터는 상기 모듈 데이터 출력부로 전송되며 상기 프로세서의 플래쉬 메모리로 상기 데이터가 전송되어 상기 프로세스가 요청한 위치로 상기 데이터를 처리하는,
하드웨어 보안 모듈.
The method according to claim 1,
The security key generation unit generates a physical random number through a Random Number Generation (RNG) of the security key generation unit when the KEY generation command is transmitted from the processor to the function selection unit, The security key management unit records the number of the DB space of the security key storage unit, records the number of the DB space of the generated security key in the register space of the security key storage unit, Records the type of the private key, the private key, and the public key together,
When the decryption instruction word is transmitted from the processor to the function selection unit, information on the algorithm used for decryption is checked, the number of the DB space of the security key storage unit is confirmed, the security key is requested to the security key management unit And transmits the decrypted data to the data buffer unit, transmits the combined temporary security key and the data transmitted to the data buffer unit to the decryption block unit, decrypts the encrypted data, Wherein the data decoded by the decoding block is transmitted to the module data output unit and the data is transmitted to the flash memory of the processor to process the data to a position requested by the process.
Hardware security module.
CPU, MPU및 MCU 중 어느 하나 이상을 포함하는 프로세서;
데이터에 대한 암호화 및 복호화를 진행하는 하드웨어 보안 모듈;
데이터 전송을 위한 데이터 버스;
상기 데이터 저장을 위한 휘발성 메모리;
상기 데이터 저장을 위한 비휘발성 메모리; 및
외부 통신을 위한 통신 인터페이스;
를 포함하는 하드웨어 보안 디바이스.
A processor including at least one of a CPU, an MPU, and an MCU;
A hardware security module for encrypting and decrypting data;
A data bus for data transfer;
A volatile memory for storing the data;
A nonvolatile memory for storing the data; And
A communication interface for external communication;
Lt; / RTI >
제7항에 있어서,
상기 하드웨어 보안 디바이스는,
상기 통신 인터페이스를 통해 외부의 호스트 프로세서가 전송하는 상기 데이터에 대한 암호화 및 복호화를 진행하여, 상기 외부의 호스트 프로세서에 암호화 및 복호화를 진행한 데이터를 전송하는,
하드웨어 보안 디바이스.
8. The method of claim 7,
The hardware security device comprising:
Wherein the encryption / decryption unit encrypts and decrypts the data transmitted from the external host processor through the communication interface, and transmits data encrypted and decrypted to the external host processor,
Hardware secure device.
제8항에 있어서,
상기 데이터는 적어도 하나 이상의 생체 인식 데이터인,
하드웨어 보안 디바이스.
9. The method of claim 8,
Wherein the data is at least one or more biometric data,
Hardware secure device.
제7항에 있어서,
상기 하드웨어 보안 디바이스는,
생체 인식 센서 및 영상 인식 센서 중 어느 하나 이상과 상기 통신 인터페이스를 통해 데이터를 전송 받는,
하드웨어 보안 디바이스.
8. The method of claim 7,
The hardware security device comprising:
A biometric sensor, and an image recognition sensor and receives data through the communication interface,
Hardware secure device.
제10항에 있어서,
상기 하드웨어 보안 디바이스는,
제1 외부 호스트 프로세서 또는 제2 외부 호스트 프로세서와 상기 통신 인터페이스를 통해 데이터를 전송 받으며,
상기 제1 외부 호스트 프로세서로부터 전송 받은 데이터를 암호화하여 상기 제1 외부 호스트 프로세서 또는 제2 외부 호스트 프로세서에 전송하며,
이 경우, 상기 제1 외부 호스트 프로세서는 상기 암호화한 데이터의 보안키의 DB 번호를 지정하거나, 지정하지 않는 경우 상기 보안키의 DB 번호를 자동으로 생성하여 상기 제2 외부 호스트 프로세서에 전송하는,
하드웨어 보안 디바이스
11. The method of claim 10,
The hardware security device comprising:
A first external host processor and a second external host processor,
Encrypts data received from the first external host processor and transmits the encrypted data to the first external host processor or the second external host processor,
In this case, if the first external host processor designates or does not designate the DB number of the security key of the encrypted data, the first external host processor automatically generates the DB number of the security key and transmits the DB number to the second external host processor.
Hardware secure device
제11항에 있어서,
상기 하드웨어 보안 디바이스는,
복호화를 진행하는 경우, 상기 제2 외부 호스트 프로세서로부터 상기 전송 받은 데이터의 보안키의 DB 번호 및 상기 데이터의 암호화에 사용된 알고리즘에 대한 정보를 전송 받는,
하드웨어 보안 디바이스.
12. The method of claim 11,
The hardware security device comprising:
Receiving a DB number of a security key of the transmitted data from the second external host processor and information on an algorithm used for encrypting the data,
Hardware secure device.
제7항 내지 제12항 중 어느 한 항에 있어서,
상기 하드웨어 보안 디바이스가 탑재된 스마트 자동차.
13. The method according to any one of claims 7 to 12,
A smart car on which said hardware security device is mounted.
KR1020170163259A 2016-11-30 2017-11-30 Hardware security module and hardware security device using thereof KR101929315B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160161410 2016-11-30
KR20160161410 2016-11-30

Publications (2)

Publication Number Publication Date
KR20180062427A true KR20180062427A (en) 2018-06-08
KR101929315B1 KR101929315B1 (en) 2018-12-17

Family

ID=62600202

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170163259A KR101929315B1 (en) 2016-11-30 2017-11-30 Hardware security module and hardware security device using thereof

Country Status (1)

Country Link
KR (1) KR101929315B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672948A (en) * 2021-07-16 2021-11-19 山东云海国创云计算装备产业创新中心有限公司 Encrypted UART and integrated chip

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240077885A (en) * 2022-11-25 2024-06-03 라인플러스 주식회사 Encryption method and system for media sent and received in streaming format between users

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001357371A (en) * 2000-06-13 2001-12-26 Sony Corp Hardware token with fingerprint collating function
KR20140063863A (en) * 2012-01-16 2014-05-27 가부시끼가이샤 도시바 Host device, semiconductor memory device, and authentication method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001357371A (en) * 2000-06-13 2001-12-26 Sony Corp Hardware token with fingerprint collating function
KR20140063863A (en) * 2012-01-16 2014-05-27 가부시끼가이샤 도시바 Host device, semiconductor memory device, and authentication method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113672948A (en) * 2021-07-16 2021-11-19 山东云海国创云计算装备产业创新中心有限公司 Encrypted UART and integrated chip

Also Published As

Publication number Publication date
KR101929315B1 (en) 2018-12-17

Similar Documents

Publication Publication Date Title
US10681025B2 (en) Systems and methods for securely managing biometric data
CN110995642B (en) Providing secure connections using pre-shared keys
CN110049016B (en) Data query method, device, system, equipment and storage medium of block chain
US20170142579A1 (en) Quorum-based secure authentication
JP5180678B2 (en) IC card, IC card system and method thereof
CN104321777B (en) Public identifier is generated to verify the personal method for carrying identification object
CN109165523A (en) Identity identifying method and system, terminal device, server and storage medium
CN106056196A (en) Modular fingerprint U disk and communication method thereof
CN106330442A (en) Identity authentication method, device and system
JP2006107406A (en) Biometric authentication device and terminal
CN109375882B (en) Security printing method and system based on non-identification biometric authentication
Wan et al. A lightweight continuous authentication scheme for medical wireless body area networks
KR101929315B1 (en) Hardware security module and hardware security device using thereof
US12019717B2 (en) Method for the secure interaction of a user with a mobile terminal and a further entity
CN210536657U (en) Multi-user intelligent password terminal based on biological identification technology
KR102625879B1 (en) Method for generating key in crypto system using biometric information
KR20180061831A (en) Hardware security module and hardware security systme using thereof
KR20180041508A (en) Method for Mutual authentication of Agent and Data Manager in U-health
WO2023042825A1 (en) Information management system, authentication device, and personal information server
CN110035032A (en) Unlocked by fingerprint method and unlocked by fingerprint system
Liyanage et al. Gadget free authentication
Sujadevi et al. Effortless exchange of personal health records using near field communication
CN107302542B (en) Biological feature-based communication method and device
GB2556625A (en) Secure enrolment of biometric data
JP2007172507A (en) User authentication system, user authentication method, authentication information storage apparatus, and authentication information storage program

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