KR20230122376A - 전자 장치 및 그 제어 방법 - Google Patents

전자 장치 및 그 제어 방법 Download PDF

Info

Publication number
KR20230122376A
KR20230122376A KR1020220018958A KR20220018958A KR20230122376A KR 20230122376 A KR20230122376 A KR 20230122376A KR 1020220018958 A KR1020220018958 A KR 1020220018958A KR 20220018958 A KR20220018958 A KR 20220018958A KR 20230122376 A KR20230122376 A KR 20230122376A
Authority
KR
South Korea
Prior art keywords
feature vectors
biometric data
feature vector
data
obtaining
Prior art date
Application number
KR1020220018958A
Other languages
English (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 KR1020220018958A priority Critical patent/KR20230122376A/ko
Priority to PCT/KR2023/001762 priority patent/WO2023153772A1/ko
Publication of KR20230122376A publication Critical patent/KR20230122376A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • 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
    • 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/40Network security protocols

Abstract

전자 장치가 개시된다. 전자 장치는, 상이한 타입의 복수의 생체 데이터에 기초하여 생성된 헬퍼 데이터(helper data)가 저장된 메모리 및, 제1 타입의 제1 생체 데이터 및 제2 타입의 제2 생체 데이터가 획득되면, 제1 생체 데이터 및 제2 생체 데이터를 각각 처리하여 제1 특징 벡터 및 제2 특징 벡터를 획득하고, 획득된 제1 특징 벡터 및 제2 특징 벡터를 결합하여 결합된 특징 벡터를 획득하고, 결합된 특징 벡터 및 헬퍼 데이터에 기초하여 암호화 키를 복원(reproduce)하고 복원된 암호화 키에 기초하여 사용자 인증을 요청하는 프로세서를 포함한다.

Description

전자 장치 및 그 제어 방법 { Electronic apparatus and control method thereof }
본 개시는 전자 장치 및 그 제어 방법에 관한 것으로, 더욱 상세하게는 사용자 인증을 수행하는 전자 장치 및 그 제어 방법에 관한 것이다.
유럽은행당국 (EBA, European Banking Authority)은 강력한 고객 인증을 위한 요소로 behavioral biometrics을 승인했다.
새로운 Payment Service Direct 2(PSD2)는 곧 유럽에서 기본적인 결제 수단이 될 것이다. 이러한 규제는 금융 생태계는 물론 일상 생활에도 큰 영향을 미칠 것이다.
한편, 자동차 판매업체는 초광대역 무선(UWB) 기능을 사용하여 가방이나 주머니에서 스마트폰을 꺼내지 않고도 차량을 잠그고 잠금을 해제하고 시동을 걸 수 있는 기능을 추가하고 있다. 이 경우, 이중 인증은 필수이며 패스워드 외에 추가로 사용할 수 있는 두 번째 인증이 없으면 문제가 있을 수 있다.
본 개시는 상술한 필요성에 의해 안출된 것으로, 본 개시의 목적은 사용자 등록시 상이한 타입의 생체 데이터에 기초하여 헬퍼 데이터(helper data)를 획득하여 저장하고, 사용자 인증시 기 저장된 헬퍼 데이터에 기초하여 인증을 위한 암호화 키를 복원하는 전자 장치 및 그 제어 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 개시의 일 실시 예에 따른 전자 장치는, 상이한 타입의 복수의 생체 데이터에 기초하여 생성된 헬퍼 데이터(helper data)가 저장된 메모리 및, 제1 타입의 제1 생체 데이터 및 제2 타입의 제2 생체 데이터가 획득되면, 상기 제1 생체 데이터 및 상기 제2 생체 데이터를 각각 처리하여 제1 특징 벡터 및 제2 특징 벡터를 획득하고, 상기 획득된 제1 특징 벡터 및 제2 특징 벡터를 결합하여 결합된 특징 벡터를 획득하고, 상기 결합된 특징 벡터 및 상기 헬퍼 데이터에 기초하여 암호화 키를 복원(reproduce)하고 상기 복원된 암호화 키에 기초하여 사용자 인증을 요청하는 프로세서를 포함한다.
또한, 상기 프로세서는, 상기 결합된 특징 벡터에 기초하여 신규 헬퍼 데이터를 획득하고, 상기 메모리에 저장된 상기 헬퍼 데이터와 상기 신규 헬퍼 데이터를 비교하여 상기 메모리에 저장된 상기 헬퍼 데이터의 업데이트가 필요한지 여부를 식별하고, 상기 업데이트가 필요한 경우로 식별되면, 상기 메모리에 저장된 상기 헬퍼 데이터를 상기 신규 헬퍼 데이터로 업데이트할 수 있다.
또한, 상기 프로세서는, 상기 적어도 하나에 대응되는 특징 벡터에 LSH(Locality Sensitive Hashing) 및 SKE(Symmetric Keyring Encryption) 기술을 적용하여 상기 신규 헬퍼 데이터를 획득할 수 있다.
또한, 상기 프로세서는, 사용자 등록 절차가 개시되면, 상기 상이한 타입의 복수의 생체 데이터를 각각 처리하여 특징 벡터들을 획득하고, 상기 획득된 특징 벡터들에 가중치를 적용하여 상기 가중치가 적용된 특징 벡터들을 획득하고, 상기 가중치가 적용된 특징 벡터들을 인터리빙하여 상기 인터리빙된 특징 벡터들을 획득하고, 상기 인터리빙된 특징 벡터들을 결합하여 결합된 특징 벡터를 획득하고, 상기 결합된 특징 벡터에 기초하여 암호화 키 및 상기 헬퍼 데이터를 획득하고 상기 획득된 헬퍼 데이터를 상기 메모리에 저장할 수 있다.
또한, 상기 프로세서는, 상기 가중치가 적용된 특징 벡터들 및 랜덤 노이즈(random noise)에 기초하여 노이즈 특징 벡터들을 획득하고, 상기 획득된 노이즈 특징 벡터들을 인터리빙하여 상기 인터리빙된 특징 벡터들을 획득할 수 있다.
또한, 상기 프로세서는, 상기 상이한 타입의 복수의 생체 데이터 각각의 우선 순위에 기초하여 상기 상이한 타입의 복수의 생체 데이터 각각에 대응되는 가중치를 식별하고, 상기 획득된 특징 벡터들에 상기 식별된 가중치를 적용하여 상기 가중치가 적용된 특징 벡터들을 획득할 수 있다.
또한, 상기 프로세서는, 상기 결합된 특징 벡터를 에러 정정하여 상기 암호화 키를 생성할 수 있다.
또한, 상기 프로세서는, 상기 결합된 특징 벡터 및 상기 헬퍼 데이터에 Shamir Secret Sharing 방식에 기반한 다항식 복원 알고리즘(polynomial recovery algorithm)을 적용하여 상기 암호화 키를 복원할 수 있다.
또한, 상기 상이한 타입의 복수의 생체 데이터는, 키스트로크 다이나믹스(keystroke dynamics) 정보, 걸음걸이(gait) 정보, 음성(voice) 정보 또는 얼굴 정보 중 적어도 하나를 포함할 수 있다.
또한, 사용자 등록 절차에서 암호화 키를 생성하는데 이용되는 복수의 생체 데이터의 개수는, 사용자 인증 과정에서 암호화 키를 복원하는데 이용되는 복수의 생체 데이터의 개수보다 많을 수 있다.
한편, 일 실시 예에 따른 상이한 타입의 복수의 생체 데이터에 기초하여 생성된 헬퍼 데이터(helper data)를 저장하는 전자 장치의 제어 방법은, 제1 타입의 제1 생체 데이터 및 제2 타입의 제2 생체 데이터가 획득되면, 상기 제1 생체 데이터 및 상기 제2 생체 데이터를 각각 처리하여 제1 특징 벡터 및 제2 특징 벡터를 획득하는 단계, 상기 획득된 제1 특징 벡터 및 제2 특징 벡터를 결합하여 결합된 특징 벡터를 획득하는 단계 및, 상기 결합된 특징 벡터 및 상기 헬퍼 데이터에 기초하여 암호화 키를 복원하고 상기 복원된 암호화 키에 기초하여 사용자 인증을 요청하는 단계를 포함할 수 있다.
또한, 상기 결합된 특징 벡터에 기초하여 신규 헬퍼 데이터를 획득하는 단계, 상기 메모리에 저장된 상기 헬퍼 데이터와 상기 신규 헬퍼 데이터를 비교하여 상기 저장된 상기 헬퍼 데이터의 업데이트가 필요한지 여부를 식별하는 단계 및, 상기 업데이트가 필요한 경우로 식별되면, 상기 저장된 상기 헬퍼 데이터를 상기 신규 헬퍼 데이터로 업데이트하는 단계를 더 포함할 수 있다.
또한, 상기 신규 헬퍼 데이터를 획득하는 단계는, 상기 적어도 하나에 대응되는 특징 벡터에 LSH(Locality Sensitive Hashing) 및 SKE(Symmetric Keyring Encryption) 기술을 적용하여 상기 신규 헬퍼 데이터를 획득할 수 있다.
또한, 사용자 등록 절차가 개시되면, 상기 상이한 타입의 복수의 생체 데이터를 각각 처리하여 특징 벡터들을 획득하는 단계, 상기 획득된 특징 벡터들에 가중치를 적용하여 상기 가중치가 적용된 특징 벡터들을 획득하는 단계, 상기 가중치가 적용된 특징 벡터들을 인터리빙하여 상기 인터리빙된 특징 벡터들을 획득하는 단계, 상기 인터리빙된 특징 벡터들을 결합하여 결합된 특징 벡터를 획득하는 단계, 상기 결합된 특징 벡터에 기초하여 암호화 키 및 상기 헬퍼 데이터를 획득하는 단계 및, 상기 획득된 헬퍼 데이터를 저장하는 단계를 더 포함할 수 있다.
또한, 상기 가중치가 적용된 특징 벡터들을 획득하는 단계는, 상기 가중치가 적용된 특징 벡터들 및 랜덤 노이즈(random noise)에 기초하여 노이즈 특징 벡터들을 획득하며, 상기 인터리빙된 특징 벡터들을 획득하는 단계는, 상기 획득된 노이즈 특징 벡터들을 인터리빙하여 상기 인터리빙된 특징 벡터들을 획득할 수 있다.
또한, 상기 가중치가 적용된 특징 벡터들을 획득하는 단계는, 상기 상이한 타입의 복수의 생체 데이터 각각의 우선 순위에 기초하여 상기 상이한 타입의 복수의 생체 데이터 각각에 대응되는 가중치를 식별하는 단계 및, 상기 획득된 특징 벡터들에 상기 식별된 가중치를 적용하여 상기 가중치가 적용된 특징 벡터들을 획득하는 단계를 포함할 수 있다.
또한, 상기 암호화 키 및 상기 헬퍼 데이터를 획득하는 단계는, 상기 결합된 특징 벡터를 에러 정정하여 상기 암호화 키를 생성할 수 있다.
또한, 상기 사용자 인증을 요청하는 단계는, 상기 결합된 특징 벡터 및 상기 헬퍼 데이터에 Shamir Secret Sharing 방식에 기반한 다항식 복원 알고리즘(polynomial recovery algorithm)을 적용하여 상기 암호화 키를 복원할 수 있다.
또한, 상기 상이한 타입의 복수의 생체 데이터는, 키스트로크 다이나믹스(keystroke dynamics) 정보, 걸음걸이(gait) 정보, 음성(voice) 정보 또는 얼굴 정보 중 적어도 하나를 포함할 수 있다.
또한, 사용자 등록 절차에서 암호화 키를 생성하는데 이용되는 복수의 생체 데이터의 개수는, 사용자 인증 과정에서 암호화 키를 복원하는데 이용되는 복수의 생체 데이터의 개수보다 많을 수 있다.
상술한 다양한 실시 예에 따르면, 사용자의 주의 없이 수집되는 복수의 생체 데이터에 기초하여 사용자 인증을 수행할 수 있으므로 사용자의 편의성이 향상된다. 또한, 사용자의 프로필이 지속적으로 업데이트되므로 사용자의 행동 변화에 적응적인 인증을 수행할 수 있게 된다.
도 1은 일 실시 예에 따른 전자 장치의 구현 예를 설명하기 위하 도면들이다.
도 2는 일 실시 예에 따른 전자 장치의 구성을 나타내는 블럭도이다.
도 3a 내지 도 3e은 일 실시 예에 따른 사용자 인증 과정을 자세히 설명하기 위한 도면들이다.
도 4는 일 실시 예에 따른 특징 벡터 결합 방법을 설명하기 위한 도면이다.
도 5a 및 도 5b는 일 실시 예에 따른 사용자 등록 방법을 설명하기 위한 도면들이다.
도 6a 및 도 6b는 일 실시 예에 따른 헬퍼 데이터 업데이트 방법을 설명하기 위한 도면들이다.
도 7a 및 도 7b는 일 실시 예에 따른 암호화 키 복원 방법을 설명하기 위한 도면들이다.
도 8a, 도 8b 및 도 8c는 일 실시 예에 따른 유즈 케이스를 설명하기 위한 도면들이다.
도 9a 내지 도 9c는 일 실시 예에 따른 침해 입증 방법을 설명하기 위한 도면들이다.
도 10은 일 실시 예에 따른 전자 장치의 일 구현 예를 나타내는 블럭도이다.
도 11은 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
이하 첨부된 도면들을 참조하여 본 개시의 일 실시 예를 보다 상세하게 설명한다.
도 1은 일 실시 예에 따른 전자 장치의 구현 예를 설명하기 위한 도면들이다.
전자 장치(100)는 스마트폰, 휴대폰, 태블릿, PMP(Portable Media Mlayer), MP3 player, 게임기 등과 같은 다양한 휴대용 단말로 구현될 수 있다. 다만 이에 한정되지 않으며 그 외의 휴대 가능한 의료 기기, 웨어러블 기기 등도 사용자 단말(100)에 포함될 수 있다. 다만 이하에서는 설명의 편의를 위하여 사용자 단말(100)이 스마트 폰으로 구현되는 것으로 상정하여 설명하도록 한다.
도 1에 도시된 바와 같이 전자 장치(100)는 다양한 타입의 생체 데이터를 수집하여 수집된 생체 데이터를 이용한 인증 즉, Biometrics 인증을 수행할 수 있다. 여기서, Biometrics은 사람의 측정 가능한 신체적, 행동적 특성을 추출하여 본인 여부를 비교, 확인하는 기술을 말한다. 즉, Biometrics는 신체 특성 또는 행위 특성을 측정하여 사용자를 인식할 수 있다. 생체 데이터는 키스트로크 다이나믹스(keystroke dynamics) 정보, 걸음걸이(gait) 정보와 같은 행동 기반 생체 데이터 뿐 아니라, 음성(voice) 정보, 얼굴 정보, 손 모양 정보, 지문 정보, 홍채 정보, 또는 망막 정보 등과 같은 피지컬 생체 데이터를 포함하는 다양한 타입의 생체 데이터를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(100)는 키스트로크 다이나믹스, 걸음걸이, 음성 정보 또는 얼굴 정보 등과 같이 사용자의 주의 없이 수집되는 복수의 생체 데이터에 기초하여 사용자 인증을 수행할 수 있다. 이하에서는 도면을 참고하여 사용자 인증을 수행하는 다양한 실시 예에 대해 설명하도록 한다.
도 2는 일 실시 예에 따른 전자 장치의 구성을 나타내는 블럭도이다.
도 2에 따르면 전자 장치(100)는 메모리(110) 및 프로세서(120)를 포함한다.
메모리(110)는 다양한 실시 예를 위해 필요한 데이터를 저장할 수 있다. 메모리(110)는 데이터 저장 용도에 따라 전자 장치(100)에 임베디드된(embedded) 메모리 형태로 구현되거나, 전자 장치(100)에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 전자 장치(100)의 구동을 위한 데이터의 경우 전자 장치(100)에 임베디드된 메모리에 저장되고, 전자 장치(100)의 확장 기능을 위한 데이터의 경우 전자 장치(100)에 탈부착이 가능한 메모리에 저장될 수 있다. 한편, 전자 장치(100)에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현될 수 있다. 또한, 전자 장치(100)에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결 가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
일 실시 예에 따르면, 메모리(110)는 상이한 타입의 복수의 생체 데이터에 기초하여 획득된 헬퍼 데이터(helper data)를 저장할 수 있다. 다양한 타입의 복수의 생체 데이터를 결합하여 암호화 키를 생성하는 과정에서 획득된 데이터로, 암호화 키를 복원(또는 재생성)하는데 필요한 공개(public) 정보 만을 포함할 수 있다. 예를 들어, 헬퍼 데이터는 string 형태일 수 있으나, 이에 한정되는 것은 아니다. 한편, 헬퍼 데이터는 인증 과정에서 획득된 복수의 생체 데이터 중 적어도 하나에 기초하여 업데이트될 수 있다. 이에 따라 헬퍼 데이터는 동적(dynamic) 헬퍼 데이터가 될 수 있다.
다른 실시 예에 따르면, 헬퍼 데이터는 전자 장치(100)에 저장되지 않고 외부 장치에 저장될 수도 있으며, 이 경우 인증 과정에서 외부 장치로부터 획득될 수 있다.
또한, 메모리(110)는 다양한 실시 예를 구현하는데 필요한 프로그램, 명령어, 수식, 알고리즘 등 다양한 데이터를 저장할 수 있다. 예를 들어, 메모리(110)는 LSH(Locality Sensitive Hashing), Symmetric Keyring Encryption scheme, polynomial recovery algorithm 등과 관련된 다양한 데이터를 저장할 수 있다.
프로세서(120)는 메모리(110)에 저장된 적어도 하나의 인스트럭션(instruction)을 실행함으로써, 다양한 실시 예에 따른 사용자 단말(100)의 동작을 수행할 수 있다.
일 실시 예에 따라 프로세서(120)는 디지털 영상 신호를 처리하는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), GPU(Graphics Processing Unit), AI(Artificial Intelligence) 프로세서, NPU (Neural Processing Unit), TCON(Time controller)으로 구현될 수 있다. 다만, 이에 한정되는 것은 아니며, 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 애플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, ASIC(application specific integrated circuit), FPGA(Field Programmable gate array) 형태로 구현될 수도 있다.
일 실시 예에 따르면 프로세서(120)는 복수의 센서로부터 획득된 상이한 타입의 생체 데이터를 이용하여 사용자 인증을 수행할 수 있다. 다만, 생체 데이터는 키보드 등과 같이 전자 장치(100)와 통신하는 외부 장치로부터 수집되는 것도 가능하다. 복수의 센서는 상술한 바와 같이 다양한 타입 및 다양한 개수로 구현 가능하다. 일 예에 따라 복수의 센서 중 적어도 하나의 센서는 전자 장치(100)에 구비될 수 있다. 다른 예에 따라 복수의 센서 중 적어도 일부 센서는 외부 장치에 구비될 수 있으며, 전자 장치(100)는 외부 장치로부터 적어도 일부의 센싱 데이터를 수신할 수 있다.
프로세서(120)는 복수의 생체 데이터가 획득되면, 복수의 생체 데이터를 각각 처리(예를 들어, 전처리)하여 특징 벡터들을 획득하고 획득된 특징 벡터들을 결합하여 결합된 특징 벡터를 획득할 수 있다. 이 경우, 특징 벡터들의 크기는 일정한 크기로 조정된 크기일 수 있다. 일 예에 따라 얼굴 이미지의 경우 이목구비 중심의 이미지 재단(cropping) 및 히스토그램 균일화(histogram equalization), 이미지 감마 보정(Gamma correction), 가우시안 필터링(Gaussian filtering) 등의 전처리를 수행할 수 있다. 다만, 이는 일 예일 뿐이며, 생체 데이터의 타입에 따라 다양한 전처리가 수행될 수 있다.
이어서, 프로세서(120)는 결합된 특징 벡터 및 메모리(110)에 저장된 헬퍼 데이터에 기초하여 사용자 등록시 생성된 암호화 키를 복원하고 복원된 암호화 키에 기초하여 사용자 인증을 요청할 수 있다.
일 예에 따라 사용자 인증시 이용되는 사용자 생체 데이터의 타입 수는 사용자 등록시 이용된 복수의 생체 데이터의 타입 수는 적을 수 있다. 예를 사용자 등록시 생성된 암호화 키는 4가지 타입의 생체 데이터를 이용하여 생성되고, 사용자 인증시 복원되는 암호화 키는 2 가지 타입의 생체 데이터를 이용하여 생성될 수 있다. 즉, 등록시에는 최대한 많은 타입의 생체 데이터에 기초하여 암호화 키가 생성되고, 인증시 암호화 키를 생성하는데 이용된 생체 데이터의 타입보다 작은 개수의 타입에 기초하여 암호화 키가 복원될 수 있다. 이는 실 사용자 인증시에서 획득될 수 있는 생체 데이터 타입의 개수가 사용자 등록시 이용된 생체 데이터 타입의 개수와 동일함을 보장할 수 없기 때문이다. 이를 보완하기 위해 암호화 키 복원시 헬퍼 데이터가 이용될 수 있는데 이에 대한 설명은 후술하도록 한다.
이하에서는 일 실시 예에 따른 사용자 등록 과정(이하, 등록 과정)을 상세히 설명하도록 한다. 이하에서는 설명의 편의를 위하여 등록 과정을 프로세서(120)가 진행하는 것으로 설명하였으나, 등록 과정은 외부 장치를 통해 수행될 수 있음은 물론이다.
일 실시 예에 따르면, 프로세서(120)는 상이한 타입의 복수의 생체 데이터를 각각 처리하여 특징 벡터들을 획득하고, 획득된 특징 벡터들에 가중치를 적용하여 가중치가 적용된 특징 벡터들을 획득하고, 가중치가 적용된 특징 벡터들에 기초하여 결합된 특징 벡터를 획득할 수 있다.
일 예에 따라, 프로세서(120)는 가중치가 적용된 특징 벡터들을 인터리빙( interleaving)하여 인터리빙된 특징 벡터들을 획득하고, 인터리빙된 특징 벡터들을 결합하여 결합된 특징 벡터를 획득할 수 있다.
다른 예에 따라 프로세서(120)는 가중치가 적용된 특징 벡터들 및 랜덤 노이즈(random noise)에 기초하여 노이즈 특징 벡터들을 획득하고, 획득된 노이즈 특징 벡터들을 인터리빙하여 인터리빙된 특징 벡터들을 획득할 수 있다. 이 경우 랜덤 노이즈는 의사 랜덤 노이즈 생성기(pseudo-random noise generator)에서 생성된 랜덤 노이즈일 수 있으나 이에 한정되는 것은 아니다. 의사 랜덤 노이즈 생성기는 프로세서(120)와 별도의 하드웨어 구성일 수 있으나, 반드시 이에 한정되는 것은 아니며 프로세서(120)에서 구현되는 기능이거나, 프로세서(120) 내부의 하드웨어로 구현될 수도 있다.
한편, 프로세서(120)는 상이한 타입의 복수의 생체 데이터 각각의 우선 순위에 기초하여 상이한 타입의 복수의 생체 데이터 각각에 대응되는 가중치를 식별하고, 획득된 특징 벡터들에 식별된 가중치를 적용하여 가중치가 적용된 특징 벡터들을 획득할 수 있다. 이 경우, 우선 순위는 상이한 타입의 복수의 생체 데이터 각각의 데이터 크기 정보 또는 타입 정보 중 적어도 하나에 기초하여 결정될 수 있다.
일 실시 예에 따르면, 프로세서(120)는 결합된 특징 벡터를 에러 정정(error coding)하여 암호화 키를 생성하여 사용자 등록을 수행할 수 있다. 여기서, 에러 정정은 예를 들어 Low-density parity-check (LDPC) 코드에 기초한 에러 정정일 수 있으나, 이에 한정되는 것은 아니다.
한편, 프로세서(120)는 암호화 키를 생성하는 과정에서 획득된 헬퍼 데이터를 메모리(110)에 저장할 수 있다. 인증 과정에서 암호화 키의 복원에 도움을 주는 데이터일 수 있다.
이하에서는 일 실시 예에 따른 인증 과정을 상세히 설명하도록 한다.
일 실시 예에 따라 프로세서(120)는 인증 과정에서 획득되는 상이한 타입의 복수의 생체 데이터 각각에 대해 상술한 방식(즉, 등록 과정에서 수행된 방식)과 동일/유사한 방식으로 결합된 특징 벡터를 획득할 수 있다.
일 실시 예에 따라 프로세서(120)는 결합된 특징 벡터 및 메모리(110)에 저장된 헬퍼 데이터에 기초하여 암호화 키를 복원할 수 있다. .
이 경우, 프로세서(120)는 인증 과정에서 획득된 적어도 하나의 타입의 생체 데이터에 기초하여 메모리(110)에 저장된 헬퍼 데이터를 업데이트할 수 있다. 예를 들어, 프로세서(120)는 적어도 하나에 대응되는 특징 벡터에 LSH(Locality Sensitive Hashing) 및 Symmetric Keyring Encryption scheme를 적용하여 헬퍼 데이터를 업데이트할 수 있다. 헬퍼 데이터는 인증 과정에서 업데이트되므로 적응형 헬퍼 데이터(adapative helper data)로 명명할 수도 있다.
일 예에 따라 프로세서(120)는 결합된 특징 벡터 및 헬퍼 데이터에 Shamir Secret Sharing 방식에 기반한 다항식 복원 알고리즘(polynomial recovery algorithm)을 적용하여 암호화 키를 복원할 수 있다.
도 3a 내지 도 3e은 일 실시 예에 따른 사용자 인증 과정을 자세히 설명하기 위한 도면들이다.
일 실시 예에 따르면, 프로세서(120)는 등록(Registration) 과정에서 암호화 키를 생성할 수 있다.
일 예에 따라, 도 3a에 따르면 프로세서(120)는 키스트로크 다이나믹스, 걸음걸이, 음성 정보 또는 지문 정보 등과 같은 다양한 타입의 생체 데이터를 획득하고, 해당 생체 데이터들을 각각 전처리하고(310), 전처리된 각 데이터로부터 특징 벡터를 추출할 수 있다(320). 예를 들어, 도 3b에 도시된 바와 같이 획득된 생체 데이터를 타입 별로 구분하여 복수의 생체 데이터 세트를 획득하고, 획득된 생체 데이터 세트를 각각 각각 전처리하고, 전처리된 각 데이터로부터 특징 벡터 세트를 획득할 수 있다.
한편, 키스트로크는 키보트(소프트웨어 및/또는 하드웨어 키보드 포함)에서 어떤 기능을 수행하거나 해제하기 위해 키를 두드리거나 눌러서 작동시키는 행위를 의미하며, 키스트로크 다이나믹스는 키 입력 특성을 분석하는 생체 인식 기술을 의미한다. 일 예로, 프로세서(120)는 도 3c에 도시된 바와 같은 키스트로크 정보가 획득되면, 획득된 키스트로크 정보를 분석하여 도 3d에 도시된 바와 같이 특징 정보를 획득하고 이에 기초하여 특징 벡터를 획득할 수 있다. 예를 들어, 키 입력 특성을 분석하여 사용자의 특정 문자에 대한 입력 시간 상의 특징 정보를 획득할 수 있다. 다른 예로, 프로세서(120)는 도 3e에 도시된 바와 같이 카메라를 통해 획득된 안구 이미지를 분석하여 홍채 및 눈꺼풀 영역을 검출하여, 홍채 영역을 추출하고, 이에 기초하여 특징 벡터를 획득할 수 있다.
이어서, 프로세서(120)는 결합 모듈을 이용하여 각 생체 데이터에 대응되는 특징 벡터들을 결합하고(330), 결합된 특징 벡터를 스토리지에 저장할 수 있다(340).
이 후, 프로세서(120)는 결합된 특징 벡터에 기초하여 암호화 키 및 헬퍼 데이터를 획득하고(350), 획득된 헬퍼 데이터를 스토리지에 저장할 수 있다. 하지만, 암호화 키가 스토리지에 저장되는 것은 아니다. 여기서, 헬퍼 데이터는 암호화 키를 복원(또는 재 생성)하는데 필요한 공개(public) 정보 만을 포함할 수 있다. 여기서, 스토리지는 전자 장치(100)에 구비된 메모리(110)일 수 있으나, 반드시 이에 한정되는 것은 아니다.
일 실시 예에 따르면, 프로세서(120)는 사용자 인증(Authenticaion) 과정에서 암호화 키를 복원할 수 있다.
예를 들어, 프로세서(120)는 키스트로크 다이나믹스, 걸음걸이 등과 같은 다양한 타입의 생체 데이터를 획득하고, 해당 생체 데이터들을 각각 전처리하고(360), 전처리된 각 데이터로부터 특징 벡터를 추출할 수 있다(370). 인증 과정에서 획득되는 생체 데이터 타입의 개수는 등록 과정에서 획득되는 생체 데이터 타입의 개수보다 적을 수 있으나, 반드시 이에 한정되는 것은 아니다.
이어서, 프로세서(120)는 결합 모듈을 이용하여 각 생체 데이터에 대응되는 특징 벡터들을 결합하고(380), 결합된 특징 벡터 및 스토리지에 저장된 헬퍼 데이터에 기초하여 암호화 키를 복원할 수 있다. 여기서, 스토리지는 전자 장치(100)에 구비된 메모리(110)일 수 있으나, 반드시 이에 한정되는 것은 아니다.
이 후, 프로세서(120)는 생성된 복원된 암호화 키)에 기초하여 사용자 인증을 요청할 수 있다.
도 4는 일 실시 예에 따른 특징 벡터 결합 방법을 설명하기 위한 도면이다.
도 4에 따르면, 프로세서(120)는 상이한 타입의 생체 데이터 각각에 대응되는 특징 벡터 세트(set)가 획득되면, 획득된 특징 벡터 세트에 대응되는 가중치를 결정할 수 있다. 여기서, 가중치는 생체 데이터의 타입, 중요도, 데이터 크기 등에 기초하여 결정될 수 있다. 프로세서(120)는 각 특징 벡터 세트에 대응되는 가중치를 적용할 수 있다(410). 특징 벡터 세트에 가중치가 적용되면, 특징 벡터 세트의 크기가 변경될 수 있다. 이 경우 False Positives 및 False Negatives가 감소될 수 있게 된다.
이어서, 프로세서(120)는 의사 랜덤 노이즈 생성기(420)에 의해 생성된 노이즈를 가중치가 적용된 각 특징 벡터 세트와 결합하여 노이즈 특징 벡터 세트를 획득할 수 있다. 예를 들어, 비어있는 biometric modality(예를 들어, 도시된 실시 예에서 음성) 즉, 획득되지 못한 타입의 생체 데이터가 랜덤 노이즈로 채워질 수 있다. 이에 따라 공격자(attacker)가 세그먼트들(segments) 간의 관계를 추론하는 것을 방지할 수 있게 된다.
이어서, 프로세서(120)는 획득된 노이즈 특징 벡터 세트를 인터리빙(또는 랜덤 인터리빙)할 수 있다(430). 인터리빙 후 각 특징 벡터들은 N 개의 파트로 분리되고, 각 파트는 시퀀스 전체로 스프레드(spread)될 수 있다. 이에 따라 보안성(secrecy) 및 노이즈 내성(noise immunity)을 향상시킬 수 있게 된다. 또한, False Positives를 감소킬 수 있게 된다.
이 후, 프로세서(120)는 인터리빙된 특징 벡터 세트에 대해 에러 정정을 수행한다(440). 이에 따라 동일한 실제 사용자의 특징 벡터 차이로 인한 False Negatives를 감소시킬 수 있게 된다. 일 예에 따라 False Positives이 증가되지 않도록 Low-density parity-check (LDPC) 코드에 기초한 에러 정정이 수행될 수 있으나, 이에 한정되는 것은 아니다.
도 5a 및 도 5b는 일 실시 예에 따른 사용자 등록 방법을 설명하기 위한 도면들이다.
도 5a에 따르면, 사용자로부터 등록 요청이 수신되면(1), Fuzzy Extractor(FE)는 키 생성기(KEY)로 키 생성을 요청하고(2), 키 생성기는 랜덤 키를 생성하여 Fuzzy Extractor(FE)로 전송할 수 있다(3). 여기서, Fuzzy Extractor(FE) 및 키 생성기(KEY)는 별도의 하드웨어 칩으로 구현될 수 있으나 반드시 이에 한정되는 것은 아니다. 일 예에 따라 Fuzzy Extractor(FE) 및 키 생성기(KEY)는 본 개시에서 정의한 프로세서(120)의 일부로 구현될 수도 있다.
Fuzzy Extractor(FE)는 사용자의 생체 데이터를 요청하여(4), 사용자에게 생체 데이터를 제공받을 수 있다(5). 예를 들어, 생체 데이터를 요청하는 안내 문구를 포함하는 UI를 통해 사용자에게 생체 데이터를 요청하여 센서를 통해 생체 데이터를 획득할 수 있다.
Fuzzy Extractor(FE)는 생체 데이터 및 랜덤 키에 기초하여 헬퍼 데이터를 생성하고(6), 헬퍼 데이터를 스토리지(일 예로 메모리(110))에 저장할 수 있다(7).
또한, Fuzzy Extractor(FE)는 키 생성기로 생성된 랜덤 키의 제거(delete 또는 destroy)를 요청하고(8), 사용자로부터 획득된 생체 데이터를 제거(delete)할 수 있다(9). 이와 같이 사용자 등록이 완료되면, 사용자에게 피드백을 제공할 수 있다(10). 이 경우, 랜덤 키는 헬퍼 데이터를 통해 사용자 생체 데이터에 바인딩되지만, 그 자체로 변경되는 것은 아니다.
도 5b에 따르면, 도 4에서 설명한 바와 같이 인터리빙 및 에러 정정된 특징 벡터들(w=w1, w2, ...wn)이 획득되면(510), 프로세서(120)는 LSH(locality-sensitive hashing)을 수행하여 h=h1, h2,..., hn = LSH(w1), LSH(w2),..., LSH(wn)을 획득할 수 있다(520). LSH(locality-sensitive hashing)는 데이터 포인트를 버킷으로 해시하여 서로 가까운 데이터 포인트가 높은 확률로 동일한 버킷에 위치하고 서로 멀리 있는 데이터 포인트가 다른 버킷에 있을 가능성이 있는 함수를 의미할 수 있다. 이에 따라 유사한 입력은 근접한 해쉬 값으로 도출되므로 노이즈 회복력(noise resilience)을 향상시킬 수 있게 된다.
이어서, 프로세서(120)는 비밀 다항식(secret polynomial), 예를 들어 f(x) = a0 + a1x + a2x2 +...+anxn을 선택한다.
이어서, 프로세서(120)는 LSH 벡터를 가지는 포인트들에서 해당 다항식을 평가한다(f(h)=f(h1),f(h2),f(h3)...). 이 경우, 프로세서(120)는 다항식 투영(polynomial projection)을 수행하여 각 생체 모달리티(modality)를 그것의 고유 범위로 시프트할 수 있다.
또한, 프로세서(120)는 SKE(Symmetric Key Encryption) 기술을 이용하여 암호화 키 복원에 이용될 헬퍼 데이터를 생성한다(530). SKE(Symmetric Key Encryption) 기술은 동일한 암호화 키를 이용하여 정보를 암호화하고 복원하는 알고리즘이다.
상술한 방식으로 프로세서(120)는 다항식에 기반한 암호화 키 및 헬퍼 데이터를 생성할 수 있다(540). 이 경우, 다항식의 상수 부분이 암호화 키가 될 수 있다. 이 후, 프로세서(120)는 헬퍼 데이터 만을 저장하고 암호화 키는 폐기할 수 있다.
도 6a 및 도 6b는 일 실시 예에 따른 헬퍼 데이터 업데이트 방법을 설명하기 위한 도면들이다.
일 실시 예에 따르면, 암호화 키는 다항식의 상수 부분이 될 수 있으므로 암호화 키를 복원하기 위하여 다항식 보간을 성공해야 한다.
도 6a에 따르면, 프로세서(120)는 헬퍼 데이터 업데이트를 위하여 인증 과정에서 획득된 새로운 특징 벡터 w"1(한 가지 타입의 생체 데이터에 해당)를 이용할 수 있다.
프로세서(120)는 특징 벡터 w"1에 대해 LSH(locality-sensitive hashing)을 수행하여 h"1= LSH(w"1)을 획득할 수 있다.
이어서, 프로세서(120)는 LSH 벡터를 가지는 다항식 포인트들을 평가한다(f(h"1). 이 경우, 프로세서(120)는 다항식 투영(polynomial projection)을 수행하여 해당 생체 모달리티를 그것의 고유 범위로 시프트할 수 있다. 이 경우, 프로세서(120)는 SKE(Symmetric Key Encryption) 기술을 이용하여 헬퍼 데이터를 생성할 수 있다.
이 후, 프로세서(120)는 기존 헬퍼 데이터의 적어도 일부를 새로운 헬퍼 데이터로 대체할 수 있다. 예를 들어, 도 6a에 도시된 바와 같이 걸음 걸이 정보가 업데이트될 수 있다.
도 6b는 헬퍼 데이터 업데이트 과정을 순차적으로 설명하기 위한 도면이다.
도 6b에 따르면, 일반적인 이용 과정에서 사용자가 전자 장치(100)와 상호 동작하여 생체 데이터(예를 들어, 행동 생체 데이터)가 전자 장치(100)의 생체 데이터 관리 모듈(예를 들어, Cauthmodule)에 저장된다(1, 2).
이 후, 사용자 인증이 요구되는 상황에서 사용자는 데이터를 암호화/복호화 해야 하므로 암호화 키 복원 과정이 시작된다(3).
Fuzzy Extractor(FE)는 스토리지에 헬퍼 데이터를 요청하여 수신한다(4, 5). 또한, Fuzzy Extractor(FE)는 생체 데이터 관리 모듈에 생체 데이터 템플릿을 요청하여(6), 생체 데이터 템플릿이 수신한다(7).
반면, 생체 데이터 관리 모듈에 저장된 생체 데이터 템플릿이 충분하지 않은 경우, Fuzzy Extractor(FE)는 에러 정보를 수신하고(8) 사용자에게 생체 데이터를 요청하여(9) 제공받을 수 있다(10).
이 후, Fuzzy Extractor(FE)는 획득된 생체 데이터 템플릿 및 헬퍼 데이터에 기초하여 키 생성키(Key)로 암호화 키 복원을 요청하여(11), 복원된 암호화 키를 수신한다(12). 이 후 복원된 암호화 키에 기초하여 사용자에게 제공하고(13), 사용자는 복원된 암호화 키에 기초하여 사용자 인증(암호화 또는/및 복호화)을 요청할 수 있다(14).
한편, 사용자 인증이 수행된 후, Fuzzy Extractor(FE)는 헬퍼 데이터의 업데이트가 요구되지 않는 경우 생체 데이터 템플릿을 제거(delete 또는 forget)하고(14) 복원된 암호화 키를 제거(delete 또는 destroy)한다(15).
다만, Fuzzy Extractor(FE)는 헬퍼 데이터의 업데이트가 요구되는 경우, 기존의 헬퍼 데이터를 제거(delete 또는 destroy)하고, 생체 데이터 템플릿 및 복원된 암호화 키에 기초하여 새로운 헬퍼 데이터를 생성하고(17), 새로운 헬퍼 데이터를 저장한다(18). 이 후, 생체 데이터 템플릿을 제거(delete 또는 forget)하고(19) 복원된 암호화 키를 제거(delete 또는 destroy)한다(20).
도 7a 및 도 7b는 일 실시 예에 따른 암호화 키 복원 방법을 설명하기 위한 도면들이다.
일 실시 예에 따르면, 프로세서(120)는 인증 과정에서 획득된 생체 데이터에 기초하여 암호화 키를 복원할 수 있다. 인증 과정에서 획득된 생체 데이터의 처리는 도 4에서 설명한 바와 동일할 수 있다.
예를 들어, 프로세서(120)는 인터리빙 및 에러 정정된 특징 벡터들(w=w1, w2, ...wn)이 획득되면(710), LSH(locality-sensitive hashing)을 수행하여 h=h1, h2,..., hn = LSH(w1), LSH(w2),..., LSH(wn)을 획득할 수 있다(720). 이 경우, 유사한 입력은 근접한 해쉬 값으로 도출되므로 노이즈 회복력(noise resilience)을 향상시킬 수 있게 된다.
이어서, 프로세서(120)는 SKE(Symmetric Keyring Encryption) 기술을 이용하여 다항식 포인트의 일부를 복원할 수 있다. 암호화 키 복원을 위해 Shamir Secret Sharing 방식에 기초한 다항식 복원 알고리즘이 이용될 수 있다. Shamir Secret Sharing 방식은 비밀 데이터를 여러 조각(예를 들어, N개)으로 쪼개서 일정 개수 이상(예를 들어, K개(N개 이하)) 조각이 모였을 때만 비밀 데이터를 다시 복원할 수 있도록 하는 방법이다.
한편, 각 생체 입력에 대한 복원된 포인트의 합이 비밀 다항식 차수보다 클 경우 라그랑주 보간법(Lagrange interpolation)을 통해 비밀 다항식을 복원할 수 있다. 여기서, 보간법은 불연속적인 데이터를 이용하여 사이 구간의 값을 추정하는 방법이며, 라그랑주 보간법은 n+1개의 좌표로 n차 이하의 다항식을 만드는 방법이다.
일 예에 따라 도 7b에 도시된 바와 같은 타입의 각 생체 데이터는 500개의 다항식 포인트에 대응하고, 홍채는 1000개의 다항식 포인트에 대응될 수 있다. 다항식 차수가 800인 경우 다항식을 복원하려면 801개 이상의 복원 포인트가 필요하게 된다.
도 8a, 도 8b 및 도 8c는 일 실시 예에 따른 유즈 케이스를 설명하기 위한 도면들이다.
도 8a에 따르면, 걸음걸이, 키스트로크 등과 같은 행동 생체 데이터를 기반으로 스마트 폰에서 디지털 암호화 키를 생성하여 집 문을 열거나 차의 문을 여는 등의 작업에 사용할 수 있다.
도 8b에 따르면, 정확한 UWB(Ultra-Wideband)로 행동 생체 데이터에 기반한 디지털 암호화 키를 생성하여 가방이나 주머니에서 스마트폰을 꺼내지 않고도 차량의 잠금을 해제하고 시동을 걸 수 있다.
도 8c에 따르면, D2(Payment Service Direct 2)를 준수하기 위한 비밀번호에 추가되는 두 번째 요소로, 걸음걸이, 키스트로크 등과 같은 행동 생체 데이터를 기반으로 디지털 암호화 키를 생성하여 다단계 인증에 이용할 수 있다.
도 9a 내지 도 9c는 일 실시 예에 따른 침해 입증 방법을 설명하기 위한 도면들이다.
일 실시 예에 따르면, 사용자 등록시 이용된 복수의 타입의 생체 데이터 중 일부 타입의 생체 데이터 없이 암호화 키가 복원되는 경우 본 개시의 일 실시 예를 이용한 것으로 판단할 수 있다. 예를 들어, 복수의 타입의 생체 인식 센서 중 일부 센서를 턴 오프시킨 상태에서 암호화 키가 복원되는 경우 본 개시의 일 실시 예를 이용한 것으로 판단할 수 있다. 예를 들어 도 9a에 도시된 바와 같이 터치 스크린 데이터(예를 들어, 키스트로크 다이나믹스 정보), 걸음 걸이 데이터, 지문 데이터에 기초하여 암호화 키가 생성된 경우, 이들 생체 데이터 중 어느 하나가 없는 상태에서도 암호화 키가 복원(예를 들어, 인증 성공)된다면, 본 개시의 일 실시 예를 이용한 것으로 판단할 수 있다.
일 실시 예에 따르면, 헬퍼 데이터는 새로 획득된 생체 데이터에 기초하여 업데이트될 수 있다. 예를 들어, 키스트로크 다이나믹스를 변경하면서 암호화 키 복원 여부를 지속적으로 체크하여 본 개시에 대한 침해 여부를 판단할 수 있다. 예를 들어, 도 9b에 도시된 바와 같이 타이핑 속도를 천천히 변경하면서 암호화 키 복원 여부를 지속적으로 체크하여 암호화 키가 계속하여 실패없이 연속적으로 복원되는 경우 헬퍼 데이터가 동적으로 업데이트되는 것으로 판단할 수 있다. 이 경우, 본 개시의 일 실시 예를 이용한 것으로 판단할 수 있다. 다만, 도 9c에 도시된 바와 같이 타이핑 속도를 천천히 변경하면서 암호화 키 복원 여부를 지속적으로 체크하여 암호화 키 복원에 실패하는 경우 헬퍼 데이터가 업데이트되지 않는 것으로 판단할 수 있다.
도 10은 일 실시 예에 따른 전자 장치의 일 구현 예를 나타내는 블럭도이다.
도 10에 따르면, 전자 장치(100')는 메모리(110), 프로세서(120), 센서부(130), 통신 인터페이스(140), 사용자 인터페이스(150), 디스플레이(160) 및 스피커(170)를 포함할 수 있다. 도 9에 도시된 구성 중 도 2에 도시된 구성과 중복되는 구성에 대해서는 자세한 설명을 생략하도록 한다.
센서부(130)는 카메라, 마이크, 터치 센서, 근접 센서, 가속도 센서, 지자기 센서, 자이로 센서, 압력 센서, 위치 센서, 지문 인식 센서 등과 같은 다양한 유형의 센서를 포함할 수 있다. 예를 들어, 카메라는 촬상된 영상을 전기적인 신호로 변환하고 변환된 신호에 기초하여 영상 데이터를 생성할 수 있다. 터치 센서는 정전식 또는 감압식으로 구현될 수 있다. 그 밖에 적외선 감지 방식, 표면 초음파 전도 방식, 적분식 장력 측정 방식, 피에조 효과 방식 등이 터치 조작을 감지하는데 이용될 수 있다. 가속도 센서는 움직임 발생시 가속도 및 가속도의 방향을 측정할 수 있는 센서이다. 자이로 센서는 회전 운동이 일어나면, 그 속도 방향으로 작용하는 코리올리의 힘을 측정하여, 각속도를 검출하는 센서이다. 자이로 센서의 측정 값에 따르면, 어느 방향으로 회전되었는지를 검출할 수 있게 되므로, 벤딩 방향을 감지할 수 있다. 지자기 센서는 2축 또는 3축 플럭스게이트를 이용하여 방위각을 감지하는 센서이다.
일 실시 예에 따라 센서부(130)는 상이한 타입의 생체 데이터를 센싱하는 복수의 센서를 포함할 수 있다. 예를 들어, 센서부(130)는 제1 타입의 생체 데이터를 센싱하는 제1 센서(131) 및 제2 타입의 생체 데이터를 센싱하는 제2 센서(132)를 포함할 수 있다. 일 예에 따라 제1 센서(131)는 걸음걸이 정보를 획득하기 위한 근접 센서, 가속도 센서, 지자기 센서, 자이로 센서 중 적어도 하나로 구현되고, 제2 센서(132)는 음성 정보를 획득하기 위한 마이크로 구현될 수 있다. 다만 이는 일 예일 뿐이며, 키스트로크 다이나믹스(keystroke dynamics) 정보를 센싱하기 위한 터치 센서, 압력 센서 등으로 구현되거나, 얼굴 정보를 획득하기 위한 카메라로 두현될 수 있다. 즉, 복수의 센서는 상이한 타입의 생체 데이터를 센싱할 수 있는 형태라면 한정되지 않고 적용 가능하다.
통신 인터페이스(140)는 전자 장치(100')의 구현 예에 따라 다양한 인터페이스로 구현될 수 있음은 물론이다. 예를 들어 통신 인터페이스(140)는 블루투스(Bluetooth), AP 기반의 Wi-Fi(와이파이, Wireless LAN 네트워크), 지그비(Zigbee), 유/무선 LAN(Local Area Network), WAN(Wide Area Network), 이더넷(Ethernet), IEEE 1394, HDMI(High-Definition Multimedia Interface), USB(Universal Serial Bus), MHL(Mobile High-Definition Link), AES/EBU(Audio Engineering Society/ European Broadcasting Union), 옵티컬(Optical), 코액셜(Coaxial) 등과 같은 통신 방식을 통해 외부 장치, 외부 저장 매체(예를 들어, USB 메모리), 외부 서버(예를 들어 웹 하드) 등과 통신을 수행할 수 있다.
사용자 인터페이스(150)는 버튼, 터치 패드, 마우스 및 키보드와 같은 장치로 구현되거나, 디스플레이 기능 및 조작 입력 기능도 함께 수행 가능한 터치 스크린 등으로 구현될 수 있다.
디스플레이(160)는 자발광 소자를 포함하는 디스플레이 또는, 비자발광 소자 및 백라이트를 포함하는 디스플레이로 구현될 수 있다. 예를 들어, LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, LED(Light Emitting Diodes), 마이크로 LED(micro LED), Mini LED, PDP(Plasma Display Panel), QD(Quantum dot) 디스플레이, QLED(Quantum dot light-emitting diodes) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(110) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다.
스피커(170)는 각종 오디오 데이터뿐만 아니라 각종 알림 음이나 음성 메시지 등을 출력하는 구성일 수 있다.
마이크(미도시)는 사용자 음성이나 기타 소리를 입력받아 오디오 데이터로 변환하기 위한 구성이다.
도 11은 일 실시 예에 따른 전자 장치의 제어 방법을 설명하기 위한 흐름도이다.
도 11에 도시된 상이한 타입의 복수의 생체 데이터에 기초하여 생성된 헬퍼 데이터(helper data)를 저장하는 전자 장치의 제어 방법에 따르면, 제1 타입의 제1 생체 데이터 및 제2 타입의 제2 생체 데이터가 획득한다(S1110). 여기서, 또한, 상이한 타입의 복수의 생체 데이터는, 키스트로크 다이나믹스(keystroke dynamics) 정보, 걸음걸이(gait) 정보, 음성(voice) 정보, 지문 정보 또는 얼굴 정보 중 적어도 하나를 포함할 수 있다.
이어서, S1110 단계에서 획득된 제1 생체 데이터 및 제2 생체 데이터를 각각 처리하여 제1 특징 벡터 및 제2 특징 벡터를 획득한다(S1120).
이어서, S1120 단계에서 획득된 제1 특징 벡터 및 제2 특징 벡터를 결합하여 결합된 특징 벡터를 획득한다(S1130).
이어서, 결합된 특징 벡터 및 헬퍼 데이터에 기초하여 암호화 키를 복원한다(S1140).
이 후, 복원된 암호화 키에 기초하여 사용자 인증을 요청한다(S1150).
또한, 제어 방법은 결합된 특징 벡터에 기초하여 신규 헬퍼 데이터를 획득하는 단계, 저장된 헬퍼 데이터와 신규 헬퍼 데이터를 비교하여 저장된 헬퍼 데이터의 업데이트가 필요한지 여부를 식별하는 단계 및 업데이트가 필요한 경우로 식별되면, 저장된 헬퍼 데이터를 신규 헬퍼 데이터로 업데이트하는 단계를 더 포함할 수 있다.
또한, 신규 헬퍼 데이터를 획득하는 단계는, 적어도 하나에 대응되는 특징 벡터에 LSH(Locality Sensitive Hashing) 및 SKE(Symmetric Keyring Encryption) 기술을 적용하여 신규 헬퍼 데이터를 획득할 수 있다.
또한, 제어 방법은, 사용자 등록 절차가 개시되면, 상이한 타입의 복수의 생체 데이터를 각각 처리하여 특징 벡터들을 획득하는 단계, 획득된 특징 벡터들에 가중치를 적용하여 가중치가 적용된 특징 벡터들을 획득하는 단계, 가중치가 적용된 특징 벡터들을 인터리빙하여 인터리빙된 특징 벡터들을 획득하는 단계, 인터리빙된 특징 벡터들을 결합하여 결합된 특징 벡터를 획득하는 단계, 결합된 특징 벡터에 기초하여 암호화 키 및 헬퍼 데이터를 획득하는 단계 및, 획득된 헬퍼 데이터를 저장하는 단계를 더 포함할 수 있다.
또한, 가중치가 적용된 특징 벡터들을 획득하는 단계는, 가중치가 적용된 특징 벡터들 및 랜덤 노이즈(random noise)에 기초하여 노이즈 특징 벡터들을 획득하며, 인터리빙된 특징 벡터들을 획득하는 단계는, 획득된 노이즈 특징 벡터들을 인터리빙하여 인터리빙된 특징 벡터들을 획득할 수 있다.
또한, 가중치가 적용된 특징 벡터들을 획득하는 단계는, 상이한 타입의 복수의 생체 데이터 각각의 우선 순위에 기초하여 상이한 타입의 복수의 생체 데이터 각각에 대응되는 가중치를 식별하는 단계 및, 획득된 특징 벡터들에 식별된 가중치를 적용하여 가중치가 적용된 특징 벡터들을 획득하는 단계를 포함할 수 있다.
또한, 암호화 키 및 헬퍼 데이터를 획득하는 단계는, 결합된 특징 벡터를 에러 정정하여 암호화 키를 생성할 수 있다.
또한, S1150 단계에서는, 결합된 특징 벡터 및 헬퍼 데이터에 Shamir Secret Sharing 방식에 기반한 다항식 복원 알고리즘(polynomial recovery algorithm)을 적용하여 암호화 키를 복원할 수 있다.
또한, 사용자 등록 절차에서 암호화 키를 생성하는데 이용되는 복수의 생체 데이터의 개수는, 사용자 인증 과정에서 암호화 키를 복원하는데 이용되는 복수의 생체 데이터의 개수보다 많을 수 있다.
상술한 다양한 실시 예에 따르면, 사용자의 주의 없이 수집되는 복수의 생체 데이터에 기초하여 사용자 인증을 수행할 수 있으므로 사용자의 편의성이 향상된다. 또한, 사용자의 프로필이 지속적으로 업데이트되므로 사용자의 행동 변화에 적응적인 인증을 수행할 수 있게 된다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 설치 가능한 어플리케이션 형태로 구현될 수 있다. 또는 상술한 본 개시의 다양한 실시 예들에 따른 방법들, 예를 들어, 반전 이벤트의 식별은 딥 러닝 기반의 인공 신경망(또는 심층 인공 신경망) 즉, 학습 네트워크 모델을 이용하여 수행될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 전자 장치에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들은 전자 장치에 구비된 임베디드 서버, 또는 전자 장치의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(A))를 포함할 수 있다. 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 본 개시의 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
100: 전자 장치 110: 메모리
120: 프로세서

Claims (20)

  1. 상이한 타입의 복수의 생체 데이터에 기초하여 생성된 헬퍼 데이터(helper data)가 저장된 메모리; 및
    제1 타입의 제1 생체 데이터 및 제2 타입의 제2 생체 데이터가 획득되면, 상기 제1 생체 데이터 및 상기 제2 생체 데이터를 각각 처리하여 제1 특징 벡터 및 제2 특징 벡터를 획득하고,
    상기 획득된 제1 특징 벡터 및 제2 특징 벡터를 결합하여 결합된 특징 벡터를 획득하고,
    상기 결합된 특징 벡터 및 상기 헬퍼 데이터에 기초하여 암호화 키를 복원(reproduce)하고 상기 복원된 암호화 키에 기초하여 사용자 인증을 요청하는 프로세서;를 포함하는 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 결합된 특징 벡터에 기초하여 신규 헬퍼 데이터를 획득하고,
    상기 메모리에 저장된 상기 헬퍼 데이터와 상기 신규 헬퍼 데이터를 비교하여 상기 메모리에 저장된 상기 헬퍼 데이터의 업데이트가 필요한지 여부를 식별하고,
    상기 업데이트가 필요한 경우로 식별되면, 상기 메모리에 저장된 상기 헬퍼 데이터를 상기 신규 헬퍼 데이터로 업데이트하는, 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 적어도 하나에 대응되는 특징 벡터에 LSH(Locality Sensitive Hashing) 및 SKE(Symmetric Keyring Encryption) 기술을 적용하여 상기 신규 헬퍼 데이터를 획득하는, 전자 장치.
  4. 제1항에 있어서,
    상기 프로세서는,
    사용자 등록 절차가 개시되면, 상기 상이한 타입의 복수의 생체 데이터를 각각 처리하여 특징 벡터들을 획득하고,
    상기 획득된 특징 벡터들에 가중치를 적용하여 상기 가중치가 적용된 특징 벡터들을 획득하고,
    상기 가중치가 적용된 특징 벡터들을 인터리빙하여 상기 인터리빙된 특징 벡터들을 획득하고,
    상기 인터리빙된 특징 벡터들을 결합하여 결합된 특징 벡터를 획득하고,
    상기 결합된 특징 벡터에 기초하여 암호화 키 및 상기 헬퍼 데이터를 획득하고 상기 획득된 헬퍼 데이터를 상기 메모리에 저장하는, 전자 장치.
  5. 제4항에 있어서,
    상기 프로세서는,
    상기 가중치가 적용된 특징 벡터들 및 랜덤 노이즈(random noise)에 기초하여 노이즈 특징 벡터들을 획득하고,
    상기 획득된 노이즈 특징 벡터들을 인터리빙하여 상기 인터리빙된 특징 벡터들을 획득하는, 전자 장치.
  6. 제4항에 있어서,
    상기 프로세서는,
    상기 상이한 타입의 복수의 생체 데이터 각각의 우선 순위에 기초하여 상기 상이한 타입의 복수의 생체 데이터 각각에 대응되는 가중치를 식별하고,
    상기 획득된 특징 벡터들에 상기 식별된 가중치를 적용하여 상기 가중치가 적용된 특징 벡터들을 획득하는, 전자 장치.
  7. 제4항에 있어서,
    상기 프로세서는,
    상기 결합된 특징 벡터를 에러 정정하여 상기 암호화 키를 생성하는, 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 결합된 특징 벡터 및 상기 헬퍼 데이터에 Shamir Secret Sharing 방식에 기반한 다항식 복원 알고리즘(polynomial recovery algorithm)을 적용하여 상기 암호화 키를 복원하는, 전자 장치.
  9. 제1항에 있어서,
    상기 상이한 타입의 복수의 생체 데이터는,
    키스트로크 다이나믹스(keystroke dynamics) 정보, 걸음걸이(gait) 정보, 음성(voice) 정보 또는 얼굴 정보 중 적어도 하나를 포함하는, 전자 장치.
  10. 제1항에 있어서,
    사용자 등록 절차에서 암호화 키를 생성하는데 이용되는 복수의 생체 데이터의 개수는,
    사용자 인증 과정에서 암호화 키를 복원하는데 이용되는 복수의 생체 데이터의 개수보다 많은, 전자 장치.
  11. 상이한 타입의 복수의 생체 데이터에 기초하여 생성된 헬퍼 데이터(helper data)를 저장하는 전자 장치의 제어 방법에 있어서,
    제1 타입의 제1 생체 데이터 및 제2 타입의 제2 생체 데이터가 획득되면, 상기 제1 생체 데이터 및 상기 제2 생체 데이터를 각각 처리하여 제1 특징 벡터 및 제2 특징 벡터를 획득하는 단계;
    상기 획득된 제1 특징 벡터 및 제2 특징 벡터를 결합하여 결합된 특징 벡터를 획득하는 단계; 및
    상기 결합된 특징 벡터 및 상기 헬퍼 데이터에 기초하여 암호화 키를 복원하고 상기 복원된 암호화 키에 기초하여 사용자 인증을 요청하는 단계;를 포함하는 제어 방법.
  12. 제11항에 있어서,
    상기 결합된 특징 벡터에 기초하여 신규 헬퍼 데이터를 획득하는 단계;
    상기 저장된 상기 헬퍼 데이터와 상기 신규 헬퍼 데이터를 비교하여 상기 저장된 상기 헬퍼 데이터의 업데이트가 필요한지 여부를 식별하는 단계; 및
    상기 업데이트가 필요한 경우로 식별되면, 상기 저장된 상기 헬퍼 데이터를 상기 신규 헬퍼 데이터로 업데이트하는 단계;를 더 포함하는, 제어 방법.
  13. 제12항에 있어서,
    상기 신규 헬퍼 데이터를 획득하는 단계는,
    상기 적어도 하나에 대응되는 특징 벡터에 LSH(Locality Sensitive Hashing) 및 SKE(Symmetric Keyring Encryption) 기술을 적용하여 상기 신규 헬퍼 데이터를 획득하는, 제어 방법.
  14. 제11항에 있어서,
    사용자 등록 절차가 개시되면, 상기 상이한 타입의 복수의 생체 데이터를 각각 처리하여 특징 벡터들을 획득하는 단계;
    상기 획득된 특징 벡터들에 가중치를 적용하여 상기 가중치가 적용된 특징 벡터들을 획득하는 단계;
    상기 가중치가 적용된 특징 벡터들을 인터리빙하여 상기 인터리빙된 특징 벡터들을 획득하는 단계;
    상기 인터리빙된 특징 벡터들을 결합하여 결합된 특징 벡터를 획득하는 단계;
    상기 결합된 특징 벡터에 기초하여 암호화 키 및 상기 헬퍼 데이터를 획득하는 단계; 및
    상기 획득된 헬퍼 데이터를 저장하는 단계;를 더 포함하는, 제어 방법.
  15. 제14항에 있어서,
    상기 가중치가 적용된 특징 벡터들을 획득하는 단계는,
    상기 가중치가 적용된 특징 벡터들 및 랜덤 노이즈(random noise)에 기초하여 노이즈 특징 벡터들을 획득하며,
    상기 인터리빙된 특징 벡터들을 획득하는 단계는,
    상기 획득된 노이즈 특징 벡터들을 인터리빙하여 상기 인터리빙된 특징 벡터들을 획득하는, 제어 방법.
  16. 제14항에 있어서,
    상기 가중치가 적용된 특징 벡터들을 획득하는 단계는,
    상기 상이한 타입의 복수의 생체 데이터 각각의 우선 순위에 기초하여 상기 상이한 타입의 복수의 생체 데이터 각각에 대응되는 가중치를 식별하는 단계; 및
    상기 획득된 특징 벡터들에 상기 식별된 가중치를 적용하여 상기 가중치가 적용된 특징 벡터들을 획득하는 단계;를 포함하는, 제어 방법.
  17. 제14항에 있어서,
    상기 암호화 키 및 상기 헬퍼 데이터를 획득하는 단계는,
    상기 결합된 특징 벡터를 에러 정정하여 상기 암호화 키를 생성하는, 제어 방법.
  18. 제11항에 있어서,
    상기 사용자 인증을 요청하는 단계는,
    상기 결합된 특징 벡터 및 상기 헬퍼 데이터에 Shamir Secret Sharing 방식에 기반한 다항식 복원 알고리즘(polynomial recovery algorithm)을 적용하여 상기 암호화 키를 복원하는, 제어 방법.
  19. 제11항에 있어서,
    상기 상이한 타입의 복수의 생체 데이터는,
    키스트로크 다이나믹스(keystroke dynamics) 정보, 걸음걸이(gait) 정보, 음성(voice) 정보 또는 얼굴 정보 중 적어도 하나를 포함하는, 제어 방법.
  20. 제11항에 있어서,
    사용자 등록 절차에서 암호화 키를 생성하는데 이용되는 복수의 생체 데이터의 개수는,
    사용자 인증 과정에서 암호화 키를 복원하는데 이용되는 복수의 생체 데이터의 개수보다 많은, 제어 방법.




KR1020220018958A 2022-02-14 2022-02-14 전자 장치 및 그 제어 방법 KR20230122376A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220018958A KR20230122376A (ko) 2022-02-14 2022-02-14 전자 장치 및 그 제어 방법
PCT/KR2023/001762 WO2023153772A1 (ko) 2022-02-14 2023-02-08 전자 장치 및 그 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220018958A KR20230122376A (ko) 2022-02-14 2022-02-14 전자 장치 및 그 제어 방법

Publications (1)

Publication Number Publication Date
KR20230122376A true KR20230122376A (ko) 2023-08-22

Family

ID=87564670

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220018958A KR20230122376A (ko) 2022-02-14 2022-02-14 전자 장치 및 그 제어 방법

Country Status (2)

Country Link
KR (1) KR20230122376A (ko)
WO (1) WO2023153772A1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180261A1 (en) * 2004-06-09 2007-08-02 Koninklijke Philips Electronics, N.V. Biometric template protection and feature handling
DE102016002792B4 (de) * 2015-03-09 2022-04-28 Hid Global Corporation Biometrie-Geheimnis-Bindungsschema mit verbessertem Datenschutz
JP6827032B2 (ja) * 2015-08-06 2021-02-10 イントリンシツク・イー・デー・ベー・ベー 物理的複製困難関数を有する暗号装置
KR102289419B1 (ko) * 2017-06-26 2021-08-12 한국전자통신연구원 바이오메트릭을 이용한 사용자의 인증 방법 및 장치

Also Published As

Publication number Publication date
WO2023153772A1 (ko) 2023-08-17

Similar Documents

Publication Publication Date Title
US11256793B2 (en) Method and device for identity authentication
US10440019B2 (en) Method, computer program, and system for identifying multiple users based on their behavior
US20220058255A1 (en) Biometric authentication
US9916432B2 (en) Storing and retrieving cryptographic keys from biometric data
US9208354B2 (en) Techniques for securing use of one-time passwords
CN107077553B (zh) 用于对受保护资源的认证的多用户生物测定
JP6003124B2 (ja) 認証装置、認証装置の制御方法、制御プログラム、および記録媒体
CN110286944A (zh) 用于在电子装置中处理生物计量信息的方法和设备
WO2017215532A1 (zh) 一种生物特征识别装置和方法以及生物特征模板注册方法
US9483682B1 (en) Fingerprint recognition method and device thereof
US10878071B2 (en) Biometric authentication anomaly detection
WO2019101096A1 (zh) 安全验证的方法、装置及移动终端
US11552944B2 (en) Server, method for controlling server, and terminal device
KR102208631B1 (ko) 전자 장치의 보안 정보 입출력 방법 및 이를 사용하는 전자 장치
Lesani et al. Mobile phone security using automatic lip reading
US11251941B2 (en) Managing cryptographic keys based on identity information
CN114144784A (zh) 对用户数据进行加密的电子装置
WO2022022346A1 (zh) 一种安全交互方法及装置
US20170147809A1 (en) Enhancing security of a mobile device using pre-authentication sequences
US11582041B2 (en) Electronic device and control method thereof
KR20230122376A (ko) 전자 장치 및 그 제어 방법
US11023569B2 (en) Secure re-enrollment of biometric templates using functional encryption
CN112334897A (zh) 认证用户的方法和电子设备
EP3906499A1 (en) User authentication using pose-based facial recognition
US20220156351A1 (en) Access control