KR102601509B1 - 취소가능한 크리덴셜들을 제공하는 바이오메트릭 공개 키 시스템 - Google Patents
취소가능한 크리덴셜들을 제공하는 바이오메트릭 공개 키 시스템 Download PDFInfo
- Publication number
- KR102601509B1 KR102601509B1 KR1020217027566A KR20217027566A KR102601509B1 KR 102601509 B1 KR102601509 B1 KR 102601509B1 KR 1020217027566 A KR1020217027566 A KR 1020217027566A KR 20217027566 A KR20217027566 A KR 20217027566A KR 102601509 B1 KR102601509 B1 KR 102601509B1
- Authority
- KR
- South Korea
- Prior art keywords
- biometric
- values
- data
- public key
- subject
- Prior art date
Links
- 239000013598 vector Substances 0.000 claims abstract description 69
- 238000000034 method Methods 0.000 claims description 144
- 230000008569 process Effects 0.000 claims description 114
- 239000011159 matrix material Substances 0.000 claims description 39
- 238000003860 storage Methods 0.000 claims description 39
- 239000003550 marker Substances 0.000 claims description 12
- 238000012512 characterization method Methods 0.000 claims description 8
- 238000011084 recovery Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000015654 memory Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 238000005259 measurement Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 8
- 230000001010 compromised effect Effects 0.000 description 6
- 238000000605 extraction Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 208000016339 iris pattern Diseases 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000010926 purge Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000017531 blood circulation Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000005021 gait Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000026683 transduction Effects 0.000 description 1
- 238000010361 transduction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000002792 vascular Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/12—Fingerprints or palmprints
- G06V40/1335—Combining adjacent partial images (e.g. slices) to create a composite input or reference pattern; Tracking a sweeping finger movement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/12—Fingerprints or palmprints
- G06V40/1347—Preprocessing; Feature extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/12—Fingerprints or palmprints
- G06V40/1365—Matching; Classification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0861—Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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/3228—One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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/3231—Biological data, e.g. fingerprint, voice or retina
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biodiversity & Conservation Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Collating Specific Patterns (AREA)
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
Abstract
디바이스는 개체의 바이오메트릭 데이터 및 비밀 S 둘 다에 기초하여, 어느 하나의 복구를 방지하는 경향이 있으면서 둘 다를 검증가능하게 특성화하는 방식으로, 개체에 대한 바이오메트릭 공개 키를 생성한다. 바이오메트릭 데이터는 희소 표현을 가지며, 잡음의 성분을 포함하는 방식으로 인코딩되어, 어느 위치들이 실제로 인코딩된 특징들인지를 식별하는 것을 어렵게 한다. 따라서, 바이오메트릭 데이터는 특징들이 존재하는 위치들에서 마커를 선택하고, 특징들이 존재하지 않는 경우 잡음 데이터를 선택함으로써 벡터로서 인코딩된다. 잡음 데이터는 (a) 무작위 값들 및 (b) 독립적이고 동일하게 분포된 값들의 그룹으로부터 집합적으로 선택된 채프 비트 값들일 수 있다. 바이오메트릭 공개 키는 나중에 하드웨어 신뢰 루트에 의존할 필요가 없는 컴퓨팅 설비를 이용하여, 개체라고 주장하는 피험자를 인증하기 위해 이용될 수 있다.
Description
우선권
본 특허 출원은 2019년 1월 30일자로 출원된 미국 특허 가출원 제62/798,608호의 이익을 주장하며, 이 가출원 전체가 본 명세서에 참조로 통합된다.
관련 출원들에 대한 상호참조
본 출원은 미국 특허 출원 제15/349,781호(미국 특허 출원 공개 제2017/0141920호에 대응함) 및 PCT 특허 출원 번호 PCT/US2016/061647(국제 공개 번호 WO 2017/083732에 대응함)에 관련되며, 이들 양 출원은 2016년 11월 11일자로 출원되었고, 2015년 11월 13일에 출원된 미국 가출원 제62/255,186호의 이익을 주장한다. 이 관련 출원들 각각은 그 전체가 본 명세서에 참조로 통합된다. 우리는 국제 공개 번호 WO 2017/083732를 "우리의 PCT 공보"로서 참조한다.
기술분야
본 발명은 사용자 바이오메트릭 데이터(biometric data)의 인증을 제공함으로써 컴퓨터들, 그 컴포넌트들, 프로그램들 또는 데이터를 비인가된 활동에 대해 보호하기 위한 보안 구성들에 관한 것으로, 특히, 바이오메트릭 데이터의 비일시적인 저장(non-transient storage)을 필요로 하지 않고 사용자의 바이오메트릭 데이터를 이용하여 사용자의 아이덴티티 또는 권한을 검증하기 위한 암호화 수단(cryptographic means)을 이용하는 것에 관한 것이다.
본 발명의 일 실시예에 따르면, 바이오메트릭 데이터의 비일시적인 저장을 필요로 하지 않고, 개체(individual)의 바이오메트릭 데이터에 기초하여 개체에 대한 바이오메트릭 공개 키(biometric public key)를 생성하기 위한 디바이스가 제공된다. 이 실시예에서, 디바이스는 트랜스듀서(transducer) 및 트랜스듀서에 결합된 컴퓨팅 설비(computing facility)를 포함한다. 컴퓨팅 설비는 컴퓨팅 프로세서, 및 컴퓨팅 프로세서에 의해 실행될 때 프로세스들을 확립하는 명령어들로 인코딩된 비일시적 컴퓨터 판독가능 저장 매체를 포함하고, 프로세스들은 컴퓨팅 설비에 의해, 트랜스듀서로부터, 개체의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신하는 단계; 컴퓨팅 설비에 의해, 디지털 전자 신호로부터, 개체의 바이오메트릭 값들의 세트를 추출하는 단계; 바이오메트릭 값들의 세트에서, 특징들이 존재하는 위치들을 식별하는 단계; 특징들이 존재하는 위치들에서 마커(marker)를 선택하고, 특징들이 존재하지 않는 경우 잡음이 있는 데이터(noisy data)를 선택함으로써 바이오메트릭 값들의 세트를 인코딩하는 단계; 컴퓨팅 설비에 의해, 비밀 번호 및 인코딩된 바이오메트릭 값들의 세트에 기초하여 바이오메트릭 공개 키를 계산하는 단계 - 바이오메트릭 공개 키는 개체의 바이오메트릭 데이터 또는 비밀번호의 비일시적인 저장을 필요로 하지 않고 개체의 바이오메트릭 데이터 및 비밀 번호 둘 다를 검증 가능하게 특성화함 -; 및 바이오메트릭 공개 키를 저장 설비에 저장하는 단계를 포함한다.
선택적으로, 개체의 바이오메트릭 값들의 세트는 희소 표현(Sparse Representation)을 갖는다. 선택적으로, 인코딩된 바이오메트릭 값들의 세트는 N 비트를 갖는 열 벡터(column vector) E이다. 선택적으로, 비밀 번호(secret number) S는 N 비트의 비밀 열 벡터이다. 대안적으로 또는 추가적으로, 비밀 번호 S를 생성하는 단계는 비밀 번호 S의 해시(hash) F(S)를 계산하여 저장 설비에 저장하는 단계를 포함한다. 선택적으로, 바이오메트릭 공개 키 B는 비트들의 M개의 행(rows) 및 N개의 열을 갖는 행렬 A를 이용하여 계산되고, 행렬 A는 저장 설비에 저장된다. 대안적으로 또는 추가적으로, 바이오메트릭 공개 키 B는 비밀 번호 S와 행렬 A를 곱하고, 인코딩된 바이오메트릭 값들의 세트의 열 벡터 E를 더함으로써 계산된다. 선택적으로, 마커는 상수 값이다. 선택적으로, 마커는 "0"이다. 선택적으로, 잡음이 있는 데이터는 (a) 무작위 값들 및 (b) 독립적이고 동일하게 분포된 값들(independent and identically distributed values)의 그룹으로부터 집합적으로 선택된 채프 비트 값(chaff bit value)들의 세트이다.
다른 실시예에서, 바이오메트릭 데이터를 비일시적으로 저장할 필요 없이, 제1 트랜스듀서를 이용하여 바이오메트릭 데이터가 이전에 획득된 개체로서 피험자(subject)를 인증하기 위해 바이오메트릭 데이터를 이용하는 디바이스가 제공된다. 이 실시예에서, 디바이스는 제2 트랜스듀서 및 컴퓨팅 설비를 포함한다. 컴퓨팅 설비는 제2 트랜스듀서에 결합되고, 컴퓨팅 설비는 컴퓨팅 프로세서, 및 컴퓨팅 프로세서에 의해 실행될 때 컴퓨터 프로세스들을 확립하는 명령어들로 인코딩된 비일시적 컴퓨터 판독가능 저장 매체를 포함하고, 컴퓨터 프로세스들은 컴퓨팅 설비에 의해, 제2 트랜스듀서로부터, 피험자의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신하는 단계; 컴퓨팅 설비에 의해, 디지털 전자 신호로부터, (a) 피험자의 바이오메트릭 값들의 세트, 및 (b) 피험자의 바이오메트릭 값들의 세트의 각각의 멤버에 대해, 대응하는 바이오메트릭 값이 특성화들(characterizations) 사이에서 안정적이라는 신뢰도를 나타내는 신뢰도 값(confidence value)을 추출하는 단계; 피험자의 바이오메트릭 값들의 세트를 인코딩하는 단계; 신뢰도 값들을 이용하여, 컴퓨팅 설비에 의해, 피험자의 인코딩된 바이오메트릭 값들의 세트의 신뢰 서브세트(confident subset)를 선택하는 단계 - 신뢰 서브세트는 바이오메트릭에 기초하는 피험자의 아이덴티티의 신뢰성 있는 판별식(discriminant)임 -; 컴퓨팅 설비에 의해, 저장 설비로부터, (i) 비밀 번호 S의 해시 F(S), 및 (ii) 비밀 번호 S, 및 제1 트랜스듀서를 이용하여 이전에 획득된 개체의 바이오메트릭 데이터에 기초하여 계산된 바이오메트릭 공개 키 B를 수신하는 단계 - 개체의 바이오메트릭 데이터는 특징들이 존재하는 위치들에 마커를 갖고, 특징들이 존재하지 않는 경우 잡음이 있는 데이터를 갖도록 인코딩되었음 -; 컴퓨팅 설비에 의해, 바이오메트릭 공개 키 및 신뢰 서브세트를 이용하여 비밀 번호 S에 대한 후보 값 S'를 계산하는 단계; 및 후보 값 S'가 비밀 번호 S와 동등한 것으로 간주되는지를 결정함으로써 인증 프로세스(authentication process)를 수행하는 단계를 포함한다.
선택적으로, 개체의 바이오메트릭 데이터는 희소 표현을 갖는다. 선택적으로, 피험자의 인코딩된 바이오메트릭 값들의 세트는 M 비트를 갖는 열 벡터 E'이다. 선택적으로, 개체의 인코딩된 바이오메트릭 데이터는 N 비트를 갖는 열 벡터 E이다. 선택적으로, (a) 비밀 번호 S는 N 비트의 제1 비밀 열 벡터이고, (b) 비밀 번호에 대한 후보 값 S'은 N 비트의 제2 열 벡터이다. 대안으로서 또는 추가로, 컴퓨터 프로세스들은 컴퓨팅 설비에 의해, 저장 설비로부터, 비트들의 M개 행 및 N개 열을 갖는 행렬 A를 수신하는 단계를 더 포함하고, 바이오메트릭 공개 키 B는 행렬 A에 기초하여 계산되었다.
선택적으로, 비밀 번호에 대한 후보 값 S'은 (a) 행렬 A의 역(inverse)을 (b) 바이오메트릭 공개 키와 피험자의 인코딩된 바이오메트릭 값들의 세트의 열 벡터 E' 사이의 차이와 곱함으로써 계산된다. 대안적으로 또는 추가적으로, 컴퓨터 프로세스들은 비밀 번호에 대한 후보 값 S'의 해시 F(S')를 계산하는 단계; 및 (a) 비밀 번호에 대한 후보 값 S'의 해시 F(S')가 (b) 비밀 번호 S의 해시 F(S)와 동등한 것으로 간주되는지를 결정함으로써 인증 프로세스를 수행하는 단계를 더 포함한다. 선택적으로, 피험자의 바이오메트릭 값들의 세트는 특징들이 존재하는 위치들에 마커를 갖고, 특징들이 존재하지 않는 경우 잡음이 있는 데이터를 갖도록 인코딩되고, 신뢰 서브세트는 잡음이 있는 데이터가 아닌 피험자의 바이오메트릭 값들의 세트 내의 바이오메트릭 값들로부터 선택된다. 선택적으로, 마커는 상수 값이다. 선택적으로, 마커는 "0"이다. 선택적으로, 잡음이 있는 데이터는 (a) 무작위 값들 및 (b) 독립적이고 동일하게 분포된 값들의 그룹으로부터 집합적으로 선택된 채프 비트 값들의 세트이다.
실시예들의 전술한 특징들은 첨부 도면들을 참조하여 취해진 다음의 상세한 설명을 참조하여 더 쉽게 이해될 것이다. 도면들에서:
도 1은 본 발명의 일 실시예가 이용될 수 있는 환경(10)의 개략도이다.
도 2는 본 발명의 일 실시예에 따른 바이오메트릭 공개 키를 생성하거나 이용하기 위한 디바이스(20)의 개략도이다.
도 3은 등록 프로세스 동안 본 발명의 일 실시예에서 이용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다.
도 4는 인증 프로세스 동안 본 발명의 일 실시예에서 이용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다. 인증 전에, 인가된 개체는 도 3에 도시된 것과 같은 등록 프로세스를 수행할 것이다.
도 5는 도 3의 등록 프로세스에 따라, 바이오메트릭 데이터의 비일시적인 저장을 필요로 하지 않고, 개체의 바이오메트릭 데이터에 기초하여 개체에 대한 바이오메트릭 공개 키를 생성하는 방법을 예시하는 흐름도이다.
도 6은 도 4의 인증 프로세스에 따라, 바이오메트릭 데이터의 비일시적인 저장을 필요로 하지 않고, 제1 트랜스듀서를 이용하여 바이오메트릭 데이터가 이전에 획득된 개체로서 피험자를 인증하기 위해 바이오메트릭 데이터를 이용하는 방법을 예시하는 흐름도이다.
도 1은 본 발명의 일 실시예가 이용될 수 있는 환경(10)의 개략도이다.
도 2는 본 발명의 일 실시예에 따른 바이오메트릭 공개 키를 생성하거나 이용하기 위한 디바이스(20)의 개략도이다.
도 3은 등록 프로세스 동안 본 발명의 일 실시예에서 이용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다.
도 4는 인증 프로세스 동안 본 발명의 일 실시예에서 이용되는 기능 컴포넌트들을 통한 데이터 흐름의 개략도이다. 인증 전에, 인가된 개체는 도 3에 도시된 것과 같은 등록 프로세스를 수행할 것이다.
도 5는 도 3의 등록 프로세스에 따라, 바이오메트릭 데이터의 비일시적인 저장을 필요로 하지 않고, 개체의 바이오메트릭 데이터에 기초하여 개체에 대한 바이오메트릭 공개 키를 생성하는 방법을 예시하는 흐름도이다.
도 6은 도 4의 인증 프로세스에 따라, 바이오메트릭 데이터의 비일시적인 저장을 필요로 하지 않고, 제1 트랜스듀서를 이용하여 바이오메트릭 데이터가 이전에 획득된 개체로서 피험자를 인증하기 위해 바이오메트릭 데이터를 이용하는 방법을 예시하는 흐름도이다.
정의들. 본 설명 및 첨부된 청구항들에서 사용되는 바와 같이, 다음의 용어들은 문맥이 달리 요구하지 않는 한은 표시된 의미들을 가질 것이다.
"세트"는 적어도 하나의 멤버를 포함한다. "개체"는 고유한 아이덴티티를 갖는 생물체 또는 무생물체이고, 인간 또는 다른 유기체일 수 있다.
"컴퓨터 프로세스"는 소프트웨어 또는 펌웨어 또는 이들 중 임의의 것의 조합의 제어 하에 동작하거나 전술한 것 중 임의의 것의 제어 밖에서 동작할 수 있는 컴퓨터 하드웨어(예컨대, 프로세서, 필드 프로그래머블 게이트 어레이 또는 다른 전자 조합 로직(electronic combinatorial logic), 또는 유사한 디바이스)를 이용하는 컴퓨터에서의 설명된 기능의 수행이다. 설명된 기능의 전부 또는 일부는 트랜지스터들 또는 저항기들과 같은 능동 또는 수동 전자 컴포넌트들에 의해 수행될 수 있다. "컴퓨터 프로세스"라는 용어를 이용함에 있어서, 우리는 스케줄가능한 엔티티, 또는 컴퓨터 프로그램 또는 그 일부의 동작을 반드시 요구하지는 않지만, 일부 실시예들에서, 컴퓨터 프로세스는 이러한 스케줄가능한 엔티티(schedulable entity), 또는 컴퓨터 프로그램 또는 그 일부의 동작에 의해 구현될 수 있다. 또한, 문맥이 달리 요구되지 않는 한, "프로세스"는 하나보다 많은 프로세서 또는 하나보다 많은 (단일 또는 멀티-프로세서) 컴퓨터를 이용하여 구현될 수 있다.
"피험자"는 특정 개체의 고유 아이덴티티를 갖는 것으로 주장하는 생물체 또는 무생물체이다.
"바이오메트릭"은 개체 또는 그룹의 고유 아이덴티티를 결정하는 데 이용될 수 있는 별개의 개체(distinct individual) 또는 개체들의 별개의 그룹의 측정가능한 특성(measurable characteristic), 또는 이러한 특성들의 조합이다. 그러한 측정 가능한 유기 특성들의 일부 비제한적인 예들은: 홍채 패턴, 망막 혈관 패턴, 지문, 유전적 패턴 또는 DNA 지문, 성문, 타이핑의 속도 또는 케이던스, 혈류의 패턴, 뇌 구조 또는 전기 패턴, (손 움직임과 같은) 행동 신호, 전문 지식 기반 연속 바이오메트릭(expertise-based continuous biometrics) 및 개체의 걸음걸이(gait)이다. 개체가 트랜지스터들을 갖는 별개의 실리콘 웨이퍼일 때, 측정가능한 무기 특성의 예는 별개의 실리콘 웨이퍼를 제조하는 프로세스에 의해 야기되는 트랜지스터 게이트 딜레이들에서의 무작위 변동이며; "실리콘 바이오메트릭"과 같이, 이 분야에 공지된 바와 같이, 링 발진기를 이용하여 검출가능하다.
"바이오메트릭 값"은 측정의 특성에 따른 바이오메트릭의 측정의 일부의 분류(categorization)이다. 예를 들어, 바이오메트릭이 홍채 프린트이고, 측정이 홍채를 픽셀들의 어레이로서 이미징하는 것으로 구성되는 경우, 측정의 관련 부분은 이미지 내의 단일 픽셀이고, 관련 특성은 분류될 픽셀의 밝기 또는 컬러일 수 있다. 전체 바이오메트릭의 측정은 많은 바이오메트릭 값들을 포함할 수 있다.
"바이오메트릭 값에 대한 신뢰도 값", 또는 간단히 "신뢰도 값"은 대응하는 바이오메트릭 값이 정확하게 분류된 상대적 신뢰도(degree of relative confidence)를 나타내는 숫자이다.
바이오메트릭 데이터의 "신뢰 서브세트"는 (a) 식별가능한 개체들의 주어진 모집단 내에서 개체를 고유하게 식별하기에 충분히 크고, (b) 상이한 조건들 하에서 대응하는 바이오메트릭의 측정들에 걸쳐 반복가능하게 획득가능하기에 충분히 작은, 그들 각각의 신뢰도 값들에 따라 선택된 바이오메트릭 값들의 집합이다.
"트랜스듀서"는 측정된 바이오메트릭 값들의 세트로서 바이오메트릭의 특성화를 인코딩하는 전자 신호를 출력으로서 갖는 임의의 디바이스이다. 그러한 디바이스의 출력이 직접 디지털이 아닌 경우, "트랜스듀서"라는 용어는 출력을 디지털 형태로 변환하는 데 추가로 이용되는 임의의 디바이스를 포함한다.
"컴퓨팅 설비"는 컴퓨팅 프로세서 및 컴퓨팅 프로세서에 의해 실행될 수 있는 명령어들을 저장하는 메모리를 포함하는 컴포넌트들을 갖는 전자 시스템을 의미한다. 컴퓨팅 설비는, 예를 들어, 데스크톱 컴퓨터, 스마트폰, 태블릿 컴퓨터, 및 유사한 전자 디바이스들에서 발견될 수 있다. 컴퓨팅 설비는 또한 특수화된 계산들을 수행하는 임베디드 컴퓨팅 시스템들, 예를 들어, 포인트-오브-세일(point-of-sale) 기계들, ATM(automated teller machine)들, 물리 액세스 배리어들, 비디오 디스플레이 키오스크들, 및 유사한 전자 디바이스들에서 발견될 수 있다.
"바이오메트릭을 특성화하는 공개 키"(때때로 이하 "바이오메트릭 공개 키")는 (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 참조.)
"저장 설비"는 디지털 데이터의 비일시적 저장을 위한 로컬 또는 원격 시스템이다. 저장 설비는 선택적으로, 프로세서로부터의 요청 메시지에 응답하여 데이터를 제공하는 서버 시스템을 포함하거나, 시스템이 프로세서에 의해 직접 액세스될 수 있다.
"밀집 바이오메트릭 표현(Dense Biometric Representation)"은 각각의 비트가 바이오메트릭 데이터 내의 주어진 위치에서의 특징의 값에 대응하는 바이오메트릭과 연관된 데이터의 디지털 특성화이다. 통상적으로, 이러한 표현은 바이오메트릭 데이터 내에서 국지적으로 결정되는 양자화된(quantized)(또는 임계화된(thresholded)) 아날로그 값으로 구성된다. 이상적으로, 이러한 데이터는 (a) 비트들 사이의 낮은 상관관계(correlation) 및 (b) 대략 50% 바이어스를 가져야 한다.
"희소 바이오메트릭 표현"은 각각의 비트가 바이오메트릭 데이터 내의 주어진 위치에서의 특징의 존재 또는 부재에 대응하는 바이오메트릭과 연관된 데이터의 디지털 특성화이다. 통상적으로, 이러한 표현은 (a) 적은 수의 특징들 및 큰 벡터 공간을 가지며, (b) 어느 벡터 위치들이 특징들과 연관되는지를 추측하는 것을 어렵게 만든다.
"벡터"는 단일 열, 또는 대안적으로 단일 행만을 갖는 행렬이다.
"마커"는 의미 있는 데이터 항목, 즉, 본 명세서에서 정의된 바와 같은 잡음이 있는 데이터가 아닌 데이터 항목에 대응하는 벡터 내의 엔트리이다. 마커는 예를 들어 "0"과 같은 상수 값일 수 있다.
"잡음이 있는 데이터"는 보통 신호로 디코딩되는 것을 배제할 정도로 충분히 높은 엔트로피를 갖는 데이터이다. 잡음이 있는 데이터의 예는 (a) 무작위 값들 및 (b) 독립적이고 동일하게 분포된 값들의 그룹으로부터 집합적으로 선택된 채프 비트 값들의 세트이다.
본 발명의 실시예들은 우리의 PCT 공보에 설명된 기술에서의 개선들을 제공하고, 국제 공개 번호 WO 2017/083732("우리의 PCT 출원")에서 논의된 환경들을 포함하는 광범위한 환경들에서 이용될 수 있다. 이러한 환경들 중 일부를 예시하기 위해, 우리는 우리의 PCT 출원에서 도 1-4를 차용하고 이들을 본 발명의 맥락에서 새롭게 설명하였다.
예비적으로, 우리는 본 발명의 2개의 새로운 실시예를 논의하며, 이들 각각은 공개 바이오메트릭 키 생성 및 공개 바이오메트릭 키를 이용한 인증에 이용될 수 있다. 우리는, 우리가 우리의 "오리지널 프로세스"라고 부르는, 우리의 PCT 출원에 개시된 실시예와 관련하여 이들 2개의 실시예를 논의한다. 오리지널 프로세스의 실시예를 구성하는 컴퓨터 프로세스들은 (공개 바이오메트릭 키 생성을 위한) 아래의 표 1의 제1 라벨링된 열 및 (공개 바이오메트릭 키를 이용한 인증을 위한) 아래의 표 2의 제1 라벨링된 열에 요약된다. 각각의 프로세스에서의 각각의 단계는 최좌측 열에서 번호가 매겨지고, 이 번호가 매겨진 단계들은 이 설명에서 참조된다. 표 1에 도시된 바와 같이, 우리의 오리지널 프로세스에서, 모든 프로세스 단계들은, 우리가 도 3에 도시되고 아래에 설명되는 바와 같이 구성될 수 있는 시스템인 "등록기(Enroller)"라고 부르는 것에 의해 수행된다. 우리의 오리지널 프로세스에서, 단계 (1)에서 공개 키를 생성하는 초기 단계는 바이오메트릭 데이터의 신뢰 서브세트를 이용하여 우리가 "밀집 표현(Dense Representation)"이라고 부르는 것에서 피험자의 (홍채 이미지와 같은) 일시적으로 저장된 바이오메트릭을 획득하는 단계를 포함한다. 단계 (2)에서, 이들 바이오메트릭 데이터는 M 비트의 열 벡터인 E로서 인코딩된다. 단계 (3)에서, N 비트를 갖는 비밀 열 벡터 S가 생성되고, 그 후 해시 F(S)가 계산된다. 단계 (4)에서, 비트들의 M개 행 및 N개 열을 갖는 행렬 A가 선택되고, 단계 (5)에서, 공개 바이오메트릭 키 가 계산된다. 단계 (6)에서, 공개 바이오메트릭 키 B가 공개되고 표 2에서 논의된 바와 같이 인증기(Authenticator)에 의해 이용된다. 행렬 A는 또한 표 2에서 논의된 바와 같이 인증기에 의해 이용가능하게 되고 이용된다. S의 해시, 즉 F(S)는 또한 인증에 이용되지만, 이하에서 논의되는 바와 같이 인증에서 이용하기 위해 서버에 전송될 수 있다. 바이오메트릭 데이터는 일시적인 것을 제외하고는 저장되지 않고, 공개 바이오메트릭 키가 생성되면 더 이상 필요하지 않다.
우리의 오리지널 프로세스를 이용하는 인증을 위해, 표 2에 도시된 프로세스 단계들은 주로 우리가 도 1에 도시되고 아래에 설명되는 바와 같이 구성될 수 있는 시스템인 "인증기"라고 하는 것에 의해 수행된다. 우리의 오리지널 프로세스에서, 단계 (1)에서의 인증의 초기 단계는 피험자의 일시적으로 저장된 바이오메트릭(홍채 이미지 등)을 획득하는 것을 포함한다. 단계 (2)에서, 인증기는 비밀 S의 해시, 즉 F(S), 및 또한 공개된 항목들인 선택된 행렬 A와 함께, 공개 바이오메트릭 키 B를 수신한다. 단계 (3)에서, 인증기는 바이오메트릭 데이터를 M 비트의 열 벡터인 E'로서 직접 인코딩하고, E'의 N개의 신뢰 행들을 선택한다. 단계 (4)에서, 인증기는 신뢰 행들 및 E'를 이용하여 S' = A-1 (B - E')를 계산한다. 이 시점에서, E'의 신뢰 행들이 E의 신뢰 행들에 대응하는 경우, S는 S'와 동일할 것이라는 점에 유의해야 한다. 단계 (5)에서, 인증기는 S'의 해시, 즉 F(S')를 계산하고, 이 해시 값을, 표 1의 단계 (6)으로부터 적어도 S의 해시, 즉 F(S)를 저장한 서버로 전송한다.
우리의 PCT 공보에서 논의된 바와 같이, 이 기술의 이점은, 공개 바이오메트릭 키를 생성하고 인증을 위해 공개 바이오메트릭 키를 이용함에 있어서, 바이오메트릭 데이터는 일시적인 것 이외에 저장될 필요가 없다는 것이다. 더욱이, 비밀 S는 공유되지 않고; 대신에 S의 해시, 즉 F(S)만이 인증을 위해 이용된다. 그럼에도 불구하고, 바이오메트릭 데이터, 예를 들어, 벡터 E가 일부 수단들에 의해 도용될 경우, 비밀 S가 계산되어, 공개 바이오메트릭 키를 이용하는 임의의 인증을 불안전하게 할 수 있다. 대안적으로, 비밀 S가 도용될 경우, 벡터 E가 계산될 수 있어, 공개 바이오메트릭 키를 이용하는 임의의 인증을 또한 불안전하게 할 수 있다.
이러한 위험들을 해결하기 위해, 2개의 새로운 실시예들에서, 프로세스는 우리가 "재이용가능한 것(reusable)"이라고 부르는 것인데, 그 이유는 주어진 공개 바이오메트릭 키가 손상된 경우, 새로운 공개 바이오메트릭 키가 계산될 수 있고 이전의 공개 바이오메트릭 키는 폐기될 수 있기 때문이다. 새로운 실시예들 중 제1 실시예에서, 비밀 S의 해시, 즉 F(S)는 인증을 위해 필요하거나 이용되지 않는다. 표 1 및 표 2의 제2 라벨링된 열에 예시된 이러한 접근법에서, 공개 바이오메트릭 키를 생성하는 단계들은 공개 바이오메트릭 키 B = A S + E가 계산되는 단계 5까지 우리의 오리지널 프로세스에서와 거의 동일하다. (우리의 오리지널 프로세스에서와 같이, 우리는 바이오메트릭에 대해 밀집 표현을 이용한다.) 그러나, 단계 (3)에서, S의 해시, 즉, F(S)를 계산하는 대신에, 난수 r이 생성된다. 더욱이, 단계 (6)에서, 우리의 오리지널 프로세스와 달리, 우리가 Enc_S(r)로서 표현된 "키 S 하에서의 r의 암호화"라고 부르는 새로운 함수(function)가 등록기에 의해 계산된다. 함수 Enc_S(r)는 대안적으로 HMAC(r, S)로서 계산될 수 있으며, HMAC는 2019년 1월 20일자 https://tools.ietf.org/html/rfc2104에서 이용가능한, Internet Engineering Task Force Request for Comments memorandum RFC 2104에 기술된 유형의 해시 기반 메시지 인증 코드이다. 단계 (6)에서, 퀀터티 A, B, r 및 Enc_S(r)이 서버와 공유된다. (우리의 오리지널 프로세스에서와 같이 엔티티 r 및 Enc_S(r)이 F(S) 대신에 이용된다는 것을 알 수 있다.) 단계 (7)에서, 서버가 A, B, r 및 Enc_S(r)를 수신할 때, 서버는 N 비트를 갖는 제2 무작위 비밀 열 벡터 S'를 생성하고 B' = B + A S'를 계산한다. 그러나, B = A S + E이므로, 이 방정식으로부터 B를 제거하여, 우리는 B' = A (S + S') + E를 갖고, 이 관계는 인증에 이용된다.
이 실시예에서, 인증은 우리의 오리지널 프로세스의 경우에서와 같이 단계 (1)에서 시작되고, 여기서 일시적으로 저장된 바이오메트릭이 획득된다. 단계 (2)에서, 인증기는 서버로부터 A, B, r 및 Enc_S(r)을 수신한다. 단계 (3)에서, 우리의 오리지널 프로세스의 단계 (3)에서와 같이, 인증기는 바이오메트릭 데이터를 M 비트의 열 벡터인 E'로서 직접 인코딩하고, E'의 N개의 신뢰 행들을 선택한다. 단계 (4)에서, 우리의 오리지널 프로세스의 단계 (4)와 유사한 방식으로, 인증기는 신뢰 행들 및 E'를 이용하여 S"=A-1 (B-E')를 계산한다. 그러나, 단계 (5)에서, 이 실시예는 우리의 오리지널 프로세스와 달라지는데, 그 이유는 서버 및 인증기가 이 단계 (5)에서 인증을 달성하기 위해 함께 안전하게 작동해야 하기 때문이다. 이 단계에서, 인증기는 단계 (5)로부터 S"를 갖고, 공개 바이오메트릭 키를 생성하는 단계 (7)로부터, 서버는 r 및 Enc_S(r)를 갖고, 생성된 S'를 갖는다. 다자간 계산(multi-party computation)에서, 서버는 r' = Dec_X(EncS(r))를 계산하기 위해 인증기와 함께 작동하고, 여기서 X = S"-S'이고 Dec_X(y)는 키 X 하에서 y의 해독(decryption)이다. 계산은 Yao의 가블드 회로들(Yao's Garbled Circuits)과 같은, 현재 공지된 양자간 계산(2PC) 또는 다자간 계산(MPC) 프로토콜들을 이용하여 수행될 수 있다. 예를 들어, 2019년 1월 21일자 http://web.mit.edu/sonka89/www/papers/2017ygc.pdf에서 이용 가능한 Sophia Yakoubov, "A Gentle Introduction to Yao's Garbled Circuits"를 참조한다. 단계 (6)에서, 서버는 r' = r 인지를 결정함으로써 인증한다.
이 실시예의 효과는 비밀 S가 대중에게 노출되지도 않고 심지어 등록기로부터 전송되지도 않는다는 것이다. 즉, 인증기도 서버도 비밀 S를 알지 못하고, 서버는 공개 바이오메트릭 키 B를 파괴할 수 없다. 또한, 서버와 인증기 사이의 협력 없이는 인증이 불가능하다. 또한, 서버는 바이오메트릭 데이터를 저장하지 않는다. 이러한 방식으로, 바이오메트릭 데이터가 완전히 손상되더라도, 비밀 S는 비밀로 유지되고, 공개 바이오메트릭 키는 S를 취소하거나 다시 준비할 필요 없이 취소될 수 있다.
공개 바이오메트릭 키 생성에서의 단계 (6)까지, 제1 실시예에서의 우리의 재이용가능한 프로세스는 본질적으로 우리의 오리지널 프로세스와 동일하고, 단계 (6)에서 프로세스들이 달라지는 것이 분명한데, 그 이유는 제1 실시예에서의 우리의 재이용가능한 프로세스가 S의 해시를 이용할 필요성이 없기 때문이다. 대신에, 이 재이용가능한 프로세스는 추가적인 난수 r을 이용하고, 공개 바이오메트릭 키의 생성 동안 함수 Enc_S(r)를 계산한다. 그 함수는 인증기 및 서버 둘 다를 수반하는 다자간 인증 프로세스에서 이용된다.
제1 실시예의 구현은 다음의 프로토콜에 따라 표현될 수 있다.
본 발명의 제2 실시예에서는, 신뢰 서브세트와 함께 잡음 C를 이용하여 재이용 가능한 퍼지 추출기 프로세스(reusable fuzzy extractor process)가 달성된다. 이 실시예는 표 1 및 2의 제3 라벨링된 열에 예시되어 있다.
전통적인 퍼지 추출기들은 바이오메트릭 데이터의 세트당 하나의 바이오메트릭 공개 키만을 생성할 수 있다. 예를 들어, 인간은 동일한 손가락으로 두 번 등록할 수 없다. 제2 실시예의 재이용 가능 퍼지 추출기를 이용하여, 등록기에 의해 수행되는 등록 함수(enroll function)는 시스템의 보안 요구들을 위반하지 않고 동일 바이오메트릭 데이터(또는 그의 소정 서브세트)에 대해 2회 이상 호출될 수 있다.
재이용 가능한 퍼지 추출기는 바이오메트릭 공개 키를 계산하는 것의 일부로서 유효 바이오메트릭 데이터에 더하여 무작위 채프와 같은 잡음이 있는 데이터를 이용한다. 오리지널 프로세스는 바이오메트릭 등록 데이터를 비트 벡터 E로서 해석하고, 후속 인증 데이터를 E'로서 해석한다는 것을 상기한다. 추출기는 인증기가 E까지의 해밍 거리(Hamming Distance)가 작은 (임계치 아래) E'의 "신뢰 서브세트"를 식별할 수 있는 경우에 성공한다. 본 발명의 재이용 가능 퍼지 추출기는 잡음이 있는 데이터를 E에 추가하지만, 여전히 동일 신뢰 서브세트를 식별할 수 있다. 잡음이 있는 데이터의 추가는 다수의 공개 키들이 동일한 바이오메트릭 데이터로부터 생성되는 것을 허용한다. 재이용 가능한 퍼지 추출기는 보안을 유지하고 취소 가능성(revocability)을 허가하는 방식으로 동일, 유사 또는 중복 바이오메트릭 데이터로부터 다수의 공개 키의 생성을 허가한다.
우리의 오리지널 프로세스의 경우에서와 같이, 재이용 가능한 퍼지 추출기를 이용하여 공개 바이오메트릭 키를 생성하는 모든 단계들은 등록기에 의해 수행된다. 그러나, 우리의 오리지널 프로세스와 달리 그리고 전술한 본 발명의 제1 실시예와 달리, 이 제2 실시예에서는, 단계 (1)에서, 우리는 희소 표현을 갖는 일시적으로 저장된 바이오메트릭을 획득하는 것으로 시작한다. 이 실시예의 단계 (2)에서, 바이오메트릭 데이터는, 예를 들어, 특징들이 검출되는 위치들에서 "0"을 선택하고, 특징들이 검출되지 않는 경우, 균일 무작위 비트(uniformly random bit)(또는 잠재적으로 특정 바이어스를 갖는, 독립적이고 동일하게 분포되는 비트들)와 같은 잡음이 있는 데이터를 선택함으로써, 벡터 E로서 인코딩된다. E는 M 비트의 열 벡터이다. 벡터 E 내의 "0"의 엔트리는 데이터 항목이 잡음이 있는 데이터가 아니라는 점에서 의미 있다는 것을 나타낸다. 실제로, 엔트리는, 예를 들어 임의의 선택된 상수일 수 있다. 더 일반적으로, 엔트리는 의미 있는 데이터 항목의 존재를 나타내는 임의의 적절한 마커, 즉 잡음이 있는 데이터가 아닌 엔트리일 수 있다.
재이용 가능한 퍼지 추출기는, 바이오메트릭 데이터를 이진 문자열로서 해석하는 대신에, 바이오메트릭 데이터로부터 E(및 E')를 인코딩하는 상이한 접근법을 취한다. 단계 (2)의 일 실시예에서, 재이용 가능한 퍼지 추출기는 바이오메트릭 데이터를 일부 고차원 벡터 공간들 내의 벡터들의 세트로서 해석한다. 이 실시예에서, 재이용 가능한 퍼지 추출기는 그러한 공간을 양자화하고, 아래와 같이 각각의 양자화된 포인트에 비트를 할당한다. 사용자의 바이오메트릭 데이터를 포함하는 벡터들의 세트 내에 주어진 포인트(예를 들어, 특징이 검출되는 위치)로 양자화하는 벡터가 존재하는 경우, 그 포인트와 연관된 비트는 "0"에 할당된다. 그렇지 않으면, 포인트와 연관된 비트는 잡음이 있는 데이터 비트에 할당되고, 그 예는 균일 무작위 비트("채프" 또는 "무작위 채프"라고 지칭됨)이고, 잡음이 있는 데이터 비트와 연관된 포인트는 "잡음이 있는 데이터 포인트"라고 지칭될 수 있다. 이 할당은 벡터 공간 내의 모든 양자화된 포인트에 대해 수행되어, 일정한 크기의 비트-벡터를 유발한다. 이어서, 이 비트 벡터는 오리지널 프로세스에서 E 벡터로서 이용된다.
실시예들에서, 잡음이 있는 데이터는 무작위일 필요는 없다. 이는 신뢰 서브세트와 구별될 수 있는 데이터이기만 하면 된다. 바이오메트릭 데이터로부터 무상관되는(de-correlated) 데이터는 잡음이 있는 데이터에 이용될 수 있는 예이다. 의사 무작위(Pseudorandom) 데이터는 잡음이 있는 데이터에 이용될 수 있는 다른 예이다. 잡음이 있는 데이터는 시스템 내의 어디에나 그리고 다수의 장소에 추가될 수 있고 - 단지 신뢰 서브세트를 대체할 수는 없다.
공개 키 생성의 나머지 단계들은 우리의 오리지널 프로세스의 그것들과 유사하다(parallel): (3)은 N 비트를 갖는 비밀 열 벡터 S를 생성하고 해시 F(S)를 계산하며; (4)는 비트들의 M개의 행 및 N개의 열을 갖는 행렬 A를 선택하고; (5)는 공개 바이오메트릭 키 B= A S + E를 계산하고; (6)은 F(S), A, B를 공개 또는 전송한다.
제2 실시예에서, 인증은 우리의 오리지널 프로세스에서와 동일한 방식으로 달성된다: (1)은 일시적으로 저장된 바이오메트릭을 획득하고; (2)는 F(S), A, B를 수신하며; (3)은 바이오메트릭 데이터를 M 비트의 열 벡터인 E'로서 직접 인코딩하고, E'의 N개의 신뢰 행을 선택하며; (4)는 신뢰 행들 및 E'를 이용하여 S' = A-1 (B-E')를 계산하고; (5)는 해시 F(S')를 계산하고, 이를 서버로 전송하며, 단계 (6)에서, 서버는 해시들이 동일한지, 즉 F(S')=F(S)인지를 결정함으로써 인증한다. 잡음이 있는 데이터 포인트들은 바이오메트릭 데이터로부터 무상관되기 때문에, 잡음이 있는 데이터 포인트들은 신뢰 서브세트의 일부가 아니라는 점에 유의하여야 한다. 반대로, 신뢰성 있게 계산된 벡터는 신뢰 서브세트 내의 비트에 대응한다. 이러한 잡음이 있는 데이터 포인트들의 추가는 구성의 보안을 더 증가시켜, 퍼지 추출기가 재이용될 수 있게 한다.
본 발명의 제2 실시예와 우리의 오리지널 프로세스 사이의 주요 차이점들은 공개 키 바이오메트릭을 생성하기 위한 제2 실시예의 단계 (1) 및 (2)에 있다. 단계 (1)에서, 우리는 바이오메트릭의 희소 표현으로 시작하고, 단계 (2)에서, 이 희소 표현은 벡터의 어느 위치들이 특징들을 실제로 인코딩하고 있는지를 식별하는 것을 어렵게 하는 방식으로 인코딩된다. E에는 데이터가 너무 많아서, E가 도용되더라도, 데이터는 특히 바이오메트릭 자체를 드러내지 않을 것인데, 이는 E가 너무 많은 잡음 C를 포함하기 때문이다. 더욱이, 바이오메트릭 공개 키가 손상되는 경우에, 새로운 공개 키가 단계 (1) 및 (2)에서와 동일한 방법에 의해 그러나 잡음 C의 상이한 성분을 이용하여 생성될 수 있다.
본 발명의 제1 및 제2 실시예들은 오리지널 프로세스의 상이한 스테이지들에서 우리의 오리지널 프로세스와 달라지기 때문에, 제1 및 제2 실시예들은 또한 함께 실시될 수 있다. 결과적으로, 본 발명의 추가 실시예에서, 등록기는 표 1의 제3 라벨링된 열의 단계 (1)에서와 같이 희소 표현을 갖는 일시적으로 저장된 바이오메트릭을 획득함으로써 시작한 다음, 표 1의 제3 라벨링된 열의 단계 (2)에서와 같이 잡음 C를 포함하는 방식으로 바이오메트릭 데이터를 인코딩한다. 그 후, 처리는 표 1 및 표 2의 제2 라벨링된 열에 도시된 단계들을 따른다. 이러한 방식으로, S의 해시를 계산하는 대신에, 처리는 단계 (3)에서, 제2 라벨링된 열에 도시된 바와 같이 난수 r 및 N 비트를 갖는 무작위 비밀 열 벡터 S를 생성하는 것을 포함한다. 단계 (6)에서, 등록기는 서버에 A, B, r 및 Enc_S(r)를 전송한다. 단계 (6)에서, 서버는 A, B, r, Enc_S(r)를 수신 및 등록하고, N 비트를 갖는 무작위 비밀 열 벡터 S'를 생성하며 B' = B + A ㆍ S'를 계산한다. 인증 처리는 정확하게 표 2의 제2 라벨링된 열과 관련하여 이전에 설명된 바와 같다. 이 추가의 실시예에 의하면, 잡음 C의 존재는 바이오메트릭 공개 키의 생성 이전에도 바이오메트릭을 구별하는 것을 어렵게 하고, 바이오메트릭 공개 키가 손상될 경우에, 새로운 바이오메트릭 공개 키가 잡음 C의 상이한 성분을 이용하여 생성될 수 있다. 또한, 잡음 C와 무관하게, 난수 r의 이용은 새로운 바이오메트릭 공개 키의 생성을 위한 다른 기초를 제공하고, 이전에 설명된 다자간 인증 절차는 추가의 보안을 제공한다.
재이용 가능한 퍼지 추출기를 갖는 제2 실시예는 아래와 같이 다양한 예시적인 응용들에서 이용될 수 있다.
재이용 가능한 퍼지 추출기 실시예의 가장 간단한 응용은 공개 키 취소(revocation)의 가능화에 있다. 이 이용 사례에서, 사용자가 사용자의 공개 키를 생성하는 바이오메트릭 키 제공자에 자신의 바이오메트릭 데이터를 등록한 후에, 다음 중 하나가 발생한다: (1) 바이오메트릭 키 제공자가 해킹되어-사용자의 아이덴티티를 사용자의 공개 키에 바인딩하는 신뢰 체인의 파괴를 초래하거나, (2) 사용자의 바이오메트릭 데이터가 변경된다(예를 들어, 손가락의 손실/손상). 이 경우들 중 어느 하나에서, 사용자가 사용자의 바이오메트릭 데이터를 재등록할 필요가 있다(제1 경우에, 바이오메트릭 키 제공자가 실패하기 때문에, 그리고 제2 경우에, 사용자의 바이오메트릭이 변경되기 때문에). 이것은 (동일한 바이오메트릭 데이터로부터 도출된 제2 공개 키를 갖는 것이 안전하지 않기 때문에) 현재의 퍼지 추출기 기술로는 불가능하지만, 본 발명의 재이용 가능한 퍼지 추출기로는 쉽게 가능하다. 사용자는 신뢰된 바이오메트릭 키 제공자에 사용자의 바이오메트릭 데이터를 재등록하기만 하면 된다. 재이용 가능 추출기를 이용하여, 사용자는 사용자의 공개 키를 "취소"하고, 언제라도 새로운 공개 키를 등록할 수 있다.
재이용 가능한 퍼지 추출기 실시예의 다른 흥미로운 응용은 하나의 공개 키 하에 사람들의 바이오메트릭 데이터의 다수의 그룹을 등록하는 형태로 제공된다. 이러한 구성에서, 각각의 사용자의 바이오메트릭 특징들은 공개 키 내에 등록된 바이오메트릭 데이터의 일부를 구성하고, 키 추출 동안 이용되는 자연 임계 암호화 기법(natural threshold cryptography)은 키 추출 프로세스 동안 사람들의 정족수가 존재하는 경우에만 성공할 것이다. 그러나, 이러한 구성은 전통적인 퍼지 추출기 시스템들에서 파괴되는데, 그 이유는 사용자당 1 키 모델(one-key-per-user model)과 호환되지 않는 그룹 키들의 여러 요건이 존재하기 때문이다. 예를 들어: (1) 동일한 사용자가 둘 이상의 그룹 내에 존재할 수 있거나, (2) 그룹 내의 사용자들이 시간에 따라 변하여, 그룹에 액세스하기 위한 개별 사용자의 권리의 취소를 필요로 할 수 있다. 이러한 경우들 모두는 적어도 2개의 공개 키의 구성을 필요로 하며, 각각의 키의 일부는 단일 사용자의 바이오메트릭 데이터로부터 도출된다. 동일한 바이오메트릭 데이터로부터 도출된 제2 공개 키를 갖는 것은 보안을 파괴한다. 그러나, 우리의 재이용가능한 추출기에 의해, 이것은 쉽게 가능한데, 이는 사용자들(또는 사용자 그룹들)이 언제라도 등록하고 마음대로 이전의 키를 취소할 수 있기 때문이다.
재이용 가능한 퍼지 추출기의 다른 응용은 동일인을 프라이버시 향상을 위해 여러 번 등록하는 것이다. 사람당 한 번의 등록만을 허용하는 것의 하나의 염려는 사람의 바이오메트릭 공개 키가 그들의 일생(entire life)동안 그들에게 고유하게 바인딩된다는 것이다. 이것은 프라이버시 관점에서 바람직하지 않은데, 이는 상대방이 공개 키와 사용자 사이의 관계를 식별하면, 이 공개 키가 사용자의 나머지 인생동안 사용자를 추적하는 데 이용될 수 있기 때문이다. 이것은 프라이버시의 핵심 원칙들 중 다수를 위반한다. 그러나, 재이용 가능한 퍼지 추출기를 이용하면, 이러한 문제는 없어진다. 사용자는 사용자의 바이오메트릭 데이터를 원하는 만큼 여러 번 등록하고, 사용자가 소유하는 공개 키들을 마음대로 취소할 수 있다. 그 결과, 고유 공개 키가 사용자의 일생 동안 사용자에게 바인딩될 필요가 없다.
본 발명의 재이용 가능한 퍼지 추출기 실시예의 추가 응용은 향상된 성능을 위해 사용자의 공개 키를 진화시키는 것이다. 바이오메트릭 데이터는 비교적 일정하지만, 시간이 지남에 따라 변할 수 있는 이유들(예를 들어, 바이오메트릭 구조에 대한 손상, 또는 지문 융선 평탄화와 같은 자연적으로 발생하는 프로세스들)이 있다. 그 결과, 성공적인 인증 후에 바이오메트릭 템플릿(biometric template)을 인증 프로세스 동안 바이오메트릭에 대해 학습된 업데이트된 정보로 업데이트할 수 있는 것이 도움이 된다. 재이용 가능한 퍼지 추출기에서, 사용자가 자신의 키를 성공적으로 추출하면, 사용자는 로컬 알고리즘을 실행하여, (추출된 키를 이용하여 획득될 수 있는) 등록된 바이오메트릭 템플릿과 측정된 바이오메트릭 데이터를 비교할 수 있다. 알고리즘이 템플릿에 대한 업데이트가 필요하다고 결정하면, 그것은 새로운 공개 키를 자동으로 생성하고, 공개 키 데이터베이스를 업데이트하고, 이전 키를 취소할 수 있다(키가 추출되기 때문에, 데이터베이스는 바이오메트릭 공개 키를 업데이트할 신뢰할 수 있는 통신 경로를 확립할 수 있다는 것을 관찰할 수 있다).
재이용 가능한 퍼지 추출기 실시예의 다른 응용은 다수의 정렬 및 특징 추출 전략의 등록이다. 바이오메트릭 특징 인식은 하드웨어 센서, 특징 데이터를 추출하기 위해 이용되는 소프트웨어 전략들뿐만 아니라 이 특징 데이터의 표현에 의존할 수 있는 복잡한 프로세스이다. 도메인들에 걸쳐 동작해야 하는 많은 현대의 바이오메트릭 시스템들은 이용되는 센서에 따라 상이한 템플릿들을 갖는다. 더욱이, 특징 추출 전략들은 인증의 스타일(예를 들어, 센서에 대한 바이오메트릭 데이터의 배향(orientation)이 알려져 있는지, 바이오메트릭 판독이 고품질/저품질인지 등)에 따라 상이하다. 바이오메트릭 데이터가 한 번만 등록될 수 있기 때문에, 그러한 전략을 보통(normal) 퍼지 추출기 기술에 매핑하는 것은 불가능하다. 그러나, 다시 한 번, 우리의 재이용 가능한 퍼지 추출기를 이용하면, 상이한 센서들, 상이한 특징 추출/정렬 전략들 및/또는 상이한 특징 표현들로부터의 데이터로부터 도출되는 다수의 공개 키를 구성하는 것은 쉽다.
재이용성(reusability)에 여전히 제한이 있다. 제한은, 기본(underlying) 바이오메트릭 데이터가 손상되면, 추출기 보안이 파괴된다는 것이다. 이것은 임의의 바이오메트릭 인증 시스템에 대해 항상 사실일 것이다. 본 발명의 실시예들은 생명성 검출(liveness detection) 및 다른 기술들을 이용하여 이러한 제한을 완화한다. 다른(사소한) 제한은 추출되는 루트 키(root key)가 이용되지 않아야 한다는 것이다. 루트 키가 손상되면, 바이오메트릭 데이터는 상대방에 의해 쉽게 도용될 수 있다(즉, 공개 키는 가역적이 된다). 그러나, 이것은 이용 전에 항상 루트 키를 해싱함으로써 쉽게 해결된다.
도 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)가 비밀 번호가 올바르게 계산된 것을 결정하기에 충분한 정보를 포함한다. 예를 들어, 비밀 번호는 암호 해시(cryptographic hash)와 같은 단방향 함수(one-way function)를 이용하여 암호화될 수 있고, 해싱된 값은 바이오메트릭 공개 키와 통신된다. 피험자(11)를 인증하기 위해, 단방향 함수가 계산된(후보) 비밀 번호에 적용되어 일치가 있는지를 결정한다. 결정이 행해지면, 컴퓨팅 설비(13)는 피험자(11)가 알려진 개체로서 인증되어 있다는 표시를 정보 시스템(15)으로 전송한다.
다른 실시예에서, 컴퓨팅 설비(13)는 비밀을 정보 시스템(15)으로 전송하고, 이 정보 시스템은 피험자(11)가 알려진 개체로서 인증되는지를 결정한다. 예를 들어, 정보 시스템(15)은, 이 분야에 공지된 프로세스들을 이용하여, 비밀이 알려진 개체와 이미 연관된 패스워드에 대응하는지를 결정할 수 있고, 그에 따라 액세스를 승인하거나 거부할 수 있다.
(공개 바이오메트릭 키의 생성을 위한) 표 1 및 (공개 바이오메트릭 키를 이용한 인증을 위한) 표 2의 제2 라벨링된 열에 요약된, 본 발명의 제1 실시예와 관련하여 더 상세히 설명되는 바와 같이, 비밀 S는 실제로 공유되거나 등록기 컴퓨터로부터 전송될 필요가 없다. S의 해시를 계산하는 대신에, 등록기 컴퓨터는 추가의 난수 r을 이용하고, 공개 바이오메트릭 키 B 외에, 키 S 하에서 r의 암호화, 즉 Enc_S(r)를 계산하고, 이는 r 및 B와 함께 서버에 전송된다. 이들 엔티티들은, 본 명세서에서 더 설명되는 바와 같이, 인증기 및 서버를 수반하는 보안 다자간 컴퓨팅 세션에서의 인증에 이용된다.
도 2는 본 발명의 일 실시예에 따른 바이오메트릭 공개 키를 생성하거나 이용하기 위한 디바이스(20)의 개략도이다. 인증 프로세스 동안, 디바이스(20), 보다 상세하게는 컴퓨팅 설비(21)는 본 명세서에 설명된 여러 개의 프로세스가 성공적으로 완료된 후에만 피험자가 알려진 개체로서 인증되도록 구성되어 있다.
디바이스(20)는 컴퓨팅 프로세서(22) 및 명령어 메모리(23)를 갖는 컴퓨팅 설비(21)를 포함한다. 컴퓨팅 설비(21)는 예를 들어 이 분야에 공지된 하드웨어 보안 모듈일 수 있다. 컴퓨팅 프로세서(22)는 임의의 종래의 마이크로프로세서, 주문형 집적 회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA), 또는 다른 유사한 디바이스일 수 있다. 명령어 메모리(23)는 컴퓨팅 프로세서(22)에 의해 실행될 수 있는 명령어들을 저장하도록 동작가능하고, 이 분야에 공지된 바와 같은 종래의 휘발성 랜덤 액세스 메모리(RAM) 또는 유사한 것, 이 분야에 공지된 바와 같은 판독 전용 메모리(ROM)와 같은 비휘발성 메모리 또는 유사한 것, 또는 이러한 기술들의 조합일 수 있다.
디바이스(20)는 또한, 컴퓨팅 설비(21)에 결합되어 바이오메트릭을 특성화하는 디지털 전자 신호를 출력하도록 동작가능한 트랜스듀서(24)를 포함한다. 트랜스듀서(24)는 예를 들어 홍채 스캐너 또는 지문 이미저(fingerprint imager), 또는 바이오메트릭 데이터를 획득하기 위한 이 분야에 공지된 다른 기술일 수 있다.
디바이스(20)는 컴퓨팅 설비(21)에 결합된 선택적인 데이터 통신 포트(25)를 더 포함한다. 데이터 통신 포트(25)는 등록 프로세스 동안에 컴퓨팅 설비(21)에 의해 계산된 바이오메트릭 공개 키를 암호 토큰(cryptographic token)과 같은 다른 디바이스로 또는 공개 키 데이터베이스와 같은 공개 데이터 소스로 전송하는 데 이용될 수 있다. 또한, 데이터 통신 포트(25)는 인증 프로세스 동안 그러한 암호 토큰 또는 공개 데이터 소스로부터 바이오메트릭 공개 키를 수신하는 데 이용될 수 있다. 따라서, 데이터 통신 포트(25)의 물리적 구성은 응용에 따라 달라질 수 있지만, 어쨌든 (이더넷 포트와 같은) 유선 데이터 네트워킹 포트 또는 (블루투스 또는 다른 근거리 무선 통신 송수신기(near-field communication transceiver)와 같은) 무선 데이터 네트워킹 포트일 수 있다.
마지막으로, 디바이스(20)는 하나 이상의 다른 프로세서 및 메모리(26)를 포함할 수 있다. 컴퓨팅 설비(21)는 인증과 무관한 기능들을 수행하는 데스크톱 컴퓨터, 스마트폰, 태블릿 컴퓨터 및 유사한 전자 디바이스를 포함하는 많은 디바이스의 전자 회로에 통합되도록 설계될 수 있다. 다른 프로세서들 및 메모리(26)는 컴퓨팅 설비(21)가 그러한 디바이스들에 어떻게 통합될 수 있는지를 설명하기 위해 도시된다.
본 발명의 일부 실시예들에서, 데이터 통신 포트(25)는 바이오메트릭 공개 키를 포함하는 공개 데이터 소스에 결합되도록 구성될 수 있다. 그러한 실시예들은 또한 공지된 방법들에 따라 공개 데이터 소스를 디바이스에 인증하기 위한 하드웨어 보안 모듈을 포함할 수 있다. 대안적으로, 데이터 통신 포트는 바이오메트릭 공개 키를 저장하기 위한 암호 토큰을 물리적으로 수신할 수 있다. 이 대안적 실시예는, 암호 토큰이 공지된 방법을 이용하여 인증될 수 있기 때문에, 실시예와 임의의 공개 데이터 소스 사이의 신뢰성있거나 일관된 접속을 요구하지 않는다는 점에 유의한다.
본 발명의 일부 대안적인 실시예들에서, 디바이스는 제2 트랜스듀서의 무결성(integrity)을 보장하기 위한 하드웨어 보안 모듈을 포함한다. 그러한 하드웨어 보안 모듈들은 이 분야에 공지되어 있다. 대안적으로, 디바이스는 방정식에 관한 수학적 연산들의 계산을 가속화하기 위한 수학 코프로세서(mathematics coprocessor)를 포함할 수 있다. 이러한 프로세서들도 이 분야에 공지되어 있다.
도 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)는 본 명세서에서 설명되는 바와 같이 바이오메트릭 공개 키(37)를 생성한다. 나중의 인증을 돕기 위해, 등록 시스템(34)은 아이덴티티 정보(32) 및 바이오메트릭 공개 키(37)를 바이오메트릭 인증 기관(38)에 전송할 수 있다. 바이오메트릭 인증 기관(38)은 예를 들어 그 문구가 공개 키 기반구조의 분야에 알려져 있는 바와 같이 "인증 기관(certificate authority)"일 수 있거나, 유사한 기능을 수행하는 다른 설비일 수 있다. 바이오메트릭 인증 기관(38)은 아이덴티티 정보(32) 및 바이오메트릭 공개 키(37)를 수신하면, 이들 데이터를 종래의 데이터베이스일 수 있는 공개 키 데이터베이스(39)에 저장한다.
추가적인 프로세스들이 등록 전에 도 3에 도시된 것들에 추가될 수 있다. 예를 들어, 바이오메트릭 인증 기관(38)은 새로운 공개 키(37) 또는 아이덴티티 정보(32)를 수락하기 전에 등록 시스템(34)을 인증하기를 원할 수 있다. 이것은 표준 암호화 및 인증 알고리즘들을 통해 행해질 수 있다.
유리하게, 바이오메트릭 정보(33)와 함께 아이덴티티 정보(32)를 (불안전하게) 저장하는 기존의 데이터베이스는 본 발명의 실시예에 따라 공개 키 데이터베이스(39)로 쉽게 변환될 수 있다. 변환 프로세스는 단순히 각 개체의 아이덴티티 정보(32) 및 바이오메트릭 정보(33)를 등록 시스템(34)의 키 생성(36) 기능에 직접 공급하여, 트랜스듀서(35)를 우회하는 것을 수반한다. 이어서, 결과적인 바이오메트릭 공개 키들(37)은 아이덴티티 정보(32)와 연관되어 저장될 수 있고, 바이오메트릭 정보(33)는 그 후 삭제될 수 있다(따라서 손상으로부터 보호될 수 있다). 그 후, 바이오메트릭 인증 기관(38)은 공개 키 데이터베이스(39)를 악성 액세스로부터 더 보호할 필요가 없을 것인데, 이는 바이오메트릭 정보(33)가 거기에 저장되지 않을 것이기 때문이다. 더욱이, 이미 등록한 개체들은 재등록할 필요가 없을 것이다.
더욱이, 그러한 변환은 형사 사법 목적들을 위해 이용될 수 있는 것과 같이, 바이오메트릭 검색에 부정적인 영향을 미치지 않을 것이다. 연방 수사국에 의해 이용되는 것들을 포함하는 현재의 시스템들은 대량의 검색 가능한 바이오메트릭 데이터를 저장한다. 당연히, 이러한 데이터는 이들을 이익을 위해 남용할 신분 도용 및 다른 악의적인 개체들에 대한 주요 목표들이다. 그러나, 위의 프로세스들은 바이오메트릭 데이터를 달리 이용 가능한 형태로 저장하지 않고 바이오메트릭 데이터를 바이오메트릭으로서 자체적으로 이용할 수 없는 공개 키로서 인코딩하도록 적용될 수 있다. 바이오메트릭 공개 키들을 생성하기 위한 고려되는 프로세스들은 도 5와 관련하여 후술하는 바와 같이 선형이기 때문에, 저장된 데이터를 디코딩할 필요 없이 바이오메트릭 질의(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) 둘 다를 수신하면, 컴퓨팅 설비는 표 2를 참조하여 논의된 실시예들과 관련하여 본 명세서에 설명된 바와 같이 인증을 수행한다.
도 5는 바이오메트릭 데이터의 비일시적인 저장을 필요로 하지 않고, 개체의 바이오메트릭 데이터에 기초하여 개체에 대한 바이오메트릭 공개 키를 생성하는 방법을 도시하는 흐름도이다. 구체성을 위해, 바이오메트릭은 홍채 프린트로서 설명되고; 이 분야의 통상의 기술자는 후속 프로세스들이 다른 바이오메트릭들에 대해 어떻게 상이한지를 이해할 수 있어야 한다.
도 5의 프로세스들은 도 3에 도시된 등록 시스템(34)과 같은 등록 시스템 내의 컴퓨팅 설비에 의해 수행되는 것으로 고려된다. 바람직한 실시예에서, 컴퓨팅 설비는 개체의 아이덴티티가 별도로 인증될 수 있는 보안 환경에 위치된다. 따라서, 예를 들어, 컴퓨팅 설비는 경찰서에 있거나, 회사의 보안 사무실에 있을 수 있고, 여기서 신뢰받는 사람은 개체의 아이덴티티를 검증할 수 있다.
제1 프로세스(51)에서, 컴퓨팅 설비는, 트랜스듀서로부터, 전술한 바와 같이, 개체(31)의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신한다. 변환(Transduction)은 이 분야에 공지된 임의의 방법에 따라 수행될 수 있다. 홍채 프린트의 경우, 트랜스듀서는 홍채의 사진 또는 비디오 이미지를 취하고, 표준 데이터 포맷(예를 들어, RGB 또는 그레이스케일)에 따라 이미지를 (예를 들어, 픽셀) 데이터로서 인코딩하는 신호를 출력한다.
제2 프로세스(52)에서, 컴퓨팅 설비는 신호로부터 바이오메트릭 값들의 세트를 추출한다. 바이오메트릭 값은 임의의 디지털 데이터일 수 있지만, 통상적으로 대응하는 이진-인코딩된 수의 "가장 중요한" 특징(feature)을 나타내는 단일 비트이며, 중요도는 특정 응용에 의존한다. 실시예들에서, 바이오메트릭 값들은, 벡터의 어느 위치들이 실제로 특징들을 인코딩하고 있는지를 식별하는 것을 어렵게 하는 방식으로 인코딩되는 희소 표현을 갖는다. 바이오메트릭 값들은 너무 많은 데이터를 가지며, 따라서 데이터가 도용되더라도, 데이터는 또한 너무 많은 잡음 C를 포함하기 때문에, 데이터는 바이오메트릭 자체를 특별히 드러내지 않을 것이다.
제3 프로세스(53)에서, 컴퓨팅 설비는 바이오메트릭 값들의 세트에서, 특징들이 존재하는 위치들을 식별한다. 예를 들어, 신호가 픽셀 데이터를 포함하는 경우, 바이오메트릭 값들은 가변 휘도 강도 또는 컬러 값들의 혼합의 위치들을 가질 수 있다. 바이오메트릭 값에서의 위치들은 그 위치들에 존재하는 특징(예를 들어, 미리 결정된 임계치 초과 또는 미만의 밝기)에 기초하여 식별될 수 있다. 제4 프로세스(54)에서, 컴퓨팅 설비는 특징들이 존재하는 위치들에서 마커(예를 들어, "0")를 선택하고, 특징들이 존재하지 않는 경우에 채프 비트 값들과 같은 잡음이 있는 데이터를 선택함으로써 바이오메트릭 값들의 세트를 열 벡터 E로서 인코딩한다. 선택적으로, 채프 비트 값들은 (a) 무작위 값들 및 (b) 독립적이고 동일하게 분포된 값들의 그룹으로부터 집합적으로 선택된다. 컴퓨팅 설비는 인코딩에 잡음을 포함시키는 방식으로 바이오메트릭 데이터를 인코딩하여, 따라서 실제로 어느 위치들이 인코딩된 특징들인지를 식별하는 것은 어렵다.
제5 프로세스(55)에서, 컴퓨팅 설비는 비밀 번호를 생성한다. 의사-난수(pseudo-random number) 생성기의 이용을 포함하는, 비밀 번호를 생성하기 위한 많은 방법들이 있다. 컴퓨팅 설비는 단방향 함수(예를 들어, F)를 이용하여 비밀 번호 S를 암호화할 수 있다. 함수 F가 단지 단방향이기 때문에, 비밀 번호 S는 해싱된 값 F(S)로부터 실현가능하게 복구될 수 없으므로, 후자의 값 F(S)는 비밀 번호 S를 손상시키지 않고 공개될 수 있다는 것을 이해하여야 한다. 대안적으로, 비밀 번호는 암호(예를 들어, 해시) 함수를 이용하여 후속하여 처리되는 패스프레이즈(pass phrase)의 형태로 개체에 의해 제공될 수 있다.
제6 프로세스(56)에서, 컴퓨팅 설비는 비밀 번호 및 인코딩된 바이오메트릭 값들에 기초하여 바이오메트릭 공개 키를 계산한다. 프로세스(56)는 도 3의 키 생성(36)의 기능에 대응한다. 이러한 바이오메트릭 공개 키를 계산하는 하나의 방법은 선형 대수를 이용하지만, 이 분야의 통상의 기술자는 이용될 수 있는 다른 방법들을 알 수 있다.
선형 대수법은 소정의 표기법(notation)이 먼저 설정되는 경우에 더 쉽게 이해될 수 있다. 바이오메트릭 공개 키를 B라고 불리는 비트들의 벡터로서, 비밀 번호를 S라고 불리는 비트들의 벡터로서, 그리고 인코딩된 바이오메트릭 값들을 E라고 불리는 N 비트의 벡터로서 표현한다. 바이오메트릭 공개 키 B는 인코딩된 바이오메트릭 값들 E와 동일한 크기를 갖는 반면(즉, 각각은 N개의 비트를 갖는 열 벡터로서 표현될 수 있음), 비밀 번호 S는 임의의 크기를 가질 수 있다(즉, N 비트의 비밀 열 벡터로서 표현될 수 있음). 비트들의 N개의 행 및 M개의 열을 갖는 이진 행렬 A를 선택한다. 그러면, 바이오메트릭 공개 키 B에 대한 공식은 로서 표현될 수 있다. 즉, 바이오메트릭 공개 키 B는 (즉, 행렬 곱셈(matrix multiplication)을 이용하여) 이진 행렬 A에 비밀 번호 S를 곱한 다음, 인코딩된 바이오메트릭 값들 E를 더함으로써(즉, 비트별 배타적 0R(bitwise exclusive OR)을 이용함) 획득된다. 이진 행렬 A는 일 경우 정사각형이 아닐 것이다.
이진 행렬 A는 임의의 기법을 이용하여 선택될 수 있거나, 무작위로 선택될 수 있다. 일 실시예는 각각의 바이오메트릭 공개 키 B에 대해 이진 행렬 A를 선택할 수 있고, 따라서 그것은 개체와 고유하게 연관된다. 이 실시예에서, 이진 행렬 A는 각각의 바이오메트릭 공개 키 B와 함께 배포되어야 하고, 본질적으로 공개 키의 일부를 형성한다. 다른 실시예는 이진 행렬 A를 컴퓨팅 설비 자체와 연관시켜, 그 설비를 이용하여 생성된 키들을 식별할 수 있다. 이 실시예에서, 이진 행렬 A는 각각의 바이오메트릭 공개 키 B와 고유하게 연관되는 것이 아니라, 인증 전에 바이오메트릭 인증 기관 또는 다른 소스로부터 획득되어야 한다. 또 다른 실시예는 이진 행렬 A를 상수 설계 파라미터(constant design parameter)로서 지정할 수 있어서, 다수의 컴퓨팅 설비가 상호 호환가능한 바이오메트릭 공개 키들을 생성하는 데 이용될 수 있다. 이 실시예에서, 이진 행렬 A는 심지어 공개될 필요가 없고, 바이오메트릭 공개 키 B를 생성하는 디바이스의 보안 부분에 저장될 수 있다.
B에 대한 공식이 선형이라는 것을 알 수 있다. 그러므로, 그러한 공식들의 알려진 특성들에 따라, 공식은 B, A 및 E가 알려져 있는 한, 비밀 S에 대한 후보 값을 풀 수 있다. 특히, 해는 에 의해 주어지고, 여기서 이진 행렬 A가 정사각형이 아니면, 일반화된 행렬 역(matrix inverse)(예컨대, 무어-펜로즈 의사 역행렬(Moore-Penrose pseudoinverse))이 행렬 곱셈을 위해 이용될 수 있다. 그러나, 이러한 선형성에도 불구하고, 비밀 S의 이용은 인코딩된 바이오메트릭 값들 E를 검출로부터 차단하여 E의 값을 암호화하도록 동작한다. 만족스러운 대칭에서, 인코딩된 바이오메트릭 값들 E의 이용은 S의 값을 암호화하도록 동작한다. 이러한 방식으로, B의 값은 바이오메트릭 데이터 또는 비밀 번호의 비일시적인 저장을 필요로 하지 않고 개체의 바이오메트릭 데이터 및 비밀 번호 둘 다를 검증가능하게 특성화한다.
계산은 단지 비밀 번호 S 및 인코딩된 바이오메트릭 값들 B 이외의 정보를 포함할 수 있다는 것을 이해해야 한다. 이름, 운전자 면허 번호, 거리 주소, 조직 멤버십 번호 등과 같이, 인증 목적들을 위해 전통적으로 이용되는 다른 정보도 포함될 수 있다. 이 추가 정보는, 먼저 그것을 호환가능한 이진 형태로 변환한 다음, 그것을 바이오메트릭 공개 키 B에 직접 (비트별로) 추가하거나, 이진 행렬 A와의 곱셈 전에 그것을 비밀 번호 S에 (비트별로) 추가함으로써 선형 방법에서 용이하게 통합될 수 있다. 또한, 이러한 추가 정보가 바이오메트릭 공개 키 B를 계산하는 데 이용된다면, 그것은 또한 인증 동안에 제시되어야 하고; 이 경우, 비밀 번호 S에 대해 풀 공식은 그에 따라 수정되어야 한다는 것을 이해할 것이다.
도 5의 방법은 컴퓨팅 설비가 바이오메트릭 공개 키를 저장 설비에 저장하는 제7 프로세스(57)로 끝난다. 실시예들에서, 컴퓨팅 설비는 비밀 번호 S(또는 비밀 번호 S의 해시 F(S)) 및/또는 이진 행렬 A를 저장한다. 저장 설비는 등록 시스템(34)의 비인증 메모리와 같은, 컴퓨팅 설비 외부의 메모리일 수 있다. 이어서, 등록 시스템(34)은 디스플레이 스크린 상에 메시지를 디스플레이하는 것과 같이, 키 생성과 엄격하게 관련되지 않은 이 바이오메트릭 공개 키를 이용하여 선택적인 동작들을 수행할 수 있다. 대안으로서, 컴퓨팅 설비를 수용하는 디바이스가 개체 또는 인증된 개체들의 작은 그룹에 의해서만 이용되도록 의도되는 경우, 저장 설비는 컴퓨팅 설비 자체 내의 메모리일 수 있다. 다른 실시예에서, 저장 설비는 개체에 의해 제공되는 암호 토큰 또는 동글이며, 이는 개체에 의한 나중의 인증 이용을 위해 바이오메트릭 공개 키를 저장한다.
도 6은 바이오메트릭 데이터의 비일시적인 저장을 필요로 하지 않고, 제1 트랜스듀서를 이용하여 바이오메트릭 데이터가 이전에 획득된 개체로서 피험자를 인증하기 위해 바이오메트릭 데이터를 이용하는 방법을 예시하는 흐름도이다. 도 6의 프로세스들은 도 4에 도시된 인증 시스템(44)과 같은 인증 시스템 내의 컴퓨팅 설비에 의해 수행되는 것으로 고려된다.
제1 프로세스(61)에서, 컴퓨팅 설비는, 트랜스듀서로부터, 전술된 바와 같이, 피험자(41)의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신한다. 변환은 이 분야에 공지된 임의의 방법에 따라 수행될 수 있다. 홍채 프린트의 경우, 트랜스듀서는 홍채의 사진 또는 비디오 이미지를 취하고, 표준 데이터 포맷(예를 들어, RGB 또는 그레이스케일)에 따라 이미지를 (예를 들어, 픽셀) 데이터로서 인코딩하는 신호를 출력한다.
제2 프로세스(62)에서, 컴퓨팅 설비는 신호로부터 바이오메트릭 값들의 세트를 추출한다. 또한 제2 프로세스(62)에서, 컴퓨팅 설비는 각각의 이러한 바이오메트릭 값에 대해, 대응하는 바이오메트릭 값이 특성화들 사이에서 안정적이라는 신뢰도를 나타내는 신뢰도 값을 추출한다. 신뢰도 값은 또한 임의의 디지털 데이터일 수 있지만, 통상적으로 바이오메트릭 값이 미리 결정된 임계치로부터 얼마나 멀리 있는지를 나타내는 비트들의 수이다. 즉, 오리지널 측정치가 임계치에 가까우면, 대응하는 측정치를 바이오메트릭 값으로서 분류하는 것은 덜 확실한 반면, 오리지널 측정치가 임계치로부터 더 멀리 떨어져 있으면, 분류는 더 확실하다. 따라서, 예를 들어, 홍채 이미지 내의 소정 픽셀들은 여러 판독에 걸쳐 일관되게 판독되지 못할 수 있는 반면, 다른 것들은 여러 판독에 걸쳐 일관되게 판독될 것이다. 이 정보는 각각의 홍채에 따라 변할 것이지만, 일반적으로 각각의 홍채에 대해 일관된다.
제3 프로세스(63)에서, 컴퓨팅 설비는 피험자의 바이오메트릭 값들을 열 벡터 E'로서 인코딩한다. 실시예들에서, 컴퓨팅 설비는 바이오메트릭 값들을 잡음이 있는 데이터를 포함하는 N 비트를 갖는 열 벡터 E'로서 인코딩한다. 다양한 실시예들에서, 잡음이 있는 데이터는 채프 비트 값들이다. 벡터는 특징들이 존재하는 위치들에 마커(예로서, "0")를 갖고, 특징들이 존재하지 않는 경우에 잡음이 있는 데이터를 갖도록 인코딩된다. 일 실시예에서, 잡음이 있는 데이터는 (a) 무작위 값들 및 (b) 독립적이고 동일하게 분포된 값들의 그룹으로부터 집합적으로 선택된 채프 비트 값들로서 구현된다.
제4 프로세스(64)에서, 컴퓨팅 설비는 신뢰도 값들을 이용하여 특성화들 사이에서 안정적인 인코딩된 바이오메트릭 값들의 신뢰 서브세트를 선택한다. 신뢰 서브세트는 잡음이 있는 데이터가 아닌 피험자의 바이오메트릭 값들의 세트 내의 인코딩된 바이오메트릭 값들로부터 선택된다. 신뢰 서브세트는 바이오메트릭에 기초하는 피험자의 아이덴티티의 신뢰성있는 판별식이어야 하고, 예를 들어, 대응하는 신뢰도 값들이 특정 임계치를 초과하는 인코딩된 바이오메트릭 값들의 서브세트를 선택함으로써 행해질 수 있다. 그러나, 선택된 신뢰 서브세트는 잡음이 있는 데이터로서 인코딩되지 않은 바이오메트릭 값들로부터만 선택된다. 이 프로세스(64)는 잡음이 있을 가능성이 적고 더 안정적일 가능성이 많은 바이오메트릭 값들을 선택한다. 따라서, 각각의 개별 홍채 캡처는 상당한 변화를 가질 수 있지만, 각각은 신뢰할 수 있고 후속 처리에서 이용될 수 있는 픽셀들의 서브세트를 포함할 가능성이 매우 높을 것이다. 프로세스들(62-64)은 이러한 픽셀들의 신뢰 서브세트가 안정화될 때까지 등록 동안 선택적으로 반복될 수 있다.
프로세스들(62-64)은 함께 개체들 간을 신뢰성있게 구별하는 데 이용될 수 있는 원시 생물학적 값들의 신뢰 서브세트를 생성한다. 이상적으로, 신뢰 서브세트는 매우 낮은 거짓 수락률(false acceptance rate)(피험자가 그들이 아닌 개체로서 인증되는 경우) 및 비교적 낮은 거짓 거절률(false rejection rate)(피험자가 그들인 개체로서 인증되지 않는 경우)을 갖는 개체들의 식별을 허용한다.
제5 프로세스(65)에서, 컴퓨팅 설비는, 컴퓨팅 설비에 의해, 저장 설비로부터, 비밀 번호 S 및 이전에 획득된 개체의 바이오메트릭 데이터에 기초하여 계산된 바이오메트릭 공개 키 B를 수신한다. 개체의 바이오메트릭 데이터는 특징들이 존재하는 위치들에 마커를 갖고, 특징들이 존재하지 않는 경우에 잡음이 있는 데이터를 갖도록 인코딩된 벡터 E이다. 일 실시예에서, 잡음이 있는 데이터는 (a) 무작위 값들 및 (b) 독립적이고 동일하게 분포된 값들의 그룹으로부터 집합적으로 선택된 채프 비트 값들로서 구현된다. 컴퓨팅 설비는 또한 비밀 번호 S 또는 비밀 번호 S의 해시 F(S)를 수신하고 도 5의 프로세스(56)에서 설명된 행렬 A를 수신할 수 있다.
제6 프로세스(66)에서, 컴퓨팅 설비는 바이오메트릭 공개 키 및 신뢰 서브세트를 이용하여 비밀 번호에 대한 후보 값을 계산한다. 실시예들에서, 후보 값의 계산은 또한 도 5의 프로세스(56)에서 설명된 행렬 A를 이용한다. 비밀 번호에 대한 후보 값 S'은 (a) 행렬 A의 역 행렬과 (b) 바이오메트릭 공개 키와, 피험자의 인코딩된 바이오메트릭 값들의 세트의 열 벡터 E'의 신뢰 서브세트 사이의 차이를 곱함으로써 계산될 수 있다.
도 6의 방법은 컴퓨팅 설비가 비밀 번호에 대한 후보 값이 바이오메트릭 공개 키에 의해 특성화된 비밀 번호와 동등한 것으로 간주되는지를 결정함으로써 피험자가 언제 개체로서 인증되는 때를 나타내는 인증 프로세스를 수행하는 제7 프로세스(67)로 끝난다. 도 1과 관련하여 전술한 바와 같이, 동등성(equivalence)을 결정하기 위해, 프로세스(65)에서 비밀 번호 S는 단방향 함수(예를 들어, F)를 이용하여 암호화될 수 있고, 해싱된 값 F(S)는 바이오메트릭 공개 키 B를 가지고 수신된다. 함수 F가 단지 단방향이기 때문에, 비밀 번호 S는 해싱된 값 F(S)로부터 실현 가능하게 복구될 수 없고, 따라서 후자의 값 F(S)는 비밀 번호 S를 손상시키지 않고 공개될 수 있다는 것을 알아야 한다. 피험자를 인증하기 위해, 함수 F는 일치가 있는지; 즉, F(S)=F(S')인지를 결정하기 위해 비밀 번호에 대한 후보 값 S'에 적용된다. 그렇다면, 암호 해시 함수들의 잘 알려진 특성들을 이용하여, 높은 신뢰도로 S=S'라고 결론을 내릴 수 있으므로, 컴퓨팅 설비는 실제로 이미 비밀 번호 S를 소유한다.
오리지널 프로세스 | 비밀 S에 대한 루트 r을 이용하는 재이용가능 프로세스 | 신뢰 서브세트와 함께 잡음 C를 이용하는 재이용가능 프로세스 | |
1 | (등록기) 밀집 표현을 갖는 일시적으로 저장된 바이오메트릭을 획득 | (등록기) "밀집 표현"을 갖는 일시적으로 저장된 바이오메트릭을 획득 | (등록기) "희소 표현"을 갖는 일시적으로 저장된 바이오메트릭을 획득 |
2 | (등록기) 바이오메트릭 데이터를 M 비트의 열 벡터인 E로서 직접 인코딩 | (등록기) 바이오메트릭 데이터를 M 비트의 열 벡터인 E로서 직접 인코딩 | (등록기) 특징들이 검출되는 위치들에서 마커를 선택하고, 특징들이 검출되지 않는 경우 잡음이 있는 데이터를 선택함으로써 바이오메트릭 데이터를 E로서 인코딩한다. E는 M 비트의 열 벡터이다. |
3 | (등록기) N 비트를 갖는 비밀 열 벡터 S를 생성하고 해시 F(S)를 계산 | (등록기) 난수 r, 및 N 비트를 갖는 무작위 비밀 열 벡터 S를 생성 | (등록기) N 비트를 갖는 비밀 열 벡터 S를 생성하고 해시 F(S)를 계산 |
4 | (등록기) 비트들의 M개의 행과 N개의 열을 갖는 행렬 A를 선택 | (등록기) 비트들의 M개의 행과 N개의 열을 갖는 행렬 A를 선택 | (등록기) 비트들의 M개의 행과 N개의 열을 갖는 행렬 A를 선택 |
5 | (등록기) 공개 바이오메트릭 키 계산 B = A S + E |
(등록기) 공개 바이오메트릭 키 계산 B = A S + E |
(등록기) 공개 바이오메트릭 키 계산 B = A S + E |
6 | (등록기) F(S), A, B를 공개 또는 전송 | (등록기) 서버에 A, B, r 및 Enc_S(r)(-키 S 하에서 r의 암호화-를 나타냄)를 전송 | (등록기) F(S), A, B를 공개 또는 전송 |
7 | N/A | (서버) A, B, r, Enc_S(r)을 수신하고 등록한다. N 비트를 갖는 무작위 비밀 열 벡터 S'를 생성한다. B' = B + A S'를 계산 (주: B' = A (S + S') + E) |
N/A |
오리지널 프로세스 | 비밀 S에 대한 루트 r을 이용하는 재이용가능 프로세스 | 신뢰 서브세트와 함께 잡음 C를 이용하는 재이용가능 프로세스 | |
1 | (인증기) 일시적으로 저장된 바이오메트릭을 획득 | (인증기) 일시적으로 저장된 바이오메트릭을 획득 | (인증기) 일시적으로 저장된 바이오메트릭을 획득 |
2 | (인증기) F(S), A, B를 수신 | (인증기) A, B, r, Enc_S(r)을 수신 | (인증기) F(S), A, B를 수신 |
3 | (인증기) 바이오메트릭 데이터를 M 비트의 열 벡터인 E'로서 직접 인코딩한다. E'의 N개의 신뢰 행을 선택한다. | (인증기) 바이오메트릭 데이터를 M 비트의 열 벡터인 E'로서 직접 인코딩한다. E'의 N개의 신뢰 행을 선택한다. |
(인증기) 바이오메트릭 데이터를 M 비트의 열 벡터인 E'로서 직접 인코딩한다. E'의 N개의 신뢰 행을 선택한다. |
4 | (인증기) 신뢰 행들 및 E'를 이용하여 S'=A-1 (B-E')를 계산 (주: S'=S이면 성공) |
(인증기) 신뢰 행들 및 E'를 이용하여 S"=A-1 (B-E')를 계산 (주: S"=S+S'이면 성공) |
(인증기) 신뢰 행들 및 E'를 이용하여 S'=A-1 (B-E')를 계산 (주: S'=S이면 성공) |
5 | (인증기) 해시 F(S')를 계산 | 인증기는 S"를 갖고 서버는 S', r, 및 Enc_S(r)를 갖는다. 인증기 및 서버는 r'=Dec_X(Enc_S(r))를 계산하기 위해 안전하게 함께 작업하고, 여기서 X=S"-S'이고, Dec_X(y)는 키 X 하의 y의 해독이다. (서버와 인증기 모두) r'를 수신 |
(인증기) 해시 F(S')를 계산 |
6 | (서버) 해시들이 동일한지: F(S') = F(S)인지를 결정함으로써 인증 |
(서버) r ' = r 인지를 검사함으로써 인증하고, 이 경우에 인증은 성공적 | (서버) 해시들이 동일한지: F(S') = F(S)인지를 결정함으로써 인증 |
행렬들의 성질로 인해, 벡터를 열 또는 행으로서 표현하기 위한 초기 결정은 임의적이고, 위의 논의들 및 아래의 청구항들에서의 용어 "행" 및 "열"은 의미의 손실 없이 체계적으로 교환될 수 있다는 것이 이해될 것이다. 따라서, 행렬들의 세트를 기재하는 임의의 한정을 갖는 각각의 청구항은 또한 기재된 행렬들 각각이 전치되는 대응하는 청구항을 포함하도록 의도된다.
본 발명은, 프로세서(예를 들어, 마이크로프로세서, 마이크로컨트롤러, 디지털 신호 프로세서, 또는 범용 컴퓨터)와 함께 이용하기 위한 컴퓨터 프로그램 로직, 프로그래머블 로직 디바이스(예를 들어, 필드 프로그래머블 게이트 어레이(FPGA) 또는 기타의 PLD)와 함께 이용하기 위한 프로그래머블 로직, 개별 컴포넌트들, 집적 회로(예를 들어, 주문형 집적 회로(ASIC)), 또는 이들의 임의의 조합을 포함하는 임의의 다른 수단을 포함하지만, 이것으로 제한되지 않는 많은 상이한 형태들로 구현될 수 있다.
본 명세서에서 전술한 기능의 전부 또는 일부를 구현하는 컴퓨터 프로그램 로직은 소스 코드 형태, 컴퓨터 실행 가능 형태 및 다양한 중간 형태(예로서, 어셈블러, 컴파일러, 네트워커 또는 로케이터에 의해 생성되는 형태들)를 포함하지만 이에 한정되지 않는 다양한 형태들로 구현될 수 있다. 소스 코드는 다양한 운영 체제들 또는 운영 환경들과 함께 이용하기 위한 임의의 다양한 프로그래밍 언어(예로서, 객체 코드, 어셈블리 언어, 또는 Fortran, C, C++, JAVA 또는 HTML과 같은 고레벨 언어)로 구현되는 일련의 컴퓨터 프로그램 명령어들을 포함할 수 있다. 소스 코드는 다양한 데이터 구조들 및 통신 메시지들을 정의하고 이용할 수 있다. 소스 코드는 (예를 들어, 인터프리터를 통해) 컴퓨터 실행 가능 형태일 수 있거나, 소스 코드는 (예를 들어, 번역기, 어셈블러 또는 컴파일러를 통해) 컴퓨터 실행 가능 형태로 변환될 수 있다.
컴퓨터 프로그램은 반도체 메모리 디바이스(예를 들어, RAM, ROM, PROM, EEPROM, 또는 플래시-프로그래머블 RAM), 자기 메모리 디바이스(예를 들어, 디스켓 또는 고정 디스크), 광학 메모리 디바이스(예를 들어, CD-ROM), PC 카드(예를 들어, PCMCIA 카드), 또는 다른 메모리 디바이스와 같은 유형의 저장 매체에 영구적으로 또는 일시적으로 임의의 형태(예를 들어, 소스 코드 형태, 컴퓨터 실행가능 형태, 또는 중간 형태)로 고정될 수 있다. 컴퓨터 프로그램은 아날로그 기술, 디지털 기술, 광학 기술, 무선 기술, 네트워킹 기술 및 인터네트워킹 기술을 포함하지만 이에 한정되지 않는 임의의 다양한 통신 기술을 이용하여 컴퓨터로 전송될 수 있는 신호 내에 임의의 형태로 고정될 수 있다. 컴퓨터 프로그램은, 인쇄 또는 전자 문서(예를 들어, 축소 포장 소프트웨어 또는 자기 테이프)를 동반한 이동식 저장 매체로서 임의의 형태로 배포되거나, 컴퓨터 시스템(예를 들어, 시스템 ROM 또는 고정 디스크)으로 프리로딩되거나, 통신 시스템(예를 들어, 인터넷 또는 월드 와이드 웹)을 통해 서버 또는 전자 게시판으로부터 배포될 수 있다.
본 명세서에서 전술한 기능의 전부 또는 일부를 구현하는 (프로그래밍 가능 로직 디바이스와 함께 이용하기 위한 프로그래밍 가능 로직을 포함하는) 하드웨어 로직은 전통적인 수동 방법들을 이용하여 설계될 수 있거나, 컴퓨터 보조 설계(CAD), 하드웨어 설명 언어(예로서, VHDL 또는 AHDL) 또는 PLD 프로그래밍 언어(예로서, PALASM, ABEL 또는 CUPL)와 같은 다양한 도구들을 이용하여 전자적으로 설계, 캡처, 시뮬레이션 또는 문서화될 수 있다.
본 발명이 특정 실시예들을 참조하여 특별히 도시되고 설명되었지만, 이 분야의 통상의 기술자라면, 첨부된 조항들에 의해 정의된 바와 같은 본 발명의 사상 및 범위로부터 벗어나지 않고 형태 및 상세사항에서의 다양한 변경이 이루어질 수 있다는 것을 이해할 것이다. 이러한 실시예들 중 일부가 청구항들에서 프로세스 단계들에 의해 기술되었지만, 아래의 청구항들에서의 프로세스 단계들을 실행할 수 있는 관련 디스플레이를 갖는 컴퓨터를 포함하는 장치도 본 발명에 포함된다. 마찬가지로, 이하의 청구항들에서의 프로세스 단계들을 실행하고 컴퓨터 판독가능 매체 상에 저장되는 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터 프로그램 제품이 본 발명 내에 포함된다.
전술한 본 발명의 실시예들은 단지 예시적인 것으로 의도되며, 다수의 변형들 및 변경들이 이 분야의 기술자들에게 명백할 것이다. 모든 이러한 변형들 및 수정들은 임의의 첨부된 청구항들에서 정의된 바와 같은 본 발명의 범위 내에 있는 것으로 의도된다.
Claims (22)
- 개체의 바이오메트릭 데이터의 비일시적인 저장을 필요로 하지 않고, 상기 개체의 상기 바이오메트릭 데이터에 기초하여 상기 개체에 대한 바이오메트릭 공개 키를 생성하기 위한 디바이스로서, 상기 디바이스는:
트랜스듀서; 및
상기 트랜스듀서에 결합된 컴퓨팅 설비를 포함하고, 상기 컴퓨팅 설비는 컴퓨팅 프로세서, 및 상기 컴퓨팅 프로세서에 의해 실행될 때 컴퓨터 프로세스들을 확립하는 명령어들로 인코딩된 비일시적 컴퓨터 판독가능 저장 매체를 포함하며, 상기 컴퓨터 프로세스들은:
상기 컴퓨팅 설비에 의해, 상기 트랜스듀서로부터, 상기 개체의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신하는 단계;
상기 컴퓨팅 설비에 의해, 상기 디지털 전자 신호로부터, 상기 개체의 바이오메트릭 값들의 세트를 추출하는 단계;
상기 바이오메트릭 값들의 세트에서, 특징들이 존재하는 위치들을 식별하는 단계;
특징들이 존재하는 위치들에서 마커를 선택하고, 특징들이 존재하지 않는 경우에 잡음이 있는 데이터를 선택함으로써 상기 바이오메트릭 값들의 세트를 인코딩하는 단계;
상기 컴퓨팅 설비에 의해 비밀 번호 S를 생성하는 단계;
상기 컴퓨팅 설비에 의해, 상기 비밀 번호 및 상기 인코딩된 바이오메트릭 값들의 세트에 기초하여 상기 바이오메트릭 공개 키 B를 계산하는 단계 - 상기 바이오메트릭 공개 키는 상기 개체의 상기 바이오메트릭 데이터 또는 상기 비밀 번호의 비일시적인 저장을 필요로 하지 않고 상기 개체의 상기 바이오메트릭 데이터 및 상기 비밀 번호 둘 다를 검증 가능하게 특성화함 -;및
상기 바이오메트릭 공개 키를 저장 설비에 저장하는 단계를 포함하는, 디바이스. - 제1항에 있어서, 상기 개체의 상기 바이오메트릭 값들의 세트는 희소 표현(Sparse Representation)을 갖는, 디바이스.
- 제1항에 있어서, 상기 인코딩된 바이오메트릭 값들의 세트는 N 비트를 갖는 열 벡터 E인, 디바이스.
- 제1항에 있어서, 상기 비밀 번호 S는 N 비트의 비밀 열 벡터인, 디바이스.
- 제1항에 있어서, 상기 비밀 번호 S를 생성하는 단계는 상기 비밀 번호 S의 해시 F(S)를 계산하여 상기 저장 설비에 저장하는 단계를 포함하는, 디바이스.
- 제1항에 있어서, 상기 바이오메트릭 공개 키 B는 비트들의 M개의 행 및 N개의 열을 갖는 행렬 A를 이용하여 계산되며, 행렬 A는 상기 저장 설비에 저장되는, 디바이스.
- 제6항에 있어서, 상기 바이오메트릭 공개 키 B는 상기 비밀 번호 S와 상기 행렬 A를 곱하며 상기 인코딩된 바이오메트릭 값들의 세트의 열 벡터 E를 더함으로써 계산되는, 디바이스.
- 제1항에 있어서, 상기 마커는 상수 값인, 디바이스.
- 제8항에 있어서, 상기 마커는 "0"인, 디바이스.
- 제1항에 있어서, 상기 잡음이 있는 데이터는 (a) 무작위 값들 및 (b) 독립적이고 동일하게 분포된 값들의 그룹으로부터 집합적으로 선택된 채프 비트 값들(chaff bit values)의 세트인, 디바이스.
- 바이오메트릭 데이터의 비일시적인 저장을 필요로 하지 않고, 제1 트랜스듀서를 이용하여 바이오메트릭 데이터가 이전에 획득된 개체로서 피험자를 인증하기 위해 상기 바이오메트릭 데이터를 이용하기 위한 디바이스로서, 상기 디바이스는:
제2 트랜스듀서; 및
상기 제2 트랜스듀서에 결합되는 컴퓨팅 설비를 포함하고, 상기 컴퓨팅 설비는 컴퓨팅 프로세서, 및 상기 컴퓨팅 프로세서에 의해 실행될 때 컴퓨터 프로세스들을 확립하는 명령어들로 인코딩된 비일시적 컴퓨터 판독가능 저장 매체를 포함하며, 상기 컴퓨터 프로세스들은:
상기 컴퓨팅 설비에 의해, 상기 제2 트랜스듀서로부터, 상기 피험자의 바이오메트릭을 특성화하는 디지털 전자 신호를 수신하는 단계;
상기 컴퓨팅 설비에 의해, 상기 디지털 전자 신호로부터, (a) 상기 피험자의 바이오메트릭 값들의 세트, 및 (b) 상기 피험자의 상기 바이오메트릭 값들의 세트의 각각의 멤버에 대해, 대응하는 바이오메트릭 값이 특성화들 사이에서 안정적이라는 신뢰도를 나타내는 신뢰도 값을 추출하는 단계;
상기 피험자의 상기 바이오메트릭 값들의 세트를 인코딩하는 단계;
상기 신뢰도 값들을 이용하여, 상기 컴퓨팅 설비에 의해, 상기 피험자의 상기 인코딩된 바이오메트릭 값들의 세트의 신뢰 서브세트를 선택하는 단계 - 상기 신뢰 서브세트는 상기 바이오메트릭에 기초하는 상기 피험자의 아이덴티티의 신뢰성 있는 판별식(discriminant)임 -;
상기 컴퓨팅 설비에 의해, 저장 설비로부터, (i) 비밀 번호 S의 해시 F(S) 및 (ii) 상기 비밀 번호 S 및 상기 제1 트랜스듀서를 이용하여 이전에 획득된 상기 개체의 상기 바이오메트릭 데이터에 기초하여 계산된 바이오메트릭 공개 키 B를 수신하는 단계 - 상기 개체의 상기 바이오메트릭 데이터는 특징들이 존재하는 위치들에 마커를 갖고, 특징들이 존재하지 않는 경우에 잡음이 있는 데이터를 갖도록 인코딩되었음 -;
상기 컴퓨팅 설비에 의해, 상기 바이오메트릭 공개 키 및 상기 신뢰 서브세트를 이용하여 상기 비밀 번호 S에 대한 후보 값 S'를 계산하는 단계; 및
상기 후보 값 S'가 상기 비밀 번호 S와 동등한 것으로 간주되는지를 결정함으로써 인증 프로세스를 수행하는 단계를 포함하는, 디바이스. - 제11항에 있어서, 상기 개체의 상기 바이오메트릭 데이터는 희소 표현을 갖는, 디바이스.
- 제11항에 있어서, 상기 피험자의 상기 인코딩된 바이오메트릭 값들의 세트는 M 비트를 갖는 열 벡터 E'인, 디바이스.
- 제11항에 있어서, 상기 개체의 상기 인코딩된 바이오메트릭 데이터는 N 비트를 갖는 열 벡터 E인, 디바이스.
- 제11항에 있어서, (a) 상기 비밀 번호 S는 N 비트의 제1 비밀 열 벡터이며, (b) 상기 비밀 번호에 대한 상기 후보 값 S'은 N 비트의 제2 열 벡터인, 디바이스.
- 제11항에 있어서, 상기 컴퓨터 프로세스들은:
상기 컴퓨팅 설비에 의해, 상기 저장 설비로부터, 비트들의 M개의 행 및 N개의 열을 갖는 행렬 A를 수신하는 단계를 더 포함하며, 상기 바이오메트릭 공개 키 B는 상기 행렬 A에 기초하여 계산된, 디바이스. - 제16항에 있어서, 상기 비밀 번호에 대한 상기 후보 값 S'은 (a) 상기 행렬 A의 역행렬과 (b) 상기 바이오메트릭 공개 키와 상기 피험자의 상기 인코딩된 바이오메트릭 값들의 세트의 열 벡터 E'의 상기 신뢰 서브세트 사이의 차이를 곱함으로써 계산되는, 디바이스.
- 제11항에 있어서, 상기 컴퓨터 프로세스들은:
상기 비밀 번호에 대한 상기 후보 값 S'의 해시 F(S')를 계산하는 단계; 및
(a) 상기 비밀 번호에 대한 상기 후보 값 S'의 상기 해시 F(S')가 (b) 상기 비밀 번호 S의 상기 해시 F(S)와 동등한 것으로 간주되는지를 결정함으로써 상기 인증 프로세스를 수행하는 단계를 더 포함하는, 디바이스. - 제11항에 있어서, 상기 피험자의 상기 바이오메트릭 값들의 세트는 특징들이 존재하는 위치들에 상기 마커를 갖고, 특징들이 존재하지 않는 경우에 잡음이 있는 데이터를 갖도록 인코딩되는, 디바이스.
- 제11항에 있어서, 상기 마커는 상수 값인, 디바이스.
- 제20항에 있어서, 상기 마커는 "0"인, 디바이스.
- 제11항에 있어서, 상기 잡음이 있는 데이터는 (a) 무작위 값들 및 (b) 독립적이고 동일하게 분포된 값들의 그룹으로부터 집합적으로 선택된 채프 비트 값들의 세트인, 디바이스.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962798608P | 2019-01-30 | 2019-01-30 | |
US62/798,608 | 2019-01-30 | ||
PCT/US2020/015607 WO2020160101A1 (en) | 2019-01-30 | 2020-01-29 | Biometric public key system providing revocable credentials |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210118461A KR20210118461A (ko) | 2021-09-30 |
KR102601509B1 true KR102601509B1 (ko) | 2023-11-13 |
Family
ID=69726809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020217027566A KR102601509B1 (ko) | 2019-01-30 | 2020-01-29 | 취소가능한 크리덴셜들을 제공하는 바이오메트릭 공개 키 시스템 |
Country Status (7)
Country | Link |
---|---|
US (3) | US11451385B2 (ko) |
EP (2) | EP3918746B1 (ko) |
JP (1) | JP7511847B2 (ko) |
KR (1) | KR102601509B1 (ko) |
AU (1) | AU2020216358B2 (ko) |
CA (1) | CA3128348C (ko) |
WO (1) | WO2020160101A1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109923545B (zh) * | 2017-09-13 | 2022-03-08 | 指纹卡安娜卡敦知识产权有限公司 | 允许基于生物识别数据通过安全通信信道进行对客户端设备的用户的认证的方法和设备 |
US11646871B2 (en) * | 2020-08-12 | 2023-05-09 | Intuit Inc. | System and method for multitenant key derivation |
US11424929B2 (en) | 2021-01-07 | 2022-08-23 | Bank Of America Corporation | Authentication using encrypted biometric information |
CN113242123B (zh) * | 2021-04-29 | 2023-03-17 | 龚健 | 一种共同用户数据获取方法和装置及服务器 |
CN118296555B (zh) * | 2024-05-30 | 2024-08-09 | 福建省电子政务建设运营有限公司 | 一种一体化大融合执法方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110022835A1 (en) | 2009-07-27 | 2011-01-27 | Suridx, Inc. | Secure Communication Using Asymmetric Cryptography and Light-Weight Certificates |
US20170085562A1 (en) | 2015-09-18 | 2017-03-23 | Case Wallet, Inc. | Biometric data hashing, verification and security |
US20170141920A1 (en) | 2015-11-13 | 2017-05-18 | Charles H. Herder, III | Public/Private Key Biometric Authentication System |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2245305T3 (es) | 1999-04-22 | 2006-01-01 | Veridicom, Inc. | Autenticacion biometrica de alta seguridad usando pares de encriptacion clave publica/clave privada. |
US8325994B2 (en) | 1999-04-30 | 2012-12-04 | Davida George I | System and method for authenticated and privacy preserving biometric identification systems |
JP4426733B2 (ja) | 2000-03-31 | 2010-03-03 | 富士通株式会社 | 指紋データ合成方法,指紋データ合成装置,指紋データ合成プログラムおよび同プログラムを記録したコンピュータ読取可能な記録媒体 |
US20030219121A1 (en) | 2002-05-24 | 2003-11-27 | Ncipher Corporation, Ltd | Biometric key generation for secure storage |
DE102004001855A1 (de) | 2004-01-13 | 2005-08-04 | Giesecke & Devrient Gmbh | Biometrische Authentisierung |
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 |
US20070180261A1 (en) | 2004-06-09 | 2007-08-02 | Koninklijke Philips Electronics, N.V. | Biometric template protection and feature handling |
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 |
US8375218B2 (en) | 2004-12-07 | 2013-02-12 | Mitsubishi Electric Research Laboratories, Inc. | Pre-processing biometric parameters before encoding and decoding |
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 |
US20080072068A1 (en) | 2006-09-19 | 2008-03-20 | Wang Liang-Yun | Methods and apparatuses for securing firmware image download and storage by distribution protection |
JP5360521B2 (ja) | 2007-07-23 | 2013-12-04 | 国立大学法人 筑波大学 | 生体情報の登録方法及び生体認証方法 |
US8838990B2 (en) | 2008-04-25 | 2014-09-16 | University Of Colorado Board Of Regents | Bio-cryptography: secure cryptographic protocols with bipartite biotokens |
JP5676592B2 (ja) | 2009-06-24 | 2015-02-25 | コーニンクレッカ フィリップス エヌ ヴェ | 参照点を使用した及び使用しない頑強なバイオメトリック特徴抽出 |
WO2011042950A1 (ja) | 2009-10-05 | 2011-04-14 | 富士通株式会社 | 生体情報処理装置、生体情報処理方法及び生体情報処理用コンピュータプログラム |
EP2697932A2 (en) | 2011-04-09 | 2014-02-19 | Universität Zürich | Method and apparatus for public-key cryptography based on error correcting codes |
US9165130B2 (en) | 2012-11-21 | 2015-10-20 | Ca, Inc. | Mapping biometrics to a unique key |
US20160125416A1 (en) | 2013-05-08 | 2016-05-05 | Acuity Systems, Inc. | Authentication system |
US20140372766A1 (en) | 2013-06-14 | 2014-12-18 | Pitney Bowes Inc. | Automated document notarization |
US8965066B1 (en) | 2013-09-16 | 2015-02-24 | Eye Verify LLC | Biometric template security and key generation |
US9684908B2 (en) | 2014-08-01 | 2017-06-20 | Yahoo!, Inc. | Automatically generated comparison polls |
CN114637979A (zh) | 2015-10-26 | 2022-06-17 | 维萨国际服务协会 | 无线生物特征识别认证系统和方法 |
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 | 인하대학교 산학협력단 | 내적 연산 적용을 위한 지문 정보 변경 방법 및 시스템 |
-
2020
- 2020-01-29 AU AU2020216358A patent/AU2020216358B2/en active Active
- 2020-01-29 JP JP2021544353A patent/JP7511847B2/ja active Active
- 2020-01-29 WO PCT/US2020/015607 patent/WO2020160101A1/en active Application Filing
- 2020-01-29 EP EP20708358.5A patent/EP3918746B1/en active Active
- 2020-01-29 EP EP23193033.0A patent/EP4262151B1/en active Active
- 2020-01-29 US US16/775,711 patent/US11451385B2/en active Active
- 2020-01-29 CA CA3128348A patent/CA3128348C/en active Active
- 2020-01-29 KR KR1020217027566A patent/KR102601509B1/ko active IP Right Grant
-
2022
- 2022-09-07 US US17/939,189 patent/US11799642B2/en active Active
-
2023
- 2023-10-24 US US18/492,886 patent/US20240129118A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110022835A1 (en) | 2009-07-27 | 2011-01-27 | Suridx, Inc. | Secure Communication Using Asymmetric Cryptography and Light-Weight Certificates |
US20170085562A1 (en) | 2015-09-18 | 2017-03-23 | Case Wallet, Inc. | Biometric data hashing, verification and security |
US20170141920A1 (en) | 2015-11-13 | 2017-05-18 | Charles H. Herder, III | Public/Private Key Biometric Authentication System |
Also Published As
Publication number | Publication date |
---|---|
US20200244451A1 (en) | 2020-07-30 |
JP2022524288A (ja) | 2022-05-02 |
EP4262151A2 (en) | 2023-10-18 |
EP4262151A3 (en) | 2023-12-20 |
US20240129118A1 (en) | 2024-04-18 |
AU2020216358B2 (en) | 2023-12-14 |
CA3128348C (en) | 2024-02-20 |
US11799642B2 (en) | 2023-10-24 |
EP3918746A1 (en) | 2021-12-08 |
CA3128348A1 (en) | 2020-08-06 |
JP7511847B2 (ja) | 2024-07-08 |
US11451385B2 (en) | 2022-09-20 |
KR20210118461A (ko) | 2021-09-30 |
EP3918746B1 (en) | 2023-10-04 |
EP4262151B1 (en) | 2024-10-16 |
AU2020216358A1 (en) | 2021-08-26 |
WO2020160101A1 (en) | 2020-08-06 |
US20230031928A1 (en) | 2023-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11811936B2 (en) | Public/private key biometric authentication system | |
KR102601509B1 (ko) | 취소가능한 크리덴셜들을 제공하는 바이오메트릭 공개 키 시스템 | |
US10728027B2 (en) | One-time passcodes with asymmetric keys | |
WO2019222709A1 (en) | System and method for securing personal information via biometric public key | |
TWI479427B (zh) | 在樣板保護系統中定義分類臨限值 | |
US11804959B2 (en) | System and method for securing personal information via biometric public key | |
KR20070095908A (ko) | 컴퓨터 프로그램을 인증하기 위한 방법 및 디바이스 | |
US11063936B2 (en) | Encryption parameter selection | |
KR101010218B1 (ko) | 생체 인증 방법 | |
Tams et al. | Current challenges for IT security with focus on Biometry |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |