JP2021093665A - Key exchange system, information processing device, key exchange method, and program - Google Patents
Key exchange system, information processing device, key exchange method, and program Download PDFInfo
- Publication number
- JP2021093665A JP2021093665A JP2019224252A JP2019224252A JP2021093665A JP 2021093665 A JP2021093665 A JP 2021093665A JP 2019224252 A JP2019224252 A JP 2019224252A JP 2019224252 A JP2019224252 A JP 2019224252A JP 2021093665 A JP2021093665 A JP 2021093665A
- Authority
- JP
- Japan
- Prior art keywords
- key
- terminal
- encryption
- group
- ciphertext
- 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 45
- 230000010365 information processing Effects 0.000 title claims description 6
- 230000007774 longterm Effects 0.000 claims description 38
- 230000005540 biological transmission Effects 0.000 claims description 33
- 230000004044 response Effects 0.000 claims description 8
- 238000003860 storage Methods 0.000 description 74
- 238000012545 processing Methods 0.000 description 68
- 238000004891 communication Methods 0.000 description 54
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 16
- 238000013500 data storage Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000012795 verification Methods 0.000 description 6
- 238000013518 transcription Methods 0.000 description 5
- 230000035897 transcription Effects 0.000 description 5
- 238000005538 encapsulation Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 235000010724 Wisteria floribunda Nutrition 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000002151 riboflavin Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、鍵交換システム、情報処理装置、鍵交換方法及びプログラムに関する。 The present invention relates to a key exchange system, an information processing device, a key exchange method and a program.
近年、グループでの会話ができるコミュニケーションツールの普及に伴い、多者間で効率よく鍵交換を行う多者間鍵交換技術に注目が集まっている。多者間鍵交換技術の1つとして、ID−DMKDと呼ばれるプロトコルが知られている(非特許文献1参照)。ID−DMKDは同期型の多者間鍵交換プロトコルであり、サーバを中心としたスター型の通信ネットワーク上でユーザ同士がやり取りを行い、効率よく鍵の共有を行う技術である。また、ID−DMKDはIDベースの鍵交換プロトコルであるため、公開鍵基盤が不要であるという特徴もある。 In recent years, with the spread of communication tools that enable group conversations, attention has been focused on multi-person key exchange technology that efficiently exchanges keys between multiple people. As one of the multi-party key exchange techniques, a protocol called ID-DMKD is known (see Non-Patent Document 1). ID-DMKD is a synchronous multi-party key exchange protocol, which is a technology in which users exchange keys on a star-type communication network centered on a server to efficiently share keys. Further, since ID-DMKD is an ID-based key exchange protocol, it also has a feature that a public key infrastructure is not required.
しかしながら、ID−DMKDは同期型のプロトコルであるため、グループ内のユーザ全員がオンラインである必要がある。このため、適用できるアプリケーションが限られていた。 However, since ID-DMKD is a synchronous protocol, all users in the group need to be online. Therefore, the applicable applications are limited.
本発明の一実施形態は、上記の点に鑑みてなされたもので、非同期型の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 realize an asynchronous ID-based multi-party key exchange protocol.
上記目的を達成するため、一実施形態に係る鍵交換システムは、第1の端末と、前記第1の端末と同一グループに属する1以上の第2の端末と、前記第1の端末と前記第2の端末との間でグループ鍵の交換を補助する補助サーバとが含まれる鍵交換システムであって、前記第1の端末は、前記補助サーバで生成された暗号化鍵で前記グループ鍵を暗号化した暗号化グループ鍵を生成した後、前記1以上の第2の端末の識別情報を用いて前記暗号化グループ鍵をIDベース暗号により暗号化した第1の暗号文を生成する暗号化手段と、前記第1の暗号文を前記補助サーバに送信する第1の送信手段と、を有し、前記補助サーバは、前記第1の端末から受信した第1の暗号文を、前記1以上の第2の端末毎に分割した分割暗号文を生成する分割手段と、前記1以上の第2の端末のうち、オンラインの第2の端末に対して、該第2の端末に対応する分割暗号文を送信する第2の送信手段と、前記第2の端末からの復号依頼に応じて、該第2の端末から受信した第2の暗号文を、前記暗号化鍵に対応する復号鍵で復号する第1の復号手段と、前記第1の復号手段で復号された情報を前記第2の端末に送信する第3の送信手段と、を有し、前記第2の端末は、前記補助サーバから受信した分割暗号文を、前記第2の端末の識別情報に対応するユーザ秘密鍵により前記暗号化グループ鍵に復号する第2の復号手段と、前記暗号化グループ鍵に対してノイズを付加したノイズ付き暗号化グループ鍵を生成するノイズ付加手段と、前記ノイズ付き暗号化グループ鍵の復号依頼を前記補助サーバに依頼する依頼手段と、を有することを特徴とする。 In order to achieve the above object, the key exchange system according to the embodiment includes a first terminal, one or more second terminals belonging to the same group as the first terminal, the first terminal, and the first terminal. A key exchange system including an auxiliary server that assists in exchanging a group key with two terminals, wherein the first terminal encrypts the group key with an encryption key generated by the auxiliary server. An encryption means that generates a first encrypted text in which the encrypted group key is encrypted by ID-based encryption using the identification information of the first or more second terminals after generating the encrypted group key. The auxiliary server has a first transmission means for transmitting the first cipher to the auxiliary server, and the auxiliary server sends the first cipher received from the first terminal to the one or more first. A dividing means for generating a divided code sentence divided for each of the two terminals, and a divided code sentence corresponding to the second terminal to the online second terminal among the above-mentioned one or more second terminals. A second transmitting means for transmitting and a second encryption text received from the second terminal in response to a decryption request from the second terminal are decrypted with a decryption key corresponding to the encryption key. It has 1 decoding means and a 3rd transmission means for transmitting the information decoded by the 1st decoding means to the 2nd terminal, and the 2nd terminal received from the auxiliary server. A second decryption means for decrypting the divided encryption text into the encryption group key by the user private key corresponding to the identification information of the second terminal, and a noise-added encryption in which noise is added to the encryption group key. It is characterized by having a noise adding means for generating a modified group key and a requesting means for requesting the auxiliary server to decrypt the encrypted group key with noise.
非同期型のIDベース多者間鍵交換プロトコルを実現することができる。 An asynchronous ID-based multi-party key exchange protocol can be realized.
以下、本発明の一実施形態について説明する。本実施形態では、非同期型のIDベース多者間鍵交換プロトコルを実現する鍵交換システム1について説明する。非同期型の多者間鍵交換プロトコルでは、鍵(グループ鍵)の交換を行う際にグループ内の全員がオンラインである必要がない。このため、非同期型のIDベース多者間鍵交換プロトコルは、同期的なアプリケーション(例えば、電話やVPN(Virtual Private Network)、オンラインチャット等)だけでなく、例えば、メールやファイル共有、オフラインチャット等の非同期的なアプリケーションにも適用することができる。なお、グループとは、鍵交換を行うユーザの集合のことである。
Hereinafter, an embodiment of the present invention will be described. In the present embodiment, the
また、上述したように、IDベースで鍵交換プロトコルを実現することにより、公開鍵基盤が不要となる。このため、ユーザと公開鍵とを公開鍵基盤で紐付けたり、ユーザが証明書管理を行ったりすること等が不要となる。 Further, as described above, by realizing the key exchange protocol based on the ID, a public key infrastructure becomes unnecessary. Therefore, it is not necessary to link the user and the public key with the public key infrastructure, or to manage the certificate by the user.
なお、非同期型の多者間鍵交換プロトコルの従来技術として、以下の参考文献1及び2に記載されている技術が知られている。
As a conventional technique of an asynchronous multi-way key exchange protocol, the techniques described in
[参考文献1]
Katriel Cohn-Gordon, Cas Cremers, Luke Garratt, Jon Millican, and Kevin Milner, "On ends-to-ends encryption: Asynchronous group messaging with strong security guarantees", IACR Cryptology ePrint Archive, 2017.
[参考文献2]
Colin Boyd, Gareth T. Davies, Kristian Gjosteen, Yao Jiang, "Offline Assisted Group Key Exchange", International Conference on Information Security 2018, volume 11060 of LNCS, pp.268-285, Springer, 2018.
しかしながら、上記の参考文献1及び参考文献2に記載されている多者間鍵交換プロトコルはいずれも公開鍵ベースである(つまり、公開鍵基盤が必要となる)。加えて、上記参考文献1に記載されている多者間鍵交換プロトコルでは、鍵交換を行える回数に制限がある。例えば、メール等のアプリケーションではメッセージを一通受信する毎に新しいグループ鍵を用いる(つまり、鍵交換を行う)ことを前提に考えられているが、予め受信するメッセージの総数を予測することは困難であるため、鍵交換を行える回数に制限がないことが好ましい。
[Reference 1]
Katriel Cohn-Gordon, Cas Cremers, Luke Garratt, Jon Millican, and Kevin Milner, "On ends-to-ends encryption: Asynchronous group messaging with strong security guarantees", IACR Cryptology ePrint Archive, 2017.
[Reference 2]
Colin Boyd, Gareth T. Davies, Kristian Gjosteen, Yao Jiang, "Offline Assisted Group Key Exchange", International Conference on Information Security 2018, volume 11060 of LNCS, pp.268-285, Springer, 2018.
However, both the multi-person key exchange protocols described in
一方で、上記の参考文献2に記載されている多者間鍵交換プロトコルは鍵交換を行える回数に制限はないものの、MEX安全性を満たしていないため、ユーザの一時秘密鍵が漏洩した場合はグループ鍵の安全性が保証されない。なお、MEX安全性とは、一時秘密鍵と長期秘密鍵の両方の漏洩に対する安全性のことである。 On the other hand, although the multi-person key exchange protocol described in Reference 2 above does not limit the number of times key exchange can be performed, it does not satisfy MEX security. Therefore, if the user's temporary private key is leaked, The security of the group key is not guaranteed. The MEX security is the security against leakage of both the temporary private key and the long-term private key.
そこで、本実施形態では、非同期型のIDベース多者間鍵交換プロトコルとして、鍵交換を行える回数に制限がなく、かつ、グループに属する各ユーザの一時秘密鍵及び長期秘密鍵に関して、グループ鍵が明らかに計算できる組み合わせ(例えば、同一ユーザの一時秘密鍵と長期秘密鍵との組み合わせや、秘密鍵生成サーバのマスター鍵と或るユーザの一時秘密鍵との組み合わせ等)以外の漏洩があったとしても、グループ鍵の安全性は失われない多者間鍵交換プロトコルを構成する。 Therefore, in the present embodiment, as an asynchronous ID-based multi-person key exchange protocol, there is no limit to the number of times key exchange can be performed, and the group key is used for the temporary private key and the long-term private key of each user belonging to the group. Assuming that there is a leak other than a combination that can be clearly calculated (for example, a combination of a temporary private key and a long-term private key of the same user, a combination of a master key of a private key generation server and a temporary private key of a certain user, etc.) However, it constitutes a multi-party key exchange protocol in which the security of the group key is not lost.
また、本実施形態では、多者間鍵交換プロトコルのIDベース暗号として、IDベースマルチレシーバサインクリプションを用いる。これにより、IDベース暗号における署名部分の計算と暗号文の長さとをグループ人数(グループに属するユーザ数)に比例しないように構成することができ、効率のよい多者間鍵交換を実現することができる。なお、IDベースマルチレシーバサインクリプションについては、例えば、以下の参考文献3を参照されたい。 Further, in the present embodiment, ID-based multi-receiver sign transcription is used as the ID-based cryptography of the multi-party key exchange protocol. As a result, the calculation of the signature part in the ID-based cryptography and the length of the ciphertext can be configured so as not to be proportional to the number of people in the group (the number of users belonging to the group), and efficient multi-person key exchange can be realized. Can be done. For ID-based multi-receiver sign transcription, refer to Reference 3 below, for example.
[参考文献3]
Fagen Li, Hu Xiong, and Xuyun Nie, "A New Multi-Receiver ID-Based Signcryption Scheme for Group Communications", In: Proceedings of International Conference on Communications, Circuits and Systems, pp. 296-300, IEEE CS, 2009.
<全体構成>
まず、本実施形態に係る鍵交換システム1の全体構成について、図1を参照しながら説明する。図1は、本実施形態に係る鍵交換システム1の全体構成の一例を示す図である。
[Reference 3]
Fagen Li, Hu Xiong, and Xuyun Nie, "A New Multi-Receiver ID-Based Signcryption Scheme for Group Communications", In: Proceedings of International Conference on Communications, Circuits and Systems, pp. 296-300, IEEE CS, 2009.
<Overall configuration>
First, the overall configuration of the
図1に示すように、本実施形態に係る鍵交換システム1には、複数の通信端末10と、鍵交換補助サーバ20と、秘密鍵生成サーバ30とが含まれる。また、各通信端末10と、鍵交換補助サーバ20と、秘密鍵生成サーバ30とは、例えば、インターネット等の通信ネットワークNを介して通信可能に接続される。
As shown in FIG. 1, the
通信端末10は、グループ鍵の交換を行うユーザが利用する各種端末である。通信端末10としては、例えば、PC(パーソナルコンピュータ)やスマートフォン、タブレット端末、電話機等を用いることが可能である。ただし、これらに限られず、通信端末10として、任意の端末を用いることが可能である。
The
本実施形態では、グループの作成者(つまり、鍵交換を開始するユーザ)を「送信者」、当該グループに属する他のユーザを「受信者」として、送信者が利用する通信端末10を「送信端末11」、受信者が利用する通信端末10を「受信端末12」とも表す。また、受信端末12はn台(nは1以上の整数)であるものとして、各受信端末12の各々を区別する場合には「受信端末12i」(i=1,・・・,n)と表す。
In the present embodiment, the creator of the group (that is, the user who starts the key exchange) is the "sender", the other users belonging to the group are the "receivers", and the
鍵交換補助サーバ20は、通信端末10の間での鍵交換を補助するサーバ装置である。鍵交換補助サーバ20は、例えば、グループ鍵を暗号化するための暗号化鍵やその復号を行うための復号鍵を生成する。
The key exchange
秘密鍵生成サーバ30は、IDベース暗号に用いられるマスター秘密鍵を生成したり、ユーザ秘密鍵(IDベース秘密鍵)を生成したりするサーバ装置である。
The private
<非同期型のIDベース多者間鍵交換プロトコルの構成>
ここで、本実施形態における非同期型IDベース多者間鍵交換プロトコルの構成について説明する。まず、本実施形態における非同期型IDベース多者間鍵交換プロトコルでは、以下の手順1〜手順9によりグループ鍵の鍵交換を行う。ここで、各通信端末10と鍵交換補助サーバ20にはIDが割り振られており、各通信端末10と鍵交換補助サーバ20は自身のIDに対応するIDベース秘密鍵を保持しているものとする。また、各通信端末10と鍵交換補助サーバ20は、後述するハッシュ値の計算に用いられる長期秘密鍵を各自で予め生成し、保持しているものとする。なお、IDとは、各通信端末10やそのユーザ、鍵交換補助サーバ20を識別する識別情報のことであり、任意の識別情報を使用することができる。IDとして、例えば、ユーザのメールアドレス、SNS(Social Networking Service)のユーザID、電話番号、住所、氏名、マイナンバー、DNA等の生体情報、IP(Internet Protocol)アドレス、MAC(Media Access Control)アドレス、URL(Uniform Resource Locator)、クレジットカード番号、機器や装置の製造固有番号等が挙げられる。
<Configuration of asynchronous ID-based multi-party key exchange protocol>
Here, the configuration of the asynchronous ID-based multi-party key exchange protocol in the present embodiment will be described. First, in the asynchronous ID-based multi-person key exchange protocol in the present embodiment, the key exchange of the group key is performed by the following
手順1:送信端末11は、鍵交換補助サーバ20に暗号化鍵を要求する。鍵交換補助サーバ20は、自身の長期秘密鍵と一時秘密鍵とのハッシュ値を用いて暗号化鍵と復号鍵とのペアを生成し、そのうちの暗号化鍵を送信端末11に送信する。
Step 1: The transmitting
手順2:送信端末11は、グループ内のユーザで共有したいグループ鍵を生成し、暗号化鍵と、自身の長期秘密鍵と一時秘密鍵とのハッシュ値とを用いて当該グループ鍵を暗号化する。
Step 2: The transmitting
手順3:送信端末11は、自身の長期秘密鍵と一時秘密鍵とのハッシュ値と、当該グループに属する各受信者のIDとを用いて、暗号化されたグループ鍵をIDベース暗号により暗号化する。なお、上述したように、このIDベース暗号として、IDベースマルチレシーバサインクリプションを用いる。
Step 3: The transmitting
手順4:送信端末11は、上記の手順3でIDベース暗号により暗号化されたグループ鍵の暗号文を鍵交換補助サーバ20に送信する。
Step 4: The transmitting
手順5:鍵交換補助サーバ20は、暗号文を各受信者用に分割し、各受信者がオンラインになった時点で、当該受信者用の暗号文を送信する。
Step 5: The key exchange
手順6:受信端末12は、鍵交換補助サーバ20から受け取った暗号文を自身のIDベース秘密鍵で復号し、上記の手順2で暗号化されたグループ鍵を得る。
Step 6: The receiving
手順7:受信端末12は、上記の手順6で得られた暗号化されたグループ鍵にノイズを付加し、このノイズ付加後の暗号化されたグループ鍵の復号を鍵交換補助サーバ20に依頼する。
Step 7: The receiving
手順8:鍵交換補助サーバ20は、ノイズが付加後の暗号化されたグループ鍵を、上記の手順1で生成した復号鍵を用いて復号し、当該受信端末12に送り返す。
Step 8: The key exchange
手順9:受信端末12は、ノイズが付加されているグループ鍵を鍵交換補助サーバ20から受け取り、そのノイズを除去し、グループ鍵を得る。
Step 9: The receiving
以上の手順1〜手順9によってグループ内のユーザ間でグループ鍵が共有される。上記の手順1〜手順9に示されているように、送信者と受信者との間で直接データのやり取りを行わないため、送信者が他のユーザと同時にオンラインである必要がなく、非同期型であることがわかる。また、暗号化や鍵生成、ノイズ付加の部分で長期秘密鍵とその場で生成される一時秘密鍵との両方を用いているため、同一ユーザのどちらか一方の秘密鍵(長期秘密鍵又は一時秘密鍵)のみからではグループ鍵を計算することができない。このため、ユーザの一時秘密鍵、長期秘密鍵どちらの漏洩も考慮した高い安全性を満たしていることがわかる。
The group key is shared among the users in the group by the
更に、上記の手順7で暗号化されたグループ鍵にノイズを付加した上で鍵交換補助サーバ20に復号を依頼しているため、鍵交換補助サーバ20は、グループ鍵の情報を得ることができない。また、上記の手順3でIDベースマルチレシーバサインクリプションを用いている。これにより、IDをそのままユーザの公開鍵とすることができるため公開鍵基盤が不要であると共に、署名部分の計算と暗号文の長さとがグループ人数に比例しないため効率のよい鍵交換を行うことができる。
Further, since the key exchange
上記の手順1〜手順9によって鍵交換を行うために、本実施形態では、以下のハッシュ関数Hと、IDベースマルチレシーバサインクリプション(IBE_Setup, IBE_Extract, IBE_Signcryption, Ciphertext_Division, IBE_Unsigncryption)(参考文献3参照)と、ブラインド鍵カプセル化メカニズム(KEM_Setup, KEM_Encap, Blind, KEM_Decap, Unblind)(参考文献2参照)とを用いて非同期型IDベース多者間鍵交換プロトコルを構成する。以降では、送信端末11をA,受信端末12iをiとも表し、送信端末11とn台の受信端末12i(i=1,・・・,n)との間でグループ鍵mekを共有する場合について説明する。
In order to perform key exchange according to the
・ハッシュ関数
H(stk, epk)→r:通信端末10又は鍵交換補助サーバ20の長期秘密鍵stkと一時秘密鍵epkとを入力として、ハッシュ値rを出力するアルゴリズム。
・ Hash function
H (stk, epk) → r: An algorithm that outputs a hash value r by inputting the long-term secret key stk and the temporary secret key epk of the
すなわち、ハッシュ関数Hは長期秘密鍵と一時秘密鍵とから疑似乱数値を生成している。なお、本実施形態ではハッシュ関数Hを用いる場合について説明するが、これに限られず、ハッシュ関数Hの代わりに、例えば、ねじれ疑似ランダム関数(非特許文献1参照)を用いる等、任意の生成方法で長期秘密鍵と一時秘密鍵とから疑似乱数値を生成してもよい。 That is, the hash function H generates a pseudo random number value from the long-term secret key and the temporary secret key. In this embodiment, the case where the hash function H is used will be described, but the present invention is not limited to this, and any generation method such as using a twisted pseudo-random function (see Non-Patent Document 1) instead of the hash function H is used. May generate a pseudo-random value from the long-term private key and the temporary private key.
・IDベースマルチレシーバサインクリプション
IBE_Setup(1k)→(msk, ParamsIBE):セキュリティパラメータkを入力として、IDベース暗号用のマスター秘密鍵mskと公開情報ParamsIBEとを出力するアルゴリズム。ここで、公開情報ParamsIBEには、マスター公開鍵Ppubと、各通信端末10(つまり、送信端末11と各受信端末12i)及び鍵交換補助サーバ20のIDとが含まれる。
・ ID-based multi-receiver sign transcription
IBE_Setup (1 k ) → (msk, Params IBE ): An algorithm that inputs the security parameter k and outputs the master private key msk for ID-based cryptography and the public information Params IBE. Here, the public information Params IBE includes a master public key P pub , each communication terminal 10 (that is, a transmitting
IBE_Extract(IDU, msk)→skU:通信端末10又は鍵交換補助サーバ20のID IDUとマスター秘密鍵mskとを入力として、通信端末10又は鍵交換補助サーバ20のIDベース秘密鍵skUを出力する。ここで、鍵交換補助サーバ20をserverとして、U∈{A, 1, … ,n, server}である。
IBE_Extract (ID U , msk) → sk U : ID-based private key sk U of the
IBE_Signcryption(ID1, … ,IDn, Cap, r)→cmek:全ての受信端末12iのID ID1, … IDnと、ブラインド鍵カプセル化メカニズム(Blinded KEM:Blinded Key Encapsulation Mechanism)の暗号化鍵の暗号文Capと、ハッシュ値rとを入力として、CapをID1, … IDnに対してIDベースマルチレシーバサインクリプションを行った暗号文cmekを出力するアルゴリズム。ここで、stkAを送信端末11の長期秘密鍵、epkAを送信端末11の一時秘密鍵として、r=H(stkA, epkA)とする。
IBE_Signcryption (ID 1 ,…, ID n , Cap, r) → c mek : ID ID 1 ,… ID n of all receiving
Ciphertext_Division(cmek, IDi)→cmek,i:暗号文cmekと、受信端末12iのID IDiとを入力として、暗号文cmekを各受信端末12i(i=1,・・・,n)用に分割し、その中の受信端末12i用の暗号文cmek,iを出力するアルゴリズム。
Ciphertext_Division (c mek , ID i ) → c mek, i : Enter the ciphertext c mek and the ID ID i of the receiving
IBE_Unsigncryption(cmek,i, ski, IDA, Ppub)→Cap:受信端末12i用の暗号文cmek,iと、受信端末12iのIDベース秘密鍵skiと、送信端末11のID IDAと、公開鍵Ppubとを入力として、送信者の署名の検証を行い、署名が正しければ暗号文cmek,iの復号結果Capを出力し、署名が正しくなければ、復号に失敗したことを示す⊥を出力するアルゴリズム。
IBE_Unsigncryption (c mek, i, sk i, ID A, P pub) → Cap: ciphertext c mek for the receiving
・ブラインド鍵カプセル化メカニズム
KEM_Setup(1k, r)→(ek, dk):セキュリティパラメータkとハッシュ値rとを入力として、KEM用の暗号鍵ペア(暗号化鍵ek及び復号鍵dk)を出力するアルゴリズム。ここで、stkserverを鍵交換補助サーバ20の長期秘密鍵、epkserverを鍵交換補助サーバ20の一時秘密鍵として、r=H(stkserver, epkserver)とする。
・ Blind key encapsulation mechanism
KEM_Setup (1 k , r) → (ek, dk): An algorithm that inputs the security parameter k and the hash value r and outputs the encryption key pair (encryption key ek and decryption key dk) for KEM. Here, r = H (stk server , epk server ), where stk server is the long-term private key of the key exchange auxiliary server 20 and epk server is the temporary private key of the key exchange
KEM_Encap(ek, r)→(Cap, mek):KEM用の暗号化鍵ekとハッシュ値rとを入力として、グループ鍵mekと、グループ鍵mekを暗号化鍵ekで暗号化したグループ鍵暗号文Capとを出力するアルゴリズム。ここで、r=H(stkA, epkA)とする。 KEM_Encap (ek, r) → (Cap, mek): Group key mek and group key mek encrypted with encryption key ek by inputting KEM encryption key ek and hash value r An algorithm that outputs Cap. Here, let r = H (stk A , epk A ).
Blind(Cap, r)→(Capblind,i, bki):グループ鍵暗号文Capとハッシュ値rとを入力として、Capにノイズを付加したノイズ付きグループ鍵暗号文Capblind,iと、このノイズを除去するためのノイズ除去鍵bkiとを出力する。ここで、stkiを受信端末12iの長期秘密鍵、epkiを受信端末12iの一時秘密鍵として、r=H(stki, epki)とする。
Blind (Cap, r) → (Cap blind, i , bk i ): Group key cipher with noise Cap blind, i with noise added to Cap by inputting Cap and hash value r, and this Outputs the noise removal key bk i for removing noise. Here, long-term private key of the receiving
KEM_Decap(Capblind,i,dk)→mekblind,i:ノイズ付きグループ鍵暗号文Capblind,iと、KEM用の復号鍵dkとを入力として、そのキャップを外したノイズ付きグループ鍵mekblind,iを出力する。 KEM_Decap (Cap blind, i , dk) → mek blind, i : Group key ciphertext with noise Cap blind, i and decryption key dk for KEM are input, and the group key with noise with the cap removed mek blind, Output i.
Unblind(mekblind,i, bki)→mek:ノイズ付きグループ鍵mekblind,iと、ノイズ除去鍵bkiとを入力として、そのノイズを除去したグループ鍵mekを出力する。 Unblind (mek blind, i , bk i ) → mek: The group key with noise mek blind, i and the noise removal key bk i are input, and the group key mek with the noise removed is output.
<ハードウェア構成>
次に、本実施形態に係る鍵交換システム1に含まれる通信端末10、鍵交換補助サーバ20及び秘密鍵生成サーバ30のハードウェア構成について説明する。通信端末10、鍵交換補助サーバ20及び秘密鍵生成サーバ30は一般的なコンピュータ(情報処理装置)のハードウェア構成により実現可能であり、例えば、図2に示すコンピュータ600のハードウェア構成により実現可能である。図2は、コンピュータ600のハードウェア構成の一例を示す図である。
<Hardware configuration>
Next, the hardware configurations of the
図2に示すコンピュータ600は、ハードウェアとして、入力装置601と、表示装置602と、外部I/F603と、通信I/F604と、プロセッサ605と、メモリ装置606とを有する。これら各ハードウェアは、それぞれがバス607を介して通信可能に接続されている。
The
入力装置601は、例えば、キーボードやマウス、タッチパネル等である。表示装置602は、例えば、ディスプレイ等である。なお、コンピュータ600は、入力装置601及び表示装置602のうちの少なくとも一方を有していなくてもよい。
The
外部I/F603は、外部装置とのインタフェースである。外部装置には、記録媒体603a等がある。なお、記録媒体603aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
The external I /
通信I/F604は、通信ネットワークNに接続するためのインタフェースである。プロセッサ605は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の各種演算装置である。メモリ装置606は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の各種記憶装置である。
The communication I /
本実施形態に係る鍵交換システム1に含まれる通信端末10、鍵交換補助サーバ20及び秘密鍵生成サーバ30は、例えば、図2に示すコンピュータ600のハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、図2に示すコンピュータ600のハードウェア構成は一例であって、他のハードウェア構成であってもよい。例えば、コンピュータ600は、複数のプロセッサ605を有していてもよいし、複数のメモリ装置606を有していてもよい。
The
<機能構成>
次に、本実施形態に係る鍵交換システム1に含まれる通信端末10(送信端末11及び受信端末12)、鍵交換補助サーバ20及び秘密鍵生成サーバ30の機能構成について説明する。
<Functional configuration>
Next, the functional configurations of the communication terminal 10 (transmitting
≪送信端末11≫
通信端末10が送信端末11である場合の機能構成について、図3を参照しながら説明する。図3は、通信端末10が送信端末11である場合の機能構成の一例を示す図である。
<<
The functional configuration when the
図3に示すように、送信端末11は、暗号化鍵要求処理部111と、グループ鍵生成暗号化処理部112と、IDベース署名暗号化処理部113とを有する。これら各部は、例えば、送信端末11にインストールされた1以上のプログラムがプロセッサに実行させる処理により実現される。
As shown in FIG. 3, the transmitting
また、送信端末11は、長期秘密鍵記憶部114と、公開情報記憶部115と、IDベース秘密鍵記憶部116と、暗号化鍵記憶部117と、グループ鍵記憶部118とを有する。これら各部は、例えば、送信端末11のメモリ装置等を用いて実現可能である。
Further, the
暗号化鍵要求処理部111は、鍵交換補助サーバ20に暗号化鍵を要求する。これにより、送信端末11は、この要求に対する応答として、暗号化鍵ekを得る。
The encryption key
グループ鍵生成暗号化処理部112は、KEM_Encapアルゴリズムを実行してグループ鍵mekとグループ鍵暗号文Capとを生成する。
The group key generation
IDベース署名暗号化処理部113は、IBE_Signcryptionアルゴリズムを実行して暗号文cmekを生成し、鍵交換補助サーバ20に送信する。
The ID-based signature
長期秘密鍵記憶部114は、長期秘密鍵stkAを記憶する。公開情報記憶部115は、公開情報ParamsIBEを記憶する。IDベース秘密鍵記憶部116は、IDベース秘密鍵skAを記憶する。暗号化鍵記憶部117は、暗号化鍵ekを記憶する。グループ鍵記憶部118は、グループ鍵mekを記憶する。
The long-term secret
≪受信端末12≫
通信端末10が受信端末12である場合の機能構成について、図4を参照しながら説明する。図4は、通信端末10が受信端末12である場合の機能構成の一例を示す図である。
≪Receiving
The functional configuration when the
図4に示すように、受信端末12は、署名検証・復号処理部121と、ノイズ付加処理部122と、復号依頼処理部123と、ノイズ除去処理部124とを有する。これら各部は、例えば、受信端末12にインストールされた1以上のプログラムがプロセッサに実行させる処理により実現される。
As shown in FIG. 4, the receiving
また、受信端末12は、長期秘密鍵記憶部125と、公開情報記憶部126と、IDベース秘密鍵記憶部127と、ノイズ除去鍵記憶部128と、グループ鍵記憶部129とを有する。これら各部は、例えば、受信端末12のメモリ装置等を用いて実現可能である。
Further, the receiving
署名検証・復号処理部121は、IBE_Unsigncryptionアルゴリズムを実行して暗号文cmek,iの署名検証及び復号を行って、グループ鍵暗号文Capを生成する。
The signature verification /
ノイズ付加処理部122は、Blindアルゴリズムを実行してノイズ付きグループ鍵暗号文Capblind,iとノイズ除去鍵bkiとを生成する。
The noise
復号依頼処理部123は、ノイズ付きグループ鍵暗号文Capblind,iの復号を鍵交換補助サーバ20に依頼する。これにより、受信端末12は、この依頼に対する結果として、ノイズ付きグループ鍵mekblind,iを得る。
The decryption
ノイズ除去処理部124は、Unblindアルゴリズムを実行してグループ鍵mekを生成する。
The noise
長期秘密鍵記憶部125は、長期秘密鍵stkiを記憶する。公開情報記憶部126は、公開情報ParamsIBEを記憶する。IDベース秘密鍵記憶部127は、IDベース秘密鍵skiを記憶する。ノイズ除去鍵記憶部128は、ノイズ除去鍵bkiを記憶する。グループ鍵記憶部129は、グループ鍵mekを記憶する。
The long-term secret
≪鍵交換補助サーバ20≫
鍵交換補助サーバ20の機能構成について、図5を参照しながら説明する。図5は、鍵交換補助サーバ20の機能構成の一例を示す図である。
≪Key exchange
The functional configuration of the key exchange
図5に示すように、鍵交換補助サーバ20は、暗号鍵ペア生成処理部201と、暗号文分割処理部202と、暗号文復号処理部203とを有する。これら各部は、例えば、鍵交換補助サーバ20にインストールされた1以上のプログラムがプロセッサに実行させる処理により実現される。
As shown in FIG. 5, the key exchange
また、鍵交換補助サーバ20は、長期秘密鍵記憶部204と、公開情報記憶部205と、IDベース秘密鍵記憶部206と、暗号鍵ペア記憶部207と、分割暗号文記憶部208と、紐付けリスト記憶部209とを有する。これら各部は、例えば、鍵交換補助サーバ20のメモリ装置等を用いて実現可能である。
Further, the key exchange
暗号鍵ペア生成処理部201は、送信端末11からの要求に応じてKEM_Setupアルゴリズムを実行して暗号化鍵ekと復号鍵dkとを生成して、この要求に対する応答として、暗号化鍵ekを当該送信端末11に送信する。
The encryption key pair
暗号文分割処理部202は、送信端末11から暗号文cmekを受信すると、Ciphertext_Divisionアルゴリズムを実行して暗号文cmekを各受信端末12i用に分割した暗号文cmek,iを生成する。また、暗号文分割処理部202は、受信端末12iがオンラインになった時点で、この受信端末12i用の暗号文cmek,iを当該受信端末12iに送信する。
When the ciphertext
暗号文復号処理部203は、ノイズ付きグループ鍵暗号文Capblind,iの復号を受信端末12iから依頼されると、KEM_Decapアルゴリズムを実行してノイズ付きグループ鍵mekblind,iを生成し、この依頼に対する結果として、ノイズ付きグループ鍵mekblind,iを当該受信端末12iに送信する。
Ciphertext
長期秘密鍵記憶部204は、長期秘密鍵stkserverを記憶する。公開情報記憶部205は、公開情報ParamsIBEを記憶する。IDベース秘密鍵記憶部206は、IDベース秘密鍵skserverを記憶する。暗号鍵ペア記憶部207は、暗号化鍵ek及び復号鍵dkの暗号鍵ペアを記憶する。分割暗号文記憶部208は、各受信端末12i用の暗号文cmek,iを記憶する。紐付けリスト記憶部209は、同一グループの各通信端末10と鍵交換補助サーバ20とこれら各通信端末10及び鍵交換補助サーバ20のIDとを対応付けたリスト情報を記憶する。
The long-term secret
≪秘密鍵生成サーバ30≫
秘密鍵生成サーバ30の機能構成について、図6を参照しながら説明する。図6は、秘密鍵生成サーバ30の機能構成の一例を示す図である。
<< Private
The functional configuration of the private
図6に示すように、秘密鍵生成サーバ30は、秘密鍵生成処理部301を有する。秘密鍵生成処理部301は、例えば、秘密鍵生成サーバ30にインストールされた1以上のプログラムがプロセッサに実行させる処理により実現される。
As shown in FIG. 6, the private
また、秘密鍵生成サーバ30は、公開情報記憶部302と、マスター秘密鍵記憶部303と、紐付けリスト記憶部304とを有する。これら各部は、例えば、秘密鍵生成サーバ30のメモリ装置等を用いて実現可能である。
Further, the private
秘密鍵生成処理部301は、IBE_Setupアルゴリズムを実行してマスター秘密鍵mskと公開情報ParamsIBEとを生成する。また、秘密鍵生成処理部301は、IBE_Extractアルゴリズムを実行して各通信端末10及び鍵交換補助サーバ20のIDベース秘密鍵skUを生成し、該当の通信端末10又は鍵交換補助サーバ20に送信する。なお、U∈{A, 1, … ,n, server}である。
The private key
公開情報記憶部302は、公開情報ParamsIBEを記憶する。マスター秘密鍵記憶部303は、マスター秘密鍵mskを記憶する。紐付けリスト記憶部304は、同一グループの各通信端末10と鍵交換補助サーバ20とこれら各通信端末10及び鍵交換補助サーバ20のIDとを対応付けたリスト情報を記憶する。
The public
<処理の流れ>
以降では、本実施形態に係る鍵交換システム1が実行する処理の流れについて説明する。
<Processing flow>
Hereinafter, the flow of processing executed by the
≪セットアップ処理≫
まず、セットアップ処理について、図7を参照しながら説明する。図7は、セットアップ処理の一例を示すフローチャートである。
≪Setup process≫
First, the setup process will be described with reference to FIG. 7. FIG. 7 is a flowchart showing an example of the setup process.
ステップS101:送信端末11は、自身の長期秘密鍵stkAを生成し、長期秘密鍵記憶部114に保存する。同様に、受信端末12iは、自身の長期秘密鍵stkiを生成し、長期秘密鍵記憶部125に保存する。同様に、鍵交換補助サーバ20は、自身の長期秘密鍵stkserverを生成し、長期秘密鍵記憶部204に保存する。
Step S101: The transmitting
ステップS102:秘密鍵生成サーバ30の秘密鍵生成処理部301は、所定のセキュリティパラメータ1kを入力としてIBE_Setup(1k)を実行し、マスター秘密鍵mskと公開情報ParamsIBEとを生成する。そして、秘密鍵生成処理部301は、マスター秘密鍵mskをマスター秘密鍵記憶部303に保存すると共に、公開情報ParamsIBEを公開情報記憶部302に保存する。
Step S102: The private key
なお、上記のステップS101及びステップS102の実行順は順不同である。 The execution order of steps S101 and S102 is not specified.
ステップS103:秘密鍵生成サーバ30は、各通信端末10及び鍵交換補助サーバ20に公開情報ParamsIBEを公開する。これにより、送信端末11の公開情報記憶部115と、各受信端末12の公開情報記憶部126と、鍵交換補助サーバ20の公開情報記憶部205とに公開情報ParamsIBEが保存される。なお、秘密鍵生成サーバ30は任意の方法で公開情報ParamsIBEを公開すればよい。
Step S103: The private
≪IDベース秘密鍵の生成処理≫
次に、IDベース秘密鍵の生成処理について、図8を参照しながら説明する。図8は、IDベース秘密鍵の生成処理の一例を示すフローチャートである。
≪ID-based private key generation process≫
Next, the ID-based private key generation process will be described with reference to FIG. FIG. 8 is a flowchart showing an example of the ID-based private key generation process.
ステップS201:鍵交換補助サーバ20及び秘密鍵生成サーバ30は、同一グループの各通信端末10と鍵交換補助サーバ20とこれら各通信端末10及び鍵交換補助サーバ20のIDとを対応付けたリスト情報をセキュアなチャネルを介して受け取る。なお、このリスト情報は、例えば、送信端末11から受け取ってもよいし、送信端末11とは異なる他の装置又は機器から受け取ってもよい。
Step S201: The key exchange
ステップS202:次に、秘密鍵生成サーバ30の秘密鍵生成処理部301は、各通信端末10及び鍵交換補助サーバ20のうちのいずれか1つのID IDUとマスター秘密鍵mskとを入力としてIBE_Extract(IDU, msk)を実行し、IDベース秘密鍵skUを生成する。ここで、U∈{A, 1, … ,n, server}である。これにより、各通信端末10及び鍵交換補助サーバ20のIDベース秘密鍵skU(U∈{A, 1, … ,n, server})が生成される。なお、ID IDUはリスト情報から取得される。
Step S202: Next, the private key
ステップS203:次に、秘密鍵生成サーバ30の秘密鍵生成処理部301は、上記のステップS202で生成したIDベース秘密鍵skUを該当の通信端末10又は鍵交換補助サーバ20にセキュアなチャネルを介して配布する。これにより、送信端末11のIDベース秘密鍵記憶部116にIDベース秘密鍵skAが、各受信端末12iのIDベース秘密鍵記憶部127にIDベース秘密鍵skiが、鍵交換補助サーバ20のIDベース秘密鍵記憶部206にIDベース秘密鍵skserverがそれぞれ保存される。
Step S203: Next, the private key
≪鍵交換処理≫
送信端末11と受信端末12との間でグループ鍵mekの鍵交換を行うための鍵交換処理について、図9を参照しながら説明する。図9は、鍵交換処理の一例を示すシーケンス図である。
≪Key exchange process≫
The key exchange process for exchanging the group key mek between the transmitting
まず、送信端末11の暗号化鍵要求処理部111は、鍵交換補助サーバ20に暗号化鍵を要求する(ステップS301)。
First, the encryption key
鍵交換補助サーバ20の暗号鍵ペア生成処理部201は、暗号化鍵の要求を受信すると、一時秘密鍵epkserverを生成した上で、セキュリティパラメータkとハッシュ値r=H(stkserver, epkserver)とを入力としてKEM_Setup(1k, r)を実行し、暗号化鍵ekと復号鍵dkとの暗号鍵ペアを生成する(ステップS302)。なお、この暗号鍵ペアは暗号鍵ペア記憶部207に保存される。
When the encryption key pair
次に、鍵交換補助サーバ20の暗号鍵ペア生成処理部201は、上記のステップS302で生成した暗号鍵ペアのうち、暗号化鍵ekを送信端末11に送信する(ステップS303)。なお、暗号化鍵ekを受信した送信端末11は、当該暗号化鍵ekを暗号化鍵記憶部117に保存する。
Next, the encryption key pair
送信端末11のグループ鍵生成暗号化処理部112は、一時秘密鍵epkAを生成した上で、暗号化鍵ekとハッシュ値r=H(stkA, epkA)とを入力としてKEM_Encap(ek, r)を実行し、グループ鍵暗号文Capとグループ鍵mekとを生成する(ステップS304)。
The group key generation
次に、送信端末11のIDベース署名暗号化処理部113は、全ての受信端末12iのID ID1, … IDnとグループ鍵暗号文Capとハッシュ値r=H(stkA, epkA)とを入力としてIBE_Signcryption(ID1, … ,IDn, Cap, r)を実行し、暗号文cmekを生成する(ステップS305)。
Next, the ID-based signature
次に、送信端末11のIDベース署名暗号化処理部113は、上記のステップS305で生成した暗号文cmekを鍵交換補助サーバ20に送信する(ステップS306)。
Next, the ID-based signature
鍵交換補助サーバ20の暗号文分割処理部202は、暗号文cmekを受信すると、この暗号文cmekと受信端末12iのID IDiとを入力としてCiphertext_Division(cmek, IDi)を実行し、暗号文cmekを受信端末12i用に分割した暗号文cmek,iを生成する(ステップS307)。これにより、各i(i=1,・・・,n)に対して、暗号文cmekが分割された暗号文cmek,iが得られる。なお、これらの暗号文cmek,iは分割暗号文記憶部208に保存される。
Ciphertext
そして、鍵交換補助サーバ20の暗号文分割処理部202は、受信端末12iがオンラインになった場合、この受信端末12i用の暗号文cmek,iを当該受信端末12iに送信する(ステップS308)。
Then, the ciphertext
暗号文cmek,iを受信した受信端末12iの署名検証・復号処理部121は、当該暗号文cmek,iと自身のIDベース秘密鍵skiと送信端末11のID IDAと公開鍵Ppubとを入力としてIBE_Unsigncryption(cmek,i, ski, IDA, Ppub)を実行し、署名検証及び復号を行う(ステップS309)。これにより、署名が正しければ暗号文cmek,iがグループ鍵暗号文Capに復号され、そうでなければ復号に失敗したことを示す⊥が出力される。以降では、グループ鍵暗号文Capが得られたものとして説明を続ける。
The signature verification /
次に、受信端末12iのノイズ付加処理部122は、一時秘密鍵epkiを生成した上で、グループ鍵暗号文Capとハッシュ値r=H(stki, epki)とを入力としてBlind(Cap, r)を実行し、ノイズ付きグループ鍵暗号文Capblind,iとノイズ除去鍵bkiとを生成する(ステップS310)。なお、ノイズ除去鍵bkiは、ノイズ除去鍵記憶部128に保存される。
Next, the noise
次に、受信端末12iの復号依頼処理部123は、ノイズ付きグループ鍵暗号文Capblind,iの復号を鍵交換補助サーバ20に依頼する(ステップS311)。
Next, the decryption
鍵交換補助サーバ20の暗号文復号処理部203は、ノイズ付きグループ鍵暗号文Capblind,iの復号依頼を受信すると、このノイズ付きグループ鍵暗号文Capblind,iと復号鍵dkとを入力としてKEM_Decap(Capblind,i,dk)を実行し、ノイズ付きグループ鍵mekblind,iに復号する(ステップS312)。
Ciphertext decryption processing unit of the key exchange
次に、鍵交換補助サーバ20の暗号文復号処理部203は、上記のステップS312で得られたノイズ付きグループ鍵mekblind,iを当該受信端末12iに送信する(ステップS313)。
Then, the
受信端末12iのノイズ除去処理部124は、ノイズ付きグループ鍵mekblind,iを受信すると、このノイズ付きグループ鍵mekblind,iとノイズ除去鍵bkiとを入力としてUnblind(mekblind,i, bki)を実行し、ノイズを除去したグループ鍵mekを生成する(ステップS314)。これにより、受信端末12iでグループ鍵mekが得られる。なお、このグループ鍵mekはグループ鍵記憶部129に保存される。
Receiving
・応用例1
以降では、応用例1として、本実施形態に係る鍵交換システム1をグループ内でのメール送受信に応用した場合について説明する。なお、応用例1では、IDとして、メールアドレスを想定するが、これに限られず、他の任意の識別情報が用いられてもよい。
・ Application example 1
Hereinafter, as an application example 1, a case where the
<全体構成>
まず、応用例1における鍵交換システム1の全体構成について、図10を参照しながら説明する。図10は、応用例1における鍵交換システム1の全体構成の一例を示す図である。
<Overall configuration>
First, the overall configuration of the
図10に示すにように、応用例1における鍵交換システム1には、更に、メールサーバ40が含まれる。メールサーバ40は、メールの送受信(転送も含む)を行う。
As shown in FIG. 10, the
<機能構成>
次に、応用例1における鍵交換システム1に含まれるメールサーバ40の機能構成について、図11を参照しながら説明する。図11は、メールサーバ40の機能構成の一例を示す図である。
<Functional configuration>
Next, the functional configuration of the
図11に示すように、メールサーバ40は、メール送受信処理部401と、メールデータ記憶部402とを有する。メール送受信処理部401は、通信端末10から送信されたメールを受信すると共に、メールデータ記憶部402に記憶されているメールを通信端末10に送信する。メールデータ記憶部402は、通信端末10から受信したメールを記憶する。
As shown in FIG. 11, the
<メール送受信処理の流れ>
以降では、応用例1における鍵交換システム1が実行するメール送受信処理の流れについて、図12を参照しながら説明する。図12は、メール送受信処理の一例を示すシーケンス図である。
<Flow of mail transmission / reception processing>
Hereinafter, the flow of the mail transmission / reception processing executed by the
まず、鍵交換システム1は、図9に示す鍵交換処理によって送信端末11と受信端末12との間でグループ鍵の共有を行う(ステップS401)。
First, the
送信端末11は、宛先アドレスとして受信端末12iのメールアドレスが指定されたメールを作成した上で、上記のステップS401で共有されたグループ鍵を用いて当該メールを暗号化し、暗号化メールを作成する(ステップS402)。そして、送信端末11は、この暗号化メールをメールサーバ40に送信する(ステップS403)。
Transmitting
メールサーバ40のメール送受信処理部401は、暗号化メールを受信すると、この暗号化メールをメールデータ記憶部402に保存する(ステップS404)。そして、メールサーバ40のメール送受信処理部402は、例えば、受信端末12iがオンラインになった場合、メールデータ記憶部402に保存されている暗号化メールを当該受信端末12iに送信する(ステップS405)。
When the mail transmission /
受信端末12iは、メールサーバ40から暗号化メールを受信すると、上記のステップS401で共有されたグループ鍵を用いて当該暗号化メールを復号する(ステップS406)。これにより、宛先アドレスとして指定されたメールアドレスの受信端末12i以外にはメールの中身が見られることなく、メールの送受信を行うことができる。
When the receiving
・応用例2
以降では、応用例2として、本実施形態に係る鍵交換システム1をファイル共有に応用した場合について説明する。なお、応用例2は社内のファイルサーバでのファイル共有を想定し、IDとして、社員番号を想定する。ただし、IDは、これに限られず、他の任意の識別情報が用いられてもよい。
・ Application example 2
Hereinafter, as an application example 2, a case where the
<全体構成>
まず、応用例2における鍵交換システム1の全体構成について、図13を参照しながら説明する。図13は、応用例2における鍵交換システム1の全体構成の一例を示す図である。
<Overall configuration>
First, the overall configuration of the
図13に示すように、応用例2における鍵交換システム1には、更に、ファイル共有サーバ50が含まれる。ファイル共有サーバ50は、複数のユーザ間でファイルの共有を行う。
As shown in FIG. 13, the
<機能構成>
次に、応用例2における鍵交換システム1に含まれるファイル共有サーバ50の機能構成について、図14を参照しながら説明する。図14は、ファイル共有サーバ50の機能構成の一例を示す図である。
<Functional configuration>
Next, the functional configuration of the
図14に示すように、ファイル共有サーバ50は、ファイルデータ記憶部501を有する。ファイルデータ記憶部501は、通信端末10から送信(アップロード)されたファイルを記憶する。
As shown in FIG. 14, the
<ファイル共有処理の流れ>
以降では、応用例2における鍵交換システム1が実行するファイル共有処理の流れについて、図15を参照しながら説明する。図15は、ファイル共有処理の一例を示すシーケンス図である。
<Flow of file sharing process>
Hereinafter, the flow of the file sharing process executed by the
まず、鍵交換システム1は、図9に示す鍵交換処理によって送信端末11と受信端末12との間でグループ鍵の共有を行う(ステップS501)。
First, the
送信端末11は、上記のステップS501で共有されたグループ鍵を用いて、グループ内の他のユーザとの間で共有するファイル(電子ファイル)を暗号化し、暗号化ファイルを作成する(ステップS502)。そして、送信端末11は、この暗号化ファイルをファイル共有サーバ50に送信(アップロード)する(ステップS503)。これにより、ファイル共有サーバ50のファイルデータ記憶部501に当該暗号化ファイルが保存される(ステップS504)。
The transmitting
その後、受信端末12iは、ファイル共有サーバ50のファイルデータ記憶部501に保存されている暗号化ファイルをダウンロードし(ステップS505)、上記のステップS501で共有したグループ鍵を用いて当該暗号化ファイルを復号する(ステップS506)。これにより、同一グループのユーザの通信端末10以外にはファイルの中身が見られることなく、ファイル共有を行うことができる。
Thereafter, the receiving
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。 The present invention is not limited to the above-described embodiment disclosed in detail, and various modifications and modifications, combinations with known techniques, and the like are possible without departing from the scope of claims.
1 鍵交換システム
10 通信端末
11 送信端末
12 受信端末
20 鍵交換補助サーバ
30 秘密鍵生成サーバ
111 暗号化鍵要求処理部
112 グループ鍵生成暗号化処理部
113 IDベース署名暗号化処理部
114 長期秘密鍵記憶部
115 公開情報記憶部
116 IDベース秘密鍵記憶部
117 暗号化鍵記憶部
118 グループ鍵記憶部
121 署名検証・復号処理部
122 ノイズ付加処理部
123 復号依頼処理部
124 ノイズ除去処理部
125 長期秘密鍵記憶部
126 公開情報記憶部
127 IDベース秘密鍵記憶部
128 ノイズ除去鍵記憶部
129 グループ鍵記憶部
201 暗号鍵ペア生成処理部
202 暗号文分割処理部
203 暗号文復号処理部
204 長期秘密鍵記憶部
205 公開情報記憶部
206 IDベース秘密鍵記憶部
207 暗号鍵ペア記憶部
208 分割暗号文記憶部
209 紐付けリスト記憶部
301 秘密鍵生成処理部
302 公開情報記憶部
303 マスター秘密鍵記憶部
304 紐付けリスト記憶部
N 通信ネットワーク
1
Claims (8)
前記第1の端末は、
前記補助サーバで生成された暗号化鍵で前記グループ鍵を暗号化した暗号化グループ鍵を生成した後、前記1以上の第2の端末の識別情報を用いて前記暗号化グループ鍵をIDベース暗号により暗号化した第1の暗号文を生成する暗号化手段と、
前記第1の暗号文を前記補助サーバに送信する第1の送信手段と、を有し、
前記補助サーバは、
前記第1の端末から受信した第1の暗号文を、前記1以上の第2の端末毎に分割した分割暗号文を生成する分割手段と、
前記1以上の第2の端末のうち、オンラインの第2の端末に対して、該第2の端末に対応する分割暗号文を送信する第2の送信手段と、
前記第2の端末からの復号依頼に応じて、該第2の端末から受信した第2の暗号文を、前記暗号化鍵に対応する復号鍵で復号する第1の復号手段と、
前記第1の復号手段で復号された情報を前記第2の端末に送信する第3の送信手段と、を有し、
前記第2の端末は、
前記補助サーバから受信した分割暗号文を、前記第2の端末の識別情報に対応するユーザ秘密鍵により前記暗号化グループ鍵に復号する第2の復号手段と、
前記暗号化グループ鍵に対してノイズを付加したノイズ付き暗号化グループ鍵を生成するノイズ付加手段と、
前記ノイズ付き暗号化グループ鍵の復号依頼を前記補助サーバに依頼する依頼手段と、
を有することを特徴とする鍵交換システム。 A first terminal, one or more second terminals belonging to the same group as the first terminal, and an auxiliary server that assists the exchange of group keys between the first terminal and the second terminal. Is a key exchange system that includes
The first terminal is
After generating an encryption group key in which the group key is encrypted with the encryption key generated by the auxiliary server, the encryption group key is ID-based encrypted using the identification information of the one or more second terminals. An encryption means that generates the first cipher statement encrypted by
It has a first transmission means for transmitting the first ciphertext to the auxiliary server, and has.
The auxiliary server
A dividing means for generating a divided ciphertext in which the first ciphertext received from the first terminal is divided for each of the one or more second terminals.
A second transmission means for transmitting a divided ciphertext corresponding to the second terminal to the online second terminal among the one or more second terminals.
A first decryption means for decrypting a second ciphertext received from the second terminal with a decryption key corresponding to the encryption key in response to a decryption request from the second terminal.
It has a third transmission means for transmitting the information decoded by the first decoding means to the second terminal.
The second terminal is
A second decryption means for decrypting the divided ciphertext received from the auxiliary server into the encryption group key with the user private key corresponding to the identification information of the second terminal.
A noise addition means for generating a noise-added encryption group key in which noise is added to the encryption group key, and
A requesting means for requesting the auxiliary server to decrypt the encrypted group key with noise, and
A key exchange system characterized by having.
前記第1の復号手段は、
前記第2の端末から受信した前記ノイズ付き暗号化グループ鍵を、前記暗号化鍵に対応する復号鍵によりノイズ付きグループ鍵に復号し、
前記第3の送信手段は、
前記ノイズ付きグループ鍵を前記第2の端末に送信し、
前記第2の端末は、
前記ノイズ付きグループ鍵を前記補助サーバから受信すると、前記ノイズ付加手段で前記暗号化グループ鍵に付加したノイズを除去するためのノイズ除去鍵により前記ノイズ付きグループ鍵からノイズを除去するノイズ除去手段を有する、ことを特徴とする請求項1に記載の鍵交換システム。 The second ciphertext is the noise-encrypted encryption group key.
The first decoding means is
The noise-added encryption group key received from the second terminal is decrypted into a noise-containing group key by the decryption key corresponding to the encryption key.
The third transmission means is
The noise-added group key is transmitted to the second terminal,
The second terminal is
When the noise-added group key is received from the auxiliary server, the noise-removing means for removing noise from the noise-added group key by the noise-removing key for removing the noise added to the encrypted group key by the noise-adding means is provided. The key exchange system according to claim 1, wherein the key exchange system is provided.
前記第1の端末の長期秘密鍵と一時秘密鍵とから生成された第1の乱数と、前記暗号化鍵とを用いて前記暗号化グループ鍵を生成した後、前記第1の乱数と前記1以上の第2の端末の識別情報とを用いて前記第1の暗号文を生成する、ことを特徴とする請求項1又は2に記載の鍵交換システム。 The encryption means is
After generating the encryption group key using the first random number generated from the long-term secret key and the temporary secret key of the first terminal and the encryption key, the first random number and the 1 The key exchange system according to claim 1 or 2, wherein the first ciphertext is generated by using the identification information of the second terminal.
前記第2の端末の長期秘密鍵と一時秘密鍵とから生成された第2の乱数を用いて前記ノイズ付き暗号化グループ鍵を生成する、ことを特徴とする請求項1乃至3の何れか一項に記載の鍵交換システム。 The noise adding means is
Any one of claims 1 to 3, wherein the encrypted group key with noise is generated by using the second random number generated from the long-term secret key and the temporary secret key of the second terminal. The key exchange system described in the section.
前記補助サーバの長期秘密鍵と一時秘密鍵とから生成された第2の乱数を用いて前記暗号化鍵と前記復号鍵とを生成する鍵生成手段を有する、ことを特徴とする請求項1乃至4の何れか一項に記載の鍵交換システム。 The auxiliary server
Claims 1 to 1, further comprising a key generation means for generating the encryption key and the decryption key using a second random number generated from the long-term private key and the temporary private key of the auxiliary server. The key exchange system according to any one of 4.
前記第1の端末からの要求に応じて、前記情報処理装置の長期秘密鍵と一時秘密鍵とから生成された乱数を用いて暗号化鍵と復号鍵とを生成し、前記暗号化鍵を前記第1の端末に送信する鍵生成手段と、
前記暗号化鍵による暗号化とIDベース暗号による暗号化とが行なわれたグループ鍵の第1の暗号文を前記第1の端末から受信すると、前記第1の暗号文を、前記1以上の第2の端末毎に分割した分割暗号文を生成する分割手段と、
前記1以上の第2の端末のうち、オンラインの第2の端末に対して、該第2の端末に対応する分割暗号文を送信する第1の送信手段と、
前記第2の端末からの復号依頼に応じて、該第2の端末から受信したノイズ付きの第2の暗号文を、前記復号鍵で復号する復号手段と、
前記復号手段の復号結果として得られたノイズ付きの情報を前記第2の端末に送信する第2の送信手段と、
を有することを特徴とする情報処理装置。 An information processing device that assists in the exchange of group keys between a first terminal and one or more second terminals belonging to the same group as the first terminal.
In response to the request from the first terminal, an encryption key and a decryption key are generated using random numbers generated from the long-term secret key and the temporary secret key of the information processing device, and the encryption key is used as described above. A key generation means to be transmitted to the first terminal,
When the first ciphertext of the group key encrypted by the encryption key and the encryption by the ID-based encryption is received from the first terminal, the first ciphertext is transmitted to the first or more first ciphertext. A division means for generating a division ciphertext divided for each of the two terminals,
A first transmission means for transmitting a divided ciphertext corresponding to the second terminal to the online second terminal among the one or more second terminals.
In response to the decryption request from the second terminal, the decryption means for decrypting the noisy second ciphertext received from the second terminal with the decryption key.
A second transmission means for transmitting noise-added information obtained as a decoding result of the decoding means to the second terminal, and a second transmission means.
An information processing device characterized by having.
前記第1の端末が、
前記補助サーバで生成された暗号化鍵で前記グループ鍵を暗号化した暗号化グループ鍵を生成した後、前記1以上の第2の端末の識別情報を用いて前記暗号化グループ鍵をIDベース暗号により暗号化した第1の暗号文を生成する暗号化手順と、
前記第1の暗号文を前記補助サーバに送信する第1の送信手順と、を実行し、
前記補助サーバが、
前記第1の端末から受信した第1の暗号文を、前記1以上の第2の端末毎に分割した分割暗号文を生成する分割手順と、
前記1以上の第2の端末のうち、オンラインの第2の端末に対して、該第2の端末に対応する分割暗号文を送信する第2の送信手順と、
前記第2の端末からの復号依頼に応じて、該第2の端末から受信した第2の暗号文を、前記暗号化鍵に対応する復号鍵で復号する第1の復号手順と、
前記第1の復号手順で復号された情報を前記第2の端末に送信する第3の送信手順と、を実行し、
前記第2の端末が、
前記補助サーバから受信した分割暗号文を、前記第2の端末の識別情報に対応するユーザ秘密鍵により前記暗号化グループ鍵に復号する第2の復号手順と、
前記暗号化グループ鍵に対してノイズを付加したノイズ付き暗号化グループ鍵を生成するノイズ付加手順と、
前記ノイズ付き暗号化グループ鍵の復号依頼を前記補助サーバに依頼する依頼手順と、
を実行することを特徴とする鍵交換方法。 A first terminal, one or more second terminals belonging to the same group as the first terminal, and an auxiliary server that assists the exchange of group keys between the first terminal and the second terminal. Is a key exchange method in a key exchange system that includes
The first terminal is
After generating an encryption group key in which the group key is encrypted with the encryption key generated by the auxiliary server, the encryption group key is ID-based encrypted using the identification information of the one or more second terminals. And the encryption procedure to generate the first cipher statement encrypted by
The first transmission procedure of transmitting the first ciphertext to the auxiliary server is executed.
The auxiliary server
A division procedure for generating a divided ciphertext in which the first ciphertext received from the first terminal is divided for each of the one or more second terminals, and a division procedure.
A second transmission procedure for transmitting a split ciphertext corresponding to the second terminal to the online second terminal among the one or more second terminals, and a second transmission procedure.
A first decryption procedure for decrypting a second ciphertext received from the second terminal with a decryption key corresponding to the encryption key in response to a decryption request from the second terminal.
The third transmission procedure of transmitting the information decoded by the first decoding procedure to the second terminal is executed.
The second terminal
A second decryption procedure for decrypting the divided ciphertext received from the auxiliary server into the encryption group key with the user private key corresponding to the identification information of the second terminal.
A noise addition procedure for generating a noise-added encryption group key in which noise is added to the encryption group key, and
The request procedure for requesting the auxiliary server to decrypt the encrypted group key with noise, and
A key exchange method characterized by performing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019224252A JP7254296B2 (en) | 2019-12-12 | 2019-12-12 | Key exchange system, information processing device, key exchange method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019224252A JP7254296B2 (en) | 2019-12-12 | 2019-12-12 | Key exchange system, information processing device, key exchange method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021093665A true JP2021093665A (en) | 2021-06-17 |
JP7254296B2 JP7254296B2 (en) | 2023-04-10 |
Family
ID=76310841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019224252A Active JP7254296B2 (en) | 2019-12-12 | 2019-12-12 | Key exchange system, information processing device, key exchange method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7254296B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010200210A (en) * | 2009-02-27 | 2010-09-09 | Mitsubishi Electric Corp | Key management device, key utilization system, key operation system, key management method, and key management program |
US20140169556A1 (en) * | 2012-12-18 | 2014-06-19 | Empire Technology Development Llc | Schemes for signcryption |
JP2015144495A (en) * | 2001-08-13 | 2015-08-06 | ザ ボード オブ トラスティーズ オブ ザ レランド スタンフォード ジュニア ユニバーシティー | System and method for id-based encryption and related cryptographic technique |
JP2019047390A (en) * | 2017-09-05 | 2019-03-22 | 日本電信電話株式会社 | Anonymous broadcast method, key exchange method, anonymous broadcast system, key exchange system, communication device, and program |
-
2019
- 2019-12-12 JP JP2019224252A patent/JP7254296B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015144495A (en) * | 2001-08-13 | 2015-08-06 | ザ ボード オブ トラスティーズ オブ ザ レランド スタンフォード ジュニア ユニバーシティー | System and method for id-based encryption and related cryptographic technique |
JP2010200210A (en) * | 2009-02-27 | 2010-09-09 | Mitsubishi Electric Corp | Key management device, key utilization system, key operation system, key management method, and key management program |
US20140169556A1 (en) * | 2012-12-18 | 2014-06-19 | Empire Technology Development Llc | Schemes for signcryption |
JP2019047390A (en) * | 2017-09-05 | 2019-03-22 | 日本電信電話株式会社 | Anonymous broadcast method, key exchange method, anonymous broadcast system, key exchange system, communication device, and program |
Non-Patent Citations (1)
Title |
---|
LI, F. ET AL.: "A new multi-receiver ID-based signcryption scheme for group communications", 2009 INTERNATIONAL CONFERENCE ON COMMUNICATIONS, CIRCUITS AND SYSTEMS, JPN6023009874, 23 July 2009 (2009-07-23), US, pages 296 - 300, XP031528919, ISSN: 0005011686, DOI: 10.1109/ICCCAS.2009.5250510 * |
Also Published As
Publication number | Publication date |
---|---|
JP7254296B2 (en) | 2023-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4802274B2 (en) | How to send and receive messages | |
US20110145576A1 (en) | Secure method of data transmission and encryption and decryption system allowing such transmission | |
JP6363032B2 (en) | Key change direction control system and key change direction control method | |
US20180227278A1 (en) | Communication of Messages Over Networks | |
JP6556955B2 (en) | Communication terminal, server device, program | |
Son et al. | Conditional proxy re-encryption for secure big data group sharing in cloud environment | |
Reshma et al. | Pairing-free CP-ABE based cryptography combined with steganography for multimedia applications | |
US9832179B2 (en) | Stateless server-based encryption associated with a distribution list | |
JP2019102970A (en) | Data sharing server device, key generation server device, communication terminal, and program | |
CN112637230B (en) | Instant messaging method and system | |
JP5512559B2 (en) | ENCRYPTION DEVICE, DECRYPTION DEVICE, ENCRYPTION SYSTEM, ENCRYPTION METHOD, PROGRAM | |
JP7125857B2 (en) | Encryption system, encryption device, decryption device, encryption method, decryption method, and program | |
JP6840685B2 (en) | Data sharing method, data sharing system, communication terminal, data sharing server, program | |
JP2006227411A (en) | Communications system, encryption device, key generator, key generating method, restoration device, communication method, encryption method, and cryptography restoration method | |
WO2022239129A1 (en) | Key exchange system, device, key exchange method, and program | |
JP7254296B2 (en) | Key exchange system, information processing device, key exchange method and program | |
JP6908128B2 (en) | Data sharing method, data sharing system, data sharing server, communication terminal, program | |
CN110321722B (en) | DNA sequence similarity safe calculation method and system | |
CN113918971A (en) | Block chain based message transmission method, device, equipment and readable storage medium | |
JP5643251B2 (en) | Confidential information notification system, confidential information notification method, program | |
JP7292648B2 (en) | Key exchange system, information processing device, key exchange method and program | |
JP2021019223A (en) | Key exchange system, communication apparatus, key exchange method, and program | |
JP7097581B2 (en) | Communication systems, server devices, communication methods, and programs | |
CN115361222B (en) | Communication processing method, device and system | |
JP3953235B2 (en) | Cryptographic communication method and cryptographic communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20191216 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20191216 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220426 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230228 |
|
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: 20230314 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230320 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7254296 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |