KR102289478B1 - System and method for providing electronic signature service - Google Patents
System and method for providing electronic signature service Download PDFInfo
- Publication number
- KR102289478B1 KR102289478B1 KR1020190094543A KR20190094543A KR102289478B1 KR 102289478 B1 KR102289478 B1 KR 102289478B1 KR 1020190094543 A KR1020190094543 A KR 1020190094543A KR 20190094543 A KR20190094543 A KR 20190094543A KR 102289478 B1 KR102289478 B1 KR 102289478B1
- Authority
- KR
- South Korea
- Prior art keywords
- key
- store file
- file
- security
- owner information
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
- H04L9/0844—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
보안키 관리 방법 및 이를 포함한 보안키 관리 서버를 제공한다. 본 보안키 관리 방법은, 외부 기기로부터 보안키를 소유할 소유자 정보를 포함하는 키 생성 요청 신호를 수신하면, 하드웨어 보안 모듈로부터 보안키에 대응하는 키 블랍 및 인증값을 수신하고, 키 블랍 및 인증값을 포함하는 키 스토어 파일을 생성하고, 소유자 정보를 기초로 상기 키 스토어 파일의 명칭을 생성하며, 키 스토어 파일 및 키 스토어 파일의 명칭을 하드웨어 보안 모듈이 아닌 다른 장치에 저장한다. A security key management method and a security key management server including the same are provided. In this security key management method, upon receiving a key generation request signal including information on the owner of the security key from an external device, receiving a key block and an authentication value corresponding to the security key from the hardware security module, and receiving the key block and authentication A key store file including a value is generated, a name of the key store file is generated based on owner information, and the key store file and the names of the key store file are stored in a device other than the hardware security module.
Description
보안키 관리 방법 및 보안키 관리 서버에 관한 것이다.It relates to a security key management method and a security key management server.
정보보호 및 인증기술에 있어서, 개인의 인증정보와 및 금융 거래를 위한 비밀번호 등의 정보를 하드웨어적으로 또한 암호학적으로 안전하게 관리하는 장치 및 시스템의 개발기술 필요성은 인터넷의 보급과 함께 제기되어 왔다.In information protection and authentication technology, the need for a device and system to safely manage personal authentication information and information such as passwords for financial transactions in hardware and cryptographic terms has been raised with the spread of the Internet.
비밀정보는 개인을 인증하고 본인이 직접 특정 행위를 한 것을 확인하는 수단이 되기 때문에, 만일 비밀 정보가 타인에게 노출된다면 행위자를 특정할 수 없어서 전체 금융거래 체계가 붕괴될 수 있으므로 매우 안전하게 관리되어야 한다.Since confidential information is a means of authenticating an individual and confirming that the individual has performed a specific act, if the confidential information is exposed to others, the entire financial transaction system may be disrupted because the actor cannot be identified, so it must be managed very safely. .
이와 같은 고도의 보안성을 제공하기 위해, 하드웨어적으로 동시에 암호학적으로 안전한 관리시스템을 탑재한 하드웨어 보안 모듈(Hardware Secure Module, 이라는 개념이 소개되고 있다.In order to provide such a high level of security, the concept of a Hardware Secure Module, which is equipped with a cryptographically secure management system at the same time as hardware, is introduced.
한편, 다양한 분야에서 하드웨어 보안 모듈 기술이 사용되지만, 하드웨어 보안 모듈의 하드웨어적 용량 때문에 저장할 수 있는 보안키의 개수가 제한될 수 있다. Meanwhile, although hardware security module technology is used in various fields, the number of security keys that can be stored may be limited due to the hardware capacity of the hardware security module.
본 실시예는, 보안키를 하드웨어 보안 모듈에 저장하지 않고 별도의 전용 파일을 생성하여 하드웨어 보안 모듈이 아닌 다른 데이터베이스에 저장하는 방법 및 그 서버를 제공한다. The present embodiment provides a method and a server for generating a separate dedicated file without storing the security key in the hardware security module and storing it in a database other than the hardware security module.
일 실시예에 따른 보안키 관리 방법은, 외부 기기로부터 보안키를 소유할 소유자 정보를 포함하는 키 생성 요청 신호를 수신하면, 상기 키 생성 요청 신호를 하드웨어 보안 모듈에 전송하고, 상기 하드웨어 보안 모듈로부터 상기 보안키에 대응하는 키 블랍을 수신하는 단계; 상기 소유자 정보 및 키 블랍을 포함하는 인증값 요청 신호를 상기 하드웨어 보안 모듈에 전송하고, 상기 하드웨어 보안 모듈로부터 상기 인증값 요청 신호에 대응하는 인증값을 수신하는 단계; 상기 키 블랍 및 상기 인증값을 포함하는 키 스토어 파일을 생성하는 단계; 상기 소유자 정보를 기초로 상기 키 스토어 파일의 명칭을 생성하는 단계; 및 상기 키 스토어 파일 및 상기 키 스토어 파일의 명칭을 상기 하드웨어 보안 모듈이 아닌 다른 데이터베이스에 저장하는 단계;를 포함한다. The security key management method according to an embodiment includes, when receiving a key generation request signal including owner information to own the security key from an external device, transmits the key generation request signal to a hardware security module, and receives the key generation request signal from the hardware security module. receiving a key blob corresponding to the security key; transmitting an authentication value request signal including the owner information and the key blob to the hardware security module, and receiving an authentication value corresponding to the authentication value request signal from the hardware security module; generating a key store file including the key blob and the authentication value; generating a name of the key store file based on the owner information; and storing the key store file and the names of the key store files in a database other than the hardware security module.
그리고, 상기 키 스토어 파일은, 상기 소유자 정보를 포함한 헤드 영역, 상기 키 블랍을 포함하는 바디 영역 및 상기 인증값을 포함하는 보호 영역을 포함할 수 있다. The key store file may include a head area including the owner information, a body area including the key blob, and a protection area including the authentication value.
또한, 상기 인증값은, 상기 하드웨어 보안 모듈이 상기 소유자 정보 및 기저장된 마스터키를 이용하여 유도키를 생성하고, 상기 헤드 영역에 포함된 정보, 상기 바디 영역에 포함된 정보 및 상기 유도키를 이용하여 생성된 값일 수 있다. In addition, as for the authentication value, the hardware security module generates a derivation key using the owner information and the pre-stored master key, and uses the information included in the head area, the information contained in the body area, and the derivation key. It may be a value generated by
그리고, 상기 키 스토어 파일의 명칭은 상기 소유자 정보로부터 유도된 문자열 및 상기 키 스토어 파일이 생성된 일시에 대한 정보를 포함할 수 있다.In addition, the name of the key store file may include a character string derived from the owner information and information on the date and time the key store file was created.
또한, 상기 키 스토어 파일의 명칭은 2바이트 단위의 배타적 논리합한 값으로 그룹핑하여 저장될 수 있다.In addition, the name of the key store file may be grouped and stored as an exclusive OR value in units of 2 bytes.
그리고, 상기 스토어 파일을 생성하는 단계는, 상기 데이터베이스에 상기 소유자 정보와 동일한 소유자 정보를 포함하는 키 스토어 파일이 저장되어 있는지 확인하는 단계; 및 상기 동일한 소유자 정보를 포함하는 키 스토어 파일이 기저장되어 있으면, 상기 키 블랍 및 상기 인증값을 기저장된 키 스토어 파일에 업데이트하는 단계;를 포함할 수 있다.The generating of the store file may include: checking whether a key store file including the same owner information as the owner information is stored in the database; and updating the key blob and the authentication value to the previously stored key store file if a key store file including the same owner information is previously stored.
또한, 소유자 정보 및 보안키를 이용할 데이터를 포함하는 제1 키 이용 요청 신호를 상기 외부기기로부터 수신받으면, 상기 제1 키 이용 요청 신호에 포함된 소유자 정보에 대응하는 키 스토어 파일의 명칭을 상기 데이터베이스로부터 독출하는 단계; 상기 키 스토어 파일의 명칭에 매칭된 키 스토어 파일을 획득하는 단계; 상기 키 스토어 파일에 포함된 상기 인증값을 이용하여 상기 키 스토어 파일을 검증하는 단계; 상기 인증값에 대한 검증이 완료되면, 상기 키 스토어 파일로부터 키 블랍을 획득하는 단계; 및 상기 키 블랍 및 상기 데이터를 포함하는 제2 키 이용 요청 신호를 상기 하드웨어 보안 모듈에 전송하고, 상기 하드웨어 보안 모듈로부터 상기 보안키가 적용된 데이터를 수신하는 단계;를 포함할 수 있다. In addition, when a first key use request signal including owner information and data to use the security key is received from the external device, the name of the key store file corresponding to the owner information included in the first key use request signal is stored in the database. reading from; obtaining a key store file matching the name of the key store file; verifying the key store file by using the authentication value included in the key store file; obtaining a key blob from the key store file when verification of the authentication value is completed; and transmitting a second key use request signal including the key blob and the data to the hardware security module, and receiving data to which the security key is applied from the hardware security module.
한편, 일 실시예에 따른 보안키 관리 서버는, 외부 기기 및 하드웨어 보안 모듈과 통신하는 통신부; 및 상기 통신부를 통해 상기 외부 기기로부터 보안키를 소유할 소유자 정보를 포함하는 키 생성 요청 신호를 수신하면, 상기 키 생성 요청 신호를 하드웨어 보안 모듈에 요청하고 상기 하드웨어 보안 모듈로부터 상기 보안키에 대응하는 키 블랍을 획득하며, 상기 통신부를 통해 상기 소유자 정보 및 상기 키 블랍을 포함하는 인증값 요청 신호를 상기 하드웨어 보안 모듈에 요청하고, 상기 하드웨어 보안 모듈로부터 상기 인증값 요청 신호에 대응하는 인증값을 획득하고, 상기 키 블랍 및 상기 인증값을 포함하는 키 스토어 파일을 생성하고, 상기 소유자 정보를 기초로 상기 키 스토어 파일의 명칭을 생성하며, 상기 키 스토어 파일 및 상기 키 스토어 파일의 명칭을 상기 하드웨어 보안 모듈이 아닌 다른 데이터베이스에 저장하는 파일 처리기;를 포함한다.On the other hand, the security key management server according to an embodiment, a communication unit for communicating with an external device and a hardware security module; and when receiving a key generation request signal including owner information to possess the security key from the external device through the communication unit, the key generation request signal is requested from the hardware security module and corresponding to the security key from the hardware security module obtain a key blob, request an authentication value request signal including the owner information and the key blob from the hardware security module through the communication unit, and obtain an authentication value corresponding to the authentication value request signal from the hardware security module and generating a key store file including the key blob and the authentication value, generating a name of the key store file based on the owner information, and setting the name of the key store file and the key store file in the hardware security It includes; a file handler that stores in a database other than a module.
그리고, 상기 키 스토어 파일은, 상기 소유자 정보를 포함한 헤드 영역, 상기 키 블랍을 포함하는 바디 영역 및 상기 인증값을 포함하는 보호 영역을 포함할 수 있다. The key store file may include a head area including the owner information, a body area including the key blob, and a protection area including the authentication value.
또한, 상기 인증값은, 상기 하드웨어 보안 모듈이 상기 소유자 정보 및 기저장된 마스터키를 이용하여 유도키를 생성하고, 상기 헤드 영역에 포함된 정보, 상기 바디 영역에 포함된 정보 및 상기 유도키를 이용하여 생성된 값일 수 있다.In addition, as for the authentication value, the hardware security module generates a derivation key using the owner information and the pre-stored master key, and uses the information included in the head area, the information contained in the body area, and the derivation key. It may be a value generated by
그리고, 상기 파일 처리기는, 상기 소유자 정보로부터 유도된 문자열 및 상기 키 스토어 파일이 생성된 일시에 대한 정보를 포함하도록 상기 키 스토어 파일의 명칭을 생성할 수 있다.In addition, the file processor may generate a name of the key store file to include a character string derived from the owner information and information on a date and time when the key store file was created.
또한, 상기 파일 처리기는, 상기 키 스토어 파일의 명칭이 2바이트 단위의 배타적 논리합한 값으로 그룹핑되어 저장될 수 있다.In addition, the file processor may store the name of the key store file grouped as an exclusive OR value in units of 2 bytes.
그리고, 상기 파일 처리기는, 상기 데이터베이스에 상기 소유자 정보와 동일한 소유자 정보를 포함하는 키 스토어 파일이 저장되어 있는지 확인하고, 상기 동일한 소유자 정보를 포함하는 키 스토어 파일이 기저장되어 있으면 상기 키 블랍 및 상기 인증값을 기저장된 키 스토어 파일에 업데이트할 수 있다. Then, the file processor checks whether a key store file including the same owner information as the owner information is stored in the database, and if a key store file including the same owner information is pre-stored, the key blob and the The authentication value can be updated in the pre-stored keystore file.
또한, 상기 파일 처리기는, 상기 통신부를 통해 상기 소유자 정보 및 상기 보안키를 이용할 데이터를 포함하는 제1 키 이용 요청 신호를 상기 외부기기로부터 수신받으면, 제1 키 이용 요청 신호에 포함된 소유자 정보에 대응하는 상기 키 스토어 파일을 획득하고, 상기 키 스토어 파일로부터 상기 키 블랍을 획득하며, 상기 통신부를 통해 상기 키 블랍 및 상기 데이터를 포함하는 제2 키 이용 요청 신호를 상기 히드웨어 보안 모듈에 전송하여 상기 하드웨어 보안 모듈로부터 상기 보안키가 적용된 데이터를 수신할 수 있다. In addition, when receiving a first key use request signal including data to use the owner information and the security key from the external device through the communication unit, the file processor is configured to add the owner information included in the first key use request signal obtaining the corresponding key store file, obtaining the key blob from the key store file, and transmitting a second key use request signal including the key blob and the data to the hardware security module through the communication unit Data to which the security key is applied may be received from the hardware security module.
실시예들에 따르면, 보안키를 하드웨어 보안 모듈에 저장하지 않고 별도의 전용 파일을 생성하여 하드웨어 보안 모듈이 아닌 다른 데이터베이스에 저장하기 때문에 하드웨어 보안 모듈을 하드웨어적 용량에 제한없이 이용할 수 있다. According to embodiments, since the security key is not stored in the hardware security module, but a separate dedicated file is created and stored in a database other than the hardware security module, the hardware security module can be used without limitation in hardware capacity.
또한, 관리 서버는 키 스토어 파일 뿐만 아니라 키 스토어 파일의 명칭을 생성하여 저장하기 때문에 외부 기기로부터 사용자 정보를 수신하면 키 스토어 파일의 명칭을 이용하여 필요시마다 키 스토어 파일을 독출하기 때문에 파일 처리 속도가 빨라질 수 있다. In addition, since the management server generates and stores the name of the key store file as well as the key store file, when user information is received from an external device, the key store file is read whenever necessary using the name of the key store file, so the file processing speed is reduced. can be faster
도 1은 예시적인 실시예에 따른 보안키 관리 시스템을 나타낸 도면이다.
도 2는 도 1에 도시된 하드웨어 보안 모듈을 나타내는 블록도이다.
도 3은 도 1에 도시된 관리 서버는 나타내는 블록도이다.
도 4는 일 실시예에 따른 관리 시스템에서 키 스토어 파일을 생성하는 방법을 설명하는 흐름도이다.
도 5는 일 실시예에 따른 키 스토어 파일의 형식을 나타내는 참조도면이다.
도 6은 일 실시예에 따른 키 스토어 파일의 명칭의 예를 나타내는 참조도면이다.
도 7은 일 실시예에 따른 관리 시스템이 보안키를 이용하는 방법을 설명하는 흐름도이다.
도 8은 다른 실시예에 따른 관리 시스템에서 키 스토어 파일을 생성하는 방법을 설명하는 흐름도이다.
도 9은 일 실시예에 따른 복수 개의 보안키 관련 정보를 포함하는 키 스토어 파일을 나타내는 참조도면이다. 1 is a diagram illustrating a security key management system according to an exemplary embodiment.
FIG. 2 is a block diagram illustrating the hardware security module shown in FIG. 1 .
3 is a block diagram illustrating the management server shown in FIG. 1 .
4 is a flowchart illustrating a method of generating a key store file in a management system according to an embodiment.
5 is a reference diagram illustrating a format of a key store file according to an embodiment.
6 is a reference diagram illustrating an example of a name of a key store file according to an embodiment.
7 is a flowchart illustrating a method for a management system to use a security key according to an embodiment.
8 is a flowchart illustrating a method of generating a key store file in a management system according to another embodiment.
9 is a reference diagram illustrating a key store file including a plurality of security key related information according to an embodiment.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다. The terms used in the present invention have been selected as currently widely used general terms as possible while considering the functions in the present invention, but these may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than the name of a simple term.
비록 제1, 제2 등의 용어가 다양한 요소들을 서술하기 위해서 사용되지만, 이 요소들은 이러한 용어에 의해 제한되지 않는다. 이러한 용어들은 단지 하나의 요소를 다른 요소와 구별하기 위하여 사용하는 것이다.Although the terms first, second, etc. are used to describe various elements, these elements are not limited by these terms. These terms are only used to distinguish one element from another.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof. Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.
도 1은 예시적인 실시예에 따른 보안키 관리 시스템(10)을 나타낸 도면이다. 1 is a diagram illustrating a security
도 1을 참조하면, 일 실시예에 따른 보안키 관리 시스템(10)은 보안키 및 보안키에 대응하는 키 블랍(blob)을 생성하는 하드웨어 보안 모듈(100), 하드웨어 보안 모듈(100)로부터 키 블랍을 수신하여 키 블랍을 포함하는 키 스토어 파일 및 키 스토어 파일의 명칭을 생성하는 보안키 관리 서버(200)(이하 '관리 서버'라고 칭한다) 및 상기한 키 스토어 파일의 명칭을 저장하는 데이터베이스(300)를 포함할 수 있다. Referring to FIG. 1 , a security
하드웨어 보안 모듈(100) 및 데이터베이스(300)는 관리 서버(200)와만 통신할 뿐 직접 외부 기기(400)와 통신하지 않음으로써 하드웨어 보안 모듈(100)의 보안이 강화될 수 있다. 외부 기기(400)는 보안키와 관련된 요청 신호를 관리 서버(200)에 전송하고, 그 결과를 관리 서버(200)로부터 수신할 수 있다. 여기서, 외부 기기(400)는 사용자 단말, 은행 서버, 공공 기관에 의해 운영되는 서버, 전자 상거래 서비스를 제공하는 서버 등 다양할 수 있다. The
도 2는 도 1에 도시된 하드웨어 보안 모듈(100)을 나타내는 블록도이다. 도 2를 참조하면, 하드웨어 보안 모듈(100)은, 관리 서버(200)과 통신하는 제1 통신부(110), 보안키 등을 생성하는 키 처리기(120) 및 보안키를 데이터에 적용하는 데이터 처리기(130)를 포함할 수 있다. FIG. 2 is a block diagram illustrating the
키 처리기(120)는 제1 통신부(110)를 통해 관리 서버(200)로부터 보안키 생성 요청 신호를 수신받아 보안키를 생성할 수 있다. 상기한 보안키 생성 요청 신호는 보안키의 소유자 정보, 보안키의 종류, 보안키와 관련된 데이터의 종류 등의 정보가 포함될 수 있다. 상기한 보안키는 보안키 생성 요청 신호에 기초하여 난수발생기(RNG)를 통하여 생성되며 다수의 보안키가 생성될 수 있다. 보안키는 다양한 방식으로 생성 가능하다. 예를 들어, 소인수분해 암호 방식 시스템이나 타원곡선 암호 시스템에 의해 보안키 생성이 가능하다. 여기서 보안키는 인증용 키, 암호화용 키, 복호화용 키 등일 수 있으며, 개인키, 공개키 등일 수 있다. The
키 처리기(120)는 생성된 보안키를 키 블랍(blob: binary large object)으로 변환시키거나, 제1 통신부(110)를 통해 수신된 키 블랍을 보안키로 변환시킬 수도 있다. 키 블랍 생성시, 키 처리기(120)는 보안키에 특정 데이터를 부가할 수 있다. 이외에도 키 처리기(120)는 하드웨어 보안 모듈(100)에 기저장된 마스터키를 기초로 유도키를 생성할 수도 있고, 유도키를 이용하여 후술하는 키 스토어 파일을 인증하기 위한 인증값을 생성할 수도 있다. The
데이터 처리기(130)는 관리 서버(200)의 요청에 따라 보안키를 이용하여 데이터를 암호 또는 복호화하거나, 보안키를 이용하여 데이터에 서명한 서명 데이터를 생성할 수 있다. 데이터 처리기(130)는 SEED, ARIA, RSA, DES, MD5, DSS, SHA 등과 같은 다양한 암/복호화 알고리즘 등이 사용될 수 있다.The
상기와 같은 구성에 의해 하드웨어 보안 모듈(100)은 내부에 자체적으로 보안키를 생성하고 이를 바탕으로 데이터를 암/복호화할 수 있다. 상기한 하드웨어 보안 모듈(100)은 어떠한 방법으로도 내부에서 생성된 보안키를 추출할 수 없고, 만일 물리적인 방법으로 데이터를 추출하고자 한다면 자체적으로 데이터를 소멸시키는 등의 안전장치가 하드웨어 보안 모듈(100)에 더 포함될 수 있다. With the above configuration, the
도 3은 도 1에 도시된 관리 서버(200)는 나타내는 블록도이다. 도 3에 도시된 바와 같이, 관리 서버(200)는 하드웨어 보안 모듈(100) 및 외부 기기(400)과 통신하는 제2 통신부(210), 외부 기기(400)의 요청에 따라 하드웨어 보안 모듈(100)에 보안키 생성을 요청하거나, 하드웨어 보안 모듈(100)로부터 수신된 보안키에 대응하는 키 블랍을 포함하는 키 스토어 파일 등을 생성하는 파일 처리기(220) 및 키 스토어 파일을 저장하는 저장부(230)를 포함할 수 있다. 3 is a block diagram illustrating the
다음은 관리 서버(200)가 키 스토어 파일을 생성하고 이용하는 방법에 대해 구체적으로 설명한다. Hereinafter, a method for the
도 4는 일 실시예에 따른 관리 시스템(10)에서 키 스토어 파일을 생성하는 방법을 설명하는 흐름도이다. 4 is a flowchart illustrating a method of generating a key store file in the
관리 서버(200)가 외부기기로부터 보안키 생성을 요청받으면(S410), 관리 서버(200)는 하드웨어 보안 모듈(100)에 보안키 생성을 요청한다(S415). 보안키 생성 요청에 따라 하드웨어 관리 서버(200)는 보안키를 생성하고, 상기한 보안키에 대응하는 키 블랍을 생성하며, 키 블랍을 관리 서버(200)에 전송할 수 있다(S420). 상기한 보안키 생성 요청 신호에는 보안키의 소유자 정보, 보안키의 종류, 보안키와 관련된 데이터의 종류 등의 정보가 포함될 수 있다. 보안키는 인증용 키, 암호화용 키, 복호화용 키 등일 수 있으며, 개인키, 공개키 등일 수 있다. 상기한 키 블랍은 보안키 이외의 데이터가 더 부가될 수 있다. When the
또한, 관리 서버(200)의 파일 처리기(220)은 키 블랍을 포함하는 키 스토어 파일의 일부를 생성한다(S430). 상기한 키 스토어 파일은 보안키의 소유자 정보를 포함하는 헤드 영역, 키 블랍을 포함하는 바디 영역 및 인증값을 포함하는 보호 영역을 포함할 수 있다. In addition, the
헤드 영역에 포함된 소유자 정보는 외부 기기(400)로부터 수신된 정보일 수 있다. 외부 기기(400)로부터 수신된 보안키 생성 요청 신호에는 소유자 정보가 포함될 수 있다. 또는 관리 서버(200)는 외부 기기(400)(예를 들어, 사용자 단말)에 소유자 정보를 요청하는 신호를 전송하고, 외부 기기(400)로부터 소유자 정보를 수신할 수 있다. 상기한 소유자 정보는 보안키를 소유할 소유자를 식별하는 정보로서, 소유자가 설정한 비밀번호, 생체 정보, 핸드폰 번호, 이메일 주소, CI, 주민등록 번호 등일 수 있다.The owner information included in the head area may be information received from the
헤드 영역에는 키 스토어 파일에 대한 버전 정보, 키 스토어 파일이 마지막으로 업데이트된 일시(날짜 및 시간)에 대한 정보, 하드웨어 관리 서버(200)에서 생성된 보안키의 개수에 대한 정보 중 적어도 하나를 더 포함할 수 있다. In the head area, at least one of version information on the key store file, information on the date and time (date and time) when the key store file was last updated, and information on the number of security keys generated by the
바디 영역에는 키 블랍이 포함될 수 있다. 이외에도 바디 영역에는 키 알리아스(Alias) 를 더 포함될 수 있다. 키 알리아스는 보안키를 식별하기 위한 정보로서, 관리 서버는 임의의 값으로 키 알리아스를 생성할 수 도 있고, 키 블랍을 기초로 생성할 수 있다. 상기한 키 알리아스는 각 키 블랍에 대한 유일한 값일 수 있다. 생성된 키 알리아스는 키 스토어 파일의 바디 영역에 포함시킬 수 있다. The body region may include a key blob. In addition, the body region may further include a key alias. The key alias is information for identifying the security key, and the management server may generate the key alias with an arbitrary value or may generate it based on the key blob. The above key alias may be a unique value for each key blob. The generated key alias can be included in the body area of the keystore file.
또한, 바디 영역에는 키 블랍을 해시 함수로 암호화한 키 블랍의 해시값을 더 포함할 수 있다. 파일 처리기(220)는 키 블랍과 소유자 정보를 해시 함수로 암호화하여 키 블랍의 해시값을 생성할 수 있다. In addition, the body region may further include a hash value of the key blob obtained by encrypting the key blob with a hash function. The
관리 서버(200)의 파일 처리기(220)는 외부 기기(400)로부터 수신된 정보 및 하드웨어 보안 모듈(100)로부터 수신된 정보를 이용하여 키 스토어 파일의 헤드 영역 및 바디 영역을 생성할 수 있다. The
관리 서버(200)의 파일 처리기(220)은 제2 통신부(210)을 통해 키 스토어 파일의 변조 여부를 확인하기 위한 인증값을 하드웨어 보안 모듈에 요청하고(S435), 하드웨어 보안 모듈로부터 상기한 인증값을 수신할 수 있다(S440). 인증값 요청시 관리 서버(200)는 키 스토어 파일의 헤드 영역에 포함된 정보, 키 스토어 파일의 바디 영역에 포함된 정보를 하드웨어 보안 모듈(100)에 제공할 수 있다. The
인증값 생성을 요청받은 하드웨어 보안 모듈(100)의 키 처리기(120)는 소유자 정보 및 하드웨어 보안 모듈(100)에 기저장된 마스터키를 이용하여 유도키를 생성하고, 키 스토어 파일의 헤드 영역에 포함된 정보, 키 스토어 파일의 바디 영역에 포함된 정보 및 상기한 유도키를 이용하여 인증값을 생성할 수 있다. 예를 들어, 키 처리기(120)는 유도키 생성시 암호 알고리즘을 이용할 수 있고, HMAC 알고리즘을 인증값을 생성할 수 있으나, 이에 한정되지 않는다. 키 처리기(120)는 인증값 생성을 위한 다른 알고리즘을 적용할 수 있음도 물론이다. 하드웨어 보안 모듈(100)은 생성된 인증값을 관리 서버(200)에 전송함으로써 관리 서버(200)는 인증값을 획득할 수 있다. The
그리고, 파일 처리기(220)는 키 스토어 파일의 보호 영역에 상기한 인증값을 포함시킴으로써 키 스토어 파일을 완성할 수 있다(S450). 파일 처리기(220)는 키 스토어 파일의 완성시 키 스토어 파일의 헤드 영역의 최종 업데이트 일시를 업데이트할 수 있다. Then, the
도 5는 일 실시예에 따른 키 스토어 파일의 형식을 나타내는 참조도면이다. 도 5에 도시된 바와 같이, 키 스토어 파일은 헤드 영역(510), 바디 영역(520) 및 보호 영역(530)을 포함할 수 있다. 헤드 영역(510)은 키 스토어 파일에 대한 버전 정보, 키 스토어 파일이 최종 업데이트된 일시에 대한 정보, 소유자 정보, 키의 개수에 대한 정보 중 적어도 하나를 포함할 수 있다. 버전 정보, 키의 개수에 대한 정보는 숫자로 표시될 수 있고, 소유자 정보는 비트 스트링으로 표시될 수 있다. 5 is a reference diagram illustrating a format of a key store file according to an embodiment. As shown in FIG. 5 , the key store file may include a head region 510 , a body region 520 , and a protection region 530 . The head area 510 may include at least one of version information on the key store file, information on the last updated date of the key store file, owner information, and information on the number of keys. Version information and information on the number of keys may be displayed as a number, and owner information may be displayed as a bit string.
바디 영역(520)에는 보안키에 대응하는 구체적인 정보가 포함될 수 있다. 보안키 당 키 알리아스, 키 블랍의 해시값 및 키 블랍이 저장될 수 있다. 하드웨어 보안 모듈(100)이 하나의 소유자에 대해 복수 개의 보안키를 생성한 경우, 바디 영역에는 각 보안키에 대응하는 키 블랍, 키 알리아스, 키 블랍의 해시값이 각각 포함될 수 있다. 즉, 하나의 소유자에 대해 보안키가 복수 개라 할지라도 관리 서버(200)는 하나의 키 스토어 파일을 생성하는 바, 키 스토어 파일의 관리가 편리해진다. The body region 520 may include specific information corresponding to the security key. A key alias per security key, a hash value of a key blob, and a key blob may be stored. When the
그리고, 보호 영역(530)에는 하드웨어 보안 모듈이 생성한 인증값이 포함될 수 있다. In addition, the protection area 530 may include an authentication value generated by the hardware security module.
또한, 파일 처리기(220)는 키 스토어 파일에 매칭할 키 스토어 파일의 명칭을 생성할 수 있다(S460). 관리 서버(200)는 키 스토어 파일의 개수가 증가하더라도 키 스토어 파일의 명칭이 중복되지 않도록 명칭을 부여할 수 있다. 예를 들어, 파일 처리기(220)는 보안키의 소유자 정보로부터 유도된 값, 키 스토어 파일이 최초 생성된 일시를 포함하여 키 스토어 파일의 명칭을 생성할 수 있다. 예를 들어, 파일 처리기(220)는 보안키의 소유자 정보에 대한 해시값을 16진수의 문자열로 표현하고, 키 스토어 파일의 최초 생성된 연도, 달, 일자, 시간, 분 및 초를 문자열로 표현함으로써 키 스토어 파일의 명칭을 생성할 수 있다. 보안키의 소유자 정보는 키 소유자의 휴대폰 번호, 이메일 주소, CI 또는 주민등록 번호로서 소유자를 식별할 수 있는 정보일 수 있다. 도 6은 일 실시예에 따른 키 스토어 파일의 명칭의 예를 나타내는 참조도면이다. 도 6에 도시된 바와 같이, 키 스토어 파일의 앞단은 소유자 정보에 대한 해시값을 16진수의 문자열로 표현되고, 중간단은 키 스토어 파일의 최초 생성된 연도, 달, 일자, 시간, 분 및 초로 표현되며, 후단은 키 스토어 파일의 확장자 명으로 표현될 수 있다. Also, the
뿐만 아니라, 파일 처리기(220)는 키 스토어 파일 및 키 스토어 파일의 명칭과 매칭할 키 스토어 파일의 히스토리도 생성할 수 있다(S470). 파일 처리기(220)는 키 스토어 파일을 생성, 삭제, 또는 변경할 때마다 키 스토어 파일의 히스토리를 생성 또는 업데이트할 수 있다. 파일 처리기(220)는 히스토리의 일련 번호, 즉, 히스토리가 생성될 때마다 업데이트되는 번호, 키 스토어 파일의 명칭, 키 스토어 파일을 이용한 일시(접근 일시), 키 스토어 파일을 이용한 형태(예를 들어, 키 스토어 파일의 생성, 삭제, 키 블랍 추가, 키 블랍 삭제, 키 블랍 이용 등등), 이용된 키 블랍에 대응하는 키 알라이스, 키 스토어 파일의 인증값, 히스토리 업데이트하기 직전의 키 스토어 파일의 히스토리에 대한 해시값, 히스토리 업데이트하기 직후의 키 스토어 파일의 히스토리에 대한 해시값, 키 스토어 파일의 히스토리를 생성한 일시 중 적어도 하나를 포함할 수 있다. 상기한 키 스토어 파일의 히스토리는 키 스토어 파일의 접근에 대한 감사 목적으로 이용될 수 있다. In addition, the
파일 처리기(220)는 키 스토어 파일, 키 스토어 파일의 명칭 및 키 스토어 파일의 히스토리를 보안키를 생성한 하드웨어 보안 모듈(100)이 아닌 다른 데이터베이스에 저장할 수 있다(S475, S480). 예를 들어, 파일 처리기(220)는 키 스토어 파일을 관리 서버(200)의 저장부(230)에 저장하고(S475), 키 스토어 파일의 명칭 및 키 스토어 파일의 히스토리, 키 스토어 파일의 디렉토리 정보를 서로 매칭시켜 데이터베이스(300)에 저장할 수 있다(S480). 상기한 디렉토리 정보는 키 스토어 파일이 저장된 저장부(230)의 디렉토리 정보일 수 있다. The
파일 처리기(220)는 키 스토어 파일의 명칭에 포함된 소유자 정보로부터 유도된 값을 2 바이트 단위로 배타적 논리합하고, 배타적 논리합한 값으로 그룹핑하여 키 스토어 파일의 명칭을 저장하고, 상기한 명칭에 대응하는 키 스토어 파일 및 키 스토어 파일의 히스토리를 매칭시켜 저장할 수 있다. 키 스토어 파일의 명칭을 그룹핑하여 저장함으로써 데이터베이스를 관리하는데 용이할 수 있다. The
또는 파일 처리기(220)는 보안키의 용도별, 상기한 보안키와 관련된 서비스 별로, 키 스토어 파일의 명칭을 그룹핑하고, 그룹핑된 키 스토어 파일의 명칭을 다시 배타적 논리합한 값으로 그룹핑하여 저장할 수 도 있다. 상기와 같이, 복수 개의 단계로 키 스토어 파일의 명칭을 저장하기 때문에 키 스토어 파일의 명칭 독출이 용이해진다. Alternatively, the
도 4에서는 키 스토어 파일은 관리 서버(200)의 저장부(230)에 저장하고 키 스토어 파일의 명칭을 데이터베이스(300)에 저장한다고 하였다. 상기와 같이 키 스토어 파일과 키 스토어 파일의 명칭을 서로 다른 저장장치에 저장하는 이유는 보다 안전하게 보안하기 위함이고 이에 한정되지 않는다. 키 스토어 파일도 데이터베이스(300)에 저장할 수 있음은 물론이다. 또는 키 스토어 파일의 명칭 및 키 스토어 파일도 관리 서버(200)에 포함된 저장부 또는 데이터베이스에 저장할 수 있음도 물론이다. 즉, 키 스토어 파일의 명칭 및 키 스토어 파일은 하드웨어 보안 모듈이 아닌 다른 장치에 저장한다. In FIG. 4 , the key store file is stored in the
도 4에서 보안키 생성에 대해 설명하였으나, 이에 한정되지 않는다. 관리 서버(200)는 외부 기기(400) 로부터 보안키 주입 요청을 수신할 수도 있다. 상기한 보안키 주입 요청에는 보안키가 포함될 수 있다. 관리 서버(200)는 상기한 보안키 주입 요청을 하드웨어 보안 모듈(100)에 전송하고, 하드웨어 보안 모듈(100)로부터 보안키에 대응하는 키 블랍을 수신할 수 있다. 이후 관리 서버(400)는 주입된 보안키에 대한 키 스토어 파일, 키 스토어 파일의 명칭 및 키 스토어 파일의 히스토리를 생성할 수 있다. 상기한 키 스토어 파일, 키 스토어 파일의 명칭 및 키 스토어 파일의 히스토리를 생성은 S430 내지 S480 과 동일한 바 구체적인 설명은 생략한다. Although the generation of the security key has been described in FIG. 4 , the present invention is not limited thereto. The
도 7은 일 실시예에 따른 관리 시스템(10)이 보안키를 이용하는 방법을 설명하는 흐름도이다. 7 is a flowchart illustrating a method of using a security key by the
도 7을 참조하면, 외부 기기(400)로부터 제1 키 이용 요청을 수신하면(S710), 관리 서버(200)는 소유자 정보를 기초로 데이터베이스(300)으로부터 키 스토어 파일의 명칭을 독출하고(S720), 키 스토어 파일의 명칭을 이용하여 키 스토어 파일을 획득할 수 있다(S730). 외부기기(400)가 관리 서버(200)에 전송하는 키 이용 요청을 제1 키 이용 요청이라고 하고, 관리 서버(200)가 하드웨어 보안 모듈(100)에 전송하는 키 이용 요청 신호를 제2 키 이용 요청이라고 칭할 수 있다. Referring to FIG. 7 , upon receiving the first key use request from the external device 400 ( S710 ), the
구체적으로, 외부 기기(400)로부터 보안키의 소유자 정보 및 보안키가 적용될 데이터를 포함하는 제1 키 이용 요청을 수신되면, 관리 서버(200)의 파일 처리기(220)는 제2 통신부(210)을 통해 데이터베이스(300)로부터 보안키의 소유자 정보를 포함하는 키 스토어 파일의 명칭을 독출할 수 있다. 데이터베이스(300)에 키 스토어 파일의 명칭뿐만 아니라 키 스토어 파일의 히스토리 및 키 스토어 파일의 디렉토리도 함께 매칭되어 저장된 경우, 파일 처리기(220)는 제2 통신부(210)을 통해 키 스토어 파일의 명칭에 매칭된 키 스토어 파일의 히스토리 및 키 스토어 파일의 디렉토리를 데이터베이스(300)로부터 독출함으로써 획득할 수 있다.Specifically, when a first key use request including owner information of the security key and data to which the security key is to be applied is received from the
그리고, 파일 처리기(220)는 상기한 디렉토리 정보를 이용하여 저장부(230)으로부터 키 스토어 파일의 명칭에 매칭된 키 스토어 파일을 획득할 수 있다. In addition, the
관리 서버(200)는 하드웨어 보안 모듈(100)을 이용하여 키 스토어 파일을 검증할 수 있다(S740). 예를 들어, 관리 서버(200)의 파일 처리기(220)은 제2 통신부(210)을 통해 키 스토어 파일의 헤드 영역에 포함된 정보, 키 스토어 파일의 바디 영역에 포함된 정보를 하드웨어 보안 모듈(100)에 제공하면서 인증값을 요청할 수 있다. 하드웨어 보안 모듈(100)은 키 스토어 파일의 헤드 영역에 포함된 소유자 정보와 및 하드웨어 보안 모듈(100)에 기저장된 마스터키를 이용하여 유도키를 생성하고, 키 스토어 파일의 헤드 영역에 포함된 정보, 키 스토어 파일의 바디 영역에 포함된 정보 및 상기한 유도키를 이용하여 인증값을 생성할 수 있다. 하드웨어 보안 모듈(100)은 생성된 상기한 인증값을 관리 서버(200)에 전송하고, 관리 서버(200)는 하드웨어 보안 모듈(100)로부터 수신된 인증값과 키 스토어 파일에 포함된 인증값을 비교함으로써 키 스토어 파일을 검증할 수 있다. The
뿐만 아니라, 관리 서버(200)는 보안키의 소유자를 검증할 수 있다(S760). 예를 들어, 관리 서버(200)는 외부 기기(400)(예를 들어, 사용자 단말)에 소유자 확인을 위한 요청 신호를 송신하고, 외부 기기(400)로부터 그 결과를 수신할 수 있다. 그리고, 관리 서버(200)는 키 스토어 파일에 포함된 소유자 정보와 외부 기기(400)로부터 수신된 결과를 비교함으로써 소유자를 검증할 수 있다. 이외에도 임시키를 이용하여 소유자을 검증할 수도 있다. In addition, the
도 7에서는 키 스토어 파일을 검증한 후 소유자를 검증한다고 하였으나, 이에 한정되지 않는다. 소유자를 검증한 후 키 스토어 파일을 검증할 수도 있다. 관리 서버(200)는 키 스토어 파일과 소유자의 검증을 동시에 할 수도 있다. In FIG. 7 , the owner is verified after verifying the key store file, but the present invention is not limited thereto. After verifying the owner, you can also verify the keystore file. The
키 스토어 파일 및 소유자 검증이 완료된 후, 관리 서버(200)의 파일 처리기(220)는 키 스토어 파일에 포함된 키 블랍을 획득할 수 있다(S760). 키 블랍을 획득할 때에도 파일 처리기(220)는 키 블랍의 해시값을 이용하여 키 블랍을 검증할 수 있다. 예를 들어, 파일 처리기(220)는 키 스토어 파일의 헤드 영역에 포함된 보안키의 소유자 정보와 키 스토어 파이의 바디 영역에 포함된 키 블랍을 이용하여 키 블랍의 해시값을 생성한 후, 생성한 키 블랍 해시값과 키 스토어 파일에 포함된 키 블랍 해시값을 비교함으로써 키 블랍을 검증할 수 있다. 생성된 키 블랍 해시값과 기저장된 키 블랍 해시값이 동일한 경우, 검증이 완료된 것으로 한다. After verification of the key store file and the owner is completed, the
한편, 키 스토어 파일에 다수의 키 블랍의 포함된 경우, 관리 서버(200)는 사용하고자 하는 키 알리아스와 일치하는 키 블랍만을 획득할 수 있다. On the other hand, when a plurality of key blobs are included in the key store file, the
이후 관리 서버(200)는 제2 키 이용 요청 신호를 하드웨어 보안 모듈(100)에 전송하고(S770), 하드웨어 보안 모듈(100)보안키가 적용된 데이터를 수신할 수 있다(S780). 키 이용 요청 신호에는 보안키가 적용될 대상인 데이터 및 키 블랍이 포함될 수 있다. 하드웨어 보안 모듈(100)의 키 처리기(120)는 키 블랍을 보안키로 변환시켜 데이터 처리기(130)에 전달할 수 있다. 그리고, 하드웨어 보안 모듈(100)의 데이터 처리기(130)는 변환된 보안키를 데이터에 적용하고, 그 결과를 관리 서버(200)에 전송할 수 있다. 상기한 데이터가 인증을 위한 데이터인 경우, 데이터 처리기(130)는 보안키로 데이터에 서명한 서명 데이터를 생성하고, 서명 데이터를 관리 서버(200)에 전송할 수 있다. 관리 서버(200)로부터 수신된 데이터가 암호화 또는 복호화를 위한 데이터인 경우, 데이터 처리기(130)는 키 블랍으로부터 변환된 보안키로 데이터를 암호화 또는 복호화하여 암호화한 데이터 또는 복호화한 데이터를 생성할 수 있고, 그 결과를 관리 서버(200)에 전송할 수 있다. Thereafter, the
상기와 같이, 보안키에 대응하는 별도의 키 스토어 파일을 생성하여 하드웨어 보안 모듈(100)이 아닌 다른 기기에 저장함으로써 하드웨어 보안 모듈(100)의 용량을 무제한으로 확장할 수 있다. As described above, by generating a separate key store file corresponding to the security key and storing it in a device other than the
또한, 하나의 키 스토어 파일에는 복수 개의 보안키에 대응하는 복수 개의 키 블랍이 포함될 수 있는 바, 소유자별 보안키의 관리가 용이해진다. 또한, 복수 개의 관리 서버가 존재하더라도 하드웨어 보안 모듈 이외의 장치에 키 스토어 파일이 저장되어 있기 때문에 키 블랍을 공유할 수 있다. In addition, since one key store file may include a plurality of key blobs corresponding to a plurality of security keys, management of security keys for each owner is facilitated. In addition, even if a plurality of management servers exist, the key blob can be shared because the key store file is stored in a device other than the hardware security module.
도 8은 다른 실시예에 따른 관리 시스템에서 키 스토어 파일을 생성하는 방법을 설명하는 흐름도이다. 외부기기로부터 보안키 생성을 요청받으면(S810), 관리 서버(200)의 파일 처리기(220)는 보안키 생성을 요청한 소유자 정보와 동일한 소유자 정보를 포함하는 키 스토어 파일이 기저장되어 있는지 여부를 판단한다(S820). 예를 들어, 관리 서버(200)는 키 생성 요청 신호에 포함된 보안키의 소유자 정보와 동일한 소유자 정보를 포함하는 키 스토어 파일의 명칭이 기저장되어 있는지 여부를 판단한다. 키 스토어 파일이 명칭이 기저장되어 있으면 동일한 소유자의 키 스토어 파일이 기저장되어 있는 것으로 결정할 수 있다. 8 is a flowchart illustrating a method of generating a key store file in a management system according to another embodiment. When receiving a request to generate a security key from an external device (S810), the
키 스토어 파일이 기저장되어 있으면(S820-YES) 관리 서버(200)의 파일 처리기(220)는 생성을 요청받은 보안키가 기생성되었는지 여부를 결정할 수 있다(S830). If the key store file is pre-stored (S820-YES), the
보안키가 기생성된 것으로 판단되면(S830-YES), 관리 서버(200)의 파일 처리기(220)은 보안키 생성이 필요 없음을 알라는 신호를 외부 기기(400)에 전송할 수 있다(S840). If it is determined that the security key is pre-generated (S830-YES), the
보안키가 기생성되지 않은 것으로 판단되면(S840-NO), 관리 서버(200)는 하드웨어 보안 모듈(100)에 제3 키 생성을 요청한다(S845). 키 스토어 파일이 기저장되었다고 함은 이전에 특정 타입의 보안키가 기생성되었음을 의미하는 바, 기생성된 보안키를 제1 키라고 칭하고, 도 8에서 생성 요청을 하는 보안키를 제3 키라고 칭할 수 있다. If it is determined that the security key has not been previously generated (S840-NO), the
제3 키 생성 요청에 따라 하드웨어 관리 서버(200)는 제3 키를 생성하고, 상기한 제3 키에 대응하는 제3 키 블랍을 생성하며, 제3 키 블랍을 관리 서버(200)에 전송할 수 있다(S850). 보안키는 암호용 키일 수도 있고, 인증용 키일 수도 있다. In response to the third key generation request, the
또한, 관리 서버(200)는 키 스토어 파일에 제3 키 블랍을 추가함으로써 키 스토어 파일을 업데이트할 수 있다(S860)Also, the
상기한 키 스토어 파일은 보안키의 소유자 정보를 포함하는 헤드 영역, 키 블랍을 포함하는 바디 영역 및 인증값을 포함하는 보호 영역을 포함할 수 있다. The key store file may include a head area including owner information of the security key, a body area including a key blob, and a protection area including an authentication value.
제3 키 블랍을 추가할 때, 파일 처리기(220)는 키 스토어 파일의 헤드 영역, 바디 영역 및 보호 영역을 업데이트할 수 있다. 예를 들어, 파일 처리기(220)는 헤드 영역의 키 스토어 파일이 마지막으로 업데이트된 일시(날짜 및 시간)에 대한 정보, 하드웨어 관리 서버(200)에서 생성된 보안키의 개수에 대한 정보 등을 업데이트할 수 있다. When adding the third key blob, the
파일 처리기(220)는 바디 영역에 제3 키에 대응하는 제3 키 알리아스(Alias), 제3 키 블랍 및 제3 키 블랍을 해시 함수로 암호화한 제3 키 블랍의 해시값을 추가할 수 있다. The
또한, 관리 서버(200)의 파일 처리기(220)는 키 스토어 파일의 변조 여부를 확인하기 위한 인증값을 하드웨어 모듈을 이용하여 업데이트할 수 있다. 구체적으로, 관리 서버(200)는 하드웨어 보안 모듈(100)에 인증값을 요청할 수 있다. 인증값 요청시 관리서 서버는 키 스토어 파일의 헤드 영역에 포함된 정보, 키 스토어 파일의 바디 영역에 포함된 정보를 하드웨어 보안 모듈(100)에 제공할 수 있다. In addition, the
하드웨어 보안 모듈(100)의 키 처리기(120)는 키 소유자 정보 및 하드웨어 보안 모듈(100)에 기저장된 마스터키를 이용하여 유도키를 생성하고, 키 스토어 파일의 헤드 영역에 포함된 정보, 키 스토어 파일의 바디 영역에 포함된 정보 및 유도키를 이용하여 인증값을 생성할 수 있다. 예를 들어, 키 처리기(120)는 ENC 알고리즘을 이용하여 유도키를 생성할 수 있고, HMAC 알고리즘을 이용하여 인증값을 생성할 수 있으나, 이에 한정되지 않는다. 키 처리기(120)는 인증값 생성을 위한 다른 알고리즘을 적용할 수 있음도 물론이다. 하드웨어어 보안 모듈은 생성된 인증값을 관리 서버(200)에 전송함으로서 관리 서버(200)는 인증값을 획득할 수 있다. The
그리고, 파일 처리기(220)는 키 스토어 파일의 보호 영역에 상기한 인증값을 포함시킴으로써, 관리 서버(200)는 키 스토어 파일의 업데이트를 완성할 수 있다. 파일 처리기(220)는 키 스토어 파일의 완성시 키 스토어 파일의 헤드 영역의 최종 업데이트 일시를 업데이트할 수 있다. Then, the
뿐만 아니라 파일 처리기(220)는 키 스토어 파일의 히스토리도 업데이트할 수 있다(S870). 파일 처리기(220)는 키 스토어 파일을 생성, 삭제, 또는 변경할 때마다 키 스토어 파일의 히스토리를 생성 또는 업데이트할 수 있다. 파일 처리기(220)는 히스토리의 일련 번호, 즉, 히스토리가 생성될 때마다 업데이트되는 번호, 키 스토어 파일의 명칭, 키 스토어 파일을 이용한 일시(접근 일시), 키 스토어 파일을 이용한 형태(예를 들어, 키 스토어 파일의 생성, 삭제, 키 블랍 추가, 키 블랍 삭제, 키 블랍 이용 등등), 키 알라이스, 키 스토어 파일의 인증값, 히스토리 생성하기 직전의 키 스토어 파일의 히스토리에 대한 해시값, 히스토리 생성이후에 생성된 키 스토어 파일의 히스토리에 대한 해시값, 키 스토어 파일이 히스토리를 생성한 일시 중 적어도 하나를 포함할 수 있다. 상기한 키 스토어 파일의 히스토리는 키 스토어 파일의 접근에 대한 감사 목적으로 이용될 수 있다. In addition, the
파일 처리기(220)는 업데이트된 키 스토어 파일을 저장부(230)에 저장하고(S875), 업데이트된 키 스토어 파일의 히스토리를 데이터베이스(300)에 저장할 수 있다(S880). The
도 9은 일 실시예에 따른 복수 개의 보안키 관련 정보를 포함하는 키 스토어 파일을 나타내는 참조도면이다. 도 9를 참조하면, 키 스토어 파일의 바디 영역에는 제1 보안키에 대응하는 제1 키 알리아스, 제1 키 블랍의 해시값 및 제1 키 블랍과, 제2 보안키에 대응하는 제2 키 알리아스, 제2 키 블랍의 해시값 및 제2 키 블랍이 포함되어 있다. 그리하여, 하나의 키 스토어 파일에 복수 개의 보안키에 대한 정보를 포함시킬 수 있어, 보안키의 관리가 용이해진다. 9 is a reference diagram illustrating a key store file including a plurality of security key related information according to an embodiment. 9 , in the body region of the keystore file, a first key alias corresponding to the first security key, a hash value of the first key blob, and a first key blob, and a second key alias corresponding to the second security key , a hash value of the second key blob, and the second key blob are included. Thus, it is possible to include information on a plurality of security keys in one key store file, thereby facilitating management of the security keys.
관리 서버(200)는 하나의 하드웨어 보안 모듈(100)을 이용하여 키 스토어 파일을 생성하는 방법에 대해 설명하였다. 그러나, 이에 한정되지 않는다. 복수 개의 관리 서버(200)가 하나의 하드웨어 보안 모듈(100)을 이용하여 키 스토어 파일을 생성 및 이용할 수도 있다. The
예를 들어, 관리 서버가 제1 및 제2 관리 서버를 포함하는 경우, 키 스토어 파일이 제1 관리 서버에 저장되어 있고, 제2 관리 서버가 외부 기기로부터 보안키 생성 또는 보안키 이용을 요청받으면, 제2 관리 서버는 데이터베이스로부터 독출된 키 스토어 파일의 명칭으로부터 키 스토어 파일이 제1 관리 서버에 저장되었음을 확인할 수 있다. 그리고, 제2 관리 서버는 제1 관리 서버로부터 키 스토어 파일을 수신받거나 제1 관리 서버에 보안키 생성 또는 보안키 이용을 요청함으로써 런타임 보안키 동기화를 가능하게 할 수 있다. For example, when the management server includes the first and second management servers, the key store file is stored in the first management server, and the second management server receives a request to generate a security key or use the security key from an external device. , the second management server may confirm that the key store file is stored in the first management server from the name of the key store file read from the database. In addition, the second management server may enable runtime security key synchronization by receiving a key store file from the first management server or requesting the first management server to generate a security key or use the security key.
지금까지 기술한 보안키와 관련된 키 스토어 파일을 생성하는 보안키 관리 서버(200)는 하나의 하드웨어 장치로 구현될 필요는 없다. 기능에 따라 분리된 서버들의 조합일 수도 있다. 예를 들어, 보안키 관리 서버(200)는 키 스토어 파일을 생성하는 서버, 키 스토어 파일을 인증하는 서버 등의 조합일 수도 있다. 한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.The security
이제까지 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, the preferred embodiments have been mainly looked at. Those of ordinary skill in the art to which the present invention pertains will understand that the present invention can be implemented in modified forms without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments are to be considered in an illustrative rather than a restrictive sense. The scope of the present invention is indicated in the claims rather than the foregoing description, and all differences within the scope equivalent thereto should be construed as being included in the present invention.
Claims (14)
상기 소유자 정보 및 키 블랍을 포함하는 인증값 요청 신호를 상기 하드웨어 보안 모듈에 전송하고, 상기 하드웨어 보안 모듈로부터 상기 인증값 요청 신호에 대응하는 인증값을 수신하는 단계;
상기 키 블랍 및 상기 인증값을 포함하는 키 스토어 파일을 생성하는 단계;
상기 소유자 정보를 기초로 상기 키 스토어 파일의 명칭을 생성하는 단계; 및
상기 키 스토어 파일 및 상기 키 스토어 파일의 명칭을 상기 하드웨어 보안 모듈이 아닌 다른 장치에 저장하는 단계;를 포함하고,
상기 스토어 파일을 생성하는 단계는,
상기 다른 장치에 상기 소유자 정보와 동일한 소유자 정보를 포함하는 키 스토어 파일이 저장되어 있는지 확인하는 단계; 및
상기 동일한 소유자 정보를 포함하는 키 스토어 파일이 기저장되어 있으면, 상기 키 블랍 및 상기 인증값을 기저장된 키 스토어 파일에 업데이트하는 단계;를 포함하는 보안키 관리 방법. When receiving a key generation request signal including owner information to own the security key from an external device, transmitting the key generation request signal to a hardware security module, and receiving a key blob corresponding to the security key from the hardware security module step;
transmitting an authentication value request signal including the owner information and the key blob to the hardware security module, and receiving an authentication value corresponding to the authentication value request signal from the hardware security module;
generating a key store file including the key blob and the authentication value;
generating a name of the key store file based on the owner information; and
Storing the key store file and the names of the key store files in a device other than the hardware security module;
The step of creating the store file is,
checking whether a key store file including the same owner information as the owner information is stored in the other device; and
and updating the key blob and the authentication value to the previously stored key store file if a key store file including the same owner information is previously stored.
상기 키 스토어 파일은,
상기 소유자 정보를 포함한 헤드 영역, 상기 키 블랍을 포함하는 바디 영역 및 상기 인증값을 포함하는 보호 영역을 포함하는 보안키 관리 방법. The method of claim 1,
The keystore file is
A security key management method comprising: a head area including the owner information; a body area including the key blob; and a protection area including the authentication value.
상기 인증값은,
상기 하드웨어 보안 모듈이 상기 소유자 정보 및 기저장된 마스터키를 이용하여 유도키를 생성하고, 상기 헤드 영역에 포함된 정보, 상기 바디 영역에 포함된 정보 및 상기 유도키를 이용하여 생성된 값인 보안키 관리 방법. 3. The method of claim 2,
The authentication value is
The hardware security module generates a derivation key using the owner information and the pre-stored master key, and manages the security key that is the information included in the head region, information included in the body region, and a value generated using the derivation key. method.
상기 키 스토어 파일의 명칭은
상기 소유자 정보로부터 유도된 문자열 및 상기 키 스토어 파일이 생성된 일시에 대한 정보를 포함하는 보안키 관리 방법. The method of claim 1,
The name of the keystore file is
A security key management method comprising information on a character string derived from the owner information and a date and time when the key store file was created.
상기 키 스토어 파일의 명칭은
2바이트 단위의 배타적 논리합한 값으로 그룹핑하여 저장되는 보안키 관리 방법.The method of claim 1,
The name of the keystore file is
A security key management method that is grouped and stored as an exclusive OR value of 2-byte units.
소유자 정보 및 보안키를 이용할 데이터를 포함하는 제1 키 이용 요청 신호를 상기 외부기기로부터 수신받으면, 상기 제1 키 이용 요청 신호에 포함된 소유자 정보에 대응하는 키 스토어 파일의 명칭을 상기 다른 장치로부터 독출하는 단계;
상기 키 스토어 파일의 명칭에 매칭된 키 스토어 파일을 획득하는 단계;
상기 키 스토어 파일에 포함된 상기 인증값을 이용하여 상기 키 스토어 파일을 검증하는 단계
상기 인증값에 대한 검증이 완료되면, 상기 키 스토어 파일로부터 키 블랍을 획득하는 단계;
상기 키 블랍 및 상기 데이터를 포함하는 제2 키 이용 요청 신호를 상기 하드웨어 보안 모듈에 전송하고, 상기 하드웨어 보안 모듈로부터 상기 보안키가 적용된 데이터를 수신하는 단계;를 포함하는 보안키 관리 방법. The method of claim 1,
When a first key use request signal including owner information and data to use the security key is received from the external device, the name of the key store file corresponding to the owner information included in the first key use request signal is retrieved from the other device. reading;
obtaining a key store file matching the name of the key store file;
verifying the key store file by using the authentication value included in the key store file;
obtaining a key blob from the key store file when verification of the authentication value is completed;
and transmitting a second key use request signal including the key blob and the data to the hardware security module, and receiving data to which the security key is applied from the hardware security module.
상기 통신부를 통해 상기 외부 기기로부터 보안키를 소유할 소유자 정보를 포함하는 키 생성 요청 신호를 수신하면, 상기 키 생성 요청 신호를 하드웨어 보안 모듈에 요청하고 상기 하드웨어 보안 모듈로부터 상기 보안키에 대응하는 키 블랍을 획득하며,
상기 통신부를 통해 상기 소유자 정보 및 상기 키 블랍을 포함하는 인증값 요청 신호를 상기 하드웨어 보안 모듈에 요청하고, 상기 하드웨어 보안 모듈로부터 상기 인증값 요청 신호에 대응하는 인증값을 획득하고
상기 키 블랍 및 상기 인증값을 포함하는 키 스토어 파일을 생성하고, 상기 소유자 정보를 기초로 상기 키 스토어 파일의 명칭을 생성하며, 상기 키 스토어 파일 및 상기 키 스토어 파일의 명칭을 상기 하드웨어 보안 모듈이 아닌 다른 장치에 저장하는 파일 처리기;를 포함하고,
상기 파일 처리기는,
상기 다른 장치에 상기 소유자 정보와 동일한 소유자 정보를 포함하는 키 스토어 파일이 저장되어 있는지 확인하고, 상기 동일한 소유자 정보를 포함하는 키 스토어 파일이 기저장되어 있으면 상기 키 블랍 및 상기 인증값을 기저장된 키 스토어 파일에 업데이트하는 보안키 관리 서버. a communication unit communicating with an external device and a hardware security module; and
When receiving a key generation request signal including owner information to own the security key from the external device through the communication unit, the key generation request signal is requested to the hardware security module and a key corresponding to the security key from the hardware security module get blobs,
requesting an authentication value request signal including the owner information and the key blob to the hardware security module through the communication unit, and obtaining an authentication value corresponding to the authentication value request signal from the hardware security module;
generates a key store file including the key blob and the authentication value, generates a name of the key store file based on the owner information, and sets the name of the key store file and the key store file by the hardware security module a file handler that stores it on a device other than
The file handler,
It is checked whether a key store file including the same owner information as the owner information is stored in the other device, and if a key store file including the same owner information is pre-stored, the key blob and the authentication value are stored in a pre-stored key Security key management server that updates the store file.
상기 키 스토어 파일은,
상기 소유자 정보를 포함한 헤드 영역, 상기 키 블랍을 포함하는 바디 영역 및 상기 인증값을 포함하는 보호 영역을 포함하는 보안키 관리 서버.9. The method of claim 8,
The keystore file is
A security key management server comprising a head area including the owner information, a body area including the key blob, and a protection area including the authentication value.
상기 인증값은,
상기 하드웨어 보안 모듈이 상기 소유자 정보 및 기저장된 마스터키를 이용하여 유도키를 생성하고, 상기 헤드 영역에 포함된 정보, 상기 바디 영역에 포함된 정보 및 상기 유도키를 이용하여 생성된 값인 보안키 관리 서버.10. The method of claim 9,
The authentication value is
The hardware security module generates a derivation key using the owner information and the pre-stored master key, and manages the security key that is the information included in the head region, information included in the body region, and a value generated using the derivation key. server.
상기 파일 처리기는,
상기 소유자 정보로부터 유도된 문자열 및 상기 키 스토어 파일이 생성된 일시에 대한 정보를 포함하도록 상기 키 스토어 파일의 명칭을 생성하는 보안키 관리 서버.9. The method of claim 8,
The file handler,
A security key management server for generating a name of the key store file to include a character string derived from the owner information and information on a date and time when the key store file was created.
상기 파일 처리기는,
상기 키 스토어 파일의 명칭이 2바이트 단위의 배타적 논리합한 값으로 그룹핑되어 저장되도록 하는 보안키 관리 서버.9. The method of claim 8,
The file handler,
A security key management server for grouping and storing the names of the key store files as exclusive OR values of 2-byte units.
상기 파일 처리기는,
상기 통신부를 통해 상기 소유자 정보 및 상기 보안키를 이용할 데이터를 포함하는 제1 키 이용 요청 신호를 상기 외부기기로부터 수신받으면, 제1 키 이용 요청 신호에 포함된 소유자 정보에 대응하는 상기 키 스토어 파일을 획득하고, 상기 키 스토어 파일로부터 상기 키 블랍을 획득하며,
상기 통신부를 통해 상기 키 블랍 및 상기 데이터를 포함하는 제2 키 이용 요청 신호를 상기 하드웨어 보안 모듈에 전송하여 상기 하드웨어 보안 모듈로부터 상기 보안키가 적용된 데이터를 수신하는 보안키 관리 서버.9. The method of claim 8,
The file handler,
When a first key use request signal including the owner information and data to use the security key is received from the external device through the communication unit, the key store file corresponding to the owner information included in the first key use request signal is received. obtain, obtain the key blob from the key store file,
A security key management server that transmits a second key use request signal including the key blob and the data to the hardware security module through the communication unit to receive the data to which the security key is applied from the hardware security module.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190094543A KR102289478B1 (en) | 2019-08-02 | 2019-08-02 | System and method for providing electronic signature service |
PCT/KR2020/010188 WO2021025403A2 (en) | 2019-08-02 | 2020-08-03 | Security key management method and security key management server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190094543A KR102289478B1 (en) | 2019-08-02 | 2019-08-02 | System and method for providing electronic signature service |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210015534A KR20210015534A (en) | 2021-02-10 |
KR102289478B1 true KR102289478B1 (en) | 2021-08-13 |
Family
ID=74503451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190094543A KR102289478B1 (en) | 2019-08-02 | 2019-08-02 | System and method for providing electronic signature service |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102289478B1 (en) |
WO (1) | WO2021025403A2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021252369A1 (en) | 2020-06-07 | 2021-12-16 | Comestaag Llc | Selectively treating plant items |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009516961A (en) * | 2005-11-18 | 2009-04-23 | サンディスク コーポレーション | Method and system for managing key and / or rights objects |
KR100990973B1 (en) * | 2007-11-14 | 2010-11-19 | 한국전력공사 | Apparatus of processing data using raw area of removable storage device |
KR101190060B1 (en) * | 2008-12-12 | 2012-10-11 | 한국전자통신연구원 | Apparatus for managing Identity data and method thereof |
KR102124413B1 (en) * | 2013-12-30 | 2020-06-19 | 삼성에스디에스 주식회사 | System and method for identity based key management |
US10754960B2 (en) * | 2017-11-17 | 2020-08-25 | Intel Corporation | Support for increased number of concurrent keys within multi-key cryptographic engine |
-
2019
- 2019-08-02 KR KR1020190094543A patent/KR102289478B1/en active IP Right Grant
-
2020
- 2020-08-03 WO PCT/KR2020/010188 patent/WO2021025403A2/en active Application Filing
Non-Patent Citations (1)
Title |
---|
정혜라, 소재우. "패스워드 매니저의 패스워드 저장소 보안 취약점 분석." 정보보호학회논문지 28(5), pp.1047-1057(2018.) 1부.* |
Also Published As
Publication number | Publication date |
---|---|
KR20210015534A (en) | 2021-02-10 |
WO2021025403A3 (en) | 2021-04-01 |
WO2021025403A2 (en) | 2021-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220191012A1 (en) | Methods For Splitting and Recovering Key, Program Product, Storage Medium, and System | |
KR101999188B1 (en) | Secure personal devices using elliptic curve cryptography for secret sharing | |
US10680808B2 (en) | 1:N biometric authentication, encryption, signature system | |
EP3701668B1 (en) | Methods for recording and sharing a digital identity of a user using distributed ledgers | |
KR101888903B1 (en) | Methods and apparatus for migrating keys | |
KR102322118B1 (en) | Private key securing methods of decentralizedly storying keys in owner's device and/or blockchain nodes | |
US9043610B2 (en) | Systems and methods for data security | |
KR20210066867A (en) | An encrypted asset encryption key portion that allows assembly of an asset encryption key using a subset of the encrypted asset encryption key portion. | |
US8369521B2 (en) | Smart card based encryption key and password generation and management | |
KR101897715B1 (en) | System for non-password secure biometric digital signagure | |
US11606206B2 (en) | Recovery key for unlocking a data storage device | |
US11334677B2 (en) | Multi-role unlocking of a data storage device | |
EP3711256B1 (en) | Cryptographic key generation for logically sharded data stores | |
US11899803B2 (en) | System for implementing enhanced file encryption technique | |
CN111242611A (en) | Method and system for recovering digital wallet key | |
TWI476629B (en) | Data security and security systems and methods | |
CN113383335B (en) | Secure logging of data storage device events | |
TW201223225A (en) | Method for personal identity authentication utilizing a personal cryptographic device | |
KR102289478B1 (en) | System and method for providing electronic signature service | |
WO2017091133A1 (en) | Method and system for secure storage of information | |
JP4350961B2 (en) | Data processing device | |
KR102357698B1 (en) | Private key management method using partial hash value | |
CN115221535A (en) | Managing sensitive information using trusted platform modules | |
JP2020191552A (en) | Share distribution system and method | |
TWI844338B (en) | Passwordless authentication method and computer program product |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |