JP2016111594A - Encrypted text collation system, method and program - Google Patents

Encrypted text collation system, method and program Download PDF

Info

Publication number
JP2016111594A
JP2016111594A JP2014248827A JP2014248827A JP2016111594A JP 2016111594 A JP2016111594 A JP 2016111594A JP 2014248827 A JP2014248827 A JP 2014248827A JP 2014248827 A JP2014248827 A JP 2014248827A JP 2016111594 A JP2016111594 A JP 2016111594A
Authority
JP
Japan
Prior art keywords
data
verification
registration
distance
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014248827A
Other languages
Japanese (ja)
Other versions
JP6451938B2 (en
Inventor
寿幸 一色
Hisayuki Isshiki
寿幸 一色
春菜 肥後
Haruna Higo
春菜 肥後
健吾 森
Kengo Mori
健吾 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2014248827A priority Critical patent/JP6451938B2/en
Publication of JP2016111594A publication Critical patent/JP2016111594A/en
Application granted granted Critical
Publication of JP6451938B2 publication Critical patent/JP6451938B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To prevent information about data from leaking out even if information about distance is outputted between data used during registration and data used during collation.SOLUTION: An encrypted text collation system includes: a registration data generation part for encrypting input data to be a secret object by using an encryption key, and outputting registration data; a storage device for storing the registration data in an encrypted text storage part and an identifier for uniquely specifying the registration data in an identifier storage part so as to clarify respective correspondences; a data collation request generation part for encrypting input data of a collation object by using the encryption key, and outputting collation data; a distance calculation part for outputting encrypted distance data from the registration data and the collation data by using the encryption key; a decryption part for decrypting the encrypted distance data by using a decryption key, and generating distance data; a score calculation part for generating a score from the distance data by using a random number; and a determination part of outputting a collation result from the score.SELECTED DRAWING: Figure 7

Description

本発明は、暗号化されたデータの曖昧さを許容する暗号文照合システム、方法およびプログラムに関し、特に、秘匿対象となる入力データ(照合元データ)も、照合対象の入力データ(照合対象データ)もともに暗号化されている状況で、曖昧さの指標を平文のユークリッド距離とした場合の暗号文照合システム、方法、およびプログラムに関する。   The present invention relates to a ciphertext collation system, method, and program that allow ambiguity of encrypted data, and in particular, input data to be concealed (collation source data) is also input data to be collated (collation target data). The present invention also relates to a ciphertext collation system, method, and program in the case where both are encrypted and the ambiguity index is the Euclidean distance in plaintext.

近年、クラウドの普及に伴い、ネットワークに接続された計算資源に利用者のデータを置き、そのデータに基づいたサービスが急速に広がってきている。このようなサービスでは、利用者の機微なデータを扱う機会も増大してきている。このため、利用者が自分のデータが安全に管理されていることを保証することが重要になってきている。   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, opportunities for handling sensitive data of users are increasing. For this reason, 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 the vulnerability of personal authentication using conventional passwords and magnetic cards have frequently occurred. For this reason, biometric authentication technology based on biometric features such as fingerprints and veins with higher safety has attracted attention.

生体認証においては、認証情報の検証を行うために、生体情報に関するテンプレートをデータベースに保管する必要がある。指紋、静脈等の生体情報は基本的に生涯不変のデータである。生体情報は、もしそれが漏洩すると、その被害は甚大なものとなる。このため、生体情報は、最も機密性が要求される情報である。したがって、テンプレートが漏洩した場合でも、「なりすまし」等が行えないようにする必要がある。   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 life-long data. If biological information is leaked, the damage will be enormous. For this reason, the biometric information is information that requires the most confidentiality. Therefore, it is necessary to prevent “spoofing” from being performed even if the template is leaked.

例えば、特許文献1は、生体データから得られた特徴ベクトルのユークリッド距離を、準同型暗号を用いて暗号化したまま計算することにより、特徴ベクトルを秘匿したままの生体認証を実現している。   For example, Patent Literature 1 realizes biometric authentication while keeping the feature vector secret by calculating the Euclidean distance of the feature vector obtained from the biometric data while being encrypted using homomorphic encryption.

特許文献1に開示された方式は、生体認証を依頼するクライアント、認証を行う認証サーバのほかに、準同型暗号の復号鍵を保持し、サーバの依頼に応じて復号を行う復号サーバが存在する。特許文献1の生体認証では、生体情報から得られる特徴ベクトルを用いて、認証を行う。   The method disclosed in Patent Document 1 includes a decryption server that holds a decryption key for homomorphic encryption and performs decryption in response to a request from the server, in addition to a client that requests biometric authentication and an authentication server that performs authentication. . In the biometric authentication disclosed in Patent Document 1, authentication is performed using a feature vector obtained from biometric information.

また、非特許文献1、非特許文献2、非特許文献3、非特許文献4は、上記特許文献1の方式に対して復号サーバを利用した攻撃方法を提案し、それぞれ攻撃を防ぐ方法を述べている。   Non-Patent Document 1, Non-Patent Document 2, Non-Patent Document 3, and Non-Patent Document 4 propose an attack method using a decryption server with respect to the method of Patent Document 1, and describe a method for preventing each attack. ing.

一方、特許文献2は、暗号文照合において、元の平文に関する漏洩を回避可能とし、安全性を担保可能とした暗号文照合システムを開示している。この特許文献2に開示された暗号文照合システムにおいて、照合対象の入力データが暗号化され、該入力の照合を行うための登録データが暗号化されている。また、特許文献2は、入力データのみがシステムに入力され、入力データと照合する暗号データの識別子が出力され、1対多照合を実現する、実施の形態も開示している。   On the other hand, Patent Document 2 discloses a ciphertext collation system that can avoid leakage of the original plaintext and ensure security in ciphertext collation. In the ciphertext collation system disclosed in Patent Document 2, input data to be collated is encrypted, and registration data for performing collation of the input is encrypted. Patent Document 2 also discloses an embodiment in which only input data is input to the system, an identifier of encrypted data to be verified with the input data is output, and one-to-many verification is realized.

また、特許文献3は、生体情報を暗号化したままで生体認証を行う方法を開示している。特許文献3は、証明装置と、認証装置と、復号装置とを有する生体認証装置を開示している。証明装置は、ユーザから生体情報を測定し、測定した生体情報を用いて秘匿証明処理を行う。認証装置は、ユーザの生体情報を暗号化した格納しておくとともに、格納した暗号化された生体情報を用いて認証を行う。復号装置は、暗号化データを復号する。   Patent Document 3 discloses a method for performing biometric authentication while encrypting biometric information. Patent Document 3 discloses a biometric authentication device having a certification device, an authentication device, and a decryption device. The proving device measures biometric information from the user, and performs a secret certification process using the measured biometric information. The authentication device stores the user's biometric information encrypted, and performs authentication using the stored biometric information. The decryption device decrypts the encrypted data.

証明装置の暗号化部は、公開鍵と乱数を用いて特徴ベクトルを暗号化する。認証装置の暗号化類似度生成部は、登録されている暗号化特徴ベクトルと認証用の特徴ベクトルとから、公開鍵と乱数を用いて暗号化類似度情報を生成する。復号装置の復号部は、暗号化類似度情報に秘密鍵を用いて復号処理を行い、平文の類似度を導出する。復号装置の通信部は、平文の類似度を認証装置に送信する。認証装置の判定部は、平文の類似度が所定のしきい値以上であるか否かを判定し、しきい値以上であれば本人と判定し、しきい値を下回っている場合は、本人ではないと判定する。   The encryption unit of the proving device encrypts the feature vector using the public key and a random number. The encryption similarity generation unit of the authentication device generates encryption similarity information using the public key and a random number from the registered encryption feature vector and authentication feature vector. The decryption unit of the decryption device performs a decryption process using the secret key for the encryption similarity information, and derives the plaintext similarity. The communication unit of the decryption device transmits the plaintext similarity to the authentication device. The determination unit of the authentication device determines whether or not the plaintext similarity is equal to or greater than a predetermined threshold value. If the similarity is equal to or greater than the threshold value, the authenticity is determined. It is determined that it is not.

尚、特許文献3では、類似度の指標として2つの特徴ベクトルのハミング距離またはユークリッド二乗距離を用いている。   In Patent Document 3, the Hamming distance or Euclidean square distance between two feature vectors is used as an index of similarity.

さらに、特許文献4は、暗号化した画像データに対して復号せずに画像の評価等の画像処理を行う技術を開示している。特許文献4に開示された画像検索では、検索先画像及びクリエ画像の各々から特徴量を抽出し、これらを秘密分散暗号化し、暗号化領域で特徴量の距離の演算を行っている。特許文献4に開示の画像検索では、特徴量ベクトル同士の距離を暗号化領域で演算し、その復号した値を類似度としている。   Furthermore, Patent Document 4 discloses a technique for performing image processing such as image evaluation without decrypting encrypted image data. In the image search disclosed in Patent Document 4, feature amounts are extracted from each of a search destination image and a query image, and these are secret-distributed and encrypted, and a distance between feature amounts is calculated in an encryption area. In the image search disclosed in Patent Document 4, the distance between feature quantity vectors is calculated in the encryption area, and the decrypted value is used as the similarity.

特許第5496410号公報Japanese Patent No. 5496410 国際公開第2014/010725号International Publication No. 2014/010725 国際公開第2011/052056号International Publication No. 2011/052056 特開2013−097351号公報JP 2013-097351 A

キャンセラブル生体認証方式の安全性について(その2),伊豆哲也,酒見由美,武中正彦,鳥居直哉,電子情報通信学会ISEC研究会,2013.Security of cancelable biometric authentication method (Part 2), Tetsuya Izu, Yumi Sakami, Masahiko Takenaka, Naoya Torii, IEICE IEICE Technical Committee, 2013. キャンセラブル生体認証方式の安全性について(その3),伊豆哲也,酒見由美,武中正彦,鳥居直哉,2014年暗号と情報セキュリティシンポジウム,2014.Security of the cancelable biometric authentication method (Part 3), Tetsuya Izu, Yumi Sakami, Masahiko Takenaka, Naoya Torii, 2014 Symposium on Cryptography and Information Security, 2014. 準同型暗号を用いた秘匿生体認証に対する安全性について(その1),酒見由美,武中正彦,鳥居直哉,安田雅哉,電子情報通信学会ISEC研究会,2014.Security against confidential biometric authentication using homomorphic encryption (Part 1), Yumi Sakami, Masahiko Takenaka, Naoya Torii, Masaya Yasuda, IEICE IEICE Technical Committee, 2014. 準同型暗号を用いた秘匿生体認証に対する安全性について(その2),酒見由美,武中正彦,鳥居直哉,安田雅哉,電子情報通信学会ISEC研究会,2014.Security against confidential biometric authentication using homomorphic encryption (Part 2), Yumi Sakami, Masahiko Takenaka, Naoya Torii, Masaya Yasuda, IEICE IEICE Technical Committee, 2014.

しかしながら、特許文献1および非特許文献1〜4に開示されたいずれの方式も、復号サーバからの返答はOKまたはNGであり、どの程度近かったかを表す距離情報(類似度)は認証サーバに伝えられていない。   However, in any of the methods disclosed in Patent Document 1 and Non-Patent Documents 1 to 4, the response from the decryption server is OK or NG, and distance information (similarity) indicating how close is transmitted to the authentication server. It is not done.

特許文献2に開示されているような、1:N認証を行う際に、距離情報(類似度)が認証サーバに伝えられないことが問題となりうる。ここで、「1:N認証」とは、1つの認証データが、N個の登録データに含まれているかどうかを判定する認証である。上記の方式のように、認証サーバに距離情報(類似度)が伝えられない場合、認証サーバがその判定を行えない。   When 1: N authentication is performed as disclosed in Patent Document 2, distance information (similarity) cannot be transmitted to the authentication server. Here, “1: N authentication” is authentication for determining whether one piece of authentication data is included in N pieces of registration data. When distance information (similarity) is not transmitted to the authentication server as in the above method, the authentication server cannot make the determination.

一方で、復号サーバからの返答をOKあるいはNGではなく、例えば、上記特許文献3のように、復号結果、すなわち特徴ベクトル(特徴量)ZとZ’と間の距離を表す距離情報(類似度)を返すように変更すれば、上記問題は容易に解決する。しかしながら、距離情報(類似度)そのものを認証サーバに返答することにより、距離を利用したヒルクライミング攻撃(後述する)が可能となることが知られている。したがって、復号サーバから距離情報(類似度)そのものを出力することは、安全性上好ましくない。   On the other hand, the response from the decryption server is not OK or NG. For example, as in Patent Document 3, the decryption result, that is, distance information (similarity) representing the distance between feature vectors (features) Z and Z ′ ) Can be easily solved. However, it is known that a hill climbing attack (to be described later) using the distance is possible by returning the distance information (similarity) itself to the authentication server. Therefore, it is not preferable for safety to output the distance information (similarity) itself from the decryption server.

また、暗号化したままの照合方法として、決定的な共通鍵暗号や公開鍵暗号を利用した検索可能暗号を利用する方法が知られている。しかしながら、これらの方法は一般に、検索に用いるキーワードが一意に定まっている必要がある。上記のように生体情報を利用して照合を行う場合、生体情報取得時に含まれるノイズのせいで常に同じ生体情報が得られるわけではないことが知られている。このため、検索可能暗号を適用することが難しい。   Further, as a verification method with encryption, a method using a searchable encryption using a definite common key encryption or public key encryption is known. However, these methods generally require that a keyword used for search is uniquely determined. When collation is performed using biometric information as described above, it is known that the same biometric information is not always obtained due to noise included when biometric information is acquired. For this reason, it is difficult to apply searchable encryption.

尚、特許文献4は、単に、特徴量ベクトル同士の距離を暗号化領域で演算し、その復号した値を類似度とする、画像検索技術を開示しているに過ぎない。   Note that Patent Document 4 merely discloses an image search technique in which the distance between feature quantity vectors is calculated in an encryption area, and the decrypted value is used as the similarity.

上述した先行技術の問題点は、復号サーバからの返答が登録に使った特徴ベクトル(特徴量)Zと認証に使った特徴ベクトル(特徴量)Z’が近い,あるいは遠いのみであることである。あるいは、距離情報(類似度)そのものを出力してしまうことにより、登録データあるいは認証データから特徴ベクトル(特徴量)ZあるいはZ’が復元されてしまうことである。   The problem with the above-mentioned prior art is that the feature vector (feature amount) Z used for registration and the feature vector (feature amount) Z ′ used for authentication are only near or far from the response from the decryption server. . Alternatively, by outputting the distance information (similarity) itself, the feature vector (feature amount) Z or Z ′ is restored from the registration data or the authentication data.

本発明の目的は、登録時に使用したデータZと照合時に使用したデータZ’との間の距離に関する情報を出力しても、データに関する情報が漏れない、暗号文照合システム、方法およびプログラムを提供することにある。   An object of the present invention is to provide a ciphertext collation system, method, and program in which information about data does not leak even if information about the distance between data Z used during registration and data Z ′ used during collation is output. There is to do.

本発明の暗号文照合システムは、暗号化鍵を用いて秘匿対象となる入力データを暗号化して、登録データを出力する登録データ生成部と、登録データを暗号文記憶部に、当該登録データを一意に特定するための識別子を識別子記憶部に、それぞれ対応が分かるように記憶する記憶装置と、暗号化鍵を用いて照合対象の入力データを暗号化して、照合データを出力するデータ照合要求生成部と、登録データと照合データとから暗号化鍵を用いて、暗号化距離データを出力する距離計算部と、復号鍵を用いて暗号化距離データを復号して、距離データを生成する復号部と、距離データから乱数を用いてスコアを生成するスコア計算部と、スコアから照合結果を出力する判定部と、を含む。   The ciphertext matching system of the present invention encrypts input data to be concealed using an encryption key, outputs a registration data, a registration data generation unit that outputs registration data, and stores the registration data in a ciphertext storage unit. A storage device that stores an identifier for uniquely identifying the identifier storage unit so that the correspondence can be recognized, and a data verification request generation that encrypts input data to be verified using an encryption key and outputs verification data Unit, a distance calculation unit that outputs encrypted distance data using an encryption key from registration data and verification data, and a decryption unit that decrypts encrypted distance data using a decryption key and generates distance data A score calculation unit that generates a score using random numbers from the distance data, and a determination unit that outputs a matching result from the score.

また、本発明の暗号文照合方法は、第1のクライアントが、暗号化鍵を用いて秘匿対象となる入力データを暗号化して登録データを生成し、認証サーバが、登録データを、当該登録データを一意に特定するための識別子とともに記憶部に記憶するデータ登録ステップと、第2のクライアントが、暗号化鍵を用いて照合対象の入力データを暗号化して照合データを生成し、認証サーバが、記憶部に記憶された登録データと照合データとから、暗号化鍵を用いて暗号化距離データを生成し、復号サーバが、復号鍵を用いて暗号化距離データを復号して距離データを生成し、距離データから乱数を用いてスコアを生成し、認証サーバが、スコアから照合結果を生成する、暗号文照合ステップと、を含む。   In the ciphertext matching method of the present invention, the first client generates registration data by encrypting the input data to be concealed using the encryption key, and the authentication server converts the registration data to the registration data. A data registration step of storing in the storage unit together with an identifier for uniquely identifying the data, and the second client generates verification data by encrypting the input data to be verified using an encryption key, From the registration data and verification data stored in the storage unit, the encryption distance data is generated using the encryption key, and the decryption server generates the distance data by decrypting the encryption distance data using the decryption key. A ciphertext matching step in which a score is generated from the distance data using a random number, and the authentication server generates a matching result from the score.

さらに、本発明の暗号文照合プログラムは、暗号化鍵を用いて秘匿対象となる入力データを暗号化して、登録データを生成する登録データ生成処理と、登録データを、当該登録データを一意に特定するための識別子とともに記憶部に記憶する処理と、暗号化鍵を用いて照合対象の入力データを暗号化して、照合データを生成するデータ照合要求生成処理と、記憶部に記憶された登録データと照合データとから、暗号化鍵を用いて暗号化距離データを生成する距離計算処理と、復号鍵を用いて暗号化距離データを復号して、距離データを生成する復号処理と、距離データから乱数を用いてスコアを計算するスコア計算処理と、スコアから照合結果を生成する判定処理と、をコンピュータに実行させる。   Furthermore, the ciphertext collation program of the present invention encrypts input data to be concealed using an encryption key to generate registration data, and uniquely identifies the registration data. A process of storing in the storage unit together with an identifier for performing, a data collation request generating process for generating collation data by encrypting input data to be collated using an encryption key, and registration data stored in the storage unit, A distance calculation process for generating encrypted distance data from the verification data using the encryption key, a decryption process for generating the distance data by decrypting the encrypted distance data using the decryption key, and a random number from the distance data The computer is caused to execute a score calculation process for calculating a score using and a determination process for generating a matching result from the score.

本発明によれば、登録時に使用したデータと照合時に使用したデータとの間の距離に関する情報を出力しても、データに関する情報が漏れないという効果がある。   According to the present invention, there is an effect that even if information on the distance between the data used at the time of registration and the data used at the time of collation is output, the information on the data is not leaked.

第1の関連技術による暗号文照合システムの構成を示すブロック図である。It is a block diagram which shows the structure of the ciphertext collation system by the 1st related technique. 第2の関連技術による暗号文照合システムの構成を示すブロック図である。It is a block diagram which shows the structure of the ciphertext collation system by a 2nd related technique. 本発明に係る暗号文照合システムの概略構成を示すブロック図である。1 is a block diagram showing a schematic configuration of a ciphertext matching system according to the present invention. 本発明の第1の実施形態に係る暗号文照合システムの構成例を示すブロック図である。It is a block diagram showing an example of composition of a ciphertext collation system concerning a 1st embodiment of the present invention. 図4に示した暗号文照合システムに使用される、登録データ生成装置および記憶装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the registration data production | generation apparatus and memory | storage device which are used for the ciphertext collation system shown in FIG. 図4に示した暗号文照合システムに使用される、データ照合要求装置およびデータ照合判定装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the data collation request | requirement apparatus and data collation determination apparatus which are used for the ciphertext collation system shown in FIG. 図4に暗号文照合システムに使用される、照合補助装置の構成例を示すブロック図である。FIG. 4 is a block diagram illustrating a configuration example of a verification assisting device used in the ciphertext verification system. 図4に示した暗号文照合システムの、セットアップフェイズの動作例を示すフローチャートである。It is a flowchart which shows the operation example of a setup phase of the ciphertext collation system shown in FIG. 図4に示した暗号文照合システムの、データ登録フェイズの動作例を示すフローチャートである。It is a flowchart which shows the operation example of the data registration phase of the ciphertext collation system shown in FIG. 図4に示した暗号文照合システムの、暗号文照合フェイズの動作例を示すフローチャートである。It is a flowchart which shows the operation example of the ciphertext collation phase of the ciphertext collation system shown in FIG. 本発明の第2の実施形態に係る暗号文照合システムの構成例を示すブロック図である。It is a block diagram which shows the structural example of the ciphertext collation system which concerns on the 2nd Embodiment of this invention. 図11に示した暗号文照合システムに使用される、登録データ生成装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the registration data production | generation apparatus used for the ciphertext collation system shown in FIG. 図11に示した暗号文照合システムに使用される、データ照合要求装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the data collation request | requirement apparatus used for the ciphertext collation system shown in FIG. 図11に示した暗号文照合システムに使用される、データ照合判定装置の構成例を示すブロック図である。It is a block diagram which shows the structural example of the data collation determination apparatus used for the ciphertext collation system shown in FIG. 図11に示した暗号文照合システムの、セットアップフェイズの動作例を示すフローチャートである。It is a flowchart which shows the operation example of a setup phase of the ciphertext collation system shown in FIG. 図11に示した暗号文照合システムの、データ登録フェイズの動作例を示すフローチャートである。It is a flowchart which shows the operation example of the data registration phase of the ciphertext collation system shown in FIG. 図11に示した暗号文照合システムの、暗号文照合フェイズの前半の動作例を示すフローチャートである。It is a flowchart which shows the operation example of the first half of the ciphertext collation phase of the ciphertext collation system shown in FIG. 本発明の第1の実施例による暗号文照合システムの、セットアップフェイズの動作例を示すフローチャートである。It is a flowchart which shows the operation example of a setup phase of the ciphertext collation system by the 1st Example of this invention. 本発明の第1の実施例による暗号文照合システムの、データ登録フェイズの動作例を示すフローチャートである。It is a flowchart which shows the operation example of the data registration phase of the ciphertext collation system by 1st Example of this invention. 本発明の第1の実施例による暗号文照合システムの、暗号文照合フェイズの動作例を示すフローチャートである。It is a flowchart which shows the operation example of the ciphertext collation phase of the ciphertext collation system by 1st Example of this invention. 本発明の第2の実施例による暗号文照合システムの、セットアップフェイズの動作例を示すフローチャートである。It is a flowchart which shows the operation example of a setup phase of the ciphertext collation system by the 2nd Example of this invention. 本発明の第2の実施例による暗号文照合システムの、データ登録フェイズの動作例を示すフローチャートである。It is a flowchart which shows the operation example of the data registration phase of the ciphertext collation system by the 2nd Example of this invention. 本発明の第2の実施例による暗号文照合システムの、暗号文照合フェイズの動作例を示すフローチャートである。It is a flowchart which shows the operation example of the ciphertext collation phase of the ciphertext collation system by the 2nd Example of this invention.

[関連技術]
上述したように、上記特許文献1では、生体データから得られた特徴ベクトルのユークリッド距離を、準同型暗号を用いて暗号化したまま計算することにより、特徴ベクトルを秘匿したままの生体認証を実現している。
[Related technologies]
As described above, in Patent Document 1, biometric authentication is performed with the feature vector kept secret by calculating the Euclidean distance of the feature vector obtained from the biometric data while encrypting it using homomorphic encryption. doing.

図1に示されるように、特許文献1に開示された、第1の関連技術による暗号文照合システムは、生体認証を依頼するクライアント10と、認証を行う認証サーバ20と、準同型暗号の復号鍵を保持し、認証サーバ20の依頼に応じて復号を行う復号サーバ30と、を備える。特許文献1に開示された生体認証(暗号文照合システム)では、生体情報から得られる特徴ベクトルZを用いて、以下のように認証を行う。   As shown in FIG. 1, the ciphertext matching system according to the first related technique disclosed in Patent Document 1 includes a client 10 that requests biometric authentication, an authentication server 20 that performs authentication, and decryption of homomorphic encryption. A decryption server 30 that holds a key and decrypts it in response to a request from the authentication server 20. In biometric authentication (ciphertext collation system) disclosed in Patent Document 1, authentication is performed as follows using a feature vector Z obtained from biometric information.

まず、第1の関連技術による暗号文照合システムでは、登録を以下の通り行う。   First, in the ciphertext matching system according to the first related technique, registration is performed as follows.

クライアント10は、自身の生体データから得られた特徴ベクトルZを準同型暗号の暗号化鍵を用いて暗号化する。   The client 10 encrypts the feature vector Z obtained from its own biometric data using a homomorphic encryption encryption key.

(A1)復号サーバ30は鍵生成を行い、準同型暗号の公開鍵pkおよび秘密鍵skを生成する。復号サーバ30は、公開鍵をクライアント10へ送付する。   (A1) The decryption server 30 generates a key, and generates a public key pk and a secret key sk of homomorphic encryption. The decryption server 30 sends the public key to the client 10.

(A2)クライアント10は、特徴ベクトルZを公開鍵pkを用いて暗号化し、登録データENC(pk, Z)を生成する。クライアント10は、登録データENC(pk, Z)を認証サーバ20へ送付する。   (A2) The client 10 encrypts the feature vector Z using the public key pk, and generates registration data ENC (pk, Z). The client 10 sends registration data ENC (pk, Z) to the authentication server 20.

(A3)認証サーバ20は登録データENC(pk, Z)を記憶する。   (A3) The authentication server 20 stores registration data ENC (pk, Z).

次に、第1の関連技術による暗号文照合システムでは、認証を以下の通り行う。   Next, in the ciphertext matching system according to the first related technique, authentication is performed as follows.

ここでクライアント10は、特徴ベクトルZ’を保持しているものとする。同じ人物であれば2つの特徴ベクトルZ, Z’の距離は近く、異なる人物の特徴ベクトルZ, Z’の距離は遠いものとする。   Here, it is assumed that the client 10 holds the feature vector Z ′. For the same person, the distance between the two feature vectors Z and Z 'is close, and the distance between the feature vectors Z and Z' of different persons is long.

(B1)クライアント10は、特徴ベクトルZ’ を公開鍵pkを用いて暗号化し、照合データENC(pk, Z’)を生成する。クライアント10は、照合データENC(pk, Z’)を認証サーバ20へ送付する。   (B1) The client 10 encrypts the feature vector Z ′ using the public key pk, and generates verification data ENC (pk, Z ′). The client 10 sends the verification data ENC (pk, Z ′) to the authentication server 20.

(B2)認証サーバ20は、準同型性を利用し、暗号化したまま暗号化距離データENC(pk, d(Z, Z’))を計算する。ここでd(a, b)はaとbとの間の距離を意味する。認証サーバ20は、暗号化距離データENC(pk, d(Z, Z’))を復号サーバ30へ送付する。   (B2) The authentication server 20 uses the homomorphism to calculate the encrypted distance data ENC (pk, d (Z, Z ′)) while being encrypted. Here, d (a, b) means the distance between a and b. The authentication server 20 sends the encrypted distance data ENC (pk, d (Z, Z ′)) to the decryption server 30.

(B3)復号サーバ30は、秘密鍵skを用いて暗号化距離データENC(pk, d(Z, Z’))を復号して、復号結果d(Z, Z’)を得る。この復号結果は距離情報を示している。   (B3) The decryption server 30 decrypts the encrypted distance data ENC (pk, d (Z, Z ′)) using the secret key sk, and obtains a decryption result d (Z, Z ′). This decoding result indicates distance information.

(B4)復号サーバ30は、復号結果d(Z, Z’)があらかじめ決められた閾値t以下であるか否かを確認する。復号サーバ30は、復号結果d(Z, Z’)が閾値t以下であったらOKを、復号結果d(Z, Z’)が閾値tよりも大きかったらNGを、認証サーバ20へ送付する。   (B4) The decryption server 30 confirms whether or not the decryption result d (Z, Z ′) is equal to or less than a predetermined threshold value t. The decryption server 30 sends OK to the authentication server 20 if the decryption result d (Z, Z ′) is less than or equal to the threshold t, and sends NG to the authentication server 20 if the decryption result d (Z, Z ′) is greater than the threshold t.

(B5)認証サーバ20は、復号サーバ30の返答がOKであったら受理を、NGであったら不受理を、クライアント10へ出力する。   (B5) The authentication server 20 outputs an acceptance to the client 10 if the reply from the decryption server 30 is OK, and an unacceptance to the client 10 if the response is NG.

また、上記非特許文献1、非特許文献2、非特許文献3、非特許文献4では、上記特許文献1の方式に対して復号サーバを利用した攻撃方法を提案し、それぞれ攻撃を防ぐ方法を述べている。   Moreover, in the said nonpatent literature 1, the nonpatent literature 2, the nonpatent literature 3, and the nonpatent literature 4, the attack method using a decoding server is proposed with respect to the system of the said patent document 1, and the method of preventing an attack, respectively. Says.

しかしながら、いずれの方式も、復号サーバ30からの返答はOKまたはNGであり、どの程度近かったかを表す距離情報(類似度)は認証サーバ20に伝えられていない。   However, in any of the methods, the response from the decryption server 30 is OK or NG, and distance information (similarity) indicating how close it is is not transmitted to the authentication server 20.

一般に生体認証では、FAR(False Acceptance Rate=誤り受け入れ率)が小さくない。すなわち、別人を本人として受け入れてしまう確率が無視できない。そのため、上記特許文献2のように、1:N認証を行う際に、上記距離情報(類似度)が認証サーバ20に伝えられないことが問題となりうる。ここで、「1:N認証」とは、1つの認証データが、N個の登録データに含まれているかどうかを判定する認証である。   In general, in biometric authentication, FAR (False Acceptance Rate) is not small. In other words, the probability of accepting another person as the principal cannot be ignored. Therefore, as in Patent Document 2, when performing 1: N authentication, it may be a problem that the distance information (similarity) cannot be transmitted to the authentication server 20. Here, “1: N authentication” is authentication for determining whether one piece of authentication data is included in N pieces of registration data.

詳述すると、登録されている暗号文をENC(pk, Z[1]),…,ENC(pk, Z[N])とする。このとき、認証サーバ20は、特徴ベクトルZ’と近いZ[1],…,Z[N]が存在するかどうかを判定する。このとき、生体認証では、FARが無視できないため、Nが大きい場合、特徴ベクトルZ’と近いZ[i]が複数個存在する。このときテンプレート保護ではない生体認証では、認証サーバ20が、特徴ベクトルZと有意に近い(他のZ[i]よりも明らかに近い)Z[j]を本人として判定していることがある。しかしながら、上記の方式のように、認証サーバ20に距離情報(類似度)が伝えられない場合、認証サーバ20がその判定を行えない。   More specifically, the registered ciphertext is assumed to be ENC (pk, Z [1]), ..., ENC (pk, Z [N]). At this time, the authentication server 20 determines whether there is Z [1],..., Z [N] close to the feature vector Z ′. At this time, since FAR cannot be ignored in biometric authentication, when N is large, there are a plurality of Z [i] close to the feature vector Z ′. At this time, in biometric authentication that is not template protection, the authentication server 20 may determine Z [j] that is significantly close to the feature vector Z (obviously close to other Z [i]) as the principal. However, when distance information (similarity) is not transmitted to the authentication server 20 as in the above method, the authentication server 20 cannot make the determination.

一方で、図2に示される第2の関連技術による暗号文照合システムのように、復号サーバ30Aからの返答をOKあるいはNGではなく、上記特許文献3のように、復号結果、すなわち特徴ベクトルZと特徴ベクトルZ’との間の距離を表す距離情報(類似度)そのものを返すように変更すれば、上記問題は容易に解決する。   On the other hand, as in the ciphertext matching system according to the second related technique shown in FIG. 2, the reply from the decryption server 30A is not OK or NG, but the decryption result, that is, the feature vector Z If the distance information (similarity) representing the distance between the feature vector Z ′ and the feature vector Z ′ is returned, the above problem can be solved easily.

しかしながら、距離情報(類似度)そのものを認証サーバ20Aに返答することにより、距離を利用したヒルクライミング攻撃が可能となることが知られている。ここで、「ヒルクライミング攻撃」とは、次に述べるような攻撃のことをいう。   However, it is known that a hill climbing attack using distance can be performed by returning distance information (similarity) itself to the authentication server 20A. Here, “hill climbing attack” refers to the following attack.

ある特徴ベクトルZ’を使って生成した認証データに対する第1の距離d(Z, Z’)を得、次に、特徴ベクトルZ’の一部を改変した(例えば1ビット反転した)Z”を利用した認証データに対する第2の距離d(Z, Z”)を得る。第1の距離d(Z, Z’)よりも第2の距離d(Z, Z”)が小さくなった場合は、改変によって特徴ベクトルZに近づいたことを意味し、逆に大きくなった場合は、改変によって特徴ベクトルZから遠ざかったことを意味する。   Obtain a first distance d (Z, Z ′) for the authentication data generated using a feature vector Z ′, and then modify a part of the feature vector Z ′ (for example, 1 bit inverted) Z ″ A second distance d (Z, Z ″) for the used authentication data is obtained. If the second distance d (Z, Z ″) is smaller than the first distance d (Z, Z ′), it means that the feature vector Z has been approached by modification, and if it has become larger Means away from the feature vector Z by modification.

このような行動を繰り返すことにより、比較的小さな計算量で、登録データから特徴ベクトルZを(あるいは認証データから特徴ベクトルZ’を)復元することが可能となることが知られている。したがって、復号サーバ30Aから距離情報(類似度)そのものを出力することは、安全性上好ましくない。   It is known that by repeating such an action, it is possible to restore the feature vector Z from the registered data (or the feature vector Z ′ from the authentication data) with a relatively small amount of calculation. Therefore, it is not preferable in terms of safety to output the distance information (similarity) itself from the decryption server 30A.

また、暗号化したままの照合方法として、決定的な共通鍵暗号や公開鍵暗号を利用した検索可能暗号を利用する方法が知られている。しかしながら、これらの方法は一般に、検索に用いるキーワードが一意に定まっている必要がある。上記のように生体情報を利用して照合を行う場合、生体情報取得時に含まれるノイズのせいで常に同じ生体情報が得られるわけではないことが知られている。このため、生体情報の照合方法に、検索可能暗号を適用することが難しい。   Further, as a verification method with encryption, a method using a searchable encryption using a definite common key encryption or public key encryption is known. However, these methods generally require that a keyword used for search is uniquely determined. When collation is performed using biometric information as described above, it is known that the same biometric information is not always obtained due to noise included when biometric information is acquired. For this reason, it is difficult to apply the searchable encryption to the biometric information matching method.

上述の先行技術(関連技術)の問題点は、復号サーバ30からの返答が登録に使った特徴ベクトル(特徴量)Zと認証に使った特徴ベクトル(特徴量)Z’とが近い,あるいは遠いのみであることである。あるいは、復号サーバ30Aから距離情報(類似度)そのものを出力してしまうことにより、登録データあるいは認証データから特徴ベクトル(特徴量)ZあるいはZ’が復元されてしまうことである。   The problem with the above-described prior art (related technique) is that the feature vector (feature amount) Z used for registration and the feature vector (feature amount) Z ′ used for authentication are close or far from the response from the decryption server 30. It is only that. Alternatively, the distance information (similarity) itself is output from the decryption server 30A, whereby the feature vector (feature amount) Z or Z ′ is restored from the registration data or the authentication data.

[発明の概要]
そこで、本発明では、登録時に使用したデータZと照合時に使用したデータZ’と間の距離に関する情報(距離情報)を出力しても、データに関する情報が漏れない、照合元データと照合対象データに多少の誤差を許した暗号文照合システムを実現することを目的とする。
[Summary of Invention]
Therefore, in the present invention, even if the information (distance information) about the distance between the data Z used at the time of registration and the data Z ′ used at the time of collation is output, the information about the data is not leaked. The purpose is to realize a ciphertext verification system that allows some errors.

図3は、本発明に係る暗号文照合システムの概略構成を示すブロック図である。図示の暗号文照合システムは、生体認証を依頼するクライアント10と、認証を行う認証サーバ20Bと、準同型暗号の復号鍵を保持し、認証サーバ20Bの依頼に応じて復号を行う復号サーバ30Bと、を備える。   FIG. 3 is a block diagram showing a schematic configuration of the ciphertext matching system according to the present invention. The illustrated ciphertext verification system includes a client 10 that requests biometric authentication, an authentication server 20B that performs authentication, a decryption server 30B that holds a decryption key for homomorphic encryption, and performs decryption in response to a request from the authentication server 20B. .

本発明に係る暗号文照合システムでは、照合時に復号サーバ30Bにより計算された距離情報を、適切な分布に従って選ばれた乱数値に置き換えることにより、スコアを生成する。適切な分布に従って乱数を選ぶことにより、例えば1位と2位が有意に差があるか否かを認証サーバ20Bが判定することが可能となる。また、毎回照合時に用いる乱数を変更することにより、前回より近くなったか遠くなったかの判定ができず、ヒルクライミング攻撃が不可能となる。   In the ciphertext matching system according to the present invention, a score is generated by replacing the distance information calculated by the decryption server 30B at the time of matching with a random value selected according to an appropriate distribution. By selecting random numbers according to an appropriate distribution, for example, the authentication server 20B can determine whether or not the first place and the second place are significantly different. In addition, by changing the random number used at the time of each check, it is impossible to determine whether it is closer or farther than the previous time, and a hill climbing attack is impossible.

本発明に係る暗号文照合システムでは、復号サーバ30Bからの出力がスコアとなることにより、認証サーバ20Bが認証結果(照合結果)を判断するために必要な情報を得ることができる。その理由は、 復号後に、スコア生成のために適切な分布に従った乱数を利用するためである。   In the ciphertext matching system according to the present invention, the output from the decryption server 30B becomes a score, so that the information necessary for the authentication server 20B to determine the authentication result (matching result) can be obtained. The reason is to use random numbers according to an appropriate distribution for score generation after decryption.

(第1の実施形態)
次に、本発明の第1の実施形態による暗号文照合システムについて図面を参照して詳細に説明する。
(First embodiment)
Next, the ciphertext matching system according to the first embodiment of the present invention will be described in detail with reference to the drawings.

図4を参照すると、本発明の第1の実施形態による暗号文照合システムは、登録データ生成装置100と、記憶装置200と、データ照合要求装置300と、データ照合判定装置400と、照合補助装置500と、から成る。   Referring to FIG. 4, the ciphertext verification system according to the first embodiment of the present invention includes a registered data generation device 100, a storage device 200, a data verification request device 300, a data verification determination device 400, and a verification auxiliary device. 500.

登録データ生成装置100およびデータ照合要求装置300を利用するエンティティが、図3のクライアント10に相当する。記憶装置200を有し、データ照合判定装置400を利用するエンティティが、図3の認証サーバ20Bに相当する。そして、照合補助装置500を利用するエンティティが、図3の復号サーバ30Bに相当する。   An entity that uses the registered data generation apparatus 100 and the data verification request apparatus 300 corresponds to the client 10 in FIG. An entity having the storage device 200 and using the data collation determination device 400 corresponds to the authentication server 20B in FIG. An entity that uses the verification assisting device 500 corresponds to the decryption server 30B in FIG.

換言すれば、登録データ生成装置100は第1のクライアントとして実現され、データ照合要求装置300は第2のクライアントとして実現される。記憶装置200とデータ照合判定装置400との組み合わせは認証サーバ20Bとして動作する。照合補助装置500は復号サーバ30Bとして動作する。第1のクライアントと第2のクライアントとは、別々のクライアントであっても良いし、同じ1つのクライアントであって良い。   In other words, the registered data generation device 100 is realized as a first client, and the data matching request device 300 is realized as a second client. The combination of the storage device 200 and the data collation determination device 400 operates as the authentication server 20B. The verification assisting device 500 operates as the decryption server 30B. The first client and the second client may be separate clients or the same one client.

[構成の説明]
図5を参照すると、登録データ生成装置100は、登録データ生成部101から成る。登録データ生成部101は、秘匿対象となる入力データと、後述する照合補助装置500の鍵生成部501が生成した暗号化鍵とを入力とし、登録データを出力する。
[Description of configuration]
Referring to FIG. 5, the registration data generation device 100 includes a registration data generation unit 101. The registration data generation unit 101 receives input data to be concealed and an encryption key generated by a key generation unit 501 of the verification auxiliary device 500 described later, and outputs registration data.

図5に示されるように、記憶装置200は、識別子管理部201と、暗号文記憶部202と、識別子記憶部203と、から成る。   As illustrated in FIG. 5, the storage device 200 includes an identifier management unit 201, a ciphertext storage unit 202, and an identifier storage unit 203.

識別子管理部201は、登録データ生成装置100の登録データ生成部101が生成した登録データを入力として受け取り、登録データごとに異なる識別子を生成する。識別子管理部201は、登録データを暗号文記憶部202に、対応する識別子を識別子記憶部203に、それぞれ対応が分かるように記憶する。   The identifier management unit 201 receives the registration data generated by the registration data generation unit 101 of the registration data generation device 100 as an input, and generates a different identifier for each registration data. The identifier management unit 201 stores the registration data in the ciphertext storage unit 202 and the corresponding identifier in the identifier storage unit 203 so that the correspondence can be understood.

図6を参照すると、データ照合要求装置300は、データ照合要求生成部301と、識別子記憶部302とから成る。   Referring to FIG. 6, the data verification request device 300 includes a data verification request generation unit 301 and an identifier storage unit 302.

データ照合要求生成部301は、後述する照合補助装置500の鍵生成部501が生成した暗号化鍵と、識別子記憶部302に記憶された識別子と、照合対象の入力データとを入力とし、照合データを出力する。   The data verification request generation unit 301 receives as input the encryption key generated by the key generation unit 501 of the verification auxiliary device 500 described later, the identifier stored in the identifier storage unit 302, and the input data to be verified. Is output.

図6に示されるように、データ照合判定装置400は、データ取得部401と、距離計算部402と、補助要求部403と、判定部404とから成る。   As shown in FIG. 6, the data matching determination apparatus 400 includes a data acquisition unit 401, a distance calculation unit 402, an auxiliary request unit 403, and a determination unit 404.

データ取得部401は、照合データに含まれる識別子に対応する登録データを、記憶装置200の暗号文記憶部202および識別子記憶部203から取得する。   The data acquisition unit 401 acquires registration data corresponding to the identifier included in the collation data from the ciphertext storage unit 202 and the identifier storage unit 203 of the storage device 200.

距離計算部402は、取得した登録データと、照合データと、暗号化鍵とを入力とし、暗号化距離データを出力する。   The distance calculation unit 402 receives the obtained registration data, verification data, and encryption key, and outputs encrypted distance data.

補助要求部403は、暗号化距離データを入力とし、照合補助装置500に補助要求データを出力する。   The auxiliary request unit 403 receives the encrypted distance data and outputs auxiliary request data to the verification auxiliary device 500.

判定部404は、照合補助装置500から受信したスコアを入力とし、照合結果を出力する。   The determination unit 404 receives the score received from the verification assistant device 500 and outputs a verification result.

図7を参照すると、照合補助装置500は、鍵生成部501と、復号部502と、スコア計算部503と、鍵記憶部504とから成る。   Referring to FIG. 7, the verification assisting device 500 includes a key generation unit 501, a decryption unit 502, a score calculation unit 503, and a key storage unit 504.

鍵生成部501は、セキュリティパラメータを入力とし、暗号化鍵および復号鍵を出力する。   The key generation unit 501 receives a security parameter and outputs an encryption key and a decryption key.

復号部502は、前記データ照合判定装置400から受信した補助要求データと、復号鍵とを入力とし、距離データを生成する。   The decryption unit 502 receives the auxiliary request data received from the data collation determination device 400 and the decryption key, and generates distance data.

スコア計算部503は、距離データを入力とし、乱数を用いてスコアを出力する。   The score calculation unit 503 receives the distance data and outputs a score using a random number.

[動作の説明]
次に、本発明の第1の実施形態による暗号文照合システムの動作に関して詳細に説明する。
[Description of operation]
Next, the operation of the ciphertext matching system according to the first embodiment of the present invention will be described in detail.

本発明の第1の実施形態による暗号文照合システムの動作は、セットアップフェイズと、データ登録フェイズと、暗号文照合フェイズと、の3つのフェイズに大別される。   The operation of the ciphertext matching system according to the first embodiment of the present invention is roughly divided into three phases: a setup phase, a data registration phase, and a ciphertext verification phase.

ここで、データ登録フェイズは、登録データ生成装置100に入力データを入力し、入力データを暗号化し、記憶装置200に登録するフェイズである。暗号文照合フェイズは、データ照合要求装置300に入力された入力データを暗号化し、その際に生成された照合要求が、データ照合判定装置400によって記憶装置200内の暗号データ(登録データ)と近い(ユークリッド距離の小さい)平文となるものであるかを判定するフェイズである。   Here, the data registration phase is a phase in which input data is input to the registration data generation device 100, the input data is encrypted, and is registered in the storage device 200. In the ciphertext verification phase, the input data input to the data verification request device 300 is encrypted, and the verification request generated at that time is close to the encrypted data (registered data) in the storage device 200 by the data verification determination device 400. This is a phase for determining whether the text is plain text (with a small Euclidean distance).

以下、各フェイズにおける動作に関して詳細に説明する。   Hereinafter, the operation in each phase will be described in detail.

図8を参照すると、セットアップフェイズにおいては、まず、照合補助装置500の鍵生成部501にセキュリティパラメータが入力され、暗号化鍵および復号鍵が生成される(ステップA1)。   Referring to FIG. 8, in the setup phase, first, security parameters are input to the key generation unit 501 of the verification assistant device 500, and an encryption key and a decryption key are generated (step A1).

次に、鍵生成部501は、生成した暗号化鍵を登録データ生成装置100と、照合要求装置300と、データ照合判定装置400とに送付し、復号鍵を鍵記憶部503に記憶する(ステップA2)。   Next, the key generation unit 501 sends the generated encryption key to the registered data generation device 100, the verification requesting device 300, and the data verification determination device 400, and stores the decryption key in the key storage unit 503 (step). A2).

図9を参照すると、データ登録フェイズにおいては、まず、登録データ生成装置100の登録データ生成部101に、暗号化鍵と、秘匿対象となる入力データとが入力される(ステップB1)。   Referring to FIG. 9, in the data registration phase, first, an encryption key and input data to be concealed are input to the registration data generation unit 101 of the registration data generation device 100 (step B1).

次に、登録データ生成部101は、入力データと、暗号化鍵とから、登録データを生成し、記憶装置200へ送付し、入力データを登録したことをデータ照合要求装置300に送付する(ステップB2)。   Next, the registration data generation unit 101 generates registration data from the input data and the encryption key, sends the registration data to the storage device 200, and sends the fact that the input data has been registered to the data verification requesting device 300 (step). B2).

次に、登録データを受信した記憶装置200の識別子管理部201は、登録データを入力とし、データごとに異なる識別子を生成し、登録データを暗号文記憶部202に、識別子を識別子記憶部203にそれぞれ記憶する(ステップB3)。   Next, the identifier management unit 201 of the storage device 200 that has received the registration data receives the registration data, generates a different identifier for each data, stores the registration data in the ciphertext storage unit 202, and stores the identifier in the identifier storage unit 203. Each is stored (step B3).

このとき、登録データと、登録データに対して発行された識別子とが組であることが分かるように記憶されるものとする。また、暗号文記憶部と識別子記憶部を別の部として記載しているが、同じ記憶装置(例えばデータベース等)に記憶してもよい。   At this time, it is assumed that the registration data and the identifier issued for the registration data are stored so as to be understood as a pair. Moreover, although the ciphertext storage unit and the identifier storage unit are described as separate units, they may be stored in the same storage device (for example, a database).

さらに、識別子管理部201は、データ照合要求装置300に、識別子を送付する(ステップB4)。データ照合要求装置300は、受信した識別子と入力データを識別子記憶部302に記憶する(ステップB5)。   Further, the identifier management unit 201 sends the identifier to the data matching request device 300 (step B4). The data verification requesting apparatus 300 stores the received identifier and input data in the identifier storage unit 302 (step B5).

図10を参照すると、暗号文照合フェイズにおいては、データ照合要求装置300のデータ照合要求生成部301に照合対象の入力データが入力される(ステップC1)。   Referring to FIG. 10, in the ciphertext verification phase, input data to be verified is input to the data verification request generation unit 301 of the data verification requesting device 300 (step C1).

次に、データ照合要求生成部301は、入力データに対応する識別子を識別子記憶部302から読み込む(ステップC2)。   Next, the data verification request generation unit 301 reads an identifier corresponding to the input data from the identifier storage unit 302 (step C2).

次に、データ照合要求生成部301は、入力データと、識別子と、暗号化鍵とを入力として、照合データを生成し、データ照合判定装置400に送付する(ステップC3)。   Next, the data verification request generation unit 301 receives the input data, the identifier, and the encryption key as input, generates verification data, and sends it to the data verification determination device 400 (step C3).

次に、データ照合判定装置400のデータ取得部401は、照合データを入力とし、照合データに含まれる識別子に対応した登録データを、記憶装置200の暗号文記憶部202から受信する(ステップC4)。   Next, the data acquisition unit 401 of the data collation determination device 400 receives the collation data as input, and receives registration data corresponding to the identifier included in the collation data from the ciphertext storage unit 202 of the storage device 200 (step C4). .

次に、距離計算部402は、照合データと、登録データと、暗号化鍵とを入力として、暗号化距離データを生成する(ステップC5)。   Next, the distance calculation unit 402 receives the collation data, the registration data, and the encryption key, and generates encrypted distance data (step C5).

次に、補助要求部403は、暗号化距離データを入力とし、照合補助要求を生成し、照合補助装置500に送付する(ステップC6)。   Next, the auxiliary request unit 403 receives the encrypted distance data as an input, generates a verification auxiliary request, and sends it to the verification auxiliary device 500 (step C6).

次に、照合補助装置500の復号部502は、照合補助要求と、鍵記憶部504に記憶された復号鍵とを入力とし、距離データを生成する(ステップC7)。   Next, the decryption unit 502 of the collation assisting device 500 receives the collation assist request and the decryption key stored in the key storage unit 504, and generates distance data (step C7).

次に、スコア計算部503は、距離データを入力とし、乱数を用いてスコアを生成し、データ照合判定装置400に送付する(ステップC8)。   Next, the score calculation unit 503 receives the distance data, generates a score using a random number, and sends the score to the data verification determination device 400 (step C8).

次に、データ照合判定装置400の判定部404は、スコアを入力とし、照合結果を生成する(ステップC9)。   Next, the determination unit 404 of the data matching determination device 400 receives the score and generates a matching result (step C9).

このように、本第1の実施形態では、復号サーバ30Bとして働く照合補助装置500からの出力がスコアとなることにより、認証サーバ20Bとして働くデータ照合判定装置400が認証結果を判断するために必要な情報を得ることができる。その理由は、復号後に、スコア生成のために適切な分布に従った乱数を利用するからである。また、毎回照合時に用いる乱数を変更することにより、前回より近くなったか遠くなったかの判定ができず、ヒルクライミング攻撃が不可能となる。   As described above, in the first embodiment, the output from the verification assistant device 500 that functions as the decryption server 30B becomes a score, which is necessary for the data verification determination device 400 that functions as the authentication server 20B to determine the authentication result. Information can be obtained. This is because, after decryption, random numbers according to an appropriate distribution are used for score generation. In addition, by changing the random number used at the time of each check, it is impossible to determine whether it is closer or farther than the previous time, and a hill climbing attack is impossible.

(第2の実施形態)
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described in detail with reference to the drawings.

本発明の第1の実施形態で説明した暗号文照合システムと、本発明の第2の実施形態で記載する暗号文照合システムとの差分は、次の通りである。すなわち、本発明の第1の実施形態では、照合要求時に識別子を指定し、その識別子に対応する登録データとの照合を行っていた、いわゆる1:1照合である。これに対して、本発明の第2の実施形態では、照合時に識別子を指定せず、登録された登録データの中にマッチするデータが存在するかを確認する1:N照合を行っている。   The difference between the ciphertext matching system described in the first embodiment of the present invention and the ciphertext matching system described in the second embodiment of the present invention is as follows. That is, in the first embodiment of the present invention, an identifier is specified at the time of a collation request, and collation with registered data corresponding to the identifier is performed, so-called 1: 1 collation. On the other hand, in the second embodiment of the present invention, an identifier is not specified at the time of collation, and 1: N collation is performed to check whether there is matching data in registered registration data.

図11を参照すると、本発明の第2の実施形態による暗号文照合システムは、登録データ生成装置600と、記憶装置200と、データ照合要求装置700と、データ照合判定装置400Aと、照合補助装置500と、から成る。   Referring to FIG. 11, the ciphertext verification system according to the second embodiment of the present invention includes a registered data generation device 600, a storage device 200, a data verification request device 700, a data verification determination device 400A, and a verification auxiliary device. 500.

登録データ生成装置600およびデータ照合要求装置300を利用するエンティティが、図3のクライアント10に相当する。記憶装置200を有し、データ照合判定装置700を利用するエンティティが、図3の認証サーバ20Bに相当する。そして、照合補助装置500を利用するエンティティが、図3の復号サーバ30Bに相当する。   An entity that uses the registered data generation apparatus 600 and the data verification request apparatus 300 corresponds to the client 10 in FIG. An entity that has the storage device 200 and uses the data collation determination device 700 corresponds to the authentication server 20B in FIG. An entity that uses the verification assisting device 500 corresponds to the decryption server 30B in FIG.

換言すれば、登録データ生成装置600は第1のクライアントとして実現され、データ照合要求装置700は第2のクライアントとして実現される。記憶装置200とデータ照合判定装置400との組み合わせは認証サーバ20Bとして動作する。照合補助装置500は復号サーバ30Bとして動作する。第1のクライアントと第2のクライアントとは、別々のクライアントであっても良いし、同じ1つのクライアントであって良い。   In other words, the registered data generation device 600 is realized as a first client, and the data matching request device 700 is realized as a second client. The combination of the storage device 200 and the data collation determination device 400 operates as the authentication server 20B. The verification assisting device 500 operates as the decryption server 30B. The first client and the second client may be separate clients or the same one client.

[構成の説明]
図12を参照すると、登録データ生成装置600は、登録データ生成部601から成る。登録データ生成部601は、秘匿対象となる入力データと、照合補助装置500の鍵生成部501が生成した暗号化鍵とを入力とし、登録データを出力する。
[Description of configuration]
Referring to FIG. 12, the registration data generation device 600 includes a registration data generation unit 601. The registration data generation unit 601 receives the input data to be concealed and the encryption key generated by the key generation unit 501 of the verification assistant device 500, and outputs registration data.

記憶装置200は、上述した本発明の第1の実施形態の記憶装置200と同じであるため、説明を省略する。   Since the storage device 200 is the same as the storage device 200 of the first embodiment of the present invention described above, the description thereof is omitted.

図13を参照すると、データ照合要求装置700は、データ照合要求生成部701から成る。データ照合要求生成部700は、照合補助装置500の鍵生成部501が生成した暗号化鍵と、照合対象の入力データとを入力とし、照合データを出力する。   Referring to FIG. 13, the data verification request device 700 includes a data verification request generation unit 701. The data verification request generation unit 700 receives the encryption key generated by the key generation unit 501 of the verification auxiliary device 500 and the input data to be verified, and outputs the verification data.

図14を参照すると、データ照合判定装置400Aは、データ取得部401Aと、距離計算部402と、補助要求部403と、判定部404とから成る。   Referring to FIG. 14, the data matching determination apparatus 400A includes a data acquisition unit 401A, a distance calculation unit 402, an auxiliary request unit 403, and a determination unit 404.

データ取得部401Aは、記憶装置200の暗号文記憶部202に記憶されている登録データをすべて取得する。   The data acquisition unit 401A acquires all the registration data stored in the ciphertext storage unit 202 of the storage device 200.

距離計算部402は、取得した登録データと、照合データと、暗号化鍵とを入力とし、暗号化距離データを出力する。   The distance calculation unit 402 receives the obtained registration data, verification data, and encryption key, and outputs encrypted distance data.

補助要求部403は、暗号化距離データを入力とし、照合補助装置500に補助要求データを出力する。   The auxiliary request unit 403 receives the encrypted distance data and outputs auxiliary request data to the verification auxiliary device 500.

判定部404は、照合補助装置500から受信したスコアを入力とし、照合結果を出力する。   The determination unit 404 receives the score received from the verification assistant device 500 and outputs a verification result.

照合補助装置500は、上述した本発明の第1の実施形態の照合補助装置500と同じであるため、説明を省略する。   Since the collation assisting device 500 is the same as the collation assisting device 500 of the first embodiment of the present invention described above, description thereof is omitted.

[動作の説明]
次に、本発明の第2の実施形態の暗号文照合システムの動作に関して詳細に説明する。
[Description of operation]
Next, the operation of the ciphertext matching system according to the second embodiment of the present invention will be described in detail.

本発明の第2の実施形態の暗号文照合システムの動作は、セットアップフェイズと、データ登録フェイズと、暗号文照合フェイズと、の3つのフェイズに大別される。   The operation of the ciphertext verification system according to the second embodiment of the present invention is roughly divided into three phases: a setup phase, a data registration phase, and a ciphertext verification phase.

ここで、データ登録フェイズは、登録データ生成装置600に入力データを入力し、入力データを暗号化し、記憶装置200に登録するフェイズである。暗号文照合フェイズは、データ照合要求装置700に入力された入力データを暗号化し、その際に生成された照合要求が、データ照合判定装置400Aによって記憶装置内の暗号データと近い(ユークリッド距離の小さい)平文となるものであるかを判定するフェイズである。以下、各フェイズにおける動作に関して詳細に説明する。   Here, the data registration phase is a phase in which input data is input to the registration data generating device 600, the input data is encrypted, and registered in the storage device 200. In the ciphertext verification phase, the input data input to the data verification requesting device 700 is encrypted, and the verification request generated at that time is close to the encrypted data in the storage device by the data verification determination device 400A (the Euclidean distance is small). ) This is a phase for determining whether the text is plaintext. Hereinafter, the operation in each phase will be described in detail.

図15を参照すると、セットアップフェイズにおいては、まず、照合補助装置500の鍵生成部501にセキュリティパラメータが入力され、暗号化鍵および 復号鍵が生成される(ステップD1)。   Referring to FIG. 15, in the setup phase, first, security parameters are input to the key generation unit 501 of the verification assistant device 500, and an encryption key and a decryption key are generated (step D1).

次に、鍵生成部501は、生成した暗号化鍵を登録データ生成装置600と、照合要求装置700と、データ照合判定装置400Aとに送付し、復号鍵を鍵記憶部503に記憶する(ステップD2)。   Next, the key generation unit 501 sends the generated encryption key to the registered data generation device 600, the verification requesting device 700, and the data verification determination device 400A, and stores the decryption key in the key storage unit 503 (step). D2).

図16を参照すると、データ登録フェイズにおいては、まず、登録データ生成装置600の登録データ生成部601に、暗号化鍵と、秘匿対象となる入力データが入力される(ステップE1)。   Referring to FIG. 16, in the data registration phase, first, an encryption key and input data to be concealed are input to the registration data generation unit 601 of the registration data generation device 600 (step E1).

次に、登録データ生成部601は、入力データと、暗号化鍵とから、登録データを生成し、記憶装置200へ送付する(ステップE2)。   Next, the registration data generation unit 601 generates registration data from the input data and the encryption key and sends it to the storage device 200 (step E2).

次に、登録データを受信した記憶装置200の識別子管理部201は、登録データを入力とし、データごとに異なる識別子を生成し、登録データを暗号文記憶部202に、識別子を識別子記憶部203にそれぞれ記憶する(ステップE3)。   Next, the identifier management unit 201 of the storage device 200 that has received the registration data receives the registration data, generates a different identifier for each data, stores the registration data in the ciphertext storage unit 202, and stores the identifier in the identifier storage unit 203. Each is stored (step E3).

このとき、登録データと、登録データに対して発行された識別子とが組であることが分かるように記憶されるものとする。また、暗号文記憶部と識別子記憶部とを別の部として記載しているが、同じ記憶装置(例えばデータベース等)に記憶してもよい。   At this time, it is assumed that the registration data and the identifier issued for the registration data are stored so as to be understood as a pair. Moreover, although the ciphertext storage unit and the identifier storage unit are described as separate units, they may be stored in the same storage device (for example, a database).

図17を参照すると、暗号文照合フェイズにおいては、データ照合要求装置700に照合対象の入力データが入力される(ステップF1)。   Referring to FIG. 17, in the ciphertext verification phase, input data to be verified is input to the data verification requesting device 700 (step F1).

次に、データ照合要求生成部701は、入力データと、暗号化鍵とを入力として、照合データを生成し、データ照合判定装置400Aに送付する(ステップF2)。   Next, the data verification request generation unit 701 receives the input data and the encryption key as input, generates verification data, and sends it to the data verification determination device 400A (step F2).

次に、データ照合判定装置400Aのデータ取得部401Aは、記憶装置200の暗号文記憶部202から登録データをすべて受信する(ステップF3)。   Next, the data acquisition unit 401A of the data verification determination device 400A receives all the registration data from the ciphertext storage unit 202 of the storage device 200 (step F3).

次に、距離計算部402は、照合データと、登録データと、暗号化鍵とを入力として、暗号化距離データを生成する(ステップF4)。   Next, the distance calculation unit 402 receives the collation data, the registration data, and the encryption key, and generates encrypted distance data (step F4).

次に、補助要求部403は、暗号化距離データを入力とし、照合補助要求を生成し、照合補助装置500に送付する(ステップF5)。   Next, the auxiliary request unit 403 receives the encrypted distance data, generates a verification auxiliary request, and sends it to the verification auxiliary device 500 (step F5).

次に、照合補助装置500の復号部502は、照合補助要求と、鍵記憶部504に記憶された復号鍵とを入力とし、距離データを生成する(ステップF6)。   Next, the decryption unit 502 of the collation assisting device 500 receives the collation assist request and the decryption key stored in the key storage unit 504, and generates distance data (step F6).

次に、スコア計算部503は、距離データを入力とし、乱数を用いてスコアを生成し、データ照合判定装置400Aに送付する(ステップF7)。   Next, the score calculation unit 503 receives the distance data, generates a score using a random number, and sends the score to the data matching determination apparatus 400A (step F7).

次に、データ照合判定装置400Aの判定部404は、スコアを入力とし、照合結果を生成する(ステップF8)。   Next, the determination unit 404 of the data verification determination device 400A receives the score and generates a verification result (step F8).

このように、本第2の実施形態では、復号サーバ30Bとして働く照合補助装置500からの出力がスコアとなることにより、認証サーバ20Bとして働くデータ照合判定装置400Aが認証結果を判断するために必要な情報を得ることができる。その理由は、復号後に、スコア生成のために適切な分布に従った乱数を利用するからである。また、毎回照合時に用いる乱数を変更することにより、前回より近くなったか遠くなったかの判定ができず、ヒルクライミング攻撃が不可能となる。   As described above, in the second embodiment, the output from the verification assistant device 500 serving as the decryption server 30B becomes a score, which is necessary for the data verification determination device 400A serving as the authentication server 20B to determine the authentication result. Information can be obtained. This is because, after decryption, random numbers according to an appropriate distribution are used for score generation. In addition, by changing the random number used at the time of each check, it is impossible to determine whether it is closer or farther than the previous time, and a hill climbing attack is impossible.

次に、本発明の第1の実施例について詳細に説明する。本第1の実施例は、本発明の第1の実施形態の実施例である。   Next, the first embodiment of the present invention will be described in detail. The first example is an example of the first embodiment of the present invention.

説明のために、まず、本第1の実施例で用いる「公開鍵暗号」について説明する。本第1の実施例では、公開鍵暗号として、Boneh-Goh-Nissim 暗号(BGN暗号)を利用する。BGN暗号は、somewhat 準同型暗号である。すなわち、暗号化したまま1回の乗算、複数回の加算を計算できる公開鍵暗号である。   For explanation, first, “public key encryption” used in the first embodiment will be described. In the first embodiment, Boneh-Goh-Nissim encryption (BGN encryption) is used as public key encryption. BGN cipher is somewhat homomorphic cipher. In other words, it is a public key cryptography that can calculate one multiplication and multiple additions while encrypted.

公開鍵暗号(BGN暗号)は、(鍵生成、暗号化、復号)の3つのアルゴリズムから構成される。以下にそれぞれを説明する。   Public key cryptography (BGN cipher) is composed of three algorithms (key generation, encryption, and decryption). Each will be described below.

鍵生成アルゴリズムGen(k)は、セキュリティパラメータkを入力として、k/2ビットのランダムな素数q, rを選ぶ。n=qrとする。次に、鍵生成アルゴリズムGen(k)は、位数nの点Pを持つsupersinglar 楕円曲線 E/F_p を用意し、Pで生成される群をGとする。鍵生成アルゴリズムGen(k)は、群Gから無限遠点を除いた群からランダムにQ’を選び、Q=[r]Q’とする。(このときQは位数qである。)鍵生成アルゴリズムGen(k)は、e:G×G→μをペアリング関数とする。鍵生成アルゴリズムGen(k)は、公開鍵pk=(E, e, n, P, Q)と秘密鍵sk=qを出力する。   The key generation algorithm Gen (k) selects k / 2-bit random primes q and r with the security parameter k as an input. n = qr. Next, the key generation algorithm Gen (k) prepares a supersinglar elliptic curve E / F_p having a point P of order n, and G is a group generated by P. The key generation algorithm Gen (k) randomly selects Q ′ from the group obtained by removing the infinity point from the group G, and sets Q = [r] Q ′. (At this time, Q is the order q.) The key generation algorithm Gen (k) uses e: G × G → μ as a pairing function. The key generation algorithm Gen (k) outputs the public key pk = (E, e, n, P, Q) and the secret key sk = q.

暗号化アルゴリズムENC(pk, M)は、ランダムにtを[1,n]から選び、C=[m]P+[t]Qを計算する。暗号化アルゴリズムENC(pk, M)は、暗号文Cを出力する。   The encryption algorithm ENC (pk, M) randomly selects t from [1, n] and calculates C = [m] P + [t] Q. The encryption algorithm ENC (pk, M) outputs ciphertext C.

復号アルゴリズムDEC(sk, D)は、P’=[q]PとC’=[q]Cを計算する。復号アルゴリズムDEC(sk, D)は、M’=log_{P’}C’を計算する。復号アルゴリズムDEC(sk, D)は、平文M’を出力する。   The decryption algorithm DEC (sk, D) calculates P ′ = [q] P and C ′ = [q] C. The decryption algorithm DEC (sk, D) calculates M ′ = log_ {P ′} C ′. The decryption algorithm DEC (sk, D) outputs plaintext M ′.

尚、加算 ADD(pk, C1, C2)は、C’=C1+C2を計算して、暗号文C’を出力する。   Note that the addition ADD (pk, C1, C2) calculates C ′ = C1 + C2 and outputs the ciphertext C ′.

乗算 MULT(pk, C1, C2)は、D=e(C1, C2)を計算して、暗号文Dを出力する。   Multiplication MULT (pk, C1, C2) calculates D = e (C1, C2) and outputs ciphertext D.

乗算後の復号 DEC’(sk, D)は、g=e(P, P)とし、g’=g^{q}とD’=D^{q}を計算し、M’=log_{g’}D’を計算して、平文M’を出力する。   Decoding after multiplication DEC '(sk, D) is g = e (P, P), g' = g ^ {q} and D '= D ^ {q} are calculated, and M' = log_ {g Calculate '} D' and output plaintext M '.

乗算後の加算 ADD’(pk, D1, D2)は、D’=D1・D2を計算して、暗号文D’を出力する。   Addition after multiplication ADD ′ (pk, D1, D2) calculates D ′ = D1 · D2 and outputs ciphertext D ′.

BGN暗号は選択平文攻撃を行う攻撃者に対して識別不可能性を満たすことが数学的に証明可能な方式である。本第1の実施例では、BGN暗号を例として説明を行うが、他のsomewhat 準同型暗号を用いても構わない。また、本第1の実施例では、登録データおよび照合要求データをいずれも秘匿したまま照合を行う方法について説明するが、いずれか一方だけが秘匿される形態に容易に変換できる。その際は、somewhat 準同型暗号の代わりに、一般の準同型暗号、例えばPaillier暗号やElgamal暗号などを適用できる。   The BGN cipher is a method that can be mathematically proved to satisfy the indistinguishability of attackers who perform selective plaintext attacks. In the first embodiment, the BGN cipher will be described as an example, but other somewhat homomorphic cipher may be used. Further, in the first embodiment, a method of performing collation while keeping both the registration data and the collation request data secret is described. However, only one of them can be easily converted into a concealed form. In that case, general homomorphic encryption, such as Paillier cipher or Elgamal cipher, can be applied instead of somewhat homomorphic cipher.

本発明の第1の実施例の暗号文照合システムの動作は、セットアップフェイズと、データ登録フェイズと、暗号文照合フェイズと、の3つのフェイズに大別される。   The operation of the ciphertext verification system according to the first embodiment of the present invention is roughly divided into three phases: a setup phase, a data registration phase, and a ciphertext verification phase.

図18を参照して、セットアップフェイズにおいては、まず、照合補助装置500の鍵生成部501にセキュリティパラメータkが入力され、鍵生成部501は、鍵生成アルゴリズムGEN(k)を実行し、暗号化鍵(公開鍵)pkおよび復号鍵(秘密鍵)skを生成する(ステップA1)。   Referring to FIG. 18, in the setup phase, first, security parameter k is input to key generation unit 501 of verification assisting apparatus 500, and key generation unit 501 executes key generation algorithm GEN (k) for encryption. A key (public key) pk and a decryption key (secret key) sk are generated (step A1).

次に、鍵生成部501は、生成した暗号化鍵pkを登録データ生成装置100と、照合要求装置300と、データ照合判定装置400とに送付し、復号鍵skを鍵記憶部503に記憶する(ステップA2)。   Next, the key generation unit 501 sends the generated encryption key pk to the registered data generation device 100, the verification request device 300, and the data verification determination device 400, and stores the decryption key sk in the key storage unit 503. (Step A2).

図19を参照して、データ登録フェイズにおいては、まず、登録データ生成装置100の登録データ生成部101に、暗号化鍵pkと、秘匿対象となる入力データZが入力される(ステップB1)。   Referring to FIG. 19, in the data registration phase, first, the encryption data pk and the input data Z to be concealed are input to the registration data generation unit 101 of the registration data generation device 100 (step B1).

次に、登録データ生成部101は、入力データZと、暗号化鍵pkから、暗号化アルゴリズムENC(pk, Z)を行い、登録データPTを生成し、記憶装置200へ送付し、入力データZを登録したことをデータ照合要求装置300に送付する(ステップB2)。   Next, the registration data generation unit 101 performs the encryption algorithm ENC (pk, Z) from the input data Z and the encryption key pk, generates registration data PT, sends it to the storage device 200, and inputs the input data Z Is registered to the data verification requesting device 300 (step B2).

次に、登録データPTを受信した記憶装置200の識別子管理部201は、登録データPTを入力とし、データごとに異なる識別子IDを生成し、登録データPTを暗号文記憶部202に、識別子IDを識別子記憶部203にそれぞれ記憶する(ステップB3)。   Next, the identifier management unit 201 of the storage device 200 that has received the registration data PT receives the registration data PT, generates a different identifier ID for each data, and stores the registration data PT in the ciphertext storage unit 202. Each is stored in the identifier storage unit 203 (step B3).

このとき、登録データPTと、登録データに対して発行された識別子IDとが組であることが分かるように記憶されるものとする。また、暗号文記憶部と識別子記憶部とを別の部として記載しているが、同じ記憶装置(例えばデータベース等)に記憶してもよい。   At this time, it is assumed that the registration data PT and the identifier ID issued for the registration data are stored so as to be understood as a pair. Moreover, although the ciphertext storage unit and the identifier storage unit are described as separate units, they may be stored in the same storage device (for example, a database).

さらに、識別子管理部201は、データ照合要求装置300に、識別子を送付する(ステップB4)。   Further, the identifier management unit 201 sends the identifier to the data matching request device 300 (step B4).

データ照合要求装置300は、受信した識別子と入力データを識別子記憶部302に記憶する(ステップB5)。   The data verification requesting apparatus 300 stores the received identifier and input data in the identifier storage unit 302 (step B5).

図20を参照して、暗号文照合フェイズにおいては、データ照合要求装置300に照合対象の入力データZ’が入力される(ステップC1)。   Referring to FIG. 20, in the ciphertext verification phase, verification target input data Z 'is input to data verification requesting apparatus 300 (step C1).

次に、データ照合要求生成部301は、入力データZ’に対応する識別子ID’を識別子記憶部302から読み込む(ステップC2)。   Next, the data matching request generation unit 301 reads the identifier ID ′ corresponding to the input data Z ′ from the identifier storage unit 302 (step C2).

次に、データ照合要求生成部301は、入力データZ’と、識別子ID’と、暗号化鍵pkを入力として、暗号化アルゴリズムENC(pk, Z’)を行い、暗号文C’を生成する。そして、データ照合要求生成部301は、照合データ(ID’, C’)を生成し、データ照合判定装置400に送付する(ステップC3)。   Next, the data verification request generation unit 301 receives the input data Z ′, the identifier ID ′, and the encryption key pk, performs the encryption algorithm ENC (pk, Z ′), and generates a ciphertext C ′. . Then, the data verification request generator 301 generates verification data (ID ', C') and sends it to the data verification determination device 400 (step C3).

次に、データ照合判定装置400のデータ取得部401は、照合データ(ID’, C’)を入力とし、照合データに含まれる識別子ID’に対応した登録データPT’を、記憶装置200の暗号文記憶部202から受信する(ステップC4)。   Next, the data acquisition unit 401 of the data collation determination device 400 receives the collation data (ID ′, C ′) as input, and registers the registration data PT ′ corresponding to the identifier ID ′ included in the collation data into the encryption of the storage device 200. Received from the sentence storage unit 202 (step C4).

次に、距離計算部402は、照合データ(ID’, C’)と、登録データPT’と、暗号化鍵pkとを入力として、まずADD(pk, C, C’^{-1})を計算し、暗号文C-C’を生成する。ここでC’^{-1}はC’の逆元を意味する。次に、距離計算部402は、MULT(pk, C-C’, C-C’)を計算し、暗号文Dを生成する。そして、距離計算部402は、暗号文Dを暗号化距離データとする(ステップC5)。   Next, the distance calculation unit 402 receives the verification data (ID ′, C ′), the registration data PT ′, and the encryption key pk, and first adds ADD (pk, C, C ′ ^ {− 1}). To generate ciphertext CC ′. Here, C ′ ^ {-1} means an inverse element of C ′. Next, the distance calculation unit 402 calculates MULT (pk, C-C ′, C-C ′), and generates a ciphertext D. Then, the distance calculation unit 402 sets the ciphertext D as encrypted distance data (step C5).

次に、補助要求部403は、暗号化距離データDを入力とし、照合補助要求(D)を生成し、照合補助装置500に送付する(ステップC6)。   Next, the auxiliary request unit 403 receives the encrypted distance data D, generates a verification auxiliary request (D), and sends it to the verification auxiliary device 500 (step C6).

次に、照合補助装置500の復号部502は、照合補助要求(D)と、鍵記憶部504に記憶された復号鍵skとを入力とし、復号アルゴリズムDEC’(sk, D)を行い、復号結果dを得る。復号部502は、復号結果dを距離データとする(ステップC7)。   Next, the decryption unit 502 of the collation assisting device 500 receives the collation assist request (D) and the decryption key sk stored in the key storage unit 504, performs a decryption algorithm DEC ′ (sk, D), and decrypts the decryption key sk ′. Obtain the result d. The decoding unit 502 sets the decoding result d as distance data (step C7).

次に、スコア計算部503は、距離データdを入力とし、距離データdがあらかじめ決められた値tよりも小さければ、乱数rを選択し、スコアsc=d+rを生成し、データ照合判定装置400に送付する。一方、距離データdがあらかじめ決められた値tよりも大きな値ならば、スコア計算部503は、スコアsc=0として、データ照合判定装置400に送付する(ステップC8)。   Next, the score calculation unit 503 receives the distance data d and, if the distance data d is smaller than a predetermined value t, selects a random number r, generates a score sc = d + r, and performs data collation determination Send to device 400. On the other hand, if the distance data d is larger than the predetermined value t, the score calculation unit 503 sends the score sc = 0 to the data collation determination device 400 (step C8).

次に、データ照合判定装置400の判定部404は、スコアscを入力とし、sc≠0ならば受理を、そうでなければ不受理を照合結果とし、照合結果を生成する(ステップC9)。   Next, the determination unit 404 of the data collation determination apparatus 400 receives the score sc, accepts if sc ≠ 0, otherwise accepts the unacceptable result, and generates a collation result (step C9).

このように、第1の実施例では、復号サーバ30Bとして働く照合補助装置500からの出力がスコアscとなることにより、認証サーバ20Bとして働くデータ照合判定装置400が認証結果(照合結果)を判断するために必要な情報を得ることができる。その理由は、復号後に、スコア生成のために適切な分布に従った乱数を利用するからである。また、毎回照合時に用いる乱数を変更することにより、前回より近くなったか遠くなったかの判定ができず、ヒルクライミング攻撃が不可能となる。   As described above, in the first embodiment, when the output from the verification assisting device 500 serving as the decryption server 30B becomes the score sc, the data verification determination device 400 serving as the authentication server 20B determines the authentication result (matching result). You can get the information you need. This is because, after decryption, random numbers according to an appropriate distribution are used for score generation. In addition, by changing the random number used at the time of each check, it is impossible to determine whether it is closer or farther than the previous time, and a hill climbing attack is impossible.

次に、本発明の第2の実施例について詳細に説明する。本第2の実施例は、本発明の第2の実施形態の実施例である。   Next, a second embodiment of the present invention will be described in detail. The second example is an example of the second embodiment of the present invention.

本発明の第3の暗号文照合システムの動作は、セットアップフェイズと、データ登録フェイズと、暗号文照合フェイズと、の3つのフェイズに大別される。   The operation of the third ciphertext matching system of the present invention is roughly divided into three phases: a setup phase, a data registration phase, and a ciphertext matching phase.

ここで、データ登録フェイズは、登録データ生成装置600に入力データを入力し、入力データを暗号化し、記憶装置200に登録するフェイズである。暗号文照合フェイズは、データ照合要求装置700に入力された入力データを暗号化し、その際に生成された照合要求が、データ照合判定装置400Aによって記憶装置内の暗号データ(登録データ)と近い(ユークリッド距離の小さい)平文となるものであるかを判定するフェイズである。以下、各フェイズにおける動作に関して詳細に説明する。   Here, the data registration phase is a phase in which input data is input to the registration data generating device 600, the input data is encrypted, and registered in the storage device 200. In the ciphertext verification phase, the input data input to the data verification request device 700 is encrypted, and the verification request generated at that time is close to the encrypted data (registered data) in the storage device by the data verification determination device 400A ( This is a phase in which it is determined whether the text becomes plaintext (with a small Euclidean distance). Hereinafter, the operation in each phase will be described in detail.

図21を参照して、セットアップフェイズにおいては、まず、照合補助装置500の鍵生成部501にセキュリティパラメータkが入力され、鍵生成部501は、鍵生成アルゴリズムGen(k)を行い、暗号化鍵pkおよび復号鍵skを生成する(ステップD1)。   Referring to FIG. 21, in the setup phase, first, security parameter k is input to key generation unit 501 of verification assistant device 500, and key generation unit 501 performs key generation algorithm Gen (k) to generate an encryption key. pk and decryption key sk are generated (step D1).

次に、鍵生成部501は、生成した暗号化鍵pkを登録データ生成装置600と、データ照合要求装置700と、データ照合判定装置400Aとに送付し、復号鍵skを鍵記憶部503に記憶する(ステップD2)。   Next, the key generation unit 501 sends the generated encryption key pk to the registered data generation device 600, the data verification request device 700, and the data verification determination device 400A, and stores the decryption key sk in the key storage unit 503. (Step D2).

図22を参照して、データ登録フェイズにおいては、まず、登録データ生成装置600の登録データ生成部601に、暗号化鍵pkと、秘匿対象となる入力データZが入力される(ステップE1)。   Referring to FIG. 22, in the data registration phase, first, the encryption key pk and the input data Z to be concealed are input to the registration data generation unit 601 of the registration data generation device 600 (step E1).

次に、登録データ生成部601は、入力データZと、暗号化鍵pkから、暗号化アルゴリズムENC(pk, Z)を行い、暗号文Cを生成する。登録データ生成部601は、登録データPT=Cとし、記憶装置200へ送付する(ステップE2)。   Next, the registration data generation unit 601 generates the ciphertext C by performing the encryption algorithm ENC (pk, Z) from the input data Z and the encryption key pk. The registration data generation unit 601 sets the registration data PT = C and sends it to the storage device 200 (step E2).

次に、登録データPTを受信した記憶装置200の識別子管理部201は、登録データPTを入力とし、データごとに異なる識別子IDを生成し、登録データPTを暗号文記憶部202に、識別子IDを識別子記憶部203にそれぞれ記憶する(ステップE3)。   Next, the identifier management unit 201 of the storage device 200 that has received the registration data PT receives the registration data PT, generates a different identifier ID for each data, and stores the registration data PT in the ciphertext storage unit 202. Each is stored in the identifier storage unit 203 (step E3).

このとき、登録データPTと、登録データPTに対して発行された識別子IDとが組であることが分かるように記憶されるものとする。また、暗号文記憶部と識別子記憶部とを別の部として記載しているが、同じ記憶装置(例えばデータベース等)に記憶してもよい。   At this time, it is assumed that the registration data PT and the identifier ID issued to the registration data PT are stored so as to be understood as a pair. Moreover, although the ciphertext storage unit and the identifier storage unit are described as separate units, they may be stored in the same storage device (for example, a database).

図23を参照して、暗号文照合フェイズにおいては、データ照合要求装置700に照合対象の入力データZ’が入力される(ステップF1)。   Referring to FIG. 23, in the ciphertext verification phase, input data Z ′ to be verified is input to data verification requesting apparatus 700 (step F1).

次に、データ照合要求生成部701は、入力データZ’と、暗号化鍵pkを入力として、暗号化アルゴリズムENC(pk, Z’)を実行し、暗号文C’を生成する。登録データ生成部601は、照合データQD=C’とし、データ照合判定装置400Aに送付する(ステップF2)。   Next, the data verification request generation unit 701 receives the input data Z ′ and the encryption key pk, executes the encryption algorithm ENC (pk, Z ′), and generates a ciphertext C ′. The registered data generation unit 601 sets the collation data QD = C ′ and sends it to the data collation determination device 400A (step F2).

次に、データ照合判定装置400Aのデータ取得部401Aは、記憶装置200の暗号文記憶部202から登録データ{PT}をすべて受信する(ステップF3)。   Next, the data acquisition unit 401A of the data verification determination device 400A receives all the registration data {PT} from the ciphertext storage unit 202 of the storage device 200 (step F3).

次に、{PT}に含まれるPTすべてに対して、距離計算部402は、照合データQDと、登録データPTと、暗号化鍵pkとを入力として、まず、加算ADD(pk, PT, QD^{-1})=ENC(pk, Z-Z’)=C”を計算する。次に、距離計算部402は、乗算MULT(pk, C”, C”)=ENC(pk, (Z-Z’)^2)=Dを計算する。そして、距離計算部402は、全PTに対するDの集合を{D}とし、{D}を暗号化距離データとする(ステップF4)。   Next, for all PTs included in {PT}, the distance calculation unit 402 receives the collation data QD, the registration data PT, and the encryption key pk, and first adds ADD (pk, PT, QD ^ {-1}) = ENC (pk, Z-Z ′) = C ″. Next, the distance calculation unit 402 multiplies MULT (pk, C ″, C ″) = ENC (pk, (Z -Z ') ^ 2) = D The distance calculation unit 402 sets {D} as the set of Ds for all PTs and {D} as the encrypted distance data (step F4).

次に、補助要求部403は、暗号化距離データ{D}を入力とし、照合補助要求{D}を生成し、照合補助装置500に送付する(ステップF5)。   Next, the auxiliary request unit 403 receives the encrypted distance data {D}, generates a verification auxiliary request {D}, and sends it to the verification auxiliary device 500 (step F5).

次に、照合補助装置500の復号部502は、照合補助要求{D}と、鍵記憶部504に記憶された復号鍵skとを入力とし、{D}に含まれるすべてのDに対して、距離データdを生成する(ステップF6)。   Next, the decryption unit 502 of the collation assisting device 500 receives the collation assist request {D} and the decryption key sk stored in the key storage unit 504, and for all D included in {D}, Distance data d is generated (step F6).

次に、スコア計算部503は、すべての距離データ{d}を入力とし、あらかじめ決められた閾値tよりも小さいdのリスト{d1,…,dm}を生成する。ここで簡単のため、d1,…,dmは昇順すなわち、d1≦d2≦…≦dmを満たすことにする。次に、スコア計算部503は、ランダムにr1,…,rmを選ぶ。r1,…,rmは昇順すなわち、r1≦r2≦…≦rmを満たす。ただし、あるdi=djのとき、ri=rjであるように選ぶ。そして、スコア計算部503は、スコアを{r1,...,rm}とし、データ照合判定装置400に送付する(ステップF7)。   Next, the score calculation unit 503 receives all the distance data {d} as input, and generates a list {d1,..., Dm} of d smaller than a predetermined threshold value t. Here, for simplicity, d1,..., Dm are in ascending order, that is, d1 ≦ d2 ≦. Next, the score calculation unit 503 randomly selects r1,. r1,..., rm are in ascending order, that is, r1≤r2≤ ... ≤rm. However, when some di = dj, ri = rj is selected. Then, the score calculation unit 503 sets the scores to {r1,. . . , Rm} and sent to the data matching determination apparatus 400 (step F7).

次に、データ照合判定装置400Aの判定部404は、スコアを入力{r1,...,rm}とし、照合結果を生成する(ステップF8)。照合結果は例えば、スコアの一番小さいr1に対応するID1を識別子記憶部203から受信し、ID1を受理とする。あるいは閾値を下回ったすべてのIDを受理としてもよい。その他、アプリケーションによって受理の判断方法は複数考えられるが、いずれの判断方法にも適用可能である。   Next, the determination unit 404 of the data matching determination apparatus 400A inputs the scores {r1,. . . , Rm} and a collation result is generated (step F8). As the collation result, for example, ID1 corresponding to r1 having the smallest score is received from the identifier storage unit 203, and ID1 is accepted. Alternatively, all IDs that fall below the threshold may be accepted. In addition, there are a plurality of acceptance determination methods depending on the application, but any of the determination methods can be applied.

また、本第2の実施例では、スコアを距離の順序を保つようにランダムに選んでいるが、例えばアプリケーションによっては、距離の差を保存したい場合も考えられる。例えば、1位と2位の差が有意に(2位と3位,3位と4位などと比較して大きく)離れているか、などが照合結果を判断する方法になりうる。この場合は、上記方法の代わりに、d2-d1,d3-d2,…,dm-dm-1に対してm-1個の乱数を割り当てることで適用可能である。   In the second embodiment, the scores are randomly selected so as to maintain the order of distances. However, for example, depending on the application, it may be possible to store the difference in distances. For example, whether the difference between the first place and the second place is significantly different (larger than the second place and the third place, the third place and the fourth place, etc.) can be a method for judging the collation result. In this case, instead of the above method, m-1 random numbers can be assigned to d2-d1, d3-d2,..., Dm-dm-1.

このように、本第2の実施例では、照合時に復号サーバ30A(照合補助装置500)により計算された距離を、適切な分布に従って選ばれた乱数値に置き換え、スコアを生成することにより、例えば1位と2位が有意に差があるかを認証サーバ20B(データ照合判定装置400A)が判定可能となる。また、毎回照合時に用いる乱数を変更することにより、前回より近くなったか遠くなったかの判定ができず、ヒルクライミング攻撃が不可能となる。   As described above, in the second embodiment, the distance calculated by the decryption server 30A (the verification auxiliary device 500) at the time of verification is replaced with a random value selected according to an appropriate distribution, and a score is generated, for example. The authentication server 20B (data verification determination device 400A) can determine whether the first place and the second place are significantly different. In addition, by changing the random number used at the time of each check, it is impossible to determine whether it is closer or farther than the previous time, and a hill climbing attack is impossible.

なお、本発明に記載した方法は、コンピュータに実行させることのできるプログラムとして、フレキシブルディスク、ハードディスクなどの磁気ディスク、CD-ROM(compact disc read only memory)、DVD(digital versatile disc)などの光ディスク、光磁気ディスク(MO(magneto-optical disc))、半導体メモリなどの記憶媒体に格納して頒布することもできる。   The method described in the present invention is a program that can be executed by a computer, such as a flexible disk, a magnetic disk such as a hard disk, a CD-ROM (compact disc read only memory), an optical disk such as a DVD (digital versatile disc), It can also be stored and distributed in a storage medium such as a magneto-optical disc (MO) or semiconductor memory.

また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であってもよい。   In addition, as long as the storage medium can store a program and can be read by a computer, the storage format may be any form.

また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のミドルウェアなどが各処理の一部を実行してもよい。   Further, an operating system running on the computer, middleware such as database management software, network software, or the like may execute a part of each process based on an instruction of a program installed in the computer from the storage medium.

さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネットなどにより伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。   Furthermore, the storage medium in the present invention is not limited to a medium independent of a computer, but also includes a storage medium in which a program transmitted via a LAN, the Internet, or the like is downloaded and stored or temporarily stored.

また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であってもよい。   Further, the number of storage media is not limited to one, and the case where the processing in the above embodiment is executed from a plurality of media is also included in the storage media in the present invention, and the media configuration may be any configuration.

本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき各処理を実行するものであって、パソコンなどからなる装置、複数の装置がネットワーク接続されたシステムなどの何れの構成であってもよい。   The computer according to the present invention executes each process based on a program stored in a storage medium, and may have any configuration such as a device including a personal computer or a system in which a plurality of devices are connected to a network. .

また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置を含み、プログラムによって本発明の機能を実現することが可能な機器、装置である。   The computer in the present invention is not limited to a personal computer, but includes an arithmetic processing unit included in an information processing device, and is a device or device capable of realizing the functions of the present invention by a program.

なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。また、構成要素を適宜組合せてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Various inventions can be formed by appropriately combining a plurality of components. For example, some components may be deleted from all the components shown in the embodiment. Moreover, you may combine a component suitably.

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。   A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.

(付記1)
暗号化鍵を用いて秘匿対象となる入力データを暗号化して、登録データを出力する登録データ生成部と、
該登録データを暗号文記憶部に、当該登録データを一意に特定するための識別子を識別子記憶部に、それぞれ対応が分かるように記憶する記憶装置と、
前記暗号化鍵を用いて照合対象の入力データを暗号化して、照合データを出力するデータ照合要求生成部と、
前記登録データと前記照合データとから前記暗号化鍵を用いて、暗号化距離データを出力する距離計算部と、
復号鍵を用いて前記暗号化距離データを復号して、距離データを生成する復号部と、
前記距離データから乱数を用いてスコアを生成するスコア計算部と、
前記スコアから照合結果を出力する判定部と、
を含む、暗号文照合システム。
(Appendix 1)
A registration data generating unit that encrypts input data to be concealed using an encryption key and outputs registration data;
A storage device for storing the registration data in the ciphertext storage unit, and an identifier for uniquely identifying the registration data in the identifier storage unit so that the correspondence can be understood;
A data collation request generator that encrypts input data to be collated using the encryption key and outputs collation data;
A distance calculation unit that outputs encrypted distance data using the encryption key from the registration data and the verification data;
Decrypting the encrypted distance data using a decryption key to generate distance data;
A score calculation unit that generates a score using random numbers from the distance data;
A determination unit that outputs a matching result from the score;
Ciphertext matching system including

(付記2)
前記スコア計算部は、
前記距離データと予め決められた値とを比較する手段と、
前記距離データが前記予め決められた値よりも小さければ、前記乱数を選択して、前記距離データと前記乱数とを加算した値を、前記スコアとして生成する手段と、
前記距離データが前記予め決められた値よりも大きければ、ゼロを前記スコアとして生成する手段と、
を有する、付記1に記載の暗号文照合システム。
(Appendix 2)
The score calculation unit
Means for comparing the distance data with a predetermined value;
If the distance data is smaller than the predetermined value, the random number is selected, and a value obtained by adding the distance data and the random number is generated as the score;
Means for generating zero as the score if the distance data is greater than the predetermined value;
The ciphertext verification system according to supplementary note 1, comprising:

(付記3)
セキュリティパラメータから、前記暗号化鍵と前記復号鍵とを生成する鍵生成部を更に含む、付記1又は2に記載の暗号文照合システム。
(Appendix 3)
The ciphertext verification system according to appendix 1 or 2, further including a key generation unit that generates the encryption key and the decryption key from security parameters.

(付記4)
前記鍵生成部は、前記暗号化鍵および前記復号鍵として、それぞれ、準同型暗号あるいはSomewhat準同型暗号の公開鍵および秘密鍵を生成する付記3に記載の暗号文照合システム。
(Appendix 4)
The ciphertext verification system according to appendix 3, wherein the key generation unit generates a public key and a secret key of homomorphic encryption or Somewhat homomorphic encryption, respectively, as the encryption key and the decryption key.

(付記5)
付記1乃至4のいずれか1項に記載の暗号文照合システムを備え、前記秘匿対象となる入力データおよび前記照合対象の入力データが生体情報であり、前記秘匿対象となる入力データと前記照合対象の入力データとが類似している否かを判定することによって生体認証を行うことを特徴とする生体認証システム。
(Appendix 5)
The ciphertext matching system according to any one of appendices 1 to 4, wherein the input data to be concealed and the input data to be collated are biometric information, and the input data to be concealed and the collation target A biometric authentication system for performing biometric authentication by determining whether or not the input data is similar to each other.

(付記6)
第1のクライアントが、暗号化鍵を用いて秘匿対象となる入力データを暗号化して登録データを生成し、認証サーバが、該登録データを、当該登録データを一意に特定するための識別子とともに記憶部に記憶するデータ登録ステップと、
第2のクライアントが、前記暗号化鍵を用いて照合対象の入力データを暗号化して照合データを生成し、前記認証サーバが、前記記憶部に記憶された前記登録データと前記照合データとから、前記暗号化鍵を用いて暗号化距離データを生成し、復号サーバが、復号鍵を用いて前記暗号化距離データを復号して距離データを生成し、該距離データから乱数を用いてスコアを生成し、前記認証サーバが、前記スコアから照合結果を生成する、暗号文照合ステップと、
を含む、暗号文照合方法。
(Appendix 6)
The first client encrypts input data to be concealed using an encryption key to generate registration data, and the authentication server stores the registration data together with an identifier for uniquely identifying the registration data A data registration step to be stored in the unit;
A second client encrypts input data to be verified using the encryption key to generate verification data, and the authentication server uses the registration data and the verification data stored in the storage unit, Generate encrypted distance data using the encryption key, and a decryption server decrypts the encrypted distance data using the decryption key to generate distance data, and generates a score from the distance data using a random number A ciphertext matching step in which the authentication server generates a matching result from the score;
Ciphertext matching method including

(付記7)
第1のクライアントが、暗号化鍵を用いて秘匿対象となる入力データを暗号化して、登録データを生成する登録データ生成ステップと、
認証サーバが、該登録データを、当該登録データを一意に特定するための識別子とともに記憶部に記憶するステップと、
第2のクライアントが、前記暗号化鍵を用いて照合対象の入力データを暗号化して、照合データを生成するデータ照合要求生成ステップと、
前記認証サーバが、前記記憶部に記憶された前記登録データと前記照合データとから、前記暗号化鍵を用いて暗号化距離データを生成する距離計算ステップと、
復号サーバが、復号鍵を用いて前記暗号化距離データを復号して、距離データを生成する復号ステップと、
前記復号サーバが、前記距離データから乱数を用いてスコアを計算するスコア計算ステップと、
前記認証サーバが、前記スコアから照合結果を生成する判定ステップと、
を含む、暗号文照合方法。
(Appendix 7)
A registration data generation step in which a first client encrypts input data to be concealed using an encryption key and generates registration data;
An authentication server storing the registration data in a storage unit together with an identifier for uniquely identifying the registration data;
A data collation request generating step in which a second client encrypts input data to be collated using the encryption key and generates collation data;
A distance calculating step in which the authentication server generates encrypted distance data using the encryption key from the registration data and the verification data stored in the storage unit;
A decryption step in which a decryption server decrypts the encrypted distance data using a decryption key to generate distance data;
A score calculating step in which the decryption server calculates a score from the distance data using a random number;
A determination step in which the authentication server generates a matching result from the score;
Ciphertext matching method including

(付記8)
暗号化鍵を用いて秘匿対象となる入力データを暗号化して、登録データを生成する登録データ生成処理と、
該登録データを、当該登録データを一意に特定するための識別子とともに記憶部に記憶する処理と、
前記暗号化鍵を用いて照合対象の入力データを暗号化して、照合データを生成するデータ照合要求生成処理と、
前記記憶部に記憶された前記登録データと前記照合データとから、前記暗号化鍵を用いて暗号化距離データを生成する距離計算処理と、
復号鍵を用いて前記暗号化距離データを復号して、距離データを生成する復号処理と、
前記距離データから乱数を用いてスコアを計算するスコア計算処理と、
前記スコアから照合結果を生成する判定処理と、
をコンピュータに実行させる、暗号文照合プログラム。
(Appendix 8)
A registration data generation process for generating registration data by encrypting input data to be concealed using an encryption key;
Storing the registration data in a storage unit together with an identifier for uniquely identifying the registration data;
A data verification request generation process for generating verification data by encrypting input data to be verified using the encryption key;
A distance calculation process for generating encrypted distance data using the encryption key from the registration data and the verification data stored in the storage unit;
Decrypting the encrypted distance data using a decryption key to generate distance data;
A score calculation process for calculating a score from the distance data using a random number;
A determination process for generating a matching result from the score;
A ciphertext verification program that causes a computer to execute.

(付記9)
セキュリティパラメータから、暗号化鍵と復号鍵とを生成する鍵生成部と、
前記復号鍵を用いて暗号化距離データを復号して、距離データを生成する復号部と、
前記距離データから乱数を用いてスコアを計算するスコア計算部と、
を有する照合補助装置。
(Appendix 9)
A key generation unit that generates an encryption key and a decryption key from security parameters;
Decrypting encrypted distance data using the decryption key to generate distance data; and
A score calculator that calculates a score using random numbers from the distance data;
A collation assisting device.

(付記10)
付記9に記載の照合補助装置で生成された暗号化鍵を用いて、秘匿対象となる入力データを暗号化して、登録データを生成する登録データ生成部を有する登録データ生成装置。
(Appendix 10)
A registration data generation device having a registration data generation unit that generates registration data by encrypting input data to be concealed using the encryption key generated by the verification assisting device according to attachment 9.

(付記11)
付記10に記載の登録データ生成装置で生成された前記登録データを入力として、前記登録データを一意に特定する識別子を管理する識別子管理部と、
前記登録データを記憶する暗号文記憶部と、
前記識別子を記憶する識別子記憶部と、
を有する記憶装置。
(Appendix 11)
An identifier management unit that manages an identifier that uniquely identifies the registration data, using the registration data generated by the registration data generation device according to attachment 10 as an input;
A ciphertext storage unit for storing the registration data;
An identifier storage unit for storing the identifier;
A storage device.

(付記12)
付記11に記載の記憶装置に記憶されている前記識別子を記憶する識別子記憶部と、
照合対象の入力データに対応する識別子を前記識別子記憶部から読み込み、付記9に記載の照合補助装置で生成された暗号化鍵を用いて、前記照合対象の入力データを暗号化して、前記識別子を含む照合データを生成するデータ照合要求生成部と、
を有するデータ照合要求装置。
(Appendix 12)
An identifier storage unit that stores the identifier stored in the storage device according to attachment 11,
The identifier corresponding to the input data to be verified is read from the identifier storage unit, the input data to be verified is encrypted using the encryption key generated by the verification auxiliary device according to appendix 9, and the identifier is A data collation request generator for generating collation data including,
A data verification requesting device.

(付記13)
付記12に記載のデータ照合要求装置から受信した照合データに含まれる識別子に対応する登録データを、付記11に記載の記憶装置の前記暗号文記憶部から取得するデータ取得部と、
前記登録データと前記照合データとから、付記9に記載の照合補助装置で生成された暗号化鍵を用いて、暗号化距離データを計算する距離計算部と、
前記暗号化距離データを補助要求データとして、付記9に記載の照合補助装置へ送出する補助要求部と、
付記9に記載の照合補助装置から受信したスコアから照合結果を出力する判定部と、
を有するデータ照合判定装置。
(Appendix 13)
A data acquisition unit that acquires, from the ciphertext storage unit of the storage device according to appendix 11, registration data corresponding to the identifier included in the collation data received from the data collation requesting device according to appendix 12.
A distance calculation unit that calculates encrypted distance data from the registration data and the verification data using an encryption key generated by the verification auxiliary device according to appendix 9.
An auxiliary request unit that transmits the encrypted distance data as auxiliary request data to the verification auxiliary device according to attachment 9,
A determination unit that outputs a matching result from the score received from the matching assisting device according to attachment 9,
A data collation determination device.

(付記14)
付記9に記載の照合補助装置で生成された暗号化鍵を用いて、照合対象の入力データを暗号化して、照合データを生成するデータ照合要求生成部を有するデータ照合要求装置。
(Appendix 14)
A data collation request device having a data collation request generation unit that generates collation data by encrypting input data to be collated using the encryption key generated by the collation auxiliary device according to attachment 9.

(付記15)
付記11に記載の記憶装置の前記暗号文記憶部に記憶されている登録データの全てを取得するデータ取得部と、
前記登録データと前記照合データとから、付記9に記載の照合補助装置で生成された暗号化鍵を用いて、暗号化距離データを計算する距離計算部と、
前記暗号化距離データを補助要求データとして、付記9に記載の照合補助装置へ送出する補助要求部と、
付記9に記載の照合補助装置から受信したスコアから照合結果を出力する判定部と、
を有するデータ照合判定装置。
(Appendix 15)
A data acquisition unit that acquires all of the registration data stored in the ciphertext storage unit of the storage device according to attachment 11,
A distance calculation unit that calculates encrypted distance data from the registration data and the verification data using an encryption key generated by the verification auxiliary device according to appendix 9.
An auxiliary request unit that transmits the encrypted distance data as auxiliary request data to the verification auxiliary device according to attachment 9,
A determination unit that outputs a matching result from the score received from the matching assisting device according to attachment 9,
A data collation determination device.

(付記16)
登録データ生成装置と、記憶装置と、データ照合要求装置と、データ照合判定装置と、照合補助装置とを備える暗号文照合システムであって、
前記登録データ生成装置は、秘匿対象となる入力データを、暗号化鍵を用いて暗号化して、登録データを出力する登録データ生成部を備え、
前記記憶装置は、前記登録データ生成部が生成した登録データを入力として受け取り、データごとに異なる識別子を生成し、前記登録データを暗号文記憶部に、対応する識別子を識別子記憶部に、それぞれ対応が分かるように記憶する識別子管理部を備え、
前記データ照合要求装置は、前記暗号化鍵と、識別子記憶部に記憶された識別子と、照合対象の入力データとを入力とし、照合データを出力するデータ照合要求生成部を備え、
前記データ照合判定装置は、
前記照合データに含まれる識別子に対応する登録データを、前記記憶装置の暗号文記憶部から取得するデータ取得部と、
取得した登録データと、前記照合データと、前記暗号化鍵とを入力とし、暗号化距離データを出力する距離計算部と、
前記暗号化距離データを入力とし、前記照合補助装置に補助要求データを出力する補助要求部と、
前記照合補助装置から受信したスコアを入力とし、照合結果を出力する判定部と、を備え、
前記照合補助装置は、
セキュリティパラメータを入力とし、前記暗号化鍵および復号鍵を出力する鍵生成部と、
前記データ照合判定装置から受信した補助要求データと、前記復号鍵とを入力とし、距離データを生成する復号部と、
前記距離データを入力とし、乱数を用いて前記スコアを出力するスコア計算部と、を備える
ことを特徴とする暗号文照合システム。
(Appendix 16)
A ciphertext verification system comprising a registered data generation device, a storage device, a data verification request device, a data verification determination device, and a verification auxiliary device,
The registration data generation device includes a registration data generation unit that encrypts input data to be concealed using an encryption key and outputs registration data,
The storage device receives the registration data generated by the registration data generation unit as an input, generates a different identifier for each data, and corresponds the registration data to the ciphertext storage unit and the corresponding identifier to the identifier storage unit. Including an identifier management unit for storing so that
The data verification request device includes a data verification request generation unit that receives the encryption key, an identifier stored in an identifier storage unit, and input data to be verified, and outputs verification data.
The data collation determination device
A data acquisition unit that acquires registration data corresponding to the identifier included in the verification data from the ciphertext storage unit of the storage device;
A distance calculation unit that inputs the acquired registration data, the verification data, and the encryption key and outputs encrypted distance data;
An auxiliary request unit that receives the encrypted distance data and outputs auxiliary request data to the verification auxiliary device;
A score received from the verification assisting device as an input, and a determination unit that outputs a verification result,
The verification assisting device is:
A key generation unit that receives a security parameter and outputs the encryption key and the decryption key;
The auxiliary request data received from the data matching determination device and the decryption key as inputs, a decryption unit that generates distance data,
A ciphertext matching system, comprising: a score calculation unit that receives the distance data and outputs the score using a random number.

(付記17)
付記16に記載の暗号文照合システムであって、
前記照合補助装置の前記鍵生成部は、準同型暗号あるいはSomewhat準同型暗号の暗号化鍵および復号鍵を生成し、
前記登録データ生成装置の前記登録データ生成部は、前記暗号化鍵を用いて前記登録データを生成し、
前記データ照合要求装置の前記データ照合要求生成部は、前記暗号化鍵を用いて前記照合データを生成し、
前記照合補助装置の前記復号部は、前記復号鍵を用いて前記距離データを生成する
ことを特徴とする暗号文照合システム。
(Appendix 17)
The ciphertext matching system according to appendix 16, wherein
The key generation unit of the verification assisting device generates an encryption key and a decryption key of homomorphic encryption or Somewhat homomorphic encryption,
The registration data generation unit of the registration data generation device generates the registration data using the encryption key,
The data verification request generating unit of the data verification requesting device generates the verification data using the encryption key,
The ciphertext verification system, wherein the decryption unit of the verification assisting device generates the distance data using the decryption key.

(付記18)
登録データ生成装置と、記憶装置と、データ照合要求装置と、データ照合判定装置と、照合補助装置とを備える暗号文照合システムであって、
前記登録データ生成装置は、秘匿対象となる入力データと、暗号化鍵とを入力とし、登録データを出力する登録データ生成部を備え、
前記記憶装置は、前記登録データ生成部が生成した登録データを入力として受け取り、データごとに異なる識別子を生成し、前記登録データを暗号文記憶部に、対応する識別子を識別子記憶部に、それぞれ対応が分かるように記憶する識別子管理部を備え、
前記データ照合要求装置は、前記暗号化鍵と、照合対象データとを入力とし、照合データを出力するデータ照合要求生成部を備え、
前記データ照合判定装置は、
前記記憶装置の前記暗号文記憶部に記憶されている登録データをすべて取得するデータ取得部と、
取得した登録データと、前記照合データと、前記暗号化鍵とを入力とし、暗号化距離データを出力する距離計算部と、
前記暗号化距離データを入力とし、前記照合補助装置に補助要求データを出力する補助要求部と、
前記照合補助装置から受信したスコアを入力とし、照合結果を出力する判定部と、を備え、
前記照合補助装置は、
セキュリティパラメータを入力とし、前記暗号化鍵および復号鍵を出力する鍵生成部と、
前記データ照合判定装置から受信した補助要求データと、前記復号鍵とを入力とし、距離データを生成する復号部と、
前記距離データを入力とし、乱数を用いて前記スコアを出力するスコア計算部と、を備える
ことを特徴とする暗号文照合システム。
(Appendix 18)
A ciphertext verification system comprising a registered data generation device, a storage device, a data verification request device, a data verification determination device, and a verification auxiliary device,
The registration data generation apparatus includes a registration data generation unit that inputs input data to be concealed and an encryption key, and outputs registration data.
The storage device receives the registration data generated by the registration data generation unit as an input, generates a different identifier for each data, and corresponds the registration data to the ciphertext storage unit and the corresponding identifier to the identifier storage unit. Including an identifier management unit for storing so that
The data verification requesting apparatus includes a data verification request generation unit that receives the encryption key and verification target data and outputs verification data.
The data collation determination device
A data acquisition unit that acquires all registration data stored in the ciphertext storage unit of the storage device;
A distance calculation unit that inputs the acquired registration data, the verification data, and the encryption key and outputs encrypted distance data;
An auxiliary request unit that receives the encrypted distance data and outputs auxiliary request data to the verification auxiliary device;
A score received from the verification assisting device as an input, and a determination unit that outputs a verification result,
The verification assisting device is:
A key generation unit that receives a security parameter and outputs the encryption key and the decryption key;
The auxiliary request data received from the data matching determination device and the decryption key as inputs, a decryption unit that generates distance data,
A ciphertext matching system comprising: a score calculation unit that receives the distance data and outputs the score using a random number.

(付記19)
付記18に記載の暗号文照合システムであって、
前記照合補助装置の前記鍵生成部は、準同型暗号あるいはSomewhat準同型暗号の暗号化鍵および復号鍵を生成し、
前記登録データ生成装置の前記登録データ生成部は、前記暗号化鍵を用いて前記登録データを生成し、
前記データ照合要求装置の前記データ照合要求生成部は、前記暗号化鍵を用いて前記照合データを生成し、
前記照合補助装置の前記復号部は、前記復号鍵を用いて前記距離データを生成する
ことを特徴とする暗号文照合システム。
(Appendix 19)
The ciphertext matching system according to appendix 18, wherein
The key generation unit of the verification assisting device generates an encryption key and a decryption key of homomorphic encryption or Somewhat homomorphic encryption,
The registration data generation unit of the registration data generation device generates the registration data using the encryption key,
The data verification request generating unit of the data verification requesting device generates the verification data using the encryption key,
The ciphertext verification system, wherein the decryption unit of the verification assisting device generates the distance data using the decryption key.

本発明の活用例として、生体情報を保護した認証が挙げられる。データ登録フェイズにおける入力データと、暗号文照合フェイズにおける入力データを、指紋や静脈などから取得した生体情報とする。このことで、登録時に使用したデータZと照合時に使用したデータZ’との間の距離に関するスコアを出力しても、データに関する情報が漏れない、照合元データと照合対象データに多少の誤差を許した認証を行うことが可能となる。生体情報は、常に安定して同一のデータが取得できるわけではないが、同じ人物から取得されるデータが類似している(ユークリッド距離が小さいデータが取得できる)と仮定できるため、本発明の生体認証への活用は産業上有用であると考えられる。   As an application example of the present invention, there is authentication that protects biometric information. The input data in the data registration phase and the input data in the ciphertext verification phase are biometric information acquired from a fingerprint or a vein. As a result, even if the score related to the distance between the data Z used during registration and the data Z ′ used during verification is output, information about the data will not be leaked. Allowed authentication can be performed. Biometric information is not always able to stably acquire the same data, but it can be assumed that data acquired from the same person is similar (data with a small Euclidean distance can be acquired). Utilization for certification is considered industrially useful.

10 クライアント
20B 認証サーバ
30B 復号サーバ
100 登録データ生成装置
101 登録データ生成部
200 記憶装置
201 識別子管理部
202 暗号文記憶部
203 識別子記憶部
301 データ照合要求生成部
302 識別子記憶部
400 データ照合判定装置
400A データ照合判定装置
401 データ取得部
401A データ取得部
402 距離計算部
403 補助要求部
404 判定部
500 照合補助装置
501 鍵生成部
502 復号部
503 スコア計算部
504 鍵記憶部
600 登録データ生成装置
601 登録データ生成部
700 データ照合要求装置
701 データ照合要求生成部
DESCRIPTION OF SYMBOLS 10 Client 20B Authentication server 30B Decryption server 100 Registration data generation apparatus 101 Registration data generation part 200 Storage apparatus 201 Identifier management part 202 Ciphertext storage part 203 Identifier storage part 301 Data collation request generation part 302 Identifier storage part 400 Data collation determination apparatus 400A Data verification determination device 401 Data acquisition unit 401A Data acquisition unit 402 Distance calculation unit 403 Auxiliary request unit 404 Determination unit 500 Verification auxiliary device 501 Key generation unit 502 Decryption unit 503 Score calculation unit 504 Key storage unit 600 Registered data generation device 601 Registration data Generation unit 700 Data verification request device 701 Data verification request generation unit

Claims (10)

暗号化鍵を用いて秘匿対象となる入力データを暗号化して、登録データを出力する登録データ生成部と、
該登録データを暗号文記憶部に、当該登録データを一意に特定するための識別子を識別子記憶部に、それぞれ対応が分かるように記憶する記憶装置と、
前記暗号化鍵を用いて照合対象の入力データを暗号化して、照合データを出力するデータ照合要求生成部と、
前記登録データと前記照合データとから前記暗号化鍵を用いて、暗号化距離データを出力する距離計算部と、
復号鍵を用いて前記暗号化距離データを復号して、距離データを生成する復号部と、
前記距離データから乱数を用いてスコアを生成するスコア計算部と、
前記スコアから照合結果を出力する判定部と、
を含む、暗号文照合システム。
A registration data generating unit that encrypts input data to be concealed using an encryption key and outputs registration data;
A storage device for storing the registration data in the ciphertext storage unit, and an identifier for uniquely identifying the registration data in the identifier storage unit so that the correspondence can be understood;
A data collation request generator that encrypts input data to be collated using the encryption key and outputs collation data;
A distance calculation unit that outputs encrypted distance data using the encryption key from the registration data and the verification data;
Decrypting the encrypted distance data using a decryption key to generate distance data;
A score calculation unit that generates a score using random numbers from the distance data;
A determination unit that outputs a matching result from the score;
Ciphertext matching system including
前記スコア計算部は、
前記距離データと予め決められた値とを比較する手段と、
前記距離データが前記予め決められた値よりも小さければ、前記乱数を選択して、前記距離データと前記乱数とを加算した値を、前記スコアとして生成する手段と、
前記距離データが前記予め決められた値よりも大きければ、ゼロを前記スコアとして生成する手段と、
を有する、請求項1に記載の暗号文照合システム。
The score calculation unit
Means for comparing the distance data with a predetermined value;
If the distance data is smaller than the predetermined value, the random number is selected, and a value obtained by adding the distance data and the random number is generated as the score;
Means for generating zero as the score if the distance data is greater than the predetermined value;
The ciphertext verification system according to claim 1, comprising:
セキュリティパラメータから、前記暗号化鍵と前記復号鍵とを生成する鍵生成部を更に含む、請求項1又は2に記載の暗号文照合システム。   The ciphertext verification system according to claim 1, further comprising a key generation unit that generates the encryption key and the decryption key from security parameters. 前記鍵生成部は、前記暗号化鍵および前記復号鍵として、それぞれ、準同型暗号あるいはSomewhat準同型暗号の公開鍵および秘密鍵を生成する請求項3に記載の暗号文照合システム。   The ciphertext matching system according to claim 3, wherein the key generation unit generates a public key and a secret key of homomorphic encryption or Somewhat homomorphic encryption, respectively, as the encryption key and the decryption key. 請求項1乃至4のいずれか1項に記載の暗号文照合システムを備え、前記秘匿対象となる入力データおよび前記照合対象の入力データが生体情報であり、前記秘匿対象となる入力データと前記照合対象の入力データとが類似している否かを判定することによって生体認証を行うことを特徴とする生体認証システム。   5. The ciphertext matching system according to claim 1, wherein the input data to be concealed and the input data to be collated are biometric information, and the input data to be concealed and the collation A biometric authentication system that performs biometric authentication by determining whether or not target input data is similar. 第1のクライアントが、暗号化鍵を用いて秘匿対象となる入力データを暗号化して登録データを生成し、認証サーバが、該登録データを、当該登録データを一意に特定するための識別子とともに記憶部に記憶するデータ登録ステップと、
第2のクライアントが、前記暗号化鍵を用いて照合対象の入力データを暗号化して照合データを生成し、前記認証サーバが、前記記憶部に記憶された前記登録データと前記照合データとから、前記暗号化鍵を用いて暗号化距離データを生成し、復号サーバが、復号鍵を用いて前記暗号化距離データを復号して距離データを生成し、該距離データから乱数を用いてスコアを生成し、前記認証サーバが、前記スコアから照合結果を生成する、暗号文照合ステップと、
を含む、暗号文照合方法。
The first client encrypts input data to be concealed using an encryption key to generate registration data, and the authentication server stores the registration data together with an identifier for uniquely identifying the registration data A data registration step to be stored in the unit;
A second client encrypts input data to be verified using the encryption key to generate verification data, and the authentication server uses the registration data and the verification data stored in the storage unit, Generate encrypted distance data using the encryption key, and a decryption server decrypts the encrypted distance data using the decryption key to generate distance data, and generates a score from the distance data using a random number A ciphertext matching step in which the authentication server generates a matching result from the score;
Ciphertext matching method including
第1のクライアントが、暗号化鍵を用いて秘匿対象となる入力データを暗号化して、登録データを生成する登録データ生成ステップと、
認証サーバが、該登録データを、当該登録データを一意に特定するための識別子とともに記憶部に記憶するステップと、
第2のクライアントが、前記暗号化鍵を用いて照合対象の入力データを暗号化して、照合データを生成するデータ照合要求生成ステップと、
前記認証サーバが、前記記憶部に記憶された前記登録データと前記照合データとから、前記暗号化鍵を用いて暗号化距離データを生成する距離計算ステップと、
復号サーバが、復号鍵を用いて前記暗号化距離データを復号して、距離データを生成する復号ステップと、
前記復号サーバが、前記距離データから乱数を用いてスコアを計算するスコア計算ステップと、
前記認証サーバが、前記スコアから照合結果を生成する判定ステップと、
を含む、暗号文照合方法。
A registration data generation step in which a first client encrypts input data to be concealed using an encryption key and generates registration data;
An authentication server storing the registration data in a storage unit together with an identifier for uniquely identifying the registration data;
A data collation request generating step in which a second client encrypts input data to be collated using the encryption key and generates collation data;
A distance calculating step in which the authentication server generates encrypted distance data using the encryption key from the registration data and the verification data stored in the storage unit;
A decryption step in which a decryption server decrypts the encrypted distance data using a decryption key to generate distance data;
A score calculating step in which the decryption server calculates a score from the distance data using a random number;
A determination step in which the authentication server generates a matching result from the score;
Ciphertext matching method including
暗号化鍵を用いて秘匿対象となる入力データを暗号化して、登録データを生成する登録データ生成処理と、
該登録データを、当該登録データを一意に特定するための識別子とともに記憶部に記憶する処理と、
前記暗号化鍵を用いて照合対象の入力データを暗号化して、照合データを生成するデータ照合要求生成処理と、
前記記憶部に記憶された前記登録データと前記照合データとから、前記暗号化鍵を用いて暗号化距離データを生成する距離計算処理と、
復号鍵を用いて前記暗号化距離データを復号して、距離データを生成する復号処理と、
前記距離データから乱数を用いてスコアを計算するスコア計算処理と、
前記スコアから照合結果を生成する判定処理と、
をコンピュータに実行させる、暗号文照合プログラム。
A registration data generation process for generating registration data by encrypting input data to be concealed using an encryption key;
Storing the registration data in a storage unit together with an identifier for uniquely identifying the registration data;
A data verification request generation process for generating verification data by encrypting input data to be verified using the encryption key;
A distance calculation process for generating encrypted distance data using the encryption key from the registration data and the verification data stored in the storage unit;
Decrypting the encrypted distance data using a decryption key to generate distance data;
A score calculation process for calculating a score from the distance data using a random number;
A determination process for generating a matching result from the score;
A ciphertext verification program that causes a computer to execute.
登録データ生成装置と、記憶装置と、データ照合要求装置と、データ照合判定装置と、照合補助装置とを備える暗号文照合システムであって、
前記登録データ生成装置は、秘匿対象となる入力データを、暗号化鍵を用いて暗号化して、登録データを出力する登録データ生成部を備え、
前記記憶装置は、前記登録データ生成部が生成した登録データを入力として受け取り、データごとに異なる識別子を生成し、前記登録データを暗号文記憶部に、対応する識別子を識別子記憶部に、それぞれ対応が分かるように記憶する識別子管理部を備え、
前記データ照合要求装置は、前記暗号化鍵と、識別子記憶部に記憶された識別子と、照合対象の入力データとを入力とし、照合データを出力するデータ照合要求生成部を備え、
前記データ照合判定装置は、
前記照合データに含まれる識別子に対応する登録データを、前記記憶装置の暗号文記憶部から取得するデータ取得部と、
取得した登録データと、前記照合データと、前記暗号化鍵とを入力とし、暗号化距離データを出力する距離計算部と、
前記暗号化距離データを入力とし、前記照合補助装置に補助要求データを出力する補助要求部と、
前記照合補助装置から受信したスコアを入力とし、照合結果を出力する判定部と、を備え、
前記照合補助装置は、
セキュリティパラメータを入力とし、前記暗号化鍵および復号鍵を出力する鍵生成部と、
前記データ照合判定装置から受信した補助要求データと、前記復号鍵とを入力とし、距離データを生成する復号部と、
前記距離データを入力とし、乱数を用いて前記スコアを出力するスコア計算部と、を備える
ことを特徴とする暗号文照合システム。
A ciphertext verification system comprising a registered data generation device, a storage device, a data verification request device, a data verification determination device, and a verification auxiliary device,
The registration data generation device includes a registration data generation unit that encrypts input data to be concealed using an encryption key and outputs registration data,
The storage device receives the registration data generated by the registration data generation unit as an input, generates a different identifier for each data, and corresponds the registration data to the ciphertext storage unit and the corresponding identifier to the identifier storage unit. Including an identifier management unit for storing so that
The data verification request device includes a data verification request generation unit that receives the encryption key, an identifier stored in an identifier storage unit, and input data to be verified, and outputs verification data.
The data collation determination device
A data acquisition unit that acquires registration data corresponding to the identifier included in the verification data from the ciphertext storage unit of the storage device;
A distance calculation unit that inputs the acquired registration data, the verification data, and the encryption key and outputs encrypted distance data;
An auxiliary request unit that receives the encrypted distance data and outputs auxiliary request data to the verification auxiliary device;
A score received from the verification assisting device as an input, and a determination unit that outputs a verification result,
The verification assisting device is:
A key generation unit that receives a security parameter and outputs the encryption key and the decryption key;
The auxiliary request data received from the data matching determination device and the decryption key as inputs, a decryption unit that generates distance data,
A ciphertext matching system, comprising: a score calculation unit that receives the distance data and outputs the score using a random number.
登録データ生成装置と、記憶装置と、データ照合要求装置と、データ照合判定装置と、照合補助装置とを備える暗号文照合システムであって、
前記登録データ生成装置は、秘匿対象となる入力データと、暗号化鍵とを入力とし、登録データを出力する登録データ生成部を備え、
前記記憶装置は、前記登録データ生成部が生成した登録データを入力として受け取り、データごとに異なる識別子を生成し、前記登録データを暗号文記憶部に、対応する識別子を識別子記憶部に、それぞれ対応が分かるように記憶する識別子管理部を備え、
前記データ照合要求装置は、前記暗号化鍵と、照合対象データとを入力とし、照合データを出力するデータ照合要求生成部を備え、
前記データ照合判定装置は、
前記記憶装置の前記暗号文記憶部に記憶されている登録データをすべて取得するデータ取得部と、
取得した登録データと、前記照合データと、前記暗号化鍵とを入力とし、暗号化距離データを出力する距離計算部と、
前記暗号化距離データを入力とし、前記照合補助装置に補助要求データを出力する補助要求部と、
前記照合補助装置から受信したスコアを入力とし、照合結果を出力する判定部と、を備え、
前記照合補助装置は、
セキュリティパラメータを入力とし、前記暗号化鍵および復号鍵を出力する鍵生成部と、
前記データ照合判定装置から受信した補助要求データと、前記復号鍵とを入力とし、距離データを生成する復号部と、
前記距離データを入力とし、乱数を用いて前記スコアを出力するスコア計算部と、を備える
ことを特徴とする暗号文照合システム。
A ciphertext verification system comprising a registered data generation device, a storage device, a data verification request device, a data verification determination device, and a verification auxiliary device,
The registration data generation apparatus includes a registration data generation unit that inputs input data to be concealed and an encryption key, and outputs registration data.
The storage device receives the registration data generated by the registration data generation unit as an input, generates a different identifier for each data, and corresponds the registration data to the ciphertext storage unit and the corresponding identifier to the identifier storage unit. Including an identifier management unit for storing so that
The data verification requesting apparatus includes a data verification request generation unit that receives the encryption key and verification target data and outputs verification data.
The data collation determination device
A data acquisition unit that acquires all registration data stored in the ciphertext storage unit of the storage device;
A distance calculation unit that inputs the acquired registration data, the verification data, and the encryption key and outputs encrypted distance data;
An auxiliary request unit that receives the encrypted distance data and outputs auxiliary request data to the verification auxiliary device;
A score received from the verification assisting device as an input, and a determination unit that outputs a verification result,
The verification assisting device is:
A key generation unit that receives a security parameter and outputs the encryption key and the decryption key;
The auxiliary request data received from the data matching determination device and the decryption key as inputs, a decryption unit that generates distance data,
A ciphertext matching system comprising: a score calculation unit that receives the distance data and outputs the score using a random number.
JP2014248827A 2014-12-09 2014-12-09 Ciphertext verification system, method, and program Active JP6451938B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014248827A JP6451938B2 (en) 2014-12-09 2014-12-09 Ciphertext verification system, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014248827A JP6451938B2 (en) 2014-12-09 2014-12-09 Ciphertext verification system, method, and program

Publications (2)

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

Family

ID=56125013

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014248827A Active JP6451938B2 (en) 2014-12-09 2014-12-09 Ciphertext verification system, method, and program

Country Status (1)

Country Link
JP (1) JP6451938B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017009914A (en) * 2015-06-25 2017-01-12 日本電気株式会社 Index calculation system, index calculation method, index calculation program, and verification system
JP2018042045A (en) * 2016-09-06 2018-03-15 日本電気株式会社 Collation system and method and program
WO2018110608A1 (en) * 2016-12-15 2018-06-21 日本電気株式会社 Collating system, method, device, and program
JP2020127084A (en) * 2019-02-01 2020-08-20 株式会社日立製作所 Encryption system and encryption method
JPWO2019124164A1 (en) * 2017-12-22 2021-02-12 学校法人東京理科大学 Cryptographic data processing system and programs
JP2021073788A (en) * 2021-01-21 2021-05-13 日本電気株式会社 Collation system, method, and program
WO2024013925A1 (en) * 2022-07-14 2024-01-18 日本電気株式会社 Car-sharing system, sharing method, vehicle-mounted server device, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002259981A (en) * 2001-02-28 2002-09-13 Matsushita Electric Ind Co Ltd Individual authentication method and device
JP2010244218A (en) * 2009-04-03 2010-10-28 Hitachi Omron Terminal Solutions Corp Biometric authentication device and system
WO2011052056A1 (en) * 2009-10-29 2011-05-05 三菱電機株式会社 Data processing device
JP2012014413A (en) * 2010-06-30 2012-01-19 Ntt Communications Corp Key stroke authentication system, key stroke authentication method, and key stroke information acquisition control program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002259981A (en) * 2001-02-28 2002-09-13 Matsushita Electric Ind Co Ltd Individual authentication method and device
JP2010244218A (en) * 2009-04-03 2010-10-28 Hitachi Omron Terminal Solutions Corp Biometric authentication device and system
WO2011052056A1 (en) * 2009-10-29 2011-05-05 三菱電機株式会社 Data processing device
JP2012014413A (en) * 2010-06-30 2012-01-19 Ntt Communications Corp Key stroke authentication system, key stroke authentication method, and key stroke information acquisition control program

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017009914A (en) * 2015-06-25 2017-01-12 日本電気株式会社 Index calculation system, index calculation method, index calculation program, and verification system
JP2018042045A (en) * 2016-09-06 2018-03-15 日本電気株式会社 Collation system and method and program
JP7127543B2 (en) 2016-12-15 2022-08-30 日本電気株式会社 Matching system, method, device and program
JPWO2018110608A1 (en) * 2016-12-15 2019-10-24 日本電気株式会社 Verification system, method, apparatus and program
US11128462B2 (en) 2016-12-15 2021-09-21 Nec Corporation Matching system, method, apparatus, and program
WO2018110608A1 (en) * 2016-12-15 2018-06-21 日本電気株式会社 Collating system, method, device, and program
US11882218B2 (en) 2016-12-15 2024-01-23 Nec Corporation Matching system, method, apparatus, and program
JPWO2019124164A1 (en) * 2017-12-22 2021-02-12 学校法人東京理科大学 Cryptographic data processing system and programs
US11431686B2 (en) 2017-12-22 2022-08-30 Tokyo University Of Science Foundation Encrypted data processing system and program
JP7165414B2 (en) 2017-12-22 2022-11-04 学校法人東京理科大学 Cryptographic data processing system and program
JP2020127084A (en) * 2019-02-01 2020-08-20 株式会社日立製作所 Encryption system and encryption method
JP2021073788A (en) * 2021-01-21 2021-05-13 日本電気株式会社 Collation system, method, and program
WO2024013925A1 (en) * 2022-07-14 2024-01-18 日本電気株式会社 Car-sharing system, sharing method, vehicle-mounted server device, and program

Also Published As

Publication number Publication date
JP6451938B2 (en) 2019-01-16

Similar Documents

Publication Publication Date Title
JP6451938B2 (en) Ciphertext verification system, method, and program
JP7127543B2 (en) Matching system, method, device and program
US8509449B2 (en) Key protector for a storage volume using multiple keys
JP6931247B2 (en) Ciphertext matching systems, methods, and programs
JP6738061B2 (en) Ciphertext verification system, method, and recording medium
JPWO2014185450A1 (en) Verification system, node, verification method and program
JPWO2014185447A1 (en) Verification system, node, verification method and program
Abidin On privacy-preserving biometric authentication
JP5972181B2 (en) Tamper detection device, tamper detection method, and program
JP2018037938A (en) Key exchange method and key exchange system
US9735963B2 (en) Decryption service providing device, processing device, safety evaluation device, program, and recording medium
JP6791263B2 (en) Ciphertext collation system and ciphertext collation method
JP6828322B2 (en) Collation system, method and program
KR101217491B1 (en) A method for searching keyword based on public key
WO2018174063A1 (en) Collating system, method, device, and program
Mihailescu et al. Software engineering and applied cryptography in cloud computing and big data
Abidin et al. Efficient verifiable computation of XOR for biometric authentication
JP5799635B2 (en) ENCRYPTED DATA SEARCH SYSTEM, DEVICE, METHOD, AND PROGRAM
WO2017209228A1 (en) Encrypted information matching device, encrypted information matching method, and recording medium having encrypted information matching program stored thereon
Sarkar et al. A cancelable biometric based secure session key agreement protocol employing elliptic curve cryptography
JPWO2014175320A1 (en) Ciphertext verification system, method and program
JP2021073788A (en) Collation system, method, and program
JP6927199B2 (en) Ciphertext matching system, node device, ciphertext matching method, and program
JP7348848B2 (en) Integrated attribute-based group signature processing method, integrated attribute-based group signature processing system, and program
KR102005946B1 (en) System and method for providng anonymous identity-based signature using homomorphic encryption

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180911

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181127

R150 Certificate of patent or registration of utility model

Ref document number: 6451938

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150