JP2019125956A - Key exchange method, key exchange system, key exchange server device, communication device, and program - Google Patents
Key exchange method, key exchange system, key exchange server device, communication device, and program Download PDFInfo
- Publication number
- JP2019125956A JP2019125956A JP2018006108A JP2018006108A JP2019125956A JP 2019125956 A JP2019125956 A JP 2019125956A JP 2018006108 A JP2018006108 A JP 2018006108A JP 2018006108 A JP2018006108 A JP 2018006108A JP 2019125956 A JP2019125956 A JP 2019125956A
- Authority
- JP
- Japan
- Prior art keywords
- key
- authentication
- communication device
- generates
- sid
- 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
Images
Abstract
Description
本発明は情報セキュリティ技術の応用に関し、特にグループを形成する複数の通信装置が暗号鍵を共有する鍵交換技術に関する。 The present invention relates to the application of information security technology, and more particularly to key exchange technology in which a plurality of communication devices forming a group share an encryption key.
現在、チャットアプリケーションの中には、その通信内容をエンドツーエンド暗号化するものがある。エンドツーエンド暗号化により、ユーザはチャットアプリケーションサーバに通信内容を知られることなくチャットを行うことができる。 Currently, some chat applications end-to-end encrypt their communication content. End-to-end encryption allows the user to chat with the chat application server without knowing the communication content.
多人数のユーザが参加するグループチャットでは、グループに通信装置が新たに参加する、グループから既存の通信装置が離脱する等、参加している通信装置が動的に変わる場合がある。このような場合でも、エンドツーエンド暗号化に使用する鍵(以下、暗号鍵という)の交換を効率的に行えるプロトコルとして動的多者間鍵交換プロトコル(DMKD(Dynamic Multi-Cast Key Distribution)プロトコル)が存在する。代表的なDMKDプロトコルとして、Y16プロトコルと呼ばれるものがある(非特許文献1)。 In a group chat in which a large number of users participate, there are cases where a participating communication device changes dynamically, such as a communication device newly joining the group or an existing communication device leaving the group. Even in such a case, the Dynamic Multi-Cast Key Distribution (DMKD) protocol is used as a protocol that can efficiently exchange keys used for end-to-end encryption (hereinafter referred to as encryption keys). ) Exists. As a representative DMKD protocol, there is one called Y16 protocol (Non-Patent Document 1).
DMKDプロトコルは、以下の特徴を有する。
(1)ネットワーク構成は、鍵交換サーバ装置を中心としたスター型である。
(2)鍵交換システムは、鍵交換サーバ装置と通信装置から構成される。鍵交換サーバ装置と通信装置は、それぞれ鍵交換に際して長期間使用する秘密鍵(以下、長期秘密鍵という)と1回の鍵交換にのみ使用する秘密鍵(以下、短期秘密鍵という)を保持する。鍵交換の結果、通信装置は暗号鍵を取得することできるが、鍵交換サーバ装置は暗号鍵を取得することができない。
(3)DMKDプロトコルには、基本となる3つのフェーズ{Dist, Join, Leave}がある。これらのフェーズを実行することをセッションと呼ぶ。Dist(鍵配送)フェーズでは、新しいグループが生成され、グループに参加する通信装置間で暗号鍵の交換が行われる。Join(追加)フェーズでは、既存のグループに新たな通信装置が加わり、当該グループで鍵交換が行われる。Leave(離脱)フェーズでは、既存のグループから参加済みの通信装置が離脱し、当該グループで鍵交換が行われる。
(4)DMKDプロトコルには、タイムフレーム(TF)と呼ばれる所定の期間が定められており、当該所定の期間が経過し、次のタイムフレームTFに変わると、再度グループで鍵交換が行われる。この暗号鍵を更新するフェーズをUpdate(更新)フェーズという。
The DMKD protocol has the following features.
(1) The network configuration is a star type centering on the key exchange server device.
(2) The key exchange system comprises a key exchange server device and a communication device. The key exchange server device and the communication device respectively hold a secret key (hereinafter referred to as long-term secret key) used for long-term key exchange and a secret key (hereinafter referred to as short-term secret key) used only for one key exchange. . As a result of key exchange, the communication device can acquire the encryption key, but the key exchange server can not acquire the encryption key.
(3) The DMKD protocol has three basic phases {Dist, Join, Leave}. Performing these phases is called a session. In the Dist (key distribution) phase, a new group is generated, and exchange of encryption keys is performed between communication devices participating in the group. In the Join phase, a new communication device is added to the existing group, and key exchange is performed in the group. In the Leave phase, the communication devices that have joined from the existing group leave, and key exchange is performed in the group.
(4) In the DMKD protocol, a predetermined period called a time frame (TF) is defined, and when the predetermined period elapses and it changes to the next time frame TF, key exchange is performed again in the group. The phase for updating this encryption key is called the update phase.
鍵交換サーバ装置への不正アクセスによる情報漏洩、通信装置のマルウェア感染による情報漏洩のように、秘密鍵が漏洩する危険性は依然存在している。DMKDプロトコルでは鍵交換サーバ装置や通信装置が長期秘密鍵を安全に保持する必要があるが、保持期間が長期に及ぶがゆえ、上記リスクにより長期秘密鍵が漏洩してしまう可能性がある。 There is still a risk that the secret key may be leaked, such as information leakage due to unauthorized access to the key exchange server device, and information leakage due to malware infection of the communication device. In the DMKD protocol, the key exchange server device and the communication device need to securely hold the long-term secret key, but since the holding period is long, the long-term secret key may be leaked due to the above-mentioned risk.
秘密鍵の漏洩に対しては、当該鍵を失効させ、新たな鍵を再発行するという対策を取り得る。しかし、不正アクセスやマルウェア感染の例では、秘密鍵の漏洩にサーバ管理者やユーザが気づかず、秘密鍵が漏洩している状態が長きに渡り続く場合もある。したがって、たとえ、秘密鍵が漏洩した状態になったとしても、通信装置間の通信の安全性が確保されることが重要になる。 For the leak of the secret key, it is possible to take measures to invalidate the key and reissue a new key. However, in the case of unauthorized access or malware infection, the server administrator or the user may not be aware that the secret key is leaked, and the secret key may be leaked for a long time. Therefore, even if the private key is leaked, it is important that the security of communication between the communication devices be ensured.
DMKDプロトコルでは、鍵交換サーバ装置や通信装置は、自身が保持する長期秘密鍵を用いて鍵交換時のユーザ認証やサーバ認証に必要な鍵(以下、認証鍵という)を共有する。この認証鍵を攻撃者が取得してしまうと、攻撃者は正当な利用者になりすまして鍵交換に参加することができる。したがって、長期秘密鍵が攻撃者に取得されてしまうと、攻撃者は認証鍵を得ることができ、認証鍵を使って鍵交換に加わり、暗号鍵を取得できてしまう。暗号鍵が取得されてしまうと、例えばチャットアプリケーションでの暗号化されたチャット内容が攻撃者に知られてしまう。 In the DMKD protocol, the key exchange server apparatus and the communication apparatus share a key (hereinafter referred to as an authentication key) necessary for user authentication and server authentication at the time of key exchange, using the long-term secret key held by itself. When the attacker obtains this authentication key, the attacker can impersonate a valid user and participate in key exchange. Therefore, when the long-term secret key is obtained by the attacker, the attacker can obtain the authentication key, and can participate in key exchange using the authentication key and can obtain the encryption key. Once the encryption key is obtained, for example, the encrypted chat contents in the chat application are known to the attacker.
以下、具体例としてY16プロトコルでの攻撃について説明する。Y16プロトコルでは、タイムフレームTFが変わるごとに、鍵交換サーバ装置が公開鍵暗号の一種である属性ベース暗号アルゴリズムにおけるユーザの属性秘密鍵(鍵交換サーバ装置の長期秘密鍵から生成される鍵)とメッセージ認証子アルゴリズムにおけるMAC鍵を生成し、通信装置の公開鍵暗号アルゴリズムにおける公開鍵を用いて、属性秘密鍵とMAC鍵を暗号化して当該通信装置に送信する。Y16プロトコルでは、ユーザの属性秘密鍵とMAC鍵が認証鍵に相当する。 Hereinafter, an attack by the Y16 protocol will be described as a specific example. In the Y16 protocol, whenever the time frame TF changes, the key exchange server device is a kind of public key encryption, and the user's attribute secret key (key generated from the long-term secret key of the key exchange server device) in the attribute-based encryption algorithm The MAC key in the message authentication coder algorithm is generated, and the attribute secret key and the MAC key are encrypted and transmitted to the communication device using the public key in the public key encryption algorithm of the communication device. In the Y16 protocol, the attribute private key of the user and the MAC key correspond to the authentication key.
暗号化された属性秘密鍵とMAC鍵を受信した通信装置は、公開鍵暗号アルゴリズムにおける秘密鍵(通信装置の長期秘密鍵に相当する鍵)を用いて、属性秘密鍵とMAC鍵を取得し、暗号鍵を生成するのに必要な情報を取得したり、鍵交換サーバ装置に送信する情報に認証タグを付加したりする。 The communication device having received the encrypted attribute secret key and the MAC key acquires the attribute secret key and the MAC key using the secret key in the public key encryption algorithm (a key corresponding to the long-term secret key of the communication device), Information required to generate an encryption key is acquired, or an authentication tag is added to information to be transmitted to the key exchange server apparatus.
鍵交換サーバ装置は、認証タグにより通信装置を認証する。したがって、通信装置の長期秘密鍵が攻撃者に取得されれば、MAC鍵が取得できるため、攻撃者は正当なユーザになりすまして鍵交換に参加できてしまう。これにより、攻撃者は暗号鍵を取得できるため、暗号化されたチャット内容を見ることができてしまう。 The key exchange server device authenticates the communication device by the authentication tag. Therefore, if the attacker can obtain the MAC key if the long-term secret key of the communication device is acquired, the attacker can spoof the legitimate user and participate in the key exchange. As a result, the attacker can obtain the encryption key and can view the encrypted chat contents.
一方、通信装置は、正しい属性秘密鍵を生成できるか否かにより鍵交換サーバ装置を認証する。したがって、鍵交換サーバ装置の長期秘密鍵が攻撃者に取得されれば、ユーザの属性秘密鍵が作成できるため、攻撃者は鍵交換サーバ装置になりすますことができる。鍵交換サーバ装置は交換対象となる暗号鍵を直接知ることはできないが、鍵交換サーバ装置はグループに参加する通信装置を決定することができるため、攻撃者が利用する通信装置をグループに参加させることができる。これにより、攻撃者は暗号鍵を知ることができるため、暗号化されたチャット内容を見ることができてしまう。 On the other hand, the communication device authenticates the key exchange server device based on whether or not the correct attribute private key can be generated. Therefore, if the long-term secret key of the key exchange server device is acquired by the attacker, the attribute private key of the user can be created, so that the attacker can impersonate the key exchange server device. Although the key exchange server can not directly know the encryption key to be exchanged, the key exchange server can determine the communication device to join the group, so the communication device used by the attacker joins the group be able to. As a result, the attacker can know the encryption key and can view the encrypted chat contents.
そこで本発明では、長期秘密鍵が漏洩したとしても、暗号鍵を取得することができない鍵交換技術を提供することを目的とする。 Therefore, an object of the present invention is to provide a key exchange technology which can not acquire an encryption key even if a long-term secret key is leaked.
本発明の一態様は、nを2以上の整数、α, βを次式で定義される値とし、 In one aspect of the present invention, n is an integer of 2 or more, and α and β are values defined by the following formula,
鍵交換サーバ装置Sとn台の通信装置Ui(i=1, …, n)を含む鍵交換システムが実行する鍵交換方法であって、U1を前記通信装置U1, …, Unから選択された1台の代表通信装置、timeoを現在時刻、IDを通信装置を表す述語変数、TFmをタイムフレームを表す述語変数とし、前記鍵交換サーバ装置Sの記録部には、長期秘密鍵SSKs=(msk, stS, st'S)(ただし、mskは属性ベース暗号のマスター秘密鍵、stS、st'Sはそれぞれ秘密ストリング)が記録されており、前記通信装置Ui(i=1, …, n)の記録部には、長期秘密鍵SSKi=(ski, sti, st'i)(ただし、skiは前記通信装置Uiの公開鍵暗号の秘密鍵、sti、st'iはそれぞれ秘密ストリング)が記録されており、前記鍵交換サーバ装置Sが、i=1, …, nについて、属性をAi=(Ui, timeo)として、属性ベース暗号の鍵導出アルゴリズムにより、属性ベース暗号の公開パラメータParamsと前記マスター秘密鍵mskを用いて、前記通信装置Uiの属性秘密鍵uskiを生成し、メッセージ認証子の鍵生成アルゴリズムにより、前記通信装置UiのMAC鍵mki 0を認証鍵として生成し、公開鍵暗号の暗号化アルゴリズムにより、前記通信装置Uiの長期公開鍵SPKi=pki(ただし、pkiは前記通信装置Uiの公開鍵暗号の公開鍵)を用いて、前記属性秘密鍵uskiおよび前記認証鍵mki 0を暗号化し、暗号文CTiを生成し、前記暗号文CTiを前記通信装置Ui(i∈{1, …, n})へ送信する認証鍵生成ステップと、前記通信装置Ui(i=1, …, n)が、公開鍵暗号の復号アルゴリズムにより、前記秘密鍵skiを用いて、前記暗号文CTiを復号し、前記属性秘密鍵uskiと前記認証鍵mki 0を取得する認証鍵受信ステップと、前記通信装置Ui(i=1, …, n)が、ねじれ擬似ランダム関数により前記秘密ストリングsti, st'iを用いてri, ki, siを生成し、第1鍵Ri=gr_iおよびci=gk_ihs_iを生成し、メッセージ認証子のタグ生成アルゴリズムにより、前記認証鍵mki 0を用いて、前記Ri, ciから認証タグti 1を生成し、(Ri, ci, ti 1)を前記鍵交換サーバ装置Sへ送信する第1鍵生成ステップと、前記鍵交換サーバ装置Sが、i=1, …, nについて、メッセージ認証子の検証アルゴリズムにより、前記認証鍵mki 0と前記Ri, ciを用いて、前記認証タグti 1を検証する第1鍵受信ステップと、前記鍵交換サーバ装置Sが、衝突困難ハッシュ関数により、前記c1, …, cnを用いてセッションID sidを生成し、i=1, …, nについて、メッセージ認証子のタグ生成アルゴリズムにより、前記認証鍵mki 0を用いて、前記sid, Rα, Rβから認証タグti 2を生成し、(sid, Rα, Rβ, ti 2)を前記通信装置Ui(i∈{1, …, n})へ送信するセッションID生成ステップと、前記通信装置Ui(i∈{2, …, n})が、メッセージ認証子の検証アルゴリズムにより、前記認証鍵mki 0と前記sid, Rα, Rβを用いて、前記認証タグti 2を検証し、前記認証タグti 2が正当である場合、擬似ランダム関数により前記sid, Rα r_iを用いてKi lを生成し、擬似ランダム関数により前記sid, Rβ r_iを用いてKi rを生成し、前記Ki lと前記Ki rとの排他的論理和により第2鍵Tiを生成し、前記代表通信装置U1が、メッセージ認証子の検証アルゴリズムにより、前記認証鍵mk1 0と前記sid, Rn, R2を用いて、前記認証タグt1 2を検証し、前記認証タグt1 2が正当である場合、擬似ランダム関数により前記sid, Rn r_1を用いてK1 lを生成し、擬似ランダム関数により前記sid, R2 r_1を用いてK1 rを生成し、前記K1 lと前記K1 rとの排他的論理和により第2鍵T1を生成し、前記K1 lとk1||s1との排他的論理和によりT'を生成する第2鍵生成ステップと、前記通信装置Ui(i∈{2, …, n})が、メッセージ認証子のタグ生成アルゴリズムにより、前記認証鍵mki 0を用いて、前記Ri, ci, Rα, Rβ, ki, si, Ti, Ui, sidから認証タグti 3を生成し、(ki, si, Ti, ti 3)を前記鍵交換サーバ装置Sへ送信し、前記代表通信装置U1が、メッセージ認証子のタグ生成アルゴリズムにより、前記認証鍵mk1 0を用いて、前記R1, c1, Rn, R2, T1, T', U1, sidから認証タグt1 3を生成し、(T1, T', t1 3)を前記鍵交換サーバ装置Sへ送信する第2鍵送信ステップと、前記鍵交換サーバ装置Sが、i=2, …, nについて、メッセージ認証子の検証アルゴリズムにより、前記認証鍵mki 0と前記Ri, ci, Rα, Rβ, ki, si, Ti, Ui, sidを用いて、前記認証タグti 3を検証し、i=1について、メッセージ認証子の検証アルゴリズムにより、前記認証鍵mk1 0と前記R1, c1, Rn, R2, T1, T', U1, sidを用いて、前記認証タグt1 3を検証する第2鍵受信ステップと、前記鍵交換サーバ装置Sが、ねじれ擬似ランダム関数により、前記秘密ストリングstS, st'Sを用いて、kS, 第1共通鍵K1を生成し、前記k2, …, kn, ksの排他的論理和により、k'を生成し、i=2, …, nについて、前記T1, …, Ti-1の排他的論理和により、T'iを生成し、i=1, …, nについて、条件Pi=(ID=Ui)∧(timeo∈TFm)として、属性ベース暗号の暗号化アルゴリズムにより、前記公開パラメータParamsを用いて、前記第1共通鍵K1を暗号化して、暗号文CT'iを生成する第1共通鍵生成ステップと、前記鍵交換サーバ装置Sが、i=2, …, nについて、メッセージ認証子のタグ生成アルゴリズムにより、前記認証鍵mki 0を用いて、前記Ri, ci, Rα, Rβ, ki, si, Ti, Ui, sid, c1, k', T'i, T', CT'iから認証タグti 4を生成し、(c1, k', T'i, T', CT'i, ti 4)を前記通信装置Uiへ送信し、i=1について、メッセージ認証子のタグ生成アルゴリズムにより、前記認証鍵mk1 0を用いて、前記R1, c1, Rn, R2, T1, T', U1, sid, k', CT'1から認証タグt1 4を生成し、(k', CT'1, t1 4)を前記代表通信装置U1へ送信する第1共通鍵送信ステップと、認証鍵更新情報μi(i=1, …, n)を前記鍵交換サーバ装置Sと前記通信装置Uiの間で既に共有されている情報であるとし、前記鍵交換サーバ装置Sが、i=1, …, nについて、鍵導出関数により、前記認証鍵mki 0と前記認証鍵更新情報μi、または、前記認証鍵mki 0から新しい認証鍵mki 1を生成する認証鍵更新ステップと、前記通信装置Ui(i∈{2, …, n})が、メッセージ認証子の検証アルゴリズムにより、前記認証鍵mki 0と前記Ri, ci, Rα, Rβ, ki, si, Ti, Ui, sid, c1, k', T'i, T', CT'iを用いて、前記認証タグti 4を検証し、前記認証タグti 4が正当である場合、前記T'iと前記Ki lとの排他的論理和によりK1 lを生成し、前記T'と前記K1 lとの排他的論理和によりk1||s1を生成し、属性ベース暗号の復号アルゴリズムにより、前記属性秘密鍵uskiを用いて、前記暗号文CT'iから第1共通鍵K1を復号し、前記代表通信装置U1が、メッセージ認証子の検証アルゴリズムにより、前記認証鍵mk1 0と前記R1, c1, Rn, R2, T1, T', U1, sid, k', CT'1を用いて、前記認証タグt1 4を検証し、前記認証タグti 4が正当である場合、属性ベース暗号の復号アルゴリズムにより、前記属性秘密鍵uskiを用いて、前記暗号文CT'1から第1共通鍵K1を復号する第1共通鍵受信ステップと、前記通信装置Ui(i∈{1, …, n})が、擬似ランダム関数により前記セッションID sidおよび前記k'と前記k1との排他的論理和を用いて生成した値により、第2共通鍵K2を生成し、擬似ランダム関数により前記sid, K1を用いて生成した値と疑似ランダム関数により前記sid, K2を用いて生成した値の排他的論理和により、セッション鍵SKを生成するセッション鍵生成ステップと、前記通信装置Ui(i∈{1, …, n})が、鍵導出関数により、前記認証鍵mki 0と前記認証鍵更新情報μi、または、前記認証鍵mki 0から新しい認証鍵mki 1を生成する認証鍵更新ステップとを含む。
A key exchange method performed by a key exchange system including a key exchange server apparatus S and n communication apparatuses U i (i = 1,..., N), wherein U 1 is the communication apparatus U 1 ,. The representative unit selected from among the above, where time o is the current time, ID is a predicate variable representing the communication device, TF m is a predicate variable representing a time frame, and the recording unit of the key exchange server apparatus S A secret key SSK s = (msk, st S , st ' S ) (where, msk is a master secret key of attribute-based encryption, st S and st' S are secret strings respectively), and the communication device U i is recorded (i = 1, ..., n ) to the recording portion of the long-term secret key SSK i = (sk i, st i, st 'i) ( provided that, sk i is the private key of the public key encryption of the communication device U i , St i , st ′ i are each a secret string), and the key exchange server apparatus S has an attribute as i i = (U i , time o ) for i = 1,. Key Derivation Algorithm of Base Cipher Accordingly, the public parameter Params attribute-based encryption using the master secret key msk, generates attribute secret key usk i of the communication device U i, by the key generation algorithm of the message authentication codes, said communication device U i MAC generates key mk i 0 as the authentication key, the encryption algorithm of the public key encryption, the long-term public key SPK i = pk i of the communication device U i (however, pk i is the public key encryption of the communication device U i public key) by using the attribute secret key usk i and the authentication key mk i 0 encrypting to generate a ciphertext CT i, the ciphertext CT i said communication device U i (i∈ {1, ... , an authentication key generating step of transmitting to the n}), the communication device U i (i = 1, ... , n) is the decoding algorithm of the public key encryption using the secret key sk i, the ciphertext CT decoding the i, and authentication key receiving step of acquiring the authentication key mk i 0 and the attribute secret key usk i, the communication device U i (i = 1, ..., n) is the a twisted pseudo-random function secret string st i, using a st 'i generates r i, k i, s i , = g r_i and first key R i c i = generates g k_i h s_i, by the tag generation algorithm message authentication codes, by using the authentication key mk i 0, wherein R i, to generate an authentication tag t i 1 from c i, (R i, a first key generation step of transmitting c i , t i 1 ) to the key exchange server apparatus S, and the key exchange server apparatus S, for i = 1,. A first key receiving step of verifying the authentication tag t i 1 using the authentication key mk i 0 and the R i and c i ; and the key exchange server apparatus S performs the c 1 , ..., c n is used to generate a session ID sid, and for i = 1,..., N, the tag generation algorithm of the message authenticator uses the authentication key mk i 0 to execute the s The authentication tag t i 2 is generated from id, R α , R β , and (sid, R α , R β , t i 2 ) is transmitted to the communication device U i (iε {1,..., n}) In the session ID generation step, the communication device U i (iε {2,..., N}) uses the authentication key mk i 0 and the sid, R α , R β according to a message authentication code verification algorithm. The authentication tag t i 2 is verified, and when the authentication tag t i 2 is valid, a pseudo random function generates K i l using the sid, R α r_i , and the pseudo random function sid, It generates a K i r with R beta r_i, wherein generating the K i l and the K i second key T i by exclusive OR of r, the representative communication device U 1 is a message authentication code the verification algorithm, the said authentication key mk 1 0 sid, R n, with R 2, wherein to verify the authentication tag t 1 2, if the authentication tag t 1 2 is valid, the by a pseudo random function sid, a R n r_1 using Generates K 1 l, wherein the pseudo-random function sid, with R 2 r_1 generates K 1 r, generating a second key T 1 by exclusive OR of the said K 1 l K 1 r And a second key generation step of generating T ′ by exclusive OR of K 1 l and k 1 || s 1 and the communication device U i (iε {2,..., N}), According to the tag generation algorithm of the message authenticator, using the authentication key mk i 0 , the authentication tag t i from the R i , c i , R α , R β , k i , s i , T i , U i , sid 3 and transmit (k i , s i , T i , t i 3 ) to the key exchange server apparatus S, and the representative communication apparatus U 1 uses the message authentication code generation algorithm to generate the authentication key An authentication tag t 1 3 is generated from the R 1 , c 1 , R n , R 2 , T 1 , T 1 , U 1 , sid using mk 1 0 (T 1 , T ′, t 1 3 ), And the key exchange server device S transmits the key to the key exchange server device S, i = 2,. There, by verification algorithm of the message authentication code, wherein said authentication key mk i 0 R i, c i , R α, R β, k i, s i, T i, U i, using sid, the authentication tag verifies t i 3, for i = 1, the verification algorithm of the message authentication codes, the said authentication key mk 1 0 R 1, c 1 , R n,
本発明の一態様は、nを2以上の整数、α, βを次式で定義される値とし、 In one aspect of the present invention, n is an integer of 2 or more, and α and β are values defined by the following formula,
鍵交換サーバ装置Sとn台の通信装置Ui(i=1, …, n)を含む鍵交換システムが実行する鍵交換方法であって、U1を前記通信装置U1, …, Unから選択された1台の代表通信装置、timeoを現在時刻、IDを通信装置を表す述語変数、TFmをタイムフレームを表す述語変数とし、前記鍵交換サーバ装置Sの記録部には、長期秘密鍵SSKs=(msk, stS, st'S)(ただし、mskは属性ベース暗号のマスター秘密鍵、stS、st'Sはそれぞれ秘密ストリング)が記録されており、前記通信装置Ui(i=1, …, n)の記録部には、長期秘密鍵SSKi=(ski, sti, st'i)(ただし、skiは前記通信装置Uiの公開鍵暗号の秘密鍵、sti、st'iはそれぞれ秘密ストリング)が記録されており、前記鍵交換サーバ装置Sが、i=1, …, nについて、属性をAi=(Ui, timeo)として、属性ベース暗号の鍵導出アルゴリズムにより、属性ベース暗号の公開パラメータParamsと前記マスター秘密鍵mskを用いて、前記通信装置Uiの属性秘密鍵uskiを生成し、メッセージ認証子の鍵生成アルゴリズムにより、前記通信装置UiのMAC鍵mki 0を認証鍵として生成し、公開鍵暗号の暗号化アルゴリズムにより、前記通信装置Uiの長期公開鍵SPKi=pki(ただし、pkiは前記通信装置Uiの公開鍵暗号の公開鍵)を用いて、前記属性秘密鍵uskiおよび前記認証鍵mki 0を暗号化し、暗号文CTiを生成し、前記暗号文CTiを前記通信装置Ui(i∈{1, …, n})へ送信する認証鍵生成ステップと、前記通信装置Ui(i=1, …, n)が、公開鍵暗号の復号アルゴリズムにより、前記秘密鍵skiを用いて、前記暗号文CTiを復号し、前記属性秘密鍵uskiと前記認証鍵mki 0を取得する認証鍵受信ステップと、前記通信装置Ui(i=1, …, n)が、ねじれ擬似ランダム関数により前記秘密ストリングsti, st'iを用いてri, ki, siを生成し、第1鍵Ri=gr_iおよびci=gk_ihs_iを生成し、 (Ri, ci)を前記鍵交換サーバ装置Sへ送信する第1鍵生成ステップと、前記鍵交換サーバ装置Sが、衝突困難ハッシュ関数により、前記c1, …, cnを用いてセッションID sidを生成し、(sid, Rα, Rβ)を前記通信装置Ui(i∈{1, …, n})へ送信するセッションID生成ステップと、前記通信装置Ui(i∈{2, …, n})が、擬似ランダム関数により前記sid, Rα r_iを用いてKi lを生成し、擬似ランダム関数により前記sid, Rβ r_iを用いてKi rを生成し、前記Ki lと前記Ki rとの排他的論理和により第2鍵Tiを生成し、前記代表通信装置U1が、擬似ランダム関数により前記sid, Rn r_1を用いてK1 lを生成し、擬似ランダム関数により前記sid, R2 r_1を用いてK1 rを生成し、前記K1 lと前記K1 rとの排他的論理和により第2鍵T1を生成し、前記K1 lとk1||s1との排他的論理和によりT'を生成する第2鍵生成ステップと、前記通信装置Ui(i∈{2, …, n})が、(ki, si, Ti)を前記鍵交換サーバ装置Sへ送信し、前記代表通信装置U1が、(T1, T')を前記鍵交換サーバ装置Sへ送信する第2鍵送信ステップと、前記鍵交換サーバ装置Sが、ねじれ擬似ランダム関数により、前記秘密ストリングstS, st'Sを用いて、kS, 第1共通鍵K1を生成し、前記k2, …, kn, ksの排他的論理和により、k'を生成し、i=2, …, nについて、前記T1, …, Ti-1の排他的論理和により、T'iを生成し、i=1, …, nについて、条件Pi=(ID=Ui)∧(timeo∈TFm)として、属性ベース暗号の暗号化アルゴリズムにより、前記公開パラメータParamsを用いて、前記第1共通鍵K1を暗号化して、暗号文CT'iを生成する第1共通鍵生成ステップと、前記鍵交換サーバ装置Sが、i=2, …, nについて、(c1, k', T'i, T', CT'i)を前記通信装置Uiへ送信し、i=1について、(k', CT'1)を前記代表通信装置U1へ送信する第1共通鍵送信ステップと、認証鍵更新情報μi(i=1, …, n)を前記鍵交換サーバ装置Sと前記通信装置Uiの間で既に共有されている情報であるとし、前記鍵交換サーバ装置Sが、i=1, …, nについて、鍵導出関数により、前記認証鍵mki 0と前記認証鍵更新情報μi、または、前記認証鍵mki 0から新しい認証鍵mki 1を生成する認証鍵更新ステップと、前記通信装置Ui(i∈{2, …, n})が、前記T'iと前記Ki lとの排他的論理和によりK1 lを生成し、前記T'と前記K1 lとの排他的論理和によりk1||s1を生成し、属性ベース暗号の復号アルゴリズムにより、前記属性秘密鍵uskiを用いて、前記暗号文CT'iから第1共通鍵K1を復号し、前記代表通信装置U1が、属性ベース暗号の復号アルゴリズムにより、前記属性秘密鍵uskiを用いて、前記暗号文CT'1から第1共通鍵K1を復号する第1共通鍵受信ステップと、前記通信装置Ui(i∈{1, …, n})が、擬似ランダム関数により前記セッションID sidおよび前記k'と前記k1との排他的論理和を用いて生成した値により、第2共通鍵K2を生成し、擬似ランダム関数により前記sid, K1を用いて生成した値と疑似ランダム関数により前記sid, K2を用いて生成した値の排他的論理和により、セッション鍵SKを生成するセッション鍵生成ステップと、前記通信装置Ui(i∈{1, …, n})が、鍵導出関数により、前記認証鍵mki 0と前記認証鍵更新情報μi、または、前記認証鍵mki 0から新しい認証鍵mki 1を生成する認証鍵更新ステップとを含む。 A key exchange method performed by a key exchange system including a key exchange server apparatus S and n communication apparatuses U i (i = 1,..., N), wherein U 1 is the communication apparatus U 1 ,. The representative unit selected from among the above, where time o is the current time, ID is a predicate variable representing the communication device, TF m is a predicate variable representing a time frame, and the recording unit of the key exchange server apparatus S A secret key SSK s = (msk, st S , st ' S ) (where, msk is a master secret key of attribute-based encryption, st S and st' S are secret strings respectively), and the communication device U i is recorded (i = 1, ..., n ) to the recording portion of the long-term secret key SSK i = (sk i, st i, st 'i) ( provided that, sk i is the private key of the public key encryption of the communication device U i , St i , st ′ i are each a secret string), and the key exchange server apparatus S has an attribute as i i = (U i , time o ) for i = 1,. Key Derivation Algorithm of Base Cipher Accordingly, the public parameter Params attribute-based encryption using the master secret key msk, generates attribute secret key usk i of the communication device U i, by the key generation algorithm of the message authentication codes, said communication device U i MAC generates key mk i 0 as the authentication key, the encryption algorithm of the public key encryption, the long-term public key SPK i = pk i of the communication device U i (however, pk i is the public key encryption of the communication device U i public key) by using the attribute secret key usk i and the authentication key mk i 0 encrypting to generate a ciphertext CT i, the ciphertext CT i said communication device U i (i∈ {1, ... , an authentication key generating step of transmitting to the n}), the communication device U i (i = 1, ... , n) is the decoding algorithm of the public key encryption using the secret key sk i, the ciphertext CT decoding the i, and authentication key receiving step of acquiring the authentication key mk i 0 and the attribute secret key usk i, the communication device U i (i = 1, ..., n) is the a twisted pseudo-random function secret string st i, using a st 'i generates r i, k i, s i , = g r_i and first key R i a first key generation step of generating c i = g k _i h s_i and transmitting (R i , c i ) to the key exchange server device S; A session ID generation step of generating a session ID sid using c 1 , ..., c n and transmitting (sid, R α , R β ) to the communication device U i (iε {1, ..., n}) And the communication device U i (iε {2,..., N}) generates K i l using the sid, R α r_i by the pseudo random function, and generates the sid, R β r_i by the pseudo random function. It generates a K i r with the K i by exclusive OR of l and the K i r to generate a second key T i, the representative communication device U 1 is the by pseudo-random function sid, Generate K 1 l using R n r_1 and generate a pseudo-lander K 1 r is generated using the sid and R 2 r_1 according to a random function, and a second key T 1 is generated by exclusive OR of the K 1 l and the K 1 r , the K 1 l and k A second key generation step of generating T ′ by XOR with 1 || s 1 and the communication device U i (iε {2,..., N}) generate (K i , s i , T a second key transmitting step of transmitting i ) to the key exchange server apparatus S and the representative communication apparatus U 1 transmits (T 1 , T ′) to the key exchange server apparatus S; and the key exchange server apparatus S generates k S , the first common key K 1 using the secret string st S , st ' S according to a twisted pseudorandom function, and the exclusive logic of k 2 , ..., k n , k s The sum generates k ′, and for i = 2,..., N, the exclusive OR of T 1 ,..., T i−1 generates T ′ i , for i = 1,. as a condition P i = (ID = U i ) ∧ (time o ∈TF m), the encryption algorithm of attribute-based encryption, the With open parameters Params, it encrypts the first common key K 1, and the first common key generation step of generating a ciphertext CT 'i, said key exchange server device S is, i = 2, ..., n , (C 1 , k ′, T ′ i , T ′, CT ′ i ) to the communication device U i , and for i = 1, (k ′, CT ′ 1 ) as the representative communication device U 1 A first common key transmission step of transmitting to the first key, and authentication key update information μ i (i = 1,..., N), which is information already shared between the key exchange server apparatus S and the communication apparatus U i The key exchange server apparatus S performs authentication based on the authentication key mk i 0 and the authentication key update information μ i or the authentication key mk i 0 using a key derivation function for i = 1,. An authentication key updating step of generating a key mk i 1 ; and the communication device U i (iε {2,..., N}) performs an exclusive OR operation on the T ′ i and the K i l to obtain K 1 l And X 1 by exclusive OR of the T ′ and the K 1 l. generates || s 1, the decoding algorithm of the attribute-based encryption, using the attribute secret key usk i, decrypts the first common key K 1 from the ciphertext CT 'i, the representative communication device U 1 is , the decoding algorithm of attribute-based encryption, the attributes using a secret key usk i, a first common key receiving step of decoding the first common key K 1 from the ciphertext CT '1, the communication device U i (i ∈ {1,..., N}) generates a second common key K 2 from a value generated using the session ID sid and the exclusive OR of the k ′ and the k 1 by a pseudo random function A session key generating step of generating a session key SK by XORing the value generated using the sid, K 1 with the pseudorandom function and the value generated using the sid, K 2 with the pseudorandom function; , The communication device U i (iε {1,..., N}) uses the key derivation function to execute the authentication key mk An authentication key update step of generating a new authentication key mk i 1 from i 0 and the authentication key update information μ i or the authentication key mk i 0 is included.
本発明によれば、長期秘密鍵が漏洩したとしても、暗号鍵を取得することができない鍵交換を実現することが可能となる。 According to the present invention, it is possible to realize key exchange which can not acquire an encryption key even if a long-term secret key is leaked.
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail. Note that components having the same function will be assigned the same reference numerals and redundant description will be omitted.
<表記法・用語>
実施形態の説明に先立って、この明細書における表記法や用語について説明する。
<Notation / Terminology>
Before describing the embodiments, notations and terms in this specification will be described.
^(キャレット)は上付き添字を表す。例えば、xy^zはyzがxに対する上付き添字であり、xy^zはyzがxに対する下付き添字であることを表す。また、_(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。 ^ (Caret) represents a superscript. For example, x ^ z indicates that yz is a superscript for x, and x ^ z indicates that yz is a subscript for x. Also, _ (underscore) represents a subscript. For example, xy_z represents that yz is a superscript for x, and xy_z represents that yz is a subscript for x.
集合Sから要素xを一様ランダムに取り出すことを、x∈RSと表記する。 Deriving the element x uniformly and randomly from the set S is written as x∈ R S.
pを素数とし、Gを位数pの巡回群とする。また、g, hを群Gの生成元とする。 Let p be a prime number and G be a cyclic group of order p. Also, let g and h be generators of group G.
Zを整数の集合とし、Zpを素数pに対する剰余類環とする。 The Z an integer set, the coset rings Z p for a prime p.
κ(∈Z)をセキュリティパラメータとする。Kspaceκ={0, 1}κをκビットの鍵空間とする。また、{0, 1}*を長さが任意のビット列の集合とする。 Let κ (∈ Z) be a security parameter. Kspace and κ = {0, 1} κ a kappa-bit key space. Also, let {0, 1} * be a set of bit strings of arbitrary length.
|・|は値・のビット長とする。 Is the bit length of the value.
[タイムフレーム(Time Frame)]
ある時間区間をtとし、タイムフレームTFm(m=1, 2, …)をTFm:={time(m-1)t+1, …, timemt}とする(ただし、tは1以上の整数)。また、現在時刻timeoに対して、timeo∈TFmとするとき、TFmをタイムフレームを表す述語変数と呼ぶ。
[Time Frame]
Let t be a certain time interval, and let TF m : = {time (m-1) t + 1 ,..., Time mt } be a time frame TF m (m = 1, 2,...) (Where t is 1 or more) Integer). Further, the current time time o, when the time o ∈TF m, referred to as a predicate variable representing a time frame TF m.
[公開鍵暗号]
公開鍵暗号PKEをPKE=(Gen, Enc, Dec)とする。鍵生成アルゴリズムGenは1κを入力とし、公開鍵pkと秘密鍵skのペアを出力する。つまり、(pk, sk)←Gen(1κ)である。このとき、平文空間Mpkが定まり、平文空間Mpkにはpkが含まれているものとする。特に平文空間Mpkの指定がない場合はMpk:={0, 1}κとする。暗号化アルゴリズムEncは公開鍵pkと平文m∈Mpkを入力とし、暗号文CTを出力する。つまり、CT←Encpk(m)である。復号アルゴリズムDecは秘密鍵skと暗号文CTを入力とし、平文mを出力する。つまり、m←Decsk(CT)である。なお、復号に失敗した場合は、平文mの代わりに復号失敗を表す記号である⊥を出力する。具体的な構成例として、RSA-OAEP(Optimal Asymmetric Encryption Padding)がある。
[Public key encryption]
Let public key encryption PKE be PKE = (Gen, Enc, Dec). The key generation algorithm Gen takes 1 κ as input, and outputs a pair of public key pk and secret key sk. In other words, it is (pk, sk) ← Gen ( 1 κ). At this time, it is assumed that the plaintext space M pk is determined, and the plaintext space M pk includes pk. In particular, when the plaintext space M pk is not specified, M pk : = {0, 1} κ . The encryption algorithm Enc receives the public key pk and the plaintext m∈M pk as an input, and outputs a ciphertext CT. That is, CT ← Enc pk (m). The decryption algorithm Dec receives the secret key sk and the ciphertext CT, and outputs the plaintext m. That is, m ← Dec sk (CT). If the decryption fails, 、, which is a symbol representing the decryption failure, is output instead of the plaintext m. As a specific configuration example, there is RSA-OAEP (Optimal Asymmetric Encryption Padding).
[擬似ランダム関数]
RFκ:={f|f:{0, 1}κ×Kspaceκ→{0,1}κ}をランダム関数の族、関数f∈RRFκをランダム関数とする。擬似ランダム関数とは、以下の条件を満たす、シードs∈{0, 1}κをインデックスとする関数族{Fs}sに属する関数Fs:{0, 1}κ×Kspaceκ→{0, 1}κのことである。
(条件1)入力xが与えられたとき多項式時間でFs(x)が計算可能である。
(条件2)任意の確率多項式時間アルゴリズムDに対して、ランダム関数fの出力、擬似ランダム関数Fsの出力のいずれかが与えられたとしても、アルゴリズムDによりどちらの関数から出力された値であるかを識別できる確率は無視できるほど小さい。
[Pseudo random function]
RF κ: = |: the family of {f f {0, 1} κ × Kspace κ → {0,1} κ} a random function, the function f∈ R RF κ a random function. The pseudo-random function, the following conditions are satisfied, seed s∈ {0, 1} function family indexed by kappa {F s} belonging to s function F s: {0, 1} κ × Kspace κ → {0 , 1} κ .
(Condition 1) Given input x, F s (x) can be calculated in polynomial time.
(Condition 2) Even if the output of the random function f or the output of the pseudorandom function F s is given to an arbitrary probability polynomial time algorithm D, the value output from either function by the algorithm D The probability of identifying one is negligible.
具体的な構成例として、Blum-Micaliの擬似乱数生成器を用いて擬似ランダム関数を構成する、Goldreich-Goldwasser-Micaliの擬似ランダム関数がある(参考非特許文献1)。
(参考非特許文献1:O. Goldreich, S. Goldwasser, and S. Micali, “How to Construct Random Functions”, Journal of the ACM, vol.33, Issue 4, pp.792-807, 1986.)
As a specific configuration example, there is a Goldreich-Goldwasser-Micali pseudorandom function configured as a pseudorandom function using a Blum-Micali pseudorandom number generator (Reference Non-Patent Document 1).
(Reference Non-Patent Document 1: O. Goldreich, S. Goldwasser, and S. Micali, “How to Construct Random Functions”, Journal of the ACM, vol. 33, Issue 4, pp. 792-807, 1986.)
[ねじれ擬似ランダム関数]
ねじれ擬似ランダム関数tPRF:{0, 1}κ×Kspaceκ×Kspaceκ×{0, 1}κ→Rngκ(ただし、Rngκは関数の値域)は、擬似ランダム関数Fsと排他的論理和を用いて次式のように構成される。
[Twist pseudorandom function]
Twisted pseudo-random function tPRF: {0, 1} κ × Kspace κ × Kspace κ × {0, 1} κ → Rng κ ( However, Rng kappa is the range of the function), the exclusive OR between the pseudo-random function F s It is constructed as follows using
ただし、a,b'∈{0, 1}κ, a', b∈Kspaceκである。 However, a, b'∈ {0, 1 } κ, a ', a b∈Kspace κ.
なお、ねじれ擬似ランダム関数tPRFは、以下の条件を満たす。
(条件)任意の確率多項式時間アルゴリズムDに対して、ランダム関数fの出力、ねじれ擬似ランダム関数tPRFの出力のいずれかが与えられたとしても、アルゴリズムDによりどちらの関数から出力された値であるかを識別できる確率は無視できるほど小さい。
The torsional pseudo random function tPRF satisfies the following conditions.
(Conditions) Even if the output of the random function f or the output of the twisted pseudorandom function tPRF is given to an arbitrary probability polynomial time algorithm D, the values are output from either function by the algorithm D. The probability of identifying one is negligible.
[衝突困難ハッシュ関数]
衝突困難ハッシュ関数TCR:{0, 1}*→{0, 1}κとは、以下の条件を満たすハッシュ関数のことである。
(条件)任意の多項式時間アルゴリズムAに対して、{0, 1}*からランダムに選んだxを与えても、アルゴリズムAがx≠x'でTCR(x)=TCR(x')となるx'を見つけることが困難である。
Hard collision hash function
Collision hard hash function TCR: {0, 1} * → {0, 1} κ is a hash function satisfying the following conditions.
(Condition) Even if x randomly selected from {0, 1} * is given to an arbitrary polynomial time algorithm A, the algorithm A is x ≠ x 'and TCR (x) = TCR (x') It is difficult to find x '.
具体的な構成例として、SHA256がある。 As a specific configuration example, there is SHA256.
[属性ベース暗号]
属性ベース暗号ABEをABE=(Setup, Der, AEnc, ADec)とする。セットアップアルゴリズムSetupは1κと属性を定義する情報attを入力とし、公開パラメータParamsとマスター秘密鍵mskを出力する。つまり、(Params, msk)←Setup(1κ, att)である。鍵導出アルゴリズムDerは公開パラメータParamsとマスター秘密鍵mskと属性Aiを入力とし、ユーザUiの属性秘密鍵uskiを出力する。つまり、uski←Der(Params, msk, Ai)である。暗号化アルゴリズムAEncは公開パラメータParamsと条件Pと平文mを入力とし、暗号文CTを出力する。つまり、CT←AEnc(Params, P, m)である。復号アルゴリズムADecは公開パラメータParamsとユーザUiの属性秘密鍵uskiと暗号文CTを入力とし、Ai∈Pの場合は平文mを出力する。つまり、m←ADec(Params, uski, CT)である。なお、Ai∈Pでない場合は記号⊥を出力する。具体的な構成例として、インテリジェント暗号がある(参考非特許文献2)。
(参考非特許文献2:“インテリジェント暗号”,[online],[平成29年12月20日検索],インターネット<URL: http://www.seclab.ecl.ntt.co.jp/project/data-security/intelligent-crypto.html>)
Attribute-based encryption
Attribute-based encryption ABE is ABE = (Setup, Der, AEnc, ADec). The setup algorithm Setup takes 1 κ and information att defining the attribute as input, and outputs the public parameter Params and the master secret key msk. That is, (Params, msk) Setup Setup (1 ,, att). The key derivation algorithm Der is set to enter the public parameter Params and the master secret key msk and attributes A i, and outputs the attribute secret key usk i of the user U i. That is, usk i D Der (Params, msk, A i ). The encryption algorithm AEnc receives the public parameter Params, the condition P and the plaintext m as an input, and outputs a ciphertext CT. That is, CT ← AEnc (Params, P, m). Decryption algorithm ADec as an input attribute secret key usk i ciphertext CT for public parameter Params user U i, in the case of A i ∈P outputs the plaintext m. In other words, it is m ← ADec (Params, usk i , CT). If A i ∈P, the symbol ⊥ is output. As a specific configuration example, there is intelligent encryption (Reference Non-Patent Document 2).
(Reference non-patent document 2: "Intelligent encryption", [online], [search on December 20, 2017], Internet <URL: http://www.seclab.ecl.ntt.co.jp/project/data -security / intelligent-crypto.html>)
[メッセージ認証子]
メッセージ認証子MACをMAC=(MGen, Tag, Ver)とする。MAC鍵生成アルゴリズムMGenは1κを入力とし、MAC鍵mkを出力する(ただし、|mk|≧κとする)。つまり、mk←MGen(1κ)である。タグ生成アルゴリズムTagはMAC鍵mkと平文m∈{0,1}*を入力とし、認証タグtを出力する。つまり、t←Tagmk(m)である。検証アルゴリズムVerはMAC鍵mkと平文m∈{0,1}*と認証タグtを入力とし、認証タグtが正しければ1を、正しくなければ0を出力する。つまり、1←Vermk(m, t)(認証タグtが正しい場合)または0←Vermk(m, t)(認証タグtが正しくない場合)である。具体的な構成として、HMACがある(参考非特許文献4)。
(参考非特許文献4:F. Song and A. Yun, “Quantum Security of NMAC and Related Constructions PRF Domain Extension Against Quantum Attacks”, CRYPTO 2017, LNCS 10402, pp.283-309, 2017.)
[Message authenticator]
Let the message authentication code MAC be MAC = (MGen, Tag, Ver). The MAC key generation algorithm MGen receives 1 κ as an input, and outputs a MAC key mk (provided that | mk | ≧)). In other words, it is mk ← MGen (1 κ). The tag generation algorithm Tag receives the MAC key mk and the plaintext mε {0, 1} * as an input, and outputs an authentication tag t. That is, t ← Tag mk (m). The verification algorithm Ver receives the MAC key mk, the plaintext mε {0, 1} * and the authentication tag t as input, and
(Reference Non-Patent Document 4: F. Song and A. Yun, “Quantum Security of NMAC and Related Constructions PRF Domain Extension Against Quantum Attacks”, CRYPTO 2017, LNCS 10402, pp. 283-309, 2017.)
[鍵導出関数(Key Derivation Function)]
鍵集合Kk, Kdに対して、関数KDF:Kk×Kd→Kkを鍵導出関数と定義する。ここでは、鍵導出関数KDFは、以下の条件を満たすものとする。
(条件)任意の多項式時間アルゴリズムDに対して、アルゴリズムDによりKDFの出力と鍵集合Kkから一様ランダムに選択した鍵とが区別できる確率は無視できるほど小さい。
[Key Derivation Function]
For the key set K k , K d , the function KDF: K k × K d → K k is defined as a key derivation function. Here, the key derivation function KDF satisfies the following conditions.
(Condition) For any polynomial time algorithm D, the probability that the algorithm D can distinguish between the output of KDF and a key randomly selected from the key set K k is as small as negligible.
具体的な構成例として、ハッシュ関数を利用して構成したものがある。 As a specific configuration example, there is one configured using a hash function.
<第一実施形態> First Embodiment
[システム構成]
鍵交換システム10は、図1に例示するように、鍵交換サーバ装置100およびN(≧2)台の通信装置2001, …, 200Nを含む。この実施形態では、鍵交換サーバ装置100および通信装置2001, …, 200Nはそれぞれ通信網900へ接続される。通信網900は、鍵交換サーバ装置100が通信装置2001, …, 200Nそれぞれと通信可能なように構成された回線交換方式もしくはパケット交換方式の通信網である。この実施形態では、通信装置2001, …, 200N同士は通信できなくともよい。通信網900は安全が確保された通信路である必要はなく、例えばインターネットなどを用いることができる。
[System configuration]
The key exchange system 10 includes a key
鍵交換サーバ装置100は、図2に例示するように、セットアップ部101、秘密ストリング生成部102、長期鍵生成部103、認証鍵生成部111、第1鍵受信部112、セッションID生成部113、第2鍵受信部114、第1共通鍵生成部115、第1共通鍵送信部116、認証鍵更新部117、記録部190を含む。記録部190は、鍵交換サーバ装置100の処理に必要な情報を適宜記録する構成部である。
As illustrated in FIG. 2, the key
通信装置200は、図3に例示するように、公開鍵生成部201、秘密ストリング生成部202、長期鍵生成部203、認証鍵受信部211、第1鍵生成部212、セッションID受信部213、第2鍵生成部214、第2鍵送信部215、第1共通鍵受信部216、セッション鍵生成部217、秘密情報管理部218、認証鍵更新部219、記録部290を含む。記録部290は、通信装置200の処理に必要な情報を適宜記録する構成部である。
As illustrated in FIG. 3, the
この鍵交換サーバ装置100および通信装置2001, …, 200Nが、図4、図5、図6、図7に例示する各ステップの処理を行うことにより実施形態の鍵交換方法が実現される。
The key exchange method of the embodiment is realized by the key
鍵交換サーバ装置100および通信装置2001, …, 200Nは、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。各装置は、例えば、中央演算処理装置の制御のもとで各処理を実行する。各装置に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。各装置が備える各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
The key
鍵交換サーバ装置100が備える記録部190および通信装置2001, …, 200Nが備える記録部290は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)のような半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。各記録部は秘密情報を記憶するため、耐タンパ性を有する記憶装置(例えば、SIMカードなど)であることが望ましい。
The
[セットアップ処理]
図4及び図5を参照して、実施形態の鍵交換方法におけるセットアップ処理手続きを説明する。
[Setup process]
The setup procedure in the key exchange method of the embodiment will be described with reference to FIGS. 4 and 5.
以降の説明では、以下のように記号を定義する。Sは鍵交換サーバ装置100を示し、Ui(i∈{1, …, N})はN台の通信装置2001, …, 200Nを示すものとする。Gを素数位数pの巡回群とする。g, hをそれぞれ群Gの生成元とする。F: {0, 1}κ×G→Zp 2、F': {0, 1}κ×Zp→Kspaceκ、F'': {0, 1}κ×Kspaceκ→{0, 1}κ、F''': {0, 1}κ×Kspaceκ→Zpを擬似ランダム関数とする。tPRF: {0, 1}κ×Kspaceκ×Kspaceκ×{0, 1}κ→Zp、tPRF': {0, 1}κ×Kspaceκ×Kspaceκ×{0, 1}κ→Kspaceκをねじれ擬似ランダム関数とする。TCR:{0, 1}*→{0, 1}κを衝突困難ハッシュ関数とする。KDF: {0, 1}*×{0, 1}κ→{0, 1}*を鍵導出関数とする。
In the following description, symbols are defined as follows. S represents a key exchange server apparatus 100, U i (i∈ {1 , ..., N}) is a
まず、鍵交換サーバ装置Sのセットアップ処理について説明する(図4参照)。 First, the setup process of the key exchange server apparatus S will be described (see FIG. 4).
ステップS101において、鍵交換サーバ装置Sのセットアップ部101は、属性ベース暗号ABEのセットアップアルゴリズムSetupにより公開パラメータParamsおよびマスター秘密鍵mskを生成する((Params, msk)←Setup(1κ, att))。
In step S101, the
ステップS102において、鍵交換サーバ装置Sの秘密ストリング生成部102は、秘密ストリング(stS, st'S) (stS∈RKspaceκ, st'S∈R{0, 1}κ)を生成する。
In step S102, secret
ステップS103において、鍵交換サーバ装置Sの長期鍵生成部103は、長期秘密鍵SSKs=(msk, stS, st'S)、長期公開鍵SPKs=(Params, p, G, g, h, TCR, tPRF, tPRF', F, F', F'', F''')を生成する。長期鍵生成部103は、長期秘密鍵SSKs、長期公開鍵SPKsを記録部190に記録する。また、長期鍵生成部103は、長期公開鍵SPKsを通信装置U1, …, UNへ送信する。
In step S103, the long-term
次に、通信装置Ui(i∈{1, …, N})のセットアップ処理について説明する(図5参照)。 Next, setup processing of the communication device U i (iε {1,..., N}) will be described (see FIG. 5).
ステップS201において、通信装置Uiの公開鍵生成部201は、公開鍵暗号PKEの鍵生成アルゴリズムGenにより通信装置Uiの公開鍵pkiおよび秘密鍵skiのペアを生成する((pki, ski)←Gen(1κ))。
In step S201, the public
ステップS202において、通信装置Uiの秘密ストリング生成部202は、秘密ストリング(sti, st'i) (sti∈RKspaceκ、st'i∈{0, 1}κ)を生成する。
In step S202, secret
ステップS203において、通信装置Uiの長期鍵生成部203は、長期秘密鍵SSKi=(ski, sti, st'i)、長期公開鍵SPKi=pkiを生成する。長期鍵生成部203は、長期秘密鍵SSKi、長期公開鍵SPKiを記録部290に記録する。また、長期鍵生成部203は、長期公開鍵SPKiを鍵交換サーバ装置Sへ送信する。
In step S203, long
[鍵配送処理]
図6及び図7を参照して、実施形態の鍵交換方法における鍵配送処理手続きを説明する。この処理は、DMKDプロトコルにおけるDist(鍵配送)フェーズでの処理に対応するものである。
[Key distribution process]
The key distribution procedure in the key exchange method of the embodiment will be described with reference to FIGS. 6 and 7. This process corresponds to the process in the Dist (key distribution) phase in the DMKD protocol.
以下では、N台の通信装置2001, …, 200Nのうち任意のn(2≦n≦N)台の通信装置Ui(i∈{1, …, n})がセッション鍵SKの共有を行うものとする。S, Uiを各アルゴリズムの入力とする場合、各装置を一意に特定する識別子を表すものとする。
Below, among
ステップS111において、鍵交換サーバ装置Sの認証鍵生成部111は、通信装置Ui(i∈{1, …, n})がセッションを開始したときに、そのセッションが通信装置UiのタイムフレームTFmにおける最初のセッションだった場合、現在時刻をtimeo∈TFmとし、属性をAi=(Ui, timeo)として、属性ベース暗号ABEの鍵導出アルゴリズムDerにより、通信装置Uiの属性秘密鍵uski←Der(Params, msk, Ai)を生成する。また、認証鍵生成部111は、メッセージ認証子MACの鍵生成アルゴリズムMGenにより、通信装置UiのMAC鍵mki 0←MGen(1κ)を認証鍵として生成する。認証鍵生成部111は、認証鍵mki 0を記録部190に記録する。そして、認証鍵生成部111は、公開鍵暗号PKEの暗号化アルゴリズムEncにより、通信装置Uiの長期公開鍵SPKi=pkiを用いて属性秘密鍵uskiおよび認証鍵mki 0を暗号化し、暗号文CTi←Encpk_i(uski, mki 0)を生成する。認証鍵生成部111は、暗号文CTiを通信装置Ui(i∈{1, …, n})へ送信する。
In step S111, when the communication device U i (iε {1,..., N}) starts a session, the authentication
ステップS211において、通信装置Ui(i∈{1, …, n})の認証鍵受信部211は、公開鍵暗号PKEの復号アルゴリズムDecにより、通信装置Uiの秘密鍵skiを用いて鍵交換サーバ装置Sから受信した暗号文CTiを復号し、属性秘密鍵および認証鍵(uski, mki 0)←Decsk_i(CTi)を取得する。認証鍵受信部211は、属性秘密鍵uskiおよび認証鍵mki 0を記録部290へ記録する。
In step S211, the communication device U i (i∈ {1, ... , n}) authentication
ステップS212において、通信装置Ui(i∈{1, …, n})の第1鍵生成部212は、~ri∈R{0, 1}κ, ~r'i∈RKspaceκ, ~ki∈R{0, 1}κ, ~k'i∈RKspaceκ, ~si∈R{0, 1}κ, ~s'i∈RKspaceκを生成し、短期秘密鍵ESKi=(~ri, ~r'i, ~ki, ~k'i, ~si, ~s'i)を生成し、短期秘密鍵ESKiを記録部290に記録する。第1鍵生成部212は、ねじれ擬似ランダム関数tPRFにより、ri=tPRF(~ri, ~r'i, sti, st'i), ki=tPRF(~ki, ~k'i, sti, st'i), si=tPRF(~si, ~s'i, sti, st'i)を生成する。また、第1鍵生成部212は、第1鍵Ri=gr_i, ci=gk_ihs_iを生成する。第1鍵生成部212は、メッセージ認証子MACのタグ生成アルゴリズムTagにより、認証鍵mki 0を用いてRi, ciから認証タグti 1=Tagmk_i^0(Ri, ci)を生成する。そして、第1鍵生成部212は、(Ri, ci, ti 1)を鍵交換サーバ装置Sへ送信する。
In step S212, the communication device U i (i∈ {1, ... , n}) first
ステップS112において、鍵交換サーバ装置Sの第1鍵受信部112は、通信装置Uiから(Ri, ci, ti 1)を受信する。このとき、第1鍵受信部112は、すべての通信装置U1, …, Unから(R1, c1, t1 1), …, (Rn, cn, tn 1)を受信するまで待機する。第1鍵受信部112は、メッセージ認証子MACの検証アルゴリズムVerにより、通信装置Uiの認証鍵mki 0を用いて、Vermk_i~0(Ri, ci, ti 1)を計算し、認証タグti 1を検証する。認証タグti 1が正当(ti 1=1)でなければ、第1鍵受信部112は、処理を終了する。
In step S112, the first
ステップS113において、鍵交換サーバ装置SのセッションID生成部113は、衝突困難ハッシュ関数TCRにより、通信装置U1, …, Unから受信したc1, …, cnを用いて、sid=TCR(c1, …, cn)をセッションIDとして生成する。また、n台の通信装置U1, …, Unから1台の通信装置を代表者として選択する。代表者の選択方法は任意であり、例えば、予め定めておいた優先順位が最も高い通信装置を選択するのでよい。ここでは、通信装置U1が選択されたものとし、U1を代表通信装置と呼ぶ。また、代表通信装置U1以外のn-1台の通信装置Ui(i∈{2, …, n})を一般通信装置と呼ぶ。セッションID生成部113は、i=1, …, nについて、メッセージ認証子MACのタグ生成アルゴリズムTagにより、認証鍵mki 0を用いて認証タグti 2=Tagmk_i^0(sid, Rα, Rβ)を生成し、(sid, Rα, Rβ, ti 2)を通信装置Ui(i∈{1, …, n})へ送信する。ただし、α, βは次式により定義される。
In step S113, the
また、鍵交換サーバ装置Sは通信装置U1が代表通信装置であることを通信装置U1に通知する。 The key exchange server device S notifies the communication device U 1 is a representative communication device to the communication device U 1.
ステップS213において、通信装置Ui(i∈{1, …, n})のセッションID受信部213は、鍵交換サーバ装置Sから(sid, Rα, Rβ, ti 2)を受信する。通信装置Uiは、(sid, Rα, Rβ, ti 2)を受け取り次第、以降の処理を実行する。i=2, …, nの場合、すなわち通信装置Uiが一般通信装置Uiであれば、ステップS214iへ処理を進める。i=1の場合、すなわち通信装置Uiが代表通信装置U1であれば、ステップS2141へ処理を進める。
In step S213, the session
ステップS214iにおいて、一般通信装置Ui(i∈{2, …, n})の第2鍵生成部214は、メッセージ認証子MACの検証アルゴリズムVerにより、認証鍵mki 0を用いて、Vermk_i~0(sid, Rα, Rβ, ti 2) を計算し、認証タグti 2を検証する。認証タグti 2が正当(ti 2=1)でなければ、第2鍵生成部214は、処理を終了する。認証タグti 2が正当である場合、第2鍵生成部214は、次式のように、擬似ランダム関数Fにより(sid, Rα r_i)を用いてKi lを生成し、擬似ランダム関数Fにより(sid, Rβ r_i)を用いてKi rを生成し、Ki lとKi rとの排他的論理和により第2鍵Tiを生成する。
In step S214 i , the second
ステップS215iにおいて、一般通信装置Ui(i∈{2, …, n})の第2鍵送信部215は、メッセージ認証子MACのタグ生成アルゴリズムTagにより、認証鍵mki 0を用いて、認証タグti 3=Tagmk_i^0(Ri, ci, Rα, Rβ, ki, si, Ti, Ui, sid)を生成する。第2鍵送信部215は、(ki, si, Ti, ti 3)を鍵交換サーバ装置Sへ送信する。 In step S215 i, general communication device U i (i∈ {2, ... , n}) second key transmission unit 215, due tag generation algorithm Tag of the message authentication codes MAC, using the authentication key mk i 0, authentication tag t i 3 = tag mk_i ^ 0 (R i, c i, R α, R β, k i, s i, T i, U i, sid) to generate. The second key transmission unit 215 transmits to the (k i, s i, T i, t i 3) the key exchange server device S.
ステップS2141において、代表通信装置U1の第2鍵生成部214は、メッセージ認証子MACの検証アルゴリズムVerにより、認証鍵mk1 0を用いて、Vermk_1~0(sid, Rn, R2, t1 2) を計算し、認証タグti 2を検証する。認証タグt1 2が正当(t1 2=1)でなければ、第2鍵生成部214は、処理を終了する。認証タグt1 2が正当である場合、第2鍵生成部214は、次式のように、擬似ランダム関数Fにより(sid, Rn r_1)を用いてK1 lを生成し、擬似ランダム関数Fにより(sid, R2 r_1)を用いてK1 rを生成し、K1 lとK1 rとの排他的論理和により第2鍵T1を生成し、K1 lとk1||s1との排他的論理和によりT'を生成する。ただし、||は連結演算子である。
In step S214 1, second
ステップS2151において、代表通信装置U1の第2鍵送信部215は、メッセージ認証子MACのタグ生成アルゴリズムTagにより、認証鍵mk1 0を用いて、認証タグt1 3=Tagmk_1^0(R1, c1, Rn, R2, T1, T', U1, sid)を生成する。第2鍵送信部215は、(T1, T', t1 3)を鍵交換サーバ装置Sへ送信する。 In step S215 1, representative second key transmission unit 215 of the communication device U 1 is a tag generation algorithm Tag of the message authentication codes MAC, using the authentication key mk 1 0, authentication tag t 1 3 = Tag mk_1 ^ 0 ( R 1 , c 1 , R n , R 2 , T 1 , T ′, U 1 , sid) are generated. The second key transmission unit 215 transmits (T 1 , T ′, t 1 3 ) to the key exchange server apparatus S.
ステップS114iにおいて、鍵交換サーバ装置Sの第2鍵受信部114は、i=2, …, nについて、一般通信装置Uiから(ki, si, Ti, ti 3)を受信し、メッセージ認証子MACの検証アルゴリズムVerにより、一般通信装置Uiの認証鍵mki 0を用いて、Vermk_i^0(Ri, ci, Rα, Rβ, ki, si, Ti, Ui, sid, ti 3) を計算し、認証タグti 3を検証する。認証タグti 3が正当(ti 3=1)でなければ、第2鍵受信部114は、処理を終了する。
In step S114 i, second
ステップS1141において、鍵交換サーバ装置Sの第2鍵受信部114は、代表通信装置U1から(T1, T', t1 3)を受信し、メッセージ認証子MACの検証アルゴリズムVerにより、代表通信装置U1の認証鍵mk1 0を用いて、Vermk_1^0(R1, c1, Rn, R2, T1, T', U1, sid, t1 3) を計算し、認証タグti 3を検証する。認証タグt1 3が正当(t1 3=1)でなければ、第2鍵受信部114は、処理を終了する。
In step S114 1, second
ステップS115aにおいて、鍵交換サーバ装置Sの第1共通鍵生成部115は、~kS∈R{0, 1}κ,~k'S∈RKspaceκ, ~K1∈R{0, 1}κ, ~K'1∈RKspaceκを生成し、ねじれ擬似ランダム関数tPRFにより、kS=tPRF(~kS, ~k'S, stS, st'S), 第1共通鍵K1=tPRF(~K1, ~K'1, stS, st'S)を生成する。また、第1共通鍵生成部115は、次式のように、k2, …, kn, ksの排他的論理和により、k'を生成する。
In step S115a, the first common
ステップS115bにおいて、鍵交換サーバ装置Sの第1共通鍵生成部115は、i=2, …, nについて、次式のように、T1, …, Ti-1の排他的論理和により、T'iを生成する。
In step S115 b, the first common
ステップS115cにおいて、鍵交換サーバ装置Sの第1共通鍵生成部115は、i=1, …, nについて、条件Pi=(ID=Ui)∧(timeo∈TFm)として、属性ベース暗号ABEの暗号化アルゴリズムAEncにより第1共通鍵K1を暗号化して、暗号文CT'i←AEnc(Params, Pi, K1)を生成する。ここで、IDは通信装置を表す述語変数である。
In step S115c, the first common
ステップS116iにおいて、鍵交換サーバ装置Sの第1共通鍵送信部116は、i=2, …, nについて、メッセージ認証子MACのタグ生成アルゴリズムTagにより、一般通信装置Uiの認証鍵mki 0を用いて、認証タグti 4=Tagmk_i^0(Ri, ci, Rα, Rβ, ki, si, Ti, Ui, sid, c1, k', T'i, T', CT'i)を生成する。第1共通鍵送信部116は、(c1, k', T'i, T', CT'i, ti 4)を一般通信装置Uiへ送信する。
In step S116 i, the first common
ステップS1161において、鍵交換サーバ装置Sの第1共通鍵送信部116は、メッセージ認証子MACのタグ生成アルゴリズムTagにより、代表通信装置U1の認証鍵mk1 0を用いて、認証タグt1 4=Tagmk_1^0(R1, c1, Rn, R2, T1, T', U1, sid, k', CT'1)を生成する。第1共通鍵送信部116は、(k', CT'1, t1 4)を代表通信装置U1へ送信する。
In step S116 1, the first common
ステップS117において、鍵交換サーバ装置Sの認証鍵更新部117は、i=1, …, nについて、鍵導出関数KDFにより、認証鍵mki 0から新しい認証鍵mki 1←KDF(mki 0, sid)を生成する。また、認証鍵更新部117は、認証鍵mki 0を記録部190から削除し、新しい認証鍵mki 1を記録部190に記録する。
In step S117, the authentication
ステップS216iにおいて、一般通信装置Ui(i∈{2, …, n})の第1共通鍵受信部216は、鍵交換サーバ装置Sから(c1, k', T'i, T', CT'i, ti 4)を受信し、メッセージ認証子MACの検証アルゴリズムVerにより、一般通信装置Uiの認証鍵mki 0を用いて、Vermk_i^0(Ri, ci, Rα, Rβ, ki, si, Ti, Ui, sid, c1, k', T'i, T', CT'i, ti 4) を計算し、認証タグti 4を検証する。認証タグti 4が正当(ti 4=1)でなければ、第1共通鍵受信部216は、処理を終了する。認証タグti 4が正当である場合、第1共通鍵受信部216は、次式のように、T'iとKi lとの排他的論理和によりK1 lを生成し、T'とK1 lとの排他的論理和によりk1||s1を生成する。
In step S216 i, general communication device U i (i∈ {2, ... , n}) of the first common
また、第1共通鍵受信部216は、属性ベース暗号ABEの復号アルゴリズムADecにより、通信装置Uiの属性秘密鍵uskiを用いて、第1共通鍵K1←ADecusk_i(CT'i, Pi)を復号する。
The first common
ステップS2161において、代表通信装置U1の第1共通鍵受信部216は、鍵交換サーバ装置Sから(k', CT'1, t1 4)を受信し、メッセージ認証子MACの検証アルゴリズムVerにより、代表通信装置U1の認証鍵mk1 0を用いて、Vermk_1^0(R1, c1, Rn, R2, T1, T', U1, sid, k', CT'1, t1 4) を計算し、認証タグt4を検証する。認証タグt1 4が正当(ti 4=1)でなければ、第1共通鍵受信部216は、処理を終了する。第1共通鍵受信部216は、属性ベース暗号ABEの復号アルゴリズムADecにより、代表通信装置U1の属性秘密鍵usk1を用いて、第1共通鍵K1←ADecusk_1(CT'1, P1)を復号する。
In step S216 1, first common
ステップS217において、通信装置Ui(i∈{1, …, n})のセッション鍵生成部217は、次式のように、擬似ランダム関数F'によりセッションID sidおよびk'とk1との排他的論理和を用いて生成した値により、第2共通鍵K2を生成する。 In step S217, the session key generation unit 217 of the communication device U i (iε {1,..., N}) uses the pseudo random function F ′ to set the session IDs sid, k ′ and k 1 as shown in the following equation. the value generated by using an exclusive OR, to generate a second common key K 2.
そして、セッション鍵生成部217は、次式のように、擬似ランダム関数F"により(sid, K1)を用いて生成した値と疑似ランダム関数F"により(sid, K2)を用いて生成した値の排他的論理和により、セッション鍵SKを生成する。 Then, the session key generation unit 217 generates a value generated using (sid, K 1 ) with the pseudo random function F ′ ′ and using (sid, K 2 ) with the pseudo random function F ′ ′ The session key SK is generated by the exclusive OR of the calculated values.
なお、通信装置Ui(i∈{1, …, n})で共有される第1共通鍵K1、第2共通鍵K2、セッション鍵SKをそれぞれ暗号鍵ともいう。 The first common key K 1 , the second common key K 2 , and the session key SK shared by the communication devices U i (iε {1,..., N}) are also referred to as encryption keys.
ステップS218iにおいて、一般通信装置Ui(i∈{2, …, n})の秘密情報管理部218は、次式により秘密情報Hi l、Hi r、rを生成し、記録部290に記録する。
In step S218 i, general communication device U i (i∈ {2, ... , n}) secret information management unit 218 of the generated secret information H i l, H i r, r according to the following equation, the
ステップS2181において、代表通信装置U1の秘密情報管理部218は、次式により秘密情報Hi l、Hi r、rを生成し、記録部290に記録する。
In step S218 1, the secret information management unit 218 of the representative communication device U 1 generates secret information H i l, H i r, r according to the following equation, is recorded in the
ステップS219において、通信装置Ui(i∈{1, …, n})の認証鍵更新部219は、鍵導出関数KDFにより、認証鍵mki 0から新しい認証鍵mki 1←KDF(mki 0, sid)を生成する。また、認証鍵更新部219は、認証鍵mki 0を記録部290から削除し、新しい認証鍵mki 1を記録部290に記録する。
In step S219, the communication device U i (i∈ {1, ... , n}) authentication
本実施形態の発明によれば、長期秘密鍵が漏洩したとしても、暗号鍵を取得することができない鍵交換を実現することが可能となる。 According to the invention of this embodiment, it is possible to realize key exchange which can not acquire an encryption key even if a long-term secret key leaks.
本実施形態の発明によれば、あるセッションで暗号鍵を交換するためには、直近で更新された認証鍵が必要になる。しかし、直近で更新された認証鍵を取得するためには、その1つ前に更新された認証鍵が必要である。したがって、1番目の認証鍵が安全に交換されている場合、長期秘密鍵が漏洩しても攻撃者は認証鍵を取得することができない。これにより、攻撃者が長期秘密鍵を取得したとしてもなりすましにより暗号鍵を取得することはできない。 According to the invention of this embodiment, in order to exchange the encryption key in a certain session, the authentication key updated most recently is required. However, in order to obtain the most recently updated authentication key, the authentication key updated one before is required. Therefore, when the first authentication key is exchanged securely, even if the long-term secret key leaks, the attacker can not obtain the authentication key. As a result, even if the attacker obtains the long-term secret key, the attacker can not obtain the encryption key by spoofing.
ここでは、DMKDプロトコルにおけるDist(鍵配送)フェーズでの処理に対応する処理手続きについて説明したが、Join(追加)フェーズ、Leave(離脱)フェーズ、Update(更新)フェーズでの処理に対応する処理手続きについても同様である。つまり、鍵交換を安全に実行するためには、いずれかのフェーズが起こる度に、鍵導出関数KDFを用いて、認証鍵を新しく生成するようにすればよい。以下、詳細に説明する。 Here, the processing procedure corresponding to the processing in the Dist (key delivery) phase in the DMKD protocol has been described, but the processing procedure corresponding to the processing in the Join (addition) phase, the Leave (leave) phase, and the Update (update) phase The same is true for That is, in order to execute key exchange securely, an authentication key may be newly generated using the key derivation function KDF each time any phase occurs. The details will be described below.
現在グループに参加している通信装置及び鍵交換サーバ装置が保持している認証鍵をmki k(kは1以上の整数)とする。例えば、グループが生成され初めて暗号鍵が共有された直後の認証鍵はmki 1である(つまり、k=1)。いずれかのフェーズが起こり、暗号鍵が共有されたら、鍵導出関数KDFを用いて、認証鍵mki kと当該セッションのセッションIDであるsidk+1から認証鍵mki k+1←KDF(mki k, sid k+1)を生成する。各装置は、認証鍵mki kを記録部から削除し、新しい認証鍵mki k+1を記録部に記録する。
Currently (the
<変形例>
メッセージ認証子MACを用いたインテグリティを保証する処理、つまり、S212における認証タグti 1の生成処理とS112における認証タグti 1の検証処理、S113における認証タグti 2の生成処理とS213における認証タグti 2の検証処理、S215における認証タグti 3の生成処理とS114における認証タグti 3の検証処理、S116における認証タグti 4の生成処理とS216における認証タグti 4の検証処理については省略してもよい。
<Modification>
A process of assuring integrity using the message authenticator MAC, that is, a process of generating an authentication tag t i 1 in S212, a process of verifying the authentication tag t i 1 in S112, a process of generating an authentication tag t i 2 in S113 and S213. authentication verification process of the tag t i 2, the authentication verification process of the authentication in the tag t i generation process 3 and S114 tags t i 3, the authentication tag t i 4 in the authentication tag t i generation process and S216 of 4 in S116 in S215 The verification process may be omitted.
<変形例2>
また、通信装置Uiは、S217において、擬似ランダム関数を用いてsidから2つの鍵、つまり、第2共通鍵K2とセッション鍵SKを生成し、この2つの鍵を通信装置Uiの間で共有するようにしているが、第2共通鍵K2のみを生成し、共有するようにしてもよい。
<
Also, in S217, the communication device U i generates two keys from the sid using the pseudo random function, that is, the second common key K 2 and the session key SK, and transmits these two keys between the communication device U i in it are to be shared, second only generates the common key K 2, may be shared.
<変形例3>
S117及びS219における認証鍵更新処理では、現時点の認証鍵とセッションIDを鍵導出関数の入力として新しい認証鍵を生成しているが、鍵導出関数の入力として、セッションIDの代わりに以下のデータのいずれかを用いてもよい。
(1)S212及びS112における処理により共有されるRiまたはci
この場合、鍵導出関数として、KDF: {0, 1}*×G→{0, 1}*を用いればよい。したがって、鍵交換サーバ装置Sの認証鍵更新部117は、i=1, …, nについて、鍵導出関数KDFにより、認証鍵mki 0から新しい認証鍵mki 1←KDF(mki 0, Ri)(またはmki 1←KDF(mki 0, ci))を生成する。また、通信装置Ui(i∈{1, …, n})の認証鍵更新部219は、鍵導出関数KDFにより、認証鍵mki 0から新しい認証鍵mki 1←KDF(mki 0, Ri)(またはmki 1←KDF(mki 0, ci))を生成する。
(2)S215及びS114における処理により共有されるTi
この場合、鍵導出関数として、KDF: {0, 1}*×Zp 2→{0, 1}*を用いればよい。したがって、鍵交換サーバ装置Sの認証鍵更新部117は、i=1, …, nについて、鍵導出関数KDFにより、認証鍵mki 0から新しい認証鍵mki 1←KDF(mki 0, Ti)を生成する。また、通信装置Ui(i∈{1, …, n})の認証鍵更新部219は、鍵導出関数KDFにより、認証鍵mki 0から新しい認証鍵mki 1←KDF(mki 0, Ti)を生成する。
(3)S115及びS216における処理により共有される第1共通鍵K1
この場合、鍵導出関数として、KDF: {0, 1}*×Zp→{0, 1}*を用いればよい。したがって、鍵交換サーバ装置Sの認証鍵更新部117は、i=1, …, nについて、鍵導出関数KDFにより、認証鍵mki 0から新しい認証鍵mki 1←KDF(mki 0, K1)を生成する。また、通信装置Ui(i∈{1, …, n})の認証鍵更新部219は、鍵導出関数KDFにより、認証鍵mki 0から新しい認証鍵mki 1←KDF(mki 0, K1)を生成する。
<
In the authentication key update process in S117 and S219, a new authentication key is generated using the current authentication key and session ID as the input of the key derivation function, but instead of the session ID, the following data is generated as the input of the key derivation function: Either may be used.
(1) R i or c i shared by the processing in
In this case, KDF: {0, 1} * × G → {0, 1} * may be used as the key derivation function. Therefore, the authentication
(2) T i shared by the processing in S 215 and
In this case, KDF: {0, 1} * × Z p 2 → {0, 1} * may be used as the key derivation function. Therefore, the authentication
(3) The first common key K 1 shared by the processing in S115 and S216
In this case, KDF: {0, 1} * × Z p → {0, 1} * may be used as the key derivation function. Therefore, the authentication
認証鍵の更新に用いるsid、Ri、ci、Ti、K1のことを認証鍵更新情報μi(i=1, …, n)という。なお、ここに挙げたsid、Ri、ci、Ti、K1のように、鍵交換サーバ装置Sと通信装置Uiの間で既に共有されている情報を認証鍵更新情報μiとすることができる。鍵交換サーバ装置Sと通信装置Uiの間で既に共有されている情報とは、鍵交換サーバ装置SによるS116、通信装置UiによるS216の処理までに鍵交換サーバ装置Sと通信装置Uiの間で共有される情報のことである。
The sid, R i , c i , T i , and K 1 used to update the authentication key are referred to as authentication key update information μ i (i = 1,..., N). The information already shared between the key exchange server device S and the communication device U i such as sid, R i , c i , T i and K 1 listed here is the authentication key update information μ i and can do. The information already shared between the key exchange server S and the communication device U i refers to the key exchange server S and the communication device U i by the process of
<変形例4>
鍵導出関数の定義に用いる鍵集合Kdについて、Kd=φ(ただし、φは空集合)としてもよい。つまり、KDF: {0, 1}*→{0, 1}*とする。この場合、S117及びS219における認証鍵更新処理は以下のようになる。鍵交換サーバ装置Sの認証鍵更新部117は、i=1, …, nについて、鍵導出関数KDFにより、認証鍵mki 0から新しい認証鍵mki 1←KDF(mki 0)を生成する。また、通信装置Ui(i∈{1, …, n})の認証鍵更新部219は、鍵導出関数KDFにより、認証鍵mki 0から新しい認証鍵mki 1←KDF(mki 0)を生成する。
<Modification 4>
The key set K d used to define the key derivation function may be K d = φ (where φ is an empty set). That is, KDF: {0, 1} * → {0, 1} * . In this case, the authentication key update process in S117 and S219 is as follows. The authentication
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
<Supplementary Note>
The apparatus according to the present invention is, for example, an input unit to which a keyboard or the like can be connected, an output unit to which a liquid crystal display or the like can be connected as a single hardware entity, or a communication device (for example, communication cable) capable of communicating outside the hardware entity. Communication unit that can be connected, CPU (central processing unit, cache memory, registers, etc. may be provided), RAM or ROM that is memory, external storage device that is hard disk, input unit for these, output unit, communication unit , CPU, RAM, ROM, and a bus connected so as to enable exchange of data between external storage devices. If necessary, the hardware entity may be provided with a device (drive) capable of reading and writing a recording medium such as a CD-ROM. Examples of physical entities provided with such hardware resources include general purpose computers.
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。 The external storage device of the hardware entity stores a program necessary for realizing the above-mentioned function, data required for processing the program, and the like (not limited to the external storage device, for example, the program is read) It may be stored in the ROM which is a dedicated storage device). In addition, data and the like obtained by the processing of these programs are appropriately stored in a RAM, an external storage device, and the like.
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。 In the hardware entity, each program stored in the external storage device (or ROM etc.) and data necessary for processing of each program are read into the memory as necessary, and interpreted and processed appropriately by the CPU . As a result, the CPU realizes predetermined functions (each component requirement expressed as the above-mentioned,...
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。 The present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention. Further, the processing described in the above embodiment may be performed not only in chronological order according to the order of description but also may be performed in parallel or individually depending on the processing capability of the device that executes the processing or the necessity. .
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。 As described above, when the processing function in the hardware entity (the apparatus of the present invention) described in the above embodiment is implemented by a computer, the processing content of the function that the hardware entity should have is described by a program. Then, by executing this program on a computer, the processing function of the hardware entity is realized on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。 The program describing the processing content can be recorded in a computer readable recording medium. As the computer readable recording medium, any medium such as a magnetic recording device, an optical disc, a magneto-optical recording medium, a semiconductor memory, etc. may be used. Specifically, for example, as a magnetic recording device, a hard disk device, a flexible disk, a magnetic tape or the like as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only) Memory), CD-R (Recordable) / RW (Rewritable), etc. as magneto-optical recording medium, MO (Magneto-Optical disc) etc., as semiconductor memory EEP-ROM (Electronically Erasable and Programmable Only Read Memory) etc. Can be used.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 Further, this program is distributed, for example, by selling, transferring, lending, etc. a portable recording medium such as a DVD, a CD-ROM or the like in which the program is recorded. Furthermore, this program may be stored in a storage device of a server computer, and the program may be distributed by transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 For example, a computer that executes such a program first temporarily stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. Then, at the time of execution of the process, the computer reads the program stored in its own recording medium and executes the process according to the read program. Further, as another execution form of this program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and further, the program is transferred from the server computer to this computer Each time, processing according to the received program may be executed sequentially. In addition, a configuration in which the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes processing functions only by executing instructions and acquiring results from the server computer without transferring the program to the computer It may be Note that the program in the present embodiment includes information provided for processing by a computer that conforms to the program (such as data that is not a direct command to the computer but has a property that defines the processing of the computer).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 Further, in this embodiment, the hardware entity is configured by executing a predetermined program on a computer, but at least a part of the processing content may be realized as hardware.
Claims (6)
U1を前記通信装置U1, …, Unから選択された1台の代表通信装置、timeoを現在時刻、IDを通信装置を表す述語変数、TFmをタイムフレームを表す述語変数とし、
前記鍵交換サーバ装置Sの記録部には、長期秘密鍵SSKs=(msk, stS, st'S)(ただし、mskは属性ベース暗号のマスター秘密鍵、stS、st'Sはそれぞれ秘密ストリング)が記録されており、
前記通信装置Ui(i=1, …, n)の記録部には、長期秘密鍵SSKi=(ski, sti, st'i)(ただし、skiは前記通信装置Uiの公開鍵暗号の秘密鍵、sti、st'iはそれぞれ秘密ストリング)が記録されており、
前記鍵交換サーバ装置Sが、i=1, …, nについて、属性をAi=(Ui, timeo)として、属性ベース暗号の鍵導出アルゴリズムにより、属性ベース暗号の公開パラメータParamsと前記マスター秘密鍵mskを用いて、前記通信装置Uiの属性秘密鍵uskiを生成し、メッセージ認証子の鍵生成アルゴリズムにより、前記通信装置UiのMAC鍵mki 0を認証鍵として生成し、公開鍵暗号の暗号化アルゴリズムにより、前記通信装置Uiの長期公開鍵SPKi=pki(ただし、pkiは前記通信装置Uiの公開鍵暗号の公開鍵)を用いて、前記属性秘密鍵uskiおよび前記認証鍵mki 0を暗号化し、暗号文CTiを生成し、前記暗号文CTiを前記通信装置Ui(i∈{1, …, n})へ送信する認証鍵生成ステップと、
前記通信装置Ui(i=1, …, n)が、公開鍵暗号の復号アルゴリズムにより、前記秘密鍵skiを用いて、前記暗号文CTiを復号し、前記属性秘密鍵uskiと前記認証鍵mki 0を取得する認証鍵受信ステップと、
前記通信装置Ui(i=1, …, n)が、ねじれ擬似ランダム関数により前記秘密ストリングsti, st'iを用いてri, ki, siを生成し、第1鍵Ri=gr_iおよびci=gk_ihs_iを生成し、メッセージ認証子のタグ生成アルゴリズムにより、前記認証鍵mki 0を用いて、前記Ri, ciから認証タグti 1を生成し、(Ri, ci, ti 1)を前記鍵交換サーバ装置Sへ送信する第1鍵生成ステップと、
前記鍵交換サーバ装置Sが、i=1, …, nについて、メッセージ認証子の検証アルゴリズムにより、前記認証鍵mki 0と前記Ri, ciを用いて、前記認証タグti 1を検証する第1鍵受信ステップと、
前記鍵交換サーバ装置Sが、衝突困難ハッシュ関数により、前記c1, …, cnを用いてセッションID sidを生成し、i=1, …, nについて、メッセージ認証子のタグ生成アルゴリズムにより、前記認証鍵mki 0を用いて、前記sid, Rα, Rβから認証タグti 2を生成し、(sid, Rα, Rβ, ti 2)を前記通信装置Ui(i∈{1, …, n})へ送信するセッションID生成ステップと、
前記通信装置Ui(i∈{2, …, n})が、メッセージ認証子の検証アルゴリズムにより、前記認証鍵mki 0と前記sid, Rα, Rβを用いて、前記認証タグti 2を検証し、前記認証タグti 2が正当である場合、擬似ランダム関数により前記sid, Rα r_iを用いてKi lを生成し、擬似ランダム関数により前記sid, Rβ r_iを用いてKi rを生成し、前記Ki lと前記Ki rとの排他的論理和により第2鍵Tiを生成し、
前記代表通信装置U1が、メッセージ認証子の検証アルゴリズムにより、前記認証鍵mk1 0と前記sid, Rn, R2を用いて、前記認証タグt1 2を検証し、前記認証タグt1 2が正当である場合、擬似ランダム関数により前記sid, Rn r_1を用いてK1 lを生成し、擬似ランダム関数により前記sid, R2 r_1を用いてK1 rを生成し、前記K1 lと前記K1 rとの排他的論理和により第2鍵T1を生成し、前記K1 lとk1||s1との排他的論理和によりT'を生成する第2鍵生成ステップと、
前記通信装置Ui(i∈{2, …, n})が、メッセージ認証子のタグ生成アルゴリズムにより、前記認証鍵mki 0を用いて、前記Ri, ci, Rα, Rβ, ki, si, Ti, Ui, sidから認証タグti 3を生成し、(ki, si, Ti, ti 3)を前記鍵交換サーバ装置Sへ送信し、
前記代表通信装置U1が、メッセージ認証子のタグ生成アルゴリズムにより、前記認証鍵mk1 0を用いて、前記R1, c1, Rn, R2, T1, T', U1, sidから認証タグt1 3を生成し、(T1, T', t1 3)を前記鍵交換サーバ装置Sへ送信する第2鍵送信ステップと、
前記鍵交換サーバ装置Sが、i=2, …, nについて、メッセージ認証子の検証アルゴリズムにより、前記認証鍵mki 0と前記Ri, ci, Rα, Rβ, ki, si, Ti, Ui, sidを用いて、前記認証タグti 3を検証し、i=1について、メッセージ認証子の検証アルゴリズムにより、前記認証鍵mk1 0と前記R1, c1, Rn, R2, T1, T', U1, sidを用いて、前記認証タグt1 3を検証する第2鍵受信ステップと、
前記鍵交換サーバ装置Sが、ねじれ擬似ランダム関数により、前記秘密ストリングstS, st'Sを用いて、kS, 第1共通鍵K1を生成し、前記k2, …, kn, ksの排他的論理和により、k'を生成し、i=2, …, nについて、前記T1, …, Ti-1の排他的論理和により、T'iを生成し、i=1, …, nについて、条件Pi=(ID=Ui)∧(timeo∈TFm)として、属性ベース暗号の暗号化アルゴリズムにより、前記公開パラメータParamsを用いて、前記第1共通鍵K1を暗号化して、暗号文CT'iを生成する第1共通鍵生成ステップと、
前記鍵交換サーバ装置Sが、i=2, …, nについて、メッセージ認証子のタグ生成アルゴリズムにより、前記認証鍵mki 0を用いて、前記Ri, ci, Rα, Rβ, ki, si, Ti, Ui, sid, c1, k', T'i, T', CT'iから認証タグti 4を生成し、(c1, k', T'i, T', CT'i, ti 4)を前記通信装置Uiへ送信し、i=1について、メッセージ認証子のタグ生成アルゴリズムにより、前記認証鍵mk1 0を用いて、前記R1, c1, Rn, R2, T1, T', U1, sid, k', CT'1から認証タグt1 4を生成し、(k', CT'1, t1 4)を前記代表通信装置U1へ送信する第1共通鍵送信ステップと、
認証鍵更新情報μi(i=1, …, n)を前記鍵交換サーバ装置Sと前記通信装置Uiの間で既に共有されている情報であるとし、
前記鍵交換サーバ装置Sが、i=1, …, nについて、鍵導出関数により、前記認証鍵mki 0と前記認証鍵更新情報μi、または、前記認証鍵mki 0から新しい認証鍵mki 1を生成する認証鍵更新ステップと、
前記通信装置Ui(i∈{2, …, n})が、メッセージ認証子の検証アルゴリズムにより、前記認証鍵mki 0と前記Ri, ci, Rα, Rβ, ki, si, Ti, Ui, sid, c1, k', T'i, T', CT'iを用いて、前記認証タグti 4を検証し、前記認証タグti 4が正当である場合、前記T'iと前記Ki lとの排他的論理和によりK1 lを生成し、前記T'と前記K1 lとの排他的論理和によりk1||s1を生成し、属性ベース暗号の復号アルゴリズムにより、前記属性秘密鍵uskiを用いて、前記暗号文CT'iから第1共通鍵K1を復号し、
前記代表通信装置U1が、メッセージ認証子の検証アルゴリズムにより、前記認証鍵mk1 0と前記R1, c1, Rn, R2, T1, T', U1, sid, k', CT'1を用いて、前記認証タグt1 4を検証し、前記認証タグti 4が正当である場合、属性ベース暗号の復号アルゴリズムにより、前記属性秘密鍵uskiを用いて、前記暗号文CT'1から第1共通鍵K1を復号する第1共通鍵受信ステップと、
前記通信装置Ui(i∈{1, …, n})が、擬似ランダム関数により前記セッションID sidおよび前記k'と前記k1との排他的論理和を用いて生成した値により、第2共通鍵K2を生成し、擬似ランダム関数により前記sid, K1を用いて生成した値と疑似ランダム関数により前記sid, K2を用いて生成した値の排他的論理和により、セッション鍵SKを生成するセッション鍵生成ステップと、
前記通信装置Ui(i∈{1, …, n})が、鍵導出関数により、前記認証鍵mki 0と前記認証鍵更新情報μi、または、前記認証鍵mki 0から新しい認証鍵mki 1を生成する認証鍵更新ステップと
を含む鍵交換方法。 Let n be an integer of 2 or more, and α and β be values defined by the following formula,
The communication device U 1 to U 1, and ..., U n 1 single representative communication device selected from, time o the current time, the predicate variable representing a communication apparatus ID, and the predicate variable representing the time frame TF m,
In the recording unit of the key exchange server apparatus S, long-term secret key SSK s = (msk, st S , st ' S ) (wherein msk is a master secret key of attribute-based encryption, st S and st' S are secret respectively). String) is recorded,
The communication device U i (i = 1, ... , n) to the recording portion of the long-term secret key SSK i = (sk i, st i, st 'i) ( provided that, sk i public of the communication device U i The secret key of the key encryption, st i and st ' i are each a secret string) is recorded,
The key exchange server apparatus S sets the attribute A i = (U i , time o ) for i = 1,..., N by the key derivation algorithm of the attribute based encryption, the public parameter Params of the attribute based encryption and the master using the secret key msk, generates attribute secret key usk i of the communication device U i, by the key generation algorithm of the message authentication code, generates a MAC key mk i 0 of the communication device U i as the authentication key, public the encryption algorithm key encryption, the long-term public key SPK i = pk i of the communication device U i (however, pk i is the public key of the public key encryption of the communication device U i) using the attribute secret key usk i and the authentication key mk i 0 encrypting to generate a ciphertext CT i, the ciphertext CT i said communication device U i (i∈ {1, ... , n}) and the authentication key generating step of transmitting to the ,
The communication device U i (i = 1,..., N) decrypts the ciphertext CT i using the secret key sk i according to a decryption algorithm of public key cryptography, and the attribute secret key uski i An authentication key receiving step of acquiring an authentication key mk i 0 ;
The communication device U i (i = 1,..., N) generates r i , k i , s i using the secret string st i , st ′ i according to a twist pseudo random function, and generates a first key R i = g r_i and c i = g k_i h s_i are generated, and an authentication tag t i 1 is generated from the R i and c i using the authentication key mk i 0 according to a tag generation algorithm of the message authentication coder , A first key generation step of transmitting (R i , c i , t i 1 ) to the key exchange server apparatus S;
The key exchange server apparatus S verifies the authentication tag t i 1 using the authentication key mk i 0 and the R i and c i according to a message authentication code verification algorithm for i = 1,. A first key receiving step
The key exchange server apparatus S generates a session ID sid using the c 1 ,..., C n according to the collision hard hash function, and for i = 1,. by using the authentication key mk i 0, the sid, R α, generates an authentication tag t i 2 from R β, (sid, R α , R β, t i 2) the communication device U i (i ∈ A session ID generation step for sending to {1, ..., n}),
The communication device U i (iε {2,..., N}) uses the authentication key mk i 0 and the sid, R α , R β according to the verification algorithm of the message authentication code, and the authentication tag t i 2 is verified, and if the authentication tag t i 2 is valid, a pseudo random function is used to generate K i l using the sid, R α r_i , and a pseudo random function is using the sid, R β r_i Generate K i r and generate a second key T i by exclusive OR of the K i l and the K i r ;
The representative communication device U 1 is the verification algorithm of message authentication codes, the said authentication key mk 1 0 sid, R n, with R 2, wherein to verify the authentication tag t 1 2, wherein the authentication tag t 1 If 2 is valid, the by pseudo-random function sid, with R n r_1 generates K 1 l, wherein sid, with R 2 r_1 generates K 1 r by a pseudo-random function, the K 1 a second key generation step of generating a second key T 1 by XOR of l and the K 1 r, and T ′ by XOR of the K 1 l and k 1 || s 1 When,
The communication device U i (iε {2,..., N}) uses the authentication key mk i 0 according to the tag generation algorithm of the message authentication code to use the R i , c i , R α , R β , An authentication tag t i 3 is generated from k i , s i , T i , U i , sid, and (k i , s i , T i , t i 3 ) is transmitted to the key exchange server apparatus S,
The representative communication device U 1 is, by the tag generation algorithm message authentication codes, by using the authentication key mk 1 0, wherein R 1, c 1, R n , R 2, T 1, T ', U 1, sid generates an authentication tag t 1 3 from the second key transmitting step of transmitting (T 1, T ', t 1 3) to the key exchange server device S,
The key exchange server apparatus S uses the authentication key mk i 0 and the R i , c i , R α , R β , k i , s i according to the message authentication code verification algorithm for i = 2,. , T i, U i, using sid, verifies the authentication tag t i 3, for i = 1, the verification algorithm of the message authentication codes, the said authentication key mk 1 0 R 1, c 1 , R n, R 2, T 1, T ', with U 1, sid, a second key reception step of verifying the authentication tag t 1 3,
The key exchange server device S is, by twisting the pseudo random function, the secret string st S, st 'with S, k S, first generates a common key K 1, the k 2, ..., k n, k The exclusive OR of s generates k ′, and for i = 2,..., n, the exclusive OR of T 1 ,..., T i−1 generates T ′ i , i = 1 , ..., n, the first common key K 1 using the public parameter Params according to the encryption algorithm of attribute-based encryption as a condition P i = (ID = U i ) ∧ (time o ∈TF m ) To generate a ciphertext CT ′ i by encrypting the first common key generation step;
The key exchange server apparatus S uses the authentication key mk i 0 according to the tag generation algorithm of the message authentication coder for i = 2,..., N to use the R i , c i , R α , R β , k An authentication tag t i 4 is generated from i , s i , T i , U i , sid, c 1 , k ′, T ′ i , T ′, CT ′ i (c 1 , k ′, T ′ i , T ', CT' i, transmits a t i 4) to the communication device U i, for i = 1, by the tag generation algorithm message authentication codes, by using the authentication key mk 1 0, wherein R 1, c 1 , R n , R 2 , T 1 , T ′, U 1 , sid, k ′, CT ′ 1 Generate an authentication tag t 1 4 from the above, (k ′, CT ′ 1 , t 1 4 ) A first common key transmission step of transmitting to the communication device U 1 ;
It is assumed that authentication key update information μ i (i = 1,..., N) is information already shared between the key exchange server apparatus S and the communication apparatus U i .
The key exchange server apparatus S obtains the authentication key mk i 0 and the authentication key update information μ i or the authentication key mk i 0 new from the authentication key mk i 0 using a key derivation function for i = 1,. an authentication key update step of generating i 1 ;
The communication device U i (iε {2,..., N}) is configured to verify the authentication key mk i 0 and the R i , c i , R α , R β , k i , s according to a message authentication code verification algorithm. The authentication tag t i 4 is verified using i , T i , U i , sid, c 1 , k ′, T ′ i , T ′, CT ′ i and the authentication tag t i 4 is valid In this case, K 1 l is generated by the exclusive OR of the T ′ i and the K i l, and k 1 || s 1 is generated by the exclusive OR of the T ′ and the K 1 l , the decoding algorithm of the attribute-based encryption, using the attribute secret key usk i, decrypts the first common key K 1 from the ciphertext CT 'i,
The representative communication device U 1 is the verification algorithm of message authentication codes, the said authentication key mk 1 0 R 1, c 1 , R n, R 2, T 1, T ', U 1, sid, k', using CT '1, wherein to verify the authentication tag t 1 4, when the authentication tag t i 4 is valid, the decoding algorithm of the attribute-based encryption, using the attribute secret key usk i, the ciphertext from CT '1 and the first common key receiving step of decoding the first common key K 1,
The second communication device U i (iε {1,..., N}) generates a second by a value generated using the session ID sid and the k ′ and the exclusive OR of the k 1 by a pseudo random function. generates a common key K 2, the by pseudo-random function sid, wherein the value and the pseudo-random function generated using K 1 sid, the exclusive OR of the generated value with K 2, the session key SK A session key generation step to generate;
The communication device U i (iε {1,..., N}) uses the key derivation function to obtain the authentication key mk i 0 and the authentication key update information μ i or the authentication key new from the authentication key mk i 0 A key exchange method comprising: an authentication key update step of generating mk i 1 ;
U1を前記通信装置U1, …, Unから選択された1台の代表通信装置、timeoを現在時刻、IDを通信装置を表す述語変数、TFmをタイムフレームを表す述語変数とし、
前記鍵交換サーバ装置Sの記録部には、長期秘密鍵SSKs=(msk, stS, st'S)(ただし、mskは属性ベース暗号のマスター秘密鍵、stS、st'Sはそれぞれ秘密ストリング)が記録されており、
前記通信装置Ui(i=1, …, n)の記録部には、長期秘密鍵SSKi=(ski, sti, st'i)(ただし、skiは前記通信装置Uiの公開鍵暗号の秘密鍵、sti、st'iはそれぞれ秘密ストリング)が記録されており、
前記鍵交換サーバ装置Sが、i=1, …, nについて、属性をAi=(Ui, timeo)として、属性ベース暗号の鍵導出アルゴリズムにより、属性ベース暗号の公開パラメータParamsと前記マスター秘密鍵mskを用いて、前記通信装置Uiの属性秘密鍵uskiを生成し、メッセージ認証子の鍵生成アルゴリズムにより、前記通信装置UiのMAC鍵mki 0を認証鍵として生成し、公開鍵暗号の暗号化アルゴリズムにより、前記通信装置Uiの長期公開鍵SPKi=pki(ただし、pkiは前記通信装置Uiの公開鍵暗号の公開鍵)を用いて、前記属性秘密鍵uskiおよび前記認証鍵mki 0を暗号化し、暗号文CTiを生成し、前記暗号文CTiを前記通信装置Ui(i∈{1, …, n})へ送信する認証鍵生成ステップと、
前記通信装置Ui(i=1, …, n)が、公開鍵暗号の復号アルゴリズムにより、前記秘密鍵skiを用いて、前記暗号文CTiを復号し、前記属性秘密鍵uskiと前記認証鍵mki 0を取得する認証鍵受信ステップと、
前記通信装置Ui(i=1, …, n)が、ねじれ擬似ランダム関数により前記秘密ストリングsti, st'iを用いてri, ki, siを生成し、第1鍵Ri=gr_iおよびci=gk_ihs_iを生成し、 (Ri, ci)を前記鍵交換サーバ装置Sへ送信する第1鍵生成ステップと、
前記鍵交換サーバ装置Sが、衝突困難ハッシュ関数により、前記c1, …, cnを用いてセッションID sidを生成し、(sid, Rα, Rβ)を前記通信装置Ui(i∈{1, …, n})へ送信するセッションID生成ステップと、
前記通信装置Ui(i∈{2, …, n})が、擬似ランダム関数により前記sid, Rα r_iを用いてKi lを生成し、擬似ランダム関数により前記sid, Rβ r_iを用いてKi rを生成し、前記Ki lと前記Ki rとの排他的論理和により第2鍵Tiを生成し、
前記代表通信装置U1が、擬似ランダム関数により前記sid, Rn r_1を用いてK1 lを生成し、擬似ランダム関数により前記sid, R2 r_1を用いてK1 rを生成し、前記K1 lと前記K1 rとの排他的論理和により第2鍵T1を生成し、前記K1 lとk1||s1との排他的論理和によりT'を生成する第2鍵生成ステップと、
前記通信装置Ui(i∈{2, …, n})が、(ki, si, Ti)を前記鍵交換サーバ装置Sへ送信し、
前記代表通信装置U1が、(T1, T')を前記鍵交換サーバ装置Sへ送信する第2鍵送信ステップと、
前記鍵交換サーバ装置Sが、ねじれ擬似ランダム関数により、前記秘密ストリングstS, st'Sを用いて、kS, 第1共通鍵K1を生成し、前記k2, …, kn, ksの排他的論理和により、k'を生成し、i=2, …, nについて、前記T1, …, Ti-1の排他的論理和により、T'iを生成し、i=1, …, nについて、条件Pi=(ID=Ui)∧(timeo∈TFm)として、属性ベース暗号の暗号化アルゴリズムにより、前記公開パラメータParamsを用いて、前記第1共通鍵K1を暗号化して、暗号文CT'iを生成する第1共通鍵生成ステップと、
前記鍵交換サーバ装置Sが、i=2, …, nについて、(c1, k', T'i, T', CT'i)を前記通信装置Uiへ送信し、i=1について、(k', CT'1)を前記代表通信装置U1へ送信する第1共通鍵送信ステップと、
認証鍵更新情報μi(i=1, …, n)を前記鍵交換サーバ装置Sと前記通信装置Uiの間で既に共有されている情報であるとし、
前記鍵交換サーバ装置Sが、i=1, …, nについて、鍵導出関数により、前記認証鍵mki 0と前記認証鍵更新情報μi、または、前記認証鍵mki 0から新しい認証鍵mki 1を生成する認証鍵更新ステップと、
前記通信装置Ui(i∈{2, …, n})が、前記T'iと前記Ki lとの排他的論理和によりK1 lを生成し、前記T'と前記K1 lとの排他的論理和によりk1||s1を生成し、属性ベース暗号の復号アルゴリズムにより、前記属性秘密鍵uskiを用いて、前記暗号文CT'iから第1共通鍵K1を復号し、
前記代表通信装置U1が、属性ベース暗号の復号アルゴリズムにより、前記属性秘密鍵uskiを用いて、前記暗号文CT'1から第1共通鍵K1を復号する第1共通鍵受信ステップと、
前記通信装置Ui(i∈{1, …, n})が、擬似ランダム関数により前記セッションID sidおよび前記k'と前記k1との排他的論理和を用いて生成した値により、第2共通鍵K2を生成し、擬似ランダム関数により前記sid, K1を用いて生成した値と疑似ランダム関数により前記sid, K2を用いて生成した値の排他的論理和により、セッション鍵SKを生成するセッション鍵生成ステップと、
前記通信装置Ui(i∈{1, …, n})が、鍵導出関数により、前記認証鍵mki 0と前記認証鍵更新情報μi、または、前記認証鍵mki 0から新しい認証鍵mki 1を生成する認証鍵更新ステップと
を含む鍵交換方法。 Let n be an integer of 2 or more, and α and β be values defined by the following formula,
The communication device U 1 to U 1, and ..., U n 1 single representative communication device selected from, time o the current time, the predicate variable representing a communication apparatus ID, and the predicate variable representing the time frame TF m,
In the recording unit of the key exchange server apparatus S, long-term secret key SSK s = (msk, st S , st ' S ) (wherein msk is a master secret key of attribute-based encryption, st S and st' S are secret respectively). String) is recorded,
The communication device U i (i = 1, ... , n) to the recording portion of the long-term secret key SSK i = (sk i, st i, st 'i) ( provided that, sk i public of the communication device U i The secret key of the key encryption, st i and st ' i are each a secret string) is recorded,
The key exchange server apparatus S sets the attribute A i = (U i , time o ) for i = 1,..., N by the key derivation algorithm of the attribute based encryption, the public parameter Params of the attribute based encryption and the master using the secret key msk, generates attribute secret key usk i of the communication device U i, by the key generation algorithm of the message authentication code, generates a MAC key mk i 0 of the communication device U i as the authentication key, public the encryption algorithm key encryption, the long-term public key SPK i = pk i of the communication device U i (however, pk i is the public key of the public key encryption of the communication device U i) using the attribute secret key usk i and the authentication key mk i 0 encrypting to generate a ciphertext CT i, the ciphertext CT i said communication device U i (i∈ {1, ... , n}) and the authentication key generating step of transmitting to the ,
The communication device U i (i = 1,..., N) decrypts the ciphertext CT i using the secret key sk i according to a decryption algorithm of public key cryptography, and the attribute secret key uski i An authentication key receiving step of acquiring an authentication key mk i 0 ;
The communication device U i (i = 1,..., N) generates r i , k i , s i using the secret string st i , st ′ i according to a twist pseudo random function, and generates a first key R i = generates g r_i and c i = g k_i h s_i, a first key generating step of transmitting (R i, c i) of the said key exchange server device S,
The key exchange server apparatus S generates a session ID sid using the c 1 ,..., C n according to the collision hard hash function, and (sid, R α , R β ) is used as the communication apparatus U i (i∈ A session ID generation step for sending to {1, ..., n}),
The communication device U i (iε {2,..., N}) generates K i l using the sid, R α r_i with a pseudorandom function, and uses the sid, R β r_i with a pseudo random function K i r to generate, to generate the K i l and the K i second key T i by exclusive OR of the r Te,
The representative communication device U 1 generates K 1 l using the sid and R n r 1 by a pseudo random function, and generates K 1 r using the sid and R 2 r 1 by a pseudo random function, the K Second key generation that generates a second key T 1 by exclusive OR of 1 l and the K 1 r, and generates T ′ by exclusive OR of the K 1 l and k 1 || s 1 Step and
The communication device U i (iε {2,..., N}) transmits (k i , s i , T i ) to the key exchange server apparatus S,
A second key transmission step in which the representative communication device U 1 transmits (T 1 , T ′) to the key exchange server device S;
The key exchange server device S is, by twisting the pseudo random function, the secret string st S, st 'with S, k S, first generates a common key K 1, the k 2, ..., k n, k The exclusive OR of s generates k ′, and for i = 2,..., n, the exclusive OR of T 1 ,..., T i−1 generates T ′ i , i = 1 , ..., n, the first common key K 1 using the public parameter Params according to the encryption algorithm of attribute-based encryption as a condition P i = (ID = U i ) ∧ (time o ∈TF m ) To generate a ciphertext CT ′ i by encrypting the first common key generation step;
The key exchange server apparatus S transmits (c 1 , k ′, T ′ i , T ′, CT ′ i ) for i = 2,..., N to the communication apparatus U i , and for i = 1 a first common key transmission step of transmitting (k ′, CT ′ 1 ) to the representative communication device U 1 ;
It is assumed that authentication key update information μ i (i = 1,..., N) is information already shared between the key exchange server apparatus S and the communication apparatus U i .
The key exchange server apparatus S obtains the authentication key mk i 0 and the authentication key update information μ i or the authentication key mk i 0 new from the authentication key mk i 0 using a key derivation function for i = 1,. an authentication key update step of generating i 1 ;
The communication device U i (i∈ {2, ... , n}) is the T 'generates K 1 l by exclusive OR of i and the K i l, the T' and said K 1 l k 1 generates || s 1 by XOR, the decoding algorithm of attribute-based encryption, using the attribute secret key usk i, decrypts the first common key K 1 from the ciphertext CT 'i ,
The representative communication device U 1 is the decoding algorithm of the attribute-based encryption, using the attribute secret key usk i, a first common key receiving step of decoding the first common key K 1 from the ciphertext CT '1,
The second communication device U i (iε {1,..., N}) generates a second by a value generated using the session ID sid and the k ′ and the exclusive OR of the k 1 by a pseudo random function. generates a common key K 2, the by pseudo-random function sid, wherein the value and the pseudo-random function generated using K 1 sid, the exclusive OR of the generated value with K 2, the session key SK A session key generation step to generate;
The communication device U i (iε {1,..., N}) uses the key derivation function to obtain the authentication key mk i 0 and the authentication key update information μ i or the authentication key new from the authentication key mk i 0 A key exchange method comprising: an authentication key update step of generating mk i 1 ;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018006108A JP2019125956A (en) | 2018-01-18 | 2018-01-18 | Key exchange method, key exchange system, key exchange server device, communication device, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018006108A JP2019125956A (en) | 2018-01-18 | 2018-01-18 | Key exchange method, key exchange system, key exchange server device, communication device, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019125956A true JP2019125956A (en) | 2019-07-25 |
Family
ID=67399140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018006108A Pending JP2019125956A (en) | 2018-01-18 | 2018-01-18 | Key exchange method, key exchange system, key exchange server device, communication device, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019125956A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113645032A (en) * | 2021-08-16 | 2021-11-12 | 北卡科技有限公司 | Dynamic updating method and device for group key |
WO2022038845A1 (en) | 2020-08-21 | 2022-02-24 | アーモンド株式会社 | Encryption method, terminal device, encryption system, and program |
CN116137710A (en) * | 2021-11-17 | 2023-05-19 | 北京大学 | Universal three-party password authentication key exchange method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015170453A1 (en) * | 2014-05-08 | 2015-11-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | On-vehicle network system, fraud-detection electronic control unit, and method for tackling fraud |
JP2017194521A (en) * | 2016-04-19 | 2017-10-26 | 日本電信電話株式会社 | Key exchange method and key exchange system |
-
2018
- 2018-01-18 JP JP2018006108A patent/JP2019125956A/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015170453A1 (en) * | 2014-05-08 | 2015-11-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | On-vehicle network system, fraud-detection electronic control unit, and method for tackling fraud |
JP2017194521A (en) * | 2016-04-19 | 2017-10-26 | 日本電信電話株式会社 | Key exchange method and key exchange system |
Non-Patent Citations (2)
Title |
---|
YONEYAMA, KAZUKI ET AL.: "Multi-cast Key Distribution: Scalable, Dynamic and Provably Secure Construction", LECTURE NOTES IN COMPUTER SCIENCE, vol. 10005, JPN6020049532, 2016, pages 207 - 226, ISSN: 0004413492 * |
松井 政裕,他: "動的同報鍵交換プロトコルにおける長期秘密鍵漏洩後の安全性の検討", 電子情報通信学会技術研究報告, vol. 117, no. 316, JPN6020049531, 13 November 2017 (2017-11-13), JP, pages 29 - 34, ISSN: 0004535171 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022038845A1 (en) | 2020-08-21 | 2022-02-24 | アーモンド株式会社 | Encryption method, terminal device, encryption system, and program |
CN113645032A (en) * | 2021-08-16 | 2021-11-12 | 北卡科技有限公司 | Dynamic updating method and device for group key |
CN113645032B (en) * | 2021-08-16 | 2023-06-09 | 北卡科技有限公司 | Dynamic updating method and device for group key |
CN116137710A (en) * | 2021-11-17 | 2023-05-19 | 北京大学 | Universal three-party password authentication key exchange method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113424185B (en) | Fast inadvertent transmission | |
JP7033120B2 (en) | Methods and systems for quantum key distribution based on trusted computing | |
US8379857B1 (en) | Secure key distribution for private communication in an unsecured communication channel | |
JP5562687B2 (en) | Securing communications sent by a first user to a second user | |
JP2019531630A (en) | Method and system for data security based on quantum communication and trusted computing | |
JP6497747B2 (en) | Key exchange method, key exchange system | |
Chikouche et al. | A privacy-preserving code-based authentication protocol for Internet of Things | |
US11677543B2 (en) | Key exchange method and key exchange system | |
US12034862B2 (en) | Anonymous broadcast method, key exchange method, anonymous broadcast system, key exchange system, communication device, and program | |
JP6556955B2 (en) | Communication terminal, server device, program | |
JP6770075B2 (en) | Encrypted message search method, message sending / receiving system, terminal, program | |
JP2020532177A (en) | Computer-implemented systems and methods for advanced data security, high-speed encryption, and transmission | |
Bhandari et al. | A framework for data security and storage in Cloud Computing | |
TW202232913A (en) | Generating shared keys | |
JP2019125956A (en) | Key exchange method, key exchange system, key exchange server device, communication device, and program | |
Olumide et al. | A hybrid encryption model for secure cloud computing | |
JP6368047B2 (en) | Key exchange method, key exchange system, key distribution device, representative communication device, general communication device, and program | |
Barenghi et al. | Snake: An end-to-end encrypted online social network | |
CN116866029B (en) | Random number encryption data transmission method, device, computer equipment and storage medium | |
JP2012029271A (en) | Encryption device, decryption device, encryption system, encryption method and program | |
JP2014017763A (en) | Encryption update system, encryption update request device, encryption update device, decryption device, encryption update method, and computer program | |
Montañez | New security definitions, constructions and applications of proxy re-encryption | |
Singh et al. | Security of Data with 3DES & Watermarking Algorithm | |
Pakhle et al. | Public Key Searchable Encryption Using Elliptic Curve Diffie-Hellman Cryptography. | |
Pujol et al. | A Secure and User Friendly Multi-Purpose Asymmetric Key Derivation System (MPKDS) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201222 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210629 |