JP6277734B2 - 情報処理プログラム、情報処理装置および情報処理方法 - Google Patents

情報処理プログラム、情報処理装置および情報処理方法 Download PDF

Info

Publication number
JP6277734B2
JP6277734B2 JP2014008151A JP2014008151A JP6277734B2 JP 6277734 B2 JP6277734 B2 JP 6277734B2 JP 2014008151 A JP2014008151 A JP 2014008151A JP 2014008151 A JP2014008151 A JP 2014008151A JP 6277734 B2 JP6277734 B2 JP 6277734B2
Authority
JP
Japan
Prior art keywords
ciphertext
feature information
information
unit
hamming distance
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
JP2014008151A
Other languages
English (en)
Other versions
JP2015139014A (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 JP2014008151A priority Critical patent/JP6277734B2/ja
Priority to EP14197912.0A priority patent/EP2905921B1/en
Priority to US14/577,482 priority patent/US9531539B2/en
Publication of JP2015139014A publication Critical patent/JP2015139014A/ja
Application granted granted Critical
Publication of JP6277734B2 publication Critical patent/JP6277734B2/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
    • 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
    • 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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3823Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions
    • G06Q20/40145Biometric identity checks
    • 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
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Collating Specific Patterns (AREA)

Description

本発明は、情報処理プログラム、情報処理装置および情報処理方法に関する。
近年、指紋認証や静脈認証などの生体認証を用いて、例えば銀行のATM(Automated Teller Machine)で本人認証を行う認証システムが知られている。生体認証は、ユーザの身体的、行動的特徴である生体情報を利用した認証技術である。認証に用いるユーザの生体情報は、忘却や紛失の恐れはないが、ユーザの終生に渡って不変であるため、万一漏洩してしまうと取り返しが付かなくなる。このため、ユーザの生体情報を乱数付加、暗号化等によって保護した状態で認証を行うことが提案されている。
国際公開第2011/052056号
しかしながら、ユーザの生体情報を端末装置で公開鍵暗号を用いて暗号化したとしても、秘密鍵を有する認証サーバは暗号を復号可能であるので、認証サーバのセキュリティが破られるとユーザの生体情報が漏洩することになる。従って、漏洩したユーザの生体情報は、今後用いることができなくなる。すなわち、生体情報を暗号化するのみでは、認証サーバのセキュリティが破られると、認証システム自体が破綻することになる。
一つの側面では、本発明は、認証サーバに対して生体情報を秘匿できる情報処理プログラム、情報処理装置および情報処理方法を提供することにある。
一つの態様では、情報処理プログラムは、コンピュータに、ユーザの生体情報に基づく特徴情報を生成し、生成された前記特徴情報と乱数との論理演算により、第1の暗号文を算出する処理を実行させる。また、情報処理プログラムは、コンピュータに、前記第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化する処理を実行させる。
認証サーバに対して生体情報を秘匿できる。
図1は、実施例1の認証システムの概要を説明する説明図である。 図2は、実施例1の認証システムの構成の一例を示すブロック図である。 図3は、実施例1の認証システムの登録時の動作の一例を示すシーケンス図である。 図4は、実施例1の認証システムの照合時の動作の一例を示すシーケンス図である。 図5は、実施例2の認証システムの概要を説明する説明図である。 図6は、実施例2の認証システムの構成の一例を示すブロック図である。 図7は、実施例2の認証システムの登録時の動作の一例を示すシーケンス図である。 図8は、実施例2の認証システムの照合時の動作の一例を示すシーケンス図である。 図9は、実施例3の認証システムの概要を説明する説明図である。 図10は、実施例3の認証システムの構成の一例を示すブロック図である。 図11は、実施例3の認証システムの登録時の動作の一例を示すシーケンス図である。 図12は、実施例3の認証システムの照合時の動作の一例を示すシーケンス図である。 図13は、情報処理プログラムを実行するコンピュータの一例を示す説明図である。
以下、図面に基づいて、本願の開示する情報処理プログラム、情報処理装置および情報処理方法の実施例を詳細に説明する。なお、本実施例により、開示技術が限定されるものではない。また、以下の実施例は、矛盾しない範囲で適宜組みあわせてもよい。
まず、図1を用いて、実施例1の認証システムの概要について説明する。図1は、実施例1の認証システムの概要を説明する説明図である。図1に示す認証システム1は、端末装置10と、計算サーバ100と、認証サーバ200とを有する。端末装置10、計算サーバ100および認証サーバ200は、相互に通信可能に接続されている。
端末装置10は、情報処理装置であり、認証システム1において、ユーザの生体情報の登録および照合を行う端末装置である。端末装置10は、生体情報の登録および照合を行う場合に、ユーザの生体情報を取得して、取得した生体情報をXOR(exclusive or;排他的論理和)と準同型暗号との2段階で暗号化して計算サーバ100に送信する。
生体情報の登録時は、例えば、端末装置10の図示しないセンサによりユーザの生体情報を取得し、取得した生体情報に基づいて、特徴情報として特徴ベクトルAを生成する(ステップS31a)。端末装置10は、特徴ベクトルAと、ユーザが指定したパスワード等に基づいて生成されたユーザ固有の乱数Rとの排他的論理和を算出して、XOR暗号化を行って第1の暗号文を算出する(ステップS32a)。
[文字1]
Figure 0006277734
は、排他的論理和を示し、以下、xorとも表現する。
端末装置10は、さらに、第1の暗号文を、暗号化した状態でハミング距離(秘匿距離)を算出可能なアルゴリズム、例えば、準同型暗号の公開鍵を用いて第2の暗号文に暗号化し、第2の暗号文を計算サーバ100に送信する(ステップS33a)。計算サーバ100は、端末装置10から第2の暗号文を受信すると、第2の暗号文を登録情報として記憶する(ステップS34a)。
また、生体情報の照合時は、登録時と同様に取得した生体情報に基づいて、特徴情報として特徴ベクトルBを生成する(ステップS41a)。端末装置10は、特徴ベクトルBと、ユーザが指定したパスワード等に基づいて生成されたユーザ固有の乱数Rとの排他的論理和を算出して、XOR暗号化を行って第1の暗号文を算出する(ステップS42a)。
端末装置10は、さらに、第1の暗号文を、暗号化した状態でハミング距離(秘匿距離)を算出可能なアルゴリズム、例えば、準同型暗号の公開鍵を用いて第2の暗号文に暗号化し、第2の暗号文を計算サーバ100に送信する(ステップS43a)。計算サーバ100は、端末装置10から第2の暗号文を受信すると、当該第2の暗号文と、登録時に登録情報として記憶された第2の暗号文との間で暗号化された状態でハミング距離を算出する。計算サーバ100は、算出したハミング距離を認証サーバ200に送信する(ステップS44a)。認証サーバ200は、ハミング距離を受信すると、準同型暗号の秘密鍵を用いて復号し、平文となったハミング距離が所定値未満である場合に、照合結果としてOK、つまり認証可とする照合結果を端末装置10に送信する。また、認証サーバ200は、平文となったハミング距離が所定値以上である場合に、照合結果としてNG、つまり認証不可とする照合結果を端末装置10に送信する(ステップS45a)。
このとき、準同型暗号の秘密鍵は、認証サーバ200のみが有する。つまり、認証サーバ200は、計算サーバ100の第2の暗号文を復号可能である。しかし、認証サーバ200は、第2の暗号文を復号したとしても、XOR暗号化された第1の暗号文を得ることができるのみで、乱数Rを知らないので特徴ベクトルAまたはBについては、復号することができない。これにより、端末装置10を操作するユーザは、認証サーバ200に対して生体情報を秘匿することができる。
次に、図2を用いて、実施例1の認証システム1の構成について説明する。図2は、実施例1の認証システムの構成の一例を示すブロック図である。図2に示す認証システム1は、端末装置10と、計算サーバ100と、認証サーバ200とを有する。なお、図2には、システムが1つの端末装置10を有する場合を示したが、端末装置10の数は限定されず、認証システム1は、任意の数の端末装置10を有してもよい。
端末装置10、計算サーバ100および認証サーバ200の間は、ネットワークNを介して相互に通信可能に接続される。かかるネットワークNには、有線または無線を問わず、インターネット(Internet)を始め、LAN(Local Area Network)やVPN(Virtual Private Network)などの任意の種類の通信網を採用できる。
端末装置10は、通信部11と、記憶部12と、取得部13と、制御部14とを有する。なお、端末装置10は、図2に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
通信部11は、例えば、NIC(Network Interface Card)等によって実現される。通信部11は、ネットワークNを介して計算サーバ100および認証サーバ200と有線または無線で接続され、計算サーバ100および認証サーバ200との間で情報の通信を司る通信インタフェースである。通信部11は、ユーザの生体情報に基づく特徴情報の登録時に、制御部14から入力された二重に暗号化された第2の暗号文を計算サーバ100に送信する。また、通信部11は、ユーザの生体情報に基づく特徴情報の照合時に、制御部14から入力された二重に暗号化された第2の暗号文を計算サーバ100に送信し、認証サーバ200から照合結果を受信する。通信部11は、受信した照合結果を制御部14に出力する。
記憶部12は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部12は、制御部14での処理に用いる情報を記憶する。
取得部13は、ユーザの生体情報を取得する。取得部13は、例えば、撮像センサ等によって指紋、網膜、虹彩、顔、血管等の画像を撮像し、撮像した画像の画像データを、生体情報として制御部14に出力する。なお、取得部13は、生体情報として画像データを取得することに限られず、音声、筆跡等を生体情報として取得するようにしてもよい。また、取得部13は、ユーザからのパスワードの入力を受け付けてパスワードを取得する。取得部13は、取得したパスワードを制御部14に出力する。
制御部14は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部14は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されるようにしてもよい。制御部14は、生成部15と、算出部16と、暗号化部17とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部14の内部構成は、図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部14は、通信部11から照合結果が入力されると、照合結果に応じた処理を実行する。さらに、制御部14は、特徴情報の登録時および照合時と、登録時と、照合時とのうち、いずれかの場合に、暗号化部17の暗号化する処理を実行するかを制御する処理を実行するようにしてもよい。
生成部15は、取得部13からユーザの生体情報が入力されると、生体情報から特徴を抽出して特徴情報を生成する。特徴情報は、例えば血管画像であれば、血管の詰まり具合(密度)、色の濃さ等に基づく情報とすることができる。また、特徴情報は、例えば指紋画像であれば、紋の分岐点等を特徴点として抽出した情報とすることができる。なお、特徴情報は、以下の説明では特徴ベクトルともいう。生成部15は、例えば、特徴情報の登録時の特徴ベクトルを特徴ベクトルAとし、特徴情報の照合時の特徴ベクトルを特徴ベクトルBとして、算出部16に出力する。
算出部16は、特徴情報と乱数との排他的論理和により、第1の暗号文を算出する。算出部16は、生成部15から特徴情報として特徴ベクトルAまたは特徴ベクトルBが入力される。算出部16は、特徴ベクトルAと乱数Rとの排他的論理和により第1の暗号文を算出する。また、算出部16は、特徴ベクトルBと乱数Rとの排他的論理和により第1の暗号文を算出する。なお、以下の説明では、特徴情報の登録時と照合時の第1の暗号文を区別する場合には、例えば、登録時における特徴ベクトルAと乱数Rとの排他的論理和により算出された第1の暗号文を第3の暗号文として説明する。また、当該場合には、例えば、照合時における特徴ベクトルBと乱数Rとの排他的論理和により算出された第1の暗号文を第4の暗号文として説明する。
ここで、算出部16は、例えば、取得部13から入力されたパスワードをシードとして乱数Rを生成する。乱数Rの生成は、既知の乱数生成方法によって行う。乱数Rは、例えば、ISO/IEC 18031、ANS X9.82,NIST SP800−90等に規定される方法によって生成することができる。なお、乱数Rは、シードが同じであれば、異なる端末装置であっても同一の乱数Rとなる。また、乱数Rのシードは、パスワードを予めIC(Integrated Circuit)カードに記憶させ、図示しないICカードリーダを用いて取得してもよいし、ユーザ固有の値であれば、パスワード以外の情報を用いてもよい。また、上記の排他的論理和は、二進数のビットごとの排他的論理和である。算出部16は、算出した第3の暗号文または第4の暗号文を暗号化部17に出力する。
暗号化部17は、XOR暗号化された第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズム、例えば、準同型暗号を用いて、第2の暗号文に暗号化する。詳しく説明すると、例えば、暗号化部17は、第1の暗号文として、算出部16から第3の暗号文または第4の暗号文が入力される。暗号化部17は、第3の暗号文を、準同型暗号の公開鍵を用いて当該第3の暗号文に対応する第2の暗号文に暗号化する。以下の説明では、当該第3の暗号文に対応する第2の暗号文を区別する場合には、第5の暗号文として説明する。また、暗号化部17は、第4の暗号文を、準同型暗号の公開鍵を用いて当該第4の暗号文に対応する第2の暗号文に暗号化する。以下の説明では、当該第4の暗号文に対応する第2の暗号文を区別する場合には、第6の暗号文として説明する。暗号化部17は、暗号化を行うアルゴリズムとして、例えば、Ideal lattices、Ring−LWE(Learning With Errors)等の格子ベース準同型暗号を用いることができる。なお、準同型暗号の公開鍵は、予め認証サーバ200から配信された公開鍵を用いる。
暗号化部17は、暗号化された第2の暗号文を、通信部11を介して計算サーバ100に送信する。すなわち、暗号化部17は、ユーザの生体情報に基づく特徴情報の登録時には、第5の暗号文を通信部11を介して計算サーバ100に送信し、ユーザの生体情報に基づく特徴情報の照合時には、第6の暗号文を通信部11を介して計算サーバ100に送信する。
計算サーバ100は、通信部110と、記憶部120と、制御部130とを有する。なお、計算サーバ100は、図2に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
通信部110は、例えば、NIC等によって実現される。通信部110は、ネットワークNを介して端末装置10および認証サーバ200と有線または無線で接続され、端末装置10および認証サーバ200との間で情報の通信を司る通信インタフェースである。通信部110は、端末装置10から第2の暗号文を受信する。通信部110は、例えば、ユーザの生体情報に基づく特徴情報の登録時には、第2の暗号文として第5の暗号文を受信する。また、通信部110は、例えば、ユーザの生体情報に基づく特徴情報の照合時には、第2の暗号文として第6の暗号文を受信する。通信部110は、受信した第2の暗号文を制御部130に出力する。また、通信部110は、制御部130からハミング距離が入力されると、当該ハミング距離を認証サーバ200に送信する。
記憶部120は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部120は、登録情報記憶部121を有する。また、記憶部120は、制御部130での処理に用いる情報を記憶する。
登録情報記憶部121は、端末装置10から受信した第2の暗号文を、各ユーザが識別可能なように、例えば、ユーザID(IDentifier)と対応付けて記憶する。すなわち、登録情報記憶部121は、例えば、第2の暗号文として第5の暗号文を、各ユーザが識別可能なように、例えば、ユーザIDと対応付けて記憶する。
制御部130は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。制御部130は、算出部131を有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部130の内部構成は、図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
算出部131は、通信部110から第2の暗号文として第5の暗号文が入力されると、第5の暗号文を登録情報記憶部121に記憶する。算出部131は、通信部110から第2の暗号文として第6の暗号文が入力されると、登録情報記憶部121から第6の暗号文のユーザに対応する第5の暗号文を読みだして、第5の暗号文と第6の暗号文とのハミング距離を算出する。ハミング距離HWは、第5の暗号文の特徴ベクトルをA、第6暗号文の特徴ベクトルをB、公開鍵をpkとすると、下記の式(1)で表すことができる。なお、Eは暗号文であることを示す。
Figure 0006277734
式(1)の左辺は、準同型暗号の加算演算、および乗算(二乗算)を用いて、下記の式(2)のように算出できる。なお、式(2)では、式(1)の左辺をcと表す。また、以下の説明では、算出されたハミング距離をベクトルの引き算として、|A−B|とも表す。
Figure 0006277734
式(1)に示すように、ハミング距離HW(AxorB)は、乱数Rが消滅するので、計算サーバ100は、乱数Rを知らずともハミング距離を算出することができる。算出部131は、算出したハミング距離を、通信部110を介して認証サーバ200に送信する。
ここで、ハミング距離の算出は、特願2012−286251号に示す方法を用いることで高速化できる。当該方法は、格子ベース準同型暗号を利用したハミング距離(秘匿距離)計算において、特徴ベクトル(暗号ベクトルデータ)のサイズとハミング距離の算出時間との両方を削減できる。当該方法は、特徴ベクトルを多項式に変換し、変換多項式を1つの暗号文として秘匿する。当該方法は、ハミング距離の算出として、下記の式(3)に示すような格子準同型暗号が持つ多項式演算の暗号操作を利用する。つまり、ハミング距離は、暗号乗算1回+暗号加算2回+暗号減算1回+暗号スカラー1回で算出できる。これにより、当該方法では、ハミング距離の暗号文のデータサイズと、ハミング距離の算出時間との大幅な削減が可能となる。なお、当該方法は、処理の高速化のために、照合時に用いる乱数は、登録時の乱数Rのビットの並びを逆順にしたものを用いる。
Figure 0006277734
ハミング距離の暗号文のデータサイズは、例えば2048次元の場合、従来は(E(a1),・・・,E(a2048))より、2048個の暗号文となるが、当該方法では、E(a(x))より、1個の暗号文となり、データサイズを2048分の1に削減できる。また、ハミング距離の算出時間は、従来は下記の式(4)に示す算出時間thのように、2048回の暗号乗算が必要であったのに対して、当該方法では、下記の式(5)に示す算出時間thのように、1回の暗号乗算となる。つまり、当該方法では、従来に比べ2048倍高速化できる。例えば、当該方法では、2048次元(2048ビット)に対して数ミリ秒で照合できる。すなわち、当該方法では、実用的な時間で照合処理が可能となる。
Figure 0006277734
Figure 0006277734
認証サーバ200は、通信部210と、記憶部220と、制御部230とを有する。なお、認証サーバ200は、図2に示す機能部以外にも既知のコンピュータが有する各種の機能部、例えば各種の入力デバイスや音声出力デバイスなどの機能部を有することとしてもかまわない。
通信部210は、例えば、NIC等によって実現される。通信部210は、ネットワークNを介して端末装置10および計算サーバ100と有線または無線で接続され、端末装置10および計算サーバ100との間で情報の通信を司る通信インタフェースである。通信部210は、計算サーバ100からハミング距離を受信する。通信部210は、受信したハミング距離を制御部230に出力する。また、通信部210は、制御部230から照合結果が入力されると、当該照合結果を端末装置10に送信する。
記憶部220は、例えば、RAM、フラッシュメモリ等の半導体メモリ素子、ハードディスクや光ディスク等の記憶装置によって実現される。記憶部220は、制御部230での処理に用いる情報を記憶する。
制御部230は、例えば、CPUやMPU等によって、内部の記憶装置に記憶されているプログラムがRAMを作業領域として実行されることにより実現される。また、制御部230は、例えば、ASICやFPGA等の集積回路により実現されるようにしてもよい。制御部230は、判定部231を有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部230の内部構成は、図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部230は、準同型暗号の公開鍵および秘密鍵を管理し、公開鍵を通信部210を介して認証システム1に属する端末装置10に配信する。
判定部231は、通信部210からハミング距離が入力されると、ハミング距離を準同型暗号の秘密鍵で復号する。判定部231は、復号された平文のハミング距離が所定値未満であるか否かを判定する。判定部231は、復号された平文のハミング距離が所定値未満である場合には、認証可(OK)と判定する。判定部231は、復号された平文のハミング距離が所定値以上である場合には、認証不可(NG)と判定する。判定部231は、所定値として、概ねハミング距離のビット列の半分程度、例えば、ハミング距離が2048次元のビット列であるときには、1024ビットとすることができる。判定部231は、判定内容を照合結果として、通信部210を介して端末装置10に送信する。
次に、実施例1の認証システム1の動作について説明する。
まず、ユーザの生体情報aを認証システム1に登録する場合を説明する。図3は、実施例1の認証システムの登録時の動作の一例を示すシーケンス図である。なお、以下の説明では、乱数Rはユーザが入力したパスワードをシードとして生成する場合を一例として説明する。端末装置10の取得部13は、ユーザの生体情報aを取得して制御部14に出力する(ステップS1)。制御部14の生成部15は、取得部13からユーザの生体情報aが入力されると、生体情報aから特徴を抽出して特徴情報A(特徴ベクトルA)を生成する(ステップS2)。生成部15は、生成した特徴情報Aを算出部16に出力する。
また、取得部13は、ユーザによって入力されたパスワードを取得して制御部14に出力する(ステップS3)。制御部14の算出部16は、入力されたパスワードをシードとして乱数Rを生成する(ステップS4)。
算出部16は、生成部15から特徴情報Aが入力されると、特徴情報Aと乱数Rとの排他的論理和により第1の暗号文として第3の暗号文を算出する(ステップS5)。算出部16は、算出した第3の暗号文を暗号化部17に出力する。
暗号化部17は、算出部16から第3の暗号文が入力されると、認証サーバ200から配信された準同型暗号の公開鍵を用いて準同型暗号化処理を実行する。暗号化部17は、第3の暗号文を、当該第3の暗号文に対応する第2の暗号文として第5の暗号文に暗号化する(ステップS6)。暗号化部17は、暗号化された第5の暗号文を、通信部11を介して計算サーバ100に送信する(ステップS7)。
計算サーバ100の通信部110は、端末装置10から第5の暗号文を受信して、当該第5の暗号文を制御部130に出力する(ステップS8)。制御部130の算出部131は、通信部110から第5の暗号文が入力されると、第5の暗号文を登録情報記憶部121に記憶する(ステップS9)。これにより、認証システム1に当該ユーザの生体情報aに基づく特徴情報Aを登録することができる。
次に、ユーザの生体情報bを認証システム1を用いて認証する場合を説明する。図4は、実施例1の認証システムの照合時の動作の一例を示すシーケンス図である。なお、以下の説明では、登録時と同様に、乱数Rはユーザが入力したパスワードをシードとして生成する場合を一例として説明する。端末装置10の取得部13は、ユーザの生体情報bを取得して制御部14に出力する(ステップS11)。制御部14の生成部15は、取得部13からユーザの生体情報bが入力されると、生体情報bから特徴を抽出して特徴情報B(特徴ベクトルB)を生成する(ステップS12)。生成部15は、生成した特徴情報Bを算出部16に出力する。
また、取得部13は、ユーザによって入力されたパスワードを取得して制御部14に出力する(ステップS13)。制御部14の算出部16は、入力されたパスワードをシードとして乱数Rを生成する(ステップS14)。なお、乱数Rは、登録時と同じパスワードが入力されれば、登録時と照合時とで同一の乱数Rとなる。
算出部16は、生成部15から特徴情報Bが入力されると、特徴情報Bと乱数Rとの排他的論理和により第1の暗号文として第4の暗号文を算出する(ステップS15)。算出部16は、算出した第4の暗号文を暗号化部17に出力する。
暗号化部17は、算出部16から第4の暗号文が入力されると、認証サーバ200から配信された準同型暗号の公開鍵を用いて準同型暗号化処理を実行する。暗号化部17は、第4の暗号文を、当該第4の暗号文に対応する第2の暗号文として第6の暗号文に暗号化する(ステップS16)。暗号化部17は、暗号化された第6の暗号文を、通信部11を介して計算サーバ100に送信する(ステップS17)。
計算サーバ100の通信部110は、端末装置10から第6の暗号文を受信して、当該第6の暗号文を制御部130に出力する(ステップS18)。制御部130の算出部131は、通信部110から第6の暗号文が入力されると、登録情報記憶部121から第6の暗号文のユーザに対応する第5の暗号文を読みだして、第5の暗号文と第6の暗号文とのハミング距離を算出する(ステップS19)。算出部131は、算出したハミング距離を、通信部110を介して認証サーバ200に送信する(ステップS20)。
認証サーバ200の通信部210は、計算サーバ100からハミング距離を受信する(ステップS21)。通信部210は、受信したハミング距離を制御部230に出力する。制御部230の判定部231は、通信部210からハミング距離が入力されると、ハミング距離を準同型暗号の秘密鍵で復号する(ステップS22)。判定部231は、復号された平文のハミング距離と所定値とを照合する(ステップS23)。すなわち、判定部231は、復号された平文のハミング距離が所定値未満であるか否かを判定する。判定部231は、復号された平文のハミング距離が所定値未満である場合には、認証可(OK)と判定する。判定部231は、復号された平文のハミング距離が所定値以上である場合には、認証不可(NG)と判定する。判定部231は、判定内容を照合結果として、通信部210を介して端末装置10に送信する(ステップS24)。
端末装置10の通信部11は、認証サーバ200から照合結果を受信して、受信した照合結果を制御部14に出力する(ステップS25)。制御部14は、通信部11から照合結果が入力されると、照合結果に応じた処理を実行する。これにより、認証システム1に登録された当該ユーザの特徴情報Aと、新たに入力された特徴情報Bとを照合することができる。
このように、端末装置10は、ユーザの生体情報に基づく特徴情報を生成する。また、端末装置10は、生成された特徴情報と、乱数との排他的論理和により、第1の暗号文を算出する。また、端末装置10は、第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化する。その結果、認証サーバ200に対して生体情報を秘匿できる。
また、端末装置10は、暗号アルゴリズムとして準同型暗号を用いて、第1の暗号文を、第2の暗号文に暗号化する。その結果、ユーザの生体情報に係る特徴情報を暗号化した状態でハミング距離を算出できる。
また、端末装置10は、乱数としてユーザに固有の乱数を用いて、第1の暗号文を算出する。その結果、セキュリティ強度を向上させることができる。
また、端末装置10は、ユーザの生体情報に基づく特徴情報の登録時に、特徴情報を生成し、生成された特徴情報と乱数との排他的論理和により、第1の暗号文を算出する。また、端末装置10は、第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化する。また、端末装置10は、特徴情報の照合時に、特徴情報を生成し、生成された特徴情報と乱数との排他的論理和により、第1の暗号文を算出し、第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化する。その結果、特徴情報の登録時および照合時において二重に暗号化するので、認証サーバ200に対してより強固に生体情報を秘匿できる。
また、上記実施例1では、ユーザの生体情報に係る特徴情報について、端末装置10で登録時および照合時について準同型暗号化を行ったが、これに限定されない。例えば、端末装置10に、さらに、暗号化する処理の実行を制御する処理を実行させ、例えば、照合時には、ユーザの生体情報に係る特徴情報について準同型暗号化を省略し、排他的論理和を算出するXOR暗号化のみを行ってもよい。
照合時に、ユーザの生体情報に係る特徴情報について準同型暗号化を省略し、排他的論理和を算出するXOR暗号化のみを行う実施の形態につき、実施例2として以下に説明する。なお、上記実施例1の端末装置10および計算サーバ100と同一の構成には、それぞれ同一の符号を付すことで、その重複する構成および動作の説明については省略する。実施例2の端末装置20が実施例1の端末装置10と異なるところは、照合時に、ユーザの生体情報に係る特徴情報について準同型暗号化を省略し、排他的論理和を算出するXOR暗号化のみを行う点にある。
まず、図5を用いて、実施例2の認証システムの概要について説明する。図5は、実施例2の認証システムの概要を説明する説明図である。図5に示す実施例2の認証システム2は、実施例1の認証システム1と比べてステップS43aに相当する準同型暗号化処理が省略され、端末装置20が第1の暗号文として第4の暗号文を計算サーバ150に送信する点が異なる(ステップS42b)。また、実施例2の認証システム2は、実施例1の認証システム1と比べて第4の暗号文と第5の暗号文とでハミング距離を算出する点が異なる(ステップS44b)。
端末装置20は、認証システム2において、ユーザの生体情報の登録および照合を行う端末装置である。端末装置20は、生体情報の登録を行う場合に、ユーザの生体情報を取得して、取得した生体情報をXORと準同型暗号との2段階で暗号化して計算サーバ150に送信する。また、端末装置20は、生体情報の照合を行う場合に、ユーザの生体情報を取得して、取得した生体情報をXORの1段階のみ暗号化して計算サーバ150に送信する。
生体情報の登録時の動作であるステップS31b〜S34bは、実施例1の認証システム1のステップS31a〜S34aと、それぞれ同様の処理であるので、その説明を省略する。また、生体情報の照合時の動作であるステップS41b、S45bは、実施例1の認証システム1のステップS41a、S45aと同様の処理であるので、その説明を省略する。端末装置20は、特徴ベクトルBと、ユーザが指定したパスワード等に基づいて生成されたユーザ固有の乱数Rとの排他的論理和を算出して、XOR暗号化を行って第4の暗号文を算出し、算出した第4の暗号文を計算サーバ150に送信する(ステップS42b)。
計算サーバ150は、端末装置20から第4の暗号文を受信すると、第4の暗号文と登録情報として記憶された第5の暗号文との間で暗号化された状態でハミング距離を算出し、算出したハミング距離を認証サーバ200に送信する(ステップS44b)。認証サーバ200の動作は、実施例1の認証サーバ200と同様であるので、その説明を省略する。実施例2では、照合時の特徴情報がXOR暗号化のみであるので、照合時の暗号化、および、ハミング距離の算出を高速化できる。
次に、図6を用いて、実施例2の認証システム2の構成について説明する。実施例2の認証システム2は、実施例1の認証システム1の端末装置10に代えて端末装置20を有する。また、実施例2の端末装置20は、実施例1の端末装置10と比べ、暗号化部17に代えて暗号化部27を有する点、および、通信部11が介する暗号文が異なる。
さらに、実施例2の認証システム2は、実施例1の認証システム1の計算サーバ100に代えて計算サーバ150を有する。また、実施例2の計算サーバ150は、実施例1の計算サーバ100と比べ、算出部131に代えて算出部136を有する点、および、通信部110が介する暗号文が異なる。なお、端末装置20の通信部11、および、計算サーバ150の通信部110は、暗号文が暗号化部27および算出部136に応じて変化するのみであるので、その説明は省略する。
端末装置20の暗号化部27は、算出部16から第1の暗号文として第3の暗号文または第4の暗号文が入力される。暗号化部27は、第3の暗号文を、準同型暗号の公開鍵を用いて当該第3の暗号文に対応する第2の暗号文として第5の暗号文に暗号化する。暗号化部27は、暗号化を行うアルゴリズムとして、例えば、Ideal lattices、Ring−LWE等の格子ベース準同型暗号を用いることができる。なお、準同型暗号の公開鍵は、予め認証サーバ200から配信された公開鍵を用いる。暗号化部27は、第4の暗号文が入力された場合には、準同型暗号化処理を行わない。
暗号化部27は、暗号化された第5の暗号文、または、入力された第4の暗号文そのままを、通信部11を介して計算サーバ150に送信する。すなわち、暗号化部27は、ユーザの生体情報に基づく特徴情報の登録時には、第2の暗号文として第5の暗号文を通信部11を介して計算サーバ150に送信する。また、暗号化部27は、ユーザの生体情報に基づく特徴情報の照合時には、第1の暗号文として第4の暗号文を通信部11を介して計算サーバ150に送信する。
計算サーバ150の算出部136は、通信部110から第5の暗号文が入力されると、第5の暗号文を登録情報記憶部121に記憶する。算出部136は、通信部110から第4の暗号文が入力されると、登録情報記憶部121から第4の暗号文のユーザに対応する第5の暗号文を読みだして、第4の暗号文と第5の暗号文とのハミング距離を算出する。
ここで、ハミング距離の算出時間の高速化について説明する。まず、暗号化は、平文mの暗号文を下記の式(6)としたとき、下記の式(7)および式(8)で表すことができる。ここで、u、g、fは、暗号化時の乱数を示し、tは、平文空間のmodulusを示し、qは、暗号文空間のmodulusを示す。また、in Rqは、素数qを法とした多項式環の集合を示す。
Figure 0006277734
Figure 0006277734
Figure 0006277734
ただし、秘密鍵sk=s、公開鍵pk=(a,a)とすると、aは下記の式(9)で表すことができる。なお、a、eは、鍵生成時の乱数を示す。
Figure 0006277734
通常の暗号文処理、つまりハミング距離の算出では、平文m=AxorR、m’=BxorRに対する暗号文の乗算処理は、下記の式(10)に示すように、多項式×多項式を4回行うことになる。
Figure 0006277734
これに対し、実施例2の暗号文処理、つまりハミング距離の算出では、下記の式(11)に示すように、多項式×定数を2回行うので、式(10)に比べて処理コストを大幅に削減できる。例えば、実施例2では、実施例1と比較して、計算サーバ150の処理時間は数十倍程度高速化できる。なお、(BxorR)は、第2の暗号文のc0、c1に比べて遥かに小さい多項式である。
Figure 0006277734
算出部136は、算出したハミング距離を、通信部110を介して認証サーバ200に送信する。
次に、実施例2の認証システム2の動作について説明する。
まず、ユーザの生体情報aを認証システム2に登録する場合を説明する。図7は、実施例2の認証システムの登録時の動作の一例を示すシーケンス図である。なお、以下の説明では、乱数Rはユーザが入力したパスワードをシードとして生成する場合を一例として説明する。端末装置20の取得部13は、ユーザの生体情報aを取得して制御部14に出力する(ステップS51)。制御部14の生成部15は、取得部13からユーザの生体情報aが入力されると、生体情報aから特徴を抽出して特徴情報A(特徴ベクトルA)を生成する(ステップS52)。生成部15は、生成した特徴情報Aを算出部16に出力する。
また、取得部13は、ユーザによって入力されたパスワードを取得して制御部14に出力する(ステップS53)。制御部14の算出部16は、入力されたパスワードをシードとして乱数Rを生成する(ステップS54)。
算出部16は、生成部15から特徴情報Aが入力されると、特徴情報Aと乱数Rとの排他的論理和により第1の暗号文として第3の暗号文を算出する(ステップS55)。算出部16は、算出した第3の暗号文を暗号化部27に出力する。
暗号化部27は、算出部16から第3の暗号文が入力されると、認証サーバ200から配信された準同型暗号の公開鍵を用いて準同型暗号化処理を実行する。暗号化部27は、第3の暗号文を、当該第3の暗号文に対応する第2の暗号文として第5の暗号文に暗号化する(ステップS56)。暗号化部27は、暗号化された第5の暗号文を、通信部11を介して計算サーバ150に送信する(ステップS57)。
計算サーバ150の通信部110は、端末装置20から第5の暗号文を受信して、当該第5の暗号文を制御部130に出力する(ステップS58)。制御部130の算出部131は、通信部110から第5の暗号文が入力されると、第5の暗号文を登録情報記憶部121に記憶する(ステップS59)。これにより、認証システム2に当該ユーザの生体情報aに基づく特徴情報Aを登録することができる。
次に、ユーザの生体情報bを認証システム2を用いて認証する場合を説明する。図8は、実施例2の認証システムの照合時の動作の一例を示すシーケンス図である。なお、以下の説明では、登録時と同様に、乱数Rはユーザが入力したパスワードをシードとして生成する場合を一例として説明する。端末装置20の取得部13は、ユーザの生体情報bを取得して制御部14に出力する(ステップS71)。制御部14の生成部15は、取得部13からユーザの生体情報bが入力されると、生体情報bから特徴を抽出して特徴情報B(特徴ベクトルB)を生成する(ステップS72)。生成部15は、生成した特徴情報Bを算出部16に出力する。
また、取得部13は、ユーザによって入力されたパスワードを取得して制御部14に出力する(ステップS73)。制御部14の算出部16は、入力されたパスワードをシードとして乱数Rを生成する(ステップS74)。なお、乱数Rは、登録時と同じパスワードが入力されれば、登録時と照合時とで同一の乱数Rとなる。
算出部16は、生成部15から特徴情報Bが入力されると、特徴情報Bと乱数Rとの排他的論理和により第1の暗号文として第4の暗号文を算出する(ステップS75)。算出部16は、算出した第4の暗号文を暗号化部27に出力する。
暗号化部27は、算出部16から第4の暗号文が入力されると、入力された第4の暗号文を、そのまま通信部11を介して計算サーバ150に送信する(ステップS76)。
計算サーバ150の通信部110は、端末装置20から第4の暗号文を受信して、当該第4の暗号文を制御部130に出力する(ステップS77)。制御部130の算出部136は、通信部110から第4の暗号文が入力されると、登録情報記憶部121から第4の暗号文のユーザに対応する第5の暗号文を読みだして、第4の暗号文と第5の暗号文とのハミング距離を算出する(ステップS78)。算出部136は、算出したハミング距離を、通信部110を介して認証サーバ200に送信する(ステップS79)。
認証サーバ200の通信部210は、計算サーバ150からハミング距離を受信する(ステップS80)。通信部210は、受信したハミング距離を制御部230に出力する。制御部230の判定部231は、通信部210からハミング距離が入力されると、ハミング距離を準同型暗号の秘密鍵で復号する(ステップS81)。判定部231は、復号された平文のハミング距離と所定値とを照合する(ステップS82)。すなわち、判定部231は、復号された平文のハミング距離が所定値未満であるか否かを判定する。判定部231は、復号された平文のハミング距離が所定値未満である場合には、認証可(OK)と判定する。判定部231は、復号された平文のハミング距離が所定値以上である場合には、認証不可(NG)と判定する。判定部231は、判定内容を照合結果として、通信部210を介して端末装置20に送信する(ステップS83)。
端末装置20の通信部11は、認証サーバ200から照合結果を受信して、受信した照合結果を制御部14に出力する(ステップS84)。制御部14は、通信部11から照合結果が入力されると、照合結果に応じた処理を実行する。これにより、認証システム2に登録された当該ユーザの特徴情報Aと、新たに入力された特徴情報Bとを、より高速に照合することができる。
このように、端末装置20は、ユーザの生体情報に基づく特徴情報の登録時に、特徴情報を生成し、生成された特徴情報と乱数との排他的論理和により、第1の暗号文を算出する。また、端末装置20は、第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化する。また、端末装置20は、特徴情報の照合時に、特徴情報を生成し、生成された特徴情報と乱数との排他的論理和により、第1の暗号文を算出する。その結果、より高速に生体情報を照合でき、かつ、認証サーバに対して生体情報を秘匿できる。
また、上記実施例1では、ユーザの生体情報に係る特徴情報について、端末装置10で登録時および照合時について準同型暗号化を行ったが、これに限定されない。また、上記実施例2では、ユーザの生体情報に係る特徴情報について、端末装置20で登録時について準同型暗号化を行ったが、これに限定されない。例えば、端末装置10に、さらに、暗号化する処理の実行を制御する処理を実行させ、例えば、登録時には、ユーザの生体情報に係る特徴情報について準同型暗号化を省略し、排他的論理和を算出するXOR暗号化のみを行ってもよい。
登録時に、ユーザの生体情報に係る特徴情報について準同型暗号化を省略し、排他的論理和を算出するXOR暗号化のみを行う実施の形態につき、実施例3として以下に説明する。なお、上記実施例1の端末装置10および計算サーバ100と同一の構成には、それぞれ同一の符号を付すことで、その重複する構成および動作の説明については省略する。実施例3の端末装置30が実施例1の端末装置10と異なるところは、登録時に、ユーザの生体情報に係る特徴情報について準同型暗号化を省略し、排他的論理和を算出するXOR暗号化のみを行う点にある。
まず、図9を用いて、実施例3の認証システムの概要について説明する。図9は、実施例3の認証システムの概要を説明する説明図である。図9に示す実施例3の認証システム3は、実施例1の認証システム1と比べてステップS33aに相当する準同型暗号化処理が省略され、端末装置30が第1の暗号文として第3の暗号文を計算サーバ170に送信する点が異なる(ステップS32c)。また、実施例3の認証システム3は、実施例1の認証システム1と比べて第3の暗号文と第6の暗号文とでハミング距離を算出する点が異なる(ステップS44c)。
端末装置30は、認証システム3において、ユーザの生体情報の登録および照合を行う端末装置である。端末装置30は、生体情報の登録を行う場合に、ユーザの生体情報を取得して、取得した生体情報をXORの1段階のみ暗号化して計算サーバ170に送信する。また、端末装置30は、生体情報の照合を行う場合に、ユーザの生体情報を取得して、取得した生体情報をXORと準同型暗号との2段階で暗号化して計算サーバ170に送信する。
生体情報の登録時の動作であるステップS31cは、実施例1の認証システム1のステップS31aと同様の処理であるので、その説明を省略する。また、生体情報の照合時の動作であるステップS41c〜S43c、S45cは、実施例1の認証システム1のステップS41a〜S43a、S45aと、それぞれ同様の処理であるので、その説明を省略する。端末装置30は、特徴ベクトルAと、ユーザが指定したパスワード等に基づいて生成されたユーザ固有の乱数Rとの排他的論理和を算出して、XOR暗号化を行って第3の暗号文を算出し、算出した第3の暗号文を計算サーバ170に送信する(ステップS32c)。計算サーバ170は、端末装置30から第3の暗号文を受信すると、第3の暗号文を登録情報として記憶する(ステップS34c)。
計算サーバ170は、端末装置30から第2の暗号文として第6の暗号文を受信すると、第6の暗号文と登録情報として記憶された第3の暗号文との間で暗号化された状態でハミング距離を算出する。計算サーバ170は、算出したハミング距離を認証サーバ200に送信する(ステップS44c)。認証サーバ200の動作は、実施例1の認証サーバ200と同様であるので、その説明を省略する。実施例3では、登録時の特徴情報がXOR暗号化のみであるので、登録時の暗号化、および、ハミング距離の算出を高速化できる。
次に、図10を用いて、実施例3の認証システム3の構成について説明する。実施例3の認証システム3は、実施例1の認証システム1の端末装置10に代えて端末装置30を有する。また、実施例1の端末装置30は、実施例1の端末装置10と比べ、暗号化部17に代えて暗号化部37を有する点、および、通信部11が介する暗号文が異なる。
さらに、実施例3の認証システム3は、実施例1の認証システム1の計算サーバ100に代えて計算サーバ170を有する。また、実施例3の計算サーバ170は、実施例1の計算サーバ100と比べ、算出部131に代えて算出部141を有する点、および、通信部110が介する暗号文が異なる。なお、端末装置30の通信部11、および、計算サーバ170の通信部110は、暗号文が暗号化部37および算出部141に応じて変化するのみであるので、その説明は省略する。
端末装置30の暗号化部37は、算出部16から第1の暗号文として第3の暗号文または第4の暗号文が入力される。暗号化部37は、第3の暗号文が入力された場合には、準同型暗号化処理を行わない。暗号化部37は、第4の暗号文を、準同型暗号の公開鍵を用いて当該第4の暗号文に対応する第2の暗号文として第6の暗号文に暗号化する。暗号化部37は、暗号化を行うアルゴリズムとして、例えば、Ideal lattices、Ring−LWE等の格子ベース準同型暗号を用いることができる。なお、準同型暗号の公開鍵は、予め認証サーバ200から配信された公開鍵を用いる。
暗号化部37は、入力された第3の暗号文そのまま、または、暗号化された第6の暗号文を、通信部11を介して計算サーバ170に送信する。すなわち、暗号化部37は、ユーザの生体情報に基づく特徴情報の登録時には、第1の暗号文として第3の暗号文を通信部11を介して計算サーバ170に送信する。また、暗号化部37は、ユーザの生体情報に基づく特徴情報の照合時には、第2の暗号文として第6の暗号文を通信部11を介して計算サーバ170に送信する。
計算サーバ170の算出部141は、通信部110から第3の暗号文が入力されると、第3の暗号文を登録情報記憶部121に記憶する。算出部141は、通信部110から第6の暗号文が入力されると、登録情報記憶部121から第6の暗号文のユーザに対応する第3の暗号文を読みだして、第3の暗号文と第6の暗号文とのハミング距離を算出する。なお、ハミング距離の算出は、実施例2と同様に算出できる。算出部141は、算出したハミング距離を、通信部110を介して認証サーバ200に送信する。
次に、実施例3の認証システム3の動作について説明する。
まず、ユーザの生体情報aを認証システム3に登録する場合を説明する。図11は、実施例3の認証システムの登録時の動作の一例を示すシーケンス図である。なお、以下の説明では、乱数Rはユーザが入力したパスワードをシードとして生成する場合を一例として説明する。端末装置30の取得部13は、ユーザの生体情報aを取得して制御部14に出力する(ステップS101)。制御部14の生成部15は、取得部13からユーザの生体情報aが入力されると、生体情報aから特徴を抽出して特徴情報A(特徴ベクトルA)を生成する(ステップS102)。生成部15は、生成した特徴情報Aを算出部16に出力する。
また、取得部13は、ユーザによって入力されたパスワードを取得して制御部14に出力する(ステップS103)。制御部14の算出部16は、入力されたパスワードをシードとして乱数Rを生成する(ステップS104)。
算出部16は、生成部15から特徴情報Aが入力されると、特徴情報Aと乱数Rとの排他的論理和により第1の暗号文として第3の暗号文を算出する(ステップS105)。算出部16は、算出した第3の暗号文を暗号化部37に出力する。
暗号化部37は、算出部16から第3の暗号文が入力されると、入力された第3の暗号文を、そのまま通信部11を介して計算サーバ170に送信する(ステップS106)。
計算サーバ170の通信部110は、端末装置30から第3の暗号文を受信して、当該第3の暗号文を制御部130に出力する(ステップS107)。制御部130の算出部141は、通信部110から第3の暗号文が入力されると、第3の暗号文を登録情報記憶部121に記憶する(ステップS108)。これにより、認証システム3に当該ユーザの生体情報aに基づく特徴情報Aを登録することができる。
次に、ユーザの生体情報bを認証システム3を用いて認証する場合を説明する。図12は、実施例3の認証システムの照合時の動作の一例を示すシーケンス図である。なお、以下の説明では、登録時と同様に、乱数Rはユーザが入力したパスワードをシードとして生成する場合を一例として説明する。端末装置30の取得部13は、ユーザの生体情報bを取得して制御部14に出力する(ステップS111)。制御部14の生成部15は、取得部13からユーザの生体情報bが入力されると、生体情報bから特徴を抽出して特徴情報B(特徴ベクトルB)を生成する(ステップS112)。生成部15は、生成した特徴情報Bを算出部16に出力する。
また、取得部13は、ユーザによって入力されたパスワードを取得して制御部14に出力する(ステップS113)。制御部14の算出部16は、入力されたパスワードをシードとして乱数Rを生成する(ステップS114)。なお、乱数Rは、登録時と同じパスワードが入力されれば、登録時と照合時とで同一の乱数Rとなる。
算出部16は、生成部15から特徴情報Bが入力されると、特徴情報Bと乱数Rとの排他的論理和により第1の暗号文として第4の暗号文を算出する(ステップS115)。算出部16は、算出した第4の暗号文を暗号化部37に出力する。
暗号化部37は、算出部16から第4の暗号文が入力されると、認証サーバ200から配信された準同型暗号の公開鍵を用いて準同型暗号化処理を実行し、第4の暗号文を、当該第4の暗号文に対応する第2の暗号文として第6の暗号文に暗号化する(ステップS116)。暗号化部37は、暗号化された第6の暗号文を、通信部11を介して計算サーバ170に送信する(ステップS117)。
計算サーバ170の通信部110は、端末装置30から第6の暗号文を受信して、当該第6の暗号文を制御部130に出力する(ステップS118)。制御部130の算出部141は、通信部110から第6の暗号文が入力されると、登録情報記憶部121から第6の暗号文のユーザに対応する第3の暗号文を読みだして、第3の暗号文と第6の暗号文とのハミング距離を算出する(ステップS119)。算出部141は、算出したハミング距離を、通信部110を介して認証サーバ200に送信する(ステップS120)。
認証サーバ200の通信部210は、計算サーバ170からハミング距離を受信する(ステップS121)。通信部210は、受信したハミング距離を制御部230に出力する。制御部230の判定部231は、通信部210からハミング距離が入力されると、ハミング距離を準同型暗号の秘密鍵で復号する(ステップS122)。判定部231は、復号された平文のハミング距離と所定値とを照合する(ステップS123)。すなわち、判定部231は、復号された平文のハミング距離が所定値未満であるか否かを判定する。判定部231は、復号された平文のハミング距離が所定値未満である場合には、認証可(OK)と判定する。判定部231は、復号された平文のハミング距離が所定値以上である場合には、認証不可(NG)と判定する。判定部231は、判定内容を照合結果として、通信部210を介して端末装置30に送信する(ステップS124)。
端末装置30の通信部11は、認証サーバ200から照合結果を受信して、受信した照合結果を制御部14に出力する(ステップS125)。制御部14は、通信部11から照合結果が入力されると、照合結果に応じた処理を実行する。これにより、認証システム3に登録された当該ユーザの特徴情報Aと、新たに入力された特徴情報Bとを照合することができる。
このように、端末装置30は、ユーザの生体情報に基づく特徴情報の登録時に、特徴情報を生成し、生成された特徴情報と乱数との排他的論理和により、第1の暗号文を算出する。また、端末装置30は、特徴情報の照合時に、特徴情報を生成し、生成された特徴情報と乱数との排他的論理和により、第1の暗号文を算出する。また、端末装置30は、第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化する。その結果、より高速に生体情報を登録でき、かつ、認証サーバ200に対して生体情報を秘匿できる。
また、上記の各実施例では、ユーザが操作する端末である端末装置10、20、30と、認証サーバ200とを分散して配置したが、これに限定されない。例えば、端末装置10、20、30に、ユーザ自身が管理する秘密鍵を格納したICカード等を読み込ませて、認証サーバ200の代わりにハミング距離を照合するようにしてもよい。これにより、秘密鍵を認証サーバ200にさえ知らせることなく、生体認証を行うことができる。
また、上記の各実施例では、ハミング距離を計算するために、計算サーバ100、150、170を設けたが、これに限定されない。例えば、クラウド上に計算サーバを設ける構成としてもよい。これにより、認証システム1、2、3をより柔軟に構成することができる。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、上記の各実施例の算出部16と暗号化部17、27、37とのそれぞれを統合してもよい。
さらに、各装置で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウェア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。
ところで、上記の実施例で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図13は、情報処理プログラムを実行するコンピュータの一例を示す説明図である。
図13が示すように、コンピュータ300は、各種演算処理を実行するCPU301と、データ入力を受け付ける入力装置302と、モニタ303とを有する。また、コンピュータ300は、記憶媒体からプログラム等を読み取る媒体読取装置304と、各種装置と接続するためのインタフェース装置305と、他の装置と有線または無線により接続するための通信装置306とを有する。また、コンピュータ300は、各種情報を一時記憶するRAM307と、ハードディスク装置308とを有する。また、各装置301〜308は、バス309に接続される。
ハードディスク装置308には、図2、6、10に示した生成部15、算出部16、および、暗号化部17、27または37の各処理部と同様の機能を有する情報処理プログラムが記憶される。また、ハードディスク装置308には、情報処理プログラムを実現するための各種データが記憶される。入力装置302は、例えばユーザからパスワードの入力を受け付けたり、コンピュータ300の管理者から管理情報の入力を受け付ける。モニタ303は、例えば認証のためのパスワード入力画面を表示したり、コンピュータ300の管理者がメンテナンス等を行う場合に各種情報を表示する。インタフェース装置305は、例えば印刷装置等が接続される。通信装置306は、ネットワークNに接続され、例えば、ハミング距離計算を行う計算サーバや、ハミング距離を照合する認証サーバと各種情報をやりとりする。
CPU301は、ハードディスク装置308に記憶された各プログラムを読み出して、RAM307に展開して実行することで、各種の処理を行う。また、これらのプログラムは、コンピュータ300を図2、6、10に示した生成部15、算出部16、および、暗号化部17、27または37として機能させることができる。
なお、上記の情報処理プログラムは、必ずしもハードディスク装置308に記憶されている必要はない。例えば、コンピュータ300が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ300が読み出して実行するようにしてもよい。コンピュータ300が読み取り可能な記憶媒体は、例えば、CD−ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN(Local Area Network)等に接続された装置にこの情報処理プログラムを記憶させておき、コンピュータ300がこれらから情報処理プログラムを読み出して実行するようにしてもよい。
以上、本実施例を含む実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
ユーザの生体情報に基づく特徴情報を生成し、
生成された前記特徴情報と乱数との論理演算により、第1の暗号文を算出し、
前記第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化する
処理を実行させることを特徴とする情報処理プログラム。
(付記2)前記算出する処理は、前記論理演算として排他的論理和により前記第1の暗号文を算出することを特徴とする付記1に記載の情報処理プログラム。
(付記3)前記暗号化する処理は、前記暗号アルゴリズムとして準同型暗号を用いて、前記第1の暗号文を、前記第2の暗号文に暗号化することを特徴とする付記1または2に記載の情報処理プログラム。
(付記4)前記算出する処理は、前記乱数として前記ユーザに固有の乱数を用いて、前記第1の暗号文を算出することを特徴とする付記1〜3のいずれか1つに記載の情報処理プログラム。
(付記5)前記コンピュータに、
さらに、前記特徴情報の登録時および照合時と、前記登録時と、前記照合時とのうち、いずれかの場合に、前記暗号化する処理を実行するかを制御する処理を実行させることを特徴とする付記1〜4のいずれか1つに記載の情報処理プログラム。
(付記6)ユーザの生体情報に基づく特徴情報を生成する生成部と、
生成された前記特徴情報と乱数との論理演算により、第1の暗号文を算出する算出部と、
前記第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化する暗号化部と
を有することを特徴とする情報処理装置。
(付記7)前記算出部は、前記論理演算として排他的論理和により前記第1の暗号文を算出することを特徴とする付記6に記載の情報処理装置。
(付記8)コンピュータが、
ユーザの生体情報に基づく特徴情報の登録時に、前記特徴情報を生成し、生成された前記特徴情報と乱数との論理演算により、第1の暗号文を算出し、前記第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化し、
前記特徴情報の照合時に、前記特徴情報を生成し、生成された前記特徴情報と前記乱数との論理演算により、第1の暗号文を算出し、前記第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化する
処理を実行することを特徴とする情報処理方法。
(付記9)前記第1の暗号文の算出は、前記論理演算として排他的論理和により前記第1の暗号文を算出することを特徴とする付記8に記載の情報処理方法。
(付記10)コンピュータが、
ユーザの生体情報に基づく特徴情報の登録時に、前記特徴情報を生成し、生成された前記特徴情報と乱数との論理演算により、第1の暗号文を算出し、前記第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化し、
前記特徴情報の照合時に、前記特徴情報を生成し、生成された前記特徴情報と前記乱数との論理演算により、第1の暗号文を算出する
処理を実行することを特徴とする情報処理方法。
(付記11)前記第1の暗号文の算出は、前記論理演算として排他的論理和により前記第1の暗号文を算出することを特徴とする付記10に記載の情報処理方法。
(付記12)コンピュータが、
ユーザの生体情報に基づく特徴情報の登録時に、前記特徴情報を生成し、生成された前記特徴情報と乱数との論理演算により、第1の暗号文を算出し、
前記特徴情報の照合時に、前記特徴情報を生成し、生成された前記特徴情報と前記乱数との論理演算により、第1の暗号文を算出し、前記第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化する
処理を実行することを特徴とする情報処理方法。
(付記13)前記第1の暗号文の算出は、前記論理演算として排他的論理和により前記第1の暗号文を算出することを特徴とする付記12に記載の情報処理方法。
(付記14)情報処理装置と、計算サーバと、認証サーバとを有する情報処理システムであって、
前記情報処理装置は、
ユーザの生体情報に基づく特徴情報を生成する生成部と、
生成された前記特徴情報と乱数との論理演算により、第1の暗号文を算出する算出部と、
前記第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化する暗号化部と、
前記第1の暗号文および前記第2の暗号文のうち1つ以上の暗号文を前記計算サーバに送信し、前記認証サーバから照合結果を受信する通信部と、を有し、
前記計算サーバは、
前記情報処理装置から前記第1の暗号文および前記第2の暗号文のうち1つ以上の暗号文を受信し、算出されたハミング距離を前記認証サーバに送信する通信部と、
前記第1の暗号文を登録情報として記憶する記憶部と、
記憶部に記憶された前記第1の暗号文と、受信した前記第1の暗号文および前記第2の暗号文とのハミング距離を算出する算出部と、を有し、
前記認証サーバは、
前記計算サーバから前記ハミング距離を受信し、前記情報処理装置に照合結果を送信する通信部と、
前記ハミング距離が所定値未満である場合に、照合結果として認証可と判定し、前記ハミング距離が所定値以上である場合に、照合結果として認証不可と判定する判定部と
を有することを特徴とする情報処理システム。
(付記15)前記情報処理装置の前記算出部は、前記論理演算として排他的論理和により前記第1の暗号文を算出することを特徴とする付記14に記載の情報処理システム。
1,2,3 認証システム
10,20,30 端末装置
11 通信部
12 記憶部
13 取得部
14 制御部
15 生成部
16 算出部
17,27,37 暗号化部
100,150,170 計算サーバ
110 通信部
120 記憶部
121 登録情報記憶部
130 制御部
131,136,141 算出部
200 認証サーバ
210 通信部
220 記憶部
230 制御部
231 判定部
N ネットワーク

Claims (6)

  1. コンピュータに、
    ユーザの生体情報に基づく特徴情報を生成し、
    生成された前記特徴情報と乱数との論理演算により、第1の暗号文を算出し、
    前記特徴情報の登録時に、前記第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化した場合には、前記特徴情報の照合時に前記第1の暗号文を前記第2の暗号文に暗号化せず、前記特徴情報の登録時に、前記第1の暗号文を前記第2の暗号文に暗号化しない場合には、前記特徴情報の照合時に前記第1の暗号文を前記第2の暗号文に暗号化し、
    前記特徴情報の登録時に前記第1の暗号文を前記第2の暗号文に暗号化した場合には、前記特徴情報の照合時の前記第1の暗号文を、前記ハミング距離を算出する計算サーバに送信し、前記特徴情報の登録時に前記第1の暗号文を前記第2の暗号文に暗号化しない場合には、前記特徴情報の照合時の前記第2の暗号文を、前記ハミング距離を算出する計算サーバに送信する、
    処理を実行させることを特徴とする情報処理プログラム。
  2. 前記暗号化する処理は、前記暗号アルゴリズムとして準同型暗号を用いて、前記第1の暗号文を、前記第2の暗号文に暗号化することを特徴とする請求項1に記載の情報処理プログラム。
  3. 前記算出する処理は、前記乱数として前記ユーザに固有の情報をシードとして生成した乱数を用いて、前記第1の暗号文を算出することを特徴とする請求項1または2に記載の情報処理プログラム。
  4. ユーザの生体情報に基づく特徴情報を生成する生成部と、
    生成された前記特徴情報と乱数との論理演算により、第1の暗号文を算出する算出部と、
    前記特徴情報の登録時に、前記第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化した場合には、前記特徴情報の照合時に前記第1の暗号文を前記第2の暗号文に暗号化せず、前記特徴情報の登録時に、前記第1の暗号文を前記第2の暗号文に暗号化しない場合には、前記特徴情報の照合時に前記第1の暗号文を前記第2の暗号文に暗号化する暗号化部と
    前記特徴情報の登録時に前記第1の暗号文を前記第2の暗号文に暗号化した場合には、前記特徴情報の照合時の前記第1の暗号文を、前記ハミング距離を算出する計算サーバに送信し、前記特徴情報の登録時に前記第1の暗号文を前記第2の暗号文に暗号化しない場合には、前記特徴情報の照合時の前記第2の暗号文を、前記ハミング距離を算出する計算サーバに送信する通信部と、
    を有することを特徴とする情報処理装置。
  5. 端末装置と、計算サーバと、認証サーバとを有する情報処理システムにおける情報処理方法であって、
    前記端末装置は、
    ユーザの生体情報に基づく特徴情報の登録時に、前記特徴情報を生成し、生成された前記特徴情報と乱数との論理演算により、第1の暗号文を算出し、前記第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化し、
    前記特徴情報の照合時に、前記特徴情報を生成し、生成された前記特徴情報と前記乱数との論理演算により、第1の暗号文を算出し、
    前記特徴情報の登録時の前記第2の暗号文を前記計算サーバに送信し、前記特徴情報の照合時の前記第1の暗号文を前記計算サーバに送信し、
    前記計算サーバは、
    前記第2の暗号文を受信すると、該第2の暗号文を記憶部に記憶し、
    前記第1の暗号文を受信すると、前記記憶部に記憶された前記特徴情報の登録時の前記第2の暗号文と、受信した前記特徴情報の照合時の前記第1の暗号文とのハミング距離を算出し、
    前記認証サーバは、
    算出された前記ハミング距離を復号し、復号したハミング距離が所定値未満であるか否かに基づいて、前記ユーザの認証結果を判定する、
    とを特徴とする情報処理方法。
  6. 端末装置と、計算サーバと、認証サーバとを有する情報処理システムにおける情報処理方法であって、
    前記端末装置は、
    ユーザの生体情報に基づく特徴情報の登録時に、前記特徴情報を生成し、生成された前記特徴情報と乱数との論理演算により、第1の暗号文を算出し、
    前記特徴情報の照合時に、前記特徴情報を生成し、生成された前記特徴情報と前記乱数との論理演算により、第1の暗号文を算出し、前記第1の暗号文を、暗号化した状態でハミング距離を算出可能な暗号アルゴリズムを用いて、第2の暗号文に暗号化し、
    前記特徴情報の登録時の前記第1の暗号文を前記計算サーバに送信し、前記特徴情報の照合時の前記第2の暗号文を前記計算サーバに送信し、
    前記計算サーバは、
    前記第1の暗号文を受信すると、該第1の暗号文を記憶部に記憶し、
    前記第2の暗号文を受信すると、前記記憶部に記憶された前記特徴情報の登録時の前記第1の暗号文と、受信した前記特徴情報の照合時の前記第2の暗号文とのハミング距離を算出し、
    前記認証サーバは、
    算出された前記ハミング距離を復号し、復号したハミング距離が所定値未満であるか否かに基づいて、前記ユーザの認証結果を判定する、
    とを特徴とする情報処理方法。
JP2014008151A 2014-01-20 2014-01-20 情報処理プログラム、情報処理装置および情報処理方法 Active JP6277734B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014008151A JP6277734B2 (ja) 2014-01-20 2014-01-20 情報処理プログラム、情報処理装置および情報処理方法
EP14197912.0A EP2905921B1 (en) 2014-01-20 2014-12-15 Information processing program, information processing apparatus, and information processing method
US14/577,482 US9531539B2 (en) 2014-01-20 2014-12-19 Information processing apparatus, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014008151A JP6277734B2 (ja) 2014-01-20 2014-01-20 情報処理プログラム、情報処理装置および情報処理方法

Publications (2)

Publication Number Publication Date
JP2015139014A JP2015139014A (ja) 2015-07-30
JP6277734B2 true JP6277734B2 (ja) 2018-02-14

Family

ID=52102561

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014008151A Active JP6277734B2 (ja) 2014-01-20 2014-01-20 情報処理プログラム、情報処理装置および情報処理方法

Country Status (3)

Country Link
US (1) US9531539B2 (ja)
EP (1) EP2905921B1 (ja)
JP (1) JP6277734B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6413598B2 (ja) * 2014-10-10 2018-10-31 富士通株式会社 暗号処理方法、暗号処理装置、及び暗号処理プログラム
US10248800B2 (en) * 2014-10-22 2019-04-02 Openeye Scientific Software, Inc. Secure comparison of information
JP6421576B2 (ja) * 2014-12-12 2018-11-14 富士通株式会社 暗号処理装置、暗号処理方法、及び暗号処理プログラム
EP3119031A1 (en) * 2015-07-16 2017-01-18 ABB Schweiz AG Encryption scheme using multiple parties
EP3361469B8 (en) * 2015-10-09 2021-03-10 Mitsubishi Electric Corporation Secret search system, management device, secret search method, and secret search program
EP3363151A4 (en) * 2015-10-15 2019-06-05 Nokia Technologies OY APPARATUS, METHOD AND COMPUTER PROGRAM PRODUCT FOR AUTHENTICATION
DE102015225651A1 (de) * 2015-12-17 2017-06-22 Robert Bosch Gmbh Verfahren und Vorrichtung zum Übertragen einer Software
EP3270321B1 (en) * 2016-07-14 2020-02-19 Kontron Modular Computers SAS Technique for securely performing an operation in an iot environment
US11431686B2 (en) * 2017-12-22 2022-08-30 Tokyo University Of Science Foundation Encrypted data processing system and program
US11146540B2 (en) * 2018-05-09 2021-10-12 Datalogic Ip Tech S.R.L. Systems and methods for public key exchange employing a peer-to-peer protocol
KR102596874B1 (ko) * 2018-05-31 2023-11-02 삼성전자주식회사 생체 정보를 이용한 서비스 수행을 위한 시스템 및 그의 제어 방법
KR101938736B1 (ko) * 2018-07-11 2019-01-15 서울대학교산학협력단 생체 데이터를 처리하는 데이터 처리 장치 및 그 방법
WO2020146285A1 (en) * 2019-01-07 2020-07-16 Cryptography Research, Inc. Protection of cryptographic operations by intermediate randomization
JP7236042B2 (ja) * 2021-03-25 2023-03-09 株式会社KPMG Ignition Tokyo 準同型暗号を用いた顔認証のアプリケーション
CN114221752B (zh) * 2022-02-23 2022-04-29 杭州美创科技有限公司 基于同态加密技术的可信实体认证通信方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030219121A1 (en) * 2002-05-24 2003-11-27 Ncipher Corporation, Ltd Biometric key generation for secure storage
JP4283126B2 (ja) * 2004-01-23 2009-06-24 Kddi株式会社 生体認証システム及び生体認証方法
JP4996904B2 (ja) * 2006-10-04 2012-08-08 株式会社日立製作所 生体認証システム、登録端末、認証端末、及び認証サーバ
US8958552B2 (en) 2009-10-29 2015-02-17 Mitsubishi Electric Corporation Data processing device
EP2634955B1 (en) * 2010-10-29 2020-01-15 Hitachi, Ltd. Information authentication method and information authentication system
KR101508360B1 (ko) * 2012-10-09 2015-04-07 삼성에스디에스 주식회사 데이터 전송 장치 및 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
JP6083234B2 (ja) * 2012-12-27 2017-02-22 富士通株式会社 暗号処理装置

Also Published As

Publication number Publication date
US9531539B2 (en) 2016-12-27
EP2905921B1 (en) 2018-01-10
EP2905921A1 (en) 2015-08-12
JP2015139014A (ja) 2015-07-30
US20150207630A1 (en) 2015-07-23

Similar Documents

Publication Publication Date Title
JP6277734B2 (ja) 情報処理プログラム、情報処理装置および情報処理方法
US11108546B2 (en) Biometric verification of a blockchain database transaction contributor
JP6384314B2 (ja) 情報処理方法、情報処理プログラムおよび情報処理装置
JP4938678B2 (ja) 類似性指標のセキュアな計算
JP2016131335A (ja) 情報処理方法、情報処理プログラムおよび情報処理装置
EP1846830B1 (en) Access keys
JP6927981B2 (ja) パスコード検証のためのフォワードセキュア型暗号技術を使用した方法、システム、及び装置。
US10547451B2 (en) Method and device for authentication
US11451385B2 (en) Biometric public key system providing revocable credentials
KR102068041B1 (ko) 유저 바이오 데이터를 이용한 유저 인증 및 서명 장치와 방법
JP7235055B2 (ja) 認証システム、クライアントおよびサーバ
KR101912403B1 (ko) 장비들 간의 보안 인증 방법
JP7511847B2 (ja) 取消可能な証明書を提供するバイオメトリック公開キーシステム
US20240095410A1 (en) Neural network cryptography coprocessor providing countermeasture against side-channel analysis
Yu et al. Authentication Methods Based on Digital Fingerprint Random Encryption IBC.

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180101

R150 Certificate of patent or registration of utility model

Ref document number: 6277734

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150