JP6451938B2 - 暗号文照合システム、方法、およびプログラム - Google Patents

暗号文照合システム、方法、およびプログラム Download PDF

Info

Publication number
JP6451938B2
JP6451938B2 JP2014248827A JP2014248827A JP6451938B2 JP 6451938 B2 JP6451938 B2 JP 6451938B2 JP 2014248827 A JP2014248827 A JP 2014248827A JP 2014248827 A JP2014248827 A JP 2014248827A JP 6451938 B2 JP6451938 B2 JP 6451938B2
Authority
JP
Japan
Prior art keywords
data
verification
ciphertext
registration
unit
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
JP2014248827A
Other languages
English (en)
Other versions
JP2016111594A (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
Priority to JP2014248827A priority Critical patent/JP6451938B2/ja
Publication of JP2016111594A publication Critical patent/JP2016111594A/ja
Application granted granted Critical
Publication of JP6451938B2 publication Critical patent/JP6451938B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号化されたデータの曖昧さを許容する暗号文照合システム、方法およびプログラムに関し、特に、秘匿対象となる入力データ(照合元データ)も、照合対象の入力データ(照合対象データ)もともに暗号化されている状況で、曖昧さの指標を平文のユークリッド距離とした場合の暗号文照合システム、方法、およびプログラムに関する。
近年、クラウドの普及に伴い、ネットワークに接続された計算資源に利用者のデータを置き、そのデータに基づいたサービスが急速に広がってきている。このようなサービスでは、利用者の機微なデータを扱う機会も増大してきている。このため、利用者が自分のデータが安全に管理されていることを保証することが重要になってきている。
このような状況の下、オープンなネットワーク環境でデータを暗号化したまま管理し、データを復号することなく、検索や、統計処理などを行う技術の研究開発が活発に行われている。
また、近年、従来のパスワードや磁気カードを用いた個人認証の脆弱性をついた犯罪が頻発している。このため、より安全性の高い指紋、静脈などの生体的な特徴に基づく生体認証技術が注目を集めている。
生体認証においては、認証情報の検証を行うために、生体情報に関するテンプレートをデータベースに保管する必要がある。指紋、静脈等の生体情報は基本的に生涯不変のデータである。生体情報は、もしそれが漏洩すると、その被害は甚大なものとなる。このため、生体情報は、最も機密性が要求される情報である。したがって、テンプレートが漏洩した場合でも、「なりすまし」等が行えないようにする必要がある。
例えば、特許文献1は、生体データから得られた特徴ベクトルのユークリッド距離を、準同型暗号を用いて暗号化したまま計算することにより、特徴ベクトルを秘匿したままの生体認証を実現している。
特許文献1に開示された方式は、生体認証を依頼するクライアント、認証を行う認証サーバのほかに、準同型暗号の復号鍵を保持し、サーバの依頼に応じて復号を行う復号サーバが存在する。特許文献1の生体認証では、生体情報から得られる特徴ベクトルを用いて、認証を行う。
また、非特許文献1、非特許文献2、非特許文献3、非特許文献4は、上記特許文献1の方式に対して復号サーバを利用した攻撃方法を提案し、それぞれ攻撃を防ぐ方法を述べている。
一方、特許文献2は、暗号文照合において、元の平文に関する漏洩を回避可能とし、安全性を担保可能とした暗号文照合システムを開示している。この特許文献2に開示された暗号文照合システムにおいて、照合対象の入力データが暗号化され、該入力の照合を行うための登録データが暗号化されている。また、特許文献2は、入力データのみがシステムに入力され、入力データと照合する暗号データの識別子が出力され、1対多照合を実現する、実施の形態も開示している。
また、特許文献3は、生体情報を暗号化したままで生体認証を行う方法を開示している。特許文献3は、証明装置と、認証装置と、復号装置とを有する生体認証装置を開示している。証明装置は、ユーザから生体情報を測定し、測定した生体情報を用いて秘匿証明処理を行う。認証装置は、ユーザの生体情報を暗号化した格納しておくとともに、格納した暗号化された生体情報を用いて認証を行う。復号装置は、暗号化データを復号する。
証明装置の暗号化部は、公開鍵と乱数を用いて特徴ベクトルを暗号化する。認証装置の暗号化類似度生成部は、登録されている暗号化特徴ベクトルと認証用の特徴ベクトルとから、公開鍵と乱数を用いて暗号化類似度情報を生成する。復号装置の復号部は、暗号化類似度情報に秘密鍵を用いて復号処理を行い、平文の類似度を導出する。復号装置の通信部は、平文の類似度を認証装置に送信する。認証装置の判定部は、平文の類似度が所定のしきい値以上であるか否かを判定し、しきい値以上であれば本人と判定し、しきい値を下回っている場合は、本人ではないと判定する。
尚、特許文献3では、類似度の指標として2つの特徴ベクトルのハミング距離またはユークリッド二乗距離を用いている。
さらに、特許文献4は、暗号化した画像データに対して復号せずに画像の評価等の画像処理を行う技術を開示している。特許文献4に開示された画像検索では、検索先画像及びクリエ画像の各々から特徴量を抽出し、これらを秘密分散暗号化し、暗号化領域で特徴量の距離の演算を行っている。特許文献4に開示の画像検索では、特徴量ベクトル同士の距離を暗号化領域で演算し、その復号した値を類似度としている。
特許第5496410号公報 国際公開第2014/010725号 国際公開第2011/052056号 特開2013−097351号公報
キャンセラブル生体認証方式の安全性について(その2),伊豆哲也,酒見由美,武中正彦,鳥居直哉,電子情報通信学会ISEC研究会,2013. キャンセラブル生体認証方式の安全性について(その3),伊豆哲也,酒見由美,武中正彦,鳥居直哉,2014年暗号と情報セキュリティシンポジウム,2014. 準同型暗号を用いた秘匿生体認証に対する安全性について(その1),酒見由美,武中正彦,鳥居直哉,安田雅哉,電子情報通信学会ISEC研究会,2014. 準同型暗号を用いた秘匿生体認証に対する安全性について(その2),酒見由美,武中正彦,鳥居直哉,安田雅哉,電子情報通信学会ISEC研究会,2014.
しかしながら、特許文献1および非特許文献1〜4に開示されたいずれの方式も、復号サーバからの返答はOKまたはNGであり、どの程度近かったかを表す距離情報(類似度)は認証サーバに伝えられていない。
特許文献2に開示されているような、1:N認証を行う際に、距離情報(類似度)が認証サーバに伝えられないことが問題となりうる。ここで、「1:N認証」とは、1つの認証データが、N個の登録データに含まれているかどうかを判定する認証である。上記の方式のように、認証サーバに距離情報(類似度)が伝えられない場合、認証サーバがその判定を行えない。
一方で、復号サーバからの返答をOKあるいはNGではなく、例えば、上記特許文献3のように、復号結果、すなわち特徴ベクトル(特徴量)ZとZ’と間の距離を表す距離情報(類似度)を返すように変更すれば、上記問題は容易に解決する。しかしながら、距離情報(類似度)そのものを認証サーバに返答することにより、距離を利用したヒルクライミング攻撃(後述する)が可能となることが知られている。したがって、復号サーバから距離情報(類似度)そのものを出力することは、安全性上好ましくない。
また、暗号化したままの照合方法として、決定的な共通鍵暗号や公開鍵暗号を利用した検索可能暗号を利用する方法が知られている。しかしながら、これらの方法は一般に、検索に用いるキーワードが一意に定まっている必要がある。上記のように生体情報を利用して照合を行う場合、生体情報取得時に含まれるノイズのせいで常に同じ生体情報が得られるわけではないことが知られている。このため、検索可能暗号を適用することが難しい。
尚、特許文献4は、単に、特徴量ベクトル同士の距離を暗号化領域で演算し、その復号した値を類似度とする、画像検索技術を開示しているに過ぎない。
上述した先行技術の問題点は、復号サーバからの返答が登録に使った特徴ベクトル(特徴量)Zと認証に使った特徴ベクトル(特徴量)Z’が近い,あるいは遠いのみであることである。あるいは、距離情報(類似度)そのものを出力してしまうことにより、登録データあるいは認証データから特徴ベクトル(特徴量)ZあるいはZ’が復元されてしまうことである。
本発明の目的は、登録時に使用したデータZと照合時に使用したデータZ’との間の距離に関する情報を出力しても、データに関する情報が漏れない、暗号文照合システム、方法およびプログラムを提供することにある。
本発明の暗号文照合システムは、クライアントと、認証サーバと、復号サーバとを備える暗号文照合システムであって、上記クライアントに備えられ、暗号化鍵を用いて秘匿対象となる入力データを暗号化して、登録データを出力する登録データ生成部と、上記認証サーバに備えられ、登録データを暗号文記憶部に、当該登録データを一意に特定するための識別子を識別子記憶部に、それぞれ対応が分かるように記憶する記憶装置と、上記クライアントに備えられ、暗号化鍵を用いて照合対象の入力データを暗号化して、照合データを出力するデータ照合要求生成部と、上記認証サーバに備えられ、上記暗号文記憶部に記憶されているすべての登録データと照合データとから暗号化鍵を用いて、すべての暗号化距離データを出力する距離計算部と、上記復号サーバに備えられ、復号鍵を用いてすべての暗号化距離データを復号して、すべての距離データを生成する復号部と、上記復号サーバに備えられ、すべての距離データから距離の順序を保つようにランダムに選択されたスコアを生成するスコア計算部と、上記認証サーバ備えられ、スコアから照合結果を出力する判定部と、を含む。
また、本発明の暗号文照合方法は、第1のクライアントが、暗号化鍵を用いて秘匿対象となる入力データを暗号化して登録データを生成し、認証サーバが、登録データを、当該登録データを一意に特定するための識別子とともに記憶部に記憶するデータ登録ステップと、第2のクライアントが、暗号化鍵を用いて照合対象の入力データを暗号化して照合データを生成し、認証サーバが、記憶部に記憶されたすべての登録データと照合データとから、暗号化鍵を用いてすべての暗号化距離データを生成し、復号サーバが、復号鍵を用いてすべての暗号化距離データを復号してすべての距離データを生成し、すべての距離データから距離の順序を保つようにランダムに選択されたスコアを生成し、認証サーバが、スコアから照合結果を生成する、暗号文照合ステップと、を含む。
本発明によれば、登録時に使用したデータと照合時に使用したデータとの間の距離に関する情報を出力しても、データに関する情報が漏れないという効果がある。
第1の関連技術による暗号文照合システムの構成を示すブロック図である。 第2の関連技術による暗号文照合システムの構成を示すブロック図である。 本発明に係る暗号文照合システムの概略構成を示すブロック図である。 本発明の第1の実施形態に係る暗号文照合システムの構成例を示すブロック図である。 図4に示した暗号文照合システムに使用される、登録データ生成装置および記憶装置の構成例を示すブロック図である。 図4に示した暗号文照合システムに使用される、データ照合要求装置およびデータ照合判定装置の構成例を示すブロック図である。 図4に暗号文照合システムに使用される、照合補助装置の構成例を示すブロック図である。 図4に示した暗号文照合システムの、セットアップフェイズの動作例を示すフローチャートである。 図4に示した暗号文照合システムの、データ登録フェイズの動作例を示すフローチャートである。 図4に示した暗号文照合システムの、暗号文照合フェイズの動作例を示すフローチャートである。 本発明の第2の実施形態に係る暗号文照合システムの構成例を示すブロック図である。 図11に示した暗号文照合システムに使用される、登録データ生成装置の構成例を示すブロック図である。 図11に示した暗号文照合システムに使用される、データ照合要求装置の構成例を示すブロック図である。 図11に示した暗号文照合システムに使用される、データ照合判定装置の構成例を示すブロック図である。 図11に示した暗号文照合システムの、セットアップフェイズの動作例を示すフローチャートである。 図11に示した暗号文照合システムの、データ登録フェイズの動作例を示すフローチャートである。 図11に示した暗号文照合システムの、暗号文照合フェイズの前半の動作例を示すフローチャートである。 本発明の第1の実施例による暗号文照合システムの、セットアップフェイズの動作例を示すフローチャートである。 本発明の第1の実施例による暗号文照合システムの、データ登録フェイズの動作例を示すフローチャートである。 本発明の第1の実施例による暗号文照合システムの、暗号文照合フェイズの動作例を示すフローチャートである。 本発明の第2の実施例による暗号文照合システムの、セットアップフェイズの動作例を示すフローチャートである。 本発明の第2の実施例による暗号文照合システムの、データ登録フェイズの動作例を示すフローチャートである。 本発明の第2の実施例による暗号文照合システムの、暗号文照合フェイズの動作例を示すフローチャートである。
[関連技術]
上述したように、上記特許文献1では、生体データから得られた特徴ベクトルのユークリッド距離を、準同型暗号を用いて暗号化したまま計算することにより、特徴ベクトルを秘匿したままの生体認証を実現している。
図1に示されるように、特許文献1に開示された、第1の関連技術による暗号文照合システムは、生体認証を依頼するクライアント10と、認証を行う認証サーバ20と、準同型暗号の復号鍵を保持し、認証サーバ20の依頼に応じて復号を行う復号サーバ30と、を備える。特許文献1に開示された生体認証(暗号文照合システム)では、生体情報から得られる特徴ベクトルZを用いて、以下のように認証を行う。
まず、第1の関連技術による暗号文照合システムでは、登録を以下の通り行う。
クライアント10は、自身の生体データから得られた特徴ベクトルZを準同型暗号の暗号化鍵を用いて暗号化する。
(A1)復号サーバ30は鍵生成を行い、準同型暗号の公開鍵pkおよび秘密鍵skを生成する。復号サーバ30は、公開鍵をクライアント10へ送付する。
(A2)クライアント10は、特徴ベクトルZを公開鍵pkを用いて暗号化し、登録データENC(pk, Z)を生成する。クライアント10は、登録データENC(pk, Z)を認証サーバ20へ送付する。
(A3)認証サーバ20は登録データENC(pk, Z)を記憶する。
次に、第1の関連技術による暗号文照合システムでは、認証を以下の通り行う。
ここでクライアント10は、特徴ベクトルZ’を保持しているものとする。同じ人物であれば2つの特徴ベクトルZ, Z’の距離は近く、異なる人物の特徴ベクトルZ, Z’の距離は遠いものとする。
(B1)クライアント10は、特徴ベクトルZ’ を公開鍵pkを用いて暗号化し、照合データENC(pk, Z’)を生成する。クライアント10は、照合データENC(pk, Z’)を認証サーバ20へ送付する。
(B2)認証サーバ20は、準同型性を利用し、暗号化したまま暗号化距離データENC(pk, d(Z, Z’))を計算する。ここでd(a, b)はaとbとの間の距離を意味する。認証サーバ20は、暗号化距離データENC(pk, d(Z, Z’))を復号サーバ30へ送付する。
(B3)復号サーバ30は、秘密鍵skを用いて暗号化距離データENC(pk, d(Z, Z’))を復号して、復号結果d(Z, Z’)を得る。この復号結果は距離情報を示している。
(B4)復号サーバ30は、復号結果d(Z, Z’)があらかじめ決められた閾値t以下であるか否かを確認する。復号サーバ30は、復号結果d(Z, Z’)が閾値t以下であったらOKを、復号結果d(Z, Z’)が閾値tよりも大きかったらNGを、認証サーバ20へ送付する。
(B5)認証サーバ20は、復号サーバ30の返答がOKであったら受理を、NGであったら不受理を、クライアント10へ出力する。
また、上記非特許文献1、非特許文献2、非特許文献3、非特許文献4では、上記特許文献1の方式に対して復号サーバを利用した攻撃方法を提案し、それぞれ攻撃を防ぐ方法を述べている。
しかしながら、いずれの方式も、復号サーバ30からの返答はOKまたはNGであり、どの程度近かったかを表す距離情報(類似度)は認証サーバ20に伝えられていない。
一般に生体認証では、FAR(False Acceptance Rate=誤り受け入れ率)が小さくない。すなわち、別人を本人として受け入れてしまう確率が無視できない。そのため、上記特許文献2のように、1:N認証を行う際に、上記距離情報(類似度)が認証サーバ20に伝えられないことが問題となりうる。ここで、「1:N認証」とは、1つの認証データが、N個の登録データに含まれているかどうかを判定する認証である。
詳述すると、登録されている暗号文をENC(pk, Z[1]),…,ENC(pk, Z[N])とする。このとき、認証サーバ20は、特徴ベクトルZ’と近いZ[1],…,Z[N]が存在するかどうかを判定する。このとき、生体認証では、FARが無視できないため、Nが大きい場合、特徴ベクトルZ’と近いZ[i]が複数個存在する。このときテンプレート保護ではない生体認証では、認証サーバ20が、特徴ベクトルZと有意に近い(他のZ[i]よりも明らかに近い)Z[j]を本人として判定していることがある。しかしながら、上記の方式のように、認証サーバ20に距離情報(類似度)が伝えられない場合、認証サーバ20がその判定を行えない。
一方で、図2に示される第2の関連技術による暗号文照合システムのように、復号サーバ30Aからの返答をOKあるいはNGではなく、上記特許文献3のように、復号結果、すなわち特徴ベクトルZと特徴ベクトルZ’との間の距離を表す距離情報(類似度)そのものを返すように変更すれば、上記問題は容易に解決する。
しかしながら、距離情報(類似度)そのものを認証サーバ20Aに返答することにより、距離を利用したヒルクライミング攻撃が可能となることが知られている。ここで、「ヒルクライミング攻撃」とは、次に述べるような攻撃のことをいう。
ある特徴ベクトルZ’を使って生成した認証データに対する第1の距離d(Z, Z’)を得、次に、特徴ベクトルZ’の一部を改変した(例えば1ビット反転した)Z”を利用した認証データに対する第2の距離d(Z, Z”)を得る。第1の距離d(Z, Z’)よりも第2の距離d(Z, Z”)が小さくなった場合は、改変によって特徴ベクトルZに近づいたことを意味し、逆に大きくなった場合は、改変によって特徴ベクトルZから遠ざかったことを意味する。
このような行動を繰り返すことにより、比較的小さな計算量で、登録データから特徴ベクトルZを(あるいは認証データから特徴ベクトルZ’を)復元することが可能となることが知られている。したがって、復号サーバ30Aから距離情報(類似度)そのものを出力することは、安全性上好ましくない。
また、暗号化したままの照合方法として、決定的な共通鍵暗号や公開鍵暗号を利用した検索可能暗号を利用する方法が知られている。しかしながら、これらの方法は一般に、検索に用いるキーワードが一意に定まっている必要がある。上記のように生体情報を利用して照合を行う場合、生体情報取得時に含まれるノイズのせいで常に同じ生体情報が得られるわけではないことが知られている。このため、生体情報の照合方法に、検索可能暗号を適用することが難しい。
上述の先行技術(関連技術)の問題点は、復号サーバ30からの返答が登録に使った特徴ベクトル(特徴量)Zと認証に使った特徴ベクトル(特徴量)Z’とが近い,あるいは遠いのみであることである。あるいは、復号サーバ30Aから距離情報(類似度)そのものを出力してしまうことにより、登録データあるいは認証データから特徴ベクトル(特徴量)ZあるいはZ’が復元されてしまうことである。
[発明の概要]
そこで、本発明では、登録時に使用したデータZと照合時に使用したデータZ’と間の距離に関する情報(距離情報)を出力しても、データに関する情報が漏れない、照合元データと照合対象データに多少の誤差を許した暗号文照合システムを実現することを目的とする。
図3は、本発明に係る暗号文照合システムの概略構成を示すブロック図である。図示の暗号文照合システムは、生体認証を依頼するクライアント10と、認証を行う認証サーバ20Bと、準同型暗号の復号鍵を保持し、認証サーバ20Bの依頼に応じて復号を行う復号サーバ30Bと、を備える。
本発明に係る暗号文照合システムでは、照合時に復号サーバ30Bにより計算された距離情報を、適切な分布に従って選ばれた乱数値に置き換えることにより、スコアを生成する。適切な分布に従って乱数を選ぶことにより、例えば1位と2位が有意に差があるか否かを認証サーバ20Bが判定することが可能となる。また、毎回照合時に用いる乱数を変更することにより、前回より近くなったか遠くなったかの判定ができず、ヒルクライミング攻撃が不可能となる。
本発明に係る暗号文照合システムでは、復号サーバ30Bからの出力がスコアとなることにより、認証サーバ20Bが認証結果(照合結果)を判断するために必要な情報を得ることができる。その理由は、 復号後に、スコア生成のために適切な分布に従った乱数を利用するためである。
(第1の実施形態)
次に、本発明の第1の実施形態による暗号文照合システムについて図面を参照して詳細に説明する。
図4を参照すると、本発明の第1の実施形態による暗号文照合システムは、登録データ生成装置100と、記憶装置200と、データ照合要求装置300と、データ照合判定装置400と、照合補助装置500と、から成る。
登録データ生成装置100およびデータ照合要求装置300を利用するエンティティが、図3のクライアント10に相当する。記憶装置200を有し、データ照合判定装置400を利用するエンティティが、図3の認証サーバ20Bに相当する。そして、照合補助装置500を利用するエンティティが、図3の復号サーバ30Bに相当する。
換言すれば、登録データ生成装置100は第1のクライアントとして実現され、データ照合要求装置300は第2のクライアントとして実現される。記憶装置200とデータ照合判定装置400との組み合わせは認証サーバ20Bとして動作する。照合補助装置500は復号サーバ30Bとして動作する。第1のクライアントと第2のクライアントとは、別々のクライアントであっても良いし、同じ1つのクライアントであって良い。
[構成の説明]
図5を参照すると、登録データ生成装置100は、登録データ生成部101から成る。登録データ生成部101は、秘匿対象となる入力データと、後述する照合補助装置500の鍵生成部501が生成した暗号化鍵とを入力とし、登録データを出力する。
図5に示されるように、記憶装置200は、識別子管理部201と、暗号文記憶部202と、識別子記憶部203と、から成る。
識別子管理部201は、登録データ生成装置100の登録データ生成部101が生成した登録データを入力として受け取り、登録データごとに異なる識別子を生成する。識別子管理部201は、登録データを暗号文記憶部202に、対応する識別子を識別子記憶部203に、それぞれ対応が分かるように記憶する。
図6を参照すると、データ照合要求装置300は、データ照合要求生成部301と、識別子記憶部302とから成る。
データ照合要求生成部301は、後述する照合補助装置500の鍵生成部501が生成した暗号化鍵と、識別子記憶部302に記憶された識別子と、照合対象の入力データとを入力とし、照合データを出力する。
図6に示されるように、データ照合判定装置400は、データ取得部401と、距離計算部402と、補助要求部403と、判定部404とから成る。
データ取得部401は、照合データに含まれる識別子に対応する登録データを、記憶装置200の暗号文記憶部202および識別子記憶部203から取得する。
距離計算部402は、取得した登録データと、照合データと、暗号化鍵とを入力とし、暗号化距離データを出力する。
補助要求部403は、暗号化距離データを入力とし、照合補助装置500に補助要求データを出力する。
判定部404は、照合補助装置500から受信したスコアを入力とし、照合結果を出力する。
図7を参照すると、照合補助装置500は、鍵生成部501と、復号部502と、スコア計算部503と、鍵記憶部504とから成る。
鍵生成部501は、セキュリティパラメータを入力とし、暗号化鍵および復号鍵を出力する。
復号部502は、前記データ照合判定装置400から受信した補助要求データと、復号鍵とを入力とし、距離データを生成する。
スコア計算部503は、距離データを入力とし、乱数を用いてスコアを出力する。
[動作の説明]
次に、本発明の第1の実施形態による暗号文照合システムの動作に関して詳細に説明する。
本発明の第1の実施形態による暗号文照合システムの動作は、セットアップフェイズと、データ登録フェイズと、暗号文照合フェイズと、の3つのフェイズに大別される。
ここで、データ登録フェイズは、登録データ生成装置100に入力データを入力し、入力データを暗号化し、記憶装置200に登録するフェイズである。暗号文照合フェイズは、データ照合要求装置300に入力された入力データを暗号化し、その際に生成された照合要求が、データ照合判定装置400によって記憶装置200内の暗号データ(登録データ)と近い(ユークリッド距離の小さい)平文となるものであるかを判定するフェイズである。
以下、各フェイズにおける動作に関して詳細に説明する。
図8を参照すると、セットアップフェイズにおいては、まず、照合補助装置500の鍵生成部501にセキュリティパラメータが入力され、暗号化鍵および復号鍵が生成される(ステップA1)。
次に、鍵生成部501は、生成した暗号化鍵を登録データ生成装置100と、照合要求装置300と、データ照合判定装置400とに送付し、復号鍵を鍵記憶部503に記憶する(ステップA2)。
図9を参照すると、データ登録フェイズにおいては、まず、登録データ生成装置100の登録データ生成部101に、暗号化鍵と、秘匿対象となる入力データとが入力される(ステップB1)。
次に、登録データ生成部101は、入力データと、暗号化鍵とから、登録データを生成し、記憶装置200へ送付し、入力データを登録したことをデータ照合要求装置300に送付する(ステップB2)。
次に、登録データを受信した記憶装置200の識別子管理部201は、登録データを入力とし、データごとに異なる識別子を生成し、登録データを暗号文記憶部202に、識別子を識別子記憶部203にそれぞれ記憶する(ステップB3)。
このとき、登録データと、登録データに対して発行された識別子とが組であることが分かるように記憶されるものとする。また、暗号文記憶部と識別子記憶部を別の部として記載しているが、同じ記憶装置(例えばデータベース等)に記憶してもよい。
さらに、識別子管理部201は、データ照合要求装置300に、識別子を送付する(ステップB4)。データ照合要求装置300は、受信した識別子と入力データを識別子記憶部302に記憶する(ステップB5)。
図10を参照すると、暗号文照合フェイズにおいては、データ照合要求装置300のデータ照合要求生成部301に照合対象の入力データが入力される(ステップC1)。
次に、データ照合要求生成部301は、入力データに対応する識別子を識別子記憶部302から読み込む(ステップC2)。
次に、データ照合要求生成部301は、入力データと、識別子と、暗号化鍵とを入力として、照合データを生成し、データ照合判定装置400に送付する(ステップC3)。
次に、データ照合判定装置400のデータ取得部401は、照合データを入力とし、照合データに含まれる識別子に対応した登録データを、記憶装置200の暗号文記憶部202から受信する(ステップC4)。
次に、距離計算部402は、照合データと、登録データと、暗号化鍵とを入力として、暗号化距離データを生成する(ステップC5)。
次に、補助要求部403は、暗号化距離データを入力とし、照合補助要求を生成し、照合補助装置500に送付する(ステップC6)。
次に、照合補助装置500の復号部502は、照合補助要求と、鍵記憶部504に記憶された復号鍵とを入力とし、距離データを生成する(ステップC7)。
次に、スコア計算部503は、距離データを入力とし、乱数を用いてスコアを生成し、データ照合判定装置400に送付する(ステップC8)。
次に、データ照合判定装置400の判定部404は、スコアを入力とし、照合結果を生成する(ステップC9)。
このように、本第1の実施形態では、復号サーバ30Bとして働く照合補助装置500からの出力がスコアとなることにより、認証サーバ20Bとして働くデータ照合判定装置400が認証結果を判断するために必要な情報を得ることができる。その理由は、復号後に、スコア生成のために適切な分布に従った乱数を利用するからである。また、毎回照合時に用いる乱数を変更することにより、前回より近くなったか遠くなったかの判定ができず、ヒルクライミング攻撃が不可能となる。
(第2の実施形態)
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。
本発明の第1の実施形態で説明した暗号文照合システムと、本発明の第2の実施形態で記載する暗号文照合システムとの差分は、次の通りである。すなわち、本発明の第1の実施形態では、照合要求時に識別子を指定し、その識別子に対応する登録データとの照合を行っていた、いわゆる1:1照合である。これに対して、本発明の第2の実施形態では、照合時に識別子を指定せず、登録された登録データの中にマッチするデータが存在するかを確認する1:N照合を行っている。
図11を参照すると、本発明の第2の実施形態による暗号文照合システムは、登録データ生成装置600と、記憶装置200と、データ照合要求装置700と、データ照合判定装置400Aと、照合補助装置500と、から成る。
登録データ生成装置600およびデータ照合要求装置300を利用するエンティティが、図3のクライアント10に相当する。記憶装置200を有し、データ照合判定装置700を利用するエンティティが、図3の認証サーバ20Bに相当する。そして、照合補助装置500を利用するエンティティが、図3の復号サーバ30Bに相当する。
換言すれば、登録データ生成装置600は第1のクライアントとして実現され、データ照合要求装置700は第2のクライアントとして実現される。記憶装置200とデータ照合判定装置400との組み合わせは認証サーバ20Bとして動作する。照合補助装置500は復号サーバ30Bとして動作する。第1のクライアントと第2のクライアントとは、別々のクライアントであっても良いし、同じ1つのクライアントであって良い。
[構成の説明]
図12を参照すると、登録データ生成装置600は、登録データ生成部601から成る。登録データ生成部601は、秘匿対象となる入力データと、照合補助装置500の鍵生成部501が生成した暗号化鍵とを入力とし、登録データを出力する。
記憶装置200は、上述した本発明の第1の実施形態の記憶装置200と同じであるため、説明を省略する。
図13を参照すると、データ照合要求装置700は、データ照合要求生成部701から成る。データ照合要求生成部700は、照合補助装置500の鍵生成部501が生成した暗号化鍵と、照合対象の入力データとを入力とし、照合データを出力する。
図14を参照すると、データ照合判定装置400Aは、データ取得部401Aと、距離計算部402と、補助要求部403と、判定部404とから成る。
データ取得部401Aは、記憶装置200の暗号文記憶部202に記憶されている登録データをすべて取得する。
距離計算部402は、取得した登録データと、照合データと、暗号化鍵とを入力とし、暗号化距離データを出力する。
補助要求部403は、暗号化距離データを入力とし、照合補助装置500に補助要求データを出力する。
判定部404は、照合補助装置500から受信したスコアを入力とし、照合結果を出力する。
照合補助装置500は、上述した本発明の第1の実施形態の照合補助装置500と同じであるため、説明を省略する。
[動作の説明]
次に、本発明の第2の実施形態の暗号文照合システムの動作に関して詳細に説明する。
本発明の第2の実施形態の暗号文照合システムの動作は、セットアップフェイズと、データ登録フェイズと、暗号文照合フェイズと、の3つのフェイズに大別される。
ここで、データ登録フェイズは、登録データ生成装置600に入力データを入力し、入力データを暗号化し、記憶装置200に登録するフェイズである。暗号文照合フェイズは、データ照合要求装置700に入力された入力データを暗号化し、その際に生成された照合要求が、データ照合判定装置400Aによって記憶装置内の暗号データと近い(ユークリッド距離の小さい)平文となるものであるかを判定するフェイズである。以下、各フェイズにおける動作に関して詳細に説明する。
図15を参照すると、セットアップフェイズにおいては、まず、照合補助装置500の鍵生成部501にセキュリティパラメータが入力され、暗号化鍵および 復号鍵が生成される(ステップD1)。
次に、鍵生成部501は、生成した暗号化鍵を登録データ生成装置600と、照合要求装置700と、データ照合判定装置400Aとに送付し、復号鍵を鍵記憶部503に記憶する(ステップD2)。
図16を参照すると、データ登録フェイズにおいては、まず、登録データ生成装置600の登録データ生成部601に、暗号化鍵と、秘匿対象となる入力データが入力される(ステップE1)。
次に、登録データ生成部601は、入力データと、暗号化鍵とから、登録データを生成し、記憶装置200へ送付する(ステップE2)。
次に、登録データを受信した記憶装置200の識別子管理部201は、登録データを入力とし、データごとに異なる識別子を生成し、登録データを暗号文記憶部202に、識別子を識別子記憶部203にそれぞれ記憶する(ステップE3)。
このとき、登録データと、登録データに対して発行された識別子とが組であることが分かるように記憶されるものとする。また、暗号文記憶部と識別子記憶部とを別の部として記載しているが、同じ記憶装置(例えばデータベース等)に記憶してもよい。
図17を参照すると、暗号文照合フェイズにおいては、データ照合要求装置700に照合対象の入力データが入力される(ステップF1)。
次に、データ照合要求生成部701は、入力データと、暗号化鍵とを入力として、照合データを生成し、データ照合判定装置400Aに送付する(ステップF2)。
次に、データ照合判定装置400Aのデータ取得部401Aは、記憶装置200の暗号文記憶部202から登録データをすべて受信する(ステップF3)。
次に、距離計算部402は、照合データと、登録データと、暗号化鍵とを入力として、暗号化距離データを生成する(ステップF4)。
次に、補助要求部403は、暗号化距離データを入力とし、照合補助要求を生成し、照合補助装置500に送付する(ステップF5)。
次に、照合補助装置500の復号部502は、照合補助要求と、鍵記憶部504に記憶された復号鍵とを入力とし、距離データを生成する(ステップF6)。
次に、スコア計算部503は、距離データを入力とし、乱数を用いてスコアを生成し、データ照合判定装置400Aに送付する(ステップF7)。
次に、データ照合判定装置400Aの判定部404は、スコアを入力とし、照合結果を生成する(ステップF8)。
このように、本第2の実施形態では、復号サーバ30Bとして働く照合補助装置500からの出力がスコアとなることにより、認証サーバ20Bとして働くデータ照合判定装置400Aが認証結果を判断するために必要な情報を得ることができる。その理由は、復号後に、スコア生成のために適切な分布に従った乱数を利用するからである。また、毎回照合時に用いる乱数を変更することにより、前回より近くなったか遠くなったかの判定ができず、ヒルクライミング攻撃が不可能となる。
次に、本発明の第1の実施例について詳細に説明する。本第1の実施例は、本発明の第1の実施形態の実施例である。
説明のために、まず、本第1の実施例で用いる「公開鍵暗号」について説明する。本第1の実施例では、公開鍵暗号として、Boneh-Goh-Nissim 暗号(BGN暗号)を利用する。BGN暗号は、somewhat 準同型暗号である。すなわち、暗号化したまま1回の乗算、複数回の加算を計算できる公開鍵暗号である。
公開鍵暗号(BGN暗号)は、(鍵生成、暗号化、復号)の3つのアルゴリズムから構成される。以下にそれぞれを説明する。
鍵生成アルゴリズムGen(k)は、セキュリティパラメータkを入力として、k/2ビットのランダムな素数q, rを選ぶ。n=qrとする。次に、鍵生成アルゴリズムGen(k)は、位数nの点Pを持つsupersinglar 楕円曲線 E/F_p を用意し、Pで生成される群をGとする。鍵生成アルゴリズムGen(k)は、群Gから無限遠点を除いた群からランダムにQ’を選び、Q=[r]Q’とする。(このときQは位数qである。)鍵生成アルゴリズムGen(k)は、e:G×G→μをペアリング関数とする。鍵生成アルゴリズムGen(k)は、公開鍵pk=(E, e, n, P, Q)と秘密鍵sk=qを出力する。
暗号化アルゴリズムENC(pk, M)は、ランダムにtを[1,n]から選び、C=[m]P+[t]Qを計算する。暗号化アルゴリズムENC(pk, M)は、暗号文Cを出力する。
復号アルゴリズムDEC(sk, D)は、P’=[q]PとC’=[q]Cを計算する。復号アルゴリズムDEC(sk, D)は、M’=log_{P’}C’を計算する。復号アルゴリズムDEC(sk, D)は、平文M’を出力する。
尚、加算 ADD(pk, C1, C2)は、C’=C1+C2を計算して、暗号文C’を出力する。
乗算 MULT(pk, C1, C2)は、D=e(C1, C2)を計算して、暗号文Dを出力する。
乗算後の復号 DEC’(sk, D)は、g=e(P, P)とし、g’=g^{q}とD’=D^{q}を計算し、M’=log_{g’}D’を計算して、平文M’を出力する。
乗算後の加算 ADD’(pk, D1, D2)は、D’=D1・D2を計算して、暗号文D’を出力する。
BGN暗号は選択平文攻撃を行う攻撃者に対して識別不可能性を満たすことが数学的に証明可能な方式である。本第1の実施例では、BGN暗号を例として説明を行うが、他のsomewhat 準同型暗号を用いても構わない。また、本第1の実施例では、登録データおよび照合要求データをいずれも秘匿したまま照合を行う方法について説明するが、いずれか一方だけが秘匿される形態に容易に変換できる。その際は、somewhat 準同型暗号の代わりに、一般の準同型暗号、例えばPaillier暗号やElgamal暗号などを適用できる。
本発明の第1の実施例の暗号文照合システムの動作は、セットアップフェイズと、データ登録フェイズと、暗号文照合フェイズと、の3つのフェイズに大別される。
図18を参照して、セットアップフェイズにおいては、まず、照合補助装置500の鍵生成部501にセキュリティパラメータkが入力され、鍵生成部501は、鍵生成アルゴリズムGEN(k)を実行し、暗号化鍵(公開鍵)pkおよび復号鍵(秘密鍵)skを生成する(ステップA1)。
次に、鍵生成部501は、生成した暗号化鍵pkを登録データ生成装置100と、照合要求装置300と、データ照合判定装置400とに送付し、復号鍵skを鍵記憶部503に記憶する(ステップA2)。
図19を参照して、データ登録フェイズにおいては、まず、登録データ生成装置100の登録データ生成部101に、暗号化鍵pkと、秘匿対象となる入力データZが入力される(ステップB1)。
次に、登録データ生成部101は、入力データZと、暗号化鍵pkから、暗号化アルゴリズムENC(pk, Z)を行い、登録データPTを生成し、記憶装置200へ送付し、入力データZを登録したことをデータ照合要求装置300に送付する(ステップB2)。
次に、登録データPTを受信した記憶装置200の識別子管理部201は、登録データPTを入力とし、データごとに異なる識別子IDを生成し、登録データPTを暗号文記憶部202に、識別子IDを識別子記憶部203にそれぞれ記憶する(ステップB3)。
このとき、登録データPTと、登録データに対して発行された識別子IDとが組であることが分かるように記憶されるものとする。また、暗号文記憶部と識別子記憶部とを別の部として記載しているが、同じ記憶装置(例えばデータベース等)に記憶してもよい。
さらに、識別子管理部201は、データ照合要求装置300に、識別子を送付する(ステップB4)。
データ照合要求装置300は、受信した識別子と入力データを識別子記憶部302に記憶する(ステップB5)。
図20を参照して、暗号文照合フェイズにおいては、データ照合要求装置300に照合対象の入力データZ’が入力される(ステップC1)。
次に、データ照合要求生成部301は、入力データZ’に対応する識別子ID’を識別子記憶部302から読み込む(ステップC2)。
次に、データ照合要求生成部301は、入力データZ’と、識別子ID’と、暗号化鍵pkを入力として、暗号化アルゴリズムENC(pk, Z’)を行い、暗号文C’を生成する。そして、データ照合要求生成部301は、照合データ(ID’, C’)を生成し、データ照合判定装置400に送付する(ステップC3)。
次に、データ照合判定装置400のデータ取得部401は、照合データ(ID’, C’)を入力とし、照合データに含まれる識別子ID’に対応した登録データPT’を、記憶装置200の暗号文記憶部202から受信する(ステップC4)。
次に、距離計算部402は、照合データ(ID’, C’)と、登録データPT’と、暗号化鍵pkとを入力として、まずADD(pk, C, C’^{-1})を計算し、暗号文C-C’を生成する。ここでC’^{-1}はC’の逆元を意味する。次に、距離計算部402は、MULT(pk, C-C’, C-C’)を計算し、暗号文Dを生成する。そして、距離計算部402は、暗号文Dを暗号化距離データとする(ステップC5)。
次に、補助要求部403は、暗号化距離データDを入力とし、照合補助要求(D)を生成し、照合補助装置500に送付する(ステップC6)。
次に、照合補助装置500の復号部502は、照合補助要求(D)と、鍵記憶部504に記憶された復号鍵skとを入力とし、復号アルゴリズムDEC’(sk, D)を行い、復号結果dを得る。復号部502は、復号結果dを距離データとする(ステップC7)。
次に、スコア計算部503は、距離データdを入力とし、距離データdがあらかじめ決められた値tよりも小さければ、乱数rを選択し、スコアsc=d+rを生成し、データ照合判定装置400に送付する。一方、距離データdがあらかじめ決められた値tよりも大きな値ならば、スコア計算部503は、スコアsc=0として、データ照合判定装置400に送付する(ステップC8)。
次に、データ照合判定装置400の判定部404は、スコアscを入力とし、sc≠0ならば受理を、そうでなければ不受理を照合結果とし、照合結果を生成する(ステップC9)。
このように、第1の実施例では、復号サーバ30Bとして働く照合補助装置500からの出力がスコアscとなることにより、認証サーバ20Bとして働くデータ照合判定装置400が認証結果(照合結果)を判断するために必要な情報を得ることができる。その理由は、復号後に、スコア生成のために適切な分布に従った乱数を利用するからである。また、毎回照合時に用いる乱数を変更することにより、前回より近くなったか遠くなったかの判定ができず、ヒルクライミング攻撃が不可能となる。
次に、本発明の第2の実施例について詳細に説明する。本第2の実施例は、本発明の第2の実施形態の実施例である。
本発明の第3の暗号文照合システムの動作は、セットアップフェイズと、データ登録フェイズと、暗号文照合フェイズと、の3つのフェイズに大別される。
ここで、データ登録フェイズは、登録データ生成装置600に入力データを入力し、入力データを暗号化し、記憶装置200に登録するフェイズである。暗号文照合フェイズは、データ照合要求装置700に入力された入力データを暗号化し、その際に生成された照合要求が、データ照合判定装置400Aによって記憶装置内の暗号データ(登録データ)と近い(ユークリッド距離の小さい)平文となるものであるかを判定するフェイズである。以下、各フェイズにおける動作に関して詳細に説明する。
図21を参照して、セットアップフェイズにおいては、まず、照合補助装置500の鍵生成部501にセキュリティパラメータkが入力され、鍵生成部501は、鍵生成アルゴリズムGen(k)を行い、暗号化鍵pkおよび復号鍵skを生成する(ステップD1)。
次に、鍵生成部501は、生成した暗号化鍵pkを登録データ生成装置600と、データ照合要求装置700と、データ照合判定装置400Aとに送付し、復号鍵skを鍵記憶部503に記憶する(ステップD2)。
図22を参照して、データ登録フェイズにおいては、まず、登録データ生成装置600の登録データ生成部601に、暗号化鍵pkと、秘匿対象となる入力データZが入力される(ステップE1)。
次に、登録データ生成部601は、入力データZと、暗号化鍵pkから、暗号化アルゴリズムENC(pk, Z)を行い、暗号文Cを生成する。登録データ生成部601は、登録データPT=Cとし、記憶装置200へ送付する(ステップE2)。
次に、登録データPTを受信した記憶装置200の識別子管理部201は、登録データPTを入力とし、データごとに異なる識別子IDを生成し、登録データPTを暗号文記憶部202に、識別子IDを識別子記憶部203にそれぞれ記憶する(ステップE3)。
このとき、登録データPTと、登録データPTに対して発行された識別子IDとが組であることが分かるように記憶されるものとする。また、暗号文記憶部と識別子記憶部とを別の部として記載しているが、同じ記憶装置(例えばデータベース等)に記憶してもよい。
図23を参照して、暗号文照合フェイズにおいては、データ照合要求装置700に照合対象の入力データZ’が入力される(ステップF1)。
次に、データ照合要求生成部701は、入力データZ’と、暗号化鍵pkを入力として、暗号化アルゴリズムENC(pk, Z’)を実行し、暗号文C’を生成する。登録データ生成部601は、照合データQD=C’とし、データ照合判定装置400Aに送付する(ステップF2)。
次に、データ照合判定装置400Aのデータ取得部401Aは、記憶装置200の暗号文記憶部202から登録データ{PT}をすべて受信する(ステップF3)。
次に、{PT}に含まれるPTすべてに対して、距離計算部402は、照合データQDと、登録データPTと、暗号化鍵pkとを入力として、まず、加算ADD(pk, PT, QD^{-1})=ENC(pk, Z-Z’)=C”を計算する。次に、距離計算部402は、乗算MULT(pk, C”, C”)=ENC(pk, (Z-Z’)^2)=Dを計算する。そして、距離計算部402は、全PTに対するDの集合を{D}とし、{D}を暗号化距離データとする(ステップF4)。
次に、補助要求部403は、暗号化距離データ{D}を入力とし、照合補助要求{D}を生成し、照合補助装置500に送付する(ステップF5)。
次に、照合補助装置500の復号部502は、照合補助要求{D}と、鍵記憶部504に記憶された復号鍵skとを入力とし、{D}に含まれるすべてのDに対して、距離データdを生成する(ステップF6)。
次に、スコア計算部503は、すべての距離データ{d}を入力とし、あらかじめ決められた閾値tよりも小さいdのリスト{d1,…,dm}を生成する。ここで簡単のため、d1,…,dmは昇順すなわち、d1≦d2≦…≦dmを満たすことにする。次に、スコア計算部503は、ランダムにr1,…,rmを選ぶ。r1,…,rmは昇順すなわち、r1≦r2≦…≦rmを満たす。ただし、あるdi=djのとき、ri=rjであるように選ぶ。そして、スコア計算部503は、スコアを{r1,...,rm}とし、データ照合判定装置400に送付する(ステップF7)。
次に、データ照合判定装置400Aの判定部404は、スコアを入力{r1,...,rm}とし、照合結果を生成する(ステップF8)。照合結果は例えば、スコアの一番小さいr1に対応するID1を識別子記憶部203から受信し、ID1を受理とする。あるいは閾値を下回ったすべてのIDを受理としてもよい。その他、アプリケーションによって受理の判断方法は複数考えられるが、いずれの判断方法にも適用可能である。
また、本第2の実施例では、スコアを距離の順序を保つようにランダムに選んでいるが、例えばアプリケーションによっては、距離の差を保存したい場合も考えられる。例えば、1位と2位の差が有意に(2位と3位,3位と4位などと比較して大きく)離れているか、などが照合結果を判断する方法になりうる。この場合は、上記方法の代わりに、d2-d1,d3-d2,…,dm-dm-1に対してm-1個の乱数を割り当てることで適用可能である。
このように、本第2の実施例では、照合時に復号サーバ30A(照合補助装置500)により計算された距離を、適切な分布に従って選ばれた乱数値に置き換え、スコアを生成することにより、例えば1位と2位が有意に差があるかを認証サーバ20B(データ照合判定装置400A)が判定可能となる。また、毎回照合時に用いる乱数を変更することにより、前回より近くなったか遠くなったかの判定ができず、ヒルクライミング攻撃が不可能となる。
なお、本発明に記載した方法は、コンピュータに実行させることのできるプログラムとして、フレキシブルディスク、ハードディスクなどの磁気ディスク、CD-ROM(compact disc read only memory)、DVD(digital versatile disc)などの光ディスク、光磁気ディスク(MO(magneto-optical disc))、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のミドルウェアなどが各処理の一部を実行してもよい。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネットなどにより伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であってもよい。
本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき各処理を実行するものであって、パソコンなどからなる装置、複数の装置がネットワーク接続されたシステムなどの何れの構成であってもよい。
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置を含み、プログラムによって本発明の機能を実現することが可能な機器、装置である。
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。また、構成要素を適宜組合せてもよい。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
暗号化鍵を用いて秘匿対象となる入力データを暗号化して、登録データを出力する登録データ生成部と、
該登録データを暗号文記憶部に、当該登録データを一意に特定するための識別子を識別子記憶部に、それぞれ対応が分かるように記憶する記憶装置と、
前記暗号化鍵を用いて照合対象の入力データを暗号化して、照合データを出力するデータ照合要求生成部と、
前記登録データと前記照合データとから前記暗号化鍵を用いて、暗号化距離データを出力する距離計算部と、
復号鍵を用いて前記暗号化距離データを復号して、距離データを生成する復号部と、
前記距離データから乱数を用いてスコアを生成するスコア計算部と、
前記スコアから照合結果を出力する判定部と、
を含む、暗号文照合システム。
(付記2)
前記スコア計算部は、
前記距離データと予め決められた値とを比較する手段と、
前記距離データが前記予め決められた値よりも小さければ、前記乱数を選択して、前記距離データと前記乱数とを加算した値を、前記スコアとして生成する手段と、
前記距離データが前記予め決められた値よりも大きければ、ゼロを前記スコアとして生成する手段と、
を有する、付記1に記載の暗号文照合システム。
(付記3)
セキュリティパラメータから、前記暗号化鍵と前記復号鍵とを生成する鍵生成部を更に含む、付記1又は2に記載の暗号文照合システム。
(付記4)
前記鍵生成部は、前記暗号化鍵および前記復号鍵として、それぞれ、準同型暗号あるいはSomewhat準同型暗号の公開鍵および秘密鍵を生成する付記3に記載の暗号文照合システム。
(付記5)
付記1乃至4のいずれか1項に記載の暗号文照合システムを備え、前記秘匿対象となる入力データおよび前記照合対象の入力データが生体情報であり、前記秘匿対象となる入力データと前記照合対象の入力データとが類似している否かを判定することによって生体認証を行うことを特徴とする生体認証システム。
(付記6)
第1のクライアントが、暗号化鍵を用いて秘匿対象となる入力データを暗号化して登録データを生成し、認証サーバが、該登録データを、当該登録データを一意に特定するための識別子とともに記憶部に記憶するデータ登録ステップと、
第2のクライアントが、前記暗号化鍵を用いて照合対象の入力データを暗号化して照合データを生成し、前記認証サーバが、前記記憶部に記憶された前記登録データと前記照合データとから、前記暗号化鍵を用いて暗号化距離データを生成し、復号サーバが、復号鍵を用いて前記暗号化距離データを復号して距離データを生成し、該距離データから乱数を用いてスコアを生成し、前記認証サーバが、前記スコアから照合結果を生成する、暗号文照合ステップと、
を含む、暗号文照合方法。
(付記7)
第1のクライアントが、暗号化鍵を用いて秘匿対象となる入力データを暗号化して、登録データを生成する登録データ生成ステップと、
認証サーバが、該登録データを、当該登録データを一意に特定するための識別子とともに記憶部に記憶するステップと、
第2のクライアントが、前記暗号化鍵を用いて照合対象の入力データを暗号化して、照合データを生成するデータ照合要求生成ステップと、
前記認証サーバが、前記記憶部に記憶された前記登録データと前記照合データとから、前記暗号化鍵を用いて暗号化距離データを生成する距離計算ステップと、
復号サーバが、復号鍵を用いて前記暗号化距離データを復号して、距離データを生成する復号ステップと、
前記復号サーバが、前記距離データから乱数を用いてスコアを計算するスコア計算ステップと、
前記認証サーバが、前記スコアから照合結果を生成する判定ステップと、
を含む、暗号文照合方法。
(付記8)
暗号化鍵を用いて秘匿対象となる入力データを暗号化して、登録データを生成する登録データ生成処理と、
該登録データを、当該登録データを一意に特定するための識別子とともに記憶部に記憶する処理と、
前記暗号化鍵を用いて照合対象の入力データを暗号化して、照合データを生成するデータ照合要求生成処理と、
前記記憶部に記憶された前記登録データと前記照合データとから、前記暗号化鍵を用いて暗号化距離データを生成する距離計算処理と、
復号鍵を用いて前記暗号化距離データを復号して、距離データを生成する復号処理と、
前記距離データから乱数を用いてスコアを計算するスコア計算処理と、
前記スコアから照合結果を生成する判定処理と、
をコンピュータに実行させる、暗号文照合プログラム。
(付記9)
セキュリティパラメータから、暗号化鍵と復号鍵とを生成する鍵生成部と、
前記復号鍵を用いて暗号化距離データを復号して、距離データを生成する復号部と、
前記距離データから乱数を用いてスコアを計算するスコア計算部と、
を有する照合補助装置。
(付記10)
付記9に記載の照合補助装置で生成された暗号化鍵を用いて、秘匿対象となる入力データを暗号化して、登録データを生成する登録データ生成部を有する登録データ生成装置。
(付記11)
付記10に記載の登録データ生成装置で生成された前記登録データを入力として、前記登録データを一意に特定する識別子を管理する識別子管理部と、
前記登録データを記憶する暗号文記憶部と、
前記識別子を記憶する識別子記憶部と、
を有する記憶装置。
(付記12)
付記11に記載の記憶装置に記憶されている前記識別子を記憶する識別子記憶部と、
照合対象の入力データに対応する識別子を前記識別子記憶部から読み込み、付記9に記載の照合補助装置で生成された暗号化鍵を用いて、前記照合対象の入力データを暗号化して、前記識別子を含む照合データを生成するデータ照合要求生成部と、
を有するデータ照合要求装置。
(付記13)
付記12に記載のデータ照合要求装置から受信した照合データに含まれる識別子に対応する登録データを、付記11に記載の記憶装置の前記暗号文記憶部から取得するデータ取得部と、
前記登録データと前記照合データとから、付記9に記載の照合補助装置で生成された暗号化鍵を用いて、暗号化距離データを計算する距離計算部と、
前記暗号化距離データを補助要求データとして、付記9に記載の照合補助装置へ送出する補助要求部と、
付記9に記載の照合補助装置から受信したスコアから照合結果を出力する判定部と、
を有するデータ照合判定装置。
(付記14)
付記9に記載の照合補助装置で生成された暗号化鍵を用いて、照合対象の入力データを暗号化して、照合データを生成するデータ照合要求生成部を有するデータ照合要求装置。
(付記15)
付記11に記載の記憶装置の前記暗号文記憶部に記憶されている登録データの全てを取得するデータ取得部と、
前記登録データと前記照合データとから、付記9に記載の照合補助装置で生成された暗号化鍵を用いて、暗号化距離データを計算する距離計算部と、
前記暗号化距離データを補助要求データとして、付記9に記載の照合補助装置へ送出する補助要求部と、
付記9に記載の照合補助装置から受信したスコアから照合結果を出力する判定部と、
を有するデータ照合判定装置。
(付記16)
登録データ生成装置と、記憶装置と、データ照合要求装置と、データ照合判定装置と、照合補助装置とを備える暗号文照合システムであって、
前記登録データ生成装置は、秘匿対象となる入力データを、暗号化鍵を用いて暗号化して、登録データを出力する登録データ生成部を備え、
前記記憶装置は、前記登録データ生成部が生成した登録データを入力として受け取り、データごとに異なる識別子を生成し、前記登録データを暗号文記憶部に、対応する識別子を識別子記憶部に、それぞれ対応が分かるように記憶する識別子管理部を備え、
前記データ照合要求装置は、前記暗号化鍵と、識別子記憶部に記憶された識別子と、照合対象の入力データとを入力とし、照合データを出力するデータ照合要求生成部を備え、
前記データ照合判定装置は、
前記照合データに含まれる識別子に対応する登録データを、前記記憶装置の暗号文記憶部から取得するデータ取得部と、
取得した登録データと、前記照合データと、前記暗号化鍵とを入力とし、暗号化距離データを出力する距離計算部と、
前記暗号化距離データを入力とし、前記照合補助装置に補助要求データを出力する補助要求部と、
前記照合補助装置から受信したスコアを入力とし、照合結果を出力する判定部と、を備え、
前記照合補助装置は、
セキュリティパラメータを入力とし、前記暗号化鍵および復号鍵を出力する鍵生成部と、
前記データ照合判定装置から受信した補助要求データと、前記復号鍵とを入力とし、距離データを生成する復号部と、
前記距離データを入力とし、乱数を用いて前記スコアを出力するスコア計算部と、を備える
ことを特徴とする暗号文照合システム。
(付記17)
付記16に記載の暗号文照合システムであって、
前記照合補助装置の前記鍵生成部は、準同型暗号あるいはSomewhat準同型暗号の暗号化鍵および復号鍵を生成し、
前記登録データ生成装置の前記登録データ生成部は、前記暗号化鍵を用いて前記登録データを生成し、
前記データ照合要求装置の前記データ照合要求生成部は、前記暗号化鍵を用いて前記照合データを生成し、
前記照合補助装置の前記復号部は、前記復号鍵を用いて前記距離データを生成する
ことを特徴とする暗号文照合システム。
(付記18)
登録データ生成装置と、記憶装置と、データ照合要求装置と、データ照合判定装置と、照合補助装置とを備える暗号文照合システムであって、
前記登録データ生成装置は、秘匿対象となる入力データと、暗号化鍵とを入力とし、登録データを出力する登録データ生成部を備え、
前記記憶装置は、前記登録データ生成部が生成した登録データを入力として受け取り、データごとに異なる識別子を生成し、前記登録データを暗号文記憶部に、対応する識別子を識別子記憶部に、それぞれ対応が分かるように記憶する識別子管理部を備え、
前記データ照合要求装置は、前記暗号化鍵と、照合対象データとを入力とし、照合データを出力するデータ照合要求生成部を備え、
前記データ照合判定装置は、
前記記憶装置の前記暗号文記憶部に記憶されている登録データをすべて取得するデータ取得部と、
取得した登録データと、前記照合データと、前記暗号化鍵とを入力とし、暗号化距離データを出力する距離計算部と、
前記暗号化距離データを入力とし、前記照合補助装置に補助要求データを出力する補助要求部と、
前記照合補助装置から受信したスコアを入力とし、照合結果を出力する判定部と、を備え、
前記照合補助装置は、
セキュリティパラメータを入力とし、前記暗号化鍵および復号鍵を出力する鍵生成部と、
前記データ照合判定装置から受信した補助要求データと、前記復号鍵とを入力とし、距離データを生成する復号部と、
前記距離データを入力とし、乱数を用いて前記スコアを出力するスコア計算部と、を備える
ことを特徴とする暗号文照合システム。
(付記19)
付記18に記載の暗号文照合システムであって、
前記照合補助装置の前記鍵生成部は、準同型暗号あるいはSomewhat準同型暗号の暗号化鍵および復号鍵を生成し、
前記登録データ生成装置の前記登録データ生成部は、前記暗号化鍵を用いて前記登録データを生成し、
前記データ照合要求装置の前記データ照合要求生成部は、前記暗号化鍵を用いて前記照合データを生成し、
前記照合補助装置の前記復号部は、前記復号鍵を用いて前記距離データを生成する
ことを特徴とする暗号文照合システム。
本発明の活用例として、生体情報を保護した認証が挙げられる。データ登録フェイズにおける入力データと、暗号文照合フェイズにおける入力データを、指紋や静脈などから取得した生体情報とする。このことで、登録時に使用したデータZと照合時に使用したデータZ’との間の距離に関するスコアを出力しても、データに関する情報が漏れない、照合元データと照合対象データに多少の誤差を許した認証を行うことが可能となる。生体情報は、常に安定して同一のデータが取得できるわけではないが、同じ人物から取得されるデータが類似している(ユークリッド距離が小さいデータが取得できる)と仮定できるため、本発明の生体認証への活用は産業上有用であると考えられる。
10 クライアント
20B 認証サーバ
30B 復号サーバ
100 登録データ生成装置
101 登録データ生成部
200 記憶装置
201 識別子管理部
202 暗号文記憶部
203 識別子記憶部
301 データ照合要求生成部
302 識別子記憶部
400 データ照合判定装置
400A データ照合判定装置
401 データ取得部
401A データ取得部
402 距離計算部
403 補助要求部
404 判定部
500 照合補助装置
501 鍵生成部
502 復号部
503 スコア計算部
504 鍵記憶部
600 登録データ生成装置
601 登録データ生成部
700 データ照合要求装置
701 データ照合要求生成部

Claims (7)

  1. クライアントと、認証サーバと、復号サーバとを備える暗号文照合システムであって、
    前記クライアントに備えられ、暗号化鍵を用いて秘匿対象となる入力データを暗号化して、登録データを出力する登録データ生成部と、
    前記認証サーバに備えられ、該登録データを暗号文記憶部に、当該登録データを一意に特定するための識別子を識別子記憶部に、それぞれ対応が分かるように記憶する記憶装置と、
    前記クライアントに備えられ、前記暗号化鍵を用いて照合対象の入力データを暗号化して、照合データを出力するデータ照合要求生成部と、
    前記認証サーバに備えられ、前記暗号文記憶部に記憶されているすべての登録データと前記照合データとから前記暗号化鍵を用いて、すべての暗号化距離データを出力する距離計算部と、
    前記復号サーバに備えられ、復号鍵を用いて前記すべての暗号化距離データを復号して、すべての距離データを生成する復号部と、
    前記復号サーバに備えられ、前記すべての距離データから距離の順序を保つようにランダムに選択されたスコアを生成するスコア計算部と、
    前記認証サーバに備えられ、前記スコアから照合結果を出力する判定部と、
    を含む、暗号文照合システム。
  2. 前記復号サーバは、セキュリティパラメータから、前記暗号化鍵と前記復号鍵とを生成する鍵生成部を更に含む、請求項1に記載の暗号文照合システム。
  3. 前記鍵生成部は、前記暗号化鍵および前記復号鍵として、それぞれ、準同型暗号あるいはSomewhat準同型暗号の公開鍵および秘密鍵を生成する請求項2に記載の暗号文照合システム。
  4. 請求項1乃至のいずれか1項に記載の暗号文照合システムを備え、前記秘匿対象となる入力データおよび前記照合対象の入力データが生体情報であり、前記秘匿対象となる入力データと前記照合対象の入力データとが類似している否かを判定することによって生体認証を行うことを特徴とする生体認証システム。
  5. 第1のクライアントが、暗号化鍵を用いて秘匿対象となる入力データを暗号化して登録データを生成し、認証サーバが、該登録データを、当該登録データを一意に特定するための識別子とともに記憶部に記憶するデータ登録ステップと、
    第2のクライアントが、前記暗号化鍵を用いて照合対象の入力データを暗号化して照合データを生成し、前記認証サーバが、前記記憶部に記憶されたすべての前記登録データと前記照合データとから、前記暗号化鍵を用いてすべての暗号化距離データを生成し、復号サーバが、復号鍵を用いて前記すべての暗号化距離データを復号してすべての距離データを生成し、該すべての距離データから距離の順序を保つようにランダムに選択されたスコアを生成し、前記認証サーバが、前記スコアから照合結果を生成する、暗号文照合ステップと、
    を含む、暗号文照合方法。
  6. 第1のクライアントが、暗号化鍵を用いて秘匿対象となる入力データを暗号化して、登録データを生成する登録データ生成ステップと、
    認証サーバが、該登録データを、当該登録データを一意に特定するための識別子とともに記憶部に記憶するステップと、
    第2のクライアントが、前記暗号化鍵を用いて照合対象の入力データを暗号化して、照合データを生成するデータ照合要求生成ステップと、
    前記認証サーバが、前記記憶部に記憶されたすべての前記登録データと前記照合データとから、前記暗号化鍵を用いてすべての暗号化距離データを生成する距離計算ステップと、
    復号サーバが、復号鍵を用いて前記すべての暗号化距離データを復号して、すべての距離データを生成する復号ステップと、
    前記復号サーバが、前記すべての距離データから距離の順序を保つようにランダムに選択されたスコアを計算するスコア計算ステップと、
    前記認証サーバが、前記スコアから照合結果を生成する判定ステップと、
    を含む、暗号文照合方法。
  7. 登録データ生成装置と、記憶装置と、データ照合要求装置と、データ照合判定装置と、照合補助装置とを備える暗号文照合システムであって、
    前記登録データ生成装置は、秘匿対象となる入力データと、暗号化鍵とを入力とし、登録データを出力する登録データ生成部を備え、
    前記記憶装置は、前記登録データ生成部が生成した登録データを入力として受け取り、データごとに異なる識別子を生成し、前記登録データを暗号文記憶部に、対応する識別子を識別子記憶部に、それぞれ対応が分かるように記憶する識別子管理部を備え、
    前記データ照合要求装置は、前記暗号化鍵と、照合対象データとを入力とし、照合データを出力するデータ照合要求生成部を備え、
    前記データ照合判定装置は、
    前記記憶装置の前記暗号文記憶部に記憶されている登録データをすべて取得するデータ取得部と、
    取得した登録データと、前記照合データと、前記暗号化鍵とを入力とし、すべての暗号化距離データを出力する距離計算部と、
    前記すべての暗号化距離データを入力とし、前記照合補助装置に補助要求データを出力する補助要求部と、
    前記照合補助装置から受信したスコアを入力とし、照合結果を出力する判定部と、を備え、
    前記照合補助装置は、
    セキュリティパラメータを入力とし、前記暗号化鍵および復号鍵を出力する鍵生成部と、
    前記データ照合判定装置から受信した補助要求データと、前記復号鍵とを入力とし、すべての距離データを生成する復号部と、
    前記すべての距離データを入力とし、距離の順序を保つようにランダムに選択された前記スコアを出力するスコア計算部と、を備える
    ことを特徴とする暗号文照合システム。
JP2014248827A 2014-12-09 2014-12-09 暗号文照合システム、方法、およびプログラム Active JP6451938B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014248827A JP6451938B2 (ja) 2014-12-09 2014-12-09 暗号文照合システム、方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014248827A JP6451938B2 (ja) 2014-12-09 2014-12-09 暗号文照合システム、方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2016111594A JP2016111594A (ja) 2016-06-20
JP6451938B2 true JP6451938B2 (ja) 2019-01-16

Family

ID=56125013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014248827A Active JP6451938B2 (ja) 2014-12-09 2014-12-09 暗号文照合システム、方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6451938B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6528560B2 (ja) * 2015-06-25 2019-06-12 日本電気株式会社 指標算出システム、指標算出方法、指標算出プログラム、及び、照合システム
JP6828322B2 (ja) * 2016-09-06 2021-02-10 日本電気株式会社 照合システムと方法とプログラム
WO2018110608A1 (ja) 2016-12-15 2018-06-21 日本電気株式会社 照合システム、方法、装置及びプログラム
JP7165414B2 (ja) * 2017-12-22 2022-11-04 学校法人東京理科大学 暗号データ処理システム、及びプログラム
JP2020127084A (ja) * 2019-02-01 2020-08-20 株式会社日立製作所 暗号化システム及び暗号化方法
JP2021073788A (ja) * 2021-01-21 2021-05-13 日本電気株式会社 照合システムと方法とプログラム
WO2024013925A1 (ja) * 2022-07-14 2024-01-18 日本電気株式会社 カーシェアリングシステム、シェア方法、車載サーバ装置及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3586431B2 (ja) * 2001-02-28 2004-11-10 松下電器産業株式会社 個人認証方法および装置
JP5372576B2 (ja) * 2009-04-03 2013-12-18 日立オムロンターミナルソリューションズ株式会社 生体認証装置及びシステム
CN102598576B (zh) * 2009-10-29 2014-09-17 三菱电机株式会社 数据处理装置
JP5452393B2 (ja) * 2010-06-30 2014-03-26 楽天株式会社 キーストローク認証システム、キーストローク認証方法、およびキーストローク情報取得制御プログラム

Also Published As

Publication number Publication date
JP2016111594A (ja) 2016-06-20

Similar Documents

Publication Publication Date Title
JP6451938B2 (ja) 暗号文照合システム、方法、およびプログラム
JP7127543B2 (ja) 照合システム、方法、装置及びプログラム
US8509449B2 (en) Key protector for a storage volume using multiple keys
JP6931247B2 (ja) 暗号文照合システム、方法、およびプログラム
JP6229716B2 (ja) 照合システム、ノード、照合方法およびプログラム
JP6229714B2 (ja) 暗号文照合システムと方法とプログラム
WO2014185450A1 (ja) 照合システム、ノード、照合方法およびプログラム
JP6738061B2 (ja) 暗号文照合システム、方法、および記録媒体
Abidin On privacy-preserving biometric authentication
JP5972181B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
JP6791263B2 (ja) 暗号文照合システム及び暗号文照合方法
US9735963B2 (en) Decryption service providing device, processing device, safety evaluation device, program, and recording medium
JP6828322B2 (ja) 照合システムと方法とプログラム
KR101217491B1 (ko) 공개키 기반의 키워드 검색 방법
JP6229713B2 (ja) 暗号文照合システムと方法とプログラム
WO2018174063A1 (ja) 照合システム、方法、装置及びプログラム
JP7024709B2 (ja) 暗号化情報照合装置、暗号化情報照合方法、及び、暗号化情報照合プログラム
Abidin et al. Efficient verifiable computation of XOR for biometric authentication
JP5799635B2 (ja) 暗号データ検索システム、装置、方法及びプログラム
JP2021073788A (ja) 照合システムと方法とプログラム
JP6927199B2 (ja) 暗号文照合システム、ノード装置、暗号文照合方法、およびプログラム
KR102005946B1 (ko) 동형암호를 이용한 익명 아이디 기반 서명 시스템 및 방법
JP6528560B2 (ja) 指標算出システム、指標算出方法、指標算出プログラム、及び、照合システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180801

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180911

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181127

R150 Certificate of patent or registration of utility model

Ref document number: 6451938

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150