JP6281425B2 - 秘匿データ照合装置、秘匿データ更新プログラムおよび秘匿データ更新方法 - Google Patents

秘匿データ照合装置、秘匿データ更新プログラムおよび秘匿データ更新方法 Download PDF

Info

Publication number
JP6281425B2
JP6281425B2 JP2014133046A JP2014133046A JP6281425B2 JP 6281425 B2 JP6281425 B2 JP 6281425B2 JP 2014133046 A JP2014133046 A JP 2014133046A JP 2014133046 A JP2014133046 A JP 2014133046A JP 6281425 B2 JP6281425 B2 JP 6281425B2
Authority
JP
Japan
Prior art keywords
data
vector
secret
unit
secret data
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2014133046A
Other languages
English (en)
Other versions
JP2016012806A (ja
Inventor
由花 條
由花 條
雅哉 安田
雅哉 安田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014133046A priority Critical patent/JP6281425B2/ja
Priority to US14/730,389 priority patent/US9876790B2/en
Priority to EP15171160.3A priority patent/EP2960820A1/en
Priority to KR1020150086923A priority patent/KR101693113B1/ko
Priority to CN201510345486.7A priority patent/CN105320869A/zh
Publication of JP2016012806A publication Critical patent/JP2016012806A/ja
Application granted granted Critical
Publication of JP6281425B2 publication Critical patent/JP6281425B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

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)

Description

