JP5561474B2 - 鍵交換装置、鍵交換システム、および鍵交換プログラム - Google Patents
鍵交換装置、鍵交換システム、および鍵交換プログラム Download PDFInfo
- Publication number
- JP5561474B2 JP5561474B2 JP2010097506A JP2010097506A JP5561474B2 JP 5561474 B2 JP5561474 B2 JP 5561474B2 JP 2010097506 A JP2010097506 A JP 2010097506A JP 2010097506 A JP2010097506 A JP 2010097506A JP 5561474 B2 JP5561474 B2 JP 5561474B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- secret information
- synchronization
- key
- self
- 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.)
- Expired - Fee Related
Links
- 238000012790 confirmation Methods 0.000 claims description 302
- 238000012795 verification Methods 0.000 claims description 165
- 238000000034 method Methods 0.000 claims description 55
- 238000004891 communication Methods 0.000 claims description 35
- 239000003999 initiator Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 230000001360 synchronised effect Effects 0.000 description 10
- 230000007704 transition Effects 0.000 description 4
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
Images
Description
次に、第一ラウンド装置120は、暫定数 r ∈ Z/qZを乱数111からランダムに生成する。
第一ラウンド装置120は、状態 (sid, Π',r) を生成して、これを記憶装置103する。
第一ラウンド装置120は、("生成",(sid,y))を認証装置104に入力し、識別子sigを得る。
第一ラウンド装置102は、メッセージ(sid,y,sig) を通信装置105を用いて、送信者が識別子Πで、宛先が識別子Π'であるとして送信する。
そして、鍵交換装置100は命令待ち状態となる。
この出力装置106に出力された(sid,z=y'r)が、交換結果(鍵)122である。
(2) 秘密情報の更新を確率的に行うと、両者の秘密情報の同期を妨害する攻撃が可能となる可能性がある。また、この妨害を防ぐために通信回数が多くなっしまう。
(3) ある時点で秘密情報が盗まれたとき、秘密情報の更新が十分でないと、直前の鍵が漏洩してしまう。
上記同期判定値は、相手の第1の同期確認値および相手の第2の同期確認値が、それぞれ、自己の第1の同期検証値および自己の第2の同期検証値と等しいなら、“同期”を示す0の値を持ち、相手の第1の同期確認値と自己の第2の同期検証値とが等しいなら、−1の値を持ち、相手の第2の同期確認値と自己の第1の同期検証値とが等しいなら、1の値を持ち、相手の第1の同期確認値と自己の第1の同期検証値とが等しく、かつ、相手の第2の同期確認値と自己の第2の同期検証値とが等しくないとき、2の値を持ち、
上記同期確認装置は、
同期判定値の値が−1に等しいとき、第2の秘密情報と鍵識別子とから第3の秘密情報を生成し、第2の秘密情報を用いて自己の第1の同期確認値を生成し、第3の秘密情報を用いて自己の第2の同期確認値を生成する機能と、
同期判定値の値が1又は2に等しいとき、第1の秘密情報と鍵識別子とから第3の秘密情報を生成し、第1の秘密情報を用いて自己の第1の同期確認値を生成し、第3の秘密情報を用いて自己の第2の同期確認値を生成する機能と、
同期判定値の値が1に等しいとき、第2の秘密情報と鍵識別子とから第3の秘密情報を生成し、第2の秘密情報を用いて自己の第1の同期検証値を生成し、第3の秘密情報を用いて自己の第2の同期検証値を生成する機能と、
同期判定値の値が−1又は2に等しいとき、第1の秘密情報と鍵識別子とから第3の秘密情報を生成し、第1の秘密情報を用いて自己の第1の同期検証値を生成し、第3の秘密情報を用いて自己の第2の同期検証値を生成する機能と、
をさらに備える。
鍵交換装置は、安全変数κに関する、独立なハッシュ関数 HashS:{0,1}* → {0,1}κ, HashC:{0,1}* → {0,1}κ, HashK:{0,1}* → K, を実現する機能を備えているとする。ここで、Kは認証付鍵交換で生成される鍵の空間である。また、ハッシュ関数HashS は第1のハッシュ関数と呼ばれ、ハッシュ関数HashKは第2のハッシュ関数と呼ばれ、ハッシュ関数HashCは第3のハッシュ関数と呼ばれる。第1のハッシュ関数HashS は、同期確認/検証に用いられるので、同期確認/検証用ハッシュ関数とも呼ばれる。第2のハッシュ関数HashKは、鍵生成に用いられるので、鍵生成用ハッシュ関数とも呼ばれる。第3のハッシュ関数HashCは、鍵検証に用いられるので、鍵検証用ハッシュ関数とも呼ばれる。
x1 = HashS(secret1,P,ictr,sid,"開始要求")
x2 = HashS(secret2,P,ictr,sid,"開始要求").
y1 = HashS(secret1,P',ictr',sid',"開始要求")
y2 = HashS(secret2,P',ictr',sid',"開始要求").
B3−1) もし (x'1=y2) なら、sync=-1 とする。
B3−2) もし (x'1,x'2)=(y1,y2) なら、sync=0 とする。
B3−3) もし (x'2=y1) なら、sync=1 とする。
B3−4) もし (x'1=y1) かつ (x'2 ≠ y2) ならば、sync=2 とする。
B3−5) その他の場合は sync = NA.とする。
x1 = HashS(secret1,P,kid,"応答"),
x2 = HashS(secret2,P,kid,"応答").
key = Hashk(secret1,kid)
鍵検証装置314は、次の式に従って、鍵検証値verを生成する。
ver = HashC(secret1,kid)
secret3 = HashS(secret2, kid) 、
x1 = HashS(secret2,P,kid,"非同期",sync)、
x2 = HashS(secret3,P,kid,"非同期",sync).
secret3 =HashS(secret1,kid)、
x1 = HashS(secret1,P,kid,"非同期",sync)、
x2 = HashS(secret3,P,kid,"非同期",sync).
y1 = HashS(secret1,P',kid,"応答"),
y2 = HashS(secret2,P',kid,"応答").
key = Hashk(secret1,kid)
鍵検証装置314は、次の式に従って、自己の鍵検証値verを生成する。
ver = HashC(secret1,kid)
D2) その他の場合、鍵交換装置は、待ち状態に戻る。
secret3 = HashS(secret1,kid)
y1 = HashS(secret1,P',kid,"非同期",sync)
y2 = HashS(secret3,P',kid,"非同期",sync).
secret3 = HashS(secret2,kid)
y1 = HashS(secret2,P',kid,"非同期",sync)
y2 = HashS(secret3,P',kid,"非同期",sync).
x1 = HashS(secret1,P,kid,"非同期確認",sync),
x2 = HashS(secret2,P,kid,"非同期確認",sync).
y1 = HashS(secret2,P,kid,"非同期確認",sync)
y2 = HashS(secret3,P,kid,"非同期確認",sync).
y1 = HashS(secret1,P,kid,"非同期確認",sync)
y2 = HashS(secret3,P,kid,"非同期確認",sync).
G1−2−1) (x'1,x'2)=(y1,y2)なら、秘密更新装置312は、秘密情報 (secret1,secret2) を(secret1,secret3) へ更新する。すなわち、秘密更新装置312は、第1の秘密情報304(secret1)の値をそのまま第1の秘密情報304(secret1)に維持し、第2の秘密情報305(secret2)の値を一時秘密情報(第3の秘密情報)(secret3)の値に更新する。
H2) その他の場合、鍵交換装置は、受け取ったメッセージを無視する。
第1の秘密情報と第2の秘密情報とを保持する秘密情報記憶装置と、
前記乱数生成装置を用いて生成した乱数と、相手装置から受信したデータとを用いて自己の鍵識別子を生成する鍵識別子生成装置と、
前記第1の秘密情報を用いて自己の第1の同期確認値を生成し、前記第2の秘密情報を用いて自己の第2の同期確認値を生成し、該自己の第1の同期確認値と前記自己の第2の同期確認値とを前記相手装置へ送出し、前記第1の秘密情報を用いて自己の第1の同期検証値を生成し、前記第2の秘密情報を用いて自己の第2の同期検証値を生成し、相手の第1の同期確認値と相手の第2の同期確認値とを前記相手装置から受信し、前記相手の第1の同期確認値および前記相手の第2の同期確認値と、前記自己の第1の同期検証値および前記自己の第2の同期検証値とを用いて、同期判定値を生成する同期確認装置と、
前記第1の秘密情報と前記第2の秘密情報と前記鍵識別子とを受け取り、前記第2の秘密情報と前記鍵識別子とから第3の秘密情報を生成し、前記第1の秘密情報の値を前記第2の秘密情報の値に変更し、前記第2の秘密情報の値を前記第3の秘密情報の値に変更する秘密更新装置と、
前記第1の秘密情報から鍵を生成する鍵生成装置と、
を備える鍵交換装置。
前記同期確認装置は、
前記同期判定値の値が−1に等しいとき、前記第2の秘密情報と前記鍵識別子とから前記第3の秘密情報を生成し、前記第2の秘密情報を用いて前記自己の第1の同期確認値を生成し、前記第3の秘密情報を用いて前記自己の第2の同期確認値を生成する機能と、
前記同期判定値の値が1又は2に等しいとき、前記第1の秘密情報と前記鍵識別子とから前記第3の秘密情報を生成し、前記第1の秘密情報を用いて前記自己の第1の同期確認値を生成し、前記第3の秘密情報を用いて前記自己の第2の同期確認値を生成する機能と、
前記同期判定値の値が1に等しいとき、前記第2の秘密情報と前記鍵識別子とから前記第3の秘密情報を生成し、前記第2の秘密情報を用いて前記自己の第1の同期検証値を生成し、前記第3の秘密情報を用いて前記自己の第2の同期検証値を生成する機能と、
前記同期判定値の値が−1又は2に等しいとき、前記第1の秘密情報と前記鍵識別子とから前記第3の秘密情報を生成し、前記第1の秘密情報を用いて前記自己の第1の同期検証値を生成し、前記第3の秘密情報を用いて前記自己の第2の同期検証値を生成する機能と、
をさらに備える、ことを特徴とする付記1に記載の鍵交換装置。
第1の鍵交換装置が保持する自己識別子と第2の鍵交換装置が保持する相手識別子とが同一で、
前記第1の鍵交換装置が保持する相手識別子と前記第2の鍵交換装置が保持する自己識別子とが同一であり、
前記第1の鍵交換装置と前記第2の鍵交換装置とは通信路で繋がっており、
前記第1の鍵交換装置が送出するメッセージを前記第2の鍵交換装置が受信可能であり、
前記第2の鍵交換装置が送出するメッセージを前記第1の鍵交換装置が受信可能であり、
何れかの鍵交換装置には、開始命令、応答命令を入力する事が出来る
ことを特徴とする鍵交換システム。
前記第2の鍵交換装置は、前記同期判定値が“同期”を示しているなら、その前記鍵生成装置が、前記第1の秘密情報から鍵を生成し、その秘密更新装置が、前記第1の秘密情報の値および前記第2の秘密情報の値を、それぞれ、前記第2の秘密情報の値および前記前記第3の秘密情報の値に変更する、付記5に記載の鍵交換システム。
開始命令を入力したとき、前記第1の鍵交換装置が、第1の秘密情報および第2の秘密情報を用いて、それぞれ、自己の第1の同期確認値および自己の第2の同期確認値を生成し、前記自己の第1の同期確認値および前記自己の第2の同期確認値を含む開始要求メッセージを前記第2の鍵交換装置へ送信する工程と、
前記第1の鍵交換装置から相手の第1の同期確認値および相手の第2の同期確認値を含む前記開始要求メッセージを受け取ったとき、前記第2の鍵交換装置が、前記第1の秘密情報および前記第2の秘密情報を用いて、それぞれ、自己の第1の同期検証値および自己の第2の同期検証値を生成し、前記相手の第1の同期確認値、前記相手の第2の同期確認値、前記自己の第1の同期検証値、および前記自己の第2の同期検証値を用いて同期判定値を生成する工程と、
を含む、鍵交換方法。
第1の秘密情報と第2の秘密情報とを保持する手順と、
前記生成された乱数と、相手装置から受信したデータとを用いて自己の鍵識別子を生成する手順と、
前記第1の秘密情報を用いて自己の第1の同期確認値を生成し、前記第2の秘密情報を用いて自己の第2の同期確認値を生成し、該自己の第1の同期確認値と前記自己の第2の同期確認値とを前記相手装置へ送出し、前記第1の秘密情報を用いて自己の第1の同期検証値を生成し、前記第2の秘密情報を用いて自己の第2の同期検証値を生成し、相手の第1の同期確認値と相手の第2の同期確認値とを前記相手装置から受信し、前記相手の第1の同期確認値および前記相手の第2の同期確認値と、前記自己の第1の同期検証値および前記自己の第2の同期検証値とを用いて、同期判定値を生成する手順と、
前記第1の秘密情報と前記第2の秘密情報と前記鍵識別子とを受け取り、前記第2の秘密情報と前記鍵識別子とから第3の秘密情報を生成し、前記第1の秘密情報の値を前記第2の秘密情報の値に変更し、前記第2の秘密情報の値を前記第3の秘密情報の値に変更する手順と、
前記第1の秘密情報から鍵を生成する手順と、
をコンピュータに実行させる鍵交換プログラム。
前記同期判定値を生成する手順は、
前記同期判定値の値が−1に等しいとき、前記第2の秘密情報と前記鍵識別子とから前記第3の秘密情報を生成し、前記第2の秘密情報を用いて前記自己の第1の同期確認値を生成し、前記第3の秘密情報を用いて前記自己の第2の同期確認値を生成する手順と、
前記同期判定値の値が1又は2に等しいとき、前記第1の秘密情報と前記鍵識別子とから前記第3の秘密情報を生成し、前記第1の秘密情報を用いて前記自己の第1の同期確認値を生成し、前記第3の秘密情報を用いて前記自己の第2の同期確認値を生成する手順と、
前記同期判定値の値が1に等しいとき、前記第2の秘密情報と前記鍵識別子とから前記第3の秘密情報を生成し、前記第2の秘密情報を用いて前記自己の第1の同期検証値を生成し、前記第3の秘密情報を用いて前記自己の第2の同期検証値を生成する手順と、
前記同期判定値の値が−1又は2に等しいとき、前記第1の秘密情報と前記鍵識別子とから前記第3の秘密情報を生成し、前記第1の秘密情報を用いて前記自己の第1の同期検証値を生成し、前記第3の秘密情報を用いて前記自己の第2の同期検証値を生成する手順と、
をさらに前記コンピュータに実行させる、付記21に記載の鍵交換プログラム。
301 ・・・ 出力装置
302 ・・・ 通信装置
303 ・・・ 乱数生成装置
304 ・・・ 第1の秘密情報
305 ・・・ 第2に秘密情報
306 ・・・ 自己識別子
307 ・・・ 相手識別子
308 ・・・ セッション状態
309 ・・・ セッション番号生成装置
310 ・・・ 鍵識別子生成装置
311 ・・・ 同期確認装置
312 ・・・ 秘密更新装置
313 ・・・ 鍵生成装置
314 ・・・ 鍵検証装置
320 ・・・ 識別子記憶装置
322 ・・・ 秘密情報記憶装置
324 ・・・ 記憶装置
Claims (9)
- 乱数を生成する乱数生成装置と、
第1の秘密情報と第2の秘密情報とを保持する秘密情報記憶装置と、
前記乱数生成装置を用いて生成した乱数と、相手装置から受信したデータとを用いて自己の鍵識別子を生成する鍵識別子生成装置と、
前記第1の秘密情報を用いて自己の第1の同期確認値を生成し、前記第2の秘密情報を用いて自己の第2の同期確認値を生成し、該自己の第1の同期確認値と前記自己の第2の同期確認値とを前記相手装置へ送出し、前記第1の秘密情報を用いて自己の第1の同期検証値を生成し、前記第2の秘密情報を用いて自己の第2の同期検証値を生成し、相手の第1の同期確認値と相手の第2の同期確認値とを前記相手装置から受信し、前記相手の第1の同期確認値および前記相手の第2の同期確認値と、前記自己の第1の同期検証値および前記自己の第2の同期検証値とを用いて、同期判定値を生成する同期確認装置と、
前記第1の秘密情報と前記第2の秘密情報と前記鍵識別子とを受け取り、前記第2の秘密情報と前記鍵識別子とから第3の秘密情報を生成し、前記第1の秘密情報の値を前記第2の秘密情報の値に変更し、前記第2の秘密情報の値を前記第3の秘密情報の値に変更する秘密更新装置と、
前記第1の秘密情報から鍵を生成する鍵生成装置と、
を備える鍵交換装置であって、
前記同期判定値は、前記相手の第1の同期確認値および前記相手の第2の同期確認値が、それぞれ、前記自己の第1の同期検証値および前記自己の第2の同期検証値と等しいなら、“同期”を示す0の値を持ち、前記相手の第1の同期確認値と前記自己の第2の同期検証値とが等しいなら、−1の値を持ち、前記相手の第2の同期確認値と前記自己の第1の同期検証値とが等しいなら、1の値を持ち、前記相手の第1の同期確認値と前記自己の第1の同期検証値とが等しく、かつ、前記相手の第2の同期確認値と前記自己の第2の同期検証値とが等しくないとき、2の値を持ち、
前記同期確認装置は、
前記同期判定値の値が−1に等しいとき、前記第2の秘密情報と前記鍵識別子とから前記第3の秘密情報を生成し、前記第2の秘密情報を用いて前記自己の第1の同期確認値を生成し、前記第3の秘密情報を用いて前記自己の第2の同期確認値を生成する機能と、
前記同期判定値の値が1又は2に等しいとき、前記第1の秘密情報と前記鍵識別子とから前記第3の秘密情報を生成し、前記第1の秘密情報を用いて前記自己の第1の同期確認値を生成し、前記第3の秘密情報を用いて前記自己の第2の同期確認値を生成する機能と、
前記同期判定値の値が1に等しいとき、前記第2の秘密情報と前記鍵識別子とから前記第3の秘密情報を生成し、前記第2の秘密情報を用いて前記自己の第1の同期検証値を生成し、前記第3の秘密情報を用いて前記自己の第2の同期検証値を生成する機能と、
前記同期判定値の値が−1又は2に等しいとき、前記第1の秘密情報と前記鍵識別子とから前記第3の秘密情報を生成し、前記第1の秘密情報を用いて前記自己の第1の同期検証値を生成し、前記第3の秘密情報を用いて前記自己の第2の同期検証値を生成する機能と、
をさらに備える、鍵交換装置。 - 第1および第2の鍵交換装置からなる鍵交換システムであって、
前記第1および第2の鍵交換装置の各々は、
乱数を生成する乱数生成装置と、
第1の秘密情報と第2の秘密情報とを保持する秘密情報記憶装置と、
前記乱数生成装置を用いて生成した乱数と、相手装置から受信したデータとを用いて自己の鍵識別子を生成する鍵識別子生成装置と、
前記第1の秘密情報を用いて自己の第1の同期確認値を生成し、前記第2の秘密情報を用いて自己の第2の同期確認値を生成し、該自己の第1の同期確認値と前記自己の第2の同期確認値とを前記相手装置へ送出し、前記第1の秘密情報を用いて自己の第1の同期検証値を生成し、前記第2の秘密情報を用いて自己の第2の同期検証値を生成し、相手の第1の同期確認値と相手の第2の同期確認値とを前記相手装置から受信し、前記相手の第1の同期確認値および前記相手の第2の同期確認値と、前記自己の第1の同期検証値および前記自己の第2の同期検証値とを用いて、同期判定値を生成する同期確認装置と、
前記第1の秘密情報と前記第2の秘密情報と前記鍵識別子とを受け取り、前記第2の秘密情報と前記鍵識別子とから第3の秘密情報を生成し、前記第1の秘密情報の値を前記第2の秘密情報の値に変更し、前記第2の秘密情報の値を前記第3の秘密情報の値に変更する秘密更新装置と、
前記第1の秘密情報から鍵を生成する鍵生成装置と、
を備え、
前記第1の鍵交換装置が保持する自己識別子と前記第2の鍵交換装置が保持する相手識別子とが同一で、
前記第1の鍵交換装置が保持する相手識別子と前記第2の鍵交換装置が保持する自己識別子とが同一であり、
前記第1の鍵交換装置と前記第2の鍵交換装置とは通信路で繋がっており、
前記第1の鍵交換装置が送出するメッセージを前記第2の鍵交換装置が受信可能であり、
前記第2の鍵交換装置が送出するメッセージを前記第1の鍵交換装置が受信可能であり、
何れかの鍵交換装置には、開始命令、応答命令を入力する事が出来、
前記第1の鍵交換装置は、前記開始命令が入力されると、その前記同期確認装置が、前記第1の秘密情報および前記第2の秘密情報を用いて、前記自己の第1の同期確認値および前記自己の第2の同期確認値を生成し、前記自己の第1の同期確認値および前記自己の第2の同期確認値を含む開始要求メッセージを、前記第2の鍵交換装置へ送出し、
前記第2の鍵交換装置は、前記開始要求メッセージを受け取ると、その前記同期確認装置が、前記第1の秘密情報および前記第2の秘密情報を用いて、自己の第1の同期検証値および自己の第1の同期検証値を生成し、前記開始要求メッセージに含まれる相手の第1の同期確認値および相手の第2の同期確認値と前記自己の第1の同期検証値および前記自己の第1の同期検証値とを用いて同期判定値を生成し、
前記第2の鍵交換装置は、前記応答命令が入力されると、その前記鍵識別子生成装置が、その前記乱数生成装置で生成された乱数と前記開始要求メッセージに含まれるデータとを用いて自己の鍵識別子を生成し、
前記第2の鍵交換装置は、前記同期判定値が“同期”を示しているなら、その前記鍵生成装置が、前記第1の秘密情報から鍵を生成し、その秘密更新装置が、前記第1の秘密情報の値および前記第2の秘密情報の値を、それぞれ、前記第2の秘密情報の値および前記前記第3の秘密情報の値に変更し、
前記第2の鍵交換装置は、前記同期判定値が“同期”を示しているなら、その前記同期確認装置は、前記自己の鍵識別子、前記第1の秘密情報、および前記第2の秘密情報を用いて、自己の第1の同期確認値および自己の第2の同期確認値を生成し、前記自己の第1の同期確認値および前記自己の第2の同期確認値を含む応答メッセージを、前記第1の鍵交換装置へ送出し、
前記第1の鍵交換装置は、前記応答メッセージを受け取ると、その前記鍵識別子生成装置が、該応答メッセージに含まれるデータから自己の鍵識別子を生成し、その前記同期確認装置が、前記自己の鍵識別子、前記第1の秘密情報、および前記第2の秘密情報を用いて、自己の第1の同期検証値および自己の第2の同期検証値を生成し、
前記第1の鍵交換装置は、前記応答メッセージに含まれる相手の第1の同期確認値および相手の第2の同期確認値が、それぞれ、前記自己の第1の同期検証値および前記自己の第2の同期検証値に等しいとき、その前記鍵生成装置が、前記第1の秘密情報から鍵を生成し、その秘密更新装置が、前記第1の秘密情報の値および前記第2の秘密情報の値を、それぞれ、前記第2の秘密情報の値および前記前記第3の秘密情報の値に変更する、
ことを特徴とする鍵交換システム。 - 第1の鍵交換装置と第2の鍵交換装置との間で鍵の交換を行う鍵交換方法であって、
開始命令を入力したとき、前記第1の鍵交換装置が、第1の秘密情報および第2の秘密情報を用いて、それぞれ、自己の第1の同期確認値および自己の第2の同期確認値を生成し、前記自己の第1の同期確認値および前記自己の第2の同期確認値を含む開始要求メッセージを前記第2の鍵交換装置へ送信する工程と、
前記第1の鍵交換装置から相手の第1の同期確認値および相手の第2の同期確認値を含む前記開始要求メッセージを受け取ったとき、前記第2の鍵交換装置が、前記第1の秘密情報および前記第2の秘密情報を用いて、それぞれ、自己の第1の同期検証値および自己の第2の同期検証値を生成し、前記相手の第1の同期確認値、前記相手の第2の同期確認値、前記自己の第1の同期検証値、および前記自己の第2の同期検証値を用いて同期判定値を生成する工程と、
応答命令を入力したとき、前記第2の鍵交換装置が、乱数生成装置を用いて生成した乱数と前記開始要求メッセージに含まれるデータとを用いて、自己の鍵識別子を生成する工程と、
前記同期判定値が“同期”を示しているなら、前記第2の鍵交換装置が、前記第1の秘密情報から鍵を生成し、前記第2の秘密情報と前記自己の鍵識別子とから第3の秘密情報を生成し、前記第1の秘密情報の値を前記第2の秘密情報の値に更新し、前記第2の秘密情報の値を前記第3の秘密情報の値に更新する工程と、
前記同期判定値が“同期”を示しているなら、前記第2の鍵交換装置が、前記自己の鍵識別子、前記第1の秘密情報、および前記第2の秘密情報を用いて、自己の第1の同期確認値および自己の第2の同期確認値を生成し、前記自己の第1の同期確認値および前記自己の第2の同期確認値を含む応答メッセージを前記第1の鍵交換装置へ送信する工程と、
前記第2の鍵交換装置から相手の第1の同期確認値および相手の第2の同期確認値を含む前記応答メッセージを受け取ったとき、前記第1の鍵交換装置が、該応答メッセージに含まれるデータから鍵識別子を生成し、該生成した鍵識別子、前記第1の秘密情報、および前記第2の秘密情報を用いて、自己の第1の同期検証値および自己の第2の同期検証値を生成する工程と、
前記相手の第1の同期確認値および前記相手の第2の同期確認値が、それぞれ、前記自己の第1の同期検証値および前記自己の第2の同期検証値と等しいとき、前記第1の鍵交換装置が、前記第1の秘密情報から鍵を生成し、前記第2の秘密情報と前記鍵識別子とから第3の秘密情報を生成し、前記第1の秘密情報の値を前記第2の秘密情報の値に更新し、前記第2の秘密情報の値を前記第3の秘密情報の値に更新する工程と、
を含む、鍵交換方法。 - 前記同期判定値が“非同期”を示しているなら、前記第2の鍵交換装置が、前記第1の秘密情報および前記第2の秘密情報を用いて、一時秘密情報、自己の第1の同期確認値、自己の第2の同期確認値を生成し、前記自己の第1の同期確認値、前記自己の第2の同期確認値、および前記同期判定値を含む非同期メッセージを前記第1の鍵交換装置へ送出する工程を含む、請求項3に記載の鍵交換方法。
- 前記第2の鍵交換装置から前記同期判定値、相手の第1の同期確認値、および相手の第2の同期確認値を含む前記非同期メッセージを受け取ったとき、前記第1の鍵交換装置が、該非同期メッセージに含まれるデータから自己の鍵識別子を生成し、該生成した自己の鍵識別子、前記第1の秘密情報、および前記第2の秘密情報を用いて、自己の第1の同期検証値および自己の第2の同期検証値を生成する工程を含む、請求項4に記載の鍵交換方法。
- 前記相手の第1の同期確認値および前記相手の第2の同期確認値が、それぞれ、前記自己の第1の同期検証値および前記自己の第2の同期検証値に等しいなら、前記第1の鍵交換装置が、前記同期判定値の値に応じて、前記第1の秘密情報の値と前記第2の秘密情報の値とを更新する工程を含む、請求項5に記載の鍵交換方法。
- 前記第1の鍵交換装置が、前記自己の鍵識別子、前記第1の秘密情報、および前記第2の秘密情報を用いて、自己の第1の同期確認値および自己の第2の同期確認値を生成し、前記同期判定値、前記自己の第1の同期確認値および前記自己の第2の同期確認値を含む非同期確認メッセージを、前記第2の鍵交換装置へ送出する工程を含む、請求項5又は6に記載の鍵交換方法。
- 前記第1の鍵交換装置から、相手の第1の同期確認値および相手の第2の同期確認値を含む前記非同期確認メッセージを受け取ったとき、前記第2の鍵交換装置が、前記自己の鍵識別子、前記一時秘密情報、および前記第1の秘密情報又は前記第2の秘密情報を用いて、自己の第1の同期検証値および自己の第2の同期検証値を生成し、前記相手の第1の同期確認値および前記相手の第2の同期確認値が、それぞれ、前記自己の第1の同期検証値および前記自己の第2の同期検証値に等しいとき、前記同期判定値の値に応じて、前記第1の秘密情報の値と前記第2の秘密情報の値とを更新する工程を含む、請求項7に記載の鍵交換方法。
- 乱数を生成する手順と、
第1の秘密情報と第2の秘密情報とを保持する手順と、
前記生成された乱数と、相手装置から受信したデータとを用いて自己の鍵識別子を生成する手順と、
前記第1の秘密情報を用いて自己の第1の同期確認値を生成し、前記第2の秘密情報を用いて自己の第2の同期確認値を生成し、該自己の第1の同期確認値と前記自己の第2の同期確認値とを前記相手装置へ送出し、前記第1の秘密情報を用いて自己の第1の同期検証値を生成し、前記第2の秘密情報を用いて自己の第2の同期検証値を生成し、相手の第1の同期確認値と相手の第2の同期確認値とを前記相手装置から受信し、前記相手の第1の同期確認値および前記相手の第2の同期確認値と、前記自己の第1の同期検証値および前記自己の第2の同期検証値とを用いて、同期判定値を生成する手順と、
前記第1の秘密情報と前記第2の秘密情報と前記鍵識別子とを受け取り、前記第2の秘密情報と前記鍵識別子とから第3の秘密情報を生成し、前記第1の秘密情報の値を前記第2の秘密情報の値に変更し、前記第2の秘密情報の値を前記第3の秘密情報の値に変更する手順と、
前記第1の秘密情報から鍵を生成する手順と、
をコンピュータに実行させる鍵交換プログラムであって、
前記同期判定値は、前記相手の第1の同期確認値および前記相手の第2の同期確認値が、それぞれ、前記自己の第1の同期検証値および前記自己の第2の同期検証値と等しいなら、“同期”を示す0の値を持ち、前記相手の第1の同期確認値と前記自己の第2の同期検証値とが等しいなら、−1の値を持ち、前記相手の第2の同期確認値と前記自己の第1の同期検証値とが等しいなら、1の値を持ち、前記相手の第1の同期確認値と前記自己の第1の同期検証値とが等しく、かつ、前記相手の第2の同期確認値と前記自己の第2の同期検証値とが等しくないとき、2の値を持ち、
前記同期判定値を生成する手順は、
前記同期判定値の値が−1に等しいとき、前記第2の秘密情報と前記鍵識別子とから前記第3の秘密情報を生成し、前記第2の秘密情報を用いて前記自己の第1の同期確認値を生成し、前記第3の秘密情報を用いて前記自己の第2の同期確認値を生成する手順と、
前記同期判定値の値が1又は2に等しいとき、前記第1の秘密情報と前記鍵識別子とから前記第3の秘密情報を生成し、前記第1の秘密情報を用いて前記自己の第1の同期確認値を生成し、前記第3の秘密情報を用いて前記自己の第2の同期確認値を生成する手順と、
前記同期判定値の値が1に等しいとき、前記第2の秘密情報と前記鍵識別子とから前記第3の秘密情報を生成し、前記第2の秘密情報を用いて前記自己の第1の同期検証値を生成し、前記第3の秘密情報を用いて前記自己の第2の同期検証値を生成する手順と、
前記同期判定値の値が−1又は2に等しいとき、前記第1の秘密情報と前記鍵識別子とから前記第3の秘密情報を生成し、前記第1の秘密情報を用いて前記自己の第1の同期検証値を生成し、前記第3の秘密情報を用いて前記自己の第2の同期検証値を生成する手順と、
をさらに前記コンピュータに実行させる、鍵交換プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010097506A JP5561474B2 (ja) | 2010-04-21 | 2010-04-21 | 鍵交換装置、鍵交換システム、および鍵交換プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010097506A JP5561474B2 (ja) | 2010-04-21 | 2010-04-21 | 鍵交換装置、鍵交換システム、および鍵交換プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011228970A JP2011228970A (ja) | 2011-11-10 |
JP5561474B2 true JP5561474B2 (ja) | 2014-07-30 |
Family
ID=45043810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010097506A Expired - Fee Related JP5561474B2 (ja) | 2010-04-21 | 2010-04-21 | 鍵交換装置、鍵交換システム、および鍵交換プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5561474B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100091993A1 (en) * | 2007-02-02 | 2010-04-15 | Panasonic Corporation | Wireless communication device and encryption key updating method |
JP5219615B2 (ja) * | 2008-05-15 | 2013-06-26 | 三菱電機株式会社 | 通信装置及び路側機及び車載器及び通信方法及び通信プログラム |
JP5491713B2 (ja) * | 2008-09-12 | 2014-05-14 | 株式会社東芝 | 暗号化装置、暗号化プログラム及び方法 |
-
2010
- 2010-04-21 JP JP2010097506A patent/JP5561474B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011228970A (ja) | 2011-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11838407B2 (en) | Computer-implemented systems and methods for using a blockchain to perform an atomic swap | |
EP0711480B1 (en) | Method and system for authenticated secure key distribution in a communication system | |
US7899184B2 (en) | Ends-messaging protocol that recovers and has backward security | |
KR102619383B1 (ko) | 에폭 키 교환을 이용한 종단간 이중 래칫 암호화 | |
CN108886468A (zh) | 用于分发基于身份的密钥资料和证书的系统和方法 | |
Morrissey et al. | The TLS handshake protocol: A modular analysis | |
WO2017125729A1 (en) | Improving security protocols | |
CN111131311A (zh) | 基于区块链的数据传输方法及区块链节点 | |
Thangavel et al. | Performance of integrated quantum and classical cryptographic model for password authentication | |
US7606369B1 (en) | Process for establishing a common cryptographic key for N subscribers | |
Tin et al. | Protocols with security proofs for mobile applications | |
TWI761243B (zh) | 群組即時通訊的加密系統和加密方法 | |
JP5561474B2 (ja) | 鍵交換装置、鍵交換システム、および鍵交換プログラム | |
JP2009065226A (ja) | 認証付鍵交換システム、認証付鍵交換方法およびプログラム | |
JP5643251B2 (ja) | 秘密情報通知システム、秘密情報通知方法、プログラム | |
Venkatramulu et al. | Secure communication using two party authenticated quantum key distribution protocols | |
TWI840358B (zh) | 用以使用區塊鏈來執行基元式互換之電腦實施系統及方法 | |
Tsouloupas | Breaking Cryptography in the Wild: The Loose Ends of the Wire | |
Verschoor et al. | (In-) Secure messaging with the Silent Circle instant messaging protocol | |
Garratt | Realistic, strong and provable key exchange security | |
Paar et al. | Key Management | |
Buchberger | Adopting the Noise key exchange in Tox | |
CN115766055A (zh) | 一种用于通信报文验证的方法和装置 | |
Verschoor | Secure messaging in mobile environments | |
Wong | Protocols and technologies for security in pervasive computing and communications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130305 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140226 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140422 |
|
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: 20140514 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140527 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5561474 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |