JP2014138213A - 三者間鍵共有システム、三者間鍵共有方法、ユーザ装置、プログラム - Google Patents

三者間鍵共有システム、三者間鍵共有方法、ユーザ装置、プログラム Download PDF

Info

Publication number
JP2014138213A
JP2014138213A JP2013004702A JP2013004702A JP2014138213A JP 2014138213 A JP2014138213 A JP 2014138213A JP 2013004702 A JP2013004702 A JP 2013004702A JP 2013004702 A JP2013004702 A JP 2013004702A JP 2014138213 A JP2014138213 A JP 2014138213A
Authority
JP
Japan
Prior art keywords
sid
ext
user device
key
hoc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013004702A
Other languages
English (en)
Other versions
JP5806689B2 (ja
Inventor
Kazuki Yoneyama
一樹 米山
Kotaro Suzuki
幸太郎 鈴木
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013004702A priority Critical patent/JP5806689B2/ja
Publication of JP2014138213A publication Critical patent/JP2014138213A/ja
Application granted granted Critical
Publication of JP5806689B2 publication Critical patent/JP5806689B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】現実のハッシュ関数を用いては実現できないランダムオラクルを仮定せずに安全性が保証される三者間鍵共有技術を提供する。
【解決手段】ランダムオラクルの代わりに擬似ランダム関数と強ランダム抽出器(または鍵導出関数)を用い、さらに、不正なアドホック公開鍵を検知できるメカニズム(CFZ暗号を用いる方法、または、非対話ゼロ知識証明を用いる方法)を加えることで、ランダムオラクルを仮定せずに安全な三者間鍵共有方式を実現する。
【選択図】図2

Description

本発明は、情報セキュリティ技術に関するものであり、三者それぞれが三者に共通の秘密鍵を共有するための三者間鍵共有技術(三者間鍵交換技術ともいう)に関する。
従来技術に、三者間での鍵共有セッションにて用いられる秘密鍵(アドホック秘密鍵)の漏洩に強い三者間鍵交換方式であるFMSU方式がある(非特許文献1参照)。この方式の概要を説明する。
[パラメータ]
セキュリティパラメータκを入力とし、Gをκビット素数pを位数とする生成元gを持つ巡回群とし、GTをκビット素数pを位数とする生成元gTを持つ巡回群とする。また、e:G×G→GTを双線形写像とする。H:{0,1}*→{0,1}κを理想的なハッシュ関数(ランダムオラクル)とする。Pをプロトコルコードを識別するためのIDとする。
[固有公開鍵と固有秘密鍵]
ユーザ装置UAはランダムにa0∈Zpを選びこれを固有秘密鍵とし、ユーザ装置UBはランダムにb0∈Zpを選びこれを固有秘密鍵とし、ユーザ装置UCはランダムにc0∈Zpを選びこれを固有秘密鍵とする。Zpはpを法とするZの剰余類環(Z/pZ)であり、Zは整数の集合である。また、ユーザ装置UAはA0=ga0∈Gを計算しこれを固有公開鍵として公開し、ユーザ装置UBはB0=gb0∈Gを計算しこれを固有公開鍵として公開し、ユーザ装置UCはC0=gC0∈Gを計算しこれを固有公開鍵として公開する。
[鍵交換]
ユーザ装置UAは固有秘密鍵と固有公開鍵(a0,A0)を持ち、ユーザ装置UBは固有秘密鍵と固有公開鍵(b0,B0)を持ち、ユーザ装置UCは固有秘密鍵と固有公開鍵(c0,C0)を持つ。
1.ユーザ装置UAはランダムにアドホック秘密鍵a1∈Zpを選び、アドホック公開鍵A1=ga1∈Gを計算し、(P,(UA,UB,UC),UA,A1)をユーザ装置UBとユーザ装置UCに同報通信路を用いて送信する。
2.ユーザ装置UBはランダムにアドホック秘密鍵b1∈Zpを選び、アドホック公開鍵B1=gb1∈Gを計算し、(P,(UA,UB,UC),UB,B1)をユーザ装置UAとユーザ装置UCに同報通信路を用いて送信する。
3.ユーザ装置UCはランダムにアドホック秘密鍵c1∈Zpを選び、アドホック公開鍵C1=gC1∈Gを計算し、(P,(UA,UB,UC),UC,C1)をユーザ装置UAとユーザ装置UBに同報通信路を用いて送信する。
4.(P,(UA,UB,UC),UB,B1)と(P,(UA,UB,UC),UC,C1)を受け取ったらユーザ装置UAはB1,C1∈Gを検証し、この検証に合格したら、式(1)の情報を計算し、共有鍵SK=H(σ1,…,σ8,UA,A0,A1,UB,B0,B1,UC,C0,C1)を生成し、処理を終了する。
Figure 2014138213
5.(P,(UA,UB,UC),UA,A1)と(P,(UA,UB,UC),UC,C1)を受け取ったらユーザ装置UBはA1,C1∈Gを検証し、この検証に合格したら、式(2)の情報を計算し、共有鍵SK=H(σ1,…,σ8,UA,A0,A1,UB,B0,B1,UC,C0,C1)を生成し、処理を終了する。
Figure 2014138213
6.(P,(UA,UB,UC),UA,A1)と(P,(UA,UB,UC),UB,B1)を受け取ったら、ユーザ装置UCはA1,B1∈Gを検証し、この検証に合格したら、式(3)の情報を計算し、共有鍵SK=H(σ1,…,σ8,UA,A0,A1,UB,B0,B1,UC,C0,C1)を生成し、処理を終了する。
Figure 2014138213
Atsushi Fujioka, Mark Manulis, Koutarou Suzuki, Berkant Ustaoglu, "Sufficient Condition for Ephemeral Key-leakage Resilient Tripartite Key Exchange" ACISP, 2012, pp.15-28.
上述の既存技術は安全性を保証するために、ハッシュ関数が理想的に安全(ランダムオラクル)でなければならないという問題がある。ランダムオラクルは現実のハッシュ関数を用いては実現できないことが知られている。よって、ランダムオラクルを仮定せずに安全性が保証される三者間鍵共有方式が望ましい。
そこで本発明は、ランダムオラクルを仮定せずに安全性が保証される三者間鍵共有技術を提供することを目的とする。
本発明の三者間鍵共有技術は、三つのユーザ装置(以下、これらを第1ユーザ装置、第2ユーザ装置、第3ユーザ装置とする)のそれぞれがこれらに共通の秘密鍵(以下、共有鍵という)を共有するための三者間鍵共有技術であって、pを素数、Zを整数全体を表す集合、Zpをpを法とするZの剰余類環、Gを素数pを位数とする巡回群、gを当該巡回群Gの生成元、GTを素数pを位数とする巡回群、e:G×G→GTを双線形写像、TCR:G→ZPを衝突困難ハッシュ関数、F:{0,1}*×Kspace→{0,1}κを擬似ランダム関数、Ext:GT→Kspaceを強ランダム抽出器または鍵導出関数、Kspaceを擬似ランダム関数Fの鍵空間とし、第1ユーザ装置のユーザ識別子をUA、第2ユーザ装置のユーザ識別子をUB、第3ユーザ装置のユーザ識別子をUCとし、記号(+)は排他的論理和を表すとし、第1ユーザ装置の固有秘密鍵xA,yA∈Zpと固有公開鍵XA=gxA、YA=gyA、第2ユーザ装置の固有秘密鍵xB,yB∈Zpと固有公開鍵XB=gxB、YB=gyB、第3ユーザ装置の固有秘密鍵xC,yC∈Zpと固有公開鍵XC=gxC、YC=gyCが予め定められているとする。そして、第1ユーザ装置において、アドホック秘密鍵rA,r′A∈Zpをランダムに選択し[アドホック秘密鍵設定処理]、アドホック公開鍵RA=grA、πAB=(XtA BBrA、πAC=(XtA CCrA、R′A=gr′A(ただし、tA=TCR(RA,R′A,UA,UB,UC)である)を計算し[アドホック公開鍵設定処理]、第1ユーザ装置から、少なくとも(UA,RA,πAB,πAC,R′A)を第2ユーザ装置と第3ユーザ装置に送信する。また、第2ユーザ装置において、アドホック秘密鍵rB,r′B∈Zpをランダムに選択し[アドホック秘密鍵設定処理]、アドホック公開鍵RB=grB、πBA=(XtB AArB、πBC=(XtB CCrB、R′B=gr′B(ただし、tB=TCR(RB,R′B,UB,UC,UA)である)を計算し[アドホック公開鍵設定処理]、第2ユーザ装置から、少なくとも(UB,RB,πBA,πBC,R′B)を第1ユーザ装置と第3ユーザ装置に送信する。また、第3ユーザ装置において、アドホック秘密鍵rC,r′C∈Zpをランダムに選択し[アドホック秘密鍵設定処理]、アドホック公開鍵RC=grC、πCA=(XtC AArC、πCB=(XtC BBrC、R′C=gr′C(ただし、tC=TCR(RC,R′C,UC,UA,UB)である)を計算し[アドホック公開鍵設定処理]、第3ユーザ装置から、少なくとも(UC,RC,πCA,πCB,R′C)を第2ユーザ装置と第3ユーザ装置に送信する。そして、第1ユーザ装置では、tB=TCR(RB,R′B,UB,UC,UA)、tC=TCR(RC,R′C,UC,UA,UB)を計算して、関係式(c1)
Figure 2014138213

を検証し[検証処理]、関係式(c1)の全てが成立した場合に、式(c2)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
Figure 2014138213

を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(RA,πAB,πAC,R′A),UB,(RB,πBA,πBC,R′B),UC,(RC,πCA,πCB,R′C))を設定して、共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する[共有鍵生成処理]。また、第2ユーザ装置では、tA=TCR(RA,R′A,UA,UB,UC)、tC=TCR(RC,R′C,UC,UA,UB)を計算して、関係式(c3)
Figure 2014138213

を検証し[検証処理]、関係式(c3)の全てが成立した場合に、式(c4)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
Figure 2014138213

を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(RA,πAB,πAC,R′A),UB,(RB,πBA,πBC,R′B),UC,(RC,πCA,πCB,R′C))を設定して、共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する[共有鍵生成処理]。また、第3ユーザ装置では、tA=TCR(RA,R′A,UA,UB,UC)、tB=TCR(RB,R′B,UB,UC,UA)を計算して、関係式(c5)
Figure 2014138213

を検証し[検証処理]、関係式(c5)の全てが成立した場合に、式(c6)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
Figure 2014138213

を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(RA,πAB,πAC,R′A),UB,(RB,πBA,πBC,R′B),UC,(RC,πCA,πCB,R′C))を設定して、共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する[共有鍵生成処理]。
あるいは、本発明の三者間鍵共有技術は、次のように構成することもできる。三つのユーザ装置(以下、これらを第1ユーザ装置、第2ユーザ装置、第3ユーザ装置とする)のそれぞれがこれらに共通の秘密鍵(以下、共有鍵という)を共有するための三者間鍵共有技術であって、pを素数、Zを整数全体を表す集合、Zpをpを法とするZの剰余類環、Gを素数pを位数とする巡回群、gを当該巡回群Gの生成元、GTを素数pを位数とする巡回群、e:G×G→GTを双線形写像、(P,V)を非対話ゼロ知識証明アルゴリズム(ただし、アルゴリズムPは命題xとその証拠wを入力とし証明yを出力するアルゴリズムであり、アルゴリズムVは命題xと証明yを入力とし真理値0/1を出力するアルゴリズムとする)、F:{0,1}*×Kspace→{0,1}κを擬似ランダム関数、Ext:GT→Kspaceを強ランダム抽出器または鍵導出関数、Kspaceを擬似ランダム関数Fの鍵空間とし、第1ユーザ装置のユーザ識別子をUA、第2ユーザ装置のユーザ識別子をUB、第3ユーザ装置のユーザ識別子をUCとし、記号(+)は排他的論理和を表すとし、第1ユーザ装置の固有秘密鍵a0∈Zpと固有公開鍵A0=ga0、第2ユーザ装置の固有秘密鍵b0∈Zpと固有公開鍵B0=gb0、第3ユーザ装置の固有秘密鍵c0∈Zpと固有公開鍵C0=gc0が予め定められているとする。そして、第1ユーザ装置において、アドホック秘密鍵a1∈Zpをランダムに選択し[アドホック秘密鍵設定処理]、アドホック公開鍵A1=ga1を計算し[アドホック公開鍵設定処理]、アルゴリズムPを用いて命題(A1=ga1)と証拠a1に対して証明yAを計算し[非対話ゼロ知識証明情報生成処理]、第1ユーザ装置から、(UA,A1,yA)を第2ユーザ装置と第3ユーザ装置に送信する。また、第2ユーザ装置において、アドホック秘密鍵b1∈Zpをランダムに選択し[アドホック秘密鍵設定処理]、アドホック公開鍵B1=gb1を計算し[アドホック公開鍵設定処理]、アルゴリズムPを用いて命題(B1=gb1)と証拠b1に対して証明yBを計算し[非対話ゼロ知識証明情報生成処理]、第2ユーザ装置から、(UB,B1,yB)を第1ユーザ装置と第3ユーザ装置に送信する。また、第3ユーザ装置において、アドホック秘密鍵c1∈Zpをランダムに選択し[アドホック秘密鍵設定処理]、アドホック公開鍵C1=gc1を計算し[アドホック公開鍵設定処理]、アルゴリズムPを用いて命題(C1=gc1)と証拠c1に対して証明yCを計算し[非対話ゼロ知識証明情報生成処理]、第3ユーザ装置から、(UC,C1,yC)を第1ユーザ装置と第2ユーザ装置に送信する。そして、第1ユーザ装置では、アルゴリズムVを用いて証明yBと証明yCを検証し[非対話ゼロ知識証明検証処理]、この検証に成立した場合に、式(c7)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
Figure 2014138213

を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(A1,yA),UB,(B1,yB),UC,(C1,yC))を設定して、共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する[共有鍵生成処理]。また、第2ユーザ装置では、アルゴリズムVを用いて証明yAと証明yCを検証し[非対話ゼロ知識証明検証処理]、この検証に成立した場合に、式(c8)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
Figure 2014138213

を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(A1,yA),UB,(B1,yB),UC,(C1,yC))を設定して、共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する[共有鍵生成処理]。また、第3ユーザ装置では、アルゴリズムVを用いて証明yAと証明yBを検証し[非対話ゼロ知識証明検証処理]、この検証に成立した場合に、式(c9)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
Figure 2014138213

を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(A1,yA),UB,(B1,yB),UC,(C1,yC))を設定して、共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する[共有鍵生成処理]。
本発明に拠れば、詳細は後述の実施形態に譲るが、ランダムオラクルの代わりに擬似ランダム関数と強ランダム抽出器(または鍵導出関数)を用い、さらに、不正なアドホック公開鍵を検知できるメカニズム(CFZ暗号を用いる方法、または、非対話ゼロ知識証明を用いる方法)を加えることで、ランダムオラクルを仮定せずに安全な三者間鍵共有方式を実現する。
実施形態の三者間鍵共有システムを示す図。 実施形態1における三者間鍵共有処理の処理手順を示す図。 実施形態1に関わる三者間鍵共有システムの構成要素であるユーザ装置の機能構成を示す図。 実施形態2における三者間鍵共有処理の処理手順を示す図。 実施形態2に関わる三者間鍵共有システムの構成要素であるユーザ装置の機能構成を示す図。
《実施形態》
本発明では、以下のようにして、ランダムオラクルの代わりに擬似ランダム関数と強ランダム抽出器(または鍵導出関数)を用い、さらに、不正なアドホック公開鍵を検知できるメカニズムを加えることで、ランダムオラクルを仮定せずに安全な三者間鍵共有方式を実現する。
従来方式では共有鍵の導出にランダムオラクルを用いていたが、本発明では強ランダム抽出器(または鍵導出関数)で共有情報の分布をならし、その値を擬似ランダム関数の鍵とすることで、擬似ランダム関数の出力を用いた情報を共有鍵とする。このように共有鍵導出プロセスを変更したために、ランダムオラクルを必要としない。このテクニックは参考文献1で提案されている。
(参考文献1)Colin Boyd, Yvonne Cliff, Juan Manuel Gonzalez Nieto, Kenneth G.Paterson, "Efficient One-Round Key Exchange in the Standard Model", ACISP 2008, pp.69-83
本発明では共有鍵導出にランダムオラクルを用いないため、安全性を保証するためには各ユーザ装置が不正なアドホック公開鍵を検知できる必要がある。本発明では2種類の方法のいずれかを用いて検証性を保証している。
1つ目は、Chow-Franklin-Zhang暗号(CFZ暗号)を用いる方法である。CFZ暗号では暗号文の受信者(受信者装置)が公開情報のみを用いて、不正な暗号文を検知することができる。本発明におけるアドホック公開鍵の部分にCFZ暗号を適用することで、不正なアドホック公開鍵を検知できるようになる。例えば、参考文献2にCFZ暗号の詳細な構成法が記述されている。
(参考文献2)Sherman Chow, Matthew Franklin, and Haibin Zhang, "Practical Dual-Receiver Encryption", Soundness, Complete Non-Malleability, and Appli-cations, http://csiflabs.cs.ucdavis.edu/hbzhang/dual.pdf
2つ目は、ゼロ知識証明を用いる方法である。本発明では、送信者(送信者装置)がアドホック公開鍵を正当に作ったことを非対話ゼロ知識証明を添付することで、受信者(受信者装置)にこれを証明する。受信者(受信者装置)は証明を検証することで、不正なアドホック公開鍵を検知できる。また、ゼロ知識証明は秘密を漏らすこと無く証明できるので、送信者(送信者装置)のアドホック秘密鍵が受信者(受信者装置)に漏れることはない。例えば参考文献3に非対話ゼロ知識証明の詳細な構成法が記述されている。
(参考文献3)Jens Groth: Simulation-Sound NIZK Proofs for a Practical Language and Constant Size Group Signatures. ASIACRYPT 2006: 444-459
[三者間鍵共有システム]
実施形態の三者間鍵共有システム1は、図1に示すように、ユーザIDを表すUAで特定されるユーザ装置100−A、ユーザIDを表すUBで特定されるユーザ装置100−B、ユーザIDを表すUCで特定されるユーザ装置100−Cを含んで構成される。これら三者のユーザ装置100−A,100−B,100−Cは互いに異なる装置であり、UA,UB,UCは互いに異なるとする。以下、ユーザ装置100−Aをユーザ装置UA、ユーザ装置100−Bをユーザ装置UB、ユーザ装置100−Cをユーザ装置UCと呼称する。これらの各装置は、例えば、インターネットなどの通信網あるいは同報通信路5を経由して、相互に通信可能とされている。
<実施形態1>
実施形態1はCFZ暗号を利用した三者間鍵交換である。三者間鍵共有システム1における実施形態1の処理を、図2を参照しながら叙述する。各装置の機能構成については、図3を参照されたい。各装置は、共通の構成要素を持つので(ただし、各構成要素での処理内容は装置ごとに異なる)、図3では各構成要素に代表符号を附している。以下の説明では、代表符号に−A,−B,−Cの記号付加することで、どの装置に属する機能構成であるかを識別するようにしている。例えば図3で代表符号109が附された受信部109について、ユーザ装置UA(つまりユーザ装置100−A)に属する受信部であることを特定する場合には、以下の説明では「受信部109−A」と表記している。
[システムパラメータ]
κをセキュリティパラメータとし、Gをκビット素数pを位数とする巡回群とし、gを当該巡回群Gのランダムに選択された生成元とする。GTをκビット素数pを位数とする生成元gTを持つ巡回群とする。e:G×G→GTを双線形写像とする。TCR:G→ZPをターゲット衝突困難なハッシュ関数とする。F:{0,1}*×Kspace→{0,1}κを擬似ランダム関数とする。Ext:GT→Kspaceを強ランダム抽出器または鍵導出関数とする。ただし、Kspaceは擬似ランダム関数Fの鍵空間である。{0,1}*は有限長のビット列の集合であり、{0,1}*:=UL∈N{0,1}Lである(ただし、Nは自然数の集合(0を含む)、{0,1}LはLビット長のビット列の集合である)。Pをプロトコルコードを識別するためのIDとする。UA,UB,UC∈Gとする。
システムパラメータは、g,e,TCR,F,Extである。
なお、三者間鍵共有システム1では、システムパラメータが予め決まっていれば十分なので、例えば、図示しないパラメータ生成装置によって生成された上記システムパラメータが三者間鍵共有システム1の構成要素である各ユーザ装置に、各々のユーザ装置でシステムパラメータを使用する処理を実行する前に送信されていれば足りる。
なお、双線形写像eは下記の性質を満たす写像である。
双線型性:
任意のg,h∈Gおよび任意のa,b∈Zに対してe(ga,hb)=e(g,h)abが成立する。
非退化性:
e(g,g)≠1を満たすgが存在する。つまり、もしgがGの生成元ならばe(g,g)はGTの生成元である。
計算可能性:
任意のg,h∈Gに対して,e(g,h)は効率的に(つまり多項式時間で)計算可能である。
また、ターゲット衝突困難なハッシュ関数、擬似ランダム関数、鍵導出関数については、例えば参考文献4を参考にされたい。
(参考文献4)森山大輔、西巻陵、岡本龍明共著、「公開鍵暗号の数理−シリーズ応用数理第2巻−」、初版、共立出版株式会社、2011年3月、pp.23-31, pp.94-95. ISBN:978-4-320-01951-5.
また、強ランダム抽出器については、例えば参考文献5を参考にされたい。
(参考文献5)O. Chevassut, P.-A. Fouque, P. Gaudry, and D. Pointcheval, "Key derivation and randomness extraction", Cryptology ePrint Archive, Report 2005/061, 2005, http://eprint.iacr.org/2005/061.
[固有公開鍵と固有秘密鍵]
ユーザ装置UAの固有秘密鍵設定部101−Aは、ランダムにxA,yA∈Zpを選び、これらxA,yAを固有秘密鍵とする。また、ユーザ装置UAの固有公開鍵設定部102−Aは、選択された固有秘密鍵を用いて、XA=gxA、YA=gyAを計算し、これらXA,YAを固有公開鍵とする。これらの固有秘密鍵xA,yAと固有公開鍵XA,YAはユーザ装置UAの図示しない記憶部に(安全に)記憶されており、さらに固有公開鍵XA,YAは公開されているものとする。
ユーザ装置UBの固有秘密鍵設定部101−Bは、ランダムにxB,yB∈Zpを選び、これらxB,yBを固有秘密鍵とする。また、ユーザ装置UBの固有公開鍵設定部102−Bは、選択された固有秘密鍵を用いて、XB=gxB、YB=gyBを計算し、これらXB,YBを固有公開鍵とする。これらの固有秘密鍵xB,yBと固有公開鍵XB,YBはユーザ装置UBの図示しない記憶部に(安全に)記憶されており、さらに固有公開鍵XB,YBは公開されているものとする。
ユーザ装置UCの固有秘密鍵設定部101−Cは、ランダムにxC,yC∈Zpを選び、これらxC,yCを固有秘密鍵とする。また、ユーザ装置UCの固有公開鍵設定部102−Cは、選択された固有秘密鍵を用いて、XC=gxC、YC=gyCを計算し、これらXC,YCを固有公開鍵とする。これらの固有秘密鍵xC,yCと固有公開鍵XC,YCはユーザ装置UCの図示しない記憶部に(安全に)記憶されており、さらに固有公開鍵XC,YCは公開されているものとする。
ここで、「固有公開鍵を公開する」とは、或るユーザ装置Xが固有公開鍵を利用する他のユーザ装置Yに対して当該ユーザ装置Yからの要求に応じて固有公開鍵を送信すること、あるいは、固有公開鍵を利用するユーザ装置Yが自由にユーザ装置Xにアクセスして制約無く固有公開鍵を取得できること、あるいは、或る装置(例えばサーバ装置)の記憶部にユーザ装置Xの固有公開鍵が登録されて、サーバ装置が当該固有公開鍵を利用するユーザ装置Yに対して当該ユーザ装置Yからの要求に応じて固有公開鍵を送信すること、あるいは、固有公開鍵を利用するユーザ装置Yが自由にサーバ装置にアクセスして制約無く固有公開鍵を取得できること、などを意味する。つまり、「固有公開鍵を公開する」とは、公開という情報処理よりも、固有公開鍵を利用するユーザ装置Yが自由に固有公開鍵を取得できる状態やシステム構成が構築されていることを意味する。以下、「固有公開鍵を公開する」との趣旨の記載は、上記説明と同様の意味である。
また、「固有」とは、後述するアドホック鍵(「アドホック秘密鍵」と「アドホック公開鍵」)と区別するための接頭辞であり、固有鍵(「固有秘密鍵」と「固有公開鍵」)は鍵共有セッションに関わらず各ユーザ装置UA,UB,UCによって保持される鍵である。
[鍵交換]
ステップS1
ユーザ装置UAのアドホック秘密鍵設定部103−Aは、ランダムにアドホック秘密鍵rA,r′A∈Zpを選び(ステップS1−1)、ユーザ装置UAのアドホック公開鍵設定部104−Aは、選択されたアドホック秘密鍵を用いて、アドホック公開鍵RA=grA、πAB=(XtA BBrA、πAC=(XtA CCrA、R′A=gr′Aを計算する(ステップS1−2)。ただし、tA=TCR(RA,R′A,UA,UB,UC)である。そして、ユーザ装置UAの送信部108−Aは、プロトコルコード識別IDであるP、後に共有鍵を共有することになる三者のユーザ装置UA,ユーザ装置UB,ユーザ装置UCを特定するための情報である(UA,UB,UC)[この例では、ユーザ識別IDであるUA,UB,UCの組である]、発信元のユーザ識別IDであるUAとそのアドホック公開鍵RA,πAB,πAC,R′Aの組(P,(UA,UB,UC),UA,RA,πAB,πAC,R′A)をユーザ装置UBとユーザ装置UCに同報通信路5を用いて送信する(ステップS1−3)。アドホック公開情報(P,(UA,UB,UC),UA,RA,πAB,πAC,R′A)は、例えばP,(UA,UB,UC),UA,RA,πAB,πAC,R′Aのビット結合で与えられる。ユーザ装置UBの受信部109−Bとユーザ装置UCの受信部109−Cはそれぞれアドホック公開情報(P,(UA,UB,UC),UA,RA,πAB,πAC,R′A)を受信する(ステップS1−4)。
ステップS2
ユーザ装置UBのアドホック秘密鍵設定部103−Bは、ランダムにアドホック秘密鍵rB,r′B∈Zpを選び(ステップS2−1)、ユーザ装置UBのアドホック公開鍵設定部104−Bは、選択されたアドホック秘密鍵を用いて、アドホック公開鍵RB=grB、πBA=(XtB AArB、πBC=(XtB CCrB、R′B=gr′Bを計算する(ステップS2−2)。ただし、tB=TCR(RB,R′B,UB,UC,UA)である。そして、ユーザ装置UBの送信部108−Bは、プロトコルコード識別IDであるP、後に共有鍵を共有することになる三者のユーザ装置UA,ユーザ装置UB,ユーザ装置UCを特定するための情報である(UA,UB,UC)[この例では、ユーザ識別IDであるUA,UB,UCの組である]、発信元のユーザ識別IDであるUBとそのアドホック公開鍵RB,πBA,πBC,R′Bの組(P,(UA,UB,UC),UB,RB,πBA,πBC,R′B)をユーザ装置UAとユーザ装置UCに同報通信路5を用いて送信する(ステップS2−3)。アドホック公開情報(P,(UA,UB,UC),UB,RB,πBA,πBC,R′B)は、例えばP,(UA,UB,UC),UB,RB,πBA,πBC,R′Bのビット結合で与えられる。ユーザ装置UAの受信部109−Aとユーザ装置UCの受信部109−Cはそれぞれアドホック公開情報(P,(UA,UB,UC),UA,RA,πAB,πAC,R′A)を受信する(ステップS2−4)。
ステップS3
ユーザ装置UCのアドホック秘密鍵設定部103−Cは、ランダムにアドホック秘密鍵rC,r′C∈Zpを選び(ステップS3−1)、ユーザ装置UCのアドホック公開鍵設定部104−Cは、選択されたアドホック秘密鍵を用いて、アドホック公開鍵RC=grC、πCA=(XtC AArC、πCB=(XtC BBrC、R′C=gr′Cを計算する(ステップS3−2)。ただし、tC=TCR(RC,R′C,UC,UA,UB)である。そして、ユーザ装置UCの送信部108−Cは、プロトコルコード識別IDであるP、後に共有鍵を共有することになる三者のユーザ装置UA,ユーザ装置UB,ユーザ装置UCを特定するための情報である(UA,UB,UC)[この例では、ユーザ識別IDであるUA,UB,UCの組である]、発信元のユーザ識別IDであるUCとそのアドホック公開鍵RC,πCA,πCB,R′Cの組(P,(UA,UB,UC),UC,RC,πCA,πCB,R′C)をユーザ装置UAとユーザ装置UBに同報通信路5を用いて送信する(ステップS3−3)。アドホック公開情報(P,(UA,UB,UC),UC,RC,πCA,πCB,R′C)は、例えばP,(UA,UB,UC),UC,RC,πCA,πCB,R′Cのビット結合で与えられる。ユーザ装置UAの受信部109−Aとユーザ装置UBの受信部109−Bはそれぞれアドホック公開情報(P,(UA,UB,UC),UA,RA,πAB,πAC,R′A)を受信する(ステップS3−4)。
ここで、「アドホック」とは、アドホック鍵(「アドホック秘密鍵」と「アドホック公開鍵」)が鍵共有セッションにおいて用いられる鍵であることを表すための接頭辞である。ただし、異なる鍵共有セッションであっても、同じアドホック鍵を使用することは妨げられない。
ステップS4
(P,(UA,UB,UC),UB,RB,πBA,πBC,R′B)と(P,(UA,UB,UC),UC,RC,πCA,πCB,R′C)を受け取ったら、ユーザ装置UAの検証部105−Aは、tB=TCR(RB,R′B,UB,UC,UA)、tC=TCR(RC,R′C,UC,UA,UB)を計算して、次の関係式(4)を検証し、関係式のいずれか一つでも不成立であれば処理を終了する(ステップS4−1)。ユーザ装置UAの共有鍵生成部106−Aは、関係式(4)の全てが成立した場合に、式(5)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、この鍵共有セッションを識別するための識別子(以下、セッション識別子という)sid=(UA,(RA,πAB,πAC,R′A),UB,(RB,πBA,πBC,R′B),UC,(RC,πCA,πCB,R′C))を設定して、共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する(ステップS4−2)。記号(+)は排他的論理和を表す。
Figure 2014138213
ステップS5
(P,(UA,UB,UC),UA,RA,πAB,πAC,R′A)と(P,(UA,UB,UC),UC,RC,πCA,πCB,R′C)を受け取ったら、ユーザ装置UBの検証部105−Bは、tA=TCR(RA,R′A,UA,UB,UC)、tC=TCR(RC,R′C,UC,UA,UB)を計算し、次の関係式(6)を検証し、関係式のいずれか一つでも不成立であれば処理を終了する(ステップS5−1)。ユーザ装置UBの共有鍵生成部106−Bは、関係式(6)の全てが成立した場合に、式(7)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、セッション識別子sid=(UA,(RA,πAB,πAC,R′A),UB,(RB,πBA,πBC,R′B),UC,(RC,πCA,πCB,R′C))を設定して、共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する(ステップS5−2)。記号(+)は排他的論理和を表す。
Figure 2014138213
ステップS6
(P,(UA,UB,UC),UA,RA,πAB,πAC,R′A)と(P,(UA,UB,UC),UB,RB,πBA,πBC,R′B)を受け取ったら、ユーザ装置UCの検証部105−Cは、tA=TCR(RA,R′A,UA,UB,UC)、tB=TCR(RB,R′B,UB,UC,UA)を計算して、次の関係式(8)を検証し、関係式のいずれか一つでも不成立であれば処理を終了する(ステップS6−1)。ユーザ装置UCの共有鍵生成部106−Cは、関係式(8)の全てが成立した場合に、式(9)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、セッション識別子sid=(UA,(RA,πAB,πAC,R′A),UB,(RB,πBA,πBC,R′B),UC,(RC,πCA,πCB,R′C))を設定して、共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する(ステップS6−2)。記号(+)は排他的論理和を表す。
Figure 2014138213
<実施形態2>
実施形態1は非対話ゼロ知識証明を利用した三者間鍵交換である。三者間鍵共有システム1における実施形態2の処理を、図4を参照しながら叙述する。なお、説明の便宜から、図1に図示される三者間鍵共有システム1の構成要素である三者のユーザ装置100−A,100−B,100−Cの符号をそれぞれ200−A,200−B,200−Cに置き換える。各装置の機能構成については、図5を参照されたい。各装置は、共通の構成要素を持つので(ただし、各構成要素での処理内容は装置ごとに異なる)、図5では各構成要素に代表符号を附している。以下の説明では、代表符号に−A,−B,−Cの記号付加することで、どの装置に属する機能構成であるかを識別するようにしている。例えば図5で代表符号209が附された受信部209について、ユーザ装置UA(つまりユーザ装置200−A)に属する受信部であることを特定する場合には、以下の説明では「受信部209−A」と表記している。
[パラメータ]
κをセキュリティパラメータとし、Gをκビット素数pを位数とする巡回群とし、gを当該巡回群Gのランダムに選択された生成元とする。GTをκビット素数pを位数とする生成元gTを持つ群とする。e:G×G→GTを双線形写像とする。(P,V)を非対話ゼロ知識証明方式とする。アルゴリズムPは公開の共通参照情報、命題xとその証拠wを入力とし、証明yを出力する。アルゴリズムVは公開の共通参照情報、命題xと証明yを入力とし、真理値0/1を出力する。なお、任意のNP言語に対する非対話ゼロ知識証明は参考文献6に詳細な構成法が記述されている。F:{0,1}*×Kspace→{0,1}κを擬似ランダム関数とする。Ext:GT→Kspaceを強ランダム抽出器または鍵導出関数とする。ただし、Kspaceは擬似ランダム関数Fの鍵空間である。{0,1}*は有限長のビット列の集合であり、{0,1}*:=UL∈N{0,1}Lである(ただし、Nは自然数の集合(0を含む)、{0,1}LはLビット長のビット列の集合である)。Pをプロトコルコードを識別するためのIDとする。UA,UB,UC∈Gとする。
システムパラメータは、g,e,(P,V),F,Extである。
(参考文献6)Manuel Blum, Paul Feldman, Silvio Micali, "Non-Interactive Zero-Knowledge and Its Applications (Extended Abstract)", STOC 1988, pp.103-112
実施形態2においても、三者間鍵共有システム1では、システムパラメータが予め決まっていれば十分なので、例えば、図示しないパラメータ生成装置によって生成された上記システムパラメータが三者間鍵共有システム1の構成要素である各ユーザ装置に、各々のユーザ装置でシステムパラメータを使用する処理を実行する前に送信されていれば足りる。
[固有公開鍵と固有秘密鍵]
ユーザ装置UAの固有秘密鍵設定部201−Aは、ランダムにa0∈Zpを選び、このa0を固有秘密鍵とする。また、ユーザ装置UAの固有公開鍵設定部202−Aは、選択された固有秘密鍵を用いて、A0=ga0を計算し、このA0を固有公開鍵とする。これらの固有秘密鍵a0と固有公開鍵A0はユーザ装置UAの図示しない記憶部に(安全に)記憶されており、さらに固有公開鍵A0は公開されているものとする。
ユーザ装置UBの固有秘密鍵設定部201−Bは、ランダムにb0∈Zpを選び、このb0を固有秘密鍵とする。また、ユーザ装置UBの固有公開鍵設定部202−Bは、選択された固有秘密鍵を用いて、B0=gb0を計算し、このB0を固有公開鍵とする。これらの固有秘密鍵b0と固有公開鍵B0はユーザ装置UBの図示しない記憶部に(安全に)記憶されており、さらに固有公開鍵B0は公開されているものとする。
ユーザ装置UCの固有秘密鍵設定部201−Cは、ランダムにc0∈Zpを選び、このc0を固有秘密鍵とする。また、ユーザ装置UCの固有公開鍵設定部202−Cは、選択された固有秘密鍵を用いて、C0=gc0を計算し、このC0を固有公開鍵とする。これらの固有秘密鍵c0と固有公開鍵C0はユーザ装置UBの図示しない記憶部に(安全に)記憶されており、さらに固有公開鍵C0は公開されているものとする。
[鍵交換]
ステップS1
ユーザ装置UAのアドホック秘密鍵設定部203−Aは、ランダムにアドホック秘密鍵a1∈Zpを選び(ステップS1−1)、ユーザ装置UAのアドホック公開鍵設定部204−Aは、選択されたアドホック秘密鍵を用いて、アドホック公開鍵A1=ga1を計算し(ステップS1−2)、ユーザ装置UAの非対話ゼロ知識証明情報生成部207−Aは、アルゴリズムPを用いて命題(A1=ga1)と証拠a1に対して証明yAを計算する(ステップS1−3)。そして、ユーザ装置UAの送信部208−Aは、プロトコルコード識別IDであるP、後に共有鍵を共有することになる三者のユーザ装置UA,ユーザ装置UB,ユーザ装置UCを特定するための情報である(UA,UB,UC)[この例では、ユーザ識別IDであるUA,UB,UCの組である]、発信元のユーザ識別IDであるUAとそのアドホック公開鍵A1、証明yAの組(P,(UA,UB,UC),UA,A1,yA)をユーザ装置UBとユーザ装置UCに同報通信路5を用いて送信する(ステップS1−4)。アドホック公開情報(P,(UA,UB,UC),UA,A1,yA)は、例えばP,(UA,UB,UC),UA,A1,yAのビット結合で与えられる。ユーザ装置UBの受信部209−Bとユーザ装置UCの受信部209−Cはそれぞれアドホック公開情報(P,(UA,UB,UC),UA,A1,yA)を受信する(ステップS1−5)。
ステップS2
ユーザ装置UBのアドホック秘密鍵設定部203−Bは、ランダムにアドホック秘密鍵b1∈Zpを選び(ステップS2−1)、ユーザ装置UBのアドホック公開鍵設定部204−Bは、選択されたアドホック秘密鍵を用いて、アドホック公開鍵B1=gb1を計算し(ステップS2−2)、ユーザ装置UBの非対話ゼロ知識証明情報生成部207−Bは、アルゴリズムPを用いて命題(B1=gb1)と証拠b1に対して証明yBを計算する(ステップS2−3)。そして、ユーザ装置UBの送信部208−Bは、プロトコルコード識別IDであるP、後に共有鍵を共有することになる三者のユーザ装置UA,ユーザ装置UB,ユーザ装置UCを特定するための情報である(UA,UB,UC)[この例では、ユーザ識別IDであるUA,UB,UCの組である]、発信元のユーザ識別IDであるUBとそのアドホック公開鍵B1、証明yBの組(P,(UA,UB,UC),UB,B1,yB)をユーザ装置UAとユーザ装置UCに同報通信路5を用いて送信する(ステップS2−4)。アドホック公開情報(P,(UA,UB,UC),UB,B1,yB)は、例えばP,(UA,UB,UC),UB,B1,yBのビット結合で与えられる。ユーザ装置UAの受信部209−Aとユーザ装置UCの受信部209−Cはそれぞれアドホック公開情報(P,(UA,UB,UC),UB,B1,yB)を受信する(ステップS2−5)。
ステップS3
ユーザ装置UCのアドホック秘密鍵設定部203−Cは、ランダムにアドホック秘密鍵c1∈Zpを選び(ステップS3−1)、ユーザ装置UCのアドホック公開鍵設定部204−Cは、選択されたアドホック秘密鍵を用いて、アドホック公開鍵C1=gc1を計算し(ステップS3−2)、ユーザ装置UCの非対話ゼロ知識証明情報生成部207−Cは、アルゴリズムPを用いて命題(C1=gc1)と証拠c1に対して証明yCを計算する(ステップS3−3)。そして、ユーザ装置UCの送信部208−Cは、プロトコルコード識別IDであるP、後に共有鍵を共有することになる三者のユーザ装置UA,ユーザ装置UB,ユーザ装置UCを特定するための情報である(UA,UB,UC)[この例では、ユーザ識別IDであるUA,UB,UCの組である]、発信元のユーザ識別IDであるUCとそのアドホック公開鍵C1、証明yCの組(P,(UA,UB,UC),UC,C1,yC)をユーザ装置UAとユーザ装置UBに同報通信路5を用いて送信する(ステップS3−4)。アドホック公開情報(P,(UA,UB,UC),UC,C1,yC)は、例えばP,(UA,UB,UC),UC,C1,yCのビット結合で与えられる。ユーザ装置UAの受信部209−Aとユーザ装置UBの受信部209−Bはそれぞれアドホック公開情報(P,(UA,UB,UC),UC,C1,yC)を受信する(ステップS3−5)。
ステップS4
(P,(UA,UB,UC),UB,B1,yB)と(P,(UA,UB,UC),UC,U1,yc)を受け取ったら、ユーザ装置UAの非対話ゼロ知識証明検証部207a−Aは、アルゴリズムVを用いて証明yBと証明yCを検証し、この検証に失敗した場合には処理を終了する(ステップS4−1)。ユーザ装置UAの共有鍵生成部206−Aは、この検証に成立した場合に、式(10)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、セッション識別子sid=(UA,(A1,yA),UB,(B1,yB),UC,(C1,yC))を設定して、共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する(ステップS4−2)。記号(+)は排他的論理和を表す。
Figure 2014138213
ステップS5
(P,(UA,UB,UC),UA,A1,yA)と(P,(UA,UB,UC),UC,C1,yC)を受け取ったら、ユーザ装置UBの非対話ゼロ知識証明検証部207a−Bは、アルゴリズムVを用いて証明yAと証明yCを検証し、この検証に失敗した場合には処理を終了する(ステップS5−1)。ユーザ装置UBの共有鍵生成部206−Bは、この検証に成立した場合に、式(11)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、セッション識別子sid=(UA,(A1,yA),UB,(B1,yB),UC,(C1,yC))を設定して、共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する(ステップS5−2)。記号(+)は排他的論理和を表す。
Figure 2014138213
ステップS6
(P,(UA,UB,UC),UA,A1,yA)と(P,(UA,UB,UC),UB,B1,yB)を受け取ったら、ユーザ装置UCの非対話ゼロ知識証明検証部207a−Cは、アルゴリズムVを用いて証明yAと証明yBを検証し、この検証に失敗した場合には処理を終了する(ステップS6−1)。ユーザ装置UCの共有鍵生成部206−Cは、この検証に成立した場合に、式(12)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、セッション識別子sid=(UA,(A1,yA),UB,(B1,yB),UC,(C1,yC))を設定して、共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する(ステップS6−2)。記号(+)は排他的論理和を表す。
Figure 2014138213
<補記>
三者間鍵共有システムに含まれうるハードウェアエンティティ(ユーザ装置)は、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit)〔キャッシュメモリやレジスタなどを備えていてもよい〕、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくなどでもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。上述の説明では、演算結果やその格納領域のアドレスなどを記憶するRAMやレジスタなどの記憶装置を単に「記憶部」とした。
ハードウェアエンティティでは、外部記憶装置〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(例えば、固有秘密鍵設定部、固有公開鍵設定部、アドホック秘密鍵設定部、アドホック公開鍵設定部、検証部、非対話ゼロ知識証明情報生成部、非対話ゼロ知識証明検証部、共有鍵生成部など)を実現する。
各実施形態で説明したハードウェアエンティティの細部においては、数論における数値計算処理が必要となる場合があるが、数論における数値計算処理自体は、周知技術と同様にして達成されるので、その演算処理方法などの詳細な説明は省略した(この点の技術水準を示す数論における数値計算処理が可能なソフトウェアとしては、例えばPARI/GP、KANT/KASHなどが挙げられる。PARI/GPについては、例えばインターネット〈URL: http://pari.math.u-bordeaux.fr/〉[平成24年12月26日検索]を参照のこと。KANT/KASHについては、例えばインターネット〈http://www.math.tu-berlin.de/~kant/kash.html〉[平成24年12月26日検索]を参照のこと)。
また、この点に関する文献として、参考文献Aを挙げることができる。
(参考文献A)H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
また、上記実施形態において説明したハードウェアエンティティにおける処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (6)

  1. 少なくとも三つのユーザ装置(以下、これらを第1ユーザ装置、第2ユーザ装置、第3ユーザ装置とする)を含み、第1ユーザ装置、第2ユーザ装置、第3ユーザ装置のそれぞれがこれらに共通の秘密鍵(以下、共有鍵という)を共有するための三者間鍵共有システムであって、
    pを素数、Zを整数全体を表す集合、Zpをpを法とするZの剰余類環、Gを素数pを位数とする巡回群、gを当該巡回群Gの生成元、GTを素数pを位数とする巡回群、e:G×G→GTを双線形写像、TCR:G→ZPを衝突困難ハッシュ関数、F:{0,1}*×Kspace→{0,1}κを擬似ランダム関数、Ext:GT→Kspaceを強ランダム抽出器または鍵導出関数、Kspaceを擬似ランダム関数Fの鍵空間とし、第1ユーザ装置のユーザ識別子をUA、第2ユーザ装置のユーザ識別子をUB、第3ユーザ装置のユーザ識別子をUCとし、記号(+)は排他的論理和を表すとして、
    上記第1ユーザ装置の固有秘密鍵xA,yA∈Zpと固有公開鍵XA=gxA、YA=gyA、上記第2ユーザ装置の固有秘密鍵xB,yB∈Zpと固有公開鍵XB=gxB、YB=gyB、上記第3ユーザ装置の固有秘密鍵xC,yC∈Zpと固有公開鍵XC=gxC、YC=gyCが予め定められており、
    上記第1ユーザ装置は、
    アドホック秘密鍵rA,r′A∈Zpをランダムに選択するアドホック秘密鍵設定部と、
    アドホック公開鍵RA=grA、πAB=(XtA BBrA、πAC=(XtA CCrA、R′A=gr′A(ただし、tA=TCR(RA,R′A,UA,UB,UC)である)を計算するアドホック公開鍵設定部と、
    少なくとも(UA,RA,πAB,πAC,R′A)を上記第2ユーザ装置と上記第3ユーザ装置に送信する送信部とを含み、
    上記第2ユーザ装置は、
    アドホック秘密鍵rB,r′B∈Zpをランダムに選択するアドホック秘密鍵設定部と、
    アドホック公開鍵RB=grB、πBA=(XtB AArB、πBC=(XtB CCrB、R′B=gr′B(ただし、tB=TCR(RB,R′B,UB,UC,UA)である)を計算するアドホック公開鍵設定部と、
    少なくとも(UB,RB,πBA,πBC,R′B)を上記第1ユーザ装置と上記第3ユーザ装置に送信する送信部とを含み、
    上記第3ユーザ装置は、
    アドホック秘密鍵rC,r′C∈Zpをランダムに選択するアドホック秘密鍵設定部と、
    アドホック公開鍵RC=grC、πCA=(XtC AArC、πCB=(XtC BBrC、R′C=gr′C(ただし、tC=TCR(RC,R′C,UC,UA,UB)である)を計算するアドホック公開鍵設定部と、
    少なくとも(UC,RC,πCA,πCB,R′C)を上記第2ユーザ装置と上記第3ユーザ装置に送信する送信部とを含み、
    上記第1ユーザ装置は、さらに、
    B=TCR(RB,R′B,UB,UC,UA)、tC=TCR(RC,R′C,UC,UA,UB)を計算して、関係式(c1)
    Figure 2014138213

    を検証する検証部と、
    上記関係式(c1)の全てが成立した場合に、式(c2)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
    Figure 2014138213

    を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(RA,πAB,πAC,R′A),UB,(RB,πBA,πBC,R′B),UC,(RC,πCA,πCB,R′C))を設定して、上記共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する共有鍵生成部とを含み、
    上記第2ユーザ装置は、さらに、
    A=TCR(RA,R′A,UA,UB,UC)、tC=TCR(RC,R′C,UC,UA,UB)を計算して、関係式(c3)
    Figure 2014138213

    を検証する検証部と、
    上記関係式(c3)の全てが成立した場合に、式(c4)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
    Figure 2014138213

    を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(RA,πAB,πAC,R′A),UB,(RB,πBA,πBC,R′B),UC,(RC,πCA,πCB,R′C))を設定して、上記共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する共有鍵生成部とを含み、
    上記第3ユーザ装置は、さらに、
    A=TCR(RA,R′A,UA,UB,UC)、tB=TCR(RB,R′B,UB,UC,UA)を計算して、関係式(c5)
    Figure 2014138213

    を検証する検証部と、
    上記関係式(c5)の全てが成立した場合に、式(c6)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
    Figure 2014138213

    を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(RA,πAB,πAC,R′A),UB,(RB,πBA,πBC,R′B),UC,(RC,πCA,πCB,R′C))を設定して、上記共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する共有鍵生成部とを含む
    三者間鍵共有システム。
  2. 少なくとも三つのユーザ装置(以下、これらを第1ユーザ装置、第2ユーザ装置、第3ユーザ装置とする)を含み、第1ユーザ装置、第2ユーザ装置、第3ユーザ装置のそれぞれがこれらに共通の秘密鍵(以下、共有鍵という)を共有するための三者間鍵共有システムであって、
    pを素数、Zを整数全体を表す集合、Zpをpを法とするZの剰余類環、Gを素数pを位数とする巡回群、gを当該巡回群Gの生成元、GTを素数pを位数とする巡回群、e:G×G→GTを双線形写像、(P,V)を非対話ゼロ知識証明アルゴリズム(ただし、アルゴリズムPは命題xとその証拠wを入力とし証明yを出力するアルゴリズムであり、アルゴリズムVは命題xと証明yを入力とし真理値0/1を出力するアルゴリズムとする)、F:{0,1}*×Kspace→{0,1}κを擬似ランダム関数、Ext:GT→Kspaceを強ランダム抽出器または鍵導出関数、Kspaceを擬似ランダム関数Fの鍵空間とし、第1ユーザ装置のユーザ識別子をUA、第2ユーザ装置のユーザ識別子をUB、第3ユーザ装置のユーザ識別子をUCとし、記号(+)は排他的論理和を表すとして、
    上記第1ユーザ装置の固有秘密鍵a0∈Zpと固有公開鍵A0=ga0、上記第2ユーザ装置の固有秘密鍵b0∈Zpと固有公開鍵B0=gb0、上記第3ユーザ装置の固有秘密鍵c0∈Zpと固有公開鍵C0=gc0が予め定められており、
    上記第1ユーザ装置は、
    アドホック秘密鍵a1∈Zpをランダムに選択するアドホック秘密鍵設定部と、
    アドホック公開鍵A1=ga1を計算するアドホック公開鍵設定部と、
    アルゴリズムPを用いて命題(A1=ga1)と証拠a1に対して証明yAを計算する非対話ゼロ知識証明情報生成部と、
    (UA,A1,yA)を上記第2ユーザ装置と上記第3ユーザ装置に送信する送信部とを含み、
    上記第2ユーザ装置は、
    アドホック秘密鍵b1∈Zpをランダムに選択するアドホック秘密鍵設定部と、
    アドホック公開鍵B1=gb1を計算するアドホック公開鍵設定部と、
    アルゴリズムPを用いて命題(B1=gb1)と証拠b1に対して証明yBを計算する非対話ゼロ知識証明情報生成部と、
    (UB,B1,yB)を上記第1ユーザ装置と上記第3ユーザ装置に送信する送信部とを含み、
    上記第3ユーザ装置は、
    アドホック秘密鍵c1∈Zpをランダムに選択するアドホック秘密鍵設定部と、
    アドホック公開鍵C1=gc1を計算するアドホック公開鍵設定部と、
    アルゴリズムPを用いて命題(C1=gc1)と証拠c1に対して証明yCを計算する非対話ゼロ知識証明情報生成部と、
    (UC,C1,yC)を上記第1ユーザ装置と上記第2ユーザ装置に送信する送信部とを含み、
    上記第1ユーザ装置は、さらに、
    アルゴリズムVを用いて証明yBと証明yCを検証する非対話ゼロ知識証明検証部と、
    上記検証に成立した場合に、式(c7)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
    Figure 2014138213

    を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(A1,yA),UB,(B1,yB),UC,(C1,yC))を設定して、上記共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する共有鍵生成部とを含み、
    上記第2ユーザ装置は、さらに、
    アルゴリズムVを用いて証明yAと証明yCを検証する非対話ゼロ知識証明検証部と、
    上記検証に成立した場合に、式(c8)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
    Figure 2014138213

    を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(A1,yA),UB,(B1,yB),UC,(C1,yC))を設定して、上記共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する共有鍵生成部とを含み、
    上記第3ユーザ装置は、さらに、
    アルゴリズムVを用いて証明yAと証明yBを検証する非対話ゼロ知識証明検証部と、
    上記検証に成立した場合に、式(c9)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
    Figure 2014138213

    を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(A1,yA),UB,(B1,yB),UC,(C1,yC))を設定して、上記共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する共有鍵生成部とを含む
    三者間鍵共有システム。
  3. 三つのユーザ装置(以下、これらを第1ユーザ装置、第2ユーザ装置、第3ユーザ装置とする)のそれぞれがこれらに共通の秘密鍵(以下、共有鍵という)を共有するための三者間鍵共有方法であって、
    pを素数、Zを整数全体を表す集合、Zpをpを法とするZの剰余類環、Gを素数pを位数とする巡回群、gを当該巡回群Gの生成元、GTを素数pを位数とする巡回群、e:G×G→GTを双線形写像、TCR:G→ZPを衝突困難ハッシュ関数、F:{0,1}*×Kspace→{0,1}κを擬似ランダム関数、Ext:GT→Kspaceを強ランダム抽出器または鍵導出関数、Kspaceを擬似ランダム関数Fの鍵空間とし、第1ユーザ装置のユーザ識別子をUA、第2ユーザ装置のユーザ識別子をUB、第3ユーザ装置のユーザ識別子をUCとし、記号(+)は排他的論理和を表すとして、
    上記第1ユーザ装置の固有秘密鍵xA,yA∈Zpと固有公開鍵XA=gxA、YA=gyA、上記第2ユーザ装置の固有秘密鍵xB,yB∈Zpと固有公開鍵XB=gxB、YB=gyB、上記第3ユーザ装置の固有秘密鍵xC,yC∈Zpと固有公開鍵XC=gxC、YC=gyCが予め定められており、
    上記第1ユーザ装置のアドホック秘密鍵設定部が、アドホック秘密鍵rA,r′A∈Zpをランダムに選択するアドホック秘密鍵設定ステップと、
    上記第1ユーザ装置のアドホック公開鍵設定部が、アドホック公開鍵RA=grA、πAB=(XtA BBrA、πAC=(XtA CCrA、R′A=gr′A(ただし、tA=TCR(RA,R′A,UA,UB,UC)である)を計算するアドホック公開鍵設定ステップと、
    上記第1ユーザ装置の送信部が、少なくとも(UA,RA,πAB,πAC,R′A)を上記第2ユーザ装置と上記第3ユーザ装置に送信する送信ステップと、
    上記第2ユーザ装置のアドホック秘密鍵設定部が、アドホック秘密鍵rB,r′B∈Zpをランダムに選択するアドホック秘密鍵設定ステップと、
    上記第2ユーザ装置のアドホック公開鍵設定部が、アドホック公開鍵RB=grB、πBA=(XtB AArB、πBC=(XtB CCrB、R′B=gr′B(ただし、tB=TCR(RB,R′B,UB,UC,UA)である)を計算するアドホック公開鍵設定ステップと、
    上記第2ユーザ装置の送信部が、少なくとも(UB,RB,πBA,πBC,R′B)を上記第1ユーザ装置と上記第3ユーザ装置に送信する送信ステップと、
    上記第3ユーザ装置のアドホック秘密鍵設定部が、アドホック秘密鍵rC,r′C∈Zpをランダムに選択するアドホック秘密鍵設定ステップと、
    上記第3ユーザ装置のアドホック公開鍵設定部が、アドホック公開鍵RC=grC、πCA=(XtC AArC、πCB=(XtC BBrC、R′C=gr′C(ただし、tC=TCR(RC,R′C,UC,UA,UB)である)を計算するアドホック公開鍵設定ステップと、
    上記第3ユーザ装置の送信部が、少なくとも(UC,RC,πCA,πCB,R′C)を上記第2ユーザ装置と上記第3ユーザ装置に送信する送信ステップと、
    上記第1ユーザ装置の検証部が、tB=TCR(RB,R′B,UB,UC,UA)、tC=TCR(RC,R′C,UC,UA,UB)を計算して、関係式(c1)
    Figure 2014138213

    を検証する検証ステップと、
    上記第1ユーザ装置の共有鍵生成部が、上記関係式(c1)の全てが成立した場合に、式(c2)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
    Figure 2014138213

    を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(RA,πAB,πAC,R′A),UB,(RB,πBA,πBC,R′B),UC,(RC,πCA,πCB,R′C))を設定して、上記共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する共有鍵生成ステップと、
    上記第2ユーザ装置の検証部が、tA=TCR(RA,R′A,UA,UB,UC)、tC=TCR(RC,R′C,UC,UA,UB)を計算して、関係式(c3)
    Figure 2014138213

    を検証する検証ステップと、
    上記第2ユーザ装置の共有鍵生成部が、上記関係式(c3)の全てが成立した場合に、式(c4)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
    Figure 2014138213

    を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(RA,πAB,πAC,R′A),UB,(RB,πBA,πBC,R′B),UC,(RC,πCA,πCB,R′C))を設定して、上記共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する共有鍵生成ステップと、
    上記第3ユーザ装置の検証部が、tA=TCR(RA,R′A,UA,UB,UC)、tB=TCR(RB,R′B,UB,UC,UA)を計算して、関係式(c5)
    Figure 2014138213

    を検証する検証ステップと、
    上記第3ユーザ装置の共有鍵生成部が、上記関係式(c5)の全てが成立した場合に、式(c6)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
    Figure 2014138213

    を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(RA,πAB,πAC,R′A),UB,(RB,πBA,πBC,R′B),UC,(RC,πCA,πCB,R′C))を設定して、上記共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する共有鍵生成ステップと
    を有する三者間鍵共有方法。
  4. 三つのユーザ装置(以下、これらを第1ユーザ装置、第2ユーザ装置、第3ユーザ装置とする)のそれぞれがこれらに共通の秘密鍵(以下、共有鍵という)を共有するための三者間鍵共有方法であって、
    pを素数、Zを整数全体を表す集合、Zpをpを法とするZの剰余類環、Gを素数pを位数とする巡回群、gを当該巡回群Gの生成元、GTを素数pを位数とする巡回群、e:G×G→GTを双線形写像、(P,V)を非対話ゼロ知識証明アルゴリズム(ただし、アルゴリズムPは命題xとその証拠wを入力とし証明yを出力するアルゴリズムであり、アルゴリズムVは命題xと証明yを入力とし真理値0/1を出力するアルゴリズムとする)、F:{0,1}*×Kspace→{0,1}κを擬似ランダム関数、Ext:GT→Kspaceを強ランダム抽出器または鍵導出関数、Kspaceを擬似ランダム関数Fの鍵空間とし、第1ユーザ装置のユーザ識別子をUA、第2ユーザ装置のユーザ識別子をUB、第3ユーザ装置のユーザ識別子をUCとし、記号(+)は排他的論理和を表すとして、
    上記第1ユーザ装置の固有秘密鍵a0∈Zpと固有公開鍵A0=ga0、上記第2ユーザ装置の固有秘密鍵b0∈Zpと固有公開鍵B0=gb0、上記第3ユーザ装置の固有秘密鍵c0∈Zpと固有公開鍵C0=gc0が予め定められており、
    上記第1ユーザ装置のアドホック秘密鍵設定部が、アドホック秘密鍵a1∈Zpをランダムに選択するアドホック秘密鍵設定ステップと、
    上記第1ユーザ装置のアドホック公開鍵設定部が、アドホック公開鍵A1=ga1を計算するアドホック公開鍵設定ステップと、
    上記第1ユーザ装置の非対話ゼロ知識証明情報生成部が、アルゴリズムPを用いて命題(A1=ga1)と証拠a1に対して証明yAを計算する非対話ゼロ知識証明情報生成ステップと、
    上記第1ユーザ装置の送信部が、(UA,A1,yA)を上記第2ユーザ装置と上記第3ユーザ装置に送信する送信ステップと、
    上記第2ユーザ装置のアドホック秘密鍵設定部が、アドホック秘密鍵b1∈Zpをランダムに選択するアドホック秘密鍵設定ステップと、
    上記第2ユーザ装置のアドホック公開鍵設定部が、アドホック公開鍵B1=gb1を計算するアドホック公開鍵設定ステップと、
    上記第2ユーザ装置の非対話ゼロ知識証明情報生成部が、アルゴリズムPを用いて命題(B1=gb1)と証拠b1に対して証明yBを計算する非対話ゼロ知識証明情報生成ステップと、
    上記第2ユーザ装置の送信部が、(UB,B1,yB)を上記第1ユーザ装置と上記第3ユーザ装置に送信する送信ステップと、
    上記第3ユーザ装置のアドホック秘密鍵設定部が、アドホック秘密鍵c1∈Zpをランダムに選択するアドホック秘密鍵設定ステップと、
    上記第3ユーザ装置のアドホック公開鍵設定部が、アドホック公開鍵C1=gc1を計算するアドホック公開鍵設定ステップと、
    上記第3ユーザ装置の非対話ゼロ知識証明情報生成部が、アルゴリズムPを用いて命題(C1=gc1)と証拠c1に対して証明yCを計算する非対話ゼロ知識証明情報生成ステップと、
    上記第3ユーザ装置の送信部が、(UC,C1,yC)を上記第1ユーザ装置と上記第2ユーザ装置に送信する送信ステップと、
    上記第1ユーザ装置の非対話ゼロ知識証明検証部が、アルゴリズムVを用いて証明yBと証明yCを検証する非対話ゼロ知識証明検証ステップと、
    上記第1ユーザ装置の共有鍵生成部が、上記検証に成立した場合に、式(c7)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
    Figure 2014138213

    を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(A1,yA),UB,(B1,yB),UC,(C1,yC))を設定して、上記共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する共有鍵生成ステップと、
    上記第2ユーザ装置の非対話ゼロ知識証明検証部が、アルゴリズムVを用いて証明yAと証明yCを検証する非対話ゼロ知識証明検証ステップと、
    上記第2ユーザ装置の共有鍵生成部が、上記検証に成立した場合に、式(c8)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
    Figure 2014138213

    を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(A1,yA),UB,(B1,yB),UC,(C1,yC))を設定して、上記共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する共有鍵生成ステップと、
    上記第3ユーザ装置の非対話ゼロ知識証明検証部が、アルゴリズムVを用いて証明yAと証明yBを検証する非対話ゼロ知識証明検証ステップと、
    上記第3ユーザ装置の共有鍵生成部が、上記検証に成立した場合に、式(c9)の情報σ1,σ2,σ3,σ4,σ5,σ6,σ7,σ8、ただし、
    Figure 2014138213

    を計算し、さらに、σ′1←Ext(σ1),σ′2←Ext(σ2),σ′3←Ext(σ3),σ′4←Ext(σ4),σ′5←Ext(σ5),σ′6←Ext(σ6),σ′7←Ext(σ7),σ′8←Ext(σ8)を計算し、識別子sid=(UA,(A1,yA),UB,(B1,yB),UC,(C1,yC))を設定して、上記共有鍵SK=Fσ′1(sid)(+)Fσ′2(sid)(+)Fσ′3(sid)(+)Fσ′4(sid)(+)Fσ′5(sid)(+)Fσ′6(sid)(+)Fσ′7(sid)(+)Fσ′8(sid)を生成する共有鍵生成ステップと
    を有する三者間鍵共有方法。
  5. 請求項1または請求項2に記載の三者間鍵共有システムにおいて用いられる上記ユーザ装置。
  6. 請求項5に記載のユーザ装置としてコンピュータを機能させるプログラム。
JP2013004702A 2013-01-15 2013-01-15 三者間鍵共有システム、三者間鍵共有方法、ユーザ装置、プログラム Active JP5806689B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013004702A JP5806689B2 (ja) 2013-01-15 2013-01-15 三者間鍵共有システム、三者間鍵共有方法、ユーザ装置、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013004702A JP5806689B2 (ja) 2013-01-15 2013-01-15 三者間鍵共有システム、三者間鍵共有方法、ユーザ装置、プログラム

Publications (2)

Publication Number Publication Date
JP2014138213A true JP2014138213A (ja) 2014-07-28
JP5806689B2 JP5806689B2 (ja) 2015-11-10

Family

ID=51415524

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013004702A Active JP5806689B2 (ja) 2013-01-15 2013-01-15 三者間鍵共有システム、三者間鍵共有方法、ユーザ装置、プログラム

Country Status (1)

Country Link
JP (1) JP5806689B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017194521A (ja) * 2016-04-19 2017-10-26 日本電信電話株式会社 鍵交換方法、鍵交換システム
KR102284877B1 (ko) * 2020-12-14 2021-07-30 세종대학교산학협력단 효율적인 교집합 연산을 위한 함수 암호 기술

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017194521A (ja) * 2016-04-19 2017-10-26 日本電信電話株式会社 鍵交換方法、鍵交換システム
KR102284877B1 (ko) * 2020-12-14 2021-07-30 세종대학교산학협력단 효율적인 교집합 연산을 위한 함수 암호 기술

Also Published As

Publication number Publication date
JP5806689B2 (ja) 2015-11-10

Similar Documents

Publication Publication Date Title
Wang et al. Panda: Public auditing for shared data with efficient user revocation in the cloud
Wang et al. Identity‐based remote data possession checking in public clouds
JP5422053B2 (ja) 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体
JP5562687B2 (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
Huang et al. Achieving accountable and efficient data sharing in industrial internet of things
EP2667538A1 (en) Encryption system, encryption processing method for encryption system, encryption device, encryption program, decryption device, decryption program, setup device, setup program, key generation device, key generation program, key assignment device and key assignment program
CN104038349A (zh) 一种基于kp-abe的有效可验证的公钥可搜索加密方法
US8681986B2 (en) Single-round password-based key exchange protocols
Carter et al. For your phone only: custom protocols for efficient secure function evaluation on mobile devices
JP6451938B2 (ja) 暗号文照合システム、方法、およびプログラム
CN113141247B (zh) 一种同态加密方法、装置、系统及可读存储介质
CN113162751B (zh) 具备加同态性的加密方法、系统及可读存储介质
Qin et al. Simultaneous authentication and secrecy in identity-based data upload to cloud
Huang et al. A more efficient public-key authenticated encryption scheme with keyword search
Dua et al. A study of applications based on elliptic curve cryptography
JP5730805B2 (ja) 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置
JP5806689B2 (ja) 三者間鍵共有システム、三者間鍵共有方法、ユーザ装置、プログラム
KR101533422B1 (ko) 브로드캐스트 암호화 방법 및 시스템
JP2012256008A (ja) 評価対象情報自己評価システム、評価対象情報自己評価方法、装置、プログラム
JP5679344B2 (ja) 署名鍵難読化システム、署名鍵難読化方法、難読化された署名鍵を用いた暗号化署名システム、難読化された署名鍵を用いた暗号化署名方法とプログラム
Vishwakarma et al. A secure three-party authentication protocol for wireless body area networks
Salvakkam et al. An improved lattice based certificateless data integrity verification techniques for cloud computing
JP2019125956A (ja) 鍵交換方法、鍵交換システム、鍵交換サーバ装置、通信装置、プログラム
Wang et al. More efficient CCA‐secure unidirectional proxy re‐encryption schemes without random oracles
Lin et al. Public-Key Cryptography–PKC 2019

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150820

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150904

R150 Certificate of patent or registration of utility model

Ref document number: 5806689

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150