本発明は、秘匿データ照合装置などに関する。
生体認証とは、人間の身体的特徴や行動的特徴の情報を用いた個人認証技術である。人間の身体的特徴には、例えば、指紋、静脈、虹彩や顔などがある。行動的特徴には、例えば、筆跡や歩容などがある。生体認証では、テンプレートと呼ばれる生体情報を事前に採取し、採取した生体情報と照合時にセンサで取得した情報とを比較することで認証が行われる。
近年、テンプレートに何らかの変換を施したものをデータベースに格納しておき、照合時に元のテンプレートに復元することなく比較する生体認証技術が着目されている。この生体認証技術は、「テンプレート保護型の生体認証技術」といわれる。テンプレート保護型の生体認証技術を用いたシステムでは、変換後のテンプレートが漏洩したとしても、変換方法を変更することで、漏洩したテンプレートを使用不可にし、漏洩したテンプレートへのアクセスを防ぐことができる。
テンプレート保護型の生体認証技術には、キーバインディング(Key binding)手法というテンプレート保護手法が知られている。Key binding手法は、生体情報を示すテンプレートとユーザ固有の鍵を結合してこれらを保護する手法である。Key binding手法では、生体情報の登録時に、ユーザは、生体情報とユーザ固有の鍵を入力し、サーバは、これらを結合したものをセキュアテンプレートとしてデータベースに登録する。生体情報の照合時に、ユーザは、生体情報を入力し、サーバは、入力された生体情報とセキュアテンプレートとを照合し、十分近い場合に、ユーザ固有の鍵を抽出する。
Key binding手法を実現する技術の1つとして、格子元付加によるKey binding手法の技術が知られている(例えば、非特許文献1参照)。かかる技術では、同一の生体情報と鍵とからシステム毎に異なるセキュアテンプレートを生成できるとともに、登録時および照合時に秘匿されていない状態の生体情報をサーバに送る必要がない。
また、Key binding手法を実現する他の技術には、誤り訂正符号の技術を利用したfuzzy commitmentやfuzzy vaultなどの方式が知られている。fuzzy commitmentおよびfuzzy vaultは、同じ生体情報について、テンプレートとユーザ固有の鍵から生成される補助情報に共通部分があることが知られている。fuzzy commitmentおよびfuzzy vaultは、登録時および照合時に秘匿されていない状態の生体情報をサーバに送ることが知られている。
杉村由花,安田雅哉,山田茂史,安部登樹,新崎卓,「格子マスキングを利用したKey Binding技術の提案」.情報セキュリティ研究会(ISEC),電子情報通信学会技術研究報告,Vol. 113, No. 135, pp. 297-304
ところで、生体認証に用いられる生体情報として、個人に特有で変化の少ない生体情報が選ばれる。しかしながら、一般に年月の経過により、照合時に採取される生体情報と最初に登録したテンプレートとの類似度は徐々に低下する。これは、身体的特徴や行動的特徴そのものの長期的な変化により起こる。また、照合時に、身体的特徴や行動的特徴を採取する機器に対する操作慣れなどにより起こる。このような類似度低下を防ぐために、テンプレートを一定期間毎、若しくは類似度低下の兆候に応じて更新することが行われている。テンプレートの更新の方法として、最初の登録時の手順を繰り返す方法が挙げられる。
しかしながら、従来のKey binding手法を実現する技術では、生体情報を安全且つ簡便に更新することができないという問題がある。
例えば、最初の登録時の手順を繰り返す方法では、ユーザが、生体情報を登録する専用の場所に赴いたり、一定期間若しくは類似度低下の兆候の都度、生体情報の採取を繰り返したりするため、サーバは、生体情報を簡便に更新することができない。
また、fuzzy commitmentおよびfuzzy vaultは、登録時に秘匿されていない状態の生体情報をサーバに送るので、サーバは、生体情報を安全に更新することができない。
格子元付加によるKey binding手法であっても、登録時および照合時に秘匿されていない状態の生体情報をサーバに送らないものの、最初の登録時の手順を繰り返すことになるので、サーバは、生体情報を簡便に更新することができない。
なお、上記課題は、生体情報の更新に限らず、位置情報や機密情報等の数値情報の更新であっても、同様に生じる課題である。
1つの側面では、本発明は、テンプレート保護型の生体認証技術におけるKey binding手法において、生体情報を安全且つ簡便に更新することを目的とする。
1つの側面では、秘匿データ照合装置は、2つのデータが近似しているかを判定するための閾値と鍵データに関する閾値とを対角成分とする行列に乱数ベクトルを最終列として付加して生成された判定行列の行ベクトルを用いた第1の一次結合と、第1の乱数とに基づいて、第1のデータと鍵データとを秘匿して得られる第1の秘匿ベクトルを記憶する記憶部と、前記判定行列の行ベクトルを用いた第2の一次結合と、第2の乱数とに基づいて、第2のデータを秘匿して得られる第2の秘匿ベクトルを取得する取得部と、前記記憶部に記憶された第1の秘匿ベクトルと、前記取得部によって取得された第2の秘匿ベクトルとの差分から、前記判定行列を法とした際の剰余である剰余ベクトルを算出する算出部と、前記算出部によって算出された剰余ベクトルに基づいて、前記第1のデータと前記第2のデータとが近似しているか否かを判定する判定部と、前記判定部による判定の結果、前記第1のデータと前記第2のデータとが近似していると判定された場合に、前記剰余ベクトルから鍵データを抽出する抽出部と、前記抽出部によって抽出された鍵データと前記取得部によって取得された第2の秘匿ベクトルとを足し合わせて第3の秘匿ベクトルを生成する生成部と、前記生成部によって生成された第3の秘匿ベクトルを前記記憶部に格納する格納部と、を有する。
本願の開示するシステムの1つの態様によれば、テンプレート保護型の生体認証技術におけるkey binding手法において、生体情報を安全且つ簡便に更新することができる。
図1は、実施例1に係る秘匿データ照合システムの機能構成の一例を説明する図である。 図2は、近似判定行列の一例を示す図である。 図3は、秘匿データの登録処理のシーケンスを示す図である。 図4は、実施例1に係る秘匿データの更新処理のシーケンスを示す図である。 図5は、実施例2に係る秘匿データ照合システムの機能構成の一例を説明する図である。 図6は、実施例2に係る秘匿データの更新処理のシーケンスを示す図である。 図7は、実施例3に係る秘匿データ照合システムの機能構成の一例を説明する図である。 図8は、実施例3に係る秘匿データの更新処理のシーケンスを示す図である。 図9は、テンプレート更新の効果を示す図である。 図10は、秘匿データ更新プログラムを実行するコンピュータの一例を示す図である。
以下に、本願の開示する秘匿データ照合装置、秘匿データ更新プログラムおよび秘匿データ更新方法の実施例を図面に基づいて詳細に説明する。なお、秘匿データ照合装置は、テンプレート保護型の生体認証技術のうちkey binding手法を採用する。また、実施例によりこの発明が限定されるものではない。
[秘匿データ照合システムの構成]
図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は、照合の依頼があったクライアントの生体データを秘匿した秘匿データとして第3の秘匿データを更新登録する。実施例では、説明の便宜上、クライアント端末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に対応する一次結合(格子の元)を秘匿データ照合装置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から一次結合(格子の元)を取得すると、乱数を生成する。そして、秘匿データ生成部12は、一次結合(格子の元)と、乱数との積に、生成したn+2次元ベクトルを加算した秘匿ベクトルを生成する。一例として、乱数がrであり、格子の元がbであるとすると、秘匿ベクトルは、(T、K、0)+r×bで表される。そして、秘匿データ生成部12は、生成した秘匿ベクトルを秘匿データとして登録依頼部11に出力する。
クライアント端末2は、照合依頼部21と、秘匿データ生成部22とを有する。
照合依頼部21は、生体データの照合を秘匿データ照合装置3に依頼する。照合を依頼する生体データを照合データ211とする。実施例では、照合データ211は、n次元の成分を有するベクトルで表されるものとする。また、照合依頼部21は、照合依頼に対する応答として、後述する近似判定行列331に対応する一次結合(格子の元)を秘匿データ照合装置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から一次結合(格子の元)を取得すると、乱数を生成する。そして、秘匿データ生成部22は、一次結合(格子の元)と、乱数との積に、生成したn+2次元ベクトルを加算した秘匿ベクトルを秘匿データとして生成する。一例として、乱数がrであり、格子の元がbであるとすると、秘匿ベクトルは、(Q、0、0)+r×bで表される。そして、秘匿データ生成部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に登録する。登録された秘匿データが、key binding手法において、保護されるテンプレートに相当する。
例えば、秘匿データ登録部314は、クライアント端末1から登録依頼があった場合、近似判定行列331に対応する一次結合用の乱数を生成する。一例として、秘匿データ登録部314は、近似判定行列331に対応するn+2個の成分を有する行ベクトルv、v、・・・、vn+2を取得する。そして、秘匿データ登録部314は、各行ベクトルv、v、・・・、vn+2に対して、それぞれ適当な整数d、d、・・・、dn+2を選択する。そして、秘匿データ登録部314は、各行ベクトルと各整数との積の和、すなわちd×v+d×v+・・・+dn+2×vn+2で表されるn+2次元のベクトルを一次結合として算出する。この一次結合が「格子の元」である。なお、秘匿データ登録部314は、生体データ毎に、異なる整数d、d、・・・、dn+2の組を選択し、選択した整数の組と近似判定行列331の各行ベクトルとの積の和である一次結合を算出する。
また、秘匿データ登録部314は、算出した一次結合すなわち格子の元を、登録依頼の応答として、クライアント端末1に配布する。そして、秘匿データ登録部314は、クライアント端末1から秘匿データ332の登録依頼があった場合、登録依頼があった秘匿データ332をデータベース330に登録する。
照合判定部32は、照合依頼受付部321と、演算部322と、近似判定部323と、鍵抽出部324と、更新秘匿データ生成部325と、秘匿データ更新部326とを有する。
照合依頼受付部321は、クライアント端末2から照合依頼を受け付けた場合、近似判定行列331に対応する一次結合用の乱数(格子の元)を生成する。一次結合用の乱数の生成は、秘匿データ登録部314による生成と同様であるので、その説明を省略する。なお、照合依頼受付部321によって生成される格子の元は、登録時に秘匿データ登録部314よって生成された格子の元と異なるように生成される。
また、照合依頼受付部321は、算出した一次結合すなわち格子の元を、照合依頼の応答として、クライアント端末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は、スカラーである。そして、更新秘匿データ生成部325は、鍵ベクトルと照合依頼があった秘匿データとを足し合わせて更新秘匿データを生成する。
秘匿データ更新部326は、更新秘匿データ生成部325によって生成された更新秘匿データをデータベース330に格納する。すなわち、秘匿データ更新部326は、更新秘匿データを、秘匿データ332に代えてデータベース330に登録する。
[近似判定の原理]
ここで、まず、照合判定部32が実行する近似判定の原理について説明する。近似判定行列331を近似判定行列Vとして説明する。近似判定行列Vの各行ベクトルv、v、・・・、vn+2の一次結合は、近似判定行列Vの各行ベクトルの一次結合d×v+d×v+・・・+dn+2×vn+2を元とする集合L(格子L)で表すことができる。つまり、近似判定行列Vの各行ベクトルの一次結合は、集合Lの元からなる格子上のいずれかの交点に対応する。
n次元の生体データTおよび鍵Kを秘匿化した秘匿ベクトルHは、集合Lの格子の元bと乱数rを用いて以下の式(1)で表される。なお、(T、K、0)とは、生体データTに鍵Kとn+2番目の成分として「0」を追加したn+2次元ベクトルである。
H=(T、K、0)+r×b・・・式(1)
秘匿ベクトルHは、クライアント端末1の秘匿データ生成部12によって生成される。そして、生成された秘匿ベクトルHは、登録依頼部11によってデータベース330に登録される。
また、n次元の照合データQを秘匿化した秘匿ベクトルH´は、集合Lの格子の元bと乱数rを用いて以下の式(2)で表される。なお、(Q、0、0)とは、照合データQにn+1番目の成分とn+2番目の成分としてそれぞれ「0」を追加したn+2次元ベクトルである。また、bはbと異なる。
H´=(Q、0、0)+r×b・・・式(2)
秘匿ベクトルH´は、クライアント端末2の秘匿データ生成部22によって生成される。そして、生成された秘匿ベクトルH´は、照合依頼部21によって秘匿データ照合装置3に送信される。
このような場合に、秘匿ベクトルHとH´との差分ベクトルzは、以下の式(3)で表される。
z=H−H´=(T−Q、K、0)+r×b−r×b・・・式(3)
ここで、差分ベクトルzが有するr×b−r×bは、集合Lの元と乱数との積同士の差分であるため、集合Lの元に含まれている。つまり、r×b−r×bは、集合Lの元からなる格子上のいずれかの交点に対応する。また、差分ベクトルzから近似判定行列Vの剰余ベクトルを計算した場合、「z mod V」は、集合Lによって定まる基本領域P(L)に差分ベクトルzを写像することに対応する。このため、差分ベクトルzから近似判定行列Vの剰余ベクトルを計算した場合は、r×b−r×bが無視されることとなる。このため、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)+r×b)(式(2)参照))およびユーザ固有の鍵Kを有している。照合判定部32は、鍵Kを用いて、n+2次元の鍵ベクトル(0、K、0)を生成する。ここで、最初の0は、n次元(生体データと同じデータ構造)の零ベクトルを表し、最後の0は、スカラーである。
照合判定部32は、秘匿ベクトルH´と鍵ベクトルとから、以下の式(5)により更新秘匿データHを生成する。
=H´+(0、K、0)・・・式(5)
式(5)を変形すると、以下の式(6)になる。
={(Q、0、0)+r×b}+(0、K、0)
=(Q、K、0)+r×b ・・・式(6)
式(6)のQ、r、bは、それぞれ照合データ211、乱数、格子の元である。ここで、式(1)に表される秘匿ベクトルH(=(T、K、0)+r×b)と、式(6)で表わされる秘匿ベクトルH(=(Q、K、0)+r×b)とを比較する。秘匿ベクトルHは、照合データ211であるQとユーザ固有の鍵Kとから生成される秘匿ベクトルであることがわかる。よって、秘匿データとして秘匿ベクトルHをHに代えてデータベース330に登録することで、key binding手法におけるテンプレートの更新が行える。すなわち、照合判定部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の各行ベクトルと適当な各整数との積の和で表される一次結合を算出する。算出された一次結合が乱数格子ベクトルbであり、格子の元である。そして、秘匿データ登録部314は、算出した乱数格子ベクトル(格子の元)bをクライアント端末1に送信する(ステップS16)。
クライアント端末1では、秘匿データ生成部12が、登録情報を生成する(ステップS17)。ここでは、秘匿データ生成部12は、生体データTと鍵Kの結合データの最終成分に「0」を追加したベクトル(T、K、0)を生成する。
そして、秘匿データ生成部12は、登録情報を秘匿する(ステップS18)。ここでは、秘匿データ生成部12は、乱数格子ベクトル(格子の元)bと乱数との積に、生成したベクトル(T、K、0)を加算した秘匿ベクトルHを生成する。乱数がrであるとすると、秘匿ベクトルHは、(T、K、0)+r×bで表される。
そして、登録依頼部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の各行ベクトルと適当な各整数との積の和で表される一次結合を算出する。算出された一次結合が乱数格子ベクトルbであり、格子の元である。そして、照合依頼受付部321は、算出した乱数格子ベクトル(格子の元)bをクライアント端末2に送信する(ステップS25)。なお、bとbとは、異なるものである。
クライアント端末2では、秘匿データ生成部22が、秘匿照合情報を生成する(ステップS26)。ここでは、秘匿データ生成部22は、照合データQに「0」を追加したベクトル(Q、0、0)を生成する。そして、秘匿データ生成部22は、乱数格子ベクトル(格子の元)bと乱数との積に、生成したベクトル(Q、0、0)を加算した秘匿ベクトルH´を生成する。乱数がrであるとすると、秘匿ベクトルH´は、(Q、0、0)+r×bで表される。そして、照合依頼部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´とを足し合わせて更新秘匿登録情報として更新秘匿ベクトルHを生成する。
そして、秘匿データ更新部326は、更新秘匿データ生成部325によって生成された更新秘匿登録情報をデータベース330に送信する(ステップS34)。ここでは、秘匿データ更新部326は、データベース330に保持されていた秘匿登録情報(秘匿ベクトル)Hを破棄し、代わりに更新秘匿登録情報(秘匿ベクトル)Hを登録する。
[実施例1の効果]
上記実施例1によれば、秘匿データ照合装置3は、近似判定行列331の行ベクトルを用いた第1の一次結合と、第1の乱数とに基づいて、生体データと鍵とを秘匿して得られた第1の秘匿ベクトルをデータベース330に登録する。そして、秘匿データ照合装置3は、近似判定行列331の行ベクトルを用いた第2の一次結合と、第2の乱数とに基づいて、照合データを秘匿して得られた第2の秘匿ベクトルを取得する。そして、秘匿データ照合装置3は、第1の秘匿ベクトルと第2の秘匿ベクトルとの差分から、近似判定行列331を法とした際の剰余である剰余ベクトルを算出する。そして、秘匿データ照合装置3は、算出された剰余ベクトルに基づいて、生体データと照合データとが近似しているか否かを判定し、近似している場合に、剰余ベクトルから鍵を抽出する。そして、秘匿データ照合装置3は、抽出された鍵と照合データを秘匿して得られた第2の秘匿ベクトルとを足し合わせて第3の秘匿ベクトルを生成する。そして、秘匿データ照合装置3は、生成された第3の秘匿ベクトルをデータベース330に登録する。このため、秘匿データ照合装置3は、key binding手法において、生体データを安全且つ簡便に更新することができる。すなわち、秘匿データ照合装置3は、照合の際に用いられる生体データを秘匿した第2の秘匿ベクトルを取得するので、当該生体データを安全に取得できる。そして、秘匿データ照合装置3は、取得した第2の秘匿ベクトルと既に登録された鍵とを用いて照合の際に用いられる生体データを新たに秘匿する秘匿ベクトルを生成し、登録する。この結果、秘匿データ照合装置3は、ユーザの生体データを安全且つ簡便に更新できる。
また、上記実施例1によれば、秘匿データ照合装置3は、第1の秘匿ベクトルを削除し、第3の秘匿ベクトルを追加する。このため、秘匿データ照合装置3は、ユーザの最新の生体情報を簡便に更新できる。
ところで、実施例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個の剰余ベクトルを算出する。一例として、秘匿データ332に対して、差分ベクトルをz、近似判定行列331をVとした場合、剰余ベクトルは、「z 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から秘匿ベクトルH、H、・・・Hを取得する(ステップS41)。ここでは、秘匿データ照合装置3は、クライアント端末2からユーザの識別子であるユーザID(identification data)および秘匿ベクトルH´を受信する。そして、演算部322Aは、データベース330からユーザIDに対応する秘匿ベクトルH、H、・・・Hを取得する。
そして、近似判定部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は、秘匿登録情報(秘匿ベクトル)H、H、・・・Hに加えて、更新秘匿登録情報(秘匿ベクトル)Hh+1をデータベース330に追加する。
[実施例2の効果]
上記実施例2によれば、秘匿データ照合装置3は、近似判定行列331の行ベクトルを用いた第1の一次結合と、第1の乱数とに基づいて、生体データと鍵とを秘匿して得られた第1の秘匿ベクトルをデータベース330に登録する。そして、秘匿データ照合装置3は、近似判定行列331の行ベクトルを用いた第2の一次結合と、第2の乱数とに基づいて、照合データを秘匿して得られた第2の秘匿ベクトルを取得する。そして、秘匿データ照合装置3は、第1の秘匿ベクトルと第2の秘匿ベクトルとの差分から、近似判定行列331を法とした際の剰余である剰余ベクトルを算出する。そして、秘匿データ照合装置3は、算出された剰余ベクトルに基づいて、生体データと照合データとが近似しているか否かを判定し、近似している場合に、剰余ベクトルから鍵を抽出する。そして、秘匿データ照合装置3は、抽出された鍵と照合データを秘匿して得られた第2の秘匿ベクトルとを足し合わせて第3の秘匿ベクトルを生成する。そして、秘匿データ照合装置3は、生成された第3の秘匿ベクトルをさらにデータベース330に追加する。このため、秘匿データ照合装置3は、key binding手法において、生体データを安全且つ簡便に追加することができる。この結果、秘匿データ照合装置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を秘匿化した秘匿データとの差分を示す差分ベクトルzを算出する。なお、Hcが秘匿データ332を示す秘匿ベクトルであり、hが秘匿データ合成数333であるとする。H´が照合データ211を秘匿化した秘匿データを示す秘匿ベクトルであるとする。
=Hc−h×H´・・・式(7)
ここで、H´にhをかけるのは、Hcがh個の生体データを合成した秘匿データを示す秘匿ベクトルであるからである。
そして、演算部322Bは、算出した差分ベクトルから、近似判定行列331を法とした際の剰余である剰余ベクトルを算出する。一例として、差分ベクトルをz、近似判定行列331をVとした場合、剰余ベクトルは、「z mod V」で表される。「z mod V」は、「z−「z×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)+r×b)(式(2)参照)および秘匿データ332を有している。秘匿データ332を示す秘匿ベクトルHcは、式(9)で示す内容であるとする。すなわち、Hcは、h個の生体データを秘匿した各秘匿データを合成した秘匿ベクトルである。なお、T1〜Thは、それぞれ生体データを示すベクトルである。Kは、クライアント固有の鍵である。b´は、格子のある元である。
Hc=(T1+T2+・・・Th、K、0)+b´・・・式(9)
演算部322Bによって算出される差分ベクトルzは、Hcの内容とH´の内容とを式(7)に代入することで、式(10)により表わせる。
=(T1+T2+・・・Th−h×Q、K、0)+b´−h×r×b・・・式(10)
演算部322Bは、h個の生体データを示すベクトルを足し合わせたものとh倍の照合データを示すベクトルとの差分を差分ベクトルとするので、合成していない場合(式(3)参照)と同様に、近似判定部323Bに近似判定させることができる。なお、b´−h×r×bは、格子上のいずれかの交点に対応するので、差分ベクトルzから近似判定行列Vの剰余ベクトルを計算した場合は、無視される。
また、更新秘匿ベクトルH´cは、H´の内容とHcの内容とを式(8)に代入することで、式(11)により表わせる。
H´c=(T1+T2+・・・Th+Q、K、0)+r×b+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と照合依頼があった秘匿データとを足し合わせた更新用の秘匿データを生成すれば良い。かかる更新用の秘匿データが、key binding手法において、保護されるテンプレートに相当する。これにより、秘匿データ照合装置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」の行ベクトルを付加する。そして、近似判定行列生成部312は、n+2次元の乱数ベクトルをn+2列目に付加した(n+2)×(n+2)の行列を生成する。
さらに、近似判定行列生成部312は、n+3行目の各成分が「0」の行ベクトルを付加する。そして、近似判定行列生成部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は、各種演算処理を実行するCPU203と、ユーザからのデータの入力を受け付ける入力装置215と、表示装置209を制御する表示制御部207とを有する。また、コンピュータ200は、記憶媒体からプログラムなどを読取るドライブ装置213と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部217とを有する。また、コンピュータ200は、各種情報を一時記憶するメモリ201と、HDD205を有する。そして、メモリ201、CPU203、HDD205、表示制御部207、ドライブ装置213、入力装置215、通信制御部217は、バス219で接続されている。
ドライブ装置213は、例えばリムーバブルディスク210用の装置である。HDD205は、秘匿データ更新プログラム205aおよび秘匿データ更新関連情報205bを記憶する。
CPU203は、秘匿データ更新プログラム205aを読み出して、メモリ201に展開し、プロセスとして実行する。かかるプロセスは、秘匿データ照合装置3の各機能部に対応する。秘匿データ更新関連情報205bは、近似判定行列331、秘匿データ332に対応する。そして、例えばリムーバブルディスク210が、秘匿データ更新プログラム205aなどの各情報を記憶する。
なお、秘匿データ更新プログラム205aについては、必ずしも最初からHDD205に記憶させておかなくても良い。例えば、コンピュータ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の秘匿ベクトルを記憶する記憶部と、
    前記判定行列の行ベクトルを用いた第2の一次結合と、第2の乱数とに基づいて、第2のデータを秘匿して得られる第2の秘匿ベクトルを取得する取得部と、
    前記記憶部に記憶された第1の秘匿ベクトルと、前記取得部によって取得された第2の秘匿ベクトルとの差分から、前記判定行列を法とした際の剰余である剰余ベクトルを算出する算出部と、
    前記算出部によって算出された剰余ベクトルに基づいて、前記第1のデータと前記第2のデータとが近似しているか否かを判定する判定部と、
    前記判定部による判定の結果、前記第1のデータと前記第2のデータとが近似していると判定された場合に、前記剰余ベクトルから鍵データを抽出する抽出部と、
    前記抽出部によって抽出された鍵データと前記取得部によって取得された第2の秘匿ベクトルとを足し合わせて第3の秘匿ベクトルを生成する生成部と、
    前記生成部によって生成された第3の秘匿ベクトルを前記記憶部に格納する格納部と、
    を有することを特徴とする秘匿データ照合装置。
  2. 前記格納部は、前記生成部によって生成された第3の秘匿ベクトルを追加し、前記第1の秘匿ベクトルを削除する
    ことを特徴とする請求項1に記載の秘匿データ照合装置。
  3. 前記格納部は、前記生成部によって生成された第3の秘匿ベクトルを、さらに追加する
    ことを特徴とする請求項1に記載の秘匿データ照合装置。
  4. 前記生成部は、前記第1のデータと前記第2のデータとが近似していると判定された場合に、前記第1のデータと前記鍵データとを秘匿して得られた前記第1の秘匿ベクトルと前記取得部によって取得された第2の秘匿ベクトルとを足し合わせた第3の秘匿ベクトルを生成し、
    前記格納部は、前記生成部によって生成された第3の秘匿ベクトルを追加し、前記第1の秘匿ベクトルを削除する
    ことを特徴とする請求項1に記載の秘匿データ照合装置。
  5. 前記生成部は、所定のタイミングで、前記鍵データと前記第2の秘匿ベクトルとを足し合わせて第3の秘匿ベクトルを生成する
    ことを特徴とする請求項1から請求項4のいずれか1つに記載の秘匿データ照合装置。
  6. 2つのデータが近似しているかを判定するための閾値と鍵データに関する閾値とを対角成分とする行列に乱数ベクトルを最終列として付加して生成された判定行列の行ベクトルを用いた第1の一次結合と、第1の乱数とに基づいて、第1のデータと鍵データとを秘匿して得られる第1の秘匿ベクトルを記憶部に登録し、
    前記判定行列の行ベクトルを用いた第2の一次結合と、第2の乱数とに基づいて、第2のデータを秘匿して得られる第2の秘匿ベクトルを取得し、
    前記記憶部に記憶された第1の秘匿ベクトルと、前記取得する処理によって取得された第2の秘匿ベクトルとの差分から、前記判定行列を法とした際の剰余である剰余ベクトルを算出し、
    前記算出する処理によって算出された剰余ベクトルに基づいて、前記第1のデータと前記第2のデータとが近似しているか否かを判定し、
    前記判定する処理による判定の結果、前記第1のデータと前記第2のデータとが近似していると判定された場合に、前記剰余ベクトルから鍵データを抽出し、
    前記抽出する処理によって抽出された鍵データと前記取得部によって取得された第2の秘匿ベクトルとを足し合わせて第3の秘匿ベクトルを生成し、
    前記生成する処理によって生成された第3の秘匿ベクトルを前記記憶部に格納する
    処理をコンピュータに実行させることを特徴とする秘匿データ更新プログラム。
  7. コンピュータが、
    2つのデータが近似しているかを判定するための閾値と鍵データに関する閾値とを対角成分とする行列に乱数ベクトルを最終列として付加して生成された判定行列の行ベクトルを用いた第1の一次結合と、第1の乱数とに基づいて、第1のデータと鍵データとを秘匿して得られる第1の秘匿ベクトルを記憶部に登録し、
    前記判定行列の行ベクトルを用いた第2の一次結合と、第2の乱数とに基づいて、第2のデータを秘匿して得られる第2の秘匿ベクトルを取得し、
    前記記憶部に記憶された第1の秘匿ベクトルと、前記取得する処理によって取得された第2の秘匿ベクトルとの差分から、前記判定行列を法とした際の剰余である剰余ベクトルを算出し、
    前記算出する処理によって算出された剰余ベクトルに基づいて、前記第1のデータと前記第2のデータとが近似しているか否かを判定し、
    前記判定する処理による判定の結果、前記第1のデータと前記第2のデータとが近似していると判定された場合に、前記剰余ベクトルから鍵データを抽出し、
    前記抽出する処理によって抽出された鍵データと前記取得部によって取得された第2の秘匿ベクトルとを足し合わせて第3の秘匿ベクトルを生成し、
    前記生成する処理によって生成された第3の秘匿ベクトルを前記記憶部に格納する
    各処理を実行することを特徴とする秘匿データ更新方法。
JP2014133046A 2014-06-27 2014-06-27 秘匿データ照合装置、秘匿データ更新プログラムおよび秘匿データ更新方法 Active JP6281425B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2014133046A JP6281425B2 (ja) 2014-06-27 2014-06-27 秘匿データ照合装置、秘匿データ更新プログラムおよび秘匿データ更新方法
US14/730,389 US9876790B2 (en) 2014-06-27 2015-06-04 Secret data matching device, computer-readable recording medium storing program for updating secret data, and secret data updating method
EP15171160.3A EP2960820A1 (en) 2014-06-27 2015-06-09 Secret data matching device, program for updating secret data, and secret data updating method
KR1020150086923A KR101693113B1 (ko) 2014-06-27 2015-06-18 은닉 데이터 대조 장치, 은닉 데이터 갱신 프로그램을 저장한 컴퓨터 판독 가능한 기록 매체 및 은닉 데이터 갱신 방법
CN201510345486.7A CN105320869A (zh) 2014-06-27 2015-06-19 秘密数据匹配装置、秘密数据更新方法及记录介质

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2016012806A JP2016012806A (ja) 2016-01-21
JP6281425B2 true JP6281425B2 (ja) 2018-02-21

Family

ID=53434219

Family Applications (1)

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

Country Status (5)

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

Families Citing this family (11)

* 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 天津工业大学 一种具有安全威胁监测能力的生物特征模板保护方法
US10719593B2 (en) 2016-06-23 2020-07-21 Hitachi, Ltd. Biometric signature system and biometric certificate registration method
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 삼성전자주식회사 사용자 인증을 위한 등록 데이터베이스의 적응적 갱신 방법 및 장치
WO2019088657A1 (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
CN109992942B (zh) * 2019-01-03 2022-02-08 西安电子科技大学 基于秘密共享的隐私保护人脸认证方法及***、智能终端
KR20200100481A (ko) * 2019-02-18 2020-08-26 삼성전자주식회사 생체 정보를 인증하기 위한 전자 장치 및 그의 동작 방법
CN110175463B (zh) * 2019-05-29 2023-07-07 华南师范大学 基于大数据搜索和函数变换的信息隐藏方法和机器人***

Family Cites Families (19)

* 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 한국전자통신연구원 바이오 등록 및 인증 장치와 그 방법
EP2495908A4 (en) 2009-10-29 2017-07-19 Mitsubishi Electric Corporation Data processing device
CN103155479B (zh) * 2010-10-29 2016-05-04 株式会社日立制作所 信息认证方法和信息认证***
CN103380591B (zh) * 2011-02-22 2016-03-30 三菱电机株式会社 类似度计算***、类似度计算装置以及类似度计算方法
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
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
WO2014013686A1 (ja) 2012-07-19 2014-01-23 日本電気株式会社 照合装置及び照合装置の制御方法、並びにコンピュータ・プログラム
JP5805040B2 (ja) * 2012-09-25 2015-11-04 ビッグローブ株式会社 人物認証用辞書更新方法、人物認証用辞書更新装置、人物認証用辞書更新プログラム及び人物認証システム
JP6011259B2 (ja) 2012-11-12 2016-10-19 富士通株式会社 近傍判定方法、近傍判定装置、近傍判定システム、および近傍判定プログラム
JP6142704B2 (ja) * 2013-07-11 2017-06-07 富士通株式会社 秘匿データ照合装置、秘匿データ照合プログラムおよび秘匿データ照合方法

Also Published As

Publication number Publication date
KR20160001648A (ko) 2016-01-06
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

Similar Documents

Publication Publication Date Title
JP6281425B2 (ja) 秘匿データ照合装置、秘匿データ更新プログラムおよび秘匿データ更新方法
JP6524899B2 (ja) 秘匿データ照合装置、秘匿データ照合プログラムおよび秘匿データ照合方法
JP6142704B2 (ja) 秘匿データ照合装置、秘匿データ照合プログラムおよび秘匿データ照合方法
US20190158296A1 (en) Redactable document signatures
US20170237569A1 (en) Secure revisioning auditing system for electronic document files
US9935947B1 (en) Secure and reliable protection and matching of biometric templates across multiple devices using secret sharing
JP6821516B2 (ja) 計算機システム、秘密情報の検証方法、及び計算機
KR102289419B1 (ko) 바이오메트릭을 이용한 사용자의 인증 방법 및 장치
JP2009009293A (ja) 生体認証システム
JP2022524288A (ja) 取消可能な証明書を提供するバイオメトリック公開キーシステム
KR102035249B1 (ko) 생체 정보를 이용한 암호화 키 생성 장치 및 방법
KR101903246B1 (ko) 얼굴 이미지로부터 암호 키를 생성하는 방법 및 시스템
JP5913041B2 (ja) 秘密情報隠蔽装置、秘密情報復元装置、秘密情報隠蔽プログラムおよび秘密情報復元プログラム
KR102424873B1 (ko) 비밀번호 및 행동 패턴을 이용한 멀티 팩터 인증 시스템 및 방법
JP7021375B2 (ja) 計算機システム、秘密情報の検証方法、及び計算機
JP7061083B2 (ja) 署名システム、署名方法及びプログラム
KR102314035B1 (ko) 전자 투표 시스템 및 전자 투표 방법
KR102289379B1 (ko) 분산화된 생체자료를 이용한 일회용 비밀번호 생성방법
WO2023127068A1 (ja) 照合システム、鍵生成装置、照合装置、第1変換装置、第2変換装置、およびそれらの方法
JP6370459B2 (ja) 逐次バイオメトリック暗号システムおよび逐次バイオメトリック暗号処理方法
JP2007272776A (ja) 生体認証システム
CN115136540A (zh) 加密方法、终端装置、加密***以及程序
JP2007213406A (ja) 認証サービス方法、情報処理装置、および認証プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171208

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180108

R150 Certificate of patent or registration of utility model

Ref document number: 6281425

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150