[go: up one dir, main page]

KR100986980B1 - Biometric Authentication Methods, Clients, and Servers - Google Patents

Biometric Authentication Methods, Clients, and Servers Download PDF

Info

Publication number
KR100986980B1
KR100986980B1 KR1020080075022A KR20080075022A KR100986980B1 KR 100986980 B1 KR100986980 B1 KR 100986980B1 KR 1020080075022 A KR1020080075022 A KR 1020080075022A KR 20080075022 A KR20080075022 A KR 20080075022A KR 100986980 B1 KR100986980 B1 KR 100986980B1
Authority
KR
South Korea
Prior art keywords
time
template
key
random
authentication
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020080075022A
Other languages
Korean (ko)
Other versions
KR20100013486A (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 KR1020080075022A priority Critical patent/KR100986980B1/en
Publication of KR20100013486A publication Critical patent/KR20100013486A/en
Application granted granted Critical
Publication of KR100986980B1 publication Critical patent/KR100986980B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2117User registration

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Collating Specific Patterns (AREA)

Abstract

본 발명은 생체 인증 방법, 클라이언트 및 서버에 관한 것으로서, 본 발명의 일면에 따른 생체 인증 방법은, 생체 정보로부터 원본 템플릿을 생성하고, 원본 템플릿로부터 제1 난수 순열 행렬(random permutation matrix) 및 제1 난수 이진 벡터(random binary vector) 중 적어도 하나를 포함하는 일회성 변환 정보를 이용하여 제1 일회성 인증 템플릿을 생성하고 인증을 요청하는 단계와, 제1 일회성 인증 템플릿과 일회성 등록 템플릿을 비교하는 단계 및 비교 결과에 따라 인증되면, 일회성 등록 템플릿 및 일회성 변환 정보를 갱신하는 단계를 포함하되, 갱신된 일회성 변환 정보는, 다음 인증 요청시 갱신된 일회성 등록 템플릿과 비교결과 인증되도록 제2 일회성 인증 템플릿을 생성하는데 이용되는 것을 특징으로 한다.

Figure R1020080075022

생체 인증, 일회성, 클라이언트, 서버

The present invention relates to a biometric authentication method, a client, and a server. The biometric authentication method according to an aspect of the present invention includes generating an original template from biometric information, and generating a first random number permutation matrix and a first random permutation matrix from the original template. Generating a first one-time authentication template and requesting authentication using one-time conversion information including at least one of a random binary vector; comparing and comparing the first one-time authentication template with the one-time registration template; And if it is authenticated according to the result, updating the one-time registration template and the one-time conversion information, wherein the updated one-time conversion information is generated in comparison with the updated one-time registration template upon the next authentication request. It is characterized by being used.

Figure R1020080075022

Biometrics, one-time, client, server

Description

생체 인증 방법, 클라이언트 및 서버{Biometric authentication method, client and server}Biometric authentication method, client and server

본 발명은 생체 인증 방법, 클라이언트 및 서버에 관한 것으로서, 구체적으로는 보안성이 향상된 생체 인증 방법에 관한 것이다.The present invention relates to a biometric authentication method, a client and a server, and more particularly, to a biometric authentication method with improved security.

본 발명은 정보통신부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2007-S-020-01, 과제명: 프라이버시 보호형 바이오인식 시스템 개발].The present invention is derived from a study conducted as part of the IT new growth engine core technology development project of the Ministry of Information and Communication and the Ministry of Information and Communication Research and Development. [Task Management Number: 2007-S-020-01, Title: Privacy Protection Bio-Recognition System] Development].

바이오 인식은 사용자의 신체적/행동적 특징을 이용하여 개인의 신원을 확인하는 기술이다. 신체적 특징을 이용하는 방법으로 얼굴 인식, 지문 인식, 홍채 인식 등이 있으며, 행동적 특징을 이용하는 방법으로는 걸음걸이 인식, 서명 인식 등이 있다. 일반적으로 바이오 인식 장치는 사용자의 신체적/행동적 특징 및 정보를 담고 있는 템플릿(template)을 생성하여 사용자 등록 및 확인에 사용한다. 바이오 인식 장치 내에 등록되어 보관되는 템플릿을 갤러리(gallery) 또는 등록 템플릿이라고 하며, 인증 요청 시 사용자로부터 새로이 생성되는 템플릿을 프로브(probe) 또는 인증 템플릿이라고 한다. 사용자 인증은 두 템플릿을 비교하여 생성된 비교값 을 기반으로 이루어진다. 예를 들어, 실수 값을 가지는 템플릿의 경우 유클리디언 거리(Euclidean Distance)를 이진 값을 가지는 템플릿의 경우 해밍거리(Hamming Distance)와 같은 비유사도를 비교치로 많이 사용하며, 두 템플릿의 비교값이 미리 정해둔 임계값보다 작으면 본인(genuine)으로, 임계값보다 크면 타인(impostor)으로 분류한다. Bio-recognition is a technique of identifying an individual using his / her physical / behavioral characteristics. Methods of using physical features include face recognition, fingerprint recognition, iris recognition, etc. Methods of using behavioral features include gait recognition and signature recognition. In general, a biometric device generates a template containing a user's physical / behavioral characteristics and information and uses the same to register and confirm a user. A template registered and stored in the biometric device is called a gallery or a registration template, and a template newly generated from a user when an authentication request is called a probe or authentication template. User authentication is based on comparison values generated by comparing two templates. For example, a template with a real value uses Euclidean distance as a binary value, and a template with a binary value uses a dissimilarity such as a hamming distance as a comparison value. If it is smaller than the predetermined threshold, it is classified as genuine, and if it is larger than the threshold, it is classified as impostor.

이러한 바이오 인식 데이터는 각 사용자의 독특한 정보를 담고 있기 때문에, 유출되어 공개될 경우 심각한 프라이버시 침해를 가지고 올 수 있을 뿐만 아니라 사용자 인증 시스템을 운용하는데 있어서도 큰 문제를 야기한다. 만약 사용자 인증을 위해 등록된 바이오 인식 데이터가 유출되어 공개될 경우, 그 데이터는 사용자 인증을 위한 비밀 정보로서 더 이상 이용하지 못하기 때문에, 다른 바이오 인식 정보로 바꿔야 한다. 일반적인 비밀번호라면 쉽게 변경이 가능하지만, 얼굴은 하나, 홍채는 두개, 지문은 열 개와 같이, 바이오 인식에 사용될 수 있는 데이터는 그 종류와 개수가 개인별로 한정되어 있고, 사용자가 특별한 수술을 받지 않는 한 변형이 불가능하다. 따라서 사용자의 바이오 인증 정보가 한번 유출될 경우, 자신의 신원을 확인할 수 있는 비밀 정보가 영원히 유출된다는 문제점이 있다. Since the biometric data contains unique information of each user, when leaked and disclosed, not only can it bring serious privacy infringement but also cause a big problem in operating a user authentication system. If the biometric data registered for user authentication is leaked and disclosed, the data is no longer used as secret information for user authentication, and thus, it should be replaced with other biometric information. Common passwords can be easily changed, but as long as one face, two irises and ten fingerprints, the types and number of data that can be used for biometrics are limited by individual and unless the user undergoes special surgery No modification is possible. Therefore, once the user's bio-authentication information is leaked, there is a problem that the secret information that can verify their identity is leaked forever.

따라서, 바이오 인식 정보와 같이 프라이버시에 민감하거나 중요한 데이터의 경우, 해당 데이터를 암호화 기법을 통해 다른 형태의 데이터로 변환하여 저장하는 방법이 권고되고 있다. 하지만, 바이오 인식 데이터의 경우, 동일인의 바이오 인식 정보를 동일한 장치를 이용하여 취득하였다고 하더라도 매번 동일한 값을 얻기가 거의 불가능하다. 또한 암호 함수의 일반적 특성상 서로 비슷한 값을 암호화하더라 도 서로 전혀 다른 값으로 암호화된다. 결국, 암호화되어 등록되어 있는 바이오 데이터와 새로이 입력된 바이오 데이터를 암호화하여 직접 비교할 경우 암호화되지 않은 원래 형태의 데이터끼리 비교하는 것과는 서로 일관성이 없는 비교값이 생성된다. 따라서 바이오 인식에서 사용자 인증을 위해서는 암호화된 데이터를 직접 이용할 수는 없고, 비교 및 인식을 위해서는 매번 암호화된 데이터를 복호화해야 한다. 즉, 암호화를 이용하여 사용자의 바이오 인식 데이터를 보호하는 방법의 큰 단점은 사용자 인증을 위한 데이터 비교 시, 매번 암호화되어 등록된 템플릿을 복호화해야 하며, 이로 인해 원본 데이터가 노출될 수 있다는 것이다. Therefore, in the case of sensitive or sensitive data such as biometric information, a method of converting and storing the data into another type of data through an encryption method is recommended. However, in the case of biometric data, even if biometric information of the same person is obtained by using the same device, it is almost impossible to obtain the same value every time. In addition, due to the general characteristics of cryptographic functions, even if similar values are encrypted, they are encrypted with completely different values. As a result, when the encrypted bio data and the newly input bio data are encrypted and directly compared, a comparison value which is inconsistent with that of the original data which is not encrypted is compared. Therefore, encrypted data cannot be directly used for user authentication in biometrics, and encrypted data must be decrypted each time for comparison and recognition. That is, a major disadvantage of the method of protecting the biometric data of the user by using encryption is that when comparing data for user authentication, the encrypted and registered template must be decrypted each time, which may expose the original data.

