JP5806689B2 - 三者間鍵共有システム、三者間鍵共有方法、ユーザ装置、プログラム - Google Patents
三者間鍵共有システム、三者間鍵共有方法、ユーザ装置、プログラム Download PDFInfo
- Publication number
- JP5806689B2 JP5806689B2 JP2013004702A JP2013004702A JP5806689B2 JP 5806689 B2 JP5806689 B2 JP 5806689B2 JP 2013004702 A JP2013004702 A JP 2013004702A JP 2013004702 A JP2013004702 A JP 2013004702A JP 5806689 B2 JP5806689 B2 JP 5806689B2
- 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.)
- Active
Links
Images
Description
セキュリティパラメータκを入力とし、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)を持つ。
を検証し[検証処理]、関係式(c1)の全てが成立した場合に、式(c2)の情報σ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)を生成する[共有鍵生成処理]。また、第2ユーザ装置では、tA=TCR(RA,R′A,UA,UB,UC)、tC=TCR(RC,R′C,UC,UA,UB)を計算して、関係式(c3)
を検証し[検証処理]、関係式(c3)の全てが成立した場合に、式(c4)の情報σ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)を生成する[共有鍵生成処理]。また、第3ユーザ装置では、tA=TCR(RA,R′A,UA,UB,UC)、tB=TCR(RB,R′B,UB,UC,UA)を計算して、関係式(c5)
を検証し[検証処理]、関係式(c5)の全てが成立した場合に、式(c6)の情報σ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)を生成する[共有鍵生成処理]。
を計算し、さらに、σ′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、ただし、
を計算し、さらに、σ′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、ただし、
を計算し、さらに、σ′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)を生成する[共有鍵生成処理]。
本発明では、以下のようにして、ランダムオラクルの代わりに擬似ランダム関数と強ランダム抽出器(または鍵導出関数)を用い、さらに、不正なアドホック公開鍵を検知できるメカニズムを加えることで、ランダムオラクルを仮定せずに安全な三者間鍵共有方式を実現する。
(参考文献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)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
(参考文献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は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である。
双線型性:
任意の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)森山大輔、西巻陵、岡本龍明共著、「公開鍵暗号の数理−シリーズ応用数理第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は公開されているものとする。
ステップS1
ユーザ装置UAのアドホック秘密鍵設定部103−Aは、ランダムにアドホック秘密鍵rA,r′A∈Zpを選び(ステップS1−1)、ユーザ装置UAのアドホック公開鍵設定部104−Aは、選択されたアドホック秘密鍵を用いて、アドホック公開鍵RA=grA、πAB=(XtA BYB)rA、πAC=(XtA CYC)rA、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)。
ユーザ装置UBのアドホック秘密鍵設定部103−Bは、ランダムにアドホック秘密鍵rB,r′B∈Zpを選び(ステップS2−1)、ユーザ装置UBのアドホック公開鍵設定部104−Bは、選択されたアドホック秘密鍵を用いて、アドホック公開鍵RB=grB、πBA=(XtB AYA)rB、πBC=(XtB CYC)rB、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)。
ユーザ装置UCのアドホック秘密鍵設定部103−Cは、ランダムにアドホック秘密鍵rC,r′C∈Zpを選び(ステップS3−1)、ユーザ装置UCのアドホック公開鍵設定部104−Cは、選択されたアドホック秘密鍵を用いて、アドホック公開鍵RC=grC、πCA=(XtC AYA)rC、πCB=(XtC BYB)rC、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)。
(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)。記号(+)は排他的論理和を表す。
(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)。記号(+)は排他的論理和を表す。
(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)。記号(+)は排他的論理和を表す。
実施形態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
ユーザ装置UAの固有秘密鍵設定部201−Aは、ランダムにa0∈Zpを選び、このa0を固有秘密鍵とする。また、ユーザ装置UAの固有公開鍵設定部202−Aは、選択された固有秘密鍵を用いて、A0=ga0を計算し、このA0を固有公開鍵とする。これらの固有秘密鍵a0と固有公開鍵A0はユーザ装置UAの図示しない記憶部に(安全に)記憶されており、さらに固有公開鍵A0は公開されているものとする。
ステップ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)。
ユーザ装置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)。
ユーザ装置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)。
(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)。記号(+)は排他的論理和を表す。
(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)。記号(+)は排他的論理和を表す。
(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)。記号(+)は排他的論理和を表す。
三者間鍵共有システムに含まれうるハードウェアエンティティ(ユーザ装置)は、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit)〔キャッシュメモリやレジスタなどを備えていてもよい〕、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
また、この点に関する文献として、参考文献Aを挙げることができる。
(参考文献A)H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.
Claims (6)
- 少なくとも三つのユーザ装置(以下、これらを第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 BYB)rA、πAC=(XtA CYC)rA、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 AYA)rB、πBC=(XtB CYC)rB、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 AYA)rC、πCB=(XtC BYB)rC、R′C=gr′C(ただし、tC=TCR(RC,R′C,UC,UA,UB)である)を計算するアドホック公開鍵設定部と、
少なくとも(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)
を検証する検証部と、
上記関係式(c1)の全てが成立した場合に、式(c2)の情報σ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)を生成する共有鍵生成部とを含み、
上記第2ユーザ装置は、さらに、
tA=TCR(RA,R′A,UA,UB,UC)、tC=TCR(RC,R′C,UC,UA,UB)を計算して、関係式(c3)
を検証する検証部と、
上記関係式(c3)の全てが成立した場合に、式(c4)の情報σ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)を生成する共有鍵生成部とを含み、
上記第3ユーザ装置は、さらに、
tA=TCR(RA,R′A,UA,UB,UC)、tB=TCR(RB,R′B,UB,UC,UA)を計算して、関係式(c5)
を検証する検証部と、
上記関係式(c5)の全てが成立した場合に、式(c6)の情報σ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)を生成する共有鍵生成部とを含む
三者間鍵共有システム。 - 少なくとも三つのユーザ装置(以下、これらを第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、ただし、
を計算し、さらに、σ′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、ただし、
を計算し、さらに、σ′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、ただし、
を計算し、さらに、σ′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)を生成する共有鍵生成部とを含む
三者間鍵共有システム。 - 三つのユーザ装置(以下、これらを第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 BYB)rA、πAC=(XtA CYC)rA、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 AYA)rB、πBC=(XtB CYC)rB、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 AYA)rC、πCB=(XtC BYB)rC、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)
を検証する検証ステップと、
上記第1ユーザ装置の共有鍵生成部が、上記関係式(c1)の全てが成立した場合に、式(c2)の情報σ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)を生成する共有鍵生成ステップと、
上記第2ユーザ装置の検証部が、tA=TCR(RA,R′A,UA,UB,UC)、tC=TCR(RC,R′C,UC,UA,UB)を計算して、関係式(c3)
を検証する検証ステップと、
上記第2ユーザ装置の共有鍵生成部が、上記関係式(c3)の全てが成立した場合に、式(c4)の情報σ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)を生成する共有鍵生成ステップと、
上記第3ユーザ装置の検証部が、tA=TCR(RA,R′A,UA,UB,UC)、tB=TCR(RB,R′B,UB,UC,UA)を計算して、関係式(c5)
を検証する検証ステップと、
上記第3ユーザ装置の共有鍵生成部が、上記関係式(c5)の全てが成立した場合に、式(c6)の情報σ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)を生成する共有鍵生成ステップと
を有する三者間鍵共有方法。 - 三つのユーザ装置(以下、これらを第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、ただし、
を計算し、さらに、σ′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、ただし、
を計算し、さらに、σ′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、ただし、
を計算し、さらに、σ′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)を生成する共有鍵生成ステップと
を有する三者間鍵共有方法。 - 請求項1または請求項2に記載の三者間鍵共有システムにおいて用いられる上記ユーザ装置。
- 請求項5に記載のユーザ装置としてコンピュータを機能させるプログラム。
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 JP2014138213A (ja) | 2014-07-28 |
JP5806689B2 true 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) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6497747B2 (ja) * | 2016-04-19 | 2019-04-10 | 日本電信電話株式会社 | 鍵交換方法、鍵交換システム |
KR102284877B1 (ko) * | 2020-12-14 | 2021-07-30 | 세종대학교산학협력단 | 효율적인 교집합 연산을 위한 함수 암호 기술 |
-
2013
- 2013-01-15 JP JP2013004702A patent/JP5806689B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014138213A (ja) | 2014-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Panda: Public auditing for shared data with efficient user revocation in the cloud | |
JP5562687B2 (ja) | 第1のユーザによって第2のユーザに送信される通信の安全化 | |
JP5422053B2 (ja) | 暗号システム、暗号通信方法、暗号化装置、鍵生成装置、復号装置、コンテンツサーバ装置、プログラム、記憶媒体 | |
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的有效可验证的公钥可搜索加密方法 | |
JP6451938B2 (ja) | 暗号文照合システム、方法、およびプログラム | |
JP6770075B2 (ja) | 暗号化メッセージ検索方法、メッセージ送受信システム、端末、プログラム | |
Carter et al. | For your phone only: custom protocols for efficient secure function evaluation on mobile devices | |
JP2016526851A (ja) | 暗号鍵を共有するためのシステム | |
CN113141247B (zh) | 一种同态加密方法、装置、系统及可读存储介质 | |
Clarke et al. | Cryptanalysis of the dragonfly key exchange protocol | |
JP2017511095A (ja) | 認証装置及び方法 | |
Gupta et al. | Session key based novel lightweight image encryption algorithm using a hybrid of Chebyshev chaotic map and crossover | |
Qin et al. | Simultaneous authentication and secrecy in identity-based data upload to cloud | |
JP2007114494A (ja) | 秘匿計算方法及び装置 | |
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 | |
JP5806689B2 (ja) | 三者間鍵共有システム、三者間鍵共有方法、ユーザ装置、プログラム | |
JP5730805B2 (ja) | 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置 | |
JP2018036418A (ja) | 暗号システム、暗号方法及び暗号プログラム | |
KR101533422B1 (ko) | 브로드캐스트 암호화 방법 및 시스템 | |
JP2012256008A (ja) | 評価対象情報自己評価システム、評価対象情報自己評価方法、装置、プログラム | |
JP5679344B2 (ja) | 署名鍵難読化システム、署名鍵難読化方法、難読化された署名鍵を用いた暗号化署名システム、難読化された署名鍵を用いた暗号化署名方法とプログラム | |
Vishwakarma et al. | A secure three-party authentication protocol for wireless body area networks |
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 |