KR101861591B1 - Method and device for enrolling and authenticating biometric code - Google Patents

Method and device for enrolling and authenticating biometric code Download PDF

Info

Publication number
KR101861591B1
KR101861591B1 KR1020160109503A KR20160109503A KR101861591B1 KR 101861591 B1 KR101861591 B1 KR 101861591B1 KR 1020160109503 A KR1020160109503 A KR 1020160109503A KR 20160109503 A KR20160109503 A KR 20160109503A KR 101861591 B1 KR101861591 B1 KR 101861591B1
Authority
KR
South Korea
Prior art keywords
biometric
code
biometric code
hashed
dummy data
Prior art date
Application number
KR1020160109503A
Other languages
Korean (ko)
Other versions
KR20180006251A (en
Inventor
한승은
Original Assignee
주식회사 아이리시스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 아이리시스 filed Critical 주식회사 아이리시스
Priority to PCT/KR2017/008812 priority Critical patent/WO2018038444A1/en
Publication of KR20180006251A publication Critical patent/KR20180006251A/en
Application granted granted Critical
Publication of KR101861591B1 publication Critical patent/KR101861591B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • G06K9/00597
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris

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)
  • Collating Specific Patterns (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)

Abstract

제 1 생체 정보를 수신하는 단계, 상기 제 1 생체 정보와 더미 데이터를 조합함으로써 제 1 생체 코드를 생성하는 단계, 상기 제 1 생체 코드를 에러 정정 코드로 인코딩하는 단계, 상기 제 1 생체 코드를 해쉬 함수에 의거하여 해쉬하는 단계 및 상기 인코딩된 제 1 생체 코드와 상기 해쉬된 제 1 생체 코드를 데이터베이스에 저장시키는 단계를 포함하는, 생체 코드를 등록 및 인증하는 방법이 개시된다.Receiving first biometric information, generating a first biometric code by combining the first biometric information and dummy data, encoding the first biometric code with an error correction code, converting the first biometric code into a hash And storing the encoded first biometric code and the hashed first biometric code in a database, wherein the biometric code is registered and authenticated.

Description

생체 코드를 등록 및 인증하는 방법 및 장치 {METHOD AND DEVICE FOR ENROLLING AND AUTHENTICATING BIOMETRIC CODE}METHOD AND DEVICE FOR ENROLLING AND AUTHENTICATING BIOMETRIC CODE [0002]

본 발명은 생체 코드를 등록 및 인증하는 방법 및 장치에 관한 것이다.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 an individual, and there is an increasing tendency to protect the privacy of an individual. Accordingly, techniques for encrypting and decrypting contents have been developed.

그러나, 콘텐츠를 암호화 또는 복호화하기 위해서는 사용자가 별도의 절차를 수행해야 하기에, 콘텐츠의 암호화 또는 복호화 절차를 간소화하는 방법에 대한 수요가 증대되고 있다. 예를 들어, 생체 정보를 이용한 사용자 인증 및 암호화 기술이 소개되고 있다.However, since a user has to perform a separate procedure in order to encrypt or decrypt the content, a demand for a method for simplifying the encryption or decryption process of the content is increasing. For example, user authentication and encryption techniques using biometric information are introduced.

디지털 정보는 0 과 1로 이루어진 이진 정보수열(binary information sequence)로 표현된다고 가정할 수 있다. 이를 k 개의 비트 단위로 구성되는 블록들로 나누는데, 이러한 각각의 블록을 정보벡터(information vector)라 한다. 부호화(encoding) 과정은 하나의 정보벡터에 n 개의 비트로 구성된 벡터를 대응시키는 과정이다. 이 과정에서 대응되는 벡터를 부호어(codeword) 혹은 부호벡터(code vector)라 한다. 그리고 모든 부호어들의 집합을 [n, k] 부호라 부른다. 이러한 부호화 과정에서 추가되는 비트들을 패리티 비트(parity bit)라 하는데, 대부분의 경우 각각의 패리티 비트는 정보비트들의 특정한 선형결합으로 만들어진다. 일반적으로 주어진 n 과 k 에 대해 nk 개의 패리티 비트들을 어떠한 선형결합으로 설계하느냐에 따라 부호의 오류정정능력이 크게 달라진다.It can be assumed that the digital information is represented by a binary information sequence consisting of 0 and 1. This block is divided into k blocks. Each block is called an information vector. The encoding process is a process of mapping a vector composed of n bits to one information vector. In this process, the corresponding vector is called a codeword or a code vector. The set of all codewords is called the [n, k] code. The bits added in the encoding process are referred to as parity bits. In most cases, each parity bit is formed by a specific linear combination of information bits. Generally, the error correction capability of codes varies greatly depending on the linear combination of nk parity bits for given n and k.

등록특허공보 제 10-1622377호, 2016.05.12 등록Registered Patent Publication No. 10-1622377, Registered on May 12, 2016

본 발명의 목적은 오리지널 생체 정보를 저장하지 않으면서 생체 정보를 등록 및 인증하는 인증 장치의 방법 및 그것을 포함하는 전자 장치를 제공하는데 목적을 갖는다.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.

본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the above-mentioned problems, and other problems which are not mentioned can be clearly understood by those skilled in the art from the following description.

본 발명의 실시 예에 따라 생체 코드를 등록 및 인증하는 방법은, 생체(=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))를 데이터베이스에 저장시키는 단계를 포함할 수 있다.A method of registering and authenticating a biometric code according to an embodiment of the present invention includes a step of extracting a feature vector from a bio (= bio) to generate a first biometric code (= w), a first biometric code (= w) Generating a first biometric code (w || e) by concatenating dummy data to the first biometric code (w), generating the first biometric code (w || e) based on an error correction algorithm XORing the first biometric code (= w) with the encoded Codeword, hashing the first biometric code (= w) based on the hash function, And storing the hashed first biometric code (= H (w)) in the database.

본 발명의 실시 예에 따라 생체 코드를 등록 및 인증하는 장치는, 생체를 수신하는 생체 인식 센서, 상기 생체에서 특징 벡터를 추출하여 생체 코드를 생성하는 [추출단계/장치], 상기 생체 코드에 더미 데이터를 부가하여 생체 더미 코드를 생성하고, 상기 생체 더미 코드를 ‘에러 정정 알고리즘에 의거하여 인코딩된 codeword’와 XOR하여 검증 코드를 생성하는 [인코딩단계/장치], 상기 생체 코드를 해쉬 함수에 의거하여 해쉬하고, 상기 검증 코드와 상기 해쉬된 생체 코드를 데이터베이스에 저장시키는 [저장장치], 및 상기 생체 코드에서 암호화키를 만들어 사용하는 [암호 장치]를 포함할 수 있다.According to an embodiment of the present invention, there is provided an apparatus for registering and authenticating a biometric code, comprising: a biometric sensor for receiving a biometric body; an extraction step / device for extracting a feature vector from the biometric entity to generate a biometric code; (Encoding step / device) for generating a bio-dummy code by adding data to the bio-dummy code and XORing the bio-dummy code with an codeword encoded based on an error correction algorithm [encoding step / device] A storage device for storing the verification code and the hashed biometric code in a database, and an encryption device for creating and using an encryption key in the biometric code.

본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.

본 발명의 실시 예에 따라 생체 코드를 등록 및 인증하는 방법 및 장치는 오리지널 생체 정보, 예를 들어, 생체 코드를 직접 저장하지 않고, 대응하는 검증 데이터 및 해쉬된 생체 코드를 저장함으로써 사용자의 생체 코드를 등록하고, 등록된 생체 코드를 이용하여 간단하게 사용자 인증을 수행할 수 있다.According to the embodiment of the present invention, a method and an apparatus for registering and authenticating a biometric code may store the biometric code of the user, for example, by storing the corresponding verification data and the hashed biometric code without directly storing the biometric information, And can easily perform user authentication using the registered biometric code.

본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the above-mentioned effects, and other effects not mentioned can be clearly understood by those skilled in the art from the following description.

도 1은 본 발명의 실시 예에 따른 생체 코드를 이용한 인증 시스템을 예시적으로 보여주는 블록도이다.
도 2는 본 발명의 실시 예에 따른 생체 등록 과정을 예시적으로 보여주는 래더 다이어그램이다.
도 3은 본 발명의 실시 예에 따른 랜덤 코드를 생성하는 방법을 예시적으로 보여주는 흐름도이다.
도 4는 본 발명의 실시 예에 따른 인증 장치의 생체 등록 과정에 대한 실시 예를 보여주는 도면이다.
도 5는 본 발명의 실시 예에 따른 인증 장치의 인증 과정에 대한 실시 예를 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 생체 코드를 이용하는 데이터 암호화 과정을 예시적으로 보여주는 블록도이다.
도 7은 본 발명의 실시 예에 따른 생체 코드를 이용하는 데이터 복호화 과정을 예시적으로 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다.
1 is a block diagram illustrating an authentication system using a biometric code according to an exemplary embodiment of the present invention.
2 is a ladder diagram illustrating an exemplary biometric registration process according to an embodiment of the present invention.
3 is a flow chart illustrating an exemplary method of generating a random code according to an embodiment of the present invention.
4 is a view showing an embodiment of a biometric registration process of an authentication apparatus according to an embodiment of the present invention.
5 is a flowchart illustrating an authentication process of an authentication apparatus according to an embodiment of the present invention.
FIG. 6 is a block diagram illustrating an exemplary data encryption process using a biometric code according to an embodiment of the present invention. Referring to FIG.
FIG. 7 is a diagram illustrating a data decoding process using a biometric code according to an embodiment of the present invention. Referring to FIG.
8 is a block diagram illustrating an exemplary electronic device according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention, and the manner of achieving them, will be apparent from and elucidated with reference to the embodiments described hereinafter in conjunction with the accompanying drawings. It should be understood, however, that the invention is not limited to the disclosed embodiments, but may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein, Is provided to fully convey the scope of the present invention to a technician, and the present invention is only defined by the scope of the claims.

본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.The terminology used herein is for the purpose of illustrating embodiments and is not intended to be limiting of the present invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. The terms " comprises "and / or" comprising "used in the specification do not exclude the presence or addition of one or more other elements in addition to the stated element. Like reference numerals refer to like elements throughout the specification and "and / or" include each and every combination of one or more of the elements mentioned. Although "first "," second "and the like are used to describe various components, it is needless to say that these components are not limited by these terms. These terms are used only to distinguish one component from another. Therefore, it goes without saying that the first component mentioned below may be the second component within the technical scope of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense that is commonly understood by one of ordinary skill in the art to which this invention belongs. In addition, commonly used predefined terms are not ideally or excessively interpreted unless explicitly defined otherwise.

아래에서는 도면들을 이용하여 본 발명의 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 내용을 명확하고 상세하게 기재할 것이다.BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features and advantages of the present invention will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which: FIG.

도 1은 본 발명의 실시 예에 따른 생체 정보를 이용한 인증 시스템(10)을 예시적으로 보여주는 블록도이다. 도 1을 참조하면, 인증 시스템(10)은 인증 장치(100) 및 데이터베이스(DB, 200)를 포함할 수 있다. 여기서 생체 정보(biometric information)는, 지문, 음성, 얼굴 모양, 홍채 패턴, 손의 형태, 손등의 정맥 분포 등 아주 다양할 수 있다. 1 is a block diagram illustrating an exemplary authentication system 10 using biometric information according to an embodiment of the present invention. Referring to FIG. 1, the authentication system 10 may include an authentication device 100 and a database (DB) 200. Here, biometric information can be very diverse, including fingerprint, voice, face shape, iris pattern, hand shape, and vein distribution on the back of the hand.

인증 장치(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 제품의 일부 혹은 전체 구성일 수 있다.The authentication device 100 detects the first biometric code (e.g., C1) of the user and combines (XOR) the detected first biometric code C1 with the 'data encoded through the error correction unit 110' , And store the combined first biometric code (Encrypted C1) in the database 200 as verification data. In an embodiment, the encoded first biometric code (Encrypted C1) may include parity for error correction. In the embodiment, the first biometric code C1 may be received from a biometric sensor (not shown) inside or outside the authentication device 100. [ For example, when the first biometric code C1 is the iris code of the user, such iris codes may be provided from LOCKIT product of IRISYS Co., In another embodiment, when the first biometric code C1 is an iris code, the authentication device 100 may be part or all of the LOCKIT product.

실시 예에 있어서, 생체 코드(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에 제한되지 않는다고 이해되어야 할 것이다.In the embodiment, the biometric codes (C1, C2) may further include dummy data so as to improve the error correction capability for the relatively original biometric information. In an embodiment, the error correction unit 110 may be implemented in software / hardware / firmware by various types of error correction codes. For example, the ECC code may be a low density parity check (LDPC) code, a Bose-Caudhro-Hocqeunghem code, a turbo code, a Reed-Solomon code, a convolution code, Coded modulation such as trellis-coded modulation (TCM), block coded modulation (BCM), or the like. Hereinafter, for convenience of explanation, it is assumed that the error correction unit 110 is implemented with a Bose (Bose-Caudhro-Hocqunghem) code. On the other hand, it should be understood that the error correction code of the present invention is not limited to BCH.

또한, 인증 장치(100)는 사용자의 제 1 생체 코드(C1)를 해쉬 유닛(120)을 통하여 해쉬하고, 해쉬된 제 1 생체 코드(Hashed C1)를 데이터베이스(200)에 저장하도록 구현될 수 있다. 실시 예에 있어서, 해쉬 유닛(120)은 소프트웨어/하드웨어/펌웨어적으로 구현된 해쉬 알고리즘을 포함할 수 있다. 예를 들어, 해쉬 유닛(120)은 SHA(secure hash algorithm; SHA-256, SHA-512)을 이용하여 구현될 수 있다. 한편, 본 발명의 해쉬 함수가 SHA에 제한되지 않는다고 이해되어야 할 것이다.The authentication apparatus 100 may be configured to hash the first biometrics code C1 of the user through the hash unit 120 and store the hashed first biometry code Hashed C1 in the database 200 . In an embodiment, the hash unit 120 may include a hash algorithm implemented in software / hardware / firmware. For example, the hash unit 120 may be implemented using a secure hash algorithm (SHA-256, SHA-512). On the other hand, it should be understood that the hash function of the present invention is not limited to SHA.

이로써, 데이터베이스(200)는, 사용자의 오리지널 제 1 생체 코드(C1)를 저장하지 않고, 제 1 생체 코드(C1)에 대응하는 검증 데이터(Encoded C1)와 해쉬된 생체 코드(Hashed Biometric Code)를 저장할 수 있다. 이를, 사용자 생체 코드의 등록이라고 부르겠다. 따라서, 본 발명의 인증 시스템(10)은 사용자의 오리지널 생체 정보(예, 생체 코드)를 저장하지 않으면서, 생체 코드를 등록할 수 있다.Thereby, the database 200 stores the verification data (Encoded C1) corresponding to the first biometrics code C1 and the hashed biometric code (Hashed Biometrics Code) corresponding to the first biometrics code C1 without storing the original first biometrics code Can be stored. We call this registration of 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 (e.g., biometric code).

또한, 등록된 생체 코드를 이용한 사용자 인증은 다음과 같이 진행될 수 있다. 설명의 편의를 위하여 사용자 인증을 원하는 사용자의 제 2 생체 코드(C2)가 수신되었다고 가정하겠다. 에러 정정 유닛(110)은, 에러 정정 코드 및 데이터베이스(200)의 인코딩된 제 1 생체 코드(Encrypted C1)를 이용하여 수신된 생체 코드(C2)의 에러를 정정할 수 있다. 에러 정정 유닛(110)의 에러 정정 능력 범위 내에서, 수신된 제 2 생체 코드(C2)의 에러가 정정될 수 있다. 이를, 제 2 생체 코드(C2)의 디코딩이라고 부르겠다. 디코딩된 제 2 생체 코드(Decoded C2, 혹은, C2’)는 해쉬 유닛(120)에 의해 해쉬 될 수 있다.The 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 desires user authentication is received. The error correction unit 110 can correct the error of the received biometrics code C2 using the error correction code and the encoded first biometrics code (Encrypted C1) of the database 200. [ Within the error correction capability range of the error correction unit 110, the error of the received second biometrics code C2 can be corrected. This will be referred to as decoding of the second biometric code (C2). The decoded second biometric code (Decoded C2 or C2 ') can be hashed by the hash unit 120. [

이후, 비교 유닛(130)은 이러한 해쉬된 디코딩된 제 2 생체 코드(Hashed C2’)와 데이터베이스(200)에 저장된 해쉬된 제 1 생체 코드(Hashed C1)을 비교함으로써, 사용자 인증 결과값(AUTHRSLT)을 출력할 수 있다. 만일, 해쉬 유닛(120)으로부터 출력된 해쉬된 제 2 생체 코드(Hashed C2’)와 데이터베이스(200)로부터 읽어온 해쉬된 제 1 생체 코드(Hashed C1)가 동일하면, 사용자 인증이 성공한 것이다. 반면에, 그렇지 않다면, 사용자 인증이 실패한 것이다.Thereafter, 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 the user authentication result value AUTHRSLT Can be output. If the hashed second biometric code (Hashed C2 ') output from the hash unit 120 is identical to the hashed first biometric code (Hashed C1) read from the database 200, the user authentication is successful. Otherwise, the user authentication fails.

데이터베이스(200)는 사용자의 생체 코드를 등록하는 과정에서 생성된 검증 데이터(Encrypted C1) 및 이에 대응하는 해쉬된 생체 코드(Hashed C1)를 저장하도록 구현될 수 있다. 즉, 검증 데이터(Encrypted C1) 및 해쉬된 생체 코드(Hashed C1)가 데이터베이스(200)에 저장되면, 사용자의 생체 코드가 등록된 것이다. 한편, 도 1에서 데이터베이스(200)는 인증 장치(100)에 별도로 존재한다. 하지만, 본 발명이 반드시 여기에 제한될 필요는 없다. 본 발명은 별도의 데이터베이스를 필요치 않고, 인증 장치(100)의 내부의 메모리에 검증 데이터(Encrypted C1) 및 해쉬된 생체 코드(Hashed C1)를 저장할 수도 있다. 본 발명의 실시 예에 따른 인증 시스템(10)은 오리지널 생체 정보, 예를 들어, 생체 코드를 직접 저장하지 않고, 대응하는 검증 데이터 및 해쉬된 생체 코드를 저장함으로써 사용자의 생체 코드를 등록하고, 등록된 생체 코드를 이용하여 간단하게 사용자 인증을 수행할 수 있다.The database 200 may be configured to store the verification data (Encrypted C1) generated in the process of registering the user's biometrics code and the hashed biometrics 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. 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 verification data (Encrypted C1) and the hashed biometric code (Hashed C1) in the internal memory of the authentication device 100. [ The authentication system 10 according to the embodiment of the present invention registers the biometric code of the user by storing the corresponding verification data and the hashed biometric code without directly storing the original biometric information, for example, the biometric code, It is possible to perform user authentication simply by using the biometric code.

도 2는 본 발명의 실시 예에 따른 생체 등록 과정을 예시적으로 보여주는 래더 다이어그램이다. 도 1 및 도 2를 참조하면, 사용자의 생체 등록 과정은 다음과 같이 진행될 수 있다.2 is a ladder diagram illustrating an exemplary biometric registration process according to an embodiment of the present invention. Referring to FIGS. 1 and 2, the biometrics registration process of the user may proceed as follows.

인증 장치(100)는 더미 데이터를 이용하여 사용자의 생체 코드를 생성할 수 있다. 실시 예에 있어서, 생체 코드는 사용자로부터 인식된 오리지널 생체 정보에 더미 데이터를 부가함으로써 생성될 수 있다. 여기서 오리지널 생체 정보는 생체 센서로부터 수신된 정보일 수 있다. 실시 예에 있어서, 오리지널 생체 정보는 4500 비트의 데이터이고, 더미 데이터는 3691 비트의 데이터일 수 있다. 한편, 오리지널 생체 정보의 크기 및 더미 데이터의 크기는 여기에 제한되지 않는다고 이해되어야 할 것이다. The authentication apparatus 100 can generate the user's biometric code using the dummy data. In the embodiment, the biometric code can be generated by adding dummy data to the original biometric information recognized by the user. Here, the original biometric information may be information received from the biometric sensor. In the embodiment, the original biometric information is 4500 bits of data, and the dummy data may be 3691 bits of data. On the other hand, it should be understood that the size of the original biometric information and the size of the dummy data are not limited thereto.

실시 예에 있어서, 더미 데이터의 길이가 유동적으로 조정될 수 있다. 에러 정정 알고리즘의 에러 정정율은 제한될 수 있으므로, 오리지널 생체 정보에 더미 데이터를 부가함으로써 오리지널 생체 정보의 에러 정정율을 높일 수 있는 효과가 있다. 하지만, 더미 데이터의 크기가 커지면 연산량이 늘어날 수 있고, 더미 데이터가 짧아지면 공격에 취약해질 수 있고, 에러 정정능력 또한 떨어질 수 있다. 따라서, 적정한 크기의 더미 데이터를 이용하는 것이 필요하다.In an embodiment, the length of the dummy data can be flexibly adjusted. Since the error correction rate of the error correction algorithm can be limited, dummy data is added to the original biometric information, thereby improving the error correction rate of the original biometric information. However, as the size of the dummy data increases, the amount of computation may increase. If the dummy data is shortened, the data may be vulnerable to attack, and the error correction capability may also be degraded. Therefore, it is necessary to use dummy data of an appropriate size.

일 실시 예에서, 더미 데이터의 크기는 오리지널 생체 정보의 크기와 비슷하거나 커야 할 수 있다. 더미 데이터의 크기가 오리지널 생체 정보의 크기보다 작을 경우, 더미 데이터가 공격의 대상이 될 수 있다. In one embodiment, 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.

일 실시 예에서, 더미 데이터의 크기는 인증 장치(100)의 처리속도에 따라 적응적으로 변화될 수 있다. 인증 장치(100)는 생체 코드를 등록 및 인증하는 알고리즘을 테스트하여, 전체 동작이 소정의 시간 내에 완료되도록 하는 더미 데이터의 크기의 범위를 설정할 수 있다. 인증 장치(100)는 설정된 범위 내에서 가장 큰 크기의 더미 데이터를 설정할 수 있다.In one embodiment, the size of the dummy data may be adaptively changed according to the processing speed of the authentication device 100. [ The authentication apparatus 100 can test the algorithm for registering and authenticating the biometric code and set the range of the size of the dummy data to complete the entire operation within a predetermined time. The authentication apparatus 100 can set the largest size of dummy data within the set range.

다른 실시 예에서, 더미 데이터의 크기의 하한과 상한이 존재할 수 있다. 예를 들어, 더미 데이터의 크기의 하한은 오리지널 생체 정보의 크기일 수 있다. 또한, 더미 데이터의 크기의 상한은 오리지널 생체 정보 크기의 세 배일 수 있다. 본 예시는 이해를 돕기 위해 서술된 것으로, 더미 데이터의 크기의 하한과 상한은 이에 제한되지 않는다. 이 경우, 인증 장치(100)의 처리 속도가 아무리 느려도 더미 데이터의 크기는 오리지널 생체 정보의 크기보다는 작아지지 않을 수 있다. 또한, 인증 장치(100)의 처리 속도가 아무리 빨라도 더미 데이터의 크기는 오리지널 생체 정보의 크기의 세 배보다는 커지지 않을 수 있다.In another embodiment, there may be a lower limit and an upper limit of the size of the dummy data. For example, the lower limit of the size of the dummy data may be the size of the original biometric information. Further, the upper limit of the size of the dummy data may be three times the size of the original biometric information. This example is described for the sake of understanding, and the lower and upper limits of the size of the dummy data are not limited thereto. In this case, even if the processing speed of the authentication apparatus 100 is slow, the size of the dummy data may not become smaller than the size of the original biometric information. In addition, the size of the dummy data may not be larger than three times the size of the original biometric information, no matter how fast the processing speed of the authentication apparatus 100 is.

실시 예에 있어서, 더미 데이터는 랜덤하게 생성될 수 있다. 실시 예에 있어서, 더미 데이터는 해쉬 함수를 이용하여 랜덤하게 생성될 수 있다. 다른 실시 예에 있어서, 더미 데이터는 사전에 결정된 데이터일 수 있다. 예를 들어, 시간을 씨드값(seed value)으로 이용하여 더미 데이터가 결정될 수 있다.In an embodiment, the dummy data may be generated randomly. In an embodiment, the dummy data may be randomly generated using a hash function. In another embodiment, the dummy data may be predetermined data. For example, dummy data can be determined using time as a seed value.

일 실시 예에서, 더미 데이터는 0과 1의 조합으로 생성될 수 있다. 더미 데이터는 0만으로 이루어질 수도 있다. 더미 데이터에 포함된 0과 1의 비율이 비슷한 것이 보안에 있어서는 가장 바람직할 수 있다. 더미 데이터에 포함된 0과 1의 비율 차이가 클수록 보안에 있어 취약해질 수 있다. 반면에, 더미 데이터에 포함된 1의 비율이 클수록 에러 정정이 어려워질 수 있다. 따라서, 0과 1의 비율을 결정한 후, 랜덤함수를 이용하여 더미 데이터를 생성할 수 있다. 예를 들어, 0과 1의 비율을 9대 1로 결정한 후, 1의 위치를 랜덤함수를 이용하여 결정할 수 있다. 랜덤 함수에 포함되는 0과 1의 비율은 예시를 위해 서술된 것으로, 이에 제한되지 않는다.In one embodiment, the dummy data may be generated in a combination of 0 and 1. The dummy data may be 0 only. The ratio of 0 to 1 included in the dummy data may be the most preferable in terms of security. The larger the difference in the ratio between 0 and 1 contained in the dummy data, the more vulnerable it may be to security. On the other hand, the larger the ratio of 1 contained in the dummy data, the more error correction may become difficult. Therefore, after determining the ratio between 0 and 1, dummy data can be generated using a random function. For example, after determining the ratio of 0 to 1 to 9 to 1, the position of 1 can be determined using a random function. The ratio of 0 to 1 included in the random function is described for the purpose of illustration, but is not limited thereto.

이후, 에러 정정 유닛(110, 도 1 참조)은 생체 코드를 상기 알고리즘(더미, 인코딩과 결합하는 것)을 이용하여 인코딩할 수 있다(S12). 일 실시 예에서, 인코딩된 생체 코드가 암호화될 수 있다. 인코딩 및 암호화된 생체 코드(예, Encrypted C1)는 검증 데이터로 데이터베이스(200, 도 1 참조)에 저장될 수 있다(S12). Thereafter, the error correction unit 110 (see FIG. 1) may encode the biometric code using the algorithm (dummy, combining with encoding) (S12). In one embodiment, the encoded biometric code may be encrypted. The encoded and encrypted biometric code (e.g., Encrypted C1) may be stored in the database 200 (see FIG. 1) as verification data (S12).

또한, 인증 장치(100)는 해쉬 유닛(120, 도 1 참조)을 이용하여 생체 코드를 해쉬 시킬 수 있다(S14). 해쉬된 생체 코드(예, Hashed C1)는 데이터베이스(200)에 저장될 수 있다(S22).Further, the authentication apparatus 100 can hash the biometric code using the hash unit 120 (see Fig. 1) (S14). The hashed biometric code (e.g., Hashed C1) may be stored in the database 200 (S22).

상술된 바와 같이, 사용자의 검증 데이터 및 해쉬된 생체 코드가 데이터베이스(200)에 저장됨으로써, 사용자 생체 등록 과정이 완료될 수 있다.As described above, the verification data of the user and the hashed biometric code are stored in the database 200, so that the user biometric registration process can be completed.

한편, 본 발명의 실시 예에 따른 인증 장치는 추가적으로 검증 데이터에 대한 랜덤화 동작을 수행할 수도 있다.Meanwhile, the authentication apparatus according to the embodiment of the present invention may further perform a randomization operation on the verification data.

도 3은 본 발명의 실시 예에 따른 랜덤 코드를 생성하는 방법을 예시적으로 보여주는 흐름도이다. 도 3을 참조하면, 랜덤 코드 생성 과정은 다음과 같이 진행될 수 있다.3 is a flow chart illustrating an exemplary method of generating a random code according to an embodiment of the present invention. Referring to FIG. 3, the random code generation process may proceed as follows.

우선, 생체 코드가 수신될 수 있다(S13a). 생체 코드와 에러정정 알고리즘의 함수(g(x))를 이용하여 랜덤 코드가 생성될 수 있다(S13b). 실시 예에 있어서, g(x)는 BCH 코드 생성 함수 일 수 있다. 한편, 도 3에 도시된 랜덤 코드 생성 방법은 본 발명을 제한하지 않는 실시 예에 불과하다고 이해되어야 할 것이다.First, a biometric code can be received (S13a). A random code can be generated using the biometrics code and the function g (x) of the error correction algorithm (S13b). In an embodiment, g (x) may be a BCH code generation function. On the other hand, it should be understood that the random code generation method shown in FIG. 3 is merely an embodiment that does not limit the present invention.

도 4는 본 발명의 실시 예에 따른 인증 장치의 생체 등록 과정에 대한 실시 예를 보여주는 도면이다. 도 1 내지 도 4를 참조하면, 인증 장치(100, 도 1 참조)의 생체 등록 과정은 다음과 같다.4 is a view showing an embodiment of a biometric registration process of an authentication apparatus according to an embodiment of the present invention. 1 to 4, the biometric registration process of the authentication device 100 (see FIG. 1) is as follows.

생체 코드(w)와 더미 데이터(e)의 연접한 값(w||e)과 랜덤 코드(c)를 XOR 연산함으로써 검증 데이터(S)가 생성 될 수 있다. 생체 코드(w)가 해쉬 함수에 의해 해쉬됨으로써, 해쉬된 생체 코드(H(w))가 생성될 수 있다. 이러한 검증 데이터(S)와 해쉬된 생체 코드(H(w))가 데이터베이스에 저장됨으로써, 사용자의 생체 코드가 등록될 수 있다. 여기서 더미 데이터(e)는 랜덤한 값을 가질 수 있다.The verification data S can be generated by XORing the concatenated value (w || e) of the biometric code (w) and the dummy data (e) and the random code (c). The biometric code (w) is hashed by the hash function, so that the hashed biometric code (H (w)) can be generated. The verification data S and the hashed biometrics code H (w) are stored in the database, so that the user's biometrics code can be registered. Here, the dummy data e may have a random value.

생체 코드(w)와 더미 데이터(e)를 부가하는 방법은 제한되지 않는다. 다른 실시 예에서, 더미 데이터(e)와 생체 코드(w)의 연접한 값(e||w)과 랜덤 코드(c)를 XOR 연산함으로써 검증 데이터(S)가 생성 될 수 있다. 또한, 더미 데이터(e)와 생체 코드(w)를 소정의 규칙에 따라 조합한 값과 랜덤 코드(c)를 XOR 연산함으로써 검증 데이터(S)가 발생될 수도 있다. 더미 데이터(e)에 생체 코드(w)를 부가하는 방법은, 더미 데이터(e)에 생체 코드(w)를 부가한 결과물에서 다시 더미 데이터(e)와 생체 코드(w)를 분리할 수 있는 규칙만 있다면 어떠한 방법이라도 이용될 수 있다.The method of adding the biometric code (w) and the dummy data (e) is not limited. In another embodiment, the verification data S can be generated by XORing the random code c with the concatenated value e? W of the dummy data e and the biometric code w. The verification data S may also be generated by XORing the random code c with a value obtained by combining the dummy data e and the biometric code w according to a predetermined rule. The method of adding the biometric code w to the dummy data e is a method of separating the dummy data e and the biometric code w from the result obtained by adding the biometric code w to the dummy data e Any method can be used if there is a rule.

도 5는 본 발명의 실시 예에 따른 인증 장치의 인증 과정에 대한 실시 예를 보여주는 도면이다. 도 1 내지 도 5를 참조하면, 인증 장치(100, 도 1 참조)의 생체 인증 과정을 다음과 같다.5 is a flowchart 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 device 100 (see FIG. 1) is as follows.

사용자 인증을 원하는 생체 코드(w')와 더미 데이터가 연접될 것이다. 여기서 더미 데이터는 '0'으로 구성된 소정의 비트 데이터일 수 있다. 이 경우 연접한 값은 w'||0 이 될 것이다. 이렇게 연접한 값(w'||0)과 검증 데이터(S)에 대한 제 1 XOR(exclusive OR) 연산이 수행될 것이다. XOR 연산된 값(QQQ)은 BCH 디코더에 의해 디코딩 될 것이다. 여기서 연산된 값(QQQ) 은 아래의 수학식을 만족할 것이다.The biometric code (w ') desired for user authentication and the dummy data will be concatenated. Here, the dummy data may be predetermined bit data composed of '0'. In this case, the concatenated value will be w '|| 0. A first XOR (exclusive OR) operation on the concatenated value (w '|| 0) and the verification data (S) will be performed. The XOR computed value (QQQ) will be decoded by the BCH decoder. The value QQQ calculated here will satisfy the following equation.

S = w || e + c = w + c || e + cS = w || e + c = w + c || e + c

QQQ = S + (w' || 0) = w'+ w + c || e + c = (w' + w || e ) + cQQQ = 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를 얻을 수 있다. Let the codeword size of the BCH be 8191, the message length be 391, and the error correction path be t 1403. Here, the Hamming distance of QQQ with respect to C of the concatenated value (w || e), assuming that w 'and w are 1350, e is 53, and their sum is 1403. That is, QQQ can be different from C by 1403 bits. Therefore, decoding QQQ yields c.

이후, 디코딩된 값(c)과 검증 데이터(S)에 대한 제 2 XOR 연산이 수행될 것이다. 제 2 XOR 연산의 결과 값은, 도 4에 생체 등록시 이용된 연접한 값(w||e)이 될 것이다. 이렇게 생성된 연접한 값(w||e)이 w를 해쉬하는 데 이용된 해쉬 함수에 의해 해쉬 될 것이다.Thereafter, a second XOR operation on the decoded value c and the verification data S will be performed. The result value of the second XOR operation will be the concatenated value (w || e) used in biometric registration in Fig. The resulting concatenated value (w || e) will be hashed by the hash function used to hash w.

비교 유닛(130, 도 1 참조)은 데이터베이스(200, 도 1 참조)로부터 읽혀진 해쉬된 생체 코드(H(w))와 해쉬 함수에서 해쉬된 값이 동일한 지를 비교함으로써, 인증 결과(AUTHRSLT)를 생성할 수 있다.The comparison unit 130 (see FIG. 1) generates an authentication result AUTHRSLT by comparing whether the hashed biometric code H (w) read from the database 200 (see FIG. 1) can do.

도 6은 본 발명의 실시 예에 따른 생체 코드를 이용하는 데이터 암호화 과정을 예시적으로 보여주는 블록도이다. 도 1 내지 도 6을 참조하면, 데이터 암호화 과정은 다음과 같다.FIG. 6 is a block diagram illustrating an exemplary data encryption process using a biometric code according to an embodiment of the present invention. Referring to FIG. 1 to 6, the data encryption process is as follows.

도 4 및 도 5에서 설명된 바와 같이, 사용자의 생체 코드(w), 더미 데이터(e), 및 랜덤 코드(c)를 이용하여 검증 데이터(S)와 해쉬된 생체 코드(H(w))가 생성될 수 있다(S110). 검증 데이터(S) 및 해쉬된 생체 코드(H(w))가 데이터베이스(200, 도 1 참조)가 저장될 수 있다(S120).The verification data S and the hashed biometric code H (w) are generated using the biometric code w, the dummy data e, and the random code c of the user, as described in Figs. 4 and 5, (S110). The verification data S and the hashed biometric code H (w) may be stored in the database 200 (see FIG. 1) (S120).

이후, 데이터 암호화를 원할 경우, 해쉬된 생체 코드(H(w))를 이용하여 데이터를 암호화시킬 수 있다(S130). 여기서 생체 코드(w)는 암호화키로 사용될 수 있다. 일 실시 예에서, 암호화키는 생체 코드(w)를 이용하여 생성될 수 있으며, 그 방법은 제한되지 않는다. 실시 예에 있어서, 암호화 키로 저장/비교할 때 인증에 사용할 코드는 해쉬된 코드(H(w))를 한번 더 해쉬한 H(H(w))일 수 있다. 다른 실시 예에 있어서, 비교할 코드 H(w)가 저장되지 않을 수도 있다. 인증기능이 빠지더라도 홍채에서 키가 생성되므로 다른 홍채로는 디코드가 불가하여 키를 생성할 수 없기 때문이다.Thereafter, if data encryption is desired, the data can be encrypted using the hashed biometric code H (w) (S130). Here, the biometric code (w) can be used as an encryption key. In one embodiment, the encryption key can be generated using the biometric code w, and the method is not limited. In an embodiment, the code to be used for authentication when storing / comparing with the encryption key may be H (H (w)), which hashes the hashed code (H (w)) one more time. In another embodiment, the code H (w) to be compared may not be stored. This is because even if the authentication function is omitted, a key is generated in the iris, so that it can not be decoded with another iris and can not generate a key.

도 7은 본 발명의 실시 예에 따른 생체 코드를 이용하는 데이터 복호화 과정을 예시적으로 보여주는 도면이다. 도 1 내지 도 7을 참조하면, 데이터 복호화 과정은 다음과 같다.FIG. 7 is a diagram illustrating a data decoding process using a biometric code according to an embodiment of the present invention. Referring to FIG. Referring to FIGS. 1 to 7, a data decoding process is as follows.

암호화된 데이터에 대한 복호화 동작을 원할 경우, 사용자의 생체 코드를 수신하고, 수신된 생체 코드(w')와 데이터베이스(200, 도 1 참조)에 저장된 검증 데이터(S)를 이용하여 해쉬된 생체 코드(H(w))가 생성될 수 있다(S210). 해쉬된 생체 코드(H(w))가 생성되는 과정은 도 5에서 설명되었기 때문에 여기서는 설명을 생략하겠다. 생체 코드(w)를 이용하여 암호화된 데이터를 복호화시킬 수 있다(S220). 여기서 생체 코드(w)는 복호화키로 사용될 수 있다. 일 실시 예에서, 암호화된 데이터를 복호화시키기 위한 키는 생체 코드(w)를 이용하여 생성될 수 있으며, 그 방법은 제한되지 않는다. 이때, 데이터베이스(200)에 H(H(w))가 저장되고, 비교 대상은 H(H(w))와 H(H(w’)이다. 그러나 암호화키의 생성, 저장방식은 이에 한정하지 않는다.When it is desired to perform a decryption operation on the encrypted data, the user's biometric code is received and the hashed biometric code (w ') is generated using the received biometric code (w') and the verification data (S) stored in the database (H (w)) may be generated (S210). The process of generating the hashed biometric code (H (w)) has been described with reference to FIG. 5 and will not be described here. The encrypted data can be decrypted using the biometric code w (S220). Here, the biometric code (w) can be used as a decryption key. In one embodiment, the key for decrypting the encrypted data may be generated using the biometric code w, and the method is not limited. At this time, H (H (w)) is stored in the database 200 and the comparison objects are H (H (w)) and H Do not.

도 8은 본 발명의 실시 예에 따른 전자 장치를 예시적으로 보여주는 블록도이다. 도 8을 참조하면, 전자 장치(1000)는 생체 인식 센서(1100), 인증 장치(1200), 및 암호 장치(1300)를 포함할 수 있다.8 is a block diagram illustrating an exemplary electronic device according to an embodiment of the present invention. 8, the electronic device 1000 may include a biometric sensor 1100, an authentication device 1200, and an encryption device 1300.

생체 인식 센서(1100)는 사용자의 생체를 인식하고 생체 정보를 생성하도록 구현될 수 있다. 도 8에 도시된 생체 인식 센서(1100)는 전자 장치(1000) 내부에 존재하지만, 본 발명이 여기에 제한될 필요는 없다. 생체 인식 센서는 전자 장치(1000)에 다양한 통신 프로토콜(유무선)에 의거하여 연결되고, 전자 장치(1000)의 외부에 존재할 수도 있다.The biometric sensor 1100 may be implemented to recognize a user's biometric information and generate biometric information. The biometric sensor 1100 shown in FIG. 8 is within the electronic device 1000, but the present invention need not be limited thereto. The biometric sensor may be connected to the electronic device 1000 based on various communication protocols (wired or wireless), and may be external to the electronic device 1000.

인증 장치(1200)는 도 1 내지 도 7에서 설명된 바와 같이 생체 코드를 등록 및 인증하도록 구현될 수 있다.The authentication device 1200 may be implemented to register and authenticate a biometric code as described in FIGS.

암호 장치(1300)는 등록된 생체 코드를 암/복호 동작의 난수 혹은 암호화키로 이용하도록 구현될 수 있다. 암호 장치(1300)는 데이터를 암호화 혹은 복호화시킬 수 있도록 구현될 수 있다. 암호 장치(1300)는 표준 암호에 의해 소프트웨어/하드웨어/펌웨어적으로 구현될 수 있다. 예를 들어 암호 장치(1300)는 AES(advanced encryption standard) 알고리즘으로 구현될 수 있다.The encryption apparatus 1300 can be implemented to use the registered biometric code as a random number or encryption key of the encryption / decryption operation. The encryption apparatus 1300 can be implemented to encrypt or decrypt data. The encryption device 1300 can be implemented in software / hardware / firmware by standard encryption. For example, the encryption device 1300 may be implemented with an advanced encryption standard (AES) algorithm.

본 발명의 실시 예에 따른 인증 장치의 방법은, 생체(=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))를 데이터베이스에 저장시키는 단계를 포함할 수 있다.A method of an authentication apparatus according to an embodiment of the present invention includes a step of extracting a feature vector from a bio (= bio) to generate a first biometric code (= w), receiving a first biometric code (= w) (W || e) by concatenating dummy data to the first biometric code (w), generating a first biometric code (w || e) based on an error correction algorithm based on codeword (= W | e XOR c = S) and the hash function (XOR) with the first biometric code (= w X XOR c = S) And storing the first biometric code (= H (w)) in the database.

본 발명의 실시 예에 따른 전자 장치는, 생체를 수신하는 생체 인식 센서, 상기 생체에서 특징 벡터를 추출하여 생체 코드를 생성하는 [추출단계/장치], 상기 생체 코드에 더미 데이터를 부가하여 생체 더미 코드를 생성하고, 상기 생체 더미 코드를 ‘에러 정정 알고리즘에 의거하여 인코딩된 codeword’와 XOR하여 검증 코드를 생성하는 [인코딩단계/장치], 상기 생체 코드를 해쉬 함수에 의거하여 해쉬하고, 상기 검증 코드와 상기 해쉬된 생체 코드를 데이터베이스에 저장시키는 [저장장치], 및 상기 생체 코드에서 암호화키를 만들어 사용하는 [암호 장치]를 포함할 수 있다.An electronic device according to an embodiment of the present invention includes a biometric sensor for receiving a living body, an extracting step / device for extracting a characteristic vector from the living body to generate a living body code, dummy data is added to the living body code, [Encoding step / device] generating a verification code by XORing the bio dummy code with codeword encoded based on an error correction algorithm, hashing the biometric code based on a hash function, A [storage device] for storing the code and the hashed biometric code in a database, and an [encryption device] for creating and using an encryption key in the biometric code.

한편, 상술된 본 발명의 내용은 발명을 실시하기 위한 구체적인 실시 예들에 불과하다. 본 발명은 구체적이고 실제로 이용할 수 있는 수단 자체뿐 아니라, 장차 기술로 활용할 수 있는 추상적이고 개념적인 아이디어인 기술적 사상을 포함할 것이다.The above-described contents of the present invention are only specific examples for carrying out the invention. The present invention will include not only concrete and practical means themselves, but also technical ideas which are abstract and conceptual ideas that can be utilized as future technologies.

본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.The steps of a method or algorithm described in connection with the embodiments of the present invention may be embodied directly in hardware, in software modules executed in hardware, or in a combination of both. The software module may be a random access memory (RAM), a read only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a flash memory, a hard disk, a removable disk, a CD- May reside in any form of computer readable recording medium known in the art to which the invention pertains.

이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, You will understand. Therefore, it should be understood that the above-described embodiments are illustrative in all aspects and not restrictive.

100: 인증 장치
110: 에러 정정 유닛
120: 해쉬 유닛
130: 비교 유닛
200: 데이터베이스
w, w': 생체 코드
e: 더미 데이터
S: 검증 데이터
H(w): 해쉬된 생체 코드
100: Authentication device
110: Error correction unit
120: Hash unit
130: comparison unit
200: Database
w, w ': biometric code
e: dummy data
S: Verification data
H (w): hashed biometric code

Claims (10)

인증장치가 생체 코드를 등록 및 인증하는 방법에 있어서:
제 1 생체 정보를 수신하는 단계;
상기 인증장치의 처리속도에 따라 0과 1의 조합으로 생성되는 더미 데이터의 길이를 결정하는 단계;
상기 더미 데이터에 포함되는 0과 1의 비율을 결정하는 단계;
상기 결정된 비율에 따른 0과 1의 개수 및 위치를 결정하여 상기 더미 데이터를 생성하는 단계;
상기 제 1 생체 정보와 상기 생성된 더미 데이터를 조합함으로써 제 1 생체 코드를 생성하는 단계;
상기 제 1 생체 코드를 에러 정정 알고리즘에 의거하여 인코딩하는 단계;
상기 제 1 생체 코드를 해쉬 함수에 의거하여 해쉬하는 단계; 및
상기 인코딩된 제 1 생체 코드와 상기 해쉬된 제 1 생체 코드를 데이터베이스에 저장시키는 단계를 포함하는 방법.
A method for an authentication device to register and authenticate a biometric code, the method comprising:
Receiving first biometric information;
Determining a length of dummy data generated by a combination of 0 and 1 according to the processing speed of the authentication device;
Determining a ratio of 0 to 1 included in the dummy data;
Determining the number and position of 0 and 1 according to the determined ratio to generate the dummy data;
Generating a first biometric code by combining the first biometric information and the generated dummy data;
Encoding the first biometric 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.
제 1 항에 있어서,
상기 에러 정정 알고리즘은 BCH(Bose-Caudhro-Hocqeunghem) 알고리즘이고, 상기 에러 정정 알고리즘은 랜덤하게 생성된 더미 데이터를 활용하는, 방법.
The method according to claim 1,
Wherein the error correction algorithm is a Bose-Caudhro-Hocqeunghem (BCH) algorithm and the error correction algorithm utilizes randomly generated dummy data.
제 1 항에 있어서,
상기 에러 정정 알고리즘은 랜덤 코드를 포함하고,
상기 랜덤 코드를 생성하는 단계를 더 포함하는 방법.
The method according to claim 1,
Wherein the error correction algorithm comprises a random code,
≪ / RTI > further comprising generating the random code.
제 3 항에 있어서,
상기 랜덤 코드를 생성하는 단계는,
상기 제 1 생체 코드를 수신하는 단계; 및
상기 제 1 생체 코드와 상기 에러 정정 알고리즘의 다항식 생성 함수를 이용하여 상기 랜덤 코드를 생성하는 단계를 포함하는 방법.
The method of claim 3,
Wherein generating the random code comprises:
Receiving the first biometric code; And
Generating the random code using the first biometric code and the polynomial generation function of the error correction algorithm.
제 3 항에 있어서,
상기 랜덤 코드와 상기 제 1 생체 코드를 XOR 연산하는 단계를 더 포함하고,
상기 XOR 연산된 값이 상기 데이터베이스에 저장되는 검증 데이터인 방법.
The method of claim 3,
Further comprising XORing the random code and the first biometric code,
Wherein the XOR computed value is validation data stored in the database.
제 1 항에 있어서,
사용자 인증을 원하는 제 2 생체 정보를 수신하는 단계;
상기 제 2 생체 정보와 더미 데이터를 조합함으로써 제 2 생체 코드를 생성하는 단계;
상기 제 1 생체 코드 및 상기 에러 정정 알고리즘을 이용하여 상기 제 2 생체 코드에 대한 디코딩을 수행하는 단계;
상기 디코딩된 제 2 생체 코드를 상기 해쉬 함수에 의거하여 해쉬하는 단계; 및
상기 데이터베이스로부터 출력된 상기 해쉬된 제 1 생체 코드 및 상기 해쉬된 제 2 생체 코드를 비교하는 단계를 포함하는 방법.
The method according to claim 1,
Receiving second biometric information desired to be authenticated by a user;
Generating a second biometric code by combining the second biometric information and the dummy data;
Performing decoding on the second biometric code using the first biometric code and the error correction algorithm;
Hashing the second decoded biometric code based on the hash function; And
And comparing the hashed first biometric code output from the database and the hashed second biometric code.
제 6 항에 있어서,
상기 디코딩을 수행하는 단계는,
상기 제 2 생체 코드와 검증 데이터에 대한 제 1 XOR 연산을 수행하는 단계;
상기 제 1 XOR 연산된 값을 상기 에러 정정 알고리즘에 의거하여 디코딩하는 단계; 및
상기 디코딩된 값과 상기 검증 데이터에 대한 제 2 XOR 연산을 수행하는 단계를 포함하고,
상기 검증 데이터는 상기 제 1 생체 코드인 방법.
The method according to claim 6,
The step of performing the decoding includes:
Performing a first XOR operation on the second biometric code and the verification data;
Decoding the first XOR computed value based on the error correction algorithm; And
Performing a second XOR operation on the decoded value and the verification data,
Wherein the verification data is the first biometric code.
제 7 항에 있어서,
상기 제 2 XOR 연산된 값을 상기 해쉬 함수에 의거하여 해쉬하는 단계; 및
상기 해쉬된 값과 상기 데이터베이스에 저장된 해쉬된 제 1 생체 코드를 비교하는 단계를 포함하는 방법.
8. The method of claim 7,
Hashing the second XOR computed value based on the hash function; And
And comparing the hashed value with the hashed first biometric code stored in the database.
제 1 항에 있어서,
상기 제 1 생체 정보는 지문, 음성, 얼굴 모양, 홍채 패턴, 손의 형태, 및 손등의 정맥 분포 중에서 적어도 하나를 포함하는 방법.
The method according to claim 1,
Wherein the first biometric information includes at least one of a fingerprint, a voice, a face shape, an iris pattern, a shape of a hand, and a vein distribution of a hand.
생체 정보를 수신하는 생체 인식 센서;
인증장치의 처리속도에 따라 0과 1의 조합으로 생성되는 더미 데이터의 길이를 결정하고, 상기 더미 데이터에 포함되는 0과 1의 비율을 결정하고, 상기 결정된 비율에 따른 0과 1의 개수 및 위치를 결정하여 상기 더미 데이터를 생성하고, 상기 생체 정보에 상기 생성된 더미 데이터를 부가함으로써 생체 코드를 생성하고, 상기 생체 코드를 에러 정정 알고리즘에 의거하여 인코딩하고, 상기 생체 코드를 해쉬 함수에 의거하여 해쉬하고, 상기 인코딩된 생체 코드와 상기 해쉬된 생체 코드를 데이터베이스에 저장시키는, 상기 인증 장치; 및
상기 데이터베이스에 저장된 해쉬된 생체 코드를 암호화키로 사용하는 암호 장치를 포함하는, 생체 코드를 등록 및 인증하는 장치.
A biometric sensor for receiving biometric information;
Determines the length of dummy data generated by a combination of 0 and 1 according to the processing speed of the authentication device, determines a ratio of 0 to 1 included in the dummy data, and determines the number of 0's and 1's according to the determined ratio, Generates biometric code by adding the generated dummy data to the biometric information, encodes the biometric code based on an error correction algorithm, and generates the biometric code based on the hash function Hash, and stores the encoded biometric code and the hashed biometric code in a database; And
And an encryption device that uses the hashed biometric code stored in the database as an encryption key.
KR1020160109503A 2016-07-08 2016-08-26 Method and device for enrolling and authenticating biometric code KR101861591B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2017/008812 WO2018038444A1 (en) 2016-07-08 2017-08-14 Method and device for registering and authenticating biometric code

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160087044 2016-07-08
KR1020160087044 2016-07-08

Publications (2)

Publication Number Publication Date
KR20180006251A KR20180006251A (en) 2018-01-17
KR101861591B1 true KR101861591B1 (en) 2018-05-28

Family

ID=61025877

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020160109503A KR101861591B1 (en) 2016-07-08 2016-08-26 Method and device for enrolling and authenticating biometric code
KR1020160109502A KR101852526B1 (en) 2016-07-08 2016-08-26 Method for managing encrypted file in mobile device and encrypted file management system having the same
KR1020160113441A KR101882971B1 (en) 2016-07-08 2016-09-02 Device and system for performing payment authentication using biometric information and a method controlling thereof

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020160109502A KR101852526B1 (en) 2016-07-08 2016-08-26 Method for managing encrypted file in mobile device and encrypted file management system having the same
KR1020160113441A KR101882971B1 (en) 2016-07-08 2016-09-02 Device and system for performing payment authentication using biometric information and a method controlling thereof

Country Status (2)

Country Link
KR (3) KR101861591B1 (en)
WO (3) WO2018043951A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3935801A1 (en) * 2019-03-04 2022-01-12 Telefonaktiebolaget LM Ericsson (publ) Authentication decision for fixed network residential gateways
KR102631694B1 (en) 2020-01-02 2024-01-31 재단법인 대구경북과학기술원 System and Method for encryption/decription and channel-coding
KR102357694B1 (en) * 2021-06-29 2022-02-08 주식회사 아이리시스 Fuzzy extracting system based on fuzzy commitment using biometric data and security system for revocable biometric information
KR20230122447A (en) * 2022-02-14 2023-08-22 삼성전자주식회사 Device and operating method of protecting content using biometric information

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338612A (en) * 2005-06-06 2006-12-14 Hitachi Ltd Personal identification system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2316120C2 (en) * 2004-05-12 2008-01-27 Корпорация "Самсунг Электроникс" Biometric authentication system
KR20070074894A (en) * 2006-01-11 2007-07-18 주식회사 라트칸 Method for securing data stored in data recording medium
KR100787114B1 (en) * 2006-06-20 2007-12-21 연세대학교 산학협력단 Method of transforming biometric data and verification system thereof
KR100952300B1 (en) * 2008-04-07 2010-04-13 한양대학교 산학협력단 Terminal and Memory for secure data management of storage, and Method the same
JP2012238256A (en) * 2011-05-13 2012-12-06 Hitachi Ltd Biometric authentication device, biometric authentication method, and biometric authentication program
KR20130008125A (en) * 2011-07-11 2013-01-22 주식회사 비즈모델라인 Payment by using payment identification number dynamic mapped user's payment tool
KR20140071605A (en) * 2012-12-04 2014-06-12 삼성전자주식회사 Method for processing data, sensor device and user terminal
KR20150121892A (en) * 2014-04-22 2015-10-30 에스케이플래닛 주식회사 Payment method, apparatus and sytem for recognizing information of line body service in the system
KR101622377B1 (en) 2014-06-25 2016-05-19 주식회사 아이리시스 USB Dvice having an Iris Recognition Security Function and Controlling Method for the Same
KR101622253B1 (en) * 2014-07-09 2016-05-19 전남대학교 산학협력단 Secure Authentication System using Biometric information or information derived from Biometric or user features information, Apparatus and Method for Controlling Secure Authentication
KR20160016522A (en) * 2014-07-31 2016-02-15 삼성전자주식회사 Device and method for encrypting/decrypting content
KR20160072682A (en) * 2014-12-15 2016-06-23 삼성전자주식회사 Authentication method using biometric information and the electronic device therefor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338612A (en) * 2005-06-06 2006-12-14 Hitachi Ltd Personal identification system

Also Published As

Publication number Publication date
KR20180006253A (en) 2018-01-17
WO2018038445A1 (en) 2018-03-01
KR101852526B1 (en) 2018-06-07
WO2018038444A1 (en) 2018-03-01
KR20180006250A (en) 2018-01-17
KR20180006251A (en) 2018-01-17
WO2018043951A1 (en) 2018-03-08
KR101882971B1 (en) 2018-07-27

Similar Documents

Publication Publication Date Title
EP1149475B1 (en) A fuzzy commitment scheme
JP6810348B2 (en) Cryptographic data processing method, cryptographic data processing device and cryptographic data processing program
Bösch et al. Efficient helper data key extractor on FPGAs
US8433983B2 (en) Secure protection of biometric templates
KR101861591B1 (en) Method and device for enrolling and authenticating biometric code
US9906363B2 (en) Encrypted data verification system, method and recording medium
JP6588048B2 (en) Information processing device
JP2006166433A (en) Method and system for securely storing biometric parameter in data base, and method for authenticating user by securely storing biometric parameter in data base
KR20170100602A (en) Cryptographic key production from a physical unclonable function
US9882712B2 (en) Encrypted text matching system, method, and computer readable medium
KR20050083819A (en) Message authentication code based on error correcting code
Hiller et al. Hiding secrecy leakage in leaky helper data
Skoric et al. The spammed code offset method
KR101675674B1 (en) Quantum signature apparatus for quantum message
Yu et al. Maximum-likelihood decoding of device-specific multi-bit symbols for reliable key generation
JP6229715B2 (en) Ciphertext verification system, method and program
Ziauddin et al. Robust iris verification for key management
JP6488954B2 (en) ENCRYPTED DATA PROCESSING METHOD, ENCRYPTED DATA PROCESSING SYSTEM, ENCRYPTED DATA PROCESSING DEVICE, AND ENCRYPTED DATA PROCESSING PROGRAM
US9900146B2 (en) Encrypted text matching system, method, and computer readable medium
KR102024379B1 (en) Data transmission apparatus capable of digital signature based on biometric information and operating method thereof
CN111756540A (en) Method, terminal, server and system for transmitting ciphertext
KR20160109891A (en) Apparatus and Method for Generating Cryptographic Key based on PUF
Noto et al. Analysis of error correcting codes for the secure storage of biometric templates
KR101960797B1 (en) method of authorizating one time password using bio-signal and system performing the same
JP2015154291A (en) Eigen-device information generation apparatus, eigen-device information generation system and eigen-device information generation 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