JP2023087337A - Authentication key exchange system, device, method, and program - Google Patents
Authentication key exchange system, device, method, and program Download PDFInfo
- Publication number
- JP2023087337A JP2023087337A JP2021201659A JP2021201659A JP2023087337A JP 2023087337 A JP2023087337 A JP 2023087337A JP 2021201659 A JP2021201659 A JP 2021201659A JP 2021201659 A JP2021201659 A JP 2021201659A JP 2023087337 A JP2023087337 A JP 2023087337A
- Authority
- JP
- Japan
- Prior art keywords
- key
- temporary
- long
- public key
- term
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000007774 longterm Effects 0.000 claims abstract description 143
- 230000006870 function Effects 0.000 claims abstract description 24
- 230000005540 biological transmission Effects 0.000 claims abstract description 17
- 238000012795 verification Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 7
- 125000004122 cyclic group Chemical group 0.000 claims description 5
- 238000004891 communication Methods 0.000 abstract description 178
- 238000003860 storage Methods 0.000 description 41
- 238000012545 processing Methods 0.000 description 30
- 238000010586 diagram Methods 0.000 description 7
- 239000004065 semiconductor Substances 0.000 description 4
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 239000003999 initiator Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Abstract
Description
本発明は、認証鍵交換システム、機器、方法、及びプログラムに関する。 The present invention relates to an authentication key exchange system, equipment, method, and program.
近年、IoT(Internet of Things)機器が普及したことに伴って、IoT機器でも重要性の高い通信が行われるようになってきた。このため、通信時に互いに正しい機器・サーバであるかを確認するための認証技術がIoT機器でも必要になっている。 In recent years, with the widespread use of IoT (Internet of Things) devices, communication of high importance has come to be performed even in IoT devices. For this reason, IoT devices also require an authentication technique for mutually confirming whether the devices and servers are correct when communicating.
IoT機器向けの認証技術としてはパスワードや電子証明書等が従来から知られているが、近年では、より安全性が高い認証鍵交換プロトコルの導入が求められている。認証鍵交換プロトコルとは、認証が成功した場合に互いに共通した鍵(この鍵は共有鍵とも呼ばれる。)を生成し、その共有鍵で暗号化通信が可能となるプロトコルである。このような認証鍵交換プロトコルの1つとして、IDベース暗号を用いた認証鍵交換プロトコルが知られている。 Passwords, electronic certificates, and the like have been conventionally known as authentication techniques for IoT devices, but in recent years, there has been a demand for the introduction of a more secure authentication key exchange protocol. The authentication key exchange protocol is a protocol that generates a mutually common key (this key is also called a shared key) when authentication is successful, and enables encrypted communication using the shared key. As one of such authentication key exchange protocols, an authentication key exchange protocol using ID-based encryption is known.
IDベース暗号を用いた認証鍵交換プロトコルは、一般に、有限体上の楕円曲線における双線形群を用いて実現される。このような双線形群はペアリング群とも呼ばれ、対称ペアリング群と非対称ペアリング群とに分類することができる。現在、ペアリング群を暗号で用いる場合には、効率性や安全性の観点から非対称ペアリング群が用いられることが多い。 Authenticated key exchange protocols using identity-based cryptography are generally implemented using bilinear groups on elliptic curves over finite fields. Such bilinear groups are also called pairing groups, and can be classified into symmetric pairing groups and asymmetric pairing groups. Currently, when pairing groups are used in cryptography, asymmetric pairing groups are often used from the viewpoint of efficiency and security.
一方で、IDベース暗号はKGC(Key Generation Center)と呼ばれるサーバが端末の秘密鍵を生成するため、IoT機器の管理者は外部のKGCサービスを利用するよりも自前でKGCを運用する可能性が高い。したがって、エッジコンピューティングサービスのユースケースのように、IoT機器が外部のエッジサーバと通信する場合、IoT機器側はIDベース暗号に基づく認証を行い、エッジサーバ側は電子証明書に基づく認証を行うことがある。非特許文献1には、一方の機器がIDベースのKGCドメイン下で、もう一方の機器(サーバ)がPKI(Public Key Infrastructure、公開鍵暗号基盤)の或るCA(Certificate Authority、認証局)ドメイン下であるようなクロスドメイン認証鍵交換プロトコルが記載されている。
On the other hand, in ID-based cryptography, a server called KGC (Key Generation Center) generates the private key of the terminal, so there is a possibility that the administrator of the IoT device will operate the KGC on its own rather than using an external KGC service. expensive. Therefore, when an IoT device communicates with an external edge server as in the edge computing service use case, the IoT device side performs authentication based on ID-based encryption, and the edge server side performs authentication based on an electronic certificate. Sometimes. In
しかしながら、非特許文献1では、ペアリング演算と呼ばれる群演算を2回行う必要がある。ペアリング演算は一般に計算コストが高いため、IoT機器等の計算リソースが限られた機器が非特許文献1に記載されているプロトコルによって鍵交換を行う場合、鍵交換に時間を要することがある。例えば、動作クロック数が数百MHz程度のプロセッサで462ビットのBN(Barret-Naehrig)曲線上のペアリング演算を行った場合、1回あたり約600msec程度の計算時間を要する。
However, in
本発明の一実施形態は、上記の点に鑑みてなされたもので、IDベース暗号に基づく認証を行う機器と、電子証明書に基づく認証を行う機器との間で効率的な認証鍵交換を行うことを目的とする。 An embodiment of the present invention has been made in view of the above points, and is intended to enable efficient authentication key exchange between a device that performs authentication based on ID-based encryption and a device that performs authentication based on an electronic certificate. intended to do
上記目的を達成するため、一実施形態に係る認証鍵交換システムは、IDベース暗号のKGCとして機能するサーバと、前記IDベース暗号に基づく認証を行う第1の機器と、電子署名に基づく認証を行う第2の機器とが含まれ、前記第1の機器と前記第2の機器との間で認証鍵交換を行う認証鍵交換システムであって、前記サーバは、前記IDベース暗号で用いられる双線形群と、前記IDベース暗号のマスター秘密鍵と、前記マスター秘密鍵に対応するマスター公開鍵とを生成するように構成されているセットアップ部と、前記第1の機器の識別子を示す第1の識別子に対する第1の長期秘密鍵を生成するように構成されている長期秘密鍵生成部と、を有し、前記第1の機器は、第1の一時秘密鍵を生成すると共に、前記第1の一時秘密鍵及び前記第1の長期秘密鍵から第1の一時公開鍵を生成するように構成されている第1の一時鍵生成部と、前記第1の一時公開鍵と前記第1の識別子とを前記第2の機器に送信するように構成されている第1の一時鍵送信部と、少なくとも第2の一時公開鍵と前記第2の機器の長期公開鍵と前記第2の機器の識別子を示す第2の識別子とを前記第2の機器から受信すると、前記第1の一時公開鍵と前記第2の一時公開鍵と前記第2の機器の長期公開鍵と前記第1の一時秘密鍵と前記第1の長期秘密鍵と前記第1の識別子と前記第2の識別子からセッション鍵を生成するように構成されている第1のセッション鍵生成部と、を有し、前記第2の機器は、第2の長期秘密鍵と、前記第2の長期秘密鍵に対応する前記長期公開鍵とを生成するように構成されている長期鍵生成部と、第2の一時秘密鍵を生成すると共に、前記第2の一時秘密鍵及び前記第2の長期秘密鍵から前記第2の一時公開鍵を生成するように構成されている第2の一時鍵生成部と、少なくとも前記第2の一時公開鍵と前記長期公開鍵と前記第2の識別子とを前記第1の機器に送信するように構成されている第2の一時鍵送信部と、前記第1の一時公開鍵と前記第2の一時公開鍵と前記第2の一時秘密鍵と前記マスター公開鍵と前記第1の識別子と前記第2の識別子から前記セッション鍵を生成するように構成されている第2のセッション鍵生成部と、有する。 In order to achieve the above object, an authentication key exchange system according to one embodiment includes a server functioning as a KGC for ID-based encryption, a first device performing authentication based on the ID-based encryption, and authentication based on an electronic signature. an authenticated key exchange system for exchanging authentication keys between the first device and the second device, wherein the server comprises a pair of keys used in the ID-based encryption; a setup unit configured to generate a linear group, a master private key for said identity-based encryption, and a master public key corresponding to said master private key; a long-term secret key generator configured to generate a first long-term secret key for an identifier, wherein the first device generates a first temporary secret key and the first a first temporary key generator configured to generate a first temporary public key from a temporary private key and said first long-term private key; said first temporary public key and said first identifier; to the second device; and at least a second temporary public key, a long-term public key of the second device and an identifier of the second device. the first temporary public key, the second temporary public key, the long-term public key of the second device, and the first temporary private key upon receiving from the second device a second identifier indicating a first session key generator configured to generate a session key from the first long-term secret key, the first identifier, and the second identifier, the second device comprising: a long-term key generator configured to generate a second long-term private key and the long-term public key corresponding to the second long-term private key; and generating a second temporary private key; a second temporary key generator configured to generate the second temporary public key from the second temporary private key and the second long-term private key; and at least the second temporary public key. a second temporary key transmitter configured to transmit the long-term public key and the second identifier to the first device; the first temporary public key and the second temporary public key; and a second session key generator configured to generate the session key from the second temporary private key, the master public key, the first identifier, and the second identifier.
IDベース暗号に基づく認証を行う機器と、電子証明書に基づく認証を行う機器との間で効率的な認証鍵交換を行うことができる。 Efficient authentication key exchange can be performed between a device that performs authentication based on ID-based encryption and a device that performs authentication based on an electronic certificate.
以下、本発明の一実施形態について説明する。本実施形態では、IDベース暗号に基づく認証を行う機器と、電子証明書に基づく認証を行う機器との間で効率的な認証鍵交換を行うことができる認証鍵交換システム1について説明する。
An embodiment of the present invention will be described below. In this embodiment, an authentication
<準備>
本実施形態で使用する記号や概念、アルゴリズム等について説明する。
<Preparation>
Symbols, concepts, algorithms, etc. used in this embodiment will be described.
pを素数として、整数の加法群におけるpを法とする剰余類のなす加法群をZpとする。 Let p be a prime number, and let Z p be the additive group formed by the remainder class modulo p in the additive group of integers.
また、κをセキュリティパラメータとする。セキュリティパラメータκは認証鍵交換システム1の安全性強度(単位はビット)を表すものであり、例えば、κ=128やκ=256等を取り得る。
Also, let κ be a security parameter. The security parameter κ represents the security strength (in units of bits) of the authenticated
・双線形群
双線形群G=(p,G1,G2,GT,g1,g2,e)は、素数pと、位数pの巡回群G1、G2、GTと、G1の生成元g1と、G2の生成元g2と、以下の双線形性及び非退化性を満たす双線形写像e:G1×G2→GTとで構成される。
・Bilinear group A bilinear group G = (p, G 1 , G 2 , G T , g 1 , g 2 , e) consists of a prime number p and cyclic groups G 1 , G 2 , G T of order p. , G 1 , a generator g 2 of G 2 , and a bilinear map e: G 1 ×G 2 →G T that satisfies the following bilinearity and non-degenerateness.
双線形性:任意のh1∈G1、h2∈G2、a,b∈Zpに対して、e(h1 a,h2 b)=e(h1,h2)abが成り立つ。 Bilinearity: For any h 1 εG 1 , h 2 εG 2 , a,bεZ p , we have e(h 1 a ,h 2 b )=e(h 1 ,h 2 ) ab .
非退化性:e(g1,g2)はGTの生成元である。 Non-degenerate: e(g 1 ,g 2 ) is the generator of G T .
このような双線形群の例としては、参考文献1に記載されているOptimal-ate paring等が挙げられる。
Examples of such bilinear groups include Optimal-ate paring described in
・デジタル署名
デジタル署名は以下の3つのアルゴリズム{KeyGen,Sign,Ver}で構成される。
- Digital signature A digital signature consists of the following three algorithms {KeyGen, Sign, Ver}.
(pk,sk)←KeyGen(1κ):1κを入力として、公開鍵と秘密鍵のペア(pk,sk)を生成する。なお、1κは1のκビット列である。 (pk, sk)←KeyGen(1 κ ): Take 1 κ as an input and generate a public/private key pair (pk, sk). Note that 1 κ is a κ bit string of 1s.
σ←Sign(sk,m):秘密鍵skとメッセージmを入力として、署名σを生成する。 σ←Sign(sk, m): Generates a signature σ with a private key sk and a message m as inputs.
1/0←Ver(pk,m,σ):公開鍵pkとメッセージmと署名σを入力として、1又は0を出力する。
1/0←Ver(pk, m, σ):
更に、任意の(pk,sk)←KeyGen(1κ)に対して、1=Ver(pk,m,Sign(sk,m))を満たすものとする。デジタル署名の例としては、ECDSAやRSA-PSS等が挙げられる。 Furthermore, 1=Ver(pk, m, Sign(sk, m)) shall be satisfied for any (pk, sk)←KeyGen(1 κ ). Examples of digital signatures include ECDSA and RSA-PSS.
<全体構成>
本実施形態に係る認証鍵交換システム1の全体構成例を図1に示す。図1に示すように、本実施形態に係る認証鍵交換システム1には、鍵生成装置10と、第1の通信機器20と、第2の通信機器30とが含まれる。また、鍵生成装置10、第1の通信機器20、及び第2の通信機器30は、例えば、インターネット等を含む通信ネットワーク40を介して通信可能に接続される。なお、鍵生成装置10、第1の通信機器20、及び第2の通信機器30の各々は「エンティティ」等とも呼ばれる。
<Overall composition>
FIG. 1 shows an example of the overall configuration of an authentication
鍵生成装置10は、IDベース暗号のKGCとして機能するサーバであり、公開パラメータ等を生成するためのセットアップ処理を実行したり、第1の通信機器20からの要求に応じてその第1の通信機器20の長期秘密鍵を生成したりする。なお、鍵生成装置10は、例えば、「鍵発行サーバ」や「鍵生成サーバ」等と呼ばれてもよい。
The
第1の通信機器20は、IDベース暗号を用いた認証を行う機器(例えば、IoT機器等)であり、第2の通信機器30との間で暗号化通信のための認証鍵交換を行う。以下、第1の通信機器20を一意に識別する識別子をIDCとする。なお、識別子IDCとしては、例えば、製造固有番号、ユーザID、メールアドレス、電話番号、IPアドレス、MACアドレス等といったものを用いることができる。
The
第2の通信機器30は、電子証明書(以下、単に「証明書」ともいう。)を用いた認証を行う機器(例えば、サーバ等)であり、第1の通信機器20との間で暗号化通信のための認証鍵交換を行う。すなわち、第2の通信機器30は、PKIベースで認証を行う機器である。以下、第2の通信機器30を一意に識別する識別子をIDSとする。なお、識別子IDSとしては、例えば、製造固有番号、ユーザID、メールアドレス、電話番号、IPアドレス、MACアドレス等といったものを用いることができる。
The
ここで、第2の通信機器30は自身の長期公開鍵と長期秘密鍵を生成し、その長期公開鍵に対する証明書(より正確には識別子IDSと長期公開鍵に対する証明書)の発行を外部の認証局に要求するが、本実施形態では、第2の通信機器30の通信相手となる第1の通信機器20は、その認証局を信頼しているものとする。すなわち、当該第1の通信機器20は、その認証局の公開鍵とその公開鍵に対する証明書(当該認証局がルート認証局であればルート証明書、そうでなければ上位の認証局が発行した証明書)とを保持しているものとする。
Here, the
なお、図1に示す認証鍵交換システム1の構成は一例であって、これに限られるものではない。例えば、図1に示す例では、第1の通信機器20と第2の通信機器30がそれぞれ1台のみ図示されているが、第1の通信機器20が複数存在してもよいし、同様に第2の通信機器30が複数存在してもよい。また、以下では、第1の通信機器20はIoT機器、第2の通信機器30はサーバであることを想定するが、これに限られるものではない。
Note that the configuration of the authentication
<ハードウェア構成>
本実施形態に係る認証鍵交換システム1に含まれる鍵生成装置10、第1の通信機器20、及び第2の通信機器30のハードウェア構成例について説明する。
<Hardware configuration>
A hardware configuration example of the
≪鍵生成装置10≫
本実施形態に係る鍵生成装置10のハードウェア構成例を図2に示す。図2に示すように、本実施形態に係る鍵生成装置10は、入力装置11と、表示装置12と、外部I/F13と、通信I/F14と、RAM(Random Access Memory)15と、ROM(Read Only Memory)16と、補助記憶装置17と、プロセッサ18とを有する。これらの各ハードウェアは、それぞれがバス19を介して通信可能に接続される。
<<
FIG. 2 shows a hardware configuration example of the
入力装置11は、例えば、キーボード、マウス、タッチパネル、各種物理ボタン等である。表示装置12は、例えば、ディスプレイ、表示パネル等である。なお、鍵生成装置10は、例えば、入力装置11及び表示装置12のうちの少なくとも一方を有していなくてもよい。
The
外部I/F13は、記録媒体13a等の外部装置とのインタフェースである。記録媒体13aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
The external I/
通信I/F14は、鍵生成装置10を通信ネットワーク40に接続するためのインタフェースである。RAM15は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM16は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置17は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性の記憶装置であり、プログラムやデータが格納される。プロセッサ18は、例えば、CPU(Central Processing Unit)等の各種演算装置である。
Communication I/
なお、図2に示すハードウェア構成は一例であって、鍵生成装置10は、他のハードウェア構成を有していてもよい。例えば、鍵生成装置10は、複数の補助記憶装置17や複数のプロセッサ18を有していてもよいし、図示したハードウェア以外の種々のハードウェアを有していてもよい。
Note that the hardware configuration shown in FIG. 2 is an example, and the
≪第1の通信機器20≫
本実施形態に係る第1の通信機器20のハードウェア構成例を図3に示す。図3に示すように、本実施形態に係る第1の通信機器20は、外部I/F21と、通信I/F22と、メモリ装置23と、プロセッサ24とを有する。これらの各ハードウェアは、それぞれがバス25を介して通信可能に接続される。
<<
FIG. 3 shows a hardware configuration example of the
外部I/F21は、記録媒体21a等の外部装置とのインタフェースである。記録媒体21aとしては、例えば、SDメモリカード、USBメモリカード等が挙げられる。
The external I/
通信I/F22は、第1の通信機器20を通信ネットワーク40に接続するためのインタフェースである。メモリ装置23は、例えば、フラッシュメモリ等の各種記憶装置である。プロセッサ24は、例えば、CPUやMPU(Micro-Processing Unit)等の各種演算装置である。
Communication I/
なお、図3に示すハードウェア構成は一例であって、第1の通信機器20は、他のハードウェア構成を有していてもよい。例えば、第1の通信機器20は、複数のメモリ装置23や複数のプロセッサ24を有していてもよいし、図示した以外の種々のハードウェアを有していてもよい。
Note that the hardware configuration shown in FIG. 3 is an example, and the
≪第2の通信機器30≫
本実施形態に係る第2の通信機器30のハードウェア構成例を図4に示す。図4に示すように、本実施形態に係る第2の通信機器30は、入力装置31と、表示装置32と、外部I/F33と、通信I/F34と、RAM35と、ROM36と、補助記憶装置37と、プロセッサ38とを有する。これらの各ハードウェアは、それぞれがバス39を介して通信可能に接続される。
<<
FIG. 4 shows a hardware configuration example of the
入力装置31は、例えば、キーボード、マウス、タッチパネル、各種物理ボタン等である。表示装置32は、例えば、ディスプレイ、表示パネル等である。なお、第2の通信機器30は、例えば、入力装置31及び表示装置32のうちの少なくとも一方を有していなくてもよい。
The
外部I/F33は、記録媒体33a等の外部装置とのインタフェースである。記録媒体33aとしては、例えば、CD、DVD、SDメモリカード、USBメモリカード等が挙げられる。
The external I/
通信I/F34は、第2の通信機器30を通信ネットワーク40に接続するためのインタフェースである。RAM35は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM36は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置37は、例えば、HDDやSSD等の不揮発性の記憶装置であり、プログラムやデータが格納される。プロセッサ38は、例えば、CPU等の各種演算装置である。
Communication I/
なお、図4に示すハードウェア構成は一例であって、第2の通信機器30は、他のハードウェア構成を有していてもよい。例えば、第2の通信機器30は、複数の補助記憶装置37や複数のプロセッサ38を有していてもよいし、図示したハードウェア以外の種々のハードウェアを有していてもよい。
Note that the hardware configuration shown in FIG. 4 is an example, and the
<機能構成>
本実施形態に係る認証鍵交換システム1に含まれる鍵生成装置10、第1の通信機器20、及び第2の通信機器30の機能構成例について説明する。
<Functional configuration>
A functional configuration example of the
≪鍵生成装置10≫
本実施形態に係る鍵生成装置10の機能構成例を図5に示す。図5に示すように、本実施形態に係る鍵生成装置10は、セットアップ処理部101と、長期秘密鍵生成部102とを有する。これら各部は、例えば、鍵生成装置10にインストールされた1以上のプログラムが、プロセッサ18に実行させる処理により実現される。また、本実施形態に係る鍵生成装置10は、記憶部103を有する。記憶部103は、例えば、補助記憶装置17により実現される。
<<
FIG. 5 shows an example of the functional configuration of the
セットアップ処理部101は、マスター秘密鍵や公開パラメータ等を生成するためのセットアップ処理を実行する。
The
長期秘密鍵生成部102は、第1の通信機器20からの要求に応じて、その第1の通信機器20の識別子に対する長期秘密鍵を生成する。
The long-term secret
記憶部103は、各種情報(例えば、マスター秘密鍵や公開パラメータ等)を記憶する。
The
≪第1の通信機器20≫
本実施形態に係る第1の通信機器20の機能構成例を図6に示す。図6に示すように、本実施形態に係る第1の通信機器20は、長期秘密鍵要求部201と、長期秘密鍵受信部202と、一時鍵生成部203と、一時鍵送信部204と、一時鍵受信部205と、セッション鍵生成部206とを有する。これら各部は、例えば、第1の通信機器20にインストールされた1以上のプログラムが、プロセッサ24に実行させる処理により実現される。また、本実施形態に係る第1の通信機器20は、記憶部207を有する。記憶部207は、例えば、メモリ装置23により実現される。
<<
FIG. 6 shows a functional configuration example of the
長期秘密鍵要求部201は、自身の識別子IDCに対する長期秘密鍵の生成を鍵生成装置10に要求する。以下、識別子IDCに対する長期秘密鍵をsskCとする。
The long-term secret
長期秘密鍵受信部202は、鍵生成装置10から長期秘密鍵sskCを受信する。
The long-term secret
一時鍵生成部203は、自身の長期秘密鍵sskCを用いて、一時秘密鍵eskCと一時公開鍵XCを生成する。
The temporary
一時鍵送信部204は、一時公開鍵XCと自身の識別子IDCを第2の通信機器30に送信する。
The temporary
一時鍵受信部205は、第2の通信機器30からその第2の通信機器30の一時公開鍵XS等を受信する。
The temporary
セッション鍵生成部206は、自身の長期秘密鍵sskCや第2の通信機器30から受信した一時公開鍵XS等を用いて鍵要素を生成した上で、これらの鍵要素からセッション鍵を生成する。なお、このセッション鍵が、第2の通信機器30との間で共有される共有鍵である。
The session
記憶部207は、各種情報(例えば、公開パラメータ、自身の長期秘密鍵sskC等)を記憶する。
The
≪第2の通信機器30≫
本実施形態に係る第2の通信機器30の機能構成例を図7に示す。図7に示すように、本実施形態に係る第2の通信機器30は、長期鍵生成部301と、証明書発行要求部302と、一時鍵受信部303と、一時鍵生成部304と、一時鍵送信部305と、セッション鍵生成部306とを有する。これら各部は、例えば、第2の通信機器30にインストールされた1以上のプログラムが、プロセッサ38に実行させる処理により実現される。また、本実施形態に係る第2の通信機器30は、記憶部307を有する。記憶部307は、例えば、補助記憶装置37により実現される。
<<
FIG. 7 shows a functional configuration example of the
長期鍵生成部301は、長期秘密鍵と長期公開鍵を生成する。以下、第2の通信機器30の長期秘密鍵をsskS、長期公開鍵をspkSとする。
A long-term
証明書発行要求部302は、自身の識別子IDSと長期公開鍵spkSに対する証明書certSの発行を外部の認証局に要求する。
The certificate
一時鍵受信部303は、第1の通信機器20から一時公開鍵XCと識別子IDCを受信する。
The temporary
一時鍵生成部304は、自身の長期秘密鍵sskSを用いて、一時秘密鍵eskSと一時公開鍵XSを生成する。
The temporary
一時鍵送信部305は、一時公開鍵XSと自身の長期公開鍵spkSと自身の識別子IDSと証明書certS等を第1の通信機器20に送信する。
Temporary
セッション鍵生成部306は、マスター公開鍵や第1の通信機器20から受信した一時公開鍵XC等を用いて鍵要素を生成した上で、これらの鍵要素からセッション鍵を生成する。
The session
記憶部307は、各種情報(例えば、公開パラメータ、自身の長期秘密鍵sskS等)を記憶する。
The
[実施例1]
以下、本実施形態の実施例1について説明する。本実施例では、各エンティティは、システム共通のパラメータとして以下のハッシュ関数H1,H2,Hを保持しているものとする。
[Example 1]
Example 1 of the present embodiment will be described below. In this embodiment, each entity holds the following hash functions H 1 , H 2 , H as parameters common to the system.
H1:識別子を入力として、G2の元を出力するハッシュ関数
H2:κビットのビット列とG2の元を入力として、Zpの元を出力するハッシュ関数
H:可変長の長さの文字列を入力として、κビットのビット列を出力するハッシュ関数
<セットアップ処理>
実施例1におけるセットアップ処理について、図8を参照しながら説明する。
H 1 : A hash function that takes an identifier as an input and outputs an element of G 2 H 2 : A hash function that takes a bit string of κ bits and an element of G 2 as an input and outputs an element of Z p H: of variable length A hash function that takes a character string as input and outputs a κ-bit bit string <Setup processing>
A setup process in the first embodiment will be described with reference to FIG.
鍵生成装置10のセットアップ処理部101は、双線形群G=(p,G1,G2,GT,g1,g2,e)を生成する(ステップS101)。
The
次に、鍵生成装置10のセットアップ処理部101は、マスター秘密鍵w∈Zpを一様ランダムに生成する(ステップS102)。
Next, the
次に、鍵生成装置10のセットアップ処理部101は、マスター公開鍵W=g1
wを生成する(ステップS103)。
Next, the
そして、鍵生成装置10のセットアップ処理部101は、双線形群Gとマスター秘密鍵wとマスター公開鍵Wとを記憶部103に保存する(ステップS104)。ここで、公開パラメータは(G,W)であり、この公開パラメータ(G,W)は第1の通信機器20及び第2の通信機器30に公開される。以下では、第1の通信機器20及び第2の通信機器30は公開パラメータ(G,W)を保持しているものとする。
Then, the
<第1の通信機器20の長期秘密鍵生成処理>
実施例1における第1の通信機器20の長期秘密鍵生成処理について、図9を参照しながら説明する。
<Long-Term Private Key Generation Processing of
A long-term secret key generation process of the
第1の通信機器20の長期秘密鍵要求部201は、自身の識別子IDCに対する長期秘密鍵の生成を鍵生成装置10に要求する(ステップS201)。なお、この要求には、少なくとも識別子IDCが指定される。
The long-term secret
鍵生成装置10の長期秘密鍵生成部102は、長期秘密鍵の生成要求を受信すると、長期秘密鍵sskC=H1(IDC)w∈G2を生成する(ステップS202)。
Upon receiving the long-term secret key generation request, the long-term secret
次に、鍵生成装置10の長期秘密鍵生成部102は、長期秘密鍵sskCを第1の通信機器20に送信する(ステップS203)。
Next, the long-term secret
そして、第1の通信機器20の長期秘密鍵受信部202は、長期秘密鍵sskCを受信し、この長期秘密鍵sskCを記憶部207に保存する(ステップS204)。なお、長期秘密鍵sskCはセキュアな通信路を介して鍵生成装置10から第1の通信機器20に送信されるものとする。
Then, the long-term secret
<第2の通信機器30の長期鍵生成処理>
実施例1における第2の通信機器30の長期鍵生成処理について、図10を参照しながら説明する。
<Long-Term Key Generation Processing of
A long-term key generation process of the
第2の通信機器30の長期鍵生成部301は、長期秘密鍵sskS∈Zpを一様ランダムに生成する(ステップS301)。
The long-term
次に、第2の通信機器30の長期鍵生成部301は、長期公開鍵spkS=g1
ssk_Sを生成する(ステップS302)。なお、「ssk_S」はsskSを表す。
Next, the long-term
次に、第2の通信機器30の証明書発行要求部302は、自身の識別子IDSと長期公開鍵spkSに対する証明書certSの発行を外部の認証局に要求する(ステップS303)。これにより、当該認証局から証明書certSが返信される。
Next, the certificate
そして、第2の通信機器30の長期鍵生成部301は、長期秘密鍵sskSと長期公開鍵spkSと証明書certSとを記憶部307に保存する(ステップS304)。
Then, the long-term
<認証鍵交換処理>
実施例1における認証鍵交換処理について、図11を参照しながら説明する。なお、以下では、第1の通信機器20から第2の通信機器30に対して開始要求を行うものとする。すなわち、第1の通信機器20がイニシエータ、第2の通信機器30がレスポンダであるものとする。また、第1の通信機器20は、第2の通信機器30の通信先情報(例えば、IPアドレスやMACアドレス等)を既に取得しているものとする。
<Authentication key exchange processing>
Authentication key exchange processing in the first embodiment will be described with reference to FIG. In the following, it is assumed that the
第1の通信機器20の一時鍵生成部203は、一時秘密鍵eskC∈{0,1}κを一様ランダムに生成した上で、xC=H2(eskC,sskC)を計算して一時公開鍵XC=g1
x_Cを生成する(ステップS401)。一時秘密鍵eskCは記憶部207に保存される。なお、「x_C」はxCを表す。
The temporary
次に、第1の通信機器20の一時鍵送信部204は、一時公開鍵XCと自身の識別子IDCを第2の通信機器30に送信する(ステップS402)。
Next, the temporary
第2の通信機器30の一時鍵生成部304は、一時公開鍵XCと識別子IDCを一時鍵受信部303が受信すると、一時秘密鍵eskS∈{0,1}κを一様ランダムに生成した上で、xS=H2(eskS,sskS)を計算して一時公開鍵XS=g1
x_Sを生成する(ステップS403)。一時秘密鍵eskSは記憶部307に保存される。なお、「x_S」はxSを表す。
When the temporary
次に、第2の通信機器30の一時鍵送信部305は、一時公開鍵XSと自身の長期公開鍵spkSと証明書certSと自身の識別子IDSとを第1の通信機器20に送信する(ステップS404)。
Next, the temporary
第1の通信機器20のセッション鍵生成部206は、一時公開鍵XSと長期公開鍵spkSと証明書certSと識別子IDSとを一時鍵受信部205が受信すると、長期公開鍵spkS及び識別子IDSが証明書certSに記載の通りであるかを検証すると共に、証明書certSが所定の認証局によって正しくされたことをその認証局の公開鍵を用いて検証する(ステップS405)。なお、いずれかの検証に失敗した場合、第1の通信機器20は、認証鍵交換処理を終了する。一方で、いずれの検証にも成功した場合、第1の通信機器20は、次のステップS406を実行する。
When the temporary
第1の通信機器20のセッション鍵生成部206は、鍵要素σ1=e(XS,sskC)、σ2=spkS
x_C、σ3=XS
x_Cを生成した上で、セッション鍵SK=H(σ1,σ2,σ3,IDC,IDS,XC,XS,spkS,certS)を生成する(ステップS406)。なお、xCは、記憶部207に保存されている長期秘密鍵sskCと一時秘密鍵eskCからxC=H2(eskC,sskC)により計算される。
The session
第2の通信機器30のセッション鍵生成部306は、鍵要素σ1=e(Wx_S,H1(IDC))、σ2=XC
ssk_S、σ3=XC
x_Sを生成した上で、セッション鍵SK=H(σ1,σ2,σ3,IDC,IDS,XC,XS,spkS,certS)を生成する(ステップS407)。なお、xSは、記憶部307に保存されている長期秘密鍵sskSと一時秘密鍵eskSからxS=H2(eskS,sskS)により計算される。また、本ステップは、上記のステップS404の終了後にすぐ実行してもよい。
The session
<まとめ>
以上のように、本実施例では、第1の通信機器20と第2の通信機器30はセッション鍵SKを共有することができる。これにより、これ以降、第1の通信機器20と第2の通信機器30は当該セッション鍵SKを用いて暗号化通信を行うことができる。
<Summary>
As described above, in this embodiment, the
このとき、本実施例では、第1の通信機器20と第2の通信機器30の各々でペアリング演算を1回のみ計算すればよい。このため、例えば、非特許文献1に記載されているプロトコルと比較してペアリング演算の回数が削減されるため、効率的な認証鍵交換を実現することができる。
At this time, in this embodiment, each of the
また、本実施例では、第1の通信機器20と第2の通信機器30の各々でG1上のスカラ倍算を3回のみ計算すればよい。これに対して、例えば、非特許文献1に記載されているプロトコルでは、G1上のスカラ倍算を4回(又は5回)、G2上のスカラ倍算を2回計算する必要がある。このため、例えば、非特許文献1に記載されているプロトコルと比較してスカラ倍算の回数が削減されるため、効率的な認証鍵交換を実現することができる。
Also, in this embodiment, each of the
なお、本実施例では、鍵要素σ1により第1の通信機器20が認証され、鍵要素σ2により第2の通信機器30が認証される。また、鍵要素σ3により認証鍵交換における必須の安全性(前方秘匿性)が保証される。
In this embodiment, the
[実施例2]
以下、本実施形態の実施例2について説明する。本実施例では、各エンティティは、システム共通のパラメータとして上記のハッシュ関数H1,H2,Hに加えて、以下のハッシュ関数H3も保持しているものとする。
[Example 2]
Example 2 of the present embodiment will be described below. In this embodiment, each entity holds a hash function H3 below in addition to the above hash functions H1 , H2 , and H as parameters common to the system.
H3:κビットのビット列とデジタル署名の秘密鍵を入力として、Zpの元を出力するハッシュ関数
なお、本実施例では、実施例1との相違点について説明し、実施例1と同様の構成要素についてはその説明を省略するものとする。
H 3 : A hash function that takes as input a bit string of κ bits and a private key of a digital signature and outputs an element of Z p . The description of the constituent elements is omitted.
<セットアップ処理>
実施例1と同様であるため、その説明を省略する。
<Setup processing>
Since it is the same as the first embodiment, its explanation is omitted.
<第1の通信機器20の長期秘密鍵生成処理>
実施例1と同様であるため、その説明を省略する。
<Long-Term Private Key Generation Processing of
Since it is the same as the first embodiment, its explanation is omitted.
<第2の通信機器30の長期鍵生成処理>
実施例2における第2の通信機器30の長期鍵生成処理について、図12を参照しながら説明する。
<Long-Term Key Generation Processing of
A long-term key generation process of the
第2の通信機器30の長期鍵生成部301は、長期公開鍵spkSと長期秘密鍵sskSの鍵ペア(spkS,sskS)←KeyGen(1κ)を生成する(ステップS501)。なお、長期公開鍵spkSはデジタル署名の公開鍵、長期秘密鍵sskSはデジタル署名の秘密鍵である。
The long-term
次に、第2の通信機器30の証明書発行要求部302は、自身の識別子IDSと長期公開鍵spkSに対する証明書certSの発行を外部の認証局に要求する(ステップS502)。これにより、当該認証局から証明書certSが返信される。
Next, the certificate
そして、第2の通信機器30の長期鍵生成部301は、長期秘密鍵sskSと長期公開鍵spkSと証明書certSとを記憶部307に保存する(ステップS503)。
Then, the long-term
<認証鍵交換処理>
実施例2における認証鍵交換処理について、図13を参照しながら説明する。なお、以下では、第1の通信機器20から第2の通信機器30に対して開始要求を行うものとする。すなわち、第1の通信機器20がイニシエータ、第2の通信機器30がレスポンダであるものとする。また、第1の通信機器20は、第2の通信機器30の通信先情報(例えば、IPアドレスやMACアドレス等)を既に取得しているものとする。
<Authentication key exchange processing>
Authentication key exchange processing in the second embodiment will be described with reference to FIG. In the following, it is assumed that the
第1の通信機器20の一時鍵生成部203は、一時秘密鍵eskC∈{0,1}κを一様ランダムに生成した上で、xC=H2(eskC,sskC)を計算して一時公開鍵XC=g1
x_Cを生成する(ステップS601)。一時秘密鍵eskCは記憶部207に保存される。
The temporary
次に、第1の通信機器20の一時鍵送信部204は、一時公開鍵XCと自身の識別子IDCを第2の通信機器30に送信する(ステップS602)。
Next, the temporary
第2の通信機器30の一時鍵生成部304は、一時公開鍵XCと識別子IDCを一時鍵受信部303が受信すると、一時秘密鍵eskS∈{0,1}κを一様ランダムに生成した上で、xS=H3(eskS,sskS)を計算して一時公開鍵XS=g1
x_Sを生成する(ステップS603)。一時秘密鍵eskSは記憶部307に保存される。
When the temporary
次に、第2の通信機器30の一時鍵生成部304は、一時公開鍵XSと識別子IDCと識別子IDSとが含まれるメッセージmに対する署名signS←Sign(sskS,m)を生成する(ステップS604)。
Next, the temporary
次に、第2の通信機器30の一時鍵送信部305は、一時公開鍵XSと署名signSと自身の長期公開鍵spkSと証明書certSと自身の識別子IDSとを第1の通信機器20に送信する(ステップS605)。
Next, temporary
第1の通信機器20のセッション鍵生成部206は、一時公開鍵XSと署名signSと自身の長期公開鍵spkSと証明書certSと自身の識別子IDSとを一時鍵受信部205が受信すると、長期公開鍵spkS及び識別子IDSが証明書certSに記載の通りであるかを検証すると共に、証明書certSが所定の認証局によって正しくされたことをその認証局の公開鍵を用いて検証し、更に1=Ver(spkS,m,signS)が成り立つかを検証する(ステップS606)。なお、いずれかの検証に失敗した場合、第1の通信機器20は、認証鍵交換処理を終了する。一方で、いずれの検証にも成功した場合、第1の通信機器20は、次のステップS607を実行する。
The session
第1の通信機器20のセッション鍵生成部206は、鍵要素σ1=e(XS,sskC)、σ2=XS
x_Cを生成した上で、セッション鍵SK=H(σ1,σ2,IDC,IDS,XC,XS,signS,spkS,certS)を生成する(ステップS607)。なお、xCは、記憶部207に保存されている長期秘密鍵sskCと一時秘密鍵eskCからxC=H2(eskC,sskC)により計算される。
The session
第2の通信機器30のセッション鍵生成部306は、鍵要素σ1=e(Wx_S,H1(IDC))、σ2=XC
x_Sを生成した上で、セッション鍵SK=H(σ1,σ2,IDC,IDS,XC,XS,signS,spkS,certS)を生成する(ステップS608)。なお、xSは、記憶部307に保存されている長期秘密鍵sskSと一時秘密鍵eskSからxS=H3(eskS,sskS)により計算される。また、本ステップは、上記のステップS605の終了後にすぐ実行してもよい。
The session
<まとめ>
以上のように、本実施例では、第1の通信機器20と第2の通信機器30はセッション鍵SKを共有することができる。これにより、これ以降、第1の通信機器20と第2の通信機器30は当該セッション鍵SKを用いて暗号化通信を行うことができる。
<Summary>
As described above, in this embodiment, the
このとき、本実施例では、実施例1と同様に、第1の通信機器20と第2の通信機器30の各々でペアリング演算を1回のみ計算すればよい。このため、例えば、非特許文献1に記載されているプロトコルと比較してペアリング演算の回数が削減されるため、効率的な認証鍵交換を実現することができる。
At this time, in this embodiment, as in the first embodiment, each of the
また、本実施例では、デジタル署名により第2の通信機器30を認証することで、第2の通信機器30を認証するための鍵要素が不要となり、第1の通信機器20と第2の通信機器30の各々でG1上のスカラ倍算を2回のみ計算すればよくなる。このため、実施例1と比較して、更に効率的な認証鍵交換を実現することができる。
Further, in this embodiment, by authenticating the
なお、本実施例では、鍵要素σ1により第1の通信機器20が認証され、デジタル署名により第2の通信機器30が認証される。また、鍵要素σ2により認証鍵交換における必須の安全性(前方秘匿性)が保証される。
In this embodiment, the
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。 The present invention is not limited to the specifically disclosed embodiments described above, and various variations, modifications, combinations with known techniques, etc. are possible without departing from the scope of the claims. be.
[参考文献]
参考文献1:Vercauteren, F.: Optimal pairings. IEEE Trans. Inf. Theory 56, 455-461 (2010)
[References]
Reference 1: Vercauteren, F.: Optimal pairings. IEEE Trans. Inf. Theory 56, 455-461 (2010)
1 認証鍵交換システム
10 鍵生成装置
11 入力装置
12 表示装置
13 外部I/F
13a 記録媒体
14 通信I/F
15 RAM
16 ROM
17 補助記憶装置
18 プロセッサ
19 バス
20 第1の通信機器
21 外部I/F
21a 記録媒体
22 通信I/F
23 メモリ装置
24 プロセッサ
25 バス
30 第2の通信機器
31 入力装置
32 表示装置
33 外部I/F
33a 記録媒体
34 通信I/F
35 RAM
36 ROM
37 補助記憶装置
38 プロセッサ
39 バス
101 セットアップ処理部
102 長期秘密鍵生成部
103 記憶部
201 長期秘密鍵要求部
202 長期秘密鍵受信部
203 一時鍵生成部
204 一時鍵送信部
205 一時鍵受信部
206 セッション鍵生成部
207 記憶部
301 長期鍵生成部
302 証明書発行要求部
303 一時鍵受信部
304 一時鍵生成部
305 一時鍵送信部
306 セッション鍵生成部
307 記憶部
1 Authentication
15 RAM
16 ROMs
17
23
35 RAMs
36 ROMs
37
Claims (7)
前記サーバは、
前記IDベース暗号で用いられる双線形群と、前記IDベース暗号のマスター秘密鍵と、前記マスター秘密鍵に対応するマスター公開鍵とを生成するように構成されているセットアップ部と、
前記第1の機器の識別子を示す第1の識別子に対する第1の長期秘密鍵を生成するように構成されている長期秘密鍵生成部と、を有し、
前記第1の機器は、
第1の一時秘密鍵を生成すると共に、前記第1の一時秘密鍵及び前記第1の長期秘密鍵から第1の一時公開鍵を生成するように構成されている第1の一時鍵生成部と、
前記第1の一時公開鍵と前記第1の識別子とを前記第2の機器に送信するように構成されている第1の一時鍵送信部と、
少なくとも第2の一時公開鍵と前記第2の機器の長期公開鍵と前記第2の機器の識別子を示す第2の識別子とを前記第2の機器から受信すると、前記第1の一時公開鍵と前記第2の一時公開鍵と前記第2の機器の長期公開鍵と前記第1の一時秘密鍵と前記第1の長期秘密鍵と前記第1の識別子と前記第2の識別子からセッション鍵を生成するように構成されている第1のセッション鍵生成部と、を有し、
前記第2の機器は、
第2の長期秘密鍵と、前記第2の長期秘密鍵に対応する前記長期公開鍵とを生成するように構成されている長期鍵生成部と、
第2の一時秘密鍵を生成すると共に、前記第2の一時秘密鍵及び前記第2の長期秘密鍵から前記第2の一時公開鍵を生成するように構成されている第2の一時鍵生成部と、
少なくとも前記第2の一時公開鍵と前記長期公開鍵と前記第2の識別子とを前記第1の機器に送信するように構成されている第2の一時鍵送信部と、
前記第1の一時公開鍵と前記第2の一時公開鍵と前記第2の一時秘密鍵と前記マスター公開鍵と前記第1の識別子と前記第2の識別子から前記セッション鍵を生成するように構成されている第2のセッション鍵生成部と、有する、
認証鍵交換システム。 A server that functions as a KGC for ID-based encryption, a first device that performs authentication based on the ID-based encryption, and a second device that performs authentication based on an electronic signature, wherein the first device and the second device are included. An authentication key exchange system for exchanging authentication keys with the device of 2,
The server is
a setup unit configured to generate a bilinear group used in the identity-based cipher, a master private key for the identity-based cipher, and a master public key corresponding to the master private key;
a long-term private key generator configured to generate a first long-term private key for a first identifier indicative of the identifier of the first device;
The first device is
a first temporary key generator configured to generate a first temporary private key and to generate a first temporary public key from said first temporary private key and said first long-term private key; ,
a first temporary key transmitter configured to transmit the first temporary public key and the first identifier to the second device;
receiving from the second device at least a second temporary public key, a long-term public key of the second device, and a second identifier indicative of an identifier of the second device, the first temporary public key and A session key is generated from the second temporary public key, the long-term public key of the second device, the first temporary secret key, the first long-term secret key, the first identifier, and the second identifier. a first session key generator configured to
The second device is
a long-term key generator configured to generate a second long-term private key and the long-term public key corresponding to the second long-term private key;
A second temporary key generator configured to generate a second temporary private key and to generate the second temporary public key from the second temporary private key and the second long-term private key. and,
a second temporary key transmitter configured to transmit at least the second temporary public key, the long-term public key and the second identifier to the first device;
configured to generate the session key from the first temporary public key, the second temporary public key, the second temporary secret key, the master public key, the first identifier, and the second identifier a second session key generator, comprising:
An authenticated key exchange system.
前記双線形群におけるペアリング演算の第一引数側の定義域である巡回群の生成元を底、前記第1の一時秘密鍵と前記第1の長期秘密鍵とを入力とするハッシュ関数H2の出力値である第1の値をべき指数とするべき乗を前記第1の一時公開鍵として生成するように構成されており、
前記第1のセッション鍵生成部は、
前記長期公開鍵に対する証明書を更に受信すると共に、前記証明書が所定の認証局で発行されたものであるか否かを検証し、
前記検証に成功した場合、前記第2の一時公開鍵を第一引数、前記第1の長期秘密鍵を第二引数とするペアリング演算の演算結果を第1の鍵要素として計算し、
前記長期公開鍵を底、前記第1の値をべき指数とするべき乗を第2の鍵要素として計算し、
前記第2の一時公開鍵を底、前記第1の値をべき指数とするべき乗を第3の鍵要素として計算し、
前記第1の鍵要素と前記第2の鍵要素と前記第3の鍵要素と前記第1の一時公開鍵と前記第2の一時公開鍵と前記第1の識別子と前記第2の識別子と前記長期公開鍵と前記証明書とを入力とするハッシュ関数Hの出力値を前記セッション鍵として生成するように構成されており、
前記第2の一時鍵送信部は、
前記証明書を前記第1の機器に更に送信するように構成されており、
前記第2の一時鍵生成部は、
前記双線形群におけるペアリング演算の第一引数側の定義域である巡回群の生成元を底、前記第2の一時秘密鍵と前記第2の長期秘密鍵とを入力とする前記ハッシュ関数H2の出力値である第2の値をべき指数とするべき乗を前記第2の一時公開鍵として生成するように構成されており、
前記第2のセッション鍵生成部は、
前記マスター公開鍵を底、前記第2の値をべき指数とするべき乗を第一引数、前記第1の識別子を入力とするハッシュ関数H1の出力値を第二引数とするペアリング演算の演算結果を前記第1の鍵要素として計算し、
前記第1の一時公開鍵を底、前記第2の長期秘密鍵をべき指数とするべき乗を前記第2の鍵要素として計算し、
前記第1の一時公開鍵を底、前記第2の値をべき指数とするべき乗を前記第3の鍵要素として計算し、
前記第1の鍵要素と前記第2の鍵要素と前記第3の鍵要素と前記第1の一時公開鍵と前記第2の一時公開鍵と前記第1の識別子と前記第2の識別子と前記長期公開鍵と前記証明書とを入力とする前記ハッシュ関数Hの出力値を前記セッション鍵として生成するように構成されている、
請求項1に記載の認証鍵交換システム。 The first temporary key generation unit
A hash function H 2 whose base is the generator of the cyclic group, which is the domain of the first argument side of the pairing operation in the bilinear group, and whose input is the first temporary secret key and the first long-term secret key. is configured to generate, as the first temporary public key, a power exponent that is a first value that is the output value of
The first session key generation unit
further receiving a certificate for the long-term public key and verifying whether the certificate was issued by a predetermined certificate authority;
if the verification is successful, calculating as a first key element the result of a pairing operation in which the second temporary public key is the first argument and the first long-term secret key is the second argument;
calculating a power of the long-term public key as a base and the first value as a power exponent as a second key element;
calculating a power of the second temporary public key as a base and the first value as a power exponent as a third key element;
said first key element, said second key element, said third key element, said first temporary public key, said second temporary public key, said first identifier, said second identifier, and said configured to generate as the session key an output value of a hash function H with the long-term public key and the certificate as inputs;
The second temporary key transmission unit
configured to further transmit the certificate to the first device;
The second temporary key generation unit
The hash function H having the base as the generator of the cyclic group, which is the domain of the first argument side of the pairing operation in the bilinear group, and the input of the second temporary secret key and the second long-term secret key. The second temporary public key is configured to generate a power with a second value, which is an output value of 2, as the power exponent,
The second session key generation unit
A pairing operation with the base being the master public key and the exponent being the second value as the first argument and the output value of the hash function H1 having the first identifier as the input as the second argument calculating the result as the first key element;
calculating a power of the first temporary public key as the base and the second long-term secret key as the exponent as the second key element;
calculating a power with the first temporary public key as the base and the second value as the power exponent as the third key element;
said first key element, said second key element, said third key element, said first temporary public key, said second temporary public key, said first identifier, said second identifier, and said configured to generate as the session key an output value of the hash function H with the long-term public key and the certificate as inputs;
The authentication key exchange system according to claim 1.
前記双線形群におけるペアリング演算の第一引数側の定義域である巡回群の生成元を底、前記第1の一時秘密鍵と前記第1の長期秘密鍵とを入力とするハッシュ関数H2の出力値である第1の値をべき指数とするべき乗を前記第1の一時公開鍵として生成するように構成されており、
前記第1のセッション鍵生成部は、
前記長期公開鍵に対する証明書と前記第2の機器の署名とを更に受信すると共に、前記証明書が所定の認証局で発行されたものであるか否かの検証を示す第1の検証と前記署名の検証を示す第2の検証とを行い、
前記第1の検証と前記第2の検証に成功した場合、前記第2の一時公開鍵を第一引数、前記第1の長期秘密鍵を第二引数とするペアリング演算の演算結果を第1の鍵要素として計算し、
前記第2の一時公開鍵を底、前記第1の値をべき指数とするべき乗を第2の鍵要素として計算し、
前記第1の鍵要素と前記第2の鍵要素と前記第1の一時公開鍵と前記第2の一時公開鍵と前記第1の識別子と前記第2の識別子と前記長期公開鍵と前記証明書と前記署名とを入力とするハッシュ関数Hの出力値を前記セッション鍵として生成するように構成されており、
前記第2の一時鍵送信部は、
前記証明書と前記署名を前記第1の機器に更に送信するように構成されており、
前記第2の一時鍵生成部は、
前記双線形群におけるペアリング演算の第一引数側の定義域である巡回群の生成元を底、前記第2の一時秘密鍵と前記第2の長期秘密鍵とを入力とするハッシュ関数H3の出力値である第2の値をべき指数とするべき乗を前記第2の一時公開鍵として生成するように構成されており、
前記第2のセッション鍵生成部は、
前記マスター公開鍵を底、前記第2の値をべき指数とするべき乗を第一引数、前記第1の識別子を入力とするハッシュ関数H1の出力値を第二引数とするペアリング演算の演算結果を前記第1の鍵要素として計算し、
前記第1の一時公開鍵を底、前記第2の値をべき指数とするべき乗を前記第2の鍵要素として計算し、
前記第1の鍵要素と前記第2の鍵要素と前記第1の一時公開鍵と前記第2の一時公開鍵と前記第1の識別子と前記第2の識別子と前記長期公開鍵と前記証明書と前記署名とを入力とする前記ハッシュ関数Hの出力値を前記セッション鍵として生成するように構成されている、
請求項1に記載の認証鍵交換システム。 The first temporary key generation unit
A hash function H 2 whose base is the generator of the cyclic group, which is the domain of the first argument side of the pairing operation in the bilinear group, and whose input is the first temporary secret key and the first long-term secret key. is configured to generate, as the first temporary public key, a power exponent that is a first value that is the output value of
The first session key generation unit
further receiving a certificate for the long-term public key and the signature of the second device, and performing a first verification indicating whether or not the certificate is issued by a predetermined certificate authority; perform a second verification indicating verification of the signature;
If the first verification and the second verification are successful, the calculation result of the pairing calculation with the second temporary public key as the first argument and the first long-term secret key as the second argument is the first calculated as the key elements of
calculating a power of the second temporary public key as a base and the first value as a power exponent as a second key element;
said first key element, said second key element, said first temporary public key, said second temporary public key, said first identifier, said second identifier, said long-term public key, and said certificate and the signature are configured to generate an output value of a hash function H as the session key,
The second temporary key transmission unit
configured to further transmit the certificate and the signature to the first device;
The second temporary key generation unit
Hash function H 3 whose base is the generator of the cyclic group, which is the domain of the first argument side of the pairing operation in the bilinear group, and whose input is the second temporary secret key and the second long-term secret key is configured to generate, as the second temporary public key, a power exponent that is a second value that is the output value of
The second session key generation unit
A pairing operation with the base being the master public key and the exponent being the second value as the first argument, and the output value of the hash function H1 having the first identifier as the input as the second argument. calculating the result as the first key element;
calculating a power with the first temporary public key as the base and the second value as the power exponent as the second key element;
said first key element, said second key element, said first temporary public key, said second temporary public key, said first identifier, said second identifier, said long-term public key, and said certificate and the signature are configured to generate the output value of the hash function H as the session key,
The authentication key exchange system according to claim 1.
第1の一時秘密鍵を生成すると共に、前記第1の一時秘密鍵及び前記サーバで生成された第1の長期秘密鍵から第1の一時公開鍵を生成するように構成されている一時鍵生成部と、
前記第1の一時公開鍵と前記機器の識別子を示す第1の識別子とを前記他の機器に送信するように構成されている一時鍵送信部と、
少なくとも第2の一時公開鍵と前記他の機器の長期公開鍵と前記他の機器の識別子を示す第2の識別子とを前記他の機器から受信すると、前記第1の一時公開鍵と前記第2の一時公開鍵と前記他の機器の長期公開鍵と前記第1の一時秘密鍵と前記第1の長期秘密鍵と前記第1の識別子と前記第2の識別子から、前記他の機器との間で共有するセッション鍵を生成するように構成されているセッション鍵生成部と、を有する、
機器。 A device that is communicatively connected to a server that functions as a KGC for ID-based encryption and another device that performs authentication based on an electronic signature, and that performs authentication based on the ID-based encryption,
A temporary key generator configured to generate a first temporary private key and to generate a first temporary public key from said first temporary private key and a first long-term private key generated at said server. Department and
a temporary key transmission unit configured to transmit the first temporary public key and a first identifier indicating an identifier of the device to the other device;
receiving from the other device at least a second temporary public key, a long-term public key of the other device, and a second identifier indicating an identifier of the other device, the first temporary public key and the second and the long-term public key of the other device, the first temporary secret key, the first long-term secret key, the first identifier, and the second identifier, from the other device a session key generator configured to generate a session key shared with
device.
前記機器の長期秘密鍵と、前記長期秘密鍵に対応する長期公開鍵とを生成するように構成されている長期鍵生成部と、
第1の一時秘密鍵を生成すると共に、前記第1の一時秘密鍵及び前記長期秘密鍵から第1の一時公開鍵を生成するように構成されている一時鍵生成部と、
少なくとも前記第1の一時公開鍵と前記長期公開鍵と前記機器の識別子を示す第1の識別子とを前記他の機器に送信するように構成されている一時鍵送信部と、
第2の一時公開鍵と前記他の機器の識別子を示す第2の識別子とを前記他の機器から受信すると、前記第1の一時公開鍵と前記第2の一時公開鍵と前記第1の一時秘密鍵と前記サーバで生成されたマスター公開鍵と前記第1の識別子と前記第2の識別子から、前記他の機器との間で共有するセッション鍵を生成するように構成されているセッション鍵生成部と、有する、
機器。 A device that performs authentication based on an electronic signature and is communicatively connected to a server that functions as a KGC for ID-based encryption and another device that performs authentication based on the ID-based encryption,
a long-term key generator configured to generate a long-term private key for the device and a long-term public key corresponding to the long-term private key;
a temporary key generator configured to generate a first temporary private key and to generate a first temporary public key from the first temporary private key and the long-term private key;
a temporary key transmission unit configured to transmit at least the first temporary public key, the long-term public key, and a first identifier indicating an identifier of the device to the other device;
when a second temporary public key and a second identifier indicating the identifier of the other device are received from the other device, the first temporary public key, the second temporary public key, and the first temporary A session key generator configured to generate a session key shared with the other device from a secret key, a master public key generated by the server, the first identifier, and the second identifier. part and have
device.
前記サーバが、
前記IDベース暗号で用いられる双線形群と、前記IDベース暗号のマスター秘密鍵と、前記マスター秘密鍵に対応するマスター公開鍵とを生成するセットアップ手順と、
前記第1の機器の識別子を示す第1の識別子に対する第1の長期秘密鍵を生成する長期秘密鍵生成手順と、を実行し、
前記第1の機器が、
第1の一時秘密鍵を生成すると共に、前記第1の一時秘密鍵及び前記第1の長期秘密鍵から第1の一時公開鍵を生成する第1の一時鍵生成手順と、
前記第1の一時公開鍵と前記第1の識別子とを前記第2の機器に送信する第1の一時鍵送信手順と、
少なくとも第2の一時公開鍵と前記第2の機器の長期公開鍵と前記第2の機器の識別子を示す第2の識別子とを前記第2の機器から受信すると、前記第1の一時公開鍵と前記第2の一時公開鍵と前記第2の機器の長期公開鍵と前記第1の一時秘密鍵と前記第1の長期秘密鍵と前記第1の識別子と前記第2の識別子からセッション鍵を生成する第1のセッション鍵生成手順と、を実行し、
前記第2の機器が、
第2の長期秘密鍵と、前記第2の長期秘密鍵に対応する前記長期公開鍵とを生成する長期鍵生成手順と、
第2の一時秘密鍵を生成すると共に、前記第2の一時秘密鍵及び前記第2の長期秘密鍵から前記第2の一時公開鍵を生成する第2の一時鍵生成手順と、
少なくとも前記第2の一時公開鍵と前記長期公開鍵と前記第2の識別子とを前記第1の機器に送信する第2の一時鍵送信手順と、
前記第1の一時公開鍵と前記第2の一時公開鍵と前記第2の一時秘密鍵と前記マスター公開鍵と前記第1の識別子と前記第2の識別子から前記セッション鍵を生成する第2のセッション鍵生成と、を実行する、
方法。 A server that functions as a KGC for ID-based encryption, a first device that performs authentication based on the ID-based encryption, and a second device that performs authentication based on an electronic signature, wherein the first device and the second device are included. A method used in an authentication key exchange system that performs authentication key exchange with the device of 2,
the server
a setup procedure for generating a bilinear group used in the identity-based cipher, a master private key for the identity-based cipher, and a master public key corresponding to the master private key;
a long-term private key generation procedure for generating a first long-term private key for a first identifier that indicates the identifier of the first device;
The first device is
a first temporary key generation procedure for generating a first temporary private key and generating a first temporary public key from said first temporary private key and said first long-term private key;
a first temporary key transmission procedure for transmitting the first temporary public key and the first identifier to the second device;
receiving from the second device at least a second temporary public key, a long-term public key of the second device, and a second identifier indicative of an identifier of the second device, the first temporary public key and A session key is generated from the second temporary public key, the long-term public key of the second device, the first temporary secret key, the first long-term secret key, the first identifier, and the second identifier. and a first session key generation procedure to
The second device is
a long-term key generation procedure for generating a second long-term private key and the long-term public key corresponding to the second long-term private key;
a second temporary key generation procedure for generating a second temporary private key and generating the second temporary public key from the second temporary private key and the second long-term private key;
a second temporary key transmission procedure for transmitting at least the second temporary public key, the long-term public key and the second identifier to the first device;
a second temporary public key for generating the session key from the first temporary public key, the second temporary public key, the second temporary secret key, the master public key, the first identifier, and the second identifier; perform session key generation and
Method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021201659A JP2023087337A (en) | 2021-12-13 | 2021-12-13 | Authentication key exchange system, device, method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021201659A JP2023087337A (en) | 2021-12-13 | 2021-12-13 | Authentication key exchange system, device, method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023087337A true JP2023087337A (en) | 2023-06-23 |
Family
ID=86851154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021201659A Pending JP2023087337A (en) | 2021-12-13 | 2021-12-13 | Authentication key exchange system, device, method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023087337A (en) |
-
2021
- 2021-12-13 JP JP2021201659A patent/JP2023087337A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107948189B (en) | Asymmetric password identity authentication method and device, computer equipment and storage medium | |
US9621545B2 (en) | System and method for connecting client devices to a network | |
US9490979B2 (en) | System and method for providing credentials | |
US10673625B1 (en) | Efficient identity-based and certificateless cryptosystems | |
EP2106090A1 (en) | A method, system and network device for mutual authentication | |
US9705683B2 (en) | Verifiable implicit certificates | |
AU2016287732A1 (en) | Mutual authentication of confidential communication | |
WO2019209168A2 (en) | Data processing method, related apparatus, and blockchain system | |
JP2017517229A (en) | Network authentication system using dynamic key generation | |
WO2008113279A1 (en) | A method, system and communication device for generating session cryptographic | |
JP2010093860A (en) | Key validation scheme | |
TWI807103B (en) | Computer implemented system and method for sharing a common secret | |
CN110336664B (en) | SM2 cryptographic algorithm-based cross-domain authentication method for information service entity | |
CN112104453A (en) | Anti-quantum computation digital signature system and signature method based on digital certificate | |
WO2023174038A9 (en) | Data transmission method and related device | |
Yin et al. | An efficient and secured data storage scheme in cloud computing using ECC-based PKI | |
EP3232603B1 (en) | Key-exchange method, key-exchange system, terminal device, and program | |
Patonico et al. | Elliptic curve‐based proxy re‐signcryption scheme for secure data storage on the cloud | |
Bayat et al. | A secure and efficient chaotic maps based authenticated key-exchange protocol for smart grid | |
Al-Attab et al. | Authentication scheme for insecure networks in cloud computing | |
Wu et al. | ID-based remote authentication with smart cards on open distributed system from elliptic curve cryptography | |
JP2023087337A (en) | Authentication key exchange system, device, method, and program | |
JP7298686B2 (en) | Key exchange system, communication device and program | |
WO2023242971A1 (en) | Key exchange system, device, method, and program | |
JP7377495B2 (en) | Cryptographic systems and methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240129 |