JP5506650B2 - 情報共有システム、方法、情報共有装置及びそのプログラム - Google Patents

情報共有システム、方法、情報共有装置及びそのプログラム Download PDF

Info

Publication number
JP5506650B2
JP5506650B2 JP2010284725A JP2010284725A JP5506650B2 JP 5506650 B2 JP5506650 B2 JP 5506650B2 JP 2010284725 A JP2010284725 A JP 2010284725A JP 2010284725 A JP2010284725 A JP 2010284725A JP 5506650 B2 JP5506650 B2 JP 5506650B2
Authority
JP
Japan
Prior art keywords
information
secret key
key
term
exchange
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
JP2010284725A
Other languages
English (en)
Other versions
JP2012134744A (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 JP2010284725A priority Critical patent/JP5506650B2/ja
Publication of JP2012134744A publication Critical patent/JP2012134744A/ja
Application granted granted Critical
Publication of JP5506650B2 publication Critical patent/JP5506650B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、情報セキュリティ技術の応用技術、特に2つの装置でセッション鍵等の情報を共有する技術に関する。
情報共有方式として、例えば非特許文献1に記載されている、Key Encapsulation Mechanism(KEM)を用いたBCGP方式が知られている。
このBCGP方式については、いわゆるCK−modelでの安全性が示されている。CK−modelについては、非特許文献2を参照のこと。
Colin Boyd, Yvonne Cliff, Juan Manuel Gonz´alez Nieto, Kenneth G.Paterson, "Efficient One-Round Key Exchange in the Standard Model.", ACISP 2008 p.69-83 Ran Canetti and Hugo Krawczyk, "Analysis of key-exchange protocols and their use for building secure channels.", EUROCRYPT 2001, p.453-474, 2001.
しかしながら、非特許文献1に記載されているBCGP方式については、短期秘密鍵の漏洩を許すいわゆるeCK−modelで攻撃することができる。このため、このBCGP方式は、乱数生成器の脆弱性などにより短期秘密鍵の漏洩が起こる場合に必ずしも安全ではない。
この発明の課題は、短期秘密鍵の漏洩を許すいわゆるeCK−modelでも安全性を保つことができる情報提供システム、方法、情報共有装置及びそのプログラムを提供することである。
なお、eCK−modelについては、参考文献1を参照のこと。
[参考文献1]Brian~A. LaMacchia, Kristin Lauter, and Anton Mityagin, “Stronger security of authenticated key exchange.”, ProvSec 2007, p.1-16. 2007.
この発明の1つの態様である情報共有システムは、情報共有装置A及び情報共有装置Bで情報を共有する。セキュリティパラメータkは正の整数である。情報共有装置Aは、第一短期秘密鍵r’ ∈{0,1}及び長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする合成秘密鍵生成部と、長期公開鍵pk 及び合成秘密鍵r を用いて、所定の暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する暗号化部と、第二短期秘密鍵r ∈{0,1}を用いて、所定の鍵生成アルゴリズムKeyGenにより、秘密鍵sk 及び公開鍵pk を生成する鍵生成部と、第一交換情報C 及び公開鍵pk を情報共有装置Bに送信する送信部と、第一交換情報C 及び第二交換情報C を情報共有装置Bから受信する受信部と、長期公開鍵pk 、長期秘密鍵sk 及び第一交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第一共有情報K を生成する第一復号部と、公開鍵pk 、長期秘密鍵sk 及び第二交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第二共有情報K を生成する第二復号部と、第一共有情報K 、第一共有情報K 、第二共有情報K 、長期公開鍵pk 、長期公開鍵pk 、第一交換情報C 、公開鍵pk 、第一交換情報C 、第二交換情報C を所定の情報生成関数に入力したときの出力値を計算する情報生成部と、を含む。情報共有装置Bは、第一交換情報C 及び公開鍵pk を情報共有装置Aから受信する受信部と、第一短期秘密鍵r’ ∈{0,1}及び長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする合成秘密鍵生成部と、長期公開鍵pk 及び合成秘密鍵r を用いて、暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する第一暗号化部と、公開鍵pk 及び第二短期秘密鍵r ∈{0,1}を用いて、暗号化アルゴリズムEnCapにより、第二交換情報C 及び第二共有情報K を生成する第二暗号化部と、第一交換情報C 及び第二交換情報C を情報共有装置Aに送信する送信部と、長期公開鍵pk 、長期秘密鍵sk 及び第一交換情報C を用いて、復号化アルゴリズムDeCapにより、第一共有情報K を生成する復号部と、第一共有情報K 、第一共有情報K 、第二共有情報K 、長期公開鍵pk 、長期公開鍵pk 、第一交換情報C 、公開鍵pk 、第一交換情報C 、第二交換情報C を情報生成関数に入力したときの出力値を計算する情報生成部と、を備える。
この発明の他の1つの態様である情報共有システムは、情報共有装置A及び情報共有装置Bで情報を共有する。セキュリティパラメータkは正の整数である。情報共有装置Aは、第一短期秘密鍵r’ ∈{0,1}及び第一長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする合成秘密鍵生成部と、マスタ公開鍵mpk、情報共有装置Bの識別子であるID ∈{0,1}及び合成秘密鍵r を用いて、所定の暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する暗号化部と、第二短期秘密鍵r ∈{0,1}を用いて、所定の鍵生成アルゴリズムKeyGenにより、秘密鍵msk 及び公開鍵mpk を生成する鍵生成部と、情報共有装置Aの第二の識別子であるID ∈{0,1}を選択するID選択部と、秘密鍵msk 、公開鍵mpk 及びID を用いて、所定の鍵導出アルゴリズムKeyDerにより、第二長期秘密鍵sk を生成する鍵導出部と、第一交換情報C 、公開鍵mpk 及びID を情報共有装置Bに送信する送信部と、第一交換情報C 及び第二交換情報C を情報共有装置Bから受信する受信部と、情報共有装置Aの公開鍵mpk 、情報共有装置Aの第一の識別子であるID 、第一長期秘密鍵sk 及び第一交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第一共有情報K を生成する第一復号部と、公開鍵pk 、ID 、第二長期秘密鍵sk 及び第二交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第二共有情報K を生成する第二復号部と、第一共有情報K 、第一共有情報K 、第二共有情報K 、ID 、ID 、第一交換情報C 、公開鍵mpk 、ID 、第一交換情報C 及び第二交換情報C を所定の情報生成関数に入力したときの出力値を計算する情報生成部と、を含む。情報共有装置Bは、第一交換情報C 、公開鍵mpk 及びID を情報共有装置Aからに受信する受信部と、第一短期秘密鍵r’ ∈{0,1}及び長期秘密鍵sk を合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする合成秘密鍵生成部と、情報共有装置Aの公開鍵mpk 、ID 及び合成秘密鍵r を用いて、暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する第一暗号化部と、公開鍵mpk 、ID 及び第二短期秘密鍵r ∈{0,1}を用いて、暗号化アルゴリズムEnCapにより、第二交換情報C 及び第二共有情報K を生成する第二暗号化部と、第一交換情報C 及び第二交換情報C を情報共有装置Aに送信する送信部と、情報共有装置Bの公開鍵mpk 、ID 、第一長期秘密鍵sk 及び第一交換情報C を用いて、復号化アルゴリズムDeCapにより、第一共有情報K を生成する復号部と、第一共有情報K 、第一共有情報K 、第二共有情報K 、ID 、ID 、第一交換情報C 、公開鍵mpk 、ID 、第一交換情報C 及び第二交換情報C を情報生成関数に入力したときの出力値を計算する情報生成部と、を含む。
短期秘密鍵及び長期秘密鍵を用いて生成した合成秘密鍵を用いて情報の共有を行うことにより、短期秘密鍵の漏洩を許すいわゆるeCK−modelでも安全性を保つことができる。
情報共有システムの構成の例を説明するためのブロック図。 第一実施形態及び第二実施形態の情報共有装置Aの例を説明するためのブロック図。 第一実施形態及び第二実施形態の情報共有装置Bの例を説明するためのブロック図。 第三実施形態及び第四実施形態の情報共有装置Aの例を説明するためのブロック図。 第三実施形態及び第四実施形態の情報共有装置Bの例を説明するためのブロック図。 第一実施形態及び第二実施形態の情報共有方法の例を説明するためのフローチャート。 第一実施形態及び第三実施形態の情報共有方法の例を説明するためのフローチャート。
以下、図面を参照してこの発明の実施形態を説明する。
[第一実施形態]
第一実施形態のKEMを用いた情報共有システム、方法を以下に示す。
<アルゴリズム>
まず、次のようにKEMの各アルゴリズムが定まっているとする。
KeyGen(r)→(sk,pk)は、KEMの鍵生成アルゴリズム。
EnCap(pk,r’)→(C,K)は、KEMの暗号化アルゴリズム。
DeCap(pk,sk,C)→Kは、KEMの復号化アルゴリズム。
<公開パラメータ>
H:{0,1}→{0,1}と、G:{0,1}→{0,1}とをハッシュ関数とする。{0,1}は、それぞれ0又は1であるx個のビットから構成されるビット列を意味する。*は任意の数を意味する。すなわち、{0,1}は、任意の長さのビット列を意味する。kは、所定の正の整数であり、セキュリティパラメータである。
ここで、ハッシュ関数の引数が2以上ありこれらの引数をカンマ「,」で区切った場合には、これらの引数を所定の順序でビット結合したビット列をそのハッシュ関数に入力することを意味する。すなわち、例えば、情報共有装置Aにおいて計算されるG(r’ ,sk )=G(r’ ||sk )である。また、ビット結合する引数の順序は、各ハッシュ関数において同じであるとする。すなわち、情報共有装置A及び情報共有装置Bにおいて、ビット結合をする所定の順序は同じである。つまり、この場合、情報共有装置Bにおいて計算されるG(r’ ,sk )は、G(r’ ||sk )となる。これは、ハッシュ関数Hについても同様である。
各情報共有装置i(i=A,B)は、r∈{0,1}をランダムに選択し、鍵生成KeyGen(r)→(sk ,pk )を行い、sk を長期秘密鍵として秘密に保持し、pk を長期公開鍵として公開する。
<情報交換>
長期公開鍵pk 及び長期秘密鍵sk を持つ情報共有装置Aと、長期公開鍵pk 及び長期秘密鍵sk を持つ情報共有装置Bとは、以下のようにして交換情報を交換して、情報Kを共有する。
1.情報共有装置Aの処理
情報共有装置Aは、第一短期秘密鍵r’ ∈{0,1}及び第二短期秘密鍵r ∈{0,1}をランダムに選び、G(r’ ,sk )=r ∈{0,1}を計算する。
情報共有装置Aは、EnCap(pk ,r )→(C ,K )を計算し、KeyGen(r )→(sk ,pk )を計算する。
情報共有装置Aは、(C ,pk )を情報共有装置Bに送信する。
2.情報共有装置Bの処理
情報共有装置Bは、(C ,pk )を受信する。
情報共有装置Bは、短期秘密鍵r’ ,r ∈{0,1}をランダムに選び、G(r’ ,sk )=r ∈{0,1}を計算する。
情報共有装置Bは、EnCap(pk ,r )→(C ,K )を計算し、EnCap(pk ,r )→(C ,K )を計算する。
情報共有装置Bは、(C ,C )を情報共有装置Aに送信する。
情報共有装置Bは、DeCap(pk ,sk ,C )→K を計算する。
情報共有装置Bは、共有情報K=H(K ,K ,K ,sid),sid=(pk ,pk ,C ,pk ,C ,C )を計算する。共有情報Kは、例えば共有鍵として用いられる。
3.情報共有装置Aの処理
情報共有装置Aは、(C ,C )を受信する。
情報共有装置Aは、DeCap(pk ,sk ,C )→K を計算し、DeCap(pk ,sk ,C )→K を計算する。
情報共有装置Aは、共有情報K=H(K ,K ,K ,sid),sid=(pk ,pk ,C ,pk ,C ,C )を計算する。共有情報Kは、例えば共有鍵として用いられる。
<装置>
公開パラメータ及び情報交換の欄で示した処理は、例えば図1から図3に示された情報共有装置A及び情報共有装置Bにより実行される。
第一実施形態の情報共有装置は、図1に示すように、情報共有装置A及び情報共有装置Bを例えば備える。
情報共有装置Aは、図2に示すように、記憶部A0、乱数生成部A1、長期鍵生成部A2、短期秘密鍵生成部A3、合成秘密鍵生成部A4、暗号化部A5、鍵生成部A6、送信部A7、受信部A8、第一復号部A9、第二復号部A10、情報生成部A11を例えば備える。
情報共有装置Bは、図3に示すように、記憶部B0、乱数生成部B1、長期鍵生成部B2、短期秘密鍵生成部B3、合成秘密鍵生成部B4、第一暗号化部B5、第二暗号化部B6、送信部B7、受信部B8、復号部B9、情報生成部B10を例えば備える。
情報共有方法の処理の流れの例を図6に示す。
情報共有装置Aの乱数生成部A1は、乱数r∈{0,1}を生成する(ステップSA1)。生成された乱数rは、長期鍵生成部A2に送信される。
長期鍵生成部A2は、鍵生成KeyGen(r)→(sk ,pk )を行い(ステップSA2)、sk を長期秘密鍵として秘密に保持し、pk を長期公開鍵として公開する。長期秘密鍵sk は、合成秘密鍵生成部A4及び第一復号部A9に送信される。長期公開鍵pk は、第一復号部A9及び情報生成部A11に送信される。
短期秘密鍵生成部A3は、第一短期秘密鍵r’ ∈{0,1}及び第二短期秘密鍵r ∈{0,1}をランダムに選択する(ステップSA3)。選択された第一短期秘密鍵r’ は、合成秘密鍵生成部A4に送信される。選択された第二短期秘密鍵r は、鍵生成部A6に送信される。
合成秘密鍵生成部A4は、第一短期秘密鍵r’ 及び長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする(ステップSA4)。ここで、所定の合成鍵生成関数は、例えばハッシュ関数G(r’ ,sk )である。合成秘密鍵r は、暗号化部A5に送信される。
暗号化部A5は、長期公開鍵pk 及び合成秘密鍵r を用いて、所定の暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する(ステップSA5)。生成された第一交換情報C は、送信部A7及び情報生成部A11に送信される。生成された第一共有情報K は、情報生成部A11に送信される。
鍵生成部A6は、第二短期秘密鍵r を用いて、所定の鍵生成アルゴリズムKeyGenにより、秘密鍵sk 及び公開鍵pk を生成する(ステップSA6)。生成された秘密鍵sk は、第二復号部A10に送信される。生成された公開鍵pk は、送信部A7、第二復号部A10及び情報生成部A11に送信される。
送信部A7は、第一交換情報C 及び公開鍵pk を情報共有装置Bに送信する(ステップSA7)。
受信部A8は、第一交換情報C 及び第二交換情報C を情報共有装置Bから受信する(ステップSA8)。第一交換情報C は、第一復号部A9及び情報生成部A11に送信される。第二交換情報C は、第二復号部A10及び情報生成部A11に送信される。
第一復号部A9は、長期公開鍵pk 、長期秘密鍵sk 及び第一交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第一共有情報K を生成する(ステップSA9)。生成された第一共有情報K は、情報生成部A11に送信される。
第二復号部A10は、公開鍵pk 、長期秘密鍵sk 及び第二交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第二共有情報K を生成する(ステップSA10)。生成された第二共有情報K は、情報生成部A11に送信される。
情報生成部A11は、第一共有情報K 、第一共有情報K 、第二共有情報K 、長期公開鍵pk 、長期公開鍵pk 、第一交換情報C 、公開鍵pk 、第一交換情報C 、第二交換情報C を所定の情報生成関数に入力したときの出力値を計算する(ステップSA11)。所定の情報生成関数は、例えばハッシュ関数Hである。この場合、情報生成部A11が計算する出力値は、H(K ,K ,K ,pk ,pk ,C ,pk ,C ,C )となる。この出力値が、共有の対象となる共有情報Kとなる。
情報共有装置Bの受信部B8(図3)は、第一交換情報C 及び公開鍵pk を受信する(ステップSB8)。第一交換情報C は、復号部B9に送信される。公開鍵pk は、第二暗号化部B6に送信される。
乱数生成部B1は、乱数r∈{0,1}を生成する(ステップSB1)。生成された乱数rは、長期鍵生成部B2に送信される。
長期鍵生成部B2は、鍵生成KeyGen(r)→(sk ,pk )を行い(ステップSB2)、sk を長期秘密鍵として秘密に保持し、pk を長期公開鍵として公開する。長期秘密鍵sk は、合成秘密鍵生成部B4及び復号部B9に送信される。長期公開鍵pk は、復号部B9及び情報生成部B10に送信される。
短期秘密鍵生成部B3は、第一短期秘密鍵r’ ∈{0,1}及び第二短期秘密鍵r ∈{0,1}をランダムに選択する(ステップSB3)。選択された第一短期秘密鍵r’ は、合成秘密鍵生成部B4に送信される。選択された第二短期秘密鍵r は、第二暗号化部B6に送信される。
合成秘密鍵生成部B4は、第一短期秘密鍵r’ 及び長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする(ステップSB4)。ここで、所定の合成鍵生成関数は、合成秘密鍵生成部A4が用いた合成鍵生成関数と同じ関数であり、例えばハッシュ関数G(r’ ,sk )である。合成秘密鍵r は、第一暗号化部B5に送信される。
第一暗号化部B5は、長期公開鍵pk 及び合成秘密鍵r を用いて、所定の暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する(ステップSB5)。生成された第一交換情報C は、送信部B7及び情報生成部B10に送信される。生成された第一共有情報K は、情報生成部B10に送信される。
第二暗号化部B6は、公開鍵pk 及び第二短期秘密鍵r を用いて、所定の暗号化アルゴリズムEnCapにより、第二交換情報C 及び第二共有情報K を生成する(ステップSB6)。生成された第二交換情報C は、送信部B7及び情報生成部B10に送信される。生成された第二共有情報K は、情報生成部B10に送信される。
送信部B7は、第一交換情報C 及び第二交換情報C を情報共有装置Aに送信する(ステップSB7)。
復号部B9は、長期公開鍵pk 、長期秘密鍵sk 及び第一交換情報C を用いて、復号化アルゴリズムDeCapにより、第一共有情報K を生成する。生成された第一共有情報K は、情報生成部B10に送信される。
情報生成部B10は、第一共有情報K 、第一共有情報K 、第二共有情報K 、長期公開鍵pk 、長期公開鍵pk 、第一交換情報C 、公開鍵pk 、第一交換情報C 、第二交換情報C を情報生成関数に入力したときの出力値を計算する。この情報生成関数は、情報共有装置Aの情報生成部A11が用いる情報生成関数と同じ関数であり、例えばハッシュ関数Hである。この場合、情報生成部B10が計算する出力値は、H(K ,K ,K ,pk ,pk ,C ,pk ,C ,C )となる。この出力値が、共有の対象となる共有情報Kとなる。
[第二実施形態]
第二実施形態は、以下の部分において第一実施形態と異なる。以下では、第一実施形態と異なる部分を中心に説明をし、第一実施形態と同様の部分については重複説明を省略する。
ステップSA1において、乱数生成部A1は、長期秘密鍵t∈{0,1}を更に生成する。生成された長期秘密鍵tは、合成秘密鍵生成部A4に送信される。
また、ステップSA3において、短期秘密鍵生成部A3は、短期秘密鍵s’ ∈{0,1}を更に生成する。生成された短期秘密鍵s’ ∈は、合成秘密鍵生成部A4に送信される。
また、ステップSA4において合成秘密鍵生成部A4は、PRF(t,r’ )xorPRF(s’ ,t)を計算して、合成秘密鍵r ∈{0,1}とする。ここで、PRF及びPRFはk個のビットから構成されるビット列{0,1}を出力する擬似ランダム関数、xorはビットごとの排他的論理和である。すなわち、第二実施形態においては、合成秘密鍵生成部A4が用いる合成鍵生成関数は、PRF(t,r’ )xorPRF(s’ ,t)となる。擬似ランダム関数は、例えば第一引数を鍵として用いる。
また、ステップSB1において、乱数生成部B1は、長期秘密鍵t∈{0,1}を更に生成する。生成された長期秘密鍵tは、合成秘密鍵生成部B4に送信される。
また、ステップSB3において、短期秘密鍵生成部B3は、短期秘密鍵s’ ∈{0,1}を更に生成する。生成された短期秘密鍵s’ ∈は、合成秘密鍵生成部B4に送信される。
また、ステップSB4において合成秘密鍵生成部B4は、PRF(t,r’ )xorPRF(s’ ,t)を計算して、合成秘密鍵r ∈{0,1}とする。すなわち、第二実施形態においては、合成秘密鍵生成部B4が用いる合成鍵生成関数は、PRF(t,r’ )xorPRF(s’ ,t)となる。
さらに、ステップSA11及びステップSB10において、情報生成部A11及び情報生成部B10が用いる情報生成関数は、PRF(L ,sid)xorPRF(L ,sid)xorPRF(L ,sid)である。ここで、Extはランダムネスエクストラクタ、PRFは擬似ランダム関数、sid={pk ,pk ,C ,pk ,C ,C }、L =Ext(K )、L =Ext(K )、L =Ext(K )である。ランダムネスエクストラクタExtは、任意の分布の入力に対して一様の分布を持つ出力値を出力する関数である。
このようにすることにより、第二実施形態では、ランダムオラクルモデルを仮定せずに安全性を示すことができる。
[第三実施形態]
第三実施形態は、ID−base KEMを用いた情報共有を行うものである。
第三実施形態のID−base KEMを用いた情報共有システム、方法を以下に示す。
なお、第一実施形態のpk が、第三実施形態のmpk及びID に対応する。また、第一実施形態のpk が、第三実施形態のmpk 及びID に対応する。さらに、第一実施形態のpk が、第三実施形態のmpk及びID に対応する。これ以外の技術的特徴は、第一実施形態と第三実施形態において同様である。
<アルゴリズム>
まず、次のようにKEMの各アルゴリズムが定まっているとする。
KeyGen(r)→(msk,mpk)は、ID−base KEMのマスタ鍵生成アルゴリズム。
KeyDer(msk,mpk,ID)→skは、ID−base KEMの鍵導出アルゴリズム。
EnCap(mpk,ID,r’)→(C,K)は、ID−base KEMの暗号化アルゴリズム。
DeCap(mpk,ID,sk,C)→Kは、ID−base KEMの復号化アルゴリズム。
<公開パラメータ>
H:{0,1}→{0,1}と、G:{0,1}→{0,1}とをハッシュ関数とする。{0,1}は、それぞれ0又は1であるx個のビットから構成されるビット列を意味する。*は任意の数を意味する。すなわち、{0,1}は、任意の長さのビット列を意味する。kは、所定の正の整数であり、セキュリティパラメータである。
ここで、ハッシュ関数の引数が2以上ありこれらの引数をカンマ「,」で区切った場合には、これらの引数を所定の順序でビット結合したビット列をそのハッシュ関数に入力することを意味する。すなわち、例えば、情報共有装置Aにおいて計算されるG(r’ ,sk )=G(r’ ||sk )である。また、ビット結合する引数の順序は、各ハッシュ関数において同じであるとする。すなわち、情報共有装置A及び情報共有装置Bにおいて、ビット結合をする所定の順序は同じである。つまり、この場合、情報共有装置Bにおいて計算されるG(r’ ,sk )は、G(r’ ||sk )となる。これは、ハッシュ関数Hについても同様である。
例えば図1に破線で示したマスタ鍵生成装置3が、r∈{0,1}をランダムに選択し、マスタ鍵生成KeyGen(r)→(msk,mpk)を行い、mskをマスタ秘密鍵として秘密に保持し、mpkをマスタ公開鍵として公開する。
<鍵導出>
例えば図1に破線で示した鍵導出装置4が、i=A,Bとして、情報共有装置iの識別子ID ∈{0,1}に対して、KeyDer(msk,mpk,ID )→sk を計算し、長期秘密鍵sk を情報共有装置iに秘密裡に送付する。鍵導出装置4は、マスタ鍵生成装置3であってもよい。
<情報交換>
識別子ID 及び長期秘密鍵sk を持つ情報共有装置Aと、識別子ID 及び長期秘密鍵sk を持つ情報共有装置Bとは、以下のようにして交換情報を交換して、情報Kを共有する。
1.情報共有装置Aの処理
情報共有装置Aは、第一短期秘密鍵r’ ∈{0,1}及び第二短期秘密鍵r ∈{0,1}をランダムに選び、G(r’ ,sk )=r ∈{0,1}を計算する。
情報共有装置Aは、EnCap(mpk,ID ,r )→(C ,K )を計算し、KeyGen(r )→(msk ,mpk )を計算する。
情報共有装置Aは、識別子ID ∈{0,1}をランダムに選ぶ。
情報共有装置Aは、KeyDer(msk ,mpk ,ID )→sk を計算する。
情報共有装置Aは、(C ,mpk ,ID )を情報共有装置Bに送信する。
2.情報共有装置Bの処理
情報共有装置Bは、(C ,mpk ,ID )を受信する。
情報共有装置Bは、短期秘密鍵r’ ,r ∈{0,1}をランダムに選び、G(r’ ,sk )=r ∈{0,1}を計算する。
情報共有装置Bは、EnCap(mpk ,ID ,r )→(C ,K )を計算し、EnCap(mpk ,ID ,r )→(C ,K )を計算する。
情報共有装置Bは、(C ,C )を情報共有装置Aに送信する。
情報共有装置Bは、DeCap(mpk ,ID ,sk ,C )→K を計算する。
情報共有装置Bは、共有情報K=H(K ,K ,K ,sid),sid=(ID ,ID ,C ,mpk ,ID ,C ,C )を計算する。共有情報Kは、例えば共有鍵として用いられる。
3.情報共有装置Aの処理
情報共有装置Aは、(C ,C )を受信する。
情報共有装置Aは、DeCap(mpk ,ID ,sk ,C )→K を計算し、DeCap(mpk ,ID ,sk ,C )→K を計算する。
情報共有装置Aは、共有情報K=H(K ,K ,K ,sid),sid=(ID ,ID ,C ,mpk ,ID ,C ,C )を計算する。共有情報Kは、例えば共有鍵として用いられる。
<装置>
公開パラメータ及び情報交換の欄で示した処理は、例えば図1,図4,図5に示された情報共有装置A及び情報共有装置Bにより実行される。
第三実施形態の情報共有システムは、情報共有装置A及び情報共有装置Bに加えて、図1に破線で示されたマスタ鍵生成装置3及び鍵導出装置4を更に備える。
情報共有装置Aは、図4に示すように、記憶部A0、短期秘密鍵生成部A3、合成秘密鍵生成部A4、暗号化部A5、鍵生成部A6、送信部A7、受信部A8、第一復号部A9、第二復号部A10、情報生成部A11、ID選択部A12、鍵導出部A13を例えば備える。
情報共有装置Bは、図5に示すように、記憶部B0、短期秘密鍵生成部B3、合成秘密鍵生成部B4、第一暗号化部B5、第二暗号化部B6、送信部B7、受信部B8、復号部B9、情報生成部B10を例えば備える。
情報共有方法の処理の流れの例を図7に示す。
短期秘密鍵生成部A3は、第一短期秘密鍵r’ ∈{0,1}及び第二短期秘密鍵r ∈{0,1}をランダムに選択する(ステップSA3)。選択された第一短期秘密鍵r’ は、合成秘密鍵生成部A4に送信される。選択された第二短期秘密鍵r は、鍵生成部A6に送信される。
合成秘密鍵生成部A4は、第一短期秘密鍵r’ 及び第一長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする(ステップSA4)。ここで、所定の合成鍵生成関数は、例えばハッシュ関数G(r’ ,sk )である。合成秘密鍵r は、暗号化部A5に送信される。
暗号化部A5は、マスタ公開鍵mpk、情報共有装置Bの識別子であるID ∈{0,1}及び上記合成秘密鍵r を用いて、所定の暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する(ステップSA5)。生成された第一交換情報C は、送信部A7及び情報生成部A11に送信される。生成された第一共有情報K は、情報生成部A11に送信される。
鍵生成部A6が、第二短期秘密鍵r を用いて、所定の鍵生成アルゴリズムKeyGenにより、秘密鍵msk 及び公開鍵mpk を生成する(ステップSA6)。生成された秘密鍵msk は、第二復号部A10及び鍵導出部A13に送信される。生成された公開鍵mpk は、送信部A7、第二復号部A10、情報生成部A11及び鍵導出部A13に送信される。
ID選択部A12は、情報共有装置Aの第二の識別子であるID ∈{0,1}を選択する(ステップSA12)。選択されたID は、送信部A7及び鍵導出部A13に送信される。
鍵導出部A13は、秘密鍵msk 、公開鍵mpk 及びID を用いて、所定の鍵導出アルゴリズムKeyDerにより、第二長期秘密鍵sk を生成する(ステップSA13)。第二長期秘密鍵は、第二復号部A10に送信される。
送信部A7は、第一交換情報C 、公開鍵mpk 及びID を情報共有装置Bに送信する(ステップSA7)。
受信部A8は、第一交換情報C 及び第二交換情報C を情報共有装置Bから受信する(ステップSA8)。第一交換情報C は、第一復号部A9及び情報生成部A11に送信される。第二交換情報C は、第二復号部A10及び情報生成部A11に送信される。
第一復号部A9は、マスタ公開鍵mpk、ID 、第一長期秘密鍵sk 及び第一交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第一共有情報K を生成する(ステップSA9)。生成された第一共有情報K は、情報生成部A11に送信される。
第二復号部A10は、公開鍵pk 、ID 、第二長期秘密鍵sk 及び第二交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第二共有情報K を生成する(ステップSA10)。生成された第二共有情報K は、情報生成部A11に送信される。
情報生成部A11は、第一共有情報K 、第一共有情報K 、第二共有情報K 、ID 、ID 、第一交換情報C 、公開鍵mpk 、ID 、第一交換情報C 及び第二交換情報C を所定の情報生成関数に入力したときの出力値を計算する(ステップSA11)。所定の情報生成関数は、例えばハッシュ関数Hである。この場合、情報生成部A11が計算する出力値は、H(K ,K ,K ,ID ,ID ,C ,mpk ,ID ,C ,C )となる。この出力値が、共有の対象となる共有情報Kとなる。
情報共有装置Bの受信部B8(図5)は、第一交換情報C 、公開鍵mpk 及びID を受信する(ステップSB8)。第一交換情報C は、復号部B9に送信される。公開鍵mpk は、第二暗号化部B6に送信される。
短期秘密鍵生成部B3は、第一短期秘密鍵r’ ∈{0,1}及び第二短期秘密鍵r ∈{0,1}をランダムに選択する(ステップSB3)。選択された第一短期秘密鍵r’ は、合成秘密鍵生成部B4に送信される。選択された第二短期秘密鍵r は、第二暗号化部B6に送信される。
合成秘密鍵生成部B4は、第一短期秘密鍵r’ 及び長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする(ステップSB4)。ここで、所定の合成鍵生成関数は、例えばハッシュ関数G(r’ ,sk )である。合成秘密鍵r は、第一暗号化部B5に送信される。
第一暗号化部B5は、マスタ公開鍵mpk、ID 及び合成秘密鍵r を用いて、所定の暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する(ステップSB5)。生成された第一交換情報C は、送信部B7及び情報生成部B10に送信される。生成された第一共有情報K は、情報生成部B10に送信される。
第二暗号化部B6は、公開鍵mpk 、ID 及び第二短期秘密鍵r Bkを用いて、所定の暗号化アルゴリズムEnCapにより、第二交換情報C 及び第二共有情報K を生成する(ステップSB6)。生成された第二交換情報C は、送信部B7及び情報生成部B10に送信される。生成された第二共有情報K は、情報生成部B10に送信される。
送信部B7は、第一交換情報C 及び第二交換情報C を情報共有装置Aに送信する(ステップSB7)。
復号部B9は、マスタ公開鍵mpk、ID 、第一長期秘密鍵sk 及び第一交換情報C を用いて、復号化アルゴリズムDeCapにより、第一共有情報K を生成する。生成された第一共有情報K は、情報生成部B10に送信される。
情報生成部B10は、第一共有情報K 、第一共有情報K 、第二共有情報K 、ID 、ID 、第一交換情報C 、公開鍵mpk 、ID 、第一交換情報C 及び第二交換情報C を情報生成関数に入力したときの出力値を計算する。この情報生成関数は、情報共有装置Aの情報生成部A11が用いる情報生成関数と同じ関数であり、例えばハッシュ関数Hである。この場合、情報生成部B10が計算する出力値は、H(K ,K ,K ,ID ,ID ,C ,mpk ,ID ,C ,C )となる。この出力値が、共有の対象となる共有情報Kとなる。
[第四実施形態]
第四実施形態は、以下の部分において第三実施形態と異なる。以下では、第三実施形態と異なる部分を中心に説明をし、第三実施形態と同様の部分については重複説明を省略する。
鍵導出装置4(図1)は、更に長期秘密鍵t∈{0,1}をランダムに生成する。生成された長期秘密鍵tは、情報共有装置Aの合成秘密鍵生成部A4に秘密裡に送信される。
また、ステップSA3において、短期秘密鍵生成部A3は、短期秘密鍵s’ ∈{0,1}を更に生成する。生成された短期秘密鍵s’ ∈は、合成秘密鍵生成部A4に送信される。
また、ステップSA4において合成秘密鍵生成部A4は、PRF(t,r’ )xorPRF(s’ ,t)を計算して、合成秘密鍵r ∈{0,1}とする。ここで、PRF及びPRFはk個のビットから構成されるビット列{0,1}を出力する擬似ランダム関数、xorはビットごとの排他的論理和である。すなわち、第四実施形態においては、合成秘密鍵生成部A4が用いる合成鍵生成関数は、PRF(t,r’ )xorPRF(s’ ,t)となる。擬似ランダム関数は、例えば第一引数を鍵として用いる。
また、鍵導出装置4は、更に長期秘密鍵t∈{0,1}をランダムに生成する。生成された長期秘密鍵tは、情報共有装置Bの合成秘密鍵生成部B4に秘密裡に送信される。
また、ステップSB3において、短期秘密鍵生成部B3は、短期秘密鍵s’ ∈{0,1}を更に生成する。生成された短期秘密鍵s’ ∈は、合成秘密鍵生成部B4に送信される。
また、ステップSB4において合成秘密鍵生成部B4は、PRF(t,r’ )xorPRF(s’ ,t)を計算して、合成秘密鍵r ∈{0,1}とする。すなわち、第四実施形態においては、合成秘密鍵生成部B4が用いる合成鍵生成関数は、PRF(t,r’ )xorPRF(s’ ,t)となる。
さらに、ステップSA11及びステップSB10において、情報生成部A11及び情報生成部B10が用いる情報生成関数は、PRF(L ,sid)xorPRF(L ,sid)xorPRF(L ,sid)である。ここで、Extはランダムネスエクストラクタ、PRFは擬似ランダム関数、sid={pk ,pk ,C ,pk ,C ,C }、L =Ext(K )、L =Ext(K )、L =Ext(K )である。ランダムネスエクストラクタExtは、任意の分布の入力に対して一様の分布を持つ出力値を出力する関数である。
このようにすることにより、第四実施形態では、ランダムオラクルモデルを仮定せずに安全性を示すことができる。
[他の変形例]
情報共有装置Aの各部間における情報のやり取りは、記憶部A0を介して行われてもよい。同様に、情報共有装置Bの各部間における情報のやり取りは、記憶部B0を介して行われてもよい。
情報共有装置Aをコンピュータによって実現する場合、情報共有装置Aの各部の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、情報共有装置Aの各部の処理機能がコンピュータ上で実現される。
同様に、情報共有装置Bをコンピュータによって実現する場合、情報共有装置Bの各部の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、情報共有装置Bの各部の処理機能がコンピュータ上で実現される。
これらのプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
この発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
3 マスタ鍵生成装置
4 鍵導出装置
A 情報共有装置
A0 記憶部
A1 乱数生成部
A2 長期鍵生成部
A3 短期秘密鍵生成部
A4 合成秘密鍵生成部
A5 暗号化部
A6 鍵生成部
A7 送信部
A8 受信部
A9 第一復号部
A10 第二復号部
A11 情報生成部
A12 ID選択部
A13 鍵導出部
B 情報共有装置
B0 記憶部
B1 乱数生成部
B2 長期鍵生成部
B3 短期秘密鍵生成部
B4 合成秘密鍵生成部
B5 第一暗号化部
B6 第二暗号化部
B7 送信部
B8 受信部
B9 復号部
B10 情報生成部

Claims (13)

  1. 情報共有装置A及び情報共有装置Bで情報を共有する情報共有システムにおいて、
    セキュリティパラメータkは正の整数であり、
    上記情報共有装置Aは、
    第一短期秘密鍵r’ ∈{0,1}及び長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする合成秘密鍵生成部と、
    長期公開鍵pk 及び上記合成秘密鍵r を用いて、所定の暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する暗号化部と、
    第二短期秘密鍵r ∈{0,1}を用いて、所定の鍵生成アルゴリズムKeyGenにより、秘密鍵sk 及び公開鍵pk を生成する鍵生成部と、
    上記第一交換情報C 及び上記公開鍵pk を上記情報共有装置Bに送信する送信部と、
    第一交換情報C 及び第二交換情報C を上記情報共有装置Bから受信する受信部と、
    長期公開鍵pk 、上記長期秘密鍵sk 及び第一交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第一共有情報K を生成する第一復号部と、
    上記公開鍵pk 、上記長期秘密鍵sk 及び上記第二交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第二共有情報K を生成する第二復号部と、
    上記第一共有情報K 、上記第一共有情報K 、上記第二共有情報K 、上記長期公開鍵pk 、長期公開鍵pk 、上記第一交換情報C 、上記公開鍵pk 、上記第一交換情報C 、上記第二交換情報C を所定の情報生成関数に入力したときの出力値を計算する情報生成部と、
    を含み、
    上記情報共有装置Bは、
    上記第一交換情報C 及び上記公開鍵pk を上記情報共有装置Aから受信する受信部と、
    第一短期秘密鍵r’ ∈{0,1}及び長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする合成秘密鍵生成部と、
    上記長期公開鍵pk 及び上記合成秘密鍵r を用いて、上記暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する第一暗号化部と、
    上記公開鍵pk 及び第二短期秘密鍵r ∈{0,1}を用いて、上記暗号化アルゴリズムEnCapにより、第二交換情報C 及び第二共有情報K を生成する第二暗号化部と、
    上記第一交換情報C 及び上記第二交換情報C を上記情報共有装置Aに送信する送信部と、
    上記長期公開鍵pk 、上記長期秘密鍵sk 及び第一交換情報C を用いて、上記復号化アルゴリズムDeCapにより、上記第一共有情報K を生成する復号部と、
    上記第一共有情報K 、上記第一共有情報K 、上記第二共有情報K 、上記長期公開鍵pk 、上記長期公開鍵pk 、上記第一交換情報C 、上記公開鍵pk 、上記第一交換情報C 、上記第二交換情報C を上記情報生成関数に入力したときの出力値を計算する情報生成部と、
    を含む、
    情報共有システム。
  2. 請求項1の情報共有システムにおいて、
    {0,1} をそれぞれ0又は1である任意の個数のビットから構成されるビット列であるとし、{0,1} をそれぞれ0又は1であるk個のビットから構成されるビット列であるとして、
    上記合成鍵生成関数は、ハッシュ関数G:{0,1}→{0,1}であり、
    上記情報生成関数は、ハッシュ関数H:{0,1}→{0,1}である、
    情報共有システム。
  3. 請求項1の情報共有システムにおいて、
    長期秘密鍵tをt∈{0,1}、短期秘密鍵s’ をs’ ∈{0,1}、PRF及びPRFを擬似ランダム関数、xorを排他的論理和として、上記情報共有装置Aの合成秘密鍵生成部の合成鍵生成関数は、PRF(t,r’ )xorPRF(s’ ,t)であり、
    長期秘密鍵tをt∈{0,1}、短期秘密鍵s’ をs’ ∈{0,1}として、上記情報共有装置Bの合成秘密鍵生成部の合成鍵生成関数は、PRF(t,r’ )xorPRF(s’ ,t)であり、
    Extをランダムネスエクストラクタ、PRFを擬似ランダム関数、sid={pk ,pk ,C ,pk ,C ,C }、L =Ext(K )、L =Ext(K )、L =Ext(K )として、上記情報生成関数は、PRF(L ,sid)xorPRF(L ,sid)xorPRF(L ,sid)である、
    情報共有システム。
  4. 情報共有装置A及び情報共有装置Bで情報を共有する情報共有システムにおいて、
    セキュリティパラメータkは正の整数であり、
    上記情報共有装置Aは、
    第一短期秘密鍵r’ ∈{0,1}及び第一長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする合成秘密鍵生成部と、
    マスタ公開鍵mpk、情報共有装置Bの識別子であるID ∈{0,1}及び上記合成秘密鍵r を用いて、所定の暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する暗号化部と、
    第二短期秘密鍵r ∈{0,1}を用いて、所定の鍵生成アルゴリズムKeyGenにより、秘密鍵msk 及び公開鍵mpk を生成する鍵生成部と、
    上記情報共有装置Aの第二の識別子であるID ∈{0,1}を選択するID選択部と、
    上記秘密鍵msk 、上記公開鍵mpk 及び上記ID を用いて、所定の鍵導出アルゴリズムKeyDerにより、第二長期秘密鍵sk を生成する鍵導出部と、
    上記第一交換情報C 、上記公開鍵mpk 及び上記ID を上記情報共有装置Bに送信する送信部と、
    第一交換情報C 及び第二交換情報C を上記情報共有装置Bから受信する受信部と、
    情報共有装置Aの公開鍵mpk 、情報共有装置Aの第一の識別子であるID 、上記第一長期秘密鍵sk 及び上記第一交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第一共有情報K を生成する第一復号部と、
    上記公開鍵mpk 、上記ID 、上記第二長期秘密鍵sk 及び上記第二交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第二共有情報K を生成する第二復号部と、
    上記第一共有情報K 、上記第一共有情報K 、上記第二共有情報K 、上記ID 、上記ID 、上記第一交換情報C 、上記公開鍵mpk 、上記ID 、上記第一交換情報C 及び上記第二交換情報C を所定の情報生成関数に入力したときの出力値を計算する情報生成部と、
    を含み、
    上記情報共有装置Bは、
    上記第一交換情報C 、上記公開鍵mpk 及び上記ID を上記情報共有装置Aから受信する受信部と、
    第一短期秘密鍵r’ ∈{0,1}及び長期秘密鍵sk を上記合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする合成秘密鍵生成部と、
    情報共有装置Aの公開鍵mpk 、上記ID 及び上記合成秘密鍵r を用いて、上記暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する第一暗号化部と、
    上記公開鍵mpk 、上記ID 及び第二短期秘密鍵r ∈{0,1}を用いて、上記暗号化アルゴリズムEnCapにより、第二交換情報C 及び第二共有情報K を生成する第二暗号化部と、
    上記第一交換情報C 及び上記第二交換情報C を上記情報共有装置Aに送信する送信部と、
    情報共有装置Bの公開鍵mpk 、上記ID 、上記第一長期秘密鍵sk 及び第一交換情報C を用いて、上記復号化アルゴリズムDeCapにより、上記第一共有情報K を生成する復号部と、
    上記第一共有情報K 、上記第一共有情報K 、上記第二共有情報K 、上記ID 、上記ID 、上記第一交換情報C 、上記公開鍵mpk 、上記ID 、上記第一交換情報C 及び上記第二交換情報C を上記情報生成関数に入力したときの出力値を計算する情報生成部と、
    を含む、
    情報共有システム。
  5. 請求項4の情報共有システムにおいて、
    {0,1} をそれぞれ0又は1である任意の個数のビットから構成されるビット列であるとし、{0,1} をそれぞれ0又は1であるk個のビットから構成されるビット列であるとして、
    上記合成鍵生成関数は、ハッシュ関数G:{0,1}→{0,1}であり、
    上記情報生成関数は、ハッシュ関数H:{0,1}→{0,1}である、
    情報共有システム。
  6. 請求項4の情報共有システムにおいて、
    上記情報共有装置Aの合成秘密鍵生成部の合成鍵生成関数は、長期秘密鍵tをt∈{0,1}、短期秘密鍵s’ をs’ ∈{0,1}、PRF及びPRFを擬似ランダム関数、xorを排他的論理和として、PRF(t,r’ )xorPRF(s’ ,t)であり、
    上記情報共有装置Bの合成秘密鍵生成部の合成鍵生成関数は、長期秘密鍵tをt∈{0,1}、短期秘密鍵s’ をs’ ∈{0,1}として、PRF(t,r’ )xorPRF(s’ ,t)であり、
    Extをランダムネスエクストラクタ、PRFを擬似ランダム関数、sid={ID ,ID ,C ,mpk ,ID ,C ,C ,}、L =Ext(K )、L =Ext(K )、L =Ext(K )として、上記情報生成関数は、PRF(L ,sid)xorPRF(L ,sid)xorPRF(L ,sid)である、
    情報共有システム。
  7. 情報共有装置A及び情報共有装置Bで情報を共有する情報共有方法において、
    セキュリティパラメータkは正の整数であり、
    上記情報共有装置Aが、第一短期秘密鍵r’ ∈{0,1}及び長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする合成秘密鍵生成ステップと、
    上記情報共有装置Aが、長期公開鍵pk 及び上記合成秘密鍵r を用いて、所定の暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する暗号化ステップと、
    上記情報共有装置Aが、第二短期秘密鍵r ∈{0,1}を用いて、所定の鍵生成アルゴリズムKeyGenにより、秘密鍵sk 及び公開鍵pk を生成する鍵生成ステップと、
    上記情報共有装置Aが、上記第一交換情報C 及び上記公開鍵pk を上記情報共有装置Bに送信する送信ステップと、
    上記情報共有装置Bが、上記第一交換情報C 及び上記公開鍵pk を上記情報共有装置Aから受信する受信ステップと、
    上記情報共有装置Bが、第一短期秘密鍵r’ ∈{0,1}及び長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする合成秘密鍵生成ステップと、
    上記情報共有装置Bが、上記長期公開鍵pk 及び上記合成秘密鍵r を用いて、上記暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する第一暗号化ステップと、
    上記情報共有装置Bが、上記公開鍵pk 及び第二短期秘密鍵r ∈{0,1}を用いて、上記暗号化アルゴリズムEnCapにより、第二交換情報C 及び第二共有情報K を生成する第二暗号化ステップと、
    上記情報共有装置Bが、上記第一交換情報C 及び上記第二交換情報C を上記情報共有装置Aに送信する送信ステップと、
    上記情報共有装置Aが、第一交換情報C 及び第二交換情報C を上記情報共有装置Bから受信する受信ステップと、
    上記情報共有装置Aが、長期公開鍵pk 、上記長期秘密鍵sk 及び第一交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第一共有情報K を生成する第一復号ステップと、
    上記情報共有装置Aが、上記公開鍵pk 、上記長期秘密鍵sk 及び上記第二交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第二共有情報K を生成する第二復号ステップと、
    上記情報共有装置Aが、上記第一共有情報K 、上記第一共有情報K 、上記第二共有情報K 、上記長期公開鍵pk 、上記長期公開鍵pk 、上記第一交換情報C 、上記公開鍵pk 、上記第一交換情報C 、上記第二交換情報C を所定の情報生成関数に入力したときの出力値を計算する情報生成ステップと、
    上記情報共有装置Bが、上記長期公開鍵pk 、上記長期秘密鍵sk 及び第一交換情報C を用いて、上記復号化アルゴリズムDeCapにより、上記第一共有情報K を生成する復号ステップと、
    上記情報共有装置Bが、上記第一共有情報K 、上記第一共有情報K 、上記第二共有情報K 、上記長期公開鍵pk 、上記長期公開鍵pk 、上記第一交換情報C 、上記公開鍵pk 、上記第一交換情報C 、上記第二交換情報C を上記情報生成関数に入力したときの出力値を計算する情報生成ステップと、を含む、
    情報共有方法。
  8. 情報共有装置A及び情報共有装置Bで情報を共有する情報共有方法において、
    セキュリティパラメータkは正の整数であり、
    上記情報共有装置Aが、第一短期秘密鍵r’ ∈{0,1}及び第一長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする合成秘密鍵生成ステップと、
    上記情報共有装置Aが、マスタ公開鍵mpk、情報共有装置Bの識別子であるID ∈{0,1}及び上記合成秘密鍵r を用いて、所定の暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する暗号化ステップと、
    上記情報共有装置Aが、第二短期秘密鍵r ∈{0,1}を用いて、所定の鍵生成アルゴリズムKeyGenにより、秘密鍵msk 及び公開鍵mpk を生成する鍵生成ステップと、
    上記情報共有装置Aが、上記情報共有装置Aの第二の識別子であるID ∈{0,1}を選択するID選択ステップと、
    上記情報共有装置Aが、上記秘密鍵msk 、上記公開鍵mpk 及び上記ID を用いて、所定の鍵導出アルゴリズムKeyDerにより、第二長期秘密鍵sk を生成する鍵導出ステップと、
    上記情報共有装置Aが、上記第一交換情報C 、上記公開鍵mpk 及び上記ID を上記情報共有装置Bに送信する送信ステップと、
    上記情報共有装置Bが、上記第一交換情報C 、上記公開鍵mpk 及び上記ID を上記情報共有装置Aから受信する受信ステップと、
    上記情報共有装置Bが、第一短期秘密鍵r’ ∈{0,1}及び長期秘密鍵sk を上記合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする合成秘密鍵生成ステップと、
    上記情報共有装置Bが、情報共有装置Aの公開鍵mpk 、上記ID 及び上記合成秘密鍵r を用いて、上記暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する第一暗号化ステップと、
    上記情報共有装置Bが、上記公開鍵mpk 、上記ID 及び第二短期秘密鍵r ∈{0,1}を用いて、上記暗号化アルゴリズムEnCapにより、第二交換情報C 及び第二共有情報K を生成する第二暗号化ステップと、
    上記情報共有装置Bが、上記第一交換情報C 及び上記第二交換情報C を上記情報共有装置Aに送信する送信ステップと、
    上記情報共有装置Aが、第一交換情報C 及び第二交換情報C を上記情報共有装置Bから受信する受信ステップと、
    上記情報共有装置Aが、情報共有装置Aの公開鍵mpk 、情報共有装置Aの第一の識別子であるID 、上記第一長期秘密鍵sk 及び上記第一交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第一共有情報K を生成する第一復号ステップと、
    上記情報共有装置Aが、上記公開鍵mpk 、上記ID 、上記第二長期秘密鍵sk 及び上記第二交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第二共有情報K を生成する第二復号ステップと、
    上記情報共有装置Aが、上記第一共有情報K 、上記第一共有情報K 、上記第二共有情報K 、上記ID 、上記ID 、上記第一交換情報C 、上記公開鍵mpk 、上記ID 、上記第一交換情報C 及び上記第二交換情報C を所定の情報生成関数に入力したときの出力値を計算する情報生成ステップと、
    上記情報共有装置Bが、情報共有装置Bの公開鍵mpk 、上記ID 、上記第一長期秘密鍵sk 及び第一交換情報C を用いて、上記復号化アルゴリズムDeCapにより、上記第一共有情報K を生成する復号ステップと、
    上記情報共有装置Bが、上記第一共有情報K 、上記第一共有情報K 、上記第二共有情報K 、上記ID 、上記ID 、上記第一交換情報C 、上記公開鍵mpk 、上記ID 、上記第一交換情報C 及び上記第二交換情報C を上記情報生成関数に入力したときの出力値を計算する情報生成ステップと、を含む、
    情報共有方法。
  9. 他の情報共有装置と情報を共有する情報共有装置において、
    セキュリティパラメータkは正の整数であり、
    第一短期秘密鍵r’ ∈{0,1}及び長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする合成秘密鍵生成部と、
    長期公開鍵pk 及び上記合成秘密鍵r を用いて、所定の暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する暗号化部と、
    第二短期秘密鍵r ∈{0,1}を用いて、所定の鍵生成アルゴリズムKeyGenにより、秘密鍵sk 及び公開鍵pk を生成する鍵生成部と、
    上記第一交換情報C 及び上記公開鍵pk を上記他の情報共有装置に送信する送信部と、
    第一交換情報C 及び第二交換情報C を上記他の情報共有装置から受信する受信部と、
    長期公開鍵pk 、上記長期秘密鍵sk 及び第一交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第一共有情報K を生成する第一復号部と、
    上記公開鍵pk 、上記長期秘密鍵sk 及び上記第二交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第二共有情報K を生成する第二復号部と、
    上記第一共有情報K 、上記第一共有情報K 、上記第二共有情報K 、上記長期公開鍵pk 、長期公開鍵pk 、上記第一交換情報C 、上記公開鍵pk 、上記第一交換情報C 、上記第二交換情報C を所定の情報生成関数に入力したときの出力値を計算する情報生成部と、を含む、
    情報共有装置。
  10. 他の情報共有装置と情報を共有する情報共有装置において、
    セキュリティパラメータkは正の整数であり、
    第一交換情報C 及び公開鍵pk を上記他の情報共有装置から受信する受信部と、
    第一短期秘密鍵r’ ∈{0,1}及び長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする合成秘密鍵生成部と、
    長期公開鍵pk 及び上記合成秘密鍵r を用いて、所定の暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する第一暗号化部と、
    上記公開鍵pk 及び第二短期秘密鍵r ∈{0,1}を用いて、所定の暗号化アルゴリズムEnCapにより、第二交換情報C 及び第二共有情報K を生成する第二暗号化部と、
    上記第一交換情報C 及び上記第二交換情報C を上記他の情報共有装置に送信する送信部と、
    上記長期公開鍵pk 、上記長期秘密鍵sk 及び上記第一交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第一共有情報K を生成する復号部と、
    上記第一共有情報K 、上記第一共有情報K 、上記第二共有情報K 、上記長期公開鍵pk 、上記長期公開鍵pk 、上記第一交換情報C 、上記公開鍵pk 、上記第一交換情報C 、上記第二交換情報C を上記情報生成関数に入力したときの出力値を計算する情報生成部と、を含む、
    情報共有装置
  11. 他の情報共有装置と情報を共有する情報共有装置において、
    セキュリティパラメータkは正の整数であり、
    第一短期秘密鍵r’ ∈{0,1}及び第一長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする合成秘密鍵生成部と、
    マスタ公開鍵mpk上記他の情報共有装置の識別子であるID ∈{0,1}及び上記合成秘密鍵r を用いて、所定の暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する暗号化部と、
    第二短期秘密鍵r ∈{0,1}を用いて、所定の鍵生成アルゴリズムKeyGenにより、秘密鍵msk 及び公開鍵mpk を生成する鍵生成部と、
    上記情報共有装置の第二の識別子であるID ∈{0,1}を選択するID選択部と、
    上記秘密鍵msk 、上記公開鍵mpk 及び上記ID を用いて、所定の鍵導出アルゴリズムKeyDerにより、第二長期秘密鍵sk を生成する鍵導出部と、
    上記第一交換情報C 、上記公開鍵mpk 及び上記ID を上記他の情報共有装置に送信する送信部と、
    第一交換情報C 及び第二交換情報C を上記他の情報共有装置から受信する受信部と、
    上記情報共有装置の公開鍵mpk 上記情報共有装置の第一の識別子であるID 、上記第一長期秘密鍵sk 及び上記第一交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第一共有情報K を生成する第一復号部と、
    上記公開鍵mpk 、上記ID 、上記第二長期秘密鍵sk 及び上記第二交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、第二共有情報K を生成する第二復号部と、
    上記第一共有情報K 、上記第一共有情報K 、上記第二共有情報K 、上記ID 、上記ID 、上記第一交換情報C 、上記公開鍵mpk 、上記ID 、上記第一交換情報C 及び上記第二交換情報C を所定の情報生成関数に入力したときの出力値を計算する情報生成部と、を含む、
    情報共有装置。
  12. 他の情報共有装置と情報を共有する情報共有装置において、
    セキュリティパラメータkは正の整数であり、
    第一交換情報C 、公開鍵mpk 及び上記他の情報共有装置の第二の識別子であるID を上記他の情報共有装置から受信する受信部と、
    第一短期秘密鍵r’ ∈{0,1}及び長期秘密鍵sk を所定の合成鍵生成関数に入力したときの出力値を合成秘密鍵r ∈{0,1}とする合成秘密鍵生成部と、
    上記他の情報共有装置の公開鍵mpk 、上記他の情報共有装置の第一の識別子であるID 及び上記合成秘密鍵r を用いて、所定の暗号化アルゴリズムEnCapにより、第一交換情報C 及び第一共有情報K を生成する第一暗号化部と、
    上記公開鍵mpk 、上記ID 及び第二短期秘密鍵r ∈{0,1}を用いて、所定の暗号化アルゴリズムEnCapにより、第二交換情報C 及び第二共有情報K を生成する第二暗号化部と、
    上記第一交換情報C 及び上記第二交換情報C を上記他の情報共有装置に送信する送信部と、
    上記情報共有装置の公開鍵mpk 、上記の情報共有装置の識別子であるID 、上記第一長期秘密鍵sk 及び上記第一交換情報C を用いて、所定の復号化アルゴリズムDeCapにより、上記第一共有情報K を生成する復号部と、
    上記第一共有情報K 、上記第一共有情報K 、上記第二共有情報K 、上記ID 、上記ID 、上記第一交換情報C 、上記公開鍵mpk 、上記ID 、上記第一交換情報C 及び上記第二交換情報C を所定の情報生成関数に入力したときの出力値を計算する情報生成部と、を含む、
    情報共有装置。
  13. 請求項9から12の何れかの情報共有装置の各部としてコンピュータを機能させるためのプログラム。
JP2010284725A 2010-12-21 2010-12-21 情報共有システム、方法、情報共有装置及びそのプログラム Active JP5506650B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010284725A JP5506650B2 (ja) 2010-12-21 2010-12-21 情報共有システム、方法、情報共有装置及びそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010284725A JP5506650B2 (ja) 2010-12-21 2010-12-21 情報共有システム、方法、情報共有装置及びそのプログラム

Publications (2)

Publication Number Publication Date
JP2012134744A JP2012134744A (ja) 2012-07-12
JP5506650B2 true JP5506650B2 (ja) 2014-05-28

Family

ID=46649812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010284725A Active JP5506650B2 (ja) 2010-12-21 2010-12-21 情報共有システム、方法、情報共有装置及びそのプログラム

Country Status (1)

Country Link
JP (1) JP5506650B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5931795B2 (ja) * 2013-05-09 2016-06-08 日本電信電話株式会社 鍵交換システム、鍵生成装置、通信装置、鍵交換方法及びプログラム
EP3395034B1 (en) 2015-12-21 2019-10-30 Koninklijke Philips N.V. Network system for secure communication

Also Published As

Publication number Publication date
JP2012134744A (ja) 2012-07-12

Similar Documents

Publication Publication Date Title
US8229112B2 (en) Decipherable searchable encryption method, system for such an encryption
US8675864B2 (en) Apparatus for encrypting data
CN111106936A (zh) 一种基于sm9的属性加密方法与系统
CN113259329A (zh) 一种数据不经意传输方法、装置、电子设备及存储介质
CN105763315A (zh) 数据加密和解密的方法、装置以及通信系统
JP2014220661A (ja) 証明装置、出力装置、検証装置、入力装置、証明方法、検証方法およびプログラム
KR20120079639A (ko) 화이트박스 암호 테이블을 이용한 콘텐츠 보호 장치, 콘텐츠 암호화 및 복호화 장치
JP6194886B2 (ja) 暗号化統計処理システム、復号システム、鍵生成装置、プロキシ装置、暗号化統計データ生成装置、暗号化統計処理方法、および、暗号化統計処理プログラム
JP2012150378A (ja) プロキシ再暗号化システム、鍵生成装置、再暗号化装置、プロキシ再暗号化方法、プログラム
CN102255725A (zh) 随机混合密钥加解密方法
CN105978689B (zh) 一种抗密钥泄漏的云数据安全共享方法
JPWO2018134922A1 (ja) 準同型演算装置、暗号システム及び準同型演算プログラム
JP5732429B2 (ja) 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム
JP5506650B2 (ja) 情報共有システム、方法、情報共有装置及びそのプログラム
JP5469618B2 (ja) 暗号化システム、復号方法、鍵更新方法、鍵生成装置、受信装置、代理計算装置、プログラム
CN101964039A (zh) 一种版权对象的加密保护方法和系统
JP7325689B2 (ja) 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム
JP4561074B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP5713947B2 (ja) プロキシ暗号システム,プロキシ暗号方法,委託装置,プロキシ装置
ES2683771T3 (es) Procedimiento y sistema de acceso condicional a un contenido digital, terminal y dispositivo de abonado asociados
WO2019142824A1 (ja) 通信装置、サーバ装置、秘匿通信システム、その方法、及びプログラム
KR20150139304A (ko) 마스터 키를 보호하기 위한 암호화 장치 및 그 방법
KR102651443B1 (ko) 분산 해독 키 기반의 연합 학습 방법
JP2001211159A (ja) コンテンツ情報復号化方法、コンテンツ情報復号化装置
JP6949276B2 (ja) 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140224

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140318

R150 Certificate of patent or registration of utility model

Ref document number: 5506650

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150