KR102008101B1 - Secure biometric authentication method using functional encryption - Google Patents

Secure biometric authentication method using functional encryption Download PDF

Info

Publication number
KR102008101B1
KR102008101B1 KR1020180074964A KR20180074964A KR102008101B1 KR 102008101 B1 KR102008101 B1 KR 102008101B1 KR 1020180074964 A KR1020180074964 A KR 1020180074964A KR 20180074964 A KR20180074964 A KR 20180074964A KR 102008101 B1 KR102008101 B1 KR 102008101B1
Authority
KR
South Korea
Prior art keywords
bio
data
authentication
template
user
Prior art date
Application number
KR1020180074964A
Other languages
Korean (ko)
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 KR1020180074964A priority Critical patent/KR102008101B1/en
Application granted granted Critical
Publication of KR102008101B1 publication Critical patent/KR102008101B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography

Abstract

Disclosed is a secure biometric authentication method using a functional password. According to one embodiment of the present invention, an authentication method performed in an authentication server comprises the following steps: registering biometric data of a user inputted to a local sensor; and authentication the biometric authentication data of the user in accordance with the calculation of the biometric authentication data inputted to the local sensor by combining at least one calculation method.

Description

함수 암호를 이용한 안전한 바이오 인증 방법{SECURE BIOMETRIC AUTHENTICATION METHOD USING FUNCTIONAL ENCRYPTION}SECURE BIOMETRIC AUTHENTICATION METHOD USING FUNCTIONAL ENCRYPTION}

아래의 설명은 보안 기술에 관한 것으로, 바이오 데이터의 인증 방법에 관한 것이다. The following description relates to security technology and to a method of authenticating bio data.

사용자 인증은 특정 시스템(예를 들면, 컴퓨터, 웹 서버, 스마트 폰 등)에 접근을 시도하는 사용자가 접근 권한이 있는지를 확인하여 접근을 허용하는 일련의 절차로서, 패스워드나 개인식별번호를 이용한 지식 기반 인증, 지문이나 홍채, 얼굴 등 신체 정보를 이용한 바이오 인증, 카드나 동글 등 하드웨어를 이용한 소유 기반 인증 등이 이용되고 있다. 이 중 바이오 인증은 그 편의성으로 인해 점차 많은 곳에서 활용되고 있으나, 안전성 측면에서 한 가지 문제점을 가지고 있다. 지식 기반 인증에서 패스워드 유출 시에는 패스워드를 교체하면 되며, 소유 기반 인증에서도 인증용 하드웨어의 도난 또는 분실 시에는 새로운 하드웨어로 대체하면 되지만, 바이오 데이터 유출 시에는 적절한 대응 방안이 없기 때문이다. 따라서, 바이오 인증에서는 지문, 홍채 등 바이오 데이터 원본을 시스템에서 안전하게 관리하는 것이 다른 종류의 인증에 비해 더 중요하다.User authentication is a series of procedures that allows access by checking whether a user who attempts to access a particular system (eg computer, web server, smartphone, etc.) has access rights. Basic authentication, biometric authentication using fingerprints, irises, and face information, and proprietary authentication using hardware such as a card or dongle are used. Among these, bio-certification is being used in many places due to its convenience, but has one problem in terms of safety. In knowledge-based authentication, the password must be replaced when the password is leaked. In the case of ownership-based authentication, if the hardware for authentication is stolen or lost, the new hardware can be replaced. However, there is no appropriate countermeasure in case of bio data leakage. Therefore, in bio authentication, it is more important to securely manage bio data sources such as fingerprints and irises in the system than other types of authentications.

이러한 문제에 대한 대안으로, 바이오 데이터를 로컬 시스템보다는 좀더 안전하게 관리되는 원격 서버에 저장하는 클라우드 형태의 개선 방안이 널리 고려되고 있다. 다만, 이 경우에는 원격 클라우드 서버가 바이오 데이터를 무단으로 활용할 가능성을 배제할 수 없으므로, 클라우드 서버에 바이오 데이터를 원본(예를 들면, 홍채의 비트맵 이미지)이 아닌 변환된 형태로 저장하도록 하는 것이 바람직하다. 이 경우 클라우드 서버가 데이터를 악용하려고 시도하여도 해당 데이터는 바이오 데이터 원본이 아닌 변환된 형태이므로 유출 시 쓸모가 없게 된다.As an alternative to this problem, a cloud-like improvement scheme for storing bio data on a remote server managed more securely than a local system is widely considered. In this case, however, it is impossible to exclude the possibility that the remote cloud server utilizes the bio data without permission. Therefore, it is necessary to store the bio data in the converted form of the cloud server instead of the original (for example, a bitmap image of the iris). desirable. In this case, even if the cloud server attempts to exploit the data, the data is not a biodata source, but converted form, which is useless when leaked.

참고문헌: [1] Jong-Hyuk Im, JinChun Choi, DaeHun Nyang and Mun-Kyu Lee, "Privacy-Preserving Palm Print Authentication Using Homomorphic Encryption,"2nd Intl Conf on Big Data Intelligence and Computing (DataCom) 2016, pp. 878-881, 2016.References: [1] Jong-Hyuk Im, JinChun Choi, DaeHun Nyang and Mun-Kyu Lee, "Privacy-Preserving Palm Print Authentication Using Homomorphic Encryption," 2nd Intl Conf on Big Data Intelligence and Computing (DataCom) 2016, pp. 878-881, 2016.

[2] Sam Kim, Kevin Lewi, Avradip Mandal, Hart William Montgomery, Arnab Roy and David J. Wu, "Function-Hiding Inner Product Encryption is Practical", IACR Cryptology ePrint Archive, 2016:440, 2016.[2] Sam Kim, Kevin Lewi, Avradip Mandal, Hart William Montgomery, Arnab Roy and David J. Wu, "Function-Hiding Inner Product Encryption is Practical", IACR Cryptology ePrint Archive, 2016: 440, 2016.

본 발명은 함수 암호(functional encryption) 기술을 이용하여 안전한 바이오 인증을 수행하는 방법을 제공할 수 있다The present invention can provide a method for performing secure biometric authentication using functional encryption technology.

인증 서버에서 수행되는 인증 방법은, 로컬 센서에 입력된 사용자의 바이오 데이터를 등록하는 단계; 및 상기 로컬 센서에 입력된 바이오 인증 데이터를 적어도 하나 이상의 계산 방법을 조합하여 계산함에 따라 사용자의 바이오 인증 데이터를 인증하는 단계를 포함할 수 있다. The authentication method performed in the authentication server includes registering bio data of a user input to a local sensor; And authenticating the bio certification data of the user according to the calculation of the bio certification data input to the local sensor by combining at least one calculation method.

상기 사용자의 바이오 데이터를 등록하는 단계는, 상기 로컬 센서에 입력된 사용자의 바이오 데이터를 함수 암호의 비밀키로 등록하는 단계를 포함할 수 있다. The registering of the bio data of the user may include registering the bio data of the user input to the local sensor as a secret key of a function password.

상기 사용자의 바이오 인증 데이터를 인증하는 단계는, 상기 로컬 센서에 입력된 바이오 인증 데이터에 기반하여 계산된 암호문을 적어도 하나 이상의 계산 방법을 조합하여 복호화함에 따라 사용자의 바이오 인증 데이터를 인증하는 단계를 포함할 수 있다. The authenticating the bio authentication data of the user may include authenticating the bio authentication data of the user by decrypting a cipher text calculated based on the bio authentication data input to the local sensor by combining at least one calculation method. can do.

상기 사용자의 바이오 데이터를 등록하는 단계는, 상기 로컬 센서에 입력된 사용자의 바이오 데이터로부터 변환된 바이오 템플릿(x)과 키 분배 서버의 마스터 비밀키를 이용하여 생성된 비밀키(sk 1 , sk 2 )를 저장하여 사용자의 바이오 데이터를 등록하는 단계를 포함할 수 있다. The registering of the bio data of the user may include: a secret key ( sk 1 , sk 2) generated using the bio template ( x ) converted from the bio data of the user input to the local sensor and the master secret key of the key distribution server. ) To register the user's bio data.

상기 사용자의 바이오 데이터를 등록하는 단계는, 상기 로컬 센서에서 상기 바이오 데이터가 정수 형태의 바이오 템플릿(x)로 변환되고, 상기 바이오 데이터의 바이오 템플릿이 정밀도 파라미터(Q, S)를 이용하여 양자화된 바이오 템플릿(x' 1 , x' 2 )이 계산됨에 따라 상기 키 분배 서버에서 마스터 비밀키(msk)와 상기 양자화된 바이오 템플릿(x' 1 , x' 2 )를 이용하여 생성된 비밀키(sk1, sk 2 )를 저장하는 단계를 포함할 수 있다. The registering of the bio data of the user may include converting the bio data into an integer-type bio template x by the local sensor, and the bio template of the bio data is quantized using the precision parameters Q and S. As a bio template ( x ' 1 , x' 2 ) is calculated, a secret key (sk) generated using the master secret key ( msk ) and the quantized bio template ( x ' 1 , x' 2 ) at the key distribution server. 1 , sk 2 ) may be included.

상기 사용자의 바이오 인증 데이터를 인증하는 단계는, 상기 로컬 센서에 입력된 바이오 인증 데이터에 기반하여 변환된 1)바이오 템플릿(y), 상기 마스터 비밀키(msk) 및 정밀도 파라미터(R) 또는 2)상기 바이오 템플릿(y)과 상기 마스터 비밀키(msk) 중 어느 하나를 이용하여 상기 로컬 센서에서 계산된 암호문을 이용하여 상기 바이오 데이터에 기반하여 변환된 바이오 템플릿 및 상기 바이오 인증 데이터에 기반하여 변환된 바이오 템플릿의 내적 계산을 수행하는 단계를 포함할 수 있다. The authenticating of the bio authentication data of the user may include: 1) a bio template ( y ), the master secret key ( msk ), and a precision parameter ( R ) or 2) converted based on the bio authentication data input to the local sensor. The bio template converted based on the bio data and the bio authentication data converted using the cipher text calculated by the local sensor using one of the bio template y and the master secret key msk are converted. Performing internal product calculation of the bio template.

상기 사용자의 바이오 인증 데이터를 인증하는 단계는, 상기 로컬 센서에서 상기 바이오 인증 데이터가 정수 형태의 바이오 템플릿(y)으로 변환되고, 1)상기 마스터 비밀키(msk), 상기 바이오 인증 데이터의 바이오 템플릿(y) 및 정밀도 파라미터(R) 또는 2)상기 마스터 비밀키(msk)와 상기 바이오 인증 데이터의 바이오 템플릿(y) 중 어느 하나를 이용하여 계산된 암호문(c 1 , c 2 )를 수신하는 단계를 포함할 수 있다. The authenticating of the bio authentication data of the user may include converting the bio authentication data into an integer bio template ( y ) in the local sensor, 1) the master secret key ( msk ), and the bio template of the bio authentication data. ( y ) and a precision parameter ( R ) or 2) receiving a ciphertext ( c 1 , c 2 ) calculated using either the master secret key ( msk ) and the bio template ( y ) of the biometric data. It may include.

상기 사용자의 바이오 인증 데이터를 인증하는 단계는, 공개 파라미터, 상기 비밀키 및 상기 암호문을 이용하여 어느 하나의 바이오 데이터의 양자화된 바이오 템플릿(x' 1 )과 상기 바이오 인증 데이터의 양자화된 바이오 템플릿(y')의 내적(

Figure 112018063829270-pat00001
)을 획득하는 단계를 포함할 수 있다. The authenticating the bio authentication data of the user may include: a quantized bio template ( x ′ 1 ) of any one bio data and a quantized bio template of the bio authentication data using a public parameter, the secret key, and the cipher text. dot product of y ' )
Figure 112018063829270-pat00001
) May be obtained.

상기 사용자의 바이오 인증 데이터를 인증하는 단계는, 공개 파라미터, 상기 비밀키 및 상기 암호문을 이용하여 다른 하나의 바이오 데이터의 양자화된 바이오 템플릿(x' 2 )과 상기 바이오 인증 데이터의 바이오 템플릿(y)의 내적(

Figure 112018063829270-pat00002
)을 획득하는 단계를 포함할 수 있다. The authenticating the bio authentication data of the user may include: a quantized bio template x ' 2 of another bio data and a bio template y of the bio authentication data using a public parameter, the secret key, and the cipher text. Dot product of
Figure 112018063829270-pat00002
) May be obtained.

상기 사용자의 바이오 인증 데이터를 인증하는 단계는, 상기 획득된 내적을 적어도 하나 이상의 코사인 유사도 계산 방법의 OR 조건, AND 조건 및 가중치 조건 중 어느 하나에 기반하여 인증 성공 여부를 판단하는 단계를 포함하고, 상기 OR 조건은,

Figure 112018063829270-pat00003
또는
Figure 112018063829270-pat00004
이고, The authenticating the biometric data of the user may include determining whether the authentication is successful based on any one of an OR condition, an AND condition, and a weight condition of at least one cosine similarity calculation method. The OR condition is,
Figure 112018063829270-pat00003
or
Figure 112018063829270-pat00004
ego,

상기 AND 조건은,

Figure 112018063829270-pat00005
그리고
Figure 112018063829270-pat00006
이고, 상기 가중치 조건은,
Figure 112018063829270-pat00007
일 수 있다. The AND condition is,
Figure 112018063829270-pat00005
And
Figure 112018063829270-pat00006
Wherein the weighting condition is
Figure 112018063829270-pat00007
Can be.

인증 서버는, 로컬 센서에 입력된 사용자의 바이오 데이터를 등록하는 등록부; 및 상기 로컬 센서에 입력된 바이오 인증 데이터를 적어도 하나 이상의 계산 방법을 조합하여 계산함에 따라 사용자의 바이오 인증 데이터에 대한 인증을 수행하는 인증부를 포함할 수 있다. The authentication server may include a registration unit that registers bio data of a user input to a local sensor; And an authentication unit configured to perform authentication on the bio authentication data of the user as the bio authentication data input to the local sensor is calculated by combining at least one calculation method.

본 발명은 암호문 사이의 연산 결과가 평문으로 도출되는 함수 암호를 이용함으로써 간편하고 빠르게 바이오 인증을 수행할 수 있다. The present invention can perform bio-authentication simply and quickly by using a function cipher in which the operation result between ciphertexts is derived as plain text.

본 발명은 벡터 내적의 계산이 가능한 변형된 코사인 유사도 계산 방법을 통하여 내적 함수 암호에 기반한 바이오 템플릿 간 거리를 측정할 수 있어 다양한 바이오 인증 분야에 적용할 수 있다. The present invention can measure the distance between bio-templates based on the inner-function code through a modified cosine similarity calculation method capable of calculating the inner product of the vector and can be applied to various bio certification fields.

본 발명은 변형된 코사인 유사도 계산 방법을 조합하여 보다 정확한 바이오 인증을 수행할 수 있다. The present invention can perform more accurate bio-certification by combining the modified cosine similarity calculation method.

도 1은 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 일 실시예에 따른 인증 시스템의 구성을 설명하기 위한 블록도이다.
도 3은 일 실시예에 따른 인증 시스템의 인증 방법을 설명하기 위한 흐름도이다.
도 4는 일 실시예에 따른 인증 시스템에서 바이오 데이터 등록 방법을 설명하기 위한 도면이다.
도 5는 일 실시예에 따른 인증 시스템에서 바이오 데이터의 인증 방법을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 인증 시스템에서 인증 성공 여부를 판단하는 방법을 설명하기 위한 도면이다.
1 is a diagram illustrating an example of a network environment according to an embodiment.
2 is a block diagram illustrating a configuration of an authentication system according to an exemplary embodiment.
3 is a flowchart illustrating an authentication method of an authentication system according to an exemplary embodiment.
4 is a diagram for describing a bio data registration method in an authentication system, according to an exemplary embodiment.
5 is a diagram for describing a method of authenticating bio data in an authentication system, according to an exemplary embodiment.
6 is a diagram for describing a method of determining whether authentication is successful in an authentication system according to an exemplary embodiment.

이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings.

함수 암호(functional encryption)란 평문(plaintext)

Figure 112018063829270-pat00008
에 대한 암호문과 함수
Figure 112018063829270-pat00009
에 대한 비밀키가 해독기(decryptor)에 주어지면, 해독기가 해당 비밀키를 이용해 암호문으로부터
Figure 112018063829270-pat00010
을 계산할 수 있는 암호이다. 예를 들어, 함수
Figure 112018063829270-pat00011
(a, b는 정수)에 대한 함수 암호는 평문
Figure 112018063829270-pat00012
의 암호문
Figure 112018063829270-pat00013
Figure 112018063829270-pat00014
에 대한 비밀키
Figure 112018063829270-pat00015
가 주어질 때 복호화 연산
Figure 112018063829270-pat00016
를 만족하는 암호이다. 단,
Figure 112018063829270-pat00017
를 보유한 측은 암호문에 대해 함수
Figure 112018063829270-pat00018
에 대한 결과만을 복호화할 뿐, 다른 복호화는 불가능한 특성이 있다. 실시예에서는 내적 계산을 수행하는 함수 암호를 활용하는데, [2]에 따르면 이는 다음과 같은 기능들로 구성된다.Functional encryption is plaintext
Figure 112018063829270-pat00008
Passphrases and Functions for
Figure 112018063829270-pat00009
If the secret key for is given to the decrypter, the decrypter uses the secret key to
Figure 112018063829270-pat00010
It is a password that can be calculated. For example, a function
Figure 112018063829270-pat00011
The function password for (a, b is an integer) is plaintext
Figure 112018063829270-pat00012
Ciphertext
Figure 112018063829270-pat00013
And
Figure 112018063829270-pat00014
Secret key for
Figure 112018063829270-pat00015
Operation when is given
Figure 112018063829270-pat00016
Is a password that satisfies. only,
Figure 112018063829270-pat00017
Side holding the function
Figure 112018063829270-pat00018
It only decodes the result, and other decoding is impossible. The embodiment utilizes a function cipher that performs an internal calculation, which according to [2] consists of the following functions.

(1) 초기 설정(setup) 작업: 주어진 안전성 요구조건(안전성 파라미터

Figure 112018063829270-pat00019
)을 만족하는 공개 파라미터(pp), 마스터 비밀키(msk)를 생성한다. 다시 말해서, (pp, msk)= setup(L)(1) Initial setup work: given safety requirements (safety parameters
Figure 112018063829270-pat00019
Create a public parameter ( pp ) and a master secret key ( msk ) that satisfy. In other words, ( pp , msk ) = setup ( L )

(2) 키 생성(keygen) 작업: 마스터 비밀키(msk)와 입력 벡터(

Figure 112018063829270-pat00020
)로부터 비밀키(sk)를 생성한다. 즉, sk=keygen(msk,
Figure 112018063829270-pat00021
)(2) Keygen operation: master secret key ( msk ) and input vector (
Figure 112018063829270-pat00020
Generates a secret key ( sk ) from That is, sk = keygen ( msk ,
Figure 112018063829270-pat00021
)

(3) 암호화(encrypt) 작업: 마스터 비밀키(msk)와 벡터(y)로부터 암호문(c)를 계산한다. 즉, c=encrypt(msk, y)(3) Encrypt operation: Compute the ciphertext ( c ) from the master secret key ( msk ) and the vector ( y ). I.e. c = encrypt ( msk, y )

(4) 복호화(decrypt) 작업: 공개 파라미터(pp)와 비밀키(sk), 암호문(c)로부터 입력 벡터(

Figure 112018063829270-pat00022
)와 벡터(y) 의 내적을 계산한다. 즉, r=decrypt(pp, sk, c)로 계산된 결과에 대해
Figure 112018063829270-pat00023
가 만족된다.(4) Decrypt operation: input vector from public parameter ( pp ), secret key ( sk ), and ciphertext ( c )
Figure 112018063829270-pat00022
) And the dot product of the vector ( y ). That is, for the result calculated by r = decrypt ( pp, sk, c )
Figure 112018063829270-pat00023
Is satisfied.

도 1은 일 실시예에 따른 네트워크 환경의 예를 도시한 도면이다.1 is a diagram illustrating an example of a network environment according to an embodiment.

도 1의 네트워크 환경은 복수의 전자 기기들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 기기의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다. The network environment of FIG. 1 illustrates an example including a plurality of electronic devices 110, 120, 130, and 140, a plurality of servers 150 and 160, and a network 170. 1 is an example for describing the present invention, and the number of electronic devices or the number of servers is not limited as shown in FIG. 1.

복수의 전자 기기들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 기기들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 네비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 있다. 일례로 전자 기기 1(110)은 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 기기들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있다. 실시예에서는 전자 기기는 얼굴 인식, 지문 인식, 홍채 인식 등 사용자의 바이오 데이터를 인식하기 위한 카메라, 센서 기능이 탑재된 기기일 수 있다. The plurality of electronic devices 110, 120, 130, and 140 may be fixed terminals or mobile terminals implemented as computer devices. Examples of the plurality of electronic devices 110, 120, 130, and 140 include a smart phone, a mobile phone, a navigation device, a computer, a notebook computer, a digital broadcasting terminal, a personal digital assistant (PDA), and a portable multimedia player (PMP). Tablet PC). For example, the electronic device 1 110 may communicate with other electronic devices 120, 130, 140 and / or the server 150, 160 through a network 170 using a wireless or wired communication scheme. In an embodiment, the electronic device may be a device equipped with a camera and a sensor function for recognizing a user's bio data such as face recognition, fingerprint recognition, and iris recognition.

통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 기기들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The communication method is not limited, and may include not only a communication method using a communication network (for example, a mobile communication network, a wired internet, a wireless internet, a broadcasting network) that the network 170 may include, but also a short range wireless communication between devices. For example, the network 170 may include a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), and a broadband network (BBN). And one or more of networks such as the Internet. The network 170 may also include any one or more of network topologies, including bus networks, star networks, ring networks, mesh networks, star-bus networks, trees, or hierarchical networks, but It is not limited.

서버(150, 160) 각각은 복수의 전자 기기들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다.Each of the servers 150 and 160 communicates with the plurality of electronic devices 110, 120, 130, and 140 through the network 170 to provide a command, code, file, content, service, or the like. It may be implemented in devices.

아래의 실시예에서는 전자 기기(110)는 사용자로부터 입력되는 바이오 데이터를 인식하는 로컬 센서, 서버(150)는 키 생성 서버, 서버(160)는 인증 서버를 의미할 수 있다. 이에, 로컬 센서, 키 생성 서버 및 인증 서버간의 바이오 데이터 등록 과정 및 바이오 데이터 인증 과정을 설명하기로 한다. In the following embodiment, the electronic device 110 may mean a local sensor that recognizes bio data input from a user, the server 150 may be a key generation server, and the server 160 may be an authentication server. Thus, the bio data registration process and the bio data authentication process between the local sensor, the key generation server and the authentication server will be described.

일반적인 바이오 인증에서는 사용자 등록 당시 인식된 바이오 데이터를 벡터 형태의 템플릿

Figure 112018063829270-pat00024
으로 변환하여 저장하고, 추후 사용자 인증에서는 같은 방식으로 바이오 데이터를 인식하여 템플릿 y 를 구성한 후
Figure 112018063829270-pat00025
y의 유클리드 거리를 측정하는 방식으로 매칭을 수행한다. 이때, 바이오 데이터는 인식 시마다 약간의 오차가 생겨 정확히 동일한 벡터로 만들어지지는 않으나,
Figure 112018063829270-pat00026
y가 동일한 사용자의 바이오 데이터로부터 생성된 벡터라면 차이가 매우 작을 것이기 때문에
Figure 112018063829270-pat00027
y의 유클리드 거리는 매우 작게 된다. 반면, 다른 사람의 바이오 데이터로부터 생성된 템플릿은 유클리드 거리가 크다. 이에 따라, 경계값(threshold) T를 적절히 정하고, 두 템플릿 벡터의 거리가 T보다 작으면 동일 사용자로 인식하는 방식이 널리 이용된다. In general bio-certification, the bio data recognized at the time of user registration is a template in vector form.
Figure 112018063829270-pat00024
Conversion to store and, after configuring the template y recognizes the bio-data in the same way in subsequent user authentication,
Figure 112018063829270-pat00025
Matching is performed by measuring the Euclidean distance of and y . At this time, the bio data is not made to be exactly the same vector because there is a slight error every recognition.
Figure 112018063829270-pat00026
If and y are vectors generated from biodata of the same user, the difference will be very small.
Figure 112018063829270-pat00027
The Euclidean distance of and y becomes very small. On the other hand, templates generated from other people's biodata have a large Euclidean distance. Accordingly, a method of properly determining a threshold T and recognizing the same user when the distance between two template vectors is smaller than T is widely used.

실시예에서는 바이오 인증의 매칭 점수 계산을 위한 새로운 기준으로, 유클리드 거리를 대체할 수 있는 변형된 코사인 유사도(modified cosine similarity)를 제안하기로 한다. 먼저, 두 벡터

Figure 112018063829270-pat00028
, y 에 대해
Figure 112018063829270-pat00029
,
Figure 112018063829270-pat00030
를 두 벡터의 크기라 하고, 두 벡터 사이의 내각을
Figure 112018063829270-pat00031
라 하면, 내적과 내각 사이에는
Figure 112018063829270-pat00032
,The embodiment proposes a modified cosine similarity that can replace Euclidean distance as a new criterion for calculating a matching score of bio certification. First, two vectors
Figure 112018063829270-pat00028
, for y
Figure 112018063829270-pat00029
,
Figure 112018063829270-pat00030
Is the magnitude of the two vectors, and the cabinet between
Figure 112018063829270-pat00031
In other words, between the inner
Figure 112018063829270-pat00032
,

다시 말해서, 식 A:In other words, equation A:

Figure 112018063829270-pat00033
Figure 112018063829270-pat00033

의 관계가 성립하므로,

Figure 112018063829270-pat00034
, y가 동일한 또는 유사한(거의 같은) 벡터라면
Figure 112018063829270-pat00035
이 된다. 따라서, 유클리드 거리를 측정하는 대신
Figure 112018063829270-pat00036
y 를 정규화(normalization)한 두 템플릿 벡터
Figure 112018063829270-pat00037
Figure 112018063829270-pat00038
간의 내적을 이용하여 코사인 값을 계산함으로써 1에 가까울 경우 인증에 성공하도록 하는 사용자 인증을 수행할 수 있다. 이는 기존에 여러 특성(attribute)을 가지는 데이터들 간의 유사도를 판별하기 위해 많이 이용하는 코사인 유사도에 기반한 방법이다. Since the relationship between
Figure 112018063829270-pat00034
, if y is the same or similar (almost the same) vector
Figure 112018063829270-pat00035
Becomes So instead of measuring Euclidean distance
Figure 112018063829270-pat00036
Two template vectors normalized to y
Figure 112018063829270-pat00037
Wow
Figure 112018063829270-pat00038
By calculating the cosine value using the inner product of the liver, the user authentication can be performed to make the authentication successful when the value is close to 1. This method is based on the cosine similarity that is frequently used to determine the similarity between data having various attributes.

그러나, 식 A를 이용하여 계산된

Figure 112018063829270-pat00039
는 두 벡터
Figure 112018063829270-pat00040
y 사이의 내각
Figure 112018063829270-pat00041
만을 고려하기 때문에,
Figure 112018063829270-pat00042
, y가 서로 다른 사용자 템플릿 벡터여서
Figure 112018063829270-pat00043
,
Figure 112018063829270-pat00044
가 다르더라도 벡터 간의 내각이 작다면 식 A에 의해 계산된
Figure 112018063829270-pat00045
는 1에 가까울 가능성이 있어 동일한 사용자로 오인될 가능성이 있다. 이러한 문제를 보완하기 위하여 실시예에서는 변형된 코사인 유사도 계산 방법을 제안한다. 이를 위하여 식 A에서
Figure 112018063829270-pat00046
Figure 112018063829270-pat00047
로 대체하여, However, calculated using Equation A
Figure 112018063829270-pat00039
Two vector
Figure 112018063829270-pat00040
Cabinet between and y
Figure 112018063829270-pat00041
Because only consider
Figure 112018063829270-pat00042
, y are different user template vectors
Figure 112018063829270-pat00043
,
Figure 112018063829270-pat00044
Is different, but if the cabinet between vectors is small,
Figure 112018063829270-pat00045
May be close to 1 and be mistaken for the same user. In order to solve this problem, the embodiment proposes a modified cosine similarity calculation method. To do this in Equation A
Figure 112018063829270-pat00046
To
Figure 112018063829270-pat00047
In place of

식 B:Equation B:

Figure 112018063829270-pat00048
Figure 112018063829270-pat00048

로 인증 점수 r을 계산할 수 있다. The authentication score r can be calculated.

만약,

Figure 112018063829270-pat00049
, y 두 벡터가 동일한 사용자의 템플릿일 경우, 이 두 벡터 사이의 각
Figure 112018063829270-pat00050
의 크기가 매우 작은 동시에
Figure 112018063829270-pat00051
Figure 112018063829270-pat00052
와 거의 같을 것이므로, r은 1에 가까운 값이 될 것이다. 다만, 낮은 확률이긴 하나,
Figure 112018063829270-pat00053
, y가 동일한 또는 유사한(거의 같은) 벡터가 아니라도 벡터 y
Figure 112018063829270-pat00054
방향 성분인
Figure 112018063829270-pat00055
가 우연히
Figure 112018063829270-pat00056
와 거의 같아 식 B가 1에 가까운 경우가 생길 수 있다.if,
Figure 112018063829270-pat00049
, y If two vectors are the same user's template, the angle between these two vectors
Figure 112018063829270-pat00050
The size is very small at the same time
Figure 112018063829270-pat00051
Degree
Figure 112018063829270-pat00052
Since r is almost equal to, r will be close to one. But with a low probability,
Figure 112018063829270-pat00053
, Y is the degree, not the same or similar (substantially the same) vector y
Figure 112018063829270-pat00054
The aromatic component
Figure 112018063829270-pat00055
By chance
Figure 112018063829270-pat00056
Equation B can be close to 1

이에 따라 두 가지의 오류를 모두 방지하기 위해서 식 A와 식 B를 동시에 고려하는 방법을 제안하기로 한다. 다시 말해서,

Figure 112018063829270-pat00057
을 동시에 만족하면 인증에 성공하게 할 수 있다. 다만, 바이오 인증 응용에 따라서는 식 A 또는 식 B 중 한가지만을 고려하거나, 둘 다 고려하되
Figure 112018063829270-pat00058
또는
Figure 112018063829270-pat00059
중 하나만을 만족하면 인증에 성공하도록 구성할 수도 있다. 또한, 이 두 기준에 대해 각각 가중치를 부여하여 가중 평균을 계산하도록 할 수 있다. 즉, 적절한 두 상수 a, b에 대해
Figure 112018063829270-pat00060
일 경우 인증에 성공하게 할 수 있다.Accordingly, in order to prevent both errors, a method of simultaneously considering Equations A and B will be proposed. In other words,
Figure 112018063829270-pat00057
At the same time, the authentication can be successful. However, depending on the biocertification application, consider only one of Formula A or Formula B, or both.
Figure 112018063829270-pat00058
or
Figure 112018063829270-pat00059
If only one of them is satisfied, the authentication can be configured to succeed. In addition, each of these two criteria can be weighted to calculate a weighted average. That is, for two appropriate constants a and b
Figure 112018063829270-pat00060
In this case, the authentication can be successful.

식 A에서 정규화된 두 벡터

Figure 112018063829270-pat00061
Figure 112018063829270-pat00062
및 식 B에서 정규화된 벡터
Figure 112018063829270-pat00063
의 원소는 매우 작은 소수들인 반면, 내적 함수 암호는 정수로 구성된 벡터에 대해서만 동작하므로, 계산의 정밀도를 유지하기 위해서는 양자화(quantization)를 적용할 수 있다. 즉, 식 A 및 식 B가 1인지를 확인하는 대신 큰 정수 Q, R에 대하여 식 D, 큰 정수 S에 대해 식 E로 나타낼 수 있음을 확인할 수 있다.Two vectors normalized in expression A
Figure 112018063829270-pat00061
Wow
Figure 112018063829270-pat00062
And vector normalized in equation B
Figure 112018063829270-pat00063
The elements of are very small primes, whereas the inner function cipher works only on vectors of integers, so quantization can be applied to maintain the precision of the computation. That is, it can be confirmed that the expression E can be represented by the expression D and the large integer S for the large integers Q and R , instead of confirming whether the expressions A and B are 1.

식 D:

Figure 112018063829270-pat00064
Equation D:
Figure 112018063829270-pat00064

식 E:

Figure 112018063829270-pat00065
E:
Figure 112018063829270-pat00065

본 발명에 의하면 사용자는 등록 시 바이오 데이터를 암호화된 상태로 원격 서버에 저장하며, 인증 시에는 로컬 센서가 바이오 데이터를 인식하여 암호화된 상태로 원격 서버로 전송하면, 원격 서버는 암호화 상태의 두 데이터를 비교하며, 유사도가 높을 경우 인증에 성공하게 된다. 기존에 이러한 목표를 달성하고자 하는 여러 시도가 있었으나, 본 발명은 아래와 같은 측면에서 기존 방법들보다 진보된 특성을 가진다.According to the present invention, the user stores the bio data in the encrypted state in the remote server at the time of registration, and during authentication, if the local sensor recognizes the bio data and transmits the encrypted data to the remote server in the encrypted state, the remote server has two data in the encrypted state. If the comparison is high, the authentication is successful. Although many attempts have been made to achieve this goal in the past, the present invention is more advanced than the conventional methods in the following aspects.

동형 암호를 이용한 원격 바이오 인증 방법은 역시 암호화 상태의 연산을 수행하는 동형 암호를 이용하고 있으나, 동형 암호는 암호화 연산 결과(바이오 인증의 경우 템플릿 매칭 점수)가 역시 암호문으로 도출되기 때문에 이를 해결하기 위한 복잡한 프로토콜이 필요하다. 그러나, 본 발명은 암호문 사이의 연산 결과가 평문으로 도출되는 함수 암호를 이용함으로써 상기 언급한 문제를 해결할 수 있다.The remote bio-authentication method using the homologous cipher uses a homogeneous cipher that performs an encryption operation, but the homologous cipher has a cryptographic result (a template matching score in the case of bio authentication). Complex protocols are needed. However, the present invention can solve the above-mentioned problem by using a function cipher in which the operation result between ciphertexts is derived as plain text.

함수 암호를 이용한 기존의 원격 바이오 인증 방법은, 현재 제안되어 있는 다양한 함수 암호들 중 유일하게 실용적 성능을 제공하는 내적 함수 암호(암호문 벡터 간의 내적 계산이 가능한 함수 암호)를 이용하였다. 그러나, 내적 계산을 직접 활용할 경우 벡터들 간의 해밍 거리만 계산 가능하며, 바이오 인증에서 일반적으로 더 많이 쓰이는 유클리드 거리 계산은 불가능하므로, 함수 암호를 이용한 기존의 원격 바이오 인증 방법의 활용 범위는 매우 제약적이다. 본 발명에서는 유클리드 거리와 유사한 특성을 갖는, 즉 유클리드 거리를 대체할 수 있는 변형된 코사인 유사도를 이용하여 바이오 템플릿 간의 거리를 측정한다. 이러한 변형된 코사인 유사도는 벡터 내적만으로 계산이 가능하므로 내적 함수 암호를 이용하여 쉽게 구현 가능한 동시에, 유클리드 거리와 유사한 특성을 가지므로 해밍 거리보다 다양한 바이오 인증 응용에 적용 가능하다.The existing remote bio-authentication method using a function cipher uses an inner function cipher (a function cipher that can calculate an inner product between ciphertext vectors) that provides practical performance only among various functional ciphers currently proposed. However, when the internal calculation is used directly, only Hamming distance between vectors can be calculated, and Euclidean distance calculation, which is more commonly used in bio authentication, cannot be calculated. Therefore, the application range of the existing remote bio authentication method using a function password is very limited. . In the present invention, the distance between the bio-templates is measured by using a modified cosine similarity having similar characteristics to that of the Euclidean distance, that is, replacing the Euclidean distance. Since the modified cosine similarity can be calculated only by the vector dot product, it can be easily implemented using the dot product cipher, and has similar characteristics to the Euclidean distance, so it can be applied to various bio authentication applications than the Hamming distance.

도 2는 일 실시예에 따른 인증 시스템의 구성을 설명하기 위한 블록도이고, 도 3은 일 실시예에 따른 인증 시스템의 인증 방법을 설명하기 위한 흐름도이다.2 is a block diagram illustrating a configuration of an authentication system according to an embodiment, and FIG. 3 is a flowchart illustrating an authentication method of an authentication system according to an embodiment.

인증 서버(160)의 프로세서(200)는 등록부(210) 및 인증부(220)를 포함할 수 있다. 이러한 프로세서(200)의 구성요소들은 인증 서버에 저장된 프로그램 코드가 제공하는 제어 명령에 따라 프로세서(200)에 의해 수행되는 서로 다른 기능들(different functions)의 표현들일 수 있다. 프로세서(200) 및 프로세서(200)의 구성요소들은 도 3의 바이오 인증 방법이 포함하는 단계들(310 내지 320)을 수행하도록 인증 서버를 제어할 수 있다. 이때, 프로세서(200) 및 프로세서(200)의 구성요소들은 메모리가 포함하는 운영체제의 코드와 적어도 하나의 프로그램의 코드에 따른 명령(instruction)을 실행하도록 구현될 수 있다.The processor 200 of the authentication server 160 may include a register 210 and an authenticator 220. The components of the processor 200 may be representations of different functions performed by the processor 200 according to a control command provided by program code stored in the authentication server. The processor 200 and the components of the processor 200 may control the authentication server to perform steps 310 to 320 included in the bio authentication method of FIG. 3. In this case, the processor 200 and the components of the processor 200 may be implemented to execute instructions according to code of an operating system included in a memory and code of at least one program.

프로세서(200)는 인증 방법을 위한 프로그램의 파일에 저장된 프로그램 코드를 메모리에 로딩할 수 있다. 예를 들면, 인증 서버에서 프로그램이 실행되면, 프로세서는 운영체제의 제어에 따라 프로그램의 파일로부터 프로그램 코드를 메모리에 로딩하도록 인증 서버를 제어할 수 있다. 이때, 프로세서(200) 및 프로세서(200)가 포함하는 등록부(210) 및 인증부(220) 각각은 메모리에 로딩된 프로그램 코드 중 대응하는 부분의 명령을 실행하여 이후 단계들(310 내지 320)을 실행하기 위한 프로세서(200)의 서로 다른 기능적 표현들일 수 있다. The processor 200 may load program code stored in a file of a program for an authentication method into a memory. For example, when a program is executed in the authentication server, the processor may control the authentication server to load the program code from the file of the program into the memory under the control of the operating system. At this time, each of the processor 200 and the register 210 and the authentication unit 220 included in the processor 200 executes a command of a corresponding part of the program code loaded in the memory to perform subsequent steps 310 to 320. It may be different functional representations of the processor 200 for execution.

단계(310)에서 등록부(210)는 로컬 센서에 입력된 사용자의 바이오 데이터를 등록할 수 있다. 등록부(210)는 로컬 센서에 입력된 사용자의 바이오 데이터를 함수 암호의 비밀키로 등록할 수 있다. 등록부(210)는 로컬 센서에 입력된 사용자의 바이오 데이터로부터 변환된 바이오 템플릿(x)과 키 분배 서버의 마스터 비밀키를 이용하여 키 분배 서버에서 생성된 비밀키(sk 1 , sk 2 )를 저장하여 사용자의 바이오 데이터를 등록할 수 있다. 등록부(210)는 로컬 센서에서 바이오 데이터가 정수 형태의 바이오 템플릿(x)로 변환되고, 바이오 데이터의 바이오 템플릿이 정밀도 파라미터(Q, S)를 이용하여 양자화된 바이오 템플릿(x' 1 , x' 2 )이 계산됨에 따라 키 분배 서버에서 마스터 비밀키(msk)와 양자화된 바이오 템플릿(x' 1 , x' 2 )를 이용하여 생성된 비밀키(sk1 , sk 2 )를 저장할 수 있다. In operation 310, the registerer 210 may register the bio data of the user input to the local sensor. The registration unit 210 may register the bio data of the user input to the local sensor as the secret key of the function password. The registration unit 210 stores the secret key ( sk 1 , sk 2 ) generated by the key distribution server using the bio template ( x ) converted from the bio data of the user input to the local sensor and the master secret key of the key distribution server. To register the bio data of the user. Register 210 is bio-data from the local sensor is converted into a bio-template (x) of an integer, Bio template for the bio-data precision parameters bio template quantization using (Q, S), (x '1, x' As 2 ) is calculated, the secret key ( sk1 , sk 2 ) generated using the master secret key ( msk ) and the quantized bio template ( x ' 1 , x' 2 ) can be stored in the key distribution server.

단계(320)에서 인증부(220)는 로컬 센서에 입력된 바이오 인증 데이터를 적어도 하나 이상의 계산 방법을 조합하여 계산함에 따라 사용자의 바이오 인증 데이터를 인증할 수 있다. 인증부(220)는 로컬 센서에 입력된 바이오 인증 데이터에 기반하여 계산된 암호문을 적어도 하나 이상의 계산 방법을 조합하여 복호화함에 따라 사용자의 바이오 인증 데이터를 인증할 수 있다. 인증부(220)는 로컬 센서에 입력된 바이오 인증 데이터에 기반하여 변환된 1)바이오 템플릿(y), 마스터 비밀키(msk) 및 정밀도 파라미터(R) 또는 2)상기 바이오 템플릿(y)과 상기 마스터 비밀키(msk) 중 어느 하나를 이용하여 로컬 센서에서 계산된 암호문을 이용하여, 바이오 데이터에 기반하여 변환된 바이오 템플릿 및 바이오 인증 데이터에 기반하여 변환된 바이오 템플릿의 내적 계산을 수행할 수 있다. 인증부(220)는 로컬 센서에서 바이오 인증 데이터가 정수 형태의 바이오 템플릿(y)로 변환되고, 1)마스터 비밀키(msk), 바이오 인증 데이터의 바이오 템플릿(y) 및 정밀도 파라미터(R) 또는 2)상기 마스터 비밀키(msk)와 상기 바이오 인증 데이터의 바이오 템플릿(y) 중 어느 하나를 이용하여 계산된 암호문(c 1 , c 2 )를 수신할 수 있다. 인증부(220)는 공개 파라미터, 비밀키 및 암호문을 이용하여 어느 하나의 바이오 데이터의 양자화된 바이오 템플릿(x' 1 )과 바이오 인증 데이터의 양자화된 바이오 템플릿(y')의 내적을 획득할 수 있다. 인증부(220)는 획득된 내적을 적어도 하나 이상의 코사인 유사도 계산 방법의 OR 조건, AND 조건 및 가중치 조건 중 어느 하나에 기반하여 인증 성공 여부를 판단할 수 있다.In operation 320, the authenticator 220 may authenticate the bio authentication data of the user by calculating the bio authentication data input to the local sensor by combining at least one or more calculation methods. The authenticator 220 may authenticate the biometric authentication data of the user by decrypting a ciphertext calculated based on the biometric data input to the local sensor by combining at least one calculation method. The authentication unit 220 converts the bio template ( y ), the master secret key ( msk ) and the precision parameter ( R ) or 2) the bio template (y) and the converted based on the bio authentication data input to the local sensor. The inner product of the bio template converted based on the bio data and the bio template converted based on the bio authentication data may be performed using the cipher text calculated by the local sensor using any one of the master secret key ( msk ). . The authentication unit 220 converts the bio authentication data into a bio template ( y ) in an integer form in a local sensor, 1) a master secret key ( msk ), a bio template ( y ) and a precision parameter ( R ) of bio authentication data, or 2) The ciphertext ( c 1 , c 2 ) calculated using one of the master secret key ( msk ) and the bio template ( y ) of the bio-authentication data can be received. The authentication unit 220 may obtain the inner product of the quantized bio template x ' 1 of any one bio data and the quantized bio template y' of bio authentication data using the public parameter, the secret key, and the cipher text. have. The authenticator 220 may determine whether the authentication succeeds based on any one of an OR condition, an AND condition, and a weight condition of the at least one cosine similarity calculation method.

도 4는 일 실시예에 따른 인증 시스템에서 바이오 데이터 등록 방법을 설명하기 위한 도면이다. 4 is a diagram for describing a bio data registration method in an authentication system, according to an exemplary embodiment.

