JP5414558B2 - Key exchange system, key exchange method, and key exchange program - Google Patents

Key exchange system, key exchange method, and key exchange program Download PDF

Info

Publication number
JP5414558B2
JP5414558B2 JP2010019419A JP2010019419A JP5414558B2 JP 5414558 B2 JP5414558 B2 JP 5414558B2 JP 2010019419 A JP2010019419 A JP 2010019419A JP 2010019419 A JP2010019419 A JP 2010019419A JP 5414558 B2 JP5414558 B2 JP 5414558B2
Authority
JP
Japan
Prior art keywords
terminal
key
unique
signature
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010019419A
Other languages
Japanese (ja)
Other versions
JP2011160136A (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.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2010019419A priority Critical patent/JP5414558B2/en
Publication of JP2011160136A publication Critical patent/JP2011160136A/en
Application granted granted Critical
Publication of JP5414558B2 publication Critical patent/JP5414558B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、共通鍵暗号における鍵を共有するための鍵交換システム、鍵交換方法及び鍵交換プログラムに関する。   The present invention relates to a key exchange system, a key exchange method, and a key exchange program for sharing a key in common key cryptography.

従来、通信装置(端末)の間で秘密情報の通信を安全に行うために、暗号通信が用いられている。暗号の方式には、共通鍵暗号方式と公開鍵暗号方式とがある。共通鍵暗号方式は、暗号通信を行う端末の間で共通の鍵を用いる方式であり、例えばAES(Advanced Encryption Standard)が知られている。また、公開鍵暗号方式は、秘密鍵と公開鍵との2つの鍵を用いる方式で、例えばRSA(Rivest Shamir Adleman)暗号が知られている。   Conventionally, encryption communication is used in order to securely communicate secret information between communication devices (terminals). There are two types of encryption methods: a common key encryption method and a public key encryption method. The common key encryption method is a method using a common key among terminals that perform encrypted communication, and for example, AES (Advanced Encryption Standard) is known. The public key cryptosystem is a scheme using two keys, a secret key and a public key. For example, a RSA (Rivest Shamir Adleman) cipher is known.

ところで、公開鍵暗号方式は、暗号化のために端末間で鍵交換をする必要がないという利点がある。しかし、公開鍵暗号方式は、共通鍵暗号方式と比較して処理速度が遅い、あるいは負荷が重いという性能面での難点があるため、公開鍵暗号方式だけで全ての通信の暗号化を行うのは効率的ではない。   By the way, the public key cryptosystem has an advantage that it is not necessary to exchange keys between terminals for encryption. However, the public key cryptosystem has a performance disadvantage that the processing speed is slower than the common key cryptosystem or the load is heavy, so all communications are encrypted using only the public key cryptosystem. Is not efficient.

一方、共通鍵暗号化方式では、暗号通信を行う端末間で共通鍵を共有することが必要である。原始的には、第三者による傍受の困難な方法として、共通鍵は、それぞれの端末の管理者が対面して交換されたり、通信回線とは別の郵送等のルートを用いて交換されたりしていた。しかし、こうした原始的な共通鍵の交換方法は、非効率であり、ネットワーク通信を実現する上では実用的ではなかった。   On the other hand, in the common key encryption method, it is necessary to share a common key between terminals performing encrypted communication. Primarily, as a method that is difficult to intercept by a third party, the common key is exchanged face-to-face by the administrator of each terminal, or exchanged using a route such as mail that is different from the communication line. Was. However, this primitive common key exchange method is inefficient and impractical for realizing network communication.

そこで、通信回線を介して共通鍵を配送する様々な手法が提案されている。例えば、Diffie−Hellmanの鍵共有方式(非特許文献1参照)や、その応用例(特許文献1参照)が提案されている。   Therefore, various methods for distributing a common key via a communication line have been proposed. For example, a Diffie-Hellman key sharing method (see Non-Patent Document 1) and an application example thereof (see Patent Document 1) have been proposed.

特開2000−278258号公報JP 2000-278258 A 特開2006−140743号公報JP 2006-140743 A

W.Diffie and M.E.Hellman, “New Directions in Cryptography,” IEEE Trans. on Information Theory, Vol.22, No.6, pp.644−654, 1976W. Diffie and M.M. E. Hellman, “New Directions in Cryptography,” IEEE Trans. on Information Theory, Vol. 22, no. 6, pp. 644-654, 1976 H.Krawczyk, “HMQV: A High−Performance Secure Diffie−Hellman Protocol,” Advances in Cryptology−CRYPTO 2005, Springer−Verlag, LNCS 3621, pp.546−566, 2005H. Kraczzyk, “HMQV: A High-Performance Secure Diffie-Hellman Protocol,” Advances in Cryptology-CRYPTO 2005, Springer-Verlag, LNCp 3621. 546-566, 2005

前述のDiffie−Hellman鍵共有は、通信回線を使用して安全に鍵交換できる方式であるが、鍵交換を行うために共有する乱数値に対して保証がないため、通信に介在して中間者攻撃を受ける可能性がある。つまり、共通鍵の交換のために、ある端末から別の端末へ公開鍵等の情報を送信する際、伝送路上の第三者がこの情報を取得し、偽造情報にすり替えて送信することで鍵交換に割り込み、共通鍵を不正に取得することができる。したがって、第三者により暗号通信の内容が盗聴又は改竄される問題があった。   The Diffie-Hellman key sharing described above is a method that allows secure key exchange using a communication line. However, since there is no guarantee for a random value that is shared for key exchange, there is no guarantee that the intermediary intervenes in communication. There is a possibility of being attacked. In other words, when transmitting information such as a public key from one terminal to another for exchanging a common key, a third party on the transmission path obtains this information, and substitutes forgery information to transmit the key. The exchange can be interrupted and the common key can be obtained illegally. Therefore, there has been a problem that the content of the encrypted communication is wiretapped or tampered by a third party.

そこで、この中間者攻撃を防止するために、電子署名や認証機能を用いて相互認証を行い、共有する乱数値が真正であることを確認する認証鍵交換(AKE:Autheticated Key Exchange)という方法もある(例えば、非特許文献2及び特許文献2参照)。   Therefore, in order to prevent this man-in-the-middle attack, a method called authentication key exchange (AKE: Authenticated Key Exchange) that performs mutual authentication using an electronic signature or an authentication function and confirms that the shared random number value is authentic is also available. (For example, see Non-Patent Document 2 and Patent Document 2).

しかしながら、AKEは、相互認証を行うために、通信量や通信回数が増大し、さらに、鍵を生成するまでの演算負荷が重くなるという課題があった。   However, since AKE performs mutual authentication, there is a problem that the amount of communication and the number of communication increases, and further, the calculation load becomes heavy until a key is generated.

本発明は、通信回数及び演算回数を低減した認証鍵交換が行える鍵交換システム、鍵交換方法及び鍵交換プログラムを提供することを目的とする。   It is an object of the present invention to provide a key exchange system, a key exchange method, and a key exchange program that can perform authentication key exchange with a reduced number of communications and computations.

本発明では、以下のような解決手段を提供する。   The present invention provides the following solutions.

(1)第1の端末と第2の端末とが共通鍵を共有する鍵交換システムであって、前記第1の端末及び前記第2の端末には、予め重複しない自然数からなる固有署名鍵と、当該固有署名鍵及びGDH(GAP−Diffie−Hellman)グループに属する公開された要素に基づいて生成される固有検証鍵と、がそれぞれ割り当てられており、前記第1の端末は、前記GDHグループから一の要素を選択する選択部と、前記一の要素に対して前記第1の端末の固有署名鍵により演算を行い、署名情報を生成する署名生成部と、前記第1の端末の固有検証鍵及び前記署名情報を、前記第2の端末へ送信する第1の送信部と、前記第2の端末から、前記第2の端末の固有検証鍵を受信する第1の受信部と、前記一の要素、前記第2の端末の固有検証鍵及び前記第1の端末の固有署名鍵に基づいて、前記共通鍵を生成する第1の鍵生成部と、を備え、前記第2の端末は、前記第1の端末から、前記第1の端末の固有検証鍵及び前記署名情報を受信する第2の受信部と、前記第2の端末の固有検証鍵を、前記第1の端末へ送信する第2の送信部と、前記署名情報、前記第1の端末の固有検証鍵及び前記第2の端末の固有署名鍵に基づいて、前記共通鍵を生成する第2の鍵生成部と、を備える鍵交換システム。   (1) A key exchange system in which a first terminal and a second terminal share a common key, and the first terminal and the second terminal include a unique signature key made up of natural numbers that do not overlap in advance. , The unique signature key and a unique verification key generated based on a public element belonging to a GDH (GAP-Diffie-Hellman) group, respectively, are allocated, and the first terminal receives from the GDH group A selection unit that selects one element, a signature generation unit that performs operation on the one element using the unique signature key of the first terminal, and generates signature information; and a unique verification key of the first terminal And the first transmission unit that transmits the signature information to the second terminal, the first reception unit that receives the unique verification key of the second terminal from the second terminal, and the one Element, unique of the second terminal A first key generation unit that generates the common key based on a certificate key and a unique signature key of the first terminal, and the second terminal receives the first key from the first terminal. A second reception unit that receives the unique verification key of the terminal and the signature information, a second transmission unit that transmits the unique verification key of the second terminal to the first terminal, the signature information, A key exchange system comprising: a second key generation unit that generates the common key based on the unique verification key of the first terminal and the unique signature key of the second terminal.

このような構成によれば、当該鍵交換システムは、各端末において、発行証明書付きの相手端末の正規の固有検証鍵と、各端末以外が取得することは困難な固有署名鍵とを用いて共通鍵を生成する。第1の端末から第2の端末へ、及び第2の端末から第1の端末への2回の通信回数により、共通鍵の生成に必要な情報は取得され、各端末それぞれで1回の演算により共通鍵が生成される。したがって、当該鍵交換システムは、固有検証鍵による認証を可能としつつ、通信回数及び演算回数を低減した認証鍵交換を行える。   According to such a configuration, the key exchange system uses, at each terminal, a legitimate unique verification key of the counterpart terminal with the issued certificate and a unique signature key that is difficult to obtain by other terminals. Generate a common key. The information necessary for generating the common key is acquired from the number of times of communication from the first terminal to the second terminal and from the second terminal to the first terminal, and each terminal performs one calculation. Generates a common key. Therefore, the key exchange system can perform authentication key exchange while reducing the number of communication times and the number of computations while enabling authentication with the unique verification key.

(2)前記第1の端末は、前記第1の送信部により、さらに前記一の要素を、前記第2の端末へ送信し、前記第2の端末は、前記第2の受信部により、前記第1の端末から、さらに前記一の要素を受信し、前記公開された要素及び前記署名情報に基づく所定の演算結果と、前記第1の端末の固有検証鍵及び前記一の要素に基づく前記所定の演算結果と、が等しいことを確かめ、前記署名情報の正当性を検証する検証部をさらに備え、前記第2の送信部は、前記検証部により前記署名情報の正当性が検証された場合に、前記第2の端末の固有検証鍵を、前記第1の端末へ送信する(1)に記載の鍵交換システム。   (2) The first terminal further transmits the one element to the second terminal by the first transmitter, and the second terminal transmits the one element by the second receiver. The one element is further received from the first terminal, the predetermined calculation result based on the disclosed element and the signature information, the specific verification key of the first terminal and the predetermined element based on the one element And a verification unit that verifies the validity of the signature information, and the second transmission unit is configured to verify the validity of the signature information by the verification unit. The key exchange system according to (1), wherein the unique verification key of the second terminal is transmitted to the first terminal.

このような構成によれば、当該鍵交換システムは、GDHグループから選択された一の要素をさらに第2の端末へ送信することにより、第2の端末において、共通鍵の生成に用いられる署名情報の正当性を検証することができる。このとき、正当性の検証のためには、所定の演算が2回実行されるのみである。したがって、当該鍵交換システムは、相互認証を可能としつつも、演算回数を低減することができる。   According to such a configuration, the key exchange system further transmits the one element selected from the GDH group to the second terminal, whereby the signature information used for generating the common key in the second terminal. Can be verified. At this time, in order to verify the validity, the predetermined calculation is only executed twice. Therefore, the key exchange system can reduce the number of computations while enabling mutual authentication.

(3)前記選択部は、前記一の要素を、前記GDHグループからランダムに選択する(1)又は(2)に記載の鍵交換システム。   (3) The key exchange system according to (1) or (2), wherein the selection unit randomly selects the one element from the GDH group.

このような構成によれば、当該鍵交換システムは、一の要素をGDHグループからランダムに選択するので、共通鍵の生成に利用されるデータが第三者により取得される可能性を低減することができる。   According to such a configuration, since the key exchange system randomly selects one element from the GDH group, the possibility that the data used for generating the common key is acquired by a third party is reduced. Can do.

(4)前記選択部は、数値データを前記GDHグループの要素に写像変換する一方向性ハッシュ関数演算により、乱数データから前記一の要素を求める(3)に記載の鍵交換システム。   (4) The key exchange system according to (3), wherein the selection unit obtains the one element from random number data by a one-way hash function calculation that maps numerical data into elements of the GDH group.

このような構成によれば、当該鍵交換システムは、数値データをGDHグループの要素に写像変換する一方向性ハッシュ関数演算により一の要素を求める。したがって、当該鍵交換システムは、GDHグループに属するランダムな要素を、乱数データから容易に算出することができる。   According to such a configuration, the key exchange system obtains one element by a one-way hash function calculation that maps numerical data to an element of the GDH group. Therefore, the key exchange system can easily calculate random elements belonging to the GDH group from the random number data.

(5)前記選択部は、数値データを固定長の数値データに写像変換する一方向性ハッシュ関数演算により乱数データから算出された数値、及び前記GDHグループの要素に基づいて、前記一の要素を求める(3)に記載の鍵交換システム。   (5) The selection unit determines the one element based on a numerical value calculated from random number data by a one-way hash function calculation that maps and converts numerical data to fixed-length numerical data, and an element of the GDH group. The key exchange system as set forth in (3).

このような構成によれば、当該鍵交換システムは、数値データを対象とする簡易な一方向性ハッシュ関数演算を用いて、GDHグループに属するランダムな要素を、乱数データから容易に算出することができる。   According to such a configuration, the key exchange system can easily calculate a random element belonging to the GDH group from the random number data using a simple one-way hash function operation for numerical data. it can.

(6)第1の端末と第2の端末とが共通鍵を共有する鍵交換方法であって、前記第1の端末及び前記第2の端末には、予め重複しない自然数からなる固有署名鍵と、当該固有署名鍵及びGDH(GAP−Diffie−Hellman)グループに属する公開された要素に基づいて生成される固有検証鍵と、がそれぞれ割り当てられており、前記第1の端末は、前記GDHグループから一の要素を選択する選択ステップと、前記一の要素に対して前記第1の端末の固有署名鍵により演算を行い、署名情報を生成する署名生成ステップと、前記第1の端末の固有検証鍵及び前記署名情報を、前記第2の端末へ送信する第1の送信ステップと、前記第2の端末から、前記第2の端末の固有検証鍵を受信する第1の受信ステップと、前記一の要素、前記第2の端末の固有検証鍵及び前記第1の端末の固有署名鍵に基づいて、前記共通鍵を生成する第1の鍵生成ステップと、を実行し、前記第2の端末は、前記第1の端末から、前記第1の端末の固有検証鍵及び前記署名情報を受信する第2の受信ステップと、前記第2の端末の固有検証鍵を、前記第1の端末へ送信する第2の送信ステップと、前記署名情報、前記第1の端末の固有検証鍵及び前記第2の端末の固有署名鍵に基づいて、前記共通鍵を生成する第2の鍵生成ステップと、を実行する鍵交換方法。   (6) A key exchange method in which a first terminal and a second terminal share a common key, and the first terminal and the second terminal include a unique signature key made up of natural numbers that do not overlap in advance. , The unique signature key and a unique verification key generated based on a public element belonging to a GDH (GAP-Diffie-Hellman) group, respectively, are allocated, and the first terminal receives from the GDH group A selection step of selecting one element, a signature generation step of performing operation on the one element with the unique signature key of the first terminal to generate signature information, and a unique verification key of the first terminal And a first transmission step of transmitting the signature information to the second terminal, a first reception step of receiving a unique verification key of the second terminal from the second terminal, element, A first key generation step of generating the common key based on the unique verification key of the second terminal and the unique signature key of the first terminal, wherein the second terminal A second receiving step for receiving the unique verification key of the first terminal and the signature information from one terminal, and a second receiving step for transmitting the unique verification key of the second terminal to the first terminal. Key exchange for performing a transmission step and a second key generation step for generating the common key based on the signature information, the unique verification key of the first terminal, and the unique signature key of the second terminal Method.

このような構成によれば、当該鍵交換方法を第1の端末と第2の端末とが実行することにより、(1)と同様の効果が期待できる。   According to such a configuration, the same effect as in (1) can be expected by executing the key exchange method between the first terminal and the second terminal.

(7)第1の端末と第2の端末とに共通鍵を共有させる鍵交換プログラムであって、前記第1の端末及び前記第2の端末には、予め重複しない自然数からなる固有署名鍵と、当該固有署名鍵及びGDH(GAP−Diffie−Hellman)グループに属する公開された要素に基づいて生成される固有検証鍵と、がそれぞれ割り当てられており、前記第1の端末に、前記GDHグループから一の要素を選択する選択ステップと、前記一の要素に対して前記第1の端末の固有署名鍵により演算を行い、署名情報を生成する署名生成ステップと、前記第1の端末の固有検証鍵及び前記署名情報を、前記第2の端末へ送信する第1の送信ステップと、前記第2の端末から、前記第2の端末の固有検証鍵を受信する第1の受信ステップと、前記一の要素、前記第2の端末の固有検証鍵及び前記第1の端末の固有署名鍵に基づいて、前記共通鍵を生成する第1の鍵生成ステップと、を実行させ、前記第2の端末に、前記第1の端末から、前記第1の端末の固有検証鍵及び前記署名情報を受信する第2の受信ステップと、前記第2の端末の固有検証鍵を、前記第1の端末へ送信する第2の送信ステップと、前記署名情報、前記第1の端末の固有検証鍵及び前記第2の端末の固有署名鍵に基づいて、前記共通鍵を生成する第2の鍵生成ステップと、を実行させる鍵交換プログラム。   (7) A key exchange program for causing a first terminal and a second terminal to share a common key, wherein the first terminal and the second terminal include a unique signature key composed of natural numbers that do not overlap in advance. , The unique signature key and a unique verification key generated based on a public element belonging to a GDH (GAP-Diffie-Hellman) group are respectively assigned to the first terminal from the GDH group. A selection step of selecting one element, a signature generation step of performing operation on the one element with the unique signature key of the first terminal to generate signature information, and a unique verification key of the first terminal And a first transmission step of transmitting the signature information to the second terminal, a first reception step of receiving a unique verification key of the second terminal from the second terminal, and the one An element, a first key generation step of generating the common key based on the unique verification key of the second terminal and the unique signature key of the first terminal, and causing the second terminal to A second receiving step for receiving the unique verification key of the first terminal and the signature information from the first terminal; and a second reception step of transmitting the unique verification key of the second terminal to the first terminal. And a second key generation step of generating the common key based on the signature information, the unique verification key of the first terminal, and the unique signature key of the second terminal. Key exchange program.

このような構成によれば、当該鍵交換プログラムを第1の端末と第2の端末とに実行させることにより、(1)と同様の効果が期待できる。   According to such a configuration, the same effect as in (1) can be expected by causing the first terminal and the second terminal to execute the key exchange program.

本発明によれば、通信回数及び演算回数を低減した認証鍵交換を行うことができる。   According to the present invention, authentication key exchange can be performed with a reduced number of communications and computations.

本発明の実施形態に係る鍵交換システムの機能構成を示すブロック図である。It is a block diagram which shows the function structure of the key exchange system which concerns on embodiment of this invention. 本発明の実施形態に係る鍵交換システムにおける鍵交換方法を示す概要図である。It is a schematic diagram which shows the key exchange method in the key exchange system which concerns on embodiment of this invention. 本発明の実施形態に係る鍵交換システムにおける鍵交換方法の処理手順を示すフローチャートである。It is a flowchart which shows the process sequence of the key exchange method in the key exchange system which concerns on embodiment of this invention.

以下、本発明の実施形態の一例について説明する。本実施形態に係る鍵交換システムは、所定の通信及び演算により、2つの端末間で相互認証をしつつ、共通鍵を共有する。   Hereinafter, an example of an embodiment of the present invention will be described. The key exchange system according to the present embodiment shares a common key while performing mutual authentication between two terminals by predetermined communication and calculation.

ところで、各端末には、予め重複しない固有署名鍵と固有検証鍵が認証局(CA)によってそれぞれ割り当てられている。固有署名鍵は、所定の自然数(x)からなり、固有検証鍵は、GDH(GAP−Diffie−Hellman)グループ(G)の要素である楕円曲線上の点(g)と固有署名鍵(x)とに基づいて生成される楕円曲線上の点(v=xg)からなることが好ましい。このように構成されることにより、固有署名鍵(x)を知らない第三者が「v」や「g」の値から固有署名鍵(x)を求めることは計算量的に困難となる。   By the way, a unique signature key and a unique verification key that are not duplicated in advance are assigned to each terminal by a certificate authority (CA). The unique signature key is composed of a predetermined natural number (x), and the unique verification key is a point (g) on an elliptic curve that is an element of a GDH (GAP-Diffie-Hellman) group (G) and a unique signature key (x). It is preferable to consist of points (v = xg) on an elliptic curve generated based on the above. Such a configuration makes it difficult for a third party who does not know the unique signature key (x) to obtain the unique signature key (x) from the values of “v” and “g”.

ここで、本実施形態で採用される具体的な署名方式について説明する。鍵交換システムでは、基本となる署名方式としてGAP−Diffie−Hellman(GDH)署名を採用する。GDH署名とは、Decision−Diffie−Hellman(DDH)問題をペアリングと呼ばれるある種のブラックボックス関数e(P,Q)を用いることで、解くことが可能であることを利用した署名である。   Here, a specific signature scheme employed in the present embodiment will be described. In the key exchange system, a GAP-Diffie-Hellman (GDH) signature is adopted as a basic signature scheme. The GDH signature is a signature that utilizes the fact that the Decision-Diffie-Hellman (DDH) problem can be solved by using a certain black box function e (P, Q) called pairing.

次に、ペアリング演算を用いたGDH署名について説明する。楕円曲線上のDiffie−Hellman問題に関連して、GDHグループが定義されている。GDHグループについて簡単に説明する。Gをある楕円曲線上の点の集合とする。「g」を集合Gの要素としたとき、集合Gにおける楕円曲線上のDecisional Diffie−Hellman(DDH)問題とComputational Diffie−Hellman(CDH)問題が以下のように定義される。   Next, the GDH signature using the pairing operation will be described. A GDH group has been defined in connection with the Diffie-Hellman problem on an elliptic curve. The GDH group will be briefly described. Let G be a set of points on an elliptic curve. When “g” is an element of the set G, the Decision Diffie-Hellman (DDH) problem and the Computational Diffie-Hellman (CDH) problem on the elliptic curve in the set G are defined as follows.

DDH問題:あるa、b、c∈Z (p未満の自然数)があり、g、ag、bg、cgが与えられた時、c=abかどうかを判定する問題。
CDH問題:あるa、b、c∈Z があり、g、ag、bgが与えられた時、abgを計算する問題。
DDH problem: A problem of determining whether c = ab when there is a, b, cεZ p * (natural number less than p) and g, ag, bg, cg are given.
CDH problem: The problem of calculating abg when there is a, b, cεZ p * and g, ag, bg are given.

このとき、DDH問題は、計算量的に簡単であるが、CDH問題は、計算量的に難問である場合、この集合GをGDHグループと定義する。   At this time, the DDH problem is simple in terms of calculation amount, but if the CDH problem is difficult in terms of calculation amount, this set G is defined as a GDH group.

これに対し、ある楕円曲線上の点をP,Qとし、そのP,Qによっては、次にあげる性質を持つことができるペアリングと呼ばれるブラックボックス関数e(P,Q)を定義できるものが存在する。
e(P,Q+Q)=e(P,Q)e(P,Q) ・・・(1)
e(P+P,Q)=e(P,Q)e(P,Q) ・・・(2)
e(aP,bQ)=e(bP,aQ)=e(abP,Q)=e(P,abQ)=e(P,Q)ab ・・・(3)
On the other hand, points on an elliptic curve are P and Q, and depending on the P and Q, a black box function e (P, Q) called pairing that can have the following properties can be defined. Exists.
e (P, Q 1 + Q 2 ) = e (P, Q 1 ) e (P, Q 2 ) (1)
e (P 1 + P 2 , Q) = e (P 1 , Q) e (P 2 , Q) (2)
e (aP, bQ) = e (bP, aQ) = e (abP, Q) = e (P, abQ) = e (P, Q) ab (3)

よって、gがペアリング演算の可能な楕円曲線上の点である場合には、上記の性質から、(3)式にg、ag、bg、cgを入力すると、
e(ag,bg)=e(g,g)ab ・・・(4)
e(g,cg)=e(g,g) ・・・(5)
となり、両者の値が一致するかどうかにより、「ab=c」であるかどうかを判定でき、gはGDHグループGの要素となりうる。
Therefore, when g is a point on an elliptic curve that can be paired, if g, ag, bg, and cg are input to the equation (3) from the above property,
e (ag, bg) = e (g, g) ab (4)
e (g, cg) = e (g, g) c (5)
Thus, whether or not “ab = c” can be determined depending on whether or not both values match, and g can be an element of the GDH group G.

この性質を利用してGDH署名が構成される。集合Gは、GDHグループであり、gは集合Gの要素となる点とする。また、一方向性ハッシュ関数Hを、通常使用される任意のビット長のサイズの数値データが固定のビット長のサイズの数値データに写像変換される方式とは異なり、
H:{0,1}→G
のように、任意のビット長のサイズの数値データを、楕円曲線上の点として表現されるGDHグループGの要素に写像変換する方式であると定義する。
A GDH signature is constructed using this property. The set G is a GDH group, and g is a point that is an element of the set G. In addition, unlike the method in which the one-way hash function H is mapped and converted into numerical data having an arbitrary bit length size that is normally used, the numerical data having a fixed bit length size,
H: {0,1} * → G
As described above, it is defined that the numerical data having an arbitrary bit length size is mapped to the elements of the GDH group G expressed as points on the elliptic curve.

このとき、GDH署名は以下のように定義される。
鍵生成:自然数x∈Z を選び、gからv=xgを計算する。xを署名鍵、楕円曲線上の点vを検証鍵とする。
署名:署名者は、メッセージ「m∈{0,1}」に対しh=H(m)を計算し、さらに自分の署名鍵を用いてσ=xhを計算する。σをmに対する署名として公開する。
検証:検証者は、メッセージmからh=H(m)を計算し、g、v、h、σを準備する。e(g,σ)とe(v,h)を計算し、両者の値が一致したら、署名σは、正しい署名と判定する。
At this time, the GDH signature is defined as follows.
Key generation: A natural number xεZ p * is selected, and v = xg is calculated from g. Let x be the signature key and point v on the elliptic curve be the verification key.
Signature: The signer calculates h = H (m) for the message “mε {0,1} * ”, and further calculates σ = xh using his signature key. Publish σ as a signature for m.
Verification: The verifier calculates h = H (m) from the message m, and prepares g, v, h, and σ. e (g, σ) and e (v, h) are calculated, and if both values match, the signature σ is determined to be a correct signature.

このとき、hの値は集合Gの要素となるので、あるy∈Z を用いてh=ygと表現できる。その結果、正しく署名が行われていれば(g,v,h,σ)=(g,xg,yg,xyg)となる。したがって、正当な署名であれば、上記の検証でのペアリング演算は、e(g,σ)=e(g,xyg)=e(g,g)xy=e(xg,yg)=e(v,h)となり、値が一致することから、検証可能となる。なお、GDHグループの条件であるCDH問題の困難性から、署名鍵xを知らない第三者がg、v、hの値から署名σを導出することは不可能である。 At this time, since the value of h becomes an element of the set G, it can be expressed as h = yg using a certain y∈Z p * . As a result, if the signature is correctly performed, (g, v, h, σ) = (g, xg, yg, xyg). Therefore, if the signature is valid, the pairing operation in the above verification is e (g, σ) = e (g, xyg) = e (g, g) xy = e (xg, yg) = e ( v, h) and the values match, so that verification is possible. Note that due to the difficulty of the CDH problem that is a condition of the GDH group, it is impossible for a third party who does not know the signature key x to derive the signature σ from the values of g, v, and h.

図1は、本実施形態に係る鍵交換システム1の機能構成を示すブロック図である。端末10(第1の端末)と端末20(第2の端末)とは、ネットワークを介して接続されている。なお、本実施形態では、端末10から通信を開始することとして説明するが、端末20から開始してもよい。この場合、端末10と端末20とが備える構成(各部)が逆となる。   FIG. 1 is a block diagram showing a functional configuration of a key exchange system 1 according to the present embodiment. The terminal 10 (first terminal) and the terminal 20 (second terminal) are connected via a network. In addition, although this embodiment demonstrates as starting communication from the terminal 10, you may start from the terminal 20. FIG. In this case, the configuration (each unit) included in the terminal 10 and the terminal 20 is reversed.

端末10は、制御部11と、記憶部12と、入力部13と、表示部14と、通信部15とを備える。また、端末20も同様に、制御部21と、記憶部22と、入力部23と、表示部24と、通信部25とを備える。   The terminal 10 includes a control unit 11, a storage unit 12, an input unit 13, a display unit 14, and a communication unit 15. Similarly, the terminal 20 includes a control unit 21, a storage unit 22, an input unit 23, a display unit 24, and a communication unit 25.

制御部11は、端末10の全体を、制御部21は、端末20の全体を制御する部分であり、それぞれ、記憶部12又は記憶部22に記憶された各種プログラムを適宜読み出して実行することにより、前述のハードウェアと協働し、本実施形態における各種機能を実現している。制御部11及び制御部21は、CPU(Central Processing Unit)であってよい。なお、制御部11及び制御部21が備える各部の機能は後述する。   The control unit 11 is a part that controls the entire terminal 10, and the control unit 21 is a part that controls the entire terminal 20, and appropriately reads and executes various programs stored in the storage unit 12 or the storage unit 22, respectively. In cooperation with the hardware described above, various functions in the present embodiment are realized. The control unit 11 and the control unit 21 may be a CPU (Central Processing Unit). In addition, the function of each part with which the control part 11 and the control part 21 are provided is mentioned later.

記憶部12及び記憶部22は、ハードウェア群を端末10又は端末20として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ハードディスク(HDD)であってよい。具体的には、記憶部12及び記憶部22には、本実施形態の各種機能を制御部11及び制御部21に実行させるプログラムと、公的認証局により発行された固有署名鍵及び固有検証鍵とが記憶される。   The storage unit 12 and the storage unit 22 are storage areas for various programs and various data for causing the hardware group to function as the terminal 10 or the terminal 20, and may be a hard disk (HDD). Specifically, the storage unit 12 and the storage unit 22 include a program for causing the control unit 11 and the control unit 21 to execute various functions of the present embodiment, a unique signature key and a unique verification key issued by a public certificate authority. Is memorized.

なお、固有署名鍵及び固有検証鍵の生成元である、GDHグループ(楕円曲線)Gの要素gが与えられており、端末10については、x∈Z を固有署名鍵、xgを固有検証鍵とする。また、端末20については、x∈Z を固有署名鍵、xgを固有検証鍵とする。それぞれの固有検証鍵には、公的認証局による発行証明書が付いており、gと固有検証鍵(v=xg及びv=xg)とは公開されている。 Note that an element g of a GDH group (elliptic curve) G, which is a generation source of the unique signature key and the unique verification key, is given, and for the terminal 10, x 1 ∈Z p * is the unique signature key, x 1 g Is a unique verification key. Further, for the terminal 20, x 2 εZ p * is a unique signature key and x 2 g is a unique verification key. Each unique verification key is accompanied by a certificate issued by a public certificate authority, and g and the unique verification keys (v 1 = x 1 g and v 2 = x 2 g) are made public.

入力部13及び入力部23は、端末10又は端末20に対するユーザからの指示入力を受け付けるインタフェース装置である。入力部13及び入力部23は、例えば、キーボード、マウス及びタッチパネル等により構成される。   The input unit 13 and the input unit 23 are interface devices that accept an instruction input from the user to the terminal 10 or the terminal 20. The input unit 13 and the input unit 23 are configured by, for example, a keyboard, a mouse, a touch panel, and the like.

表示部14及び表示部24は、ユーザにデータの入力を受け付ける画面を表示したり、端末10又は端末20による処理結果の画面を表示したりするものである。表示部14及び表示部24は、ブラウン管表示装置(CRT)や液晶表示装置(LCD)等のディスプレイ装置であってよい。   The display unit 14 and the display unit 24 display a screen for accepting data input to the user, or display a screen of a processing result by the terminal 10 or the terminal 20. The display unit 14 and the display unit 24 may be a display device such as a cathode ray tube display device (CRT) or a liquid crystal display device (LCD).

通信部15及び通信部25は、ネットワークを介して外部装置と通信を行うネットワーク・アダプタである。通信部15と通信部25とは、端末10と端末20との間の通信を確立し、互いに各種データの送受信を行う。具体的には、本実施形態では、共通鍵の生成及び相互認証に用いられるデータが送受信される。   The communication unit 15 and the communication unit 25 are network adapters that communicate with an external device via a network. The communication unit 15 and the communication unit 25 establish communication between the terminal 10 and the terminal 20, and transmit and receive various data to and from each other. Specifically, in this embodiment, data used for generating a common key and mutual authentication is transmitted and received.

端末10の制御部11は、選択部111と、署名生成部112と、送信部113(第1の送信部)と、受信部114(第1の受信部)と、鍵生成部115(第1の鍵生成部)とを備える。また、端末20の制御部21は、受信部211(第2の受信部)と、検証部212と、送信部213(第2の送信部)と、鍵生成部214(第2の鍵生成部)とを備える。   The control unit 11 of the terminal 10 includes a selection unit 111, a signature generation unit 112, a transmission unit 113 (first transmission unit), a reception unit 114 (first reception unit), and a key generation unit 115 (first Key generation unit). The control unit 21 of the terminal 20 includes a reception unit 211 (second reception unit), a verification unit 212, a transmission unit 213 (second transmission unit), and a key generation unit 214 (second key generation unit). ).

選択部111は、GDHグループ(楕円曲線)Gから、一の要素(点)hをランダムに選択する。   The selection unit 111 randomly selects one element (point) h from the GDH group (elliptic curve) G.

署名生成部112は、選択部111により選択されたhに対して端末10の固有署名鍵(x)により演算を行い、署名情報(xh)を生成する。 The signature generation unit 112 performs an operation on h selected by the selection unit 111 using the unique signature key (x 1 ) of the terminal 10 to generate signature information (x 1 h).

送信部113は、端末10の発行証明書付き固有検証鍵(v)、一の要素(h)及び署名情報(xh)を、通信部15を介して端末20へ送信する。 The transmission unit 113 transmits the unique verification key with issued certificate (v 1 ), one element (h), and signature information (x 1 h) of the terminal 10 to the terminal 20 via the communication unit 15.

受信部114は、端末20から、通信部15を介して端末20の発行証明書付き固有検証鍵(v)を受信する。 The receiving unit 114 receives the unique verification key (v 2 ) with the issued certificate of the terminal 20 from the terminal 20 via the communication unit 15.

鍵生成部115は、一の要素(h)、端末20の固有検証鍵(v)及び端末10の固有署名鍵に基づいて、(6)式又は(7)式により、共通鍵(Key)を生成する。

Figure 0005414558
Based on the element (h), the unique verification key (v 2 ) of the terminal 20, and the unique signature key of the terminal 10, the key generation unit 115 uses the equation (6) or (7) to obtain a common key (Key). Is generated.
Figure 0005414558

受信部211は、端末10から、端末10の発行証明書付き固有検証鍵(v)、一の要素(h)及び署名情報(xh)を、通信部25を介して受信する。 The receiving unit 211 receives the unique verification key (v 1 ) with the issued certificate of the terminal 10, one element (h), and signature information (x 1 h) from the terminal 10 via the communication unit 25.

検証部212は、公開されている要素(g)及び署名情報(xh)に基づくペアリング演算「e(g,xh)」の結果と、端末10の固有検証鍵(v)及び一の要素(h)に基づくペアリング演算「e(v,h)」の結果とが等しいことを確かめ、署名情報(xh)の正当性を検証する。 The verification unit 212 obtains the result of the pairing operation “e (g, x 1 h)” based on the disclosed element (g) and the signature information (x 1 h), and the unique verification key (v 1 ) of the terminal 10. And the pairing operation “e (v 1 , h)” based on the one element (h) is confirmed to be equal, and the validity of the signature information (x 1 h) is verified.

送信部213は、検証部212により署名情報(xh)の正当性が検証された場合に、鍵交換の手続きを継続するため、端末20の発行証明書付き固有検証鍵(v)を、通信部25を介して端末10へ送信する。 When the validity of the signature information (x 1 h) is verified by the verification unit 212, the transmission unit 213 uses the unique verification key (v 2 ) with the issued certificate of the terminal 20 to continue the key exchange procedure. And transmitted to the terminal 10 via the communication unit 25.

鍵生成部214は、署名情報(xh)、端末10の固有検証鍵(v)及び端末20の固有署名鍵に基づいて、(8)式により、共通鍵(Key)を生成する。

Figure 0005414558
Based on the signature information (x 1 h), the unique verification key (v 1 ) of the terminal 10, and the unique signature key of the terminal 20, the key generation unit 214 generates a common key (Key) using Equation (8).
Figure 0005414558

ここで、「v=xg」、「v=xg」であることを用いると、式(6)〜(8)は、いずれも、

Figure 0005414558
と変形できるので、端末10の鍵生成部115により生成された共通鍵と、端末20の鍵生成部214により生成された共通鍵とは同一の値となる。 Here, using “v 1 = x 1 g” and “v 2 = x 2 g”, the equations (6) to (8) are all
Figure 0005414558
Therefore, the common key generated by the key generation unit 115 of the terminal 10 and the common key generated by the key generation unit 214 of the terminal 20 have the same value.

図2は、本実施形態に係る鍵交換システム1における鍵交換方法を示す概要図である。
端末10は、固有署名鍵(x)と固有検証鍵(v=xg)とを記憶している。また、端末20は、固有署名鍵(x)と固有検証鍵(v=xg)とを記憶している。
FIG. 2 is a schematic diagram showing a key exchange method in the key exchange system 1 according to the present embodiment.
The terminal 10 stores a unique signature key (x 1 ) and a unique verification key (v 1 = x 1 g). Further, the terminal 20 stores a unique signature key (x 2 ) and a unique verification key (v 2 = x 2 g).

端末10においてランダムに選択された一の要素(h)により、署名情報(xh)が生成されると、端末10から端末20へ、固有検証鍵(v)、一の要素(h)及び署名情報(xh)が送信される。 When the signature information (x 1 h) is generated from one element (h) selected at random in the terminal 10, the unique verification key (v 1 ) and one element (h) are transmitted from the terminal 10 to the terminal 20. And signature information (x 1 h) is transmitted.

端末20は、ペアリング演算により「e(g,xh)」と「e(v,h)」とが等しいことを確認する。そして、両者が一致した場合に、端末20から端末10へ、固有検証鍵(v)が送信される。 The terminal 20 confirms that “e (g, x 1 h)” and “e (v 1 , h)” are equal by the pairing calculation. When the two match, the unique verification key (v 2 ) is transmitted from the terminal 20 to the terminal 10.

端末10及び端末20では、それぞれが前述のように、ペアリング演算により共通鍵を生成し、端末間で共有する。   As described above, each of the terminal 10 and the terminal 20 generates a common key by pairing calculation and shares it between the terminals.

図3は、本実施形態に係る鍵交換システム1における鍵交換方法の処理手順を示すフローチャートである。本処理は、記憶部12及び記憶部22に記憶されているプログラムが、それぞれ制御部11及び制御部21により実行されることにより行われる。   FIG. 3 is a flowchart showing a processing procedure of a key exchange method in the key exchange system 1 according to the present embodiment. This process is performed by the programs stored in the storage unit 12 and the storage unit 22 being executed by the control unit 11 and the control unit 21, respectively.

ステップS1(選択ステップ)では、制御部11(選択部111)は、GDHグループから一の要素(h)を選択する。   In step S1 (selection step), the control unit 11 (selection unit 111) selects one element (h) from the GDH group.

ステップS2(署名生成ステップ)では、制御部11(署名生成部112)は、自身の固有署名鍵(x)とステップS1で選択された一の要素(h)とに基づいて、署名情報(xh)を生成する。 In step S2 (signature generation step), the control unit 11 (signature generation unit 112), based on its own unique signature key (x 1 ) and the one element (h) selected in step S1, sign information ( x 1 h) is generated.

ステップS3(第1の送信ステップ)では、制御部11(送信部113)は、固有検証鍵(v)、一の要素(h)、及びステップS2で生成された署名情報(xh)を、端末20へ送信する。 In step S3 (first transmission step), the control unit 11 (transmission unit 113) determines the unique verification key (v 1 ), one element (h), and the signature information (x 1 h) generated in step S2. Is transmitted to the terminal 20.

ステップS4(第2の受信ステップ)では、制御部21(受信部211)は、ステップS3で送信された固有検証鍵(v)、一の要素(h)及び署名情報(xh)を受信する。 In step S4 (second receiving step), the control unit 21 (receiving unit 211) receives the unique verification key (v 1 ), one element (h), and signature information (x 1 h) transmitted in step S3. Receive.

ステップS5では、制御部21(検証部212)は、ペアリング演算を用いて、ステップS4で受信した署名情報(xh)の正当性を検証する。 In step S5, the control unit 21 (verification unit 212) verifies the validity of the signature information (x 1 h) received in step S4 using pairing calculation.

ステップS6では、制御部21は、ステップS5で検証された署名情報(xh)が正当なものであるか否かを判定する。制御部21は、この判定がYESの場合は、処理をステップS7に移し、判定がNOの場合は、処理を終了して鍵交換を中止する。 In step S6, the control unit 21 determines whether or not the signature information (x 1 h) verified in step S5 is valid. If this determination is YES, the control unit 21 moves the process to step S7. If the determination is NO, the control unit 21 ends the process and stops key exchange.

ステップS7(第2の送信ステップ)では、制御部21(送信部213)は、署名情報(xh)が正当であることが確認されたので、自身の固有検証鍵(v)を端末10へ送信する。 In step S7 (second transmission step), since it is confirmed that the signature information (x 1 h) is valid, the control unit 21 (transmission unit 213) uses its own unique verification key (v 2 ) as a terminal. 10 to send.

ステップS8(第1の受信ステップ)では、制御部11(受信部114)は、ステップS7で送信された固有検証鍵(v)を受信する。 In step S8 (first reception step), the control unit 11 (reception unit 114) receives the unique verification key (v 2 ) transmitted in step S7.

ステップS9(第1の鍵生成ステップ)では、制御部11(鍵生成部115)は、一の要素(h)又は署名情報(xh)、端末20の固有検証鍵(v)、及び端末10の固有署名鍵(x)を用いた前述のペアリング演算により、共通鍵を生成する。 In step S9 (first key generation step), the control unit 11 (key generation unit 115) transmits one element (h) or signature information (x 1 h), the unique verification key (v 2 ) of the terminal 20, and A common key is generated by the above-described pairing operation using the unique signature key (x 1 ) of the terminal 10.

ステップS10(第2の鍵生成ステップ)では、制御部21(鍵生成部214)は、署名情報(xh)、端末10の固有検証鍵(v)、及び端末20の固有署名鍵(x)を用いた前述のペアリング演算により、共通鍵を生成する。 In step S10 (second key generation step), the control unit 21 (key generation unit 214) performs signature information (x 1 h), a unique verification key (v 1 ) of the terminal 10, and a unique signature key ( A common key is generated by the above pairing operation using x 2 ).

以上のように、本実施形態によれば、鍵生成部115及び鍵生成部214は、それぞれの発行証明書付きの公開された固有検証鍵を用いて共通鍵の生成を行っているため、端末10と端末20との相互認証が可能となる。したがって、鍵交換システム1は、中間者攻撃を排除することができる。   As described above, according to the present embodiment, the key generation unit 115 and the key generation unit 214 generate a common key by using a publicly-verified unique verification key with an issued certificate. 10 and the terminal 20 can be mutually authenticated. Therefore, the key exchange system 1 can eliminate the man-in-the-middle attack.

さらに、鍵交換システム1では、端末間の1往復(2回)の通信のみで共通鍵が共有され、また、公開情報の他に必要な情報は、ランダムな要素hと、このhに対する署名情報xhのみであり、情報量が少ない。また、演算回数は、端末20では署名検証時及び鍵生成時の3回のペアリング演算、端末10では鍵生成時の1回のペアリング演算であるため、従来の認証鍵交換に比べて演算回数が少ない。したがって、本実施形態によれば、相互認証を可能としつつ、通信、メモリ及び演算の負荷を低減した認証鍵交換を行える。 Further, in the key exchange system 1, the common key is shared only by one round-trip (two times) communication between the terminals, and necessary information other than the public information includes a random element h and signature information for this h. Only x 1 h and the amount of information is small. In addition, since the number of calculations is three pairing calculations at the time of signature verification and key generation in the terminal 20, and one pairing calculation at the time of key generation in the terminal 10, it is calculated in comparison with the conventional authentication key exchange. Less often. Therefore, according to the present embodiment, it is possible to perform authentication key exchange with reduced communication, memory, and computation load while enabling mutual authentication.

以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。   As mentioned above, although embodiment of this invention was described, this invention is not restricted to embodiment mentioned above. Further, the effects described in the present embodiment are merely a list of the most preferable effects resulting from the present invention, and the effects of the present invention are not limited to those described in the present embodiment.

前述の実施形態では、選択部111は、一の要素(h)をGDHグループから直接求めたが、これには限られない。例えば、選択部111は、数値データをGDHグループの要素に写像変換する一方向性ハッシュ関数(H:{0,1}→G)の演算により、乱数データ(r∈Z )から一の要素(h=H(r))を求めてもよい。 In the above-described embodiment, the selection unit 111 directly obtains one element (h) from the GDH group, but is not limited thereto. For example, the selection unit 111 calculates one from random number data (rεZ p * ) by an operation of a one-way hash function (H: {0, 1} * → G) that maps and converts numerical data into elements of the GDH group. (H = H (r)) may be obtained.

また、例えば、選択部111は、数値データを固定長の数値データに写像変換する一方向性ハッシュ関数(H´:{0,1}→{0,1})の演算により乱数データ(r)から算出された数値、及びGDHグループの要素(g´)に基づいて、一の要素(h=H´(r)g´)を求めてもよい。ここで、lは、ハッシュ値のサイズを示し、例えばSHA−1なら160である。なお、乱数データ(r)が第三者に取得されると、要素(g´)が求められ、一の要素(h)が書き換えられるおそれがあるため、乱数データ(r)は公開されない。 In addition, for example, the selection unit 111 performs random number data (H ′: {0, 1} * → {0, 1} l ) by calculating a one-way hash function (M ′) that maps and converts numeric data into fixed-length numeric data. One element (h = H ′ (r) g ′) may be obtained based on the numerical value calculated from r) and the element (g ′) of the GDH group. Here, l indicates the size of the hash value. For example, 160 is SHA-1. Note that when the random number data (r) is acquired by a third party, the element (g ′) is obtained, and the one element (h) may be rewritten. Therefore, the random number data (r) is not disclosed.

このように一方向性ハッシュ関数を用いることにより、選択部111は、GDHグループに属するランダムな要素(h)を、乱数データから容易に算出することができる。   By using the one-way hash function in this way, the selection unit 111 can easily calculate the random element (h) belonging to the GDH group from the random number data.

1 鍵交換システム
10 端末(第1の端末)
20 端末(第2の端末)
111 選択部
112 署名生成部
113 送信部(第1の送信部)
114 受信部(第1の受信部)
115 鍵生成部(第1の鍵生成部)
211 受信部(第2の受信部)
212 検証部
213 送信部(第2の送信部)
214 鍵生成部(第2の鍵生成部)
1 Key exchange system 10 Terminal (first terminal)
20 terminals (second terminal)
111 Selection Unit 112 Signature Generation Unit 113 Transmission Unit (First Transmission Unit)
114 Receiving unit (first receiving unit)
115 Key generation unit (first key generation unit)
211 Receiving unit (second receiving unit)
212 verification unit 213 transmission unit (second transmission unit)
214 Key generation unit (second key generation unit)

Claims (7)

第1の端末と第2の端末とが共通鍵を共有する鍵交換システムであって、
前記第1の端末及び前記第2の端末には、予め重複しない自然数からなる固有署名鍵と、当該固有署名鍵及びGDH(GAP−Diffie−Hellman)グループに属する公開された要素に基づいて生成される固有検証鍵と、がそれぞれ割り当てられており、
前記第1の端末は、
前記GDHグループから一の要素を選択する選択部と、
前記一の要素に対して前記第1の端末の固有署名鍵により演算を行い、署名情報を生成する署名生成部と、
前記第1の端末の固有検証鍵及び前記署名情報を、前記第2の端末へ送信する第1の送信部と、
前記第2の端末から、前記第2の端末の固有検証鍵を受信する第1の受信部と、
前記一の要素、前記第2の端末の固有検証鍵及び前記第1の端末の固有署名鍵に基づいて、前記共通鍵を生成する第1の鍵生成部と、を備え、
前記第2の端末は、
前記第1の端末から、前記第1の端末の固有検証鍵及び前記署名情報を受信する第2の受信部と、
前記第2の端末の固有検証鍵を、前記第1の端末へ送信する第2の送信部と、
前記署名情報、前記第1の端末の固有検証鍵及び前記第2の端末の固有署名鍵に基づいて、前記共通鍵を生成する第2の鍵生成部と、を備える鍵交換システム。
A key exchange system in which a first terminal and a second terminal share a common key,
The first terminal and the second terminal are generated in advance based on a unique signature key consisting of a natural number that does not overlap in advance, and the unique signature key and a public element belonging to a GDH (GAP-Diffie-Hellman) group. And a unique verification key
The first terminal is
A selection unit for selecting one element from the GDH group;
A signature generating unit that performs an operation on the one element using the unique signature key of the first terminal and generates signature information;
A first transmitter that transmits the unique verification key of the first terminal and the signature information to the second terminal;
A first receiving unit that receives a unique verification key of the second terminal from the second terminal;
A first key generation unit that generates the common key based on the one element, the unique verification key of the second terminal, and the unique signature key of the first terminal;
The second terminal is
A second receiving unit for receiving the unique verification key of the first terminal and the signature information from the first terminal;
A second transmitter that transmits the unique verification key of the second terminal to the first terminal;
A key exchange system comprising: a second key generation unit that generates the common key based on the signature information, the unique verification key of the first terminal, and the unique signature key of the second terminal.
前記第1の端末は、
前記第1の送信部により、さらに前記一の要素を、前記第2の端末へ送信し、
前記第2の端末は、
前記第2の受信部により、前記第1の端末から、さらに前記一の要素を受信し、
前記公開された要素及び前記署名情報に基づく所定の演算結果と、前記第1の端末の固有検証鍵及び前記一の要素に基づく前記所定の演算結果と、が等しいことを確かめ、前記署名情報の正当性を検証する検証部をさらに備え、
前記第2の送信部は、前記検証部により前記署名情報の正当性が検証された場合に、前記第2の端末の固有検証鍵を、前記第1の端末へ送信する請求項1に記載の鍵交換システム。
The first terminal is
The first transmission unit further transmits the one element to the second terminal,
The second terminal is
The second receiving unit further receives the one element from the first terminal,
Confirm that the predetermined calculation result based on the disclosed element and the signature information is equal to the predetermined verification result based on the unique verification key of the first terminal and the one element, and the signature information A verification unit for verifying the correctness;
The said 2nd transmission part transmits the specific verification key of the said 2nd terminal to the said 1st terminal, when the validity of the said signature information is verified by the said verification part. Key exchange system.
前記選択部は、前記一の要素を、前記GDHグループからランダムに選択する請求項1又は請求項2に記載の鍵交換システム。   The key exchange system according to claim 1 or 2, wherein the selection unit randomly selects the one element from the GDH group. 前記選択部は、数値データを前記GDHグループの要素に写像変換する一方向性ハッシュ関数演算により、乱数データから前記一の要素を求める請求項3に記載の鍵交換システム。   4. The key exchange system according to claim 3, wherein the selection unit obtains the one element from random number data by performing a one-way hash function calculation for mapping and converting numerical data into elements of the GDH group. 前記選択部は、数値データを固定長の数値データに写像変換する一方向性ハッシュ関数演算により乱数データから算出された数値、及び前記GDHグループの要素に基づいて、前記一の要素を求める請求項3に記載の鍵交換システム。   The selection unit obtains the one element based on a numerical value calculated from random number data by a one-way hash function calculation for mapping and converting numerical data to fixed-length numerical data, and an element of the GDH group. 3. The key exchange system according to 3. 第1の端末と第2の端末とが共通鍵を共有する鍵交換方法であって、
前記第1の端末及び前記第2の端末には、予め重複しない自然数からなる固有署名鍵と、当該固有署名鍵及びGDH(GAP−Diffie−Hellman)グループに属する公開された要素に基づいて生成される固有検証鍵と、がそれぞれ割り当てられており、
前記第1の端末は、
前記GDHグループから一の要素を選択する選択ステップと、
前記一の要素に対して前記第1の端末の固有署名鍵により演算を行い、署名情報を生成する署名生成ステップと、
前記第1の端末の固有検証鍵及び前記署名情報を、前記第2の端末へ送信する第1の送信ステップと、
前記第2の端末から、前記第2の端末の固有検証鍵を受信する第1の受信ステップと、
前記一の要素、前記第2の端末の固有検証鍵及び前記第1の端末の固有署名鍵に基づいて、前記共通鍵を生成する第1の鍵生成ステップと、を実行し、
前記第2の端末は、
前記第1の端末から、前記第1の端末の固有検証鍵及び前記署名情報を受信する第2の受信ステップと、
前記第2の端末の固有検証鍵を、前記第1の端末へ送信する第2の送信ステップと、
前記署名情報、前記第1の端末の固有検証鍵及び前記第2の端末の固有署名鍵に基づいて、前記共通鍵を生成する第2の鍵生成ステップと、を実行する鍵交換方法。
A key exchange method in which a first terminal and a second terminal share a common key,
The first terminal and the second terminal are generated in advance based on a unique signature key consisting of a natural number that does not overlap in advance, and the unique signature key and a public element belonging to a GDH (GAP-Diffie-Hellman) group. And a unique verification key
The first terminal is
A selection step of selecting one element from the GDH group;
A signature generation step of performing calculation on the one element using the unique signature key of the first terminal and generating signature information;
A first transmission step of transmitting the unique verification key of the first terminal and the signature information to the second terminal;
A first receiving step of receiving a unique verification key of the second terminal from the second terminal;
Performing a first key generation step of generating the common key based on the one element, the unique verification key of the second terminal and the unique signature key of the first terminal;
The second terminal is
A second receiving step of receiving the unique verification key of the first terminal and the signature information from the first terminal;
A second transmission step of transmitting the unique verification key of the second terminal to the first terminal;
And a second key generation step of generating the common key based on the signature information, the unique verification key of the first terminal, and the unique signature key of the second terminal.
第1の端末と第2の端末とに共通鍵を共有させる鍵交換プログラムであって、
前記第1の端末及び前記第2の端末には、予め重複しない自然数からなる固有署名鍵と、当該固有署名鍵及びGDH(GAP−Diffie−Hellman)グループに属する公開された要素に基づいて生成される固有検証鍵と、がそれぞれ割り当てられており、
前記第1の端末に、
前記GDHグループから一の要素を選択する選択ステップと、
前記一の要素に対して前記第1の端末の固有署名鍵により演算を行い、署名情報を生成する署名生成ステップと、
前記第1の端末の固有検証鍵及び前記署名情報を、前記第2の端末へ送信する第1の送信ステップと、
前記第2の端末から、前記第2の端末の固有検証鍵を受信する第1の受信ステップと、
前記一の要素、前記第2の端末の固有検証鍵及び前記第1の端末の固有署名鍵に基づいて、前記共通鍵を生成する第1の鍵生成ステップと、を実行させ、
前記第2の端末に、
前記第1の端末から、前記第1の端末の固有検証鍵及び前記署名情報を受信する第2の受信ステップと、
前記第2の端末の固有検証鍵を、前記第1の端末へ送信する第2の送信ステップと、
前記署名情報、前記第1の端末の固有検証鍵及び前記第2の端末の固有署名鍵に基づいて、前記共通鍵を生成する第2の鍵生成ステップと、を実行させる鍵交換プログラム。
A key exchange program for causing a first terminal and a second terminal to share a common key,
The first terminal and the second terminal are generated based on a unique signature key composed of natural numbers that do not overlap in advance, and the unique signature key and a public element belonging to a GDH (GAP-Diffie-Hellman) group. And a unique verification key
In the first terminal,
A selection step of selecting one element from the GDH group;
A signature generation step of performing calculation on the one element using the unique signature key of the first terminal and generating signature information;
A first transmission step of transmitting the unique verification key of the first terminal and the signature information to the second terminal;
A first receiving step of receiving a unique verification key of the second terminal from the second terminal;
A first key generation step of generating the common key based on the one element, the unique verification key of the second terminal and the unique signature key of the first terminal;
In the second terminal,
A second receiving step of receiving the unique verification key of the first terminal and the signature information from the first terminal;
A second transmission step of transmitting the unique verification key of the second terminal to the first terminal;
A key exchange program for executing a second key generation step of generating the common key based on the signature information, the unique verification key of the first terminal, and the unique signature key of the second terminal.
JP2010019419A 2010-01-29 2010-01-29 Key exchange system, key exchange method, and key exchange program Expired - Fee Related JP5414558B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010019419A JP5414558B2 (en) 2010-01-29 2010-01-29 Key exchange system, key exchange method, and key exchange program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010019419A JP5414558B2 (en) 2010-01-29 2010-01-29 Key exchange system, key exchange method, and key exchange program

Publications (2)

Publication Number Publication Date
JP2011160136A JP2011160136A (en) 2011-08-18
JP5414558B2 true JP5414558B2 (en) 2014-02-12

Family

ID=44591737

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010019419A Expired - Fee Related JP5414558B2 (en) 2010-01-29 2010-01-29 Key exchange system, key exchange method, and key exchange program

Country Status (1)

Country Link
JP (1) JP5414558B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021168860A1 (en) 2020-02-29 2021-09-02 华为技术有限公司 Method for updating key and related device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000115159A (en) * 1998-09-30 2000-04-21 Nec Corp Work protection system and work protection method therefor
JP2000278258A (en) * 1999-03-19 2000-10-06 Sharp Corp Common key exchange method
JP2006140743A (en) * 2004-11-11 2006-06-01 Epson Toyocom Corp Method for delivering common key
JP4869824B2 (en) * 2006-08-08 2012-02-08 三菱電機株式会社 Receiver device, sender device, cryptographic communication system, and program
JP5038868B2 (en) * 2007-11-28 2012-10-03 日本電信電話株式会社 Key sharing method, first device, second device, and program thereof
JP4922139B2 (en) * 2007-11-28 2012-04-25 日本電信電話株式会社 Key sharing method, first device, second device, and program thereof

Also Published As

Publication number Publication date
JP2011160136A (en) 2011-08-18

Similar Documents

Publication Publication Date Title
CA2596500C (en) Method and structure for challenge-response signatures and high-performance secure diffie-hellman protocols
CN107659395B (en) Identity-based distributed authentication method and system in multi-server environment
US5796833A (en) Public key sterilization
WO2019209168A2 (en) Data processing method, related apparatus, and blockchain system
US9705683B2 (en) Verifiable implicit certificates
US7007164B1 (en) Method and array for authenticating a first instance and a second instance
US20060215837A1 (en) Method and apparatus for generating an identifier-based public/private key pair
TWI807125B (en) Computer implemented system and method for distributing shares of digitally signed data
CN103155481A (en) Authenticated encryption for digital signatures with message recovery
CN104270249A (en) Signcryption method from certificateless environment to identity environment
WO2015035861A1 (en) Certificateless multi-agent signature method and apparatus
CN109936456B (en) Anti-quantum computation digital signature method and system based on private key pool
CN106936584B (en) Method for constructing certificateless public key cryptosystem
CN106972924B (en) Method and device for encryption, decryption, electronic signature and verification signature
CN104301108A (en) Signcryption method based from identity environment to certificateless environment
JP2004208262A (en) Apparatus and method of ring signature based on id employing bilinear pairing
CN111953479B (en) Data processing method and device
KR100989185B1 (en) A password authenticated key exchange method using the RSA
Yin et al. An efficient and secured data storage scheme in cloud computing using ECC-based PKI
GB2421408A (en) Generating an Identifier-Based Public / Private Key Pair from a Multi-Component Signature
CN110519225B (en) Anti-quantum computation HTTPS communication method and system based on asymmetric key pool and certificate cryptography
JP5414558B2 (en) Key exchange system, key exchange method, and key exchange program
JP5333613B2 (en) Proxy parameter information generation device, proxy device, proxy parameter information generation program, proxy program, and communication system
WO2016187690A1 (en) Key agreement protocol
JP5529691B2 (en) Key exchange system, key exchange method, and key exchange program

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120803

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120821

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131010

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131112

R150 Certificate of patent or registration of utility model

Ref document number: 5414558

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees