KR20200076861A - 서버에의 비밀 정보 저장 방법 및 복구 방법 - Google Patents

서버에의 비밀 정보 저장 방법 및 복구 방법 Download PDF

Info

Publication number
KR20200076861A
KR20200076861A KR1020180165772A KR20180165772A KR20200076861A KR 20200076861 A KR20200076861 A KR 20200076861A KR 1020180165772 A KR1020180165772 A KR 1020180165772A KR 20180165772 A KR20180165772 A KR 20180165772A KR 20200076861 A KR20200076861 A KR 20200076861A
Authority
KR
South Korea
Prior art keywords
information
server
user terminal
function
encryption key
Prior art date
Application number
KR1020180165772A
Other languages
English (en)
Other versions
KR102210620B1 (ko
Inventor
강준구
문기봉
서동권
이광후
Original Assignee
한국스마트인증 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국스마트인증 주식회사 filed Critical 한국스마트인증 주식회사
Priority to KR1020180165772A priority Critical patent/KR102210620B1/ko
Priority to PCT/KR2019/012444 priority patent/WO2020130297A1/ko
Publication of KR20200076861A publication Critical patent/KR20200076861A/ko
Application granted granted Critical
Publication of KR102210620B1 publication Critical patent/KR102210620B1/ko

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 단계를 포함한다.

Description

서버에의 비밀 정보 저장 방법 및 복구 방법{Method for Storing Secret Information in Server and Restoring it in Client Terminal}
본 발명은 서버에 비밀 정보를 저장하는 방법 및 그 복구 방법에 대한 것이다.
비밀 정보를 사용자측의 클라이언트 단말기에 저장하여 사용할 수 있는데, 비밀 정보 분실시 복구를 위해 원격의 서버에 저장할 수 있다. 이렇게 저장되는 비밀 정보는 서버 운영자도 획득할 수 없도록 안전하게 저장되는 것이 중요하다. 예를 들어 전자지갑에서 사용하는 비밀키(private key)를 클라이언트 단말기(사용자 단말기)에 저장할 수 있는데 이 경우 사용자 단말기에 문제가 생겨서 비밀키가 삭제되거나 사용자 단말기를 분실하는 등의 경우에 비밀키(비밀 정보)의 복구가 불가능한 단점이 있다. 비밀 정보의 보안성을 높이기 위해 예를 들어 많은 자리수로 설정하거나 유추할 수 없도록 비밀 번호(키워드) 등을 매우 복잡하게 설정하는 경우가 있는데 그 비밀 번호(키워드)를 잊어버리거나 분실하는 경우에는 아예 복구 자체가 원천적으로 불가능해진다.
그러한 문제를 해결하기 위해서 서버에 비밀키 등 비밀 정보를 저장하는 방법이 있는데 그 경우 비밀 정보의 유출의 문제가 있다.
단순한 ID/PW 입력을 통한 인증으로 서버에 비밀 정보를 저장하거나 복구할 수 있게 하면 보안상 여러 문제를 동반하기 때문에 생체 정보에 매칭을 시켜서 비밀 정보를 서버에 저장하는 것을 고려할 수 있다.
이 경우 사용자의 생체 정보를 인증해서 비밀 정보를 저장하거나, 사용자 단말기에 복구한다. 그런데 생체 정보는 매우 민감한 정보이고 누출되는 경우 변경이 불가능한 정보이기 때문에 암호화하여 처리되는 것이 바람직하다. 그런데 비밀 정보의 저장이나 복구를 위해서 생체 정보를 인증할 때 생체 정보를 복호화해서 대비해야 하는데 그 복호화 과정에서 생체 정보의 유출 위험이 증가한다. 그리고 생체 정보를 대비하기 위해서 사용자를 특정해야 하는데, 사용자 특정을 위한 인증 정보를 사용자 고유 정보 예를 들어 주민등록번호 등으로 하면 민감한 고유 정보 및/또는 고유 정보에 매칭되어 저장되어 있는 생체 정보가 한꺼번에 유출될 위험이 있다.
생체 정보를 이용한 인증의 예로 2013년 7월 16일에 등록공고된 한국특허 제10-1284481호가 있는데, 이 선행기술에는 홍채 정보를 이용하여 일회용 비밀번호를 생성하고 그 일회용 비밀번호로 인증을 수행하는 과정이 개시되어 있을 뿐 생체 정보를 이용한 비밀 정보 저장 방법과는 거리가 있다.
본 발명은, 비밀 정보를 서버에 저장하고 사용자 단말기에 복구할 때에 이용 편의성과 보안성이 고양되고 인증 속도도 빠른 비밀 정보 저장 방법과 복구 방법을 제공하는 것을 목적으로 한다.
본 발명에 의한 서버에의 비밀 정보 저장 방법은, 생체 정보 인식 장치와, 사용자 단말기와, 서버를 포함하는 환경에서 수행되며, 상기 방법은 생체 정보 인식 장치가 인식한 생체 정보의 템플릿을 사용자 단말기가 획득하는 제1 단계와; 사용자 단말기가, 사용자가 입력한 1차 인증 정보에 기초하여 식별 정보를 생성하는 제2 단계와; 사용자 단말기가, 함수 암호키를 생성하는 제3 단계와; 사용자 단말기가, 비밀 정보를 암호화하는 암호키를 생성하는 제4 단계와; 사용자 단말기가, 함수 암호키로 템플릿을 암호화하는 제5 단계와; 사용자 단말기가, 암호키로 비밀 정보를 암호화하는 제6 단계와; 사용자 단말기가, 식별 정보와, 함수 암호화된 템플릿과, 암호화된 비밀 정보를 서버로 전송하는 제7 단계와; 사용자 단말기가, 함수 암호화된 템플릿과, 비밀 정보와, 함수 암호키를 저장하는 제8 단계를 포함한다.
제2 단계에서, 식별 정보는 1차 인증정보를 n번 해쉬한 값의 적어도 일부분을 포함하도록 생성될 수 있다.
제3 단계에서, 함수 암호키는 1차 인증정보에 기초하여 생성될 수 있다.
함수 암호키는 1차 인증 정보를 m번 해쉬한 값의 적어도 일부분을 포함하도록 생성될 수 있다.
제4 단계에서, 암호키는 1차 인증정보에 기초하여 생성될 수 있다.
암호키는 1차 인증 정보를 l번 해쉬한 값의 적어도 일부분을 포함하도록 생성될 수 있다.
본 발명에 의한 서버에의 비밀 정보 저장 방법은, 사용자로부터 2차 인증정보를 입력받는 제4-1 단계를 더 포함할 수 있으며, 암호키는 1차 인증정보를 l번 해쉬한 값 및 2차 인증정보를 h번 해쉬한 값을 병합한 값의 적어도 일부분을 포함하도록 생성될 수 있다.
본 발명에 의해 서버에 비밀 정보가 저장된 후 비밀 정보를 사용자 단말기에 복구하는 비밀 정보 복구 방법은, 사용자 단말기가 사용자로부터 1차 인증 정보를 입력받는 제9 단계와; 사용자 단말기가 생체 정보 인식 장치로부터 전달된 생체 정보의 템플릿을 획득하는 제10 단계와; 사용자 단말기가 1차 인증 정보에 기초하여 생성한 식별 정보를 서버로 전달하여, 서버가 해당 식별 정보에 대응하여 저장되어 있는 함수 암호화된 템플릿을 검색하도록 하는 제11 단계와; 사용자 단말기가 함수 암호키를 생성하고 함수 암호키로 템플릿을 함수 암호화하는 제12 단계와; 사용자 단말기가, 함수 암호화된 템플릿을 서버로 전송하여 서버가 제11 단계에서 검색된 함수 암호화된 템플릿과 제12 단계에서 수신한 함수 암호화된 템플릿을 대비하여 일치하는 템플릿을 찾도록 하는 제13 단계와; 사용자 단말기가, 서버가 제13 단계에서 찾은 템플릿에 대응하는 암호화된 비밀 정보를 서버로부터 수신하는 제14 단계와; 사용자 단말기가, 비밀 정보의 암호키를 생성하고 제14 단계에서 수신한 암호화된 비밀 정보를 복호화하여 저장하는 제15 단계를 포함한다.
본 발명에 의한 컴퓨터 판독 가능 기록 매체에 저장된 프로그램은, 사용자 단말기에, 생체 정보 인식 장치가 인식한 생체 정보의 템플릿을 사용자 단말기가 획득하는 제1 단계와; 사용자가 입력한 1차 인증 정보에 기초하여 식별 정보를 생성하는 제2 단계와; 함수 암호키를 생성하는 제3 단계와; 암호키를 생성하는 제4 단계와; 함수 암호키로 템플릿을 암호화하는 제5 단계와; 암호키로 비밀 정보를 암호화하는 제6 단계와; 식별 정보와, 함수 암호화된 템플릿과, 암호화된 비밀 정보를 서버로 전송하는 제7 단계와; 함수 암호화된 템플릿과, 비밀 정보와, 함수 암호키를 저장하는 제8 단계를 실행시킨다.
본 발명에 의해 서버에 저장된 비밀 정보 복구 프로그램은, 사용자로부터 1차 인증 정보를 입력받는 제9 단계와; 생체 정보 인식 장치로부터 전달된 생체 정보의 템플릿을 획득하는 제10 단계와; 1차 인증 정보에 기초하여 생성한 식별 정보를 서버로 전달하여, 서버가 해당 식별 정보에 대응하여 저장되어 있는 함수 암호화된 템플릿을 검색하도록 하는 제11 단계와; 함수 암호키를 생성하고 함수 암호키로 템플릿을 함수 암호화하는 제12 단계와; 함수 암호화된 템플릿을 서버로 전송하여 서버가 제11 단계에서 검색된 함수 암호화된 템플릿과 제12 단계에서 수신한 함수 암호화된 템플릿을 대비하여 일치하는 템플릿을 찾도록 하는 제13 단계와; 서버가 제13 단계에서 찾은 템플릿에 대응하는 암호화된 비밀 정보를 서버로부터 수신하는 제14 단계와; 암호키를 생성하고 제14 단계에서 수신한 암호화된 비밀 정보를 복호화하여 저장하는 제15 단계를 실행시키며 컴퓨터 판독 가능 기록 가능 매체에 저장된다.
본 발명에 의하면, 사용자의 고유한 개인 정보와 생체 정보를 매칭시키지 않기 때문에 해당 생체 정보가 누구의 것인지 쉽게 특정할 수 없어서 보안성이 고양되며, 생체 정보 템플릿을 함수 암호화하여 서버에 저장함으로써 생체 정보의 유출 위험없이 암호화된 비밀 정보와 매칭시켜서 저장할 수 있으므로의 분실시에 안전하게 복구할 수 있는 작용효과가 있다.
도 1은 본 발명에 의한 서버에의 비밀 정보 저장 방법의 흐름도.
도 2는 본 발명에 의해 서버에 저장된 비밀 정보를 사용자 단말기에 복구하는 방법의 흐름도.
이하에서는 첨부 도면을 참조하여 본 발명에 대해서 자세하게 설명한다.
본 명세서에서 수행되는 정보(데이터) 전송/수신 과정은 필요에 따라서 암호화/복호화가 적용될 수 있으며, 본 명세서 및 특허청구범위에서 정보(데이터) 전송 과정을 설명하는 표현은 별도로 언급되지 않더라도 모두 암호화/복호화하는 경우도 포함하는 것으로 해석되어야 한다. 본 명세서에서 "A로부터 B로 전송(전달)" 또는 "A가 B로부터 수신"과 같은 형태의 표현은 중간에 다른 매개체가 포함되어 전송(전달) 또는 수신되는 것도 포함하며, A로부터 B까지 직접 전송(전달) 또는 수신되는 것 만을 표현하는 것은 아니다. 본 발명의 설명에 있어서 각 단계의 순서는 선행 단계가 논리적 및 시간적으로 반드시 후행 단계에 앞서서 수행되어야 하는 경우가 아니라면 각 단계의 순서는 비제한적으로 이해되어야 한다. 즉 위와 같은 예외적인 경우를 제외하고는 후행 단계로 설명된 과정이 선행 단계로 설명된 과정보다 앞서서 수행되더라도 발명의 본질에는 영향이 없으며 권리범위 역시 단계의 순서에 관계없이 정의되어야 한다. 그리고 본 명세서에서 “A 또는 B”은 A와 B 중 어느 하나를 선택적으로 가리키는 것뿐만 아니라 A와 B 모두를 포함하는 것도 의미하는 것으로 정의된다. 또한, 본 명세서에서 "포함"이라는 용어는 포함하는 것으로 나열된 요소 이외에 추가로 다른 구성요소를 더 포함하는 것도 포괄하는 의미를 가진다.
본 명세서에서는 본 발명의 설명에 필요한 필수적인 구성요소만을 설명하며, 본 발명의 본질과 관계가 없는 구성요소는 언급하지 아니한다. 그리고 언급되는 구성요소만을 포함하는 배타적인 의미로 해석되어서는 아니되며 필수적이지 않은 특정 구성요소를 배제하거나 다른 구성요소도 포함할 수 있는 비배타적인 의미로 해석되어야 한다.
본 발명은 전자적 연산이 가능한 컴퓨터 등의 전자적 연산 장치에 의해서 수행되며, 후술하는 본 발명의 각 단계의 수학적 연산 및 산출은 해당 연산 또는 산출을 하기 위해 공지되어 있는 코딩 방법 및/또는 본 발명에 적합하게 고안된 코딩에 의해서 컴퓨터 연산으로 구현될 수 있다.
본 명세서에서 특정값에 대해 암호화 또는 해쉬 등과 같은 연산을 하여 소정의 값을 획득한다는 의미는 해당 특정값 뿐만 아니라 해당 특정값의 변형값(예를 들어, 특정값에 소정의 값을 추가로 연산하거나 소정의 규칙에 따라서 해당 특정값을 변화시키는 등의 과정을 통해서 산출된 다른 값)에 대한 암호화 또는 해쉬 등의 연산도 포함하는 것으로 정의된다.
도 1에 도시된 바와 같이 본 발명에 의한 방법은, 생체 정보 인식 장치(10)와, 연산 및 통신 장치(20)와, 서버(30)를 포함하는 환경에서 수행된다. 사용자 단말기(10)는 생체 정보 인식 장치(10)와 연산 및 통신 장치(20)를 포함할 수 있다. 사용자 단말기(10)는 전자적 연산이 가능한 중앙 처리 장치(CPU)와, 통신망을 통해서 서버(30)와 데이터 통신이 가능한 전자 장치로서 예를 들어, 스마트폰, 태블릿 PC, 데스크탑 PC, 노트북 컴퓨터 등을 포함할 수 있다. 도 1에서는 사용자 단말기(40)가 생체 정보 인식 장치(10)와 연산 및 통신 장치(20)를 포함하는 것으로 도시되어 있지만, 생체 정보 인식 장치(10)는 사용자 단말기(40)와 분리된 별개의 장치로 구성할 수도 있다. 도시되지 않았지만 사용자 단말기(40)와 서버(30)는 저장소를 더 포함할 수 있다.
본 명세서에서 생체 정보라 함은, 홍채 정보, 지문 정보, 정맥 정보, 목소리 정보, 안면 정보 등 사용자별로 고유하게 보유하는 신체 정보를 포함한다.
본 발명에 의한 비밀 정보 저장 및 복구 방법은, 사용자 단말기(40)와 서버(30)의 기록 매체에 저장된 컴퓨터 실행 가능 프로그램에 의해서 수행된다. 사용자 단말기(40)의 연산 및 통신 장치(20)가 컴퓨터 실행 가능 프로그램을 실행한다.
도 1을 참조하여 본 발명에 의한, 비밀 정보를 서버(30)에 저장하는 방법에 대해서 설명한다.
사용자는 생체 정보 인식 장치(10)에 의해 생체 정보를 획득하고(단계 100), 획득한 생체 정보의 템플릿(template)을 추출해서 연산 및 통신 장치(20)가 그 탬플릿을 획득한다(단계 105). 템플릿은, 인식된 생체 정보에 기반하여 생성된, 생체 정보 인증을 위해 디지털화된 정보를 의미한다.
사용자는 사용자 단말기(40)에 1차 인증 정보를 입력한다(단계 110). 본 명세서에서 1차 인증 정보라 함은, 사용자를 특정하기 위해 사용하는 정보로서 예를 들어 4자리 비밀 번호가 될 수 있다. 중복되는 1차 인증 정보를 피하기 위해 보다 더 사용자를 식별할 수 있는 고유 정보를 1차 인증 정보로 설정할 수도 있다. 예를 들어 이름과 4자리수 비밀번호를 조합하거나 주민등록번호, 휴대폰 번호 등을 포함하는 1차 인증 정보를 사용할 수도 있다. 다만, 그러한 경우 사용자를 특정할 수 있는 정보가 되기 때문에 1차 인증 정보의 유출시에 생체 정보와 매칭되어 있는 사용자가 특정될 수도 있는 등 여러면에서 보안성이 낮아질 수 있다. 그리고 1차 인증 정보로 사용자가 쉽게 기억할 수 있는 정보 예를 들어 본인의 생년월일이나 가족의 생년월일, 특정 기념일을 표시하는 숫자 등으로 설정하면 추후에 비밀 정보 복구시에 그 1차 인증 정보를 분실하거나 기억나지 않는 것을 미연에 방지할 수 있는 효과가 있다. 그렇게 사용자가 쉽게 기억할 수 있는 정보를 1차 인증 정보로 사용한다고 하더라도 서버(30)에 전달되는 식별 정보는 1차 인증 정보를 유추할 수 없도록 생성되며 사용자 생체 정보와 연관되어 저장되기 때문에 보안상 문제가 발생하지 않는다.
사용자 단말기(40)는 입력된 1차 인증 정보에 기초하여 식별 정보를 생성한다(단계 115). 이 식별 정보는, 입력된 1차 인증 정보를 n번 해쉬한 값의 적어도 일부분을 포함하도록 생성할 수 있으며, 또는 1차 인증 정보를 시드값으로 하여 생성된 랜덤값으로 생성할 수도 있다. 그 밖에도 1차 인증 정보에 기초하여 생성될 수 있는 방식이라면 어떤 방식도 적용할 수 있다.
식별 정보는, 비밀 정보를 복구할 때에 서버(30)에 저장된 모든 사용자의 생체 정보들 중에서 빠르게 특정 생체 정보를 식별할 수 있도록 하는 역할을 한다. 우연히 사용자가 입력한 1차 인증 정보가 동일한 경우 동일한 식별 정보가 생성되어서 비밀 정보와 연관된 상태로 서버에 저장되어 있을 수 있지만, 그 확률은 높지 않고 그렇게 저장된 경우가 많지 않기 때문에 함수 암호 연산에 의해서 일치하는 생체 정보를 빠르게 찾을 수 있다.
단계(120)에서 사용자 단말기(40)는, 함수 암호키를 생성한다. 함수 암호키는, 1차 인증 정보에 기초하여 생성될 수 있다. 예를 들어, 1차 인증 정보를 m번 해쉬한 값의 적어도 일부분을 포함하도록 생성될 수 있으며, 또는 1차 인증 정보를 시드값으로 하여 생성된 랜덤값으로 생성할 수도 있다. 그 밖에도 1차 인증 정보에 기초하여 생성될 수 있는 방식이라면 어떤 방식도 적용할 수 있다.
함수 암호키는 후술하는 바와 같이 템플릿을 함수 암호화할 때 사용한다. 함수 암호는, 암호문을 복호화하지 않고 암호문들에 소정의 함수 연산을 수행한 결과가, 평문에 대해 상기 연산을 하고 암호화한 값과 동일한 암호 방식으로 동형 암호화로도 지칭된다. 함수 암호키 생성을 1차 인증 정보에 기초하지 않고 다른 정보에 기초하여 생성할 수도 있다. 예를 들어, 1차 인증 정보와 다른 인증 정보에 기초하여 함수 암호키를 생성할 수도 있으며, 생성 방식은 전술한 1차 인증 정보에 기초한 방식과 같이 해쉬를 하거나 랜덤값으로 생성할 수 있다.
사용자 단말기(40)는 단계(125)에서 암호키를 생성한다. 본 명세서에는 "함수 암호키"와 "암호키"를 분리해서 사용하는데, "암호키"는 암호화 방식에 제한이 없는 암호키를 의미하며, "함수 암호키"는 전술한 바와 같이 함수 암호화에 사용하는 암호키를 의미한다.
암호키는 1차 인증 정보를 l번 해쉬한 값의 적어도 일부분을 포함하도록 생성할 수 있으며, 또는 1차 인증 정보를 시드값으로 하여 생성된 랜덤값으로 생성할 수도 있다. 그 밖에도 1차 인증 정보에 기초하여 생성될 수 있는 방식이라면 어떤 방식도 적용할 수 있다. 또는 1차 인증 정보가 아닌 다른 정보에 기초하여 암호키를 생성할 수도 있다.
함수 암호키와 암호키를 1차 인증 정보에 기초하여 해쉬값으로서 생성하는 경우 n≠m≠l 인 것이 바람직하다.
함수 암호키나 암호키를 생성할 때에, 1차 인증 정보에 추가로 다른 인증 정보를 사용할 수 있다. 이 경우, 예를 들어 1차 인증 정보를 l번 해쉬한 값과, 다른 인증 정보를 h번 해쉬한 값을 병합하여 산출되는 값의 적어도 일부분을 포함하도록 암호키를 생성할 수 있다. 또는, 1차 인증 정보를 시드값으로 한 랜덤값과 다른 인증 정보를 시드값으로 한 랜덤값에 기초하여 생성할 수도 있으며, 1차 인증 정보와 추가되는 다른 인증 정보에 기초하는 경우라면 어느 방식도 적용할 수 있다.
사용자 단말기(40)는 단계(130)에서 함수 암호키로 템플릿을 함수 암호화하고, 단계(135)에서 암호키로 비밀 정보를 암호화한다. 비밀 정보는, 전자 지갑이나 전자 거래에 사용하는 사용자의 비밀키 등이 될 수 있으며, 외부에 유출되어서는 아니되며, 분실시에 복구가 필요한 정보라면 어느 것이든 다 포함할 수 있다.
사용자 단말기(40)는, 식별 정보와, 함수 암호화된 템플릿과, 암호화된 비밀 정보를 서버(30)로 전송한다(단계 140).
서버(30)는 식별 정보와, 함수 암호화된 템플릿과, 암호화된 비밀 정보를 매칭시켜서 저장한다(단계 145).
사용자 단말기(40)는, 함수 암호화된 템플릿과, 비밀 정보와, 함수 암호키를 저장한다(단계 150).
사용자가 사용자 단말기(40)를 분실하거나 교체해서 사용자 단말기가 바뀌거나, 다른 이유로 비밀 정보를 분실한 경우에는, 서버(30)에 저장되어 있는 비밀 정보를 사용자 단말기(40)에 복구할 수 있다. 도 2를 참조하여 복구 과정에 대해서 설명한다. 사용자 단말기(40)에는 본 발명에 의한 비밀 정보 저장 및 복구에 관한 컴퓨터 실행 가능 프로그램이 설치되어 복구 과정을 실행할 수 있다.
사용자 단말기(40)는 일단 생체 정보 인식 장치(10)에 의해서 생체 정보를 획득한다(단계 200). 사용자 단말기(40)는 획득한 생체 정보의 템플릿을 획득하고(단계 205), 1차 인증 정보를 입력받는다(단계 210). 단계(215)에서는 단계(115)에서와 같은 방식으로 식별 정보를 생성한다.
사용자 단말기(40)는 단계(215)에서 생성된 식별 정보를 서버(30)로 전송한다(단계 220).
서버(30)는, 식별 정보에 대응하는 함수 암호화된 템플릿을 추출한다(단계 225). 예를 들어, 1차 인증 정보를 "1234"와 같은 네자리 번호로 설정한 경우에, 같은 1차 인증 정보를 설정한 다른 사용자들의 함수 암호화된 템플릿들도 복수 개 추출될 수 있다. 1차 인증 정보를 복잡하게 해서 중복될 확률이 낮아지게 할 수도 있지만 사용 편의성을 고양하기 위해서는 간단한 정보를 1차 인증 정보로 하는 것이 바람직하다.
사용자 단말기(40)는, 함수 암호키를 생성한다(단계 230). 이 때 함수 암호키는 단계(120)과 동일한 방식으로 생성한다.
사용자 단말기(40)는, 단계(230)에서 생성된 함수 암호키를 이용하여 템플릿을 함수 암호화한다(단계 235).
사용자 단말기(40)는, 함수 암호화된 템플릿을 서버(30)로 전송한다(단계 240).
서버(30)는, 단계(225)에서 추출된 함수 암호화된 템플릿과, 단계(240)에서 전송된 함수 암호화된 템플릿에 대해서 연산을 수행하여 일치하는 암수 암호화된 템플릿을 추출한다(단계 245). 템플릿이 함수 암호화되어 있기 때문에, 복호화하지 않고도 소정의 연산을 수행하여 일치하는 템플릿을 찾을 수 있어서 생체 정보 유출을 원천적으로 차단할 수 있다.
서버(30)는, 단계(245)에서 찾은 함수 암호화된 템플릿과 매칭되어 저장되어 있는 암호화된 비밀 정보를 사용자 단말기(40)로 전송한다(단계 250).
사용자 단말기(40)는 암호키를 생성하는데(단계 255), 단계(125)에서와 동일한 방식으로 암호키를 생성한다.
사용자 단말기(40)는 단계(255)에서 생성된 암호키로 단계(250)에서 수신한 암호화된 비밀 정보를 복호화하고, 그 비밀 정보를 저장함으로써(단계 260), 비밀 정보의 복구를 완료한다.
본 발명에 의하면, 사용자의 고유한 개인 정보와 생체 정보를 매칭시키지 않기 때문에 해당 생체 정보가 누구의 것인지 쉽게 특정할 수 없어서 보안성이 고양되며, 생체 정보 템플릿을 함수 암호화하여 서버에 저장함으로써 생체 정보의 유출 위험없이 암호화된 비밀 정보와 매칭시켜서 저장할 수 있으므로의 분실시에 안전하게 복구할 수 있는 작용효과가 있다.
이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.
10: 생체 정보 인식 장치
20: 연산 및 통신 장치
30: 서버
40: 사용자 단말기

Claims (10)

  1. 생체 정보 인식 장치와, 사용자 단말기와, 서버를 포함하는 환경에서 수행되는 서버에의 비밀 정보 저장 방법에 있어서,
    생체 정보 인식 장치가 인식한 생체 정보의 템플릿을 사용자 단말기가 획득하는 제1 단계와,
    사용자 단말기가, 사용자가 입력한 1차 인증 정보에 기초하여 식별 정보를 생성하는 제2 단계와,
    사용자 단말기가, 함수 암호키를 생성하는 제3 단계와,
    사용자 단말기가, 비밀 정보를 암호화하는 암호키를 생성하는 제4 단계와,
    사용자 단말기가, 함수 암호키로 템플릿을 암호화하는 제5 단계와,
    사용자 단말기가, 암호키로 비밀 정보를 암호화하는 제6 단계와,
    사용자 단말기가, 식별 정보와, 함수 암호화된 템플릿과, 암호화된 비밀 정보를 서버로 전송하는 제7 단계와,
    사용자 단말기가, 함수 암호화된 템플릿과, 비밀 정보와, 함수 암호키를 저장하는 제8 단계를 포함하는,
    서버에의 비밀 정보 저장 방법.
  2. 청구항 1에 있어서,
    제2 단계에서, 식별 정보는 1차 인증정보를 n번 해쉬한 값의 적어도 일부분을 포함하도록 생성되는,
    서버에의 비밀 정보 저장 방법.
  3. 청구항 2에 있어서,
    제3 단계에서, 함수 암호키는 1차 인증정보에 기초하여 생성되는,
    서버에의 비밀 정보 저장 방법.
  4. 청구항 3에 있어서,
    함수 암호키는 1차 인증 정보를 m번 해쉬한 값의 적어도 일부분을 포함하도록 생성되는,
    서버에의 비밀 정보 저장 방법.
  5. 청구항 2에 있어서,
    제4 단계에서, 암호키는 1차 인증정보에 기초하여 생성되는,
    서버에의 비밀 정보 저장 방법.
  6. 청구항 5에 있어서,
    암호키는 1차 인증 정보를 l번 해쉬한 값의 적어도 일부분을 포함하도록 생성되는,
    서버에의 비밀 정보 저장 방법.
  7. 청구항 6에 있어서,
    사용자로부터 2차 인증정보를 입력받는 제4-1 단계를 더 포함하며,
    암호키는 1차 인증정보를 l번 해쉬한 값 및 2차 인증정보를 h번 해쉬한 값을 병합한 값의 적어도 일부분을 포함하도록 생성되는,
    서버에의 비밀 정보 저장 방법.
  8. 청구항 1 내지 청구항 7 중 어느 하나의 청구항에 의한 비밀 정보 저장 방법에 의해서 비밀 정보가 저장된 후 비밀 정보를 사용자 단말기에 복구하는 비밀 정보 복구 방법에 있어서,
    사용자 단말기가 사용자로부터 1차 인증 정보를 입력받는 제9 단계와,
    사용자 단말기가 생체 정보 인식 장치로부터 전달된 생체 정보의 템플릿을 획득하는 제10 단계와,
    사용자 단말기가 1차 인증 정보에 기초하여 생성한 식별 정보를 서버로 전달하여, 서버가 해당 식별 정보에 대응하여 저장되어 있는 함수 암호화된 템플릿을 검색하도록 하는 제11 단계와,
    사용자 단말기가 함수 암호키를 생성하고 함수 암호키로 템플릿을 함수 암호화하는 제12 단계와,
    사용자 단말기가, 함수 암호화된 템플릿을 서버로 전송하여 서버가 제11 단계에서 검색된 함수 암호화된 템플릿과 제12 단계에서 수신한 함수 암호화된 템플릿을 대비하여 일치하는 템플릿을 찾도록 하는 제13 단계와,
    사용자 단말기가, 서버가 제13 단계에서 찾은 템플릿에 대응하는 암호화된 비밀 정보를 서버로부터 수신하는 제14 단계와,
    사용자 단말기가, 비밀 정보의 암호키를 생성하고 제14 단계에서 수신한 암호화된 비밀 정보를 복호화하여 저장하는 제15 단계를 포함하는,
    비밀 정보 복구 방법.
  9. 사용자 단말기에,
    생체 정보 인식 장치가 인식한 생체 정보의 템플릿을 사용자 단말기가 획득하는 제1 단계와,
    사용자가 입력한 1차 인증 정보에 기초하여 식별 정보를 생성하는 제2 단계와,
    함수 암호키를 생성하는 제3 단계와,
    암호키를 생성하는 제4 단계와,
    함수 암호키로 템플릿을 암호화하는 제5 단계와,
    암호키로 비밀 정보를 암호화하는 제6 단계와,
    식별 정보와, 함수 암호화된 템플릿과, 암호화된 비밀 정보를 서버로 전송하는 제7 단계와,
    함수 암호화된 템플릿과, 비밀 정보와, 함수 암호키를 저장하는 제8 단계를 실행시키기 위하여 컴퓨터 판독 가능 기록 가능 매체에 저장된,
    컴퓨터 프로그램.
  10. 청구항 9의 컴퓨터 프로그램의 실행에 의해 서버에 저장된 비밀 정보를 사용자 단말기에 복구하기 위해 사용자 단말기에,
    사용자로부터 1차 인증 정보를 입력받는 제9 단계와,
    생체 정보 인식 장치로부터 전달된 생체 정보의 템플릿을 획득하는 제10 단계와,
    1차 인증 정보에 기초하여 생성한 식별 정보를 서버로 전달하여, 서버가 해당 식별 정보에 대응하여 저장되어 있는 함수 암호화된 템플릿을 검색하도록 하는 제11 단계와,
    함수 암호키를 생성하고 함수 암호키로 템플릿을 함수 암호화하는 제12 단계와,
    함수 암호화된 템플릿을 서버로 전송하여 서버가 제11 단계에서 검색된 함수 암호화된 템플릿과 제12 단계에서 수신한 함수 암호화된 템플릿을 대비하여 일치하는 템플릿을 찾도록 하는 제13 단계와,
    서버가 제13 단계에서 찾은 템플릿에 대응하는 암호화된 비밀 정보를 서버로부터 수신하는 제14 단계와,
    암호키를 생성하고 제14 단계에서 수신한 암호화된 비밀 정보를 복호화하여 저장하는 제15 단계를 실행시키기 위하여 컴퓨터 판독 가능 기록 가능 매체에 저장된,
    컴퓨터 프로그램.
KR1020180165772A 2018-12-20 2018-12-20 서버에의 비밀 정보 저장 방법 및 복구 방법 KR102210620B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180165772A KR102210620B1 (ko) 2018-12-20 2018-12-20 서버에의 비밀 정보 저장 방법 및 복구 방법
PCT/KR2019/012444 WO2020130297A1 (ko) 2018-12-20 2019-09-25 서버에의 비밀 정보 저장 방법 및 복구 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180165772A KR102210620B1 (ko) 2018-12-20 2018-12-20 서버에의 비밀 정보 저장 방법 및 복구 방법

Publications (2)

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

Family

ID=71101826

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180165772A KR102210620B1 (ko) 2018-12-20 2018-12-20 서버에의 비밀 정보 저장 방법 및 복구 방법

Country Status (2)

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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100031354A (ko) * 2008-09-12 2010-03-22 아시아나아이디티 주식회사 Otp를 이용한 태그 보안 처리 방법
WO2018038914A1 (en) * 2016-08-23 2018-03-01 Visa International Service Association Remote usage of locally stored biometric authentication data
KR20180026508A (ko) * 2015-07-02 2018-03-12 알리바바 그룹 홀딩 리미티드 생체 특징에 기초한 보안 검증 방법, 클라이언트 단말, 및 서버
KR101838432B1 (ko) * 2017-02-22 2018-04-26 인하대학교 산학협력단 바이오매트릭스와 함수암호-내적을 이용한 인증 방법 및 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105960775B (zh) * 2014-03-03 2020-01-07 英特尔公司 用于迁移密钥的方法和装置
KR101966379B1 (ko) * 2015-12-23 2019-08-13 주식회사 케이티 생체 정보 기반 인증 장치, 이와 연동하는 제어 서버 및 어플리케이션 서버, 그리고 이들의 동작 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100031354A (ko) * 2008-09-12 2010-03-22 아시아나아이디티 주식회사 Otp를 이용한 태그 보안 처리 방법
KR20180026508A (ko) * 2015-07-02 2018-03-12 알리바바 그룹 홀딩 리미티드 생체 특징에 기초한 보안 검증 방법, 클라이언트 단말, 및 서버
WO2018038914A1 (en) * 2016-08-23 2018-03-01 Visa International Service Association Remote usage of locally stored biometric authentication data
KR101838432B1 (ko) * 2017-02-22 2018-04-26 인하대학교 산학협력단 바이오매트릭스와 함수암호-내적을 이용한 인증 방법 및 시스템

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
KR102210620B1 (ko) 2021-02-02
WO2020130297A1 (ko) 2020-06-25

Similar Documents

Publication Publication Date Title
US10680808B2 (en) 1:N biometric authentication, encryption, signature system
US10469253B2 (en) Methods and apparatus for migrating keys
US11943363B2 (en) Server-assisted privacy protecting biometric comparison
US10848304B2 (en) Public-private key pair protected password manager
JP6927981B2 (ja) パスコード検証のためのフォワードセキュア型暗号技術を使用した方法、システム、及び装置。
JP7259868B2 (ja) システムおよびクライアント
US10867056B2 (en) Method and system for data protection
KR20180069669A (ko) 바이오정보를 이용한 패스워드 없는 전자서명 시스템
US11968300B2 (en) Data extraction system, data extraction method, registration apparatus, and program
WO2020121461A1 (ja) 照合システム、クライアントおよびサーバ
WO2020121458A1 (ja) 照合システム、クライアントおよびサーバ
KR102561689B1 (ko) 생체 정보 등록 장치 및 방법, 생체 인증 장치 및 방법
KR102210620B1 (ko) 서버에의 비밀 정보 저장 방법 및 복구 방법
US11909892B2 (en) Authentication system, client, and server
CN114912126B (zh) 一种防止密码遗忘的身份校验方法和系统
Chae et al. User authentication algorithm guaranteeing reusability of biometric data in BioPKI system
TW202326477A (zh) 應用生物辨識於工業物聯網的安全認證方法及系統

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