인증 시스템은 로컬 센서, 인증 서버 및 키 분배 서버로 구성될 수 있다. 도 4에서는, 로컬 센서(110), 인증 서버(160) 및 키 분배 서버(150) 간의 데이터 송수신을 통하여 바이오 데이터를 등록하는 동작을 구체적으로 설명하기로 한다. 이때, 사전에 키 분배 서버(150)는 (pp, msk)=setup(L)에 의해 공개 파라미터(pp)와 마스터 비밀키(msk)를 생성할 수 있다. 키 분배 서버(150)는 생성된 마스터 비밀키(msk)를 로컬 센서(110)에게 전송함에 따라 로컬 센서(110)에서 마스터 비밀키가 저장될 수 있고, 공개 파라미터(pp)를 인증 서버(160)에게 전송함에 따라 인증 서버(160)에서 공개 파라미터(pp)가 저장될 수 있다. 키 분배 서버(150)는 정밀도 파라미터 Q, R, S를 결정하여 로컬 센서(110)와 인증 서버(150)에게 정밀도 파라미터를 전송할 수 있다. 인증 서버(160)는 사전에 매칭 수행을 위한 경계값(threshold) T 1, T 2, T 3, T 4, T 5 를 결정할 수 있다. The authentication system may consist of a local sensor, an authentication server, and a key distribution server. In FIG. 4, an operation of registering bio data through data transmission and reception between the local sensor 110, the authentication server 160, and the key distribution server 150 will be described in detail. In this case, the key distribution server 150 may generate the public parameter pp and the master secret key msk by ( pp, msk ) = setup ( L ). As the key distribution server 150 transmits the generated master secret key msk to the local sensor 110, the master secret key may be stored in the local sensor 110, and the public parameter pp may be transmitted to the authentication server 160. The public parameter pp may be stored in the authentication server 160 as transmitted to the. The key distribution server 150 may determine the precision parameters Q, R, and S and transmit the precision parameters to the local sensor 110 and the authentication server 150. The authentication server 160 may determine thresholds T 1, T 2, T 3, T 4, and T 5 for performing matching in advance.

로컬 센서(110)는 사용자로부터 입력되는 바이오 데이터를 수신할 수 있다(401). 일례로, 로컬 센서는 출입 통제 시스템 상의 바이오 센서, 스마트 디바이스 상의 바이오 센서 등이 해당될 수 있다. 또한, 사용자로부터 입력되는 바이오 데이터는 지문, 홍채, 얼굴 인식 등 사용자를 식별할 수 있는 사용자 고유의 데이터를 의미할 수 있다. The local sensor 110 may receive bio data input from a user (401). For example, the local sensor may correspond to a biosensor on an access control system, a biosensor on a smart device, and the like. In addition, the bio data input from the user may refer to user-specific data capable of identifying the user, such as fingerprint, iris, and face recognition.

로컬 센서(110)는 바이오 데이터를 디지털 데이터로 변환할 수 있다(402). 구체적으로, 로컬 센서(110)는 바이오 데이터에 이미지 처리, 정규화 및 양자화(quantization)를 수행하여 디지털 데이터로 변환할 수 있다. 또한, 변환된 디지털 데이터를 직렬화(serialization)하여 정수 벡터 형태의 바이오 템플릿(

Figure 112018063829270-pat00066
)으로 변환할 수 있다. 로컬 센서(110)는 정밀도 파라미터 Q, S를 이용하여 양자화된 바이오 템플릿(
Figure 112018063829270-pat00067
Figure 112018063829270-pat00068
)을 계산할 수 있다(403). The local sensor 110 may convert the bio data into digital data (402). In detail, the local sensor 110 may convert the bio data into digital data by performing image processing, normalization, and quantization on the bio data. In addition, by serializing the converted digital data (bio template in the form of an integer vector)
Figure 112018063829270-pat00066
Can be converted to). The local sensor 110 uses a quantized bio template (using the precision parameters Q and S) .
Figure 112018063829270-pat00067
Wow
Figure 112018063829270-pat00068
) Can be calculated (403).

키 분배 서버(150)는 마스터 비밀키(msk)와 정규화된 바이오 템플릿(

Figure 112018063829270-pat00069
,
Figure 112018063829270-pat00070
)을 이용하여
Figure 112018063829270-pat00071
Figure 112018063829270-pat00072
로 비밀키(sk 1 , sk 2 )를 생성할 수 있다. 키 분배 서버(150)로부터 생성된 비밀키(sk 1 , sk 2 )가 인증 서버에게 전달됨에 따라 인증 서버(160)에 비밀키(sk 1 , sk 2 )저장될 수 있다. 이러한 과정 통해 바이오 데이터가 등록될 수 있다. The key distribution server 150 has a master secret key ( msk ) and a normalized bio template (
Figure 112018063829270-pat00069
,
Figure 112018063829270-pat00070
)
Figure 112018063829270-pat00071
and
Figure 112018063829270-pat00072
You can create a secret key ( sk 1 , sk 2 ) with. As the secret keys sk 1 and sk 2 generated from the key distribution server 150 are delivered to the authentication server, the secret keys sk 1 and sk 2 may be stored in the authentication server 160. Through this process, bio data can be registered.

도 5는 일 실시예에 따른 인증 시스템에서 바이오 데이터의 인증 방법을 설명하기 위한 도면이다.5 is a diagram for describing a method of authenticating bio data in an authentication system, according to an exemplary embodiment.

인증 시스템은 로컬 센서, 인증 서버 및 키 분배 서버로 구성될 수 있다. 도 5에서는, 로컬 센서(110), 인증 서버(160) 및 키 분배 서버(150) 간의 데이터 송수신을 통하여 바이오 인증 동작을 구체적으로 설명하기로 한다.The authentication system may consist of a local sensor, an authentication server, and a key distribution server. In FIG. 5, a bio authentication operation will be described in detail through data transmission and reception between the local sensor 110, the authentication server 160, and the key distribution server 150.

로컬 센서(110)는 사용자로부터 입력되는 바이오 인증 데이터를 수신할 수 있다(501). 일례로, 로컬 센서는 출입 통제 시스템 상의 바이오 센서, 스마트 디바이스 상의 바이오 센서 등이 해당될 수 있다. 또한, 사용자로부터 입력되는 바이오 인증 데이터는 지문, 홍채, 얼굴 인식 등 사용자를 식별할 수 있는 사용자 고유의 데이터를 의미할 수 있다. The local sensor 110 may receive bio authentication data input from a user (501). For example, the local sensor may correspond to a biosensor on an access control system, a biosensor on a smart device, and the like. In addition, the bio-authentication data input from the user may refer to user-specific data that can identify the user, such as fingerprint, iris, and face recognition.

로컬 센서(110)는 바이오 인증 데이터를 디지털 데이터로 변환할 수 있다(502). 구체적으로, 로컬 센서(110)는 바이오 인증 데이터에 이미지 처리, 정규화 및 양자화(quantization)를 수행하여 디지털 데이터로 변환할 수 있다. 또한, 변환된 디지털 데이터를 직렬화(serialization)하여 정수 벡터 형태의 바이오 템플릿(y)으로 변환할 수 있다.The local sensor 110 may convert biometric data into digital data (502). In detail, the local sensor 110 may convert the biometric data into digital data by performing image processing, normalization, and quantization. In addition, the converted digital data may be serialized and converted into a bio template y in the form of an integer vector.

로컬 센서(110)는 마스터 비밀키(msk), 바이오 템플릿(y) 및 정밀도 파라미터(R)로부터

Figure 112018063829270-pat00073
Figure 112018063829270-pat00074
로 암호문(c 1 , c 2 )를 계산하여 인증 서버(160)로 전송할 수 있다(503, 504). The local sensor 110 is configured from a master secret key (msk), a bio template (y) and a precision parameter (R).
Figure 112018063829270-pat00073
Wow
Figure 112018063829270-pat00074
The cipher text c 1 , c 2 may be calculated and transmitted to the authentication server 160 (503, 504).

인증 서버(160)는 공개 파라미터(pp), 비밀키(sk 1 , sk 2 ) 및 암호문(c 1 , c 2 )를 이용하여 복호화함에 따라 내적을 획득할 수 있다(505). 구체적으로, 인증 서버(160)는

Figure 112018063829270-pat00075
로 바이오 데이터에 대한 양자화된 바이오 템플릿(
Figure 112018063829270-pat00076
)과 바이오 인증 데이터에 대한 양자화된 바이오 템플릿(
Figure 112018063829270-pat00077
)의 내적
Figure 112018063829270-pat00078
을 획득할 수 있다. 또한, 인증 서버(160)는
Figure 112018063829270-pat00079
로 바이오 데이터에 대한 양자화된 바이오 템플릿(
Figure 112018063829270-pat00080
)과 바이오 인증 데이터에 대한 정수 형태의 템플릿(y)의 내적
Figure 112018063829270-pat00081
을 획득할 수 있다. The authentication server 160 may obtain the inner product according to decryption using the public parameter pp , the secret keys sk 1 , sk 2 , and the cipher text c 1 , c 2 (505). Specifically, the authentication server 160
Figure 112018063829270-pat00075
Quantized bio template for
Figure 112018063829270-pat00076
) And quantized bio templates for biometric data (
Figure 112018063829270-pat00077
Dot product
Figure 112018063829270-pat00078
Can be obtained. In addition, the authentication server 160
Figure 112018063829270-pat00079
Quantized bio template for
Figure 112018063829270-pat00080
) And dot product of an integer template ( y ) for biometric data.
Figure 112018063829270-pat00081
Can be obtained.

인증 서버(160)는 획득된 내적에 기반하여 인증 성공 여부를 판단할 수 있다(506). 인증 서버(160)는 다음의 조건 중 어느 하나를 선택하여 인증 성공 여부를 판단할 수 있다. 도 6은, 인증 성공 여부를 판단하는 방법을 설명하기 위한 도면이다. 일례로, 인증 서버(160)에 의하여 OR 조건, AND 조건 및 가중치 조건 중 어느 하나의 조건이 선택될 수 있다(610). 또는 사용자에 의하여 조건이 선택될 수 있고, 컴퓨터에 의하여 랜덤으로 조건이 선택될 수도 있다. 인증 서버(160)가 OR 조건을 선택함에 따라

Figure 112018063829270-pat00082
또는
Figure 112018063829270-pat00083
인지 여부를 판단할 수 있다(621). 인증 서버(160)는
Figure 112018063829270-pat00084
또는
Figure 112018063829270-pat00085
일 경우, 인증에 성공한 것으로 판단할 수 있다(640). 또는, 인증 서버(160)가 AND 조건을 선택함에 따라
Figure 112018063829270-pat00086
그리고
Figure 112018063829270-pat00087
인지 여부를 포함할 수 있다. 인증 서버(160)가
Figure 112018063829270-pat00088
그리고
Figure 112018063829270-pat00089
일 경우, 인증에 성공한 것으로 판단할 수 있다(640). 또는, 인증 서버(160)가 가중치 조건을 선택함에 따라
Figure 112018063829270-pat00090
인지 여부를 판단할 수 있다. 인증 서버(160)가
Figure 112018063829270-pat00091
일 경우, 인증에 성공한 것으로 판단할 수 있다(640). 또한, 인증 서버(160)가 각각의 선택된 조건에 대하여 만족하지 못하는 경우, 인증에 실패한 것으로 판단할 수 있다(641). The authentication server 160 may determine whether the authentication succeeds based on the acquired inner product (506). The authentication server 160 may determine whether authentication succeeds by selecting any one of the following conditions. 6 is a view for explaining a method of determining whether or not authentication is successful. For example, any one of an OR condition, an AND condition, and a weight condition may be selected by the authentication server 160 (610). Alternatively, the condition may be selected by the user, or the condition may be randomly selected by the computer. As authentication server 160 selects an OR condition
Figure 112018063829270-pat00082
or
Figure 112018063829270-pat00083
It may be determined whether or not the recognition. Authentication server 160
Figure 112018063829270-pat00084
or
Figure 112018063829270-pat00085
In operation 640, it may be determined that authentication is successful. Or, as the authentication server 160 selects the AND condition
Figure 112018063829270-pat00086
And
Figure 112018063829270-pat00087
Recognition or not. The authentication server 160
Figure 112018063829270-pat00088
And
Figure 112018063829270-pat00089
In operation 640, it may be determined that authentication is successful. Alternatively, as the authentication server 160 selects a weighting condition
Figure 112018063829270-pat00090
It can be determined whether or not. The authentication server 160
Figure 112018063829270-pat00091
In operation 640, it may be determined that authentication is successful. In addition, when the authentication server 160 does not satisfy each of the selected conditions, it may be determined that authentication fails (641).

일 실시예에 따른 암호 시스템에서 제공하는 내적 함수 암호 기반의 바이오 인증 방법은 안전성 측면에서 다음과 같은 장점을 지닌다. The biometric authentication method based on the internal function encryption provided by the encryption system according to an embodiment has the following advantages in terms of security.

로컬 센서가 공격당하는 경우, 마스터 비밀키(msk)가 유출되는데, 이 키 자체는 바이오 데이터에 대한 어떠한 정보도 담고 있지 않다. 그러나, 키 유출 이후에 진행되는 바이오 인증 세션에 대해서는 암호문c 1c 2로부터 양자화된 바이오 템플릿 y' 및 바이오 템플릿y을 복구할 수 있으므로, 키가 유출된 즉시 마스터 키를 갱신하는 것이 바람직하다.When a local sensor is attacked, the master secret key ( msk ) is leaked, which does not contain any information about the bio data. However, for the bio-authentication session that proceeds after the key leakage, it is possible to recover the quantized bio template y ' and bio template y from the cipher texts c 1 and c 2 , so it is desirable to renew the master key as soon as the key is leaked.

인증 서버는 마스터 비밀키(msk)를 알지 못하므로, 인증 서버 또는 인증 서버를 공격한 공격자는 사용자의 바이오 데이터를 복원할 수 없다.Since the authentication server does not know the master secret key ( msk ), an attacker who attacks the authentication server or the authentication server cannot restore the user's bio data.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the devices and components described in the embodiments are, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable gate arrays (FPGAs). Can be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of explanation, one processing device may be described as being used, but one of ordinary skill in the art will appreciate that the processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device. Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. It can be embodied in. The software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner. Software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described by the limited embodiments and the drawings as described above, various modifications and variations are possible to those skilled in the art from the above description. For example, the described techniques may be performed in a different order than the described method, and / or components of the described systems, structures, devices, circuits, etc. may be combined or combined in a different form than the described method, or other components. Or even if replaced or substituted by equivalents, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are within the scope of the claims that follow.

Claims (11)

삭제delete 삭제delete 삭제delete 인증 서버에서 수행되는 인증 방법에 있어서,
로컬 센서에 입력된 사용자의 바이오 데이터를 함수 암호의 비밀키로 등록하는 단계; 및
상기 로컬 센서에 입력된 바이오 인증 데이터에 기반하여 계산된 암호문을 적어도 하나 이상의 계산 방법을 조합하여 복호화함에 따라 사용자의 바이오 인증 데이터를 인증하는 단계
를 포함하고,
상기 사용자의 바이오 데이터를 등록하는 단계는,
상기 로컬 센서에 입력된 사용자의 바이오 데이터로부터 변환된 바이오 템플릿(x)과 키 분배 서버의 마스터 비밀키를 이용하여 생성된 비밀키(sk1, sk2 )를 저장하여 사용자의 바이오 데이터를 등록하는 단계
를 포함하는 인증 방법.
In the authentication method performed in the authentication server,
Registering the bio data of the user input to the local sensor as a secret key of the function password; And
Authenticating the bio-authentication data of the user by decrypting the ciphertext calculated based on the bio-authentication data input to the local sensor by combining at least one or more calculation methods.
Including,
Registering the bio data of the user,
Registering the bio data of the user by storing the bio template ( x ) converted from the bio data of the user input to the local sensor and the secret key ( sk 1 , sk 2 ) generated using the master secret key of the key distribution server step
Authentication method comprising a.
제4항에 있어서,
상기 사용자의 바이오 데이터를 등록하는 단계는,
상기 로컬 센서에서 상기 바이오 데이터가 정수 형태의 바이오 템플릿(x)로 변환되고, 상기 바이오 데이터의 바이오 템플릿이 정밀도 파라미터(Q, S)를 이용하여 양자화된 바이오 템플릿(x' 1 , x' 2 )이 계산됨에 따라 상기 키 분배 서버에서 마스터 비밀키(msk)와 상기 양자화된 바이오 템플릿(x' 1 , x' 2 )를 이용하여 생성된 비밀키(sk1, sk 2 )를 저장하는 단계
를 포함하는 인증 방법.
The method of claim 4, wherein
Registering the bio data of the user,
Wherein the bio-data from the local sensor is converted into a bio-template (x) of an integer, Bio template of the bio-data, the precision parameter bio template quantization using (Q, S) (x ' 1, x' 2) Storing the secret key (sk 1 , sk 2 ) generated using the master secret key ( msk ) and the quantized bio template ( x ' 1 , x' 2 ) by the calculated key distribution server.
Authentication method comprising a.
인증 서버에서 수행되는 인증 방법에 있어서,
로컬 센서에 입력된 사용자의 바이오 데이터를 함수 암호의 비밀키로 등록하는 단계; 및
상기 로컬 센서에 입력된 바이오 인증 데이터에 기반하여 계산된 암호문을 적어도 하나 이상의 계산 방법을 조합하여 복호화함에 따라 사용자의 바이오 인증 데이터를 인증하는 단계
를 포함하고,
상기 사용자의 바이오 인증 데이터를 인증하는 단계는,
상기 로컬 센서에 입력된 바이오 인증 데이터에 기반하여 변환된 1)바이오 템플릿(y), 키 분배 서버의 마스터 비밀키(msk) 및 정밀도 파라미터(R) 또는 2)상기 바이오 템플릿(y)과 상기 마스터 비밀키(msk) 중 어느 하나를 이용하여 상기 로컬 센서에서 암호문을 계산하고, 상기 인증 서버가 상기 계산된 암호문을 상기 함수 암호의 비밀키(sk1, sk2 )를 이용하여 복호화함에 따라 상기 바이오 데이터에 기반하여 변환된 바이오 템플릿 및 상기 바이오 인증 데이터에 기반하여 변환된 바이오 템플릿의 내적 계산을 수행하는 단계
를 포함하는 인증 방법.
In the authentication method performed in the authentication server,
Registering the bio data of the user input to the local sensor as a secret key of the function password; And
Authenticating the bio-authentication data of the user by decrypting the ciphertext calculated based on the bio-authentication data input to the local sensor by combining at least one or more calculation methods.
Including,
The step of authenticating the bio authentication data of the user,
1) Bio template ( y ) converted based on bio authentication data input to the local sensor, master secret key ( msk ) and precision parameter ( R ) of key distribution server or 2) the bio template (y) and the master The biotext is calculated by the local sensor using any one of a secret key msk , and the authentication server decrypts the calculated ciphertext using the secret keys sk 1 and sk 2 of the function cipher. Performing an inner product calculation of the converted bio template based on the data and the converted bio template based on the bio certification data
Authentication method comprising a.
제6항에 있어서,
상기 사용자의 바이오 인증 데이터를 인증하는 단계는,
상기 로컬 센서에서 상기 바이오 인증 데이터가 정수 형태의 바이오 템플릿(y)으로 변환되고, 1)상기 마스터 비밀키(msk), 상기 바이오 인증 데이터의 바이오 템플릿(y) 및 정밀도 파라미터(R) 또는 2)상기 마스터 비밀키(msk)와 상기 바이오 인증 데이터의 바이오 템플릿(y) 중 어느 하나를 이용하여 계산된 암호문(c 1 , c 2 )를 수신하는 단계
를 포함하는 인증 방법.
The method of claim 6,
The step of authenticating the bio authentication data of the user,
In the local sensor, the bio-certification data is converted into an integer bio template ( y ), and 1) the master secret key ( msk ), the bio-template ( y ) and the precision parameter ( R ) of the bio-certification data or 2) Receiving a cipher text ( c 1 , c 2 ) calculated using either the master secret key ( msk ) and the bio template ( y ) of the bio-authentication data
Authentication method comprising a.
제7항에 있어서,
상기 사용자의 바이오 인증 데이터를 인증하는 단계는,
공개 파라미터, 비밀키(sk1, sk2 ) 및 상기 암호문을 이용하여 어느 하나의 바이오 데이터의 양자화된 바이오 템플릿(x'1 )과 상기 바이오 인증 데이터의 양자화된 바이오 템플릿(y')의 내적(
Figure 112019012624605-pat00092
)을 획득하는 단계
를 포함하는 인증 방법.
The method of claim 7, wherein
The step of authenticating the bio authentication data of the user,
A dot product of the quantized bio template ( x ' 1 ) of any one bio data and the quantized bio template ( y' ) of the bio authentication data using a public parameter, a secret key ( sk 1 , sk 2 ) and the cipher text (
Figure 112019012624605-pat00092
To obtain
Authentication method comprising a.
제7항에 있어서,
상기 사용자의 바이오 인증 데이터를 인증하는 단계는,
공개 파라미터, 비밀키(sk1, sk2 ) 및 상기 암호문을 이용하여 다른 하나의 바이오 데이터의 양자화된 바이오 템플릿(x'2 )과 상기 바이오 인증 데이터의 바이오 템플릿(y)의 내적(
Figure 112019012624605-pat00093
)을 획득하는 단계
를 포함하는 인증 방법.
The method of claim 7, wherein
The step of authenticating the bio authentication data of the user,
A dot product of the quantized bio template ( x ' 2 ) of the other bio data and the bio template ( y ) of the bio authentication data using the public parameter, the secret key ( sk 1 , sk 2 ), and the cipher text (
Figure 112019012624605-pat00093
To obtain
Authentication method comprising a.
제8항 또는 제9항 중 어느 한 항에 있어서,
상기 사용자의 바이오 인증 데이터를 인증하는 단계는,
상기 획득된 내적을 적어도 하나 이상의 코사인 유사도 계산 방법의 OR 조건, AND 조건 및 가중치 조건 중 어느 하나에 기반하여 인증 성공 여부를 판단하는 단계를 포함하고,
상기 OR 조건은,
Figure 112018063829270-pat00094
또는
Figure 112018063829270-pat00095
이고,
상기 AND 조건은,
Figure 112018063829270-pat00096
그리고
Figure 112018063829270-pat00097
이고,
상기 가중치 조건은,
Figure 112018063829270-pat00098

것을 특징으로 하는 인증 방법.
The method according to any one of claims 8 to 9,
The step of authenticating the bio authentication data of the user,
Determining whether the authentication is successful based on any one of an OR condition, an AND condition, and a weight condition of the at least one cosine similarity calculation method.
The OR condition is,
Figure 112018063829270-pat00094
or
Figure 112018063829270-pat00095
ego,
The AND condition is,
Figure 112018063829270-pat00096
And
Figure 112018063829270-pat00097
ego,
The weight condition is,
Figure 112018063829270-pat00098
sign
Authentication method, characterized in that.
인증 서버에 있어서,
로컬 센서에 입력된 사용자의 바이오 데이터를 함수 암호의 비밀키로 등록하는 등록부; 및
상기 로컬 센서에 입력된 바이오 인증 데이터에 기반하여 계산된 암호문을 적어도 하나 이상의 계산 방법을 조합하여 복호화함에 따라 사용자의 바이오 인증 데이터에 대한 인증을 수행하는 인증부
를 포함하고,
상기 등록부는,
상기 로컬 센서에 입력된 사용자의 바이오 데이터로부터 변환된 바이오 템플릿(x)과 키 분배 서버의 마스터 비밀키를 이용하여 생성된 비밀키(sk1, sk2)를 저장하여 사용자의 바이오 데이터를 등록하는
인증 서버.
In the authentication server,
A register that registers the bio data of the user input to the local sensor as a secret key of a function password; And
An authentication unit for authenticating the user's bio-authentication data by decrypting the cipher text calculated based on the bio-authentication data input to the local sensor by combining at least one calculation method.
Including,
The registration unit,
Registering the bio data of the user by storing the bio template (x) converted from the bio data of the user input to the local sensor and the secret key (sk 1 , sk 2 ) generated using the master secret key of the key distribution server
Authentication server.
KR1020180074964A 2018-06-28 2018-06-28 Secure biometric authentication method using functional encryption KR102008101B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180074964A KR102008101B1 (en) 2018-06-28 2018-06-28 Secure biometric authentication method using functional encryption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180074964A KR102008101B1 (en) 2018-06-28 2018-06-28 Secure biometric authentication method using functional encryption

Publications (1)

Publication Number Publication Date
KR102008101B1 true KR102008101B1 (en) 2019-08-06

Family

ID=67612752

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180074964A KR102008101B1 (en) 2018-06-28 2018-06-28 Secure biometric authentication method using functional encryption

Country Status (1)

Country Link
KR (1) KR102008101B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11418319B2 (en) 2020-04-30 2022-08-16 International Business Machines Corporation Ensure valid range of values of a vector for distance calculations using homomorphic encryption or functional encryption
WO2022173142A1 (en) * 2021-02-15 2022-08-18 주식회사 휴이노 Method, system and non-transitory computer-readable recording medium for managing bio-signal data
US11528134B2 (en) 2020-03-24 2022-12-13 International Business Machines Corporation Authentication using transformation verification
WO2024014017A1 (en) * 2022-07-12 2024-01-18 株式会社日立製作所 Message presentation system, presentation device, and message presentation method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010039890A (en) * 2008-08-07 2010-02-18 Hitachi Ltd Authentication terminal, authentication server, authentication system, authentication method and authentication program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010039890A (en) * 2008-08-07 2010-02-18 Hitachi Ltd Authentication terminal, authentication server, authentication system, authentication method and authentication program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11528134B2 (en) 2020-03-24 2022-12-13 International Business Machines Corporation Authentication using transformation verification
US11418319B2 (en) 2020-04-30 2022-08-16 International Business Machines Corporation Ensure valid range of values of a vector for distance calculations using homomorphic encryption or functional encryption
WO2022173142A1 (en) * 2021-02-15 2022-08-18 주식회사 휴이노 Method, system and non-transitory computer-readable recording medium for managing bio-signal data
WO2024014017A1 (en) * 2022-07-12 2024-01-18 株式会社日立製作所 Message presentation system, presentation device, and message presentation method

Similar Documents

Publication Publication Date Title
KR101755995B1 (en) Method and system for feature vector based remote biometric verification using homomorphic encryption
Bringer et al. Privacy-preserving biometric identification using secure multiparty computation: An overview and recent trends
JP6037366B2 (en) Method for authenticating user corresponding to encrypted data and system for authenticating user corresponding to biometric data
US9860060B2 (en) Information processing method, computer-readable recording medium, and information processing apparatus
KR102008101B1 (en) Secure biometric authentication method using functional encryption
US20120207299A1 (en) Data processing device
US11227037B2 (en) Computer system, verification method of confidential information, and computer
JP2017076839A (en) Encryption processing method, encryption processing apparatus, and encryption processing program
US20190116180A1 (en) Authentication system, authentication method, and program
US20130088327A1 (en) Template delivery type cancelable biometric authentication system and method therefor
KR101802655B1 (en) Method and system for sage softwate-based one time password generation using remote server
KR20170053063A (en) Password-based user authentication method using one-time private key-based digital signature and homomorphic encryption
Abidin On privacy-preserving biometric authentication
US11528134B2 (en) Authentication using transformation verification
WO2018100740A1 (en) Cipher text verification system and cipher text verification method
US11606196B1 (en) Authentication system for a multiuser device
KR101838432B1 (en) Method and system for authentication using biometrics and functional encryption-inner product
WO2017209228A1 (en) Encrypted information matching device, encrypted information matching method, and recording medium having encrypted information matching program stored thereon
KR20230109526A (en) Device and method for multi-factor authentication using bitwise fully homomorphic envryption
Neha et al. An efficient biometric based remote user authentication technique for multi-server environment
KR102094606B1 (en) Apparatus and method for authentication
WO2021167534A1 (en) Biometric template recognition system
Syed et al. Wip: Privacy enabled biometric authentication based on proof of decryption techniques
US11528130B1 (en) Stateless system to protect data
US11528144B1 (en) Optimized access in a service environment

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant