KR102583536B1 - 공개/비공개 키 바이오메트릭 인증 시스템 - Google Patents

공개/비공개 키 바이오메트릭 인증 시스템 Download PDF

Info

Publication number
KR102583536B1
KR102583536B1 KR1020187015974A KR20187015974A KR102583536B1 KR 102583536 B1 KR102583536 B1 KR 102583536B1 KR 1020187015974 A KR1020187015974 A KR 1020187015974A KR 20187015974 A KR20187015974 A KR 20187015974A KR 102583536 B1 KR102583536 B1 KR 102583536B1
Authority
KR
South Korea
Prior art keywords
biometric
password
computing facility
subject
public key
Prior art date
Application number
KR1020187015974A
Other languages
English (en)
Other versions
KR20180081108A (ko
Inventor
찰스 에이치. 허더 3세
티나 피. 스리바스타바
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 KR20180081108A publication Critical patent/KR20180081108A/ko
Application granted granted Critical
Publication of KR102583536B1 publication Critical patent/KR102583536B1/ko

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • 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/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/575Secure boot
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2117User registration

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Collating Specific Patterns (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

본 발명에서의 디바이스, 방법 및 컴퓨터 판독 가능한 저장 매체는 개체의 바이오메트릭 데이터 및 비밀 양자에 기초하여 개체에 대한 바이오메트릭 공개 키를 생성하며, 이는 개체 이외의 누군가에 의한 어느 한쪽의 복구를 방지하는 경향을 가지면서 양자를 검증 가능하게 특성화하는 방식으로 이루어진다. 바이오메트릭 공개 키는 하드웨어 신뢰점에 의존할 필요가 없는 컴퓨팅 설비를 사용하여 개체임을 주장되는 주체를 인증하기 위해 나중에 사용될 수 있다. 이러한 바이오메트릭 공개 키들은 개체의 바이오메트릭 데이터를 손상시키지 않고 배포될 수 있으며, 패스워드들 또는 암호 토큰들에 더하여 또는 대신하여 인증을 제공하는 데 사용될 수 있다. 등록, 인증, 보안 통신 채널의 확립 및 사용, 및 메시지의 암호 서명을 포함하는 다양한 사용 예들이 개시된다.

Description

공개/비공개 키 바이오메트릭 인증 시스템
관련 출원에 대한 상호 참조
본 출원은 2015년 11월 13일자로 출원된 미국 가출원 제62/255,186호의 이익을 주장하며, 그 전체 내용은 본 명세서에 참조로서 통합된다.
발명의 분야
본 발명은 사용자 바이오메트릭 데이터의 인증을 제공함으로써 컴퓨터들, 그 구성 요소들, 프로그램들 또는 데이터를 무권한 활동으로부터 보호하기 위한 보안 처리방식들(security arrangements)에 관한 것으로서, 특히 바이오메트릭 데이터의 비일시적 저장(non-transient storage)에 대한 필요없이 사용자의 바이오메트릭 데이터를 사용하여 사용자의 신분 또는 권한(identity or authority)을 검증하기 위해 암호 수단을 사용하는 것에 관한 것이다.
바이오메트릭 인증 시스템들의 종래 기술은 일반적으로 다음의 2개의 카테고리 중 하나에 속한다. 제1 카테고리는 바이오메트릭 데이터베이스를 사용하여 인증을 제공하며, 여기서 모든 바이오메트릭들은 데이터베이스에 국지적으로 또는 보안 서버 상에 저장된다. 알려진 개체임을 주장하는 주체를 인증하기 위해, 주체로부터 바이오메트릭 데이터를 수집하여, 보안 데이터베이스에 저장된, 개체와 관련된 바이오메트릭 데이터와 비교한다. 주체는 그의 데이터가 데이터베이스 내의 관련 데이터와 매칭되는 경우에 인증된다. 바이오메트릭 데이터 캡처 프로세스들은 매번 약간 다른 데이터를 생성하기 때문에, 주체로부터 캡처된 바이오메트릭 데이터는 개체로부터 원래 캡처된 바이오메트릭 데이터와 정확하게 매칭되지 않을 것이며, 따라서 소정의 적합성 근접 척도(closeness-of-fit measure)를 사용하여 매치가 수행되어야 한다.
바이오메트릭 데이터베이스들의 사용은 적어도 3개의 명백한 단점을 갖는다. 첫 번째 단점은 데이터베이스가 단일 실패 지점이며: 보안 서버의 손상(compromise)은 그 안에 포함된 모든 개체들의 바이오메트릭들을 손상시킨다는 것이다. 이는 결정적인 실패인데, 그 이유는 개체들이 새로운 바이오메트릭들(예를 들어, 눈 안의 홍채 패턴들, 지문들 및 다른 그러한 물리적 특성들)을 생성할 수 없기 때문이다. 이러한 단점의 치유는 상당한 비용을 요구한다. 바이오메트릭들의 비일시적 저장을 국지적으로 보호하는 것은 값비싼 변조 방지 메모리를 요구하는 반면, 공개적으로 액세스할 수 있는 데이터베이스 상의 바이오메트릭들의 비일시적 저장을 보호하는 것은 네트워크 방화벽들 및 다른 상당한 보안 수단들을 요구한다. 두 번째 단점은 원격 바이오메트릭 데이터베이스들을 사용하는 인증이 꾸준한 접속성을 요구하며: 바이오메트릭 스캐너는 사용자를 확인하기 위해 데이터베이스 서버와 통신해야 하고, 통신 링크의 실패는 인증을 방해할 수 있다는 것이다. 이는 시간에 민감한 인증 시나리오들에 대한 결정적인 실패이다. (국지적으로 저장된 데이터베이스는 많은 사용자가 다수의 바이오메트릭 스캐너를 사용하고 있을 수 있는 시나리오로 효율적으로 확장되지 못한다.) 세 번째 단점은 사용자가 각각의 디바이스를 사용하기 전에 그와 인증 데이터를 프로비저닝(provision)해야 한다는 것이다. 예를 들어 한 사람이 여러 스마트폰을 소유한 경우, 그는 각각의 디바이스 상에 바이오메트릭 패스워드들을 설정하기 위해 시간을 소비해야 한다.
이러한 바이오메트릭 인증의 제1 카테고리는 "비밀 키" 암호 시스템들과 유사한데, 이는 그들이 "비밀 키", 즉 바이오메트릭 템플릿을 소정의 보안 데이터베이스에 저장하고, 사용자는 인증을 위해 그의 바이오메트릭 템플릿을 제시하기 때문이다. 바이오메트릭 비밀의 임의의 손상은 보안 파괴를 유발한다. 이는 사용자가 비공개 키를 안전하게 저장하고 다른 당사자들이 안전하게 통신하는 데 사용할 수 있는 공개 키를 공개하는 암호화의 공개 키 모델과 대비된다. 이러한 공개 키 모델에 바이오메트릭 인증을 적응시키는 것은 오랜 목표였고, 이는 우리를 바이오메트릭 시스템들의 제2 카테고리로 유도한다.
종래 기술의 바이오메트릭 인증 시스템들의 제2 카테고리는 코드 오프셋 에러 정정과 함께 바이오메트릭 "마스크"를 사용한다. 이 카테고리에서는 바이오메트릭 데이터를 직접 저장하는 대신에 캡처된 바이오메트릭 데이터의 어느 비트들이 안정적인지(즉, 잡음이 많을 가능성이 없는지)를 저장한다. 그런 다음, 나머지 잡음을 정정하기 위해 에러 정정 코드들을 사용한다. 이 접근법은 또한 불안정성을 갖는다. 학계에서는, 어느 비트들이 안정적인지를 아는 것은 바이오메트릭 자체의 손상을 유발할 수 있고, 따라서 어느 비트들이 안정적인지를 저장하는 것은 바이오메트릭 자체를 저장하는 것만큼 나쁠 수 있는 것으로 알려져 있다. 또한, 보안 데이터베이스에 안정성 마스크를 저장하려고 시도하는 경우, 바이오메트릭 데이터베이스의 동일한 단점들, 즉 데이터베이스를 별도로 보호하고 꾸준한 가용성을 요구하는 요구들이 다시 나타난다. 마지막으로, 이 접근법은 통상적으로 현실세계 응용들에 대해 실행 불가능하다. 예를 들어, 최상으로 알려진 에러 정정 코드들은 키들을 신뢰성 있게 추출하기에 충분한 에러들을 정정할 수 없다.
요컨대, 대부분의 상업적으로 배치된 바이오메트릭 시스템들은 제1 "비밀 키" 모델을 따른다. 바이오메트릭들을 공개 키 모델에 적응시키기 위해 상당한 노력을 기울여 왔지만, 현재의 기술 구현들은 안전하지 못하거나 비실용적이거나 둘 다이다.
본 발명의 다양한 실시예들은 원래의 바이오메트릭 데이터 또는 이를 복구하는 데 사용될 수 있는 데이터를 저장해야 하는 요구를 완전히 회피함으로써 바이오메트릭 인증의 상기 문제들을 해결한다. 대신, 개체로부터 캡처된 바이오메트릭 데이터를 사용하여 비밀 번호를 암호화함으로써 바이오메트릭을 특성화하는 공개 키 또는 "바이오메트릭 공개 키"를 형성한다. 유리하게, 암호화는 하드웨어 보안 모듈(HSM)에서, 예를 들어 그러한 모듈들에 대한 요구들을 정의하는 미연방 정보 처리 표준(FIPS) 시리즈 140을 구현하는 HSM에서 수행될 수 있다. 바이오메트릭 데이터 및 비밀 번호는 바이오메트릭 데이터 캡처가 정확히 반복될 수 없다는 사실에도 불구하고 개체임을 주장하는 주체로부터 나중에 캡처된 바이오메트릭 데이터가 검증 가능한 방식으로 비밀 번호를 해독하는 데 사용될 수 있는 방식으로 결합된다.
이들 실시예는 여러 이유로 특히 강건하다. 본 명세서에서 설명되는 바이오메트릭 공개 키는 자유롭게 배포될 수 있는데, 이는 키가 자기 확인적이기 때문이다. 따라서, 주체는 개체로서의 인증을 위해 물리적 토큰 내에서 그 자신의 바이오메트릭 공개 키를 운반할 수 있다. 예를 들어, 물리적 토큰은 명함 상의 QR 코드와 같이 공개적이고 비전자적일 수 있다. 이러한 방식으로, 중앙 바이오메트릭 데이터베이스, 특히 지속적으로 이용 가능해야 하지만 손상으로부터 보호되어야 하는 데이터베이스에 대한 필요성이 회피된다.
개시된 실시예들이 강건한 다른 이유는 그들이 바이오메트릭 마스크의 부수적인 단점 없이 그것의 장점들에 의존할 수 있다는 것이다. 즉, 측정들 사이에서 가장 반복 가능하고 상이한 개체들을 최상으로 구별하는 바이오메트릭 데이터의 부분들을 사용하여 바이오메트릭 공개 키가 생성될 수 있다. 추출된 정보가 이러한 방식으로 적격화될 때, 이 정보는 인증을 위한 극히 더 양호한 근거를 제공하는데, 이는 한 사람의 바이오메트릭으로부터 이러한 방식으로 추출된 정보가 다른 사람의 바이오메트릭으로부터 추출된 정보와 실질적으로 그리고 반복 가능한 방식으로 다를 것이기 때문이다.
인증 방법이 고유하게 강건한 또 다른 이유는 바이오메트릭 데이터로부터 추출된 정보가 대중에 의해 액세스 가능하지 않다는 것이다. 대신에, 추출된 정보는 공개 키를 생성하도록 처리되고, 이어서 추출된 정보는 폐기된다. 바이오메트릭 데이터도 어떠한 중간 처리 결과도 저장되지 않기 때문에, 그들은 도난당할 수 없으며, 따라서 바이오메트릭 데이터는 종래 기술의 시스템들보다 훨씬 안전하다. 공개 키는 종래 기술에서 공개 키들이 사용된 다수의 방식으로 사용될 수 있지만, 바이오메트릭 공개 키는 바이오메트릭에 의해 개체와 고유하게 관련되는 이익을 갖는다.
따라서, 본 발명의 제1 실시예는, 바이오메트릭 데이터를 사용하여, 바이오메트릭 데이터의 비일시적인 저장에 대한 필요없이, 자신의 바이오메트릭 데이터가 제1 트랜스듀서를 사용하여 미리 획득된 개체로서 주체를 인증하기 위한 디바이스이다. 디바이스는 제2 트랜스듀서 및 제2 트랜스듀서에 결합된 컴퓨팅 설비를 포함한다. 컴퓨팅 설비는 컴퓨팅 프로세서 및 컴퓨팅 프로세서에 의해 실행될 때 인증을 위한 소정 프로세스들을 확립하는 명령어들로 인코딩된 비일시적 컴퓨터 판독 가능 저장 매체를 갖는다.
제1의 그러한 프로세스는, 컴퓨팅 설비에 의해 제2 트랜스듀서로부터 주체의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신하는 것이다. 제2의 그러한 프로세스는, 컴퓨팅 설비에 의해 디지털 전자 신호로부터 (a) 주체의 바이오메트릭 값들의 세트를, 그리고 (b) 주체의 바이오메트릭 값들의 세트의 각각의 멤버에 대해, 대응하는 바이오메트릭 값이 특성화들(characterizations) 간에 안정적이라는 신뢰의 정도를 나타내는 신뢰 값을 추출하는 것이다. 제3의 그러한 프로세스는, 컴퓨팅 설비에 의해 신뢰 값들을 사용하여 주체의 바이오메트릭 값들의 세트의 신뢰 서브세트를 선택하는 것이며, 신뢰 서브세트는 바이오메트릭에 기초하는 주체의 신분의 신뢰성 있는 판별자(discriminant)이다. 제4의 그러한 프로세스는, 컴퓨팅 설비에 의해 저장 설비로부터 제1 트랜스듀서를 사용하여 미리 획득된 개체의 바이오메트릭 데이터 및 비밀 번호에 기초하여 계산된 바이오메트릭 공개 키를 수신하는 것이고, 바이오메트릭 공개 키는 개체의 바이오메트릭 데이터 또는 비밀 번호의 비일시적인 저장에 대한 필요없이 개체의 바이오메트릭 데이터 및 비밀 번호 양자를 검증 가능하게 특성화한다. 제5의 그러한 프로세스는, 컴퓨팅 설비에 의해 바이오메트릭 공개 키 및 신뢰 서브세트를 사용하여 비밀 번호에 대한 후보 값을 계산하는 것이다. 제6의 그러한 프로세스는, 컴퓨팅 설비에 의해 비밀 번호에 대한 후보 값이 바이오메트릭 공개 키에 의해 특성화된 비밀 번호와 동등한 것으로 간주될 때 주체가 개체로서 인증된다는 지시를 전송하는 것이다.
이 제1 실시예에 대한 변형들이 고려된다. 일 변형에서, 저장 설비는 바이오메트릭 공개 키를 저장하기 위한 공개 데이터 소스이며, 디바이스는 디바이스에 대해 공개 데이터 소스를 인증하기 위한 하드웨어 보안 모듈을 더 포함한다. 다른 변형은 비일시적인 데이터 저장소를 더 포함하며, 저장 설비는 비일시적인 데이터 저장소이다. 다른 변형에서, 저장 설비는 주체에 의해 제공되는 암호 토큰이다. 또 다른 변형에서, 디바이스는 제2 트랜스듀서의 무결성을 보장하기 위한 하드웨어 보안 모듈을 포함한다. 또 다른 변형에서, 상기 디바이스는 수학 코프로세서(mathematics coprocessor)를 포함한다.
추가 변형에서, 확립된 프로세스들은 컴퓨팅 설비에 의해 저장 설비로부터 비밀 번호의 단방향 함수(one-way function)를 수신하는 단계를 더 포함하며, 컴퓨팅 설비에 의해 전송하는 단계는 단방향 함수를 비밀 번호에 대한 후보 값에 적용하고 그 결과를 비밀 번호의 수신된 단방향 함수와 비교하는 단계를 더 포함한다. 단방향 함수는 암호 해시 함수(cryptographic hash function)일 수 있다.
바이오메트릭 공개 키는 (a) 개체의 바이오메트릭 값들의 벡터와 (b) 이진 행렬과 비트들의 벡터로서의 비밀 번호의 표현의 행렬 곱의 비트간 배타적 논리합(bitwise exclusive OR)을 포함하는 데이터를 포함할 수 있다. 일 변형에서, 이진 행렬은 정사각 행렬이 아니고, 컴퓨팅 설비에 의해 전송하는 단계는 (a) 컴퓨팅 설비에 의해 바이오메트릭 공개 키, 이진 행렬 및 추정 비밀 번호를 사용하여 개체의 후보 바이오메트릭 값들의 세트를 계산하는 단계, 및 (b) 개체의 후보 바이오메트릭 값들의 세트와 주체의 추출된 바이오메트릭 값들의 세트 사이의 해밍 거리(Hamming distance)가 주어진 임계 거리보다 작은 것으로 결정하는 단계를 포함한다. 이진 행렬은 개체와 고유하게 관련되거나, 디바이스와 고유하게 관련되거나, 설계 파라미터로서 영구적으로 고정될 수 있으며, 동일한 이진 행렬이 다수의 개체를 인증하는 데 사용될 수 있다. 일 변형은 바이오메트릭 공개 키를 계산하는 데 사용되는 추가적인 보증 데이터를 입력하기 위한 제3 트랜스듀서를 포함한다.
본 발명의 제2 실시예는, 바이오메트릭 데이터를 사용하여, 바이오메트릭 데이터의 비일시적인 저장에 대한 필요없이, 자신의 바이오메트릭 데이터가 제1 트랜스듀서를 사용하여 미리 획득된 개체로서 주체를 인증하는 컴퓨터 구현 방법이다. 방법은 컴퓨팅 설비에 의해 컴퓨팅 설비에 결합된 제2 트랜스듀서로부터 주체의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신하는 단계를 포함한다. 다음으로, 방법은 컴퓨팅 설비에 의해 디지털 전자 신호로부터 (a) 주체의 바이오메트릭 값들의 세트를, 그리고 (b) 주체의 바이오메트릭 값들의 세트의 각각의 멤버에 대해, 대응하는 바이오메트릭 값이 특성화들 간에 안정적이라는 신뢰의 정도를 나타내는 신뢰 값을 추출하는 단계를 포함한다. 이어서, 방법은 컴퓨팅 설비에 의해 신뢰 값들을 사용하여 주체의 바이오메트릭 값들의 세트의 신뢰 서브세트를 선택하는 단계를 포함하며, 신뢰 서브세트는 바이오메트릭에 기초하는 주체의 신분의 신뢰성 있는 판별자이다. 계속해서, 방법은 컴퓨팅 설비에 의해 저장 설비로부터 제1 트랜스듀서를 사용하여 미리 획득된 개체의 바이오메트릭 데이터 및 비밀 번호에 기초하여 계산된 바이오메트릭 공개 키를 수신하는 단계를 포함하며, 바이오메트릭 공개 키는 개체의 바이오메트릭 데이터 또는 비밀 번호의 비일시적인 저장에 대한 필요없이 개체의 바이오메트릭 데이터 및 비밀 번호 양자를 검증 가능하게 특성화한다. 이어서, 방법은 컴퓨팅 설비에 의해 바이오메트릭 공개 키 및 신뢰 서브세트를 사용하여 비밀 번호에 대한 후보 값을 계산하는 단계를 요구한다. 방법은 비밀 번호에 대한 후보 값이 비밀 번호와 동등한 것으로 간주될 때 주체를 개체로서 인증하는 것으로 종료된다.
이 제2 실시예에 대한 변형들이 고려된다. 일 변형은 컴퓨팅 설비에 의해 저장 설비로부터 비밀 번호의 단방향 함수를 수신하는 단계를 포함하며, 주체를 개체로서 인증하는 단계는 단방향 함수를 비밀 번호에 대한 후보 값에 적용하고 그 결과를 비밀 번호의 수신된 단방향 함수와 비교하는 단계를 포함한다. 단방향 함수는 암호 해시 함수일 수 있다.
다른 변형에서, 바이오메트릭 공개 키는 (a) 개체의 바이오메트릭 값들의 벡터와 (b) 이진 행렬과 비트들의 벡터로서의 비밀 번호의 표현의 행렬 곱의 비트간 배타적 논리합을 포함하는 데이터를 포함한다. 이 변형에서, 이진 행렬은 정사각 행렬이 아니며, 주체를 개체로서 인증하는 단계는 (a) 컴퓨팅 설비에 의해 바이오메트릭 공개 키, 이진 행렬 및 추정 비밀 번호를 사용하여 개체의 후보 바이오메트릭 값들의 세트를 계산하는 단계, 및 (b) 개체의 후보 바이오메트릭 값들의 세트와 주체의 추출된 바이오메트릭 값들의 세트 사이의 해밍 거리가 주어진 임계 거리보다 작은 것으로 결정하는 단계를 포함한다. 이진 행렬은 개체와 고유하게 관련되거나, 컴퓨팅 설비와 고유하게 관련되거나, 설계 파라미터로서 영구적으로 고정될 수 있으며, 동일한 이진 행렬이 다수의 개체를 인증하는 데 사용될 수 있다. 일 변형은 컴퓨팅 설비에 의해 상이한 측정 가능한 특성에 속하는 바이오메트릭 데이터를 사용하여 제2 주체를 자신의 바이오메트릭 데이터가 이미 획득된 제2 개체로서 인증하는 단계를 더 포함한다.
일부 변형들에서, 방법은 개체로서의 주체의 성공적인 인증 후에 추가적인 액션들을 수행하는 단계를 더 포함한다. 따라서, 일 변형은 컴퓨팅 설비에 의해 비밀 번호에 대한 후보 값을 사용하여 컴퓨팅 설비가 배치된 컴퓨팅 디바이스에 의해 수신된 암호화된 암호 텍스트를 해독하는 단계를 더 포함한다. 다른 변형은 컴퓨팅 설비에 의해 비밀 번호에 대한 후보 값을 사용하여 메시지에 디지털 서명하는 단계를 포함한다. 또 다른 변형은 컴퓨팅 설비에 의해 컴퓨팅 설비가 배치된 컴퓨팅 디바이스를 부팅하기 위한 암호화된 펌웨어를 컴퓨팅 디바이스의 메모리로부터 수신하는 단계; 컴퓨팅 설비에 의해 비밀 번호에 대한 후보 값을 사용하여 암호화된 펌웨어를 해독하여 해독된 펌웨어를 생성하는 단계; 및 컴퓨팅 설비에 의해 컴퓨팅 디바이스의 컴퓨팅 프로세서에 해독된 펌웨어를 제공하는 단계를 더 포함한다. 또 다른 변형은 컴퓨팅 설비에 의해, 컴퓨팅 설비가 배치된 컴퓨팅 디바이스의 컴퓨팅 프로세서상에서 실행되는 애플리케이션으로부터의 요청 메시지에 응답하여, 비밀 번호에 대해 작용하는 암호 알고리즘을 실행하는 단계를 더 포함한다.
본 발명의 제3 실시예는, 컴퓨팅 설비에 의해 실행될 때 상기 방법 및 그의 변형들을 확립하는 명령어들로 인코딩된 비일시적 컴퓨터 판독 가능 저장 매체이다.
본 발명의 제4 실시예는, 개체에 대한 바이오메트릭 공개 키를 개체의 바이오메트릭 데이터에 기초하여 바이오메트릭 데이터의 비일시적인 저장에 대한 필요없이 생성하기 위한 디바이스이다. 디바이스는 트랜스듀서 및 트랜스듀서에 결합된 컴퓨팅 설비를 포함하며, 컴퓨팅 설비는 컴퓨팅 프로세서 및 컴퓨팅 프로세서에 의해 실행될 때 바이오메트릭 공개 키를 생성하기 위한 소정 프로세스를 확립하는 명령어들로 인코딩된 비일시적 컴퓨터 판독 가능 저장 매체를 포함한다.
제1의 그러한 프로세스는, 컴퓨팅 설비에 의해 트랜스듀서로부터 개체의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신하는 것이다. 제2의 그러한 프로세스는, 컴퓨팅 설비에 의해 디지털 전자 신호로부터 (a) 개체의 바이오메트릭 값들의 세트를, 그리고 (b) 개체의 바이오메트릭 값들의 세트의 각각의 멤버에 대해, 대응하는 바이오메트릭 값이 특성화들 간에 안정적이라는 신뢰의 정도를 나타내는 신뢰 값을 추출하는 것이다. 제3의 그러한 프로세스는, 컴퓨팅 설비에 의해 신뢰 값들을 사용하여 개체의 바이오메트릭 값들의 세트의 신뢰 서브세트를 선택하는 것이며, 신뢰 서브세트는 바이오메트릭에 기초하는 주체의 신분의 신뢰성 있는 판별자이다. 제4의 그러한 프로세스는, 컴퓨팅 설비에 의해 비밀 번호를 생성하는 것이다. 제5의 그러한 프로세스는, 컴퓨팅 설비에 의해 비밀 번호 및 신뢰 서브세트에 기초하여 바이오메트릭 공개 키를 계산하는 것이며, 바이오메트릭 공개 키는 개체의 바이오메트릭 데이터 또는 비밀 번호의 비일시적인 저장에 대한 필요없이 개체의 바이오메트릭 데이터 및 비밀 번호 양자를 검증 가능하게 특성화한다. 제6의 그러한 프로세스는, 바이오메트릭 공개 키를 저장 설비에 저장하는 것이다.
이 제4 실시예에 대한 변형들이 고려된다. 일 변형에서, 저장 설비는 바이오메트릭 공개 키를 저장하기 위한 공개 데이터 소스이고, 디바이스는 디바이스에 대해 공개 데이터 소스를 인증하기 위한 하드웨어 보안 모듈을 더 포함한다. 다른 변형은 비일시적인 데이터 저장소를 더 포함하고, 저장 설비는 비일시적인 데이터 저장소이다. 다른 변형에서, 저장 설비는 개체에 의해 제공될 수 있는 암호 토큰이다. 또 다른 변형은 트랜스듀서의 무결성을 보장하기 위한 하드웨어 보안 모듈을 포함한다. 다른 변형은 수학 코프로세서를 갖는다.
다른 변형에서, 확립된 프로세스들은 컴퓨팅 설비에 의해 바이오메트릭 공개 키를 비밀 번호의 단방향 함수와 관련시키는 단계, 및 비밀 번호의 단방향 함수를 저장 설비에 저장하는 단계를 더 포함한다. 단방향 함수는 암호 해시 함수일 수 있다.
바이오메트릭 공개 키는 (a) 개체의 바이오메트릭 값들의 벡터와 (b) 이진 행렬과 비트들의 벡터로서의 비밀 번호의 표현의 행렬 곱의 비트간 배타적 논리합을 포함하는 데이터를 포함할 수 있다. 더욱이, 이진 행렬은 개체와 고유하게 관련되거나, 디바이스와 고유하게 관련되거나, 설계 파라미터로서 영구적으로 고정될 수 있으며, 동일한 이진 행렬이 다수의 개체를 인증하는 데 사용될 수 있다.
본 발명의 제5 실시예는, 개체에 대한 바이오메트릭 공개 키를 개체의 바이오메트릭 데이터에 기초하여 바이오메트릭 데이터의 비일시적인 저장에 대한 필요없이 생성하는 컴퓨터 구현 방법이다. 방법은 컴퓨팅 설비에 의해 트랜스듀서로부터 개체의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신하는 단계를 포함한다. 방법은 또한 컴퓨팅 설비에 의해 디지털 전자 신호로부터 (a) 개체의 바이오메트릭 값들의 세트를, 그리고 (b) 개체의 바이오메트릭 값들의 세트의 각각의 멤버에 대해, 대응하는 바이오메트릭 값이 특성화들 간에 안정적이라는 신뢰의 정도를 나타내는 신뢰 값을 추출하는 단계를 포함한다. 이어서, 방법은 컴퓨팅 설비에 의해 신뢰 값들을 사용하여 개체의 바이오메트릭 값들의 세트의 신뢰 서브세트를 선택하는 단계를 포함하며, 신뢰 서브세트는 바이오메트릭에 기초하는 주체의 신분의 신뢰성 있는 판별자이다. 방법은 컴퓨팅 설비에 의해 비밀 번호를 생성하는 단계를 더 포함한다. 방법은 컴퓨팅 설비에 의해 비밀 번호 및 신뢰 서브세트에 기초하여 바이오메트릭 공개 키를 계산하는 단계로 진행하며, 바이오메트릭 공개 키는 개체의 바이오메트릭 데이터 또는 비밀 번호의 비일시적인 저장에 대한 필요없이 개체의 바이오메트릭 데이터 및 비밀 번호 양자를 검증 가능하게 특성화한다. 방법은 또한 바이오메트릭 공개 키를 저장 설비에 저장하는 단계를 요구한다.
이 제5 실시예에 대한 변형들이 고려된다. 일 변형은 컴퓨팅 설비에 의해 바이오메트릭 공개 키를 비밀 번호의 단방향 함수와 관련시키는 단계, 및 비밀 번호의 단방향 함수를 저장 설비에 저장하는 단계로 계속된다. 단방향 함수는 암호 해시 함수일 수 있다. 대안으로서 또는 추가로, 바이오메트릭 공개 키는 (a) 개체의 바이오메트릭 값들의 벡터와 (b) 이진 행렬과 비트들의 벡터로서의 비밀 번호의 표현의 행렬 곱의 비트간 배타적 논리합을 포함하는 데이터를 포함한다. 그러한 경우, 이진 행렬은 개체와 고유하게 관련되거나, 컴퓨팅 설비와 고유하게 관련되거나, 설계 파라미터로서 영구적으로 고정될 수 있으며, 동일한 이진 행렬이 다수의 개체를 인증하는 데 사용될 수 있다.
본 발명의 제6 실시예는, 상기 방법 또는 그의 변형들에 따라 생성된 바이오메트릭 공개 키가 비일시적으로 저장되는 디지털 저장 매체이다.
본 발명의 제7 실시예는, 컴퓨팅 설비에 의해 실행될 때 상기 방법 및 그의 변형들에 따라 개체에 대한 바이오메트릭 공개 키를 개체의 바이오메트릭 데이터에 기초하여 바이오메트릭 데이터의 비일시적인 저장에 대한 필요없이 생성하기 위한 프로세스들을 확립하는 명령어들로 인코딩된 비일시적 컴퓨터 판독 가능 저장 매체이다.
관련 분야의 통상의 기술자는 본 발명이 다른 방식들로 구현될 수 있다는 것을 알 수 있다.
실시예들의 전술한 특징들은 첨부 도면들을 참조하여 이루어지는 다음의 상세한 설명을 참조함으로써 더 쉽게 이해될 것이다. 도면들에서:
도 1은 본 발명의 일 실시예가 사용될 수 있는 환경의 개략도이다.
도 2는 본 발명의 일 실시예에 따른 바이오메트릭 공개 키를 생성 또는 사용하기 위한 디바이스의 개략도이다.
도 3은 등록 프로세스 동안 본 발명의 일 실시예에서 사용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다.
도 4는 인증 프로세스 동안 본 발명의 일 실시예에서 사용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다.
도 5는 도 3의 등록 프로세스에 따라 개체에 대한 바이오메트릭 공개 키를 개체의 바이오메트릭 데이터에 기초하여 바이오메트릭 데이터의 비일시적인 저장에 대한 필요없이 생성하는 방법을 나타내는 흐름도이다.
도 6은 도 4의 인증 프로세스에 따라 바이오메트릭 데이터를 사용하여, 바이오메트릭 데이터의 비일시적인 저장에 대한 필요없이, 자신의 바이오메트릭 데이터가 제1 트랜스듀서를 사용하여 미리 획득된 개체로서 주체를 인증하는 방법을 나타내는 흐름도이다.
도 7은 단방향 암호화 통신 채널을 제공하기 위해 본 발명의 일 실시예에서 사용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다.
도 8은 메시지에 대한 디지털 서명을 계산하고 검증하기 위해 본 발명의 일 실시예에서 사용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다.
도 9는 종래 기술의 보안 프로세서에서 사용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다.
도 10은 개선된 바이오메트릭 보안 프로세서에 사용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다.
도 11은 종래 기술의 보안 컴퓨팅 플랫폼에서 사용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다.
도 12는 개선된 바이오메트릭 보안 플랫폼에 사용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다.
정의들. 본 설명 및 첨부된 청구항들에서 사용되는 바와 같이, 다음의 용어들은 상황이 달리 요구하지 않는 한은 지시된 의미들을 가질 것이다.
"개체(individual)"는 고유 신분을 갖는 생물 또는 무생물이며, 인간 또는 다른 유기체일 수 있다.
"주체(subject)"는 특정 개체의 고유 신분을 갖는 것으로 의도되는 생물 또는 무생물이다.
"바이오메트릭(biometric)"은 개체 또는 그룹의 고유 신분을 결정하는 데 사용될 수 있는 특이한 개체 또는 개체들의 특이한 그룹의 측정 가능한 특성, 또는 이러한 특성들의 조합이다. 이러한 측정 가능한 유기적 특성들의 일부 비제한적인 예들은: 홍채 패턴, 망막 혈관 패턴, 지문, 유전자 패턴 또는 DNA 지문, 성문, 타이핑의 속도 또는 박자(cadence), 혈류 패턴, 뇌 구조 또는 전기 패턴, 행동 신호(예로서, 손 움직임들), 전문성 기반 연속 바이오메트릭들 및 개체의 걸음걸이이다. 개체가 트랜지스터들을 갖는 특이한 실리콘 웨이퍼일 때, 측정 가능한 무기적인 특성의 일례는 특이한 실리콘 웨이퍼를 제조하는 프로세스에 의해 야기되는 트랜지스터 게이트 지연들의 무작위 변화이며; 이러한 "실리콘 바이오메트릭"은 이 분야에 공지된 바와 같은 링 오실레이터(ring oscillator)를 사용하여 검출 가능하다.
"바이오메트릭 값(biometric value)"은 측정의 속성(property of the measurement)에 따른 바이오메트릭의 측정의 일부의 분류(categorization)이다. 예를 들어, 바이오메트릭이 홍채 프린트이고, 측정이 홍채를 픽셀들의 어레이로 이미징하는 것으로 이루어지는 경우, 측정의 관련 부분은 이미지 내의 단일 픽셀이고, 관련 속성은 분류될 픽셀의 휘도 또는 컬러일 수 있다. 전체 바이오메트릭의 측정은 많은 바이오메트릭 값을 포함할 수 있다.
"바이오메트릭 값에 대한 신뢰 값(confidence value for a biometric value)" 또는 간단히 "신뢰 값"은 대응하는 바이오메트릭 값이 정확하게 분류된 상대적 신뢰의 정도를 나타내는 숫자이다.
바이오메트릭 데이터의 "신뢰 서브세트(confident subset)"는 (a) 식별 가능한 개체들의 주어진 모집단(universe) 내에서 개체를 고유하게 식별할 만큼 충분히 크고, (b) 상이한 조건들에서의 대응하는 바이오메트릭의 측정들에 걸쳐 반복 가능하게 획득할 수 있을 만큼 충분히 작은, 그들 각각의 신뢰 값에 따라 선택된 바이오메트릭 값들의 집합이다.
"트랜스듀서(transducer)"는 측정된 바이오메트릭 값들의 세트로서 바이오메트릭의 특성화를 인코딩하는 전자 신호를 출력으로서 갖는 임의의 디바이스이다. 그러한 디바이스의 출력이 직접 디지털이 아닌 경우 "트랜스듀서"라는 용어는 출력을 디지털 형태로 변환하는 데 추가로 사용되는 임의의 디바이스를 포함한다.
"컴퓨팅 설비(computing facility)"는 컴퓨팅 프로세서 및 컴퓨팅 프로세서에 의해 실행될 수 있는 명령어들을 저장하는 메모리를 포함하는 컴포넌트들을 갖는 전자 시스템을 의미한다. 컴퓨팅 설비는 예를 들어 데스크탑 컴퓨터, 스마트폰, 태블릿 컴퓨터 및 유사한 전자 디바이스들에서 발견될 수 있다. 컴퓨팅 설비는 특수화된 계산들을 수행하는 내장 컴퓨팅 시스템들, 예를 들어 판매시점 정보관리(point-of-sale) 기계들, 자동 현금 지급기들(ATM들), 물리적 액세스 장벽들, 비디오 디스플레이 키오스크들 및 유사한 전자 디바이스들에서 발견될 수도 있다.
"바이오메트릭을 특성화하는 공개 키(public key characterizing a biometric)"(이하, 때때로 "바이오메트릭 공개 키")는 (a) 개체가 아닌 주체에 의한 비밀 번호 또는 바이오메트릭 값들의 세트의 복구를 방지하는 경향이 있는 방식으로 비밀 번호 및 개체의 바이오메트릭 값들의 세트에 기초하여 계산되고, (b) 개체의 바이오메트릭 데이터 또는 비밀 번호의 비일시적인 저장에 대한 필요없이, 개체의 바이오메트릭 데이터 및 비밀 번호 양자를 검증 가능하게 특성화하는 숫자이다. 바이오메트릭 공개 키는 그 자체가, RSA 시스템과 같은 이 분야에 공지된 공개 키/비공개 키 시스템들(이들 중 일부 시스템들은 때때로 "공개 키 기반구조"를 말하는 "PKI"라고 함)과 관계없다. (Rivest, Ronald L., Adi Shamir, and Len Adleman. "디지털 서명들 및 공개 키 암호시스템들을 획득하기 위한 방법(A method for obtaining digital signatures and public-key cryptosystems)". Communications of the ACM 21.2 (1978): 120-126 참조.)
"저장 설비"는 디지털 데이터의 비일시적 저장을 위한 로컬 또는 원격 시스템이다. 저장 설비는 옵션으로서, 프로세서로부터의 요청 메시지에 응답하여 데이터를 서빙하는 서버 시스템을 포함하거나, 시스템은 프로세서에 의해 직접 액세스될 수 있다.
본 발명과 관련된 개념들은 C. Herder, L. Ren, M. van Dijk, M.-D. M. Yu 및 S. Devadas의 논문 "트랩 도어 연산 퍼지 추출기들 및 상태 비보전 암호 보안 물리적 복제불가 함수(Trapdoor computational fuzzy extractors and stateless cryptographically-secure physical unclonable functions)," IEEE Transactions on Dependable and Secure Computing, vol. PP, no. 99, published March 1, 2016(http://ieeexplore.ieee.org/document/7422776/에서 온라인으로 입수 가능함)에 개시되었으며, 이 논문은 그 전체 내용이 참고로 통합된다.
도 1은 본 발명의 일 실시예가 사용될 수 있는 환경(10)의 개략도이다. 환경(10)은 컴퓨터, 스마트폰 또는 다른 그러한 전자 디바이스와 같은 정보 시스템(15)에 대한 액세스를 원하는 주체(11)를 포함한다. 그러나, 표준 데이터 보안 실무에 따르면, 정보 시스템(15)은 주체가 정보 시스템(15)을 사용하도록 허가된 개체로서 인증된 경우에만 액세스를 허용하는 보안 메커니즘에 의해 보호된다. 대안으로서, 주체(11)는 액세스를 반드시 원하는 것은 아니지만, 실시예는 감시, 검색 또는 추적 응용들에 사용된다. 다른 가능한 용도들이 아래에 설명되며; 본 발명의 다양한 실시예들은 일반적으로 개체들로서의 주체들의 인증을 수행하는 데 사용될 수 있고, 본 명세서에서 설명되는 실시예들의 선택은 구체적으로 본 발명의 범위를 제한하지 않도록 이루어진다는 것을 이해해야 한다.
인증 프로세스를 용이하게 하기 위해, 주체(11)는 바이오메트릭을 획득하는 트랜스듀서(12)에 제시된다. 트랜스듀서(12)는 예를 들어 홍채 스캐너 또는 지문 판독기일 수 있다. 트랜스듀서(12)는 이미지와 같은 원본(raw) 바이오메트릭 데이터를 주체의 바이오메트릭을 특성화하는 디지털 전자 신호로 변환한다. 디지털 전자 신호는 주체(11)를 인증하는 데 필요한 계산들을 수행하는 컴퓨팅 설비(13)로 통신된다. 이 작업을 수행하기 위해, 컴퓨팅 설비(13)는 저장 설비(14)로부터 바이오메트릭 공개 키를 획득한다. 컴퓨팅 설비(13)는 이 분야에 공지된 하드웨어 및 펌웨어 또는 소프트웨어를 사용하여 구현될 수 있다. 본 발명의 일부 실시예들에서, 트랜스듀서(12) 및 컴퓨팅 설비(13)는 스마트폰과 같은 단일 디바이스에서 구현된다. 하나의 이러한 실시예의 상세들이 도 2에 도시된다. 저장 설비(14)는 암호 토큰, 클라우드 데이터 저장소, 웹 사이트, 서버 또는 임의의 다른 그러한 저장 디바이스와 같은 키 저장소를 포함하는 임의의 데이터 소스일 수 있다.
아래에서 더 상세히 설명되는 바와 같이, 컴퓨팅 설비(13)는 디지털 전자 신호에 존재하는 바이오메트릭의 특성화를 바이오메트릭 공개 키와 결합하여 비밀(secret)을 계산한다. 예를 들어, 비밀은 패스워드 또는 다른 그러한 정보일 수 있고; 일반적으로 비밀은 임의의 디지털 데이터일 수 있다. 그러나, 비밀의 계산은 다양한 수학 또는 암호 연산들을 포함할 수 있으므로, 비밀은 아래에서 그러한 연산들이 수행될 수 있는 "비밀 번호"로서 지칭되며, ASCII 또는 유니코드 문자들(또는 소정의 다른 포맷)로의 그의 변환은 그의 정보 내용을 변경하지 않는다는 것을 이해한다.
일 실시예에서, 바이오메트릭 공개 키는 컴퓨팅 설비(13)로 하여금 비밀 번호가 정확하게 계산되었음을 결정하게 하기에 충분한 정보를 포함한다. 예를 들어, 비밀 번호는 암호 해시와 같은 단방향 함수를 사용하여 암호화될 수 있고, 해시 값은 바이오메트릭 공개 키와 함께 통신된다. 주체(11)를 인증하기 위해, 단방향 함수를 계산된 (후보) 비밀 번호에 적용하여 매치가 존재하는지를 결정한다. 결정이 이루어지면, 컴퓨팅 설비(13)는 주체(11)가 알려진 개체로서 인증되었다는 지시를 정보 시스템(15)에 전송한다.
다른 실시예에서, 컴퓨팅 설비(13)는 정보 시스템(15)에 비밀을 전송하며, 정보 시스템(15)은 주체(11)가 알려진 개체로서 인증되는지를 결정한다. 예를 들어, 정보 시스템(15)은 이 분야에 공지된 프로세스들을 사용하여 비밀이 공지된 개체와 이미 관련된 패스워드에 대응하는지를 결정할 수 있고, 그에 따라 액세스를 허가 또는 거부할 수 있다.
도 2는 본 발명의 일 실시예에 따른 바이오메트릭 공개 키를 생성 또는 사용하기 위한 디바이스(20)의 개략도이다. 인증 프로세스 동안, 디바이스(20), 보다 구체적으로 컴퓨팅 설비(21)는 도 4 및 6에 도시된 몇몇 프로세스들이 성공적으로 완료된 후에만 주체가 알려진 개체로서 인증되도록 구성된다.
디바이스(20)는 컴퓨팅 프로세서(22) 및 명령어 메모리(23)를 갖는 컴퓨팅 설비(21)를 포함한다. 컴퓨팅 설비(21)는 예를 들어 이 분야에 공지된 바와 같은 하드웨어 보안 모듈일 수 있다. 컴퓨팅 프로세서(22)는 임의의 전통적인 마이크로프로세서, 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA), 또는 다른 유사한 디바이스일 수 있다. 명령어 메모리(23)는 컴퓨팅 프로세서(22)에 의해 실행될 수 있는 명령어들을 저장하도록 동작 가능하고, 이 분야에 공지된 바와 같은 전통적인 휘발성 랜덤 액세스 메모리(RAM) 또는 이와 유사한 것, 이 분야에 공지된 바와 같은 비휘발성 메모리, 예를 들어 판독 전용 메모리(ROM) 또는 이와 유사한 것, 또는 그러한 기술들의 조합일 수 있다.
디바이스(20)는 또한 컴퓨팅 설비(21)에 결합되어, 바이오메트릭을 특성화하는 디지털 전자 신호를 출력하도록 동작 가능한 트랜스듀서(24)를 포함한다. 트랜스듀서(24)는 예를 들어 홍채 스캐너 또는 지문 이미저, 또는 바이오메트릭 데이터를 획득하기 위한 이 분야에 공지된 다른 기술일 수 있다.
디바이스(20)는 컴퓨팅 설비(21)에 결합된 옵션인 데이터 통신 포트(25)를 더 포함한다. 데이터 통신 포트(25)는 도 3-6과 관련하여 후술되는 바와 같이 등록 프로세스 동안, 컴퓨팅 설비(21)에 의해 계산된 바이오메트릭 공개 키를 암호 토큰과 같은 다른 디바이스에 또는 공개 키 데이터베이스와 같은 공개 데이터 소스에 전송하는 데 사용될 수 있다. 또한, 데이터 통신 포트(25)는 인증 프로세스 동안 그러한 암호 토큰 또는 공개 데이터 소스로부터 바이오메트릭 공개 키를 수신하는 데 사용될 수 있다. 따라서, 데이터 통신 포트(25)의 물리적 구성은 응용에 따라 달라질 수 있지만, 어느 경우에나 유선 데이터 네트워킹 포트(예를 들어, 이더넷 포트) 또는 무선 데이터 네트워킹 포트(예를 들어, 블루투스 또는 다른 근거리장 통신 트랜시버)일 수 있다.
마지막으로, 디바이스(20)는 하나 이상의 다른 프로세서 및 메모리(26)를 포함할 수 있다. 컴퓨팅 설비(21)는 인증과 무관한 기능들을 수행하는 데스크탑 컴퓨터, 스마트폰, 태블릿 컴퓨터 및 유사한 전자 디바이스를 포함하는 많은 디바이스의 전자 회로에 통합되도록 설계될 수 있다. 다른 프로세서들 및 메모리(26)는 컴퓨팅 설비(21)가 그러한 디바이스들에 어떻게 통합될 수 있는지를 설명하기 위해 도시된다.
본 발명의 일부 실시예들에서, 데이터 통신 포트(25)는 바이오메트릭 공개 키를 포함하는 공개 데이터 소스에 결합되도록 구성 가능하다. 이러한 실시예들은 공지된 방법들에 따라 디바이스에 대해 공개 데이터 소스를 인증하기 위한 하드웨어 보안 모듈을 포함할 수도 있다. 대안으로, 데이터 통신 포트는 바이오메트릭 공개 키를 저장하기 위한 암호 토큰을 물리적으로 수신할 수 있다. 이러한 대안 실시예는 실시예와 임의의 공개 데이터 소스 사이의 신뢰성 있는 또는 일관된 접속을 요구하지 않는데, 이는 암호 토큰이 공지된 방법들을 사용하여 인증될 수 있기 때문임을 주목한다.
발명의 일부 대안적인 실시예들에서, 디바이스는 제2 트랜스듀서의 무결성을 보장하기 위한 하드웨어 보안 모듈을 포함한다. 이러한 하드웨어 보안 모듈들은 이 분야에 공지되어 있다. 대안으로서, 디바이스는 방정식과 관련된 수학 연산들의 계산을 가속화하기 위한 수학 코프로세서를 포함할 수 있다. 이러한 프로세서들도 이 분야에 공지되어 있다.
도 3은 등록 프로세스 동안 본 발명의 일 실시예에서 사용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다. 등록 프로세스는 도 4와 관련하여 아래에서 설명되는 바와 같이 개체를 인증하기 위해 나중에 사용하기 위한 바이오메트릭 공개 키를 생성한다. 등록 프로세스는 개체(31)로부터 시작된다. 이 개체(31)는 소정의 신분 정보(32), 예를 들어 이름, 주소, 전화번호, 운전 면허증 번호, 또는 개체(31)를 고유하게 식별하는 다른 정보와 관련된다. 개체(31)는 또한 측정 가능한 바이오메트릭 정보(33), 예를 들어 지문 또는 홍채 패턴을 갖는다.
개체(31)는 자신의 신분 정보(32) 및 바이오메트릭 정보(33)를 도 2에 도시된 바와 같은 디바이스일 수 있는 등록 시스템(34)에 제시한다. 특히, 등록 시스템(34)은 전술한 바와 같은 트랜스듀서(35)를 포함한다. 트랜스듀서(35)는 바이오메트릭의 타입에 특유한 이 분야에 공지된 기술들을 사용하여 개체(31)의 바이오메트릭 정보(33)를 측정한다. 예를 들어, 바이오메트릭이 홍채 프린트인 경우, 트랜스듀서(35)는 개체(31)의 눈의 이미지를 취할 수 있다. 그 다음, 트랜스듀서(35)는 개체의 측정된 바이오메트릭을 특성화하는 디지털 전자 신호를 생성하고, 이를 등록 시스템(34) 내의 컴퓨팅 설비에 전송한다.
도 3의 등록 프로세스에서, 컴퓨팅 설비는 키 생성(36)의 지시된 기능을 수행한다. 키 생성 프로세스(36)는 도 5와 관련하여 후술되는 바와 같이 바이오메트릭 공개 키(37)를 생성한다. 나중의 인증을 돕기 위해, 등록 시스템(34)은 신분 정보(32) 및 바이오메트릭 공개 키(37)를 바이오메트릭 인증 기관(38)에 전송할 수 있다. 바이오메트릭 인증 기관(38)은 예를 들어 공개 키 기반구조의 분야에 그러한 표현이 알려져 있음에 따라 "인증 기관"일 수 있고, 유사한 기능을 수행하는 다른 설비일 수 있다. 바이오메트릭 인증 기관(38)은 신분 정보(32) 및 바이오메트릭 공개 키(37)를 수신하면, 이들 데이터를 전통적인 데이터베이스일 수 있는 공개 키 데이터베이스(39)에 저장한다.
등록 전에 도 3에 도시된 것들에 추가 프로세스들이 추가될 수 있다. 예를 들어, 바이오메트릭 인증 기관(38)은 새로운 공개 키(37) 또는 신분 정보(32)를 수신하기 전에 등록 시스템(34)을 인증하기를 원할 수 있다. 이것은 표준 암호화 및 인증 알고리즘들을 통해 행해질 수 있다.
유리하게, 바이오메트릭 정보(33)와 함께 신분 정보(32)를 (안전하지 못하게) 저장하는 기존의 데이터베이스는 본 발명의 일 실시예에 따른 공개 키 데이터베이스(39)로 쉽게 변환될 수 있다. 변환 프로세스는 단지 각각의 개체의 신분 정보(32) 및 바이오메트릭 정보(33)를 트랜스듀서(35)를 우회하여 등록 시스템(34)의 키 생성(36) 기능에 직접 공급하는 것을 수반한다. 이어서, 결과적인 바이오메트릭 공개 키들(37)은 신분 정보(32)와 연계하여 저장될 수 있고, 이어서 바이오메트릭 정보(33)는 삭제될 수 있다(따라서 손상으로부터 보호된다). 그러면, 바이오메트릭 인증 기관(38)은 어떠한 바이오메트릭 정보(33)도 그 안에 저장되지 않으므로, 공개 키 데이터베이스(39)를 악의적인 액세스로부터 더이상 보호할 필요가 없을 것이다. 또한, 이미 등록한 개체들은 재등록할 필요가 없을 것이다.
또한, 이러한 변환은 형사 사법 목적으로 사용될 수 있는 것과 같은 바이오메트릭 검색에 부정적인 영향을 미치지 않을 것이다. 연방 수사국에서 사용중인 것들을 포함하여 현재 시스템들은 대량의 검색 가능한 바이오메트릭 데이터를 저장한다. 이해할 수 있듯이, 이들 데이터는 이들을 이익을 위해 남용하는 신분 도용자들 및 다른 악성 개체들의 주요 타겟들이다. 그러나, 상기 프로세스들은 다른 방식으로 사용 가능한 형태로 바이오메트릭 데이터를 저장하지 않고, 자체적으로 바이오메트릭으로서 사용할 수 없는 공개 키로서 바이오메트릭 데이터를 인코딩하도록 적용될 수 있다. 바이오메트릭 공개 키들을 생성하기 위한 고려되는 프로세스들은 도 5와 관련하여 후술되는 바와 같이 선형이기 때문에, 저장된 데이터를 디코딩할 필요없이 바이오메트릭 조회에 대한 매치(match to a biometric query)를 발견하기 위한 빠른 검색을 가능하게 한다. 따라서, 취약한 바이오메트릭 데이터베이스는 완전히 제거될 수 있다.
도 4는 인증 프로세스 동안 본 발명의 일 실시예에서 사용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다. 인증 전에, 허가된 개체는 도 3에 도시된 것과 같은 등록 프로세스를 수행할 것이다.
인증 프로세스는 개체(31)임을 주장하는 주체(41)로부터 시작된다. 물론, 인증 프로세스의 목적은 그러한 신분 주장이 사실인지의 여부를 확인하는 것이다. 따라서, 주체(41)는 자신의 신분 정보(42) 및 바이오메트릭 정보(43)를 도 2에 도시된 바와 같은 디바이스일 수 있는 인증 시스템(44)에 제공한다. 특히, 인증 시스템(44)은 전술한 바와 같은 트랜스듀서(45)를 포함한다. 트랜스듀서(45)는 바이오메트릭의 타입에 특유한 이 분야에 공지된 기술들을 사용하여 주체(41)의 바이오메트릭 정보(43)를 측정하고, 바이오메트릭의 특성화를 전술한 바와 같은 컴퓨팅 설비에 전송한다.
인증 시스템(44)은 신분 정보(42)를 주장된 개체(31)에 대한 바이오메트릭 공개 키(37)를 보유하는 바이오메트릭 인증 기관(38)에 전송한다. 바이오메트릭 인증 기관(38)은 주장된 신분 정보(42)를 사용하여 (예를 들어, 데이터베이스 조회를 통해) 공개 키 데이터베이스(39)로부터 바이오메트릭 공개 키(37)를 검색하고, 이를 지시된 바와 같이 인증 시스템(44)에 반환한다. 인증 시스템(44)은 임의의 시간에 바이오메트릭 공개 키(37)를 요청할 수 있지만, 인터넷과 같은 데이터 통신 네트워크를 통해 바이오메트릭 공개 키(37)를 얻는 데에는 지연이 있을 수 있기 때문에, 인증 시스템(44)은 트랜스듀서(45)를 활성화하기 전에 신분 정보(42)를 요청할 수 있다. 이러한 지연을 줄이기 위해, 일부 실시예들에서 인증 시스템(44)은 바이오메트릭 공개 키(37)가 저장되는 암호 토큰 또는 동글을 물리적으로 수신하기 위한 포트를 포함한다. 일부 대안 실시예들에서, 공개 키 데이터베이스(39)는 (예를 들어, 비공개 네트워크를 통해 액세스 가능한) 인증 시스템(44)에 국지적으로 저장된다. 이러한 실시예들에서는, 바이오메트릭 정보(43)를 공개 키 데이터베이스(39) 내의 모든 바이오메트릭 공개 키(37)와 비교하는 것이 효율적이거나 보다 사용자 친화적일 수 있다. 이러한 방식으로, 주체(41)는 어떠한 신분 정보(42)도 제공할 필요가 없다.
주체(41)의 바이오메트릭 정보(43) 및 개체의 바이오메트릭 공개 키(37) 양자를 수신하면, 컴퓨팅 설비는 키 복구(46)의 기능을 수행한다. 키 복구(46)의 프로세스는 바이오메트릭 공개 키(37)를 생성하는 데 사용된 비밀 키(47)에 대한 후보 값을 계산하는 것을 수반한다. 이 프로세스는 도 6과 관련하여 이하에서 더 상세히 설명된다. 이어서, 컴퓨팅 설비는 바이오메트릭 공개 키(37) 및 비밀 키(47)에 대한 후보 값을 인증 알고리즘(48)에 제공한다. 이 인증 알고리즘(48)은 바이오메트릭 공개 키(37) 및 비밀 키(47)에 대한 후보 값이 함께 개체(31)로서 주체(41)를 인증하는지를 결정하고, 결정의 외부 지시(49)를 출력으로서 제공한다.
도 5는 개체에 대한 바이오메트릭 공개 키를 개체의 바이오메트릭 데이터에 기초하여 바이오메트릭 데이터의 비일시적인 저장에 대한 필요없이 생성하는 방법을 나타내는 흐름도이다. 구체적으로, 바이오메트릭은 홍채 프린트로서 설명되며; 이 분야의 통상의 기술자는 후속 프로세스들이 다른 바이오메트릭들에 대해 어떻게 다른지를 인식할 수 있어야 한다.
도 5의 프로세스들은 도 3에 도시된 등록 시스템(34)과 같은 등록 시스템의 컴퓨팅 설비에 의해 수행되도록 고려된다. 바람직한 실시예에서, 컴퓨팅 설비는 보안 환경 안에 배치되며, 여기서는 개체의 신분이 별개로 인증될 수 있다. 따라서, 예를 들어, 컴퓨팅 설비는 경찰서에 또는 회사의 보안 사무실에 있을 수 있으며, 여기서 신뢰할 수 있는 사람이 개체의 신분을 검증할 수 있다.
제1 프로세스(51)에서, 컴퓨팅 설비는 전술한 바와 같이 개체(31)의 바이오메트릭을 특성화하는 디지털 전자 신호를 트랜스듀서로부터 수신한다. 변환은 이 분야에 공지된 임의의 방법에 따라 수행될 수 있다. 홍채 프린트의 경우, 트랜스듀서는 홍채의 사진 또는 비디오 이미지를 취하고, 이미지를 인코딩하는 신호를 표준 데이터 포맷(예를 들어, RGB 또는 그레이스케일)에 따른 (예를 들어, 픽셀) 데이터로서 출력한다.
제2 프로세스(52)에서, 컴퓨팅 설비는 신호로부터 바이오메트릭 값들의 세트를 추출한다. 바이오메트릭 값은 임의의 디지털 데이터일 수 있지만, 일반적으로는 대응하는 이진 인코딩된 숫자의 "가장 중요한" 특징을 나타내는 단일 비트이며, 여기서 중요도는 특정 응용에 의존한다. 예를 들어, 신호가 픽셀 데이터를 포함하면, 바이오메트릭 값은 휘도 강도 또는 컬러 값들의 혼합에 의존할 수 있다. 바이오메트릭 값은 특징(예를 들어, 휘도)의 값이 미리 결정된 임계치 위에 또는 아래에 속하는지에 의해 또는 이 분야에 공지된 다른 효과적인 기술에 의해 결정될 수 있다.
또한, 제2 프로세스(52)에서, 컴퓨팅 설비는 각각의 그러한 바이오메트릭 값에 대해, 대응하는 바이오메트릭 값이 특성화들 사이에서 안정적이라는 신뢰의 정도를 나타내는 신뢰 값을 추출한다. 신뢰 값도 임의의 디지털 데이터일 수 있지만, 일반적으로는 바이오메트릭 값이 미리 결정된 임계치로부터 얼마만큼 떨어져 있는지를 나타내는 다수의 비트이다. 즉, 원래의 측정이 임계치에 가까우면, 대응하는 측정의 바이오메트릭 값으로의 분류는 덜 확실한 반면, 원래의 측정이 임계치에서 더 멀리 떨어져 있으면, 분류는 더 신뢰된다. 따라서, 예를 들어, 홍채 이미지의 소정 픽셀들은 여러 판독에서 일관되게 판독되지 않을 수 있는 반면, 다른 것들은 일관되게 판독될 것이다. 이 정보는 각각의 홍채마다 바뀌지만, 일반적으로는 각각의 홍채마다 일관된다.
제3 프로세스(53)에서, 신뢰 값들은 특성화들 사이에서 안정적인 바이오메트릭 값들의 신뢰 서브세트를 선택하는 데 사용된다. 신뢰 서브세트는 바이오메트릭에 기초하는 주체의 신분의 신뢰성 있는 판별자이어야 하며, 예를 들어 대응하는 신뢰 값들이 소정 임계치 위인 추출된 바이오메트릭 값들의 서브세트를 선택함으로써 행해질 수 있다. 따라서, 이 프로세스(53)는 잡음이 많을 가능성이 더 낮고 안정적일 가능성이 더 높은 바이오메트릭 값들을 선택한다. 따라서, 각각의 개체 홍채 캡처는 상당한 변화를 가질 수 있지만, 각각은 신뢰성 있는 픽셀들의 서브세트를 포함할 가능성이 매우 높을 것이며, 후속 처리에서 사용될 수 있다. 프로세스들(52 및 53)은 옵션으로서 그러한 픽셀들의 신뢰 서브세트가 안정화될 때까지 등록 동안 반복될 수 있다. 임의의 수의 비트가 신뢰 서브세트로서 사용될 수 있지만, 일 실시예에서 신뢰 서브세트 내의 비트 수는 540 비트 미만으로 제한된다.
프로세스들(52 및 53)은 함께 개체들을 신뢰성있게 판별하기 위해 사용될 수 있는 원본 바이오메트릭 값들의 신뢰 서브세트를 생성한다. 이상적으로, 신뢰 서브세트는 매우 낮은 거짓 수락 레이트(false acceptance rate)로(이 경우, 주체는 사실과 다르게 개체로 인증됨) 그리고 비교적 낮은 거짓 거절 레이트(false rejection rate)로(이 경우, 주체는 사실과 다르게 개체로 인증되지 않음) 개체들의 식별을 허가한다. 이러한 프로세스들에 대한 상세한 설명은 홍채 프린트를 바이오메트릭으로 사용하는 실시예와 관련하여 아래에 주어진다. 프로세스들은 다른 바이오메트릭들에 적용될 때 그에 따라 변경되어야 한다는 것을 이해할 것이다. 특히, 소정 프로세스들이 수행되는지의 여부 또는 어떤 임계치 또는 파라미터들이 사용되는지는 거짓 수락 레이트 및 거짓 거절 레이트에 의존하며, 이러한 레이트들은 변하는데, 이는 그들이 응용에 의존하기 때문이다. 또한, 이들 프로세스는 도 6과 관련하여 후술하는 인증 방법 동안 수행될 수 있음을 알아야 한다.
예시적인 실시예에서, 프로세스(52) 동안, 개체는 적외선 홍채 스캐너를 사용하여 그의 눈들을 스캔하여 홍채 이미지를 생성한다. 홍채 이미지는 RAW 포맷일 수 있다. 이 홍채 이미지가 주체의 신분을 신뢰성있게 판별할 수 있게 하는 데이터의 획득을 유도할 수 있는지를 결정하기 위해 여러 프로세스가 사용된다. 그렇지 않은 경우, 예를 들어 추가 홍채 스캔이 요청될 수 있다.
예를 들어, 홍채 이미지가 포커스가 맞지 않으면, 주체의 신분을 신뢰성있게 판별할 수 있게 하는 데이터가 그로부터 얻어질 수 있는 가능성이 없다. 따라서, 이차원 푸리에 변환을 사용하여 홍채 이미지가 포커스가 맞는지를 결정할 수 있다.
이미지에서 동공 및 홍채를 식별하고 윤곽을 그리기 위해 세그먼트화 프로세스(segmentation process)가 사용될 수 있다. 동공 또는 홍채가 발견되지 않으면, 이것은 주체가 스캔 동안 그의 눈을 감았음을 나타낼 수 있다. 홍채의 윤곽은 예를 들어 주체가 스캔 중에 그의 눈을 충분히 크게 열지 않았기 때문에 홍채의 부분들이 가려졌는지를 결정하는 데 사용될 수 있다. 홍채 이미지는 낮은 거짓 거절 레이트 및 사용 편의성을 용이하게 하기 위해 사용될 수 있다. 주체는 더 높은 레벨의 보안을 유지하고 거짓 수락 레이트를 낮추기 위해 눈을 다시 스캔하도록 요청받을 수 있다.
다음으로, 세그먼트화 프로세스에서 윤곽이 그려진 바와 같은 홍채는 예를 들어 극 좌표에서 데카르트 좌표로의 변환을 사용하여 도넛 형상으로부터 직사각형으로 신장될 수 있다. 그레이 레벨들이 적절한 영역에 있는 것을 보장하기 위해 정규화 프로세스(normalization process)가 수행될 수 있다. 결과적인 바이오메트릭 데이터는 그레이스케일에 대응하는 8 비트 값들의 행렬이다. 이어서, 가버(Gabor) 변환을 수행하여, 부호 있는 (양수 및 음수) 8 x 16 비트 값들의 행렬을 생성한다. 양수인 행렬 값들은 1들로 변환되고, 음수인 값들은 0들로 변환된다. 0들과 1들의 결과적인 행렬은 "홍채 코드"라고 하는 수천 비트의 이차원 어레이이다.
이 홍채 코드는 0들 및 1들의 영역들 또는 클러스터들 가지므로 오버샘플링된 것으로 간주된다. 보안, 특히 측정된 비트당 엔트로피를 개선하기 위해, 홍채 코드는 예를 들어 10 픽셀 떨어져 있는 픽셀들만을 추출하는 방법을 사용하여 서브샘플링될 수 있다. 이 서브 샘플링된 어레이는 수백 비트를 포함한다.
다음 단계는 프로세스(53)에서 신뢰 서브세트를 선택하는 것으로서, 신뢰 서브세트는 바이오메트릭에 기초한 주체의 신분의 신뢰성 있는 판별자이다. 그렇게 하기 위해, 예로서 눈꺼풀, 속눈썹, 눈부심, 반사, 먼지, 오물 또는 한 쌍의 안경의 테두리와 같은 안경의 일부에 의해 가려지므로 신뢰할 수 없는 픽셀들을 제거하기 위한 프로세스들이 수행된다. 신뢰할 수 있는 비트들을 식별하는 한 가지 방법은 클러스터들의 중심에 있고 에지들로부터 멀리 떨어져 있는 비트들을 식별하는 단계를 포함하는데, 이는 에지들이 잡음의 영향을 받기 때문이다. 에러 확률은 에지까지의 거리에 반비례한다. 비트가 0에서 1로 또는 그 반대로 잘못 반전(flipping)될 확률은 에지들에서 더 높고, 따라서 신뢰 서브세트는 클러스터들의 중앙에 있는 샘플들을 포함한다. 따라서, 실시예에서, 각각의 픽셀은 가장 가까운 에지까지의 거리 또는 유클리드 거리를 나타내는 숫자에 매핑된다. 숫자가 작을수록 거리가 작거나 신뢰성이 낮음을 나타낸다.
일 실시예에서, 신뢰 서브세트 내의 비트들의 수는 보안 파라미터에 소정의 부분(some fraction)을 더한 것으로서 정의될 수 있다. 예를 들어, 80 비트의 보안 파라미터의 경우, 신뢰 서브세트에서 100 비트가 선택될 것이다. 다른 실시예에서, 신뢰 서브세트 내의 비트들의 수는 백분율에 기초한다. 예를 들어, 가장 신뢰할 수 있는 20%의 비트들이 선택되어, 94 비트를 포함하는 것과 같은 신뢰 서브세트가 생성된다. 따라서, 두 개체를 구별하는 데 필요한 비트 수가 결정되고, 가능하면 관련 신뢰성을 갖는 많은 비트가 신뢰 서브세트로 선택된다.
신뢰성 있는 비트들을 식별하는 하나의 방법은 가버 변환으로부터 생성된 부호 있는 값들의 행렬에서의 값들의 크기(magnitude)를 사용하는 것을 포함한다. 가버 변환은 눈부심이나 반사와 같은 에러와 높은 콘트라스트를 구별하지 않기 때문에 매우 큰 크기를 가진 값들은 눈부심이나 반사를 나타낼 수 있다. 잘못된 비트 반전의 가능성이 더 높기 때문에 매우 낮은 크기의 값들도 신뢰할 수 없다. 따라서 신뢰 서브세트는 중간 60%의 값들과 같은 중간 크기의 값들을 포함할 수 있다.
제4 프로세스(54)에서, 컴퓨팅 설비는 비밀 번호를 생성한다. 의사 난수 생성기(pseudo-random number generator)의 사용을 포함하여 비밀 번호를 생성하는 많은 방법이 있다. 대안으로서, 비밀 번호는 의사 난수를 형성하기 위해 암호(예를 들어, 해시) 함수를 사용하여 후속 처리되는 패스 프레이즈(pass phrase)의 형태로 개체에 의해 제공될 수 있다.
제5 프로세스(55)에서, 컴퓨팅 설비는 비밀 번호 및 바이오메트릭 값들의 신뢰 서브세트에 기초하여 바이오메트릭 공개 키를 계산한다. 프로세스(55)는 도 3의 키 생성(36)의 기능에 대응한다. 그러한 바이오메트릭 공개 키를 계산하는 한 방법은 선형 대수를 사용하지만, 이 분야의 기술자는 사용될 수 있는 다른 방법들을 알 수 있다.
선형 대수 방법은 소정의 표기법이 먼저 설정되면 더 쉽게 이해될 수 있다. 바이오메트릭 공개 키를 K라고 하는 비트들의 벡터로서, 비밀 번호를 S라고 하는 비트들의 벡터로서 그리고 바이오메트릭 데이터의 신뢰 서브세트를 B라고 하는 비트들의 벡터로서 나타낸다. 바이오메트릭 공개 키 K는 신뢰 바이오메트릭 데이터 B와 동일한 크기를 갖는 반면(즉, 이들 각각은 비트들의 N 행 및 1 열을 사용하여 표현될 수 있음), 비밀 번호 S는 임의의 크기를 가질 수 있다(즉, 비트들의 M 행 및 1 열을 사용하여 표현될 수 있다). 비트들의 N 행 및 M 열을 갖는 이진 행렬 A를 선택한다. 그러면, 바이오메트릭 공개 키 K에 대한 공식은 K = A·S + B로 표현될 수 있다. 즉, 바이오메트릭 공개 키 K는 (즉, 행렬 곱셈을 사용하여) 이진 행렬 A에 비밀 번호 S를 곱한 다음에, (즉, 비트간 배타적 논리합을 사용하여) 신뢰 바이오메트릭 데이터 B를 더함으로써 얻어진다. 이진 행렬 A는 M≠N인 경우에 정사각 행렬이 아닐 것이다.
이진 행렬 A는 임의의 기술을 사용하여 선택될 수 있거나, 무작위로 선택될 수 있다. 일 실시예는 개체와 고유하게 관련되도록 각각의 바이오메트릭 공개 키 K에 대한 이진 행렬 A를 선택할 수 있다. 이 실시예에서, 이진 행렬 A는 각각의 바이오메트릭 공개 키 K와 함께 배포되어야 하며, 본질적으로 공개 키의 일부를 형성한다. 다른 실시예는 이진 행렬 A를 컴퓨팅 설비 자체와 관련시켜 그러한 설비를 사용하여 생성된 키들을 식별할 수 있다. 이 실시예에서, 이진 행렬 A는 각각의 바이오메트릭 공개 키 K와 고유하게 관련되는 것이 아니라, 인증 이전에 바이오메트릭 인증 기관 또는 다른 소스로부터 얻어져야 한다. 또 다른 실시예는 이진 행렬 A를 상수 설계 파라미터(constant design parameter)로서 지정할 수 있어, 다수의 컴퓨팅 설비가 상호 호환 가능한 바이오메트릭 공개 키들을 생성하는 데 사용될 수 있다. 이 실시예에서, 이진 행렬 A는 공개될 필요조차 없으며, 바이오메트릭 공개 키 K를 생성하는 디바이스의 보안 부분에 저장될 수 있다.
K에 대한 공식이 선형이라는 것을 알 수 있다. 따라서, 이러한 공식의 알려진 속성들에 따르면, K, A 및 B가 알려지는 한, 비밀 S의 후보 값에 대해 공식을 풀 수 있다. 특히, 해는 S = A-1(K-B)로 주어지며, 여기서 이진 행렬 A가 정사각 행렬이 아닌 경우, 일반화된 역행렬(예를 들어, Moore-Penrose pseudoinverse)이 행렬 곱셈에 사용될 수 있다. 그러나, 이러한 선형성에도 불구하고, 비밀 S의 사용은 검출로부터 바이오메트릭 값들의 신뢰 서브세트 B를 마스킹하여 B의 값을 암호화하도록 동작한다. 만족스러운 대칭에서, 신뢰 서브세트 B의 사용은 S의 값을 암호화하도록 동작한다. 이러한 방식으로, K의 값은 바이오메트릭 데이터 또는 비밀 번호의 비일시적인 저장에 대한 필요없이 개체의 바이오메트릭 데이터와 비밀 번호 양자를 검증 가능하게 특성화한다.
계산은 비밀 번호 S 및 바이오메트릭 값들의 신뢰 서브세트 B만이 아닌 다른 정보를 포함할 수 있다는 것을 이해해야 한다. 이름, 운전 면허증 번호, 거리 주소, 조직 멤버십 번호 등과 같이 인증 목적으로 전통적으로 사용된 다른 정보가 포함될 수 있다. 이 부가적인 정보는 먼저 이를 호환 가능한 이진 형태로 변환한 다음에 (비트별로, bitwise) 이를 바이오메트릭 공개 키 K에 직접 더하거나 이진 행렬 A와 곱하기 전에 (비트별로) 비밀 번호 S에 더함으로써 선형 방법에 쉽게 통합될 수 있다. 또한, 그러한 부가 정보가 바이오메트릭 공개 키 K의 계산에 사용되는 경우, 그것은 또한 인증 동안 제시되어야 하고; 이 경우에 비밀 번호 S에 대해 풀 공식은 그에 따라 수정되어야 한다는 것을 알 것이다.
도 5의 방법은 컴퓨팅 설비가 바이오메트릭 공개 키를 저장 설비에 저장하는 프로세스(56)로 종료된다. 저장 설비는 등록 시스템(34)의 비인증 메모리와 같은, 컴퓨팅 설비 외부의 메모리일 수 있다. 이어서, 등록 시스템(34)은 이러한 바이오메트릭 공개 키를 사용하여 키 생성에 엄격하게 관련되지 않은 옵션인 동작들을 수행할 수 있는데, 예를 들어 디스플레이 스크린 상에 메시지를 표시할 수 있다. 대안으로서, 컴퓨팅 설비를 수용하는 디바이스가 개체 또는 허가된 개체들의 작은 그룹에 의해서만 사용되도록 의도된 경우, 저장 설비는 컴퓨팅 설비 자체 내의 메모리일 수 있다. 다른 실시예에서, 저장 설비는 개체에 의해 제공되는 암호 토큰 또는 동글이며, 이는 개체에 의한 후속 인증 사용을 위해 바이오메트릭 공개 키를 저장한다.
본 발명의 일 실시예는 또한 저장 설비에 바이오메트릭 공개 키 자체와 연계하여 다른 정보를 저장할 수 있으며, 그러한 모든 관련 데이터의 조합은 이 분야에 공지된 암호 기술들을 사용하여 바이오메트릭 인증 기관에 의해 인증될 수 있는 레코드를 형성한다. 예를 들어, 바이오메트릭 공개 키의 계산과 관련된 타임 스탬프와 함께 바이오메트릭의 수집과 관련된 타임 스탬프가 레코드에 저장될 수 있다. 이러한 부가적인 데이터는 옵션으로서 인증 프로세스가 유효하다는 추가적인 보증을 제공하기 위해 도 6과 관련하여 후술되는 인증 프로세스 동안 개별적으로 또는 조합하여 사용될 수 있다. 이러한 데이터는 원본 바이오메트릭 데이터의 기존 데이터베이스를 본 발명의 일 실시예에 따른 데이터베이스로 변환할 때 특히 유용한데, 이는 타임 스탬프들 중 하나 또는 둘 모두가 기본(underlying) 바이오메트릭 데이터의 유효성에 대한 프록시로서 작용할 수 있기 때문이다.
도 6은 바이오메트릭 데이터를 사용하여, 바이오메트릭 데이터의 비일시적인 저장에 대한 필요없이, 자신의 바이오메트릭 데이터가 제1 트랜스듀서를 사용하여 미리 획득된 개체로서 주체를 인증하는 방법을 나타내는 흐름도이다. 도 6의 프로세스는 도 4에 도시된 인증 시스템(44)과 같은 인증 시스템의 컴퓨팅 설비에 의해 수행되도록 고려된다. 개체(31)임을 주장하는 주체(41)의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신하고, 바이오메트릭 값들 및 대응하는 신뢰 값들을 추출하고, 신뢰 값들을 사용하여 바이오메트릭 값들의 신뢰 서브세트를 선택하는 프로세스들(61-63)은 위에서 상세히 설명된 도 5의 프로세스들(51-53)과 동일하다.
도 6의 인증 프로세스들은, 컴퓨팅 설비가 도 5와 관련하여 전술한 바와 같은 저장 설비로부터 바이오메트릭 공개 키를 수신하는 프로세스(64)에서 도 5의 등록 프로세스들로부터 갈라진다. 즉, 인증 시스템의 컴퓨팅 설비는 도 5의 프로세스들의 곱을 수신한다. 저장 설비는 예를 들어 바이오메트릭 인증 기관에 의해 제어되는 데이터베이스, 또는 동글 또는 암호 토큰, 또는 컴퓨팅 설비 자체 내의 비일시적 데이터 저장소와 같은 로컬 메모리일 수 있다. 프로세스(65)에서, 컴퓨팅 설비는 바이오메트릭 공개 키 및 신뢰 서브세트를 사용하여 비밀 번호에 대한 후보 값을 계산한다. 프로세스(55)와 관련하여 설명된 선형 대수 방법이 바이오메트릭 공개 키를 계산하는 데 사용되는 경우, 프로세스(65)는 그러한 설명에서 주어진 공식들에 따라 수행될 수 있다.
도 6의 방법은, 컴퓨팅 설비가, 비밀 번호에 대한 후보 값이 바이오메트릭 공개 키에 의해 특성화된 비밀 번호와 동등한 것으로 간주될 때, 주체가 개체로서 인증된다는 지시를 전송하는 프로세스(66)로 종료된다. 도 1과 관련하여 전술한 바와 같이, 동등성을 결정하기 위해, 비밀 번호 S는 단방향 함수(예를 들어, F)를 사용하여 암호화될 수 있고, 해시 값 F(S)는 프로세스(64)에서 바이오메트릭 공개 키 K와 함께 수신된다. 함수 F는 단지 단방향이므로, 비밀 번호 S는 해시 값 F(S)로부터 실현 가능하게 복구될 수 없으며, 따라서 후자 값 F(S)는 비밀 번호(S)를 손상시키지 않고 공개될 수 있음을 알아야 한다. 주체를 인증하기 위해, 함수 F는 비밀 번호 S'의 후보 값에 적용되어 매치가 존재하는지; 즉 F(S)=F(S')인지를 결정한다. 그러한 경우, 암호 해시 함수들의 잘 알려진 속성들을 사용하여, S=S'라는 높은 신뢰도로 결론을 내릴 수 있으므로, 컴퓨팅 설비는 사실상 비밀 번호 S를 이미 소유하고 있다.
다른 실시예에서, 비밀 번호(S)에 대한 후보 값이 정확한지를 결정하기 위해, 실시예는 후보 값을 사용하여 개체의 후보 바이오메트릭 데이터를 계산할 수 있다. 이어서, 이 실시예는 개체의 후보 바이오메트릭 데이터와 주체의 캡처된 바이오메트릭 데이터를 비교하고, 이들 두 데이터 세트가 소정의 메트릭(예컨대, 해밍 거리)에 따라 충분히 근접한 경우에만 주체를 인증한다. 이는 추정 비밀 번호가 실제 비밀 번호 S와 동등한 것으로 간주되는 것과 동등하다. 이 실시예에서, F(S)는 계산되거나 공개될 필요가 없으므로, F는 실시예의 일부로서 포함될 필요가 없다.
신뢰 서브세트의 적은 수의 비트가 이전 프로세스들에 의해 신뢰성 있는 것으로 간주되었더라도 에러가 있을 수 있으므로, 인증이 실패하면, 주체가 개체로서 인증되지 않았음을 통지하기 전에 추가 프로세스들을 수행하여, 실패가 적은 수의 바이오메트릭 값들의 문제 때문이 아님을 보장한다. 일 실시예에서, 신뢰 서브세트는 100 비트를 포함하고, 이러한 추가 프로세스들은 100개 중 첫 번째 비트를 반전시키고, 키를 재계산하고, 주체가 개체인지를 다시 결정하는 것과 같은 억지(brute force) 방법들을 포함할 수 있다. 프로세스는 선형 검색을 사용하여 신뢰 서브세트의 1 비트 에러들을 검사하기 위해 100번 반복될 수 있다. 다른 실시예에서, 2 비트 에러들의 모든 가능한 조합을 검사하고, 매번 키를 재계산하고, 주체가 개체인지를 검사함으로써 2 비트 에러들이 검사된다. 일부 실시예들에서, 이러한 계산들은 특수 하드웨어에서 병렬로 수행될 수 있다.
도 5와 관련하여 전술한 바와 같이, 본 발명에 따른 실시예를 사용하는 모든 사람이 동일한 보증 데이터를 사용하여 또는 바이오메트릭 데이터만을 사용하여 인증해야 하는 것은 아니라는 것을 알아야 한다. 단일 디바이스 실시예는 홍채 스캐너, 지문 스캐너, 패스워드를 입력하기 위한 키보드, 암호 토큰을 위한 리셉터클 및 다른 그러한 입력 메커니즘들을 포함할 수 있다. 도 6의 방법을 수행하기 위한 소프트웨어 또는 펌웨어는 필요한 보증 데이터를 제공하기 위해 이들 입력 메커니즘의 임의의 또는 모든 것을 사용하도록 주체에 촉구할 수 있다. 예를 들어, 홍채 스캔 및 지문 양자를 사용하여 바이오메트릭 공개 키가 생성되면, 도 6의 방법을 수행하는 인증 디바이스는 홍채 및 지문 스캐너를 모두 포함해야 한다.
본 발명의 예시된 실시예들은 "한번 등록, 어디서나 인증(enroll-once authenticate-anywhere)" 시스템을 제공한다. 개체는 한 번만 등록하면 되고, 실시예에 따라 임의의 인증 시스템 상에서 인증할 수 있다. 개체는 이전에 인증 시스템과 상호 작용했을 필요가 없다. 따라서, 실시예는 기존 시스템들에 비해 장점을 제공한다. 개체가 여러 개의 스마트폰을 소유하거나 전화를 교체해야 하는 경우, 각각의 전화를 프로비저닝해야 한다. 예를 들어, 그는 그의 지문이나 홍채를 인식할 수 있도록 각각의 그러한 디바이스를 훈련시켜야 한다. 그러나, 이 실시예에 따르면, 이러한 반복된 프로비저닝은 요구되지 않는다.
따라서, 본 발명의 일 실시예는 "단일 서명(single sign-on)" 기능을 제공한다. 바이오메트릭 공개 키는 본질적으로 완전히 공개될 수 있으므로, 주체들을 개체들로서 인증하기를 원하는 누군가에 의해 사용될 수 있다. 웹 사이트, 은행, 상인 및 다른 사람들은 동일한 바이오메트릭 공개 키를 사용할 수 있다. 바이오메트릭 공개 키를 생성하는 데 암호가 사용되지 않은 경우, 주체를 인증하기 위해 암호가 요구되지 않으므로, 암호 유지 절차가 필요하지 않다. 특히, 암호가 필요 없으므로, 보증 데이터를 위조하는 것은 불가능하다. 단일 서명 실시예는 공개적으로 액세스 가능한 바이오메트릭 인증 기관 또는 다른 그러한 서버를 사용하거나 전술한 임의의 다른 방법에 의해 구현될 수 있다. 그러한 일 실시예는 바이오메트릭 공개 키들과 함께 비밀 번호의 해시를 저장하기 위한 서버를 포함한다. 해시들은 식별 정보(예를 들어, 이름 또는 주소)를 사용하여 인덱싱된 다음, 식별 번호로 보호되고 암호 서명된다. 이어서, 이러한 레코드들은 개체임을 주장하는 주체를 인증하고자 하는 누군가에게 제공된다.
따라서, 본 발명의 일 실시예는 각각 개체의 바이오메트릭을 특성화하는 공개 키들의 데이터베이스를 제공한다. 이러한 공개 키들은 이 분야에 공지된 기술을 사용하여 인증 기관과 같은 신뢰할 수 있는 제3자에 의해 디지털 서명된 인증서에서 제공될 수 있다. 그러면, 임의의 사람의 신분이 다음과 같이 인증할 수 있다. 먼저, 데이터베이스에서 그 사람의 공개 키를 획득한다. 다음으로, 이 분야에 공지된 기술을 사용하여 공개 키를 확인한다. 그런 다음, 사람에게서 적절한 바이오메트릭을 획득한다. 마지막으로, 위에서 설명한 인증 프로세스를 사용하여 공개 키에 대해 획득한 바이오메트릭을 확인한다. 이 실시예에 따르면, 임의의 사람은 바이오메트릭 데이터를 공개적으로 노출시키지 않고, 특히 바이오메트릭 데이터를 검증자(verifier)에 등록하지 않고, 그의 바이오메트릭 데이터를 사용하여 다른 사람에게 인증될 수 있다.
실제로, 전술한 시스템 및 방법은 임의의 목적을 위한 인증을 제공하는 데 사용될 수 있다. 여러 가지 용도에서, 개체로서의 주체의 인증은 (예를 들어, 보좌의 동일한 분배(equal distribution of aide)를 보장하기 위해) 인도주의적 위기 동안 또는 그 후에 보좌를 받는 사람들을 일시적으로 식별하고, 세금을 내는 사람들을 식별하고, 건강 보험을 받는 사람들을 식별하는 것 등과 같은, 그러나 이에 한정되지 않는, 개체에 대한 정보를 사용하는 목적을 위해 수행된다. 따라서, 예를 들어, 본 발명의 실시예들은 사회 보장 번호 또는 운전 면허증을 바이오메트릭 공개 키로 대체하는 데 사용될 수 있다.
다른 용도들에서, 개체로서의 주체의 인증은 주체에게 개체에게 부여된 임의의 특권을 부여하기 위한 전제 조건으로서 수행된다. 일부 이러한 용도들은 토큰의 제시 또는 패스워드의 입력과 같은 추가적인 보증들도 요구하며, 특히 국경 통제 응용, 공통 액세스 카드(CAC)와 같은 하드웨어 토큰 교체, 스마트폰과 같은 전자 디바이스에 대한 사용자 인증, 빌딩 구내 및 비즈니스 데이터 시스템에 대한 액세스를 위한 직원 식별, (피어 대 피어 데이터베이스를 포함하는) 분산 데이터베이스에 대한 인증 및 (이메일과 같은) 디지털 메시지의 보호를 포함하지만 이에 한정되지 않는다. 실제로, 본 발명의 다양한 실시예들은 패스워드 또는 토큰에 대한 필요성을 완전히 대체하기 위해 사용될 수 있다.
2개의 특정 용도: 즉 보안 통신 및 메시지 서명이 도 7 및 8에 도시되어 있다. 이러한 용도들은 잘 알려져 있고, 특히 암호 시스템 분야에서 일반적이며, 본 발명의 다양한 실시예의 능력 및 유연성을 설명하기 위해 제공된다. 나머지 도면들은 기존 인증 메커니즘에 비해 비용을 절감하는 다양한 하드웨어 구현을 도시한다.
도 7은 암호화된 메시지를 주체(41)에 전송하기 위한 통신 채널을 제공하기 위해 본 발명의 일 실시예에서 사용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다. 도 7에 도시된 통신 채널은 단방향이며; 즉 메시지들이 어떻게 임의 사람으로부터 주체(41)로 전송되는지를 도시한다.
도 7에 도시된 실시예에 따르면, 주체(41)와 안전하게 통신하기를 원하는 임의의 사람은 암호화 시스템(71)을 가져야 한다. 암호화 시스템(71)은 이 분야에 공지된 컴퓨팅 설비를 포함하면 되고; 주체(41)와의 양방향 통신이 요구되지 않는 한, 전송자를 인증하기 위한 트랜스듀서를 포함할 필요가 없다. 따라서, 암호화 시스템(71)은 이 분야에 공지된 일반적인 데스크탑 컴퓨터, 스마트폰 또는 유사한 디바이스일 수 있다.
주체(41)에 대한 보안 통신 채널을 확립하기 위해, 개체는 먼저 암호화 시스템(71)이 필요한 암호화 정보를 포함하는 레코드를 수신하도록 구성한다. 예를 들어, 레코드는 이 분야에 공지된 바와 같은 비대칭 암호화 알고리즘을 수행하기 위해 공개/비공개 키 쌍을 특성화할 수 있다. 공개 키는 레코드에 직접 저장될 수 있는 반면, 비공개 키는 바이오메트릭 공개 키(37)에 의해 특성화된 비밀 번호일 수 있다.
레코드를 획득하는 것은 공개 키 분배 및 공개 키 기반 구조의 분야에 알려진 방법들을 사용하여, 예를 들어 암호화 시스템(71)이 공개 키 데이터베이스(39)로부터 레코드를 검색할 수 있도록 바이오메트릭 인증 기관(38)에 충분한 신분 정보를 제공함으로써 수행될 수 있다. 올바른 레코드를 포함하는 특정 바이오메트릭 인증 기관(38)은, 예를 들어 개체들을 그러한 기관들에 매핑하는 디렉토리를 참조함으로써 자체적으로 결정될 수 있다.
그 다음, 평문 텍스트(plain text, 72)를 암호화하기 위해, 암호화 시스템(71)의 컴퓨팅 설비는 암호화 알고리즘(73)을 실행하여 레코드로부터의 공개 키 데이터를 사용하여 암호 텍스트(74)를 생성한다. 이어서, 암호 텍스트(74)는 인터넷과 같은 임의의 안전하지 않은 통신 수단을 사용하여 해독 시스템(75)으로 전송될 수 있다.
이 실시예에 따른 해독은 도 4 및 6에 도시된 인증 프로세스와 거의 동일한 방식으로 시작된다. 실제로, 주체의 신분 정보(42) 및 바이오메트릭 정보(43)를 사용하는 의도된 개체로서의 주체(41)의 인증은 해독 시스템(75)의 컴퓨팅 설비의 해독 기능들에 액세스하기 위한 전제 조건으로서 수행되어야 한다. 간략하게 하기 위해, 이러한 인증 프로세스는 여기에서 설명되지 않는다. 해독 시스템(75)은 도 2에 도시되고 그것과 관련하여 설명된 바와 같은 디바이스로서 구현될 수 있다는 점에 유의하는 것으로 충분하다. 특히, 이것은 트랜스듀서(76), 및 적어도 두 가지 기능, 즉 비밀 번호(78)를 복구하는 키 복구 기능(77)(도 4와 관련하여 기술된 키 복구 기능(46)과 동일함) 및 복구된 비밀 번호(78)를 사용하여, 수신된 암호 텍스트(74)로부터 평문 텍스트(72)를 재생하는 해독 알고리즘(79)을 수행하는 컴퓨팅 설비를 포함한다.
도 4 및 6과 관련하여 기술된 인증 프로세스들을 수행한 후에, 해독 시스템(75)은 복구된 비밀 번호(78)를 해독 알고리즘(78)에 전달하며, 이 해독 알고리즘은 이 번호를 암호 알고리즘(73)에 의해 사용된 공개 키에 대응하는 비밀 키로 사용한다. 주체(41)가 암호 텍스트(74)를 해독하도록 허가되지 않는 경우, 해독 알고리즘(79)은 반드시 실패할 것인데, 이는 비밀 번호(78)가 키 복구 기능(77)에 의해 부정확하게 복구되고, 평문 텍스트(72)가 생성되지 않기 때문이다.
도 6에 도시된 데이터 흐름들은 단방향 통신 채널을 확립한다는 것을 알아야 한다. 양방향 통신을 제공하기 위해, 도 6에 도시된 프로세스는 단지 전송자 및 수신자의 역할을 바꿈으로써 상호 인증(개체마다 한 번)을 위해 둘 이상의 개체들 간에 수행될 수 있다. 이러한 상호 인증은 의미있는 데이터를 전송하기 전에 수행될 수 있다. 또한, 통신이 광범위할 경우, 대칭 암호화 알고리즘(73)이 계산 효율에 바람직하다. 이러한 알고리즘들은 디피-헬만(Diffie-Hellman) 프로토콜 또는 커베로스(Kerberos) 프로토콜과 같은 이 분야에 공지된 키 합의 프로토콜(key agreement protocol)을 사용하여 수행될 수 있는 공유된 비밀의 확립을 필요로 한다.
본 발명의 다른 실시예는 두 당사자 사이에 보안 데이터 통신 채널을 확립하는 데 사용될 수 있다. 제1 프로비저닝 단계는 본질적으로 도 3 및 5와 관련하여 전술한 것과 동일하지만, 공개 저장소에 바이오메트릭 공개 키 및 비밀 번호의 해시를 저장하는 대신, 이 정보가 개체의 신분이 의심스럽지 않은 방식으로 개체(31)에 의해 다른 사람에게 (예를 들어, 정보를 포함하는 암호 토큰을 다른 사람에게 물리적으로 전달하는 개체(31)에 의해) 주어진다는 점이 다르다. 제2 통신 단계에서, 전송자는 개체(31)임을 주장하는 주체(41)에게 바이오메트릭 공개 키만을 전송한다. 주체(31)는 자신의 눈 사진 및 바이오메트릭 공개 키를 사용하여, 전술한 프로세스들을 이용하여 비밀 번호의 해시를 재구성한다. 이들 프로세스가 성공적이면, 비밀 번호의 해시 함수는 예를 들어 "세션 키(session key)"(이 분야에서 알려진 문구임)로서 사용될 수 있는 공유 비밀이 된다. 그러나, 인증 프로세스들은 주체(41)가 개체(31)의 바이오메트릭들을 소유하는 경우에만 성공적일 수 있다. 이러한 방식으로, 이 실시예는 통신을 위한 보안 세션의 생성을 가능하게 한다.
도 8은 메시지에 대한 디지털 서명을 계산하고 검증하기 위해 본 발명의 일 실시예에서 사용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다. 도 7에 도시된 해독 프로세스들과 같이, 메시지에 서명하는 것은 주체(41)가 신분 정보(42) 및 바이오메트릭 정보(43)를 디바이스, 이 경우에는 트랜스듀서(81) 및 개체의 비밀 번호(83)를 복구하는 키 복구 기능(82)을 제공하는 컴퓨팅 설비를 포함하는 서명 시스템(80)에 제공함으로써 시작된다. 이러한 서명 시스템(80)은 도 2에 도시되고 위에서 설명된 디바이스일 수 있다.
그러나, 이 사용 예에 따르면, 주체(41)는 서명될 메시지(84)를 서명 시스템(80)에 제공한다. 서명 시스템(80)의 컴퓨팅 설비는 키 복구 기능(82)에 의해 복구된 비밀 키(83)를 사용하여 개체로부터 온 것으로 주장되는 서명된 메시지(86)를 생성하기 위해 메시지에 대해 서명 알고리즘(85)을 수행한다. 그러한 서명 알고리즘들은 이 분야에 공지되어 있다. 예를 들어, 메시지는 비밀 키(83)를 키로 사용하여 이 분야에 공지된 키-해시 메시지 인증 코드(HMAC)를 적용함으로써 서명될 수 있다.
검증 시스템(87)은 이 분야에 공지된 방법을 사용하여 서명된 메시지(86)를 검증하는 데 사용될 수 있다. 따라서, 검증 시스템(87)은 서명된 메시지(86)를 수신할 때, 도 7과 관련하여 전술한 방법들을 사용하여 바이오메트릭 인증 기관(38)으로부터 개체의 공개 키를 포함하는 레코드를 획득한다. 이어서, 검증 시스템은 서명된 메시지(86) 및 검색된 공개 키를 사용하여 검증 알고리즘(88)을 실행한다. 이러한 검증 알고리즘들은 전체 메시지 서명 프로토콜의 일부를 형성하며, 또한 이 분야에 잘 알려져 있다. 검증이 성공적이면, 검증 시스템(87)은 "수락" 지시를 생성하는 반면, 검증이 성공적이지 않은 경우, 검증 시스템(87)은 "거절" 지시를 생성한다.
본 발명의 일 실시예에서, 검증 시스템(87)은 또한 표준 PKI 프로세스를 사용하여 바이오메트릭 인증 기관(38)에 의해 서명된 공개 키를 저장한다. 다른 실시예에서, 서명된 메시지(86)는 타임 스탬프를 포함하고, 검증 시스템(87)은 유효한 타임 스탬프를 갖는 서명만을 수락한다. 이러한 방식으로, 서명된 메시지(86)는 고정된 지속기간 후에 만료될 수 있다.
도 9는 종래 기술의 보안 프로세서를 부팅할 때 사용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다. 보안 프로세서(91)는 통신하는 코프로세서(92) 및 애플리케이션 프로세서(93)를 포함한다. 승인된 애플리케이션만이 애플리케이션 프로세서(93)에서 실행되는 것을 보장하기 위해, 시스템을 부팅하는 데 사용되는 소프트웨어가 암호화된다. 그의 암호화로 인하여, 부트 소프트웨어(boot software)는 코프로세서(92)의 보안 경계 외부에 암호화된 펌웨어(98)로서 저장될 수 있다. 이것은 암호화된 펌웨어(98)가 코프로세서(92)의 내부를 변조하지 않고 업데이트될 수 있게 한다.
부트 프로세스는 다음과 같이 동작한다. 보안 프로세서(91)가 턴온되면, 코프로세서(92)는 보호된 판독 전용 메모리(ROM)(94)로부터 해독 알고리즘(96) 및 입증 알고리즘(97)으로 비밀 키(95)를 로딩한다. 이어서, 암호화된 펌웨어(98)를 로딩하고, 해독 알고리즘(96)을 사용하여 펌웨어를 해독하고, 해독된 펌웨어를 애플리케이션 프로세서(93)에 의해 실행되도록 전송한다. 일 실시예에서, 입증 알고리즘(97)은 옵션으로서 애플리케이션 프로세서(93)에 의해 로딩된 펌웨어 이미지가 올바르다는 것을 외부 당사자에게 입증하는 데 사용된다. 입증 알고리즘(97)은 해당 기능이 애플리케이션 프로세서(93)에 의해 요구되지 않으면 포함되지 않을 수 있다.
부트 프로세스의 보안은 비밀 키(95)의 보안을 유지하는 것에 직접 의존한다. 소정의 고도 보안 응용들에서, 예를 들어 군사 용도에서, 캡처된 보안 프로세서가 분해되고, 임의의 비밀 키(95)가 손상되는 것이 완전히 상상가능하고, 심지어는 그럴 것 같다. 따라서, 이러한 상황에서 코프로세서(92)의 보안은 궁극적으로 그의 하드웨어의 보안에 달려 있는데; 즉, 하드웨어 신뢰점(hardware root of trust)을 갖는다. 이러한 이유로, 코프로세서(92)는 종종 물리적 및 전기적 변조에 대해 종종 강화되어 비용을 상당히 증가시킨다. 특히, 코프로세서(92)는 비밀 키(95)를 포함하는 ROM(94)에 대한 액세스를 방지해야 하고, ROM(94)과 코프로세서(92)의 보안 경계 내의 다양한 기능 모듈 사이에서 이동할 때 키 자체에 대한 액세스를 방지해야 한다.
도 10은 개선된 바이오메트릭 보안 프로세서에 사용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다. 유리하게, 도 10의 실시예는 하드웨어 신뢰점에 대한 필요성을 제거하면서도 개선된 보안을 제공하는 시스템을 가능하게 한다. 하드웨어 신뢰점을 제거하는 것은 비용을 상당히 줄인다. 하드웨어 신뢰점들은 여러 가지 형태를 취하며, 많은 시스템에서 발견될 수 있고, 이들 중 일부는 신뢰 플랫폼 모듈, 스마트 카드, 칩, ARM TrustZone, Intel SGX, 호텔 키, 자기 암호화 드라이브, 키 포브, USB 토큰, Aladdin eToken 및 전자 패스포트를 포함한다.
바이오메트릭 보안 프로세서(1001)의 부트 프로세스는 다음과 같이 동작한다. 주체(1002)는 자신의 바이오메트릭 정보(1003)를 바이오메트릭 보안 프로세서(1001), 특히 코프로세서(1004)에 제공한다. 이 바이오메트릭 정보(1003)는 코프로세서(1004)의 트랜스듀서(1005)에 의해 도 4 및 6과 관련하여 전술한 것과 동일한 방식으로 캡처된다. 트랜스듀서(1005)는 바이오메트릭 정보(1003)를 처리하고, 이들 데이터를 키 복구 프로세스(1006)로 보낸다. 키 복구 프로세스(1006)는 ROM(1007)으로부터 바이오메트릭 공개 키를 수신하고 전술한 바와 같이 비밀 키(1008)를 복구한다. 도 10의 실시예에서, ROM(1007)이 단일 바이오메트릭 공개 키만을 포함하기 때문에, 주체(1002)는 임의의 신분 정보를 제공할 필요가 없다. 그러나, 대안 실시예에서, ROM(1007)은 하나보다 많은 주체(1002)가 바이오메트릭 보안 프로세서(1001)를 사용할 수 있도록 하나보다 많은 바이오메트릭 공개 키를 포함할 수 있다.
키 복구 기능(1006)이 완료되면, 비밀 키(1008)는 도 9의 종래 기술의 프로세서에서의 대응물들과 동일한 기능을 수행하는 해독 알고리즘(1009) 및 입증 알고리즘(1010)으로 전송된다. 해독 알고리즘(1009)는 암호화된 펌웨어(1011)를 수신하여, 이를 해독하고, 암호화되지 않은 펌웨어를 애플리케이션 프로세서(1012)에 의해 실행되도록 전송한다. 애플리케이션 프로세서(1012)는 옵션으로서 인증 알고리즘(1010)을 사용하여 나중에 펌웨어의 무결성을 증명할 수 있다.
도 10의 실시예는 특히 시동 절차(start-up procedures)를 필요로 하는 군사 용도 및 SCADA(supervisory control and data acquisition) 제어 시스템들에서 광범위한 응용들을 갖는다. 예를 들어, 탱크 컴퓨팅 설비들은 값비싼 능동적인 변조 방지 시스템과 하드웨어 신뢰점을 필요로 한다. 따라서, 가능한 하나의 응용은 허가된 개체가 바이오메트릭을 제시하지 않는 한 탱크가 시동되는 것을 방지하는 것이다. 허가된 군인은 도 3 및 5에 도시된 바와 같이 바이오메트릭 공개 키를 생성하기 위해 등록 프로세스를 완료할 수 있다. 이어서, 바이오메트릭 공개 키는 탱크 내의 컴퓨팅 설비에, 특히 바이오메트릭 보안 프로세서(1001)의 ROM(1007)으로 설치될 수 있다. 탱크는 소프트웨어가 시동될 것을 요구하며, 이는 암호화된 펌웨어(1011)로서 저장될 수 있다. 따라서, 도 4 및 6에 도시된 바와 같이 자칭 운전자가 인증 프로세스를 사용하여 인증되지 않으면 탱크는 턴온되지 않는다. 바이오메트릭 인증 프로세스를 위해 탱크에 보안 저장소가 필요하지 않으므로, 탱크를 제조하는 비용이 절감된다.
도 11은 종래 기술의 보안 암호 플랫폼(1100)에서 사용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다. 주체(1101)는 코프로세서(1103) 내의 트랜스듀서(1105)에 자신의 바이오메트릭 정보(1102)를 제시한다. 트랜스듀서(1105)는 바이오메트릭 정보(1102)를 처리하고, 이들 데이터를 인증 알고리즘(1106)에 보낸다. 인증 알고리즘(1106)은 허가된 개체의 바이오메트릭 데이터의 사본을 ROM(1107)으로부터 얻는다. 바이오메트릭 정보(1102)가 ROM(1107)으로부터 얻은 개체의 바이오메트릭 데이터와 (수락 가능 레벨로) 매칭되면, 인증 알고리즘(1106)는 ROM(1107)에 저장된 비밀 키를 획득한다. 이어서, 다른 알고리즘들(예를 들어, 서명 알고리즘(1109), 해독 알고리즘(1110) 및 다른 암호 알고리즘들(1111))은 비밀 키(1108)에 액세스할 수 있다. 애플리케이션 프로세서(1104)는 암호 알고리즘들(1109, 1110, 1111)을 호출하기 위해 코프로세서(1103)와 통신할 수 있다. 도 11의 구성에서는 바이오메트릭 템플릿 정보와 비밀 키 양자를 안전하게 비밀리에 저장할 수 있도록 ROM(1107)을 보호할 필요가 있다는 점에 유의한다.
도 12는 개선된 바이오메트릭 보안 암호 플랫폼에 사용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다. 주체(1201)는 자신의 바이오메트릭 정보(1202)를 코프로세서(1204) 내부의 트랜스듀서(1205)에 제시한다. 트랜스듀서(1205)는 바이오메트릭 정보(1202)를 처리하고, 이들 데이터를 키 복구 프로세스(1206)로 보낸다. 키 복구 프로세스(1206)는 공개 키 ROM(1207)으로부터 바이오메트릭 공개 키를 획득하고, 전술한 바와 같이 비밀 키(1208)를 복구한다. 이어서, 해독 알고리즘(1209), 서명 알고리즘(1210) 및 다른 암호 알고리즘들(1211)과 같은 암호 알고리즘들은 비밀 키(1208)를 사용할 수 있다. 그 다음, 애플리케이션 프로세서(1204)는 암호 알고리즘들(1209, 1210, 1211)을 호출하기 위해 코프로세서(1203)와 통신할 수 있다.
주체(1201)가 키 복구 프로세스(1206) 동안 인증되지 않으면, 비밀 키(1208)는 생성되지 않으므로, 암호 알고리즘들(1209, 1210, 1211) 중 어느 것도 애플리케이션 프로세서(1212)에 의해 이용 가능하지 않다는 점에 유의한다. 또한, 도 11의 종래 기술 플랫폼과 달리, 바이오메트릭 보안 암호 플랫폼(1200)은 임의의 보안 ROM의 사용을 요구하지 않는다는 점에 유의한다. 대조적으로, 공개 키 ROM(1207)은 보안 기능의 손실없이 누군가에 의해 액세스될 수 있다.
본 발명의 실시예들은 종래 기술에 비해 여러 장점을 실현한다. 종종 온도 변화, 사람이 매번 똑같은 방법으로 손가락이나 눈을 스캔하지 않는 것 및 다른 그러한 에러들로 인해 잡음이 발생한다. 실험 데이터는 본 명세서에 설명된 방법들이 바이오메트릭 마스크 분야에서 임의의 다른 공지된 방법보다 (소정 응용들에서 3배 이상) 더 높은 에러 정정 레이트를 유발함을 시사한다. 본질적으로, 이는 본 발명이 많은 잡음을 갖는 바이오메트릭 스캔용으로 가능하고, 여전히 암호적으로 안전하며, 종래 기술에 비해 중요한 차별화 요소라는 것을 의미한다.
바이오메트릭들에 대해 종종 인용되는 한 가지 단점은 개체의 홍채 스캔 또는 지문이 손상되면, 패스워드가 리셋될 수 있는 것처럼 "리셋"될 수 없다는 것이다. 그러나 여기에 설명된 프로세스를 통해, 여러 키가 동일한 바이오메트릭에서 도출될 수 있으므로, F(S)가 손상되면 동일한 사람의 바이오메트릭에 대해 새로운 F'(S)를 계산할 수 있다. 본 발명의 실시예들은 이 단점을 극복할 수 있다는 점에서 독보적이다. 또한, F(S)는 임의의 다른 암호 프로토콜에 통합할 수 있는 안정적인 키이다. 따라서, 본 발명의 실시예들은 다른 패스워드 및 토큰과 함께 F(S)를 사용함으로써 다중 인자 인증(multi-factor authentication)으로 일상적으로 확장된다.
기존의 PKI에 대한 하나의 주된 과제는 공개 키를 암호적으로 어떻게 사용자와 관련시킬까 하는 것이다. 본 명세서에 개시된 방법들은 그 문제를 해결한다. 예를 들어, 미군은 포렌식스(forensics) 및 법적 기소에 영향을 주는 특정인의 행동으로 돌릴 수 없기 때문에 현재 시스템에 취약점이 있다고 언급했다. 특정 사용자가 악의적인 행동을 수행했는지 또는 누군가가 자신의 토큰, 패스워드 또는 인증서를 훔쳐 사용자로 위장하는지는 알 수 없다. 여기에 개시된 기술로, 사용자가 물리적으로 존재하고 그 시간에 사용자의 바이오메트릭을 스캐닝함으로써 동작을 수행하는 것을 보장할 수 있다. 사용자는 자신의 바이오메트릭을 (예를 들어, 눈을 찢지 않고) 다른 사람에게 줄 수 없으며 다른 사람의 바이오메트릭을 훔칠 수는 없다. 따라서, 본 발명의 실시예는 침입이 발생한 후에 취한 데이터 포렌식스 및 조치와 관련된 비용을 줄일 수 있다.
본 명세서에 개시된 개념들의 유리한 응용의 최종 예로서, 바이오메트릭은 개체들의 그룹의 유기적 특성의 측정일 수 있다는 점에 유의한다. 따라서, 본 발명의 다른 실시예에서, 공개 키를 생성하기 위해 사용되는 바이오메트릭은 사람들의 그룹의 측정으로 구성될 수 있으므로, 모든 사람들이 자신의 유기적 특성의 측정을 위해 존재할 때만 성공적인 인증이 발생할 수 있다. 이 실시예는 모든 당사자가 동시에 하나 이상의 위치에 있음을 증명해야 하는 경우에 유용하다. 따라서, 이 실시예는 (이 분야에 공지된 바와 같이, 재구성될 비밀 곡선 상의 점들과 같은) 다른 데이터가 아니라 또는 그에 더하여 바이오메트릭 데이터를 사용하는 새로운 임계 암호 시스템으로 간주될 수 있다.
전술한 본 발명의 실시예들은 단지 예시적인 것으로 의도되며; 많은 변형 및 수정이 이 분야의 기술자들에게 명백할 것이다. 이러한 모든 변형 및 수정은 임의의 첨부된 청구항들에 정의된 본 발명의 범위 내에 있는 것으로 의도된다.
본 발명의 다양한 실시예들은 임의의 전통적인 컴퓨터 프로그래밍 언어로 적어도 부분적으로 구현될 수 있다. 예를 들어, 일부 실시예들은 절차적 프로그래밍 언어(예를 들어, "C"), 또는 객체 지향 프로그래밍 언어(예를 들어, "Java")로 구현될 수 있다. 본 발명의 다른 실시예들은 미리 구성된 독립형 하드웨어 요소 및/또는 미리 프로그래밍된 하드웨어 요소들(예를 들어, 주문형 집적 회로, FPGA 및 디지털 신호 프로세서) 또는 다른 관련 컴포넌트들로서 구현될 수 있다.
대안 실시예에서, 개시된 장치들 및 방법들(예를 들어, 전술한 다양한 흐름도 참조)은 컴퓨터 시스템과 함께 사용하기 위한 컴퓨터 프로그램 제품으로서 구현될 수 있다. 이러한 구현은 컴퓨터 판독 가능 매체(예를 들어, 디스켓, CD-ROM, ROM 또는 고정 디스크)와 같은 매체 상에 비일시적 방식으로 고정된 일련의 컴퓨터 명령어들을 포함할 수 있다. 일련의 컴퓨터 명령어들은 시스템과 관련하여 이전에 본 명세서에서 설명된 기능의 전부 또는 일부를 구현할 수 있다.
이 분야의 기술자들은 그러한 컴퓨터 명령어들이 많은 컴퓨터 아키텍처 또는 운영 체제와 함께 사용하기 위해 다수의 프로그래밍 언어로 작성될 수 있음을 알아야 한다. 또한, 이러한 명령어들은 반도체, 자기, 광학 또는 다른 메모리 디바이스와 같은 임의의 메모리 디바이스에 저장될 수 있으며, 광학, 적외선, 마이크로파 또는 다른 전송 기술과 같은 임의의 통신 기술을 사용하여 전송될 수 있다.
많은 방식 중에서, 그러한 컴퓨터 프로그램 제품은 인쇄된 또는 전자 문서(예로서, 축소 포장된 소프트웨어)를 동반하는 이동식 매체로서 배포되거나, 컴퓨터 시스템에 (예를 들어, 시스템 ROM 또는 고정 디스크 상에) 미리 로딩되거나, 네트워크(예를 들어, 인터넷 또는 월드 와이드 웹)를 통해 서버 또는 전자 게시판으로부터 배포될 수 있다. 사실, 일부 실시예들은 "SaaS"(software-as-a-service model) 또는 클라우드 컴퓨팅 모델로 구현될 수 있다. 물론, 본 발명의 일부 실시예들은 소프트웨어(예를 들어, 컴퓨터 프로그램 제품) 및 하드웨어 양자의 조합으로서 구현될 수 있다. 본 발명의 또 다른 실시예들은 완전히 하드웨어로 또는 완전히 소프트웨어로 구현될 수 있다.

Claims (55)

  1. 바이오메트릭 데이터를 사용하여, 상기 바이오메트릭 데이터의 비일시적인 저장에 대한 필요없이, 자신의 바이오메트릭 데이터가 제1 트랜스듀서를 사용하여 미리 획득된 개체로서 주체를 인증하기 위한 디바이스로서,
    제2 트랜스듀서; 및
    상기 제2 트랜스듀서에 결합된 컴퓨팅 설비를 포함하고, 상기 컴퓨팅 설비는 컴퓨팅 프로세서 및 상기 컴퓨팅 프로세서에 의해 실행될 때 프로세스들을 확립하는 명령어들로 인코딩된 비일시적 컴퓨터 판독 가능 저장 매체를 포함하고, 상기 프로세스들은:
    상기 컴퓨팅 설비에 의해 상기 제2 트랜스듀서로부터 상기 주체의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신하는 프로세스;
    상기 컴퓨팅 설비에 의해 상기 디지털 전자 신호로부터 (a) 상기 주체의 바이오메트릭 값들의 세트를, 그리고 (b) 상기 주체의 바이오메트릭 값들의 상기 세트의 각각의 멤버에 대해, 대응하는 바이오메트릭 값이 특성화들 간에 안정적이라는 신뢰의 정도를 나타내는 신뢰 값을 추출하는 프로세스;
    상기 컴퓨팅 설비에 의해 상기 신뢰 값들을 사용하여 상기 디지털 전자 신호로부터 추출된 세트 내의 바이오메트릭 값들의 일부를 선택하는 프로세스로서, 상기 선택된 바이오메트릭 값들은 상기 주체의 바이오메트릭 값들의 상기 세트의 신뢰 서브세트이며, 상기 신뢰 서브세트는 상기 바이오메트릭에 기초하는 상기 주체의 신분의 신뢰성 있는 판별자로서, 신뢰할 수 없는 것으로 간주되는 바이오메트릭 값들을 제외하는, 프로세스;
    상기 컴퓨팅 설비에 의해 저장 설비로부터 상기 제1 트랜스듀서를 사용하여 미리 획득된 상기 개체의 상기 바이오메트릭 데이터 및 비밀 번호에 기초하여 계산된 바이오메트릭 공개 키를 수신하는 프로세스로서, 상기 바이오메트릭 공개 키는 상기 개체의 상기 바이오메트릭 데이터 또는 상기 비밀 번호의 비일시적인 저장에 대한 필요없이 상기 개체의 상기 바이오메트릭 데이터 및 상기 비밀 번호 양자를 검증 가능하게 특성화하는, 프로세스;
    상기 컴퓨팅 설비에 의해 상기 바이오메트릭 공개 키 및 상기 신뢰 서브세트를 사용하여 상기 비밀 번호에 대한 후보 값을 계산하는 프로세스;
    상기 비밀 번호에 대한 상기 후보 값이 상기 바이오메트릭 공개 키에 의해 특성화된 상기 비밀 번호와 동등한 것으로 간주되는지 여부를 결정함으로써 인증 처리를 수행하는 프로세스; 및
    상기 컴퓨팅 설비에 의해 상기 비밀 번호에 대한 상기 후보 값이 상기 바이오메트릭 공개 키에 의해 특성화된 상기 비밀 번호와 동등한 것으로 간주될 때 상기 주체가 상기 개체로서 인증된다는 지시를 전송하는 프로세스를 포함하는, 디바이스.
  2. 제1항에 있어서,
    상기 저장 설비는 상기 바이오메트릭 공개 키를 저장하기 위한 공개 데이터 소스이며, 상기 디바이스는 상기 디바이스에 대해 상기 공개 데이터 소스를 인증하기 위한 하드웨어 보안 모듈을 더 포함하는, 디바이스.
  3. 제1항에 있어서,
    비일시적인 데이터 저장소를 더 포함하며, 상기 저장 설비는 상기 비일시적인 데이터 저장소인, 디바이스.
  4. 제1항에 있어서,
    상기 저장 설비는 상기 주체에 의해 제공되는 암호 토큰인, 디바이스.
  5. 제1항에 있어서,
    상기 제2 트랜스듀서의 무결성을 보장하기 위한 하드웨어 보안 모듈을 더 포함하는, 디바이스.
  6. 제1항에 있어서,
    수학 코프로세서를 더 포함하는, 디바이스.
  7. 제1항에 있어서,
    상기 확립된 프로세스들은 상기 컴퓨팅 설비에 의해 상기 저장 설비로부터 상기 비밀 번호의 단방향 함수를 수신하는 프로세스를 더 포함하고, 상기 컴퓨팅 설비에 의해 전송하는 프로세스는 상기 단방향 함수를 상기 비밀 번호에 대한 상기 후보 값에 적용하며, 그 결과를 상기 비밀 번호의 상기 수신된 단방향 함수와 비교하는 프로세스를 포함하는, 디바이스.
  8. 제7항에 있어서,
    상기 단방향 함수는 암호 해시 함수인, 디바이스.
  9. 제1항에 있어서,
    상기 바이오메트릭 공개 키는
    (a) 상기 개체의 바이오메트릭 값들의 벡터와
    (b) 이진 행렬과 비트들의 벡터로서의 상기 비밀 번호의 표현의 행렬 곱의 비트간 배타적 논리합을 포함하는 데이터를 포함하는, 디바이스.
  10. 제9항에 있어서,
    상기 이진 행렬은 정사각 행렬이 아니며, 상기 컴퓨팅 설비에 의해 전송하는 프로세스는
    (a) 상기 컴퓨팅 설비에 의해 상기 바이오메트릭 공개 키, 상기 이진 행렬 및 추정 비밀 번호를 사용하여 상기 개체의 후보 바이오메트릭 값들의 세트를 계산하는 프로세스, 및
    (b) 상기 개체의 후보 바이오메트릭 값들의 상기 세트와 상기 주체의 추출된 바이오메트릭 값들의 상기 세트 사이의 해밍 거리가 주어진 임계 거리보다 작은 것으로 결정하는 프로세스를 포함하는, 디바이스.
  11. 제9항에 있어서,
    상기 이진 행렬은 상기 개체와 고유하게 관련되거나, 상기 디바이스와 고유하게 관련되거나, 설계 파라미터로서 영구적으로 고정되며, 동일한 이진 행렬이 다수의 개체를 인증하는 데 사용될 수 있는, 디바이스.
  12. 제1항에 있어서,
    상기 바이오메트릭 공개 키를 계산하는 데 사용되는 추가적인 보증 데이터를 입력하기 위한 제3 트랜스듀서를 더 포함하는, 디바이스.
  13. 바이오메트릭 데이터를 사용하여, 상기 바이오메트릭 데이터의 비일시적인 저장에 대한 필요없이, 자신의 바이오메트릭 데이터가 제1 트랜스듀서를 사용하여 미리 획득된 개체로서 주체를 인증하는 컴퓨터 구현 방법으로서,
    컴퓨팅 설비에 의해 상기 컴퓨팅 설비에 결합된 제2 트랜스듀서로부터 상기 주체의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신하는 단계;
    상기 컴퓨팅 설비에 의해 상기 디지털 전자 신호로부터 (a) 상기 주체의 바이오메트릭 값들의 세트를, 그리고 (b) 상기 주체의 바이오메트릭 값들의 상기 세트의 각각의 멤버에 대해, 대응하는 바이오메트릭 값이 특성화들 간에 안정적이라는 신뢰의 정도를 나타내는 신뢰 값을 추출하는 단계;
    상기 컴퓨팅 설비에 의해 상기 신뢰 값들을 사용하여 상기 디지털 전자 신호로부터 추출된 세트 내의 바이오메트릭 값들의 일부를 선택하는 단계로서, 상기 선택된 바이오메트릭 값들은 상기 주체의 바이오메트릭 값들의 상기 세트의 신뢰 서브세트이며, 상기 신뢰 서브세트는 상기 바이오메트릭에 기초하는 상기 주체의 신분의 신뢰성 있는 판별자로서, 신뢰할 수 없는 것으로 간주되는 바이오메트릭 값들을 제외하는, 단계;
    상기 컴퓨팅 설비에 의해 저장 설비로부터 상기 제1 트랜스듀서를 사용하여 미리 획득된 상기 개체의 상기 바이오메트릭 데이터 및 비밀 번호에 기초하여 계산된 바이오메트릭 공개 키를 수신하는 단계로서, 상기 바이오메트릭 공개 키는 상기 개체의 상기 바이오메트릭 데이터 또는 상기 비밀 번호의 비일시적인 저장에 대한 필요없이 상기 개체의 상기 바이오메트릭 데이터 및 상기 비밀 번호 양자를 검증 가능하게 특성화하는, 단계;
    상기 컴퓨팅 설비에 의해 상기 바이오메트릭 공개 키 및 상기 신뢰 서브세트를 사용하여 상기 비밀 번호에 대한 후보 값을 계산하는 단계; 및
    상기 비밀 번호에 대한 상기 후보 값이 상기 비밀 번호와 동등한 것으로 간주될 때 상기 주체를 상기 개체로서 인증하는 단계를 포함하는, 방법.
  14. 제13항에 있어서,
    상기 컴퓨팅 설비에 의해 상기 저장 설비로부터 상기 비밀 번호의 단방향 함수를 수신하는 단계를 더 포함하며, 상기 주체를 상기 개체로서 인증하는 단계는 상기 단방향 함수를 상기 비밀 번호에 대한 상기 후보 값에 적용하고 그 결과를 상기 비밀 번호의 상기 수신된 단방향 함수와 비교하는 단계를 포함하는, 방법.
  15. 제14항에 있어서,
    상기 단방향 함수는 암호 해시 함수인, 방법.
  16. 제13항에 있어서,
    상기 바이오메트릭 공개 키는
    (a) 상기 개체의 바이오메트릭 값들의 벡터와
    (b) 이진 행렬과 비트들의 벡터로서의 상기 비밀 번호의 표현의 행렬 곱의 비트간 배타적 논리합을 포함하는 데이터를 포함하는, 방법.
  17. 제16항에 있어서,
    상기 이진 행렬은 정사각 행렬이 아니고, 상기 주체를 상기 개체로서 인증하는 단계는
    (a) 상기 컴퓨팅 설비에 의해 상기 바이오메트릭 공개 키, 상기 이진 행렬 및 추정 비밀 번호를 사용하여 상기 개체의 후보 바이오메트릭 값들의 세트를 계산하는 단계, 및
    (b) 상기 개체의 후보 바이오메트릭 값들의 상기 세트와 상기 주체의 추출된 바이오메트릭 값들의 상기 세트 사이의 해밍 거리가 주어진 임계 거리보다 작은 것으로 결정하는 단계를 포함하는, 방법.
  18. 제16항에 있어서,
    상기 이진 행렬은 상기 개체와 고유하게 관련되거나, 상기 컴퓨팅 설비와 고유하게 관련되거나, 설계 파라미터로서 영구적으로 고정되며, 동일한 이진 행렬이 다수의 개체를 인증하는 데 사용될 수 있는, 방법.
  19. 제13항에 있어서,
    상기 컴퓨팅 설비에 의해 상이한 측정 가능한 특성에 속하는 바이오메트릭 데이터를 사용하여 제2 주체를 자신의 바이오메트릭 데이터가 이미 획득된 제2 개체로서 인증하는 단계를 더 포함하는, 방법.
  20. 제13항에 있어서,
    상기 컴퓨팅 설비에 의해 상기 비밀 번호에 대한 상기 후보 값을 사용하여 상기 컴퓨팅 설비가 배치된 컴퓨팅 디바이스에 의해 수신된 암호화된 암호 텍스트를 해독하는 단계를 더 포함하는, 방법.
  21. 제13항에 있어서,
    상기 컴퓨팅 설비에 의해 상기 비밀 번호에 대한 상기 후보 값을 사용하여 메시지에 디지털 서명하는 단계를 더 포함하는, 방법.
  22. 제13항에 있어서,
    상기 컴퓨팅 설비에 의해 상기 컴퓨팅 설비가 배치된 컴퓨팅 디바이스를 부팅하기 위한 암호화된 펌웨어를 상기 컴퓨팅 디바이스의 메모리로부터 수신하는 단계;
    상기 컴퓨팅 설비에 의해 상기 비밀 번호에 대한 상기 후보 값을 사용하여 상기 암호화된 펌웨어를 해독하여 해독된 펌웨어를 생성하는 단계; 및
    상기 컴퓨팅 설비에 의해 상기 컴퓨팅 디바이스의 컴퓨팅 프로세서에 상기 해독된 펌웨어를 제공하는 단계를 더 포함하는, 방법.
  23. 제13항에 있어서,
    상기 컴퓨팅 설비에 의해, 상기 컴퓨팅 설비가 배치된 컴퓨팅 디바이스의 컴퓨팅 프로세서 상에서 실행되는 애플리케이션으로부터의 요청 메시지에 응답하여, 상기 비밀 번호에 대해 작용하는 암호 알고리즘을 실행하는 단계를 더 포함하는, 방법.
  24. 컴퓨팅 설비에 의해 실행될 때, 바이오메트릭 데이터를 사용하여, 상기 바이오메트릭 데이터의 비일시적인 저장에 대한 필요없이, 자신의 바이오메트릭 데이터가 제1 트랜스듀서를 사용하여 미리 획득된 개체로서 주체를 인증하기 위한 프로세스들을 확립하는 명령어들로 인코딩된 비일시적 컴퓨터 판독 가능 저장 매체로서,
    상기 프로세스들은:
    상기 컴퓨팅 설비에 의해 상기 컴퓨팅 설비에 결합된 제2 트랜스듀서로부터 상기 주체의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신하는 프로세스;
    상기 컴퓨팅 설비에 의해 상기 디지털 전자 신호로부터 (a) 상기 주체의 바이오메트릭 값들의 세트를, 그리고 (b) 상기 주체의 바이오메트릭 값들의 상기 세트의 각각의 멤버에 대해, 대응하는 바이오메트릭 값이 특성화들 간에 안정적이라는 신뢰의 정도를 나타내는 신뢰 값을 추출하는 프로세스;
    상기 컴퓨팅 설비에 의해 상기 신뢰 값들을 사용하여 상기 디지털 전자 신호로부터 추출된 세트 내의 바이오메트릭 값들의 일부를 선택하는 프로세스로서, 상기 선택된 바이오메트릭 값들은 상기 주체의 바이오메트릭 값들의 상기 세트의 신뢰 서브세트이며, 상기 신뢰 서브세트는 상기 바이오메트릭에 기초하는 상기 주체의 신분의 신뢰성 있는 판별자로서, 신뢰할 수 없는 것으로 간주되는 바이오메트릭 값들을 제외하는, 프로세스;
    상기 컴퓨팅 설비에 의해 저장 설비로부터 상기 제1 트랜스듀서를 사용하여 미리 획득된 상기 개체의 상기 바이오메트릭 데이터 및 비밀 번호에 기초하여 계산된 바이오메트릭 공개 키를 수신하는 프로세스로서, 상기 바이오메트릭 공개 키는 상기 개체의 상기 바이오메트릭 데이터 또는 상기 비밀 번호의 비일시적인 저장에 대한 필요없이 상기 개체의 상기 바이오메트릭 데이터 및 상기 비밀 번호 양자를 검증 가능하게 특성화하는, 프로세스;
    상기 컴퓨팅 설비에 의해 상기 바이오메트릭 공개 키 및 상기 신뢰 서브세트를 사용하여 상기 비밀 번호에 대한 후보 값을 계산하는 프로세스; 및
    상기 비밀 번호에 대한 상기 후보 값이 상기 비밀 번호와 동등한 것으로 간주될 때 상기 주체를 상기 개체로서 인증하는 프로세스를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  25. 제24항에 있어서,
    상기 확립된 프로세스들은 상기 컴퓨팅 설비에 의해 상기 저장 설비로부터 상기 비밀 번호의 단방향 함수를 수신하는 프로세스를 더 포함하며, 상기 주체를 상기 개체로서 인증하는 프로세스는 상기 단방향 함수를 상기 비밀 번호에 대한 상기 후보 값에 적용하고 그 결과를 상기 비밀 번호의 상기 수신된 단방향 함수와 비교하는 프로세스를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  26. 제25항에 있어서,
    상기 단방향 함수는 암호 해시 함수인, 비일시적 컴퓨터 판독 가능 저장 매체.
  27. 제24항에 있어서,
    상기 바이오메트릭 공개 키는
    (a) 상기 개체의 바이오메트릭 값들의 벡터와
    (b) 이진 행렬과 비트들의 벡터로서의 상기 비밀 번호의 표현의 행렬 곱의 비트간 배타적 논리합을 포함하는 데이터를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  28. 제27항에 있어서,
    상기 이진 행렬은 정사각 행렬이 아니며, 상기 주체를 상기 개체로서 인증하는 프로세스는
    (a) 상기 컴퓨팅 설비에 의해 상기 바이오메트릭 공개 키, 상기 이진 행렬 및 추정 비밀 번호를 사용하여 상기 개체의 후보 바이오메트릭 값들의 세트를 계산하는 프로세스, 및
    (b) 상기 개체의 후보 바이오메트릭 값들의 상기 세트와 상기 주체의 추출된 바이오메트릭 값들의 상기 세트 사이의 해밍 거리가 주어진 임계 거리보다 작은 것으로 결정하는 프로세스를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  29. 제27항에 있어서,
    상기 이진 행렬은 상기 개체와 고유하게 관련되거나, 상기 컴퓨팅 설비와 고유하게 관련되거나, 설계 파라미터로서 영구적으로 고정되며, 동일한 이진 행렬이 다수의 개체를 인증하는 데 사용될 수 있는, 비일시적 컴퓨터 판독 가능 저장 매체.
  30. 제24항에 있어서,
    상기 프로세스들은
    상기 컴퓨팅 설비에 의해 상이한 측정 가능한 특성에 속하는 바이오메트릭 데이터를 사용하여 제2 주체를 자신의 바이오메트릭 데이터가 이미 획득된 제2 개체로서 인증하는 프로세스를 더 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  31. 제24항에 있어서,
    상기 프로세스들은
    상기 컴퓨팅 설비에 의해 상기 비밀 번호에 대한 상기 후보 값을 사용하여 상기 컴퓨팅 설비가 배치된 컴퓨팅 디바이스에 의해 미리 수신된 암호화된 암호 텍스트를 해독하는 프로세스를 더 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  32. 제24항에 있어서,
    상기 프로세스들은
    상기 컴퓨팅 설비에 의해 상기 비밀 번호에 대한 상기 후보 값을 사용하여 메시지에 디지털 서명하는 프로세스를 더 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  33. 제24항에 있어서,
    상기 프로세스들은
    상기 컴퓨팅 설비에 의해 상기 컴퓨팅 설비가 수용된 컴퓨팅 디바이스를 부팅하기 위한 암호화된 펌웨어를 상기 컴퓨팅 디바이스의 메모리로부터 수신하는 프로세스;
    상기 컴퓨팅 설비에 의해 상기 비밀 번호에 대한 상기 후보 값을 사용하여 상기 암호화된 펌웨어를 해독하여 해독된 펌웨어를 생성하는 프로세스; 및
    상기 컴퓨팅 설비에 의해 상기 컴퓨팅 디바이스의 컴퓨팅 프로세서에 상기 해독된 펌웨어를 제공하는 프로세스를 더 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  34. 제24항에 있어서,
    상기 프로세스들은
    상기 컴퓨팅 설비에 의해, 상기 컴퓨팅 설비가 배치된 컴퓨팅 디바이스의 컴퓨팅 프로세서 상에서 실행되는 애플리케이션으로부터의 요청 메시지에 응답하여, 상기 비밀 번호에 대해 작용하는 암호 알고리즘을 실행하는 프로세스를 더 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  35. 개체에 대한 바이오메트릭 공개 키를 상기 개체의 바이오메트릭 데이터에 기초하여 상기 바이오메트릭 데이터의 비일시적인 저장에 대한 필요없이 생성하기 위한 디바이스로서,
    트랜스듀서; 및
    상기 트랜스듀서에 결합된 컴퓨팅 설비를 포함하며, 상기 컴퓨팅 설비는 컴퓨팅 프로세서 및 상기 컴퓨팅 프로세서에 의해 실행될 때 프로세스들을 확립하는 명령어들로 인코딩된 비일시적 컴퓨터 판독 가능 저장 매체를 포함하고,
    상기 프로세스들은:
    상기 컴퓨팅 설비에 의해 상기 트랜스듀서로부터 상기 개체의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신하는 프로세스;
    상기 컴퓨팅 설비에 의해 상기 디지털 전자 신호로부터 (a) 상기 개체의 바이오메트릭 값들의 세트를, 그리고 (b) 상기 개체의 바이오메트릭 값들의 상기 세트의 각각의 멤버에 대해, 대응하는 바이오메트릭 값이 특성화들 간에 안정적이라는 신뢰의 정도를 나타내는 신뢰 값을 추출하는 프로세스;
    상기 컴퓨팅 설비에 의해 상기 신뢰 값들을 사용하여 상기 디지털 전자 신호로부터 추출된 세트 내의 바이오메트릭 값들의 전부가 아닌 일부만을 선택하는 프로세스로서, 상기 선택된 바이오메트릭 값들은 상기 개체의 바이오메트릭 값들의 상기 세트의 신뢰 서브세트이며, 상기 신뢰 서브세트는 상기 바이오메트릭에 기초하는 주체의 신분의 판별자로서, 신뢰할 수 없는 것으로 간주되는 바이오메트릭 값들을 제외하는, 프로세스;
    상기 컴퓨팅 설비에 의해 비밀 번호를 생성하는 프로세스;
    상기 컴퓨팅 설비에 의해 상기 비밀 번호 및 상기 신뢰 서브세트에 기초하여 상기 바이오메트릭 공개 키를 계산하는 프로세스로서, 상기 바이오메트릭 공개 키는 상기 개체의 상기 바이오메트릭 데이터 또는 상기 비밀 번호의 비일시적인 저장에 대한 필요없이 상기 개체의 상기 바이오메트릭 데이터 및 상기 비밀 번호 양자를 검증 가능하게 특성화하는, 프로세스; 및
    상기 바이오메트릭 공개 키를 저장 설비에 저장하는 프로세스를 포함하는, 디바이스.
  36. 제35항에 있어서,
    상기 저장 설비는 상기 바이오메트릭 공개 키를 저장하기 위한 공개 데이터 소스이며, 상기 디바이스는 상기 디바이스에 대해 상기 공개 데이터 소스를 인증하기 위한 하드웨어 보안 모듈을 더 포함하는, 디바이스.
  37. 제35항에 있어서,
    비일시적인 데이터 저장소를 더 포함하며, 상기 저장 설비는 상기 비일시적인 데이터 저장소인, 디바이스.
  38. 제35항에 있어서,
    상기 저장 설비는 상기 개체에 의해 제공되는 암호 토큰인, 디바이스.
  39. 제35항에 있어서,
    상기 트랜스듀서의 무결성을 보장하기 위한 하드웨어 보안 모듈을 더 포함하는, 디바이스.
  40. 제35항에 있어서,
    수학 코프로세서를 더 포함하는, 디바이스.
  41. 제35항에 있어서,
    상기 확립된 프로세스들은
    상기 컴퓨팅 설비에 의해 상기 바이오메트릭 공개 키를 상기 비밀 번호의 단방향 함수와 관련시키는 프로세스; 및
    상기 비밀 번호의 상기 단방향 함수를 상기 저장 설비에 저장하는 프로세스를 더 포함하는, 디바이스.
  42. 제41항에 있어서,
    상기 단방향 함수는 암호 해시 함수인, 디바이스.
  43. 제35항에 있어서,
    상기 바이오메트릭 공개 키는
    (a) 상기 개체의 바이오메트릭 값들의 벡터와
    (b) 이진 행렬과 비트들의 벡터로서의 상기 비밀 번호의 표현의 행렬 곱의 비트간 배타적 논리합을 포함하는 데이터를 포함하는, 디바이스.
  44. 제43항에 있어서,
    상기 이진 행렬은 상기 개체와 고유하게 관련되거나, 상기 디바이스와 고유하게 관련되거나, 설계 파라미터로서 영구적으로 고정되며, 동일한 이진 행렬이 다수의 개체를 인증하는 데 사용될 수 있는, 디바이스.
  45. 개체에 대한 바이오메트릭 공개 키를 상기 개체의 바이오메트릭 데이터에 기초하여 상기 바이오메트릭 데이터의 비일시적인 저장에 대한 필요없이 생성하는 컴퓨터 구현 방법으로서,
    컴퓨팅 설비에 의해 트랜스듀서로부터 상기 개체의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신하는 단계;
    상기 컴퓨팅 설비에 의해 상기 디지털 전자 신호로부터 (a) 상기 개체의 바이오메트릭 값들의 세트를, 그리고 (b) 상기 개체의 바이오메트릭 값들의 상기 세트의 각각의 멤버에 대해, 대응하는 바이오메트릭 값이 특성화들 간에 안정적이라는 신뢰의 정도를 나타내는 신뢰 값을 추출하는 단계;
    상기 컴퓨팅 설비에 의해 상기 신뢰 값들을 사용하여 상기 디지털 전자 신호로부터 추출된 세트 내의 바이오메트릭 값들의 전부가 아닌 일부만을 선택하는 단계로서, 상기 선택된 바이오메트릭 값들은 상기 개체의 바이오메트릭 값들의 상기 세트의 신뢰 서브세트이며, 상기 신뢰 서브세트는 상기 바이오메트릭에 기초하는 주체의 신분의 판별자로서, 신뢰할 수 없는 것으로 간주되는 바이오메트릭 값들을 제외하는, 단계;
    상기 컴퓨팅 설비에 의해 비밀 번호를 생성하는 단계;
    상기 컴퓨팅 설비에 의해 상기 비밀 번호 및 상기 신뢰 서브세트에 기초하여 상기 바이오메트릭 공개 키를 계산하는 단계로서, 상기 바이오메트릭 공개 키는 상기 개체의 상기 바이오메트릭 데이터 또는 상기 비밀 번호의 비일시적인 저장에 대한 필요없이 상기 개체의 상기 바이오메트릭 데이터 및 상기 비밀 번호 양자를 검증 가능하게 특성화하는, 단계; 및
    상기 바이오메트릭 공개 키를 저장 설비에 저장하는 단계를 포함하는, 방법.
  46. 제45항에 있어서,
    상기 컴퓨팅 설비에 의해 상기 바이오메트릭 공개 키를 상기 비밀 번호의 단방향 함수와 관련시키는 단계; 및
    상기 비밀 번호의 상기 단방향 함수를 상기 저장 설비에 저장하는 단계를 더 포함하는, 방법.
  47. 제46항에 있어서,
    상기 단방향 함수는 암호 해시 함수인, 방법.
  48. 제45항에 있어서,
    상기 바이오메트릭 공개 키는
    (a) 상기 개체의 바이오메트릭 값들의 벡터와
    (b) 이진 행렬과 비트들의 벡터로서의 상기 비밀 번호의 표현의 행렬 곱의 비트간 배타적 논리합을 포함하는 데이터를 포함하는, 방법.
  49. 제48항에 있어서,
    상기 이진 행렬은 상기 개체와 고유하게 관련되거나, 상기 컴퓨팅 설비와 고유하게 관련되거나, 설계 파라미터로서 영구적으로 고정되며, 동일한 이진 행렬이 다수의 개체를 인증하는 데 사용될 수 있는, 방법.
  50. 제45항의 방법에 따라 생성된 상기 바이오메트릭 공개 키를 저장하는, 비일시적 디지털 저장 매체.
  51. 컴퓨팅 설비에 의해 실행될 때, 개체에 대한 바이오메트릭 공개 키를 상기 개체의 바이오메트릭 데이터에 기초하여 상기 바이오메트릭 데이터의 비일시적인 저장에 대한 필요없이 생성하기 위한 프로세스들을 확립하는 명령어들로 인코딩된 비일시적 컴퓨터 판독 가능 저장 매체로서,
    상기 프로세스들은:
    컴퓨팅 설비에 의해 트랜스듀서로부터 상기 개체의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신하는 프로세스;
    상기 컴퓨팅 설비에 의해 상기 디지털 전자 신호로부터 (a) 상기 개체의 바이오메트릭 값들의 세트를, 그리고 (b) 상기 개체의 바이오메트릭 값들의 상기 세트의 각각의 멤버에 대해, 대응하는 바이오메트릭 값이 특성화들 간에 안정적이라는 신뢰의 정도를 나타내는 신뢰 값을 추출하는 프로세스;
    상기 컴퓨팅 설비에 의해 상기 신뢰 값들을 사용하여 상기 디지털 전자 신호로부터 추출된 세트 내의 바이오메트릭 값들의 전부가 아닌 일부만을 선택하는 프로세스로서, 상기 선택된 바이오메트릭 값들은 상기 개체의 바이오메트릭 값들의 상기 세트의 신뢰 서브세트이며, 상기 신뢰 서브세트는 상기 바이오메트릭에 기초하는 주체의 신분의 판별자로서, 신뢰할 수 없는 것으로 간주되는 바이오메트릭 값들을 제외하는, 프로세스;
    상기 컴퓨팅 설비에 의해 비밀 번호를 생성하는 프로세스;
    상기 컴퓨팅 설비에 의해 상기 비밀 번호 및 상기 신뢰 서브세트에 기초하여 상기 바이오메트릭 공개 키를 계산하는 프로세스로서, 상기 바이오메트릭 공개 키는 상기 개체의 상기 바이오메트릭 데이터 또는 상기 비밀 번호의 비일시적인 저장에 대한 필요없이 상기 개체의 상기 바이오메트릭 데이터 및 상기 비밀 번호 양자를 검증 가능하게 특성화하는, 프로세스; 및
    상기 바이오메트릭 공개 키를 저장 설비에 저장하는 프로세스를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  52. 제51항에 있어서,
    상기 확립된 프로세스들은
    상기 컴퓨팅 설비에 의해 상기 바이오메트릭 공개 키를 상기 비밀 번호의 단방향 함수와 관련시키는 프로세스; 및
    상기 비밀 번호의 상기 단방향 함수를 상기 저장 설비에 저장하는 프로세스를 더 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  53. 제52항에 있어서,
    상기 단방향 함수는 암호 해시 함수인, 비일시적 컴퓨터 판독 가능 저장 매체.
  54. 제51항에 있어서,
    상기 바이오메트릭 공개 키는
    (a) 상기 개체의 바이오메트릭 값들의 벡터와
    (b) 이진 행렬과 비트들의 벡터로서의 상기 비밀 번호의 표현의 행렬 곱의 비트간 배타적 논리합을 포함하는 데이터를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
  55. 제54항에 있어서,
    상기 이진 행렬은 상기 개체와 고유하게 관련되거나, 상기 컴퓨팅 설비와 고유하게 관련되거나, 설계 파라미터로서 영구적으로 고정되며, 동일한 이진 행렬이 다수의 개체를 인증하는 데 사용될 수 있는, 비일시적 컴퓨터 판독 가능 저장 매체.
KR1020187015974A 2015-11-13 2016-11-11 공개/비공개 키 바이오메트릭 인증 시스템 KR102583536B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562255186P 2015-11-13 2015-11-13
US62/255,186 2015-11-13
PCT/US2016/061647 WO2017083732A1 (en) 2015-11-13 2016-11-11 Public/private key biometric authentication system

Publications (2)

Publication Number Publication Date
KR20180081108A KR20180081108A (ko) 2018-07-13
KR102583536B1 true KR102583536B1 (ko) 2023-09-27

Family

ID=58692151

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187015974A KR102583536B1 (ko) 2015-11-13 2016-11-11 공개/비공개 키 바이오메트릭 인증 시스템

Country Status (9)

Country Link
US (3) US10764054B2 (ko)
EP (1) EP3374913A4 (ko)
JP (2) JP7421766B2 (ko)
KR (1) KR102583536B1 (ko)
CN (1) CN108475307A (ko)
AU (1) AU2016353324B2 (ko)
CA (2) CA3004880C (ko)
HK (1) HK1259297A1 (ko)
WO (1) WO2017083732A1 (ko)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10481900B2 (en) * 2016-04-11 2019-11-19 Endress+Hauser Conducta Gmbh+Co. Kg Method for updating a firmware component and device of measurement and control technology
WO2017184132A1 (en) * 2016-04-20 2017-10-26 Entit Software Llc Replacing a subset of digits in a sequence
CN107005577B (zh) * 2017-01-25 2021-06-25 深圳市汇顶科技股份有限公司 指纹数据的处理方法及处理装置
GB2566107B (en) * 2017-09-05 2019-11-27 Istorage Ltd Methods and systems of securely transferring data
CN111095246B (zh) * 2017-09-20 2021-05-07 指纹卡有限公司 用于认证用户的方法和电子设备
US20190097801A1 (en) * 2017-09-27 2019-03-28 Silicon Laboratories Inc. Apparatus for Protection of Electronic Circuitry and Associated Methods
US10509922B2 (en) * 2017-09-28 2019-12-17 Verizon Patent And Licensing Inc. Systems and methods for masking user input and sensor data at a user device
US11159503B2 (en) * 2017-10-17 2021-10-26 Princeton SciTech, LLC Authentication for computing systems
CN110391897A (zh) * 2018-04-20 2019-10-29 武汉真元生物数据有限公司 一种基于生物标识的口令生成方法及系统
CN110391909A (zh) * 2018-04-20 2019-10-29 武汉真元生物数据有限公司 基于生物特征识别的终端解锁方法及系统
US11343099B2 (en) 2018-05-17 2022-05-24 Badge Inc. System and method for securing personal information via biometric public key
US11115203B2 (en) 2018-05-17 2021-09-07 Badge Inc. System and method for securing personal information via biometric public key
US11405386B2 (en) 2018-05-31 2022-08-02 Samsung Electronics Co., Ltd. Electronic device for authenticating user and operating method thereof
US11348666B2 (en) 2018-09-09 2022-05-31 19Labs, Inc. System and method to enable a kiosk to aggregate wireless devices and report health information to a mobile consumer device
US11283615B2 (en) 2018-09-09 2022-03-22 19Labs, Inc. System and method for user authentication at a kiosk from a mobile device
US11456865B2 (en) * 2018-11-13 2022-09-27 Ares Technologies, Inc. Biometric scanner apparatus and methods for its use
US10885170B1 (en) * 2018-11-20 2021-01-05 Apotheka Systems Inc. Methods, systems, and storage media for managing patient information using a blockchain network
KR102186938B1 (ko) * 2018-11-23 2020-12-07 사단법인 금융결제원 바이오 정보 기반의 전자 청약 처리 시스템
KR101974345B1 (ko) * 2018-12-06 2019-05-02 동국대학교 산학협력단 전자 서명을 통한 차량 간 보안 통신을 지원하는 커넥티드 차량용 데이터 통신 장치 및 그 동작 방법
WO2020117020A1 (ko) * 2018-12-07 2020-06-11 주식회사 코인플러그 생체 정보 기반의 pki 키 생성 방법 및 이를 이용한 키 생성 장치
WO2020123192A1 (en) 2018-12-14 2020-06-18 Mastercard International Incorporated Systems, methods, and non-transitory computer-readable media for secure individual identification
CA3128348C (en) * 2019-01-30 2024-02-20 Badge Inc. Biometric public key system providing revocable credentials
US11750390B2 (en) * 2019-01-31 2023-09-05 Global Bionic Optics Limited System and method for producing a unique stable biometric code for a biometric hash
US11120159B1 (en) 2019-09-02 2021-09-14 Wells Fargo Bank, N.A. Composite biometric authentication
US20220006815A1 (en) * 2019-09-25 2022-01-06 Amod Ashok Dange System and method for enabling a user to obtain authenticated access to an application using a biometric combination lock
US11582032B2 (en) * 2019-09-25 2023-02-14 Amod Ashok Dange System and method for sharing user preferences without having the user reveal their identity
US20220004619A1 (en) * 2019-09-25 2022-01-06 Amod Ashok Dange System and method for enabling a user to create an account on an application or login into the application without having the user reveal their identity
US20220004661A1 (en) * 2019-09-25 2022-01-06 Amod Ashok Dange System and method for enabling social network users to grant their connections granular visibility into their personal data without granting the same visibility to the network operator
AU2020399657A1 (en) 2019-12-09 2022-08-04 Badge Inc. Privacy-preserving biometric authentication
KR20210099777A (ko) * 2020-02-05 2021-08-13 삼성전자주식회사 전자 장치 및 데이터 처리 방법
US20230328417A1 (en) * 2020-09-04 2023-10-12 Level 42 Ai Inc. Secure identification methods and systems
US20220029799A1 (en) * 2020-12-18 2022-01-27 Signzy Technologies Private Limited System and method for creating one or more hashes for biometric authentication in real-time
KR102303839B1 (ko) * 2021-02-15 2021-09-23 주식회사 휴이노 생체 신호 데이터를 관리하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005069534A1 (de) * 2004-01-13 2005-07-28 Giesecke & Devrient Gmbh Biometrische authentisierung
JP2008502071A (ja) * 2004-06-09 2008-01-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ バイオメトリック・テンプレートの保護および特徴処理
US20080072068A1 (en) * 2006-09-19 2008-03-20 Wang Liang-Yun Methods and apparatuses for securing firmware image download and storage by distribution protection
US20080235515A1 (en) * 2004-12-07 2008-09-25 Yedidia Jonathan S Pre-processing Biometric Parameters before Encoding and Decoding
US20090271634A1 (en) * 2008-04-25 2009-10-29 The Regents Of The University Of Colorado & Securics, Inc. Bio-Cryptograhpy : Secure cryptographic protocols with bipartite biotokens
US20110302420A1 (en) * 1999-04-30 2011-12-08 Davida George I System and method for authenticated and privacy preserving biometric identification systems
US20140105403A1 (en) * 2011-04-09 2014-04-17 Universitat Zurich Method and apparatus for public-key cryptography based on error correcting codes

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6788788B1 (en) * 1998-09-16 2004-09-07 Murata Kikai Kabushiki Kaisha Cryptographic communication method, encryption method, and cryptographic communication system
ES2245305T3 (es) 1999-04-22 2006-01-01 Veridicom, Inc. Autenticacion biometrica de alta seguridad usando pares de encriptacion clave publica/clave privada.
JP4426733B2 (ja) * 2000-03-31 2010-03-03 富士通株式会社 指紋データ合成方法,指紋データ合成装置,指紋データ合成プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体
US7336806B2 (en) * 2004-03-22 2008-02-26 Microsoft Corporation Iris-based biometric identification
US7272245B1 (en) 2004-05-13 2007-09-18 The United States Of America As Represented By The National Security Agency Method of biometric authentication
US8842887B2 (en) * 2004-06-14 2014-09-23 Rodney Beatson Method and system for combining a PIN and a biometric sample to provide template encryption and a trusted stand-alone computing device
US20060123239A1 (en) 2004-12-07 2006-06-08 Emin Martinian Biometric based user authentication with syndrome codes
JP4736744B2 (ja) * 2005-11-24 2011-07-27 株式会社日立製作所 処理装置、補助情報生成装置、端末装置、認証装置及び生体認証システム
US20070140145A1 (en) * 2005-12-21 2007-06-21 Surender Kumar System, method and apparatus for authentication of nodes in an Ad Hoc network
FR2912019B1 (fr) * 2007-01-26 2009-04-10 Thales Sa Procede de codage de donnees.
CN101459518B (zh) * 2008-12-01 2011-04-20 清华大学 一种基于生物特征的数字密钥提取和保护方法
US8655026B2 (en) 2009-06-24 2014-02-18 Koninklijke Philips N.V. Robust biometric feature extraction with and without reference point
CN102549617B (zh) * 2009-10-05 2014-10-08 富士通株式会社 生物体信息处理装置、生物体信息处理方法以及生物体信息处理用计算机程序
GB2473154B (en) * 2010-11-16 2011-06-15 Martin Tomlinson Public key encryption system using error correcting codes
CN102164032A (zh) * 2011-05-19 2011-08-24 吉林大学 抗量子攻击的非确定的公钥密码构造方法
US9197637B2 (en) * 2011-07-08 2015-11-24 Research Foundation Of The City University Of New York Method of comparing private data without revealing the data
EP2783304B1 (en) * 2011-11-24 2017-12-20 Microsoft Technology Licensing, LLC Reranking using confident image samples
USRE48644E1 (en) * 2012-04-12 2021-07-13 Jintai Ding Cryptographic system using pairing with errors
CN102722696B (zh) * 2012-05-16 2014-04-16 西安电子科技大学 基于多生物特征的身份证与持有人的同一性认证方法
US9165130B2 (en) * 2012-11-21 2015-10-20 Ca, Inc. Mapping biometrics to a unique key
CN103188075B (zh) * 2013-02-01 2016-01-06 广州大学 一种密钥和真随机数发生器及生成密钥和真随机数的方法
WO2014182957A1 (en) 2013-05-08 2014-11-13 Acuity Systems, Inc. Authentication system
CN103279697B (zh) * 2013-05-15 2015-09-30 电子科技大学 基于正交矩阵和模运算的指纹细节信息隐藏与恢复方法
US20140372766A1 (en) * 2013-06-14 2014-12-18 Pitney Bowes Inc. Automated document notarization
US9684908B2 (en) * 2014-08-01 2017-06-20 Yahoo!, Inc. Automatically generated comparison polls
US9935948B2 (en) 2015-09-18 2018-04-03 Case Wallet, Inc. Biometric data hashing, verification and security
CA2997297A1 (en) 2015-10-26 2017-05-04 Visa International Service Association Wireless biometric authentication system and method
US11176231B2 (en) 2016-05-19 2021-11-16 Payfone, Inc. Identifying and authenticating users based on passive factors determined from sensor data
KR101907170B1 (ko) 2016-06-24 2018-10-11 고성석 생체암호화 기법과 카드명의자의 고유한 생체정보를 사용하여 카드정보를 암호화함으로써 카드정보를 보호하고 카드사용자의 진위여부를 판별하는 생체인증카드 및 생체인증카드의 사용자인증방법
US20180114226A1 (en) 2016-10-24 2018-04-26 Paypal, Inc. Unified login biometric authentication support
KR101845192B1 (ko) 2017-02-22 2018-04-05 인하대학교 산학협력단 내적 연산 적용을 위한 지문 정보 변경 방법 및 시스템

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110302420A1 (en) * 1999-04-30 2011-12-08 Davida George I System and method for authenticated and privacy preserving biometric identification systems
WO2005069534A1 (de) * 2004-01-13 2005-07-28 Giesecke & Devrient Gmbh Biometrische authentisierung
JP2008502071A (ja) * 2004-06-09 2008-01-24 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ バイオメトリック・テンプレートの保護および特徴処理
US20080235515A1 (en) * 2004-12-07 2008-09-25 Yedidia Jonathan S Pre-processing Biometric Parameters before Encoding and Decoding
US20080072068A1 (en) * 2006-09-19 2008-03-20 Wang Liang-Yun Methods and apparatuses for securing firmware image download and storage by distribution protection
US20090271634A1 (en) * 2008-04-25 2009-10-29 The Regents Of The University Of Colorado & Securics, Inc. Bio-Cryptograhpy : Secure cryptographic protocols with bipartite biotokens
US20140105403A1 (en) * 2011-04-09 2014-04-17 Universitat Zurich Method and apparatus for public-key cryptography based on error correcting codes

Also Published As

Publication number Publication date
AU2016353324B2 (en) 2022-03-03
CA3191915A1 (en) 2017-05-18
US11811936B2 (en) 2023-11-07
HK1259297A1 (zh) 2019-11-29
CA3004880A1 (en) 2017-05-18
AU2016353324A1 (en) 2018-05-31
JP2022179760A (ja) 2022-12-02
JP2019500773A (ja) 2019-01-10
JP7421766B2 (ja) 2024-01-25
EP3374913A4 (en) 2019-07-24
CN108475307A (zh) 2018-08-31
KR20180081108A (ko) 2018-07-13
US10764054B2 (en) 2020-09-01
US20170141920A1 (en) 2017-05-18
CA3004880C (en) 2023-10-31
US20200396076A1 (en) 2020-12-17
EP3374913A1 (en) 2018-09-19
US20240022420A1 (en) 2024-01-18
WO2017083732A1 (en) 2017-05-18

Similar Documents

Publication Publication Date Title
KR102583536B1 (ko) 공개/비공개 키 바이오메트릭 인증 시스템
US11343099B2 (en) System and method for securing personal information via biometric public key
US11804959B2 (en) System and method for securing personal information via biometric public key
US11799642B2 (en) Biometric public key system providing revocable credentials
CN114868358A (zh) 隐私保护生物特征认证
US11868457B2 (en) Device and method for authenticating user and obtaining user signature using user's biometrics
US20240169350A1 (en) Securing transactions with a blockchain network
US20240121098A1 (en) Scalable Authentication System with Synthesized Signed Challenge
Narayanankutty et al. Novel authentication system for personal and domestic network systems using image feature comparison and digital signatures
Ranganath Cloud Data Security through Hybrid Verification Technique Based on Cryptographic Hash Function

Legal Events

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