JP5863605B2 - 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 PDF

Info

Publication number
JP5863605B2
JP5863605B2 JP2012194213A JP2012194213A JP5863605B2 JP 5863605 B2 JP5863605 B2 JP 5863605B2 JP 2012194213 A JP2012194213 A JP 2012194213A JP 2012194213 A JP2012194213 A JP 2012194213A JP 5863605 B2 JP5863605 B2 JP 5863605B2
Authority
JP
Japan
Prior art keywords
key
ciphertext
response
short
algorithm
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
JP2012194213A
Other languages
Japanese (ja)
Other versions
JP2014050084A (en
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 JP2012194213A priority Critical patent/JP5863605B2/en
Publication of JP2014050084A publication Critical patent/JP2014050084A/en
Application granted granted Critical
Publication of JP5863605B2 publication Critical patent/JP5863605B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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 Non-Patent Document 1 will be described in detail.

[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,1A)、長期公開鍵を(ekA,1)、応答装置の長期秘密鍵を(dkB,1B)、長期公開鍵を(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).

Figure 0005863605
Figure 0005863605

要求装置は第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).

Figure 0005863605
Figure 0005863605

そして、応答装置は第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 ).

Figure 0005863605
Figure 0005863605

そして、応答装置はセッション識別子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.

Figure 0005863605
Figure 0005863605

最後に、応答装置はセッションを終了し、全てのセッション情報を削除する。   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.

Figure 0005863605
Figure 0005863605

そして、要求装置はセッション識別子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.

Figure 0005863605
Figure 0005863605

最後に、要求装置はセッションを終了し、全てのセッション情報を削除する。   Finally, the requesting device ends the session and deletes all session information.

Fujioka, A., Suzuki, K., Xagawa, K., Yoneyama, K., “Strongly Secure Authenticated Key Exchange from Factoring, Codes, and Lattices.”, Public Key Cryptography 2012, pp.467-484.Fujioka, A., Suzuki, K., Xagawa, K., Yoneyama, K., “Strongly Secure Authenticated Key Exchange from Factoring, Codes, and Lattices.”, Public Key Cryptography 2012, pp.467-484.

上述の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暗号化部は、乱数r B,2 を入力として、鍵カプセル化メカニズムの暗号文生成アルゴリズム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 receives the random number r B, 2 and 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 を用いて、短期公開鍵ek A と第1暗号文CT A と第2暗号文CT B,1 と第3暗号文CT B,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, have use first key K A and the second key K B, 1 and a third key K B, 2, and short-term public key ek A and the first ciphertext CT A Session key SK is generated from session identifier ST including second ciphertext CT B, 1 and third ciphertext CT B, 2 .

応答装置の備える第1鍵復号部は、応答側受信者秘密鍵skBRと、送信者鍵生成アルゴリズムSKeyGenにより生成された要求側送信者公開鍵pkASと、要求装置から受信した第1暗号文CTAおよび短期公開鍵ekAとを入力として、復号アルゴリズムUSCを用いて、第1鍵KAを生成する。応答装置の備える第3鍵生成部は、短期公開鍵ekA乱数r B,2 とを入力として、鍵カプセル化メカニズムのカプセル化鍵生成アルゴリズムwEnCapKを用いて、第3鍵KB,2を生成する。応答装置の備える応答側セッション鍵生成部は、第1鍵KAと第2鍵KB,1と第3鍵KB,2 を用いて、短期公開鍵ek A と第1暗号文CT A と第2暗号文CT B,1 と第3暗号文CT B,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 random number r B, 2 as input, and uses the encapsulation key generation algorithm wEnCapK of the key encapsulation mechanism to obtain the third key K B, 2 . Generate. Responder session key generation unit provided in the response apparatus, have use first key K A and the second key K B, 1 and a third key K B, 2, and short-term public key ek A and the first ciphertext CT A Session key SK is generated from session identifier ST including second ciphertext CT B, 1 and third ciphertext CT 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.

鍵交換システムの機能構成を例示する図である。It is a figure which illustrates the function structure of a key exchange system. 要求装置の機能構成を例示する図である。It is a figure which illustrates the function structure of a request | requirement apparatus. 応答装置の機能構成を例示する図である。It is a figure which illustrates the function structure of a response apparatus. 鍵交換方法の処理フローを例示する図である。It is a figure which illustrates the processing flow of the key exchange method. 鍵交換方法の処理フローを例示する図である。It is a figure which illustrates the processing flow of the key exchange method.

実施形態の説明に先立ち、この発明の基本的な考え方について説明する。   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と乱数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 Reference 1 includes a key generation algorithm wKeyGen, a ciphertext generation algorithm wEnCapC, an encapsulation key generation algorithm wEnCapK, and a decryption algorithm wDeCap. The key generation algorithm wKeyGen and the decryption algorithm wDeCap are the same as the normal key encapsulation mechanism. Ciphertext generation algorithm wEnCapC as an input system public parameter and the random number r e ∈RS E, and outputs the ciphertext CT∈CS. However, RS E random number space of the ciphertext generation, CS is a ciphertext space. Encapsulation key generation algorithm wEnCapK as an input the public key ek and random number r e, to output the KEM key K∈KS. However, KS is a KEM key space.

参考文献1に記載の鍵カプセル化メカニズムでは、暗号文生成アルゴリズムwEnCapCを、短期公開鍵ekA,2を受信する前に実行することができるため、応答装置が要求装置からの情報を受信する前に、応答装置から要求装置へ情報を送信することも可能である。すなわち、各装置は相手から受信する情報とは独立して情報を生成し送信することができるため、鍵交換手順の順番を入れ替えることが可能となる。これにより、仮に要求装置から応答装置への通信路に遅延が発生したとしても、応答装置は要求装置からの情報の受信を待つ必要がなく、遅延による影響を小さくすることができる。 In the key encapsulation mechanism described in Reference 1, since the ciphertext generation algorithm wEnCapC can be executed before receiving the short-term public key ek A, 2 , before the response device receives the information from the requesting device. It is also possible to transmit information from the responding device to the requesting device. That is, since each device can generate and transmit information independently of information received from the other party, the order of key exchange procedures can be changed. Thereby, even if a delay occurs in the communication path from the requesting device to the response device, the response device does not need to wait for reception of information from the requesting device, and the influence of the delay can be reduced.

<サインクリプションの説明>
サインクリプションは、暗号化と署名を同時に行う暗号方式である。暗号文生成の際に受信者の公開鍵と送信者の秘密鍵を必要とし、送信者の公開鍵と受信者の秘密鍵を用いることによって暗号文の正当性検証を行うことができる。サインクリプションの詳細な構成方法は、例えば、「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 Reference 2 includes a sender key generation algorithm SKeyGen, a receiver key generation algorithm RKeyGen, a signature encryption algorithm SC, and a decryption algorithm USC. The sender key generation algorithm SKeyGen receives the security parameter к and the random number r S ∈RS SG, and outputs the sender public key pk S and the sender secret key sk S. RS SG is a random number space for generating a sender key. The recipient key generation algorithm RKeyGen receives the security parameter к and the random number r R ∈RS RG and outputs the recipient public key pk R and the recipient secret key sk R. RS RG is a random number space for generating a recipient key. The signature encryption algorithm SC receives the sender private key sk S , the recipient public key pk R, and the message m, and outputs a KEM key K∈KS and a ciphertext CT∈CS. As described above, KS is a KEM key space, and CS is a ciphertext space. The decryption algorithm USC receives the receiver private key sk R , the sender public key pk S , the message m, and the ciphertext CT, and outputs the KEM key K if the ciphertext CT is correct. If the ciphertext CT is incorrect, error ⊥ is returned.

従来の鍵カプセル化メカニズム(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 key exchange system 1 according to the present invention will be described with reference to FIG. The key exchange system 1 includes a request device 10 and a response device 20. The requesting device 10 and the response device 20 are connected to the network 90. The network 90 only needs to be configured so that connected devices can communicate with each other. For example, the network 90 can be configured with the Internet, a LAN (Local Area Network), a WAN (Wide Area Network), or the like.

図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 device 10 included in the key exchange system 1 will be described with reference to FIG. The requesting device 10 includes a control unit 101, a storage unit 102, a random number selection unit 110, a long-term key pair generation unit 115, a short-term random number selection unit 120, a short-term key pair generation unit 125, a first encryption unit 130, an output unit 135, an input Unit 140, second key decryption unit 145, third key decryption unit 150, and session key generation unit 155. The requesting device 10 is a special device configured by reading a special program into a known or dedicated computer having a CPU (Central Processing Unit), a RAM (Random Access Memory), and the like. The requesting device 10 executes each process under the control of the control unit 101. The storage unit 102 includes, for example, a main storage device such as a RAM (Random Access Memory), an auxiliary storage device including a semiconductor memory element such as a hard disk, an optical disk, or a flash memory, middleware such as a relational database or a key value store, and the like. Can be configured.

図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 response device 20 included in the key exchange system 1 will be described with reference to FIG. The response device 20 includes a control unit 201, a storage unit 202, a random number selection unit 210, a long-term key pair generation unit 215, a short-term random number selection unit 220, a third encryption unit 225, a second encryption unit 230, an output unit 235, an input Unit 240, first key decryption unit 245, third key generation unit 250, and session key generation unit 255. The response device 20 is a special device configured by reading a special program into a known or dedicated computer having a CPU (Central Processing Unit), a RAM (Random Access Memory), and the like. The response device 20 executes each process under the control of the control unit 201. The storage unit 202 includes, for example, a main storage device such as a RAM (Random Access Memory), an auxiliary storage device configured by a semiconductor memory element such as a hard disk, an optical disk, or a flash memory, middleware such as a relational database or a key value store, and the like. Can be configured.
<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 key exchange system 1 generates a long-term public key and a long-term secret key will be described in the order of procedures.

要求装置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,skARA)、長期公開鍵を(pkAS,pkAR)とする(S118)。生成された長期秘密鍵(skAS,skARA)は記憶部102に記憶される。生成された長期公開鍵(pkAS,pkAR)は公開される。公開の方法は長期公開鍵(pkAS,pkAR)が応答装置20から参照可能であればどのような方式であってもよい。例えば、要求装置10から応答装置20へあらかじめ長期公開鍵(pkAS,pkAR)を送信しておいてもよいし、別途用意する公開鍵基盤(PKI、Public Key Infrastructure)を用いて長期公開鍵(pkAS,pkAR)を公開してもよい。 The random number selection unit 110 included in the requesting device 10 randomly selects σ A ∈FS, r AS ∈RS G , and r AR ∈RS G (S110). The random numbers r AS and r AR are input to the long-term key pair generation unit 115. The long-term key pair generation unit 115 obtains a sender key (pk AS , sk AS ) ← SKeyGen (1 к , r AS ) using a signature key generation algorithm SKeyGen (S116). Subsequently, the long-term key pair generation unit 115 obtains a recipient key (pk AR , sk AR ) ← RKeyGen (1 к , r AR ) using a signatory recipient key generation algorithm RKeyGen (S117). Then, the long-term key pair generation unit 115 sets the long-term secret key of the requesting device 10 as (sk AS , sk AR , σ A ) and the long-term public key as (pk AS , pk AR ) (S118). The generated long-term secret key (sk AS , sk AR , σ A ) is stored in the storage unit 102. The generated long-term public key (pk AS , pk AR ) is made public. Any public method may be used as long as the long-term public key (pk AS , pk AR ) can be referred from the response device 20. For example, a long-term public key (pk AS , pk AR ) may be transmitted from the requesting device 10 to the response device 20 in advance, or a long-term public key using a separately prepared public key infrastructure (PKI). (pk AS , pk AR ) may be disclosed.

応答装置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,skBRB)、長期公開鍵を(pkBS,pkBR)とする(S218)。生成された長期秘密鍵(skBS,skBRB)は記憶部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 number selection unit 210 included in the response device 20 randomly selects σ B ∈FS, r BS ∈RS G , and r BR ∈RS G (S210). The random numbers r BS and r BR are input to the long-term key pair generation unit 215. The long-term key pair generation unit 215 obtains the sender key (pk BS , sk BS ) ← SKeyGen (1 к , r BS ) using the signer's sender key generation algorithm SKeyGen (S216). Subsequently, the long-term key pair generation unit 215 obtains a recipient key (pk BR , sk BR ) <-RKeyGen (1 к , r BR ) using a signator's recipient key generation algorithm RKeyGen (S217). Then, the long-term key pair generation unit 215 sets the long-term secret key of the response device 20 as (sk BS , sk BR , σ B ) and the long-term public key as (pk BS , pk BR ) (S218). The generated long-term secret key (sk BS , sk BR , σ B ) is stored in the storage unit 202. The generated long-term public key (pk BS , pk BR ) is made public. The public method may be any method as long as the long-term public key (pk BS , pk BR ) can be referred to from the requesting device 10. For example, the long-term public key (pk BS , pk BR ) may be transmitted from the response device 20 to the requesting device 10 in advance, or a long-term public key using a public key infrastructure (PKI, Public Key Infrastructure) prepared separately. (pk BS , pk BR ) may be disclosed.
<Key exchange>
4 and 5, an operation example in which the requesting device 10 and the response device 20 of the key exchange system 1 share the session key SK will be described in the order of procedures. 4 and 5 show a series of procedures. “A1” in FIG. 4 continues processing to “A1” in FIG. 5, and “A2” in FIG. 4 continues processing to “A2” in FIG. Represents what to do.

要求装置10の備える短期乱数選択部120は、ランダムに乱数rA,1∈FS、r’A,1∈FS、rA,2∈RSGを選択する(S120)。乱数rA,2は短期鍵対生成部125へ入力される。短期鍵対生成部125は、鍵生成と暗号文生成が独立な鍵カプセル化メカニズムの鍵生成アルゴリズムwKeyGenを下記の式(16)のように計算し、短期公開鍵ekAと短期秘密鍵dkAを生成する(S125)。 Short-term random number selector 120 included in the request device 10, random random number r A, 1 ∈FS, r ' A, 1 ∈FS, selects r A, 2 ∈RS G (S120 ). The random number r A, 2 is input to the short-term key pair generation unit 125. The short-term key pair generation unit 125 calculates a key generation algorithm wKeyGen of a key encapsulation mechanism in which key generation and ciphertext generation are independent as shown in the following equation (16), and the short-term public key ek A and the short-term secret key dk A Is generated (S125).

Figure 0005863605
Figure 0005863605

乱数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 first encryption unit 130. The first encryption unit 130 considers the short-term public key eK A as a message using the request-side sender private key sk AS and the response-side recipient public key pk BR, and uses the sign-encryption algorithm SC for sign-signation. The first ciphertext CT A and the first key K A are generated by calculating as in the following equation (17) (S130).

Figure 0005863605
Figure 0005863605

第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 output unit 135. The output unit 135 generates first transmission information (U A , U B , CT A , ek A ) and transmits it to the response device 20 (S135). As described above, U A is an identifier indicating the requesting device 10, and U B is an identifier indicating the response device 20.

応答装置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 random number selector 220 included in the response device 20, random random number r B, 1 ∈FS, r ' B, 1 ∈FS, selects r B, 2 ∈RS E (S220 ). The random number r B, 2 is input to the third encryption unit 225. The third encryption unit 225 calculates the ciphertext generation algorithm wEnCapC of the key encapsulation mechanism in which key generation and ciphertext generation are independent as shown in the following equation (18) , and generates the third ciphertext CT B, 2 (S225).

Figure 0005863605
Figure 0005863605

乱数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 second encryption unit 230. The second encryption unit 230 considers the third ciphertext CT B, 2 as a message by using the response-side sender private key sk BS and the request-side receiver public key pk AR , and signing the signature The algorithm SC is calculated as in the following equation (19) to generate the second ciphertext CT B, 1 and the second key K B, 1 (S230).

Figure 0005863605
Figure 0005863605

第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 output unit 235. The output unit 235 generates the second transmission information (U A , U B , CT B, 1 , CT B, 2 ) and transmits it to the requesting device 10 (S235). As described above, U A is an identifier indicating the requesting device 10, and U B is an identifier indicating the response device 20.

応答装置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 output unit 235 included in the response device 20 is input to the requesting device 10 via the input unit 140 included in the requesting device 10. Is done.

第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 key decryption unit 145. The second key decryption unit 145 considers the third ciphertext CT B, 2 as a message using the request-side receiver private key sk AR and the response-side sender public key pk BS, and decrypts the signature encryption algorithm USC. Is calculated as in the following equation (20) to generate the second key KB , 1 (S145).

Figure 0005863605
Figure 0005863605

第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 key decryption unit 150. The third key decryption unit 150 uses the short-term secret key dk A to calculate a decryption algorithm wDeCap of a key encapsulation mechanism in which key generation and ciphertext generation are independent as shown in the following equation (21), and the third key K B, 2 is generated (S150).

Figure 0005863605
Figure 0005863605

第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 key generation unit 155. The session key generation unit 155 calculates the following equations (22) to (24) using the strong random extractor Ext, and generates values K ′ 1 , K ′ 2 , K ′ 3 (S151, S152, S153). ).

Figure 0005863605
Figure 0005863605

次に、セッション鍵生成部155は、セッション識別子ST=(UA,UB,pkAS,pkAR,pkBS,pkBR,ekA,CTA,CTB,1,CTB,2)を生成する(S154)。そして、セッション識別子STを用いて下記の式(25)を計算することで、セッション鍵SKを生成する(S155)。 Next, the session key generation unit 155 generates a session identifier ST = (U A , U B , pk AS , pk AR , pk BS , pk BR , ek A , CT A , CT B, 1 , CT B, 2 ). Generate (S154). Then, the session key SK is generated by calculating the following equation (25) using the session identifier ST (S155).

Figure 0005863605
Figure 0005863605

最後に、要求装置10はセッションを終了し、全てのセッション情報を削除する。   Finally, the requesting device 10 ends the session and deletes all session information.

一方、要求装置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 output unit 135 included in the requesting device 10 is input to the response device 20 via the input unit 240 included in the response device 20. .

第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 key decryption unit 245. The first key decryption unit 245 uses the response-side receiver private key sk BR and the request-side sender public key pk AS , regards the short-term public key eK A as a message, and sets the sign-encryption decryption algorithm USC as follows: Calculation is performed as in Expression (26), and the first key K A is generated (S245).

Figure 0005863605
Figure 0005863605

乱数rB,2 第3鍵生成部250へ入力される。第3鍵生成部250は、短期公開鍵ekAを用いて、鍵生成と暗号文生成が独立な鍵カプセル化メカニズムのカプセル化鍵生成アルゴリズムwEnCapKを下記の式(27)のように計算し、第3鍵KB,2を生成する(S250)。 The random number r B, 2 is input to the third key generation unit 250. Using the short-term public key ek A , the third key generation unit 250 calculates an encapsulation key generation algorithm wEnCapK of a key encapsulation mechanism in which key generation and ciphertext generation are independent as shown in the following equation (27), A third key K B, 2 is generated (S250).

Figure 0005863605
Figure 0005863605

第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 key generation unit 255. The session key generation unit 255 calculates the above formulas (22) to (24) using the strong random extractor Ext, as in the session key generation unit 155 included in the requesting device 10, and the values K ′ 1 and K ′. 2 and K ′ 3 are generated (S251, S252, S253).

次に、セッション鍵生成部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 key generation unit 255, like the session key generation unit 155 of the requesting device 10, has a session identifier ST = (U A , U B , pk AS , pk AR , pk BS , pk BR , ek A , CT A , CT B, 1 , CT B, 2 ) are generated (S254). Then, the session key generation unit 255 generates the session key SK by calculating the above equation (25) using the session identifier ST, similarly to the session key generation unit 155 included in the requesting device 10 (S255). .

最後に、応答装置20はセッションを終了し、全てのセッション情報を削除する。   Finally, the response device 20 ends the session and deletes all session information.

<効果>
上記の通り、この発明の鍵交換技術によれば、応答装置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 response device 20 transmits the third ciphertext CT B to the requesting device 10 using the ciphertext generation algorithm wEnCapC of the key encapsulation mechanism in which key generation and ciphertext generation are independent. , 2 , the second transmission information (U A , U B , CT B, 1 , CT B, 2 ) can be generated without receiving the short-term public key ek A from the requesting device 10. As a result, even if a delay occurs in the communication path from the requesting device 10 to the response device 20, the influence can be reduced.

また、応答装置20はサインクリプションのサインクリプションアルゴリズムSCにより要求装置10へ送信する第2暗号文CTB,1を生成するため、攻撃者は、応答装置20の送信者秘密鍵skBSを知らなければ第2送信情報(UA,UB,CTB,1,CTB,2)を生成することができない。これにより、攻撃者が応答装置20に成りすますことができず、強フォワード安全性を満たすことができる。
[プログラム、記録媒体]
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
In addition, since the response device 20 generates the second ciphertext CT B, 1 to be transmitted to the requesting device 10 by the signature application algorithm SC of the signature application, the attacker uses the sender secret key sk BS of the response device 20. The second transmission information (U A , U B , CT B, 1 , CT B, 2 ) cannot be generated without knowing it. Thereby, an attacker cannot impersonate the response device 20, and strong forward safety can be satisfied.
[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 Key exchange system 10 Request device 20 Response device 90 Network 101 Control unit 102 Storage unit 110 Random number selection unit 115 Long-term key pair generation unit 120 Short-term random number selection unit 125 Short-term key pair generation unit 130 First encryption unit 135 Output unit 140 Input Unit 145 second key decryption unit 150 third key decryption unit 155 session key generation unit 201 control unit 202 storage unit 210 random number selection unit 215 long-term key pair generation unit 220 short-term random number selection unit 225 third encryption unit 230 second encryption Unit 235 output unit 240 input unit 245 first key decryption unit 250 third key generation unit 255 session key generation unit

Claims (5)

要求装置と応答装置との間でセッション鍵SKを共有する鍵交換システムであって、
前記要求装置は、
任意のサインクリプションの送信者鍵生成アルゴリズム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を用いて、前記短期公開鍵ekAと前記第1暗号文CTAと前記第2暗号文CTB,1と前記第3暗号文CTB,2とを含むセッション識別子STから前記セッション鍵SKを生成する要求側セッション鍵生成部と、
を備え、
前記応答装置は、
前記送信者鍵生成アルゴリズムSKeyGenにより生成された応答側送信者秘密鍵skBSと、前記受信者鍵生成アルゴリズムRKeyGenにより生成された応答側受信者秘密鍵skBRとが記憶された応答側記憶部と、
乱数rB,2を入力として、前記鍵カプセル化メカニズムの暗号文生成アルゴリズム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と前記乱数rB,2とを入力として、前記鍵カプセル化メカニズムのカプセル化鍵生成アルゴリズムwEnCapKを用いて、前記第3鍵KB,2を生成する第3鍵生成部と、
前記第1鍵KAと前記第2鍵KB,1と前記第3鍵KB,2を用いて、前記短期公開鍵ekAと前記第1暗号文CTAと前記第2暗号文CTB,1と前記第3暗号文CTB,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; ,
Using the first key K A , the second key K B, 1 and the third key K B, 2 , the short-term public key ek A , the first ciphertext CT A and the second ciphertext CT B , 1 and the third ciphertext CT B, 2 , a requesting session key generation unit that generates the session key SK from a session identifier ST,
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 random number r B, 2 as an input and 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 generation unit that receives the short-term public key ek A and the random number r B, 2 as input and generates the third key K B, 2 using the encapsulation key generation algorithm wEnCapK of the key encapsulation mechanism When,
Using the first key K A , the second key K B, 1 and the third key K B, 2 , the short-term public key ek A , the first ciphertext CT A and the second ciphertext CT B , 1 and the third ciphertext CT B, 2 , the responding session key generating unit that generates the session key SK from the session identifier ST,
A key exchange system comprising:
請求項1に記載の鍵交換システムにおいて用いられる前記要求装置。 The request apparatus used in the key exchange system according to claim 1 . 請求項1に記載の鍵交換システムにおいて用いられる前記応答装置。 The response device used in the key exchange system according to claim 1 . 要求装置と応答装置との間でセッション鍵SKを共有する鍵交換方法であって、
前記要求装置が、鍵生成と暗号文生成が独立な鍵カプセル化メカニズムの鍵生成アルゴリズムwKeyGenを用いて、短期公開鍵ekAと短期秘密鍵dkAを求める短期鍵対生成ステップと、
前記要求装置が、任意のサインクリプションの送信者鍵生成アルゴリズムSKeyGenにより生成された要求側送信者秘密鍵skASと、前記サインクリプションの受信者鍵生成アルゴリズムRKeyGenにより生成された応答側受信者公開鍵pkBRと、前記短期公開鍵ekAとを入力として、前記サインクリプションのサインクリプションアルゴリズムSCを用いて、第1暗号文CTAと第1鍵KAを生成する第1暗号化ステップと、
前記要求装置が、前記第1暗号文CTAと前記短期公開鍵ekAを前記応答装置へ送信する要求側出力ステップと、
前記応答装置が、乱数rB,2を入力として、前記鍵カプセル化メカニズムの暗号文生成アルゴリズム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を用いて、前記短期公開鍵ekAと前記第1暗号文CTAと前記第2暗号文CTB,1と前記第3暗号文CTB,2とを含むセッション識別子STから前記セッション鍵SKを生成する要求側セッション鍵生成ステップと、
前記応答装置が、前記応答側受信者秘密鍵skBRと、前記送信者鍵生成アルゴリズムSKeyGenにより生成された要求側送信者公開鍵pkASと、前記要求装置から受信した前記第1暗号文CTAおよび前記短期公開鍵ekAとを入力として、前記復号アルゴリズムUSCを用いて、前記第1鍵KAを生成する第1鍵復号ステップと、
前記応答装置が、前記短期公開鍵ekAと前記乱数rB,2とを入力として、前記鍵カプセル化メカニズムのカプセル化鍵生成アルゴリズムwEnCapKを用いて、前記第3鍵KB,2を生成する第3鍵生成ステップと、
前記応答装置が、前記第1鍵KAと前記第2鍵KB,1と前記第3鍵KB,2を用いて、前記短期公開鍵ekAと前記第1暗号文CTAと前記第2暗号文CTB,1と前記第3暗号文CTB,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 response device generates a third ciphertext CT B, 2 using a random number r B, 2 as an input and 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 uses the first key K A , the second key K B, 1 and the third key K B, 2 to use the short-term public key ek A , the first ciphertext CT A and the first key A requesting session key generation step of generating the session key SK from a session identifier ST including two ciphertexts CT B, 1 and the third ciphertext CT B, 2 ;
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 random number r B, 2 as input and generates the third key K B, 2 using the encapsulation key generation algorithm wEnCapK of the key encapsulation mechanism. A third key generation step;
The response device uses the first key K A , the second key K B, 1 and the third key K B, 2 to use the short-term public key ek A , the first ciphertext CT A and the first key A responding session key generation step of generating the session key SK from a session identifier ST including two ciphertexts CT B, 1 and the third ciphertext CT B, 2 ;
Including a key exchange method.
請求項2に記載の要求装置もしくは請求項3に記載の応答装置としてコンピュータを機能させるためのプログラム。   A program for causing a computer to function as the requesting device according to claim 2 or the response device according to claim 3.
JP2012194213A 2012-09-04 2012-09-04 Key exchange system, request device, response device, key exchange method, and program Active JP5863605B2 (en)

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 JP2014050084A (en) 2014-03-17
JP5863605B2 true 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)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2235359C (en) * 1998-03-23 2012-04-10 Certicom Corp. Implicit certificate scheme with ca chaining
US7747865B2 (en) * 2005-02-10 2010-06-29 International Business Machines Corporation Method and structure for challenge-response signatures and high-performance secure Diffie-Hellman protocols
JP5524763B2 (en) * 2010-08-13 2014-06-18 Kddi株式会社 Verification device, verification method, and verification program for verifying protocol safety

Also Published As

Publication number Publication date
JP2014050084A (en) 2014-03-17

Similar Documents

Publication Publication Date Title
US11050557B2 (en) Key agreement devices and method
US11882218B2 (en) Matching system, method, apparatus, and program
US11728988B2 (en) Elliptic curve isogeny based key agreement protocol
US9021552B2 (en) User authentication for intermediate representational state transfer (REST) client via certificate authority
Nam et al. Efficient and anonymous two-factor user authentication in wireless sensor networks: achieving user anonymity with lightweight sensor computation
Kolhar et al. Cloud data auditing techniques with a focus on privacy and security
JP2019535153A (en) Method and system for quantum key distribution based on trusted computing
JP6497747B2 (en) Key exchange method, key exchange system
US20130010957A1 (en) Cryptographic security using fuzzy credentials for device and server communications
JP2017517229A (en) Network authentication system using dynamic key generation
CN111630810B (en) Key exchange device, key exchange system, key exchange method, and recording medium
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
CN115580396B (en) Tight trace query system and method
WO2019110399A1 (en) Two-party signature device and method
WO2014185447A1 (en) Verification system, node, verification method, and program
WO2014030706A1 (en) Encrypted database system, client device and server, method and program for adding encrypted data
WO2018043573A1 (en) Key exchange method and key exchange system
JP6368047B2 (en) Key exchange method, key exchange system, key distribution device, representative communication device, general communication device, and program
CN116318739B (en) Electronic data exchange method and system
CN110784318B (en) Group key updating method, device, electronic equipment, storage medium and communication system
CN112839328A (en) Seal data verification method, client, server and storage medium
Tanveer et al. PAF-IoD: PUF-Enabled Authentication Framework for the Internet of Drones
WO2018174063A1 (en) Collating system, method, device, and program

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