KR102035249B1 - Apparatus and method for generating cryptographic key using biometric information - Google Patents

Apparatus and method for generating cryptographic key using biometric information Download PDF

Info

Publication number
KR102035249B1
KR102035249B1 KR1020170171006A KR20170171006A KR102035249B1 KR 102035249 B1 KR102035249 B1 KR 102035249B1 KR 1020170171006 A KR1020170171006 A KR 1020170171006A KR 20170171006 A KR20170171006 A KR 20170171006A KR 102035249 B1 KR102035249 B1 KR 102035249B1
Authority
KR
South Korea
Prior art keywords
identification value
biometric information
secret key
string
generating
Prior art date
Application number
KR1020170171006A
Other languages
Korean (ko)
Other versions
KR20190070472A (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 KR1020170171006A priority Critical patent/KR102035249B1/en
Publication of KR20190070472A publication Critical patent/KR20190070472A/en
Application granted granted Critical
Publication of KR102035249B1 publication Critical patent/KR102035249B1/en

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/3271Cryptographic 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 challenge-response
    • H04L9/3278Cryptographic 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 challenge-response using physically unclonable functions [PUF]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

생체 정보를 이용한 암호화 키 생성 장치 및 방법이 제공된다. 일 실시예에 따른 암호화 키 생성 방법은 사용자의 생체 정보(w)를 입력받는 단계; 퍼지 추출기(Fuzzy Extractor)를 이용하여, 상기 생체 정보(w)에 대응되는 식별값(R) 및 헬퍼 문자열(P)을 생성하는 단계; 랜덤 문자열(R')을 생성하고, 상기 식별값(R) 및 상기 랜덤 문자열(R')로부터 비밀키(sk)를 생성하는 단계; 상기 비밀키(sk)에 대응되는 공개키(pk)를 생성하는 단계; 및 상기 랜덤 문자열(R')을 상기 비밀키(sk) 대신 저장하는 단계를 포함한다.An apparatus and method for generating an encryption key using biometric information are provided. According to an embodiment, there is provided a method of generating an encryption key, comprising: receiving biometric information (w) of a user; Generating an identification value (R) and a helper string (P) corresponding to the biometric information (w) using a fuzzy extractor; Generating a random string (R ') and generating a secret key (sk) from the identification value (R) and the random string (R'); Generating a public key (pk) corresponding to the secret key (sk); And storing the random string R 'instead of the secret key sk.

Description

생체 정보를 이용한 암호화 키 생성 장치 및 방법{APPARATUS AND METHOD FOR GENERATING CRYPTOGRAPHIC KEY USING BIOMETRIC INFORMATION}Apparatus and method for generating encryption key using biometric information {APPARATUS AND METHOD FOR GENERATING CRYPTOGRAPHIC KEY USING BIOMETRIC INFORMATION}

본 발명의 실시예들은 생체정보를 이용한 암호화 기술과 관련된다.Embodiments of the present invention relate to encryption techniques using biometric information.

최근 들어 지문, 홍체, 얼굴, 정맥 등 하나 이상의 신체적, 행동적 형질에 기반한 인증 방식, 이른바 생체 인식(Biometrics)이 다양한 분야에서 활발히 사용되고 있다. 이와 같은 생체 인식의 하나로 지문, 홍체 등의 생체 정보를 암호화 키로 사용하고자 하는 시도 또한 증가하고 있다.Recently, authentication methods based on one or more physical and behavioral traits such as fingerprints, irises, faces, and veins, and so-called biometrics, have been actively used in various fields. As one of such biometrics, attempts to use biometric information such as fingerprints and irises as encryption keys have also increased.

그러나 생체 정보의 경우 한 번 노출되면 복구가 불가능하다는 문제가 있다. 생체 정보는 비밀번호 등과 같이 사용자가 임의로 변경할 수 없기 때문이다. 이에 따라 생체 정보를 암호화 키로 사용하는 암호화 알고리즘에 있어 키의 안정성을 강화하기 위한 기술적인 수단이 필요하게 되었다.However, biometric information has a problem that recovery is impossible once exposed. This is because the biometric information cannot be arbitrarily changed by the user such as a password. Accordingly, there is a need for a technical means for enhancing key stability in an encryption algorithm using biometric information as an encryption key.

대한민국 등록특허공보 제10-1745706호 (2017.06.02.)Republic of Korea Patent Publication No. 10-1745706 (2017.06.02.)

본 발명의 실시예들은 생체 정보를 비밀키로 하는 공개키 기반 암호화 시스템에서 비밀키의 안정성을 높이기 위한 기술적 수단을 제공하기 위한 것이다.Embodiments of the present invention provide a technical means for enhancing the stability of a secret key in a public key-based encryption system using a biometric as a secret key.

예시적인 실시예에 따르면, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 사용자의 생체 정보(w)를 입력받는 단계; 퍼지 추출기(Fuzzy Extractor)를 이용하여, 상기 생체 정보(w)에 대응되는 식별값(R) 및 헬퍼 문자열(P)을 생성하는 단계; 랜덤 문자열(R')을 생성하고, 상기 식별값(R) 및 상기 랜덤 문자열(R')로부터 비밀키(sk)를 생성하는 단계; 상기 비밀키(sk)에 대응되는 공개키(pk)를 생성하는 단계; 및 상기 랜덤 문자열(R')을 상기 비밀키(sk) 대신 저장하는 단계를 포함하는, 방법이 제공된다.According to an exemplary embodiment, a method performed in a computing device having one or more processors and a memory storing one or more programs executed by the one or more processors, the method comprising: receiving biometric information (w) of a user; step; Generating an identification value (R) and a helper string (P) corresponding to the biometric information (w) using a fuzzy extractor; Generating a random string (R ') and generating a secret key (sk) from the identification value (R) and the random string (R'); Generating a public key (pk) corresponding to the secret key (sk); And storing the random string R 'instead of the secret key sk.

상기 식별값(R) 및 헬퍼 문자열(P)을 생성하는 단계는, 입력된 상기 생체(w) 정보를 삭제하는 단계를 더 포함할 수 있다.The generating of the identification value R and the helper string P may further include deleting the input biometric information.

상기 랜덤 문자열(R')의 길이는 상기 식별값보다 크거나 같도록 구성될 수 있다.The length of the random string R 'may be configured to be greater than or equal to the identification value.

상기 비밀키는 상기 식별값(R) 및 상기 랜덤 문자열(R')을 XOR(eXclusive OR) 연산함으로써 생성될 수 있다.The secret key may be generated by performing an XOR (eXclusive OR) operation on the identification value R and the random string R '.

상기 방법은, 상기 저장하는 단계의 수행 이후, 상기 사용자의 생체 정보(w')를 재입력받는 단계; 상기 재입력된 생체 정보(w') 및 상기 헬퍼 문자열(P)을 이용하여 상기 식별값(R)을 복원하는 단계; 및 상기 복원된 식별값(R) 및 기 저장된 랜덤 문자열(R')을 이용하여 상기 비밀키(sk)를 재생성하는 단계를 더 포함할 수 있다.The method may further include receiving biometric information (w ') of the user after performing the storing; Restoring the identification value (R) using the re-entered biometric information (w ') and the helper string (P); And regenerating the secret key sk using the restored identification value R and the pre-stored random string R '.

상기 랜덤 문자열(R')은 상기 컴퓨팅 장치에 구비된 물리적 복제 불가능 함수(Physical Unclonable Function, PUF)에 의하여 생성될 수 있다.The random string R 'may be generated by a physical unclonable function (PUF) provided in the computing device.

다른 예시적인 실시예에 따르면, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 인증 서버로부터 사용자의 아이디에 대응되는 비밀키(skid)를 수신하는 단계; 상기 사용자의 생체 정보(w)를 입력받는 단계; 퍼지 추출기(Fuzzy Extractor)를 이용하여, 상기 생체 정보(w)에 대응되는 식별값(R) 및 헬퍼 문자열(P)을 생성하는 단계; 상기 비밀키(skid) 및 상기 식별값(R)으로부터 저장값(R')을 계산하는 단계; 및 상기 저장값(R')을 상기 비밀키(skid) 대신 저장하는 단계를 포함하는, 방법이 제공된다.According to another exemplary embodiment, a method performed in a computing device having one or more processors and a memory storing one or more programs executed by the one or more processors, the method comprising: corresponding to a user's identity from an authentication server; Receiving a secret key (sk id ); Receiving biometric information (w) of the user; Generating an identification value (R) and a helper string (P) corresponding to the biometric information (w) using a fuzzy extractor; Calculating a stored value (R ′) from the secret key (sk id ) and the identification value (R); And storing the stored value R 'instead of the secret key sk id .

상기 식별값(R) 및 헬퍼 문자열(P)을 생성하는 단계는, 입력된 상기 생체(w) 정보를 삭제하는 단계를 더 포함할 수 있다.The generating of the identification value R and the helper string P may further include deleting the input biometric information.

상기 저장값(R')은 상기 비밀키(skid) 및 상기 식별값(R)을 XOR(eXclusive OR) 연산함으로써 생성될 수 있다.The stored value R ′ may be generated by performing an XOR operation on the secret key sk id and the identification value R.

상기 방법은, 상기 저장하는 단계의 수행 이후, 상기 사용자의 생체 정보(w')를 재입력받는 단계; 상기 재입력된 생체 정보(w') 및 상기 헬퍼 문자열(P)을 이용하여 상기 식별값(R)을 복원하는 단계; 및 상기 복원된 식별값(R) 및 기 저장된 저장값(R')을 이용하여 상기 비밀키(skid)를 재생성하는 단계를 더 포함할 수 있다.The method may further include receiving biometric information (w ') of the user after performing the storing; Restoring the identification value (R) using the re-entered biometric information (w ') and the helper string (P); And regenerating the secret key sk id using the restored identification value R and the stored stored value R '.

상기 비밀키(skid)는 상기 식별값(R) 및 상기 저장값(R')을 XOR(eXclusive OR) 연산함으로써 생성될 수 있다.The secret key sk id may be generated by performing an XOR operation on the identification value R and the stored value R '.

다른 예시적인 실시예에 따르면, 하나 이상의 프로세서들; 메모리; 및 하나 이상의 프로그램들을 포함하고, 상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며, 상기 하나 이상의 프로그램들은, 사용자의 생체 정보(w)를 입력받기 위한 명령; 퍼지 추출기(Fuzzy Extractor)를 이용하여, 상기 생체 정보(w)에 대응되는 식별값(R) 및 헬퍼 문자열(P)을 생성하기 위한 명령; 랜덤 문자열(R')을 생성하고, 상기 식별값(R) 및 상기 랜덤 문자열(R')로부터 비밀키(sk)를 생성하기 위한 명령; 상기 비밀키(sk)에 대응되는 공개키(pk)를 생성하기 위한 명령; 및 상기 랜덤 문자열(R')을 상기 비밀키(sk) 대신 저장하기 위한 명령을 포함하는, 컴퓨팅 장치가 제공된다.According to another exemplary embodiment, one or more processors; Memory; And one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising: instructions for receiving biometric information (w) of a user; Instructions for generating an identification value (R) and a helper string (P) corresponding to the biometric information (w) using a fuzzy extractor; Generating a random string (R ') and generating a secret key (sk) from the identification value (R) and the random string (R'); Instructions for generating a public key (pk) corresponding to the secret key (sk); And instructions for storing the random string R 'instead of the secret key sk.

상기 식별값(R) 및 헬퍼 문자열(P)을 생성하기 위한 명령은, 입력된 상기 생체(w) 정보를 삭제하기 위한 명령을 더 포함할 수 있다.The command for generating the identification value R and the helper string P may further include a command for deleting the input biometric information.

상기 랜덤 문자열(R')의 길이는 상기 식별값보다 크거나 같도록 구성될 수 있다.The length of the random string R 'may be configured to be greater than or equal to the identification value.

상기 비밀키는 상기 식별값(R) 및 상기 랜덤 문자열(R')을 XOR(eXclusive OR) 연산함으로써 생성될 수 있다.The secret key may be generated by performing an XOR (eXclusive OR) operation on the identification value R and the random string R '.

상기 프로그램들은, 상기 저장하기 위한 명령의 수행 이후, 상기 사용자의 생체 정보(w')를 재입력 받기 위한 명령; 상기 재입력된 생체 정보(w') 및 상기 헬퍼 문자열(P)을 이용하여 상기 식별값(R)을 복원하기 위한 명령; 및 상기 복원된 식별값(R) 및 기 저장된 랜덤 문자열(R')을 이용하여 상기 비밀키(sk)를 재생성하기 위한 명령을 더 포함할 수 있다.The programs may further include instructions for re-input of the user's biometric information (w ') after execution of the instructions for storing; Instructions for restoring the identification value (R) using the re-entered biometric information (w ') and the helper string (P); And a command for regenerating the secret key sk using the restored identification value R and the pre-stored random string R '.

상기 랜덤 문자열(R')은 상기 컴퓨팅 장치에 구비된 물리적 복제 불가능 함수(Physical Unclonable Function, PUF)에 의하여 생성될 수 있다.The random string R 'may be generated by a physical unclonable function (PUF) provided in the computing device.

다른 예시적인 실시예에 따르면, 하나 이상의 프로세서들; 메모리; 및 하나 이상의 프로그램들을 포함하고, 상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며, 상기 하나 이상의 프로그램들은, 인증 서버로부터 사용자의 아이디에 대응되는 비밀키(skid)를 수신하기 위한 명령; 상기 사용자의 생체 정보(w)를 입력받기 위한 명령; 퍼지 추출기(Fuzzy Extractor)를 이용하여, 상기 생체 정보(w)에 대응되는 식별값(R) 및 헬퍼 문자열(P)을 생성하기 위한 명령; 상기 비밀키(skid) 및 상기 식별값(R)으로부터 저장값(R')을 계산하기 위한 명령; 및 상기 저장값(R')을 상기 비밀키(skid) 대신 저장하기 위한 명령을 포함하는, 컴퓨팅 장치가 제공된다.According to another exemplary embodiment, one or more processors; Memory; And one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, wherein the one or more programs include a secret key (sk) corresponding to the user's ID from an authentication server. id ); Instructions for receiving biometric information (w) of the user; Instructions for generating an identification value (R) and a helper string (P) corresponding to the biometric information (w) using a fuzzy extractor; Calculating a stored value (R ') from said secret key (sk id ) and said identification value (R); And instructions for storing the stored value R 'instead of the secret key sk id .

상기 식별값(R) 및 헬퍼 문자열(P)을 생성하기 위한 명령은, 입력된 상기 생체(w) 정보를 삭제하기 위한 명령을 더 포함할 수 있다.The command for generating the identification value R and the helper string P may further include a command for deleting the input biometric information.

상기 저장값(R')은 상기 비밀키(skid) 및 상기 식별값(R)을 XOR(eXclusive OR) 연산함으로써 생성될 수 있다.The stored value R ′ may be generated by performing an XOR operation on the secret key sk id and the identification value R.

상기 컴퓨팅 장치는, 상기 저장하기 위한 명령의 수행 이후, 상기 사용자의 생체 정보(w')를 재입력 받기 위한 명령; 상기 재입력된 생체 정보(w') 및 상기 헬퍼 문자열(P)을 이용하여 상기 식별값(R)을 복원하기 위한 명령; 및 상기 복원된 식별값(R) 및 기 저장된 저장값(R')을 이용하여 상기 비밀키(skid)를 재생성하기 위한 명령을 더 포함할 수 있다.The computing device may further include instructions for re-input of biometric information (w ') of the user after performing the storing command; Instructions for restoring the identification value (R) using the re-entered biometric information (w ') and the helper string (P); And a command for regenerating the secret key sk id using the restored identification value R and the stored stored value R '.

상기 비밀키(skid)는 상기 식별값(R) 및 상기 저장값(R')을 XOR(eXclusive OR) 연산함으로써 생성될 수 있다.The secret key sk id may be generated by performing an XOR operation on the identification value R and the stored value R '.

본 발명의 실시예들에 따르면, 생체 정보를 비밀키로 하는 공개키 기반 암호화 시스템에서 생체 정보가 노출되더라도 비밀키의 안정성을 지킬 수 있게 되는 바, 암호화 시스템의 보안성을 높일 수 있다.According to embodiments of the present invention, even if the biometric information is exposed in a public key-based encryption system using the biometric information as a secret key, the stability of the secret key can be kept, thereby increasing the security of the encryption system.

도 1은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
도 2는 본 발명의 제1 실시예에 따른 암호화 키 생성 방법을 설명하기 위한 흐름도
도 3은 본 본 발명의 제1 실시예에 따른 암호화 키 복구 방법을 설명하기 위한 흐름도
도 4는 본 발명의 제2 실시예에 따른 암호화 키 생성 시스템을 설명하기 위한 블록도
도 5는 본 발명의 제2 실시예에 따른 암호화 키 생성 방법을 설명하기 위한 흐름도
도 6은 본 본 발명의 제2 실시예에 따른 암호화 키 복구 방법을 설명하기 위한 흐름도
1 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments.
2 is a flowchart illustrating a method of generating an encryption key according to a first embodiment of the present invention.
3 is a flowchart illustrating an encryption key recovery method according to the first embodiment of the present invention.
4 is a block diagram illustrating an encryption key generation system according to a second embodiment of the present invention.
5 is a flowchart illustrating a method of generating an encryption key according to a second embodiment of the present invention.
6 is a flowchart illustrating an encryption key recovery method according to a second embodiment of the present invention.

이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to assist in a comprehensive understanding of the methods, devices, and / or systems described herein. However, this is only an example and the present invention is not limited thereto.

본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, when it is determined that the detailed description of the known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or an operator. Therefore, the definition should be made based on the contents throughout the specification. The terminology used in the description is for the purpose of describing embodiments of the invention only and should not be limiting. Unless expressly used otherwise, the singular forms “a,” “an,” and “the” include plural forms of meaning. In this description, expressions such as "comprises" or "equipment" are intended to indicate certain features, numbers, steps, actions, elements, portions or combinations thereof, and one or more than those described. It should not be construed to exclude the presence or possibility of other features, numbers, steps, actions, elements, portions or combinations thereof.

도 1은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경(10)을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.1 is a block diagram illustrating and describing a computing environment 10 that includes a computing device suitable for use in example embodiments. In the illustrated embodiment, each component may have different functions and capabilities in addition to those described below, and may include additional components in addition to those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 본 발명의 실시예들에 따른 생체 정보를 이용한 암호화 키 생성 장치일 수 있다. 일 실시예에서, 컴퓨팅 장치(12)는 데스크탑, 노트북 컴퓨터, 태블릿, 스마트폰, 웨어러블 디바이스 등의 개인 컴퓨팅 디바이스를 포함할 수 있다.The illustrated computing environment 10 includes a computing device 12. In one embodiment, computing device 12 may be an encryption key generation device using biometric information according to embodiments of the present invention. In one embodiment, computing device 12 may include a personal computing device, such as a desktop, notebook computer, tablet, smartphone, wearable device, and the like.

컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.Computing device 12 includes at least one processor 14, computer readable storage medium 16, and communication bus 18. The processor 14 may cause the computing device 12 to operate according to the example embodiments mentioned above. For example, processor 14 may execute one or more programs stored in computer readable storage medium 16. The one or more programs may include one or more computer executable instructions that, when executed by the processor 14, cause the computing device 12 to perform operations in accordance with an exemplary embodiment. Can be.

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer readable storage medium 16 is configured to store computer executable instructions or program code, program data and / or other suitable forms of information. The program 20 stored in the computer readable storage medium 16 includes a set of instructions executable by the processor 14. In one embodiment, computer readable storage medium 16 includes memory (volatile memory, such as random access memory, nonvolatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash Memory devices, or any other form of storage medium that is accessible by computing device 12 and capable of storing desired information, or a suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.The communication bus 18 interconnects various other components of the computing device 12, including the processor 14 and the computer readable storage medium 16.

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(102)와 연결될 수도 있다.Computing device 12 may also include one or more input / output interfaces 22 and one or more network communication interfaces 26 that provide an interface for one or more input / output devices 24. The input / output interface 22 and the network communication interface 26 are connected to the communication bus 18. The input / output device 24 may be connected to other components of the computing device 12 via the input / output interface 22. Exemplary input / output devices 24 may include pointing devices (such as a mouse or trackpad), keyboards, touch input devices (such as touchpads or touchscreens), voice or sound input devices, various types of sensor devices, and / or imaging devices. Input devices, and / or output devices such as display devices, printers, speakers, and / or network cards. The example input / output device 24 may be included inside the computing device 12 as one component of the computing device 12, and may be connected to the computing device 102 as a separate device from the computing device 12. It may be.

도 2는 본 발명의 제1 실시예에 따른 암호화 키 생성 방법(200)을 설명하기 위한 흐름도이다. 도 2에 도시된 방법은 예를 들어, 전술한 컴퓨팅 장치(12)에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.2 is a flowchart illustrating an encryption key generation method 200 according to a first embodiment of the present invention. The method shown in FIG. 2 may be performed by the computing device 12 described above, for example. In the illustrated flow chart, the method is divided into a plurality of steps, but at least some of the steps may be performed in a reverse order, in combination with other steps, omitted, divided into substeps, or not shown. One or more steps may be added and performed.

본 실시예를 구체적으로 설명하기 전, 컴퓨팅 장치(12)는 공개키 기반 전자서명(Digital Signature)을 위한 서명 스킴을 구비하고 있는 것으로 가정한다. 상기 서명 스킴은 키 생성(DKeyGen), 서명(DSign) 및 검증(DVerify) 알고리즘을 구성될 수 있다. 각각의 알고리즘에 대한 상세한 설명을 기재하면 다음과 같다.Before describing this embodiment in detail, it is assumed that the computing device 12 has a signature scheme for a public key based digital signature. The signature scheme may be configured with a key generation (DKeyGen), signature (DSign), and verification (DVerify) algorithm. A detailed description of each algorithm is as follows.

DKeyGen(1k): 보안 파라미터 k(k∈N)를 입력으로 받아서 공개키와 비밀키 쌍(pk, sk)를 출력한다.DKeyGen (1 k ): Takes the security parameter k (k∈N) as input and outputs the public and secret key pairs (pk, sk).

DSign(m, sk): 메시지(m)와 비밀키(sk)를 입력으로 받아 서명(σ)을 출력한다.DSign (m, sk): Takes a message (m) and a secret key (sk) as inputs, and outputs a signature (σ).

DVerify(σ, m, pk): 서명(σ)과 메시지(m)와 공개키(pk)를 입력으로 받아 맞는 서명이면 1을 출력하고 아니면 0을 출력한다.DVerify (σ, m, pk): Outputs 1 if the signature (σ), message (m) and public key (pk) are valid inputs, and 0 otherwise.

또한, 컴퓨팅 장치(12)는 퍼지 추출기(Fuzzy Extractor)를 포함하는 것으로 가정한다. 퍼지 추출기는 생체 정보를 입력받고, 입력된 생체 정보의 노이즈(noise)를 제거하여 유니크한 값을 생성한다. 생체 정보는 그 특성상 입력 시 그 값이 조금씩 달라질 수 있으나, 이와 같은 퍼지 추출기를 이용할 경우 입력되는 생체 정보로부터 일정한 값을 얻어낼 수 있다. 퍼지 추출기는 다음과 같은 알고리즘을 포함한다.It is also assumed that computing device 12 includes a fuzzy extractor. The fuzzy extractor receives biometric information and generates a unique value by removing noise of the biometric information. Due to its characteristics, the biometric information may have a slightly different value when inputted. However, when the fuzzy extractor is used, a predetermined value may be obtained from the biometric information. The fuzzy extractor includes the following algorithm.

Gen(w): 퍼지 데이터(w)를 받아 l 비트 길이의 문자열(R) 및 헬퍼 문자열(P)을 출력한다. 이때 상기 퍼지 데이터(w)는 생체 정보일 수 있다.Gen (w): Receives the fuzzy data (w) and outputs a string (R) and a helper string (P) having a length of l bits. In this case, the fuzzy data w may be biometric information.

Rep(w', P): 퍼지 데이터(w')와 헬퍼 문자열(P)을 입력으로 받아 R을 출력한다. 기존의 퍼지 데이터(w)를 Gen 알고리즘에 적용하여 생성된 R, P에 대해서 w와 w' 간의 거리가 임계값(t) 이하인 경우(dist(w, w') <= t), Rep(w', P) = R의 관계를 가지게 된다.Rep (w ', P): Takes fuzzy data (w') and helper string (P) as input and outputs R. If the distance between w and w 'is less than or equal to the threshold value t for R and P generated by applying the existing fuzzy data (w) to the Gen algorithm (dist (w, w') <= t), Rep (w ', P) = R relationship.

단계 202에서, 컴퓨팅 장치(12)는 사용자로부터 생체 정보(w)를 입력받는다. 본 발명의 실시예들에서, 생체 정보는 지문, 홍체, 얼굴, 정맥 등, 상기 사용자의 하나 이상의 신체적, 행동적 특징을 포함할 수 있다. 일 실시예에서, 사용자는 자신이 신뢰하는 오프라인 장치(자신이 사용하는 개인용 컴퓨팅 디바이스)를 이용하여 상기 생체 정보를 입력할 수 있다.In operation 202, the computing device 12 receives biometric information w from a user. In embodiments of the invention, the biometric information may include one or more physical and behavioral characteristics of the user, such as a fingerprint, iris, face, vein, and the like. In one embodiment, a user may enter the biometric information using an offline device (a personal computing device he uses) that he or she trusts.

단계 204에서, 컴퓨팅 장치(12)는 전술한 퍼지 추출기(Fuzzy Extractor)를 이용하여, 입력된 상기 생체 정보(w)에 대응되는 식별값(R) 및 헬퍼 문자열(P)을 생성한다. 이때 헬퍼 문자열(P)은 공개 가능한 정보이므로, 컴퓨팅 장치(12) 내에 별도의 보안 수단 없이 저장 가능하다. 또한, 상기 생체 정보(w)는 유출되는 것을 방지하기 위하여 상기 식별값(R) 및 헬퍼 문자열(P) 생성 이후 삭제될 수 있다.In operation 204, the computing device 12 generates an identification value R and a helper string P corresponding to the input biometric information w using the aforementioned fuzzy extractor. In this case, since the helper string P is publicly available information, the helper string P may be stored in the computing device 12 without any security means. In addition, the biometric information w may be deleted after generation of the identification value R and the helper string P in order to prevent leakage.

단계 206에서, 컴퓨팅 장치(12)는 랜덤 문자열(R')을 생성한다. 이때 상기 랜덤 문자열(R')의 길이는 204 단계에서 생성되는 상기 식별값(R)의 길이보다 크거나 같도록 구성될 수 있다.In step 206, computing device 12 generates a random string R ′. At this time, the length of the random string (R ') may be configured to be greater than or equal to the length of the identification value (R) generated in step 204.

단계 208에서, 컴퓨팅 장치(12)는 상기 식별값(R) 및 상기 랜덤 문자열(R')로부터 비밀키(sk)를 생성한다. 일 실시예에서, 상기 비밀키(sk)는 상기 식별값(R) 및 상기 랜덤 문자열(R')을 XOR(eXclusive OR) 연산함으로써 생성될 수 있다.In step 208, computing device 12 generates a secret key sk from the identification value R and the random string R '. In one embodiment, the secret key sk may be generated by performing an XOR (eXclusive OR) operation on the identification value R and the random string R '.

단계 210에서, 컴퓨팅 장치(12)는 상기 비밀키(sk)에 대응되는 공개키(pk)를 생성한다. 상기 비밀키(sk) 및 공개키(pk)는 전술한 DKeyGen 알고리즘을 이용하여 생성될 수 있다.In operation 210, the computing device 12 generates a public key pk corresponding to the secret key sk. The secret key sk and the public key pk may be generated using the above-described DKeyGen algorithm.

단계 212에서, 컴퓨팅 장치(12)는 비밀키(sk) 및 식별값(R)을 지우고, 랜덤 문자열(R')을 상기 비밀키(sk) 대신 안전하게 저장한다. 예를 들어, 컴퓨팅 장치(12)는 내부의 보안 스토리지(secure storage) 영역 등의 저장 공간에 상기 랜덤 문자열(R')을 저장할 수 있다.In operation 212, the computing device 12 erases the secret key sk and the identification value R, and securely stores the random string R 'instead of the secret key sk. For example, the computing device 12 may store the random string R ′ in a storage space such as an internal secure storage area.

도 3은 본 본 발명의 제1 실시예에 따른 암호화 키 복구 방법(300)을 설명하기 위한 흐름도이다. 도 3에 도시된 방법은 예를 들어, 전술한 컴퓨팅 장치(12)에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.3 is a flowchart illustrating an encryption key recovery method 300 according to the first embodiment of the present invention. The method shown in FIG. 3 may be performed by the computing device 12 described above, for example. In the illustrated flow chart, the method is divided into a plurality of steps, but at least some of the steps may be performed in a reverse order, in combination with other steps, omitted, divided into substeps, or not shown. One or more steps may be added and performed.

본 실시예에서, 사용자가 자신의 비밀키를 다시 복구하여 서명을 생성하거나, 또는 공개키로 암호화된 메시지를 복호화하고자 하는 경우에는 다음과 같은 과정을 통해 비밀키를 복구하게 된다.In the present embodiment, when the user recovers his private key again to generate a signature or decrypts a message encrypted with the public key, the user recovers the private key through the following process.

단계 302에서, 컴퓨팅 장치(12)는 사용자로부터 생체 정보(w')를 재입력받는다. 전술한 바와 같이, 생체 정보의 특성 상 재입력된 생체 정보(w')는 앞선 단계 202에서 입력된 생체 정보(w)와는 일부 차이가 존재할 수 있다.In operation 302, the computing device 12 receives the biometric information w ′ from the user. As described above, the bio-information w 're-entered in the nature of the bio-information may have some differences from the bio-information w inputted in the previous step 202.

단계 304에서, 컴퓨팅 장치(12)는 전술한 퍼지 추출기(Fuzzy Extractor)를 이용하여, 재입력된 상기 생체 정보(w')로부터 식별값(R)을 복원한다. 구체적으로, 컴퓨팅 장치(12)는 상기 재입력된 생체 정보(w') 및 상기 헬퍼 문자열(P)을 이용하여 상기 식별값(R)을 복원할 수 있다(Rep(w', P) = R).In operation 304, the computing device 12 restores the identification value R from the biometric information w ′ re-entered using the above-described Fuzzy Extractor. In detail, the computing device 12 may restore the identification value R using the re-entered biometric information w 'and the helper string P (Rep (w', P) = R). ).

단계 306에서, 컴퓨팅 장치(12)는 상기 복원된 식별값(R) 및 기 저장된 랜덤 문자열(R')을 이용하여 상기 비밀키(sk)를 재생성한다. 전술한 바와 같이, 상기 비밀키(sk)는 상기 식별값(R) 및 상기 랜덤 문자열(R')을 XOR(eXclusive OR) 연산함으로써 재생성될 수 있다.In operation 306, the computing device 12 regenerates the secret key sk using the restored identification value R and the previously stored random string R ′. As described above, the secret key sk may be regenerated by performing an XOR (eXclusive OR) operation on the identification value R and the random string R '.

한편, 일 실시예에서 상기 랜덤 문자열(R')은 컴퓨팅 장치(12)에 구비된 물리적 복제 불가능 함수(Physical Unclonable Function, PUF)에 의하여 생성될 수 있다. PUF는 마치 인간의 지문 등과 같이 하드웨어 디바이스에 포함된 각 소자의 고유한 특성을 보안에 적용한 것으로서, PUF 회로에 입력신호인 챌린지(challenge) 비트(bit)를 입력하면 PUF 셀(cell) 각각은 고유한 리스판스(response) 비트(bit)를 출력하도록 구성된다. PUF 회로에서는 같은 셀(cell) 회로를 반복하여 동일한 공정으로 제조하여도 각 셀들이 가진 미세한 차이에 의해 다른 리스판스(response)를 출력하게 되며, 이러한 성질이 PUF 회로에서 물리적인 복제 불가의 특성을 갖게 한다.Meanwhile, in one embodiment, the random string R 'may be generated by a physical unclonable function (PUF) provided in the computing device 12. PUF applies security characteristics unique to each device included in a hardware device, such as a human fingerprint. When a challenge bit is input to a PUF circuit, each PUF cell is unique. It is configured to output one response bit. In the PUF circuit, even if the same cell circuit is repeated and manufactured in the same process, different responses are output due to the slight difference of each cell, and this property prevents physical replication in the PUF circuit. Have it.

컴퓨팅 장치(12)는 예컨대, 디바이스에서 측정한 온도 등의 환경 정보를 PUF 회로의 입력값(챌린지)으로 저장하고, 상기 챌린지에 따른 리스판스를 206 단계의 랜덤 문자열(R')로 이용할 수 있다. 이 경우, 컴퓨팅 장치(12)는 별도로 랜덤 문자열(R')을 안전하게 저장할 필요 없이 필요할 때마다 PUF 회로를 이용하여 랜덤 문자열(R')을 생성할 수 있다. 예를 들어, 상기 306 단계에서 컴퓨팅 장치(12)는 저장된 랜덤 문자열(R')이 아닌 PUF 회로를 이용하여 새로 생성된 랜덤 문자열(R')로 비밀키를 복구할 수 있다. 다만, 이 경우 동일한 챌린지에 대한 리스판스에서도 생체 정보와 유사하게 노이즈가 발생할 수 있으므로, 컴퓨팅 장치(12)는 퍼지 추출기 등을 이용하여 PUF 의 출력값의 노이즈를 제거할 수 있다.The computing device 12 may store, for example, environmental information such as a temperature measured by the device as an input value (challenge) of the PUF circuit, and use the response according to the challenge as the random string R ′ in step 206. . In this case, the computing device 12 may generate the random string R 'by using the PUF circuit whenever necessary without separately storing the random string R'. For example, in operation 306, the computing device 12 may recover the secret key into a newly generated random string R ′ using a PUF circuit instead of the stored random string R ′. However, in this case, since the noise may be generated similarly to the biometric information in response to the same challenge, the computing device 12 may remove the noise of the output value of the PUF using a fuzzy extractor or the like.

도 4는 본 발명의 제2 실시예에 따른 암호화 키 생성 시스템(400)을 설명하기 위한 블록도이다. 도시된 바와 같이, 본 실시예에서 암호화 키 생성 시스템(400)은 전술한 컴퓨팅 장치(12) 이외에 인증 서버(402)를 더 포함할 수 있다. 컴퓨팅 장치(12)는 네트워크(404)를 통해 인증 서버(402)와 통신할 수 있다. 개시되는 실시예들에서, 네트워크(404)는 근거리 통신망(local area network; LAN), 원거리 통신망(wide area network; WAN) 또는 이들의 조합으로 구성될 수 있다.4 is a block diagram illustrating an encryption key generation system 400 according to a second embodiment of the present invention. As shown, in the present embodiment, the encryption key generation system 400 may further include an authentication server 402 in addition to the computing device 12 described above. Computing device 12 may communicate with authentication server 402 via network 404. In the disclosed embodiments, the network 404 may be comprised of a local area network (LAN), wide area network (WAN), or a combination thereof.

일 실시예에서, 인증 서버(402)는 컴퓨팅 장치(12)의 사용자가 신뢰할 수 있는 서버(trusted authority server)로서, 아이디 기반 서명(Identity-Based Signature Scheme) 서비스를 제공하는 서버일 수 있다. 아이디 기반 서명은 다음의 알고리즘을 포함할 수 있다.In one embodiment, the authentication server 402 may be a server trusted by a user of the computing device 12 to provide an Identity-Based Signature Scheme service. The identity based signature may include the following algorithm.

Setup(1k): 보안 파라미터 k(k∈N)를 입력으로 받아서 마스터 공개키와 마스터 비밀키 쌍(mpk, msk)를 출력한다.Setup (1 k ): Takes the security parameter k (k∈N) as input and outputs the master public key and master secret key pair (mpk, msk).

KeyGen(id, msk): 사용자의 아이디(id)와 마스터 비밀키(msk)를 입력으로 받아서 id에 대한 비밀키 skid를 출력한다.KeyGen (id, msk): Takes user ID (id) and master secret key (msk) as input, and outputs secret key sk id for id .

Sign(m, skid): 메시지(m) 및 아이디(id)에 대응하는 비밀키(skid)를 입력으로 받아 서명(σ)을 출력한다.Sign (m, sk id ): It receives a secret key (sk id ) corresponding to the message (m) and ID ( id ) as an input and outputs a signature (σ).

Verify(σ, m, mpk): 서명(σ)과 메시지(m)와 마스터 공개키(mpk)를 입력으로 받아 맞는 서명이면 1을 출력하고 아니면 0을 출력한다.Verify (σ, m, mpk): Prints 1 if the signature (σ), message (m) and master public key (mpk) are accepted.

도 5는 본 발명의 제2 실시예에 따른 암호화 키 생성 방법(500)을 설명하기 위한 흐름도이다. 도 5에 도시된 방법은 예를 들어, 전술한 컴퓨팅 장치(12) 및 인증 서버(402)에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.5 is a flowchart for explaining an encryption key generation method 500 according to a second embodiment of the present invention. The method shown in FIG. 5 may be performed by, for example, computing device 12 and authentication server 402 described above. In the illustrated flow chart, the method is divided into a plurality of steps, but at least some of the steps may be performed in a reverse order, in combination with other steps, omitted, divided into substeps, or not shown. One or more steps may be added and performed.

본 실시예를 구체적으로 설명하기 전, 컴퓨팅 장치(12) 및 인증 서버(402)는 아이디 기반 서명(IBS)을 위한 서명 스킴을 구비하고 있는 것으로 가정한다. 또한, 컴퓨팅 장치(12)는 제1 실시예에서 설명한 퍼지 추출기(Fuzzy Extractor)를 포함하는 것으로 가정한다. Before describing this embodiment in detail, it is assumed that computing device 12 and authentication server 402 have a signature scheme for identity based signature (IBS). In addition, it is assumed that the computing device 12 includes the fuzzy extractor described in the first embodiment.

단계 502에서, 인증 서버(402)는 인증 서버(402)는 전술한 Setup 알고리즘을 이용하여 마스터 공개키와 마스터 비밀키 쌍(mpk, msk)을 계산하고, 이 중 마스터 공개키(mpk)를 공개한다. In step 502, the authentication server 402 calculates a master public key and a master secret key pair (mpk, msk) using the above-described Setup algorithm, and publishes a master public key (mpk). do.

단계 504에서, 사용자는 컴퓨팅 장치(12)를 통해 자신의 아이디(id)를 인증 서버(402)로 송신한다.In step 504, the user sends his ID through the computing device 12 to the authentication server 402.

단계 506에서, 인증 서버(402)는 전술한 KeyGen 알고리즘을 이용하여 비밀키(skid)를 계산한다.In step 506, the authentication server 402 calculates a secret key (sk id ) using the KeyGen algorithm described above.

단계 508에서, 인증 서버(402)는 계산된 비밀키(skid)를 안전하게 컴퓨팅 장치(12)로 송신한다.In step 508, the authentication server 402 securely sends the calculated secret key sk id to the computing device 12.

단계 510에서, 컴퓨팅 장치(12)는 사용자로부터 생체 정보(w)를 입력받는다. 본 발명의 실시예들에서, 생체 정보는 지문, 홍체, 얼굴, 정맥 등, 상기 사용자의 하나 이상의 신체적, 행동적 특징을 포함할 수 있다. 일 실시예에서, 사용자는 자신이 신뢰하는 오프라인 장치(자신이 사용하는 개인용 컴퓨팅 디바이스)를 이용하여 상기 생체 정보를 입력할 수 있다.In operation 510, the computing device 12 receives biometric information w from a user. In embodiments of the invention, the biometric information may include one or more physical and behavioral characteristics of the user, such as a fingerprint, iris, face, vein, and the like. In one embodiment, a user may enter the biometric information using an offline device (a personal computing device he uses) that he or she trusts.

단계 512에서, 컴퓨팅 장치(12)는 전술한 퍼지 추출기(Fuzzy Extractor)를 이용하여, 입력된 상기 생체 정보(w)에 대응되는 식별값(R) 및 헬퍼 문자열(P)을 생성한다. 이때 헬퍼 문자열(P)은 공개 가능한 정보이므로, 컴퓨팅 장치(12) 내에 별도의 보안 수단 없이 저장 가능하다. 또한, 상기 생체 정보(w)는 유출되는 것을 방지하기 위하여 상기 식별값(R) 및 헬퍼 문자열(P) 생성 이후 삭제될 수 있다.In operation 512, the computing device 12 generates an identification value R and a helper string P corresponding to the input biometric information w using the aforementioned fuzzy extractor. In this case, since the helper string P is publicly available information, the helper string P may be stored in the computing device 12 without any security means. In addition, the biometric information w may be deleted after generation of the identification value R and the helper string P in order to prevent leakage.

단계 514에서, 컴퓨팅 장치(12)는 비밀키(skid) 및 식별값(R)으로부터 저장값(R')을 계산한다. 일 실시예에서, 상기 저장값(R')은 상기 식별값(R) 및 상기 비밀키(skid)를 XOR(eXclusive OR) 연산함으로써 생성될 수 있다.In step 514, the computing device 12 calculates a storage value R ′ from the secret key sk id and the identification value R. In one embodiment, the stored value (R ') may be generated by performing an XOR (eXclusive OR) operation on the identification value (R) and the secret key (sk id ).

단계 516에서, 식별값(R) 및 비밀키(skid)를 모두 삭제하고, 상기 저장값(R')을 상기 비밀키(skid) 대신 안전하게 저장한다. 예를 들어, 컴퓨팅 장치(12)는 내부의 보안 스토리지(secure storage) 영역 등의 저장 공간에 상기 랜덤 문자열(R')을 저장할 수 있다.In step 516, both the identification value R and the secret key sk id are deleted, and the stored value R 'is safely stored instead of the secret key sk id . For example, the computing device 12 may store the random string R ′ in a storage space such as an internal secure storage area.

도 6은 본 본 발명의 제2 실시예에 따른 암호화 키 복구 방법(600)을 설명하기 위한 흐름도이다. 도 6에 도시된 방법은 예를 들어, 전술한 컴퓨팅 장치(12)에 의해 수행될 수 있다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.6 is a flowchart illustrating an encryption key recovery method 600 according to a second embodiment of the present invention. The method shown in FIG. 6 may be performed by the computing device 12 described above, for example. In the illustrated flow chart, the method is divided into a plurality of steps, but at least some of the steps may be performed in a reverse order, in combination with other steps, omitted, divided into substeps, or not shown. One or more steps may be added and performed.

단계 602에서, 컴퓨팅 장치(12)는 사용자로부터 생체 정보(w')를 재입력받는다. 전술한 바와 같이, 생체 정보의 특성 상 재입력된 생체 정보(w')는 앞선 단계 510에서 입력된 생체 정보(w)와는 일부 차이가 존재할 수 있다.In operation 602, the computing device 12 receives the biometric information w ′ from the user. As described above, the bio-information w 're-entered in the nature of the bio-information may have some differences from the bio-information w inputted in the previous step 510.

단계 604에서, 컴퓨팅 장치(12)는 전술한 퍼지 추출기(Fuzzy Extractor)를 이용하여, 재입력된 상기 생체 정보(w')로부터 식별값(R)을 복원한다. 구체적으로, 컴퓨팅 장치(12)는 상기 재입력된 생체 정보(w') 및 상기 헬퍼 문자열(P)을 이용하여 상기 식별값(R)을 복원할 수 있다(Rep(w', P) = R).In operation 604, the computing device 12 restores the identification value R from the biometric information w ′ re-entered using the above-described Fuzzy Extractor. In detail, the computing device 12 may restore the identification value R using the re-entered biometric information w 'and the helper string P (Rep (w', P) = R). ).

단계 606에서, 컴퓨팅 장치(12)는 상기 복원된 식별값(R) 및 기 저장된 저장값(R')을 이용하여 상기 비밀키(skid)를 재생성한다. 전술한 바와 같이, 상기 비밀키(skid)는 상기 식별값(R) 및 상기 저장값(R')을 XOR(eXclusive OR) 연산함으로써 재생성될 수 있다.In operation 606, the computing device 12 regenerates the secret key sk id using the restored identification value R and the stored stored value R ′. As described above, the secret key sk id may be regenerated by performing an XOR (eXclusive OR) operation on the identification value R and the stored value R '.

한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램, 및 상기 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나, 또는 컴퓨터 소프트웨어 분야에서 통상적으로 사용 가능한 것일 수 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 프로그램의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.Meanwhile, an embodiment of the present invention may include a program for performing the methods described herein on a computer, and a computer readable recording medium including the program. The computer-readable recording medium may include program instructions, local data files, local data structures, etc. alone or in combination. The media may be those specially designed and constructed for the purposes of the present invention, or those conventionally available in the field of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical recording media such as CD-ROMs, DVDs, and specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Hardware devices are included. Examples of such programs may include high-level language code that can be executed by a computer using an interpreter as well as machine code such as produced by a compiler.

이상에서 본 발명의 대표적인 실시예들을 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.While the exemplary embodiments of the present invention have been described in detail above, those skilled in the art will appreciate that various modifications can be made to the above-described embodiments without departing from the scope of the present invention. . Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined by the claims below and equivalents thereof.

12: 컴퓨팅 장치
402: 인증 서버
404: 네트워크
12: computing device
402: authentication server
404: network

Claims (22)

하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
사용자의 생체 정보(w)를 입력받는 단계;
퍼지 추출기(Fuzzy Extractor)를 이용하여, 상기 생체 정보(w)에 대응되는 식별값(R) 및 헬퍼 문자열(P)을 생성하는 단계;
랜덤 문자열(R')을 생성하고, 상기 식별값(R) 및 상기 랜덤 문자열(R')로부터 비밀키(sk)를 생성하는 단계;
상기 비밀키(sk)에 대응되는 공개키(pk)를 생성하는 단계; 및
상기 랜덤 문자열(R')을 상기 비밀키(sk) 대신 저장하는 단계를 포함하는, 방법.
One or more processors, and
A method performed in a computing device having a memory that stores one or more programs executed by the one or more processors, the method comprising:
Receiving biometric information (w) of a user;
Generating an identification value (R) and a helper string (P) corresponding to the biometric information (w) using a fuzzy extractor;
Generating a random string (R ') and generating a secret key (sk) from the identification value (R) and the random string (R');
Generating a public key (pk) corresponding to the secret key (sk); And
Storing the random string (R ') instead of the secret key (sk).
청구항 1에 있어서,
상기 식별값(R) 및 헬퍼 문자열(P)을 생성하는 단계는, 입력된 상기 생체 정보(w)를 삭제하는 단계를 더 포함하는, 방법.
The method according to claim 1,
The generating of the identification value (R) and the helper string (P) further comprises deleting the input biometric information (w).
청구항 1에 있어서,
상기 랜덤 문자열(R')의 길이는 상기 식별값보다 크거나 같도록 구성되는, 방법.
The method according to claim 1,
And the length of the random string R 'is greater than or equal to the identification value.
청구항 1에 있어서,
상기 비밀키는 상기 식별값(R) 및 상기 랜덤 문자열(R')을 XOR(eXclusive OR) 연산함으로써 생성되는, 방법.
The method according to claim 1,
The secret key is generated by performing an XOR (eXclusive OR) operation on the identification value (R) and the random string (R ').
청구항 1에 있어서,
상기 저장하는 단계의 수행 이후,
상기 사용자의 생체 정보(w')를 재입력받는 단계;
상기 재입력된 생체 정보(w') 및 상기 헬퍼 문자열(P)을 이용하여 상기 식별값(R)을 복원하는 단계; 및
상기 복원된 식별값(R) 및 기 저장된 랜덤 문자열(R')을 이용하여 상기 비밀키(sk)를 재생성하는 단계를 더 포함하는, 방법.
The method according to claim 1,
After performing the storing step,
Receiving the biometric information (w ') of the user again;
Restoring the identification value (R) using the re-entered biometric information (w ') and the helper string (P); And
Regenerating the secret key (sk) using the restored identification value (R) and a pre-stored random string (R ').
청구항 1에 있어서,
상기 랜덤 문자열(R')은 상기 컴퓨팅 장치에 구비된 물리적 복제 불가능 함수(Physical Unclonable Function, PUF)에 의하여 생성되는, 방법.
The method according to claim 1,
The random string (R ') is generated by a Physical Unclonable Function (PUF) provided in the computing device.
하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
인증 서버로부터 사용자의 아이디에 대응되는 비밀키(skid)를 수신하는 단계;
상기 사용자의 생체 정보(w)를 입력받는 단계;
퍼지 추출기(Fuzzy Extractor)를 이용하여, 상기 생체 정보(w)에 대응되는 식별값(R) 및 헬퍼 문자열(P)을 생성하는 단계;
상기 비밀키(skid) 및 상기 식별값(R)으로부터 저장값(R')을 계산하는 단계; 및
상기 저장값(R')을 상기 비밀키(skid) 대신 저장하는 단계를 포함하는, 방법.
One or more processors, and
A method performed in a computing device having a memory that stores one or more programs executed by the one or more processors, the method comprising:
Receiving a secret key (sk id ) corresponding to the user ID from the authentication server;
Receiving biometric information (w) of the user;
Generating an identification value (R) and a helper string (P) corresponding to the biometric information (w) using a fuzzy extractor;
Calculating a stored value (R ′) from the secret key (sk id ) and the identification value (R); And
Storing the stored value (R ') instead of the secret key (sk id ).
청구항 7에 있어서,
상기 식별값(R) 및 헬퍼 문자열(P)을 생성하는 단계는, 입력된 상기 생체 정보(w)를 삭제하는 단계를 더 포함하는, 방법.
The method according to claim 7,
The generating of the identification value (R) and the helper string (P) further comprises deleting the input biometric information (w).
청구항 7에 있어서,
상기 저장값(R')은 상기 비밀키(skid) 및 상기 식별값(R)을 XOR(eXclusive OR) 연산함으로써 생성되는, 방법.
The method according to claim 7,
The stored value (R ′) is generated by performing an eXclusive OR (XOR) operation on the secret key (sk id ) and the identification value (R).
청구항 7에 있어서,
상기 저장하는 단계의 수행 이후,
상기 사용자의 생체 정보(w')를 재입력받는 단계;
상기 재입력된 생체 정보(w') 및 상기 헬퍼 문자열(P)을 이용하여 상기 식별값(R)을 복원하는 단계; 및
상기 복원된 식별값(R) 및 기 저장된 저장값(R')을 이용하여 상기 비밀키(skid)를 재생성하는 단계를 더 포함하는, 방법.
The method according to claim 7,
After performing the storing step,
Receiving the biometric information (w ') of the user again;
Restoring the identification value (R) using the re-entered biometric information (w ') and the helper string (P); And
Regenerating the secret key (sk id ) using the restored identification value (R) and the previously stored stored value (R ').
청구항 10에 있어서,
상기 비밀키(skid)는 상기 식별값(R) 및 상기 저장값(R')을 XOR(eXclusive OR) 연산함으로써 생성되는, 방법.
The method according to claim 10,
And the secret key (sk id ) is generated by performing an eXclusive OR (XOR) operation on the identification value (R) and the stored value (R ′).
하나 이상의 프로세서들;
메모리; 및
하나 이상의 프로그램들을 포함하고,
상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며,
상기 하나 이상의 프로그램들은,
사용자의 생체 정보(w)를 입력받기 위한 명령;
퍼지 추출기(Fuzzy Extractor)를 이용하여, 상기 생체 정보(w)에 대응되는 식별값(R) 및 헬퍼 문자열(P)을 생성하기 위한 명령;
랜덤 문자열(R')을 생성하고, 상기 식별값(R) 및 상기 랜덤 문자열(R')로부터 비밀키(sk)를 생성하기 위한 명령;
상기 비밀키(sk)에 대응되는 공개키(pk)를 생성하기 위한 명령; 및
상기 랜덤 문자열(R')을 상기 비밀키(sk) 대신 저장하기 위한 명령을 포함하는, 컴퓨팅 장치.
One or more processors;
Memory; And
Contains one or more programs,
The one or more programs are stored in the memory and configured to be executed by the one or more processors,
The one or more programs,
Instructions for receiving biometric information w of a user;
Instructions for generating an identification value (R) and a helper string (P) corresponding to the biometric information (w) using a fuzzy extractor;
Generating a random string (R ') and generating a secret key (sk) from the identification value (R) and the random string (R');
Instructions for generating a public key (pk) corresponding to the secret key (sk); And
And storing the random string (R ') instead of the secret key (sk).
청구항 12에 있어서,
상기 식별값(R) 및 헬퍼 문자열(P)을 생성하기 위한 명령은, 입력된 상기 생체 정보(w)를 삭제하기 위한 명령을 더 포함하는, 컴퓨팅 장치.
The method according to claim 12,
And the command for generating the identification value (R) and the helper string (P) further comprises a command for deleting the input biometric information (w).
청구항 12에 있어서,
상기 랜덤 문자열(R')의 길이는 상기 식별값보다 크거나 같도록 구성되는, 컴퓨팅 장치.
The method according to claim 12,
And the length of the random string R 'is greater than or equal to the identification value.
청구항 12에 있어서,
상기 비밀키는 상기 식별값(R) 및 상기 랜덤 문자열(R')을 XOR(eXclusive OR) 연산함으로써 생성되는, 컴퓨팅 장치.
The method according to claim 12,
And the secret key is generated by performing an XOR (eXclusive OR) operation on the identification value (R) and the random string (R ').
청구항 12에 있어서,
상기 저장하기 위한 명령의 수행 이후,
상기 사용자의 생체 정보(w')를 재입력 받기 위한 명령;
상기 재입력된 생체 정보(w') 및 상기 헬퍼 문자열(P)을 이용하여 상기 식별값(R)을 복원하기 위한 명령; 및
상기 복원된 식별값(R) 및 기 저장된 랜덤 문자열(R')을 이용하여 상기 비밀키(sk)를 재생성하기 위한 명령을 더 포함하는, 컴퓨팅 장치.
The method according to claim 12,
After the execution of the command to save,
Instructions for re-input of the user's biometric information (w ');
Instructions for restoring the identification value (R) using the re-entered biometric information (w ') and the helper string (P); And
And regenerating the secret key (sk) using the restored identification value (R) and a pre-stored random string (R ').
청구항 12에 있어서,
상기 랜덤 문자열(R')은 상기 컴퓨팅 장치에 구비된 물리적 복제 불가능 함수(Physical Unclonable Function, PUF)에 의하여 생성되는, 컴퓨팅 장치.
The method according to claim 12,
The random string (R ') is generated by a Physical Unclonable Function (PUF) provided in the computing device.
하나 이상의 프로세서들;
메모리; 및
하나 이상의 프로그램들을 포함하고,
상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며,
상기 하나 이상의 프로그램들은,
인증 서버로부터 사용자의 아이디에 대응되는 비밀키(skid)를 수신하기 위한 명령;
상기 사용자의 생체 정보(w)를 입력받기 위한 명령;
퍼지 추출기(Fuzzy Extractor)를 이용하여, 상기 생체 정보(w)에 대응되는 식별값(R) 및 헬퍼 문자열(P)을 생성하기 위한 명령;
상기 비밀키(skid) 및 상기 식별값(R)으로부터 저장값(R')을 계산하기 위한 명령; 및
상기 저장값(R')을 상기 비밀키(skid) 대신 저장하기 위한 명령을 포함하는, 컴퓨팅 장치.
One or more processors;
Memory; And
Contains one or more programs,
The one or more programs are stored in the memory and configured to be executed by the one or more processors,
The one or more programs,
Receiving a secret key (sk id ) corresponding to the user's ID from the authentication server;
Instructions for receiving biometric information (w) of the user;
Instructions for generating an identification value (R) and a helper string (P) corresponding to the biometric information (w) using a fuzzy extractor;
Calculating a stored value (R ') from said secret key (sk id ) and said identification value (R); And
And storing the stored value (R ') instead of the secret key (sk id ).
청구항 18에 있어서,
상기 식별값(R) 및 헬퍼 문자열(P)을 생성하기 위한 명령은, 입력된 상기 생체 정보(w)를 삭제하기 위한 명령을 더 포함하는, 컴퓨팅 장치.
The method according to claim 18,
And the command for generating the identification value (R) and the helper string (P) further comprises a command for deleting the input biometric information (w).
청구항 18에 있어서,
상기 저장값(R')은 상기 비밀키(skid) 및 상기 식별값(R)을 XOR(eXclusive OR) 연산함으로써 생성되는, 컴퓨팅 장치.
The method according to claim 18,
And said stored value (R ') is generated by performing an eXclusive OR (XOR) operation on said secret key (sk id ) and said identification value (R).
청구항 18에 있어서,
상기 저장하기 위한 명령의 수행 이후,
상기 사용자의 생체 정보(w')를 재입력 받기 위한 명령;
상기 재입력된 생체 정보(w') 및 상기 헬퍼 문자열(P)을 이용하여 상기 식별값(R)을 복원하기 위한 명령; 및
상기 복원된 식별값(R) 및 기 저장된 저장값(R')을 이용하여 상기 비밀키(skid)를 재생성하기 위한 명령을 더 포함하는, 컴퓨팅 장치.
The method according to claim 18,
After the execution of the command to save,
Instructions for re-input of the user's biometric information (w ');
Instructions for restoring the identification value (R) using the re-entered biometric information (w ') and the helper string (P); And
And regenerating the secret key (sk id ) using the restored identification value (R) and the previously stored stored value (R ').
청구항 21에 있어서,
상기 비밀키(skid)는 상기 식별값(R) 및 상기 저장값(R')을 XOR(eXclusive OR) 연산함으로써 생성되는, 컴퓨팅 장치.
The method according to claim 21,
And the secret key (sk id ) is generated by performing an XOR (eXclusive OR) operation on the identification value (R) and the stored value (R ′).
KR1020170171006A 2017-12-13 2017-12-13 Apparatus and method for generating cryptographic key using biometric information KR102035249B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170171006A KR102035249B1 (en) 2017-12-13 2017-12-13 Apparatus and method for generating cryptographic key using biometric information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170171006A KR102035249B1 (en) 2017-12-13 2017-12-13 Apparatus and method for generating cryptographic key using biometric information

Publications (2)

Publication Number Publication Date
KR20190070472A KR20190070472A (en) 2019-06-21
KR102035249B1 true KR102035249B1 (en) 2019-10-22

Family

ID=67056566

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170171006A KR102035249B1 (en) 2017-12-13 2017-12-13 Apparatus and method for generating cryptographic key using biometric information

Country Status (1)

Country Link
KR (1) KR102035249B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110677254B (en) * 2019-09-20 2022-06-10 广州城市职业学院 Ultra-lightweight RFID authentication method
KR102236242B1 (en) * 2019-10-25 2021-04-06 주식회사 크립토랩 Method for Generating Public Value Using Fuzzy Extractor and Generating Secret Key Using the same Public Value and Second Input
KR20210152854A (en) * 2020-06-09 2021-12-16 삼성전자주식회사 Method and apparatus for performing authentication and recording medium thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016105728A1 (en) 2014-12-23 2016-06-30 Intel Corporation Method and system for providing secure and standalone-operable biometric authentication
WO2017075063A1 (en) 2015-10-26 2017-05-04 Visa International Service Association Wireless biometric authentication system and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101178855B1 (en) * 2010-05-03 2012-09-03 남궁종 Method and apparatus for iris recognition and wireless communications devic security system using it
KR101745706B1 (en) 2015-12-18 2017-06-09 주식회사 케이티 Apparatus and method for authentication based on biometric information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016105728A1 (en) 2014-12-23 2016-06-30 Intel Corporation Method and system for providing secure and standalone-operable biometric authentication
WO2017075063A1 (en) 2015-10-26 2017-05-04 Visa International Service Association Wireless biometric authentication system and method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Security Improvement on Biometric Based Authentication Scheme for Wireless Sensor Networks Using Fuzzy Extraction(Youngsung CHOI 외 2명, 2016년)*
보안성이 향상된 퍼지추출 기술 기반 사용자 인증 및 키 동의 스킴(최윤성, 원동호, 2016년6월)*

Also Published As

Publication number Publication date
KR20190070472A (en) 2019-06-21

Similar Documents

Publication Publication Date Title
US11108546B2 (en) Biometric verification of a blockchain database transaction contributor
US20220191012A1 (en) Methods For Splitting and Recovering Key, Program Product, Storage Medium, and System
US10680808B2 (en) 1:N biometric authentication, encryption, signature system
US9935947B1 (en) Secure and reliable protection and matching of biometric templates across multiple devices using secret sharing
US9646161B2 (en) Relational database fingerprinting method and system
US11227037B2 (en) Computer system, verification method of confidential information, and computer
US10425232B2 (en) Encrypted biometric registration
KR102284396B1 (en) Method for generating pki keys based on bioinformation on blockchain network and device for using them
KR102035249B1 (en) Apparatus and method for generating cryptographic key using biometric information
KR101586439B1 (en) User data integrity verification method and apparatus capable of guaranteeing privacy
KR101593675B1 (en) User data integrity verification method and apparatus
KR101903246B1 (en) Method and system for creating encryption key based on face image
US11528134B2 (en) Authentication using transformation verification
KR102068041B1 (en) Appratus and method of user authentication and digital signature using user&#39;s biometrics
JP6933290B2 (en) Secret calculation device, secret calculation authentication system, secret calculation method, and program
KR102424873B1 (en) System and method for multi-factor authentication using password and behavior pattern
KR102658914B1 (en) Method and apparatus for user authentication
KR102122773B1 (en) System and method for providng redactable signature with recovery functionality
KR102289478B1 (en) System and method for providing electronic signature service
KR101984033B1 (en) Apparatus and method for generating cryptographic key using biometric information
WO2022162884A1 (en) Biometric authentication system, template update method therefor, recoding medium, biometric authentication client device, and biometric authentication server device
JP7320101B2 (en) Computer system, server, terminal, program, and information processing method
JP7061083B2 (en) Signature system, signature method and program
KR102005946B1 (en) System and method for providng anonymous identity-based signature using homomorphic encryption
JP2023031772A (en) Biometric authentication system, biometric authentication server, and biometric authentication method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant