WO2018038444A1 - 생체 코드를 등록 및 인증하는 방법 및 장치 - Google Patents
생체 코드를 등록 및 인증하는 방법 및 장치 Download PDFInfo
- Publication number
- WO2018038444A1 WO2018038444A1 PCT/KR2017/008812 KR2017008812W WO2018038444A1 WO 2018038444 A1 WO2018038444 A1 WO 2018038444A1 KR 2017008812 W KR2017008812 W KR 2017008812W WO 2018038444 A1 WO2018038444 A1 WO 2018038444A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- biometric
- code
- biometric code
- hashed
- error correction
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000012937 correction Methods 0.000 claims abstract description 38
- 238000012795 verification Methods 0.000 claims description 28
- 208000016339 iris pattern Diseases 0.000 claims description 3
- 210000003462 vein Anatomy 0.000 claims description 3
- 230000001815 facial effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- 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/18—Eye characteristics, e.g. of the iris
Definitions
- the present invention relates to a method and apparatus for registering and authenticating a biometric code.
- Content stored in a device often stores important data related to the privacy of the individual, and the demand for protecting the privacy of the individual is increasing. Accordingly, techniques for encrypting and decrypting content have been developed.
- digital information is represented by a binary information sequence consisting of zeros and ones. It is divided into blocks composed of k bits, and each of these blocks is called an information vector.
- the encoding process is a process of mapping a vector consisting of n bits to one information vector. The corresponding vector in this process is called a codeword or code vector. The set of all code words is called a [n, k] code. Bits added in this encoding process are called parity bits. In most cases, each parity bit is made of a specific linear combination of information bits. In general, the error correction capability of a sign varies greatly depending on the linear combination of nk parity bits for a given n and k.
- An object of the present invention is to provide a method of an authentication device for registering and authenticating biometric information without storing original biometric information and an electronic device including the same.
- a method of registering and authenticating a biometric code may include receiving first biometric information, generating a first biometric code by combining the first biometric information and dummy data, and the first biometric information. Encoding a code based on an error correction algorithm, hashing the first biometric code based on a hash function; And storing the encoded first biometric code and the hashed first biometric code in a database.
- a method and apparatus for registering and authenticating a biometric code does not directly store original biometric information, for example, a biometric code, but stores a corresponding biometric code by storing corresponding verification data and hashed biometric code. Register the user, and can simply perform user authentication using the registered biometric code.
- FIG. 1 is a block diagram illustrating an authentication system using a biometric code according to an embodiment of the present invention.
- FIG. 2 is a ladder diagram illustrating a biometric registration process according to an embodiment of the present invention.
- FIG. 3 is a flowchart illustrating a method of generating a random code according to an embodiment of the present invention.
- FIG. 4 is a diagram illustrating an embodiment of a biometric registration process of an authentication device according to an embodiment of the present invention.
- FIG 5 is a view illustrating an authentication process of an authentication apparatus according to an embodiment of the present invention.
- FIG. 6 is a block diagram illustrating a data encryption process using a biometric code according to an embodiment of the present invention.
- FIG. 7 is a diagram illustrating a data decoding process using a biometric code according to an embodiment of the present invention.
- FIG. 8 is a block diagram illustrating an electronic device according to an embodiment of the present disclosure.
- a method of registering and authenticating a biometric code may include receiving first biometric information, generating a first biometric code by combining the first biometric information and dummy data, and the first biometric information. Encoding a code based on an error correction algorithm, hashing the first biometric code based on a hash function; And storing the encoded first biometric code and the hashed first biometric code in a database.
- error correction algorithm may be a Bose-Caudhro-Hocqeunghem (BCH) algorithm.
- the error correction algorithm may include a random code, and may further include generating the random code.
- the generating of the random code may include receiving the first biometric code and generating the random code by using a polynomial generation function of the first biometric code and the error correction algorithm. .
- the method may further include performing an XOR operation on the random code and the encoded first biometric code, wherein the XOR operation value may be verification data stored in the database.
- the method may further include receiving second biometric information for user authentication, generating a second biometric code by combining the second biometric information and dummy data, and using the encoded first biometric code and the error correction algorithm. Performing decoding on the second biometric code, hashing the decoded second biometric code based on the hash function, and the hashed first biometric code and the hashed second biometric code output from the database. Comparing the code.
- the performing of the decoding may include: performing a first XOR operation on the second biometric code and verification data, decoding the first XOR operation based on the error correction algorithm, and decoding the second biometric code and verification data. And performing a second XOR operation on the converted value and the verification data, wherein the verification data may be the encoded first biometric code.
- the method may further include hashing the second XOR calculated value based on the hash function, and comparing the hashed value with the hashed first biometric code stored in the database.
- the first biometric information may include at least one of a fingerprint, a voice, a face shape, an iris pattern, a shape of a hand, and a vein distribution on the back of the hand.
- An authentication device for receiving biometric information, generates a biometric code by adding dummy data to the biometric information, encodes the biometric code based on an error correction algorithm, And an authentication device for hashing the biometric code based on a hash function, storing the encoded biometric code and the hashed biometric code in a database, and an encryption device using the hashed biometric code stored in the database as an encryption key.
- the authentication system 10 may include an authentication device 100 and a database (DB) 200.
- the biometric information may be very diverse, such as fingerprint, voice, face shape, iris pattern, hand shape, and vein distribution of the back of the hand.
- the authentication device 100 detects a first biometric code (eg, C1) of the user, combines the detected first biometric code (C1) with 'data encoded through the error correction unit 110', and
- the first biometric code Encrypted C1 may be implemented to be stored in the database 200 as verification data.
- the encoded first biometric code Encrypted C1 may include parity for error correction.
- the first biometric code C1 may be received from a biometric sensor (not shown) inside or outside the authentication device 100.
- a biometric sensor not shown
- the authentication device 100 may be a part or the entire configuration of the LOCKIT product.
- the biometric codes C1 and C2 may further include dummy data to relatively improve the error correction capability of the original biometric information.
- the error correction unit 110 may be implemented in software / hardware / firmware by various kinds of error correction codes.
- ECC codes include low density parity check (LDPC) code, Bose-Caudhro-Hocqeunghem (BCH) code, turbo code, Reed-Solomon code, convolution code, recursive systematic code (RSC), Coded modulation, such as trellis-coded modulation (TCM), block coded modulation (BCM), or the like.
- the error correction unit 110 is implemented with a Bose-Caudhro-Hocqeunghem (BCH) code.
- BCH Bose-Caudhro-Hocqeunghem
- the authentication apparatus 100 may be implemented to hash the first biometric code C1 of the user through the hash unit 120 and to store the hashed first biometric code Hashed C1 in the database 200.
- the hash unit 120 may include a hash algorithm implemented in software / hardware / firmware.
- the hash unit 120 may be implemented using a secure hash algorithm (SHA-256, SHA-512).
- SHA-256, SHA-512 SHA-256, SHA-512
- the hash function of the present invention is not limited to SHA.
- the database 200 stores the verification data Encoded C1 and the hashed biometric code corresponding to the first biometric code C1 without storing the user's original first biometric code C1. Can be stored. This will be called registration of a user biometric code. Therefore, the authentication system 10 of the present invention can register the biometric code without storing the user's original biometric information (eg, biometric code).
- user authentication using the registered biometric code may proceed as follows. For convenience of explanation, it is assumed that a second biometric code C2 of a user who wants to authenticate a user has been received.
- the error correction unit 110 may correct an error of the received biometric code C2 using the error correction code and the encoded first biometric code Encrypted C1 of the database 200. Within the error correction capability range of the error correction unit 110, an error of the received second biometric code C2 may be corrected. This will be referred to as decoding of the second biometric code C2.
- the decoded second biometric code (Decoded C2, or C2 ') may be hashed by the hash unit 120.
- the comparison unit 130 compares the hashed decoded second biometric code (Hashed C2 ') with the hashed first biometric code (Hashed C1) stored in the database 200, thereby obtaining a user authentication result value (AUTHRSLT). You can output If the hashed second biometric code (Hashed C2 ′) output from the hash unit 120 and the hashed first biometric code (Hashed C1) read from the database 200 are the same, user authentication is successful. Otherwise, user authentication failed.
- the database 200 may be implemented to store verification data (Encrypted C1) generated in the process of registering a user's biometric code and a hashed biometric code (Hashed C1) corresponding thereto. That is, when the verification data Encrypted C1 and the hashed biometric code Hashed C1 are stored in the database 200, the biometric code of the user is registered. Meanwhile, in FIG. 1, the database 200 exists separately in the authentication apparatus 100. However, the present invention is not necessarily limited thereto. The present invention does not require a separate database, and may store the encrypted data Encrypted C1 and the hashed biometric code Hashed C1 in a memory inside the authentication apparatus 100.
- the authentication system 10 registers and registers a user's biometric code by storing original biometric information, for example, biometric code directly, and storing corresponding verification data and hashed biometric code.
- the user biometric code can be used for simple user authentication.
- FIG. 2 is a ladder diagram illustrating a biometric registration process according to an embodiment of the present invention. 1 and 2, the biometric registration process of a user may proceed as follows.
- the authentication device 100 may generate the biometric code of the user using the dummy data.
- the biometric code may be generated by adding dummy data to the original biometric information recognized by the user.
- the original biometric information may be information received from the biometric sensor.
- the original biometric information may be 4500 bits of data
- the dummy data may be 3691 bits of data.
- the size of the original biometric information and the size of the dummy data are not limited thereto.
- the length of the dummy data may be flexibly adjusted. Since the error correction rate of the error correction algorithm can be limited, the error correction rate of the original biometric information can be increased by adding dummy data to the original biometric information. However, as the size of the dummy data increases, the amount of computation may increase, and when the dummy data becomes shorter, the operation may be vulnerable to attack, and the error correction ability may also decrease. Therefore, it is necessary to use dummy data of an appropriate size.
- the size of the dummy data may be similar to or larger than the size of the original biometric information. If the size of the dummy data is smaller than the size of the original biometric information, the dummy data may be an attack target.
- the size of the dummy data may be adaptively changed according to the processing speed of the authentication apparatus 100.
- the authentication apparatus 100 may test an algorithm for registering and authenticating a biometric code to set a range of size of dummy data such that the entire operation is completed within a predetermined time.
- the authentication apparatus 100 may set the dummy data having the largest size within the set range.
- the lower limit of the size of the dummy data may be the size of the original biometric information.
- the upper limit of the size of the dummy data may be three times the size of the original biometric information.
- the lower and upper limits of the size of the dummy data are not limited thereto. In this case, no matter how slow the processing speed of the authentication device 100, the size of the dummy data may not be smaller than the size of the original biometric information. In addition, no matter how fast the processing speed of the authentication device 100, the size of the dummy data may not be larger than three times the size of the original biometric information.
- the dummy data may be randomly generated. In an embodiment, dummy data may be randomly generated using a hash function. In another embodiment, the dummy data may be predetermined data. For example, dummy data may be determined using time as a seed value.
- the dummy data may be generated by a combination of zeros and ones.
- the dummy data may consist of only zeros.
- a similar ratio of zeros and ones contained in the dummy data may be most desirable for security.
- the larger the ratio of 1 included in the dummy data the more difficult the error correction may be. Therefore, after determining the ratio of 0 and 1, dummy data may be generated using a random function. For example, after determining the ratio of 0 and 1 to 9 to 1, the position of 1 may be determined using a random function.
- the ratio of 0 and 1 included in the random function is described for illustrative purposes and is not limited thereto.
- the error correction unit 110 may encode the biometric code using the algorithm (dummy, combined with encoding) (S12).
- the encoded biometric code may be encrypted.
- the encoded and encrypted biometric code (eg, Encrypted C1) may be stored in the database 200 (see FIG. 1) as verification data (S12).
- the authentication apparatus 100 may hash the biometric code using the hash unit 120 (see FIG. 1) (S14).
- the hashed biometric code (eg, Hashed C1) may be stored in the database 200 (S22).
- the verification data of the user and the hashed biometric code are stored in the database 200, thereby completing the user biometric registration process.
- the authentication apparatus may additionally perform randomization operation on the verification data.
- FIG. 3 is a flowchart illustrating a method of generating a random code according to an embodiment of the present invention.
- the random code generation process may proceed as follows.
- a biometric code may be received (S13a).
- a random code may be generated using the function g (x) of the biometric code and the error correction algorithm (S13b).
- g (x) may be a BCH code generation function.
- the random code generation method shown in FIG. 3 is only an embodiment which does not limit the present invention.
- FIG. 4 is a diagram illustrating an embodiment of a biometric registration process of an authentication device according to an embodiment of the present invention. 1 to 4, the biometric registration process of the authentication apparatus 100 (refer to FIG. 1) is as follows.
- the verification data S may be generated by performing an XOR operation on the concatenated value w
- the biometric code w is hashed by a hash function
- the hashed biometric code H (w) can be generated. Since the verification data S and the hashed biometric code H (w) are stored in the database, the biometric code of the user can be registered.
- the dummy data e may have a random value.
- the method of adding the biometric code w and the dummy data e is not limited.
- the verification data S may be generated by performing an XOR operation on the concatenated value e
- the method of adding the biometric code (w) to the dummy data (e) may separate the dummy data (e) and the biometric code (w) from the result of adding the biometric code (w) to the dummy data (e). Any method can be used as long as there is a rule.
- FIG. 5 is a view illustrating an authentication process of an authentication apparatus according to an embodiment of the present invention. 1 to 5, the biometric authentication process of the authentication apparatus 100 (refer to FIG. 1) is as follows.
- the biometric code w 'to be authenticated with the user and the dummy data will be concatenated.
- the dummy data may be predetermined bit data composed of '0'.
- the concatenated value will be w '
- 0 and the verification data S will be performed.
- the XOR computed value QQQ will be decoded by the BCH decoder.
- the calculated value QQQ will satisfy the following equation.
- the codeword size of the BCH is 8191, the message length is 391, and the error correction length t is 1403.
- e is assuming that w 'and w are 1350, e is 53, and their sum is 1403. That is, QQQ may differ from C by 1403 bits. Therefore, decoding QQQ yields c.
- the resultant value of the second XOR operation will be the concatenated value w
- e) thus generated will be hashed by the hash function used to hash w.
- the comparison unit 130 (see FIG. 1) generates an authentication result (AUTHRSLT) by comparing the hashed biometric code H (w) read from the database 200 (see FIG. 1) with the hashed value in the hash function. can do.
- FIG. 6 is a block diagram illustrating a data encryption process using a biometric code according to an embodiment of the present invention. 1 to 6, a data encryption process is as follows.
- the verification data S and the hashed biometric code H (w) using the biometric code w, the dummy data e, and the random code c of the user are illustrated. May be generated (S110).
- the verification data S and the hashed biometric code H (w) may be stored in the database 200 (see FIG. 1) (S120).
- the data may be encrypted using the hashed biometric code H (w) (S130).
- the biometric code w may be used as an encryption key.
- the encryption key may be generated using the biometric code w, the method is not limited.
- the code to be used for authentication when storing / compare with the encryption key may be H (H (w)) that hashes the hashed code H (w) once more.
- the code H (w) to be compared may not be stored. Even if the authentication function is omitted, the key is generated in the iris, so the key cannot be generated because the other iris cannot be decoded.
- FIG. 7 is a diagram illustrating a data decoding process using a biometric code according to an embodiment of the present invention. 1 to 7, the data decoding process is as follows.
- the biometric code hashed using the biometric code w 'and the verification data S stored in the database 200 is received.
- (H (w)) may be generated (S210). Since the process of generating the hashed biometric code H (w) has been described with reference to FIG. 5, a description thereof will be omitted.
- the encrypted data may be decrypted using the biometric code w (S220).
- the biometric code w may be used as a decryption key.
- the key for decrypting the encrypted data may be generated using the biometric code w, and the method is not limited.
- H (H (w)) is stored in the database 200, and the comparison targets are H (H (w)) and H (H (w '), but the generation and storage method of the encryption key is not limited thereto. Do not.
- the electronic device 1000 may include a biometric sensor 1100, an authentication device 1200, and an encryption device 1300.
- the biometric sensor 1100 may be implemented to recognize a user's living body and generate biometric information. Although the biometric sensor 1100 illustrated in FIG. 8 exists inside the electronic device 1000, the present invention need not be limited thereto.
- the biometric sensor may be connected to the electronic device 1000 based on various communication protocols (wireless or wireless), and may exist outside the electronic device 1000.
- the authentication device 1200 may be implemented to register and authenticate the biometric code as described with reference to FIGS. 1 to 7.
- the encryption apparatus 1300 may be implemented to use the registered biometric code as a random number or an encryption key of an encryption / decryption operation.
- the encryption apparatus 1300 may be implemented to encrypt or decrypt data.
- the cryptographic apparatus 1300 may be implemented in software / hardware / firmware by standard cryptography.
- the encryption device 1300 may be implemented with an advanced encryption standard (AES) algorithm.
- AES advanced encryption standard
- An electronic device may include a biometric sensor that receives a living body, a biometric code by extracting a feature vector from the living body, and extracting a biometric code, and adding dummy data to the biometric code to add a living body dummy.
- a biometric sensor that receives a living body
- a biometric code by extracting a feature vector from the living body, and extracting a biometric code, and adding dummy data to the biometric code to add a living body dummy.
- Encoding step / device generating a code and generating a verification code by XORing the biometric dummy code with a codeword encoded based on an error correction algorithm, and hashing the biometric code based on a hash function [Storage device] for storing the code and the hashed biometric code in a database, and [Cryptographic device] for creating and using an encryption key in the biometric code.
- the steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, in a software module executed by hardware, or by a combination thereof.
- the software module may include random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any form of computer readable recording medium well known in the art.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Ophthalmology & Optometry (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Collating Specific Patterns (AREA)
- Storage Device Security (AREA)
Abstract
제 1 생체 정보를 수신하는 단계, 상기 제 1 생체 정보와 더미 데이터를 조합함으로써 제 1 생체 코드를 생성하는 단계, 상기 제 1 생체 코드를 에러 정정 코드로 인코딩하는 단계, 상기 제 1 생체 코드를 해쉬 함수에 의거하여 해쉬하는 단계 및 상기 인코딩된 제 1 생체 코드와 상기 해쉬된 제 1 생체 코드를 데이터베이스에 저장시키는 단계를 포함하는, 생체 코드를 등록 및 인증하는 방법이 개시된다.
Description
본 발명은 생체 코드를 등록 및 인증하는 방법 및 장치에 관한 것이다.
디바이스에 저장된 콘텐츠는 개인의 프라이버시와 관련된 중요한 데이터가 저장되는 경우가 많고, 개인의 프라이버시 보호에 대한 요구가 증대되고 있는 추세이다. 이에 따라, 콘텐츠의 암호화 및 복호화 방법에 대한 기술이 발전하고 있다.
그러나, 콘텐츠를 암호화 또는 복호화하기 위해서는 사용자가 별도의 절차를 수행해야 하기에, 콘텐츠의 암호화 또는 복호화 절차를 간소화하는 방법에 대한 수요가 증대되고 있다. 예를 들어, 생체 정보를 이용한 사용자 인증 및 암호화 기술이 소개되고 있다.
디지털 정보는 0 과 1로 이루어진 이진 정보수열(binary information sequence)로 표현된다고 가정할 수 있다. 이를 k 개의 비트 단위로 구성되는 블록들로 나누는데, 이러한 각각의 블록을 정보벡터(information vector)라 한다. 부호화(encoding) 과정은 하나의 정보벡터에 n 개의 비트로 구성된 벡터를 대응시키는 과정이다. 이 과정에서 대응되는 벡터를 부호어(codeword) 혹은 부호벡터(code vector)라 한다. 그리고 모든 부호어들의 집합을 [n, k] 부호라 부른다. 이러한 부호화 과정에서 추가되는 비트들을 패리티 비트(parity bit)라 하는데, 대부분의 경우 각각의 패리티 비트는 정보비트들의 특정한 선형결합으로 만들어진다. 일반적으로 주어진 n 과 k 에 대해 nk 개의 패리티 비트들을 어떠한 선형결합으로 설계하느냐에 따라 부호의 오류정정능력이 크게 달라진다.
본 발명의 목적은 오리지널 생체 정보를 저장하지 않으면서 생체 정보를 등록 및 인증하는 인증 장치의 방법 및 그것을 포함하는 전자 장치를 제공하는데 목적을 갖는다.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
본 발명의 실시 예에 따라 생체 코드를 등록 및 인증하는 방법은, 제 1 생체 정보를 수신하는 단계, 상기 제 1 생체 정보와 더미 데이터를 조합함으로써 제 1 생체 코드를 생성하는 단계, 상기 제 1 생체 코드를 에러 정정 알고리즘에 의거하여 인코딩하는 단계, 상기 제 1 생체 코드를 해쉬 함수에 의거하여 해쉬하는 단계; 및 상기 인코딩된 제 1 생체 코드와 상기 해쉬된 제 1 생체 코드를 데이터베이스에 저장시키는 단계를 포함한다.
본 발명의 실시 예에 따라 생체 코드를 등록 및 인증하는 방법 및 장치는 오리지널 생체 정보, 예를 들어, 생체 코드를 직접 저장하지 않고, 대응하는 검증 데이터 및 해쉬된 생체 코드를 저장함으로써 사용자의 생체 코드를 등록하고, 등록된 생체 코드를 이용하여 간단하게 사용자 인증을 수행할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 실시 예에 따른 생체 코드를 이용한 인증 시스템을 예시적으로 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 생체 등록 과정을 예시적으로 보여주는 래더 다이어그램이다.
도 3은 본 발명의 실시 예에 따른 랜덤 코드를 생성하는 방법을 예시적으로 보여주는 흐름도이다.
도 4는 본 발명의 실시 예에 따른 인증 장치의 생체 등록 과정에 대한 실시 예를 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 인증 장치의 인증 과정에 대한 실시 예를 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 생체 코드를 이용하는 데이터 암호화 과정을 예시적으로 보여주는 블록도이다.
도 7은 본 발명의 실시 예에 따른 생체 코드를 이용하는 데이터 복호화 과정을 예시적으로 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다.
본 발명의 실시 예에 따라 생체 코드를 등록 및 인증하는 방법은, 제 1 생체 정보를 수신하는 단계, 상기 제 1 생체 정보와 더미 데이터를 조합함으로써 제 1 생체 코드를 생성하는 단계, 상기 제 1 생체 코드를 에러 정정 알고리즘에 의거하여 인코딩하는 단계, 상기 제 1 생체 코드를 해쉬 함수에 의거하여 해쉬하는 단계; 및 상기 인코딩된 제 1 생체 코드와 상기 해쉬된 제 1 생체 코드를 데이터베이스에 저장시키는 단계를 포함한다.
또한, 상기 에러 정정 알고리즘은 BCH(Bose-Caudhro-Hocqeunghem) 알고리즘일 수 있다.
또한, 상기 에러 정정 알고리즘은 랜덤 코드를 포함하고, 상기 랜덤 코드를 생성하는 단계를 더 포함할 수 있다.
또한, 상기 랜덤 코드를 생성하는 단계는, 상기 제 1 생체 코드를 수신하는 단계 및 상기 제 1 생체 코드와 상기 에러 정정 알고리즘의 다항식 생성 함수를 이용하여 상기 랜덤 코드를 생성하는 단계를 포함할 수 있다.
또한, 상기 랜덤 코드와 상기 인코딩된 제 1 생체 코드를 XOR 연산하는 단계를 더 포함하고, 상기 XOR 연산된 값이 상기 데이터베이스에 저장되는 검증 데이터일 수 있다.
또한, 사용자 인증을 원하는 제 2 생체 정보를 수신하는 단계, 상기 제 2 생체 정보와 더미 데이터를 조합함으로써 제 2 생체 코드를 생성하는 단계, 상기 인코딩된 제 1 생체 코드 및 상기 에러 정정 알고리즘을 이용하여 상기 제 2 생체 코드에 대한 디코딩을 수행하는 단계, 상기 디코딩된 제 2 생체 코드를 상기 해쉬 함수에 의거하여 해쉬하는 단계 및 상기 데이터베이스로부터 출력된 상기 해쉬된 제 1 생체 코드 및 상기 해쉬된 제 2 생체 코드를 비교하는 단계를 포함할 수 있다.
또한, 상기 디코딩을 수행하는 단계는, 상기 제 2 생체 코드와 검증 데이터에 대한 제 1 XOR 연산을 수행하는 단계, 상기 제 1 XOR 연산된 값을 상기 에러 정정 알고리즘에 의거하여 디코딩하는 단계 및 상기 디코딩된 값과 상기 검증 데이터에 대한 제 2 XOR 연산을 수행하는 단계를 포함하고, 상기 검증 데이터는 상기 인코딩된 제 1 생체 코드일 수 있다.
또한, 상기 제 2 XOR 연산된 값을 상기 해쉬 함수에 의거하여 해쉬하는 단계 및 상기 해쉬된 값과 상기 데이터베이스에 저장된 해쉬된 제 1 생체 코드를 비교하는 단계를 포함할 수 있다.
또한, 상기 제 1 생체 정보는 지문, 음성, 얼굴 모양, 홍채 패턴, 손의 형태, 및 손등의 정맥 분포 중에서 적어도 하나를 포함할 수 있다.
본 발명의 일 실시 예에 따른 인증 장치는, 생체 정보를 수신하는 생체 인식 센서, 상기 생체 정보에 더미 데이터를 부가함으로써 생체 코드를 생성하고, 상기 생체 코드를 에러 정정 알고리즘에 의거하여 인코딩하고, 상기 생체 코드를 해쉬 함수에 의거하여 해쉬하고, 상기 인코딩된 생체 코드와 상기 해쉬된 생체 코드를 데이터베이스에 저장시키는 인증 장치 및 상기 데이터베이스에 저장된 해쉬된 생체 코드를 암호화키로 사용하는 암호 장치를 포함한다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.
도 1은 본 발명의 실시 예에 따른 생체 정보를 이용한 인증 시스템(10)을 예시적으로 보여주는 블록도이다. 도 1을 참조하면, 인증 시스템(10)은 인증 장치(100) 및 데이터베이스(DB, 200)를 포함할 수 있다. 여기서 생체 정보(biometric information)는, 지문, 음성, 얼굴 모양, 홍채 패턴, 손의 형태, 손등의 정맥 분포 등 아주 다양할 수 있다.
인증 장치(100)는 사용자의 제 1 생체 코드(예, C1)를 감지하고, 감지된 제 1 생체 코드(C1)를 ‘에러 정정 유닛(110)을 통하여 인코딩된 데이터’와 결합(XOR)하고, 결합된 제 1 생체 코드(Encrypted C1)를 검증 데이터로써 데이터 베이스(200)에 저장하도록 구현될 수 있다. 실시 예에 있어서, 인코딩된 제 1 생체 코드(Encrypted C1)는 에러 정정을 위한 패리티(parity)를 포함할 수 있다. 실시 예에 있어서, 제 1 생체 코드(C1)는 인증 장치(100)의 내부 혹은 외부의 생체 인식 센서(미도시)로부터 수신될 수 있다. 예를 들어, 제 1 생체 코드(C1)는 사용자의 홍채 코드일 때, 이러한 홍채 코드는 (주) 아이리시스의 LOCKIT 제품으로부터 제공될 수 있다. 다른 실시 예에 있어서, 제 1 생체 코드(C1)가 홍채 코드일 때, 인증 장치(100)는 LOCKIT 제품의 일부 혹은 전체 구성일 수 있다.
실시 예에 있어서, 생체 코드(C1, C2)는, 상대적으로 오리지널 생체 정보에 대한 에러 정정 능력을 향상시키도록 더미 데이터(dummy data)를 더 포함할 수 있다. 실시 예에 있어서, 에러 정정 유닛(110)은 다양한 종류의 에러 정정 코드(error correction code)에 의해 소프트웨어/하드웨어/펌웨어적으로 구현될 수 있다. 예를 들어, ECC 코드는 LDPC(low density parity check) code, BCH(Bose-Caudhro-Hocqeunghem) code, turbo code, 리드-솔로몬 코드(Reed-Solomon code), convolution code, RSC(recursive systematic code), TCM(trellis-coded modulation), BCM(Block coded modulation) 등의 코디드 모듈레이션(coded modulation), 혹은 그와 같은 것 일 수 있다. 아래에서는 설명의 편의를 위하여 에러 정정 유닛(110)은 BCH(Bose-Caudhro-Hocqeunghem) 코드로 구현되었다고 가정하겠다. 한편, 본 발명의 에러 정정 코드가 BCH에 제한되지 않는다고 이해되어야 할 것이다.
또한, 인증 장치(100)는 사용자의 제 1 생체 코드(C1)를 해쉬 유닛(120)을 통하여 해쉬하고, 해쉬된 제 1 생체 코드(Hashed C1)를 데이터베이스(200)에 저장하도록 구현될 수 있다. 실시 예에 있어서, 해쉬 유닛(120)은 소프트웨어/하드웨어/펌웨어적으로 구현된 해쉬 알고리즘을 포함할 수 있다. 예를 들어, 해쉬 유닛(120)은 SHA(secure hash algorithm; SHA-256, SHA-512)을 이용하여 구현될 수 있다. 한편, 본 발명의 해쉬 함수가 SHA에 제한되지 않는다고 이해되어야 할 것이다.
이로써, 데이터베이스(200)는, 사용자의 오리지널 제 1 생체 코드(C1)를 저장하지 않고, 제 1 생체 코드(C1)에 대응하는 검증 데이터(Encoded C1)와 해쉬된 생체 코드(Hashed Biometric Code)를 저장할 수 있다. 이를, 사용자 생체 코드의 등록이라고 부르겠다. 따라서, 본 발명의 인증 시스템(10)은 사용자의 오리지널 생체 정보(예, 생체 코드)를 저장하지 않으면서, 생체 코드를 등록할 수 있다.
또한, 등록된 생체 코드를 이용한 사용자 인증은 다음과 같이 진행될 수 있다. 설명의 편의를 위하여 사용자 인증을 원하는 사용자의 제 2 생체 코드(C2)가 수신되었다고 가정하겠다. 에러 정정 유닛(110)은, 에러 정정 코드 및 데이터베이스(200)의 인코딩된 제 1 생체 코드(Encrypted C1)를 이용하여 수신된 생체 코드(C2)의 에러를 정정할 수 있다. 에러 정정 유닛(110)의 에러 정정 능력 범위 내에서, 수신된 제 2 생체 코드(C2)의 에러가 정정될 수 있다. 이를, 제 2 생체 코드(C2)의 디코딩이라고 부르겠다. 디코딩된 제 2 생체 코드(Decoded C2, 혹은, C2’)는 해쉬 유닛(120)에 의해 해쉬 될 수 있다.
이후, 비교 유닛(130)은 이러한 해쉬된 디코딩된 제 2 생체 코드(Hashed C2’)와 데이터베이스(200)에 저장된 해쉬된 제 1 생체 코드(Hashed C1)을 비교함으로써, 사용자 인증 결과값(AUTHRSLT)을 출력할 수 있다. 만일, 해쉬 유닛(120)으로부터 출력된 해쉬된 제 2 생체 코드(Hashed C2’)와 데이터베이스(200)로부터 읽어온 해쉬된 제 1 생체 코드(Hashed C1)가 동일하면, 사용자 인증이 성공한 것이다. 반면에, 그렇지 않다면, 사용자 인증이 실패한 것이다.
데이터베이스(200)는 사용자의 생체 코드를 등록하는 과정에서 생성된 검증 데이터(Encrypted C1) 및 이에 대응하는 해쉬된 생체 코드(Hashed C1)를 저장하도록 구현될 수 있다. 즉, 검증 데이터(Encrypted C1) 및 해쉬된 생체 코드(Hashed C1)가 데이터베이스(200)에 저장되면, 사용자의 생체 코드가 등록된 것이다. 한편, 도 1에서 데이터베이스(200)는 인증 장치(100)에 별도로 존재한다. 하지만, 본 발명이 반드시 여기에 제한될 필요는 없다. 본 발명은 별도의 데이터베이스를 필요치 않고, 인증 장치(100)의 내부의 메모리에 검증 데이터(Encrypted C1) 및 해쉬된 생체 코드(Hashed C1)를 저장할 수도 있다. 본 발명의 실시 예에 따른 인증 시스템(10)은 오리지널 생체 정보, 예를 들어, 생체 코드를 직접 저장하지 않고, 대응하는 검증 데이터 및 해쉬된 생체 코드를 저장함으로써 사용자의 생체 코드를 등록하고, 등록된 생체 코드를 이용하여 간단하게 사용자 인증을 수행할 수 있다.
도 2는 본 발명의 실시 예에 따른 생체 등록 과정을 예시적으로 보여주는 래더 다이어그램이다. 도 1 및 도 2를 참조하면, 사용자의 생체 등록 과정은 다음과 같이 진행될 수 있다.
인증 장치(100)는 더미 데이터를 이용하여 사용자의 생체 코드를 생성할 수 있다. 실시 예에 있어서, 생체 코드는 사용자로부터 인식된 오리지널 생체 정보에 더미 데이터를 부가함으로써 생성될 수 있다. 여기서 오리지널 생체 정보는 생체 센서로부터 수신된 정보일 수 있다. 실시 예에 있어서, 오리지널 생체 정보는 4500 비트의 데이터이고, 더미 데이터는 3691 비트의 데이터일 수 있다. 한편, 오리지널 생체 정보의 크기 및 더미 데이터의 크기는 여기에 제한되지 않는다고 이해되어야 할 것이다.
실시 예에 있어서, 더미 데이터의 길이가 유동적으로 조정될 수 있다. 에러 정정 알고리즘의 에러 정정율은 제한될 수 있으므로, 오리지널 생체 정보에 더미 데이터를 부가함으로써 오리지널 생체 정보의 에러 정정율을 높일 수 있는 효과가 있다. 하지만, 더미 데이터의 크기가 커지면 연산량이 늘어날 수 있고, 더미 데이터가 짧아지면 공격에 취약해질 수 있고, 에러 정정능력 또한 떨어질 수 있다. 따라서, 적정한 크기의 더미 데이터를 이용하는 것이 필요하다.
일 실시 예에서, 더미 데이터의 크기는 오리지널 생체 정보의 크기와 비슷하거나 커야 할 수 있다. 더미 데이터의 크기가 오리지널 생체 정보의 크기보다 작을 경우, 더미 데이터가 공격의 대상이 될 수 있다.
일 실시 예에서, 더미 데이터의 크기는 인증 장치(100)의 처리속도에 따라 적응적으로 변화될 수 있다. 인증 장치(100)는 생체 코드를 등록 및 인증하는 알고리즘을 테스트하여, 전체 동작이 소정의 시간 내에 완료되도록 하는 더미 데이터의 크기의 범위를 설정할 수 있다. 인증 장치(100)는 설정된 범위 내에서 가장 큰 크기의 더미 데이터를 설정할 수 있다.
다른 실시 예에서, 더미 데이터의 크기의 하한과 상한이 존재할 수 있다. 예를 들어, 더미 데이터의 크기의 하한은 오리지널 생체 정보의 크기일 수 있다. 또한, 더미 데이터의 크기의 상한은 오리지널 생체 정보 크기의 세 배일 수 있다. 본 예시는 이해를 돕기 위해 서술된 것으로, 더미 데이터의 크기의 하한과 상한은 이에 제한되지 않는다. 이 경우, 인증 장치(100)의 처리 속도가 아무리 느려도 더미 데이터의 크기는 오리지널 생체 정보의 크기보다는 작아지지 않을 수 있다. 또한, 인증 장치(100)의 처리 속도가 아무리 빨라도 더미 데이터의 크기는 오리지널 생체 정보의 크기의 세 배보다는 커지지 않을 수 있다.
실시 예에 있어서, 더미 데이터는 랜덤하게 생성될 수 있다. 실시 예에 있어서, 더미 데이터는 해쉬 함수를 이용하여 랜덤하게 생성될 수 있다. 다른 실시 예에 있어서, 더미 데이터는 사전에 결정된 데이터일 수 있다. 예를 들어, 시간을 씨드값(seed value)으로 이용하여 더미 데이터가 결정될 수 있다.
일 실시 예에서, 더미 데이터는 0과 1의 조합으로 생성될 수 있다. 더미 데이터는 0만으로 이루어질 수도 있다. 더미 데이터에 포함된 0과 1의 비율이 비슷한 것이 보안에 있어서는 가장 바람직할 수 있다. 더미 데이터에 포함된 0과 1의 비율 차이가 클수록 보안에 있어 취약해질 수 있다. 반면에, 더미 데이터에 포함된 1의 비율이 클수록 에러 정정이 어려워질 수 있다. 따라서, 0과 1의 비율을 결정한 후, 랜덤함수를 이용하여 더미 데이터를 생성할 수 있다. 예를 들어, 0과 1의 비율을 9대 1로 결정한 후, 1의 위치를 랜덤함수를 이용하여 결정할 수 있다. 랜덤 함수에 포함되는 0과 1의 비율은 예시를 위해 서술된 것으로, 이에 제한되지 않는다.
이후, 에러 정정 유닛(110, 도 1 참조)은 생체 코드를 상기 알고리즘(더미, 인코딩과 결합하는 것)을 이용하여 인코딩할 수 있다(S12). 일 실시 예에서, 인코딩된 생체 코드가 암호화될 수 있다. 인코딩 및 암호화된 생체 코드(예, Encrypted C1)는 검증 데이터로 데이터베이스(200, 도 1 참조)에 저장될 수 있다(S12).
또한, 인증 장치(100)는 해쉬 유닛(120, 도 1 참조)을 이용하여 생체 코드를 해쉬 시킬 수 있다(S14). 해쉬된 생체 코드(예, Hashed C1)는 데이터베이스(200)에 저장될 수 있다(S22).
상술된 바와 같이, 사용자의 검증 데이터 및 해쉬된 생체 코드가 데이터베이스(200)에 저장됨으로써, 사용자 생체 등록 과정이 완료될 수 있다.
한편, 본 발명의 실시 예에 따른 인증 장치는 추가적으로 검증 데이터에 대한 랜덤화 동작을 수행할 수도 있다.
도 3은 본 발명의 실시 예에 따른 랜덤 코드를 생성하는 방법을 예시적으로 보여주는 흐름도이다. 도 3을 참조하면, 랜덤 코드 생성 과정은 다음과 같이 진행될 수 있다.
우선, 생체 코드가 수신될 수 있다(S13a). 생체 코드와 에러정정 알고리즘의 함수(g(x))를 이용하여 랜덤 코드가 생성될 수 있다(S13b). 실시 예에 있어서, g(x)는 BCH 코드 생성 함수 일 수 있다. 한편, 도 3에 도시된 랜덤 코드 생성 방법은 본 발명을 제한하지 않는 실시 예에 불과하다고 이해되어야 할 것이다.
도 4는 본 발명의 실시 예에 따른 인증 장치의 생체 등록 과정에 대한 실시 예를 보여주는 도면이다. 도 1 내지 도 4를 참조하면, 인증 장치(100, 도 1 참조)의 생체 등록 과정은 다음과 같다.
생체 코드(w)와 더미 데이터(e)의 연접한 값(w||e)과 랜덤 코드(c)를 XOR 연산함으로써 검증 데이터(S)가 생성 될 수 있다. 생체 코드(w)가 해쉬 함수에 의해 해쉬됨으로써, 해쉬된 생체 코드(H(w))가 생성될 수 있다. 이러한 검증 데이터(S)와 해쉬된 생체 코드(H(w))가 데이터베이스에 저장됨으로써, 사용자의 생체 코드가 등록될 수 있다. 여기서 더미 데이터(e)는 랜덤한 값을 가질 수 있다.
생체 코드(w)와 더미 데이터(e)를 부가하는 방법은 제한되지 않는다. 다른 실시 예에서, 더미 데이터(e)와 생체 코드(w)의 연접한 값(e||w)과 랜덤 코드(c)를 XOR 연산함으로써 검증 데이터(S)가 생성 될 수 있다. 또한, 더미 데이터(e)와 생체 코드(w)를 소정의 규칙에 따라 조합한 값과 랜덤 코드(c)를 XOR 연산함으로써 검증 데이터(S)가 발생될 수도 있다. 더미 데이터(e)에 생체 코드(w)를 부가하는 방법은, 더미 데이터(e)에 생체 코드(w)를 부가한 결과물에서 다시 더미 데이터(e)와 생체 코드(w)를 분리할 수 있는 규칙만 있다면 어떠한 방법이라도 이용될 수 있다.
도 5는 본 발명의 실시 예에 따른 인증 장치의 인증 과정에 대한 실시 예를 보여주는 도면이다. 도 1 내지 도 5를 참조하면, 인증 장치(100, 도 1 참조)의 생체 인증 과정을 다음과 같다.
사용자 인증을 원하는 생체 코드(w')와 더미 데이터가 연접될 것이다. 여기서 더미 데이터는 '0'으로 구성된 소정의 비트 데이터일 수 있다. 이 경우 연접한 값은 w'||0 이 될 것이다. 이렇게 연접한 값(w'||0)과 검증 데이터(S)에 대한 제 1 XOR(exclusive OR) 연산이 수행될 것이다. XOR 연산된 값(QQQ)은 BCH 디코더에 의해 디코딩 될 것이다. 여기서 연산된 값(QQQ) 은 아래의 수학식을 만족할 것이다.
S = w || e + c = w + c || e + c
QQQ = S + (w' || 0) = w'+ w + c || e + c = (w' + w || e ) + c
BCH의 codeword크기는 8191이고, message 길이는 391이고, 에러정정길이 t는 1403이라고 하자. 여기서 연접한 값(w||e)의 C에 대하여 QQQ가 갖는 해밍거리(Hamming distance)는, w‘과 w는 1350라 가정할 때, e는 53, 따라서 그것들의 합은 1403이다. 즉, QQQ는 C와 1403비트 차이가 날 수 있다. 그러므로 QQQ를 디코딩 하면 c를 얻을 수 있다.
이후, 디코딩된 값(c)과 검증 데이터(S)에 대한 제 2 XOR 연산이 수행될 것이다. 제 2 XOR 연산의 결과 값은, 도 4에 생체 등록시 이용된 연접한 값(w||e)이 될 것이다. 이렇게 생성된 연접한 값(w||e)이 w를 해쉬하는 데 이용된 해쉬 함수에 의해 해쉬 될 것이다.
비교 유닛(130, 도 1 참조)은 데이터베이스(200, 도 1 참조)로부터 읽혀진 해쉬된 생체 코드(H(w))와 해쉬 함수에서 해쉬된 값이 동일한 지를 비교함으로써, 인증 결과(AUTHRSLT)를 생성할 수 있다.
도 6은 본 발명의 실시 예에 따른 생체 코드를 이용하는 데이터 암호화 과정을 예시적으로 보여주는 블록도이다. 도 1 내지 도 6을 참조하면, 데이터 암호화 과정은 다음과 같다.
도 4 및 도 5에서 설명된 바와 같이, 사용자의 생체 코드(w), 더미 데이터(e), 및 랜덤 코드(c)를 이용하여 검증 데이터(S)와 해쉬된 생체 코드(H(w))가 생성될 수 있다(S110). 검증 데이터(S) 및 해쉬된 생체 코드(H(w))가 데이터베이스(200, 도 1 참조)가 저장될 수 있다(S120).
이후, 데이터 암호화를 원할 경우, 해쉬된 생체 코드(H(w))를 이용하여 데이터를 암호화시킬 수 있다(S130). 여기서 생체 코드(w)는 암호화키로 사용될 수 있다. 일 실시 예에서, 암호화키는 생체 코드(w)를 이용하여 생성될 수 있으며, 그 방법은 제한되지 않는다. 실시 예에 있어서, 암호화 키로 저장/비교할 때 인증에 사용할 코드는 해쉬된 코드(H(w))를 한번 더 해쉬한 H(H(w))일 수 있다. 다른 실시 예에 있어서, 비교할 코드 H(w)가 저장되지 않을 수도 있다. 인증기능이 빠지더라도 홍채에서 키가 생성되므로 다른 홍채로는 디코드가 불가하여 키를 생성할 수 없기 때문이다.
도 7은 본 발명의 실시 예에 따른 생체 코드를 이용하는 데이터 복호화 과정을 예시적으로 보여주는 도면이다. 도 1 내지 도 7을 참조하면, 데이터 복호화 과정은 다음과 같다.
암호화된 데이터에 대한 복호화 동작을 원할 경우, 사용자의 생체 코드를 수신하고, 수신된 생체 코드(w')와 데이터베이스(200, 도 1 참조)에 저장된 검증 데이터(S)를 이용하여 해쉬된 생체 코드(H(w))가 생성될 수 있다(S210). 해쉬된 생체 코드(H(w))가 생성되는 과정은 도 5에서 설명되었기 때문에 여기서는 설명을 생략하겠다. 생체 코드(w)를 이용하여 암호화된 데이터를 복호화시킬 수 있다(S220). 여기서 생체 코드(w)는 복호화키로 사용될 수 있다. 일 실시 예에서, 암호화된 데이터를 복호화시키기 위한 키는 생체 코드(w)를 이용하여 생성될 수 있으며, 그 방법은 제한되지 않는다. 이때, 데이터베이스(200)에 H(H(w))가 저장되고, 비교 대상은 H(H(w))와 H(H(w’)이다. 그러나 암호화키의 생성, 저장방식은 이에 한정하지 않는다.
도 8은 본 발명의 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다. 도 8을 참조하면, 전자 장치(1000)는 생체 인식 센서(1100), 인증 장치(1200), 및 암호 장치(1300)를 포함할 수 있다.
생체 인식 센서(1100)는 사용자의 생체를 인식하고 생체 정보를 생성하도록 구현될 수 있다. 도 8에 도시된 생체 인식 센서(1100)는 전자 장치(1000) 내부에 존재하지만, 본 발명이 여기에 제한될 필요는 없다. 생체 인식 센서는 전자 장치(1000)에 다양한 통신 프로토콜(유무선)에 의거하여 연결되고, 전자 장치(1000)의 외부에 존재할 수도 있다.
인증 장치(1200)는 도 1 내지 도 7에서 설명된 바와 같이 생체 코드를 등록 및 인증하도록 구현될 수 있다.
암호 장치(1300)는 등록된 생체 코드를 암/복호 동작의 난수 혹은 암호화키로 이용하도록 구현될 수 있다. 암호 장치(1300)는 데이터를 암호화 혹은 복호화시킬 수 있도록 구현될 수 있다. 암호 장치(1300)는 표준 암호에 의해 소프트웨어/하드웨어/펌웨어적으로 구현될 수 있다. 예를 들어 암호 장치(1300)는 AES(advanced encryption standard) 알고리즘으로 구현될 수 있다.
본 발명의 실시 예에 따른 인증 장치의 방법은, 생체(=bio)에서 특징벡터를 추출하여 제 1 생체코드를 생성하는 단계(=w), 제 1 생체 코드(=w)를 수신하는 단계, 상기 제 1 생체 코드(w)에 더미 데이터를 연접함으로써 제 1 생체 코드(w||e)를 생성하는 단계, 상기 제 1 생체 코드(w||e)를 에러 정정 알고리즘에 의거하여 인코딩된 Codeword와 XOR하여 암호화 하는 단계, 상기 제 1 생체 코드(=w)를 해쉬 함수에 의거하여 해쉬하는 단계, 및 상기 encrypted bio data 된 제 1 생체 코드(=w||e XOR c = S)와 상기 해쉬된 제 1 생체 코드(=H(w))를 데이터베이스에 저장시키는 단계를 포함할 수 있다.
본 발명의 실시 예에 따른 전자 장치는, 생체를 수신하는 생체 인식 센서, 상기 생체에서 특징 벡터를 추출하여 생체 코드를 생성하는 [추출단계/장치], 상기 생체 코드에 더미 데이터를 부가하여 생체 더미 코드를 생성하고, 상기 생체 더미 코드를 ‘에러 정정 알고리즘에 의거하여 인코딩된 codeword’와 XOR하여 검증 코드를 생성하는 [인코딩단계/장치], 상기 생체 코드를 해쉬 함수에 의거하여 해쉬하고, 상기 검증 코드와 상기 해쉬된 생체 코드를 데이터베이스에 저장시키는 [저장장치], 및 상기 생체 코드에서 암호화키를 만들어 사용하는 [암호 장치]를 포함할 수 있다.
한편, 상술된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
Claims (10)
- 생체 코드를 등록 및 인증하는 방법에 있어서:제 1 생체 정보를 수신하는 단계;상기 제 1 생체 정보와 더미 데이터를 조합함으로써 제 1 생체 코드를 생성하는 단계;상기 제 1 생체 코드를 에러 정정 알고리즘에 의거하여 인코딩하는 단계;상기 제 1 생체 코드를 해쉬 함수에 의거하여 해쉬하는 단계; 및상기 인코딩된 제 1 생체 코드와 상기 해쉬된 제 1 생체 코드를 데이터베이스에 저장시키는 단계를 포함하는 방법.
- 제 1 항에 있어서,상기 에러 정정 알고리즘은 BCH(Bose-Caudhro-Hocqeunghem) 알고리즘인 방법.
- 제 1 항에 있어서,상기 에러 정정 알고리즘은 랜덤 코드를 포함하고,상기 랜덤 코드를 생성하는 단계를 더 포함하는 방법.
- 제 3 항에 있어서,상기 랜덤 코드를 생성하는 단계는,상기 제 1 생체 코드를 수신하는 단계; 및상기 제 1 생체 코드와 상기 에러 정정 알고리즘의 다항식 생성 함수를 이용하여 상기 랜덤 코드를 생성하는 단계를 포함하는 방법.
- 제 3 항에 있어서,상기 랜덤 코드와 상기 인코딩된 제 1 생체 코드를 XOR 연산하는 단계를 더 포함하고,상기 XOR 연산된 값이 상기 데이터베이스에 저장되는 검증 데이터인 방법.
- 제 1 항에 있어서,사용자 인증을 원하는 제 2 생체 정보를 수신하는 단계;상기 제 2 생체 정보와 더미 데이터를 조합함으로써 제 2 생체 코드를 생성하는 단계;상기 인코딩된 제 1 생체 코드 및 상기 에러 정정 알고리즘을 이용하여 상기 제 2 생체 코드에 대한 디코딩을 수행하는 단계;상기 디코딩된 제 2 생체 코드를 상기 해쉬 함수에 의거하여 해쉬하는 단계; 및상기 데이터베이스로부터 출력된 상기 해쉬된 제 1 생체 코드 및 상기 해쉬된 제 2 생체 코드를 비교하는 단계를 포함하는 방법.
- 제 6 항에 있어서,상기 디코딩을 수행하는 단계는,상기 제 2 생체 코드와 검증 데이터에 대한 제 1 XOR 연산을 수행하는 단계;상기 제 1 XOR 연산된 값을 상기 에러 정정 알고리즘에 의거하여 디코딩하는 단계; 및상기 디코딩된 값과 상기 검증 데이터에 대한 제 2 XOR 연산을 수행하는 단계를 포함하고,상기 검증 데이터는 상기 인코딩된 제 1 생체 코드인 방법.
- 제 7 항에 있어서,상기 제 2 XOR 연산된 값을 상기 해쉬 함수에 의거하여 해쉬하는 단계; 및상기 해쉬된 값과 상기 데이터베이스에 저장된 해쉬된 제 1 생체 코드를 비교하는 단계를 포함하는 방법.
- 제 1 항에 있어서,상기 제 1 생체 정보는 지문, 음성, 얼굴 모양, 홍채 패턴, 손의 형태, 및 손등의 정맥 분포 중에서 적어도 하나를 포함하는 방법.
- 생체 정보를 수신하는 생체 인식 센서;상기 생체 정보에 더미 데이터를 부가함으로써 생체 코드를 생성하고, 상기 생체 코드를 에러 정정 알고리즘에 의거하여 인코딩하고, 상기 생체 코드를 해쉬 함수에 의거하여 해쉬하고, 상기 인코딩된 생체 코드와 상기 해쉬된 생체 코드를 데이터베이스에 저장시키는 인증 장치; 및상기 데이터베이스에 저장된 해쉬된 생체 코드를 암호화키로 사용하는 암호 장치를 포함하는, 생체 코드를 등록 및 인증하는 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20160087044 | 2016-07-08 | ||
KR1020160109503A KR101861591B1 (ko) | 2016-07-08 | 2016-08-26 | 생체 코드를 등록 및 인증하는 방법 및 장치 |
KR10-2016-0109503 | 2016-08-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018038444A1 true WO2018038444A1 (ko) | 2018-03-01 |
Family
ID=61025877
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2017/008814 WO2018043951A1 (ko) | 2016-07-08 | 2017-08-14 | 생체정보를 이용하여 결제 인증을 수행하는 포스 장치, 시스템 및 그 제어방법 |
PCT/KR2017/008813 WO2018038445A1 (ko) | 2016-07-08 | 2017-08-14 | 암호 파일을 관리하는 모바일 장치의 방법 및 그것을 포함하는 암호 파일 관리 시스템 |
PCT/KR2017/008812 WO2018038444A1 (ko) | 2016-07-08 | 2017-08-14 | 생체 코드를 등록 및 인증하는 방법 및 장치 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2017/008814 WO2018043951A1 (ko) | 2016-07-08 | 2017-08-14 | 생체정보를 이용하여 결제 인증을 수행하는 포스 장치, 시스템 및 그 제어방법 |
PCT/KR2017/008813 WO2018038445A1 (ko) | 2016-07-08 | 2017-08-14 | 암호 파일을 관리하는 모바일 장치의 방법 및 그것을 포함하는 암호 파일 관리 시스템 |
Country Status (2)
Country | Link |
---|---|
KR (3) | KR101861591B1 (ko) |
WO (3) | WO2018043951A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7178507B2 (ja) * | 2019-03-04 | 2022-11-25 | テレフオンアクチーボラゲット エルエム エリクソン(パブル) | 固定ネットワーク住宅用ゲートウェイの認証決定 |
KR102631694B1 (ko) | 2020-01-02 | 2024-01-31 | 재단법인 대구경북과학기술원 | 데이터에 대한 암/복호화 및 채널코딩을 수행하는 방법 및 시스템 |
WO2023277212A1 (ko) * | 2021-06-29 | 2023-01-05 | 주식회사 아이리시스 | 생체 정보를 이용한 퍼지 커밋먼트 기반 퍼지 축출 시스템 및 폐기 가능 생체 정보 보안 시스템 |
KR20230122447A (ko) * | 2022-02-14 | 2023-08-22 | 삼성전자주식회사 | 생체 정보를 이용하여 컨텐트를 보호하는 디바이스 및 그 동작 방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060044801A (ko) * | 2004-05-12 | 2006-05-16 | 삼성전자주식회사 | 생체 인식 데이터를 이용한 암호화키 생성 방법 및 장치 |
JP2006338612A (ja) * | 2005-06-06 | 2006-12-14 | Hitachi Ltd | 本人認証システム |
KR100787114B1 (ko) * | 2006-06-20 | 2007-12-21 | 연세대학교 산학협력단 | 생체정보 변환 방법 및 이를 이용한 검증시스템 |
JP2012238256A (ja) * | 2011-05-13 | 2012-12-06 | Hitachi Ltd | 生体認証装置、生体認証方法および生体認証プログラム |
KR20160006836A (ko) * | 2014-07-09 | 2016-01-20 | 전남대학교산학협력단 | 생체정보 또는 생체정보로부터 파생된 정보 또는 사용자 특징 정보를 이용한 안전한 인증 시스템, 그 시스템에서의 인증 제어를 위한 장치 및 방법 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070074894A (ko) * | 2006-01-11 | 2007-07-18 | 주식회사 라트칸 | 데이터 기록매체에 저장된 자료의 보안 방법 |
KR100952300B1 (ko) * | 2008-04-07 | 2010-04-13 | 한양대학교 산학협력단 | 저장매체의 안전한 데이터 관리를 위한 단말 장치, 메모리및 그 방법 |
KR20130008125A (ko) * | 2011-07-11 | 2013-01-22 | 주식회사 비즈모델라인 | 사용자의 결제수단과 동적 매핑된 결제식별번호를 이용한 결제 |
KR20140071605A (ko) * | 2012-12-04 | 2014-06-12 | 삼성전자주식회사 | 데이터 처리 방법, 센서 장치 및 사용자 단말 |
KR20150121892A (ko) * | 2014-04-22 | 2015-10-30 | 에스케이플래닛 주식회사 | 생체 정보 인식을 이용한 결제 방법, 이를 위한 장치 및 시스템 |
KR101622377B1 (ko) | 2014-06-25 | 2016-05-19 | 주식회사 아이리시스 | 홍채인식보안기능이 구비된 usb장치 및 그 제어방법 |
KR20160016522A (ko) * | 2014-07-31 | 2016-02-15 | 삼성전자주식회사 | 콘텐츠를 암호화/복호화하는 디바이스 및 방법 |
KR20160072682A (ko) * | 2014-12-15 | 2016-06-23 | 삼성전자주식회사 | 생체 정보를 이용한 인증 방법 및 이를 위한 전자 장치 |
-
2016
- 2016-08-26 KR KR1020160109503A patent/KR101861591B1/ko active IP Right Grant
- 2016-08-26 KR KR1020160109502A patent/KR101852526B1/ko active IP Right Grant
- 2016-09-02 KR KR1020160113441A patent/KR101882971B1/ko active IP Right Grant
-
2017
- 2017-08-14 WO PCT/KR2017/008814 patent/WO2018043951A1/ko active Application Filing
- 2017-08-14 WO PCT/KR2017/008813 patent/WO2018038445A1/ko active Application Filing
- 2017-08-14 WO PCT/KR2017/008812 patent/WO2018038444A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060044801A (ko) * | 2004-05-12 | 2006-05-16 | 삼성전자주식회사 | 생체 인식 데이터를 이용한 암호화키 생성 방법 및 장치 |
JP2006338612A (ja) * | 2005-06-06 | 2006-12-14 | Hitachi Ltd | 本人認証システム |
KR100787114B1 (ko) * | 2006-06-20 | 2007-12-21 | 연세대학교 산학협력단 | 생체정보 변환 방법 및 이를 이용한 검증시스템 |
JP2012238256A (ja) * | 2011-05-13 | 2012-12-06 | Hitachi Ltd | 生体認証装置、生体認証方法および生体認証プログラム |
KR20160006836A (ko) * | 2014-07-09 | 2016-01-20 | 전남대학교산학협력단 | 생체정보 또는 생체정보로부터 파생된 정보 또는 사용자 특징 정보를 이용한 안전한 인증 시스템, 그 시스템에서의 인증 제어를 위한 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2018038445A1 (ko) | 2018-03-01 |
KR20180006253A (ko) | 2018-01-17 |
KR101861591B1 (ko) | 2018-05-28 |
KR101882971B1 (ko) | 2018-07-27 |
KR20180006251A (ko) | 2018-01-17 |
KR20180006250A (ko) | 2018-01-17 |
KR101852526B1 (ko) | 2018-06-07 |
WO2018043951A1 (ko) | 2018-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110493197B (zh) | 一种登录处理方法及相关设备 | |
KR101095239B1 (ko) | 보안 통신 | |
EP1149475B1 (en) | A fuzzy commitment scheme | |
US7127067B1 (en) | Secure patch system | |
CN104104517B (zh) | 一次性密码验证的方法和*** | |
WO2018038444A1 (ko) | 생체 코드를 등록 및 인증하는 방법 및 장치 | |
US9906363B2 (en) | Encrypted data verification system, method and recording medium | |
US11245680B2 (en) | Garbled circuit for device authentication | |
CN113297591B (zh) | 一种网页资源加密方法、设备及存储介质 | |
US9515989B1 (en) | Methods and apparatus for silent alarm channels using one-time passcode authentication tokens | |
CN113688399A (zh) | 固件数字签名保护方法、装置、计算机设备及存储介质 | |
US7809130B1 (en) | Password recovery system and method | |
JP6229715B2 (ja) | 暗号文照合システムと方法とプログラム | |
Ziauddin et al. | Robust iris verification for key management | |
Zhu et al. | Efficient and precise secure generalized edit distance and beyond | |
JP6229713B2 (ja) | 暗号文照合システムと方法とプログラム | |
US20230362136A1 (en) | Secure Data Exchange Using Format-Preserving Encryption | |
CN111756540A (zh) | 一种传送密文的方法、终端、服务器及*** | |
Seo et al. | Construction of a New Biometric‐Based Key Derivation Function and Its Application | |
CN115935299A (zh) | 授权控制方法、装置、计算机设备和存储介质 | |
KR101290818B1 (ko) | 보안 패치 시스템 | |
WO2021206727A1 (en) | Neural networks | |
JP2015154291A (ja) | デバイス固有情報生成装置及びデバイス固有情報生成システムとデバイス固有情報生成方法 | |
KR102357694B1 (ko) | 생체 정보를 이용한 퍼지 커밋먼트 기반 퍼지 축출 시스템 및 폐기 가능 생체 정보 보안 시스템 | |
US11343078B2 (en) | System and method for secure input at a remote service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17843864 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17843864 Country of ref document: EP Kind code of ref document: A1 |