JP5486468B2 - 鍵交換装置、鍵生成装置、鍵交換システム、鍵交換方法、プログラム - Google Patents

鍵交換装置、鍵生成装置、鍵交換システム、鍵交換方法、プログラム Download PDF

Info

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
Application number
JP2010259053A
Other languages
English (en)
Other versions
JP2012109917A (ja
Inventor
一樹 米山
幸太郎 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2010259053A priority Critical patent/JP5486468B2/ja
Publication of JP2012109917A publication Critical patent/JP2012109917A/ja
Application granted granted Critical
Publication of JP5486468B2 publication Critical patent/JP5486468B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は情報セキュリティに関するものであり、特に、二者間でセッション鍵を共有するための鍵交換装置、鍵生成装置、鍵交換システム、鍵交換方法、プログラムに関する。
非特許文献1の述語認証鍵交換方式が従来技術として知られている。図1は、非特許文献1の鍵交換システムの構成例を示す図である。このシステムは、ネットワーク1000で接続された鍵生成手段900、鍵抽出手段800、鍵交換装置700,…,700(ただし、Qは2以上の整数、AとBは1以上Q以下の異なる整数)で構成されている。以下に、このシステムを用いた鍵交換について説明する。
[準備]
γを根付き木とし、L(γ)をγの全ての葉ノードの集合とする。葉ノードでないノードに対してcを子ノードの数とし、葉ノードについてはc=1として扱う。つまり、葉ノードを1つだけ持つノードと葉ノードのcが1である。
それぞれのノードuにはしきい値k(1≦k≦c)が割り当てられる。ここで、葉ノードを1つだけ持つノードと葉ノードについてはk=c=1となる。それぞれのノードuに対して、
index(u)∈{1,…,c
を割り当てる。ただし、ノードwはノードuの親ノードとし、ノードuはノードwのindex(u)番目の子ノードとする。このとき、根付き木のそれぞれのノードuにはk−out−of−cのしきい値ゲートが割り当てられる。
U={1,2,…,n}
を属性の全体集合とする。それぞれの葉ノードに対して
att(u)∈U
を割り当てる。すなわち、根付き木のそれぞれの葉ノードuに1つの属性が割り当てられる。(k,index(u),att(u)) を持つ根付き木γをアクセス木と呼ぶ。
属性集合δ⊂Uがアクセス木γを満たすことを次のように定義する。葉ノードuについて、
att(u)⊂δ
が成り立つとき、uは満たされたという。葉ノードでないノードuについて、uの満たされた子ノードの数がk以上であるとき、uは満たされたという。根ノードuが満たされたとき、属性集合δ⊂Uがアクセス木γを満たすという。
[公開パラメータ]
pidはプロトコルIDであって、プロトコル仕様に対応した固有の識別子とする。セキュリティパラメータをκとする。pをκビット素数とし、GとGをそれぞれ双線形ペアリング関数e:G×G→Gを効率的に計算可能なgとgを生成元とする群とする。Hは任意長の整数をκビットの整数に変換するハッシュ関数、H’は任意長の整数を0以上p−1以下の整数に変換するハッシュ関数とする。0以上p−1以下の整数iと0以上p−1以下の整数のある要素Sについて、Δi,S(x)を
Figure 0005486468
となるようなラグランジュ係数とする。
[鍵生成]
鍵生成手段900は、マスタ秘密鍵zを0以上p−1以下の整数からランダムに選定する。また、すべての属性i(ただし、i∈U)について、tを0以上p−1以下の整数からランダムに選定する。さらに、鍵生成手段900は、群Gの元であるマスタ公開鍵Z=g^zと{T=g^t}(ただし、i∈U)を公開する。ここで、^はべき乗を示している。
[鍵抽出]
鍵抽出手段800は、鍵交換装置700のアクセス木γが入力されると、長期秘密鍵{D}(ただし、u∈L(γ))をγのそれぞれのノードについて多項式qを選ぶことによって次のように計算する。
まず、鍵抽出手段800は、多項式qの次数をd=k−1に設定する。根ノードuについて、qu_r(0)=zとしqu_rのその他のdu_r点を0以上p−1以下の整数からランダムに選ぶ。よって、qu_rが一意に定まるため、残りcu_r−du_r点も一意に決まる。なお、qu_r、cu_r、du_rの下付きの添え字である“u_r”は、“u”を意味している。その他のノードuについて、q(0)=qu’(index(u))とする。ただし、u’はuの親ノードである。qのその他のd点を0以上p−1以下の整数からランダムに選ぶ。このように全てのノードの多項式を再帰的に決定していく。次に、それぞれの葉ノードuの秘密の値を
Figure 0005486468
として計算する。ただし、i=att(u)である。最後に、鍵抽出手段800は、u∈L(γ)であるすべてのuについての秘密の値Dの集合(以下では、{D}(u∈L(γ)と表記する)を長期秘密鍵として出力する。
鍵交換装置700のアクセス木γに対する長期秘密鍵{D}(u∈L(γ))も同様の手続きによって計算する。
[鍵交換]
以下では、鍵交換装置700を鍵交換処理でのイニシエータ、鍵交換装置700をレスポンダとする。鍵交換装置700はアクセス木γに対応する長期秘密鍵{D}(u∈L(γ))を持ち、鍵交換装置700はアクセス木γに対応する長期秘密鍵{D}(u∈L(γ))を持つ。このとき、鍵交換装置700は属性集合δに対応する短期公開鍵(X,{T })(ただし、i∈δ)を鍵交換装置700に送り、鍵交換装置700は属性集合δに対応する短期公開鍵(Y,{T })(ただし、i∈δ)を鍵交換装置700に送る。最後に、鍵交換装置700と鍵交換装置700は、属性集合δがアクセス木γを満たし、属性集合δがアクセス木γを満たしたとき、またはその限りにおいて、セッション鍵Kを共有できる。なお、属性集合δがアクセス木γを満たし、属性集合δがアクセス木γを満たすとは、
述語P:{0,1}×{0,1}→{0,1}
を用いて、それぞれP(γ,δ)=1,P(γ,δ)=1と表現する。なお、LはL(γ)に属する全葉ノードの数である。本発明の場合、Pは「属性集合がアクセス木を満たす」という命題を表す。
つまり、鍵交換装置700は、属性集合δが鍵交換装置700のアクセス木γを満たすならば認証成功となることを期待して属性集合δを設定する。また、鍵交換装置700は、属性集合δが鍵交換装置700のアクセス木γを満たすならば認証成功となることを期待して属性集合δを設定する。なお、鍵交換の具体的な処理については、非特許文献1を参照されたい。
A.Fujioka, K.Suzuki, K.Yoneyama,"Predicate-based Authenticated Key Exchange Resilient to Ephemeral Key Leakage", In: WISA 2010.
しかしながら、従来技術は以下のような2つの課題がある。
(課題1)アクセスポリシーを鍵交換時に指定できない。
(課題2)マスタ秘密鍵とマスタ公開鍵が属性の全体集合にパラメータライズされるため、鍵生成時に属性の全体集合をあらかじめ決めておかなければならない。したがって、あらかじめ決めた属性以外の任意の属性を扱うことができない。
本発明はこのような課題に鑑みてなされたものであり、鍵交換時にアクセスポリシーを指定でき、マスタ秘密鍵とマスタ公開鍵を生成した後にも任意の属性を扱うことができる鍵交換システムを提供することを目的とする。
本発明の鍵交換システムは、少なくとも鍵交換装置αと鍵交換装置βとを備え、セッション鍵を交換する。ここで、κは整数、pはκビットの素数、GとGは位数pの群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形写像、Hは任意長の整数を群Gの元に変換するハッシュ関数、Hは任意長の整数を0以上p−1以下の整数に変換するハッシュ関数、Hは任意長の整数をκビットの整数に変換するハッシュ関数、Pは属性を示す属性要素、属性集合Sは鍵交換装置αの属性を示す属性要素Pの組み合わせの集合、アクセス構造Aは鍵交換装置αが鍵交換装置βに求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mi,jはシェア情報生成行列Mのi行j列の要素、属性集合Sは鍵交換装置βの属性を示す属性要素Pの組み合わせの集合、アクセス構造Aは鍵交換装置βが鍵交換装置αに求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mi,jはシェア情報生成行列Mのi行j列の要素、L、N、L、Nは整数、NMAXはNとNが取りうる最大の整数、nとjは1以上NMAX以下の整数、kは属性集合Sの要素、kは属性集合Sの要素、rとzは0以上p−1以下の整数、(g,g^r,g^z)はマスタ公開鍵、g^zはマスタ秘密鍵、t[1],…,t[NMAX]は0以上p−1以下の整数、t[1],…,t[NMAX]は0以上p−1以下の整数、S’=g^z・g^(rt[1])、S’=g^z・g^(rt[1])、T[j]=g^t]、T[j]=g^t]、
Figure 0005486468
、{T}はT[1],…,T[NMAX]の集合、{T}はT[1],…,T[NMAX]の集合、{S}はS[1],…,S[NMAX]の集合、{S}はS[1],…,S[NMAX]の集合、{U}はUi,jの集合、{V}はVi,jの集合、^はべき乗を示す記号とする。
鍵交換装置αは、第1のアクセス構造決定部、第1の短期秘密鍵生成部、第1の交換情報生成部、第1の送信部、第1の受信部、第1の属性確認部、第1の秘密情報取得部、第1のセッション鍵計算部、第1の中間情報消去部を備える。鍵交換装置βは、第2のアクセス構造決定部、第2の短期秘密鍵生成部、第2の交換情報生成部、第2の送信部、第2の受信部、第2の属性確認部、第2の秘密情報取得部、第2のセッション鍵計算部、第2の中間情報消去部を備える。
第1のアクセス構造決定部は、アクセス構造Aを決定し、当該アクセス構造Aに対応するシェア情報生成行列Mと単射ラベリング関数ρを生成する。第1の短期秘密鍵生成部は、1≦j≦Nについて、u を0以上p−1以下の整数からランダムに選定する。第1の交換情報生成部は、
1≦j≦Nについて、u=H(S’,{T},{S},u )、
X=g^u
1≦i≦Lと1≦j≦Nについて、
i,j=g^(r(Mi,j)・H(j,ρ(i))^(−u)、
1≦i≦LとN+1≦j≦NMAXについて、
i,j=H(j,ρ(i))^(−u
を計算する。第1の送信部は、(X,{U})、M、ρを鍵交換装置βに送信する。第1の受信部は、鍵交換装置βから、(Y,{V})、M、ρを受信する。第1の属性確認部は、属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすか、Yと{V}が群Gの要素かを確認する。第1の秘密情報取得部は、I={k:ρ(k)∈S}となる集合Iを求め、鍵交換装置βが生成した秘密情報vに対する正当なシェア情報集合{(Mi,j}について
Figure 0005486468

が成り立つ0以上p−1以下の整数w[k](ただし、kは集合Iの要素)を求める。第1のセッション鍵計算部は、
Figure 0005486468
σ=(g^z)^H(S’,{T},{S},u
σ=Y^H(S’,{T},{S},u
を計算し、セッション鍵Kを、
K=H(σ,σ,σ,(X,{U},M,ρ),(Y,{V},M,ρ))
のように求める。第1の中間情報消去部は、u(1≦j≦N)を消去する。
第2のアクセス構造決定部は、アクセス構造Aを決定し、当該アクセス構造Aに対応するシェア情報生成行列Mと単射ラベリング関数ρを生成する。第2の短期秘密鍵生成部は、1≦j≦Nについて、v を0以上p−1以下の整数からランダムに選定する。
第2の交換情報生成部は、
1≦j≦Nについて、v=H(S’,{T},{S},v )と、
Y=g^vと、
1≦i≦Lと1≦j≦Nについて、
i,j=g^(r(Mi,j)・H(j,ρ(i))^(−v)と、
1≦i≦LとN+1≦j≦NMAXについて、
i,j=H(j,ρ(i))^(−v)と
を計算する。第2の送信部は、(Y,{V})、M、ρを鍵交換装置αに送信する。第2の受信部は、鍵交換装置αから、(X,{U})、M、ρを受信する。第2の属性確認部は、属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすか、Xと{U}が群Gの要素かを確認する。第2の秘密情報取得部は、I={k:ρ(k)∈S}となる集合Iを求め、鍵交換装置αが生成した秘密情報uに対する正当なシェア情報集合{(Mi,j}について
Figure 0005486468
が成り立つ0以上p−1以下の整数w[k](ただし、kは集合Iの要素)を求める。第2のセッション鍵計算部は、
Figure 0005486468
σ=(g^z)^v
σ=X^v
を計算し、セッション鍵Kを、
K=H(σ,σ,σ,(X,{U},M,ρ),(Y,{V},M,ρ))
のように求める。第2の中間情報消去部は、v(1≦j≦N)を消去する。
なお、本発明の鍵交換システムは、さらに、マスタ鍵生成部と長期秘密鍵生成部とを有する鍵生成装置を備えてもよい。マスタ鍵生成部がランダムにrとzを選定し、前記マスタ鍵生成部がマスタ公開鍵(g,g^r,g^z)とマスタ秘密鍵g^zを生成すればよい。また、前記長期秘密鍵生成部がt[1],…,t[NMAX]とt[1],…,t[NMAX]をランダムに選定し、S’とS’、T[j]とT[j]、S[k]とS[k]を計算する。そして、鍵交換装置αは、鍵生成装置から長期秘密鍵としてS’,{T},{S}を取得し、鍵交換装置βは、鍵生成装置から長期秘密鍵としてS’,{T},{S}を取得すればよい。
本発明の鍵交換システムによれば、線形秘密分散法を利用することにより、鍵抽出(長期秘密鍵の生成)を行うときには鍵生成装置が、鍵交換装置αの属性集合Sに基づき線形秘密分散法のシェア情報として長期秘密鍵S’,{T},{S}を発行する。また、鍵交換時にアクセスポリシーとして線形秘密分散のアクセス構造Aを割り当てることによって、相手のアクセスポリシーを鍵交換時に指定することが可能となった。このことによって、課題1を解決できる。また、本発明のマスタ秘密鍵g^zとマスタ公開鍵(g,g^r,g^z)は、属性集合とは独立なので、属性の全体集合をあらかじめ決めておく必要がない。つまり、鍵抽出時に任意の属性に基づき長期秘密鍵を発行することができるので、課題2を解決できる。
従来の鍵交換システムの構成例を示す図。 本発明の鍵交換システムの構成例を示す図。 本発明の鍵交換装置の機能構成例を示す図。 鍵生成装置の機能構成例を示す図。 マスタ秘密鍵とマスタ公開鍵と長期秘密鍵の生成の処理フローの例を示す図。 セッション鍵を共有する鍵交換の処理のフローの例を示す図。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
[準備]
本発明の鍵交換システムについて説明する前に、本発明を理解する上で必要な理論について説明する。本発明では、アクセスポリシーを次のようなアクセス構造として表すものとする。
まず、{P,P,…,P,…,P}を属性集合とする。ただし、Nは整数、nは1以上N以下の整数である。Pは、例えば、「性別が男性である。」や「○○会社の社員である。」などの鍵生成装置の利用者(ユーザ)の属性を示している。なお、以下の説明では、「鍵生成装置の利用者の属性」を単に「鍵生成装置の属性」と表現する。アクセス構造は{P,P,…,P}の空でない部分集合のべき集合Aとして表わす。すなわち、
A⊆2^{P,P,…,P}\{φ}
ただし、“^”はべき乗を示す記号、“φ”は空集合を示す記号、“\{φ}”は空集合を除くことを示す記号
に属する集合を許可集合、属さない集合を不許可集合とよぶ。本発明では、上記のアクセス構造に基づきアクセスコントロールを行うために次のように線形秘密分散法を用いる。
各属性集合に対応するシェア情報は0以上p−1以下の整数の集合Z上のベクトルとして表される。シェア情報を生成する行列としてL行N列のシェア情報生成行列Mを次のように用意する。i=1,…,Lについて、属性ラベリング関数ρを用いてシェア情報生成行列Mのi行目を属性ρ(i)に対応させる。属性ラベリング関数ρは、iを特定すると属性ρ(i)が決まる関数である。また、「属性ρ(i)に対応させる」とは、例えば、属性ρ(1)がP∧P∧Pであれば、1,1,1,0,0,…,0のようにシェア情報生成行列Mの1行目を設定し、属性ρ(2)がP∧Pであれば、1,0,0,…,0,1のようにシェア情報生成行列Mの2行目を設定するように、属性ρ(i)と対応させてi行目を決めることである。なお、上記の例では、アンド条件に含まれる属性Pに対応する要素を“1”とし、含まれない属性Pに対応する要素を“0”としたが、これに限る必要はない。異なる条件に対応する行が同じ行にならないように対応付けされていればよいので、属性ラベリング関数ρは単射性を有する範囲で他の対応でもよい。
次に、0以上p−1以下の整数sを秘密情報とし、0以上p−1以下の整数からr,…,rをランダムに選び、列ベクトルv=(s,r,…,rを生成する。ただし、Tは転置を示す記号である。この時、Mvは秘密情報sのL個のシェア情報のベクトルとなる。属性集合ρ(i)にシェア情報(Mv)を割り当てる。ただし、(Mv)はベクトルMvのi番目の成分を示している。
このようにシェア情報生成行列Mと秘密情報sを含む列ベクトルvを用いると、線形秘密分散法の線形復元性を利用できる。ここで、線形復元性について説明する。あるアクセス構造Aを考え、集合SをS∈Aの任意の許可集合とし、I⊂{1,2,…,L}をI={i:ρ(i)∈S}と定義する。このとき、{λ}がsの正しいシェア情報の集合の場合、
Figure 0005486468
となるような0以上p−1以下の整数の集合{w}が存在する。このような集合{w}はMのサイズの多項式時間で見つけられることが知られている。一方、{λ}がsの正しいシェア情報の集合でない場合、集合{w}のすべての要素を求めることができない。本発明では、上述のようにシェア情報生成行列Mと秘密情報sを含む列ベクトルvを用いることで、線形秘密分散法の線形復元性を利用してセッション鍵を交換する。
[構成]
図2に本発明の鍵交換システムの構成例を示す。本発明の鍵交換システムは、ネットワーク1000を介して接続された鍵交換装置100,…,100(ただし、Qは2以上の整数、qは1以上Q以下の整数、AとBは1以上Q以下の異なる整数)、鍵生成装置300で構成される。図3に本発明の鍵交換装置の機能構成例、図4に鍵生成装置の機能構成例を示す。鍵交換装置100は、アクセス構造決定部110、短期秘密鍵生成部120、交換情報生成部130、送信部140、受信部145、属性確認部150、秘密情報取得部160、セッション鍵計算部170、中間情報消去部180、記録部190を備える。また、鍵生成装置300は、マスタ鍵生成部310、長期秘密鍵生成部320、記録部390を備える。以下の説明では、鍵交換装置100(鍵交換装置αに相当)がイニシエータとして機能し、鍵交換装置100(鍵交換装置βに相当)がレスポンダとして機能してセッション鍵を共有する場合について説明する。
なお、κは整数、pはκビットの素数、GとGは位数pの群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形写像、Hは任意長の整数を群Gの元に変換するハッシュ関数、Hは任意長の整数を0以上p−1以下の整数に変換するハッシュ関数、Hは任意長の整数をκビットの整数に変換するハッシュ関数、Pは属性を示す属性要素、属性集合Sは鍵交換装置100の属性を示す属性要素Pの組み合わせの集合、属性集合Sは鍵交換装置100の属性を示す属性要素Pの組み合わせの集合、NMAXはあらかじめ定めた整数、jとnは1以上NMAX以下の整数、kは属性集合Sの要素、kは属性集合Sの要素、{T}はT[1],…,T[NMAX]の集合、{T}はT[1],…,T[NMAX]の集合、{S}はS[1],…,S[NMAX]の集合、{S}はS[1],…,S[NMAX]の集合、{U}はUi,jの集合、{V}はVi,jの集合である。
[鍵生成、鍵抽出]
図5に、マスタ秘密鍵とマスタ公開鍵と長期秘密鍵の生成の処理フローの例を示す。なお、長期秘密鍵生成の処理が従来技術の鍵抽出に相当する。鍵生成装置300のマスタ鍵生成部310は、0以上p−1以下の整数からランダムにrとzを選定する。そして、マスタ公開鍵を(g,g^r,g^z)、マスタ秘密鍵をg^zとして記録部390に記録し、マスタ公開鍵(g,g^r,g^z)を公開する(S310)。鍵交換装置100と鍵交換装置100は、それぞれマスタ公開鍵を(g,g^r,g^z)を受信し、記録部190と記録部190に記録する。
長期秘密鍵生成部320は、0以上p−1以下の整数からランダムにt[1],…,t[NMAX]を選び、S’=g^z・g^(rt[1])を計算し、1以上NMAX以下のjについてT[j]=g^t]を計算し、属性集合Sの要素kについて
Figure 0005486468
を計算し、長期秘密鍵として(S’,{T},{S})を鍵交換装置100に送信する(S320)。鍵交換装置100は、長期秘密鍵(S’,{T},{S})を受信し、記録部190に記録する(S192)。
さらに、長期秘密鍵生成部320は、0以上p−1以下の整数からランダムにt[1],…,t[NMAX]を選び、S’=g^z・g^(rt[1])を計算し、1以上NMAX以下のjについてT[j]=g^t]を計算し、属性集合Sの要素kについて
Figure 0005486468
を計算し、長期秘密鍵として(S’,{T},{S})を鍵交換装置100に送信する(S320)。鍵交換装置100は、長期秘密鍵(S’,{T},{S})を受信し、記録部190に記録する(S192)。
なお、あらかじめ鍵交換装置100の記録部190にマスタ公開鍵(g,g^r,g^z)と長期秘密鍵(S’,{T},{S})とを記録させ、鍵交換装置100の記録部190にマスタ公開鍵(g,g^r,g^z)と長期秘密鍵(S’,{T},{S})とを記録させておけば、ネットワーク1000を介して接続された鍵交換装置100と鍵交換装置100だけで最低限の鍵交換システムが構成できる。
[鍵交換]
図6にセッション鍵を共有する鍵交換の処理のフローの例を示す。この例は、鍵交換装置100(鍵交換装置αに相当)がイニシエータとして機能し、鍵交換装置100(鍵交換装置βに相当)がレスポンダとして機能する場合を示している。
鍵交換装置100は、アクセス構造決定部110(第1のアクセス構造決定部)、短期秘密鍵生成部120(第1の短期秘密鍵生成部)、交換情報生成部130(第1の交換情報生成部)、送信部140(第1の送信部)、受信部145(第1の受信部)、属性確認部150(第1の属性確認部)、秘密情報取得部160(第1の秘密情報取得部)、セッション鍵計算部170(第1のセッション鍵計算部)、中間情報消去部180(第1の中間情報消去部)を備える。鍵交換装置100は、アクセス構造決定部110(第2のアクセス構造決定部)、短期秘密鍵生成部120(第2の短期秘密鍵生成部)、交換情報生成部130(第2の交換情報生成部)、送信部140(第2の送信部)、受信部145(第2の受信部)、属性確認部150(第2の属性確認部)、秘密情報取得部160(第2の秘密情報取得部)、セッション鍵計算部170(第2のセッション鍵計算部)、中間情報消去部180(第2の中間情報消去部)を備える。
アクセス構造決定部110は、アクセス構造Aを決定し、当該アクセス構造Aに対応するシェア情報生成行列Mと単射ラベリング関数ρを生成する(S110)。短期秘密鍵生成部120は、1≦j≦Nについて、u を0以上p−1以下の整数からランダムに選定する(S120)。交換情報生成部130は、
1≦j≦Nについて、u=H(S’,{T},{S},u )、
X=g^u
1≦i≦Lと1≦j≦Nについて、
i,j=g^(r(Mi,j)・H(j,ρ(i))^(−u)、
1≦i≦LとN+1≦j≦NMAXについて、
i,j=H(j,ρ(i))^(−u
を計算する(130)。送信部140は、(X,{U})、M、ρを鍵交換装置100に送信する(S140)。中間情報消去部180は、u(1≦j≦N)を消去する(S180)。
受信部145は、鍵交換装置100から、(X,{U})、M、ρを受信する(S145)。属性確認部150は、属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすか、Xと{U}が群Gの要素かを確認する(S150)。
アクセス構造決定部110は、アクセス構造Aを決定し、当該アクセス構造Aに対応するシェア情報生成行列Mと単射ラベリング関数ρを生成する(S110)。短期秘密鍵生成部120は、1≦j≦Nについて、v を0以上p−1以下の整数からランダムに選定する(S120)。交換情報生成部130は、
1≦j≦Nについて、v=H(S’,{T},{S},v )、
Y=g^v
1≦i≦Lと1≦j≦Nについて、
i,j=g^(r(Mi,j)・H(j,ρ(i))^(−v)、
1≦i≦LとN+1≦j≦NMAXについて、
i,j=H(j,ρ(i))^(−v
を計算する(S130)。送信部140は、(Y,{V})、M、ρを鍵交換装置100に送信する(S140)。
秘密情報取得部160は、I={k:ρ(k)∈S}となる集合Iを求め、鍵交換装置100が生成した秘密情報uに対する正当なシェア情報集合{(Mi,j}について
Figure 0005486468
が成り立つ0以上p−1以下の整数w[k](ただし、kは集合Iの要素)を求める(S160)。セッション鍵計算部170は、
Figure 0005486468
σ=(g^z)^v
σ=X^v
を計算し、セッション鍵Kを、
K=H(σ,σ,σ,(X,{U},M,ρ),(Y,{V},M,ρ))
のように求める(S170)。中間情報消去部180は、v(1≦j≦N)を消去する(S180)。
受信部145は、鍵交換装置100から、(Y,{V})、M、ρを受信する(S145)。属性確認部150は、属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすか、Yと{V}が群Gの要素かを確認する(S150)。秘密情報取得部160は、I={k:ρ(k)∈S}となる集合Iを求め、鍵交換装置100が生成した秘密情報vに対する正当なシェア情報集合{(Mi,j}について
Figure 0005486468
が成り立つ0以上p−1以下の整数w[k](ただし、kは集合Iの要素)を求める(S160)。セッション鍵計算部170は、
Figure 0005486468
σ=(g^z)^H(S’,{T},{S},u
σ=Y^H(S’,{T},{S},u
を計算し、セッション鍵Kを、
K=H(σ,σ,σ,(X,{U},M,ρ),(Y,{V},M,ρ))
のように求める。
最後に鍵交換装置100と鍵交換装置100が取得したセッション鍵Kが等しいことを説明する。
Figure 0005486468
Figure 0005486468
σ=X^v=Y^u=g^u
よって、正しくセッション鍵を共有できる。
本発明の鍵交換システムによれば、線形秘密分散法を利用することにより、鍵抽出(長期秘密鍵の生成)を行うときには鍵生成装置が、鍵交換装置αの属性集合Sに基づき線形秘密分散法のシェア情報として長期秘密鍵S’,{T},{S}を発行する。また、鍵交換時にアクセスポリシーとして線形秘密分散のアクセス構造Aを割り当てることによって、相手のアクセスポリシーを鍵交換時に指定することが可能となる。このことによって、課題1を解決できる。また、本発明のマスタ秘密鍵g^zとマスタ公開鍵(g,g^r,g^z)は、属性集合とは独立なので、属性の全体集合をあらかじめ決めておく必要がない。つまり、鍵抽出時に任意の属性に基づき長期秘密鍵を発行することができるので、課題2を解決できる。
さらに、従来技術と本発明との違いを属性集合とアクセスポリシーの観点から説明する。従来技術では、マスタ秘密鍵、マスタ公開鍵を生成する際には、属性の全体集合に対応したマスタ秘密鍵、マスタ公開鍵を生成する。長期秘密鍵を生成する際には、鍵交換装置(の使用者)がアクセスできるポリシーを決定する。そして、鍵交換のときに、属性集合を指定する。一方、本発明では、マスタ秘密鍵、マスタ公開鍵を生成する際には、属性集合とは独立にマスタ秘密鍵、マスタ公開鍵を生成する。長期秘密鍵を生成する際には、鍵交換装置(の使用者)が持っている属性に応じて、長期秘密鍵を生成する。そして、鍵交換のときに、アクセスポリシーを指定する。このように、本発明は、従来とは異なるアクセスコントロールの考え方を採用し、この考え方を実現できるセッション鍵を共有する技術を創作したものである。
[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
本発明は、二者間でセッション鍵を共有した暗号通信に利用することができる。
100、700 鍵交換装置 110 アクセス構造決定部
120 短期秘密鍵生成部 130 交換情報生成部
140 送信部 145 受信部
150 属性確認部 160 秘密情報取得部
170 セッション鍵計算部 180 中間情報消去部
190、390 記録部 300 鍵生成装置
310 マスタ鍵生成部 320 長期秘密鍵生成部
800 鍵抽出手段 900 鍵生成手段
1000 ネットワーク

Claims (8)

  1. セッション鍵を交換する鍵交換装置であって、
    κは整数、pはκビットの素数、GとGは位数pの群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形写像、Hは任意長の整数を群Gの元に変換するハッシュ関数、Hは任意長の整数を0以上p−1以下の整数に変換するハッシュ関数、Hは任意長の整数をκビットの整数に変換するハッシュ関数、Pは属性を示す属性要素、属性集合Sは当該鍵交換装置の属性を示す属性要素Pの組み合わせの集合、アクセス構造Aは当該鍵交換装置が鍵交換の対象となる装置に求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mi,jはシェア情報生成行列Mのi行j列の要素、属性集合S は鍵交換の対象となる装置の属性を示す属性要素P の組み合わせの集合、アクセス構造Aは鍵交換の対象となる装置が当該鍵交換装置に求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mi,jはシェア情報生成行列Mのi行j列の要素、L、N、L、Nは整数、NMAXはNとNが取りうる最大の整数、nとjは1以上NMAX以下の整数、kは属性集合Sの要素、 は属性集合S の要素、rとzは0以上p−1以下の整数、(g,g^r,g^z)はマスタ公開鍵、g^zはマスタ秘密鍵、t[1],…,t[NMAX]は0以上p−1以下の整数、 [1],…,t [N MAX ]は0以上p−1以下の整数、S’=g^z・g^(rt[1])、S’ =g^z・g^(rt [1])、[j]=g^t]、 [j]=g^t [j]、
    Figure 0005486468

    、{T}はT[1],…,T[NMAX]の集合、{T }はT [1],…,T [N MAX ]の集合、{S}はS[1],…,S[NMAX]の集合、{S }はS [1],…,S [N MAX ]の集合、{U}はUi,jの集合、{V}はVi,jの集合、^はべき乗を示す記号であり、
    1≦j≦N についてv を0以上p−1以下の整数、1≦j≦N についてv =H (S’ ,{T },{S },v )、Y=g^v 、1≦i≦L と1≦j≦N についてV i,j =g^(r(M i,j )・H (j,ρ (i))^(−v )、1≦i≦L とN +1≦j≦N MAX についてV i,j =H (j,ρ (i))^(−v )とし、
    アクセス構造Aを決定し、当該アクセス構造Aに対応するシェア情報生成行列Mと単射ラベリング関数ρを生成するアクセス構造決定部と、
    1≦j≦Nについて、u を0以上p−1以下の整数からランダムに選定する短期秘密鍵生成部と、
    1≦j≦Nについて、u=H(S’,{T},{S},u )と、
    X=g^uと、
    1≦i≦Lと1≦j≦Nについて、
    i,j=g^(r(Mi,j)・H(j,ρ(i))^(−u)と、
    1≦i≦LとN+1≦j≦NMAXについて、
    i,j=H(j,ρ(i))^(−u)と
    を計算する交換情報生成部と、
    (X,{U})、M、ρを鍵交換する対象の装置に送信する送信部と、
    鍵交換する対象の装置から、(Y,{V})、M、ρを受信する受信部と、
    属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすか、Yと{V}が群Gの要素かを確認する属性確認部と、
    ={k:ρ(k)∈S}となる集合Iを求め、鍵交換する対象の装置が生成した秘密情報vに対する正当なシェア情報集合{(Mi,j}について
    Figure 0005486468

    が成り立つ0以上p−1以下の整数w[k](ただし、kは集合Iの要素)を求める秘密情報取得部と、
    Figure 0005486468

    σ=(g^z)^H(S’,{T},{S},u
    σ=Y^H(S’,{T},{S},u
    を計算し、セッション鍵Kを、
    K=H(σ,σ,σ,(X,{U},M,ρ),(Y,{V},M,ρ))
    のように求めるセッション鍵計算部と、
    (1≦j≦N)を消去する中間情報消去部と、
    を備える鍵交換装置。
  2. セッション鍵を交換する鍵交換装置であって、
    κは整数、pはκビットの素数、GとGは位数pの群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形写像、Hは任意長の整数を群Gの元に変換するハッシュ関数、Hは任意長の整数を0以上p−1以下の整数に変換するハッシュ関数、Hは任意長の整数をκビットの整数に変換するハッシュ関数、Pは属性を示す属性要素、属性集合Sは当該鍵交換装置の属性を示す属性要素Pの組み合わせの集合、アクセス構造Aは当該鍵交換装置が鍵交換の対象となる装置に求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mi,jはシェア情報生成行列Mのi行j列の要素、属性集合S は鍵交換の対象となる装置の属性を示す属性要素P の組み合わせの集合、アクセス構造Aは鍵交換の対象となる装置が当該鍵交換装置に求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mi,jはシェア情報生成行列Mのi行j列の要素、L、N、L、Nは整数、NMAXはNとNが取りうる最大の整数、nとjは1以上NMAX以下の整数、kは属性集合Sの要素、 は属性集合S の要素、rとzは0以上p−1以下の整数、(g,g^r,g^z)はマスタ公開鍵、g^zはマスタ秘密鍵、t[1],…,t[NMAX]は0以上p−1以下の整数、 [1],…,t [N MAX ]は0以上p−1以下の整数、S’=g^z・g^(rt[1])、S’ =g^z・g^(rt [1])、[j]=g^t]、 [j]=g^t [j]、
    Figure 0005486468

    、{T}はT[1],…,T[NMAX]の集合、{T }はT [1],…,T [N MAX ]の集合、{S}はS[1],…,S[NMAX]の集合、{S }はS [1],…,S [N MAX ]の集合、{U}はUi,jの集合、{V}はVi,jの集合、^はべき乗を示す記号であり、
    1≦j≦N についてu は0以上p−1以下の整数、1≦j≦N についてu =H (S’ ,{T },{S },u )、X=g^u 、1≦i≦L と1≦j≦N についてU i,j =g^(r(M i,j )・H (j,ρ (i))^(−u )、1≦i≦L とN +1≦j≦N MAX についてU i,j =H (j,ρ (i))^(−u )とし、
    アクセス構造Aを決定し、当該アクセス構造Aに対応するシェア情報生成行列Mと単射ラベリング関数ρを生成するアクセス構造決定部と、
    1≦j≦Nについて、v を0以上p−1以下の整数からランダムに選定する短期秘密鍵生成部と、
    1≦j≦Nについて、v=H(S’,{T},{S},v )と、
    Y=g^vと、
    1≦i≦Lと1≦j≦Nについて、
    i,j=g^(r(Mi,j)・H(j,ρ(i))^(−v)と、
    1≦i≦LとN+1≦j≦NMAXについて、
    i,j=H(j,ρ(i))^(−v)と
    を計算する交換情報生成部と、
    (Y,{V})、M、ρを鍵交換する対象の装置に送信する送信部と、
    鍵交換する対象の装置から、(X,{U})、M、ρを受信する受信部と、
    属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすか、Xと{U}が群Gの要素かを確認する属性確認部と、
    ={k:ρ(k)∈S}となる集合Iを求め、鍵交換する対象の装置が生成した秘密情報uに対する正当なシェア情報集合{(Mi,j}について
    Figure 0005486468

    が成り立つ0以上p−1以下の整数w[k](ただし、kは集合Iの要素)を求める秘密情報取得部と、
    Figure 0005486468

    σ=(g^z)^v
    σ=X^v
    を計算し、セッション鍵Kを、
    K=H(σ,σ,σ,(X,{U},M,ρ),(Y,{V},M,ρ))
    のように求めるセッション鍵計算部と、
    (1≦j≦N)を消去する中間情報消去部と、
    を備える鍵交換装置。
  3. 鍵交換装置用のマスタ秘密鍵、マスタ公開鍵、長期秘密鍵を生成する鍵生成装置であって、
    κは整数、pはκビットの素数、GとGは位数pの群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形写像、Hは任意長の整数を群Gの元に変換するハッシュ関数、Pは属性を示す属性要素、属性集合Sは前記鍵交換装置の属性を示す属性要素Pの組み合わせの集合、NMAXはあらかじめ定めた整数、jは1以上NMAX以下の整数、kは属性集合Sの要素、{T}はT[1],…,T[NMAX]の集合、{S}はS[1],…,S[NMAX]の集合、^はべき乗を示す記号であり、
    0以上p−1以下の整数からランダムにrとzを選定し、マスタ公開鍵を(g,g^r,g^z)、マスタ秘密鍵をg^zとするマスタ鍵生成部と、
    0以上p−1以下の整数からランダムにt[1],…,t[NMAX]を選び、S’=g^z・g^(rt[1])を計算し、1以上NMAX以下のjについてT[j]=g^t]を計算し、属性集合Sの要素kについて
    Figure 0005486468

    を計算し、長期秘密鍵として(S’,{T},{S})を出力する長期秘密鍵生成部と、
    を備える鍵生成装置。
  4. 少なくとも鍵交換装置αと鍵交換装置βとを備え、セッション鍵を交換する鍵交換システムであって、
    κは整数、pはκビットの素数、GとGは位数pの群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形写像、Hは任意長の整数を群Gの元に変換するハッシュ関数、Hは任意長の整数を0以上p−1以下の整数に変換するハッシュ関数、Hは任意長の整数をκビットの整数に変換するハッシュ関数、Pは属性を示す属性要素、属性集合Sは鍵交換装置αの属性を示す属性要素Pの組み合わせの集合、アクセス構造Aは鍵交換装置αが鍵交換装置βに求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mi,jはシェア情報生成行列Mのi行j列の要素、属性集合Sは鍵交換装置βの属性を示す属性要素Pの組み合わせの集合、アクセス構造Aは鍵交換装置βが鍵交換装置αに求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mi,jはシェア情報生成行列Mのi行j列の要素、L、N、L、Nは整数、NMAXはNとNが取りうる最大の整数、nとjは1以上NMAX以下の整数、kは属性集合Sの要素、kは属性集合Sの要素、rとzは0以上p−1以下の整数、(g,g^r,g^z)はマスタ公開鍵、g^zはマスタ秘密鍵、t[1],…,t[NMAX]は0以上p−1以下の整数、t[1],…,t[NMAX]は0以上p−1以下の整数、S’=g^z・g^(rt[1])、S’=g^z・g^(rt[1])、T[j]=g^t]、T[j]=g^t]、
    Figure 0005486468

    、{T}はT[1],…,T[NMAX]の集合、{T}はT[1],…,T[NMAX]の集合、{S}はS[1],…,S[NMAX]の集合、{S}はS[1],…,S[NMAX]の集合、{U}はUi,jの集合、{V}はVi,jの集合、^はべき乗を示す記号であり、
    前記鍵交換装置αは、
    アクセス構造Aを決定し、当該アクセス構造Aに対応するシェア情報生成行列Mと単射ラベリング関数ρを生成する第1のアクセス構造決定部と、
    1≦j≦Nについて、u を0以上p−1以下の整数からランダムに選定する第1の短期秘密鍵生成部と、
    1≦j≦Nについて、u=H(S’,{T},{S},u )と、
    X=g^uと、
    1≦i≦Lと1≦j≦Nについて、
    i,j=g^(r(Mi,j)・H(j,ρ(i))^(−u)と、
    1≦i≦LとN+1≦j≦NMAXについて、
    i,j=H(j,ρ(i))^(−u)と
    を計算する第1の交換情報生成部と、
    (X,{U})、M、ρを鍵交換装置βに送信する第1の送信部と、
    鍵交換装置βから、(Y,{V})、M、ρを受信する第1の受信部と、
    属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすか、Yと{V}が群Gの要素かを確認する第1の属性確認部と、
    ={k:ρ(k)∈S}となる集合Iを求め、鍵交換装置βが生成した秘密情報vに対する正当なシェア情報集合{(Mi,j}について
    Figure 0005486468

    が成り立つ0以上p−1以下の整数w[k](ただし、kは集合Iの要素)を求める第1の秘密情報取得部と、
    Figure 0005486468

    σ=(g^z)^H(S’,{T},{S},u
    σ=Y^H(S’,{T},{S},u
    を計算し、セッション鍵Kを、
    K=H(σ,σ,σ,(X,{U},M,ρ),(Y,{V},M,ρ))
    のように求める第1のセッション鍵計算部と、
    (1≦j≦N)を消去する第1の中間情報消去部と、
    を備え、
    前記鍵交換装置βは、
    アクセス構造Aを決定し、当該アクセス構造Aに対応するシェア情報生成行列Mと単射ラベリング関数ρを生成する第2のアクセス構造決定部と、
    1≦j≦Nについて、v を0以上p−1以下の整数からランダムに選定する第2の短期秘密鍵生成部と、
    1≦j≦Nについて、v=H(S’,{T},{S},v )と、
    Y=g^vと、
    1≦i≦Lと1≦j≦Nについて、
    i,j=g^(r(Mi,j)・H(j,ρ(i))^(−v)と、
    1≦i≦LとN+1≦j≦NMAXについて、
    i,j=H(j,ρ(i))^(−v)と
    を計算する第2の交換情報生成部と、
    (Y,{V})、M、ρを鍵交換装置αに送信する第2の送信部と、
    鍵交換装置αから、(X,{U})、M、ρを受信する第2の受信部と、
    属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすか、Xと{U}が群Gの要素かを確認する第2の属性確認部と、
    ={k:ρ(k)∈S}となる集合Iを求め、鍵交換装置αが生成した秘密情報uに対する正当なシェア情報集合{(Mi,j}について
    Figure 0005486468

    が成り立つ0以上p−1以下の整数w[k](ただし、kは集合Iの要素)を求める第2の秘密情報取得部と、
    Figure 0005486468

    σ=(g^z)^v
    σ=X^v
    を計算し、セッション鍵Kを、
    K=H(σ,σ,σ,(X,{U},M,ρ),(Y,{V},M,ρ))
    のように求める第2のセッション鍵計算部と、
    (1≦j≦N)を消去する第2の中間情報消去部と、
    を備える
    鍵交換システム。
  5. 請求項4記載の鍵交換システムであって、
    さらに、マスタ鍵生成部と長期秘密鍵生成部とを有する鍵生成装置を備え、
    前記rとzは、前記マスタ鍵生成部がランダムに選定したものであり、マスタ公開鍵(g,g^r,g^z)とマスタ秘密鍵g^zは前記マスタ鍵生成部が生成したものであり、
    前記t[1],…,t[NMAX]とt[1],…,t[NMAX]は前記長期秘密鍵生成部がランダムに選定したものであり、S’とS’、T[j]とT[j]、S[k]とS[k]は前記長期秘密鍵生成部が計算したものであり、
    前記鍵交換装置αは、前記鍵生成装置から長期秘密鍵としてS’,{T},{S}を取得し、前記鍵交換装置βは、前記鍵生成装置から長期秘密鍵としてS’,{T},{S}を取得する
    ことを特徴とする鍵交換システム。
  6. 少なくとも鍵交換装置αと鍵交換装置βとを備える鍵交換システムを用いて、セッション鍵を交換する鍵交換方法であって、
    κは整数、pはκビットの素数、GとGは位数pの群、gは群Gの生成元、gは群Gの生成元、eはG×G→Gのように写像する双線形写像、Hは任意長の整数を群Gの元に変換するハッシュ関数、Hは任意長の整数を0以上p−1以下の整数に変換するハッシュ関数、Hは任意長の整数をκビットの整数に変換するハッシュ関数、Pは属性を示す属性要素、属性集合Sは鍵交換装置αの属性を示す属性要素Pの組み合わせの集合、アクセス構造Aは鍵交換装置αが鍵交換装置βに求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mi,jはシェア情報生成行列Mのi行j列の要素、属性集合Sは鍵交換装置βの属性を示す属性要素Pの組み合わせの集合、アクセス構造Aは鍵交換装置βが鍵交換装置αに求める属性要素Pの組み合わせの集合、単射ラベリング関数ρは前記アクセス構造Aを示す関数、属性集合ρ(i)は前記アクセス構造Aに対応するi番目の集合、シェア情報生成行列Mはi行目が属性集合ρ(i)に対応するL行N列の行列、(Mi,jはシェア情報生成行列Mのi行j列の要素、L、N、L、Nは整数、NMAXはNとNが取りうる最大の整数、nとjは1以上NMAX以下の整数、kは属性集合Sの要素、kは属性集合Sの要素、rとzは0以上p−1以下の整数、(g,g^r,g^z)はマスタ公開鍵、g^zはマスタ秘密鍵、t[1],…,t[NMAX]は0以上p−1以下の整数、t[1],…,t[NMAX]は0以上p−1以下の整数、S’=g^z・g^(rt[1])、S’=g^z・g^(rt[1])、T[j]=g^t]、T[j]=g^t]、
    Figure 0005486468

    、{T}はT[1],…,T[NMAX]の集合、{T}はT[1],…,T[NMAX]の集合、{S}はS[1],…,S[NMAX]の集合、{S}はS[1],…,S[NMAX]の集合、{U}はUi,jの集合、{V}はVi,jの集合、^はべき乗を示す記号であり、
    前記鍵交換装置αが、アクセス構造Aを決定し、当該アクセス構造Aに対応するシェア情報生成行列Mと単射ラベリング関数ρを生成する第1のアクセス構造決定ステップと、
    前記鍵交換装置αが、1≦j≦Nについて、u を0以上p−1以下の整数からランダムに選定する第1の短期秘密鍵生成ステップと、
    前記鍵交換装置αが、
    1≦j≦Nについて、u=H(S’,{T},{S},u )と、
    X=g^uと、
    1≦i≦Lと1≦j≦Nについて、
    i,j=g^(r(Mi,j)・H(j,ρ(i))^(−u)と、
    1≦i≦LとN+1≦j≦NMAXについて、
    i,j=H(j,ρ(i))^(−u)と
    を計算する第1の交換情報生成ステップと、
    前記鍵交換装置αが、(X,{U})、M、ρを鍵交換装置βに送信する第1の送信ステップと、
    前記鍵交換装置αが、u(1≦j≦N)を消去する第1の中間情報消去ステップと、
    前記鍵交換装置βが、鍵交換装置αから、(X,{U})、M、ρを受信する第2の受信ステップと、
    前記鍵交換装置βが、属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすか、Xと{U}が群Gの要素かを確認する第2の属性確認ステップと、
    前記鍵交換装置βが、アクセス構造Aを決定し、当該アクセス構造Aに対応するシェア情報生成行列Mと単射ラベリング関数ρを生成する第2のアクセス構造決定ステップと、
    前記鍵交換装置βが、1≦j≦Nについて、v を0以上p−1以下の整数からランダムに選定する第2の短期秘密鍵生成ステップと、
    前記鍵交換装置βが、
    1≦j≦Nについて、v=H(S’,{T},{S},v )と、
    Y=g^vと、
    1≦i≦Lと1≦j≦Nについて、
    i,j=g^(r(Mi,j)・H(j,ρ(i))^(−v)と、
    1≦i≦LとN+1≦j≦NMAXについて、
    i,j=H(j,ρ(i))^(−v)と
    を計算する第2の交換情報生成ステップと、
    前記鍵交換装置βが、(Y,{V})、M、ρを鍵交換装置αに送信する第2の送信ステップと、
    前記鍵交換装置βが、I={k:ρ(k)∈S}となる集合Iを求め、鍵交換装置αが生成した秘密情報uに対する正当なシェア情報集合{(Mi,j}について
    Figure 0005486468

    が成り立つ0以上p−1以下の整数w[k](ただし、kは集合Iの要素)を求める第2の秘密情報取得ステップと、
    前記鍵交換装置βが、
    Figure 0005486468

    σ=(g^z)^v
    σ=X^v
    を計算し、セッション鍵Kを、
    K=H(σ,σ,σ,(X,{U},M,ρ),(Y,{V},M,ρ))
    のように求める第2のセッション鍵計算ステップと、
    前記鍵交換装置βが、v(1≦j≦N)を消去する第2の中間情報消去ステップと、
    前記鍵交換装置αが、鍵交換装置βから、(Y,{V})、M、ρを受信する第1の受信ステップと、
    前記鍵交換装置αが、属性集合Sがシェア情報生成行列Mと単射ラベリング関数ρを満たすか、Yと{V}が群Gの要素かを確認する第1の属性確認ステップと、
    前記鍵交換装置αが、I={k:ρ(k)∈S}となる集合Iを求め、鍵交換装置βが生成した秘密情報vに対する正当なシェア情報集合{(Mi,j}について
    Figure 0005486468

    が成り立つ0以上p−1以下の整数w[k](ただし、kは集合Iの要素)を求める第1の秘密情報取得ステップと、
    前記鍵交換装置αが、
    Figure 0005486468

    σ=(g^z)^H(S’,{T},{S},u
    σ=Y^H(S’,{T},{S},u
    を計算し、セッション鍵Kを、
    K=H(σ,σ,σ,(X,{U},M,ρ),(Y,{V},M,ρ))
    のように求める第1のセッション鍵計算ステップと、
    を有する鍵交換方法。
  7. 請求項6記載の鍵交換方法であって、
    前記鍵交換システムは、さらにマスタ鍵生成手段と長期秘密鍵生成手段も備え、
    前記マスタ鍵生成手段が、前記rとzをランダムに選定し、マスタ公開鍵(g,g^r,g^z)とマスタ秘密鍵g^zを生成する前記マスタ鍵生成ステップと、
    前記長期秘密鍵生成手段が、前記t[1],…,t[NMAX]とt[1],…,t[NMAX]をランダムに選定し、S’とS’、T[j]とT[j]、S[k]とS[k]を計算する長期秘密鍵生成ステップと、
    前記鍵交換装置αが、長期秘密鍵としてS’,{T},{S}を取得する第1の長期秘密鍵取得ステップと、
    前記鍵交換装置βが、長期秘密鍵としてS’,{T},{S}を取得する第2の長期秘密鍵取得ステップ
    も有することを特徴とする鍵交換方法。
  8. 請求項1または2記載の鍵交換装置、もしくは請求項3記載の鍵生成装置としてコンピュータを機能させるためのプログラム。
JP2010259053A 2010-11-19 2010-11-19 鍵交換装置、鍵生成装置、鍵交換システム、鍵交換方法、プログラム Active JP5486468B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5650630B2 (ja) * 2011-11-22 2015-01-07 日本電信電話株式会社 鍵交換システム、鍵交換装置、鍵交換方法、鍵交換プログラム

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