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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 41
- 238000004891 communication Methods 0.000 claims abstract description 58
- 230000010365 information processing Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 description 79
- 238000003860 storage Methods 0.000 description 59
- 238000004364 calculation method Methods 0.000 description 46
- 230000008569 process Effects 0.000 description 32
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 108700026836 CAPABLE protocol Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012946 outsourcing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
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.
しかしながら、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に用いられる非対称ペアリング群をG1及びG2(ただし、pを素数として、G1は有限体Fp上の楕円曲線上の群の部分群、G2は有限体Fpの拡大体上の楕円曲線上の群の部分群)とした場合、G1上の楕円スカラ倍算よりもG2上の楕円スカラ倍算の方が、計算コストが高くなる。このため、G1上の楕円スカラ倍算のみでプロトコルを構成することができれば鍵交換に要する時間を削減することができるが、FSUではG1上の楕円スカラ倍算を3回(又は2回)、G2上の楕円スカラ倍算を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
本発明の一実施形態は、上記の点に鑑みてなされたもので、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.
上記目的を達成するため、本発明の一実施形態に係る鍵交換システムは、非対称ペアリング群G1及びG2上で実現されるIDベース暗号を用いた認証付き鍵交換により第1の通信装置と第2の通信装置との間で共有鍵を交換する鍵交換システムであって、前記G1の生成元と乱数とを用いて前記第1の通信装置の短期公開鍵XA,1を生成する第1の短期公開鍵生成手段と、前記G2の生成元と乱数とを用いて前記第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.
以下、本発明の各実施形態について説明する。本発明の各実施形態では、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
ここで、FSUに用いられる非対称ペアリング群をG1及びG2(ただし、pを素数として、G1は有限体Fp上の楕円曲線上の群の部分群、G2は有限体Fpの拡大体上の楕円曲線上の群の部分群)として、ユーザUAをSender(つまり、暗号化通信後のデータ送信側)、ユーザUBをReceiver(つまり、暗号化通信後のデータ受信側)として、ユーザUAとユーザUBとの間で鍵交換を行う場合、上記の非特許文献1に記載されているように、FSUでは、G1の生成元g1とG2の生成元g2に対して乱数xAを掛けることでユーザUAの短期公開鍵XA,1及びXA,2を生成している。このため、これらの短期公開鍵XA,1及びXA,2を受信したユーザUBはこれらの短期公開鍵XA,1及びXA,2が同じ乱数xAでスカラ倍されているかを確認する必要があり、その確認のためにペアリング演算e(XA,1,g2)とペアリング演算e(g1,XA,2)とを計算している。なお、ユーザUBの短期公開鍵XB,1及びXB,2をユーザUAが受信した場合も同様に、ペアリング演算e(XB,1,g2)とペアリング演算e(g1,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
そこで、以降で説明する各実施形態に係る鍵交換システム1では、G1及びG2の両方の生成元g1及びg2を使わずに、いずれか一方の生成元のみを使って鍵交換が可能となるようにプロトコルを構成する。これにより、上述した確認のためのペアリング演算を省略することが可能となる。
Therefore, the
すなわち、FSUのDH(Diffie-Hellman)鍵交換(つまり、非特許文献1に記載されているFSUで、ユーザUA及びユーザUB間で共有値σ3及びσ4を生成する処理)をペアリング演算e(xAZ1,XB,2)とe(XA,1,xBZ2)とにそれぞれ置き換えることで、ユーザUAは短期公開鍵XA,1のみを生成すれば良くなり、ユーザUBは短期公開鍵XB,2のみを生成すれば良くなる。これにより、ペアリング演算の回数を削減することができると共に、ユーザUB側の楕円スカラ倍算の回数を0にすることができる。したがって、ユーザUAとユーザUBとの間の鍵交換に要する時間を削減することができる。
That, DH (Diffie-Hellman) key exchange FSU (i.e., at FSU described in Non-Patent
[第一の実施形態]
以降では、第一の実施形態について説明する。第一の実施形態では、G1及びG2の両方の生成元g1及びg2を使わずに、いずれか一方の生成元のみを使って鍵交換が可能なプロトコルの基本的な構成について説明する。
[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
図1に示すように、本実施形態に係る鍵交換システム1には、1台以上の鍵発行装置10と、1台以上の機器20と、1台以上のサーバ装置30とが含まれる。鍵発行装置10と機器20とサーバ装置30とは、例えばインターネット等の通信ネットワークNを介して通信可能に接続されている。
As shown in FIG. 1, the
鍵発行装置10は、KGC(Key Generation Center)として機能するコンピュータ又はコンピュータシステムである。鍵発行装置10は、マスター秘密鍵を用いてマスター公開鍵を生成した上で、当該マスター公開鍵を公開する。また、鍵発行装置10は、機器20やサーバ装置30の識別子(ID)からユーザ秘密鍵を生成した上で、当該識別子に対応する機器20やサーバ装置30に当該ユーザ秘密鍵を配布する。
The key issuing
なお、機器20やサーバ装置30の識別子としては、任意の識別子を用いることが可能である。例えば、製造固有番号、IP(Internet Protocol)アドレス、物理アドレス等を用いることが可能である。これら以外にも、例えば、機器20やサーバ装置30を利用するユーザのユーザID、氏名、メールアドレス等を識別子として用いることも可能である。
Any identifier can be used as the identifier of the
機器20は、例えば、各種センサデバイス、組み込み機器、ウェアラブルデバイス、デジタル家電、監視カメラ、照明機器、医療機器、産業用機器等の種々のIoT機器である。すなわち、機器20は、一般的なコンピュータ等と比較して計算リソース(例えば、プロセッサの処理性能やメモリの容量等)が限られているIoT機器である。ただし、これに限られず、機器20がIoT機器以外(PC(パーソナルコンピュータ、スマートフォン、タブレット端末等)であっても、本発明の各実施形態を同様に適用することが可能である。
The
機器20は、鍵発行装置10から配布されたユーザ秘密鍵を用いて、他の機器20やサーバ装置30との間でIDベース暗号を用いた認証付き鍵交換プロトコルにより認証(つまり、正当性の確認)を行って、暗号化通信のための鍵(共有鍵)を交換(生成)する。なお、以降では、複数の機器20の各々を区別して表す場合は、「機器20−1」、「機器20−2」等と表す。
The
サーバ装置30は、機器20からデータ(例えば、センシングデータ等)を収集するコンピュータ又はコンピュータシステムである。サーバ装置30は、機器20からデータを収集する際に、当該機器20との間でIDベース暗号を用いた認証付き鍵交換プロトコルにより認証を行って、暗号化通信のための共有鍵を交換する。
The
なお、図1に示す鍵交換システム1の構成は一例であって、他の構成であってもよい。例えば、鍵発行装置10がユーザ秘密鍵を生成する際に、当該鍵発行装置10に対して識別子(機器20の識別子やサーバ装置30の識別子)を送信する端末が鍵交換システム1に含まれていてもよい。また、機器20同士でのみ暗号化通信を行う場合(つまり、IDベース暗号を用いた認証付き鍵交換プロトコルによる認証及び共有鍵の交換が機器20間でのみ行われる場合)、鍵交換システム1には、サーバ装置30が含まれていなくてもよい。
The configuration of the
以降の各実施形態では、一例として、ユーザUAを機器20、ユーザUBをサーバ装置30として、機器20とサーバ装置30との間でIDベース暗号を用いた認証付き鍵交換プロトコルにより認証を行って、暗号化通信のための共有鍵を交換する場合について説明する。ただし、例えば、ユーザUAを機器20−1、ユーザUBを機器20−2として、機器20−1と機器20−2との間でIDベース暗号を用いた認証付き鍵交換プロトコルによる認証を行って、暗号化通信のための共有鍵を交換してもよい。同様に、複数のサーバ装置30(例えば、「サーバ装置30−1」及び「サーバ装置30−2」)が鍵交換システム1に含まれる場合、ユーザUAをサーバ装置30−1、ユーザUBをサーバ装置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
<ハードウェア構成>
次に、本実施形態に係る鍵発行装置10、機器20及びサーバ装置30のハードウェア構成について説明する。
<Hardware configuration>
Next, the hardware configuration of the
≪鍵発行装置10及びサーバ装置30≫
以降では、本実施形態に係る鍵発行装置10及びサーバ装置30のハードウェア構成について、図2を参照しながら説明する。図2は、第一の実施形態に係る鍵発行装置10及びサーバ装置30のハードウェア構成の一例を示す図である。なお、鍵発行装置10及びサーバ装置30は同様のハードウェア構成で実現可能であるため、以降では、主に、鍵発行装置10のハードウェア構成について説明する。
<<
Hereinafter, the hardware configurations of the
図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
入力装置11は、例えば、キーボードやマウス、タッチパネル等である。表示装置12は、例えば、ディスプレイ等である。なお、鍵発行装置10やサーバ装置30は、入力装置11及び表示装置12のうちの少なくとも一方を有していなくてもよい。
The
RAM13は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM14は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。プロセッサ15は、例えばCPU(Central Processing Unit)等であり、ROM14や補助記憶装置18等からプログラムやデータをRAM13上に読み出して処理を実行する演算装置である。
The
外部I/F16は、外部装置とのインタフェースである。外部装置には、記録媒体16a等がある。記録媒体16aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
The external I /
通信I/F17は、通信ネットワークNに接続するためのインタフェースである。補助記憶装置18は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性の記憶装置である。補助記憶装置18には、各種データやプログラム等が記憶されている。
The communication I /
本実施形態に係る鍵発行装置10は、図2に示すハードウェア構成を有することにより、後述する鍵発行処理等を実現することができる。同様に、本実施形態に係るサーバ装置30は、図2に示すハードウェア構成を有することにより、後述する鍵交換処理等を実現することができる。
By having the hardware configuration shown in FIG. 2, the
なお、図2では、本実施形態に係る鍵発行装置10及びサーバ装置30が1台の装置(コンピュータ)で実現されている場合を示したが、これに限られない。本実施形態に係る鍵発行装置10やサーバ装置30は、複数台の装置(コンピュータ)で実現されていてもよい。また、1台の装置(コンピュータ)には、複数のプロセッサ15や複数のメモリ(例えば、RAM13、ROM14、補助記憶装置18等)が含まれていてもよい。
Note that FIG. 2 shows a case where the
≪機器20≫
以降では、本実施形態に係る機器20のハードウェア構成について、図3を参照しながら説明する。図3は、第一の実施形態に係る機器20のハードウェア構成の一例を示す図である。
Hereinafter, the hardware configuration of the
図3に示すように、本実施形態に係る機器20は、プロセッサ21と、メモリ装置22と、通信I/F23とを有する。これら各ハードウェアは、それぞれがバス24を介して通信可能に接続されている。
As shown in FIG. 3, the
プロセッサ21は、例えば、MPU(Micro Processing Unit)やCPU等であり、メモリ装置22からプログラムやデータを読み出して処理を実行する演算装置である。
The
メモリ装置22は、例えば、RAMやROM、フラッシュメモリ等であり、各種データやプログラム等が記憶されている。通信I/F23は、機器20を通信ネットワークNに接続するためのインタフェースである。
The
本実施形態に係る機器20は、図3に示すハードウェア構成を有することにより、後述する鍵交換処理等を実現することができる。
By having the hardware configuration shown in FIG. 3, the
<機能構成>
次に、本実施形態に係る鍵交換システム1の機能構成について、図4を参照しながら説明する。図4は、第一の実施形態に係る鍵交換システム1の機能構成の一例を示す図である。
<Functional configuration>
Next, the functional configuration of the
≪鍵発行装置10≫
図4に示すように、本実施形態に係る鍵発行装置10は、鍵発行処理部101と、記憶部102とを有する。鍵発行処理部101は、鍵発行装置10にインストールされた1以上のプログラムがプロセッサに実行させる処理により実現される。また、記憶部102は、例えば補助記憶装置やRAM等を用いて実現可能である。なお、記憶部102は、鍵発行装置10と通信ネットワークNを介して接続される記憶装置等を用いて実現されていてもよい。
≪
As shown in FIG. 4, the
鍵発行処理部101は、マスター秘密鍵とマスター公開鍵とを生成する。また、鍵発行処理部101は、機器20やサーバ装置30の識別子からユーザ秘密鍵を生成した上で、当該識別子に対応する機器20やサーバ装置30に当該ユーザ秘密鍵を配布する。記憶部102は、各種データ(例えば、マスター秘密鍵やマスター公開鍵等)を記憶する。
The key
≪機器20≫
図4に示すように、本実施形態に係る機器20は、鍵交換処理部201と、記憶部202とを有する。鍵交換処理部201は、機器20にインストールされた1以上のプログラムがプロセッサ21に実行させる処理により実現される。また、記憶部202は、例えばメモリ装置22等を用いて実現可能である。
As shown in FIG. 4, the
鍵交換処理部201は、鍵発行装置10から配布されたユーザ秘密鍵を用いて、サーバ装置30や他の機器20との間でIDベース暗号を用いた認証付き鍵交換プロトコルにより認証を行って共有鍵を交換する。記憶部202は、各種データ(例えば、ユーザ秘密鍵等)を記憶する。
The key
≪サーバ装置30≫
図4に示すように、本実施形態に係るサーバ装置30は、鍵交換処理部301と、記憶部302とを有する。鍵交換処理部301は、サーバ装置30にインストールされた1以上のプログラムがプロセッサに実行させる処理により実現される。また、記憶部302は、例えば補助記憶装置やRAM等を用いて実現可能である。なお、記憶部302は、サーバ装置30と通信ネットワークNを介して接続される記憶装置等を用いて実現されていてもよい。
<<
As shown in FIG. 4, the
鍵交換処理部301は、機器20との間でIDベース暗号を用いた認証付き鍵交換プロトコルにより認証を行って共有鍵を交換する。記憶部302は、各種データ(例えば、ユーザ秘密鍵等)を記憶する。
The key
<鍵交換システム1の処理の詳細>
次に、本実施形態に係る鍵交換システム1の処理の詳細について説明する。
<Details of processing of
Next, the details of the processing of the
≪記号の定義≫
まず、本実施形態で用いる記号を次のように定義する。なお、特に言及した場合を除き、第二の実施形態及び第三の実施形態でも本実施形態で定義された記号を用いるものとする。
≪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.
IDA:機器20(つまり、ユーザUA)の識別子
IDB:サーバ装置30(つまり、ユーザUB)の識別子
DA,1:機器20のユーザ秘密鍵
DB,2:サーバ装置30のユーザ秘密鍵
k:セキュリティパラメータ
p,q:p≠qを満たす素数
G1:有限体Fp上の楕円曲線をE1として、楕円曲線E1上の群E(Fp)の部分群
G2:有限体Fpのk次拡大体上の楕円曲線をE2として、楕円曲線E2上の群
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
g1:G1の生成元
g2:G2の生成元
e:G1×G2上で定義されたペアリング
Zq:qを法とする剰余類
z,y∈Zq:マスター秘密鍵
Zv=zgv∈Gv(v=1,2):マスター公開鍵
Yv=ygv∈Gv(v=1,2):マスター公開鍵
H1:文字列(識別子)からG1上の元を生成する関数
H2:文字列(識別子)からG2上の元を生成する関数
H:鍵導出関数
K:共有鍵
||:文字列の連結
また、任意の形式のデータを文字列に変換したものをハット「^」を付与して表すものとする。例えば、短期公開鍵Xを文字列に変換したものを
||: 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
≪鍵発行処理≫
以降では、本実施形態に係る鍵発行処理について、図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とマスター公開鍵Z1=zg1及びZ2=zg2とを生成する(ステップS101)。これらのマスター秘密鍵zやマスター公開鍵Z1及びZ2は、例えば、記憶部102に保存される。また、マスター公開鍵Z1及びZ2は公開される。なお、マスター秘密鍵zは、例えば、Zqからランダムに元を選択することで生成される。
The key
ここで、上記のステップS101は、例えば、鍵交換システム1のシステム構築時に実行される。一方で、後述するステップS102〜ステップS103は、ユーザ秘密鍵を生成する必要が生じるたびに繰り返し実行される。例えば、ステップS102〜ステップS103は、鍵交換システム1のシステム構築時や、システム構築後に機器20やサーバ装置30が追加された場合等に実行される。以降では、一例として、機器20(ユーザUA)のユーザ秘密鍵と、サーバ装置30(ユーザUB)のユーザ秘密鍵とを生成する場合について説明する。
Here, the above step S101 is executed, for example, at the time of system construction of the
鍵発行装置10の鍵発行処理部101は、QA,1=H1(IDA)を計算した上でユーザ秘密鍵DA,1=zQA,1を生成すると共に、QB,2=H2(IDB)を計算した上でユーザ秘密鍵DB,2=zQB,2を生成する(ステップS102)。これにより、機器20のユーザ秘密鍵DA,1とサーバ装置30のユーザ秘密鍵DB,2とが生成される。なお、IDAやIDB、H1、H2は公開情報である。
The key
次に、鍵発行装置10の鍵発行処理部101は、上記のステップS102で生成されたユーザ秘密鍵DA,1及びDB,2を配布する(ステップS103)。すなわち、鍵発行処理部101は、ユーザ秘密鍵DA,1を機器20(ユーザUA)に配布し、ユーザ秘密鍵DB,2をサーバ装置30(ユーザUB)に配布する。これにより、ユーザ秘密鍵DA,1が機器20の記憶部202に保存されると共に、ユーザ秘密鍵DB,2がサーバ装置30の記憶部302に保存される。
Next, the key
なお、ユーザ秘密鍵の配布は任意の方法で行われればよい。例えば、鍵発行装置10はユーザ秘密鍵を機器20やサーバ装置30に送信してもよいし、機器20やサーバ装置30が鍵発行装置10にアクセスしてユーザ秘密鍵を取得してもよいし、ユーザ秘密鍵を記録媒体に格納して配布してもよい。
The user private key may be distributed by any method. For example, the
≪鍵交換処理≫
以降では、機器20(ユーザUA)とサーバ装置30(ユーザUB)との間で鍵交換処理を行う場合について、図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
機器20の鍵交換処理部201は、短期秘密鍵xA∈Zqをランダムに選択した上で、短期公開鍵XA,1=xAg1を生成する(ステップS201)。なお、短期秘密鍵xA及び短期公開鍵XA,1は、例えば、記憶部202に保存される。
Key
サーバ装置30の鍵交換処理部301は、短期秘密鍵xB∈Zqをランダムに選択した上で、短期公開鍵XB,2=xBg2を生成する(ステップS202)。なお、短期秘密鍵xB及び短期公開鍵XB,2は、例えば、記憶部302に保存される。
The key
次に、機器20の鍵交換処理部201は、短期公開鍵XA,1をサーバ装置30に送信する(ステップS203)。同様に、サーバ装置30の鍵交換処理部301は、短期公開鍵XB,2を機器20に送信する(ステップS204)。
Next, the key
機器20の鍵交換処理部201は、以下により共有値σ1,σ2,σ3を計算する(ステップS205)。
The key
σ1=e(DA,1,QB,2)
σ2=e(DA,1+xAZ1,QB,2+XB,2)
σ3=e(xAZ1,XB,2)
なお、QB,2=H2(IDB)は鍵交換処理部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
また、サーバ装置30の鍵交換処理部301は、以下により共有値σ1,σ2,σ3を計算する(ステップS206)。
Further, the key
σ1=e(QA,1,DB,2)
σ2=e(QA,1+XA,1,DB,2+xBZ2)
σ3=e(XA,1,xBZ2)
なお、QA,1=H1(IDA)は鍵交換処理部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
次に、機器20の鍵交換処理部201は、以下によりsidを計算する(ステップS207)。なお、sidはセッションIDを意味する。
Next, the key
同様に、サーバ装置30の鍵交換処理部301は、以下により共有鍵Kを生成する(ステップS210)。
Similarly, the key
これにより、機器20とサーバ装置30との間で共有鍵Kが共有される。したがって、機器20及びサーバ装置30は、この共有鍵Kを用いて暗号化通信を行うことができる。なお、上記のステップS209及びステップS210で共有鍵Kを生成する際に、機器20とサーバ装置30との間で予め決められた任意のデータ(例えば、マスター公開鍵Z1及びZ2やプロトコル名(アルゴリズム名)等)を文字列に変換したものが用いられてもよい。例えば、マスター公開鍵Z1及びZ2とプロトコル名「FSU」とを文字列に変換したものを用いる場合、以下により共有鍵Kが生成されてもよい。
As a result, the shared key K is shared between the
以上のように、本実施形態に係る鍵交換システム1では、機器20はG1の生成元g1を用いて短期公開鍵XA,1のみを生成し、サーバ装置30はG2の生成元g2を用いて短期公開鍵XB,2のみを生成する。これにより、FSUと比較して鍵交換システム1全体でのペアリング演算の回数を2回削減することができる(つまり、機器20及びサーバ装置30のそれぞれでペアリング演算の回数を1回ずつ削減することができる)と共に、機器20におけるG2上での楕円スカラ倍算の回数を0回にすることができる。したがって、本実施形態に係る鍵交換システム1によれば、鍵交換に要する時間を削減することができる。
As described above, in the
[第二の実施形態]
以降では、第二の実施形態について説明する。第二の実施形態では、第一の実施形態で説明したプロトコルの安全性をより向上させて、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
Details of the processing of the
≪鍵発行処理≫
以降では、本実施形態に係る鍵発行処理について、図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とマスター公開鍵Y1=yg1及びY2=yg2とを生成する(ステップS301)。これらのマスター秘密鍵z及びyやマスター公開鍵Y1及びY2は、例えば、記憶部102に保存される。また、マスター公開鍵Y1及びY2は公開される。なお、マスター秘密鍵yは、例えば、Zqからランダムに元を選択することで生成される。
The key
次に、鍵発行装置10の鍵発行処理部101は、記憶部102に記憶されているマスター秘密鍵yを削除する(ステップS302)。本ステップは必ずしも実行される必要はないが、マスター秘密鍵yを記憶部102から削除することで、これ以降、マスター秘密鍵yの漏洩を防止することが可能となる。
Next, the key
次に、鍵発行装置10の鍵発行処理部101は、マスター公開鍵Z1=zg1及びZ2=zg2を生成する(ステップS303)。これらのマスター公開鍵Z1及びZ2は、例えば、記憶部102に保存される。また、マスター公開鍵Z1及びZ2は公開される。
Next, the key
ここで、上記のステップ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
≪鍵交換処理≫
以降では、機器20(ユーザUA)とサーバ装置30(ユーザUB)との間で鍵交換処理を行う場合について、図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は、以下により共有値σ1,σ2,σ3を計算する(ステップS405)。
The key
σ1=e(DA,1,QB,2)
σ2=e(DA,1+xAZ1,QB,2+XB,2)
σ3=e(xA(Z1+Y1),XB,2)
なお、QB,2=H2(IDB)は鍵交換処理部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
また、サーバ装置30の鍵交換処理部301は、以下により共有値σ1,σ2,σ3を計算する(ステップS406)。
Further, the key
σ1=e(QA,1,DB,2)
σ2=e(QA,1+XA,1,DB,2+xBZ2)
σ3=e(XA,1,xB(Z2+Y2))
なお、QA,1=H1(IDA)は鍵交換処理部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
以降のステップ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では、マスター公開鍵Y1=yg1及びY2=yg2を用いて共有値σ3を計算する。また、マスター公開鍵Y1及びY2が生成された後は、マスター秘密鍵zと異なり、鍵発行装置10はマスター秘密鍵yを保持しておく必要はないため、当該マスター秘密鍵yを削除することが可能である。このため、本実施形態に係る鍵交換システム1では、マスター秘密鍵yの漏洩を防止することができ、より安全性を高めることが可能となる。
As described above, in the
なお、上記では鍵交換システム1に含まれる鍵発行装置10が1台であるものとして説明したが、複数の鍵発行装置10が鍵交換システム1に含まれる場合(例えば、機器20やサーバ装置30が利用するサービス毎に鍵発行装置10が存在するような場合等)にはマスター秘密鍵が複数の鍵発行装置10に分散されていてもよい。すなわち、例えば、鍵発行装置10−1と鍵発行装置10−2とが鍵交換システム1に含まれる場合、鍵発行装置10−1がマスター秘密鍵zとマスター公開鍵Z1及びZ2とを生成及び保持すると共に、鍵発行装置10−2がマスター秘密鍵yとマスター公開鍵Y1及びY2とを生成及び保持していてもよい。
In the above description, it is assumed that the
更に、例えば、鍵発行装置10−1と鍵発行装置10−2と鍵発行装置10−3とが鍵交換システム1に含まれる場合、鍵発行装置10−1がマスター秘密鍵zとマスター公開鍵Z1及びZ2とを生成及び保持し、鍵発行装置10−2がマスター秘密鍵yとマスター公開鍵Y1及びY2とを生成及び保持し、鍵発行装置10−3がマスター秘密鍵wとマスター公開鍵W1=wg1及びW2=wg2とを生成及び保持してもよい。この場合、上記のステップS405ではσ3=e(xA(Z1+Y1+W1),XB,2)によりσ3を計算し、ステップS406ではσ3=e(XA,1,xB(Z2+Y2+W2))によりσ3を計算する。これにより、例えば、攻撃者等が全てのマスター秘密鍵を入手することが難しくなり、より安全性を向上させることが可能となる。なお、より一般に、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
また、上記ではマスター公開鍵Y1及びY2をマスター秘密鍵yから生成したが、別の方法でマスター公開鍵Y1及びY2が生成されてもよい。例えば、マルチパーティプロトコルを使うことで機器20とサーバ装置30とでマスター秘密鍵yを生成することができるため、マスター公開鍵Y1及びY2を生成することが可能である。この場合、マルチパーティプロトコルにより機器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
≪鍵発行処理の他の例≫
ここで、図7に示す鍵発行処理ではY1及びY2をマスター公開鍵としたが、Y1及びY2をユーザ秘密鍵として、機器20(ユーザUA)及びサーバ装置30(ユーザUB)にそれぞれ配布してもよい。この場合の鍵発行処理について、図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
鍵発行装置10−1の鍵発行処理部101は、図5のステップS101と同様に、マスター秘密鍵zとマスター公開鍵Z1=zg1及びZ2=zg2とを生成する(ステップS501)。
The key
ここで、上記のステップS501は、例えば、鍵交換システム1のシステム構築時に実行される。一方で、後述するステップS502〜ステップS505は、ユーザ秘密鍵を生成する必要が生じるたびに繰り返し実行される。以降では、一例として、機器20(ユーザUA)のユーザ秘密鍵と、サーバ装置30(ユーザUB)のユーザ秘密鍵とを生成する場合について説明する。
Here, the above step S501 is executed, for example, at the time of system construction of the
鍵発行装置10−1の鍵発行処理部101は、図5のステップS102と同様に、ユーザ秘密鍵DA,1及びDB,2を生成する(ステップS502)。
The key
次に、鍵発行装置10−1の鍵発行処理部101は、図5のステップS103と同様に、上記のステップS502で生成されたユーザ秘密鍵DA,1及びDB,2を配布する(ステップS503)。すなわち、鍵発行処理部101は、ユーザ秘密鍵DA,1を機器20(ユーザUA)に配布し、ユーザ秘密鍵DB,2をサーバ装置30(ユーザUB)に配布する。
Next, the key
一方で、鍵発行装置10−2の鍵発行処理部101は、マスター秘密鍵yとユーザ秘密鍵Y1=yg1及びY2=yg2とを生成する(ステップS504)。なお、マスター秘密鍵yは、ユーザ秘密鍵Y1及びY2が生成された後に削除されてもよい。
On the other hand, the key
次に、鍵発行装置10−2の鍵発行処理部101は、ユーザ秘密鍵Y1及びY2を配布する(ステップS505)。すなわち、鍵発行処理部101は、ユーザ秘密鍵Y1を機器20に配布し、ユーザ秘密鍵Y2をサーバ装置30に配布する。
Next, the key
以上のように、ユーザ秘密鍵DA,1及びDB,2を鍵発行装置10−1が機器20及びサーバ装置30にそれぞれ配布すると共に、Y1及びY2をユーザ秘密鍵として鍵発行装置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
また、例えば、機器20やサーバ装置30が利用するサービス毎に鍵発行装置10が存在する場合等には、全てのサービスからユーザ秘密鍵が発行されない限り、機器20とサーバ装置30との間で通信(暗号化通信)を開始できないようにすることが可能となる。
Further, for example, when a
[第三の実施形態]
以降では、第三の実施形態について説明する。第三の実施形態では、安全性の向上のために複数のユーザ秘密鍵を用いると共に、機器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
<全体構成>
まず、本実施形態に係る鍵交換システム1の全体構成について、図10を参照しながら説明する。図10は、第三の実施形態に係る鍵交換システム1の全体構成の一例を示す図である。
<Overall configuration>
First, the overall configuration of the
図10に示すように、本実施形態に係る鍵交換システム1には、更に、1台以上の委託計算装置40が含まれる。委託計算装置40は、例えばインターネット等の通信ネットワークNを介して機器20と通信可能に接続されている。
As shown in FIG. 10, the
委託計算装置40は、例えば、機器20と物理的に近い場所に設置されたエッジコンピュータ又はフォグコンピュータ等である。委託計算装置40は、機器20がサーバ装置30又は他の機器20との間でIDベース暗号を用いた認証付き鍵交換プロトコルによる認証及び共有鍵の生成を行う際に、この認証付き鍵交換プロトコルに用いられる複数のユーザ秘密鍵のうちの一部のユーザ秘密鍵を用いた共有値の計算等を行う。すなわち、機器20は一部の共有値の計算を委託計算装置40に委託し、この委託に応じて、委託計算装置40は当該一部の共有値の計算を行う。なお、委託計算装置40は、例えば、鍵発行装置10やサーバ装置30等と同様のハードウェア構成により実現可能である。
The
<機能構成>
次に、本実施形態に係る鍵交換システム1の機能構成について、図11を参照しながら説明する。図11は、第三の実施形態に係る鍵交換システム1の機能構成の一例を示す図である。
<Functional configuration>
Next, the functional configuration of the
≪機器20≫
図11に示すように、本実施形態に係る機器20は、更に、相互認証部203を有する。相互認証部203は、機器20にインストールされた1以上のプログラムがプロセッサ21に実行させる処理により実現される。
As shown in FIG. 11, the
相互認証部203は、IDベース暗号を用いた認証付き鍵交換プロトコルに用いられる複数のユーザ秘密鍵のうちの一部のユーザ秘密鍵を用いた共有値の計算等を委託計算装置40に委託する前に、記憶部202に予め記憶しておいた共通鍵を用いて、当該委託計算装置40との間で相互に認証を行う。
The
≪委託計算装置40≫
図11に示すように、本実施形態に係る委託計算装置40は、相互認証部401と、委託計算部402と、記憶部403とを有する。相互認証部401及び委託計算部402は、委託計算装置40にインストールされた1以上のプログラムがプロセッサに実行させる処理により実現される。また、記憶部403は、例えば補助記憶装置やRAM等を用いて実現可能である。なお、記憶部403は、委託計算装置40と通信ネットワークNを介して接続される記憶装置等を用いて実現されていてもよい。
≪
As shown in FIG. 11, the
相互認証部401は、IDベース暗号を用いた認証付き鍵交換プロトコルに用いられる複数のユーザ秘密鍵のうちの一部のユーザ秘密鍵を用いた共有値の計算等を機器20から受託する前に、記憶部403に予め記憶していた共有鍵を用いて、当該機器20との間で相互に認証を行う。
Before the
委託計算部402は、機器20から委託されたユーザ秘密鍵を用いた共有値の計算等を行う。記憶部403は、IDベース暗号を用いた認証付き鍵交換プロトコルに用いられる複数のユーザ秘密鍵のうちの一部のユーザ秘密鍵や機器20との間の相互認証に用いる共通鍵等を記憶する。
The
<鍵交換システム1の処理の詳細>
本実施形態に係る鍵交換システム1の処理の詳細について説明する。
<Details of processing of
Details of the processing of the
≪鍵発行処理≫
以降では、本実施形態に係る鍵発行処理について、図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とマスター公開鍵Z1=zg1及びZ2=zg2とを生成する(ステップS601)。これらのマスター秘密鍵zやマスター公開鍵Z1及びZ2は、例えば、記憶部102に保存される。また、マスター公開鍵Z1及びZ2は公開される。
The key
ここで、上記のステップS601は、例えば、鍵交換システム1のシステム構築時に実行される。一方で、後述するステップS602〜ステップS603は、ユーザ秘密鍵を生成する必要が生じるたびに繰り返し実行される。例えば、ステップS602〜ステップS603は、鍵交換システム1のシステム構築時や、システム構築後に機器20やサーバ装置30が追加された場合等に実行される。以降では、一例として、機器20(ユーザUA)のユーザ秘密鍵と、サーバ装置30(ユーザUB)のユーザ秘密鍵とを生成する場合について説明する。
Here, the above step S601 is executed, for example, at the time of system construction of the
鍵発行装置10の鍵発行処理部101は、QA,1=H1(IDA)及びQA,2=H2(IDA)を計算した上でユーザ秘密鍵DA,1=zQA,1及びDA,2=zQA,2を生成すると共に、QB,1=H1(IDB)及びQB,2=H2(IDB)を計算した上でユーザ秘密鍵DB,1=zQB,1及びDB,2=zQB,2を生成する(ステップS602)。これにより、機器20のユーザ秘密鍵DA,1及びDA,2と、サーバ装置30のユーザ秘密鍵DB,1及びDB,2とが生成される。
The key
次に、鍵発行装置10の鍵発行処理部101は、上記のステップS602で生成されたユーザ秘密鍵DA,1及びDA,2とユーザ秘密鍵DB,1及びDB,2とを配布する(ステップS603)。すなわち、鍵発行処理部101は、ユーザ秘密鍵DA,1及びDA,2を機器20(ユーザUA)に配布し、ユーザ秘密鍵DB,1及びDB,2をサーバ装置30(ユーザUB)に配布する。これにより、ユーザ秘密鍵DA,1及びDA,2が機器20の記憶部202に保存されると共に、ユーザ秘密鍵DB,1及びDB,2がサーバ装置30の記憶部302に保存される。
Next, the key
≪鍵交換処理≫
以降では、機器20(ユーザUA)とサーバ装置30(ユーザUB)との間で鍵交換処理を行う場合について、図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
機器20の鍵交換処理部201は、ユーザ秘密鍵DA,1を委託計算装置40に送信する(ステップS701)。
The key
委託計算装置40の委託計算部402は、ユーザ秘密鍵DA,1を受信すると、当該ユーザ秘密鍵DA,1を記憶部403に保存する(ステップS702)。
When the
機器20の鍵交換処理部201は、記憶部202に記憶されているユーザ秘密鍵DA,1を削除する(ステップS703)。これにより、ユーザ秘密鍵DA,1及びDA,2のうち、機器20の記憶部202にはユーザ秘密鍵DA,2のみが保存されていることになり、委託計算装置40の記憶部403にはユーザ秘密鍵DA,1のみが保存されていることになる。
The key
なお、上記のステップ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
ステップ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
以降では、上記のステップ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
機器20の鍵交換処理部201は、xAZ1を計算する(ステップS709)。次に、機器20の鍵交換処理部201は、識別子IDBと、短期公開鍵XB,2と、計算値xAZ1とを委託計算装置40に送信する(ステップS710)。
Key
委託計算装置40の委託計算部402は、識別子IDBと、短期公開鍵XB,2と、計算値xAZ1とを受信すると、以下により共有値σ2,σ3を計算する(ステップS711)。
When the
σ2=e(DA,1+xAZ1,QB,2+XB,2)
σ3=e(xAZ1,XB,2)
なお、QB,2=H2(IDB)は委託計算部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
機器20の鍵交換処理部201は、以下により共有値σ1を計算する(ステップS712)。
The key
σ1=e(QB,1,DA,2)
なお、QB,1=H1(IDB)は鍵交換処理部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
また、サーバ装置30の鍵交換処理部301は、以下により共有値σ1,σ2,σ3を計算する(ステップS713)。
Further, the key
σ1=e(DB,1,QA,2)
σ2=e(QA,1+XA,1,DB,2+xBZ2)
σ3=e(XA,1,xBZ2)
なお、QA,2=H2(IDA)は鍵交換処理部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
次に、機器20の鍵交換処理部201は、図6のステップS207と同様に、sidを計算する(ステップS714)。また、サーバ装置30の鍵交換処理部301は、図6のステップS208と同様に、sidを計算する(ステップS715)。
Next, the key
委託計算装置40の委託計算部402は、上記のステップS711で計算された共有値σ2,σ3を機器20に送信する(ステップS716)。
The
機器20の鍵交換処理部201は、委託計算装置40から共有値σ2,σ3を受信すると、図6のステップS209と同様に、共有鍵Kを生成する(ステップS717)。
When the key exchange processing unit 201 of the device 20 receives the shared values σ 2 and σ 3 from the
また、サーバ装置30の鍵交換処理部301は、図6のステップS210と同様に、共有鍵Kを生成する(ステップS718)。これにより、機器20とサーバ装置30との間で共有鍵Kが共有される。
Further, the key
以上のように、本実施形態に係る鍵交換システム1では、機器20はユーザ秘密鍵DA,1及びDA,2のうちのユーザ秘密鍵DA,1を委託計算装置40に保存させた上で、共有値σ2及びσ3の計算を当該委託計算装置40に委託する。これにより、機器20での処理負荷を軽減させることができ、鍵交換に要する時間を削減することが可能となる。また、ユーザ秘密鍵DA,1及びDA,2が機器20及び委託計算装置40にそれぞれ分散して保持されるため、万が一、いずれか一方のユーザ秘密鍵が漏洩したとしも安全性を確保することが可能となる。
As described above, in the
なお、本実施形態では、上記のステップS711及びステップS713でσ3=e(xAZ1,XB,2)を計算しているが、例えば、第二の実施形態と組み合わせて、σ3=e(xA(Z1+Y1),XB,2)を計算してもよい。この場合、上記のステップS709で機器20は、xAZ1の代わりに、xA(Z1+Y1)を計算し、このxA(Z1+Y1)を上記のステップ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
本発明は、具体的に開示された上記の各実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更、組み合わせ等が可能である。 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
Claims (8)
前記G1の生成元と乱数とを用いて前記第1の通信装置の短期公開鍵XA,1を生成する第1の短期公開鍵生成手段と、
前記G2の生成元と乱数とを用いて前記第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と前記G1の生成元とから生成されたマスター公開鍵Z1と、前記鍵生成装置でマスター秘密鍵yと前記G1の生成元とから生成されたマスター公開鍵Y1とを更に用いて前記共有鍵を生成し、
前記第2の共有鍵生成手段は、
前記鍵生成装置でマスター秘密鍵zと前記G2の生成元とから生成されたマスター公開鍵Z2と、前記鍵生成装置でマスター秘密鍵yと前記G2の生成元とから生成されたマスター公開鍵Y2とを更に用いて前記共有鍵を生成する、ことを特徴とする請求項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.
前記マスター公開鍵Z1及びZ2と、前記マスター公開鍵Y1及びY2とは異なる鍵生成装置でそれぞれ生成される、ことを特徴とする請求項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.
前記G1の生成元と乱数とを用いて短期公開鍵XA,1を生成する短期公開鍵生成手段と、
前記他の機器又はサーバ装置で前記G2の生成元と乱数とを用いて生成された短期公開鍵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.
前記G2の生成元と乱数とを用いて短期公開鍵XB,2を生成する短期公開鍵生成手段と、
前記機器又は他の情報処理装置で前記G1の生成元と乱数とを用いて生成された短期公開鍵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.
前記G1の生成元と乱数とを用いて前記第1の通信装置の短期公開鍵XA,1を生成する第1の短期公開鍵生成手順と、
前記G2の生成元と乱数とを用いて前記第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.
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)
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 |
-
2019
- 2019-08-28 JP JP2019156115A patent/JP7289478B2/en active Active
Patent Citations (3)
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 |