KR20160133991A - 지문 등록 방법 및 지문 인증 방법 - Google Patents

지문 등록 방법 및 지문 인증 방법 Download PDF

Info

Publication number
KR20160133991A
KR20160133991A KR1020150067318A KR20150067318A KR20160133991A KR 20160133991 A KR20160133991 A KR 20160133991A KR 1020150067318 A KR1020150067318 A KR 1020150067318A KR 20150067318 A KR20150067318 A KR 20150067318A KR 20160133991 A KR20160133991 A KR 20160133991A
Authority
KR
South Korea
Prior art keywords
fingerprint
value
area
template
feature point
Prior art date
Application number
KR1020150067318A
Other languages
English (en)
Inventor
김정우
류한솔
천정희
권은영
박진환
송용수
이경희
Original Assignee
삼성전자주식회사
서울대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사, 서울대학교산학협력단 filed Critical 삼성전자주식회사
Priority to KR1020150067318A priority Critical patent/KR20160133991A/ko
Publication of KR20160133991A publication Critical patent/KR20160133991A/ko

Links

Images

Classifications

    • G06K9/00013
    • 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
    • G06K9/00026
    • G06K9/00067

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Collating Specific Patterns (AREA)

Abstract

본 발명의 다양한 실시 예는, 획득된 이미지를 복수의 격자 영역으로 분할하고 지문 특징점이 포함되지 않은 모든 격자 영역에는 랜덤한 값을 할당함으로써, 상관 공격 혹은 다중 템플릿(multi-templates) 공격에 면역 가능한 지문 등록 방법 및 지문 인증 방법을 제공할 수 있다.

Description

지문 등록 방법 및 지문 인증 방법{FINGERPRINT ENROLLMENT METHOD AND FINGERPRINT VERIFICATION METHOD}
본 발명은 격자 영역 기법(grid scheme)을 이용한 지문 등록 방법 및 지문 인증 방법에 관한 것이다.
생체인식(biometrics)은 인간의 신체적 또는 행동적 특성을 이용하여 사용자를 인식하는 방법이다. 생체인식이 유효하게 사용되기 위하여는 유일성, 영구성, 획득 가능성 등의 특징을 가져야 한다. 생체인식에 이용되는 생체 특성으로는 지문, 얼굴, 홍채, 정맥, 서명 등이 있다. 일반적으로 사람의 지문은 유일하고, 일생에 걸쳐서 거의 변화가 없다. 이러한 지문의 특징과 인증 방식의 용이성으로 인해 지문 인식은 가장 널리 이용되고 있다.
일반적으로 지문인식의 등록과정(enrollment)에서는 획득된 이미지로부터 특징을 추출하여 지문 템플릿으로 저장하고, 인증과정(verification)에서는 입력된 이미지로부터 특징을 추출하여 저장된 지문 템플릿과 비교하는 프로세스가 수행된다.
그러나, 특정 사용자의 생체정보가 타인에게 유출되어 도용된다면 패스워드나 PIN과 달리 변경이 불가능하므로, 더 이상 생체정보가 사용자 인증의 수단으로 사용될 수 없는 치명적인 문제를 일으킬 수 있다.
일반적으로, 지문 템플릿을 안전하게 보호하기 위한 방법으로, 퍼지볼트 기법(Fuzzy Vault Scheme)을 적용한 지문 퍼지볼트 기법(Fingerprint Fuzzy Vault Scheme)이 있다. 그러나, 지문 퍼지볼트 기법은, 지문 퍼지볼트의 상관 공격(혹은 다중 템플릿(multi-templates) 공격), 즉, 동일한 지문으로부터 생성되는 두 개의 지문 템플릿을 취득함으로써 진짜 특징점과 거짓 특징점을 쉽게 구별하는 공격에 취약하다.
다시 말해, 동일한 지문으로부터 생성된 지문 템플릿에서, 진짜 특징점은 유사한 위치와 각도를 유지하면서 생성되고, 거짓 특징점은 랜덤함수에 의해 위치와 각도가 임의로 결정된 후 삽입되게 된다. 따라서 두 지문 템플릿을 정렬하여 가장 많이 매칭되는 특징점을 획득하면, 매칭되는 특징점들 중에는 진짜 특징점 다수와 거짓 특징점 소수가 추출될 수밖에 없다.
본 발명의 다양한 실시 예는, 획득된 지문 이미지를 복수의 격자 영역으로 분할하고 지문 특징점이 포함되지 않은 모든 격자 영역에는 랜덤한 값을 할당함으로써, 상관 공격 혹은 다중 템플릿(multi-templates) 공격에 면역 가능한 지문 등록 방법 및 지문 인증 방법을 제공할 수 있다.
본 발명의 일 실시 예에 따른 지문 인식 장치는 버스, 프로세서, 메모리, 지문 센서, 및 입출력 인터페이스를 구비하여 지문 등록 방법 및 지문 인증 방법을 수행할 수 있다.
본 발명의 일 실시 예에 따른 지문 등록 방법은, 지문 이미지로부터 복수의 지문 특징점을 추출하는 동작, 상기 지문 이미지를 복수의 영역으로 구분하고, 구분된 각각의 영역에 인덱스 값을 부여하는 동작, 상기 각각의 영역이 하나 이상의 상기 지문 특징점을 포함하면 상기 각각의 영역에 부여된 상기 인덱스 값에 기초하여 계산된 값을 할당하고, 상기 계산된 값이 할당되지 않은 영역에는 랜덤 값을 할당하는 동작, 및 상기 할당된 값에 기초하여 지문 템플릿을 생성하여 저장하는 동작을 포함할 수 있다.
또한, 본 발명의 일 실시 예에 따른 지문 인증 방법은, 지문 이미지로부터 복수의 지문 특징점을 추출하는 동작, 상기 지문 이미지를 복수의 영역으로 구분하고, 구분된 각각의 영역에 인덱스 값을 부여하는 동작, 상기 복수의 영역 중 상기 지문 특징점을 포함하는 영역의 인덱스 값을 특정하고, 상기 특정된 인덱스 값에 대응하는 할당 값을, 미리 저장된 지문 템플릿으로부터 판독하는 동작, 상기 특정된 인덱스 값과 상기 판독된 할당 값을 기초로 수학식을 복원하는 동작, 상기 복원된 수학식으로부터 추출된 계수와 미리 저장된 비밀 키와 비교하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 의하면, 지문 특징점을 포함한 격자 영역을 제외한 모든 격자 영역에 랜덤한 값이 할당될 수 있으므로, 상관 공격(혹은 다중 템플릿(multi-templates) 공격에 면역될 수 있다. 또한, 각 격자 영역마다 하나의 값만을 할당하여 저장하므로, 추가해야 하는 거짓 특징점의 수가 줄어들어 저장량을 저감할 수 있다. 나아가 공개된 값들이 템플릿 중 어떤 격자 영역에 대응하는지 알 수 없으므로, 지문 정보를 복구하기 위한 공격량은 유지될 수 있다.
도 1은 본 발명의 다양한 실시 예에 따른 지문 인식 장치를 나타낸다.
도 2는 본 발명의 일 실시 예에 따른 지문 등록 방법을 나타낸다.
도 3은 본 발명의 일 실시 예에 따른 지문 등록 방법을 설명하기 위한 도면을 나타낸다.
도 4는 본 발명의 다른 실시 예에 따른 지문 등록 방법을 나타낸다.
도 5는 본 발명의 다른 실시 예에 따른 지문 등록 방법을 설명하기 위한 도면을 나타낸다.
도 6은 본 발명의 일 실시 예에 따른 지문 템플릿의 통합을 설명하기 위한 도면을 나타낸다.
도 7은 본 발명의 일 실시 예에 따른 지문 인증 방법을 나타낸다.
도 8은 본 발명의 일 실시 예에 따른 지문 인증 방법을 설명하기 위한 도면을 나타낸다.
도 9는 본 발명의 다른 실시 예에 따른 지문 인증 방법을 나타낸다.
도 10은 본 발명의 다른 실시 예에 따른 지문 인증 방법을 설명하기 위한 도면을 나타낸다.
도 11은 본 발명의 일 실시 예에 따른 지문 등록 방법에 있어서의 결과 데이터를 나타낸다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
다양한 실시 예에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성(또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 발명의 실시 예들을 배제하도록 해석될 수 없다.
도 1은 본 발명의 다양한 실시 예에 따른 지문 인식 장치를 나타낸다.
도 1을 참조하여, 다양한 실시 예에 따른 지문 인식 장치 100가 기재된다. 지문 인식 장치 100은 버스 110, 프로세서 120, 메모리 130, 지문 센서 140, 및 입출력 인터페이스 150을 포함할 수 있다. 어떤 실시 예에서는, 지문 인식 장치 100은, 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
버스 110은, 예를 들면, 구성요소들 120-150을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
프로세서 120은, 중앙처리장치(CPU), AP(application processor), 또는 CP(communication processor) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서 120은, 예를 들면, 지문 인식 장치 100의 적어도 하나의 다른 구성요소들의 제어하거나, 데이터 처리에 관련된 다양한 연산을 수행할 수 있다.
프로세서 120은, 지문 센서 140으로부터 획득된 지문 이미지를 일련의 절차에 따라 암호화하여 지문 템플릿을 생성하고, 생성한 지문 템플릿을 메모리 130에 저장(또는 등록(enroll))할 수 있다. 프로세서 120에 의한 지문 등록 방법에 대하여는 도 2와 관련하여 후술한다.
또한, 프로세서 120은, 지문 센서 140을 통해 획득된 지문 이미지에 기초하여 사용자의 인증 여하를 판단할 수 있다. 예를 들어, 프로세서 120은 메모리 130에 저장된 지문 등록 정보(예: 지문 템플릿, 비밀키)를 기초로 사용자(지문)의 인증 여하를 판단할 수 있다. 프로세서 120에 의한 지문 인증 방법에 대하여는 도 5와 관련하여 후술한다.
메모리 130은, 휘발성 및/또는 비휘발성 메모리를 포함할 수 있다. 메모리 130은 지문 인식 장치 100에 내장된 형태를 취하거나, 지문 인식 장치 100으로부터 분리될 수 있는 형태(예: 스마트 카드 등)를 취할 수 있다. 또한, 상기 메모리 130은 지문 인식 장치 100에 내장되지 않고 다른 장치에 구비될 수 있다. 예를 들어, 상기 다른 장치는 중앙 데이터 센터에 마련되어, 지문 인식 장치 100과 통신 가능하고 대량의 지문 템플릿을 저장할 수 있다.
메모리 130은, 예를 들면, 지문 인식 장치 100의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 일 실시 예에 따르면, 메모리 130은 소정의 지문 등록 절차에 따른 지문 템플릿 및/또는 비밀키를 저장할 수 있다.
지문 센서 140은, 사용자의 손가락(경우에 따라서는 발가락)의 지문의 이미지를 획득(capture)할 수 있다. 상기 지문 이미지로부터 지문의 유니크(unique)한 특징(feature)(예: 지문 특징점(fingerprint minutiae))이 추출될 수 있고, 상기 특징에 기초하여 본 발명의 다양한 실시 예에 따른 지문 등록 방법 및 지문 인증 방법이 수행될 수 있다.
입출력 인터페이스 150은, 예를 들면, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 지문 인식 장치 100의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 입출력 인터페이스 150은 지문 인식 장치의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
예를 들어, 상기 입출력 인터페이스 150을 통해 지문 인식 장치 100은 외부의 보안 시스템과 연동(interact)할 수 있다. 예컨대, 지문 인식 장치 100은 상기 입출력 인터페이스 150을 통해 상기 보안 시스템으로부터 소정의 제어 명령 또는 데이터 정보를 수신할 수 있고, 사용자 인증 여부에 관한 정보를 상기 보안 시스템으로 전송할 수도 있다.
도 2는 본 발명의 일 실시 예에 따른 지문 등록 방법을 나타내고, 도 3은 본 발명의 일 실시 예에 따른 지문 등록 방법을 설명하기 위한 도면을 나타낸다.
도 2를 참조하면, 본 발명의 일 실시 예에 따른 지문 등록 방법은 동작 201 내지 211을 포함할 수 있다. 이하에서는 설명의 편의를 위해 동작 201 내지 211이 순차로 설명되어 있으나, 각 동작의 실행 순서는 다양하게 변경될 수 있다.
동작 201에서 지문 인식 장치 100은 지문 센서 140을 통해 사용자의 지문 이미지를 획득할 수 있다. 예를 들어, 지문 인식 장치 100은 도 3(a)와 같은 지문 이미지를 획득할 수 있다. 예컨대, 상기 지문 이미지의 해상도는 28×28의 값을 가질 수 있다.
동작 203에서 지문 인식 장치 100의 프로세서 120은 상기 지문 이미지로부터 신뢰도 높은 특징이 추출될 수 있도록 전처리(pre-processing)를 수행할 수 있다. 상기 전처리는 지문 이미지에 포함된 이미지 왜곡(예: 불량한 명암비, 흠집, 얼룩, 등)에 대한 영상 개선 처리(image refinement)를 포함할 수 있다.
동작 205에서 지문 인식 장치 100은, 동작 203에 의해 전처리된 이미지로부터 지문 특징점(fingerprint minutiae)을 추출할 수 있다. 상기 지문 특징점은 하기 [수학식 1]과 같이 표현될 수 있다.
[수학식 1]
A = {ai}i∈ I , ai=(ti,xi,yii)
A는 지문 이미지로부터 추출된 지문 특징점들(또는 실제 특징점(real minutiae))의 데이터를 포함한 지문 특징점 집합을 나타낸다. 지문 특징점 집합 A는 I개의 지문 특징점 데이터 ai를 포함할 수 있다(아래 첨자 i는 i번째를 지칭). 상기 지문 특징점 데이터 ai는, 상기 지문 특징점의 유형을 나타내는 ti, 상기 지문 특징점의 위치를 나타내는 xi,yi, 상기 지문 특징점의 오리엔테이션(orientation) 각 θi를 포함할 수 있다.
상기 유형 ti는 지문 특징점이 지문의 융선의 끝점을 나타내는지 또는 지문의 융선의 분기점을 나타내는지에 따라서, '0' 또는 '1'의 값을 가질 수 있다. 위치 xi,yi는 지문 특징점의 지문 이미지 상의 위치를 나타내며, 상기 지문 이미지의 해상도 범위 내의 값을 가질 수 있다. 예를 들어, 상기 지문 이미지의 해상도가 28×28이면, xi,및 yi 값은 0부터 28-1 사이의 값을 가질 수 있다. 또한, 오리엔테이션 각 θi는 지문 특징점의 접선각을 나타낼 수 있으며, 개략화되어 '0','1','2','3' 중 어느 하나의 값을 가질 수 있다. 이와 같이 설정되는 값들은 예시적인 것이며, 다양하게 변형된 값이 할당될 수 있다. 예를 들어, 지문의 특징점이 갖는 값은 전술한 예시보다 더 개략화되거나 또는 더 세분화될 수 있다.
예를 들어, 도 3(b)를 참고하면, 지문 이미지로부터 지문 특징점 301 내지 304가 추출될 수 있다. 상기 지문 특징점 301 내지 304는 유형 t가 '0'(예: 융선의 끝점)이고, 오리엔테이션 각 θ가 '0'일 수 있다. 모두 도시하지는 않았으나, 유형 및 오리엔테이션 각에 따라 지문 특징점들이 추출될 수 있다. 예를 들어, 유형이 '0' 또는 '1'의 값을 가지고 오리엔테이션 각 θ가 '0','1','2','3' 중 어느 하나의 값을 가지는 경우 8개 묶음의 지문 특징점들이 추출될 수 있다.
한편, 지문 이미지의 해상도가 28×28의 값을 가지므로, 본 명세서에 있어서 모든 산술적 연산(arithmetic operations)은 216차(order) 유한체(finite field)내에서 수행될 수 있다. 예를 들어 216차 유한체는 GF(216)로 표기될 수 있다. 따라서, 지문 특징점의 좌표(coordinates)는 GF(216)에서의 산술 연산을 위해 [0, 256] 범위로 스케일(scale)될 수 있다. 유한체는 유한한 원소(element)의 개수를 가진 체(field)이며, 갈루아체(Galois field)로도 불릴 수 있다. 후술하는 다항식 pk(i) 및 상기 유한체 내에서 수행되는 모든 연산의 결과는 상기 유한체 내에서 정의될 수 있다.
동작 207에서 지문 인식 장치 100은, 지문 이미지를 복수의 영역으로 구분하고, 구분된 각각의 영역에 인덱스 값을 부여할 수 있다. 예를 들어, 도 3(c)와 같이 지문 이미지를 5행 4열의 20개의 격자 영역으로 구분한 경우, 각 격자 영역에는 순차로 1부터 20의 인덱스 값이 부여될 수 있다. (본 명세서에 있어서 인덱스 값이 i인 영역은 영역 i라고도 기재한다.) 상기 구분에 의하여 격자 영역은 동작 205에서 추출된 지문 특징점을 포함할 수도 있고(예: 인덱스 값이 2,4,9,11인 격자 영역), 그러하지 않을 수도 있다(예: 기타 나머지 격자 영역).
상기 복수의 영역으로 구분되는 영역은, 도 3(c)와 같은 사각형의 격자 형상을 가질 수 있으나 이것에 제한되지 않는다. 예를 들어 상기 복수의 영역은 육각형, 원형 등 다양한 형상을 가질 수 있다.
동작 209에서 지문 인식 장치 100은, 동작 207에서 구분된 복수의 격자 영역 각각에 대하여 소정의 값을 할당할 수 있다. 예를 들어, 지문 인식 장치 100은, 각각의 영역이 하나 이상의 지문 특징점을 포함하면 상기 각각의 영역에 부여된 인덱스 값에 기초하여 계산된 값을 할당하고, 상기 계산된 값이 할당되지 않은 영역에는 랜덤(random) 값을 할당할 수 있다. 즉, 복수의 격자 영역 중 지문 특징점을 포함하는 영역에는 인덱스 값에 기초하여 계산된 값이 할당되고, 나머지 영역에는 랜덤 값들이 할당될 수 있다.
일 실시 예에 따르면, 상기 계산된 값은, 미리 설정된 수학식에 상기 인덱스 값을 대입하여 얻어지는 값일 수 있다. 일 실시 예에 따르면, 상기 미리 설정되는 수학식은, 하기 [수학식 2]와 같은 k차 다항식(polynomial)일 수 있다.
[수학식 2]
pk(i) = p0 + p1i + p2i2 + … + pkik
상기 k차 다항식 pk(i)은 비밀키(secret key) κ에 기반한 다항식일 수 있다. 예컨대, 비밀키 κ는 상기 k차 다항식 pk(i)의 계수를 연접한 데이터(p0∥p1∥p2∥…∥pk)에 대응할 수 있다. 지문 인식 장치 100은, 지문 특징점을 포함하는 영역에 부여된 인덱스 값 i를 상기 k차 다항식에 대입할 수 있고, 이로부터 도출되는 값 pk(i)를 해당 영역에 할당할 수 있다.
예를 들어, 도 3(d)를 참조하면, 도 3(c)에 지문 특징점 301 내지 304가 각각 인덱스 값이 2,4,9,11인 영역에 포함되어 있었으므로, 인덱스 값이 2,4,9,11인 영역에는 pk(2), pk(4), pk(9), 및 pk(11)이 각각 할당될 수 있다. 한편, 인덱스 값이 2,4,9,11 이외의 영역에는 각각 랜덤한 값 ri이 할당될 수 있다.
일 실시 예에 따르면, 미리 설정된 수학식은, 다항식인 것에 제한되지 않는다. 상기 미리 설정된 수학식은 비밀키에 기반한 CRT(Chinese Remainder Theorem)를 이용한 수식일 수도 있다.
동작 211에서 지문 인식 장치 100은, 동작 209에서 할당된 값에 기초하여 지문 템플릿을 생성하여 내장된 메모리 130에 저장할 수 있다. 또한, 지문 인식 장치 100은 지문 템플릿과 함께 비밀키 κ를 더 저장할 수도 있다.
지문 템플릿은 인덱스 값에 따라 할당된 값들의 데이터 집합을 지칭할 수 있다. 예를 들어, 상기 지문 템플릿은 도 3(d)에 있어서 할당된 값들의 집합을 지칭할 수 있다. 지문 템플릿은 각각의 유형(type) t 및 오리엔테이션 각 θ마다 별도로 생성될 수 있다. 예를 들어, 유형 t가 '0' 또는 '1'의 값을 가지고 오리엔테이션 각 θ가 '0','1','2','3' 중 어느 하나의 값을 가지는 경우 8개의 지문 템플릿이 생성되어 메모리 130에 저장될 수 있다.
한편, 비밀키 κ는 미리 사용자에 의하여 입력받거나, 지문 인식 장치 100에 설정되어 있는 값일 수 있다. 비밀키 κ는 일정한 값이 연접된(concatenated) 값일 수 있다. 본 발명의 일부 실시예에 있어서 비밀키 κ는 미리 설정된 수학식의 계수를 연접한 값(p0∥p1∥p2∥…∥pk)을 지칭할 수 있다.
어떤 실시 예에 따르면, 상기 비밀키 κ는 일정한 해시(hash) 함수에 대입되어 해시된 형태(해시값) hash[κ] = hash(p0∥p1∥p2∥…∥pk)로 메모리 130에 저장될 수 있다.
전술한 동작 201 내지 211에 의하여, 사용자의 지문 정보는 지문 인식 장치 100에 등록될 수 있다. 본 발명의 일 실시 예에 따른 지문 등록 방법에 의하면, 모든 영역에 소정의 값이 할당되므로, 이른바 상관 공격에 강인할 수 있다.
도 4는 본 발명의 다른 실시 예에 따른 지문 등록 방법을 나타내고, 도 5는 본 발명의 다른 실시 예에 따른 지문 등록 방법을 설명하기 위한 도면을 나타낸다.
도 4를 참조하면, 본 발명의 일 실시 예에 따른 지문 등록 방법은 동작 401 내지 411을 포함할 수 있다. 동작 401 내지 407 및 411은 도 2의 동작 201 내지 207 및 211에 대응할 수 있으므로 중복된 설명을 생략한다.
동작 409에서 지문 인식 장치 100은, 동작 407에서 구분된 복수의 영역(예: 도 5(a)) 각각에 대하여 소정의 값을 할당할 수 있다. 예를 들어, 지문 인식 장치 100은, 동작 405에서 추출한 지문 특징점을 포함한 영역에 일정하게 계산된 값을 할당함과 아울러, 동작 405에서 추출한 지문 특징점에 인접한 영역에 대하여도 일정하게 계산된 값을 할당할 수 있다. 또한, 상기 계산된 값이 할당되지 않은 영역에는 랜덤 값을 할당할 수 있다.
상기 일정하게 계산된 값은 상기 인접한 영역에 부여된 인덱스 값에 기초한 값으로, 예를 들어, 해당 영역에 부여된 인덱스 값을 상기 [수학식 2]에 대입한 값일 수 있다.
이때, 지문 특징점에 인접한 영역은, 영역 중심의 좌표와 지문 특징점과의 좌표차에 기초하여 설정되는 영역으로, 상기 좌표차를 구성하는 각 파라미터는 미리 설정된 값 rE보다 작을 수 있다.
예를 들어, 도 5(b)를 참조하면, 지문 특징점 301은 인덱스 값이 2인 영역(영역 2)에 포함되되, 영역 1과 영역 2 간의 경계로부터 δx만큼 이격되어 있고, 영역 2와 영역 6 간의 경계로부터 δy만큼 이격되어 있다. δx는 b/2 보다 작고, δy는 b/2보다 큰 것으로 설정되어 있다. 또한, 상기 "미리 설정된 값" rE는 격자 영역의 한 변의 길이인 b로 설정되어 있다.
본 예시에 있어서 상기 "미리 설정된 값" rE는 b로 설정되어 있으나, 이에 제한되는 것이 아니다. 만일 상기 "미리 설정된 값" rE가 b/2인 경우, 실질적으로 도 2에서 설명한 지문 등록 방법과 동일한 효과를 달성할 수 있다. 일반적으로 "미리 설정된 값" rE를 작게 설정하면 등록하는 지문 정보의 보안성을 높게 달성할 수 있다.
도 5(b)에 있어서, 지문 인식 장치 100은 각 영역 중심 O1~O20의 좌표와 지문 특징점 301과의 좌표차를 연산할 수 있다. 지문 인식 장치 100은 각 영역 중심 O1~O20의 좌표와의 좌표차 가운데, 그 좌표를 구성하는 각 파라미터가 미리 설정된 값 rE = b보다 작은 영역을 특정할 수 있다. 이를 수식으로 표현하면 다음과 같다.
[수학식 3]
│xi - Oxn│< rE 이고, │yi - Oyn│< rE
xi 및 yi는 지문 특징점의 x 및 y 좌표이고, Oxn 및 Oyn는 영역 n(즉, 인덱스 값이 n인 영역)의 중심 On의 x 및 y 좌표를 나타낸다. 예를 들어, 지문 특징점 301와 영역 1의 중심 O1 간의 좌표차는 (b/2 + δxy - b/2)이다. 전술한 바와 같이 δx < b/2 이고, δy > b/2이므로, 상기 좌표차를 구성하는 파라미터 b/2 + δx 및 δy - b/2는 각각 b보다 작다. 따라서, 영역 1은 상기 "지문 특징점에 인접한 영역"으로 선택(특정)될 수 있다.
반면, 지문 특징점 301과 영역 6의 중심 O6 간의 좌표차는 (b/2 - δx, δy + b/2)이다. 전술한 바와 같이 δx < b/2 이고, δy > b/2이므로, 상기 좌표차를 구성하는 파라미터 중 b/2 - δx는 b보다 작으나, δy + b/2는 b보다 크다. 따라서, 영역 6은 상기 "지문 특징점에 인접한 영역"이 아닐 수 있다. 유사한 방식으로 모든 영역에 대하여 판단하면, 지문 특징점 301과 인접한 영역은 영역 1뿐임을 알 수 있다.
따라서, 지문 특징점 301에 의해 상기 계산된 값이 할당되는 영역은 영역 1 및 2이 될 수 있다. 도 5(c)를 참조하면, 영역 1 및 2에는 각각 pk(1) 및 pk(2)가 할당되어 있고, 영역 5 및 6에는 랜덤 값 r5 및 r6이 할당되어 있는 것을 확인할 수 있다.
도 5에 도시된 지문 특징점 302 내지 304에 대하여도 지문 특징점 301과 유사한 방법으로, 상기 계산된 값이 할당되는 영역이 설정될 수 있다. 도 5(c)를 참조하면, 영역 4에는 지문 특징점 302에 의해 pk(4)가 할당되고, 영역 9 및 13에는 지문 특징점 303에 의해 pk(9) 및 pk(13)이 할당되며, 영역 11, 12, 15, 및 16에는 지문 특징점 304에 의해 pk(11), pk(12), pk(15) 및 pk(16)이 할당될 수 있다. 나머지 영역에는 랜덤 값 r이 할당될 수 있다.
한편, 일 실시 예에 따르면, 지문 특징점에 인접한 영역은, 각 영역의 중심과 지문 특징점과의 거리(Euclidean distance)에 기초하여 설정될 수도 있다. 이 경우, 상기 거리가 미리 설정된 거리보다 작은 영역이 "지문 특징점에 인접한 영역"으로 설정될 수 있다.
또한, 일 실시 예에 따르면, 지문 특징점에 인접한 영역은, 각 영역의 경계와 지문 특징점과의 거리에 기초하여 설정될 수도 있다. 예를 들어, "지문 특징점에 인접한 영역"은 상기 경계와 지문 특징점과의 거리가 미리 설정된 거리보다 작은 경우에 있어서 상기 경계에 접한 영역으로 설정될 수도 있다.
본 발명의 상기 다른 실시 예에 따른 지문 등록 방법에 의하면, 지문 특징점을 포함하는 영역뿐만 아니라, 지문 특징점에 인접한 영역에도 일정하게 계산된 값을 할당할 수 있다. 이로써, 추후 인증시 영역 경계의 획정에 따른 오류를 최소화할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 지문 템플릿의 통합을 설명하기 위한 도면을 나타낸다.
전술한 바와 같이, 지문 템플릿은 지문 특징점의 유형 ti, 오리엔테이션 각 θi마다 별도의 지문 템플릿으로 메모리 130에 저장될 수 있다. 그런데, 일반적으로 유형 t 또는 오리엔테이션 각 θ가 상이하면 서로 다른 지문 특징점으로 판단될 수 있다. 이는, 통상적으로 융선의 끝점과 융선의 분기점은 동일한 위치에 존재하지 않기 때문이다. 또한, 복수의 지문 특징점 간에 오리엔테이션 각이 상이하다면 이들은 서로 다른 지문 특징점이고, 동일한 위치에 존재하지 않는 것이 일반적이다.
따라서, 지문 특징점의 유형 t, 및 오리엔테이션 각 θ마다 별도로 생성된 지문 템플릿은 단일의 템플릿으로 통합되어 메모리 130에 저장될 수 있다. 다시 말해, 지문 인식 장치 100은 지문 특징점의 오리엔테이션 각 θ 또는 유형 t마다 지문 템플릿을 생성하고, 상기 생성된 지문 템플릿을 단일의 템플릿으로 통합하여 메모리 130에 저장할 수 있다.
도 6을 참조하면, 지문 특징점의 유형 및 오리엔테이션 각에 따른 지문 템플릿 601, 602, …, 608이 도시되어 있다. 예를 들어, 템플릿 601은 t = '0', θ = '0'인 지문 템플릿을 나타내고, 템플릿 602는 t = '0', θ = '1'인 지문 템플릿을 나타내며, 템플릿 608은 t = '1', θ = '3'인 지문 템플릿을 나타낸다.
지문 템플릿 601에 있어서, 지문 특징점이 포함된 격자 영역에는 수학식에 기초하여 계산된 값 pk(1)과 랜덤 값 r12, r13, r14가 할당되어 있다. 또한, 지문 템플릿 602에는 모두 랜덤 값이 할당되어 있으며, 지문 템플릿 608에는 수학식에 기초하여 계산된 값 pk(4)과 랜덤 값 r81, r82, r83가 할당되어 있다. 도시하지 않은 지문 템플릿 603 내지 607에는 모두 랜덤 값이 할당되어 있다고 가정한다. 즉, 지문 템플릿 603 내지 607에 대응하는 유형 t 및 오리엔테이션 각 θ를 가진 지문 특징점은 검출되지 않았다고 가정한다.
지문 인식 장치 100은 상기 지문 템플릿 601 내지 608을 단일의 템플릿으로 통합하여 메모리 130에 저장할 수 있다. 예를 들어, 지문 인식 장치 100은 지문 템플릿 601 내지 608 중에서 수학식에 기초하여 계산된 값들(예: pk(1), pk(4))을, 단일의 템플릿 610의 대응되는 영역에 할당할 수 있다. 또한, 지문 인식 장치 100은 상기 단일의 템플릿 610 중에서 상기 계산된 값이 할당되지 않은 영역에 랜덤 값(예: r2, r3)을 할당할 수 있다.
전술한 바와 같이 일반적으로 유형 t 또는 오리엔테이션 각 θ가 상이하면 서로 다른 지문 특징점으로 판단될 수 있으므로, 상기 템플릿 601 내지 608은 하나의 템플릿 610으로 통합될 수 있다. 결국, 메모리 130에는 단일의 템플릿 610만을 저장하면 족하므로 메모리 130에서 지문 템플릿이 차지하는 용량이 저감될 수 있다.
일부 실시 예에서, 지문 인식 장치 100은 지문 특징점의 유형 또는 오리엔테이션 각에 따라 별도의 템플릿을 생성하여 통합하는 대신, 지문 특징점의 유형 또는 오리엔테이션 각에 대한 정보를 무시하고 곧바로 단일 템플릿을 생성할 수 있다. 다시 말해서, 지문 인식 장치 100은 추출된 지문 특징점들의 위치(x, y)만을 고려하여 지문 템플릿을 생성할 수 있다.
도 7은 본 발명의 일 실시 예에 따른 지문 인증 방법을 나타내고, 도 8은 본 발명의 일 실시 예에 따른 지문 인증 방법을 설명하기 위한 도면을 나타낸다.
도 7을 참조하면 본 발명의 일 실시 예에 따른 지문 인증 방법은 동작 701 내지 715를 포함할 수 있다. 도 2와 관련하여 중복되거나 대응되는 설명은 생략될 수 있다.
동작 701에서 지문 인식 장치 100은 인증 사용자로부터 쿼리(query) 지문 이미지 획득할 수 있다. 쿼리 지문 이미지는 지문 인식 장치 100에 의해 인증되는 지문 이미지를 의미할 수 있다. 예컨대, 지문 인식 장치 100은 쿼리 지문 이미지로서 도 8(a)와 같은 지문 이미지를 획득할 수 있다.
본 명세서에서 “쿼리”는 지문 인증 방법에서 인증 대상임을 나타내는 문구로, 지문 등록 방법에서 등록 대상이 되는 지문 이미지 또는 지문 특징점과 구별하기 위해 부가 기재되었다.
쿼리 지문 이미지 또는 쿼리 지문 특징점은 인증 대상이 되는 지문 이미지 또는 지문 특징점을 의미할 수 있다.
동작 703에서 지문 인식 장치 100은 동작 701에서 획득된 쿼리 지문 이미지에 대한 전처리 수행할 수 있다. 일 실시 예에 따르면 본 동작 703에 따른 전처리는 생략될 수 있다.
동작 705에서 지문 인식 장치 100은 쿼리 지문 이미지로부터 쿼리 지문 특징점을 추출할 수 있다. 예를 들어 지문 인식 장치 100은 도 8(b)와 같은 지문 특징점 801 내지 804를 추출할 수 있다.
동작 707에서 지문 인식 장치 100은 쿼리 지문 이미지를 복수의 영역으로 구분하고, 구분된 각각의 영역에 인덱스 값을 부여할 수 있다. 예를 들어, 도 8(c)를 참조하면, 상기 복수의 영역의 개수, 및 크기는 도 3(c)의 영역의 개수, 및 크기에 대응할 수 있다.
동작 709에서 지문 인식 장치 100은 복수의 영역 가운데 쿼리 지문 특징점을 포함하는 영역을 특정(선택)할 수 있다. 또한, 지문 인식 장치 100은 상기 특정된 영역의 인덱스 값에 대응하는 할당 값을, 메모리 130에 미리 저장된 지문 템플릿으로부터 판독할 수 있다.
상기 미리 저장된 지문 템플릿은 복수의 영역으로 구분되어 있고, 구분된 영역마다 인덱스 값이 부여되어 있으며, 상기 구분된 영역은 각각 할당 값을 가질 수 있다. 일 실시 예에 따르면, 상기 구분된 영역의 할당 값 중 적어도 일부는, 미리 저장된 비밀키에 기초한 수학식에 상기 특정된 인덱스 값을 대입한 값을 포함할 수 있다. 예를 들어, 상기 미리 저장된 지문 템플릿은 도 3(d)에 따른 지문 템플릿일 수 있다.
예를 들어, 도 8(d)를 참조하면, 지문 인식 장치 100은 복수의 영역 가운데 (쿼리) 지문 특징점을 포함한 영역을 특정(선택)할 수 있다. 또한, 지문 인식 장치 100은 상기 특정된 영역의 인덱스 값(i = 2,4,9,11)에 대응하는 할당 값을, 상기 미리 저장된 지문 템플릿으로부터 판독할 수 있다. 예를 들어, 미리 저장된 지문 템플릿이 도 3(c)에 따른 지문 템플릿에 대응하면, 상기 할당 값으로 pk(2), pk(4), pk(9), pk(11)의 값이 판독될 수 있다.
동작 711에서 지문 인식 장치 100은, 상기 특정된 인덱스 값과 동작 709에서 판독된 할당 값을 기초로 수학식을 복원할 수 있다. 예를 들어, 도 8의 경우 지문 인식 장치 100은, 상기 특정된 인덱스 값 2,4,9,11과 동작 709에서 판독된 할당 값 pk(2), pk(4), pk(9), pk(11)을 기초로 수학식을 복원할 수 있다.
예를 들어, 상기 수학식은 k차의 다항식 pk'(i)일 수 있으며, 상기 다항식 pk'(i)은 하기 [수학식 4]로 표현될 수 있다.
[수학식 4]
pk(i) = p'0 + p'1i + p'2i2 + … + p'kik
일 실시예에 따르면, 상기 쿼리 지문 특징점을 포함한 영역을 특정함에 있어서, 외부 환경의 영향으로 인해 잘못된 쿼리 지문 특징점이 추출될 수 있다. 즉, 지문 인식 장치 100이 미리 저장된 지문 템플릿으로부터 판독하는 할당 값은 랜덤 값을 포함할 수 있다.
예를 들면, 지문 인식 장치 100은 도 8(d)에 있어서 잘못 추출된 지문 특징점(미도시)을 포함한 영역 16을 특정할 수 있다. 지문 인식 장치 100은 미리 저장된 지문 템플릿(예: 도 3(d))으로부터, 올바르게 추출한 지문 특징점에 따른 할당 값(pk(2), pk(4), pk(9), pk(11))과 함께 상기 영역 16에 대응하는 할당 값 r16을 판독할 수 있다. 지문 인식 장치 100은 판독한 값 pk(2), pk(4), pk(9), pk(11), 및 r16을 기초로 다항식 pk'(i)을 복원할 수 있다. 지문 인식 장치 100은 상기 다항식 pk'(i)의 복원에서 랜덤 값 r16을 배제하기 위해, Brute-force search 알고리즘, 또는 Reed-Solomon 디코딩 알고리즘을 사용할 수 있다. 또한, 지문 인식 장치 100은 상기 다항식 pk'(i)를 복원함에 있어서 pk(2), pk(4), pk(9), pk(11) 값들을 보간(interpolation)함에 있어서는 라그랑지 보간법((Lagrange interpoation)이 이용할 수도 있다.
동작 713에서 지문 인식 장치 100은, 동작 711에서 복원된 수학식으로부터 상기 복원된 수학식을 특정하기 위한 계수를 추출할 수 있다. 예를 들어 복원된 수학식이 상기 [수학식 4]와 같은 k차 다항식 pk'(i)인 경우, 상기 k차 다항식 pk'(i)의 계수 p'0,p'1,p'2,…,p'k가 추출될 수 있다. 상기 추출된 각각의 계수 p'0,p'1,p'2,…,p'k는 서로 연접되어 쿼리 비밀키 κ' = (p'0∥p'1∥p'2∥…∥p'k)를 구성할 수 있다. 일 실시 예에 따르면, 상기 쿼리 비밀키 κ'은 해시함수에 대입되어 해시된 형태 (hash[κ'])를 취할 수도 있다.
동작 715에서 지문 인식 장치 100은, 복원된 수학식으로부터 추출된 계수 p'0,p'1,p'2,…,p'k에 따른 쿼리 비밀키 κ'과 미리 저장된 비밀키 κ를 비교하여 사용자 인증 여부를 판단할 수 있다. 지문 인식 장치 100은 양 키가 일치하면 인증 성공으로 판단하고, 불일치하면 인증 실패로 판단할 수 있다. 상기 인증 여부의 판단은 입출력 인터페이스 150을 통해 다른 장치로 통지될 수 있다.
일 실시 예에 따르면, 상기 동작 715에서 지문 인식 장치 100은, 상기 해시된 형태로 변환된 계수 hash[κ']와 상기 미리 저장된 비밀키의 해쉬된 형태 hash[κ]를 비교할 수 있다. 즉, 지문 인식 장치 100은 해시된 형태로 변환된 키hash[p'0∥p'1∥p'2∥…∥p'k]와 저장되어 있는 해시된 비밀키 hash[p0∥p1∥p2∥…∥pk]를 비교하여 인증 여부를 판단할 수도 있다.
도 9는 본 발명의 다른 실시 예에 따른 지문 인증 방법을 나타내고, 도 10은 본 발명의 다른 실시 예에 따른 지문 인증 방법을 설명하기 위한 도면을 나타낸다.
도 9를 참조하면, 본 발명의 일 실시 예에 따른 지문 등록 방법은 동작 901 내지 915를 포함할 수 있다. 동작 901 내지 907, 및 911 내지 915는 도 7의 동작 701 내지 707 및 711 내지 715에 대응될 수 있으므로 중복된 설명을 생략한다.
동작 909에서 지문 인식 장치 100은, 복수의 영역 가운데 (쿼리) 지문 특징점(예: 도 10(a)의 특징 801 내지 804)을 포함하는 영역과, 상기 (쿼리) 지문 특징점에 인접한 영역을 특정할 수 있다. 지문 인식 장치 100은, 상기 특정된 영역의 인덱스 값에 대응하는 할당 값을 미리 저장된 지문 템플릿으로부터 판독할 수 있다.
이때, 지문 특징점에 인접한 영역은, 영역 중심의 좌표와 (쿼리) 지문 특징점과의 좌표차에 기초하여 설정되는 영역으로, 상기 좌표차를 구성하는 각 파라미터는 미리 설정된 값 rQ보다 작을 수 있다.
예를 들어, 도 10(b)를 참조하면, (쿼리) 지문 특징점 803은 인덱스 값이 9인 영역(영역 9)에 포함되되, 영역 9와 영역 10 간의 경계로부터 δx만큼 이격되어 있고, 영역 9와 영역 13 간의 경계로부터 δy만큼 이격되어 있다. δx 및 δy는 b/2보다 작은 것으로 설정되어 있다. 또한, 상기 "미리 설정된 값" rQ는 격자 영역의 한변의 길이인 b로 설정되어 있다.
본 예시에 있어서, 상기 "미리 설정된 값" rQ는 b로 설정되어 있으나, 이에 제한되는 것이 아니다. 만일 상기 "미리 설정된 값" rQ가 b/2인 경우, 실질적으로 도 7에서 설명한 지문 인증 방법과 동일한 효과를 달성할 수 있다.
이러한 도 10(b)에 있어서, 지문 인식 장치 100은 각 영역 중심 O1~O20의 좌표와 (쿼리) 지문 특징점 803과의 좌표차를 연산할 수 있다. 지문 인식 장치 100은 각 영역 중심 O1~O20의 좌표와의 좌표차 중에서, 그 좌표차를 구성하는 각 파라미터가 미리 설정된 값 rQ= b보다 작은 영역을 특정할 수 있다. 이를 수식으로 표현하면 다음과 같다.
[수학식 5]
│xj - Oxn│< rQ 이고, │yj - Oyn│< rQ
xj 및 yj는 (쿼리) 지문 특징점의 x 및 y 좌표이고, Oxn 및 Oyn는 영역 n(즉, 인덱스 값이 n인 영역)의 중심 On의 x 및 y 좌표를 나타낸다. 예를 들어, (쿼리) 지문 특징점 803과 영역 10의 중심 O10 간의 좌표차는 (b/2 + δx, b/2 - δy)이다. 전술한 바와 같이 δx < b/2 이고, δy < b/2이므로, 상기 좌표차를 구성하는 파라미터 b/2 + δx 및 b/2 - δy는 각각 b보다 작다. 따라서, 영역 10은 상기 "(쿼리) 지문 특징점에 인접한 영역"으로 선택(특정)될 수 있다.
마찬가지로, (쿼리) 지문 특징점 803과 영역 13의 중심 O13 간의 좌표차는 (b/2 - δx, δy + b/2)이다. 전술한 바와 같이 δx < b/2 이고, δy < b/2이므로, 상기 좌표차를 구성하는 파라미터 b/2 - δx 및 δy + b/2는 각각 b보다 작다. 따라서, 영역 13은 상기 "(쿼리) 지문 특징점에 인접한 영역"으로 선택(특정)될 수 있다. 유사한 방식으로 모든 영역에 대하여 판단하면, (쿼리) 지문 특징점 803과 인접한 영역은 영역 10, 13, 및 14임을 알 수 있다.
도 10(c)를 참조하면, 지문 인식 장치 100은, 영역 9, 10, 13, 및 14의 인덱스 값에 대응하는 할당 값을 미리 저장된 지문 템플릿으로부터 판독할 수 있다. 예를 들어, 상기 미리 저장된 지문 템플릿이 도 5(c)에 따른 지문 템플릿이면, 영역 9, 10, 13, 14의 할당 값인 pk(9), r10, pk(13), r14가 판독될 수 있다.
도 10에 도시된 지문 특징점 801, 802, 804에 대하여도 지문 특징점 803과 유사한 방법으로, 각각 인덱스 값에 대응하는 할당 값이 판독될 수 있다. 도 10(c) 및 도 5(c)를 참조하면, 지문 특징점 801에 의해 pk(2)가 판독될 수 있고, 지문 특징점 802에 의해 pk(4) 및 r8이 판독될 수 있으며, 지문 특징점 804에 의해 pk(11), 및 pk(12)가 판독될 수 있다. 상기 판독된 할당 값 중 랜덤 값들은 Brute-force search 알고리즘 또는 Reed-Solomon 디코딩 알고리즘에 의해 수학식 복원에서 배제될 수 있다.
한편, 일 실시 예에 따르면, 상기 (쿼리) 지문 특징점에 인접한 영역은, 각 영역의 중심과 (쿼리) 지문 특징점과의 거리에 기초하여 설정될 수도 있다. 이 경우, 상기 거리가 미리 설정된 거리보다 작은 영역이 "지문 특징점에 인접한 영역"으로 설정될 수 있다.
또한, 일 실시 예에 따르면, 상기 (쿼리) 지문 특징점에 인접한 영역은, 각 영역의 경계와 (쿼리) 지문 특징점과의 거리에 기초하여 설정될 수도 있다. 예를 들어, "지문 특징점에 인접한 영역"은 상기 경계와 지문 특징점과의 거리가 미리 설정된 거리보다 작은 경우에 있어서 상기 경계에 접한 영역으로 설정될 수도 있다.
본 발명의 상기 다른 실시 예에 따른 지문 인증 방법에 의하면, (쿼리) 지문 특징점을 포함하는 영역뿐만 아니라, 지문 특징점에 인접한 영역으로부터도 할당 값을 판독할 수 있다. 이로써, 지문 인증시 영역 경계의 획정에 따른 오류를 최소화할 수 있다.
도 11은 본 발명의 일 실시 예에 따른 지문 등록 방법에 있어서의 결과 데이터를 나타낸다.
도 11을 참조하면, "Radius"는 각각 (rE,rQ)의 값을 나타내고, 'e'는 쿼리 지문 이미지의 정렬 오차(alignment error)의 최대값을 나타낸다. "Block size"는 각 격자 영역의 픽셀 크기(예: 도 5(b)의 격자 영역의 한 변의 길이 b)를 나타내며, "Degree"는 미리 설정되는 다항식의 차수를 나타낸다. "Attack"은 등록된 지문 템플릿에 대한 공격량을 나타내고, "Unlock"은 등록된 템플릿을 1GHz의 클럭수로 공격하였을 때 인증 성공에 소요되는 시간을 나타낸다. "Storage"는 등록되는 지문 템플릿의 저장 용량을 나타낸다. 도 11의 결과 데이터는 올바른 사용자가 지문 인증에 실패할 확률인 FRR(False Reject Rate)이 1%이내로 유지되는 것을 전제로 수행한 것을 나타낸다. 도 11과 같은 결과 데이터에 기초하여, 사용자는 다양한 파라미터(예: b,rE,rQ,k값)를 조절함으로써 지문 보안 안정성을 과도하게 해하지 않으면서도, 지문 템플릿 저장량의 증가를 최대한 억제할 수 있다.
본 발명의 다양한 실시 예에 의하면, 지문 특징점을 포함한 격자 영역을 제외한 모든 격자 영역에 랜덤한 값이 할당될 수 있으므로, 상관 공격(혹은 다중 템플릿(multi-templates) 공격에 면역될 수있다.
본 발명의 일 실시 예에 따르면, 지문 특징점에 인접한 영역을 특정하기 위한 값인 rE, rQ의 값과 격자 영역의 픽셀 크기 b 등을 사용자가 조절할 수 있으므로, 사용자의 의도에 부합하는 저장량 및 안전성을 도모할 수 있다. 일 실시 예에 따르면, 일정범위 (rE+rQ) 이하의 오차를 가지고 인식된 모든 특징점이 양자화 과정 이후에도 동일한 값을 가지므로, 더 높은 GAR(Genuine Acceptance Rate)이 달성될 수 있다.
한편, 본 발명의 일 실시 예에 따르면, 각 격자 영역마다 하나의 값만을 할당하여 저장하므로, 추가해야 하는 거짓 특징점의 수가 줄어들어 저장량을 저감할 수 있다. 나아가 공개된 값들이 템플릿 중 어떤 격자 영역에 대응하는지 알 수 없으므로, 지문 정보를 복구하기 위한 공격량은 유지될 수 있다.
다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서 120)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리 130이 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM, DVD, 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM, RAM, 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.

Claims (16)

  1. 지문 인식 장치의 지문 등록 방법에 있어서,
    지문 이미지로부터 복수의 지문 특징점(fingerprint minutiae)을 추출하는 동작;
    상기 지문 이미지를 복수의 영역으로 구분하고, 구분된 각각의 영역에 인덱스 값을 부여하는 동작;
    상기 각각의 영역이 하나 이상의 상기 지문 특징점을 포함하면 상기 각각의 영역에 부여된 상기 인덱스 값에 기초하여 계산된 값을 할당하고, 상기 계산된 값이 할당되지 않은 영역에는 랜덤 값을 할당하는 동작; 및
    상기 할당된 값에 기초하여 지문 템플릿을 생성하여 저장하는 동작;을 포함하는 지문 등록 방법.
  2. 청구항 1에 있어서,
    상기 할당하는 동작은, 상기 지문 특징점에 인접한 영역에 대해, 상기 인접한 영역에 부여된 인덱스 값에 기초하여 계산된 값을 할당하는 동작을 포함하는, 지문 등록 방법.
  3. 청구항 2에 있어서,
    상기 인접한 영역은, 영역 중심의 좌표와 상기 지문 특징점과의 좌표차에 기초하여 설정되되,
    상기 좌표차를 구성하는 각 파라미터는 미리 설정된 값보다 작은, 지문 등록 방법.
  4. 청구항 1에 있어서,
    상기 계산된 값은, 미리 설정된 수학식에 상기 인덱스 값을 대입하여 얻어지는 값인, 지문 등록 방법.
  5. 청구항 4에 있어서,
    상기 미리 설정된 수학식은, 비밀키에 기반한 다항식인, 지문 등록 방법.
  6. 청구항 4에 있어서,
    상기 미리 설정된 수학식은, 비밀키에 기반한 CRT(Chinese Remainder Theorem)를 이용한 수식인, 지문 등록 방법.
  7. 청구항 5에 있어서,
    상기 저장하는 동작은, 상기 비밀키를 더 저장하는, 지문 등록 방법.
  8. 청구항 5에 있어서,
    상기 비밀키는 해시된 형태(hashed form)를 가지는, 지문 등록 방법.
  9. 청구항 1에 있어서,
    상기 생성하여 저장하는 동작은, 상기 지문 특징점의 오리엔테이션 각(orientation angle) 또는 유형마다 지문 템플릿을 생성하고, 상기 생성된 지문 템플릿을 단일의 템플릿으로 통합하여 저장하는 동작을 포함하는, 지문 등록 방법.
  10. 지문 인식 장치의 지문 인증 방법에 있어서,
    지문 이미지로부터 복수의 지문 특징점을 추출하는 동작;
    상기 지문 이미지를 복수의 영역으로 구분하고, 구분된 각각의 영역에 인덱스 값을 부여하는 동작;
    상기 복수의 영역 중 상기 지문 특징점을 포함하는 영역을 특정하고, 상기 특정된 영역의 인덱스 값에 대응하는 할당 값을, 미리 저장된 지문 템플릿으로부터 판독하는 동작;
    상기 특정된 영역의 인덱스 값과 상기 판독된 할당 값을 기초로 수학식을 복원하는 동작; 및
    상기 복원된 수학식으로부터 추출된 계수와 미리 저장된 비밀키와 비교하는 동작;을 포함하는, 지문 인증 방법.
  11. 청구항 10에 있어서,
    상기 미리 저장된 지문 템플릿은 복수의 영역으로 구분되어 있고, 구분된 영역마다 인덱스 값이 부여되어 있으며, 상기 구분된 영역은 각각 할당 값을 가지는, 지문 인증 방법.
  12. 청구항 11에 있어서,
    상기 구분된 영역의 할당 값 중 적어도 일부는, 상기 미리 저장된 비밀키에 기초한 수학식에 상기 특정된 인덱스 값을 대입한 값을 포함하는, 지문 인증 방법.
  13. 청구항 10에 있어서,
    상기 판독하는 동작은, 상기 지문 특징점에 인접한 영역을 더 특정하고, 상기 더 특정된 영역의 인덱스 값에 대응하는 할당 값을, 상기 미리 저장된 지문 템플릿으로부터 판독하는 동작을 포함하는, 지문 인증 방법.
  14. 청구항 13에 있어서,
    상기 인접한 영역은, 영역 중심의 좌표와 상기 지문 특징점과의 좌표차에 기초하여 설정되되,
    상기 좌표차를 구성하는 각 파라미터는 미리 설정된 값보다 작은, 지문 인증 방법.
  15. 청구항 10에 있어서,
    상기 수학식을 복원하는 동작은, brute-force search 알고리즘, 또는 Reed-Solomon 디코딩 알고리즘을 이용하는, 지문 인증 방법.
  16. 청구항 10에 있어서,
    상기 복원된 수학식으로부터 추출된 계수를 해시된 형태로 변환하는 동작을 더 포함하고,
    상기 비교하는 동작은, 상기 해시된 형태로 변환된 계수와 상기 미리 저장된 비밀키의 해쉬된 형태를 비교하는 동작인, 지문 인증 방법.
KR1020150067318A 2015-05-14 2015-05-14 지문 등록 방법 및 지문 인증 방법 KR20160133991A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150067318A KR20160133991A (ko) 2015-05-14 2015-05-14 지문 등록 방법 및 지문 인증 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150067318A KR20160133991A (ko) 2015-05-14 2015-05-14 지문 등록 방법 및 지문 인증 방법

Publications (1)

Publication Number Publication Date
KR20160133991A true KR20160133991A (ko) 2016-11-23

Family

ID=57541312

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150067318A KR20160133991A (ko) 2015-05-14 2015-05-14 지문 등록 방법 및 지문 인증 방법

Country Status (1)

Country Link
KR (1) KR20160133991A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019139420A1 (ko) * 2018-01-11 2019-07-18 삼성전자주식회사 전자 장치, 서버 및 그 제어 방법
US10509944B2 (en) 2017-02-24 2019-12-17 Samsung Display Co., Ltd. Method and device for recognizing fingerprint
KR20200040068A (ko) * 2018-10-08 2020-04-17 고려대학교 산학협력단 지문 쉘을 이용한 대체 가능한 지문 템플릿 생성 장치 및 방법
US11367301B2 (en) 2020-01-22 2022-06-21 Samsung Display Co., Ltd. Fingerprint authentication device, display device and fingerprint authentication method of the same
CN115512427A (zh) * 2022-11-04 2022-12-23 北京城建设计发展集团股份有限公司 一种结合配合式活检的用户人脸注册方法与***

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10509944B2 (en) 2017-02-24 2019-12-17 Samsung Display Co., Ltd. Method and device for recognizing fingerprint
WO2019139420A1 (ko) * 2018-01-11 2019-07-18 삼성전자주식회사 전자 장치, 서버 및 그 제어 방법
US12015703B2 (en) 2018-01-11 2024-06-18 Samsung Electronics Co., Ltd. Electronic device for user authentication, server, and control method therefor
KR20200040068A (ko) * 2018-10-08 2020-04-17 고려대학교 산학협력단 지문 쉘을 이용한 대체 가능한 지문 템플릿 생성 장치 및 방법
US11367301B2 (en) 2020-01-22 2022-06-21 Samsung Display Co., Ltd. Fingerprint authentication device, display device and fingerprint authentication method of the same
CN115512427A (zh) * 2022-11-04 2022-12-23 北京城建设计发展集团股份有限公司 一种结合配合式活检的用户人脸注册方法与***
CN115512427B (zh) * 2022-11-04 2023-04-25 北京城建设计发展集团股份有限公司 一种结合配合式活检的用户人脸注册方法与***

Similar Documents

Publication Publication Date Title
JP6651565B2 (ja) バイオメトリックテンプレートセキュリティおよびキー生成
US9036876B2 (en) Method and system for authenticating biometric data
US7929732B2 (en) Methods of identifier determination and of biometric verification and associated systems
US8634606B2 (en) Method and system for binarization of biometric data
JP5445584B2 (ja) 生体認証装置、生体認証方法及び生体認証用コンピュータプログラム
US8699799B2 (en) Fingerprint verification method and apparatus with high security
KR100824733B1 (ko) 3차원 퍼지볼트를 이용한 지문 데이터 은닉 방법, 3차원퍼지볼트를 이용한 지문 데이터 인증 방법, 3차원퍼지볼트를 이용한 지문 데이터 은닉 장치 및 3차원퍼지볼트를 이용한 지문 데이터 인증 시스템
US20160132710A1 (en) Fingerprint authentication using stitch and cut
US8290221B2 (en) Apparatus and method for polynomial reconstruction in fuzzy vault system
KR20160133991A (ko) 지문 등록 방법 및 지문 인증 방법
US20160358010A1 (en) Transformed Representation for Fingerprint Data with High Recognition Accuracy
KR20130043188A (ko) 생체 측정 인증 디바이스 및 방법
JP2006006753A (ja) 生体認証システムの登録方法、生体認証システム及びそのプログラム
CN109657528B (zh) 指纹识别方法以及使用指纹识别方法的电子装置
JP2009230459A (ja) 認証装置及び認証システム
KR20170003348A (ko) 사용자 인증을 위한 등록 데이터베이스의 갱신 방법 및 장치
KR20190017975A (ko) 생물학적 특징 인식 장치와 방법 및 생물학적 특징 템플릿 등록 방법
JP5360521B2 (ja) 生体情報の登録方法及び生体認証方法
US20150371098A1 (en) Authentication device, authentication method and program storage medium
RU2355307C2 (ru) Способ аутентификации личности по рисунку отпечатка пальца и устройство для его реализации
Moon et al. A practical implementation of fuzzy fingerprint vault for smart cards
US8122260B2 (en) Shaping classification boundaries in template protection systems
KR101072352B1 (ko) 지문인증 장치 및 그 방법
KR20170051392A (ko) 라이브니스를 검증하는 모바일 장치 및 방법
JP5531585B2 (ja) 生体情報処理装置、生体情報処理方法及び生体情報処理システムならびに生体情報処理用コンピュータプログラム