説明

本人性証明システム、検証装置、本人性証明方法

【課題】所有物を用いない認証において本人性の第三者への証明力を高める。
【解決手段】本発明の本人性証明システムは、第1公開鍵を公開する認証装置と第2公開鍵を公開する協調装置を有し、被認証装置の本人性を証明する。認証装置は、第1鍵生成部、第1暗号文確認部、認証記録部を備える。協調装置は、第2鍵生成部と第2暗号文確認部を備える。第1暗号文確認部と第2暗号文確認部は、被認証装置が第1公開鍵yと第2公開鍵yを用いて秘密情報Wを暗号化した第1暗号文Cの秘密情報Wと、被認証装置が第1公開鍵yと第2公開鍵yを用いて秘密情報W’と付随情報Aを基に生成された第2暗号文C’の秘密情報W’とが、等しいこともしくは所定の距離以内であることを、協調して秘密情報Wと秘密情報W’を知ることなく確認する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報セキュリティ技術に関し、パスワード認証や生体認証等、所有物を用いない認証において本人性を第三者に証明する本人性証明システム、検証装置、本人性証明方法に関する。
【背景技術】
【0002】
認証において本人性を第三者に証明する有効な技術として電子署名がある。「本人性」とは被認証者を偽ることができない性質を指し、「第三者に証明する」とは、ある認証行為の被認証者を第三者に認めさせることである。このような本人性の第三者への証明力は、ログデータの真正性を保証する場合等に有用であるといえる。
【0003】
電子署名を用いた認証は、ICカード等、秘密情報を格納する所有物を必要とする場合がある。一方、所有物を用いない認証手段として、記憶に基づくID・パスワード認証(PINを含む)や、生体情報に基づく生体認証等が挙げられる。特にID・パスワード認証は最も普及している認証方法といえる。また、最近ではセキュリティ向上のため、ID・パスワード認証とICカードを用いた認証の組合せ等、性質の異なる認証を併用した多要素認証の実用化も進んでいる。関連する技術として、生体情報を明かさずに生体認証を行う方法が知られており、例えば非特許文献1の524ページの7行目から16行目に示されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Berry Schoenmakers and Pim Tuyls, "Efficient Binary Conversion for Paillier Encrypted Values," S. Vaudenay(Ed.): EUROCRYPT 2006, LNCS 4004, pp. 522-537, 2006.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、一般に所有物を用いない認証では、認証に用いる秘密情報(パスワードや生体情報)を認証者が予め知っている必要があるため、認証者によるなりすましや当該秘密情報の漏洩等により、本人性の第三者への証明力は電子署名に比べ劣るといえる。また、非特許文献1の方法は、本人性の第三者への証明力は考慮されておらず、その方法は自明でないと考えられる。
【0006】
このような状況において、本発明が解決しようとする課題は、所有物を用いない認証において本人性の第三者への証明力を高めることである。
【課題を解決するための手段】
【0007】
本発明の本人性証明システムは、第1公開鍵を公開する認証装置と第2公開鍵を公開する協調装置を有し、被認証装置の本人性を証明する。認証装置は、第1鍵生成部、第1暗号文確認部、認証記録部を備える。協調装置は、第2鍵生成部と第2暗号文確認部を備える。
【0008】
第1鍵生成部は、第1公開鍵yと、第1公開鍵yと対をなす第1秘密鍵xを生成する。第1暗号文確認部は、被認証装置が第1公開鍵yと第2公開鍵yを用いて秘密情報Wを暗号化した第1暗号文Cの秘密情報Wと、被認証装置が第1公開鍵yと第2公開鍵yを用いて秘密情報W’と付随情報Aを基に生成された第2暗号文C’の秘密情報W’とが、等しいこともしくは所定の距離以内であることを、第2暗号文確認部と協調して秘密情報Wと秘密情報W’を知ることなく確認する。認証記録部は、第1暗号文C、第2暗号文C’、付随情報A、および第1暗号文確認部と協調装置との処理で生成されたデータDを、当該被認証装置を特定する情報Iと対応つけて記録する。
【0009】
第2鍵生成部は、第2公開鍵yと、第2公開鍵yと対をなす第2秘密鍵xを生成する。第2暗号文確認部は、被認証装置が第1公開鍵yと第2公開鍵yを用いて秘密情報Wを暗号化した第1暗号文Cの秘密情報Wと、被認証装置が第1公開鍵と第2公開鍵を用いて秘密情報W’と付随情報Aを基に生成された第2暗号文C’の秘密情報W’とが、等しいこともしくは所定の距離以内であることを、第1暗号文確認部と協調して秘密情報Wと秘密情報W’を知ることなく確認する。
【発明の効果】
【0010】
本発明の本人性証明システムによれば、認証装置と協調装置とが協調することで、秘密情報Wと秘密情報W’を知ることなく、登録しておいた暗号文(第1暗号文)の秘密情報Wと、認証処理で生成された暗号文(第2暗号文)の秘密情報W’とが等しいこと、もしくは所定の距離以内であることを確認できる。したがって、所有物を用いない認証において本人性の第三者への証明力を高めることができる。
【図面の簡単な説明】
【0011】
【図1】本発明の本人性証明システムとその周辺装置等の構成を示す図。
【図2】本発明の本人性証明システムとその周辺装置等の処理フローを示す図。
【図3】実施例2と実施例2変形例と実施例3の事前処理と登録処理の処理フローを示す図。
【図4】実施例2と実施例3の認証処理の処理フローを示す図。
【図5】実施例2と実施例2変形例と実施例3の検証処理の処理フローを示す図。
【図6】実施例2変形例の認証処理の処理フローを示す図。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について、詳細に説明する。
【実施例1】
【0013】
図1に本発明の本人性証明システムとその周辺装置等の構成を示す。また、図2に本発明の本人性証明システムとその周辺装置等の処理フローを示す。本発明の本人性証明システムは、第1公開鍵を公開する認証装置と第2公開鍵を公開する協調装置を有し、被認証装置の本人性を証明する。また、検証装置は、本人性証明システムの処理が正しく実行されたかを検証する。被認証装置100、認証装置200、協調装置300、検証装置400は、ネットワーク900を介して接続されている。被認証装置100は、被認証受信部110、第1暗号化部120、第2暗号化部130、被認証記録部190を備える。認証装置200は、第1鍵生成部201、第1暗号文確認部230、認証記録部290を備える。協調装置300は、第2鍵生成部301、第2暗号文確認部330、協調記録部390を備える。検証装置400は、検証受信部410、実行検証部420、検証記録部490を備える。
【0014】
あらかじめ、第1鍵生成部201は、第1公開鍵yと、第1公開鍵yと対をなす第1秘密鍵xを生成し、第2鍵生成部301は、第2公開鍵yと、第2公開鍵yと対をなす第2秘密鍵xを生成する。被認証受信部110や検証受信部410は、第1公開鍵yと第2公開鍵yを取得しておく。被認証記録部190、認証記録部290、協調記録部390、検証記録部490は、あらかじめ暗号化に使用する公開鍵やパラメータなどを記録しておく。公開鍵は、第1公開鍵yと第2公開鍵y自体でもよいし、これらを用いて生成された公開鍵でもよい。例えば、公開鍵をy=yとしてもよい。
【0015】
[登録処理(S10)]
第1暗号化部120は、第1公開鍵yと第2公開鍵yを用いて秘密情報Wを暗号化した第1暗号文Cを求める。なお、「第1公開鍵yと第2公開鍵yを用いて」とは、「第1公開鍵yと第2公開鍵yを用いて生成した公開鍵yを用いて」を含む意味である。また、秘密情報Wは、パスワードでもよいし、生体情報でもよい。そして、被認証装置100は暗号文Cを認証装置200に送信する(S120)。このときに、被認証装置100を特定する情報Iを一緒に送信してもよい。認証装置200の認証記録部290は、暗号文Cと被認証装置を特定する情報Iとを対応つけて記録する(S210)。
【0016】
[認証処理(S20)]
第2暗号化部130は、第1公開鍵yと第2公開鍵yを用いて秘密情報W’と付随情報Aを基に生成された第2暗号文C’を求め、付随情報Aと第2暗号文C’を認証装置200に送信する(S130)。「付随情報A」とは、認証時刻や認証目的等を示す任意の情報である。このときに、被認証装置100を特定する情報Iを一緒に送信してもよい。
【0017】
第1暗号文確認部230と第2暗号文確認部330は、第1暗号文Cの秘密情報Wと第2暗号文C’の秘密情報W’とが等しいこともしくは所定の距離以内であることを、協調して秘密情報Wと秘密情報W’を知ることなく確認する(S220)。なお、秘密情報Wと秘密情報W’を知ることなく処理する暗号技術はいくつか知られており、後述する。秘密情報Wがパスワードのように等しくなければならない情報の場合には、等しい場合を認証成功とし(S230)、等しくない場合には認証失敗とする(S240)。また、秘密情報Wが生体情報のようにノイズなどにより必ずしも等しくならない情報の場合には、所定の距離以内のときを認証成功とし(S230)、所定の距離より遠いときを認証失敗とする(S240)。認証記録部290は、第1暗号文C、第2暗号文C’、付随情報A、認証結果F、およびステップS220の第1暗号文確認部230と第2暗号文確認部330との協調処理で生成されたデータDを、被認証装置100を特定する情報Iと対応つけて記録する(S250)。
【0018】
[ステップS220のための暗号化技術]
ここで、ステップS220で用いる暗号化技術の例として、ElGamal暗号を用いた方法について説明する。ElGamal暗号は、Gを位数qの巡回群、gを群Gの生成元、秘密鍵を0以上q未満のランダムな整数x、公開鍵yをy=gとする(Gを乗法的に記述する)。ただし、qは十分大きく(例えば160ビット)、素数であることが望ましい。そして平文mを群Gの元とし、mの暗号文をE(m)=(g,my)とする。ただし、rは0以上q未満のランダムな整数である。E(m)の復号は、秘密鍵xを用いて行う。すなわち、
m=(my)/(g
の関係式から得られる。
【0019】
以上の準備の下、秘密情報Wと秘密情報W’を知ることなく処理する方法例について説明する。認証装置200によって生成される第1秘密鍵xを0以上q未満のランダムな整数とし、第1公開鍵yをy=g^xとする。同様に、協調装置300によって生成される第2秘密鍵xを0以上q未満のランダムな整数とし、第2公開鍵yをy=g^xとする。なお、^は累乗を示す記号とする。そして
y=y=g^(x+x),
x=x+x
とする。そして、第1暗号文Cと第2暗号文C’は、例えば
C=E(W)=(g^r,Wy^r),
C’=E(A,E(W’))
ただし、E(W’)=(g^r,W’y^r
のように求められた暗号文とする。
【0020】
ステップS220では、認証装置200および協調装置300は、まず、協調してC’を復号し、E(W’)とAを求める。そして、認証装置200および協調装置300は、それぞれ、
(C/E(W’))^s=(E(W)/E(W‘))^s
=((g^r/g^r)^s,((Wy^r)/(W’y^r))^s
=(g^((r−r)s),((W/W’)^s)y^((r−r)s)),
(C/E(W’))s2=(E(W)/E(W‘))^s
=((g^r/g^r)^s,((Wy^r)/(W’y^r))^s
=(g^((r−r)s),((W/W’)^s)y^((r−r)s)),
を計算して互いに送信する。ここで、s,s,r,rは0以上q未満のランダムな整数とする。次に認証装置200および協調装置300は
e=((E(W)/E(W’))^s)/((E(W)/E(W’))^s
=(g^((r−r)(s−s)),
((W/W’)^(s−s))y^((r−r)(s−s)))
を計算し、eを復号する。復号の手順は、認証装置200および協調装置300は、それぞれ、
=(g^((r−r)(s−s))^x
=(g^((r−r)(s−s))^x
を計算して互いに送信し、最終的に認証装置200および協調装置300はeの復号結果(W/W’)^(s−s)を、
(W/W’)^(s−s
=((W/W’)^(s−s))y^((r−r)(s−s))/(e
のように求めればよい。
【0021】
=((g^((r−r)(s−s))^x)((g^((r−r)(s−s))^x
=(g^((r−r)(s−s))^(x+x
=(g^((r−r)(s−s))^x
=y^((r−r)(s−s
であるから、eは正しく復号できることが分かる。そして復号結果(W/W’)^(s−s)は、W=W’であれば1になる。そして、W≠W’であればs,sが0以上q未満のランダムな整数であるから、復号結果もランダムとなり、qが大きいほど復号結果が1となる確率は小さくなる。したがって、復号結果が1であればW=W’と判定し、そうでなければW≠W’と判定する。
【0022】
他の方法として、W,W’をビット毎に暗号化し、W,W’の復元を困難としつつ,等号判定、距離計算、大小比較やそれらの組合せを計算する手法も知られている。ここで「距離」とは秘密情報Wと秘密情報W’の違いを数値化したものであり、どのように数値化するかは適宜設計すればよい。例えば、nを2以上の整数とし、W,W’をn次ベクトルW=(w,…,w),W’=(w’,…,w’)とし,W,W’の距離を
|w−w’|+|w−w’|+…+|w−w’|
と定義すればよい。ただし、|x|は、xの絶対値を表す。以下では参考文献1(Go Yamamoto, Koji Chida, Anderson C. A. Nascimento, Koutarou Suzuki, Shigenori Uchiyama: Efficient, Non-optimistic Secure Circuit Evaluation Based on the ElGamal Encryption. WISA 2005: 328-342.)に示された方法を用いる例について説明する。
【0023】
この方法は、ElGamal暗号を若干変形した暗号を用いる。Gを位数qの巡回群、gを群Gの生成元、秘密鍵xを0以上q未満のランダムな整数、公開鍵yをy=gとする(Gを乗法的に記述する。ただし、参考文献1では加法的に記述している。)。qは十分大きく(例えば160ビット)、素数であることが望ましい。そして平文mを0以上q未満の整数とし、mの暗号文をE(m)=(g,ym+r)とする。ただし、rは0以上q未満のランダムな整数である。E(m)の復号は、秘密鍵xを用いて行う。すなわち、
=ym+r/(g
の関係式からyを求め,yおよびyからmを得る。
【0024】
以上の準備の下、秘密情報Wと秘密情報W’を知ることなくW=W’であるか確認する方法例について説明する。簡単のためにW,W’はLビットの整数とする(整数のベクトルで考えても良い)。W,W’の下位i番目のビットをそれぞれW,W’とする。W=W’であるかどうかは。
【0025】
W=W’⇔W=W’(i=1,…,L)
であるから、
(W(+)W’)∨(W(+)W’)∨…∨(W(+)W’)
ただし、(+)は排他的論理和を示す記号
が0であればW=W’とし、1であればW≠W’と判定できる。そこで当該論理式を用いればよい。
【0026】
具体的には、認証装置200によって生成される第1秘密鍵xを0以上q未満のランダムな整数とし、第1公開鍵yをy=g^xとする。同様に、協調装置300によって生成される第2秘密鍵xを0以上q未満のランダムな整数とし、第2公開鍵yをy=g^xとする。そして
y=y=g^(x+x),
x=x+x
とする。
【0027】
ここで、(+)を2つの数値を2進数表現で表して対応するビットごとに排他的論理和を求める演算を示す記号とし、W”=W’(+)A、W”の下位i番目のビットをW”とする。そして、第1暗号文Cは秘密情報Wをビット単位で暗号化した暗号文E(W)(ただし、i=1,…,L)の集まり、第2暗号文C’はW”をビット単位で暗号化した暗号文E(W”)(ただし、i=1,…,L)の集まりとする。W,W”の暗号文はそれぞれ、
E(W)=(g^r,y^(W+r)),
E(W”)=(g^r’,W”y^r’)
ただし、i=1,…,L
であり、これらの暗号文が第1暗号文C,第2暗号文C’として与えられているとする。ここで、rとr’(i=1,…,L)は0以上q未満のランダムな整数とする。
【0028】
ステップS220では、認証装置200は1ビットの乱数tおよび0以上q未満のランダムな整数u(i=1,…,L)を生成し、tが0であれば
=((g^r)^u,(y^(W+r))^u
を計算し、tが1であれば
=((g^r)^(−u),(y^(W+r))^u
を計算する。すると,eはW(+)tの暗号文とみなすことができ、乱数ビットtを知らない限り、eを復号してもWが知られることはない。このことを利用し、認証装置200および協調装置300は協力してeを復号し、復号結果W(+)tは協調装置300のみ得るようにする。具体的には、認証装置200がeを協調装置300に送信する。そして、協調装置300がeを復号する。
【0029】
(+)tを得た協調装置300は,W(+)tおよびE(W”)から、(W(+)t)(+)W”の暗号文E((W(+)t)(+)W”)を計算し、認証装置200に送信する。これは先述の認証装置200がeを求めた手続き同様であり、t,E(W)をそれぞれ、W(+)t,E(W”)に置き換えればよい。そして、認証装置200は、tおよびE((W(+)t)(+)W”)から
E(((W(+)t)(+)W”)(+)t)=E(W(+)W”)
を得る。これは先述の認証装置200の手続きにおいてt,E(W)をそれぞれt,E((W(+)t)(+)W”)に置き換えればよい。ここまででW,W”の復元を困難としつつW(+)W”の暗号文E(W(+)W”)を生成できた。上述の処理は、一般性を失うこと無く、1ビットデータa,bの暗号文E(a),E(b)から、a,bの復元を困難としつつ、排他的論理和結果の暗号文E(a(+)b)の計算を行う手続きに他ならない。また、W”は、W”=W’(+)Aであるから、秘密情報W’は、
W’=W”(+)A
である。したがって、暗号文E(W(+)W”)とAを暗号化した暗号文E(A)から、W(+)W”を復元困難としつつ暗号文E(W(+)W’)を求めることができる。
【0030】
次に、E(W(+)W’)とE(W(+)W’)から
E(W(+)W’)∨E(W(+)W’)
を計算する方法について説明する。この計算を繰り返すことにより
(W(+)W’)∨(W(+)W’)∨…∨(W(+)W’)
の暗号文を計算でき、当該暗号文を復号することで最終結果を得ることができる。したがって当該計算は、一般性を失うこと無く、E(a),E(b)から、a,bの復元を困難としつつE(a∨b)を計算する方法に他ならない。いま
E(a)=(g^r,y^(a+r))
E(b)=(g^r,y^(b+r))
ただしr,rは0以上q未満のランダムな整数
としたとき、
E(a)E(b)=(g^(r+r),y^(a+r+b+r))
=E(a+b)
となる。すなわち、E(a),E(b)から、a,bの復元を困難としつつ加算結果の暗号文E(a+b)を計算することができる。さらに、0以上q未満の整数cについて、
E(a)^c=((g^r)^c,(y^(a+r))^c)=E(ac)
であるため、E(a),cから、a,bの復元を困難としつつ定数倍結果の暗号文E(ac)を計算することができる。一方、
a∨b=2−1((a+b)+(a(+)b))
であるため、上述の加算、定数倍および排他的論理和についてa,bの復元を困難としつつ計算することで、論理和の暗号文E(a∨b)が得られることが分かる。なお、
a∧b=2−1((a+b)−(a(+)b))
であり、E(a)/E(b)=E(a−b)であるから、a,bの復元を困難としつつ論理積の暗号文E(a∧b)を計算することもできる。さらに、排他的論理和、論理和、論理積の組合せについても、a,bの復元を困難としつつ計算可能であることも分かる。距離計算や比較演算など多くの演算は論理和と論理積の組合せで計算できることから、距離計算、比較演算、およびその組合せについてもa,bの復元を困難としつつ計算可能である。
【0031】
[検証処理(S30)]
認証装置200は、被認証装置100を特定する情報I(被認証者情報)、付随情報A,第1暗号文C、第2暗号文C’、認証結果F、ステップS220の処理で生成されたデータDを検証装置400に送る(S260)。検証受信部410は、被認証装置100を特定する情報I、付随情報A,第1暗号文C、第2暗号文C’、認証結果F、データDを受信する。そして、実行検証部420は、被認証装置100を特定する情報I、付随情報A,第1暗号文C、第2暗号文C’、認証結果F、データDを用いて、認証が正しく実行されたかを検証する(S410)。この検証でも、秘密情報Wがパスワードのように等しくなければならない情報の場合には、等しい場合を検証成功とし(S420)、等しくない場合には検証失敗とする(S430)。また、秘密情報Wが生体情報のようにノイズなどにより必ずしも等しくならない情報の場合には、所定の距離以内のときを検証成功とし(S420)、所定の距離より遠いときを検証失敗とする(S430)。
【0032】
本発明の本人性証明システムによれば、認証装置200と協調装置300とが協調することで、秘密情報Wと秘密情報W’を知ることなく、登録しておいた暗号文(第1暗号文C)の秘密情報Wと、認証処理で生成された暗号文(第2暗号文C)の秘密情報W’とが等しいこと、もしくは所定の距離以内であることを確認できる。したがって、所有物を用いない認証において本人性の第三者への証明力を高めることができる。
【実施例2】
【0033】
実施例2の本人性証明システムと周辺装置等の構成も図1に示す。実施例2では実施例1よりも具体的な処理(実施例1の下位概念)を説明する。図3に実施例2の事前処理と登録処理の処理フローを、図4に実施例2の認証処理の処理フローを、図5に実施例2の検証処理の処理フローを示す。実施例2の本人性証明システムは、第1公開鍵を公開する認証装置と第2公開鍵を公開する協調装置を有し、被認証装置の本人性を証明する。また、検証装置は、本人性証明システムの処理が正しく実行されたかを検証する。被認証装置100、認証装置200、協調装置300、検証装置400は、ネットワーク900を介して接続されている。被認証装置100は、被認証受信部110、第1暗号化部120、第2暗号化部130、被認証記録部190を備える。認証装置200は、第1鍵生成部201、第1暗号文確認部230、認証記録部290を備える。協調装置300は、第2鍵生成部301、第2暗号文確認部330、協調記録部390を備える。検証装置400は、検証受信部410、実行検証部420、検証記録部490を備える。実施例2では、認証装置200は、さらに付随情報確認部220を備えてもよい。本実施例では、pとqはq|p−1を満たす素数、qはkビット、gはg=1modpを満たす2以上p未満の整数、乱数rは1以上q未満の整数、A、W、W’は0以上q未満の整数であり、(+)は2つの数値を2進数表現で表して対応するビットごとに排他的論理和を求める演算を示す記号、^は累乗を示す記号とする。
【0034】
[事前処理(S80)]
第1鍵生成部201は、第1公開鍵yと、第1公開鍵yと対をなす第1秘密鍵xを生成し(S201)、第2鍵生成部301は、第2公開鍵yと、第2公開鍵yと対をなす第2秘密鍵xを生成する(S301)。そして、公開鍵yを
y=ymodp
のように定める。そして、被認証記録部190と検証記録部490は、p,q,g,yを記録する。認証記録部290は、p,q,g,x,yを記録する。協調記録部390、p,q,g,x,yを記録する。
【0035】
[登録処理(S10)]
被認証装置100には、被認証装置100または被認証者を特定する情報I(被認証者情報)と秘密情報W(パスワード、生体情報など)が入力される(S121)。なお、被認証装置100にあらかじめ情報Iが記録されている場合は、情報Iを入力する必要はない。第1暗号化部120は、公開鍵yを用いて秘密情報Wを暗号化した第1暗号文Cを
C=(G,Y)=(gmodp,yr+Wmodp)
のように求める(S122)。そして、被認証装置100は情報Iと暗号文Cを認証装置200に送信する(S120)。このときに、被認証装置100を特定する情報Iを一緒に送信してもよい。認証装置200の認証記録部290は、暗号文Cと被認証装置を特定する情報Iとを対応つけて記録する(S210)。
【0036】
[認証処理(S20)]
被認証装置100には、被認証装置100または被認証者を特定する情報I(被認証者情報)と秘密情報W’(パスワード、生体情報など)が入力される(S131)。なお、被認証装置100にあらかじめ情報Iが記録されている場合は、情報Iを入力する必要はない。被認証装置100の第2暗号化部130は、公開鍵yを用いて秘密情報W’と付随情報Aを基に生成された第2暗号文C’を
C’=(G’,Y’)=(gmodp,yr+(W’(+)A)modp)
のように求め(S132)、付随情報Aと第2暗号文C’を認証装置200に送信する(S130)。「付随情報A」とは、認証時刻や認証目的等を示す任意の情報である。このときに、被認証装置100を特定する情報Iを一緒に送信してもよい。
【0037】
認証装置200が付随情報確認部220を備える場合には、付随情報確認部220は、付随情報Aが所定の情報かを確認し、所定の情報でない場合には処理を終了する(S221)。所定の情報とは、例えば、認証処理を行う時刻に範囲が定められている場合は、時刻の範囲内の情報である。この例の場合、付随情報Aとして送られた時刻の情報が当該範囲内でない場合は処理が終了する。このように、付随情報確認部220を備えることで、認証処理に対するポリシーがある場合に対応できる。
【0038】
第1暗号文確認部230と第2暗号文確認部330は、第1暗号文Cの秘密情報Wと第2暗号文C’の秘密情報W’とが等しいこともしくは所定の距離以内であることを、協調して秘密情報Wと秘密情報W’を知ることなく確認する(S220)。具体的には、まず、秘密情報Wを知ることなくW(+)Aの暗号文である第3暗号文C”=(G”,Y”)を協調して求める(S222)。そして、第2暗号文C’と第3暗号文C”とを用いて、秘密情報Wと秘密情報W’を知ることなく秘密情報Wと秘密情報W’が等しいこともしくは所定の距離以内であることを協調して確認する(S223)。なお、ステップS222,S223の処理は、前述のステップS220のための暗号化技術を用いればよい。例えば、関数fを
f(W,W’)=1 ただし、W=W’
f(W,W’)=0 ただし、W≠W’
となる関数とし、この関数fを実行する秘密計算方法を設計すればよい。この場合、認証結果F=f(W,W’)とすればよい。
【0039】
秘密情報Wがパスワードのように等しくなければならない情報の場合には、等しい場合を認証成功とし(S230)、等しくない場合には認証失敗とする(S240)。また、秘密情報Wが生体情報のようにノイズなどにより必ずしも等しくならない情報の場合には、所定の距離以内のときを認証成功とし(S230)、所定の距離より遠いときを認証失敗とする(S240)。
【0040】
認証記録部290は、第1暗号文C、第2暗号文C’、第3暗号文C”、付随情報A、認証結果F、およびステップS222とS223の第1暗号文確認部230と第2暗号文確認部330との協調処理で生成されたデータDを、被認証装置100を特定する情報Iと対応つけて記録する(S250)。
【0041】
[検証処理(S30)]
認証装置200は、被認証装置100を特定する情報I(被認証者情報)、付随情報A,第1暗号文C、第2暗号文C’、第3暗号文C”、認証結果F、ステップS222とS223の処理で生成されたデータDを検証装置400に送る(S260)。検証受信部410は、被認証装置100を特定する情報I、付随情報A,第1暗号文C、第2暗号文C’、認証結果F、データDを受信する。そして、実行検証部420は、被認証装置100を特定する情報I、付随情報A,第1暗号文C、第2暗号文C’、第3暗号文C”、認証結果F、データDを用いて、認証が正しく実行されたかを検証する(S410)。具体的には、前述のステップS220のための暗号化技術を用いればよい。
【0042】
この検証でも、秘密情報Wがパスワードのように等しくなければならない情報の場合には、等しい場合を検証成功とし(S420)、等しくない場合には検証失敗とする(S430)。また、秘密情報Wが生体情報のようにノイズなどにより必ずしも等しくならない情報の場合には、所定の距離以内のときを検証成功とし(S420)、所定の距離より遠いときを検証失敗とする(S430)。
【0043】
このような構成と処理なので、実施例2の本人性証明システムも、実施例1と同様の効果が得られる。
【0044】
[変形例]
本変形例では、実施例2のステップS223の具体例を示す。なお、本変形例は、パスワードのように等しいことが確認できた場合にのみ認証成功と判断する秘密情報に限って適用できる。図6は、本変形例の認証処理の処理フローを示す図である。図6は、図4の処理フローとはステップS223’の部分のみが異なるので、以下ではこの部分を説明する。なお、乱数t、乱数uは1以上q未満の整数とする。
【0045】
ステップS222が終了した後、第1暗号文確認部230は、
=(G,Y)=((G”/G’)modp,(Y”/Y’)modp)
を求めて第2暗号文確認部330に送信する(S224)。第2暗号文確認部330は、
=(G,Y)=(Gmodp,Ymodp)
=G^x
を求めて第1暗号文確認部230に送信する(S225)。第1暗号文確認部230は、
=G^x
を求める(S226)。そして、第1暗号文確認部230は、
/(d)=1
が成り立つかを確認し(S227)、成り立てば秘密情報Wと秘密情報W’とが等しいと判断して認証成功とし(S230)、成り立たなければ等しくないと判断して認証失敗とする(S240)。
【0046】
その他の構成と処理は実施例2と同じである。したがって、本変形例も実施例2と同様の効果が得られる。
【実施例3】
【0047】
実施例3の本人性証明システムと周辺装置等の構成も図1に示す。実施例3でも実施例2と同じように実施例1よりも具体的な処理(実施例1の下位概念)を説明する。図3に実施例3の事前処理と登録処理の処理フローを、図4に実施例3の認証処理の処理フローを、図5に実施例3の検証処理の処理フローを示す。本実施例では、pとqはq|p−1を満たす素数、qはkビット、gはg=1modpを満たす2以上p未満の整数、乱数rは1以上q未満の整数、A、W、W’は0以上q未満の整数であり、(+)は2つの数値を2進数表現で表して対応するビットごとに排他的論理和を求める演算を示す記号、^は累乗を示す記号とする。
【0048】
被認証装置100、認証装置200、協調装置300、検証装置400の構成は実施例2と同じである。また、事前処理S80と登録処理S10は、実施例2と同じである。
【0049】
[認証処理(S20)]
ステップS130、S221は実施例2と同じである。
【0050】
実施例3では、第1暗号文確認部230と第2暗号文確認部330は、まず、秘密情報W’を知ることなくW’の暗号文である第3暗号文C”=(G”,Y”)を協調して求める(S222’)。そして、第1暗号文Cと第3暗号文C”とを用いて、秘密情報Wと秘密情報W’を知ることなく秘密情報Wと秘密情報W’が等しいこともしくは所定の距離以内であることを協調して確認する(S223’)。なお、ステップS222,S223の処理は、前述のステップS220のための暗号化技術を用いればよい。例えば、関数fを
f(W,W’)=1 ただし、W=W’
f(W,W’)=0 ただし、W≠W’
となる関数とし、この関数fを実行する秘密計算方法を設計すればよい。この場合、認証結果F=f(W,W’)とすればよい。
【0051】
秘密情報Wがパスワードのように等しくなければならない情報の場合には、等しい場合を認証成功とし(S230)、等しくない場合には認証失敗とする(S240)。また、秘密情報Wが生体情報のようにノイズなどにより必ずしも等しくならない情報の場合には、所定の距離以内のときを認証成功とし(S230)、所定の距離より遠いときを認証失敗とする(S240)。
【0052】
認証記録部290は、第1暗号文C、第2暗号文C’、第3暗号文C”、付随情報A、認証結果F、およびステップS222’とS223’の第1暗号文確認部230と第2暗号文確認部330との協調処理で生成されたデータDを、被認証装置100を特定する情報Iと対応つけて記録する(S250)。
【0053】
[検証処理(S30)]
認証装置200は、被認証装置100を特定する情報I(被認証者情報)、付随情報A,第1暗号文C、第2暗号文C’、第3暗号文C”、認証結果F、ステップS222’とS223’の処理で生成されたデータDを検証装置400に送る(S260)。検証受信部410は、被認証装置100を特定する情報I、付随情報A,第1暗号文C、第2暗号文C’、認証結果F、データDを受信する。そして、実行検証部420は、被認証装置100を特定する情報I、付随情報A,第1暗号文C、第2暗号文C’、第3暗号文C”、認証結果F、データDを用いて、認証が正しく実行されたかを検証する(S410)。具体的には、前述のステップS220のための暗号化技術を用いればよい。
【0054】
このような構成と処理なので、実施例2の本人性証明システムも、実施例1と同様の効果が得られる。
【0055】
プログラム、記録媒体
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0056】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0057】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0058】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0059】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0060】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0061】
本発明は、本人性の確認が必要な暗号通信や情報管理用のシステムに利用できる。
【符号の説明】
【0062】
100 被認証装置 110 被認証受信部
120 第1暗号化部 130 第2暗号化部
190 被認証記録部 200 認証装置
201 第1鍵生成部 220 付随情報確認部
230 第1暗号文確認部 290 認証記録部
300 協調装置 301 第2鍵生成部
330 第2暗号文確認部 390 協調記録部
400 検証装置 410 検証受信部
420 実行検証部 490 検証記録部
900 ネットワーク

【特許請求の範囲】
【請求項1】
第1公開鍵を公開する認証装置と第2公開鍵を公開する協調装置を有し、被認証装置の本人性を証明する本人性証明システムであって、
前記認証装置は、
前記第1公開鍵yと、前記第1公開鍵yと対をなす第1秘密鍵xを生成する第1鍵生成部と、
前記被認証装置が前記第1公開鍵yと前記第2公開鍵yを用いて秘密情報Wを暗号化した第1暗号文Cの秘密情報Wと、前記被認証装置が第1公開鍵yと前記第2公開鍵yを用いて秘密情報W’と付随情報Aを基に生成された第2暗号文C’の秘密情報W’とが、等しいこともしくは所定の距離以内であることを、前記協調装置と協調して秘密情報Wと秘密情報W’を知ることなく確認する第1暗号文確認部と、
前記第1暗号文C、前記第2暗号文C’、前記付随情報A、および前記第1暗号文確認部と前記協調装置との処理で生成されたデータDを、当該被認証装置を特定する情報Iと対応つけて記録する認証記録部と、
を備え、
前記協調装置は、
前記第2公開鍵yと、前記第2公開鍵yと対をなす第2秘密鍵xを生成する第2鍵生成部と、
前記被認証装置が前記第1公開鍵yと前記第2公開鍵yを用いて秘密情報Wを暗号化した第1暗号文Cの秘密情報Wと、前記被認証装置が第1公開鍵と前記第2公開鍵を用いて秘密情報W’と付随情報Aを基に生成された第2暗号文C’の秘密情報W’とが、等しいこともしくは所定の距離以内であることを、前記認証装置と協調して秘密情報Wと秘密情報W’を知ることなく確認する第2暗号文確認部と
を備える
本人性証明システム。
【請求項2】
請求項1記載の本人性証明システムであって、
pとqはq|p−1を満たす素数、qはkビット、gはg=1modpを満たす2以上p未満の整数、y=ymodp、乱数rは1以上q未満の整数、A、W、W’は0以上q未満の整数であり、
前記第1暗号文Cは、
C=(G,Y)=(gmodp,yr+Wmodp)
のように求められたものであり、
前記第2暗号文C’は、
C’=(G’,Y’)=(gmodp,yr+(W’(+)A)modp)
ただし、(+)は2つの数値を2進数表現で表して対応するビットごとに排他的論理和を求める演算を示す記号
のように求められたものであり、
前記第1暗号文確認部と前記第2暗号文確認部は、第1暗号文Cと付随情報Aを用いて、秘密情報Wを知ることなくW(+)Aの暗号文である第3暗号文C”=(G”,Y”)を協調して求め、第2暗号文C’と第3暗号文C”とを用いて、秘密情報Wと秘密情報W’を知ることなくW=W’であることを協調して確認し、その結果を認証結果Fとし、
前記認証記録部は、前記第3暗号文C”と前記認証結果Fも記録する
ことを特徴とする本人性証明システム。
【請求項3】
請求項2記載の本人性証明システムであって、
乱数t、乱数uは1以上q未満の整数であり、
前記のW=W’であることを協調して確認する処理は、
前記第1暗号文確認部が、
=(G,Y)=((G”/G’)modp,(Y”/Y’)modp)
を求めて前記協調装置に送信し、
前記第2暗号文確認部が、
=(G,Y)=(Gmodp,Ymodp)
=G^x
ただし、^は累乗を示す記号
を求めて前記認証装置に送信し、
前記第1暗号文確認部が、
=G^x
を求め、
/(d)=1
が成り立てば秘密情報Wと秘密情報W’とが等しいと判断し、成り立たなければ等しくないと判断する
ことを特徴とする本人性証明システム。
【請求項4】
請求項1記載の本人性証明システムであって、
pとqはq|p−1を満たす素数、qはkビット、gはg=1modpを満たす2以上p未満の整数、y=ymodp、乱数rは1以上q未満の整数、A、W、W’は0以上q未満の整数であり、
前記第1暗号文Cは、
C=(G,Y)=(gmodp,yr+Wmodp)
のように求められたものであり、
前記第2暗号文C’は、
C’=(G’,Y’)=(gmodp,yr+(W’(+)A)modp)
ただし、(+)は2つの数値を2進数表現で表して対応するビットごとに排他的論理和を求める演算
のように求められたものであり、
前記第1暗号文確認部と前記第2暗号文確認部は、第2暗号文C’と付随情報Aを用いて、秘密情報W’を知ることなくW’の暗号文である第3暗号文C”=(G”,Y”)を協調して求め、第1暗号文Cと第3暗号文C”とを用いて、秘密情報Wと秘密情報W’を知ることなくW=W’であることを協調して確認し、その結果を認証結果Fとし、
前記認証記録部は、前記第3暗号文C”と前記認証結果Fも記録する
ことを特徴とする本人性証明システム。
【請求項5】
請求項2から4のいずれかに記載の本人性証明システムであって、
前記認証装置は、
前記付随情報が所定の情報であるかを確認する付随情報確認部も備えており、
前記付随情報が所定の情報でない場合は、処理を終了する
ことを特徴とする本人性証明システム。
【請求項6】
請求項2、4、5のいずれかに記載の本人性証明システムであって、
前記秘密情報Wと前記秘密情報W’は生体情報であり、
W=W’であることを協調して確認する代わりに、WとW’とが所定の距離以内であることを協調して確認する
ことを特徴とする本人性証明システム。
【請求項7】
請求項2から6のいずれかに記載の本人性証明システムの処理が正しく実行されたかを検証する検証装置であって、
被認証装置を特定する情報I、付随情報A,第1暗号文C、第2暗号文C’、第3暗号文C”、認証結果F、データDを受信する検証受信部と、
被認証装置を特定する情報I、付随情報A,第1暗号文C、第2暗号文C’、第3暗号文C”、認証結果F、データDを用いて、認証が正しく実行されたかを検証する実行検証部と、
を備える検証装置。
【請求項8】
第1公開鍵を公開する認証装置と第2公開鍵を公開する協調装置を用いて、被認証装置の本人性を証明する本人性証明方法であって、
前記認証装置が、前記第1公開鍵yと、前記第1公開鍵yと対をなす第1秘密鍵xを生成する第1鍵生成ステップと、
前記協調装置が、前記第2公開鍵yと、前記第2公開鍵yと対をなす第2秘密鍵xを生成する第2鍵生成ステップと、
前記認証装置と前記協調装置が、前記被認証装置が前記第1公開鍵yと前記第2公開鍵yを用いて秘密情報Wを暗号化した第1暗号文Cの秘密情報Wと、前記被認証装置が第1公開鍵yと前記第2公開鍵yを用いて秘密情報W’と付随情報Aを基に生成された第2暗号文C’の秘密情報W’とが、等しいこともしくは所定の距離以内であることを、協調して秘密情報Wと秘密情報W’を知ることなく確認する暗号文確認ステップと、
前記認証装置が、前記第1暗号文C、前記第2暗号文C’、前記付随情報A、および前記第1暗号文確認部と前記協調装置との処理で生成されたデータDを、当該被認証装置を特定する情報Iと対応つけて記録する認証記録ステップと
を有する本人性証明方法。
【請求項9】
請求項8記載の本人性証明方法であって、
pとqはq|p−1を満たす素数、qはkビット、gはg=1modpを満たす2以上p未満の整数、y=ymodp、乱数rは1以上q未満の整数、A、W、W’は0以上q未満の整数であり、
前記第1暗号文Cは、
C=(G,Y)=(gmodp,yr+Wmodp)
のように求められたものであり、
前記第2暗号文C’は、
C’=(G’,Y’)=(gmodp,yr+(W’(+)A)modp)
ただし、(+)は2つの数値を2進数表現で表して対応するビットごとに排他的論理和を求める演算を示す記号
のように求められたものであり、
前記暗号文確認ステップは、第1暗号文Cと付随情報Aを用いて、秘密情報Wを知ることなくW(+)Aの暗号文である第3暗号文C”=(G”,Y”)を協調して求め、第2暗号文C’と第3暗号文C”とを用いて、秘密情報Wと秘密情報W’を知ることなくW=W’であることを協調して確認し、その結果を認証結果Fとし、
前記認証記録ステップは、前記第3暗号文C”と前記認証結果Fも記録する
ことを特徴とする本人性証明方法。
【請求項10】
請求項9記載の本人性証明方法であって、
乱数t、乱数uは1以上q未満の整数であり、
前記のW=W’であることを協調して確認する処理は、
前記認証装置が、
=(G,Y)=((G”/G’)modp,(Y”/Y’)modp)
を求めて前記協調装置に送信し、
前記協調装置が、
=(G,Y)=(Gmodp,Ymodp)
=G^x
ただし、^は累乗を示す記号
を求めて前記認証装置に送信し、
前記認証装置が、
=G^x
を求め、
/(d)=1
が成り立てば秘密情報Wと秘密情報W’とが等しいと判断し、成り立たなければ等しくないと判断する
ことを特徴とする本人性証明方法。
【請求項11】
請求項8記載の本人性証明システムであって、
pとqはq|p−1を満たす素数、qはkビット、gはg=1modpを満たす2以上p未満の整数、y=ymodp、乱数rは1以上q未満の整数、A、W、W’は0以上q未満の整数であり、
前記第1暗号文Cは、
C=(G,Y)=(gmodp,yr+Wmodp)
のように求められたものであり、
前記第2暗号文C’は、
C’=(G’,Y’)=(gmodp,yr+(W’(+)A)modp)
ただし、(+)は2つの数値を2進数表現で表して対応するビットごとに排他的論理和を求める演算
のように求められたものであり、
前記暗号文確認ステップは、第2暗号文C’と付随情報Aを用いて、秘密情報W’を知ることなくW’の暗号文である第3暗号文C”=(G”,Y”)を協調して求め、第1暗号文Cと第3暗号文C”とを用いて、秘密情報Wと秘密情報W’を知ることなくW=W’であることを協調して確認し、その結果を認証結果Fとし、
前記認証記録ステップは、前記第3暗号文C”と前記認証結果Fも記録する
ことを特徴とする本人性証明方法。
【請求項12】
請求項9から11のいずれかに記載の本人性証明方法であって、
前記認証装置は、
前記付随情報が所定の情報であるかを確認する付随情報確認部も備えており、
前記付随情報が所定の情報でない場合は、処理を終了する
ことを特徴とする本人性証明方法。
【請求項13】
請求項9、11、12のいずれかに記載の本人性証明方法であって、
前記秘密情報Wと前記秘密情報W’は生体情報であり、
W=W’であることを協調して確認する代わりに、WとW’とが所定の距離以内であることを協調して確認する
ことを特徴とする本人性証明方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−19327(P2012−19327A)
【公開日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願番号】特願2010−154753(P2010−154753)
【出願日】平成22年7月7日(2010.7.7)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】