JP2023087337A - Authentication key exchange system, device, method, and program - Google Patents

Authentication key exchange system, device, method, and program Download PDF

Info

Publication number
JP2023087337A
JP2023087337A JP2021201659A JP2021201659A JP2023087337A JP 2023087337 A JP2023087337 A JP 2023087337A JP 2021201659 A JP2021201659 A JP 2021201659A JP 2021201659 A JP2021201659 A JP 2021201659A JP 2023087337 A JP2023087337 A JP 2023087337A
Authority
JP
Japan
Prior art keywords
key
temporary
long
public key
term
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.)
Pending
Application number
JP2021201659A
Other languages
Japanese (ja)
Inventor
裕樹 岡野
Hiroki Okano
彰 永井
Akira Nagai
光太郎 青柳
Kotaro Aoyagi
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 JP2021201659A priority Critical patent/JP2023087337A/en
Publication of JP2023087337A publication Critical patent/JP2023087337A/en
Pending legal-status Critical Current

Links

Images

Abstract

To provide an authentication key exchange system which executes efficient authentication key exchange between a device to be authenticated based on ID-based encryption and a device to be authenticated based on an electronic certificate, a device, a method, and a program.SOLUTION: A system for authentication key exchange between communication devices includes a server that functions as a KGC for ID-based encryption, a first communication device that executes authentication based on the ID-based encryption, and a second communication device that executes authentication based on an electronic signature. The server includes: a setup unit which generates a bilinear group to be used in the ID-based encryption, a master private key and a master public key corresponding to the private key; and a first long-term private key generation unit of the first communication device. The first communication device includes a first temporary private key and temporary key generation unit, a first temporary key transmission unit, and a first session key generation unit. The second communication device includes a second long-term private key and long-term key generation unit, a second temporary public key and temporary key generation unit, a second temporary key transmission unit, and a second session key generation unit.SELECTED DRAWING: Figure 1

Description

本発明は、認証鍵交換システム、機器、方法、及びプログラムに関する。 The present invention relates to an authentication key exchange system, equipment, method, and program.

近年、IoT(Internet of Things)機器が普及したことに伴って、IoT機器でも重要性の高い通信が行われるようになってきた。このため、通信時に互いに正しい機器・サーバであるかを確認するための認証技術がIoT機器でも必要になっている。 In recent years, with the widespread use of IoT (Internet of Things) devices, communication of high importance has come to be performed even in IoT devices. For this reason, IoT devices also require an authentication technique for mutually confirming whether the devices and servers are correct when communicating.

IoT機器向けの認証技術としてはパスワードや電子証明書等が従来から知られているが、近年では、より安全性が高い認証鍵交換プロトコルの導入が求められている。認証鍵交換プロトコルとは、認証が成功した場合に互いに共通した鍵(この鍵は共有鍵とも呼ばれる。)を生成し、その共有鍵で暗号化通信が可能となるプロトコルである。このような認証鍵交換プロトコルの1つとして、IDベース暗号を用いた認証鍵交換プロトコルが知られている。 Passwords, electronic certificates, and the like have been conventionally known as authentication techniques for IoT devices, but in recent years, there has been a demand for the introduction of a more secure authentication key exchange protocol. The authentication key exchange protocol is a protocol that generates a mutually common key (this key is also called a shared key) when authentication is successful, and enables encrypted communication using the shared key. As one of such authentication key exchange protocols, an authentication key exchange protocol using ID-based encryption is known.

IDベース暗号を用いた認証鍵交換プロトコルは、一般に、有限体上の楕円曲線における双線形群を用いて実現される。このような双線形群はペアリング群とも呼ばれ、対称ペアリング群と非対称ペアリング群とに分類することができる。現在、ペアリング群を暗号で用いる場合には、効率性や安全性の観点から非対称ペアリング群が用いられることが多い。 Authenticated key exchange protocols using identity-based cryptography are generally implemented using bilinear groups on elliptic curves over finite fields. Such bilinear groups are also called pairing groups, and can be classified into symmetric pairing groups and asymmetric pairing groups. Currently, when pairing groups are used in cryptography, asymmetric pairing groups are often used from the viewpoint of efficiency and security.

一方で、IDベース暗号はKGC(Key Generation Center)と呼ばれるサーバが端末の秘密鍵を生成するため、IoT機器の管理者は外部のKGCサービスを利用するよりも自前でKGCを運用する可能性が高い。したがって、エッジコンピューティングサービスのユースケースのように、IoT機器が外部のエッジサーバと通信する場合、IoT機器側はIDベース暗号に基づく認証を行い、エッジサーバ側は電子証明書に基づく認証を行うことがある。非特許文献1には、一方の機器がIDベースのKGCドメイン下で、もう一方の機器(サーバ)がPKI(Public Key Infrastructure、公開鍵暗号基盤)の或るCA(Certificate Authority、認証局)ドメイン下であるようなクロスドメイン認証鍵交換プロトコルが記載されている。 On the other hand, in ID-based cryptography, a server called KGC (Key Generation Center) generates the private key of the terminal, so there is a possibility that the administrator of the IoT device will operate the KGC on its own rather than using an external KGC service. expensive. Therefore, when an IoT device communicates with an external edge server as in the edge computing service use case, the IoT device side performs authentication based on ID-based encryption, and the edge server side performs authentication based on an electronic certificate. Sometimes. In Non-Patent Document 1, one device is under an ID-based KGC domain, and the other device (server) is a PKI (Public Key Infrastructure) CA (Certificate Authority) domain. A cross-domain authenticated key exchange protocol is described as below.

Ustaoglu, B.: Integrating identity-based and certificate-based authenticated key exchange protocols. Int. J. Inf. Security 10(4), 201-212 (2011)Ustaoglu, B.: Integrating identity-based and certificate-based authenticated key exchange protocols. Int. J. Inf. Security 10(4), 201-212 (2011)

しかしながら、非特許文献1では、ペアリング演算と呼ばれる群演算を2回行う必要がある。ペアリング演算は一般に計算コストが高いため、IoT機器等の計算リソースが限られた機器が非特許文献1に記載されているプロトコルによって鍵交換を行う場合、鍵交換に時間を要することがある。例えば、動作クロック数が数百MHz程度のプロセッサで462ビットのBN(Barret-Naehrig)曲線上のペアリング演算を行った場合、1回あたり約600msec程度の計算時間を要する。 However, in Non-Patent Document 1, it is necessary to perform a group operation called a pairing operation twice. Since the pairing calculation generally has a high computational cost, when a device with limited computational resources such as an IoT device performs key exchange using the protocol described in Non-Patent Document 1, key exchange may take time. For example, when a processor with an operating clock rate of about several hundred MHz performs a pairing calculation on a 462-bit BN (Barret-Naehrig) curve, it takes about 600 msec for each calculation.

本発明の一実施形態は、上記の点に鑑みてなされたもので、IDベース暗号に基づく認証を行う機器と、電子証明書に基づく認証を行う機器との間で効率的な認証鍵交換を行うことを目的とする。 An embodiment of the present invention has been made in view of the above points, and is intended to enable efficient authentication key exchange between a device that performs authentication based on ID-based encryption and a device that performs authentication based on an electronic certificate. intended to do

上記目的を達成するため、一実施形態に係る認証鍵交換システムは、IDベース暗号のKGCとして機能するサーバと、前記IDベース暗号に基づく認証を行う第1の機器と、電子署名に基づく認証を行う第2の機器とが含まれ、前記第1の機器と前記第2の機器との間で認証鍵交換を行う認証鍵交換システムであって、前記サーバは、前記IDベース暗号で用いられる双線形群と、前記IDベース暗号のマスター秘密鍵と、前記マスター秘密鍵に対応するマスター公開鍵とを生成するように構成されているセットアップ部と、前記第1の機器の識別子を示す第1の識別子に対する第1の長期秘密鍵を生成するように構成されている長期秘密鍵生成部と、を有し、前記第1の機器は、第1の一時秘密鍵を生成すると共に、前記第1の一時秘密鍵及び前記第1の長期秘密鍵から第1の一時公開鍵を生成するように構成されている第1の一時鍵生成部と、前記第1の一時公開鍵と前記第1の識別子とを前記第2の機器に送信するように構成されている第1の一時鍵送信部と、少なくとも第2の一時公開鍵と前記第2の機器の長期公開鍵と前記第2の機器の識別子を示す第2の識別子とを前記第2の機器から受信すると、前記第1の一時公開鍵と前記第2の一時公開鍵と前記第2の機器の長期公開鍵と前記第1の一時秘密鍵と前記第1の長期秘密鍵と前記第1の識別子と前記第2の識別子からセッション鍵を生成するように構成されている第1のセッション鍵生成部と、を有し、前記第2の機器は、第2の長期秘密鍵と、前記第2の長期秘密鍵に対応する前記長期公開鍵とを生成するように構成されている長期鍵生成部と、第2の一時秘密鍵を生成すると共に、前記第2の一時秘密鍵及び前記第2の長期秘密鍵から前記第2の一時公開鍵を生成するように構成されている第2の一時鍵生成部と、少なくとも前記第2の一時公開鍵と前記長期公開鍵と前記第2の識別子とを前記第1の機器に送信するように構成されている第2の一時鍵送信部と、前記第1の一時公開鍵と前記第2の一時公開鍵と前記第2の一時秘密鍵と前記マスター公開鍵と前記第1の識別子と前記第2の識別子から前記セッション鍵を生成するように構成されている第2のセッション鍵生成部と、有する。 In order to achieve the above object, an authentication key exchange system according to one embodiment includes a server functioning as a KGC for ID-based encryption, a first device performing authentication based on the ID-based encryption, and authentication based on an electronic signature. an authenticated key exchange system for exchanging authentication keys between the first device and the second device, wherein the server comprises a pair of keys used in the ID-based encryption; a setup unit configured to generate a linear group, a master private key for said identity-based encryption, and a master public key corresponding to said master private key; a long-term secret key generator configured to generate a first long-term secret key for an identifier, wherein the first device generates a first temporary secret key and the first a first temporary key generator configured to generate a first temporary public key from a temporary private key and said first long-term private key; said first temporary public key and said first identifier; to the second device; and at least a second temporary public key, a long-term public key of the second device and an identifier of the second device. the first temporary public key, the second temporary public key, the long-term public key of the second device, and the first temporary private key upon receiving from the second device a second identifier indicating a first session key generator configured to generate a session key from the first long-term secret key, the first identifier, and the second identifier, the second device comprising: a long-term key generator configured to generate a second long-term private key and the long-term public key corresponding to the second long-term private key; and generating a second temporary private key; a second temporary key generator configured to generate the second temporary public key from the second temporary private key and the second long-term private key; and at least the second temporary public key. a second temporary key transmitter configured to transmit the long-term public key and the second identifier to the first device; the first temporary public key and the second temporary public key; and a second session key generator configured to generate the session key from the second temporary private key, the master public key, the first identifier, and the second identifier.

IDベース暗号に基づく認証を行う機器と、電子証明書に基づく認証を行う機器との間で効率的な認証鍵交換を行うことができる。 Efficient authentication key exchange can be performed between a device that performs authentication based on ID-based encryption and a device that performs authentication based on an electronic certificate.

本実施形態に係る認証鍵交換システムの全体構成例を示す図である。It is a figure which shows the whole structural example of the authentication key exchange system which concerns on this embodiment. 本実施形態に係る鍵生成装置のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the key generation apparatus which concerns on this embodiment. 本実施形態に係る第1の通信機器のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the 1st communication apparatus which concerns on this embodiment. 本実施形態に係る第2の通信機器のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the 2nd communication apparatus which concerns on this embodiment. 本実施形態に係る鍵生成装置の機能構成例を示す図である。It is a figure which shows the functional structural example of the key generation apparatus which concerns on this embodiment. 本実施形態に係る第1の通信機器の機能構成例を示す図である。3 is a diagram illustrating an example of functional configuration of a first communication device according to the embodiment; FIG. 本実施形態に係る第2の通信機器の機能構成例を示す図である。It is a figure which shows the functional structural example of the 2nd communication apparatus which concerns on this embodiment. 実施例1におけるセットアップ処理を説明するための図である。FIG. 5 is a diagram for explaining setup processing in the first embodiment; FIG. 実施例1における第1の通信機器の長期秘密鍵生成処理を説明するための図である。FIG. 10 is a diagram for explaining long-term secret key generation processing of the first communication device according to the first embodiment; 実施例1における第2の通信機器の長期鍵生成処理を説明するための図である。FIG. 10 is a diagram for explaining long-term key generation processing of the second communication device according to the first embodiment; 実施例1における認証鍵交換処理を説明するための図である。FIG. 10 is a diagram for explaining authentication key exchange processing according to the first embodiment; 実施例2における第2の通信機器の長期鍵生成処理を説明するための図である。FIG. 12 is a diagram for explaining long-term key generation processing of the second communication device in the second embodiment; 実施例2における認証鍵交換処理を説明するための図である。FIG. 10 is a diagram for explaining authentication key exchange processing in the second embodiment;

以下、本発明の一実施形態について説明する。本実施形態では、IDベース暗号に基づく認証を行う機器と、電子証明書に基づく認証を行う機器との間で効率的な認証鍵交換を行うことができる認証鍵交換システム1について説明する。 An embodiment of the present invention will be described below. In this embodiment, an authentication key exchange system 1 capable of efficiently exchanging authentication keys between a device that performs authentication based on ID-based encryption and a device that performs authentication based on an electronic certificate will be described.

<準備>
本実施形態で使用する記号や概念、アルゴリズム等について説明する。
<Preparation>
Symbols, concepts, algorithms, etc. used in this embodiment will be described.

pを素数として、整数の加法群におけるpを法とする剰余類のなす加法群をZとする。 Let p be a prime number, and let Z p be the additive group formed by the remainder class modulo p in the additive group of integers.

また、κをセキュリティパラメータとする。セキュリティパラメータκは認証鍵交換システム1の安全性強度(単位はビット)を表すものであり、例えば、κ=128やκ=256等を取り得る。 Also, let κ be a security parameter. The security parameter κ represents the security strength (in units of bits) of the authenticated key exchange system 1, and can take, for example, κ=128, κ=256, and the like.

・双線形群
双線形群G=(p,G,G,G,g,g,e)は、素数pと、位数pの巡回群G、G、Gと、Gの生成元gと、Gの生成元gと、以下の双線形性及び非退化性を満たす双線形写像e:G×G→Gとで構成される。
・Bilinear group A bilinear group G = (p, G 1 , G 2 , G T , g 1 , g 2 , e) consists of a prime number p and cyclic groups G 1 , G 2 , G T of order p. , G 1 , a generator g 2 of G 2 , and a bilinear map e: G 1 ×G 2 →G T that satisfies the following bilinearity and non-degenerateness.

双線形性:任意のh∈G、h∈G、a,b∈Zに対して、e(h ,h )=e(h,habが成り立つ。 Bilinearity: For any h 1 εG 1 , h 2 εG 2 , a,bεZ p , we have e(h 1 a ,h 2 b )=e(h 1 ,h 2 ) ab .

非退化性:e(g,g)はGの生成元である。 Non-degenerate: e(g 1 ,g 2 ) is the generator of G T .

このような双線形群の例としては、参考文献1に記載されているOptimal-ate paring等が挙げられる。 Examples of such bilinear groups include Optimal-ate paring described in Reference 1 and the like.

・デジタル署名
デジタル署名は以下の3つのアルゴリズム{KeyGen,Sign,Ver}で構成される。
- Digital signature A digital signature consists of the following three algorithms {KeyGen, Sign, Ver}.

(pk,sk)←KeyGen(1κ):1κを入力として、公開鍵と秘密鍵のペア(pk,sk)を生成する。なお、1κは1のκビット列である。 (pk, sk)←KeyGen(1 κ ): Take 1 κ as an input and generate a public/private key pair (pk, sk). Note that 1 κ is a κ bit string of 1s.

σ←Sign(sk,m):秘密鍵skとメッセージmを入力として、署名σを生成する。 σ←Sign(sk, m): Generates a signature σ with a private key sk and a message m as inputs.

1/0←Ver(pk,m,σ):公開鍵pkとメッセージmと署名σを入力として、1又は0を出力する。 1/0←Ver(pk, m, σ): Outputs 1 or 0 with public key pk, message m, and signature σ as input.

更に、任意の(pk,sk)←KeyGen(1κ)に対して、1=Ver(pk,m,Sign(sk,m))を満たすものとする。デジタル署名の例としては、ECDSAやRSA-PSS等が挙げられる。 Furthermore, 1=Ver(pk, m, Sign(sk, m)) shall be satisfied for any (pk, sk)←KeyGen(1 κ ). Examples of digital signatures include ECDSA and RSA-PSS.

<全体構成>
本実施形態に係る認証鍵交換システム1の全体構成例を図1に示す。図1に示すように、本実施形態に係る認証鍵交換システム1には、鍵生成装置10と、第1の通信機器20と、第2の通信機器30とが含まれる。また、鍵生成装置10、第1の通信機器20、及び第2の通信機器30は、例えば、インターネット等を含む通信ネットワーク40を介して通信可能に接続される。なお、鍵生成装置10、第1の通信機器20、及び第2の通信機器30の各々は「エンティティ」等とも呼ばれる。
<Overall composition>
FIG. 1 shows an example of the overall configuration of an authentication key exchange system 1 according to this embodiment. As shown in FIG. 1, an authentication key exchange system 1 according to this embodiment includes a key generation device 10, a first communication device 20, and a second communication device 30. FIG. Also, the key generation device 10, the first communication device 20, and the second communication device 30 are communicably connected via a communication network 40 including, for example, the Internet. Note that each of the key generation device 10, the first communication device 20, and the second communication device 30 is also called an "entity" or the like.

鍵生成装置10は、IDベース暗号のKGCとして機能するサーバであり、公開パラメータ等を生成するためのセットアップ処理を実行したり、第1の通信機器20からの要求に応じてその第1の通信機器20の長期秘密鍵を生成したりする。なお、鍵生成装置10は、例えば、「鍵発行サーバ」や「鍵生成サーバ」等と呼ばれてもよい。 The key generation device 10 is a server that functions as a KGC for ID-based encryption, and executes setup processing for generating public parameters and the like, and performs the first communication in response to a request from the first communication device 20. For example, a long-term secret key for the device 20 is generated. Note that the key generation device 10 may be called, for example, a “key issuing server” or a “key generation server”.

第1の通信機器20は、IDベース暗号を用いた認証を行う機器(例えば、IoT機器等)であり、第2の通信機器30との間で暗号化通信のための認証鍵交換を行う。以下、第1の通信機器20を一意に識別する識別子をIDとする。なお、識別子IDとしては、例えば、製造固有番号、ユーザID、メールアドレス、電話番号、IPアドレス、MACアドレス等といったものを用いることができる。 The first communication device 20 is a device that performs authentication using ID-based encryption (for example, an IoT device or the like), and performs authentication key exchange for encrypted communication with the second communication device 30 . An identifier that uniquely identifies the first communication device 20 is hereinafter referred to as ID C. As shown in FIG. As the identifier ID C , for example, a manufacturing unique number, a user ID, a mail address, a telephone number, an IP address, a MAC address, etc. can be used.

第2の通信機器30は、電子証明書(以下、単に「証明書」ともいう。)を用いた認証を行う機器(例えば、サーバ等)であり、第1の通信機器20との間で暗号化通信のための認証鍵交換を行う。すなわち、第2の通信機器30は、PKIベースで認証を行う機器である。以下、第2の通信機器30を一意に識別する識別子をIDとする。なお、識別子IDとしては、例えば、製造固有番号、ユーザID、メールアドレス、電話番号、IPアドレス、MACアドレス等といったものを用いることができる。 The second communication device 30 is a device (for example, a server, etc.) that performs authentication using an electronic certificate (hereinafter also simply referred to as a “certificate”). perform authenticated key exchange for encrypted communication. That is, the second communication device 30 is a device that performs PKI-based authentication. Hereinafter, an identifier that uniquely identifies the second communication device 30 will be referred to as IDS . As the identifier ID S , for example, a manufacturing unique number, a user ID, a mail address, a telephone number, an IP address, a MAC address, etc. can be used.

ここで、第2の通信機器30は自身の長期公開鍵と長期秘密鍵を生成し、その長期公開鍵に対する証明書(より正確には識別子IDと長期公開鍵に対する証明書)の発行を外部の認証局に要求するが、本実施形態では、第2の通信機器30の通信相手となる第1の通信機器20は、その認証局を信頼しているものとする。すなわち、当該第1の通信機器20は、その認証局の公開鍵とその公開鍵に対する証明書(当該認証局がルート認証局であればルート証明書、そうでなければ上位の認証局が発行した証明書)とを保持しているものとする。 Here, the second communication device 30 generates its own long-term public key and long-term private key, and externally issues a certificate for the long-term public key (more precisely, a certificate for the identifier IDS and the long-term public key). However, in this embodiment, it is assumed that the first communication device 20, which is the communication partner of the second communication device 30, trusts the certificate authority. That is, the first communication device 20 receives the public key of the certificate authority and the certificate for the public key (the root certificate if the certificate authority is the root certificate authority, otherwise the certificate).

なお、図1に示す認証鍵交換システム1の構成は一例であって、これに限られるものではない。例えば、図1に示す例では、第1の通信機器20と第2の通信機器30がそれぞれ1台のみ図示されているが、第1の通信機器20が複数存在してもよいし、同様に第2の通信機器30が複数存在してもよい。また、以下では、第1の通信機器20はIoT機器、第2の通信機器30はサーバであることを想定するが、これに限られるものではない。 Note that the configuration of the authentication key exchange system 1 shown in FIG. 1 is an example, and is not limited to this. For example, although only one first communication device 20 and one second communication device 30 are illustrated in the example shown in FIG. A plurality of second communication devices 30 may exist. Moreover, although it is assumed below that the first communication device 20 is an IoT device and the second communication device 30 is a server, the present invention is not limited to this.

<ハードウェア構成>
本実施形態に係る認証鍵交換システム1に含まれる鍵生成装置10、第1の通信機器20、及び第2の通信機器30のハードウェア構成例について説明する。
<Hardware configuration>
A hardware configuration example of the key generation device 10, the first communication device 20, and the second communication device 30 included in the authentication key exchange system 1 according to this embodiment will be described.

≪鍵生成装置10≫
本実施形態に係る鍵生成装置10のハードウェア構成例を図2に示す。図2に示すように、本実施形態に係る鍵生成装置10は、入力装置11と、表示装置12と、外部I/F13と、通信I/F14と、RAM(Random Access Memory)15と、ROM(Read Only Memory)16と、補助記憶装置17と、プロセッサ18とを有する。これらの各ハードウェアは、それぞれがバス19を介して通信可能に接続される。
<<Key generation device 10>>
FIG. 2 shows a hardware configuration example of the key generation device 10 according to this embodiment. As shown in FIG. 2, the key generation device 10 according to this embodiment includes an input device 11, a display device 12, an external I/F 13, a communication I/F 14, a RAM (random access memory) 15, a ROM (Read Only Memory) 16 , an auxiliary storage device 17 and a processor 18 . Each of these pieces of hardware is communicably connected via a bus 19 .

入力装置11は、例えば、キーボード、マウス、タッチパネル、各種物理ボタン等である。表示装置12は、例えば、ディスプレイ、表示パネル等である。なお、鍵生成装置10は、例えば、入力装置11及び表示装置12のうちの少なくとも一方を有していなくてもよい。 The input device 11 is, for example, a keyboard, mouse, touch panel, various physical buttons, and the like. The display device 12 is, for example, a display, a display panel, or the like. Note that the key generation device 10 may not have at least one of the input device 11 and the display device 12, for example.

外部I/F13は、記録媒体13a等の外部装置とのインタフェースである。記録媒体13aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。 The external I/F 13 is an interface with an external device such as the recording medium 13a. Examples of the recording medium 13a include a CD (Compact Disc), a DVD (Digital Versatile Disk), an SD memory card (Secure Digital memory card), a USB (Universal Serial Bus) memory card, and the like.

通信I/F14は、鍵生成装置10を通信ネットワーク40に接続するためのインタフェースである。RAM15は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM16は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置17は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性の記憶装置であり、プログラムやデータが格納される。プロセッサ18は、例えば、CPU(Central Processing Unit)等の各種演算装置である。 Communication I/F 14 is an interface for connecting key generation device 10 to communication network 40 . The RAM 15 is a volatile semiconductor memory (storage device) that temporarily holds programs and data. The ROM 16 is a non-volatile semiconductor memory (storage device) that can retain programs and data even when the power is turned off. The auxiliary storage device 17 is, for example, a non-volatile storage device such as a HDD (Hard Disk Drive) or SSD (Solid State Drive), and stores programs and data. The processor 18 is, for example, various arithmetic devices such as a CPU (Central Processing Unit).

なお、図2に示すハードウェア構成は一例であって、鍵生成装置10は、他のハードウェア構成を有していてもよい。例えば、鍵生成装置10は、複数の補助記憶装置17や複数のプロセッサ18を有していてもよいし、図示したハードウェア以外の種々のハードウェアを有していてもよい。 Note that the hardware configuration shown in FIG. 2 is an example, and the key generation device 10 may have other hardware configurations. For example, the key generation device 10 may have multiple auxiliary storage devices 17 and multiple processors 18, and may have various hardware other than the illustrated hardware.

≪第1の通信機器20≫
本実施形態に係る第1の通信機器20のハードウェア構成例を図3に示す。図3に示すように、本実施形態に係る第1の通信機器20は、外部I/F21と、通信I/F22と、メモリ装置23と、プロセッサ24とを有する。これらの各ハードウェアは、それぞれがバス25を介して通信可能に接続される。
<<First communication device 20>>
FIG. 3 shows a hardware configuration example of the first communication device 20 according to this embodiment. As shown in FIG. 3 , the first communication device 20 according to this embodiment has an external I/F 21 , a communication I/F 22 , a memory device 23 and a processor 24 . Each of these pieces of hardware is communicably connected via a bus 25 .

外部I/F21は、記録媒体21a等の外部装置とのインタフェースである。記録媒体21aとしては、例えば、SDメモリカード、USBメモリカード等が挙げられる。 The external I/F 21 is an interface with an external device such as the recording medium 21a. Examples of the recording medium 21a include an SD memory card, a USB memory card, and the like.

通信I/F22は、第1の通信機器20を通信ネットワーク40に接続するためのインタフェースである。メモリ装置23は、例えば、フラッシュメモリ等の各種記憶装置である。プロセッサ24は、例えば、CPUやMPU(Micro-Processing Unit)等の各種演算装置である。 Communication I/F 22 is an interface for connecting first communication device 20 to communication network 40 . The memory device 23 is, for example, various storage devices such as flash memory. The processor 24 is, for example, various arithmetic devices such as a CPU and an MPU (Micro-Processing Unit).

なお、図3に示すハードウェア構成は一例であって、第1の通信機器20は、他のハードウェア構成を有していてもよい。例えば、第1の通信機器20は、複数のメモリ装置23や複数のプロセッサ24を有していてもよいし、図示した以外の種々のハードウェアを有していてもよい。 Note that the hardware configuration shown in FIG. 3 is an example, and the first communication device 20 may have other hardware configurations. For example, the first communication device 20 may have multiple memory devices 23 and multiple processors 24, and may have various hardware other than those shown.

≪第2の通信機器30≫
本実施形態に係る第2の通信機器30のハードウェア構成例を図4に示す。図4に示すように、本実施形態に係る第2の通信機器30は、入力装置31と、表示装置32と、外部I/F33と、通信I/F34と、RAM35と、ROM36と、補助記憶装置37と、プロセッサ38とを有する。これらの各ハードウェアは、それぞれがバス39を介して通信可能に接続される。
<<Second communication device 30>>
FIG. 4 shows a hardware configuration example of the second communication device 30 according to this embodiment. As shown in FIG. 4, the second communication device 30 according to the present embodiment includes an input device 31, a display device 32, an external I/F 33, a communication I/F 34, a RAM 35, a ROM 36, an auxiliary storage It has a device 37 and a processor 38 . Each of these pieces of hardware is communicably connected via a bus 39 .

入力装置31は、例えば、キーボード、マウス、タッチパネル、各種物理ボタン等である。表示装置32は、例えば、ディスプレイ、表示パネル等である。なお、第2の通信機器30は、例えば、入力装置31及び表示装置32のうちの少なくとも一方を有していなくてもよい。 The input device 31 is, for example, a keyboard, mouse, touch panel, various physical buttons, and the like. The display device 32 is, for example, a display, a display panel, or the like. Note that the second communication device 30 may not have at least one of the input device 31 and the display device 32, for example.

外部I/F33は、記録媒体33a等の外部装置とのインタフェースである。記録媒体33aとしては、例えば、CD、DVD、SDメモリカード、USBメモリカード等が挙げられる。 The external I/F 33 is an interface with an external device such as a recording medium 33a. Examples of the recording medium 33a include CDs, DVDs, SD memory cards, USB memory cards, and the like.

通信I/F34は、第2の通信機器30を通信ネットワーク40に接続するためのインタフェースである。RAM35は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM36は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置37は、例えば、HDDやSSD等の不揮発性の記憶装置であり、プログラムやデータが格納される。プロセッサ38は、例えば、CPU等の各種演算装置である。 Communication I/F 34 is an interface for connecting second communication device 30 to communication network 40 . The RAM 35 is a volatile semiconductor memory (storage device) that temporarily holds programs and data. The ROM 36 is a non-volatile semiconductor memory (storage device) that can retain programs and data even when the power is turned off. The auxiliary storage device 37 is, for example, a non-volatile storage device such as an HDD or SSD, and stores programs and data. The processor 38 is, for example, various arithmetic devices such as a CPU.

なお、図4に示すハードウェア構成は一例であって、第2の通信機器30は、他のハードウェア構成を有していてもよい。例えば、第2の通信機器30は、複数の補助記憶装置37や複数のプロセッサ38を有していてもよいし、図示したハードウェア以外の種々のハードウェアを有していてもよい。 Note that the hardware configuration shown in FIG. 4 is an example, and the second communication device 30 may have another hardware configuration. For example, the second communication device 30 may have multiple auxiliary storage devices 37 and multiple processors 38, and may have various hardware other than the illustrated hardware.

<機能構成>
本実施形態に係る認証鍵交換システム1に含まれる鍵生成装置10、第1の通信機器20、及び第2の通信機器30の機能構成例について説明する。
<Functional configuration>
A functional configuration example of the key generation device 10, the first communication device 20, and the second communication device 30 included in the authentication key exchange system 1 according to this embodiment will be described.

≪鍵生成装置10≫
本実施形態に係る鍵生成装置10の機能構成例を図5に示す。図5に示すように、本実施形態に係る鍵生成装置10は、セットアップ処理部101と、長期秘密鍵生成部102とを有する。これら各部は、例えば、鍵生成装置10にインストールされた1以上のプログラムが、プロセッサ18に実行させる処理により実現される。また、本実施形態に係る鍵生成装置10は、記憶部103を有する。記憶部103は、例えば、補助記憶装置17により実現される。
<<Key generation device 10>>
FIG. 5 shows an example of the functional configuration of the key generation device 10 according to this embodiment. As shown in FIG. 5, the key generation device 10 according to this embodiment has a setup processing unit 101 and a long-term secret key generation unit 102 . These units are implemented by, for example, processing that one or more programs installed in the key generation device 10 cause the processor 18 to execute. Further, the key generation device 10 according to this embodiment has a storage unit 103 . The storage unit 103 is realized by the auxiliary storage device 17, for example.

セットアップ処理部101は、マスター秘密鍵や公開パラメータ等を生成するためのセットアップ処理を実行する。 The setup processing unit 101 executes setup processing for generating a master secret key, public parameters, and the like.

長期秘密鍵生成部102は、第1の通信機器20からの要求に応じて、その第1の通信機器20の識別子に対する長期秘密鍵を生成する。 The long-term secret key generation unit 102 generates a long-term secret key for the identifier of the first communication device 20 in response to a request from the first communication device 20 .

記憶部103は、各種情報(例えば、マスター秘密鍵や公開パラメータ等)を記憶する。 The storage unit 103 stores various information (for example, a master secret key, public parameters, etc.).

≪第1の通信機器20≫
本実施形態に係る第1の通信機器20の機能構成例を図6に示す。図6に示すように、本実施形態に係る第1の通信機器20は、長期秘密鍵要求部201と、長期秘密鍵受信部202と、一時鍵生成部203と、一時鍵送信部204と、一時鍵受信部205と、セッション鍵生成部206とを有する。これら各部は、例えば、第1の通信機器20にインストールされた1以上のプログラムが、プロセッサ24に実行させる処理により実現される。また、本実施形態に係る第1の通信機器20は、記憶部207を有する。記憶部207は、例えば、メモリ装置23により実現される。
<<First communication device 20>>
FIG. 6 shows a functional configuration example of the first communication device 20 according to this embodiment. As shown in FIG. 6, the first communication device 20 according to the present embodiment includes a long-term secret key requesting unit 201, a long-term secret key receiving unit 202, a temporary key generating unit 203, a temporary key transmitting unit 204, It has a temporary key reception unit 205 and a session key generation unit 206 . These units are implemented by, for example, processing that one or more programs installed in the first communication device 20 cause the processor 24 to execute. Also, the first communication device 20 according to this embodiment has a storage unit 207 . The storage unit 207 is realized by the memory device 23, for example.

長期秘密鍵要求部201は、自身の識別子IDに対する長期秘密鍵の生成を鍵生成装置10に要求する。以下、識別子IDに対する長期秘密鍵をsskとする。 The long-term secret key requesting unit 201 requests the key generation device 10 to generate a long-term secret key for its own identifier ID C. FIG. Let ssk C be the long-term secret key for identifier ID C hereinafter.

長期秘密鍵受信部202は、鍵生成装置10から長期秘密鍵sskを受信する。 The long-term secret key receiving unit 202 receives the long-term secret key ssk C from the key generation device 10 .

一時鍵生成部203は、自身の長期秘密鍵sskを用いて、一時秘密鍵eskと一時公開鍵Xを生成する。 The temporary key generator 203 uses its own long-term secret key ssk C to generate a temporary secret key esk C and a temporary public key X C .

一時鍵送信部204は、一時公開鍵Xと自身の識別子IDを第2の通信機器30に送信する。 The temporary key transmission unit 204 transmits the temporary public key X C and its own identifier ID C to the second communication device 30 .

一時鍵受信部205は、第2の通信機器30からその第2の通信機器30の一時公開鍵X等を受信する。 The temporary key receiving unit 205 receives the temporary public key XS and the like of the second communication device 30 from the second communication device 30 .

セッション鍵生成部206は、自身の長期秘密鍵sskや第2の通信機器30から受信した一時公開鍵X等を用いて鍵要素を生成した上で、これらの鍵要素からセッション鍵を生成する。なお、このセッション鍵が、第2の通信機器30との間で共有される共有鍵である。 The session key generation unit 206 generates key elements using its own long-term secret key ssk C and the temporary public key XS received from the second communication device 30, and then generates a session key from these key elements. do. Note that this session key is a shared key shared with the second communication device 30 .

記憶部207は、各種情報(例えば、公開パラメータ、自身の長期秘密鍵ssk等)を記憶する。 The storage unit 207 stores various information (for example, public parameters, own long-term secret key ssk C , etc.).

≪第2の通信機器30≫
本実施形態に係る第2の通信機器30の機能構成例を図7に示す。図7に示すように、本実施形態に係る第2の通信機器30は、長期鍵生成部301と、証明書発行要求部302と、一時鍵受信部303と、一時鍵生成部304と、一時鍵送信部305と、セッション鍵生成部306とを有する。これら各部は、例えば、第2の通信機器30にインストールされた1以上のプログラムが、プロセッサ38に実行させる処理により実現される。また、本実施形態に係る第2の通信機器30は、記憶部307を有する。記憶部307は、例えば、補助記憶装置37により実現される。
<<Second communication device 30>>
FIG. 7 shows a functional configuration example of the second communication device 30 according to this embodiment. As shown in FIG. 7, the second communication device 30 according to the present embodiment includes a long-term key generation unit 301, a certificate issuance request unit 302, a temporary key reception unit 303, a temporary key generation unit 304, and a temporary key generation unit 304. It has a key transmission unit 305 and a session key generation unit 306 . These units are implemented by, for example, processing that one or more programs installed in the second communication device 30 cause the processor 38 to execute. Also, the second communication device 30 according to this embodiment has a storage unit 307 . The storage unit 307 is realized by the auxiliary storage device 37, for example.

長期鍵生成部301は、長期秘密鍵と長期公開鍵を生成する。以下、第2の通信機器30の長期秘密鍵をssk、長期公開鍵をspkとする。 A long-term key generation unit 301 generates a long-term private key and a long-term public key. Hereinafter, the long-term secret key of the second communication device 30 is ssk S and the long-term public key is spk S .

証明書発行要求部302は、自身の識別子IDと長期公開鍵spkに対する証明書certの発行を外部の認証局に要求する。 The certificate issuance requesting unit 302 requests an external certificate authority to issue a certificate cert S for its own identifier ID S and long-term public key spk S.

一時鍵受信部303は、第1の通信機器20から一時公開鍵Xと識別子IDを受信する。 The temporary key receiving unit 303 receives the temporary public key X C and the identifier ID C from the first communication device 20 .

一時鍵生成部304は、自身の長期秘密鍵sskを用いて、一時秘密鍵eskと一時公開鍵Xを生成する。 The temporary key generation unit 304 uses its own long-term secret key ssk S to generate a temporary secret key esk S and a temporary public key XS .

一時鍵送信部305は、一時公開鍵Xと自身の長期公開鍵spkと自身の識別子IDと証明書cert等を第1の通信機器20に送信する。 Temporary key transmission unit 305 transmits temporary public key X S , its own long-term public key spk S , its own identifier ID S , certificate cert S, and the like to first communication device 20 .

セッション鍵生成部306は、マスター公開鍵や第1の通信機器20から受信した一時公開鍵X等を用いて鍵要素を生成した上で、これらの鍵要素からセッション鍵を生成する。 The session key generation unit 306 generates key elements using the master public key, the temporary public key XC received from the first communication device 20, and the like, and then generates a session key from these key elements.

記憶部307は、各種情報(例えば、公開パラメータ、自身の長期秘密鍵ssk等)を記憶する。 The storage unit 307 stores various information (for example, public parameters, own long-term secret key ssk S , etc.).

[実施例1]
以下、本実施形態の実施例1について説明する。本実施例では、各エンティティは、システム共通のパラメータとして以下のハッシュ関数H,H,Hを保持しているものとする。
[Example 1]
Example 1 of the present embodiment will be described below. In this embodiment, each entity holds the following hash functions H 1 , H 2 , H as parameters common to the system.

:識別子を入力として、Gの元を出力するハッシュ関数
:κビットのビット列とGの元を入力として、Zの元を出力するハッシュ関数
H:可変長の長さの文字列を入力として、κビットのビット列を出力するハッシュ関数
<セットアップ処理>
実施例1におけるセットアップ処理について、図8を参照しながら説明する。
H 1 : A hash function that takes an identifier as an input and outputs an element of G 2 H 2 : A hash function that takes a bit string of κ bits and an element of G 2 as an input and outputs an element of Z p H: of variable length A hash function that takes a character string as input and outputs a κ-bit bit string <Setup processing>
A setup process in the first embodiment will be described with reference to FIG.

鍵生成装置10のセットアップ処理部101は、双線形群G=(p,G,G,G,g,g,e)を生成する(ステップS101)。 The setup processing unit 101 of the key generation device 10 generates a bilinear group G=(p, G 1 , G 2 , GT , g 1 , g 2 , e) (step S101).

次に、鍵生成装置10のセットアップ処理部101は、マスター秘密鍵w∈Zを一様ランダムに生成する(ステップS102)。 Next, the setup processing unit 101 of the key generation device 10 uniformly and randomly generates a master secret key wεZp (step S102).

次に、鍵生成装置10のセットアップ処理部101は、マスター公開鍵W=g を生成する(ステップS103)。 Next, the setup processing unit 101 of the key generation device 10 generates a master public key W=g 1 w (step S103).

そして、鍵生成装置10のセットアップ処理部101は、双線形群Gとマスター秘密鍵wとマスター公開鍵Wとを記憶部103に保存する(ステップS104)。ここで、公開パラメータは(G,W)であり、この公開パラメータ(G,W)は第1の通信機器20及び第2の通信機器30に公開される。以下では、第1の通信機器20及び第2の通信機器30は公開パラメータ(G,W)を保持しているものとする。 Then, the setup processing unit 101 of the key generation device 10 stores the bilinear group G, the master secret key w, and the master public key W in the storage unit 103 (step S104). Here, the public parameter is (G, W), and this public parameter (G, W) is made public to the first communication device 20 and the second communication device 30 . In the following, it is assumed that the first communication device 20 and the second communication device 30 hold public parameters (G, W).

<第1の通信機器20の長期秘密鍵生成処理>
実施例1における第1の通信機器20の長期秘密鍵生成処理について、図9を参照しながら説明する。
<Long-Term Private Key Generation Processing of First Communication Device 20>
A long-term secret key generation process of the first communication device 20 according to the first embodiment will be described with reference to FIG.

第1の通信機器20の長期秘密鍵要求部201は、自身の識別子IDに対する長期秘密鍵の生成を鍵生成装置10に要求する(ステップS201)。なお、この要求には、少なくとも識別子IDが指定される。 The long-term secret key requesting unit 201 of the first communication device 20 requests the key generation device 10 to generate a long-term secret key for its own identifier ID C (step S201). Note that at least the identifier ID C is specified in this request.

鍵生成装置10の長期秘密鍵生成部102は、長期秘密鍵の生成要求を受信すると、長期秘密鍵ssk=H(ID∈Gを生成する(ステップS202)。 Upon receiving the long-term secret key generation request, the long-term secret key generation unit 102 of the key generation device 10 generates a long-term secret key ssk C =H 1 (ID C ) w εG 2 (step S202).

次に、鍵生成装置10の長期秘密鍵生成部102は、長期秘密鍵sskを第1の通信機器20に送信する(ステップS203)。 Next, the long-term secret key generation unit 102 of the key generation device 10 transmits the long-term secret key ssk C to the first communication device 20 (step S203).

そして、第1の通信機器20の長期秘密鍵受信部202は、長期秘密鍵sskを受信し、この長期秘密鍵sskを記憶部207に保存する(ステップS204)。なお、長期秘密鍵sskはセキュアな通信路を介して鍵生成装置10から第1の通信機器20に送信されるものとする。 Then, the long-term secret key receiving unit 202 of the first communication device 20 receives the long-term secret key ssk C and stores the long-term secret key ssk C in the storage unit 207 (step S204). It is assumed that the long-term secret key ssk C is transmitted from the key generation device 10 to the first communication device 20 via a secure communication path.

<第2の通信機器30の長期鍵生成処理>
実施例1における第2の通信機器30の長期鍵生成処理について、図10を参照しながら説明する。
<Long-Term Key Generation Processing of Second Communication Device 30>
A long-term key generation process of the second communication device 30 according to the first embodiment will be described with reference to FIG.

第2の通信機器30の長期鍵生成部301は、長期秘密鍵ssk∈Zを一様ランダムに生成する(ステップS301)。 The long-term key generator 301 of the second communication device 30 uniformly and randomly generates a long-term secret key ssk S ∈Z p (step S301).

次に、第2の通信機器30の長期鍵生成部301は、長期公開鍵spk=g ssk_Sを生成する(ステップS302)。なお、「ssk_S」はsskを表す。 Next, the long-term key generator 301 of the second communication device 30 generates a long-term public key spk S =g 1 ssk_S (step S302). Note that "ssk_S" represents ssk S.

次に、第2の通信機器30の証明書発行要求部302は、自身の識別子IDと長期公開鍵spkに対する証明書certの発行を外部の認証局に要求する(ステップS303)。これにより、当該認証局から証明書certが返信される。 Next, the certificate issuance requesting unit 302 of the second communication device 30 requests an external certificate authority to issue a certificate cert S for its own identifier ID S and long-term public key spk S (step S303). As a result, the certificate cert S is returned from the certificate authority.

そして、第2の通信機器30の長期鍵生成部301は、長期秘密鍵sskと長期公開鍵spkと証明書certとを記憶部307に保存する(ステップS304)。 Then, the long-term key generation unit 301 of the second communication device 30 stores the long-term secret key ssk S , the long-term public key spk S , and the certificate cert S in the storage unit 307 (step S304).

<認証鍵交換処理>
実施例1における認証鍵交換処理について、図11を参照しながら説明する。なお、以下では、第1の通信機器20から第2の通信機器30に対して開始要求を行うものとする。すなわち、第1の通信機器20がイニシエータ、第2の通信機器30がレスポンダであるものとする。また、第1の通信機器20は、第2の通信機器30の通信先情報(例えば、IPアドレスやMACアドレス等)を既に取得しているものとする。
<Authentication key exchange processing>
Authentication key exchange processing in the first embodiment will be described with reference to FIG. In the following, it is assumed that the first communication device 20 issues a start request to the second communication device 30 . That is, it is assumed that the first communication device 20 is the initiator and the second communication device 30 is the responder. Also, it is assumed that the first communication device 20 has already obtained the communication destination information (for example, IP address, MAC address, etc.) of the second communication device 30 .

第1の通信機器20の一時鍵生成部203は、一時秘密鍵esk∈{0,1}κを一様ランダムに生成した上で、x=H(esk,ssk)を計算して一時公開鍵X=g x_Cを生成する(ステップS401)。一時秘密鍵eskは記憶部207に保存される。なお、「x_C」はxを表す。 The temporary key generation unit 203 of the first communication device 20 uniformly randomly generates a temporary secret key esk C ε{0, 1} κ , and then calculates x C =H 2 (esk C , ssk C ). to generate a temporary public key X C =g 1 x_C (step S401). Temporary secret key esk C is stored in storage unit 207 . Note that "x_C" represents xC .

次に、第1の通信機器20の一時鍵送信部204は、一時公開鍵Xと自身の識別子IDを第2の通信機器30に送信する(ステップS402)。 Next, the temporary key transmission unit 204 of the first communication device 20 transmits the temporary public key X C and its own identifier ID C to the second communication device 30 (step S402).

第2の通信機器30の一時鍵生成部304は、一時公開鍵Xと識別子IDを一時鍵受信部303が受信すると、一時秘密鍵esk∈{0,1}κを一様ランダムに生成した上で、x=H(esk,ssk)を計算して一時公開鍵X=g x_Sを生成する(ステップS403)。一時秘密鍵eskは記憶部307に保存される。なお、「x_S」はxを表す。 When the temporary key receiving unit 303 receives the temporary public key X C and the identifier ID C , the temporary key generating unit 304 of the second communication device 30 uniformly randomly generates the temporary secret key esk S ∈{0,1} κ . After generating, x S =H 2 (esk S , ssk S ) is calculated to generate a temporary public key X S =g 1 x_S (step S403). The temporary secret key esk S is stored in the storage unit 307 . Note that "x_S" represents xS .

次に、第2の通信機器30の一時鍵送信部305は、一時公開鍵Xと自身の長期公開鍵spkと証明書certと自身の識別子IDとを第1の通信機器20に送信する(ステップS404)。 Next, the temporary key transmission unit 305 of the second communication device 30 transmits the temporary public key XS, its own long-term public key spk S , its certificate cert S , and its own identifier ID S to the first communication device 20. Send (step S404).

第1の通信機器20のセッション鍵生成部206は、一時公開鍵Xと長期公開鍵spkと証明書certと識別子IDとを一時鍵受信部205が受信すると、長期公開鍵spk及び識別子IDが証明書certに記載の通りであるかを検証すると共に、証明書certが所定の認証局によって正しくされたことをその認証局の公開鍵を用いて検証する(ステップS405)。なお、いずれかの検証に失敗した場合、第1の通信機器20は、認証鍵交換処理を終了する。一方で、いずれの検証にも成功した場合、第1の通信機器20は、次のステップS406を実行する。 When the temporary key reception unit 205 receives the temporary public key XS , the long-term public key spk S , the certificate cert S , and the identifier ID S , the session key generation unit 206 of the first communication device 20 generates the long-term public key spk S. and verify that the identifier ID S is as described in the certificate cert S , and verify that the certificate cert S is correct by a predetermined certificate authority using the public key of the certificate authority (step S405). ). Note that if any verification fails, the first communication device 20 terminates the authentication key exchange process. On the other hand, if both verifications are successful, the first communication device 20 executes the next step S406.

第1の通信機器20のセッション鍵生成部206は、鍵要素σ=e(X,ssk)、σ=spk x_C、σ=X x_Cを生成した上で、セッション鍵SK=H(σ,σ,σ,ID,ID,X,X,spk,cert)を生成する(ステップS406)。なお、xは、記憶部207に保存されている長期秘密鍵sskと一時秘密鍵eskからx=H(esk,ssk)により計算される。 The session key generation unit 206 of the first communication device 20 generates the key elements σ 1 =e(X S , ssk C ), σ 2 =spk S x_C and σ 3 =X S x_C , and then session key SK =H(σ 1 , σ 2 , σ 3 , ID C , ID S , X C , XS , spk S , cert S ) is generated (step S406). Note that x C is calculated from the long-term secret key ssk C and the temporary secret key esk C stored in the storage unit 207 by x C =H 2 (esk C , ssk C ).

第2の通信機器30のセッション鍵生成部306は、鍵要素σ=e(Wx_S,H(ID))、σ=X ssk_S、σ=X x_Sを生成した上で、セッション鍵SK=H(σ,σ,σ,ID,ID,X,X,spk,cert)を生成する(ステップS407)。なお、xは、記憶部307に保存されている長期秘密鍵sskと一時秘密鍵eskからx=H(esk,ssk)により計算される。また、本ステップは、上記のステップS404の終了後にすぐ実行してもよい。 The session key generation unit 306 of the second communication device 30 generates key elements σ 1 =e(W x_S , H 1 (ID C )), σ 2 =X C ssk — S , σ 3 =X C x_S , and , session key SK=H (σ 1 , σ 2 , σ 3 , ID C , ID S , X C , XS , spk S , cert S ) (step S407). Note that x S is calculated from the long-term secret key ssk S and the temporary secret key esk S stored in the storage unit 307 by x S =H 2 (esk S , ssk S ). Also, this step may be executed immediately after the end of step S404.

<まとめ>
以上のように、本実施例では、第1の通信機器20と第2の通信機器30はセッション鍵SKを共有することができる。これにより、これ以降、第1の通信機器20と第2の通信機器30は当該セッション鍵SKを用いて暗号化通信を行うことができる。
<Summary>
As described above, in this embodiment, the first communication device 20 and the second communication device 30 can share the session key SK. As a result, the first communication device 20 and the second communication device 30 can thereafter perform encrypted communication using the session key SK.

このとき、本実施例では、第1の通信機器20と第2の通信機器30の各々でペアリング演算を1回のみ計算すればよい。このため、例えば、非特許文献1に記載されているプロトコルと比較してペアリング演算の回数が削減されるため、効率的な認証鍵交換を実現することができる。 At this time, in this embodiment, each of the first communication device 20 and the second communication device 30 needs to calculate the pairing calculation only once. Therefore, since the number of pairing operations is reduced compared to the protocol described in Non-Patent Document 1, for example, efficient authentication key exchange can be realized.

また、本実施例では、第1の通信機器20と第2の通信機器30の各々でG上のスカラ倍算を3回のみ計算すればよい。これに対して、例えば、非特許文献1に記載されているプロトコルでは、G上のスカラ倍算を4回(又は5回)、G上のスカラ倍算を2回計算する必要がある。このため、例えば、非特許文献1に記載されているプロトコルと比較してスカラ倍算の回数が削減されるため、効率的な認証鍵交換を実現することができる。 Also, in this embodiment, each of the first communication device 20 and the second communication device 30 needs to calculate scalar multiplication on G1 only three times. In contrast, for example, the protocol described in Non-Patent Document 1 requires four (or five) scalar multiplications on G1 and two scalar multiplications on G2 . . Therefore, since the number of scalar multiplications is reduced compared to the protocol described in Non-Patent Document 1, for example, efficient authentication key exchange can be realized.

なお、本実施例では、鍵要素σにより第1の通信機器20が認証され、鍵要素σにより第2の通信機器30が認証される。また、鍵要素σにより認証鍵交換における必須の安全性(前方秘匿性)が保証される。 In this embodiment, the first communication device 20 is authenticated with the key factor σ1 , and the second communication device 30 is authenticated with the key factor σ2. In addition, the key element σ3 guarantees essential security (forward secrecy) in authenticated key exchange.

[実施例2]
以下、本実施形態の実施例2について説明する。本実施例では、各エンティティは、システム共通のパラメータとして上記のハッシュ関数H,H,Hに加えて、以下のハッシュ関数Hも保持しているものとする。
[Example 2]
Example 2 of the present embodiment will be described below. In this embodiment, each entity holds a hash function H3 below in addition to the above hash functions H1 , H2 , and H as parameters common to the system.

:κビットのビット列とデジタル署名の秘密鍵を入力として、Zの元を出力するハッシュ関数
なお、本実施例では、実施例1との相違点について説明し、実施例1と同様の構成要素についてはその説明を省略するものとする。
H 3 : A hash function that takes as input a bit string of κ bits and a private key of a digital signature and outputs an element of Z p . The description of the constituent elements is omitted.

<セットアップ処理>
実施例1と同様であるため、その説明を省略する。
<Setup processing>
Since it is the same as the first embodiment, its explanation is omitted.

<第1の通信機器20の長期秘密鍵生成処理>
実施例1と同様であるため、その説明を省略する。
<Long-Term Private Key Generation Processing of First Communication Device 20>
Since it is the same as the first embodiment, its explanation is omitted.

<第2の通信機器30の長期鍵生成処理>
実施例2における第2の通信機器30の長期鍵生成処理について、図12を参照しながら説明する。
<Long-Term Key Generation Processing of Second Communication Device 30>
A long-term key generation process of the second communication device 30 according to the second embodiment will be described with reference to FIG.

第2の通信機器30の長期鍵生成部301は、長期公開鍵spkと長期秘密鍵sskの鍵ペア(spk,ssk)←KeyGen(1κ)を生成する(ステップS501)。なお、長期公開鍵spkはデジタル署名の公開鍵、長期秘密鍵sskはデジタル署名の秘密鍵である。 The long-term key generation unit 301 of the second communication device 30 generates a key pair (spk S , ssk S )←KeyGen(1 κ ) of a long-term public key spk S and a long-term secret key ssk S (step S501). The long-term public key spk S is a public key for digital signatures, and the long-term private key ssk S is a private key for digital signatures.

次に、第2の通信機器30の証明書発行要求部302は、自身の識別子IDと長期公開鍵spkに対する証明書certの発行を外部の認証局に要求する(ステップS502)。これにより、当該認証局から証明書certが返信される。 Next, the certificate issuance requesting unit 302 of the second communication device 30 requests an external certificate authority to issue a certificate cert S for its own identifier ID S and long-term public key spk S (step S502). As a result, the certificate cert S is returned from the certificate authority.

そして、第2の通信機器30の長期鍵生成部301は、長期秘密鍵sskと長期公開鍵spkと証明書certとを記憶部307に保存する(ステップS503)。 Then, the long-term key generation unit 301 of the second communication device 30 stores the long-term secret key ssk S , the long-term public key spk S , and the certificate cert S in the storage unit 307 (step S503).

<認証鍵交換処理>
実施例2における認証鍵交換処理について、図13を参照しながら説明する。なお、以下では、第1の通信機器20から第2の通信機器30に対して開始要求を行うものとする。すなわち、第1の通信機器20がイニシエータ、第2の通信機器30がレスポンダであるものとする。また、第1の通信機器20は、第2の通信機器30の通信先情報(例えば、IPアドレスやMACアドレス等)を既に取得しているものとする。
<Authentication key exchange processing>
Authentication key exchange processing in the second embodiment will be described with reference to FIG. In the following, it is assumed that the first communication device 20 issues a start request to the second communication device 30 . That is, it is assumed that the first communication device 20 is the initiator and the second communication device 30 is the responder. Also, it is assumed that the first communication device 20 has already obtained the communication destination information (for example, IP address, MAC address, etc.) of the second communication device 30 .

第1の通信機器20の一時鍵生成部203は、一時秘密鍵esk∈{0,1}κを一様ランダムに生成した上で、x=H(esk,ssk)を計算して一時公開鍵X=g x_Cを生成する(ステップS601)。一時秘密鍵eskは記憶部207に保存される。 The temporary key generation unit 203 of the first communication device 20 uniformly randomly generates a temporary secret key esk C ε{0, 1} κ , and then calculates x C =H 2 (esk C , ssk C ). to generate a temporary public key X C =g 1 x_C (step S601). Temporary secret key esk C is stored in storage unit 207 .

次に、第1の通信機器20の一時鍵送信部204は、一時公開鍵Xと自身の識別子IDを第2の通信機器30に送信する(ステップS602)。 Next, the temporary key transmission unit 204 of the first communication device 20 transmits the temporary public key X C and its own identifier ID C to the second communication device 30 (step S602).

第2の通信機器30の一時鍵生成部304は、一時公開鍵Xと識別子IDを一時鍵受信部303が受信すると、一時秘密鍵esk∈{0,1}κを一様ランダムに生成した上で、x=H(esk,ssk)を計算して一時公開鍵X=g x_Sを生成する(ステップS603)。一時秘密鍵eskは記憶部307に保存される。 When the temporary key receiving unit 303 receives the temporary public key X C and the identifier ID C , the temporary key generating unit 304 of the second communication device 30 uniformly randomly generates the temporary secret key esk S ∈{0,1} κ . After generating, x S =H 3 (esk S , ssk S ) is calculated to generate a temporary public key X S =g 1 x_S (step S603). The temporary secret key esk S is stored in the storage unit 307 .

次に、第2の通信機器30の一時鍵生成部304は、一時公開鍵Xと識別子IDと識別子IDとが含まれるメッセージmに対する署名sign←Sign(ssk,m)を生成する(ステップS604)。 Next, the temporary key generation unit 304 of the second communication device 30 generates a signature sign S ←Sign(ssk S , m) for the message m including the temporary public key XS , the identifier ID C , and the identifier ID S. (step S604).

次に、第2の通信機器30の一時鍵送信部305は、一時公開鍵Xと署名signと自身の長期公開鍵spkと証明書certと自身の識別子IDとを第1の通信機器20に送信する(ステップS605)。 Next, temporary key transmission section 305 of second communication device 30 transmits temporary public key XS , signature sign S , own long-term public key spk S , certificate cert S , and own identifier ID S to the first It is transmitted to the communication device 20 (step S605).

第1の通信機器20のセッション鍵生成部206は、一時公開鍵Xと署名signと自身の長期公開鍵spkと証明書certと自身の識別子IDとを一時鍵受信部205が受信すると、長期公開鍵spk及び識別子IDが証明書certに記載の通りであるかを検証すると共に、証明書certが所定の認証局によって正しくされたことをその認証局の公開鍵を用いて検証し、更に1=Ver(spk,m,sign)が成り立つかを検証する(ステップS606)。なお、いずれかの検証に失敗した場合、第1の通信機器20は、認証鍵交換処理を終了する。一方で、いずれの検証にも成功した場合、第1の通信機器20は、次のステップS607を実行する。 The session key generating unit 206 of the first communication device 20 receives the temporary public key XS, the signature sign S , its own long-term public key spk S , the certificate cert S , and its own identifier ID S from the temporary key receiving unit 205. Upon receipt, verifying that the long-term public key spk S and the identifier ID S are as described in the certificate cert S , and verifying that the certificate cert S has been validated by a given certificate authority's public key and further verifies whether 1=Ver(spk S , m, sign S ) holds (step S606). Note that if any verification fails, the first communication device 20 terminates the authentication key exchange process. On the other hand, if both verifications are successful, the first communication device 20 executes the next step S607.

第1の通信機器20のセッション鍵生成部206は、鍵要素σ=e(X,ssk)、σ=X x_Cを生成した上で、セッション鍵SK=H(σ,σ,ID,ID,X,X,sign,spk,cert)を生成する(ステップS607)。なお、xは、記憶部207に保存されている長期秘密鍵sskと一時秘密鍵eskからx=H(esk,ssk)により計算される。 The session key generation unit 206 of the first communication device 20 generates key elements σ 1 =e(X S , ssk C ) and σ 2 =X S x_C , and session key SK=H(σ 1 , σ 2 , ID C , ID S , X C , XS , sign S , spk S , cert S ) are generated (step S607). Note that x C is calculated from the long-term secret key ssk C and the temporary secret key esk C stored in the storage unit 207 by x C =H 2 (esk C , ssk C ).

第2の通信機器30のセッション鍵生成部306は、鍵要素σ=e(Wx_S,H(ID))、σ=X x_Sを生成した上で、セッション鍵SK=H(σ,σ,ID,ID,X,X,sign,spk,cert)を生成する(ステップS608)。なお、xは、記憶部307に保存されている長期秘密鍵sskと一時秘密鍵eskからx=H(esk,ssk)により計算される。また、本ステップは、上記のステップS605の終了後にすぐ実行してもよい。 The session key generation unit 306 of the second communication device 30 generates key elements σ 1 =e(W x_S , H 1 (ID C )) and σ 2 =X C x_S , and session key SK=H( σ 1 , σ 2 , ID C , ID S , X C , X S , sign S , spk S , cert S ) are generated (step S608). Note that x S is calculated from the long-term secret key ssk S and the temporary secret key esk S stored in the storage unit 307 by x S =H 3 (esk S , ssk S ). Also, this step may be executed immediately after the end of step S605.

<まとめ>
以上のように、本実施例では、第1の通信機器20と第2の通信機器30はセッション鍵SKを共有することができる。これにより、これ以降、第1の通信機器20と第2の通信機器30は当該セッション鍵SKを用いて暗号化通信を行うことができる。
<Summary>
As described above, in this embodiment, the first communication device 20 and the second communication device 30 can share the session key SK. As a result, the first communication device 20 and the second communication device 30 can thereafter perform encrypted communication using the session key SK.

このとき、本実施例では、実施例1と同様に、第1の通信機器20と第2の通信機器30の各々でペアリング演算を1回のみ計算すればよい。このため、例えば、非特許文献1に記載されているプロトコルと比較してペアリング演算の回数が削減されるため、効率的な認証鍵交換を実現することができる。 At this time, in this embodiment, as in the first embodiment, each of the first communication device 20 and the second communication device 30 needs to calculate the pairing calculation only once. Therefore, since the number of pairing operations is reduced compared to the protocol described in Non-Patent Document 1, for example, efficient authentication key exchange can be realized.

また、本実施例では、デジタル署名により第2の通信機器30を認証することで、第2の通信機器30を認証するための鍵要素が不要となり、第1の通信機器20と第2の通信機器30の各々でG上のスカラ倍算を2回のみ計算すればよくなる。このため、実施例1と比較して、更に効率的な認証鍵交換を実現することができる。 Further, in this embodiment, by authenticating the second communication device 30 with a digital signature, a key element for authenticating the second communication device 30 becomes unnecessary, and the first communication device 20 and the second communication Only two scalar multiplications on G 1 need to be computed in each of the devices 30 . Therefore, as compared with the first embodiment, more efficient authentication key exchange can be realized.

なお、本実施例では、鍵要素σにより第1の通信機器20が認証され、デジタル署名により第2の通信機器30が認証される。また、鍵要素σにより認証鍵交換における必須の安全性(前方秘匿性)が保証される。 In this embodiment, the first communication device 20 is authenticated by the key element σ1 , and the second communication device 30 is authenticated by the digital signature. In addition, the key element σ2 guarantees essential security (forward secrecy) in authenticated key exchange.

本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。 The present invention is not limited to the specifically disclosed embodiments described above, and various variations, modifications, combinations with known techniques, etc. are possible without departing from the scope of the claims. be.

[参考文献]
参考文献1:Vercauteren, F.: Optimal pairings. IEEE Trans. Inf. Theory 56, 455-461 (2010)
[References]
Reference 1: Vercauteren, F.: Optimal pairings. IEEE Trans. Inf. Theory 56, 455-461 (2010)

1 認証鍵交換システム
10 鍵生成装置
11 入力装置
12 表示装置
13 外部I/F
13a 記録媒体
14 通信I/F
15 RAM
16 ROM
17 補助記憶装置
18 プロセッサ
19 バス
20 第1の通信機器
21 外部I/F
21a 記録媒体
22 通信I/F
23 メモリ装置
24 プロセッサ
25 バス
30 第2の通信機器
31 入力装置
32 表示装置
33 外部I/F
33a 記録媒体
34 通信I/F
35 RAM
36 ROM
37 補助記憶装置
38 プロセッサ
39 バス
101 セットアップ処理部
102 長期秘密鍵生成部
103 記憶部
201 長期秘密鍵要求部
202 長期秘密鍵受信部
203 一時鍵生成部
204 一時鍵送信部
205 一時鍵受信部
206 セッション鍵生成部
207 記憶部
301 長期鍵生成部
302 証明書発行要求部
303 一時鍵受信部
304 一時鍵生成部
305 一時鍵送信部
306 セッション鍵生成部
307 記憶部
1 Authentication Key Exchange System 10 Key Generation Device 11 Input Device 12 Display Device 13 External I/F
13a recording medium 14 communication I/F
15 RAM
16 ROMs
17 auxiliary storage device 18 processor 19 bus 20 first communication device 21 external I/F
21a recording medium 22 communication I/F
23 memory device 24 processor 25 bus 30 second communication device 31 input device 32 display device 33 external I/F
33a recording medium 34 communication I/F
35 RAMs
36 ROMs
37 Auxiliary storage device 38 Processor 39 Bus 101 Setup processing unit 102 Long-term secret key generation unit 103 Storage unit 201 Long-term secret key request unit 202 Long-term secret key reception unit 203 Temporary key generation unit 204 Temporary key transmission unit 205 Temporary key reception unit 206 Session Key generation unit 207 Storage unit 301 Long-term key generation unit 302 Certificate issuance request unit 303 Temporary key reception unit 304 Temporary key generation unit 305 Temporary key transmission unit 306 Session key generation unit 307 Storage unit

Claims (7)

IDベース暗号のKGCとして機能するサーバと、前記IDベース暗号に基づく認証を行う第1の機器と、電子署名に基づく認証を行う第2の機器とが含まれ、前記第1の機器と前記第2の機器との間で認証鍵交換を行う認証鍵交換システムであって、
前記サーバは、
前記IDベース暗号で用いられる双線形群と、前記IDベース暗号のマスター秘密鍵と、前記マスター秘密鍵に対応するマスター公開鍵とを生成するように構成されているセットアップ部と、
前記第1の機器の識別子を示す第1の識別子に対する第1の長期秘密鍵を生成するように構成されている長期秘密鍵生成部と、を有し、
前記第1の機器は、
第1の一時秘密鍵を生成すると共に、前記第1の一時秘密鍵及び前記第1の長期秘密鍵から第1の一時公開鍵を生成するように構成されている第1の一時鍵生成部と、
前記第1の一時公開鍵と前記第1の識別子とを前記第2の機器に送信するように構成されている第1の一時鍵送信部と、
少なくとも第2の一時公開鍵と前記第2の機器の長期公開鍵と前記第2の機器の識別子を示す第2の識別子とを前記第2の機器から受信すると、前記第1の一時公開鍵と前記第2の一時公開鍵と前記第2の機器の長期公開鍵と前記第1の一時秘密鍵と前記第1の長期秘密鍵と前記第1の識別子と前記第2の識別子からセッション鍵を生成するように構成されている第1のセッション鍵生成部と、を有し、
前記第2の機器は、
第2の長期秘密鍵と、前記第2の長期秘密鍵に対応する前記長期公開鍵とを生成するように構成されている長期鍵生成部と、
第2の一時秘密鍵を生成すると共に、前記第2の一時秘密鍵及び前記第2の長期秘密鍵から前記第2の一時公開鍵を生成するように構成されている第2の一時鍵生成部と、
少なくとも前記第2の一時公開鍵と前記長期公開鍵と前記第2の識別子とを前記第1の機器に送信するように構成されている第2の一時鍵送信部と、
前記第1の一時公開鍵と前記第2の一時公開鍵と前記第2の一時秘密鍵と前記マスター公開鍵と前記第1の識別子と前記第2の識別子から前記セッション鍵を生成するように構成されている第2のセッション鍵生成部と、有する、
認証鍵交換システム。
A server that functions as a KGC for ID-based encryption, a first device that performs authentication based on the ID-based encryption, and a second device that performs authentication based on an electronic signature, wherein the first device and the second device are included. An authentication key exchange system for exchanging authentication keys with the device of 2,
The server is
a setup unit configured to generate a bilinear group used in the identity-based cipher, a master private key for the identity-based cipher, and a master public key corresponding to the master private key;
a long-term private key generator configured to generate a first long-term private key for a first identifier indicative of the identifier of the first device;
The first device is
a first temporary key generator configured to generate a first temporary private key and to generate a first temporary public key from said first temporary private key and said first long-term private key; ,
a first temporary key transmitter configured to transmit the first temporary public key and the first identifier to the second device;
receiving from the second device at least a second temporary public key, a long-term public key of the second device, and a second identifier indicative of an identifier of the second device, the first temporary public key and A session key is generated from the second temporary public key, the long-term public key of the second device, the first temporary secret key, the first long-term secret key, the first identifier, and the second identifier. a first session key generator configured to
The second device is
a long-term key generator configured to generate a second long-term private key and the long-term public key corresponding to the second long-term private key;
A second temporary key generator configured to generate a second temporary private key and to generate the second temporary public key from the second temporary private key and the second long-term private key. and,
a second temporary key transmitter configured to transmit at least the second temporary public key, the long-term public key and the second identifier to the first device;
configured to generate the session key from the first temporary public key, the second temporary public key, the second temporary secret key, the master public key, the first identifier, and the second identifier a second session key generator, comprising:
An authenticated key exchange system.
前記第1の一時鍵生成部は、
前記双線形群におけるペアリング演算の第一引数側の定義域である巡回群の生成元を底、前記第1の一時秘密鍵と前記第1の長期秘密鍵とを入力とするハッシュ関数Hの出力値である第1の値をべき指数とするべき乗を前記第1の一時公開鍵として生成するように構成されており、
前記第1のセッション鍵生成部は、
前記長期公開鍵に対する証明書を更に受信すると共に、前記証明書が所定の認証局で発行されたものであるか否かを検証し、
前記検証に成功した場合、前記第2の一時公開鍵を第一引数、前記第1の長期秘密鍵を第二引数とするペアリング演算の演算結果を第1の鍵要素として計算し、
前記長期公開鍵を底、前記第1の値をべき指数とするべき乗を第2の鍵要素として計算し、
前記第2の一時公開鍵を底、前記第1の値をべき指数とするべき乗を第3の鍵要素として計算し、
前記第1の鍵要素と前記第2の鍵要素と前記第3の鍵要素と前記第1の一時公開鍵と前記第2の一時公開鍵と前記第1の識別子と前記第2の識別子と前記長期公開鍵と前記証明書とを入力とするハッシュ関数Hの出力値を前記セッション鍵として生成するように構成されており、
前記第2の一時鍵送信部は、
前記証明書を前記第1の機器に更に送信するように構成されており、
前記第2の一時鍵生成部は、
前記双線形群におけるペアリング演算の第一引数側の定義域である巡回群の生成元を底、前記第2の一時秘密鍵と前記第2の長期秘密鍵とを入力とする前記ハッシュ関数Hの出力値である第2の値をべき指数とするべき乗を前記第2の一時公開鍵として生成するように構成されており、
前記第2のセッション鍵生成部は、
前記マスター公開鍵を底、前記第2の値をべき指数とするべき乗を第一引数、前記第1の識別子を入力とするハッシュ関数Hの出力値を第二引数とするペアリング演算の演算結果を前記第1の鍵要素として計算し、
前記第1の一時公開鍵を底、前記第2の長期秘密鍵をべき指数とするべき乗を前記第2の鍵要素として計算し、
前記第1の一時公開鍵を底、前記第2の値をべき指数とするべき乗を前記第3の鍵要素として計算し、
前記第1の鍵要素と前記第2の鍵要素と前記第3の鍵要素と前記第1の一時公開鍵と前記第2の一時公開鍵と前記第1の識別子と前記第2の識別子と前記長期公開鍵と前記証明書とを入力とする前記ハッシュ関数Hの出力値を前記セッション鍵として生成するように構成されている、
請求項1に記載の認証鍵交換システム。
The first temporary key generation unit
A hash function H 2 whose base is the generator of the cyclic group, which is the domain of the first argument side of the pairing operation in the bilinear group, and whose input is the first temporary secret key and the first long-term secret key. is configured to generate, as the first temporary public key, a power exponent that is a first value that is the output value of
The first session key generation unit
further receiving a certificate for the long-term public key and verifying whether the certificate was issued by a predetermined certificate authority;
if the verification is successful, calculating as a first key element the result of a pairing operation in which the second temporary public key is the first argument and the first long-term secret key is the second argument;
calculating a power of the long-term public key as a base and the first value as a power exponent as a second key element;
calculating a power of the second temporary public key as a base and the first value as a power exponent as a third key element;
said first key element, said second key element, said third key element, said first temporary public key, said second temporary public key, said first identifier, said second identifier, and said configured to generate as the session key an output value of a hash function H with the long-term public key and the certificate as inputs;
The second temporary key transmission unit
configured to further transmit the certificate to the first device;
The second temporary key generation unit
The hash function H having the base as the generator of the cyclic group, which is the domain of the first argument side of the pairing operation in the bilinear group, and the input of the second temporary secret key and the second long-term secret key. The second temporary public key is configured to generate a power with a second value, which is an output value of 2, as the power exponent,
The second session key generation unit
A pairing operation with the base being the master public key and the exponent being the second value as the first argument and the output value of the hash function H1 having the first identifier as the input as the second argument calculating the result as the first key element;
calculating a power of the first temporary public key as the base and the second long-term secret key as the exponent as the second key element;
calculating a power with the first temporary public key as the base and the second value as the power exponent as the third key element;
said first key element, said second key element, said third key element, said first temporary public key, said second temporary public key, said first identifier, said second identifier, and said configured to generate as the session key an output value of the hash function H with the long-term public key and the certificate as inputs;
The authentication key exchange system according to claim 1.
前記第1の一時鍵生成部は、
前記双線形群におけるペアリング演算の第一引数側の定義域である巡回群の生成元を底、前記第1の一時秘密鍵と前記第1の長期秘密鍵とを入力とするハッシュ関数Hの出力値である第1の値をべき指数とするべき乗を前記第1の一時公開鍵として生成するように構成されており、
前記第1のセッション鍵生成部は、
前記長期公開鍵に対する証明書と前記第2の機器の署名とを更に受信すると共に、前記証明書が所定の認証局で発行されたものであるか否かの検証を示す第1の検証と前記署名の検証を示す第2の検証とを行い、
前記第1の検証と前記第2の検証に成功した場合、前記第2の一時公開鍵を第一引数、前記第1の長期秘密鍵を第二引数とするペアリング演算の演算結果を第1の鍵要素として計算し、
前記第2の一時公開鍵を底、前記第1の値をべき指数とするべき乗を第2の鍵要素として計算し、
前記第1の鍵要素と前記第2の鍵要素と前記第1の一時公開鍵と前記第2の一時公開鍵と前記第1の識別子と前記第2の識別子と前記長期公開鍵と前記証明書と前記署名とを入力とするハッシュ関数Hの出力値を前記セッション鍵として生成するように構成されており、
前記第2の一時鍵送信部は、
前記証明書と前記署名を前記第1の機器に更に送信するように構成されており、
前記第2の一時鍵生成部は、
前記双線形群におけるペアリング演算の第一引数側の定義域である巡回群の生成元を底、前記第2の一時秘密鍵と前記第2の長期秘密鍵とを入力とするハッシュ関数Hの出力値である第2の値をべき指数とするべき乗を前記第2の一時公開鍵として生成するように構成されており、
前記第2のセッション鍵生成部は、
前記マスター公開鍵を底、前記第2の値をべき指数とするべき乗を第一引数、前記第1の識別子を入力とするハッシュ関数Hの出力値を第二引数とするペアリング演算の演算結果を前記第1の鍵要素として計算し、
前記第1の一時公開鍵を底、前記第2の値をべき指数とするべき乗を前記第2の鍵要素として計算し、
前記第1の鍵要素と前記第2の鍵要素と前記第1の一時公開鍵と前記第2の一時公開鍵と前記第1の識別子と前記第2の識別子と前記長期公開鍵と前記証明書と前記署名とを入力とする前記ハッシュ関数Hの出力値を前記セッション鍵として生成するように構成されている、
請求項1に記載の認証鍵交換システム。
The first temporary key generation unit
A hash function H 2 whose base is the generator of the cyclic group, which is the domain of the first argument side of the pairing operation in the bilinear group, and whose input is the first temporary secret key and the first long-term secret key. is configured to generate, as the first temporary public key, a power exponent that is a first value that is the output value of
The first session key generation unit
further receiving a certificate for the long-term public key and the signature of the second device, and performing a first verification indicating whether or not the certificate is issued by a predetermined certificate authority; perform a second verification indicating verification of the signature;
If the first verification and the second verification are successful, the calculation result of the pairing calculation with the second temporary public key as the first argument and the first long-term secret key as the second argument is the first calculated as the key elements of
calculating a power of the second temporary public key as a base and the first value as a power exponent as a second key element;
said first key element, said second key element, said first temporary public key, said second temporary public key, said first identifier, said second identifier, said long-term public key, and said certificate and the signature are configured to generate an output value of a hash function H as the session key,
The second temporary key transmission unit
configured to further transmit the certificate and the signature to the first device;
The second temporary key generation unit
Hash function H 3 whose base is the generator of the cyclic group, which is the domain of the first argument side of the pairing operation in the bilinear group, and whose input is the second temporary secret key and the second long-term secret key is configured to generate, as the second temporary public key, a power exponent that is a second value that is the output value of
The second session key generation unit
A pairing operation with the base being the master public key and the exponent being the second value as the first argument, and the output value of the hash function H1 having the first identifier as the input as the second argument. calculating the result as the first key element;
calculating a power with the first temporary public key as the base and the second value as the power exponent as the second key element;
said first key element, said second key element, said first temporary public key, said second temporary public key, said first identifier, said second identifier, said long-term public key, and said certificate and the signature are configured to generate the output value of the hash function H as the session key,
The authentication key exchange system according to claim 1.
IDベース暗号のKGCとして機能するサーバと電子署名に基づく認証を行う他の機器と通信可能に接続され、前記IDベース暗号に基づく認証を行う機器であって、
第1の一時秘密鍵を生成すると共に、前記第1の一時秘密鍵及び前記サーバで生成された第1の長期秘密鍵から第1の一時公開鍵を生成するように構成されている一時鍵生成部と、
前記第1の一時公開鍵と前記機器の識別子を示す第1の識別子とを前記他の機器に送信するように構成されている一時鍵送信部と、
少なくとも第2の一時公開鍵と前記他の機器の長期公開鍵と前記他の機器の識別子を示す第2の識別子とを前記他の機器から受信すると、前記第1の一時公開鍵と前記第2の一時公開鍵と前記他の機器の長期公開鍵と前記第1の一時秘密鍵と前記第1の長期秘密鍵と前記第1の識別子と前記第2の識別子から、前記他の機器との間で共有するセッション鍵を生成するように構成されているセッション鍵生成部と、を有する、
機器。
A device that is communicatively connected to a server that functions as a KGC for ID-based encryption and another device that performs authentication based on an electronic signature, and that performs authentication based on the ID-based encryption,
A temporary key generator configured to generate a first temporary private key and to generate a first temporary public key from said first temporary private key and a first long-term private key generated at said server. Department and
a temporary key transmission unit configured to transmit the first temporary public key and a first identifier indicating an identifier of the device to the other device;
receiving from the other device at least a second temporary public key, a long-term public key of the other device, and a second identifier indicating an identifier of the other device, the first temporary public key and the second and the long-term public key of the other device, the first temporary secret key, the first long-term secret key, the first identifier, and the second identifier, from the other device a session key generator configured to generate a session key shared with
device.
IDベース暗号のKGCとして機能するサーバと前記IDベース暗号に基づく認証を行う他の機器と通信可能に接続され、電子署名に基づく認証を行う機器であって、
前記機器の長期秘密鍵と、前記長期秘密鍵に対応する長期公開鍵とを生成するように構成されている長期鍵生成部と、
第1の一時秘密鍵を生成すると共に、前記第1の一時秘密鍵及び前記長期秘密鍵から第1の一時公開鍵を生成するように構成されている一時鍵生成部と、
少なくとも前記第1の一時公開鍵と前記長期公開鍵と前記機器の識別子を示す第1の識別子とを前記他の機器に送信するように構成されている一時鍵送信部と、
第2の一時公開鍵と前記他の機器の識別子を示す第2の識別子とを前記他の機器から受信すると、前記第1の一時公開鍵と前記第2の一時公開鍵と前記第1の一時秘密鍵と前記サーバで生成されたマスター公開鍵と前記第1の識別子と前記第2の識別子から、前記他の機器との間で共有するセッション鍵を生成するように構成されているセッション鍵生成部と、有する、
機器。
A device that performs authentication based on an electronic signature and is communicatively connected to a server that functions as a KGC for ID-based encryption and another device that performs authentication based on the ID-based encryption,
a long-term key generator configured to generate a long-term private key for the device and a long-term public key corresponding to the long-term private key;
a temporary key generator configured to generate a first temporary private key and to generate a first temporary public key from the first temporary private key and the long-term private key;
a temporary key transmission unit configured to transmit at least the first temporary public key, the long-term public key, and a first identifier indicating an identifier of the device to the other device;
when a second temporary public key and a second identifier indicating the identifier of the other device are received from the other device, the first temporary public key, the second temporary public key, and the first temporary A session key generator configured to generate a session key shared with the other device from a secret key, a master public key generated by the server, the first identifier, and the second identifier. part and have
device.
IDベース暗号のKGCとして機能するサーバと、前記IDベース暗号に基づく認証を行う第1の機器と、電子署名に基づく認証を行う第2の機器とが含まれ、前記第1の機器と前記第2の機器との間で認証鍵交換を行う認証鍵交換システムに用いられる方法であって、
前記サーバが、
前記IDベース暗号で用いられる双線形群と、前記IDベース暗号のマスター秘密鍵と、前記マスター秘密鍵に対応するマスター公開鍵とを生成するセットアップ手順と、
前記第1の機器の識別子を示す第1の識別子に対する第1の長期秘密鍵を生成する長期秘密鍵生成手順と、を実行し、
前記第1の機器が、
第1の一時秘密鍵を生成すると共に、前記第1の一時秘密鍵及び前記第1の長期秘密鍵から第1の一時公開鍵を生成する第1の一時鍵生成手順と、
前記第1の一時公開鍵と前記第1の識別子とを前記第2の機器に送信する第1の一時鍵送信手順と、
少なくとも第2の一時公開鍵と前記第2の機器の長期公開鍵と前記第2の機器の識別子を示す第2の識別子とを前記第2の機器から受信すると、前記第1の一時公開鍵と前記第2の一時公開鍵と前記第2の機器の長期公開鍵と前記第1の一時秘密鍵と前記第1の長期秘密鍵と前記第1の識別子と前記第2の識別子からセッション鍵を生成する第1のセッション鍵生成手順と、を実行し、
前記第2の機器が、
第2の長期秘密鍵と、前記第2の長期秘密鍵に対応する前記長期公開鍵とを生成する長期鍵生成手順と、
第2の一時秘密鍵を生成すると共に、前記第2の一時秘密鍵及び前記第2の長期秘密鍵から前記第2の一時公開鍵を生成する第2の一時鍵生成手順と、
少なくとも前記第2の一時公開鍵と前記長期公開鍵と前記第2の識別子とを前記第1の機器に送信する第2の一時鍵送信手順と、
前記第1の一時公開鍵と前記第2の一時公開鍵と前記第2の一時秘密鍵と前記マスター公開鍵と前記第1の識別子と前記第2の識別子から前記セッション鍵を生成する第2のセッション鍵生成と、を実行する、
方法。
A server that functions as a KGC for ID-based encryption, a first device that performs authentication based on the ID-based encryption, and a second device that performs authentication based on an electronic signature, wherein the first device and the second device are included. A method used in an authentication key exchange system that performs authentication key exchange with the device of 2,
the server
a setup procedure for generating a bilinear group used in the identity-based cipher, a master private key for the identity-based cipher, and a master public key corresponding to the master private key;
a long-term private key generation procedure for generating a first long-term private key for a first identifier that indicates the identifier of the first device;
The first device is
a first temporary key generation procedure for generating a first temporary private key and generating a first temporary public key from said first temporary private key and said first long-term private key;
a first temporary key transmission procedure for transmitting the first temporary public key and the first identifier to the second device;
receiving from the second device at least a second temporary public key, a long-term public key of the second device, and a second identifier indicative of an identifier of the second device, the first temporary public key and A session key is generated from the second temporary public key, the long-term public key of the second device, the first temporary secret key, the first long-term secret key, the first identifier, and the second identifier. and a first session key generation procedure to
The second device is
a long-term key generation procedure for generating a second long-term private key and the long-term public key corresponding to the second long-term private key;
a second temporary key generation procedure for generating a second temporary private key and generating the second temporary public key from the second temporary private key and the second long-term private key;
a second temporary key transmission procedure for transmitting at least the second temporary public key, the long-term public key and the second identifier to the first device;
a second temporary public key for generating the session key from the first temporary public key, the second temporary public key, the second temporary secret key, the master public key, the first identifier, and the second identifier; perform session key generation and
Method.
コンピュータを、請求項1乃至3の何れか一項に記載の認証鍵交換システムに含まれるサーバ、第1の機器、又は第2の機器として機能させるプログラム。 A program that causes a computer to function as a server, first device, or second device included in the authentication key exchange system according to any one of claims 1 to 3.
JP2021201659A 2021-12-13 2021-12-13 Authentication key exchange system, device, method, and program Pending JP2023087337A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021201659A JP2023087337A (en) 2021-12-13 2021-12-13 Authentication key exchange system, device, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021201659A JP2023087337A (en) 2021-12-13 2021-12-13 Authentication key exchange system, device, method, and program

Publications (1)

Publication Number Publication Date
JP2023087337A true JP2023087337A (en) 2023-06-23

Family

ID=86851154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021201659A Pending JP2023087337A (en) 2021-12-13 2021-12-13 Authentication key exchange system, device, method, and program

Country Status (1)

Country Link
JP (1) JP2023087337A (en)

Similar Documents

Publication Publication Date Title
CN107948189B (en) Asymmetric password identity authentication method and device, computer equipment and storage medium
US9621545B2 (en) System and method for connecting client devices to a network
US9490979B2 (en) System and method for providing credentials
US10673625B1 (en) Efficient identity-based and certificateless cryptosystems
EP2106090A1 (en) A method, system and network device for mutual authentication
US9705683B2 (en) Verifiable implicit certificates
AU2016287732A1 (en) Mutual authentication of confidential communication
WO2019209168A2 (en) Data processing method, related apparatus, and blockchain system
JP2017517229A (en) Network authentication system using dynamic key generation
WO2008113279A1 (en) A method, system and communication device for generating session cryptographic
JP2010093860A (en) Key validation scheme
TWI807103B (en) Computer implemented system and method for sharing a common secret
CN110336664B (en) SM2 cryptographic algorithm-based cross-domain authentication method for information service entity
CN112104453A (en) Anti-quantum computation digital signature system and signature method based on digital certificate
WO2023174038A9 (en) Data transmission method and related device
Yin et al. An efficient and secured data storage scheme in cloud computing using ECC-based PKI
EP3232603B1 (en) Key-exchange method, key-exchange system, terminal device, and program
Patonico et al. Elliptic curve‐based proxy re‐signcryption scheme for secure data storage on the cloud
Bayat et al. A secure and efficient chaotic maps based authenticated key-exchange protocol for smart grid
Al-Attab et al. Authentication scheme for insecure networks in cloud computing
Wu et al. ID-based remote authentication with smart cards on open distributed system from elliptic curve cryptography
JP2023087337A (en) Authentication key exchange system, device, method, and program
JP7298686B2 (en) Key exchange system, communication device and program
WO2023242971A1 (en) Key exchange system, device, method, and program
JP7377495B2 (en) Cryptographic systems and methods

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240129