특히 인터넷과 같은 네트워크가 발달한 현재, 많은 중요한 데이터들이 네트워크를 통해 전송되고 있다. 인터넷 같은 네트워크는 그 성격상 개방성을 추구하여 누구나 쉽게 접속할 수 있기 때문에, 보안에 많은 허점이 생길 수 있다. 일례로, 클라이언트나 서버를 직접 해킹하지 않고, 인터넷을 통해 전송되는 비밀 번호를 중간에 복사하여 불법적으로 사용자 인증을 받는데 이용할 수도 있다. 이 경우, 비밀 번호를 암호화하여 전송하였다 하더라도, 암호화된 비밀 번호로부터 원래의 비밀 번호를 유추해 내는 것과 상관없이, 암호화된 비밀 번호를 중간에 복사하여 저장하였다가 나중에 그대로 재전송하여 사용자 인증을 받을 수 있다. 네트워크를 통해 전송되는 데이터가 일반적인 비밀번호가 아닌 바이오 인식 정보라고 할 경우, 앞에서 언급하였듯이 이러한 보안상의 허점은 더욱 심각하고 위협적이라고 볼 수 있다. In particular, with the development of networks such as the Internet, many important data are transmitted through the network. Networks such as the Internet, by their nature, are open to anyone and can be easily accessed, creating a lot of security holes. For example, a password transmitted through the Internet can be copied in the middle without being hacked directly into a client or a server and used to illegally authenticate a user. In this case, even if the password is encrypted and transmitted, regardless of deriving the original password from the encrypted password, the encrypted password can be copied and stored in the middle and retransmitted as it is to be authenticated later. have. If the data transmitted over the network is biometric information instead of a normal password, as mentioned earlier, this security hole is more serious and threatening.

본 발명의 목적은 보안성을 향상시킬 수 있는 생체 인증 방법, 생체 인증 방법을 수행하는 클라이언트 및 서버를 제공하는 것이다. An object of the present invention is to provide a biometric authentication method, a client and a server performing the biometric authentication method that can improve the security.

본 발명의 다른 목적은, 원본 템플릿이 이진수로 표현되는 경우 보안성을 더욱 향상시킬 수 있는 생체 인증 방법, 생체 인증 방법을 수행하는 클라이언트 및 서버를 제공하는 것이다.Another object of the present invention is to provide a biometric authentication method, a client and a server performing the biometric authentication method, which can further improve security when the original template is represented in binary.

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

전술한 목적을 달성하기 위한 본 발명의 일면에 생체 인증 방법은, 생체 정보로부터 원본 템플릿을 생성하고, 상기 원본 템플릿로부터 제1 난수 순열 행렬(random permutation matrix) 및 제1 난수 이진 벡터(random binary vector) 중 적어도 하나를 포함하는 일회성 변환 정보를 이용하여 제1 일회성 인증 템플릿을 생성하고 인증을 요청하는 단계와, 상기 제1 일회성 인증 템플릿과 일회성 등록 템플릿을 비교하는 단계 및 상기 비교 결과에 따라 인증되면, 상기 일회성 등록 템플릿 및 상기 일회성 변환 정보를 갱신하는 단계를 포함하되, 상기 갱신된 일회성 변환 정보는, 다음 인증 요청시 상기 갱신된 일회성 등록 템플릿과 비교결과 인증되도록 제2 일회성 인증 템플릿을 생성하는데 이용된다.In one aspect of the present invention for achieving the above object, a biometric authentication method generates an original template from biometric information, and includes a first random permutation matrix and a first random binary vector from the original template. Generating a first one-time authentication template and requesting authentication using one-time conversion information including at least one of), comparing the first one-time authentication template with the one-time registration template, and authenticating according to the comparison result. And updating the one-time registration template and the one-time conversion information, wherein the updated one-time conversion information is used to generate a second one-time authentication template to be authenticated as a result of comparison with the updated one-time registration template at the next authentication request. do.

또한, 본 발명의 다른 면에 따른 생체 인증 방법은, 사용자, 클라이언트 및 서버간 생체 인증 방법에 있어서, 상기 사용자의 생체 정보로부터 비트스트림의 원본 템플릿을 생성하고, 상기 사용자로부터 제공된 일회성 변환 정보를 이용하여 상기 원본 템플릿을 일회성 인증 템플릿으로 변환하는 단계와, 상기 일회성 인증 템플릿과 상기 서버에 기 저장된 일회성 등록 템플릿을 비교하고, 그 비교 결과에 따라 인증하는 단계와, 상기 서버에 기 저장된 제1 일회성 변환키를 이용하여 상기 일회성 등록 템플릿을 갱신하고, 상기 제1 일회성 변환키를 갱신하고, 상기 갱신된 일회성 등록 템플릿 및 상기 갱신된 제1 일회성 변환키를 상기 서버에 저장하는 단계 및 상기 제1 일회성 변환키와 동일한 제2 일회성 변환키를 이용하여 상기 일회성 변환 정보를 갱신하고, 상기 제2 일회성 변환키를 상기 갱신된 제1 일회성 변환키와 동일하게 갱신하는 단계를 포함하되, 상기 일회성 인증 템플릿으로 변환하는 단계는 상기 비트스트림의 비트 순서를 변경하는 단계를 포함한다. In addition, the biometric authentication method according to another aspect of the present invention, in the biometric authentication method between the user, client and server, generating the original template of the bitstream from the user's biometric information, and uses the one-time conversion information provided from the user Converting the original template into a one-time authentication template, comparing the one-time authentication template with a one-time registration template previously stored in the server, and authenticating according to a result of the comparison; Updating the one-time registration template using a key, updating the first one-time conversion key, storing the updated one-time registration template and the updated first one-time conversion key in the server, and the first one-time conversion. Update the one-time conversion information using a second one-time conversion key equal to the key. , Comprising the step of updating the same and the second one-time conversion to the updated first key, a one-time conversion key, the step of conversion to the one-time authorization template comprises the step of changing the order of the bits of the bit stream.

또한, 본 발명의 또 다른 면에 따른 클라이언트는, 서버로 인증을 요청하는 클라이언트에 있어서, 사용자의 생체 정보로부터 원본 템플릿을 생성하고, 상기 원본 템플릿에 제1 난수 순열 행렬(random permutation matrix)을 곱하고, 상기 곱한 결과에 제1 난수 이진 벡터(random binary vector)를 합하여 일회성 인증 템플릿을 생성하는 인증 템플릿 생성부 및 상기 일회성 인증 템플릿이 상기 서버에 기 저장된 일회성 등록 템플릿과 비교결과 인증된 경우, 상기 사용자로부터 제공된 일회성 변환키를 이용하여 제2 난수 순열 행렬 및 제2 난수 이진 벡터를 생성하고, 상기 상기 제2 난수 순열 행렬 및 제2 난수 이진 벡터를 이용하여 상기 제2 난수 순열 행렬 및 상기 제2 난수 이진 벡터를 이용하여 상기 제1 난수 순열 행렬과 상기 제1 난수 이진 벡터를 갱신하는 갱신부를 포함한다.In addition, a client according to another aspect of the present invention, in a client requesting authentication to a server, generates an original template from biometric information of a user, multiplies the original template by a first random permutation matrix, and An authentication template generator that generates a one-time authentication template by adding a first random binary vector to the multiplication result, and when the one-time authentication template is compared with the one-time registration template previously stored in the server, the user. A second random number permutation matrix and a second random number binary vector are generated using a one-time conversion key provided from the second random number permutation matrix and the second random number permutation matrix using the second random number permutation matrix and the second random number binary vector. An updater for updating the first random number permutation matrix and the first random number binary vector using a binary vector It should.

또한, 본 발명의 또 다른 면에 따른 서버는, 클라이언트의 요청에 따라 인증하는 서버에 있어서, 저장부와, 상기 저장부에 기 저장된 일회성 등록 템플릿과, 상기 클라이언트가 생체 정보로부터 생성한 일회성 인증 템플릿을 비교하는 비교부 및 상기 저장부에 기 저장된 일회성 변환키를 이용하여 제1 난수 순열 행렬(random permutation matrix) 및 제1 난수 이진 벡터(random binary vector)를 생성하고, 상기 일회성 등록 템플릿에 상기 제1 난수 순열 행렬을 곱하고, 상기 곱한 결과에 상기 제1 난수 이진 벡터를 합하여 상기 일회성 등록 템플릿을 갱신하는 갱신부를 포함한다.In addition, the server according to another aspect of the present invention, the server to authenticate at the request of the client, the storage unit, the one-time registration template previously stored in the storage unit, and the one-time authentication template generated from the biometric information by the client A first random number permutation matrix and a first random binary vector are generated by using a one-time conversion key previously stored in the comparator and the storage unit. And a updating unit for multiplying one random number permutation matrix and adding the first random number binary vector to the multiplication result to update the one-time registration template.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and the drawings.

본 발명에 따른 생체 인증 방법, 클라이언트 및 서버는, 사용자 인증을 위해 생성된 일회성 인증 템플릿이 네트워크 전송 도중 유출되더라도 유출된 일회성 인증 템플릿으로부터 원본 템플릿에 대한 정보를 유추해 낼 수 없어 원본 템플릿을 안전하게 보호하는 효과가 있다. Biometric authentication method, client and server according to the present invention, even if the one-time authentication template generated for user authentication is leaked during network transmission can not infer the information about the original template from the leaked one-time authentication template to secure the original template It is effective.

또한 본 발명은 기존의 일반적인 암호화 방법을 이용한 보호 방법과 달리, 변환된 템플릿을 복호화하지 않고 변환된 상태에서 직접 템플릿 비교를 통한 사용자 인증을 가능토록 하는 효과가 있다. 특히 본 발명은 변환된 템플릿을 이용하더 라도 변환 전의 템플릿을 이용한 비교와 동일성을 유지하기 때문에, 본 발명을 기존 바이오 인식 방법론 및 시스템에 적용하더라도 인식율 저하가 발생하지 않는다. In addition, the present invention has the effect of enabling user authentication through direct template comparison in the converted state without decrypting the converted template, unlike the conventional protection method using a conventional encryption method. In particular, the present invention maintains the sameity as the comparison using the template before conversion even if the converted template is used, so that the recognition rate does not decrease even if the present invention is applied to the existing bio recognition methodology and system.

또한 본 발명은 사용자 인증 시마다 매번 새로운 일회성 인증 템플릿 및 일회성 등록 템플릿을 생성하기 때문에, 네트워크 등을 통해 전송되는 템플릿을 중간에 가로채어 저장/재사용하는 방법으로는 사용자 인증을 받을 수 없도록 하는 해킹 방지의 효과가 있다. In addition, since the present invention generates a new one-time authentication template and one-time registration template every time user authentication, the method of preventing hacking to prevent user authentication by intercepting and storing / reusing a template transmitted through a network or the like. It works.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다. "및/또는"은 언급된 아이템들의 각각 및 하나 이상의 모든 조합을 포함한다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various different forms, and only the embodiments make the disclosure of the present invention complete, and the general knowledge in the art to which the present invention belongs. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims. Like reference numerals refer to like elements throughout. “And / or” includes each and all combinations of one or more of the items mentioned.

도 1 내지 도 3을 참조하여, 본 발명의 실시예에 따른 생체 인증 방법, 생체 인증 방법을 수행하기 위한 클라이언트 및 서버에 대해 설명한다. 1 to 3, a biometric authentication method and a client and server for performing the biometric authentication method according to an embodiment of the present invention will be described.

먼저, 도 1을 참조하여 본 발명의 일 실시예에 따른 생체 인증 방법을 수행하기 위해 사용자가 인증 서버에 일회성 등록 템플릿을 등록하는 과정을 설명한다. 도 1은 본 발명의 실시예에 따른 생체 인증 방법, 생체 인증 방법을 수행하기 위한 클라이언트 및 서버에 대해 설명하기 위한 블록도이다.First, a process in which a user registers a one-time registration template with an authentication server to perform a biometric authentication method according to an embodiment of the present invention will be described with reference to FIG. 1. 1 is a block diagram illustrating a biometric authentication method, a client and a server for performing a biometric authentication method according to an embodiment of the present invention.

도 1을 참조하면, 클라이언트(100)는 추출부(110) 인증 템플릿 생성부(120)를 포함한다.Referring to FIG. 1, the client 100 includes an extractor 110 and an authentication template generator 120.

추출부(110)는 사용자로부터 제공된 생체 정보로부터 원본 템플릿 x를 생성한다. 이러한 원본 템플릿은 2진수로 이루어진 비트 스트림일 수 있다.The extraction unit 110 generates the original template x from the biometric information provided from the user. This original template may be a bit stream of binary numbers.

인증 템플릿 생성부(120)는 원본 템플릿 x를 제1 난수 순열(permutation) 행렬 A 및 제1 난수 이진 벡터 b를 이용하여, 등록시 제1 일회성 등록 템플릿 g를 생성한다. 여기서 제1 난수 순열 행렬 A는 m×n 행렬로서, 열과 행에서 단 하나의 원소만이 1이고, 나머지 원소는 0인 행렬로서, 1인 원소가 무작위로 정해질 수 있는 행렬을 말한다. 예컨데 제1 난수 순열 행렬이 3×3 행렬일 때 수학식 1과 같을 수 있다.The authentication template generating unit 120 generates the first one-time registration template g when registering the original template x using the first random number permutation matrix A and the first random number binary vector b. Here, the first random number permutation matrix A is an m × n matrix, in which only one element in a column and a row is 1, and the remaining elements are 0, and a matrix in which an element of 1 may be randomly determined. For example, when the first random number permutation matrix is a 3 × 3 matrix, it may be the same as Equation 1.

Figure 112008055357715-pat00001
Figure 112008055357715-pat00001

또한, 제1 난수 이진 벡터 b는 0 또는 1의 값을 무작위로 갖는 벡터를 말한다. 예컨데 제1 난수 이진 벡터가 3×1인 경우, 수학식 2와 같을 수 있다. In addition, the first random binary vector b refers to a vector having a value of 0 or 1 randomly. For example, when the first random binary vector is 3 × 1, it may be the same as Equation 2.

Figure 112008055357715-pat00002
Figure 112008055357715-pat00002

일 수 있다.Can be.

또한, 제1 난수 순열 행렬은 다음의 수학식3 과 같은 특성을 가질 수 있다.In addition, the first random number permutation matrix may have characteristics as shown in Equation 3 below.

ATA=AAT=IA T A = AA T = I

한편, 사용자의 생체 정보로부터 생성된 등록을 위한 원본 템플릿을 x라 하면, 인증 템플릿 생성부(120)는 제1 난수 순열 행렬 및 제1 난수 이진 벡터를 이용하여, 다음의 수학식 4를 통해 일회성 등록 템플릿을 생성할 수 있다.On the other hand, if the original template for registration generated from the user's biometric information x, the authentication template generator 120 uses the first random number permutation matrix and the first random number binary vector, one-time through the following equation (4) You can create a registration template.

Figure 112008055357715-pat00003
Figure 112008055357715-pat00003

여기서 덧셈은 모듈로2 덧셈(modulo 2 addition)을 나타낸다. 예컨데 1+1=0인 덧셈을 의미한다. Here, addition refers to modulo 2 addition. For example, 1 + 1 = 0.

일회성 등록 템플릿 g가 생성된 후, 원본 템플릿 x는 폐기된다. 그리고, 일회성 등록 템플릿 g는 인증 서버(200)로 전송되어, 인증 서버(200)에 저장되며, 제1 난수 순열 행렬 A 및 제1 난수 이진 벡터 b는 사용자의 저장 매체(300), 예컨데 스마트 카드 등에 저장되어 사용자에게 제공된다.After the one-time registration template g is generated, the original template x is discarded. The one-time registration template g is transmitted to the authentication server 200 and stored in the authentication server 200, and the first random number permutation matrix A and the first random number binary vector b are the storage medium 300 of the user, for example, a smart card. It is stored in the back and provided to the user.

한편, 제1 난수 순열 행렬 A 및 제1 난수 이진 벡터 b를 생성하는 방법에 대해 설명하면, 제1 난수 순열 행렬 A 및 제1 난수 이진 벡터 b는 각각 제1 클라이언트 난수 발생기(131) 및 제2 클라이언트 난수 발생기(132)로부터 생성될 수 있다. 그리고, 제3 클라이언트 난수 발생기(미도시)으로부터 생성될 수 있다. 즉, 제1 난 수 순열 행렬 A 및 제1 난수 이진 벡터 b는, 일회성 변환키 K와 각각 독립적으로 랜덤하게 생성될 수 있다. 생성된 일회성 변환키 K는 인증 서버(200) 및 사용자의 저장 매체(300)에 각각 저장할 수 있다. 여기서 제1 클라이언트 난수 발생기(131) 및 제2 클라이언트 난수 발생기(132)가 클라이언트(100) 내부에 존재하는 경우를 예로 들어 설명하였으나, 내부에 존재하지 않을 수도 있다. 또한, 도 1에 도시된 바와 다르게, 난수 발생기(미도시)로부터 발생된 난수, 좀더 구체적으로는 이진 난수를 이용하여 제1 난수 순열 행렬 A 및 제1 난수 이진 벡터 b를 구성할 수도 있다. 제1 난수 순열 행렬 A 및 제1 난수 이진 벡터 b를 발생하는 방법은, 다양하게 실시될 수 있다.Meanwhile, the method of generating the first random number permutation matrix A and the first random number binary vector b, the first random number permutation matrix A and the first random number binary vector b, respectively, are the first client random number generator 131 and the second. It may be generated from the client random number generator 132. And, it may be generated from a third client random number generator (not shown). That is, the first random number permutation matrix A and the first random number binary vector b may be randomly generated independently of the one-time conversion key K, respectively. The generated one-time conversion key K may be stored in the authentication server 200 and the storage medium 300 of the user, respectively. Although the first client random number generator 131 and the second client random number generator 132 exist inside the client 100 as an example, the present invention may not be present. In addition, unlike FIG. 1, the first random number permutation matrix A and the first random number binary vector b may be configured by using a random number generated from a random number generator (not shown), more specifically, a binary random number. The method of generating the first random number permutation matrix A and the first random number binary vector b may be variously implemented.

정리해서 설명하면, 사용자의 생체 정보로부터 일회성 등록 템플릿 g가 생성되고, 일회성 등록 템플릿 g 및 일회성 변환키 K는 인증 서버(200)에 저장되며, 제1 난수 순열 행렬 A, 제1 난수 이진 벡터 b 및 일회성 변환키 K는 사용자의 저장매체(30)에 저장된다. 즉, 제1 난수 순열 행렬 A, 제1 난수 이진 벡터 b 및 일회성 변환키 K는 사용자 개인이 보관하게 된다.In summary, the one-time registration template g is generated from the user's biometric information, the one-time registration template g and the one-time conversion key K are stored in the authentication server 200, and the first random number permutation matrix A and the first random number binary vector b are described. And the one-time conversion key K are stored in the storage medium 30 of the user. That is, the first random number permutation matrix A, the first random number binary vector b, and the one-time conversion key K are stored by the user.

이러한 경우, 제3자가 제1 난수 순열 행렬 A와 제1 난수 이진 벡터 b를 알지 못하는 상태에서, 일회성 등록 템플릿 g로부터 원본 템플릿 x를 유추해 내는 것은 불가능하다. 따라서 인증 시스템 또는 인증 서버(200) 측에 해킹이 이루어져도 원본 템플릿 x가 유출되지 않으므로 보안성이 향상될 수 있다.In this case, it is impossible to deduce the original template x from the one-time registration template g without the third party knowing the first random number permutation matrix A and the first random number binary vector b. Therefore, even if a hack is made on the authentication system or the authentication server 200 side, since the original template x is not leaked, security may be improved.

다음으로, 등록 후, 사용자가 처음으로 인증을 요청하는 경우를 예로 들어, 본 발명의 일 실시 예에 따른 생체 인증 방법을 성명한다.Next, a biometric authentication method according to an embodiment of the present invention is described as an example of a case where a user requests authentication for the first time after registration.

사용자는 자신의 신원에 대한 확인을 받기 위해서, 즉 인증을 요청하기 위해, 자신의 바이오 인식 정보와 난수 순열 행렬 A, 난수 이진 벡터 b를 클라이언트 또는 단말기에 제공한다. 그러면 클라이언트 또는 단말기는 사용자로부터 제공된 바이오 인식 정보로부터 기존의 바이오 인식 방법에 따라 인증을 위한 원본 템플릿 y를 생성한다. 그리고 원본 템플릿 y와 난수 순열 행렬 A 그리고 난수 이진 벡터 b로부터 수학식 5와 같이 템플릿 p를 생성한다. 이때 클라이언트 또는 단말기는 원본 템플릿 y를 폐기할 수 있다.The user provides his or her biometric information, random number permutation matrix A, and random number binary vector b to the client or terminal to obtain confirmation of his identity, that is, to request authentication. The client or terminal then generates an original template y for authentication according to the existing biometric recognition method from the biometric information provided from the user. The template p is generated from the original template y, the random number permutation matrix A, and the random binary vector b as shown in Equation 5. At this time, the client or the terminal may discard the original template y.

Figure 112008055357715-pat00004
Figure 112008055357715-pat00004

그리고, 클라이언트 또는 단말기는 원본 템플릿 y대신 일회성 인증 템플릿 p를 인증 시스템 또는 인증 서버에 전송하고 인증 시스템 또는 인증 서버는 수신된 일회성 인증 템플릿 p를 이미 저장되어 있는 일회성 등록 템플릿 g와 비교하여, 미리 설정된 임계값보다 작으면 본인(genuine)으로 아니면 타인(impostor)로 결정을 내린다. 여기서 주목해야 할 것은 인증 시스템 또는 인증 서버는 원본 템플릿 x와 y 그리고 A와 b 없이, 일회성 인증 템플릿과 일회성 등록 템플릿을 이용하여 인증을 수행한다는 것이다. 수학식 6에서 보듯이 일회성 등록 템플릿 g와 일회성 인증 템플릿 p사이의 비교값, 즉 해밍 거리값은 x와 y사이의 비교값과 동일함을 알 수 있다. 즉, 사용자의 원본 바이오 인식 템플릿을 보호하기 위해 본 발명에 따라 원본 템플릿을 변환하더라도 정당한 사용자에 대해서는 변환 이전과 동일한 비교값을 유지하는 것을 알 수 있다. 따라서 원본 템플릿 보호를 위해 변환 템플릿 g, p을 이용하더라도, 사용자의 원본 바이오 인식 정보를 노출하지 않은 채 기존의 바이오 인식 시스템과 동일한 사용자 인증이 가능함을 알 수 있다. The client or terminal transmits the one-time authentication template p to the authentication system or the authentication server instead of the original template y, and the authentication system or the authentication server compares the received one-time authentication template p with the one-time registration template g already stored, If it is less than the threshold, the decision is made either by genuine or by impostor. It should be noted that the authentication system or the authentication server performs authentication using the one-time authentication template and the one-time registration template without the original templates x and y and A and b. As shown in Equation 6, it can be seen that the comparison value between the one-time registration template g and the one-time authentication template p, that is, the hamming distance value, is equal to the comparison value between x and y. That is, even if the original template is converted in accordance with the present invention to protect the original biometric template of the user, it can be seen that for the legitimate user, the same comparison value is maintained as before the conversion. Therefore, even when the conversion templates g and p are used to protect the original template, it can be seen that the same user authentication as the existing biometric recognition system is possible without exposing the user's original biometric information.

Figure 112008055357715-pat00005
Figure 112008055357715-pat00005

만약, 일회성 등록 템플릿 g를 생성하기 위해 사용하였던 A와 b가 아닌 틀린 A'와 b'를 이용하여 일회성 인증 템플릿 p를 생성하였다고 하자. 이 때, 수학식 6의 등호 관계는 성립하지 않으며, A 와 A' 그리고 b와 b'의 불일치로 인해 원본 템플릿인 x와 y의 해밍 거리보다 g와 p의 해밍 거리가 더 커질 것이라는 것을 쉽게 알 수 있다. 즉 정당한 사용자로 인증을 받기 위해서는 사용자 바이오 인식 정보와 함께 정확한 A와 b를 제공해야 한다. 만약 A와 b가 유출되었다 하더라도, 이를 취득한 공격자는 인증 시스템 또는 인증 서버로부터 정당한 사용자로 인증을 받기 위해서는 여전히 유효한 바이오 인식 템플릿을 제공해야 한다. 따라서 본 발명에서 제안된 방법을 기존 바이오 인식 시스템에 적용할 경우, 정당한 사용자의 오거부율(False Rejection Rate)에 영향을 주지 않고, 부당한 사용자의 오수락율(False Acceptance Rate)을 낮출 수 있다.Suppose that a one-time authentication template p is generated using wrong A 'and b' rather than A and b used to generate one-time registration template g. At this time, the equality relation of Equation 6 does not hold, and it is easy to see that the mismatch between A and A 'and b and b' will result in a larger hamming distance of g and p than that of the original template x and y. Can be. In other words, to be authenticated as a legitimate user, the correct A and b must be provided along with the user biometric information. Even if A and b are leaked, the attacker who has obtained it still needs to provide a valid biometric template in order to authenticate as a legitimate user from the authentication system or authentication server. Therefore, when the method proposed in the present invention is applied to the existing biometric recognition system, the false acceptance rate of an invalid user can be lowered without affecting the false rejection rate of a legitimate user.

다음으로, 도 2를 참조하여, 사용자가 t번째 인증을 요청하는 경우를 예로 들어, 본 발명의 일 실시 예에 따른 생체 인증 방법을 일반적 경우에 대해 더 상세하게 설명한다. 도 2는 사용자가 t번째 인증을 요청하는 경우에 대한 생체 인증 방법과, 생체 인증 방법을 수행하는 클라이언트 및 서버를 설명하기 위한 블록도이다. 이하에서 설명의 편의상, 제1 난수 순열 행렬, 제1 난수 이진 벡터을 일회성 변환 정보라 부른다. Next, referring to FIG. 2, the biometric authentication method according to an embodiment of the present invention will be described in more detail by taking a case where a user requests a t-th authentication as an example. FIG. 2 is a block diagram illustrating a biometric authentication method for a case where a user requests a t-th authentication, and a client and a server performing the biometric authentication method. For convenience of explanation, hereinafter, the first random number permutation matrix and the first random number binary vector are referred to as one-time conversion information.

클라이언트(100)는 추출부(110)와, 인증 템플릿 생성부(120) 및 클라이언트 갱신부(130)를 포함할 수 있고, 인증 서버(200)는 비교부(220)와, 저장부(210) 및 서버 갱신부(230)를 포함할 수 있다. The client 100 may include an extractor 110, an authentication template generator 120, and a client updater 130. The authentication server 200 may include a comparator 220 and a storage 210. And a server updater 230.

t번째 인증 시에, 인증 서버(200)는 일회성 등록 템플릿 gt, 그리고 비밀번호인 일회성 변환키 Kt를 저장하고 있으며, 사용자는 일회성 변환 정보 At, bt 그리고 일회성 변환키 Kt를 가지고 있다고 하자. At, bt 그리고 Kt는 사용자 개인 비밀 정보로 스마트카드와 같은 개인 저장장치에 저장되어 있을 수 있다. In the t-th authentication, the authentication server 200 stores the one-time registration template g t and the one-time conversion key K t which is the password, and the user has one-time conversion information A t , b t and the one-time conversion key K t . lets do it. A t , b t and K t may be stored in a personal storage device such as a smart card as user personal secret information.

t번째 인증 시에, 클라이언트(100)의 추출부(110)는 사용자로부터 생체 정보를 추출하여 비트스트림의 원본 템플릿 y를 생성한다. 인증 템플릿 생성부(120)는 원본 템플릿을, 사용자로부터 제공된 자신의 생체 정보와 At, bt 를 이용하여 수학식 7에서처럼 t번째 일회성 인증 템플릿 pt를 생성한다. 그 후, 클라이언트(100)는 원본 템플릿 y를 폐기한다.At the t-th authentication, the extraction unit 110 of the client 100 extracts biometric information from the user to generate an original template y of the bitstream. The authentication template generating unit 120 generates a t-th one-time authentication template p t as in Equation 7 by using the original template, its own biometric information and A t , b t provided from the user. The client 100 then discards the original template y.

pt=Aty+bt p t = A t y + b t

즉, 인증 템플릿 생성부(120)는, 비트스트림 원본 템플릿 y을 구성하는 각 비트의 순서를 변경하기 위해 원본 템플릿 y에 At를 곱한다. 그리고, 곱한 결과의 비트스트림에서 적어도 일부의 비트를 상보 비트(complementary bit)로 변경하기 위해, 곱한 결과에 b를 더한다.That is, the authentication template generating unit 120 multiplies the original template y by A t in order to change the order of each bit constituting the bitstream original template y. Then, b is added to the result of the multiplication in order to change at least some bits in the bitstream of the result of the multiplication into complementary bits.

좀더 구체적으로 설명하면, 원본 템플릿 y가

Figure 112008055357715-pat00006
(ai는 0 또는 1)일 때, 원본 템플릿 y에 수학식 1의 제1 난수 순열 행렬을 곱한 결과는
Figure 112008055357715-pat00007
일 수 있다. 즉, 첫번째 비트 a2 와 두번째 비트 a1 의 순서가 변경된다. 그리고, 곱한 결과
Figure 112008055357715-pat00008
에 수학식 2의 b를 모듈로2 덧셈(modulo 2 addition)을 통해 더하면, 일회성 인증 템플릿 pt
Figure 112008055357715-pat00009
이 될 수 있다. 즉, 두번째 비트 a2가 상보 비트
Figure 112008055357715-pat00010
으로 변경된다. 이와 같이 생성된 일회성 인증 템플릿은 pt 인증 서버(200)로 전송된다.More specifically, the original template y
Figure 112008055357715-pat00006
When (a i is 0 or 1), the result of multiplying the original template y by the first random permutation matrix of Equation 1 is
Figure 112008055357715-pat00007
Can be. That is, the order of the first bit a 2 and the second bit a 1 is changed. And multiply
Figure 112008055357715-pat00008
By adding b in equation 2 through modulo 2 addition, the one-time authentication template p t is
Figure 112008055357715-pat00009
This can be That is, the second bit a 2 is the complementary bit
Figure 112008055357715-pat00010
Is changed to The one-time authentication template generated as described above is transmitted to the p t authentication server 200.

인증 서버(200)의 비교부(220)는 pt를 전송 받아 저장부(210)에 기 저장된 gt와 비교하여 사용자 인증을 수행한다. 예를 들어, 비교부(220)는 수신된 일회성 인증 템플릿 pt를 이미 저장되어 있는 일회성 등록 템플릿 gt와 비교하여, 미리 설정된 임계값보다 작으면 본인(genuine)으로, 아니면 타인(impostor)로 결정을 내린 다. Comparator 220 of the authentication server 200 by receiving and p t compared to the previously stored g t in the storage unit 210 and performs user authentication. For example, the comparison unit 220 compares the received one-time authentication template p t with the one-time registration template g t already stored, and if it is smaller than a preset threshold, it is a genuine or an impostor. Make a decision

한편, 원본 템플릿 y가 일회성 인증 템플릿 pt로 변환되어 전송된다고 하더라도, 전송 중간에 유출된 일회성 인증 템플릿 pt은 재전송 공격(replay attack)에 사용될 수 있다. 이를 막기 위해, 본 발명의 실시 예에 따른 생체 인증 방법은, 매 인증 시 마다 서로 다른 값의 일회성 인증 템플릿 pt 및 일회성 등록 템플릿 gt을 이용하며, 이를 위해 인증 성공 후에는 일회성 등록 템플릿 gt을 갱신한다. 즉, t번째 인증이 성공적으로 이루어지면, 인증 서버(200)는 일회성 등록 템플릿 gt을 갱신하고, 클라이언트(100)는 일회성 변환 정보 At와 bt를 갱신한다.Meanwhile, even if the original template y is converted into one-time authentication template p t and transmitted, the one-time authentication template p t leaked in the middle of transmission may be used for a replay attack. To prevent this, the biometrics authentication method according to an embodiment of the present invention, a one-time authentication template for a different value each time at every authentication p t, and one-time registration template g t using, and a successful authentication is a one-time registration template g t after To this Update the. That is, if the t-th authentication is successful, the authentication server 200 updates the one-time registration template g t , and the client 100 updates the one-time conversion information A t and b t .

도 3을 더 참조하여 좀더 구체적으로 설명한다. 도 3은 본 발명의 생체 인증 방법 중 갱신 과정을 설명하기 위한 블록도이다.More specifically with reference to FIG. 3. 3 is a block diagram illustrating an update process of a biometric authentication method according to the present invention.

도 3을 더 참조하면, 인증 서버(200)의 서버 갱신부(230)는 제1 서버 난수 발생기(231)와, 제2 서버 난수 발생기(232) 및 제1 서버 연산부(233)를 포함한다. Referring to FIG. 3 further, the server updater 230 of the authentication server 200 includes a first server random number generator 231, a second server random number generator 232, and a first server calculator 233.

제1 서버 난수 발생기(231) 및 제2 서버 난수 발생기(232)는 저장부(210)에 기 저장되었던 일회성 변환키 Kt를 이용하여 새로운 난수 순열 행렬 A't와 새로운 난수 이진 벡터 b't를 각각 생성한다. 즉, 제1 서버 난수 발생기(231) 및 제2 서버 난수 발생기(232)는 일회성 변환키 Kt를 상태 숫자(state number, seed number)로 이용하여 난수 순열 행렬 A't와 난수 이진 벡터 b't를 각각 생성한다. The first server random number generator 231 and the second server random number generator 232 use the new random number permutation matrix A ' t and the new random number binary vector b' t using the one-time conversion key K t previously stored in the storage 210. Create each of them. That is, the first server random number generator 231 and the second server random number generator 232 use the one-time conversion key K t as a state number (seed number) and a random number permutation matrix A ' t and a random binary vector b'. Create t respectively.

그리고 제1 서버 연산부(233)는 t번째 일회성 등록 템플릿 gt를 난수 순열 행렬 A't 그리고 난수 이진 벡터 b't를 이용하여 갱신한다. 즉, 수학식 8에서처럼 t번째 일회성 등록 템플릿 gt를 t+1번째 일회성 등록 템플릿 gt + 1으로 갱신한다. The first server operator 233 updates the t th one-time registration template g t by using the random number permutation matrix A ' t and the random number binary vector b' t . That is, the update to the first one-time t g t registered template, as shown in equation 8 t + 1 th one-time registration template g t + 1.

gt +1=A'tgt +b't g t +1 = A ' t g t + b' t

갱신된 일회성 등록 템플릿 gt +1은 저장부(210)에 저장하고, 이전 등록 템플릿 gt은 폐기한다. 이와 같이, 사용자의 인증이 성공적으로 이루어 질 때마다, 새로운 일회성 등록 템플릿을 저장하므로, 재전송 공격에 효과적으로 대처할 수 있다.The updated one-time registration template g t +1 is stored in the storage unit 210 and the previous registration template g t is discarded. As such, each time a user is successfully authenticated, a new one-time registration template is stored, so that a retransmission attack can be effectively coped with.

한편, 클라이언트(100)는 제1 클라이언트 난수 발생기(131)와, 제2 클라이언트 난수 발생기(132)와, 제1 클라이언트 연산부(133)와, 제2 클라이언트 연산부(134)를 포함한다. The client 100 includes a first client random number generator 131, a second client random number generator 132, a first client calculator 133, and a second client calculator 134.

제1 클라이언트 난수 발생기(131)와, 제2 클라이언트 난수 발생기(132)는 사용자의 저장 매체(300)로부터 제공된 일회성 변환키 Kt를 이용하여 제2 난수 순열 행렬 A't 제2 난수 이진 벡터 b't를 생성한다. 즉, 제1 클라이언트 난수 발생기(131)와, 제2 클라이언트 난수 발생기(132)는 일회성 변환키 Kt를 상태 숫자(state number, seed number)로 이용하여 난수 순열 행렬 A't와 난수 이진 벡터 b't를 각각 생성한다. The first client random number generator 131 and the second client random number generator 132 use the one-time conversion key K t provided from the user's storage medium 300 to generate a second random number permutation matrix A ' t second random number binary vector b. 'create t That is, the first client random number generator 131 and the second client random number generator 132 use the one-time conversion key K t as a state number and a seed number, so that the random number permutation matrix A ' t and the random number binary vector b are used. 'Generate t each.

그리고, 제1 클라이언트 연산부(133) 및 제2 클라이언트 연산부(134)는 아래 수학식 9와 같이 제1 난수 순열 행렬 At, 제1 난수 이진 벡터 bt를, 제2 난수 순열 행렬 A't, 제2 난수 이진 벡터 b't를 이용하여, 새로운 일회성 변환 정보 At +1과 bt + 1으로 갱신한다.The first client operator 133 and the second client operator 134 may convert the first random number permutation matrix A t , the first random number binary vector b t , the second random number permutation matrix A ′ t , as shown in Equation 9 below. The second random number binary vector b ' t is used to update the new one-time conversion information A t + 1 and b t + 1 .

At +1=A'tAt A t +1 = A ' t A t

bt +1=A'tbt+b't b t +1 = A ' t b t + b' t

여기서 덧셈은, 전술한 바와 같이, 모듈로2 덧셈(modulo 2 addition)을 나타낸다. 예컨데 1+1=0인 덧셈을 의미한다. Addition here refers to modulo 2 addition, as described above. For example, 1 + 1 = 0.

두 순열 행렬의 곱은 다시 순열 행렬이 되므로, 갱신된 At +1과 bt +1은 각각 난수 순열 행렬 및 난수 이진 벡터가 된다. 구체적으로 예를 들어 설명하면, 제1 난수 순열 행렬 A't와 제2 난수 순열 행렬 At가 각각 수학식 10, 수학식 11과 같을 때, Since the product of the two permutation matrices is again a permutation matrix, the updated A t +1 and b t +1 become the random number permutation matrix and the random binary vector, respectively. In detail, for example, when the first random permutation matrix A ' t and the second random permutation matrix A t are the same as Equations 10 and 11,

Figure 112008055357715-pat00011
Figure 112008055357715-pat00011

Figure 112008055357715-pat00012
Figure 112008055357715-pat00012

수학식 9에 의해, 갱신된 At +1 도 수학식 12와 같이 순열 행렬이 된다.According to equation (9), the updated A t +1 also becomes a permutation matrix as shown in equation (12).

Figure 112008055357715-pat00013
Figure 112008055357715-pat00013

또한, 제1 난수 이진 벡터 bt 및 제2 난수 이진 벡터 b't가 각각 수학식 13 및 수학식 14와과 같을 때,Further, when the first random binary vector b t and the second random binary vector b ' t are equal to Equation 13 and Equation 14,

Figure 112008055357715-pat00014
Figure 112008055357715-pat00014

Figure 112008055357715-pat00015
Figure 112008055357715-pat00015

수학식 9에 의해, 갱신된 bt +1도 수학식 15와 같이 이진 벡터가 된다. By equation (9), the updated b t +1 is also a binary vector as in equation (15).

Figure 112008055357715-pat00016
Figure 112008055357715-pat00016

이와 같이, 갱신된 후에도 At + 1는 난수 순열 행렬이 되고, bt +1은 난수 이진 벡터가 된다. 또한, 수학식 8에서 일회성 등록 템플릿 갱신을 위해 사용된 변환 방법이 수학식 9에서 동일하게 누적되는 것을 쉽게 알 수 있다. 즉, 일회성 등록 템플릿을 갱신을 위한 변환 방법과 일회성 인증 템플릿 생성을 위한 변환 방법이 일관성을 유지하기 때문에, 사용자 등록 후 최초 인증 시뿐만 아니라, 수학식 6이 매 인증시 마다 성립되는 것을 알 수 있다.Thus, even after the update, A t + 1 becomes a random permutation matrix and b t + 1 becomes a random binary vector. In addition, it can be easily seen that the conversion method used for updating the one-time registration template in Equation 8 is equally accumulated in Equation 9. That is, since the conversion method for updating the one-time registration template and the conversion method for generating the one-time authentication template are consistent, it can be seen that Equation 6 is established at each authentication as well as the initial authentication after user registration. .

여기서 제2 난수 순열 행렬 A't와 제2 난수 이진 벡터 b't는 일회성 변환키 Kt를 통해 생성된다. 즉, 클라이언트(100) 및 인증 서버(200)는 각각 독립적으로 동일한 일회성 변환키 Kt를 상태 숫자(state number, seed number)로 이용하여 제2 난수 순열 행렬 A't와 제2 난수 이진 벡터 b't를 생성할 수 있다. Here, the second random permutation matrix A ' t and the second random binary vector b' t are generated through the one-time conversion key K t . That is, the client 100 and the authentication server 200 independently use the same one-time conversion key K t as a state number and a seed number, respectively, so that the second random number permutation matrix A ' t and the second random number binary vector b are used. ' t can be generated.

그리고, 인증 서버(200)의 서버 갱신부(230)는 일회성 변환키 Kt를 Kt +1로 갱신한다. The server updating unit 230 of the authentication server 200 updates the one-time conversion key K t to K t +1 .

도 3을 더 참조하여 좀더 구체적으로 설명하면, 서버 갱신부(230)는 제2 서 버 연산부(234)와 랜덤키 생성부(240)를 포함한다. More specifically, referring to FIG. 3, the server updater 230 includes a second server operator 234 and a random key generator 240.

랜덤키 생성부(240)는 인증이 성공된 경우, 랜덤키 Rt를 생성하여 제2 서버 연산부(234)로 제공한다.If the authentication is successful, the random key generation unit 240 generates a random key R t and provides it to the second server operation unit 234.

제2 서버 연산부(234)는 랜덤키 Rt를 이용하여 일회성 변환키 Kt를 갱신한다. 예컨데 제2 서버 연산부(234)는 아래의 수학식 16을 통해 일회성 변환키 Kt를 Kt +1로 갱신할 수 있다.The second server operator 234 updates the one-time conversion key K t using the random key R t . For example, the second server operator 234 may update the one-time conversion key K t to K t +1 through Equation 16 below.

Figure 112008055357715-pat00017
Kt +1 =H(KtRt)
Figure 112008055357715-pat00017
K t +1 = H (K t R t )

여기서, H()는 해시 함수(hash function)을 나타내고,

Figure 112008055357715-pat00018
는 배타적 논리합(exclusive or)을 나타낸다. 갱신된 Kt +1은 저장부(210)에 저장하고, Kt를 폐기한다. 해시함수를 이용하여 Kt를 갱신하기 때문에 Kt +1로부터 Kt을 역으로 유추하는 것은 계산상으로 불가능하다.Where H () represents a hash function,
Figure 112008055357715-pat00018
Denotes an exclusive OR. The updated K t +1 is stored in the storage 210 and discards K t . Since updating the K t by using the hash function is to derive the K t K t +1 is not possible to reverse from the computationally.

한편, 클라이언트(100)도 마찬가지로 인증이 성공된 경우, 일회성 변환키 Kt를 Kt +1로 갱신할 수 있다. On the other hand, the client 100 can also update the one-time conversion key K t to K t +1 when authentication is successful.

도 3을 더 참조하여 좀더 구체적으로 설명하면, 클라이언트 갱신부(130)는 제3 클라이언트 연산부(135)를 포함한다. 제3 클라이언트 연산부(135)는, 예컨데 랜덤키 Rt를 이용하여 수학식 16을 통해 일회성 변환키 Kt를 Kt +1로 갱신할 수 있다. 여기서 갱신된 Kt +1은 사용자의 저장 매체(300)에 저장된다. 여기서 랜덤키 Rt는 인증 서버(200)로부터 전송될 수 있다. More specifically with reference to FIG. 3, the client updater 130 includes a third client calculator 135. For example, the third client calculator 135 may update the one-time conversion key K t to K t +1 through Equation 16 using the random key R t . The updated K t +1 is stored in the storage medium 300 of the user. In this case, the random key R t may be transmitted from the authentication server 200.

랜덤키 Rt가 인증 서버(200)로부터 전송되는 경우, 랜덤키 Rt만 전송될 수 있으나, 전송 중에 랜덤키 Rt가 변하게 되거나 또는 제3자에 의해 조작되어 유효하지 않게 될 수 있으므로, 전송된 랜덤키 Rt가 유효한 것인지 체크할 필요가 있다. 즉, 인증 서버(200)로부터 전송된 랜덤키 Rt가 유효한 것인지 체크하기 위해, 인증 서버(200)는 체크키를 클라이언트(100)로 더 전송할 수 있다.When the random key R t is transmitted from the authentication server 200, only the random key R t may be transmitted. However, since the random key R t may be changed or manipulated by a third party to be invalid during transmission, the random key R t may be invalid. It is necessary to check whether the random key R t is valid. That is, to check whether the random key R t transmitted from the authentication server 200 is valid, the authentication server 200 may further transmit the check key to the client 100.

이를 위해, 인증 서버(200)는 도 3에 도시된 바와 같이, 서버 체크키 생성부(250)를 더 포함할 수 있고, 클라이언트(100)는 클라이언트 체크키 생성부(150) 및 체크부(140)를 더 포함할 수 있다.To this end, the authentication server 200 may further include a server check key generator 250, as shown in FIG. 3, and the client 100 may include a client check key generator 150 and a checker 140. ) May be further included.

서버 체크키 생성부(250)는 랜덤키 생성부(240)로부터 랜덤키를 제공받아 체크키를 생성한다. 체크키는 H(Kt||Rt)를 통해 생성될 수 있다. 여기서 ||는 연결 연산자(concatenation)를 나타낸다.The server check key generator 250 receives a random key from the random key generator 240 and generates a check key. The check key can be generated through H (K t || R t ). Where || represents the concatenation.

클라이언트 체크키 생성부(150)는 랜덤키 Rt를 전송받아 H(Kt||Rt)를 생성한다. 그리고 체크부(140)는 클라이언트 체크키 생성부(150)로부터 제공된 H(Kt||Rt)과 인증 서버(200)로부터 제공된 체크키 H(Kt||Rt)을 비교하여, 인증 서버(200)로부터 전송된 랜덤키 Rt가 유효한 것인지 체크한다. 인증 서버(200)로부터 전송된 랜덤 키 Rt가 유효한 경우, 체크부(140)는 제3 클라이언트 연산부(135)로 인증 서버(200)로부터 전송된 랜덤키 Rt를 전달한다. 유효하지 않은 경우, 클라이언트(100)는 인증 서버(200)로 랜덤키 Rt의 재전송을 요청할 수 있다.The client check key generation unit 150 receives the random key R t and generates H (K t || R t ). The checker 140 compares the check key H (K t || R t ) provided from the client check key generator 150 with the check key H (K t || R t ) provided from the authentication server 200. It is checked whether the random key R t transmitted from the server 200 is valid. When the random key R t transmitted from the authentication server 200 is valid, the checker 140 transmits the random key R t transmitted from the authentication server 200 to the third client calculator 135. If it is not valid, the client 100 may request retransmission of the random key R t to the authentication server 200.

전송 과정에서 랜덤키 Rt와 체크키 H(Kt||Rt)가 유출되더라도, 유출된 랜덤키 Rt와 체크키 H(Kt||Rt) 그리고 pt를 이용하여 원본 템플릿 y, 이전 일회성 인증 템플릿 pt -1 그리고 다음 번 일회성 인증 템플릿 pt + 1를 유추해 내는 것은 불가능하다. 따라서 네트워크 전송 도중 Rt와 H(Kt||Rt) 그리고 pt가 유출되더라도 이 정보를 이용하여 사용자 인증을 받을 수는 없다.Even if the random key R t and the check key H (K t || R t ) are leaked during the transmission process, the original template y using the leaked random key R t and the check key H (K t || R t ) and p t , It is not possible to deduce the previous one-time authentication template p t -1 and the next one-time authentication template p t + 1 . Therefore, even if R t , H (K t || R t ) and p t are leaked during network transmission, the user cannot be authenticated using this information.

아래의 표 1은 클라이언트(100)와 서버(200)의 통신 규약의 예시이다.Table 1 below shows an example of a communication protocol between the client 100 and the server 200.

1. 사용자는 일회성 인증 템플릿 pt를 인증 서버(200)에 전송한다.
2. 인증 서버(200)는 gt와 pt를 이용하여 사용자 인증을 수행한다. 만약, 본인으로 판정되면, 서버(200)는 Rt와 H(Kt||Rt)를 사용자에 전송한다. 그리고, Kt를 이용하여 gt를 갱신하고, Kt를 Kt +1 =H(Kt

Figure 112008055357715-pat00019
Rt)로 갱신한다.
3. 사용자는 H(Kt||Rt)를 이용하여 Rt의 유효성을 검사한 후, Kt를 이용하여 At와 bt를 갱신하고, Kt를 Kt +1 =H(Kt
Figure 112008055357715-pat00020
Rt)로 갱신한다.1. The user sends the one-time authentication template p t to the authentication server 200.
2. The authentication server 200 performs user authentication using g t and p t . If it is determined as the identity, the server 200 transmits R t and H (K t || R t ) to the user. Then, g t is updated using K t , and K t is K t +1 = H (K t
Figure 112008055357715-pat00019
R t ).
3. The user H (Kt || Rt) and then check the validity of R t, by using a K t update the A t and b t, and t K using K t +1 = H (K t
Figure 112008055357715-pat00020
R t ).

이상에서 원본 템플릿으로부터 일회성 인증 템플릿을 생성하는 과정에서 제1 난수 순열 행렬 및 제1 난수 이진 벡터 모두를 이용하는 경우를 예로 들어 설명하였으나, 본 발명은 이에 한정되지 않고, 제1 난수 순열 행렬 및 제1 난수 이진 벡터 중 어느 하나 만을 이용하여 일회성 인증 템플릿을 생성할 수 있다. 즉, 비트 스트림의 원본 템플릿 y로부터 비트의 순서를 변경하여 일회성 인증 템플릿을 생성할 수 있고, 또는 비트 스트림의 원본 템플릿 y로부터 적어도 일부 비트를 상보 비트로 변경하여 일회성 인증 템플릿을 생성할 수 있다. 제1 난수 순열 행렬 및 제1 난수 이진 벡터 중 어느 하나 만을 이용하여 일회성 인증 템플릿을 생성하는 경우에는, 클라이언트 갱신부(130)는 제1 난수 순열 행렬 및 제1 난수 이진 벡터 중 이용되는 어느 하나 만을 갱신하게 되고, 서버 갱신부(230)는 제1 난수 순열 행렬 및 제1 난수 이진 벡터 중 이용되는 어느 하나 만을 이용하여 일회성 등록 템플릿을 갱신하게 된다.In the above, the case of using both the first random number permutation matrix and the first random number binary vector in the process of generating the one-time authentication template from the original template has been described as an example, but the present invention is not limited thereto. Only one of the random binary vectors may be used to generate a one-time authentication template. That is, the one-time authentication template may be generated by changing the order of bits from the original template y of the bit stream, or the one-time authentication template may be generated by changing at least some bits from the original template y of the bit stream to complementary bits. When generating a one-time authentication template using only one of the first random number permutation matrix and the first random number binary vector, the client updater 130 may select only one of the first random number permutation matrix and the first random number binary vector. The server updater 230 updates the one-time registration template using only one of the first random number permutation matrix and the first random number binary vector.

이상에서는 본 발명에서 특정의 바람직한 실시 예에 대하여 도시하고 또한 설명하였다. 그러나 본 발명은 상술한 실시 예에 한정되지 아니하며, 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능할 것이다. 예컨대 본 발명은 본 발명의 방법이 적용되는 시스템에서 구현될 수도 있고, 본 발명의 방법을 수행하는 장치나 이 장치를 포함하는 시스템으로도 구현될 수 있으며, 본 발명의 방법을 실현하기 위한 프로그램이 기록된 기록매체의 형태 등 다양한 형태로 구현될 수 있다는 것은 본 기술 분야의 통상의 지식을 가진 자라면 쉽게 이해할 수 있을 것이다.In the above, specific preferred embodiments of the present invention have been illustrated and described. However, the present invention is not limited to the above-described embodiments, and various modifications can be made by those skilled in the art without departing from the gist of the present invention. For example, the present invention may be implemented in a system to which the method of the present invention is applied, or may be implemented in an apparatus for performing the method of the present invention or a system including the apparatus, and a program for realizing the method of the present invention may be implemented. It can be easily understood by those of ordinary skill in the art that the recording medium may be implemented in various forms such as a recorded recording medium.

도 1은 본 발명의 실시예에 따른 생체 인증 방법, 생체 인증 방법을 수행하기 위한 클라이언트 및 서버에 대해 설명하기 위한 블록도이다.1 is a block diagram illustrating a biometric authentication method, a client and a server for performing a biometric authentication method according to an embodiment of the present invention.

도 2는 사용자가 t번째 인증을 요청하는 경우에 대한 생체 인증 방법과, 생체 인증 방법을 수행하는 클라이언트 및 서버를 설명하기 위한 블록도이다. FIG. 2 is a block diagram illustrating a biometric authentication method for a case where a user requests a t-th authentication, and a client and a server performing the biometric authentication method.

도 3은 본 발명의 생체 인증 방법 중 갱신 과정을 설명하기 위한 블록도이다.3 is a block diagram illustrating an update process of a biometric authentication method according to the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

100: 클라이언트 110: 인증 서버100: Client 110: Authentication Server

110: 추출부 120: 인증 템플릿 생성부110: extraction unit 120: authentication template generation unit

130: 클라이언트 갱신부 200: 인증 서버130: client update unit 200: authentication server

210: 저장부 220: 비교부210: storage unit 220: comparison unit

230: 서버 갱신부 230: server update unit

Claims (19)

생체 정보로부터 원본 템플릿을 생성하고, 상기 원본 템플릿로부터 제1 난수 순열 행렬(random permutation matrix) 및 제1 난수 이진 벡터(random binary vector) 중 적어도 하나를 포함하는 일회성 변환 정보를 이용하여 제1 일회성 인증 템플릿을 생성하고 인증을 요청하는 단계;Generating an original template from the biometric information, and using the one-time conversion information including at least one of a first random permutation matrix and a first random binary vector from the original template, the first one-time authentication Creating a template and requesting authentication; 상기 제1 일회성 인증 템플릿과 일회성 등록 템플릿을 비교하는 단계; 및Comparing the first one-time authentication template with the one-time registration template; And 상기 비교 결과에 따라 인증되면, 상기 일회성 등록 템플릿 및 상기 일회성 변환 정보를 갱신하는 단계를 포함하되, Updating the one-time registration template and the one-time conversion information if authenticated according to the comparison result, 상기 갱신된 일회성 변환 정보는, 다음 인증 요청 시 상기 갱신된 일회성 등록 템플릿과 비교결과 인증되도록 제2 일회성 인증 템플릿을 생성하는데 이용되는 것이며,The updated one-time conversion information is used to generate a second one-time authentication template to be authenticated as a result of comparison with the updated one-time registration template at the next authentication request, 상기 제1 일회성 인증 템플릿을 생성하는 단계는Generating the first one-time authentication template 상기 원본 템플릿에 상기 제1 난수 순열 행렬을 곱하는 단계;Multiplying the original template by the first random number permutation matrix; 상기 원본 템플릿에 상기 제1 난수 이진 벡터를 모듈로 2 덧셈(modulo 2 addition)하는 단계; 및Modulo 2 addition the first random binary vector to the original template; And 상기 원본 템플릿에 상기 제1 난수 순열 행렬을 곱하고, 상기 곱한 결과에 상기 제1 난수 이진 벡터를 모듈로 2 덧셈(modulo 2 addition)하는 단계Multiplying the original template by the first random number permutation matrix, and modulo 2 addition of the first random number binary vector to the multiplication result 중 어느 하나의 단계를 포함하는 것Comprising any one of steps 인 생체 인증 방법.Biometric authentication method. 제 1항에 있어서,The method of claim 1, 상기 원본 템플릿은 비트스트림인 생체 인증 방법.And the original template is a bitstream. 삭제delete 삭제delete 삭제delete 제 1항에 있어서,The method of claim 1, 상기 일회성 등록 템플릿 및 상기 일회성 변환 정보를 갱신하는 단계는Updating the one-time registration template and the one-time conversion information 동일한 일회성 변환키를 이용하여 갱신하는 단계인 생체 인증 방법.And updating using the same one-time conversion key. 제 6항에 있어서The method of claim 6 상기 일회성 등록 템플릿 및 상기 일회성 변환 정보를 갱신하는 단계는Updating the one-time registration template and the one-time conversion information 상기 일회성 변환키를 이용하여 제2 난수 순열 행렬 및 제2 난수 이진 벡터를 생성하는 단계와,Generating a second random number permutation matrix and a second random number binary vector using the one-time conversion key; 상기 제2 순열 행렬 및 상기 제2 난수 벡터를 이용하여 상기 일회성 등록 템플릿 및 상기 일회성 변환 정보를 각각 갱신하는 단계를 포함하는 생체 인증 방법.And updating the one-time registration template and the one-time conversion information, respectively, using the second permutation matrix and the second random number vector. 제 7항에 있어서,The method of claim 7, wherein 상기 일회성 변환정보를 갱신하는 단계는Updating the one-time conversion information 상기 제1 난수 순열 행렬 및 상기 제1 난수 이진 벡터를 하기의 식 1에 따라 변환하는 단계를 포함하는 생체 인증 방법.And converting the first random number permutation matrix and the first random number binary vector according to Equation 1 below. [식 1][Equation 1] At +1=A'tAt A t +1 = A ' t A t bt +1=A'tbt+b't b t +1 = A ' t b t + b' t (단, At +1은 갱신된 제1 난수 순열 행렬, A't은 제2 난수 순열 행렬, At는 갱신전 제1 난수 순열 행렬, bt +1은 갱신된 제1 난수 이진 벡터, b't는 2 난수 이진 벡터, bt는 갱신전 제1 난수 이진 벡터)Where A t +1 is the updated first random permutation matrix, A ' t is the second random permutation matrix, A t is the first random permutation matrix before updating, b t +1 is the updated first random binary vector, b ' t is 2 random binary vectors, and b t is the first random binary vector before update) 제 7항에 있어서,The method of claim 7, wherein 상기 일회성 등록 템플릿을 갱신하는 단계는 Updating the one-time registration template 상기 일회성 등록 템플릿에 상기 제2 난수 순열 행렬을 곱하는 단계와, 상기 곱한 결과에 상기 난수 이진 벡터를 합하는 단계를 포함하는 생체 인증 방법.Multiplying the one-time registration template by the second random number permutation matrix and adding the random number binary vector to the multiplication result. 사용자, 클라이언트 및 서버간 생체 인증 방법에 있어서,In the biometric authentication method between user, client and server, 상기 사용자의 생체 정보로부터 비트스트림의 원본 템플릿을 생성하고, 상기 사용자로부터 제공된 일회성 변환 정보를 이용하여 상기 원본 템플릿을 일회성 인증 템플릿으로 변환하는 단계;Generating an original template of a bitstream from the biometric information of the user, and converting the original template into a one-time authentication template using one-time conversion information provided from the user; 상기 일회성 인증 템플릿과 상기 서버에 기 저장된 일회성 등록 템플릿을 비교하고, 그 비교 결과에 따라 인증하는 단계;Comparing the one-time authentication template with the one-time registration template previously stored in the server, and authenticating according to the comparison result; 상기 서버에 기 저장된 제1 일회성 변환키를 이용하여 상기 일회성 등록 템플릿을 갱신하고, 상기 제1 일회성 변환키를 갱신하고, 상기 갱신된 일회성 등록 템플릿 및 상기 갱신된 제1 일회성 변환키를 상기 서버에 저장하는 단계; 및 Update the one-time registration template using the first one-time conversion key previously stored in the server, update the first one-time conversion key, and update the updated one-time registration template and the updated first one-time conversion key to the server. Storing; And 상기 제1 일회성 변환키와 동일한 제2 일회성 변환키를 이용하여 상기 일회성 변환 정보를 갱신하고, 상기 제2 일회성 변환키를 상기 갱신된 제1 일회성 변환키와 동일하게 갱신하는 단계를 포함하되,And updating the one-time conversion information by using a second one-time conversion key identical to the first one-time conversion key, and updating the second one-time conversion key to be identical to the updated first one-time conversion key. 상기 일회성 인증 템플릿으로 변환하는 단계는 상기 비트스트림의 비트 순서를 변경하는 단계를 포함하는 생체 인증 방법.Converting to the one-time authentication template includes changing the bit order of the bitstream. 제 10항에 있어서,The method of claim 10, 상기 제1 일회성 인증 템플릿으로 변환하는 단계는 상기 비트스트림의 적어도 일부 비트를 상보 비트로 변환하는 단계를 더 포함하는 생체 인증 방법.The converting into the first one-time authentication template further comprises converting at least some bits of the bitstream into complementary bits. 제 11항에 있어서,The method of claim 11, 상기 제1 일회성 변환키를 갱신하는 단계 및 상기 제2 일회성 변환키를 갱신하는 단계는 각각Updating the first one-time conversion key and updating the second one-time conversion key are respectively 랜덤키를 이용하여 하기의 식 2를 통해 변환하는 생체 인증 방법.Biometric authentication method using a random key to convert through the following equation 2. [식 2][Equation 2] Kt+1 =H(Kt
Figure 112010043933445-pat00021
Rt)
K t + 1 = H (K t
Figure 112010043933445-pat00021
R t )
(단, Kt+1'는 갱신된 제1 일회성 변환키 또는 갱신된 제2 일회성 변환키, Kt는 갱신전 제1 일회성 변환키 또는 갱신전 제2 일회성 변환키, Rt는 랜덤키, H()는 해시 함수(hash function),
Figure 112010043933445-pat00022
는 배타적 논리합(exclusive or))
(Where, K t + 1 'is an updated first one-time conversion key or an updated second one-time conversion key, K t is a first one-time conversion key before update or a second one-time conversion key before update, R t is a random key, H () is a hash function,
Figure 112010043933445-pat00022
Is an exclusive OR)
제 12항에 있어서,The method of claim 12, 상기 서버가 상기 랜덤키를 발생시키는 단계와,The server generating the random key; 상기 랜덤키를 상기 클라이언트로 제공하는 단계와,Providing the random key to the client; 상기 랜덤키가 유효한 것인지 여부를 확인하기 위한 체크키를 제공하는 단계와,Providing a check key for checking whether the random key is valid; 상기 체크키 및 상기 랜덤키를 이용하여 상기 랜덤키가 유효한지 여부를 체크하는 단계를 더 포함하는 생체 인증 방법.And checking whether the random key is valid using the check key and the random key. 제 13항에 있어서,The method of claim 13, 상기 체크키는 H(Kt||Rt)를 통해 생성되는 생체 인증 방법.The check key is a biometric authentication method generated through H (K t || R t ). (단, ||는 연결 연산자(concatenation))(Where || is a concatenation) 서버로 인증을 요청하는 클라이언트에 있어서,In a client that requests authentication to a server, 사용자의 생체 정보로부터 원본 템플릿을 생성하고, 상기 원본 템플릿에 제1 난수 순열 행렬(random permutation matrix)을 곱하고, 상기 곱한 결과에 제1 난수 이진 벡터(random binary vector)를 합하여 일회성 인증 템플릿을 생성하는 인증 템플릿 생성부; 및Generating an original template from the user's biometric information, multiplying the original template by a first random permutation matrix, and adding the first random binary vector to the multiplication result to generate a one-time authentication template. An authentication template generator; And 상기 일회성 인증 템플릿이 상기 서버에 기 저장된 일회성 등록 템플릿과 비교결과 인증된 경우, 상기 사용자로부터 제공된 일회성 변환키를 이용하여 제2 난수 순열 행렬 및 제2 난수 이진 벡터를 생성하고, 상기 제2 난수 순열 행렬 및 상기 제2 난수 이진 벡터를 이용하여 상기 제1 난수 순열 행렬과 상기 제1 난수 이진 벡터를 갱신하고, 상기 서버로부터 제공된 램덤키를 이용하여 상기 일회성 변환키를 갱신하는 갱신부를 포함하는 클라이언트.When the one-time authentication template is authenticated as a result of comparing with the one-time registration template previously stored in the server, a second random number permutation matrix and a second random number binary vector are generated using the one-time conversion key provided from the user, and the second random number permutation is generated. And an updater to update the first random number permutation matrix and the first random number binary vector using a matrix and the second random number binary vector, and to update the one-time conversion key using a random key provided from the server. 삭제delete 제 15항에 있어서,The method of claim 15, 상기 서버로부터 체크키를 제공받아 상기 체크키를 이용하여 상기 서버로부터 제공된 랜덤키의 유효성을 체크하는 체크부를 더 포함하는 클라이언트.And a checker configured to receive a check key from the server and check validity of a random key provided from the server using the check key. 클라이언트의 요청에 따라 인증하는 서버에 있어서,A server that authenticates at the request of a client, 저장부;Storage unit; 상기 저장부에 기 저장된 일회성 등록 템플릿과, 상기 클라이언트가 생체 정보로부터 생성한 일회성 인증 템플릿을 비교하는 비교부; 및A comparison unit comparing the one-time registration template previously stored in the storage unit with a one-time authentication template generated by the client from biometric information; And 상기 비교결과 인증된 경우, 상기 저장부에 기 저장된 일회성 변환키를 이용하여 제1 난수 순열 행렬(random permutation matrix) 및 제1 난수 이진 벡터(random binary vector)를 생성하고, 상기 일회성 등록 템플릿에 상기 제1 난수 순열 행렬을 곱하고, 상기 곱한 결과에 상기 제1 난수 이진 벡터를 합하여 상기 일회성 등록 템플릿을 갱신하고, 랜덤키를 이용하여 상기 일회성 변환키를 갱신하는 갱신부를 포함하는 서버.When the comparison result is authenticated, a first random number permutation matrix and a first random binary vector are generated by using the one-time conversion key previously stored in the storage unit, and the one-time registration template includes the first random number. And an updater to multiply a first random number permutation matrix, add the first random number binary vector to the result of the multiplication, and update the one-time registration template, and update the one-time conversion key using a random key. 제 18항에 있어서,The method of claim 18, 상기 랜덤키 및 상기 랜덤키의 유효성을 체크하기 위한 체크키를 생성하고, 상기 랜덤키 및 상기 체크키를 상기 클라이언트로 제공하는 체크키 생성부를 더 포함하는 서버.And a check key generation unit generating a check key for checking the random key and validity of the random key, and providing the random key and the check key to the client.
KR1020080075022A 2008-07-31 2008-07-31 Biometric Authentication Methods, Clients, and Servers Expired - Fee Related KR100986980B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080075022A KR100986980B1 (en) 2008-07-31 2008-07-31 Biometric Authentication Methods, Clients, and Servers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080075022A KR100986980B1 (en) 2008-07-31 2008-07-31 Biometric Authentication Methods, Clients, and Servers

