JP2018042045A - Collation system and method and program - Google Patents
Collation system and method and program Download PDFInfo
- Publication number
- JP2018042045A JP2018042045A JP2016173331A JP2016173331A JP2018042045A JP 2018042045 A JP2018042045 A JP 2018042045A JP 2016173331 A JP2016173331 A JP 2016173331A JP 2016173331 A JP2016173331 A JP 2016173331A JP 2018042045 A JP2018042045 A JP 2018042045A
- Authority
- JP
- Japan
- Prior art keywords
- data
- encrypted
- partial
- verification
- plaintext
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000003860 storage Methods 0.000 claims abstract description 54
- 238000012545 processing Methods 0.000 claims abstract description 26
- 238000012795 verification Methods 0.000 claims description 212
- 230000008569 process Effects 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 4
- 238000013524 data verification Methods 0.000 description 36
- 238000004891 communication Methods 0.000 description 34
- 238000013500 data storage Methods 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 13
- 238000007792 addition Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 210000003462 vein Anatomy 0.000 description 4
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
Images
Abstract
Description
本発明は、照合システムと方法とプログラムに関する。 The present invention relates to a verification system, method, and program.
近年、クラウドの普及に伴い、ネットワークに接続された計算資源に利用者のデータを置き、そのデータに基づいたサービスが急速に広がってきている。このようなサービスでは、利用者の機微なデータを扱う機会も増大してきているため、利用者が自分のデータが安全に管理されていることを保証することが重要になってきている。このような状況の下、オープンなネットワーク環境でデータを暗号化したまま管理し、データを復号することなく、検索や、統計処理などを行う技術の研究開発が活発に行われている。 In recent years, with the spread of the cloud, user data is placed on computing resources connected to a network, and services based on the data are rapidly spreading. In such services, the opportunity for users to handle sensitive data is increasing, so it has become important for users to ensure that their data is managed safely. Under such circumstances, research and development of techniques for managing data while encrypting it in an open network environment and performing search, statistical processing, etc. without decrypting the data are being actively conducted.
また、近年、従来のパスワードや磁気カードを用いた個人認証の脆弱性をついた犯罪が頻発しており、より安全性の高い指紋、静脈などの生体的な特徴に基づく生体認証技術が注目を集めている。 In recent years, crimes with vulnerability to personal authentication using conventional passwords and magnetic cards have frequently occurred, and biometric authentication technology based on biometric features such as fingerprints and veins, which are more secure, has attracted attention. Collecting.
生体認証においては、認証情報の検証を行うために、生体情報に関するテンプレートをデータベースに保管する必要がある。指紋、静脈等の生体情報は基本的に生涯不変のデータであり、情報が漏洩するとその被害は甚大なものとなる最も機密性が要求される情報である。このため、テンプレートが漏洩しても「なりすまし」を行えないようにするために、テンプレート情報を秘匿したまま認証を行うテンプレート保護型の生体認証技術が重要となってきている。 In biometric authentication, it is necessary to store a template related to biometric information in a database in order to verify authentication information. Biometric information such as fingerprints and veins is basically data that does not change throughout the lifetime. When information leaks, it is the information that requires the most confidentiality. For this reason, in order to prevent “spoofing” from being performed even if a template leaks, a template protection type biometric authentication technique that performs authentication while keeping template information secret has become important.
特許文献1には、第1のノード(クライアントに相当する)が、公開鍵と秘密鍵を生成する第2のノード(認証ノードに相当する)から受信した公開鍵により認証データを暗号化して第3のノード(サーバに相当)に送信し、被認証データを受信すると認証データを第3のノードより取得し被認証データと認証データの距離を公開鍵により暗号化したまま算出し、第3のノードから取得した多項式に前記距離を代入して公開鍵に暗号化した値を、照合用データとして生成して第2のノードに送信する方法が開示されている。多項式は認証データと被認証データの距離の閾値をパラメータとして含む。特許文献1では、信頼できる第3者をシステムに導入することにより、認証データと被認証データをサーバに対して秘匿可能としている。しかしながら、この関連技術は、照合における第3者の負荷が大きい。
In
特許文献2には、第1のノードが認証データとの距離を評価する評価式を生成し、公開鍵と秘密鍵を生成する第2のノードから受信した公開鍵により評価式の係数を暗号化して第3のノードに送信し、被認証データを受信すると、暗号化された前記係数を第3のノードより取得し、被認証データと暗号化された前記係数に基づいて、前記被認証データを認証データと照合するための評価値を生成し、該評価値を第2のノードに送信する方法が開示されている。
In
特許文献3には、暗号化ランダム類似度算出部(類似度途中暗号文算出部)は、復号装置の公開鍵を使って暗号化された暗号化特徴ベクトル(比較暗号文)と、復号装置の公開鍵を使って暗号化された暗号化特徴ベクトル(対象暗号文)と、乱数生成部(一時鍵生成部)が生成した乱数(一時鍵)とに基づいて、2つの暗号化特徴ベクトルC、C’が暗号化されたままの状態で、類似度算出の第一段階の計算をし、第二チャレンジC^を算出する。復号装置は、復号装置の秘密鍵で第二チャレンジC^を復号し、復号した結果が一時鍵で暗号化されたままの状態で、類似度算出の第二段階の計算をして、第二レスポンスZを算出する。平文類似度抽出部(類似度算出部)は、一時鍵で第二レスポンスZを復号することにより、類似度を算出する構成が開示されている。
In
特許文献4には、暗号化した預託データなどをデータベースサーバに送信するデータ登録用の送受信装置として機能する登録クライアント、秘匿化した検索クエリをデータベースサーバに送信して検索結果を受信する検索用の送受信装置として機能する検索クライアント、暗号化した預託データなどをデータベースに登録し、かつデータベース内のデータを検索する秘匿検索装置として機能するデータベースサーバを備えた構成が開示されている。特許文献4では、データベースサーバに預託するデータを記憶装置から読み出し、検索可能暗号特有のアルゴリズムで預託データの内容から秘匿化インデックスを生成し、生成した秘匿化インデックスを登録部に通知し、またはメモリもしくは記憶装置に一時的に出力する。データベースサーバは、秘匿検索処理において、まず、各クラスタにおいて秘匿化インデックスの代表(ピボット)を選択し、このピボットと、検索クライアントで検索クエリに含まれる検索キーワードを秘匿化したトラップドアとの照合を行なうことにより、登録データ照合時のクラスタの優先順位を決定する。データベースサーバは、優先順位に基づいて、クラスタ単位に全登録データの照合を行い、検索結果を検索クライアントに出力する。
特許文献5には、生体認証に用いられる参照情報を登録するとき、登録センサは正規ユーザの生体の一部の特徴量を抽出して特徴量をベクトル化し、ベクトル化された特徴量を準同型暗号化し、さらに、登録センサは準同型暗号化された特徴量を計算サーバに送信し、計算サーバのデータベースに暗号登録データとして登録しておく。ユーザが正規ユーザであるかを認証するために、照合センサはユーザの生体の一部の特徴量を抽出してベクトル化し、ベクトル化された特徴量を準同型暗号化し、準同型暗号化された特徴量を計算サーバに送信する。計算サーバでは、受け取った準同型暗号化された特徴量と登録されている暗号登録データの間の秘匿距離を計算し、秘匿距離計算結果を得、準同型暗号の秘密鍵を持つ認証局に送信する。認証局は、送信された秘匿距離計算結果を復号し、復号結果と閾値を比較し、復号結果が閾値よりも小さい場合は、ユーザを認証する。秘匿距離としてハミング距離を用いる。特許文献5の開示は、完全一致検索に係る発明である。
In
上記以外に下記の非特許文献等も参照される。 In addition to the above, the following non-patent documents are also referred to.
特許文献2、非特許文献1、特許文献3には、信頼できる第3者を導入したシステムにおいて、照合における第3者の負荷を小さくした技術が開示されている。しかしながら、これらの方式は、計算コストが大きいため、1:1認証のみに対応し、1:N認証に適していない。1:1認証は、被認証者が、自分は誰(被認証者)であると主張し、検証者が、被認証者は、該被認証者が主張した人物であることを検証する認証である。1:N認証は、被認証者が、自分(被認証者)がある集合(組織)に所属していると主張し、検証者が、被認証者は、被認証者が主張した集合に属することを検証する認証である。
1:1認証を、集合に登録されている人物のそれぞれとN回実行することにより、1:N認証を構成できることが一般に知られている。 It is generally known that 1: N authentication can be configured by performing 1: 1 authentication with each person registered in the set N times.
しかしながら、上記した特許文献2、非特許文献1、特許文献3に記載の方式は、1回の1:1認証に必要な計算コストが大きいため、1:N認証のNが大きい場合には、非現実的となる。
However, since the methods described in
そのため、1:N認証において、1:1認証1回当たりの計算コストが小さい方式、および、照合対象のNを減らす方式が望まれている。 Therefore, in 1: N authentication, a method with a low calculation cost per 1: 1 authentication and a method for reducing N to be verified are desired.
一般に、生体情報を秘匿しない生体認証では、1:N認証を行う場合、生体から得られる特徴量による大まかな分類(例えば、指紋の紋章による分類)を利用したグループ分けや、生体情報の一部を利用した簡易検証を行うことによって、照合候補の枝刈りを行うことにより、効率化を行っている。 In general, in biometric authentication that does not conceal biometric information, when 1: N authentication is performed, grouping using a rough classification (for example, classification based on a fingerprint emblem) based on a feature amount obtained from a biometric or a part of biometric information The efficiency is improved by pruning the verification candidates by performing simple verification using.
しかしながら、生体情報を秘匿したまま照合を行う場合、被認証者から送られてくる生体情報は、暗号化等により、秘匿されている。このため、特徴量による大まかな分類や生体情報の一部を利用した簡易検証を行うことはできない。 However, when collation is performed while keeping the biometric information secret, the biometric information sent from the person to be authenticated is kept secret by encryption or the like. For this reason, it is not possible to perform rough classification based on feature amounts or simple verification using a part of biological information.
暗号化されたデータの曖昧さを許容する暗号文照合システムでは、
データを秘匿しつつ、
照合対象の暗号文の数を削減することを、同時に満たすことはできない、という課題がある。
In a ciphertext verification system that allows ambiguity of encrypted data,
While keeping your data secret
There is a problem that the reduction of the number of ciphertexts to be verified cannot be satisfied at the same time.
本発明は、上記課題を解決するために創案されたものであって、その目的は、登録データに関する情報漏洩を回避し照合処理を行う対象を削減することができるシステム、方法およびプログラムを提供することにある。 The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a system, method, and program capable of avoiding information leakage related to registered data and reducing the number of targets to be collated. There is.
本発明の一つの側面によれば、登録対象の平文データを暗号化した暗号化登録データを生成し、前記登録対象の平文データの部分に対応する部分登録データを生成し、記憶装置に登録する第1の手段と、
照合対象の平文データを暗号化した暗号化照合データを生成し、前記照合対象の平文データの部分に対応する部分照合データを生成する第2の手段と、
前記部分照合データとの間の距離が予め定められた値以下である前記部分登録データに対応する前記暗号化登録データに対して、前記暗号化照合データとの照合を行う第3の手段と、を含む照合システムが提供される。
According to one aspect of the present invention, encrypted registration data obtained by encrypting plaintext data to be registered is generated, partial registration data corresponding to the plaintext data portion to be registered is generated, and registered in a storage device. A first means;
Second means for generating encrypted collation data obtained by encrypting the plaintext data to be collated and generating partial collation data corresponding to the portion of the plaintext data to be collated;
A third means for collating the encrypted registration data corresponding to the partial registration data whose distance to the partial verification data is equal to or less than a predetermined value; Is provided.
本発明の一つの側面によれば、登録対象の平文データを暗号化した暗号化登録データを生成し、前記登録対象の平文データの部分に対応する部分登録データを生成し、これらを記憶装置に登録する第1のステップと、
照合対象の平文データを暗号化した暗号化照合データを生成し、前記照合対象の平文データの部分に対応する部分照合データを生成する第2のステップと、
前記部分照合データとの間の距離が予め定められた値以下である前記部分登録データに対応する前記暗号化登録データに対して前記暗号化照合データとの照合を行う第3のステップとを含む照合方法が提供される。
According to one aspect of the present invention, encrypted registration data obtained by encrypting plaintext data to be registered is generated, partial registration data corresponding to the portion of the plaintext data to be registered is generated, and these are stored in a storage device. A first step of registration;
A second step of generating encrypted collation data obtained by encrypting the plaintext data to be collated, and generating partial collation data corresponding to a portion of the plaintext data to be collated;
And a third step of collating the encrypted registration data corresponding to the partial registration data corresponding to the partial registration data whose distance to the partial verification data is equal to or less than a predetermined value. A verification method is provided.
本発明の一つの側面によれば、登録対象の平文データを暗号化した暗号化登録データを生成し、前記登録対象の平文データの部分に対応する部分登録データを生成し、記憶装置に登録する第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)が提供される。
According to one aspect of the present invention, encrypted registration data obtained by encrypting plaintext data to be registered is generated, partial registration data corresponding to the plaintext data portion to be registered is generated, and registered in a storage device. A first process;
A second process of generating encrypted collation data obtained by encrypting the plaintext data to be collated, and generating partial collation data corresponding to a portion of the plaintext data to be collated;
A third process for collating the encrypted registration data corresponding to the partial registration data corresponding to the partial registration data whose distance from the partial verification data is equal to or less than a predetermined value; A program to be executed by a computer is provided. According to the present invention, a computer-readable recording medium (for example, RAM (Random Access Memory), ROM (Read Only Memory), or EEPROM (Electrically Erasable and Programmable ROM)), HDD ( Non-transitory computer readable recording media (Hard Disk Drive), CD (Compact Disc), DVD (Digital Versatile Disc), etc. are provided.
本発明によれば、登録データに関する情報漏洩を回避し照合処理を行う対象を削減することができる。 According to the present invention, it is possible to avoid information leakage related to registered data and to reduce the number of targets for collation processing.
本発明の実施形態について説明する。図14は、本発明の一形態を例示する図である。図14には、本発明の一形態の動作原理が例示されている。図14を参照すると、登録対象の平文データを暗号化した暗号化登録データを生成し、前記登録対象の平文データの部分に対応する部分登録データを生成し、記憶装置に登録する第1のステップ(S1)と、
照合対象の平文データを暗号化した暗号化照合データを生成し、前記照合対象の平文データの部分に対応する部分照合データを生成する第2のステップ(S2)と、
前記部分照合データとの間の距離が予め定められた値以下である前記部分登録データに対応する前記暗号化登録データに対して暗号化照合データとの照合を行う第3のステップ(S3)と、を有する。
An embodiment of the present invention will be described. FIG. 14 is a diagram illustrating an embodiment of the present invention. FIG. 14 illustrates an operation principle of one embodiment of the present invention. Referring to FIG. 14, a first step of generating encrypted registration data obtained by encrypting plaintext data to be registered, generating partial registration data corresponding to the plaintext data portion to be registered, and registering it in a storage device. (S1),
A second step (S2) of generating encrypted collation data obtained by encrypting the plaintext data to be collated, and generating partial collation data corresponding to the portion of the plaintext data to be collated;
A third step (S3) in which the encrypted registration data corresponding to the partial registration data whose distance to the partial verification data is equal to or less than a predetermined value is compared with the encrypted verification data; Have.
本発明の一形態によれば、前記第1のステップ(S1)では、
前記登録対象の平文データ及び平文の部分登録データを準同型暗号の公開鍵でそれぞれ暗号化して、暗号化登録データと暗号化部分登録データを生成して記憶装置に登録するようにしてもよい。
According to an aspect of the present invention, in the first step (S1),
The plaintext data to be registered and the partial registration data in plaintext may be encrypted with a public key of homomorphic encryption, and the encrypted registration data and the encrypted partial registration data may be generated and registered in the storage device.
前記第2のステップ(S2)では、照合対象の平文データと平文の部分照合データを準同型暗号の公開鍵で暗号化し、暗号化照合データ及び暗号化部分照合データを生成するようにしてもよい。 In the second step (S2), the plaintext data to be collated and the plaintext partial collation data may be encrypted with the public key of the homomorphic encryption to generate the encrypted collation data and the encrypted partial collation data. .
前記第3のステップ(S3)において、以下のステップを含むようにしてもよい。
暗号化部分照合データと暗号化部分登録データを暗号化したままま部分照合データと部分登録データ間の距離を計算して照合(照合補助)処理を依頼する。
照合(照合補助)処理では、前記距離を準同型暗号の秘密鍵で復号する。
照合(照合補助)処理の結果、部分照合データと部分登録データとの間の距離が予め定められた第1の値(t’)以下である場合(簡易照合が受理の場合)、前記暗号化照合データと前記暗号化登録データを暗号化したまま距離を計算して照合(照合補助)処理を依頼する。
照合(補助)処理では、準同型暗号の秘密鍵で前記距離を復号し、照合データと登録データの照合を行う。
In the third step (S3), the following steps may be included.
The encrypted partial collation data and the encrypted partial registration data are encrypted and the distance between the partial collation data and the partial registration data is calculated and a collation (collation assistance) process is requested.
In the collation (collation assistance) process, the distance is decrypted with the secret key of the homomorphic encryption.
When the distance between the partial verification data and the partial registration data is equal to or smaller than a predetermined first value (t ′) as a result of the verification (verification assistance) process (when simple verification is accepted), the encryption A distance is calculated while the verification data and the encrypted registration data are encrypted, and a verification (verification assistance) process is requested.
In the verification (auxiliary) processing, the distance is decrypted with the secret key of the homomorphic encryption, and verification data and verification data are verified.
本発明の一形態によれば、前記第3のステップ(S3)において、以下のステップを含むようにしてもよい。
照合(照合補助)処理では、前記暗号化部分照合データと前記暗号化部分登録データとの間の距離を受け、前記距離を準同型暗号の秘密鍵を用いて復号する。
前記復号された部分照合データと部分登録データとの間の距離が予め定められた前記第1の値(t')以下であるか否か判定する。
前記部分照合データと前記部分登録データの前記距離が予め定められた前記第1の値以下である場合、前記暗号化照合データと前記暗号化登録データを暗号化したまま距離を計算して照合(照合補助)処理を依頼する。
照合(照合補助)処理では、前記暗号化照合データと前記暗号化登録データとの間の前記距離を、前記準同型暗号の前記秘密鍵を用いて復号する。
復号された照合データと登録データとの間の距離が予め定められた第2の値(t)以下であるか否か判定することで照合処理を行う。
According to an aspect of the present invention, the third step (S3) may include the following steps.
In the verification (verification assistance) process, the distance between the encrypted partial verification data and the encrypted partial registration data is received, and the distance is decrypted using a secret key of the homomorphic encryption.
It is determined whether or not the distance between the decrypted partial collation data and the partial registration data is equal to or less than the first value (t ′) determined in advance.
If the distance between the partial verification data and the partial registration data is equal to or less than the first value determined in advance, the encrypted verification data and the encrypted registration data are encrypted and the distance is calculated and verified ( Request processing for verification.
In the verification (verification assistance) process, the distance between the encrypted verification data and the encrypted registration data is decrypted using the secret key of the homomorphic encryption.
The collation process is performed by determining whether the distance between the decrypted collation data and the registered data is equal to or less than a predetermined second value (t).
本発明の別の形態によれば、第1のステップ(S1)では、前記登録対象の平文データを準同型暗号の公開鍵で暗号化し、前記暗号化登録データを生成するようにしてもよい。
前記第2のステップ(S2)では、前記照合対象の平文データを準同型暗号の公開鍵で暗号化し、及び前記暗号化照合データを生成するようにしてもよい。
前記第3のステップ(S3)では、平文の部分照合データと平文の部分登録データとの間の距離を計算するステップと、
部分照合データと部分登録データとの間の距離が予め定められた第1の値(t’)以下である場合、前記暗号化照合データと前記暗号化登録データを暗号化したまま距離を計算するステップと、
前記暗号化照合データと前記暗号化登録データとの間の距離を、前記準同型暗号の前記秘密鍵を用いて復号し、
前記照合データと前記登録データとの間の距離が予め定められた第2の値(t)以下であるか否か判定することで照合処理を行うステップを含むようにしてもよい。
According to another aspect of the present invention, in the first step (S1), the plaintext data to be registered may be encrypted with a homomorphic public key to generate the encrypted registration data.
In the second step (S2), the plaintext data to be verified may be encrypted with a public key of homomorphic encryption, and the encrypted verification data may be generated.
In the third step (S3), calculating a distance between the plaintext partial matching data and the plaintext partial registration data;
When the distance between the partial verification data and the partial registration data is equal to or less than a predetermined first value (t ′), the distance is calculated while the encrypted verification data and the encrypted registration data are encrypted. Steps,
Decrypting the distance between the encrypted verification data and the encrypted registration data using the secret key of the homomorphic encryption;
You may make it include the step which performs a collation process by determining whether the distance between the said collation data and the said registration data is below a predetermined 2nd value (t).
本発明の別の形態によれば、第1のステップ又は第2のステップのいずれかで部分データ(部分登録データ又は部分照合データ)を暗号化するようにしてもよい。 According to another aspect of the present invention, partial data (partial registration data or partial collation data) may be encrypted in either the first step or the second step.
図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を介して、例えばネットワーク(ローカルエリアネットワーク又は広域ネットワーク)等に接続し、不図示の他のコンピュータ装置と通信するようにしてもよい。
FIG. 15 is a diagram exemplifying a form in which the method according to the embodiment described with reference to FIG. 14 is realized by a computer. Referring to FIG. 15, the
なお、図14の各ステップS1〜S3(ないし、そのサブステップ)は、ネットワークを介して通信接続する複数のコンピュータ装置1で連携して実現するようにしてもよい。コンピュータ装置1は、I/Oインタフェース4を介して例えば指紋センサや静脈センサ等のセンサ6(オプション)に接続し、登録対象、又は、照合対象の指紋や静脈等の生体情報(デジタルデータ)を取得するようにしてもよい。図15のコンピュータ装置1が、登録装置を構成する場合、記憶装置3には、暗号化された登録データや部分登録データを記憶するようにしてもよい。
Note that steps S1 to S3 (or its substeps) in FIG. 14 may be implemented in cooperation with a plurality of
本発明によれば、登録時に、データの暗号文とデータの一部の暗号文を対にして登録し、照合時に、データの一部と照合したいデータの一部の暗号文を用いて、照合対象のデータの一部と、一部に近い登録データに対して照合を行うことにより、効率的な1:N暗号文照合システムを実現する。暗号化されたデータの曖昧さを許容する照合システムに適用して好適とされ、特に、照合対象のデータと照合を行うためのデータがともに暗号化されている状況で、曖昧さの指標を、平文の距離とした場合の照合システムに適用される。 According to the present invention, at the time of registration, a ciphertext of data and a partial ciphertext of data are registered as a pair, and at the time of collation, a ciphertext of a part of data to be collated with a part of data is used for collation. An efficient 1: N ciphertext matching system is realized by matching a part of the target data with registered data close to a part. It is suitable to be applied to a collation system that allows ambiguity of encrypted data, and in particular, in a situation where both data to be collated and data to be collated are encrypted, an index of ambiguity, Applicable to collation system in case of plain text distance.
本発明によれば、データ登録時に、該データの暗号文を登録し、照合時には、暗号化されたまま登録されている平文データと、照合対象の平文データとの間の距離が、許容される範囲に入っていることを検証することが可能とされる。また、登録データと照合対象データの一部を照合することによって、照合対象データ数を削減することができる。登録されたデータ(暗号化登録データ、暗号化部分登録データ)は、常に暗号化されており、データに関する情報の漏洩が回避される。このため、安心、かつ安全に、システムを利用することが可能となる。このため、効率的な1:N暗号文照合システムの利用が可能となる。以下、いくつかの例示的な実施形態について説明する。 According to the present invention, at the time of data registration, the ciphertext of the data is registered, and at the time of verification, the distance between the plaintext data registered as encrypted and the plaintext data to be verified is allowed. It is possible to verify that it is within range. Further, the number of verification target data can be reduced by verifying a part of the registration data and the verification target data. The registered data (encrypted registration data, encrypted partial registration data) is always encrypted, and leakage of information about the data is avoided. For this reason, it becomes possible to use a system safely and safely. This makes it possible to use an efficient 1: N ciphertext matching system. In the following, some exemplary embodiments will be described.
<例示的な実施形態1>
本発明の例示的な一実施の形態について図面を参照して詳細に説明する。図1を参照すると、一実施の形態に係るシステムは、データを暗号化した登録データを生成する登録データ生成装置100と、登録データを受信し記憶装置300に登録する登録装置200と、鍵生成装置400と、照合要求装置500と、照合装置600と、照合補助装置700とを備えている。これらの装置は、プロセッサ(CPU)、記憶装置(メモリ)、通信インタフェース(IF)等を備え、ネットワーク(構内網、広域網)を介して通信接続する複数のノード装置として構成してもよい。図2乃至図5を参照して、各装置について説明する。
<
An exemplary embodiment of the present invention will be described in detail with reference to the drawings. Referring to FIG. 1, a system according to an embodiment includes a registration
図2(A)を参照すると、登録データ生成装置100は、登録データ生成部101と、部分登録データ生成部102と、部分登録データ暗号化部103と、登録データ暗号化部104と、登録データ送付部105と、通信インタフェース(IF)106を備えている。登録データ生成部101は、登録対象のデータ(「平文登録データ」とも称される)を生成する。部分登録データ生成部102は、登録データ生成部101から平文登録データを入力し、部分登録データを生成する。部分登録データ暗号化部103は、部分登録データ生成部102から部分登録データを入力し、鍵生成装置400が生成した公開鍵を受信し、公開鍵を用いて部分登録データを暗号化し、暗号化部分登録データを生成する。登録データ暗号化部104は、登録データ生成部101から平文登録データを入力し、鍵生成装置400から公開鍵を入力として受信し、公開鍵を用いて暗号化登録データを生成する。登録データ送付部105は、部分登録データ生成部102から暗号化部分登録データと、登録データ暗号化部104から暗号化登録データを入力として受信し、登録データを生成し、通信IF106を介して、登録装置200に送付する。
Referring to FIG. 2A, the registration
図2(B)を参照すると、登録装置200は、登録処理部201と登録データ受信部202と通信IF203を備えている。登録処理部201は、登録データ生成装置100から、通信IF203および登録データ受信部202を介して受信した登録データを受け取り、登録データの登録処理を行う。
Referring to FIG. 2B, the
図3(A)を参照すると、記憶装置300は、暗号化部分データ記憶部301と、暗号化データ記憶部302と通信IF303とを備えている。記憶装置300は、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、ダイナミックランダムアクセスメモリ(DRAM)、又は、スタティクランダムアクセスメモリ(SRAM)、電気的にプログラム消去可能なリードオンリメモリ(Electrically Erasable and Programmable Read Only Memory: EEPROM)等を備えた構成としてもよい。
Referring to FIG. 3A, the
図3(B)を参照すると、鍵生成装置400は、鍵生成部401と通信IF402を備えている。鍵生成部401は、セキュリティパラメータを入力とし、公開鍵と秘密鍵を生成する。
Referring to FIG. 3B, the
図4(A)を参照すると、照合要求装置500は、照合データ生成部501と、部分照合データ生成部502と、部分照合データ暗号化部503と、照合データ暗号化部504と、照合クエリ送付部505と、通信IF506を備えている。照合データ生成部501は、照合対象の平文データ(「平文照合データ」と呼ぶ)を生成する。部分照合データ生成部502は、平文照合データを入力として、部分照合データを生成する。部分照合データ暗号化部503は、部分照合データと、鍵生成装置400が生成した公開鍵を入力とし、暗号化部分照合データを生成する。照合データ暗号化部504は、平文照合データと、鍵生成装置400が生成した公開鍵とを入力とし、暗号化平文照合データを生成する。照合クエリ送付部505は、暗号化照合データと、暗号化部分照合データを入力とし、照合クエリを生成し、通信IF506を介して照合装置600へ送付する。
Referring to FIG. 4A,
図4(B)を参照すると、照合装置600は、暗号化部分距離生成部601と、部分データ照合補助依頼部602と、暗号化照合データ距離生成部603と、照合補助依頼部604と、照合処理部605と、照合クエリ受信部606と、通信IF607を備えている。暗号化部分距離生成部601は、記憶装置300の暗号化部分データ記憶部301に記憶された暗号化部分登録データと、照合クエリに含まれる、暗号化部分照合データを入力として、暗号化部分距離を生成する。部分データ照合補助依頼部602は、暗号化部分距離を入力として、部分データ照合補助依頼を生成する。暗号化照合データ距離生成部603は、部分データ照合補助依頼に従って照合補助装置700が生成した部分データ照合補助結果と、部分データ照合補助結果に対応し、記憶装置300に記憶された暗号化登録データを入力とし、照合データと登録データとの間の距離の暗号文である暗号化距離を生成する。照合補助依頼部604は、暗号化距離を入力として、照合補助依頼を生成する。照合処理部605は、照合補助依頼に従って、照合補助装置700が生成した照合補助結果を通信IF607を介して入力として、照合結果を生成する。
Referring to FIG. 4B, the
図5を参照すると、照合補助装置700は、鍵記憶部701と、部分データ照合補助部702と、照合補助部703と、通信IF704を備えている。
Referring to FIG. 5, the
鍵記憶部701は、鍵生成装置400が生成した秘密鍵を通信IF704を介して受信し、記憶する。部分データ照合補助部702は、鍵記憶部701に記憶された秘密鍵と、照合装置600から送付された部分データ照合補助依頼とを入力とし、部分データ照合補助結果を生成する。部分データ照合補助部702は、鍵記憶部701に記憶された秘密鍵と、照合装置600から送付され通信IF704を介して受信した照合補助依頼を入力とし、照合補助結果を生成する。
The
次に、本実施形態の動作について説明する。本実施形態の暗号文照合システムの動作は、登録セットアップフェイズと、データ登録フェイズと、照合セットアップフェイズと、暗号文照合フェイズの4つのフェイズに大別される。 Next, the operation of this embodiment will be described. The operation of the ciphertext verification system of this embodiment is roughly divided into four phases: a registration setup phase, a data registration phase, a verification setup phase, and a ciphertext verification phase.
登録セットアップフェイズは、鍵生成装置400にセキュリティパラメータを入力し、準同型暗号の公開鍵と秘密鍵を生成し、各装置に必要な鍵を送付するフェイズである。
The registration setup phase is a phase in which security parameters are input to the
照合セットアップフェイズは、鍵生成装置400が登録セットアップフェイズで生成した公開鍵と秘密鍵を、各装置に送付するフェイズである。
The collation setup phase is a phase in which the
データ登録フェイズは、登録データ生成装置100が生成した平文の登録データと、平文の登録データの一部である平文の部分登録データ(「部分平文登録データ」とも称する)を暗号化し、記憶装置300に登録するフェイズである。
The data registration phase encrypts plaintext registration data generated by the registration
暗号文照合フェイズは、照合要求装置500が生成した平文の照合データを秘匿しながら、入力データが、記憶装置300に記憶されている暗号データの平文と近い(ある種の距離が小さい)ものであるかを判定するフェイズである。以下、各フェイズにおける動作に関して詳細に説明する。
The ciphertext verification phase is a method in which the input data is close to the plaintext of the encrypted data stored in the storage device 300 (a certain distance is small) while concealing the plaintext verification data generated by the
<登録セットアップフェイズ>
図6は、登録セットアップフェイズを例示する図である。鍵生成装置400の鍵生成部401は、セキュリティパラメータkを入力とし準同型暗号の公開鍵および秘密鍵を生成し(ステップS101)、通信IF402を介して、公開鍵を登録データ生成装置100と登録装置200に送付する(ステップS102、S103)。
<Registration setup phase>
FIG. 6 is a diagram illustrating a registration setup phase. The
平文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暗号等が知られている。
Encryption function ENC of homomorphic encryption method for addition or multiplication for plaintext m1 and m2
With respect to
ENC (pk, m1) (+) ENC (pk, m2) = ENC (pk, m1 + m2) (additive homomorphism) or
ENC (pk, m1) (*) ENC (pk, m2) = ENC (pk, m1 * m2) (multiplicative homomorphism)
Holds. Here, (+) and (*) are binary operators determined by the encryption method. As homomorphic encryption methods, RSA (Rivest Shamir Adleman) encryption used for multiplication, additive Elgamal encryption used for addition, and the like are known.
<データ登録フェイズ>
図7は、データ登録フェイズを例示する図である。
<Data registration phase>
FIG. 7 is a diagram illustrating a data registration phase.
登録データ生成装置100の登録データ生成部101が、平文登録データを生成する(ステップS201)。
The registration
次に、部分登録データ生成部102が、平文登録データから部分平文登録データを生成する(ステップS202)。
Next, the partial registration
次に、部分登録データ暗号化部103が、部分平文登録データと、鍵生成装置400が生成した公開鍵を入力とし、暗号化部分登録データを生成する(ステップS203)。
Next, the partial registration
次に、登録データ暗号化部104が、平文登録データと、公開鍵を入力とし、暗号化登録データを生成する(ステップS204)。
Next, the registration
次に、登録データ送付部105が、暗号化部分登録データと、暗号化登録データを入力とし、暗号化部分登録データと、暗号化登録データを含む登録データを生成する(ステップS205)。
Next, the registration
登録データ送付部105は、通信IF106を介して登録データを登録装置200へ送付する(ステップS206)。
The registration
登録装置200の登録処理部201は、受信した登録データに含まれる暗号化部分登録データを、通信IF203を介して記憶装置300の暗号化部分データ記憶部301に記憶し(ステップS207)、暗号化登録データを通信IF203を介して記憶装置300の暗号化データ記憶部302にそれぞれ記憶する(ステップS209)。
The
<照合セットアップフェイズ>
図8は、照合セットアップフェイズを例示する図である。鍵生成装置400は、登録セットアップフェイズで生成した準同型暗号の公開鍵を通信IF402を介して、照合要求装置500、照合装置600、照合補助装置700に送信する(ステップS301〜S303)。また、鍵生成装置400は、登録セットアップフェイズで生成した準同型暗号の秘密鍵を通信IF402を介して照合補助装置700に送付する(ステップS304)。
<Verification setup phase>
FIG. 8 is a diagram illustrating the collation setup phase. The
照合補助装置700は、通信IF704を介して受信した秘密鍵を鍵記憶部701に記憶する(ステップS305)。
The verification
<暗号文照合フェイズ>
図9は、暗号文照合フェイズを例示する図である。照合要求装置500の照合データ生成部501が平文照合データを生成する(ステップS401)。
<Ciphertext verification phase>
FIG. 9 is a diagram illustrating the ciphertext verification phase. The collation
次に、部分照合データ生成部502が、照合データ生成部501で生成した平文照合データを入力として、部分照合データを生成する(ステップS402)。
Next, the partial collation
次に、部分照合データ暗号化部503が、部分照合データ生成部502が生成した部分照合データと、鍵生成装置400が生成した公開鍵を入力として、暗号化部分照合データを生成する(ステップS403)。
Next, the partial collation
次に、照合データ暗号化部504が、照合データ生成部501で生成した平文照合データと公開鍵を入力として、暗号化照合データを生成する(ステップS404)。
Next, the collation
次に、照合クエリ送付部505が、部分照合データ暗号化部503が生成した暗号化部分照合データと、照合データ暗号化部504が生成した暗号化照合データを入力として、暗号化部分照合データと、暗号化照合データを含む照合クエリを生成する(ステップS405)。
Next, the verification
照合クエリ送付部505は、照合クエリを、通信IF506を介して照合装置600へ送付する(ステップS406)。
The verification
次に、照合クエリを受信した照合装置600の暗号化部分距離生成部601は、照合クエリに含まれる暗号化部分照合データと、記憶装置300の暗号化部分データ記憶部301に記憶された暗号化部分登録データと、公開鍵を入力として、暗号化部分距離を生成する(ステップS407)。ここで、暗号化部分データ記憶部301に、複数のデータが記憶されている場合には、ステップS407を複数回行ってもよい。この場合、次の部分データ照合補助依頼部602への入力は、複数個の暗号化部分距離になる。
Next, the encrypted partial distance generation unit 601 of the
次に、照合装置600の部分データ照合補助依頼部602は、暗号化部分距離を入力として、部分データ照合補助依頼を生成する(ステップS408)。
Next, the partial data verification
部分データ照合補助依頼部602は、部分データ照合補助依頼を、照合補助装置700に送付する(ステップS409)。
The partial data verification
部分データ照合補助依頼を受信した照合補助装置700の部分データ照合補助部702は、部分データ照合補助依頼と、鍵記憶部701に記憶された秘密鍵を入力とし、部分データ照合補助結果を生成し(ステップS410)、通信IF704を介して照合装置600に送付する(ステップS411)。
Upon receiving the partial data verification assistance request, the partial data
部分データ照合補助結果を受信した照合装置600の暗号化照合データ距離生成部603は、部分データ照合補助結果によって定められた暗号化登録データを、記憶装置300の暗号化データ記憶部302から受信し、照合クエリに含まれる暗号化照合データZと、暗号化登録データZ'と、公開鍵pkを入力とし、暗号化距離ENC(pk, d(Z,Z'))を生成する(ステップS412)。
The encrypted verification data
次に、照合装置600の照合補助依頼部604は、暗号化距離を入力とし、照合補助依頼を生成し(ステップS413)、照合補助装置700に送付する(ステップS414)。
Next, the verification
照合補助依頼を受信した照合補助装置700の照合補助部703は、鍵記憶部701に記憶された秘密鍵と、照合補助依頼を入力とし、照合補助結果を生成し(ステップS415)、照合装置600に送付する(ステップS416)。
The
照合補助結果を受信した照合装置600の照合処理部605は、照合結果を生成し(ステップS417)出力する(ステップS418)
The
<実施例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))のうち三角不等式を満たさないが、本実施例で用いるようなマッチ判定には利用できることが知られている。
<Example 1>
Next, the exemplary embodiment described above will be described with reference to more detailed examples. In this embodiment, the square n-dimensional Euclidean distance is used as the distance. That is,
Two n-dimensional vectors
X = (x [1], x [2],…, x [n])
Y = (y [1], y [2],…, y [n]
)
The distance d (X, Y) between X and Y is
d (X, Y) = [(x [1] -y [1]) ^ {2} + (x [2] -y [2]) ^ {2} +… + (x [n] -y [ n]) ^ {2}]
It is defined as This square n-dimensional Euclidean distance is a conditional expression that defines the distance (1. (Nonnegative): d (X, Y)> = 0, X = Y ⇒ d (X, Y) = 0, 2. (Symmetry) ): D (X, Y) = d (Y, X), 3. (triangular inequality): d (X, Y) + d (Y, Z)> = d (X, Y)) Although not satisfied, it is known that it can be used for match determination as used in the present embodiment.
d(X,Y)が閾値t以下である場合に、XとYは、近いと判定し、閾値tよりも大きい場合には、XとYは遠いと判定するものとする。本実施例では、XとYが近い場合は、マッチしたと判定し(照合受理)、遠い場合には、マッチしなかったと判定する(照合不受理)。 When d (X, Y) is equal to or smaller than the threshold t, X and Y are determined to be close, and when larger than the threshold t, X and Y are determined to be far. In the present embodiment, when X and Y are close, it is determined that they match (match acceptance), and when they are far away, it is determined that they do not match (check non-acceptance).
特に制限されるものではないが、本実施例では、Somewhat凖同型暗号を利用する。Somewhat 準同型暗号とは、暗号化したまま任意回の平文の加算や定数回の乗算を計算できる暗号である。Somewhat準同型暗号は、鍵生成KeyGen,暗号化Enc,復号Dec,準同型加算HomAdd,準同型乗算HomMulの5つのアルゴリズムからなる。以下にそれぞれを説明する。 Although not particularly limited, in this embodiment, Somewhat homomorphic encryption is used. Somewhat homomorphic cipher is a cipher that can calculate an arbitrary number of plaintext additions and a constant number of multiplications while encrypted. Somewhat homomorphic encryption consists of five algorithms: key generation KeyGen, encryption Enc, decryption Dec, homomorphic addition HomAdd, and homomorphic multiplication HomMul. Each will be described below.
鍵生成KeyGen:セキュリティパラメータ1^kを入力とし、公開鍵pk, 秘密鍵skを出力する。
(pk, sk)←KeyGen(1^k)
と記す。
Key generation KeyGen: The
(pk, sk) ← KeyGen (1 ^ k)
.
暗号化Enc:公開鍵pk、メッセージMを入力とし、暗号文Cを出力する。
C←Enc(pk, M)と記す。
Encryption Enc: Public key pk and message M are input and ciphertext C is output.
C ← Enc (pk, M).
復号Dec:秘密鍵sk、暗号文Cを入力とし、メッセージMを出力する。
M←Dec(sk, C)
と記す。
Decryption Dec: Secret key sk and ciphertext C are input, and message M is output.
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)
と記す。
Homomorphic addition HomAdd:
Using public key pk, ciphertext C_1 ← Enc (pk, M_1) and C_2 ← Enc (pk, M_2) as inputs,
Ciphertext C_3 ← Enc (pk, M_1 + M_2) is output. this,
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)
と記す。
Homomorphic multiplication HomMul: Using public key pk and ciphertext C_1 ← Enc (pk, M_1) and C_2 ← Enc (pk, M_2) as inputs
Ciphertext C_3 ← Enc (pk, M_1 ・ M_2)
Is output. this,
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を暗号化したまま計算できる。
When using somewhat homomorphic encryption, two n-dimensional vectors
X = (x [1], x [2],…, x [n]) and
Y = (y [1], y [2],…, y [n])
Ciphertext:
Enc (pk, X) = (Enc (pk, x [1]), Enc (pk, x [2]),…, Enc (pk, x [n])) and
Enc (pk, Y) = (Enc (pk, y [1]), Enc (pk, y [2]), ..., Enc (pk, y [n]))
Against
The ciphertext Enc (pk, d (X, Y)) of the distance between X and Y can be calculated with X and Y encrypted.
本実施例における各フェイズの動作について図面を参照して以下に説明する。 The operation of each phase in the present embodiment will be described below with reference to the drawings.
セキュリティパラメータ1^kを入力とした鍵生成装置400の鍵生成部401が、Somewhat準同型暗号の鍵生成アルゴリズムKeyGen(1^k)を実行して公開鍵pkおよび秘密鍵skを生成し、公開鍵pkを登録データ生成装置100、登録装置200に送付する(図6のステップS101からS102)。
The
<データ登録フェイズ>
登録データ生成装置100の登録データ生成部101が、平文登録データX=(x[1],…,x[n])を生成する(図7のステップS201)。
<Data registration phase>
The registration
次に、部分登録データ生成部102が、平文登録データX=(x[1],…,x[n])から、部分平文登録データX’=(x’[1],…,x’[m])を生成する(図7のステップS202)。
Next, the partial registration
このとき,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]}の部分集合とすれば、容易に生成できる。ただし、上記と異なる方法で生成してもよい。 At this time, if n> m, partial plaintext registration data may be generated by any method, but if X and Y are close to a certain integer (threshold value) t ′ <= t (distance d (X, Y) <t), and the distance d (X ′, Y ′) between the respective partial data X ′ and Y ′ is set to be equal to or less than t ′. For example, if t ′ = t and {x ′ [1],..., X ′ [m]} is a subset of {x [1],. However, you may produce | generate by the method different from the above.
次に、部分登録データ暗号化部103が、部分平文登録データX’と、鍵生成装置400が生成した公開鍵pkを入力とし、以下の手順で暗号化部分登録データENC(X’)を生成する(図7のステップS203)。
Next, the partial registration
<登録セットアップフェイズ>
1. i=1,…,mに対して、
enc_x’[i]=Enc(pk,x’[i])
を計算する。
<Registration setup phase>
1. For i = 1, ..., m,
enc_x '[i] = Enc (pk, x' [i])
Calculate
2. ENC(X’)=(enc_x’[1],…,enc_x’[m])
とする。
2. ENC (X ') = (enc_x' [1],…, enc_x '[m])
And
次に、登録データ暗号化部104が、平文登録データXと、鍵生成装置400が生成した公開鍵pkを入力とし、以下の手順で暗号化登録データENC(X)を生成する(図7のステップS204)。
Next, the registration
1. i=1,…,nに対して、
enc_x[i]=Enc(pk,x[i])
を計算する。
1. For i = 1, ..., n,
enc_x [i] = Enc (pk, x [i])
Calculate
2. ENC(X)=(enc_x[1],…,enc_x[n])
とする。
2. ENC (X) = (enc_x [1],…, enc_x [n])
And
3. 次に、登録データ送付部105が、暗号化部分登録データENC(X’)と、暗号化登録データENC(X)を入力とし、暗号化部分登録データと、暗号化登録データを含む登録データ(ENC(X), ENC(X)’)を生成し(図7のステップS205)、登録装置200へ送信し(図7のステップS206)、登録装置200は、暗号化部分登録データと、暗号化登録データを記憶装置300へ送付する(図7のステップS207、S208)。
3. Next, the registration
記憶装置300は、受信した登録データに含まれる暗号化部分登録データを暗号化部分データ記憶部301に、暗号化登録データを暗号化データ記憶部302に、それぞれ記憶する(図7のステップS209)。
The
<照合セットアップフェイズ>
登録セットアップフェイズで鍵生成装置400が生成した準同型暗号の公開鍵pkを照合要求装置500、照合装置600、照合補助装置700にそれぞれ送付し(図8のステップS301〜S303)、秘密鍵skを照合補助装置700に送付する(図8のステップS304)。
<Verification setup phase>
The homomorphic encryption public key pk generated by the
照合補助装置700は、受信した秘密鍵skを鍵記憶部701に記憶する(図8のステップS305)。
The verification
<暗号文照合フェイズ>
照合要求装置500の照合データ生成部501が平文照合データ
Y=(y[1],…,y[n])
を生成する(図9のステップS401)。
<Ciphertext verification phase>
The collation
Y = (y [1],…, y [n])
Is generated (step S401 in FIG. 9).
次に、部分照合データ生成部502が、平文照合データYを入力として、部分照合データY’=(y’[1],…,y’[m])を生成する(図9のステップS402)。ここで、Y’はデータ登録フェイズのステップS202(図7)と同じ方法で生成するものとする。
Next, the partial collation
次に、部分照合データ暗号化部503が、部分照合データY’と、鍵生成装置400が生成した公開鍵pkを入力として、暗号化部分照合データENC(Y’)を以下の手順で生成する(図9のステップS403)。
Next, the partial verification
1. i=1,…,mに対して、
enc_y’[i]=Enc(pk, y’[i])
とする。
1. For i = 1, ..., m,
enc_y '[i] = Enc (pk, y' [i])
And
2. ENC(Y’)=(enc_y’[1],…,enc_y’[m])とする。 2. ENC (Y ′) = (enc_y ′ [1],..., Enc_y ′ [m]).
次に、照合データ暗号化部504が、平文照合データYと、公開鍵pkを入力として、暗号化照合データENC(Y)を以下の手順で生成する(図9のステップS404)。
Next, the verification
3. i=1,…,nに対して、
enc_y[i]=Enc(pk, y[i])
とする。
3. For i = 1, ..., n,
enc_y [i] = Enc (pk, y [i])
And
4. ENC(Y)=(enc_y[1],…,enc_y[n])
とする。
4. ENC (Y) = (enc_y [1],…, enc_y [n])
And
次に、照合クエリ送付部505が、暗号化部分照合データENC(Y’)と、暗号化照合データENC(Y)を入力として、暗号化部分照合データENC(Y’)と、暗号化照合データENC(Y)を含む照合クエリ(ENC(Y), ENC(Y’))を生成し(図9のステップS405)、照合装置600へ送付する(図9のステップS406)。
Next, the verification
次に、照合クエリ(ENC(Y), ENC(Y’))を受信した照合装置600の暗号化部分距離生成部601は、照合クエリに含まれる暗号化部分照合データENC(Y’)と、記憶装置300の暗号化部分データ記憶部301に記憶された暗号化部分登録データENC(X’)と、公開鍵pkを入力として、以下の手順で暗号化部分距離ENC(d’)を生成する(図10のステップS407)。
Next, the encrypted partial distance generation unit 601 of the
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)
を計算する。
1. For i = 1, ..., m
(a) Using homomorphic addition HomAdd,
From Enc (pk, x '[i]) and Enc (pk, y' [i])
Enc (pk, x '[i] -y' [i])
Calculate
(b) Using homomorphic multiplication HomMul,
From Enc (pk, x '[i] -y' [i])
Enc (pk, (x '[i] -y' [i]) ^ 2)
Calculate
2. 準同型加算HomAddを使って、
Enc(pk, (x’[1]-y’[1])^2),…, Enc(pk, (x’[m]-y’[m])^2)から、
ENC(d’)=Enc(pk, d(X’,Y’))
を計算する。
2. Using homomorphic addition HomAdd,
From Enc (pk, (x '[1] -y' [1]) ^ 2), ..., Enc (pk, (x '[m] -y' [m]) ^ 2)
ENC (d ') = Enc (pk, d (X', Y '))
Calculate
ここで、暗号化部分データ記憶部301に複数のデータが記憶されている場合、ステップS407を複数回行ってもよい。その場合、次の部分データ照合補助依頼部602への入力は、複数個の暗号化部分距離{ENC(d’)}になる。簡単のため、以下では1つのENC(d’)について説明する。複数個の暗号化部分距離の場合にも容易に適用できる。
Here, when a plurality of data are stored in the encrypted partial
次に、部分データ照合補助依頼部602は、暗号化部分距離ENC(d’)を入力として、部分データ照合補助依頼(ENC(d’))を生成し(図10のステップS408)、照合補助装置700に送付する(図10のステップS409)。
Next, the partial data verification
次に、部分データ照合補助依頼(ENC(d’))を受信した照合補助装置700の部分データ照合補助部702は、部分データ照合補助依頼(ENC(d’))と、鍵記憶部701に記憶された秘密鍵skを入力とし、準同型暗号の復号Dec(sk, ENC(d’))を計算する(図10のステップS410)。
Next, the partial data verification
照合補助装置700の部分データ照合補助部702は、
復号結果が閾値t’以下であった場合、部分照合受理を、
そうでなかった場合部分照合不受理を、
部分データ照合補助結果Result_y’とし、照合装置600に送付する(図10のステップS411)。
The partial data verification
If the decryption result is less than or equal to the threshold t ′, the partial matching acceptance is
If not, reject partial verification
The partial data collation auxiliary result Result_y ′ is sent to the collation apparatus 600 (step S411 in FIG. 10).
次に、部分データ照合補助結果Result_y’を受信した照合装置600の暗号化照合データ距離生成部603は、部分データ照合補助結果Result_y’が不受理であったら不受理を出力して以降の動作を停止する。
Next, the encrypted collation data
部分データ照合補助結果Result_y’が受理であった場合、対応する暗号化登録データENC(X)を、記憶装置300の暗号化データ記憶部302から受信し、前記照合クエリに含まれる暗号化照合データENC(Y)と、前記暗号化登録データENC(X)と、前記公開鍵pkを入力とし、以下の通りに暗号化距離ENC(d)を生成する(図10のステップS412)。
If the partial data verification auxiliary result Result_y ′ is accepted, the corresponding encrypted registration data ENC (X) is received from the encrypted
ここで、部分データ照合補助依頼が複数個の暗号文であった場合、部分データ照合補助結果は、どの暗号化部分距離が部分照合受理であったかがわかる情報(例えばデータのIDやインデックスなど)とすることができる。 Here, when the partial data verification assistance request is a plurality of ciphertexts, the partial data verification assistance result includes information (for example, data ID and index) that indicates which encrypted partial distance is the partial verification acceptance. can do.
この場合、データのID等は部分データ照合補助依頼に含まれているものとする。 In this case, the data ID and the like are included in the partial data verification assistance request.
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)
を計算する。
1. For i = 1, ..., n
(a) Using homomorphic addition HomAdd,
From Enc (pk, x [i]) and Enc (pk, y [i])
Enc (pk, x [i] -y [i])
Calculate
(b) Using homomorphic multiplication HomMul,
From Enc (pk, x [i] -y [i])
Enc (pk, (x [i] -y [i]) ^ 2)
Calculate
2. 準同型加算HomAddを使って、
Enc(pk, (x[1]-y[1])^2),…, Enc(pk, (x[n]-y[n])^2)から、
ENC(d)=Enc(pk, d(X,Y))
を計算する。
2. Using homomorphic addition HomAdd,
From Enc (pk, (x [1] -y [1]) ^ 2), ..., Enc (pk, (x [n] -y [n]) ^ 2)
ENC (d) = Enc (pk, d (X, Y))
Calculate
次に、照合装置600の照合補助依頼部604は、暗号化距離ENC(d)を入力とし、照合補助依頼(ENC(d))を生成し(図10のステップS413)、照合補助装置700に送付する(図10のステップS414)。
Next, the verification
照合補助依頼(ENC(d))を受信した照合補助装置700の照合補助部703は、鍵記憶部701に記憶された秘密鍵skと、照合補助依頼(ENC(d))を入力とし、準同型暗号の復号
Dec(sk, ENC(d))を実行する。
Upon receiving the verification assistance request (ENC (d)), the
Execute Dec (sk, ENC (d)).
復号結果dが閾値t以下であったら、受理を、
復号結果dが閾値tを超えていたら、不受理を
照合補助結果Result_yとし(図11のステップS415)、
照合補助結果Result_yを照合装置600に送付する(図11のステップS416)。
If the decryption result d is less than or equal to the threshold t, accept
If the decryption result d exceeds the threshold t, the rejection is set as a verification auxiliary result Result_y (step S415 in FIG. 11).
The verification auxiliary result Result_y is sent to the verification device 600 (step S416 in FIG. 11).
照合補助結果Result_yを受信した照合装置600の照合処理部605は、
Result_yが受理であったら、照合受理を、
Result_yが受理でなかったら、照合不受理を照合結果Resultとし生成し(図11のステップS417)、
照合結果を照合要求装置500に出力する(図11のステップS418)。
The
If Result_y is accepted, accept verification
If Result_y is not accepted, a verification rejection is generated as a verification result Result (step S417 in FIG. 11).
The collation result is output to collation requesting device 500 (step S418 in FIG. 11).
また、本実施形態では、二乗ユークリッド距離の例を挙げたが、他の距離(ハミング距離、マハラノビス距離など)にも容易に適用可能である。 In this embodiment, an example of the square Euclidean distance has been described, but the present invention can be easily applied to other distances (such as a Hamming distance and a Mahalanobis distance).
また、本実施形態では、部分データも暗号化された例について説明したが、部分データを暗号化しない場合であってもよい。 In this embodiment, the example in which the partial data is also encrypted has been described. However, the partial data may not be encrypted.
その場合は、照合装置が、照合時に、平文部分データと平文照合データとの距離を計算し、部分データの受理・不受理を判断できる。 In this case, the collation device can calculate the distance between the plaintext partial data and the plaintext collation data at the time of collation, and determine whether the partial data is accepted or not.
前記実施形態では、部分データを暗号化しているが、変形例として、部分データを暗号化しない場合を以下に説明する。 In the embodiment, the partial data is encrypted. However, as a modification, a case where the partial data is not encrypted will be described below.
<実施形態の変形例1>
図12、図13は、この変形例の構成を説明する図である。図12に示すように、登録データ生成装置100Aは、部分登録データ暗号部103を備えていず、登録データ送付部105が、暗号化登録データと平文の部分登録データを、登録装置200に送信する。また、照合要求装置500Aは、部分照合データ暗号化部503を備えていず、照合クエリ送付部505は、暗号化照合データと平文の部分照合データを入力としてクエリを生成し照合装置600に送信する。図13を参照すると、照合装置600は、暗号化部分距離生成部601、部分データ照合補助依頼部602を備えていず、平文の部分登録データと平文の部分照合データとの間の距離が所定の閾値(t')以下であるか判別し、部分照合受理、不受理を出力する平文部分データ照合処理部608を備えている。なお図3(A)の記憶装置300の暗号化部分データ記憶部301は、平文の部分登録データを記憶する記憶部に置き換えられる。
<
12 and 13 are diagrams for explaining the configuration of this modification. As illustrated in FIG. 12, the registration data generation device 100A does not include the partial registration
変形例では、図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の処理が実行される。
In the modification, the process of step S203 of FIG. 7 is deleted, and in step S205, the registration data includes encrypted registration data and plaintext partial registration data. In step S207, the plaintext partial registration data is transferred to the
<実施形態の変形例2>
同様に、登録時と照合時のいずれか一方だけ、部分平文データを暗号化するようにしてもよい。この場合、照合装置600(図4(B))において、例えば暗号化部分距離生成部601は削除され、部分データ照合補助依頼部602は、部分登録データと部分照合データのうちの一方の平文の部分データと、部分登録データと部分照合データのうちの他方の暗号化部分データの部分データ照合補助依頼を、照合補助装置700に依頼する。照合補助装置700の部分データ照合補助部702(図5)では、部分登録データと部分照合データの前記他方の暗号化部分データを、秘密鍵を用いて復号した上で、部分登録データと部分照合データの前記一方の平文の部分データとの間の距離を求める。部分データ照合補助部702(図5)では、該距離が閾値(t’)以下である場合には、部分照合受理を、該距離が閾値(t’)を上回る場合には、部分照合不受理を照合装置600に送信するようにしてもよい。これ以降の照合装置600の処理と、照合補助装置700による暗号化照合データと暗号化登録データの照合処理は、前述した実施形態と同様であるため説明は省略する。
<
Similarly, partial plaintext data may be encrypted only during registration or during verification. In this case, in the collation apparatus 600 (FIG. 4B), for example, the encrypted partial distance generation unit 601 is deleted, and the partial data collation
さらに、非特許文献2や非特許文献3には、登録データと照合データ間の距離を秘匿したまま照合を行う方法が記載されており、本発明はこれらの方式とも組み合わせ可能である。
Further,
上記実施形態は、特徴量として多値ベクトルを用いる生体認証への適用が可能である。
挙げられる。
The above embodiment can be applied to biometric authentication using a multi-value vector as a feature quantity.
Can be mentioned.
例えば、データ登録フェイズにおいて登録データ生成装置100が入力するデータと、暗号文照合フェイズにおいて照合要求装置500が入力するデータを、指紋センサや静脈センサで取得した生体情報から抽出された特徴量(特徴ベクトル)とすることで、生体情報を秘匿したまま、記憶装置に格納された暗号化された生体データと、照合要求装置から送出された暗号化された生体データが、同一人物から採取されたものであるか否かを、2つの入力データの距離が一定数以下となるかどうかにより判定することが可能となる。特に、生体情報は、常に安定して同一のデータが取得できるわけではないことが知られており、同じ人物から取得されるデータが類似している(各要素の距離が小さいデータが取得できる)と仮定できるため、生体認証へ適用して好適とされる。
For example, the feature quantity (features) extracted from the biometric information acquired by the fingerprint sensor or the vein sensor between the data input by the registration
なお、上記の特許文献1−5、非特許文献1−3の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各付記の各要素、各実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ乃至選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。 The disclosures of Patent Documents 1-5 and Non-Patent Documents 1-3 are incorporated herein by reference. Within the scope of the entire disclosure (including claims) of the present invention, the embodiments and examples can be changed and adjusted based on the basic technical concept. Various disclosed elements (including elements in each supplementary note, elements in each embodiment, elements in each drawing, and the like) can be combined and selected within the scope of the claims of the present invention. That is, the present invention of course includes various variations and modifications that could be made by those skilled in the art according to the entire disclosure including the claims and the technical idea.
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)
1
3 Storage device 4 I /
200
300
400
500, 500A
600, 600A Verification device 601 Encrypted partial
608 Plain text partial data
Claims (10)
照合対象の平文データを暗号化した暗号化照合データを生成し、前記照合対象の平文データの部分に対応する部分照合データを生成する第2の手段と、
前記部分照合データとの間の距離が予め定められた値以下である前記部分登録データに対応する前記暗号化登録データに対して前記暗号化照合データとの照合を行う第3の手段と、
を含む、ことを特徴とする照合システム。 Generating encrypted registration data obtained by encrypting plaintext data to be registered, generating partial registration data corresponding to a portion of the plaintext data to be registered, and registering in a storage device;
Second means for generating encrypted collation data obtained by encrypting the plaintext data to be collated and generating partial collation data corresponding to the portion of the plaintext data to be collated;
A third means for collating the encrypted registration data corresponding to the partial registration data corresponding to the partial registration data having a distance between the partial verification data and a predetermined value or less;
A collation system characterized by including.
前記登録対象の平文データ及び平文の部分登録データを、鍵生成装置で生成された準同型暗号の公開鍵でそれぞれ暗号化し、前記暗号化登録データと暗号化部分登録データを生成する登録データ生成装置と、
前記暗号化登録データと前記暗号化部分登録データを前記記憶装置に登録する登録装置と、
を備え、
前記第2の手段は、
前記照合対象の平文データと平文の部分照合データを前記準同型暗号の公開鍵でそれぞれ暗号化し、前記暗号化照合データと暗号化部分照合データを生成する照合要求装置を備え、
前記第3の手段は、
前記暗号化部分照合データと前記暗号化部分登録データを暗号化したまま距離を計算する照合装置と、
前記照合装置から、前記暗号化された距離を受け、前記鍵生成装置で生成された準同型暗号の秘密鍵を用いて前記距離を復号し、前記距離が予め定められた値以下であるか否かを判定する照合補助装置と、
を備え、
前記照合装置は、
前記部分照合データと前記部分登録データとの間の距離が予め定められた第1の値以下である場合、前記暗号化照合データと前記暗号化登録データを暗号化したまま距離を計算し、
前記照合補助装置は、前記照合装置から、前記暗号化された距離を受け、前記準同型暗号の秘密鍵を用いて、前記距離を復号し、前記距離が予め定められた第2の値以下であるか否かを判定する、ことを特徴とする請求項1に記載の照合システム。 The first means includes
A registration data generation device that encrypts the plaintext data to be registered and the partial registration data of plaintext with a public key of a homomorphic encryption generated by a key generation device, and generates the encrypted registration data and the encrypted partial registration data When,
A registration device for registering the encrypted registration data and the encrypted partial registration data in the storage device;
With
The second means includes
The verification request device generates the encrypted verification data and the encrypted partial verification data by encrypting the plaintext data to be verified and the partial verification data of the plaintext respectively with the public key of the homomorphic encryption,
The third means includes
A verification device that calculates a distance while encrypting the encrypted partial verification data and the encrypted partial registration data;
Receiving the encrypted distance from the verification device, decrypting the distance using a secret key of the homomorphic encryption generated by the key generation device, and whether the distance is equal to or less than a predetermined value A verification auxiliary device for determining whether or not
With
The verification device is
When the distance between the partial verification data and the partial registration data is equal to or less than a predetermined first value, the distance is calculated while the encrypted verification data and the encrypted registration data are encrypted,
The verification assisting device receives the encrypted distance from the verification device, decrypts the distance using a secret key of the homomorphic encryption, and the distance is equal to or less than a predetermined second value. The collation system according to claim 1, wherein it is determined whether or not there is any.
前記登録対象の平文データを、鍵生成装置で生成された準同型暗号の公開鍵で暗号化し、前記暗号化登録データと平文の部分登録データを生成する登録データ生成装置と、
前記暗号化登録データと前記平文の部分登録データを前記記憶装置に登録する登録装置と、
を備え、
前記第2の手段は、
前記照合対象の平文データを前記準同型暗号の公開鍵で暗号化し、前記暗号化照合データを生成する照合要求装置を備え、
前記第3の手段は、
平文の部分照合データと前記平文の部分登録データとの間の距離を計算する平文部分データ照合処理部を備え、
前記平文の部分照合データと平文の部分登録データとの間の距離が予め定められた第1の値以下である場合、前記暗号化照合データと前記暗号化登録データを暗号化したまま距離を計算する照合装置と、
前記照合装置から、前記暗号化された距離を受け、前記鍵生成装置で生成された準同型暗号の秘密鍵を用いて、前記距離を復号し、前記距離が予め定められた第2の値以下であるか否かを判定する照合補助装置を備えた、ことを特徴とする請求項1に記載の照合システム。 The first means includes
A registration data generation device that encrypts the plaintext data to be registered with a public key of a homomorphic encryption generated by a key generation device, and generates the encrypted registration data and plaintext partial registration data;
A registration device for registering the encrypted registration data and the plaintext partial registration data in the storage device;
With
The second means includes
A verification request device that encrypts the plaintext data to be verified with the public key of the homomorphic encryption and generates the encrypted verification data;
The third means includes
A plaintext partial data matching processing unit for calculating a distance between the plaintext partial matching data and the plaintext partial registration data;
When the distance between the plaintext partial verification data and the plaintext partial registration data is equal to or less than a predetermined first value, the distance is calculated while the encrypted verification data and the encrypted registration data are encrypted. A matching device to
The encrypted distance is received from the verification device, and the distance is decrypted using the secret key of the homomorphic encryption generated by the key generation device, and the distance is equal to or less than a predetermined second value. The collation system according to claim 1, further comprising a collation assisting device that determines whether or not.
照合対象の平文データを暗号化した暗号化照合データを生成し、前記照合対象の平文データの部分に対応する部分照合データを生成する第2のステップと、
前記部分照合データとの間の距離が予め定められた値以下である前記部分登録データに対応する前記暗号化登録データに対して前記暗号化照合データとの照合を行う第3のステップと、
を含む、ことを特徴とする照合方法。 Generating encrypted registration data obtained by encrypting plaintext data to be registered, generating partial registration data corresponding to a portion of the plaintext data to be registered, and registering them in a storage device;
A second step of generating encrypted collation data obtained by encrypting the plaintext data to be collated, and generating partial collation data corresponding to a portion of the plaintext data to be collated;
A third step of collating the encrypted registration data corresponding to the partial registration data corresponding to the partial registration data with a distance between the partial verification data and a predetermined value or less;
The collation method characterized by including.
前記登録対象の平文データ及び平文の部分登録データを準同型暗号の公開鍵でそれぞれ暗号化して、前記暗号化登録データと暗号化部分登録データを生成して前記記憶装置に登録し、
前記第2のステップでは、
前記照合対象の平文データと平文の部分照合データを前記準同型暗号の公開鍵でそれぞれ暗号化して前記暗号化照合データ及び暗号化部分照合データを生成し、
前記第3のステップでは、
前記暗号化部分照合データと前記暗号化部分登録データを暗号化したまま距離を計算して照合を依頼し、
前記部分照合データと前記部分登録データとの間の距離が予め定められた第1の値以下である場合、
前記暗号化照合データと前記暗号化登録データを暗号化したまま距離を計算して照合を依頼し、
前記暗号化照合データと前記暗号化登録データの照合を行う、ことを特徴とする請求項5に記載の照合方法。 In the first step,
The plaintext data to be registered and the partial registration data in plaintext are each encrypted with a public key of homomorphic encryption, and the encrypted registration data and the encrypted partial registration data are generated and registered in the storage device,
In the second step,
Encrypting the plaintext data to be collated and the plaintext partial collation data with the public key of the homomorphic encryption to generate the encrypted collation data and the encrypted partial collation data,
In the third step,
Calculate the distance while encrypting the encrypted partial verification data and the encrypted partial registration data, and request verification.
When the distance between the partial verification data and the partial registration data is equal to or less than a predetermined first value,
Calculate the distance while encrypting the encrypted verification data and the encrypted registration data, and request verification.
6. The verification method according to claim 5, wherein the encrypted verification data and the encrypted registration data are verified.
前記照合の依頼に対して、前記暗号化部分照合データと前記暗号化部分登録データとの間の距離を、準同型暗号の秘密鍵を用いて復号し、前記部分照合データと前記部分登録データとの間の距離が予め定められた前記第1の値以下であるか否か判定し、
前記部分照合データと前記部分登録データの前記距離が予め定められた前記第1の値以下である場合、
前記暗号化照合データと前記暗号化登録データを暗号化したまま距離を計算して照合を依頼し、
前記照合の依頼に対して、前記暗号化照合データと前記暗号化登録データとの間の距離を前記準同型暗号の前記秘密鍵を用いて復号し、
前記復号された照合データと登録データとの間の距離が予め定められた第2の値以下であるか否か判定することで照合を行う、ことを特徴とする請求項6に記載の照合方法。 In the third step,
In response to the verification request, the distance between the encrypted partial verification data and the encrypted partial registration data is decrypted using a secret key of the homomorphic encryption, and the partial verification data and the partial registration data Whether or not the distance between the first and second values is less than or equal to the predetermined first value;
When the distance between the partial verification data and the partial registration data is equal to or less than the first value,
Calculate the distance while encrypting the encrypted verification data and the encrypted registration data, and request verification.
In response to the verification request, the distance between the encrypted verification data and the encrypted registration data is decrypted using the secret key of the homomorphic encryption,
The collation method according to claim 6, wherein collation is performed by determining whether or not a distance between the decrypted collation data and registered data is equal to or less than a predetermined second value. .
前記登録対象の平文データを準同型暗号の公開鍵で暗号化して前記暗号化登録データを生成し、前記暗号化登録データと、平文の部分登録データを前記記憶装置に登録し、
前記第2のステップでは、
前記照合対象の平文データを準同型暗号の公開鍵で暗号化して前記暗号化照合データを生成し、
前記第3のステップでは、
平文の部分照合データと前記平文の部分登録データとの間の距離が予め定められた第1の値以下である場合、
前記暗号化照合データと前記暗号化登録データを暗号化したまま距離を計算して照合を依頼し、
前記暗号化照合データと前記暗号化登録データとの間の距離を、前記準同型暗号の前記秘密鍵を用いて復号し、照合データと登録データとの間の距離が予め定められた第2の値以下であるか否か判定することで照合処理を行う、ことを特徴とする請求項5に記載の照合方法。 In the first step,
Encrypting the plaintext data to be registered with a public key of homomorphic encryption to generate the encrypted registration data, registering the encrypted registration data and the plaintext partial registration data in the storage device;
In the second step,
Encrypting the plaintext data to be verified with a public key of homomorphic encryption to generate the encrypted verification data;
In the third step,
When the distance between the plaintext partial matching data and the plaintext partial registration data is equal to or less than a predetermined first value,
Calculate the distance while encrypting the encrypted verification data and the encrypted registration data, and request verification.
A distance between the encrypted verification data and the encrypted registration data is decrypted using the secret key of the homomorphic encryption, and a distance between the verification data and the registration data is predetermined. 6. The collation method according to claim 5, wherein collation processing is performed by determining whether or not the value is equal to or less than a value.
照合対象の平文データを暗号化した暗号化照合データを生成し、前記照合対象の平文データの部分に対応する部分照合データを生成する第2の処理と、
前記部分照合データとの間の距離が予め定められた値以下である前記部分登録データに対応する前記暗号化登録データに対して前記暗号化照合データとの照合を行う第3の処理と、
をコンピュータに実行させるプログラム。 Generating encrypted registration data obtained by encrypting plaintext data to be registered, generating partial registration data corresponding to a portion of the plaintext data to be registered, and registering in a storage device;
A second process of generating encrypted collation data obtained by encrypting the plaintext data to be collated, and generating partial collation data corresponding to a portion of the plaintext data to be collated;
A third process for collating the encrypted registration data corresponding to the partial registration data whose distance to the partial verification data is equal to or less than a predetermined value;
A program that causes a computer to execute.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016173331A JP6828322B2 (en) | 2016-09-06 | 2016-09-06 | Collation system, method and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016173331A JP6828322B2 (en) | 2016-09-06 | 2016-09-06 | Collation system, method and program |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021008079A Division JP2021073788A (en) | 2021-01-21 | 2021-01-21 | Collation system, method, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2018042045A true JP2018042045A (en) | 2018-03-15 |
| JP6828322B2 JP6828322B2 (en) | 2021-02-10 |
Family
ID=61624115
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016173331A Active JP6828322B2 (en) | 2016-09-06 | 2016-09-06 | Collation system, method and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6828322B2 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021073788A (en) * | 2021-01-21 | 2021-05-13 | 日本電気株式会社 | Collation system, method, and program |
| JPWO2022201235A1 (en) * | 2021-03-22 | 2022-09-29 | ||
| JPWO2022201234A1 (en) * | 2021-03-22 | 2022-09-29 | ||
| WO2024150508A1 (en) * | 2023-01-10 | 2024-07-18 | パナソニックIpマネジメント株式会社 | Verification method and verification system |
Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001043374A (en) * | 1999-07-29 | 2001-02-16 | Yis Corporation Co Ltd | Operation permission / non-permission judgment device |
| JP2004126916A (en) * | 2002-10-02 | 2004-04-22 | Japan Research Institute Ltd | Receivables transfer system, receivables receivable equipment, receivables repurchase equipment, receivables transfer method, receivables sales method and receivables purchase method |
| JP2008108035A (en) * | 2006-10-25 | 2008-05-08 | Fujitsu Ltd | Biometric authentication system, client, server, control method thereof, and control program |
| JP2010191856A (en) * | 2009-02-20 | 2010-09-02 | Fujitsu Ltd | Verification device and authentication device |
| JP2011159035A (en) * | 2010-01-29 | 2011-08-18 | Sony Corp | Biometric authentication apparatus, biometric authentication method and program |
| JP2011203822A (en) * | 2010-03-24 | 2011-10-13 | Sony Corp | Biometrics device, biometrics method and program |
| WO2013145249A1 (en) * | 2012-03-30 | 2013-10-03 | 富士通株式会社 | Biometric authentication device, biometric authentication method and biometric authentication program |
| WO2014118980A1 (en) * | 2013-02-01 | 2014-08-07 | 富士通株式会社 | Information conversion method, information conversion device, and information conversion program |
| JP2016012111A (en) * | 2014-06-30 | 2016-01-21 | 富士通株式会社 | Encryption processing method, encryption processing device, and encryption processing program |
| JP2016111594A (en) * | 2014-12-09 | 2016-06-20 | 日本電気株式会社 | Encrypted text collation system, method and program |
-
2016
- 2016-09-06 JP JP2016173331A patent/JP6828322B2/en active Active
Patent Citations (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001043374A (en) * | 1999-07-29 | 2001-02-16 | Yis Corporation Co Ltd | Operation permission / non-permission judgment device |
| JP2004126916A (en) * | 2002-10-02 | 2004-04-22 | Japan Research Institute Ltd | Receivables transfer system, receivables receivable equipment, receivables repurchase equipment, receivables transfer method, receivables sales method and receivables purchase method |
| JP2008108035A (en) * | 2006-10-25 | 2008-05-08 | Fujitsu Ltd | Biometric authentication system, client, server, control method thereof, and control program |
| JP2010191856A (en) * | 2009-02-20 | 2010-09-02 | Fujitsu Ltd | Verification device and authentication device |
| JP2011159035A (en) * | 2010-01-29 | 2011-08-18 | Sony Corp | Biometric authentication apparatus, biometric authentication method and program |
| JP2011203822A (en) * | 2010-03-24 | 2011-10-13 | Sony Corp | Biometrics device, biometrics method and program |
| WO2013145249A1 (en) * | 2012-03-30 | 2013-10-03 | 富士通株式会社 | Biometric authentication device, biometric authentication method and biometric authentication program |
| WO2014118980A1 (en) * | 2013-02-01 | 2014-08-07 | 富士通株式会社 | Information conversion method, information conversion device, and information conversion program |
| JP2016012111A (en) * | 2014-06-30 | 2016-01-21 | 富士通株式会社 | Encryption processing method, encryption processing device, and encryption processing program |
| JP2016111594A (en) * | 2014-12-09 | 2016-06-20 | 日本電気株式会社 | Encrypted text collation system, method and program |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2021073788A (en) * | 2021-01-21 | 2021-05-13 | 日本電気株式会社 | Collation system, method, and program |
| JPWO2022201235A1 (en) * | 2021-03-22 | 2022-09-29 | ||
| JPWO2022201234A1 (en) * | 2021-03-22 | 2022-09-29 | ||
| WO2022201234A1 (en) * | 2021-03-22 | 2022-09-29 | 日本電信電話株式会社 | Secure search method, secure search system, secure search device, encryption device, searcher terminal, and program |
| WO2022201235A1 (en) * | 2021-03-22 | 2022-09-29 | 日本電信電話株式会社 | Secret search method, secret search system, secret search device, encryption device, searcher terminal, and program |
| WO2024150508A1 (en) * | 2023-01-10 | 2024-07-18 | パナソニックIpマネジメント株式会社 | Verification method and verification system |
Also Published As
| Publication number | Publication date |
|---|---|
| JP6828322B2 (en) | 2021-02-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9996480B2 (en) | Resilient device authentication system with metadata binding | |
| US9485098B1 (en) | System and method of user authentication using digital signatures | |
| CN109525555B (en) | Online registration and authentication method and device | |
| JP6451938B2 (en) | Ciphertext verification system, method, and program | |
| JP2016508323A (en) | Method for authenticating encrypted data and system for authenticating biometric data | |
| Alberto Torres et al. | Privacy-preserving biometrics authentication systems using fully homomorphic encryption | |
| US9910478B2 (en) | Collation system, node, collation method, and computer readable medium | |
| Morampudi et al. | Secure and verifiable iris authentication system using fully homomorphic encryption | |
| US10211986B2 (en) | Program collation system, node, collation method, and computer-readable medium | |
| Torres et al. | Effectiveness of fully homomorphic encryption to preserve the privacy of biometric data | |
| JPWO2014185450A1 (en) | Verification system, node, verification method and program | |
| JP6828322B2 (en) | Collation system, method and program | |
| Abidin | On privacy-preserving biometric authentication | |
| Hamian et al. | Blockchain-based user re-enrollment for biometric authentication systems | |
| JPWO2016072057A1 (en) | Ciphertext verification system, method, and recording medium | |
| JP7024709B2 (en) | Cryptographic information collation device, cryptographic information collation method, and cryptographic information collation program | |
| Higo et al. | Privacy-preserving fingerprint authentication resistant to hill-climbing attacks | |
| JP6791263B2 (en) | Ciphertext collation system and ciphertext collation method | |
| Singamaneni et al. | [Retracted] An Enhanced Dynamic Nonlinear Polynomial Integrity‐Based QHCP‐ABE Framework for Big Data Privacy and Security | |
| Sheeja | Towards an optimal security using multifactor scalable lightweight cryptography for IoT | |
| JP2021073788A (en) | Collation system, method, and program | |
| JP6927199B2 (en) | Ciphertext matching system, node device, ciphertext matching method, and program | |
| Syed et al. | WiP: privacy enabled biometric authentication based on proof of decryption techniques | |
| JP7689755B2 (en) | Access management device and program | |
| JP7348848B2 (en) | Integrated attribute-based group signature processing method, integrated attribute-based group signature processing system, and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190805 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200423 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200512 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200713 |
|
| 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: 20201222 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210104 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6828322 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |