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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004891 communication Methods 0.000 claims abstract description 239
- 238000004364 calculation method Methods 0.000 claims abstract description 26
- 238000003860 storage Methods 0.000 claims description 42
- 230000005540 biological transmission Effects 0.000 claims 4
- 238000004321 preservation Methods 0.000 claims 1
- 238000012795 verification Methods 0.000 description 53
- 238000012545 processing Methods 0.000 description 47
- 238000010586 diagram Methods 0.000 description 9
- 238000009826 distribution Methods 0.000 description 7
- 230000003068 static effect Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000015654 memory Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001172 regenerating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
Description
本発明は、鍵交換システム、鍵交換装置、鍵交換方法及びプログラムに関する。 The present invention relates to 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. ..
しかし、鍵交換プロトコルに参加するユーザ全員が必ずしも、使用する端末の通信環境が良い、計算処理能力が高い、というわけではない。使用する端末や利用環境は異なるため、帯域が狭い通信環境(例えば、シェアオフィスやカフェ、新幹線、飛行機等における通信環境)にいるユーザや、計算処理能力が他のユーザの端末に比べて低い端末(例えば、リリースが数年以上前の端末)を持つユーザが鍵交換セッションに存在する場合、従来の多者間鍵交換プロトコルでは、ユーザの離脱時の鍵更新時や一定時間経過に伴う鍵更新時等に、鍵更新処理が遅延したり、鍵生成エラーが発生したりすることがあった。 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.
上記目的を達成するため、本発明の実施の形態における鍵交換システムは、複数の通信端末Ui(i=1,・・・,n)間で鍵交換を行う鍵交換システムであって、前記複数の通信端末Uiのうちの一部の通信端末Ui(i=2,・・・,n)で予め計算された情報Xi(i=2,・・・,n)を用いて、前記通信端末U1で、鍵Kを生成する第1の鍵生成手段と、前記鍵Kと、前記情報Xi(i=2,・・・,n)とを用いて、前記通信端末U1で、前記一部の通信端末Ui(i=2,・・・,n)の各々で前記鍵Kを生成するための情報Zi(i=2,・・・,n)を計算する計算手段と、前記通信端末U1で予め計算された情報X1と、前記情報Zi(i=2,・・・,n)の各々とを用いて、前記一部の通信端末Ui(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.
以下、本発明の実施の形態について説明する。本発明の実施の形態では、鍵交換に参加する一部のユーザ(例えば、帯域が狭い通信環境にいるユーザや計算処理能力が低い端末を持つユーザ)の通信コストや計算コストを削減することが可能な鍵交換システム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
<理論的な構成>
まず、本発明の実施の形態における鍵交換システム1の具体的な構成や処理を説明する前に、本発明の実施の形態を実現するための理論的な構成について説明する。以降では、κはセキュリティパラメータ、pはκビットの素数、Gは位数pの有限巡回群、gはGの生成元をそれぞれ表すものとする。また、Nを2以上の任意の整数として、N人のユーザがそれぞれ利用する通信端末をU1,・・・,UNと表し、U1,・・・,Un(ただし、n≦N)の間で鍵交換を行う場合を想定する。
<Theoretical composition>
First, before explaining the specific configuration and processing of the
また、以降では、U1は安定した通信帯域が確保された通信環境にあり、十分な計算リソースが提供できる通信端末(この通信端末を「代表通信端末」とも表す。)であるものとし、Ui(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プロトコルは、オフライン計算とオンライン計算とで構成される。オフライン計算は、各ユーザの通信端末が、他のユーザに関する情報に依存せずに実施することが可能である。したがって、各Ui(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.
(オフライン計算)
各Ui(i=1,2,・・・,n)は、xi∈RZpを生成し、
(Offline calculation)
Each U i (i = 1, 2, ..., N) produces x i ∈ R Z p ,
そして、各Uiは、(xi,Xi)を自身の記憶装置等に保存する。 Each U i stores (x i, X i) to its storage device or the like.
(オンライン計算)
ステップS1:各Ui(ただし、i=2,・・・,n)は、XiをU1に送信する。
(Online calculation)
Step S1: Each U i (where i = 2, ..., N) transmits X i to U 1.
ステップS2:U1は、(X2,・・・,Xn)を受信すると、SK∈RGを生成し、i∈[2,n]に対して、 Step S2: U 1, to the (X 2, ···, X n ) receives the generates SK∈ R G, i∈ [2, n],
そして、U1は、i∈[2,n]に対して、(X1,Zi)をUiに送信する。また、U1は、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:各Ui(ただし、i=2,・・・,n)は、(X1,Zi)を受信すると、 Step S3: When each U i (where i = 2, ..., N) receives (X 1 , Z i ),
≪UGKEに基づくID−DMKDプロトコル≫
次に、上記のUGKEに基づくID−DMKDプロトコルについて説明する。UGKEに基づくID−DMKDプロトコルは、ID−DMKDプロトコルと同様に4つのフェーズ(Distフェーズ、Joinフェーズ、Leaveフェーズ及びUpdateフェーズ)がある。Distフェーズはグループ(つまり、U1,・・・,Un)で新たなセッションを開始してセッション鍵を共有するためのフェーズであり、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フェーズは新たなタイムフレームが始まった場合にセッション鍵を更新するためのフェーズである。ここで、各Uiはセッション鍵の更新等に用いられる状態情報stateiを保持しており、Uiがセッションを開始したときに、そのセッションがタイムフレームの中でUiの最初のセッションであった場合、stateiが更新される。 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
[準備]
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.
uskA←Der(Params,msk,A):ParamsとmskとAとを入力として、uskAを出力する鍵配布アルゴリズムである。ここで、Aは属性であり、uskAはユーザ秘密鍵である。 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,uskA,CT):ParamsとuskAと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
なお、上記の暗号文ポリシー属性ベース暗号及びメッセージ認証符号をそれぞれ構成するアルゴリズムの入力に鍵が含まれる場合、アルゴリズムを表す記号の右下に当該鍵を表す記号を表記し、当該アルゴリズムの入力に当該鍵が含まれることを表すことがある。例えば、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.
更に、疑似ランダム関数を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´)を静的公開鍵SPKSとして発行する。 At this time, S issues (Params, p, G, g, TCR, tPRF, F, F') as the static public key SPK S.
また、各Ui(i=1,2,・・・,n)及びSは、属性Ai=(Ui,init)として、暗号文ポリシー属性ベース暗号の鍵配布アルゴリズムを実行し、初期秘密鍵iski←Der(Params,msk,Ai)を生成する。なお、属性としてUiが指定される場合は、Uiは通信端末の識別子(例えば、メールアドレス、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). ..
また、各Uiは、ねじれ疑似ランダム関数のための秘密ストリング(sti,sti´)を生成する。同様に、Sは、秘密ストリング(stS,stS´)を生成する。ここで、sti,stS∈RKspaceκ、sti´,stS´∈R{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 S ∈ R Kspace κ , st i ´, st S ′ ∈ R {0,1} κ .
そして、各Uiは、(iski,sti,sti´)を静的秘密鍵SSKiとして自身の記憶装置等に保存する。同様に、Sは、(msk,stS,stS´)を静的秘密鍵SSKSとして自身の記憶装置等に保存する。 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フェーズ]
U1,・・・,Unが新たなセッションを開始し、セッション鍵を共有する場合について説明する。
[Dist phase]
A case where U 1 , ..., Un starts a new session and shares a session key will be described.
(新たなタイムフレームでの状態情報の更新)
タイムフレームTFにおいて、当該新たなセッションがUi(i=1,2,・・・,n)の最初のセッションである場合、現在時刻t∈TFに対して、Sは、属性Ai´=(Ui,t)として、uski←Der(Params,msk,Ai´)と、mki←MGen(1κ)とを生成する。次に、Sは、アクセス構造Pi=((ID=Ui)∧(t=init))として、CTi←AEnc(Params,Pi,(uski,mki))を計算する。ここで、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は、CTiをUiに送信する。その後、Uiは、CTiを受信すると、 Then, S transmits CT i to U i. After that, when U i receives CT i,
(オフライン計算)
各Ui(i=1,2,・・・,n)は、xi∈RZpを生成し、
(Offline calculation)
Each U i (i = 1, 2, ..., N) produces x i ∈ R Z p ,
(代表通信端末以外の通信端末の1ラウンド目)
各Ui(ただし、i=2,・・・,n)は、
(First round of communication terminals other than the representative communication terminal)
Each U i (however, i = 2, ..., N) is
(鍵交換サーバの1ラウンド目)
i∈[2,n]に対して、Sは、(Xi,σi)を受信すると、検証アルゴリズム
(First round of key exchange server)
For i ∈ [2, n], when S receives (X i , σ i ), the verification algorithm
(代表通信端末の1ラウンド目)
U1は、({Xi}i∈[2,n],σS)を受信すると、検証アルゴリズム
(First round of representative communication terminal)
When U 1 receives ({X i } i ∈ [2, n] , σ S ), the verification algorithm
(鍵交換サーバの2ラウンド目)
Sは、(X1,{Zi}i∈[2,n],σ1´)を受信すると、検証アルゴリズム
(Second round of key exchange server)
When S receives (X 1 , {Z i } i ∈ [2, n] , σ 1 ′), the verification algorithm
また、Sは、 Also, S is
(セッション鍵の生成)
Ui(ただし、i=2,・・・n)は、
(Generation of session key)
U i (however, i = 2, ... n) is
他方で、U1は、 On the other hand, U 1
[Joinフェーズ]
次に、セッション鍵SKを共有しているグループ(U1,・・・,Un)に対して、新たなユーザの通信端末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において、当該新たなセッションがUi(ただし、i=1,n+1)の最初のセッションである場合、現在時刻t∈TFに対して、Sは、属性Ai´=(Ui,t)として、uski←Der(Params,msk,Ai´)と、mki←MGen(1κ)とを生成する。次に、Sは、アクセス構造Pi=((ID=Ui)∧(t=init))として、CTi←AEnc(Params,Pi,(uski,mki))を計算する。
(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は、CTiをUiに送信する。その後、Uiは、CTiを受信すると、 Then, S transmits CT i to U i. After that, when U i receives CT i,
(オフライン計算)
各Ui(ただし、i=1,n+1)は、xi∈RZpを生成し、
(Offline calculation)
Each U i (where i = 1, n + 1) produces x i ∈ R Z p ,
(参加通信端末の1ラウンド目)
Un+1は、
(First round of participating communication terminals)
Un + 1 is
(鍵交換サーバの1ラウンド目)
Sは、(Xn+1,σn+1)を受信すると、検証アルゴリズム
(First round of key exchange server)
When S receives (X n + 1 , σ n + 1 ), the verification algorithm
(代表通信端末の1ラウンド目)
U1は、(sid,Xn+1,σS)を受信すると、検証アルゴリズム
(First round of representative communication terminal)
When U 1 receives (sid, X n + 1 , σ S ), the verification algorithm
(鍵交換サーバの2ラウンド目)
Sは、(X1,Zn+1,σ1)を受信すると、検証アルゴリズム
(Second round of key exchange server)
When S receives (X 1 , Z n + 1 , σ 1 ), the verification algorithm
(セッション鍵の生成)
Un+1は、
(Generation of session key)
Un + 1 is
[Leaveフェーズ]
次に、セッション鍵SKを共有しているグループ(U1,・・・,Un)から或るユーザの通信端末Ujが離脱する場合、このグループからUjを除いたグループ(例えば、j≠1,nである場合、U1,・・・,Uj−1,Uj+1,・・・,Un)で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フェーズ]
次に、新たなタイムフレームが開始した場合に、U1,・・・,Unで共有しているセッション鍵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において、U1,・・・,Unで開始したセッションがUi(i=1,2,・・・,n)の最初のセッションである場合、現在時刻t∈TFに対して、Sは、属性Ai´=(Ui,t)として、uski←Der(Params,msk,Ai´)と、mki←MGen(1κ)とを生成する。次に、Sは、アクセス構造Pi=((ID=Ui)∧(t=init))として、CTi←AEnc(Params,Pi,(uski,mki))を計算する。
(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は、CTiをUiに送信する。その後、Uiは、CTiを受信すると、 Then, S transmits CT i to U i. After that, when U i receives CT i,
(セッション鍵更新のための情報生成)
Sは、
(Information generation for updating session key)
S is
(セッション鍵の更新)
Uiは、CTi´を受信すると、
(Update session key)
When U i receives CT i ',
<鍵交換システム1の全体構成>
次に、上記のUGKEに基づくID−DMKDプロトコルによる鍵交換を実現する鍵交換システム1の全体構成について、図1を参照しながら説明する。図1は、本発明の実施の形態における鍵交換システム1の全体構成の一例を示す図である。
<Overall configuration of
Next, the overall configuration of the
図1に示すように、本発明の実施の形態における鍵交換システム1には、鍵交換サーバ10と、複数の通信端末20とが含まれる。鍵交換サーバ10と各通信端末20及び通信端末20同士は、例えばインターネット等の通信ネットワークNを介して通信可能に接続されている。
As shown in FIG. 1, the
鍵交換サーバ10は、通信端末20間で鍵交換を行うためのサーバとして機能するコンピュータ又はコンピュータシステムである。上記のUGKEに基づくID−DMKDプロトコルにおける「鍵交換サーバS」は、鍵交換サーバ10により実現される。したがって、以降では、鍵交換サーバ10を「鍵交換サーバS」又は単に「S」とも表す。
The
通信端末20は、ユーザが利用する端末である。複数の通信端末20のそれぞれを区別する場合は、nを2以上の整数として、「通信端末201」、・・・、「通信端末20N」と表す。上記のUGKEに基づくID−DMKDプロトコルにおける「通信端末Ui」は、通信端末20により実現される。したがって、以降では、n≦Nとして、「通信端末201」、・・・、「通信端末20n」のそれぞれを、「U1」、・・・、「Un」又は「通信端末U1」、・・・、「通信端末Un」とも表す。
The
また、上記のUGKEに基づくID−DMKDプロトコルにおける前提と同様に、U1,・・・,Unの間で鍵交換を行うものとする。そして、U1は安定した通信帯域が確保された通信環境にあり、十分な計算リソースが提供できるものとして「代表通信端末」とも表す。一方で、「代表通信端末」以外の通信端末Ui(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
<鍵交換サーバ10及び通信端末20のハードウェア構成>
次に、本発明の実施の形態における鍵交換サーバ10及び通信端末20のハードウェア構成について、図2を参照しながら説明する。図2は、本発明の実施の形態における鍵交換サーバ10及び通信端末20のハードウェア構成の一例を示す図である。なお、通信端末20がPCやスマートフォン、タブレット端末等である場合には、通信端末20は鍵交換サーバ10と略同様のハードウェア構成で実現することが可能である。したがって、以降では、主に、鍵交換サーバ10のハードウェア構成について説明する。
<Hardware configuration of
Next, the hardware configuration of the
図2に示すように、本発明の実施の形態における鍵交換サーバ10は、入力装置11と、表示装置12と、RAM(Random Access Memory)13と、ROM(Read Only Memory)14と、プロセッサ15と、外部I/F16と、通信I/F17と、補助記憶装置18とを有する。これら各ハードウェアは、それぞれがバス19を介して通信可能に接続されている。
As shown in FIG. 2, the
入力装置11は、例えばキーボードやマウス、タッチパネル等であり、ユーザが各種操作を入力するのに用いられる。表示装置12は、例えばディスプレイ等であり、ユーザに対して各種処理結果等を表示するのに用いられる。なお、鍵交換サーバ10は、入力装置11及び表示装置12のうちの少なくとも一方を有していなくてもよい。
The
RAM13は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM14は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。プロセッサ15は、例えばCPU(Central Processing Unit)等であり、ROM14や補助記憶装置18等からプログラムやデータをRAM13上に読み出して処理を実行する演算装置である。
The
外部I/F16は、外部装置とのインタフェースである。外部装置には、記録媒体16a等がある。記録媒体16aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
The external I /
通信I/F17は、鍵交換サーバ10を通信ネットワークNに接続するためのインタフェースである。補助記憶装置18は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性の記憶装置である。
The communication I /
本発明の実施の形態における鍵交換サーバ10及び通信端末20は、図2に示すハードウェア構成を有することにより、後述するセットアップ処理や鍵交換処理等を実現することができる。なお、図2では、本発明の実施の形態における鍵交換サーバ10及び通信端末20が1台の装置(コンピュータ)で実現されている場合を示したが、これに限られない。本発明の実施の形態における鍵交換サーバ10及び通信端末20は、複数台の装置(コンピュータ)で実現されていてもよい。また、1台の装置(コンピュータ)には、複数のプロセッサ15や複数のメモリ(例えば、RAM13やROM14、補助記憶装置18等)が含まれていてもよい。
The
<鍵交換システム1の機能構成>
次に、本発明の実施の形態における鍵交換システム1の機能構成について、図3を参照しながら説明する。図3は、本発明の実施の形態における鍵交換システム1の機能構成の一例を示す図である。
<Functional configuration of
Next, the functional configuration of the
≪鍵交換サーバ10≫
図3に示すように、本発明の実施の形態における鍵交換サーバ10は、通信部101と、鍵交換処理部102と、記憶部103とを有する。通信部101及び鍵交換処理部102は、例えば、鍵交換サーバ10にインストールされた1以上のプログラムがプロセッサに実行させる処理により実現される。また、記憶部103は、例えば補助記憶装置等の記憶装置を用いて実現可能である。
≪
As shown in FIG. 3, the
通信部101は、通信端末20との間で各種データの送受信を行う。鍵交換処理部102は、通信端末20間でセッション鍵を共有や更新等するための鍵交換処理を行う。記憶部103は、鍵交換処理に用いられる各種データ(例えば、代表通信端末以外の通信端末Ui(i=2,・・・,n)から送信されたXi等)を記憶する。
The
≪鍵交換サーバ10≫
図3に示すように、本発明の実施の形態における通信端末20は、通信部201と、鍵交換処理部202と、記憶部203とを有する。通信部201及び鍵交換処理部202は、例えば、通信端末20にインストールされた1以上のプログラムがプロセッサに実行させる処理により実現される。また、記憶部203は、例えば補助記憶装置等の記憶装置を用いて実現可能である。
≪
As shown in FIG. 3, the
通信部201は、鍵交換サーバ10や他の通信端末20との間で各種データの送受信を行う。鍵交換処理部202は、他の通信端末20との間でセッション鍵を共有や更新等するための鍵交換処理を行う。記憶部203は、鍵交換処理に用いられる各種データ(例えば、自身が生成したXi等)を記憶する。
The
<セットアップ処理>
次に、本発明の実施の形態における鍵交換システム1が実行するセットアップ処理について、図4を参照しながら説明する。図4は、セットアップ処理の一例を示すフローチャートである。なお、このセットアップ処理は、上述したUGKEに基づくID−DMKDプロトコルのセットアップを鍵交換システム1により実現した処理である。したがって、以降では、セットアップ処理の流れ及び概略について説明し、詳細については上述したUGKEに基づくID−DMKDプロトコルのセットアップを参照されたい。
<Setup process>
Next, the setup process executed by the
ステップS101:鍵交換サーバ10の鍵交換処理部102は、暗号文ポリシー属性ベース暗号のSetupアルゴリズムを実行し、公開パラメータParamsとマスター秘密鍵mskとを生成する。
Step S101: The key
ステップS102:次に、鍵交換サーバ10の鍵交換処理部102は、(Params,p,G,g、TCR,tPRF,F,F´)を静的公開鍵SPKSとして発行する。
Step S102: Next, the key
ステップS103:次に、各通信端末20i(i=1,2,・・・,n)の鍵交換処理部202及び鍵交換サーバ10の鍵交換処理部102は、暗号文ポリシー属性ベース暗号の鍵配布アルゴリズムを実行して初期静的鍵iskiを生成する。なお、例えば、各通信端末20i(i=1,2,・・・,n)の通信部101が識別子Uiを鍵交換サーバ10に送信することで、鍵交換サーバ10では、この識別子Uiを含む属性Aiを用いて、当該鍵配布アルゴリズムが実行される。
Step S103: Next, the key exchange processing unit 202 of each communication terminal 20 i (i = 1, 2, ..., N) and the key
ステップS104:次に、各通信端末20i(i=1,2,・・・,n)の鍵交換処理部202は、秘密ストリング(sti,sti´)を生成する。同様に、鍵交換サーバ10の鍵交換処理部102は、秘密ストリング(stS,stS´)を生成する。
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
ステップS105:最後に、各通信端末20i(i=1,2,・・・,n)の鍵交換処理部202は、(iski,sti,sti´)を静的秘密鍵SSKiとして自身の記憶部203に保存する。同様に、鍵交換サーバ10の鍵交換処理部102は、(msk,stS,stS´)を静的秘密鍵SSKSとして記憶部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
<鍵交換処理(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
ステップS201:鍵交換サーバ10及び通信端末20は、Distフェーズの「新たなタイムフレームでの状態情報の更新」を行う。すなわち、鍵交換サーバ10の鍵交換処理部102は、タイムフレームTFにおいて最初のセッションである通信端末20iに関してuski及びmkiを生成した後、CTiを計算する。そして、鍵交換サーバ10の通信部101は、計算したCTiを通信端末20iに送信する。また、通信端末20iの鍵交換処理部202は、CTiから(uski,mki)を計算(復号)し、記憶部203に記憶されている状態情報stateiを更新する。
Step S201: The
ステップS202:各通信端末20は、Distフェーズの「オフライン計算」を行う。すなわち、各通信端末20の鍵交換処理部202は、Xiを計算して記憶部203に保存する。
Step S202: Each
ステップS203:次に、代表通信端末以外の各通信端末20(つまり、U2,・・・,Un)は、Distフェーズの「代表通信端末以外の通信端末の1ラウンド目」を行う。すなわち、各通信端末20i(ただし、i=2,・・・,n)の鍵交換処理部202は、メッセージ認証符号のタグ生成アルゴリズムによりXiのタグσiを生成する。そして、各通信端末20i(ただし、i=2,・・・,n)の通信部201は、(Xi,σi)を鍵交換サーバ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
ステップS204:鍵交換サーバ10は、Distフェーズの「鍵交換サーバの1ラウンド目」を行う。すなわち、鍵交換サーバ10の鍵交換処理部102は、MAC検証を行った上で、メッセージ認証符号のタグ生成アルゴリズムによりσSを生成する。そして、鍵交換サーバ10の通信部101は、({Xi}i∈[2,n],σS)を代表通信端末(つまり、通信端末201)に送信する。なお、各Xiは、鍵交換サーバ10の記憶部103に保存される。
Step S204: The
ステップS205:代表通信端末(つまり、通信端末201)は、Distフェーズの「代表通信端末の1ラウンド目」を行う。すなわち、通信端末201の鍵交換処理部202は、MAC検証を行った上で、短期秘密鍵ESK1を生成し、この短期秘密鍵ESK1から(X1,{Zi}i∈[2,n],σ1´)を生成する。そして、通信端末201の通信部201は、(X1,{Zi}i∈[2,n],σ1´)を鍵交換サーバ10に送信する。
Step S205: the representative communication terminal (i.e.,
ステップS206:鍵交換サーバ10は、Distフェーズの「鍵交換サーバの2ラウンド目」を行う。すなわち、鍵交換サーバ10の鍵交換処理部102は、MAC検証を行った上で、sidを計算すると共に短期秘密鍵ESKSを計算する。次に、鍵交換サーバ10の鍵交換処理部102は、この短期秘密鍵ESKSに基づいて、暗号文ポリシー属性ベース暗号の暗号化アルゴリズム及びメッセージ認証符号のタグ生成アルゴリズムにより、CT1´及びそのタグと、CTi´及びそのタグとを計算する。そして、鍵交換サーバ10の通信部101は、
Step S206: The
ステップS207:各通信端末20は、Distフェーズの「セッション鍵の生成」を行う。これにより、各通信端末20でセッション鍵SKが共有される。
Step S207: Each
以上のように、本発明の実施の形態における鍵交換システム1では、代表通信端末以外の各通信端末20iでオフライン計算されたXiを鍵交換サーバ10に保存する。これにより、代表通信端末以外の各通信端末20iのラウンド回数を削減(つまり、通信コストを削減)することができる。したがって、例えば、鍵交換を行う通信端末20の中に、狭い帯域の通信環境にある通信端末20が含まれていたり、十分な計算リソースが提供できない通信端末20が含まれていたりする場合であっても、少なくとも1台の通信端末20が安定した通信環境にあり、十分な計算リソースが提供できる場合には、遅延等を発生させることなく鍵交換が可能となる。
As described above, in the
<鍵交換処理(Joinフェーズ)>
次に、本発明の実施の形態における鍵交換システム1が実行する鍵交換処理(Joinフェーズ)について、図6を参照しながら説明する。図6は、鍵交換処理(Joinフェーズ)の一例を示すシーケンス図である。なお、この鍵交換処理(Joinフェーズ)は、上述したUGKEに基づくID−DMKDプロトコルのJoinフェーズを鍵交換システム1により実現した処理である。したがって、以降では、鍵交換処理(Joinフェーズ)の流れ及び概略について説明し、詳細については上述したUGKEに基づくID−DMKDプロトコルのJoinフェーズを参照されたい。また、以降では、上述したUGKEに基づくID−DMKDプロトコルにおける前提と同様に、セッション鍵SKを共有しているグループ(U1,・・・,Un)に対して、新たなユーザの通信端末Un+1が参加するものとして、この通信端末Un+1を「参加通信端末」とも表す。
<Key exchange process (Join phase)>
Next, the key exchange process (Join phase) executed by the
ステップS301:鍵交換サーバ10及び通信端末20i(ただし、i=1,n+1)は、Joinフェーズの「新たなタイムフレームでの状態情報の更新」を行う。すなわち、鍵交換サーバ10の鍵交換処理部102は、タイムフレームTFにおいて最初のセッションである通信端末20iに関してuski及びmkiを生成した後、CTiを計算する。そして、鍵交換サーバ10の通信部101は、計算したCTiを通信端末20iに送信する。また、通信端末20iの鍵交換処理部202は、CTiから(uski,mki)を計算(復号)し、記憶部203に記憶されている状態情報stateiを更新する。
Step S301: The
ステップS302:次に、各通信端末20i(ただし、i=1,n+1)は、Joinフェーズの「オフライン計算」を行う。すなわち、各通信端末20i(ただし、i=1,n+1)の鍵交換処理部202は、Xiを計算して記憶部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
ステップ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
ステップS304:鍵交換サーバ10は、Joinフェーズの「鍵交換サーバの1ラウンド目」を行う。すなわち、鍵交換サーバ10の鍵交換処理部102は、MAC検証を行った上で、メッセージ認証符号のタグ生成アルゴリズムによりσSを生成する。そして、鍵交換サーバ10の通信部101は、(sid,Xn+1,σS)を代表通信端末(つまり、通信端末201)に送信する。なお、上述したように、Joinフェーズではセッション鍵SIが変わらないため、sidも変わらない。
Step S304: The
ステップS305:次に、代表通信端末(つまり、通信端末201)は、Joinフェーズの「代表通信端末の1ラウンド目」を行う。すなわち、通信端末201の鍵交換処理部202は、MAC検証を行った上で、Zn+1及びσ1を計算する。そして、通信端末201の通信部201は、(X1,Zn+1,σ1)を鍵交換サーバ10に送信する。
Step S305: Next, the representative communication terminal (i.e.,
ステップS306:鍵交換サーバ10は、Joinフェーズの「鍵交換サーバの2ラウンド目」を行う。すなわち、鍵交換サーバ10の鍵交換処理部102は、MAC検証を行った上で、CTn+1´及びそのタグを計算する。そして、鍵交換サーバ10の通信部101は、
Step S306: The
ステップ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を共有しているグループ(U1,・・・,Un)から或るユーザの通信端末Ujが離脱する場合は、上述したように、このグループからUjを除いたグループ(例えば、j≠1,nである場合、U1,・・・,Uj−1,Uj+1,・・・,Un)で鍵交換処理(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プロトコルにおける前提と同様に、新たなタイムフレームが開始した場合に、U1,・・・,Unで共有しているセッション鍵SKを新たなセッション鍵SK´に更新する場合について説明する。
<Key exchange process (Update phase)>
Next, the key exchange process (Update phase) executed by the
ステップS401:鍵交換サーバ10及び通信端末20は、Updateフェーズの「新たなタイムフレームでの状態情報の更新」を行う。すなわち、鍵交換サーバ10の鍵交換処理部102は、新たなタイムフレームTFにおいて最初のセッションである通信端末20iに関してuski及びmkiを生成した後、CTiを計算する。そして、鍵交換サーバ10の通信部101は、計算したCTiを通信端末20iに送信する。また、通信端末20iの鍵交換処理部202は、CTiから(uski,mki)を計算(復号)し、記憶部203に記憶されている状態情報stateiを更新する。
Step S401: The
ステップS402:次に、鍵交換サーバ10は、Updateフェーズの「セッション鍵更新のための情報生成」を行う。すなわち、鍵交換サーバ10の鍵交換処理部102は、暗号文ポリシー属性ベース暗号の暗号化アルゴリズムによりCTi´を生成する。そして。鍵交換サーバ10の通信部101は、CTi´を通信端末20iに送信する。
Step S402: Next, the
ステップS403:各通信端末20は、Updateフェーズの「セッション鍵の更新」を行う。これにより、各通信端末20でセッション鍵SKがセッション鍵SK´に更新される。
Step S403: Each
本発明は、具体的に開示された上記の実施の形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。 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
Claims (7)
前記複数の通信端末Uiのうちの一部の通信端末Ui(i=2,・・・,n)で予め計算された情報Xi(i=2,・・・,n)を用いて、前記通信端末U1で、鍵Kを生成する第1の鍵生成手段と、
前記鍵Kと、前記情報Xi(i=2,・・・,n)とを用いて、前記通信端末U1で、前記一部の通信端末Ui(i=2,・・・,n)の各々で前記鍵Kを生成するための情報Zi(i=2,・・・,n)を計算する計算手段と、
前記通信端末U1で予め計算された情報X1と、前記情報Zi(i=2,・・・,n)の各々とを用いて、前記一部の通信端末Ui(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.
前記鍵交換サーバには、前記情報Xi(i=2,・・・,n)が保存されており、
前記第1の鍵生成手段は、
前記鍵交換サーバに保存されている情報Xi(i=2,・・・,n)を用いて、前記通信端末U1で、鍵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.
前記情報X1と、前記情報Xi(i=2,・・・,n)とを用いて、所定のハッシュ関数によりセッションIDを生成するセッションID生成手段と、
前記セッションIDを用いて、前記通信端末U1で、セッション鍵を生成する第3の鍵生成手段と、
前記セッションIDと、前記情報Zi(i=2,・・・,n)の各々とを用いて、前記通信端末Ui(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.
前記複数の通信端末Uiのうちの一部の通信端末Ui(i=2,・・・,n)で予め計算された情報Xi(i=2,・・・,n)を記憶部に保存する保存手段と、
前記記憶部に保存されている情報Xi(i=2,・・・,n)を前記通信端末U1に送信する第1の送信手段と、
前記通信端末U1で生成された鍵Kと同一の鍵Kを生成するための情報Zi(i=2,・・・,n)を前記通信端末Ui(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.
前記複数の通信端末Uiのうちの一部の通信端末Ui(i=2,・・・,n)で予め計算された情報Xi(i=2,・・・,n)を用いて、前記通信端末U1で、鍵Kを生成する第1の鍵生成手順と、
前記鍵Kと、前記情報Xi(i=2,・・・,n)とを用いて、前記通信端末U1で、前記一部の通信端末Ui(i=2,・・・,n)の各々で前記鍵Kを生成するための情報Zi(i=2,・・・,n)を計算する計算手順と、
前記通信端末U1で予め計算された情報X1と、前記情報Zi(i=2,・・・,n)の各々とを用いて、前記一部の通信端末Ui(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.
前記複数の通信端末Uiのうちの一部の通信端末Ui(i=2,・・・,n)で予め計算された情報Xi(i=2,・・・,n)を記憶部に保存する保存手段、
前記記憶部に保存されている情報Xi(i=2,・・・,n)を前記通信端末U1に送信する第1の送信手段、
前記通信端末U1で生成された鍵Kと同一の鍵Kを生成するための情報Zi(i=2,・・・,n)を前記通信端末Ui(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.
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)
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 |
-
2019
- 2019-08-23 JP JP2019152737A patent/JP2021034858A/en active Pending
Patent Citations (2)
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)
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 | |
CN114586313B (en) | System and method for signing information | |
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 | |
CN111404950B (en) | Information sharing method and device based on block chain network and related equipment | |
Garg et al. | Comparative analysis of cloud data integrity auditing protocols | |
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 | |
JP2021510954A (en) | Computer-implemented methods and systems for obtaining digitally signed data | |
US11470065B2 (en) | Protection of private data using an enclave cluster | |
TW202029693A (en) | Computer implemented system and method for distributing shares of digitally signed data | |
JP2020088421A (en) | Communication device, communication method, and communication program | |
JP2020533859A (en) | Methods and Devices for Increasing Blockchain Entropy Using Blinded Consequential Diversification | |
JPWO2018016330A1 (en) | Communication terminal, server device, program | |
US11411720B2 (en) | Key distribution system, terminal device, key distribution method, and program | |
CN116681141A (en) | Federal learning method, terminal and storage medium for privacy protection | |
Álvarez‐Bermejo et al. | Distributed key agreement for group communications based on elliptic curves. An application to sensor networks. | |
Fakhar et al. | Management of symmetric cryptographic keys in cloud based environment | |
WO2022239129A1 (en) | Key exchange system, device, key exchange method, and program | |
Chavan et al. | Secure CRM cloud service using RC5 algorithm | |
Maffina et al. | An improved and efficient message passing interface for secure communication on distributed clusters | |
JP2021034858A (en) | Key exchange system, key exchange device, key exchange method and program | |
JP7377487B2 (en) | Key exchange system, communication device, key exchange method 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 |
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 |