JP2021073788A - 照合システムと方法とプログラム - Google Patents

照合システムと方法とプログラム Download PDF

Info

Publication number
JP2021073788A
JP2021073788A JP2021008079A JP2021008079A JP2021073788A JP 2021073788 A JP2021073788 A JP 2021073788A JP 2021008079 A JP2021008079 A JP 2021008079A JP 2021008079 A JP2021008079 A JP 2021008079A JP 2021073788 A JP2021073788 A JP 2021073788A
Authority
JP
Japan
Prior art keywords
data
collation
partial
encrypted
registration
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.)
Pending
Application number
JP2021008079A
Other languages
English (en)
Inventor
寿幸 一色
Hisayuki Isshiki
寿幸 一色
健吾 森
Kengo Mori
健吾 森
春菜 肥後
Haruna Higo
春菜 肥後
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 JP2021008079A priority Critical patent/JP2021073788A/ja
Publication of JP2021073788A publication Critical patent/JP2021073788A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Collating Specific Patterns (AREA)

Abstract

【課題】登録データに関する情報漏洩を回避し照合処理を行う対象を削減する照合システム、方法及びプログラムを提供する。【解決手段】照合システムで実施される方法において、登録対象の平文データを暗号化した暗号化登録データを生成し、登録対象の平文データの部分に対応する部分登録データを生成し、記憶装置に登録するS1。次に、照合対象の平文データを暗号化した暗号化照合データを生成し、照合対象の平文データの部分に対応する部分照合データを生成するS2。そして、部分登録データと部分照合データとの間の距離が予め定められた値以下である部分登録データに対応する暗号化登録データに対して前号化照合データとの照合を行うS3。【選択図】図14

Description

