JP2014050084A - Key exchange system, request device, response device, key exchange method, and program - Google Patents
Key exchange system, request device, response device, key exchange method, and program Download PDFInfo
- Publication number
- JP2014050084A JP2014050084A JP2012194213A JP2012194213A JP2014050084A JP 2014050084 A JP2014050084 A JP 2014050084A JP 2012194213 A JP2012194213 A JP 2012194213A JP 2012194213 A JP2012194213 A JP 2012194213A JP 2014050084 A JP2014050084 A JP 2014050084A
- Authority
- JP
- Japan
- Prior art keywords
- key
- ciphertext
- algorithm
- response
- sender
- 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.)
- Granted
Links
Images
Abstract
Description
この発明は、情報セキュリティ技術の応用技術に関し、特に、装置間で共通のセッション鍵を共有する鍵交換技術に関する。 The present invention relates to an application technology of information security technology, and more particularly to a key exchange technology for sharing a common session key between devices.
従来の鍵交換技術に、鍵カプセル化メカニズムに基づく鍵交換方式がある。鍵カプセル化メカニズムに基づく鍵交換方式には、例えば、FSXY方式がある(非特許文献1参照)。以下に、非特許文献1に記載されているFSXY方式について詳細に説明する。
A conventional key exchange technique includes a key exchange method based on a key encapsulation mechanism. An example of the key exchange method based on the key encapsulation mechanism is the FSXY method (see Non-Patent Document 1). Hereinafter, the FSXY system described in
[FSXY方式の説明]
以下の説明では、要求装置と応答装置の間で共通のセッション鍵SKを共有するものとする。要求装置は識別子UAで特定され、応答装置は識別子UBで特定される。
<準備>
кをセキュリティパラメータとする。
[Description of FSXY method]
In the following description, it is assumed that a common session key SK is shared between the requesting device and the response device. The requesting device is identified by the identifier U A and the responding device is identified by the identifier U B.
<Preparation>
Let к be a security parameter.
F={Fк:Domк×FSк→Rngк}кを、定義域{Domк}к、鍵空間{FSк}к、値域{Rngк}кを持つ関数族とする。この時、もし多項式時間の識別者Dに対してFкと真性ランダム関数RFк:Domк→Rngкが見分けられなければ、F={Fк}кを擬似ランダム関数と呼ぶ。 Let F = {F к : Dom к × FS к → Rng к } к be a family of functions having a domain {Dom к } к , a key space {FS к } к , and a range {Rng к } к . At this time, if F к and true random function RF к : Dom к → Rng к cannot be distinguished for a polynomial time discriminator D, F = {F к } к is called a pseudo-random function.
Ext:S×X→Yを有限シード空間S、有限定義域X、有限値域Yを持つ関数とする。この時、もしH∞(DX)≧kとなるX上の任意分布DXに対して、Δ((US,Ext(US,DX)),(US,UY))≦neglが成り立つならば、Extを強ランダム抽出器と呼ぶ。ただし、Δは統計距離、US,UX,UYはそれぞれS,X,Y上の一様分布、|X|=n≧k、|Y|=k、|S|=dとする。 Let Ext: S × X → Y be a function having a finite seed space S, a finite domain X, and a finite range Y. For any distribution D X on this time, if the H ∞ (DX) ≧ k X , Δ ((U S, Ext (U S, D X)), (U S, U Y)) ≦ negl If is true, Ext is called a strong random extractor. Where Δ is a statistical distance, U S , U X , and U Y are uniform distributions on S, X, and Y, and | X | = n ≧ k, | Y | = k, and | S | = d.
(KeyGen,EnCap,DeCap)と(wKeyGen,wEnCap,wDeCap)をそれぞれ鍵カプセル化メカニズム(KEM、Key Encapsulation Mechanism)とする。鍵生成アルゴリズムKeyGen,wKeyGenはセキュリティパラメータкと乱数rg∈RSGを入力とし、公開鍵ekと秘密鍵dkを出力する。ただし、RSGは鍵生成の乱数空間である。鍵カプセル化アルゴリズムEnCap,wEnCapは公開鍵ekと乱数re∈RSEを入力とし、KEM鍵K∈KSと暗号文CT∈CSを出力する。ただし、RSEは鍵カプセル化の乱数空間、KSはKEM鍵空間、CSは暗号文空間である。復号アルゴリズムDeCap,wDeCapは秘密鍵dkと暗号文CT∈CSを入力とし、KEM鍵K∈KSを出力する。
<パラメータ>
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鍵空間とする。
<長期公開鍵と長期秘密鍵>
要求装置はランダムにσA∈FSとrA∈RSGを選択し、鍵生成アルゴリズムKeyGenにより(ekA,1,dkA,1)←KeyGen(1к,rA)を得る。応答装置はランダムにσB∈FS、rB∈RSGを選択し、鍵生成アルゴリズムKeyGenにより(ekB,1,dkB,1)←KeyGen(1к,rB)を得る。要求装置の長期秘密鍵を(dkA,1,σA)、長期公開鍵を(ekA,1)、応答装置の長期秘密鍵を(dkB,1,σB)、長期公開鍵を(ekB,1)とする。
<鍵交換>
要求装置はランダムに短期秘密鍵rA,1∈FS、r’A,1∈FS、rA,2∈RSGを選び、式(1)(2)を計算する。
Let (KeyGen, EnCap, DeCap) and (wKeyGen, wEnCap, wDeCap) be the key encapsulation mechanisms (KEM, Key Encapsulation Mechanism), respectively. The key generation algorithms KeyGen and wKeyGen receive the security parameter к and the random number r g ∈RS G, and output the public key ek and the secret key dk. However, RS G is a random number space for key generation. The key encapsulation algorithms EnCap and wEnCap receive the public key ek and the random number r e ∈RS E, and output the KEM key K∈KS and the ciphertext CT∈CS. However, RS E random number space of key encapsulation, KS is KEM key space, CS is a ciphertext space. The decryption algorithms DeCap and wDeCap receive the secret key dk and the ciphertext CTεCS, and output the KEM key KεKS.
<Parameter>
F: {0,1} * × FS → RS E , F ': {0,1} * × FS → RS E , G: {0,1} * × FS → {0,1} к is a pseudo-random function And However, FS is the key space of the pseudo-random function (| FS | = к), RS E random number space key encapsulation algorithms, RS G is a random number space key generation algorithm. Let Ext: SS × KS → FS be a random random extractor using a seed s∈SS chosen at random. However, SS is the seed space and KS is the KEM key space.
<Long-term public key and long-term secret key>
The requesting device randomly selects σ A ∈FS and r A ∈RS G, and obtains (ek A, 1 , dk A, 1 ) ← KeyGen (1 к , r A ) by the key generation algorithm KeyGen. The responding device randomly selects σ B ∈FS and r B ∈RS G, and obtains (ek B, 1 , dk B, 1 ) ← KeyGen (1 к , r B ) by the key generation algorithm KeyGen. The long-term private key of the requesting device is (dk A, 1 , σ A ), the long-term public key is (ek A, 1 ), the long-term private key of the responding device is (dk B, 1 , σ B ), and the long-term public key is ( ek B, 1 ).
<Key exchange>
Requesting device randomly short private key r A, 1 ∈FS, r ' A, 1 ∈FS, select r A, 2 ∈RS G, calculates the equation (1) (2).
要求装置は第1送信情報(UA,UB,CTA,1,ekA,2)を生成し、応答装置へ送信する。ただし、UAは要求装置を示す識別子、UBは応答装置を示す識別子である。 The requesting device generates first transmission information (U A , U B , CT A, 1 , ek A, 2 ) and transmits it to the response device. However, U A is an identifier indicating a requesting device, and U B is an identifier indicating a response device.
応答装置は、要求装置からの第1送信情報(UA,UB,CTA,1,ekA,2)を受信すると、ランダムに短期秘密鍵rB,1∈FS、r’B,1∈FS、rB,2∈RSEを選び、式(3)(4)を計算する。 When the response device receives the first transmission information (U A , U B , CT A, 1 , ek A, 2 ) from the requesting device, the short-term secret key r B, 1 ∈FS, r ′ B, 1 Choose ∈FS, r B, 2 ∈RS E , and calculate Equations (3) and (4).
そして、応答装置は第2送信情報(UA,UB,CTB,1,CTB,2)を生成し、要求装置へ送信する。 Then, the response device generates second transmission information (U A , U B , CT B, 1 , CT B, 2 ) and transmits it to the requesting device.
続いて、応答装置は下記の式(5)〜(8)を計算し、セッション識別子ST=(UA,UB,ekA,1,ekB,1,CTA,1,ekA,2,CTB,1,CTB,2)を生成する。 Subsequently, the responding device calculates the following formulas (5) to (8) and sets the session identifier ST = (U A , U B , ek A, 1 , ek B, 1 , CT A, 1 , ek A, 2 , CT B, 1 , CT B, 2 ).
そして、応答装置はセッション識別子ST=(UA,UB,ekA,1,ekB,1,CTA,1,ekA,2,CTB,1,CTB,2)を用いて下記の式(9)を計算し、セッション鍵SKを生成する。 The responding device uses the session identifier ST = (U A , U B , ek A, 1 , ek B, 1 , CT A, 1 , ek A, 2 , CT B, 1 , CT B, 2 ) (9) is calculated, and a session key SK is generated.
最後に、応答装置はセッションを終了し、全てのセッション情報を削除する。 Finally, the responding device ends the session and deletes all session information.
一方、要求装置は、応答装置からの第2送信情報(UA,UB,CTB,1,CTB,2)を受信すると、下記の式(10)〜(14)を計算し、セッション識別子ST=(UA,UB,ekA,1,ekB,1,CTA,1,ekA,2,CTB,1,CTB,2)を生成する。 On the other hand, when receiving the second transmission information (U A , U B , CT B, 1 , CT B, 2 ) from the response device, the requesting device calculates the following equations (10) to (14), and The identifier ST = (U A , U B , ek A, 1 , ek B, 1 , CT A, 1 , ek A, 2 , CT B, 1 , CT B, 2 ) is generated.
そして、要求装置はセッション識別子ST=(UA,UB,ekA,1,ekB,1,CTA,1,ekA,2,CTB,1,CTB,2)を用いて下記の式(15)を計算し、セッション鍵SKを生成する。 And the requesting device uses the session identifier ST = (U A , U B , ek A, 1 , ek B, 1 , CT A, 1 , ek A, 2 , CT B, 1 , CT B, 2 ) (15) is calculated, and a session key SK is generated.
最後に、要求装置はセッションを終了し、全てのセッション情報を削除する。 Finally, the requesting device ends the session and deletes all session information.
上述のFSXY方式では、応答装置は、要求装置から短期公開鍵ekA,2を受信しないと鍵カプセル化アルゴリズムwEnCapを実行することができないため、二者間で処理の順番が厳密に守られなければいけない。そのため、送信装置から要求装置への情報送信に遅延が発生すると鍵交換の手順全体の所要時間が長くなるという問題がある。 In the above-described FSXY method, the response device cannot execute the key encapsulation algorithm wEnCap unless it receives the short-term public key ek A, 2 from the requesting device, so the order of processing must be strictly observed between the two parties. I must. For this reason, there is a problem that the time required for the entire key exchange procedure becomes longer if a delay occurs in the transmission of information from the transmitting device to the requesting device.
また、上述のFSXY方式は強フォワード安全性を満たしていない。強フォワード安全性とは、ある攻撃者があるセッションに対して通信路上に介在しメッセージの改変などを行った上で、セッション鍵生成後に要求装置および応答装置の長期秘密鍵を得たとしても、セッション鍵の情報を得られないとする安全性である。FSXY方式では、例えば、攻撃者が要求装置の短期公開鍵ekA,2を用いて第2暗号文CTB,1と第3暗号文CTB,2を生成し、応答装置になりすまして要求装置に送信することができる。このとき攻撃者は自ら鍵カプセル化メカニズムwEnCapを実行したため第2鍵KB,1と第3鍵KB,2を知っている。セッション終了後に応答装置の長期秘密鍵dkB,1を得ることができれば第1暗号文CTA,1を復号して第1鍵KA,1を入手することができる。このように攻撃者はセッション鍵SKを入手することができるため、FSXY方式は強フォワード安全性を満たしていない。 Moreover, the above-mentioned FSXY system does not satisfy strong forward safety. Strong forward security means that an attacker intervenes on a communication path for a session and modifies the message, and even after obtaining the long-term secret key of the requesting device and the responding device after generating the session key, This is the security that prevents obtaining session key information. In the FSXY system, for example, the attacker generates the second ciphertext CT B, 1 and the third ciphertext CT B, 2 using the short-term public key ek A, 2 of the requesting device, and impersonates the responding device as the requesting device. Can be sent to. At this time, the attacker knows the second key K B, 1 and the third key K B, 2 because he has executed the key encapsulation mechanism wEnCap. If the long-term secret key dk B, 1 of the responding device can be obtained after the session is completed, the first ciphertext CT A, 1 can be decrypted to obtain the first key K A, 1 . Thus, since the attacker can obtain the session key SK, the FSXY method does not satisfy the strong forward security.
この発明はこのような点に鑑みてなされたものであり、鍵交換手順の順番を入れ替えることが可能で遅延による影響を小さくすることができ、強フォワード安全性を満たす鍵交換技術を提供することを目的とする。 The present invention has been made in view of such points, and provides a key exchange technique that can change the order of key exchange procedures, reduce the influence of delay, and satisfy strong forward safety. With the goal.
上記の課題を解決するために、この発明の鍵交換システムは、要求装置と応答装置との間でセッション鍵SKを共有する。要求装置は、要求側記憶部と短期鍵対生成部と第1暗号化部と要求側出力部と第2鍵復号部と第3鍵復号部と要求側セッション鍵生成部とを備える。応答装置は、応答側記憶部と第3暗号化部と第2暗号化部と応答側出力部と第1鍵復号部と第3鍵生成部と応答側セッション鍵生成部とを備える。要求側記憶部には、任意のサインクリプションの送信者鍵生成アルゴリズムSKeyGenにより生成された要求側送信者秘密鍵skASと、サインクリプションの受信者鍵生成アルゴリズムRKeyGenにより生成された要求側受信者秘密鍵skARとが記憶されている。応答側記憶部には、送信者鍵生成アルゴリズムSKeyGenにより生成された応答側送信者秘密鍵skBSと、受信者鍵生成アルゴリズムRKeyGenにより生成された応答側受信者秘密鍵skBRとが記憶されている。 In order to solve the above problem, the key exchange system of the present invention shares a session key SK between a requesting device and a response device. The requesting device includes a request side storage unit, a short-term key pair generation unit, a first encryption unit, a request side output unit, a second key decryption unit, a third key decryption unit, and a request side session key generation unit. The response device includes a response side storage unit, a third encryption unit, a second encryption unit, a response side output unit, a first key decryption unit, a third key generation unit, and a response side session key generation unit. The request-side storage unit has a request-side sender private key sk AS generated by a sender key generation algorithm SKeyGen of an arbitrary signature application and a request-side reception generated by a receiver key generation algorithm RKeyGen of a signature application. Person secret key sk AR is stored. The response side storage unit stores the response side sender private key sk BS generated by the sender key generation algorithm SKeyGen and the response side receiver secret key sk BR generated by the receiver key generation algorithm RKeyGen. Yes.
要求装置の備える短期鍵対生成部は、鍵生成と暗号文生成が独立な鍵カプセル化メカニズムの鍵生成アルゴリズムwKeyGenを用いて、短期公開鍵ekAと短期秘密鍵dkAを求める。要求装置の備える第1暗号化部は、要求側送信者秘密鍵skASと、受信者鍵生成アルゴリズムRKeyGenにより生成された応答側受信者公開鍵pkBRと、短期公開鍵ekAとを入力として、サインクリプションのサインクリプションアルゴリズムSCを用いて、第1暗号文CTAと第1鍵KAを生成する。要求装置の備える要求側出力部は、第1暗号文CTAと短期公開鍵ekAを応答装置へ送信する。 The short-term key pair generation unit included in the requesting device obtains the short-term public key ek A and the short-term secret key dk A using a key generation algorithm wKeyGen of a key encapsulation mechanism in which key generation and ciphertext generation are independent. The first encryption unit included in the requesting device receives the request-side sender private key sk AS , the response-side recipient public key pk BR generated by the receiver key generation algorithm RKeyGen, and the short-term public key ek A as inputs. The first ciphertext CT A and the first key K A are generated using the sign-encryption algorithm SC of sign-signation. The request side output unit included in the request device transmits the first ciphertext CT A and the short-term public key ek A to the response device.
応答装置の備える第3暗号化部は、鍵カプセル化メカニズムの暗号文生成アルゴリズムwEnCapCを用いて、第3暗号文CTB,2を生成する。応答装置の備える第2暗号化部は、応答側送信者秘密鍵skBSと、受信者鍵生成アルゴリズムRKeyGenにより生成された要求側受信者公開鍵pkARと、第3暗号文CTB,2とを入力として、サインクリプションアルゴリズムSCを用いて、第2暗号文CTB,1と第2鍵KB,1を生成する。応答装置の備える応答側出力部は、第2暗号文CTB,1と第3暗号文CTB,2を要求装置へ送信する。 The third encryption unit included in the response device generates the third ciphertext CT B, 2 using the ciphertext generation algorithm wEnCapC of the key encapsulation mechanism. The second encryption unit included in the response device includes a response-side sender secret key sk BS , a request-side receiver public key pk AR generated by the receiver key generation algorithm RKeyGen, and a third ciphertext CT B, 2 . As an input, a second ciphertext CT B, 1 and a second key K B, 1 are generated using the signature encryption algorithm SC. The response side output unit included in the response device transmits the second ciphertext CT B, 1 and the third ciphertext CT B, 2 to the requesting device.
要求装置の備える第2鍵復号部は、要求側受信者秘密鍵skARと、送信者鍵生成アルゴリズムSKeyGenにより生成された応答側送信者公開鍵pkBSと、応答装置から受信した第2暗号文CTB,1および第3暗号文CTB,2とを入力として、サインクリプションの復号アルゴリズムUSCを用いて、第2鍵KB,1を生成する。要求装置の備える第3鍵復号部は、短期秘密鍵dkAと第3暗号文CTB,2とを入力として、鍵カプセル化メカニズムの復号アルゴリズムwDeCapを用いて、第3鍵KB,2を生成する。要求装置の備える要求側セッション鍵生成部は、第1鍵KAと第2鍵KB,1と第3鍵KB,2を含むセッション識別子STを用いて、セッション鍵SKを生成する。 The second key decryption unit included in the requesting device includes the requesting-side receiver private key sk AR , the responding-side sender public key pk BS generated by the sender key generation algorithm SKeyGen, and the second ciphertext received from the responding device. Using CT B, 1 and third ciphertext CT B, 2 as input, a second key K B, 1 is generated using a decryption algorithm USC for signing. The third key decryption unit included in the requesting device receives the short-term secret key dk A and the third ciphertext CT B, 2 as input, and uses the decryption algorithm wDeCap of the key encapsulation mechanism to obtain the third key K B, 2 . Generate. Requesting the session key generation unit provided in the request apparatus, using the session identifier ST containing first key K A and the second key K B, 1 and a third key K B, 2, it generates a session key SK.
応答装置の備える第1鍵復号部は、応答側受信者秘密鍵skBRと、送信者鍵生成アルゴリズムSKeyGenにより生成された要求側送信者公開鍵pkASと、要求装置から受信した第1暗号文CTAおよび短期公開鍵ekAとを入力として、復号アルゴリズムUSCを用いて、第1鍵KAを生成する。応答装置の備える第3鍵生成部は、短期公開鍵ekAと第3暗号文CTB,2とを入力として、鍵カプセル化メカニズムのカプセル化鍵生成アルゴリズムwEnCapKを用いて、第3鍵KB,2を生成する。応答装置の備える応答側セッション鍵生成部は、第1鍵KAと第2鍵KB,1と第3鍵KB,2を含むセッション識別子STを用いて、セッション鍵SKを生成する。 The first key decryption unit included in the response device includes the response-side receiver private key sk BR , the request-side sender public key pk AS generated by the transmitter key generation algorithm SKeyGen, and the first ciphertext received from the request device. Using CT A and short-term public key ek A as input, first key K A is generated using decryption algorithm USC. The third key generation unit included in the response device receives the short-term public key ek A and the third ciphertext CT B, 2 as input, and uses the encapsulation key generation algorithm wEnCapK of the key encapsulation mechanism to generate the third key K B , 2 is generated. The response-side session key generation unit included in the response device generates a session key SK using the session identifier ST including the first key K A , the second key K B, 1 and the third key K B, 2 .
この発明の鍵交換技術によれば、要求装置からの情報を受信しなくとも応答装置の手順を並行して実行することができるため、遅延による影響を小さくすることができる。また、攻撃者は、応答装置の秘密鍵を知らなければ要求装置へ送信する情報を生成することができないため、強フォワード安全性を満たすことができる。 According to the key exchange technique of the present invention, the procedure of the responding device can be executed in parallel without receiving information from the requesting device, so that the influence of delay can be reduced. In addition, since the attacker cannot generate information to be transmitted to the requesting device without knowing the secret key of the responding device, the attacker can satisfy strong forward security.
実施形態の説明に先立ち、この発明の基本的な考え方について説明する。 Prior to the description of the embodiments, the basic concept of the present invention will be described.
[発明のポイント]
この発明では、鍵生成と暗号文生成が独立な鍵カプセル化メカニズムとサインクリプションを用いることで、鍵交換手順の順番を入れ替えることが可能で遅延による影響を小さくすることができ、強フォワード安全性を満たす鍵交換技術を実現した。
[Points of Invention]
In this invention, by using a key encapsulation mechanism and a signature that are independent of key generation and ciphertext generation, it is possible to change the order of the key exchange procedures, and the influence of delay can be reduced. The key exchange technology that satisfies the requirements is realized.
<鍵生成と暗号文生成が独立な鍵カプセル化メカニズムの説明>
鍵生成と暗号文生成が独立な鍵カプセル化メカニズムは、暗号文を公開鍵の情報無しで生成することができる鍵カプセル化メカニズムである。鍵生成と暗号文生成が独立な鍵カプセル化メカニズムの詳細な構成方法は、例えば、「Taher El Gamal, “A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms.”, CRYPTO 1984, pp.10-18, 1984.(参考文献1)」に記載されている。参考文献1に記載の鍵カプセル化メカニズムは、鍵生成アルゴリズムwKeyGen、暗号文生成アルゴリズムwEnCapC、カプセル化鍵生成アルゴリズムwEnCapK、復号アルゴリズムwDeCapからなる。鍵生成アルゴリズムwKeyGenと復号アルゴリズムwDeCapは、通常の鍵カプセル化メカニズムと同様である。暗号文生成アルゴリズムwEnCapCはシステム公開パラメータと乱数re∈RSEを入力とし、暗号文CT∈CSを出力する。ただし、RSEは暗号文生成の乱数空間、CSは暗号文空間である。カプセル化鍵生成アルゴリズムwEnCapKは公開鍵ekと暗号文CTと乱数reを入力とし、KEM鍵K∈KSを出力する。ただし、KSはKEM鍵空間である。
<Description of key encapsulation mechanism where key generation and ciphertext generation are independent>
The key encapsulation mechanism in which key generation and ciphertext generation are independent is a key encapsulation mechanism that can generate a ciphertext without public key information. For example, “Taher El Gamal,“ A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms. ”, CRYPTO 1984, pp.10- 18, 1984. (Reference 1) ”. The key encapsulation mechanism described in
参考文献1に記載の鍵カプセル化メカニズムでは、暗号文生成アルゴリズムwEnCapCを、短期公開鍵ekA,2を受信する前に実行することができるため、応答装置が要求装置からの情報を受信する前に、応答装置から要求装置へ情報を送信することも可能である。すなわち、各装置は相手から受信する情報とは独立して情報を生成し送信することができるため、鍵交換手順の順番を入れ替えることが可能となる。これにより、仮に要求装置から応答装置への通信路に遅延が発生したとしても、応答装置は要求装置からの情報の受信を待つ必要がなく、遅延による影響を小さくすることができる。
In the key encapsulation mechanism described in
<サインクリプションの説明>
サインクリプションは、暗号化と署名を同時に行う暗号方式である。暗号文生成の際に受信者の公開鍵と送信者の秘密鍵を必要とし、送信者の公開鍵と受信者の秘密鍵を用いることによって暗号文の正当性検証を行うことができる。サインクリプションの詳細な構成方法は、例えば、「Daiki Chiba, Takahiro Matsuda, Jacob C. N. Schuldt, Kanta Matsuura, “Efficient Generic Constructions of Signcryption with Insider Security in the Multi-user Setting.”, ACNS 2011, pp.220-237.(参考文献2)」に記載されている。参考文献2に記載のサインクリプションは、送信者鍵生成アルゴリズムSKeyGen、受信者鍵生成アルゴリズムRKeyGen、サインクリプションアルゴリズムSC、復号アルゴリズムUSCからなる。送信者鍵生成アルゴリズムSKeyGenは、セキュリティパラメータкと乱数rS∈RSSGを入力とし、送信者公開鍵pkSと送信者秘密鍵skSを出力する。ただし、RSSGは送信者鍵生成の乱数空間である。受信者鍵生成アルゴリズムRKeyGenは、セキュリティパラメータкと乱数rR∈RSRGを入力とし、受信者公開鍵pkRと受信者秘密鍵skRを出力する。ただし、RSRGは受信者鍵生成の乱数空間である。サインクリプションアルゴリズムSCは、送信者秘密鍵skSと受信者公開鍵pkRとメッセージmを入力とし、KEM鍵K∈KSと暗号文CT∈CSを出力する。上述の通り、KSはKEM鍵空間、CSは暗号文空間である。復号アルゴリズムUSCは、受信者秘密鍵skRと送信者公開鍵pkSとメッセージmと暗号文CTを入力とし、暗号文CTが正しければKEM鍵Kを出力する。暗号文CTが正しくない場合はエラー⊥を返す。
<Explanation of sign encryption>
Sign encryption is an encryption method that performs encryption and signature simultaneously. When the ciphertext is generated, the receiver's public key and the sender's private key are required, and the validity of the ciphertext can be verified by using the sender's public key and the receiver's private key. For example, “Daiki Chiba, Takahiro Matsuda, Jacob CN Schuldt, Kanta Matsuura,“ Efficient Generic Constructions of Signcryption with Insider Security in the Multi-user Setting. ”, ACNS 2011, pp. 220. -237. (Reference document 2) ". The signature description described in
従来の鍵カプセル化メカニズム(KeyGen,EnCap,DeCap)の代わりにサインクリプション(SKeyGen,RKeyGen,SC,USC)を用いることにより、上述の強フォワード安全性を満たすことができる。すなわち、攻撃者が通信路上でメッセージの改変を行おうとしても、送信者秘密鍵skSを知らなければ正しい暗号文CTを生成することができず、正規の応答装置に成りすますことが不可能となるためである。 By using signature (SKeyGen, RKeyGen, SC, USC) instead of the conventional key encapsulation mechanism (KeyGen, EnCap, DeCap), the above-mentioned strong forward security can be satisfied. In other words, even if an attacker attempts to modify a message on the communication path, the correct ciphertext CT cannot be generated unless the sender secret key sk S is known, and it is not possible to impersonate a legitimate response device. This is because it becomes possible.
[実施形態]
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
<構成>
図1を参照して、この発明に係る鍵交換システム1の構成例を説明する。鍵交換システム1は、要求装置10と応答装置20を含む。要求装置10と応答装置20はネットワーク90に接続される。ネットワーク90は、接続される各装置が相互に通信可能なように構成されていればよく、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などで構成することができる。
[Embodiment]
Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the component which has the same function in drawing, and duplication description is abbreviate | omitted.
<Configuration>
A configuration example of a
図2を参照して、鍵交換システム1に含まれる要求装置10の構成例を説明する。要求装置10は、制御部101、記憶部102、乱数選択部110、長期鍵対生成部115、短期乱数選択部120、短期鍵対生成部125、第1暗号化部130、出力部135、入力部140、第2鍵復号部145、第3鍵復号部150、セッション鍵生成部155を備える。要求装置10は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)等を有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。要求装置10は制御部101の制御のもとで各処理を実行する。記憶部102は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリなどの半導体メモリ素子により構成される補助記憶装置、リレーショナルデータベースやキーバリューストアなどのミドルウェア、などにより構成することができる。
A configuration example of the requesting
図3を参照して、鍵交換システム1に含まれる応答装置20の構成例を説明する。応答装置20は、制御部201、記憶部202、乱数選択部210、長期鍵対生成部215、短期乱数選択部220、第3暗号化部225、第2暗号化部230、出力部235、入力部240、第1鍵復号部245、第3鍵生成部250、セッション鍵生成部255を備える。応答装置20は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)等を有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。応答装置20は制御部201の制御のもとで各処理を実行する。記憶部202は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリなどの半導体メモリ素子により構成される補助記憶装置、リレーショナルデータベースやキーバリューストアなどのミドルウェア、などにより構成することができる。
<パラメータ>
кをセキュリティパラメータとする。
A configuration example of the
<Parameter>
Let к be a security parameter.
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鍵空間とする。
<長期公開鍵と長期秘密鍵>
図4を参照して、鍵交換システム1が長期公開鍵と長期秘密鍵を生成する動作例について手続きの順に従って説明する。
F: {0,1} * × FS → RS E , F ': {0,1} * × FS → RS E , G: {0,1} * × FS → {0,1} к is a pseudo-random function And Here, FS is a pseudo-random function key space (| FS | = к), RS E is a signature random number space, and RS G is a sender key generation and receiver key generation random space. Let Ext: SS × KS → FS be a random random extractor using a seed s∈SS chosen at random. However, SS is the seed space and KS is the KEM key space.
<Long-term public key and long-term secret key>
With reference to FIG. 4, an operation example in which the
要求装置10の備える乱数選択部110は、ランダムにσA∈FS、rAS∈RSG、rAR∈RSGを選択する(S110)。乱数rAS,rARは長期鍵対生成部115へ入力される。長期鍵対生成部115は、サインクリプションの送信者鍵生成アルゴリズムSKeyGenにより送信者鍵(pkAS,skAS)←SKeyGen(1к,rAS)を得る(S116)。続いて、長期鍵対生成部115は、サインクリプションの受信者鍵生成アルゴリズムRKeyGenにより受信者鍵(pkAR,skAR)←RKeyGen(1к,rAR)を得る(S117)。そして、長期鍵対生成部115は、要求装置10の長期秘密鍵を(skAS,skAR,σA)、長期公開鍵を(pkAS,pkAR)とする(S118)。生成された長期秘密鍵(skAS,skAR,σA)は記憶部102に記憶される。生成された長期公開鍵(pkAS,pkAR)は公開される。公開の方法は長期公開鍵(pkAS,pkAR)が応答装置20から参照可能であればどのような方式であってもよい。例えば、要求装置10から応答装置20へあらかじめ長期公開鍵(pkAS,pkAR)を送信しておいてもよいし、別途用意する公開鍵基盤(PKI、Public Key Infrastructure)を用いて長期公開鍵(pkAS,pkAR)を公開してもよい。
The random
応答装置20の備える乱数選択部210は、ランダムにσB∈FS、rBS∈RSG、rBR∈RSGを選択する(S210)。乱数rBS,rBRは長期鍵対生成部215へ入力される。長期鍵対生成部215は、サインクリプションの送信者鍵生成アルゴリズムSKeyGenにより送信者鍵(pkBS,skBS)←SKeyGen(1к,rBS)を得る(S216)。続いて、長期鍵対生成部215は、サインクリプションの受信者鍵生成アルゴリズムRKeyGenにより受信者鍵(pkBR,skBR)←RKeyGen(1к,rBR)を得る(S217)。そして、長期鍵対生成部215は、応答装置20の長期秘密鍵を(skBS,skBR,σB)、長期公開鍵を(pkBS,pkBR)とする(S218)。生成された長期秘密鍵(skBS,skBR,σB)は記憶部202に記憶される。生成された長期公開鍵(pkBS,pkBR)は公開される。公開の方法は長期公開鍵(pkBS,pkBR)が要求装置10から参照可能であればどのような方式であってもよい。例えば、応答装置20から要求装置10へあらかじめ長期公開鍵(pkBS,pkBR)を送信しておいてもよいし、別途用意する公開鍵基盤(PKI、Public Key Infrastructure)を用いて長期公開鍵(pkBS,pkBR)を公開してもよい。
<鍵交換>
図4、5を参照して、鍵交換システム1の要求装置10と応答装置20とがセッション鍵SKを共有する動作例について手続きの順に従って説明する。図4と図5は一連の手順を表しており、図4の「A1」は図5の「A1」に処理が継続し、図4の「A2」は図5の「A2」に処理が継続することを表している。
The random
<Key exchange>
4 and 5, an operation example in which the requesting
要求装置10の備える短期乱数選択部120は、ランダムに乱数rA,1∈FS、r’A,1∈FS、rA,2∈RSGを選択する(S120)。乱数rA,2は短期鍵対生成部125へ入力される。短期鍵対生成部125は、鍵生成と暗号文生成が独立な鍵カプセル化メカニズムの鍵生成アルゴリズムwKeyGenを下記の式(16)のように計算し、短期公開鍵ekAと短期秘密鍵dkAを生成する(S125)。
Short-term
乱数rA,1,r’A,1と短期公開鍵ekAは第1暗号化部130へ入力される。第1暗号化部130は、要求側送信者秘密鍵skASと応答側受信者公開鍵pkBRを用いて、短期公開鍵eKAをメッセージとみなして、サインクリプションのサインクリプションアルゴリズムSCを下記の式(17)のように計算し、第1暗号文CTAと第1鍵KAを生成する(S130)。
The random numbers r A, 1 , r ′ A, 1 and the short-term public key ek A are input to the
第1暗号文CTAと短期公開鍵ekAは出力部135へ入力される。出力部135は、第1送信情報(UA,UB,CTA,ekA)を生成し、応答装置20へ送信する(S135)。上述の通り、UAは要求装置10を示す識別子、UBは応答装置20を示す識別子である。
The first ciphertext CT A and the short-term public key ek A are input to the
応答装置20の備える短期乱数選択部220は、ランダムに乱数rB,1∈FS、r’B,1∈FS、rB,2∈RSEを選択する(S220)。乱数rB,2は第3暗号化部225へ入力される。第3暗号化部225は、鍵生成と暗号文生成が独立な鍵カプセル化メカニズムの暗号文生成アルゴリズムwEnCapCを下記の式(18)のように計算し、第3暗号文CTB,2を生成する(S225)。
Short-term
乱数rB,1,r’B,1と第3暗号文CTB,2は第2暗号化部230へ入力される。第2暗号化部230は、応答側送信者秘密鍵skBSと要求側受信者公開鍵pkARを用いて、第3暗号文CTB,2をメッセージとみなして、サインクリプションのサインクリプションアルゴリズムSCを下記の式(19)のように計算し、第2暗号文CTB,1と第2鍵KB,1を生成する(S230)。
The random numbers r B, 1 , r ′ B, 1 and the third ciphertext CT B, 2 are input to the
第2暗号文CTB,1と第3暗号文CTB,2は出力部235へ入力される。出力部235は、第2送信情報(UA,UB,CTB,1,CTB,2)を生成し、要求装置10へ送信する(S235)。上述の通り、UAは要求装置10を示す識別子、UBは応答装置20を示す識別子である。
The second ciphertext CT B, 1 and the third ciphertext CT B, 2 are input to the
応答装置20の備える出力部235が送信した第2送信情報(UA,UB,CTB,1,CTB,2)は、要求装置10の備える入力部140を介して要求装置10へ入力される。
The second transmission information (U A , U B , CT B, 1 , CT B, 2 ) transmitted by the
第2暗号文CTB,1と第3暗号文CTB,2は第2鍵復号部145へ入力される。第2鍵復号部145は、要求側受信者秘密鍵skARと応答側送信者公開鍵pkBSを用いて、第3暗号文CTB,2をメッセージとみなして、サインクリプションの復号アルゴリズムUSCを下記の式(20)のように計算し、第2鍵KB,1を生成する(S145)。
The second ciphertext CT B, 1 and the third ciphertext CT B, 2 are input to the second
第3暗号文CTB,2は第3鍵復号部150へ入力される。第3鍵復号部150は、短期秘密鍵dkAを用いて、鍵生成と暗号文生成が独立な鍵カプセル化メカニズムの復号アルゴリズムwDeCapを下記の式(21)のように計算し、第3鍵KB,2を生成する(S150)。
The third ciphertext CT B, 2 is input to the third
第1鍵KAと第2鍵KB,1と第3鍵KB,2はセッション鍵生成部155へ入力される。セッション鍵生成部155は、強ランダム抽出器Extを用いて下記の式(22)〜(24)を計算し、値K’1,K’2,K’3を生成する(S151,S152,S153)。
The first key K A , the second key K B, 1 and the third key K B, 2 are input to the session
次に、セッション鍵生成部155は、セッション識別子ST=(UA,UB,pkAS,pkAR,pkBS,pkBR,ekA,CTA,CTB,1,CTB,2)を生成する(S154)。そして、セッション識別子STを用いて下記の式(25)を計算することで、セッション鍵SKを生成する(S155)。
Next, the session
最後に、要求装置10はセッションを終了し、全てのセッション情報を削除する。
Finally, the requesting
一方、要求装置10の備える出力部135が送信した第1送信情報(UA,UB,CTA,ekA)は、応答装置20の備える入力部240を介して応答装置20へ入力される。
On the other hand, the first transmission information (U A , U B , CT A , ek A ) transmitted by the
第1暗号文CTAと短期公開鍵ekAは第1鍵復号部245へ入力される。第1鍵復号部245は、応答側受信者秘密鍵skBRと要求側送信者公開鍵pkASを用いて、短期公開鍵eKAをメッセージとみなして、サインクリプションの復号アルゴリズムUSCを下記の式(26)のように計算し、第1鍵KAを生成する(S245)。
The first ciphertext CT A and the short-term public key ek A are input to the first
乱数rB,2と第3暗号文CTB,2は第3鍵生成部250へ入力される。第3鍵生成部250は、短期公開鍵ekAを用いて、第3暗号文CTB,2をメッセージとみなして、鍵生成と暗号文生成が独立な鍵カプセル化メカニズムのカプセル化鍵生成アルゴリズムwEnCapKを下記の式(27)のように計算し、第3鍵KB,2を生成する(S250)。
The random number r B, 2 and the third ciphertext CT B, 2 are input to the third
第1鍵KAと第2鍵KB,1と第3鍵KB,2はセッション鍵生成部255へ入力される。セッション鍵生成部255は、要求装置10の備えるセッション鍵生成部155と同様に、強ランダム抽出器Extを用いて上記の式(22)〜(24)を計算し、値K’1,K’2,K’3を生成する(S251,S252,S253)。
The first key K A , the second key K B, 1 and the third key K B, 2 are input to the session
次に、セッション鍵生成部255は、要求装置10の備えるセッション鍵生成部155と同様に、セッション識別子ST=(UA,UB,pkAS,pkAR,pkBS,pkBR,ekA,CTA,CTB,1,CTB,2)を生成する(S254)。そして、セッション鍵生成部255は、要求装置10の備えるセッション鍵生成部155と同様に、セッション識別子STを用いて上記の式(25)を計算することで、セッション鍵SKを生成する(S255)。
Next, the session
最後に、応答装置20はセッションを終了し、全てのセッション情報を削除する。
Finally, the
<効果>
上記の通り、この発明の鍵交換技術によれば、応答装置20は鍵生成と暗号文生成が独立な鍵カプセル化メカニズムの暗号文生成アルゴリズムwEnCapCにより要求装置10へ送信する第3暗号文CTB,2を生成するため、要求装置10から短期公開鍵ekAを受信しなくとも第2送信情報(UA,UB,CTB,1,CTB,2)を生成することができる。これにより、要求装置10から応答装置20への通信路に遅延が生じたとしても、その影響を小さくすることができる。
<Effect>
As described above, according to the key exchange technique of the present invention, the
また、応答装置20はサインクリプションのサインクリプションアルゴリズムSCにより要求装置10へ送信する第2暗号文CTB,1を生成するため、攻撃者は、応答装置20の送信者秘密鍵skBSを知らなければ第2送信情報(UA,UB,CTB,1,CTB,2)を生成することができない。これにより、攻撃者が応答装置20に成りすますことができず、強フォワード安全性を満たすことができる。
[プログラム、記録媒体]
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
In addition, since the
[Program, recording medium]
The present invention is not limited to the above-described embodiment, and it goes without saying that modifications can be made as appropriate without departing from the spirit of the present invention. The various processes described in the above-described embodiments are not only executed in time series according to the order described, but may be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes.
また、上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。 When various processing functions in each device described in the above embodiment are realized by a computer, the processing contents of the functions that each device should have are described by a program. Then, by executing this program on a computer, various processing functions in each of the above devices are realized on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。 The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.
1 鍵交換システム
10 要求装置
20 応答装置
90 ネットワーク
101 制御部
102 記憶部
110 乱数選択部
115 長期鍵対生成部
120 短期乱数選択部
125 短期鍵対生成部
130 第1暗号化部
135 出力部
140 入力部
145 第2鍵復号部
150 第3鍵復号部
155 セッション鍵生成部
201 制御部
202 記憶部
210 乱数選択部
215 長期鍵対生成部
220 短期乱数選択部
225 第3暗号化部
230 第2暗号化部
235 出力部
240 入力部
245 第1鍵復号部
250 第3鍵生成部
255 セッション鍵生成部
1
Claims (5)
前記要求装置は、
任意のサインクリプションの送信者鍵生成アルゴリズムSKeyGenにより生成された要求側送信者秘密鍵skASと、前記サインクリプションの受信者鍵生成アルゴリズムRKeyGenにより生成された要求側受信者秘密鍵skARとが記憶された要求側記憶部と、
鍵生成と暗号文生成が独立な鍵カプセル化メカニズムの鍵生成アルゴリズムwKeyGenを用いて、短期公開鍵ekAと短期秘密鍵dkAを求める短期鍵対生成部と、
前記要求側送信者秘密鍵skASと、前記受信者鍵生成アルゴリズムRKeyGenにより生成された応答側受信者公開鍵pkBRと、前記短期公開鍵ekAとを入力として、前記サインクリプションのサインクリプションアルゴリズムSCを用いて、第1暗号文CTAと第1鍵KAを生成する第1暗号化部と、
前記第1暗号文CTAと前記短期公開鍵ekAを前記応答装置へ送信する要求側出力部と、
前記要求側受信者秘密鍵skARと、前記送信者鍵生成アルゴリズムSKeyGenにより生成された応答側送信者公開鍵pkBSと、前記応答装置から受信した第2暗号文CTB,1および第3暗号文CTB,2とを入力として、前記サインクリプションの復号アルゴリズムUSCを用いて、第2鍵KB,1を生成する第2鍵復号部と、
前記短期秘密鍵dkAと前記第3暗号文CTB,2とを入力として、前記鍵カプセル化メカニズムの復号アルゴリズムwDeCapを用いて、第3鍵KB,2を生成する第3鍵復号部と、
前記第1鍵KAと前記第2鍵KB,1と前記第3鍵KB,2を含むセッション識別子STを用いて、前記セッション鍵SKを生成する要求側セッション鍵生成部と、
を備え、
前記応答装置は、
前記送信者鍵生成アルゴリズムSKeyGenにより生成された応答側送信者秘密鍵skBSと、前記受信者鍵生成アルゴリズムRKeyGenにより生成された応答側受信者秘密鍵skBRとが記憶された応答側記憶部と、
前記鍵カプセル化メカニズムの暗号文生成アルゴリズムwEnCapCを用いて、前記第3暗号文CTB,2を生成する第3暗号化部と、
前記応答側送信者秘密鍵skBSと、前記受信者鍵生成アルゴリズムRKeyGenにより生成された要求側受信者公開鍵pkARと、前記第3暗号文CTB,2とを入力として、前記サインクリプションアルゴリズムSCを用いて、前記第2暗号文CTB,1と前記第2鍵KB,1を生成する第2暗号化部と、
前記第2暗号文CTB,1と前記第3暗号文CTB,2を前記要求装置へ送信する応答側出力部と、
前記応答側受信者秘密鍵skBRと、前記送信者鍵生成アルゴリズムSKeyGenにより生成された要求側送信者公開鍵pkASと、前記要求装置から受信した前記第1暗号文CTAおよび前記短期公開鍵ekAとを入力として、前記復号アルゴリズムUSCを用いて、前記第1鍵KAを生成する第1鍵復号部と、
前記短期公開鍵ekAと前記第3暗号文CTB,2とを入力として、前記鍵カプセル化メカニズムのカプセル化鍵生成アルゴリズムwEnCapKを用いて、前記第3鍵KB,2を生成する第3鍵生成部と、
前記第1鍵KAと前記第2鍵KB,1と前記第3鍵KB,2を含む前記セッション識別子STを用いて、前記セッション鍵SKを生成する応答側セッション鍵生成部と、
を備えることを特徴とする鍵交換システム。 A key exchange system for sharing a session key SK between a requesting device and a response device,
The requesting device is:
Requester sender private key sk AS generated by a sender key generation algorithm SKeyGen of an arbitrary signature, and requester receiver secret key sk AR generated by a receiver key generation algorithm RKeyGen of the signature application A request storage unit storing
Using a key generation algorithm wKeyGen of a key encapsulation mechanism in which key generation and ciphertext generation are independent, a short-term key pair generation unit that calculates a short-term public key ek A and a short-term secret key dk A ,
Using the request-side sender private key sk AS , the response-side recipient public key pk BR generated by the receiver key generation algorithm RKeyGen, and the short-term public key ek A as inputs, the signature application of the signature application. A first encryption unit that generates a first ciphertext CT A and a first key K A using the option algorithm SC;
A request side output unit for transmitting the first ciphertext CT A and the short-term public key ek A to the response device;
The request side receiver private key sk AR , the response side sender public key pk BS generated by the sender key generation algorithm SKeyGen, and the second ciphertext CT B, 1 and the third cipher received from the response device A second key decryption unit that receives the sentence CT B, 2 as an input and generates the second key K B, 1 using the decryption algorithm USC of the signature application;
A third key decryption unit which receives the short-term secret key dk A and the third ciphertext CT B, 2 as input and generates a third key K B, 2 using the decryption algorithm wDeCap of the key encapsulation mechanism; ,
A requesting session key generation unit that generates the session key SK using a session identifier ST including the first key K A , the second key K B, 1, and the third key K B, 2 ;
With
The response device is:
A response side storage unit storing the response side sender secret key sk BS generated by the sender key generation algorithm SKeyGen and the response side receiver secret key sk BR generated by the receiver key generation algorithm RKeyGen; ,
A third encryption unit that generates the third ciphertext CT B, 2 using the ciphertext generation algorithm wEnCapC of the key encapsulation mechanism;
Using the responder sender private key sk BS , the requester receiver public key pk AR generated by the receiver key generation algorithm RKeyGen, and the third ciphertext CT B, 2 as input, the signature encryption A second encryption unit that generates the second ciphertext CT B, 1 and the second key KB , 1 using an algorithm SC;
A response side output unit for transmitting the second ciphertext CT B, 1 and the third ciphertext CT B, 2 to the requesting device;
The response-side receiver private key sk BR , the request-side sender public key pk AS generated by the transmitter key generation algorithm SKeyGen, the first ciphertext CT A and the short-term public key received from the requesting device as inputs and ek a, using the decryption algorithm USC, a first key decryption unit for generating the first key K a,
A third key K B, 2 is generated by using the short-term public key ek A and the third ciphertext CT B, 2 as inputs and using an encapsulation key generation algorithm wEnCapK of the key encapsulation mechanism. A key generation unit;
A responding session key generation unit that generates the session key SK using the session identifier ST including the first key K A , the second key K B, 1, and the third key K B, 2 ;
A key exchange system comprising:
任意のサインクリプションの送信者鍵生成アルゴリズムSKeyGenにより生成された要求側送信者秘密鍵skASと、前記サインクリプションの受信者鍵生成アルゴリズムRKeyGenにより生成された要求側受信者秘密鍵skARとが記憶された記憶部と、
鍵生成と暗号文生成が独立な鍵カプセル化メカニズムの鍵生成アルゴリズムwKeyGenを用いて、短期公開鍵ekAと短期秘密鍵dkAを求める短期鍵対生成部と、
前記要求側送信者秘密鍵skASと、前記受信者鍵生成アルゴリズムRKeyGenにより生成された応答側受信者公開鍵pkBRと、前記短期公開鍵ekAとを入力として、前記サインクリプションのサインクリプションアルゴリズムSCを用いて、第1暗号文CTAと第1鍵KAを生成する第1暗号化部と、
前記第1暗号文CTAと前記短期公開鍵ekAを前記応答装置へ送信する出力部と、
前記要求側受信者秘密鍵skARと、前記送信者鍵生成アルゴリズムSKeyGenにより生成された応答側送信者公開鍵pkBSと、前記応答装置から受信した第2暗号文CTB,1および第3暗号文CTB,2とを入力として、前記サインクリプションの復号アルゴリズムUSCを用いて、第2鍵KB,1を生成する第2鍵復号部と、
前記短期秘密鍵dkAと、前記第3暗号文CTB,2とを入力として、前記鍵カプセル化メカニズムの復号アルゴリズムwDeCapを用いて、第3鍵KB,2を生成する第3鍵復号部と、
前記第1鍵KAと前記第2鍵KB,1と前記第3鍵KB,2を含むセッション識別子STを用いて、前記セッション鍵SKを生成するセッション鍵生成部と、
を備えることを特徴とする要求装置。 A requesting device sharing a session key SK with the responding device,
Requester sender private key sk AS generated by a sender key generation algorithm SKeyGen of an arbitrary signature, and requester receiver secret key sk AR generated by a receiver key generation algorithm RKeyGen of the signature application A storage unit storing
Using a key generation algorithm wKeyGen of a key encapsulation mechanism in which key generation and ciphertext generation are independent, a short-term key pair generation unit that calculates a short-term public key ek A and a short-term secret key dk A ,
Using the request-side sender private key sk AS , the response-side recipient public key pk BR generated by the receiver key generation algorithm RKeyGen, and the short-term public key ek A as inputs, the signature application of the signature application. A first encryption unit that generates a first ciphertext CT A and a first key K A using the option algorithm SC;
An output unit for transmitting the first ciphertext CT A and the short-term public key ek A to the response device;
The request side receiver private key sk AR , the response side sender public key pk BS generated by the sender key generation algorithm SKeyGen, and the second ciphertext CT B, 1 and the third cipher received from the response device A second key decryption unit that receives the sentence CT B, 2 as an input and generates the second key K B, 1 using the decryption algorithm USC of the signature application;
A third key decryption unit that receives the short-term secret key dk A and the third ciphertext CT B, 2 and generates a third key K B, 2 using the decryption algorithm wDeCap of the key encapsulation mechanism When,
A session key generation unit that generates the session key SK using a session identifier ST including the first key K A , the second key K B, 1, and the third key K B, 2 ;
A requesting device comprising:
任意のサインクリプションの送信者鍵生成アルゴリズムSKeyGenにより生成された応答側送信者秘密鍵skBSと、前記サインクリプションの受信者鍵生成アルゴリズムRKeyGenにより生成された応答側受信者秘密鍵skBRとが記憶された記憶部と、
鍵生成と暗号文生成が独立な鍵カプセル化メカニズムの暗号文生成アルゴリズムwEnCapCを用いて、第3暗号文CTB,2を生成する第3暗号化部と、
前記応答側送信者秘密鍵skBSと、前記受信者鍵生成アルゴリズムRKeyGenにより生成された要求側受信者公開鍵pkARと、前記第3暗号文CTB,2とを入力として、前記サインクリプションのサインクリプションアルゴリズムSCを用いて、第2暗号文CTB,1と第2鍵KB,1を生成する第2暗号化部と、
前記第2暗号文CTB,1と前記第3暗号文CTB,2を前記要求装置へ送信する出力部と、
前記応答側受信者秘密鍵skBRと、前記送信者鍵生成アルゴリズムSKeyGenにより生成された要求側送信者公開鍵pkASと、前記要求装置から受信した第1暗号文CTAおよび短期公開鍵ekAとを入力として、前記サインクリプションの復号アルゴリズムUSCを用いて、第1鍵KAを生成する第1鍵復号部と、
前記短期公開鍵ekAと前記第3暗号文CTB,2とを入力として、前記鍵カプセル化メカニズムのカプセル化鍵生成アルゴリズムwEnCapKを用いて、第3鍵KB,2を生成する第3鍵生成部と、
前記第1鍵KAと前記第2鍵KB,1と前記第3鍵KB,2を含むセッション識別子STを用いて、前記セッション鍵SKを生成するセッション鍵生成部と、
を備えることを特徴とする応答装置。 A response device sharing the session key SK with the requesting device,
A response-side sender private key sk BS generated by a sender key generation algorithm SKeyGen of an arbitrary signature, and a response-side receiver secret key sk BR generated by the receiver key generation algorithm RKeyGen of the signature A storage unit storing
A third encryption unit that generates a third ciphertext CT B, 2 using a ciphertext generation algorithm wEnCapC of a key encapsulation mechanism in which key generation and ciphertext generation are independent;
Using the responder sender private key sk BS , the requester receiver public key pk AR generated by the receiver key generation algorithm RKeyGen, and the third ciphertext CT B, 2 as input, the signature encryption A second encryption unit that generates a second ciphertext CT B, 1 and a second key K B, 1 using the signature algorithm SC of
An output unit for transmitting the second ciphertext CT B, 1 and the third ciphertext CT B, 2 to the requesting device;
The response-side receiver private key sk BR , the request-side sender public key pk AS generated by the transmitter key generation algorithm SKeyGen, the first ciphertext CT A and the short-term public key ek A received from the requesting device as input the door, using a decryption algorithm USC of the signcryption, a first key decryption unit for generating a first key K a,
The third key for generating the third key K B, 2 by using the short-term public key ek A and the third ciphertext CT B, 2 as input and using the encapsulation key generation algorithm wEnCapK of the key encapsulation mechanism A generator,
A session key generation unit that generates the session key SK using a session identifier ST including the first key K A , the second key K B, 1, and the third key K B, 2 ;
A response device comprising:
前記要求装置が、鍵生成と暗号文生成が独立な鍵カプセル化メカニズムの鍵生成アルゴリズムwKeyGenを用いて、短期公開鍵ekAと短期秘密鍵dkAを求める短期鍵対生成ステップと、
前記要求装置が、任意のサインクリプションの送信者鍵生成アルゴリズムSKeyGenにより生成された要求側送信者秘密鍵skASと、前記サインクリプションの受信者鍵生成アルゴリズムRKeyGenにより生成された応答側受信者公開鍵pkBRと、前記短期公開鍵ekAとを入力として、前記サインクリプションのサインクリプションアルゴリズムSCを用いて、第1暗号文CTAと第1鍵KAを生成する第1暗号化ステップと、
前記要求装置が、前記第1暗号文CTAと前記短期公開鍵ekAを前記応答装置へ送信する要求側出力ステップと、
前記応答装置が、前記鍵カプセル化メカニズムの暗号文生成アルゴリズムwEnCapCを用いて、第3暗号文CTB,2を生成する第3暗号化ステップと、
前記応答装置が、前記送信者鍵生成アルゴリズムSKeyGenにより生成された応答側送信者秘密鍵skBSと、前記受信者鍵生成アルゴリズムRKeyGenにより生成された要求側受信者公開鍵pkARと、前記第3暗号文CTB,2とを入力として、前記サインクリプションアルゴリズムSCを用いて、第2暗号文CTB,1と第2鍵KB,1を生成する第2暗号化ステップと、
前記応答装置が、前記第2暗号文CTB,1と前記第3暗号文CTB,2を前記要求装置へ送信する応答側出力ステップと、
前記要求装置が、前記要求側受信者秘密鍵skARと、前記送信者鍵生成アルゴリズムSKeyGenにより生成された応答側送信者公開鍵pkBSと、前記応答装置から受信した前記第2暗号文CTB,1および前記第3暗号文CTB,2とを入力として、前記サインクリプションの復号アルゴリズムUSCを用いて、第2鍵KB,1を生成する第2鍵復号ステップと、
前記要求装置が、前記短期秘密鍵dkAと前記第3暗号文CTB,2とを入力として、前記鍵カプセル化メカニズムの復号アルゴリズムwDeCapを用いて、第3鍵KB,2を生成する第3鍵復号ステップと、
前記要求装置が、前記第1鍵KAと前記第2鍵KB,1と前記第3鍵KB,2を含むセッション識別子STを用いて、前記セッション鍵SKを生成する要求側セッション鍵生成ステップと、
前記応答装置が、前記応答側受信者秘密鍵skBRと、前記送信者鍵生成アルゴリズムSKeyGenにより生成された要求側送信者公開鍵pkASと、前記要求装置から受信した前記第1暗号文CTAおよび前記短期公開鍵ekAとを入力として、前記復号アルゴリズムUSCを用いて、前記第1鍵KAを生成する第1鍵復号ステップと、
前記応答装置が、前記短期公開鍵ekAと前記第3暗号文CTB,2とを入力として、前記鍵カプセル化メカニズムのカプセル化鍵生成アルゴリズムwEnCapKを用いて、前記第3鍵KB,2を生成する第3鍵生成ステップと、
前記応答装置が、前記第1鍵KAと前記第2鍵KB,1と前記第3鍵KB,2を含む前記セッション識別子STを用いて、前記セッション鍵SKを生成する応答側セッション鍵生成ステップと、
を含むことを特徴とする鍵交換方法。 A key exchange method for sharing a session key SK between a requesting device and a response device,
The requesting device uses a key generation algorithm wKeyGen of a key encapsulation mechanism in which key generation and ciphertext generation are independent to generate a short-term public key ek A and a short-term secret key dk A ,
The requesting device is a requesting-side sender secret key sk AS generated by a sender key generation algorithm SKeyGen of an arbitrary signature application and a responding-side receiver generated by the receiver key generation algorithm RKeyGen of the signature application First encryption for generating a first ciphertext CT A and a first key K A by using the public key pk BR and the short-term public key ek A as input and using the signature encryption algorithm SC of the signature application Steps,
A request side output step in which the requesting device transmits the first ciphertext CT A and the short-term public key ek A to the response device;
A third encryption step in which the responding device generates a third ciphertext CT B, 2 using a ciphertext generation algorithm wEnCapC of the key encapsulation mechanism;
The response device includes a response-side sender private key sk BS generated by the sender key generation algorithm SKeyGen, a request-side receiver public key pk AR generated by the receiver key generation algorithm RKeyGen, and the third A second encryption step for generating a second ciphertext CT B, 1 and a second key K B, 1 using the ciphertext CT B, 2 as an input, and using the signature algorithm SC;
A response side output step in which the response device transmits the second ciphertext CT B, 1 and the third ciphertext CT B, 2 to the requesting device;
The requesting device receives the requesting-side recipient secret key sk AR , the responding-side sender public key pk BS generated by the sender key generation algorithm SKeyGen, and the second ciphertext CT B received from the responding device. , 1 and the third ciphertext CT B, 2 as input, and a second key decryption step of generating a second key K B, 1 using the signature encryption algorithm USC;
The requesting device receives the short-term secret key dk A and the third ciphertext CT B, 2 as inputs and generates a third key K B, 2 using the decryption algorithm wDeCap of the key encapsulation mechanism. A three-key decryption step;
The requesting device generates a session key SK using the session identifier ST including the first key K A , the second key K B, 1 and the third key K B, 2 Steps,
The response device receives the response-side recipient private key sk BR , the request-side sender public key pk AS generated by the sender key generation algorithm SKeyGen, and the first ciphertext CT A received from the request device. And a first key decryption step of generating the first key K A using the decryption algorithm USC with the short-term public key ek A as an input;
The response device receives the short-term public key ek A and the third ciphertext CT B, 2 as input, and uses the encapsulated key generation algorithm wEnCapK of the key encapsulation mechanism to input the third key K B, 2 A third key generation step of generating
The responding device generates the session key SK using the session identifier ST including the first key K A , the second key K B, 1 and the third key K B, 2. Generation step;
Including a key exchange method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012194213A JP5863605B2 (en) | 2012-09-04 | 2012-09-04 | Key exchange system, request device, response device, key exchange method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012194213A JP5863605B2 (en) | 2012-09-04 | 2012-09-04 | Key exchange system, request device, response device, key exchange method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014050084A true JP2014050084A (en) | 2014-03-17 |
JP5863605B2 JP5863605B2 (en) | 2016-02-16 |
Family
ID=50609292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012194213A Active JP5863605B2 (en) | 2012-09-04 | 2012-09-04 | Key exchange system, request device, response device, key exchange method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5863605B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002508529A (en) * | 1998-03-23 | 2002-03-19 | サーティコム コーポレーション | Intrinsic certificate scheme |
JP2009526411A (en) * | 2005-02-10 | 2009-07-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method of exchange between two parties interconnected by a device or network, signal transmission medium, and device (method and structure for challenge-response signatures and high performance secure Diffie-Hellman protocol) |
JP2012044277A (en) * | 2010-08-13 | 2012-03-01 | Kddi Corp | Verification apparatus, verification method, and verification program for verifying security of protocol |
-
2012
- 2012-09-04 JP JP2012194213A patent/JP5863605B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002508529A (en) * | 1998-03-23 | 2002-03-19 | サーティコム コーポレーション | Intrinsic certificate scheme |
JP2009526411A (en) * | 2005-02-10 | 2009-07-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Method of exchange between two parties interconnected by a device or network, signal transmission medium, and device (method and structure for challenge-response signatures and high performance secure Diffie-Hellman protocol) |
JP2012044277A (en) * | 2010-08-13 | 2012-03-01 | Kddi Corp | Verification apparatus, verification method, and verification program for verifying security of protocol |
Non-Patent Citations (2)
Title |
---|
JPN6015007983; T. ElGamal: 'A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms' Lecture Notes in Computer Science Vol. 196, 1985, pp. 10-18, Springer * |
JPN6015007987; A. Fujioka et al.: 'Strongly Secure Authenticated Key Exchange from Factoring, Codes, and Lattices' Cryptology ePrint Archive Report 2012/211,Ver. 20120423:051201, 201204, International Association for Cryptologic Research * |
Also Published As
Publication number | Publication date |
---|---|
JP5863605B2 (en) | 2016-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11050557B2 (en) | Key agreement devices and method | |
US11882218B2 (en) | Matching system, method, apparatus, and program | |
Wang et al. | Panda: Public auditing for shared data with efficient user revocation in the cloud | |
Kolhar et al. | Cloud data auditing techniques with a focus on privacy and security | |
Nam et al. | Efficient and anonymous two-factor user authentication in wireless sensor networks: achieving user anonymity with lightweight sensor computation | |
JP6497747B2 (en) | Key exchange method, key exchange system | |
Maitra et al. | Security analysis and design of an efficient ECC‐based two‐factor password authentication scheme | |
US10454681B1 (en) | Multi-use key encapsulation processes | |
Yu et al. | Identity privacy-preserving public auditing with dynamic group for secure mobile cloud storage | |
US9923720B2 (en) | Network device configured to derive a shared key | |
US9338000B2 (en) | Device and method for generating keys with enhanced security for fully homomorphic encryption algorithm | |
CN108632237A (en) | A kind of position service method based on the anonymity of more Anonymizers | |
CN115580396B (en) | Tight trace query system and method | |
WO2018043573A1 (en) | Key exchange method and key exchange system | |
WO2019110399A1 (en) | Two-party signature device and method | |
KR20210139344A (en) | Methods and devices for performing data-driven activities | |
Luo et al. | A security communication model based on certificateless online/offline signcryption for Internet of Things | |
WO2014030706A1 (en) | Encrypted database system, client device and server, method and program for adding encrypted data | |
JP6368047B2 (en) | Key exchange method, key exchange system, key distribution device, representative communication device, general communication device, and program | |
Tanveer et al. | PAF-IoD: PUF-Enabled Authentication Framework for the Internet of Drones | |
CN116318739B (en) | Electronic data exchange method and system | |
CN112839328A (en) | Seal data verification method, client, server and storage medium | |
CN110784318B (en) | Group key updating method, device, electronic equipment, storage medium and communication system | |
Gao et al. | An Anonymous Access Authentication Scheme Based on Proxy Ring Signature for CPS‐WMNs | |
Obiri et al. | A certificateless signcryption with proxy-encryption for securing agricultural data in the cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140826 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150303 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150430 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151013 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151202 |
|
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: 20151222 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151222 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5863605 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |