JP2017055368A - 暗号データ処理方法、暗号データ処理システム、暗号データ処理装置および暗号データ処理プログラム - Google Patents

暗号データ処理方法、暗号データ処理システム、暗号データ処理装置および暗号データ処理プログラム Download PDF

Info

Publication number
JP2017055368A
JP2017055368A JP2015180148A JP2015180148A JP2017055368A JP 2017055368 A JP2017055368 A JP 2017055368A JP 2015180148 A JP2015180148 A JP 2015180148A JP 2015180148 A JP2015180148 A JP 2015180148A JP 2017055368 A JP2017055368 A JP 2017055368A
Authority
JP
Japan
Prior art keywords
data
code
error correction
encoding method
correction encoding
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.)
Granted
Application number
JP2015180148A
Other languages
English (en)
Other versions
JP6488954B2 (ja
Inventor
雅哉 安田
Masaya Yasuda
雅哉 安田
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 JP2015180148A priority Critical patent/JP6488954B2/ja
Priority to US15/259,632 priority patent/US10115323B2/en
Priority to EP16188046.3A priority patent/EP3142292B1/en
Publication of JP2017055368A publication Critical patent/JP2017055368A/ja
Application granted granted Critical
Publication of JP6488954B2 publication Critical patent/JP6488954B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Collating Specific Patterns (AREA)

Abstract

【課題】保護対象のデータの漏洩リスクを低減する。【解決手段】データ14aから誤り訂正符号化方法13bを用いて符号15aを生成し、符号15aおよび乱数16aから誤り訂正符号化方法13aを用いて符号15bを生成する。登録対象データ14bを符号15bを用いてマスクしたマスクデータ17aを生成し、マスクデータ17aを記憶部11に登録させる。乱数16bから誤り訂正符号化方法13aを用いて符号15cを生成する。照合対象データ14cを符号15cを用いてマスクしたマスクデータ17bを生成する。マスクデータ17bと記憶部11に登録されたマスクデータ17aとを合成した合成データ17cを生成し、合成データ17cを誤り訂正符号化方法13aおよび誤り訂正符号化方法13bに応じて復号する。【選択図】図1

Description

本発明は暗号データ処理方法、暗号データ処理システム、暗号データ処理装置および暗号データ処理プログラムに関する。
現在、ユーザ認証として生体認証が用いられることがある。生体認証は、ユーザの身体的特徴または行動的特徴に基づいて、認証対象のユーザと登録されたユーザの同一性を判定するものである。身体的特徴としては、例えば、指紋、静脈、虹彩などが挙げられる。行動的特徴としては、例えば、筆跡などが挙げられる。生体認証では、登録時に、登録するユーザの身体的特徴または行動的特徴を表す生体特徴コードを生成し、登録用の生体特徴コードに応じたテンプレートをデータベースに登録しておく。照合時には、認証するユーザの身体的特徴または行動的特徴を表す生体特徴コードを生成し、照合用の生体特徴コードとテンプレートを用いてユーザの同一性を判定する。
ここで、生体特徴コードは、任意に選択可能なユーザIDやパスワードなどと異なり、漏洩しても変更することが容易でない。このため、生体認証システムから生体特徴コードが漏洩してしまうリスクを低減することが好ましい。そこで、生体特徴コードを保護できる生体認証方法の一形態として、テンプレート保護型生体認証が提案されている。
テンプレート保護型生体認証は、生体特徴コードそのものをテンプレートに含める代わりに、変換パラメータに基づいて生体特徴コードから変換されたデータをテンプレートに含めるようにする。テンプレート保護型生体認証では、テンプレートが漏洩しても、テンプレートから元の生体特徴コードを復元することは困難である。また、変換パラメータを変更することで、同一の生体特徴コードから異なるテンプレートを作成することができ、漏洩したテンプレートを無効化することができる。
テンプレート保護型生体認証の一形態として、ファジーコミットメント(Fuzzy Commitment)などのバイオメトリック暗号が提案されている。ファジーコミットメントでは、登録時に、パスワードや秘密鍵などの秘密情報に基づいて登録用の生体特徴コードをマスクし、マスクデータをデータベースに登録しておく。また、秘密情報のハッシュ値をデータベースに登録しておく。照合時には、照合用の生体特徴コードとデータベースに登録されたマスクデータを用いて秘密情報を復元する。復元した秘密情報のハッシュ値とデータベースに登録されたハッシュ値とを比較して、ユーザの同一性を判定する。
なお、入力パターンからファジーコミットメントを生成するファジーコミットメント方法が提案されている。提案のファジーコミットメント方法では、誤り訂正符号に関連付けられた複数のコードワードの中からランダムに1つのコードワードを選択し、ユーザから受け付けた入力パターンを選択したコードワードにマッピングする。当該ファジーコミットメント方法では、入力パターンと選択したコードワードとの間のオフセットを算出すると共に、選択したコードワードのハッシュ値を算出する。
また、生体認証に用いるテンプレートを保護することができる認証装置が提案されている。提案の認証装置は、1つのテンプレートを誤り訂正符号に基づいて複数の部分テンプレートに分割する。認証装置は、分割された複数の部分テンプレートを誤り訂正符号に基づいて生体認証オブジェクトに埋め込むことでテンプレートを難読化し、難読化されたテンプレートを含む生体認証オブジェクトを送信する。
また、テンプレートと鍵情報とが漏洩してもなりすまし攻撃を抑制できる生体認証システムが提案されている。提案の生体認証システムでは、登録時に、登録装置が登録用の生体特徴コードを取得すると共に鍵情報を発行する。登録装置は、登録用の生体特徴コードと鍵情報とランダムに選択した認証パラメータとの排他的論理和をテンプレートとして生成し、鍵情報を端末装置に送信する。照合時に、認証装置が照合用の生体特徴コードを取得する。また、端末装置がランダムに選択したマスク値と鍵情報との排他的論理和を鍵秘匿情報として生成し、鍵秘匿情報を認証装置に送信する。認証装置は、照合用の生体特徴コードとテンプレートと鍵秘匿情報との排他的論理和を誤り訂正後情報として生成し、誤り訂正後情報を端末装置に送信する。端末装置は、誤り訂正後情報とマスク値との排他的論理和を被証明情報として生成し、被証明情報を認証装置に送信する。認証装置は、被証明情報と認証パラメータとの間の一致度に基づいてユーザを認証する。
国際公開第00/51244号 国際公開第2006/093238号 国際公開第2012/042775号
Ari Juels and Martin Wattenberg, "A fuzzy commitment scheme", Proc. of the 6th ACM (Association for Computing Machinery) conference on Computer and Communications Security, pp. 28-36, 1999
しかし、非特許文献1に記載された技術では、照合時にテンプレートと共に演算に使用されるデータが照合用の生体特徴コードそのものである。また、非特許文献1に記載された技術では、認証に成功したとき正しい秘密情報が復元される。テンプレートに含まれるマスクデータは秘密情報に基づいて登録用の生体特徴コードをマスクしたものであるため、認証装置は復元された秘密情報とテンプレートから登録用の生体特徴コードを推定できる機会がある。このため、もし悪意ある管理者または攻撃者によって認証装置が不正に操作された場合には、生体特徴コードが漏洩してしまうリスクがある。
1つの側面では、本発明は、保護対象のデータの漏洩リスクを低減できる暗号データ処理方法、暗号データ処理システム、暗号データ処理装置および暗号データ処理プログラムを提供することを目的とする。
1つの態様では、情報処理システムが実行する暗号データ処理方法が提供される。一のデータから第2の誤り訂正符号化方法を用いて第1の符号を生成し、第1の符号および第1の乱数から第1の誤り訂正符号化方法を用いて第2の符号を生成する。登録対象データを第2の符号を用いてマスクした第1のマスクデータを生成し、第1のマスクデータをデータベースに登録させる。第2の乱数から第1の誤り訂正符号化方法を用いて第3の符号を生成する。照合対象データを第3の符号を用いてマスクした第2のマスクデータを生成する。第2のマスクデータとデータベースに登録された第1のマスクデータとを合成した合成データを生成し、合成データを第1の誤り訂正符号化方法および第2の誤り訂正符号化方法に応じて復号する。
また、1つの態様では、記憶装置と第1のノードと第2のノードと第3のノードとを有する暗号データ処理システムが提供される。また、1つの態様では、記憶部とデータ処理部とを有する暗号データ処理装置が提供される。また、1つの態様では、コンピュータに実行させる暗号データ処理プログラムが提供される。
1つの側面では、保護対象のデータの漏洩リスクを低減できる。
第1の実施の形態の暗号データ処理装置の例を示す図である。 第2の実施の形態の情報処理システムの例を示す図である。 認証装置のハードウェア例を示すブロック図である。 認証装置と端末装置の機能例を示すブロック図である。 テンプレートテーブルの例を示す図である。 登録処理の手順例を示すフローチャートである。 照合処理の手順例を示すフローチャートである。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
図1は、第1の実施の形態の暗号データ処理装置の例を示す図である。
第1の実施の形態の暗号データ処理装置10は、保護対象のデータの漏洩リスクを低減するセキュリティ装置である。暗号データ処理装置10は、例えば、生体認証などのユーザ認証を行う認証装置である。暗号データ処理装置10は、クライアントコンピュータやサーバコンピュータなどのコンピュータであってもよい。
暗号データ処理装置10は、記憶部11およびデータ処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性の半導体メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性のストレージでもよい。データ処理部12は、例えば、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。ただし、データ処理部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの特定用途の電子回路を含んでもよい。プロセッサは、RAMなどのメモリに記憶されたプログラムを実行する。プログラムには、暗号データ処理プログラムが含まれる。複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼ぶこともある。
暗号データ処理装置10が実行する処理は、登録処理と照合処理を含む。
登録処理において、データ処理部12は、データ14aを取得する。データ14aは、例えば、ユーザID、パスワード、秘密鍵など、登録対象のユーザに付与された秘密情報であって公開されることが想定されていないものである。データ処理部12は、誤り訂正符号化方法13b(第2の誤り訂正符号化方法)を用いて、データ14aから符号15a(第1の符号)を生成する。誤り訂正符号化方法13bは、所定ビット数の誤り訂正能力をもつ符号化方法である。誤り訂正符号化方法13bとして、任意の種類の符号化方法を用いることができ、線形符号でも非線形符号でもよい。
データ処理部12は、乱数16a(第1の乱数)を生成する。乱数16aのハミング距離が、誤り訂正符号化方法13bの誤り訂正能力を超えないようにする。データ処理部12は、誤り訂正符号化方法13a(第1の誤り訂正符号化方法)を用いて、符号15aおよび乱数16aから符号15b(第2の符号)を生成する。例えば、データ処理部12は、符号15aと乱数16aの排他的論理和を符号化する。誤り訂正符号化方法13aは、所定ビット数の誤り訂正能力をもつ符号化方法である。誤り訂正符号化方法13aとして、任意の種類の線形な符号化方法を用いることができる。線形符号は、任意のデータα,βについて、データαの符号化結果とデータβの符号化結果の排他的論理和が、データαとデータβの排他的論理和の符号化結果に一致するという性質をもつ。誤り訂正符号化方法13a,13bは、同じ種類の誤り訂正符号でも異なる種類の誤り訂正符号でもよい。
データ処理部12は、登録対象データ14bを取得する。登録対象データ14bは、例えば、登録時に撮像した生体画像から抽出された生体特徴コードである。生体特徴コードは、例えば、指紋、静脈、虹彩、筆跡など、ユーザの身体的特徴または行動的特徴を表す。データ処理部12は、登録対象データ14bを符号15bを用いてマスクしたマスクデータ17a(第1のマスクデータ)を生成する。例えば、マスクデータ17aは、登録対象データ14bと符号15bの排他的論理和である。データ処理部12は、マスクデータ17aを記憶部11に登録する。記憶部11には、データベースが形成されている。
照合時において、データ処理部12は、乱数16b(第2の乱数)を生成する。乱数16bのハミング距離が、誤り訂正符号化方法13bの誤り訂正能力を超えないようにする。データ処理部12は、誤り訂正符号化方法13aを用いて、乱数16bから符号15c(第3の符号)を生成する。また、データ処理部12は、照合対象データ14cを取得する。照合対象データ14cは、例えば、照合時に撮像した生体画像から抽出された生体特徴コードである。データ処理部12は、照合対象データ14cを符号15cを用いてマスクしたマスクデータ17b(第2のマスクデータ)を生成する。例えば、マスクデータ17bは、照合対象データ14cと符号15cの排他的論理和である。
データ処理部12は、記憶部11に登録されたマスクデータ17aを取得し、マスクデータ17aとマスクデータ17bとを合成した合成データ17cを生成する。例えば、合成データ17cは、マスクデータ17aとマスクデータ17bの排他的論理和である。データ処理部12は、合成データ17cを誤り訂正符号化方法13aに応じた方法で復号し、その復号結果を更に誤り訂正符号化方法13bに応じた方法で復号する。すなわち、データ処理部12は、合成データ17cを二重に誤り訂正復号する。
ここで、合成データ17cは、符号15bと登録対象データ14bと符号15cと照合対象データ14cとを合成したものである。誤り訂正符号化方法13aが線形符号であることから、合成データ17cは、符号15aと乱数16aと乱数16bとを誤り訂正符号化方法13aで符号化したものと、登録対象データ14bと、照合対象データ14cとを合成したものに相当する。登録対象データ14bと照合対象データ14cとが十分に近似している(例えば、登録ユーザと認証対象ユーザが同一である)ものと仮定する。この場合、登録対象データ14bと照合対象データ14cとの差は、誤り訂正符号化方法13aにとって除去可能な軽微なノイズに相当する。
よって、合成データ17cを誤り訂正符号化方法13aに応じた方法で復号すると、符号15aと乱数16aと乱数16bとを誤り訂正符号化方法13bで符号化したものが現れる。また、乱数16a,16bは、上記の通り、誤り訂正符号化方法13bにとって除去可能な軽微なノイズに相当する。よって、上記の復号結果を更に誤り訂正符号化方法13bに応じた方法で復号すると、データ14aが復元される。一方、登録対象データ14bと照合対象データ14cとが近似していない(例えば、登録ユーザと認証対象ユーザが異なる)場合には、データ14aは正しく復元されない。
二重の誤り訂正復号の結果を用いて、暗号データ処理装置10は種々の処理を行うことが可能である。例えば、暗号データ処理装置10は、データ14aと復号結果とを用いてユーザ認証を行うことができる。暗号データ処理装置10は、データ14aと復号結果を比較し、両者が一致する場合に認証成功と判定し一致しない場合に認証失敗と判定することが考えられる。暗号データ処理装置10は、登録時にデータ14aのハッシュ値を記憶部11に登録しておき、照合時に復号結果のハッシュ値と記憶部11に登録されたハッシュ値とを比較するようにしてもよい。また、例えば、データ14aとして暗号番号やカード番号など他の認証システムに入力する入力情報を使用し、暗号データ処理装置10は、正しく復元されたデータ14aをユーザに代わって他の認証システムに入力してもよい。
なお、図1では暗号データ処理装置10が登録処理と照合処理の全てを実行しているが、複数の装置が分散して登録処理および照合処理を実行してもよい。例えば、データ14aおよび登録対象データ14bからマスクデータ17aを生成する処理を、登録対象のユーザが操作する端末装置が行ってもよい。マスクデータ17aを登録する記憶部11またはデータベースは、端末装置と異なる認証装置が有していてもよいし、端末装置および認証装置と異なるデータベースサーバが有していてもよい。また、照合対象データ14cからマスクデータ17bを生成する処理を、認証対象のユーザが操作する端末装置が行ってもよい。登録時に使用する端末装置と照合時に使用する端末装置は、同じでもよいし異なってもよい。また、マスクデータ17a,17bから合成データ17cを生成し合成データ17cを復号する処理を、認証装置が行ってもよい。
第1の実施の形態の暗号データ処理装置10によれば、照合時にマスクデータ17aと共に演算に使用されるデータが、照合対象データ14cそのものではなく乱数16bに基づいてマスクされたマスクデータ17bである。よって、照合対象データ14cが漏洩するリスクを低減することができる。また、記憶部11に登録されたマスクデータ17aは、データ14aに加えて登録時に生成した乱数16aにも依存する。よって、照合時にデータ14aが復元されても、マスクデータ17aとデータ14aから登録対象データ14bを推定することは困難であり、登録対象データ14bが漏洩するリスクを低減できる。また、登録対象データ14bと照合対象データ14cの差分が小さい場合には、二重の誤り訂正復号の過程で、当該差分を軽微なノイズとして除去できると共に、乱数16a,16bを軽微なノイズとして除去できる。よって、データ14aを正しく復元できる。
[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理システムの例を示す図である。
第2の実施の形態の情報処理システムは、生体認証を行う認証システムである。この情報処理システムは、認証装置100および端末装置200,200aを含む。認証装置100および端末装置200,200aは、ネットワーク30に接続されている。ネットワーク30は、LAN(Local Area Network)でもよいし、インターネットなどの広域ネットワークでもよい。認証装置100および端末装置200,200aは、同一の施設に設置されてもよいし互いに異なる施設に設置されてもよい。後者の場合、認証装置100は、データセンタなどの情報処理専用施設に設置されてもよい。
認証装置100は、端末装置200,200aを使用するユーザを認証するサーバコンピュータである。上記のように、ユーザ認証として生体認証が行われる。認証装置100は、データベース120を有する。データベース120は、登録されたユーザについてのテンプレートを記憶する。テンプレートは、生体画像から抽出された特徴情報(生体特徴コード)に基づいて生成されたものであり、端末装置200,200aを使用しているユーザが登録されたユーザであるか判断するときに参照される。テンプレートは、生体特徴コード自体とは異なるデータである。テンプレートが漏洩してもテンプレートから生体特徴コードに逆変換できないように、生体特徴コードが保護されている。
登録時、認証装置100は、端末装置200,200aから登録要求を受信する。登録要求は、端末装置200,200aが生成したテンプレートを含む。テンプレートは、登録時に撮像した生体画像に基づいて生成される。認証装置100は、受信したテンプレートをデータベース120に登録する。照合時、認証装置100は、端末装置200,200aから照合要求を受信する。照合要求は、端末装置200,200aが生成した照合データを含む。照合データは、照合時に撮像した生体画像に基づいて生成される。認証装置100は、受信した照合データとデータベース120に登録されたテンプレートとを用いて、端末装置200,200aを使用しているユーザを認証する。認証装置100は、認証結果(認証成功または認証失敗)を端末装置200,200aに通知する。
なお、データベース120は認証装置100からアクセス可能であればよく、認証装置100と異なる装置(例えば、データベースサーバ)が有していてもよい。また、テンプレートをデータベース120に登録する装置(登録装置)と、登録されたテンプレートを用いてユーザを認証する装置(狭義の認証装置)とを分離してもよい。
端末装置200,200aは、ユーザが操作する装置である。端末装置200,200aは、クライアントコンピュータや携帯端末装置などのユーザ所有の装置でもよいし、ATM(Automated Teller Machine)などの複数ユーザが使用する装置でもよい。
端末装置200には、撮像装置211が接続されている。端末装置200aには、撮像装置211aが接続されている。撮像装置211,211aは、ユーザの身体的特徴または行動的特徴を表す生体画像を撮像する。身体的特徴には、指紋、静脈、虹彩などが含まれる。行動的特徴には、筆跡などが含まれる。端末装置200,200aは、生体認証に利用する特徴の種類を予め決めておいてもよい。その場合、撮像装置211,211aは、予め決められた特徴を表す生体画像を効率的に撮像できるように、特徴の種類に応じた専用の形状を有していてもよい。例えば、生体認証に静脈を利用する場合、撮像装置211,211aは、手のひらを撮像しやすい形状を有していてもよい。
登録時、端末装置200は、撮像装置211を用いて生体画像を撮像する。端末装置200は、撮像した生体画像から生体特徴コードを生成し、生体特徴コードからテンプレートを生成する。端末装置200は、生成したテンプレートを含む登録要求を認証装置100に送信する。照合時、端末装置200は、撮像装置211を用いて生体画像を撮像する。端末装置200は、撮像した生体画像から生体特徴コードを生成し、生体特徴コードから照合データを生成する。端末装置200は、生成した照合データを含む照合要求を認証装置100に送信する。端末装置200は、認証装置100から認証結果を受信し、認証結果に応じてユーザインタフェースを制御する。
認証成功の場合、例えば、端末装置200は、認証成功のメッセージをディスプレイに表示し、端末装置200が提供するサービスの全ての利用を許可する。一方、認証失敗の場合、例えば、端末装置200は、認証失敗のメッセージをディスプレイに表示し、端末装置200が提供するサービスの一部または全部の利用を拒否する。
端末装置200aも、端末装置200と同様に登録および照合を行うことができる。なお、あるユーザが登録に使用する端末装置と照合に使用する端末装置は、同一でもよいし異なってもよい。例えば、あるユーザが端末装置200を使用して登録を行い、端末装置200aを使用して照合を行えるようにしてもよい。また、端末装置200を登録専用の端末装置とし、端末装置200aを照合専用の端末装置とすることも可能である。
図3は、認証装置のハードウェア例を示すブロック図である。
認証装置100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106および通信インタフェース107を有する。これらのユニットは、バス108に接続されている。
CPU101は、プログラムの命令を実行する演算回路を含むプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを備えてもよく、認証装置100は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列に実行してもよい。また、複数のプロセッサの集合(マルチプロセッサ)を「プロセッサ」と呼んでもよい。
RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、認証装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。プログラムには、暗号データ処理プログラムが含まれる。なお、認証装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
画像信号処理部104は、CPU101からの命令に従って、認証装置100に接続されたディスプレイ111に画像を出力する。ディスプレイ111としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなどを用いることができる。
入力信号処理部105は、認証装置100に接続された入力デバイス112から入力信号を取得し、CPU101に出力する。入力デバイス112としては、マウスやタッチパネルやタッチパッドやトラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、認証装置100に、複数の種類の入力デバイスが接続されていてもよい。
媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
通信インタフェース107は、ネットワーク30に接続され、ネットワーク30を介して端末装置200,200aと通信を行うインタフェースである。通信インタフェース107は、スイッチなどの通信装置とケーブルで接続される有線通信インタフェースでもよいし、基地局と無線リンクで接続される無線通信インタフェースでもよい。
端末装置200,200aも、認証装置100と同様のハードウェアを用いて実装することができる。ただし、前述のように、端末装置200には撮像装置211が接続されており、端末装置200aには撮像装置211aが接続されている。撮像装置211,211aは、入力デバイスの一種であると言うこともできる。端末装置200,200aは、接続された撮像装置から生体画像を取得するインタフェースを有する。取得された生体画像は、例えば、RAMやHDDなどの記憶装置に格納される。
前述のように、第2の実施の形態の情報処理システムは、データベース120に登録されたテンプレートが漏洩しても生体特徴コードが漏洩しないように、生体特徴コードを保護している。このような生体認証を「テンプレート保護型生体認証」と言うことがある。
第2の実施の形態の情報処理システムは、テンプレート保護型生体認証の一形態である「バイオメトリック暗号」を使用する。バイオメトリック暗号では、登録時、生体特徴コードに加えてユーザ固有の秘密情報を用いてテンプレートを生成する。照合時、照合対象の生体特徴コードを用いて、テンプレート内に隠された秘密情報を復元する。そして、復元された秘密情報に基づいてユーザを認証する。すなわち、バイオメトリック暗号では、生体特徴コードを用いて秘密情報を秘匿しておく。登録されたユーザ以外の第三者の生体特徴コードでは、秘匿された秘密情報を正しく復元することができない。
図4は、認証装置と端末装置の機能例を示すブロック図である。
端末装置200は、生体特徴コード生成部231、秘密情報提供部232、登録要求部233および照合要求部234を有する。生体特徴コード生成部231、秘密情報提供部232、登録要求部233および照合要求部234は、例えば、CPUが実行するプログラムモジュールを用いて実装することができる。端末装置200aも、端末装置200と同様のブロック構成によって実装することができる。
生体特徴コード生成部231は、端末装置200のユーザが登録または照合を指示した場合、撮像装置211に生体画像の撮像を指示し、撮像装置211から生体画像を取得する。例えば、生体特徴コード生成部231は、ユーザの指先の画像、手のひらの画像、目の画像、または、ユーザが書いたサインの画像を取得する。生体特徴コード生成部231は、取得した生体画像から、撮像した部位に応じた方法で生体特徴コードを生成する。
例えば、生体特徴コード生成部231は、指先の画像から指紋の特徴を表す生体特徴コードを生成する。また、例えば、生体特徴コード生成部231は、手のひらの画像から静脈の特徴を表す生体特徴コードを生成する。また、例えば、生体特徴コード生成部231は、目の画像から虹彩の特徴を表す生体特徴コードを生成する。また、例えば、生体特徴コード生成部231は、サインの画像から筆跡の特徴を表す生体特徴コードを生成する。生体特徴コードは、例えば、2進数で表されたビット列である。
秘密情報提供部232は、端末装置200のユーザが登録を指示した場合、ユーザの秘密情報を提供する。秘密情報は、予め端末装置200のRAMまたはHDDに記憶されていてもよいし、入力デバイスを介してユーザから入力されてもよい。秘密情報は、個々のユーザが作成する情報または個々のユーザに対して付与される情報であって、公開されることが想定されていない情報である。秘密情報は、生体特徴コードと異なり、変更することが容易であることが好ましい。秘密情報またはテンプレートが漏洩してしまった場合、秘密情報を変更することで、古いテンプレートを無効化しセキュリティを回復することができる。秘密情報として、例えば、ユーザID、パスワード、暗証番号、暗号処理用の秘密鍵、キャッシュカード番号やクレジットカード番号などの識別コードを使用できる。
登録要求部233は、端末装置200のユーザが登録を指示した場合、生体特徴コード生成部231から生体特徴コードを取得し、秘密情報提供部232から秘密情報を取得する。登録要求部233は、生体特徴コードおよび秘密情報を用いてテンプレートを生成し、テンプレートを含む登録要求を認証装置100に送信する。テンプレートには、生体特徴コードや秘密情報そのものは含まれない。よって、認証装置100と端末装置200との間において、登録時の生体特徴コードおよび秘密情報は保護されている。
認証装置100が複数のユーザについての認証を行う場合、ユーザを識別するための識別情報が登録要求に含まれてもよい。識別情報は、ユーザIDなどユーザが入力した情報でもよいし、キャッシュカード番号やクレジットカード番号など記録媒体から読み出した情報でもよい。テンプレートを生成する具体的手順については後述する。
照合要求部234は、端末装置200のユーザが照合を指示した場合、生体特徴コード生成部231から生体特徴コードを取得する。照合要求部234は、生体特徴コードを用いて照合データを生成し、照合データを含む照合要求を認証装置100に送信する。照合データは、生体特徴コードそのものとは異なる。よって、認証装置100と端末装置200との間において、照合時の生体特徴コードは保護されている。認証装置100が複数のユーザについての認証を行う場合、ユーザを識別するための識別情報が照合要求に含まれてもよい。照合データを生成する具体的手順については後述する。
認証装置100は、データベース120、テンプレート登録部131、秘密情報抽出部132および比較部133を有する。データベース120は、例えば、RAM102またはHDD103に確保した記憶領域を用いて実装できる。テンプレート登録部131、秘密情報抽出部132および比較部133は、例えば、CPU101が実行するプログラムモジュールを用いて実装することができる。
データベース120は、端末装置200,200aで生成されたテンプレートを記憶する。後述するように、各ユーザに対応するテンプレートには2つの項目が含まれる。テンプレート第1項は、登録時の生体特徴コードを秘密情報を用いてマスクしたマスク値である。テンプレート第2項は、秘密情報のハッシュ値である。テンプレート第1項および第2項は、例えば、2進数で表されたビット列である。認証装置100が複数のユーザについての認証を行う場合、各テンプレートに対して識別情報が対応付けられてもよい。
テンプレート登録部131は、端末装置200,200aから登録要求を受信する。すると、テンプレート登録部131は、登録要求に含まれるテンプレートをデータベース120に登録する。登録要求に識別情報が含まれる場合、テンプレート登録部131は、テンプレートと識別情報とを対応付けてデータベース120に登録してもよい。
秘密情報抽出部132は、端末装置200,200aから照合要求を受信する。すると、秘密情報抽出部132は、データベース120からテンプレート第1項のマスク値を取得する。照合要求に識別情報が含まれる場合、秘密情報抽出部132は、その識別情報に対応するマスク値のみを取得してもよい。秘密情報抽出部132は、照合要求に含まれる照合データと取得したマスク値とを用いて、ユーザの秘密情報の抽出を試みる。
受信した照合データが、登録されたユーザの生体画像に基づいて生成されたものである場合、マスク値から秘密情報を正しく抽出することができる。一方、受信した照合データが、登録されたユーザとは異なる他のユーザの生体画像に基づいて生成されたものである場合、マスク値から秘密情報を抽出することができない。秘密情報抽出部132は、抽出データを比較部133に出力する。秘密情報を抽出する具体的手順については後述する。
比較部133は、秘密情報抽出部132から取得した抽出データのハッシュ値を算出する。また、比較部133は、データベース120からテンプレート第2項のハッシュ値を取得する。照合要求に識別情報が含まれていた場合、比較部133は、その識別情報に対応するハッシュ値のみをデータベース120から取得してもよい。
比較部133は、データベース120から取得したハッシュ値と抽出データから算出したハッシュ値とを比較し、両者が一致するか判定する。両者が一致する場合、比較部133は、照合要求の送信元の端末装置を使用するユーザが登録されたユーザである(認証成功)と判定する。両者が一致しない場合、比較部133は、照合要求の送信元の端末装置を使用するユーザが登録されたユーザではない(認証失敗)と判定する。比較部133は、認証成功または認証失敗を示す認証結果を照合要求の送信元に回答する。
ここで、認証装置100の内部では、秘密情報抽出部132が秘密情報の復元を試みている。比較部133の比較が成功した場合には、復元された秘密情報はテンプレートの生成に使用された正しい秘密情報であることを意味する。そのため、認証装置100の管理者が悪意をもって認証装置100を操作した場合や、攻撃者が認証装置100を不正に操作することに成功した場合には、秘密情報が不正使用されるリスクがある。そこで、第2の実施の形態では、後述するように、秘密情報が不正使用されても、テンプレートから生体特徴コードを抽出することができないようにしている。また、照合要求に含まれる照合データからも、生体特徴コードを抽出できないようにしている。
図5は、テンプレートテーブルの例を示す図である。
テンプレートテーブル121は、データベース120に記憶されている。テンプレートテーブル121は、認証単位毎(例えば、ユーザ毎)に、識別情報、生体特徴コードのマスク値および秘密情報のハッシュ値を含む。識別情報は、認証単位を識別する情報であり、ユーザIDやカード番号などであってもよい。
生体特徴コードのマスク値は、テンプレート第1項である。マスク値は、登録時の生体特徴コードを、秘密情報から生成されたビット列を用いてマスクしたものである。マスク値から元の生体特徴コードを推定することは困難である。秘密情報のハッシュ値は、テンプレート第2項である。ハッシュ値は、所定のハッシュ関数を用いて秘密情報から変換したものである。ハッシュ値から元の秘密情報を推定することは困難である。
次に、生体特徴コードを保護する方法について説明する。まず、バイオメトリック暗号の一形態であるファジーコミットメントの単純な実装例について説明し、その次に、ファジーコミットメントを改良した実装例について説明する。
ファジーコミットメントの単純な実装例では、登録時、数式(1)に示すようなテンプレートが生成される。数式(1)において、「x」は登録時に生成された生体特徴コード、「w」は秘密情報、「Encode」は所定の誤り訂正符号化方法における符号化関数、「Hash」は所定のハッシュ関数である。「v」は秘密情報wを符号化したものである。テンプレート第1項は、生体特徴コードxをvでマスクしたものである。テンプレート第2項は、秘密情報wのハッシュ値である。なお、各データを2進数として扱う場合、「+」および「−」の演算子は何れもビット毎の排他的論理和を意味する。ただし、各データを整数として扱う場合、「+」および「−」の演算子は加算および減算を意味する。
Figure 2017055368
ファジーコミットメントの単純な実装例では、照合時、数式(2)に示すような「v*」が算出される。数式(2)において、「y」は照合時に生成された生体特徴コードである。すなわち、v*は生体特徴コードyとテンプレート第1項との差であり、vにδ=y−xを加えたものである。登録時の生体特徴コードxと照合時の生体特徴コードyとが十分に近似する場合、δはゼロに近似し、v*はvに近似する。ただし、使用する撮像装置の違いや撮像環境の違い、ユーザの姿勢の違いなどの要因で、生体特徴コードxと生体特徴コードyとは完全には一致しないことが多い。
Figure 2017055368
次に、v*から数式(3)に示すような「w*」が算出される。数式(3)において、「Decode」は所定の誤り訂正符号化方法における復号関数であり、符号化関数Encodeに対応するものである。v*=v+δを復号するにあたり、生体特徴コードxと生体特徴コードyとが十分に近似する場合、δは誤り訂正機能によって除去可能な軽微なノイズとなる。よって、v*を復号したw*は元の秘密情報wと一致する。一方、生体特徴コードxと生体特徴コードyとが近似しない場合、δは誤り訂正機能によって除去できない重大なノイズになる。よって、v*を復号したw*は元の秘密情報wと一致しない。
Figure 2017055368
そして、w*のハッシュ値が算出され、数式(4)に示すようにテンプレート第2項と比較される。生体特徴コードxと生体特徴コードyとが十分に近似する場合、w*は秘密情報wと一致するため、2つのハッシュ値は一致する。一方、生体特徴コードxと生体特徴コードyとが近似しない場合、w*は秘密情報wと一致しないため、2つのハッシュ値は一致しない。2つのハッシュ値が一致する場合は認証成功と判定され、2つのハッシュ値が一致しない場合は認証失敗と判定される。なお、異なるデータから同じハッシュ値が算出される確率(ハッシュ値が衝突する確率)は十分に小さいものとする。
Figure 2017055368
このようなファジーコミットメントの単純な実装例では、テンプレートに生体特徴コードxそのものは含まれていない。しかし、照合の過程でw*=秘密情報wが算出される。秘密情報wが不正使用されると、所定の符号化関数を用いてvを算出することが可能となり、テンプレート第1項とvから生体特徴コードxを復元することができる。よって、生体特徴コードxが漏洩するリスクがある。また、照合の過程で生体特徴コードyそのものが演算に使用されている。このため、生体特徴コードyが漏洩するリスクもある。
そこで、第2の実施の形態では、以下に説明するファジーコミットメントを改良した実装例を用いる。改良した実装例では、生体特徴コードx,yを取得できないように、誤り訂正符号化を二重に行う。第1の誤り訂正符号化方法に基づく符号化関数「Encode1」および復号関数「Decode1」を用意する。また、第2の誤り訂正符号化方法に基づく符号化関数「Encode2」および復号関数「Decode2」を用意する。
第1の誤り訂正符号化方法としては、(n,k1,2d1+1)の線形符号を用いる。「n」は符号化後のビット長、「k1」は符号化前のビット長、「d1」は復号の際に訂正可能なビット数を表す。第2の誤り訂正符号化方法としては、(k2,p,2d2+1)の線形符号または非線形符号を用いる。「k2」は符号化後のビット長、「p」は符号化前のビット長、「d2」は復号の際に訂正可能なビット数を示す。符号化を二重に行うため、k2はk1と同じかまたはk1より小さな値とする。
線形符号の例として、ハミング符号、BCH(Bose Chaudhuri Hocquenghem)符号、リードソロモン符号、ターボ符号、LDPC(Low Density Parity Check)符号、畳み込み符号などを挙げることができる。非線形符号の例として、NR符号、ナドラ符号、グリーン符号などを挙げることができる。第2の誤り訂正符号化方法に線形符号を用いる場合、第1の誤り訂正符号化方法と第2の誤り訂正符号化方法の種類が同じであってもよい。
2つの誤り訂正符号化方法にリードソロモン符号を用いる場合、例えば、n=2047,k1=1023,k2=511,p=351に設定した実装例が考えられる。また、2つの誤り訂正符号化方法にBCH符号を用いる場合、例えば、n=8191,k1=1535,k2=1023,p=223に設定した実装例が考えられる。
改良した実装例では、登録時、数式(5)に示すようなテンプレートが生成される。数式(5)において、「s*」は登録時に生成される乱数であり、ハミング距離がd2以下となるものである。「r」は秘密情報wを符号化関数Encode2を用いて符号化したものである。テンプレート第1項は、生体特徴コードxを、r+s*を符号化関数Encode1を用いて符号化したビット列でマスクしたものである。すなわち、生体特徴コードxが、秘密情報wを二重に符号化したビット列を用いてマスクされる。テンプレート第2項は、数式(1)の場合と同様に、秘密情報wのハッシュ値である。
Figure 2017055368
改良した実装例では、照合時、数式(6)に示すような照合データが算出される。数式(6)において、「s」は照合時に生成される乱数であり、ハミング距離がd2以下となるものである。ファジーコミットメントの単純な実装例では、照合データが生体特徴コードyそのものであったのに対し、改良した実装例では、乱数sを符号化関数Encode1を用いて符号化したビット列で、生体特徴コードyをマスクしている。なお、各データを2進数として扱う場合、「−y」は生体特徴コードyと同一である。各データを整数として扱う場合、「−y」は生体特徴コードyの正負を反転させたものである。
Figure 2017055368
次に、数式(7)に示すような「T」が算出される。Tは、テンプレート第1項に照合データを加算したものである。ここで、第1の誤り訂正符号化方法は線形符号であるため、任意のデータα,βについてEncode1(α)+Encode1(β)=Encode1(α+β)が成立する。そこで、T=x−y+Encode1(r+s+s*)と整理することができる。数式(2)の場合と同様に、生体特徴コードxと生体特徴コードyとが十分に近似する場合、TはEncode1(r+s+s*)に近似する。
Figure 2017055368
次に、Tから数式(8)に示すような「w*」が算出される。w*は、数式(7)のTを復号関数Decode1を用いて復号し、復号されたビット列を更に復号関数Decode2を用いて復号したものである。復号関数Decode1を使用するにあたり、生体特徴コードxと生体特徴コードyとが十分に近似する場合、すなわち、x−yのハミング距離がd1以下である場合、x−yは誤り訂正機能によって除去可能な軽微なノイズとなる。よって、Tを復号したビット列はr+s+s*に相当する。
復号関数Decode2を使用するにあたり、乱数s,s*の制約から、s+s*のハミング距離はd2以下となる。すなわち、s+s*は誤り訂正機能によって除去可能な軽微なノイズとなる。よって、復号関数Decode1によってTを正常に復号できた場合、復号関数Decode2の復号結果は秘密情報wと一致する。一方、生体特徴コードxと生体特徴コードyとが近似しない場合、すなわち、x−yのハミング距離がd1より大きい場合、x−yは誤り訂正機能によって除去できない重大なノイズになる。よって、復号関数Decode1の復号結果はr+s+s*と異なるビット列になり、復号関数Decode2の復号結果は秘密情報wと一致しない。
Figure 2017055368
そして、数式(8)のw*のハッシュ値が算出され、数式(4)の場合と同様にテンプレート第2項と比較される。生体特徴コードxと生体特徴コードyとが十分に近似する場合、w*は秘密情報wと一致するため、2つのハッシュ値は一致する。一方、生体特徴コードxと生体特徴コードyとが近似しない場合、w*は秘密情報wと一致しないため、2つのハッシュ値は一致しない。2つのハッシュ値が一致する場合は認証成功と判定され、2つのハッシュ値が一致しない場合は認証失敗と判定される。
改良した実装例では、認証装置100は秘密情報wや秘密情報wを符号化したrを知ることができる。しかし、認証装置100は乱数s*を知らないため、テンプレート第1項から生体特徴コードxを復元することは困難である。よって、認証装置100内で秘密情報wが不正使用されることがあっても、生体特徴コードxを保護することができる。また、認証装置100は乱数sを知らないため、照合データから生体特徴コードyを復元することも困難である。よって、生体特徴コードyを保護することができる。
第2の実施の形態では、以上説明した改良した実装例に基づいてユーザ認証を行う。次に、認証装置100および端末装置200,200aの処理手順を説明する。
図6は、登録処理の手順例を示すフローチャートである。
ここでは、ユーザが端末装置200を使用して登録要求を発行する場合を考える。同様の方法で、端末装置200aを使用して登録要求を発行することも可能である。
(S10)生体特徴コード生成部231は、撮像装置211から生体画像を取得する。生体特徴コード生成部231は、生体画像に写った指紋、静脈、虹彩などの身体的特徴または筆跡などの行動的特徴を解析し、生体特徴コードxを生成する。
(S11)秘密情報提供部232は、ユーザ固有の秘密情報wを取得する。秘密情報提供部232は、RAMまたはHDDから秘密情報wを読み出してもよいし、ユーザに秘密情報wの入力を促して入力デバイスから秘密情報wを取得してもよい。
(S12)登録要求部233は、第2の誤り訂正符号化方法に従った符号化関数Encode2を用いて、ステップS11で取得された秘密情報wを符号化する。すなわち、登録要求部233は、r=Encode2(w)を算出する。
(S13)登録要求部233は、ハミング距離がd2(第2の誤り訂正符号化方法の訂正可能ビット数)以下になるような乱数s*を生成する。
(S14)登録要求部233は、ステップS12で算出したrとステップS13で生成した乱数s*とを合成したr+s*を算出する。r+s*は、例えば、rとs*の排他的論理和である。登録要求部233は、第1の誤り訂正符号化方法に従った符号化関数Encode1を用いてr+s*を符号化する。すなわち、登録要求部233は、Encode1(r+s*)を算出する。
(S15)登録要求部233は、ステップS10で生成された生体特徴コードxを、ステップS14で算出したEncode1(r+s*)を用いてマスクする。すなわち、登録要求部233は、x+Encode1(r+s*)を算出する。x+Encode1(r+s*)は、例えば、xとEncode1(r+s*)の排他的論理和である。
(S16)登録要求部233は、秘密情報wのハッシュ値Hash(w)を算出する。
(S17)登録要求部233は、ステップS15で算出したx+Encode1(r+s*)をテンプレート第1項とし、ステップS16で算出したHash(w)をテンプレート第2項とするテンプレートを生成する。登録要求部233は、テンプレートを含む登録要求を認証装置100に送信する。登録要求に識別情報を含めてもよい。
(S18)テンプレート登録部131は、端末装置200から登録要求を受信する。テンプレート登録部131は、受信した登録要求に含まれるテンプレートをデータベース120に登録する。このとき、テンプレート登録部131は、テンプレート第1項を生体特徴コードのマスク値としてテンプレートテーブル121に登録し、テンプレート第2項を秘密情報のハッシュ値としてテンプレートテーブル121に登録する。登録要求に識別情報が含まれる場合、識別情報をテンプレートテーブル121に登録してもよい。
図7は、照合処理の手順例を示すフローチャートである。
ここでは、ユーザが端末装置200を使用して照合要求を発行する場合を考える。同様の方法で、端末装置200aを使用して照合要求を発行することも可能である。
(S20)生体特徴コード生成部231は、撮像装置211から生体画像を取得する。生体特徴コード生成部231は、生体画像に写った指紋、静脈、虹彩などの身体的特徴または筆跡などの行動的特徴を解析し、生体特徴コードyを生成する。
(S21)照合要求部234は、ハミング距離がd2(第2の誤り訂正符号化方法の訂正可能ビット数)以下になるような乱数sを生成する。
(S22)照合要求部234は、第1の誤り訂正符号化方法に従った符号化関数Encode1を用いて、ステップS21で生成した乱数sを符号化する。すなわち、照合要求部234は、Encode1(s)を算出する。
(S23)照合要求部234は、ステップS20で生成された生体特徴コードyを、ステップS22で算出したEncode1(s)を用いてマスクする。具体的には、照合要求部234は、−y+Encode1(s)を算出する。−y+Encode1(s)は、例えば、yとEncode1(s)の排他的論理和である。照合要求部234は、−y+Encode1(s)を照合データとして含む照合要求を認証装置100に送信する。照合要求部234は、照合要求に識別情報を含めてもよい。
(S24)秘密情報抽出部132は、端末装置200から照合要求を受信する。秘密情報抽出部132は、テンプレートテーブル121からテンプレート第1項である生体特徴コードのマスク値x+Encode1(r+s*)を取得する。照合要求に識別情報が含まれている場合、秘密情報抽出部132は、当該識別情報に対応付けられたマスク値を取得する。秘密情報抽出部132は、取得したマスク値と照合要求に含まれる照合データとを合成したTを算出する。すなわち、秘密情報抽出部132は、T=x−y+Encode1(r+s+s*)を算出する。Tは、例えば、x+Encode1(r+s*)と−y+Encode1(s)の排他的論理和である。
(S25)秘密情報抽出部132は、第1の誤り訂正符号化方法に従った復号関数Decode1を用いて、ステップS24で算出したTを復号する。すなわち、秘密情報抽出部132は、Decode1(T)を算出する。
(S26)秘密情報抽出部132は、第2の誤り訂正符号化方法に従った復号関数Decode2を用いて、ステップS25のDecode1(T)を復号する。すなわち、秘密情報抽出部132は、w*=Decode2(Decode1(T))を算出する。
(S27)秘密情報抽出部132は、ステップS26で算出したw*のハッシュ値Hash(w*)を算出する。このハッシュ関数は、ステップS16と同じものを使用する。
(S28)比較部133は、テンプレートテーブル121からテンプレート第2項である秘密情報のハッシュ値Hash(w)を取得する。照合要求に識別情報が含まれている場合、比較部133は、当該識別情報に対応付けられたハッシュ値を取得する。比較部133は、ステップS27で算出されたハッシュ値Hash(w*)と登録されたハッシュ値Hash(w)とを比較する。Hash(w*)とHash(w)とが一致する場合はステップS29に処理が進み、一致しない場合はステップS30に処理が進む。
(S29)比較部133は、認証成功を端末装置200に通知する。
(S30)比較部133は、認証失敗を端末装置200に通知する。
なお、第2の実施の形態では、秘密情報wが正常に復元されたか否かに応じてユーザ認証を行い、認証結果を端末装置200,200aに通知することとした。これに対し、認証装置100で復元された秘密情報wを他の用途に使用するようにしてもよい。
例えば、秘密情報wとして、暗証番号やクレジットカード番号など他の認証システムに入力すべき入力情報を使用する。生体認証によって秘密情報wを正常に復元できた場合、認証装置100は、ユーザに代わって秘密情報w(入力情報)を他の認証システムに入力する。これにより、ユーザは入力情報を覚えていなくても安全に他の認証システムを利用できる。また、例えば、秘密情報wとして復号鍵を使用する。生体認証によって秘密情報wを正常に復元できた場合、認証装置100は、秘密情報w(復号鍵)を用いて、暗号化によって保護されている他の秘密情報を復元する。
第2の実施の形態の情報処理システムによれば、登録時に生成された生体特徴コードxと照合時に生成された生体特徴コードyとが完全に一致しなくても、十分に近似していれば認証成功と判定される。よって、ユーザ認証を適切に実行することができる。また、生体特徴コードxそのものではなく生体特徴コードxをマスクしたマスク値がデータベース120に登録される。よって、生体特徴コードxが漏洩するリスクを低減できる。また、秘密情報wそのものではなく秘密情報wのハッシュ値がデータベース120に登録される。よって、秘密情報wが漏洩するリスクを低減できる。
また、登録時に、端末装置200,200aから認証装置100に対して生体特徴コードxのマスク値と秘密情報wのハッシュ値が送信される。よって、認証装置100と端末装置200,200aとの間の経路上で生体特徴コードxや秘密情報wが漏洩するリスクを低減できる。また、照合時に、端末装置200,200aから認証装置100に対して、生体特徴コードyのマスク値が送信される。よって、認証装置100と端末装置200,200aとの間の経路上で生体特徴コードyが漏洩するリスクを低減できる。
また、データベース120に登録された生体特徴コードxのマスク値は、秘密情報wに加えて認証装置100が知らない乱数s*にも依存する。よって、認証装置100で復元された秘密情報wを悪意ある管理者または攻撃者が知っても、データベース120から生体特徴コードxを推定することは困難であり、生体特徴コードxが漏洩するリスクを低減できる。また、照合時に取得する生体特徴コードyのマスク値は、認証装置100が知らない乱数sに依存する。よって、悪意ある管理者または攻撃者が生体特徴コードyを推定することは困難であり、生体特徴コードyが漏洩するリスクを低減できる。
また、二重に誤り訂正符号化を行うことで、復号時に乱数s,s*を軽微なノイズとして除去できると共に、生体特徴コードx,yの差分が十分に小さい場合には当該差分を軽微なノイズとして除去できる。よって、ユーザ認証を適切に実行することができる。
なお、前述のように、第1の実施の形態の情報処理は、暗号データ処理装置10にプログラムを実行させることで実現できる。第2の実施の形態の情報処理は、認証装置100および端末装置200,200aにプログラムを実行させることで実現できる。
プログラムは、コンピュータ読み取り可能な記録媒体(例えば、記録媒体113)に記録しておくことができる。記録媒体として、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、FDおよびHDDが含まれる。光ディスクには、CD、CD−R(Recordable)/RW(Rewritable)、DVDおよびDVD−R/RWが含まれる。プログラムは、可搬型の記録媒体に記録されて配布されることがある。その場合、可搬型の記録媒体から他の記録媒体(例えば、HDD103)にプログラムをコピーして実行してもよい。
10 暗号データ処理装置
11 記憶部
12 データ処理部
13a,13b 誤り訂正符号化方法
14a データ
14b 登録対象データ
14c 照合対象データ
15a,15b,15c 符号
16a,16b 乱数
17a,17b マスクデータ
17c 合成データ

Claims (6)

  1. 情報処理システムが実行する暗号データ処理方法であって、
    一のデータから第2の誤り訂正符号化方法を用いて第1の符号を生成し、前記第1の符号および第1の乱数から第1の誤り訂正符号化方法を用いて第2の符号を生成し、
    登録対象データを前記第2の符号を用いてマスクした第1のマスクデータを生成し、前記第1のマスクデータをデータベースに登録させ、
    第2の乱数から前記第1の誤り訂正符号化方法を用いて第3の符号を生成し、
    照合対象データを前記第3の符号を用いてマスクした第2のマスクデータを生成し、
    前記第2のマスクデータと前記データベースに登録された前記第1のマスクデータとを合成した合成データを生成し、前記合成データを前記第1の誤り訂正符号化方法および前記第2の誤り訂正符号化方法に応じて復号する、
    暗号データ処理方法。
  2. 前記情報処理システムが更に、
    前記一のデータからハッシュ関数を用いて第1のハッシュ値を生成し、前記第1のハッシュ値を前記データベースに登録させ、
    前記合成データの復号結果から前記ハッシュ関数を用いて第2のハッシュ値を生成し、
    前記第2のハッシュ値と前記データベースに登録された前記第1のハッシュ値とを比較する、
    請求項1記載の暗号データ処理方法。
  3. 前記第1の誤り訂正符号化方法は線形符号化方法であり、
    前記第2の誤り訂正符号化方法は線形符号化方法または非線形符号化方法である、
    請求項1記載の暗号データ処理方法。
  4. 記憶装置と、
    一のデータから第2の誤り訂正符号化方法を用いて第1の符号を生成し、前記第1の符号および第1の乱数から第1の誤り訂正符号化方法を用いて第2の符号を生成し、登録対象データを前記第2の符号を用いてマスクした第1のマスクデータを生成し、前記第1のマスクデータを前記記憶装置に登録させる第1のノードと、
    第2の乱数から前記第1の誤り訂正符号化方法を用いて第3の符号を生成し、照合対象データを前記第3の符号を用いてマスクした第2のマスクデータを生成する第2のノードと、
    前記第2のマスクデータと前記記憶装置に登録された前記第1のマスクデータとを合成した合成データを生成し、前記合成データを前記第1の誤り訂正符号化方法および前記第2の誤り訂正符号化方法に応じて復号する第3のノードと、
    を有する暗号データ処理システム。
  5. 記憶部と、
    一のデータから第2の誤り訂正符号化方法を用いて第1の符号を生成し、前記第1の符号および第1の乱数から第1の誤り訂正符号化方法を用いて第2の符号を生成し、登録対象データを前記第2の符号を用いてマスクした第1のマスクデータを生成し、前記第1のマスクデータを前記記憶部に登録させ、第2の乱数から前記第1の誤り訂正符号化方法を用いて第3の符号を生成し、照合対象データを前記第3の符号を用いてマスクした第2のマスクデータを生成し、前記第2のマスクデータと前記記憶部に登録された前記第1のマスクデータとを合成した合成データを生成し、前記合成データを前記第1の誤り訂正符号化方法および前記第2の誤り訂正符号化方法に応じて復号するデータ処理部と、
    を有する暗号データ処理装置。
  6. コンピュータに、
    一のデータから第2の誤り訂正符号化方法を用いて第1の符号を生成し、前記第1の符号および第1の乱数から第1の誤り訂正符号化方法を用いて第2の符号を生成し、
    登録対象データを前記第2の符号を用いてマスクした第1のマスクデータを生成し、前記第1のマスクデータをデータベースに登録させ、
    第2の乱数から前記第1の誤り訂正符号化方法を用いて第3の符号を生成し、
    照合対象データを前記第3の符号を用いてマスクした第2のマスクデータを生成し、
    前記第2のマスクデータと前記データベースに登録された前記第1のマスクデータとを合成した合成データを生成し、前記合成データを前記第1の誤り訂正符号化方法および前記第2の誤り訂正符号化方法に応じて復号する、
    処理を実行させる暗号データ処理プログラム。
JP2015180148A 2015-09-11 2015-09-11 暗号データ処理方法、暗号データ処理システム、暗号データ処理装置および暗号データ処理プログラム Active JP6488954B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015180148A JP6488954B2 (ja) 2015-09-11 2015-09-11 暗号データ処理方法、暗号データ処理システム、暗号データ処理装置および暗号データ処理プログラム
US15/259,632 US10115323B2 (en) 2015-09-11 2016-09-08 Encrypted-data processing method, system, and apparatus
EP16188046.3A EP3142292B1 (en) 2015-09-11 2016-09-09 Encrypted-data processing method, system, apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015180148A JP6488954B2 (ja) 2015-09-11 2015-09-11 暗号データ処理方法、暗号データ処理システム、暗号データ処理装置および暗号データ処理プログラム

Publications (2)

Publication Number Publication Date
JP2017055368A true JP2017055368A (ja) 2017-03-16
JP6488954B2 JP6488954B2 (ja) 2019-03-27

Family

ID=57083060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015180148A Active JP6488954B2 (ja) 2015-09-11 2015-09-11 暗号データ処理方法、暗号データ処理システム、暗号データ処理装置および暗号データ処理プログラム

Country Status (3)

Country Link
US (1) US10115323B2 (ja)
EP (1) EP3142292B1 (ja)
JP (1) JP6488954B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3602365B1 (en) * 2017-03-24 2024-02-14 Visa International Service Association Authentication system using secure multi-party computation
US10951607B2 (en) * 2018-05-14 2021-03-16 GM Global Technology Operations LLC Authentication methods and systems
CN116756718B (zh) * 2023-08-14 2023-12-01 安徽大学 一种基于U-Sketch的生物特征数据纠错方法、系统、工具

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120592A1 (en) * 2000-11-27 2002-08-29 Ari Juels Order invariant fuzzy commitment system
JP2002538504A (ja) * 1999-02-11 2002-11-12 アールエスエイ セキュリティー インコーポレーテッド ファジー・コミットメント方式
JP2009296217A (ja) * 2008-06-04 2009-12-17 Hitachi Ltd 暗号通信装置
JP2011523725A (ja) * 2007-12-20 2011-08-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ テンプレート保護システムにおける分類閾値の規定
JP2012533138A (ja) * 2009-07-09 2012-12-20 サムスン エレクトロニクス カンパニー リミテッド 情報符号化方法、情報復号化方法、記録/再生装置及び情報記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2316120C2 (ru) * 2004-05-12 2008-01-27 Корпорация "Самсунг Электроникс" Биометрическая система аутентификации
JPWO2006093238A1 (ja) 2005-03-03 2008-08-07 松下電器産業株式会社 認証補助装置、認証主装置、集積回路及び認証方法
JP5007676B2 (ja) * 2008-01-31 2012-08-22 富士通株式会社 符号化装置、復号化装置、符号化・復号化装置及び記録再生装置
US9049191B2 (en) * 2010-09-30 2015-06-02 Panasonic Corporation Biometric authentication system, communication terminal device, biometric authentication device, and biometric authentication method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002538504A (ja) * 1999-02-11 2002-11-12 アールエスエイ セキュリティー インコーポレーテッド ファジー・コミットメント方式
US20020120592A1 (en) * 2000-11-27 2002-08-29 Ari Juels Order invariant fuzzy commitment system
JP2011523725A (ja) * 2007-12-20 2011-08-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ テンプレート保護システムにおける分類閾値の規定
JP2009296217A (ja) * 2008-06-04 2009-12-17 Hitachi Ltd 暗号通信装置
JP2012533138A (ja) * 2009-07-09 2012-12-20 サムスン エレクトロニクス カンパニー リミテッド 情報符号化方法、情報復号化方法、記録/再生装置及び情報記録媒体

Also Published As

Publication number Publication date
US10115323B2 (en) 2018-10-30
JP6488954B2 (ja) 2019-03-27
EP3142292B1 (en) 2019-10-16
EP3142292A1 (en) 2017-03-15
US20170076639A1 (en) 2017-03-16

Similar Documents

Publication Publication Date Title
US10904006B2 (en) Method and apparatus for cryptographic data processing
JP6504013B2 (ja) 暗号処理方法、暗号処理装置、および暗号処理プログラム
Chang et al. Cancelable multi-biometric approach using fuzzy extractor and novel bit-wise encryption
Panchal et al. Biometric-based cryptography for digital content protection without any key storage
US11227037B2 (en) Computer system, verification method of confidential information, and computer
US10985914B2 (en) Key generation device and key generation method
US20180204004A1 (en) Authentication method and apparatus for reinforced software
US11741263B1 (en) Systems and processes for lossy biometric representations
JP6738062B2 (ja) 暗号文照合システム、方法、および記録媒体
Maiorana et al. User adaptive fuzzy commitment for signature template protection and renewability
Bansal et al. A cancelable biometric identification scheme based on bloom filter and format-preserving encryption
JP6488954B2 (ja) 暗号データ処理方法、暗号データ処理システム、暗号データ処理装置および暗号データ処理プログラム
JP6738061B2 (ja) 暗号文照合システム、方法、および記録媒体
KR20180006250A (ko) 암호 파일을 관리하는 모바일 장치의 방법 및 그것을 포함하는 암호 파일 관리 시스템
CN104751042A (zh) 基于密码哈希与生物特征识别的可信性检测方法
Gao et al. NoisFre: Noise-tolerant memory fingerprints from commodity devices for security functions
KR102375973B1 (ko) 사례기반 추론엔진을 이용한 보안 서버 및 보안 기능의 설치를 위한 저장 매체
US20080199041A1 (en) Shaping Classification Boundaries In Template Protection Systems
KR102024379B1 (ko) 생체 정보 기반의 전자 서명이 가능한 데이터 전송 장치 및 그 동작 방법
TWI774902B (zh) 密鑰保護方法及密鑰保護系統
Abidin et al. Uncoupling biometrics from templates for secure and privacy-preserving authentication
Arun Jeba Kumar et al. A Review of Security Analysis of Wearable Implantable Medical Devices Using Biometric Encryption
KR101960797B1 (ko) 생체 정보를 이용한 otp 인증 방법 및 이를 실행하는 시스템
Kanade et al. Obtaining cryptographic keys using multi-biometrics
Rudd et al. Caliper: continuous authentication layered with integrated PKI encoding recognition

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181228

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: 20190129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190211

R150 Certificate of patent or registration of utility model

Ref document number: 6488954

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150