Publications (2)

Publication Number Publication Date
KR20100013486A KR20100013486A (en) 2010-02-10
KR100986980B1 true KR100986980B1 (en) 2010-10-11

Family

ID=42087473

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080075022A Expired - Fee Related KR100986980B1 (en) 2008-07-31 2008-07-31 Biometric Authentication Methods, Clients, and Servers

Country Status (1)

Country Link
KR (1) KR100986980B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11032273B2 (en) 2017-04-29 2021-06-08 Crypto Lab Inc. Method for authenticating secret information which protects secret information

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102460069B1 (en) * 2015-09-30 2022-10-28 삼성전자주식회사 Security certification apparatus using biometric information and security certification method
KR101838008B1 (en) * 2017-04-29 2018-03-13 서울대학교산학협력단 Method for Authenticating Biometric Information Which Protects Biometric Information

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040000477A (en) * 2001-05-18 2004-01-03 이리디언 테크놀러지스, 인크. Application-specific biometric templates
KR20070026584A (en) * 2004-05-17 2007-03-08 아이덴티피케이션 테크놀러지 그룹 인코포레이티드 Biometric Authentication Portable Access Device
JP2007108832A (en) * 2005-10-11 2007-04-26 Hitachi Omron Terminal Solutions Corp Identification method, program, and transaction processing apparatus
KR20080022729A (en) * 2006-09-07 2008-03-12 한국전자통신연구원 Biometric method and apparatus therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040000477A (en) * 2001-05-18 2004-01-03 이리디언 테크놀러지스, 인크. Application-specific biometric templates
KR20070026584A (en) * 2004-05-17 2007-03-08 아이덴티피케이션 테크놀러지 그룹 인코포레이티드 Biometric Authentication Portable Access Device
JP2007108832A (en) * 2005-10-11 2007-04-26 Hitachi Omron Terminal Solutions Corp Identification method, program, and transaction processing apparatus
KR20080022729A (en) * 2006-09-07 2008-03-12 한국전자통신연구원 Biometric method and apparatus therefor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11032273B2 (en) 2017-04-29 2021-06-08 Crypto Lab Inc. Method for authenticating secret information which protects secret information

Also Published As

Publication number Publication date
KR20100013486A (en) 2010-02-10

Similar Documents

Publication Publication Date Title
US11824991B2 (en) Securing transactions with a blockchain network
US10728027B2 (en) One-time passcodes with asymmetric keys
JP4881119B2 (en) User authentication method, user side authentication device, and program
US6959394B1 (en) Splitting knowledge of a password
US8281148B2 (en) Securely computing a similarity measure
US7178025B2 (en) Access system utilizing multiple factor identification and authentication
US8838990B2 (en) Bio-cryptography: secure cryptographic protocols with bipartite biotokens
CN103346888B (en) A kind of remote identity authentication method based on password, smart card and biological characteristic
US20060036857A1 (en) User authentication by linking randomly-generated authentication secret with personalized secret
US9384338B2 (en) Architectures for privacy protection of biometric templates
EP2339777A2 (en) Method of authenticating a user to use a system
CN105871553A (en) Identity-free three-factor remote user authentication method
CN1973306A (en) Renewable and private biometrics
US8806216B2 (en) Implementation process for the use of cryptographic data of a user stored in a data base
KR101010218B1 (en) Biometric Authentication Method
JP7632477B2 (en) Recovery verification system, collation system, recovery verification method and program
KR100986980B1 (en) Biometric Authentication Methods, Clients, and Servers
US20240169350A1 (en) Securing transactions with a blockchain network
Kiennert et al. Authentication systems
TWI381696B (en) Authentication based on asymmetric cryptography utilizing rsa with personalized secret
JP2003333028A (en) Data processing device
Murdoch et al. A Forward-secure Efficient Two-factor Authentication Protocol
US20230104633A1 (en) Management system and method for user authentication on password based systems
Sarier Security notions of biometric remote authentication revisited
Deswarte et al. The challenges raised by the privacy-preserving identity card

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

FPAY Annual fee payment

Payment date: 20130923

Year of fee payment: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20141006

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20141006

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000