JP5486468B2 - 鍵交換装置、鍵生成装置、鍵交換システム、鍵交換方法、プログラム - Google Patents
鍵交換装置、鍵生成装置、鍵交換システム、鍵交換方法、プログラム Download PDFInfo
- Publication number
- JP5486468B2 JP5486468B2 JP2010259053A JP2010259053A JP5486468B2 JP 5486468 B2 JP5486468 B2 JP 5486468B2 JP 2010259053 A JP2010259053 A JP 2010259053A JP 2010259053 A JP2010259053 A JP 2010259053A JP 5486468 B2 JP5486468 B2 JP 5486468B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- integer
- attribute
- key exchange
- max
- 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
γを根付き木とし、L(γ)をγの全ての葉ノードの集合とする。葉ノードでないノードに対してcuを子ノードの数とし、葉ノードについてはcu=1として扱う。つまり、葉ノードを1つだけ持つノードと葉ノードのcuが1である。
index(u)∈{1,…,cw}
を割り当てる。ただし、ノードwはノードuの親ノードとし、ノードuはノードwのindex(u)番目の子ノードとする。このとき、根付き木のそれぞれのノードuにはku−out−of−cuのしきい値ゲートが割り当てられる。
を属性の全体集合とする。それぞれの葉ノードに対して
att(u)∈U
を割り当てる。すなわち、根付き木のそれぞれの葉ノードuに1つの属性が割り当てられる。(ku,index(u),att(u)) を持つ根付き木γをアクセス木と呼ぶ。
att(u)⊂δ
が成り立つとき、uは満たされたという。葉ノードでないノードuについて、uの満たされた子ノードの数がku以上であるとき、uは満たされたという。根ノードurが満たされたとき、属性集合δ⊂Uがアクセス木γを満たすという。
pidはプロトコルIDであって、プロトコル仕様に対応した固有の識別子とする。セキュリティパラメータをκとする。pをκビット素数とし、GとGTをそれぞれ双線形ペアリング関数e:G×G→GTを効率的に計算可能なgとgTを生成元とする群とする。Hは任意長の整数をκビットの整数に変換するハッシュ関数、H’は任意長の整数を0以上p−1以下の整数に変換するハッシュ関数とする。0以上p−1以下の整数iと0以上p−1以下の整数のある要素Sについて、Δi,S(x)を
[鍵生成]
鍵生成手段900は、マスタ秘密鍵zを0以上p−1以下の整数からランダムに選定する。また、すべての属性i(ただし、i∈U)について、tiを0以上p−1以下の整数からランダムに選定する。さらに、鍵生成手段900は、群GTの元であるマスタ公開鍵Z=gT^zと{Ti=g^ti}(ただし、i∈U)を公開する。ここで、^はべき乗を示している。
鍵抽出手段800は、鍵交換装置700Aのアクセス木γAが入力されると、長期秘密鍵{Du}(ただし、u∈L(γA))をγAのそれぞれのノードについて多項式quを選ぶことによって次のように計算する。
鍵交換装置700Bのアクセス木γBに対する長期秘密鍵{Du}(u∈L(γB))も同様の手続きによって計算する。
以下では、鍵交換装置700Aを鍵交換処理でのイニシエータ、鍵交換装置700Bをレスポンダとする。鍵交換装置700Aはアクセス木γAに対応する長期秘密鍵{Du}(u∈L(γA))を持ち、鍵交換装置700Bはアクセス木γBに対応する長期秘密鍵{Du}(u∈L(γB))を持つ。このとき、鍵交換装置700Aは属性集合δAに対応する短期公開鍵(X,{Ti x})(ただし、i∈δA)を鍵交換装置700Bに送り、鍵交換装置700Bは属性集合δBに対応する短期公開鍵(Y,{Ti y})(ただし、i∈δB)を鍵交換装置700Aに送る。最後に、鍵交換装置700Aと鍵交換装置700Bは、属性集合δBがアクセス木γAを満たし、属性集合δAがアクセス木γBを満たしたとき、またはその限りにおいて、セッション鍵Kを共有できる。なお、属性集合δBがアクセス木γAを満たし、属性集合δAがアクセス木γBを満たすとは、
述語P:{0,1}L×{0,1}L→{0,1}
を用いて、それぞれP(γA,δB)=1,P(γB,δA)=1と表現する。なお、LはL(γ)に属する全葉ノードの数である。本発明の場合、Pは「属性集合がアクセス木を満たす」という命題を表す。
(課題1)アクセスポリシーを鍵交換時に指定できない。
(課題2)マスタ秘密鍵とマスタ公開鍵が属性の全体集合にパラメータライズされるため、鍵生成時に属性の全体集合をあらかじめ決めておかなければならない。したがって、あらかじめ決めた属性以外の任意の属性を扱うことができない。
1≦j≦NAについて、uj=H2(S’A,{TA},{SA},u〜 j)、
X=g^u1、
1≦i≦LAと1≦j≦NAについて、
Ui,j=g^(r(MA)i,juj)・H1(j,ρA(i))^(−u1)、
1≦i≦LAとNA+1≦j≦NMAXについて、
Ui,j=H1(j,ρA(i))^(−u1)
を計算する。第1の送信部は、(X,{U})、MA、ρAを鍵交換装置βに送信する。第1の受信部は、鍵交換装置βから、(Y,{V})、MB、ρBを受信する。第1の属性確認部は、属性集合SAがシェア情報生成行列MBと単射ラベリング関数ρBを満たすか、Yと{V}が群Gの要素かを確認する。第1の秘密情報取得部は、IA={k:ρB(k)∈SA}となる集合IAを求め、鍵交換装置βが生成した秘密情報v1に対する正当なシェア情報集合{(MB)i,jvj}について
σ3=Y^H2(S’A,{TA},{SA},u〜 1)
を計算し、セッション鍵Kを、
K=H3(σ1,σ2,σ3,(X,{U},MA,ρA),(Y,{V},MB,ρB))
のように求める。第1の中間情報消去部は、uj(1≦j≦NA)を消去する。
1≦j≦NBについて、vj=H2(S’B,{TB},{SB},v〜 j)と、
Y=g^v1と、
1≦i≦LBと1≦j≦NBについて、
Vi,j=g^(r(MB)i,jvj)・H1(j,ρB(i))^(−v1)と、
1≦i≦LBとNB+1≦j≦NMAXについて、
Vi,j=H1(j,ρB(i))^(−v1)と
を計算する。第2の送信部は、(Y,{V})、MB、ρBを鍵交換装置αに送信する。第2の受信部は、鍵交換装置αから、(X,{U})、MA、ρAを受信する。第2の属性確認部は、属性集合SBがシェア情報生成行列MAと単射ラベリング関数ρAを満たすか、Xと{U}が群Gの要素かを確認する。第2の秘密情報取得部は、IB={k:ρA(k)∈SB}となる集合IBを求め、鍵交換装置αが生成した秘密情報u1に対する正当なシェア情報集合{(MA)i,juj}について
σ3=X^v1
を計算し、セッション鍵Kを、
K=H3(σ1,σ2,σ3,(X,{U},MA,ρA),(Y,{V},MB,ρB))
のように求める。第2の中間情報消去部は、vj(1≦j≦NB)を消去する。
本発明の鍵交換システムについて説明する前に、本発明を理解する上で必要な理論について説明する。本発明では、アクセスポリシーを次のようなアクセス構造として表すものとする。
A⊆2^{P1,P2,…,PN}\{φ}
ただし、“^”はべき乗を示す記号、“φ”は空集合を示す記号、“\{φ}”は空集合を除くことを示す記号
に属する集合を許可集合、属さない集合を不許可集合とよぶ。本発明では、上記のアクセス構造に基づきアクセスコントロールを行うために次のように線形秘密分散法を用いる。
図2に本発明の鍵交換システムの構成例を示す。本発明の鍵交換システムは、ネットワーク1000を介して接続された鍵交換装置1001,…,100Q(ただし、Qは2以上の整数、qは1以上Q以下の整数、AとBは1以上Q以下の異なる整数)、鍵生成装置300で構成される。図3に本発明の鍵交換装置の機能構成例、図4に鍵生成装置の機能構成例を示す。鍵交換装置100qは、アクセス構造決定部110q、短期秘密鍵生成部120q、交換情報生成部130q、送信部140q、受信部145q、属性確認部150q、秘密情報取得部160q、セッション鍵計算部170q、中間情報消去部180q、記録部190qを備える。また、鍵生成装置300は、マスタ鍵生成部310、長期秘密鍵生成部320、記録部390を備える。以下の説明では、鍵交換装置100A(鍵交換装置αに相当)がイニシエータとして機能し、鍵交換装置100B(鍵交換装置βに相当)がレスポンダとして機能してセッション鍵を共有する場合について説明する。
図5に、マスタ秘密鍵とマスタ公開鍵と長期秘密鍵の生成の処理フローの例を示す。なお、長期秘密鍵生成の処理が従来技術の鍵抽出に相当する。鍵生成装置300のマスタ鍵生成部310は、0以上p−1以下の整数からランダムにrとzを選定する。そして、マスタ公開鍵を(g,g^r,gT^z)、マスタ秘密鍵をg^zとして記録部390に記録し、マスタ公開鍵(g,g^r,gT^z)を公開する(S310)。鍵交換装置100Aと鍵交換装置100Bは、それぞれマスタ公開鍵を(g,g^r,gT^z)を受信し、記録部190Aと記録部190Bに記録する。
図6にセッション鍵を共有する鍵交換の処理のフローの例を示す。この例は、鍵交換装置100A(鍵交換装置αに相当)がイニシエータとして機能し、鍵交換装置100B(鍵交換装置βに相当)がレスポンダとして機能する場合を示している。
1≦j≦NAについて、uj=H2(S’A,{TA},{SA},u〜 j)、
X=g^u1、
1≦i≦LAと1≦j≦NAについて、
Ui,j=g^(r(MA)i,juj)・H1(j,ρA(i))^(−u1)、
1≦i≦LAとNA+1≦j≦NMAXについて、
Ui,j=H1(j,ρA(i))^(−u1)
を計算する(130A)。送信部140Aは、(X,{U})、MA、ρAを鍵交換装置100Bに送信する(S140A)。中間情報消去部180Aは、uj(1≦j≦NA)を消去する(S180A)。
1≦j≦NBについて、vj=H2(S’B,{TB},{SB},v〜 j)、
Y=g^v1、
1≦i≦LBと1≦j≦NBについて、
Vi,j=g^(r(MB)i,jvj)・H1(j,ρB(i))^(−v1)、
1≦i≦LBとNB+1≦j≦NMAXについて、
Vi,j=H1(j,ρB(i))^(−v1)
を計算する(S130B)。送信部140Bは、(Y,{V})、MB、ρBを鍵交換装置100Aに送信する(S140B)。
σ3=X^v1
を計算し、セッション鍵Kを、
K=H3(σ1,σ2,σ3,(X,{U},MA,ρA),(Y,{V},MB,ρB))
のように求める(S170B)。中間情報消去部180Bは、vj(1≦j≦NB)を消去する(S180B)。
σ3=Y^H2(S’A,{TA},{SA},u〜 1)
を計算し、セッション鍵Kを、
K=H3(σ1,σ2,σ3,(X,{U},MA,ρA),(Y,{V},MB,ρB))
のように求める。
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
120q 短期秘密鍵生成部 130q 交換情報生成部
140q 送信部 145q 受信部
150q 属性確認部 160q 秘密情報取得部
170q セッション鍵計算部 180q 中間情報消去部
190q、390 記録部 300 鍵生成装置
310 マスタ鍵生成部 320 長期秘密鍵生成部
800 鍵抽出手段 900 鍵生成手段
1000 ネットワーク
Claims (8)
- セッション鍵を交換する鍵交換装置であって、
κは整数、pはκビットの素数、GとGTは位数pの群、gは群Gの生成元、gTは群GTの生成元、eはG×G→GTのように写像する双線形写像、H1は任意長の整数を群Gの元に変換するハッシュ関数、H2は任意長の整数を0以上p−1以下の整数に変換するハッシュ関数、H3は任意長の整数をκビットの整数に変換するハッシュ関数、Pnは属性を示す属性要素、属性集合SAは当該鍵交換装置の属性を示す属性要素Pnの組み合わせの集合、アクセス構造AAは当該鍵交換装置が鍵交換の対象となる装置に求める属性要素Pnの組み合わせの集合、単射ラベリング関数ρAは前記アクセス構造AAを示す関数、属性集合ρA(i)は前記アクセス構造AAに対応するi番目の集合、シェア情報生成行列MAはi行目が属性集合ρA(i)に対応するLA行NA列の行列、(MA)i,jはシェア情報生成行列MAのi行j列の要素、属性集合S B は鍵交換の対象となる装置の属性を示す属性要素P n の組み合わせの集合、アクセス構造ABは鍵交換の対象となる装置が当該鍵交換装置に求める属性要素Pnの組み合わせの集合、単射ラベリング関数ρBは前記アクセス構造ABを示す関数、属性集合ρB(i)は前記アクセス構造ABに対応するi番目の集合、シェア情報生成行列MBはi行目が属性集合ρB(i)に対応するLB行NB列の行列、(MB)i,jはシェア情報生成行列MBのi行j列の要素、LA、NA、LB、NBは整数、NMAXはNAとNBが取りうる最大の整数、nとjは1以上NMAX以下の整数、kAは属性集合SAの要素、k B は属性集合S B の要素、rとzは0以上p−1以下の整数、(g,g^r,gT^z)はマスタ公開鍵、g^zはマスタ秘密鍵、tA[1],…,tA[NMAX]は0以上p−1以下の整数、t B [1],…,t B [N MAX ]は0以上p−1以下の整数、S’A=g^z・g^(rtA[1])、S’ B =g^z・g^(rt B [1])、TA[j]=g^tA[j]、T B [j]=g^t B [j]、
、{TA}はTA[1],…,TA[NMAX]の集合、{T B }はT B [1],…,T B [N MAX ]の集合、{SA}はSA[1],…,SA[NMAX]の集合、{S B }はS B [1],…,S B [N MAX ]の集合、{U}はUi,jの集合、{V}はVi,jの集合、^はべき乗を示す記号であり、
1≦j≦N B についてv 〜 j を0以上p−1以下の整数、1≦j≦N B についてv j =H 2 (S’ B ,{T B },{S B },v 〜 j )、Y=g^v 1 、1≦i≦L B と1≦j≦N B についてV i,j =g^(r(M B ) i,j v j )・H 1 (j,ρ B (i))^(−v 1 )、1≦i≦L B とN B +1≦j≦N MAX についてV i,j =H 1 (j,ρ B (i))^(−v 1 )とし、
アクセス構造AAを決定し、当該アクセス構造AAに対応するシェア情報生成行列MAと単射ラベリング関数ρAを生成するアクセス構造決定部と、
1≦j≦NAについて、u〜 jを0以上p−1以下の整数からランダムに選定する短期秘密鍵生成部と、
1≦j≦NAについて、uj=H2(S’A,{TA},{SA},u〜 j)と、
X=g^u1と、
1≦i≦LAと1≦j≦NAについて、
Ui,j=g^(r(MA)i,juj)・H1(j,ρA(i))^(−u1)と、
1≦i≦LAとNA+1≦j≦NMAXについて、
Ui,j=H1(j,ρA(i))^(−u1)と
を計算する交換情報生成部と、
(X,{U})、MA、ρAを鍵交換する対象の装置に送信する送信部と、
鍵交換する対象の装置から、(Y,{V})、MB、ρBを受信する受信部と、
属性集合SAがシェア情報生成行列MBと単射ラベリング関数ρBを満たすか、Yと{V}が群Gの要素かを確認する属性確認部と、
IA={k:ρB(k)∈SA}となる集合IAを求め、鍵交換する対象の装置が生成した秘密情報v1に対する正当なシェア情報集合{(MB)i,jvj}について
が成り立つ0以上p−1以下の整数wA[k](ただし、kは集合IAの要素)を求める秘密情報取得部と、
σ1=(gT^z)^H2(S’A,{TA},{SA},u〜 1)
σ3=Y^H2(S’A,{TA},{SA},u〜 1)
を計算し、セッション鍵Kを、
K=H3(σ1,σ2,σ3,(X,{U},MA,ρA),(Y,{V},MB,ρB))
のように求めるセッション鍵計算部と、
uj(1≦j≦NA)を消去する中間情報消去部と、
を備える鍵交換装置。 - セッション鍵を交換する鍵交換装置であって、
κは整数、pはκビットの素数、GとGTは位数pの群、gは群Gの生成元、gTは群GTの生成元、eはG×G→GTのように写像する双線形写像、H1は任意長の整数を群Gの元に変換するハッシュ関数、H2は任意長の整数を0以上p−1以下の整数に変換するハッシュ関数、H3は任意長の整数をκビットの整数に変換するハッシュ関数、Pnは属性を示す属性要素、属性集合SBは当該鍵交換装置の属性を示す属性要素Pnの組み合わせの集合、アクセス構造ABは当該鍵交換装置が鍵交換の対象となる装置に求める属性要素Pnの組み合わせの集合、単射ラベリング関数ρBは前記アクセス構造ABを示す関数、属性集合ρB(i)は前記アクセス構造ABに対応するi番目の集合、シェア情報生成行列MBはi行目が属性集合ρB(i)に対応するLB行NB列の行列、(MB)i,jはシェア情報生成行列MBのi行j列の要素、属性集合S A は鍵交換の対象となる装置の属性を示す属性要素P n の組み合わせの集合、アクセス構造AAは鍵交換の対象となる装置が当該鍵交換装置に求める属性要素Pnの組み合わせの集合、単射ラベリング関数ρAは前記アクセス構造AAを示す関数、属性集合ρA(i)は前記アクセス構造AAに対応するi番目の集合、シェア情報生成行列MAはi行目が属性集合ρA(i)に対応するLA行NA列の行列、(MA)i,jはシェア情報生成行列MAのi行j列の要素、LA、NA、LB、NBは整数、NMAXはNAとNBが取りうる最大の整数、nとjは1以上NMAX以下の整数、kBは属性集合SBの要素、k A は属性集合S A の要素、rとzは0以上p−1以下の整数、(g,g^r,gT^z)はマスタ公開鍵、g^zはマスタ秘密鍵、tB[1],…,tB[NMAX]は0以上p−1以下の整数、t A [1],…,t A [N MAX ]は0以上p−1以下の整数、S’B=g^z・g^(rtB[1])、S’ A =g^z・g^(rt A [1])、TB[j]=g^tB[j]、T A [j]=g^t A [j]、
、{TB}はTB[1],…,TB[NMAX]の集合、{T A }はT A [1],…,T A [N MAX ]の集合、{SB}はSB[1],…,SB[NMAX]の集合、{S A }はS A [1],…,S A [N MAX ]の集合、{U}はUi,jの集合、{V}はVi,jの集合、^はべき乗を示す記号であり、
1≦j≦N A についてu 〜 j は0以上p−1以下の整数、1≦j≦N A についてu j =H 2 (S’ A ,{T A },{S A },u 〜 j )、X=g^u 1 、1≦i≦L A と1≦j≦N A についてU i,j =g^(r(M A ) i,j u j )・H 1 (j,ρ A (i))^(−u 1 )、1≦i≦L A とN A +1≦j≦N MAX についてU i,j =H 1 (j,ρ A (i))^(−u 1 )とし、
アクセス構造ABを決定し、当該アクセス構造ABに対応するシェア情報生成行列MBと単射ラベリング関数ρBを生成するアクセス構造決定部と、
1≦j≦NBについて、v〜 jを0以上p−1以下の整数からランダムに選定する短期秘密鍵生成部と、
1≦j≦NBについて、vj=H2(S’B,{TB},{SB},v〜 j)と、
Y=g^v1と、
1≦i≦LBと1≦j≦NBについて、
Vi,j=g^(r(MB)i,jvj)・H1(j,ρB(i))^(−v1)と、
1≦i≦LBとNB+1≦j≦NMAXについて、
Vi,j=H1(j,ρB(i))^(−v1)と
を計算する交換情報生成部と、
(Y,{V})、MB、ρBを鍵交換する対象の装置に送信する送信部と、
鍵交換する対象の装置から、(X,{U})、MA、ρAを受信する受信部と、
属性集合SBがシェア情報生成行列MAと単射ラベリング関数ρAを満たすか、Xと{U}が群Gの要素かを確認する属性確認部と、
IB={k:ρA(k)∈SB}となる集合IBを求め、鍵交換する対象の装置が生成した秘密情報u1に対する正当なシェア情報集合{(MA)i,juj}について
が成り立つ0以上p−1以下の整数wB[k](ただし、kは集合IBの要素)を求める秘密情報取得部と、
σ2=(gT^z)^v1
σ3=X^v1
を計算し、セッション鍵Kを、
K=H3(σ1,σ2,σ3,(X,{U},MA,ρA),(Y,{V},MB,ρB))
のように求めるセッション鍵計算部と、
vj(1≦j≦NB)を消去する中間情報消去部と、
を備える鍵交換装置。 - 鍵交換装置用のマスタ秘密鍵、マスタ公開鍵、長期秘密鍵を生成する鍵生成装置であって、
κは整数、pはκビットの素数、GとGTは位数pの群、gは群Gの生成元、gTは群GTの生成元、eはG×G→GTのように写像する双線形写像、H1は任意長の整数を群Gの元に変換するハッシュ関数、Pnは属性を示す属性要素、属性集合SAは前記鍵交換装置の属性を示す属性要素Pnの組み合わせの集合、NMAXはあらかじめ定めた整数、jは1以上NMAX以下の整数、kAは属性集合SAの要素、{TA}はTA[1],…,TA[NMAX]の集合、{SA}はSA[1],…,SA[NMAX]の集合、^はべき乗を示す記号であり、
0以上p−1以下の整数からランダムにrとzを選定し、マスタ公開鍵を(g,g^r,gT^z)、マスタ秘密鍵をg^zとするマスタ鍵生成部と、
0以上p−1以下の整数からランダムにtA[1],…,tA[NMAX]を選び、S’A=g^z・g^(rtA[1])を計算し、1以上NMAX以下のjについてTA[j]=g^tA[j]を計算し、属性集合SAの要素kAについて
を計算し、長期秘密鍵として(S’A,{TA},{SA})を出力する長期秘密鍵生成部と、
を備える鍵生成装置。 - 少なくとも鍵交換装置αと鍵交換装置βとを備え、セッション鍵を交換する鍵交換システムであって、
κは整数、pはκビットの素数、GとGTは位数pの群、gは群Gの生成元、gTは群GTの生成元、eはG×G→GTのように写像する双線形写像、H1は任意長の整数を群Gの元に変換するハッシュ関数、H2は任意長の整数を0以上p−1以下の整数に変換するハッシュ関数、H3は任意長の整数をκビットの整数に変換するハッシュ関数、Pnは属性を示す属性要素、属性集合SAは鍵交換装置αの属性を示す属性要素Pnの組み合わせの集合、アクセス構造AAは鍵交換装置αが鍵交換装置βに求める属性要素Pnの組み合わせの集合、単射ラベリング関数ρAは前記アクセス構造AAを示す関数、属性集合ρA(i)は前記アクセス構造AAに対応するi番目の集合、シェア情報生成行列MAはi行目が属性集合ρA(i)に対応するLA行NA列の行列、(MA)i,jはシェア情報生成行列MAのi行j列の要素、属性集合SBは鍵交換装置βの属性を示す属性要素Pnの組み合わせの集合、アクセス構造ABは鍵交換装置βが鍵交換装置αに求める属性要素Pnの組み合わせの集合、単射ラベリング関数ρBは前記アクセス構造ABを示す関数、属性集合ρB(i)は前記アクセス構造ABに対応するi番目の集合、シェア情報生成行列MBはi行目が属性集合ρB(i)に対応するLB行NB列の行列、(MB)i,jはシェア情報生成行列MBのi行j列の要素、LA、NA、LB、NBは整数、NMAXはNAとNBが取りうる最大の整数、nとjは1以上NMAX以下の整数、kAは属性集合SAの要素、kBは属性集合SBの要素、rとzは0以上p−1以下の整数、(g,g^r,gT^z)はマスタ公開鍵、g^zはマスタ秘密鍵、tA[1],…,tA[NMAX]は0以上p−1以下の整数、tB[1],…,tB[NMAX]は0以上p−1以下の整数、S’A=g^z・g^(rtA[1])、S’B=g^z・g^(rtB[1])、TA[j]=g^tA[j]、TB[j]=g^tB[j]、
、{TA}はTA[1],…,TA[NMAX]の集合、{TB}はTB[1],…,TB[NMAX]の集合、{SA}はSA[1],…,SA[NMAX]の集合、{SB}はSB[1],…,SB[NMAX]の集合、{U}はUi,jの集合、{V}はVi,jの集合、^はべき乗を示す記号であり、
前記鍵交換装置αは、
アクセス構造AAを決定し、当該アクセス構造AAに対応するシェア情報生成行列MAと単射ラベリング関数ρAを生成する第1のアクセス構造決定部と、
1≦j≦NAについて、u〜 jを0以上p−1以下の整数からランダムに選定する第1の短期秘密鍵生成部と、
1≦j≦NAについて、uj=H2(S’A,{TA},{SA},u〜 j)と、
X=g^u1と、
1≦i≦LAと1≦j≦NAについて、
Ui,j=g^(r(MA)i,juj)・H1(j,ρA(i))^(−u1)と、
1≦i≦LAとNA+1≦j≦NMAXについて、
Ui,j=H1(j,ρA(i))^(−u1)と
を計算する第1の交換情報生成部と、
(X,{U})、MA、ρAを鍵交換装置βに送信する第1の送信部と、
鍵交換装置βから、(Y,{V})、MB、ρBを受信する第1の受信部と、
属性集合SAがシェア情報生成行列MBと単射ラベリング関数ρBを満たすか、Yと{V}が群Gの要素かを確認する第1の属性確認部と、
IA={k:ρB(k)∈SA}となる集合IAを求め、鍵交換装置βが生成した秘密情報v1に対する正当なシェア情報集合{(MB)i,jvj}について
が成り立つ0以上p−1以下の整数wA[k](ただし、kは集合IAの要素)を求める第1の秘密情報取得部と、
σ1=(gT^z)^H2(S’A,{TA},{SA},u〜 1)
σ3=Y^H2(S’A,{TA},{SA},u〜 1)
を計算し、セッション鍵Kを、
K=H3(σ1,σ2,σ3,(X,{U},MA,ρA),(Y,{V},MB,ρB))
のように求める第1のセッション鍵計算部と、
uj(1≦j≦NA)を消去する第1の中間情報消去部と、
を備え、
前記鍵交換装置βは、
アクセス構造ABを決定し、当該アクセス構造ABに対応するシェア情報生成行列MBと単射ラベリング関数ρBを生成する第2のアクセス構造決定部と、
1≦j≦NBについて、v〜 jを0以上p−1以下の整数からランダムに選定する第2の短期秘密鍵生成部と、
1≦j≦NBについて、vj=H2(S’B,{TB},{SB},v〜 j)と、
Y=g^v1と、
1≦i≦LBと1≦j≦NBについて、
Vi,j=g^(r(MB)i,jvj)・H1(j,ρB(i))^(−v1)と、
1≦i≦LBとNB+1≦j≦NMAXについて、
Vi,j=H1(j,ρB(i))^(−v1)と
を計算する第2の交換情報生成部と、
(Y,{V})、MB、ρBを鍵交換装置αに送信する第2の送信部と、
鍵交換装置αから、(X,{U})、MA、ρAを受信する第2の受信部と、
属性集合SBがシェア情報生成行列MAと単射ラベリング関数ρAを満たすか、Xと{U}が群Gの要素かを確認する第2の属性確認部と、
IB={k:ρA(k)∈SB}となる集合IBを求め、鍵交換装置αが生成した秘密情報u1に対する正当なシェア情報集合{(MA)i,juj}について
が成り立つ0以上p−1以下の整数wB[k](ただし、kは集合IBの要素)を求める第2の秘密情報取得部と、
σ2=(gT^z)^v1
σ3=X^v1
を計算し、セッション鍵Kを、
K=H3(σ1,σ2,σ3,(X,{U},MA,ρA),(Y,{V},MB,ρB))
のように求める第2のセッション鍵計算部と、
vj(1≦j≦NB)を消去する第2の中間情報消去部と、
を備える
鍵交換システム。 - 請求項4記載の鍵交換システムであって、
さらに、マスタ鍵生成部と長期秘密鍵生成部とを有する鍵生成装置を備え、
前記rとzは、前記マスタ鍵生成部がランダムに選定したものであり、マスタ公開鍵(g,g^r,gT^z)とマスタ秘密鍵g^zは前記マスタ鍵生成部が生成したものであり、
前記tA[1],…,tA[NMAX]とtB[1],…,tB[NMAX]は前記長期秘密鍵生成部がランダムに選定したものであり、S’AとS’B、TA[j]とTB[j]、SA[kA]とSB[kB]は前記長期秘密鍵生成部が計算したものであり、
前記鍵交換装置αは、前記鍵生成装置から長期秘密鍵としてS’A,{TA},{SA}を取得し、前記鍵交換装置βは、前記鍵生成装置から長期秘密鍵としてS’B,{TB},{SB}を取得する
ことを特徴とする鍵交換システム。 - 少なくとも鍵交換装置αと鍵交換装置βとを備える鍵交換システムを用いて、セッション鍵を交換する鍵交換方法であって、
κは整数、pはκビットの素数、GとGTは位数pの群、gは群Gの生成元、gTは群GTの生成元、eはG×G→GTのように写像する双線形写像、H1は任意長の整数を群Gの元に変換するハッシュ関数、H2は任意長の整数を0以上p−1以下の整数に変換するハッシュ関数、H3は任意長の整数をκビットの整数に変換するハッシュ関数、Pnは属性を示す属性要素、属性集合SAは鍵交換装置αの属性を示す属性要素Pnの組み合わせの集合、アクセス構造AAは鍵交換装置αが鍵交換装置βに求める属性要素Pnの組み合わせの集合、単射ラベリング関数ρAは前記アクセス構造AAを示す関数、属性集合ρA(i)は前記アクセス構造AAに対応するi番目の集合、シェア情報生成行列MAはi行目が属性集合ρA(i)に対応するLA行NA列の行列、(MA)i,jはシェア情報生成行列MAのi行j列の要素、属性集合SBは鍵交換装置βの属性を示す属性要素Pnの組み合わせの集合、アクセス構造ABは鍵交換装置βが鍵交換装置αに求める属性要素Pnの組み合わせの集合、単射ラベリング関数ρBは前記アクセス構造ABを示す関数、属性集合ρB(i)は前記アクセス構造ABに対応するi番目の集合、シェア情報生成行列MBはi行目が属性集合ρB(i)に対応するLB行NB列の行列、(MB)i,jはシェア情報生成行列MBのi行j列の要素、LA、NA、LB、NBは整数、NMAXはNAとNBが取りうる最大の整数、nとjは1以上NMAX以下の整数、kAは属性集合SAの要素、kBは属性集合SBの要素、rとzは0以上p−1以下の整数、(g,g^r,gT^z)はマスタ公開鍵、g^zはマスタ秘密鍵、tA[1],…,tA[NMAX]は0以上p−1以下の整数、tB[1],…,tB[NMAX]は0以上p−1以下の整数、S’A=g^z・g^(rtA[1])、S’B=g^z・g^(rtB[1])、TA[j]=g^tA[j]、TB[j]=g^tB[j]、
、{TA}はTA[1],…,TA[NMAX]の集合、{TB}はTB[1],…,TB[NMAX]の集合、{SA}はSA[1],…,SA[NMAX]の集合、{SB}はSB[1],…,SB[NMAX]の集合、{U}はUi,jの集合、{V}はVi,jの集合、^はべき乗を示す記号であり、
前記鍵交換装置αが、アクセス構造AAを決定し、当該アクセス構造AAに対応するシェア情報生成行列MAと単射ラベリング関数ρAを生成する第1のアクセス構造決定ステップと、
前記鍵交換装置αが、1≦j≦NAについて、u〜 jを0以上p−1以下の整数からランダムに選定する第1の短期秘密鍵生成ステップと、
前記鍵交換装置αが、
1≦j≦NAについて、uj=H2(S’A,{TA},{SA},u〜 j)と、
X=g^u1と、
1≦i≦LAと1≦j≦NAについて、
Ui,j=g^(r(MA)i,juj)・H1(j,ρA(i))^(−u1)と、
1≦i≦LAとNA+1≦j≦NMAXについて、
Ui,j=H1(j,ρA(i))^(−u1)と
を計算する第1の交換情報生成ステップと、
前記鍵交換装置αが、(X,{U})、MA、ρAを鍵交換装置βに送信する第1の送信ステップと、
前記鍵交換装置αが、uj(1≦j≦NA)を消去する第1の中間情報消去ステップと、
前記鍵交換装置βが、鍵交換装置αから、(X,{U})、MA、ρAを受信する第2の受信ステップと、
前記鍵交換装置βが、属性集合SBがシェア情報生成行列MAと単射ラベリング関数ρAを満たすか、Xと{U}が群Gの要素かを確認する第2の属性確認ステップと、
前記鍵交換装置βが、アクセス構造ABを決定し、当該アクセス構造ABに対応するシェア情報生成行列MBと単射ラベリング関数ρBを生成する第2のアクセス構造決定ステップと、
前記鍵交換装置βが、1≦j≦NBについて、v〜 jを0以上p−1以下の整数からランダムに選定する第2の短期秘密鍵生成ステップと、
前記鍵交換装置βが、
1≦j≦NBについて、vj=H2(S’B,{TB},{SB},v〜 j)と、
Y=g^v1と、
1≦i≦LBと1≦j≦NBについて、
Vi,j=g^(r(MB)i,jvj)・H1(j,ρB(i))^(−v1)と、
1≦i≦LBとNB+1≦j≦NMAXについて、
Vi,j=H1(j,ρB(i))^(−v1)と
を計算する第2の交換情報生成ステップと、
前記鍵交換装置βが、(Y,{V})、MB、ρBを鍵交換装置αに送信する第2の送信ステップと、
前記鍵交換装置βが、IB={k:ρA(k)∈SB}となる集合IBを求め、鍵交換装置αが生成した秘密情報u1に対する正当なシェア情報集合{(MA)i,juj}について
が成り立つ0以上p−1以下の整数wB[k](ただし、kは集合IBの要素)を求める第2の秘密情報取得ステップと、
前記鍵交換装置βが、
σ2=(gT^z)^v1
σ3=X^v1
を計算し、セッション鍵Kを、
K=H3(σ1,σ2,σ3,(X,{U},MA,ρA),(Y,{V},MB,ρB))
のように求める第2のセッション鍵計算ステップと、
前記鍵交換装置βが、vj(1≦j≦NB)を消去する第2の中間情報消去ステップと、
前記鍵交換装置αが、鍵交換装置βから、(Y,{V})、MB、ρBを受信する第1の受信ステップと、
前記鍵交換装置αが、属性集合SAがシェア情報生成行列MBと単射ラベリング関数ρBを満たすか、Yと{V}が群Gの要素かを確認する第1の属性確認ステップと、
前記鍵交換装置αが、IA={k:ρB(k)∈SA}となる集合IAを求め、鍵交換装置βが生成した秘密情報v1に対する正当なシェア情報集合{(MB)i,jvj}について
が成り立つ0以上p−1以下の整数wA[k](ただし、kは集合IAの要素)を求める第1の秘密情報取得ステップと、
前記鍵交換装置αが、
σ1=(gT^z)^H2(S’A,{TA},{SA},u〜 1)
σ3=Y^H2(S’A,{TA},{SA},u〜 1)
を計算し、セッション鍵Kを、
K=H3(σ1,σ2,σ3,(X,{U},MA,ρA),(Y,{V},MB,ρB))
のように求める第1のセッション鍵計算ステップと、
を有する鍵交換方法。 - 請求項6記載の鍵交換方法であって、
前記鍵交換システムは、さらにマスタ鍵生成手段と長期秘密鍵生成手段も備え、
前記マスタ鍵生成手段が、前記rとzをランダムに選定し、マスタ公開鍵(g,g^r,gT^z)とマスタ秘密鍵g^zを生成する前記マスタ鍵生成ステップと、
前記長期秘密鍵生成手段が、前記tA[1],…,tA[NMAX]とtB[1],…,tB[NMAX]をランダムに選定し、S’AとS’B、TA[j]とTB[j]、SA[kA]とSB[kB]を計算する長期秘密鍵生成ステップと、
前記鍵交換装置αが、長期秘密鍵としてS’A,{TA},{SA}を取得する第1の長期秘密鍵取得ステップと、
前記鍵交換装置βが、長期秘密鍵としてS’B,{TB},{SB}を取得する第2の長期秘密鍵取得ステップ
も有することを特徴とする鍵交換方法。 - 請求項1または2記載の鍵交換装置、もしくは請求項3記載の鍵生成装置としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010259053A JP5486468B2 (ja) | 2010-11-19 | 2010-11-19 | 鍵交換装置、鍵生成装置、鍵交換システム、鍵交換方法、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010259053A JP5486468B2 (ja) | 2010-11-19 | 2010-11-19 | 鍵交換装置、鍵生成装置、鍵交換システム、鍵交換方法、プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012109917A JP2012109917A (ja) | 2012-06-07 |
JP5486468B2 true JP5486468B2 (ja) | 2014-05-07 |
Family
ID=46495028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010259053A Active JP5486468B2 (ja) | 2010-11-19 | 2010-11-19 | 鍵交換装置、鍵生成装置、鍵交換システム、鍵交換方法、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5486468B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5650630B2 (ja) * | 2011-11-22 | 2015-01-07 | 日本電信電話株式会社 | 鍵交換システム、鍵交換装置、鍵交換方法、鍵交換プログラム |
-
2010
- 2010-11-19 JP JP2010259053A patent/JP5486468B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2012109917A (ja) | 2012-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110224986A (zh) | 一种基于隐藏策略cp-abe的高效可搜索访问控制方法 | |
JP5506704B2 (ja) | 復号システム、鍵装置、復号方法、及びプログラム | |
KR101082917B1 (ko) | 원격 컴퓨팅 환경에서 사용자 데이터의 무결성 검증 방법 및 그 시스템 | |
CN111639367B (zh) | 基于树模型的两方联合分类方法、装置、设备及介质 | |
WO2018047698A1 (ja) | 暗号化メッセージ検索方法、メッセージ送受信システム、サーバ、端末、プログラム | |
CN116324778A (zh) | 可更新私有集合交集 | |
Zou et al. | Highly secure privacy-preserving outsourced k-means clustering under multiple keys in cloud computing | |
Xu et al. | PPSEB: a postquantum public-key searchable encryption scheme on blockchain for E-healthcare scenarios | |
JP5650630B2 (ja) | 鍵交換システム、鍵交換装置、鍵交換方法、鍵交換プログラム | |
CN106888213B (zh) | 云密文访问控制方法及系统 | |
JP2013156675A (ja) | 暗号文検索システム、検索情報生成装置、検索実行装置、検索要求装置、暗号文検索方法、検索情報生成方法、検索実行方法、検索要求方法、およびプログラム | |
CN112202555B (zh) | 基于信息的属性生成随机数的信息处理方法、装置及设备 | |
CN107360252B (zh) | 一种异构云域授权的数据安全访问方法 | |
CN105790929A (zh) | 一种基于规则冗余消除的加密环境中高效访问控制方法 | |
JP5486468B2 (ja) | 鍵交換装置、鍵生成装置、鍵交換システム、鍵交換方法、プログラム | |
Huang et al. | Cloud storage model based on the BGV Fully Homomorphic encryption in the blockchain environment | |
JP6840685B2 (ja) | データ共有方法、データ共有システム、通信端末、データ共有サーバ、プログラム | |
JP5651611B2 (ja) | 鍵交換装置、鍵交換システム、鍵交換方法、プログラム | |
JP2015135380A (ja) | シェア変換システム、シェア変換方法、プログラム | |
JP6320943B2 (ja) | 鍵共有装置、鍵共有システム、鍵共有方法、プログラム | |
JP5427156B2 (ja) | 鍵交換装置、鍵交換システム、鍵交換方法、鍵交換プログラム | |
JP2015070498A (ja) | 鍵交換システム、鍵交換装置、その方法、及びプログラム | |
CN114330758B (zh) | 基于联邦学习的数据处理方法、装置及存储介质 | |
CN116760634B (zh) | 一种数据隐私保护方法、系统、设备及存储介质 | |
Chuang et al. | An Efficient GDPR-Compliant Data Management for IoHT Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121225 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131126 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140121 |
|
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: 20140212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140221 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5486468 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |