JP6421576B2 - 暗号処理装置、暗号処理方法、及び暗号処理プログラム - Google Patents

暗号処理装置、暗号処理方法、及び暗号処理プログラム Download PDF

Info

Publication number
JP6421576B2
JP6421576B2 JP2014251784A JP2014251784A JP6421576B2 JP 6421576 B2 JP6421576 B2 JP 6421576B2 JP 2014251784 A JP2014251784 A JP 2014251784A JP 2014251784 A JP2014251784 A JP 2014251784A JP 6421576 B2 JP6421576 B2 JP 6421576B2
Authority
JP
Japan
Prior art keywords
encryption
polynomial
information
cryptographic
vector
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.)
Expired - Fee Related
Application number
JP2014251784A
Other languages
English (en)
Other versions
JP2016114692A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014251784A priority Critical patent/JP6421576B2/ja
Priority to US14/934,740 priority patent/US10020933B2/en
Priority to EP15195179.5A priority patent/EP3032775B1/en
Publication of JP2016114692A publication Critical patent/JP2016114692A/ja
Application granted granted Critical
Publication of JP6421576B2 publication Critical patent/JP6421576B2/ja
Expired - Fee Related 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Collating Specific Patterns (AREA)
  • Storage Device Security (AREA)

Description

本発明は、暗号処理装置、暗号処理方法、及び暗号処理プログラムに関する。
現在、個人情報及び機密情報を保護する規制が強化される一方で、それらの情報を利用したサービスの市場が拡大しつつある。このようなサービスとしては、例えば、スマートフォンから取得できる個人ユーザの位置情報等を活用したサービスが挙げられる。
そこで、個人情報又は機密情報を保護したままで、情報の利活用ができる秘匿化技術が注目されている。秘匿化技術の中には、データ種別又はサービス要件に応じて暗号技術又は統計技術を用いる方法がある。
暗号技術を用いた秘匿化技術として、準同型暗号技術が知られている。準同型暗号技術は、暗号化と復号とで一対の異なる鍵を用いる公開鍵暗号方式の1つであり、暗号化したままでデータ操作が可能となる機能を有する。例えば、加算及び乗算に関する準同型暗号の暗号化関数Eは、平文m1及び平文m2に対して、次式のような性質を持つ。
E(m1)+E(m2)=E(m1+m2) (1)
E(m1)*E(m2)=E(m1*m2) (2)
式(1)は、加算に対して準同型であることを表し、式(2)は、乗算に対して準同型であることを表す。このように、準同型暗号技術によれば、2つ以上の暗号文を対象に加算、乗算等に対応する操作を行うことで、暗号文を復号することなく、元の平文同士に対して加算、乗算等を行った演算結果の暗号文を得ることができる。
このような準同型暗号の性質は、電子投票、電子現金等の分野、及び近年ではクラウド・コンピューティングの分野において利用されることが期待されている。加算又は乗算に関する準同型暗号としては、乗算のみ可能なRivest Shamir Adleman(RSA)暗号、加算のみ可能なAdditive ElGamal暗号等が知られている。
また、2009年には、式(1)及び式(2)を満たす、加算と乗算の両方が可能な準同型暗号が提案されている(例えば、非特許文献1を参照)。非特許文献1では、準同型暗号の理論的な実現方法のみしか示されておらず、実用的な構成法は明らかにされていない。しかし、近年では、加算と乗算の両方が可能な準同型暗号の実用的な構成法も提案されている(例えば、非特許文献2を参照)。
準同型暗号を利用した秘匿距離計算において、暗号ベクトルデータのサイズと秘匿距離計算の時間の両方を削減する暗号処理装置も知られている(例えば、特許文献1を参照)。この暗号処理装置は、第1のベクトルから第1の変換多項式を用いて第1の多項式を得るとともに、第2のベクトルから第2の変換多項式を用いて第2の多項式を得る。次に、暗号処理装置は、第1のベクトルの秘匿距離に関する第1の重みと、第2のベクトルの秘匿距離に関する第2の重みとを得る。
次に、暗号処理装置は、第1の多項式、第2の多項式、第1の重み、及び第2の重みのそれぞれを準同型暗号方式を用いて暗号化し、第1の暗号化多項式、第2の暗号化多項式、第1の暗号化重み、及び第2の暗号化重みを得る。そして、暗号処理装置は、第1の暗号化多項式、第2の暗号化多項式、第1の暗号化重み、及び第2の暗号化重みから、第1のベクトルと第2のベクトルの秘匿距離の暗号化に対応する暗号化秘匿距離を得る。
特開2014−126865号公報
C. Gentry, "Fully Homomorphic Encryption Using Ideal Lattices", STOC 2009, pp. 169-178, 2009. K. Lauter, M. Naehrig, V. Vaikuntanathan, "Can Homomorphic Encryption be Practical?", In ACM workshop on Cloud Computing Security Workshop-CCSW 2011, ACM, pp. 113-124, 2011.
特許文献1の暗号処理装置を適用することで、ユーザの生体情報を保護したままで個人認証を行う個人認証システムを実現することができる。しかしながら、個人認証システムにおいては、悪意のあるユーザが暗号情報を盗聴することで再送攻撃(Replay攻撃)を行って、正規のユーザに成りすますことが可能である。
なお、かかる問題は、暗号化秘匿距離に基づく個人認証システムに限らず、暗号化多項式を用いた暗号演算処理に基づく他の認証システムにおいても生ずるものである。
1つの側面において、本発明は、暗号化多項式を用いた暗号演算処理において、暗号情報の盗聴に対する耐性を向上させることを目的とする。
1つの案では、暗号処理装置は、記憶部、受信部、生成部、及び出力部を含む。
記憶部は、第1のベクトルに対応する第1の多項式を暗号化した暗号化多項式を表す第1の暗号情報を記憶する。受信部は、乱数を用いて生成される単項式を暗号化した暗号化単項式を表す第2の暗号情報を受信する端末装置から、第2のベクトルに対応する第2の多項式と単項式との乗算結果を暗号化した暗号化結果を表す第3の暗号情報を受信する。
生成部は、第1の暗号情報と、第3の暗号情報と、単項式を表す情報とを用いて、第1のベクトルと第2のベクトルとの演算結果を含む暗号化多項式を生成する。出力部は、生成部が生成した暗号化多項式を表す第4の暗号情報を出力する。
実施形態によれば、暗号化多項式を用いた暗号演算処理において、暗号情報の盗聴に対する耐性を向上させることができる。
暗号化多項式を用いた生体認証システムの構成図である。 暗号処理装置の機能的構成図である。 暗号処理のフローチャートである。 暗号処理装置を含む生体認証システムの構成図である。 暗号処理の第1の具体例を示すフローチャートである。 暗号処理の第2の具体例を示すフローチャートである。 情報処理装置の構成図である。
以下、図面を参照しながら、実施形態を詳細に説明する。
非特許文献2の3.2節には、準同型暗号の実用的な構成法について記載されている。この構成法では、まず、暗号鍵生成において、主に3つの鍵生成パラメータ(n,q,t)が用いられる。nは2冪の整数であり、格子次元と呼ばれる。qは素数であり、tは素数qよりも小さい整数である。
暗号鍵生成の手順として、まず、秘密鍵として各係数が非常に小さいn−1次多項式skがランダムに生成される。各係数の大きさは、あるパラメータσにより制限される。次に、各係数がqより小さいn−1次多項式a1と、各係数が非常に小さいn−1次多項式eとがランダムに生成される。そして、次式の多項式a0が計算され、多項式の組(a0,a1)が公開鍵pkとして定義される。
a0=−(a1*sk+t*e) (11)
ただし、多項式a0の計算では、n次以上の多項式に対してxn=−1,xn+1=−x,...を適用することで、絶えずn次より小さい次数の多項式が計算される。さらに、多項式に含まれる各項の係数としては、その係数を素数qで除算したときの剰余が用いられる。このような多項式演算を行う空間は、学術的にはRq:=Fq[x]/(xn+1)と表されることが多い。
次に、各係数がtより小さいn−1次多項式で表される平文データmと公開鍵pkとに対して、各係数が非常に小さい3つのn−1次多項式u、f、及びgがランダムに生成され、平文データmの暗号データEnc(m,pk)が次式により定義される。
Enc(m,pk)=(c0,c1) (12)
c0=a0*u+t*g+m (13)
c1=a1*u+t*f (14)
多項式c0及び多項式c1の計算においても、空間Rq上の多項式演算が用いられる。このとき、暗号データEnc(m1,pk)=(c0,c1)と暗号データEnc(m2,pk)=(d0,d1)とに対する暗号加算は、次式により計算される。
Enc(m1,pk)+Enc(m2,pk)
=(c0+d0,c1+d1) (15)
また、暗号データEnc(m1,pk)と暗号データEnc(m2,pk)とに対する暗号乗算は、次式により計算される。
Enc(m1,pk)*Enc(m2,pk)
=(c0*d0,c0*d1+c1*d0,c1*d1) (16)
式(16)の暗号乗算を行うと、暗号データが2次元ベクトルから3次元ベクトルに変化する。暗号乗算を複数回繰り返すと、乗算結果の暗号データの要素はさらに増加する。
次に、復号処理について説明する。複数回の暗号乗算等の操作により要素が増加した暗号データc=(c0,c1,c2,...)に対して、秘密鍵skを用いて次式の復号結果Dec(c,sk)を計算することで、暗号データcが復号される。
Dec(c,sk)
=[c0+c1*sk+c2*sk2+・・・]q mod t (17)
式(17)において、[f(x)]q mod tは、多項式f(x)の各係数ziを[zi]q mod tに置き換えた多項式を表す。整数zに対する[z]qの値は、zをqで除算したときの剰余wを用いて、次式により定義される。
[z]q=w (w<q/2の場合) (18)
[z]q=w−q (w≧q/2の場合) (19)
したがって、[z]qの値域は[−q/2,q/2)となる。また、a mod tは、整数aをtで除算したときの剰余を表す。
例えば、(n,q,t)=(4,1033,20)の場合、秘密鍵sk、公開鍵pk、及び暗号データEnc(m,pk)の簡単な例として、以下のような多項式が挙げられる。
sk=Mod(Mod(4,1033)*x3+Mod(4,1033)*x2
+Mod(1,1033)*x,x4+1) (20)
pk=(a0,a1) (21)
a0=Mod(Mod(885,1033)*x3
+Mod(519,1033)*x2+Mod(621,1033)*x
+Mod(327,1033),x4+1) (22)
a1=Mod(Mod(661,1033)*x3
+Mod(625,1033)*x2+Mod(861,1033)*x
+Mod(311,1033),x4+1) (23)
Enc(m,pk)=(c0,c1) (24)
m=3+2x+2x2+2x3 (25)
c0=Mod(Mod(822,1033)*x3
+Mod(1016,1033)*x2+Mod(292,1033)*x
+Mod(243,1033),x4+1) (26)
c1=Mod(Mod(840,1033)*x3
+Mod(275,1033)*x2+Mod(628,1033)*x
+Mod(911,1033),x4+1) (27)
式(20)〜式(27)において、Mod(a,q)は、整数aを素数qで除算したときの剰余を表し、Mod(f(x),x4+1)は、多項式f(x)を多項式x4+1で除算したときの剰余(多項式)を表す。例えば、f(x)=x4に対するMod(f(x),x4+1)は、f(x)=−1に対するMod(f(x),x4+1)と等しく、f(x)=x5に対するMod(f(x),x4+1)は、f(x)=−xに対するMod(f(x),x4+1)と等しい。
n−1次以下の2つの多項式f(x)及びg(x)に対する2つの暗号データEnc(f(x),pk)及びEnc(g(x),pk)は、加算及び乗算に関して、次式のような性質を持つ。
Enc(f(x),pk)+Enc(g(x),pk)
=Enc(f(x)+g(x),pk) (31)
Enc(f(x),pk)*Enc(g(x),pk)
=Enc(f(x)*g(x),pk) (32)
さらに、特許文献1の暗号処理装置によれば、ベクトルデータを多項式変換により1つの多項式で表現し、その多項式を準同型暗号により暗号化することで、処理時間や暗号データのサイズが大幅に改善される。
この暗号処理装置では、例えば、次のような2つのn次元ベクトルが入力データとして用いられる。
A=(a0,a2,...,an-1) (41)
B=(b0,b2,...,bn-1) (42)
2つのベクトルを暗号化したままで2つのベクトルの間の内積又は距離を高速に計算するために、例えば、次のような昇順変換と降順変換の2種類の多項式変換が用いられる。
[昇順変換]
Figure 0006421576
[降順変換]
Figure 0006421576
多項式pm1(A)及び多項式pm2(B)を準同型暗号により暗号化すると、暗号化多項式E(pm1(A))及び暗号化多項式E(pm2(B))が生成される。
E(pm1(A))=Enc(pm1(A),pk) (45)
E(pm2(B))=Enc(pm2(B),pk) (46)
暗号化多項式E(pm1(A))及び暗号化多項式E(pm2(B))を乗算すると、暗号化したままで乗算pm1(A)*pm2(B)が行われる。そして、乗算結果E(pm1(A))*E(pm2(B))を復号すると、復号結果の多項式に含まれる定数項は、次式のような値になる。
Figure 0006421576
式(47)は、ベクトルAとベクトルBの内積を表している。この方法によれば、ベクトルAとベクトルBの各要素を暗号化して乗算する方法よりも効率的に、内積を計算することができる。さらに、この内積計算を応用することで、ハミング距離、L2ノルム等を暗号化したままで高速に計算することもできる。
図1は、特許文献1の暗号処理装置を適用した生体認証システムの構成例を示している。図1の生体認証システムは、生体情報を利用した個人認証システムであり、端末装置101、暗号処理装置102、及び認証装置103を含む。暗号処理装置102と、端末装置101及び認証装置103とは、通信ネットワークにより接続されている。端末装置101は、例えば、クライアント端末のようなユーザの装置であり、暗号処理装置102及び認証装置103は、例えば、サーバである。端末装置101は、準同型暗号の公開鍵を持ち、認証装置103は、準同型暗号の秘密鍵を持つ。
生体認証システムは、ユーザがパスワード等の複雑な情報を覚える必要がないため、利用しやすい個人認証システムである反面、生体情報はユーザにとって終生不変な機密情報であるため、生体情報の漏洩等に対する強力な保護が望まれる。そこで、図1の生体認証システムでは、準同型暗号によりユーザの生体情報を保護している。
生体情報の登録時に、端末装置101は、登録者であるユーザの生体情報をセンサにより取得し、生体情報から抽出した特徴情報を、式(41)のようなベクトルAに変換し、暗号化処理111−1を行う。センサにより取得される生体情報としては、指紋、顔、静脈、虹彩等の画像情報又は声等の音声情報を用いることができる。
暗号化処理111−1において、端末装置101は、ベクトルAを式(43)のような多項式pm1(A)に変換し、多項式pm1(A)を準同型暗号により暗号化して暗号化多項式E(pm1(A))を生成する。そして、端末装置101は、暗号化多項式E(pm1(A))を表す暗号情報を暗号処理装置102へ送信する。暗号処理装置102は、端末装置101から受信した暗号情報を、登録生体情報を表すテンプレート112として、データベースに登録する。
生体情報の認証時に、端末装置101は、認証対象者であるユーザの生体情報をセンサにより取得し、生体情報から抽出した特徴情報を、式(42)のようなベクトルBに変換し、暗号化処理111−2を行う。
暗号化処理111−2において、端末装置101は、ベクトルBを式(44)のような多項式pm2(B)に変換し、多項式pm2(B)を準同型暗号により暗号化して暗号化多項式E(pm2(B))を生成する。そして、端末装置101は、暗号化多項式E(pm2(B))を表す暗号情報を暗号処理装置102へ送信する。
暗号処理装置102は、テンプレート112が表す暗号化多項式E(pm1(A))と、端末装置101から受信した暗号情報が表す暗号化多項式E(pm2(B))とを用いて暗号演算処理を行い、暗号演算結果を表す暗号情報を認証装置103へ送信する。
認証装置103は、暗号処理装置101から受信した暗号情報に基づいて、認証対象者を認証する認証処理114を行う。認証処理114において、認証装置103は、受信した暗号情報を復号してベクトルAとベクトルBの演算結果を生成し、生成した演算結果に基づいて認証を行う。
ベクトルAとベクトルBの演算結果としては、例えば、ベクトルAとベクトルBとの間の距離(ハミング距離等)が用いられる。この場合、暗号処理装置102は、2つのベクトルを暗号化したままの状態で、ベクトルAとベクトルBとの間の距離を計算することができ、認証装置103は、距離を閾値と比較して、認証の成否を判定することができる。距離が閾値より小さければ、認証対象者の認証が成功したと判定され、距離が閾値以上であれば、認証が失敗したと判定される。
このような生体認証システムによれば、端末装置101から暗号処理装置102へは暗号化された情報のみが送信され、暗号処理装置102は秘密鍵を持たないため、暗号処理装置102がユーザの生体情報を表すベクトルを知ることはない。また、暗号処理装置102から認証装置103へは暗号演算結果のみが送信され、認証装置103は、復号によりベクトルAとベクトルBの演算結果のみを生成するため、認証装置103がユーザの生体情報を表すベクトルを知ることもない。
したがって、暗号処理装置102と認証装置103とが結託しない限り、ベクトルA又はベクトルBが生成されることはなく、ユーザの生体情報を保護したままで個人認証サービスが提供される。
しかしながら、図1の生体認証システムにおいては、悪意のあるユーザが再送攻撃を行って、正規のユーザに成りすますことが可能である。再送攻撃は、認証システムにおける代表的な成りすまし攻撃の1つであり、具体的には、攻撃者が端末装置101と暗号処理装置102との間の通信路を盗聴することで、正規のユーザが送信する暗号化多項式の暗号情報を不正に取得する。攻撃者は、正規のユーザに成りすまして、取得した暗号情報を暗号処理装置102へ再送することで、認証装置103による認証を成功させることができる。
このような再送攻撃に対する対策として、チャレンジ・レスポンス認証方式が有効である。この認証方式では、認証側の装置がチャレンジと呼ばれる乱数を生成して、端末装置へ送信する。端末装置は、受信したチャレンジと認証対象の情報とを基にレスポンスと呼ばれるデータを生成し、認証側の装置へ返信する。そして、認証側の装置は、チャレンジと受信したレスポンスとを用いて認証処理を行う。チャレンジ・レスポンス認証方式によれば、チャレンジが生成される度にレスポンスが毎回変化するため、レスポンスを盗聴して再送しても認証に失敗してしまう。
そこで、図1の生体認証システムにおける再送攻撃対策として、チャレンジ・レスポンス認証の仕組みを導入することが考えられる。
図2は、実施形態の暗号処理装置の機能的構成例を示している。図2の暗号処理装置201は、記憶部211、受信部212、生成部213、及び出力部214を含む。記憶部211は、第1のベクトルに対応する第1の多項式を暗号化した第1の暗号化多項式を表す第1の暗号情報を記憶する。受信部212は、乱数を用いて生成される単項式を暗号化した暗号化単項式を表す第2の暗号情報を受信する端末装置から、第3の暗号情報を受信する。生成部213は、第1の暗号情報及び第3の暗号情報を用いて暗号処理を行い、出力部214は、暗号処理の結果を出力する。
図3は、図2の暗号処理装置201が行う暗号処理の例を示すフローチャートである。まず、受信部212は、端末装置から、第2のベクトルに対応する第2の多項式と単項式との乗算結果を暗号化した暗号化結果を表す第3の暗号情報を受信する(ステップ301)。
次に、生成部は、第1の暗号情報と、第3の暗号情報と、単項式を表す情報とを用いて、第1のベクトルと第2のベクトルとの演算結果を含む暗号化多項式を生成する(ステップ302)。そして、出力部214は、生成部213が生成した暗号化多項式を表す第4の暗号情報を出力する(ステップ303)。
このような暗号処理装置201によれば、暗号化多項式を用いた暗号演算処理において、暗号情報の盗聴に対する耐性を向上させることができる。
式(31)及び式(32)に示したように、準同型暗号による暗号演算処理において、2つの多項式f(x)及びg(x)に対する加算及び乗算は、次式のような性質を持つ。
E(f(x))+E(g(x))=E(f(x)+g(x)) (51)
E(f(x))*E(g(x))=E(f(x)*g(x)) (52)
さらに、非特許文献2の実用的な構成法を用いた場合、これらの加算及び乗算の性質を次式のように書き換えることができる。
f(x)+E(g(x))=E(f(x)+g(x)) (53)
f(x)*E(g(x))=E(f(x)*g(x)) (54)
式(53)又は式(54)は、f(x)を暗号化せずにE(g(x))と加算又は乗算しても、得られた演算結果を復号すれば、E(f(x)+g(x))又はE(f(x)*g(x))の復号結果と一致することを表している。このような暗号演算処理によれば、f(x)の暗号化処理を省略することができるため、処理が効率化される。そこで、以下の暗号演算処理では、式(53)及び式(54)の性質を用いることがある。
図4は、図2の暗号処理装置201を含む生体認証システムの構成例を示している。図4の認証システムは、暗号処理装置201、端末装置401、及び認証装置402を含む。暗号処理装置201は、記憶部211、生成部213、通信部411、及び通信部412を含む。通信部411及び通信部412は、図2の受信部212及び出力部214にそれぞれ対応する。
暗号処理装置201と、端末装置401及び認証装置402とは、通信ネットワークにより接続されており、通信部411は、端末装置401と通信し、通信部412は、認証装置402と通信する。
生体情報の登録時に、端末装置401は、登録者の生体情報をセンサにより取得し、生体情報から抽出した特徴情報を、式(41)のようなベクトルAに変換する。次に、端末装置401は、ベクトルAを式(43)のような多項式pm1(A)に変換し、多項式pm1(A)を準同型暗号により暗号化して暗号化多項式E(pm1(A))を生成する。そして、端末装置401は、暗号化多項式E(pm1(A))を表す暗号情報を暗号処理装置201へ送信する。
暗号処理装置201は、端末装置401から受信した暗号情報を、登録暗号情報413として記憶部211に格納する。暗号化多項式を表す暗号情報としては、例えば、暗号化多項式の各項が有する係数を用いることができる。
図5は、生体情報の認証時に図4の生体認証システムが行う暗号処理の第1の具体例を示すフローチャートである。まず、端末装置401は、認証要求を暗号処理装置201へ送信する(ステップ501)。
次に、暗号処理装置201の生成部213は、端末装置401から受信した認証要求に応じて、2つの乱数r及びkを生成し、r及びkを用いて単項式rx^kを生成する(ステップ502)。乱数rは、0以上の整数であり、鍵生成パラメータtよりも小さい。乱数kは、0以上の整数であり、格子次元nよりも小さい。
生成部213は、単項式rx^kを準同型暗号により暗号化して、チャレンジ暗号データchl=E(rx^k)を生成し(ステップ503)、通信部411は、チャレンジ暗号データchlを表す暗号情報を端末装置401へ送信する(ステップ504)。チャレンジ暗号データchlは、暗号化単項式に対応する。
次に、端末装置401は、認証対象者の生体情報をセンサにより取得し、生体情報から抽出した特徴情報を、式(42)のようなベクトルBに変換し(ステップ505)、ベクトルBを式(44)のような多項式pm2(B)に変換する(ステップ506)。
次に、端末装置401は、多項式pm2(B)と、暗号処理装置201から受信したチャレンジ暗号データchlとを乗算して、pm2(B)*chlを求める(ステップ507)。そして、端末装置401は、pm2(B)*chlと0の暗号データE(0)とを加算して、レスポンス暗号データresを生成する。
res=pm2(B)*chl+E(0)
=E(pm2(B)*rx^k) (61)
次に、端末装置401は、レスポンス暗号データresを表す暗号情報を暗号処理装置201へ送信する(ステップ508)。このレスポンス暗号データresは、多項式pm2(B)と単項式rx^kとの乗算結果を準同型暗号により暗号化した暗号化結果を表している。pm2(B)*chlに対してE(0)を加算することで、攻撃者がチャレンジ暗号データchlとレスポンス暗号データresとを盗聴した場合でも、それらの情報からベクトルBが復元されることを防止できる。
次に、暗号処理装置201の生成部213は、チャレンジ暗号データchlの生成時に生成した乱数r及びkを用いて、単項式rx^kの逆数r^(−1)x^(−k)を生成する(ステップ509)。そして、生成部213は、端末装置401から受信したレスポンス暗号データresにr^(−1)x^(−k)を乗算して、暗号化多項式E(pm2(B))を求める。
r^(−1)x^(−k)*res
=r^(−1)x^(−k)*E(pm2(B)*rx^k)
=E(pm2(B)) (62)
次に、生成部213は、記憶部211に格納されている暗号化多項式E(pm1(A))と、暗号化多項式E(pm2(B))とを用いて暗号演算処理を行い、暗号演算結果を生成する(ステップ510)。そして、通信部412は、暗号演算結果を表す暗号情報を認証装置402へ送信する(ステップ511)。
認証装置402は、暗号処理装置201から受信した暗号情報を復号し、ベクトルAとベクトルBの演算結果を生成する(ステップ512)。そして、認証装置402は、生成した演算結果に基づいて認証対象者の認証を行い、認証結果を出力する。
ベクトルAとベクトルBの演算結果は、ベクトルAとベクトルBの内積であってもよく、内積に基づく類似度(例えば、コサイン類似度)であってもよく、内積に基づく相違度(例えば、ハミング距離、ユークリッド距離等)であってもよい。
例えば、演算結果がベクトルAとベクトルBの内積に基づく類似度である場合、認証装置402は、類似度を閾値と比較して、認証の成否を判定することができる。この場合、類似度が閾値より大きれば、認証対象者の認証が成功したと判定され、類似度が閾値以下であれば、認証が失敗したと判定される。
演算結果がベクトルAとベクトルBの内積に基づく相違度である場合、認証装置402は、相違度を閾値と比較して、認証の成否を判定することができる。この場合、相違度が閾値より小さければ、認証対象者の認証が成功したと判定され、相違度が閾値以上であれば、認証が失敗したと判定される。
例えば、ベクトルA及びベクトルBが2値ベクトルである場合、ベクトルAの要素a0〜要素an-1のすべてが0又は1であり、ベクトルBの要素b0〜要素bn-1のすべてが0又は1である。この場合、生成部213は、E(pm1(A))とE(pm2(B))の暗号演算結果として、次式によりベクトルAとベクトルBの暗号化ハミング距離E(DH)を計算することができる。
E(DH)=E(pm1(A))*C1+E(pm2(B))*C2
−2*E(pm1(A))*E(pm2(B)) (63)
ここで、多項式C1及び多項式C2は、次式により与えられる。
Figure 0006421576
通信部412は、暗号化ハミング距離E(DH)を表す暗号情報を認証装置402へ送信し、認証装置402は、受信した暗号情報が表す暗号化ハミング距離E(DH)を復号して、復号結果である多項式DHを生成する。この多項式DHは、次式により計算される多項式と等価である。
pm1(A)*C1+pm2(B)*C2
−2*pm1(A)*pm2(B) (66)
そこで、認証装置402は、多項式DHに含まれる定数項から、ベクトルAとベクトルBのハミング距離HDを求めることができる。
HD=a0+a1+・・・+an-1+b0+b1+・・・+bn-1
−2(a00+a11+・・・+an-1n-1) (67)
図5の暗号処理によれば、暗号処理装置201がチャレンジ暗号データを生成する度にレスポンス暗号データが変化するため、攻撃者がレスポンス暗号データを盗聴して再送しても認証に失敗する。したがって、再送攻撃による成りすましを防ぐことができる。
図6は、生体情報の認証時に図4の生体認証システムが行う暗号処理の第2の具体例を示すフローチャートである。図6の暗号処理では、暗号処理装置201の代わりに、認証装置402がチャレンジ暗号データを生成する。まず、端末装置401は、認証要求を認証装置402へ送信する(ステップ601)。
次に、認証装置402は、端末装置401から受信した認証要求に応じて、2つの乱数r及びkを生成し、r及びkを用いて単項式rx^kを生成する(ステップ602)。そして、認証装置402は、単項式rx^kを準同型暗号により暗号化して、チャレンジ暗号データchl=E(rx^k)を生成し(ステップ603)、チャレンジ暗号データchlを表す暗号情報を端末装置401へ送信する(ステップ604)。
次に、端末装置401は、認証対象者の生体情報をセンサにより取得し、生体情報から抽出した特徴情報を、式(42)のようなベクトルBに変換し(ステップ605)、ベクトルBを式(44)のような多項式pm2(B)に変換する(ステップ606)。
次に、端末装置401は、多項式pm2(B)と、認証装置402から受信したチャレンジ暗号データchlとを用いて、式(61)によりレスポンス暗号データresを生成する(ステップ607)。そして、端末装置401は、チャレンジ暗号データchlを表す暗号情報と、レスポンス暗号データresを表す暗号情報とを、暗号処理装置201へ送信する(ステップ608)。
次に、暗号処理装置201の生成部213は、記憶部211に格納されている暗号化多項式E(pm1(A))と、チャレンジ暗号データchlと、レスポンス暗号データresとを用いて、次式のような暗号演算処理を行う(ステップ609)。
E(DX)=E(pm1(A))*C1*chl+res*C2
−2E(pm1(A))*res (71)
そして、通信部412は、式(71)の暗号演算結果E(DX)を表す暗号情報を認証装置402へ送信する(ステップ610)。
認証装置402は、暗号処理装置201から受信した暗号情報が表す暗号演算結果E(DX)を復号し、復号結果DXを生成する(ステップ611)。この復号結果DXは、次式により計算される多項式と等価である。
pm1(A)*C1*rx^k+pm2(B)*rx^k*C2
−2*pm1(A)*pm2(B)*rx^k
=rx^k*(pm1(A)*C1+pm2(B)*C2
−2pm1(A)*pm2(B)) (72)
式(72)の右辺のpm1(A)*C1+pm2(B)*C2−2pm1(A)*pm2(B)は、式(66)の多項式と一致する。つまり、式(71)の暗号演算結果E(DX)は、暗号化したままでrx^k*DHを計算した結果を表しており、認証装置402は、暗号演算結果E(DX)を復号することで、DX=rx^k*DHを得ることができる。
次に、認証装置402は、チャレンジ暗号データchlの生成時に生成した乱数r及びkを用いて、単項式rx^kの逆数r^(−1)x^(−k)を生成する。そして、認証装置402は、復号結果DXにr^(−1)x^(−k)を乗算して多項式DHを求め、多項式DHに含まれる定数項から、ベクトルAとベクトルBのハミング距離HDを求める。
そして、認証装置402は、ハミング距離HDを閾値と比較して、認証対象者の認証を行い、認証結果を出力する。この場合、ハミング距離HDが閾値より小さければ、認証対象者の認証が成功したと判定され、ハミング距離HDが閾値以上であれば、認証が失敗したと判定される。
図6の暗号処理によれば、認証装置402がチャレンジ暗号データを生成する度にレスポンス暗号データが変化するため、攻撃者がレスポンス暗号データを盗聴して再送しても認証に失敗する。したがって、再送攻撃による成りすましを防ぐことができる。
図2の暗号処理装置201及び図4の生体認証システムの構成は一例に過ぎず、暗号処理装置201の用途や条件に応じて一部の構成要素を省略又は変更してもよい。例えば、図4の生体認証システムにおいて、認証対象者は、端末装置401とは異なる端末装置を用いて、生体情報の認証のための処理を行ってもよい。複数のユーザが生体情報の登録及び認証のための処理を行ってもよく、複数のユーザのための複数の端末装置401を設けてもよい。
さらに、図2の暗号処理装置201は、ベクトルAとベクトルBの演算結果を利用する、生体認証システム以外の認証システムにも適用できる。例えば、生体情報以外の画像情報、音声情報等をベクトルに変換して、個人認証を行うことも可能である。
図3、図5、及び図6のフローチャートは一例に過ぎず、暗号処理装置201又は生体認証システムの構成や条件に応じて一部の処理を省略又は変更してもよい。例えば、図5の暗号処理において、暗号処理装置201の外部の装置が乱数を生成する場合は、ステップ502の処理を省略することができる。同様に、図6の暗号処理において、認証装置402の外部の装置が乱数を生成する場合は、ステップ602の処理を省略することができる。
図6の暗号処理において、ベクトルAとベクトルBのハミング距離の代わりに、ベクトルAとベクトルBの類似度又は相違度を表す他の演算結果を用いてもよい。
式(1)〜式(72)は一例に過ぎず、他の定式化を用いてもよい。例えば、式(43)の昇順変換を登録者のベクトルAに対して適用し、式(44)の降順変換を認証対象者のベクトルBに対して適用する代わりに、昇順変換をベクトルBに対して適用し、降順変換をベクトルAに対して適用してもよい。
準同型暗号による暗号演算処理において、2つの多項式f(x)及びg(x)に対する加算及び乗算を、式(53)及び式(54)に基づいて行う代わりに、式(51)及び式(52)に基づいて行ってもよい。
端末装置401がレスポンス暗号データresを生成する際、式(61)の右辺における暗号データE(0)の加算を省略してもよい。式(66)の多項式DHに含まれる定数項の代わりに、他の項の係数にハミング距離HDが現れるような定式化を用いてもよい。
図2及び図4の暗号処理装置201、端末装置401、及び認証装置402は、例えば、ハードウェア回路として実装することができる。この場合、暗号処理装置201の各構成要素を個別の回路として実装してもよく、複数の構成要素を1つの集積回路として実装してもよい。
暗号処理装置201、端末装置401、及び認証装置402は、図7に示すような情報処理装置(コンピュータ)を用いて実現することも可能である。
図7の情報処理装置は、Central Processing Unit(CPU)701、メモリ702、入力装置703、出力装置704、補助記憶装置705、媒体駆動装置706、及びネットワーク接続装置707を含む。これらの構成要素はバス708により互いに接続されている。
メモリ702は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリである。メモリ702は、暗号処理装置201、端末装置401、又は認証装置402が行う処理のためのプログラム及びデータを格納する。メモリ702は、記憶部211として用いることができる。
情報処理装置が暗号処理装置201である場合、CPU701は、例えば、メモリ702を利用してプログラムを実行することにより、生成部213として動作し、暗号処理を行う。
情報処理装置が端末装置401又は認証装置402である場合、CPU701は、例えば、メモリ702を利用してプログラムを実行することにより、端末装置401又は認証装置402の処理を行う。
入力装置703は、例えば、キーボード、ポインティングデバイス等であり、ユーザ又はオペレータからの指示や情報の入力に用いられる。出力装置704は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザ又はオペレータへの問い合わせや処理結果の出力に用いられる。処理結果は、認証装置402による認証処理の結果であってもよい。
補助記憶装置705は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置705は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置は、補助記憶装置705にプログラム及びデータを格納しておき、それらをメモリ702にロードして使用することができる。補助記憶装置705は、記憶部211として用いることができる。
媒体駆動装置706は、可搬型記録媒体709を駆動し、その記録内容にアクセスする。可搬型記録媒体709は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体709は、Compact Disk Read Only Memory(CD−ROM)、Digital Versatile Disk(DVD)、Universal Serial Bus(USB)メモリ等であってもよい。ユーザ又はオペレータは、この可搬型記録媒体709にプログラム及びデータを格納しておき、それらをメモリ702にロードして使用することができる。
このように、プログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ702、補助記憶装置705、及び可搬型記録媒体709のような、物理的な(非一時的な)記録媒体である。
ネットワーク接続装置707は、Local Area Network(LAN)、インターネット等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、ネットワーク接続装置707を介して外部の装置からプログラム及びデータを受信し、それらをメモリ702にロードして使用することができる。ネットワーク接続装置707は、受信部212、出力部214、通信部411、又は通信部412として用いることができる。
なお、情報処理装置が図7のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、ユーザ又はオペレータからの指示や情報の入力を行わない場合は、入力装置703を省略してもよく、ユーザ又はオペレータへの問い合わせや処理結果の出力を行わない場合は、出力装置704を省略してもよい。情報処理装置が可搬型記録媒体709にアクセスしない場合は、媒体駆動装置706を省略してもよい。
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
図1乃至図7を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1のベクトルに対応する第1の多項式を暗号化した暗号化多項式を表す第1の暗号情報を記憶する記憶部と、
乱数を用いて生成される単項式を暗号化した暗号化単項式を表す第2の暗号情報を受信する端末装置から、第2のベクトルに対応する第2の多項式と前記単項式との乗算結果を暗号化した暗号化結果を表す第3の暗号情報を受信する受信部と、
前記第1の暗号情報と、前記第3の暗号情報と、前記単項式を表す情報とを用いて、前記第1のベクトルと前記第2のベクトルとの演算結果を含む暗号化多項式を生成する生成部と、
前記演算結果を含む前記暗号化多項式を表す第4の暗号情報を出力する出力部と、
を備えることを特徴とする暗号処理装置。
(付記2)
前記第2の暗号情報を前記端末装置へ送信する送信部をさらに備え、
前記生成部は、前記第3の暗号情報が表す前記暗号化結果と前記単項式の逆数とを乗算して、前記第2の多項式を暗号化した暗号化多項式を生成し、前記第1の多項式を暗号化した前記暗号化多項式と前記第2の多項式を暗号化した前記暗号化多項式とを乗算して、前記演算結果を含む前記暗号化多項式を生成し、前記出力部は、前記第4の暗号情報を復号して前記演算結果に基づく認証処理を行う認証装置へ、前記第4の暗号情報を出力することを特徴とする付記1記載の暗号処理装置。
(付記3)
前記端末装置は、前記第4の暗号情報を復号して前記演算結果に基づく認証処理を行う認証装置から、前記第2の暗号情報を受信し、前記受信部は、前記端末装置から前記第2の暗号情報をさらに受信し、前記生成部は、前記第2の暗号情報を前記単項式を表す前記情報として用い、前記第1の多項式を暗号化した前記暗号化多項式と、前記第3の暗号情報が表す前記暗号化結果と、前記第2の暗号情報が表す前記暗号化単項式とを用いた所定の演算を行って、前記演算結果を含む前記暗号化多項式を生成し、前記出力部は、前記第4の暗号情報を前記認証装置へ出力することを特徴とする付記1記載の暗号処理装置。
(付記4)
前記演算結果は、前記第1のベクトルと前記第2のベクトルの相違度又は類似度を表すことを特徴とする付記1乃至3のいずれか1項に記載の暗号処理装置。
(付記5)
第1のベクトルに対応する第1の多項式を暗号化した暗号化多項式を表す第1の暗号情報を記憶するコンピュータが、
乱数を用いて生成される単項式を暗号化した暗号化単項式を表す第2の暗号情報を受信する端末装置から、第2のベクトルに対応する第2の多項式と前記単項式との乗算結果を暗号化した暗号化結果を表す第3の暗号情報を受信し、
前記第1の暗号情報と、前記第3の暗号情報と、前記単項式を表す情報とを用いて、前記第1のベクトルと前記第2のベクトルとの演算結果を含む暗号化多項式を生成し、
前記演算結果を含む前記暗号化多項式を表す第4の暗号情報を出力する、
ことを特徴とする暗号処理方法。
(付記6)
前記コンピュータは、前記第2の暗号情報を前記端末装置へ送信し、前記第3の暗号情報が表す前記暗号化結果と前記単項式の逆数とを乗算して、前記第2の多項式を暗号化した暗号化多項式を生成し、前記第1の多項式を暗号化した前記暗号化多項式と前記第2の多項式を暗号化した前記暗号化多項式とを乗算して、前記演算結果を含む前記暗号化多項式を生成し、前記第4の暗号情報を復号して前記演算結果に基づく認証処理を行う認証装置へ、前記第4の暗号情報を出力することを特徴とする付記5記載の暗号処理方法。
(付記7)
前記端末装置は、前記第4の暗号情報を復号して前記演算結果に基づく認証処理を行う認証装置から、前記第2の暗号情報を受信し、前記コンピュータは、前記端末装置から前記第2の暗号情報をさらに受信し、前記第2の暗号情報を前記単項式を表す前記情報として用い、前記第1の多項式を暗号化した前記暗号化多項式と、前記第3の暗号情報が表す前記暗号化結果と、前記第2の暗号情報が表す前記暗号化単項式とを用いた所定の演算を行って、前記演算結果を含む前記暗号化多項式を生成し、前記第4の暗号情報を前記認証装置へ出力することを特徴とする付記5記載の暗号処理方法。
(付記8)
前記演算結果は、前記第1のベクトルと前記第2のベクトルの相違度又は類似度を表すことを特徴とする付記5乃至7のいずれか1項に記載の暗号処理方法。
(付記9)
第1のベクトルに対応する第1の多項式を暗号化した暗号化多項式を表す第1の暗号情報を記憶するコンピュータに、
乱数を用いて生成される単項式を暗号化した暗号化単項式を表す第2の暗号情報を受信する端末装置から、第2のベクトルに対応する第2の多項式と前記単項式との乗算結果を暗号化した暗号化結果を表す第3の暗号情報を受信し、
前記第1の暗号情報と、前記第3の暗号情報と、前記単項式を表す情報とを用いて、前記第1のベクトルと前記第2のベクトルとの演算結果を含む暗号化多項式を生成し、
前記演算結果を含む前記暗号化多項式を表す第4の暗号情報を出力する、
処理を実行させる暗号処理プログラム。
(付記10)
前記コンピュータは、前記第2の暗号情報を前記端末装置へ送信し、前記第3の暗号情報が表す前記暗号化結果と前記単項式の逆数とを乗算して、前記第2の多項式を暗号化した暗号化多項式を生成し、前記第1の多項式を暗号化した前記暗号化多項式と前記第2の多項式を暗号化した前記暗号化多項式とを乗算して、前記演算結果を含む前記暗号化多項式を生成し、前記第4の暗号情報を復号して前記演算結果に基づく認証処理を行う認証装置へ、前記第4の暗号情報を出力することを特徴とする付記9記載の暗号処理プログラム。
(付記11)
前記端末装置は、前記第4の暗号情報を復号して前記演算結果に基づく認証処理を行う認証装置から、前記第2の暗号情報を受信し、前記コンピュータは、前記端末装置から前記第2の暗号情報をさらに受信し、前記第2の暗号情報を前記単項式を表す前記情報として用い、前記第1の多項式を暗号化した前記暗号化多項式と、前記第3の暗号情報が表す前記暗号化結果と、前記第2の暗号情報が表す前記暗号化単項式とを用いた所定の演算を行って、前記演算結果を含む前記暗号化多項式を生成し、前記第4の暗号情報を前記認証装置へ出力することを特徴とする付記9記載の暗号処理プログラム。
(付記12)
前記演算結果は、前記第1のベクトルと前記第2のベクトルの相違度又は類似度を表すことを特徴とする付記9乃至11のいずれか1項に記載の暗号処理プログラム。
101、401 端末装置
102、201 暗号処理装置
103、403 認証装置
111−1、111−2 暗号化処理
112 テンプレート
113−1、113−2 暗号化多項式
114 認証処理
211 記憶部
212 受信部
213 生成部
214 出力部
411、412 通信部
413 登録暗号情報
701 CPU
702 メモリ
703 入力装置
704 出力装置
705 補助記憶装置
706 媒体駆動装置
707 ネットワーク接続装置
708 バス
709 可搬型記録媒体

Claims (4)

  1. 端末装置と暗号処理装置とを備えるシステムであって、
    前記暗号処理装置は、第1のベクトルに対応する第1の多項式を準同型暗号により暗号化した暗号化多項式を表す第1の暗号情報を記憶する記憶部、受信部、生成部、及び出力部を含み
    前記端末装置は、乱数を用いて生成される単項式を前記準同型暗号により暗号化した暗号化単項式を表す第2の暗号情報を用いて、第2のベクトルに対応する第2の多項式と前記単項式との乗算結果を前記準同型暗号により暗号化した暗号化結果を生成し、生成した暗号化結果を表す第3の暗号情報を前記暗号処理装置へ送信し
    前記受信部は、前記端末装置から前記第3の暗号情報を受信し、
    前記生成部は、前記第1の暗号情報と、前記第3の暗号情報と、前記単項式を表す情報とを用いて、前記第1のベクトルと前記第2のベクトルとの演算結果を前記準同型暗号により暗号化した暗号化結果を含む暗号化多項式を生成
    前記出力部は、前記生成部が生成した暗号化多項式を表す第4の暗号情報を出力する
    ことを特徴とするシステム
  2. 前記システムは、前記第4の暗号情報を復号して前記演算結果に基づく認証処理を行う認証装置をさらに備え、
    前記暗号処理装置は、前記第2の暗号情報を生成して前記端末装置へ送信
    前記演算結果は、前記第1のベクトルと前記第2のベクトルとの乗算結果であり、
    前記生成部は、前記第3の暗号情報が表す前記暗号化結果と前記単項式の逆数とを乗算して、前記第2の多項式を前記準同型暗号により暗号化した暗号化多項式を生成し、前記第1の多項式を前記準同型暗号により暗号化した前記暗号化多項式と前記第2の多項式を前記準同型暗号により暗号化した前記暗号化多項式とを乗算して、前記演算結果を前記準同型暗号により暗号化した暗号化結果を含む前記暗号化多項式を生成し、前記出力部は前記第4の暗号情報を前記認証装置へ出力することを特徴とする請求項1記載のシステム
  3. 前記システムは、前記第4の暗号情報を復号して前記演算結果に基づく認証処理を行う認証装置をさらに備え、
    前記認証装置は、前記第2の暗号情報を生成して前記端末装置へ送信し、
    前記受信部は、前記端末装置から前記第2の暗号情報をさらに受信し、前記生成部は、前記第2の暗号情報を前記単項式を表す前記情報として用い、前記第1の多項式を前記準同型暗号により暗号化した前記暗号化多項式と前記第2の暗号情報が表す前記暗号化単項式とを乗算した結果、及び、前記第1の多項式を前記準同型暗号により暗号化した前記暗号化多項式と前記第3の暗号情報が表す前記暗号化結果とを乗算した結果を用いて、前記演算結果を前記準同型暗号により暗号化した暗号化結果を含む前記暗号化多項式を生成し、前記出力部は、前記第4の暗号情報を前記認証装置へ出力することを特徴とする請求項1記載のシステム
  4. 第1のベクトルに対応する第1の多項式を準同型暗号により暗号化した暗号化多項式を表す第1の暗号情報を記憶する暗号処理装置と端末装置とによって実行される暗号処理方法であって
    前記端末装置が、乱数を用いて生成される単項式を前記準同型暗号により暗号化した暗号化単項式を表す第2の暗号情報を用いて、第2のベクトルに対応する第2の多項式と前記単項式との乗算結果を前記準同型暗号により暗号化した暗号化結果を生成し、
    前記端末装置が、生成した暗号化結果を表す第3の暗号情報を前記暗号処理装置へ送信し
    前記暗号処理装置が、前記端末装置から前記第3の暗号情報を受信し、
    前記暗号処理装置が、前記第1の暗号情報と、前記第3の暗号情報と、前記単項式を表す情報とを用いて、前記第1のベクトルと前記第2のベクトルとの演算結果を前記準同型暗号により暗号化した暗号化結果を含む暗号化多項式を生成し、
    前記暗号処理装置が、生成した暗号化多項式を表す第4の暗号情報を出力する、
    ことを特徴とする暗号処理方法。
JP2014251784A 2014-12-12 2014-12-12 暗号処理装置、暗号処理方法、及び暗号処理プログラム Expired - Fee Related JP6421576B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014251784A JP6421576B2 (ja) 2014-12-12 2014-12-12 暗号処理装置、暗号処理方法、及び暗号処理プログラム
US14/934,740 US10020933B2 (en) 2014-12-12 2015-11-06 Cryptographic processing device and cryptographic processing method
EP15195179.5A EP3032775B1 (en) 2014-12-12 2015-11-18 Homomorphic cryptographic processing method and cryptographic processing device for randomized pattern matching

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014251784A JP6421576B2 (ja) 2014-12-12 2014-12-12 暗号処理装置、暗号処理方法、及び暗号処理プログラム

Publications (2)

Publication Number Publication Date
JP2016114692A JP2016114692A (ja) 2016-06-23
JP6421576B2 true JP6421576B2 (ja) 2018-11-14

Family

ID=54548115

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014251784A Expired - Fee Related JP6421576B2 (ja) 2014-12-12 2014-12-12 暗号処理装置、暗号処理方法、及び暗号処理プログラム

Country Status (3)

Country Link
US (1) US10020933B2 (ja)
EP (1) EP3032775B1 (ja)
JP (1) JP6421576B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6413598B2 (ja) * 2014-10-10 2018-10-31 富士通株式会社 暗号処理方法、暗号処理装置、及び暗号処理プログラム
JP6459658B2 (ja) * 2015-03-10 2019-01-30 富士通株式会社 暗号処理装置、暗号処理方法、および暗号処理プログラム
JP6927199B2 (ja) * 2016-03-31 2021-08-25 日本電気株式会社 暗号文照合システム、ノード装置、暗号文照合方法、およびプログラム
JP6791263B2 (ja) * 2016-12-02 2020-11-25 日本電気株式会社 暗号文照合システム及び暗号文照合方法
US11128462B2 (en) 2016-12-15 2021-09-21 Nec Corporation Matching system, method, apparatus, and program
US11036843B2 (en) * 2017-11-24 2021-06-15 Electronics And Telecommunications Research Institute Biometric information-based authentication method and apparatus
JP7165414B2 (ja) * 2017-12-22 2022-11-04 学校法人東京理科大学 暗号データ処理システム、及びプログラム
JP6977882B2 (ja) * 2018-05-25 2021-12-08 日本電信電話株式会社 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム
US11849019B2 (en) 2019-02-25 2023-12-19 Nec Corporation Encryption system, key generation apparatus, key generation method, key generation program, and homomorphic operation apparatus
US10839060B1 (en) * 2019-08-27 2020-11-17 Capital One Services, Llc Techniques for multi-voice speech recognition commands
US12099997B1 (en) 2020-01-31 2024-09-24 Steven Mark Hoffberg Tokenized fungible liabilities
JP7527866B2 (ja) * 2020-07-01 2024-08-05 キヤノン株式会社 プログラム、情報処理装置及び制御方法
CN112000940B (zh) * 2020-09-11 2022-07-12 支付宝(杭州)信息技术有限公司 一种隐私保护下的用户识别方法、装置以及设备
JPWO2023032031A1 (ja) * 2021-08-31 2023-03-09
CN113965325B (zh) * 2021-10-20 2023-07-25 成都卫士通信息产业股份有限公司 数据传输认证方法、装置、电子设备及计算机存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271796B2 (en) * 2008-05-12 2012-09-18 Telecommunications Research Laboratory Apparatus for secure computation of string comparators
IL199657A0 (en) * 2009-07-02 2011-08-01 Carmel Haifa University Economic Corp Ltd Face representation systems for privacy aware applications and methods useful in conjunction therewith
US8311213B2 (en) 2009-12-07 2012-11-13 Mitsubishi Electric Research Laboratories, Inc. Method for determining functions applied to signals
JP2011118387A (ja) 2009-12-07 2011-06-16 Mitsubishi Electric Research Laboratories Inc 信号に関数を適用した結果を求めるための方法およびシステム
US8837727B2 (en) * 2011-11-08 2014-09-16 Mitsubishi Electric Research Laboratories, Inc. Method for privacy preserving hashing of signals with binary embeddings
US8898478B2 (en) 2012-06-15 2014-11-25 Mitsubishi Electric Research Laboratories, Inc. Method for querying data in privacy preserving manner using attributes
JP2014126865A (ja) 2012-12-27 2014-07-07 Fujitsu Ltd 暗号処理装置および方法
FR3003061B1 (fr) * 2013-03-11 2019-08-23 Morpho Procede de traitement securise de donnees et application a la biometrie
US8966277B2 (en) * 2013-03-15 2015-02-24 Mitsubishi Electric Research Laboratories, Inc. Method for authenticating an encryption of biometric data
US9838388B2 (en) * 2014-08-26 2017-12-05 Veridium Ip Limited System and method for biometric protocol standards
JP6277734B2 (ja) * 2014-01-20 2018-02-14 富士通株式会社 情報処理プログラム、情報処理装置および情報処理方法
US9749128B2 (en) * 2014-05-15 2017-08-29 Xerox Corporation Compact fuzzy private matching using a fully-homomorphic encryption scheme
US9519618B2 (en) * 2014-06-03 2016-12-13 Mitsubishi Electric Research Laboratories, Inc. System and method for determining distance between signals
US9805344B1 (en) * 2015-01-23 2017-10-31 Island Intellectual Property, Llc Notification system and method
US9942032B1 (en) * 2015-09-30 2018-04-10 Symantec Corporation Systems and methods for securely detecting data similarities
US9641489B1 (en) * 2015-09-30 2017-05-02 EMC IP Holding Company Fraud detection

Also Published As

Publication number Publication date
JP2016114692A (ja) 2016-06-23
EP3032775A1 (en) 2016-06-15
US10020933B2 (en) 2018-07-10
EP3032775B1 (en) 2020-01-15
US20160173275A1 (en) 2016-06-16

Similar Documents

Publication Publication Date Title
JP6421576B2 (ja) 暗号処理装置、暗号処理方法、及び暗号処理プログラム
JP6459658B2 (ja) 暗号処理装置、暗号処理方法、および暗号処理プログラム
JP6413598B2 (ja) 暗号処理方法、暗号処理装置、及び暗号処理プログラム
US9571268B2 (en) Method and system for homomorphicly randomizing an input
US11882218B2 (en) Matching system, method, apparatus, and program
JP6413743B2 (ja) 暗号処理装置、暗号処理方法、及び暗号処理プログラム
US9749128B2 (en) Compact fuzzy private matching using a fully-homomorphic encryption scheme
US9860060B2 (en) Information processing method, computer-readable recording medium, and information processing apparatus
EP3038286B1 (en) Information processing method, information processing program, and information processing apparatus
US8972742B2 (en) System for secure image recognition
JP2016012111A (ja) 暗号処理方法、暗号処理装置、および暗号処理プログラム
JP6931247B2 (ja) 暗号文照合システム、方法、およびプログラム
JP6738061B2 (ja) 暗号文照合システム、方法、および記録媒体
WO2014030706A1 (ja) 暗号化データベースシステム、クライアント装置およびサーバ、暗号化データ加算方法およびプログラム
US20240356725A1 (en) Authentication system, authenticatee apparatus, authenticator apparatus, authentication method, and authentication program
CN115834088A (zh) 一种生物特征认证方法和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180905

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181001

R150 Certificate of patent or registration of utility model

Ref document number: 6421576

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees