JP6791263B2 - 暗号文照合システム及び暗号文照合方法 - Google Patents

暗号文照合システム及び暗号文照合方法 Download PDF

Info

Publication number
JP6791263B2
JP6791263B2 JP2018553626A JP2018553626A JP6791263B2 JP 6791263 B2 JP6791263 B2 JP 6791263B2 JP 2018553626 A JP2018553626 A JP 2018553626A JP 2018553626 A JP2018553626 A JP 2018553626A JP 6791263 B2 JP6791263 B2 JP 6791263B2
Authority
JP
Japan
Prior art keywords
collation
data
ciphertext
distance
random number
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
JP2018553626A
Other languages
English (en)
Other versions
JPWO2018100740A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2018100740A1 publication Critical patent/JPWO2018100740A1/ja
Application granted granted Critical
Publication of JP6791263B2 publication Critical patent/JP6791263B2/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/006Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
    • 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
    • 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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • 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/3271Cryptographic 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 challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Bioethics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Collating Specific Patterns (AREA)
  • Storage Device Security (AREA)

Description

本発明は、暗号文照合システム及び暗号文照合方法に関する。特に、暗号化されたデータの曖昧さを許容する、暗号文照合システム及び暗号文照合方法に関する。
近年、クラウドシステムの普及に伴い、ネットワークに接続された計算資源に利用者のデータを置き、当該データに基づいたサービスが急速に広がってきている。このようなサービスでは、利用者の機微なデータを扱う機会も増加してきているため、利用者が自分のデータが安全に管理されていることを保証することが重要になってきている。
このような状況の下、オープンなネットワーク環境でデータを暗号化したまま管理し、データを復号することなく、検索や、統計処理などを行う技術の研究開発が活発に行われている。
また、近年、従来のパスワードや磁気カードを用いた個人認証の脆弱性をついた犯罪が頻発しており、より安全性の高い指紋、静脈などの生体的な特徴に基づく生体認証技術が注目を集めている。ここで、生体認証においては、認証情報を検証するために、生体情報に関するテンプレートをデータベースに保管する必要がある。指紋、静脈等の生体情報は基本的に生涯不変のデータであり、情報が漏洩するとその被害は甚大なものとなるため、最も機密性が要求される情報である。そのため、テンプレートが漏洩しても「なりすまし」が行えないように、 テンプレート情報を秘匿したまま認証を行うテンプレート保護型の生体認証技術が重要となってきている。 例えば、特許文献1では、指紋データを多項式上の点として表現し、その点にランダムな点を付加して指紋データを秘匿したデータをテンプレートとして生体認証を行う方式が提案されている。
また、非特許文献1では、凖同型性を有する公開鍵暗号を利用することにより、認証を求めているクライアントの生体情報を保護する方式が提案されている。
ここで、通常の生体情報を保護しない生体認証方式では、生体情報(例えば、指紋など)からマニューシャと呼ばれる特徴点を抽出し、マニューシャを認証用テンプレートとしてサーバに登録する。通常、マニューシャはタイプ、座標(x、y)、角度という3つの成分からなる。タイプは特徴点のタイプを表し、例えば端点、分岐点などである。座標は特徴点の座標を表し、角度は特徴点における接線の傾きを表す。認証時には、クライアントの生体情報から抽出されたマニューシャと、認証用テンプレートとして登録されたマニューシャが一致することをサーバが確認する。マニューシャの一致は、以下の3つの条件をみたすことを意味する。
第1に、タイプが一致する。
第2に、点の距離が閾値以内である。
第3に、角度の差が閾値以内である。
より具体的には、登録されたマニューシャを(type1、(x1、y1)、θ1)とする。また、認証時に抽出されたマニューシャを(type2、(x2、y2)、θ2)とする。この時、以下の3つの条件を全て満たす場合に、2つのマニューシャは一致すると判断される。
第1の条件;type1=type2
第2の条件;0≦((x1−x2)^2+(y1−y2)^2)≦δd
第3の条件;0≦(θ1−θ2)^2≦δt
なお、δd、δtはシステムによって決められるパラメータである。また、第2の条件で評価している距離は、通常、2次元ユークリッド距離、あるいはl2ノルムと呼ばれる。同様に、第3の条件で評価している距離は、1次元ユークリッド距離と呼ばれる。以降、これらをまとめてユークリッド距離と呼び、DとD’のユークリッド距離をd(D、D’)と表記する。
非特許文献1では、通常の生体情報を保護しない方式と同様だが、認証要求をしているクライアントの生体情報を秘匿できる生体認証方式が記載されている。具体的には、Aided Computation および Set Intersection と呼ばれる暗号プロトコルを利用して、(type2、(x2、y2)、θ2)をサーバに明かさずに、マニューシャが一致するかどうか確認できる。
特許文献2には、信頼できる第3者をシステムに導入することにより、サーバに登録されているデータを秘匿した暗号文照合システムが記述されている。
特許文献3には、信頼できる第3者を導入したシステムにおいて、照合における第3者の負荷を小さくした技術が記載されている。しかしながら、特許文献3に記載の技術において距離の指標としてユークリッド距離を利用した場合、登録されるデータのサイズは許容される曖昧さの指標の4乗に比例して大きくなる。このような問題に対し、非特許文献2では、準同型暗号の代わりにSomewhat準同型暗号と呼ばれる公開鍵暗号を利用することにより、登録されるデータのサイズを許容される曖昧さの指標の2乗オーダに減らしている。
特許文献4には、登録される暗号データサイズが、許容される曖昧さのパラメータに依存せず、かつ、第3者の負荷が小さい技術が記載されている。
さらに、非特許文献3では、登録されるデータのサイズを許容される曖昧さの指標に依存しないサイズに減らしている。
特開2006−158851号公報 国際公開第2014/185450号 国際公開第2014/185447号 国際公開第2012/114452号
Siamak F. Shahandashti, Reihaneh Safavi-Naini, and Philip Ogunbona, "Private Fingerprint Matching", ACISP2012. 肥後,一色,森,尾花,"テンプレートサイズの小さい秘匿指紋認証方式",暗号と情報セキュリティシンポジウム(SCIS2015), 2015. 肥後,一色,森,尾花,"認証時の情報開示の少ない秘匿生体認証方式",暗号と情報セキュリティシンポジウム(SCIS2016), 2016.
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。
上記特許文献及び非特許文献に開示された技術にはそれぞれ問題がある。
例えば、特許文献1の方式では、生体認証を何度も繰り返した時に、十分な強度で生体情報が保護されているかどうかに問題があることが知られている。
また、非特許文献1の認証方式は、通常の生体情報を保護しない方式と同様だが、認証要求をしているクライアントの生体情報を秘匿できる生体認証方式が記載されている。具体的には、Aided Computation及びSet Intersectionと呼ばれる暗号プロトコルを利用して、(type2、(x2、y2)、θ2)をサーバに明かさずに、マニューシャが一致するかどうか確認できる。しかし、非特許文献1の技術では、照合におけるサーバの負荷が大きい。なぜならば、照合ごとにサーバがクライアントから送られてくるデータの復号および復号結果の再暗号化を行う必要があるためである。さらに、サーバに登録されているデータが平文であるという問題がある。
特許文献2に開示された技術は、非特許文献1と同様に、照合における第3者の負荷が大きい。
特許文献4の方式では、第3者に登録された平文データと照合したい平文データの距離が明かされる。第3者が不正行為を試みた場合、照合時に得られる距離を利用することによる攻撃(ヒルクライミング攻撃)が可能であることが知られており、効率的に登録された平文データおよび照合したい平文データを求めることが可能となる。
また、非特許文献3の方式では、第3者に登録された平文データと照合したい平文データの距離が明かされない。しかし、非特許文献3の方式は、照合時のユーザ、サーバ、第3者の計算コストが、登録されるデータのサイズを許容される曖昧さの指標に依存したものとなり、登録されるデータのサイズを許容される曖昧さの指標が大きな場合効率的とは言えない。
上記説明したように、既存技術では、照合処理にかかる計算量の大部分が許容される曖昧さのパラメータに依存しないこと、かつ、第3者に類似度を秘匿することを同時に満たすことができない。
本発明は、登録するデータのサイズが許容される曖昧さのパラメータに依存せず、かつ、登録されたデータと照合したいデータの間の距離を明らかにせず、かつ、照合時の処理の大部分が、許容される曖昧さのパラメータに依存しないことに寄与する、暗号文照合システム及び暗号文照合方法を提供することを目的とする。
本発明の第1の視点によれば、登録データの暗号文を生成する、登録データ生成装置と、前記登録データと照合対象データの照合を要求する、照合要求装置と、前記登録データと前記照合対象データ間の第一距離が乱数により秘匿された、前記第一距離に関する暗号文を生成する、データ照合装置と、公開鍵及び秘密鍵を生成し、前記登録データ生成装置、前記データ照合装置及び前記照合要求装置に対し前記生成した公開鍵を送付する、照合補助装置と、を含み、前記データ照合装置は、前記第一距離に関する暗号文を前記照合補助装置に送付し、前記照合補助装置は、前記第一距離に関する暗号文を前記秘密鍵により復号することで得られる前記第一距離が、前記登録データと前記照合対象データが一致するものとして許容される第二距離の集合に含まれるか否かに関する判断を行い、当該判断結果を前記データ照合装置に送付する、暗号文照合システムが提供される。
本発明の第2の視点によれば、登録データの暗号文を生成する、登録データ生成装置と、前記登録データと照合対象データの照合を要求する、照合要求装置と、前記登録データと前記照合対象データを照合する、データ照合装置と、公開鍵及び秘密鍵を生成し、前記登録データ生成装置、前記データ照合装置及び前記照合要求装置に対し前記生成した公開鍵を送付する、照合補助装置と、を含む暗号文照合システムにおいて、前記データ照合装置が、前記登録データと前記照合対象データ間の第一距離が乱数により秘匿された、前記第一距離に関する暗号文を生成するステップと、前記照合補助装置が、前記第一距離に関する暗号文を前記秘密鍵により復号することで得られる前記第一距離が、前記登録データと前記照合対象データが一致するものとして許容される第二距離の集合に含まれるか否かに関する判断を行い、当該判断結果を前記データ照合装置に送付する、ステップと、を含む、暗号文照合方法が提供される。
本発明の各視点によれば、登録するデータのサイズが許容される曖昧さのパラメータに依存せず、かつ、登録されたデータと照合したいデータの間の距離を明らかにせず、かつ、照合時の処理の大部分が、許容される曖昧さのパラメータに依存しないことに寄与する、暗号文照合システム及び暗号文照合方法が、提供される。
一実施形態の概要を説明するための図である。 第1の実施形態に係る暗号文照合システムの全体構成の一例を示す図である。 第1の実施形態に係る登録データ生成装置のハードウェア構成の一例を示すブロック図である。 登録データ生成装置の処理構成の一例を示す図である。 照合要求装置の処理構成の一例を示す図である。 記憶装置の処理構成の一例を示す図である。 データ照合装置の処理構成の一例を示す図である。 照合補助装置の処理構成の一例を示す図である。 セットアップフェイズにおける暗号文照合システムの動作の一例を示すフローチャートである。 データ登録フェイズにおける暗号文照合システムの動作の一例を示すシーケンス図である。 暗号文照合フェイズにおける暗号文照合システムの動作の一例を示すシーケンス図である。
初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。
一実施形態に係る暗号文照合システムは、登録データ生成装置101と、照合要求装置102と、データ照合装置103と、照合補助装置104と、を含む(図1参照)。登録データ生成装置101は、登録データの暗号文を生成する。照合要求装置102は、登録データと照合対象データの照合を要求する。データ照合装置103は、登録データと照合対象データ間の第一距離が乱数により秘匿された、第一距離に関する暗号文を生成する。照合補助装置104は、公開鍵及び秘密鍵を生成し、登録データ生成装置101、データ照合装置103及び照合要求装置102に対し生成した公開鍵を送付する。データ照合装置103は、第一距離に関する暗号文を照合補助装置104に送付する。照合補助装置104は、第一距離に関する暗号文を秘密鍵により復号することで得られる第一距離が、登録データと照合対象データが一致するものとして許容される第二距離の集合に含まれるか否かに関する判断を行い、当該判断結果をデータ照合装置103に送付する。
上記一実施形態に係る暗号文照合システムでは、登録データと照合対象データ間の距離を秘匿することで安全性が確保され、且つ、照合処理の大部分が許容される曖昧さのパラメータに依存しないので照合時の計算時間を短縮できる。即ち、データ間の実際の距離は秘匿され、距離に関する情報が漏えいしないことを保証でき、かつ、照合処理の大部分は許容される曖昧さのパラメータに依存しないシステムが提供される。
以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。また、各図におけるブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。
[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。
図2は、第1の実施形態に係る暗号文照合システムの全体構成の一例を示す図である。図2を参照すると、暗号文照合システムには、登録データ生成装置10と、照合要求装置20と、記憶装置30と、データ照合装置40と、照合補助装置50と、を含んで構成される。
登録データ生成装置10は、登録データの暗号文を生成する装置である。照合要求装置20は、データ照合装置40に対し、登録データと照合対象データの照合を要求する装置である。
記憶装置30は、登録データを記憶するための装置である。
データ照合装置40は、照合要求装置20からのデータ照合要求を処理する装置である。その際、データ照合装置40は、登録データと照合対象データ間の距離(第一距離)が乱数により秘匿された、第一距離に関する暗号文を生成し、データ照合に利用する。なお、当該暗号文等の詳細は後述する。
照合補助装置50は、データ照合装置40によるデータ照合処理を補助する装置である。例えば、照合補助装置50は、公開鍵及び秘密鍵を生成し、登録データ生成装置10、データ照合装置40及び照合要求装置20に対し生成した公開鍵を送付する。
図2に示す各装置の詳細な機能を説明する前に、各装置のハードウェア構成について説明する。図3は、第1の実施形態に係る登録データ生成装置10のハードウェア構成の一例を示すブロック図である。登録データ生成装置10は、所謂、情報処理装置(コンピュータ)により構成可能であり、図3に例示する構成を備える。例えば、登録データ生成装置10は、内部バスにより相互に接続される、CPU(Central Processing Unit)111、メモリ112、入出力インターフェイス113及び通信手段であるNIC(Network Interface Card)114等を備える。
なお、図3に示す構成は、登録データ生成装置10のハードウェア構成を限定する趣旨ではない。登録データ生成装置10は、図示しないハードウェアを含んでもよい。あるいは、登録データ生成装置10に含まれるCPU等の数も図3の例示に限定する趣旨ではなく、例えば、複数のCPUが登録データ生成装置10に含まれていてもよい。
メモリ112は、RAM(Random Access Memory)、ROM(Read Only Memory)、補助記憶装置(ハードディスク等)である。
入出力インターフェイス113は、図示しない表示装置や入力装置のインターフェイスとなる手段である。表示装置は、例えば、液晶ディスプレイ等である。入力装置は、例えば、キーボードやマウス等のユーザ操作を受け付ける装置である。
登録データ生成装置10の機能は後述する処理モジュールにより実現される。また、当該処理モジュールは、例えば、メモリ112に格納されたプログラムをCPU111が実行することで実現される。また、そのプログラムは、ネットワークを介してダウンロードするか、あるいは、プログラムを記憶した記憶媒体を用いて、更新することができる。さらに、上記処理モジュールは、半導体チップにより実現されてもよい。即ち、上記処理モジュールが行う機能を何らかのハードウェア、及び/又は、ソフトウェアで実行する手段があればよい。
なお、暗号文照合システムに含まれる他の装置のハードウェア構成は、登録データ生成装置10と同様とすることができるので、説明を省略する。
続いて、暗号文照合システムを構成する各装置の処理(処理モジュール)について説明する。
図4は、登録データ生成装置10の処理構成の一例を示す図である。図4を参照すると、登録データ生成装置10は、第一テンプレート生成部11と、第二テンプレート生成部12と、を含んで構成される。
第一テンプレート生成部11は、ユーザが入力した登録したいデータ(登録データ)と、後述する照合補助装置50が生成した公開鍵を用いて第一テンプレートを生成する手段である。
第二テンプレート生成部12は、ユーザが入力した登録したいデータと、後述する照合補助装置50が生成した公開鍵を用いて第二テンプレートを生成し、第一テンプレートと第二テンプレートの組を記憶装置30に送付する手段である。
図5は、照合要求装置20の処理構成の一例を示す図である。図5を参照すると、照合要求装置20は、照合要求部21と、第一レスポンス生成部22と、第二レスポンス生成部23と、第三レスポンス生成部24と、第四レスポンス生成部25と、を含んで構成される。
照合要求部21は、ユーザが入力した照合したいデータ(照合対象データ)と、後述する記憶装置30によって発行された識別子とを入力とし、データ照合装置40に照合要求を送付する手段である。
第一レスポンス生成部22から第四レスポンス生成部25それぞれの生成部は、上記照合要求部21による照合要求に対してデータ照合装置40から送付された第一〜第三のチャレンジと、照合補助装置50から送付された公開鍵とを用いて、それぞれ第一レスポンス、第二レスポンス、第三レスポンス、第四レスポンスを生成し、データ照合装置40に送付する手段である。
図6は、記憶装置30の処理構成の一例を示す図である。図6を参照すると、記憶装置30は、識別子生成部31と、テンプレート記憶部32と、を含んで構成される。
識別子生成部31は、登録データ生成装置10から送付された(第一テンプレート、第二テンプレート)に対して固有の識別子を発行し、(識別子、(第一テンプレート、第二テンプレート))をテンプレート記憶部32に記憶する手段である。
図7は、データ照合装置40の処理構成の一例を示す図である。図7を参照すると、データ照合装置40は、対象テンプレート受信部41と、第一チャレンジ生成部42と、第二チャレンジ生成部43と、第三チャレンジ生成部44と、第一照合補助要求生成部45と、第二照合補助要求生成部46と、判定部47と、を含んで構成される。
対象テンプレート受信部41は、照合要求装置20から送付された照合要求に対して、照合対象となるテンプレートを記憶装置30のテンプレート記憶部32から受信する手段である。
第一チャレンジ生成部42から第三チャレンジ生成部44の各生成部は、受け取った照合対象のテンプレートと照合補助装置50が生成した公開鍵とから、それぞれ第一チャレンジ、第二チャレンジ、第三チャレンジを生成し、これらのチャレンジ(第一チャレンジ、第二チャレンジ、第三チャレンジ)を照合要求装置20に送付する手段である。
第一照合補助要求生成部45と第二照合補助要求生成部46は、上述のチャレンジ(第一チャレンジ、第二チャレンジ、第三チャレンジ)に対して照合要求装置20が生成し送付した(第一レスポンス、第二レスポンス、第三レスポンス、第四レスポンス)と照合補助装置50が生成した公開鍵とから、それぞれ第一照合補助要求、第二照合補助要求を生成し、これらの補助要求(第一照合補助要求、第二照合補助要求)を照合補助装置50に送付する手段である。
判定部47は、上述の補助要求(第一照合補助要求、第二照合補助要求)に対して照合補助装置50が生成した照合補助結果を受信し、判定結果を生成する手段である。
図8は、照合補助装置50の処理構成の一例を示す図である。図8を参照すると、照合補助装置50は、鍵生成部51と、鍵記憶部52と、照合補助部53と、を含んで構成される。
鍵生成部51は、鍵のサイズ等を指定するセキュリティパラメータを入力とし、秘密鍵と公開鍵を生成する手段である。鍵生成部51は、生成した秘密鍵を鍵記憶部52に記憶し、生成した公開鍵を登録データ生成装置10、照合要求装置20、データ照合装置40に送付する。
照合補助部53は、データ照合装置40から送付された補助要求(第一照合補助要求、第二照合補助要求)を受信し、鍵記憶部52に記憶された秘密鍵を用いて、照合補助結果を生成し、データ照合装置40に送付する手段である。
[システム動作の説明]
次に、第1の実施形態に係る暗号文照合システムの動作を詳細に説明する。
第1の実施形態に係る暗号文照合システムの動作は、セットアップフェイズと、データ登録フェイズと、暗号文照合フェイズの3つのフェイズに大別される。
セットアップフェイズは、照合補助装置50にセキュリティパラメータを入力し、加法準同型暗号の公開鍵と秘密鍵を生成するフェイズである。
データ登録フェイズは、登録データ生成装置10に登録したいデータを入力し、テンプレートを生成し、記憶装置30に登録するフェイズである。
暗号文照合フェイズは、照合要求装置20に入力された照合したいデータを秘匿しながら、照合したいデータが、記憶装置30に記憶されている登録済みデータと近い(ある種の距離が小さい)ものであるかを判定するフェイズである。
以下、図面を参照しつつ、各フェイズにおける動作の詳細を説明する。
[セットアップフェイズ]
図9は、セットアップフェイズにおける暗号文照合システムの動作の一例を示すフローチャートである。
初めに、セキュリティパラメータが、システム管理者等により照合補助装置50に入力される(ステップS01)。
セキュリティパラメータを入力した照合補助装置50の鍵生成部51は、加法準同型暗号の公開鍵および秘密鍵を生成する(ステップS02)。
その後、鍵生成部51は、公開鍵を登録データ生成装置10、照合要求装置20、データ照合装置40に送付する(ステップS03)。
また、鍵生成部51は、生成した秘密鍵を鍵記憶部52に記憶する(ステップS04)。
[データ登録フェイズ]
図10は、データ登録フェイズにおける暗号文照合システムの動作の一例を示すシーケンス図である。
初めに、登録データ生成装置10は、登録対象となる登録データと上記照合補助装置50からの公開鍵を入力する(ステップS11)。
次に、上記登録データと公開鍵を入力として、第一テンプレート生成部11が第一テンプレートを生成する(ステップS12)。同様に、上記登録データと公開鍵を入力として、第二テンプレート生成部12が第二テンプレートを生成する(ステップS13)。登録データ生成装置10は、各生成された(第一テンプレート、第二テンプレート)を、記憶装置30に送付する(ステップS14)。
その後、記憶装置30の識別子生成部31は、上記テンプレート(第一テンプレート、第二テンプレート)を入力として、当該テンプレートに対して固有の識別子を付与する(ステップS15)。また、識別子生成部31は、上記テンプレートと識別子の組をテンプレート記憶部32に記憶する(ステップS16)。
[暗号文照合フェイズ]
図11は、暗号文照合フェイズにおける暗号文照合システムの動作の一例を示すシーケンス図である。
初めに、照合要求装置20の照合要求部21は、照合対象のデータと、公開鍵と、入力データ(照合対象データ)と照合を行いたいテンプレートの識別子と、を入力する(ステップS21)。その後、照合要求部21は、入力したデータを用いて、照合要求を生成し、当該照合要求をデータ照合装置40に出力する(ステップS22)。
次に、照合要求を受信したデータ照合装置40の対象テンプレート受信部41は、要求された識別子に対応したテンプレートを記憶装置30から受信する(ステップS23)。
その後、当該テンプレートを入力として、第一チャレンジ生成部42、第二チャレンジ生成部43、第三チャレンジ生成部44はそれぞれ、第一チャレンジ、第二チャレンジ、第三チャレンジを生成し、当該生成したチャレンジを照合要求装置20に出力する(ステップS24)。なお、以降の説明では、(第一チャレンジ、第二チャレンジ、第三チャレンジ)をまとめて「チャレンジデータ」と表記する。
チャレンジデータを受信した照合要求装置20の第一レスポンス生成部22、第二レスポンス生成部23、第三レスポンス生成部24、第四レスポンス生成部25は、チャレンジデータと公開鍵を入力として、それぞれ第一レスポンス、第二レスポンス、第三レスポンス、第四レスポンスを生成し、当該生成したレスポンスをデータ照合装置40に出力する(ステップS25)。なお、以降の説明では、(第一レスポンス、第二レスポンス、第三レスポンス、第四レスポンス)をまとめて「レスポンスデータ」と表記する。
照合用データ(レスポンスデータ)を受信したデータ照合装置40の第一照合補助要求生成部45と第二照合補助要求生成部46は、それぞれ第一照合補助要求と第二照合補助要求を生成し、当該補助要求を照合補助装置50に送付する(ステップS26)。なお、以降の説明では、(第一照合補助要求、第二照合補助要求)をまとめて「照合補助要求データ」と表記する。
照合補助要求データを受信した照合補助装置50の照合補助部53は、鍵記憶部52から秘密鍵を受信し、照合補助結果を生成し、データ照合装置40に送付する(ステップS27)。
照合補助結果を受信したデータ照合装置40の判定部47は、判定結果を生成し、出力する(ステップS28)。
[具体例]
次に、第1の実施形態の具体例を説明する。
本具体例では、距離としてn次元ユークリッド距離を扱う場合を説明する。すなわち、2つのn次元ベクトルX=(x[1]、x[2]、...、x[n])とY=(y[1]、y[2]、...、y[n])に対して、XとYの距離d(X、Y)はd(X、Y)=√((x[1]−y[1])^{2}+(x[2]−y[2])^{2}+...+(x[n]−y[n])^{2})と定義する。
d(X、Y)が閾値t以下である場合に、XとYは近い(類似)と判定され、閾値tよりも大きい場合は遠い(非類似)と判定するものとする。ただし、d(X、Y)≦tのとき、0≦{d(X、Y)}^2≦t^2であることを利用する。すなわち、{d(X、Y)}^2が閾値t^2=T以下である場合に、XとYは近いと判定し、Tよりも大きい場合は遠いと判定するものとする。
本具体例では、XとYが近い場合はマッチしたと判定し、遠い場合はマッチしなかったと判定する。また、本具体例では、加法凖同型暗号(例えば、modified楕円Elgamal(エルガマル)暗号など)を利用する。以降、本具体例では、加法準同型暗号としてmodified楕円Elgamal暗号を用いた場合を説明するが、加法Elgamal暗号やPaillier暗号など、他の加法準同型暗号を利用しても構わない。
初めに、modified楕円Elgamal暗号について説明する。modified楕円Elgamal暗号は、楕円Elgamal暗号に加法準同型性を付与するために変形した公開鍵暗号である。modified楕円Elgamal暗号は、鍵生成、暗号化、復号の3つのアルゴリズムからなる。以下にそれぞれを説明する。
[鍵生成アルゴリズム]
(1)セキュリティパラメータ1^kを受け取る。
(2)kビットの素数pに対して、楕円曲線上から位数がpとなる群Gをランダムに選ぶ。Gの生成元(楕円曲線上の点)をgとする。
(3)xを1以上p−1以下の値からランダムに選び、h=[x]gとする。ここで[x]gは楕円曲線上の点gをx倍した結果を意味する。Hも楕円曲線上の点である。
(4)公開鍵pk=((g、G)、p、g、h)、秘密鍵sk=(x)を出力する。
なお、以降簡単のため、特に断りがない限り(g、G)、pは各エンティティに共有されているものとし、公開鍵pkを単にpk=(g、h)と表記する。
[暗号化アルゴリズム]
(1)pk=(g、h)、メッセージm∈Z*_pを入力として受け取る。ここで、Z*_pは集合{1、2、...、p−1}を意味する。
(2)M=[m]gとする。
(3)r∈Z*_pをランダムに選ぶ。
(4)C[0]=[r]g、C[1]=M+[r]hとする。
(5)暗号文(C[0]、C[1])を出力する。
以下、公開鍵pkを用いてメッセージmを暗号化する処理を、Enc(pk、m)と表記する。
[復号アルゴリズム]
(1)sk=(x)、暗号文(C[0]、C[1])を入力として受け取る。
(2)C[1]−[x]C[0]=M+[r]h−[x]([r]g)=Mとする。
以下、秘密鍵skを用いて暗号文C=(C[0]、C[1])を復号する処理を、Dec(sk、C)と表記する。
暗号化アルゴリズムのステップ(2)より、復号結果Mは[m]gである。ここから、mを求めるためには楕円曲線上の離散対数問題を解く必要がある。本来の復号アルゴリズムはmを求めるものであるが、本願開示ではMを求められれば十分であるため、復号アルゴリズムを上記のように改変したものを modified楕円Elgamal暗号と称する。
上記modified楕円Elgamal暗号は、加法準同型性を満たす。すなわち、2つの暗号文(C[0]=[r_1]g、C[1]=[m_1]g+[r_1]h)と(C’[0]=[r_2]g、C’[1]=[m_2]g+[r_2]h)に対して、(C’’[0]=C[0]+C’[0]=[r_1+r_2]g、C’’[1]=C[1]+C’[1]=[m_1+m_2]g+[r_1+r_2]h)である。同様に暗号化したまま定数倍も以下の通り計算できる。(C[0]=[r_1]g、C[1]=[m_1]g+[r_1]h)、a∈Z*_pに対して、(C’[0]=[a]C[0]=[a・r_1]g、C’[1]=[a]C[1]=[a・m_1]g+[a・r_1]h)。
以下、本願開示の各フェイズにおける動作に関して詳細に説明する。
[セットアップフェイズ]
暗号の復号鍵の長さを指定するセキュリティパラメータ1^{k}や閾値Tを含むパラメータparamを入力とした照合補助装置50の鍵生成部51は、modified楕円Elgamal暗号の鍵生成を実行し、公開鍵pk、秘密鍵skを生成する。鍵生成部51は、(param、pk)を登録データ生成装置10と、照合要求装置20と、データ照合装置40に送付し、秘密鍵skを鍵記憶部52に記憶する。上記照合補助装置50による動作は、図9のステップS01〜S04に相当する。
[データ登録フェイズ]
初めに、登録データ生成装置10に、秘匿対象となる登録データX=(x[1]、x[2]、...、x[n])と、上記公開鍵pkが入力される(図10のステップS11)。
次に、上記登録データXと公開鍵pkを入力として、第一テンプレート生成部11は、以下の手順により第一テンプレートを生成し、出力する(図10のステップS12)。
(1)i=1、...、nに対してEnc(pk、x[i])を計算する。
(2)上記(1)の結果の集合{Enc(pk、x[i])}を第一テンプレートとして出力する。
次に、第二テンプレート生成部12は、第二テンプレートを生成する(図10のステップS13)。具体的には、以下の(1)を計算し、第二テンプレートを得る。
(1)Enc(pk、Σ_{i=1、...、n}(x_i)^2)
2つのテンプレート(第一テンプレート、第二テンプレート)は、記憶装置30に送付される(図10のステップS14)。
その後、当該テンプレートを入力として、記憶装置30の識別子生成部31は、テンプレートに対して固有の識別子IDを付与(図10のステップS15)し、テンプレートと識別子の組(ID、テンプレート)をテンプレート記憶部32に記憶(ステップS16)する。
[暗号文照合フェイズ]
初めに、照合要求装置20の照合要求部21に、照合対象のデータY=(y[1]、y[2]、...、y[n])と、公開鍵pkと、入力データと照合を行いたいテンプレートの識別子IDと、が入力され、照合要求requestが出力される(図11のステップS21、S22)。ここで、照合要求requestには識別子IDあるいは識別子IDに関する情報が含まれるものとする。
次に、照合要求requestを受信したデータ照合装置40の対象テンプレート受信部41は、要求された識別子IDに対応したテンプレート(ID、(第一テンプレート、第二テンプレート))を記憶装置30から受信する(ステップS23)。
上記テンプレート(第一テンプレート、第二テンプレート)と公開鍵pkを入力として、第一チャレンジ生成部42は、以下の手順により第一チャレンジを生成、出力する(図11のステップS24)。
(1)Z*_pから乱数R_1、R_2、R_3、R_4を選ぶ。ただし、R_2=R_1・R_3 mod p である。R_1は第二チャレンジ生成部43に、R_2、R_3、R_4は第三チャレンジ生成部44に、R_3^{−1}は第一照合補助要求生成部45に、それぞれ送付される。
(2)[R_1]g を計算し、第一チャレンジとして出力する。
次に、上記テンプレート(第一テンプレート、第二テンプレート)と公開鍵pkと、乱数R_1を入力として、第二チャレンジ生成部43は、以下の(1)の計算により第二チャレンジを生成し、出力する(図11のステップS24)。
(1)i=1、...、nに対して{Enc(pk、R_1・x[i])}を計算し、第二チャレンジとして出力する。
次に、上記テンプレート(第一テンプレート、第二テンプレート)と公開鍵pkと、乱数R_2、R_3、R_4を入力として、第三チャレンジ生成部44は、以下の手順により第三チャレンジを生成し、チャレンジデータを出力する(図11のステップS24)。
(1)Enc(pk、R_2・Σ_{i=1、...、n} (x_i)^2+R_3・R_4)を計算し、第三チャレンジとする。
(2)(第一チャレンジ、第二チャレンジ、第三チャレンジ)をチャレンジデータとして、照合要求装置20に送付する。
このように、データ照合装置40は、登録データの暗号文(2つのテンプレート)と照合補助装置50から送付された公開鍵を用いて複数のチャレンジを生成し、生成された複数のチャレンジを照合要求装置20に送付する。また、データ照合装置40が生成する複数のチャレンジのうち一部のチャレンジ(第二チャレンジ)は、乱数R_1によりマスク(秘匿)され、別の一部のチャレンジ(第三チャレンジ)は乱数R_2及び乱数R_3によりマスクされ、乱数R_1と乱数R_3の乗算結果は乱数R_2に一致する。
上記チャレンジデータを受信し、公開鍵pkを入力として、照合要求装置20の第一レスポンス生成部22は、以下の手順により第一レスポンスを生成し、出力する(図11のステップS25)。
(1)R_C∈Z*_pをランダムに選ぶ。ランダムに選択されたR_Cは、第二レスポンス生成部23、第三レスポンス生成部24に送付される。
(2)[R_C]gを計算し、第一レスポンスとして出力する。
チャレンジデータと、公開鍵pkと、乱数R_Cを入力として、第二レスポンス生成部23は、以下の手順により第二レスポンスを生成し、出力する(図11のステップS25)。
(1)第一チャレンジ([R_1]g)から、[R_C・R_1]gを計算し、乱数r_1∈Z*_pをランダムに選び、([r_1]g、[R_C・R_1]g+[r_1]h)を計算する。これは平文R_C・R_1の暗号文であるため、以降は簡単のため、Enc(pk、R_C・R_1)と表記する。準同型定数倍を使ってEnc(pk、R_C・R_1・Σ_{i=1、...、n} (y_i)^2)を計算する。
(2)第二チャレンジ{Enc(pk、R_1・ x_i)}に対して、Enc(pk、R_1・x_i)を準同型定数倍を使って−2R_C・y_i倍することにより、Enc(pk、−2R_C・R_1・x_i・y_i)を計算する。すべてを準同型加算することにより、Enc(pk、−2R_C・R_1Σ_{i=1、...、n}(x_i・y_i))を計算する。
(3)R∈Z*_pをランダムに選び、第四レスポンス生成部25に送付する。
(4)準同型加算を利用して、Enc(pk、R_C・R_1(Σ_{i=1、...、n} (y_i)^2−2Σ_{i=1、...、n}x_i・y_i)+R)を計算する。+R部分はRを暗号化してから準同型加算すれば計算できる。計算結果は第二レスポンスとして出力される。
チャレンジデータと、公開鍵pkと、乱数R_Cを入力として、第三レスポンス生成部24は、以下の(1)により第三レスポンスを生成し、出力する(図11のステップS25)。
(1)第三チャレンジEnc(pk、R_2・Σ_{i=1、...、n} (x_i)^2+R_3・R_4)に対して、準同型定数倍を用いてR_C倍し、Enc(pk、R_C(R_2・Σ_{i=1,...,n} (x_i)^2+R_3・R_4))を生成する。計算結果は、第三レスポンスとして出力される。
なお、第一〜第三レスポンスは、データ照合装置40が、登録データ(登録された平文データ)と照合対象データ(照合したい平文データ)の距離に関する暗号文を生成するための情報として用いられる。
公開鍵pkと、閾値Tを含むパラメータと、乱数Rと、第一レスポンスと、第二レスポンスと、第三レスポンスを入力として、第四レスポンス生成部25は、以下の手順により第四レスポンスを生成する(図11のステップS25)。
(1)[R]g を計算する。
(2)ハッシュ関数Hを用いて、i=0、...、Tに対して、H([R]g+[i・R_C・R_1]g)を計算する。ここで[i・R_C・R_1]gは第一レスポンスを利用すれば計算できる。
(3){H([R+i・R_C・R_1]g)}_{i=0、...、T}を第四レスポンスとする。
(4)(第一レスポンス、第二レスポンス、第三レスポンス、第四レスポンス)はレスポンスデータとして、データ照合装置40に送付される。
なお、第四レスポンスは、登録データと照合対象データの間の距離が、登録データと照合対象データ間が一致するものとして許容される閾値以内であるときに取り得る値のハッシュ値の集合を示す。
このように、照合要求装置20は、データ照合装置40から送付された複数のチャレンジ、照合補助装置50から送付された公開鍵及び乱数を用いて複数のレスポンスを生成し、当該複数のレスポンスをデータ照合装置40に送付する。
レスポンスデータと乱数R_3^{−1}、R_4を受信したデータ照合装置40の第一照合補助要求生成部45は、以下の手順により第一照合補助要求を生成し、出力する(図11のステップS26)。
(1)準同型定数倍を用いて、第三レスポンスEnc(pk、R_C(R_2・Σ_{i=1、...、n} (x_i)^2+R_3・R_4))のR_3^{−1}倍Enc(pk、R_3^{−1}・R_C(R_2・Σ_{i=1、...、n} (x_i)^2+R_3・R_4))を計算する。ここで乱数の作り方から、R_2・R_3^{−1}=R_1、R_3・R_3^{−1}=1であるため、結果はEnc(pk、R_C(R_1・Σ_{i=1、...、n} (x_i)^2+R_4))となる。
(2)第一レスポンス[R_C]gと乱数R_4から、準同型加算を用いて、Enc(pk、R_3^{−1}・R_C・R_1・Σ_{i=1、...、n} (x_i)^2)を計算する。
(3)第二レスポンスEnc(pk、R_C・R_1(Σ_{i=1、...、n} (y_i)^2−2Σ_{i=1、...、n}x_i・y_i)+R)と上記(2)の結果を準同型加算することにより、Enc(pk、R_C・R_1 d(X、Y)^2 +R)が得られる。当該計算結果が、第一照合補助要求として出力される。
なお、上記第一照合補助要求は、登録データと照合対象データの距離に関する暗号文に相当する。即ち、第一照合補助要求には、Enc(pk、R_C・R_1 d(X、Y)^2 +R)なる情報が含まれ、当該情報は、登録データ(登録された平文データ)と照合対象データ(照合したい平文データ)の間のユークリッド距離の二乗に乱数R_Cと乱数R_1を乗じた値に乱数Rを加算した値の暗号文に等しい。このように、データ照合装置40は、登録データと照合対象データ間の距離に関する暗号文を第一照合補助要求として照合補助装置50に送付する。
レスポンスデータを入力として、第二照合補助要求生成部46は、第四レスポンスを第二照合補助要求とする。つまり、データ照合装置40は、第四レスポンスを第二照合補助要求として照合補助装置50に送付する。このように、照合補助要求データ(第一照合補助要求、第二照合補助要求)は、照合補助装置50に送付される(図11のステップS26)。
照合補助要求データを受信した照合補助装置50の照合補助部53は、鍵記憶部52から秘密鍵skを受信し、第一照合補助要求を復号して、[R_C・R_1 d(X、Y)^2 +R]gを得る。また、照合補助部53は、H([R_C・R_1 d(X、Y)^2 +R]g)を計算する。その後、照合補助部53は、計算結果(計算したハッシュ値)が第二照合補助要求に含まれていたらOK(成功)を、含まれていなかったらNG(失敗)を照合補助結果としてデータ照合装置40に送付する(図11のステップS27)。
このように、照合補助装置50は、第一照合補助要求の暗号文を鍵記憶部52に格納された秘密鍵により復号することで、乱数により秘匿された距離(登録データと照合対象データ間の距離)を取得する。さらに、照合補助装置50は、取得した当該距離のハッシュ値を計算する。その後、照合補助装置50は、当該計算された距離のハッシュ値が、第二照合補助要求に含まれるか否かを判断し、判断結果をデータ照合装置40に送付する。
照合補助結果を受信したデータ照合装置40の判定部47は、結果がOKであればマッチを、NGであればマッチしないを判定結果として出力する(図11のステップS28)。つまり、データ照合装置40は、照合補助装置50からの判断結果に応じて、登録データと照合対象データが一致するか否かの判定結果を出力する。
以上のように、第1の実施形態に係る暗号文照合システムでは、データ照合装置40が、登録データと照合対象データ間の距離に関する暗号文を照合補助装置50に送付する。照合補助装置50は、当該距離に関する暗号文を秘密鍵により復号することで得られる距離が、登録データと照合対象データが一致するものとして許容される距離の集合に含まれるか否かに関する判断を行い、判断結果を前記データ照合装置に送付する。
その結果、データ間の実際の距離は秘匿され、距離に関する情報が漏えいしないことを保証でき、かつ、照合処理の大部分は許容される曖昧さのパラメータに依存しないシステムが提供される。即ち、登録データと照合対象データ間の距離を秘匿することで安全性が確保され、且つ、照合処理の大部分が許容される曖昧さのパラメータに依存しないので照合時の計算時間が短い暗号文照合システムが提供できる。
なお、上記実施形態や具体例にて説明した暗号文照合システムの構成及び動作は例示であって、種々の変形が可能である。また、上述の説明で用いた複数のフローチャートでは、複数の工程(処理)が順番に記載されているが、上記実施形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施形態では、例えば各処理を並行して実行する等、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態は、内容が相反しない範囲で組み合わせることができる。
上記の説明により、本発明の産業上の利用可能性は明らかであるが、本発明は、特徴量として多値ベクトルを用いる生体認証などに好適に適用可能である。データ登録フェイズにおける入力データと、暗号文照合フェイズにおける入力データを、指紋や静脈などから取得した生体情報から得られた特徴量(特徴ベクトル)とすることで、生体情報を秘匿したまま、記憶装置に格納された暗号化された生体データと、照合要求装置から創出された暗号化された生体データが同一人物から採取されたものであるか否かを、2つの入力データの距離が一定数以下となるかどうかにより判定することが可能となる。特に、生体情報は、常に安定して同一のデータが取得できるわけではないことが知られており、同じ人物から取得されるデータが類似している(各要素の距離が小さいデータが取得できる)と仮定できるため、本発明の生体認証への活用は有効である。
上記の実施形態の一部又は全部は、以下のようにも記載され得るが、以下には限られない。
[形態1]
上述の第1の視点に係る暗号文照合システムのとおりである。
[形態2]
前記データ照合装置は、前記登録データの暗号文と前記送付された公開鍵を用いて複数のチャレンジを生成し、前記生成された複数のチャレンジを前記照合要求装置に送付し、
前記照合要求装置は、前記送付された複数のチャレンジ、前記送付された公開鍵及び乱数を用いて生成された複数のレスポンスを、前記データ照合装置に送付する、形態1の暗号文照合システム。
[形態3]
前記照合要求装置は、
第一乃至第三のレスポンスにより、前記データ照合装置が前記第一距離に関する暗号文を生成するための情報を送付し、
第四のレスポンスにより、前記第一距離が前記登録データと前記照合対象データ間が一致するものとして許容される閾値以内であるときに取り得る値のハッシュ値の集合を前記データ照合装置に送付する、形態2の暗号文照合システム。
[形態4]
前記データ照合装置は、
前記第一距離に関する暗号文を第一照合補助要求として前記照合補助装置に送付し、前記第四のレスポンスを第二照合補助要求として前記照合補助装置に送付する、形態3の暗号文照合システム。
[形態5]
前記照合補助装置は、
前記第一照合補助要求の暗号文を前記秘密鍵により復号することで、乱数により秘匿された前記第一距離を取得すると共に、前記取得した第一距離のハッシュ値を計算し、
前記計算された第一距離のハッシュ値が、前記第二照合補助要求に含まれるか否かを判断すると共に、当該判断結果を前記データ照合装置に送付する、形態4の暗号文照合システム。
[形態6]
前記データ照合装置は、前記判断結果に応じて、前記登録データと前記照合対象データが一致するか否かの判定結果を出力する、形態5の暗号文照合システム。
[形態7]
前記データ照合装置が生成する複数のチャレンジのうち一部のチャレンジは、第一乱数によりマスクされ、別の一部のチャレンジは第二乱数及び第三乱数によりマスクされ、前記第一乱数と前記第三乱数の乗算結果は前記第二乱数に一致する、形態2乃至6のいずれか一に記載の暗号文照合システム。
[形態8]
前記照合要求装置は、前記複数のレスポンスを生成する際に第四乱数と第五乱数を使用し、
前記データ照合装置は、前記登録データと前記照合対象データの間のユークリッド距離の二乗に第四乱数と第一乱数を乗じた値に第五乱数を加算した値の暗号文を生成する、形態7の暗号文照合システム。
[形態9]
前記照合補助装置は、加法準同型暗号として楕円エルガマル暗号を用いる、形態1乃至8のいずれか一に記載の暗号文照合システム。
[形態10]
上述の第2の視点に係る暗号文照合方法のとおりである。
[形態11]
登録データと照合対象データ間の第一距離が乱数により秘匿された、前記第一距離に関する暗号文を受信する処理と、
前記第一距離に関する暗号文を復号することで得られる前記第一距離が、前記登録データと前記照合対象データが一致するものとして許容される第二距離の集合に含まれるか否かに関する判断を行う処理と、
をコンピュータに実行させるプログラム。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
[形態12]
登録データ生成装置と、記憶装置と、照合要求装置と、データ照合装置と、照合補助装置とを備える暗号文照合システムであって、
前記登録データ生成装置は、
秘匿の対象となる入力データと、照合補助装置が公開している公開鍵とを入力とし、前記公開鍵を用いて入力データの各要素を秘匿した暗号データを出力する第一テンプレート生成部と、
秘匿の対象となる入力データと、照合補助装置が公開している公開鍵とを入力とし、前記公開鍵を用いて入力データに関する情報を秘匿した暗号データを出力する第二テンプレート生成部と、
を備え、
前記記憶装置は、
前記登録データ生成装置から送付された暗号データに対して固有の識別子を付与する識別子生成部と、
前記登録データ生成装置から送付された暗号データおよび前記識別子の組を記憶するテンプレート記憶部とを備え、
前記照合要求装置は、
照合したいデータと識別子とを入力とし、照合要求を生成する照合要求部と、
前記照合したいデータと、データ照合装置から送付されたチャレンジと、前記照合補助装置が公開している公開鍵とを入力として、レスポンスを生成する第一から第四レスポンス生成部とを備え、
前記データ照合装置は、
前記照合要求装置から送付された照合要求を入力とし、照合要求に含まれる識別子と対応するテンプレートを記憶装置から受信する対象テンプレート受信部と、
前記受信したテンプレートと、照合補助装置が公開している公開鍵とを入力とし、チャレンジを生成する第一から第三チャレンジ生成部と、
照合要求装置からレスポンスを受信し、照合補助依頼データを生成する第一と第二照合補助要求生成部と、
前記照合補助依頼データに対して、前記照合補助装置が生成した照合補助結果を受信し、照合結果を生成する判定部と、を備え、
前記照合補助装置は、
セキュリティパラメータを入力とし、加法準同型暗号の公開鍵と秘密鍵を生成し、公開鍵を公開し、秘密鍵を鍵記憶部に記憶する鍵生成部と、
前記鍵生成部が生成した秘密鍵を記憶する鍵記憶部と、
データ照合装置から受信した照合補助依頼データと、鍵記憶部から受信した秘密鍵を入力として、照合補助結果を生成する照合補助部と、を備える、
ことを特徴とした暗号文照合システム。
なお、形態10及び形態11は、形態1と同様に、形態2〜形態9に展開することが可能である。
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。
10、101 登録データ生成装置
11 第一テンプレート生成部
12 第二テンプレート生成部
20、102 照合要求装置
21 照合要求部
22 第一レスポンス生成部
23 第二レスポンス生成部
24 第三レスポンス生成部
25 第四レスポンス生成部
30 記憶装置
31 識別子生成部
32 テンプレート記憶部
40、103 データ照合装置
41 対象テンプレート受信部
42 第一チャレンジ生成部
43 第二チャレンジ生成部
44 第三チャレンジ生成部
45 第一照合補助要求生成部
46 第二照合補助要求生成部
47 判定部
50、104 照合補助装置
51 鍵生成部
52 鍵記憶部
53 照合補助部
111 CPU(Central Processing Unit)
112 メモリ
113 入出力インターフェイス
114 NIC(Network Interface Card)

Claims (8)

  1. 登録データ生成装置と照合要求装置とデータ照合装置と照合補助装置とを備える暗号文照合システムであって、
    前記照合補助装置は、公開鍵及び秘密鍵を生成し、
    前記登録データ生成装置は、登録データおよび前記公開鍵を入力とし、前記公開鍵を用いて前記登録データを暗号化することより、前記登録データの暗号文を生成し、
    前記データ照合装置は、前記登録データの暗号文および前記公開鍵および乱数を用いて、複数のチャレンジを生成し、
    前記照合要求装置は、前記複数のチャレンジおよび前記公開鍵および乱数を用いて、複数のレスポンスを生成し
    前記複数のレスポンスは、前記データ照合装置が第一距離に関する暗号文を生成するための情報として用いられる第一乃至第三のレスポンスと、前記第一距離が前記登録データと前記照合対象データ間が一致するものとして許容される第二距離の集合を示す第四のレスポンスとを含んでおり、
    前記データ照合装置は、前記複数のレスポンスおよび前記公開鍵を入力とし、前記公開鍵を用いて前記複数のレスポンスを暗号化することより、前記登録データと前記照合対象データ間の第一距離が乱数により秘匿された、前記第一距離に関する暗号文を生成
    前記照合補助装置は、前記秘密鍵を用いて、前記第一距離に関する暗号文復号することにより、乱数により秘匿された前記第一距離を得て、前記第一距離のハッシュ値を計算し、さらに、前記登録データと前記照合対象データが一致するものとして許容される前記第二距離の集合に前記ハッシュ値が含まれるか否か判断を行い、
    記データ照合装置は、前記照合補助装置の判断結果に応じて、前記登録データと前記照合対象データが一致するか否かの判定結果を出力する、暗号文照合システム。
  2. 前記データ照合装置は、
    前記第一距離に関する暗号文を第一照合補助要求として前記照合補助装置に送付し、前記第四のレスポンスを第二照合補助要求として前記照合補助装置に送付する、請求項1に記載の暗号文照合システム。
  3. 前記照合補助装置は、
    前記第一照合補助要求前記秘密鍵により復号することで、乱数により秘匿された前記第一距離を取得すると共に、前記取得した第一距離のハッシュ値を計算し、
    前記計算された第一距離のハッシュ値が、前記第二照合補助要求に含まれるか否かを判断すると共に、当該判断結果を前記データ照合装置に送付する、請求項2に記載の暗号文照合システム。
  4. 前記データ照合装置は、前記判断結果に応じて、前記登録データと前記照合対象データが一致するか否かの判定結果を出力する、請求項3に記載の暗号文照合システム。
  5. 前記データ照合装置が生成する複数のチャレンジのうち一部のチャレンジは、第一乱数によりマスクされ、別の一部のチャレンジは第二乱数及び第三乱数によりマスクされ、前記第一乱数と前記第三乱数の乗算結果は前記第二乱数に一致する、請求項乃至のいずれか一項に記載の暗号文照合システム。
  6. 前記照合要求装置は、前記複数のレスポンスを生成する際に第四乱数と第五乱数を使用し、
    前記データ照合装置は、前記登録データと前記照合対象データの間のユークリッド距離の二乗に第四乱数と第一乱数を乗じた値に第五乱数を加算した値の暗号文を生成する、請求項5に記載の暗号文照合システム。
  7. 前記照合補助装置は、加法準同型暗号として楕円エルガマル暗号を用いる、請求項1乃至6のいずれか一項に記載の暗号文照合システム。
  8. 録データ生成装置照合要求装置データ照合装置照合補助装置を含む暗号文照合システムにおいて、
    前記照合補助装置が、公開鍵及び秘密鍵を生成するステップと、
    前記登録データ生成装置が、登録データおよび前記公開鍵を入力とし、前記公開鍵を用いて前記登録データを暗号化することより、前記登録データの暗号文を生成するステップと
    前記データ照合装置が、前記登録データの暗号文および前記公開鍵および乱数を用いて、複数のチャレンジを生成するステップと、
    前記照合要求装置が、前記複数のチャレンジおよび前記公開鍵および乱数を用いて、複数のレスポンスを生成するステップと、
    前記複数のレスポンスは、前記データ照合装置が第一距離に関する暗号文を生成するための情報として用いられる第一乃至第三のレスポンスと、前記第一距離が前記登録データと前記照合対象データ間が一致するものとして許容される第二距離の集合を示す第四のレスポンスとを含んでおり、
    前記データ照合装置が、前記複数のレスポンスおよび前記公開鍵を入力とし、前記公開鍵を用いて前記複数のレスポンスを暗号化することより、前記登録データと前記照合対象データ間の第一距離が乱数により秘匿された、前記第一距離に関する暗号文を生成するステップと、
    前記照合補助装置が、前記秘密鍵をもちいて、前記第一距離に関する暗号文を前記秘密鍵により復号することにより、乱数により秘匿された前記第一距離を得て、前記第一距離のハッシュ値を計算し、さらに、前記登録データと前記照合対象データが一致するものとして許容される前記第二距離の集合に前記ハッシュ値が含まれるか否か判断を行うステップと
    記データ照合装置が、前記照合補助装置の判断結果に応じて、前記登録データと前記照合対象データが一致するか否かの判定結果を出力する、ステップと、
    を含む、暗号文照合方法。
JP2018553626A 2016-12-02 2016-12-02 暗号文照合システム及び暗号文照合方法 Active JP6791263B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/085951 WO2018100740A1 (ja) 2016-12-02 2016-12-02 暗号文照合システム及び暗号文照合方法

Publications (2)

Publication Number Publication Date
JPWO2018100740A1 JPWO2018100740A1 (ja) 2019-10-17
JP6791263B2 true JP6791263B2 (ja) 2020-11-25

Family

ID=62242030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018553626A Active JP6791263B2 (ja) 2016-12-02 2016-12-02 暗号文照合システム及び暗号文照合方法

Country Status (3)

Country Link
US (1) US11101975B2 (ja)
JP (1) JP6791263B2 (ja)
WO (1) WO2018100740A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016203762A1 (ja) * 2015-06-18 2016-12-22 日本電気株式会社 暗号情報作成装置、暗号情報作成方法、記録媒体、及び、照合システム
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
US11424928B2 (en) * 2020-05-30 2022-08-23 International Business Machines Corporation Preventing malformed ciphertext attacks on privacy preserving biometric authentication
US20240048362A1 (en) * 2021-01-14 2024-02-08 Nippon Telegraph And Telephone Corporation Encryption apparatus, cypher communication system, encryption method and program

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG95612A1 (en) * 1999-12-24 2003-04-23 Kent Ridge Digital Labs Remote authentication based on exchanging signals representing biometrics information
US8510225B2 (en) * 2004-09-01 2013-08-13 Research In Motion Limited Split channel authenticity queries in multi-party dialog
JP4564348B2 (ja) 2004-12-10 2010-10-20 株式会社日立製作所 生体情報の特徴量変換方法および生体認証システム
US7512795B2 (en) * 2005-01-04 2009-03-31 Motorola, Inc. Method and apparatus for authenticating components
CN103380591B (zh) * 2011-02-22 2016-03-30 三菱电机株式会社 类似度计算系统、类似度计算装置以及类似度计算方法
US20130104209A1 (en) * 2011-10-23 2013-04-25 Gopal Nandakumar Authentication system
US10069827B2 (en) * 2012-10-31 2018-09-04 International Business Machines Corporation Extending authentication and authorization capabilities of an application without code changes
WO2014185450A1 (ja) 2013-05-15 2014-11-20 日本電気株式会社 照合システム、ノード、照合方法およびプログラム
JP6229716B2 (ja) 2013-05-15 2017-11-15 日本電気株式会社 照合システム、ノード、照合方法およびプログラム
US9660991B2 (en) * 2014-05-25 2017-05-23 Fujitsu Limited Relational encryption
JP6421576B2 (ja) * 2014-12-12 2018-11-14 富士通株式会社 暗号処理装置、暗号処理方法、及び暗号処理プログラム

Also Published As

Publication number Publication date
US20190394018A1 (en) 2019-12-26
JPWO2018100740A1 (ja) 2019-10-17
US11101975B2 (en) 2021-08-24
WO2018100740A1 (ja) 2018-06-07

Similar Documents

Publication Publication Date Title
CN111466097B (zh) 服务器辅助式隐私保护生物统计比较
US11882218B2 (en) Matching system, method, apparatus, and program
JP6882254B2 (ja) 生体特徴に基づく安全性検証方法、クライアント端末、及びサーバ
JP6763378B2 (ja) 暗号情報作成装置、暗号情報作成方法、暗号情報作成プログラム、及び、照合システム
US9485098B1 (en) System and method of user authentication using digital signatures
US9910478B2 (en) Collation system, node, collation method, and computer readable medium
JP6229716B2 (ja) 照合システム、ノード、照合方法およびプログラム
CN109691010B (zh) 用于数据传输的系统和方法
JP6791263B2 (ja) 暗号文照合システム及び暗号文照合方法
JP2014126865A (ja) 暗号処理装置および方法
JP6451938B2 (ja) 暗号文照合システム、方法、およびプログラム
WO2014185450A1 (ja) 照合システム、ノード、照合方法およびプログラム
KR102008101B1 (ko) 함수 암호를 이용한 안전한 바이오 인증 방법
WO2020121458A1 (ja) 照合システム、クライアントおよびサーバ
US10484182B2 (en) Encrypted text verification system, method, and recording medium
Wang et al. Biometrics-authenticated key exchange for secure messaging
JP6828322B2 (ja) 照合システムと方法とプログラム
CN109768969B (zh) 权限控制方法及物联网终端、电子设备
CN110363528B (zh) 协同地址的生成、交易签名方法及装置、存储介质
JP7024709B2 (ja) 暗号化情報照合装置、暗号化情報照合方法、及び、暗号化情報照合プログラム
JP7259979B2 (ja) 情報照合システム及び情報照合方法
KR102094606B1 (ko) 인증 장치 및 방법
JP2021073788A (ja) 照合システムと方法とプログラム
Syed et al. Wip: Privacy enabled biometric authentication based on proof of decryption techniques
KR20200076861A (ko) 서버에의 비밀 정보 저장 방법 및 복구 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200508

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201019

R150 Certificate of patent or registration of utility model

Ref document number: 6791263

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150