JP2021034979A - Key exchange system, equipment, information processor, key exchange method, and program - Google Patents

Key exchange system, equipment, information processor, key exchange method, and program Download PDF

Info

Publication number
JP2021034979A
JP2021034979A JP2019156115A JP2019156115A JP2021034979A JP 2021034979 A JP2021034979 A JP 2021034979A JP 2019156115 A JP2019156115 A JP 2019156115A JP 2019156115 A JP2019156115 A JP 2019156115A JP 2021034979 A JP2021034979 A JP 2021034979A
Authority
JP
Japan
Prior art keywords
key
short
shared
keys
key exchange
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.)
Granted
Application number
JP2019156115A
Other languages
Japanese (ja)
Other versions
JP7289478B2 (en
Inventor
彰 永井
Akira Nagai
彰 永井
潤一 富田
Junichi Tomita
潤一 富田
星野 文学
Fumisato Hoshino
文学 星野
淳 藤岡
Atsushi Fujioka
淳 藤岡
鈴木 幸太郎
Kotaro Suzuki
幸太郎 鈴木
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.)
Toyohashi University of Technology NUC
Kanagawa University
Nippon Telegraph and Telephone Corp
Original Assignee
Toyohashi University of Technology NUC
Kanagawa University
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyohashi University of Technology NUC, Kanagawa University, Nippon Telegraph and Telephone Corp filed Critical Toyohashi University of Technology NUC
Priority to JP2019156115A priority Critical patent/JP7289478B2/en
Publication of JP2021034979A publication Critical patent/JP2021034979A/en
Application granted granted Critical
Publication of JP7289478B2 publication Critical patent/JP7289478B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

To reduce a time required for exchanging a key with an authenticated key exchange protocol using an ID base encryption.SOLUTION: A key exchange system exchanging a common key between a first communication device and a second communication device by an authenticated key exchange using an ID base encryption achieved on asymmetric pairing groups G1 and G2, includes: first short period public key generation means of generating a short public key XA,1 of the first communication device by using a generation source and a random number of the G1; second short period public key generation means of generating a short public key XB,2 of the second communication device by using a generation source and a random number of the G2; first common key generation means of generating the common key by using a user private key DA,1 of the first communication device and the short public key XB,2; and second common key generation means of generating the common key by using a user private key DB,2 of the second communication device and the short public key XA,1.SELECTED DRAWING: Figure 1

Description

本発明は、鍵交換システム、機器、情報処理装置、鍵交換方法及びプログラムに関する。 The present invention relates to key exchange systems, devices, information processing devices, key exchange methods and programs.

近年、IoT(Internet of Things)機器が普及したことに伴って、IoT機器でも重要性の高い通信が行われるようになってきた。このため、通信時に互いが正しい機器であるかを確認するための認証技術がIoT機器でも重要になってきている。 In recent years, with the spread of IoT (Internet of Things) devices, highly important communication has come to be performed even in IoT devices. For this reason, authentication technology for confirming whether each other is a correct device during communication is becoming important for IoT devices as well.

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

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

非対称ペアリング群上で実現されるIDベース暗号を用いた認証付き鍵交換プロトコルとして、ISO/IEC(International Organization for Standardization / International Electrotechnical Commission)でも標準化されているFSU(Fujioka-Suzuki-Ustaoglu)が知られている(非特許文献1参照)。FSUはID−eCK安全と呼ばれる最大漏洩攻撃耐性を持っていることが知られている。 FSU (Fujioka-Suzuki-Ustaoglu), which is standardized by ISO / IEC (International Organization for Standardization / International Electrotechnical Commission), is known as a key exchange protocol with authentication using ID-based cryptography realized on asymmetric pairing groups. (See Non-Patent Document 1). FSU is known to have maximum leakage attack resistance called ID-eCK security.

NTT Secure Platform Laboratories, NTT Corporation: Specification of FSU version 1.0, <URL:https://info.isl.ntt.co.jp/crypt/eng/archive/dl/fsu/FSU.pdf>NTT Secure Platform Laboratories, NTT Corporation: Specification of FSU version 1.0, <URL: https://info.isl.ntt.co.jp/crypt/eng/archive/dl/fsu/FSU.pdf>

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

また、例えば、FSUに用いられる非対称ペアリング群をG及びG(ただし、pを素数として、Gは有限体F上の楕円曲線上の群の部分群、Gは有限体Fの拡大体上の楕円曲線上の群の部分群)とした場合、G上の楕円スカラ倍算よりもG上の楕円スカラ倍算の方が、計算コストが高くなる。このため、G上の楕円スカラ倍算のみでプロトコルを構成することができれば鍵交換に要する時間を削減することができるが、FSUではG上の楕円スカラ倍算を3回(又は2回)、G上の楕円スカラ倍算を2回(又は3回)行う必要がある。 Also, for example, the asymmetric pairing group used for FSU is G 1 and G 2 (where p is a prime number, G 1 is a subgroup of the group on the elliptic curve on the finite field F p , and G 2 is the finite field F. If the p subgroup of the group on the elliptic curve over finite in), towards oval scalar multiplication on G 2 than elliptic scalar multiplication on G 1 is, calculation cost is increased. Therefore, it is possible to reduce the time required for key exchange if it is possible to configure the protocol only elliptic scalar multiplication on G 1, 3 times ellipse scalar multiplication on G 1 in FSU (or twice ), elliptic scalar multiplication on G 2 2 times (or three times) it is necessary to perform.

本発明の一実施形態は、上記の点に鑑みてなされたもので、IDベース暗号を用いた認証付き鍵交換プロトコルで鍵交換に要する時間を削減することを目的とする。 One embodiment of the present invention has been made in view of the above points, and an object of the present invention is to reduce the time required for key exchange in an authenticated key exchange protocol using ID-based cryptography.

上記目的を達成するため、本発明の一実施形態に係る鍵交換システムは、非対称ペアリング群G及びG上で実現されるIDベース暗号を用いた認証付き鍵交換により第1の通信装置と第2の通信装置との間で共有鍵を交換する鍵交換システムであって、前記Gの生成元と乱数とを用いて前記第1の通信装置の短期公開鍵XA,1を生成する第1の短期公開鍵生成手段と、前記Gの生成元と乱数とを用いて前記第2の通信装置の短期公開鍵XB,2を生成する第2の短期公開鍵生成手段と、前記短期公開鍵XB,2と前記第1の通信装置のユーザ秘密鍵DA,1とを用いて前記共有鍵を生成する第1の共有鍵生成手段と、前記短期公開鍵XA,1と前記第2の通信装置のユーザ秘密鍵DB,2とを用いて前記共有鍵を生成する第2の共有鍵生成手段と、を有することを特徴とする。 To achieve the above object, a key exchange system according to an embodiment of the present invention, the first communication device by authentication-key exchange using ID-based encryption implemented on asymmetric pairing group G 1 and G 2 A key exchange system that exchanges a shared key between a second communication device and a second communication device, and generates short-term public keys X A, 1 of the first communication device using the generation source of G 1 and a random number. A first short-term public key generating means for generating the short-term public key X B, 2 of the second communication device using the G 2 generation source and a random number, and a second short-term public key generating means for generating the short-term public key X B, 2. A first shared key generating means for generating the shared key using the short-term public keys X B, 2 and the user private keys DA , 1 of the first communication device, and the short-term public keys X A, 1 and having a second common key generation means for generating the shared key by using the user private key D B, 2 of the second communication device and.

IDベース暗号を用いた認証付き鍵交換プロトコルで鍵交換に要する時間を削減することができる。 The time required for key exchange can be reduced by using an authenticated key exchange protocol using ID-based cryptography.

第一の実施形態に係る鍵交換システムの全体構成の一例を示す図である。It is a figure which shows an example of the whole structure of the key exchange system which concerns on 1st Embodiment. 第一の実施形態に係る鍵発行装置及びサーバ装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware composition of the key issuing apparatus and the server apparatus which concerns on 1st Embodiment. 第一の実施形態に係る機器のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware composition of the apparatus which concerns on 1st Embodiment. 第一の実施形態に係る鍵交換システムの機能構成の一例を示す図である。It is a figure which shows an example of the functional structure of the key exchange system which concerns on 1st Embodiment. 第一の実施形態に係る鍵発行処理の一例を示すフローチャートである。It is a flowchart which shows an example of the key issuance processing which concerns on 1st Embodiment. 第一の実施形態に係る鍵交換処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the key exchange process which concerns on 1st Embodiment. 第二の実施形態に係る鍵発行処理の一例を示すフローチャートである。It is a flowchart which shows an example of the key issuance processing which concerns on 2nd Embodiment. 第二の実施形態に係る鍵交換処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the key exchange process which concerns on 2nd Embodiment. 第二の実施形態に係る鍵発行処理の他の例を示すフローチャートである。It is a flowchart which shows the other example of the key issuance processing which concerns on 2nd Embodiment. 第三の実施形態に係る鍵交換システムの全体構成の一例を示す図である。It is a figure which shows an example of the whole structure of the key exchange system which concerns on 3rd Embodiment. 第三の実施形態に係る鍵交換システムの機能構成の一例を示す図である。It is a figure which shows an example of the functional structure of the key exchange system which concerns on 3rd Embodiment. 第三の実施形態に係る鍵発行処理の一例を示すフローチャートである。It is a flowchart which shows an example of the key issuance processing which concerns on 3rd Embodiment. 第三の実施形態に係る鍵交換処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the key exchange process which concerns on 3rd Embodiment.

以下、本発明の各実施形態について説明する。本発明の各実施形態では、IDベース暗号を用いた認証付き鍵交換プロトコルのペアリング演算の回数と楕円スカラ倍算の回数とを削減することで、鍵交換に要する時間を削減することが可能な鍵交換システム1について説明する。 Hereinafter, each embodiment of the present invention will be described. In each embodiment of the present invention, the time required for key exchange can be reduced by reducing the number of pairing operations and the number of elliptical scalar multiplications of the authenticated key exchange protocol using ID-based cryptography. The key exchange system 1 will be described.

ここで、FSUに用いられる非対称ペアリング群をG及びG(ただし、pを素数として、Gは有限体F上の楕円曲線上の群の部分群、Gは有限体Fの拡大体上の楕円曲線上の群の部分群)として、ユーザUをSender(つまり、暗号化通信後のデータ送信側)、ユーザUをReceiver(つまり、暗号化通信後のデータ受信側)として、ユーザUとユーザUとの間で鍵交換を行う場合、上記の非特許文献1に記載されているように、FSUでは、Gの生成元gとGの生成元gに対して乱数xを掛けることでユーザUの短期公開鍵XA,1及びXA,2を生成している。このため、これらの短期公開鍵XA,1及びXA,2を受信したユーザUはこれらの短期公開鍵XA,1及びXA,2が同じ乱数xでスカラ倍されているかを確認する必要があり、その確認のためにペアリング演算e(XA,1,g)とペアリング演算e(g,XA,2)とを計算している。なお、ユーザUの短期公開鍵XB,1及びXB,2をユーザUが受信した場合も同様に、ペアリング演算e(XB,1,g)とペアリング演算e(g,XB,2)とを計算している。 Here, the asymmetric pairing groups G 1 and G 2 (but for use in FSU, as prime p, G 1 is a subgroup of the group on an elliptic curve over a finite field F p, G 2 is finite F p as a subgroup of the group on the elliptic curve over finite), the user U a sender (i.e., the data transmission side after the encrypted communication), receiver user U B (i.e., the data receiver of the encrypted communication ) as, when performing a key exchange between the user U a and the user U B, as described in non-Patent Document 1 above, the FSU, G 1 of origin g 1 and G 2 of origin By multiplying g 2 by a random number x A , the short-term public keys X A, 1 and X A, 2 of the user U A are generated. Therefore, if these short-term public key X A, 1 and X A, 2 user U B which has received the these short-term public key X A, 1 and X A, 2 is the scalar multiplication with the same random number x A It is necessary to confirm, and the pairing operation e (X A, 1 , g 2 ) and the pairing operation e (g 1 , X A, 2 ) are calculated for the confirmation. Incidentally, the short-term public key of the user U B X B, 1 and X B, 2 a as well if the user U A is received, the pairing computation e (X B, 1, g 2) and pairing operation e (g 1 , X B, 2 ) are calculated.

そこで、以降で説明する各実施形態に係る鍵交換システム1では、G及びGの両方の生成元g及びgを使わずに、いずれか一方の生成元のみを使って鍵交換が可能となるようにプロトコルを構成する。これにより、上述した確認のためのペアリング演算を省略することが可能となる。 Therefore, the key exchange system 1 according to the embodiments described in the following, without the generation of both the G 1 and G 2 origional g 1 and g 2, or key exchange using only one origin Configure the protocol to be possible. This makes it possible to omit the pairing operation for confirmation described above.

すなわち、FSUのDH(Diffie-Hellman)鍵交換(つまり、非特許文献1に記載されているFSUで、ユーザU及びユーザU間で共有値σ及びσを生成する処理)をペアリング演算e(x,XB,2)とe(XA,1,x)とにそれぞれ置き換えることで、ユーザUは短期公開鍵XA,1のみを生成すれば良くなり、ユーザUは短期公開鍵XB,2のみを生成すれば良くなる。これにより、ペアリング演算の回数を削減することができると共に、ユーザU側の楕円スカラ倍算の回数を0にすることができる。したがって、ユーザUとユーザUとの間の鍵交換に要する時間を削減することができる。 That, DH (Diffie-Hellman) key exchange FSU (i.e., at FSU described in Non-Patent Document 1, a user U A and the user U B between the processing of generating a shared value sigma 3 and sigma 4 in) pairs By substituting the ring operations e (x A Z 1 , X B, 2 ) and e (X A, 1 , x B Z 2 ), respectively, the user U A can generate only the short-term public key X A, 1. may be, the user U B is well be generated only short-term public key X B, 2. Thus, it is possible to reduce the number of pairing calculation, the number of elliptic scalar multiplication of the user U B side can be made zero. Therefore, it is possible to reduce the time required for key exchange between the user U A and the user U B.

[第一の実施形態]
以降では、第一の実施形態について説明する。第一の実施形態では、G及びGの両方の生成元g及びgを使わずに、いずれか一方の生成元のみを使って鍵交換が可能なプロトコルの基本的な構成について説明する。
[First Embodiment]
Hereinafter, the first embodiment will be described. In the first embodiment, without using the G 1 and both a generator g 1 and g 2 of G 2, or using only one origin basic structure of a key exchange which is capable Protocol Description To do.

<全体構成>
まず、本実施形態に係る鍵交換システム1の全体構成について、図1を参照しながら説明する。図1は、第一の実施形態に係る鍵交換システム1の全体構成の一例を示す図である。
<Overall configuration>
First, the overall configuration of the key exchange system 1 according to the present embodiment will be described with reference to FIG. FIG. 1 is a diagram showing an example of the overall configuration of the key exchange system 1 according to the first embodiment.

図1に示すように、本実施形態に係る鍵交換システム1には、1台以上の鍵発行装置10と、1台以上の機器20と、1台以上のサーバ装置30とが含まれる。鍵発行装置10と機器20とサーバ装置30とは、例えばインターネット等の通信ネットワークNを介して通信可能に接続されている。 As shown in FIG. 1, the key exchange system 1 according to the present embodiment includes one or more key issuing devices 10, one or more devices 20, and one or more server devices 30. The key issuing device 10, the device 20, and the server device 30 are communicably connected via a communication network N such as the Internet.

鍵発行装置10は、KGC(Key Generation Center)として機能するコンピュータ又はコンピュータシステムである。鍵発行装置10は、マスター秘密鍵を用いてマスター公開鍵を生成した上で、当該マスター公開鍵を公開する。また、鍵発行装置10は、機器20やサーバ装置30の識別子(ID)からユーザ秘密鍵を生成した上で、当該識別子に対応する機器20やサーバ装置30に当該ユーザ秘密鍵を配布する。 The key issuing device 10 is a computer or a computer system that functions as a KGC (Key Generation Center). The key issuing device 10 generates a master public key using the master private key, and then publishes the master public key. Further, the key issuing device 10 generates a user secret key from an identifier (ID) of the device 20 or the server device 30, and then distributes the user secret key to the device 20 or the server device 30 corresponding to the identifier.

なお、機器20やサーバ装置30の識別子としては、任意の識別子を用いることが可能である。例えば、製造固有番号、IP(Internet Protocol)アドレス、物理アドレス等を用いることが可能である。これら以外にも、例えば、機器20やサーバ装置30を利用するユーザのユーザID、氏名、メールアドレス等を識別子として用いることも可能である。 Any identifier can be used as the identifier of the device 20 or the server device 30. For example, a manufacturing unique number, an IP (Internet Protocol) address, a physical address, or the like can be used. In addition to these, for example, the user ID, name, e-mail address, etc. of the user who uses the device 20 or the server device 30 can be used as an identifier.

機器20は、例えば、各種センサデバイス、組み込み機器、ウェアラブルデバイス、デジタル家電、監視カメラ、照明機器、医療機器、産業用機器等の種々のIoT機器である。すなわち、機器20は、一般的なコンピュータ等と比較して計算リソース(例えば、プロセッサの処理性能やメモリの容量等)が限られているIoT機器である。ただし、これに限られず、機器20がIoT機器以外(PC(パーソナルコンピュータ、スマートフォン、タブレット端末等)であっても、本発明の各実施形態を同様に適用することが可能である。 The device 20 is, for example, various IoT devices such as various sensor devices, embedded devices, wearable devices, digital home appliances, surveillance cameras, lighting devices, medical devices, and industrial devices. That is, the device 20 is an IoT device having limited computing resources (for example, processor processing performance, memory capacity, etc.) as compared with a general computer or the like. However, the present invention is not limited to this, and even if the device 20 is a device other than the IoT device (PC (personal computer, smartphone, tablet terminal, etc.)), each embodiment of the present invention can be applied in the same manner.

機器20は、鍵発行装置10から配布されたユーザ秘密鍵を用いて、他の機器20やサーバ装置30との間でIDベース暗号を用いた認証付き鍵交換プロトコルにより認証(つまり、正当性の確認)を行って、暗号化通信のための鍵(共有鍵)を交換(生成)する。なお、以降では、複数の機器20の各々を区別して表す場合は、「機器20−1」、「機器20−2」等と表す。 The device 20 uses the user private key distributed from the key issuing device 10 to authenticate with another device 20 or the server device 30 by an authenticated key exchange protocol using ID-based cryptography (that is, legitimacy). Confirm) and exchange (generate) the key (shared key) for encrypted communication. In the following, when each of the plurality of devices 20 is represented separately, they are referred to as "device 20-1", "device 20-2", and the like.

サーバ装置30は、機器20からデータ(例えば、センシングデータ等)を収集するコンピュータ又はコンピュータシステムである。サーバ装置30は、機器20からデータを収集する際に、当該機器20との間でIDベース暗号を用いた認証付き鍵交換プロトコルにより認証を行って、暗号化通信のための共有鍵を交換する。 The server device 30 is a computer or computer system that collects data (for example, sensing data) from the device 20. When collecting data from the device 20, the server device 30 authenticates with the device 20 by an authenticated key exchange protocol using ID-based cryptography, and exchanges a shared key for encrypted communication. ..

なお、図1に示す鍵交換システム1の構成は一例であって、他の構成であってもよい。例えば、鍵発行装置10がユーザ秘密鍵を生成する際に、当該鍵発行装置10に対して識別子(機器20の識別子やサーバ装置30の識別子)を送信する端末が鍵交換システム1に含まれていてもよい。また、機器20同士でのみ暗号化通信を行う場合(つまり、IDベース暗号を用いた認証付き鍵交換プロトコルによる認証及び共有鍵の交換が機器20間でのみ行われる場合)、鍵交換システム1には、サーバ装置30が含まれていなくてもよい。 The configuration of the key exchange system 1 shown in FIG. 1 is an example, and may be another configuration. For example, the key exchange system 1 includes a terminal that transmits an identifier (identifier of the device 20 or an identifier of the server device 30) to the key issuing device 10 when the key issuing device 10 generates a user private key. You may. Further, when the encrypted communication is performed only between the devices 20 (that is, when the authentication by the key exchange protocol with authentication using ID-based cryptography and the exchange of the shared key are performed only between the devices 20), the key exchange system 1 is used. May not include the server device 30.

以降の各実施形態では、一例として、ユーザUを機器20、ユーザUをサーバ装置30として、機器20とサーバ装置30との間でIDベース暗号を用いた認証付き鍵交換プロトコルにより認証を行って、暗号化通信のための共有鍵を交換する場合について説明する。ただし、例えば、ユーザUを機器20−1、ユーザUを機器20−2として、機器20−1と機器20−2との間でIDベース暗号を用いた認証付き鍵交換プロトコルによる認証を行って、暗号化通信のための共有鍵を交換してもよい。同様に、複数のサーバ装置30(例えば、「サーバ装置30−1」及び「サーバ装置30−2」)が鍵交換システム1に含まれる場合、ユーザUをサーバ装置30−1、ユーザUをサーバ装置30−2として、サーバ装置30−1とサーバ装置30−2との間でIDベース暗号を用いた認証付き鍵交換プロトコルによる認証を行って、暗号化通信のための共有鍵を交換してもよい。すなわち、第1の通信装置を機器20又はサーバ装置30のいずれか、第2の通信装置を機器20又はサーバ装置30のいずれかとして、Senderである第1の通信装置と、Receiverである第2の通信装置との間でIDベース暗号を用いた認証付き鍵交換プロトコルによる認証を行って、暗号化通信のための共有鍵を交換してもよい。 In each of the embodiments described later, as an example, the user U A device 20, the user U B as a server device 30, the authentication by the authentication with key exchange protocol using ID-based encryption with the device 20 and the server device 30 A case of exchanging a shared key for encrypted communication will be described. However, for example, the user U A device 20-1, the user U B as device 20-2, the authentication by the authentication with the key exchange protocol using ID-based encryption with the device 20-1 and device 20-2 You may go and exchange the shared key for encrypted communication. Similarly, when a plurality of server devices 30 (for example, "server device 30-1" and "server device 30-2") are included in the key exchange system 1, user U A is referred to as server device 30-1 and user U B. Is used as the server device 30-2, and authentication is performed between the server device 30-1 and the server device 30-2 by an authenticated key exchange protocol using ID-based encryption, and a shared key for encrypted communication is exchanged. You may. That is, the first communication device is either the device 20 or the server device 30, and the second communication device is either the device 20 or the server device 30, the first communication device that is a sender and the second communication device that is a receiver. The shared key for encrypted communication may be exchanged by performing authentication by an authenticated key exchange protocol using ID-based cryptography with the communication device of the above.

<ハードウェア構成>
次に、本実施形態に係る鍵発行装置10、機器20及びサーバ装置30のハードウェア構成について説明する。
<Hardware configuration>
Next, the hardware configuration of the key issuing device 10, the device 20, and the server device 30 according to the present embodiment will be described.

≪鍵発行装置10及びサーバ装置30≫
以降では、本実施形態に係る鍵発行装置10及びサーバ装置30のハードウェア構成について、図2を参照しながら説明する。図2は、第一の実施形態に係る鍵発行装置10及びサーバ装置30のハードウェア構成の一例を示す図である。なお、鍵発行装置10及びサーバ装置30は同様のハードウェア構成で実現可能であるため、以降では、主に、鍵発行装置10のハードウェア構成について説明する。
<< Key issuing device 10 and server device 30 >>
Hereinafter, the hardware configurations of the key issuing device 10 and the server device 30 according to the present embodiment will be described with reference to FIG. FIG. 2 is a diagram showing an example of the hardware configuration of the key issuing device 10 and the server device 30 according to the first embodiment. Since the key issuing device 10 and the server device 30 can be realized with the same hardware configuration, the hardware configuration of the key issuing device 10 will be mainly described below.

図2に示すように、本実施形態に係る鍵発行装置10は、入力装置11と、表示装置12と、RAM(Random Access Memory)13と、ROM(Read Only Memory)14と、プロセッサ15と、外部I/F16と、通信I/F17と、補助記憶装置18とを有する。これら各ハードウェアは、それぞれがバス19を介して通信可能に接続されている。 As shown in FIG. 2, the key issuing device 10 according to the present embodiment includes an input device 11, a display device 12, a RAM (Random Access Memory) 13, a ROM (Read Only Memory) 14, a processor 15, and the like. It has an external I / F 16, a communication I / F 17, and an auxiliary storage device 18. Each of these hardware is connected so as to be able to communicate with each other via the bus 19.

入力装置11は、例えば、キーボードやマウス、タッチパネル等である。表示装置12は、例えば、ディスプレイ等である。なお、鍵発行装置10やサーバ装置30は、入力装置11及び表示装置12のうちの少なくとも一方を有していなくてもよい。 The input device 11 is, for example, a keyboard, a mouse, a touch panel, or the like. The display device 12 is, for example, a display or the like. The key issuing device 10 and the server device 30 do not have to have at least one of the input device 11 and the display device 12.

RAM13は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM14は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。プロセッサ15は、例えばCPU(Central Processing Unit)等であり、ROM14や補助記憶装置18等からプログラムやデータをRAM13上に読み出して処理を実行する演算装置である。 The RAM 13 is a volatile semiconductor memory that temporarily holds programs and data. The ROM 14 is a non-volatile semiconductor memory capable of holding programs and data even when the power is turned off. The processor 15 is, for example, a CPU (Central Processing Unit) or the like, and is an arithmetic unit that reads a program or data from a ROM 14 or an auxiliary storage device 18 or the like onto a RAM 13 and executes processing.

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

