KR102210620B1 - Method for Storing Secret Information in Server and Restoring it in Client Terminal - Google Patents

Method for Storing Secret Information in Server and Restoring it in Client Terminal Download PDF

Info

Publication number
KR102210620B1
KR102210620B1 KR1020180165772A KR20180165772A KR102210620B1 KR 102210620 B1 KR102210620 B1 KR 102210620B1 KR 1020180165772 A KR1020180165772 A KR 1020180165772A KR 20180165772 A KR20180165772 A KR 20180165772A KR 102210620 B1 KR102210620 B1 KR 102210620B1
Authority
KR
South Korea
Prior art keywords
information
user terminal
server
template
function
Prior art date
Application number
KR1020180165772A
Other languages
Korean (ko)
Other versions
KR20200076861A (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 KR1020180165772A priority Critical patent/KR102210620B1/en
Priority to PCT/KR2019/012444 priority patent/WO2020130297A1/en
Publication of KR20200076861A publication Critical patent/KR20200076861A/en
Application granted granted Critical
Publication of KR102210620B1 publication Critical patent/KR102210620B1/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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • 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/3236Cryptographic 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 cryptographic hash functions

Abstract

본 발명에 의한 서버에의 비밀 정보 저장 방법은, 생체 정보 인식 장치와, 사용자 단말기와, 서버를 포함하는 환경에서 수행되며, 상기 방법은 생체 정보 인식 장치가 인식한 생체 정보의 템플릿을 사용자 단말기가 획득하는 제1 단계와; 사용자 단말기가, 사용자가 입력한 1차 인증 정보에 기초하여 식별 정보를 생성하는 제2 단계와; 사용자 단말기가, 함수 암호키를 생성하는 제3 단계와; 사용자 단말기가, 비밀 정보를 암호화하는 암호키를 생성하는 제4 단계와; 사용자 단말기가, 함수 암호키로 템플릿을 암호화하는 제5 단계와; 사용자 단말기가, 암호키로 비밀 정보를 암호화하는 제6 단계와; 사용자 단말기가, 식별 정보와, 함수 암호화된 템플릿과, 암호화된 비밀 정보를 서버로 전송하는 제7 단계와; 사용자 단말기가, 함수 암호화된 템플릿과, 비밀 정보와, 함수 암호키를 저장하는 제8 단계를 포함한다.The method of storing secret information in a server according to the present invention is performed in an environment including a biometric information recognition device, a user terminal, and a server, and the method includes a template of the biometric information recognized by the biometric information recognition device. A first step of obtaining; A second step of generating, by the user terminal, identification information based on primary authentication information input by the user; A third step of the user terminal generating a function encryption key; A fourth step of generating, by the user terminal, an encryption key for encrypting secret information; A fifth step of encrypting, by the user terminal, the template with a function encryption key; A sixth step of encrypting, by the user terminal, secret information with an encryption key; A seventh step of transmitting, by the user terminal, identification information, a function-encrypted template, and encrypted secret information to a server; The user terminal includes an eighth step of storing the function-encrypted template, secret information, and the function encryption key.

Description

서버에의 비밀 정보 저장 방법 및 복구 방법{Method for Storing Secret Information in Server and Restoring it in Client Terminal}Method for Storing Secret Information in Server and Restoring it in Client Terminal}

본 발명은 서버에 비밀 정보를 저장하는 방법 및 그 복구 방법에 대한 것이다.The present invention relates to a method of storing secret information in a server and a method of recovering the same.

비밀 정보를 사용자측의 클라이언트 단말기에 저장하여 사용할 수 있는데, 비밀 정보 분실시 복구를 위해 원격의 서버에 저장할 수 있다. 이렇게 저장되는 비밀 정보는 서버 운영자도 획득할 수 없도록 안전하게 저장되는 것이 중요하다. 예를 들어 전자지갑에서 사용하는 비밀키(private key)를 클라이언트 단말기(사용자 단말기)에 저장할 수 있는데 이 경우 사용자 단말기에 문제가 생겨서 비밀키가 삭제되거나 사용자 단말기를 분실하는 등의 경우에 비밀키(비밀 정보)의 복구가 불가능한 단점이 있다. 비밀 정보의 보안성을 높이기 위해 예를 들어 많은 자리수로 설정하거나 유추할 수 없도록 비밀 번호(키워드) 등을 매우 복잡하게 설정하는 경우가 있는데 그 비밀 번호(키워드)를 잊어버리거나 분실하는 경우에는 아예 복구 자체가 원천적으로 불가능해진다.Secret information can be stored and used in the client terminal of the user, and can be stored in a remote server for recovery when the secret information is lost. It is important that the secret information stored in this way is stored securely so that even the server operator cannot obtain it. For example, a private key used in an electronic wallet can be stored in a client terminal (user terminal). In this case, in the case of a problem with the user terminal, the private key is deleted or the user terminal is lost, the private key ( There is a disadvantage that it is impossible to recover secret information). In order to increase the security of secret information, for example, it is set to a large number of digits or the password (keyword) is set very complicated so that it cannot be inferred.If the password (keyword) is forgotten or lost, it is completely recovered. It itself becomes essentially impossible.

그러한 문제를 해결하기 위해서 서버에 비밀키 등 비밀 정보를 저장하는 방법이 있는데 그 경우 비밀 정보의 유출의 문제가 있다.In order to solve such a problem, there is a method of storing secret information such as a secret key in the server, in which case there is a problem of leakage of secret information.

단순한 ID/PW 입력을 통한 인증으로 서버에 비밀 정보를 저장하거나 복구할 수 있게 하면 보안상 여러 문제를 동반하기 때문에 생체 정보에 매칭을 시켜서 비밀 정보를 서버에 저장하는 것을 고려할 수 있다.If it is possible to store or recover secret information in the server by authentication through simple ID/PW input, it is possible to consider storing the secret information in the server by matching the biometric information because there are many security problems.

이 경우 사용자의 생체 정보를 인증해서 비밀 정보를 저장하거나, 사용자 단말기에 복구한다. 그런데 생체 정보는 매우 민감한 정보이고 누출되는 경우 변경이 불가능한 정보이기 때문에 암호화하여 처리되는 것이 바람직하다. 그런데 비밀 정보의 저장이나 복구를 위해서 생체 정보를 인증할 때 생체 정보를 복호화해서 대비해야 하는데 그 복호화 과정에서 생체 정보의 유출 위험이 증가한다. 그리고 생체 정보를 대비하기 위해서 사용자를 특정해야 하는데, 사용자 특정을 위한 인증 정보를 사용자 고유 정보 예를 들어 주민등록번호 등으로 하면 민감한 고유 정보 및/또는 고유 정보에 매칭되어 저장되어 있는 생체 정보가 한꺼번에 유출될 위험이 있다.In this case, the user's biometric information is authenticated and the secret information is stored or restored to the user terminal. However, since biometric information is very sensitive information and cannot be changed when leaked, it is desirable to be encrypted and processed. However, when biometric information is authenticated for storing or restoring secret information, biometric information must be decrypted and prepared, but the risk of leakage of biometric information increases during the decryption process. In addition, in order to prepare for biometric information, a user must be specified.If the authentication information for user identification is used as user-specific information, for example, a social security number, the biometric information that is matched with sensitive and/or unique information and stored will be leaked at once There is a risk.

생체 정보를 이용한 인증의 예로 2013년 7월 16일에 등록공고된 한국특허 제10-1284481호가 있는데, 이 선행기술에는 홍채 정보를 이용하여 일회용 비밀번호를 생성하고 그 일회용 비밀번호로 인증을 수행하는 과정이 개시되어 있을 뿐 생체 정보를 이용한 비밀 정보 저장 방법과는 거리가 있다.An example of authentication using biometric information is Korean Patent No. 10-1284481, registered on July 16, 2013. In this prior art, the process of generating a one-time password using iris information and performing authentication with the one-time password It has been disclosed but is far from a method of storing secret information using biometric information.

본 발명은, 비밀 정보를 서버에 저장하고 사용자 단말기에 복구할 때에 이용 편의성과 보안성이 고양되고 인증 속도도 빠른 비밀 정보 저장 방법과 복구 방법을 제공하는 것을 목적으로 한다.An object of the present invention is to provide a method for storing and restoring secret information in a server and in a user terminal when the confidential information is stored and restored in a user terminal.

본 발명에 의한 서버에의 비밀 정보 저장 방법은, 생체 정보 인식 장치와, 사용자 단말기와, 서버를 포함하는 환경에서 수행되며, 상기 방법은 생체 정보 인식 장치가 인식한 생체 정보의 템플릿을 사용자 단말기가 획득하는 제1 단계와; 사용자 단말기가, 사용자가 입력한 1차 인증 정보에 기초하여 식별 정보를 생성하는 제2 단계와; 사용자 단말기가, 함수 암호키를 생성하는 제3 단계와; 사용자 단말기가, 비밀 정보를 암호화하는 암호키를 생성하는 제4 단계와; 사용자 단말기가, 함수 암호키로 템플릿을 암호화하는 제5 단계와; 사용자 단말기가, 암호키로 비밀 정보를 암호화하는 제6 단계와; 사용자 단말기가, 식별 정보와, 함수 암호화된 템플릿과, 암호화된 비밀 정보를 서버로 전송하는 제7 단계와; 사용자 단말기가, 함수 암호화된 템플릿과, 비밀 정보와, 함수 암호키를 저장하는 제8 단계를 포함한다.The method of storing secret information in a server according to the present invention is performed in an environment including a biometric information recognition device, a user terminal, and a server, and the method includes a template of the biometric information recognized by the biometric information recognition device. A first step of obtaining; A second step of generating, by the user terminal, identification information based on primary authentication information input by the user; A third step of the user terminal generating a function encryption key; A fourth step of generating, by the user terminal, an encryption key for encrypting secret information; A fifth step of encrypting, by the user terminal, the template with a function encryption key; A sixth step of encrypting, by the user terminal, secret information with an encryption key; A seventh step of transmitting, by the user terminal, identification information, a function-encrypted template, and encrypted secret information to a server; The user terminal includes an eighth step of storing the function-encrypted template, secret information, and the function encryption key.

제2 단계에서, 식별 정보는 1차 인증정보를 n번 해쉬한 값의 적어도 일부분을 포함하도록 생성될 수 있다.In the second step, the identification information may be generated to include at least a portion of a value obtained by hashing the primary authentication information n times.

제3 단계에서, 함수 암호키는 1차 인증정보에 기초하여 생성될 수 있다.In the third step, the function encryption key may be generated based on the primary authentication information.

함수 암호키는 1차 인증 정보를 m번 해쉬한 값의 적어도 일부분을 포함하도록 생성될 수 있다.The function encryption key may be generated to include at least a portion of a value obtained by hashing the primary authentication information m times.

제4 단계에서, 암호키는 1차 인증정보에 기초하여 생성될 수 있다.In the fourth step, the encryption key may be generated based on the primary authentication information.

암호키는 1차 인증 정보를 l번 해쉬한 값의 적어도 일부분을 포함하도록 생성될 수 있다.The encryption key may be generated to include at least a portion of a value obtained by hashing the primary authentication information l times.

본 발명에 의한 서버에의 비밀 정보 저장 방법은, 사용자로부터 2차 인증정보를 입력받는 제4-1 단계를 더 포함할 수 있으며, 암호키는 1차 인증정보를 l번 해쉬한 값 및 2차 인증정보를 h번 해쉬한 값을 병합한 값의 적어도 일부분을 포함하도록 생성될 수 있다.The method for storing secret information in the server according to the present invention may further include a 4-1 step of receiving the second authentication information from the user, and the encryption key is a value obtained by hashing the first authentication information l times and the second It may be generated to include at least a portion of a value obtained by merging a value obtained by hashing the authentication information h times.

본 발명에 의해 서버에 비밀 정보가 저장된 후 비밀 정보를 사용자 단말기에 복구하는 비밀 정보 복구 방법은, 사용자 단말기가 사용자로부터 1차 인증 정보를 입력받는 제9 단계와; 사용자 단말기가 생체 정보 인식 장치로부터 전달된 생체 정보의 템플릿을 획득하는 제10 단계와; 사용자 단말기가 1차 인증 정보에 기초하여 생성한 식별 정보를 서버로 전달하여, 서버가 해당 식별 정보에 대응하여 저장되어 있는 함수 암호화된 템플릿을 검색하도록 하는 제11 단계와; 사용자 단말기가 함수 암호키를 생성하고 함수 암호키로 템플릿을 함수 암호화하는 제12 단계와; 사용자 단말기가, 함수 암호화된 템플릿을 서버로 전송하여 서버가 제11 단계에서 검색된 함수 암호화된 템플릿과 제12 단계에서 수신한 함수 암호화된 템플릿을 대비하여 일치하는 템플릿을 찾도록 하는 제13 단계와; 사용자 단말기가, 서버가 제13 단계에서 찾은 템플릿에 대응하는 암호화된 비밀 정보를 서버로부터 수신하는 제14 단계와; 사용자 단말기가, 비밀 정보의 암호키를 생성하고 제14 단계에서 수신한 암호화된 비밀 정보를 복호화하여 저장하는 제15 단계를 포함한다.According to the present invention, a method of recovering secret information to a user terminal after the secret information is stored in a server comprises: a ninth step in which the user terminal receives primary authentication information from the user; A tenth step of obtaining, by the user terminal, a template of the biometric information transmitted from the biometric information recognition device; An eleventh step of transmitting the identification information generated by the user terminal based on the primary authentication information to the server, so that the server searches for a function-encrypted template stored in correspondence with the identification information; A twelfth step of generating, by the user terminal, a function encryption key and function encryption of the template with the function encryption key; A thirteenth step of allowing the user terminal to transmit the function-encrypted template to the server so that the server compares the function-encrypted template retrieved in step 11 with the function-encrypted template received in step 12 to find a matching template; A 14th step of the user terminal receiving encrypted secret information corresponding to the template found in step 13 by the server from the server; And a fifteenth step of generating, by the user terminal, an encryption key for the secret information, and decrypting and storing the encrypted secret information received in the 14th step.

본 발명에 의한 컴퓨터 판독 가능 기록 매체에 저장된 프로그램은, 사용자 단말기에, 생체 정보 인식 장치가 인식한 생체 정보의 템플릿을 사용자 단말기가 획득하는 제1 단계와; 사용자가 입력한 1차 인증 정보에 기초하여 식별 정보를 생성하는 제2 단계와; 함수 암호키를 생성하는 제3 단계와; 암호키를 생성하는 제4 단계와; 함수 암호키로 템플릿을 암호화하는 제5 단계와; 암호키로 비밀 정보를 암호화하는 제6 단계와; 식별 정보와, 함수 암호화된 템플릿과, 암호화된 비밀 정보를 서버로 전송하는 제7 단계와; 함수 암호화된 템플릿과, 비밀 정보와, 함수 암호키를 저장하는 제8 단계를 실행시킨다.The program stored in the computer-readable recording medium according to the present invention includes, in the user terminal, a first step of acquiring, by the user terminal, a template of biometric information recognized by the biometric information recognition apparatus; A second step of generating identification information based on the primary authentication information input by the user; A third step of generating a function encryption key; A fourth step of generating an encryption key; A fifth step of encrypting the template with the function encryption key; A sixth step of encrypting secret information with an encryption key; A seventh step of transmitting identification information, function-encrypted template, and encrypted secret information to a server; An eighth step of storing the function-encrypted template, secret information, and function encryption key is executed.

본 발명에 의해 서버에 저장된 비밀 정보 복구 프로그램은, 사용자로부터 1차 인증 정보를 입력받는 제9 단계와; 생체 정보 인식 장치로부터 전달된 생체 정보의 템플릿을 획득하는 제10 단계와; 1차 인증 정보에 기초하여 생성한 식별 정보를 서버로 전달하여, 서버가 해당 식별 정보에 대응하여 저장되어 있는 함수 암호화된 템플릿을 검색하도록 하는 제11 단계와; 함수 암호키를 생성하고 함수 암호키로 템플릿을 함수 암호화하는 제12 단계와; 함수 암호화된 템플릿을 서버로 전송하여 서버가 제11 단계에서 검색된 함수 암호화된 템플릿과 제12 단계에서 수신한 함수 암호화된 템플릿을 대비하여 일치하는 템플릿을 찾도록 하는 제13 단계와; 서버가 제13 단계에서 찾은 템플릿에 대응하는 암호화된 비밀 정보를 서버로부터 수신하는 제14 단계와; 암호키를 생성하고 제14 단계에서 수신한 암호화된 비밀 정보를 복호화하여 저장하는 제15 단계를 실행시키며 컴퓨터 판독 가능 기록 가능 매체에 저장된다.The secret information recovery program stored in the server according to the present invention comprises: a ninth step of receiving primary authentication information from a user; A tenth step of obtaining a template of the biometric information transmitted from the biometric information recognition device; An eleventh step of transmitting the identification information generated based on the primary authentication information to the server, so that the server searches for a function-encrypted template stored in correspondence with the identification information; A twelfth step of generating a function encryption key and function encrypting the template with the function encryption key; A thirteenth step of transmitting the function-encrypted template to the server so that the server compares the function-encrypted template retrieved in step 11 with the function-encrypted template received in step 12 to find a matching template; A 14th step of the server receiving encrypted secret information corresponding to the template found in the 13th step from the server; A fifteenth step of generating an encryption key and decrypting and storing the encrypted secret information received in step 14 is executed, and is stored in a computer-readable recording medium.

본 발명에 의하면, 사용자의 고유한 개인 정보와 생체 정보를 매칭시키지 않기 때문에 해당 생체 정보가 누구의 것인지 쉽게 특정할 수 없어서 보안성이 고양되며, 생체 정보 템플릿을 함수 암호화하여 서버에 저장함으로써 생체 정보의 유출 위험없이 암호화된 비밀 정보와 매칭시켜서 저장할 수 있으므로의 분실시에 안전하게 복구할 수 있는 작용효과가 있다.According to the present invention, since biometric information is not matched with the user's unique personal information, it is not possible to easily specify who owns the biometric information, and thus security is enhanced. By function encryption of the biometric information template and storing it in the server, biometric information There is an effect that can be safely restored in case of loss because it can be stored by matching encrypted secret information without the risk of leakage of data.

도 1은 본 발명에 의한 서버에의 비밀 정보 저장 방법의 흐름도.
도 2는 본 발명에 의해 서버에 저장된 비밀 정보를 사용자 단말기에 복구하는 방법의 흐름도.
1 is a flowchart of a method for storing secret information in a server according to the present invention.
2 is a flowchart of a method of recovering secret information stored in a server to a user terminal according to the present invention.

이하에서는 첨부 도면을 참조하여 본 발명에 대해서 자세하게 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

본 명세서에서 수행되는 정보(데이터) 전송/수신 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, A로부터 B까지 직접 전송(전달) 또는 수신되는 것 만을 표현하는 것은 아니다. 본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행 단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 “A 또는 B”은 A와 B 중 어느 하나를 선택적으로 가리키는 것뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.Encryption/decryption may be applied to the information (data) transmission/reception process performed in this specification as needed, and expressions describing the information (data) transmission process in this specification and claims are all encrypted/ It should be interpreted as including the case of decryption. In the present specification, expressions in the form of "transmitted from A to B (transfer)" or "received from A by B" include those transmitted (transmitted) or received with another medium in the middle, and directly from A to B It does not just express what is transmitted (delivered) or received. In the description of the present invention, the order of each step should be understood without limitation, unless the preceding step must be performed logically and temporally prior to the subsequent step. That is, except for the above exceptional cases, even if the process described as a subsequent step is performed prior to the process described as a preceding step, the essence of the invention is not affected, and the scope of rights should be defined regardless of the order of the steps. And in the present specification, "A or B" is defined to mean not only selectively indicating any one of A and B, but also including both A and B. In addition, in the present specification, the term "comprising" has the meaning of encompassing further including other components in addition to the elements listed as including.

본 명세서에서는 본 발명의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 필수적이지 않은 특정 구성요소를 배제하거나 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.In this specification, only essential components necessary for the description of the present invention are described, and components not related to the essence of the present invention are not mentioned. In addition, it should not be interpreted as an exclusive meaning including only the mentioned components, but should be interpreted as a non-exclusive meaning that may exclude certain non-essential components or include other components.

본 발명은 전자적 연산이 가능한 컴퓨터 등의 전자적 연산 장치에 의해서 수행되며, 후술하는 본 발명의 각 단계의 수학적 연산 및 산출은 해당 연산 또는 산출을 하기 위해 공지되어 있는 코딩 방법 및/또는 본 발명에 적합하게 고안된 코딩에 의해서 컴퓨터 연산으로 구현될 수 있다.The present invention is performed by an electronic computing device such as a computer capable of electronic calculation, and the mathematical calculation and calculation of each step of the present invention to be described later is a known coding method and/or suitable for the present invention for performing the corresponding calculation or calculation. It can be implemented as a computer operation by a coding designed in a way.

본 명세서에서 특정값에 대해 암호화 또는 해쉬 등과 같은 연산을 하여 소정의 값을 획득한다는 의미는 해당 특정값 뿐만 아니라 해당 특정값의 변형값(예를 들어, 특정값에 소정의 값을 추가로 연산하거나 소정의 규칙에 따라서 해당 특정값을 변화시키는 등의 과정을 통해서 산출된 다른 값)에 대한 암호화 또는 해쉬 등의 연산도 포함하는 것으로 정의된다.In the present specification, the meaning of obtaining a predetermined value by performing an operation such as encryption or hashing on a specific value means not only the corresponding specific value, but also a modified value of the specific value (for example, a predetermined value is additionally calculated or It is defined as including an operation such as encryption or hash for another value calculated through a process such as changing a corresponding specific value according to a predetermined rule.

도 1에 도시된 바와 같이 본 발명에 의한 방법은, 생체 정보 인식 장치(10)와, 연산 및 통신 장치(20)와, 서버(30)를 포함하는 환경에서 수행된다. 사용자 단말기(10)는 생체 정보 인식 장치(10)와 연산 및 통신 장치(20)를 포함할 수 있다. 사용자 단말기(10)는 전자적 연산이 가능한 중앙 처리 장치(CPU)와, 통신망을 통해서 서버(30)와 데이터 통신이 가능한 전자 장치로서 예를 들어, 스마트폰, 태블릿 PC, 데스크탑 PC, 노트북 컴퓨터 등을 포함할 수 있다. 도 1에서는 사용자 단말기(40)가 생체 정보 인식 장치(10)와 연산 및 통신 장치(20)를 포함하는 것으로 도시되어 있지만, 생체 정보 인식 장치(10)는 사용자 단말기(40)와 분리된 별개의 장치로 구성할 수도 있다. 도시되지 않았지만 사용자 단말기(40)와 서버(30)는 저장소를 더 포함할 수 있다.As shown in FIG. 1, the method according to the present invention is performed in an environment including a biometric information recognition device 10, an operation and communication device 20, and a server 30. The user terminal 10 may include a biometric information recognition device 10 and an operation and communication device 20. The user terminal 10 is an electronic device capable of data communication with a central processing unit (CPU) capable of electronic operation and a server 30 through a communication network, for example, a smartphone, a tablet PC, a desktop PC, a notebook computer, etc. Can include. In FIG. 1, the user terminal 40 is shown to include a biometric information recognition device 10 and an operation and communication device 20, but the biometric information recognition device 10 is a separate device separated from the user terminal 40. It can also be configured as a device. Although not shown, the user terminal 40 and the server 30 may further include storage.

본 명세서에서 생체 정보라 함은, 홍채 정보, 지문 정보, 정맥 정보, 목소리 정보, 안면 정보 등 사용자별로 고유하게 보유하는 신체 정보를 포함한다. In the present specification, the biometric information includes body information uniquely held for each user, such as iris information, fingerprint information, vein information, voice information, and facial information.

본 발명에 의한 비밀 정보 저장 및 복구 방법은, 사용자 단말기(40)와 서버(30)의 기록 매체에 저장된 컴퓨터 실행 가능 프로그램에 의해서 수행된다. 사용자 단말기(40)의 연산 및 통신 장치(20)가 컴퓨터 실행 가능 프로그램을 실행한다.The method of storing and restoring secret information according to the present invention is performed by a computer executable program stored in a recording medium of the user terminal 40 and the server 30. The computing and communication device 20 of the user terminal 40 executes a computer executable program.

도 1을 참조하여 본 발명에 의한, 비밀 정보를 서버(30)에 저장하는 방법에 대해서 설명한다.A method of storing secret information in the server 30 according to the present invention will be described with reference to FIG. 1.

사용자는 생체 정보 인식 장치(10)에 의해 생체 정보를 획득하고(단계 100), 획득한 생체 정보의 템플릿(template)을 추출해서 연산 및 통신 장치(20)가 그 탬플릿을 획득한다(단계 105). 템플릿은, 인식된 생체 정보에 기반하여 생성된, 생체 정보 인증을 위해 디지털화된 정보를 의미한다.The user acquires biometric information by the biometric information recognition device 10 (step 100), extracts a template of the obtained biometric information, and the computation and communication device 20 obtains the template (step 105). . The template refers to information that is digitized for biometric information authentication, which is generated based on the recognized biometric information.

사용자는 사용자 단말기(40)에 1차 인증 정보를 입력한다(단계 110). 본 명세서에서 1차 인증 정보라 함은, 사용자를 특정하기 위해 사용하는 정보로서 예를 들어 4자리 비밀 번호가 될 수 있다. 중복되는 1차 인증 정보를 피하기 위해 보다 더 사용자를 식별할 수 있는 고유 정보를 1차 인증 정보로 설정할 수도 있다. 예를 들어 이름과 4자리수 비밀번호를 조합하거나 주민등록번호, 휴대폰 번호 등을 포함하는 1차 인증 정보를 사용할 수도 있다. 다만, 그러한 경우 사용자를 특정할 수 있는 정보가 되기 때문에 1차 인증 정보의 유출시에 생체 정보와 매칭되어 있는 사용자가 특정될 수도 있는 등 여러면에서 보안성이 낮아질 수 있다. 그리고 1차 인증 정보로 사용자가 쉽게 기억할 수 있는 정보 예를 들어 본인의 생년월일이나 가족의 생년월일, 특정 기념일을 표시하는 숫자 등으로 설정하면 추후에 비밀 정보 복구시에 그 1차 인증 정보를 분실하거나 기억나지 않는 것을 미연에 방지할 수 있는 효과가 있다. 그렇게 사용자가 쉽게 기억할 수 있는 정보를 1차 인증 정보로 사용한다고 하더라도 서버(30)에 전달되는 식별 정보는 1차 인증 정보를 유추할 수 없도록 생성되며 사용자 생체 정보와 연관되어 저장되기 때문에 보안상 문제가 발생하지 않는다.The user inputs primary authentication information into the user terminal 40 (step 110). In this specification, the primary authentication information is information used to identify a user, and may be, for example, a 4-digit password. In order to avoid redundant primary authentication information, unique information that can further identify a user may be set as the primary authentication information. For example, it is possible to combine a name and a 4-digit password, or use primary authentication information including a resident registration number and mobile phone number. However, in such a case, since the information is capable of specifying a user, security may be degraded in various ways, such as a user matching biometric information may be specified when the primary authentication information is leaked. In addition, if the primary authentication information is set to information that can be easily memorized by the user, for example, the date of birth of the person, the date of birth of the family, or a number indicating a specific anniversary, the primary authentication information will be lost or memorized when recovering secret information later. There is an effect that can prevent in advance what does not appear. Even if information that can be easily memorized by the user is used as the first authentication information, the identification information transmitted to the server 30 is generated so that the first authentication information cannot be inferred and is stored in association with the user's biometric information, which is a security problem. Does not occur.

사용자 단말기(40)는 입력된 1차 인증 정보에 기초하여 식별 정보를 생성한다(단계 115). 이 식별 정보는, 입력된 1차 인증 정보를 n번 해쉬한 값의 적어도 일부분을 포함하도록 생성할 수 있으며, 또는 1차 인증 정보를 시드값으로 하여 생성된 랜덤값으로 생성할 수도 있다. 그 밖에도 1차 인증 정보에 기초하여 생성될 수 있는 방식이라면 어떤 방식도 적용할 수 있다.The user terminal 40 generates identification information based on the input primary authentication information (step 115). This identification information may be generated to include at least a portion of a value obtained by hashing the input primary authentication information n times, or may be generated as a random value generated by using the primary authentication information as a seed value. In addition, any method can be applied as long as it can be generated based on the primary authentication information.

식별 정보는, 비밀 정보를 복구할 때에 서버(30)에 저장된 모든 사용자의 생체 정보들 중에서 빠르게 특정 생체 정보를 식별할 수 있도록 하는 역할을 한다. 우연히 사용자가 입력한 1차 인증 정보가 동일한 경우 동일한 식별 정보가 생성되어서 비밀 정보와 연관된 상태로 서버에 저장되어 있을 수 있지만, 그 확률은 높지 않고 그렇게 저장된 경우가 많지 않기 때문에 함수 암호 연산에 의해서 일치하는 생체 정보를 빠르게 찾을 수 있다.The identification information serves to quickly identify specific biometric information among biometric information of all users stored in the server 30 when recovering secret information. If the primary authentication information entered by the user by chance is the same, the same identification information may be generated and stored in the server in a state associated with the secret information, but the probability is not high and is not often stored as such, so it is matched by function encryption calculation. You can quickly find biometric information.

단계(120)에서 사용자 단말기(40)는, 함수 암호키를 생성한다. 함수 암호키는, 1차 인증 정보에 기초하여 생성될 수 있다. 예를 들어, 1차 인증 정보를 m번 해쉬한 값의 적어도 일부분을 포함하도록 생성될 수 있으며, 또는 1차 인증 정보를 시드값으로 하여 생성된 랜덤값으로 생성할 수도 있다. 그 밖에도 1차 인증 정보에 기초하여 생성될 수 있는 방식이라면 어떤 방식도 적용할 수 있다.In step 120, the user terminal 40 generates a function encryption key. The function encryption key may be generated based on primary authentication information. For example, the primary authentication information may be generated to include at least a portion of a value hashed m times, or may be generated as a random value generated by using the primary authentication information as a seed value. In addition, any method can be applied as long as it can be generated based on the primary authentication information.

함수 암호키는 후술하는 바와 같이 템플릿을 함수 암호화할 때 사용한다. 함수 암호는, 암호문을 복호화하지 않고 암호문들에 소정의 함수 연산을 수행한 결과가, 평문에 대해 상기 연산을 하고 암호화한 값과 동일한 암호 방식으로 동형 암호화로도 지칭된다. 함수 암호키 생성을 1차 인증 정보에 기초하지 않고 다른 정보에 기초하여 생성할 수도 있다. 예를 들어, 1차 인증 정보와 다른 인증 정보에 기초하여 함수 암호키를 생성할 수도 있으며, 생성 방식은 전술한 1차 인증 정보에 기초한 방식과 같이 해쉬를 하거나 랜덤값으로 생성할 수 있다.The function encryption key is used for function encryption of the template as described later. The functional encryption is also referred to as homomorphic encryption in which the result of performing a predetermined function operation on the ciphertext without decrypting the ciphertext is the same encryption method as the value obtained by performing the above operation on the plaintext and encrypted. The function encryption key generation may not be based on the primary authentication information, but may be generated based on other information. For example, a function encryption key may be generated based on authentication information different from the first authentication information, and the generation method may be hashed or generated as a random value, similar to the method based on the aforementioned first authentication information.

사용자 단말기(40)는 단계(125)에서 암호키를 생성한다. 본 명세서에는 "함수 암호키"와 "암호키"를 분리해서 사용하는데, "암호키"는 암호화 방식에 제한이 없는 암호키를 의미하며, "함수 암호키"는 전술한 바와 같이 함수 암호화에 사용하는 암호키를 의미한다.The user terminal 40 generates an encryption key in step 125. In this specification, the "function encryption key" and the "encryption key" are used separately, and the "encryption key" means an encryption key with no restrictions on the encryption method, and the "function encryption key" is used for function encryption as described above. It means an encryption key.

암호키는 1차 인증 정보를 l번 해쉬한 값의 적어도 일부분을 포함하도록 생성할 수 있으며, 또는 1차 인증 정보를 시드값으로 하여 생성된 랜덤값으로 생성할 수도 있다. 그 밖에도 1차 인증 정보에 기초하여 생성될 수 있는 방식이라면 어떤 방식도 적용할 수 있다. 또는 1차 인증 정보가 아닌 다른 정보에 기초하여 암호키를 생성할 수도 있다.The encryption key may be generated to include at least a portion of a value that hashes the first authentication information l times, or may be generated as a random value generated using the first authentication information as a seed value. In addition, any method can be applied as long as it can be generated based on the primary authentication information. Alternatively, the encryption key may be generated based on information other than the primary authentication information.

함수 암호키와 암호키를 1차 인증 정보에 기초하여 해쉬값으로서 생성하는 경우 n≠m≠l 인 것이 바람직하다.When generating the function encryption key and the encryption key as a hash value based on the primary authentication information, it is preferable that n≠m≠l.

함수 암호키나 암호키를 생성할 때에, 1차 인증 정보에 추가로 다른 인증 정보를 사용할 수 있다. 이 경우, 예를 들어 1차 인증 정보를 l번 해쉬한 값과, 다른 인증 정보를 h번 해쉬한 값을 병합하여 산출되는 값의 적어도 일부분을 포함하도록 암호키를 생성할 수 있다. 또는, 1차 인증 정보를 시드값으로 한 랜덤값과 다른 인증 정보를 시드값으로 한 랜덤값에 기초하여 생성할 수도 있으며, 1차 인증 정보와 추가되는 다른 인증 정보에 기초하는 경우라면 어느 방식도 적용할 수 있다.When generating a function encryption key or encryption key, other authentication information can be used in addition to the primary authentication information. In this case, for example, an encryption key may be generated to include at least a part of a value calculated by merging a value obtained by hashing the primary authentication information l times and a value hashing other authentication information h times. Alternatively, it may be generated based on a random value using the primary authentication information as a seed value and a random value using other authentication information as a seed value, and if it is based on the primary authentication information and other additional authentication information, either method Can be applied.

사용자 단말기(40)는 단계(130)에서 함수 암호키로 템플릿을 함수 암호화하고, 단계(135)에서 암호키로 비밀 정보를 암호화한다. 비밀 정보는, 전자 지갑이나 전자 거래에 사용하는 사용자의 비밀키 등이 될 수 있으며, 외부에 유출되어서는 아니되며, 분실시에 복구가 필요한 정보라면 어느 것이든 다 포함할 수 있다.The user terminal 40 functionally encrypts the template with the function encryption key in step 130, and encrypts the secret information with the encryption key in step 135. The secret information may be an electronic wallet or a user's private key used for electronic transactions, and should not be leaked to the outside, and may include any information that needs to be recovered in case of loss.

사용자 단말기(40)는, 식별 정보와, 함수 암호화된 템플릿과, 암호화된 비밀 정보를 서버(30)로 전송한다(단계 140).The user terminal 40 transmits the identification information, the function-encrypted template, and the encrypted secret information to the server 30 (step 140).

서버(30)는 식별 정보와, 함수 암호화된 템플릿과, 암호화된 비밀 정보를 매칭시켜서 저장한다(단계 145).The server 30 matches and stores the identification information, the function-encrypted template, and the encrypted secret information (step 145).

사용자 단말기(40)는, 함수 암호화된 템플릿과, 비밀 정보와, 함수 암호키를 저장한다(단계 150).The user terminal 40 stores a function-encrypted template, secret information, and a function encryption key (step 150).

사용자가 사용자 단말기(40)를 분실하거나 교체해서 사용자 단말기가 바뀌거나, 다른 이유로 비밀 정보를 분실한 경우에는, 서버(30)에 저장되어 있는 비밀 정보를 사용자 단말기(40)에 복구할 수 있다. 도 2를 참조하여 복구 과정에 대해서 설명한다. 사용자 단말기(40)에는 본 발명에 의한 비밀 정보 저장 및 복구에 관한 컴퓨터 실행 가능 프로그램이 설치되어 복구 과정을 실행할 수 있다.When a user loses or replaces the user terminal 40 to change the user terminal or loses the secret information for other reasons, the secret information stored in the server 30 may be restored to the user terminal 40. The recovery process will be described with reference to FIG. 2. A computer executable program for storing and recovering secret information according to the present invention is installed in the user terminal 40 to perform a recovery process.

사용자 단말기(40)는 일단 생체 정보 인식 장치(10)에 의해서 생체 정보를 획득한다(단계 200). 사용자 단말기(40)는 획득한 생체 정보의 템플릿을 획득하고(단계 205), 1차 인증 정보를 입력받는다(단계 210). 단계(215)에서는 단계(115)에서와 같은 방식으로 식별 정보를 생성한다.The user terminal 40 first acquires the biometric information by the biometric information recognition device 10 (step 200). The user terminal 40 obtains a template of the obtained biometric information (step 205), and receives primary authentication information (step 210). In step 215, identification information is generated in the same manner as in step 115.

사용자 단말기(40)는 단계(215)에서 생성된 식별 정보를 서버(30)로 전송한다(단계 220).The user terminal 40 transmits the identification information generated in step 215 to the server 30 (step 220).

서버(30)는, 식별 정보에 대응하는 함수 암호화된 템플릿을 추출한다(단계 225). 예를 들어, 1차 인증 정보를 "1234"와 같은 네자리 번호로 설정한 경우에, 같은 1차 인증 정보를 설정한 다른 사용자들의 함수 암호화된 템플릿들도 복수 개 추출될 수 있다. 1차 인증 정보를 복잡하게 해서 중복될 확률이 낮아지게 할 수도 있지만 사용 편의성을 고양하기 위해서는 간단한 정보를 1차 인증 정보로 하는 것이 바람직하다.The server 30 extracts a function-encrypted template corresponding to the identification information (step 225). For example, when the primary authentication information is set to a four-digit number such as "1234", a plurality of function-encrypted templates of other users who set the same primary authentication information may also be extracted. Although it is possible to reduce the probability of being duplicated by complicating the primary authentication information, it is desirable to use simple information as primary authentication information in order to enhance the usability.

사용자 단말기(40)는, 함수 암호키를 생성한다(단계 230). 이 때 함수 암호키는 단계(120)과 동일한 방식으로 생성한다.The user terminal 40 generates a function encryption key (step 230). In this case, the function encryption key is generated in the same manner as in step 120.

사용자 단말기(40)는, 단계(230)에서 생성된 함수 암호키를 이용하여 템플릿을 함수 암호화한다(단계 235).The user terminal 40 functionally encrypts the template using the function encryption key generated in step 230 (step 235).

사용자 단말기(40)는, 함수 암호화된 템플릿을 서버(30)로 전송한다(단계 240).The user terminal 40 transmits the function-encrypted template to the server 30 (step 240).

서버(30)는, 단계(225)에서 추출된 함수 암호화된 템플릿과, 단계(240)에서 전송된 함수 암호화된 템플릿에 대해서 연산을 수행하여 일치하는 암수 암호화된 템플릿을 추출한다(단계 245). 템플릿이 함수 암호화되어 있기 때문에, 복호화하지 않고도 소정의 연산을 수행하여 일치하는 템플릿을 찾을 수 있어서 생체 정보 유출을 원천적으로 차단할 수 있다.The server 30 extracts a matching male and female encrypted template by performing an operation on the function-encrypted template extracted in step 225 and the function-encrypted template transmitted in step 240 (step 245). Since the template is function-encoded, it is possible to find a matching template by performing a predetermined operation without decryption, thereby fundamentally preventing the leakage of biometric information.

서버(30)는, 단계(245)에서 찾은 함수 암호화된 템플릿과 매칭되어 저장되어 있는 암호화된 비밀 정보를 사용자 단말기(40)로 전송한다(단계 250).The server 30 transmits the encrypted secret information matched with the function-encrypted template found in step 245 and stored to the user terminal 40 (step 250).

사용자 단말기(40)는 암호키를 생성하는데(단계 255), 단계(125)에서와 동일한 방식으로 암호키를 생성한다.The user terminal 40 generates an encryption key (step 255), and generates an encryption key in the same manner as in step 125.

사용자 단말기(40)는 단계(255)에서 생성된 암호키로 단계(250)에서 수신한 암호화된 비밀 정보를 복호화하고, 그 비밀 정보를 저장함으로써(단계 260), 비밀 정보의 복구를 완료한다.The user terminal 40 decrypts the encrypted secret information received in step 250 with the encryption key generated in step 255, and stores the secret information (step 260), thereby completing the recovery of the secret information.

본 발명에 의하면, 사용자의 고유한 개인 정보와 생체 정보를 매칭시키지 않기 때문에 해당 생체 정보가 누구의 것인지 쉽게 특정할 수 없어서 보안성이 고양되며, 생체 정보 템플릿을 함수 암호화하여 서버에 저장함으로써 생체 정보의 유출 위험없이 암호화된 비밀 정보와 매칭시켜서 저장할 수 있으므로의 분실시에 안전하게 복구할 수 있는 작용효과가 있다.According to the present invention, since biometric information is not matched with the user's unique personal information, it is not possible to easily specify who owns the biometric information, and thus security is enhanced. By function encryption of the biometric information template and storing it in the server, biometric information There is an effect that can be safely restored in case of loss because it can be stored by matching encrypted secret information without the risk of leakage of data.

이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.Although the present invention has been described with reference to the accompanying drawings, the scope of the present invention is determined by the claims to be described later, and should not be construed as being limited to the above-described embodiments and/or drawings. And it should be clearly understood that the improvements, changes and modifications of the invention described in the claims, which are obvious to those skilled in the art, are included in the scope of the present invention.

10: 생체 정보 인식 장치
20: 연산 및 통신 장치
30: 서버
40: 사용자 단말기
10: biometric information recognition device
20: computing and communication device
30: server
40: user terminal

Claims (10)

생체 정보 인식 장치와, 사용자 단말기와, 서버를 포함하는 환경에서 수행되는 서버에의 비밀 정보 저장 방법에 있어서,
생체 정보 인식 장치가 인식한 생체 정보의 템플릿을 사용자 단말기가 획득하는 제1 단계와,
사용자 단말기가, 사용자가 입력한 1차 인증 정보에 대한 단방향 함수 연산을 통해 식별 정보를 생성하는 제2 단계와,
사용자 단말기가, 함수 암호키를 생성하는 제3 단계와,
사용자 단말기가, 상기 템플릿이 아닌 비밀 정보를 암호화하는 암호키를 생성하는 제4 단계와,
사용자 단말기가, 함수 암호키로 템플릿을 암호화하는 제5 단계와,
사용자 단말기가, 암호키로 상기 템플릿이 아닌 비밀 정보를 암호화하는 제6 단계와,
사용자 단말기가, 식별 정보와, 함수 암호화된 템플릿과, 암호화된 비밀 정보를 서버로 전송하는 제7 단계와,
사용자 단말기가, 함수 암호화된 템플릿과, 비밀 정보와, 함수 암호키를 저장하는 제8 단계를 포함하는,
서버에의 비밀 정보 저장 방법.
A method of storing secret information in a server performed in an environment including a biometric information recognition device, a user terminal, and a server,
A first step of obtaining, by a user terminal, a template of biometric information recognized by the biometric information recognition device,
A second step in which the user terminal generates identification information through a one-way function operation on the primary authentication information input by the user;
A third step of the user terminal generating a function encryption key,
A fourth step of generating, by the user terminal, an encryption key for encrypting secret information other than the template;
A fifth step of the user terminal encrypting the template with the function encryption key,
A sixth step of encrypting, by the user terminal, secret information other than the template with an encryption key,
A seventh step in which the user terminal transmits the identification information, the function-encrypted template, and the encrypted secret information to the server,
Including an eighth step of storing, by the user terminal, a function-encrypted template, secret information, and a function encryption key,
How to store confidential information on the server.
청구항 1에 있어서,
제2 단계에서, 식별 정보는 1차 인증정보를 n번 해쉬한 값의 적어도 일부분을 포함하도록 생성되는,
서버에의 비밀 정보 저장 방법.
The method according to claim 1,
In the second step, the identification information is generated to include at least a portion of the value obtained by hashing the primary authentication information n times,
How to store confidential information on the server.
청구항 2에 있어서,
제3 단계에서, 함수 암호키는 1차 인증정보에 기초하여 생성되는,
서버에의 비밀 정보 저장 방법.
The method according to claim 2,
In the third step, the function encryption key is generated based on the primary authentication information,
How to store confidential information on the server.
청구항 3에 있어서,
함수 암호키는 1차 인증 정보를 m번 해쉬한 값의 적어도 일부분을 포함하도록 생성되는,
서버에의 비밀 정보 저장 방법.
The method of claim 3,
The function encryption key is generated to include at least a portion of the value obtained by hashing the primary authentication information m times,
How to store confidential information on the server.
청구항 2에 있어서,
제4 단계에서, 암호키는 1차 인증정보에 기초하여 생성되는,
서버에의 비밀 정보 저장 방법.
The method according to claim 2,
In the fourth step, the encryption key is generated based on the primary authentication information,
How to store confidential information on the server.
청구항 5에 있어서,
암호키는 1차 인증 정보를 l번 해쉬한 값의 적어도 일부분을 포함하도록 생성되는,
서버에의 비밀 정보 저장 방법.
The method of claim 5,
The encryption key is generated to include at least a portion of the value obtained by hashing the primary authentication information l times,
How to store confidential information on the server.
청구항 6에 있어서,
사용자로부터 2차 인증정보를 입력받는 제4-1 단계를 더 포함하며,
암호키는 1차 인증정보를 l번 해쉬한 값 및 2차 인증정보를 h번 해쉬한 값을 병합한 값의 적어도 일부분을 포함하도록 생성되는,
서버에의 비밀 정보 저장 방법.
The method of claim 6,
Further comprising step 4-1 of receiving second authentication information from the user,
The encryption key is generated to include at least a portion of a value obtained by hashing the primary authentication information l times and the hashed secondary authentication information h times,
How to store confidential information on the server.
청구항 1 내지 청구항 7 중 어느 하나의 청구항에 의한 비밀 정보 저장 방법에 의해서 비밀 정보가 저장된 후 비밀 정보를 사용자 단말기에 복구하는 비밀 정보 복구 방법에 있어서,
사용자 단말기가 사용자로부터 1차 인증 정보를 입력받는 제9 단계와,
사용자 단말기가 생체 정보 인식 장치로부터 전달된 생체 정보의 템플릿을 획득하는 제10 단계와,
사용자 단말기가 1차 인증 정보에 기초하여 생성한 식별 정보를 서버로 전달하여, 서버가 해당 식별 정보에 대응하여 저장되어 있는 함수 암호화된 템플릿을 검색하도록 하는 제11 단계와,
사용자 단말기가 함수 암호키를 생성하고 함수 암호키로 템플릿을 함수 암호화하는 제12 단계와,
사용자 단말기가, 함수 암호화된 템플릿을 서버로 전송하여 서버가 제11 단계에서 검색된 함수 암호화된 템플릿과 제12 단계에서 수신한 함수 암호화된 템플릿을 대비하여 일치하는 템플릿을 찾도록 하는 제13 단계와,
사용자 단말기가, 서버가 제13 단계에서 찾은 템플릿에 대응하는 암호화된 비밀 정보를 서버로부터 수신하는 제14 단계와,
사용자 단말기가, 비밀 정보의 암호키를 생성하고 제14 단계에서 수신한 암호화된 비밀 정보를 복호화하여 저장하는 제15 단계를 포함하는,
비밀 정보 복구 방법.
A method of recovering secret information for recovering secret information to a user terminal after secret information is stored by the method of storing secret information according to any one of claims 1 to 7,
A ninth step in which the user terminal receives primary authentication information from the user,
A tenth step of obtaining, by the user terminal, a template of the biometric information transmitted from the biometric information recognition device,
An eleventh step of transmitting the identification information generated by the user terminal based on the primary authentication information to the server, and allowing the server to search for a function-encrypted template stored in correspondence with the identification information;
A 12th step of generating a function encryption key by the user terminal and function encryption of the template with the function encryption key,
A thirteenth step of allowing the user terminal to transmit the function-encrypted template to the server so that the server compares the function-encrypted template retrieved in step 11 and the function-encrypted template received in step 12 to find a matching template;
A 14th step of the user terminal receiving encrypted secret information corresponding to the template found in step 13 by the server from the server,
Including a fifteenth step of the user terminal generating an encryption key of the secret information and decrypting and storing the encrypted secret information received in the 14th step,
How to recover confidential information.
사용자 단말기에,
생체 정보 인식 장치가 인식한 생체 정보의 템플릿을 사용자 단말기가 획득하는 제1 단계와,
사용자 단말기가, 사용자가 입력한 1차 인증 정보에 대한 단방향 함수 연산을 통해 식별 정보를 생성하는 제2 단계와,
사용자 단말기가, 함수 암호키를 생성하는 제3 단계와,
사용자 단말기가, 상기 템플릿이 아닌 비밀 정보를 암호화하는 암호키를 생성하는 제4 단계와,
사용자 단말기가, 함수 암호키로 템플릿을 암호화하는 제5 단계와,
사용자 단말기가, 암호키로 상기 템플릿이 아닌 비밀 정보를 암호화하는 제6 단계와,
사용자 단말기가, 식별 정보와, 함수 암호화된 템플릿과, 암호화된 비밀 정보를 서버로 전송하는 제7 단계와,
사용자 단말기가, 함수 암호화된 템플릿과, 비밀 정보와, 함수 암호키를 저장하는 제8 단계를 실행시키기 위하여 컴퓨터 판독 가능 기록 매체에 저장된,
컴퓨터 프로그램.
On the user terminal,
A first step of obtaining, by a user terminal, a template of biometric information recognized by the biometric information recognition device,
A second step in which the user terminal generates identification information through a one-way function operation on the primary authentication information input by the user;
A third step of the user terminal generating a function encryption key,
A fourth step of generating, by the user terminal, an encryption key for encrypting secret information other than the template;
A fifth step of the user terminal encrypting the template with the function encryption key,
A sixth step of encrypting, by the user terminal, secret information other than the template with an encryption key,
A seventh step in which the user terminal transmits the identification information, the function-encrypted template, and the encrypted secret information to the server,
The user terminal is stored in a computer-readable recording medium to execute an eighth step of storing the function-encrypted template, secret information, and function encryption key,
Computer program.
청구항 9의 컴퓨터 프로그램의 실행에 의해 서버에 저장된 비밀 정보를 사용자 단말기에 복구하기 위해 사용자 단말기에,
사용자로부터 1차 인증 정보를 입력받는 제9 단계와,
생체 정보 인식 장치로부터 전달된 생체 정보의 템플릿을 획득하는 제10 단계와,
1차 인증 정보에 기초하여 생성한 식별 정보를 서버로 전달하여, 서버가 해당 식별 정보에 대응하여 저장되어 있는 함수 암호화된 템플릿을 검색하도록 하는 제11 단계와,
함수 암호키를 생성하고 함수 암호키로 템플릿을 함수 암호화하는 제12 단계와,
함수 암호화된 템플릿을 서버로 전송하여 서버가 제11 단계에서 검색된 함수 암호화된 템플릿과 제12 단계에서 수신한 함수 암호화된 템플릿을 대비하여 일치하는 템플릿을 찾도록 하는 제13 단계와,
서버가 제13 단계에서 찾은 템플릿에 대응하는 암호화된 비밀 정보를 서버로부터 수신하는 제14 단계와,
암호키를 생성하고 제14 단계에서 수신한 암호화된 비밀 정보를 복호화하여 저장하는 제15 단계를 실행시키기 위하여 컴퓨터 판독 가능 기록 가능 매체에 저장된,
컴퓨터 프로그램.
In the user terminal to restore the secret information stored in the server by the execution of the computer program of claim 9 to the user terminal,
A ninth step of receiving primary authentication information from a user, and
A tenth step of obtaining a template of the biometric information transmitted from the biometric information recognition device,
An eleventh step of transmitting the identification information generated based on the primary authentication information to the server, and allowing the server to search for a function-encrypted template stored in correspondence with the identification information;
A 12th step of generating a function encryption key and function encryption of the template with the function encryption key,
A thirteenth step of transmitting the function-encrypted template to the server so that the server compares the function-encrypted template retrieved in step 11 and the function-encrypted template received in step 12 to find a matching template;
A 14th step of the server receiving encrypted secret information corresponding to the template found in the 13th step from the server,
It is stored in a computer-readable recordable medium to execute a fifteenth step of generating an encryption key and decrypting and storing the encrypted secret information received in step 14,
Computer program.
KR1020180165772A 2018-12-20 2018-12-20 Method for Storing Secret Information in Server and Restoring it in Client Terminal KR102210620B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180165772A KR102210620B1 (en) 2018-12-20 2018-12-20 Method for Storing Secret Information in Server and Restoring it in Client Terminal
PCT/KR2019/012444 WO2020130297A1 (en) 2018-12-20 2019-09-25 Method for storing and recovering confidential information in server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180165772A KR102210620B1 (en) 2018-12-20 2018-12-20 Method for Storing Secret Information in Server and Restoring it in Client Terminal

Publications (2)

Publication Number Publication Date
KR20200076861A KR20200076861A (en) 2020-06-30
KR102210620B1 true KR102210620B1 (en) 2021-02-02

Family

ID=71101826

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180165772A KR102210620B1 (en) 2018-12-20 2018-12-20 Method for Storing Secret Information in Server and Restoring it in Client Terminal

Country Status (2)

Country Link
KR (1) KR102210620B1 (en)
WO (1) WO2020130297A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018038914A1 (en) * 2016-08-23 2018-03-01 Visa International Service Association Remote usage of locally stored biometric authentication data
KR101838432B1 (en) 2017-02-22 2018-04-26 인하대학교 산학협력단 Method and system for authentication using biometrics and functional encryption-inner product

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100968494B1 (en) * 2008-09-12 2010-07-07 아시아나아이디티 주식회사 Tag security processing method using One Time Password
KR101888903B1 (en) * 2014-03-03 2018-08-17 인텔 코포레이션 Methods and apparatus for migrating keys
CN106330850B (en) * 2015-07-02 2020-01-14 创新先进技术有限公司 Security verification method based on biological characteristics, client and server
KR101966379B1 (en) * 2015-12-23 2019-08-13 주식회사 케이티 Authentication apparatus based on biometric information, control server and application server, and method for data management based on biometric information thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018038914A1 (en) * 2016-08-23 2018-03-01 Visa International Service Association Remote usage of locally stored biometric authentication data
KR101838432B1 (en) 2017-02-22 2018-04-26 인하대학교 산학협력단 Method and system for authentication using biometrics and functional encryption-inner product

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
B. Kaliski, PKCS #5: Password-Based Cryptography Specification Version 2.0, Request for Comments: 2898 (2000.09.)*

Also Published As

Publication number Publication date
WO2020130297A1 (en) 2020-06-25
KR20200076861A (en) 2020-06-30

Similar Documents

Publication Publication Date Title
CN107925581B (en) Biometric authentication system and authentication server
US10469253B2 (en) Methods and apparatus for migrating keys
US20100138667A1 (en) Authentication using stored biometric data
WO2017012175A1 (en) Identity authentication method, identity authentication system, terminal and server
WO2018165811A1 (en) Method for saving and verifying biometric template, and biometric recognition apparatus and terminal
CN111242611B (en) Method and system for recovering digital wallet key
CA2686801C (en) Authetication using stored biometric data
US11968300B2 (en) Data extraction system, data extraction method, registration apparatus, and program
US11120120B2 (en) Method and system for secure password storage
CN110392030B (en) Identity authentication and service processing method and system based on biological characteristics
Barman et al. An approach to cryptographic key distribution through fingerprint based key distribution center
KR102210620B1 (en) Method for Storing Secret Information in Server and Restoring it in Client Terminal
WO2020121458A1 (en) Collation system, client, and server
KR102561689B1 (en) Apparatus and method for registering biometric information, apparatus and method for biometric authentication
US9882879B1 (en) Using steganography to protect cryptographic information on a mobile device
WO2018142291A1 (en) Identity verification
Hari Akhilesh et al. Novel Template Protection Scheme for Multimodal Data

Legal Events

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