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
JP7574791B2 - Authentication key exchange system, method, and program - Google Patents
[go: Go Back, main page]

JP7574791B2 - Authentication key exchange system, method, and program - Google Patents

Authentication key exchange system, method, and program Download PDF

Info

Publication number
JP7574791B2
JP7574791B2 JP2021201659A JP2021201659A JP7574791B2 JP 7574791 B2 JP7574791 B2 JP 7574791B2 JP 2021201659 A JP2021201659 A JP 2021201659A JP 2021201659 A JP2021201659 A JP 2021201659A JP 7574791 B2 JP7574791 B2 JP 7574791B2
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.)
Active
Application number
JP2021201659A
Other languages
Japanese (ja)
Other versions
JP2023087337A (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 JP2021201659A priority Critical patent/JP7574791B2/en
Publication of JP2023087337A publication Critical patent/JP2023087337A/en
Application granted granted Critical
Publication of JP7574791B2 publication Critical patent/JP7574791B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Description

本発明は、認証鍵交換システム、方法、及びプログラムに関する。

The present invention relates to an authentication key exchange system , a method , and a program.

近年、IoT(Internet of Things)機器が普及したことに伴って、IoT機器でも重要性の高い通信が行われるようになってきた。このため、通信時に互いに正しい機器・サーバであるかを確認するための認証技術がIoT機器でも必要になっている。 In recent years, as IoT (Internet of Things) devices have become more widespread, important communications are also being carried out by IoT devices. For this reason, authentication technology is also required for IoT devices to verify that the devices and servers in communication are correct.

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

IDベース暗号を用いた認証鍵交換プロトコルは、一般に、有限体上の楕円曲線における双線形群を用いて実現される。このような双線形群はペアリング群とも呼ばれ、対称ペアリング群と非対称ペアリング群とに分類することができる。現在、ペアリング群を暗号で用いる場合には、効率性や安全性の観点から非対称ペアリング群が用いられることが多い。 Authenticated key exchange protocols using ID-based encryption are generally realized 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 encryption, asymmetric pairing groups are often used from the standpoint 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 encryption, a server called a KGC (Key Generation Center) generates the private key of the terminal, so that the administrator of the IoT device is more likely to operate the KGC in-house rather than using an external KGC service. Therefore, when an IoT device communicates with an external edge server, as in the use case of an edge computing service, the IoT device side may perform authentication based on ID-based encryption, and the edge server side may perform authentication based on a digital certificate. Non-Patent Document 1 describes a cross-domain authentication key exchange protocol in which one device is under an ID-based KGC domain and the other device (server) is under a certain CA (Certificate Authority) domain of a PKI (Public Key Infrastructure).

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 pairing operations are generally computationally expensive, when a device with limited computational resources, such as an IoT device, performs key exchange using the protocol described in Non-Patent Document 1, the key exchange may take time. For example, when a 462-bit pairing operation on a BN (Barret-Naehrig) curve is performed using a processor with an operating clock speed of several hundred MHz, a calculation time of about 600 msec is required per operation.

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

上記目的を達成するため、一実施形態に係る認証鍵交換システムは、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 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, and is an authentication key exchange system that performs authentication key exchange between the first device and the second device, in which the server has a setup unit configured to generate a bilinear group used in the ID-based encryption, a master private key for the ID-based encryption, and a master public key corresponding to the master private key, and a long-term private key generation unit configured to generate a first long-term private key for a first identifier that indicates an identifier of the first device, and the first device has a first temporary key generation unit configured to generate a first temporary private key and a first temporary public key from the first temporary private key and the first long-term private key, a first temporary key transmission unit configured to transmit the first temporary public key and the first identifier to the second device, and a first temporary public key transmission unit configured to transmit at least a second temporary public key and the long-term public key of the second device and a previous and a first session key generation unit configured to generate a session key from the first temporary public key, the second temporary public key, the long-term public key of the second device, the first temporary private key, the first long-term private key, the first identifier, and the second identifier when receiving from the second device a second identifier indicating the identifier of the second device, the second device having a long-term key generation unit configured to generate a second long-term private key and the long-term public key corresponding to the second long-term private key, and a second temporary key generation unit configured to generate the second temporary public key from the second temporary private key and the second long-term private key; a second temporary key transmission unit configured to transmit at least the second temporary public key, the long-term public key, and the second identifier to the first device; and a second session key generation unit configured to generate the session key from the first temporary public key, the second temporary public key, 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 electronic certificates.

本実施形態に係る認証鍵交換システムの全体構成例を示す図である。1 is a diagram illustrating an example of the overall configuration of an authentication key exchange system according to an embodiment of the present invention. 本実施形態に係る鍵生成装置のハードウェア構成例を示す図である。FIG. 2 is a diagram illustrating an example of a hardware configuration of a key generating device according to the present embodiment. 本実施形態に係る第1の通信機器のハードウェア構成例を示す図である。FIG. 2 is a diagram illustrating an example of a hardware configuration of a first communication device according to the present embodiment. 本実施形態に係る第2の通信機器のハードウェア構成例を示す図である。FIG. 2 is a diagram illustrating an example of a hardware configuration of a second communication device according to the embodiment. 本実施形態に係る鍵生成装置の機能構成例を示す図である。FIG. 2 is a diagram illustrating an example of a functional configuration of a key generating device according to the present embodiment. 本実施形態に係る第1の通信機器の機能構成例を示す図である。2 is a diagram illustrating an example of a functional configuration of a first communication device according to the embodiment; 本実施形態に係る第2の通信機器の機能構成例を示す図である。FIG. 2 is a diagram illustrating an example of a functional configuration of a second communication device according to the embodiment. 実施例1におけるセットアップ処理を説明するための図である。FIG. 4 is a diagram for explaining a setup process in the first embodiment. 実施例1における第1の通信機器の長期秘密鍵生成処理を説明するための図である。FIG. 4 is a diagram for explaining a long-term private key generation process of the first communication device in the first embodiment. 実施例1における第2の通信機器の長期鍵生成処理を説明するための図である。FIG. 11 is a diagram for explaining a long-term key generation process of the second communication device in the first embodiment. 実施例1における認証鍵交換処理を説明するための図である。FIG. 10 is a diagram for explaining an authentication key exchange process in the first embodiment. 実施例2における第2の通信機器の長期鍵生成処理を説明するための図である。FIG. 11 is a diagram for explaining a long-term key generation process of a second communication device in the second embodiment. 実施例2における認証鍵交換処理を説明するための図である。FIG. 11 is a diagram for explaining an authentication key exchange process in the second embodiment.

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

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

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

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

・双線形群
双線形群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, G1 , G2 , GT , g1 , g2 , e) is composed of a prime number p, cyclic groups G1 , G2 , and GT of order p, a generator g1 of G1 , a generator g2 of G2 , and a bilinear mapping e: G1 × G2GT that satisfies the following bilinearity and nondegeneracy.

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

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

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

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

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

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

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

更に、任意の(pk,sk)←KeyGen(1κ)に対して、1=Ver(pk,m,Sign(sk,m))を満たすものとする。デジタル署名の例としては、ECDSAやRSA-PSS等が挙げられる。 Furthermore, for any (pk, sk)←KeyGen(1 κ ), 1=Ver(pk, m, Sign(sk, m)) is satisfied. 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>
An example of the overall configuration of an authentication key exchange system 1 according to this embodiment is shown in Fig. 1. As shown in Fig. 1, the 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. The key generation device 10, the first communication device 20, and the second communication device 30 are communicatively connected via a communication network 40 including, for example, the Internet. Each of the key generation device 10, the first communication device 20, and the second communication device 30 is also referred to as an "entity" or the like.

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

第1の通信機器20は、IDベース暗号を用いた認証を行う機器(例えば、IoT機器等)であり、第2の通信機器30との間で暗号化通信のための認証鍵交換を行う。以下、第1の通信機器20を一意に識別する識別子をIDとする。なお、識別子IDとしては、例えば、製造固有番号、ユーザID、メールアドレス、電話番号、IPアドレス、MACアドレス等といったものを用いることができる。 The first communication device 20 is a device (e.g., an IoT device, etc.) that performs authentication using ID-based encryption, and exchanges an authentication key for encrypted communication with the second communication device 30. Hereinafter, an identifier that uniquely identifies the first communication device 20 is referred to as ID C. Note that, as the identifier ID C , for example, a manufacturing specific number, a user ID, an email 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 (e.g., a server, etc.) that performs authentication using an electronic certificate (hereinafter also simply referred to as a "certificate"), and performs authentication key exchange for encrypted communication with the first communication device 20. In other words, the second communication device 30 is a device that performs authentication on a PKI basis. Hereinafter, an identifier that uniquely identifies the second communication device 30 is referred to as ID S. Note that, for example, a manufacturing specific number, a user ID, an email address, a telephone number, an IP address, a MAC address, etc. can be used as the identifier ID S.

ここで、第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 requests an external certification authority to issue a certificate for the long-term public key (more precisely, a certificate for the identifier ID S and the long-term public key), but 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 certification authority. In other words, it is assumed that the first communication device 20 holds the public key of the certification authority and a certificate for that public key (a root certificate if the certification authority is a root certification authority, or a certificate issued by a higher-level certification authority if not).

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

<ハードウェア構成>
本実施形態に係る認証鍵交換システム1に含まれる鍵生成装置10、第1の通信機器20、及び第2の通信機器30のハードウェア構成例について説明する。
<Hardware Configuration>
An example of the hardware configuration of the key generating 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>
An example of a hardware configuration of the key generation device 10 according to this embodiment is shown in Fig. 2. 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 connected to each other via a bus 19 so as to be able to communicate with each other.

入力装置11は、例えば、キーボード、マウス、タッチパネル、各種物理ボタン等である。表示装置12は、例えば、ディスプレイ、表示パネル等である。なお、鍵生成装置10は、例えば、入力装置11及び表示装置12のうちの少なくとも一方を有していなくてもよい。 The input device 11 is, for example, a keyboard, a mouse, a touch panel, various physical buttons, etc. The display device 12 is, for example, a display, a display panel, etc. 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 external devices such as a 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), and a USB (Universal Serial Bus) memory card.

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

≪第1の通信機器20≫
本実施形態に係る第1の通信機器20のハードウェア構成例を図3に示す。図3に示すように、本実施形態に係る第1の通信機器20は、外部I/F21と、通信I/F22と、メモリ装置23と、プロセッサ24とを有する。これらの各ハードウェアは、それぞれがバス25を介して通信可能に接続される。
<First communication device 20>
An example of the hardware configuration of the first communication device 20 according to this embodiment is shown in Fig. 3. 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 connected via a bus 25 so as to be able to communicate with each other.

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

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

≪第2の通信機器30≫
本実施形態に係る第2の通信機器30のハードウェア構成例を図4に示す。図4に示すように、本実施形態に係る第2の通信機器30は、入力装置31と、表示装置32と、外部I/F33と、通信I/F34と、RAM35と、ROM36と、補助記憶装置37と、プロセッサ38とを有する。これらの各ハードウェアは、それぞれがバス39を介して通信可能に接続される。
<<Second communication device 30>>
An example of the hardware configuration of the second communication device 30 according to this embodiment is shown in Fig. 4. As shown in Fig. 4, the second communication device 30 according to this embodiment has 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 device 37, and a processor 38. Each of these pieces of hardware are connected to each other via a bus 39 so as to be able to communicate with each other.

入力装置31は、例えば、キーボード、マウス、タッチパネル、各種物理ボタン等である。表示装置32は、例えば、ディスプレイ、表示パネル等である。なお、第2の通信機器30は、例えば、入力装置31及び表示装置32のうちの少なくとも一方を有していなくてもよい。 The input device 31 is, for example, a keyboard, a mouse, a touch panel, various physical buttons, etc. The display device 32 is, for example, a display, a display panel, etc. 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 external devices such as a recording medium 33a. Examples of the recording medium 33a include a CD, a DVD, an SD memory card, and a USB memory card.

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

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

<機能構成>
本実施形態に係る認証鍵交換システム1に含まれる鍵生成装置10、第1の通信機器20、及び第2の通信機器30の機能構成例について説明する。
<Functional configuration>
An example of the functional configuration of the key generating 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>
An example of the functional configuration of the key generation device 10 according to this embodiment is shown in Fig. 5. As shown in Fig. 5, the key generation device 10 according to this embodiment has a setup processing unit 101 and a long-term private key generation unit 102. These units are realized, for example, by a process in which one or more programs installed in the key generation device 10 are executed by the processor 18. The key generation device 10 according to this embodiment also has a storage unit 103. The storage unit 103 is realized, for example, by the auxiliary storage device 17.

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

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

記憶部103は、各種情報(例えば、マスター秘密鍵や公開パラメータ等)を記憶する。 The memory unit 103 stores various information (e.g., master private keys, 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>
An example of the functional configuration of the first communication device 20 according to this embodiment is shown in Fig. 6. As shown in Fig. 6, the first communication device 20 according to this embodiment has a long-term private key request unit 201, a long-term private key receiving unit 202, a temporary key generating unit 203, a temporary key transmitting unit 204, a temporary key receiving unit 205, and a session key generating unit 206. Each of these units is realized, for example, by a process in which one or more programs installed in the first communication device 20 are executed by the processor 24. The first communication device 20 according to this embodiment also has a storage unit 207. The storage unit 207 is realized, for example, by the memory device 23.

長期秘密鍵要求部201は、自身の識別子IDに対する長期秘密鍵の生成を鍵生成装置10に要求する。以下、識別子IDに対する長期秘密鍵をsskとする。 The long-term private key request unit 201 requests the key generating device 10 to generate a long-term private key for its own identifier ID C. Hereinafter, the long-term private key for the identifier ID C will be referred to as ssk C.

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

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

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

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

セッション鍵生成部206は、自身の長期秘密鍵sskや第2の通信機器30から受信した一時公開鍵X等を用いて鍵要素を生成した上で、これらの鍵要素からセッション鍵を生成する。なお、このセッション鍵が、第2の通信機器30との間で共有される共有鍵である。 The session key generating unit 206 generates key elements using its own long-term secret key ssk C , the temporary public key X S received from the second communication device 30, and the like, and then generates a session key from these key elements. 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, its own long-term private 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>>
An example of the functional configuration of the second communication device 30 according to this embodiment is shown in Fig. 7. As shown in Fig. 7, the second communication device 30 according to this embodiment has 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, a temporary key transmission unit 305, and a session key generation unit 306. Each of these units is realized, for example, by a process in which one or more programs installed in the second communication device 30 are executed by the processor 38. The second communication device 30 according to this embodiment also has a storage unit 307. The storage unit 307 is realized, for example, by the auxiliary storage device 37.

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

証明書発行要求部302は、自身の識別子IDと長期公開鍵spkに対する証明書certの発行を外部の認証局に要求する。 The certificate issuance request 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 XC and the identifier ID C from the first communications device 20 .

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

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

セッション鍵生成部306は、マスター公開鍵や第1の通信機器20から受信した一時公開鍵X等を用いて鍵要素を生成した上で、これらの鍵要素からセッション鍵を生成する。 The session key generating 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, its own long-term private key ssk S, etc.).

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

:識別子を入力として、Gの元を出力するハッシュ関数
:κビットのビット列とGの元を入力として、Zの元を出力するハッシュ関数
H:可変長の長さの文字列を入力として、κビットのビット列を出力するハッシュ関数
<セットアップ処理>
実施例1におけるセットアップ処理について、図8を参照しながら説明する。
H1 : A hash function that takes an identifier as input and outputs an element of G2 . H2 : A hash function that takes a κ-bit bit string and an element of G2 as input and outputs an element of Zp . H: A hash function that takes a variable-length character string as input and outputs a κ-bit bit string. <Setup process>
The 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, G1 , G2 , GT , g1 , g2 , e) (step S101).

次に、鍵生成装置10のセットアップ処理部101は、マスター秘密鍵w∈Zを一様ランダムに生成する(ステップS102)。 Next, the setup processing unit 101 of the key generation device 10 generates a master private key wεZ p uniformly at random (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 generating device 10 stores the bilinear group G, the master private key w, and the master public key W in the memory unit 103 (step S104). Here, the public parameters are (G, W), and these public parameters (G, W) are 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 the public parameters (G, W).

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

第1の通信機器20の長期秘密鍵要求部201は、自身の識別子IDに対する長期秘密鍵の生成を鍵生成装置10に要求する(ステップS201)。なお、この要求には、少なくとも識別子IDが指定される。 The long-term private key request unit 201 of the first communication device 20 requests the key generating device 10 to generate a long-term private 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)。 When the long-term private key generation unit 102 of the key generation device 10 receives the request to generate a long-term private key, it generates a long-term private key ssk C =H 1 (ID C ) w ∈G 2 (step S202).

次に、鍵生成装置10の長期秘密鍵生成部102は、長期秘密鍵sskを第1の通信機器20に送信する(ステップS203)。 Next, the long-term private key generation unit 102 of the key generation device 10 transmits the long-term private 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 private key receiving unit 202 of the first communication device 20 receives the long-term private key ssk C and stores this long-term private key ssk C in the storage unit 207 (step S204). Note that the long-term private key ssk C is assumed to be transmitted from the key generating device 10 to the first communication device 20 via a secure communication path.

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

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

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

次に、第2の通信機器30の証明書発行要求部302は、自身の識別子IDと長期公開鍵spkに対する証明書certの発行を外部の認証局に要求する(ステップS303)。これにより、当該認証局から証明書certが返信される。 Next, the certificate issuance request 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 private 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 process>
The authentication key exchange process in the first embodiment will be described with reference to Fig. 11. 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. It is also assumed that the first communication device 20 has already acquired communication destination information (e.g., 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 generating 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). The temporary secret key esk C is stored in the storage unit 207. Note that "x_C" represents x C.

次に、第1の通信機器20の一時鍵送信部204は、一時公開鍵Xと自身の識別子IDを第2の通信機器30に送信する(ステップS402)。 Next, the temporary key transmitting unit 204 of the first communication device 20 transmits the temporary public key XC and its own identifier IDC 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 XC and the identifier ID C , the temporary key generating unit 304 of the second communication device 30 uniformly randomly generates a temporary secret key esk S ∈{0,1} κ , and calculates x S =H 2 (esk S , ssk S ) 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 x S.

次に、第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 X S , its own long-term public key spk S , the certificate cert S and its own identifier ID S to the first communication device 20 (step S404).

第1の通信機器20のセッション鍵生成部206は、一時公開鍵Xと長期公開鍵spkと証明書certと識別子IDとを一時鍵受信部205が受信すると、長期公開鍵spk及び識別子IDが証明書certに記載の通りであるかを検証すると共に、証明書certが所定の認証局によって正しくされたことをその認証局の公開鍵を用いて検証する(ステップS405)。なお、いずれかの検証に失敗した場合、第1の通信機器20は、認証鍵交換処理を終了する。一方で、いずれの検証にも成功した場合、第1の通信機器20は、次のステップS406を実行する。 When the temporary key receiving unit 205 receives the temporary public key X S, the long-term public key spk S , the certificate cert S, and the identifier ID S , the session key generating unit 206 of the first communication device 20 verifies whether the long-term public key spk S and the identifier ID S are as described in the certificate cert S , and verifies that the certificate cert S has been correctly issued by a predetermined certification authority using the public key of the certification authority (step S405). If any of the verifications fails, the first communication device 20 ends the authentication key exchange process. On the other hand, if all of the 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 generating unit 206 of the first communication device 20 generates key elements σ1 =e ( Xs , sskC ), σ2 = spkSx_C , σ3 = Xsx_C , and then generates a session key SK=H( σ1 , σ2 , σ3 , IDc , IDs , Xc , Xs , spkS , certS ) (step S406). Note that xC is calculated from the long-term private key sskC and the temporary private key eskC stored in the storage unit 207 by xC = H2 ( eskC , sskC ).

第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 generating unit 306 of the second communication device 30 generates key elements σ1 =e( Wx_S , H1 ( IDC )), σ2 = XCssk_S , σ3 = XCx_S , and then generates a session key SK =H( σ1 , σ2 , σ3 , IDC , IDs, XC, Xs , spkS , certS ) (step S407). Note that xS is calculated from the long-term private key sskS and the temporary private key eskS stored in the storage unit 307 by xS = H2 ( eskS , sskS ). This step may be executed immediately after the above step S404 is completed.

<まとめ>
以上のように、本実施例では、第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 perform encrypted communication using the session key SK thereafter.

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

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

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

:κビットのビット列とデジタル署名の秘密鍵を入力として、Zの元を出力するハッシュ関数
なお、本実施例では、実施例1との相違点について説明し、実施例1と同様の構成要素についてはその説明を省略するものとする。
H3 : A hash function that takes a κ-bit string and a private key for a digital signature as input, and outputs an element of Zp . Note that in this embodiment, differences from the first embodiment will be described, and descriptions of components similar to those in the first embodiment will be omitted.

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

<第1の通信機器20の長期秘密鍵生成処理>
実施例1と同様であるため、その説明を省略する。
<Long-term private key generation process of the first communication device 20>
Since this is the same as the first embodiment, the description thereof will be omitted.

<第2の通信機器30の長期鍵生成処理>
実施例2における第2の通信機器30の長期鍵生成処理について、図12を参照しながら説明する。
<Long-term key generation process of the second communication device 30>
The long-term key generation process of the second communication device 30 in 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 private key ssk S (step S501). Note that the long-term public key spk S is a public key for digital signature, and the long-term private key ssk S is a private key for digital signature.

次に、第2の通信機器30の証明書発行要求部302は、自身の識別子IDと長期公開鍵spkに対する証明書certの発行を外部の認証局に要求する(ステップS502)。これにより、当該認証局から証明書certが返信される。 Next, the certificate issuance request 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 private 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 process>
The authentication key exchange process in the second embodiment will be described with reference to Fig. 13. 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. It is also assumed that the first communication device 20 has already acquired communication destination information (e.g., 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 generating unit 203 of the first communication device 20 generates a temporary secret key esk C ε{0,1} κ uniformly at random, 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). The temporary secret key esk C is stored in the storage unit 207.

次に、第1の通信機器20の一時鍵送信部204は、一時公開鍵Xと自身の識別子IDを第2の通信機器30に送信する(ステップS602)。 Next, the temporary key transmitting unit 204 of the first communication device 20 transmits the temporary public key XC and its own identifier IDC 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 XC and the identifier ID C , the temporary key generating unit 304 of the second communication device 30 uniformly randomly generates a temporary secret key esk S ∈{0,1} κ , and calculates x S = H 3 (esk S , ssk S ) 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 generating unit 304 of the second communication device 30 generates a signature sign S <- Sign(ssk S , m) for a message m including the temporary public key X S , the identifier ID C , and the identifier ID S (step S604).

次に、第2の通信機器30の一時鍵送信部305は、一時公開鍵Xと署名signと自身の長期公開鍵spkと証明書certと自身の識別子IDとを第1の通信機器20に送信する(ステップS605)。 Next, the temporary key transmission unit 305 of the second communication device 30 transmits the temporary public key X S , the signature sign S , its own long-term public key spk S , the certificate cert S and its own identifier ID S to the first 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を実行する。 When the temporary key receiving unit 205 receives the temporary public key X S , the signature sign S , its own long-term public key spk S , the certificate cert S, and its own identifier ID S , the session key generating unit 206 of the first communication device 20 verifies whether the long-term public key spk S and the identifier ID S are as described in the certificate cert S , and verifies that the certificate cert S has been correctly generated by a predetermined certification authority using the public key of the certification authority, and further verifies whether 1 = Ver (spk S , m, sign S ) holds (step S606). If any of the verifications fails, the first communication device 20 ends the authentication key exchange process. On the other hand, if all of the 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 generating unit 206 of the first communication device 20 generates key elements σ1 = e ( Xs , sskC ) and σ2 = Xsx_C , and then generates a session key SK=H( σ1 , σ2 , IDc , IDs , Xc , Xs , signS , spkS , certS ) (step S607). Note that xC is calculated from the long-term private key sskC and the temporary private key eskC stored in the storage unit 207 by xC = H2 ( eskC , sskC ).

第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 generating unit 306 of the second communication device 30 generates key elements σ1 =e (Wx_S, H1(IDC)) and σ2=XCx_S , and then generates a session key SK=H( σ1 , σ2 , IDC , IDs , XC , Xs , signS, spkS , certS ) (step S608). Note that xS is calculated from the long-term private key sskS and the temporary private key eskS stored in the storage unit 307 by xS = H3 ( eskS , sskS ). This step may be executed immediately after the above step S605 is completed.

<まとめ>
以上のように、本実施例では、第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 perform encrypted communication using the session key SK thereafter.

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

また、本実施例では、デジタル署名により第2の通信機器30を認証することで、第2の通信機器30を認証するための鍵要素が不要となり、第1の通信機器20と第2の通信機器30の各々でG上のスカラ倍算を2回のみ計算すればよくなる。このため、実施例1と比較して、更に効率的な認証鍵交換を実現することができる。 In addition, in this embodiment, by authenticating the second communication device 30 by a digital signature, a key element for authenticating the second communication device 30 is not required, and it is necessary to calculate scalar multiplication on G1 only twice in each of the first communication device 20 and the second communication device 30. Therefore, it is possible to realize a more efficient authentication key exchange compared to the first embodiment.

なお、本実施例では、鍵要素σにより第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 the essential security (forward secrecy) in the authentication key exchange.

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

[参考文献]
参考文献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 記憶部
REFERENCE SIGNS LIST 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 ROM
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 RAM
36 ROM
37 Auxiliary storage device 38 Processor 39 Bus 101 Setup processing unit 102 Long-term private key generation unit 103 Storage unit 201 Long-term private key request unit 202 Long-term private 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 (5)

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のセッション鍵生成部と、有
前記第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の出力値を前記セッション鍵として生成するように構成されている、
認証鍵交換システム。
An authentication key exchange system including 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 a digital signature, and performing authentication key exchange between the first device and the second device,
The server,
a set-up unit configured to generate a bilinear group used in the identity-based encryption, a master private key for the identity-based encryption, and a master public key corresponding to the master private key;
a long-term private key generation unit configured to generate a first long-term private key for a first identifier indicating an identifier of the first device,
The first device includes:
a first 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 first long-term private key;
a first temporary key sending unit configured to send the first temporary public key and the first identifier to the second device;
a first session key generation unit configured to generate a session key from the first temporary public key, the second temporary public key, the long-term public key of the second device, the first temporary private key, the first long-term private key, the first identifier, and the second identifier when receiving at least a second temporary public key, a long-term public key of the second device, and a second identifier indicating an identifier of the second device from the second device,
The second device includes:
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;
a second temporary key sender configured to send at least the second temporary public key, the long-term public key, and the second identifier to the first device;
a second session key generator configured to generate the session key from the first temporary public key, the second temporary public key, the second temporary private key, the master public key, the first identifier, and the second identifier ;
The first temporary key generation unit
a generator of a cyclic group that is a domain of a first argument side of a pairing operation in the bilinear group is used as a base, and a first value that is an output value of a hash function H2 having the first temporary private key and the first long-term private key as input is used as an exponent, and
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 certification authority;
If the verification is successful, a pairing operation is performed using the second temporary public key as a first argument and the first long-term private key as a second argument, and the result is used as a first key element;
Calculate a second key element by raising the long-term public key to a power of the first value;
Calculating a third key element by raising the second temporary public key to a power of the first value;
is configured to generate, as the session key, an output value of a hash function H having as input the first key element, the second key element, the third key element, the first temporary public key, the second temporary public key, the first identifier, the second identifier, the long-term public key, and the certificate;
The second temporary key transmission unit
further configured to transmit the certificate to the first device;
The second temporary key generation unit
a generator of a cyclic group that is a domain of a first argument side of a pairing operation in the bilinear group is used as a base, and a second value that is an output value of the hash function H2 having the second temporary private key and the second long-term private key as input is used as an exponent, and
The second session key generation unit
calculating , as the first key element, a result of a pairing operation using the master public key as a base, a power of the second value as a first argument, and an output value of a hash function H1 having the first identifier as an input as a second argument;
Calculating the second key element to a power of the first temporary public key as a base and the second long-term private key as an exponent;
Calculating the third key element by raising the first temporary public key to a power of the second value;
and generating, as the session key, an output value of the hash function H using the first key element, the second key element, the third key element, the first temporary public key, the second temporary public key, the first identifier, the second identifier, the long-term public key, and the certificate as inputs.
Authenticated Key Exchange System.
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のセッション鍵生成部と、有し、
前記第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の出力値を前記セッション鍵として生成するように構成されている、
証鍵交換システム。
An authentication key exchange system including 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 a digital signature, and performing authentication key exchange between the first device and the second device,
The server,
a set-up unit configured to generate a bilinear group used in the identity-based encryption, a master private key for the identity-based encryption, and a master public key corresponding to the master private key;
a long-term private key generation unit configured to generate a first long-term private key for a first identifier indicating an identifier of the first device,
The first device includes:
a first 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 first long-term private key;
a first temporary key sending unit configured to send the first temporary public key and the first identifier to the second device;
a first session key generation unit configured to generate a session key from the first temporary public key, the second temporary public key, the long-term public key of the second device, the first temporary private key, the first long-term private key, the first identifier, and the second identifier when receiving at least a second temporary public key, a long-term public key of the second device, and a second identifier indicating an identifier of the second device from the second device,
The second device includes:
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;
a second temporary key sender configured to send at least the second temporary public key, the long-term public key, and the second identifier to the first device;
a second session key generator configured to generate the session key from the first temporary public key, the second temporary public key, the second temporary private key, the master public key, the first identifier, and the second identifier;
The first temporary key generation unit
a generator of a cyclic group that is a domain of a first argument side of a pairing operation in the bilinear group is used as a base, and a first value that is an output value of a hash function H2 having the first temporary private key and the first long-term private key as input is used as an exponent, and
The first session key generation unit
Further receiving a certificate for the long-term public key and a signature of the second device, and performing a first verification indicating whether or not the certificate has been issued by a predetermined certificate authority and a second verification indicating verification of the signature;
If the first verification and the second verification are successful, a pairing operation is performed with the second temporary public key as a first argument and the first long-term private key as a second argument, and a result of the pairing operation is calculated as a first key element;
Calculating a second key element by raising the second temporary public key to a power of the first value;
is configured to generate, as the session key, an output value of a hash function H having as input the first key element, the second key element, the first temporary public key, the second temporary public key, the first identifier, the second identifier, the long-term public key, the certificate, and the signature;
The second temporary key transmission unit
further configured to transmit the certificate and the signature to the first device;
The second temporary key generation unit
a generator of a cyclic group that is a domain of a first argument side of a pairing operation in the bilinear group is used as a base, and a second value that is an output value of a hash function H3 having the second temporary private key and the second long-term private key as input is used as an exponent, and
The second session key generation unit
calculating, as the first key element, a result of a pairing operation using the master public key as a base, a power of the second value as a first argument, and an output value of a hash function H1 having the first identifier as an input as a second argument;
Calculating the second key element to a power of the first temporary public key and the second value as an exponent;
and configured to generate, as the session key, an output value of the hash function H using the first key element, the second key element, the first temporary public key, the second temporary public key, the first identifier, the second identifier, the long-term public key, the certificate, and the signature as inputs.
Authenticated Key Exchange System.
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のセッション鍵生成手順と、を実行
前記第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の出力値を前記セッション鍵として生成する、
方法。
A method for use in an authentication key exchange system including a server functioning 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 a digital signature, the system performing authentication key exchange between the first device and the second device, comprising:
The server,
a setup procedure for generating a bilinear group for use in the identity-based encryption, a master private key for the identity-based encryption, and a master public key corresponding to the master private key;
a long-term private key generation step for generating a first long-term private key for a first identifier indicating an identifier of the first device;
The first device comprises:
a first temporary key generation step of generating a first temporary private key and generating a first temporary public key from the first temporary private key and the first long-term private key;
a first temporary key transmission step of transmitting the first temporary public key and the first identifier to the second device;
receiving at least a second temporary public key, a long-term public key of the second device, and a second identifier indicating an identifier of the second device from the second device, executing a first session key generation procedure for generating a session key from the first temporary public key, the second temporary public key, the long-term public key of the second device, the first temporary private key, the first long-term private key, the first identifier, and the second identifier;
The second device comprises:
a long-term key generation step of 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 step of 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 session key generation procedure for generating the session key from the first temporary public key, the second temporary public key, the second temporary private key, the master public key, the first identifier , and the second identifier ;
The first temporary key generation procedure includes:
generate, as the first temporary public key, a power of a first value that is an output value of a hash function H2 that has a base that is a generator of a cyclic group that is a domain of a first argument side of a pairing operation in the bilinear group and an input that is the first temporary private key and the first long-term private key ;
The first session key generation procedure includes:
Further receiving a certificate for the long-term public key, and verifying whether the certificate was issued by a predetermined certification authority;
If the verification is successful, a pairing operation is performed using the second temporary public key as a first argument and the first long-term private key as a second argument, and the result is used as a first key element;
Calculate a second key element by raising the long-term public key to a power of the first value;
Calculating a third key element by raising the second temporary public key to a power of the first value;
generating, as the session key, an output value of a hash function H having as input the first key element, the second key element, the third key element, the first temporary public key, the second temporary public key, the first identifier, the second identifier, the long-term public key, and the certificate;
The second temporary key transmission procedure includes:
further transmitting the certificate to the first device;
The second temporary key generation procedure includes:
generate, as the second temporary public key, a power of a second value that is an output value of the hash function H2 having as input the second temporary private key and the second long-term private key and a generator of a cyclic group that is a domain of a first argument side of a pairing operation in the bilinear group as a base and an exponent;
The second session key generation procedure includes:
calculating , as the first key element, a result of a pairing operation using the master public key as a base, a power of the second value as a first argument, and an output value of a hash function H1 having the first identifier as an input as a second argument;
Calculating the second key element to a power of the first temporary public key as a base and the second long-term private key as an exponent;
Calculating the third key element by raising the first temporary public key to a power of the second value;
generating, as the session key, an output value of the hash function H using as input the first key element, the second key element, the third key element, the first temporary public key, the second temporary public key, the first identifier, the second identifier, the long-term public key, and the certificate;
method.
IDベース暗号のKGCとして機能するサーバと、前記IDベース暗号に基づく認証を行う第1の機器と、電子署名に基づく認証を行う第2の機器とが含まれ、前記第1の機器と前記第2の機器との間で認証鍵交換を行う認証鍵交換システムに用いられる方法であって、A method for use in an authentication key exchange system including a server functioning 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 a digital signature, the system performing authentication key exchange between the first device and the second device, comprising:
前記サーバが、The server,
前記IDベース暗号で用いられる双線形群と、前記IDベース暗号のマスター秘密鍵と、前記マスター秘密鍵に対応するマスター公開鍵とを生成するセットアップ手順と、a setup procedure for generating a bilinear group for use in the identity-based encryption, a master private key for the identity-based encryption, and a master public key corresponding to the master private key;
前記第1の機器の識別子を示す第1の識別子に対する第1の長期秘密鍵を生成する長期秘密鍵生成手順と、を実行し、a long-term private key generation step for generating a first long-term private key for a first identifier indicating an identifier of the first device;
前記第1の機器が、The first device comprises:
第1の一時秘密鍵を生成すると共に、前記第1の一時秘密鍵及び前記第1の長期秘密鍵から第1の一時公開鍵を生成する第1の一時鍵生成手順と、a first temporary key generation step of generating a first temporary private key and generating a first temporary public key from the first temporary private key and the first long-term private key;
前記第1の一時公開鍵と前記第1の識別子とを前記第2の機器に送信する第1の一時鍵送信手順と、a first temporary key transmission step of transmitting the first temporary public key and the first identifier to the second device;
少なくとも第2の一時公開鍵と前記第2の機器の長期公開鍵と前記第2の機器の識別子を示す第2の識別子とを前記第2の機器から受信すると、前記第1の一時公開鍵と前記第2の一時公開鍵と前記第2の機器の長期公開鍵と前記第1の一時秘密鍵と前記第1の長期秘密鍵と前記第1の識別子と前記第2の識別子からセッション鍵を生成する第1のセッション鍵生成手順と、を実行し、receiving at least a second temporary public key, a long-term public key of the second device, and a second identifier indicating an identifier of the second device from the second device, executing a first session key generation procedure for generating a session key from the first temporary public key, the second temporary public key, the long-term public key of the second device, the first temporary private key, the first long-term private key, the first identifier, and the second identifier;
前記第2の機器が、The second device comprises:
第2の長期秘密鍵と、前記第2の長期秘密鍵に対応する前記長期公開鍵とを生成する長期鍵生成手順と、a long-term key generation step of generating a second long-term private key and the long-term public key corresponding to the second long-term private key;
第2の一時秘密鍵を生成すると共に、前記第2の一時秘密鍵及び前記第2の長期秘密鍵から前記第2の一時公開鍵を生成する第2の一時鍵生成手順と、a second temporary key generation step of 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;
少なくとも前記第2の一時公開鍵と前記長期公開鍵と前記第2の識別子とを前記第1の機器に送信する第2の一時鍵送信手順と、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;
前記第1の一時公開鍵と前記第2の一時公開鍵と前記第2の一時秘密鍵と前記マスター公開鍵と前記第1の識別子と前記第2の識別子から前記セッション鍵を生成する第2のセッション鍵生成手順と、を実行し、a second session key generation procedure for generating the session key from the first temporary public key, the second temporary public key, the second temporary private key, the master public key, the first identifier, and the second identifier;
前記第1の一時鍵生成手順は、The first temporary key generation procedure includes:
前記双線形群におけるペアリング演算の第一引数側の定義域である巡回群の生成元を底、前記第1の一時秘密鍵と前記第1の長期秘密鍵とを入力とするハッシュ関数HA hash function H, which has a base that is a generator of a cyclic group that is a domain of the first argument side of the pairing operation in the bilinear group, and has inputs of the first temporary private key and the first long-term private key. 2 の出力値である第1の値をべき指数とするべき乗を前記第1の一時公開鍵として生成し、Generate a power of the first value, which is an output value of
前記第1のセッション鍵生成手順は、The first session key generation procedure includes:
前記長期公開鍵に対する証明書と前記第2の機器の署名とを更に受信すると共に、前記証明書が所定の認証局で発行されたものであるか否かの検証を示す第1の検証と前記署名の検証を示す第2の検証とを行い、Further receiving a certificate for the long-term public key and a signature of the second device, and performing a first verification indicating whether or not the certificate has been issued by a predetermined certificate authority and a second verification indicating verification of the signature;
前記第1の検証と前記第2の検証に成功した場合、前記第2の一時公開鍵を第一引数、前記第1の長期秘密鍵を第二引数とするペアリング演算の演算結果を第1の鍵要素として計算し、If the first verification and the second verification are successful, a pairing operation is performed with the second temporary public key as a first argument and the first long-term private key as a second argument, and a result of the pairing operation is calculated as a first key element;
前記第2の一時公開鍵を底、前記第1の値をべき指数とするべき乗を第2の鍵要素として計算し、Calculating a second key element by raising the second temporary public key to a power of the first value;
前記第1の鍵要素と前記第2の鍵要素と前記第1の一時公開鍵と前記第2の一時公開鍵と前記第1の識別子と前記第2の識別子と前記長期公開鍵と前記証明書と前記署名とを入力とするハッシュ関数Hの出力値を前記セッション鍵として生成し、generating, as the session key, an output value of a hash function H having as input the first key element, the second key element, the first temporary public key, the second temporary public key, the first identifier, the second identifier, the long-term public key, the certificate, and the signature;
前記第2の一時鍵送信手順は、The second temporary key transmission procedure includes:
前記証明書と前記署名を前記第1の機器に更に送信し、further transmitting the certificate and the signature to the first device;
前記第2の一時鍵生成手順は、The second temporary key generation procedure includes:
前記双線形群におけるペアリング演算の第一引数側の定義域である巡回群の生成元を底、前記第2の一時秘密鍵と前記第2の長期秘密鍵とを入力とするハッシュ関数HA hash function H, which has a base that is a generator of a cyclic group that is a domain of the first argument side of the pairing operation in the bilinear group, and inputs the second temporary private key and the second long-term private key. 3 の出力値である第2の値をべき指数とするべき乗を前記第2の一時公開鍵として生成し、Generate a second temporary public key by exponentiating the second value, which is the output value of
前記第2のセッション鍵生成手順は、The second session key generation procedure includes:
前記マスター公開鍵を底、前記第2の値をべき指数とするべき乗を第一引数、前記第1の識別子を入力とするハッシュ関数HA hash function H with the master public key as a base, the second value as a power as a first argument, and the first identifier as an input. 1 の出力値を第二引数とするペアリング演算の演算結果を前記第1の鍵要素として計算し、A pairing operation result having the output value of the second argument is calculated as the first key element,
前記第1の一時公開鍵を底、前記第2の値をべき指数とするべき乗を前記第2の鍵要素として計算し、Calculating the second key element to a power of the first temporary public key and the second value as an exponent;
前記第1の鍵要素と前記第2の鍵要素と前記第1の一時公開鍵と前記第2の一時公開鍵と前記第1の識別子と前記第2の識別子と前記長期公開鍵と前記証明書と前記署名とを入力とする前記ハッシュ関数Hの出力値を前記セッション鍵として生成する、generating, as the session key, an output value of the hash function H using as input the first key element, the second key element, the first temporary public key, the second temporary public key, the first identifier, the second identifier, the long-term public key, the certificate, and the signature;
方法。method.
コンピュータを、請求項1又は2に記載の認証鍵交換システムに含まれるサーバ、第1の機器、又は第2の機器として機能させるプログラム。 A program for causing a computer to function as a server, a first device, or a second device included in the authentication key exchange system according to claim 1 or 2 .
JP2021201659A 2021-12-13 2021-12-13 Authentication key exchange system, method, and program Active JP7574791B2 (en)

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2023087337A JP2023087337A (en) 2023-06-23
JP7574791B2 true JP7574791B2 (en) 2024-10-29

Family

ID=86851154

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP7574791B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2026028278A1 (en) * 2024-07-30 2026-02-05 Ntt株式会社 Authentication device and method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009302861A (en) 2008-06-12 2009-12-24 Ntt Data Corp System of transferring authority for decoding encrypted text

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7685414B1 (en) * 2004-08-27 2010-03-23 Voltage Security, Inc. Subscription management service for secure messaging system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009302861A (en) 2008-06-12 2009-12-24 Ntt Data Corp System of transferring authority for decoding encrypted text

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Berkant Ustaoglu,Integrating identity-based and certificate-based authenticated key exchange protocols,International Journal of Information Security,2011年05月28日,Vol. 10,pp. 201-212,インターネット<URL: https://link.springer.com/article/10.1007/s10207-011-0136-3>

Also Published As

Publication number Publication date
JP2023087337A (en) 2023-06-23

Similar Documents

Publication Publication Date Title
CN111147472B (en) A lightweight authentication method and system for smart meters in an edge computing scenario
CN108667626B (en) Secure two-party collaboration SM2 signature method
CN110268676B (en) Private key calculation system and method for identity-based self-authentication signature scheme
CN109818744B (en) Shared secret key generation method and device, computer equipment and storage medium
CN108418686B (en) A multi-distributed SM9 decryption method and medium and key generation method and medium
CN102318258B (en) Identity-Based Authenticated Key Agreement Protocol
US9313033B2 (en) Derived certificate based on changing identity
CN111953705A (en) Internet of things identity authentication method, device and power Internet of things identity authentication system
CN111835752A (en) Lightweight authentication method and gateway based on device identity
CN104270249B (en) It is a kind of from the label decryption method without certificate environment to identity-based environment
US20090307492A1 (en) Method,system and network device for bidirectional authentication
CN114268439B (en) Identity-based authentication key negotiation method based on grid
Al-Riyami Cryptographic schemes based on elliptic curve pairings
WO2017202161A1 (en) Certificateless two-party authenticated key agreement method, device, and data storage medium
CN103563288B (en) Single round key exchange protocol based on password
WO2008113279A1 (en) A method, system and communication device for generating session cryptographic
CN106341232A (en) Anonymous entity identification method based on password
CN107659395A (en) The distributed authentication method and system of identity-based under a kind of environment of multi-server
WO2023174038A9 (en) Data transmission method and related device
CN117221883B (en) Security authentication method and related equipment for 5G mobile edge computing
CN112533213B (en) A key agreement method, device, terminal and storage medium
CN111953479A (en) Method and device for data processing
US11902428B2 (en) Key exchange system, communication apparatus, key exchange method and program
JP7574791B2 (en) Authentication key exchange system, method, and program
WO2016114259A1 (en) Key-exchange method, key-exchange system, key device, terminal device, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240619

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20240701

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240902

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240930

R150 Certificate of patent or registration of utility model

Ref document number: 7574791

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350