通信I/F17は、通信ネットワークNに接続するためのインタフェースである。補助記憶装置18は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性の記憶装置である。補助記憶装置18には、各種データやプログラム等が記憶されている。 The communication I / F 17 is an interface for connecting to the communication network N. The auxiliary storage device 18 is, for example, a non-volatile storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive). Various data, programs, and the like are stored in the auxiliary storage device 18.

本実施形態に係る鍵発行装置10は、図2に示すハードウェア構成を有することにより、後述する鍵発行処理等を実現することができる。同様に、本実施形態に係るサーバ装置30は、図2に示すハードウェア構成を有することにより、後述する鍵交換処理等を実現することができる。 By having the hardware configuration shown in FIG. 2, the key issuing device 10 according to the present embodiment can realize the key issuing process and the like described later. Similarly, the server device 30 according to the present embodiment can realize the key exchange process and the like described later by having the hardware configuration shown in FIG.

なお、図2では、本実施形態に係る鍵発行装置10及びサーバ装置30が1台の装置(コンピュータ)で実現されている場合を示したが、これに限られない。本実施形態に係る鍵発行装置10やサーバ装置30は、複数台の装置(コンピュータ)で実現されていてもよい。また、1台の装置(コンピュータ)には、複数のプロセッサ15や複数のメモリ(例えば、RAM13、ROM14、補助記憶装置18等)が含まれていてもよい。 Note that FIG. 2 shows a case where the key issuing device 10 and the server device 30 according to the present embodiment are realized by one device (computer), but the present invention is not limited to this. The key issuing device 10 and the server device 30 according to the present embodiment may be realized by a plurality of devices (computers). Further, one device (computer) may include a plurality of processors 15 and a plurality of memories (for example, RAM 13, ROM 14, auxiliary storage device 18, etc.).

≪機器20≫
以降では、本実施形態に係る機器20のハードウェア構成について、図3を参照しながら説明する。図3は、第一の実施形態に係る機器20のハードウェア構成の一例を示す図である。
≪Equipment 20≫
Hereinafter, the hardware configuration of the device 20 according to the present embodiment will be described with reference to FIG. FIG. 3 is a diagram showing an example of the hardware configuration of the device 20 according to the first embodiment.

図3に示すように、本実施形態に係る機器20は、プロセッサ21と、メモリ装置22と、通信I/F23とを有する。これら各ハードウェアは、それぞれがバス24を介して通信可能に接続されている。 As shown in FIG. 3, the device 20 according to the present embodiment includes a processor 21, a memory device 22, and a communication I / F 23. Each of these hardware is connected so as to be able to communicate with each other via the bus 24.

プロセッサ21は、例えば、MPU(Micro Processing Unit)やCPU等であり、メモリ装置22からプログラムやデータを読み出して処理を実行する演算装置である。 The processor 21 is, for example, an MPU (Micro Processing Unit), a CPU, or the like, and is an arithmetic unit that reads a program or data from the memory device 22 and executes processing.

メモリ装置22は、例えば、RAMやROM、フラッシュメモリ等であり、各種データやプログラム等が記憶されている。通信I/F23は、機器20を通信ネットワークNに接続するためのインタフェースである。 The memory device 22 is, for example, a RAM, a ROM, a flash memory, or the like, and stores various data, programs, and the like. The communication I / F 23 is an interface for connecting the device 20 to the communication network N.

本実施形態に係る機器20は、図3に示すハードウェア構成を有することにより、後述する鍵交換処理等を実現することができる。 By having the hardware configuration shown in FIG. 3, the device 20 according to the present embodiment can realize the key exchange process and the like described later.

<機能構成>
次に、本実施形態に係る鍵交換システム1の機能構成について、図4を参照しながら説明する。図4は、第一の実施形態に係る鍵交換システム1の機能構成の一例を示す図である。
<Functional configuration>
Next, the functional configuration of the key exchange system 1 according to the present embodiment will be described with reference to FIG. FIG. 4 is a diagram showing an example of the functional configuration of the key exchange system 1 according to the first embodiment.

≪鍵発行装置10≫
図4に示すように、本実施形態に係る鍵発行装置10は、鍵発行処理部101と、記憶部102とを有する。鍵発行処理部101は、鍵発行装置10にインストールされた1以上のプログラムがプロセッサに実行させる処理により実現される。また、記憶部102は、例えば補助記憶装置やRAM等を用いて実現可能である。なお、記憶部102は、鍵発行装置10と通信ネットワークNを介して接続される記憶装置等を用いて実現されていてもよい。
Key issuing device 10≫
As shown in FIG. 4, the key issuing device 10 according to the present embodiment has a key issuing processing unit 101 and a storage unit 102. The key issuing processing unit 101 is realized by a process of causing a processor to execute one or more programs installed in the key issuing device 10. Further, the storage unit 102 can be realized by using, for example, an auxiliary storage device, a RAM, or the like. The storage unit 102 may be realized by using a storage device or the like connected to the key issuing device 10 via the communication network N.

鍵発行処理部101は、マスター秘密鍵とマスター公開鍵とを生成する。また、鍵発行処理部101は、機器20やサーバ装置30の識別子からユーザ秘密鍵を生成した上で、当該識別子に対応する機器20やサーバ装置30に当該ユーザ秘密鍵を配布する。記憶部102は、各種データ(例えば、マスター秘密鍵やマスター公開鍵等)を記憶する。 The key issuance processing unit 101 generates a master private key and a master public key. Further, the key issuance processing unit 101 generates a user secret key from an identifier of the device 20 or the server device 30, and then distributes the user secret key to the device 20 or the server device 30 corresponding to the identifier. The storage unit 102 stores various data (for example, a master private key, a master public key, etc.).

≪機器20≫
図4に示すように、本実施形態に係る機器20は、鍵交換処理部201と、記憶部202とを有する。鍵交換処理部201は、機器20にインストールされた1以上のプログラムがプロセッサ21に実行させる処理により実現される。また、記憶部202は、例えばメモリ装置22等を用いて実現可能である。
≪Equipment 20≫
As shown in FIG. 4, the device 20 according to the present embodiment has a key exchange processing unit 201 and a storage unit 202. The key exchange processing unit 201 is realized by a process of causing the processor 21 to execute one or more programs installed in the device 20. Further, the storage unit 202 can be realized by using, for example, a memory device 22 or the like.

鍵交換処理部201は、鍵発行装置10から配布されたユーザ秘密鍵を用いて、サーバ装置30や他の機器20との間でIDベース暗号を用いた認証付き鍵交換プロトコルにより認証を行って共有鍵を交換する。記憶部202は、各種データ(例えば、ユーザ秘密鍵等)を記憶する。 The key exchange processing unit 201 uses the user private key distributed from the key issuing device 10 to authenticate with the server device 30 and another device 20 by an authenticated key exchange protocol using ID-based cryptography. Exchange shared keys. The storage unit 202 stores various data (for example, a user private key, etc.).

≪サーバ装置30≫
図4に示すように、本実施形態に係るサーバ装置30は、鍵交換処理部301と、記憶部302とを有する。鍵交換処理部301は、サーバ装置30にインストールされた1以上のプログラムがプロセッサに実行させる処理により実現される。また、記憶部302は、例えば補助記憶装置やRAM等を用いて実現可能である。なお、記憶部302は、サーバ装置30と通信ネットワークNを介して接続される記憶装置等を用いて実現されていてもよい。
<< Server device 30 >>
As shown in FIG. 4, the server device 30 according to the present embodiment has a key exchange processing unit 301 and a storage unit 302. The key exchange processing unit 301 is realized by a process of causing a processor to execute one or more programs installed in the server device 30. Further, the storage unit 302 can be realized by using, for example, an auxiliary storage device, a RAM, or the like. The storage unit 302 may be realized by using a storage device or the like connected to the server device 30 via the communication network N.

鍵交換処理部301は、機器20との間でIDベース暗号を用いた認証付き鍵交換プロトコルにより認証を行って共有鍵を交換する。記憶部302は、各種データ(例えば、ユーザ秘密鍵等)を記憶する。 The key exchange processing unit 301 authenticates with the device 20 by an authenticated key exchange protocol using ID-based cryptography and exchanges a shared key. The storage unit 302 stores various data (for example, a user private key, etc.).

<鍵交換システム1の処理の詳細>
次に、本実施形態に係る鍵交換システム1の処理の詳細について説明する。
<Details of processing of key exchange system 1>
Next, the details of the processing of the key exchange system 1 according to the present embodiment will be described.

≪記号の定義≫
まず、本実施形態で用いる記号を次のように定義する。なお、特に言及した場合を除き、第二の実施形態及び第三の実施形態でも本実施形態で定義された記号を用いるものとする。
≪Definition of symbols≫
First, the symbols used in this embodiment are defined as follows. Unless otherwise specified, the symbols defined in the present embodiment shall be used in the second embodiment and the third embodiment as well.

ID:機器20(つまり、ユーザU)の識別子
ID:サーバ装置30(つまり、ユーザU)の識別子
A,1:機器20のユーザ秘密鍵
B,2:サーバ装置30のユーザ秘密鍵
k:セキュリティパラメータ
p,q:p≠qを満たす素数
:有限体F上の楕円曲線をEとして、楕円曲線E上の群E(F)の部分群
:有限体Fのk次拡大体上の楕円曲線をEとして、楕円曲線E上の群
ID A : Identifier of device 20 (that is, user U A ) ID B : Identifier of server device 30 (that is, user U B ) DA , 1 : User private key of device 20 D B, 2 : User of server device 30 Private key k: A prime number that satisfies the security parameters p, q: p ≠ q G 1 : A subgroup of the group E (F p ) on the elliptic curve E 1 with the elliptic curve on the finite field F p as E 1 G 2 : Let E 2 be the elliptic curve on the k-th order extension field of the finite field F p, and the subgroup on the elliptic curve E 2.

Figure 2021034979
の部分群
:Gの生成元
:Gの生成元
e:G×G上で定義されたペアリング
:qを法とする剰余類
z,y∈Z:マスター秘密鍵
=zg∈G(v=1,2):マスター公開鍵
=yg∈G(v=1,2):マスター公開鍵
:文字列(識別子)からG上の元を生成する関数
:文字列(識別子)からG上の元を生成する関数
H:鍵導出関数
K:共有鍵
||:文字列の連結
また、任意の形式のデータを文字列に変換したものをハット「^」を付与して表すものとする。例えば、短期公開鍵Xを文字列に変換したものを
Figure 2021034979
Subgroups of g 1 : G 1 generator g 2 : G 2 generator e: G 1 × G 2 Coset defined above Z q : q modulo coset z, y ∈ Z q : Master private key Z v = zg v ∈ G v (v = 1, 2): Master public key Y v = yg v ∈ G v (v = 1, 2): Master public key H 1 : From character string (identifier) Function that generates an element on G 1 H 2 : Function that generates an element on G 2 from a character string (identifier) H: Key derivation function K: Shared key
||: Concatenation of character strings In addition, the data in any format converted into a character string shall be represented by adding a hat "^". For example, the short-term public key X converted into a character string

Figure 2021034979
と表す。同様に、例えば、共有値σを文字列に変換したものを
Figure 2021034979
It is expressed as. Similarly, for example, the shared value σ converted into a character string

Figure 2021034979
と表す。
Figure 2021034979
It is expressed as.

≪鍵発行処理≫
以降では、本実施形態に係る鍵発行処理について、図5を参照しながら説明する。図5は、第一の実施形態に係る鍵発行処理の一例を示すフローチャートである。
≪Key issuance process≫
Hereinafter, the key issuance process according to the present embodiment will be described with reference to FIG. FIG. 5 is a flowchart showing an example of the key issuance process according to the first embodiment.

鍵発行装置10の鍵発行処理部101は、マスター秘密鍵zとマスター公開鍵Z=zg及びZ=zgとを生成する(ステップS101)。これらのマスター秘密鍵zやマスター公開鍵Z及びZは、例えば、記憶部102に保存される。また、マスター公開鍵Z及びZは公開される。なお、マスター秘密鍵zは、例えば、Zからランダムに元を選択することで生成される。 The key issuance processing unit 101 of the key issuing device 10 generates the master private key z and the master public key Z 1 = zg 1 and Z 2 = zg 2 (step S101). These master private keys z and master public keys Z 1 and Z 2 are stored in, for example, a storage unit 102. In addition, the master public keys Z 1 and Z 2 are made public. The master secret key z is generated, for example, by randomly selecting an element from Z q.

ここで、上記のステップS101は、例えば、鍵交換システム1のシステム構築時に実行される。一方で、後述するステップS102〜ステップS103は、ユーザ秘密鍵を生成する必要が生じるたびに繰り返し実行される。例えば、ステップS102〜ステップS103は、鍵交換システム1のシステム構築時や、システム構築後に機器20やサーバ装置30が追加された場合等に実行される。以降では、一例として、機器20(ユーザU)のユーザ秘密鍵と、サーバ装置30(ユーザU)のユーザ秘密鍵とを生成する場合について説明する。 Here, the above step S101 is executed, for example, at the time of system construction of the key exchange system 1. On the other hand, steps S102 to S103, which will be described later, are repeatedly executed each time it becomes necessary to generate a user private key. For example, steps S102 to S103 are executed when the key exchange system 1 is constructed, or when the device 20 or the server device 30 is added after the system is constructed. In the following, as an example, a user private key of the device 20 (user U A), the case of generating the user private key of the server 30 (user U B) will be described.

鍵発行装置10の鍵発行処理部101は、QA,1=H(ID)を計算した上でユーザ秘密鍵DA,1=zQA,1を生成すると共に、QB,2=H(ID)を計算した上でユーザ秘密鍵DB,2=zQB,2を生成する(ステップS102)。これにより、機器20のユーザ秘密鍵DA,1とサーバ装置30のユーザ秘密鍵DB,2とが生成される。なお、IDやID、H、Hは公開情報である。 The key issuance processing unit 101 of the key issuing device 10 calculates the Q A, 1 = H 1 (ID A ), generates the user private key DA , 1 = zQ A, 1 , and Q B, 2 =. After calculating H 2 (ID B ), the user private key DB, 2 = zQ B, 2 is generated (step S102). Thus, the user's private key D B, the user private key D A, 1 and the server apparatus 30 of the device 20 2 and is generated. Note that ID A , ID B , H 1 and H 2 are public information.

次に、鍵発行装置10の鍵発行処理部101は、上記のステップS102で生成されたユーザ秘密鍵DA,1及びDB,2を配布する(ステップS103)。すなわち、鍵発行処理部101は、ユーザ秘密鍵DA,1を機器20(ユーザU)に配布し、ユーザ秘密鍵DB,2をサーバ装置30(ユーザU)に配布する。これにより、ユーザ秘密鍵DA,1が機器20の記憶部202に保存されると共に、ユーザ秘密鍵DB,2がサーバ装置30の記憶部302に保存される。 Next, the key issuance processing unit 101 of the key issuing device 10 distributes the user private keys DA, 1 and DB , 2 generated in step S102 above (step S103). That is, the key issue processing unit 101 distributes the user's private key D A, 1 to the device 20 (user U A), to distribute the user's private key D B, 2 to the server apparatus 30 (user U B). As a result, the user private keys DA and 1 are stored in the storage unit 202 of the device 20, and the user private keys DB and 2 are stored in the storage unit 302 of the server device 30.

なお、ユーザ秘密鍵の配布は任意の方法で行われればよい。例えば、鍵発行装置10はユーザ秘密鍵を機器20やサーバ装置30に送信してもよいし、機器20やサーバ装置30が鍵発行装置10にアクセスしてユーザ秘密鍵を取得してもよいし、ユーザ秘密鍵を記録媒体に格納して配布してもよい。 The user private key may be distributed by any method. For example, the key issuing device 10 may transmit the user private key to the device 20 or the server device 30, or the device 20 or the server device 30 may access the key issuing device 10 to acquire the user private key. , The user private key may be stored in a recording medium and distributed.

≪鍵交換処理≫
以降では、機器20(ユーザU)とサーバ装置30(ユーザU)との間で鍵交換処理を行う場合について、図6を参照しながら説明する。図6は、第一の実施形態に係る鍵交換処理の一例を示すシーケンス図である。なお、機器20の記憶部202にはユーザ秘密鍵DA,1が保存されていると共に、サーバ装置30の記憶部302にはユーザ秘密鍵DB,2が保存されているものとする。
≪Key exchange process≫
In the following, the case of performing the key exchange process between the device 20 (user U A) and the server apparatus 30 (user U B), will be described with reference to FIG. FIG. 6 is a sequence diagram showing an example of the key exchange process according to the first embodiment. It is assumed that the user private keys DA and 1 are stored in the storage unit 202 of the device 20 and the user private keys DB and 2 are stored in the storage unit 302 of the server device 30.

機器20の鍵交換処理部201は、短期秘密鍵x∈Zをランダムに選択した上で、短期公開鍵XA,1=xを生成する(ステップS201)。なお、短期秘密鍵x及び短期公開鍵XA,1は、例えば、記憶部202に保存される。 Key exchange processing unit 201 of the device 20, the short-term private key x A ∈ Z q on randomly selected, to produce a short-term public key X A, 1 = x A g 1 ( step S201). The short-term private key x A and the short-term public key X A, 1 are stored in, for example, the storage unit 202.

サーバ装置30の鍵交換処理部301は、短期秘密鍵x∈Zをランダムに選択した上で、短期公開鍵XB,2=xを生成する(ステップS202)。なお、短期秘密鍵x及び短期公開鍵XB,2は、例えば、記憶部302に保存される。 The key exchange processing unit 301 of the server device 30 randomly selects the short-term private key x B ∈ Z q , and then generates the short-term public key X B, 2 = x B g 2 (step S202). The short-term private key x B and the short-term public key X B, 2 are stored in, for example, the storage unit 302.

次に、機器20の鍵交換処理部201は、短期公開鍵XA,1をサーバ装置30に送信する(ステップS203)。同様に、サーバ装置30の鍵交換処理部301は、短期公開鍵XB,2を機器20に送信する(ステップS204)。 Next, the key exchange processing unit 201 of the device 20 transmits the short-term public keys XA and 1 to the server device 30 (step S203). Similarly, the key exchange processing unit 301 of the server device 30 transmits the short-term public keys XB and 2 to the device 20 (step S204).

機器20の鍵交換処理部201は、以下により共有値σ,σ,σを計算する(ステップS205)。 The key exchange processing unit 201 of the device 20 calculates the shared values σ 1 , σ 2 , and σ 3 as follows (step S205).

σ=e(DA,1,QB,2
σ=e(DA,1+x,QB,2+XB,2
σ=e(x,XB,2
なお、QB,2=H(ID)は鍵交換処理部201が計算してもよいし、鍵発行装置10より公開されたQB,2が用いられてもよい。
σ 1 = e (DA , 1 , QB , 2 )
σ 2 = e (DA , 1 + x A Z 1 , Q B, 2 + X B, 2 )
σ 3 = e (x A Z 1 , X B, 2 )
Note that Q B, 2 = H 2 (ID B ) may be calculated by the key exchange processing unit 201, or Q B, 2 disclosed by the key issuing device 10 may be used.

また、サーバ装置30の鍵交換処理部301は、以下により共有値σ,σ,σを計算する(ステップS206)。 Further, the key exchange processing unit 301 of the server device 30 calculates the shared values σ 1 , σ 2 , and σ 3 as follows (step S206).

σ=e(QA,1,DB,2
σ=e(QA,1+XA,1,DB,2+x
σ=e(XA,1,x
なお、QA,1=H(ID)は鍵交換処理部301が計算してもよいし、鍵発行装置10により公開されたQA,1が用いられてもよい。
σ 1 = e (Q A, 1 , DB , 2 )
σ 2 = e (Q A, 1 + X A, 1 , DB , 2 + x B Z 2 )
σ 3 = e (X A, 1 , x B Z 2 )
Note that Q A, 1 = H 1 (ID A ) may be calculated by the key exchange processing unit 301, or Q A, 1 disclosed by the key issuing device 10 may be used.

次に、機器20の鍵交換処理部201は、以下によりsidを計算する(ステップS207)。なお、sidはセッションIDを意味する。 Next, the key exchange processing unit 201 of the device 20 calculates the sid as follows (step S207). In addition, side means a session ID.

Figure 2021034979
同様に、サーバ装置30の鍵交換処理部301は、以下によりsidを計算する(ステップS208)。
Figure 2021034979
Similarly, the key exchange processing unit 301 of the server device 30 calculates the side according to the following (step S208).

Figure 2021034979
そして、機器20の鍵交換処理部201は、以下により共有鍵Kを生成する(ステップS209)。
Figure 2021034979
Then, the key exchange processing unit 201 of the device 20 generates the shared key K by the following (step S209).

Figure 2021034979
なお、共有鍵Kは、例えば、記憶部202に保存される。
Figure 2021034979
The shared key K is stored in, for example, the storage unit 202.

同様に、サーバ装置30の鍵交換処理部301は、以下により共有鍵Kを生成する(ステップS210)。 Similarly, the key exchange processing unit 301 of the server device 30 generates the shared key K by the following (step S210).

Figure 2021034979
なお、共有鍵Kは、例えば、記憶部302に保存される。
Figure 2021034979
The shared key K is stored in, for example, the storage unit 302.

これにより、機器20とサーバ装置30との間で共有鍵Kが共有される。したがって、機器20及びサーバ装置30は、この共有鍵Kを用いて暗号化通信を行うことができる。なお、上記のステップS209及びステップS210で共有鍵Kを生成する際に、機器20とサーバ装置30との間で予め決められた任意のデータ(例えば、マスター公開鍵Z及びZやプロトコル名(アルゴリズム名)等)を文字列に変換したものが用いられてもよい。例えば、マスター公開鍵Z及びZとプロトコル名「FSU」とを文字列に変換したものを用いる場合、以下により共有鍵Kが生成されてもよい。 As a result, the shared key K is shared between the device 20 and the server device 30. Therefore, the device 20 and the server device 30 can perform encrypted communication using the shared key K. When the shared key K is generated in step S209 and step S210, arbitrary data (for example, master public keys Z 1 and Z 2 and protocol name) predetermined between the device 20 and the server device 30 are generated. (Algorithm name), etc.) may be converted into a character string. For example, when the master public keys Z 1 and Z 2 and the protocol name "FSU" are converted into character strings, the shared key K may be generated by the following.

Figure 2021034979
これにより、安全性をより向上させることができる。
Figure 2021034979
Thereby, the safety can be further improved.

以上のように、本実施形態に係る鍵交換システム1では、機器20はGの生成元gを用いて短期公開鍵XA,1のみを生成し、サーバ装置30はGの生成元gを用いて短期公開鍵XB,2のみを生成する。これにより、FSUと比較して鍵交換システム1全体でのペアリング演算の回数を2回削減することができる(つまり、機器20及びサーバ装置30のそれぞれでペアリング演算の回数を1回ずつ削減することができる)と共に、機器20におけるG上での楕円スカラ倍算の回数を0回にすることができる。したがって、本実施形態に係る鍵交換システム1によれば、鍵交換に要する時間を削減することができる。 As described above, in the key exchange system 1 according to the present embodiment, the device 20 generates only the short-term public keys X A and 1 using the G 1 generator g 1 , and the server device 30 generates the G 2 generator. Only short-term public keys X B, 2 are generated using g 2. As a result, the number of pairing operations in the entire key exchange system 1 can be reduced twice as compared with the FSU (that is, the number of pairing operations in each of the device 20 and the server device 30 can be reduced by one. it together can) be the number of times of elliptic scalar multiplication of on G 2 in device 20 can be zero. Therefore, according to the key exchange system 1 according to the present embodiment, the time required for key exchange can be reduced.

[第二の実施形態]
以降では、第二の実施形態について説明する。第二の実施形態では、第一の実施形態で説明したプロトコルの安全性をより向上させて、ID−eCK安全と同等の安全性を持つように構成した場合について説明する。なお、第二の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と同様の構成要素については、その説明を省略する。
[Second Embodiment]
Hereinafter, the second embodiment will be described. In the second embodiment, the case where the security of the protocol described in the first embodiment is further improved and configured to have the same security as the ID-eCK security will be described. In the second embodiment, the differences from the first embodiment will be mainly described, and the description of the same components as those in the first embodiment will be omitted.

<鍵交換システム1の処理の詳細>
本実施形態に係る鍵交換システム1の処理の詳細について説明する。
<Details of processing of key exchange system 1>
Details of the processing of the key exchange system 1 according to the present embodiment will be described.

≪鍵発行処理≫
以降では、本実施形態に係る鍵発行処理について、図7を参照しながら説明する。図7は、第二の実施形態に係る鍵発行処理の一例を示すフローチャートである。
≪Key issuance process≫
Hereinafter, the key issuance process according to the present embodiment will be described with reference to FIG. 7. FIG. 7 is a flowchart showing an example of the key issuance process according to the second embodiment.

鍵発行装置10の鍵発行処理部101は、マスター秘密鍵z及びyとマスター公開鍵Y=yg及びY=ygとを生成する(ステップS301)。これらのマスター秘密鍵z及びyやマスター公開鍵Y及びYは、例えば、記憶部102に保存される。また、マスター公開鍵Y及びYは公開される。なお、マスター秘密鍵yは、例えば、Zからランダムに元を選択することで生成される。 The key issuance processing unit 101 of the key issuing device 10 generates the master private keys z and y and the master public keys Y 1 = yg 1 and Y 2 = yg 2 (step S301). These master private keys z and y and master public keys Y 1 and Y 2 are stored in, for example, a storage unit 102. In addition, the master public keys Y 1 and Y 2 are made public. The master secret key y is generated, for example, by randomly selecting an element from Z q.

次に、鍵発行装置10の鍵発行処理部101は、記憶部102に記憶されているマスター秘密鍵yを削除する(ステップS302)。本ステップは必ずしも実行される必要はないが、マスター秘密鍵yを記憶部102から削除することで、これ以降、マスター秘密鍵yの漏洩を防止することが可能となる。 Next, the key issuing processing unit 101 of the key issuing device 10 deletes the master secret key y stored in the storage unit 102 (step S302). Although this step does not necessarily have to be executed, by deleting the master private key y from the storage unit 102, it is possible to prevent the master private key y from being leaked thereafter.

次に、鍵発行装置10の鍵発行処理部101は、マスター公開鍵Z=zg及びZ=zgを生成する(ステップS303)。これらのマスター公開鍵Z及びZは、例えば、記憶部102に保存される。また、マスター公開鍵Z及びZは公開される。 Next, the key issuing processing unit 101 of the key issuing device 10 generates the master public key Z 1 = zg 1 and Z 2 = zg 2 (step S303). These master public keys Z 1 and Z 2 are stored in, for example, a storage unit 102. In addition, the master public keys Z 1 and Z 2 are made public.

ここで、上記のステップS301〜ステップS303は、例えば、鍵交換システム1のシステム構築時に実行される。一方で、ステップS304〜ステップS305は、ユーザ秘密鍵を生成する必要が生じるたびに繰り返し実行される。なお、ステップS304〜ステップS305は、図5のステップS102〜ステップS103とそれぞれ同様であるため、その説明を省略する。 Here, the above steps S301 to S303 are executed, for example, when the system of the key exchange system 1 is constructed. On the other hand, steps S304 to S305 are repeatedly executed each time it becomes necessary to generate a user private key. Since steps S304 to S305 are the same as steps S102 to S103 of FIG. 5, the description thereof will be omitted.

≪鍵交換処理≫
以降では、機器20(ユーザU)とサーバ装置30(ユーザU)との間で鍵交換処理を行う場合について、図8を参照しながら説明する。図8は、第二の実施形態に係る鍵交換処理の一例を示すシーケンス図である。なお、ステップS401〜ステップS404は、図6のステップS201〜ステップS204とそれぞれ同様であるため、その説明を省略する。
≪Key exchange process≫
In the following, the case of performing the key exchange process between the device 20 (user U A) and the server apparatus 30 (user U B), will be described with reference to FIG. FIG. 8 is a sequence diagram showing an example of the key exchange process according to the second embodiment. Since steps S401 to S404 are the same as steps S201 to S204 of FIG. 6, the description thereof will be omitted.

機器20の鍵交換処理部201は、以下により共有値σ,σ,σを計算する(ステップS405)。 The key exchange processing unit 201 of the device 20 calculates the shared values σ 1 , σ 2 , and σ 3 as follows (step S405).

σ=e(DA,1,QB,2
σ=e(DA,1+x,QB,2+XB,2
σ=e(x(Z+Y),XB,2
なお、QB,2=H(ID)は鍵交換処理部201が計算してもよいし、鍵発行装置10より公開されたQB,2が用いられてもよい。
σ 1 = e (DA , 1 , QB , 2 )
σ 2 = e (DA , 1 + x A Z 1 , Q B, 2 + X B, 2 )
σ 3 = e (x A (Z 1 + Y 1 ), X B, 2 )
Note that Q B, 2 = H 2 (ID B ) may be calculated by the key exchange processing unit 201, or Q B, 2 disclosed by the key issuing device 10 may be used.

また、サーバ装置30の鍵交換処理部301は、以下により共有値σ,σ,σを計算する(ステップS406)。 Further, the key exchange processing unit 301 of the server device 30 calculates the shared values σ 1 , σ 2 , and σ 3 as follows (step S406).

σ=e(QA,1,DB,2
σ=e(QA,1+XA,1,DB,2+x
σ=e(XA,1,x(Z+Y))
なお、QA,1=H(ID)は鍵交換処理部301が計算してもよいし、鍵発行装置10により公開されたQA,1が用いられてもよい。
σ 1 = e (Q A, 1 , DB , 2 )
σ 2 = e (Q A, 1 + X A, 1 , DB , 2 + x B Z 2 )
σ 3 = e (X A, 1 , x B (Z 2 + Y 2 ))
Note that Q A, 1 = H 1 (ID A ) may be calculated by the key exchange processing unit 301, or Q A, 1 disclosed by the key issuing device 10 may be used.

以降のステップS407〜ステップS410は、図6のステップS207〜ステップS210とそれぞれ同様であるため、その説明を省略する。 Subsequent steps S407 to S410 are the same as steps S207 to S210 of FIG. 6, and thus the description thereof will be omitted.

以上のように、本実施形態に係る鍵交換システム1では、マスター公開鍵Y=yg及びY=ygを用いて共有値σを計算する。また、マスター公開鍵Y及びYが生成された後は、マスター秘密鍵zと異なり、鍵発行装置10はマスター秘密鍵yを保持しておく必要はないため、当該マスター秘密鍵yを削除することが可能である。このため、本実施形態に係る鍵交換システム1では、マスター秘密鍵yの漏洩を防止することができ、より安全性を高めることが可能となる。 As described above, in the key exchange system 1 according to the present embodiment, the shared value σ 3 is calculated using the master public keys Y 1 = yg 1 and Y 2 = yg 2. Further, after the master public keys Y 1 and Y 2 are generated, unlike the master private key z, the key issuing device 10 does not need to hold the master private key y, so the master private key y is deleted. It is possible to do. Therefore, in the key exchange system 1 according to the present embodiment, it is possible to prevent the leakage of the master private key y, and it is possible to further enhance the security.

なお、上記では鍵交換システム1に含まれる鍵発行装置10が1台であるものとして説明したが、複数の鍵発行装置10が鍵交換システム1に含まれる場合(例えば、機器20やサーバ装置30が利用するサービス毎に鍵発行装置10が存在するような場合等)にはマスター秘密鍵が複数の鍵発行装置10に分散されていてもよい。すなわち、例えば、鍵発行装置10−1と鍵発行装置10−2とが鍵交換システム1に含まれる場合、鍵発行装置10−1がマスター秘密鍵zとマスター公開鍵Z及びZとを生成及び保持すると共に、鍵発行装置10−2がマスター秘密鍵yとマスター公開鍵Y及びYとを生成及び保持していてもよい。 In the above description, it is assumed that the key issuing device 10 included in the key exchange system 1 is one, but when a plurality of key issuing devices 10 are included in the key exchange system 1 (for example, the device 20 and the server device 30). The master private key may be distributed to a plurality of key issuing devices 10 in cases where a key issuing device 10 exists for each service used by the user. That is, for example, when the key issuing device 10-1 and the key issuing device 10-2 are included in the key exchange system 1, the key issuing device 10-1 uses the master private key z and the master public keys Z 1 and Z 2 . In addition to generating and holding, the key issuing device 10-2 may generate and hold the master private key y and the master public keys Y 1 and Y 2 .

更に、例えば、鍵発行装置10−1と鍵発行装置10−2と鍵発行装置10−3とが鍵交換システム1に含まれる場合、鍵発行装置10−1がマスター秘密鍵zとマスター公開鍵Z及びZとを生成及び保持し、鍵発行装置10−2がマスター秘密鍵yとマスター公開鍵Y及びYとを生成及び保持し、鍵発行装置10−3がマスター秘密鍵wとマスター公開鍵W=wg及びW=wgとを生成及び保持してもよい。この場合、上記のステップS405ではσ=e(x(Z+Y+W),XB,2)によりσを計算し、ステップS406ではσ=e(XA,1,x(Z+Y+W))によりσを計算する。これにより、例えば、攻撃者等が全てのマスター秘密鍵を入手することが難しくなり、より安全性を向上させることが可能となる。なお、より一般に、N台の鍵発行装置10が鍵交換システム1に含まれる場合、N個のマスター秘密鍵をN台の鍵発行装置10に分散させることが可能である。 Further, for example, when the key issuing device 10-1 and the key issuing device 10-2 and the key issuing device 10-3 are included in the key exchange system 1, the key issuing device 10-1 is the master private key z and the master public key. Z 1 and Z 2 are generated and held, the key issuing device 10-2 generates and holds the master private key y and the master public keys Y 1 and Y 2, and the key issuing device 10-3 generates and holds the master private key w. And the master public key W 1 = wg 1 and W 2 = wg 2 may be generated and retained. In this case, in step S405 described above, σ 3 is calculated by σ 3 = e (x A (Z 1 + Y 1 + W 1 ), X B, 2 ), and in step S406, σ 3 = e (X A, 1 , x). Calculate σ 3 by B (Z 2 + Y 2 + W 2 )). As a result, for example, it becomes difficult for an attacker or the like to obtain all the master private keys, and it becomes possible to further improve the security. More generally, when N key issuing devices 10 are included in the key exchange system 1, N master private keys can be distributed to N key issuing devices 10.

また、上記ではマスター公開鍵Y及びYをマスター秘密鍵yから生成したが、別の方法でマスター公開鍵Y及びYが生成されてもよい。例えば、マルチパーティプロトコルを使うことで機器20とサーバ装置30とでマスター秘密鍵yを生成することができるため、マスター公開鍵Y及びYを生成することが可能である。この場合、マルチパーティプロトコルにより機器20とサーバ装置30とがマスター秘密鍵yを生成するため、鍵発行装置10はマスター秘密鍵yを生成及び保持する必要はない(つまり、鍵発行装置10は、第一の実施形態と同様に、マスター秘密鍵zのみを生成及び保持すればよい。)。 Further, in the above it has been generated the master public key Y 1 and Y 2 from the master secret key y, the master public key Y 1 and Y 2 may be generated in a different manner. For example, since the master private key y can be generated by the device 20 and the server device 30 by using the multi-party protocol, it is possible to generate the master public keys Y 1 and Y 2. In this case, since the device 20 and the server device 30 generate the master private key y by the multi-party protocol, the key issuing device 10 does not need to generate and hold the master private key y (that is, the key issuing device 10 does not need to generate and hold the master private key y. As in the first embodiment, only the master private key z needs to be generated and retained).

≪鍵発行処理の他の例≫
ここで、図7に示す鍵発行処理ではY及びYをマスター公開鍵としたが、Y及びYをユーザ秘密鍵として、機器20(ユーザU)及びサーバ装置30(ユーザU)にそれぞれ配布してもよい。この場合の鍵発行処理について、図9を参照しながら説明する。図9は、第二の実施形態に係る鍵発行処理の他の例を示すフローチャートである。なお、マスター秘密鍵z及びyを同一の鍵発行装置10が生成及び保持してもよいが、図9では、一例として、鍵発行装置10−1がマスター秘密鍵zを生成及び保持し、鍵発行装置10−2がマスター秘密鍵yを生成及び保持する場合について説明する。
<< Other examples of key issuance processing >>
Here, although the key issuing process shown in FIG. 7 and the master public key Y 1 and Y 2, the Y 1 and Y 2 as the user's private key, device 20 (user U A) and the server apparatus 30 (user U B ) May be distributed respectively. The key issuance process in this case will be described with reference to FIG. FIG. 9 is a flowchart showing another example of the key issuance process according to the second embodiment. The same key issuing device 10 may generate and hold the master secret key z and y, but in FIG. 9, as an example, the key issuing device 10-1 generates and holds the master secret key z, and the key. A case where the issuing device 10-2 generates and holds the master private key y will be described.

鍵発行装置10−1の鍵発行処理部101は、図5のステップS101と同様に、マスター秘密鍵zとマスター公開鍵Z=zg及びZ=zgとを生成する(ステップS501)。 The key issuing processing unit 101 of the key issuing device 10-1 generates a master private key z and a master public key Z 1 = zg 1 and Z 2 = zg 2 in the same manner as in step S101 of FIG. 5 (step S501). ..

ここで、上記のステップS501は、例えば、鍵交換システム1のシステム構築時に実行される。一方で、後述するステップS502〜ステップS505は、ユーザ秘密鍵を生成する必要が生じるたびに繰り返し実行される。以降では、一例として、機器20(ユーザU)のユーザ秘密鍵と、サーバ装置30(ユーザU)のユーザ秘密鍵とを生成する場合について説明する。 Here, the above step S501 is executed, for example, at the time of system construction of the key exchange system 1. On the other hand, steps S502 to S505, which will be described later, are repeatedly executed each time it becomes necessary to generate a user private key. In the following, as an example, a user private key of the device 20 (user U A), the case of generating the user private key of the server 30 (user U B) will be described.

鍵発行装置10−1の鍵発行処理部101は、図5のステップS102と同様に、ユーザ秘密鍵DA,1及びDB,2を生成する(ステップS502)。 The key issuance processing unit 101 of the key issuing device 10-1 generates the user private keys DA, 1 and DB , 2 in the same manner as in step S102 of FIG. 5 (step S502).

次に、鍵発行装置10−1の鍵発行処理部101は、図5のステップS103と同様に、上記のステップS502で生成されたユーザ秘密鍵DA,1及びDB,2を配布する(ステップS503)。すなわち、鍵発行処理部101は、ユーザ秘密鍵DA,1を機器20(ユーザU)に配布し、ユーザ秘密鍵DB,2をサーバ装置30(ユーザU)に配布する。 Next, the key issuance processing unit 101 of the key issuing device 10-1 distributes the user private keys DA, 1 and DB , 2 generated in the above step S502 in the same manner as in step S103 of FIG. Step S503). That is, the key issue processing unit 101 distributes the user's private key D A, 1 to the device 20 (user U A), to distribute the user's private key D B, 2 to the server apparatus 30 (user U B).

一方で、鍵発行装置10−2の鍵発行処理部101は、マスター秘密鍵yとユーザ秘密鍵Y=yg及びY=ygとを生成する(ステップS504)。なお、マスター秘密鍵yは、ユーザ秘密鍵Y及びYが生成された後に削除されてもよい。 On the other hand, the key issuance processing unit 101 of the key issuing device 10-2 generates the master secret key y and the user secret key Y 1 = yg 1 and Y 2 = yg 2 (step S504). The master private key y may be deleted after the user private keys Y 1 and Y 2 are generated.

次に、鍵発行装置10−2の鍵発行処理部101は、ユーザ秘密鍵Y及びYを配布する(ステップS505)。すなわち、鍵発行処理部101は、ユーザ秘密鍵Yを機器20に配布し、ユーザ秘密鍵Yをサーバ装置30に配布する。 Next, the key issuing processing unit 101 of the key issuing device 10-2 distributes the user private keys Y 1 and Y 2 (step S505). That is, the key issuance processing unit 101 distributes the user private key Y 1 to the device 20 and the user private key Y 2 to the server device 30.

以上のように、ユーザ秘密鍵DA,1及びDB,2を鍵発行装置10−1が機器20及びサーバ装置30にそれぞれ配布すると共に、Y及びYをユーザ秘密鍵として鍵発行装置10−2が機器20及びサーバ装置30にそれぞれ配布することで、より安全性を高めることが可能となる。すなわち、機器20(及びサーバ装置30)は鍵発行装置10−1と鍵発行装置10−2との両方からユーザ秘密鍵を取得する必要があるため、2重の認証が必要となり、不適切な機器に対する鍵配布を防止することが可能となる。 As described above, the key issuing device 10-1 distributes the user private keys DA, 1 and DB , 2 to the device 20 and the server device 30, respectively, and the key issuing device uses Y 1 and Y 2 as the user private keys. By distributing 10-2 to the device 20 and the server device 30, respectively, it is possible to further improve the safety. That is, since the device 20 (and the server device 30) needs to acquire the user private key from both the key issuing device 10-1 and the key issuing device 10-2, double authentication is required, which is inappropriate. It is possible to prevent the distribution of keys to devices.

また、例えば、機器20やサーバ装置30が利用するサービス毎に鍵発行装置10が存在する場合等には、全てのサービスからユーザ秘密鍵が発行されない限り、機器20とサーバ装置30との間で通信(暗号化通信)を開始できないようにすることが可能となる。 Further, for example, when a key issuing device 10 exists for each service used by the device 20 or the server device 30, the device 20 and the server device 30 do not have to issue a user private key from all the services. It is possible to prevent communication (encrypted communication) from being started.

[第三の実施形態]
以降では、第三の実施形態について説明する。第三の実施形態では、安全性の向上のために複数のユーザ秘密鍵を用いると共に、機器20の計算負荷削減のために当該機器20での一部の共有値の計算を他の装置(後述する委託計算装置40)に委託する場合について説明する。なお、第三の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と同様の構成要素については、その説明を省略する。
[Third Embodiment]
Hereinafter, the third embodiment will be described. In the third embodiment, a plurality of user private keys are used to improve security, and some shared values are calculated by the device 20 in order to reduce the calculation load of the device 20 (described later). The case of outsourcing to the outsourced calculation device 40) will be described. In the third embodiment, the differences from the first embodiment will be mainly described, and the description of the same components as those in the first embodiment will be omitted.

<全体構成>
まず、本実施形態に係る鍵交換システム1の全体構成について、図10を参照しながら説明する。図10は、第三の実施形態に係る鍵交換システム1の全体構成の一例を示す図である。
<Overall configuration>
First, the overall configuration of the key exchange system 1 according to the present embodiment will be described with reference to FIG. FIG. 10 is a diagram showing an example of the overall configuration of the key exchange system 1 according to the third embodiment.

図10に示すように、本実施形態に係る鍵交換システム1には、更に、1台以上の委託計算装置40が含まれる。委託計算装置40は、例えばインターネット等の通信ネットワークNを介して機器20と通信可能に接続されている。 As shown in FIG. 10, the key exchange system 1 according to the present embodiment further includes one or more consignment calculation devices 40. The consignment calculation device 40 is communicably connected to the device 20 via a communication network N such as the Internet.

委託計算装置40は、例えば、機器20と物理的に近い場所に設置されたエッジコンピュータ又はフォグコンピュータ等である。委託計算装置40は、機器20がサーバ装置30又は他の機器20との間でIDベース暗号を用いた認証付き鍵交換プロトコルによる認証及び共有鍵の生成を行う際に、この認証付き鍵交換プロトコルに用いられる複数のユーザ秘密鍵のうちの一部のユーザ秘密鍵を用いた共有値の計算等を行う。すなわち、機器20は一部の共有値の計算を委託計算装置40に委託し、この委託に応じて、委託計算装置40は当該一部の共有値の計算を行う。なお、委託計算装置40は、例えば、鍵発行装置10やサーバ装置30等と同様のハードウェア構成により実現可能である。 The consignment calculation device 40 is, for example, an edge computer or a fog computer installed at a location physically close to the device 20. The consignment computing device 40 uses this authenticated key exchange protocol when the device 20 authenticates with the server device 30 or another device 20 by an authenticated key exchange protocol using ID-based cryptography and generates a shared key. The shared value is calculated using some of the user private keys used in the above. That is, the device 20 outsources the calculation of a part of the shared values to the consignment calculation device 40, and the consignment calculation device 40 calculates the part of the shared values in response to the consignment. The consignment calculation device 40 can be realized by, for example, the same hardware configuration as the key issuing device 10 and the server device 30.

<機能構成>
次に、本実施形態に係る鍵交換システム1の機能構成について、図11を参照しながら説明する。図11は、第三の実施形態に係る鍵交換システム1の機能構成の一例を示す図である。
<Functional configuration>
Next, the functional configuration of the key exchange system 1 according to the present embodiment will be described with reference to FIG. FIG. 11 is a diagram showing an example of the functional configuration of the key exchange system 1 according to the third embodiment.

≪機器20≫
図11に示すように、本実施形態に係る機器20は、更に、相互認証部203を有する。相互認証部203は、機器20にインストールされた1以上のプログラムがプロセッサ21に実行させる処理により実現される。
≪Equipment 20≫
As shown in FIG. 11, the device 20 according to the present embodiment further has a mutual authentication unit 203. The mutual authentication unit 203 is realized by a process of causing the processor 21 to execute one or more programs installed in the device 20.

相互認証部203は、IDベース暗号を用いた認証付き鍵交換プロトコルに用いられる複数のユーザ秘密鍵のうちの一部のユーザ秘密鍵を用いた共有値の計算等を委託計算装置40に委託する前に、記憶部202に予め記憶しておいた共通鍵を用いて、当該委託計算装置40との間で相互に認証を行う。 The mutual authentication unit 203 entrusts the consignment calculation device 40 with the calculation of the shared value using some of the user secret keys among the plurality of user secret keys used in the key exchange protocol with authentication using ID-based cryptography. Previously, using the common key stored in advance in the storage unit 202, mutual authentication is performed with the consignment computing device 40.

≪委託計算装置40≫
図11に示すように、本実施形態に係る委託計算装置40は、相互認証部401と、委託計算部402と、記憶部403とを有する。相互認証部401及び委託計算部402は、委託計算装置40にインストールされた1以上のプログラムがプロセッサに実行させる処理により実現される。また、記憶部403は、例えば補助記憶装置やRAM等を用いて実現可能である。なお、記憶部403は、委託計算装置40と通信ネットワークNを介して接続される記憶装置等を用いて実現されていてもよい。
Consignment calculation device 40≫
As shown in FIG. 11, the consignment calculation device 40 according to the present embodiment includes a mutual authentication unit 401, a consignment calculation unit 402, and a storage unit 403. The mutual authentication unit 401 and the consignment calculation unit 402 are realized by a process of causing the processor to execute one or more programs installed in the consignment calculation device 40. Further, the storage unit 403 can be realized by using, for example, an auxiliary storage device, a RAM, or the like. The storage unit 403 may be realized by using a storage device or the like connected to the consignment calculation device 40 via the communication network N.

相互認証部401は、IDベース暗号を用いた認証付き鍵交換プロトコルに用いられる複数のユーザ秘密鍵のうちの一部のユーザ秘密鍵を用いた共有値の計算等を機器20から受託する前に、記憶部403に予め記憶していた共有鍵を用いて、当該機器20との間で相互に認証を行う。 Before the mutual authentication unit 401 entrusts the device 20 with the calculation of the shared value using some of the user private keys among the plurality of user private keys used in the key exchange protocol with authentication using ID-based cryptography. , The shared key stored in advance in the storage unit 403 is used to mutually authenticate with the device 20.

委託計算部402は、機器20から委託されたユーザ秘密鍵を用いた共有値の計算等を行う。記憶部403は、IDベース暗号を用いた認証付き鍵交換プロトコルに用いられる複数のユーザ秘密鍵のうちの一部のユーザ秘密鍵や機器20との間の相互認証に用いる共通鍵等を記憶する。 The consignment calculation unit 402 calculates the shared value using the user private key entrusted by the device 20. The storage unit 403 stores a part of the user private keys among the plurality of user private keys used in the key exchange protocol with authentication using ID-based cryptography, the common key used for mutual authentication with the device 20, and the like. ..

<鍵交換システム1の処理の詳細>
本実施形態に係る鍵交換システム1の処理の詳細について説明する。
<Details of processing of key exchange system 1>
Details of the processing of the key exchange system 1 according to the present embodiment will be described.

≪鍵発行処理≫
以降では、本実施形態に係る鍵発行処理について、図12を参照しながら説明する。図12は、第三の実施形態に係る鍵発行処理の一例を示すフローチャートである。
≪Key issuance process≫
Hereinafter, the key issuance process according to the present embodiment will be described with reference to FIG. FIG. 12 is a flowchart showing an example of the key issuance process according to the third embodiment.

鍵発行装置10の鍵発行処理部101は、図5のステップS101と同様に、マスター秘密鍵zとマスター公開鍵Z=zg及びZ=zgとを生成する(ステップS601)。これらのマスター秘密鍵zやマスター公開鍵Z及びZは、例えば、記憶部102に保存される。また、マスター公開鍵Z及びZは公開される。 The key issuing processing unit 101 of the key issuing device 10 generates a master private key z and a master public key Z 1 = zg 1 and Z 2 = zg 2 in the same manner as in step S101 of FIG. 5 (step S601). These master private keys z and master public keys Z 1 and Z 2 are stored in, for example, a storage unit 102. In addition, the master public keys Z 1 and Z 2 are made public.

ここで、上記のステップS601は、例えば、鍵交換システム1のシステム構築時に実行される。一方で、後述するステップS602〜ステップS603は、ユーザ秘密鍵を生成する必要が生じるたびに繰り返し実行される。例えば、ステップS602〜ステップS603は、鍵交換システム1のシステム構築時や、システム構築後に機器20やサーバ装置30が追加された場合等に実行される。以降では、一例として、機器20(ユーザU)のユーザ秘密鍵と、サーバ装置30(ユーザU)のユーザ秘密鍵とを生成する場合について説明する。 Here, the above step S601 is executed, for example, at the time of system construction of the key exchange system 1. On the other hand, steps S602 to S603, which will be described later, are repeatedly executed each time it becomes necessary to generate a user private key. For example, steps S602 to S603 are executed when the system of the key exchange system 1 is constructed, or when the device 20 or the server device 30 is added after the system is constructed. In the following, as an example, a user private key of the device 20 (user U A), the case of generating the user private key of the server 30 (user U B) will be described.

鍵発行装置10の鍵発行処理部101は、QA,1=H(ID)及びQA,2=H(ID)を計算した上でユーザ秘密鍵DA,1=zQA,1及びDA,2=zQA,2を生成すると共に、QB,1=H(ID)及びQB,2=H(ID)を計算した上でユーザ秘密鍵DB,1=zQB,1及びDB,2=zQB,2を生成する(ステップS602)。これにより、機器20のユーザ秘密鍵DA,1及びDA,2と、サーバ装置30のユーザ秘密鍵DB,1及びDB,2とが生成される。 The key issuance processing unit 101 of the key issuing device 10 calculates the user private key DA , 1 = zQ A after calculating QA, 1 = H 1 (ID A ) and Q A, 2 = H 2 (ID A). , to generate a 1 and D a, 2 = zQ a, 2, Q B, 1 = H 1 (ID B) and Q B, 2 = H 2 user private key in terms of calculating the (ID B) D B , 1 = zQ B, 1 and DB, 2 = zQ B, 2 are generated (step S602). Thus, a user private key D A, 1 and D A, 2 of the device 20, user private key D B of the server device 30, 1 and D B, 2 and is generated.

次に、鍵発行装置10の鍵発行処理部101は、上記のステップS602で生成されたユーザ秘密鍵DA,1及びDA,2とユーザ秘密鍵DB,1及びDB,2とを配布する(ステップS603)。すなわち、鍵発行処理部101は、ユーザ秘密鍵DA,1及びDA,2を機器20(ユーザU)に配布し、ユーザ秘密鍵DB,1及びDB,2をサーバ装置30(ユーザU)に配布する。これにより、ユーザ秘密鍵DA,1及びDA,2が機器20の記憶部202に保存されると共に、ユーザ秘密鍵DB,1及びDB,2がサーバ装置30の記憶部302に保存される。 Next, the key issuance processing unit 101 of the key issuing device 10 uses the user secret keys DA , 1 and DA , 2 generated in step S602 above, and the user secret keys DB , 1 and DB , 2 . Distribute (step S603). That is, the key issue processing unit 101, a user private key D A, 1 and D A, 2 and distributed to the device 20 (user U A), user private key D B, 1 and D B, 2 a server device 30 ( and distributed to users U B). As a result, the user private keys DA , 1 and DA , 2 are stored in the storage unit 202 of the device 20, and the user private keys DB , 1 and DB, 2 are stored in the storage unit 302 of the server device 30. Will be done.

≪鍵交換処理≫
以降では、機器20(ユーザU)とサーバ装置30(ユーザU)との間で鍵交換処理を行う場合について、図13を参照しながら説明する。図13は、第三の実施形態に係る鍵交換処理の一例を示すシーケンス図である。なお、機器20の記憶部202にはユーザ秘密鍵DA,1及びDA,2が保存されていると共に、サーバ装置30の記憶部302にはユーザ秘密鍵DB,1及びDB,2が保存されているものとする。
≪Key exchange process≫
In the following, the case of performing the key exchange process between the device 20 (user U A) and the server apparatus 30 (user U B), will be described with reference to FIG. FIG. 13 is a sequence diagram showing an example of the key exchange process according to the third embodiment. Incidentally, together with the user's private key D A, 1 and D A, 2 is stored in the storage unit 202 of the device 20, the user's private key in the storage unit 302 of the server apparatus 30 D B, 1 and D B, 2 Suppose that is saved.

機器20の鍵交換処理部201は、ユーザ秘密鍵DA,1を委託計算装置40に送信する(ステップS701)。 The key exchange processing unit 201 of the device 20 transmits the user private keys DA and 1 to the consignment calculation device 40 (step S701).

委託計算装置40の委託計算部402は、ユーザ秘密鍵DA,1を受信すると、当該ユーザ秘密鍵DA,1を記憶部403に保存する(ステップS702)。 When the consignment calculation unit 402 of the consignment calculation device 40 receives the user secret keys DA , 1 , the consignment calculation unit 402 stores the user secret keys DA, 1 in the storage unit 403 (step S702).

機器20の鍵交換処理部201は、記憶部202に記憶されているユーザ秘密鍵DA,1を削除する(ステップS703)。これにより、ユーザ秘密鍵DA,1及びDA,2のうち、機器20の記憶部202にはユーザ秘密鍵DA,2のみが保存されていることになり、委託計算装置40の記憶部403にはユーザ秘密鍵DA,1のみが保存されていることになる。 The key exchange processing unit 201 of the device 20 deletes the user private keys DA and 1 stored in the storage unit 202 (step S703). As a result, of the user private keys DA , 1 and DA , 2 , only the user private keys DA, 2 are stored in the storage unit 202 of the device 20, and the storage unit of the consignment calculation device 40. Only the user private keys DA and 1 are stored in the 403.

なお、上記のステップS701〜ステップS703は、機器20が一部の共有値の計算等を委託計算装置40に最初に委託する前に1回行われればよい。すなわち、機器20が一部の共有値の計算等を当該委託計算装置40に委託することが2回目以降である場合には、上記のステップS701〜ステップS703は実行されない。以降では、機器20の記憶部202にはユーザ秘密鍵DA,2のみが保存されており、委託計算装置40の記憶部403にはユーザ秘密鍵DA,1のみが保存されているものとする。なお、サーバ装置30は、ユーザ秘密鍵DB,1とユーザ秘密鍵DB,2とを記憶部302に保存する。 It should be noted that the above steps S701 to S703 may be performed once before the device 20 first outsources the calculation of a part of the shared values to the outsourced calculation device 40. That is, when the device 20 outsources the calculation of a part of the shared values to the outsourced calculation device 40 for the second time or later, the above steps S701 to S703 are not executed. Hereinafter, it is assumed that only the user private keys DA and 2 are stored in the storage unit 202 of the device 20, and only the user private keys DA and 1 are stored in the storage unit 403 of the consignment computing device 40. To do. The server device 30 stores the user private keys DB, 1 and the user private keys DB, 2 in the storage unit 302.

ステップS704〜ステップS707は、図6のステップS201〜ステップS204とそれぞれ同様であるため、その説明を省略する。 Since steps S704 to S707 are the same as steps S201 to S204 of FIG. 6, the description thereof will be omitted.

機器20の相互認証部203と、委託計算装置40の相互認証部401とは、共通鍵による相互認証を行う(ステップS708)。すなわち、機器20の相互認証部203は、記憶部202に予め記憶しておいた共通鍵を用いて委託計算装置40を認証すると共に、委託計算装置40の相互認証部401は、記憶部403に予め記憶しておいた共通鍵を用いて機器20を認証する。これにより、機器20と委託計算装置40との間で、互いの正当性が確認される。このように共通鍵を用いることで、機器20と委託計算装置40との間の相互認証の処理時間を削減することができる。 The mutual authentication unit 203 of the device 20 and the mutual authentication unit 401 of the consignment computing device 40 perform mutual authentication using a common key (step S708). That is, the mutual authentication unit 203 of the device 20 authenticates the consignment calculation device 40 using the common key stored in advance in the storage unit 202, and the mutual authentication unit 401 of the consignment calculation device 40 is stored in the storage unit 403. The device 20 is authenticated using the common key stored in advance. As a result, the legitimacy of each other is confirmed between the device 20 and the consignment calculation device 40. By using the common key in this way, it is possible to reduce the processing time for mutual authentication between the device 20 and the consignment calculation device 40.

以降では、上記のステップS708の相互認証に成功したものとする。なお、相互認証に成功した場合、機器20と委託計算装置40とはセッション鍵を生成し、このセッション鍵を用いて以降の通信を暗号化するものする。したがって、以降のステップS710及びステップS716の通信は、このセッション鍵によって暗号化されているものとする。 In the following, it is assumed that the mutual authentication in step S708 is successful. If the mutual authentication is successful, the device 20 and the consignment computing device 40 generate a session key, and the subsequent communication is encrypted using this session key. Therefore, it is assumed that the subsequent communication in step S710 and step S716 is encrypted by this session key.

機器20の鍵交換処理部201は、xを計算する(ステップS709)。次に、機器20の鍵交換処理部201は、識別子IDと、短期公開鍵XB,2と、計算値xとを委託計算装置40に送信する(ステップS710)。 Key exchange processing unit 201 of the device 20 calculates the x A Z 1 (step S709). Next, the key exchange processing unit 201 of the apparatus 20, the identifier ID B, a short-term public key X B, 2, and transmits the calculated value x A Z 1 commissioned computing device 40 (step S710).

委託計算装置40の委託計算部402は、識別子IDと、短期公開鍵XB,2と、計算値xとを受信すると、以下により共有値σ,σを計算する(ステップS711)。 When the consignment calculation unit 402 of the consignment calculation device 40 receives the identifier ID B , the short-term public keys X B, 2, and the calculated value x A Z 1 , the consignment calculation unit 402 calculates the shared values σ 2 and σ 3 as follows (step). S711).

σ=e(DA,1+x,QB,2+XB,2
σ=e(x,XB,2
なお、QB,2=H(ID)は委託計算部402が計算してもよいし、鍵発行装置10より公開されたQB,2が用いられてもよい。
σ 2 = e (DA , 1 + x A Z 1 , Q B, 2 + X B, 2 )
σ 3 = e (x A Z 1 , X B, 2 )
Note that Q B, 2 = H 2 (ID B ) may be calculated by the consignment calculation unit 402, or Q B, 2 disclosed by the key issuing device 10 may be used.

機器20の鍵交換処理部201は、以下により共有値σを計算する(ステップS712)。 The key exchange processing unit 201 of the device 20 calculates the shared value σ 1 as follows (step S712).

σ=e(QB,1,DA,2
なお、QB,1=H(ID)は鍵交換処理部201が計算してもよいし、鍵発行装置10より公開されたQB,1が用いられてもよい。
σ 1 = e (QB , 1 , DA , 2 )
Note that Q B, 1 = H 1 (ID B ) may be calculated by the key exchange processing unit 201, or Q B, 1 disclosed by the key issuing device 10 may be used.

また、サーバ装置30の鍵交換処理部301は、以下により共有値σ,σ,σを計算する(ステップS713)。 Further, the key exchange processing unit 301 of the server device 30 calculates the shared values σ 1 , σ 2 , and σ 3 as follows (step S713).

σ=e(DB,1,QA,2
σ=e(QA,1+XA,1,DB,2+x
σ=e(XA,1,x
なお、QA,2=H(ID)は鍵交換処理部301が計算してもよいし、鍵発行装置10により公開されたQA,2が用いられてもよい。
σ 1 = e (DB , 1 , Q A, 2 )
σ 2 = e (Q A, 1 + X A, 1 , DB , 2 + x B Z 2 )
σ 3 = e (X A, 1 , x B Z 2 )
Note that Q A, 2 = H 2 (ID A ) may be calculated by the key exchange processing unit 301, or Q A, 2 disclosed by the key issuing device 10 may be used.

次に、機器20の鍵交換処理部201は、図6のステップS207と同様に、sidを計算する(ステップS714)。また、サーバ装置30の鍵交換処理部301は、図6のステップS208と同様に、sidを計算する(ステップS715)。 Next, the key exchange processing unit 201 of the device 20 calculates the side in the same manner as in step S207 of FIG. 6 (step S714). Further, the key exchange processing unit 301 of the server device 30 calculates the side in the same manner as in step S208 of FIG. 6 (step S715).

委託計算装置40の委託計算部402は、上記のステップS711で計算された共有値σ,σを機器20に送信する(ステップS716)。 The consignment calculation unit 402 of the consignment calculation device 40 transmits the shared values σ 2 and σ 3 calculated in step S711 to the device 20 (step S716).

機器20の鍵交換処理部201は、委託計算装置40から共有値σ,σを受信すると、図6のステップS209と同様に、共有鍵Kを生成する(ステップS717)。 When the key exchange processing unit 201 of the device 20 receives the shared values σ 2 and σ 3 from the consignment computing device 40, the key exchange processing unit 201 generates the shared key K in the same manner as in step S209 of FIG. 6 (step S717).

また、サーバ装置30の鍵交換処理部301は、図6のステップS210と同様に、共有鍵Kを生成する(ステップS718)。これにより、機器20とサーバ装置30との間で共有鍵Kが共有される。 Further, the key exchange processing unit 301 of the server device 30 generates the shared key K in the same manner as in step S210 of FIG. 6 (step S718). As a result, the shared key K is shared between the device 20 and the server device 30.

以上のように、本実施形態に係る鍵交換システム1では、機器20はユーザ秘密鍵DA,1及びDA,2のうちのユーザ秘密鍵DA,1を委託計算装置40に保存させた上で、共有値σ及びσの計算を当該委託計算装置40に委託する。これにより、機器20での処理負荷を軽減させることができ、鍵交換に要する時間を削減することが可能となる。また、ユーザ秘密鍵DA,1及びDA,2が機器20及び委託計算装置40にそれぞれ分散して保持されるため、万が一、いずれか一方のユーザ秘密鍵が漏洩したとしも安全性を確保することが可能となる。 As described above, in the key exchange system 1 according to this embodiment, device 20 was stored the user private key D A, 1 of the user private key D A, 1 and D A, 2 consignment computing device 40 Above, the calculation of the shared values σ 2 and σ 3 is outsourced to the outsourced calculation device 40. As a result, the processing load on the device 20 can be reduced, and the time required for key exchange can be reduced. Further, since the user private keys DA , 1 and DA , 2 are distributed and held in the device 20 and the consignment computing device 40, respectively, security is ensured even if one of the user private keys is leaked. It becomes possible to do.

なお、本実施形態では、上記のステップS711及びステップS713でσ=e(x,XB,2)を計算しているが、例えば、第二の実施形態と組み合わせて、σ=e(x(Z+Y),XB,2)を計算してもよい。この場合、上記のステップS709で機器20は、xの代わりに、x(Z+Y)を計算し、このx(Z+Y)を上記のステップS710で委託計算装置40に送信すればよい。 In the present embodiment, σ 3 = e (x A Z 1, X B, 2) in the above step S711 and step S713 has been calculated, for example, in combination with a second embodiment, sigma 3 = E (x A (Z 1 + Y 1 ), X B, 2 ) may be calculated. In this case, the device 20 in the above step S709, x instead of A Z 1, calculate the x A (Z 1 + Y 1 ) , entrusted computing device this x A (Z 1 + Y 1 ) at step S710 described above It may be transmitted to 40.

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

1 鍵交換システム
10 鍵発行装置
20 機器
30 サーバ装置
101 鍵発行処理部
102 記憶部
201 鍵交換処理部
202 記憶部
301 鍵交換処理部
302 記憶部
1 Key exchange system 10 Key issuer 20 Equipment 30 Server device 101 Key issue processing unit 102 Storage unit 201 Key exchange processing unit 202 Storage unit 301 Key exchange processing unit 302 Storage unit

Claims (8)

非対称ペアリング群G及びG上で実現されるIDベース暗号を用いた認証付き鍵交換により第1の通信装置と第2の通信装置との間で共有鍵を交換する鍵交換システムであって、
前記Gの生成元と乱数とを用いて前記第1の通信装置の短期公開鍵XA,1を生成する第1の短期公開鍵生成手段と、
前記Gの生成元と乱数とを用いて前記第2の通信装置の短期公開鍵XB,2を生成する第2の短期公開鍵生成手段と、
前記短期公開鍵XB,2と前記第1の通信装置のユーザ秘密鍵DA,1とを用いて前記共有鍵を生成する第1の共有鍵生成手段と、
前記短期公開鍵XA,1と前記第2の通信装置のユーザ秘密鍵DB,2とを用いて前記共有鍵を生成する第2の共有鍵生成手段と、
を有することを特徴とする鍵交換システム。
There the key exchange system for exchanging shared key between a first communication apparatus and the second communication device by authentication-key exchange using ID-based encryption implemented on asymmetric pairing group G 1 and G 2 hand,
A first short-term public key generating means for generating the short-term public keys XA , 1 of the first communication device using the generator of G 1 and a random number,
A second short-term public key generation means for generating a short-term public key X B, 2 of the second communication device by using the origin and the random number of the G 2,
A first shared key generation means for generating the shared key using the short-term public keys X B, 2 and the user private keys DA , 1 of the first communication device.
A second shared key generation means for generating the shared key using the short-term public keys XA , 1 and the user private keys DB , 2 of the second communication device.
A key exchange system characterized by having.
前記鍵交換システムには、鍵生成装置が含まれ、
前記第1の共有鍵生成手段は、
前記鍵生成装置でマスター秘密鍵zと前記Gの生成元とから生成されたマスター公開鍵Zと、前記鍵生成装置でマスター秘密鍵yと前記Gの生成元とから生成されたマスター公開鍵Yとを更に用いて前記共有鍵を生成し、
前記第2の共有鍵生成手段は、
前記鍵生成装置でマスター秘密鍵zと前記Gの生成元とから生成されたマスター公開鍵Zと、前記鍵生成装置でマスター秘密鍵yと前記Gの生成元とから生成されたマスター公開鍵Yとを更に用いて前記共有鍵を生成する、ことを特徴とする請求項1に記載の鍵交換システム。
The key exchange system includes a key generator.
The first shared key generation means is
The master public key Z 1 generated from the master secret key z and the generation source of the G 1 by the key generator, and the master generated from the master secret key y and the generation source of the G 1 by the key generation device. further by using the public key Y 1 generates the shared key,
The second shared key generation means is
The master public key Z 2 generated from the master secret key z and the generation source of the G 2 by the key generator, and the master generated from the master secret key y and the generation source of the G 2 by the key generation device. The key exchange system according to claim 1, wherein the shared key is further used with the public key Y 2.
前記鍵交換システムには、複数の鍵生成装置が含まれ、
前記マスター公開鍵Z及びZと、前記マスター公開鍵Y及びYとは異なる鍵生成装置でそれぞれ生成される、ことを特徴とする請求項2に記載の鍵交換システム。
The key exchange system includes a plurality of key generators.
The key exchange system according to claim 2, wherein the master public keys Z 1 and Z 2 and the master public keys Y 1 and Y 2 are generated by different key generators, respectively.
前記マスター秘密鍵yは、前記マスター公開鍵Y及びYの生成後に前記鍵生成装置から削除される、ことを特徴とする請求項2又は3に記載の鍵交換システム。 The key exchange system according to claim 2 or 3, wherein the master private key y is deleted from the key generator after the master public keys Y 1 and Y 2 are generated. 非対称ペアリング群G及びG上で実現されるIDベース暗号を用いた認証付き鍵交換により他の機器又はサーバ装置との間で共有鍵を交換する機器であって、
前記Gの生成元と乱数とを用いて短期公開鍵XA,1を生成する短期公開鍵生成手段と、
前記他の機器又はサーバ装置で前記Gの生成元と乱数とを用いて生成された短期公開鍵XB,2と、前記機器のユーザ秘密鍵DA,1とを用いて前記共有鍵を生成する共有鍵生成手段と、
を有する機器。
A device for exchanging shared keys with other devices or the server device by the authentication with key exchange using the ID-based cryptographic implemented on asymmetric pairing groups G 1 and G 2,
And short-term public key generation means for generating a short-term public key X A, 1 by using the origin and the random number of the G 1,
The shared key is obtained by using the short-term public keys X B and 2 generated by the other device or server device using the generator of G 2 and a random number, and the user private keys DA and 1 of the device. The shared key generation method to be generated and
Equipment with.
非対称ペアリング群G及びG上で実現されるIDベース暗号を用いた認証付き鍵交換により機器又は他の情報処理装置との間で共有鍵を交換する情報処理装置であって、
前記Gの生成元と乱数とを用いて短期公開鍵XB,2を生成する短期公開鍵生成手段と、
前記機器又は他の情報処理装置で前記Gの生成元と乱数とを用いて生成された短期公開鍵XA,1と、前記情報処理装置のユーザ秘密鍵DB,2とを用いて前記共有鍵を生成する共有鍵生成手段と、
を有することを特徴とする情報処理装置。
An information processing apparatus for exchanging shared keys between the authentication with key exchange by the device or another information processing apparatus using the ID-based cryptographic implemented on asymmetric pairing groups G 1 and G 2,
A short-term public key generating means for generating short- term public keys X B and 2 using the G 2 generator and a random number, and
Above using a short-term public key X A, 1 generated by using the origin and the random number of the G 1 in the device, or other information processing apparatus, and a user private key D B, 2 of the information processing apparatus A shared key generation method for generating a shared key,
An information processing device characterized by having.
非対称ペアリング群G及びG上で実現されるIDベース暗号を用いた認証付き鍵交換により第1の通信装置と第2の通信装置との間で共有鍵を交換する鍵交換システムにおける鍵交換方法であって、
前記Gの生成元と乱数とを用いて前記第1の通信装置の短期公開鍵XA,1を生成する第1の短期公開鍵生成手順と、
前記Gの生成元と乱数とを用いて前記第2の通信装置の短期公開鍵XB,2を生成する第2の短期公開鍵生成手順と、
前記短期公開鍵XB,2と前記第1の通信装置のユーザ秘密鍵DA,1とを用いて前記共有鍵を生成する第1の共有鍵生成手順と、
前記短期公開鍵XA,1と前記第2の通信装置のユーザ秘密鍵DB,2とを用いて前記共有鍵を生成する第2の共有鍵生成手順と、
を有することを特徴とする鍵交換方法。
Key in the key exchange system for exchanging shared key between a first communication apparatus and the second communication device by authentication-key exchange using ID-based encryption implemented on asymmetric pairing group G 1 and G 2 It ’s a replacement method,
A first short-term public key generation step of generating a short-term public key X A, 1 of the first communication device by using the origin and the random number of the G 1,
A second short-term public key generation step of generating a short-term public key X B, 2 of the second communication device by using the origin and the random number of the G 2,
A first shared key generation procedure for generating the shared key using the short-term public keys X B, 2 and the user private keys DA , 1 of the first communication device.
A second shared key generation procedure for generating the shared key using the short-term public keys X A, 1 and the user private keys DB , 2 of the second communication device, and
A key exchange method characterized by having.
コンピュータを、請求項5に記載の機器における各手段、又は、請求項6に記載の情報処理装置における各手段、として機能させるためのプログラム。 A program for causing a computer to function as each means in the device according to claim 5 or as each means in the information processing device according to claim 6.
JP2019156115A 2019-08-28 2019-08-28 Key exchange system, device, information processing device, key exchange method and program Active JP7289478B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019156115A JP7289478B2 (en) 2019-08-28 2019-08-28 Key exchange system, device, information processing device, key exchange method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019156115A JP7289478B2 (en) 2019-08-28 2019-08-28 Key exchange system, device, information processing device, key exchange method and program

Publications (2)

Publication Number Publication Date
JP2021034979A true JP2021034979A (en) 2021-03-01
JP7289478B2 JP7289478B2 (en) 2023-06-12

Family

ID=74677936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019156115A Active JP7289478B2 (en) 2019-08-28 2019-08-28 Key exchange system, device, information processing device, key exchange method and program

Country Status (1)

Country Link
JP (1) JP7289478B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013157711A (en) * 2012-01-27 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> Key exchange device, key exchange system, key exchange method and program
JP2017126970A (en) * 2016-01-15 2017-07-20 富士通株式会社 Shared key generation program, shared key generation method and information processing terminal
JP2018116231A (en) * 2017-01-20 2018-07-26 日本電信電話株式会社 Id base authentication key exchange system, terminal, id base authentication key exchange method, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013157711A (en) * 2012-01-27 2013-08-15 Nippon Telegr & Teleph Corp <Ntt> Key exchange device, key exchange system, key exchange method and program
JP2017126970A (en) * 2016-01-15 2017-07-20 富士通株式会社 Shared key generation program, shared key generation method and information processing terminal
JP2018116231A (en) * 2017-01-20 2018-07-26 日本電信電話株式会社 Id base authentication key exchange system, terminal, id base authentication key exchange method, and program

Also Published As

Publication number Publication date
JP7289478B2 (en) 2023-06-12

Similar Documents

Publication Publication Date Title
US10361841B2 (en) Proxy computing system, computing apparatus, capability providing apparatus, proxy computing method, capability providing method, program, and recording medium
TWI821248B (en) Computer implemented method and system for transferring control of a digital asset
US11323255B2 (en) Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes
US11979492B2 (en) Computer-implemented system and method for distributing shares of digitally signed data
KR20170057549A (en) Large simultaneous digital signature service system based on hash function and method thereof
CN111404950B (en) Information sharing method and device based on block chain network and related equipment
KR20210063378A (en) Computer-implemented systems and methods that share common secrets
JP7238977B2 (en) Anonymous Signature System and Anonymous Signature Method
US11411720B2 (en) Key distribution system, terminal device, key distribution method, and program
JP7020297B2 (en) Key sharing system, equipment, key sharing method and program
WO2021010444A1 (en) Key exchange system, communication device, key exchange method, and program
CN116455561A (en) Embedded TLS protocol for lightweight devices
JP7298686B2 (en) Key exchange system, communication device and program
CN116032470A (en) Data transmission system, method and device based on careless transmission protocol
JP7289478B2 (en) Key exchange system, device, information processing device, key exchange method and program
JP7115556B2 (en) Certification and authorization system and certification and authorization method
JP7377495B2 (en) Cryptographic systems and methods
CN110535873B (en) Encryption method and decryption method applied to data collaborative encryption system
Visalakshi et al. Secure Cloud-based Access Control Optimization (SCACO)
JP2021093665A (en) Key exchange system, information processing device, key exchange method, and program
Ahammed Improving the Proof of Retrievability in Cloud Computing
JP2015022098A (en) Decryption system, terminal device, signature system, method therefor, and program

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20190829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20190829

A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20190913

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220506

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230412

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230522

R150 Certificate of patent or registration of utility model

Ref document number: 7289478

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150