Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5931795B2 - KEY EXCHANGE SYSTEM, KEY GENERATION DEVICE, COMMUNICATION DEVICE, KEY EXCHANGE METHOD, AND PROGRAM - Google Patents
[go: Go Back, main page]

JP5931795B2 - KEY EXCHANGE SYSTEM, KEY GENERATION DEVICE, COMMUNICATION DEVICE, KEY EXCHANGE METHOD, AND PROGRAM - Google Patents

KEY EXCHANGE SYSTEM, KEY GENERATION DEVICE, COMMUNICATION DEVICE, KEY EXCHANGE METHOD, AND PROGRAM Download PDF

Info

Publication number
JP5931795B2
JP5931795B2 JP2013098970A JP2013098970A JP5931795B2 JP 5931795 B2 JP5931795 B2 JP 5931795B2 JP 2013098970 A JP2013098970 A JP 2013098970A JP 2013098970 A JP2013098970 A JP 2013098970A JP 5931795 B2 JP5931795 B2 JP 5931795B2
Authority
JP
Japan
Prior art keywords
key
signature
esk
pseudo
gen
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.)
Expired - Fee Related
Application number
JP2013098970A
Other languages
Japanese (ja)
Other versions
JP2014220669A (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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013098970A priority Critical patent/JP5931795B2/en
Publication of JP2014220669A publication Critical patent/JP2014220669A/en
Application granted granted Critical
Publication of JP5931795B2 publication Critical patent/JP5931795B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、情報セキュリティ技術に関し、特に、二者間で共通のセッション鍵を共有する鍵交換技術に関する。   The present invention relates to information security technology, and more particularly to a key exchange technology for sharing a common session key between two parties.

従来の鍵交換技術には、階層型IDベース暗号方式を応用した階層型ID認証鍵交換方式がある。非特許文献1には、秘密鍵漏洩に強い階層型ID認証鍵交換方式であるFSY方式が記載されている。   Conventional key exchange techniques include a hierarchical ID authentication key exchange system that applies a hierarchical ID-based encryption system. Non-Patent Document 1 describes the FSY method, which is a hierarchical ID authentication key exchange method that is strong against secret key leakage.

以下、FSY方式について説明する。   Hereinafter, the FSY method will be described.

〔公開パラメータ〕
PIDをプロトコルIDとし、プロトコル仕様に対応した固有のIDとする。セキュリティパラメータをкとする。pをkビットの素数とし、G,GTを双線形ペアリング関数e:G×G→GTを効率的に計算可能な群とする。g,gTをそれぞれ群G,GTの生成元とする。Zpをpを法とする剰余環とする。H1:{0,1}*→G、H2:{0,1}*→Zp及びH:{0,1}*→{0,1}кをハッシュ関数とする。
[Public parameters]
The PID is a protocol ID and a unique ID corresponding to the protocol specification. Let к be the security parameter. Let p be a k-bit prime number, and G and G T be a group capable of efficiently calculating the bilinear pairing function e: G × G → G T. Let g and g T be the generators of groups G and G T , respectively. Let Z p be a remainder ring modulo p. H 1 : {0,1} * → G, H 2 : {0,1} * → Z p and H: {0,1} * → {0,1} к are hash functions.

〔鍵生成処理〕
FSY方式の鍵生成アルゴリズムは、一様ランダムにマスタ秘密鍵s0∈Zpを選び、S0=1G(∈G)を設定する。ただし、1Gは群Gの単位元である。また、鍵生成アルゴリズムはマスタ公開鍵P0=g(∈G)、Q0=P0^s0(∈G)を計算して公開する。ここで、^はべき乗を表す。
[Key generation process]
The FSY key generation algorithm selects a master secret key s 0 εZ p uniformly and sets S 0 = 1 G (εG). However, 1 G is a unit element of the group G. The key generation algorithm calculates and discloses the master public key P 0 = g (∈G) and Q 0 = P 0 ^ s 0 (∈G). Here, ^ represents a power.

〔鍵抽出処理〕
鍵交換方式の各ユーザは識別情報(ID1,…,IDt-1)に対応するものとする。各ユーザは初期化処理として、st-1∈Zpを一様ランダムに選び、秘密の状態情報として保持する。識別情報ID=(ID1,…,IDt-1)を設定されたユーザは鍵抽出者として自分の長期秘密鍵(St-1,Q1,…,Qt-1)を用いて、識別情報ID’=(ID1,…,IDt)を設定された下位のユーザ向けに次のように長期秘密鍵(St,Q1,…,Qt)を生成する。まず、鍵抽出者はPt=H1(ID1,…,IDt)(∈G)、St=St-1Pt^st-1、Qt=P0^stを計算する。続いて、鍵抽出者は下位のユーザの長期秘密鍵として(St,Q1,…,Qt)を出力する。
[Key extraction process]
Each user of the key exchange method is assumed to correspond to identification information (ID 1 ,..., ID t-1 ). Each user selects s t-1 εZ p uniformly and randomly as initialization processing, and holds it as secret state information. The user set with the identification information ID = (ID 1 , ..., ID t-1 ) uses his / her long-term secret key (S t-1 , Q 1 , ..., Q t-1 ) as a key extractor, A long-term secret key (S t , Q 1 ,..., Q t ) is generated as follows for a lower-level user in which the identification information ID ′ = (ID 1 ,..., ID t ) is set. First, the key extractor calculates P t = H 1 (ID 1 ,…, ID t ) (∈G), S t = S t-1 P t ^ s t-1 , Q t = P 0 ^ s t To do. Subsequently, the key extractor outputs (S t , Q 1 ,..., Q t ) as the long-term secret key of the lower user.

〔鍵交換処理〕
ここでは、ユーザUAを鍵交換セッションのイニシエータとし、ユーザUBをレスポンダとする。ユーザUAは第α階層に属し、識別情報IDA=(IDA,1,…,IDA,α)に対応する長期秘密鍵(SA,α,QA,1,…,QA,α)を持つ。ユーザUBは第β階層に属し、識別情報IDB=(IDB,1,…,IDB,β)に対応する長期秘密鍵(SB,β,QB,1,…,QB,β)を持つ。
[Key exchange process]
Here, user U A is the initiator of the key exchange session, and user U B is the responder. The user U A belongs to the α-th layer, and the long-term secret key (S A, α , Q A, 1 , ..., Q A, corresponding to the identification information ID A = (ID A, 1 , ..., ID A, α ) α ). The user U B belongs to the β hierarchy and the long-term secret key (S B, β , Q B, 1 , ..., Q B, corresponding to the identification information ID B = (ID B, 1 , ..., ID B, β ) β ).

まず、ユーザUAは一様ランダムにアドホック秘密鍵~x∈Zpを選ぶ。このとき、ユーザUAはx=H2(SA,α,~x)を計算し、アドホック公開鍵epkIDB=(X0=P0 x,XB,2=PB,2 x,…,XB,β=PB,β x)を計算する。ただし、PB,i=H1(IDB,1,…,IDB,i)(1≦i<β)である。ユーザUAはアドホック公開鍵epkIDBをユーザUBに送る。 First, the user U A randomly selects an ad hoc secret key ~ x∈Z p . At this time, the user U A calculates x = H 2 (S A, α , ˜x), and the ad hoc public key epk IDB = (X 0 = P 0 x , X B, 2 = P B, 2 x ,... , X B, β = P B, β x ). However, P B, i = H 1 (ID B, 1 ,..., ID B, i ) (1 ≦ i <β). User U A sends an ad hoc public key epk IDB to user U B.

一方、ユーザUBは一様ランダムにアドホック秘密鍵~y∈Zpを選ぶ。このとき、ユーザUBはy=H2(SB,β,~y)を計算し、アドホック公開鍵epkIDA=(Y0=P0 y,YA,2=PA,2 y,…,YA,α=PA,α y)を計算する。ただし、PA,i=H1(IDA,1,…,IDA,i)(1≦i<α)である。ユーザUBはアドホック公開鍵epkIDAをユーザUAに送る。 On the other hand, the user U B selects an ad hoc secret key ~ y∈Z p uniformly at random. At this time, the user U B calculates y = H 2 (S B, β , ˜y), and the ad hoc public key epk IDA = (Y 0 = P 0 y , Y A, 2 = P A, 2 y ,... , Y A, α = P A, α y ). However, P A, i = H 1 (ID A, 1 ,..., ID A, i ) (1 ≦ i <α). User U B sends ad hoc public key epk IDA to user U A.

続いて、ユーザUBは共有秘密情報σB,1B,2B,3を次のように計算する。 Subsequently, the user U B calculates the shared secret information σ B, 1 , σ B, 2 , σ B, 3 as follows.

Figure 0005931795
Figure 0005931795

さらに、ユーザUBはセッション鍵K=H(σB,1B,2B,3,PID,IDA,IDB,epkIDB,epkIDA)を求める。ユーザUBはセッション鍵Kを出力し、処理を終了する。 Further, the user U B obtains a session key K = H (σ B, 1 , σ B, 2 , σ B, 3 , PID, ID A , ID B , epk IDB , epk IDA ). User U B outputs session key K and ends the process.

一方、ユーザUAは共有秘密情報σA,1A,2A,3を次のように計算する。 On the other hand, the user U A calculates the shared secret information σ A, 1 , σ A, 2 , σ A, 3 as follows.

Figure 0005931795
Figure 0005931795

さらに、ユーザUAはセッション鍵K=H(σA,1A,2A,3,PID,IDA,IDB,epkIDB,epkIDA)を求める。ユーザUAはセッション鍵Kを出力し、処理を終了する。 Further, the user U A obtains a session key K = H (σ A, 1 , σ A, 2 , σ A, 3 , PID, ID A , ID B , epk IDB , epk IDA ). User U A outputs session key K and ends the process.

ユーザUAが計算する共有秘密情報σA,1A,2A,3とユーザUBが計算する共有秘密情報σB,1B,2B,3はそれぞれ等しいため、ユーザUA及びユーザUBは同一のセッション鍵Kを得ることができる。 Shared secret sigma A, 1 the user U A is calculated, σ A, 2, σ A , 3 and the user U shared secret sigma B, 1 of B is calculated, σ B, 2, σ B , 3 are equal to each other Therefore, the user U A and the user U B can obtain the same session key K.

共有秘密情報σA,1と共有秘密情報σB,1とが等しいことを以下に示す。 The following shows that the shared secret information σ A, 1 is equal to the shared secret information σ B, 1 .

Figure 0005931795
Figure 0005931795

共有秘密情報σA,2と共有秘密情報σB,2とが等しいことを以下に示す。 The shared secret information σ A, 2 and the shared secret information σ B, 2 are equal to each other as follows.

Figure 0005931795
Figure 0005931795

共有秘密情報σA,3と共有秘密情報σB,3とが等しいことを以下に示す。 It is shown below that the shared secret information σ A, 3 is equal to the shared secret information σ B, 3 .

Figure 0005931795
Figure 0005931795

Atsushi Fujioka, Koutarou Suzuki, Kazuki Yoneyama, “Hierarchical ID-Based Authenticated Key Exchange Resilient to Ephemeral Key Leakage.”, IEICE Transactions 94-A(6), pp. 1306-1317, 2011.Atsushi Fujioka, Koutarou Suzuki, Kazuki Yoneyama, “Hierarchical ID-Based Authenticated Key Exchange Resilient to Ephemeral Key Leakage.”, IEICE Transactions 94-A (6), pp. 1306-1317, 2011.

非特許文献1に記載された従来技術では、安全性を保証するためにハッシュ関数が理想的に安全なランダムオラクルでなければならないという問題がある。しかし、ランダムオラクルは現実のハッシュ関数を用いては実現できないことが知られている。よって、ランダムオラクルを仮定せずに安全性証明が付く方式であることが望ましい。   In the prior art described in Non-Patent Document 1, there is a problem that the hash function must be an ideally safe random oracle in order to guarantee safety. However, it is known that a random oracle cannot be realized using an actual hash function. Therefore, it is desirable that the security proof be attached without assuming a random oracle.

また、非特許文献1に記載された従来技術では各ユーザは階層の深さ(上述の説明ではα及びβ)に依存した個数の要素を送受信する必要があり、鍵交換システムに参加するユーザ数が大規模になると通信量が爆発的に増加する。また、共有秘密情報を求める際に負荷の重いペアリング計算を実行するが、その計算回数も同様に階層の深さに比例しているため、鍵交換システムに参加するユーザ数が大規模になると計算量も爆発的に増加する。よって、通信量やペアリング計算回数が階層の深さに依存しない拡張性の高い方式が望ましい。   In the prior art described in Non-Patent Document 1, each user needs to send and receive a number of elements depending on the depth of the hierarchy (α and β in the above description), and the number of users participating in the key exchange system. The traffic volume will increase explosively when the network becomes large. In addition, heavy pairing calculations are performed when obtaining shared secret information, but the number of calculations is also proportional to the depth of the hierarchy, so if the number of users participating in the key exchange system becomes large The computational complexity also increases explosively. Therefore, a highly scalable method in which the traffic and the number of pairing calculations do not depend on the hierarchy depth is desirable.

この発明は、ランダムオラクルを仮定しなくても安全性が保証され、計算量や通信量が階層の深さに依存せず拡張性が高い鍵交換技術を提供することを目的とする。   SUMMARY OF THE INVENTION An object of the present invention is to provide a key exchange technique that guarantees safety without assuming a random oracle, and has high expandability without regard to the amount of calculation or communication depending on the depth of the hierarchy.

上記の課題を解決するために、この発明の一態様による鍵交換システムは、鍵生成装置とL階層に階層化された複数の通信装置を含む。以下では、^はべき乗を表し、・は乗算を表し、Zpは素数pを法とする剰余環とし、G,GTは双線形ペアリング関数e:G×G→GTを効率的に計算可能な群とし、gは群Gの生成元とし、Fke、Fgen、Fsig及びFkdfは擬似ランダム関数とし、FSは擬似ランダム関数の鍵空間とし、Genは任意の使いきり署名方式の署名鍵生成アルゴリズムとし、Signは任意の使いきり署名方式の署名生成アルゴリズムとし、Verは任意の使いきり署名方式の署名検証アルゴリズムとする。鍵生成装置は、値zを環Zpから選択し、値g1=gzを計算し、値g2,g3,g4,h1,…,hLを群Gから選択するパラメータ生成部と、マスタ秘密鍵MSK=g2 zを計算するマスタ秘密鍵生成部と、第i階層に属する通信装置の長期秘密鍵SSKiを、値rを環Zpから選択し、値w1,w2,w3,w4,w5,w6を鍵空間FSから選択し、u0=MSK・(h1^ID1…hi^IDi・g3)r、u1=gr、u2=g4 rを計算し、SSKi=(u0,u1,u2,hi+1 r,…,hL r,w1,w2,w3,w4,w5,w6)として生成する長期秘密鍵生成部と、を含む。 In order to solve the above problem, a key exchange system according to an aspect of the present invention includes a key generation device and a plurality of communication devices layered in an L hierarchy. In the following, ^ represents power, • represents multiplication, Z p is a remainder ring modulo prime p, G and G T are bilinear pairing functions e: G × G → G T efficiently It is a computable group, g is a generator of group G, F ke , F gen , F sig and F kdf are pseudo-random functions, FS is a pseudo-random function key space, Gen is any single-use signature scheme , Sign is a signature generation algorithm of any single use signature scheme, and Ver is a signature verification algorithm of any single use signature scheme. The key generator selects a value z from the ring Z p , calculates a value g 1 = g z, and generates a parameter that selects values g 2 , g 3 , g 4 , h 1 ,..., H L from the group G A master secret key generation unit that calculates a master secret key MSK = g 2 z , a long-term secret key SSK i of a communication device belonging to the i-th layer, a value r selected from the ring Z p , a value w 1 , Select w 2 , w 3 , w 4 , w 5 , w 6 from the key space FS, u 0 = MSK · (h 1 ^ ID 1 … h i ^ ID i · g 3 ) r , u 1 = g r , U 2 = g 4 r , and SSK i = (u 0 , u 1 , u 2 , h i + 1 r ,…, h L r , w 1 , w 2 , w 3 , w 4 , w 5 , w 6 ) and a long-term secret key generation unit.

通信装置は、第α階層に属し識別情報ID=(ID1,…,IDα)が設定されており、第β階層に属し識別情報ID'=(ID'1,…,ID'β)が設定された通信装置とセッション鍵SKを共有するものとする。通信装置は、値eskke,esk'ke,eskgen,esk'gen,esksig,esk'sigを鍵空間FSから選択するアドホック秘密鍵生成部と、擬似ランダム関数Fke(w1,eskke)の出力と擬似ランダム関数Fke(esk'ke,w2)の出力との排他的論理和を計算して擬似乱数sを生成し、擬似ランダム関数Fgen(w3,eskgen)の出力と擬似ランダム関数Fgen(esk'gen,w4)の出力との排他的論理和を計算して擬似乱数randgenを生成し、擬似ランダム関数Fsig(w5,esksig)の出力と擬似ランダム関数Fsig(esk'sig,w6)の出力との排他的論理和を計算して擬似乱数randsigを生成する擬似乱数生成部と、擬似乱数randgenを用いて鍵生成アルゴリズムGenを実行し、署名鍵skと検証鍵vkを生成する署名鍵生成部と、値gのs乗を計算して暗号文C1を生成し、(h1^ID'1…hβ^ID'β・g4 vk・g3)sを計算して暗号文C2を生成する暗号文生成部と、暗号文C1及び暗号文C2を入力として擬似乱数randsig及び署名鍵skを用いて署名アルゴリズムSignを実行し、署名σを生成し、暗号文C1、暗号文C2、署名σ及び検証鍵vkを含むアドホック公開鍵EPKを生成するアドホック公開鍵生成部と、識別情報ID'が設定された通信装置から暗号文C'1、暗号文C'2、署名σ'及び検証鍵vk'を含むアドホック公開鍵EPK'を受信すると、暗号文C'1、暗号文C'2及び署名σ'を入力として検証鍵vk'を用いて検証アルゴリズムVerを実行し、アドホック公開鍵EPK'を検証するアドホック公開鍵検証部と、e(g1,g2)sを計算して秘密情報σ1を生成し、e(C'1,u0・u2 vk')/e(C'2,u1)を計算して秘密情報σ2を生成し、e(C'1,g3)sを計算して秘密情報σ3を生成する秘密情報生成部と、識別情報ID、識別情報ID'、アドホック公開鍵EPK及びアドホック公開鍵EPK'に基づいてセッション識別情報STを生成し、秘密情報σ1及びセッション識別情報STを入力とする擬似ランダム関数Fkdfの出力と秘密情報σ2及びセッション識別情報STを入力とする擬似ランダム関数Fkdfの出力と秘密情報σ3及びセッション識別情報STを入力とする擬似ランダム関数Fkdfの出力との排他的論理和を計算し、セッション鍵SKを生成するセッション鍵生成部と、を含む。 The communication apparatus belongs to the α-th layer and identification information ID = (ID 1 ,..., ID α ) is set, and the communication information belongs to the β-th layer and the identification information ID ′ = (ID ′ 1 ,..., ID ′ β ) It is assumed that the session key SK is shared with the set communication device. The communication device includes an ad hoc secret key generation unit that selects values esk ke , esk ' ke , esk gen , esk' gen , esk sig , esk ' sig from the key space FS, and a pseudo-random function F ke (w 1 , esk ke ) And the output of the pseudorandom function F ke (esk ' ke , w 2 ) to generate the pseudorandom number s and output the pseudorandom function F gen (w 3 , esk gen ) a pseudo-random function F gen (esk 'gen, w 4) calculates the exclusive OR of the output of generating a pseudo-random number rand gen, pseudo-random function F sig (w 5, esk sig ) and the output of the pseudo a pseudo-random number generator for generating a pseudo-random number rand sig by calculating an exclusive OR of the output of the random function F sig (esk 'sig, w 6), executes the key generation algorithm Gen using the pseudo-random number rand gen Then, a signing key generation unit that generates the signing key sk and the verification key vk, and generates the ciphertext C 1 by calculating the value g of the value g, and (h 1 ^ ID ′ 1 … h β ^ ID ′ β · g 4 vk · g 3) to calculate the s to generate a ciphertext C 2 A ciphertext generating unit, using the pseudo-random number rand sig and signature key sk as an input ciphertext C 1 and the ciphertext C 2 performs signature algorithm Sign, generates a signature sigma, ciphertext C 1, the ciphertext C 2 , an ad hoc public key generation unit that generates an ad hoc public key EPK including a signature σ and a verification key vk, and a ciphertext C ′ 1 , a ciphertext C ′ 2 , and a signature σ ′ from a communication device in which the identification information ID ′ is set And the ad hoc public key EPK ′ including the verification key vk ′, the ciphertext C ′ 1 , the ciphertext C ′ 2 and the signature σ ′ are input, and the verification algorithm Ver is executed using the verification key vk ′, and the ad hoc disclosure An ad hoc public key verification unit that verifies the key EPK ′, calculates e (g 1 , g 2 ) s to generate secret information σ 1 , and e (C ′ 1 , u 0 · u 2 vk ′ ) / e (C ′ 2 , u 1 ) to generate secret information σ 2 , e (C ′ 1 , g 3 ) s to generate secret information σ 3 , and identification information ID , Identification information ID ', ad hoc public Hirakikagi EPK and generates a session identification information ST based on ad hoc public key EPK ', the secret information sigma 1 and the pseudo-random function F kdf output and secret sigma 2 and the session identification information ST to enter the session identification information ST Session key that generates the session key SK by calculating the exclusive OR of the output of the pseudo-random function F kdf that receives and the secret information σ 3 and the output of the pseudo-random function F kdf that receives the session identification information ST And a generation unit.

この発明の鍵交換技術は、ランダムオラクルを仮定しなくても安全性証明が付き、通信装置の階層が深くなっても計算量や通信量が一定であるため拡張性が高い。   The key exchange technique of the present invention is highly extensible because it has a security proof even without assuming a random oracle, and the amount of calculation and the amount of communication are constant even when the hierarchy of the communication device is deep.

鍵交換システムの機能構成を例示する図である。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 key generation apparatus. 通信装置の機能構成を例示する図である。It is a figure which illustrates the function structure of a communication apparatus. 鍵生成方法の処理フローを例示する図である。It is a figure which illustrates the processing flow of the key generation method. 鍵交換方法の処理フローを例示する図である。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.

この発明では、ランダムオラクルの代わりに擬似ランダム関数と強ランダム抽出器もしくは鍵導出関数を用いることで、ランダムオラクルを仮定すること無しに安全な方式を実現した。また、この方式では暗号文の長さとペアリング演算の計算回数が階層の深さに依存しない階層型IDベース暗号を部品として用いることにより、通信量やペアリング計算回数が階層の深さに依存せず、拡張性が高い。   In the present invention, by using a pseudo-random function and a strong random extractor or key derivation function instead of a random oracle, a safe system is realized without assuming a random oracle. In addition, this method uses a hierarchical ID-based encryption whose ciphertext length and the number of pairing calculations do not depend on the depth of the hierarchy, so that the traffic and the number of pairing calculations depend on the depth of the hierarchy. It is highly scalable.

従来技術ではセッション鍵の導出にランダムオラクルを用いていたが、この発明では強ランダム抽出器もしくは鍵導出関数で共有情報の分布をならし、その値を擬似ランダム関数の鍵とすることで出力をセッション鍵とする。このようにセッション鍵を導出する処理を変更したために、ランダムオラクルを必要としない。この手法は「Colin Boyd, Yvonne Cliff, Juan Manuel Gonzalez Nieto, Kenneth G. Paterson, “Efficient One-Round Key Exchange in the Standard Model”, ACISP 2008, pp. 69-83」などに記載されている。   In the prior art, a random oracle was used to derive the session key, but in the present invention, the distribution of the shared information is smoothed by a strong random extractor or key derivation function, and the output is obtained by using the value as the key of the pseudo-random function. Use as a session key. Since the process for deriving the session key is changed in this way, a random oracle is not required. This method is described in “Colin Boyd, Yvonne Cliff, Juan Manuel Gonzalez Nieto, Kenneth G. Paterson,“ Efficient One-Round Key Exchange in the Standard Model ”, ACISP 2008, pp. 69-83.

また、この発明ではBoneh-Boyen-Goh階層型IDベース暗号(以下、BBG-HIBEと略す。)を用いて、通信量とペアリング演算の計算回数を定数にしている。具体的には、BBG-HIBE暗号の暗号文を交換し、復号したメッセージからセッション鍵を生成するようにした。また、使いきり署名を用いて暗号文に署名をすることにより、メッセージの改ざんを検知することができる。BBG-HIBEの構成法は、「Dan Boneh, Xavier Boyen, Eu-Jin Goh, “Hierarchical Identity Based Encryption with Constant Size Ciphertext”, EUROCRYPT 2005, pp. 440-456」に詳細に記載されている。   Also, in the present invention, the amount of communication and the number of pairing calculations are made constant using the Boneh-Boyen-Goh hierarchical ID-based encryption (hereinafter abbreviated as BBG-HIBE). Specifically, the BBG-HIBE ciphertext was exchanged and a session key was generated from the decrypted message. Further, by signing a ciphertext using a single-use signature, it is possible to detect message tampering. The construction method of BBG-HIBE is described in detail in “Dan Boneh, Xavier Boyen, Eu-Jin Goh,“ Hierarchical Identity Based Encryption with Constant Size Ciphertext ”, EUROCRYPT 2005, pp. 440-456”.

[実施形態]
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
[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.

〔構成〕
図1を参照して、実施形態の鍵交換システムAの機能構成の一例を説明する。鍵交換システムAは、鍵生成装置1及びN(≧2)台の通信装置21,…,2Nを含む。鍵生成装置1及びN台の通信装置21,…,2Nはネットワーク9に接続される。ネットワーク9は、鍵生成装置1とN台の通信装置21,…,2Nそれぞれとが相互に通信可能なように構成されていればよく、例えばインターネットやLAN、WANなどで構成することができる。また、鍵生成装置1とN台の通信装置21,…,2Nそれぞれとは必ずしもネットワークを介してオンラインで通信可能である必要はない。例えば、鍵生成装置1が出力する情報をUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体からいずれかの通信装置2n(n=1,…,N)へオフラインで入力するように構成してもよい。その他の装置間でのデータの入出力も同様であるので、具体的な説明は省略する。
〔Constitution〕
An example of a functional configuration of the key exchange system A according to the embodiment will be described with reference to FIG. The key exchange system A includes a key generation device 1 and N (≧ 2) communication devices 2 1 ,..., 2 N. The key generation device 1 and the N communication devices 2 1 ,..., 2 N are connected to the network 9. The network 9 only needs to be configured so that the key generation device 1 and each of the N communication devices 2 1 ,..., 2 N can communicate with each other, for example, the Internet 9, LAN, WAN, or the like. it can. Further, the key generation device 1 and each of the N communication devices 2 1 ,..., 2 N do not necessarily need to be able to communicate online via a network. For example, information output by the key generation device 1 is stored in a portable recording medium such as a USB memory, and is input offline to any one of the communication devices 2 n (n = 1,..., N) from the portable recording medium. You may comprise as follows. Since the input / output of data between the other devices is the same, a specific description is omitted.

N台の通信装置21,…,2Nはそれぞれ識別情報ID1,…,IDNが割り当てられている。通信装置21,…,2NはL階層に階層化されており、その階層構造は識別情報ID1,…,IDNにより表現される。例えば、第i階層の通信装置2n(1≦n≦N)に識別情報IDn=(ID1,ID2,…,IDi)が設定されているとすると、第i+1階層の通信装置2m(1≦m≦N、m≠n)には識別情報IDm=(ID1,ID2,…,IDi,IDi+1)が設定される。このように下位の階層に属する通信装置の識別情報の中に上位の階層に属するいずれかの通信装置の識別情報を含むことで階層構造が表現される。 Identification information ID 1 ,..., ID N is assigned to each of the N communication devices 2 1 ,. Communication apparatus 2 1, ..., 2 N is layered on L hierarchy, the hierarchy identification information ID 1, ..., represented by ID N. For example, assuming that identification information ID n = (ID 1 , ID 2 ,..., ID i ) is set in the i-th layer communication device 2 n (1 ≦ n ≦ N), communication in the i + 1-th layer Identification information ID m = (ID 1 , ID 2 ,..., ID i , ID i + 1 ) is set in the device 2 m (1 ≦ m ≦ N, m ≠ n). Thus, the hierarchical structure is expressed by including the identification information of any communication apparatus belonging to the higher hierarchy in the identification information of the communication apparatus belonging to the lower hierarchy.

図2を参照して、鍵交換システムAに含まれる鍵生成装置1の機能構成の一例を説明する。鍵生成装置1は、パラメータ生成部10、マスタ秘密鍵生成部12、長期秘密鍵生成部14、制御部101、メモリ102及び記憶部103を含む。鍵生成装置1は、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)等を有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。鍵生成装置1は制御部101の制御のもとで各処理を実行する。鍵生成装置1に入力されたデータや各処理で得られたデータはメモリ102に格納され、メモリ102に格納されたデータは必要に応じて読み出されて他の処理に利用される。記憶部103は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。   With reference to FIG. 2, an example of a functional configuration of the key generation device 1 included in the key exchange system A will be described. The key generation device 1 includes a parameter generation unit 10, a master secret key generation unit 12, a long-term secret key generation unit 14, a control unit 101, a memory 102, and a storage unit 103. The key generation device 1 is a special configuration in which a special program is read into a known or dedicated computer having a central processing unit (CPU), a main storage device (Random Access Memory, RAM), and the like. Device. The key generation device 1 executes each process under the control of the control unit 101. The data input to the key generation device 1 and the data obtained in each process are stored in the memory 102, and the data stored in the memory 102 is read out as necessary and used for other processes. The storage unit 103 is, 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, or a relational database or a key-value store. The middleware can be configured.

図3を参照して、鍵交換システムAに含まれる通信装置2n(n=1,…,N)の機能構成の一例を説明する。通信装置2nは、アドホック秘密鍵生成部20n、擬似乱数生成部22n、署名鍵生成部24n、暗号文生成部26n、アドホック公開鍵生成部28n、アドホック公開鍵検証部30n、秘密情報生成部32n、セッション鍵生成部34n、制御部201n、メモリ202n及び記憶部203nを含む。通信装置2nは、さらに長期秘密鍵生成部36nを含んでもよい。通信装置2nは、例えば、中央演算処理装置(Central Processing Unit、CPU)、主記憶装置(Random Access Memory、RAM)等を有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。通信装置2nは制御部201nの制御のもとで各処理を実行する。通信装置2nに入力されたデータや各処理で得られたデータはメモリ202nに格納され、メモリ202nに格納されたデータは必要に応じて読み出されて他の処理に利用される。記憶部203nは、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。 With reference to FIG. 3, an example of a functional configuration of the communication device 2 n (n = 1,..., N) included in the key exchange system A will be described. The communication device 2 n includes an ad hoc secret key generation unit 20 n , a pseudo random number generation unit 22 n , a signature key generation unit 24 n , a ciphertext generation unit 26 n , an ad hoc public key generation unit 28 n , and an ad hoc public key verification unit 30 n. A secret information generation unit 32 n , a session key generation unit 34 n , a control unit 201 n , a memory 202 n and a storage unit 203 n . The communication device 2 n may further include a long-term secret key generation unit 36 n . The communication device 2 n is, for example, a special program configured by reading a special program into a known or dedicated computer having a central processing unit (CPU), a main storage device (Random Access Memory, RAM), and the like. Device. The communication device 2 n executes each process under the control of the control unit 201 n . Data obtained by the data and the processing input to the communication device 2 n is stored in the memory 202 n, the data stored in the memory 202 n is read out as necessary be used for other processing. The storage unit 203 n is, 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, or a relational database or key value. It can be configured by middleware such as a store.

〔定義〕
以下に、実施形態で使用する記号の定義をする。кを正の整数のセキュリティパラメータとする。pをкビットの素数とする。G,GTをそれぞれ双線形ペアリング関数e:G×G→GTを効率的に計算可能な群とする。gを群Gの生成元とし、gT=e(g,g)とする。Zpをpを法とする剰余環とする。Lを鍵交換システムにおける階層の深さの最大値とする。
[Definition]
Hereinafter, symbols used in the embodiment are defined. Let к be a positive integer security parameter. Let p be a prime number of к bits. G, G T the bilinear pair each ring function e: the G × G → G T and efficiently computable group. Let g be a generator of group G and let g T = e (g, g). Let Z p be a remainder ring modulo p. Let L be the maximum depth of the hierarchy in the key exchange system.

(Gen,Sign,Ver)を検証鍵が環Zpの要素となるような使いきり署名アルゴリズムとする。Genは署名鍵及び検証鍵を生成する署名鍵生成アルゴリズムである。Signは使いきり署名を生成する署名生成アルゴリズムである。Verは使いきり署名を検証する署名検証アルゴリズムである。この発明では任意の使いきり署名アルゴリズムを適用することができる。例えば、「Payman Mohassel, “One-Time Signatures and Chameleon Hash Functions.” Selected Areas in Cryptography 2010, pp. 302-319」に効率的な使いきり署名の構成方法が記載されている。 Let (Gen, Sign, Ver) be a one-time-use signature algorithm such that the verification key is an element of the ring Zp. Gen is a signature key generation algorithm for generating a signature key and a verification key. Sign is a signature generation algorithm that generates a single-use signature. Ver is a signature verification algorithm that verifies a single-use signature. In the present invention, any single-use signature algorithm can be applied. For example, “Payman Mohassel,“ One-Time Signatures and Chameleon Hash Functions. ”Selected Areas in Cryptography 2010, pp. 302-319” describes an efficient method for constructing a single-use signature.

Fke:{0,1}*×FS→Zp *、Fgen:{0,1}*×FS→RSgen、Fsig:{0,1}*×FS→RSsig、Fkdf:{0,1}*×FS→{0,1}кを擬似ランダム関数とする。ただし、FSは擬似ランダム関数の鍵空間、RSgenは署名鍵生成アルゴリズムGenの乱数空間、RSsigは署名生成アルゴリズムSignの乱数空間とする。 F ke : {0,1} * × FS → Z p * , F gen : {0,1} * × FS → RS gen , F sig : {0,1} * × FS → RS sig , F kdf : { 0,1} * × FS → {0,1} к is a pseudo-random function. Here, FS is a pseudo random function key space, RS gen is a signature key generation algorithm Gen random space, and RS sig is a signature generation algorithm Sign random space.

〔公開パラメータ〕
図4を参照して、鍵交換システムAが実行する公開パラメータ生成処理及び長期秘密鍵抽出処理の動作例を、実際に行われる手続きの順に従って説明する。
[Public parameters]
With reference to FIG. 4, an operation example of the public parameter generation process and the long-term secret key extraction process executed by the key exchange system A will be described in the order of procedures actually performed.

ステップS10において、鍵生成装置1に含まれるパラメータ生成部10は、値zを環Zp *から一様ランダムに選び、値g1=gzを計算し、値g2,g3,g4,h1,…hLを群Gから一様ランダムに選ぶ。続いて、パラメータ生成部10は、公開パラメータParams=(Fke,Fgen,Fsig,Fkdf,G,GT,g,gT,g1,g2,g3,g4,h1,…hL)を生成する。 In step S10, the parameter generation unit 10 included in the key generation device 1 selects the value z uniformly and randomly from the ring Z p * , calculates the value g 1 = g z, and calculates the values g 2 , g 3 , and g 4. , h 1 ,..., h L are uniformly selected from group G. Subsequently, the parameter generation unit 10 displays the public parameters Params = (F ke , F gen , F sig , F kdf , G, G T , g, g T , g 1 , g 2 , g 3 , g 4 , h 1 , ... h L ).

ステップS12において、鍵生成装置1に含まれるマスタ秘密鍵生成部12は、値g2のz乗を計算して、マスタ秘密鍵MSK=g2 zを生成する。 In step S12, the master secret key generation unit 12 included in the key generation device 1 calculates the value g 2 to the z-th power to generate a master secret key MSK = g 2 z .

〔鍵抽出処理〕
ステップS14において、鍵生成装置1に含まれる長期秘密鍵生成部14は、i=1,…,Nについて、識別情報ID=(ID1,…,IDi)を持つ通信装置2iに対して長期秘密鍵を発行する。具体的には、長期秘密鍵生成部14は、まず、値rを環Zpから一様ランダムに選び、値w1,w2,w3,w4,w5,w6を擬似乱数空間FSから一様ランダムに選ぶ。続いて、長期秘密鍵生成部14は、識別情報ID、値r,w1,w2,w3,w4,w5,w6、マスタ秘密鍵MSK及び公開パラメータParamsを用いて、識別情報ID=(ID1,…,IDi)に対応する長期秘密鍵SSKIDを以下のように生成する。
[Key extraction process]
In step S14, the long-term secret key generation unit 14 included in the key generation device 1 performs communication with respect to the communication device 2 i having identification information ID = (ID 1 ,..., ID i ) for i = 1,. Issue a long-term secret key. Specifically, the long-term secret key generation unit 14 first selects a value r uniformly and randomly from the ring Z p and sets the values w 1 , w 2 , w 3 , w 4 , w 5 , and w 6 to a pseudorandom space. Select randomly from FS. Subsequently, the long-term secret key generation unit 14 uses the identification information ID, the values r, w 1 , w 2 , w 3 , w 4 , w 5 , w 6 , the master secret key MSK, and the public parameter Params to identify the identification information. A long-term secret key SSK ID corresponding to ID = (ID 1 ,..., ID i ) is generated as follows.

Figure 0005931795
Figure 0005931795

上位の階層(第i-1階層)に属する通信装置2mが下位の階層(第i階層)に属する通信装置2nに対して長期秘密鍵の抽出を行うように構成することもできる。この場合には、各通信装置2n(n=1,…,N)が長期秘密鍵生成部36nを含むように構成する。例えば、上位の通信装置2mが識別情報ID’=(ID1,…,IDi-1)を持ち、その長期秘密鍵がSSKID’=(u0,u1,u2,vi,…,vL,w1,w2,w3,w4,w5,w6)であるとする。通信装置2mに含まれる長期公開鍵生成部36mは、まず、値r’を環Zpから一様ランダムに選び、値w’1,w’2,w’3,w’4,w’5,w’6を擬似乱数空間FSから一様ランダムに選ぶ。続いて、長期秘密鍵生成部36mは、識別情報ID’、値r’,w’1,w’2,w’3,w’4,w’5,w’6、長期秘密鍵SSKID’及び公開パラメータParamsを用いて、識別情報ID=(ID1,…,IDi)に対応する長期秘密鍵SSKIDを以下のように生成する。 The communication device 2 m belonging to the upper layer (i-1th layer) may be configured to extract the long-term secret key from the communication device 2 n belonging to the lower layer (ith layer). In this case, each communication device 2 n (n = 1,..., N) is configured to include the long-term secret key generation unit 36 n . For example, the host communication device 2 m has identification information ID ′ = (ID 1 ,..., ID i-1 ), and its long-term secret key is SSK ID ′ = (u 0 , u 1 , u 2 , v i , …, V L , w 1 , w 2 , w 3 , w 4 , w 5 , w 6 ). First, the long-term public key generation unit 36 m included in the communication device 2 m selects a value r ′ from the ring Z p uniformly and randomly, and values w ′ 1 , w ′ 2 , w ′ 3 , w ′ 4 , w Choose ' 5 , w' 6 from the pseudorandom space FS uniformly and randomly. Subsequently, the long-term secret key generation unit 36 m includes the identification information ID ′, the values r ′, w ′ 1 , w ′ 2 , w ′ 3 , w ′ 4 , w ′ 5 , w ′ 6 , the long-term secret key SSK ID. 'And the public parameter Params are used to generate a long-term secret key SSK ID corresponding to the identification information ID = (ID 1 ,..., ID i ) as follows.

Figure 0005931795
Figure 0005931795

いずれの方法で長期秘密鍵SSKIDを生成した場合であったとしても、生成した長期秘密鍵SSKIDは秘密裏に識別情報ID=(ID1,…,IDi)を持つ第i階層に属する通信装置2nに搬送される。長期秘密鍵SSKIDの搬送方法は、例えば、USBメモリのような可搬型記憶媒体によりオフラインで行なってもよいし、ネットワーク9上に確立される暗号化された通信経路を用いてオンラインで行なってもよい。 Even if the long-term secret key SSK ID is generated by any method, the generated long-term secret key SSK ID belongs to the i-th layer having identification information ID = (ID 1 ,..., ID i ) secretly. It is conveyed to the communication device 2 n . The long-term secret key SSK ID may be transported off-line using a portable storage medium such as a USB memory, or on-line using an encrypted communication path established on the network 9. Also good.

ステップS203nにおいて、通信装置2nは、オフラインもしくはオンラインで入力された長期秘密鍵SSKIDを記憶部203nへ記憶する。 In step S203 n , the communication device 2 n stores the long-term secret key SSK ID input offline or online in the storage unit 203 n .

〔鍵交換処理〕
図5、図6を参照して、鍵交換システム1に含まれる二台の通信装置がセッション鍵を共有する処理フローの一例を説明する。図5の符号A1、B1は図6の符号A1、B1へ処理が継続することを表している。まず、図5を参照して処理フローの前半部分を説明する。
[Key exchange process]
An example of a processing flow in which two communication devices included in the key exchange system 1 share a session key will be described with reference to FIGS. Symbols A1 and B1 in FIG. 5 indicate that the processing continues to symbols A1 and B1 in FIG. First, the first half of the processing flow will be described with reference to FIG.

この例では、第α階層に属する識別情報IDA=(IDA,1,…,IDA,α)が割り当てられた通信装置2Aと、第β階層に属する識別情報IDB=(IDB,1,…,IDB,β)が割り当てられた通信装置2Bとの間で共通のセッション鍵SKを共有する。通信装置2Aは識別情報IDAに対応する長期秘密鍵SSKIDA=(uA,0,uA,1,uA,2,vA,α+1,…vA,L,wA,1,wA,2,wA,3,wA,4,wA,5,wA,6)を持ち、通信装置2Bは識別情報IDBに対応する長期秘密鍵SSKIDB=(uB,0,uB,1,uB,2,vB,β+1,…vB,L,wB,1,wB,2,wB,3,wB,4,wB,5,wB,6)を持つものとする。 In this example, the communication apparatus 2 A to which the identification information ID A = (ID A, 1 ,..., ID A, α ) belonging to the α-th layer is assigned, and the identification information ID B = (ID B belonging to the β-th layer) , 1 ,..., ID B, β ) share a common session key SK with the communication device 2 B assigned. The communication device 2 A has a long-term secret key SSK IDA corresponding to the identification information ID A = (u A, 0 , u A, 1 , u A, 2 , v A, α + 1 ,... V A, L , w A, 1, w a, 2, w a, 3, w a, 4, w a, 5, w a, 6) has a long-term private key communication device 2 B corresponds to the identification information ID B SSK IDB = (u B, 0 , u B, 1 , u B, 2 , v B, β + 1 , ... v B, L , w B, 1 , w B, 2 , w B, 3 , w B, 4 , w B, 5 , w B, 6 ).

ステップS20Aにおいて、通信装置2Aに含まれるアドホック秘密鍵生成部20Aは、擬似乱数空間FSから値eskA,ke,esk’A,ke,eskA,gen,esk’A,gen,eskA,sig,esk’A,sigを一様ランダムに選択し、アドホック秘密鍵ESKA=(eskA,ke,esk’A,ke,eskA,gen,esk’A,gen,eskA,sig,esk’A,sig)を生成する。 In step S20 A, the ad hoc private key generating section 20 A included in the communication device 2 A, the value from the pseudo-random number space FS esk A, ke, esk ' A, ke, esk A, gen, esk' A, gen, esk A, sig , esk ' A, sig are selected at random, and the ad hoc secret key ESK A = (esk A, ke , esk' A, ke , esk A, gen , esk ' A, gen , esk A, sig , esk ' A, sig ).

ステップS22Aにおいて、通信装置2Aに含まれる擬似乱数生成部22Aは、アドホック秘密鍵ESKAと公開パラメータParamsを用いて、次式により、擬似乱数sA、擬似乱数randA,gen及び擬似乱数randA,sigを計算する。 In step S22 A, the pseudo-random number generation unit 22 A included in the communication device 2 A uses the public parameters Params ad hoc secret key ESK A, the following equation, the pseudo-random number s A, the pseudo-random number rand A, gen and pseudo Random numbers rand A, sig are calculated.

Figure 0005931795
Figure 0005931795

ステップS24Aにおいて、通信装置2Aに含まれる署名鍵生成部24Aは、次式により、擬似乱数randA,genを入力として署名鍵生成アルゴリズムGenを実行し、使いきり署名の署名鍵skA及び検証鍵vkAを生成する。 In step S24 A, the signature key generation unit 24 A included in the communication device 2 A is the following equation to perform the signature key generation algorithm Gen pseudorandom number rand A, the gen as input signing key of the signature Single Use sk A And a verification key vk A is generated.

Figure 0005931795
Figure 0005931795

ステップS261Aにおいて、通信装置2Aに含まれる暗号文生成部26Aは、群Gの生成元gと擬似乱数sAを用いて、次式により、暗号文CA,1を生成する。 In step S261 A, ciphertext generating unit 26 A included in the communication device 2 A uses the generator g and the pseudo-random number s A group G, the following equation, to generate a ciphertext C A, 1.

Figure 0005931795
Figure 0005931795

ステップS262Aにおいて、暗号文生成部26Aは、鍵交換相手である通信装置2Bの識別情報ID=(IDB,1,…,IDB,β)、擬似乱数sA、検証鍵vkA及び公開パラメータParamsを用いて、次式により、暗号文CA,2を生成する。 In step S262 A, the ciphertext generator 26 A, the identification information ID = communication device 2 B is a key exchange partner (ID B, 1, ..., ID B, β), the pseudo-random number s A, verification key vk A The ciphertext C A, 2 is generated by the following equation using the public parameter Params.

Figure 0005931795
Figure 0005931795

ステップS281Aにおいて、通信装置2Aに含まれるアドホック公開鍵生成部28Aは、次式により、暗号文CA,1及び暗号文CA,2を入力として擬似乱数randA,sig及び署名鍵skAを用いて署名生成アルゴリズムSignを実行し、使いきり署名の署名σAを生成する。 In step S281 A, the ad hoc public key generation unit 28 A included in the communication device 2 A is the following equation, the ciphertext C A, 1 and the ciphertext C A, 2 pseudorandom number rand A as input, sig and signature key A signature generation algorithm Sign is executed using sk A to generate a signature σ A for a single-use signature.

Figure 0005931795
Figure 0005931795

ステップS282Aにおいて、アドホック公開鍵生成部28Aは、暗号文CA,1、暗号文CA,2、署名σA及び検証鍵vkAを用いて、アドホック公開鍵EPKA=(CA,1,CA,2A,vkA)を生成する。そして、アドホック公開鍵EPKA、通信装置2Aの識別情報IDA及び通信装置2Bの識別情報IDBを組として通信装置2Bへ送信する。 In step S282 A, the ad hoc public key generation unit 28 A includes the ciphertext C A, 1, ciphertext C A, 2, by using the signature sigma A and the verification key vk A, the ad hoc public key EPK A = (C A, 1 , C A, 2 , σ A , vk A ). Then, the ad hoc public key EPK A, and transmits to the communication device 2 B as a set of identification information ID B of the identification information ID A and the communication device 2 B of the communication device 2 A.

ステップS20Bにおいて、通信装置2Bに含まれるアドホック秘密鍵生成部20Bは、アドホック秘密鍵生成部20Aと同様に、擬似乱数空間FSから値eskB,ke,esk’B,ke,eskB,gen,esk’B,gen,eskB,sig,esk’B,sigを一様ランダムに選び、アドホック秘密鍵ESKB=(eskB,ke,esk’B,ke,eskB,gen,esk’B,gen,eskB,sig,esk’B,sig)を生成する。 In step S20 B , the ad hoc secret key generation unit 20 B included in the communication device 2 B , like the ad hoc secret key generation unit 20 A , uses the values esk B, ke , esk ′ B, ke , esk from the pseudorandom space FS. B, gen , esk ' B, gen , esk B, sig , esk' B, sig are chosen randomly and ad hoc secret key ESK B = (esk B, ke , esk ' B, ke , esk B, gen , esk'B , gen , eskB , sig , esk'B , sig ).

ステップS22Bにおいて、通信装置2Bに含まれる擬似乱数生成部22Bは、擬似乱数生成部22Aと同様に、アドホック秘密鍵ESKBと公開パラメータParamsを用いて、次式により、擬似乱数sB、擬似乱数randB,gen及び擬似乱数randB,sigを計算する。 In step S22 B, pseudo-random number generation unit 22 B included in the communication device 2 B, like the pseudo-random number generator 22 A, using the public parameters Params ad hoc secret key ESK B, the following equation, the pseudo-random number s B , pseudorandom numbers rand B, gen and pseudorandom numbers rand B, sig are calculated.

Figure 0005931795
Figure 0005931795

ステップS24Bにおいて、通信装置2Bに含まれる署名鍵生成部24Bは、署名鍵生成部24Aと同様に、次式により、擬似乱数randB,genを入力として署名鍵生成アルゴリズムGenを実行し、使いきり署名の署名鍵skB及び検証鍵vkBを生成する。 In step S24 B, the signature key generation unit 24 B included in the communication device 2 B, like the signature key generation unit 24 A, the following equation, executes a signature key generation algorithm Gen pseudorandom number rand B, the gen as an input Then, a signature key sk B and a verification key vk B for a single use signature are generated.

Figure 0005931795
Figure 0005931795

ステップS261Bにおいて、通信装置2Bに含まれる暗号文生成部26Bは、暗号文生成部26Aと同様に、群Gの生成元gと擬似乱数sBを用いて、次式により、暗号文CB,1を生成する。 In step S261 B , the ciphertext generation unit 26 B included in the communication device 2 B uses the generation source g of the group G and the pseudorandom number s B , as in the ciphertext generation unit 26 A , to Sentence C B, 1 is generated.

Figure 0005931795
Figure 0005931795

ステップS262Bにおいて、暗号文生成部26Bは、暗号文生成部26Aと同様に、鍵交換相手である通信装置2Aの識別情報ID=(IDA,1,…,IDA,α)、擬似乱数sB、検証鍵vkB及び公開パラメータParamsを用いて、次式により、暗号文CB,2を生成する。 In step S262 B, the ciphertext generating unit 26 B, as well as the ciphertext generator 26 A, the identification information ID = communication apparatus 2 A is a key exchange partner (ID A, 1, ..., ID A, α) Using the pseudo random number s B , the verification key vk B, and the public parameter Params, the ciphertext C B, 2 is generated by the following equation.

Figure 0005931795
Figure 0005931795

ステップS281Bにおいて、通信装置2Bに含まれるアドホック公開鍵生成部28Bは、アドホック公開鍵生成部28Aと同様に、次式により、暗号文CB,1及び暗号文CB,2を入力として擬似乱数randB,sig及び署名鍵skBを用いて署名生成アルゴリズムSignを実行し、使いきり署名の署名σBを生成する。 In step S281 B , the ad hoc public key generation unit 28 B included in the communication device 2 B obtains the ciphertext C B, 1 and the ciphertext C B, 2 according to the following equation, as with the ad hoc public key generation unit 28 A. The signature generation algorithm Sign is executed using the pseudo-random numbers rand B, sig and the signature key sk B as inputs to generate a signature σ B for a single-use signature.

Figure 0005931795
Figure 0005931795

ステップS282Bにおいて、アドホック公開鍵生成部28Bは、アドホック公開鍵生成部28Aと同様に、暗号文CB,1、暗号文CB,2、署名σB及び検証鍵vkBを用いて、アドホック公開鍵EPKB=(CB,1,CB,2B,vkB)を生成する。そして、アドホック公開鍵EPKB、通信装置2Bの識別情報IDB及び通信装置2Aの識別情報IDAを組として通信装置2Aへ送信する。 In step S282 B , the ad hoc public key generation unit 28 B uses the ciphertext C B, 1 , ciphertext C B, 2 , signature σ B and verification key vk B in the same manner as the ad hoc public key generation unit 28 A. , The ad hoc public key EPK B = (C B, 1 , C B, 2 , σ B , vk B ) is generated. Then, the ad hoc public key EPK B, and transmits to the communication device 2 A the identification information ID A of the identification information ID B and the communication device 2 A communication device 2 B as a set.

次に、図6を参照して処理フローの後半部分を説明する。   Next, the latter half of the processing flow will be described with reference to FIG.

ステップS30Aにおいて、通信装置2Aが通信装置2Bからアドホック公開鍵EPKB、識別情報IDB及び識別情報IDAを受信すると、通信装置2Aに含まれるアドホック公開鍵検証部30Aは、暗号文CB,1、暗号文CB,2及び署名σBを入力として検証鍵vkBを用いて署名検証アルゴリズムVerを実行し、次式が成り立つか否かを検証する。 In step S30 A, the ad hoc public key EPK B communication device 2 A from the communication device 2 B, when receiving the identification information ID B and the identification information ID A, the ad hoc public key verification unit 30 A included in the communication device 2 A is The ciphertext C B, 1 , ciphertext C B, 2 and signature σ B are input, and the signature verification algorithm Ver is executed using the verification key vk B to verify whether the following equation holds.

Figure 0005931795
Figure 0005931795

アドホック公開鍵検証部30Aは、前式が成り立たない場合には、処理を中断してセッションを停止する。前式が成り立つ場合には、ステップS321A以降の処理を続行する。 Ad hoc public key verification unit 30 A, when the Equation does not hold, and stops the session stops processing. If the previous expression is satisfied, the process continues in step S321 A later.

ステップS321Aにおいて、通信装置2Aに含まれる秘密情報生成部32Aは、アドホック秘密鍵ESKA及び公開パラメータParamsを用いて、次式により、擬似乱数sAを生成する。 In step S321 A, secret information generating unit 32 A included in the communication device 2 A uses an ad hoc secret key ESK A and public parameters Params, by the following equation, to generate a pseudo-random number s A.

Figure 0005931795
Figure 0005931795

続いて、秘密情報生成部32Aは、擬似乱数sA及び公開パラメータParamsを用いて、次式により、秘密情報σA,1を生成する。 Subsequently, the secret information generation unit 32 A generates the secret information σ A, 1 according to the following equation using the pseudo random number s A and the public parameter Params.

Figure 0005931795
Figure 0005931795

ステップS322Aにおいて、秘密情報生成部32Aは、長期秘密鍵SSKA、暗号文CB,1、暗号文CB,2及び検証鍵vkBを用いて、次式により、秘密情報σA,2を生成する。 In step S322 A, secret information generation unit 32 A, using long-term secret key SSK A, ciphertext C B, 1, the ciphertext C B, 2 and the verification key vk B, the following equation, the secret information sigma A, 2 is generated.

Figure 0005931795
Figure 0005931795

ステップS323Aにおいて、秘密情報生成部32Aは、暗号文CB,1、擬似乱数sA及び公開パラメータParamsを用いて、次式により、秘密情報σA,3を生成する。 In step S323 A, secret information generating unit 32 A includes the ciphertext C B, 1, using the pseudo-random number s A and public parameter Params, by the following equation, to generate the secret information sigma A, 3.

Figure 0005931795
Figure 0005931795

ステップS34Aにおいて、通信装置2Aに含まれるセッション鍵生成部34Aは、まず、識別情報IDA、識別情報IDB、アドホック公開鍵EPKA及びアドホック公開鍵EPKBを用いて、セッション識別情報ST=(IDA,IDB,EPKA,EPKB)を生成する。続いて、セッション鍵生成部34Aは、秘密情報σA,1、秘密情報σA,2、秘密情報σA,3及びセッション識別情報STを用いて、次式により、セッション鍵SKを生成する。 In step S34 A, the session key generation unit 34 A included in the communication device 2 A, first, the identification information ID A, the identification information ID B, using an ad hoc public key EPK A and ad hoc public key EPK B, session identification information ST = (ID A , ID B , EPK A , EPK B ) is generated. Subsequently, the session key generation unit 34 A generates the session key SK by the following equation using the secret information σ A, 1 , the secret information σ A, 2 , the secret information σ A, 3 and the session identification information ST. .

Figure 0005931795
Figure 0005931795

ステップS30Bにおいて、通信装置2Bが通信装置2Aからアドホック公開鍵EPKA、識別情報IDA及び識別情報IDBを受信すると、通信装置2Bに含まれるアドホック公開鍵検証部30Bは、アドホック公開鍵検証部30Aと同様に、暗号文CA,1、暗号文CA,2及び署名σAを入力として検証鍵vkAを用いて署名検証アルゴリズムVerを実行し、次式が成り立つか否かを検証する。 In step S30 B, the communication device 2 B ad hoc public key EPK A from the communication device 2 A, when receiving the identification information ID A and the identification information ID B, the ad hoc public key verification unit 30 B included in the communication device 2 B is As with the ad hoc public key verification unit 30 A , the signature verification algorithm Ver is executed using the verification key vk A with the ciphertext C A, 1 , the ciphertext C A, 2 and the signature σ A as input, and the following equation is established: Verify whether or not.

Figure 0005931795
Figure 0005931795

アドホック公開鍵検証部30Bは、前式が成り立たない場合には、処理を中断してセッションを停止する。前式が成り立つ場合には、ステップS321B以降の処理を続行する。 If the previous equation does not hold, the ad hoc public key verification unit 30 B interrupts the process and stops the session. If the previous expression is satisfied, the process continues in step S321 and subsequent B.

ステップS321Bにおいて、通信装置2Bに含まれる秘密情報生成部32Bは、秘密情報生成部32Aと同様に、アドホック秘密鍵ESKB及び公開パラメータParamsを用いて、次式により、擬似乱数sBを生成する。 In step S321 B , the secret information generation unit 32 B included in the communication device 2 B uses the ad hoc secret key ESK B and the public parameter Params, similarly to the secret information generation unit 32 A , to calculate a pseudo random number s Generate B.

Figure 0005931795
Figure 0005931795

続いて、秘密情報生成部32Bは、長期秘密鍵SSKB、暗号文CA,1、暗号文CA,2及び検証鍵vkAを用いて、次式により、秘密情報σB,1を生成する。 Subsequently, the secret information generation unit 32 B uses the long-term secret key SSK B , the ciphertext C A, 1 , the ciphertext C A, 2 and the verification key vk A to obtain the secret information σ B, 1 according to the following equation: Generate.

Figure 0005931795
Figure 0005931795

ステップS322Bにおいて、秘密情報生成部32Bは、擬似乱数sB及び公開パラメータParamsを用いて、次式により、秘密情報σB,2を生成する。 In step S322 B, the secret information generating unit 32 B, using the pseudo-random number s B and public parameter Params, by the following equation, to generate the secret information sigma B, 2.

Figure 0005931795
Figure 0005931795

ステップS323Bにおいて、秘密情報生成部32Bは、秘密情報生成部32Aと同様に、暗号文CA,1、擬似乱数sB及び公開パラメータParamsを用いて、次式により、秘密情報σB,3を生成する。 In step S323 B, the secret information generating unit 32 B, as well as the secret information generating unit 32 A, the ciphertext C A, 1, using the pseudo-random number s B and public parameter Params, by the following equation, the secret information sigma B , 3 is generated.

Figure 0005931795
Figure 0005931795

ステップS34Bにおいて、通信装置2Bに含まれるセッション鍵生成部34Bは、セッション鍵生成部34Aと同様に、識別情報IDA、識別情報IDB、アドホック公開鍵EPKA及びアドホック公開鍵EPKBを用いて、セッション識別情報ST=(IDA,IDB,EPKA,EPKB)を生成する。続いて、セッション鍵生成部34Bは、秘密情報σB,1、秘密情報σB,2、秘密情報σB,3及びセッション識別情報STを用いて、次式により、セッション鍵SKを生成する。 In step S34 B, a session key generation unit 34 B included in the communication device 2 B, like the session key generation unit 34 A, the identification information ID A, the identification information ID B, the ad hoc public key EPK A and ad hoc public key EPK with B, session identification information ST = (ID a, ID B , EPK a, EPK B) to produce a. Subsequently, the session key generation unit 34 B uses the secret information σ B, 1 , the secret information σ B, 2 , the secret information σ B, 3 and the session identification information ST to generate a session key SK according to the following equation: .

Figure 0005931795
Figure 0005931795

秘密情報生成部32Aが計算する秘密情報σA,1A,2A,3と秘密情報生成部32Bが計算する秘密情報σB,1B,2B,3とはそれぞれ等しいため、通信装置2A及び通信装置2Bは同一のセッション鍵SKを得ることができる。 Secret sigma A, 1 to calculate the secret information generating unit 32 A, σ A, 2, secret information to calculate the sigma A, 3 and secret information generating unit 32 B σ B, 1, σ B, 2, σ B, Since 3 is equal to each other, the communication device 2A and the communication device 2B can obtain the same session key SK.

秘密情報σA,1と秘密情報σB,1とが等しいことを以下に示す。 The following shows that the secret information σ A, 1 is equal to the secret information σ B, 1 .

Figure 0005931795
Figure 0005931795

秘密情報σA,2と秘密情報σB,2とが等しいことを以下に示す。 It is shown below that the secret information σ A, 2 is equal to the secret information σ B, 2 .

Figure 0005931795
Figure 0005931795

秘密情報σA,3と秘密情報σB,3とが等しいことを以下に示す。 It is shown below that the secret information σ A, 3 and the secret information σ B, 3 are equal.

Figure 0005931795
Figure 0005931795

実施形態の鍵交換システム1では、セッション鍵生成部34が、擬似ランダム関数と強ランダム抽出器を用いてセッション鍵SKを生成する。これにより、非特許文献1に記載された従来技術のようにランダムオラクルを仮定すること無しに安全な方式を実現した。   In the key exchange system 1 of the embodiment, the session key generation unit 34 generates a session key SK using a pseudo random function and a strong random extractor. As a result, a safe method is realized without assuming a random oracle as in the prior art described in Non-Patent Document 1.

また、実施形態の鍵交換システム1では、アドホック公開鍵EPKの長さが階層の深さに依存しない。また、秘密情報生成部32が計算するペアリング演算は階層の深さに関係なく計4回に固定されている。このように、非特許文献1に記載された従来技術のように通信量やペアリング計算回数が階層の深さに依存しないため、拡張性が高い。   In the key exchange system 1 of the embodiment, the length of the ad hoc public key EPK does not depend on the depth of the hierarchy. The pairing calculation calculated by the secret information generation unit 32 is fixed to a total of four times regardless of the depth of the hierarchy. Thus, since the communication amount and the number of pairing calculations do not depend on the hierarchy depth as in the prior art described in Non-Patent Document 1, the expandability is high.

[プログラム、記録媒体]
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[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.

A 鍵交換システム
1 鍵生成装置
2 通信装置
9 ネットワーク
10 パラメータ生成部
12 マスタ秘密鍵生成部
14 長期秘密鍵生成部
20 アドホック秘密鍵生成部
22 擬似乱数生成部
24 署名鍵生成部
26 暗号文生成部
28 アドホック公開鍵生成部
30 アドホック公開鍵検証部
32 秘密情報生成部
34 セッション鍵生成部
36 長期秘密鍵生成部
A Key exchange system 1 Key generation device 2 Communication device 9 Network 10 Parameter generation unit 12 Master secret key generation unit 14 Long-term secret key generation unit 20 Ad hoc secret key generation unit 22 Pseudo random number generation unit 24 Signature key generation unit 26 Ciphertext generation unit 28 Ad hoc public key generation unit 30 Ad hoc public key verification unit 32 Secret information generation unit 34 Session key generation unit 36 Long-term secret key generation unit

Claims (6)

鍵生成装置とL階層に階層化された複数の通信装置を含む鍵交換システムであって、
^はべき乗を表し、・は乗算を表し、Zpは素数pを法とする剰余環とし、G,GTは双線形ペアリング関数e:G×G→GTを効率的に計算可能な群とし、gは群Gの生成元とし、Fke、Fgen、Fsig及びFkdfは擬似ランダム関数とし、FSは擬似ランダム関数の鍵空間とし、Genは任意の使いきり署名方式の署名鍵生成アルゴリズムとし、Signは上記使いきり署名方式の署名生成アルゴリズムとし、Verは上記使いきり署名方式の署名検証アルゴリズムとし、
上記鍵生成装置は、
値zを環Zpから選択し、値g1=gzを計算し、値g2,g3,g4,h1,…,hLを群Gから選択するパラメータ生成部と、
マスタ秘密鍵MSK=g2 zを計算するマスタ秘密鍵生成部と、
第i階層に属する通信装置の長期秘密鍵SSKiを、値rを環Zpから選択し、値w1,w2,w3,w4,w5,w6を上記鍵空間FSから選択し、u0=MSK・(h1^ID1…hi^IDi・g3)r、u1=gr、u2=g4 rを計算し、SSKi=(u0,u1,u2,hi+1 r,…,hL r,w1,w2,w3,w4,w5,w6)として生成する長期秘密鍵生成部と、
を含み、
上記通信装置は、
第α階層に属し識別情報ID=(ID1,…,IDα)が設定されており、第β階層に属し識別情報ID'=(ID'1,…,ID'β)が設定された上記通信装置とセッション鍵SKを共有するものとして、
値eskke,esk'ke,eskgen,esk'gen,esksig,esk'sigを上記鍵空間FSから選択するアドホック秘密鍵生成部と、
上記擬似ランダム関数Fke(w1,eskke)の出力と上記擬似ランダム関数Fke(esk'ke,w2)の出力との排他的論理和を計算して擬似乱数sを生成し、上記擬似ランダム関数Fgen(w3,eskgen)の出力と上記擬似ランダム関数Fgen(esk'gen,w4)の出力との排他的論理和を計算して擬似乱数randgenを生成し、上記擬似ランダム関数Fsig(w5,esksig)の出力と上記擬似ランダム関数Fsig(esk'sig,w6)の出力との排他的論理和を計算して擬似乱数randsigを生成する擬似乱数生成部と、
上記擬似乱数randgenを用いて上記鍵生成アルゴリズムGenを実行し、署名鍵skと検証鍵vkを生成する署名鍵生成部と、
値gのs乗を計算して暗号文C1を生成し、(h1^ID'1…hβ^ID'β・g4 vk・g3)sを計算して暗号文C2を生成する暗号文生成部と、
上記暗号文C1及び上記暗号文C2を入力として上記擬似乱数randsig及び上記署名鍵skを用いて上記署名アルゴリズムSignを実行して署名σを生成し、上記暗号文C1、上記暗号文C2、署名σ及び検証鍵vkを含むアドホック公開鍵EPKを生成するアドホック公開鍵生成部と、
上記識別情報ID'が設定された通信装置から暗号文C'1、暗号文C'2、署名σ'及び検証鍵vk'を含むアドホック公開鍵EPK'を受信すると、上記暗号文C'1、上記暗号文C'2及び上記署名σ'を入力として上記検証鍵vk'を用いて上記検証アルゴリズムVerを実行し、上記アドホック公開鍵EPK'を検証するアドホック公開鍵検証部と、
e(g1,g2)sを計算して秘密情報σ1を生成し、e(C'1,u0・u2 vk')/e(C'2,u1)を計算して秘密情報σ2を生成し、e(C'1,g3)sを計算して秘密情報σ3を生成する秘密情報生成部と、
識別情報ID、識別情報ID'、アドホック公開鍵EPK及びアドホック公開鍵EPK'に基づいてセッション識別情報STを生成し、上記秘密情報σ1及び上記セッション識別情報STを入力とする上記擬似ランダム関数Fkdfの出力と上記秘密情報σ2及び上記セッション識別情報STを入力とする上記擬似ランダム関数Fkdfの出力と上記秘密情報σ3及び上記セッション識別情報STを入力とする上記擬似ランダム関数Fkdfの出力との排他的論理和を計算し、上記セッション鍵SKを生成するセッション鍵生成部と、
を含む鍵交換システム。
A key exchange system including a key generation device and a plurality of communication devices layered in an L hierarchy,
^ Represents power, • represents multiplication, Z p is a residue ring modulo prime p, and G and G T can efficiently calculate the bilinear pairing function e: G × G → G T Group, g is a generator of group G, F ke , F gen , F sig and F kdf are pseudo-random functions, FS is a pseudo-random function key space, Gen is a signature key of any one-time signature scheme As a generation algorithm, Sign is a signature generation algorithm of the above-mentioned single-use signature method, Ver is a signature verification algorithm of the above-mentioned single-use signature method,
The key generation device
A parameter generator that selects the value z from the ring Z p , calculates the value g 1 = g z , and selects the values g 2 , g 3 , g 4 , h 1 ,..., H L from the group G;
A master secret key generator for calculating the master secret key MSK = g 2 z ;
The long-term secret key SSK i of the communication device belonging to the i-th layer is selected from the ring Z p as the value r, and the values w 1 , w 2 , w 3 , w 4 , w 5 , w 6 are selected from the key space FS. U 0 = MSK · (h 1 ^ ID 1 … h i ^ ID i · g 3 ) r , u 1 = g r , u 2 = g 4 r and SSK i = (u 0 , u 1 , u 2 , h i + 1 r , ..., h L r , w 1 , w 2 , w 3 , w 4 , w 5 , w 6 ),
Including
The communication device is
The identification information ID = (ID 1 ,..., ID α ) belonging to the α hierarchy and the identification information ID ′ = (ID ′ 1 ,..., ID ′ β ) belonging to the β hierarchy are set above As sharing session key SK with communication device,
An ad hoc secret key generation unit for selecting values esk ke , esk ' ke , esk gen , esk' gen , esk sig , esk ' sig from the key space FS;
The pseudorandom function s is generated by calculating the exclusive OR of the output of the pseudorandom function F ke (w 1 , esk ke ) and the output of the pseudorandom function F ke (esk ' ke , w 2 ), and Calculate the exclusive OR of the output of the pseudo-random function F gen (w 3 , esk gen ) and the output of the pseudo-random function F gen (esk ' gen , w 4 ) to generate the pseudo-random rand gen Pseudorandom number that generates a pseudorandom number rand sig by calculating the exclusive OR of the output of the pseudorandom function F sig (w 5 , esk sig ) and the output of the pseudorandom function F sig (esk ' sig , w 6 ) A generator,
Executing the key generation algorithm Gen using the pseudorandom number rand gen, and generating a signature key sk and a verification key vk;
To generate a cipher text C 1 to calculate the power of s of the value g, generates a ciphertext C 2 to calculate the (h 1 ^ ID '1 ... h β ^ ID' β · g 4 vk · g 3) s A ciphertext generator to
The ciphertext C 1 and the ciphertext C 2 are input to execute the signature algorithm Sign using the pseudo random number rand sig and the signature key sk to generate a signature σ, and the ciphertext C 1 and the ciphertext C 2 , an ad hoc public key generation unit that generates an ad hoc public key EPK including a signature σ and a verification key vk;
When receiving the ad hoc public key EPK ′ including the ciphertext C ′ 1 , the ciphertext C ′ 2 , the signature σ ′ and the verification key vk ′ from the communication device in which the identification information ID ′ is set, the ciphertext C ′ 1 , An ad hoc public key verification unit that executes the verification algorithm Ver using the verification key vk ′ as an input with the ciphertext C ′ 2 and the signature σ ′, and verifies the ad hoc public key EPK ′;
e (g 1 , g 2 ) s is calculated to generate secret information σ 1 , and e (C ′ 1 , u 0・ u 2 vk ′ ) / e (C ′ 2 , u 1 ) is calculated to obtain the secret A secret information generation unit that generates information σ 2 and calculates e (C ′ 1 , g 3 ) s to generate secret information σ 3 ;
Based on the identification information ID, the identification information ID ′, the ad hoc public key EPK and the ad hoc public key EPK ′, the session identification information ST is generated, and the pseudo-random function F having the secret information σ 1 and the session identification information ST as inputs is input. receiving the output and the secret information sigma 2 and the session identification information ST of kdf of the pseudo-random function F kdf which receives the pseudo-random function F kdf output and the secret information sigma 3 and the session identification information ST A session key generation unit that calculates an exclusive OR with the output and generates the session key SK;
Including key exchange system.
請求項1に記載の鍵交換システムであって、
上記通信装置は、
長期秘密鍵SSK=(u0,u1,u2,vi,…,vL,w1,w2,w3,w4,w5,w6)を持つとして、値r'を環Zpから選択し、値w'1,w'2,w'3,w'4,w'5,w'6を上記鍵空間FSから選択し、長期秘密鍵SSK'を次式により生成する長期秘密鍵生成部と、
Figure 0005931795

をさらに含む
鍵交換システム。
The key exchange system according to claim 1,
The communication device is
Given the long-term secret key SSK = (u 0 , u 1 , u 2 , v i , ..., v L , w 1 , w 2 , w 3 , w 4 , w 5 , w 6 ), the value r ′ Z p is selected, values w ′ 1 , w ′ 2 , w ′ 3 , w ′ 4 , w ′ 5 , w ′ 6 are selected from the key space FS, and a long-term secret key SSK ′ is generated by the following equation: A long-term secret key generation unit;
Figure 0005931795

Further including a key exchange system.
^はべき乗を表し、・は乗算を表し、Zpは素数pを法とする剰余環とし、G,GTは双線形ペアリング関数e:G×G→GTを効率的に計算可能な群とし、gは群Gの生成元とし、FSは擬似ランダム関数の鍵空間とし、
値zを環Zpから選択し、値g1=gzを計算し、値g2,g3,g4,h1,…,hLを群Gから選択するパラメータ生成部と、
マスタ秘密鍵MSK=g2 zを計算するマスタ秘密鍵生成部と、
第i階層に属する通信装置の長期秘密鍵SSKiを、値rを環Zpから選択し、値w1,w2,w3,w4,w5,w6を上記鍵空間FSから選択し、u0=MSK・(h1^ID1…hi^IDi・g3)r、u1=gr、u2=g4 rを計算し、SSKi=(u0,u1,u2,hi+1 r,…,hL r,w1,w2,w3,w4,w5,w6)として生成する長期秘密鍵生成部と、
を含む鍵生成装置。
^ Represents power, • represents multiplication, Z p is a residue ring modulo prime p, and G and G T can efficiently calculate the bilinear pairing function e: G × G → G T A group, g is a generator of group G, FS is a key space of a pseudo-random function,
A parameter generator that selects the value z from the ring Z p , calculates the value g 1 = g z , and selects the values g 2 , g 3 , g 4 , h 1 ,..., H L from the group G;
A master secret key generator for calculating the master secret key MSK = g 2 z ;
The long-term secret key SSK i of the communication device belonging to the i-th layer is selected from the ring Z p as the value r, and the values w 1 , w 2 , w 3 , w 4 , w 5 , w 6 are selected from the key space FS. U 0 = MSK · (h 1 ^ ID 1 … h i ^ ID i · g 3 ) r , u 1 = g r , u 2 = g 4 r and SSK i = (u 0 , u 1 , u 2 , h i + 1 r , ..., h L r , w 1 , w 2 , w 3 , w 4 , w 5 , w 6 ),
Key generation device including
L階層に階層化された複数の通信装置において、第α階層に属し識別情報ID=(ID1,…,IDα)が設定されており、第β階層に属し識別情報ID'=(ID'1,…,ID'β)が設定された上記通信装置とセッション鍵SKを共有する通信装置であって、
^はべき乗を表し、・は乗算を表し、Zpは素数pを法とする剰余環とし、G,GTは双線形ペアリング関数e:G×G→GTを効率的に計算可能な群とし、gは群Gの生成元とし、Fke、Fgen、Fsig及びFkdfは擬似ランダム関数とし、FSは擬似ランダム関数の鍵空間とし、Genは任意の使いきり署名方式の署名鍵生成アルゴリズムとし、Signは上記使いきり署名方式の署名生成アルゴリズムとし、Verは上記使いきり署名方式の署名検証アルゴリズムとし、
値zは環Zpから選択された乱数であり、値g1=gzであり、値g2,g3,g4,h1,…,hLは群Gから選択された乱数であり、マスタ秘密鍵MSK=g2 zであり、値rを環Zpから選択された乱数であり、値w1,w2,w3,w4,w5,w6は上記鍵空間FSから選択された乱数であり、第i階層に属する上記通信装置の長期秘密鍵SSKiはu0=MSK・(h1^ID1…hi^IDi・g3)r、u1=gr、u2=g4 rとしてSSKi=(u0,u1,u2,hi+1 r,…,hL r,w1,w2,w3,w4,w5,w6)であり、
値eskke,esk'ke,eskgen,esk'gen,esksig,esk'sigを上記鍵空間FSから選択するアドホック秘密鍵生成部と、
上記擬似ランダム関数Fke(w1,eskke)の出力と上記擬似ランダム関数Fke(esk'ke,w2)の出力との排他的論理和を計算して擬似乱数sを生成し、上記擬似ランダム関数Fgen(w3,eskgen)の出力と上記擬似ランダム関数Fgen(esk'gen,w4)の出力との排他的論理和を計算して擬似乱数randgenを生成し、上記擬似ランダム関数Fsig(w5,esksig)の出力と上記擬似ランダム関数Fsig(esk'sig,w6)の出力との排他的論理和を計算して擬似乱数randsigを生成する擬似乱数生成部と、
上記擬似乱数randgenを用いて上記鍵生成アルゴリズムGenを実行し、署名鍵skと検証鍵vkを生成する署名鍵生成部と、
値gのs乗を計算して暗号文C1を生成し、(h1^ID'1…hβ^ID'β・g4 vk・g3)sを計算して暗号文C2を生成する暗号文生成部と、
上記暗号文C1及び上記暗号文C2を入力として上記擬似乱数randsig及び上記署名鍵skを用いて上記署名アルゴリズムSignを実行して署名σを生成し、上記暗号文C1、上記暗号文C2、上記署名σ及び上記検証鍵vkを含むアドホック公開鍵EPKを生成するアドホック公開鍵生成部と、
上記識別情報ID'が設定された通信装置から暗号文C'1、暗号文C'2、署名σ'及び検証鍵vk'を含むアドホック公開鍵EPK'を受信すると、上記暗号文C'1、上記暗号文C'2及び上記署名σ'を入力として上記検証鍵vk'を用いて上記検証アルゴリズムVerを実行し、上記アドホック公開鍵EPK'を検証するアドホック公開鍵検証部と、
e(g1,g2)sを計算して秘密情報σ1を生成し、e(C'1,u0・u2 vk')/e(C'2,u1)を計算して秘密情報σ2を生成し、e(C'1,g3)sを計算して秘密情報σ3を生成する秘密情報生成部と、
識別情報ID、識別情報ID'、アドホック公開鍵EPK及びアドホック公開鍵EPK'に基づいてセッション識別情報STを生成し、上記秘密情報σ1及び上記セッション識別情報STを入力とする上記擬似ランダム関数Fkdfの出力と上記秘密情報σ2及び上記セッション識別情報STを入力とする上記擬似ランダム関数Fkdfの出力と上記秘密情報σ3及び上記セッション識別情報STを入力とする上記擬似ランダム関数Fkdfの出力との排他的論理和を計算し、上記セッション鍵SKを生成するセッション鍵生成部と、
を含む通信装置。
In a plurality of communication devices hierarchized in the L layer, the identification information ID = (ID 1 ,..., ID α ) belonging to the α layer is set, and the identification information ID ′ = (ID ′) belonging to the β layer 1 ,..., ID ′ β ) and a communication device sharing a session key SK with the communication device,
^ Represents power, • represents multiplication, Z p is a residue ring modulo prime p, and G and G T can efficiently calculate the bilinear pairing function e: G × G → G T Group, g is a generator of group G, F ke , F gen , F sig and F kdf are pseudo-random functions, FS is a pseudo-random function key space, Gen is a signature key of any one-time signature scheme As a generation algorithm, Sign is a signature generation algorithm of the above-mentioned single-use signature method, Ver is a signature verification algorithm of the above-mentioned single-use signature method,
The value z is a random number selected from the ring Z p , the value g 1 = g z , and the values g 2 , g 3 , g 4 , h 1 ,…, h L are the random numbers selected from the group G , The master secret key MSK = g 2 z , the value r is a random number selected from the ring Z p , and the values w 1 , w 2 , w 3 , w 4 , w 5 , w 6 are from the key space FS The long-term secret key SSK i of the communication device belonging to the i-th layer that is the selected random number is u 0 = MSK · (h 1 ^ ID 1 … h i ^ ID i · g 3 ) r , u 1 = g r , U 2 = g 4 r and SSK i = (u 0 , u 1 , u 2 , h i + 1 r ,…, h L r , w 1 , w 2 , w 3 , w 4 , w 5 , w 6 ) And
An ad hoc secret key generation unit for selecting values esk ke , esk ' ke , esk gen , esk' gen , esk sig , esk ' sig from the key space FS;
The pseudorandom function s is generated by calculating the exclusive OR of the output of the pseudorandom function F ke (w 1 , esk ke ) and the output of the pseudorandom function F ke (esk ' ke , w 2 ), and Calculate the exclusive OR of the output of the pseudo-random function F gen (w 3 , esk gen ) and the output of the pseudo-random function F gen (esk ' gen , w 4 ) to generate the pseudo-random rand gen Pseudorandom number that generates a pseudorandom number rand sig by calculating the exclusive OR of the output of the pseudorandom function F sig (w 5 , esk sig ) and the output of the pseudorandom function F sig (esk ' sig , w 6 ) A generator,
Executing the key generation algorithm Gen using the pseudorandom number rand gen, and generating a signature key sk and a verification key vk;
To generate a cipher text C 1 to calculate the power of s of the value g, generates a ciphertext C 2 to calculate the (h 1 ^ ID '1 ... h β ^ ID' β · g 4 vk · g 3) s A ciphertext generator to
The ciphertext C 1 and the ciphertext C 2 are input to execute the signature algorithm Sign using the pseudo random number rand sig and the signature key sk to generate a signature σ, and the ciphertext C 1 and the ciphertext C 2 , an ad hoc public key generation unit that generates an ad hoc public key EPK including the signature σ and the verification key vk;
When receiving the ad hoc public key EPK ′ including the ciphertext C ′ 1 , the ciphertext C ′ 2 , the signature σ ′ and the verification key vk ′ from the communication device in which the identification information ID ′ is set, the ciphertext C ′ 1 , An ad hoc public key verification unit that executes the verification algorithm Ver using the verification key vk ′ as an input with the ciphertext C ′ 2 and the signature σ ′, and verifies the ad hoc public key EPK ′;
e (g 1 , g 2 ) s is calculated to generate secret information σ 1 , and e (C ′ 1 , u 0・ u 2 vk ′ ) / e (C ′ 2 , u 1 ) is calculated to obtain the secret A secret information generation unit that generates information σ 2 and calculates e (C ′ 1 , g 3 ) s to generate secret information σ 3 ;
Based on the identification information ID, the identification information ID ′, the ad hoc public key EPK and the ad hoc public key EPK ′, the session identification information ST is generated, and the pseudo-random function F having the secret information σ 1 and the session identification information ST as inputs is input. receiving the output and the secret information sigma 2 and the session identification information ST of kdf of the pseudo-random function F kdf which receives the pseudo-random function F kdf output and the secret information sigma 3 and the session identification information ST A session key generation unit that calculates an exclusive OR with the output and generates the session key SK;
Including a communication device.
L階層に階層化された複数の通信装置において、第α階層に属し識別情報ID=(ID1,…,IDα)が設定された上記通信装置と、第β階層に属し識別情報ID'=(ID'1,…,ID'β)が設定された上記通信装置とがセッション鍵SKを共有する鍵交換方法であって、
^はべき乗を表し、・は乗算を表し、Zpは素数pを法とする剰余環とし、G,GTは双線形ペアリング関数e:G×G→GTを効率的に計算可能な群とし、gは群Gの生成元とし、Fke、Fgen、Fsig及びFkdfは擬似ランダム関数とし、FSは擬似ランダム関数の鍵空間とし、Genは任意の使いきり署名方式の署名鍵生成アルゴリズムとし、Signは上記使いきり署名方式の署名生成アルゴリズムとし、Verは上記使いきり署名方式の署名検証アルゴリズムとし、
パラメータ生成部が、値zを環Zpから選択し、値g1=gzを計算し、値g2,g3,g4,h1,…,hLを群Gから選択するパラメータ生成ステップと、
マスタ秘密鍵生成部が、マスタ秘密鍵MSK=g2 zを計算するマスタ秘密鍵生成ステップと、
長期秘密鍵生成部が、第i階層に属する通信装置の長期秘密鍵SSKiを、値rを環Zpから選択し、値w1,w2,w3,w4,w5,w6を上記鍵空間FSから選択し、u0=MSK・(h1^ID1…hi^IDi・g3)r、u1=gr、u2=g4 rを計算し、SSKi=(MSK・(h1^ID1…hi^IDi・g3)r,gr,g4 r,hi+1 r,…,hL r,w1,w2,w3,w4,w5,w6)として生成する長期秘密鍵生成ステップと、
アドホック秘密鍵生成部が、値eskke,esk'ke,eskgen,esk'gen,esksig,esk'sigを上記鍵空間FSから選択するアドホック秘密鍵生成ステップと、
擬似乱数生成部が、上記擬似ランダム関数Fke(w1,eskke)の出力と上記擬似ランダム関数Fke(esk'ke,w2)の出力との排他的論理和を計算して擬似乱数sを生成し、上記擬似ランダム関数Fgen(w3,eskgen)の出力と上記擬似ランダム関数Fgen(esk'gen,w4)の出力との排他的論理和を計算して擬似乱数randgenを生成し、上記擬似ランダム関数Fsig(w5,esksig)の出力と上記擬似ランダム関数Fsig(esk'sig,w6)の出力との排他的論理和を計算して擬似乱数randsigを生成する擬似乱数生成ステップと、
署名鍵生成部が、上記擬似乱数randgenを用いて上記鍵生成アルゴリズムGenを実行し、署名鍵skと検証鍵vkを生成する署名鍵生成ステップと、
暗号文生成部が、値gのs乗を計算して暗号文C1を生成し、(h1^ID'1…hβ^ID'β・g4 vk・g3)sを計算して暗号文C2を生成する暗号文生成ステップと、
アドホック公開鍵生成部が、上記暗号文C1及び上記暗号文C2を入力として上記擬似乱数randsig及び上記署名鍵skを用いて上記署名アルゴリズムSignを実行して署名σを生成し、上記暗号文C1、上記暗号文C2、上記署名σ及び上記検証鍵vkを含むアドホック公開鍵EPKを生成するアドホック公開鍵生成部と、
アドホック公開鍵検証部が、上記識別情報ID'が設定された通信装置から暗号文C'1、暗号文C'2、署名σ'及び検証鍵vk'を含むアドホック公開鍵EPK'を受信すると、上記暗号文C'1、上記暗号文C'2及び上記署名σ'を入力として上記検証鍵vk'を用いて上記検証アルゴリズムVerを実行し、上記アドホック公開鍵EPK'を検証するアドホック公開鍵検証ステップと、
秘密情報生成部が、e(g1,g2)sを計算して秘密情報σ1を生成し、e(C'1,u0・u2 vk')/e(C'2,u1)を計算して秘密情報σ2を生成し、e(C'1,g3)sを計算して秘密情報σ3を生成する秘密情報生成ステップと、
セッション鍵生成部が、識別情報ID、識別情報ID'、アドホック公開鍵EPK及びアドホック公開鍵EPK'に基づいてセッション識別情報STを生成し、上記秘密情報σ1及び上記セッション識別情報STを入力とする上記擬似ランダム関数Fkdfの出力と上記秘密情報σ2及び上記セッション識別情報STを入力とする上記擬似ランダム関数Fkdfの出力と上記秘密情報σ3及び上記セッション識別情報STを入力とする上記擬似ランダム関数Fkdfの出力との排他的論理和を計算し、上記セッション鍵SKを生成するセッション鍵生成ステップと、
を含む鍵交換方法。
In the plurality of communication devices hierarchized in the L layer, the communication device belonging to the α layer and the identification information ID = (ID 1 ,..., ID α ) and the identification information ID ′ = A key exchange method in which (ID ′ 1 ,..., ID ′ β ) is set and the communication device shares a session key SK,
^ Represents power, • represents multiplication, Z p is a residue ring modulo prime p, and G and G T can efficiently calculate the bilinear pairing function e: G × G → G T Group, g is a generator of group G, F ke , F gen , F sig and F kdf are pseudo-random functions, FS is a pseudo-random function key space, Gen is a signature key of any one-time signature scheme As a generation algorithm, Sign is a signature generation algorithm of the above-mentioned single-use signature method, Ver is a signature verification algorithm of the above-mentioned single-use signature method,
The parameter generator selects a value z from the ring Z p , calculates a value g 1 = g z, and generates a parameter for selecting the values g 2 , g 3 , g 4 , h 1 ,..., H L from the group G Steps,
A master secret key generation step in which a master secret key generation unit calculates a master secret key MSK = g 2 z ;
The long-term secret key generation unit selects the long-term secret key SSK i of the communication device belonging to the i-th layer from the ring Z p as the value r, and the values w 1 , w 2 , w 3 , w 4 , w 5 , w 6 Is selected from the above key space FS and u 0 = MSK · (h 1 ^ ID 1 … h i ^ ID i · g 3 ) r , u 1 = g r , u 2 = g 4 r is calculated, and SSK i = (MSK · (h 1 ^ ID 1 … h i ^ ID i · g 3 ) r , g r , g 4 r , h i + 1 r ,…, h L r , w 1 , w 2 , w 3 , w 4 , w 5 , w 6 ) and a long-term secret key generation step,
An ad hoc secret key generation unit that selects values esk ke , esk ' ke , esk gen , esk' gen , esk sig , and esk ' sig from the key space FS;
The pseudo-random number generator calculates the exclusive OR of the output of the pseudo-random function F ke (w 1 , esk ke ) and the output of the pseudo-random function F ke (esk ' ke , w 2 ). s is generated, and an exclusive OR of the output of the pseudo random function F gen (w 3 , esk gen ) and the output of the pseudo random function F gen (esk ' gen , w 4 ) is calculated, and the pseudo random number rand Generate gen , calculate the exclusive OR of the output of the pseudorandom function F sig (w 5 , esk sig ) and the output of the pseudorandom function F sig (esk ' sig , w 6 ) a pseudo-random number generation step for generating sig ;
A signature key generation unit that executes the key generation algorithm Gen using the pseudo-random number rand gen and generates a signature key sk and a verification key vk;
The ciphertext generation unit calculates ciphertext C 1 by calculating the value g of the value g and calculates (h 1 ^ ID ' 1 … h β ^ ID' β · g 4 vk · g 3 ) s a ciphertext generating step of generating a ciphertext C 2,
Ad hoc public key generating unit, by using the pseudo random number rand sig and the signature key sk to generate the signature σ by performing the signature algorithm Sign the ciphertext C 1 and the ciphertext C 2 as an input, the encryption An ad hoc public key generation unit that generates an ad hoc public key EPK including a sentence C 1 , the cipher text C 2 , the signature σ, and the verification key vk;
When the ad hoc public key verification unit receives the ad hoc public key EPK ′ including the ciphertext C ′ 1 , the ciphertext C ′ 2 , the signature σ ′, and the verification key vk ′ from the communication device in which the identification information ID ′ is set, Ad hoc public key verification for verifying the ad hoc public key EPK ′ by executing the verification algorithm Ver using the verification key vk ′ with the cipher text C ′ 1 , the cipher text C ′ 2 and the signature σ ′ as inputs. Steps,
The secret information generation unit calculates e (g 1 , g 2 ) s to generate secret information σ 1 , and e (C ′ 1 , u 0 · u 2 vk ′ ) / e (C ′ 2 , u 1 ) To generate secret information σ 2 , and e (C ′ 1 , g 3 ) s to generate secret information σ 3 ,
The session key generation unit generates session identification information ST based on the identification information ID, identification information ID ′, ad hoc public key EPK and ad hoc public key EPK ′, and inputs the secret information σ 1 and the session identification information ST. The output of the pseudo-random function F kdf to which the secret information σ 2 and the session identification information ST are input and the output of the pseudo-random function F kdf , the secret information σ 3 and the session identification information ST to be input A session key generation step of calculating an exclusive OR with the output of the pseudo-random function F kdf and generating the session key SK;
Key exchange method including
請求項3に記載の鍵生成装置または請求項4に記載の通信装置としてコンピュータを機能させるためのプログラム。   A program for causing a computer to function as the key generation device according to claim 3 or the communication device according to claim 4.
JP2013098970A 2013-05-09 2013-05-09 KEY EXCHANGE SYSTEM, KEY GENERATION DEVICE, COMMUNICATION DEVICE, KEY EXCHANGE METHOD, AND PROGRAM Expired - Fee Related JP5931795B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013098970A JP5931795B2 (en) 2013-05-09 2013-05-09 KEY EXCHANGE SYSTEM, KEY GENERATION DEVICE, COMMUNICATION DEVICE, KEY EXCHANGE METHOD, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013098970A JP5931795B2 (en) 2013-05-09 2013-05-09 KEY EXCHANGE SYSTEM, KEY GENERATION DEVICE, COMMUNICATION DEVICE, KEY EXCHANGE METHOD, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP2014220669A JP2014220669A (en) 2014-11-20
JP5931795B2 true JP5931795B2 (en) 2016-06-08

Family

ID=51938756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013098970A Expired - Fee Related JP5931795B2 (en) 2013-05-09 2013-05-09 KEY EXCHANGE SYSTEM, KEY GENERATION DEVICE, COMMUNICATION DEVICE, KEY EXCHANGE METHOD, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP5931795B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6497747B2 (en) * 2016-04-19 2019-04-10 日本電信電話株式会社 Key exchange method, key exchange system
JP7444378B2 (en) 2021-01-08 2024-03-06 日本電信電話株式会社 Key exchange system, communication terminal, information processing device, key exchange method, and program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8422681B2 (en) * 2008-03-06 2013-04-16 International Business Machines Corporation Non-interactive hierarchical identity-based key-agreement
JP5427156B2 (en) * 2010-10-01 2014-02-26 日本電信電話株式会社 Key exchange device, key exchange system, key exchange method, key exchange program
JP5506650B2 (en) * 2010-12-21 2014-05-28 日本電信電話株式会社 Information sharing system, method, information sharing apparatus and program thereof
JP5512598B2 (en) * 2011-05-16 2014-06-04 日本電信電話株式会社 Information sharing system, method, apparatus and program
JP5512601B2 (en) * 2011-05-27 2014-06-04 日本電信電話株式会社 Information sharing system, method, apparatus and program

Also Published As

Publication number Publication date
JP2014220669A (en) 2014-11-20

Similar Documents

Publication Publication Date Title
Gupta et al. Blockchain-assisted secure fine-grained searchable encryption for a cloud-based healthcare cyber-physical system
JP7127543B2 (en) Matching system, method, device and program
JP5300983B2 (en) Data processing device
JP6016948B2 (en) Secret calculation system, arithmetic device, secret calculation method, and program
JPWO2016203762A1 (en) Encryption information creation device, encryption information creation method, recording medium, and verification system
JP6451938B2 (en) Ciphertext verification system, method, and program
JP2016526851A (en) System for sharing encryption keys
CN118445844A (en) Federal learning data privacy protection method, federal learning data privacy protection device and readable storage medium
Meshram et al. A provably secure lightweight subtree-based short signature scheme with fuzzy user data sharing for human-centered IoT
Zhang et al. Building puf as a service: Distributed authentication and recoverable data sharing with multidimensional crps security protection
JPWO2014185447A1 (en) Verification system, node, verification method and program
Cui et al. Proof of retrievability with public verifiability resilient against related‐key attacks
Dawson et al. Ensuring cloud data security using the soldier ant algorithm
JP2025502962A (en) Emergency recovery transactions of funds from a crypto currency wallet
JP5931795B2 (en) KEY EXCHANGE SYSTEM, KEY GENERATION DEVICE, COMMUNICATION DEVICE, KEY EXCHANGE METHOD, AND PROGRAM
JP5512598B2 (en) Information sharing system, method, apparatus and program
JP5651609B2 (en) Searchable cryptographic system, search device, calculation device, and program
JP6228903B2 (en) Information sharing system and method, information sharing apparatus and program
CN117834124A (en) An attribute-based authentication key exchange method based on hiding strategy
Mallick et al. Authenticated Certificateless Verifiable Searchable Public Key Encryption Scheme With Big Data Analytics for IoT-Based Healthcare
JP5841955B2 (en) Functional cryptographic system and method
CN110572788B (en) Wireless sensor communication method and system based on asymmetric key pool and implicit certificate
Wang et al. An efficient multi-party signature for securing blockchain wallet
JPWO2017170780A1 (en) Ciphertext verification system, node device, ciphertext verification method, and program
Mobarak et al. Privacy-Preserving Authentication for Unlinkable Avatars in the Metaverse

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160420

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160427

R150 Certificate of patent or registration of utility model

Ref document number: 5931795

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees