KR20180097060A - Method and system for generating key using biometrics - Google Patents
Method and system for generating key using biometrics Download PDFInfo
- Publication number
- KR20180097060A KR20180097060A KR1020170023679A KR20170023679A KR20180097060A KR 20180097060 A KR20180097060 A KR 20180097060A KR 1020170023679 A KR1020170023679 A KR 1020170023679A KR 20170023679 A KR20170023679 A KR 20170023679A KR 20180097060 A KR20180097060 A KR 20180097060A
- Authority
- KR
- South Korea
- Prior art keywords
- key
- information
- bit vectors
- bit
- user
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
-
- G06K9/00067—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/12—Fingerprints or palmprints
- G06V40/1347—Preprocessing; Feature extraction
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Collating Specific Patterns (AREA)
Abstract
Description
아래의 설명은 바이오매트릭스를 이용하여 키를 생성하는 방법 및 시스템, 그리고 컴퓨터와 결합되어 키 생성 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램에 관한 것이다.The following description relates to a method and system for generating a key using a biomatrix and a computer program stored on a computer readable recording medium for causing a computer to execute a key generation method in combination with the computer.
바이오매트릭스는 생체 인식 기술에 관한 것으로, 망막, 지문, 음성, 얼굴 등 개인의 신체적 특성이나 혹은 개인의 행동적 특성을 추출하여 신원을 확인하거나 범죄자를 가려내는 등 개개인을 비교 또는 확인하는 기술이다. 예를 들어, 한국공개특허 제10-2004-0090473호는 정전 용량 검출 장치 및 그 구동 방법, 지문센서 및 바이오매트릭스 인증 장치에 관한 것으로, 바이오매트릭스 정보로서 지문 정보를 이용하여 본인 인증을 행하는 기술에 대해 개시하고 있다.Biometrics refers to biometrics technology, which is a technology that compares or verifies individuals by identifying individual physical characteristics such as retina, fingerprint, voice, and face, or by identifying behavioral characteristics of individuals to identify their identity or identify criminals. For example, Korean Patent Laid-Open No. 10-2004-0090473 relates to a capacitance detection apparatus, a driving method thereof, a fingerprint sensor, and a biomatrix authentication apparatus, and more particularly, to a technology for performing authentication by using fingerprint information as biomatrix information .
이러한 바이오매트릭스의 정확도가 높아짐에 따라, 바이오매트릭스의 사용 범위가 점차 확장되고 있으나, 이러한 바이오매트릭스 정보로부터는 키를 추출할 수 없다는 한계가 있다. 바이오매트릭스 정보는 사용자의 지문이나 얼굴 등을 인식할 때마다 추출되는 정보가 매번 조금씩 달라진다. 예를 들어, 사용자의 얼굴을 촬영할 때의 조명의 밝기나 촬영 각도 등에 따라, 또는 지문을 인식하는 순간의 사용자 손가락의 압력 등에 따라 조금씩 다른 정보가 추출된다. 반면, 암호화나 전자 서명에 사용되는 키는 항상 정확한 값을 가져야 한다. 따라서, 바이오매트릭스는 입력된 정보와 기 저장된 정보간의 비교를 통한 개인의 인증 또는 비교의 분야로만 사용될 수 있을 뿐, 인증, 암호화 및/또는 전자 서명을 위한 키 생성을 위해 사용할 수 없다는 문제점이 있다.As the accuracy of the biomatrix increases, the use range of the biomatrix gradually expands. However, there is a limitation in extracting the key from the biomatrix information. The information extracted every time the user recognizes the fingerprint or the face of the user is slightly changed every time. For example, slightly different information is extracted depending on the brightness of the illumination, the shooting angle, or the pressure of the user's finger at the moment of recognizing the fingerprint when photographing the user's face. On the other hand, the key used for encryption or digital signatures should always have the correct value. Therefore, the biomatrix can be used only in the field of individual authentication or comparison through comparison between input information and pre-stored information, and can not be used for authentication, encryption, and / or key generation for digital signatures.
바이오매트릭스 정보로부터 인증, 암호화 및/또는 전자 서명 등에 활용 가능한 키를 추출할 수 있는 키 생성 방법 및 시스템을 제공한다.A key generation method and system capable of extracting a key usable for authentication, encryption, and / or digital signature from biometrics information.
바이오매트릭스 정보를 이용하여 전자 서명을 처리할 수 있는 인증 방법 및 시스템을 제공한다.An authentication method and system capable of processing digital signatures using biomatrix information are provided.
지문과 같은 바이오매트릭스 정보에 대해서도 내적 전달을 위한 투영 행렬 기반의 인증 방법을 적용할 수 있도록 지문의 특징점을 이용하여 지문 정보를 이미지화할 수 있는 지문 정보 변경 방법 및 시스템을 제공한다.The present invention also provides a fingerprint information changing method and system capable of imaging fingerprint information using minutiae points of a fingerprint so as to apply a projection matrix-based authentication method for internal transfer to biometric information such as a fingerprint.
N(상기 N은 2 이상의 자연수) 명의 사용자들의 바이오매트릭스 정보를 이용하여 N 개의 분류기들이 동일한 사용자의 바이오매트릭스 정보에 대해 서로 다른 하나의 비트가 '1'로 설정된 N 개의 N 비트 벡터들을 출력하도록 상기 N 개의 분류기들을 학습하는 단계; 상기 N 명의 사용자들 중 제1 사용자의 제1 바이오매트릭스 정보를 상기 학습된 N 개의 분류기들에 입력하여 상기 제1 바이오매트릭스 정보에 대응하는 N 개의 제1 N 비트 벡터들을 계산하는 단계; 상기 계산된 N 개의 제1 N 비트 벡터들 각각을 인코딩하는 단계; 상기 계산된 N 개의 제1 N 비트 벡터들 또는 상기 인코딩된 N 개의 제1 N 비트 벡터들 각각에 대한 ECC(Error Correcting Code)를 생성하는 단계; 및 상기 인코딩된 N 개의 제1 N 비트 벡터들을 파라미터로 갖는 해쉬함수의 출력값을 제1 키로서 생성하는 단계를 포함하는 것을 특징으로 하는 키 생성 방법을 제공한다.N bi-vectors of N users (N is a natural number of 2 or more) users, and N classifiers output N N-bit vectors of which one bit is set to '1' Learning N classifiers; Calculating N first N bit vectors corresponding to the first biomatrix information by inputting first biomatrix information of a first user among the N users to the learned N classifiers; Encoding each of the calculated N first N bit vectors; Generating an ECC (Error Correcting Code) for each of the calculated N first N bit vectors or the encoded N first N bit vectors; And generating, as a first key, an output value of the hash function having the N first N bits of the encoded vector as a parameter.
일측에 따르면, 상기 키 생성 방법은, 상기 제1 사용자의 제2 바이오매트릭스 정보를 상기 학습된 N 개의 분류기들에 입력하여 상기 제2 바이오매트릭스 정보에 대응하는 N 개의 제2 N 비트 벡터들을 계산하는 단계; 상기 계산된 N 개의 제2 N 비트 벡터들을 상기 ECC를 이용하여 보정한 후 인코딩하거나 또는 상기 계산된 N 개의 제2 N 비트 벡터들을 인코딩한 후 상기 ECC를 이용하여 보정하는 단계; 및 상기 보정 및 인코딩된 N 개의 제2 N 비트 벡터들을 파라미터로 갖는 해쉬함수의 출력값을 제2 키로서 생성하는 단계를 더 포함하는 것을 특징으로 할 수 있다.According to one aspect, the key generation method includes inputting second biometrics information of the first user to the learned N classifiers to calculate N second N bit vectors corresponding to the second biometrics information step; Correcting the calculated N second N bit vectors using the ECC and encoding or encoding the calculated N second N bit vectors and using the ECC; And generating an output value of the hash function having the corrected and encoded N second N bit vectors as a parameter as a second key.
다른 측면에 따르면, 상기 제1 키 및 상기 제2 키는 동일한 값을 갖는 것을 특징으로 할 수 있다.According to another aspect, the first key and the second key have the same value.
또 다른 측면에 따르면, 상기 키 생성 방법은, 상기 제1 키로 데이터를 암호화하는 단계; 및 상기 제2 키로 상기 암호화된 데이터를 복호화하는 단계를 더 포함하고, 상기 제1 키는 저장되지 않는 것을 특징으로 할 수 있다.According to another aspect of the present invention, the key generation method further comprises: encrypting the data with the first key; And decrypting the encrypted data with the second key, wherein the first key is not stored.
또 다른 측면에 따르면, 상기 서로 다른 하나의 비트가 '1'로 설정된 N 개의 N 비트 벡터들은 상기 N 비트에서 상기 '1'로 설정된 서로 다른 하나의 비트를 제외한 나머지 비트들이 '0'으로 설정되는 것을 특징으로 할 수 있다.According to another aspect of the present invention, the N N bit vectors in which the different one bit is set to '1' are set to '0', except for one different bit set to '1' . ≪ / RTI >
상기 키 생성 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체를 제공한다.And a program for causing the computer to execute the key generation method is recorded.
컴퓨터와 결합되어 상술한 키 생성 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.There is provided a computer program stored in a computer-readable recording medium for causing a computer to execute the above-described key generating method in combination with a computer.
키 생성 방법을 실행하기 위해 컴퓨터 장치로 구현되는 키 생성 시스템에 있어서, 컴퓨터에서 판독 가능한 명령을 저장하는 메모리; 및 상기 메모리에 저장된 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, N(상기 N은 2 이상의 자연수) 명의 사용자들의 바이오매트릭스 정보를 이용하여 N 개의 분류기들이 동일한 사용자의 바이오매트릭스 정보에 대해 서로 다른 하나의 비트가 '1'로 설정된 N 개의 N 비트 벡터들을 출력하도록 상기 N 개의 분류기들을 학습하는 제1 프로세스; 상기 N 명의 사용자들 중 제1 사용자의 제1 바이오매트릭스 정보를 상기 학습된 N 개의 분류기들에 입력하여 상기 제1 바이오매트릭스 정보에 대응하는 N 개의 제1 N 비트 벡터들을 계산하는 제2 프로세스; 상기 계산된 N 개의 제1 N 비트 벡터들 각각을 인코딩하는 제3 프로세스; 상기 계산된 N 개의 제1 N 비트 벡터들 또는 상기 인코딩된 N 개의 제1 N 비트 벡터들 각각에 대한 ECC(Error Correcting Code)를 생성하는 제4 프로세스; 및 상기 인코딩된 N 개의 제1 N 비트 벡터들을 파라미터로 갖는 해쉬함수의 출력값을 제1 키로서 생성하는 제5 프로세스를 처리하는 것을 특징으로 하는 키 생성 시스템을 제공한다.A key generation system embodied in a computer device for performing a key generation method, comprising: a memory for storing computer readable instructions; And at least one processor configured to execute instructions stored in the memory, wherein the at least one processor uses N biomatrix information of N users (where N is a natural number of 2 or more) A first process of learning the N classifiers to output N N bit vectors with one bit set to '1' different from the biomatrix information of the biomatrix information; A second process of inputting first biometric information of a first user among the N users to the learned N classifiers to calculate N first N bit vectors corresponding to the first biometric information; A third process of encoding each of the calculated N first N bit vectors; A fourth process of generating an Error Correcting Code (ECC) for each of the calculated N first N bit vectors or the encoded N first N bit vectors; And a fifth process of generating, as a first key, an output value of the hash function having the N first N bit vectors encoded as parameters.
바이오매트릭스 정보로부터 인증, 암호화 및/또는 전자 서명 등에 활용 가능한 키를 추출할 수 있다. 또한, 바이오매트릭스 정보를 이용하여 전자 서명을 처리할 수 있다. 또한, 지문과 같은 바이오매트릭스 정보에 대해서도 내적 전달을 위한 투영 행렬 기반의 인증 방법을 적용할 수 있도록 지문의 특징점을 이용하여 지문 정보를 이미지화할 수 있다.From the biomatrix information, a key that can be used for authentication, encryption, and / or digital signature can be extracted. In addition, the electronic signature can be processed using the biomatrix information. In addition, the fingerprint information can be imaged using the minutiae points of the fingerprint so as to apply the projection matrix-based authentication method for internal transfer to the biometric information such as the fingerprint.
도 1은 본 발명의 일실시예에 있어서, 바이오매트릭스 정보를 이용하여 기계 학습을 위한 분류기를 학습시키는 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 있어서, 학습된 분류기들의 출력 예를 도시한 도면이다.
도 3은 본 발명의 일실시예에 있어서, 키 생성 과정의 예를 도시한 도면이다.
도 4는 본 발명의 일실시예에 있어서, 데이터를 암호화하는 컴퓨터 장치의 예를 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 키 생성 시스템의 내부 구성을 설명하기 위한 블록도이다.
도 6은 본 발명의 일실시예에 있어서, 키 생성 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이다.
도 7은 본 발명의 일실시예에 따른 키 생성 시스템이 수행할 수 있는 키 생성 방법의 예를 도시한 흐름도이다.
도 8은 본 발명의 일실시예에 따른 키 생성 시스템이 수행할 수 있는 키 생성 방법의 다른 예를 도시한 흐름도이다.
도 9는 본 발명의 일실시예에 있어서, 키 생성 시스템의 프로세서가 포함할 수 있는 구성요소의 다른 예를 도시한 블록도이다.
도 10은 본 발명의 일실시예에 따른 키 생성 시스템이 수행할 수 있는 키 생성 방법의 또 다른 예를 도시한 흐름도이다.
도 11은 종래기술에 있어서, 얼굴 인증 시스템을 설명하기 위한 도면이다.
도 12 및 도 13은 본 발명의 일실시예에 있어서, 내적의 전달 과정의 예를 설명하기 위한 도면들이다.
도 14는 본 발명의 일실시예에 있어서, 인증 시스템의 내부 구성을 설명하기 위한 블록도이다.
도 15는 본 발명의 일실시예에 있어서, 신뢰할 수 있는 제3자를 위한 컴퓨터 장치의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이다.
도 16은 본 발명의 일실시예에 따른 신뢰할 수 있는 제3자를 위한 컴퓨터 장치가 수행할 수 있는 인증 방법의 예를 도시한 흐름도이다.
도 17은 본 발명의 일실시예에 있어서, 사용자의 단말이 수행할 수 있는 인증 방법의 예를 도시한 흐름도이다.
도 18은 본 발명의 일실시예에 있어서, 검증자의 단말이 수행할 수 있는 인증 방법의 예를 도시한 흐름도이다.
도 19는 본 발명의 일실시예에 있어서, 지문의 특징점(minutiae points) 표현하는 이미지의 예를 도시한 도면이다.
도 20은 본 발명의 일실시예에 있어서, 지문의 특징점(minutiae points) 표현하는 이미지의 다른 예를 도시한 도면이다.
도 21은 본 발명의 일실시예에 있어서, 지문 정보 변경 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이다.
도 22는 본 발명의 일실시예에 따른 지문 정보 변경 시스템이 수행할 수 있는 지문 정보 변경 방법의 예를 도시한 흐름도이다.1 is a diagram illustrating an example of learning a classifier for machine learning using biometric information in an embodiment of the present invention.
2 is a diagram illustrating an example of output of learned classifiers in an embodiment of the present invention.
3 is a diagram illustrating an example of a key generation process in an embodiment of the present invention.
4 is a diagram showing an example of a computer apparatus for encrypting data in an embodiment of the present invention.
5 is a block diagram for explaining an internal configuration of a key generation system according to an embodiment of the present invention.
Figure 6 is a block diagram illustrating an example of components that may be included in a processor of a key generation system, in accordance with an embodiment of the present invention.
7 is a flowchart illustrating an example of a key generation method that can be performed by the key generation system according to an embodiment of the present invention.
8 is a flowchart illustrating another example of a key generation method that can be performed by the key generation system according to an embodiment of the present invention.
9 is a block diagram illustrating another example of components that a processor of a key generation system may include, in an embodiment of the present invention.
FIG. 10 is a flowchart illustrating another example of a key generation method that can be performed by the key generation system according to an embodiment of the present invention.
11 is a view for explaining a face authentication system in the prior art.
12 and 13 are diagrams for explaining an example of a transfer process of an inner product in an embodiment of the present invention.
14 is a block diagram for explaining an internal configuration of an authentication system according to an embodiment of the present invention.
15 is a block diagram illustrating an example of components that may be included in a processor of a computing device for a trusted third party in one embodiment of the invention.
16 is a flowchart illustrating an example of an authentication method that can be performed by a computer apparatus for a trusted third party according to an embodiment of the present invention.
17 is a flowchart illustrating an example of an authentication method that can be performed by a user terminal in an embodiment of the present invention.
18 is a flowchart showing an example of an authentication method that can be performed by a terminal of a verifier in an embodiment of the present invention.
19 is a diagram showing an example of an image representing minutiae points of a fingerprint in an embodiment of the present invention.
20 is a view showing another example of an image representing minutiae points of a fingerprint in an embodiment of the present invention.
Figure 21 is a block diagram illustrating an example of components that a processor of a fingerprint information modification system may include, in an embodiment of the invention.
22 is a flowchart illustrating an example of a fingerprint information changing method that can be performed by the fingerprint information changing system according to an embodiment of the present invention.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.
본 발명에 따른 실시예들은 바이오매트릭스 정보를 이용하여 키를 추출하는 키 생성 방법 및 시스템에 관한 것으로, 키 생성 시스템은 물리적인 컴퓨터 장치로 구현될 수 있으며, 키 생성 방법은 이러한 키 생성 시스템에 의해 수행될 수 있다. 예를 들어, 컴퓨터 장치에는 본 발명의 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 기록매체로부터 컴퓨터 프로그램의 코드에 따른 명령을 읽어 들여 처리함으로써 키 생성 방법을 수행할 수 있다.The embodiments of the present invention relate to a key generation method and system for extracting a key using biometrics information, wherein the key generation system can be implemented as a physical computer device, . For example, a computer program may be installed and operated in accordance with an embodiment of the present invention, and the computer apparatus may read and process a command according to the code of the computer program from a computer-readable recording medium having the computer program stored thereon A key generation method can be performed.
도 1은 본 발명의 일실시예에 있어서, 바이오매트릭스 정보를 이용하여 기계 학습을 위한 분류기를 학습시키는 예를 도시한 도면이다. 도 1은 N 명의 사용자들(110) 각각의 바이오매트릭스 정보가 N 개의 분류기들(120)로 입력되는 예를 나타내고 있다. 이때, N 개의 분류기들(120) 각각은 N 명의 사용자들(110)을 위한 N 비트 벡터를 출력할 수 있으며, 동일한 사용자의 바이오매트릭스 정보에 대해 서로 다른 비트가 '1'로 설정되도록 학습될 수 있다. 예를 들어, 사용자 1의 바이오매트릭스 정보에 대해, 분류기 1은 첫 번째 비트가, 분류기 2는 세 번째 비트가, 분류기 3은 N 번째 비트가 각각 '1'로 설정되고, 나머지 비트들은 '0'으로 설정되도록 N 개의 분류기들(120) 각각이 학습될 수 있다. 이때, 특정 사용자에 대해 어느 분류기가 어느 비트를 '1'로 설정하는가에 대한 정보는 외부로 알려지지 않도록 N 개의 분류기들(120)이 블랙박스 처리될 수 있으며, 이러한 N 개의 분류기들(120) 각각이 특정 사용자에 대해 어느 비트를 '1'로 설정하는가에 대한 정보를 이용하여 키를 추출하는데 이용할 수 있다. 분류기를 학습하는 구체적인 기술에 대해서는 기존의 잘 알려진 기계학습 기술들(일례로, 딥 러닝(deep learning))을 통해 당업자가 용이하게 이해할 수 있을 것이다. 또한, N은 2 이상의 자연수일 수 있으나, 실시예에 따라 N이 2의 m(m은 자연수) 승이 되도록 설정될 수도 있다.1 is a diagram illustrating an example of learning a classifier for machine learning using biometric information in an embodiment of the present invention. FIG. 1 shows an example in which biomatrix information of each of
도 2는 본 발명의 일실시예에 있어서, 학습된 분류기들의 출력 예를 도시한 도면이다. 도 2는 발명의 이해를 돕기 위해 N이 4로 설정되어, 4 개의 분류기들(210)이 네 명의 사용자들의 바이오매트릭스 정보들을 통해 학습된 경우의 예를 설명한다. 이때, 네 명의 사용자들 중 사용자 1의 바이오매트릭스 정보(220)가 4 개의 분류기들(210)로 각각 입력됨에 따라, 4 개의 분류기들(210)이 학습된 바와 같이 각각 서로 다른 비트를 '1'로 설정한 4 비트 벡터들을 출력한 예를 나타내고 있다. 다시 말해, 사용자 1의 바이오매트릭스 정보(220)에 대해 분류기 1은 첫 번째 비트를, 분류기 2는 네 번째 비트를, 분류기 3은 두 번째 비트를, 분류기 4는 세 번째 비트를 각각 '1'로 설정하도록 학습되었음을 알 수 있다. 이미 설명한 바와 같이, 어느 분류기가 어느 사용자에 대해 어느 비트를 '1'로 설정하는가에 대해서는 키 생성 시스템의 외부로 알려지지 않도록 처리될 수 있다.2 is a diagram illustrating an example of output of learned classifiers in an embodiment of the present invention. FIG. 2 illustrates an example in which N is set to 4 and four
이와 같이, 본 발명의 실시예들에서는 학습된 N 개의 분류기들(120)이 N 명의 사용자들(110) 중 특정 사용자의 바이오매트릭스 정보가 입력됨에 따라 각각 서로 다른 비트가 '1'로 설정된 N 개의 N 비트 벡터들을 출력할 수 있다.As described above, according to the embodiments of the present invention, when the learned N classifiers 120 input biometrics information of a specific user among
도 3은 본 발명의 일실시예에 있어서, 키 생성 과정의 예를 도시한 도면이다. 키 생성 시스템(300)은 입력된 사용자 a의 바이오매트릭스 정보(310)를 학습된 N개의 분류기들(320)에 입력시킴에 따라, N 개의 분류기들(320) 각각으로부터 N 비트 벡터를 얻을 수 있다. 이때, N 개의 분류기들(320)에서 출력된 N 개의 N 비트 벡터들은 {C1, C2, C3, …, CN}으로 표현될 수 있다. 여기서 Ci는 1≤ i ≤N일 때, i 번째 N 비트 벡터로서 i 번째 분류기에서 출력된 N 개의 비트들을 포함할 수 있다.3 is a diagram illustrating an example of a key generation process in an embodiment of the present invention. The
또한, 각각의 N 비트 벡터들은 인코딩 과정을 거칠 수 있다. 도 3은 N 개의 N 비트 벡터들 {C1, C2, C3, …, CN}이 키 생성 시스템(300)이 포함하는 인코딩 모듈(330)을 거쳐 인코딩된 N 개의 N 비트 벡터들 {ENCo(C1), ENCo(C2), ENCo(C3), …, ENCo(CN)}와 같이 표현됨을 나타내고 있다. 이때, N 비트 벡터들의 인코딩은 다양한 방법으로 이루어질 수 있다. 예를 들어, N 비트 벡터에서 '1'로 설정된 비트의 위치를 바이너리 수로 표현함으로써, N 비트 벡터의 인코딩이 이루어질 수 있다. N이 16이고, 세 번째 비트가 '1'로 설정된 N 비트 벡터는 인코딩을 거쳐 '0011'과 같은 이진수로 표현될 수 있다. N이 16이고 네 번째 비트가 '1'로 설정된 N 비트 벡터는 인코딩을 거쳐 '0100'과 같은 이진수로 표현될 수 있다. 다른 예로, 인코딩은 해쉬함수를 이용하여 이루어질 수도 있다. 보다 구체적인 예로 N 비트 벡터를 파라미터로 갖는 해쉬함수의 출력 중 하위 log N 비트가 인코딩 출력으로 이용될 수 있다. 이러한 인코딩 방식은 상술한 예시로 한정되지 않으며, 상술한 N 비트 벡터들을 특정 값으로 변환하기 위한 다양한 방법들 중 하나가 이용될 수 있다.In addition, each of the N bit vectors may be subjected to an encoding process. FIG. 3 is a block diagram of an embodiment of the present invention wherein N N bit vectors {C 1 , C 2 , C 3 , ... , C N } are encoded into N N-bit vectors {ENCo (C 1 ), ENCo (C 2 ), ENCo (C 3 ), ...) encoded through the
한편, 이미 설명한 바와 같이 바이오매트릭스에서는 새로운 바이오매트릭스 정보에 대한 N 개의 분류기들(120)의 출력값이 부정확할 가능성이 존재한다. 따라서, 본 발명의 실시예에서 키 생성 시스템(300)은 N 개의 N 비트 벡터들 {C1, C2, C3, …, CN}에 대한 ECC(Error Correcting Code)를 N개 생성하거나 또는 인코딩 과정을 거친 N 개의 N 비트 벡터들인 {ENCo(C1), ENCo(C2), ENCo(C3), …, ENCo(CN)}에 대한 N개의 ECC를 생성하여 관리하고, 추후 새로운 바이오매트릭스 정보에 대한 N 개의 분류기들(120)의 출력값을 보정하여 이용할 수 있다. 도 3에서는 ECC 생성 모듈(340)을 이용하여 인코딩된 N 개의 N 비트 벡터들에 대한 N 개의 ECC를 생성하는 실시예를 설명하고 있다.On the other hand, as described above, there is a possibility that the output value of the
이때, 키 생성 모듈(350)은 인코딩 과정을 거친 N 개의 N 비트 벡터들인 {ENCo(C1), ENCo(C2), ENCo(C3), …, ENCo(CN)}의 해쉬값을 계산함으로써 키를 생성될 수 있다. 다시 말해, 본 실시예에서 키 'key'는 해쉬함수를 H()라 할 때, H({ENCo(C1), ENCo(C2), ENCo(C3), …, ENCo(CN)})와 같이 표현될 수 있다.At this time, the key generation module 350 generates the N N bit vectors {ENCo (C 1 ), ENCo (C 2 ), ENCo (C 3 ),. By calculating the hash value of, ENCo (C N)} may be generated key. In other words, in this embodiment, the key 'key' is a function of H ({ENCo (C 1 ), ENCo (C 2 ), ENCo (C 3 ), ..., ENCo (C N ) }). ≪ / RTI >
도 4는 본 발명의 일실시예에 있어서, 데이터를 암호화하는 컴퓨터 장치의 예를 도시한 도면이다. 도 4의 컴퓨터 장치(400)에는 키 생성 시스템(300)이 구현될 수 있으며, 키 생성 시스템(300)이 생성한 키 'key'(410)를 이용하여 데이터 'data'(420)를 암호화할 수 있다. 암호화된 데이터는 ENCkey[data](430)와 같이 표현될 수 있다.4 is a diagram showing an example of a computer apparatus for encrypting data in an embodiment of the present invention. 4, the
이후, 키 'key'(410)는 컴퓨터 장치(400)나 키 생성 시스템(300)에 저장되지 않으며, 도 3을 통해 설명한 학습된 N 개의 분류기들(320)과 N개의 ECC이 키 생성 시스템(300)에 의해 관리될 수 있으며, 도 4에서 암호화된 데이터 ENCkey[data](430)가 컴퓨터 장치(400)에 저장 및 관리될 수 있다.The key 'key' 410 is not stored in the
이때, 사용자 a의 새로운 바이오매트릭스 정보가 입력되면, 키 생성 시스템(300)은 도 3과 유사한 방법을 통해 키 'key'(410)를 생성할 수 있다. 이때, 키 생성 시스템(300)은 사용자 a의 새로운 바이오매트릭스 정보를 학습된 N 개의 분류기들(320)에 입력하여 얻어지는 N 개의 N 비트 벡터들을 인코딩한 후에 인코딩된 N 개의 N 비트 벡터들을 키 생성 시스템(300)이 저장하고 있는 N 개의 ECC를 통해 보정함으로써 {ENCo(C1), ENCo(C2), ENCo(C3), …, ENCo(CN)}를 얻을 수 있다. 또한, 키 생성 시스템(300)은 얻어진 {ENCo(C1), ENCo(C2), ENCo(C3), …, ENCo(CN)}를 위에서 설명한 해쉬함수 H()의 파라미터로 입력함으로써 해쉬값으로서 키 'key'(410)를 생성할 수 있다.At this time, when the new biometric information of the user a is inputted, the
컴퓨터 장치(400)는 키 생성 시스템(300)이 제공하는 키 'key'(410)를 이용하여 암호화된 데이터 ENCkey[data](430)를 복호화함으로써 데이터 'data'(420)를 복원할 수 있게 된다.The
상술한 도 4에서는 키 생성 시스템(300)이 생성하는 키 'key'(410)를 데이터의 암호화 및 복호화에 활용하는 실시예를 설명하였으나, 본 발명의 실시예들을 통해 퍼지한(fuzzy)한 바이오매트릭스 정보를 이용하여 정확한 키를 추출하는 것이 가능해졌기 때문에 생성되는 키를 암호화 및 복호화를 위한 키뿐만 아니라, 인증 키나 전자 서명을 위한 키로 활용하는 것 역시 가능하다.4, the key 'key' 410 generated by the
도 5는 본 발명의 일실시예에 있어서, 키 생성 시스템의 내부 구성을 설명하기 위한 블록도이다. 본 발명의 실시예들에 따른 키 생성 시스템(500)은 적어도 하나의 물리적인 컴퓨터 장치를 통해 구현될 수 있으며, 도 5에 도시된 바와 같이 메모리(510), 프로세서(520), 통신 모듈(530) 그리고 입출력 인터페이스(540)를 포함할 수 있다. 메모리(510)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 비소멸성 대용량 기록장치는 메모리(510)와 분리되어 별도의 영구 저장 장치로서 포함될 수도 있다. 또한, 메모리(510)에는 운영체제와 적어도 하나의 프로그램 코드(일례로 본 발명의 실시예들에 따른 키 생성 방법을 수행하도록 키 생성 시스템(500)이 포함하는 기록매체에 저장되어 키 생성 시스템(500)을 제어하기 위한 컴퓨터 프로그램)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(510)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(530)을 통해 메모리(510)에 로딩될 수도 있다.5 is a block diagram for explaining an internal configuration of a key generation system according to an embodiment of the present invention. The
프로세서(520)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(510) 또는 통신 모듈(530)에 의해 프로세서(520)로 제공될 수 있다. 예를 들어 프로세서(520)는 메모리(510)에 로딩된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다. 보다 구체적인 예로, 프로세서(520)는 메모리(510)에 로딩된 컴퓨터 프로그램의 코드에 따른 명령을 순차적으로 실행하여 본 발명의 실시예에 따른 키 생성 방법을 수행할 수 있다.The
통신 모듈(530)은 실제 컴퓨터 네트워크를 통해 다른 물리적인 기기들과 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 키 생성 시스템(500)의 프로세서(520)가 처리하기 위한 얼굴 이미지와 패스워드는 컴퓨터 네트워크상의 다른 물리적인 기기로부터, 컴퓨터 네트워크와 통신 모듈(530)을 통해 키 생성 시스템(500)으로 수신되어 메모리(510)나 프로세서(520)로 전달될 수 있다. 역으로, 키 생성 시스템(500)이 수신된 얼굴 이미지와 패스워드에 대한 연산의 처리 결과가 통신 모듈(530)과 컴퓨터 네트워크를 통해 다른 물리적인 기기로 전송될 수도 있다.The
입출력 인터페이스(540)는 입출력 장치(550)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입출력 장치(550)에서 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이나 스피커와 같은 장치를 포함할 수 있다. 도 5에서 입출력 장치(550)는 키 생성 시스템(500)과 별도의 장치로 표현되었으나, 실시예에 따라 입출력 장치(550)가 키 생성 시스템(500)에 포함되도록 구현될 수도 있다.The input /
또한, 다른 실시예들에서 키 생성 시스템(500)은 도 5의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 키 생성 시스템(500)은 각종 물리적인 버튼이나 터치패널, 또는 광출력 장치 등의 다양한 구성요소들을 더 포함하도록 구현될 수 있음을 알 수 있다.Also, in other embodiments, the
도 6은 본 발명의 일실시예에 있어서, 키 생성 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이고, 도 7은 본 발명의 일실시예에 따른 키 생성 시스템이 수행할 수 있는 키 생성 방법의 예를 도시한 흐름도이다. 도 6은 앞서 설명한 키 생성 시스템(500)의 프로세서(520)가 포함할 수 있는 구성요소들로서 분류기 학습부(610), N 비트 벡터 계산부(620), 인코딩부(730), ECC 처리부(640) 및 키 생성부(650)를 나타내고 있다. 이러한 프로세서(520) 및 프로세서(520)의 구성요소들은 도 7의 키 생성 방법이 포함하는 단계들(710 내지 750)을 수행할 수 있다. 이때, 프로세서(520) 및 프로세서(520)의 구성요소들은 메모리(510)가 포함하는 운영체제의 코드 및/또는 적어도 하나의 컴퓨터 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(520)의 구성요소들은 키 생성 시스템(500)에 저장된 컴퓨터 프로그램의 코드가 제공하는 제어 명령에 따라 프로세서(520)에 의해 수행되는 프로세서(520)의 서로 다른 기능들(different functions)의 표현들일 수 있다. 이때, 프로세서(520)는 키 생성 시스템(500)의 제어와 관련된 명령이 로딩된 메모리(510)로부터 필요한 제어 명령을 읽어드릴 수 있으며, 읽어 들인 제어 명령에 따라 이후 설명될 단계들(710 내지 750)을 수행하도록 키 생성 시스템(500)을 제어할 수 있다.FIG. 6 is a block diagram illustrating an example of components that a processor of a key generation system may include in an embodiment of the present invention. FIG. 7 is a block diagram of a key generation system according to an exemplary embodiment of the present invention. Fig. 2 is a flowchart illustrating an example of a key generation method that can be performed. 6 is a block diagram of a
단계(710)에서 분류기 학습부(610)는 N(N은 2 이상의 자연수) 명의 사용자들의 바이오매트릭스 정보를 이용하여 N 개의 분류기들이 동일한 사용자의 바이오매트릭스 정보에 대해 서로 다른 하나의 비트가 '1'로 설정된 N 개의 N 비트 벡터들을 출력하도록 N 개의 분류기들을 학습할 수 있다. 다시 말해, N 명의 사용자들 중 제1 사용자의 제1 바이오매트릭스 정보를 입력하는 경우, N 개의 분류기들은 각각 N 비트 벡터를 출력할 수 있으며, 이때 N 개의 N 비트 벡터는 동일한 위치의 비트가 '1'로 설정되지 않을 수 있다. 이를 위해, 서로 다른 하나의 비트가 '1'로 설정된 N 개의 N 비트 벡터들은 N 비트에서 '1'로 설정된 서로 다른 하나의 비트를 제외한 나머지 비트들이 '0'으로 설정될 수 있다.In
단계(720)에서 N 비트 벡터 계산부(620)는 N 명의 사용자들 중 제1 사용자의 제1 바이오매트릭스 정보를 학습된 N 개의 분류기들에 입력하여 제1 바이오매트릭스 정보에 대응하는 N 개의 제1 N 비트 벡터들을 계산할 수 있다. 이러한 단계(720)은 제1 사용자를 위한 키를 생성하기 위해 입력되는 제1 바이오매트릭스 정보를 단계(710)에서 학습된 N 개의 분류기들 각각에 입력하고, 학습된 N 개의 분류기들 각각이 제1 바이오매트릭스 정보에 대응하는 제1 N 비트 벡터를 출력하는 과정일 수 있다. In
단계(730)에서 인코딩부(730)는 계산된 N 개의 제1 N 비트 벡터들 각각을 인코딩할 수 있다. 인코딩은 앞서 설명한 바와 같이 제1 N 비트 벡터에서 '1'로 설정된 비트의 위치를 바이너리 수로 표현한 값을 계산하는 방식이나, 제1 N 비트 벡터를 파라미터로 갖는 해쉬함수의 출력 중 하위 log N 비트의 값을 계산하는 방식 등 다양한 방법을 통해 이루어질 수 있다.In
단계(740)에서 ECC 처리부(740)는 계산된 N 개의 제1 N 비트 벡터들 또는 인코딩된 N 개의 제1 N 비트 벡터들 각각에 대한 ECC(Error Correcting Code)를 생성할 수 있다. ECC 처리부(740)가 계산된 N 개의 제1 N 비트 벡터들 각각에 대한 ECC를 생성하는 경우, 단계(740)는 단계(730) 이전에 수행될 수도 있다.In
단계(750)에서 키 생성부(650)는 인코딩된 N 개의 제1 N 비트 벡터들을 파라미터로 갖는 해쉬함수의 출력값을 제1 키로서 생성할 수 있다. 생성된 키는 이미 설명한 바와 같이, 인증 키, 암복호화 키, 전자 서명을 위한 키 등으로 활용될 수 있다.In
도 8은 본 발명의 일실시예에 따른 키 생성 시스템이 수행할 수 있는 키 생성 방법의 다른 예를 도시한 흐름도이다. 도 8의 단계(810 내지 840)는 도 7의 단계(750) 이후에 수행될 수 있다.8 is a flowchart illustrating another example of a key generation method that can be performed by the key generation system according to an embodiment of the present invention.
단계(810)에서 N 비트 벡터 계산부(620)는 제1 사용자의 제2 바이오매트릭스 정보를 학습된 N 개의 분류기들에 입력하여 제2 바이오매트릭스 정보에 대응하는 N 개의 제2 N 비트 벡터들을 계산할 수 있다. 이러한 단계(810)는 단계(720)과 동일한 과정으로 이루어질 수 있으나, 제1 바이오매트릭스 정보와 제2 바이오매트릭스 정보간의 차이로 인해, 제2 N 비트 벡터들은 제1 N 비트 벡터들과 일부 다를 수도 있다.In
단계(820)에서 인코딩부(730)는 계산된 N 개의 제2 N 비트 벡터들을 인코딩할 수 있다. 인코딩 방식에 대해서는 이미 자세히 설명한 바 있다.In
단계(830)에서 ECC 처리부(740)는 인코딩된 N 개의 제2 N 비트 벡터들을 단계(740)에서 생성된 ECC를 이용하여 보정할 수 있다. 이 경우, 보정 및 인코딩된 N 개의 제2 N 비트 벡터들은 단계(750)의 인코딩된 N 개의 제1 N 비트 벡터들과 동일한 값을 갖게 된다. 만약, 단계(740)에서 N 개의 제1 N 비트 벡터들 각각에 대한 ECC를 생성한 경우에는 단계(830)이 단계(820) 보다 먼저 수행되어 N 개의 제2 N 비트 벡터들을 ECC를 이용하여 보정한 후에 보정된 N 개의 제2 N 비트 벡터들을 인코딩부(730)가 인코딩할 수도 있다.In
단계(840)에서 키 생성부(660)는 보정 및 인코딩된 N 개의 제2 N 비트 벡터들을 파라미터로 갖는 해쉬함수의 출력값을 제2 키로서 생성할 수 있다. 이 경우, 제1 키 및 제2 키는 동일한 값을 가질 수 있다. 이처럼, 바이오매트릭스 정보를 통해서도 동일한 키 값을 추출할 수 있게 되기 때문에 바이오매트릭스 정보를 이용하여 생성된 키를 인증 키나 암복호화 키 또는 전자 서명을 위한 키로 활용할 수 있게 된다.In
도 9는 본 발명의 일실시예에 있어서, 키 생성 시스템의 프로세서가 포함할 수 있는 구성요소의 다른 예를 도시한 블록도이고, 도 10은 본 발명의 일실시예에 따른 키 생성 시스템이 수행할 수 있는 키 생성 방법의 또 다른 예를 도시한 흐름도이다. 도 9에서 프로세서(520)는 도 6에서 설명한 분류기 학습부(610), N 비트 벡터 계산부(620), 인코딩부(730), ECC 처리부(640) 및 키 생성부(650)를 포함할 수 있고, 도 9에 도시된 바와 같이 암복호화부(910)를 더 포함할 수 있다. 또한, 도 10의 단계(1010)는 도 7의 단계(750)와 도 8의 단계(810) 사이에 수행될 수 있고, 도 10의 단계(1020)는 도 8의 단계(840) 이후에 수행될 수 있다.FIG. 9 is a block diagram illustrating another example of components that a processor of a key generation system may include in an embodiment of the present invention. FIG. 10 is a flowchart illustrating a key generation system according to an exemplary embodiment of the present invention. Fig. 8 is a flowchart showing another example of a key generation method that can be performed. 9, the
단계(1010)에서 암복호화부(910)는 제1 키로 데이터를 암호화할 수 있다. 이 경우, 제1 키는 키 생성 시스템에 저장되지 않고, 암호화된 데이터가 저장될 수 있다.In
단계(1020)에서 암복호화부(910)는 제2 키로 암호화된 데이터를 복호화할 수 있다. 제2 키는 제1 키와 동일한 값을 갖기 때문에 암호화된 데이터를 복호화할 수 있게 된다.In
이하에서는 바이오매트릭스 정보를 이용하여 전자 서명을 처리하기 위한 인증 방법 및 인증 시스템에 대해 설명한다.Hereinafter, an authentication method and an authentication system for processing digital signatures using biometrics information will be described.
도 11은 종래기술에 있어서, 얼굴 인증 시스템을 설명하기 위한 도면이다. 얼굴 인증 시스템은 사용자의 얼굴 이미지에 기반한 얼굴 벡터들 'x1, x2, …'을 학습(1110)하여 투영 행렬(Projection Matrix) U를 생성하고, 생성된 투영 행렬 U를 이용하여 특징 추출(1120)을 통해 특징들(가중 벡터) 'W1, W2, …'을 생성 및 관리할 수 있다. 또한, 얼굴 인증 시스템은 새롭게 입력되는 얼굴 이미지와 관련하여 얼굴 벡터 x에 대한 특징 추출(1130)을 통해 특징 W를 계산할 수 있다. 이때, 특징 W는 얼굴 벡터 x와 투영 행렬 U간의 내적(Inner-Product)을 이용하여 계산될 수 있다. 얼굴 인증 시스템은 계산된 특징 W와 앞서 생성 및 관리되는 특징들 'W1, W2, …'을 비교하여 사용자를 인증할 수 있다.11 is a view for explaining a face authentication system in the prior art. The face authentication system uses face vectors' x 1 , x 2 , ... (Weighting vector) 'W 1 , W 2 ,... Through
이하의 실시예들에서는 신뢰할 수 있는 제3자(Trust Third Party)가 사용자 A의 바이오매트릭스 정보를 학습하여 특징을 추출하고, 사용자 A는 자신의 바이오매트릭스 정보 X를 암호화하여 사용자 B에게 전달하여 사용자 B가 사용자 A의 바이오매트릭스 정보 x와 투영 행렬 U를 모두 모르는 상태로 바이오매트릭스 정보 x와 투영 행렬 U간의 내적을 획득할 수 있는 방식의 인증 방법 및 인증 시스템을 설명한다.In the following embodiments, a trusted third party learns the biometric information of the user A and extracts the characteristics. The user A encrypts the biometric information X of the user A and transmits the encrypted biometric information X to the user B, An authentication method and an authentication system in which B can obtain the inner product between the biomatrix information x and the projection matrix U without knowing both the biomatrix information x and the projection matrix U of the user A will be described.
도 12 및 도 13은 본 발명의 일실시예에 있어서, 내적의 전달 과정의 예를 도시한 도면이다.12 and 13 are diagrams showing an example of a transfer process of an inner product in an embodiment of the present invention.
도 12는 신뢰할 수 있는 제3자(Trust Third Party, TTA, 1210), 사용자 A(1220) 및 사용자 B(1230)를 나타내고 있다. 이때, 실질적으로 신뢰할 수 있는 제3자(1210), 사용자 A(1220) 및 사용자 B(1230)는 각각 컴퓨터 네트워크를 통해 연결되어 통신하는 컴퓨터 장치들일 수 있으며, 화살표를 통해 나타난 데이터의 이동은 통신 프로토콜을 이용하여 컴퓨터 네트워크를 통해 데이터들이 전송되는 것을 의미할 수 있다.Figure 12 shows a trusted third party (TTA) 1210,
신뢰할 수 있는 제3자(1210)는 적어도 사용자 A(1220)의 바이오매트릭스 정보를 이용하여 학습 및 특징 추출을 처리함에 따라 사용자 A(1220)의 바이오매트릭스 정보에 대한 투영 행렬 U와 특징들 'W1, W2, …'을 저장 및 관리하고 있다고 가정한다. 이때, 신뢰할 수 있는 제3자(1210)는 비밀키 'msk'와 공개키 'mpk'를 생성하여 공개키 'mpk'를 사용자 A(1220) 및 사용자 B(1230)에게 제공할 수 있다. 이 경우, 사용자 A(1220)는 공개키 'mpk'와 전자 서명을 위한 벡터 x를 저장하고 있을 수 있으며, 사용자 B(1230)는 공개키 'mpk'를 저장하고 있을 수 있다.The trusted
도 13에 도시된 바와 같이, 신뢰할 수 있는 제3자(1210)가 비밀키 'msk'와 투영 행렬 u를 이용한 키 유도(key derivation)를 통해 (pku, sku)를 생성하여 pku는 사용자 A(1220)에게 sku는 사용자 B(1230)에게 각각 전달할 수 있다. 이때, 사용자 A(1220)는 공개키 'mpk'와 전자 서명을 위한 벡터 x, 그리고 pku를 함께 암호화하여 암호화된 결과 C를 생성하고, 생성된 C를 사용자 B(1230)에게 전달할 수 있다.13, a trusted
이때, 사용자 B(1230)는 공개키 'mpk'와 sku, 그리고 사용자 A(1220)로부터 제공받은 C를 인자로 복호화를 진행하여 사용자 A(1220)의 바이오매트릭스 정보에 따른 벡터 x와 투영 행렬 u간의 내적인 <x, u>를 얻을 수 있다. 이러한 내적을 구하기 위한 전체 수학적 과정에 대해서는 이후 더욱 자세히 설명한다.At this time, the
아래 수학식 1은 비밀키 'msk'와 공개키 'mpk'를 생성하는 예를 설명하고 있다.Equation 1 below shows an example of generating the secret key ' msk ' and the public key ' mpk '.
이러한 수학식 1은 이미 잘 알려진 FE(Functional Encryption) 스킴(scheme)에서 비밀키와 공개키를 생성하는 기술, 특히 DDH(Decision Diffie-Hellman) 스킴을 통해 내적을 전달하기 위한 기술로부터 당업자가 용이하게 이해할 수 있을 것이다.This formula (1) facilitates a person skilled in the art from a technique for generating a secret key and a public key in a well-known Functional Encryption (FE) scheme, in particular, for transferring an inner product through a DDH (Decision Diffie-Hellman) You will understand.
반면, 본 발명의 실시예에서는 DDH 스킴과는 달리, 아래 수학식 2에서와 같이 sku뿐만 아니라, pku를 더 유도한다. On the other hand, unlike the DDH scheme, in the embodiment of the present invention, not only sk u but also pk u are derived as shown in Equation (2) below.
이러한 pku는 신뢰할 수 있는 제3자(1210)가 인정한, 다시 말해 신뢰할 수 있는 제3자(1210)로부터 sku를 수신한 특정 사용자(본 실시예에서는 사용자 B(1230))만이 사용자 A(1220)에 대한 인증을 수행할 수 있도록 제한할 수 있는 효과를 불러온다. 예를 들어, sku는 사용자 B(1230)의 비밀키와 같이, pku는 사용자 B(1230)의 공개키와 같이 활용될 수 있다. 이때, 수학식 2에 나타난 바와 같이, 투영 행렬 u는 사용자 B(1230)의 비밀키로서 제공되는 sku에 은닉되어 사용자 B(1230)가 투영 행렬 u를 획득할 수 없는 형태로 사용자 B(1230)에게 제공될 수 있다.These pk u is only a
아래 수학식 3은 사용자 A(1220)가 신뢰할 수 있는 제3자(1210)의 공개키 'mpk', 사용자 B(1230)의 공개키 pku, 그리고 사용자 A(1220)의 바이오매트릭스 정보의 특징 벡터 x를 이용한 암호화를 통해 앞서 설명한 바와 같이 암호화된 결과 C(인증 정보)를 생성하는 예를 나타내고 있다.Equation (3) below shows that the
이러한 수학식 3 역시 DDH 스킴에 기반하나, E를 생성함에 있어, pku를 통해 전달된 vi(수학식 2에서와 같이 투영 행렬 ui가 반영된)에 벡터 xi(암호화하려는 벡터 x)를 반영하고, 벡터 xi가 반영된 vi와 wi 간의 하다마드 곱 (Hadamard products)이 적용된다는 점에서 DDH 스킴과는 차이가 있으며, 이러한 E를 통해 사용자 A(1220)의 바이오매트릭스 정보에 따른 벡터 x를 은닉하여 사용자 B(1230)에게 전달할 수 있다. 이러한 벡터 x 역시 사용자 B(1230)가 벡터 x를 직접적으로 획득할 수 없는 형태로 사용자 B(1230)에게 전달될 수 있다.This equation (3) is also based on the DDH scheme, but in generating E, vector x i (vector x to be encrypted) is added to v i (reflected in projection matrix u i as in Equation 2) passed through pk u reflected, and vector x i is reflected v i and the Hadamard product between w i (Hadamard products) vector according to the biometrics information of the user a (1220) through, this E and in that DDH scheme is the difference is that it applies x to conceal and transmit it to
사용자 B(1230)는 인증 정보 C를 전달받은 후 아래 수학식 4와 같이, 복호화를 수행하여 내적 <x, u>를 얻을 수 있다.After receiving the authentication information C, the
여기서, E, , 는 아래 수학식 5와 같으며, 각각 수학식 4에 대입하여 E를 와 간의 하다마드 곱으로 나눈 결과는 g의 <x, u>승이 되고, 이 결과에 대한 이산로그(discrete logarithm, dlog)를 통해 내적 <x, u>를 얻을 수 있다.Here, E, , Is expressed by the following equation (5), and E Wow The result of dividing by the intercept Hadamard is the multiplication of g <x, u>, and the discrete logarithm, dlog, yields the inner product <x, u>.
이처럼, 사용자 A(1220)의 바이오매트릭스의 벡터 x와 투영 행렬 u를 모두 사용자 B(1230)에게 노출되지 않은 상태로 x와 u간의 내적 <x, u>를 사용자 B(1230)에게 전달하는 것이 가능해진다. 도 11을 통해 설명한 바와 같이 내적 <x, u>는 벡터 x에 대한 특징 W가 되기 때문에 사용자 B(1230)는 특징 W와 학습 및 특징 추출을 통해 추출된 특징 'W1, W2, …'간의 비교가 가능해진다.As described above, it is possible to transmit the inner product < x, u > between x and u to the
벡터 x와 투영 행렬 u를 사용자 B(1230)에게 노출되지 않은 상태로 x와 u간의 내적 <x, u>를 사용자 B(1230)에게 전달하는 방법이 상술한 수학식 1 내지 5로 한정되는 것은 아니다. 예를 들어, 아래 수학식 6 내지 수학식 9은 내적 <x, u>의 전달을 위한 다른 실시예를 설명한다.The method of transferring the inner product < x, u > between x and u to the
우선, 수학식 1과 동일한 방법으로 비밀키 'msk'와 공개키 'mpk'를 생성할 수 있다. 이때, 수학식 2 내지 수학식 5는 아래 수학식 6 내지 수학식 9와 같이 변경될 수 있다. 수학식 6 내지 수학식 9는 ui들이 크기가 작기 때문에 이러한 ui들이 노출될 가능성을 줄이기 위해 (e1, e2, …, el)와 τ를 더 활용하여 sku와 pku를 구한 것으로, 수학식 7 내지 수학식 9는 새로운 sku와 pku에 따라 내적 <x, u>을 구하기 위해 변경되었다. 결과적으로 기본적인 개념은 수학식 2 내지 수학식 5에서와 유사하다.First, the secret key ' msk ' and the public key ' mpk ' can be generated in the same manner as in Equation (1). At this time, Equations (2) to (5) can be changed to Equation (6) to Equation (9). Equation 6 to Equation (9) is u i are sized to this u i are further advantage of to reduce the possibility of exposure (e 1, e 2, ... , e l) and τ is small obtaining a sk u and pk u , And Equations (7) to (9) are changed to obtain the inner product < x, u > according to the new sk u and pk u . As a result, the basic concept is similar to that of Equations (2) to (5).
여기서 e는 (e1, e2, …, el)일 수 있다.Wherein e may be (e 1, e 2, ... , e l).
이와 같이, 본 발명의 실시예들에서 x와 u간의 내적 <x, u>은 x와 u를 각각 다른 파라미터와의 내적이나 다른 파라미터의 근지수(cubic root)로 이용하여 전달하고, 사용자 B(1230)의 공개키 pku로 암호화된 인증 정보 C를 사용자 B(1230)의 비밀키 sku를 이용하여 복호화하는 과정에서 내적 <x, u>를 계산할 수 있는 방식이면 어떠한 방법이라도 사용될 수 있다. Thus, in the embodiments of the present invention, the inner product < x, u > between x and u uses x and u as the inner product of another parameter and the cubic root of the other parameter, ) May be used as long as it can calculate the inner product <x, u> in the process of decrypting the authentication information C encrypted with the public key pk u of the
또한, 전달된 내적 <x, u> 을 활용하여 메시지 M에 대한 전자 서명이 이루어질 수 있다. 비밀키 'msk'와 공개키 'mpk'는 수학식 1에서와 유사하게 아래 수학식 10과 같이 얻어질 수 있다.In addition, a digital signature for the message M can be made utilizing the transmitted inner product < x, u >. The secret key " msk " and the public key " mpk " can be obtained as shown in Equation (10)
이때, 함수 mIP.Setup()가 수학식 1의 Setup()에 대응될 수 있다.At this time, the function mIP.Setup () may correspond to Setup () in Equation (1).
함수 Enroll()는 입력되는 바이오매트릭스 정보들 'x1, x2, …'을 이용한 등록 과정(Enrollment)을 의미할 수 있다. 이때, 함수 Bio.Learn()는 'x1, x2, …'를 이용한 학습의 과정으로서 투영 행렬 U가 결과로서 출력될 수 있다. 또한, 함수 Bio.FeatExt()는 'x1, x2, …'와 투영 행렬 U를 이용한 특징 추출의 과정으로서 특징들 'w1, w2, …'이 결과로서 출력될 수 있다.The function Enroll () returns the input biomatrix information 'x 1 , x 2 , ... Quot ;, and " enrollment " using < / RTI > At this time, the function Bio.Learn () is' x 1 , x 2 , ... The projection matrix U can be output as a result. In addition, the function Bio.FeatExt () is defined as' x 1 , x 2 , ... 'And the feature' w 1 , w 2 , ... 'as the process of feature extraction using the projection matrix U. Can be output as a result.
수학식 12는 키 pkU와 skU를 유도하는 과정으로서 함수 mIP.KeyDer(msk, ui)는 수학식 2 또는 수학식 6의 함수 KeyDer()에 대응될 수 있다.Equation 12 is a function mIP.KeyDer (msk, u i) a process for deriving a key pk sk U and U may correspond to a function KeyDer () of equation (2) or equation (6).
사용자 A(1220)는 아래 수학식 13의 예에서와 같이 전자 서명 σ를 생성할 수 있다.
수학식 13은 메시지 M을 파라미터로 이용한 해쉬함수 H()의 결과인 벡터 b의 전치벡터와 사용자 A(1220)의 바이오매트릭스 정보 x간의 하다마드 곱을 통해 Y를 구할 수 있다. 따라서 Y는 메시지 M의 해쉬값 M과 바이오매트릭스 정보 x의 정보를 모두 포함하게 된다. 이때, 함수 mIP.Enc()는 수학식 3 또는 수학식 7의 함수 Enc()에 대응할 수 있다. 결과적으로 수학식 13에 따라 전자 서명 σ는 메시지 M과 바이오매트릭스 정보 x가 곱해진 Y(= [y1, …, ym])를 암호화한 형태로 얻어질 수 있다.Equation (13) can find Y through a Hadamard multiplication between the transpose vector of the vector b resulting from the hash function H () using the message M as a parameter and the biomatrix information x of the
사용자 B(1230)는 수학식 14의 예에서와 같이 전자 서명 σ를 이용하여 메시지 M을 인증할 수 있다.
여기서, 함수 mIP.Dec()는 도 4 또는 도 8의 함수 Dec()에 대응할 수 있다. Ci를 이용하여 함수 mIP.Dec()의 출력을 구하면, 내적 <xi, ui>와 메시지의 해쉬값 bi가 곱해진 형태의 결과가 나오게 되고, 이를 메시지의 해쉬값 bi로 나누면 내적 <xi, ui> 다시 말해 바이오매트릭스 정보 x에 대한 특징 w(수학식 14의 )이 얻어지게 된다. 함수 Bio.Match()는 W와 간의 거리(차이)를 계산하여 거리가 기설정된 θ값 이내인 경우, '1'을 출력하여 메시지 M이 변조되지 않았음을 인증할 수 있다. 만약, W와 간의 거리를 계산하여 거리가 기설정된 θ값을 벗어나는 경우에는 메시지 M이 중간에 변조된 것으로 판단할 수 있다.Here, the function mIP.Dec () may correspond to the function Dec () in Fig. 4 or Fig. When the output of the function mIP.Dec () is obtained using C i , the result of the product of the inner product <x i , u i > multiplied by the hash value b i of the message is obtained, and the result is divided by the hash value b i of the message Intrinsic < x i , u i > In other words, the feature w for the biomatrix information x ) Is obtained. The function Bio.Match () (Difference) between the signal M and the signal M, and if the distance is within the set θ value, it outputs '1' to certify that the message M is not modulated. If W and It is possible to determine that the message M is modulated in the middle when the distance deviates from the predetermined &thetas; value.
도 14는 본 발명의 일실시예에 있어서, 인증 시스템이 포함하는 컴퓨터 장치의 내부 구성을 설명하기 위한 블록도이다. 도 12 및 도 13을 통해 설명한 바와 같이, 인증 시스템은 신뢰할 수 있는 제3자(1210), 사용자 A(1220) 및 사용자 B(1230) 각각에 대응하는 컴퓨터 장치(1400)를 포함할 수 있다. 또한, 컴퓨터 장치(1400)는 도 14에 도시된 바와 같이 메모리(1410), 프로세서(1420), 통신 모듈(1430) 그리고 입출력 인터페이스(1440)를 포함할 수 있다. 이러한 인증 시스템(1400)의 구성요소들은 도 5를 통해 설명한 메모리(510), 프로세서(520), 통신 모듈(530) 그리고 입출력 인터페이스(540)에 대응될 수 있기 때문에 구체적인 설명은 생략한다.14 is a block diagram for explaining an internal configuration of a computer apparatus included in an authentication system according to an embodiment of the present invention. 12 and 13, the authentication system may include a
도 15는 본 발명의 일실시예에 있어서, 신뢰할 수 있는 제3자를 위한 컴퓨터 장치의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이고, 도 16은 본 발명의 일실시예에 따른 신뢰할 수 있는 제3자(Trust Third Party, TTP)를 위한 컴퓨터 장치가 수행할 수 있는 인증 방법의 예를 도시한 흐름도이다. 도 15은 도 14의 컴퓨터 장치(1400)의 프로세서(1420)가 포함할 수 있는 구성요소들로서 키 생성부(1510), 키 전송부(1520) 및 특징 정보 추출부(1530)를 나타내고 있다. 이러한 프로세서(1420) 및 프로세서(1420)의 구성요소들은 도 16의 인증 방법이 포함하는 단계들(1610 내지 1640)을 수행할 수 있다. 이때, 프로세서(1420) 및 프로세서(1420)의 구성요소들은 메모리(1410)가 포함하는 운영체제의 코드 및/또는 적어도 하나의 컴퓨터 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(1420)의 구성요소들은 컴퓨터 장치(1400)에 저장된 컴퓨터 프로그램의 코드가 제공하는 제어 명령에 따라 프로세서(1420)에 의해 수행되는 프로세서(1420)의 서로 다른 기능들(different functions)의 표현들일 수 있다. 이때, 프로세서(1420)는 컴퓨터 장치(1400)의 제어와 관련된 명령이 로딩된 메모리(1410)로부터 필요한 제어 명령을 읽어드릴 수 있으며, 읽어 들인 제어 명령에 따라 이후 설명될 단계들(1610 내지 1640)을 수행하도록 컴퓨터 장치(1400)을 제어할 수 있다.Figure 15 is a block diagram illustrating an example of components that may be included in a processor of a computing device for a trusted third party in one embodiment of the present invention, Figure 3 is a flow diagram illustrating an example of an authentication method that a computing device for a Trust Third Party (TTP) can perform; FIG. 15 shows a
단계(1610)에서 키 생성부(1510)는 TTP(Trust Third Party)의 비밀키 및 TTP의 공개키를 생성할 수 있다. TTP의 비밀키와 TTP의 공개키를 생성하는 방법은 수학식 1을 통해 설명한 바 있다.In
단계(1620)에서 키 전송부(1520)는 TTP의 공개키를 사용자 및 검증자에게 전달할 수 있다. 도 12에서는 TTA(1210)가 공개키 "mpk"를 사용자 A(1220)과 사용자 B(1230)에게 각각 전달하는 실시예를 설명한 바 있다. 이때, 사용자 A(1220)가 본 실시예의 사용자에 대응될 수 있고, 사용자 B(1230)가 본 실시예의 검증자에 대응될 수 있다.In
단계(1630)에서 특징 정보 추출부(1530)는 사용자의 바이오매트릭스 정보를 이용한 학습을 통해 투영 행렬을 생성하고, 투영 행렬과 바이오매트릭스 정보간의 내적에 기반하여 사용자의 특징 정보를 추출할 수 있다. 특징 정보의 추출은 도 11에서 특징 'W1, W2, …'를 추출하는 것에 대응될 수 있다.In
단계(1640)에서 키 생성부(1510)는 투영 행렬 및 TTP의 비밀키를 이용하여 검증자용 비밀키 및 검증자용 공개키를 생성할 수 있다. 검증자용 비밀키와 검증자용 공개키를 생성하는 것은 수학식 2 및 수학식 6을 통해 이미 자세히 설명한 바 있다. 일례로 수학식 2에서는 파라미터 s, t를 포함하는 TTP의 비밀키와 투영 행렬 u를 이용하여 내적 <u, s> 및 내적 <u, t>를 포함하는 검증자용 비밀키를 생성하고, 투영 행렬 u를 근지수(cubic root)로 이용하여 검증자용 공개키를 생성하는 예를 설명하였다. In
단계(1650)에서 키 전송부(1520)는 검증자용 비밀키를 검증자의 단말로 네트워크를 통해 전송하고, 검증자용 공개키를 사용자의 단말로 네트워크를 통해 전송할 수 있다.In
이때, 사용자의 단말은 TTP의 공개키와 검증자용 공개키 및 사용자의 제1 바이오매트릭스 정보를 이용하여 사용자의 단말에서 생성된 인증 정보를 네트워크를 통해 검증자의 단말로 전송할 수 있다.At this time, the user's terminal can transmit the authentication information generated at the user's terminal to the authenticator's terminal through the network using the public key of the TTP, the public key for the verifier, and the first biometrics information of the user.
또한, 검증자의 단말은 TTP의 공개키와 검증자용 비밀키 및 사용자의 단말로부터 전송된 인증 정보를 이용하여 제1 바이오매트릭스 정보와 투영 행렬간의 내적이 제1 바이오매트릭스 정보에 대한 특징 정보로서 계산할 수 있다. 예를 들어, 검증자의 단말은 TTP에서 관리하는 사용자의 특징 정보와 상기 계산된 특징 정보를 비교하여 사용자를 검증할 수 있게 된다.In addition, the terminal of the verifier can calculate the inner product between the first biometric information and the projection matrix as the feature information of the first biometric information using the public key of the TTP, the private key for the verifier, and the authentication information transmitted from the user's terminal have. For example, the terminal of the verifier can verify the user by comparing the feature information of the user managed by the TTP with the calculated feature information.
이때, 사용자의 단말에서 제1 바이오매트릭스 정보를 검증자용 공개키로 암호화함으로써 TTP의 인증 시스템인 컴퓨터 장치(1400)으로부터 검증자용 비밀키를 수신한 검증자만이 인증 정보를 복원 가능하도록 제한할 수 있다.At this time, by encrypting the first biomatrix information by the user's terminal with the public key for the verifier, only the verifier who receives the private key for the verifier from the
투영 행렬은 기설정된 적어도 하나의 제1 파라미터와의 내적을 통해 검증자용 비밀키에 은닉되어 검증자의 단말로 전달될 수 있고, 제1 바이오매트릭스 정보는 기설정된 적어도 하나의 제2 파라미터의 근지수로서 인증 정보에 은닉되어 검증자의 단말로 전달될 수 있다. 또한, 검증자의 단말이 검증자용 공개키로 암호화된 인증 정보가 검증자용 비밀키로 복호화되는 과정에서 제1 바이오매트릭스 정보와 인증 정보간의 내적을 계산할 수 있다.The projection matrix may be concealed in the verifier's secret key via an inner product with at least one predetermined first parameter and transmitted to the verifier's terminal and the first biomatrix information may be authenticated as a probabilistic number of at least one second parameter, Information can be concealed and transmitted to the verifier's terminal. In addition, the terminal of the verifier can calculate the inner product between the first biomatrix information and the authentication information in the process of decrypting the authentication information encrypted with the public key for the verifier by the secret key for the verifier.
또한, 인증 정보는 사용자의 단말에서 검증자의 단말로 전달될 메시지의 해쉬값에 따른 벡터의 전치벡터와 제1 바이오매트릭스 정보간의 제1내적을 검증자의 공개키 및 TTP의 공개키로 암호화하여 생성될 수 있고, 메시지와 함께 검증자의 단말로 전송될 수 있다. 예를 들어 수학식 13을 통해 사용자 A(1220)가 인증 정보를 생성하여 사용자 B(1230)에게 전달하는 예를 설명한 바 있다. 이 경우, 검증자의 단말은 인증 정보를 검증자의 비밀키와 TTP의 공개키로 복호화한 결과에 메시지의 해쉬값에 따른 벡터를 반영하여 제1 바이오매트릭스 정보와 투영 행렬간의 내적이 계산할 수 있다. 이 경우, 단계(1650)에서 키 전송부(1520)는 사용자의 특징 정보를 검증자용 비밀키와 함께 검증자의 단말로 더 전송할 수 있고, 검증자의 단말에서 계산된 내적을 특징 정보와 비교하여 메시지를 인증할 수 있다.The authentication information may be generated by encrypting the first inner product between the transposition vector of the vector according to the hash value of the message to be transmitted from the user terminal to the verifier's terminal and the first biomatrix information using the public key of the verifier and the public key of the TTP And can be transmitted to the terminal of the verifier together with the message. For example, the
사용자의 단말과 검증자의 단말 역시 도 14를 통해 설명한 컴퓨터 장치(1400)와 같이 구현될 수 있으며, 사용자의 단말은 도 17의 인증 방법을, 검증자의 단말은 도 18의 인증 방법을 각각 수행할 수 있다.The terminal of the user and the terminal of the verifier can also be implemented as the
도 17은 본 발명의 일실시예에 있어서, 사용자의 단말이 수행할 수 있는 인증 방법의 예를 도시한 흐름도이다.17 is a flowchart illustrating an example of an authentication method that can be performed by a user terminal in an embodiment of the present invention.
단계(1710)에서 사용자의 단말은 TTP(Trust Third Party)의 공개키를 네트워크를 통해 수신할 수 있다. 예를 들어, 사용자의 단말이 포함하는 프로세서는 네트워크를 통해 TTP의 공개키를 수신하도록 사용자의 단말이 포함하는 통신 모듈을 제어할 수 있다.In
단계(1720)에서 사용자의 단말은 TTP로부터 검증자용 공개키를 수신할 수 있다. 이때, 검증자용 공개키는 TTP에서 사용자의 바이오매트릭스 정보들을 이용한 학습을 통해 생성된 투영 행렬과 TTP의 비밀키를 이용하여 생성될 수 있다.At
단계(1730)에서 사용자의 단말은 사용자의 제1 바이오매트릭스 정보를 생성할 수 있다. 제1 바이오매트릭스 정보는 사용자가 인증을 받거나 전자 서명을 하기 위해 새롭게 입력한 바이오매트릭스 정보(홍채 정보, 지문 정보, 얼굴 정보 등과 같이 해당 시스템에서 사용하는 종류의 정보)일 수 있다.At
단계(1740)에서 사용자의 단말은 TTP의 공개키, 검증자용 공개키 및 제1 바이오매트릭스 정보를 이용하여 인증 정보를 생성할 수 있다. 이러한 인증 정보의 생성은 수학식 3 및 수학식 7을 통해 이미 자세히 설명한 바 있다.In
단계(1750)에서 사용자의 단말은 생성된 인증 정보를 네트워크를 통해 검증자의 단말로 제공할 수 있다. 이때, 검증자의 단말에서 TTP의 공개키와 검증자 단말이 TTP로부터 수신한 검증자용 비밀키 및 인증 정보를 이용하여 제1 바이오매트릭스 정보와 투영 행렬간의 내적이 제1 바이오매트릭스 정보에 대한 특징 정보로서 계산될 수 있다.In
도 18은 본 발명의 일실시예에 있어서, 검증자의 단말이 수행할 수 있는 인증 방법의 예를 도시한 흐름도이다.18 is a flowchart showing an example of an authentication method that can be performed by a terminal of a verifier in an embodiment of the present invention.
단계(1810)에서 검증자의 단말은 TTP(Trust Third Party)의 공개키를 네트워크를 통해 수신할 수 있다. 예를 들어, 검증자의 단말이 포함하는 프로세서는 TTP의 공개키를 수신하도록 검증자의 단말을 제어할 수 있다. In
단계(1820)에서 검증자의 단말은 TTP로부터 검증자용 비밀키를 수신할 수 있다. 이때, 검증자용 비밀키는 TTP에서 사용자의 바이오매트릭스 정보들을 이용한 학습을 통해 생성된 투영 행렬과 TTP의 비밀키를 이용하여 생성될 수 있다.In
단계(1830)에서 검증자의 단말은 TTP의 공개키, 사용자의 단말이 TTP로부터 수신한 검증자용 공개키 및 사용자의 제1 바이오매트릭스 정보를 이용하여 사용자의 단말에서 생성된 인증 정보를 네트워크를 통해 수신할 수 있다.In
단계(1840)에서 검증자의 단말은 TTP의 공개키와 검증자용 비밀키 및 인증 정보를 이용하여 제1 바이오매트릭스 정보와 투영 행렬간의 내적을 제1 바이오매트릭스 정보에 대한 특징 정보로서 계산할 수 있다.In
이처럼, 본 실시예들에 따른 내적의 전달을 통해 검증자에게 사용자의 바이오매트릭스 정보와 투영 정보를 노출하지 않고도 사용자를 인증하거나 또는 전자 서명이 가능해질 수 있다.As described above, the user can be authenticated or the digital signature can be enabled without exposing the user's biometric information and projection information to the verifier through the transfer of the dot product according to the present embodiments.
한편, 도 11을 통해 설명한 바와 같이 얼굴 인증에서는 얼굴 이미지로부터 추출되는 벡터들과 투영 행렬을 이용하여 사용자별 특징을 추출할 수 있다. 그러나 얼굴 인증과 같은 바이오매트릭스 정보는 대부분 행렬 연산과 같은 내적 연산을 이용하기 때문에 상술한 인증 방법 및 인증 시스템에 쉽게 적용하여 내적을 전달하거나 전자 서명을 처리하는데 이용할 수 있다.As described with reference to FIG. 11, in the face authentication, the user-specific characteristics can be extracted using the vectors extracted from the face image and the projection matrix. However, most of the biometric information such as facial authentication uses inner computation such as matrix operation, so it can be easily applied to the authentication method and authentication system described above and used to transmit the inner product or process the digital signature.
반면, 지문(fingerprint)은 끝점(ending point)과 분기점(bifurcation)으로 대표되는 특징점(minutiae points)들과 타입, 지오메트리 정보 등을 직접 비교하는 방식으로 비교가 이루어지기 때문에 상술한 인증 방법 및 인증 시스템에 쉽게 적용하기 어렵다. 예를 들어, 얼굴 인증을 위한 학습에 이용되는 얼굴 이미지 샘플들은 해상도가 제한(일례로, 40x40 픽셀)된다. 한편, 지문의 경우에는 이러한 제한된 해상도의 지문 이미지로부터 지문에 따른 특징을 추출하는 경우, 정확한 특징을 추출할 수 없다.On the other hand, since the fingerprint is compared with a method of directly comparing types and geometry information with minutiae points represented by ending points and bifurcations, the above-described authentication method and authentication system . For example, the face image samples used for learning for face authentication are limited in resolution (e.g., 40x40 pixels). On the other hand, in the case of the fingerprint, when extracting the feature according to the fingerprint from the fingerprint image having the limited resolution, the accurate feature can not be extracted.
따라서 본 실시예에서는 지문 이미지를 그대로 이용하지 않고, 지문의 끝점(ending point)와 분기점(bifurcation)으로 대표되는 특징점(minutiae point)들을 표현하는 새로운 이미지를 생성하고, 생성된 이미지를 이용하여 상술한 인증 방법 및 인증 시스템에 적용하여 내적을 전달하거나 전자 서명을 처리할 수 있다.Therefore, in the present embodiment, a new image representing minutiae points represented by an ending point and a bifurcation of a fingerprint is generated without using the fingerprint image as it is, It can be applied to the authentication method and the authentication system to transmit the inner product or process the digital signature.
예를 들어, 끝점에 대응하는 위치에는 삼각형을, 분기점에 대응하는 위치에는 사각형을 포함하는 이미지를 생성하거나, 또는 끝점에 대응하는 위치에는 밸리(valley)의 표현을, 분기점에 대응하는 위치에는 피크(peak)의 표현을 포함하는 이미지를 생성하고, 생성된 이미지를 통해 지문 정보를 바이오매트릭스 정보로서 상술한 인증 방법 및 인증 시스템에 적용할 수 있다.For example, an image including a triangle at a position corresponding to an end point and a square at a position corresponding to a branch point may be generated, or a valley expression may be provided at a position corresponding to the end point, and the fingerprint information may be applied to the authentication method and the authentication system described above as the biometric information through the generated image.
도 19는 본 발명의 일실시예에 있어서, 도 19는 본 발명의 일실시예에 있어서, 지문의 특징점(minutiae points) 표현하는 이미지의 예를 도시한 도면이다. 도 19는 지문 이미지(1910)와 지문 이미지(1910)가 포함하는 끝점 및 분기점 중 일부를 삼각형과 사각형으로 표현한 변환 이미지(1920)를 각각 도시하고 있다. 지문 이미지(1910)는 앞서 설명한 바와 같이, 특징점(minutiae point)들의 타입과 위치에 대한 지오메트리 정보를 포함하고 있으며, 이러한 특징점, 특징점의 타입 그리고 위치에 대한 정보를 비교하는 방식으로 지문간의 비교가 이루어지기 때문에 앞서 설명한 내적을 이용한 인증 방법을 적용하기 어렵다. 이에 본 실시예에서는 지문 이미지(1910)를 변환 이미지(1920)와 같이 특징점의 종류와 위치를 쉽게 파악 가능하도록 변환함으로써, 변환 이미지(1920)를 이용한 내적 방식의 인증 방법을 지문과 같은 바이오매트릭스 정보에도 적용할 수 있게 된다.19 is a diagram illustrating an example of an image representing minutiae points of a fingerprint in an embodiment of the present invention, in an embodiment of the present invention. Fig. 19 shows a converted
도 20은 본 발명의 일실시예에 있어서, 지문의 특징점(minutiae points) 표현하는 이미지의 다른 예를 도시한 도면이다. 도 20은 지문 이미지(1910)에서 끝점을 "∨"로 표현하고 분기점을 "∧" 표현한 변환 이미지(2010)를 도시하고 있다.20 is a view showing another example of an image representing minutiae points of a fingerprint in an embodiment of the present invention. 20 shows a transformed
이처럼, 지문 이미지에 대해, 지문 이미지의 특징점을 특징점의 타입에 따른 기설정된 표식으로 표시한 변환 이미지를 생성함으로써, 변환 이미지를 이용한 내적 방식의 인증 방법을 이용할 수 있게 된다.As described above, with respect to the fingerprint image, by generating the transformed image in which the minutiae points of the fingerprint image are displayed in predetermined markers according to the types of the minutiae points, it is possible to use the inductive authentication method using the transformed image.
도 21은 본 발명의 일실시예에 있어서, 지문 정보 변경 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 도시한 블록도이고, 도 22는 본 발명의 일실시예에 따른 지문 정보 변경 시스템이 수행할 수 있는 지문 정보 변경 방법의 예를 도시한 흐름도이다. 도 21에서 지문 정보 변경 시스템은 앞서 설명한 컴퓨터 장치(1400)와 같이 구현될 수 있으며, 컴퓨터 장치(1400)의 프로세서(1420)가 포함할 수 있는 구성요소들로서 표식 관리부(2110), 지문 정보 추출부(2120), 변환 이미지 생성부(2130), 바이오매트릭스 정보 추출부(2140), 투영 행렬 생성부(2150) 및 특징 정보 추출부(2160)를 나타내고 있다. 이러한 프로세서(1420) 및 프로세서(1420)의 구성요소들은 도 22의 지문 정보 변경 방법이 포함하는 단계들(2210 내지 2260)을 수행할 수 있다. 이때, 프로세서(1420) 및 프로세서(1420)의 구성요소들은 메모리(1410)가 포함하는 운영체제의 코드 및/또는 적어도 하나의 컴퓨터 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(1420)의 구성요소들은 지문 정보 변경 시스템이 구현된 컴퓨터 장치(1400)에 저장된 컴퓨터 프로그램의 코드가 제공하는 제어 명령에 따라 프로세서(1420)에 의해 수행되는 프로세서(1420)의 서로 다른 기능들(different functions)의 표현들일 수 있다. 이때, 프로세서(1420)는 컴퓨터 장치(1400)의 제어와 관련된 명령이 로딩된 메모리(1410)로부터 필요한 제어 명령을 읽어드릴 수 있으며, 읽어 들인 제어 명령에 따라 이후 설명될 단계들(2210 내지 2260)을 수행하도록 컴퓨터 장치(1400)를 제어할 수 있다.FIG. 21 is a block diagram illustrating an example of a component included in a processor of the fingerprint information changing system according to an exemplary embodiment of the present invention. FIG. 22 is a flowchart illustrating a fingerprint information changing system according to an exemplary embodiment of the present invention. FIG. 8 is a flowchart showing an example of a fingerprint information changing method that can be performed. FIG. 21, the fingerprint information changing system can be implemented as the
단계(2210)에서 표식 관리부(2110)는 지문에 대한 특징점(minutiae points)의 타입별로 기설정된 서로 다른 표식을 관리할 수 있다. 예를 들어, 관리되는 표식은 특징점의 타입별로 타입들 각각을 식별할 수 있는 이미지, 텍스트 또는 이미지와 텍스트의 조합 등의 표식일 수 있다. 이때, 지문에 대한 특징점의 타입은 끝점(ending point) 및 분기점(bifurcation)을 적어도 포함할 수 있고, 이 경우 기설정된 서로 다른 표식은 끝점을 위한 제1 표식과 분기점을 위한 제2 표식을 적어도 포함할 수 있다. 필요에 따라 지문의 특징점에 대해 이미 잘 알려진 중심점(core), 삼각주(delta) 등과 같은 다른 특징점의 타입들이 더 활용될 수도 있으며, 이 경우 또 다른 표식들이 더 활용될 수 있다.In
단계(2220)에서 정보 추출부(2120)는 사용자의 지문 이미지로부터 특징점, 특징점의 타입 및 특징점의 지오메트리 정보를 추출할 수 있다. 이러한 지문에 대한 정보의 추출은 지문 인식과 관련된 잘 알려진 기술들을 통해 당업자가 용이하게 이해할 수 있을 것이다.In
단계(2230)에서 변환 이미지 생성부(2130)는 추출된 특징점들에 대해, 특징점의 타입에 대응하는 표식을 특징점의 지오메트리 정보에 대응하는 위치에 포함하는 변환 이미지를 생성할 수 있다. 이때, 지문 이미지상에 표식을 배치하는 것이 아니라, 표식을 포함하는 별도의 변환 이미지가 생성될 수 있다. 예를 들어, 변환 이미지는 특징점에 대해 배치된 표식만을 포함하도록 생성될 수 있다.In
단계(2240)에서 바이오매트릭스 정보 추출부(2140)는 생성된 변환 이미지로부터 사용자의 바이오매트릭스 정보를 추출할 수 있다. 이때 추출된 바이오매트릭스 정보는 변환 이미지를 분석하여 추출되는 특징 벡터들일 수 있다.In
단계(2250)에서 투영 행렬 생성부(2150)는 추출된 바이오매트릭스 정보를 이용한 학습을 통해 투영 행렬을 생성할 수 있다. 일례로 도 11에서와 같이 이미지에 따른 벡터들을 이용한 학습을 통해 투영 행렬을 생성하는 예를 이미 설명한 바 있다. In
단계(2260)에서 특징 정보 추출부(2160)는 투영 행렬과 바이오매트릭스 정보간의 내적에 기반하여 사용자의 특징 정보를 추출할 수 있다. 이처럼, 본 발명의 실시예들에 따르면, 지문 정보에 대해 특징점과 타입, 그리고 지오메트리 정보를 추출하고, 추출된 정보들을 비교하여 지문 정보를 활용하는 것이 아니라, 이러한 정보를 이용하여 변환 이미지를 생성하고, 변환 이미지의 학습에 따라 바이오매트릭스 정보와 투영 행렬간의 내적을 통해 사용자의 특징 정보를 추출함으로써, 지문 이미지를 통해서도 내적을 이용한 인증 방법 및 시스템의 적용이 가능해질 수 있다.In
이처럼 본 발명의 실시예들에 따르면, 바이오매트릭스 정보로부터 인증, 암호화 및/또는 전자 서명 등에 활용 가능한 키를 추출할 수 있다. 또한, 바이오매트릭스 정보를 이용하여 전자 서명을 처리할 수 있다. 또한, 지문과 같은 바이오매트릭스 정보에 대해서도 내적 전달을 위한 투영 행렬 기반의 인증 방법을 적용할 수 있도록 지문의 특징점을 이용하여 지문 정보를 이미지화할 수 있다.As described above, according to embodiments of the present invention, a key that can be used for authentication, encryption, and / or digital signature can be extracted from the biomatrix information. In addition, the electronic signature can be processed using the biomatrix information. In addition, the fingerprint information can be imaged using the minutiae points of the fingerprint so as to apply the projection matrix-based authentication method for internal transfer to the biometric information such as the fingerprint.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system or apparatus described above may be implemented as a hardware component, a software component or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device As shown in FIG. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다. Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
Claims (10)
상기 N 명의 사용자들 중 제1 사용자의 제1 바이오매트릭스 정보를 상기 학습된 N 개의 분류기들에 입력하여 상기 제1 바이오매트릭스 정보에 대응하는 N 개의 제1 N 비트 벡터들을 계산하는 단계;
상기 계산된 N 개의 제1 N 비트 벡터들 각각을 인코딩하는 단계;
상기 계산된 N 개의 제1 N 비트 벡터들 또는 상기 인코딩된 N 개의 제1 N 비트 벡터들 각각에 대한 ECC(Error Correcting Code)를 생성하는 단계; 및
상기 인코딩된 N 개의 제1 N 비트 벡터들을 파라미터로 갖는 해쉬함수의 출력값을 제1 키로서 생성하는 단계
를 포함하는 것을 특징으로 하는 키 생성 방법.N bi-vectors of N users (N is a natural number of 2 or more) users, and N classifiers output N N-bit vectors of which one bit is set to '1' Learning N classifiers;
Calculating N first N bit vectors corresponding to the first biomatrix information by inputting first biomatrix information of a first user among the N users to the learned N classifiers;
Encoding each of the calculated N first N bit vectors;
Generating an ECC (Error Correcting Code) for each of the calculated N first N bit vectors or the encoded N first N bit vectors; And
Generating an output value of the hash function having the N first N bit vectors as the first key as parameters;
The key generation method comprising:
상기 제1 사용자의 제2 바이오매트릭스 정보를 상기 학습된 N 개의 분류기들에 입력하여 상기 제2 바이오매트릭스 정보에 대응하는 N 개의 제2 N 비트 벡터들을 계산하는 단계;
상기 계산된 N 개의 제2 N 비트 벡터들을 상기 ECC를 이용하여 보정한 후 인코딩하거나 또는 상기 계산된 N 개의 제2 N 비트 벡터들을 인코딩한 후 상기 ECC를 이용하여 보정하는 단계; 및
상기 보정 및 인코딩된 N 개의 제2 N 비트 벡터들을 파라미터로 갖는 해쉬함수의 출력값을 제2 키로서 생성하는 단계
를 더 포함하는 것을 특징으로 하는 키 생성 방법.The method according to claim 1,
Inputting the second biomatrix information of the first user to the learned N classifiers to calculate N second N bit vectors corresponding to the second biomatrix information;
Correcting the calculated N second N bit vectors using the ECC and encoding or encoding the calculated N second N bit vectors and using the ECC; And
Generating an output value of the hash function having the corrected and encoded N second N bit vectors as a parameter as a second key;
Further comprising the steps of:
상기 제1 키 및 상기 제2 키는 동일한 값을 갖는 것을 특징으로 하는 키 생성 방법.3. The method of claim 2,
Wherein the first key and the second key have the same value.
상기 제1 키로 데이터를 암호화하는 단계; 및
상기 제2 키로 상기 암호화된 데이터를 복호화하는 단계
를 더 포함하고,
상기 제1 키는 저장되지 않는 것을 특징으로 하는 키 생성 방법.3. The method of claim 2,
Encrypting the data with the first key; And
Decrypting the encrypted data with the second key
Further comprising:
Wherein the first key is not stored.
상기 서로 다른 하나의 비트가 '1'로 설정된 N 개의 N 비트 벡터들은 상기 N 비트에서 상기 '1'로 설정된 서로 다른 하나의 비트를 제외한 나머지 비트들이 '0'으로 설정되는 것을 특징으로 하는 키 생성 방법.The method according to claim 1,
The N bits of the N bits having the different one bit set to '1' are set to '0', except for one different bit set to '1' from the N bits. Way.
컴퓨터에서 판독 가능한 명령을 저장하는 메모리; 및
상기 메모리에 저장된 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
N(상기 N은 2 이상의 자연수) 명의 사용자들의 바이오매트릭스 정보를 이용하여 N 개의 분류기들이 동일한 사용자의 바이오매트릭스 정보에 대해 서로 다른 하나의 비트가 '1'로 설정된 N 개의 N 비트 벡터들을 출력하도록 상기 N 개의 분류기들을 학습하는 제1 프로세스;
상기 N 명의 사용자들 중 제1 사용자의 제1 바이오매트릭스 정보를 상기 학습된 N 개의 분류기들에 입력하여 상기 제1 바이오매트릭스 정보에 대응하는 N 개의 제1 N 비트 벡터들을 계산하는 제2 프로세스;
상기 계산된 N 개의 제1 N 비트 벡터들 각각을 인코딩하는 제3 프로세스;
상기 계산된 N 개의 제1 N 비트 벡터들 또는 상기 인코딩된 N 개의 제1 N 비트 벡터들 각각에 대한 ECC(Error Correcting Code)를 생성하는 제4 프로세스; 및
상기 인코딩된 N 개의 제1 N 비트 벡터들을 파라미터로 갖는 해쉬함수의 출력값을 제1 키로서 생성하는 제5 프로세스
를 처리하는 것을 특징으로 하는 키 생성 시스템.A key generation system embodied in a computer device for executing a key generation method,
A memory for storing instructions readable by a computer; And
At least one processor implemented to execute instructions stored in the memory,
Lt; / RTI >
Wherein the at least one processor comprises:
N bi-vectors of N users (N is a natural number of 2 or more) users, and N classifiers output N N-bit vectors of which one bit is set to '1' A first process of learning N classifiers;
A second process of inputting first biometric information of a first user among the N users to the learned N classifiers to calculate N first N bit vectors corresponding to the first biometric information;
A third process of encoding each of the calculated N first N bit vectors;
A fourth process of generating an Error Correcting Code (ECC) for each of the calculated N first N bit vectors or the encoded N first N bit vectors; And
A fifth process of generating an output value of the hash function having the N first N bit vectors as the first key,
To the key generation system.
상기 적어도 하나의 프로세서는,
상기 제1 사용자의 제2 바이오매트릭스 정보를 상기 학습된 N 개의 분류기들에 입력하여 상기 제2 바이오매트릭스 정보에 대응하는 N 개의 제2 N 비트 벡터들을 계산하는 제6 프로세스;
상기 계산된 N 개의 제2 N 비트 벡터들을 상기 ECC를 이용하여 보정한 후 인코딩하거나 또는 상기 계산된 N 개의 제2 N 비트 벡터들을 인코딩한 후 상기 ECC를 이용하여 보정하는 제7 프로세스; 및
상기 보정 및 인코딩된 N 개의 제2 N 비트 벡터들을 파라미터로 갖는 해쉬함수의 출력값을 제2 키로서 생성하는 제8 프로세스
를 더 처리하는 것을 특징으로 하는 키 생성 시스템.8. The method of claim 7,
Wherein the at least one processor comprises:
A sixth process of inputting the second biomatrix information of the first user to the learned N classifiers to calculate N second N bit vectors corresponding to the second biomatrix information;
A seventh process of correcting the calculated N second N bit vectors using the ECC and then encoding or encoding the calculated N second N bit vectors and correcting the calculated N second N bit vectors using the ECC; And
An eighth process of generating an output value of the hash function having the corrected and encoded N second N bit vectors as a second key
The key generation system further comprising:
상기 적어도 하나의 프로세서는,
상기 제1 키로 데이터를 암호화하는 제5-1 프로세스; 및
상기 제2 키로 상기 암호화된 데이터를 복호화하는 제8-1 프로세스
를 더 처리하고,
상기 제1 키는 저장되지 않는 것을 특징으로 하는 키 생성 시스템.9. The method of claim 8,
Wherein the at least one processor comprises:
A 5-1 process of encrypting data with the first key; And
An 8-1 process for decrypting the encrypted data with the second key
Lt; RTI ID = 0.0 >
Wherein the first key is not stored.
상기 서로 다른 하나의 비트가 '1'로 설정된 N 개의 N 비트 벡터들은 상기 N 비트에서 상기 '1'로 설정된 서로 다른 하나의 비트를 제외한 나머지 비트들이 '0'으로 설정되는 것을 특징으로 하는 키 생성 시스템.8. The method of claim 7,
The N bits of the N bits having the different one bit set to '1' are set to '0', except for one different bit set to '1' from the N bits. system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170023679A KR101949579B1 (en) | 2017-02-22 | 2017-02-22 | Method and system for generating key using biometrics |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170023679A KR101949579B1 (en) | 2017-02-22 | 2017-02-22 | Method and system for generating key using biometrics |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180097060A true KR20180097060A (en) | 2018-08-30 |
KR101949579B1 KR101949579B1 (en) | 2019-02-19 |
Family
ID=63453703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170023679A KR101949579B1 (en) | 2017-02-22 | 2017-02-22 | Method and system for generating key using biometrics |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101949579B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023277212A1 (en) * | 2021-06-29 | 2023-01-05 | 주식회사 아이리시스 | Fuzzy commitment-based fuzzy extraction system using biometric information, and discardable biometric information security system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160006836A (en) * | 2014-07-09 | 2016-01-20 | 전남대학교산학협력단 | Secure Authentication System using Biometric information or information derived from Biometric or user features information, Apparatus and Method for Controlling Secure Authentication |
KR20160136023A (en) * | 2015-05-19 | 2016-11-29 | 삼성에스디에스 주식회사 | Apparatus and method for data encryption, and apparatus and method for data decryption |
-
2017
- 2017-02-22 KR KR1020170023679A patent/KR101949579B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160006836A (en) * | 2014-07-09 | 2016-01-20 | 전남대학교산학협력단 | Secure Authentication System using Biometric information or information derived from Biometric or user features information, Apparatus and Method for Controlling Secure Authentication |
KR20160136023A (en) * | 2015-05-19 | 2016-11-29 | 삼성에스디에스 주식회사 | Apparatus and method for data encryption, and apparatus and method for data decryption |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023277212A1 (en) * | 2021-06-29 | 2023-01-05 | 주식회사 아이리시스 | Fuzzy commitment-based fuzzy extraction system using biometric information, and discardable biometric information security system |
Also Published As
Publication number | Publication date |
---|---|
KR101949579B1 (en) | 2019-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | Finger vein secure biometric template generation based on deep learning | |
JP6037366B2 (en) | Method for authenticating user corresponding to encrypted data and system for authenticating user corresponding to biometric data | |
TWI615012B (en) | Method, device, and server for cryptographic key generation and non-transitory computer readable storage medium thereof | |
JP6238867B2 (en) | Sequential biometric cryptographic system and sequential biometric cryptographic processing method | |
US11227037B2 (en) | Computer system, verification method of confidential information, and computer | |
KR101845192B1 (en) | Method and system for changing fingerprint information to apply inner product | |
Barni et al. | SEMBA: secure multi‐biometric authentication | |
JP5676592B2 (en) | Robust biometric feature extraction with and without reference points | |
WO2012097362A2 (en) | Protecting codes, keys and user credentials with identity and patterns | |
US11451385B2 (en) | Biometric public key system providing revocable credentials | |
JP2008129743A (en) | Featured value conversion method for biological information, device therefor, and user authentication system using the same | |
KR102008101B1 (en) | Secure biometric authentication method using functional encryption | |
KR101838432B1 (en) | Method and system for authentication using biometrics and functional encryption-inner product | |
Bedad et al. | Multi-biometric template protection: an overview | |
KR101949579B1 (en) | Method and system for generating key using biometrics | |
KR20220008035A (en) | Method and apparatus for detecting fake fingerprint | |
Sheng et al. | Reliable and secure encryption key generation from fingerprints | |
WO2021106334A1 (en) | Key generation device, key utilization device, and key generation method | |
Seo et al. | Construction of a New Biometric‐Based Key Derivation Function and Its Application | |
Malallah et al. | Non-invertible online signature biometric template protection via shuffling and trigonometry transformation | |
Zhu et al. | A performance-optimization method for reusable fuzzy extractor based on block error distribution of iris trait | |
Hachim et al. | Voice-Authentication Model Based on Deep Learning for Cloud Environment | |
Reddy et al. | Authentication using fuzzy vault based on iris textures | |
JP7021375B2 (en) | Computer system, verification method of confidential information, and computer | |
JP6370459B2 (en) | Sequential biometric cryptographic system and sequential biometric cryptographic processing method |
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 |