JP6763378B2 - 暗号情報作成装置、暗号情報作成方法、暗号情報作成プログラム、及び、照合システム - Google Patents

暗号情報作成装置、暗号情報作成方法、暗号情報作成プログラム、及び、照合システム Download PDF

Info

Publication number
JP6763378B2
JP6763378B2 JP2017524611A JP2017524611A JP6763378B2 JP 6763378 B2 JP6763378 B2 JP 6763378B2 JP 2017524611 A JP2017524611 A JP 2017524611A JP 2017524611 A JP2017524611 A JP 2017524611A JP 6763378 B2 JP6763378 B2 JP 6763378B2
Authority
JP
Japan
Prior art keywords
value
collation
information
encrypted
encryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017524611A
Other languages
English (en)
Other versions
JPWO2016203762A1 (ja
Inventor
寿幸 一色
寿幸 一色
春菜 肥後
春菜 肥後
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2016203762A1 publication Critical patent/JPWO2016203762A1/ja
Application granted granted Critical
Publication of JP6763378B2 publication Critical patent/JP6763378B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints

Description

本発明は、たとえば、照合対象である情報を照合する場合に参照する情報を作成する暗号情報作成装置等に関する。
クラウドコンピューティング(以降、「クラウド」と表す)が普及するにつれ、クラウドにおける通信ネットワーク(以降、「ネットワーク」と表す)に接続された計算資源に利用者のデータを格納し、格納されたデータを利用するデータサービスは、広まっている。該データサービスは、機密性の高いデータを管理することも多い。該データサービスは、管理しているデータが安全であることを保証する必要がある。
利用者が自由に通信接続可能(オープン)な通信ネットワークにおいて、データを安全に管理することは肝要である。このため、暗号化されたデータを暗号化されたまま管理し、該暗号化されたデータを復号することなく、検索や、統計処理等の処理を実行する技術の研究開発が活発である。
また、パスワード、または、磁気カードを用いた個人認証における脆弱性を利用した犯罪が頻発している。この結果、指紋、または、静脈等の生体が有する特徴(生体情報)に基づく認証情報を用いて、より安全性の高い認証を実現する生体認証技術が注目を集めている。生体認証技術は、生体情報を識別可能なテンプレートをデータベースに格納し、格納したテンプレートに基づき、認証すべき対象である生体情報が受理可能か否かを検証する。
指紋、静脈等の生体情報は、基本的に個々人で不変なデータとされている。このため、生体情報がデータベースの外部に漏洩した場合、その被害は、甚大である。したがって、生体情報は、高い機密性が要求される情報の一つである。
生体認証技術においては、他の認証技術と同様に、生体情報を登録した生体に、該生体と異なる生体がなりすますこと(すなわち、「なりすまし」)を防ぐ必要がある。たとえば、テンプレート保護型の生体認証技術は、上述したテンプレートを秘匿したまま認証することにより、たとえ、テンプレートが漏洩したとしても、該テンプレートに基づく「なりすまし」を防ぐ。
以降、特許文献1乃至特許文献9、非特許文献1、及び、非特許文献2を参照しながら、生体認証技術に関連している技術について説明する。
特許文献1に開示された方式は、指紋の隆線の形状を表す座標値を含むにデータに、ランダムな座標値を付加することにより、該データが秘匿であるテンプレートを作成する。該方式は、該テンプレートに基づき、生体認証を実行する。
特許文献2に開示された照合システムは、信頼できる第三者による介入を導入することにより、該照合システムに関する機密情報が格納されたサーバーに登録されているデータを秘匿する。しかし、該照合システムによれば、照合処理における第三者の負荷が大きい。
特許文献3に開示された技術によれば、信頼できる第三者による介入を導入したシステムにおいて、照合処理における第三者の負荷は、特許文献2に開示された照合システムに比べて軽減される。しかし、特許文献3に開示された技術によれば、距離の指標としてユークリッド距離を利用する場合に、登録されるデータのサイズは、許容される曖昧さを表す指標の4乗に比例して増大する。
特許文献4に開示された方式は、データベースに格納される暗号データのサイズが、許容される曖昧さのパラメータに依存せず、かつ、第三者の負荷が軽い方式である。該方式によれば、該暗号データから平文データに復号する、及び、照合する対象データから平文データに復号することが可能である。該方式は、格納されている平文データと、照合する対象である平文データとの距離を算出し、算出した距離に基づき照合処理を実行する。
特許文献5に開示された暗号文照合システムは、記憶装置に登録された第1の暗号文と、照合対象である第2の暗号文とに対して、それぞれ、補助データを生成し、生成した補助データに対応する平文のハミング距離を算出する。該暗号文照合システムは、算出したハミング距離が所定値以下であるか否かに基づき、第2の暗号文に関する照合処理を実行する。
特許文献6に開示された個人認証システムは、パスワードと、該パスワードとは異なる語であるスクランブル要素とを記憶しており、認証時に、該パスワードと、スクランブル要素とを表示する。該個人認証システムは、利用者が、表示したスクランブル要素、または、パスワードのうち、パスワードのみを選択した場合に、該利用者を認証する。
特許文献7に開示された暗号処理装置は、複数の数値からなる第1ベクトルと、複数の数値からなる第2ベクトルとの暗号化秘匿距離を算出する。該暗号処理装置は、まず、該第1ベクトルに関する第1の重みと、該第2ベクトルに関する第2の重みとを算出する。該暗号処理装置は、算出した第1の重みと、第2の重みとを、準同型性を有する暗号方式に従い暗号化し、暗号化された第1の重み、及び、暗号化された第2の重みに基づき、該第1ベクトルと、該第2ベクトルとの暗号化秘匿距離を算出する。
特許文献8に開示された匿名化データ生成装置は、データブロックに含まれる複数の数値を含む数値属性値に関して、該数値属性値に含まれている各数値を加減することによって、該数値属性値から所定の距離以内である数値属性値の集合を表すデータブロックの集合を作成する。
特許文献8において、係るデータブロックは、機密属性値、及び、数値属性値を含む。該匿名化データ生成装置は、作成したデータブロックの集合に含まれる各データブロックと、該機密属性値との度数分布を算出し、算出した度数分布が所定の条件を満たしているか否かを判定する。該匿名化データ生成装置は、所定の条件を満たしているデータブロックに含まれる数値属性値を、該所定の距離以内の数値属性値にて置換する。
特許文献9に開示された情報授受伝達装置において、送り手は、問い合わせに応じて、該問い合わせに対する応答を、公開鍵を用いて暗号化し、暗号化された応答を受け手に送信する。受け手は、該応答を受信し、該応答を、秘密鍵を用いて復号する。
非特許文献1に開示された方式は、準同型性を有する公開鍵暗号を用いて、サーバーに格納されている生体情報の機密性を確保する。
非特許文献1は、認証要求しているクライアントの生体情報を秘匿可能な生体認証方式を開示する。該生体認証方式は、Aided_Computationなる暗号プロトコル、及びSet_Intersectionなる暗号プロトコルに従い認証処理を実行する。
非特許文献2に開示された秘匿指紋認証方式によれば、準同型暗号の代わりにSomewhat準同型暗号と呼ばれる公開鍵暗号を利用する。該秘匿指紋認証方式によれば、登録されるデータのサイズは、許容される曖昧さの指標に関する2乗のオーダである。
特開2006−158851号公報 国際公開第2014/185450号 国際公開第2014/185447号 国際公開第2012/114452号 国際公開第2014/175334号 国際公開第2007/066385号 特開2014−126865号公報 特開2014−109934号公報 特開2006−210964号公報
「Private Fingerprint Matching」, Siamak F. Shahandashti, Reihaneh Safavi−Naini, and Philip Ogunbona,ACISP2012.、pp 426−433 「テンプレートサイズの小さい秘匿指紋認証方式」,肥後,一色,森,尾花,暗号と情報セキュリティシンポジウム(SCIS2015), 2015.
しかし、特許文献1乃至特許文献9、非特許文献1、または、非特許文献2に開示された、いずれの技術を用いたとしても、また、これらの技術を如何様に組み合わせたとしても、機密性を担保する必要があるデータが漏洩してしまう可能性がある。たとえば、機密性を担保する必要があるデータは、テンプレートと、対象データとの距離である。この理由は、認証対象を表す対象データと、テンプレートとの距離を照合に際して復号する必要があるので、その復号により生じるデータが漏洩する可能性があるからである。
すなわち、上述したような技術を用いた場合には、たとえ、認証対象を表す対象データと、テンプレートとの距離が秘匿化されたまま算出されたとしても、該秘匿化された距離を復号し、その結果、算出される値が所定の条件を満たすか否かが、該対象データを受理するか否かを決定する。従って、該技術によれば、たとえば、復号された距離に基づき、ヒルクライミング攻撃を受ける可能性がある。
そこで、本発明の主たる目的は、照合対象である情報と、参照すべき情報との、より安全な照合処理が可能になる情報を作成することができる暗号情報作成装置等を提供することである。
前述の目的を達成するために、本発明の一態様において、暗号情報作成装置は、
閾値に基づく範囲に含まれている第1値を算出し、準同型性を有する暗号方式に従い、算出した前記第1値を暗号化することによって、前記第1値が暗号化された第1暗号文を作成する範囲暗号手段と、
類似している程度を表す第2値が前記暗号方式に従い暗号化された第2暗号文と、前記第1暗号文とに、前記暗号方式に従った演算を適用することによって、前記第1値と前記第2値とが加算された値が暗号化された第3暗号文を作成する演算手段と
を備える。
また、本発明の他の見地として、暗号情報作成方法は、
閾値に基づく範囲に含まれている第1値を算出し、準同型性を有する暗号方式に従い、算出した前記第1値を暗号化することによって、前記第1値が暗号化された第1暗号文を作成し、類似している程度を表す第2値が前記暗号方式に従い暗号化された第2暗号文と、前記第1暗号文とに、前記暗号方式に従った演算を適用することによって、前記第1値と前記第2値とが加算された値が暗号化された第3暗号文を作成する。
さらに、同目的は、係る暗号情報作成プログラム、及び、そのプログラムを記録するコンピュータが読み取り可能な記録媒体によっても実現される。
本発明に係る暗号情報作成装置等によれば、照合対象である情報と、参照すべき情報との、より安全な照合処理が可能になる情報を作成することができる。
本発明の第1の実施形態に係る照合システムが有する構成を示すブロック図である。 第1の実施形態に係る照合システムのセットアップフェーズにおける処理の流れを示すフローチャートである。 第1の実施形態に係る照合システムのデータ登録フェーズにおける処理の流れを示すフローチャートである。 第1の実施形態に係る照合システムの暗号文照合フェーズにおける処理の流れを示すフローチャートである。 本発明の第2の実施形態に係る照合システムが有する構成を示すブロック図である。 第2の実施形態に係る照合システムの暗号文照合フェーズにおける処理の流れを示すフローチャートである。 本発明の第3の実施形態に係る照合システムが有する構成を示すブロック図である。 第3の実施形態に係る照合システムのセットアップフェーズにおける処理の流れを示すシーケンス図である。 第3の実施形態に係る照合システムのデータ登録フェーズにおける処理の流れを示すシーケンス図である。 第3の実施形態に係る照合システムの暗号文照合フェーズにおける処理の流れを示すシーケンス図である。 第4の実施形態に係る照合システムが有する構成を示すブロック図である。 第4の実施形態に係る照合システムの暗号文照合フェーズにおける処理の流れを示すシーケンス図である。 本発明の第5の実施形態に係る暗号情報作成装置が有する構成を示すブロック図である。 第5の実施形態に係る暗号情報作成装置における処理の流れを示すフローチャートである。 本発明の各実施形態に係る暗号情報作成装置または照合システムを実現可能な計算処理装置のハードウェア構成例を概略的に示すブロック図である。
はじめに、本願の各実施形態にて使用する演算子について説明する。
以降に示す式番号に示される式において、等号演算子「=」を用いられることがあるが、該等号演算子は、該等号演算子を用いて結合される式(値)が等価であることを表す。また、各式の途中に記載された「・・・」は、該途中に含まれる同様の演算が省略されていることを表す。たとえば、「1+・・・+N」は、1からNまでの整数値の総和演算を表す。また、たとえば、「X(1)+・・・+X(N)」は、1からNまでの整数Iに関して、X(I)を足し合わせる演算を表す。たとえば、「1、・・・、N」は、1からNまでの整数を表す。また、以降に示す式において、べき乗演算子「^」が用いられることがある。たとえば、Q^Rは、QのR乗を表す。
次に、本願発明を適用可能な一例である生体認証装置に関して説明し、その後、本願発明に関連している技術について説明する。
次に、生体認証装置の一例について説明する。
生体認証装置は、生体情報(たとえば、指紋等の画像)において指紋の隆線を抽出し、抽出した隆線を表す特徴点(マニューシャ)を作成する。該生体認証装置は、作成したマニューシャを、認証する対象を表す対象情報を認証する場合に参照するテンプレートとして、サーバー等の情報処理装置に登録する。たとえば、2次元座標空間X−Yにおいて、マニューシャは、隆線に含まれる座標値(x,y)、該座標値における隆線の特徴を表すタイプ、及び、該座標値における隆線の方向を表す角度θを含む。ただし、θ、x、及び、yは、実数を表す。該タイプは、たとえば、該座標値における隆線が端点であるタイプ、または、該座標値における該隆線が分岐点であるタイプ等を含む。たとえば、隆線の方向は、該座標値において、隆線の接線方向の傾きである。
該生体認証装置は、クライアントを認証する場合に、該クライアントの生体情報に基づき作成したマニューシャと、受理すべき生体情報に基づき作成したマニューシャとが整合しているか否かを判定する。たとえば、ある2つのマニューシャが整合する条件は、
(条件1)2つのマニューシャにおいて、タイプが一致している、
(条件2)2つのマニューシャにおいて、座標値の距離が所定の範囲以内である、
(条件3)2つのマニューシャにおいて、角度の差が所定の範囲以内である、
なる3つの条件である。より具体的に、2つのマニューシャが、(type,(x,y),θ)、(type,(x,y),θ)である場合に、該3つの条件は、たとえば、以下の3つである。
(条件1)typeとtypeとが等しい、
(条件2)0≦((x−x+(y−y)≦δ
(条件3)0≦(θ−θ≦δ
ただし、δ、δは、受理可能であるか否かを判定する基準を表す閾値t等のパラメータを表す。尚、θ、θ、x、x、y、及び、yは実数を表す。
条件2に示された例において、距離は、たとえば、2次元ユークリッド距離、L2ノルムを用いて計測される。条件3に示された例において、距離は、たとえば、1次元ユークリッド距離を用いて計測される。以降、説明の便宜上、上述した狭義の距離等を含む広義の距離をまとめて「ユークリッド距離」と表す。ユークリッド距離d(QA,QB)は、たとえば、QAとQBとの間の距離を表す。
次に、本願発明に関連している技術ついて説明する。まず、暗号プロトコルに関連する公開鍵暗号について説明する。
公開鍵暗号は、鍵を生成するアルゴリズム(鍵生成アルゴリズム)、生成した鍵を用いて暗号化するアルゴリズム(暗号化アルゴリズム)、及び、復号鍵を用いて暗号化された暗号データを復号するアルゴリズム(復号アルゴリズム)を含む。鍵生成アルゴリズムは、復号鍵の長さを設定するパラメータ等のセキュリティパラメータに基づき、公開鍵と、秘密鍵とを算出する確率的アルゴリズムである。暗号化アルゴリズムは、公開鍵を用いて、メッセージが暗号化された暗号文を算出する確率的アルゴリズムである。復号アルゴリズムは、秘密鍵を用いて暗号文を復号することによって、該暗号文が復号された復号結果を算出する決定的アルゴリズムである。
公開鍵暗号に含まれているアルゴリズムは、以下の鍵生成アルゴリズム、暗号化アルゴリズム、及び、復号アルゴリズムに示す3つのアルゴリズムを含む。すなわち、
・鍵生成アルゴリズムKeyGen:(1)→(pk,sk)、
・暗号化アルゴリズムEnc:(pk,M)→C、
・復号アルゴリズムDec:(sk,C)→M、
ただし、1(すなわち、1がkビット並んだビット列)は、セキュリティパラメータを表す。pkは、公開鍵を表す。skは、秘密鍵を表す。Mは、入力されたメッセージを表す。Cは、暗号文を表す。Encは、暗号化する処理を表す。Decは、復号する処理を表す。右向きの矢印によって示される演算子「→」の左側は、入力を表し、演算子「→」の右側は該入力の場合に算出される出力を表す。
公開鍵暗号のうち、式1に示す条件を満足する方式は、準同型性を有する公開鍵暗号と呼ばれる。すなわち、
Enc(pk,M#M)=Enc(pk,M)@Enc(pk,M)・・・(式1)、
ただし、#、及び、@は、それぞれ異なる、ある演算子を表す。また、M、及び、Mは、それぞれ、メッセージを表す。
次に、暗号プロトコルのうち、準同型性を有する公開鍵暗号の一例であるPaillier暗号について説明する。
説明の便宜上、(Q)mod(R)は、QをRにて割り算した場合の剰余を算出する演算を表すとする。Q、Rは、整数を表す。Z{n^2}は、0からn−1までの整数のうち、nと互いに素である(すなわち、最大公約数が1である)数の集合を表すとする。演算子「/」は、逆数を表すとする。たとえば、「1/Q」は、Qの逆数を表す。また。たとえば、「Q/R」は、Qに、Rの逆数を掛け算した値を表す。
たとえば、Paillier暗号は、式1における演算子「@」を乗算演算子、及び、式1における演算子「#」を加算(加法)演算子とする公開鍵暗号の一例である。すなわち、Paillier暗号は、加法に関して準同型性を有する公開鍵暗号の一例である。
より具体的に、Paillier暗号は、以下の鍵生成アルゴリズム、暗号化アルゴリズム、及び、復号アルゴリズムを含む。
(鍵生成アルゴリズム):セキュリティパラメータ1を入力として受信する。kビットの素数p、及び、素数qをランダムに選び、p×q(=nと表す)を算出する。算出したnを用いて、((1+n)mod(n))(=gとする)を算出する。(n,g)を公開鍵pkとして算出する。(p,q)を秘密鍵skとして算出する。
(暗号化アルゴリズム):公開鍵pk、及び、メッセージMを入力として受信する。Z{n^2}からランダムにrを選ぶ。((1+m×n)×r)mod(n))を算出し、算出した値を暗号文Cとして設定する。
(復号アルゴリズム):秘密鍵sk、及び、暗号文Cを入力として受信する。(p−1)×(q−1)(算出した値をλとする)を算出する。((c{λ})mod(n−1))/(((g{λ})mod(n−1))mod(n))を算出し、算出した結果を平文mとして出力する。
次に、Paillier暗号が準同型性を有する理由について説明する。
ここでは、一例として、暗号文C1を式2に従い定義する。また、暗号文C2を式3に従い定義する。
C1=Enc(pk,M)=((1+M×n)×r1)mod(n)・・・(式2)、
C2=Enc(pk,M)=((1+M×n)×r2)mod(n)・・・(式3)。
この場合に、C1、及び、C2が掛け算された値を算出することによって、式4が成り立つ。すなわち、
C1×C2=((1+(M+M)×n+M×M×n)×(r1×r2))mod(n
=((1+(M+M)×n)×(r1×r2))mod(n
=Enc(pk,M+M)・・・(式4)。
式4によって、「Enc(pk,M)×Enc(pk,M)=Enc(pk,M+M)」が満たされるので、式1に異なる2種類の演算子(#、@)を用いて示した準同型性の条件が満たされる。したがって、Paillier暗号は、準同型性を有する。換言すれば、本例において準同型性とは、メッセージMと、メッセージMとの加算結果が暗号化された暗号文が、メッセージMが暗号化された暗号文、及び、メッセージMが暗号化された暗号文が掛け算された暗号文に等しいことを表す。すなわち、準同型性を利用すれば、暗号文を復号することなく秘匿したままの状態で、メッセージに関する処理を実行することができることを表す。
次に、本願発明に関連している技術の一例である暗号プロトコルのうち、Set_Intersectionについて説明する。Set_Intersectionは、エンティティAliceと、エンティティBobとの間にて用いられる暗号プロトコルである。たとえば、Aliceは、クライアントを表し、Bobは、サーバーを表す。この暗号プロトコルに関して以下に説明する。
Aliceは、あるデータaを有し、Bobは、データの集合Bを有するとする。この場合に、Set_Intersectionは、データaをBobに秘匿したまま、データaが集合Bに含まれているか否かを判定するプロトコルを表す。
説明の便宜上、集合Bを{b,b,b}とする場合を例として、Set_Intersectionを説明する。Bobは、加法に関して準同型性を有する公開鍵暗号に従った公開鍵pkを公開し、その公開鍵pkにて暗号化した暗号文を復号可能な秘密鍵skを保持しているとする。
Bobは、xの値がb、b、または、bである場合に0であり、xが、その他の値である場合に、0以外の値である条件を満たす多項式F(x)を作成する。Bobは、多項式F(x)として、たとえば、(x−b)×(x−b)×(x−b)を作成する。Bobは、ラグランジェ補間に基づき、多項式F(x)を作成することができる。ここでは、該ラグランジェ補間に関する説明自体は省略する。
一般にn次多項式F(x)について、各次数の項の係数をα[i](ただし、0≦i≦n)とする。すなわち、この場合に、多項式は、式5として表される、
F(x)=α[n]×x+α[n−1]×x{n−1}+・・・+α[1]×x+α[0] ・・・(式5)。
Bobは、暗号鍵pkに基づき、α[i](ただし、0≦i≦n)が暗号化された暗号文C[i]を作成する。Bobは、作成した暗号文C[i]を、Aliceに送信する。
Aliceは、Bobが送信した暗号文C[i]を受信する。Aliceは、データaがi乗(ただし、0≦i≦n)された値a{i}を算出する。さらに、Aliceは、受信した暗号文C[i]のa{i}乗を算出することにより、C[i]{a^{i}}を算出する。
Aliceは、式6に従い、算出したC[i]{a^{i}}を用いて暗号文Cを算出する。すなわち、
C=C[n]{a^{n}}×C[n−1]{a^{n−1}}×・・・×C[0]{a^{0}}・・・(式6)。
尚、式6は、以下に示す式変形によって、式7に示すEnc(pk,F(a))と等価であることがわかる。すなわち、
C=Enc(pk,α[n]){a^{n}}×・・・×Enc(pk,α[0]){a^{0}}
=Enc(pk,α[n]×a{n})×・・・×Enc(pk,α[0]×a{0}
=Enc(pk,α[n]×a{n}+・・・+α[0]×a{0}
=Enc(pk、F(a))・・・(式7)、
ただし、pkは、AliceとBobとが参照可能な公開鍵pkを表す。
Aliceが算出した暗号文Cは、式7の通り、Enc(pk、F(a))である。さらに、Aliceは、乱数rを算出し、算出した乱数rを用いて、暗号文Cが乱数r乗した値C{r}(以降、「CP」と表す)を算出する。この場合に、Aliceは、たとえば、擬似乱数を算出する手順に従い、乱数r(ただし、rは、0ではない実数)を算出する。Aliceは、算出した値CPを、Bobに送信する。
Bobは、該値CPを受信し、受信した値CPを、秘密鍵skを用いて復号することにより、該値CPが復号された復号結果(すなわち、r×F(a))を算出する。算出した復号結果が0である場合に、F(a)は0である。すなわち、xが、b、b、または、bである場合に多項式F(x)が0であるので、aは、b、b、または、bのいずれかに等しい。したがって、Bobは、算出した復号結果が0である場合に、Aliceが、Bに含まれるデータを有すると判定する。Bobは、算出した復号結果が0以外である場合に、AliceがBに含まれるデータを有していないと判定する。
説明の便宜上、上述したような、入力aを有するAliceと、集合B及び秘密鍵skを有するBobとを用いて実現されるSet_Intersectionプロトコルを、SetIntersection[Alice(a),Bob(B,sk)](pk)と表す。上記のSet_Intersectionプロトコルに関する表記法は、後述する説明において、該プロトコルを参照する場合に用いることとする。
次に、暗号プロトコルのうち、Set_Intersectionプロトコルと、Aided_Computationプロトコルとに従い、認証処理を実行する認証方式の一例について説明する。尚、Aided_Computationプロトコル自体に関する説明を省略する。
該認証方式は、上記2つのプロトコルに従い、認証する対象であるクライアントに関するマニューシャ(type,(x,y),θ)と、テンプレート(type,(x,y),θ)とを照合する方式である。該認証方式においては、たとえば、以下の処理N1乃至処理N3に示された処理に従い、認証処理が実行される。
・処理N1:2つのタイプ(すなわち、type、type)が一致するか否かを判定する。すなわち、Set_Intersectionに関する説明にて、Aliceがクライアントを表し、データaがタイプtypeを表し、Bobがサーバーを表し、集合Bがタイプtypeを含む集合を表している、Set_Intersectionプロトコルを実行する。すなわち、該プロトコルは、SetIntersection[クライアント(type)、サーバー(type,sk)](pk)と表すことができる。
・処理N2:距離が受理されるか否かを算出する。すなわち、以下の処理(N2−1)乃至(N2−6)に従い処理に従い、距離が受理されるか否かを算出する。
処理(N2−1):暗号化されたまま、座標値(x,y)及び座標値(x,y)と間のユークリッド距離を計算する。
処理(N2−2):サーバーは、閾値δに基づき、0からδに至る値を含む集合Bを作成する。すなわち、サーバーは、B={0,1,・・・,δ}を作成する。次に、サーバーは、作成した集合Bに含まれる値にて0であり、該値以外の値にて0以外の値である多項式F(x)を作成する。
処理(N2−3):サーバーは、値x が暗号化された暗号文Enc(pk,x )、値xが暗号化された暗号文Enc(pk,x)、値y が暗号化された暗号文Enc(pk,y )、及び、値yが暗号化された暗号文Enc(pk,y)を算出する。サーバーは、算出した暗号文を、クライアントに送信する。
処理(N2−4):クライアントは、該暗号文を受信する。クライアントは、値x が暗号化された暗号文Enc(pk,x ),値y が暗号化された暗号文Enc(pk,y )を算出する。
処理(N2−5):クライアントは、算出した暗号文、及び、受信した暗号文を用いて、該暗号文を掛け算した値Enc(pk,(x−x+(y−y)を、式13に示すように、算出した値等を掛け算することによって算出する、
Enc(pk,x )×{Enc(pk,x)}{−2×x1}×Enc(pk,x )×Enc(pk,y )×{Enc(pk,y)}{−2×y1}×Enc(pk,y )・・・(式13)、
処理(N2−6):Aliceがクライアントを表し、データaが「(x−x+(y−y)」を表し、Bobがサーバーを表し、集合Bが{0,1,・・・,δ}を表しているAided_Computationに従い処理が実行される。
・処理N3:サーバーは、角度(すなわち、θ、θ)が一致するか否かを、以下の処理(N3−1)乃至(N3−3)によって判定する。
処理(N3−1):サーバーは、処理(N2−1)乃至処理(N2−6)に示された処理と同様の処理に従い、Enc(pk,(θ−θ)を算出する、
処理(N3−2):サーバーは、閾値δに基づき、0からδに至る値を含む集合BPを作成する。すなわち、サーバーは、BP={0,1,・・・,δ}を作成する、
処理(N3−3):サーバーは、作成した集合BPに含まれる値にて0となる多項式G(x)に関するAided_Computationに従い処理を実行する。
しかし、上述したSet_Intersectionプロトコルと、Aided_Computationプロトコルとに従い認証処理を実行する認証方式によれば、照合におけるサーバーの負荷が大きいという課題がある。この理由は、サーバーがクライアントから送信されたデータの復号、及び、復号結果の再暗号化を行う必要があるからである。さらに、該認証方式によれば、サーバーに登録されているデータが平文であり、必ずしも、該データを秘匿することができないという課題、上述したステップにおいて算出した距離を秘匿できないという課題等ある。本発明の発明者は、上述したような課題を見出した。
次に、本願明細書の以下の説明において便宜上用いる用語である、登録データ、及び、対象データについて説明する。登録データは、秘匿する対象を表すデータであるとする。対象データは、登録データと照合する対象を表すとする。登録データは、たとえば、指紋照合におけるテンプレートを表す。対象データは、たとえば、クライアントを認証する場合に、該クライアントの生体情報に基づき作成されたマニューシャを表す。たとえば、指紋照合においては、クライアントから受信したマニューシャ(すなわち、対象データ)と、テンプレート(すなわち、登録データ)とが照合され、照合した結果に応じて、クライアントを受理(受け入れ)可能か否かが判定される。
以下の説明において、「受理」は、たとえば、登録データと、対象データとが類似している(または、一致している)場合に、該対象データを受け入れ可能であることを表す。
以下の説明では、便宜上、本願の各実施形態において、「距離」という言葉を用いて、処理を説明する。距離は、たとえば、対象データを構成する要素と、登録データを構成する要素とを用いて算出されるユークリッド距離を表す。ただし、距離なる文言でなくともよく、他の指標(対象データと、登録データとが類似している程度を表す類似度)であってもよい。
以降、上述したような課題を解決可能な、本発明を実施する実施形態について、図面を参照しながら、詳細に説明する。
<第1の実施形態>
図1を参照しながら、本発明の第1の実施形態に係る照合システム101が有する構成について詳細に説明する。図1は、本発明の第1の実施形態に係る照合システム101が有する構成を示すブロック図である。
第1の実施形態に係る照合システム101は、大別して、登録データ装置102と、照合要求装置103と、記憶装置104と、データ照合装置105と、照合補助装置106とを有する。
登録データ装置102は、暗号化部107を有する。
照合要求装置103は、照合要求部110と、暗号化距離部111と、距離集合部112と、シャッフル部113とを有する。
記憶装置104は、暗号文記憶部108と、識別子管理部109とを有する。
データ照合装置105は、照合情報送信部114と、照合補助依頼部115と、判定部116とを有する。
照合補助装置106は、鍵生成部117と、照合補助部118と、鍵記憶部119とを有する。尚、鍵記憶部119は、照合システム101において、照合補助装置106のみが参照することができるとする。
登録データ装置102と、照合要求装置103と、記憶装置104と、データ照合装置105と、照合補助装置106とは、たとえば、通信ネットワークを介して、相互に通信することが可能であるとする。
次に、上述したような構成を有する照合システム101における処理について詳細に説明する。本発明の各実施形態に係る照合システム101の動作は、セットアップフェーズと、データ登録フェーズと、暗号文照合フェーズとの3つのフェーズに大別される。まず、該3つのフェーズに含まれている処理に関して概略を説明する。
セットアップフェーズは、主として、前述した式1を参照して説明したような加法に関して準同型性を有する暗号方式に従い、入力されたセキュリティパラメータに基づき、暗号鍵と復号鍵とを作成するフェーズを表す。
データ登録フェーズは、主として、受信した登録データを暗号化する処理等によって作成された暗号化登録情報を、暗号文記憶部108に格納するフェーズを表す。
暗号文照合フェーズは、主として、登録データが秘匿されたままの状態において、対象データが、暗号文記憶部108に記憶されている暗号化登録情報に基づき、受理可能であるか否かを判定するフェーズである。
以上、上述した3つのフェーズにおける動作に関して、それぞれ、詳細に説明する。
まず、図2を参照しながら、第1の実施形態に係る照合システム101のセットアップフェーズにおける処理について説明する。図2は、第1の実施形態に係る照合システム101のセットアップフェーズにおける処理の流れを示すフローチャートである。
照合補助装置106における鍵生成部117は、たとえば、外部装置等から、作成する鍵の長さ等を指定する情報を含むセキュリティパラメータを受信する。鍵生成部117は、加法に関して準同型性を有する暗号に従い、受信したセキュリティパラメータに応じた暗号鍵と復号鍵とを作成する(ステップA1)。たとえば、鍵生成部117は、上述したPaillier暗号における鍵生成アルゴリズムに従い、暗号鍵と復号鍵とを作成する。鍵生成部117は、照合システム101において、作成した暗号鍵を公開する(ステップA2)。鍵生成部117は、作成した復号鍵を、照合補助装置106における鍵記憶部119に格納する(ステップA3)。
次に、図3を参照しながら、第1の実施形態に係る照合システム101のデータ登録フェーズにおける処理について説明する。図3は、第1の実施形態に係る照合システム101のデータ登録フェーズにおける処理の流れを示すフローチャートである。
登録データ装置102における暗号化部107は、たとえば、外部装置等から、秘匿する対象を表す登録データを受信する(ステップB1)。次に、暗号化部107は、照合補助装置106が作成した暗号鍵を用いて、登録データを暗号化する、さらに、暗号化部107は、登録データを構成している要素に基づいて登録データの大きさ(サイズ)を表す指標を算出し、算出した大きさを表す指標を暗号化する。たとえば、暗号化部107は、該大きさを表す指標として、該要素の2乗和を算出し、算出した和を暗号化する。暗号化部107は、暗号化された登録データ、及び、暗号化された該指標を含む暗号情報を作成する(ステップB2)。暗号化部107は、作成した暗号情報を、記憶装置104における識別子管理部109に送信する。
記憶装置104における識別子管理部109は、暗号化部107が送信した暗号情報を受信し、受信した該暗号情報を識別可能な登録識別子を作成する(ステップB3)。識別子管理部109は、作成した登録識別子と、受信した暗号情報とが関連付けされた暗号化登録情報を作成し(ステップB4)、作成した暗号化登録情報を、記憶装置104における暗号文記憶部108に格納する。識別子管理部109は、登録識別子を、登録データ装置102に送信してもよい(ステップB5)。あるいは、識別子管理部109は、登録識別子を、ディスプレイ等のユーザインターフェース(UI)に表示してもよい。
登録データ装置102は、識別子管理部109が送信した登録識別子を表示してもよい。
次に、図4を参照しながら、第1の実施形態に係る照合システム101の暗号文照合フェーズにおける処理について説明する。図4は、第1の実施形態に係る照合システム101の暗号文照合フェーズにおける処理の流れを示すフローチャートである。
照合要求装置103における照合要求部110は、たとえば、外部装置等から、登録識別子と、対象データとを受信する。照合要求部110は、暗号化登録情報において、受信した登録識別子に関連付けされた暗号情報を要求する照合要求を作成する(ステップC1)。照合要求部110は、作成した照合要求を、データ照合装置105における照合情報送信部114に送信する。受信した登録識別子を「index」と表す場合に、照合要求部110が作成する照合要求は、たとえば、「request=(index)」なる態様にて表すことができる。さらに、照合要求装置103における照合要求部110は、受信した対象データを、照合要求装置103における暗号化距離部111に出力する。
データ照合装置105における照合情報送信部114は、照合要求部110が送信した照合要求を受信し、受信した該照合要求に含まれている登録識別子を読み取る。照合情報送信部114は、暗号化登録情報において、読み取った登録識別子に関連付けされている暗号情報を特定する(ステップC2)。照合情報送信部114は、特定した暗号情報を、照合要求装置103における暗号化距離部111に送信する(ステップC3)。
照合要求装置103における暗号化距離部111は、照合要求装置103における照合要求部110が出力した対象データを入力し、さらに、照合情報送信部114が送信した暗号情報を受信する。暗号化距離部111は、式1を参照して前述したような、加法に関して準同型性を有する暗号方式に従う演算を、受信した対象データと、受信した暗号情報とに適用する。この処理によって、該暗号情報を復号することなく、該対象データと、該暗号情報の基を表す登録データとの距離が暗号化された暗号化距離を算出する(ステップC4)。
たとえば、ステップC4において、暗号化距離部111は、受信した対象データの大きさを表す指標を算出し、算出した指標を暗号化する。次に、暗号化距離部111は、受信した暗号情報に含まれている暗号化された登録データに、該対象データに基づく所定の演算を適用することによって値を算出する。暗号化距離部111は、算出した値と、対象データに関して暗号化された大きさを表す指標と、受信した暗号情報に含まれている暗号化された大きさを表す指標とを積算することによって、該暗号化距離を算出する。
暗号化距離部111は、算出した暗号化距離を、照合要求装置103における距離集合部112に出力する。
尚、説明の便宜上、暗号化距離部111は、対象データと、登録データとの距離を算出するとしたが、距離である必要はなく、他の指標(対象データと、登録データとが類似している程度を表す類似度)であってもよい。上述の各実施形態においても同様である。
照合要求装置103における距離集合部112は、暗号化距離部111から暗号化距離を入力する。距離集合部112は、対象データを受理可能か否かを判定する基準を表す閾値tを読み取る。距離集合部112は、読み取った該閾値tに基づいて区画される範囲に含まれる値(説明の便宜上、「第1値」と表す)を算出し、算出した第1値の負数が暗号化された暗号文を、暗号鍵を用いて作成する。たとえば、距離集合部112は、(―閾値t)乃至0に含まれている整数値を、該第1値として算出する。あるいは、距離集合部112は、たとえば、(―閾値t)乃至「−1」に含まれている整数値を、該第1値として算出する。距離集合部112は、受信した暗号化距離と、該暗号文とが掛け算された値を算出する。この場合に、距離集合部112が算出した値は、対象データと、暗号情報の基である登録データとの距離に、第1値が引かれた値が暗号化された値(説明の便宜上、「第2値」と表す)である。すなわち、距離集合部112は、1つ以上の第2値を算出する。尚、第1値及び第2値は、後述する実施形態を説明する場合に参照する値である。
距離集合部112は、算出した第2値に対して、たとえば、擬似乱数を算出する手順に従い、2つの乱数(説明の便宜上、「第1乱数」、「第2乱数」と表す)を作成する。距離集合部112は、第1乱数を、公開鍵を用いて暗号化することによって、該第1乱数が暗号化された暗号文を作成する。次に、距離集合部112は、作成した第2値が「第2乱数」乗された値を算出し、さらに、算出した値に、第1乱数が暗号化された暗号文を掛け算した暗号文(説明の便宜上、「第3値」と表す)を算出する。距離集合部112は、算出した第3値と、暗号化されていない乱数とが関連付けされた比較情報セットを作成する。距離集合部112は、作成した1つ以上の第2値に関する比較情報セットを含む暗号化距離情報(または、暗号化情報)を作成する(ステップC5)。距離集合部112は、作成した暗号化距離情報を、照合要求装置103におけるシャッフル部113に出力する。
尚、距離集合部112は、算出した第2値に対して、必ずしも、2つの乱数を作成する必要はなく、1つの乱数であってもよい。この場合に、距離集合部112は、作成した第2値が「暗号化されていない乱数の値」乗した値を算出し、算出された値を含む暗号化距離情報を作成してもよい。すなわち、距離集合部112が作成する手順は、上述した処理手順に限定されない。
照合要求装置103におけるシャッフル部113は、距離集合部112が出力した暗号化距離情報を入力する。シャッフル部113は、受信した暗号化距離情報において、該暗号化距離情報に含まれている比較情報セットの並び順をランダムに並び替えることによって、該暗号化距離情報に含まれている要素がランダムに並べられているランダム距離情報を作成する(ステップC6)。ここで、ランダムに並び替えるとは、たとえば、擬似的に生成される擬似乱数に従い並び順を変えることを表してもよい。シャッフル部113は、作成したランダム距離情報を、データ照合装置105における照合補助依頼部115に出力する。
データ照合装置105における照合補助依頼部115は、シャッフル部113が出力したランダム距離情報を入力し、受信したランダム距離情報に関する照合処理を実行することを要求する照合補助要求を作成し、作成した照合補助要求を、照合補助装置106における照合補助部118に送信する(ステップC7)。たとえば、照合補助要求は、ランダム距離情報を含む情報として実現することができる。
照合補助装置106における照合補助部118は、照合補助依頼部115が送信した照合補助要求を受信する。次に、照合補助部118は、鍵記憶部119から復号鍵を読み取る。照合補助部118は、照合補助要求に含まれているランダム距離情報を読み取り、読み取った復号鍵を用いて、該ランダム距離情報を復号することによって、受信した該照合補助要求が復号された照合情報を作成する。照合補助部118は、作成した照合情報を、データ照合装置105における判定部116に送信する(ステップC8)。
データ照合装置105における判定部116は、照合補助部118が送信した照合情報を受信する。判定部116は、受信した照合情報に含まれている比較情報セットに関して、第3値と、乱数とを読み取る。判定部116は、読み取った第3値と、読み取った乱数とが一致する要素を、該照合情報が含んでいる場合に、一致であることを表す照合結果情報を作成する(ステップC9)。判定部116は、該第3値と、該乱数とが一致する要素を、該照合情報が含んでいない場合に、不一致であることを表す照合結果情報を作成する。判定部116は、作成した照合情報を出力してもよい。
尚、データ照合装置105における判定部116は、受信した照合情報に含まれている比較情報セットが1つの値のみを含む場合に、該値と0とが一致するか否かに基づき、照合結果情報を作成してもよい。たとえば、判定部116は、読み取った値と、0とが一致する要素を、該照合情報が含んでいる場合に、一致であることを表す照合結果情報を作成する。判定部116は、読み取った値と、0とが一致する要素を、該照合情報が含んでいない場合に、不一致であることを表す照合結果情報を作成する。
次に、第1の実施形態に係る照合システム101に関する効果について説明する。
第1の実施形態に係る照合システム101によれば、照合対象である情報と、参照すべき情報との、より安全な照合処理が可能になる情報を作成することができる。この理由は、照合処理において、対象データを受理可能か否かを判定する基準を表す閾値tに基づき区画される範囲に含まれる第1値と、対象データ及び登録データ間の距離とが加算された値が暗号化された第2値を、距離を復号することなく求めることができるからである。この場合に、照合システム101は、該距離を復号することなく、第2値を含む照合情報を作成する。
照合補助部118は、該照合情報を受信し、受信した復号情報を復号することによって、第1値及び距離が加算された値を算出し、該値が所定の条件を満たすか否かに応じて、対象データを受理するか否かを判定する。すなわち、照合要求装置103において、対象データと、登録データとの距離は復号されない。この結果、復号された距離に基づき、テンプレートを復元するヒルクライミング攻撃を受ける可能性はなくなる。
さらに、本実施形態に係る照合システム101によれば、照合対象である情報と、参照すべき情報とを、より安全に照合することができる。この理由は、図3のステップB4等に関する説明に示したように、記憶装置104が、暗号化された登録データ、及び、暗号化された大きさを表す指標を記憶しているからである。したがって、たとえ、記憶装置104に格納されたデータが傍受されたとしても、該データが暗号化されているので、本実施形態に係る照合システム101によれば、登録データが漏洩してしまうリスクを低減することができる。
さらに、図3のステップC4等に関する説明に示したように、照合要求装置103は、登録データ装置102にて算出された暗号情報に対して演算処理を実行することにより、対象データと、登録データとの間の暗号化距離を算出する。さらに、ステップC5等に関する説明に示したように、照合要求装置103は、算出した暗号化距離を用いて乱数倍等の値を算出する。この処理の結果算出される暗号情報は、対象データと、登録データとの距離とは異なる値を含む情報である。この結果、たとえ、照合補助装置106が、該暗号情報に含まれる情報を復号したとしても、算出される値は、該対象データと、登録データとの距離とは異なる。したがって、実施形態に係る照合システム101によれば、登録データが漏洩してしまうリスクを低減することができる。
第1の実施形態に係るシャッフル部113によれば、より一層、安全な照合処理が可能である。この理由は、シャッフル部113が、要素の順序を並び替えることによって、異なる照合情報を作成することができるからである。たとえば、シャッフル部113がランダムに要素の順序を並び替えることによって、照合システム101は、認証処理のたびに、異なる照合情報を作成する。この場合に、たとえ、照合情報が傍受されたとしても、第1の実施形態に係る照合システム101によれば、傍受された照合情報に基づきテンプレートを作成することはより困難である。
さらに、第1の実施形態に係るシャッフル部113によれば、より一層、安全な照合処理が可能である。この理由は、距離集合部112が算出する第3値が、乱数乗された値であるので、対象データと、登録データとの距離を推定することができないからである。
<第2の実施形態>
次に、上述した第1の実施形態を基本とする本発明の第2の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図5を参照しながら、本発明の第2の実施形態に係る照合システム201が有する構成について詳細に説明する。図5は、本発明の第2の実施形態に係る照合システム201が有する構成を示すブロック図である。
第2の実施形態に係る照合システム201は、大別して、登録データ装置102と、照合要求装置202と、記憶装置104と、データ照合装置203と、照合補助装置106とを有する。
照合要求装置202は、照合要求部110と、照合データ作成部204とを有する。
データ照合装置203は、照合情報送信部205と、距離集合部112と、シャッフル部113と、照合補助依頼部115と、判定部116とを有する。
登録データ装置102と、照合要求装置202と、記憶装置104と、データ照合装置203と、照合補助装置106とは、たとえば、通信ネットワークを介して、相互に通信することが可能であるとする。
次に、本発明の第2の実施形態に係る照合システム201における処理について詳細に説明する。第2の実施形態に係る照合システム201の動作は、セットアップフェーズと、データ登録フェーズと、暗号文照合フェーズの3つのフェーズに大別される。以降においては、各フェーズにおける処理に関して詳細に説明する。
第2の実施形態に係るセットアップフェーズにおける処理は、第1の実施形態に係るセットアップフェーズにおける処理と同様である。このため、第2の実施形態に係るセットアップフェーズに関する説明を省略する。同様に、第2の実施形態に係るデータ登録フェーズにおける処理は、第1の実施形態に係るデータ登録フェーズにおける処理と同様である。このため、第2の実施形態に係るデータ登録フェーズに関する説明を省略する。
図6を参照しながら、第2の実施形態に係る照合システム201の暗号文照合フェーズにおける処理について説明する。図6は、第2の実施形態に係る照合システム201の暗号文照合フェーズにおける処理の流れを示すフローチャートである。
尚、ステップD1における処理は、ステップC1と同様の処理である。また、ステップD6乃至ステップD9における処理は、ステップC6乃至ステップC9と同様の処理である。このため、これらのステップにおける処理に関する説明を省略する。
データ照合装置203における照合情報送信部205は、照合要求装置202における照合要求部110が送信した照合要求を受信し、受信した該照合要求に含まれている登録識別子を読み取る。照合情報送信部205は、暗号化登録情報において、読み取った登録識別子に関連付けされた暗号情報を特定する(ステップD2)。照合情報送信部205は、特定した暗号情報を、照合要求装置202における照合データ作成部204に送信する(ステップD3)。
照合要求装置202における照合データ作成部204は、照合情報送信部205が送信した暗号情報を受信する。照合データ作成部204は、さらに、外部装置等から、対象データを受信する。照合データ作成部204は、加法に関して準同型性を有する暗号方式に従う演算を、受信した対象データと、受信した暗号情報とに適用することによって、該暗号情報を復号することなく、該対象データと、該暗号情報の基を表す登録データとの距離が暗号化された暗号化距離を算出する(ステップD4)。照合データ作成部204は、算出した暗号化距離を、データ照合装置203における距離集合部112に送信する。
データ照合装置203における距離集合部112は、照合データ作成部204が送信した暗号化距離を受信する。距離集合部112は、受信した暗号化距離に関して、ステップC5に示された処理と同様の処理を実行する(ステップD5)。
次に、第2の実施形態に係る照合システム201に関する効果について説明する。
第2の実施形態に係る照合システム201によれば、照合対象である情報と、参照すべき情報との、より安全な照合処理が可能になる情報を作成することができる。この理由は、第2の実施形態に係る照合システム201が有する構成は、第1の実施形態に係る照合システム101が有する構成を含むからである。
さらに、第2の実施形態に係る照合システム201によれば、照合対象である情報と、参照すべき情報とを、より効率的に、安全に照合することができる。たとえば、照合要求装置202が、比較的計算リソースの小さい携帯端末や、生体情報を取得する専用端末(たとえば、スキャナやカメラを含む装置)であっても、第2の実施形態に係る照合システム201によれば、短期間に安全な照合処理を可能にする。この理由は、ステップD4において、照合要求装置202がデータ照合装置203に送信するデータ量が、第1の実施形態に係る照合システム101と比較して少ないからである。第1の実施形態において、照合要求装置103がデータ照合装置105に送信するデータは、たとえば、ランダム距離情報である。ランダム距離情報は、比較情報セットの並び順を並び替えることによって作成される情報であり、対象データを受理可能か否かを判定する基準を表す閾値tに基づいて区画される範囲に含まれる値に応じたデータ量を含む。これに対して、第2の実施形態において、照合要求装置202がデータ照合装置203に送信するデータは、暗号化距離である。したがって、該データは、暗号化距離に応じたデータ量を含む。
暗号化距離のデータ量は、閾値tに基づいて区画される範囲に含まれる値のデータ量に比べて少ないので、照合要求装置202がデータ照合装置203に送信するデータ量は、第1の実施形態に係る照合システム101と比較して少ない。
<第3の実施形態>
次に、上述した第1の実施形態を基本とする本発明の第3の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
第3の実施形態においては、距離としてn次元ユークリッド距離が採用されている場合の例である。すなわち、2つのn(ただし、nは、自然数を表す)次元ベクトルX(式14)、及び、ベクトルY(式15)との間の距離dは、式16に従い算出される。すなわち、
X=(x[1],x[2],・・・,x[n])・・・(式14)、
Y=(y[1],y[2],・・・,y[n])・・・(式15)、
d(X,Y)=(x[1]−y[1]){2}+(x[2]−y[2]){2}+・・・+(x[n]−y[n]){2}・・・(式16)、
ただし、x[i]、y[i](1≦i≦n)は実数を表す。
距離が、対象データが受理可能であるか否かの基準を表す閾値t以下である場合に、第3の実施形態に係る照合システム301は、XとYとの距離が近いと判定する。すなわち、照合システム301は、対象データYが、登録データXによって受理可能であると判定する。または、照合システム301は、登録データXが、対象データYによって受理可能であると判定する。
距離が該閾値tよりも大きい場合に、第3の実施形態に係る照合システム301は、登録データXと対象データYとの間の距離が遠いと判定する。すなわち、照合システム301は、対象データYが、登録データXによって受理不可能であると判定する。または、照合システム301は、登録データXが、対象データYによって受理不可能であると判定する。
また、第3の実施形態において、照合システム301は、加法に関して準同型性を有する暗号(たとえば、Paillier暗号等)に基づき、暗号化または復号処理を実行すると仮定して、第3の実施形態に係る照合システム301における処置について説明する。しかし、第3の実施形態に係る照合システム301においては、加法Elgamal暗号、楕円Elgamal暗号等の加法に関して準同型性を有する暗号を採用してもよい。
まず、Paillier暗号について説明する。Paillier暗号アルゴリズムは、鍵生成アルゴリズム、暗号化アルゴリズム、及び、復号アルゴリズムを含む。以降では、各アルゴリズムについて詳細に説明する。
鍵生成アルゴリズムは、以下の鍵生成1乃至鍵生成6に示された処理を含む。すなわち、
・鍵生成1:セキュリティパラメータ1を受信する、
・鍵生成2:kビットの素数p、及び、kビットの素数qをランダムに選ぶ、
・鍵生成3:p×q(=nとする)を算出する、
・鍵生成4:(1+n)mod(n)(=gとする)を算出する、
・鍵生成5:算出したnと算出したgとの組(n,g)を暗号鍵pkとして算出する、
・鍵生成6:算出した素数pと、算出した素数qとの組(p,q)を復号鍵skとして生成する、
ただし、modは、剰余を算出する演算子を表す。
暗号化アルゴリズムは、以下の暗号化1乃至暗号化3に示された処理を含む。すなわち、
・暗号化1:暗号鍵pk(=(n,g))と、メッセージMとを受信する、
・暗号化2:Z{n^2}から、ランダムにrを選ぶ、
・暗号化3:((1+m×n)×r)mod(n)を算出し、算出した値を暗号文Cとして算出する。
復号アルゴリズムは、以下の復号1乃至復号2に示された処理を含む。すなわち、
復号鍵sk(=(p,q))と、暗号文Cとを入力とを受信する。
・復号1:(p−1)×(q−1)(=λとする)を計算する、
・復号2:((c{λ})mod(n−1))/((g{λ})mod(n−1))mod(n)(=mとする)を算出する。
図7を参照しながら、本発明の第3の実施形態に係る照合システム301が有する構成について詳細に説明する。図7は、本発明の第3の実施形態に係る照合システム301が有する構成を示すブロック図である。
第3の実施形態に係る照合システム301は、大別して、登録データ装置302と、照合要求装置308と、記憶装置303と、データ照合装置304と、照合補助装置305とを有する。
登録データ装置302は、暗号化部306を有する。
記憶装置303は、暗号文記憶部108と、識別子管理部307とを有する。
照合要求装置308は、照合要求部309と、暗号化距離部310と、距離集合部311と、シャッフル部312とを有する。
データ照合装置304は、照合情報送信部313と、照合補助依頼部115と、判定部116とを有する。
照合補助装置305は、鍵生成部314と、照合補助部315と、鍵記憶部119とを有する。
登録データ装置302と、照合要求装置308と、記憶装置303と、データ照合装置304と、照合補助装置305とは、たとえば、通信ネットワークを介して、相互に通信することが可能であるとする。
次に、上述したセットアップフェーズ、データ登録フェーズ、及び、暗号文照合フェーズにおける処理について詳細に説明する。
まず、セットアップフェーズにおける処理について説明する。
図8を参照しながら、第3の実施形態に係る照合システム301のセットアップフェーズにおける処理について説明する。図8は、第3の実施形態に係る照合システム301のセットアップフェーズにおける処理の流れを示すシーケンス図(フローチャート)である。
照合要求装置308における鍵生成部314は、たとえば、外部装置等から、復号鍵の長さを設定するセキュリティパラメータ1と、閾値tを含むパラメータとを受信する。鍵生成部314は、鍵生成1乃至鍵生成6に示した鍵生成アルゴリズムに従い、暗号鍵pkと、復号鍵skとを生成する(ステップAA1)。鍵生成部314は、生成した暗号鍵pkを照合システム301に公開する(ステップAA2)。鍵生成部314は、作成した復号鍵skを鍵記憶部119に格納する(ステップAA3)。
尚、ステップAA1乃至ステップAA3における処理は、ステップA1乃至ステップA3における処理の一例を表している。
図9を参照しながら、第3の実施形態に係る照合システム301のデータ登録フェーズにおける処理について説明する。図9は、第3の実施形態に係る照合システム301のデータ登録フェーズにおける処理の流れを示すシーケンス図である。
登録データ装置302における暗号化部306は、たとえば、外部装置等から、秘匿対象となる登録データXと、閾値t等を含むパラメータとを受信する。尚、登録データXを、(x[1],x[2],・・・,x[n])と表すとする。
次に、暗号化部306は、受信した登録データXに含まれる要素x[i]に関して、x[i]を2乗した値を算出することにより、x[i]{2}(xx[i]と表す)を算出する。ただし、iは、1≦i≦nを満たす自然数を表す。次に、暗号化部306は、鍵生成部314が生成した暗号鍵pkを用いて、たとえば、暗号化1乃至暗号化3に示された暗号化アルゴリズムに従い、要素x[i]を暗号化することにより、要素x[i]が暗号化された暗号化データc[i]を作成する。暗号化部306は、暗号鍵pkを用いて、たとえば、暗号化1乃至暗号化3に示された暗号化アルゴリズムに従い、xx[i]を暗号化することにより、xx[i]が暗号化された暗号化データCC[i]を作成する。
すなわち、暗号化部306は、式17に示された暗号化データC、及び、式18に示された暗号化データを作成する。
C:(c[1],c[2],・・・,c[n])・・・(式17)、
(cc[1],cc[2],・・・,cc[n])・・・(式18)。
登録データ装置302における暗号化部306は、式18に従い作成されたcc[i](ただし、1≦i≦n)を掛け算することによって、暗号化データCCを作成する。暗号化部306は、作成した暗号化データCと、作成した暗号化データCCとを含む暗号情報(C,CC)を作成し(ステップBB1)、作成した暗号情報(C,CC)を、記憶装置303における識別子管理部307に送信する(ステップ(BB2−1))。
次に、記憶装置303における識別子管理部307は、該暗号情報(C,CC)を受信し(ステップ(BB2−2))、受信した暗号情報に対して、該暗号情報(C,CC)を一意に識別可能な登録識別子indexを作成する(ステップBB3)。識別子管理部307は、暗号情報(C,CC)と、作成した登録識別子indexとが関連付けされた暗号化登録情報を作成し、作成した暗号化登録情報を暗号文記憶部108に格納する(ステップBB4)。識別子管理部307は、作成した登録識別子indexを、登録データ装置302に送信してもよい(ステップ(BB5−1))。
登録データ装置302は、識別子管理部307が送信した登録識別子indexを受信し(ステップ(BB5−2))、受信した登録識別子indexを、表示部(不図示)に表示する(ステップBB6)。
尚、ステップBB1乃至ステップBB6における処理は、前述した図3に示すステップB1乃至ステップB5における処理の一例を表している。
図10を参照しながら、第3の実施形態に係る照合システム301のデータ暗号文照合フェーズにおける処理について説明する。図10は、第3の実施形態に係る照合システム301の暗号文照合フェーズにおける処理の流れを示すシーケンス図である。
照合要求装置308における照合要求部309は、照合する対象を表す対象データYと、対象データYに照合する暗号情報を表す登録識別子indexとを、たとえば、外部装置等から受信する。照合要求部309は、さらに、対象データが受理可能であるか否かを判定する基準を表す閾値tを含むパラメータと、暗号鍵pkとを読み取る。
ここで、対象データYを、(y[1],y[2],・・・,y[n])と表すこととする。
照合要求部309は、受信した登録識別子indexに関連付けされた暗号情報を要求する照合要求を作成し(ステップCC1)、作成した照合要求を、データ照合装置304における照合情報送信部313に送信する(ステップ(CC2−1))。たとえば、照合要求は、「request=(index)」として表すことができる。照合要求は、さらに、登録識別子indexとは異なる情報(たとえば、閾値t、暗号鍵pk等)を含んでいてもよい。
データ照合装置304における照合情報送信部313は、照合要求部309が送信した該照合要求を受信する(ステップ(CC2−2))。照合情報送信部313は、記憶装置303に格納されている暗号化登録情報において、受信した照合要求に含まれている登録識別子indexに関連付けされた暗号情報Cを特定する(ステップCC3)。照合情報送信部313は、特定した暗号情報Cを、照合要求装置308における暗号化距離部310に送信する(ステップ(CC4−1))。
照合要求装置308における暗号化距離部310は、照合要求部309が送信した対象データYと、照合情報送信部313が送信した暗号情報Cとを受信する(ステップ(CC4−2))。暗号化距離部310は、読み取った暗号情報Cと、読み取った対象データYとを用いて、以下のステップ(K1−1)乃至ステップ(K1−3)に示された処理に従い、値dd[i]を算出する。すなわち、
ステップ(K1−1):1,2,・・・,nなるiに関して、暗号情報Cに含まれている要素c[i]の{−2×y[i]}乗を算出する。この処理によって、(c[i]){−2×y[i]}が算出される。すなわち、Enc(pk,x[i]){−2×y[i]}(=Enc(pk,−2×y[i]×x[i]))が算出される。
ステップ(K1−2):1,2,・・・,nなるiに関して、対象データYに含まれている要素y[i]を2乗した値を算出し、算出した値を、暗号鍵pkを用いて暗号化する。すなわち、この処理によって、Enc(pk,y[i]{2})が算出される。
ステップ(K1−3):1,2,・・・,nなるiに関して、ステップ(K1−1)に示された処理に従い算出された値(すなわち、(c[i]){−2×y[i]})と、ステップ(K1−2)に従い算出された値(すなわち、Enc(pk,y[i]{2}))とが掛け算された値を算出することによって、値dd[i]を算出する。
ステップ(K1−1)乃至ステップ(K1−3)に示す処理によって、(c[i]){−2×y[i]}×Enc(pk,(y[i]){2})(=dd[i])が算出される。尚、dd[i]は、式19と等価である。
dd[i]=(c[i]){−2×y[i]}×Enc(pk,(y[i]){2}
=Enc(pk,−2×y[i]×x[i])×Enc(pk,(y[i]){2}
=Enc(pk,(x[i]){2}−2×x[i]×y[i]+(y[i]){2}−(x[i]){2}
=Enc(pk,(x[i]−y[i]){2}−(x[i]){2})・・・(式19)。
したがって、ステップ(K1−1)乃至ステップ(K1−3)に示された処理によって、値dd[i]が算出される。
照合要求装置308における暗号化距離部310は、算出した各dd[i]と、暗号化データCCとが掛け算された値を算出することにより、登録データXと、対象データYとの間の距離が暗号化された暗号化距離を算出する(ステップCC5)。すなわち、暗号化距離部310は、dd[1]×dd[2]×・・・×dd[n]×CC(=dとする)に従い演算を実行することにより、暗号化距離を算出する。
尚、算出される値dは、上述した式19によれば、以下の通りである。
d=Enc(pk,(x[1]−y[1]){2}−(x[1]){2})×・・・×Enc(pk,(x[n]−y[n]){2}−(x[n]){2})×CC
=Enc(pk,(x[1]−y[1]){2}+(x[2]−y[2]){2}+・・・+(x[n]−y[n]){2}))。
すなわち、これは、登録データXと、対象データYとの間を、ユークリッドノルムにて測定した場合の距離が暗号化された暗号化距離を表す。尚、説明の便宜上、値dを、d[0]と表す。
暗号化距離部310は、算出した暗号化距離を、照合要求装置308における距離集合部311に出力する。
次に、照合要求装置308における距離集合部311は、暗号化距離部310が出力した暗号化距離を入力し、入力した暗号化距離から暗号化距離dを読み取る。次に、距離集合部311は、読み取った暗号化距離dと、閾値tとに基づいて、以下のステップ(K2−1)乃至ステップ(K2−5)に示す処理に従い、値を算出する。すなわち、
・ステップ(K2−1):0,・・・,tなるiに対して、乱数r[i](以降、「第1乱数」と表す)、乱数A[i](以降、「第2乱数」と表す)を選ぶ、
・ステップ(K2−2):0,・・・,tなるiに対して、乱数A[i]が、暗号鍵pkを用いて暗号化された値Enc(pk,A[i])を算出する、
・ステップ(K2−3):0,・・・,tなるiに対して、iにマイナスを付した値が、暗号鍵pkを用いて暗号化された値Enc(pk,−i)を算出する、
・ステップ(K2−4):算出したEnc(pk,−i)と、暗号化距離dとが掛け算された値を算出することによって、値r[i]を算出する、
・ステップ(K2−5):ステップ(K2−4)にて算出した値と、ステップ(K2−2)にて算出した値とが掛け算された値を算出することによって、値(d×Enc(pk,−i)){r[i]}×Enc(pk,A[i])を算出する。
すなわち、ステップ(K2−1)乃至ステップ(K2−5)によって、登録データXと対象データYとの距離から閾値t以下の値を減じた値を乱数r[i]倍した値に、乱数A[i]を加えた値dp[i]が算出される。
距離集合部311は、算出したdp[i]と、乱数A[i]とが関連付けされた比較情報セットを作成し、作成された比較情報セットがiの値の小さな順に並べられた暗号化距離情報Dを作成する(ステップCC6)。この場合に、暗号化距離情報Dは、たとえば、((dp[0],A[0]),(dp[1],A[1]),・・・,(dp[t],A[t]))と表すことができる。
距離集合部311は、算出した暗号化距離情報Dを、照合要求装置308におけるシャッフル部312に出力する。
次に、照合要求装置308におけるシャッフル部312は、距離集合部311が出力した暗号化距離情報Dを入力し、受信した暗号化距離情報Dにおける比較情報セットの順序が並び変えられたランダム距離情報DPを作成する。たとえば、シャッフル部312は、(ステップCA1)乃至(ステップCA2)に示す処理に従い、ランダム距離情報DPを作成する。
・ステップCA1:0からtまでの整数(以降、[0,t]とも表す)に関して順列πを作成する。すなわち、[0,t]に含まれているj(ただし、0≦j≦t)に対してπ(j)も[0,t]に含まれており、かつ、jが異なる場合には、π(j)が異なる(すなわち、π(j)に重複がない)。尚、作成される順列πは、たとえば、ランダムに並び替えることが可能な順列である。
・ステップCA2:[0,t]に関して、作成したπ(j)が小さい順にjを並び替えされたランダム距離情報DPを作成する。
すなわち、シャッフル部312は、暗号化距離情報Dに含まれている比較情報セットを、ランダムな順列πに従って並び替えることにより、ランダム距離情報DPを作成する(ステップCC7)。シャッフル部312は、作成したランダム距離情報DPを、データ照合装置304における照合補助依頼部115に送信する(ステップ(CC8−1))。
データ照合装置304における照合補助依頼部115は、シャッフル部312が送信したランダム距離情報DPを受信し(ステップ(CC8−2))、受信したランダム距離情報DPに関する照合処理を実行することを要求する照合補助要求を作成する(ステップCC9)。照合補助依頼部115は、作成した照合補助要求を、照合補助装置305における照合補助部315に送信する(ステップ(CC10−1))。たとえば、照合補助要求は、ランダム距離情報DPを含む情報として実現することができる。照合補助要求は、ランダム距離情報DPを含むとしたが、さらに、他のデータを含んでいてもよい。
照合補助装置305における照合補助部315は、照合補助依頼部115が送信した照合補助要求を受信する(ステップ(CC10−2))。照合補助部315は、鍵記憶部119から復号鍵skを読み取り、ランダム距離情報DPに含まれている比較情報セットのうち要素dp[i](ただし、0≦i≦t)を、読み取った復号鍵skを用いて復号する。照合補助部315は、要素dp[i]を復号することにより、該要素dp[i]が復号された照合情報を作成する(ステップCC11)。この処理において、照合補助部315は、たとえば、復号鍵skを用いて、要素dp[i]を復号する。すなわち、以下の式20に示されたランダム距離情報DPに関して、復号鍵skを用いて復号される。
DP=((dp[0],AP[0]),(dp[1],AP[1]),・・・,(dp[t],AP[t]))・・・(式20)。
照合補助部315は、作成した照合情報を、データ照合装置304における判定部116に送信する(ステップ(CC12−1))。
次に、データ照合装置304における判定部116は、照合補助部315が送信した照合情報を受信し(ステップ(CC12−2))、受信した照合情報が一致していることを表す場合に、対象データYが受理されたことを表す照合結果情報を作成する。判定部116は、受信した照合情報が不一致であることを表す場合に、対象データYが受理されなかった(不受理である)ことを表す照合結果情報を作成する(ステップCC13)。
たとえば、照合補助部315は、受信した照合情報において、あるi(0≦i≦t)に対して、dp[i]が復号された復号結果がAP[i]に一致するiがある場合に、一致であることを表す照合結果情報を作成する。照合補助部315は、受信した照合情報において、dp[i]が復号された復号結果がAP[i]に一致するiがない場合に、不一致であることを表す照合結果情報を作成する。
ステップCC1乃至ステップCC13における処理は、前述した図4に示すステップC1乃至ステップC9における処理の一例を表している。
第3の実施形態において、記憶装置303に登録されている暗号情報は「登録データXのおける要素数+1」個の暗号化データである。また、ステップCC6において作成される閾値(t+1)個の暗号文を復号した結果は、登録された登録データと、対象データの距離が閾値t以下である場合に0を含み、それ以外は乱数である。(t+1)個の暗号文をシャッフルすることにより、照合補助装置305に対しても距離を秘匿できる。
また、第3の実施形態では、ユークリッド距離の例を挙げたが、暗号文照合フェーズのステップCC5を変更することにより他の距離(ハミング距離、マハラノビス距離等)にも容易に適用可能である。
次に、第3の実施形態に係る照合システム301に関する効果について説明する。
第3の実施形態に係る照合システム301によれば、照合対象である情報と、参照すべき情報との、より安全な照合処理が可能になる情報を作成することができる。この理由は、第3の実施形態に係る照合システム301が有する構成は、第1の実施形態に係る照合システム101が有する構成を含むからである。
さらに、第3の実施形態に係る照合システム301によれば、照合対象である情報と、参照すべき情報とを、安全に照合することが可能である。この理由は、暗号化距離部310が、第1値と、第2値とに加え、さらに、第1乱数を加算することによって、たとえば、認証処理の度に、異なる照合情報を作成されるからである。この場合に、たとえ、照合情報が傍受されたとしても、第3の実施形態に係る照合システム301によれば、傍受された照合情報に基づきテンプレートを作成することはより困難である。
さらに、第3の実施形態に係る照合システム301によれば、より一層、安全な照合処理が可能である。この理由は、暗号化距離部310が、第1値と、第2値とに、第1乱数と、第2乱数とを用いた演算を適用することによって、たとえば、認証処理のたびに、異なる照合情報を作成されるからである。この場合に、たとえ、照合情報が傍受されたとしても、本実施形態に係る照合システム301によれば、傍受された照合情報に基づきテンプレートを作成することはより困難である。
<第4の実施形態>
次に、上述した第2の実施形態を基本とする本発明の第4の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第2の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図11を参照しながら、本発明の第4の実施形態に係る照合システム401が有する構成について詳細に説明する。図11は、第4の実施形態に係る照合システム401が有する構成を示すブロック図である。
第4の実施形態に係る照合システム401は、大別して、登録データ装置102と、照合要求装置402と、記憶装置104と、データ照合装置403と、照合補助装置106とを有する。
照合要求装置402は、照合要求部110と、照合データ作成部404とを有する。
データ照合装置403は、照合情報送信部205と、距離集合部405と、シャッフル部113と、照合補助依頼部115と、判定部116とを有する。
登録データ装置102と、照合要求装置402と、記憶装置104と、データ照合装置403と、照合補助装置106とは、たとえば、通信ネットワークを介して、相互に通信することが可能であるとする。
以下、各フェーズにおける動作に関して詳細に説明する。尚、セットアップフェーズ、及び、データ登録フェーズにおける動作は、上述した各実施形態にて説明した動作と同様である。このため、セットアップフェーズ、及び、データ登録フェーズにおける説明を省略する。以降では、暗号文照合フェーズについて詳細に説明する。
図12を参照しながら、第4の実施形態に係る照合システム401のデータ暗号文照合フェーズにおける処理について説明する。図12は、第4の実施形態に係る照合システム401の暗号文照合フェーズにおける処理の流れを示すシーケンス図である。
照合要求装置402における照合要求部110は、たとえば、外部装置等から、登録識別子と、対象データとを受信する。照合要求部110は、暗号化登録情報において、受信した登録識別子に関連付けされた暗号情報を要求する照合要求を作成する(ステップDD1)。照合要求部110は、作成した照合要求を、データ照合装置403における照合情報送信部205に送信する(ステップ(DD2−1))。
データ照合装置403における照合情報送信部205は、照合要求装置402における照合要求部110が送信した照合要求を受信し(ステップ(DD2−2))、受信した該照合要求に含まれている登録識別子を読み取る。照合情報送信部205は、暗号化登録情報において、読み取った登録識別子に関連付けされた暗号情報Cを特定する(ステップDD3)。照合情報送信部205は、特定した暗号情報Cを、照合要求装置402における照合データ作成部404に送信する(ステップ(DD4−1))。
照合要求装置402における照合データ作成部404は、照合情報送信部205が送信した暗号情報Cを受信する(ステップ(DD4−2))。照合データ作成部404は、受信した暗号情報Cと、読み取った対象データYとを用いて、前述した図10のステップCC5に示された処理と同様の処理を実行することにより、暗号化距離を算出する(ステップDD5)。照合データ作成部404は、算出した暗号化距離を、データ照合装置403における距離集合部405に送信する(ステップ(DD6−1))。
データ照合装置403における距離集合部405は、照合データ作成部404が送信した暗号化距離を受信し(ステップ(DD6−2))、受信した暗号化距離に関して、距離集合部311が実行する処理と同様の処理を実行することにより、暗号化距離情報Dを作成する(ステップDD7)。照合データ作成部404は、作成した暗号化距離情報Dを、データ照合装置403におけるシャッフル部113に送信する。
データ照合装置403におけるシャッフル部113は、シャッフル部312における処理と同様の処理を実行することにより、ランダム距離情報DPを作成する(ステップDD8)。シャッフル部113は、作成したランダム距離情報DPを、データ照合装置403における照合補助依頼部115に出力する。
以降、前述した図10のステップCC9乃至ステップCC13に示した処理と同様の処理が、ステップDD9乃至ステップDD13において実行される。
次に、第4の実施形態に係る照合システム401に関する効果について説明する。
第4の実施形態に係る照合システム401によれば、照合対象である情報と、参照すべき情報との、より安全な照合処理が可能になる情報を作成することができる。この理由は、第4の実施形態に係る照合システム401が有する構成は、第1の実施形態に係る照合システム101が有する構成を含むからである。
さらに、第4の実施形態に係る照合システム401によれば、照合対象である情報と、参照すべき情報とを、効率的に、安全に照合することができる。たとえば、照合要求装置402が、比較的計算リソースの小さい携帯端末や、生体情報を取得する専用端末(たとえば、スキャナやカメラを含む装置)であっても、第4の実施形態に係る照合システム401によれば、短期間に安全な照合処理を可能にする。この理由は、ステップ(DD4−1)において、照合要求装置402がデータ照合装置403に送信するデータが、第3の実施形態に係る照合システム301に係ると比較して少ないからである。第3の実施形態において、該データは、たとえば、ランダム距離情報である。これに対して、第4の実施形態において、該データは、登録データと対象データとの間の距離が暗号化された暗号化距離である。暗号化距離のデータ量は、閾値tに基づいて区画される範囲に含まれる値のデータ量に比べて少ないので、照合要求装置402がデータ照合装置403に送信するデータ量は、第3の実施形態に係る照合システム301と比較して少ない。
尚、上述した各実施形態において、ユークリッド距離の例を挙げたが、他の距離(ハミング距離、マハラノビス距離等)であってもよい。
<第5の実施形態>
図13、及び、図14を参照しながら、本発明の第5の実施形態に係る暗号情報作成装置501が有する構成と、第5の実施形態に係る暗号情報作成装置501における処理とについて詳細に説明する。図13は、本発明の第5の実施形態に係る暗号情報作成装置501が有する構成を示すブロック図である。図14は、第5の実施形態に係る暗号情報作成装置501における処理の流れを示すフローチャートである。
第5の実施形態に係る暗号情報作成装置501は、範囲暗号部502と、演算部503とを有する。
範囲暗号部502は、閾値tに基づいて区画される範囲に含まれている第1値を算出する(ステップS501)。たとえば、範囲暗号部502は、閾値(−t)から0に至る範囲に含まれている値を、該第1値として算出する。あるいは、範囲暗号部502は、たとえば、閾値(−t)から(−1)に至る範囲に含まれている値を、該第1値として算出する。次に、範囲暗号部502は、準同型性を有する暗号方式に従い、算出した第1値を暗号化することによって、該第1値が暗号化された第1暗号文を作成する(ステップS502)。
演算部503は、該暗号方式に従いある値(以降、「第2値」と表す)が暗号化された第2暗号文と、該第1暗号文とに、暗号方式に従った演算を適用することによって、該第1値と該第2値とが加算された値が暗号化された第3暗号文を作成する(ステップS503)。
演算部503は、式1を参照して説明したような加法に関して準同型性を有する暗号方式に従い処理を実行する場合に、たとえば、第2暗号文と、第1暗号文と掛け算することによって、該第3暗号文を作成する。
尚、閾値tは、たとえば、対象データを受理するか否かを判定する基準を表す閾値である。第2値は、たとえば、対象データと、登録データとの距離、または、対象データと、登録データとが類似している程度を表す類似度である。この場合に、第2暗号文は、たとえば、該距離が暗号化された値である。
たとえば、範囲暗号部502、及び、演算部503は、上述した実施形態に示した距離集合部等が有する機能によって、実現することができる。
次に、第5の実施形態に係る暗号情報作成装置501に関する効果について説明する。
第5の実施形態に係る暗号情報作成装置501によれば、照合対象である情報と、参照すべき情報との、より安全な照合処理が可能になる情報を作成することができる。この理由は、照合処理において、受理するか否かを判定する基準を表す閾値tに基づいて区画される範囲に含まれる第1値と、ある値とが加算された値を、第2値が暗号化された第2暗号文を復号することなく求めることができるからである。この理由について詳細に説明する。
暗号情報作成装置501における処理に関する説明にて例示したように、第2値は、たとえば、対象データと、登録データとの距離(または、類似度)を表す。この場合に、暗号情報作成装置501は、図14に示した処理に従い、距離を復号することなく、該距離と、該閾値tに含まれている値とが加算された値が暗号化された第3暗号文(すなわち、上述した照合情報と同様の内容に関して暗号化された暗号文)を作成する。
復号装置(たとえば、各実施形態に示した照合補助部)は、該第3暗号文を受信し、受信した復号情報を復号することによって、第1値、及び、第2値が加算された値を算出し、該値が所定の条件を満たすか否かに応じて、対象データを受理可能であるか否かを判定する。すなわち、復号装置(たとえば、各実施形態に示した照合補助装置)は、対象データと、登録データとの距離を復号することなく、対象データを受理可能であるか否かを判定することができる。この結果、本実施形態に係る暗号情報作成装置501によれば、たとえば、復号された距離に基づきテンプレートを復元するヒルクライミング攻撃を受ける可能性は低下する。
これに対して、特許文献1乃至特許文献9、非特許文献1、及び、非特許文献2に開示された技術によれば、距離を暗号化したまま、該距離と閾値tとの大小を比較することはできない。すなわち、これらの技術は、暗号化された距離を復号することによって、該距離と、閾値tとの大小を比較する。したがって、これらの技術によれば、暗号化された距離を復号するので、該距離が外部に漏えいしてしまう可能性がある。
したがって、第5の実施形態に係る暗号情報作成装置501によれば、照合対象である情報と、参照すべき情報との、より安全な照合処理が可能になる情報を作成することができる。
(ハードウェア構成例)
上述した本発明の各実施形態における照合システム、または、暗号情報作成装置を、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、係る暗号情報作成装置(照合システム)は、物理的または機能的に少なくとも2つの計算処理装置を用いて実現してもよい。また、係る暗号情報作成装置(照合システム)は、専用の装置として実現してもよい。
図15は、第1の実施形態乃至第4の実施形態に係る照合システム、または、第5の実施形態に係る暗号情報作成装置を実現可能な計算処理装置のハードウェア構成例を概略的に示す図である。計算処理装置20は、中央処理演算装置(Central_Processing_Unit、以降「CPU」と表す)21、メモリ22、ディスク23、及び、不揮発性記録媒体24を有する。計算処理装置20は、通信インターフェース(以降、「通信IF」と表す)27を有する。計算処理装置20は、さらに、入力装置25、及び、出力装置26を有してもよい。計算処理装置20は、通信IF27を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
不揮発性記録媒体24は、コンピュータが読み取り可能な、たとえば、コンパクトディスク(Compact_Disc)、デジタルバーサタイルディスク(Digital_Versatile_Disc)である。また、不揮発性記録媒体24は、ユニバーサルシリアルバスメモリ(USBメモリ)、ソリッドステートドライブ(Solid_State_Drive)等であってもよい。不揮発性記録媒体24は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体24は、上述した媒体に限定されない。また、不揮発性記録媒体24の代わりに、通信IF27を介して、通信ネットワークを介して係るプログラムを持ち運びしてもよい。
すなわち、CPU21は、ディスク23に記憶されているソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)を、実行する際にメモリ22にコピーし、演算処理を実行する。CPU21は、プログラム実行に必要なデータをメモリ22から読み取る。外部への出力が必要な場合には、CPU21は、出力装置26に出力結果を出力する。外部からプログラムを入力する場合、CPU21は、入力装置25からプログラムを読み取る。CPU21は、上述した図1、図5、図7、図11、または、図13に示す各部が表す機能(処理)に対応するところのメモリ22にある照合プログラム(図2乃至図4、図6、図8乃至図10、または、図12)、または、暗号情報作成プログラム(図14)を解釈し実行する。CPU21は、上述した本発明の各実施形態において説明した処理を順次実行する。
すなわち、このような場合、本発明は、係る照合プログラム、または、係る暗号情報作成プログラムによっても成し得ると捉えることができる。さらに、係る照合プログラム、または、係る暗号情報作成プログラムが記録されたコンピュータが読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は、2015年6月18日に出願された日本出願特願2015−122751を基礎とする優先権を主張し、その開示の全てをここに取り込む。
101 照合システム
102 登録データ装置
103 照合要求装置
104 記憶装置
105 データ照合装置
106 照合補助装置
107 暗号化部
108 暗号文記憶部
109 識別子管理部
110 照合要求部
111 暗号化距離部
112 距離集合部
113 シャッフル部
114 照合情報送信部
115 照合補助依頼部
116 判定部
117 鍵生成部
118 照合補助部
119 鍵記憶部
201 照合システム
202 照合要求装置
203 データ照合装置
204 照合データ作成部
205 照合情報送信部
301 照合システム
302 登録データ装置
303 記憶装置
304 データ照合装置
305 照合補助装置
306 暗号化部
307 識別子管理部
308 照合要求装置
309 照合要求部
310 暗号化距離部
311 距離集合部
312 シャッフル部
313 照合情報送信部
314 鍵生成部
315 照合補助部
401 照合システム
402 照合要求装置
403 データ照合装置
404 照合データ作成部
405 距離集合部
501 暗号情報作成装置
502 範囲暗号部
503 演算部
20 計算処理装置
21 CPU
22 メモリ
23 ディスク
24 不揮発性記録媒体
25 入力装置
26 出力装置
27 通信IF

Claims (8)

  1. 閾値に基づく範囲に含まれている第1値を算出し、準同型性を有する暗号方式に従い、算出した前記第1値を暗号化することによって、前記第1値が暗号化された第1暗号文を作成する範囲暗号手段と、
    類似している程度を表す第2値が、前記暗号方式に従い暗号化された第2暗号文と、前記第1暗号文とに、前記暗号方式に従った演算を適用することによって、前記第1値と前記第2値とが加算された値が暗号化された第3暗号文を作成し、第1乱数が暗号化された第4暗号文を作成し、前記第3暗号文の第2乱数乗を算出し、算出した値と、前記第4暗号文とを掛け算した値を算出することによって、第5暗号文を作成し、作成した前記第5暗号文と、前記第1乱数とが関連付けされた比較情報セットを作成する演算手段と
    を備える暗号情報作成装置。
  2. 複数の前記比較情報セットを含む暗号化情報において、前記比較情報セットの並び順を、ランダム、または、擬似的にランダムに並び替える並び替え手段
    をさらに備える請求項1に記載の暗号情報作成装置。
  3. 前記演算手段は、前記第1暗号文と、前記第2暗号文とが掛け算された値を算出することによって、前記第3暗号文を作成する
    請求項1または請求項2に記載の暗号情報作成装置。
  4. 第1情報に含まれる第1要素が2乗された2乗値の総和を算出し、前記第1要素、及び、前記総和を暗号化することによって、該第1要素及び前記総和が暗号化された第1要素暗号文を作成する暗号手段と、
    前記第1要素暗号文と、第2情報に含まれる第2要素の値とを用いて、前記暗号方式に従い、前記第1情報と、前記第2情報との間の距離を表す前記第2値が暗号化された前記第2暗号文を作成する暗号化距離手段と
    を備える請求項1乃至請求項3のいずれかに記載の暗号情報作成装置。
  5. 前記暗号化距離手段は、前記第1要素暗号文に含まれる前記第1要素の(−2×前記第2要素)乗を算出することによって第6暗号文を作成し、前記第6暗号文、前記第2要素の2乗の第2総和が暗号化された暗号文、及び、前記第1要素暗号文に含まれる前記総和が暗号化された暗号文を積算することによって、前記第2暗号文を作成する
    請求項4に記載の暗号情報作成装置。
  6. 請求項4または請求項5に記載の暗号情報作成装置と、
    前記第3暗号文を復号することによって、前記第1値と前記第2値とが加算された前記値を算出し、算出した前記値が特定の条件を満たすか否かに基づき、前記第2情報が受け入れ可能であるか否かを判定する照合手段と
    を備える照合システム。
  7. 情報処理装置によって、閾値に基づく範囲に含まれている第1値を算出し、準同型性を有する暗号方式に従い、算出した前記第1値を暗号化することによって、前記第1値が暗号化された第1暗号文を作成し、類似している程度を表す第2値が前記暗号方式に従い暗号化された第2暗号文と、前記第1暗号文とに、前記暗号方式に従った演算を適用することによって、前記第1値と前記第2値とが加算された値が暗号化された第3暗号文を作成し、第1乱数が暗号化された第4暗号文を作成し、前記第3暗号文の第2乱数乗を算出し、算出した値と、前記第4暗号文とを掛け算した値を算出することによって、第5暗号文を作成し、作成した前記第5暗号文と、前記第1乱数とが関連付けされた比較情報セットを作成する暗号情報作成方法。
  8. 閾値に基づく範囲に含まれている第1値を算出し、準同型性を有する暗号方式に従い、算出した前記第1値を暗号化することによって、前記第1値が暗号化された第1暗号文を作成する範囲暗号機能と、
    類似している程度を表す第2値が前記暗号方式に従い暗号化された第2暗号文と、前記第1暗号文とに、前記暗号方式に従った演算を適用することによって、前記第1値と前記第2値とが加算された値が暗号化された第3暗号文を作成し、第1乱数が暗号化された第4暗号文を作成し、前記第3暗号文の第2乱数乗を算出し、算出した値と、前記第4暗号文とを掛け算した値を算出することによって、第5暗号文を作成し、作成した前記第5暗号文と、前記第1乱数とが関連付けされた比較情報セットを作成する演算機能
    をコンピュータに実現させる暗号情報作成プログラム。
JP2017524611A 2015-06-18 2016-06-14 暗号情報作成装置、暗号情報作成方法、暗号情報作成プログラム、及び、照合システム Active JP6763378B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015122751 2015-06-18
JP2015122751 2015-06-18
PCT/JP2016/002865 WO2016203762A1 (ja) 2015-06-18 2016-06-14 暗号情報作成装置、暗号情報作成方法、記録媒体、及び、照合システム

Publications (2)

Publication Number Publication Date
JPWO2016203762A1 JPWO2016203762A1 (ja) 2018-04-05
JP6763378B2 true JP6763378B2 (ja) 2020-09-30

Family

ID=57545418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017524611A Active JP6763378B2 (ja) 2015-06-18 2016-06-14 暗号情報作成装置、暗号情報作成方法、暗号情報作成プログラム、及び、照合システム

Country Status (3)

Country Link
US (1) US10826680B2 (ja)
JP (1) JP6763378B2 (ja)
WO (1) WO2016203762A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019014425A1 (en) * 2017-07-13 2019-01-17 Pindrop Security, Inc. SAFE PARTY WITH SEVERAL PARTIES KNOWING NO VOICE IMPRESSIONS
US10979426B2 (en) * 2017-09-26 2021-04-13 Visa International Service Association Privacy-protecting deduplication
US10665244B1 (en) 2018-03-22 2020-05-26 Pindrop Security, Inc. Leveraging multiple audio channels for authentication
US11516658B2 (en) * 2018-07-03 2022-11-29 Board Of Regents, The University Of Texas System Efficient and secure distributed signing protocol for mobile devices in wireless networks
US20220045852A1 (en) * 2018-12-12 2022-02-10 Nec Corporation Collation system, client and server
KR20200100481A (ko) * 2019-02-18 2020-08-26 삼성전자주식회사 생체 정보를 인증하기 위한 전자 장치 및 그의 동작 방법
US11190336B2 (en) * 2019-05-10 2021-11-30 Sap Se Privacy-preserving benchmarking with interval statistics reducing leakage
US11621837B2 (en) 2020-09-03 2023-04-04 Theon Technology Llc Secure encryption of data using partial-key cryptography
US11310042B2 (en) 2020-09-11 2022-04-19 Crown Sterling Limited, LLC Methods of storing and distributing large keys
US11528136B2 (en) 2020-11-24 2022-12-13 Crown Sterling Limited, LLC Decryption of encrypted data missing a private key
US11755772B2 (en) 2021-09-20 2023-09-12 Crown Sterling Limited, LLC Securing data in a blockchain with a one-time pad
US11791988B2 (en) 2021-11-22 2023-10-17 Theon Technology Llc Use of random entropy in cryptography
US11943336B2 (en) 2021-11-22 2024-03-26 Theon Technology Llc Use of gradient decent function in cryptography
US11902420B2 (en) 2021-11-23 2024-02-13 Theon Technology Llc Partial cryptographic key transport using one-time pad encryption

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1374188A2 (en) * 2001-03-24 2004-01-02 Votehere Inc. Verifiable secret shuffles and their application to electronic voting
CN101057448B (zh) 2004-11-16 2012-02-15 皇家飞利浦电子股份有限公司 安全地计算相似性度量
JP4564348B2 (ja) 2004-12-10 2010-10-20 株式会社日立製作所 生体情報の特徴量変換方法および生体認証システム
JP2006210964A (ja) 2005-01-24 2006-08-10 National Institute Of Information & Communication Technology エルガマル暗号による情報授受伝達方法及び装置
JPWO2007066385A1 (ja) 2005-12-06 2009-05-14 ブレインズ株式会社 個人認証システム、個人認証方法、及び個人認証を実行するプログラム
JP4929136B2 (ja) * 2007-11-27 2012-05-09 株式会社日立製作所 生体認証方法、装置およびシステム
US8249250B2 (en) * 2009-03-30 2012-08-21 Mitsubishi Electric Research Laboratories, Inc. Secure similarity verification between homomorphically encrypted signals
CN103380591B (zh) * 2011-02-22 2016-03-30 三菱电机株式会社 类似度计算系统、类似度计算装置以及类似度计算方法
DE112013000357B4 (de) * 2012-01-19 2018-02-15 Globalfoundries Inc. System zum Authentifizieren einer Annahme einer Zeichenfolge durch einen Automaten
JP5962472B2 (ja) 2012-12-03 2016-08-03 富士通株式会社 匿名化データ生成方法、装置及びプログラム
JP2014126865A (ja) 2012-12-27 2014-07-07 Fujitsu Ltd 暗号処理装置および方法
US8966277B2 (en) * 2013-03-15 2015-02-24 Mitsubishi Electric Research Laboratories, Inc. Method for authenticating an encryption of biometric data
US9985779B2 (en) 2013-04-24 2018-05-29 Nec Corporation Encrypted text matching system, method, and computer readable medium
WO2014185450A1 (ja) 2013-05-15 2014-11-20 日本電気株式会社 照合システム、ノード、照合方法およびプログラム
US10211986B2 (en) * 2013-05-15 2019-02-19 Nec Corporation Program collation system, node, collation method, and computer-readable medium
WO2018100740A1 (ja) * 2016-12-02 2018-06-07 日本電気株式会社 暗号文照合システム及び暗号文照合方法

Also Published As

Publication number Publication date
WO2016203762A1 (ja) 2016-12-22
JPWO2016203762A1 (ja) 2018-04-05
US20180145825A1 (en) 2018-05-24
US10826680B2 (en) 2020-11-03

Similar Documents

Publication Publication Date Title
JP6763378B2 (ja) 暗号情報作成装置、暗号情報作成方法、暗号情報作成プログラム、及び、照合システム
US10785019B2 (en) Data transmission method and apparatus
JP5562687B2 (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
US7688973B2 (en) Encryption apparatus, decryption apparatus, key generation apparatus, program, and method
US10826694B2 (en) Method for leakage-resilient distributed function evaluation with CPU-enclaves
WO2014185450A1 (ja) 照合システム、ノード、照合方法およびプログラム
WO2014185447A1 (ja) 照合システム、ノード、照合方法およびプログラム
CN110224816B (zh) 基于密钥卡和序列号的抗量子计算应用系统以及近距离节能通信方法和计算机设备
WO2018016330A1 (ja) 通信端末、サーバ装置、プログラム
WO2016072057A1 (ja) 暗号文照合システム、方法、および記録媒体
JP5972181B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
Suveetha et al. Ensuring confidentiality of cloud data using homomorphic encryption
JP6791263B2 (ja) 暗号文照合システム及び暗号文照合方法
JP6006809B2 (ja) 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体
Li et al. A Proxy Re-Encryption Scheme Based on Elliptic Curve Group.
Backes et al. Fully secure inner-product proxy re-encryption with constant size ciphertext
TWI701931B (zh) 具分級機制的數位簽章方法及適用該方法的硬體錢包裝置
KR100617456B1 (ko) 비밀키 관리 기능을 가지는 비밀키 단말장치 및 비밀키관리방법
Altarawneh A strong combination of cryptographic techniques to secure cloud-hosted data
CN115865531B (zh) 一种代理重加密数字资产授权方法
CN110535873B (zh) 应用于数据协同加密系统的加密方法、解密方法
US20220094532A1 (en) Methods and systems for homomorphic data representation and concealment powered by clifford geometric algebra
Yan et al. An efficient proof of retrievability scheme for fully homomorphic encrypted data
Singh et al. Security of Data with 3DES & Watermarking Algorithm
JP6528560B2 (ja) 指標算出システム、指標算出方法、指標算出プログラム、及び、照合システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200713

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200811

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200824

R150 Certificate of patent or registration of utility model

Ref document number: 6763378

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150