JP5945525B2 - 鍵交換システム、鍵交換装置、その方法、及びプログラム - Google Patents
鍵交換システム、鍵交換装置、その方法、及びプログラム Download PDFInfo
- Publication number
- JP5945525B2 JP5945525B2 JP2013204195A JP2013204195A JP5945525B2 JP 5945525 B2 JP5945525 B2 JP 5945525B2 JP 2013204195 A JP2013204195 A JP 2013204195A JP 2013204195 A JP2013204195 A JP 2013204195A JP 5945525 B2 JP5945525 B2 JP 5945525B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- ciphertext
- generation
- secret
- public
- 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
[定義]
κをセキュリティパラメータとする。
F:{0,1}*×FS→RSE、F':{0,1}*×FS→RSE、G:{0,1}*×FS→{0,1}κをそれぞれ疑似ランダム関数とする。ただし、FSは疑似ランダム関数の鍵空間(|FS|=κ)、RSEは鍵カプセル化アルゴリズムの乱数空間、RSGは鍵生成アルゴリズムの乱数空間とする。Ext:SS×KS→FSをランダムに選んだシードs∈SSを用いる強ランダム抽出器とする。ただし、SSをシード空間、KSをKEM鍵の空間とする。
疑似ランダム関数F、F'及びG、強ランダム抽出器Ext、並びに、シードsを共通公開パラメータとする(図1参照)。
ユーザUIはランダムにσI∈FSとrI∈RSGを選び、鍵生成アルゴリズムより(ekI,dkI)←KeyGen(1κ,rI)を得る。UIの長期秘密鍵と長期公開鍵を((dkI,σI),ekI)とする。
ユーザUAは長期秘密鍵と長期公開鍵((dkA,σA),ekA)を持ち、ユーザUBは長期秘密鍵と長期公開鍵((dkB,σB),ekB)を持つ。
(ekT,dkT)←wKeyGen(1κ,rTA)
(UA,UB,CTA,ekT)を受け取ったら、ユーザUBはランダムにアドホック秘密鍵rB,r'B∈FSとrTB∈RSEをと選ぶ。次に、アドホック秘密鍵rB,r'B、長期秘密鍵(dkB,σB)を用いて次式により暗号文CTBとKEM鍵KBとを計算する。
ユーザUAは、(UA,UB,CTB,CTT)を受け取ったら、
本実施形態では、特殊なKEM(公開鍵独立暗号文生成可能KEM:「KEM with public-key-independent-ciphertext」、以下「PKIC-KEM」ともいう)を用いることで、耐タンパモジュール内でオンライン計算を行うこと無く安全な方式を実現する。
[参考文献1]Taher El Gamal, "A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms", IEEE Transactions on Information Theory, 1985, vol. IT-31, no. 4, pp. 469-472.
[準備]
κをセキュリティパラメータとする。KDF:Salt×X→Yを有限ソルト空間Salt、有限定義域X、有限値域Yを持つ関数とする。このとき、もしH∞(DX)≧κとなるX上の任意分布DXと任意の多項式時間攻撃者Aとに対して、|Pr[y∈RRng;1←A(y)]-Pr[x∈RDom;s∈RSalt;y←KDF(s,x);1←A(y)]|≦neglが成り立つならば、KDFを鍵導出関数と呼ぶ。ただし、A(・)は攻撃者Aに対してある値・を与えたときの出力を表す。つまり、上記式は、有限値域Yの元yを攻撃者Aに対して与えたときに、値域Rngからランダムに元yを選ぶ確率と、KDFの入力をソルトsと有限定義域Xの元xとして元yを出力し、有限値域Yの元yを攻撃者Aに対して与えたときに、有限ソルト空間Saltからランダムにソルトsを選び、定義域Domからランダムに元xを選ぶ確率との差が、漸近的に無視できる程度に十分小さな値以下であることを表している。ただし、|X|=n≧k、|Y|=k、|Salt|=dとする。dは鍵導出関数KDFに対して求められる安全性等により定まる所定の値である。
図2は、鍵交換システム1の構成例を示す図である。鍵交換システム1は、第一鍵交換装置10と第二鍵交換装置20とサーバ30とを含む。各装置は、通信回線を介して接続されている。第一鍵交換装置10と前記第二鍵交換装置20とは、その間で共通の共通鍵(この実施形態では、セッション鍵SK)を共有する。
サーバ30は、疑似ランダム関数G、鍵導出関数KDF、公開ソルトsを公開パラメータとして、第一鍵交換装置10と前記第二鍵交換装置20とがアクセスできるように、図示しない記憶部に記憶しておく。
ユーザUPはランダムにr,r'∈RRSGとrSP∈RRSEを選び、鍵生成アルゴリズムより(ekP,dkP)←KeyGen(1κ,r)と(ekSP,dkSP)←wKeyGen(1κ,r')、暗号文生成アルゴリズムによりCTSP←wEnCapC(rSP)を計算する。UPの長期秘密鍵を(dkP,dkSP,rSP)、長期公開鍵を(ekP,ekSP,CTSP)とする。
<第一記憶部11及び第二記憶部21>
ユーザUAの操作する第一鍵交換装置10は、r,r'∈RRSGとrSA∈RRSEを選び、IND-CCA secure KEMの鍵生成アルゴリズムにより(ekA,dkA)←KeyGen(1κ,r)を生成し、IND-CPA secure PKIC-KEMの鍵生成アルゴリズムにより(ekSA,dkSA)←wKeyGen(1κ,r')を生成する。さらに、IND-CPA secure PKIC-KEMの暗号文生成アルゴリズムによりCTSA←wEnCaAC(rSA)を計算する。第一鍵交換装置10は、(dkA,dkSA,rSA)を第一長期秘密鍵SSKAとして第一記憶部11に秘密に記憶し、(ekA,ekSA,CTSA)を第一長期公開鍵SPKAとして、第一記憶部11またはサーバ30に、第二鍵交換装置20がアクセスできるように、記憶する。
<第一秘密鍵選択部12>
第一秘密鍵選択部12は、暗号文生成の乱数空間RSEからランダムに第一暗号文生成アドホック秘密鍵rAを選択し(rA∈RRSE)、鍵生成の乱数空間RSGからランダムに第一鍵生成アドホック秘密鍵rTAを選択する(s11、rTA∈RRSG)。第一秘密鍵選択部12は、第一暗号文生成アドホック秘密鍵rAと第一鍵生成アドホック秘密鍵rTAとを、第一記憶部11に秘密に記憶する。
第一暗号化部13は、第二長期公開鍵SPKBに含まれる第二IND-CCA公開鍵ekBを第二鍵交換装置20またはサーバ30から受け取る。第一暗号化部13は、第二IND-CCA公開鍵ekBを用いて、IND-CCA secure KEMにより、第一記憶部11から取り出した第一暗号文生成アドホック秘密鍵rAを暗号化し、第一IND-CCA暗号文CTAと第一IND-CCA鍵KAとの組を生成する(s12、(CTA,KA)←EnCapek_B(rA))。第一暗号化部13は、第一IND-CCA鍵KAを第一記憶部11に秘密に記憶する。なお、「秘密」とは、対象となる情報にアクセスするための正当性を有さないものに対してアクセスできないようにすることを意味する。
鍵生成部14は、第一鍵生成アドホック秘密鍵rTAを第一記憶部11から取り出す。鍵生成部14は、IND-CPA secure PKIC-KEMにより、第一鍵生成アドホック秘密鍵rTAを用いて、IND-CPA公開鍵ekTとIND-CPA秘密鍵dkTとの組を生成する(s13、(ekT,dkT)←wKeyGen(1κ,rTA))。鍵生成部14は、IND-CPA秘密鍵dkTを第一記憶部11に秘密に記憶する。
さらに、第一鍵交換装置10は、図示しない受信部を介して、(UA,UB,CTB,CTT)を第二鍵交換装置20から受信する。CTB,CTTの詳細については後述する。
第一復号部15は、第一記憶部11から第一IND-CCA秘密鍵dkAを取り出し、これを用いて、IND-CCA secure KEMにより、第二鍵交換装置20から受信した第二IND-CCA暗号文CTBを復号し、第二IND-CCA鍵KBを求める(s14、KB←DeCapdk_A(CTB))。
第二復号部16は、IND-CPA secure PKIC-KEMにより、第一記憶部11からIND-CPA秘密鍵dkTを取り出し、これを用いて、第二鍵交換装置20から受信したIND-CPA暗号文CTTを復号し、IND-CPA鍵KTを求める(s15、KT←wDeCapdk_T(CTT))。
第三復号部17は、第二鍵交換装置20またはサーバ30から第二IND-CPA暗号文CTSB(公開パラメータ)を受け取る。第三復号部17は、第一記憶部11から第一IND-CPA秘密鍵dkSAを取り出し、これを用いて、IND-CPA secure PKIC-KEMにより、第二IND-CPA暗号文CTSBを復号し、IND-CPA鍵KSを求める(s16、KS←wDeCapdk_SA(CTSB))。
第一パラメータ生成部18は、サーバ30から鍵導出関数KDF及び公開ソルトs(公開パラメータ)を受け取る。第一パラメータ生成部18は、第一暗号化部13、第一復号部15、第二復号部16及び第三復号部17からそれぞれ第一IND-CCA鍵KA、第二IND-CCA鍵KB、IND-CPA鍵KT及びIND-CPA鍵KSを受け取り、これらの値と、鍵導出関数KDF及び公開ソルトsとを用いて、次式により、セッション鍵生成パラメータK'1、K'2、K'3及びK'4を求める(s17)。
K'1←KDF(s,KA)
K'2←KDF(s,KB)
K'3←KDF(s,KT)
K'4←KDF(s,KS)
第一セッション鍵生成部19は、疑似ランダム関数G(公開パラメータ)をサーバ30から受け取る。第一セッション鍵生成部19は、第一パラメータ生成部18からセッション鍵生成パラメータK'1、K'2、K'3及びK'4を受け取り、疑似ランダム関数Gにより、セッション識別子ST=(UA,UB,SPKA,SPKB,CTA,ekT,CTB,CTT)と、セッション鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて、次式により、セッション鍵SKを生成する(s18)。
<第二秘密鍵選択部22>
第二秘密鍵選択部22は、暗号文生成の乱数空間RSEからランダムに第二暗号文生成アドホック秘密鍵rBを選択し(rB∈RRSE)、暗号文生成の乱数空間RSEからランダムに第二鍵生成アドホック秘密鍵rTBを選択する(s21、rTB∈RRSE)。第二秘密鍵選択部22は、第二暗号文生成アドホック秘密鍵rBと第二鍵生成アドホック秘密鍵rTBとを、第二記憶部21に秘密に記憶する。
第二暗号化部23は、第一長期公開鍵SPKAに含まれる第一IND-CCA公開鍵ekAを第一鍵交換装置10またはサーバ30から受け取る。第二暗号化部23は、第一IND-CCA公開鍵ekAを用いて、IND-CCA secure KEMにより、第二記憶部21から取り出した第二暗号文生成アドホック秘密鍵rBを暗号化し、第二IND-CCA暗号文CTBと第二IND-CCA鍵KBとの組を生成する(s22、(CTB,KB)←EnCapek_A(rB))。第二暗号化部は、第二IND-CCA鍵KBを第二記憶部21に秘密に記憶する。
第三暗号化部24は、第二鍵生成アドホック秘密鍵rTBを第二記憶部21から取り出し、IND-CPA secure PKIC-KEMの暗号文生成アルゴリズムwEnCapCにより、取り出した第二鍵生成アドホック秘密鍵rTBを暗号化し、IND-CPA暗号文CTTを生成する(s23、CTT←wEnCapC(rTB))。
さらに、第二鍵交換装置20は、図示しない送信部を介して、(UA,UB,CTB,CTT)を第一鍵交換装置10に送信する。
第四復号部25は、第二記憶部21から第二IND-CCA秘密鍵dkBを取り出し、これを用いて、IND-CCA secure KEMにより、受信した(UA,UB,CTA,ekT)に含まれる第一IND-CCA暗号文CTAを復号し、第一IND-CCA鍵KAを求める(s24、KA←DeCapdk_B(CTA))。
第四暗号化部26は、第二鍵生成アドホック秘密鍵rTBを第二記憶部21から取り出す。第四暗号化部26は、IND-CPA secure PKIC-KEMのKEM鍵生成アルゴリズムwEnCapKにより、受信した(UA,UB,CTA,ekT)に含まれるIND-CPA公開鍵ekTを用いて、第三暗号化部24で生成したIND-CPA暗号文CTT及び取り出した第二鍵生成アドホック秘密鍵rTBを暗号化し、IND-CPA鍵KTを生成する(s25、KT←wEnCapKek_T(CTT;rTB))。
第五暗号化部27は、サーバ30または第一鍵交換装置10から長期公開鍵SPKAに含まれる第一IND-CPA公開鍵ekSAを受け取る。第五暗号化部27は、第二記憶部21から第二長期秘密鍵SSKBに含まれる第二暗号文生成秘密鍵rSBを取り出し、IND-CPA secure PKIC-KEMのKEM鍵生成アルゴリズムwEnCapKにより、受け取った第一IND-CPA公開鍵ekSAを用いて、第二長期公開鍵SPKBに含まれる第二IND-CPA暗号文CTSB及び取り出した第二暗号文生成秘密鍵rSBを暗号化し、IND-CPA鍵KSを生成する(s26、KS←wEnCapKek_SA(CTSB,rSB))。
第二パラメータ生成部28は、サーバ30から鍵導出関数KDF及び公開ソルトs(公開パラメータ)を受け取る。第二パラメータ生成部28は、第二暗号化部23、第四復号部25、第四暗号化部26及び第五暗号化部27からそれぞれ第二IND-CCA鍵KB、第一IND-CCA鍵KA、IND-CPA鍵KT及びIND-CPA鍵KSを受け取り、これらの値と、鍵導出関数KDF及び公開ソルトsとを用いて、次式により、セッション鍵生成パラメータK'1、K'2、K'3及びK'4を求める(s27)。
K'1←KDF(s,KA)
K'2←KDF(s,KB)
K'3←KDF(s,KT)
K'4←KDF(s,KS)
第二セッション鍵生成部29は、疑似ランダム関数G(公開パラメータ)をサーバ30から受け取る。第二セッション鍵生成部29は、第二パラメータ生成部28からセッション鍵生成パラメータK'1、K'2、K'3及びK'4を受け取り、疑似ランダム関数Gにより、セッション識別子ST=(UA,UB,SPKA,SPKB,CTA,ekT,CTB,CTT)と、セッション鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて、次式により、セッション鍵SKを生成する(s28)。
このような構成により、FSXY方式のように
なお、本実施形態では、鍵カプセル化メカニズムとして、IND-CCA secure KEMを用いているが、必ずしも、選択暗号文攻撃に対して識別不可能でなく、また、公開鍵独立暗号文生成可能鍵カプセル化メカニズムとしてIND-CPA secure PKIC-KEMを用いているが、必ずしも、選択平文攻撃に対して識別不可能でなくとも、耐タンパモジュール内でオンライン計算を行うこと無く安全な方式を実現することができる。ただし、IND-CCA secure KEMとIND-CPA secure PKIC-KEMとを用いることで、数学的にも安全となる。
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
Claims (8)
- 第一鍵交換装置と第二鍵交換装置とを含み、前記第一鍵交換装置と前記第二鍵交換装置との間で共通の共通鍵を共有する鍵交換システムであって、
秘密鍵dkAは鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSAは、暗号文を公開鍵の情報無しで生成できる公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第一暗号文生成秘密鍵rSAは暗号文生成の乱数空間RSEからランダムに選択され、第一暗号文CTSAは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第一暗号文生成秘密鍵rSAが暗号化されて生成されるものであり、秘密鍵dkAと秘密鍵dkSAと第一暗号文生成秘密鍵rSAとを含む第一長期秘密鍵SSKAが、前記第一鍵交換装置以外の鍵交換装置に対して秘密にされ、前記秘密鍵dkAに対応する公開鍵ekAと前記秘密鍵dkSAに対応する公開鍵ekSAと第一暗号文CTSAとを含む第一長期公開鍵SPKAとが、前記第二鍵交換装置に対してアクセス可能にされるものとし、
秘密鍵dkBは前記鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSBは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第二暗号文生成秘密鍵rSBは暗号文生成の乱数空間RSEからランダムに選択され、第二暗号文CTSBは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第二暗号文生成秘密鍵rSBが暗号化されて生成されるものであり、秘密鍵dkBと秘密鍵dkSBと第二暗号文生成秘密鍵rSBとを含む第二長期秘密鍵SSKBを秘密にされ、前記秘密鍵dkBに対応する公開鍵ekBと前記秘密鍵dkSBに対応する公開鍵ekSBと第二暗号文CTSBとを含む第二長期公開鍵SPKBを前記第一鍵交換装置に対してアクセス可能にされるものとし、
前記第一鍵交換装置は、
暗号文生成の乱数空間RSEからランダムに第一暗号文生成アドホック秘密鍵rAを選択し、鍵生成の乱数空間RSGからランダムに第一鍵生成アドホック秘密鍵rTAを選択する第一秘密鍵選択部と、
前記第二鍵交換装置にアクセス可能に記憶される第二長期公開鍵SPKBに含まれる公開鍵ekBを用いて、前記鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第一暗号文生成アドホック秘密鍵rAを暗号化し、第一暗号文CTAと第一鍵KAとの組を生成する第一暗号化部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより、前記第一鍵生成アドホック秘密鍵rTAを用いて、公開鍵ekTと秘密鍵dkTとの組を生成する鍵生成部と、
前記秘密鍵dkAを用いて、前記鍵カプセル化メカニズムの復号アルゴリズムにより、前記第二鍵交換装置から受信する第二暗号文CTBを復号し、第二鍵KBを求める第一復号部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、前記秘密鍵dkTを用いて、前記第二鍵交換装置から受信する暗号文CTTを復号し、鍵KTを求める第二復号部と、
前記秘密鍵dkSAを用いて、前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、第二暗号文生成秘密鍵rSBが暗号化されて生成される第二暗号文CTSBを復号し、鍵KSを求める第三復号部と、
前記第一鍵KA、前記第二鍵KB、前記鍵KT及び前記鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第一パラメータ生成部と、
疑似ランダム関数Gにより、セッション識別子と、前記共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第一共通鍵生成部とを含み、
前記第二鍵交換装置は、
暗号文生成の乱数空間RSEからランダムに第二暗号文生成アドホック秘密鍵rBを選択し、暗号文生成の乱数空間RSEからランダムに第二鍵生成アドホック秘密鍵rTBを選択する第二秘密鍵選択部と、
前記公開鍵ekAを用いて、前記鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第二暗号文生成アドホック秘密鍵rBを暗号化し、第二暗号文CTBと第二鍵KBとの組を生成する第二暗号化部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより、前記第二鍵生成アドホック秘密鍵rTBを暗号化し、前記暗号文CTTを生成する第三暗号化部と、
前記秘密鍵dkBを用いて、前記鍵カプセル化メカニズムの復号アルゴリズムにより、前記第一暗号文CTAを復号し、第一鍵KAを求める第四復号部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、前記公開鍵ekTを用いて、前記暗号文CTT及び前記第二鍵生成アドホック秘密鍵rTBを暗号化し、鍵KTを生成する第四暗号化部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、前記公開鍵ekSAを用いて、前記第二暗号文CTSB及び前記第二暗号文生成秘密鍵rSBを暗号化し、鍵KSを生成する第五暗号化部と、
前記第一鍵KA、前記第二鍵KB、前記鍵KT及び前記鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第二パラメータ生成部と、
前記疑似ランダム関数Gにより、セッション識別子と、前記共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第二共通鍵生成部とを含む、
鍵交換システム。 - 請求項1の鍵交換システムであって、
κをセキュリティパラメータ、FSを疑似ランダム関数の鍵空間、|FS|=κ、G:{0,1}*×FS→{0,1}κを疑似ランダム関数、KSをKEM鍵の空間、Saltをソルト空間、KDF:Salt×KS→FSをランダムに選んだ公開ソルトs∈Saltを用いる鍵導出関数、Ext:SS×KS→FSをランダムに選んだ公開シードs'を用いる強ランダム抽出器とし、
疑似ランダム関数G、鍵導出関数KDF及び公開ソルトs、または、強ランダム抽出器Ext及びシードs'を共通公開パラメータとし、
前記第一パラメータ生成部及び前記第二パラメータ生成部は、
K'1←KDF(s,KA)
K'2←KDF(s,KB)
K'3←KDF(s,KT)
K'4←KDF(s,KS)
または
K'1←Ext(s',KA)
K'2←Ext(s',KB)
K'3←Ext(s',KT)
K'4←Ext(s',KS)
により、前記共通鍵生成パラメータK'1、K'2、K'3及びK'4を求め、
前記第一共通鍵生成部及び前記第二共通鍵生成部は、UA及びUAをそれぞれ第一鍵交換装置及び第二鍵交換装置の操作者の識別子とし、セッション識別子ST=(UA,UB,SPKA,SPKB,CTA,ekT,CTB,CTT)を用いて、
により、前記共通鍵SKを生成する、
鍵交換システム。 - 請求項1または2の鍵交換システムであって、
前記鍵カプセル化メカニズムは、選択暗号文攻撃に対して識別不可能であり、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムは、選択平文攻撃に対して識別不可能である、
鍵交換システム。 - 他の装置との間で共通の共通鍵を共有する鍵交換装置であって、
秘密鍵dkAは鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSAは、暗号文を公開鍵の情報無しで生成できる公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第一暗号文生成秘密鍵rSAは暗号文生成の乱数空間RSEからランダムに選択され、第一暗号文CTSAは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第一暗号文生成秘密鍵rSAが暗号化されて生成されるものであり、秘密鍵dkAと秘密鍵dkSAと第一暗号文生成秘密鍵rSAとを含む第一長期秘密鍵SSKAが、前記鍵交換装置以外の鍵交換装置に対して秘密にされ、前記秘密鍵dkAに対応する公開鍵ekAと前記秘密鍵dkSAに対応する公開鍵ekSAと第一暗号文CTSAとを含む第一長期公開鍵SPKAとが、前記他の装置に対してアクセス可能にされるものとし、
秘密鍵dkBは前記鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSBは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第二暗号文生成秘密鍵rSBは暗号文生成の乱数空間RSEからランダムに選択され、第二暗号文CTSBは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第二暗号文生成秘密鍵rSBが暗号化されて生成されるものであり、秘密鍵dkBと秘密鍵dkSBと第二暗号文生成秘密鍵rSBとを含む第二長期秘密鍵SSKBを秘密にされ、前記秘密鍵dkBに対応する公開鍵ekBと前記秘密鍵dkSBに対応する公開鍵ekSBと第二暗号文CTSBとを含む第二長期公開鍵SPKBを前記鍵交換装置に対してアクセス可能にされるものとし、
暗号文生成の乱数空間RSEからランダムに第一暗号文生成アドホック秘密鍵rAを選択し、鍵生成の乱数空間RSGからランダムに第一鍵生成アドホック秘密鍵rTAを選択する第一秘密鍵選択部と、
前記他の装置にアクセス可能に記憶される第二長期公開鍵SPKBに含まれる公開鍵ekBを用いて、前記鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第一暗号文生成アドホック秘密鍵rAを暗号化し、第一暗号文CTAと第一鍵KAとの組を生成する第一暗号化部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより、前記第一鍵生成アドホック秘密鍵rTAを用いて、公開鍵ekTと秘密鍵dkTとの組を生成する鍵生成部と、
前記秘密鍵dkAを用いて、前記鍵カプセル化メカニズムの復号アルゴリズムにより、前記他の装置から受信する第二暗号文CTBを復号し、第二鍵KBを求める第一復号部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、前記秘密鍵dkTを用いて、前記他の装置から受信する暗号文CTTを復号し、鍵KTを求める第二復号部と、
前記秘密鍵dkSAを用いて、前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、第二暗号文生成秘密鍵rSBが暗号化されて生成される第二暗号文CTSBを復号し、鍵KSを求める第三復号部と、
前記第一鍵KA、前記第二鍵KB、前記鍵KT及び前記鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第一パラメータ生成部と、
疑似ランダム関数Gにより、セッション識別子と、前記共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第一共通鍵生成部とを含む、
鍵交換装置。 - 他の装置との間で共通の共通鍵を共有する鍵交換装置であって、
秘密鍵dkAは鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSAは、暗号文を公開鍵の情報無しで生成できる公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第一暗号文生成秘密鍵rSAは暗号文生成の乱数空間RSEからランダムに選択され、第一暗号文CTSAは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第一暗号文生成秘密鍵rSAが暗号化されて生成されるものであり、秘密鍵dkAと秘密鍵dkSAと第一暗号文生成秘密鍵rSAとを含む第一長期秘密鍵SSKAが、前記他の装置以外の鍵交換装置に対して秘密にされ、前記秘密鍵dkAに対応する公開鍵ekAと前記秘密鍵dkSAに対応する公開鍵ekSAと第一暗号文CTSAとを含む第一長期公開鍵SPKAとが、前記鍵交換装置に対してアクセス可能にされるものとし、
秘密鍵dkBは前記鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSBは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第二暗号文生成秘密鍵rSBは暗号文生成の乱数空間RSEからランダムに選択され、第二暗号文CTSBは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第二暗号文生成秘密鍵rSBが暗号化されて生成されるものであり、秘密鍵dkBと秘密鍵dkSBと第二暗号文生成秘密鍵rSBとを含む第二長期秘密鍵SSKBを秘密にされ、前記秘密鍵dkBに対応する公開鍵ekBと前記秘密鍵dkSBに対応する公開鍵ekSBと第二暗号文CTSBとを含む第二長期公開鍵SPKBを前記他の装置に対してアクセス可能にされるものとし、
暗号文生成の乱数空間RSEからランダムに第二暗号文生成アドホック秘密鍵rBを選択し、暗号文生成の乱数空間RSEからランダムに第二鍵生成アドホック秘密鍵rTBを選択する第二秘密鍵選択部と、
前記公開鍵ekAを用いて、前記鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第二暗号文生成アドホック秘密鍵rBを暗号化し、第二暗号文CTBと第二鍵KBとの組を生成する第二暗号化部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより、前記第二鍵生成アドホック秘密鍵rTBを暗号化し、前記暗号文CTTを生成する第三暗号化部と、
前記秘密鍵dkBを用いて、前記鍵カプセル化メカニズムの復号アルゴリズムにより、前記他の装置から受信する第一暗号文CTAを復号し、第一鍵KAを求める第四復号部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、前記他の装置から受信する公開鍵ekTを用いて、前記暗号文CTT及び前記第二鍵生成アドホック秘密鍵rTBを暗号化し、鍵KTを生成する第四暗号化部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、前記公開鍵ekSAを用いて、前記第二暗号文CTSB及び前記第二暗号文生成秘密鍵rSBを暗号化し、鍵KSを生成する第五暗号化部と、
前記第一鍵KA、前記第二鍵KB、前記鍵KT及び前記鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第二パラメータ生成部と、
前記疑似ランダム関数Gにより、セッション識別子と、前記共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第二共通鍵生成部とを含む、
鍵交換装置。 - 第一鍵交換装置と第二鍵交換装置との間で共通の共通鍵を共有するための鍵交換方法であって、
秘密鍵dkAは鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSAは、暗号文を公開鍵の情報無しで生成できる公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第一暗号文生成秘密鍵rSAは暗号文生成の乱数空間RSEからランダムに選択され、第一暗号文CTSAは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第一暗号文生成秘密鍵rSAが暗号化されて生成されるものであり、秘密鍵dkAと秘密鍵dkSAと第一暗号文生成秘密鍵rSAとを含む第一長期秘密鍵SSKAが、前記第一鍵交換装置以外の鍵交換装置に対して秘密にされ、前記秘密鍵dkAに対応する公開鍵ekAと前記秘密鍵dkSAに対応する公開鍵ekSAと第一暗号文CTSAとを含む第一長期公開鍵SPKAとが、前記第二鍵交換装置に対してアクセス可能にされるものとし、
秘密鍵dkBは前記鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSBは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第二暗号文生成秘密鍵rSBは暗号文生成の乱数空間RSEからランダムに選択され、第二暗号文CTSBは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第二暗号文生成秘密鍵rSBが暗号化されて生成されるものであり、秘密鍵dkBと秘密鍵dkSBと第二暗号文生成秘密鍵rSBとを含む第二長期秘密鍵SSKBを秘密にされ、前記秘密鍵dkBに対応する公開鍵ekBと前記秘密鍵dkSBに対応する公開鍵ekSBと第二暗号文CTSBとを含む第二長期公開鍵SPKBを前記第一鍵交換装置に対してアクセス可能にされるものとし、
前記第一鍵交換装置が、暗号文生成の乱数空間RSEからランダムに第一暗号文生成アドホック秘密鍵rAを選択し、鍵生成の乱数空間RSGからランダムに第一鍵生成アドホック秘密鍵rTAを選択する第一秘密鍵選択ステップと、
前記第一鍵交換装置が、前記第二鍵交換装置にアクセス可能に記憶される第二長期公開鍵SPKBに含まれる公開鍵ekBを用いて、前記鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第一暗号文生成アドホック秘密鍵rAを暗号化し、第一暗号文CTAと第一鍵KAとの組を生成する第一暗号化ステップと、
前記第一鍵交換装置が、前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより、前記第一鍵生成アドホック秘密鍵rTAを用いて、公開鍵ekTと秘密鍵dkTとの組を生成する鍵生成ステップと、
前記第二鍵交換装置が、暗号文生成の乱数空間RSEからランダムに第二暗号文生成アドホック秘密鍵rBを選択し、暗号文生成の乱数空間RSEからランダムに第二鍵生成アドホック秘密鍵rTBを選択する第二秘密鍵選択ステップと、
前記第二鍵交換装置が、前記公開鍵ekAを用いて、前記鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第二暗号文生成アドホック秘密鍵rBを暗号化し、第二暗号文CTBと第二鍵KBとの組を生成する第二暗号化ステップと、
前記第二鍵交換装置が、前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより、前記第二鍵生成アドホック秘密鍵rTBを暗号化し、前記暗号文CTTを生成する第三暗号化ステップと、
前記第一鍵交換装置が、前記秘密鍵dkAを用いて、前記鍵カプセル化メカニズムの復号アルゴリズムにより、前記第二鍵交換装置から受信する第二暗号文CTBを復号し、第二鍵KBを求める第一復号ステップと、
前記第一鍵交換装置が、前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、前記秘密鍵dkTを用いて、前記第二鍵交換装置から受信する暗号文CTTを復号し、鍵KTを求める第二復号ステップと、
前記第一鍵交換装置が、前記秘密鍵dkSAを用いて、前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、第二暗号文生成秘密鍵rSBが暗号化されて生成される第二暗号文CTSBを復号し、鍵KSを求める第三復号ステップと、
前記第一鍵交換装置が、前記第一鍵KA、前記第二鍵KB、前記鍵KT及び前記鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第一パラメータ生成ステップと、
前記第一鍵交換装置が、疑似ランダム関数Gにより、セッション識別子と、前記共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第一共通鍵生成ステップと、
前記第二鍵交換装置が、前記秘密鍵dkBを用いて、前記鍵カプセル化メカニズムの復号アルゴリズムにより、前記第一暗号文CTAを復号し、第一鍵KAを求める第四復号ステップと、
前記第二鍵交換装置が、前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、前記公開鍵ekTを用いて、前記暗号文CTT及び前記第二鍵生成アドホック秘密鍵rTBを暗号化し、鍵KTを生成する第四暗号化ステップと、
前記第二鍵交換装置が、前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、前記公開鍵ekSAを用いて、前記第二暗号文CTSB及び前記第二暗号文生成秘密鍵rSBを暗号化し、鍵KSを生成する第五暗号化ステップと、
前記第二鍵交換装置が、前記第一鍵KA、前記第二鍵KB、前記鍵KT及び前記鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第二パラメータ生成ステップと、
前記第二鍵交換装置が、前記疑似ランダム関数Gにより、セッション識別子と、前記共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第二共通鍵生成ステップとを含む、
鍵交換方法。 - 請求項5の鍵交換方法であって、
κをセキュリティパラメータ、FSを疑似ランダム関数の鍵空間、|FS|=κ、G:{0,1}*×FS→{0,1}κを疑似ランダム関数、KSをKEM鍵の空間、Saltをソルト空間、KDF:Salt×KS→FSをランダムに選んだ公開ソルトs∈Saltを用いる鍵導出関数、Ext:SS×KS→FSをランダムに選んだ公開シードs'を用いる強ランダム抽出器とし、
疑似ランダム関数G、鍵導出関数KDF及び公開ソルトs、または、強ランダム抽出器Ext及びシードs'を共通公開パラメータとし、
前記第一パラメータ生成ステップ及び前記第二パラメータ生成ステップは、
K'1←KDF(s,KA)
K'2←KDF(s,KB)
K'3←KDF(s,KT)
K'4←KDF(s,KS)
または
K'1←Ext(s',KA)
K'2←Ext(s',KB)
K'3←Ext(s',KT)
K'4←Ext(s',KS)
により、前記共通鍵生成パラメータK'1、K'2、K'3及びK'4を求め、
前記第一共通鍵生成ステップ及び前記第二共通鍵生成ステップは、UA及びUAをそれぞれ第一鍵交換装置及び第二鍵交換装置の操作者の識別子とし、セッション識別子ST=(UA,UB,SPKA,SPKB,CTA,ekT,CTB,CTT)を用いて、
により、前記共通鍵SKを生成する、
鍵交換方法。 - 請求項4または5の鍵交換装置として、コンピュータを機能させるためのプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013204195A JP5945525B2 (ja) | 2013-09-30 | 2013-09-30 | 鍵交換システム、鍵交換装置、その方法、及びプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013204195A JP5945525B2 (ja) | 2013-09-30 | 2013-09-30 | 鍵交換システム、鍵交換装置、その方法、及びプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015070498A JP2015070498A (ja) | 2015-04-13 |
| JP5945525B2 true JP5945525B2 (ja) | 2016-07-05 |
Family
ID=52836773
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2013204195A Active JP5945525B2 (ja) | 2013-09-30 | 2013-09-30 | 鍵交換システム、鍵交換装置、その方法、及びプログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5945525B2 (ja) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6497747B2 (ja) * | 2016-04-19 | 2019-04-10 | 日本電信電話株式会社 | 鍵交換方法、鍵交換システム |
| CN111541533B (zh) * | 2020-04-07 | 2023-05-26 | 陕西师范大学 | 抵抗连续秘密信息泄露的无证书密钥封装方法 |
| JP7569387B2 (ja) * | 2020-04-15 | 2024-10-17 | グーグル エルエルシー | 三者暗号ハンドシェイクプロトコル |
-
2013
- 2013-09-30 JP JP2013204195A patent/JP5945525B2/ja active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2015070498A (ja) | 2015-04-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3453135B1 (en) | System and method for encryption and decryption based on quantum key distribution | |
| US10785019B2 (en) | Data transmission method and apparatus | |
| Checkoway et al. | A systematic analysis of the juniper dual EC incident | |
| JP6363032B2 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
| JP6499519B2 (ja) | メッセージを安全に交換する暗号方式並びにこの方式を実施する装置及びシステム | |
| CN112115461B (zh) | 设备认证方法、装置、计算机设备和存储介质 | |
| CN111448779A (zh) | 用于混合秘密共享的系统、设备和方法 | |
| US12210658B2 (en) | Executing entity-specific cryptographic code in a cryptographic | |
| CN110855667B (zh) | 一种区块链加密方法、装置及系统 | |
| KR102143525B1 (ko) | 교집합 연산을 지원하는 함수 암호를 위한 방법 및 이를 이용한 장치 | |
| JP2014175970A (ja) | 情報配信システム、情報処理装置及びプログラム | |
| CN111404952A (zh) | 变电站数据加密传输方法、装置、计算机设备和存储介质 | |
| Krishnamoorthy et al. | Implementation and management of cloud security for industry 4. O-data using hybrid elliptical curve cryptography | |
| Olumide et al. | A hybrid encryption model for secure cloud computing | |
| JP5945525B2 (ja) | 鍵交換システム、鍵交換装置、その方法、及びプログラム | |
| Kabir et al. | RIOT-based smart metering system for privacy-preserving data aggregation using watermarking and encryption | |
| EP3010173B1 (en) | Key storage device, key storage method, and program therefor | |
| JP6840685B2 (ja) | データ共有方法、データ共有システム、通信端末、データ共有サーバ、プログラム | |
| KR20180007974A (ko) | 데이터의 암호화, 복호화 방법 및 이를 이용하는 장치 | |
| US11075756B2 (en) | Method of encryption, method of decryption, corresponding computer device and program | |
| CN110419195A (zh) | 在iot轻量级终端环境中基于代理重加密的数据管理方法及系统 | |
| JP7385025B2 (ja) | 暗号化コプロセッサにおけるエンティティ固有の暗号化コードの実行 | |
| JP2015022460A (ja) | 情報記憶システム、情報記憶装置、その方法、及びプログラム | |
| Singh et al. | Security of Data with 3DES & Watermarking Algorithm | |
| JP6108012B2 (ja) | 情報配信システム、情報処理装置及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150724 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160428 |
|
| 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: 20160524 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160530 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5945525 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