本発明は、照合システムと方法とプログラムに関する。
近年、クラウドの普及に伴い、ネットワークに接続された計算資源に利用者のデータを置き、そのデータに基づいたサービスが急速に広がってきている。このようなサービスでは、利用者の機微なデータを扱う機会も増大してきているため、利用者が自分のデータが安全に管理されていることを保証することが重要になってきている。このような状況の下、オープンなネットワーク環境でデータを暗号化したまま管理し、データを復号することなく、検索や、統計処理などを行う技術の研究開発が活発に行われている。
また、近年、従来のパスワードや磁気カードを用いた個人認証の脆弱性をついた犯罪が頻発しており、より安全性の高い指紋、静脈などの生体的な特徴に基づく生体認証技術が注目を集めている。
生体認証においては、認証情報の検証を行うために、生体情報に関するテンプレートをデータベースに保管する必要がある。指紋、静脈等の生体情報は基本的に生涯不変のデータであり、情報が漏洩するとその被害は甚大なものとなる最も機密性が要求される情報である。このため、テンプレートが漏洩しても「なりすまし」を行えないようにするために、テンプレート情報を秘匿したまま認証を行うテンプレート保護型の生体認証技術が重要となってきている。
特許文献1には、第1のノード(クライアントに相当する)が、公開鍵と秘密鍵を生成する第2のノード(認証ノードに相当する)から受信した公開鍵により認証データを暗号化して第3のノード(サーバに相当)に送信し、被認証データを受信すると認証データを第3のノードより取得し被認証データと認証データの距離を公開鍵により暗号化したまま算出し、第3のノードから取得した多項式に前記距離を代入して公開鍵に暗号化した値を、照合用データとして生成して第2のノードに送信する方法が開示されている。多項式は認証データと被認証データの距離の閾値をパラメータとして含む。特許文献1では、信頼できる第3者をシステムに導入することにより、認証データと被認証データをサーバに対して秘匿可能としている。しかしながら、この関連技術は、照合における第3者の負荷が大きい。
特許文献2には、第1のノードが認証データとの距離を評価する評価式を生成し、公開鍵と秘密鍵を生成する第2のノードから受信した公開鍵により評価式の係数を暗号化して第3のノードに送信し、被認証データを受信すると、暗号化された前記係数を第3のノードより取得し、被認証データと暗号化された前記係数に基づいて、前記被認証データを認証データと照合するための評価値を生成し、該評価値を第2のノードに送信する方法が開示されている。
特許文献3には、暗号化ランダム類似度算出部(類似度途中暗号文算出部)は、復号装置の公開鍵を使って暗号化された暗号化特徴ベクトル(比較暗号文)と、復号装置の公開鍵を使って暗号化された暗号化特徴ベクトル(対象暗号文)と、乱数生成部(一時鍵生成部)が生成した乱数(一時鍵)とに基づいて、2つの暗号化特徴ベクトルC、C’が暗号化されたままの状態で、類似度算出の第一段階の計算をし、第二チャレンジC^を算出する。復号装置は、復号装置の秘密鍵で第二チャレンジC^を復号し、復号した結果が一時鍵で暗号化されたままの状態で、類似度算出の第二段階の計算をして、第二レスポンスZを算出する。平文類似度抽出部(類似度算出部)は、一時鍵で第二レスポンスZを復号することにより、類似度を算出する構成が開示されている。
特許文献4には、暗号化した預託データなどをデータベースサーバに送信するデータ登録用の送受信装置として機能する登録クライアント、秘匿化した検索クエリをデータベースサーバに送信して検索結果を受信する検索用の送受信装置として機能する検索クライアント、暗号化した預託データなどをデータベースに登録し、かつデータベース内のデータを検索する秘匿検索装置として機能するデータベースサーバを備えた構成が開示されている。特許文献4では、データベースサーバに預託するデータを記憶装置から読み出し、検索可能暗号特有のアルゴリズムで預託データの内容から秘匿化インデックスを生成し、生成した秘匿化インデックスを登録部に通知し、またはメモリもしくは記憶装置に一時的に出力する。データベースサーバは、秘匿検索処理において、まず、各クラスタにおいて秘匿化インデックスの代表(ピボット)を選択し、このピボットと、検索クライアントで検索クエリに含まれる検索キーワードを秘匿化したトラップドアとの照合を行なうことにより、登録データ照合時のクラスタの優先順位を決定する。データベースサーバは、優先順位に基づいて、クラスタ単位に全登録データの照合を行い、検索結果を検索クライアントに出力する。
特許文献5には、生体認証に用いられる参照情報を登録するとき、登録センサは正規ユーザの生体の一部の特徴量を抽出して特徴量をベクトル化し、ベクトル化された特徴量を準同型暗号化し、さらに、登録センサは準同型暗号化された特徴量を計算サーバに送信し、計算サーバのデータベースに暗号登録データとして登録しておく。ユーザが正規ユーザであるかを認証するために、照合センサはユーザの生体の一部の特徴量を抽出してベクトル化し、ベクトル化された特徴量を準同型暗号化し、準同型暗号化された特徴量を計算サーバに送信する。計算サーバでは、受け取った準同型暗号化された特徴量と登録されている暗号登録データの間の秘匿距離を計算し、秘匿距離計算結果を得、準同型暗号の秘密鍵を持つ認証局に送信する。認証局は、送信された秘匿距離計算結果を復号し、復号結果と閾値を比較し、復号結果が閾値よりも小さい場合は、ユーザを認証する。秘匿距離としてハミング距離を用いる。特許文献5の開示は、完全一致検索に係る発明である。
上記以外に下記の非特許文献等も参照される。
国際公開第2014/185450号 国際公開第2014/185447号 国際公開第2012/114452号 国際公開第2013/080365号 特開2014−126865号公報
"テンプレートサイズの小さい秘匿指紋認証方式",肥後,一色,森,尾花,暗号と情報セキュリティシンポジウム(SCIS2015),2015.
"Privacy-Preserving Fingerprint Authentication Resistant to Hill-Climbing Attacks",Haruna Higo, Toshiyuki Isshiki, Kengo Mori, Satoshi Obana, SAC2015, 2015. "認証時の情報開示の少ない秘匿生体認証方式",肥後,一色,森,尾花,暗号と情報セキュリティシンポジウム(SCIS2016),2016.
特許文献2、非特許文献1、特許文献3には、信頼できる第3者を導入したシステムにおいて、照合における第3者の負荷を小さくした技術が開示されている。しかしながら、これらの方式は、計算コストが大きいため、1:1認証のみに対応し、1:N認証に適していない。1:1認証は、被認証者が、自分は誰(被認証者)であると主張し、検証者が、被認証者は、該被認証者が主張した人物であることを検証する認証である。1:N認証は、被認証者が、自分(被認証者)がある集合(組織)に所属していると主張し、検証者が、被認証者は、被認証者が主張した集合に属することを検証する認証である。
1:1認証を、集合に登録されている人物のそれぞれとN回実行することにより、1:N認証を構成できることが一般に知られている。
しかしながら、上記した特許文献2、非特許文献1、特許文献3に記載の方式は、1回の1:1認証に必要な計算コストが大きいため、1:N認証のNが大きい場合には、非現実的となる。
そのため、1:N認証において、1:1認証1回当たりの計算コストが小さい方式、および、照合対象のNを減らす方式が望まれている。
一般に、生体情報を秘匿しない生体認証では、1:N認証を行う場合、生体から得られる特徴量による大まかな分類(例えば、指紋の紋章による分類)を利用したグループ分けや、生体情報の一部を利用した簡易検証を行うことによって、照合候補の枝刈りを行うことにより、効率化を行っている。
しかしながら、生体情報を秘匿したまま照合を行う場合、被認証者から送られてくる生体情報は、暗号化等により、秘匿されている。このため、特徴量による大まかな分類や生体情報の一部を利用した簡易検証を行うことはできない。
暗号化されたデータの曖昧さを許容する暗号文照合システムでは、
データを秘匿しつつ、
照合対象の暗号文の数を削減することを、同時に満たすことはできない、という課題がある。
本発明は、上記課題を解決するために創案されたものであって、その目的は、登録データに関する情報漏洩を回避し照合処理を行う対象を削減することができるシステム、方法およびプログラムを提供することにある。
本発明の一つの側面によれば、登録対象の平文データを暗号化した暗号化登録データを生成し、前記登録対象の平文データの部分に対応する部分登録データを生成し、記憶装置に登録する第1の手段と、
照合対象の平文データを暗号化した暗号化照合データを生成し、前記照合対象の平文データの部分に対応する部分照合データを生成する第2の手段と、
前記部分照合データとの間の距離が予め定められた値以下である前記部分登録データに対応する前記暗号化登録データに対して、前記暗号化照合データとの照合を行う第3の手段と、を含む照合システムが提供される。
本発明の一つの側面によれば、登録対象の平文データを暗号化した暗号化登録データを生成し、前記登録対象の平文データの部分に対応する部分登録データを生成し、これらを記憶装置に登録する第1のステップと、
照合対象の平文データを暗号化した暗号化照合データを生成し、前記照合対象の平文データの部分に対応する部分照合データを生成する第2のステップと、
前記部分照合データとの間の距離が予め定められた値以下である前記部分登録データに対応する前記暗号化登録データに対して前記暗号化照合データとの照合を行う第3のステップとを含む照合方法が提供される。
本発明の一つの側面によれば、登録対象の平文データを暗号化した暗号化登録データを生成し、前記登録対象の平文データの部分に対応する部分登録データを生成し、記憶装置に登録する第1の処理と、
照合対象の平文データを暗号化した暗号化照合データを生成し、前記照合対象の平文データの部分に対応する部分照合データを生成する第2の処理と、
前記部分照合データとの間の距離が予め定められた値以下である前記部分登録データに対応する前記暗号化登録データに対して前記暗号化照合データとの照合を行う第3の処理と、をコンピュータに実行させるプログラムが提供される。本発明によれば、上記プログラムを記憶したコンピュータ読み出し可能な記録媒体(例えばRAM(Random Access Memory)、ROM(Read Only Memory)、又は、EEPROM(Electrically Erasable and Programmable ROM)等の半導体ストレージ、HDD(Hard Disk Drive)、CD(Compact Disc)、DVD(Digital Versatile Disc)等のnon−transitory computer readable recording medium)が提供される。
本発明によれば、登録データに関する情報漏洩を回避し照合処理を行う対象を削減することができる。
本発明の一実施形態のシステム全体の構成を例示する図である。 (A)と(B)は本発明の一実施形態の登録データ生成装置と登録装置の構成を例示する図である。 (A)と(B)は本発明の一実施形態の記憶装置と鍵生成装置の構成を例示する図である。 (A)と(B)は本発明の一実施形態の照合要求装置と照合装置の構成を例示する図である。 本発明の一実施形態の照合補助装置の構成を例示する図である。 本発明の一実施形態の動作を説明する図である。 本発明の一実施形態の動作を説明する図である。 本発明の一実施形態の動作を説明する図である。 本発明の一実施形態の動作を説明する図である。 本発明の一実施形態の動作を説明する図である。 本発明の一実施形態の動作を説明する図である。 (A)と(B)は本発明の一実施形態の変形例の登録データ生成装置と照合要求装置の構成を例示する図である。 (A)と(B)は本発明の一実施形態の変形例の照合装置と照合補助装置の構成を例示する図である。 本発明の一形態を例示する図である。 本発明の別の形態を例示する図である。
本発明の実施形態について説明する。図14は、本発明の一形態を例示する図である。図14には、本発明の一形態の動作原理が例示されている。図14を参照すると、登録対象の平文データを暗号化した暗号化登録データを生成し、前記登録対象の平文データの部分に対応する部分登録データを生成し、記憶装置に登録する第1のステップ(S1)と、
照合対象の平文データを暗号化した暗号化照合データを生成し、前記照合対象の平文データの部分に対応する部分照合データを生成する第2のステップ(S2)と、
前記部分照合データとの間の距離が予め定められた値以下である前記部分登録データに対応する前記暗号化登録データに対して暗号化照合データとの照合を行う第3のステップ(S3)と、を有する。
本発明の一形態によれば、前記第1のステップ(S1)では、
前記登録対象の平文データ及び平文の部分登録データを準同型暗号の公開鍵でそれぞれ暗号化して、暗号化登録データと暗号化部分登録データを生成して記憶装置に登録するようにしてもよい。
前記第2のステップ(S2)では、照合対象の平文データと平文の部分照合データを準同型暗号の公開鍵で暗号化し、暗号化照合データ及び暗号化部分照合データを生成するようにしてもよい。
前記第3のステップ(S3)において、以下のステップを含むようにしてもよい。
暗号化部分照合データと暗号化部分登録データを暗号化したままま部分照合データと部分登録データ間の距離を計算して照合(照合補助)処理を依頼する。
照合(照合補助)処理では、前記距離を準同型暗号の秘密鍵で復号する。
照合(照合補助)処理の結果、部分照合データと部分登録データとの間の距離が予め定められた第1の値(t’)以下である場合(簡易照合が受理の場合)、前記暗号化照合データと前記暗号化登録データを暗号化したまま距離を計算して照合(照合補助)処理を依頼する。
照合(補助)処理では、準同型暗号の秘密鍵で前記距離を復号し、照合データと登録データの照合を行う。
本発明の一形態によれば、前記第3のステップ(S3)において、以下のステップを含むようにしてもよい。
照合(照合補助)処理では、前記暗号化部分照合データと前記暗号化部分登録データとの間の距離を受け、前記距離を準同型暗号の秘密鍵を用いて復号する。
前記復号された部分照合データと部分登録データとの間の距離が予め定められた前記第1の値(t')以下であるか否か判定する。
前記部分照合データと前記部分登録データの前記距離が予め定められた前記第1の値以下である場合、前記暗号化照合データと前記暗号化登録データを暗号化したまま距離を計算して照合(照合補助)処理を依頼する。
照合(照合補助)処理では、前記暗号化照合データと前記暗号化登録データとの間の前記距離を、前記準同型暗号の前記秘密鍵を用いて復号する。
復号された照合データと登録データとの間の距離が予め定められた第2の値(t)以下であるか否か判定することで照合処理を行う。
本発明の別の形態によれば、第1のステップ(S1)では、前記登録対象の平文データを準同型暗号の公開鍵で暗号化し、前記暗号化登録データを生成するようにしてもよい。
前記第2のステップ(S2)では、前記照合対象の平文データを準同型暗号の公開鍵で暗号化し、及び前記暗号化照合データを生成するようにしてもよい。
前記第3のステップ(S3)では、平文の部分照合データと平文の部分登録データとの間の距離を計算するステップと、
部分照合データと部分登録データとの間の距離が予め定められた第1の値(t’)以下である場合、前記暗号化照合データと前記暗号化登録データを暗号化したまま距離を計算するステップと、
前記暗号化照合データと前記暗号化登録データとの間の距離を、前記準同型暗号の前記秘密鍵を用いて復号し、
前記照合データと前記登録データとの間の距離が予め定められた第2の値(t)以下であるか否か判定することで照合処理を行うステップを含むようにしてもよい。
本発明の別の形態によれば、第1のステップ又は第2のステップのいずれかで部分データ(部分登録データ又は部分照合データ)を暗号化するようにしてもよい。
図15は、図14を参照して動作原理を説明した一形態の方法を、コンピュータで実現する形態を例示した図である。図15を参照すると、コンピュータ装置1は、例えばCPU(Central Processing Unit)2、記憶装置(メモリ)3、入出力(Input・Output:I/O)インタフェース4、通信インタフェース5を備える。記憶装置3は、ハードディスクドライブ(HDD)、半導体メモリ(例えば、ソリッドステートドライブ(SSD)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、読み出し専用のリードオンリメモリ(ROM)、電気的に消去およびプログラム可能なリードオンリメモリ(Electrically Erasable and Programmable Read−Only Memory)、コンパクトディスク(CD)、デジタルバーサタイルディスク(DVD))等のいずれか、または複数の組み合わせで構成してもよい。記憶装置3は、CPU2で実行されるプログラムを格納する。CPU2は、記憶装置3に格納されたプログラムを実行することで、図14のステップの処理を実行する。コンピュータ装置1は、通信インタフェース5を介して、例えばネットワーク(ローカルエリアネットワーク又は広域ネットワーク)等に接続し、不図示の他のコンピュータ装置と通信するようにしてもよい。
なお、図14の各ステップS1〜S3(ないし、そのサブステップ)は、ネットワークを介して通信接続する複数のコンピュータ装置1で連携して実現するようにしてもよい。コンピュータ装置1は、I/Oインタフェース4を介して例えば指紋センサや静脈センサ等のセンサ6(オプション)に接続し、登録対象、又は、照合対象の指紋や静脈等の生体情報(デジタルデータ)を取得するようにしてもよい。図15のコンピュータ装置1が、登録装置を構成する場合、記憶装置3には、暗号化された登録データや部分登録データを記憶するようにしてもよい。
本発明によれば、登録時に、データの暗号文とデータの一部の暗号文を対にして登録し、照合時に、データの一部と照合したいデータの一部の暗号文を用いて、照合対象のデータの一部と、一部に近い登録データに対して照合を行うことにより、効率的な1:N暗号文照合システムを実現する。暗号化されたデータの曖昧さを許容する照合システムに適用して好適とされ、特に、照合対象のデータと照合を行うためのデータがともに暗号化されている状況で、曖昧さの指標を、平文の距離とした場合の照合システムに適用される。
本発明によれば、データ登録時に、該データの暗号文を登録し、照合時には、暗号化されたまま登録されている平文データと、照合対象の平文データとの間の距離が、許容される範囲に入っていることを検証することが可能とされる。また、登録データと照合対象データの一部を照合することによって、照合対象データ数を削減することができる。登録されたデータ(暗号化登録データ、暗号化部分登録データ)は、常に暗号化されており、データに関する情報の漏洩が回避される。このため、安心、かつ安全に、システムを利用することが可能となる。このため、効率的な1:N暗号文照合システムの利用が可能となる。以下、いくつかの例示的な実施形態について説明する。
<例示的な実施形態1>
本発明の例示的な一実施の形態について図面を参照して詳細に説明する。図1を参照すると、一実施の形態に係るシステムは、データを暗号化した登録データを生成する登録データ生成装置100と、登録データを受信し記憶装置300に登録する登録装置200と、鍵生成装置400と、照合要求装置500と、照合装置600と、照合補助装置700とを備えている。これらの装置は、プロセッサ(CPU)、記憶装置(メモリ)、通信インタフェース(IF)等を備え、ネットワーク(構内網、広域網)を介して通信接続する複数のノード装置として構成してもよい。図2乃至図5を参照して、各装置について説明する。
図2(A)を参照すると、登録データ生成装置100は、登録データ生成部101と、部分登録データ生成部102と、部分登録データ暗号化部103と、登録データ暗号化部104と、登録データ送付部105と、通信インタフェース(IF)106を備えている。登録データ生成部101は、登録対象のデータ(「平文登録データ」とも称される)を生成する。部分登録データ生成部102は、登録データ生成部101から平文登録データを入力し、部分登録データを生成する。部分登録データ暗号化部103は、部分登録データ生成部102から部分登録データを入力し、鍵生成装置400が生成した公開鍵を受信し、公開鍵を用いて部分登録データを暗号化し、暗号化部分登録データを生成する。登録データ暗号化部104は、登録データ生成部101から平文登録データを入力し、鍵生成装置400から公開鍵を入力として受信し、公開鍵を用いて暗号化登録データを生成する。登録データ送付部105は、部分登録データ生成部102から暗号化部分登録データと、登録データ暗号化部104から暗号化登録データを入力として受信し、登録データを生成し、通信IF106を介して、登録装置200に送付する。
図2(B)を参照すると、登録装置200は、登録処理部201と登録データ受信部202と通信IF203を備えている。登録処理部201は、登録データ生成装置100から、通信IF203および登録データ受信部202を介して受信した登録データを受け取り、登録データの登録処理を行う。
図3(A)を参照すると、記憶装置300は、暗号化部分データ記憶部301と、暗号化データ記憶部302と通信IF303とを備えている。記憶装置300は、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、ダイナミックランダムアクセスメモリ(DRAM)、又は、スタティクランダムアクセスメモリ(SRAM)、電気的にプログラム消去可能なリードオンリメモリ(Electrically Erasable and Programmable Read Only Memory: EEPROM)等を備えた構成としてもよい。
図3(B)を参照すると、鍵生成装置400は、鍵生成部401と通信IF402を備えている。鍵生成部401は、セキュリティパラメータを入力とし、公開鍵と秘密鍵を生成する。
図4(A)を参照すると、照合要求装置500は、照合データ生成部501と、部分照合データ生成部502と、部分照合データ暗号化部503と、照合データ暗号化部504と、照合クエリ送付部505と、通信IF506を備えている。照合データ生成部501は、照合対象の平文データ(「平文照合データ」と呼ぶ)を生成する。部分照合データ生成部502は、平文照合データを入力として、部分照合データを生成する。部分照合データ暗号化部503は、部分照合データと、鍵生成装置400が生成した公開鍵を入力とし、暗号化部分照合データを生成する。照合データ暗号化部504は、平文照合データと、鍵生成装置400が生成した公開鍵とを入力とし、暗号化平文照合データを生成する。照合クエリ送付部505は、暗号化照合データと、暗号化部分照合データを入力とし、照合クエリを生成し、通信IF506を介して照合装置600へ送付する。
図4(B)を参照すると、照合装置600は、暗号化部分距離生成部601と、部分データ照合補助依頼部602と、暗号化照合データ距離生成部603と、照合補助依頼部604と、照合処理部605と、照合クエリ受信部606と、通信IF607を備えている。暗号化部分距離生成部601は、記憶装置300の暗号化部分データ記憶部301に記憶された暗号化部分登録データと、照合クエリに含まれる、暗号化部分照合データを入力として、暗号化部分距離を生成する。部分データ照合補助依頼部602は、暗号化部分距離を入力として、部分データ照合補助依頼を生成する。暗号化照合データ距離生成部603は、部分データ照合補助依頼に従って照合補助装置700が生成した部分データ照合補助結果と、部分データ照合補助結果に対応し、記憶装置300に記憶された暗号化登録データを入力とし、照合データと登録データとの間の距離の暗号文である暗号化距離を生成する。照合補助依頼部604は、暗号化距離を入力として、照合補助依頼を生成する。照合処理部605は、照合補助依頼に従って、照合補助装置700が生成した照合補助結果を通信IF607を介して入力として、照合結果を生成する。
図5を参照すると、照合補助装置700は、鍵記憶部701と、部分データ照合補助部702と、照合補助部703と、通信IF704を備えている。
鍵記憶部701は、鍵生成装置400が生成した秘密鍵を通信IF704を介して受信し、記憶する。部分データ照合補助部702は、鍵記憶部701に記憶された秘密鍵と、照合装置600から送付された部分データ照合補助依頼とを入力とし、部分データ照合補助結果を生成する。部分データ照合補助部702は、鍵記憶部701に記憶された秘密鍵と、照合装置600から送付され通信IF704を介して受信した照合補助依頼を入力とし、照合補助結果を生成する。
次に、本実施形態の動作について説明する。本実施形態の暗号文照合システムの動作は、登録セットアップフェイズと、データ登録フェイズと、照合セットアップフェイズと、暗号文照合フェイズの4つのフェイズに大別される。
登録セットアップフェイズは、鍵生成装置400にセキュリティパラメータを入力し、準同型暗号の公開鍵と秘密鍵を生成し、各装置に必要な鍵を送付するフェイズである。
照合セットアップフェイズは、鍵生成装置400が登録セットアップフェイズで生成した公開鍵と秘密鍵を、各装置に送付するフェイズである。
データ登録フェイズは、登録データ生成装置100が生成した平文の登録データと、平文の登録データの一部である平文の部分登録データ(「部分平文登録データ」とも称する)を暗号化し、記憶装置300に登録するフェイズである。
暗号文照合フェイズは、照合要求装置500が生成した平文の照合データを秘匿しながら、入力データが、記憶装置300に記憶されている暗号データの平文と近い(ある種の距離が小さい)ものであるかを判定するフェイズである。以下、各フェイズにおける動作に関して詳細に説明する。
<登録セットアップフェイズ>
図6は、登録セットアップフェイズを例示する図である。鍵生成装置400の鍵生成部401は、セキュリティパラメータkを入力とし準同型暗号の公開鍵および秘密鍵を生成し(ステップS101)、通信IF402を介して、公開鍵を登録データ生成装置100と登録装置200に送付する(ステップS102、S103)。
平文m1及びm2に対して、加算又は乗法に関する準同型暗号方式の暗号化関数ENC
に関して、
ENC(pk, m1)(+)ENC(pk, m2)=ENC(pk, m1+m2) (加法準同型)又は、
ENC(pk, m1)(*)ENC(pk, m2)=ENC(pk, m1*m2) (乗法準同型)
が成り立つ。ここで(+)や(*)は暗号方式によって定められる二項演算子である。なお、準同型暗号方式として、乗法に利用されるRSA(Rivest Shamir Adleman)暗号、加法に利用される加法Elgamal暗号等が知られている。
<データ登録フェイズ>
図7は、データ登録フェイズを例示する図である。
登録データ生成装置100の登録データ生成部101が、平文登録データを生成する(ステップS201)。
次に、部分登録データ生成部102が、平文登録データから部分平文登録データを生成する(ステップS202)。
次に、部分登録データ暗号化部103が、部分平文登録データと、鍵生成装置400が生成した公開鍵を入力とし、暗号化部分登録データを生成する(ステップS203)。
次に、登録データ暗号化部104が、平文登録データと、公開鍵を入力とし、暗号化登録データを生成する(ステップS204)。
次に、登録データ送付部105が、暗号化部分登録データと、暗号化登録データを入力とし、暗号化部分登録データと、暗号化登録データを含む登録データを生成する(ステップS205)。
登録データ送付部105は、通信IF106を介して登録データを登録装置200へ送付する(ステップS206)。
登録装置200の登録処理部201は、受信した登録データに含まれる暗号化部分登録データを、通信IF203を介して記憶装置300の暗号化部分データ記憶部301に記憶し(ステップS207)、暗号化登録データを通信IF203を介して記憶装置300の暗号化データ記憶部302にそれぞれ記憶する(ステップS209)。
<照合セットアップフェイズ>
図8は、照合セットアップフェイズを例示する図である。鍵生成装置400は、登録セットアップフェイズで生成した準同型暗号の公開鍵を通信IF402を介して、照合要求装置500、照合装置600、照合補助装置700に送信する(ステップS301〜S303)。また、鍵生成装置400は、登録セットアップフェイズで生成した準同型暗号の秘密鍵を通信IF402を介して照合補助装置700に送付する(ステップS304)。
照合補助装置700は、通信IF704を介して受信した秘密鍵を鍵記憶部701に記憶する(ステップS305)。
<暗号文照合フェイズ>
図9は、暗号文照合フェイズを例示する図である。照合要求装置500の照合データ生成部501が平文照合データを生成する(ステップS401)。
次に、部分照合データ生成部502が、照合データ生成部501で生成した平文照合データを入力として、部分照合データを生成する(ステップS402)。
次に、部分照合データ暗号化部503が、部分照合データ生成部502が生成した部分照合データと、鍵生成装置400が生成した公開鍵を入力として、暗号化部分照合データを生成する(ステップS403)。
次に、照合データ暗号化部504が、照合データ生成部501で生成した平文照合データと公開鍵を入力として、暗号化照合データを生成する(ステップS404)。
次に、照合クエリ送付部505が、部分照合データ暗号化部503が生成した暗号化部分照合データと、照合データ暗号化部504が生成した暗号化照合データを入力として、暗号化部分照合データと、暗号化照合データを含む照合クエリを生成する(ステップS405)。
照合クエリ送付部505は、照合クエリを、通信IF506を介して照合装置600へ送付する(ステップS406)。
次に、照合クエリを受信した照合装置600の暗号化部分距離生成部601は、照合クエリに含まれる暗号化部分照合データと、記憶装置300の暗号化部分データ記憶部301に記憶された暗号化部分登録データと、公開鍵を入力として、暗号化部分距離を生成する(ステップS407)。ここで、暗号化部分データ記憶部301に、複数のデータが記憶されている場合には、ステップS407を複数回行ってもよい。この場合、次の部分データ照合補助依頼部602への入力は、複数個の暗号化部分距離になる。
次に、照合装置600の部分データ照合補助依頼部602は、暗号化部分距離を入力として、部分データ照合補助依頼を生成する(ステップS408)。
部分データ照合補助依頼部602は、部分データ照合補助依頼を、照合補助装置700に送付する(ステップS409)。
部分データ照合補助依頼を受信した照合補助装置700の部分データ照合補助部702は、部分データ照合補助依頼と、鍵記憶部701に記憶された秘密鍵を入力とし、部分データ照合補助結果を生成し(ステップS410)、通信IF704を介して照合装置600に送付する(ステップS411)。
部分データ照合補助結果を受信した照合装置600の暗号化照合データ距離生成部603は、部分データ照合補助結果によって定められた暗号化登録データを、記憶装置300の暗号化データ記憶部302から受信し、照合クエリに含まれる暗号化照合データZと、暗号化登録データZ'と、公開鍵pkを入力とし、暗号化距離ENC(pk, d(Z,Z'))を生成する(ステップS412)。
次に、照合装置600の照合補助依頼部604は、暗号化距離を入力とし、照合補助依頼を生成し(ステップS413)、照合補助装置700に送付する(ステップS414)。
照合補助依頼を受信した照合補助装置700の照合補助部703は、鍵記憶部701に記憶された秘密鍵と、照合補助依頼を入力とし、照合補助結果を生成し(ステップS415)、照合装置600に送付する(ステップS416)。
照合補助結果を受信した照合装置600の照合処理部605は、照合結果を生成し(ステップS417)出力する(ステップS418)
<実施例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}]
と定義する。この二乗n次元ユークリッド距離は、距離を定義する条件式(1.(非負性):d(X,Y)>=0, X=Y ⇒ d(X,Y)=0, 2.(対称性):d(X,Y)=d(Y,X), 3.(三角不等式):d(X,Y)+d(Y,Z)>=d(X,Y))のうち三角不等式を満たさないが、本実施例で用いるようなマッチ判定には利用できることが知られている。
d(X,Y)が閾値t以下である場合に、XとYは、近いと判定し、閾値tよりも大きい場合には、XとYは遠いと判定するものとする。本実施例では、XとYが近い場合は、マッチしたと判定し(照合受理)、遠い場合には、マッチしなかったと判定する(照合不受理)。
特に制限されるものではないが、本実施例では、Somewhat凖同型暗号を利用する。Somewhat 準同型暗号とは、暗号化したまま任意回の平文の加算や定数回の乗算を計算できる暗号である。Somewhat準同型暗号は、鍵生成KeyGen,暗号化Enc,復号Dec,準同型加算HomAdd,準同型乗算HomMulの5つのアルゴリズムからなる。以下にそれぞれを説明する。
鍵生成KeyGen:セキュリティパラメータ1^kを入力とし、公開鍵pk, 秘密鍵skを出力する。
(pk, sk)←KeyGen(1^k)
と記す。
暗号化Enc:公開鍵pk、メッセージMを入力とし、暗号文Cを出力する。
C←Enc(pk, M)と記す。
復号Dec:秘密鍵sk、暗号文Cを入力とし、メッセージMを出力する。
M←Dec(sk, C)
と記す。
準同型加算HomAdd:
公開鍵pk,暗号文C_1←Enc(pk, M_1)および C_2←Enc(pk, M_2) を入力として、
暗号文C_3←Enc(pk, M_1+M_2)を出力する。これを、
C_3←HomAdd(pk, C_1, C_2)
と記す。
準同型乗算HomMul:公開鍵pk,暗号文C_1←Enc(pk, M_1) および C_2←Enc(pk, M_2) を入力として、
暗号文C_3←Enc(pk, M_1・M_2)
を出力する。これを、
C_3←HomMul(pk, C_1, C_2)
と記す。
Somewhat準同型暗号を利用した場合、2つのn次元ベクトル
X=(x[1], x[2], …, x[n])と
Y=(y[1], y[2], …, y[n])
の暗号文:
Enc(pk, X)=(Enc(pk, x[1]), Enc(pk, x[2]),…,Enc(pk, x[n])) と
Enc(pk, Y)=(Enc(pk, y[1]), Enc(pk,y[2]),…,Enc(pk, y[n]))
に対して、
XとYとの間の距離の暗号文Enc(pk, d(X,Y))を、XとYを暗号化したまま計算できる。
本実施例における各フェイズの動作について図面を参照して以下に説明する。
セキュリティパラメータ1^kを入力とした鍵生成装置400の鍵生成部401が、Somewhat準同型暗号の鍵生成アルゴリズムKeyGen(1^k)を実行して公開鍵pkおよび秘密鍵skを生成し、公開鍵pkを登録データ生成装置100、登録装置200に送付する(図6のステップS101からS102)。
<データ登録フェイズ>
登録データ生成装置100の登録データ生成部101が、平文登録データX=(x[1],…,x[n])を生成する(図7のステップS201)。
次に、部分登録データ生成部102が、平文登録データX=(x[1],…,x[n])から、部分平文登録データX’=(x’[1],…,x’[m])を生成する(図7のステップS202)。
このとき,n>mであれば、どのような方法で部分平文登録データを生成してもよいが、ある整数(閾値) t’<=tに対して、X, Yが近いならば(距離d(X,Y)<t)、それぞれの部分データX’, Y’との間の距離d(X’,Y’)がt’以下となるようにする。例えば、t’=tとして、{x’[1], …,x’[m]}を、{x[1],…,x[n]}の部分集合とすれば、容易に生成できる。ただし、上記と異なる方法で生成してもよい。
次に、部分登録データ暗号化部103が、部分平文登録データX’と、鍵生成装置400が生成した公開鍵pkを入力とし、以下の手順で暗号化部分登録データENC(X’)を生成する(図7のステップS203)。
<登録セットアップフェイズ>
1. i=1,…,mに対して、
enc_x’[i]=Enc(pk,x’[i])
を計算する。
2. ENC(X’)=(enc_x’[1],…,enc_x’[m])
とする。
次に、登録データ暗号化部104が、平文登録データXと、鍵生成装置400が生成した公開鍵pkを入力とし、以下の手順で暗号化登録データENC(X)を生成する(図7のステップS204)。
1. i=1,…,nに対して、
enc_x[i]=Enc(pk,x[i])
を計算する。
2. ENC(X)=(enc_x[1],…,enc_x[n])
とする。
3. 次に、登録データ送付部105が、暗号化部分登録データENC(X’)と、暗号化登録データENC(X)を入力とし、暗号化部分登録データと、暗号化登録データを含む登録データ(ENC(X), ENC(X)’)を生成し(図7のステップS205)、登録装置200へ送信し(図7のステップS206)、登録装置200は、暗号化部分登録データと、暗号化登録データを記憶装置300へ送付する(図7のステップS207、S208)。
記憶装置300は、受信した登録データに含まれる暗号化部分登録データを暗号化部分データ記憶部301に、暗号化登録データを暗号化データ記憶部302に、それぞれ記憶する(図7のステップS209)。
<照合セットアップフェイズ>
登録セットアップフェイズで鍵生成装置400が生成した準同型暗号の公開鍵pkを照合要求装置500、照合装置600、照合補助装置700にそれぞれ送付し(図8のステップS301〜S303)、秘密鍵skを照合補助装置700に送付する(図8のステップS304)。
照合補助装置700は、受信した秘密鍵skを鍵記憶部701に記憶する(図8のステップS305)。
<暗号文照合フェイズ>
照合要求装置500の照合データ生成部501が平文照合データ
Y=(y[1],…,y[n])
を生成する(図9のステップS401)。
次に、部分照合データ生成部502が、平文照合データYを入力として、部分照合データY’=(y’[1],…,y’[m])を生成する(図9のステップS402)。ここで、Y’はデータ登録フェイズのステップS202(図7)と同じ方法で生成するものとする。
次に、部分照合データ暗号化部503が、部分照合データY’と、鍵生成装置400が生成した公開鍵pkを入力として、暗号化部分照合データENC(Y’)を以下の手順で生成する(図9のステップS403)。
1. i=1,…,mに対して、
enc_y’[i]=Enc(pk, y’[i])
とする。
2. ENC(Y’)=(enc_y’[1],…,enc_y’[m])とする。
次に、照合データ暗号化部504が、平文照合データYと、公開鍵pkを入力として、暗号化照合データENC(Y)を以下の手順で生成する(図9のステップS404)。
3. i=1,…,nに対して、
enc_y[i]=Enc(pk, y[i])
とする。
4. ENC(Y)=(enc_y[1],…,enc_y[n])
とする。
次に、照合クエリ送付部505が、暗号化部分照合データENC(Y’)と、暗号化照合データENC(Y)を入力として、暗号化部分照合データENC(Y’)と、暗号化照合データENC(Y)を含む照合クエリ(ENC(Y), ENC(Y’))を生成し(図9のステップS405)、照合装置600へ送付する(図9のステップS406)。
次に、照合クエリ(ENC(Y), ENC(Y’))を受信した照合装置600の暗号化部分距離生成部601は、照合クエリに含まれる暗号化部分照合データENC(Y’)と、記憶装置300の暗号化部分データ記憶部301に記憶された暗号化部分登録データENC(X’)と、公開鍵pkを入力として、以下の手順で暗号化部分距離ENC(d’)を生成する(図10のステップS407)。
1. i=1,…,mに対して
(a) 準同型加算HomAddを使って,
Enc(pk,x’[i])とEnc(pk, y’[i])から
Enc(pk,x’[i]-y’[i])
を計算する。
(b) 準同型乗算HomMulを使って,
Enc(pk, x’[i]-y’[i])から
Enc(pk, (x’[i]-y’[i])^2)
を計算する。
2. 準同型加算HomAddを使って、
Enc(pk, (x’[1]-y’[1])^2),…, Enc(pk, (x’[m]-y’[m])^2)から、
ENC(d’)=Enc(pk, d(X’,Y’))
を計算する。
ここで、暗号化部分データ記憶部301に複数のデータが記憶されている場合、ステップS407を複数回行ってもよい。その場合、次の部分データ照合補助依頼部602への入力は、複数個の暗号化部分距離{ENC(d’)}になる。簡単のため、以下では1つのENC(d’)について説明する。複数個の暗号化部分距離の場合にも容易に適用できる。
次に、部分データ照合補助依頼部602は、暗号化部分距離ENC(d’)を入力として、部分データ照合補助依頼(ENC(d’))を生成し(図10のステップS408)、照合補助装置700に送付する(図10のステップS409)。
次に、部分データ照合補助依頼(ENC(d’))を受信した照合補助装置700の部分データ照合補助部702は、部分データ照合補助依頼(ENC(d’))と、鍵記憶部701に記憶された秘密鍵skを入力とし、準同型暗号の復号Dec(sk, ENC(d’))を計算する(図10のステップS410)。
照合補助装置700の部分データ照合補助部702は、
復号結果が閾値t’以下であった場合、部分照合受理を、
そうでなかった場合部分照合不受理を、
部分データ照合補助結果Result_y’とし、照合装置600に送付する(図10のステップS411)。
次に、部分データ照合補助結果Result_y’を受信した照合装置600の暗号化照合データ距離生成部603は、部分データ照合補助結果Result_y’が不受理であったら不受理を出力して以降の動作を停止する。
部分データ照合補助結果Result_y’が受理であった場合、対応する暗号化登録データENC(X)を、記憶装置300の暗号化データ記憶部302から受信し、前記照合クエリに含まれる暗号化照合データENC(Y)と、前記暗号化登録データENC(X)と、前記公開鍵pkを入力とし、以下の通りに暗号化距離ENC(d)を生成する(図10のステップS412)。
ここで、部分データ照合補助依頼が複数個の暗号文であった場合、部分データ照合補助結果は、どの暗号化部分距離が部分照合受理であったかがわかる情報(例えばデータのIDやインデックスなど)とすることができる。
この場合、データのID等は部分データ照合補助依頼に含まれているものとする。
1. i=1,…,nに対して
(a) 準同型加算HomAddを使って、
Enc(pk,x[i])と、Enc(pk, y[i])から、
Enc(pk,x[i]-y[i])
を計算する。
(b) 準同型乗算HomMulを使って、
Enc(pk, x[i]-y[i])から
Enc(pk, (x[i]-y[i])^2)
を計算する。
2. 準同型加算HomAddを使って、
Enc(pk, (x[1]-y[1])^2),…, Enc(pk, (x[n]-y[n])^2)から、
ENC(d)=Enc(pk, d(X,Y))
を計算する。
次に、照合装置600の照合補助依頼部604は、暗号化距離ENC(d)を入力とし、照合補助依頼(ENC(d))を生成し(図10のステップS413)、照合補助装置700に送付する(図10のステップS414)。
照合補助依頼(ENC(d))を受信した照合補助装置700の照合補助部703は、鍵記憶部701に記憶された秘密鍵skと、照合補助依頼(ENC(d))を入力とし、準同型暗号の復号
Dec(sk, ENC(d))を実行する。
復号結果dが閾値t以下であったら、受理を、
復号結果dが閾値tを超えていたら、不受理を
照合補助結果Result_yとし(図11のステップS415)、
照合補助結果Result_yを照合装置600に送付する(図11のステップS416)。
照合補助結果Result_yを受信した照合装置600の照合処理部605は、
Result_yが受理であったら、照合受理を、
Result_yが受理でなかったら、照合不受理を照合結果Resultとし生成し(図11のステップS417)、
照合結果を照合要求装置500に出力する(図11のステップS418)。
また、本実施形態では、二乗ユークリッド距離の例を挙げたが、他の距離(ハミング距離、マハラノビス距離など)にも容易に適用可能である。
また、本実施形態では、部分データも暗号化された例について説明したが、部分データを暗号化しない場合であってもよい。
その場合は、照合装置が、照合時に、平文部分データと平文照合データとの距離を計算し、部分データの受理・不受理を判断できる。
前記実施形態では、部分データを暗号化しているが、変形例として、部分データを暗号化しない場合を以下に説明する。
<実施形態の変形例1>
図12、図13は、この変形例の構成を説明する図である。図12に示すように、登録データ生成装置100Aは、部分登録データ暗号部103を備えていず、登録データ送付部105が、暗号化登録データと平文の部分登録データを、登録装置200に送信する。また、照合要求装置500Aは、部分照合データ暗号化部503を備えていず、照合クエリ送付部505は、暗号化照合データと平文の部分照合データを入力としてクエリを生成し照合装置600に送信する。図13を参照すると、照合装置600は、暗号化部分距離生成部601、部分データ照合補助依頼部602を備えていず、平文の部分登録データと平文の部分照合データとの間の距離が所定の閾値(t')以下であるか判別し、部分照合受理、不受理を出力する平文部分データ照合処理部608を備えている。なお図3(A)の記憶装置300の暗号化部分データ記憶部301は、平文の部分登録データを記憶する記憶部に置き換えられる。
変形例では、図7のステップS203の処理が削除され、ステップS205では、登録データには、暗号化登録データと平文の部分登録データを含ませる。ステップS207では、平文の部分登録データが記憶装置300に転送され、ステップS209では、暗号化登録データと平文の部分登録データ(部分平文登録データ)が記憶される。図9のステップS402、403の処理が削除され、図9のステップS405では、照合クエリには、暗号化照合データと平文の部分照合データ(部分平文照合データ)を含ませる。また図10のステップS407からステップS411が省略される。図10のステップS407〜S411の代わりに、照合装置600Aにおいて、平文部分データ照合処理部608が、平文の登録部分データ(部分平文登録データ)と平文の照合部分データ(部分平文照合データ)の距離が閾値t’以下であるか判定し、該距離が閾値(t')以下である場合には、部分照合受理、閾値(t')を超える場合には、部分照合不受理を出力する。暗号化照合データ距離生成部603は、部分照合受理の場合に、図10のステップS412の処理を実行し、図10のステップ413から図11のステップ418の処理が実行される。
<実施形態の変形例2>
同様に、登録時と照合時のいずれか一方だけ、部分平文データを暗号化するようにしてもよい。この場合、照合装置600(図4(B))において、例えば暗号化部分距離生成部601は削除され、部分データ照合補助依頼部602は、部分登録データと部分照合データのうちの一方の平文の部分データと、部分登録データと部分照合データのうちの他方の暗号化部分データの部分データ照合補助依頼を、照合補助装置700に依頼する。照合補助装置700の部分データ照合補助部702(図5)では、部分登録データと部分照合データの前記他方の暗号化部分データを、秘密鍵を用いて復号した上で、部分登録データと部分照合データの前記一方の平文の部分データとの間の距離を求める。部分データ照合補助部702(図5)では、該距離が閾値(t’)以下である場合には、部分照合受理を、該距離が閾値(t’)を上回る場合には、部分照合不受理を照合装置600に送信するようにしてもよい。これ以降の照合装置600の処理と、照合補助装置700による暗号化照合データと暗号化登録データの照合処理は、前述した実施形態と同様であるため説明は省略する。
さらに、非特許文献2や非特許文献3には、登録データと照合データ間の距離を秘匿したまま照合を行う方法が記載されており、本発明はこれらの方式とも組み合わせ可能である。
上記実施形態は、特徴量として多値ベクトルを用いる生体認証への適用が可能である。
挙げられる。
例えば、データ登録フェイズにおいて登録データ生成装置100が入力するデータと、暗号文照合フェイズにおいて照合要求装置500が入力するデータを、指紋センサや静脈センサで取得した生体情報から抽出された特徴量(特徴ベクトル)とすることで、生体情報を秘匿したまま、記憶装置に格納された暗号化された生体データと、照合要求装置から送出された暗号化された生体データが、同一人物から採取されたものであるか否かを、2つの入力データの距離が一定数以下となるかどうかにより判定することが可能となる。特に、生体情報は、常に安定して同一のデータが取得できるわけではないことが知られており、同じ人物から取得されるデータが類似している(各要素の距離が小さいデータが取得できる)と仮定できるため、生体認証へ適用して好適とされる。
なお、上記の特許文献1−5、非特許文献1−3の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各付記の各要素、各実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ乃至選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
1 コンピュータ装置
2 CPU
3 記憶装置
4 I/Oインタフェース
5 通信インタフェース
6 センサ
100、100A 登録データ生成装置
101 登録データ生成部
102 部分登録データ生成部
103 部分登録データ暗号化部
104 登録データ暗号化部
105 登録データ送付部
106 通信インタフェース(IF)
200 登録装置
201 登録処理部
202 登録データ受信部
203 通信インタフェース(IF)
300 記憶装置
301 暗号化部分データ記憶部
302 暗号化データ記憶部
303 通信インタフェース(IF)
400 鍵生成装置
401 鍵生成部
402 通信インタフェース(IF)
500、500A 照合要求装置
501 照合データ生成部
502 部分照合データ生成部
503 部分照合データ暗号化部
504 照合データ暗号化部
505 照合クエリ送付部
506 通信インタフェース(IF)
600、600A 照合装置
601 暗号化部分距離生成部
602 部分データ照合補助依頼部
603 暗号化照合データ距離生成部
604 照合補助依頼部
605 照合処理部
606 照合クエリ受信部
607 通信インタフェース(IF)
608 平文部分データ照合処理部
700、700A 照合補助装置
701 鍵記憶部
702 部分データ照合補助部
703 照合補助部
704 通信インタフェース(IF)

Claims (6)

  1. 登録対象の平文データを暗号化した暗号化登録データを生成し、前記登録対象の平文データの部分に対応する部分登録データを生成し、前記部分登録データを暗号化して暗号化部分登録データを生成し、前記暗号化部分登録データと前記暗号化登録データを記憶装置に登録する第1の手段と
    照合対象の平文データを暗号化した暗号化照合データを生成し、前記照合対象の平文データの部分に対応する部分照合データを生成し、前記部分照合データを暗号化して暗号化部分照合データを生成する第2の手段と、
    前記暗号化部分照合データと前記暗号化部分登録データとから前記部分照合データと前記部分登録データ間の距離を求め、前記距離が予め定められた値以下である場合、前記暗号化登録データと前記暗号化照合データとの照合を実行する第3の手段と、
    を含む、ことを特徴とする照合システム。
  2. 前記第3の手段は、前記暗号化部分照合データと前記暗号化部分登録データとから前記部分照合データと前記部分登録データ間の第1の距離を求め、前記第1の距離が予め定められた第1の値以下である場合、前記暗号化部分登録データに対応する前記暗号化登録データと、前記暗号化照合データとから、前記照合対象の平文データと前記暗号化登録データに対応する平文登録データ間の第2の距離を求め、前記第2の距離が予め定められた第2の値以下であるか否か判定し、
    前記第1の手段は、前記第1の値以下の前記第2の値に対して、第1、第2の平文データ間の距離が前記第2の値以下であれば、前記第1、第2の平文データの部分に対応する第1、第2の部分登録データ間の距離が前記第1の値以下となるように、前記登録対象の平文データから前記部分登録データを生成し、
    前記第2の手段は、照合対象の第1、第2の平文データ間の距離が前記第2の値以下であれば、前記第1、第2の平文データの部分に対応する前記第1、第2の部分照合データ間の距離が前記第1の値以下となるように、前記照合対象の平文データから前記部分照合データを生成する、ことを特徴とする請求項1に記載の照合システム。
  3. 前記第1の手段は、
    前記登録対象の平文データ及び平文の前記部分登録データを、鍵生成装置で生成された準同型暗号の公開鍵でそれぞれ暗号化し、前記暗号化登録データと前記暗号化部分登録データを生成する登録データ生成装置と、
    前記暗号化登録データと前記暗号化部分登録データを前記記憶装置に登録する登録装置と、
    を備え、
    前記第2の手段は、
    前記照合対象の平文データと平文の前記部分照合データを前記準同型暗号の公開鍵でそれぞれ暗号化し、前記暗号化照合データと前記暗号化部分照合データを生成する照合要求装置を備え、
    前記第3の手段は、
    前記暗号化部分照合データと前記暗号化部分登録データを暗号化したまま前記部分照合データと前記部分登録データ間の前記第1の距離を計算する照合装置と、
    前記照合装置から、前記暗号化された前記第1の距離を受け、前記鍵生成装置で生成された準同型暗号の秘密鍵を用いて前記第1の距離を復号し、前記第1の距離が前記第1の値以下であるか否かを判定する照合補助装置と、
    を備え、
    前記照合装置は、
    前記部分照合データと前記部分登録データとの間の距離が前記第1の値以下である場合、前記暗号化照合データと前記暗号化登録データを暗号化したまま前記照合対象の平文データと前記暗号化登録データに対応する平文登録データ間の前記第2の距離を計算し、
    前記照合補助装置は、前記照合装置から、前記暗号化された前記第2の距離を受け、前記準同型暗号の秘密鍵を用いて、前記第2の距離を復号し、前記第2の距離が前記第2の値以下であるか否かを判定する、ことを特徴とする請求項2に記載の照合システム。
  4. 前記第1の手段が生成する前記部分登録データは、前記登録対象の平文データの部分集合であり、
    前記第1の手段は、前記登録対象の平文データとその部分集合である前記部分登録データの各要素を暗号化して前記暗号化登録データと前記暗号化部分登録データを求め、
    前記第2の手段が生成する前記部分照合データは、前記照合対象の平文データの部分集合であり、
    前記第2の手段は、前記照合対象の平文データとその部分集合である前記部分照合データの各要素を暗号化して前記暗号化照合データと前記暗号化部分照合データを求める、ことを特徴とする請求項2又は3に記載の照合システム。
  5. 登録装置が、登録対象の平文データを暗号化した暗号化登録データを生成し、前記登録対象の平文データの部分に対応する部分登録データを生成し、前記部分登録データを暗号化して暗号化部分登録データを生成し、前記暗号化部分登録データと前記暗号化登録データを記憶装置に登録する第1のステップと、
    照合要求装置が、照合対象の平文データを暗号化した暗号化照合データを生成し、前記照合対象の平文データの部分に対応する部分照合データを生成し、前記部分照合データを暗号化して暗号化部分照合データを生成し、前記部分照合データを暗号化して暗号化部分照合データを含む照合クエリを照合装置に送信する第2のステップと、
    前記照合装置が、前記暗号化部分照合データと前記暗号化部分登録データを暗号化したまま前記部分照合データと前記部分登録データ間の距離を求め、照合補助装置に送信する第3のステップと、
    前記照合補助装置が、暗号化された前記距離を復号し、復号した前記距離が予め定められた値以下である場合、部分照合受理を照合装置に返す第4のステップと、
    前記照合装置が、前記部分照合受理を受信すると、前記暗号化部分登録データに対応する前記暗号化登録データと前記暗号化照合データとを暗号化したまま、前記照合対象の平文データと、前記暗号化登録データに対応する平文登録データとの照合を実行する第5のステップと、
    を含む、ことを特徴とする照合方法。
  6. コンピュータに照合処理を実行させるプログラムであって、
    登録対象の平文データを暗号化した暗号化登録データを生成し、前記登録対象の平文データの部分に対応する部分登録データを生成し、前記部分登録データを暗号化して暗号化部分登録データを生成し、前記暗号化部分登録データと前記暗号化登録データを記憶装置に登録する第1の処理と、
    照合対象の平文データを暗号化した暗号化照合データを生成し、前記照合対象の平文データの部分に対応する部分照合データを生成し、前記部分照合データを暗号化して暗号化部分照合データを生成する第2の処理と、
    前記暗号化部分照合データと前記暗号化部分登録データとから前記部分照合データと前記部分登録データ間の距離を求め、前記距離が予め定められた値以下である場合、前記暗号化登録データと前記暗号化照合データとの照合を実行する第3の処理と、
    を含む、プログラム。
JP2021008079A 2021-01-21 2021-01-21 照合システムと方法とプログラム Pending JP2021073788A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021008079A JP2021073788A (ja) 2021-01-21 2021-01-21 照合システムと方法とプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021008079A JP2021073788A (ja) 2021-01-21 2021-01-21 照合システムと方法とプログラム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016173331A Division JP6828322B2 (ja) 2016-09-06 2016-09-06 照合システムと方法とプログラム

Publications (1)

Publication Number Publication Date
JP2021073788A true JP2021073788A (ja) 2021-05-13

Family

ID=75802604

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021008079A Pending JP2021073788A (ja) 2021-01-21 2021-01-21 照合システムと方法とプログラム

Country Status (1)

Country Link
JP (1) JP2021073788A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023002748A1 (ja) * 2021-07-21 2023-01-26 アストロラボ株式会社 文書管理サーバ、文書管理方法及びコンピュータプログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004258963A (ja) * 2003-02-26 2004-09-16 Fujitsu Ltd 多段階照合による高速idレス照合方法およびシステム
WO2011052056A1 (ja) * 2009-10-29 2011-05-05 三菱電機株式会社 データ処理装置
JP2011211593A (ja) * 2010-03-30 2011-10-20 Fujitsu Ltd 認証装置、暗号化装置、トークンデバイス、認証方法、および認証プログラム
JP2016508323A (ja) * 2013-03-15 2016-03-17 三菱電機株式会社 暗号化したものを認証する方法及びバイオメトリックデータを認証するシステム
JP2016111594A (ja) * 2014-12-09 2016-06-20 日本電気株式会社 暗号文照合システム、方法、およびプログラム
JP2018042045A (ja) * 2016-09-06 2018-03-15 日本電気株式会社 照合システムと方法とプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004258963A (ja) * 2003-02-26 2004-09-16 Fujitsu Ltd 多段階照合による高速idレス照合方法およびシステム
WO2011052056A1 (ja) * 2009-10-29 2011-05-05 三菱電機株式会社 データ処理装置
JP2011211593A (ja) * 2010-03-30 2011-10-20 Fujitsu Ltd 認証装置、暗号化装置、トークンデバイス、認証方法、および認証プログラム
JP2016508323A (ja) * 2013-03-15 2016-03-17 三菱電機株式会社 暗号化したものを認証する方法及びバイオメトリックデータを認証するシステム
JP2016111594A (ja) * 2014-12-09 2016-06-20 日本電気株式会社 暗号文照合システム、方法、およびプログラム
JP2018042045A (ja) * 2016-09-06 2018-03-15 日本電気株式会社 照合システムと方法とプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023002748A1 (ja) * 2021-07-21 2023-01-26 アストロラボ株式会社 文書管理サーバ、文書管理方法及びコンピュータプログラム

Similar Documents

Publication Publication Date Title
JP6037366B2 (ja) 暗号化したものに対応するユーザーを認証する方法及びバイオメトリックデータに対応するユーザーを認証するシステム
EP1815637B1 (en) Securely computing a similarity measure
Alberto Torres et al. Privacy-preserving biometrics authentication systems using fully homomorphic encryption
JP2008504595A (ja) 更新可能かつプライベートなバイオメトリクス
JP6451938B2 (ja) 暗号文照合システム、方法、およびプログラム
US10211986B2 (en) Program collation system, node, collation method, and computer-readable medium
US9910478B2 (en) Collation system, node, collation method, and computer readable medium
Torres et al. Effectiveness of fully homomorphic encryption to preserve the privacy of biometric data
WO2014185450A1 (ja) 照合システム、ノード、照合方法およびプログラム
US20180239910A1 (en) Encrypted text verification system, method and recording medium
JP6828322B2 (ja) 照合システムと方法とプログラム
JP6738061B2 (ja) 暗号文照合システム、方法、および記録媒体
Failla et al. Esketch: a privacy-preserving fuzzy commitment scheme for authentication using encrypted biometrics
Abidin On privacy-preserving biometric authentication
CN114021164A (zh) 基于区块链的征信系统隐私保护方法
Domingo-Ferrer et al. Flexible and robust privacy-preserving implicit authentication
Higo et al. Privacy-preserving fingerprint authentication resistant to hill-climbing attacks
WO2020121461A1 (ja) 照合システム、クライアントおよびサーバ
JP2021073788A (ja) 照合システムと方法とプログラム
JP6791263B2 (ja) 暗号文照合システム及び暗号文照合方法
WO2020121458A1 (ja) 照合システム、クライアントおよびサーバ
US20230006829A1 (en) Information matching system and information matching method
JP6927199B2 (ja) 暗号文照合システム、ノード装置、暗号文照合方法、およびプログラム
Syed et al. Wip: Privacy enabled biometric authentication based on proof of decryption techniques
Mujawar et al. An Attribute-Based Encryption Method Using Outsourced Decryption and Hierarchical Access Structure

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220506

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20221004