JP2021034858A - Key exchange system, key exchange device, key exchange method and program - Google Patents

Key exchange system, key exchange device, key exchange method and program Download PDF

Info

Publication number
JP2021034858A
JP2021034858A JP2019152737A JP2019152737A JP2021034858A JP 2021034858 A JP2021034858 A JP 2021034858A JP 2019152737 A JP2019152737 A JP 2019152737A JP 2019152737 A JP2019152737 A JP 2019152737A JP 2021034858 A JP2021034858 A JP 2021034858A
Authority
JP
Japan
Prior art keywords
key
key exchange
communication terminal
information
communication
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
Application number
JP2019152737A
Other languages
Japanese (ja)
Inventor
裕樹 岡野
Hiroki Okano
裕樹 岡野
鉄太郎 小林
Tetsutaro Kobayashi
鉄太郎 小林
一樹 米山
Kazuki Yoneyama
一樹 米山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Ibaraki University NUC
Original Assignee
Nippon Telegraph and Telephone Corp
Ibaraki University NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, Ibaraki University NUC filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2019152737A priority Critical patent/JP2021034858A/en
Publication of JP2021034858A publication Critical patent/JP2021034858A/en
Pending legal-status Critical Current

Links

Images

Abstract

To provide a key exchange system which reduces communication cost, calculation cost, etc., of some users to be participated in a key exchange, a key exchange device, a key exchange method and a program.SOLUTION: In a key exchange system which performs key exchange among a plurality of communication terminals, a representative communication terminal 201 uses information ({Xi}iof[2,n]) which is previously calculated in partial communication terminals 20i (i=2, ..., n) to generate a session key S205. The representative communication terminals uses the generated session key and the information ({Xi}iof[2,n]) to calculate information ({Zi}iof[2,n]) for generating the session key in each of the partial communication terminals S205. Each of the partial communication terminals uses information X1 which is previously calculated in the representative communication terminal, and each of information Zi (i=2, ..., n) to generate the session key S207.SELECTED DRAWING: Figure 5

Description

本発明は、鍵交換システム、鍵交換装置、鍵交換方法及びプログラムに関する。 The present invention relates to a key exchange system, a key exchange device, a key exchange method and a program.

多者間鍵交換プロトコルが従来から知られている。例えば、ID−MKD(Identity-based multi-cast key distribution)やID−DMKD(Identity-based dynamic multi-cast key distribution)等が多者間鍵交換プロトコルとして知られている(例えば非特許文献1参照)。これらの多者間鍵交換プロトコルは、ビジネスチャットやVPN(Virtual Private Network)等での適用が想定される。 Multi-party key exchange protocols have long been known. For example, ID-MKD (Identity-based multi-cast key distribution) and ID-DMKD (Identity-based dynamic multi-cast key distribution) are known as multi-party key exchange protocols (see, for example, Non-Patent Document 1). ). These multi-party key exchange protocols are expected to be applied in business chat, VPN (Virtual Private Network), and the like.

ここで、多者間鍵交換プロトコルでは、全ユーザが安定した通信帯域を確保していることが前提となっている。また、このため、多者間鍵交換プロトコルでは、鍵計算の際の通信コスト(通信回数や送受信データ量等)や計算コスト(暗号処理の演算回数等)を全ユーザが平等に負担している。 Here, in the multi-party key exchange protocol, it is premised that all users secure a stable communication band. For this reason, in the multi-party key exchange protocol, all users equally bear the communication cost (number of communications, amount of transmitted / received data, etc.) and calculation cost (number of cryptographic operations, etc.) during key calculation. ..

Kazuki Yoneyama, Reo Yoshida, Yuto Kawahara, Tetsutaro Kobayashi, Hitoshi Fuji, and Tomohide Yamamoto. Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction. In ProvSec 2016, pages 207-226, 2016.Kazuki Yoneyama, Reo Yoshida, Yuto Kawahara, Tetsutaro Kobayashi, Hitoshi Fuji, and Tomohide Yamamoto. Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction. In ProvSec 2016, pages 207-226, 2016.

しかし、鍵交換プロトコルに参加するユーザ全員が必ずしも、使用する端末の通信環境が良い、計算処理能力が高い、というわけではない。使用する端末や利用環境は異なるため、帯域が狭い通信環境(例えば、シェアオフィスやカフェ、新幹線、飛行機等における通信環境)にいるユーザや、計算処理能力が他のユーザの端末に比べて低い端末(例えば、リリースが数年以上前の端末)を持つユーザが鍵交換セッションに存在する場合、従来の多者間鍵交換プロトコルでは、ユーザの離脱時の鍵更新時や一定時間経過に伴う鍵更新時等に、鍵更新処理が遅延したり、鍵生成エラーが発生したりすることがあった。 However, not all users who participate in the key exchange protocol have a good communication environment and high computing power of the terminal used. Since the terminals used and the usage environment are different, users in a communication environment with a narrow band (for example, communication environment in a shared office, cafe, Shinkansen, airplane, etc.) or terminals with lower computing power than other users' terminals. When a user with (for example, a terminal released several years ago) exists in a key exchange session, the conventional multi-party key exchange protocol uses a key update at the time of leaving the user or a key update over a certain period of time. At times, the key update process may be delayed or a key generation error may occur.

このため、鍵交換に参加するユーザのうち、少なくとも帯域が狭い通信環境にいるユーザの通信コストや計算処理能力の低いユーザの計算コストを削減することができる多者間鍵交換プロトコルが望まれている。 Therefore, among the users participating in the key exchange, a multi-person key exchange protocol that can reduce at least the communication cost of the user who is in a communication environment with a narrow bandwidth and the calculation cost of the user who has a low calculation processing capacity is desired. There is.

本発明の実施の形態は、上記の点に鑑みてなされたもので、鍵交換に参加する一部のユーザの通信コストや計算コストを削減することを目的とする。 An embodiment of the present invention has been made in view of the above points, and an object of the present invention is to reduce communication costs and calculation costs of some users who participate in key exchange.

上記目的を達成するため、本発明の実施の形態における鍵交換システムは、複数の通信端末U(i=1,・・・,n)間で鍵交換を行う鍵交換システムであって、前記複数の通信端末Uのうちの一部の通信端末U(i=2,・・・,n)で予め計算された情報X(i=2,・・・,n)を用いて、前記通信端末Uで、鍵Kを生成する第1の鍵生成手段と、前記鍵Kと、前記情報X(i=2,・・・,n)とを用いて、前記通信端末Uで、前記一部の通信端末U(i=2,・・・,n)の各々で前記鍵Kを生成するための情報Z(i=2,・・・,n)を計算する計算手段と、前記通信端末Uで予め計算された情報Xと、前記情報Z(i=2,・・・,n)の各々とを用いて、前記一部の通信端末U(i=2,・・・,n)の各々で、前記鍵Kを生成する第2の鍵生成手段と、を有することを特徴とする。 In order to achieve the above object, the key exchange system according to the embodiment of the present invention is a key exchange system that exchanges keys between a plurality of communication terminals Ui (i = 1, ..., N). Using the information X i (i = 2, ..., N) pre-calculated by some of the communication terminals U i (i = 2, ..., N) among the plurality of communication terminals U i, in the communication terminal U 1, using the first key generating means for generating a key K, and the key K, the information X i (i = 2, ··· , n) and the communication terminal U 1 Then, the calculation for calculating the information Z i (i = 2, ..., N) for generating the key K in each of the some communication terminals U i (i = 2, ..., N). Using the means, the information X 1 pre-calculated by the communication terminal U 1 , and each of the information Z i (i = 2, ..., N), some of the communication terminals U i (i). = 2, ..., N) is characterized by having a second key generation means for generating the key K.

鍵交換に参加する一部のユーザの通信コストや計算コストを削減することができる。 It is possible to reduce the communication cost and calculation cost of some users who participate in the key exchange.

本発明の実施の形態における鍵交換システムの全体構成の一例を示す図である。It is a figure which shows an example of the whole structure of the key exchange system in embodiment of this invention. 本発明の実施の形態における鍵交換サーバ及び通信端末のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware composition of the key exchange server and the communication terminal in embodiment of this invention. 本発明の実施の形態における鍵交換システムの機能構成の一例を示す図である。It is a figure which shows an example of the functional structure of the key exchange system in embodiment of this invention. セットアップ処理の一例を示すフローチャートである。It is a flowchart which shows an example of a setup process. 鍵交換処理(Distフェーズ)の一例を示すシーケンス図である。It is a sequence diagram which shows an example of a key exchange process (Dist phase). 鍵交換処理(Joinフェーズ)の一例を示すシーケンス図である。It is a sequence diagram which shows an example of a key exchange process (Join phase). 鍵交換処理(Updateフェーズ)の一例を示すシーケンス図である。It is a sequence diagram which shows an example of a key exchange process (Update phase).

以下、本発明の実施の形態について説明する。本発明の実施の形態では、鍵交換に参加する一部のユーザ(例えば、帯域が狭い通信環境にいるユーザや計算処理能力が低い端末を持つユーザ)の通信コストや計算コストを削減することが可能な鍵交換システム1について説明する。なお、通信コストとは通信回数や送受信データ量等のことであり、計算コストとは暗号処理に関する演算回数のことである。 Hereinafter, embodiments of the present invention will be described. In the embodiment of the present invention, it is possible to reduce the communication cost and the calculation cost of some users participating in the key exchange (for example, a user in a communication environment having a narrow band or a user having a terminal having a low calculation processing capacity). A possible key exchange system 1 will be described. The communication cost is the number of communications, the amount of transmitted / received data, and the like, and the calculation cost is the number of operations related to encryption processing.

<理論的な構成>
まず、本発明の実施の形態における鍵交換システム1の具体的な構成や処理を説明する前に、本発明の実施の形態を実現するための理論的な構成について説明する。以降では、κはセキュリティパラメータ、pはκビットの素数、Gは位数pの有限巡回群、gはGの生成元をそれぞれ表すものとする。また、Nを2以上の任意の整数として、N人のユーザがそれぞれ利用する通信端末をU,・・・,Uと表し、U,・・・,U(ただし、n≦N)の間で鍵交換を行う場合を想定する。
<Theoretical composition>
First, before explaining the specific configuration and processing of the key exchange system 1 in the embodiment of the present invention, a theoretical configuration for realizing the embodiment of the present invention will be described. In the following, κ is a security parameter, p is a prime number of κ bits, G is a finite cyclic group of order p, and g is a generator of G. Further, the N as an integer equal to or larger than 2, represents the communication terminal N users to utilize each U 1, · · ·, and U N, U 1, ···, U n ( however, n ≦ N ) Is exchanged for keys.

また、以降では、Uは安定した通信帯域が確保された通信環境にあり、十分な計算リソースが提供できる通信端末(この通信端末を「代表通信端末」とも表す。)であるものとし、U(i=2,・・・,n)は必ずしも安定した通信帯域が確保できない通信環境にある通信端末(例えば、帯域が狭い通信環境にある通信端末)又は十分な計算リソースが提供できない通信端末(例えば、相対的に低スペックな通信端末)であるものとする。 Further, hereinafter, U 1 is assumed to be a communication terminal (this communication terminal is also referred to as a "representative communication terminal") that is in a communication environment in which a stable communication band is secured and can provide sufficient computing resources. i (i = 2, ..., N) is a communication terminal in a communication environment where a stable communication band cannot always be secured (for example, a communication terminal in a communication environment with a narrow band) or a communication terminal that cannot provide sufficient computing resources. (For example, a communication terminal having relatively low specifications).

≪UGKEプロトコル≫
最初に、UGKE(Unbalanced Group Key Exchange)プロトコルについて説明する。UGKEプロトコルは古典的なDH(Diffie-Hellman)プロトコルに基づいており、DDH仮定の下で受動的な攻撃に対して安全である。
≪UGKE Protocol≫
First, the UGKE (Unbalanced Group Key Exchange) protocol will be described. The UGKE protocol is based on the classical DH (Diffie-Hellman) protocol and is safe against passive attacks under the DDH assumption.

UGKEプロトコルは、オフライン計算とオンライン計算とで構成される。オフライン計算は、各ユーザの通信端末が、他のユーザに関する情報に依存せずに実施することが可能である。したがって、各U(i=1,2,・・・,n)は、オンライン計算に先立って、事前にオフライン計算を行うことができる。 The UGKE protocol consists of offline and online calculations. The offline calculation can be performed by each user's communication terminal without depending on information about other users. Therefore, each U i (i = 1, 2, ..., N) can perform the offline calculation in advance prior to the online calculation.

(オフライン計算)
各U(i=1,2,・・・,n)は、xを生成し、
(Offline calculation)
Each U i (i = 1, 2, ..., N) produces x iR Z p ,

Figure 2021034858
を計算する。ここで、Zはpを法とする剰余類である。また、a∈Aは、集合Aから一様に(ランダムに)要素aを選択(サンプリング)することを意味する。
Figure 2021034858
To calculate. Here, Z p is a coset modulo p. Further, a∈ R A is meant to uniformly from the set A (randomly) select the element a (sampling).

そして、各Uは、(x,X)を自身の記憶装置等に保存する。 Each U i stores (x i, X i) to its storage device or the like.

(オンライン計算)
ステップS1:各U(ただし、i=2,・・・,n)は、XをUに送信する。
(Online calculation)
Step S1: Each U i (where i = 2, ..., N) transmits X i to U 1.

ステップS2:Uは、(X,・・・,X)を受信すると、SK∈Gを生成し、i∈[2,n]に対して、 Step S2: U 1, to the (X 2, ···, X n ) receives the generates SK∈ R G, i∈ [2, n],

Figure 2021034858
を計算する。なお、[m,n]はm以上n以下の整数の集合を表す。
Figure 2021034858
To calculate. Note that [m, n] represents a set of integers of m or more and n or less.

そして、Uは、i∈[2,n]に対して、(X,Z)をUに送信する。また、Uは、SKをセッション鍵として出力する。 Then, U 1 transmits (X 1 , Z i ) to U i for i ∈ [2, n]. Further, U 1 outputs SK as a session key.

ステップS3:各U(ただし、i=2,・・・,n)は、(X,Z)を受信すると、 Step S3: When each U i (where i = 2, ..., N) receives (X 1 , Z i ),

Figure 2021034858
をセッション鍵として出力する。これにより、各U(i=1,2,・・・,n)の間でセッション鍵SKが共有(言い換えれば、各Uにセッション鍵SKが配布)される。
Figure 2021034858
Is output as the session key. As a result, the session key SK is shared between each U i (i = 1, 2, ..., N) (in other words, the session key SK is distributed to each U i).

≪UGKEに基づくID−DMKDプロトコル≫
次に、上記のUGKEに基づくID−DMKDプロトコルについて説明する。UGKEに基づくID−DMKDプロトコルは、ID−DMKDプロトコルと同様に4つのフェーズ(Distフェーズ、Joinフェーズ、Leaveフェーズ及びUpdateフェーズ)がある。Distフェーズはグループ(つまり、U,・・・,U)で新たなセッションを開始してセッション鍵を共有するためのフェーズであり、Joinフェーズは新たなユーザの通信端末がグループに参加することに伴ってセッション鍵を再生成するためのフェーズであり、Leaveフェーズはグループに既に参加しているユーザの通信端末が当該グループから離脱することに伴ってセッション鍵を再生成するためのフェーズである。
≪ID-DMKD protocol based on UGKE≫
Next, the ID-DMKD protocol based on the above UGKE will be described. The ID-DMKD protocol based on UGKE has four phases (Dist phase, Join phase, Leave phase and Update phase) like the ID-DMKD protocol. The Dist phase is a phase for starting a new session and sharing a session key in a group (that is, U 1 , ..., Un ), and the Join phase is a phase in which a new user's communication terminal joins the group. Along with this, it is a phase for regenerating the session key, and the Leave phase is a phase for regenerating the session key when the communication terminal of a user who has already joined the group leaves the group. is there.

また、ID−DMKDにはタイムフレームと呼ばれる概念があり、例えば一定時間が経過すると新たなタイムフレームに更新される。そして、新たなタイムフレームが始まった場合にはセッション鍵が更新される。Updateフェーズは新たなタイムフレームが始まった場合にセッション鍵を更新するためのフェーズである。ここで、各Uはセッション鍵の更新等に用いられる状態情報stateを保持しており、Uがセッションを開始したときに、そのセッションがタイムフレームの中でUの最初のセッションであった場合、stateが更新される。 In addition, ID-DMKD has a concept called a time frame, and is updated to a new time frame after a certain period of time, for example. Then, when a new time frame starts, the session key is updated. The Update phase is a phase for updating the session key when a new time frame starts. Here, each U i holds the state information state i used for updating the session key, etc., and when the U i starts a session, the session is the first session of the U i in the time frame. If so, the session i is updated.

以降では、簡単のため、Joinフェーズでは新たにグループに参加するユーザの通信端末は1台のみであるものとする。同様に、Leaveフェーズではグループから離脱するユーザの通信端末は1台のみであるものとする。なお、ID−DMKDプロトコルの詳細については、上記の非特許文献1を参照されたい。 From now on, for the sake of simplicity, it is assumed that only one communication terminal is used by the user who newly joins the group in the Join phase. Similarly, in the Leave phase, it is assumed that only one communication terminal is used by the user who leaves the group. For details of the ID-DMKD protocol, refer to Non-Patent Document 1 described above.

[準備]
UGKEに基づくID−DMKDプロトコルについて説明する前に、暗号文ポリシーベース暗号(Ciphertext-Policy Attribute-Based Encryption,CP−ABE)及びメッセージ認証符号(Message Authentication Code,MAC)のそれぞれを構成するアルゴリズムについて説明する。
[Preparation]
Before explaining the ID-DMKD protocol based on UGKE, the algorithms constituting each of the ciphertext-Policy Attribute-Based Encryption (CP-ABE) and the message authentication code (MAC) will be described. To do.

・暗号文ポリシー属性ベース暗号は4つのアルゴリズム(Setup,Der,AEnc,ADec)で構成される。これらのアルゴリズムはそれぞれ以下のように定義される。 -Ciphertext policy The attribute-based cipher is composed of four algorithms (Setup, Der, AEnc, and ADec). Each of these algorithms is defined as follows.

(Params,msk)←Setup(1κ,att):1κとattとを入力として、Paramsとmskとを出力するセットアップアルゴリズムである。ここで、attは属性集合記述子、Paramsは公開パラメータ、mskはマスター秘密鍵である。 (Params, msk) ← Setup (1 κ , att): 1 This is a setup algorithm that takes κ and att as inputs and outputs Params and msk. Here, att is an attribute set descriptor, Params is a public parameter, and msk is a master secret key.

usk←Der(Params,msk,A):ParamsとmskとAとを入力として、uskを出力する鍵配布アルゴリズムである。ここで、Aは属性であり、uskはユーザ秘密鍵である。 usk A ← Der (Params, msk, A): A key distribution algorithm that outputs usk A by inputting Params, msk, and A. Here, A is an attribute and usk A is a user private key.

CT←AEnc(Params,P,m):ParamsとPとmと入力として、CTを出力する暗号化アルゴリズムである。ここで、Pはアクセス構造、mは平文、CTは暗号文である。 CT ← AEnc (Params, P, m): An encryption algorithm that outputs CT as inputs of Params, P, and m. Here, P is an access structure, m is a plaintext, and CT is a ciphertext.

m←ADec(Params,usk,CT):ParamsとuskとCTとを入力として、属性Aがアクセス構造Pを満たす場合にmを出力する復号アルゴリズムである。 m ← ADec (Params, usk A , CT): A decoding algorithm that takes Params, usk A, and CT as inputs and outputs m when the attribute A satisfies the access structure P.

・メッセージ認証符号は3つのアルゴリズム(MGen,Tag,Ver)で構成される。これらのアルゴリズムはそれぞれ以下のように定義される。 -The message authentication code is composed of three algorithms (MGen, Tag, Ver). Each of these algorithms is defined as follows.

mk←MGen(1κ):1κを入力として、mkを出力する鍵生成アルゴリズムである。ここで、mkはMAC鍵である。 mk ← MGen (1 κ ): This is a key generation algorithm that outputs mk with 1 κ as an input. Here, mk is a MAC key.

σ←Tag(mk,m):mkとmとを入力として、σを出力するタグ生成アルゴリズムである。ここで、mは平文、σはタグである。 σ ← Tag (mk, m): A tag generation algorithm that outputs σ by inputting mk and m. Here, m is plaintext and σ is a tag.

1又は0←Ver(mk,m,σ):mkとmとσとを入力として、MAC検証に成功した場合は1、そうでない場合は0を出力する検証アルゴリズムである。 1 or 0 ← Ver (mk, m, σ): This is a verification algorithm that inputs mk, m, and σ and outputs 1 if MAC verification is successful, and 0 if not.

なお、上記の暗号文ポリシー属性ベース暗号及びメッセージ認証符号をそれぞれ構成するアルゴリズムの入力に鍵が含まれる場合、アルゴリズムを表す記号の右下に当該鍵を表す記号を表記し、当該アルゴリズムの入力に当該鍵が含まれることを表すことがある。例えば、Der(Params,msk,A)を「Dermsk(Params,A)」と表記することがある。他のアルゴリズムについても同様である。 If a key is included in the input of the algorithm that constitutes the above ciphertext policy attribute-based encryption and message authentication code, the symbol representing the key is written in the lower right corner of the symbol representing the algorithm, and the symbol representing the key is indicated in the input of the algorithm. It may indicate that the key is included. For example, Der (Params, msk, A) may be expressed as "Dermsk (Params, A)". The same applies to other algorithms.

[セットアップ]
UGKEに基づくID−DMKDプロトコルでは、上記の4つのフェーズを実行する前に、システム全体のセットアップを行う。以降では、鍵交換サーバをSで表す。
[setup]
In the ID-DMKD protocol based on UGKE, the entire system is set up before executing the above four phases. Hereinafter, the key exchange server is represented by S.

Sは暗号文ポリシー属性ベース暗号のSetupアルゴリズムを実行し、公開パラメータParamsとマスター秘密鍵mskとを生成する。 S executes the Setup algorithm of the ciphertext policy attribute-based cipher to generate the public parameter Params and the master private key msk.

ここで、TCR(Target-Collision Resistant)ハッシュ関数をTCRとして、
TCR:{0,1}→{0,1}κ
とする。
Here, the TCR (Target-Collision Resistant) hash function is used as the TCR.
TCR: {0,1} * → {0,1} κ
And.

また、ねじれ疑似ランダム関数をtPRFとして Also, let the twist pseudo-random function be tPRF.

Figure 2021034858
とする。ここで、Kspaceκは鍵空間である。
Figure 2021034858
And. Here, Kspace κ is a key space.

更に、疑似ランダム関数をF及びF´として、
F,F´:{0,1}κ×Kspaceκ→{0,1}κ
とする。
Furthermore, let the pseudo-random functions be F and F',
F, F': {0,1} κ x Kspace κ → {0,1} κ
And.

このとき、Sは、(Params,p,G,g、TCR,tPRF,F,F´)を静的公開鍵SPKとして発行する。 At this time, S issues (Params, p, G, g, TCR, tPRF, F, F') as the static public key SPK S.

また、各U(i=1,2,・・・,n)及びSは、属性A=(U,init)として、暗号文ポリシー属性ベース暗号の鍵配布アルゴリズムを実行し、初期秘密鍵isk←Der(Params,msk,A)を生成する。なお、属性としてUが指定される場合は、Uは通信端末の識別子(例えば、メールアドレス、IP(Internet Protocol)アドレス、製造固有番号等の通信端末を識別可能な任意の情報)を表す。 Further, each U i (i = 1, 2, ..., N) and S execute the key distribution algorithm of the ciphertext policy attribute-based cipher with the attribute A i = (U i, init), and perform the initial secret. the key isk i ← Der (Params, msk , a i) to generate. When U i is specified as an attribute, U i represents an identifier of the communication terminal (for example, arbitrary information that can identify the communication terminal such as an e-mail address, an IP (Internet Protocol) address, and a manufacturing unique number). ..

また、各Uは、ねじれ疑似ランダム関数のための秘密ストリング(st,st´)を生成する。同様に、Sは、秘密ストリング(st,st´)を生成する。ここで、st,stKspaceκ、st´,st´∈{0,1}κである。 In addition, each U i generates a secret string (st i , st i ´) for the twist pseudo-random function. Similarly, S produces a secret string (st S , st S ′). Here, st i , st SR Kspace κ , st i ´, st S ′ ∈ R {0,1} κ .

そして、各Uは、(isk,st,st´)を静的秘密鍵SSKとして自身の記憶装置等に保存する。同様に、Sは、(msk,st,st´)を静的秘密鍵SSKとして自身の記憶装置等に保存する。 Then, each U i stores (isk i , st i , st i ´) as a static secret key SSK i in its own storage device or the like. Similarly, S stores (msk, st S , st S ') as a static secret key SSK S in its own storage device or the like.

[Distフェーズ]
,・・・,Uが新たなセッションを開始し、セッション鍵を共有する場合について説明する。
[Dist phase]
A case where U 1 , ..., Un starts a new session and shares a session key will be described.

(新たなタイムフレームでの状態情報の更新)
タイムフレームTFにおいて、当該新たなセッションがU(i=1,2,・・・,n)の最初のセッションである場合、現在時刻t∈TFに対して、Sは、属性A´=(U,t)として、usk←Der(Params,msk,A´)と、mk←MGen(1κ)とを生成する。次に、Sは、アクセス構造P=((ID=U)∧(t=init))として、CT←AEnc(Params,P,(usk,mk))を計算する。ここで、IDは通信端末を表す述語変数である。
(Update of status information in a new time frame)
In the time frame TF, if the new session is the first session of U i (i = 1, 2, ..., N), for the current time t ∈ TF, S is the attribute A i '=. As (U i , t), usk i ← Der (Params, msk, A i ´) and mki i ← MGen (1 κ ) are generated. Next, S is, as the access structure P i = ((ID = U i) ∧ (t = init)), CT i ← AEnc (Params, P i, (usk i, mk i)) is calculated. Here, the ID is a predicate variable representing a communication terminal.

そして、Sは、CTをUに送信する。その後、Uは、CTを受信すると、 Then, S transmits CT i to U i. After that, when U i receives CT i,

Figure 2021034858
を計算して、自身の記憶装置等に保存されている状態情報stateに含まれる(usk,mk)を、当該計算された(usk,mk)に更新する。
Figure 2021034858
The calculated, updates the state information state i contained in (usk i, mk i) stored in its own storage device such as a, on the calculated (usk i, mk i).

(オフライン計算)
各U(i=1,2,・・・,n)は、xを生成し、
(Offline calculation)
Each U i (i = 1, 2, ..., N) produces x iR Z p ,

Figure 2021034858
を計算する。そして、各Uは、状態情報stateに含まれる情報として(x,X)を自身の記憶装置等に保存する。
Figure 2021034858
To calculate. Each U i is, (x i, X i) as information included in the state information state i to save in its own storage device.

(代表通信端末以外の通信端末の1ラウンド目)
各U(ただし、i=2,・・・,n)は、
(First round of communication terminals other than the representative communication terminal)
Each U i (however, i = 2, ..., N) is

Figure 2021034858
を計算し、(X,σ)をSに送信する。
Figure 2021034858
Is calculated and (X i , σ i ) is transmitted to S.

(鍵交換サーバの1ラウンド目)
i∈[2,n]に対して、Sは、(X,σ)を受信すると、検証アルゴリズム
(First round of key exchange server)
For i ∈ [2, n], when S receives (X i , σ i ), the verification algorithm

Figure 2021034858
を実行する。そして、この検証アルゴリズムによるMAC検証に失敗した場合、Sは、受信した(X,σ)を破棄する。一方で、この検証アルゴリズムによるMAC検証に成功した場合、Sは、
Figure 2021034858
To execute. Then, when the MAC verification by this verification algorithm fails, S discards the received (X i , σ i). On the other hand, if the MAC verification by this verification algorithm is successful, S

Figure 2021034858
を計算し、({Xi∈[2,n],σ)をUに送信する。
Figure 2021034858
Is calculated, and ({X i } i ∈ [2, n] , σ S ) is transmitted to U 1.

(代表通信端末の1ラウンド目)
は、({Xi∈[2,n],σ)を受信すると、検証アルゴリズム
(First round of representative communication terminal)
When U 1 receives ({X i } i ∈ [2, n] , σ S ), the verification algorithm

Figure 2021034858
を実行する。そして、この検証アルゴリズムによるMAC検証に失敗した場合、Uは、受信した({Xi∈[2,n],σ)を破棄する。一方で、この検証アルゴリズムによるMAC検証に成功した場合、Uは、
Figure 2021034858
To execute. Then, when the MAC verification by this verification algorithm fails, U 1 discards the received ({X i } i ∈ [2, n] , σ S ). On the other hand, if MAC verification by this verification algorithm is successful, U 1 will

Figure 2021034858
を短期秘密鍵ESKとして生成し、
Figure 2021034858
As a short-term private key ESK 1

Figure 2021034858
を計算する。その後、Uは、
Figure 2021034858
To calculate. After that, U 1

Figure 2021034858
を計算し、(X,{Zi∈[2,n],σ´)をSに送信する。
Figure 2021034858
Is calculated, and (X 1 , {Z i } i ∈ [2, n] , σ 1 ′) is transmitted to S.

(鍵交換サーバの2ラウンド目)
Sは、(X,{Zi∈[2,n],σ´)を受信すると、検証アルゴリズム
(Second round of key exchange server)
When S receives (X 1 , {Z i } i ∈ [2, n] , σ 1 ′), the verification algorithm

Figure 2021034858
を実行する。そして、この検証アルゴリズムによるMAC検証に失敗した場合、Sは、受信した(X,{Zi∈[2,n],σ´)を破棄する。一方で、この検証アルゴリズムによるMAC検証に成功した場合、Sは、sid=TCR(X,・・・,X)を計算する。なお、sidはセッションIDを意味する。
Figure 2021034858
To execute. Then, when the MAC verification by this verification algorithm fails, S discards the received (X 1 , {Z i } i ∈ [2, n] , σ 1 ′). On the other hand, if the MAC verification by this verification algorithm is successful, S calculates side = TCR (X 1 , ..., X n). In addition, side means a session ID.

また、Sは、 Also, S is

Figure 2021034858
を短期秘密鍵ESKとして生成し、
Figure 2021034858
As a short-term private key ESK S ,

Figure 2021034858
を計算する。次に、Sは、i∈[1,n]に対して、アクセス構造P´=((ID=U)∧(t∈TF))として、CT´←AEnc(Params,P´,K)を計算する。続いて、Sは、
Figure 2021034858
To calculate. Next, S is for i∈ [1, n], 'as = ((ID = U i) ∧ (t∈TF)), CT i' access structure P i ← AEnc (Params, P i ' , K 1 ) is calculated. Then, S is

Figure 2021034858
を計算し、
Figure 2021034858
Calculate and

Figure 2021034858
をUに送信すると共に、i∈[2,n]に対して、
Figure 2021034858
To U 1 , and for i ∈ [2, n]

Figure 2021034858
をUに送信する。
Figure 2021034858
And transmits to the U i.

(セッション鍵の生成)
(ただし、i=2,・・・n)は、
(Generation of session key)
U i (however, i = 2, ... n) is

Figure 2021034858
を受信すると、検証アルゴリズム
Figure 2021034858
When you receive the verification algorithm

Figure 2021034858
を実行する。そして、この検証アルゴリズムによるMAC検証に失敗した場合、U(ただし、i=2,・・・n)は、受信した情報を破棄する。一方で、この検証アルゴリズムによるMAC検証に成功した場合、U(ただし、i=2,・・・n)は、
Figure 2021034858
To execute. Then, when the MAC verification by this verification algorithm fails, U i (however, i = 2, ... n) discards the received information. On the other hand, if MAC verification by this verification algorithm is successful, U i (however, i = 2, ... n) will be

Figure 2021034858
により復号を行うと共に、
Figure 2021034858
Decrypt by

Figure 2021034858
を計算し、セッション鍵
Figure 2021034858
Calculate and session key

Figure 2021034858
を生成及び出力する。また、U(ただし、i=2,・・・n)は、自身の記憶装置等に保存されている状態情報stateから(x,X)を削除する。
Figure 2021034858
Is generated and output. Further, U i (however, i = 2, ... n) deletes (x i , X i ) from the state information state i stored in its own storage device or the like.

他方で、Uは、 On the other hand, U 1

Figure 2021034858
を受信すると、検証アルゴリズム
Figure 2021034858
When you receive the verification algorithm

Figure 2021034858
を実行する。そして、この検証アルゴリズムによるMAC検証に失敗した場合、Uは、受信した情報を破棄する。一方で、この検証アルゴリズムによるMAC検証に成功した場合、Uは、
Figure 2021034858
To execute. Then, when the MAC verification by this verification algorithm fails, the U 1 discards the received information. On the other hand, if MAC verification by this verification algorithm is successful, U 1 will

Figure 2021034858
により復号を行って、セッション鍵
Figure 2021034858
Decrypt with the session key

Figure 2021034858
を生成及び出力する。また、Uは、自身の記憶装置等に保存されている状態情報stateに対してKを追加すると共に、状態情報stateから(x,X)を削除する。
Figure 2021034858
Is generated and output. Further, U 1 adds K 2 to the state information state 1 stored in its own storage device or the like, and deletes (x 1 , X 1 ) from the state information stage 1.

[Joinフェーズ]
次に、セッション鍵SKを共有しているグループ(U,・・・,U)に対して、新たなユーザの通信端末Un+1が参加する場合について説明する。以降では、この新たなユーザの通信端末を「参加通信端末」とも表す。なお、Joinフェーズでは、セッション鍵SKが変わらないため、sidも変わらない。また、Joinフェーズでは、参加通信端末及び代表通信端末以外の通信端末には処理が発生しない。
[Join Phase]
Next, a case where a new user's communication terminal Un + 1 joins a group (U 1 , ..., Un ) sharing the session key SK will be described. Hereinafter, this new user's communication terminal will also be referred to as a "participating communication terminal". In the Join phase, the session key SK does not change, so the side does not change either. Further, in the Join phase, no processing occurs in communication terminals other than the participating communication terminal and the representative communication terminal.

(新たなタイムフレームでの状態情報の更新)
タイムフレームTFにおいて、当該新たなセッションがU(ただし、i=1,n+1)の最初のセッションである場合、現在時刻t∈TFに対して、Sは、属性A´=(U,t)として、usk←Der(Params,msk,A´)と、mk←MGen(1κ)とを生成する。次に、Sは、アクセス構造P=((ID=U)∧(t=init))として、CT←AEnc(Params,P,(usk,mk))を計算する。
(Update of status information in a new time frame)
In the time frame TF, if the new session is the first session of U i (where i = 1, n + 1), for the current time t ∈ TF, S is the attribute A i ′ = (U i , As t), usk i ← Der (Params, msk, A i ´) and mki i ← MGen (1 κ ) are generated. Next, S is, as the access structure P i = ((ID = U i) ∧ (t = init)), CT i ← AEnc (Params, P i, (usk i, mk i)) is calculated.

そして、Sは、CTをUに送信する。その後、Uは、CTを受信すると、 Then, S transmits CT i to U i. After that, when U i receives CT i,

Figure 2021034858
を計算して、自身の記憶装置等に保存されている状態情報stateに含まれる(usk,mk)を、当該計算された(usk,mk)に更新する。
Figure 2021034858
The calculated, updates the state information state i contained in (usk i, mk i) stored in its own storage device such as a, on the calculated (usk i, mk i).

(オフライン計算)
各U(ただし、i=1,n+1)は、xを生成し、
(Offline calculation)
Each U i (where i = 1, n + 1) produces x iR Z p ,

Figure 2021034858
を計算する。そして、各Uは、状態情報stateに含まれる情報として(x,X)を自身の記憶装置等に保存する。
Figure 2021034858
To calculate. Each U i is, (x i, X i) as information included in the state information state i to save in its own storage device.

(参加通信端末の1ラウンド目)
n+1は、
(First round of participating communication terminals)
Un + 1 is

Figure 2021034858
を計算し、(Xn+1,σn+1)をSに送信する。
Figure 2021034858
Is calculated, and (X n + 1 , σ n + 1 ) is transmitted to S.

(鍵交換サーバの1ラウンド目)
Sは、(Xn+1,σn+1)を受信すると、検証アルゴリズム
(First round of key exchange server)
When S receives (X n + 1 , σ n + 1 ), the verification algorithm

Figure 2021034858
を実行する。そして、この検証アルゴリズムによるMAC検証に失敗した場合、Sは、受信した(Xn+1,σn+1)を破棄する。一方で、この検証アルゴリズムによるMAC検証に成功した場合、Sは、
Figure 2021034858
To execute. Then, when the MAC verification by this verification algorithm fails, S discards the received (X n + 1 , σ n + 1 ). On the other hand, if the MAC verification by this verification algorithm is successful, S

Figure 2021034858
を計算し、(sid,Xn+1,σ)をUに送信する。
Figure 2021034858
Is calculated, and (sid, X n + 1 , σ S ) is transmitted to U 1.

(代表通信端末の1ラウンド目)
は、(sid,Xn+1,σ)を受信すると、検証アルゴリズム
(First round of representative communication terminal)
When U 1 receives (sid, X n + 1 , σ S ), the verification algorithm

Figure 2021034858
を実行する。そして、この検証アルゴリズムによるMAC検証に失敗した場合、Uは、受信した(sid,Xn+1,σ)を破棄する。一方で、この検証アルゴリズムによるMAC検証に成功した場合、Uは、
Figure 2021034858
To execute. Then, when the MAC verification by this verification algorithm fails, U 1 discards the received (sid, X n + 1 , σ S ). On the other hand, if MAC verification by this verification algorithm is successful, U 1 will

Figure 2021034858
を計算し、(X,Zn+1,σ)をSに送信する。
Figure 2021034858
Is calculated, and (X 1 , Z n + 1 , σ 1 ) is transmitted to S.

(鍵交換サーバの2ラウンド目)
Sは、(X,Zn+1,σ)を受信すると、検証アルゴリズム
(Second round of key exchange server)
When S receives (X 1 , Z n + 1 , σ 1 ), the verification algorithm

Figure 2021034858
を実行する。そして、この検証アルゴリズムによるMAC検証に失敗した場合、Sは、受信した(X,Zn+1,σ)を破棄する。一方で、この検証アルゴリズムによるMAC検証に成功した場合、Sは、アクセス構造Pn+1´=((ID=Un+1)∧(t∈TF))として、CTn+1´←AEnc(Params,Pn+1´,K)を計算する。続いて、Sは、
Figure 2021034858
To execute. Then, when the MAC verification by this verification algorithm fails, S discards the received (X 1 , Zn + 1 , σ 1 ). On the other hand, when MAC verification by this verification algorithm is successful, S has CT n + 1 ′ ← AEnc (Params, P n + 1 ′ ′ as the access structure P n + 1 ′ = ((ID = Un + 1 ) ∧ (t ∈ TF)) , K 1 ) is calculated. Then, S is

Figure 2021034858
を計算し、
Figure 2021034858
Calculate and

Figure 2021034858
をUn+1に送信する。
Figure 2021034858
Is sent to Un + 1.

(セッション鍵の生成)
n+1は、
(Generation of session key)
Un + 1 is

Figure 2021034858
を受信すると、検証アルゴリズム
Figure 2021034858
When you receive the verification algorithm

Figure 2021034858
を実行する。そして、この検証アルゴリズムによるMAC検証に失敗した場合、Un+1は、受信した情報を破棄する。一方で、この検証アルゴリズムによるMAC検証に成功した場合、Un+1は、
Figure 2021034858
To execute. Then, when the MAC verification by this verification algorithm fails, Un + 1 discards the received information. On the other hand, if MAC verification by this verification algorithm is successful, Un + 1 will be

Figure 2021034858
により復号を行うと共に、
Figure 2021034858
Decrypt by

Figure 2021034858
を計算し、セッション鍵
Figure 2021034858
Calculate and session key

Figure 2021034858
を生成及び出力する。また、Un+1は、自身の記憶装置等に保存されている状態情報staten+1から(xn+1,Xn+1)を削除する。同様に、Uは、自身の記憶装置等に保存されている状態情報stateから(x,X)を削除する。
Figure 2021034858
Is generated and output. Also, U n + 1 is deleted from the status information state n + 1 stored in its own storage device such as a (x n + 1, X n + 1). Similarly, U 1 deletes (x 1 , X 1 ) from the state information state 1 stored in its own storage device or the like.

[Leaveフェーズ]
次に、セッション鍵SKを共有しているグループ(U,・・・,U)から或るユーザの通信端末Uが離脱する場合、このグループからUを除いたグループ(例えば、j≠1,nである場合、U,・・・,Uj−1,Uj+1,・・・,U)でDistフェーズを実行すればよい。したがって、Leaveフェーズの詳細な説明については省略する。
[Leave phase]
Next, when a user's communication terminal U j leaves the group sharing the session key SK (U 1 , ..., Un ), the group excluding U j from this group (for example, j). ≠ 1, if it is n, U 1, ···, U j-1, U j + 1, ···, may be executed Dist phase with U n). Therefore, a detailed description of the Leave phase will be omitted.

[Updateフェーズ]
次に、新たなタイムフレームが開始した場合に、U,・・・,Uで共有しているセッション鍵SKを新たなセッション鍵SK´に更新する場合について説明する。
[Update phase]
Then, when a new time frame has begun, U 1, · · ·, for a case of updating the session key SK shared by U n to a new session key SK' be described.

(新たなタイムフレームでの状態情報の更新)
新たなタイムフレームTFにおいて、U,・・・,Uで開始したセッションがU(i=1,2,・・・,n)の最初のセッションである場合、現在時刻t∈TFに対して、Sは、属性A´=(U,t)として、usk←Der(Params,msk,A´)と、mk←MGen(1κ)とを生成する。次に、Sは、アクセス構造P=((ID=U)∧(t=init))として、CT←AEnc(Params,P,(usk,mk))を計算する。
(Update of status information in a new time frame)
In the new time frame TF, U 1, · · ·, session started with U n is U i (i = 1,2, ··· , n) if it is the first session, the current time t∈TF in contrast, S is the attribute a i '= (U i, t) as, usk i ← Der (Params, msk, a i') and to produce a mk i ← MGen (1 κ) . Next, S is, as the access structure P i = ((ID = U i) ∧ (t = init)), CT i ← AEnc (Params, P i, (usk i, mk i)) is calculated.

そして、Sは、CTをUに送信する。その後、Uは、CTを受信すると、 Then, S transmits CT i to U i. After that, when U i receives CT i,

Figure 2021034858
を計算して、自身の記憶装置等に保存されている状態情報stateに含まれる(usk,mk)を、当該計算された(usk,mk)に更新する。
Figure 2021034858
The calculated, updates the state information state i contained in (usk i, mk i) stored in its own storage device such as a, on the calculated (usk i, mk i).

(セッション鍵更新のための情報生成)
Sは、
(Information generation for updating session key)
S is

Figure 2021034858
を生成した後、
Figure 2021034858
After generating

Figure 2021034858
を計算した上で、アクセス構造P´=((ID=U)∧(t∈TF))として、CT´←AEnc(Params,P´,K)を計算する。そして、Sは、CT´をUに送信する。
Figure 2021034858
After having calculated the 'as = ((ID = U i) ∧ (t∈TF)), CT i' access structure P i ← AEnc calculating the (Params, P i ', K 1). Then, S transmits CT i'to U i.

(セッション鍵の更新)
は、CT´を受信すると、
(Update session key)
When U i receives CT i ',

Figure 2021034858
により復号を行って、
Figure 2021034858
Decrypt with

Figure 2021034858
によりセッション鍵SKを更新して新たなセッション鍵SK´を生成及び出力する。
Figure 2021034858
Updates the session key SK and generates and outputs a new session key SK'.

<鍵交換システム1の全体構成>
次に、上記のUGKEに基づくID−DMKDプロトコルによる鍵交換を実現する鍵交換システム1の全体構成について、図1を参照しながら説明する。図1は、本発明の実施の形態における鍵交換システム1の全体構成の一例を示す図である。
<Overall configuration of key exchange system 1>
Next, the overall configuration of the key exchange system 1 that realizes the key exchange by the ID-DMKD protocol based on the above UGKE will be described with reference to FIG. FIG. 1 is a diagram showing an example of the overall configuration of the key exchange system 1 according to the embodiment of the present invention.

図1に示すように、本発明の実施の形態における鍵交換システム1には、鍵交換サーバ10と、複数の通信端末20とが含まれる。鍵交換サーバ10と各通信端末20及び通信端末20同士は、例えばインターネット等の通信ネットワークNを介して通信可能に接続されている。 As shown in FIG. 1, the key exchange system 1 according to the embodiment of the present invention includes a key exchange server 10 and a plurality of communication terminals 20. The key exchange server 10, each communication terminal 20, and the communication terminal 20 are connected to each other so as to be able to communicate with each other via a communication network N such as the Internet.

鍵交換サーバ10は、通信端末20間で鍵交換を行うためのサーバとして機能するコンピュータ又はコンピュータシステムである。上記のUGKEに基づくID−DMKDプロトコルにおける「鍵交換サーバS」は、鍵交換サーバ10により実現される。したがって、以降では、鍵交換サーバ10を「鍵交換サーバS」又は単に「S」とも表す。 The key exchange server 10 is a computer or computer system that functions as a server for exchanging keys between communication terminals 20. The "key exchange server S" in the ID-DMKD protocol based on the above UGKE is realized by the key exchange server 10. Therefore, hereinafter, the key exchange server 10 is also referred to as "key exchange server S" or simply "S".

通信端末20は、ユーザが利用する端末である。複数の通信端末20のそれぞれを区別する場合は、nを2以上の整数として、「通信端末20」、・・・、「通信端末20」と表す。上記のUGKEに基づくID−DMKDプロトコルにおける「通信端末U」は、通信端末20により実現される。したがって、以降では、n≦Nとして、「通信端末20」、・・・、「通信端末20」のそれぞれを、「U」、・・・、「U」又は「通信端末U」、・・・、「通信端末U」とも表す。 The communication terminal 20 is a terminal used by the user. For distinguishing each of the plurality of communication terminal 20, the n as an integer of 2 or more, referred to as "communication terminal 20 1", ..., "communication terminal 20 N". "Communication terminal U i" in the ID-DMKD protocol based on the above UGKE is realized by the communication terminal 20. Therefore, in the following, as n ≦ N, "the communication terminal 20 1", ..., respectively "communication terminal 20 n", "U 1", ..., "U n" or "communications terminal U 1 , ..., Also referred to as "communication terminal Un ".

また、上記のUGKEに基づくID−DMKDプロトコルにおける前提と同様に、U,・・・,Uの間で鍵交換を行うものとする。そして、Uは安定した通信帯域が確保された通信環境にあり、十分な計算リソースが提供できるものとして「代表通信端末」とも表す。一方で、「代表通信端末」以外の通信端末U(i=2,・・・,n)は必ずしも安定した通信帯域が確保できない通信環境にある、又は十分な計算リソースが提供できないものとする。 Similar to the assumption in the ID-DMKD protocol based on the above UGKE, U 1, ···, and performs key exchange between the U n. U 1 is also referred to as a "representative communication terminal" because it is in a communication environment in which a stable communication band is secured and sufficient computing resources can be provided. On the other hand, it is assumed that the communication terminals Ui (i = 2, ..., N) other than the "representative communication terminal" are in a communication environment in which a stable communication band cannot always be secured, or cannot provide sufficient computing resources. ..

なお、通信端末20としては、通信可能な任意の端末が用いられる。例えば、PC(パーソナルコンピュータ)、スマートフォン、タブレット端末、ウェアラブルデバイス、ゲーム機器、デジタル家電、各種IoT機器等が挙げられる。 As the communication terminal 20, any terminal capable of communication is used. Examples thereof include PCs (personal computers), smartphones, tablet terminals, wearable devices, game devices, digital home appliances, various IoT devices, and the like.

<鍵交換サーバ10及び通信端末20のハードウェア構成>
次に、本発明の実施の形態における鍵交換サーバ10及び通信端末20のハードウェア構成について、図2を参照しながら説明する。図2は、本発明の実施の形態における鍵交換サーバ10及び通信端末20のハードウェア構成の一例を示す図である。なお、通信端末20がPCやスマートフォン、タブレット端末等である場合には、通信端末20は鍵交換サーバ10と略同様のハードウェア構成で実現することが可能である。したがって、以降では、主に、鍵交換サーバ10のハードウェア構成について説明する。
<Hardware configuration of key exchange server 10 and communication terminal 20>
Next, the hardware configuration of the key exchange server 10 and the communication terminal 20 according to the embodiment of the present invention will be described with reference to FIG. FIG. 2 is a diagram showing an example of the hardware configuration of the key exchange server 10 and the communication terminal 20 according to the embodiment of the present invention. When the communication terminal 20 is a PC, a smartphone, a tablet terminal, or the like, the communication terminal 20 can be realized with a hardware configuration substantially similar to that of the key exchange server 10. Therefore, the hardware configuration of the key exchange server 10 will be mainly described below.

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

入力装置11は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置12は、例えばディスプレイ等であり、ユーザに対して各種処理結果等を表示するのに用いられる。なお、鍵交換サーバ10は、入力装置11及び表示装置12のうちの少なくとも一方を有していなくてもよい。 The input device 11 is, for example, a keyboard, a mouse, a touch panel, or the like, and is used for a user to input various operations. The display device 12 is, for example, a display or the like, and is used to display various processing results or the like to the user. The key exchange server 10 does not have to have at least one of the input device 11 and the display device 12.

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

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

通信I/F17は、鍵交換サーバ10を通信ネットワークNに接続するためのインタフェースである。補助記憶装置18は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性の記憶装置である。 The communication I / F 17 is an interface for connecting the key exchange server 10 to the communication network N. The auxiliary storage device 18 is a non-volatile storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive).

本発明の実施の形態における鍵交換サーバ10及び通信端末20は、図2に示すハードウェア構成を有することにより、後述するセットアップ処理や鍵交換処理等を実現することができる。なお、図2では、本発明の実施の形態における鍵交換サーバ10及び通信端末20が1台の装置(コンピュータ)で実現されている場合を示したが、これに限られない。本発明の実施の形態における鍵交換サーバ10及び通信端末20は、複数台の装置(コンピュータ)で実現されていてもよい。また、1台の装置(コンピュータ)には、複数のプロセッサ15や複数のメモリ(例えば、RAM13やROM14、補助記憶装置18等)が含まれていてもよい。 The key exchange server 10 and the communication terminal 20 according to the embodiment of the present invention can realize the setup process, the key exchange process, and the like described later by having the hardware configuration shown in FIG. Note that FIG. 2 shows a case where the key exchange server 10 and the communication terminal 20 according to the embodiment of the present invention are realized by one device (computer), but the present invention is not limited to this. The key exchange server 10 and the communication terminal 20 in the embodiment of the present invention may be realized by a plurality of devices (computers). Further, one device (computer) may include a plurality of processors 15 and a plurality of memories (for example, RAM 13, ROM 14, auxiliary storage device 18, etc.).

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

≪鍵交換サーバ10≫
図3に示すように、本発明の実施の形態における鍵交換サーバ10は、通信部101と、鍵交換処理部102と、記憶部103とを有する。通信部101及び鍵交換処理部102は、例えば、鍵交換サーバ10にインストールされた1以上のプログラムがプロセッサに実行させる処理により実現される。また、記憶部103は、例えば補助記憶装置等の記憶装置を用いて実現可能である。
Key exchange server 10≫
As shown in FIG. 3, the key exchange server 10 according to the embodiment of the present invention has a communication unit 101, a key exchange processing unit 102, and a storage unit 103. The communication unit 101 and the key exchange processing unit 102 are realized, for example, by processing one or more programs installed in the key exchange server 10 to execute the processor. Further, the storage unit 103 can be realized by using a storage device such as an auxiliary storage device.

通信部101は、通信端末20との間で各種データの送受信を行う。鍵交換処理部102は、通信端末20間でセッション鍵を共有や更新等するための鍵交換処理を行う。記憶部103は、鍵交換処理に用いられる各種データ(例えば、代表通信端末以外の通信端末U(i=2,・・・,n)から送信されたX等)を記憶する。 The communication unit 101 transmits and receives various data to and from the communication terminal 20. The key exchange processing unit 102 performs key exchange processing for sharing or updating the session key between the communication terminals 20. The storage unit 103 stores various data used in the key exchange process (for example, X i transmitted from a communication terminal U i (i = 2, ..., N) other than the representative communication terminal).

≪鍵交換サーバ10≫
図3に示すように、本発明の実施の形態における通信端末20は、通信部201と、鍵交換処理部202と、記憶部203とを有する。通信部201及び鍵交換処理部202は、例えば、通信端末20にインストールされた1以上のプログラムがプロセッサに実行させる処理により実現される。また、記憶部203は、例えば補助記憶装置等の記憶装置を用いて実現可能である。
Key exchange server 10≫
As shown in FIG. 3, the communication terminal 20 according to the embodiment of the present invention has a communication unit 201, a key exchange processing unit 202, and a storage unit 203. The communication unit 201 and the key exchange processing unit 202 are realized, for example, by processing one or more programs installed in the communication terminal 20 to execute the processor. Further, the storage unit 203 can be realized by using a storage device such as an auxiliary storage device.

通信部201は、鍵交換サーバ10や他の通信端末20との間で各種データの送受信を行う。鍵交換処理部202は、他の通信端末20との間でセッション鍵を共有や更新等するための鍵交換処理を行う。記憶部203は、鍵交換処理に用いられる各種データ(例えば、自身が生成したX等)を記憶する。 The communication unit 201 transmits / receives various data to / from the key exchange server 10 and another communication terminal 20. The key exchange processing unit 202 performs key exchange processing for sharing or updating a session key with another communication terminal 20. Storage unit 203 stores various data used for the key exchange processing (for example, X i, etc. generated by itself).

<セットアップ処理>
次に、本発明の実施の形態における鍵交換システム1が実行するセットアップ処理について、図4を参照しながら説明する。図4は、セットアップ処理の一例を示すフローチャートである。なお、このセットアップ処理は、上述したUGKEに基づくID−DMKDプロトコルのセットアップを鍵交換システム1により実現した処理である。したがって、以降では、セットアップ処理の流れ及び概略について説明し、詳細については上述したUGKEに基づくID−DMKDプロトコルのセットアップを参照されたい。
<Setup process>
Next, the setup process executed by the key exchange system 1 according to the embodiment of the present invention will be described with reference to FIG. FIG. 4 is a flowchart showing an example of the setup process. This setup process is a process in which the above-mentioned ID-DMKD protocol setup based on UGKE is realized by the key exchange system 1. Therefore, in the following, the flow and outline of the setup process will be described, and for details, refer to the above-mentioned setup of the ID-DMKD protocol based on UGKE.

ステップS101:鍵交換サーバ10の鍵交換処理部102は、暗号文ポリシー属性ベース暗号のSetupアルゴリズムを実行し、公開パラメータParamsとマスター秘密鍵mskとを生成する。 Step S101: The key exchange processing unit 102 of the key exchange server 10 executes the Setup algorithm of the ciphertext policy attribute-based encryption to generate the public parameter Params and the master private key msk.

ステップS102:次に、鍵交換サーバ10の鍵交換処理部102は、(Params,p,G,g、TCR,tPRF,F,F´)を静的公開鍵SPKとして発行する。 Step S102: Next, the key exchange processing unit 102 of the key exchange server 10 issues (Params, p, G, g, TCR, tPRF, F, F') as the static public key SPK S.

ステップS103:次に、各通信端末20(i=1,2,・・・,n)の鍵交換処理部202及び鍵交換サーバ10の鍵交換処理部102は、暗号文ポリシー属性ベース暗号の鍵配布アルゴリズムを実行して初期静的鍵iskを生成する。なお、例えば、各通信端末20(i=1,2,・・・,n)の通信部101が識別子Uを鍵交換サーバ10に送信することで、鍵交換サーバ10では、この識別子Uを含む属性Aを用いて、当該鍵配布アルゴリズムが実行される。 Step S103: Next, the key exchange processing unit 202 of each communication terminal 20 i (i = 1, 2, ..., N) and the key exchange processing unit 102 of the key exchange server 10 are of ciphertext policy attribute-based encryption. run the key distribution algorithm to generate the initial static key isk i. For example, when the communication unit 101 of each communication terminal 20 i (i = 1, 2, ..., N) transmits the identifier U i to the key exchange server 10, the key exchange server 10 uses this identifier U. The key distribution algorithm is executed using the attribute Ai including i.

ステップS104:次に、各通信端末20(i=1,2,・・・,n)の鍵交換処理部202は、秘密ストリング(st,st´)を生成する。同様に、鍵交換サーバ10の鍵交換処理部102は、秘密ストリング(st,st´)を生成する。 Step S104: Next, the key exchange processing unit 202 of each communication terminal 20 i (i = 1, 2, ..., N) generates a secret string (st i , st i '). Similarly, the key exchange processing unit 102 of the key exchange server 10 generates a secret string (st S , st S ′).

ステップS105:最後に、各通信端末20(i=1,2,・・・,n)の鍵交換処理部202は、(isk,st,st´)を静的秘密鍵SSKとして自身の記憶部203に保存する。同様に、鍵交換サーバ10の鍵交換処理部102は、(msk,st,st´)を静的秘密鍵SSKとして記憶部103に保存する。 Step S105: Finally, the key exchange processing unit 202 of each communication terminal 20 i (i = 1, 2, ..., N) sets (isk i , st i , st i ') as the static private key SSK i. Is stored in its own storage unit 203. Similarly, the key exchange processing unit 102 of the key exchange server 10 stores (msk, st S , st S ′) in the storage unit 103 as a static private key SSK S.

<鍵交換処理(Distフェーズ)>
次に、本発明の実施の形態における鍵交換システム1が実行する鍵交換処理(Distフェーズ)について、図5を参照しながら説明する。図5は、鍵交換処理(Distフェーズ)の一例を示すシーケンス図である。なお、この鍵交換処理(Distフェーズ)は、上述したUGKEに基づくID−DMKDプロトコルのDistフェーズを鍵交換システム1により実現した処理である。したがって、以降では、鍵交換処理(Distフェーズ)の流れ及び概略について説明し、詳細については上述したUGKEに基づくID−DMKDプロトコルのDistフェーズを参照されたい。
<Key exchange process (Dist phase)>
Next, the key exchange process (Dist phase) executed by the key exchange system 1 according to the embodiment of the present invention will be described with reference to FIG. FIG. 5 is a sequence diagram showing an example of the key exchange process (Dist phase). The key exchange process (Dist phase) is a process in which the Dist phase of the ID-DMKD protocol based on UGKE described above is realized by the key exchange system 1. Therefore, in the following, the flow and outline of the key exchange process (Dist phase) will be described, and for details, refer to the Dist phase of the ID-DMKD protocol based on UGKE described above.

ステップS201:鍵交換サーバ10及び通信端末20は、Distフェーズの「新たなタイムフレームでの状態情報の更新」を行う。すなわち、鍵交換サーバ10の鍵交換処理部102は、タイムフレームTFにおいて最初のセッションである通信端末20に関してusk及びmkを生成した後、CTを計算する。そして、鍵交換サーバ10の通信部101は、計算したCTを通信端末20に送信する。また、通信端末20の鍵交換処理部202は、CTから(usk,mk)を計算(復号)し、記憶部203に記憶されている状態情報stateを更新する。 Step S201: The key exchange server 10 and the communication terminal 20 perform "update of state information in a new time frame" in the Dist phase. That is, the key exchange processing unit 102 of the key exchange server 10, after generating the usk i and mk i respect communication terminal 20 i is the first session in the time frame TF, to calculate the CT i. Then, the communication unit 101 of the key exchange server 10 transmits the calculated CT i to the communication terminal 20 i. The key exchange processing unit 202 of the communication terminal 20 i is from CT i (usk i, mk i ) calculation (decoding), and updates the state information state i in the storage unit 203 are stored.

ステップS202:各通信端末20は、Distフェーズの「オフライン計算」を行う。すなわち、各通信端末20の鍵交換処理部202は、Xを計算して記憶部203に保存する。 Step S202: Each communication terminal 20 performs "offline calculation" of the Dist phase. That is, the key exchange processing unit 202 of the communication terminal 20 stored in the storage unit 203 to calculate the X i.

ステップS203:次に、代表通信端末以外の各通信端末20(つまり、U,・・・,U)は、Distフェーズの「代表通信端末以外の通信端末の1ラウンド目」を行う。すなわち、各通信端末20(ただし、i=2,・・・,n)の鍵交換処理部202は、メッセージ認証符号のタグ生成アルゴリズムによりXのタグσを生成する。そして、各通信端末20(ただし、i=2,・・・,n)の通信部201は、(X,σ)を鍵交換サーバ10に送信する。 Step S203: Next, the representative communication terminal other than the communication terminal 20 (i.e., U 2, ···, U n ) performs the "first round of communication terminals other than the representative communication terminal" in Dist phase. That is, the key exchange processing unit 202 of each communication terminal 20 i (however, i = 2, ..., N) generates the tag σ i of X i by the tag generation algorithm of the message authentication code. Then, the communication unit 201 of each communication terminal 20 i (however, i = 2, ..., N) transmits (X i , σ i ) to the key exchange server 10.

ステップS204:鍵交換サーバ10は、Distフェーズの「鍵交換サーバの1ラウンド目」を行う。すなわち、鍵交換サーバ10の鍵交換処理部102は、MAC検証を行った上で、メッセージ認証符号のタグ生成アルゴリズムによりσを生成する。そして、鍵交換サーバ10の通信部101は、({Xi∈[2,n],σ)を代表通信端末(つまり、通信端末20)に送信する。なお、各Xは、鍵交換サーバ10の記憶部103に保存される。 Step S204: The key exchange server 10 performs the “first round of the key exchange server” in the Dist phase. That is, the key exchange processing unit 102 of the key exchange server 10 performs MAC verification and then generates σ S by the tag generation algorithm of the message authentication code. Then, the communication unit 101 of the key exchange server 10 transmits to the ({X i} i∈ [2 , n], σ S) representative communication terminal (i.e., communication terminal 20 1). Each X i is stored in the storage unit 103 of the key exchange server 10.

ステップS205:代表通信端末(つまり、通信端末20)は、Distフェーズの「代表通信端末の1ラウンド目」を行う。すなわち、通信端末20の鍵交換処理部202は、MAC検証を行った上で、短期秘密鍵ESKを生成し、この短期秘密鍵ESKから(X,{Zi∈[2,n],σ´)を生成する。そして、通信端末20の通信部201は、(X,{Zi∈[2,n],σ´)を鍵交換サーバ10に送信する。 Step S205: the representative communication terminal (i.e., communication terminal 20 1) performs a "first round of the representative communication terminal" in Dist phase. That is, the key exchange processing unit 202 of the communication terminal 20 1, after performing the MAC verification to generate a short-term private key ESK 1, the short-term secret key ESK 1 from (X 1, {Z i} i∈ [2 , N] , σ 1 ′) is generated. The communication unit 201 of the communication terminal 20 1 transmits (X 1, {Z i} i∈ [2, n], σ 1 ') to the key exchange server 10.

ステップS206:鍵交換サーバ10は、Distフェーズの「鍵交換サーバの2ラウンド目」を行う。すなわち、鍵交換サーバ10の鍵交換処理部102は、MAC検証を行った上で、sidを計算すると共に短期秘密鍵ESKを計算する。次に、鍵交換サーバ10の鍵交換処理部102は、この短期秘密鍵ESKに基づいて、暗号文ポリシー属性ベース暗号の暗号化アルゴリズム及びメッセージ認証符号のタグ生成アルゴリズムにより、CT´及びそのタグと、CT´及びそのタグとを計算する。そして、鍵交換サーバ10の通信部101は、 Step S206: The key exchange server 10 performs the “second round of the key exchange server” in the Dist phase. That is, the key exchange processing unit 102 of the key exchange server 10 calculates the side and the short-term secret key ESK S after performing MAC verification. Next, the key exchange processing unit 102 of the key exchange server 10, based on the short-term secret key ESK S, by the tag generation algorithm of the encryption algorithm and a message authentication code ciphertext policy attributes based encryption, CT 1 'and Calculate the tag, CT i'and its tag. Then, the communication unit 101 of the key exchange server 10 is

Figure 2021034858
を通信端末20に送信すると共に、
Figure 2021034858
And transmits to the communication terminal 20 1,

Figure 2021034858
を通信端末20(ただし、i=2,・・・,n)に送信する。
Figure 2021034858
Is transmitted to the communication terminal 20 i (where i = 2, ..., N).

ステップS207:各通信端末20は、Distフェーズの「セッション鍵の生成」を行う。これにより、各通信端末20でセッション鍵SKが共有される。 Step S207: Each communication terminal 20 performs “session key generation” in the Dist phase. As a result, the session key SK is shared by each communication terminal 20.

以上のように、本発明の実施の形態における鍵交換システム1では、代表通信端末以外の各通信端末20でオフライン計算されたXを鍵交換サーバ10に保存する。これにより、代表通信端末以外の各通信端末20のラウンド回数を削減(つまり、通信コストを削減)することができる。したがって、例えば、鍵交換を行う通信端末20の中に、狭い帯域の通信環境にある通信端末20が含まれていたり、十分な計算リソースが提供できない通信端末20が含まれていたりする場合であっても、少なくとも1台の通信端末20が安定した通信環境にあり、十分な計算リソースが提供できる場合には、遅延等を発生させることなく鍵交換が可能となる。 As described above, in the key exchange system 1 according to the embodiment of the present invention, X i calculated offline by each communication terminal 20 i other than the representative communication terminal is stored in the key exchange server 10. Thus, it is possible to reduce the number of rounds of the respective communication terminals 20 i other than the representative communication terminal (that is, reduce the communication cost). Therefore, for example, the communication terminal 20 that exchanges keys may include a communication terminal 20 in a narrow band communication environment, or a communication terminal 20 that cannot provide sufficient computing resources. However, if at least one communication terminal 20 is in a stable communication environment and sufficient computing resources can be provided, key exchange can be performed without causing a delay or the like.

<鍵交換処理(Joinフェーズ)>
次に、本発明の実施の形態における鍵交換システム1が実行する鍵交換処理(Joinフェーズ)について、図6を参照しながら説明する。図6は、鍵交換処理(Joinフェーズ)の一例を示すシーケンス図である。なお、この鍵交換処理(Joinフェーズ)は、上述したUGKEに基づくID−DMKDプロトコルのJoinフェーズを鍵交換システム1により実現した処理である。したがって、以降では、鍵交換処理(Joinフェーズ)の流れ及び概略について説明し、詳細については上述したUGKEに基づくID−DMKDプロトコルのJoinフェーズを参照されたい。また、以降では、上述したUGKEに基づくID−DMKDプロトコルにおける前提と同様に、セッション鍵SKを共有しているグループ(U,・・・,U)に対して、新たなユーザの通信端末Un+1が参加するものとして、この通信端末Un+1を「参加通信端末」とも表す。
<Key exchange process (Join phase)>
Next, the key exchange process (Join phase) executed by the key exchange system 1 according to the embodiment of the present invention will be described with reference to FIG. FIG. 6 is a sequence diagram showing an example of the key exchange process (Join phase). The key exchange process (Join phase) is a process in which the Join phase of the ID-DMKD protocol based on UGKE described above is realized by the key exchange system 1. Therefore, in the following, the flow and outline of the key exchange process (Join phase) will be described, and for details, refer to the Join phase of the ID-DMKD protocol based on UGKE described above. Further, in the following, similar to the premise in ID-DMKD protocol based on UGKE described above, groups sharing a session key SK (U 1, ···, U n) with respect to the communication of the new user terminal Assuming that Un + 1 participates, this communication terminal Un + 1 is also referred to as a "participating communication terminal".

ステップS301:鍵交換サーバ10及び通信端末20(ただし、i=1,n+1)は、Joinフェーズの「新たなタイムフレームでの状態情報の更新」を行う。すなわち、鍵交換サーバ10の鍵交換処理部102は、タイムフレームTFにおいて最初のセッションである通信端末20に関してusk及びmkを生成した後、CTを計算する。そして、鍵交換サーバ10の通信部101は、計算したCTを通信端末20に送信する。また、通信端末20の鍵交換処理部202は、CTから(usk,mk)を計算(復号)し、記憶部203に記憶されている状態情報stateを更新する。 Step S301: The key exchange server 10 and the communication terminal 20 i (however, i = 1, n + 1) perform "update of state information in a new time frame" in the Join phase. That is, the key exchange processing unit 102 of the key exchange server 10, after generating the usk i and mk i respect communication terminal 20 i is the first session in the time frame TF, to calculate the CT i. Then, the communication unit 101 of the key exchange server 10 transmits the calculated CT i to the communication terminal 20 i. The key exchange processing unit 202 of the communication terminal 20 i is from CT i (usk i, mk i ) calculation (decoding), and updates the state information state i in the storage unit 203 are stored.

ステップS302:次に、各通信端末20(ただし、i=1,n+1)は、Joinフェーズの「オフライン計算」を行う。すなわち、各通信端末20(ただし、i=1,n+1)の鍵交換処理部202は、Xを計算して記憶部203に保存する。 Step S302: Next, each communication terminal 20 i (where i = 1, n + 1) performs "offline calculation" of the Join phase. That is, the key exchange processing unit 202 of each communication terminal 20 i (however, i = 1, n + 1) calculates X i and stores it in the storage unit 203.

ステップS303:参加通信端末(つまり、Un+1)は、Joinフェーズの「参加通信端末の1ラウンド目」を行う。すなわち、通信端末20n+1の鍵交換処理部202は、メッセージ認証符号のタグ生成アルゴリズムによりXn+1のタグσn+1を生成する。そして、通信端末20n+1の通信部201は、(Xn+1,σn+1)を鍵交換サーバ10に送信する。 Step S303: The participating communication terminal (that is, Un + 1 ) performs the "first round of the participating communication terminal" in the Join phase. That is, the key exchange processing unit 202 of the communication terminal 20 n + 1 generates the tag σ n + 1 of X n + 1 by the tag generation algorithm of the message authentication code. Then, the communication unit 201 of the communication terminal 20 n + 1 transmits (X n + 1 , σ n + 1 ) to the key exchange server 10.

ステップS304:鍵交換サーバ10は、Joinフェーズの「鍵交換サーバの1ラウンド目」を行う。すなわち、鍵交換サーバ10の鍵交換処理部102は、MAC検証を行った上で、メッセージ認証符号のタグ生成アルゴリズムによりσを生成する。そして、鍵交換サーバ10の通信部101は、(sid,Xn+1,σ)を代表通信端末(つまり、通信端末20)に送信する。なお、上述したように、Joinフェーズではセッション鍵SIが変わらないため、sidも変わらない。 Step S304: The key exchange server 10 performs the “first round of the key exchange server” in the Join phase. That is, the key exchange processing unit 102 of the key exchange server 10 performs MAC verification and then generates σ S by the tag generation algorithm of the message authentication code. Then, the communication unit 101 of the key exchange server 10 transmits to the (sid, X n + 1, σ S) representative communication terminal (i.e., communication terminal 20 1). As described above, since the session key SI does not change in the Join phase, the side does not change either.

ステップS305:次に、代表通信端末(つまり、通信端末20)は、Joinフェーズの「代表通信端末の1ラウンド目」を行う。すなわち、通信端末20の鍵交換処理部202は、MAC検証を行った上で、Zn+1及びσを計算する。そして、通信端末20の通信部201は、(X,Zn+1,σ)を鍵交換サーバ10に送信する。 Step S305: Next, the representative communication terminal (i.e., communication terminal 20 1) performs a "first round of the representative communication terminal" in the Join phase. That is, the key exchange processing unit 202 of the communication terminal 20 1, after performing the MAC verification to calculate the Z n + 1 and sigma 1. The communication unit 201 of the communication terminal 20 1 transmits (X 1, Z n + 1 , σ 1) a key exchange server 10.

ステップS306:鍵交換サーバ10は、Joinフェーズの「鍵交換サーバの2ラウンド目」を行う。すなわち、鍵交換サーバ10の鍵交換処理部102は、MAC検証を行った上で、CTn+1´及びそのタグを計算する。そして、鍵交換サーバ10の通信部101は、 Step S306: The key exchange server 10 performs the “second round of the key exchange server” in the Join phase. That is, the key exchange processing unit 102 of the key exchange server 10 calculates CT n + 1 ′ and its tag after performing MAC verification. Then, the communication unit 101 of the key exchange server 10 is

Figure 2021034858
を参加通信端末(つまり、通信端末20n+1)に送信する。
Figure 2021034858
Is transmitted to the participating communication terminal (that is, the communication terminal 20 n + 1 ).

ステップS307:参加通信端末(つまり、通信端末20n+1)は、Joinフェーズの「セッション鍵の生成」を行う。これにより、参加通信端末でもセッション鍵SKが共有される。 Step S307: The participating communication terminal (that is, the communication terminal 20 n + 1 ) performs the “session key generation” of the Join phase. As a result, the session key SK is also shared with the participating communication terminals.

<鍵交換処理(Leaveフェーズ)>
セッション鍵SKを共有しているグループ(U,・・・,U)から或るユーザの通信端末Uが離脱する場合は、上述したように、このグループからUを除いたグループ(例えば、j≠1,nである場合、U,・・・,Uj−1,Uj+1,・・・,U)で鍵交換処理(Distフェーズ)を実行すればよい。したがって、鍵交換処理(Leaveフェーズ)の詳細な説明については省略する。
<Key exchange process (Leave phase)>
When a user's communication terminal U j leaves the group sharing the session key SK (U 1 , ..., Un ), as described above, the group excluding U j from this group (U j). for example, if a j ≠ 1, n, U 1 , ···, U j-1, U j + 1, ···, may execute a key exchange process (Dist phase) in U n). Therefore, a detailed description of the key exchange process (Leave phase) will be omitted.

<鍵交換処理(Updateフェーズ)>
次に、本発明の実施の形態における鍵交換システム1が実行する鍵交換処理(Updateフェーズ)について、図7を参照しながら説明する。図7は、鍵交換処理(Updateフェーズ)の一例を示すシーケンス図である。なお、この鍵交換処理(Updateフェーズ)は、上述したUGKEに基づくID−DMKDプロトコルのUpdateフェーズを鍵交換システム1により実現した処理である。したがって、以降では、鍵交換処理(Updateフェーズ)の流れ及び概略について説明し、詳細については上述したUGKEに基づくID−DMKDプロトコルのUpdateフェーズを参照されたい。また、以降では、上述したUGKEに基づくID−DMKDプロトコルにおける前提と同様に、新たなタイムフレームが開始した場合に、U,・・・,Uで共有しているセッション鍵SKを新たなセッション鍵SK´に更新する場合について説明する。
<Key exchange process (Update phase)>
Next, the key exchange process (Update phase) executed by the key exchange system 1 according to the embodiment of the present invention will be described with reference to FIG. 7. FIG. 7 is a sequence diagram showing an example of the key exchange process (Update phase). The key exchange process (Update phase) is a process in which the Update phase of the ID-DMKD protocol based on UGKE described above is realized by the key exchange system 1. Therefore, in the following, the flow and outline of the key exchange process (Update phase) will be described, and for details, refer to the Update phase of the ID-DMKD protocol based on UGKE described above. Further, in the following, similar to the premise in ID-DMKD protocol based on UGKE described above, a when a new time frame has begun, U 1, · · ·, a session key SK shared by U n new The case of updating to the session key SK'will be described.

ステップS401:鍵交換サーバ10及び通信端末20は、Updateフェーズの「新たなタイムフレームでの状態情報の更新」を行う。すなわち、鍵交換サーバ10の鍵交換処理部102は、新たなタイムフレームTFにおいて最初のセッションである通信端末20に関してusk及びmkを生成した後、CTを計算する。そして、鍵交換サーバ10の通信部101は、計算したCTを通信端末20に送信する。また、通信端末20の鍵交換処理部202は、CTから(usk,mk)を計算(復号)し、記憶部203に記憶されている状態情報stateを更新する。 Step S401: The key exchange server 10 and the communication terminal 20 perform "update of state information in a new time frame" in the Update phase. That is, the key exchange processing unit 102 of the key exchange server 10, after generating the usk i and mk i respect communication terminal 20 i is the first session in the new time frame TF, to calculate the CT i. Then, the communication unit 101 of the key exchange server 10 transmits the calculated CT i to the communication terminal 20 i. The key exchange processing unit 202 of the communication terminal 20 i is from CT i (usk i, mk i ) calculation (decoding), and updates the state information state i in the storage unit 203 are stored.

ステップS402:次に、鍵交換サーバ10は、Updateフェーズの「セッション鍵更新のための情報生成」を行う。すなわち、鍵交換サーバ10の鍵交換処理部102は、暗号文ポリシー属性ベース暗号の暗号化アルゴリズムによりCT´を生成する。そして。鍵交換サーバ10の通信部101は、CT´を通信端末20に送信する。 Step S402: Next, the key exchange server 10 performs "information generation for updating the session key" in the Update phase. That is, the key exchange processing unit 102 of the key exchange server 10 generates CT i ′ by the encryption algorithm of the ciphertext policy attribute-based encryption. And. The communication unit 101 of the key exchange server 10 transmits CT i ′ to the communication terminal 20 i.

ステップS403:各通信端末20は、Updateフェーズの「セッション鍵の更新」を行う。これにより、各通信端末20でセッション鍵SKがセッション鍵SK´に更新される。 Step S403: Each communication terminal 20 performs "update of session key" in the Update phase. As a result, the session key SK is updated to the session key SK'at each communication terminal 20.

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

1 鍵交換システム
10 鍵交換サーバ
20 通信端末
101 通信部
102 鍵交換処理部
103 記憶部
201 通信部
202 鍵交換処理部
203 記憶部
1 Key exchange system 10 Key exchange server 20 Communication terminal 101 Communication unit 102 Key exchange processing unit 103 Storage unit 201 Communication unit 202 Key exchange processing unit 203 Storage unit

Claims (7)

複数の通信端末U(i=1,・・・,n)間で鍵交換を行う鍵交換システムであって、
前記複数の通信端末Uのうちの一部の通信端末U(i=2,・・・,n)で予め計算された情報X(i=2,・・・,n)を用いて、前記通信端末Uで、鍵Kを生成する第1の鍵生成手段と、
前記鍵Kと、前記情報X(i=2,・・・,n)とを用いて、前記通信端末Uで、前記一部の通信端末U(i=2,・・・,n)の各々で前記鍵Kを生成するための情報Z(i=2,・・・,n)を計算する計算手段と、
前記通信端末Uで予め計算された情報Xと、前記情報Z(i=2,・・・,n)の各々とを用いて、前記一部の通信端末U(i=2,・・・,n)の各々で、前記鍵Kを生成する第2の鍵生成手段と、
を有することを特徴とする鍵交換システム。
A key exchange system that exchanges keys between a plurality of communication terminals Ui (i = 1, ..., N).
Using the information X i (i = 2, ..., N) pre-calculated by some of the communication terminals U i (i = 2, ..., N) among the plurality of communication terminals U i. , The first key generation means for generating the key K on the communication terminal U 1 and
Using the key K and the information X i (i = 2, ..., N), the communication terminal U 1 uses the partial communication terminal U i (i = 2, ..., N). ), And a calculation means for calculating the information Z i (i = 2, ..., N) for generating the key K.
Using the information X 1 calculated in advance by the communication terminal U 1 and each of the information Z i (i = 2, ..., N), some of the communication terminals U i (i = 2, n) are used. ..., N), the second key generation means for generating the key K, and
A key exchange system characterized by having.
前記鍵交換システムには、鍵交換サーバが含まれ、
前記鍵交換サーバには、前記情報X(i=2,・・・,n)が保存されており、
前記第1の鍵生成手段は、
前記鍵交換サーバに保存されている情報X(i=2,・・・,n)を用いて、前記通信端末Uで、鍵Kを生成する、ことを特徴とする請求項1に記載の鍵交換システム。
The key exchange system includes a key exchange server.
Wherein the key exchange server, the information X i (i = 2, ··· , n) are stored,
The first key generation means is
Using the information in the key exchange server stored X i (i = 2, ··· , n), wherein the communication terminal U 1, to generate a key K, it claim 1, wherein Key exchange system.
前記鍵Kはセッション鍵であり、
前記情報Xと、前記情報X(i=2,・・・,n)とを用いて、所定のハッシュ関数によりセッションIDを生成するセッションID生成手段と、
前記セッションIDを用いて、前記通信端末Uで、セッション鍵を生成する第3の鍵生成手段と、
前記セッションIDと、前記情報Z(i=2,・・・,n)の各々とを用いて、前記通信端末U(i=2,・・・,n)の各々で、前記セッション鍵を生成する第4の鍵生成手段と、を有することを特徴とする請求項1又は2に記載の鍵交換システム。
The key K is a session key and
A session ID generation means for generating a session ID by a predetermined hash function using the information X 1 and the information X i (i = 2, ..., N).
Using the session ID, the in the communication terminal U 1, the third key generating means for generating a session key,
Using said session ID, the said information Z i (i = 2, ··· , n) and each of said communication terminal U i (i = 2, ··· , n) in each of said session key The key exchange system according to claim 1 or 2, further comprising a fourth key generation means for generating a key.
前記通信端末Uは安定した通信環境にあり、かつ、前記鍵交換のための計算リソースを十分に提供可能な通信端末であり、前記通信端末U(i=2,・・・,n)のうちの少なくとも一部の通信端末は帯域の狭い通信環境にある通信端末又は前記鍵交換のための計算リソースを十分に提供することができない通信端末である、ことを特徴とする請求項1乃至3の何れか一項に記載の鍵交換システム。 The communication terminal U 1 is a communication terminal that is in a stable communication environment and can sufficiently provide computing resources for the key exchange, and is the communication terminal U i (i = 2, ..., N). 1 to 1, wherein at least a part of the communication terminals is a communication terminal in a communication environment having a narrow band or a communication terminal that cannot sufficiently provide computing resources for the key exchange. The key exchange system according to any one of 3. 複数の通信端末U(i=1,・・・,n)間で鍵交換を行うための鍵交換装置であって、
前記複数の通信端末Uのうちの一部の通信端末U(i=2,・・・,n)で予め計算された情報X(i=2,・・・,n)を記憶部に保存する保存手段と、
前記記憶部に保存されている情報X(i=2,・・・,n)を前記通信端末Uに送信する第1の送信手段と、
前記通信端末Uで生成された鍵Kと同一の鍵Kを生成するための情報Z(i=2,・・・,n)を前記通信端末U(i=2,・・・,n)の各々に送信する第2の送信手段と、
を有することを特徴とする鍵交換装置。
A key exchange device for exchanging keys between a plurality of communication terminals Ui (i = 1, ..., N).
Information X i (i = 2, ..., N) calculated in advance by some of the communication terminals U i (i = 2, ..., N) among the plurality of communication terminals U i is stored in the storage unit. And the storage method to save to
A first transmission means for transmitting information X i (i = 2, ..., N) stored in the storage unit to the communication terminal U 1 and
The information for generating the generated key K and the same key K in the communication terminal U 1 Z i (i = 2 , ···, n) the communication terminal U i (i = 2, ··· , A second transmission means to transmit to each of n) and
A key exchange device characterized by having.
複数の通信端末U(i=1,・・・,n)間で鍵交換を行う鍵交換システムに用いられる鍵交換方法であって、
前記複数の通信端末Uのうちの一部の通信端末U(i=2,・・・,n)で予め計算された情報X(i=2,・・・,n)を用いて、前記通信端末Uで、鍵Kを生成する第1の鍵生成手順と、
前記鍵Kと、前記情報X(i=2,・・・,n)とを用いて、前記通信端末Uで、前記一部の通信端末U(i=2,・・・,n)の各々で前記鍵Kを生成するための情報Z(i=2,・・・,n)を計算する計算手順と、
前記通信端末Uで予め計算された情報Xと、前記情報Z(i=2,・・・,n)の各々とを用いて、前記一部の通信端末U(i=2,・・・,n)の各々で、前記鍵Kを生成する第2の鍵生成手順と、
を有することを特徴とする鍵交換方法。
A key exchange method used in a key exchange system for exchanging keys between a plurality of communication terminals Ui (i = 1, ..., N).
Using the information X i (i = 2, ..., N) pre-calculated by some of the communication terminals U i (i = 2, ..., N) among the plurality of communication terminals U i. , The first key generation procedure for generating the key K on the communication terminal U 1 and
Using the key K and the information X i (i = 2, ..., N), the communication terminal U 1 uses the partial communication terminal U i (i = 2, ..., N). ), And the calculation procedure for calculating the information Z i (i = 2, ..., N) for generating the key K.
Using the information X 1 calculated in advance by the communication terminal U 1 and each of the information Z i (i = 2, ..., N), some of the communication terminals U i (i = 2, n) are used. ..., N), the second key generation procedure for generating the key K, and
A key exchange method characterized by having.
複数の通信端末U(i=1,・・・,n)間で鍵交換を行うためのコンピュータを、
前記複数の通信端末Uのうちの一部の通信端末U(i=2,・・・,n)で予め計算された情報X(i=2,・・・,n)を記憶部に保存する保存手段、
前記記憶部に保存されている情報X(i=2,・・・,n)を前記通信端末Uに送信する第1の送信手段、
前記通信端末Uで生成された鍵Kと同一の鍵Kを生成するための情報Z(i=2,・・・,n)を前記通信端末U(i=2,・・・,n)の各々に送信する第2の送信手段、
として機能させるためのプログラム。
A computer for exchanging keys between a plurality of communication terminals Ui (i = 1, ..., N).
Information X i (i = 2, ..., N) calculated in advance by some of the communication terminals U i (i = 2, ..., N) among the plurality of communication terminals U i is stored in the storage unit. Preservation means to save to
A first transmission means for transmitting information X i (i = 2, ..., N) stored in the storage unit to the communication terminal U 1.
The information for generating the generated key K and the same key K in the communication terminal U 1 Z i (i = 2 , ···, n) the communication terminal U i (i = 2, ··· , A second transmission means for transmitting to each of n),
A program to function as.
JP2019152737A 2019-08-23 2019-08-23 Key exchange system, key exchange device, key exchange method and program Pending JP2021034858A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019152737A JP2021034858A (en) 2019-08-23 2019-08-23 Key exchange system, key exchange device, key exchange method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019152737A JP2021034858A (en) 2019-08-23 2019-08-23 Key exchange system, key exchange device, key exchange method and program

Publications (1)

Publication Number Publication Date
JP2021034858A true JP2021034858A (en) 2021-03-01

Family

ID=74676182

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019152737A Pending JP2021034858A (en) 2019-08-23 2019-08-23 Key exchange system, key exchange device, key exchange method and program

Country Status (1)

Country Link
JP (1) JP2021034858A (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004201292A (en) * 2002-12-03 2004-07-15 Matsushita Electric Ind Co Ltd Key sharing system, shared key generating apparatus, and shared key restoring apparatus
WO2019093478A1 (en) * 2017-11-10 2019-05-16 日本電信電話株式会社 Key exchange device, key exchange system, key exchange method, and key exchange program

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004201292A (en) * 2002-12-03 2004-07-15 Matsushita Electric Ind Co Ltd Key sharing system, shared key generating apparatus, and shared key restoring apparatus
WO2019093478A1 (en) * 2017-11-10 2019-05-16 日本電信電話株式会社 Key exchange device, key exchange system, key exchange method, and key exchange program

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
NAM, J. ET AL.: "DDH-based Group Key Agreement in a Mobile Environment", CRYPTOLOGY EPRINT ARCHIVE, vol. Paper 2004/127, JPN6022037040, 3 June 2004 (2004-06-03), pages 1 - 13, ISSN: 0004988334 *
小林 鉄太郎 ほか: "ID-based Scalable and Dynamic Multi-Cast Key Distribution for secure business chat system", 2017年 暗号と情報セキュリティシンポジウム予稿集, JPN6022037042, 24 January 2017 (2017-01-24), JP, pages 1 - 8, XP009517227, ISSN: 0004867136 *
小林 鉄太郎 ほか: "スケーラブルな動的他者鍵配布プロトコル", 2016年 暗号と情報セキュリティシンポジウム概要集, JPN6022037039, 19 January 2016 (2016-01-19), JP, pages 1 - 7, ISSN: 0004867137 *
岡部 寿男 ほか: "属性提供サーバに対してサービス提供サーバを秘匿する匿名化プロキシ", マルチメディア,分散,協調とモバイル(DICOMO2013)シンポジウム論文集, vol. 第2013巻,第2号, JPN6022037041, 3 July 2013 (2013-07-03), JP, pages 1958 - 1963, ISSN: 0004988335 *

Similar Documents

Publication Publication Date Title
Araki et al. High-throughput semi-honest secure three-party computation with an honest majority
US11316676B2 (en) Quantum-proof multiparty key exchange system, quantum-proof multiparty terminal device, quantum-proof multiparty key exchange method, program, and recording medium
JP2020524421A (en) Distributed Key Management for Trusted Execution Environment
WO2022237450A1 (en) Secure multi-party computation method and apparatus, and device and storage medium
CN111404950B (en) Information sharing method and device based on block chain network and related equipment
CN114586313A (en) System and method for signing information
Liu et al. CCBKE—Session key negotiation for fast and secure scheduling of scientific applications in cloud computing
Zhang et al. Server-aided private set intersection based on reputation
US11470065B2 (en) Protection of private data using an enclave cluster
TW202029693A (en) Computer implemented system and method for distributing shares of digitally signed data
WO2018016330A1 (en) Communication terminal, server device, and program
JP2020088421A (en) Communication device, communication method, and communication program
JP2020533859A (en) Methods and Devices for Increasing Blockchain Entropy Using Blinded Consequential Diversification
US11411720B2 (en) Key distribution system, terminal device, key distribution method, and program
Salim et al. A secure and timestamp-based communication scheme for cloud environment
Álvarez‐Bermejo et al. Distributed key agreement for group communications based on elliptic curves. An application to sensor networks.
WO2022239129A1 (en) Key exchange system, device, key exchange method, and program
Fakhar et al. Management of symmetric cryptographic keys in cloud based environment
JP2021034858A (en) Key exchange system, key exchange device, key exchange method and program
Maffina et al. An improved and efficient message passing interface for secure communication on distributed clusters
JP7298686B2 (en) Key exchange system, communication device and program
He et al. Efficient group key management for secure big data in predictable large‐scale networks
JP7292648B2 (en) Key exchange system, information processing device, key exchange method and program
JP7254296B2 (en) Key exchange system, information processing device, key exchange method and program
WO2022091217A1 (en) Key exchange system, terminal, key exchange method, and program

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20190826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20190826

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221027

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230214