KR101891288B1 - 생체 인식 데이터를 이용한 계층적 암호 키 생성을 위한 시스템 및 방법 - Google Patents

생체 인식 데이터를 이용한 계층적 암호 키 생성을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR101891288B1
KR101891288B1 KR1020177027888A KR20177027888A KR101891288B1 KR 101891288 B1 KR101891288 B1 KR 101891288B1 KR 1020177027888 A KR1020177027888 A KR 1020177027888A KR 20177027888 A KR20177027888 A KR 20177027888A KR 101891288 B1 KR101891288 B1 KR 101891288B1
Authority
KR
South Korea
Prior art keywords
biometric
descriptors
level
hierarchy
descriptor
Prior art date
Application number
KR1020177027888A
Other languages
English (en)
Other versions
KR20170118949A (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 퀄컴 인코포레이티드
Publication of KR20170118949A publication Critical patent/KR20170118949A/ko
Application granted granted Critical
Publication of KR101891288B1 publication Critical patent/KR101891288B1/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/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Collating Specific Patterns (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

생체 인식 데이터 및 생체 인식 기술자들의 계층 구조를 사용하여 암호 키가 생성된다. 생체 인식 기술자들의 계층 구조는 다수의 레벨들을 포함하고, 제 1 레벨에서의 생체 인식 기술자는 다음 하위 레벨에서의 생체 인식 기술자들의 서브세트와 연관된다. 암호 키를 생성하기 위해, 생체 인식 데이터가 수집되어 계층 구조의 제 1 레벨에서의 생체 인식 기술자들과 비교된다. 제 1 레벨에서 생체 인식 기술자들 중 하나가 선택되고, 처음 선택된 생체 인식 기술자를 기초로 제 1 키 컴포넌트가 생성된다. 그 다음, 생체 인식 데이터는 처음 선택된 생체 인식 기술자와 연관된, 계층 구조의 제 2 레벨에서의 생체 인식 기술자들의 서브세트와 비교된다. 생체 인식 기술자를 선택하고 키 컴포넌트를 생성하는 이러한 프로세스는 계층 구조의 각각의 레벨에 대해 계속된다. 그 다음, 키 컴포넌트들이 암호 키를 생성하는 데 사용된다.

Description

생체 인식 데이터를 이용한 계층적 암호 키 생성을 위한 시스템 및 방법
[0001] 본 출원은 미국 특허 및 상표청에 2015년 4월 6일자 출원된 정규출원 제14/679,840호에 대한 우선권 및 이익을 주장하며, 이 출원의 전체 내용이 인용에 의해 본 명세서에 포함된다.
[0002] 본 개시는 암호화 기술들에 관한 것으로, 보다 구체적으로는 생체 인식 데이터를 이용한 암호 키의 생성에 관한 것이다.
[0003] 하나의 암호화 방식은 공개 키 그리고 비밀로 유지되는 개인 키인 2개의 키들을 사용하는 공개 키 암호 체계이다. 메시지들은 공개 키를 사용하여 암호화되고, 대응하는 개인 키를 사용해서만 복호화될 수 있다. 예를 들어, 전송 측은 주어진 공개 키에 대해 메시지를 암호화하고, 공개 키와 연관된 개인 키의 소유자만이 결과적인 암호문을 복호화하여 메시지를 복구할 수 있다. 공개 키 암호 체계들의 예들은 RSA, 디지털 서명 표준(DSS: Digital Signature Standard), Paillier 암호 체계 및 Diffie-Hellman 키 교환 프로토콜을 포함한다. 다른 암호화 방식은 암호화 및 복호화를 위해 단일 보안 키를 사용하는 대칭 키 암호 체계이다. 보안 키는 안전한 초기 교환에서 당사자들 간에 교환되며, 그 이후 두 당사자들에 의해 메시지들을 암호화하고 복호화하는 데 사용된다. 대칭 키 암호 체계들의 예들은 Twofish, Serpent, AES, Blowfish, CAST5, RC4 및 IDEA를 포함한다. 또한, 하이브리드 암호 체계들은 공개 키 암호 체계들과 대칭 키 암호 체계들 모두를 이용한다. 예를 들어, 대칭 키가 전송 측에 의해 생성되어 수신 측의 공개 키로 메시지에 암호화된다. 수신 측은 자신의 대응하는 개인 키로 메시지를 복호화하여 대칭 키를 획득한다. 전송 측과 수신 측은 그 이후, 대칭 키를 사용하여 메시지들을 암호화 및 복호화한다.
[0004] 개인 키 또는 대칭 키와 같은 암호 키들을 생성하기 위한 하나의 방법은 생체 인식 데이터의 사용을 포함한다. 그러나 생체 인식 데이터의 사용은 생체 인식 데이터 수집의 특성으로 인해 부정확하고 반복 불가능할 수 있다. 예를 들어, 지문이나 망막과 같은 생체 인식 이미지는 스캐닝 기술들의 품질, 스캐닝 도중 생체 인식의 이동, 배경 조건들, 마모되거나 다친 손끝들 등에 따라 달라질 수 있다. 또한, 생체 인식 데이터의 수집은 생체 인식 정보의 가능한 무단 액세스 및 사용에 대한 프라이버시 문제들을 야기한다.
[0005] 따라서 강력하고 안전한 암호 키들의 생성을 위해 생체 인식 데이터의 사용을 가능하게 하는 솔루션이 필요하다.
[0006] 한 양상에 따르면, 생체 인식 데이터를 획득하고 생체 인식 데이터 및 생체 인식 기술자(descriptor)들의 계층 구조를 사용하여 암호 키를 생성하기 위한 방법이 제공된다. 생체 인식 데이터를 사용하여 생체 인식 기술자들의 계층 구조의 제 1 레벨에서 제 1 생체 인식 기술자가 선택된다. 제 1 생체 인식 기술자와 연관된 제 1 키 컴포넌트가 획득된다. 생체 인식 데이터를 사용하여 생체 인식 기술자들의 계층 구조의 제 2 레벨에서 제 2 생체 인식 기술자가 선택된다. 제 2 생체 인식 기술자와 연관된 제 2 키 컴포넌트가 획득된다. 그 다음, 적어도 제 1 키 컴포넌트 및 제 2 키 컴포넌트를 사용하여 암호 키가 생성된다.
[0007] 예를 들어, 생체 인식 기술자들의 계층 구조의 제 1 레벨은 제 1 복수의 생체 인식 기술자들을 포함하고, 제 2 레벨은 제 2 복수의 생체 인식 기술자들을 포함하며, 제 2 레벨에서의 제 2 복수의 생체 인식 기술자들의 서브세트는 제 1 레벨에서 선택된 제 1 생체 인식 기술자와 연관된다. 생체 인식 데이터는 제 2 레벨에서의 제 2 복수의 생체 인식 기술자들의 이러한 서브세트와 비교되어 제 2 레벨에서의 제 2 생체 인식 기술자를 선택한다.
[0008] 생체 인식 기술자들의 계층 구조는 또한 추가 하위 레벨들을 포함할 수 있다. 생체 인식 기술자들의 계층 구조의 적어도 하나의 추가 하위 레벨이 획득된다. 각각의 추가 하위 레벨에 대해, 추가 생체 인식 기술자 및 추가 키 컴포넌트가 획득된다. 그 다음, 적어도 제 1 키 컴포넌트, 제 2 키 컴포넌트 및 임의의 추가 키 컴포넌트들을 사용하여 암호 키가 생성된다.
[0009] 예시적인 실시예에서, 생체 인식 데이터는 지문 데이터를 포함한다. 생체 인식 기술자들의 계층 구조의 제 1 레벨은 복수의 지문 타입들을 포함하고, 생체 인식 기술자들의 계층 구조의 제 2 레벨은 매크로 특이점들의 복수의 분포들을 포함한다. 생체 인식 기술자들의 계층 구조는 복수의 제 3 레벨 리지(ridge) 맵들을 포함하는 제 3 레벨 및 복수의 제 4 레벨 그리드 패턴들을 포함하는 제 4 레벨과 같은 추가 하위 레벨들을 더 포함할 수 있다. 제 3 레벨 리지 맵들 중 하나를 선택하기 위해, 적어도 하나의 지문에 대한 지문 데이터가 처리되어 리지 맵을 획득한다. 적어도 하나의 지문에 대한 지문 데이터의 복수의 점들에서 리지의 배향각이 획득된다. 배향각들은 리지 맵을 생성하기 위한 복수의 점들에서의 벡터들로서 표현된다. 리지 맵은 선택된 제 2 레벨 생체 인식 기술자와 연관된 계층 구조의 제 3 레벨에서의 복수의 리지 맵들의 서브세트와 비교되고, 제 3 레벨 리지 맵이 선택된다. 선택된 제 3 레벨 리지 맵을 기초로 제 3 키 컴포넌트가 획득된다.
[0010] 계층 구조에서 제 4 레벨 그리드 패턴들 중 하나를 선택하기 위해, 지문 데이터가 처리되어 그리드 패턴을 획득한다. 적어도 하나의 지문에 대한 지문 데이터를 기초로 생성된 리지 맵은 선택된 제 3 레벨 리지 맵과 정렬된다. m*n 그리드가 리지 맵 상에 오버레이되고, m*n 그리드에서 특정 기준을 충족하는 셀들이 선택된다. 선택된 셀들을 기초로 그리드 패턴이 생성된다. 그리드 패턴은 선택된 제 3 레벨 리지 맵과 연관된 제 4 레벨에서의 복수의 그리드 패턴들의 서브세트와 비교되고, 제 4 레벨 그리드 패턴이 선택된다. 선택된 제 4 레벨 그리드 패턴을 기초로 제 4 키 컴포넌트가 획득된다. 그 다음, 제 1 키 컴포넌트, 제 2 키 컴포넌트, 제 3 키 컴포넌트 및 제 4 키 컴포넌트, 또는 이들의 서브세트를 사용하여 암호 키가 생성된다.
[0011] 다른 양상에 따르면, 디바이스는 생체 인식 데이터를 획득하도록 구성된 바이오센서 회로, 및 바이오센서 회로에 연결된 처리 회로를 포함한다. 처리 회로는, 생체 인식 데이터를 사용하여 생체 인식 기술자들의 계층 구조의 제 1 레벨에서 제 1 생체 인식 기술자를 선택하고, 제 1 생체 인식 기술자와 연관된 제 1 키 컴포넌트를 획득하도록 구성된다. 처리 회로는, 생체 인식 데이터를 사용하여 생체 인식 기술자들의 계층 구조의 제 2 레벨에서 제 2 생체 인식 기술자를 선택하고, 제 2 생체 인식 기술자와 연관된 제 2 키 컴포넌트를 획득하도록 추가로 구성된다. 처리 회로는, 적어도 제 1 키 컴포넌트 및 제 2 키 컴포넌트를 사용하여 암호 키를 획득하도록 추가로 구성된다.
[0012] 다른 양상에 따르면, 복수의 레벨들을 갖는 생체 인식 기술자들의 계층 구조가 획득되며, 생체 인식 기술자들의 계층 구조의 제 1 레벨에서의 제 1 복수의 생체 인식 기술자들 각각은 상이한 제 1 키 컴포넌트와 연관되고, 생체 인식 기술자들의 계층 구조의 제 2 레벨에서의 제 2 복수의 생체 인식 기술자들 각각은 상이한 제 2 키 컴포넌트와 연관된다. 예시적인 실시예에서, 제 1 복수의 생체 인식 기술자들과 제 2 복수의 생체 인식 기술자들은 합성적으로 미리 생성되며, 제 1 복수의 생체 인식 기술자들은 복수의 합성적으로 생성된 리지 맵들을 포함하고, 제 2 복수의 생체 인식 기술자들은 복수의 합성적으로 생성된 그리드 패턴들을 포함한다.
[0013] 생체 인식 기술자들의 계층 구조가 클라이언트 디바이스에 송신된다. 일 실시예에서, 클라이언트 디바이스와의 트랜잭션의 개시에 대한 응답으로 클라이언트 디바이스에 계층 구조가 송신된다. 예를 들어, 서버는 사용자 식별자와 연관된 등록된 사용자에 대한 암호 키를 생성하라는 클라이언트 디바이스로부터의 요청을 수신하고, 서버는 그에 대한 응답으로 생체 인식 기술자들의 계층 구조를 클라이언트 디바이스에 송신한다. 다른 예에서, 클라이언트 디바이스로부터 공개 키가 수신되고, 공개 키는 제 1 키 컴포넌트 및 제 2 키 컴포넌트에 적어도 부분적으로 기초한다.
[0014] 일부 실시예들에서, 생체 인식 기술자들의 업데이트된 계층 구조가 클라이언트 디바이스로부터 수신될 수 있고, 업데이트된 계층 구조에서 적어도 하나의 생체 인식 기술자는 사용자 식별자와 연관된 생체 인식 데이터를 포함한다. 다른 가능한 실시예들에서, 생체 인식 기술자들의 업데이트된 계층 구조가 클라이언트 디바이스로부터 수신되며, 제 2 레벨에서의 제 2 복수의 생체 인식 기술자들의 서브세트는 사용자 식별자와 연관된 생체 인식 데이터로부터 도출된 생체 인식 기술자와 비교하여 제 1 특정 임계치 미만인 유사성 파라미터를 갖는 희소(sparse) 생체 인식 기술자를 포함한다. 제 2 레벨에서의 제 2 복수의 생체 인식 기술자들의 서브세트는 또한, 희소 생체 인식 기술자와 비교하여 제 2 특정 임계치보다 더 큰 유사성 파라미터를 갖는 복수의 선택된 생체 인식 기술자들을 포함한다.
[0015] 다른 양상에서, 서버는 클라이언트 디바이스와 통신하도록 구성된 네트워크 인터페이스, 및 네트워크 인터페이스에 동작 가능하게 연결된 처리 회로를 포함한다. 처리 회로는 복수의 레벨들을 갖는 생체 인식 기술자들의 계층 구조를 획득하도록 구성되고, 생체 인식 기술자들의 계층 구조의 제 1 레벨에서의 제 1 복수의 생체 인식 기술자들 각각은 상이한 제 1 키 컴포넌트와 연관되고, 생체 인식 기술자들의 계층 구조의 제 2 레벨에서의 제 2 복수의 생체 인식 기술자들 각각은 상이한 제 2 키 컴포넌트와 연관된다. 처리 회로는 생체 인식 기술자들의 계층 구조를 클라이언트 디바이스에 송신하도록 추가로 구성된다.
[0016] 본 개시의 실시예들에 따른 장치 또는 방법들의 일부 실시예들이 이제 단지 예로서, 그리고 첨부 도면들을 참조로 설명된다.
[0017] 도 1은 암호 키의 생성을 위한 생체 인식 기술자들의 계층 구조의 실시예의 개략적인 블록도를 예시한다.
[0018] 도 2는 생체 인식 데이터를 이용한 암호 키 생성을 위한 방법의 실시예의 논리 흐름도를 예시한다.
[0019] 도 3은 생체 인식 데이터를 이용한 암호 키 생성을 위한 방법(300)의 다른 실시예의 논리 흐름도를 예시한다.
[0020] 도 4는 통신 네트워크의 실시예의 개략적인 블록도를 예시한다.
[0021] 도 5는 암호 키의 생성을 위한 생체 인식 기술자들의 계층 구조의 다른 실시예의 개략적인 블록도를 예시한다.
[0022] 도 6은 생체 인식 기술자들의 계층 구조의 실시예에 사용된 지문들의 타입들의 개략적인 블록도를 예시한다.
[0023] 도 7은 지문 및 샘플 리지의 배향(θ)의 실시예의 개략적인 블록도를 예시한다.
[0024] 도 8은 리지 맵의 실시예의 개략적인 블록도를 예시한다.
[0025] 도 9는 그리드 패턴의 실시예의 개략적인 블록도를 예시한다.
[0026] 도 10은 생체 인식 기술자들의 계층 구조의 하위 레벨들을 생성하기 위한 방법의 실시예의 논리 흐름도를 예시한다.
[0027] 도 11은 지문 데이터를 이용한 키 생성을 위한 방법의 실시예의 개략적인 블록도를 예시한다.
[0028] 도 12는 암호 키의 생성을 위한 어서션(assertion) 프로세스의 실시예의 논리 흐름도를 예시한다.
[0029] 도 13은 사용자 특정 계층 구조를 생성하기 위한 방법의 실시예의 논리 흐름도를 예시한다.
[0030] 도 14는 적어도 하나의 지문을 이용한 암호 키 복구를 위한 방법의 실시예의 논리 흐름도를 예시한다.
[0031] 도 15는 지문들의 서로 다른 서브세트들을 이용한 암호 키 생성을 위한 방법의 실시예의 개략적인 블록도를 예시한다.
[0032] 도 16은 암호화 서비스에서 키 복구를 위한 방법의 실시예의 논리 흐름도를 예시한다.
[0033] 도 17은 암호화 서비스를 제공하기 위한 방법의 실시예의 논리 흐름도를 예시한다.
[0034] 도 18은 생체 인식 데이터를 이용한 암호 키 생성을 위해 구성된 디바이스의 실시예의 개략적인 블록도를 예시한다.
[0035] 도 19는 암호화 서비스를 제공하도록 구성된 암호 서버의 실시예의 개략적인 블록도를 예시한다.
[0036] 도 20은 암호화 서비스를 제공하기 위한 방법의 실시예의 논리 흐름도를 예시한다.
[0037] 설명 및 도면들은 단지 다양한 실시예들의 원리들을 예시할 뿐이다. 따라서 당해 기술분야에서 통상의 지식을 가진 자들은, 본 명세서에 명시적으로 기술되거나 도시되지는 않았지만, 본 명세서 및 청구항들에서의 원리들을 구현하고 본 개시의 기술적 사상 및 범위 내에 포함되는 다양한 어레인지먼트들을 안출할 수 있을 것이라고 이해될 것이다. 더욱이, 본 명세서에서 언급되는 예들은 주로 실시예들 및 개념들의 이해를 돕기 위한 교육 목적인 것으로 의도되고, 이러한 구체적으로 언급된 예들 및 실시예들들로 한정되지 않는 것으로 해석되어야 한다. 더욱이, 특정 실시예들 및 특정 예들을 언급하는 본 명세서에서의 서술들은 이들의 등가물들을 포괄하는 것으로 의도된다.
개요
[0038] 생체 인식 기술자들의 다수의 레벨들을 포함하는 계층 구조가 생성되며, 제 1 레벨에서의 생체 인식 기술자는 다음 하위 레벨에서의 생체 인식 기술자들의 서브세트와 연관된다. 암호 키를 생성하기 위해, 생체 인식 데이터가 획득되어 계층 구조의 제 1 레벨에서의 생체 인식 기술자들과 비교된다. 제 1 레벨에서 생체 인식 기술자들 중 하나가 선택되고, 처음 선택된 생체 인식 기술자를 기초로 제 1 키 컴포넌트가 획득된다. 그 다음, 생체 인식 데이터는 처음 선택된 생체 인식 기술자와 연관된, 계층 구조의 제 2 레벨에서의 생체 인식 기술자들의 서브세트와 비교된다. 제 2 레벨에서의 서브세트에서 이러한 생체 인식 기술자들 중 하나가 선택되고, 제 2 키 컴포넌트가 획득된다. 따라서 생체 인식 데이터는 단지, 계층 구조의 제 2 레벨에서의 생체 인식 기술자들의 서브세트와 비교되는 것만이 필요하다. 이는 비교들의 횟수와 처리 시간 및 계산 부하를 감소시키는 한편, 암호 키를 생성하는 프로세스에서 여전히 랜덤성을 제공한다.
[0039] 생체 인식 기술자를 선택하고 키 컴포넌트를 생성하는 프로세스는 계층 구조의 각각의 레벨에 대해 계속된다. 예를 들어, 계층 구조가 N개의 레벨들을 포함하면, 생체 인식 기술자들의 N회의 선택들이 이루어지고, N개의 키 컴포넌트들이 생성된다. 그 다음, N개의 키 컴포넌트들이 암호 키를 생성하는 데 사용된다.
생체 인식 데이터를 이용한 예시적인 암호 키 생성 및 추출
[0040] 도 1은 암호 키의 생성을 위한 생체 인식 기술자들의 계층 구조의 실시예의 개략적인 블록도를 예시한다. 생체 인식 기술자들의 계층 구조(110)는 생체 인식 기술자들(BD: biometric descriptors)(100, 102, 104, 106)의 복수의 레벨들(112, 114, 116, 118)을 포함한다. 계층 구조(110)는 트리형 구조를 갖는데, 여기서 계층 구조(110)의 상위 레벨에서의 생체 인식 기술자는 계층 구조(110)의 하위 레벨에서의 생체 인식 기술자들의 서브세트와 연관된다. 예를 들어, 계층 구조(110)의 제 1 레벨(112)에서의 BD1은 제 2 레벨(114)에서의 생체 인식 기술자들의 서브세트(BD1-k)와 연관되고, 계층 구조(110)의 제 1 레벨(112)에서의 BDj는 제 2 레벨(114)에서의 생체 인식 기술자들의 서브세트(BD1-m)와 연관된다. 동일한 레벨에서의 서브세트들은 서로 다른 수들의 생체 인식 기술자들을 포함할 수 있는데, 예컨대 서브세트(BD1-k) 내의 생체 인식 기술자들(102)의 수는 서브세트(BD1-m) 내의 생체 인식 기술자들(102)의 수보다 많거나 적거나 같을 수 있다. 또한, 서로 다른 레벨들은 서로 다른 수의 생체 인식 기술자들을 포함할 수 있는데, 이를테면 제 2 레벨(114)은 제 1 레벨(112)보다는 더 많지만 제 3 레벨(116)보다는 더 적은 생체 인식 기술자들을 포함할 수 있다. 도 1에 도시된 예에서, 계층 구조(110)는 N개의 레벨들을 포함하며, 여기서 N은 2와 같거나 더 크다.
[0041] 계층 구조(110)의 하위 레벨들에서의 생체 인식 기술자들은 바람직하게는 상위 레벨들에서의 생체 인식 기술자들보다 더 많은 세부사항 또는 복잡도를 갖는다. 예를 들어, 제 2 레벨(114)에서의 생체 인식 기술자들(102)은 유사한 레벨의 복잡도 또는 세부사항을 갖지만, 제 1 레벨(112)에서의 생체 인식 기술자들(100)보다 더 상세하고, 제 3 레벨 생체 인식 기술자들(104)은 제 2 레벨 생체 인식 기술자들(102)보다 더 많은 세부사항들 또는 복잡도를 포함한다. 또한, 하위 레벨에서의 생체 인식 기술자들은 바람직하게는, 상위 레벨들에서의 생체 인식 기술자들에 관해 랜덤하거나 독립적이다. 레벨들(112, 114, 116, 118)의 수 또는 생체 인식 기술자들(100, 102, 104, 106)의 수, 또는 이들의 결합은 원하는 랜덤성 또는 엔트로피 값을 달성하도록 조정될 수 있다. 생체 인식 기술자들(100, 102, 104, 106)은 실제 생체 인식 데이터, 합성 생체 인식 데이터 또는 이들의 결합의 집합으로부터 구성될 수 있다.
[0042] 일 실시예에서, 계층 구조(110)는 복수의 시스템 사용자들에 대해 미리 생성된다. 계층 구조(110)는 중앙 시스템에 저장되고 요청시 사용자의 디바이스에 다운로드된다. 그 다음, 계층 구조(110)가 획득되고, 본 명세서에서 설명되는 바와 같이 복수의 사용자들에 의해 키 생성, 예컨대 키 추출 및 복구 프로세스들 모두에 사용된다. 일 실시예에서는, 사용자의 생체 인식 데이터의 보안을 유지하기 위해, 계층 구조(110)는 사용자의 생체 인식 데이터(130) 전체 또는 상당 부분과 매칭하는 단일 생체 인식 기술자(100, 102, 104, 106)를 포함하지 않는다. 예를 들어, 어떠한 생체 인식 기술자도 특정 생체 인식 또는 사용자의 아이덴티티가 식별 가능하도록 사용자의 생체 인식 데이터의 상당 부분을 포함하지는 않는다. 따라서 사용자의 생체 인식 데이터(130)는 생체 인식 기술자 또는 계층 구조(110)만으로는 식별되지 않을 수 있다. 이는, 사용자의 생체 인식 데이터를 포함하는 적은 수의 템플릿들(예컨대, 대략 10개 미만)을 저장한 다음, 생체 인식 데이터(130)를 템플릿들에 매칭시키는 기존 방법들보다 보안을 향상시킨다. 이러한 기존 방법들에서는, 무단 액세스의 경우에, 사용자의 생체 인식 데이터(130)가 템플릿들, 그리고 역시 템플릿들로부터 생성된 암호 키로부터 식별될 수 있다.
[0043] 사용시, 생체 인식 데이터(130)는 먼저 제 1 레벨(112)에서의 생체 인식 기술자들(100)과 비교되고, 강조된 블록으로 예시된 것과 같이 제 1 생체 인식 기술자(BDn)(100n)가 선택된다. 이러한 처음 선택된 생체 인식 기술자(BDn)(100n)를 기초로, 연관된 제 1 키 컴포넌트 A(120) 그리고 연관된 제 2 레벨 생체 인식 기술자들의 서브세트(BD1-m)(102) 모두가 획득된다. 그 다음, 생체 인식 데이터(130)는 제 2 레벨 생체 인식 기술자들(BD1-m)(102)과 비교되고, 강조된 블록으로 예시된 것과 같이 제 2 생체 인식 기술자(BD2)(102d)가 선택된다. 또 이러한 두 번째로 선택된 생체 인식 기술자(BD2)(102d)를 기초로, 연관된 제 2 레벨 키 컴포넌트 B(122) 그리고 연관된 제 3 레벨 생체 인식 기술자들의 서브세트(BD1-q)(104) 모두가 획득된다. 도 1에서 추가로 확인되는 바와 같이, 그 다음에는 생체 인식 데이터(130)를 기초로 제 3 레벨에서의 생체 인식 기술자(BD1)(104c)가 선택되고, 제 3 키 컴포넌트 C(124)가 획득된다. 이 프로세스는, 계층 구조(110)의 제 N 레벨(118)에서 생체 인식 기술자(106)가 선택되어 대응하는 제 N 키 컴포넌트(126)가 획득될 때까지 계속된다.
[0044] N개의 키 컴포넌트들 또는 그 서브세트가 암호 키(128)를 얻는데 사용된다. 예를 들어, 암호 해시 함수가 N개의 키 컴포넌트들에 또는 그 서브세트에 적용되어 암호 키(128)를 얻을 수 있다. N개의 키 컴포넌트들 또는 그 서브세트를 사용하여 암호 키(128)를 얻는 데 다른 방법들이 또한 이용될 수 있다.
[0045] 도 2는 생체 인식 데이터를 이용한 암호 키 생성을 위한 방법(200)의 실시예의 논리 흐름도를 예시한다. 디바이스에 의해, 예컨대 디바이스에 통합된 또는 디바이스에 연결된 생체 인식 센서로부터 또는 보안 접속을 통해 다른 디바이스로부터 생체 인식 데이터가 획득된다. 생체 인식 데이터는 특정 생체 인식의 이미지들, 데이터, 또는 다른 정보를 포함할 수 있다. 본 명세서에서 설명되는 바와 같이 생체 인식 기술자들(100)의 비교 및 선택에 사용하기 위해 생체 인식 데이터는 처리되거나 조작될 수 있고, 또는 생체 인식 데이터로부터 다른 데이터가 도출될 수 있다. 생체 인식 기술자들의 계층 구조는 디바이스에 의해 액세스된다. 계층 구조는 디바이스 상에 이미 저장되어 있을 수 있고 또는 요청되어 암호 서버로부터 다운로드될 수 있다.
[0046] 생체 인식 데이터를 사용하여 생체 인식 기술자들의 계층 구조의 복수의 레벨들 중 각각의 레벨에서 하나의 생체 인식 기술자가 선택된다(202). 각각의 레벨에서 각각의 선택된 생체 인식 기술자에 대응하는 키 컴포넌트가 결정되어 복수의 키 컴포넌트들을 획득한다(204). 복수의 키 컴포넌트들 또는 복수의 키 컴포넌트들의 서브세트를 사용하여 암호 키가 생성된다(206). 암호 키를 사용하여 공개 키가 또한 생성될 수 있다. 따라서 공개 키는 또한 본 명세서에서 설명되는 바와 같이 키 컴포넌트들 또는 그 서브세트에 적어도 부분적으로 기초한다.
[0047] 사용자 식별자 및 임의의 생성된 공개 키는 암호 서버에 송신되어 "생체 인식 잠금" 정보로서 저장된다. 생체 인식 잠금 정보는 사용자 식별자, 키 생성에 사용된 생체 인식(들)의 식별(이를테면, 지문들, 망막 등의 세트의 식별), 및 암호 키뿐만 아니라 생성된 임의의 공개 키 또는 다른 구성 정보를 생성하는 데 사용된 계층 구조의 버전 식별자를 포함한다.
[0048] 도 3은 생체 인식 데이터를 이용한 암호 키 생성을 위한 방법(300)의 다른 실시예의 논리 흐름도를 예시한다. 키 생성의 프로세스를 시작하기 위해, 디바이스에 의해 사용자 식별자가 획득된다. 예를 들어, 사용자가 디바이스 상에 사용자명 또는 패스워드를 입력한다. 사용자 식별자를 표시하는 요청이 암호 서버에 전송된다. 디바이스는 암호 키를 처음 생성하는 데 사용된 생체 인식 기술자들의 계층 구조의 버전을 포함하는, 사용자 식별자와 연관된 생체 인식 잠금 정보를 획득한다. 그 다음, 생체 인식 잠금 정보에서 식별된 적어도 하나의 생체 인식을 스캐닝하도록 사용자에게 요청된다. 일 실시예에서는, 다수의 지문들과 같은 다수의 생체 인식들을 스캐닝하도록 사용자에게 요청될 수 있다. 또한, 지문 및 망막과 같은 다른 생체 인식들이 스캐닝될 수 있다. 그 다음, 디바이스는 사용자의 요청된 생체 인식들을 스캐닝하거나 이미지화하여 생체 인식 데이터를 얻는다.
[0049] 생체 인식 데이터를 사용하여 생체 인식 기술자들의 계층 구조의 제 1 레벨에서 제 1 생체 인식 기술자가 선택된다(302). 그 다음, 제 1 생체 인식 기술자를 기초로 제 1 키 컴포넌트가 획득된다(304). 생체 인식 데이터를 사용하여 생체 인식 기술자들의 계층 구조의 제 2 레벨에서 제 2 생체 인식 기술자가 획득된다(306). 그 다음, 이 방법은 생체 인식 데이터를 계층 구조(110)의 다음 하위 레벨에서의 생체 인식 기술자들과 비교하고, 제 2 생체 인식 기술자가 선택된다(210). 제 2 레벨에서의 제 2 생체 인식 기술자와 연관된 키 컴포넌트가 획득된다(308). 계층 구조가 다른 하위 레벨을 포함한다면, 생체 인식 기술자가 선택되고 각각의 레벨에 대해 키 컴포넌트가 얻어질 때까지 프로세스가 반복된다. 그 다음, 키 컴포넌트들 또는 키 컴포넌트들의 서브세트를 사용하여 암호 키가 생성된다(310).
[0050] 그 다음, 암호 키가 암호화, 복호화, 인증, 디지털 인증에 또는 다른 목적들 및 기능들로 사용될 수 있다.
[0051] 도 4는 본 명세서에서 설명되는 방법이 동작할 수 있는 예시적인 통신 네트워크(400)의 실시예의 개략적인 블록도를 예시한다. 예시적인 통신 네트워크(400)는 통신 가능하게 연결되는 하나 또는 그보다 많은 네트워크들, 이를테면 광역 네트워크(WAN: wide area network)(402), 근거리 네트워크(LAN: local area network)(404), 무선 근거리 네트워크(WLAN: wireless local area network)들(406), 무선 네트워크(408)를 포함한다. LAN(404)과 WLAN(406)은 가정이나 기업 환경에서 동작할 수 있다. 무선 네트워크(408)는 예를 들어, 3G 또는 4G 셀룰러 네트워크, GSM 네트워크, WIMAX 네트워크, EDGE 네트워크, GERAN 네트워크 등, 또는 위성 네트워크 또는 이들의 결합을 포함할 수 있다.
[0052] 디바이스 A(412a), 디바이스 B(412b), 디바이스 C(412c), 디바이스 D(412d) 및 디바이스 E(412e)와 같은 디바이스들 중 임의의 디바이스는 예를 들어, 개인용 컴퓨터, 랩톱, 휴대 전화 및 스마트 태블릿, 판매 시점 관리 디바이스, 차량, 또는 본 명세서에서 설명되는 기능들을 수행하도록 동작 가능한 다른 타입의 디바이스를 포함할 수 있다. 디바이스 A(412a)가 보다 상세히 도시된다. 디바이스 A(412a)의 다양한 컴포넌트들은 또한 다른 예시적인 디바이스들(412b, 412c, 412d, 412e)에 포함될 수 있다. 예시적인 디바이스 A(412a)는 네트워크 인터페이스(416), 바이오센서 회로(418), 처리 회로(420) 및 메모리/저장 디바이스(422)를 포함한다. 네트워크 인터페이스(416)는 무선 및/또는 유선 네트워크 통신들을 위한 인터페이스를 포함한다. 네트워크 인터페이스(416)는 또한 디바이스(412)의 자원들 중 일부 또는 전부에 대한 액세스를 허용하기 전에 인증을 제공하는 인증 능력을 포함할 수 있다. 네트워크 인터페이스(416)는 또한 방화벽, 게이트웨이 및 프록시 서버 기능들을 포함할 수 있다.
[0053] 예시적인 실시예에서, 바이오센서 회로(418)는 생체 인식 또는 다수의 생체 인식들의 이미지들을 캡처하기 위한 하나 또는 그보다 많은 카메라들 또는 스캐너들을 포함한다. 생체 인식은 개인의 특유한 측정 가능 식별자를 제공하는 생리적 특성이다. 생체 인식은 지문, 손바닥 정맥들, 얼굴 인식, DNA, 장문(palm print), 홍채 인식, 망막 스캔, 음성 등을 포함할 수 있다. 다모드 생체 인식 센서들은 동일한 생체 인식으로부터의 다수의 이미지들(즉, 동일한 손가락의 스캔들, 또는 홍채의 다수의 이미지들)을 얻거나 서로 다른 생체 인식들(음성 인식 또는 얼굴 인식과 함께 다수의 손가락들의 스캔 또는 지문들의 스캔)로부터의 정보를 얻을 수 있다. 다모드 생체 인식 시스템들은 다수의 생체 인식들의 생체 인식 데이터를 순차적으로, 동시에, 이들의 결합으로, 또는 연속하여 얻을 수 있다. 바이오센서 회로는 2차원 또는 3차원 이미지화 기술들 또는 다른 타입의 센서들을 사용하여 생체 인식 또는 다수의 생체 인식들의 생체 인식 데이터를 캡처할 수 있다. 바이오센서 회로(418)는 또한 스푸핑 방지를 위한 다른 센서들, 이를테면 온도, 움직임 및 혈압 센서들을 포함할 수 있다.
[0054] 처리 회로(420)는 생체 인식 데이터로부터의 암호 키 생성을 위해 본 명세서에서 설명되는 기능들을 수행하는 생체 인식 키 생성 회로/모듈(424)을 포함한다. 메모리/저장 디바이스(422)는 생체 인식 기술자들의 계층 구조(110) 및 다른 구성 정보를 저장한다.
[0055] 암호 서버(410)는 디바이스들(412)에 암호화 서비스를 제공하기 위한 로컬 또는 원격 서버를 포함한다. 암호 서버(410)는 디바이스들(412)에 암호화 서비스를 제공하는 기능을 하는 암호화 서비스 회로/모듈(432)을 포함한다. 메모리/저장 디바이스(434)는 암호화 서비스의 사용자들과 연관된 생체 인식 기술자들의 계층 구조(110) 및 생체 인식 잠금 정보(436)를 저장한다. 메모리/저장 디바이스(434)는 하나 또는 그보다 많은 내부 메모리 디바이스들, 분리된 메모리 디바이스들, 네트워크 부착 저장 디바이스들, 저장 영역 네트워크들, 또는 하나의 지리적 위치 또는 다수의 지리적 위치들에 위치하는 다른 메모리 디바이스들로 구현될 수 있다.
[0056] 이제 생체 인식 기술자들의 계층 구조 및 키 생성 방법들의 다양한 예들이 설명되는데, 여기서 생체 인식은 적어도 하나의 지문의 지문 데이터를 포함한다.
지문 데이터를 이용한 암호 키 생성을 위한 생체 인식 기술자들의 예시적인 계층 구조
[0057] 도 5는 암호 키(528)의 생성을 위한 생체 인식 기술자들의 계층 구조(500)의 다른 실시예의 개략적인 블록도를 예시하며, 여기서 생체 인식 데이터는 지문 데이터(502)를 포함한다. 제 1 레벨(512)에서의 생체 인식 기술자들(504)은 여섯 가지 타입들의 지문들: 아치, 솟은 아치, 좌측 루프, 우측 루프, 평평한 소용돌이 및 이중 소용돌이를 포함한다.
[0058] 이제 도 6을 참조하면, 이는 여섯 가지 타입들(600)의 지문들의 개략적인 블록도를 예시한다. 아치(602)는 어떠한 매크로 특이점들도 없이 지문을 식별하는 지문 타입이다. 솟은 아치(604)는 하나의 코어 및 하나의 델타를 갖는 지문으로, 여기서는 대칭 축이 델타를 통과한다. 좌측 루프(606)는 한 쌍의 코어 및 델타를 가지며, 여기서 델타는 대칭점의 우측에 있다. 우측 루프(608)는 한 쌍의 코어 및 델타를 가지며, 여기서 델타는 대칭의 좌측에 있다. 평평한 소용돌이(610)는 2개의 델타들과 하나의 코어를 포함한다. 이중 소용돌이(612)는 2개의 델타들과 2개의 코어들을 포함한다.
[0059] 다시 도 5를 참조하면, 계층 구조(500)의 제 1 레벨(512)에서의 여섯 가지 타입들의 지문들(504)은 상이한 제 1 레벨 키 컴포넌트 A(520)에 각각 연관된다. 예를 들어, Typei가 제 i 타입 지문을 나타낸다면, Ki는 연관된 제 1 키 컴포넌트 A(520)를 나타낸다.
[0060] 제 2 레벨(514)의 경우, 생체 인식 기술자들은 매크로 특이점들의 분포들(506)을 기초로 한다. 일 실시예에서, 매크로 특이점들은 코어들 및 델타들을 포함한다. 예를 들어, 매크로 특이점들의 분포들(506)은 지문의 코어들 및 델타들의 다양한 구성들 또는 배열을 포함한다. 제 2 레벨에서의 매크로 특이점들의 분포들(506)은 상이한 제 2 레벨 키 컴포넌트(522)에 각각 연관된다. 예를 들어, Mi가 제 i 제 2 레벨 매크로 특이점을 나타낸다면, Ki는 연관된 제 2 키 컴포넌트 B(522)를 나타낸다.
[0061] 제 3 레벨(516)의 경우, 생체 인식 기술자들은 복수의 점들에서의 리지들의 배향각을 나타내는 리지 맵들(508)을 포함한다. 리지 맵을 구성하기 위해, 실제 또는 합성 지문의 이미지 상의 복수의 점들에서, 해당 위치에서의 리지의 접선과 기본 축 사이의 각도가 결정된다. 이 각도는 해당 점에서의 리지의 배향이라 한다. 리지의 배향(O)은 0 내지 179의 값이다. 리지 배향의 일례가 도 7에 예시된다.
[0062] 도 7은 지문 이미지(708)의 한 점에서 샘플 리지(706)의 리지 배향(θ)(704)을 기술하는 예시적인 기본 축(700)과 접선(702)을 예시한다.
[0063] 다시 도 5를 참조하면, 제 2 레벨(514)에서의 코어 및 델타 분포들을 기초로 (수학적 생성기 함수에 의해 또는 실제 지문들의 데이터베이스를 사용함으로써) 복수의 리지 맵들이 생성된다. 예를 들어, 일 실시예에서, 계층 구조(500)는 예컨대, 128개의 제 2 레벨 매크로 특이점 분포들(506)을 포함한다. 128개의 제 2 레벨 매크로 특이점 분포들(506) 각각은 64개의 제 3 레벨 리지 맵들(508)과 연관된다.
[0064] 도 8은 리지 맵(800)의 실시예의 개략적인 블록도를 예시한다. 리지 맵(800)은 복수의 점들에서의 리지 배향들을 나타내는 벡터들(802)을 포함한다. 리지 맵(800)은 코어(804)와 델타(806)의 분포를 예시한다.
[0065] 다시 도 5를 참조하면, 제 3 레벨 리지 맵들(508)은 상이한 제 3 레벨 키 컴포넌트 C(524)에 각각 연관된다. 예를 들어, Ridge Mapi가 제 i 리지 맵을 나타낸다면, Ki는 연관된 제 3 키 컴포넌트 C(524)를 나타낸다.
[0066] 계층 구조(500)의 제 4 레벨(518)은 복수의 그리드 패턴들(510)을 포함한다. 그리드 패턴을 생성하기 위해, m*n의 그리드가 리지 맵(508)의 영역에 오버레이하는 데 사용되며, 여기서 m과 n은 시스템 파라미터들이거나 개개의 사용자들 또는 이들의 그룹들에 대해 구체적으로 설정된다. 일 실시예에서, 가장 높은 수들의 미뉴셔(minutia)들을 포함하는 그리드의 k개의 셀들에 1 값이 할당되고, 나머지 셀들에는 0 값이 할당된다. 타이(tie)(유사한 수의 미뉴셔를 갖는 2개의 셀들)가 존재한다면, 셀들은 그리드의 중심에서 시작하여 바깥쪽으로의 나선에서 이들의 순서를 기초로 선택된다. 1 값을 갖는 k개의 셀들을 갖는 m*n 그리드들이 유효 그리드 패턴들을 생성한다. 유효 그리드 패턴이 벡터에 맵핑된다. 그리드 패턴들 또는 맵핑된 벡터들이 제 4 레벨 생체 인식 기술자들(510)로서 사용될 수 있다. 제 3 레벨 리지 맵들(508) 각각과 연관된 서브세트들에서 유효 그리드 패턴들 및 대응하는 벡터들이 생성된다. 제 4 레벨 그리드 패턴들(510)은 상이한 제 4 키 컴포넌트 D(526)와 각각 연관된다. 예를 들어, Grid Patterni가 제 i 그리드 패턴을 나타낸다면, Ki는 연관된 제 4 키 컴포넌트 D(526)를 나타낸다.
[0067] 그리드 패턴(510)을 생성할 셀들을 선택하는 다른 다양한 방법들이 가능하다. 예를 들어, 셀들은 시간의 경과에 따라 견고하게 판독될 가능성이 높은 미뉴셔들의 수를 기초로 선택될 수 있다. 다른 예에서, 셀들은 리지들의 밀도를 기초로 선택될 수 있다. 또 다른 예에서, 제 4 레벨에 대한 그리드 패턴들(510)을 생성할 셀들을 선택하기 위해 다수의 선택 방법들이 동시에 또는 반복적으로 사용된다.
[0068] 도 9는 그리드 패턴(900)의 일례의 개략적인 블록도를 예시한다. 도 9는 지문 이미지(904) 상에 오버레이된 m*n 그리드(902)를 예시한다. 그리드(902)에서 채워진 셀들(906)은 특정 기준, 이를테면 미뉴셔들의 수 또는 미뉴셔들의 품질 또는 미뉴셔들의 강건성 또는 리지들의 밀도 또는 다른 타입의 기준을 충족한다. 결과적인 그리드 패턴은 2진 값들의 벡터에 맵핑된다. 예를 들어, 도 9의 6*8 그리드에 대한 그리드 패턴은 48개의 2진 값들, 예컨대 선택된 셀들에 대해 "1" 그리고 선택되지 않은 셀들에 대해 "0"을 갖는 벡터에 맵핑된다. 그리드가 5*6 그리드로서 구성되고 30개의 셀들을 포함하는 다른 예시적인 경우에는, 30개의 셀들이 4 바이트 수로 표현된다. 4 바이트 수들 각각은 가능한 구성들 중 하나를 나타낸다. 이 4 바이트 수들에서 일부 값들은 지문의 유효 구성을 나타내지 않을 수 있다. 30개 중에서 1/3의 셀들만이 특정 기준, 이를테면 충분한 수의 미뉴셔를 갖는 것을 충족하고, 중심에서부터 시작하는 나선의 평균 길이가 15라고 가정하면, 단지 15개의 그리드 패턴들만이 유효할 수 있다.
[0069] 다시 도 5를 참조하면, 다른 실시예에서는, 제 5 레벨이 계층 구조(500)에 추가될 수 있다. 제 5 레벨에서의 생체 인식 기술자들은 제 4 레벨 생체 인식 기술자들(510)에서의 미뉴셔들과 관련된 추가 세부사항을 특정할 수 있다. 예를 들어, 제 5 레벨 생체 인식 기술자들은 리지들 상에서 구멍들의 위치를 특정할 수 있다.
[0070] 계층 구조(500)는 일단 생성되었다면, 암호 서버에 의해 저장된다. 리지 맵들과 같은 생체 인식 기술자들 중 일부는 수학적으로 기술된다. 그러면 이는 리지 맵들을 생성한 생성기 함수 및 파라미터들을 저장하기에 충분하다. 다른 생체 인식 기술자들은 적절한 크기의 정수들로서 저장되는 점들 또는 행렬들 또는 벡터들의 좌표들만을 포함할 수 있다. 바람직하게는, 계층 구조가 복수의 사용자들에 대해 미리 생성되는데, 예컨대 생체 인식 기술자들의 계층 구조(500)는 복수의 사용자들의 생체 인식 데이터를 사용하지 않고 생성되거나 사용자 등록 전에 생성된다.
[0071] 사용시, 지문 데이터(502)는 우선 제 1 레벨(512)에서의 지문 타입들(504a-n)과 비교되고, 강조된 블록으로 예시된 것과 같이 제 1 지문 타입(504c)이 선택된다. 이러한 선택된 제 1 레벨 지문 타입(504c)을 기초로, 연관된 제 1 키 컴포넌트 A(520) 그리고 매크로 특이점들의 연관된 제 2 레벨 분포들(506)의 서브세트 모두가 획득된다. 그 다음, 지문 데이터(502)는 제 2 레벨(514)에서의 매크로 특이점들의 연관된 제 2 레벨 분포(506a-n)의 서브세트와 비교되고, 강조된 블록으로 예시된 것과 같이 매크로 특이점들의 제 2 레벨 분포(506b)가 선택된다. 매크로 특이점들의 이러한 선택된 제 2 레벨 분포(506b)를 기초로, 연관된 제 2 키 컴포넌트 B(522), 그리고 제 3 레벨 리지 맵들(508a-n)의 연관된 서브세트 모두가 획득된다.
[0072] 제 3 레벨(516)의 경우, 지문 데이터로부터 리지 맵이 생성되어 제 3 레벨 리지 맵들(508a-n)의 연관된 서브세트와 비교된다. 제 3 레벨 리지 맵(508a)이 선택되고, 연관된 제 3 키 컴포넌트 C(526)가 획득된다. 제 4 레벨(518)의 경우, 본 명세서에서 보다 상세히 설명되는 바와 같이, 부분적으로는 지문 데이터 및 선택된 제 3 레벨 리지 맵(508a)으로부터 그리드 패턴이 생성된다. 그리드 패턴은 선택된 제 3 레벨 리지 맵(508a)과 연관된 제 4 레벨 그리드 패턴들(510a-n)의 서브세트와 비교된다. 제 4 레벨 그리드 패턴(510a)이 선택되고, 연관된 제 4 키 컴포넌트 D(526)가 획득된다.
[0073] 4개의 키 컴포넌트들(A, B, C, D) 또는 4개의 키 컴포넌트들의 서브세트가 암호 키(528)를 얻는데 사용된다. 예를 들어, 암호 해시 함수가 4개의 키 컴포넌트들에 또는 4개의 키 컴포넌트들의 서브세트에 적용되어 암호 키(128)를 얻을 수 있다. 키 컴포넌트들 또는 그 서브세트를 사용하여 암호 키(528)를 얻는 데 다른 방법들이 또한 이용될 수 있다.
[0074] 도 10은 생체 인식 기술자들의 계층 구조의 하위 레벨들을 생성하기 위한 방법의 실시예의 논리 흐름도를 예시한다. 생체 인식 기술자들의 계층 구조의 하나 또는 그보다 많은 레벨들에 대해 생체 인식 기술자들을 생성하기 위해 다양한 기술들이 이용될 수 있다. 일반적으로, 생체 인식 기술자들은 합성적으로 생성되거나 실제 생체 인식들로부터의 데이터를 기초로 생성될 수 있다. 합성적으로 생성된 생체 인식 기술자는 하나 또는 그보다 많은 함수들을 사용하여 수학적으로 구성된다. 일 실시예에서, 합성적으로 생성된 생체 인식 기술자는 실제 생체 인식 데이터로부터 추출되지 않는다.
[0075] 예를 들어, 예시적인 실시예에서, 복수의 리지 맵들이 합성적으로 생성된다(1002). 생성기 함수가 합성 리지 배향들을 생성하며, 합성 리지 맵들을 생성하는 데 사용된다. 델타들(d i ) 및 코어들(c i )의 위치를 기초로 하나 리지 맵들에 대한 생성기 함수의 일례가 아래에 주어진다. 이 함수는 파라메트릭이며, 단일 코어 및 델타 설정을 위한 여러 개의 리지 맵 배향들을 생성한다. 리지들의 배향 맵이 아래 공식을 사용하여 추출될 수 있다:
Figure 112017095570457-pct00001
Figure 112017095570457-pct00002
[0076] 함수(g)는
Figure 112017095570457-pct00003
값들의 세트에 걸쳐 계산된 각각의 점에서의 배향들에 대한 수정된 값들을 제공한다.
Figure 112017095570457-pct00004
[0077]
Figure 112017095570457-pct00005
를 리지 배향들을 생성하는 데 사용된 L개의 수들의 어레이로서 설정한다. 단일 제 2 레벨 코어 및 델타 분포에 적용된 여러 개의
Figure 112017095570457-pct00006
설정들을 사용하여 여러 개의 리지 맵들(1004)을 생성할 수 있다. 대안으로서, 실제 지문들로부터 리지 맵들을 도출하거나, 합성적으로 생성된 리지 맵들과 실제 지문들로부터 도출된 리지 맵들의 결합을 사용하는 것이 가능하다. 리지 맵(1004)의 일례가 도 10에 예시된다.
[0078] 그리드 패턴들을 생성하기 위해, 적어도 하나의 리지 맵을 사용하여 밀도 맵이 도출된다(1006). 예를 들어, 리지 맵 상에 m*n 그리드를 오버레이함으로써 밀도 맵이 생성된다. 그리드의 셀들에서의 리지들의 수가 카운트된다. 그 다음, 그레이 스케일이 적용되어 셀들에서의 리지들의 수를 나타내고 밀도 맵을 얻는다. 밀도 맵(1008)의 일례가 도 10에 예시된다. 밀도 맵(1008)의 더 어두운 섹션들은 더 높은 밀도의 리지들을 나타내는 한편, 더 밝은 섹션들은 더 낮은 밀도의 리지들을 나타낸다.
[0079] 다음에, 등고선 맵이 생성된다(1010). 예시적인 실시예에서, 가보(Gabor) 또는 유사한 타입의 함수, 이를테면 반복적인 가보 필터(예컨대, 다양한 스케일들 및 회전들을 갖는 가보 필터들로 구성된 필터 뱅크)가 리지 맵 및 밀도 맵에 적용되어 등고선 맵을 도출한다. 예를 들어, 리지 맵의 복수의 점들에서 리지 맵 및 밀도 맵을 기초로 가보 필터들을 적용함으로써, 생성된 리지들을 포함하는 등고선 맵이 획득된다. 생성된 리지들에 추가하여, 등고선 맵에서 미뉴셔 점들이 또한 생성될 수 있다. 이 프로세스는 미뉴셔들의 타입, 위치 및 배향과 같은 실제 지문의 미뉴셔 특징들을 포함하는 등고선 맵을 야기한다. 등고선 맵(1012)의 일례가 도 10에 예시된다.
[0080] 등고선 맵으로부터 미뉴셔들이 추출될 수 있고, 그리드 패턴이 생성될 수 있다(1014). 예를 들어, 미뉴셔 템플릿들 및 템플릿 필터들을 사용함으로써 미뉴셔의 세부사항들이 추출된다. 동일한 리지 맵으로부터 복수의 서로 다른 등고선 맵들을 획득하는 것이 가능하다. 예를 들어, 동일한 리지 맵에 서로 다른 밀도 맵들을 적용하고 가보 함수를 사용함으로써, 복수의 서로 다른 등고선 맵들이 얻어질 수 있다.
[0081] 생성된 등고선 맵들 및 이들의 대응하는 추출된 미뉴셔들이 다음에, 예컨대 계층 구조의 제 4 레벨에서의 생체 인식 기술자들로서 사용될 수 있다. 예를 들어, m*n 그리드가 생성된 등고선 맵 상에 오버레이되고, 셀들에 위치된 미뉴셔들의 수 또는 다른 기준들을 기초로 그리드로부터의 셀들이 선택된다. 지정된 수(k)의 미뉴셔들이 그리드의 특정 셀 내에 위치된다면(예컨대, k=1), 그 셀은 "1"과 같고, 그렇지 않으면 셀은 "0"과 같다. "1" 및 "0"들의 그리드 패턴이 벡터에 맵핑된다.
[0082] 그리드 패턴들의 크기들을 변경함으로써 이 프로세스를 이용하여 계층 구조에 추가 레벨들이 추가될 수 있다. 예를 들어, 제 4 레벨의 경우, m=2인 m*m 그리드가 사용되어 그리드 패턴을 얻는다. 2x2 그리드가 리지 맵 상에 오버레이되고, 각각의 셀에서의 미뉴셔들이 카운트된다. 그 다음, 다음 하위 레벨 상에서, 증가하는 크기의 그리드, 예컨대 4x4 그리드가 사용되어 그리드 패턴들을 얻는다. 그 다음, 16x16 그리드 맵이 다음 하위 레벨에 사용되어 그리드 패턴을 생성한다. 이 프로세스는 각각의 연속 레벨에 대해 증가하는 세부사항을 생성한다.
지문 데이터를 이용한 예시적인 암호 키 생성
[0083] 도 11은 지문 데이터를 이용한 키 생성을 위한 방법(1100)의 실시예의 개략적인 블록도를 예시한다. 생체 인식 기술자들의 계층 구조의 제 1 레벨에서 지문 데이터를 사용하여 제 1 레벨 지문 타입이 선택된다(1102). 제 1 레벨 지문 타입에 기반한 제 1 키 컴포넌트가 획득된다(1104). 매크로 특이점들의 제 2 레벨 분포가 선택된다(1106). 매크로 특이점들의 이러한 선택된 제 2 레벨 분포에 적어도 기초하여, 연관된 제 2 키 컴포넌트가 획득된다(1108). 생체 인식 기술자들의 계층 구조의 제 3 레벨에서 지문 데이터를 사용하여 제 3 레벨 리지 맵이 선택된다(1110). 제 3 키 컴포넌트가 획득된다(1112). 생체 인식 기술자들의 계층 구조의 제 4 레벨에서 지문 데이터를 사용하여 제 4 레벨 그리드 패턴이 선택된다(1114). 선택된 제 4 레벨 리지 맵과 연관된 제 4 키 컴포넌트가 획득된다(1116). 그 다음, 4개의 키 컴포넌트들이 암호 키를 얻는데 사용된다.
[0084] 도 12는 암호 키의 생성을 위한 어서션 프로세스의 실시예의 논리 흐름도를 예시한다. 레벨에서 매칭이 없으면, 그 레벨에서 가장 가까운 생체 인식 기술자들이 선택된다(1202). 이는 대안적인 가능성들로서 여러 후보 키 컴포넌트들을 야기한다. 후보 키 컴포넌트들은 바람직하게는, 정확할 가능성에 관해 정렬되어 테스트된다(1204). 키 컴포넌트들의 가장 가능성이 낮지만 여전히 가능한 결합이 고려될 때까지, 키 후보들의 가장 가능성 있는 결합이 테스트되고, 성공적이지 않다면, 키 컴포넌트들의 두 번째로 가능성 있는 결합이 테스트되는 식이다.
[0085] 후보 키 컴포넌트들을 테스트(1204)하기 위한 다른 실시예에서, 각각의 후보 키 컴포넌트에는 수정된 다항식 점에 대한 오프셋이 할당된다. 알려진 키 컴포넌트들을 수정된 다항식 점과 결합함으로써, 다항식 점이 계산된다. 충분한 수의 이러한 다항식 점들을 계산한 후, 이들이 보간되어, 후보 암호 키를 야기한다. 저장된 수정된 다항식 점 및 오프셋으로부터 다항식 점을 계산하기 위한 방법은 "Cryptographic approaches to privacy in forensic DNA databases," by P. Bohannon, M. Jakobsson, and S. Srikwan, published in Public Key Cryptography: Lecture Notes in Computer Science. Volume 1751, pp. 373-390 (2000)에 기술되어 있으며, 이는 인용에 의해 본 명세서에 포함된다.
[0086] 후보 암호 키가 대칭 키이면, 적어도 하나의 저장된 암호문을 복호화하여 결과를 검증함으로써 후보 암호 키가 테스트된다. 비대칭 또는 공개 키 암호화 방법의 경우, 대응하는 공개 키로 암호화된 암호문을 복호화함으로써 또는 대응하는 공개 키를 계산하고 이를 저장된 공개 키와 비교함으로써 후보 암호 키가 검증된다. 후보 암호 키가 성공적으로 검증된다면(1206), 후보 암호 키가 암호 키로서 출력된다(1208).
[0087] 일부 경우들에는, 상당수(N개)의 생체 인식 기술자들이 지문 데이터와 비교적 유사하다. 이 문제는 키 추출이 수행될 때마다 N개의 비교적 유사한 생체 인식 기술자들 중 서로 다른 생체 인식 기술자가 선택될 수 있기 때문에 동일한 암호 키 생성에 있어 어려움으로 이어진다.
[0088] 이 문제를 완화하는 데 도움이 되도록, 에러를 갖는 계층 구조의 레벨들에서의 생체 인식 기술자들이 재정렬되어, 해당 레벨에서의 동일한 생체 인식 기술자의 선택을 보조할 수 있다. 예시적인 실시예에서, 지문 데이터와 유사한 N개의 생체 인식 기술자들의 세트가 획득된다(1210). 이 세트로부터 실제 지문 데이터와 가장 유사한 생체 인식 기술자들 중 하나가 선택되고 "매칭"이라 한다(1212). N개의 생체 인식 기술자들의 세트 중에서 N/2 위치에 "매칭"이 속하도록 N개의 생체 인식 기술자들의 세트가 재정렬된다(1214). 수정된 계층 구조가 저장되고 이후 사용을 위해 업데이트된 버전 식별자와 함께 암호 서버에 송신된다. 후속하는 키 추출들 동안, N/2 위치에서 가장 유사한 생체 인식 기술자가 선택된다(1216).
[0089] 선택이 여전히 발견되지 않은 경우들에는, 적어도 N/2 및 N/2 + 1 그리고 N/2 +2 위치들에서의 생체 인식 기술자들이 테스트를 위한 후보들로서 선택되어야 한다. 이 접근 방식을 사용하면, 가장 가까운 매칭이 N/2 위치에(N개의 가장 가까운 생체 인식 기술자들 중간에) 있어, 정확한 생체 인식 기술자를 선택할 가능성을 증가시킨다. 이 접근 방식은 실제 지문 데이터와 유사한 다수의 생체 인식 기술자들의 경우들에도 안정적인데, 이는 가장 가까운 매칭이 다른 가까운 후보들 중간인 N/2에 위치하기 때문이다. 이러한 접근 방식 이후에 후보 암호 키가 성공적으로 검증된다면(1218), 후보 암호 키가 암호 키로서 출력된다(1220).
[0090] 일부 경우들에는, 레벨의 어떠한 생체 인식 기술자들도 후보 키 컴포넌트를 선택할 지문 데이터와 충분히 유사하지 않다. 다른 경우들에는, 후보 암호 키들 중 어느 것도 검증되지 않는다. 이들과 같은 경우들에, 실제 지문 데이터가 생체 인식 기술자에 삽입된다. 예를 들어, 어떤 레벨의 생체 인식 기술자의 선택시 에러가 발생하면, 디바이스는 그 레벨에 대한 생체 인식 기술자들의 새로운 세트 또는 적어도, 상위 레벨에서의 생체 인식 기술자들 중 하나와 연관된 새로운 서브세트를 생성한다. 새로운 생체 인식 기술자들 중 적어도 하나는 사용자 식별자와 연관된 실제 지문 데이터를 포함한다. 연관된 식별자에 대한 계층 구조가 생체 인식 기술자들의 새로운 세트 또는 서브세트로 수정되고(1224), 계층 구조의 버전 식별자가 업데이트된다. 계층 구조의 업데이트된 버전 및 사용자 식별자가 암호 서버에 송신된다. 그 다음, 계층 구조의 업데이트된 버전은 이후, 연관된 사용자 식별자에 사용된다. 무단 액세스를 방지하기 위해 지문 데이터 그리고 실제 지문 데이터를 기초로 한 실제 생체 인식 기술자는 로컬 디바이스로부터 소거된다. 실제 지문 데이터를 삽입하는 이러한 접근 방식은, 해당 사용자에 대한 실제 지문 데이터와 매칭하는 생체 인식 기술자가 각각의 레벨에 존재함을 보장한다. 실제 지문 데이터를 삽입하는 이러한 접근 방식은, 생체 인식 기술자들을 재정렬하는 앞서 설명한 방법과 함께 또는 그 대신 사용될 수 있다.
[0091] 도 13은 사용자 특정 계층 구조를 생성하기 위한 방법(1300)의 실시예의 논리 흐름도를 예시한다. 일 실시예에서, 사용자에 대한 지문 데이터가 계층 구조의 생체 인식 기술자들에 포함되어 사용자 특정 계층 구조를 생성한다.
[0092] 이 예시적인 실시예에서, 미리 생성된 일반 계층 구조가 먼저 생성된다(1302). 일반 계층 구조의 처음 2개의 레벨들은 앞서 설명한 생체 인식 기술자들, 예컨대 지문들의 타입들 및 델타와 코어의 분포로 구성된다. 일반 계층 구조의 제 3 레벨을 생성하기 위해, 복수의 리지 맵들이 m*n 그리드에 오버레이된다. 그리드의 셀들은 바람직하게는, 단일 미뉴셔가 하나의 셀 내에 맞을 수 있지만 그 2개의 미뉴셔가 임의의 한 셀 내에 속하게 될 가능성은 낮게 크기가 정해진다. 미뉴셔가 그리드의 특정 셀 내에 위치된다면, 그 셀은 "1"과 같고, 그렇지 않으면 셀은 "0"과 같다. 그 다음, 그리드 패턴들이 결정되고, 벡터들이 그리드 패턴들에 맵핑된다. 이 프로세스는 복수의 일반 그리드 패턴들 및 대응하는 일반 벡터들을 야기한다. 그리드 패턴들을 생성할 셀들을 선택하기 위해 다른 기준들, 예컨대 셀 내의 미뉴셔들의 수, 리지들의 밀도 등이 사용될 수 있다.
[0093] 그 다음, 일반 그리드 패턴들이 실제 지문들로부터 추출된 확률 데이터와 비교된다. 예를 들어, 실제 지문들의 데이터베이스를 기초로 미뉴셔들의 밀도 맵들이 생성되어 일반 그리드 패턴들과 비교된다. 실제 지문들의 데이터베이스를 기초로 미뉴셔 점들의 확률 분포가 생성된다. 그 다음, 일반 그리드 패턴들에 실제 지문 데이터를 기초로 한 확률들의 분포가 할당된다. 확률 임계치 밖에 있는 일부 일반 그리드 패턴들은 폐기될 수 있다. 실제 지문들의 다른 특성들이 또한 고려되며 일반 그리드 패턴들을 생성하기 위한 제약들로서 사용될 수 있다. 일반 그리드 패턴들은 일반 벡터들에 맵핑된다. 그 다음, 일반 그리드 패턴들 및/또는 일반 벡터들이 일반 계층 구조에 제 4 레벨의 생체 인식 기술자들로서 삽입된다.
[0094] 사용자에 대한 암호 키 생성의 시작점으로서 일반 계층 구조가 사용될 수 있다. 사용자의 지문들의 세트에 대한 지문 데이터가 획득된다. 미뉴셔들의 그리드 패턴이 지문들의 세트 내의 제 1 지문의 리지 맵으로부터 도출되고, 지문 그리드 패턴이 지문 벡터에 맵핑된다. 지문 벡터가 일반 계층 구조의 제 4 레벨의 복수의 일반 벡터들과 비교되고(1304), 일반 그리드 패턴들 중 하나가 가능한 매칭인지 여부가 결정된다(1306).
[0095] 매칭이 가능한 경우, 지문 벡터와의 가능한 매칭인 일반 벡터가 희소 벡터로 지정된다. 희소 벡터는 지문 그리드 패턴을 기초로 한 지문 벡터에 대한 제 1 유사성 파라미터 내에 있거나 정확한 매칭일 수 있다. 예를 들어, 유사성 파라미터가 해밍 거리를 포함하면, 희소 벡터는 지문 벡터로부터 제 1 특정 임계치 내의 최소 해밍 거리(예를 들어, min_ham은 2와 같거나 그 미만임)를 가질 수 있다. 다른 타입들의 유사성 파라미터들이 사용될 수 있으며 또는 지문 데이터와 생체 인식 기술자들 간의 유사성들을 측정하기 위한 다른 방식들이 이용될 수 있다.
[0096] 그 다음, 복수의 제 4 레벨 그리드 패턴들 및 대응하는 제 4 레벨 벡터들이 벡터들의 확률 분포에 따라 일반 계층 구조로부터 획득된다. 희소 벡터는 복수의 제 4 레벨 벡터들과 비교되며, 각각의 비교에 대해 유사성 파라미터가 계산된다. 유사성 파라미터를 기초로, 희소 벡터와는 다른 제 4 레벨 벡터들이 선택된다. 예시적인 실시예에서, 희소 벡터로부터의 제 2 특정 임계치보다 더 큰 유사성 파라미터를 갖는 제 4 레벨 벡터들(또는 선택된 제 3 레벨 그리드 패턴과 연관된 제 4 레벨 벡터들의 서브세트)이 선택된다(1308). 예를 들어, 유사성 파라미터는 해밍 거리를 포함할 수 있으며, 임계치 내에 최소 해밍 거리(예를 들어, min_ham은 5와 같거나 이를 초과함)를 갖는 합성 벡터들이 선택된다. 이 프로세스는, 희소 벡터가 키 추출 동안 확고하게 선택되도록 다른 제 4 레벨 벡터들(또는 선택된 제 3 레벨 그리드 패턴과 연관된 제 4 레벨 벡터들의 서브세트)과 충분히 다름을 보장한다. 이 프로세스에 추가하여 또는 대안으로, 서로의 최소 해밍 거리 내에 있는 제 4 레벨 벡터들(또는 선택된 제 3 레벨 그리드 패턴과 연관된 제 4 레벨 벡터들의 서브세트)만이 선택된다. 예를 들어, 서로로부터 5와 같거나 그 미만인 해밍 거리를 갖는 제 4 레벨 벡터들이 선택된다. 따라서 선택된 제 4 레벨 벡터들은 희소 벡터가 구별되기에 충분히 서로 유사하다. 예시적인 실시예에서, 희소 벡터는 생체 인식 데이터에 대해 다른 선택된 제 4 레벨 벡터들(또는 선택된 제 3 레벨 그리드 패턴과 연관된 서브세트 내의 다른 제 4 레벨 벡터들)보다 더 큰 유사성을 나타내는 유사성 파라미터를 갖는다.
[0097] 미리 결정된 수의 제 4 레벨 벡터들이 선택된 후, 선택된 제 4 레벨 벡터들에 희소 벡터가 삽입되고(1310), 이들의 순서는 랜덤화된다. 그 다음, 희소 벡터 및 선택된 제 4 레벨 벡터들을 제 4 레벨에 생체 인식 기술자들로서 포함하도록 일반 계층 구조가 업데이트된다(1312). 그 다음, 본 명세서에서 설명되는 바와 같이, 업데이트된 계층 구조를 사용하여 암호 키가 생성될 수 있다. 이 프로세스는 제 4 레벨에서의 생체 인식 기술자들에 관해 설명되지만, 다른 레벨들, 예컨대 제 3 레벨 리지 맵들 또는 제 5 또는 더 하위 레벨에서의 임의의 생체 인식 기술자들에 유사한 프로세스가 수행될 수 있다. 예를 들어, 계층 구조의 하나 또는 그보다 많은 레벨들은 생체 인식 데이터에 대해 그 레벨의 다른 생체 인식 기술자들보다 더 큰 유사성을 나타내는 유사성 파라미터를 갖는 생체 인식 기술자를 포함하도록 업데이트될 수 있다.
[0098] 업데이트된 계층 구조는 업데이트된 버전 번호를 할당 받고 사용자에 대한 생체 인식 잠금 정보의 일부로서 저장된다. 업데이트된 계층 구조 및 버전 번호 그리고 연관된 사용자 식별자가 암호 서버에 송신된다. 암호 서버는 업데이트된 계층 구조 및 버전 번호 그리고 연관된 사용자 식별자를 수신한다. 암호 서버는 업데이트된 계층 구조 및 버전 번호를 사용자 식별자와 연관된 생체 인식 잠금 정보로서 저장한다. 클라이언트 디바이스로부터 사용자 식별자와 함께 암호 키 생성에 대한 요청이 수신되면, 암호 서버는 사용자 식별자와 연관된 업데이트된 계층 구조를 클라이언트 디바이스에 송신한다.
[0099] 매칭이 가능하지 않은 경우(1306), 사용자와 연관된 지문 데이터로부터 도출된 벡터가 계층 구조에 삽입될 수 있다. 앞서 설명한 바와 마찬가지로, 복수의 제 4 레벨 그리드 패턴들 또는 대응하는 제 4 레벨 벡터들이 획득된다(1314). 사용자의 식별자와 연관된 실제 지문 데이터로부터 미뉴셔들의 그리드 패턴이 획득된다. 이 그리드 패턴으로부터 벡터가 도출되어 제 4 레벨 그리드 패턴들에(예컨대, 선택된 제 3 레벨 그리드 패턴과 연관된 제 4 레벨 벡터들의 서브세트 내에) 삽입된다(1316). 따라서 사용자 식별자와 연관된 생체 인식 데이터를 기초로 적어도 하나의 생체 인식 기술자를 포함하도록 계층 구조가 업데이트된다.
[00100] 일반 계층 구조의 제 4 레벨은 사용자와 연관된 지문 데이터를 기초로 벡터를 포함하도록 수정된다(1320). 계층 구조의 버전 식별자가 업데이트된다. 계층 구조의 업데이트된 버전, 업데이트된 버전 식별자 및 사용자 식별자가 암호 서버에 송신된다. 그 다음, 계층 구조의 업데이트된 버전이 암호 서버에 의해 저장되고 이후, 연관된 사용자 식별자에 사용된다. 무단 액세스를 방지하기 위해 지문 데이터 그리고 실제 지문 데이터를 기초로 한 실제 벡터는 로컬 디바이스로부터 소거된다.
[00101] 실제 지문 데이터를 삽입하는 이러한 접근 방식은, 계층 구조의 제 4 레벨에서 실제 지문 데이터와 매칭하는 벡터가 존재함을 보장한다. 또한, 이 접근 방식은 계층 구조의 제 4 레벨의 생체 인식 기술자들을 지문 데이터에 매칭시키는 프로세스를 가속화하는데 도움이 된다. 이 프로세스는 제 4 레벨에서의 생체 인식 기술자들에 관해 설명되지만, 다른 레벨들, 예컨대 제 3 레벨 리지 맵들 또는 제 5 또는 더 하위 레벨에서의 임의의 생체 인식 기술자들에 유사한 프로세스가 수행될 수 있다. 예를 들어, 계층 구조의 하나 또는 그보다 많은 레벨들은 사용자의 지문 데이터를 기초로 생체 인식 기술자를 포함하도록 업데이트될 수 있다. 또한, 사용자의 지문 데이터를 기초로 한 생체 인식 기술자를 레벨에 삽입하는 이러한 프로세스는 본 명세서에서 설명되는 다른 프로세스와 함께 수행될 수 있다. 예를 들어, 사용자의 지문 데이터를 기초로 생체 인식 기술자로부터의 특정 임계치보다 더 큰 유사성 파라미터를 갖도록 이 레벨의 다른 생체 인식 기술자들이 선택될 수 있다.
[00102] 바람직하게는, 키 생성은 초기에 수행되고 동일한 사용자에 대해 반복되지 않는다. 지문 데이터로부터 처음에 암호 키가 생성되면, 일부 경우들에는 암호 키로부터 공개 키가 또한 생성될 수 있다. 따라서 공개 키는 키 컴포넌트들 또는 그 서브세트에 적어도 부분적으로 기초하여 생성된다. 공개 키 및 생체 인식 잠금 정보가 암호 서버(410)에 송신된다. 암호 서버(410)는 공개 키와 생체 인식 잠금 정보뿐만 아니라 연관된 사용자 식별자를 갖는 생체 인식 기술자들의 계층 구조의 임의의 업데이트된 버전들도 저장한다.
[00103] 키 생성 이후 사용자가 메시지를 암호화 또는 복호화하거나 암호 키를 사용하여 인증을 수행할 필요가 있을 때 키 복구가 수행된다. 키 복구는 일부 실시예들에서 키 생성 프로세스와 유사하다.
[00104] 도 14는 적어도 하나의 지문을 이용한 암호 키 복구를 위한 방법(1400)의 실시예의 논리 흐름도를 예시한다. 적어도 하나의 지문에 대한 데이터 및 생체 인식 기술자들의 계층 구조가 획득된다(1402). 일례로, 계층 구조는 압축된 포맷으로 암호 서버로부터 다운로드된다. 압축된 포맷은 다운로드 시간을 감소시킬 수 있지만 디바이스가 이후에 계층 구조의 데이터를 추출할 필요가 있다. 대안으로, 계층 구조의 완전한 설명 버전이 다운로드될 수 있어, 디바이스에 의한 더 적은 처리를 필요로 하지만 다운로드 시간이 더 길어질 수 있다. 다른 대안으로, 정보의 보안에 영향을 미치지 않으면서 전송되어야 하는 정보의 양을 제한하기 위해, 개인 정보 검색(PIR: private information retrieval) 시스템이 계층 구조를 다운로드하도록 암호 서버에 대화식으로 질의할 수 있다.
[00105] 계층 구조를 획득한 후 또는 이와 병행하여, 사용자의 적어도 하나의 지문에 대한 데이터가 예컨대, 지문을 스캐닝하거나 이미지화함으로써 획득된다. 지문 데이터는 지문의 적어도 하나의 이미지나 지문의 다수의 이미지들 또는 지문 내의 매크로 특이점들 및 미뉴셔들의 위치를 제공하는 다른 정보를 포함한다.
[00106] 계층 구조의 제 1 레벨의 경우, 지문 데이터로부터 지문 특징들이 검출되어 지문의 타입을 결정한다(1404). 예를 들어, 지문 이미지가 처리되어 임의의 코어들 및 델타들의 수 및 위치를 결정한다. 그 다음, 임의의 검출된 코어들 및 델타들의 수 및 위치를 기초로 지문의 타입이 결정된다. 그 다음, 결정된 지문 타입은 계층 구조의 제 1 레벨에서 6개의 서로 다른 타입들과 비교된다. 비교를 기초로, 6개의 지문 타입들 중 하나가 선택되고, 선택된 지문 타입과 연관된 제 1 키 컴포넌트가 획득된다(1406).
[00107] 계층 구조의 제 2 레벨의 경우, 지문 데이터로부터 지문 데이터의 델타 및 코어의 분포가 검출된다(1408). 예를 들어, 지문 데이터로부터 코어 및 델타의 포지션 및 위치가 획득된다. 이 정보는 검출된 코어들과 델타들 간의 또는 기본 축 간의 거리 및 각도의 벡터들을 포함할 수 있다. 그 다음, 이 정보는 선택된 지문 타입과 연관된 제 2 레벨에서의 델타 및 코어 분포들의 서브세트와 비교된다. 이 비교를 기초로, 서브세트의 코어 및 델타 분포들 중 하나가 선택되고, 연관된 제 2 키 컴포넌트가 획득된다(1410).
[00108] 계층 구조의 제 3 레벨의 경우, 지문 데이터를 처리하여 복수의 점들에서 리지들의 배향을 결정함으로써 리지 맵이 획득된다(1412). 리지 맵은 선택된 코어 및 델타 분포와 연관된 계층 구조에서의 제 3 레벨 리지 맵들의 서브세트와 비교된다. 이 비교를 기초로, 서브세트의 제 3 레벨 리지 맵들 중 하나가 선택되고, 연관된 제 3 키 컴포넌트 "s"가 획득된다(1414).
[00109] 계층 구조의 제 4 레벨의 경우, 지문 데이터가 처리되어 미뉴셔의 그리드 패턴을 결정한다(1416). 먼저, 지문 데이터로부터 도출된 리지 맵이 선택된 제 3 레벨 리지 맵과 정렬된다. 지문 데이터로부터 도출된 리지 맵은 이것의 리지 배향들이 선택된 제 3 레벨 리지 맵과 정렬될 때까지 회전 및 평행 이동된다. 그 다음, 다양한 미뉴셔들이 정렬된 리지 맵 상에 위치된다. 이러한 미뉴셔들은 예컨대, 리지 끝점, 리지 분기점, 섬 리지, 점 또는 매우 짧은 리지, 브리지, 스퍼(spur), 눈, 2분기 및 3분기를 포함할 수 있다. 그 다음, 미리 정의된 m*n 그리드가 정렬된 리지 맵의 영역에 오버레이된다.
[00110] 그리드에서 특정 기준을 충족하는 셀들이 선택되어 그리드 패턴을 생성한다(1418). 일례로, 오버레이된 그리드의 각각의 셀에서의 미뉴셔의 수가 카운트되고, 최대 수의 미뉴셔를 갖는 K개의 셀들이 선택되며, 여기서 K는 (예컨대, K=8과 같은) 파라미터이다. 2개의 셀들이 동일한 수의 미뉴셔들을 가지면, 셀들은 지문 영역의 중심에서부터 시작하여 바깥쪽으로 회전하는 나선 상에서 이들의 출현 순서를 기초로 선택될 수 있다. 그 다음, 선택된 셀들의 그리드 패턴이 계층 구조의 제 4 레벨에서의 그리드 패턴들과 비교된다. 일 실시예에서, 그리드 패턴은 해밍 가중치(x)를 갖는 벡터에 맵핑된다. 이러한 맵핑된 벡터는 그 다음, 제 4 레벨 그리드 패턴들로부터 생성된 벡터들과 비교된다. 맵핑된 벡터에 가장 가깝게 대응하는, 예컨대 맵핑된 벡터로부터 가장 작은 해밍 거리를 갖는 제 4 레벨 벡터가 선택된다. 선택된 제 4 레벨 벡터의 인덱스, 즉 벡터들의 시퀀스에서의 벡터의 위치는 "벡터 번호이고" 제 4 키 컴포넌트를 획득하는 데 사용된다(1420).
[00111] 그 다음, 4개의 키 컴포넌트들 또는 그 서브세트가 암호 키를 얻는데 사용된다(1422). 예시적인 실시예에서, 제 1 키 컴포넌트는 2 비트의 엔트로피를 제공하고, 제 2 키 컴포넌트는 7 비트의 엔트로피를 제공하고, 제 3 키 컴포넌트는 6 비트의 엔트로피를 제공하고, 제 4 키 컴포넌트는 10 비트의 엔트로피를 제공한다. 따라서 암호 키는 25 비트의 엔트로피를 갖는다. 2개의 손가락들에 대해 이 프로세스를 수행함으로써, 총 50 비트의 엔트로피가 생성된다. 게다가, 계층 구조 내의 어떤 생체 인식 기술자도 모든 지문 데이터에 대한 템플릿 또는 매칭이 아니기 때문에, 계층 구조 및 생체 인식 잠금 정보에 대한 액세스 권한이 없는 사용자가 어떤 생체 인식 기술자들이 사용자에 대응하는지 또는 어떤 생체 인식 기술자들이 다른 사용자에 대응하거나 합성적으로 생성되는지를 결정하는 것이 가능하지 않다. 따라서 사용자의 지문 데이터에 대응하는 단일 템플릿을 저장하는 다른 방법들보다 사용자의 생체 인식 데이터의 보안이 향상된다.
[00112] 도 15는 지문들의 서로 다른 서브세트들을 이용한 암호 키 생성을 위한 방법(1500)의 실시예의 개략적인 블록도를 예시한다. 이 실시예에서는, 다항식 보간법이 암호 키를 얻는데 사용된다. 다항식 점들의 쿼럼(quorum)이 얻어진 후, 인용에 의해 본 명세서에 포함된, Communications of the ACM 22 (11): pages 612-613에 공개된 A. Shamir에 의한 기사 "How to share a secret"에 기술된 것과 같은 방법을 사용하여 다항식 점들의 조합들이 보간된다. 이 방법은 k개의 점들을 기반으로 하여 k-1인 차수의 다항식을 정의한다. k-1개의 양의 정수들(
Figure 112017095570457-pct00007
)을 사용하여, 다음과 같이 다항식이 정의될 수 있다:
Figure 112017095570457-pct00008
다항식은 임의의 n개의 점들로 보간될 수 있는데, 예컨대 i = 1, … n을 설정하여 (i, f(i))를 리트리브할 수 있다. 이러한 쌍들의 k의 임의의 서브세트가 주어지면, 보간을 사용하여 다항식의 계수들이 얻어질 수 있다. 암호 키는 상수 항(a0)으로 설정된다. 다항식을 결정하기 위해, N개의 지문들에 대응하는 N개의 키 컴포넌트들로 n개의 점들이 정의된다. 예를 들어, 엄지의 지문(1502)이 지문 데이터로서 사용되어 제 1 다항식 점(1504)을 결정하기 위한 키 컴포넌트들을 생성한다. 검지의 지문(j)이 지문 데이터로서 사용되어 제 2 다항식 점(1508)을 결정하기 위한 키 컴포넌트들을 생성한다. 다항식 점들의 쿼럼이 획득된 후, 다항식 점들의 조합들이 보간되어 다항식 f(x)의 계수들을 획득한다.
[00113] 도 16은 키 생성을 위한 방법(1600)의 실시예의 논리 흐름도를 예시한다. 한 예시적인 구현에 따르면, 암호 서버(1630)는 복수의 클라이언트 디바이스들(1640)에 대한 암호화 서비스를 제공한다. 암호화 서비스의 일부로서, 암호 서버(1630)가 생체 인식 기술자들의 미리 생성된 계층 구조를 획득한다(1602). 미리 생성된 계층 구조가 복수의 클라이언트 디바이스들에 의해 사용자 식별자와 연관된 암호 키를 생성하는 데 사용된다. 일 실시예에서, 생체 인식 기술자들의 미리 생성된 계층 구조(1922)가 복수의 사용자들의 생체 인식 데이터를 사용하지 않고 생성된다. 일반적으로, 생체 인식 기술자들은 랜덤하게 수집된 실제 생체 인식들로부터의 데이터를 기초로 생성되거나 합성적으로 생성될 수 있다.
[00114] 디바이스(1640)는 암호화에 대한 사용자로부터의 요청 및 사용자 식별자를 수신한다(1604). 사용자가 암호화 서비스에 미리 등록하지 않은 경우, 디바이스(1640)는 새로운 등록된 사용자를 설정하기 위한 요청을 연관된 사용자 식별자와 함께 송신한다(1606). 암호 서버(1630)는 암호 키의 생성을 위해 생체 인식 기술자들의 미리 생성된 계층 구조를 디바이스(1640)에 송신한다(1608). 디바이스(1640)는 사용자로부터 지문 데이터를 획득하고, 본 명세서에서 설명된 바와 같이 생체 인식 기술자들의 미리 생성된 계층 구조를 사용하여 키 복구를 시도한다.
[00115] 디바이스(1640)는 계층 구조의 하나 또는 그보다 많은 레벨들에서 생체 인식 기술자들을 삽입하거나 한 레벨에서 하나 또는 그보다 많은 생체 인식 기술자들을 재정렬하거나 본 명세서에서 설명된 바와 같은 암호 키 생성을 보조하도록 다른 수정들을 수행함으로써 생체 인식 기술자들의 미리 생성된 계층 구조를 업데이트할 수 있다. 디바이스는 임의의 업데이트된 계층 구조를 업데이트된 버전 번호 및 사용자 식별자와 함께 암호 서버에 송신하고(1614), 암호 서버(1630)는 업데이트된 계층 구조를 이것의 업데이트된 버전 식별자와 함께 사용자 식별자와 연관된 생체 인식 잠금 정보로서 저장한다(1616). 계층 구조의 업데이트된 버전은 이후, 사용자 식별자와 연관된 암호화 요청들에 사용된다. 그러나 생체 인식 기술자들의 미리 생성된 계층 구조는 새로운 사용자들 또는 복수의 사용자들 중 연관된 업데이트된 계층 구조를 갖지 않는 다른 사용자들에 의한 사용을 위해 계속해서 송신되게 된다.
[00116] 디바이스(1640)는 본 명세서에서 설명되는 바와 같이 키 생성 방법들을 이용하여 지문 데이터 및 업데이트된 계층 구조를 이용하는 암호 키 획득으로 진행한다(1618). 암호화 서비스가 공개 키 암호 체계인 경우, 디바이스(1640)는 암호 키를 사용하여 공개 키를 결정한다. 디바이스(1640)는 공개 키 및 연관된 사용자 식별자를 암호 서버(1630)에 송신한다. 암호 서버는 사용자 식별자와 연관된 생체 인식 잠금 정보의 일부로서 공개 키를 저장하며, 여기서 공개 키는 본 명세서에서 설명되는 바와 같이 키 컴포넌트들 또는 그 서브세트에 적어도 부분적으로 기초한다(1622). 디바이스(1640)는 암호 키 및 지문 데이터를 소거하여 정보에 대한 무단 액세스로부터 보호한다(1624).
[00117] 도 17은 복수의 디바이스들(1730)에 암호화 서비스를 제공하기 위한 방법(1700)의 실시예의 논리 흐름도를 예시한다. 제 1 사용자 디바이스(1730a)는 메시지의 암호화에 대한 요청 및 사용자 식별자를 수신한다(1702). 제 1 디바이스(1730a)는 사용자 식별자를 포함하여 사용자와 연관된 생체 인식 잠금 정보에 대한 요청을 암호 서버(1740)에 송신한다(1704). 암호 서버(1740)는 암호 키의 생성을 위해 사용자 식별자와 연관된 생체 인식 잠금 정보 및 생체 인식 기술자들의 미리 생성된 계층 구조 또는 생체 인식 기술자들의 계층 구조의 업데이트된 버전으로 응답한다(1706). 생체 인식 잠금 정보는 암호 키를 생성하는 데 필요한 지문들의 세트의 식별자, 계층 구조의 버전, 및 다른 구성 정보를 포함할 수 있다. 제 1 디바이스(1730a)는 지문들의 세트를 스캐닝하고 지문 데이터를 획득하여(1708) 지문 데이터 및 계층 구조를 이용한, 예컨대 본 명세서에서 설명되는 바와 같은 실시예를 이용한 암호 키의 획득으로 진행한다(1710). 그 다음, 디바이스(1730a)는 암호 키를 사용하여 메시지를 암호화한다(1712). 디바이스(1730a)는 암호화된 메시지 및 사용자 식별자를 디바이스(1730b)와 같은 요청된 목적지에 송신한다(1714). 디바이스(1730b)는 암호화된 메시지를 수신하고 사용자 식별자와 연관된 공개 키를 요청한다(1716). 암호 서버(1740)는 요청을 수신하여 사용자 식별자와 연관된 공개 키로 응답한다(1718). 디바이스(1730b)는 이제 공개 키를 사용하여 메시지를 복호화하도록 동작 가능하다(1720). 암호화 세션이 완료되면, 디바이스(1730a)는 암호 키 및 지문 데이터를 소거한다. 이러한 동작은 생체 인식 정보 및 암호 키에 대한 무단 액세스로부터 보호한다.
보다 상세한 예시적인 디바이스 및 암호 서버
[00118] 도 18은 생체 인식 데이터를 이용한 암호 키 생성을 위해 구성된 디바이스(1802)의 실시예의 개략적인 블록도를 예시한다. 디바이스(1802)의 처리 회로(1804)는 생체 인식 키 생성 모듈/회로(1806)를 포함한다. 생체 인식 키 생성 모듈/회로(1806)의 다양한 모듈들 및 기능들은 이미지 처리 모듈/회로(1808), 특징 검출 모듈/회로(1810), 맵 모듈/회로(1812), 그리드 패턴 모듈/회로(1814), 비교 모듈/회로(1816) 및 키 생성기 모듈/회로(1818)를 포함한다. 다양한 모듈들이 개별 모듈들로서 도시되어 있지만, 모듈들의 기능들 중 하나 또는 그보다 많은 기능이 다른 모듈로 결합되거나 기능들이 추가 모듈들로 더 세그먼트화될 수 있다. 또한, 모듈들은 하나 또는 그보다 많은 디바이스들에 통합될 수 있고 또는 개별 디바이스들일 수 있다. 추가 모듈들 또는 다른 컴포넌트들이 또한 디바이스(1802)에 포함되어 본 명세서에서 설명한 기능을 수행할 수 있다.
[00119] 이미지 처리 모듈/회로(1808)은 스캐닝된 지문들의 세트로부터 지문의 하나 또는 그보다 많은 이미지들을 획득한다. 이미지 처리 모듈/회로(1808)은 이미지를 지문의 다른 이미지들과 정렬하거나, 이미지를 크롭(crop)하거나, 이미지를 필터링하거나, 또는 다른 처리를 수행할 수 있다. 일 실시예에서, 복수의 2차원(2D: two dimensional) 좌표들을 포함하는 지문의 표면 맵이 생성된다. 2D 좌표들은 예를 들어, 데카르트 (x, y) 좌표들, 구면 (r, θ) 좌표들 또는 원기둥 (y, r) 좌표들을 포함한다. 2D 좌표들은 지문 이미지들에 정의된 기본 축 또는 다른 정의된 기준 평면을 참조로 할 수 있다. 표면 맵의 2D 점들 각각은 텍스처 데이터를 포함할 수 있다. 예를 들어, 텍스처 데이터는 RGB 값들 또는 휘도 값 또는 그레이 스케일과 같은 색상 정보를 포함한다.
[00120] 특징 검출 모듈/회로(1810)는 지문의 표면 맵을 처리하여 하나 또는 그보다 많은 특징들을 검출한다. 예를 들어, 지문의 특징들은 아치들, 코어들, 델타들, 소용돌이들, 또는 리지의 다른 패턴들뿐만 아니라 미뉴셔 점들도 포함한다. 미뉴셔 점들은 예컨대, 리지 끝점, 리지 분기점, 섬 리지, 점 또는 매우 짧은 리지, 브리지, 스퍼, 눈, 2분기 및 3분기를 포함하는 로컬 리지 특성들이다. 표면 맵 상의 다른 타입들의 특징들, 이를테면 구멍들 또는 상흔들이 또한 검출될 수 있다. 일 실시예에서, 특징 검출 모듈/회로(1810)는 지문의 다양한 특징들을 나타내는 특징 템플릿들 또는 벡터들에 액세스한다. 특징 검출 모듈/회로(1810)는 표면 맵의 서브세트를 특징 벡터와 비교한다. 정합 필터들, 상관 필터들, (가보 웨이블릿들, 로그-가보 웨이블릿들에 의한) 가보 필터들 및 푸리에 변환들이 특징 벡터와 서브세트 간의 비교를 수행하는 데 사용될 수 있다. 비교를 기초로, 특징 검출 모듈/회로(1810)는 지문에서 특징들의 존재, 타입 및 위치를 결정한다. 검출된 특징들 및 이들의 상대적 포지션을 기초로, 특징 검출 모듈/회로(1810)는 아치, 솟은 아치, 좌측 루프, 우측 루프, 평평한 소용돌이 및 이중 소용돌이와 같은 지문 타입을 결정하도록 동작 가능하다.
[00121] 특징 검출 모듈/회로(1810)은 표면 맵에 대한 특징 데이터를 출력한다. 특징 데이터는 특징의 2D 좌표들 및 타입과 함께 특징들의 리스트를 포함한다. 일 실시예에서, 특징 데이터는 다른 특징들에 대한 특징들의 상대적 배치를 더 포함한다. 예를 들어, 이는 특징들 간의 리지 라인들의 거리 또는 수를 포함할 수 있다. 특징 데이터는 특징의 배향각을 더 포함할 수 있다. 특징이 벡터 또는 기울기 벡터를 포함할 때, 특징 데이터는 벡터의 배향각 및 벡터에 대한 값과 같은 벡터 좌표들을 포함한다.
[00122] 맵 모듈/회로(1812)는 본 명세서에서 설명한 바와 같이 지문의 표면 맵으로부터 또는 합성 리지 맵으로부터 리지 맵, 밀도 맵 및 등고선 맵을 도출하도록 동작 가능하다. 그리드 패턴 모듈은 표면 맵 또는 리지 맵 위에 m*n 그리드를 오버레이하고 그리드의 셀들에 관해 미뉴셔들 또는 리지들의 수와 같은 특정 기준들을 결정하도록 동작 가능하다. 그리드 패턴 모듈/회로(1814)는 본 명세서에서 설명한 바와 같이, 그리드 패턴을 생성하고 그리드 패턴을 벡터들에 맵핑하도록 동작 가능하다. 비교 모듈/회로(1816)는 지문 데이터를 계층 구조 내의 생체 인식 기술자들과 비교하여 가장 가까운 매칭을 결정하도록 동작 가능하다. 키 생성기 모듈/회로(1818)은 본 명세서에서 설명한 방법들을 이용하여 키 컴포넌트들을 기초로 암호 키를 생성한다.
[00123] 디바이스(1802)는 처리 회로(1804)에 연결된 메모리/저장 디바이스(1820)를 더 포함한다. 메모리/저장 디바이스(1820)는 예컨대, 사용자 식별자(1826)와 연관된 생체 인식 기술자들의 계층 구조(1822) 및 생체 인식 잠금 정보(1824)를 저장한다. 디바이스(1802)는 통신 네트워크 환경을 통한 통신을 위한 네트워크 인터페이스 회로를 포함한다. 디바이스(1802)는 생체 인식(1834)으로부터 지문 데이터를 스캐닝 또는 이미지화하거나 아니면 캡처하도록 구성된 바이오센서 회로(1830)를 포함하며, 여기서 생체 인식은 한 세트의 지문들을 포함한다.
[00124] 도 19는 복수의 클라이언트 디바이스들에 암호화 서비스를 제공하도록 구성된 암호 서버(1902)의 실시예의 개략적인 블록도를 예시한다. 암호 서버(1902)는 처리 회로(1904), 네트워크 인터페이스 회로(1928) 및 메모리/저장 디바이스(1920)를 포함한다. 처리 회로(1904)는 적어도, 본 명세서에서 설명한 바와 같이 복수의 클라이언트 디바이스들에 암호화 서비스들을 제공하는 암호화 서비스 회로/모듈(1906)을 포함한다. 예시적인 실시예에서, 암호 서버(1902)는 메모리/저장 디바이스(1920)에 저장된 생체 인식 기술자들의 미리 생성된 계층 구조(1922) 및 생체 인식 기술자들의 미리 생성된 계층 구조의 하나 또는 그보다 많은 레벨들에 대한 생체 인식 기술자들을 생성한다. 일 실시예에서, 생체 인식 기술자들의 미리 생성된 계층 구조(1922)는 복수의 사용자들에 대해 미리 생성되는데, 예컨대 생체 인식 기술자들의 계층 구조(1922)는 복수의 사용자들의 생체 인식 데이터를 사용하지 않고 생성된다. 일반적으로, 생체 인식 기술자들은 실제 생체 인식들로부터의 데이터를 기초로 생성되거나 합성적으로 생성될 수 있다. 사용자에 대한 암호 키 생성 동안 생체 인식 기술자들의 미리 생성된 계층 구조가 수정되거나 업데이트되면, 생체 인식 기술자들의 업데이트된 계층 구조가 사용자 식별자와 연관된 생체 인식 잠금 정보의 일부로서 저장된다.
[00125] 암호화 서비스 회로/모듈의 다양한 모듈들 및 기능들은 맵 모듈/회로(1908), 그리드 패턴 모듈/회로(1910), 특징 검출 모듈/회로(1912) 및 키 연관 모듈/회로(1916)를 포함한다. 다양한 모듈들이 개별 모듈들로서 도시되어 있지만, 모듈들의 기능들 중 하나 또는 그보다 많은 기능이 다른 모듈로 결합되거나 기능들이 추가 모듈들로 더 세그먼트화될 수 있다. 또한, 모듈들은 하나 또는 그보다 많은 디바이스들에 통합될 수 있고 또는 개별 디바이스들일 수 있다. 추가 모듈들 또는 다른 컴포넌트들이 또한 암호 서버(1902)에 포함되어 본 명세서에서 설명한 기능을 수행할 수 있다.
[00126] 맵 모듈/회로(1908)는 복수의 리지 맵들을 합성적으로 생성하거나 복수의 리지 맵들을 실제 생체 인식 데이터를 사용하여 생성하거나 또는 생체 인식 기술자들의 미리 생성된 계층 구조(1922)의 하나 또는 그보다 많은 레벨들에 대해 합성적으로 생성하도록 동작 가능하다. 맵 모듈/회로(1908)은 예컨대, 본 명세서에서 설명한 방법들을 이용하여 복수의 밀도 맵들 및 등고선 맵들을 생성하도록 추가로 동작 가능하다.
[00127] 특징 검출 모듈/회로(1912)는 등고선 맵들을 처리하여 미뉴셔 점들 및 리지 특성들과 같은 하나 또는 그보다 많은 특징들을 검출한다. 예를 들어, 특징 검출 모듈/회로(1912)는 본 명세서에서 설명한 바와 같이 리지 맵을 생성하기 위한 특징들, 이를테면 리지들의 밀도 및 미뉴셔들의 위치와 수를 등고선 맵들로부터 검출하도록 동작 가능하다. 일 실시예에서, 특징 검출 모듈/회로(1912)는 다양한 특징들을 나타내는 특징 템플릿들 또는 벡터들에 액세스한다. 특징 검출 모듈/회로(1912)는 등고선 맵의 서브세트를 특징 벡터와 비교한다. 정합 필터들, 상관 필터들, (가보 웨이블릿들, 로그-가보 웨이블릿들에 의한) 가보 필터들 및 푸리에 변환들이 특징 벡터와 서브세트 간의 비교를 수행하는 데 사용될 수 있다. 비교를 기초로, 특징 검출 모듈/회로(1912)는 지문에서 특징들의 존재, 타입, 위치 또는 다른 특정 기준들을 결정한다.
[00128] 특징 검출 모듈/회로(1912)은 등고선 맵에 대한 특징 데이터를 출력한다. 특징 데이터는 특징의 2D 좌표들 및 타입과 함께 특징들의 리스트를 포함한다. 일 실시예에서, 특징 데이터는 다른 특징들에 대한 특징들의 상대적 배치를 더 포함한다. 예를 들어, 이는 특징들 간의 리지 라인들의 거리 또는 수를 포함할 수 있다. 특징 데이터는 특징의 배향각을 더 포함할 수 있다. 특징이 벡터 또는 기울기 벡터를 포함할 때, 특징 데이터는 벡터의 배향각 및 벡터에 대한 값과 같은 벡터 좌표들을 포함한다.
[00129] 그리드 패턴 모듈/회로(1910)는 등고선 맵 및 특징 데이터로부터 그리드 패턴들 및 벡터들을 생성하도록 동작 가능하다. 예를 들어, 그리드 패턴 모듈/회로(1910)는 등고선 맵 위에 m*n 그리드를 오버레이하고 그리드의 셀들에 관해 미뉴셔들 또는 리지들의 수와 같은 특정 기준들을 결정하도록 동작 가능하다. 그리드 패턴 모듈/회로(1910)는 본 명세서에서 설명한 바와 같이, 그리드 패턴을 생성하고 그리드 패턴을 벡터들에 맵핑하도록 동작 가능하다. 키 연관 모듈/회로(1916)는 생체 인식 기술자들의 미리 생성된 계층 구조(1922) 내의 생체 인식 기술자들 각각에 키 컴포넌트를 연관시키도록 동작 가능하다.
[00130] 암호 서버(1902)는 처리 회로(1904)에 연결된 메모리/저장 디바이스(1920)를 더 포함한다. 메모리/저장 디바이스(1920)는 예컨대, 사용자 식별자(1926)와 연관된 생체 인식 기술자들의 미리 생성된 계층 구조(1922) 및 생체 인식 잠금 정보(1924)를 저장한다. 메모리/저장 디바이스(1920)는 또한 복수의 공개 키들 및 연관된 사용자 식별자들을 포함하는 공개 키 데이터베이스(1918)를 저장할 수 있다. 일 실시예에서, 복수의 공개 키들 중 일부는 본 명세서에서 설명한 바와 같이 생체 인식 데이터를 사용하여 생성된 연관된 암호 키들을 사용하여 생성된다. 암호 서버(1902)는 또한 통신 네트워크 환경에 걸쳐 복수의 클라이언트 디바이스들로의 그리고 복수의 클라이언트 디바이스들로부터의 통신을 위해 처리 회로(1904)에 동작 가능하게 연결되는 네트워크 인터페이스 회로를 포함한다.
[00131] 도 20은 암호화 서비스를 제공하기 위한 방법(2000)의 실시예의 논리 흐름도를 예시한다. 복수의 레벨들을 갖는 생체 인식 기술자들의 계층 구조가 획득되며, 생체 인식 기술자들의 계층 구조의 제 1 레벨에서의 제 1 복수의 생체 인식 기술자들 각각은 상이한 제 1 키 컴포넌트와 연관되고, 생체 인식 기술자들의 계층 구조의 제 2 레벨에서의 제 2 복수의 생체 인식 기술자들 각각은 상이한 제 2 키 컴포넌트와 연관된다(2002). 예시적인 실시예에서, 서버는 복수의 클라이언트 디바이스들에 암호화 서비스를 제공한다. 암호화 서비스의 일부로서, 암호 서버는 사용자 식별자와 연관된 암호 키를 생성하기 위해 복수의 클라이언트 디바이스들에 의한 사용을 위해 의도된 생체 인식 기술자들의 계층 구조를 획득한다.
[00132] 생체 인식 기술자들의 계층 구조가 클라이언트 디바이스에 송신된다(2004). 일 실시예에서, 클라이언트 디바이스와의 트랜잭션의 개시에 대한 응답으로 클라이언트 디바이스에 생체 인식 기술자들의 계층 구조가 송신된다. 예를 들어, 서버는 암호화 서비스를 위해 서버에 사용자를 등록하라는 클라이언트 디바이스로부터의 요청을 수신하고, 요청은 사용자와 연관된 사용자 식별자를 포함한다. 서버는 그에 대한 응답으로 생체 인식 기술자들의 계층 구조를 클라이언트 디바이스에 송신한다. 다른 예에서, 서버는 사용자 식별자와 연관된 등록된 사용자에 대한 암호 키를 생성하라는 클라이언트 디바이스로부터의 요청을 수신하고, 서버는 그에 대한 응답으로 생체 인식 기술자들의 계층 구조를 클라이언트 디바이스에 송신한다.
[00133] 일부, 그러나 전부는 아닌 실시예들에서, 서버는 클라이언트 디바이스로부터 생체 인식 기술자들의 업데이트된 계층 구조를 수신하며, 생체 인식 기술자들의 업데이트된 계층 구조에서 적어도 하나의 생체 인식 기술자는 사용자 식별자와 연관된 생체 인식 데이터를 포함한다(2006). 일부, 그러나 전부는 아닌 실시예들에서, 서버는 클라이언트 디바이스로부터 생체 인식 기술자들의 업데이트된 계층 구조를 수신하며, 생체 인식 기술자들의 업데이트된 계층 구조의 제 2 레벨에서의 제 2 복수의 생체 인식 기술자들의 서브세트는, 사용자 식별자와 연관된 생체 인식 데이터로부터 도출된 생체 인식 기술자에 대해 제 1 특정 임계치 미만인 유사성 파라미터를 갖는 희소 생체 인식 기술자, 및 희소 생체 인식 기술자로부터의 제 2 특정 임계치보다 더 큰 유사성 파라미터를 갖는 복수의 선택된 생체 인식 기술자들을 포함한다. 서버는 연관된 사용자 식별자를 갖는 클라이언트 디바이스로부터 생체 인식 기술자들의 임의의 업데이트된 계층 구조를 수신한다. 서버는 연관된 사용자 식별자를 갖는 생체 인식의 업데이트된 계층 구조를 저장한다.
[00134] 도면들에 예시된 컴포넌트들, 단계들, 특징들 및/또는 기능들 중 하나 이상은 재배열되고 그리고/또는 단일 컴포넌트, 단계, 특징 또는 기능으로 결합되거나 여러 컴포넌트들, 단계들 또는 기능들로 구현될 수 있다. 추가 엘리먼트들, 컴포넌트들, 단계들 및/또는 기능들이 또한 본 명세서에 개시된 신규 특징들을 벗어나지 않으면서 추가될 수 있다. 도면들에 예시된 장치들, 디바이스들 및/또는 컴포넌트들은 도면들에서 설명된 방법들, 특징들 또는 단계들 중 하나 이상을 수행하도록 구성될 수 있다. 본 명세서에서 설명된 신규 알고리즘들은 또한 효율적으로 소프트웨어로 구현되고 그리고/또는 하드웨어에 내장될 수도 있다.
[00135] 또한, 실시예들은 흐름도, 순서도, 구조도 또는 블록도로서 도시되는 프로세스로서 설명될 수 있다는 점이 주목된다. 흐름도는 순차적인 프로세스로서 동작들을 설명할 수도 있지만, 동작들 중 다수는 병렬로 또는 동시에 수행될 수 있다. 또한, 동작들의 순서는 재배열될 수도 있다. 프로세스는 그 동작들이 완료되면 종료된다. 프로세스는 방법, 함수, 프로시저, 서브루틴, 서브프로그램 등에 대응할 수 있다. 프로세스가 함수에 대응할 때, 그 종료는 호출 함수 또는 메인 함수로의 함수의 복귀에 대응한다.
[00136] 더욱이, 저장 매체는 판독 가능 메모리(ROM: read-only memory), 랜덤 액세스 메모리(RAM: random access memory), 자기 디스크 저장 매체들, 광 저장 매체들, 플래시 메모리 디바이스들 및/또는 정보를 저장하기 위한 다른 기계 판독 가능 매체들을 비롯해 데이터를 저장하기 위한 하나 또는 그보다 많은 디바이스들을 나타낼 수 있다. "기계 판독 가능 매체"라는 용어는 휴대용 또는 고정 저장 디바이스들, 광 저장 디바이스들, 무선 채널들, 및 명령(들) 및/또는 데이터를 저장하거나 포함하거나 전달할 수 있는 다양한 다른 매체들을 포함하지만 이에 한정된 것은 아니다.
[00137] 게다가, 실시예들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드로 구현될 때, 필요한 작업들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은 기계 판독 가능 매체, 이를테면 저장 매체 또는 다른 저장소(들)에 저장될 수 있다. 프로세서가 필요한 작업들을 수행할 수 있다. 코드 세그먼트는 프로시저, 함수, 서브프로그램, 프로그램, 루틴, 서브루틴, 모듈, 소프트웨어 패키지, 클래스, 또는 명령들, 데이터 구조들 또는 프로그램 명령문들의 임의의 결합을 나타낼 수 있다. 코드 세그먼트는 정보, 데이터, 인수들, 파라미터들 또는 메모리 콘텐츠를 전달 및/또는 수신함으로써 다른 코드 세그먼트 또는 하드웨어 회로에 연결될 수 있다. 정보, 인수들, 파라미터들, 데이터 등은 메모리 공유, 메시지 전달, 토큰 전달, 네트워크 송신 등을 포함하는 임의의 적당한 수단을 통해 전달, 포워딩 또는 송신될 수 있다.
[00138] 본 명세서에 개시된 예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 회로들, 엘리먼트들 및/또는 컴포넌트들은 범용 프로세서, 디지털 신호 프로세서(DSP: digital signal processor), 주문형 집적 회로(ASIC: application specific integrated circuit), 필드 프로그래밍 가능 게이트 어레이(FPGA: field programmable gate array) 또는 다른 프로그래밍 가능한 로직 컴포넌트, 이산 게이트 또는 트랜지스터 로직, 이산 하드웨어 컴포넌트들, 또는 본 명세서에서 설명된 기능들을 수행하도록 설계된 이들의 임의의 결합으로 구현되거나 이들에 의해 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수도 있지만, 대안으로 프로세서는 임의의 종래 프로세서, 제어기, 마이크로컨트롤러 또는 상태 머신일 수도 있다. 프로세서는 또한 컴퓨팅 컴포넌트들의 결합, 예를 들어 DSP와 마이크로프로세서의 결합, 다수의 마이크로프로세서들, DSP 코어와 결합된 하나 또는 그보다 많은 마이크로프로세서들, 또는 임의의 다른 이러한 구성으로서 구현될 수도 있다.
[00139] 본 명세서에 개시된 예들과 관련하여 설명된 방법들 또는 알고리즘들은 직접 하드웨어로, 프로세서에 의해 실행 가능한 소프트웨어 모듈로, 또는 이 둘의 결합으로, 처리 유닛, 프로그래밍 명령들, 또는 다른 지시들의 형태로 구현될 수 있으며, 단일 디바이스에 포함되거나 다수의 디바이스들에 걸쳐 분산될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터들, 하드디스크, 착탈식 디스크, CD-ROM, 또는 당해 기술분야에 공지된 임의의 다른 형태의 저장 매체에 상주할 수 있다. 저장 매체는 프로세서가 저장 매체로부터 정보를 읽고 저장 매체에 정보를 기록할 수 있도록 프로세서에 연결될 수 있다. 대안으로, 저장 매체는 프로세서에 통합될 수도 있다.
[00140] 당해 기술분야에서 통상의 지식을 가진 자들은 추가로, 본 명세서에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 모듈들, 회로들 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 이 둘의 결합들로 구현될 수 있다고 인식할 것이다. 하드웨어와 소프트웨어의 이러한 상호 호환성을 명확히 설명하기 위해, 각종 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들은 일반적으로 이들의 기능과 관련하여 위에서 설명되었다. 이러한 기능이 하드웨어로 구현되는지 아니면 소프트웨어로 구현되는지는 전체 시스템에 부과된 설계 제약들 및 특정 애플리케이션에 좌우된다.
[00141] 본 명세서에서 설명한 발명의 다양한 특징들은 발명의 범위를 벗어나지 않으면서 서로 다른 시스템들로 구현될 수 있다. 상기의 실시예들은 단지 예들일 뿐이며 본 발명을 제한하는 것으로 해석되지 않아야 한다는 점이 주목되어야 한다. 실시예들의 설명은 예시이며, 청구항들의 범위를 한정하는 것으로 의도되는 것은 아니다. 이에 따라, 본 교시들은 다른 타입들의 장치들에 쉽게 적용될 수 있으며 당해 기술분야에서 통상의 지식을 가진 자들에게 많은 대안들, 수정들 및 변형들이 명백할 것이다.

Claims (34)

  1. 방법으로서,
    생체 인식 데이터(biometric data)를 획득하는 단계;
    상기 생체 인식 데이터를 사용하여 생체 인식 기술자(biometric descriptor)들의 계층 구조의 제 1 레벨에서 제 1 생체 인식 기술자를 선택하는 단계 ― 상기 제 1 생체 인식 기술자는 상기 생체 인식 기술자들의 계층 구조의 제 2 레벨에서의 생체 인식 기술자들의 서브세트와 연관됨 ―;
    상기 제 1 생체 인식 기술자와 연관된 제 1 키 컴포넌트를 획득하는 단계;
    상기 제 1 생체 인식 기술자 및 상기 생체 인식 데이터를 사용하여 상기 제 2 레벨에서 상기 생체 인식 기술자들의 서브세트로부터 제 2 생체 인식 기술자를 선택하는 단계;
    상기 제 2 생체 인식 기술자와 연관된 제 2 키 컴포넌트를 획득하는 단계; 및
    적어도 상기 제 1 키 컴포넌트 및 상기 제 2 키 컴포넌트를 사용하여 암호 키를 생성하는 단계를 포함하는,
    방법.
  2. 제 1 항에 있어서,
    상기 제 2 생체 인식 기술자를 선택하는 단계는,
    상기 제 1 생체 인식 기술자와 연관된, 상기 제 2 레벨에서의 생체 인식 기술자들의 서브세트를 획득하는 단계;
    상기 생체 인식 데이터를 상기 생체 인식 기술자들의 서브세트와 비교하는 단계; 및
    상기 제 2 생체 인식 기술자를 선택하는 단계를 포함하는,
    방법.
  3. 제 1 항에 있어서,
    상기 생체 인식 기술자들의 계층 구조의 적어도 하나의 추가 하위 레벨을 획득하는 단계; 및
    각각의 추가 하위 레벨에 대해, 추가 생체 인식 기술자를 선택하고 그리고 적어도 상기 추가 생체 인식 기술자를 기초로 추가 키 컴포넌트를 획득하는 단계를 더 포함하는,
    방법.
  4. 제 3 항에 있어서,
    적어도 상기 제 1 키 컴포넌트 및 상기 제 2 키 컴포넌트를 사용하여 암호 키를 생성하는 단계는,
    각각의 추가 하위 레벨에 대해 적어도 상기 제 1 키 컴포넌트, 상기 제 2 키 컴포넌트 및 상기 추가 키 컴포넌트를 사용하여 상기 암호 키를 생성하는 단계를 포함하는,
    방법.
  5. 제 1 항에 있어서,
    상기 생체 인식 데이터는 지문들의 세트 내의 적어도 하나의 지문에 대한 지문 데이터를 포함하는,
    방법.
  6. 제 5 항에 있어서,
    상기 생체 인식 기술자들의 계층 구조의 제 1 레벨은 복수의 지문 타입들을 포함하고, 그리고 상기 생체 인식 기술자들의 계층 구조의 제 2 레벨은 매크로 특이점들의 복수의 분포들을 포함하는,
    방법.
  7. 제 6 항에 있어서,
    상기 생체 인식 기술자들의 계층 구조는 복수의 제 3 레벨 리지(ridge) 맵들을 포함하는 제 3 레벨을 더 포함하는,
    방법.
  8. 제 7 항에 있어서,
    상기 지문들의 세트 내의 적어도 하나의 지문을 기초로 리지 맵을 획득하도록 상기 지문 데이터를 처리하는 단계;
    상기 지문들의 세트 내의 적어도 하나의 지문을 기초로 상기 획득된 리지 맵을 사용하여 제 3 레벨 리지 맵을 선택하는 단계; 및
    선택된 제 3 레벨 리지 맵을 기초로 제 3 키 컴포넌트를 획득하는 단계를 더 포함하는,
    방법.
  9. 제 8 항에 있어서,
    상기 지문들의 세트 내의 적어도 하나의 지문을 기초로 리지 맵을 획득하도록 상기 지문 데이터를 처리하는 단계는,
    상기 지문들의 세트 내의 적어도 하나의 지문의 복수의 점들에서 리지들의 배향을 결정하는 단계;
    상기 리지 맵을 획득하기 위한 벡터들로서 상기 복수의 점들에서의 상기 리지들의 결정된 배향을 나타내는 단계를 포함하는,
    방법.
  10. 제 8 항에 있어서,
    상기 생체 인식 기술자들의 계층 구조는 복수의 제 4 레벨 그리드 패턴들을 포함하는 제 4 레벨을 더 포함하는,
    방법.
  11. 제 10 항에 있어서,
    상기 지문들의 세트 내의 적어도 하나의 지문을 기초로 그리드 패턴을 획득하도록 상기 지문 데이터를 처리하는 단계;
    상기 지문들의 세트 내의 적어도 하나의 지문을 기초로 상기 획득된 그리드 패턴을 사용하여 제 4 레벨 그리드 패턴을 선택하는 단계; 및
    선택된 제 4 레벨 그리드 패턴을 기초로 제 4 키 컴포넌트를 획득하는 단계를 더 포함하는,
    방법.
  12. 제 11 항에 있어서,
    상기 지문들의 세트 내의 적어도 하나의 지문을 기초로 그리드 패턴을 획득하도록 상기 지문 데이터를 처리하는 단계는,
    선택된 제 3 레벨 리지 맵에 상기 획득된 리지 맵을 정렬하는 단계;
    상기 획득된 리지 맵 상에 m*n 그리드를 오버레이하는 단계;
    상기 m*n 그리드에서 특정 기준을 충족하는 셀들을 선택하는 단계; 및
    선택된 셀들을 기초로 그리드 패턴을 획득하는 단계를 포함하는,
    방법.
  13. 디바이스로서,
    생체 인식 데이터를 획득하도록 구성된 바이오센서 회로;
    상기 바이오센서 회로에 연결된 처리 회로를 포함하며,
    상기 처리 회로는,
    상기 생체 인식 데이터를 사용하여 생체 인식 기술자들의 계층 구조의 제 1 레벨에서 제 1 생체 인식 기술자를 선택하고 ― 상기 제 1 생체 인식 기술자는 상기 생체 인식 기술자들의 계층 구조의 제 2 레벨에서의 생체 인식 기술자들의 서브세트와 연관됨 ―;
    상기 제 1 생체 인식 기술자와 연관된 제 1 키 컴포넌트를 획득하고;
    상기 제 1 생체 인식 기술자 및 상기 생체 인식 데이터를 사용하여 상기 제 2 레벨에서 상기 생체 인식 기술자들의 서브세트로부터 제 2 생체 인식 기술자를 선택하고;
    상기 제 2 생체 인식 기술자와 연관된 제 2 키 컴포넌트를 획득하고; 그리고
    적어도 상기 제 1 키 컴포넌트 및 상기 제 2 키 컴포넌트를 사용하여 암호 키를 생성하도록 구성되는,
    디바이스.
  14. 제 13 항에 있어서,
    상기 처리 회로는,
    상기 제 1 생체 인식 기술자와 연관된, 상기 제 2 레벨에서의 생체 인식 기술자들의 서브세트를 획득하고;
    상기 생체 인식 데이터를 상기 생체 인식 기술자들의 서브세트와 비교하고; 그리고
    상기 제 2 생체 인식 기술자를 선택하도록 추가로 구성되는,
    디바이스.
  15. 제 14 항에 있어서,
    상기 처리 회로는,
    상기 생체 인식 기술자들의 계층 구조의 추가 하위 레벨을 획득하고; 그리고
    상기 추가 하위 레벨에 대해, 상기 추가 하위 레벨에서의 추가 생체 인식 기술자를 선택하고 그리고 적어도 선택된 추가 생체 인식 기술자를 기초로 추가 키 컴포넌트를 획득하도록 추가로 구성되는,
    디바이스.
  16. 제 15 항에 있어서,
    상기 처리 회로는,
    적어도 상기 제 1 키 컴포넌트, 상기 제 2 키 컴포넌트 및 상기 추가 키 컴포넌트를 사용하여 상기 암호 키를 생성하도록 추가로 구성되는,
    디바이스.
  17. 명령들이 저장된 비-일시적 컴퓨터 판독 가능 저장 매체로서,
    상기 명령들은 하나 또는 그 초과의 프로세서들에 의해 실행될 때 상기 하나 또는 그 초과의 프로세서들로 하여금,
    생체 인식 데이터를 획득하게 하고;
    상기 생체 인식 데이터를 사용하여 생체 인식 기술자들의 계층 구조의 제 1 레벨에서 제 1 생체 인식 기술자를 선택하게 하고 ― 상기 제 1 생체 인식 기술자는 상기 생체 인식 기술자들의 계층 구조의 제 2 레벨에서의 생체 인식 기술자들의 서브세트와 연관됨 ―;
    상기 제 1 생체 인식 기술자와 연관된 제 1 키 컴포넌트를 획득하게 하고;
    상기 제 1 생체 인식 기술자 및 상기 생체 인식 데이터를 사용하여 상기 제 2 레벨에서 상기 생체 인식 기술자들의 서브세트로부터 제 2 생체 인식 기술자를 선택하게 하고;
    상기 제 2 생체 인식 기술자와 연관된 제 2 키 컴포넌트를 획득하게 하고; 그리고
    적어도 상기 제 1 키 컴포넌트 및 상기 제 2 키 컴포넌트를 사용하여 암호 키를 생성하게 하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  18. 하드웨어 디바이스로서,
    생체 인식 데이터를 획득하기 위한 수단;
    상기 생체 인식 데이터를 사용하여 생체 인식 기술자들의 계층 구조의 제 1 레벨에서 제 1 생체 인식 기술자를 선택하기 위한 수단 ― 상기 제 1 생체 인식 기술자는 상기 생체 인식 기술자들의 계층 구조의 제 2 레벨에서의 생체 인식 기술자들의 서브세트와 연관됨 ―;
    상기 제 1 생체 인식 기술자와 연관된 제 1 키 컴포넌트를 획득하기 위한 수단;
    상기 제 1 생체 인식 기술자 및 상기 생체 인식 데이터를 사용하여 상기 제 2 레벨에서 상기 생체 인식 기술자들의 서브세트로부터 제 2 생체 인식 기술자를 선택하기 위한 수단;
    상기 제 2 생체 인식 기술자와 연관된 제 2 키 컴포넌트를 획득하기 위한 수단; 및
    적어도 상기 제 1 키 컴포넌트 및 상기 제 2 키 컴포넌트를 사용하여 암호 키를 생성하기 위한 수단을 포함하는,
    하드웨어 디바이스.
  19. 서버로서,
    클라이언트 디바이스와 통신하도록 구성된 네트워크 인터페이스;
    상기 네트워크 인터페이스에 동작 가능하게 연결된 처리 회로를 포함하며,
    상기 처리 회로는,
    복수의 레벨들을 갖는 생체 인식 기술자들의 계층 구조를 획득하고 ― 상기 생체 인식 기술자들의 계층 구조의 제 1 레벨에서의 제 1 복수의 생체 인식 기술자들 각각은 상이한 제 1 키 컴포넌트와 연관되고, 그리고 상기 생체 인식 기술자들의 계층 구조의 제 2 레벨에서의 제 2 복수의 생체 인식 기술자들 각각은 상이한 제 2 키 컴포넌트와 연관되며, 그리고 상기 제 1 레벨에서의 제 1 생체 인식 기술자는 상기 제 2 레벨에서의 생체 인식 기술자들의 서브세트와 연관됨 ―; 그리고
    상기 생체 인식 기술자들의 계층 구조를 상기 클라이언트 디바이스에 송신하도록 구성되고,
    상기 생체 인식 기술자들의 계층 구조는, 적어도 상기 제 1 생체 인식 기술자와 연관된 제 1 키 컴포넌트 및 상기 제 1 생체 인식 기술자를 사용하여 상기 생체 인식 기술자들의 서브세트로부터 선택된 제 2 생체 인식 기술자와 연관된 제 2 키 컴포넌트를 사용하여 상기 클라이언트 디바이스에서 암호 키의 생성을 가능하게 하는,
    서버.
  20. 제 19 항에 있어서,
    상기 처리 회로는 상기 클라이언트 디바이스로부터 공개 키를 수신하도록 추가로 구성되고,
    상기 공개 키는 상기 제 1 키 컴포넌트 및 상기 제 2 키 컴포넌트에 적어도 부분적으로 기초하는,
    서버.
  21. 제 19 항에 있어서,
    상기 제 1 복수의 생체 인식 기술자들과 상기 제 2 복수의 생체 인식 기술자들은 합성적으로 미리 생성되는,
    서버.
  22. 제 21 항에 있어서,
    상기 제 1 복수의 생체 인식 기술자들은 복수의 합성적으로 생성된 리지 맵들을 포함하고, 그리고
    상기 제 2 복수의 생체 인식 기술자들은 복수의 합성적으로 생성된 그리드 패턴들을 포함하는,
    서버.
  23. 제 21 항에 있어서,
    상기 처리 회로는 상기 클라이언트 디바이스로부터 생체 인식 기술자들의 업데이트된 계층 구조를 수신하도록 추가로 구성되고,
    상기 생체 인식 기술자들의 업데이트된 계층 구조에서 적어도 하나의 생체 인식 기술자는 사용자 식별자와 연관된 생체 인식 데이터를 포함하는,
    서버.
  24. 제 21 항에 있어서,
    상기 처리 회로는 상기 클라이언트 디바이스로부터 생체 인식 기술자들의 업데이트된 계층 구조를 수신하도록 추가로 구성되고,
    상기 생체 인식 기술자들의 업데이트된 계층 구조의 제 2 레벨에서의 상기 제 2 복수의 생체 인식 기술자들의 서브세트는,
    사용자 식별자와 연관된 생체 인식 데이터로부터 도출된 생체 인식 기술자에 대해 제 1 특정 임계치 미만인 유사성 파라미터를 갖는 희소 생체 인식 기술자; 및
    상기 희소 생체 인식 기술자로부터의 제 2 특정 임계치보다 더 큰 유사성 파라미터를 갖는 복수의 선택된 생체 인식 기술자들을 포함하는,
    서버.
  25. 제 19 항에 있어서,
    상기 처리 회로는 상기 클라이언트 디바이스와의 트랜잭션(transaction)의 개시에 대한 응답으로 상기 클라이언트 디바이스에 상기 생체 인식 기술자들의 계층 구조를 송신하도록 구성되는,
    서버.
  26. 방법으로서,
    복수의 레벨들을 갖는 생체 인식 기술자들의 계층 구조를 획득하는 단계 ― 상기 생체 인식 기술자들의 계층 구조의 제 1 레벨에서의 제 1 복수의 생체 인식 기술자들 각각은 상이한 제 1 키 컴포넌트와 연관되고, 그리고 상기 생체 인식 기술자들의 계층 구조의 제 2 레벨에서의 제 2 복수의 생체 인식 기술자들 각각은 상이한 제 2 키 컴포넌트와 연관되며, 그리고 상기 제 1 레벨에서의 제 1 생체 인식 기술자는 상기 제 2 레벨에서의 생체 인식 기술자들의 서브세트와 연관됨 ―; 및
    상기 생체 인식 기술자들의 계층 구조를 클라이언트 디바이스에 송신하는 단계를 포함하며,
    상기 생체 인식 기술자들의 계층 구조는, 적어도 상기 제 1 생체 인식 기술자와 연관된 제 1 키 컴포넌트 및 상기 제 1 생체 인식 기술자를 사용하여 상기 생체 인식 기술자들의 서브세트로부터 선택된 제 2 생체 인식 기술자와 연관된 제 2 키 컴포넌트를 사용하여 상기 클라이언트 디바이스에서 암호 키의 생성을 가능하게 하는,
    방법.
  27. 제 26 항에 있어서,
    상기 클라이언트 디바이스로부터 공개 키를 수신하는 단계를 더 포함하며,
    상기 공개 키는 상기 제 1 키 컴포넌트 및 상기 제 2 키 컴포넌트에 적어도 부분적으로 기초하는,
    방법.
  28. 제 26 항에 있어서,
    상기 제 1 복수의 생체 인식 기술자들과 상기 제 2 복수의 생체 인식 기술자들은 합성적으로 미리 생성되는,
    방법.
  29. 제 28 항에 있어서,
    상기 제 1 복수의 생체 인식 기술자들은 복수의 합성적으로 생성된 리지 맵들을 포함하고,
    상기 제 2 복수의 생체 인식 기술자들은 복수의 합성적으로 생성된 그리드 패턴들을 포함하는,
    방법.
  30. 제 28 항에 있어서,
    상기 클라이언트 디바이스로부터 생체 인식 기술자들의 업데이트된 계층 구조를 수신하는 단계를 더 포함하며,
    상기 생체 인식 기술자들의 업데이트된 계층 구조에서 적어도 하나의 생체 인식 기술자는 사용자 식별자와 연관된 생체 인식 데이터를 포함하는,
    방법.
  31. 제 28 항에 있어서,
    상기 클라이언트 디바이스로부터 생체 인식 기술자들의 업데이트된 계층 구조를 수신하는 단계를 더 포함하며,
    상기 생체 인식 기술자들의 업데이트된 계층 구조의 제 2 레벨에서의 상기 제 2 복수의 생체 인식 기술자들의 서브세트는,
    사용자 식별자와 연관된 생체 인식 데이터로부터 도출된 생체 인식 기술자에 대해 제 1 특정 임계치 미만인 유사성 파라미터를 갖는 희소 생체 인식 기술자; 및
    상기 희소 생체 인식 기술자로부터의 제 2 특정 임계치보다 더 큰 유사성 파라미터를 갖는 복수의 선택된 생체 인식 기술자들을 포함하는,
    방법.
  32. 제 31 항에 있어서,
    상기 클라이언트 디바이스와의 트랜잭션의 개시에 대한 응답으로 상기 클라이언트 디바이스에 상기 생체 인식 기술자들의 계층 구조가 송신되는,
    방법.
  33. 명령들이 저장된 비-일시적 컴퓨터 판독 가능 저장 매체로서,
    상기 명령들은 하나 또는 그 초과의 프로세서들에 의해 실행될 때 상기 하나 또는 그 초과의 프로세서들로 하여금,
    복수의 레벨들을 갖는 생체 인식 기술자들의 계층 구조를 획득하게 하고 ― 상기 생체 인식 기술자들의 계층 구조의 제 1 레벨에서의 제 1 복수의 생체 인식 기술자들 각각은 상이한 제 1 키 컴포넌트와 연관되고, 그리고 상기 생체 인식 기술자들의 계층 구조의 제 2 레벨에서의 제 2 복수의 생체 인식 기술자들 각각은 상이한 제 2 키 컴포넌트와 연관되며, 그리고 상기 제 1 레벨에서의 제 1 생체 인식 기술자는 상기 제 2 레벨에서의 생체 인식 기술자들의 서브세트와 연관됨 ―; 그리고
    상기 생체 인식 기술자들의 계층 구조를 클라이언트 디바이스에 송신하게 하며,
    상기 생체 인식 기술자들의 계층 구조는, 적어도 상기 제 1 생체 인식 기술자와 연관된 제 1 키 컴포넌트 및 상기 제 1 생체 인식 기술자를 사용하여 상기 생체 인식 기술자들의 서브세트로부터 선택된 제 2 생체 인식 기술자와 연관된 제 2 키 컴포넌트를 사용하여 상기 클라이언트 디바이스에서 암호 키의 생성을 가능하게 하는,
    비-일시적 컴퓨터 판독 가능 저장 매체.
  34. 하드웨어 디바이스로서,
    복수의 레벨들을 갖는 생체 인식 기술자들의 계층 구조를 획득하기 위한 수단 ― 상기 생체 인식 기술자들의 계층 구조의 제 1 레벨에서의 제 1 복수의 생체 인식 기술자들 각각은 상이한 제 1 키 컴포넌트와 연관되고, 그리고 상기 생체 인식 기술자들의 계층 구조의 제 2 레벨에서의 제 2 복수의 생체 인식 기술자들 각각은 상이한 제 2 키 컴포넌트와 연관되며, 그리고 상기 제 1 레벨에서의 제 1 생체 인식 기술자는 상기 제 2 레벨에서의 생체 인식 기술자들의 서브세트와 연관됨 ―; 및
    상기 생체 인식 기술자들의 계층 구조를 클라이언트 디바이스에 송신하기 위한 수단을 포함하며,
    상기 생체 인식 기술자들의 계층 구조는, 적어도 상기 제 1 생체 인식 기술자와 연관된 제 1 키 컴포넌트 및 상기 제 1 생체 인식 기술자를 사용하여 상기 생체 인식 기술자들의 서브세트로부터 선택된 제 2 생체 인식 기술자와 연관된 제 2 키 컴포넌트를 사용하여 상기 클라이언트 디바이스에서 암호 키의 생성을 가능하게 하는,
    하드웨어 디바이스.
KR1020177027888A 2015-04-06 2016-03-22 생체 인식 데이터를 이용한 계층적 암호 키 생성을 위한 시스템 및 방법 KR101891288B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/679,840 2015-04-06
US14/679,840 US9621342B2 (en) 2015-04-06 2015-04-06 System and method for hierarchical cryptographic key generation using biometric data
PCT/US2016/023628 WO2016200465A2 (en) 2015-04-06 2016-03-22 System and method for hierarchical cryptographic key generation using biometric data

Publications (2)

Publication Number Publication Date
KR20170118949A KR20170118949A (ko) 2017-10-25
KR101891288B1 true KR101891288B1 (ko) 2018-08-24

Family

ID=57017832

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177027888A KR101891288B1 (ko) 2015-04-06 2016-03-22 생체 인식 데이터를 이용한 계층적 암호 키 생성을 위한 시스템 및 방법

Country Status (7)

Country Link
US (1) US9621342B2 (ko)
EP (1) EP3281355A2 (ko)
JP (1) JP2018510593A (ko)
KR (1) KR101891288B1 (ko)
CN (1) CN107431617A (ko)
TW (1) TWI615012B (ko)
WO (1) WO2016200465A2 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11017214B1 (en) 2012-09-07 2021-05-25 Stone Lock Global, Inc. Methods and apparatus for biometric verification
US11017213B1 (en) 2012-09-07 2021-05-25 Stone Lock Global, Inc. Methods and apparatus for biometric verification
US11017212B2 (en) 2012-09-07 2021-05-25 Stone Lock Global, Inc. Methods and apparatus for biometric verification
US11163984B2 (en) 2012-09-07 2021-11-02 Stone Lock Global, Inc. Methods and apparatus for constructing biometrical templates using facial profiles of users
US11301670B2 (en) 2012-09-07 2022-04-12 Stone Lock Global, Inc. Methods and apparatus for collision detection in biometric verification
US11017211B1 (en) 2012-09-07 2021-05-25 Stone Lock Global, Inc. Methods and apparatus for biometric verification
US11163983B2 (en) 2012-09-07 2021-11-02 Stone Lock Global, Inc. Methods and apparatus for aligning sampling points of facial profiles of users
US11594072B1 (en) 2012-09-07 2023-02-28 Stone Lock Global, Inc. Methods and apparatus for access control using biometric verification
US11275929B2 (en) 2012-09-07 2022-03-15 Stone Lock Global, Inc. Methods and apparatus for privacy protection during biometric verification
WO2016159052A1 (ja) * 2015-03-31 2016-10-06 日本電気株式会社 生体パターン情報処理装置、生体パターン情報処理方法、およびプログラム
CN111597535B (zh) 2015-04-30 2023-07-18 德山真旭 终端装置及存储介质
DE102015225778A1 (de) * 2015-12-17 2017-06-22 Deutsche Post Ag Vorrichtung und Verfahren für die personalisierte Bereitstellung eines Schlüssels
US10133857B2 (en) * 2016-05-18 2018-11-20 Bank Of America Corporation Phalangeal authentication device
CN109145829A (zh) * 2018-08-24 2019-01-04 中共中央办公厅电子科技学院 一种基于深度学习和同态加密的安全高效的人脸识别方法
US11042620B2 (en) * 2019-03-05 2021-06-22 King Abdulaziz University Securing electronic documents with fingerprint/biometric data
WO2020185388A1 (en) * 2019-03-08 2020-09-17 Master Lock Company Llc Locking device biometric access
US11038878B2 (en) * 2019-03-14 2021-06-15 Hector Hoyos Computer system security using a biometric authentication gateway for user service access with a divided and distributed private encryption key
EP3719679B1 (en) * 2019-04-03 2021-06-09 Fondation de L'institut de Recherche Idiap A method for protecting biometric templates, and a system and method for verifying a speaker´s identity
CN110061828B (zh) * 2019-04-04 2021-05-04 西安电子科技大学 无可信中心的分布式数字签名方法
US11070376B2 (en) * 2019-06-26 2021-07-20 Verizon Patent And Licensing Inc. Systems and methods for user-based authentication
TWI700604B (zh) * 2019-10-04 2020-08-01 國立中山大學 虹膜辨識方法與電腦程式產品
CN111130763B (zh) * 2019-11-20 2021-06-22 复旦大学 一种基于集成加密技术的密钥备份与恢复方法
KR20210089486A (ko) 2020-01-08 2021-07-16 삼성전자주식회사 키를 안전하게 관리하기 위한 장치 및 방법
USD976904S1 (en) 2020-12-18 2023-01-31 Stone Lock Global, Inc. Biometric scanner
TWI767682B (zh) * 2021-04-30 2022-06-11 中華電信股份有限公司 Ecqv衍生子憑證產生系統、方法及電腦可讀媒介
JP6946592B1 (ja) * 2021-06-10 2021-10-06 真旭 徳山 認証システム、認証装置、認証方法、及びプログラム
WO2023147237A1 (en) * 2022-01-28 2023-08-03 Visa International Service Association Multi-level fingerprints to derive missing data during retry detection

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080101663A1 (en) 2006-10-31 2008-05-01 Motorola, Inc. Methods for gray-level ridge feature extraction and associated print matching
US20140032924A1 (en) 2012-07-30 2014-01-30 David M. Durham Media encryption based on biometric data

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6035398A (en) * 1997-11-14 2000-03-07 Digitalpersona, Inc. Cryptographic key generation using biometric data
US8380630B2 (en) * 2000-07-06 2013-02-19 David Paul Felsher Information record infrastructure, system and method
US7310734B2 (en) * 2001-02-01 2007-12-18 3M Innovative Properties Company Method and system for securing a computer network and personal identification device used therein for controlling access to network components
US7844827B1 (en) 2005-08-04 2010-11-30 Arcot Systems, Inc. Method of key generation using biometric features
US7962755B2 (en) * 2006-04-28 2011-06-14 Ceelox, Inc. System and method for biometrically secured, transparent encryption and decryption
SG139580A1 (en) * 2006-07-20 2008-02-29 Privylink Pte Ltd Method for generating cryptographic key from biometric data
CA2695439A1 (en) * 2007-07-12 2009-01-15 Innovation Investments, Llc Identity authentication and secured access systems, components, and methods
US20100080425A1 (en) 2008-09-29 2010-04-01 Board of regents of the Nevada System of Higher Education, on Behalf of the University of Minutiae-based template synthesis and matching
FR2974924B1 (fr) * 2011-05-06 2013-06-14 Morpho Procedes d'enrolement et de verification biometrique, systemes et dispositifs associes.
FR2988196B1 (fr) * 2012-03-19 2014-03-28 Morpho Procede d'authentification d'un individu porteur d'un objet d'identification
US20160219046A1 (en) * 2012-08-30 2016-07-28 Identity Validation Products, Llc System and method for multi-modal biometric identity verification
US20140211944A1 (en) * 2012-09-24 2014-07-31 Daniel Joseph Lutz System and method of protecting, storing and decrypting keys over a computerized network
US9165130B2 (en) * 2012-11-21 2015-10-20 Ca, Inc. Mapping biometrics to a unique key
US8965066B1 (en) * 2013-09-16 2015-02-24 Eye Verify LLC Biometric template security and key generation
US9407435B2 (en) * 2013-09-30 2016-08-02 Intel Corporation Cryptographic key generation based on multiple biometrics
US9832190B2 (en) * 2014-06-29 2017-11-28 Microsoft Technology Licensing, Llc Managing user data for software services

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080101663A1 (en) 2006-10-31 2008-05-01 Motorola, Inc. Methods for gray-level ridge feature extraction and associated print matching
US20140032924A1 (en) 2012-07-30 2014-01-30 David M. Durham Media encryption based on biometric data

Also Published As

Publication number Publication date
CN107431617A (zh) 2017-12-01
KR20170118949A (ko) 2017-10-25
JP2018510593A (ja) 2018-04-12
TW201703455A (zh) 2017-01-16
US20160294555A1 (en) 2016-10-06
EP3281355A2 (en) 2018-02-14
WO2016200465A2 (en) 2016-12-15
WO2016200465A3 (en) 2017-01-19
TWI615012B (zh) 2018-02-11
US9621342B2 (en) 2017-04-11

Similar Documents

Publication Publication Date Title
KR101891288B1 (ko) 생체 인식 데이터를 이용한 계층적 암호 키 생성을 위한 시스템 및 방법
US9660991B2 (en) Relational encryption
Barni et al. Privacy protection in biometric-based recognition systems: A marriage between cryptography and signal processing
US9774596B2 (en) Privacy-preserving biometric authentication
US8607056B2 (en) Data processing apparatus and method
Li et al. A new biocryptosystem-oriented security analysis framework and implementation of multibiometric cryptosystems based on decision level fusion
US8838990B2 (en) Bio-cryptography: secure cryptographic protocols with bipartite biotokens
Barman et al. Fingerprint-based crypto-biometric system for network security
JP2016508323A (ja) 暗号化したものを認証する方法及びバイオメトリックデータを認証するシステム
EP3655874B1 (en) Method and electronic device for authenticating a user
US11799642B2 (en) Biometric public key system providing revocable credentials
KR102008101B1 (ko) 함수 암호를 이용한 안전한 바이오 인증 방법
Wang et al. Biometrics-authenticated key exchange for secure messaging
US10733415B1 (en) Transformed representation for fingerprint data with high recognition accuracy
CN114996727A (zh) 基于掌纹掌静脉识别的生物特征隐私加密方法及系统
Conti et al. Fingerprint traits and RSA algorithm fusion technique
US20230246839A1 (en) System and method for complex confirmation of biometric information without stored biometric data
KR101838432B1 (ko) 바이오매트릭스와 함수암호-내적을 이용한 인증 방법 및 시스템
CN114065169A (zh) 一种隐私保护生物认证方法和装置、电子设备
WO2021167534A1 (en) Biometric template recognition system
Gunasinghe et al. Privacy preserving biometrics-based and user centric authentication protocol
Reddy et al. Authentication using fuzzy vault based on iris textures
Rudrakshi et al. A model for secure information storage and retrieval on cloud using multimodal biometric cryptosystem
WO2021070838A1 (ja) 秘匿認証方法および秘匿認証システム
KR20170133012A (ko) 특징 데이터 전송 방법, 특징 데이터를 이용한 사용자 인증 방법 및 시스템

Legal Events

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