KR101015894B1 - 패턴인식 데이터 보호 방법 및 장치 - Google Patents

패턴인식 데이터 보호 방법 및 장치 Download PDF

Info

Publication number
KR101015894B1
KR101015894B1 KR1020080102461A KR20080102461A KR101015894B1 KR 101015894 B1 KR101015894 B1 KR 101015894B1 KR 1020080102461 A KR1020080102461 A KR 1020080102461A KR 20080102461 A KR20080102461 A KR 20080102461A KR 101015894 B1 KR101015894 B1 KR 101015894B1
Authority
KR
South Korea
Prior art keywords
coordinate points
low
dimensional coordinate
template
data
Prior art date
Application number
KR1020080102461A
Other languages
English (en)
Other versions
KR20090045010A (ko
Inventor
이용진
정윤수
문기영
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US12/261,377 priority Critical patent/US20090122979A1/en
Publication of KR20090045010A publication Critical patent/KR20090045010A/ko
Application granted granted Critical
Publication of KR101015894B1 publication Critical patent/KR101015894B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

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

Abstract

시스템이나 데이터베이스에 등록된 데이터가 유출되더라도 유출된 데이터로부터 원본 데이터에 관련된 정보를 유추해 낼 수 없도록 원본 데이터를 안전한 형태로 변환하는 데이터 보호기술이 필요하다. 본 발명에서는 이러한 과제를 해결하기 위해 정수(n) 차원의 등록 특징 벡터 g(g = [g1, g2, ..., gn]T)를 생성하는 단계, 상기 등록 특징 벡터로부터 상기 정수(n)보다 작은 정수(m < n) 차원의 저차원 좌표점들을 생성하는 단계, 상기 생성된 저차원 좌표점들 각각에 대해 상기 m차원의 좌표축 상에 하나 이상의 가좌표점들을 생성하는 단계 및 상기 저차원 좌표점들 및 상기 가좌표점들을 포함하는 등록 템플릿을 생성하는 단계를 포함하는 것을 특징으로 하는 데이터 보호를 위한 템플릿 생성 방법이 제공된다.
패턴 인식, 등록 템플릿, 프로부, 갤러리

Description

패턴인식 데이터 보호 방법 및 장치{Method and apparatus for protecting pattern recognition data}
본 발명은 데이터의 가변성을 고려한 안전한 데이터 저장 및 관리 방법과 관련된다. 구체적으로, 본 발명은 시스템이나 데이터베이스에 등록된 데이터가 유출되더라도 유출된 데이터로부터 원본 데이터에 관련된 정보가 유출되지 않도록 원본 데이터를 안전한 형태로 변환하는 데이터 보호 기술에 관한 것이다.
또한 본 발명은 안전한 데이터 관리를 위해 변환된 데이터로부터 원본 데이터를 복원하지 않고, 변환된 상태에서 데이터 비교/인식이 가능한 패턴 인식 방법에 관련된다. 그리고 본 발명은 사용자의 바이오 인식 정보와 프라이버시 보호를 위해 바이오 인식 정보를 안전한 형태로 변환하는 방법과, 사용자의 원본 바이오 인식 정보가 노출되지 않도록 변환된 바이오 인식 정보를 이용한 사용자 인식/인증 방법과 관련되어 있다. 그리고 본 발명은 바이오 인식 데이터와 같이 개인마다 고유한 특징을 가지고 있어 이를 이용한 사용자 식별 및 인증이 가능하지만, 동일인이라 하더라도 취득 시 매번 그 값이 변하는 데이터를 이용하여 비밀 정보를 안전하게 보관하고 인출하는 데이터 암호화 및 복호화 기술에 관한 것이다.
본 발명은 정보통신부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사 업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호 : 2007-S-020-01, 과제명 : 프라이버시 보호형 바이오인식 시스템 개발].
패턴 인식(pattern recognition)은 현대 산업 사회에서 다양한 분야에서 활용되고 있다. 패턴 인식의 일반적 응용 분야로는 사용자 음성 인식, 얼굴 인식과 같은 사용자 컴퓨터 인터페이스 기술, 필기체 인식 기술, 자동 스팸 메일 분류 및 차단 기술, 웹 검색 기술, 사용자 신원 인증을 위한 바이오 인식기술 (biometrics)등 여러 가지가 있다.
그리고 최근에는 대용량 데이터의 자동 분석에 대한 요구사항이 점차 증가 하면서 사용자 맞춤 광고를 위한 개인 소비 형태 분석, 그리고 사용자의 의료 정보를 이용한 자동 건강 이상 진단과 같은 데이터 마이닝 (data mining) 등으로도 그 응용 분야가 확장되어 가고 있다.
이러한 응용 분야는 일반적으로 특정 데이터 또는 데이터 그룹을 대표하는 템플릿 또는 모델을 만들어 시스템에 저장한다. 그리고 새로이 입력된 데이터를 등록된 템플릿과 비교하고 새로이 입력된 데이터가 등록된 데이터와 얼마나 비슷한지 또는 같은 클래스(class, 종류)에 속하는지를 판단함으로써 보안 서비스를 제공한다.
예를 들어 '가'라는 글자를 인식 및 판별하는 필기체 인식 시스템을 만든다고 가정하자. 시스템은 사용자로부터 미리 '가'라는 글자를 입력받아 '가'의 독특한 특징을 추출하여 '가'에 대한 템플릿 또는 모델을 생성하여 저장한다. 이후, 사 용자가 임의의 글자를 입력할 경우, 저장되어 있는 '가'에 대한 템플릿 또는 모델과 비교하여, 유사도 또는 비유사도를 계산한다. 이 유사도 또는 비유사도가 미리 정해둔 값, 즉 임계값(threshold)보다 큰지 작은지를 판단하여 사용자가 입력한 글자가 '가'인지 아닌지를 판별한다.
비교치로 유사도를 사용하였다면 임계값보다 큰 경우 사용자가 입력한 글자는 '가'로 분류되고 유사도보다 작으면 '가'가 아닌 다른 글자로 분류된다. 만약 비교치로 유클리디안 거리(Euclidean Distance)를 비유사도로 이용하였다면, 비교값이 임계값보다 작으면 '가'로, 비교값이 임계값보다 크면 '가'가 아닌 다른 글자로 분류된다.
이는 입력 데이터 또는 입력 개체와 같은 종류(class)에 속한다고 여겨지는 템플릿 또는 모델을 지정하고, 입력 데이터와 등록된 템플릿을 일대일(1:1) 비교하여 입력 데이터가 지정된 템플릿 또는 모델과 같은 종류에 속하는지 아닌지를 분류 또는 인식하는 방법이다.
패턴 인식을 이용한 응용의 다른 예로, 웹 검색의 경우가 있다. 이 경우는 일대 다수(1:다수) 비교를 통한 인식 시스템이다.
웹 검색 시스템의 경우 미리 여러 홈페이지에 대한 정보를 수집하여 각 홈페이지를 요약하여 요약된 정보를 해당 홈페이지의 템플릿 또는 모델로서 데이터베이스에 등록해 둔다. 웹 검색 사용자가 키워드를 입력할 경우, 웹 검색 시스템은 사용자가 입력한 키워드와 등록된 홈페이지에 대한 템플릿 또는 모델과 비교한 후, 가장 비슷한 순으로 정렬하여 사용자에게 그 목록을 보여준다.
이러한 대부분의 패턴 인식 응용 시스템의 경우, 일대일 비교 또는 일대 다수 비교를 통한 인식 시스템이든 상관없이, 앞서 언급한 바와 같이 입력 데이터와 등록된 템플릿을 비교하여 그 비교치를 이용하여 유사도 또는 비유사도를 판단한다. 그 이유는 대부분의 패턴 인식 기법 적용 대상이 되는 데이터들이 동일인, 동일 개체 또는 동일 장치를 통해 취득되었다 하더라도 그 값이 고정되어 항상 일정한 것이 아니라 데이터 입력 또는 취득 시점마다 그 값이 조금씩 변하기 때문에, 두 데이터가 정확히 일치하는지의 여부를 따져서는 두 데이터가 같은 클래스에 속하는지 등의 판단을 내릴 수 없기 때문이다.
앞서 예를 든 문자 인식의 경우, 같은 사용자가 매번 동일한 글자 '가'를 입력할 수는 없다. 지문을 인식한다 하더라도 지문을 갖다 대는 방향이나 압력에 따라 조금씩 차이가 있을 것이다.
이러한 패턴 인식 기술을 응용한 시스템 중에, 시스템에 등록되어 있는 템플릿 또는 모델이 유출되어 악용될 경우 심각한 사회적, 경제적 문제를 일으킬 수 있다. 예를 들면, 소비자의 소비 형태를 파악하거나 소비자 맞춤형 광고를 위해 각 소비자의 구매 물품 내역을 데이터베이스에 저장해 두었다고 하자. 이러한 데이터는 사용자의 개인 소비 생활과 관련되어 있기 때문에, 유출 시 소비자의 프라이버시 침해를 가지고 올 수 있다. 또 다른 예로, 자동 건강 이상 진단을 위해 저장해 둔 개인 의료 정보의 경우 앞의 소비 패턴에 관련된 데이터보다 프라이버시에 더욱 민감하다고 볼 수 있다.
일반 사용자가 보다 쉽게 접할 수 있는 분야의 또 다른 예로, 바이오 인식 시스템을 들 수 있다. 바이오 인식시스템은 사용자의 신체적/행동적 특징 데이터를 이용하여 개인의 신원을 확인하는 시스템이다. 앞서 설명한 일반적인 패턴 인식 시스템이 템플릿을 생성하는 것과 마찬가지로, 바이오 인식 시스템도 사용자의 신체적/행동적 특징 및 정보를 담고 있는 템플릿을 생성하여 사용자 등록 및 확인에 사용한다.
인식 시스템에 등록되어 보관되는 템플릿을 갤러리(gallery)라고 하며, 인증 요청 시 사용자로부터 새로이 생성된 템플릿을 프로부(probe)라고 한다. 사용자의 신원 확인 요청 시, 바이오 인식 시스템은 미리 저장되어 있던 갤러리를 호출하여 프로부와 비교하고, 비교 결과값을 이용하여 본인(genuine) 또는 타인(impostor)로 분류한다.
이러한 바이오 인식 데이터는 각 사용자의 독특한 정보를 담고 있기 때문에, 유출될 경우 앞의 예에서와 마찬가지로 심각한 프라이버시 침해를 가지고 올 수 있다. 특히 바이오 인식 데이터의 경우 보안을 목적으로 일종의 비밀 번호로 사용되는 정보이다. 따라서 바이오 인식 정보가 유추될 경우, 사용자의 프라이버시 침해뿐만 아니라, 이러한 바이오 인식 시스템을 이용하여 연구소나 기업체의 보안 장치를 한 경우, 유출된 바이오 인식 정보로 인해 보안에 큰 위협을 받게 된다. 그리고 얼굴은 하나 지문은 열 개로, 일반 비밀 번호와는 달리 사용자 인증에 사용될 수 있는 데이터가 개인당 한정되어 있어, 바이오 인식 데이터 유출은 다른 어떤 패턴 인식 데이터의 유출보다 더욱 심각하다고 볼 수 있다.
따라서 바이오 인식 정보와 같이 프라이버시에 민감하거나 중요한 데이터의 경우, 원본 정보가 노출되지 않도록 해당 데이터를 암호화하여 저장하는 방법이 권장되고 있다.
하지만, 앞서 설명한 바와 같이, 바이오 인식 데이터를 포함한 대부분의 패턴 인식 데이터는 매번 동일한 값을 얻기가 거의 불가능하다. 또한, 암호 함수의 특성상 서로 비슷한 값을 암호화한다 하더라도 서로 전혀 다른 값으로 암호화된다.
결국, 암호화되어 등록되어 있는 데이터와 새로이 입력된 데이터를 암호화하여 직접 비교할 경우 암호화되지 않은 원래 형태의 데이터끼리 비교하는 것과는 서로 일관성이 없는 비교값이 생성된다. 따라서 패턴인식에서 암호화된 데이터를 직접 이용할 수는 없고, 비교 및 인식을 위해서는 암호화된 데이터를 복호화해야 한다. 즉, 암호화하여 등록된 템플릿을 보호하는 방법의 큰 단점은 데이터 비교를 위해 매번 암호화되어 등록된 템플릿을 복호화해야 한다는 것이다. 이러한 복호화는 결과적으로 보안적 취약점을 발생시킨다.
바이오 인식 정보와 같이 민감한 데이터를 보호하기 위해, 암호학적 방법을 이용한 다른 방법으로 해시 함수를 이용하는 방법이 제안되었다. 이는 기존의 일반적 비밀번호를 이용하는 인증 시스템에서, 인증 시 사용자의 비밀번호를 직접 비교하는 것이 아니라, 비밀번호의 해시값(hashed password)을 저장해 두었다가 인증 시 입력된 비밀번호의 해시 값과 비교하는 것에 유래한 것이다. 하지만 앞서 언급하였듯이, 바이오 인식 정보를 포함한 패턴 인식에 사용되는 대부분의 데이터는 동일인, 동일 개체 또는 동일 장치를 통해서도 항상 고정된 값이 생성되는 것이 아니며, 해시 함수 역시 비슷한 입력값에 대해서도 서로 전혀 다른 결과값이 생성되기 때문 에, 해시값을 이용하여 생성된 비교값을 기초로 패턴인식을 하는 것은 일반적으로 불가능하다.
이러한 데이터의 가변성으로 인해 기존 암호 기법으로 패턴 인식 데이터를 보호하기 힘든 점은 일반 암호 시스템과 바이오 인식 시스템을 결합한 바이오 인식 기반 키 관리와도 관련되어 있다.
일반적인 암호기반의 사용자 인증 및 보안 시스템에서는 사용자의 비밀 번호 또는 개인키(private key)를 이용하여 사용자를 인증하거나 데이터를 암호화 한다. 높은 보안을 유지하기 위해서는 무작위로(randomly) 생성된 긴 길이의 비밀 번호 또는 개인키를 사용해야 한다는 것은 잘 알려진 사실이다. 하지만, 일반적으로 임의의 긴 길이의 값을 일반 사용자가 정확하게 항상 기억하고 있는 것은 매우 어려운 일이다.
이를 해결하기 위해 보다 짧고 간단하여 사용자가 외우기 쉬운 단순한 비밀 번호를 이용하여 원래의 복잡하고 긴 길이의 비밀 번호 또는 개인키를 암호화하고, 필요할 때 원래의 길고 복잡한 원래의 비밀 번호 또는 개인키를 복호화 하여 일반 암호 연산에 사용하는 방법이 이용된다.
또 다른 방법으로, 스마트카드와 같은 개인 저장장치에 원래의 복잡하고 긴 길이의 비밀 번호 또는 개인키를 보관하다가 필요 시 이를 인출하여 사용하는 방법도 있다. 하지만 짧고 단순한 비밀 번호의 경우 보안성이 떨어지며, 스마트카드의 경우 분실할 수 있다는 보안 상 단점이 있다.
결국, 사용자가 긴 길이의 비밀 번호 또는 비밀 키를 직접 기억하고 관리하 기 힘든 현실적 한계 때문에, 기존의 인증 및 암호시스템은 최종적으로는 낮은 보안 수단에 의존하게 되고 전체적인 시스템의 보안도(security level)는 떨어지게 된다.
하지만, 비밀 번호처럼 망각하거나 스마트카드처럼 분실의 가능성이 적은 바이오 인식 정보를 이용하여 비밀 번호 또는 비밀 키를 관리 보호할 수 있다면, 앞서 언급된 기존 암호 시스템에서의 사용자 키 관리 문제를 효과적으로 해결할 수 있을 것이다.
바이오 인식 기술을 일반 암호 시스템의 사용자 키 관리에 적용한 방법 중 하나로, 바이오 인식 기반 키 인출(biometrics-based key release) 방법이 일반적으로 제안되어 있다. 바이오 인식 기반 키 인출은 사용자의 바이오 인식 정보를 이용하여 사용자를 인증하여 사용자 본인으로 확인되면, 해당 사용자의 비밀 번호 또는 비밀 키와 같은 비밀 정보를 스마트 카드, 시스템 또는 데이터베이스로부터 인출하여 사용자에게 돌려주는 방식이다.
이러한 방법의 경우 일반 바이오 인식 방법과 암호 시스템을 결합하여 쉽게 구현할 수 있다는 장점이 있다. 하지만, 사용자 인증을 위한 등록된 바이오 인식 정보와 비밀 번호 또는 개인키와 같은 비밀 정보가 서로 분리되어 시스템에 보관되기 때문에 보안에 문제점이 생긴다. 시스템 공격자(hacker)가 바이오 인식 시스템을 거치지 않고 단순히 암호 연산에 사용되는 비밀 번호 또는 개인키만을 훔쳐내어 악용할 수 있기 때문에, 바이오 인식 기반 키 인출 방법은 비밀 번호 또는 개인키와 같은 비밀 정보를 근본적으로 안전하게 보호한다고 볼 수 없다. 또한 기존의 일 반 바이오 인식 시스템과 마찬가지로 시스템에 등록되어 있는 사용자의 바이오 인식 정보가 그대로 노출될 수 있다는 문제점이 있다.
따라서 가장 이상적인 방법은 사용자의 바이오 인식 정보를 암호화 키(cryptographic key)로 이용하여 일반 암호 연산에 사용되는 비밀 번호 또는 개인키를 암호화하여 보관하고 있다가, 필요 시 사용자 본인의 바이오 인식 정보를 이용하여 암호화된 비밀 번호 또는 개인키를 복호화하여, 복호화된 비밀 번호 또는 개인키를 사용자 인증 또는 암/복호화(encryption/decryption) 등의 일반 암호 연산에 이용하는 것이다.
하지만 동일한 사용자로부터 동일한 장치를 이용하여 바이오 인식 정보를 취득하더라도 그 데이터 값이 항상 고정되고 일정한 값이 아니라 매번 조금씩 변하게 된다. 하지만 기존 암호기반 보안 시스템에서 사용되는 해시함수(hash function) 또는 암/복호화(encryption/decryption) 기법들은 비슷한 입력 값에 대해서도 전혀 다른 출력 값을 생성한다. 따라서 앞서 여러 번 언급 되었듯이, 바이오인식 정보를 기존 암호화 방법의 키로 직접 이용하는 것은 불가능하다.
따라서, 데이터의 가변성을 고려한 안전한 데이터 저장 및 관리 방법이 요구된다.
구체적으로는, 시스템이나 데이터베이스에 등록된 데이터가 유출되더라도 유출된 데이터로부터 원본 데이터에 관련된 정보를 유추해 낼 수 없도록 원본 데이터를 안전한 형태로 변환하는 데이터 보호기술이 필요하다.
본 발명이 이루고자 하는 또 다른 기술적 과제는, 안전한 데이터 관리를 위해 변환된 데이터로부터 원본 데이터를 복원하지 않고, 변환된 상태에서 데이터 비교/인식이 가능한 패턴 인식 방법을 제공하는 것이 필요하다. 또한, 고정된 값이 아닌 가변적인 값을 이용하여 비밀 정보를 안전하게 보관하고 인출하는 데이터 암호 및 복호화 기술도 요망된다.
본 발명이 이루고자 하는 또 다른 기술적 과제는, 사용자의 바이오 인식 정보와 프라이버시 보호를 위해 바이오 인식 정보를 안전한 형태로 변환하는 방법과, 사용자의 원본 바이오 인식 정보가 노출되지 않도록 변환된 바이오 인식 정보를 이용한 사용자 인식/인증 방법을 제공하는데 있다.
본 발명이 이루고자 하는 또 다른 기술적 과제는, 바이오 인식 데이터와 같이 개인마다 고유한 특징을 가지고 있어 이를 이용한 사용자 식별 및 인증이 가능하지만, 동일인이라 하더라도 취득 시 매번 그 값이 변하는 데이터를 이용하여 비밀 정보를 안전하게 보관하고 인출하는 데이터 암호 및 복호화 기술을 제공하는데 있다.
상기에 기술된 기술적 과제를 해결하기 위하여, 정수(n) 차원의 등록 특징 벡터 g(g = [g1, g2, ..., gn]T)를 생성하는 단계; 상기 등록 특징 벡터로부터 상기 정수(n)보다 작은 정수(m < n) 차원의 저차원 좌표점들을 생성하는 단계; 상기 생성된 저차원 좌표점들 각각에 대해 상기 m차원의 좌표축 상에 하나 이상의 가좌표점들을 생성하는 단계; 및 상기 저차원 좌표점들 및 상기 가좌표점들을 포함하는 등록 템플릿을 생성하는 단계를 포함하는 것을 특징으로 하는 데이터 보호를 위한 템플릿 생성 방법이 제공된다.
본 발명은 데이터의 가변성을 고려한 안전한 데이터 저장 및 관리 방법을 제공한다. 구체적으로는, 본 발명은 시스템이나 데이터베이스에 등록된 데이터가 유출되더라도 유출된 데이터로부터 원본 데이터에 관련된 정보를 유추해 낼 수 없도록 원본 데이터를 안전한 형태로 변환하는 데이터 보호 기술을 제공한다. 그리고 본 발명은 안전한 데이터 관리를 위해 변환된 데이터로부터 원본 데이터를 복원하지 않고, 변환된 상태에서 데이터 비교/인식이 가능한 패턴 인식 방법을 제공한다. 그리고 본 발명은 고정된 값이 아닌 가변적인 값을 이용하여 비밀 정보를 안전하게 보관하고 인출하는 데이터 암호 및 복호화 기술을 제공한다.
본 발명에서 제공한 데이터 변환 및 인식 방법은 다음과 같은 효과를 기대할 수 있다.
첫째, 데이터를 안전한 형태로 변환할 수 있다. 즉, 변환하고자 하는 데이터의 차원이 한 차원 증가하면, 변환된 데이터로부터 원본 데이터를 찾아내기 위한 계산 복잡도는 천문학적으로 증가한다. 따라서, 변환된 데이터가 유출되는 경우에 있어서도 원본 데이터를 얻는 것을 현실적으로 불가능하다. 그 결과 데이터를 안전한 형태로 변환할 수 있게 된다.
둘째, 원본 데이터를 안전하게 변환한 상태에서 비교, 인증 또는 인식이 가능하다는 특징이 있다. 따라서 비교, 인증 또는 인식 등을 위해 원본 데이터를 복원할 필요가 없다. 따라서, 기존의 암호학적 방법에 의한 데이터 보호 방법과 달리 원본 데이터 유출을 원천 방지할 수 있다.
마지막으로, 변환된 데이터를 이용하여 비교, 인증 또는 인식에 사용하더라도, 변환 이전의 데이터를 이용할 때와 동일한 인식, 인증 결과 및 성능을 유지한다.
이러한 효과를 바이오 인식 시스템에 적용하는 경우 다음과 같은 구체적 효과를 얻을 수 있다.
첫째로, 제안된 템플릿으로부터 사용자의 바이오 정보를 유추해 낼 수 없어, 사용자의 프라이버시 침해 염려가 없다.
둘째, 바이오 정보를 암호화하여 저장, 관리하는 방법과 달리, 템플리 비교 과정에서 바이오 정보를 복원하는 복호화 과정이 필요없다. 즉, 사용자의 바이오 인식 정보를 안전하게 저장된 상태에서 바로 사용자의 갤러리와 프로부를 비교하여 사용자 인증이 가능하다.
셋째, 특정 바이오 인식 방법이나 시스템에 한정되지 않으며, 기존 시스템의 고유한 방법을 위배하지 않고 적용할 수 있다.
마지막으로, 사용자의 바이오 인식 정보를 이용하여 비밀번호 또는 비밀키 등 비밀 정보를 숨기고 인출할 수 있다.
본 발명에 따르면, 등록 템플릿과 그에 따른 프로부 특징 벡터의 차원이 증가하더라도 저차원 상으로 나누어 비교함으로써, 보안 레벨을 높이면서도 원본 데이터와 입력 데이터의 비교가 용이하도록 하였다.
이하, 첨부한 도면을 참조하면서 본 발명에 따른 안전한 패턴 인식 데이터 보호 방법 및 장치 대해 좀더 자세히 기술하기로 한다. 본 발명을 설명함에 있어서 관련된 공지기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략될 것이다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 클라이언트나 운용자, 사용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
설명을 명확하고 쉽게 하기 위해, 일부 설명을 바이오 인식 기술의 용어를 차용하여 설명하였음을 밝혀 둔다. 이는 패턴 인식 기술 응용 분야 중, 바이오 인식 기술 분야가 기술적 개념과 용어가 잘 정리되어 있고, 본 발명을 바이오 인식 시스템에 적용할 경우 다른 응용 시스템보다 그 기술적 파급 효과가 가장 크다고 여겨지기 때문이다. 하지만, 본 발명은 바이오 인식 분야에 제한되지 않으며, 본 명세서에 기재된 예를 통해 본 발명의 원리를 다른 분야에 쉽게 적용할 수 있도록 바이오 인식 기술의 용어를 이용하여 설명하였음을 밝혀 둔다.
본 발명의 설명은 다음과 같은 순서로 이루어진다.
첫째, 본 발명의 기본 원리를 보다 명확하고 쉽게 설명하기 위해 결정 동일성의 원리와 이와 관련된 용어를 설명한다.
둘째, 시스템이나 데이터베이스에 등록된 데이터가 유출되더라도 유출된 데이터로부터 원본 데이터에 관련된 정보를 유추해 낼 수 없도록 원본 데이터를 안전한 형태로 변환하는 방법 및 안전한 템플릿 생성 방법을 설명한다.
셋째, 결정 동일성 원리와 제안된 템플릿에 기반하여, 안전한 데이터 관리를 위해 원본 데이터를 복원하지 않고 변환된 상태에서 데이터를 비교/인식하는 방법을 설명한다. 제안된 방법을 이용할 경우, 사용자의 바이오 인식 정보와 프라이버시 보호를 위해 원본 바이오 인식 정보가 노출되지 않도록 바이오 인식 정보를 안전한 형태로 변환한 후, 변환된 바이오 인식 정보를 이용한 사용자 인식/인증이 가능하다.
넷째, 고정된 값이 아닌 가변적인 값을 이용하여 비밀 정보를 안전하게 보관하고 인출하는 데이터 암호 및 복호화 기술을 설명한다. 제안되는 방법을 이용할 경우, 바이오 인식 데이터와 같이 개인마다 고유한 특징을 가지고 있어 이를 이용한 사용자 식별 및 인증이 가능하지만 동일인이라 하더라도 취득 시 매번 그 값이 변하는 데이터를 이용하여 개인 비밀 정보를 안전하게 보관하고 인출할 수 있다.
다섯째, 본 발명에서 제안된 안전한 데이터 변환 방법 및 템플릿 생성 방법 을 실제 구현할 경우 발생할 수 있는 문제점에 대한 해결 방법과 보안도를 높일 수 있는 방법을 부가적으로 설명한다.
설명을 용이하기 위해, 인식 시스템에 등록되어 보관되는 템플릿을 갤러리(gallery)라고 하며, 인식을 위해 새로이 입력된 데이터로부터 생성된 템플릿을 프로부 (probe)라고 한다.
도 1은 동종(Genuine) 비교값 분포와 타종(Impostor) 비교값 분포의 일례를 나타낸 그래프이다.
동종 비교값 분포는 같은 클래스(class, 종류)에 속하는 갤러리와 프로부를 비교하여 생성된 비교값 분포를 의미하고, 타종 비교값 분포는 서로 다른 클래스에 속하는 갤러리와 프로부를 비교하여 생성된 비교값 분포를 나타낸 것이다.
바이오 인식의 경우, 도 1은 본인(Genuine) 비교값 분포와 타인(Impostor) 비교값 분포의 일례를 나타낸 것이라고 할 수 있다. 비교치로 유클리디언 거리(Euclidean Distance)를 이용하였기 때문에, 동종에 대한 비교값이 타종에 대한 비교값보다 대체로 작게 분포된다.
동종의 분포와 타종의 분포가 일치하여 분포값이 같아지는 지점의 분포값을 동오류율(Equal Error Rate)이라고 한다. 이 지점은 같은 클래스에 속하는 갤러리와 프로부를 서로 다른 클래스에 속한다고 분류하는 비율인 오거부율(FRR, False Rejection Rate)과 서로 다른 클래스에 속하는 갤러리와 프로부를 같은 클래스에 속한다고 분류하는 비율인 오수락율(FAR, False Acceptance Rate)이 같아지는 지점이다.
바이오 인식에서는, 정당한 사용자(본인)를 타인으로 인정하여 인증이 실패하는 비율과 타인을 정당한 사용자(본인)로 잘못 인증하는 비율이 같아지는 지점이다. 일반적으로 이 지점을 임계값 (θ, thereshold)으로 하여, 갤러리와 프로부의 비교값이 임계값보다 작으면 갤러리와 프로부를 서로 같은 종류(동종)로 분류하고, 비교값이 임계값보다 크면 갤러리와 프로부를 서로 다른 종류(타종)로 분류한다. 이는 바이오 인식 시스템에서 임계값보다 작으면 본인으로 임계값보다 크면 타인으로 분류하는 것과 같은 이치이다. 그리고, 오수락율과 오거부율을 시스템 응용에 따라 적절히 조절하기 위해, 동오류율 지점이 아닌 다른 지점의 값이 임계값으로 사용되기도 한다.
동종과 타종을 분류하기 위한 임계값은 특징 공간상에서 결정 경계선(decision boundary)의 의미를 지닌다. 도 2에서 결정 경계선에 대한 설명을 좀 더 자세히 하기로 한다.
도 2는 임계값과 특징 공간에서의 결정 경계선의 관계를 설명하기 위한 예시도이다. 도 2에서 g는 갤러리를, p1과 p2는 프로부를 나타낸다.
동종인지 타종인지를 결정하기 위한 임계값이 θ이고, 인식용 템플릿이 2차원 실수형 벡터 형태로 이루어져 있다고 가정하자. 이는 도 2에서 보듯이 등록된 템플릿, 즉 갤러리가 g를 중심으로 반지름이 θ인 원을 결정 경계선으로 가지는 것을 의미한다.
즉, 인식 요청이 있을 때에, 프로부와 갤러리와의 비교값이 θ 보다 작으면 갤러리와 같은 종류(즉 동종)로 분류하고, 비교값이 θ보다 크면 갤러리와는 다른 종류(즉 타종)로 분류하는 것은 특징 공간 상에서 갤러리 g를 중심으로 반지름 θ내에 프로부가 위치하게 되면, 해당 갤러리와 같은 종류(동종)로 분류하고, 반지름이 θ인 원 밖에 프로부가 위치할 경우 서로 다른 종류(타종)로 분류하는 것과 동일하다.
p1는 갤러리 g를 중심으로 반지름이 θ인 원내에 있기 때문에, 갤러리와 같은 종류(동종)로 분류되고, 이 경우 p1과 g의 비교값은 θ보다 작다. p2는 g를 중심으로 반지름이 θ인 원 밖에 있기 때문에 갤러리와 다른 종류(타종)로 인정되고, 이 경우 p2와 g의 비교값은 θ보다 크다.
설명을 더욱 명확하게 하기 위해 인식용 템플릿이 3차원 실수형 벡터의 경우를 설명하면 다음과 같다. 도 3에서 g는 갤러리를 p1과 p2는 프로부를 나타낸다. p1의 경우 갤러리 g를 중심으로 반지름이 θ인 구내에 있기 때문에, 갤러리와 같은 종류(동종)로 분류되고, 이 경우 p1과 g의 비교값은 θ보다 작다. p2는 g를 중심으로 반지름이 θ인 구 밖에 있기 때문에 갤러리와 다른 종류(타종)로 인정되고, 이 경우 p2와 g의 비교값은 θ보다 크다. 이해를 돕기 위해 2차원과 3차원 데이터 공간을 예로 든 것으로, 4차원 이상 고차원에도 동일한 원리가 적용된다.
설명을 용이하고 명확하게 하기 위하여 n-차원 특징 벡터에 대한 m-차원(m < n)의 저차원 좌표점을 예를 통해 다음과 같이 정의한다. 원래의 인식용 특징 템플 릿이 다음과 같이 3차원(n = 3) 벡터 g라고 할 때,
g = [ g1, g2, g3 ]T
m = 1인 저차원 좌표점들은 다음과 같이 3개의 1차원 좌표점으로 구성된다.
(g1), (g2), (g3)
m = 2 저차원 좌표점들은 다음과 같다.
(g1, g2), (g3, k)
위에서 k는 저차원 좌표의 원소의 개수를 보정하기 위해 삽입한 임의의 값이다.
n-차원 특징 벡터에 대한 m-차원의 저차원 좌표점을 생성할 때, n-차원 특징벡터의 원소들을 중복 사용하여 다음과 같이 생성할 수도 있다.
(g1, g2), (g2, g3), (g3, g1)
하지만, 앞으로 설명을 간략히 하기위해, n-차원 특징 벡터의 원소를 중복하여 사용하지 않는 것으로 한다.
원래의 인식용 특징 템플릿이 다음과 같이 4 차원 벡터 g라고 할 때,
g = [ g1, g2, g3, g4 ]T
2-저차원 좌표점들은 다음과 같다.
(g1, g2), (g3, g4)
이해를 돕기 위하여 앞의 설명에 이어 '결정 동일성 원리'에 대해 설명하면 다음과 같다.
도 4는 3차원 특징 공간에서 갤러리 g와 이를 중심으로 반경이 θ인 결정 경계선 구를 나타낸 것이다. 도 4에서 g는 갤러리를 p는 프로부를 나타낸다. 그리고 (g1, g2)와 (g3, k)는 g에 대한 2-저차원 좌표점들을, (p1, p2)와 (p3, k)는 p에 대한 2-저차원 좌표점들을 나타낸 것이다. 이 경우 도 4에서는 k를 0으로 한 것과 동일하다. 도 4를 이용하여 결정 동일성 원리를 설명하면 다음과 같다.
만약 p가 g를 중심으로 반경이 θ인 구에 포함되면, (p1, p2)는 (g1, g2)를 중심으로 반경이 θ인 원 안에 포함되고, (p3, k)는 (g3, k)를 중심으로 반경이 θ인 원 안에 포함되고, 좌표점 (g1, g2, g3, k)와 (p1, p2, p3, k)의 거리는 θ보다 작다.
역으로, 만약 (p1, p2)가 (g1, g2)를 중심으로 반경이 θ인 원 안에 포함되고, (p3, k)가 (g3, k)를 중심으로 반경이 θ인 원 안에 포함되고, 저차원 좌표점들을 연결하여 만든 좌표점 (g1, g2, g3, k)와 (p1, p2, p3, k)의 거리가 θ보다 작으면, p는 g를 중심으로 반경이 θ인 구에 포함된다.
다음과 같이 4차원 특징 벡터 g와 프로부 벡터 p를 예로 들어 결정 동일성 원리를 정리하면 다음과 같다.
g = [ g1, g2, g3, g4 ]T
p = [ p1, p2, p3, p4 ]T
만약 p가 g를 중심으로 반경이 θ인 구에 포함되면, (p1, p2)는 (g1, g2)를 중심으로 반경이 θ인 원 안에 포함되고, (p3, p4)는 (g3, g4)를 중심으로 반경이 θ인 원 안에 포함되고, 저차원 좌표점들을 연결하여 만든 좌표점 (g1, g2, g3, g4)와 (p1, p2, p3, p4)의 거리는 θ보다 작다.
역으로, 만약 (p1, p2)가 (g1, g2)를 중심으로 반경이 θ인 원 안에 포함되고, (p3, p4)가 (g3, g4)를 중심으로 반경이 θ인 원 안에 포함되고, 저차원 좌표점 (g1, g2, g3, g4)와 (p1, p2, p3, p4)를 연결한 거리가 θ보다 작으면, p는 g를 중심으로 반경이 θ인 구에 포함된다.
여기서 정리한 '결정 동일성 원리'는 갤러리와 프로부의 비교값이 임계값 θ보다 작은지 큰지를 이용하여 동종 또는 타종으로 분류하는 기존의 일반적 패턴 인식 동종/타종 결정 방법이, 프로부 특징 벡터의 저차원 좌표점들이 갤러리 특징 벡터의 저차원 좌표점들에 의해 정의된 동종 결정 영역에 속하는지 아닌지를 검사하여 비교/인식 하는 방법과 그 결정 결과가 동일함을 보여준다.
갤러리와 프로부의 비교값이 임계값 θ보다 작은지 큰지를 이용하여 동종 또는 타종으로 분류하는 기존의 일반적 패턴 인식 동종/타종 결정 방법과 연결하여, 이 결정 동일성 원리를 일반적인 경우에 대해 정리하면 다음과 같다.
만약 p가 g를 중심으로 반경이 θ인 구에 포함되면, p의 저차원 좌표점은 대응되는 g의 저차원 좌표점을 중심으로한 반지름이 θ인 원 또는 구에 포함된다. 그리고 p의 저차원 좌표점으로 구성된 좌표와 g의 저차원 좌표점으로 구성된 좌표간의 거리는 θ보다 작다.
역으로, p의 저차원 좌표점이 대응되는 g의 저차원 좌표점을 중심으로 반경이 θ인 원 또는 구에 포함되고 p의 저차원 좌표점으로 구성된 좌표와 g의 저차원 좌표점으로 구성된 좌표와의 거리는 θ보다 작으면, p는 g를 중심으로 반지름이 θ인 구에 포함된다.
이어서, 시스템이나 데이터베이스에 등록된 데이터가 유출되더라도 유출된 데이터로부터 원본 데이터에 관련된 정보를 유추해 낼 수 없도록 원본 데이터를 안전한 형태로 변환하는 방법 및 안전한 템플릿 생성 방법을 설명하면 다음과 같다.
설명을 용이하기 위해, 다음과 같은 4차원 특징 벡터를 예를 들어 설명한다.
g = [ g1, g2, g3, g4 ]T
등록 템플릿 g와 2-저차원 좌표점들은 다음과 같다고 하자.
(g1, g2), (g3, g4)
도 5는 4차원 특징 벡터 g에 대하여 2-저차원 좌표점들을 2차원 공간 상에 표시한 것을 나타낸다.
또한, 도 6은 특징 벡터 g로부터 유도된 저차원 좌표점들을 숨기기 위해서 생성하는 임의의 좌표점들을 도시하고 있다.
이렇게 생성된 임의의 좌표점들을 등록 템플릿에 삽입한다. 설명을 용이하기 위해, g로부터 유도된 저차원 좌표점인 (g1, g2), (g3, g4)를 실좌표점 그리고 g로부터 유도된 저차원 좌표점들을 숨기기 위해서 삽입되는 좌표점들 (cx1, cy1), (cx2, cy2), (cx3, cy3), (cx4, cy4) ...을 가좌표점으로 부르기로 한다. 그리고 실좌표점을 중심으로 반지름이 θ인 원 또는 구를 실영역, 그리고 가좌표점을 중심으로 반지름이 θ 원 또는 구를 가영역이라고 한다.
도 6은 이해를 돕기 위해 개념적으로 설명한 것으로 구체적인 템플릿은 도 7a과 같은 형태를 가질 것이다. 도 7a는 4차원 특징 벡터 g에 대하여 2-저차원 실좌표점과 가좌표점으로 구성된 등록 템플릿을 나타낸다.
제안된 등록 템플릿으로부터 정확한 원래의 특징 정보 g를 찾아내는 것은 매우 힘들다. 도 6과 도 7a에서의 경우 4차원 특징 벡터에서 유도된 2개의 저차원 좌표점들과 이를 숨기기 위한 8개의 임의의 가표점들을 등록 템플릿에 삽입하였다. 실제 응용을 고려하여 100차원 특징 벡터에서 유도된 50개의 2-저차원 좌표점들에 50개의 가좌표점들을 삽입했다고 가정하자. 이 때 가능한 경우수는 100!/50! ≒ 2310 이 된다. 즉, 원래의 특징벡터의 차원과 삽입한 가좌표점들에 의해 원래 특징 벡터 g를 찾기 위한 가능한 조합 수는 천문학적으로 늘어나게 된다. 따라서 본 발명에서 제안된 데이터 변환 방법을 이용할 경우 원본 데이터를 안전하게 보호할 수 있다.
도 7b는 패턴 인식 및 사용자 인증을 위한 템플릿 비교를 위해 앞서 도 7a에 따른 등록 템플릿에 g로부터 유도된 값에 대해 해시값을 추가한 것이다.
본 발명에서 제안된 안전한 템플릿을 이용한 패턴인식 및 사용자 인증을 위한 템플릿 비교 방법을 설명하면 다음과 같다.
도 7b에서 H(g1, g2, g3, g4)는 g의 해시값을 나타낸 것이다. 설명을 용이하기 위한 예로써 여기서는 g 자체에 대한 해시값을 사용하였으나, 경우에 따라서는 g와 관련된 다른 값을 사용할 수도 있다. 또는 해시값의 역상을 유추하기 더 어렵게 하기 위해 g에 다른 값을 추가하여 생성된 해시값을 사용할 수도 있다.
설명을 쉽게 하기 위해, 여기서는 g의 해시값으로 한다. 프로부 특징 벡터 p가 입력되면 갤러리 특징 벡터 g의 경우와 마찬가지로 저차원 좌표를 생성한다. 입력된 프로부 특징 벡터가 다음과 같다고 할 때,
p = [ p1, p2, p3, p4 ]T
p의 2-저차원 좌표들은 다음과 같이 생성될 것이다.
(p1, p2), (p3, p4)
그러면, 도 7b에서 (p1, p2)가 속하는 영영의 중심점과 (p3, p4)가 속하는 영역의 중심점을 찾는다. 그리고 찾은 중심점 조합의 해시값을 계산하여 도 7b에 저장된 해시값과 비교를 한다. 그리고 p와 p의 저차원 좌표들이 속하는 중심점 좌표로 구성된 고차원 좌표와의 거리가 θ보다 작은지를 검사한다. 만약 두 해시값이 같고 p와 p의 저차원 좌표들이 속하는 중심점 좌표로 구성된 고차원 좌표와의 거리가 θ보다 작으면, p를 등록된 템플과 같은 종류(동종)로 분류한다. 두 해시값이 같다면, p에서 유도된 저차원 좌표점들은 모두 실영역에 속하게 된다. 따라서, 이는 앞서 정리한 '결정 동일성 원리'에 의해, 두 템플릿의 비교값을 구한 후, 미리 산정된 임계값으로 동종과 타종으로 결정하는 기존의 패턴 인식 결정 방법과 그 분류 결과가 동일하다.
또한 일반적인 바이오 인식 시스템에서 본인 또는 타인 결정 방법과도 그 결과가 동일하다. 즉, 본 제안 방법을 적용할 경우, 원본 데이터가 안전하게 저장되어 있는 상태에서 기존의 패턴 인식 기술과 동일한 인식이 가능하다. 그리고 p와 p의 저차원 좌표들이 속하는 중심점 좌표로 구성된 고차원 좌표와의 거리가 θ보다 작은지 큰지를 검사하는 것은 기존 패턴 인식 방법과 정확하게 그 인식 결과를 일치하기 위한 것으로, 시스템의 효율적인 구성을 위해 생략할 수도 있다.
또한, 필요에 따라 실영역과 가영역의 크기도 θ가 아닌 다른 값을 적절히 선택하여 사용할 수도 있다. 하지만 타종/동종 분류를 위해 임계값이 θ로 설정된 패턴인식 시스템에서 등록 템플릿을 보호하기 위해 본 발명의 원리를 적용하고, 인식율을 정확히 유지하기 위해서는 실영역과 가영역의 크기를 θ로 하고, p와 p의 저차원 좌표들이 속하는 중심점 좌표로 구성된 고차원 좌표와의 거리가 θ보다 작은지 큰지를 검사하는 것이 바람직하다.
도 8a는 본 발명에 따라 5차원 특징 벡터 g에 대하여 3-저차원 실좌표점과 가좌표점으로 구성된 등록 템플릿을 나타낸다. 차원이 올라가도 결정 동일성 원리 는 도 7a 및 7b에서와 동일한 방법으로 적용할 수 있다. 3개의 원소로 구성된 저차원 좌표점은 각각 두개가 생성되고 하나의 좌표점에는 원소의 수를 맞추기 위해 임의의 값 k가 추가되었다.
도 8b는 패턴 인식 및 사용자 인증을 위한 템플릿 비교를 위해 앞서 도 8a에 따른 등록 템플릿에 5차원 특징 벡터 g로부터 유도된 값에 대해 해시값을 추가한 것이다.
본 발명의 원리와 제안된 템플릿을 응용할 경우, 고정된 값이 아닌 가변적인 값을 암호키(cryptographic key)로 하여 비밀 정보를 암호화 및 복호화할 수 있다.
이를 이용하면, 사용자 개인 비밀번호(password) 또는 개인키(private key)와 같은 비밀 정보를 바이오 인식 정보와 같이, 가변적이지만 사용자마다 고유한 값을 이용하여 안전하게 저장하고 인출할 수 있다.
도 9는 본 발명에 따라 도 7a과 같은 등록 템플릿의 기본 형태의 갤러리 특징 벡터에서 유도된 저차원 좌표점들에 안전하게 보호하고자 하는 비밀 정보를 저장하여 생성된 변형된 등록 템플릿의 예이다.
도 9에서 알 수 있는 바와 같이 갤러리 특징 벡터에서 유도된 저차원 좌표점들을 숨기기 위해 삽입된 가좌표점들에는 임의의 값을 추가로 저장하였다. 도 9에서 c는 가영역의 중심 좌표점을, g는 실영역의 좌표점을 나타내며, t는 임의의 수 및 s는 안전하게 보관하고자 하는 비밀 정보를 나타낸다.
등록 템플릿으로부터 비밀정보 s를 인출하기 위해, 사용자는 자신의 바이오 인식 정보와 같은 개인 고유 정보를 입력하고 프로부 특징 벡터를 생성한다. 그러 면 시스템은 도 9에서와 같은 형태의 변형된 등록된 템플릿으로부터 저장된 영역의 중심점 좌표를 이용하여, 사용자의 프로부 특징 벡터에서 유도된 저차원 좌표점들이 속하는 영역의 중심점을 찾는다. 그리고 프로부 특징 벡터와 프로부 특징 벡터의 저차원 좌표점이 속하는 영영의 중심점 조합으로 이루어진 좌표간의 거리가 θ보다 작은지 큰지를 검사한다. 거리가 θ보다 작으면 프로부 특징 벡터에서 유도된 저차원 좌표점이 속하는 영역의 중심점 좌표와 연결된 값 - 여기서는 비밀정보 - 을 사용자에게 돌려 준다.
그러면, 앞서 설명한 것과 마찬가지로, '결정 동일성 원리'에 의해, 기존 바이오 인식 시스템 또는 바이오 인식 방법론에 의해 사용자 본인으로 인증될 수 있는 동일한 상황에서만 등록 템플릿으로부터 정확한 비밀 정보를 찾을 수 있다.
여기서, 프로부와 프로부의 저차원 좌표들이 속하는 중심점 좌표로 구성된 고차원 좌표와의 거리가 θ보다 작은지 큰지를 검사하는 것은 기존 패턴 인식 방법과 정확하게 그 인식 결과를 일치하기 위한 것으로, 시스템의 효율적인 구성을 위해 이 검사를 생략하고 시스템은 단지 프로부의 저차원 좌표점들이 속한 영역에 짝지어져 있는 값을 돌려 줄 수도 있다. 또한, 필요에 따라 실영역과 가영역의 크기도 θ가 아닌 다른 값을 적절히 선택하여 비교할 수도 있다.
하지만 시스템에서 등록 템플릿을 보호하기 위해 본 발명의 원리를 적용하고, 인식율을 정확히 유지하기 위해서는 실영역과 가영역의 크기를 θ로 하고, p와 p의 저차원 좌표들이 속하는 중심점 좌표들로 구성된 고차원 중심점 좌표와 g의 고차원 중심점 좌표간의 거리가 θ보다 작은지 큰지를 검사하는 것이 바람직하다.
이어서, 본 발명에서 제안된 안전한 데이터 변환 방법 및 템플릿 생성 방법을 실제 구현할 경우 발생할 수 있는 문제점에 대한 해결방법과 보안도를 높일 수 있는 방법을 부가적으로 설명한다.
앞서 설명한 안전한 템플릿 생성 방법에서 기존 패턴 인식 방법과 정확하게 그 인식 결과를 일치하기 위해, 실영역의 크기를 동종 및 타종 비교값 분포 분석에 의해 산정된 임계값 θ로 하였으나, 저차원 좌표점 공간에서는 상대적으로 매우 큰 값이 될 수 있다. 이 경우, 실좌표점들을 효과적으로 숨길 수 있는 가좌표점들의 수가 제한될 수 있다.
여기서, 실영역의 반경을 적절하게 산정하기 위한 방법을 설명한다. 설명되는 내용은 일종의 가이드라인이다. 실제로 실영역과 가영역의 반경을 다양한 크기로 조절하여 수 있으며, 개별 영역의 크기도 서로 다르게 할 수 있음을 미리 밝혀둔다.
동종 및 타종 분포 분석에 의해 결정된 임계값 θ는 동종의 갤러리와 프로부 사이의 최대 허용 기대 거리(maximum allowable expected distance)라고 볼 수 있다. 주어진 갤러리와 같은 종류에 속하는 프로부 사이의 거리는 통계적으로 θ보다 작을 것이라고 예상을 하고, 이 값을 기준치로 동종/타종으로 분류를 하기 때문이다. 이를 수식으로 표현하면 다음과 같다.
Figure 112008072614136-pat00001
여기서, E는 기대(expectation) 값 기호이고, d는 갤러리와 프로부의 차원수를 나타낸다. 그리고 σi 2 = E[(gi - pi)2]이다. 즉, σi 2는 갤러리와 프로부의 i-차원축의 기대 제곱 거리가 되며, 또 다른 의미로 gi를 중심으로한 pi의 분산 (variance)이다. i는 i번째 차원축 또는 i번째 원소를 나타낸다.
p는 g를 중심으로 정방향 가우시안 분포(Isometric Gaussian Distribution, 분산 행렬이 대각 행렬이며 그 대각 원소의 값이 모두 동일한 가우시안 분포)를 가진다고 가정을 하자. 사실, 베이시안 결정 이론(Bayesian Decision Theory)에 따르면, 유클리디언 거리를 데이터 비교에 이용하는 것은 데이터의 분포가 정방향 가우시안 분포라는 것을 암묵적으로 가정하는 것이다. 데이터가 정방향 분포를 가질 경우, 유클리디언 거리는 인식율 관점에서 최적의 비교치가 된다.
만약 데이터의 분포가 일반 가우시안 분포일 경우, 베이시안 결정 이론에 따르면, 유클리디언 거리보다 마할라노비스(Mahalanobis) 거리를 이용하는 것이 더 적합하다. 일반 가우시안 분포 데이터에 대해 마할라노비스 거리를 이용하여 두 데이터를 비교하는 것은, 데이터의 분포를 정규화(whitening)한 후, 유클리디안 거리 를 이용하는 것과 동일하다. 즉, 일반 가우시안 분포의 데이터를 정방향 가우시안 분포의 데이터로 변환하는 것은 쉽게 가능하며, 이는 이론적으로 인식율을 악화시키지 않는다. 따라서 본 설명에서는 설명을 쉽게하기 위해, 프로부 p는 갤러리 g를 중심으로 정방향 가우시안 분포를 가진다고 가정한다. 관련된 보다 자세한 내용은 Pattern Classification(Second Edition, Richard O.Duda, Peter E Hart, David G. Stork, 2001, Wiley Interscience) 의 2장을 참고한다.
정방향 가우시안 분포의 경우 모든 차원 축의 분산은 동일하다. 따라서, 위의 수식을 다음과 같이 정리할 수 있다.
Figure 112008072614136-pat00002
σ와 θ는 분산과 거리를 나타내므로, 모두 음이 아닌 값을 가지므로 다음과 같이 나타낼 수 있다.
Figure 112008072614136-pat00003
즉 갤러리 g와 프로부 p의 거리가 θ보다 작다라고 통계적으로 기대를 하는 것은 g와 p의 각 원소 사이의 거리가
Figure 112008072614136-pat00004
보다 작을 것이라고 기대하는 것과 동일하다고 볼 수 있다. 따라서, d차원의 특징 벡터에 대한 ds-저차원 좌표점들에 대한 반경 r은 다음과 같이 균일하게 설정하는 것이 바람직하다고 볼 수 있다.
Figure 112008072614136-pat00005
여기서, ds는 저차원의 차원 수를 나태낸다.
이제 실영역이 겹치는 경우에 대해서 생각해 보기로 한다.
도 10은 본 발명에 따라 저차원 좌표점에 의한 실영역이 겹치는 경우를 도시한 것이다.
지금까지 도 5와 도 6을 통해 안전한 템플릿 생성에 대해서 설명할 때, 갤러리 특징 벡터 g로부터 유도된 실영역은 서로 겹치지 않는 경우를 설명하였다. 하지만, 실제의 경우 도 10처럼 실영역이 겹쳐서 존재할 수 있다.
프로부 특징 벡터로부터 유도된 저차원 좌표점들이 특징 벡터 g로부터 유도된 실영역의 겹쳐지는 부분에 들어 올 수 있다. 이 경우, (p1, p2)와 (p3, p4) 가 각각 어느 영역에 속하는 지 결정하기가 쉽지 않다.
도 11은 본 발명에 따라 특징 벡터 g로부터 유도된 실영역이 겹치는 경우 변환함수를 통하여 좌표점을 이동하는 일례를 도시한다.
도 11에서 알 수 있는 바와 같이 템플릿 등록 시 변환 함수 T1을 이용하여 (g1, g2)를 새로운 변환된 좌표점으로 변경한다. 마찬가지로, 변환 함수 T2를 이용하여 (g3, g4)를 새로운 변환된 좌표점으로 이동시킨다. 이제 변환된 좌표점은 더 이상 겹쳐지는 부분이 없고 앞서 설명한 방법에 따라 동종/타종 비교를 할 수 있다.
도 12는 이렇게 이동된 실좌표점들을 숨기기 위해 가좌표점들을 생성하는 것을 도시한다.
도 13에서는 본 발명에 따라 프로부 특징 벡터가 입력되었을 경우, 비교 및 인증을 위해 프로부 특징 벡터의 저차원 좌표점들을 변환함수에 의해 이동하는 일실시예를 도시한다.
비교 및 인증을 위해 프로부 특징 벡터가 입력되었을 경우, 프로부 특징 벡터로부터 저차원 좌표점들이 생성된다. 생성된 저차원 좌표점들 중 (p1, p2)는 변환함수 T1에 의해 이동되고, (p3, p4)는 T2 에 의해 이동된다. 그리고 앞서 설명과 마찬가지로 프로부 특징 벡터로부터 유도된 저차원 좌표점들이 속하는 영역을 찾아 비교 및 인증을 수행하면 된다.
이 때, 좌표 이동을 위한 변환함수 T1과 T2 는 제안된 안전한 템플릿과 같이 시스템에 저장하여도 무방하나, 보안상 사용자의 개인 비밀 정보로 보관하는 것이 더 바람직하다. 예를 들어 변환함수에 관련된 정보를 스마트카드 같은 개인 저장 장치에 보관하거나 사용자가 설정한 비밀 번호를 기초로 생성할 수도 있을 것이다.
여러 다양한 변환 함수가 가능하나 다음과 같이 직교 행렬(orthonormal matrix) Ai와 랜덤 벡터(random vector) bi로 구성된 아핀 변환(affine transformation)을 변환함수로 사용하는 것이 시스템 구성에 보다 효율적이다.
Figure 112008072614136-pat00006
경우에 따라서, Ai와 bi 중 하나로만 구성된 변환 함수를 사용할 수도 있다.
직교 행렬은 다음의 수식에서처럼 자신의 전치행렬(transpose matrix)을 역으로 가지는 행렬이다.
Figure 112008072614136-pat00007
gi는 특징 벡터로부터 유도된 i번째 저차원 좌표점을 벡터로 나타낸다.
위의 아핀 변환을 이용할 경우 장점은 다음 수식에서 보듯이 변환 전후의 갤러리 특징 벡터와 프로부 특징 벡터에서 유도된 저차원 좌표점들 사이의 유클리디언 거리에 변화가 없다는 것이다. 따라서, 위의 아핀 변환을 이용할 경우, 앞서 설명한 발명의 기본 원리를 그대로 적용할 수 있다.
Figure 112008072614136-pat00008
앞서 설명한 변환함수를 이용하는 또 다른 장점으로는 프로부 특징 벡터를 인증 또는 인식 시스템에 전송할 경우, 프로부 특징 벡터를 변환하여 전송하게 되므로 프로부 특징 벡터의 원 정보가 외부에 노출되지 않는다는 보안상의 이점이 있다.
그리고 바이오 인식의 경우, 서로 다른 바이오 인식 시스템에서는 서로 다른 종류의 변환을 사용함으로써 동일한 사용자의 바이오 인식 정보를 담고 있는 템플릿이라도 서로 다른 형태를 가지게 할 수 있어, 보안 또는 프라이버시 관점에서도 또 다른 장점이 있다.
또한 정당한 사용자 또는 본인으로 인정받기 위해서 사용자는 비밀 정보로서 올바른 바이오 인식 정보와 변환 함수를 정확하게 시스템에 제공해야만 한다. 따라서, 바이오 인식 정보만을 이용하는 것 보다 오인식율을 낮출 수 있다. 그러므로, 겹쳐진 실영역을 서로 분리하기 위해서뿐만 아니라 보안성을 높이기 위해서도 좌표 이동을 위한 변환함수를 이용할 수도 있다.
앞서 설명에서는 특징 벡터에서 유도된 저차원 좌표에 아핀 변환 함수를 적용하는 것으로 설명하였으나, 원 특징벡터에 직접 아핀 변환을 적용한 후, 변환된 특징 벡터에서 저차원 좌표를 유도하여 사용하여도 저차원 좌표에 개별적으로 좌표 변환 함수를 적용한 것과 동일한 효과를 얻을 수 있다.
도 10처럼 실영역이 겹쳐서 존재하는 경우, 다음과 같은 방법으로도 해결할 수 있다. 각 저차원 좌표점들이 하나의 좌표 공간을 공유하는 것이 아니라, 도 14의 예처럼 서로 다른 좌표 공간을 사용하는 것이다.
도 14a는 본 발명에 따라 특징 벡터에서 유도된 저차원 좌표점들이 서로 다 른 좌표 공간을 사용하는 일실시예를 나타낸다. 또한 도 14b는 도 14a에 따른 서로 다른 좌표 공간을 사용하는 저차원 좌표점들에 의한 등록 템플릿의 예를 도시한다.
비교 및 인증을 위해 프로부 특징 벡터가 입력되면, 저차원 좌표점 (p1, p2)은 제1좌표 공간에서 (p3, p4)는 제2좌표 공간에서 각각 속하는 영역을 찾으면 된다.
이 때, 좌표 공간의 순서를 무작위로 하고, 그 순서를 사용자의 비밀 정보로 관리한다면 보안도는 더욱 높아지게 된다. 따라서, 겹쳐진 실영역을 서로 분리하기 위해서뿐만 아니라 보안성을 높이기 위해서도 서로 다른 저차원 좌표 공간을 생성한 후 좌표 공간의 순서를 무작위로 정렬할 수도 있다.
좌표 공간의 순서를 무작위로 하는 것은 특징 벡터의 원소 순서를 미리 무작위로 재정렬하는 것과 동일하다. 즉, 다음과 같이 갤러리 특징 벡터 원소의 순서를 무작위로 재정렬한 후, 원소의 순서가 재정련된 특징 벡터로부터 저차원 좌표점을 유도하여 본 발명의 원리를 적용하면 된다.
g = [g1, g2, g3, g4]T -> g = [g3, g2, g4, g1]T
비교 및 인증을 위해 입력된 프로부 특징 벡터도 갤러리 특징 벡터와 동일한 방법으로 원소를 재정렬한 후, 비교 및 인증을 위해 본 발명의 원리를 적용하면 된다.
p = [p1, p2, p3, p4]T -> p = [p3, p2, p4, p1]T
앞서, 언급되었듯이 바이오 인식 시스템에서 특징 벡터의 정렬 순서를 사용자의 비밀 정보로 관리할 경우, 본인으로 인정 받기 위해서는 올바른 바이오 인식 정보와 특징 벡터의 정렬 순서를 정확하게 입력해야 하므로, 바이오 인식 정보만을 이용하는 것 보다 오인식율을 낮추고 보안도를 높일 수 있다.
설명을 명확하게 하고 이해를 돕기 위하 4차원 특징 벡터와 이로부터 유도된 2-저차원 좌표점을 예로 들어 설명하였다. 하지만, 임의의 고차원 특징 벡터에 대해 임의의 저차원 좌표점들에 대해서도 본 발명의 원리가 동일하게 적용됨을 밝혀 둔다.
도 15에서는 본 발명에 따른 등록 템플릿을 생성하는 방법을 설명하는 흐름도이다.
먼저 S1510 단계에서 n 차원(여기서 n >= 2)의 등록 특징 벡터 g(g = [g1, g2, ..., gn]T)를 생성한다. 등록 특징 벡터는 이제 비교 및 인증이 용이하도록 저차원 좌표점들로 나누어진다(S1520). 즉, 상기 등록 특징 벡터로부터 상기 정수(n)보다 작은 정수(m < n) 차원의 저차원 좌표점들을 생성하도록 한다. 저차원 좌표점들을 생성하는데 있어 저차원 좌표점이 모자라는 경우에는 임의의 수(k1, k2, ...)를 추가하여 준다. 이제 등록 템플릿을 완성하기 위해 저차원 좌표점들 각각에 대해 m차원의 좌표축 상에 다수의 가좌표점들을 생성한다(S1530).
이제 저차원 좌표점들 및 상기 가좌표점들을 포함하는 등록 템플릿을 생성하는 단계를 수행한다(S1540).
도 16에서는 본 발명에 따라 비교 대상이 되는 데이터가 입력되었을 때 입력된 데이터가 동종인지 타종인지를 구분하는 흐름도를 나타낸다.
등록 템플릿이 저장되면 이제 비교 대상이 되는 데이터가 입력된다. 비교 대상이 되는 데이터는 지문인식이 될 수도 있고 안구인식이 될 수도 있다. 물론 이러한 바이오 인식 데이터가 아닌 다른 형태의 데이터도 가능하다.
비교 대상이 되는 데이터를 입력받으면(S1610) 이 데이터를 패턴인식을 위해 템플릿으로 변환하여 프로부를 생성한다(S1620). 이제 상기 프로부 특징 벡터와 이미 등록되어 보관된 등록 템플릿을 이용하여 프로부가 동종인지 타종인지를 판별하기 위해 갤러리를 호출한다(S1630).
프로부와 갤러리는 모두 고차원 벡터이므로 이들을 변경/인증이 용이하도록 저차원 좌표점들을 생성하도록 한다(S1640). 이제 프로부의 저차원 좌표점들이 속한 영역을 결정하고 이 영역의 영역 연관값(또는 중심점)을 구한다(S1650). 이 영역 연관값(또는 중심값)과 프로부의 좌표를 비교(S1660)한다. 비교의 방법은 두 좌표점 간의 거리를 비교하는 방법을 사용할 수 있다. 즉, 프로부의 저차원 좌표점이 갤러리의 저차원 좌표점의 임계값들로 구성된 동종 결정 경계선 내에 있는지를 비교하는 것이다.
만일 프로부의 저차원 좌표점이 임계값들로 구성된 동종 결정 경계선 내에 위치하면 동종으로 판명되고 그렇지 않으면 타종으로 판명된다.
도 17에서는 본 발명에 따른 패턴 인식 장치(1700)를 보여주는 블럭도이다.
본 발명에 따른 패턴 인식 장치(1700)는 데이터 수신부(1710), 템플릿 생성 부(1720), 템플릿 처리부(1730), 템플릿 저장부(1740), 저차원 좌표점 생성부(1750) 및 비교 결정부(1760)로 구성된다.
데이터 수신부(1710)에서는 외부로부터 패턴 인식을 위한 데이터를 입력 받는다. 이러한 입력된 데이터는 템플릿 생성부(1720)에서 템플릿으로 변환된다. 템플릿 처리부(1730)는 상기 템플릿 생성부에서 생성된 템플릿의 영역을 결정하고, 상기 영역의 중심점(중심 좌표)을 구하며, 상기 중심점(중심 좌표)의 해시값 및 좌표를 계산하게 된다. 이 때 템플릿 처리부(1730)는 갤러리 생성을 위해 실영역 및 가영역을 생성하는 기능을 더 수행한다.
초기 기준 데이터 입력에 의해 생성된 상기 중심점, 해시값 및 좌표 등을 포함하여 패턴 인식의 기준이 되는 갤러리라는 템플릿이 생성되고 이 갤러리는 템플릿 저장부(1740)에 저장된다.
이제 비교를 위한 데이터가 데이터 수신부(1710)에 입력되면 마찬가지로 템플릿 생성부(1720)에서 비교를 위한 프로부로 변환된다. 템플릿 처리부(1730)에서는 상기 프로부의 영역, 영역의 중심점, 중심점의 해시값을 계산하여 비교를 위한 준비를 한다.
이제 템플릿 저장부(1740)에서 이미 저장된 갤러리를 호출한다. 갤러리와 프로부는 모두 고차원 벡터이므로 비교 및 인증을 용이하게 하기 위해 저차원 좌표점 생성부(1750)에서는 각각에 대한 저차원 좌표점들을 생성하게 한다. 생성된 갤러리와 프로부의 저차원 좌표점들은 비교 결정부(1760)에서 비교를 통해 동종/타종 판별을 하게 된다.
본 발명은 또한 상기의 방법들을 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터로 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드로 저장되어 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 프로그래머들에 의해 용이하게 추론될 수 있다.
본 발명에서는 데이터를 안전하게 보호하는 방법과 이를 이용한 데이터 비교/인식 방법을 설명하였다. 그리고 본 발명의 원리를 보다 구체적으로 적용하여, 바이오 인식 정보를 안전한 형태로 변환 및 보호하는 방법과 이를 이용한 사용자 인증/인식 방법 그리고 사용자 바이오 인식 정보를 이용하여 비밀 정보를 안전하게 보관/인출하는 방법을 설명하였다. 앞서 발명의 상세한 설명에서 드러나듯이 본 발명에서 설명한 원리와 데이터 보호 방법 및 안전한 템플릿 생성 방법은 특정 종류의 바이오 인식 정보에 제한되지 않으며, 다양한 패턴 인식 데이터에 적용 가능하다는 것을 패턴인식 또는 바이오 인식 분야의 통상의 지식을 가진 자라면 쉽게 파 악할 수 있을 것이다. 따라서 본 발명의 범위가 특정 데이터 종류에 의해 한정되어서는 아니 될 것이다.
패턴 인식 기술 응용 분야 중, 바이오 인식 기술 분야가 기술적 개념과 용어가 잘 정리되어 있어, 본 발명의 원리를 보다 쉽게 설명하기 위해 바이오 인식 기술의 용어를 이용하여 설명하였음을 다시 한번 밝혀 둔다.
그리고 본 발명을 바이오 인식 시스템에 적용할 경우 다른 어느 응용 시스템보다 그 기술적 파급 효과가 크다고 여겨지기 때문에, 바이오 인식 기술에 적용하여 설명하였음을 다시 한번 밝혀 둔다.
이상 본 발명의 바람직한 실시예에 대해 상세히 기술하였지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구 범위에 정의된 본 발명의 정신 및 범위를 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
도 1은 패턴 인식에서의 동종(genuine) 비교값 분포와 타종(impostor) 비교값 분포의 예를 나타낸 그래프이다.
도 2는 임계값과 2차원 특징 공간에서의 결정 경계선의 관계를 설명하기 위한 예시도이다.
도 3은 임계값과 3차원 특징 공간에서의 결정 경계선의 관계를 설명하기 위한 예시도이다.
도 4는 본 발명에 따라 3차원 특징 공간에서 갤러리 g와 이를 중심으로 반경이 θ인 결정 경계선 구를 나타낸다.
도 5는 4차원 특징 벡터 g에서 유도된 2-저차원 좌표점들을 2차원 공간 상에 표시한 것을 나타낸다.
도 6은 특징 벡터 g로부터 유도된 저차원 좌표점들을 숨기기 위해서 생성하는 임의의 가좌표점들을 나타낸다.
도 7a는 본 발명에 따른 3차원 특징 벡터로부터 생성된 등록 템플릿의 일실시예이다.
도 7b는 본 발명에 따라 3차원 특징 벡터로부터 생성된 등록 템플릿에 해시값이 추가되어 저장되는 것을 나타내는 일실시예이다.
도 8a는 본 발명에 따른 5차원 특징 벡터로부터 생성된 등록 템플릿의 일실시예이다.
도 8b는 본 발명에 따라 5차원 특징 벡터로부터 생성된 등록 템플릿에 해시 값이 추가되어 저장되는 것을 나타내는 일실시예이다.
도 9는 본 발명에 따라 도 7a와 같은 등록 템플릿의 기본 형태의 갤러리 특징 벡터에서 유도된 저차원 좌표점들에 안전하게 보호하고자 하는 비밀 정보를 저장하여 생성된 변형된 등록 템플릿의 예이다.
도 10은 본 발명에 따라 저차원 좌표점에 의한 실영역이 겹치는 경우를 도시한 것이다.
도 11은 본 발명에 따라 특징 벡터 g로부터 유도된 실영역이 겹치는 경우 변환함수를 통하여 좌표점을 이동하는 일실시예를 도시한다.
도 12는 본 발명에 따라 이동된 실좌표점들을 숨기기 위해 가좌표점들을 생성하는 일실시예를 도시한다.
도 13에서는 본 발명에 따라 프로부 특징 벡터가 입력되었을 경우, 비교 및 인증을 위해 프로부 특징 벡터의 저차원 좌표점들을 변환함수에 의해 이동하는 일실시예를 도시한다.
도 14a는 본 발명에 따라 특징 벡터에서 유도된 저차원 좌표점들이 서로 다른 좌표 공간을 사용하는 일실시예를 나타낸다.
도 14b는 본 발명에 따라 서로 다른 좌표 공간을 사용하는 저차원좌표점을 포함하는 등록 템플릿을 나타낸다.
도 15는 본 발명에 따른 등록 템플릿을 생성하는 방법을 설명하는 흐름도이다.
도 16에서는 본 발명에 따라 비교 대상이 되는 데이터가 입력되었을 때 입력 된 데이터가 동종인지 타종인지를 구분하는 흐름도를 나타낸다.
도 17에서는 본 발명에 따른 패턴 인식 장치(1700)를 보여주는 블럭도이다.

Claims (15)

  1. 정수(n) 차원의 등록 특징 벡터 g(g = [g1, g2, ..., gn]T)를 생성하는 단계;
    상기 등록 특징 벡터로부터 상기 정수(n)보다 작은 정수 m(m < n) 차원의 저차원 좌표점들을 생성하는 단계;
    상기 생성된 저차원 좌표점들 각각에 대해 상기 m차원의 좌표축 상에 하나 이상의 가좌표점들을 생성하는 단계; 및
    상기 저차원 좌표점들 및 상기 가좌표점들을 포함하는 등록 템플릿을 생성하는 단계를 포함하는 것을 특징으로 하는 데이터 보호를 위한 템플릿 생성 방법.
  2. 제1항에 있어서, 상기 생성된 저차원 좌표점들 중 m차원을 만족시키지 못하는 저차원 좌표점에 임의의 수를 부가하여 상기 저차원 좌표점이 m차원이 되도록 하는 것을 특징으로 하는 데이터 보호를 위한 템플릿 생성 방법.
  3. 제1항에 있어서, 상기 등록 템플릿은 상기 등록 특징 벡터의 해시값을 더 포함하는 것을 특징으로 하는 데이터 보호를 위한 템플릿 생성 방법.
  4. 제3항에 있어서, 임의값을 추가하여 상기 해시값을 생성하는 것을 특징으로 하는 데이터 보호를 위한 템플릿 생성 방법.
  5. 제1항에 있어서, 상기 생성된 저차원 좌표점들에는 보호하고자 하는 비밀 정보를 추가하고 상기 가좌표점들에는 상기 비밀 정보 추가로 저차원 좌표점의 차원이 증가한 것을 보정해 주기 위해 임의의 값을 추가하는 것을 특징으로 하는 데이터 보호를 위한 템플릿 생성 방법.
  6. 제5항에 있어서, 상기 비밀 정보는 개인키 또는 비밀번호(password)인 것을 특징으로 하는 데이터 보호를 위한 템플릿 생성 방법.
  7. 패턴 인식 대상이 되는 데이터를 입력받아 상기 데이터를 템플릿으로 변환하여 n(n ≥ 2, n은 정수) 개의 원소로 구성된 n 차원 프로부를 생성하는 단계;
    m (m < n)차원의 k개(k ≥ 2)의 저차원 좌표점을 포함하는 등록 템플릿인 갤러리를 호출하는 단계;
    상기 프로부를 이용하여 m (m < n)차원의 상기 k개(k ≥ 2) 만큼의 저차원 좌표점을 생성하는 단계; 및
    상기 등록 템플릿의 저차원 좌표점들과 상기 프로부의 저차원 좌표점들을 각각 비교하여 상기 프로부와 상기 갤러리가 동종인지를 결정하는 단계를 포함하는 것을 특징으로 하는 안전한 패턴 인식 방법.
  8. 제7항에 있어서, 상기 등록 템플릿의 저차원 좌표점들과 상기 프로부의 저차 원 좌표점들을 각각 비교하는 것은 상기 등록 템플릿의 저차원 좌표점들과 상기 프로부의 저차원 좌표점들 간의 유클리디안 거리(d)를 계산하여 비교하는 것을 특징으로 하는 안전한 패턴 인식 방법.
  9. 제8항에 있어서, 상기 등록 템플릿의 저차원 좌표점들의 반경을
    Figure 112008072614136-pat00009
    (θ는 동종과 오타종을 분류하기 위한 임계값)이 되도록 설정하는 것을 특징으로 하는 안전한 패턴 인식 방법.
  10. 제7항에 있어서, 상기 등록 템플릿의 저차원 좌표점들 중 일부 또는 전부를 변환함수(T1, T2,...Tk)를 이용하여 좌표변환하고, 상기 좌표변환된 등록 템플릿의 저차원 좌표점과 대응되는 상기 프로부의 저차원 좌표점들을 상기 변환함수를 통해 좌표변환한 후 상기 갤러리와 프로부를 비교하는 것을 특징으로 하는 안전한 패턴 인식 방법.
  11. 제10항에 있어서, 상기 변환함수(T1, T2,...Tk)는 직교 행렬과 랜덤 벡터로 구성된 아핀 변환(affine transformation)인 것을 특징으로 하는 안전한 패턴 인식 방법.
  12. 제10항에 있어서, 상기 등록 템플릿의 저차원 좌표점들의 실영역이 겹치는 경우에 상기 변환함수에 의해 상기 저차원 좌표점들을 좌표변환하는 것을 특징으로 하는 안전한 패턴 인식 방법.
  13. 제7항에 있어서, 상기 m (m < n)차원의 복수 개(k ≥ 2)의 저차원 좌표점은 서로 다른 m 차원의 좌표공간을 사용하는 것을 특징으로 하는 안전한 패턴 인식 방법.
  14. 제13항에 있어서, 상기 저차원 좌표점이 사용하는 좌표공간의 순서를 무작위로 결정하되, 상기 무작위로 결정된 순서를 상기 등록 템플릿과 별도로 저장하여 사용하는 것을 특징으로 하는 안전한 패턴 인식 방법.
  15. 제7항에 있어서, 상기 등록 템플릿의 저차원 좌표점들과 상기 프로부의 저차원 좌표점들을 각각 비교하여 상기 프로부와 상기 갤러리가 동종이면 사용자에게 상기 등록 템플릿에 의해 미리 설정된 값을 되돌려 주는 단계를 더 포함하는 것을 특징으로 하는 안전한 패턴 인식 방법.
KR1020080102461A 2007-10-30 2008-10-20 패턴인식 데이터 보호 방법 및 장치 KR101015894B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/261,377 US20090122979A1 (en) 2007-10-30 2008-10-30 Method and apparatus for protecting pattern recognition data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020070109614 2007-10-30
KR20070109614 2007-10-30

Publications (2)

Publication Number Publication Date
KR20090045010A KR20090045010A (ko) 2009-05-07
KR101015894B1 true KR101015894B1 (ko) 2011-02-23

Family

ID=40855473

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080102461A KR101015894B1 (ko) 2007-10-30 2008-10-20 패턴인식 데이터 보호 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101015894B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000051244A1 (en) * 1999-02-11 2000-08-31 Rsa Security Inc. A fuzzy commitment scheme
KR20030052194A (ko) * 2001-12-20 2003-06-26 한국전자통신연구원 생체정보를 이용한 사용자 인증 시스템, 상기 시스템에서인증서를 등록하는 방법 및 사용자 인증방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000051244A1 (en) * 1999-02-11 2000-08-31 Rsa Security Inc. A fuzzy commitment scheme
KR20030052194A (ko) * 2001-12-20 2003-06-26 한국전자통신연구원 생체정보를 이용한 사용자 인증 시스템, 상기 시스템에서인증서를 등록하는 방법 및 사용자 인증방법

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
An improved BioHashing for human authentication, Pattern Recognition Vol.40, pp.1057-1065 (2007.03.)*
n analysis of BioHashing and its variants, Pattern Recognition Vol.39, pp.1359-1368 (2006.07.)*

Also Published As

Publication number Publication date
KR20090045010A (ko) 2009-05-07

Similar Documents

Publication Publication Date Title
KR100927596B1 (ko) 데이터 보호형 패턴 인식 방법 및 장치
US11615176B2 (en) Registration and verification of biometric modalities using encryption techniques in a deep neural network
Campisi Security and privacy in biometrics: towards a holistic approach
US9152779B2 (en) Protecting codes, keys and user credentials with identity and patterns
Guo et al. Towards efficient privacy-preserving face recognition in the cloud
US20090122979A1 (en) Method and apparatus for protecting pattern recognition data
Zheng et al. UDhashing: Physical unclonable function-based user-device hash for endpoint authentication
Balakumar et al. A survey on biometrics based cryptographic key generation schemes
CN114065169B (zh) 一种隐私保护生物认证方法和装置、电子设备
Ji et al. Privacy-preserving database fingerprinting
Aanjanadevi et al. Face Attribute Convolutional Neural Network System for Data Security with Improved Crypto Biometrics.
Gayathri et al. Fisher-Yates chaotic shuffling based visual cryptography scheme for multimodal biometric authentication
CN106789096A (zh) 一种生物特征密码认证方法和装置
Nandini et al. Efficient cryptographic key generation from fingerprint using symmetric hash functions
Ghouzali et al. Private chaotic biometric template protection algorithm
Patil et al. Design and implementation of secure biometric based authentication system using rfid and secret sharing
KR101015894B1 (ko) 패턴인식 데이터 보호 방법 및 장치
Mohammed et al. A hybrid approach for secure iris-based authentication in IoT
KR101885733B1 (ko) 바이오 인증 장치 및 바이오 인증 장치를 이용한 사용자 인증 방법
Rajanbabu et al. Multi level encryption and decryption tool for secure administrator login over the network
David An Analytical Survey on Multi-Biometric Authentication System for Enhancing the Security Levels in Cloud Computing
CN112187477A (zh) 一种虹膜保密认证方法
Ibjaoun et al. Biometric template privacy using visual cryptography
Zhu et al. A performance-optimization method for reusable fuzzy extractor based on block error distribution of iris trait
Barkathunisha et al. Secure transmission of medical information using IRIS recognition and steganography

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130730

Year of fee payment: 18