JP2013157711A - Key exchange device, key exchange system, key exchange method and program - Google Patents
Key exchange device, key exchange system, key exchange method and program Download PDFInfo
- Publication number
- JP2013157711A JP2013157711A JP2012015217A JP2012015217A JP2013157711A JP 2013157711 A JP2013157711 A JP 2013157711A JP 2012015217 A JP2012015217 A JP 2012015217A JP 2012015217 A JP2012015217 A JP 2012015217A JP 2013157711 A JP2013157711 A JP 2013157711A
- Authority
- JP
- Japan
- Prior art keywords
- key
- short
- key exchange
- exchange device
- identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明は情報セキュリティ技術の応用技術に関するものであり、二者間で共通のセッション鍵を共有する鍵交換装置、鍵交換システム、鍵交換方法、プログラムに関する。 The present invention relates to an application technology of information security technology, and relates to a key exchange device, a key exchange system, a key exchange method, and a program that share a common session key between two parties.
従来の鍵交換方式として非特許文献1が知られている。非特許文献1の鍵交換方式は長期、および短期の秘密鍵の非自明な全ての漏洩パターンに対して高い安全性を実現している。
Non-patent
非特許文献1の鍵交換方式では、同一群からの生成元を用いて共有鍵が一致するようにシステムを構成している(対称ペアリングを前提としている)ため、非対称ペアリングに対応して、2つの群からの生成元を用いて共有鍵が一致するようにシステムを構成することは出来なかった。一方、非対称ペアリングは対称ペアリングと比較して計算量が小さく、効率が良いことが知られており、非対称ペアリングに対応する鍵交換方式の実現がなされていないことが問題であった。そこで本発明では、非対称ペアリングに対応することにより、従来の鍵交換方式よりも計算量の小さい鍵交換方式を実現する鍵交換装置を提供することを目的とする。
In the key exchange method of Non-Patent
本発明の鍵交換装置は、kbit(kは任意の自然数)の素数位数の巡回群であるG1、G2、GTと、G1、G2の生成元であるg1、g2と、GTの生成元であるgT=e(g1,g2)と、非対称ペアリングe:G1×G2→GTと、ハッシュ関数H:{0,1}*→{0,1}k、H1:{0,1}*→G1、H2:{0,1}*→G2と、任意に選択されたマスタ秘密鍵 Key exchange apparatus of the present invention, kbit (k is an arbitrary natural number) g 1, g 2 is G 1, G 2, and G T, G 1, G 2 of the origin is the number of number of cyclic group containing the If, as a generator of G T g T = e (g 1, g 2), asymmetric pairing e: and G 1 × G 2 → G T , the hash function H: {0,1} * → { 0 , 1} k , H 1 : {0, 1} * → G 1 , H 2 : {0, 1} * → G 2 , arbitrarily selected master secret key
から生成された、第1のマスタ公開鍵 First master public key generated from
と、第2のマスタ公開鍵 And the second master public key
とを公開パラメータとして用いる。また、i=1,…,mであるm個の多項式群 Are used as public parameters. In addition, m polynomial groups with i = 1,..., M
であって、 Because
を充たす多項式群の係数を用いる。 The coefficient of the polynomial group satisfying is used.
本発明の鍵交換装置は、識別子送信部と、秘密鍵受信部と、短期秘密鍵生成部と、短期公開鍵生成部と、鍵交換部と、共有鍵生成部とを備える。識別子送信部は、当該鍵交換装置の識別子である識別子IDA(当該鍵交換装置と鍵交換を行う相手側である鍵交換装置の識別子をIDBとする)を鍵生成局に送信する。秘密鍵受信部は、 The key exchange apparatus of the present invention includes an identifier transmission unit, a secret key reception unit, a short-term secret key generation unit, a short-term public key generation unit, a key exchange unit, and a shared key generation unit. The identifier transmission unit transmits an identifier ID A that is an identifier of the key exchange device (an identifier of a key exchange device that is a partner that performs key exchange with the key exchange device is ID B ) to the key generation station. The private key receiver
として生成された第1の秘密鍵DA,1と、 A first secret key D A, 1 generated as
として生成された第2の秘密鍵DA,2とを鍵生成局から受信する。短期秘密鍵生成部は、短期秘密鍵 The second private key D A, 2 generated received from the key generation station as. The short-term secret key generator
をランダムに選択する。短期公開鍵生成部は、生成された短期秘密鍵yAを用いて、第1の短期公開鍵 Select at random. The short-term public key generation unit uses the generated short-term secret key y A to generate the first short-term public key.
と、第2の短期公開鍵 And the second short-term public key
を計算する。鍵交換部は、識別子IDA、識別子IDB、第1の短期公開鍵YA,1、第2の短期公開鍵YA,2を相手側鍵交換装置に送信し、相手側鍵交換装置から識別子IDA、識別子IDB、相手側鍵交換装置が生成した第1の短期公開鍵YB,1、第2の短期公開鍵YB,2を受信する。共有鍵生成部は、共有値 Calculate The key exchange unit transmits the identifier ID A , the identifier ID B , the first short-term public key YA , 1 , and the second short-term public key YA , 2 to the counterpart key exchange device, and from the counterpart key exchange device The identifier ID A , the identifier ID B , the first short-term public key Y B, 1 and the second short-term public key Y B, 2 generated by the counterpart key exchange apparatus are received. Shared key generator
を計算し、共有鍵 Calculate the shared key
を計算する。 Calculate
本発明の鍵交換装置によれば、非対称ペアリングに対応することにより、従来の鍵交換方式よりも計算量の小さい鍵交換方式を実現できる。 According to the key exchange apparatus of the present invention, it is possible to realize a key exchange method with a smaller calculation amount than the conventional key exchange method by supporting asymmetric pairing.
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the structure part which has the same function, and duplication description is abbreviate | omitted.
<本発明のポイント>
本発明では、以下のようにして非対称ペアリングには対応していないという問題を解決した。G1、G2、GTをkbit(kは任意の自然数)の素数位数qの巡回群、g1、g2をG1、G2の生成元、gT=e(g1,g2)をGTの生成元、e:G1×G2→GTを非対称ペアリングとする。一方のユーザであるユーザUAの長期秘密鍵と短期公開鍵をG1、G2のうちの何れかの元で作り、他方のユーザであるユーザUBの長期秘密鍵と短期公開鍵をG1、G2のうち、ユーザUAの長期秘密鍵と短期公開鍵の生成に用いた群と異なる群の元で作り、これらの非対称ペアリングの値を共有値とすることにより、非対称ペアリングに基づく方式を構成した。
<Points of the present invention>
The present invention solves the problem that asymmetric pairing is not supported as follows. G 1, G 2, G T the kbit (k is an arbitrary natural number) number of number of cyclic groups q elements of, g 1, g 2 and G 1, G 2 of the origin, g T = e (g 1 , g 2) the G T origin, e: the G 1 × G 2 → G T and asymmetric pairing. Long secret key and short public key of the user U A is the first user made in any of the original one of G 1, G 2, the long-term private key and short public key of the user U B is the other user G 1 , G 2 , a group different from the group used for generating the user U A 's long-term secret key and short-term public key, and using these asymmetric pairing values as shared values, A scheme based on is constructed.
図1、図2を参照して、本発明の基本的な構成例である実施例1の鍵交換システム10について詳細に説明する。図1は本実施例の鍵交換システム10の構成を示すブロック図である。図2は本実施例の鍵交換システム10の動作を示すフローチャートである。図1に示すように、本実施例の鍵交換システム10は、鍵生成局1と、2台以上の鍵交換装置2により構成される。鍵交換装置2はグループに属するユーザ1人につき1台存在するものとする。図1は便宜上、鍵交換装置2を2台(2A、2B)として図示している。従って、図1の例では少なくともユーザ2名がそれぞれ鍵交換装置(2A、2B)のいずれかを1台ずつ操作できる状態にあるものとする。図1の例では便宜上、鍵交換装置2を2台としたが、鍵交換装置2はこれに限られず、2台以上であれば何台であってもよい。鍵生成局1は、マスタ秘密鍵生成部11と、マスタ秘密鍵記憶部12と、パラメータ公開部13と、マスタ公開鍵公開部14と、識別子受信部15と、秘密鍵生成部16と、秘密鍵送信部17とを備える。鍵交換装置2は、識別子送信部21と、秘密鍵受信部22と、識別子記憶部23と、短期秘密鍵生成部24と、短期公開鍵生成部25と、鍵交換部26と、共有鍵生成部27とを備える。
With reference to FIG. 1 and FIG. 2, the key exchange system 10 of Example 1 which is a basic structural example of this invention is demonstrated in detail. FIG. 1 is a block diagram showing the configuration of the key exchange system 10 of this embodiment. FIG. 2 is a flowchart showing the operation of the key exchange system 10 of this embodiment. As shown in FIG. 1, a key exchange system 10 according to the present embodiment includes a
本実施例の鍵交換システム10を各装置、各構成部の動作に従って説明する。まず、以下のような、m個の多項式 The key exchange system 10 of the present embodiment will be described according to the operation of each device and each component. First, m polynomials such as
を考える。ここで、ci,j,k(i=1,...,m,j,k=0,1)は定数であってもよいし、短期公開鍵、公開鍵、ユーザID、公開パラメータなどに依存して決まる数でもよい。 think of. Here, c i, j, k (i = 1,..., M, j, k = 0, 1) may be constants, short-term public keys, public keys, user IDs, public parameters, etc. It may be a number determined depending on.
上記のm個の多項式 M polynomials above
で、 so,
であるものを用いて、以下のような認証鍵交換方式 The following authentication key exchange method using
を構成する。 Configure.
G1、G2、GTをkbit(kは任意の自然数)の素数位数qの巡回群、g1、g2をG1、G2の生成元、gT=e(g1,g2)をGTの生成元、e:G1×G2→GTを非対称ペアリングとする。H:{0,1}*→{0,1}kとH1:{0,1}*→G1とH2:{0,1}*→G2をハッシュ関数とする。鍵生成局1のパラメータ公開部13は、G1、G2、GT、g1、g2、gT、e、H、H1、H2を公開パラメータ5として公開する(S13)。このとき、公開パラメータ5は、鍵交換装置2からのアクセスを許可されたサーバの記憶領域などに記憶することなどによって公開される。鍵生成局1のマスタ秘密鍵生成部11は、マスタ秘密鍵
G 1, G 2, G T the kbit (k is an arbitrary natural number) number of number of cyclic groups q elements of, g 1, g 2 and G 1, G 2 of the origin, g T = e (g 1 , g 2) the G T origin, e: the G 1 × G 2 → G T and asymmetric pairing. H: {0, 1} * → {0, 1} k and H 1 : {0, 1} * → G 1 and H 2 : {0, 1} * → G 2 is a hash function. The
をランダムに選ぶ(S11)。マスタ秘密鍵記憶部12は、マスタ秘密鍵生成部11が生成したマスタ秘密鍵を記憶する(S12)。なお、マスタ秘密鍵記憶部12は適宜省略することもできるし、一時メモリ、バッファとして実現しても良い。マスタ公開鍵公開部14は、マスタ秘密鍵記憶部12に記憶されたマスタ秘密鍵zを用いて、第1のマスタ公開鍵
Are randomly selected (S11). The master secret
と、第2のマスタ公開鍵 And the second master public key
を公開パラメータ5として公開する(S14)。ここで、パラメータ公開部13が公開したG1、G2、GT、g1、g2、gT、e、H、H1、H2は、閲覧に制限がないが、マスタ公開鍵公開部14が公開する第1のマスタ公開鍵と、第2のマスタ公開鍵については閲覧に制限を設けるものとする。具体的には、第1のマスタ公開鍵と、第2のマスタ公開鍵は、同一のグループ(例えば、会社組織など)に属するユーザ間では閲覧可能であるが、グループに属しないユーザからは閲覧不能であるものとする。
Is disclosed as public parameter 5 (S14). Here, G 1 , G 2 , G T , g 1 , g 2 , g T , e, H, H 1 , and H 2 published by the
ここで、iをグループに属するユーザ数を表す2以上の自然数とし、グループに属するi番目のユーザをユーザUiと表すこととし、ユーザUiの操作する端末を鍵交換装置2iと呼ぶ。ユーザUiの鍵交換装置2iの識別子送信部21は、識別子IDiを鍵生成局1に送信する(S21)。図1の例は便宜上、鍵交換装置2を2つとした例であるから、鍵交換装置2Aの識別子送信部21、および鍵交換装置2Bの識別子送信部21は、鍵生成局1に識別子IDA、IDBを送信する。鍵生成局1の識別子受信部15は、任意のユーザ(鍵交換装置)Uiから識別子
Here, i is a natural number of 2 or more representing the number of users belonging to the group, the i-th user belonging to the group is represented as user U i, and the terminal operated by user U i is referred to as key exchange device 2 i. The
を受信する(S15)。図1の例では、鍵生成局1の識別子受信部15は、鍵交換装置2Aから識別子IDAを、鍵交換装置2Bから識別子IDBをそれぞれ受信する。鍵生成局1の秘密鍵生成部16は、識別子受信部15が受信した識別子に対して、ハッシュ関数H1、H2を用いて
Is received (S15). In the example of FIG. 1, the
と、 When,
を計算し、マスタ秘密鍵zを用いて第1の秘密鍵 And the first secret key using the master secret key z
と、第2の秘密鍵 And the second secret key
を生成する(S16)。図1の例では、鍵生成局1の秘密鍵生成部16は、識別子IDA、IDBに対して第1の秘密鍵
Is generated (S16). In the example of FIG. 1, the secret
と、第2の秘密鍵 And the second secret key
を生成する。次に、鍵生成局1の秘密鍵送信部17は、第1の秘密鍵Di,1と、第2の秘密鍵Di,2とを鍵交換装置2iに送信する(S17)。図1の例では、鍵生成局1の秘密鍵送信部17は、第1の秘密鍵DA,1と、第2の秘密鍵DA,2とを鍵交換装置2Aに、第1の秘密鍵DB,1と、第2の秘密鍵DB,2とを鍵交換装置2Bにそれぞれ送信する。次に、ユーザUiの鍵交換装置2iの秘密鍵受信部22は、鍵生成局1が送信した第1の秘密鍵Di,1と、第2の秘密鍵Di,2とを受信する(S22)。図1の例では、鍵交換装置2Aの秘密鍵受信部22は、鍵生成局1が送信した第1の秘密鍵DA,1と、第2の秘密鍵DA,2とを受信し、鍵交換装置2Bの秘密鍵受信部22は、鍵生成局1が送信した第1の秘密鍵DB,1と、第2の秘密鍵DB,2とを受信する。
Is generated. Next, the secret
以下、図1の例に従って、鍵交換装置2A、2B間の認証鍵交換動作、共有鍵Kの生成動作について説明する。鍵交換装置2Aの識別子記憶部23には、同一のグループに属する全てのユーザの識別子が記憶されている。図1の例では少なくともユーザUA、ユーザUBは同一のグループに属しているため、識別子記憶部23には少なくともユーザUAの識別子IDA、ユーザUBの識別子IDBが記憶されている。なお、識別子記憶部23は、必須の構成要素ではない。例えば、鍵交換を行いたい鍵交換装置同士が、お互いに識別子を事前に交換しておくこととすれば、鍵交換装置2は必ずしもグループに属するユーザ全ての識別子を全て記憶しておく必要はないからである。まず、鍵交換装置2Aの短期秘密鍵生成部24は、短期秘密鍵
Hereinafter, an authentication key exchange operation between the key exchange apparatuses 2A and 2B and a shared key K generation operation will be described with reference to the example of FIG. The
をランダムに選ぶ(S24)。次に、鍵交換装置2Aの短期公開鍵生成部25は、短期秘密鍵yAを用いて、第1の短期公開鍵
Are randomly selected (S24). Next, the short-term public
と、第2の短期公開鍵 And the second short-term public key
を計算する(S25)。次に、鍵交換装置2Aの鍵交換部26は、識別子記憶部23からIDA、IDBを取得し、短期公開鍵生成部25から第1の短期公開鍵YA,1、と第2の短期公開鍵YA,2を取得して、(IDA,IDB,YA,1,YA,2)を鍵交換装置2Bに送信する(S26a)。
Is calculated (S25). Next, the
鍵交換装置2Bの鍵交換部26は、鍵交換装置2Aから(IDA,IDB,YA,1,YA,2)を受信する(S26b)。そして、鍵交換装置2Aと同じように、短期秘密鍵生成部24が、短期秘密鍵
The
をランダムに選ぶ(S24)。次に、鍵交換装置2Bの短期公開鍵生成部25は、短期秘密鍵yBを用いて、第1の短期公開鍵
Are randomly selected (S24). Next, the short-term public
と、第2の短期公開鍵 And the second short-term public key
を計算する(S25)。次に、鍵交換装置2Bの鍵交換部26は、識別子記憶部23からIDA、IDBを取得し、短期公開鍵生成部25から第1の短期公開鍵YB,1、と第2の短期公開鍵YB,2を取得して、(IDA,IDB,YB,1,YB,2)を鍵交換装置2Aに送信する(S26a)。鍵交換装置2Bの共有鍵生成部27は、共有値
Is calculated (S25). Next, the
を計算し、共有鍵 Calculate the shared key
を計算する(S27)。 Is calculated (S27).
鍵交換装置2Aの鍵交換部26は、(IDA,IDB,YB,1,YB,2)を受信する(S26b)。鍵交換装置2Aの共有鍵生成部27は、
The
を計算し、共有鍵 Calculate the shared key
を計算する(S27)。 Is calculated (S27).
鍵交換装置2Aの共有鍵生成部27が計算した共有値は、
The shared value calculated by the shared
となる。一方、鍵交換装置2Bの共有鍵生成部27が計算した共有値は、
It becomes. On the other hand, the shared value calculated by the shared
となり、双方の共有値が一致するため、共有鍵Kは一致する。 Since both shared values match, the shared key K matches.
このように、本実施例の鍵交換システム10は、鍵生成局1のマスタ公開鍵公開部14、秘密鍵生成部16、鍵交換装置2の短期公開鍵生成部25がそれぞれ2種類(第1、第2)のマスタ公開鍵、秘密鍵、短期公開鍵を、2種類の巡回群G1、G2を生成元として生成して、一方のユーザの秘密鍵と短期公開鍵の生成元と、他方のユーザの秘密鍵と短期公開鍵の生成元とを異なる群としておき、さらにこれらを用いて各々の鍵交換装置2の共有鍵生成部27において生成される共有鍵Kを互いに一致させることにより、非対称ペアリングに基づく鍵交換を実現した。
As described above, in the key exchange system 10 of this embodiment, the master public key
以下、図3、図4を参照して、実施例1の鍵交換システム10を拡張した構成例である実施例2の鍵交換システム20について詳細に説明する。図3は本実施例の鍵交換システム20の構成を示すブロック図である。図4は本実施例の鍵交換システム20の動作を示すフローチャートである。図3に示すように、本実施例の鍵交換システム20は、鍵生成局1と、2台以上の鍵交換装置3により構成される。実施例1と同様に鍵交換装置3はグループに属するユーザ1人につき1台存在するものとする。図3は便宜上、鍵交換装置3を2台(3A、3B)として図示しているが、鍵交換装置3はこれに限られず、2台以上であれば何台であってもよい。
Hereinafter, with reference to FIGS. 3 and 4, the key exchange system 20 according to the second embodiment, which is an example of an expanded configuration of the key exchange system 10 according to the first embodiment, will be described in detail. FIG. 3 is a block diagram showing the configuration of the key exchange system 20 of this embodiment. FIG. 4 is a flowchart showing the operation of the key exchange system 20 of this embodiment. As shown in FIG. 3, the key exchange system 20 of this embodiment includes a
本実施例の鍵交換システム20の鍵生成局1は、実施例1における鍵生成局1と全く同じであるため説明を割愛する。本実施例の鍵交換システム20の鍵交換装置3は、識別子送信部21と、秘密鍵受信部22と、識別子記憶部23と、短期秘密鍵生成部24と、短期公開鍵生成部25と、鍵交換部36と、共有鍵生成部37と、非対話ゼロ知識証明部38と、非対話ゼロ知識検証部39とを備える。実施例1の鍵交換装置2と共通する構成部である識別子送信部21と、秘密鍵受信部22と、識別子記憶部23と、短期秘密鍵生成部24と、短期公開鍵生成部25については、実施例1において同一番号を付した各構成部と同じ動作をするため説明を割愛する。
Since the
以下、鍵交換部36、共有鍵生成部37、非対話ゼロ知識証明部38、非対話ゼロ知識検証部39の動作について説明する。鍵交換装置3Aの非対話ゼロ知識証明部38は、第1の短期公開鍵YA,1、第2の短期公開鍵YA,2の底g1、g2に対する離散対数が等しいことを示す非対話ゼロ知識証明πAを生成する(S38)。鍵交換装置3Aの鍵交換部36は、識別子記憶部23からIDA、IDBを取得し、短期公開鍵生成部25から第1の短期公開鍵YA,1、と第2の短期公開鍵YA,2を取得し、非対話ゼロ知識証明部38から非対話ゼロ知識証明πAを取得して、(IDA,IDB,YA,1,YA,2、πA)を鍵交換装置3Bに送信する(S36a)。鍵交換装置3Bの非対話ゼロ知識証明部38は、第1の短期公開鍵YB,1、第2の短期公開鍵YB,2の底g1、g2に対する離散対数が等しいことを示す非対話ゼロ知識証明πBを生成する(S38)。鍵交換装置3Bの鍵交換部36は、識別子記憶部23からIDA、IDBを取得し、短期公開鍵生成部25から第1の短期公開鍵YB,1、と第2の短期公開鍵YB,2を取得し、非対話ゼロ知識証明部38から非対話ゼロ知識証明πBを取得して、(IDA,IDB,YB,1,YB,2、πB)を鍵交換装置2Aに送信する(S36a)。鍵交換装置3Aの鍵交換部36は、鍵交換装置3Bから(IDA,IDB,YB,1,YB,2、πB)を受信する(S36b)。鍵交換装置3Bの鍵交換部36は、鍵交換装置3Aから(IDA,IDB,YA,1,YA,2、πA)を受信する(S36b)。次に、鍵交換装置3Aの非対話ゼロ知識検証部39は、鍵交換装置3Bから受信した非対話ゼロ知識証明πBが正しいかどうかを検証する(S39)。同様に、鍵交換装置3Bの非対話ゼロ知識検証部39は、鍵交換装置3Aから受信した非対話ゼロ知識証明πAが正しいかどうかを検証する(S39)。鍵交換装置3Aの共有鍵生成部37は、非対話ゼロ知識証明πBが正しいと検証された場合に限り(S30Y)、共有鍵Kを生成する(S37)。同様に、鍵交換装置3Bの共有鍵生成部37は、非対話ゼロ知識証明πAが正しいと検証された場合に限り(S30Y)、共有鍵Kを生成する(S37)。
Hereinafter, operations of the key exchange unit 36, the shared
このように、本実施例の鍵交換システム20は、鍵交換装置3が非対話ゼロ知識証明部38、非対話ゼロ知識検証部39を備えることにより、実施例1の鍵交換システム10の効果に加えて、第1、第2の短期公開鍵の離散対数が等しいことを、非対話ゼロ知識証明の検証を通じて検証することができる。
As described above, the key exchange system 20 according to the present embodiment has the effect of the key exchange system 10 according to the first embodiment by providing the key exchange device 3 with the non-dialog zero knowledge
以下、図5、図6を参照して、実施例1の鍵交換システム10を拡張した構成例である実施例3の鍵交換システム30について詳細に説明する。図5は本実施例の鍵交換システム30の構成を示すブロック図である。図6は本実施例の鍵交換システム30の動作を示すフローチャートである。図5に示すように、本実施例の鍵交換システム30は、鍵生成局1と、2台以上の鍵交換装置4により構成される。実施例1と同様に鍵交換装置4はグループに属するユーザ1人につき1台存在するものとする。図5は便宜上、鍵交換装置4を2台(4A、4B)として図示しているが、鍵交換装置4はこれに限られず、2台以上であれば何台であってもよい。
Hereinafter, with reference to FIGS. 5 and 6, the
本実施例の鍵交換システム30の鍵生成局1は、実施例1における鍵生成局1と全く同じであるため説明を割愛する。本実施例の鍵交換システム30の鍵交換装置4は、識別子送信部21と、秘密鍵受信部22と、識別子記憶部23と、短期秘密鍵生成部24と、短期公開鍵生成部25と、鍵交換部46と、共有鍵生成部47と、ペアリング短期公開鍵検証部49とを備える。実施例1の鍵交換装置2と共通する構成部である識別子送信部21と、秘密鍵受信部22と、識別子記憶部23と、短期秘密鍵生成部24と、短期公開鍵生成部25については、実施例1において同一番号を付した各構成部と同じ動作をするため説明を割愛する。
Since the
以下、鍵交換部46、共有鍵生成部47、ペアリング短期公開鍵検証部49の動作について説明する。まず、鍵交換装置4Aの鍵交換部46は、識別子記憶部23からIDA、IDBを取得し、短期公開鍵生成部25から第1の短期公開鍵YA,1、と第2の短期公開鍵YA,2を取得して、(IDA,IDB,YA,1,YA,2)を鍵交換装置4Bに送信する(S46a)。鍵交換装置4Bの鍵交換部46は、識別子記憶部23からIDA、IDBを取得し、短期公開鍵生成部25から第1の短期公開鍵YB,1、と第2の短期公開鍵YB,2を取得して、(IDA,IDB,YB,1,YB,2)を鍵交換装置2Aに送信する(S46a)。鍵交換装置4Aの鍵交換部46は、鍵交換装置4Bから(IDA,IDB,YB,1,YB,2)を受信する(S46b)。鍵交換装置4Bの鍵交換部46は、鍵交換装置4Aから(IDA,IDB,YA,1,YA,2)を受信する(S46b)。
Hereinafter, operations of the key exchange unit 46, the shared
鍵交換装置4Bのペアリング短期公開鍵検証部49は、以下のようにして短期公開鍵YA,1、YA,2の底g1、g2に対する離散対数が等しいことを検証する。鍵交換装置4Bのペアリング短期公開鍵検証部49は、
The pairing short-term public
と、 When,
の底g1、g2に対する離散対数が等しいことをペアリングを用いて、 Using pairing, the discrete logarithm for the bases g 1 and g 2 of
と検証する(S49)。 (S49).
短期公開鍵YA,1、YA,2の底g1、g2に対する離散対数が等しいと検証された場合に限り(S40Y)、鍵交換装置4Bの共有鍵生成部47は、共有鍵Kを生成する(S47)。
Only when it is verified that the discrete logarithms for the bases g 1 and g 2 of the short-term public keys Y A, 1 and Y A, 2 are equal (S40Y), the shared
鍵交換装置4Aのペアリング短期公開鍵検証部49は、以下のようにして短期公開鍵YB,1、YB,2の底g1、g2に対する離散対数が等しいことを検証する。鍵交換装置4Aのペアリング短期公開鍵検証部49は、
The pairing short-term public
と、 When,
の底g1、g2に対する離散対数が等しいことをペアリングを用いて、 Using pairing, the discrete logarithm for the bases g 1 and g 2 of
と検証する(S49)。 (S49).
短期公開鍵YB,1、YB,2の底g1、g2に対する離散対数が等しいと検証された場合に限り(S40Y)、鍵交換装置4Aの共有鍵生成部47は、共有鍵Kを生成する(S47)。
Only when it is verified that the discrete logarithm with respect to the bases g 1 and g 2 of the short-term public keys Y B, 1 and Y B, 2 is equal (S40Y), the shared
このように、本実施例の鍵交換システム30は、鍵交換装置4がペアリング短期公開鍵検証部49を備えることにより、実施例1の鍵交換システム10の効果に加えて、第1、第2の短期公開鍵の離散対数が等しいことを、ペアリングを用いて検証することができる。
As described above, the
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。 The various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. Needless to say, other modifications are possible without departing from the spirit of the present invention.
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。 Further, when the above-described configuration is realized by a computer, processing contents of functions that each device should have are described by a program. The processing functions are realized on the computer by executing the program on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。 The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.
<付録>
以下、m=3、4とした場合の多項式pi(i=1,…,m)の実例を簡単に記載する。
<Appendix>
Hereinafter, a practical example of the polynomial p i (i = 1,..., M) when m = 3 and 4 will be simply described.
<m=3の場合> <When m = 3>
<m=4の場合> <When m = 4>
Claims (15)
から生成された、第1のマスタ公開鍵
と、第2のマスタ公開鍵
とを公開パラメータとして用い、
i=1,…,mであるm個の多項式群
であって、
を充たす多項式群の係数を用いる鍵交換装置であって、
当該鍵交換装置の識別子である識別子IDA(当該鍵交換装置と鍵交換を行う相手側である鍵交換装置の識別子をIDBとする)を鍵生成局に送信する識別子送信部と、
として生成された第1の秘密鍵DA,1と、
として生成された第2の秘密鍵DA,2とを鍵生成局から受信する秘密鍵受信部と、
短期秘密鍵
をランダムに選択する短期秘密鍵生成部と、
前記生成された短期秘密鍵yAを用いて、第1の短期公開鍵
と、第2の短期公開鍵
を計算する短期公開鍵生成部と、
前記識別子IDA、前記識別子IDB、前記第1の短期公開鍵YA,1、前記第2の短期公開鍵YA,2を相手側鍵交換装置に送信し、相手側鍵交換装置から前記識別子IDA、前記識別子IDB、前記相手側鍵交換装置が生成した第1の短期公開鍵YB,1、第2の短期公開鍵YB,2を受信する鍵交換部と、
共有値
を計算し、共有鍵
を計算する共有鍵生成部と、
を備えることを特徴とする鍵交換装置。 kbit (k is an arbitrary natural number) and G 1, G 2, G T is the number of number of cyclic groups containing of the g 1, g 2 is G 1, G 2 of the origin, in generator of G T there g T = e (g 1, g 2), asymmetric pairing e: G 1 × G 2 → G T and, a hash function H: {0,1} * → { 0,1} k, H 1: {0,1} * → G 1 , H 2 : {0,1} * → G 2 and arbitrarily selected master secret key
First master public key generated from
And the second master public key
As public parameters,
m polynomial groups with i = 1,..., m
Because
A key exchange device using coefficients of a polynomial group satisfying
An identifier transmitting unit that transmits an identifier ID A that is an identifier of the key exchange device (identifier of the key exchange device that is a partner that performs key exchange with the key exchange device as ID B ) to the key generation station;
A first secret key D A, 1 generated as
A secret key receiving unit that receives the second secret key D A, 2 generated as follows from the key generation station;
Short-term secret key
A short-term secret key generator that randomly selects
Using the generated short-term secret key y A , a first short-term public key
And the second short-term public key
A short-term public key generation unit for calculating
The identifier ID A , the identifier ID B , the first short-term public key Y A, 1 , and the second short-term public key Y A, 2 are transmitted to the partner-side key exchange device, and the partner-side key exchange device A key exchange unit that receives the identifier ID A , the identifier ID B , the first short-term public key Y B, 1 generated by the counterpart key exchange device, and the second short-term public key Y B, 2 ;
Shared value
Calculate the shared key
A shared key generation unit for calculating
A key exchange device comprising:
前記第1の短期公開鍵YA,1、前記第2の短期公開鍵YA,2の底g1、g2に対する離散対数が等しいことを示す非対話ゼロ知識証明πAを生成する非対話ゼロ知識証明部と、
前記第1の短期公開鍵YB,1、前記第2の短期公開鍵YB,2の底g1、g2に対する離散対数が等しいことを示す非対話ゼロ知識証明πBを検証する非対話ゼロ知識検証部とをさらに備え、
前記鍵交換部は、前記相手側鍵交換装置に前記非対話ゼロ知識証明πAを送信し、前記相手側鍵交換装置から前記非対話ゼロ知識証明πBを受信し、
前記共有鍵生成部は、前記非対話ゼロ知識検証部の検証結果が正しい場合に、前記共有鍵を計算すること
を特徴とする鍵交換装置。 The key exchange device according to claim 1,
Non-interaction generating non-interactive zero knowledge proof π A indicating that the discrete logarithm with respect to the bases g 1 and g 2 of the first short-term public key Y A, 1 and the second short-term public key Y A, 2 is equal Zero knowledge proof part,
Non-dialogue for verifying a non-dialogue zero knowledge proof π B indicating that the discrete logarithm for the bases g 1 and g 2 of the first short-term public key Y B, 1 and the second short-term public key Y B, 2 is equal A zero knowledge verification unit,
The key exchange unit transmits the non-interactive zero knowledge proof π A to the counterparty key exchange device, receives the non-interactive zero knowledge proof π B from the counterpart key exchange device,
The shared key generation unit calculates the shared key when the verification result of the non-interaction zero knowledge verification unit is correct.
前記第1の短期公開鍵YB,1、前記第2の短期公開鍵YB,2の底g1、g2に対する離散対数が等しいことをペアリングを用いて検証するペアリング短期公開鍵検証部をさらに備え、
前記共有鍵生成部は、前記ペアリング短期公開鍵検証部の検証結果が正しい場合に、前記共有鍵を計算すること
を特徴とする鍵交換装置。 The key exchange device according to claim 1,
Pairing short-term public key verification that verifies that the discrete logarithm with respect to the bases g 1 and g 2 of the first short-term public key Y B, 1 and the second short-term public key Y B, 2 is equal using pairing Further comprising
The shared key generation unit calculates the shared key when the verification result of the pairing short-term public key verification unit is correct.
前記mを3として、
前記多項式群を
としたことを特徴とする鍵交換装置。 The key exchange device according to any one of claims 1 to 3,
Where m is 3,
The polynomial group
A key exchange device characterized by that.
前記mを4として、
前記多項式群を
としたことを特徴とする鍵交換装置。 The key exchange device according to any one of claims 1 to 3,
Assuming that m is 4,
The polynomial group
A key exchange device characterized by that.
であって、
を充たす多項式群の係数を用いる鍵交換システムであって、
前記鍵交換システムは、鍵生成局と、2台以上の鍵交換装置とからなり、
前記鍵生成局は、
kbit(kは任意の自然数)の素数位数の巡回群であるG1、G2、GTと、G1、G2の生成元であるg1、g2と、GTの生成元であるgT=e(g1,g2)と、非対称ペアリングe:G1×G2→GTと、ハッシュ関数H:{0,1}*→{0,1}k、H1:{0,1}*→G1、H2:{0,1}*→G2とを公開するパラメータ公開部と、
任意にマスタ秘密鍵
を選択するマスタ秘密鍵生成部と、
第1のマスタ公開鍵
と、第2のマスタ公開鍵
とを公開するマスタ公開鍵公開部と、
前記鍵交換装置から識別子IDA、または識別子IDBを受信する識別子受信部と、
前記受信した識別子IDA、または識別子IDBに対して第1、第2の秘密鍵
または、第1、第2の秘密鍵
を生成する秘密鍵生成部と、
前記生成された第1、第2の秘密鍵を対応する鍵交換装置に送信する秘密鍵送信部とを備え、
前記鍵交換装置は、
当該鍵交換装置の識別子である識別子IDA(当該鍵交換装置と鍵交換を行う相手側である鍵交換装置の識別子をIDBとする)を前記鍵生成局に送信する識別子送信部と、
前記第1、第2の秘密鍵を前記鍵生成局から受信する秘密鍵受信部と、
短期秘密鍵
をランダムに選択する短期秘密鍵生成部と、
前記生成された短期秘密鍵yAを用いて、第1の短期公開鍵
と、第2の短期公開鍵
を計算する短期公開鍵生成部と、
前記識別子IDA、前記識別子IDB、前記第1の短期公開鍵YA,1、前記第2の短期公開鍵YA,2を相手側鍵交換装置に送信し、前記相手側鍵交換装置から前記識別子IDA、前記識別子IDB、前記相手側鍵交換装置が生成した第1の短期公開鍵YB,1、第2の短期公開鍵YB,2を受信する鍵交換部と、
共有値
を計算し、共有鍵
を計算する共有鍵生成部と、
を備えることを特徴とする鍵交換システム。 m polynomial groups with i = 1,..., m
Because
A key exchange system using coefficients of a polynomial group satisfying
The key exchange system comprises a key generation station and two or more key exchange devices,
The key generation station is
kbit (k is an arbitrary natural number) and G 1, G 2, G T is the number of number of cyclic groups containing of the g 1, g 2 is G 1, G 2 of the origin, in generator of G T there g T = e (g 1, g 2), asymmetric pairing e: G 1 × G 2 → G T and, a hash function H: {0,1} * → { 0,1} k, H 1: {0, 1} * → G 1 , H 2 : {0, 1} * → G 2
Optionally master secret key
A master secret key generation unit for selecting
First master public key
And the second master public key
And a master public key public part that publishes
An identifier receiving unit that receives an identifier ID A or an identifier ID B from the key exchange device;
First and second secret keys for the received identifier ID A or identifier ID B
Or the first and second secret keys
A secret key generation unit for generating
A secret key transmission unit that transmits the generated first and second secret keys to a corresponding key exchange device;
The key exchange device is:
An identifier transmitter that transmits an identifier ID A that is an identifier of the key exchange device (identifier of a key exchange device that is a partner to perform key exchange with the key exchange device is ID B ) to the key generation station;
A secret key receiving unit for receiving the first and second secret keys from the key generation station;
Short-term secret key
A short-term secret key generator that randomly selects
Using the generated short-term secret key y A , a first short-term public key
And the second short-term public key
A short-term public key generation unit for calculating
The identifier ID A , the identifier ID B , the first short-term public key YA , 1 , and the second short-term public key YA , 2 are transmitted to the partner-side key exchange device, and from the partner-side key exchange device A key exchange unit that receives the identifier ID A , the identifier ID B , the first short-term public key Y B, 1 , and the second short-term public key Y B, 2 generated by the counterpart key exchange device;
Shared value
Calculate the shared key
A shared key generation unit for calculating
A key exchange system comprising:
前記鍵交換装置が、
前記第1の短期公開鍵YA,1、前記第2の短期公開鍵YA,2の底g1、g2に対する離散対数が等しいことを示す非対話ゼロ知識証明πAを生成する非対話ゼロ知識証明部と、
前記第1の短期公開鍵YB,1、前記第2の短期公開鍵YB,2の底g1、g2に対する離散対数が等しいことを示す非対話ゼロ知識証明πBを検証する非対話ゼロ知識検証部とをさらに備え、
前記鍵交換部は、前記相手側鍵交換装置に前記非対話ゼロ知識証明πAを送信し、前記相手側鍵交換装置から前記非対話ゼロ知識証明πBを受信し、
前記共有鍵生成部は、前記非対話ゼロ知識検証部の検証結果が正しい場合に、前記共有鍵を計算すること
を特徴とする鍵交換システム。 The key exchange system according to claim 6, wherein
The key exchange device is
Non-interaction generating non-interactive zero knowledge proof π A indicating that the discrete logarithm with respect to the bases g 1 and g 2 of the first short-term public key Y A, 1 and the second short-term public key Y A, 2 is equal Zero knowledge proof part,
Non-dialogue verifying non-dialog zero knowledge proof π B indicating that the discrete logarithm for the bases g 1 and g 2 of the first short-term public key Y B, 1 and the second short-term public key Y B, 2 is equal A zero knowledge verification unit,
The key exchange unit transmits the non-interactive zero knowledge proof π A to the counterparty key exchange device, receives the non-interactive zero knowledge proof π B from the counterpart key exchange device,
The key exchange system, wherein the shared key generation unit calculates the shared key when the verification result of the non-interaction zero knowledge verification unit is correct.
前記鍵交換装置が、
前記第1の短期公開鍵YB,1、前記第2の短期公開鍵YB,2の底g1、g2に対する離散対数が等しいことをペアリングを用いて検証するペアリング短期公開鍵検証部をさらに備え、
前記共有鍵生成部は、前記ペアリング短期公開鍵検証部の検証結果が正しい場合に、前記共有鍵を計算すること
を特徴とする鍵交換システム。 The key exchange system according to claim 6, wherein
The key exchange device is
Pairing short-term public key verification that verifies that the discrete logarithm with respect to the bases g 1 and g 2 of the first short-term public key Y B, 1 and the second short-term public key Y B, 2 is equal using pairing Further comprising
The key exchange system, wherein the shared key generation unit calculates the shared key when a verification result of the pairing short-term public key verification unit is correct.
から生成された、第1のマスタ公開鍵
と、第2のマスタ公開鍵
とを公開パラメータとして用い、
i=1,…,mであるm個の多項式群
であって、
を充たす多項式群の係数を用い、鍵交換装置により実行される鍵交換方法であって、
当該鍵交換装置の識別子である識別子IDA(当該鍵交換装置と鍵交換を行う相手側である鍵交換装置の識別子をIDBとする)を鍵生成局に送信する識別子送信ステップと、
として生成された第1の秘密鍵DA,1と、
として生成された第2の秘密鍵DA,2とを鍵生成局から受信する秘密鍵受信ステップと、
短期秘密鍵
をランダムに選択する短期秘密鍵生成ステップと、
前記生成された短期秘密鍵yAを用いて、第1の短期公開鍵
と、第2の短期公開鍵
を計算する短期公開鍵生成ステップと、
前記識別子IDA、前記識別子IDB、前記第1の短期公開鍵YA,1、前記第2の短期公開鍵YA,2を相手側鍵交換装置に送信し、相手側鍵交換装置から前記識別子IDA、前記識別子IDB、前記相手側鍵交換装置が生成した第1の短期公開鍵YB,1、第2の短期公開鍵YB,2を受信する鍵交換ステップと、
共有値
を計算し、共有鍵
を計算する共有鍵生成ステップと、
を有することを特徴とする鍵交換方法。 kbit (k is an arbitrary natural number) and G 1, G 2, G T is the number of number of cyclic groups containing of the g 1, g 2 is G 1, G 2 of the origin, in generator of G T there g T = e (g 1, g 2), asymmetric pairing e: G 1 × G 2 → G T and, a hash function H: {0,1} * → { 0,1} k, H 1: {0,1} * → G 1 , H 2 : {0,1} * → G 2 and arbitrarily selected master secret key
First master public key generated from
And the second master public key
As public parameters,
m polynomial groups with i = 1,..., m
Because
A key exchange method executed by a key exchange device using coefficients of a polynomial group satisfying
An identifier transmission step of transmitting an identifier ID A which is an identifier of the key exchange device (identifier of the key exchange device which is a partner side which performs key exchange with the key exchange device is ID B ) to the key generation station;
A first secret key D A, 1 generated as
Receiving a second secret key D A, 2 generated as a secret key from the key generation station;
Short-term secret key
A short-term secret key generation step of randomly selecting
Using the generated short-term secret key y A , a first short-term public key
And the second short-term public key
A short-term public key generation step for calculating
The identifier ID A , the identifier ID B , the first short-term public key Y A, 1 , and the second short-term public key Y A, 2 are transmitted to the partner-side key exchange device, and the partner-side key exchange device A key exchange step of receiving the identifier ID A , the identifier ID B , the first short-term public key Y B, 1 generated by the counterpart key exchange device, and the second short-term public key Y B, 2 ;
Shared value
Calculate the shared key
A shared key generation step for calculating
A key exchange method characterized by comprising:
前記第1の短期公開鍵YA,1、前記第2の短期公開鍵YA,2の底g1、g2に対する離散対数が等しいことを示す非対話ゼロ知識証明πAを生成する非対話ゼロ知識証明ステップと、
前記第1の短期公開鍵YB,1、前記第2の短期公開鍵YB,2の底g1、g2に対する離散対数が等しいことを示す非対話ゼロ知識証明πBを検証する非対話ゼロ知識検証ステップとをさらに有し、
前記鍵交換ステップにおいて、前記相手側鍵交換装置に前記非対話ゼロ知識証明πAを送信し、前記相手側鍵交換装置から前記非対話ゼロ知識証明πBを受信し、
前記共有鍵生成ステップにおいて、前記非対話ゼロ知識検証ステップの検証結果が正しい場合に、前記共有鍵を計算すること
を特徴とする鍵交換方法。 The key exchange method according to claim 9, comprising:
Non-interaction generating non-interactive zero knowledge proof π A indicating that the discrete logarithm with respect to the bases g 1 and g 2 of the first short-term public key Y A, 1 and the second short-term public key Y A, 2 is equal Zero knowledge proof step,
Non-dialogue for verifying a non-dialogue zero knowledge proof π B indicating that the discrete logarithm for the bases g 1 and g 2 of the first short-term public key Y B, 1 and the second short-term public key Y B, 2 is equal A zero knowledge verification step,
In the key exchange step, the non-dialog zero knowledge proof π A is transmitted to the counterpart key exchange device, and the non-dialog zero knowledge proof π B is received from the counterpart key exchange device;
In the shared key generation step, the shared key is calculated when the verification result of the non-interaction zero knowledge verification step is correct.
前記第1の短期公開鍵YB,1、前記第2の短期公開鍵YB,2の底g1、g2に対する離散対数が等しいことをペアリングを用いて検証するペアリング短期公開鍵検証ステップをさらに有し、
前記共有鍵生成ステップにおいて、前記ペアリング短期公開鍵検証ステップの検証結果が正しい場合に、前記共有鍵を計算すること
を特徴とする鍵交換方法。 The key exchange method according to claim 9, comprising:
Pairing short-term public key verification that verifies that the discrete logarithm with respect to the bases g 1 and g 2 of the first short-term public key Y B, 1 and the second short-term public key Y B, 2 is equal using pairing And further comprising steps
In the shared key generation step, the shared key is calculated when the verification result of the pairing short-term public key verification step is correct.
であって、
を充たす多項式群の係数を用い、鍵生成局と鍵交換装置により実行される鍵交換方法であって、
前記鍵生成局は、
kbit(kは任意の自然数)の素数位数の巡回群であるG1、G2、GTと、G1、G2の生成元であるg1、g2と、GTの生成元であるgT=e(g1,g2)と、非対称ペアリングe:G1×G2→GTと、ハッシュ関数H:{0,1}*→{0,1}k、H1:{0,1}*→G1、H2:{0,1}*→G2とを公開するパラメータ公開ステップと、
任意にマスタ秘密鍵
を選択するマスタ秘密鍵生成ステップと、
第1のマスタ公開鍵
と、第2のマスタ公開鍵
とを公開するマスタ公開鍵公開ステップと、
前記鍵交換装置から識別子IDA、または識別子IDBを受信する識別子受信ステップと、
前記受信した識別子IDA、または識別子IDBに対して第1、第2の秘密鍵
または、第1、第2の秘密鍵
を生成する秘密鍵生成ステップと、
前記生成された第1、第2の秘密鍵を対応する鍵交換装置に送信する秘密鍵送信ステップとを実行し、
前記鍵交換装置は、
当該鍵交換装置の識別子である識別子IDA(当該鍵交換装置と鍵交換を行う相手側である鍵交換装置の識別子をIDBとする)を前記鍵生成局に送信する識別子送信ステップと、
前記第1、第2の秘密鍵を前記鍵生成局から受信する秘密鍵受信ステップと、
短期秘密鍵
をランダムに選択する短期秘密鍵生成ステップと、
前記生成された短期秘密鍵yAを用いて、第1の短期公開鍵
と、第2の短期公開鍵
を計算する短期公開鍵生成ステップと、
前記識別子IDA、前記識別子IDB、前記第1の短期公開鍵YA,1、前記第2の短期公開鍵YA,2を相手側鍵交換装置に送信し、前記相手側鍵交換装置から前記識別子IDA、前記識別子IDB、前記相手側鍵交換装置が生成した第1の短期公開鍵YB,1、第2の短期公開鍵YB,2を受信する鍵交換ステップと、
共有値
を計算し、共有鍵
を計算する共有鍵生成ステップと、
を実行することを特徴とする鍵交換方法。 m polynomial groups with i = 1,..., m
Because
A key exchange method executed by a key generation station and a key exchange device using coefficients of a polynomial group satisfying
The key generation station is
kbit (k is an arbitrary natural number) and G 1, G 2, G T is the number of number of cyclic groups containing of the g 1, g 2 is G 1, G 2 of the origin, in generator of G T there g T = e (g 1, g 2), asymmetric pairing e: G 1 × G 2 → G T and, a hash function H: {0,1} * → { 0,1} k, H 1: {0, 1} * → G 1 , H 2 : {0, 1} * → G 2
Optionally master secret key
A master secret key generation step of selecting
First master public key
And the second master public key
A master public key public step for publishing
An identifier receiving step of receiving an identifier ID A or an identifier ID B from the key exchange device;
First and second secret keys for the received identifier ID A or identifier ID B
Or the first and second secret keys
A secret key generation step for generating
Performing the secret key transmission step of transmitting the generated first and second secret keys to the corresponding key exchange device;
The key exchange device is:
An identifier transmission step of transmitting to the key generation station an identifier ID A that is an identifier of the key exchange device (identifier of the key exchange device that is a counterpart to perform key exchange with the key exchange device is ID B );
A secret key receiving step of receiving the first and second secret keys from the key generation station;
Short-term secret key
A short-term secret key generation step of randomly selecting
Using the generated short-term secret key y A , a first short-term public key
And the second short-term public key
A short-term public key generation step for calculating
The identifier ID A , the identifier ID B , the first short-term public key YA , 1 , and the second short-term public key YA , 2 are transmitted to the partner-side key exchange device, and from the partner-side key exchange device A key exchange step of receiving the identifier ID A , the identifier ID B , the first short-term public key Y B, 1 , and the second short-term public key Y B, 2 generated by the counterpart key exchange device;
Shared value
Calculate the shared key
A shared key generation step for calculating
The key exchange method characterized by performing.
前記鍵交換装置が、
前記第1の短期公開鍵YA,1、前記第2の短期公開鍵YA,2の底g1、g2に対する離散対数が等しいことを示す非対話ゼロ知識証明πAを生成する非対話ゼロ知識証明ステップと、
前記第1の短期公開鍵YB,1、前記第2の短期公開鍵YB,2の底g1、g2に対する離散対数が等しいことを示す非対話ゼロ知識証明πBを検証する非対話ゼロ知識検証ステップとをさらに実行し、
前記鍵交換ステップにおいて、前記相手側鍵交換装置に前記非対話ゼロ知識証明πAを送信し、前記相手側鍵交換装置から前記非対話ゼロ知識証明πBを受信し、
前記共有鍵生成ステップにおいて、前記非対話ゼロ知識検証部の検証結果が正しい場合に、前記共有鍵を計算すること
を特徴とする鍵交換方法。 The key exchange method according to claim 12, comprising:
The key exchange device is
Non-interaction generating non-interactive zero knowledge proof π A indicating that the discrete logarithm with respect to the bases g 1 and g 2 of the first short-term public key Y A, 1 and the second short-term public key Y A, 2 is equal Zero knowledge proof step,
Non-dialogue for verifying a non-dialogue zero knowledge proof π B indicating that the discrete logarithm for the bases g 1 and g 2 of the first short-term public key Y B, 1 and the second short-term public key Y B, 2 is equal A further zero knowledge verification step,
In the key exchange step, the non-dialog zero knowledge proof π A is transmitted to the counterpart key exchange device, and the non-dialog zero knowledge proof π B is received from the counterpart key exchange device;
In the shared key generation step, the shared key is calculated when the verification result of the non-interaction zero knowledge verification unit is correct.
前記鍵交換装置が、
前記第1の短期公開鍵YB,1、前記第2の短期公開鍵YB,2の底g1、g2に対する離散対数が等しいことをペアリングを用いて検証するペアリング短期公開鍵検証ステップをさらに実行し、
前記共有鍵生成ステップにおいて、前記ペアリング短期公開鍵検証ステップの検証結果が正しい場合に、前記共有鍵を計算すること
を特徴とする鍵交換方法。 The key exchange method according to claim 12, comprising:
The key exchange device is
Pairing short-term public key verification that verifies that the discrete logarithm with respect to the bases g 1 and g 2 of the first short-term public key Y B, 1 and the second short-term public key Y B, 2 is equal using pairing Perform further steps,
In the shared key generation step, the shared key is calculated when the verification result of the pairing short-term public key verification step is correct.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012015217A JP5651611B2 (en) | 2012-01-27 | 2012-01-27 | Key exchange device, key exchange system, key exchange method, program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012015217A JP5651611B2 (en) | 2012-01-27 | 2012-01-27 | Key exchange device, key exchange system, key exchange method, program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013157711A true JP2013157711A (en) | 2013-08-15 |
JP5651611B2 JP5651611B2 (en) | 2015-01-14 |
Family
ID=49052542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012015217A Active JP5651611B2 (en) | 2012-01-27 | 2012-01-27 | Key exchange device, key exchange system, key exchange method, program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5651611B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017208773A (en) * | 2016-05-20 | 2017-11-24 | 日本電信電話株式会社 | Common key sharing system, method, client device, master public key storage server, and program |
JPWO2020240741A1 (en) * | 2019-05-29 | 2020-12-03 | ||
JP2021034979A (en) * | 2019-08-28 | 2021-03-01 | 日本電信電話株式会社 | Key exchange system, equipment, information processor, key exchange method, and program |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009171525A (en) * | 2008-01-21 | 2009-07-30 | Nippon Telegr & Teleph Corp <Ntt> | Information sharing system based on id information, its method, information sharing communication apparatus based on id information, and its program |
JP2011019042A (en) * | 2009-07-08 | 2011-01-27 | Nippon Telegr & Teleph Corp <Ntt> | Key sharing device, key sharing system, key sharing method, and program |
JP2012018257A (en) * | 2010-07-07 | 2012-01-26 | Nippon Telegr & Teleph Corp <Ntt> | Information sharing system, device, method, and program |
-
2012
- 2012-01-27 JP JP2012015217A patent/JP5651611B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009171525A (en) * | 2008-01-21 | 2009-07-30 | Nippon Telegr & Teleph Corp <Ntt> | Information sharing system based on id information, its method, information sharing communication apparatus based on id information, and its program |
JP2011019042A (en) * | 2009-07-08 | 2011-01-27 | Nippon Telegr & Teleph Corp <Ntt> | Key sharing device, key sharing system, key sharing method, and program |
JP2012018257A (en) * | 2010-07-07 | 2012-01-26 | Nippon Telegr & Teleph Corp <Ntt> | Information sharing system, device, method, and program |
Non-Patent Citations (3)
Title |
---|
JPN6014046994; H. Huang et al.: 'An ID-based Authenticated Key Exchange Protocol Based on Bilinear Diffie-Hellman Problem' Cryptology ePrint Archive Report 2008/224,Ver. 20081213:061843, 200812, International Association for Cryptologic Research * |
JPN6014046997; 鈴木幸太郎,他: '非対称ペアリングを用いたIDベース認証鍵交換方式におけるid-eCK安全性の考察' 2012年暗号と情報セキュリティシンポジウム(SCIS2012)予稿集 , 20120130, 1D2-3 * |
JPN7014003171; M. C. Gorantla et al.: 'ID-based one-pass authenticated key establishment' Proceedings of the sixth Australasian conference on Information security (AISC 2008) Vol. 81, 2008, pp. 39-46, Australian Computer Society Inc. * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017208773A (en) * | 2016-05-20 | 2017-11-24 | 日本電信電話株式会社 | Common key sharing system, method, client device, master public key storage server, and program |
JPWO2020240741A1 (en) * | 2019-05-29 | 2020-12-03 | ||
JP7298686B2 (en) | 2019-05-29 | 2023-06-27 | 日本電信電話株式会社 | Key exchange system, communication device and program |
JP2021034979A (en) * | 2019-08-28 | 2021-03-01 | 日本電信電話株式会社 | Key exchange system, equipment, information processor, key exchange method, and program |
JP7289478B2 (en) | 2019-08-28 | 2023-06-12 | 日本電信電話株式会社 | Key exchange system, device, information processing device, key exchange method and program |
Also Published As
Publication number | Publication date |
---|---|
JP5651611B2 (en) | 2015-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7372938B2 (en) | Computer-implemented systems and methods for performing atomic swaps using blockchain | |
CN106357396B (en) | Digital signature method and system and quantum key card | |
CN105593872B (en) | The method and apparatus of data authentication | |
Borisov et al. | DP5: A private presence service | |
CN102577230B (en) | Low-latency peer session establishment | |
KR101508360B1 (en) | Apparatus and method for transmitting data, and recording medium storing program for executing method of the same in computer | |
CN105308897B (en) | Method and apparatus for anonymity and authentic authentication in infiltration type social networking | |
CN109981641A (en) | A kind of safe distribution subscription system and distribution subscription method based on block chain technology | |
CN109740384A (en) | Data based on block chain deposit card method and apparatus | |
KR101297648B1 (en) | Authentication method between server and device | |
CN105493438A (en) | A method and apparatus for anonymous authentication on trust in social networking | |
Li et al. | A blockchain-based public auditing scheme for cloud storage environment without trusted auditors | |
WO2018047698A1 (en) | Encoded message retrieval method, message transmission/reception system, server, terminal, and program | |
CN114553590B (en) | Data transmission method and related equipment | |
US10419213B2 (en) | Key exchange method, key exchange system, key device, terminal device, and program | |
US20120239937A1 (en) | Information processing device, computer program product, and access control system | |
Luo et al. | A security communication model based on certificateless online/offline signcryption for Internet of Things | |
US20150023498A1 (en) | Byzantine fault tolerance and threshold coin tossing | |
JP5651611B2 (en) | Key exchange device, key exchange system, key exchange method, program | |
CN116170144B (en) | Smart power grid anonymous authentication method, electronic equipment and storage medium | |
JPWO2016199507A1 (en) | KEY EXCHANGE METHOD, KEY EXCHANGE SYSTEM, KEY DISTRIBUTION DEVICE, COMMUNICATION DEVICE, AND PROGRAM | |
CN111010283B (en) | Method and apparatus for generating information | |
KR101922965B1 (en) | Implicit Certificate Issuing Method and System for Applying Key Expansion | |
JP6808609B2 (en) | Server devices, communication devices, key sharing systems, key sharing methods, and programs | |
JP6478361B1 (en) | Blockchain network and determination method therefor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141030 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20141111 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141117 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5651611 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |