KR20160001648A - 은닉 데이터 대조 장치, 은닉 데이터 갱신 프로그램을 저장한 컴퓨터 판독 가능한 기록 매체 및 은닉 데이터 갱신 방법 - Google Patents

은닉 데이터 대조 장치, 은닉 데이터 갱신 프로그램을 저장한 컴퓨터 판독 가능한 기록 매체 및 은닉 데이터 갱신 방법 Download PDF

Info

Publication number
KR20160001648A
KR20160001648A KR1020150086923A KR20150086923A KR20160001648A KR 20160001648 A KR20160001648 A KR 20160001648A KR 1020150086923 A KR1020150086923 A KR 1020150086923A KR 20150086923 A KR20150086923 A KR 20150086923A KR 20160001648 A KR20160001648 A KR 20160001648A
Authority
KR
South Korea
Prior art keywords
data
vector
hidden
unit
approximate
Prior art date
Application number
KR1020150086923A
Other languages
English (en)
Other versions
KR101693113B1 (ko
Inventor
유까 조
마사야 야스다
Original Assignee
후지쯔 가부시끼가이샤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후지쯔 가부시끼가이샤 filed Critical 후지쯔 가부시끼가이샤
Publication of KR20160001648A publication Critical patent/KR20160001648A/ko
Application granted granted Critical
Publication of KR101693113B1 publication Critical patent/KR101693113B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Bioethics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Collating Specific Patterns (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명의 과제는 키 바인딩 방법에 있어서, 생체 정보를 안전하면서도 또한 간편하게 갱신하는 것이다.
은닉 데이터 대조 장치(3)는, 근사 판정 행렬(331)을 사용해서 생체 데이터(111)와 키(112)를 은닉해서 얻어진 제1 은닉 벡터를 등록한다. 은닉 데이터 대조 장치(3)는, 근사 판정 행렬(331)을 이용하여, 대조 데이터(211)를 은닉해서 얻어진 제2 은닉 벡터를 취득한다. 은닉 데이터 대조 장치(3)는, 제1 은닉 벡터와, 제2 은닉 벡터의 차분으로부터, 근사 판정 행렬(331)을 법으로 한 잉여 벡터를 산출하고, 잉여 벡터에 의거하여, 생체 데이터(111)와 대조 데이터(211)가 근사하고 있는지 여부를 판정한다. 은닉 데이터 대조 장치(3)는, 판정 결과, 근사하고 있는 경우에, 잉여 벡터로부터 키 데이터를 추출하고, 추출한 키 데이터와 제2 은닉 벡터를 더해서 제3 은닉 벡터를 생성한다. 은닉 데이터 대조 장치(3)는, 생성된 제3 은닉 벡터를 저장한다.

Description

은닉 데이터 대조 장치, 은닉 데이터 갱신 프로그램을 저장한 컴퓨터 판독 가능한 기록 매체 및 은닉 데이터 갱신 방법{SECRET DATA MATCHING DEVICE, COMPUTER-READABLE RECORDING MEDIUM STORING PROGRAM FOR UPDATING SECRET DATA, AND SECRET DATA UPDATING METHOD}
본 발명은 은닉 데이터(secret data) 대조 장치 등에 관한 것이다.
생체 인증이란, 인간의 신체적 특징이나 행동적 특징의 정보를 이용한 개인 인증 기술이다. 인간의 신체적 특징에는, 예를 들어 지문, 정맥, 홍채나 얼굴 등이 있다. 행동적 특징에는, 예를 들어 필적이나 보용 등이 있다. 생체 인증에서는, 템플릿이라고 불리는 생체 정보를 사전에 채취하고, 채취한 생체 정보와 대조 시에 센서로 취득한 정보를 비교함으로써 인증이 행하여진다.
최근 들어, 템플릿에 어떠한 변환을 실시한 것을 데이터 베이스에 저장해 두고, 대조 시에 원래의 템플릿으로 복원하지 않고 비교하는 생체 인증 기술이 착안되어 있다. 이 생체 인증 기술은, 「템플릿 보호형의 생체 인증 기술」이라 일컬어진다. 템플릿 보호형의 생체 인증 기술을 이용한 시스템에서는, 변환 후의 템플릿이 누설되었다고 해도, 변환 방법을 변경함으로써, 누설된 템플릿을 사용 불가능하게 하여, 누설된 템플릿에의 액세스를 방지할 수 있다.
템플릿 보호형의 생체 인증 기술에는, 키 바인딩(Key binding) 방법이라고 하는 템플릿 보호 방법이 알려져 있다. 키 바인딩 방법은, 생체 정보를 나타내는 템플릿과 유저 고유의 키를 결합해서 이들을 보호하는 방법이다. 키 바인딩 방법에서는, 생체 정보의 등록 시에, 유저는 생체 정보와 유저 고유의 키를 입력하고, 서버는 이들을 결합한 것을 시큐어 템플릿으로서 데이터 베이스에 등록한다. 생체 정보의 대조 시에, 유저는 생체 정보를 입력하고, 서버는 입력된 생체 정보와 시큐어 템플릿을 대조하여, 충분히 가까울 경우에, 유저 고유의 키를 추출한다.
키 바인딩 방법을 실현하는 기술 중 하나로서, 격자 요소(格子元) 부가에 의한 키 바인딩 방법의 기술이 알려져 있다(예를 들어, 비특허문헌 1 참조). 이러한 기술에서는, 동일한 생체 정보와 키로부터 시스템마다 다른 시큐어 템플릿을 생성할 수 있음과 함께, 등록 시 및 대조 시에 은닉되어 있지 않은 상태의 생체 정보를 서버로 보낼 필요가 없다.
또한, 키 바인딩 방법을 실현하는 다른 기술에는, 오류 정정 부호의 기술을 이용한 fuzzy commitment나 fuzzy vault 등의 방식이 알려져 있다. fuzzy commitment 및 fuzzy vault는, 동일한 생체 정보에 대해서, 템플릿과 유저 고유의 키로부터 생성되는 보조 정보에 공통 부분이 있는 것이 알려져 있다. fuzzy commitment 및 fuzzy vault는, 등록 시 및 대조 시에 은닉되어 있지 않은 상태의 생체 정보를 서버로 보내는 것이 알려져 있다.
스기무라 요시 하나, 야스다 마사야, 야마다 시게루사, 아베 노보루 이쓰키, 니이자키 스구루, 「격자 마스킹을 이용한 키 바인딩 기술의 제안」. 정보 시큐리티 연구회(ISEC), 전자 정보 통신 학회 기술 연구 보고, Vol. 113, No. 135, pp. 297-304
그런데, 생체 인증에 사용되는 생체 정보로서, 개인에게 특유하고 변화가 적은 생체 정보가 선택된다. 그러나, 일반적으로 연월의 경과에 따라, 대조 시에 채취되는 생체 정보와 최초로 등록한 템플릿의 유사도는 서서히 저하된다. 이것은, 신체적 특징이나 행동적 특징 그 자체의 장기적인 변화에 따라 일어난다. 또한, 대조 시에, 신체적 특징이나 행동적 특징을 채취하는 기기에 대한 조작 습관 등에 의해 일어난다. 이러한 유사도 저하를 방지하기 위해, 템플릿을 일정 기간마다, 또는 유사도 저하의 징후에 따라서 갱신하는 일이 행하여지고 있다. 템플릿의 갱신 방법으로서, 최초의 등록 시의 순서를 반복하는 방법을 들 수 있다.
그러나, 종래의 키 바인딩 방법을 실현하는 기술에서는, 생체 정보를 안전하면서도 또한 간편하게 갱신할 수 없다고 하는 문제가 있다.
예를 들어, 최초의 등록 시의 순서를 반복하는 방법에서는, 유저가 생체 정보를 등록하는 전용 장소로 가거나, 일정 기간 또는 유사도 저하의 징후 때마다, 생체 정보의 채취를 반복하거나 하기 때문에, 서버는 생체 정보를 간편하게 갱신할 수 없다.
또한, fuzzy commitment 및 fuzzy vault는, 등록 시에 은닉되어 있지 않은 상태의 생체 정보를 서버로 보내므로, 서버는 생체 정보를 안전하게 갱신할 수 없다.
격자 요소 부가에 의한 키 바인딩 방법이라도, 등록 시 및 대조 시에 은닉되어 있지 않은 상태의 생체 정보를 서버로 보내지 않지만, 최초의 등록 시의 순서를 반복하게 되므로, 서버는 생체 정보를 간편하게 갱신할 수 없다.
또한, 상기 과제는 생체 정보의 갱신에 한정되지 않고, 위치 정보나 기밀 정보 등의 수치 정보의 갱신이라도, 마찬가지로 발생하는 과제이다.
하나의 측면에서는, 본 발명은 템플릿 보호형의 생체 인증 기술에 있어서의 키 바인딩 방법에 있어서, 생체 정보를 안전하면서도 또한 간편하게 갱신하는 것을 목적으로 한다.
하나의 측면에서는, 은닉 데이터 대조 장치는, 2개의 데이터가 근사하고 있는지를 판정하기 위한 역치와 키 데이터에 관한 역치를 대각 성분으로 하는 행렬에 난수 벡터를 최종열로서 부가해서 생성된 판정 행렬의 행 벡터를 이용한 제1의 1차 결합과, 제1 난수에 의거하여, 제1 데이터와 키 데이터를 은닉해서 얻어지는 제1 은닉 벡터를 기억하는 기억부와, 상기 판정 행렬의 행 벡터를 이용한 제2의 1차 결합과, 제2 난수에 의거하여, 제2 데이터를 은닉해서 얻어지는 제2 은닉 벡터를 취득하는 취득부와, 상기 기억부에 기억된 제1 은닉 벡터와, 상기 취득부에 의해 취득된 제2 은닉 벡터의 차분으로부터, 상기 판정 행렬을 법으로 했을 때의 잉여인 잉여 벡터를 산출하는 산출부와, 상기 산출부에 의해 산출된 잉여 벡터에 의거하여, 상기 제1 데이터와 상기 제2 데이터가 근사하고 있는지 여부를 판정하는 판정부와, 상기 판정부에 의한 판정 결과, 상기 제1 데이터와 상기 제2 데이터가 근사하고 있다고 판정된 경우에, 상기 잉여 벡터로부터 키 데이터를 추출하는 추출부와, 상기 추출부에 의해 추출된 키 데이터와 상기 취득부에 의해 취득된 제2 은닉 벡터를 더해서 제3 은닉 벡터를 생성하는 생성부와, 상기 생성부에 의해 생성된 제3 은닉 벡터를 상기 기억부에 저장하는 저장부를 갖는다.
본원이 개시하는 시스템 중 하나의 형태에 의하면, 템플릿 보호형의 생체 인증 기술에 있어서의 키 바인딩 방법에 있어서, 생체 정보를 안전하면서도 또한 간편하게 갱신할 수 있다.
도 1은, 제1 실시예에 관한 은닉 데이터 대조 시스템의 기능 구성의 일례를 설명하는 도면이다.
도 2는, 근사 판정 행렬의 일례를 나타내는 도면이다.
도 3은, 은닉 데이터의 등록 처리의 시퀀스를 도시하는 도면이다.
도 4는, 제1 실시예에 관한 은닉 데이터의 갱신 처리의 시퀀스를 도시하는 도면이다.
도 5는, 제2 실시예에 관한 은닉 데이터 대조 시스템의 기능 구성의 일례를 설명하는 도면이다.
도 6은, 제2 실시예에 관한 은닉 데이터의 갱신 처리의 시퀀스를 도시하는 도면이다.
도 7은, 제3 실시예에 관한 은닉 데이터 대조 시스템의 기능 구성의 일례를 설명하는 도면이다.
도 8은, 제3 실시예에 관한 은닉 데이터의 갱신 처리의 시퀀스를 도시하는 도면이다.
도 9는, 템플릿 갱신의 효과를 도시하는 도면이다.
도 10은, 은닉 데이터 갱신 프로그램을 실행하는 컴퓨터의 일례를 나타내는 도면이다.
이하에, 본원이 개시하는 은닉 데이터 대조 장치, 은닉 데이터 갱신 프로그램 및 은닉 데이터 갱신 방법의 실시예를 도면에 의거하여 상세하게 설명한다. 또한, 은닉 데이터 대조 장치는 템플릿 보호형의 생체 인증 기술 중 키 바인딩 방법을 채용한다. 또한, 실시예에 의해 본 발명이 한정되는 것은 아니다.
<제1 실시예>
[은닉 데이터 대조 시스템의 구성]
도 1은, 실시예에 관한 은닉 데이터 대조 시스템의 기능 구성의 일례를 설명하는 도면이다. 도 1에 도시한 바와 같이, 은닉 데이터 대조 시스템(9)은 클라이언트 단말기(1, 2)와, 은닉 데이터 대조 장치(3)를 갖는다. 은닉 데이터 대조 장치(3)에는 데이터 베이스(330)가 포함된다. 은닉 데이터 대조 장치(3)와 클라이언트 단말기(1, 2)는 네트워크로 접속되어 있다.
여기서, 은닉 데이터 대조 시스템(9)은, 클라이언트의 생체 데이터 및 클라이언트 고유의 키 데이터를 격자 마스킹이라고 불리는 특수한 난수(격자 요소)에 의거하여 은닉화하고, 은닉화해서 얻어진 제1 은닉 데이터를 데이터 베이스(330)에 등록한다. 그리고 은닉 데이터 대조 시스템(9)은, 클라이언트로부터 생체 데이터의 대조 의뢰가 있었을 때, 대조 대상의 생체 데이터를 다른 격자 요소에 의거하여 은닉화하고, 은닉화해서 얻어진 제2 은닉 데이터를 취득한다. 그리고 은닉 데이터 대조 시스템(9)은 제1 은닉 데이터와, 제2 은닉 데이터와의 차분에, 격자 이론 특유의 사상(寫像)을 이용함으로써, 제1 은닉 데이터에 대응하는 생체 데이터와, 제2 은닉 데이터에 대응하는 생체 데이터가 근사하고 있는지 여부를 판정한다. 그리고 은닉 데이터 대조 시스템(9)은, 양 생체 데이터가 근사하고 있다고 판정된 경우, 제1 은닉 데이터로부터 키 데이터를 추출하고, 추출한 키 데이터와, 인증 시에 사용된 제2 은닉 데이터를 더한 제3 은닉 데이터를 생성한다. 그리고 은닉 데이터 대조 시스템(9)은, 생성된 제3 은닉 데이터를 제1 은닉 데이터 대신에 데이터 베이스(330)에 등록한다. 즉, 은닉 데이터 대조 시스템(9)은, 대조 의뢰가 있었던 클라이언트의 생체 데이터를 은닉해서 은닉 데이터를 얻고, 이 은닉 데이터를 사용해서 제1 은닉 데이터를 갱신 등록한다. 실시예에서는, 설명의 편의상, 클라이언트 단말기(1)가 생체 데이터를 등록하는 클라이언트의 단말기인 것으로 하고, 클라이언트 단말기(2)가 생체 데이터에 대해서 대조를 의뢰하는 단말기인 것으로 한다. 또한, 클라이언트 단말기(1)는 복수대 존재해도 좋다. 클라이언트 단말기(2)는 복수대 존재해도 좋다.
이러한 은닉 데이터 대조 시스템(9)에 있어서, 클라이언트의 생체 데이터 및 클라이언트 고유의 키 데이터가 은닉화된 은닉 데이터를 갱신하는 내용에 대해서, 이하에 설명한다.
클라이언트 단말기(1)는, 등록 의뢰부(11)와, 은닉 데이터 생성부(12)를 갖는다. 실시예에서는, 키(112)는, 예를 들어 수치로 표현되는 것으로 한다.
등록 의뢰부(11)는, 생체 데이터(111) 및 키(112)의 등록을 은닉 데이터 대조 장치(3)에 의뢰한다. 예를 들어, 등록 의뢰부(11)는 생체 데이터(111) 및 키(112)를 외부의 단말기로부터 수신한다. 그리고 등록 의뢰부(11)는 수신된 생체 데이터(111) 및 키(112)의 등록을 은닉 데이터 대조 장치(3)에 의뢰한다. 또한, 외부의 단말기는 네트워크를 통한 단말기라도 좋다.
여기서, 생체 데이터(111)는 클라이언트의 신체적 특징이나 행동적 특징의 데이터이다. 신체적 특징의 데이터의 일례로서, 지문, 정맥, 홍채 및 얼굴을 들 수 있다. 행동적 특징의 데이터의 일례로서, 필적 및 보용을 들 수 있다. 실시예에서는, 생체 데이터(111)는 n차원의 성분을 갖는 벡터로 표현되는 것으로 한다. 키(112)는 클라이언트 자신이 생체 데이터와 함께 등록을 원하는 키 데이터이다. 실시예에서는, 키(112)는, 예를 들어 수치로 표현되는 것으로 한다.
또한, 등록 의뢰부(11)는 등록 의뢰에 대한 응답으로서, 후술하는 근사 판정 행렬(331)에 대응하는 1차 결합(격자 요소)을 은닉 데이터 대조 장치(3)로부터 수신하고, 수신한 격자 요소를 은닉 데이터 생성부(12)에 출력한다. 또한, 등록 의뢰부(11)는 생체 데이터(111) 및 키(112)를 은닉화한 은닉 데이터를 은닉 데이터 생성부(12)로부터 수취하면, 당해 은닉 데이터의 등록을 은닉 데이터 대조 장치(3)에 의뢰한다.
은닉 데이터 생성부(12)는, 생체 데이터(111) 및 키(112)를 은닉화한 은닉 데이터를 생성한다.
예를 들어, 은닉 데이터 생성부(12)는 생체 데이터(111)와 키(112)에 대하여, 생체 데이터(111)와 키(112)의 결합 데이터의 최종 성분에 「0」을 추가한 n+2차원 벡터를 생성한다. 즉, 은닉 데이터 생성부(12)는 생체 데이터(111)가 갖는 n차원의 성분에, 키(112)가 갖는 1차원의 성분과, n+2번째의 성분으로서 「0」을 추가한 n+2차원 벡터를 생성한다. 일례로서, 생체 데이터(111)가 n차원의 성분을 나타내는 T이며, 키(112)가 1차원의 성분을 나타내는 K인 것으로 한다. 그러면, 은닉 데이터 생성부(12)는, n+2차원 벡터로서, (T, K, 0)을 생성한다.
또한, 은닉 데이터 생성부(12)는 등록 의뢰부(11)로부터 1차 결합(격자 요소)을 취득하면, 난수를 생성한다. 그리고 은닉 데이터 생성부(12)는 1차 결합(격자 요소)과 난수의 곱에, 생성된 n+2차원 벡터를 가산한 은닉 벡터를 생성한다. 일례로서, 난수가 r1이며, 격자 요소가 b1인 것으로 하면, 은닉 벡터는 (T, K, 0)+r1×b1로 나타내어진다. 그리고 은닉 데이터 생성부(12)는, 생성된 은닉 벡터를 은닉 데이터로서 등록 의뢰부(11)에 출력한다.
클라이언트 단말기(2)는, 대조 의뢰부(21)와 은닉 데이터 생성부(22)를 갖는다.
대조 의뢰부(21)는, 생체 데이터의 대조를 은닉 데이터 대조 장치(3)에 의뢰한다. 대조되는 생체 데이터를 대조 데이터(211)로 한다. 실시예에서는, 대조 데이터(211)는 n차원의 성분을 갖는 벡터로 표현되는 것으로 한다. 또한, 대조 의뢰부(21)는 대조 의뢰에 대한 응답으로서, 후술하는 근사 판정 행렬(331)에 대응하는 1차 결합(격자 요소)을 은닉 데이터 대조 장치(3)로부터 수신하고, 수신된 격자 요소를 은닉 데이터 생성부(22)에 출력한다. 또한, 대조 의뢰부(21)는 대조 데이터(211)를 은닉화한 은닉 데이터를 은닉 데이터 생성부(22)로부터 수취하면, 당해 은닉 데이터의 대조를 은닉 데이터 대조 장치(3)에 의뢰한다. 또한, 은닉 데이터 대조 장치(3)로부터 수신되는 격자 요소는, 등록 시에 클라이언트 단말기(1)의 등록 의뢰부(11)에 의해 수신된 격자 요소와 상이한 것이다.
은닉 데이터 생성부(22)는, 대조 데이터(211)를 은닉화한 은닉 데이터를 생성한다.
예를 들어, 은닉 데이터 생성부(22)는 대조 데이터(211)의 최종 성분과 최종으로부터 1개 전의 성분에 「0」을 추가한 n+2차원 벡터를 생성한다. 즉, 은닉 데이터 생성부(22)는 대조 데이터(211)가 갖는 n차원의 성분에, n+1번째의 성분 및 n+2번째의 성분으로서 각각 「0」을 추가한 n+2차원 벡터를 생성한다. 일례로서, 대조 데이터(211)가 n차원의 성분을 나타내는 Q인 것으로 한다. 그러면, 은닉 데이터 생성부(22)는 n+2차원 벡터로서, (Q, 0, 0)을 생성한다.
또한, 은닉 데이터 생성부(22)는 대조 의뢰부(21)로부터 1차 결합(격자 요소)을 취득하면, 난수를 생성한다. 그리고 은닉 데이터 생성부(22)는 1차 결합(격자 요소)과 난수의 곱에, 생성된 n+2차원 벡터를 가산한 은닉 벡터를 은닉 데이터로서 생성한다. 일례로서, 난수가 r2이며, 격자 요소가 b2인 것으로 하면, 은닉 벡터는 (Q, 0, 0)+r2×b2로 나타내어진다. 그리고 은닉 데이터 생성부(22)는, 생성된 은닉 벡터를 은닉 데이터로서 대조 의뢰부(21)에 출력한다. 또한, 난수를 생성하는 방법은, 임의의 방법을 사용하는 것이 가능하지만, 각 클라이언트 단말기(1, 2)끼리에서 생성되는 난수가 중복되지 않도록, 각종 파라미터가 각각 상이한 것이 바람직하다.
은닉 데이터 대조 장치(3)는, 등록부(31)와, 대조 판정부(32)와, 기억부(33)를 갖는다. 등록부(31)는, 후술하는 근사 판정 행렬(331)을 생성하고, 생성된 근사 판정 행렬을 기억부(33)의 데이터 베이스(330)에 등록한다. 또한, 등록부(31)는 등록 의뢰가 있었던 은닉 데이터를 기억부(33)의 데이터 베이스(330)에 등록한다. 대조 판정부(32)는, 대조 의뢰가 있었던 대조 데이터를 은닉화한 은닉 데이터와 등록된 은닉 데이터를 대조하여, 근사하고 있는지 여부를 판정하고, 근사하고 있을 경우에는, 대조 의뢰가 있었던 대조 데이터를 은닉화한 은닉 데이터를 사용하여, 이미 등록된 은닉 데이터를 갱신한다.
기억부(33)는 하드 디스크, 광 디스크 등의 기억 장치이다. 또한, 기억부(33)는 RAM(Random Access Memory), ROM(Read Only Memory), 플래시 메모리, NVSRAM(Non Volatile Static Random Access Memory) 등의 데이터를 재기입 가능한 반도체 메모리라도 좋다.
기억부(33)는, 데이터 베이스(330)를 기억한다. 데이터 베이스(330)에는, 근사 판정 행렬(331) 및 은닉 데이터(332)가 기억된다. 은닉 데이터(332)는, 1 유저에 대하여 1개 기억되는 것으로 한다. 또한, 근사 판정 행렬(331)은, 후술하는 등록부(31)에 의해 등록된다. 은닉 데이터(332)는, 후술하는 등록부(31)에 의해 등록되고, 후술하는 대조 판정부(32)에 의해 갱신된다. 또한, 근사 판정 행렬(331)의 상세는, 후술한다.
등록부(31)는, 난수 생성부(311)와, 근사 판정 행렬 생성부(312)와, 근사 판정 행렬 등록부(313)와, 은닉 데이터 등록부(314)를 갖는다.
난수 생성부(311)는, 근사 판정 행렬(331)의 생성에 사용되는 난수를 생성하고, 생성된 난수를 근사 판정 행렬 생성부(312)에 출력한다. 여기서, 근사 판정 행렬(331)의 생성에 사용되는 난수라 함은, 근사 판정 행렬(331)을 생성할 때에 근사 범위의 역치를 나타내는 정방 행렬에 대하여 최종열 및 최종열보다 1개 전의 열에 부가하는 난수이다. 근사 범위의 역치라 함은, 클라이언트가 근사 범위로서 설정한 수치이며, 근사 범위의 벡터로서의 각 차원 방향의 길이를 나타내는 정보이다. 예를 들어, 난수 생성부(311)는 근사 범위의 역치가 「e, f, g」일 경우, e/2≥h, f/2≥i, g/2≥j를 만족하는 난수 「h, i, j」 및 임의의 난수 「k, l」을 생성한다.
근사 판정 행렬 생성부(312)는, 근사 판정을 행하기 위한 근사 판정 행렬(331)을 생성한다. 생성되는 근사 판정 행렬(331)은, 은닉 데이터 대조 장치(3)가 탑재되는 시스템마다 다르게 생성되는 것으로 한다.
예를 들어, 근사 판정 행렬 생성부(312)는 근사 범위를 나타내는 역치를 대각 성분으로 하고, 다른 성분을 「0」으로 하는 대각 행렬을 생성한다. 일례로서, 근사 판정 행렬 생성부(312)는, 판정 대상이 되는 생체 데이터가 n개의 성분을 갖는 정보인 경우, 즉 생체 데이터(111)가 n차원의 정보인 경우에는, n×n의 대각 행렬을 생성한다. 또한, 근사 판정 행렬 생성부(312)는 키(112)의 역치를 (n+1)행 (n+1)열로 설정한다. 키(112)의 역치라 함은, 클라이언트에 의해 설정되는 키 자체가 채용할 수 있는 최댓값을 나타내는 정보이다.
그리고 근사 판정 행렬 생성부(312)는, 생성된 n×n의 대각 행렬에, 모든 성분이 「0」인 최종행 -1행과 최종행을 부가한 (n+2)×n 행렬을 생성한다. 그리고 근사 판정 행렬 생성부(312)는, 대각 행렬의 열의 수 n의 성분을 갖는 난수 벡터를 생성한다. 근사 판정 행렬 생성부(312)는, 대각 행렬의 행의 수 n에 2를 가산한 수(최종 열수)의 성분을 갖는 난수 벡터를 생성한다. 난수 벡터의 성분에는, 난수 생성부(311)에 의해 생성된 난수가 설정된다. 그리고 은닉 데이터 대조 장치(3)는, 난수 벡터를 부가한 (n+2)×(n+2)의 정방 행렬을 근사 판정 행렬(331)로서 생성한다.
근사 판정 행렬 등록부(313)는, 근사 판정 행렬 생성부(312)에 의해 생성된 근사 판정 행렬(331)을 데이터 베이스(330)에 등록한다.
여기서, 근사 판정 행렬(331)에 대해서, 도 2를 참조하여 설명한다. 도 2는, 근사 판정 행렬의 일례를 나타내는 도면이다. 또한, 도 2에 도시하는 예에서는, 생체 데이터 및 근사 범위가 3차원의 수치에 의해 표현되는 예에 대해서 설명한다. 도 2에 도시한 바와 같이, 근사 판정 행렬(331)에 대응하는 근사 판정 행렬 V는, 점선으로 나타내는 범위의 근사 판정용의 행렬에 키의 역치와 난수 벡터를 부가한 행렬이다.
근사 판정용의 행렬은, 근사 범위의 각 차원 방향의 벡터로서의 길이를 지정하는 역치를 대각 요소로서 갖는다. 예를 들어, 도 2에 도시하는 예에서는, 근사 범위의 x축 방향의 벡터로서의 길이가 「20」이며, y축 방향의 벡터로서의 길이가 「10」이며, z축 방향의 벡터로서의 길이가 「14」인 취지를 나타낸다. 즉, 도 2에 도시하는 근사 판정용의 행렬은, x축 방향에 「±10」, y축 방향에 「±5」, z축 방향에 「±7」의 범위 내에 2개의 생체 데이터가 포함되는지 여부를 판정하기 위한 행렬이다.
그리고 키 매립용의 4행째에, 「0, 0, 0」이 부가된다. 또한, 4열째에, 난수 벡터 「7, 4, 5」와 키의 역치 「20000」을 결합한 「7, 4, 5, 20000」이 부가된다. 그리고 최종행의 5행째에, 「0, 0, 0, 0」이 부가된다. 또한, 최종열의 5열째에, 난수 벡터 「5, 3, -2, -42, 123」이 부가된다. 또한, 도 2에 도시하는 예에서는, 근사 범위를 3차원의 수치로 지정했지만, 실시예는 이에 한정되는 것은 아니며, 임의의 차원의 수치를 사용할 수 있다.
도 1로 돌아와, 은닉 데이터 등록부(314)는 은닉 데이터를 데이터 베이스(330)에 등록한다. 등록된 은닉 데이터가, 키 바인딩 방법에 있어서, 보호되는 템플릿에 상당한다.
예를 들어, 은닉 데이터 등록부(314)는, 클라이언트 단말기(1)로부터 등록 의뢰가 있었을 경우, 근사 판정 행렬(331)에 대응하는 1차 결합용의 난수를 생성한다. 일례로서, 은닉 데이터 등록부(314)는 근사 판정 행렬(331)에 대응하는 n+2개의 성분을 갖는 행 벡터 v1, v2, …, vn +2를 취득한다. 그리고 은닉 데이터 등록부(314)는, 각 행 벡터 v1, v2, …, vn +2에 대하여, 각각 적당한 정수 d1, d2, …, dn +2를 선택한다. 그리고 은닉 데이터 등록부(314)는, 각 행 벡터와 각 정수의 곱의 합, 즉 d1×v1+d2×v2+…+dn +2×vn +2로 표현되는 n+2차원의 벡터를 1차 결합으로서 산출한다. 이 1차 결합이 「격자 요소」이다. 또한, 은닉 데이터 등록부(314)는, 생체 데이터마다, 다른 정수 d1, d2, …, dn +2의 조를 선택하고, 선택한 정수의 조와 근사 판정 행렬(331)의 각 행 벡터의 곱의 합인 1차 결합을 산출한다.
또한, 은닉 데이터 등록부(314)는, 산출한 1차 결합 즉 격자 요소를, 등록 의뢰의 응답으로서, 클라이언트 단말기(1)에 배포한다. 그리고 은닉 데이터 등록부(314)는, 클라이언트 단말기(1)로부터 은닉 데이터(332)의 등록 의뢰가 있었을 경우, 등록 의뢰가 있었던 은닉 데이터(332)를 데이터 베이스(330)에 등록한다.
대조 판정부(32)는, 대조 의뢰 접수부(321)와, 연산부(322)와, 근사 판정부(323)와, 키 추출부(324)와, 갱신 은닉 데이터 생성부(325)와, 은닉 데이터 갱신부(326)를 갖는다.
대조 의뢰 접수부(321)는, 클라이언트 단말기(2)로부터 대조 의뢰를 접수한 경우, 근사 판정 행렬(331)에 대응하는 1차 결합용의 난수(격자 요소)를 생성한다. 1차 결합용의 난수의 생성은, 은닉 데이터 등록부(314)에 의한 생성과 마찬가지이므로, 그 설명을 생략한다. 또한, 대조 의뢰 접수부(321)에 의해 생성되는 격자 요소는, 등록 시에 은닉 데이터 등록부(314)에 의해 생성된 격자 요소와 다르게 생성된다.
또한, 대조 의뢰 접수부(321)는, 산출한 1차 결합 즉 격자 요소를, 대조 의뢰의 응답으로서, 클라이언트 단말기(2)에 배포한다. 그리고 대조 의뢰 접수부(321)는 클라이언트 단말기(2)로부터 대조 데이터(211)를 은닉화한 은닉 데이터의 대조 의뢰가 있었을 경우, 대조 의뢰가 있었던 은닉 데이터를 연산부(322)에 출력한다.
연산부(322)는 데이터 베이스(330)에 등록된 은닉 데이터(332)(은닉 벡터)와, 클라이언트 단말기(2)로부터 수신한 대조 데이터(211)를 은닉화한 은닉 데이터의 차분을 나타내는 차분 벡터를 산출한다. 그리고 연산부(322)는 산출한 차분 벡터로부터, 근사 판정 행렬(331)을 법으로 했을 때의 잉여인 잉여 벡터를 산출한다. 일례로서, 차분 벡터를 z, 근사 판정 행렬(331)을 V로 한 경우, 잉여 벡터는 「z mod V」로 나타내어진다. 「z mod V」는, 「z-「z×V-1」×V」와 같은 것이다. 또한, V-1은, 행렬 V의 역행렬을 나타낸다. 「z×V- 1」은, 벡터 z×V-1의 각 차원에 대해서, 가장 가까운 정수로 반올림 한 벡터를 나타낸다. 그리고 연산부(322)는 산출한 잉여 벡터를 근사 판정부(323)에 출력한다.
근사 판정부(323)는, 연산부(322)로부터 수취한 잉여 벡터의 최종 성분이 「0」인지 여부를 판정하고, 잉여 벡터의 최종 성분이 「0」인 경우에는, 등록원의 생체 데이터(111)와 대조 데이터(211)가 근사하고 있다고 판정한다. 한편, 근사 판정부(323)는 잉여 벡터의 최종 성분이 「0」이 아닌 경우에는, 등록원의 생체 데이터(111)와 대조 데이터(211)가 근사하고 있지 않다고 판정한다.
키 추출부(324)는, 근사하고 있다고 판정된 경우에, 잉여 벡터의 n+1 성분을 유저 고유의 키(112)로서 추출한다. 그리고 키 추출부(324)는, 추출한 키(112)를 대조원이 되는 클라이언트 단말기(2)로 송신한다. 또한, 키 추출부(324)는 근사하고 있지 않다고 판정된 경우에는, 근사하고 있지 않은 취지(인증 실패인 취지)를 클라이언트 단말기(2)로 송신한다.
갱신 은닉 데이터 생성부(325)는, 근사하고 있다고 판정된 경우에, 키 추출부(324)에 의해 추출된 키(112)와 대조 의뢰가 있었던 은닉 데이터를 더해서 갱신용의 은닉 데이터를 생성한다. 예를 들어, 갱신 은닉 데이터 생성부(325)는, 키 추출부(324)에 의해 추출된 키(112)에 n개의 0 및 1개의 0을 더해서 확장한 키 벡터(0, K, 0)를 생성한다. 키 벡터의 최초의 0은, n차원의 0 벡터를 나타내고, 최후의 0은, 스칼라이다. 그리고 갱신 은닉 데이터 생성부(325)는 키 벡터와 대조 의뢰가 있었던 은닉 데이터를 더해서 갱신 은닉 데이터를 생성한다.
은닉 데이터 갱신부(326)는, 갱신 은닉 데이터 생성부(325)에 의해 생성된 갱신 은닉 데이터를 데이터 베이스(330)에 저장한다. 즉, 은닉 데이터 갱신부(326)는 갱신 은닉 데이터를, 은닉 데이터(332) 대신에 데이터 베이스(330)에 등록한다.
[근사 판정의 원리]
여기서, 먼저 대조 판정부(32)가 실행하는 근사 판정의 원리에 대해서 설명한다. 근사 판정 행렬(331)을 근사 판정 행렬 V로서 설명한다. 근사 판정 행렬 V의 각 행 벡터 v1, v2, …, vn +2의 1차 결합은, 근사 판정 행렬 V의 각 행 벡터의 1차 결합 d1×v1+d2×v2+… +dn +2×vn +2를 요소로 하는 집합 L(격자 L)로 나타낼 수 있다. 즉, 근사 판정 행렬 V의 각 행 벡터의 1차 결합은, 집합 L의 요소를 포함하는 격자 상의 어느 하나의 교점에 대응한다.
n차원의 생체 데이터 T 및 키 K를 은닉화한 은닉 벡터 H는, 집합 L의 격자 요소 b1과 난수 r1을 이용해서 이하의 식 (1)로 나타내어진다. 또한, (T, K, 0)이라 함은, 생체 데이터 T에 키 K와 n+2번째의 성분으로서 「0」을 추가한 n+2차원 벡터이다. H=(T, K, 0)+r1×b1… 식 (1) 은닉 벡터 H는, 클라이언트 단말기(1)의 은닉 데이터 생성부(12)에 의해 생성된다. 그리고 생성된 은닉 벡터 H는, 등록 의뢰부(11)에 의해 데이터 베이스(330)에 등록된다.
또한, n차원의 대조 데이터 Q를 은닉화한 은닉 벡터 H'는, 집합 L의 격자 요소 b2와 난수 r2를 사용해서 이하의 식 (2)로 나타내어진다. 또한, (Q, 0, 0)이라 함은, 대조 데이터 Q에 n+1번째의 성분과 n+2번째의 성분으로서 각각 「0」을 추가한 n+2차원 벡터이다. 또한, b2는 b1과 상이하다. H'=(Q, 0, 0)+r2×b2 … 식 (2) 은닉 벡터 H'는, 클라이언트 단말기(2)의 은닉 데이터 생성부(22)에 의해 생성된다. 그리고 생성된 은닉 벡터 H'는, 대조 의뢰부(21)에 의해 은닉 데이터 대조 장치(3)로 송신된다.
이러한 경우에, 은닉 벡터 H와 H'의 차분 벡터 z는, 이하의 식 (3)으로 나타내어진다. z=H-H'=(T-Q, K, 0)+r1×b1-r2×b2 … 식 (3)
여기서, 차분 벡터 z가 갖는 r1×b1-r2×b2는, 집합 L의 요소와 난수의 곱끼리의 차분이므로, 집합 L의 요소에 포함되어 있다. 즉, r1×b1-r2×b2는, 집합 L의 원소를 포함하는 격자 상의 어느 하나의 교점에 대응한다. 또한, 차분 벡터 z로부터 근사 판정 행렬 V의 잉여 벡터를 계산한 경우, 「z mod V」는, 집합 L에 의해 정해지는 기본 영역 P(L)에 차분 벡터 z를 사상하는 것에 대응한다. 이로 인해, 차분 벡터 z로부터 근사 판정 행렬 V의 잉여 벡터를 계산한 경우에는, r1×b1-r2×b2가 무시되게 된다. 이로 인해, z mod V를 산출한 경우에는, 차분 벡터 z 중, 차분 벡터 z의 선단부 이외를 포함하는 격자 부분을 무시하고, 차분 벡터 z의 선단부를 포함하는 1개의 격자만을 기본 영역 P(L)에 사상하게 된다. 즉, 이하의 식 (4)로 나타내어진다.
z mod V=(T-Q, K, 0) mod V … 식 (4)
벡터(T-Q, K, 0)가 기본 영역 P(L)에 포함되는 경우, 즉 생체 데이터 T와 대조 데이터 Q가 근사하고 있을 경우, z mod V=(T-Q, K, 0)이 된다. 이 결과, 생체 데이터 T와 대조 데이터 Q가 근사하고 있을 경우에는, 「z mod V」의 최종 성분이 매우 높은 확률로 「0」이 된다.
한편, 벡터(T-Q, K, 0)가 기본 영역 P(L)에 포함되지 않는 경우, 즉 생체 데이터 T와 대조 데이터 Q가 근사하고 있지 않을 경우에는, 집합 L에 속하는 격자의 어떤 요소를 b로 하면, z mod V=(T-Q, K, 0)+b가 된다. 이 결과, 생체 데이터 T와 대조 데이터 Q가 근사하고 있지 않을 경우에는, 「z mod V」의 최종 성분이 매우 높은 확률로 「0」이외의 값이 된다.
이러한 근사 판정의 원리 하에서, 대조 판정부(32)는 은닉 벡터 H 및 H'의 차분으로부터 근사 판정 행렬 V의 잉여 벡터를 산출하고, 산출한 잉여 벡터의 최종 성분에 의거하여, 은닉된 생체 데이터의 근사 판정을 행한다. 그리고 대조 판정부(32)는 근사 판정의 결과, 근사하고 있다고 판정된 경우에, 은닉 벡터 H로부터 키 K를 추출한다. 그리고 대조 판정부(32)는 추출한 키 K를 대조원에 출력한다.
[갱신 은닉 데이터의 생성 처리의 원리]
이어서, 대조 판정부(32)가 실행하는 갱신 은닉 데이터의 생성 원리에 대해서 설명한다. 생체 데이터 T와 대조 데이터 Q가 근사하고 있을 경우, 은닉 데이터 대조 장치(3)는, n차원의 대조 데이터 Q를 은닉화한 은닉 벡터 H'[=(Q, 0, 0)+r2×b2)(식 2 참조)] 및 유저 고유의 키 K를 갖고 있다. 대조 판정부(32)는, 키 K를 사용해서, n+2차원의 키 벡터(0, K, 0)를 생성한다. 여기서, 최초의 0은 n차원(생체 데이터와 같은 데이터 구조)의 0 벡터를 나타내고, 최후의 0은 스칼라이다.
대조 판정부(32)는, 은닉 벡터 H'와 키 벡터로부터, 이하의 식 (5)에 의해 갱신 은닉 데이터 H1을 생성한다. H1=H'+(0, K, 0)… 식 (5)
식 (5)를 변형하면, 이하의 식 (6)이 된다. H1={(Q, 0, 0)+r2×b2}+(0, K, 0)
=(Q, K, 0)+r2×b2 … 식 (6)
식 (6)의 Q, r2, b2는, 각각 대조 데이터(211), 난수, 격자의 요소이다. 여기서, 식 (1)에 나타내는 은닉 벡터 H[=(T, K, 0)+r1×b1]와, 식 (6)으로 나타내는 은닉 벡터 H1[=(Q, K, 0)+r2×b2]을 비교한다. 은닉 벡터 H1은, 대조 데이터(211)인 Q와 유저 고유의 키 K로부터 생성되는 은닉 벡터인 것을 알 수 있다. 따라서, 은닉 데이터로서 은닉 벡터 H1을 H 대신에 데이터 베이스(330)에 등록함으로써, 키 바인딩 방법에 있어서의 템플릿의 갱신을 행할 수 있다. 즉, 대조 판정부(32)는 대조 데이터 Q의 은닉 데이터를 이미 등록되어 있는 은닉 데이터(332) 대신에 데이터 베이스(330)에 등록한다.
[은닉 데이터의 등록 처리의 시퀀스]
이어서, 은닉 데이터의 등록 처리의 시퀀스를, 도 3을 참조하여 설명한다. 도 3은, 은닉 데이터의 등록 처리의 시퀀스를 도시하는 도면이다. 또한, 도 3에서는, 클라이언트의 생체 데이터(111)를 T, 클라이언트 고유의 키(112)를 K, 근사 판정 행렬(331)을 V, 은닉 벡터를 H로 나타내는 것으로 한다.
은닉 데이터 대조 장치(3)에서는, 근사 판정 행렬 생성부(312)가 근사 판정 행렬 V를 생성한다(스텝 S11). 그리고 근사 판정 행렬 등록부(313)는, 생성된 근사 판정 행렬 V를 데이터 베이스(330)에 등록한다(스텝 S12).
클라이언트 단말기(1)에서는, 등록 의뢰부(11)가 등록 정보를 취득한다(스텝 S13). 여기에서는, 등록 의뢰부(11)는 등록 정보로서, 생체 데이터 T 및 키 K를 취득한다. 그리고 등록 의뢰부(11)는 생체 데이터 T 및 키 K의 등록을, 은닉 데이터 대조 장치(3)에 의뢰한다(스텝 S14).
은닉 데이터 대조 장치(3)에서는, 클라이언트 단말기(1)로부터 등록 의뢰를 수취한 은닉 데이터 등록부(314)는 난수 격자 벡터를 생성한다(스텝 S15). 여기에서는, 은닉 데이터 등록부(314)는 근사 판정 행렬 V의 각 행 벡터와 적당한 각 정수의 곱의 합으로 나타내는 1차 결합을 산출한다. 산출된 1차 결합이 난수 격자 벡터 b1이며, 격자의 요소이다. 그리고 은닉 데이터 등록부(314)는, 산출된 난수 격자 벡터(격자 요소) b1을 클라이언트 단말기(1)로 송신한다(스텝 S16).
클라이언트 단말기(1)에서는, 은닉 데이터 생성부(12)가 등록 정보를 생성한다(스텝 S17). 여기에서는, 은닉 데이터 생성부(12)는 생체 데이터 T와 키 K의 결합 데이터의 최종 성분에 「0」을 추가한 벡터(T, K, 0)을 생성한다.
그리고 은닉 데이터 생성부(12)는 등록 정보를 은닉한다(스텝 S18). 여기에서는, 은닉 데이터 생성부(12)는 난수 격자 벡터(격자 요소) b1과 난수의 곱에, 생성된 벡터(T, K, 0)을 가산한 은닉 벡터 H를 생성한다. 난수가 r1인 것으로 하면, 은닉 벡터 H는 (T, K, 0)+r1×b1로 나타내어진다.
그리고 등록 의뢰부(11)는, 은닉 데이터 생성부(12)에 의해 은닉된 등록 정보인 은닉 벡터 H의 등록을 의뢰하기 위해, 당해 은닉 벡터 H를 은닉 데이터 대조 장치(3)로 송신한다(스텝 S19). 이 결과, 은닉 벡터 H는 은닉 데이터 대조 장치(3)의 데이터 베이스(330)에 등록된다.
[은닉 데이터의 갱신 처리의 시퀀스]
이어서, 은닉 데이터의 갱신 처리의 시퀀스를, 도 4를 참조하여 설명한다. 도 4는, 제1 실시예에 관한 은닉 데이터의 갱신 처리의 시퀀스를 도시하는 도면이다. 또한, 도 4에서는, 클라이언트의 대조 데이터(211)를 Q, 클라이언트 고유의 키(112)를 K, 근사 판정 행렬(331)을 V, 은닉 벡터를 H', H로 나타내는 것으로 한다.
클라이언트 단말기(2)에서는, 대조 의뢰부(21)가 대조 정보를 취득한다(스텝 S21). 여기에서는, 대조 의뢰부(21)는 대조 정보로서, 대조 데이터 Q를 취득한다. 그리고 대조 의뢰부(21)는, 대조 데이터 Q의 대조를, 은닉 데이터 대조 장치(3)에 의뢰한다(스텝 S22).
은닉 데이터 대조 장치(3)에서는, 클라이언트 단말기(2)로부터 대조 의뢰를 수취한 대조 의뢰 접수부(321)는, 데이터 베이스(330)로부터 근사 판정 행렬 V를 취득한다(스텝 S23). 그리고 대조 의뢰 접수부(321)는 난수 격자 벡터를 생성한다(스텝 S24). 여기에서는, 대조 의뢰 접수부(321)는 판독한 근사 판정 행렬 V의 각 행 벡터와 적당한 각 정수의 곱의 합으로 나타내어지는 1차 결합을 산출한다. 산출된 1차 결합이 난수 격자 벡터 b2이며, 격자의 요소이다. 그리고 대조 의뢰 접수부(321)는, 산출한 난수 격자 벡터(격자 요소) b2를 클라이언트 단말기(2)로 송신한다(스텝 S25). 또한, b2와 b1은 상이한 것이다.
클라이언트 단말기(2)에서는, 은닉 데이터 생성부(22)가, 은닉 대조 정보를 생성한다(스텝 S26). 여기에서는, 은닉 데이터 생성부(22)는 대조 데이터 Q에 「0」을 추가한 벡터(Q, 0, 0)을 생성한다. 그리고 은닉 데이터 생성부(22)는 난수 격자 벡터(격자 요소) b2와 난수의 곱에, 생성된 벡터(Q, 0, 0)을 가산한 은닉 벡터 H'를 생성한다. 난수가 r2인 것으로 하면, 은닉 벡터 H'는 (Q, 0, 0)+r2×b2로 나타내어진다. 그리고 대조 의뢰부(21)는, 은닉 벡터 H'의 대조를 의뢰하기 위해, 당해 은닉 벡터 H'를 은닉 데이터 대조 장치(3)로 송신한다(스텝 S27).
은닉 데이터 대조 장치(3)에서는, 연산부(322)가 데이터 베이스(330)로부터 은닉 벡터 H를 취득한다(스텝 S28). 그리고 근사 판정부(323)는 대조가 의뢰된 은닉 벡터 H'와, 취득한 은닉 벡터 H의 차분 벡터로부터 산출되는 잉여 벡터를 사용하여, 은닉한 채 대조 처리를 행한다(스텝 S29). 여기에서는, 근사 판정부(323)는 잉여 벡터의 최종 성분이 「0」인지 여부를 판정한다. 그리고 근사 판정부(323)는 잉여 벡터의 최종 성분이 「0」일 경우, 등록원의 생체 데이터 T와 대조 데이터 Q가 근사하고 있다고 판정한다. 한편, 근사 판정부(323)는 잉여 벡터의 최종 성분이 「0」이 아닐 경우, 등록원의 생체 데이터 T와 대조 데이터 Q가 근사하고 있지 않다고 판정한다.
그리고 키 추출부(324)는 근사하고 있다고 판정된 경우, 잉여 벡터로부터 유저 고유의 키 K를 추출한다(스텝 S30). 그리고 키 추출부(324)는 추출한 키 K를, 대조를 의뢰한 클라이언트 단말기(2)로 송신한다(스텝 S31).
그리고 갱신 은닉 데이터 생성부(325)는, 키 추출부(324)에 의해 추출된 키 K로부터 갱신 은닉 등록 정보용의 키 벡터를 생성한다(스텝 S32). 여기에서는, 갱신 은닉 데이터 생성부(325)는, 키 K에 n개의 0 및 1개의 0을 더해서 확장한 키 벡터(0, K, 0)를 생성한다.
그리고 갱신 은닉 데이터 생성부(325)는 갱신 은닉 등록 정보를 생성한다(스텝 S33). 여기에서는, 갱신 은닉 데이터 생성부(325)는 키 벡터(0, K, 0)와 대조 의뢰가 있었던 은닉 벡터 H'를 더해서 갱신 은닉 등록 정보로서 갱신 은닉 벡터 H1을 생성한다.
그리고 은닉 데이터 갱신부(326)는 갱신 은닉 데이터 생성부(325)에 의해 생성된 갱신 은닉 등록 정보를 데이터 베이스(330)로 송신한다(스텝 S34). 여기에서는, 은닉 데이터 갱신부(326)는 데이터 베이스(330)에 유지되어 있던 은닉 등록 정보(은닉 벡터) H를 파기하고, 그 대신에 갱신 은닉 등록 정보(은닉 벡터) H1을 등록한다.
[제1 실시예의 효과]
상기 제1 실시예에 의하면, 은닉 데이터 대조 장치(3)는 근사 판정 행렬(331)의 행 벡터를 이용한 제1의 1차 결합과, 제1 난수에 의거하여, 생체 데이터와 키를 은닉해서 얻어진 제1 은닉 벡터를 데이터 베이스(330)에 등록한다. 그리고 은닉 데이터 대조 장치(3)는 근사 판정 행렬(331)의 행 벡터를 이용한 제2의 1차 결합과, 제2 난수에 의거하여, 대조 데이터를 은닉해서 얻어진 제2 은닉 벡터를 취득한다. 그리고 은닉 데이터 대조 장치(3)는 제1 은닉 벡터와 제2 은닉 벡터의 차분으로부터, 근사 판정 행렬(331)을 법으로 했을 때의 잉여인 잉여 벡터를 산출한다. 그리고 은닉 데이터 대조 장치(3)는 산출된 잉여 벡터에 의거하여, 생체 데이터와 대조 데이터가 근사하고 있는지 여부를 판정하고, 근사하고 있을 경우에, 잉여 벡터로부터 키를 추출한다. 그리고 은닉 데이터 대조 장치(3)는 추출된 키와 대조 데이터를 은닉해서 얻어진 제2 은닉 벡터를 더해서 제3 은닉 벡터를 생성한다. 그리고 은닉 데이터 대조 장치(3)는 생성된 제3 은닉 벡터를 데이터 베이스(330)에 등록한다. 이로 인해, 은닉 데이터 대조 장치(3)는, 키 바인딩 방법에 있어서, 생체 데이터를 안전하면서도 또한 간편하게 갱신할 수 있다. 즉, 은닉 데이터 대조 장치(3)는, 대조 시에 사용되는 생체 데이터를 은닉한 제2 은닉 벡터를 취득하므로, 당해 생체 데이터를 안전하게 취득할 수 있다. 그리고 은닉 데이터 대조 장치(3)는, 취득한 제2 은닉 벡터와 이미 등록된 키를 사용해서 대조 시에 사용되는 생체 데이터를 새롭게 은닉하는 은닉 벡터를 생성하고, 등록한다. 이 결과, 은닉 데이터 대조 장치(3)는 유저의 생체 데이터를 안전하면서도 또한 간편하게 갱신할 수 있다.
또한, 상기 제1 실시예에 의하면, 은닉 데이터 대조 장치(3)는 제1 은닉 벡터를 삭제하고, 제3 은닉 벡터를 추가한다. 이로 인해, 은닉 데이터 대조 장치(3)는, 유저의 최신 생체 정보를 간편하게 갱신할 수 있다.
<제2 실시예>
그런데, 제1 실시예에 관한 은닉 데이터 대조 장치(3)에서는, 1 유저에 대하여 1개 기억되는 은닉 데이터(332)를, 대조 시에 대조 데이터를 은닉한 은닉 데이터로 갱신하는 경우를 설명하였다. 그러나, 은닉 데이터 대조 장치(3)는, 이에 한정되지 않고, 1 유저에 대한 은닉 데이터(332)를 복수 기억해도 좋고, 대조 시에 대조 데이터를 은닉한 은닉 데이터를 더 추가해도 좋다.
따라서, 제2 실시예에서는, 은닉 데이터 대조 장치(3)는 1 유저에 대한 은닉 데이터(332)를 복수 기억하도록 하고, 대조 시에 대조 데이터를 은닉한 은닉 데이터를 더 추가하는 경우에 대해서 설명한다.
[은닉 데이터 대조 시스템의 구성]
도 5는, 제2 실시예에 관한 은닉 데이터 대조 시스템의 기능 구성의 일례를 설명하는 도면이다. 또한, 도 1에 도시하는 은닉 데이터 대조 시스템(9)과 동일한 구성에 대해서는 동일 부호를 나타내는 것으로 하여, 그 중복되는 구성 및 동작의 설명에 대해서는 생략한다. 제1 실시예와 제2 실시예가 다른 부분은, 연산부(322A), 근사 판정부(323A), 키 추출부(324A) 및 은닉 데이터 갱신부(326A)를 변경한 점에 있다. 제1 실시예와 제2 실시예가 다른 부분은, 1 유저에 대하여 은닉 데이터(322)를 복수 기억하는 점에 있다. 여기에서는, 일례로서, 은닉 데이터(332)는 1 유저에 대하여 h개(h는, 자연수) 기억하고 있는 것으로 한다.
연산부(322A)는, 데이터 베이스(330)에 등록된 복수의 은닉 데이터(3321 내지 h)(은닉 벡터)와, 클라이언트 단말기(2)로부터 수신한 대조 데이터(211)를 은닉화한 은닉 데이터의 차분을 나타내는 h개의 차분 벡터를 산출한다. 그리고 연산부(322A)는, 산출한 h개의 차분 벡터로부터, 근사 판정 행렬(331)을 법으로 했을 때의 잉여인 h개의 잉여 벡터를 산출한다. 일례로서, 은닉 데이터(3321)에 대하여, 차분 벡터를 z1, 근사 판정 행렬(331)을 V로 한 경우, 잉여 벡터는 「z1 mod V」로 나타내어진다. 그리고 연산부(322A)는 산출한 h개의 잉여 벡터를 근사 판정부(323A)에 출력한다.
근사 판정부(323A)는, 연산부(322A)로부터 수취한 h개의 잉여 벡터의 최종 성분이 각각 「0」인지 여부를 판정한다. 근사 판정부(323A)는, 어느 하나의 잉여 벡터의 최종 성분이 「0」인 경우에는, 대조 데이터(211)가 은닉 데이터(3321 내지 h)와 근사하고 있다고 판정한다. 한편, 근사 판정부(323A)는 어떠한 잉여 벡터의 최종 성분도 「0」이 아닌 경우에는, 대조 데이터(211)가 은닉 데이터(3321 내지 h)와 근사하고 있지 않다고 판정한다.
키 추출부(324A)는, 근사하고 있다고 판정된 경우에, 잉여 벡터의 최종 성분이 「0」이라고 판정된 잉여 벡터의 n+1 성분을 유저 고유의 키(112)로서 추출한다. 그리고 키 추출부(324A)는, 추출한 키(112)를 대조원이 되는 클라이언트 단말기(2)로 송신한다. 또한, 키 추출부(324A)는 근사하고 있지 않다고 판정된 경우에는, 근사하고 있지 않다는 취지(인증 실패인 취지)를 클라이언트 단말기(2)로 송신한다.
갱신 은닉 데이터 생성부(325)는, 근사하고 있다고 판정된 경우에, 키 추출부(324A)에 의해 추출된 키(112)와 대조 의뢰가 있었던 은닉 데이터를 더해서 갱신 은닉 데이터를 생성한다.
은닉 데이터 갱신부(326A)는, 대조 데이터(211)에 대해서 갱신 은닉 데이터 생성부(325)에 의해 생성된 갱신 은닉 데이터를 데이터 베이스(330)에 추가한다. 즉, 은닉 데이터 갱신부(326A)는 갱신 은닉 데이터를, 새로운 은닉 데이터(332h+1)로서 데이터 베이스(330)에 추가한다.
[은닉 데이터의 갱신 처리의 시퀀스]
이어서, 은닉 데이터의 갱신 처리의 시퀀스를, 도 6을 참조하여 설명한다. 도 6은, 제2 실시예에 관한 은닉 데이터의 갱신 처리의 시퀀스를 도시하는 도면이다. 또한, 도 6에서는, 클라이언트의 대조 데이터(211)를 Q, 클라이언트 고유의 키(112)를 K, 근사 판정 행렬(331)을 V, 은닉 벡터를 H', H1 내지 h, h+1로 나타내는 것으로 한다.
클라이언트 단말기(2)에 있어서, 대조 정보로서 대조 데이터 Q를 취득하고 나서, 은닉 대조 정보로서 대조 데이터 Q를 은닉한 은닉 벡터 H'를 생성하여 은닉 데이터 대조 장치(3)로 송신할 때까지의 처리(스텝 S21 내지 S27)는, 도 4의 처리와 같다. 따라서, 그 설명은 생략한다.
클라이언트 단말기(2)로부터 은닉 벡터 H'를 수신한 은닉 데이터 대조 장치(3)에서는, 연산부(322A)가, 데이터 베이스(330)로부터 은닉 벡터 H1, H2, … Hh를 취득한다(스텝 S41). 여기에서는, 은닉 데이터 대조 장치(3)는 클라이언트 단말기(2)로부터 유저의 식별자인 유저 ID(identification data) 및 은닉 벡터 H'를 수신한다. 그리고 연산부(322A)는 데이터 베이스(330)로부터 유저 ID에 대응하는 은닉 벡터 H1, H2, … Hh를 취득한다.
그리고 근사 판정부(323A)는 대조가 의뢰된 은닉 벡터 H'와, 취득한 은닉 벡터 H1 내지 h의 차분으로부터 산출되는 h개의 잉여 벡터를 사용하여, 은닉한 채 복수의 대조 처리를 행한다(스텝 S42). 여기에서는, 근사 판정부(323A)는 h개의 잉여 벡터의 잉여 벡터의 최종 성분이 각각 「0」인지 여부를 판정한다. 근사 판정부(323A)는, 어느 하나의 잉여 벡터의 최종 성분이 「0」인 경우에는, 대조 데이터 Q가 은닉 벡터 H1 내지 h와 근사하고 있다고 판정한다. 한편, 근사 판정부(323A)는 어떠한 잉여 벡터의 최종 성분도 「0」이 아닌 경우에는, 대조 데이터 Q가 은닉 벡터 H1 내지 h와 근사하고 있지 않다고 판정한다.
그리고 키 추출부(324A)는 근사하고 있다고 판정된 경우, 잉여 벡터의 최종 성분이 「0」이라고 판정된 잉여 벡터로부터 유저 고유의 키 K를 추출한다(스텝 S43). 그리고 키 추출부(324A)는, 추출한 키 K를, 대조를 의뢰한 클라이언트 단말기(2)로 송신한다(스텝 S44).
그리고 갱신 은닉 데이터 생성부(325)는 키 추출부(324A)에 의해 추출된 키 K로부터 갱신 은닉 등록 정보용의 키 벡터를 생성한다(스텝 S45). 여기에서는, 갱신 은닉 데이터 생성부(325)는, 키 K에 n개의 0 및 1개의 0을 더해서 확장한 키 벡터(0, K, 0)를 생성한다.
그리고 갱신 은닉 데이터 생성부(325)는 갱신 은닉 등록 정보를 생성한다(스텝 S46). 여기에서는, 갱신 은닉 데이터 생성부(325)는 키 벡터 (0, K, 0)와 대조 의뢰가 있었던 은닉 벡터 H'를 더해서 갱신 은닉 등록 정보로서 갱신 은닉 벡터 Hh+1을 생성한다.
그리고 은닉 데이터 갱신부(326A)는 갱신 은닉 데이터 생성부(325)에 의해 생성된 갱신 은닉 등록 정보를 데이터 베이스(330)로 송신한다(스텝 S47). 여기에서는, 은닉 데이터 갱신부(326A)는 은닉 등록 정보(은닉 벡터) H1, H2, … Hh 외에, 갱신 은닉 등록 정보(은닉 벡터) Hh+1을 데이터 베이스(330)에 추가한다.
[제2 실시예의 효과]
상기 제2 실시예에 의하면, 은닉 데이터 대조 장치(3)는 근사 판정 행렬(331)의 행 벡터를 이용한 제1의 1차 결합과, 제1 난수에 의거하여, 생체 데이터와 키를 은닉해서 얻어진 제1 은닉 벡터를 데이터 베이스(330)에 등록한다. 그리고 은닉 데이터 대조 장치(3)는, 근사 판정 행렬(331)의 행 벡터를 이용한 제2의 1차 결합과, 제2 난수에 의거하여, 대조 데이터를 은닉해서 얻어진 제2 은닉 벡터를 취득한다. 그리고 은닉 데이터 대조 장치(3)는, 제1 은닉 벡터와 제2 은닉 벡터의 차분으로부터, 근사 판정 행렬(331)을 법으로 했을 때의 잉여인 잉여 벡터를 산출한다. 그리고 은닉 데이터 대조 장치(3)는 산출된 잉여 벡터에 의거하여, 생체 데이터와 대조 데이터가 근사하고 있는지 여부를 판정하고, 근사하고 있을 경우에, 잉여 벡터로부터 키를 추출한다. 그리고 은닉 데이터 대조 장치(3)는 추출된 키와 대조 데이터를 은닉해서 얻어진 제2 은닉 벡터를 더해서 제3 은닉 벡터를 생성한다. 그리고 은닉 데이터 대조 장치(3)는 생성된 제3 은닉 벡터를 다시 데이터 베이스(330)에 추가한다. 이로 인해, 은닉 데이터 대조 장치(3)는, 키 바인딩 방법에 있어서, 생체 데이터를 안전하면서도 또한 간편하게 추가할 수 있다. 이 결과, 은닉 데이터 대조 장치(3)는 생체 데이터를 은닉한 은닉 벡터를 더 추가하므로, 복수의 은닉 벡터를 사용해서 근사 판정할 수 있게 되어, 근사 판정의 정밀도를 올릴 수 있다.
<제3 실시예>
그런데, 제1 실시예에 관한 은닉 데이터 대조 장치(3)에서는, 1 유저에 대하여 1개 기억되는 은닉 데이터(332)를, 대조 시에 대조 데이터를 은닉한 은닉 데이터로 갱신하는 경우를 설명하였다. 그러나, 은닉 데이터 대조 장치(3)는, 이에 한정되지 않고, 1 유저에 대한 복수의 생체 데이터(대조 데이터를 포함함)를 합성해서 얻어진 은닉 데이터를 기억해도 좋고, 대조 시에 대조 데이터를 은닉한 은닉 데이터를 합성하고, 합성한 은닉 데이터를 갱신해도 좋다.
따라서, 제3 실시예에서는, 은닉 데이터 대조 장치(3)는 1 유저에 대한 복수의 은닉 데이터를 합성해서 얻어진 은닉 데이터를 기억하도록 하고, 대조 시에 대조 데이터를 은닉한 은닉 데이터를 합성하고, 합성한 은닉 데이터를 갱신하는 경우에 대해서 설명한다.
[은닉 데이터 대조 시스템의 구성]
도 7은, 제3 실시예에 관한 은닉 데이터 대조 시스템의 기능 구성의 일례를 설명하는 도면이다. 또한, 도 1에 도시하는 은닉 데이터 대조 시스템(9)과 동일한 구성에 대해서는 동일 부호를 나타내는 것으로 하여, 그 중복되는 구성 및 동작의 설명에 대해서는 생략한다. 제1 실시예와 제3 실시예가 다른 부분은, 연산부(322B), 근사 판정부(323B), 갱신 은닉 데이터 합성부(325B) 및 은닉 데이터 갱신부(326B)를 변경한 점에 있다. 제1 실시예와 제3 실시예가 다른 부분은, 기억부(33)에 은닉 데이터 합성수(333)를 추가한 점에 있다. 제3 실시예에 관한 은닉 데이터(332)는, 1 유저에 대한 복수의 생체 데이터를 합성해서 얻어진 은닉 데이터이다. 은닉 데이터 합성수(333)는, 생체 데이터의 합성수를 나타낸다.
연산부(322B)는, 데이터 베이스(330)로부터 은닉 데이터(332)(은닉 벡터) 및 은닉 데이터 합성수(333)를 판독한다. 연산부(322B)는, 판독한 은닉 데이터(332)(은닉 벡터)와, 클라이언트 단말기(2)로부터 수신한 대조 데이터(211)를 은닉화한 은닉 데이터의 차분을 나타내는 차분 벡터를 산출한다. 일례로서, 연산부(322B)는, 이하의 식 (7)에 의해, 은닉 데이터(332)(은닉 벡터)와, 클라이언트 단말기(2)로부터 수신한 대조 데이터(211)를 은닉화한 은닉 데이터의 차분을 나타내는 차분 벡터 zc를 산출한다. 또한, Hc가 은닉 데이터(332)를 나타내는 은닉 벡터이며, h가 은닉 데이터 합성수(333)인 것으로 한다. H'가 대조 데이터(211)를 은닉화한 은닉 데이터를 나타내는 은닉 벡터인 것으로 한다. zc=Hc-h×H'… 식 (7) 여기서, H'에 h를 곱하는 것은, Hc가 h개의 생체 데이터를 합성한 은닉 데이터를 나타내는 은닉 벡터이기 때문이다.
그리고 연산부(322B)는 산출한 차분 벡터로부터, 근사 판정 행렬(331)을 법으로 했을 때의 잉여인 잉여 벡터를 산출한다. 일례로서, 차분 벡터를 zc, 근사 판정 행렬(331)을 V로 한 경우, 잉여 벡터는 「zc mod V」로 나타내어진다. 「zc mod V」는, 「zc-「zc×V-1」×V」와 동등한 것이다. 또한, V-1은, 행렬 V의 역행렬을 나타낸다. 그리고 연산부(322B)는, 산출한 잉여 벡터를 근사 판정부(323B)에 출력한다.
근사 판정부(323B)는, 연산부(322B)로부터 수취한 잉여 벡터의 최종 성분이 「0」인지 여부를 판정하고, 잉여 벡터의 최종 성분이 「0」인 경우에는, 등록원의 합성된 생체 데이터와 대조 데이터(211)가 근사하고 있다고 판정한다. 한편, 근사 판정부(323B)는 잉여 벡터의 최종 성분이 「0」이 아닌 경우에는, 등록원의 합성된 생체 데이터와 대조 데이터(211)가 근사하고 있지 않다고 판정한다.
키 추출부(324)는, 근사하고 있다고 판정된 경우에, 잉여 벡터의 n+1 성분을 유저 고유의 키(112)로서 추출한다. 그리고 키 추출부(324)는, 추출한 키(112)를 대조원이 되는 클라이언트 단말기(2)로 송신한다. 또한, 키 추출부(324)는, 근사하고 있지 않다고 판정된 경우에는, 근사하고 있지 않다는 취지(인증 실패인 취지)를 클라이언트 단말기(2)로 송신한다.
갱신 은닉 데이터 합성부(325B)는, 근사하고 있다고 판정된 경우에, 은닉 데이터(332)와 대조 의뢰가 있었던 은닉 데이터를 합성해서 갱신용의 은닉 데이터를 생성한다. 일례로서, 갱신 은닉 데이터 합성부(325B)는, 이하의 식 (8)에 의해, 은닉 데이터(332)와, 클라이언트 단말기(2)로부터 수신한 대조 데이터(211)를 은닉화한 은닉 데이터를 더해서 갱신 은닉 데이터를 생성한다. 또한, H'c가, 갱신 은닉 데이터를 나타내는 은닉 벡터이다. H'가 대조 데이터(211)를 은닉화한 은닉 데이터를 나타내는 은닉 벡터이다. Hc가 은닉 데이터(332)를 나타내는 은닉 벡터이다. H'c=H'+Hc … 식 (8)
은닉 데이터 갱신부(326B)는, 갱신 은닉 데이터 합성부(325B)에 의해 생성된 갱신 은닉 데이터를 데이터 베이스(330)에 저장한다. 즉, 은닉 데이터 갱신부(326B)는, 갱신 은닉 데이터를, 은닉 데이터(332) 대신에 데이터 베이스(330)에 등록한다. 또한, 은닉 데이터 갱신부(326B)는, 은닉 데이터 합성수(333)의 수를 1 가산한다.
여기서, 대조 판정부(32)가 실행하는 은닉 데이터의 합성에 대해서 설명한다. 은닉 데이터 대조 장치(3)는, n차원의 대조 데이터 Q를 은닉화한 은닉 벡터 H'[=(Q, 0, 0)+r2×b2][식 (2) 참조] 및 은닉 데이터(332)를 갖고 있다. 은닉 데이터(332)를 나타내는 은닉 벡터 Hc는, 식 (9)에서 나타내는 내용인 것으로 한다. 즉, Hc는 h개의 생체 데이터를 은닉한 각 은닉 데이터를 합성한 은닉 벡터이다. 또한, T1 내지 Th는, 각각 생체 데이터를 나타내는 벡터이다. K는 클라이언트 고유의 키이다. b'는, 격자의 어떤 요소이다.
Hc=(T1+T2+… Th, K, 0)+b'… 식 (9)
연산부(322B)에 의해 산출되는 차분 벡터 zc는, Hc의 내용과 H'의 내용을 식 (7)에 대입함으로써, 식 (10)에 의해 나타낼 수 있다. zc=(T1+T2+… Th-h×Q, K, 0)+b'-h×r2×b2 … 식 (10)
연산부(322B)는, h개의 생체 데이터를 나타내는 벡터를 더한 것과 h배의 대조 데이터를 나타내는 벡터의 차분을 차분 벡터로 하므로, 합성하고 있지 않은 경우[식 (3) 참조]와 마찬가지로, 근사 판정부(323B)에 근사 판정시킬 수 있다. 또한, b'-h×r2×b2는, 격자 상의 어느 하나의 교점에 대응하므로, 차분 벡터 zc로부터 근사 판정 행렬 V의 잉여 벡터를 계산한 경우에는, b'-h×r2×b2는 0 무시된다.
또한, 갱신 은닉 벡터 H'c는, H'의 내용과 Hc의 내용을 식 (8)에 대입함으로써, 식 (11)에 의해 나타낼 수 있다.
H'c=(T1+T2+… Th+Q, K, 0)+r2×b2+b'… 식 (11)
따라서, 갱신 은닉 벡터 H'c는, 등록되어 있던 h개의 생체 데이터에 대조 데이터 Q를 더한 h+1개의 생체 데이터를 합성한 은닉 벡터가 된다. 이 갱신 은닉 벡터 H'c를, 은닉 데이터 갱신부(326B)가 새로운 은닉 데이터(332)로서 등록함으로써, 은닉 데이터(332)를 갱신할 수 있다.
[은닉 데이터의 갱신 처리의 시퀀스]
이어서, 은닉 데이터의 갱신 처리의 시퀀스를, 도 8을 참조하여 설명한다. 도 8은, 제3 실시예에 관한 은닉 데이터의 갱신 처리의 시퀀스를 도시하는 도면이다. 또한, 도 8에서는, 클라이언트의 대조 데이터(211)를 Q, 클라이언트 고유의 키(112)를 K, 근사 판정 행렬(331)을 V, 은닉 벡터를 H', Hc로 나타내는 것으로 한다. 데이터 베이스(330)에 등록된 은닉 데이터 합성수(333)는, h인 것으로 한다.
클라이언트 단말기(2)에 있어서, 대조 정보로서 대조 데이터 Q를 취득하고 나서, 은닉 대조 정보로서 대조 데이터 Q를 은닉한 은닉 벡터 H'를 생성하여 은닉 데이터 대조 장치(3)로 송신할 때까지의 처리(스텝 S21 내지 S27)는, 도 4의 처리와 같다. 따라서, 그 설명은 생략한다.
클라이언트 단말기(2)로부터 은닉 벡터 H'를 수신한 은닉 데이터 대조 장치(3)에서는, 연산부(322B)가, 데이터 베이스(330)로부터 은닉 벡터 Hc 및 은닉 데이터 합성수(333)를 나타내는 「h」를 취득한다(스텝 S51). 여기에서는, 은닉 데이터 대조 장치(3)는 클라이언트 단말기(2)로부터 유저의 식별자인 유저 ID(identification data) 및 은닉 벡터 H'를 수신한다. 그리고 연산부(322B)는, 데이터 베이스(330)로부터 유저 ID에 대응하는 은닉 벡터 Hc 및 은닉 데이터 합성수(333)를 나타내는 「h」를 취득한다.
그리고 근사 판정부(323B)는, 대조가 의뢰된 은닉 벡터 H'와, 취득한 은닉 벡터 Hc의 차분 벡터로부터 산출되는 잉여 벡터를 사용하여, 은닉한 채 대조 처리를 행한다(스텝 S52). 여기에서는, 근사 판정부(323B)는 잉여 벡터의 최종 성분이 「0」인지 여부를 판정한다. 그리고 근사 판정부(323B)는, 잉여 벡터의 최종 성분이 「0」일 경우, 등록원의 합성된 생체 데이터와 대조 데이터 Q가 근사하고 있다고 판정한다. 한편, 근사 판정부(323)는 잉여 벡터의 최종 성분이 「0」이 아닐 경우, 등록원의 합성된 생체 데이터와 대조 데이터 Q가 근사하고 있지 않다고 판정한다.
그리고 키 추출부(324)는, 근사하고 있다고 판정된 경우, 잉여 벡터로부터 유저 고유의 키 K를 추출한다(스텝 S53). 그리고 키 추출부(324)는, 추출한 키 K를, 대조를 의뢰한 클라이언트 단말기(2)로 송신한다(스텝 S54).
그리고 갱신 은닉 데이터 합성부(325B)는 갱신 은닉 등록 정보를 합성한다(스텝 S56). 여기에서는, 갱신 은닉 데이터 합성부(325B)는, 식 (8)에 의해, 데이터 베이스(330)로부터 판독된 은닉 벡터 Hc와, 대조 의뢰가 있었던 은닉 벡터 H'를 더해서 갱신 은닉 등록 정보로서 갱신 은닉 벡터 Hc'를 생성한다.
그리고 은닉 데이터 갱신부(326B)는 갱신 은닉 데이터 생성부(325B)에 의해 생성된 갱신 은닉 등록 정보를 데이터 베이스(330)로 송신한다(스텝 S57). 여기에서는, 은닉 데이터 갱신부(326B)는 데이터 베이스(330)에 유지되어 있던 은닉 등록 정보(은닉 벡터) Hc를 파기하고, 그 대신에 갱신 은닉 등록 정보(은닉 벡터) H'c를 등록한다. 이때, 은닉 데이터 갱신부(326B)는 은닉 데이터 합성수(333)를 h+1로 갱신한다.
[제3 실시예의 효과]
상기 제3 실시예에 의하면, 은닉 데이터 대조 장치(3)는 등록원의 합성된 생체 데이터와 대조 데이터(211)가 근사하고 있다고 판정된 경우에, 이하의 처리를 행한다. 즉, 은닉 데이터 대조 장치(3)는, 등록원의 합성된 생체 데이터를 은닉한 은닉 데이터(332)와 대조 의뢰가 있었던 대조 데이터(211)를 은닉한 은닉 데이터를 합성해서 갱신 은닉 데이터를 생성한다. 은닉 데이터 대조 장치(3)는, 생성된 갱신 은닉 데이터를 데이터 베이스(330)에 추가하고, 은닉 데이터(332)를 삭제한다. 이러한 구성에 의하면, 은닉 데이터 대조 장치(3)는, 이미 등록되어 있는 은닉 데이터(332) 대신에, 은닉 데이터(332)와 대조 데이터(211)를 은닉한 은닉 데이터를 합성해서 얻어지는 갱신 은닉 데이터를 등록하므로, 생체 데이터를 안전하면서도 또한 간편하게 갱신할 수 있다. 이 결과, 은닉 데이터 대조 장치(3)는, 과거에 갱신 성공한 복수의 대조 데이터를 합성한 것을 은닉 데이터로서 갖게 되어, 제2 실시예에 있어서의 근사 판정의 정밀도 향상과 유사한 효과를, 하나의 은닉 데이터와의 대조만에 의해 얻을 수 있다.
[기타]
또한, 실시예에서는, 은닉 데이터 대조 장치(3)에서는 키 추출부(324)가 등록원의 생체 데이터(111)와 대조 데이터(211)가 근사하고 있다고 판정된 경우에, 잉여 벡터로부터 유저 고유의 키(112)를 추출하고, 클라이언트 단말기(2)로 송신한다. 그리고 갱신 은닉 데이터 생성부(325)는 추출된 키(112)와 대조 의뢰가 있었던 은닉 데이터를 더한 갱신 은닉 데이터를 생성한다고 설명하였다. 그러나, 갱신 은닉 데이터 생성부(325)는, 소정의 타이밍에서, 갱신 은닉 데이터를 생성하는 처리로 이행해도 좋다. 소정의 타이밍은, 예를 들어 일정 기간 경과한 타이밍 또는 유사도가 저하되었다고 검지된 타이밍이다. 일례로서, 갱신 은닉 데이터 생성부(325)는, 근사하고 있다고 판정된 경우에, 소정의 타이밍을 검지했는지 여부를 판정한다. 갱신 은닉 데이터 생성부(325)는, 소정의 타이밍을 검지했다고 판정한 경우에, 키 추출부(324)에 의해 추출된 키(112)와 대조 의뢰가 있었던 은닉 데이터를 더한 갱신용의 은닉 데이터를 생성하면 좋다. 이러한 갱신용의 은닉 데이터가, 키 바인딩 방법에 있어서, 보호되는 템플릿에 상당한다. 이에 의해, 은닉 데이터 대조 장치(3)는, 연월의 경과에 따라, 대조 시에 채취되는 생체 정보와 등록된 템플릿의 유사도가 저하되어 버리는 것을 방지할 수 있다.
도 9는, 템플릿 갱신의 효과를 도시하는 도면이다. 도 9에서는, 생체 인증에 사용되는 특정한 생체 정보(예를 들어, 손가락의 지문)를 채취하는 기기 상의 위치가 숫자 1, 2, 3으로 나타내어지고 있다. 시간의 경과와 함께, 채취된 특정한 생체 정보와 최초로 등록된 템플릿의 유사도가 저하되는 것이 나타내어지고 있다. 이것은, 예를 들어 생체 정보 그 자체의 장기적인 변화, 또는 생체 정보를 채취하는 기기에 대한 유저의 조작 습관 등에 의해 일어난다. 그리고 유사도가 저하되었다고 검지된 경우에, 은닉 데이터 대조 장치(3)는 처음에 등록된 템플릿을 갱신 템플릿으로 갱신한다. 그러면, 채취된 특정한 생체 정보와 갱신 템플릿의 유사도가 상승하지만, 시간의 경과와 함께, 유사도가 저하된다. 따라서, 유사도가 저하되었다고 검지된 경우에, 은닉 데이터 대조 장치(3)가 갱신 템플릿을 새로운 갱신 템플릿으로 갱신함으로써, 유사도의 저하를 방지할 수 있게 된다.
또한, 실시예에서는, 은닉 데이터 대조 장치(3)는 대조 시에 생성되는 잉여 벡터의 최종 성분이 「0」인지 여부를 판정함으로써, 등록원의 생체 데이터(111)와 대조 데이터(211)가 근사하고 있는지 여부를 판정한다고 설명하였다. 그러나, 은닉 데이터 대조 장치(3)는, 이에 한정되는 것은 아니며, 잉여 벡터의 복수 성분이 「0」인지 여부를 판정함으로써, 등록원의 생체 데이터(111)와 대조 데이터(211)가 근사하고 있는지 여부를 판정하도록 해도 좋다.
예를 들어, 근사 판정 행렬 생성부(312)는 판정 대상이 되는 생체 데이터가 n개의 성분을 갖는 정보인 경우, 즉 생체 데이터(111)가 n차원의 정보인 경우에는, n×n의 대각 행렬을 생성한다. 또한, 근사 판정 행렬 생성부(312)는 n×n의 대각 행렬에, n+1행째의 각 성분이 「0」인 행 벡터를 부가한다. 그리고 근사 판정 행렬 생성부(312)는, n차원의 난수 벡터와 키(112)의 역치를 결합한 열 벡터를 n+1열째에 부가한다. 그리고 근사 판정 행렬 생성부(312)는, n+2행째의 각 성분이 「0」인 행 벡터를 생성된 (n+1)×(n+1)의 행렬에 부가한다. 그리고 근사 판정 행렬 생성부(312)는, n+2차원의 난수 벡터를 n+2열째에 부가한 (n+2)×(n+2)의 행렬을 생성한다.
또한, 근사 판정 행렬 생성부(312)는 n+3행째의 각 성분이 「0」인 행 벡터를 (n+2)×(n+2)의 행렬에 부가한다. 그리고 근사 판정 행렬 생성부(312)는, n+3차원의 난수 벡터를 n+3열째에 부가한 (n+3)×(n+3)의 근사 판정 행렬(331)을 생성하도록 해도 좋다.
그러면, 은닉 데이터 대조 장치(3)는 실시예와 마찬가지의 처리를 행함으로써, 근사 판정 행렬(331)을 법으로 한 n+3차원의 잉여 벡터를 산출한다. 그리고 은닉 데이터 대조 장치(3)는, 잉여 벡터의 n+2차원째로부터 n+3차원째까지의 성분이 모두 「0」인지 여부를 판정함으로써, 근사 판정을 할 수 있다. 이에 의해, 은닉 데이터 대조 장치(3)는 근사 판정의 정밀도를 향상시킬 수 있다. 또한, 마찬가지로, 근사 판정 행렬 생성부(312)는 (n+m)×(n+m)(m은 3보다 큰 자연수)의 근사 판정 행렬(331)을 생성하도록 하면, 근사 판정의 정밀도를 더욱 향상시킬 수 있다.
또한, 은닉 데이터 대조 장치(3)는, 제1 내지 제3 실시예의 방법을 적절히 조합해도 좋다. 예를 들어, 은닉 데이터 대조 장치(3)는, 제2 실시예에 관한 복수의 은닉 데이터(3321 내지 h)를 유지하면서, 갱신 은닉 데이터 생성부(325)에 의해 생성된 은닉 데이터를 유지된 복수의 은닉 데이터(3321 내지 h) 중 어느 하나의 은닉 데이터와 치환해도 좋다. 또한, 은닉 데이터 대조 장치(3)는, 제3 실시예에 관한 합성한 은닉 데이터(332)와 제1 실시예에 관한 합성하지 않은 은닉 데이터(332)를 양쪽 유지하고, 적절히 어느 하나 또는 양쪽을 인증에 사용해도 좋다.
또한, 실시예에서는, 은닉 데이터 대조 장치(3)는 생체 데이터(111)의 근사 판정에 사용하는 경우를 설명하였다. 그러나, 은닉 데이터 대조 장치(3)는, 이에 한정되는 것은 아니며, 기밀 문장 간의 은닉 유사 판정에 사용할 수 있다. 예를 들어, 클라이언트 단말기(1)는 기밀 문장으로부터 특징을 갖는 문자나 문장 부분을 추출하고, 추출한 부분의 특징량을 나타내는 특징량 벡터를 생성한다. 그리고 클라이언트 단말기(1)는, 실시예와 마찬가지의 처리를 행함으로써, 생성된 특징량 벡터와 키를 은닉화한 은닉 벡터를 생성하고, 은닉 데이터 대조 장치(3)의 데이터 베이스(330)에 등록한다. 그리고 은닉 데이터 대조 장치(3)는, 실시예와 마찬가지의 처리를 행함으로써, 클라이언트 단말기(2)에 의해 생성된, 대조하고자 하는 특징량 벡터를 은닉화한 은닉 벡터와 등록한 은닉 벡터를 대조하도록 하면 좋다.
또한, 은닉 데이터 대조 장치(3)는 이미 알려진 퍼스널 컴퓨터, 워크스테이션 등의 정보 처리 장치에, 상기한 등록부(31) 및 대조 판정부(32) 등의 각 기능을 탑재함으로써 실현할 수 있다.
또한, 도시한 장치의 각 구성 요소는, 반드시 물리적으로 도시한 바와 같이 구성되어 있는 것을 필요로 하지 않는다. 즉, 장치의 분산·통합의 구체적 형태는 도시한 것에 한정되지 않고, 그 전부 또는 일부를, 각종 부하나 사용 상황 등에 따라, 임의의 단위로 기능적 또는 물리적으로 분산·통합해서 구성할 수 있다. 예를 들어, 난수 생성부(311)와 근사 판정 행렬 생성부(312)를 1개의 부로서 통합해도 좋다. 한편, 근사 판정 행렬 생성부(312)를, 근사 범위를 나타내는 역치와 키의 역치를 행렬로 설정하는 제1 설정부와, 난수를 설정하는 제2 설정부를 분산해도 좋다. 또한, 데이터 베이스(330)를 은닉 데이터 대조 장치(3)의 외부 장치로서 접속하도록 해도 좋고, 네트워크 경유로 접속하도록 해도 좋다.
또한, 상기 실시예에서 설명한 각종 처리는, 미리 준비된 프로그램을 퍼스널 컴퓨터나 워크스테이션 등의 컴퓨터로 실행함으로써 실현할 수 있다. 따라서, 이하에서는, 도 1에 도시한 은닉 데이터 대조 장치(3)와 마찬가지의 기능을 실현하는 은닉 데이터 갱신 프로그램을 실행하는 컴퓨터의 일례를 설명한다. 도 10은, 은닉 데이터 갱신 프로그램을 실행하는 컴퓨터의 일례를 나타내는 도면이다.
도 10에 도시한 바와 같이, 컴퓨터(200)는 각종 연산 처리를 실행하는 CPU(203)와, 유저로부터의 데이터의 입력을 접수하는 입력 장치(215)와, 표시 장치(209)를 제어하는 표시 제어부(207)를 갖는다. 또한, 컴퓨터(200)는 기억 매체로부터 프로그램 등을 판독하는 드라이브 장치(213)와, 네트워크를 통해서 다른 컴퓨터와의 사이에서 데이터의 교환을 행하는 통신 제어부(217)를 갖는다. 또한, 컴퓨터(200)는 각종 정보를 일시 기억하는 메모리(201)와, HDD(205)를 갖는다. 그리고 메모리(201), CPU(203), HDD(205), 표시 제어부(207), 드라이브 장치(213), 입력 장치(215), 통신 제어부(217)는 버스(219)에 의해 접속되어 있다.
드라이브 장치(213)는, 예를 들어 이동 디스크(210)용의 장치이다. HDD(205)는, 은닉 데이터 갱신 프로그램(205a) 및 은닉 데이터 갱신 관련 정보(205b)를 기억한다.
CPU(203)는, 은닉 데이터 갱신 프로그램(205a)을 판독하여, 메모리(201)에 전개하고, 프로세스로서 실행한다. 이러한 프로세스는, 은닉 데이터 대조 장치(3)의 각 기능부에 대응한다. 은닉 데이터 갱신 관련 정보(205b)는, 근사 판정 행렬 (331), 은닉 데이터(332)에 대응한다. 그리고 예를 들어 이동 디스크(210)가, 은닉 데이터 갱신 프로그램(205a) 등의 각 정보를 기억한다.
또한, 은닉 데이터 갱신 프로그램(205a)에 대해서는, 반드시 처음부터 HDD(205)에 기억시켜 두지 않아도 좋다. 예를 들어, 컴퓨터(200)에 삽입되는 플렉시블 디스크(FD), CD-ROM, DVD 디스크, 광자기 디스크, IC 카드 등의 「가반용의 물리 매체」에 당해 프로그램을 기억시켜 둔다. 그리고 컴퓨터(200)가 이들로부터 은닉 데이터 갱신 프로그램(205a)을 판독해서 실행하도록 해도 좋다.
1, 2 : 클라이언트 단말기
3 : 은닉 데이터 대조 장치
9 : 은닉 데이터 대조 시스템
11 : 등록 의뢰부
12 : 은닉 데이터 생성부
21 : 대조 의뢰부
22 : 은닉 데이터 생성부
31 : 등록부
311 : 난수 생성부
312 : 근사 판정 행렬 생성부
313 : 근사 판정 행렬 등록부
314 : 은닉 데이터 등록부
32 : 대조 판정부
321 : 대조 의뢰 접수부
322 : 연산부
323 : 근사 판정부
324 : 키 추출부
325 : 갱신 은닉 데이터 생성부
326 : 은닉 데이터 갱신부
33 : 기억부
330 : 데이터 베이스
331 : 근사 판정 행렬
332 : 은닉 데이터

Claims (7)

  1. 2개의 데이터가 근사하고 있는지를 판정하기 위한 역치와 키 데이터에 관한 역치를 대각 성분으로 하는 행렬에 난수 벡터를 최종열로서 부가해서 생성된 판정 행렬의 행 벡터를 이용한 제1의 1차 결합과, 제1 난수에 의거하여, 제1 데이터와 키 데이터를 은닉해서 얻어지는 제1 은닉 벡터를 기억하는 기억부와,
    상기 판정 행렬의 행 벡터를 이용한 제2의 1차 결합과, 제2 난수에 의거하여, 제2 데이터를 은닉해서 얻어지는 제2 은닉 벡터를 취득하는 취득부와,
    상기 기억부에 기억된 제1 은닉 벡터와, 상기 취득부에 의해 취득된 제2 은닉 벡터의 차분으로부터, 상기 판정 행렬을 법(modulus)으로 했을 때의 잉여인 잉여 벡터를 산출하는 산출부와,
    상기 산출부에 의해 산출된 잉여 벡터에 의거하여, 상기 제1 데이터와 상기 제2 데이터가 근사하고 있는지 여부를 판정하는 판정부와,
    상기 판정부에 의한 판정 결과, 상기 제1 데이터와 상기 제2 데이터가 근사하고 있다고 판정된 경우에, 상기 잉여 벡터로부터 키 데이터를 추출하는 추출부와,
    상기 추출부에 의해 추출된 키 데이터와 상기 취득부에 의해 취득된 제2 은닉 벡터를 더해서 제3 은닉 벡터를 생성하는 생성부와,
    상기 생성부에 의해 생성된 제3 은닉 벡터를 상기 기억부에 저장하는 저장부를 갖는 것을 특징으로 하는, 은닉 데이터(secret data) 대조 장치.
  2. 제1항에 있어서, 상기 저장부는, 상기 생성부에 의해 생성된 제3 은닉 벡터를 추가하고, 상기 제1 은닉 벡터를 삭제하는 것을 특징으로 하는, 은닉 데이터 대조 장치.
  3. 제1항에 있어서, 상기 저장부는, 상기 생성부에 의해 생성된 제3 은닉 벡터를, 더 추가하는 것을 특징으로 하는, 은닉 데이터 대조 장치.
  4. 제1항에 있어서, 상기 생성부는, 상기 제1 데이터와 상기 제2 데이터가 근사하고 있다고 판정된 경우에, 상기 제1 데이터와 상기 키 데이터를 은닉해서 얻어진 상기 제1 은닉 벡터와 상기 취득부에 의해 취득된 제2 은닉 벡터를 더한 제3 은닉 벡터를 생성하고,
    상기 저장부는, 상기 생성부에 의해 생성된 제3 은닉 벡터를 추가하고, 상기 제1 은닉 벡터를 삭제하는 것을 특징으로 하는, 은닉 데이터 대조 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 생성부는, 소정의 타이밍에서, 상기 키 데이터와 상기 제2 은닉 벡터를 더해서 제3 은닉 벡터를 생성하는 것을 특징으로 하는, 은닉 데이터 대조 장치.
  6. 2개의 데이터가 근사하고 있는지를 판정하기 위한 역치와 키 데이터에 관한 역치를 대각 성분으로 하는 행렬에 난수 벡터를 최종열로서 부가해서 생성된 판정 행렬의 행 벡터를 이용한 제1의 1차 결합과, 제1 난수에 의거하여, 제1 데이터와 키 데이터를 은닉해서 얻어지는 제1 은닉 벡터를 기억부에 등록하고,
    상기 판정 행렬의 행 벡터를 이용한 제2의 1차 결합과, 제2 난수에 의거하여, 제2 데이터를 은닉해서 얻어지는 제2 은닉 벡터를 취득하고,
    상기 기억부에 기억된 제1 은닉 벡터와, 상기 취득하는 처리에 의해 취득된 제2 은닉 벡터의 차분으로부터, 상기 판정 행렬을 법으로 했을 때의 잉여인 잉여 벡터를 산출하고,
    상기 산출하는 처리에 의해 산출된 잉여 벡터에 의거하여, 상기 제1 데이터와 상기 제2 데이터가 근사하고 있는지 여부를 판정하고,
    상기 판정하는 처리에 의한 판정 결과, 상기 제1 데이터와 상기 제2 데이터가 근사하고 있다고 판정된 경우에, 상기 잉여 벡터로부터 키 데이터를 추출하고,
    상기 추출하는 처리에 의해 추출된 키 데이터와 상기 취득부에 의해 취득된 제2 은닉 벡터를 더해서 제3 은닉 벡터를 생성하고,
    상기 생성하는 처리에 의해 생성된 제3 은닉 벡터를 상기 기억부에 저장하는 처리를 컴퓨터에 실행시키는 상기 컴퓨터가 판독 가능한 명령군을 저장한, 기록 매체.
  7. 컴퓨터가,
    2개의 데이터가 근사하고 있는지를 판정하기 위한 역치와 키 데이터에 관한 역치를 대각 성분으로 하는 행렬에 난수 벡터를 최종열로서 부가해서 생성된 판정 행렬의 행 벡터를 이용한 제1의 1차 결합과, 제1 난수에 의거하여, 제1 데이터와 키 데이터를 은닉해서 얻어지는 제1 은닉 벡터를 기억부에 등록하고,
    상기 판정 행렬의 행 벡터를 이용한 제2의 1차 결합과, 제2 난수에 의거하여, 제2 데이터를 은닉해서 얻어지는 제2 은닉 벡터를 취득하고,
    상기 기억부에 기억된 제1 은닉 벡터와, 상기 취득하는 처리에 의해 취득된 제2 은닉 벡터의 차분으로부터, 상기 판정 행렬을 법으로 했을 때의 잉여인 잉여 벡터를 산출하고,
    상기 산출하는 처리에 의해 산출된 잉여 벡터에 의거하여, 상기 제1 데이터와 상기 제2 데이터가 근사하고 있는지 여부를 판정하고,
    상기 판정하는 처리에 의한 판정 결과, 상기 제1 데이터와 상기 제2 데이터가 근사하고 있다고 판정된 경우에, 상기 잉여 벡터로부터 키 데이터를 추출하고,
    상기 추출하는 처리에 의해 추출된 키 데이터와 상기 취득부에 의해 취득된 제2 은닉 벡터를 더해서 제3 은닉 벡터를 생성하고,
    상기 생성하는 처리에 의해 생성된 제3 은닉 벡터를 상기 기억부에 저장하는 각 처리를 실행하는 것을 특징으로 하는, 은닉 데이터 갱신 방법.
KR1020150086923A 2014-06-27 2015-06-18 은닉 데이터 대조 장치, 은닉 데이터 갱신 프로그램을 저장한 컴퓨터 판독 가능한 기록 매체 및 은닉 데이터 갱신 방법 KR101693113B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2014-133046 2014-06-27
JP2014133046A JP6281425B2 (ja) 2014-06-27 2014-06-27 秘匿データ照合装置、秘匿データ更新プログラムおよび秘匿データ更新方法

Publications (2)

Publication Number Publication Date
KR20160001648A true KR20160001648A (ko) 2016-01-06
KR101693113B1 KR101693113B1 (ko) 2017-01-04

Family

ID=53434219

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150086923A KR101693113B1 (ko) 2014-06-27 2015-06-18 은닉 데이터 대조 장치, 은닉 데이터 갱신 프로그램을 저장한 컴퓨터 판독 가능한 기록 매체 및 은닉 데이터 갱신 방법

Country Status (5)

Country Link
US (1) US9876790B2 (ko)
EP (1) EP2960820A1 (ko)
JP (1) JP6281425B2 (ko)
KR (1) KR101693113B1 (ko)
CN (1) CN105320869A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019088657A1 (ko) * 2017-10-30 2019-05-09 한국전자통신연구원 은닉 변수를 이용하는 영상 및 신경망 압축을 위한 방법 및 장치
KR20190049552A (ko) * 2017-10-30 2019-05-09 한국전자통신연구원 은닉 변수를 이용하는 영상 및 신경망 압축을 위한 방법 및 장치

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5902661B2 (ja) * 2013-09-30 2016-04-13 株式会社東芝 認証装置、認証システムおよび認証方法
US9374370B1 (en) * 2015-01-23 2016-06-21 Island Intellectual Property, Llc Invariant biohash security system and method
CN107294943A (zh) * 2016-04-13 2017-10-24 天津工业大学 一种具有安全威胁监测能力的生物特征模板保护方法
JP6609048B2 (ja) * 2016-06-23 2019-11-20 株式会社日立製作所 生体署名システム及び生体証明書登録方法
EP3586257B1 (en) * 2017-02-22 2022-10-26 Fingerprint Cards Anacatum IP AB Biometrics-based remote login
KR102476756B1 (ko) * 2017-06-20 2022-12-09 삼성전자주식회사 사용자 인증을 위한 등록 데이터베이스의 적응적 갱신 방법 및 장치
CN109992942B (zh) * 2019-01-03 2022-02-08 西安电子科技大学 基于秘密共享的隐私保护人脸认证方法及系统、智能终端
KR20200100481A (ko) * 2019-02-18 2020-08-26 삼성전자주식회사 생체 정보를 인증하기 위한 전자 장치 및 그의 동작 방법
CN110175463B (zh) * 2019-05-29 2023-07-07 华南师范大学 基于大数据搜索和函数变换的信息隐藏方法和机器人系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130318351A1 (en) * 2011-02-22 2013-11-28 Mitsubishi Electric Corporation Similarity degree calculation system, similarity degree calculation apparatus, computer program, and similarity degree calculation method
US20140136094A1 (en) * 2012-11-12 2014-05-15 Fujitsu Limited Proximity determination method, proximity determination device, and proximity determination system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2745136B1 (fr) * 1996-02-15 1998-04-10 Thoniel Pascal Procede et dispositif d'identification securisee entre deux terminaux
JP2004342073A (ja) * 2003-04-25 2004-12-02 Nec Corp 指紋認証システム及び指紋認証方法
EP1815637B1 (en) 2004-11-16 2016-04-20 Koninklijke Philips N.V. Securely computing a similarity measure
WO2008126516A1 (ja) * 2007-04-10 2008-10-23 Naoki Suehiro 送信方法、送信装置、受信方法及び受信装置
US8300742B1 (en) * 2007-11-21 2012-10-30 Bromberg Matthew C Systems and methods for channel based beamforming for stacked carrier multiple access
JP4929136B2 (ja) 2007-11-27 2012-05-09 株式会社日立製作所 生体認証方法、装置およびシステム
JP2010061528A (ja) * 2008-09-05 2010-03-18 Fujitsu Ltd 生体認証装置、生体認証プログラム及び生体認証方法
JP5271669B2 (ja) 2008-10-31 2013-08-21 株式会社日立製作所 生体認証方法およびシステム
JP5147673B2 (ja) 2008-12-18 2013-02-20 株式会社日立製作所 生体認証システムおよびその方法
KR101226151B1 (ko) 2009-08-17 2013-01-24 한국전자통신연구원 바이오 등록 및 인증 장치와 그 방법
US8958552B2 (en) 2009-10-29 2015-02-17 Mitsubishi Electric Corporation Data processing device
WO2012056582A1 (ja) 2010-10-29 2012-05-03 株式会社日立製作所 情報認証方法および情報認証システム
US9197637B2 (en) * 2011-07-08 2015-11-24 Research Foundation Of The City University Of New York Method of comparing private data without revealing the data
US8776250B2 (en) 2011-07-08 2014-07-08 Research Foundation Of The City University Of New York Method of comparing private data without revealing the data
US10068073B2 (en) 2012-07-19 2018-09-04 Nec Corporation Verification device and control method for verifiction device, as well as computer program
JP5805040B2 (ja) * 2012-09-25 2015-11-04 ビッグローブ株式会社 人物認証用辞書更新方法、人物認証用辞書更新装置、人物認証用辞書更新プログラム及び人物認証システム
JP6142704B2 (ja) 2013-07-11 2017-06-07 富士通株式会社 秘匿データ照合装置、秘匿データ照合プログラムおよび秘匿データ照合方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130318351A1 (en) * 2011-02-22 2013-11-28 Mitsubishi Electric Corporation Similarity degree calculation system, similarity degree calculation apparatus, computer program, and similarity degree calculation method
US20140136094A1 (en) * 2012-11-12 2014-05-15 Fujitsu Limited Proximity determination method, proximity determination device, and proximity determination system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
스기무라 요시 하나, 야스다 마사야, 야마다 시게루사, 아베 노보루 이쓰키, 니이자키 스구루, 「격자 마스킹을 이용한 키 바인딩 기술의 제안」. 정보 시큐리티 연구회(ISEC), 전자 정보 통신 학회 기술 연구 보고, Vol. 113, No. 135, pp. 297-304

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019088657A1 (ko) * 2017-10-30 2019-05-09 한국전자통신연구원 은닉 변수를 이용하는 영상 및 신경망 압축을 위한 방법 및 장치
KR20190049552A (ko) * 2017-10-30 2019-05-09 한국전자통신연구원 은닉 변수를 이용하는 영상 및 신경망 압축을 위한 방법 및 장치
US11477468B2 (en) 2017-10-30 2022-10-18 Electronics And Telecommunications Research Institute Method and device for compressing image and neural network using hidden variable

Also Published As

Publication number Publication date
US9876790B2 (en) 2018-01-23
US20150381616A1 (en) 2015-12-31
CN105320869A (zh) 2016-02-10
EP2960820A1 (en) 2015-12-30
KR101693113B1 (ko) 2017-01-04
JP2016012806A (ja) 2016-01-21
JP6281425B2 (ja) 2018-02-21

Similar Documents

Publication Publication Date Title
KR101693113B1 (ko) 은닉 데이터 대조 장치, 은닉 데이터 갱신 프로그램을 저장한 컴퓨터 판독 가능한 기록 매체 및 은닉 데이터 갱신 방법
JP6524899B2 (ja) 秘匿データ照合装置、秘匿データ照合プログラムおよび秘匿データ照合方法
KR101604539B1 (ko) 은닉 데이터 대조 장치, 은닉 데이터 대조 방법 및 기록 매체
US20170237570A1 (en) Method and system for server based secure auditing for revisioning of electronic document files
JP4966765B2 (ja) 生体認証システム
KR100949801B1 (ko) 퍼지볼트 시스템에서의 다항식 복원장치 및 그 방법
JP6821516B2 (ja) 計算機システム、秘密情報の検証方法、及び計算機
JP2011154415A (ja) 生体認証システム
WO2018163806A1 (ja) 生体認証装置、生体認証方法、及び生体認証プログラム
KR101077975B1 (ko) 생체 정보 퍼지 볼트 생성방법 및 생체 정보 퍼지 볼트를 이용한 인증 방법
JP5753772B2 (ja) 生体認証システム
JP4884052B2 (ja) 生体認証システム
CA2640856C (en) Biometric authentication method, authentication system, corresponding programme and terminal
KR101949579B1 (ko) 바이오매트릭스를 이용하여 키를 생성하는 방법 및 시스템
KR101984033B1 (ko) 생체 정보를 이용한 암호화 키 생성 장치 및 방법
CN109067870A (zh) 一种区块链中构成对等网络的节点设备
JP7021375B2 (ja) 計算機システム、秘密情報の検証方法、及び計算機
JP2020052605A (ja) 認証システム及び認証方法
EP2044557A1 (en) A method and apparatus for the generation of code from pattern features
JP2002217889A (ja) 秘密情報保管方法および秘密情報復元方法並びにデータ暗号化装置およびデータ復号化装置
KR101094358B1 (ko) 지문 정보 등록 시스템 및 방법, 지문 정보를 이용한 사용자 인증 시스템 및 방법
KR20200125539A (ko) 전자 투표 시스템 및 전자 투표 방법

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