JP2005354556A - 鍵交換装置、鍵交換システム、鍵交換方法、および暗号通信システム - Google Patents

鍵交換装置、鍵交換システム、鍵交換方法、および暗号通信システム Download PDF

Info

Publication number
JP2005354556A
JP2005354556A JP2004175134A JP2004175134A JP2005354556A JP 2005354556 A JP2005354556 A JP 2005354556A JP 2004175134 A JP2004175134 A JP 2004175134A JP 2004175134 A JP2004175134 A JP 2004175134A JP 2005354556 A JP2005354556 A JP 2005354556A
Authority
JP
Japan
Prior art keywords
key exchange
key
exchange device
simultaneous
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004175134A
Other languages
English (en)
Inventor
Keiichi Takagaki
景一 高垣
Atsuhiro Tsuji
敦宏 辻
Yukie Goshima
雪絵 五島
Minoru Yamauchi
実 山内
Masaro Tamai
昌朗 玉井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004175134A priority Critical patent/JP2005354556A/ja
Publication of JP2005354556A publication Critical patent/JP2005354556A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】ネットワークを経由して2装置間で暗号通信のための鍵交換を行うシステムにおいて、双方から同時に鍵交換が行われることにより、冗長なSAが存在する状態や冗長な鍵交換が発生することを防ぎ、メモリ資源やCPU資源の浪費を防止する手段を実現する。
【解決手段】本発明の鍵交換装置では、鍵交換制御部が鍵交換を開始したときに、同時鍵交換判定部が同時鍵交換の有無を判定する。同時鍵交換があった場合には、同時鍵交換判定部は自身がマスタであるかスレーブであるかを所定の方法により決定し、スレーブであった場合は、自身がイニシエータとして行っている鍵交換、もしくはレスポンダとして行っている鍵交換のどちらか一方のみを中断するように鍵交換処理部に指示し、鍵交換制御部が指示された鍵交換を中断する。これにより、一方の鍵交換のみが継続され、冗長なSAが存在する状態になることなどを防ぐ。
【選択図】図1

Description

本発明は、暗号通信システムに関し、より特定的には、ホームネットワークなどの環境において用いられる鍵交換方法、装置に関する。
近年、インターネットなどの情報ネットワークの発展により、ネットワークに接続して情報をやりとりできる家電(以下、ネット家電と呼ぶ。)が登場してきている。これらの装置がやりとりする情報には個人情報などセキュリティを必要とするものが含まれることがある。ネットワーク上でこれらの情報に対するセキュリティを確保するための技術のひとつとして、暗号通信技術が用いられる。
暗号通信技術は、通信データに対する秘匿性確保、データ完全性保証、また通信相手の認証などを行うことにより、第三者による通信内容の盗聴、改ざん、またなりすましによる不正アクセスなどを防ぐ技術である。暗号通信技術の一つに、近年急速に普及しているIP(Internet Protocol)通信を適用対象とするIPsec(Security Architecture for IP)がある。また、IPsecで利用する鍵情報を管理するIKE(Internet Key Exchange)がある。IPsec/IKEはRFC2401−2410(RFC:Request For Comments)としてIETF(Internet Engineering Task Force)により標準化されている。
IPsec/IKEを用いた通信の暗号化はネットワーク上のIP通信端末間において行われる。IPsec/IKEでは、暗号通信区間の両端のIP通信端末においてセキュリティアソシエーション(SA)とよばれる鍵情報を含むデータを保持することで、論理的な暗号通信路を形成する。SAにはIPsecが保護する通信データの暗号化に用いるIPsec SAと、IKEが対向IKEとの間でやりとりする鍵交換や制御メッセージの暗号化に用いるISAKMP SAがある。IKEの鍵交換とは暗号通信区間の両端のIP通信端末間においてメッセージを交換し、それらのメッセージに含まれる情報をもとに、両端点上で共通の暗号鍵を生成し、それらを含むSAを確立する処理のことである。
図3はIKE鍵交換のシーケンスであり、鍵交換を開始する側をイニシエータ、イニシエータから開始された鍵交換に応答する側をレスポンダと呼ぶ。イニシエータとレスポンダとの間で、いくつかのメッセージがやりとりされることで鍵交換が完了し、双方にSAが確立された状態(S301)になり、これらのSAを利用して暗号通信が可能となる。また、図3では1往復半の鍵交換を図示したが、これは1例であり鍵交換のメッセージシーケンスを限定するものではない。実際、IKEのRFCではISAKMP SAを確立するための、MainMode、AggressiveMode、IPsec SAを確立するためのQuickModeが規定されており、それぞれ3往復、1往復半、1往復半のメッセージシーケンスが必要である。
鍵交換が行われる状況としては、大きく分けて2つある。1つ目は暗号通信の開始時に鍵交換が行われる場合であり、2つ目は暗号通信の継続中にSAのライフタイム(生存期間:SAが確立してから、そのSAが暗号化に利用できなくなるまでの期間。鍵交換により確立されたSAにはライフタイムが設定されることがRFCで定められている。)が満了する前に、暗号通信継続のための新たなSAを確立するために鍵交換が行われる場合である。後者における鍵交換をリキーと呼ぶ。
ところで、IKEのRFCではどちらの装置がイニシエータとなるかは定められておらず、両方の装置がイニシエータとなることができる。このため、両方から同時に鍵交換が行われる可能性がある。
以下同時鍵交換の定義、および同時鍵交換発生時の問題について説明する。
まず、同時鍵交換が発生している状態を以下のように定義する。「第1の鍵交換装置もしくは第2の鍵交換装置のいずれかにおいて、イニシエータとして鍵交換を開始後、鍵交換の最終メッセージ送受信前に、レスポンダとしての最初の鍵交換メッセージを受信した状態」次に、同時鍵交換が発生している場合のシーケンス例を図4に示す。図4ではまず、第1の鍵交換装置がイニシエータである鍵交換1と、第2の鍵交換装置がイニシエータである鍵交換2が同時に開始される。その後、両方の鍵交換が完了し、双方に鍵交換1により確立されたSA1と鍵交換2により確立されたSA2の両方が存在する状態(S401)になる。
同時鍵交換が発生した場合、以下のような問題が発生することが知られている。
1.鍵交換が両方から同時に開始されると、2組のSAがほぼ同時に確立される。すなわち、冗長なSAが存在する状態となる。ネット家電などメモリ資源の限られた装置においては、冗長なSAの存在によりメモリ資源が浪費され、同時接続数可能な通信数が減少するなどサービス品質の低下を招くことがある。
2.IKEの鍵交換は多くのCPU資源を消費する演算を含んでいるため、冗長なSAを生成する鍵交換を行うと、多大なCPU資源を無駄に浪費してしまうことになる。特に、ネット家電などCPU資源の限られた装置においては、CPU資源を必要とする他の処理のサービス品質の低下を招くことがある。
3.高速化などのためにIPSecによる暗号化処理をハードウェアで行う場合、ハードウェア内でのSA用のメモリ領域を削減するために、鍵交換された最新のSAのみをハードウェアに登録する場合がある。このような場合において、双方から同時に鍵交換が開始され、その結果同時に鍵交換が終了した場合、双方では別々の鍵交換により確立されたSAが存在することになる。別々の鍵交換により確立されたSAは、そこに含まれる鍵情報が異なるために、一方で暗号化したデータを他方で復号化できず、暗号通信が不能となる。
なお、ここでは1回の鍵交換で確立される、双方向の暗号通信に必要十分なSAの組のこと「1組をSA」と定義する。また、ある状態において存在するSAに、存在しなくても将来にわたって暗号通信が可能であるSAが含まれている状態を「冗長なSAが存在する状態」と定義する。さらに、ある鍵交換によりSAが確立された後に冗長なSAが存在する状態となるような鍵交換を「冗長な鍵交換」と定義する。
上記問題を解決する方法のひとつとして、例えばIPsec/IKEの一実装であるFreeS/WAN2.02では、特にリキーの場合に限って、以下のような機構を取り入れている。
具体的には、イニシエータとレスポンダでリキーの開始タイミングが同じ場合は、高い確率で、双方から同時に鍵交換が行われることに着目し、これを防ぐために、リキーの開始タイミングをランダムに変化させることができるようになっている。この機構を利用することにより、双方からリキーの開始タイミングが同じになる確率を低減させることができる。
図7は、FreeS/WAN2.02の方式を実装した第1の鍵交換装置と、同方式をサポートした第2の鍵交換装置との間の処理シーケンスである。まず、第1の鍵交換装置と第2の鍵交換装置との間で鍵交換を行い、SA1を確立する(S701、S702)。そのとき、双方の装置は、第1の鍵交換装置からリキーの開始タイミングをランダムに決定する。たとえば、第1の鍵交換装置はSA1確立からT1時間後に、第2の鍵交換装置はT2(>T1)時間後にリキーを開始するようにスケジューリングする。次に、T1時間経過すると、第1の鍵交換装置はリキーを開始し(S703)、その結果SA2が確立される(S704、S705)。その後、第2の鍵交換装置において、SA1に対するリキーの開始タイミングが訪れるが、すでにSA1に対するリキーにより確立されたSA2が存在するため、新たにリキーを開始しない。
このように、双方におけるリキーの開始タイミングがずれることによって冗長なSAが存在する状態が発生しにくくなっている。
標準仕様書「RFC2401」、IETF、〔平成16年3月8日検索〕、インターネット<URL:http://www.ietf.org/rfc/2401.txt> 標準仕様書「RFC2407」、IETF、〔平成16年3月8日検索〕、インターネット<URL:http://www.ietf.org/rfc/2407.txt> 標準仕様書「RFC2408」、IETF、〔平成16年3月8日検索〕、インターネット<URL:http://www.ietf.org/rfc/2408.txt> 標準仕様書「RFC2409」、IETF、〔平成16年3月8日検索〕、インターネット<URL:http://www.ietf.org/rfc/2409.txt> FreeS/WAN2.02付属のマニュアルドキュメント「ipsec_pluto.8.html」、FreeS/WAN Project、〔平成16年3月8日検索〕、インターネット<URL:ftp://ftp.xs4all.nl/pub/old/freeswan/crypto/old/freeswan/crypto/freeswan-2.02.tar.gz>
しかし、前記従来のFreeS/WAN2.02の方法ではリキー時に発生する鍵交換のみを対象としているため、暗号通信開始時に冗長な鍵交換が発生するケースには適用できない。また、双方がランダムにリキーの開始タイミングを選択するため、場合によっては同時に鍵交換を開始され、冗長なSAが存在する状態になることがある。
本発明は、リキーに限らず双方から同時に鍵交換が発生した場合全てにおいて適用できる、もしくは確実に一方の鍵交換のみを成功させるという特徴を持った、冗長なSAが存在する状態の発生、冗長なリキーの発生、暗号通信の断絶を防ぐ鍵交換装置、鍵交換方法および、暗号通信システムを提供することを目的とする。
前記従来の課題を解決するために、本発明における鍵交換装置は以下のような特徴を持っている。
第1の発明は第1の鍵交換装置と第2の鍵交換装置の間において、暗号通信を行うための共通鍵を共有するための鍵交換を行うシステムにおいて用いられる前記第1の鍵交換装置であって、前記第2の鍵交換装置との間で行われる鍵交換を制御する鍵交換制御部と、進行中の各鍵交換の状態を管理する鍵交換状態管理部と、同時鍵交換判定部を具備し、前記同時鍵交換判定部が、前記鍵交換状態管理部が管理する鍵交換状態情報に基づいて、前記第1の鍵交換装置から開始した鍵交換と前記第2の鍵交換装置から開始した鍵交換が同時に進行しているかどうかを判定し、同時に鍵交換が進行している場合は、前記第1の鍵交換装置に対応する第1の値と前記第2の鍵交換装置に対応する第2の値を所定の方法で比較し、前記所定の比較方法による比較結果にもとづいて前記第1の鍵交換装置の役割がマスタであるかスレーブであるかを決定し、決定された前記役割がスレーブであった場合には、前記第1の鍵交換装置から開始した鍵交換、もしくは前記第2の鍵交換装置から開始した鍵交換のどちらか一方のみを中断するように鍵交換制御部に指示し、前記鍵交換制御部は指示された鍵交換を中断することを特徴とする。
前記第1の発明によれば、第2の鍵交換装置も前記第1の発明に記載の鍵交換装置である場合には、双方から同時に鍵交換が開始されても、一方の鍵交換のみを完了させることができる。また、発生する同時鍵交換はリキーである必要はなく、任意の鍵交換に適用できる。
第2の発明は第1の発明において、前記第1の値、前記第2の値が、それぞれ、前記第1の鍵交換装置、前記第2の鍵交換装置から開始されたもしくは、それぞれ前記第2の鍵交換装置、前記第1の鍵交換装置から開始された鍵交換における、特定のメッセージの特定のフィールドの値であることを特徴とする。
前記第2の発明によれば、第1の発明の効果に加え、既存の鍵交換プロトコルに利用されるメッセージフォーマットを拡張する必要がなく、実装が容易となる。
第3の発明は第1の発明において、前記第1の値、前記第2の値が、それぞれ、前記第1の鍵交換装置、前記第2の鍵交換装置に固有もしくは、それぞれが持つ値で双方の装置において重複しないことが保証されている値であることを特徴とする。
前記第3の発明によれば、対向鍵交換装置が前記第3の発明を実装している場合には、双方から同時に鍵交換が開始されても、一方の鍵交換のみを確実に完了させることができる。
第4の発明は第1の発明において、前記鍵交換制御部が、送信する鍵交換メッセージに第1の発明に記載の同時鍵交換判定部を有することを示す情報を含ませ、前記同時鍵交換判定部が、受信する鍵交換メッセージに、前記第2の鍵交換装置が第1の発明に記載の処理を行うことを示す情報が含まれているかどうかを認識し、その情報を利用して鍵交換を中断するように鍵交換制御部に指示するかを決定することを特徴とする。
前記第4の発明によれば、対向鍵交換装置が前記第1の発明における処理を行うかどうかにより、その後の処理を変化させることができる。
第5の発明は第4の発明において、前記第1の鍵交換装置から開始した鍵交換と前記第2の鍵交換装置から開始した鍵交換が同時に進行していた場合で、前記同時鍵交換判定部が、かつ受信した鍵交換メッセージに前記第2の鍵交換装置が第1の発明に記載の同時鍵交換判定部を有することを示す情報が含まれていないことを認識した場合には、前記第1の鍵交換装置から開始した鍵交換、もしくは前記第2の鍵交換装置から開始した鍵交換のどちらか一方のみを中断するように前記鍵交換制御部に指示し、前記鍵交換制御部は指示された鍵交換を中断することを特徴とする。
前記第5の発明によれば、第1の発明の効果に加え、対向鍵交換装置が前記第1の発明における処理を行わない場合にも、確実に鍵交換を中断することができる。
第6の発明は第4の発明において、前記鍵交換装置が鍵交換をIKEのRFCに基づいて行い、前記第1の発明に記載の同時鍵交換判定部を有することを示す情報がVenderIDペイロードに含まれる所定の値であることを特徴とする。
前記第6の発明によれば、第4の発明の効果に加え、既存のIKEとの互換性を失うことなく適用できる。
第7の発明は第1の発明において、さらに、前記同時鍵交換判定部が、前記同時鍵交換判定部により中断すると判定された鍵交換を再開するよう鍵交換制御部に指示し、前記鍵交換制御部は指示された鍵交換を再開することを特徴とする。
前記第7の発明によれば、第1の発明の効果に加え、継続させた方の鍵交換が何らかの理由で失敗した場合でも、他方の鍵交換を成功させ、暗号通信を行うことができる。
第8の発明は第1の発明において、さらに、前記同時鍵交換判定部により第2の鍵交換装置との間の鍵交換を中断すると判定された後、第2の鍵交換装置との間の鍵交換を最初からやり直すよう鍵交換制御部に指示し、前記鍵交換制御部は指示された鍵交換をやり直すことを特徴とする。
前記第8の発明によれば、第1の発明の効果に加え、継続させた方の鍵交換が何らかの理由で失敗し、かつ中断した方の鍵交換を再開してもその鍵交換を完了できない状態であっても、暗号通信を行うことができる。
第9の発明は第1の鍵交換装置と第2の鍵交換装置の間において、暗号通信を行うための共通鍵を共有するための鍵交換を行うシステムにおいて用いられる前記第1の鍵交換装置であって、前記第2の鍵交換装置と間で行われる鍵交換を制御する鍵交換制御部と、進行中の各鍵交換の状態を管理する鍵交換状態管理部と、同時鍵交換判定部を具備し、前記同時鍵交換判定部が、前記鍵交換状態管理部が管理する鍵交換状態情報に基づいて、前記第1の鍵交換装置から開始した鍵交換と前記第2の鍵交換装置から開始した鍵交換が同時に進行しているかどうかを判定し、同時に鍵交換が進行している場合は、前記第1の鍵交換装置からの鍵交換もしくは前記第2の鍵交換装置からの鍵交換の少なくとも一方を中断するように前記鍵交換制御部に指示し、前記鍵交換制御部は指示された鍵交換を中断することを特徴とする。
前記第9の発明によれば、同時に進行している鍵交換の両方が成功し、冗長なSAが存在する状態になることを防ぐことができる。
第10の発明は第9の発明において、前記同時鍵交換判定部により中断すると判定された鍵交換の中断後に第1の時間経過後も中断されなかった鍵交換が完了しない場合には、前記同時鍵交換判定部がそれを検知し、中断していた鍵交換の少なくともひとつを再開するように前記鍵交換制御部に指示し、前記鍵交換制御部は指示された鍵交換を再開することを特徴とする。
前記第10の発明によれば、第9の発明の効果に加え、鍵交換の中断により本来必要であるSAまで確立されないことを防ぐことができる。
第11の発明は第9の発明において、前記同時鍵交換判定部により中断すると判定された鍵交換の中断後に第1の時間経過後も中断されなかった鍵交換が完了しない場合には、前記同時鍵交換判定部がそれを検知し、前記第2の鍵交換装置との間の鍵交換を最初からやり直すように前記鍵交換制御部に指示し、前記鍵交換制御部は指示された鍵交換をやり直すことを特徴とする。
前記第11の発明によれば、第9の発明の効果に加え、鍵交換の中断により本来必要であるSAまで確立されなくなり、かつ中断していた鍵交換を再開してもSAが確立不可能な状況においても、本来必要なSAを確立することができる。
第12の発明は第10の発明、第11の発明において、前記第1の時間がランダムな時間であることことを特徴とする。
前記第12の発明によれば、第10の発明、第11の発明の効果に加え、双方の装置が同時に鍵交換の再開、もしくはやり直しを行い、再び同時に鍵交換を行うことを高い確率で防ぐことができる。
第13の発明は第12の発明において、前記第1の時間が第1の所定の値以下の範囲内でランダムな時間であることことを特徴とする。
前記第13の発明によれば、第12の発明の効果に加え、双方の装置が同時に鍵交換の再開、もしくはやり直しをより早く行うことができる。
第14の発明は第10の発明、第11の発明において、前記第1の鍵交換装置における前記第1の時間と、前記第2の鍵交換装置における前記第1の時間が予めそれぞれ異なるように与えられた値であることを特徴とする。
前記第14の発明によれば、第10の発明、第11の発明の効果に加え、双方の装置が同時に鍵交換の再開、もしくはやり直しを行い、再び同時に鍵交換を行うことを確実に防ぐことができる。
第15の発明は第10の発明、第11の発明において、前記第1の鍵交換装置に対応する第1の値と前記第2の鍵交換装置に対応する第2の値を所定の方法で比較し、前記所定の比較方法による比較結果にもとづいて前記第1の鍵交換装置の役割がマスタであるかスレーブであるかを決定し、決定された前記役割がマスタであった場合には、予め前記鍵交換装置に与えられた第3の値を前記第1の値として用い、決定された前記役割がスレーブであった場合には、予め前記鍵交換装置に与えられた第4の値を前記第1の値として用いることを特徴とする。
前記第15の発明によれば、第10の発明、第11の発明の効果に加え、双方の装置が同時に鍵交換の再開、もしくはやり直しを行い、再び同時に鍵交換を行うことを確実に防ぐことができる。
第16の発明は第11の発明において、鍵交換をやり直す際に、前記同時鍵交換判定部が、前記第2の鍵交換装置からの鍵交換が進行しているかどうかを判定し、進行していた場合、新たに鍵交換を開始せず、その後、前記第2の時間経過後も鍵交換が完了しない場合には、前記同時鍵交換判定部がそれを検知し、前記第2の鍵交換装置との間の鍵交換を最初からやり直すように前記鍵交換制御部に指示し、前記鍵交換制御部は指示された鍵交換をやり直すことを特徴とする。
前記第16の発明によれば、第11の発明の効果に加え、双方の装置が同時に鍵交換の再開、もしくはやり直しを行った場合に同時鍵交換が発生した場合でも、冗長なSAが存在する状態となることを防ぐことができる。
第17の発明は第16の発明において、前記第2の時間が前記第1の時間よりも長いことを特徴とする。
前記第17の発明によれば、第16の発明の効果に加え、鍵交換の再開、もしくはやり直し時に双方から同時に鍵交換を開始する確率を低くすることができる。
第18の発明は第16の発明において、前記第1の時間が第1の所定の値以下の範囲内でランダムであり、前記第2の時間が第2の所定の値以下の範囲内でランダムであることを特徴とする。
前記第18の発明によれば、第16の発明の効果に加え、双方の装置が同時に鍵交換の再開、もしくはやり直しを行い、再び同時に鍵交換を行うことを高い確率で防ぐことができ、さらにそこで同時鍵交換が発生した場合でも、その次に、鍵交換の再開、もしくはやり直しを行ったときにも、再び同時に鍵交換を行うことを高い確率で防ぐことができる。
第19の発明は第18の発明において、前記第2の所定の値が前記第1の所定の値よりも大きいことを特徴とする。
前記第19の発明によれば、第18の発明の効果に加え、双方の装置が同時に鍵交換の再開、もしくはやり直しを行い、再び同時に鍵交換を行うことを高い確率で防ぐことができ、さらにそこで同時鍵交換が発生した場合でも、その次に、鍵交換の再開、もしくはやり直しを行ったときにも、再び同時に鍵交換を行うことをさらに高い確率で防ぐことができる。
第20の発明は鍵交換装置であって、鍵交換を行う際にリキーの開始タイミングの折衝を行うことを特徴とする。
前記第20の発明によれば、リキー時に双方から同時に鍵交換を行うことを確実に防ぐことができる。
第21の発明は鍵交換装置により構成されるシステムであって、各前記処理装置ごとに異なる値があらかじめ割り振られており、鍵交換装置からのリキータイミングを鍵交換装置に割り振られた値から決定することを特徴とする。
前記第21の発明によれば、リキー時に双方から同時に鍵交換を行うことを確実に防ぐことができる。
第22の発明は、第1の鍵交換装置と第2の鍵交換装置の間において、暗号通信を行うための共通鍵を共有するための鍵交換を行うシステムにおいて用いられる鍵交換方法であって、上記第1から第20の発明の鍵交換装置を用いて行うことを特徴とする。
前記第22の発明によれば、双方から同時に鍵交換が開始されても、一方の鍵交換のみを完了させることができる。もしくは、双方から同に鍵交換を開始することを防ぐ、もしくはその確率を低下させることができる。
第23の発明は、第1の鍵交換装置と第2の鍵交換装置の間において、暗号通信を行うための共通鍵を共有するための鍵交換を行う暗号通信システムであって、第22の発明に記載の鍵交換方法を用いることを特徴とする。
前記第23の発明によれば、双方から同時に鍵交換が開始されても、一方の鍵交換のみを完了させることができる。もしくは、双方から同に鍵交換を開始することを防ぐ、もしくはその確率を低下させることができる。
本発明の鍵交換装置、鍵交換方法、および暗号通信システムによれば、同時に鍵交換が発生した場合に、一方の鍵交換のみを中断させることができ、冗長なSAが存在する状態になることによるメモリ資源の浪費、冗長な鍵交換によるCPU資源の浪費、双方で最新のSAが異なることによる暗号通信の断絶を防ぐことができる。また、ここでの同時鍵交換はリキー時のものに限る必要はない。
以下本発明の実施の形態について、図面を参照しながら説明する。
〔本発明における鍵交換装置の適用環境〕
図2は、本発明の一実施の形態に係る鍵交換装置が適用されるネットワークの構成例を示すブロック図である。図2において第1の鍵交換装置(201)はIKE処理部(101)、およびIPsec処理部(204)を有しており、本発明の一実施の形態に係る鍵交換装置である。また第2の鍵交換装置(203)もIKE処理部(205)を有しているが、本発明の一実施の形態に係る鍵交換装置であってもよいし、そうでなくてもよい。また、第2の鍵交換装置(203)もIPsec処理部(206)を有している。第1の鍵交換装置(201)はネットワーク(202)を介して第2の鍵交換装置(203)に接続されており、第1の鍵交換装置(201)上のIKE処理部(101)と第2の鍵交換装置(203)上のIKE処理部(205)の間で鍵交換を行い、SAを確立する。確立されたSAを利用して、第1の鍵交換装置(201)と第2の鍵交換装置(203)はネットワーク(202)を介して暗号通信を行う。なお、暗号化する通信データを、第1の鍵交換装置(201)、第2の鍵交換装置(203)が直接確立するような形態でもよいし、他の装置が生成した通信データを第1の鍵交換装置(201)、第2の鍵交換装置(203)が暗号化し転送を行うような形態でもよい。
(実施の形態1)
〔IKE処理部(101)の構成〕
図1は本発明の一実施の形態に係る鍵交換装置におけるIKE処理部(101)の構成図である。IKE処理部(101)は、要求受付部(102)、鍵交換制御部(103)、SA管理部(104)、メッセージ処理部(105)、鍵交換状態管理部(106)、同時鍵交換判定部(107)から構成される。
SA管理部(104)は確立済みのSAを管理する機能部である。
メッセージ処理部(105)は鍵交換メッセージの生成、送信、受信、解析を行う機能部である。
鍵交換状態管理部(106)は進行中の鍵交換の状態を保持する機能部である。
要求受付部(102)はリキー以外のイニシエータとしての鍵交換の開始要求を受付、鍵交換の開始を鍵交換制御部(103)に指示する機能部である。
同時鍵交換判定部(107)は、鍵交換制御部(103)から同時鍵交換判定の依頼を受けた場合に、同時鍵交換発生の有無の判定、およびそれにもとづく鍵交換の中断、再開、やり直しを鍵交換制御部(103)に指示する機能部である。
鍵交換管理部は鍵交換管理部の保持する鍵交換の状態を参照し、SA管理部(104)、メッセージ処理部(105)、要求受付部(102)、同時鍵交換判定部(107)と連携しながら、鍵交換開始からSA確立、もしくは鍵交換中断までの一連の処理制御を行う機能部である。
〔SA確立時の動作概要〕
まず、鍵交換開始からSA確立までのIKE処理部(101)の動作について説明する。要求受付部(102)はアプリケーションからのSA確立要求があった場合や、暗号通信を必要とする通信データを送信されたことを検出した場合などに、鍵交換制御部(103)にイニシエータとしての鍵交換開始を指示する。また、メッセージ処理部(105)は鍵交換制御部(103)の指示に従い、鍵交換メッセージの生成、送信を行ったり、受信した鍵交換メッセージの解析などを行ったりする。たとえば、受信した鍵交換メッセージが第2の鍵交換装置(203)から開始された最初の鍵交換メッセージであった場合にはレスポンダとして鍵交換を行う必要があることを鍵交換制御部(103)に通知する。なお、ここであげた鍵交換の開始方法は一例であり、これに限るものではない。次に、鍵交換を開始する際にはイニシエータであるか、レスポンダであるかにかかわらず、鍵交換制御部(103)は、鍵交換状態管理部(106)に、開始された鍵交換に関するエントリを登録する。このエントリには、イニシエータかレスポンダか、どの第2の鍵交換装置(203)との鍵交換か、鍵交換はどこまで進行しているか、などの情報を含んでいる。さらに、レスポンダとしてのエントリには、第2の鍵交換装置(203)の鍵交換メッセージ内に本発明の機能を有していることを示すVenderIDペイロードが含まれていたかどうかを示す情報を持つ。なお、このエントリは鍵交換に関するその他の情報も含んでもよく、前述したものに限るものではない。次に鍵交換制御部(103)は同時鍵交換判定部(107)に同時鍵交換が発生しているかどうかの判定を指示する。
図5はこのときの同時鍵交換判定部(107)の処理フローである。まず、同時鍵交換判定部(107)は鍵交換状態管理部(106)に登録されている鍵交換状態情報を検索し、第2の鍵交換装置(203)に対してイニシエータとして行っている鍵交換の状態情報と、レスポンダとして行っている鍵交換の状態情報との両方が存在するかどうかをチェック(S501)し同時鍵交換の有無を判定する(S502)。なおこの判定は開始された鍵交換の第2の鍵交換装置(203)の鍵交換状態情報のみを対象に限定してもよい。判定により同時鍵交換がないことが分かると、同時鍵交換判定部(107)は何もしない、すなわち両方の鍵交換を継続する。
同時鍵交換は発生していた場合の処理(S503−S508)は後述し、以下では同時鍵交換が発生していなかった場合の以降の処理について述べる。
次に、鍵交換制御部(103)は第2の鍵交換装置(203)への鍵交換メッセージの確立と送信をメッセージ処理部(105)に指示し、メッセージ処理部(105)が鍵交換メッセージの確立と送信を行う。その後、鍵交換制御部(103)が、メッセージ処理部(105)が受けた受信メッセージにもとづいて鍵交換状態管理部(106)が持つ鍵交換状態を変化させ、メッセージ送信部に鍵交換メッセージの送信を指示するといった処理を繰り返す。最後に、鍵交換が完了すると、鍵交換制御部(103)は完了した鍵交換に対するエントリを削除し、確立したSAをSA管理部(104)に登録する。以上が、鍵交換開始からSA確立までの一連の処理である。
〔同時鍵交換発生時の動作概要〕
ここでは、前述のSA確立時の動作において、同時鍵交換を検出した場合の動作、すなわち図5の(S503−S508)について述べる。
同時鍵交換判定部(107)は、同時鍵交換が有ると判定すると、レスポンダとしての鍵交換状態をチェックする。レスポンダとしてのエントリには、第2の鍵交換装置(203)の鍵交換メッセージ内に本発明の機能を有していることを示すVenderIDペイロードが含まれていたかどうかを示す情報を持っているため、第2の鍵交換装置(203)が本発明の機能を有しているかの情報が入っているためどうかを判定できる(S503)。まず、第2の鍵交換装置(203)が本発明の機能を有していない場合は、イニシエータとしてもしくはレスポンダとしてのどちらか一方の鍵交換を中断するよう、鍵交換制御部(103)に指示する(S506)。第2の鍵交換装置(203)が本発明の機能を有している場合は、第1の鍵交換装置(201)のIPアドレスと第2の鍵交換装置(203)のIPアドレスを比較し、第1の鍵交換装置(201)のIPアドレスのほうが小さい場合は、第1の鍵交換装置をスレーブとし、大きい場合は第1の鍵交換装置をマスタと決定する(S504)。なお、ここではIPアドレスを比較する場合について述べたが、この値は鍵交換メッセージ中の特定のフィールドの値であってもよいし、あらかじめ各装置に定められた値であってもよい。また、前記鍵交換メッセージ中の特定のフィールドは、IKEで定められたメッセージのフィールドであってもよいし、新たに定義したフィールドであってもよいし、メッセージ全体をビット列とみなしたときの指定された範囲であってもよく、ここに述べたものに限る必要はない。また比較方法も、大小を直接比較する方法にかぎらず、これらの値から真か偽かの2値を一意に導けるものであれば何でもよい。次に、比較の結果、第1の鍵交換装置がスレーブであると判定された場合にはイニシエータとしてもしくはレスポンダとしてのどちらか一方の鍵交換を中断するよう鍵交換制御部(103)に指示する(S506)。このとき、イニシエータとしてもしくはレスポンダとしてのどちらの鍵交換を中断するかは、予め決められており、第2の鍵交換装置(203)と同じになっていればどちらでもよい。また、同時鍵交換がリキーであった場合は、どちらを中断するかを、リキーを発生させるもととなったSAの確立時の鍵交換において決定してもよい。前記第1の鍵交換装置がマスタであると判定された場合には、第2の鍵交換装置(203)がスレーブとなり、どちらか一方の鍵交換を中断していると考えられるため、鍵交換制御部(103)には何も指示せず、両方の鍵交換を継続する。なお、第2の鍵交換装置(203)が中断すると考えられる方の鍵交換を中断するよう、鍵交換制御部(103)に指示してもよい。
なお、どちらか一方の鍵交換を中断させた場合(S506)、何らかの原因で継続させた側の鍵交換が失敗すると暗号通信を行うために必要なSAすら確立されない可能性がある。このような場合に対する対処として、以下のような処理を行ってもよい(S507、S508)。
まず、あるタイミングで、継続させた側の鍵交換が成功したかどうかを判定する(S507)。なお、この判定タイミングは鍵交換の成功、失敗が確定した後でもよいし、それ以前の一定時間経過後でもよい。鍵交換が失敗したと判定された場合には、鍵交換制御部(103)にイニシエータとしてさらに鍵交換を開始させる(S508)。このとき、新しい鍵交換を開始するのではなく、S506において中断させた鍵交換を再開するようにしてもよい。また、鍵交換再開後に、やはり再開した鍵交換が失敗したと判定された場合には、鍵交換制御部(103)にイニシエータとして新たな鍵交換を開始するようにしてもよい。
〔同時鍵交換発生時の第1の鍵交換装置(201)と第2の鍵交換装置(203)での動作〕
図6に、本発明に係る2つの装置が暗号通信を行う際に、双方から同時に鍵交換を開始した場合の動作例について説明する。図6ではIPアドレスが161.33.1.15である第1の鍵交換装置(201)と、IPアドレスが202.57.3.220である第2の鍵交換装置(203)とが暗号通信を行う。
まず、第1の鍵交換装置(201)から鍵交換1を、第2の鍵交換装置(203)から鍵交換2をほぼ同じタイミングで開始したとする(S601、S611)。その後、第1の鍵交換装置(201)は第2の鍵交換装置(203)からのメッセージを受信した時点で、また第2の鍵交換装置(203)は第1の鍵交換装置(201)からのメッセージを受信した時点で、ともにイニシエータとして、レスポンダとしての両方の鍵交換を行っている状態となり、同時鍵交換を検出する(S602,S612)。鍵交換を検出すると、第1の鍵交換装置(201)、第2の鍵交換装置(203)はそれぞれ第1の鍵交換装置のIPアドレスと第2の鍵交換装置(203)のIPアドレスを比較する。このとき、第2の鍵交換装置(203)のIPアドレスの方が第1の鍵交換装置(201)のIPアドレスよりも大きいため、第2の鍵交換装置(203)がマスタとなり(S613)、第1の鍵交換装置(201)がスレーブとなる(S603)。
マスタとなった第2の鍵交換装置(203)は両方のネゴシエーションを継続するが、スレーブとなった第1の鍵交換装置(201)は第1の鍵交換装置がイニシエータとなっている鍵交換1のみを中断し(すなわち鍵交換2に関するメッセージを受信しても、対抗装置に対して応答しない)(S604)、もう一方の鍵交換2は継続させる。
その結果、鍵交換1のみが中断され鍵交換2は最後まで完了する(S621)。
以上のように、第1の鍵交換装置(201)を用いれば、同時鍵交換が発生した場合に、そのことを検知し、一方の鍵交換のみを成功させることにより、冗長なSAが存在する状態の発生、冗長な鍵交換、SA不一致による暗号通信の断絶を防ぐことができる。
(実施の形態2)
実施の形態2では、実施の形態1と異なり、同時鍵交換の有無の判定後、マスタ、スレーブを決定せず、第1の鍵交換装置が、少なくともひとつの鍵交換を必ず中断することにより冗長なSAが存在する状態になることを防ぐ。
〔IKE処理部(101)の構成とSA確立時の動作概要〕は前記実施の形態1と同様であるためここでは省略する。
〔同時鍵交換発生時の動作概要〕
ここでは、本発明の一実施の形態に係るSA確立時の動作において、同時鍵交換を検出した場合の動作について述べる。まず、同時鍵交換の発生の有無の判定方法は実施の形態1と同様であるため、ここでは省略する。
同時鍵交換が有ると判定された場合は、第1の鍵交換装置がイニシエータとして開始した鍵交換を中断する。なお、第1の鍵交換装置がレスポンダとして行っている鍵交換を中断してもよいし、両方の鍵交換を中断してもよい。中断後一定の範囲内でのランダムな時間経過後になっても、継続させた鍵交換が成功しない場合には、イニシエータとして新たに鍵交換を開始する。このとき、新しい鍵交換を開始するのではなく、中断した鍵交換を再開するようにしてもよい。
ここでいうランダムは、所定の値以下の範囲でのランダムであってもよいし、それ以外であってもよい。
また、鍵交換再開後に、やはり再開した鍵交換が失敗したと判定された場合には、イニシエータとして新たな鍵交換を開始するようにしてもよい。また、待ち時間はランダムではなく、第2の鍵交換装置(203)と値が異なるように予め定められた値であってもよいし、実施の形態1におけるS504と同様の方法によって定められる役割によって予め与えられた複数の値から選択してもよい。ただし、ランダムな時間経過後に鍵交換を再開、もしくは新たに開始した時点で、さらに同時鍵交換が有ると判定された場合は、再びランダム時間待つようにしてもよい。なお、再び待つ際のランダム時間の範囲は、前回の待ち時間と同じでもよいし、一定値ずつ増加するものでもよいし、一定の比率ずつ増加するものでもよく、またこれらに限る必要はない。また、この処理は2回に限らず複数回繰り返し適用してもよく、いわゆるExponential Back−Offアルゴリズムのように制御してもよい。
以上のように、第1の鍵交換装置(201)を用いれば、同時鍵交換が発生した場合に、そのことを検知し、鍵交換を中断した後、時間をおいて中断した鍵交換の再開する、もしくは新たな鍵交換をやり直すことにより、冗長なSAの存在する状態の発生、冗長な鍵交換、SA不一致による暗号通信の断絶を防ぐことができる。
(実施の形態3)
実施の形態3では、実施の形態1、実施の形態2と異なり、同時鍵交換の有無の判定を行わず、リキーの開始タイミングを制御することにより冗長な鍵交換の発生を防ぐ。
〔IKE処理部(101)の構成〕
図8は本発明の一実施の形態に係る鍵交換装置におけるIKE処理部(101)の構成図である。IKE処理部(101)は、要求受付部(102)、鍵交換制御部(103)、SA管理部(104)、メッセージ処理部(105)、鍵交換状態管理部(106)、リキー開始タイミング決定部(801)から構成される。
図8の構成は、同時鍵交換判定部(107)がなく、リキー開始タイミング決定部(801)存在する点で図1の構成と異なる。上記以外の機能部に関しては図1と同様である。
リキー開始タイミング決定部(801)は、鍵交換制御部(103)、SA管理部(104)と連携し、鍵交換制御部(103)により確立されたSAに対するリキーの開始タイミングを決定する機能部である。
〔SA確立時の動作概要〕
SA確立時の動作概要のうち、多くの部分は実施の形態1の場合と同様であるので、ここでは異なる部分についてのみ説明する。
まず、同時鍵交換判定部(107)および同機能部に関わる処理はここでは必要ない。
実施の形態3では、リキー開始タイミング決定部(801)が、鍵交換制御部(103)に対して、以下の処理を行うように指示する。すなわち、鍵交換のメッセージの中のいずれかのやりとりにおいて、一方からリキーの開始タイミングを決定するための値をひとつもしくは複数提案し、他方がその値をひとつであれば受諾、複数であれば一つを選択することによりリキーの開始タイミングを決定するように指示する。このとき、一方が双方におけるリキーの開始タイミングを提案してもよいし、それぞれが一方のリキーの開始タイミングのみを提案してもよい。なお、一方から提案する場合は、双方のリキーの開始タイミングとして提案する値が異なるようにする、もしくは他方が双方のリキーの開始タイミングが異なるように選択する必要がある。また、それぞれがリキーの開始タイミングを提案する場合は、後に提案する側がすでに選択したリキーの開始タイミングの値と、異なる値を提案するか、後で受諾する側がすでに選択されたリキーの開始タイミングの値と異なる値を選択する必要がある。
鍵交換制御部(103)は、前記指示に従いリキーの開始タイミングを決定すると、そのタイミングをリキー開始タイミング決定部(801)に通知し、リキー開始タイミング決定部(801)は、SA管理部(104)に登録されたSAにリキーの開始タイミングを設定する。
鍵交換制御部(103)は、SA管理部(104)に設定されたリキーの開始タイミングになると、リキーを開始する。もちろん、リキーの開始タイミングの遅い側は、第2の鍵交換装置(203)からのリキーが先に成功していればリキーの開始タイミングになったとしても改めてリキーを行う必要はない。
以上のように、第1の鍵交換装置(201)を用いれば、リキーの開始タイミングを折衝することにより、リキー時の双方から同時に鍵交換が開始することを防ぐことができ、冗長なSAの存在する状態の発生、冗長な鍵交換、SA不一致による暗号通信の断絶を防ぐことができる。
(実施の形態4)
実施の形態3では、実施の形態1、実施の形態2と異なり、同時鍵交換の有無の判定を行わず、リキーの開始タイミングを制御することにより冗長な鍵交換の発生を防ぐ。また、実施の形態3と異なり、リキーの開始タイミングが鍵交換開始前に定まっているため、リキーの開始タイミングを折衝する必要がない。
〔IKE処理部(101)の構成〕
実施の形態4におけるIKE処理部(101)の構成は、実施の形態3と同じく、図8であるため、ここでは説明を省略する。
〔SA確立時の動作概要〕
IKE処理部(101)の構成とSA確立時の動作概要のうち、多くの部分は実施の形態3の場合と同様であるので、ここでは異なる部分についてのみ説明する。
実施の形態4では、双方の機器におけるリキー開始タイミング決定部(801)があらかじめリキーの開始タイミングに関わる値を保持しており、これらの値は双方において異なる値に設定されている。なお、異なる値の設定はどのような方法で行ってもよく、例えば管理者が行ってもよいし、異なる値を設定するためのなんらかのプロトコルを動作させてもよい。前記値は、リキーの開始タイミングがライフタイムの一定時間前であることを表す値でもよいし、ライフタイムに一定比率を乗じることを表す値であってもよいし、またこれに限るものでもない。
次に、鍵交換制御部(103)は通常の鍵交換を行い確立したSAをSA管理部(104)に登録する。その後、リキー開始タイミング決定部(801)はSA管理部(104)に登録されたSAに、予め設定されたリキーの開始タイミングにかかわる値を用いて決定されたリキーの開始タイミングに設定する。
鍵交換制御部(103)は、SA管理部(104)に設定されたリキーの開始タイミングになると、リキーを開始する。もちろん、リキーの開始タイミングの遅い側は、第2の鍵交換装置(203)からのリキーが先に成功していればリキーの開始タイミングになったとしても改めてリキーを行う必要はない。
以上のように、第1の鍵交換装置(201)および第2の鍵交換装置を用いれば、双方の鍵交換装置からリキーの開始タイミングを異ならせることができ、冗長なSAが存在する状態の発生、冗長な鍵交換、SA不一致による暗号通信の断絶を防ぐことができる。
なお、上記した各実施の形態は、記憶装置(ROM、RAM、ハードディスク等)に格納された上述した処理手順を実行可能な所定のプログラムデータが、CPUによって解釈実行されることで実現される。この場合、プログラムデータは、記録媒体を介して記憶装置内に導入されてもよいし、記録媒体上から直接実行されてもよい。なお、記録媒体は、ROM、RAM、フラッシュメモリ等の半導体メモリ、フレキシブルディスクやハードディスク等の磁気ディスクメモリ、CD−ROMやDVD、BD等の光ディスク、メモリカード等の記録媒体をいう。また、記録媒体は、電話回線や搬送路等の通信媒体も含む概念である。
また、上記した各実施の形態の各鍵交換装置あるいは各機能部は典型的には集積回路であるLSIとして実現することができる。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
本発明にかかる鍵交換方法、およびその装置は、ネット家電などメモリ資源、CPU資源の限られた機器において、IKEを利用する場合に適用できる。また、メモリ資源の限られたIPsecハードウェアを持つ機器において、IKEを利用する場合に適用できる。
本発明の実施の形態1および実施の形態2におけるIKE処理部のブロック図 本発明の全ての実施の形態における鍵交換装置を適用するネットワークの構成図 IKEの鍵交換のメッセージシーケンスを示す図 本発明を適用しない場合の同時鍵交換発生時のメッセージシーケンスを示す図 本発明の実施の形態1に関わる鍵交換のフローチャート 本発明の実施の形態1の鍵交換装置を第1の鍵交換装置、第2の鍵交換装置の両方に適用したシステムにおける同時鍵交換発生時のメッセージシーケンスを示す図 従来技術であるFreeS/WAN2.02における鍵交換方法のメッセージシーケンスを示す図 本発明の実施の形態3および実施の形態4におけるIKE処理部のブロック図
符号の説明
101 IKE処理部
102 要求受付部
103 鍵交換制御部
104 SA管理部
105 メッセージ処理部
106 鍵交換状態管理部
107 同時鍵交換判定部
201 第1の鍵交換装置
202 ネットワーク
203 第2の鍵交換装置
204 第1の鍵交換装置のIPsec処理部
205 第2の鍵交換装置のIKE処理部
206 第2の鍵交換装置のIPsec処理部

Claims (25)

  1. 第1の鍵交換装置と第2の鍵交換装置の間において、暗号通信を行うための共通鍵を共有するための鍵交換を行うシステムにおいて用いられる前記第1の鍵交換装置であって、
    前記第2の鍵交換装置との間で行われる鍵交換を制御する鍵交換制御部と、
    進行中の各鍵交換の状態を管理する鍵交換状態管理部と、
    同時鍵交換判定部を具備し、
    前記同時鍵交換判定部が、前記鍵交換状態管理部が管理する鍵交換状態情報に基づいて、前記第1の鍵交換装置から開始した鍵交換と前記第2の鍵交換装置から開始した鍵交換が同時に進行しているかどうかを判定し、
    同時に鍵交換が進行している場合は、前記第1の鍵交換装置に対応する第1の値と前記第2の鍵交換装置に対応する第2の値を所定の方法で比較し、
    前記所定の比較方法による比較結果にもとづいて前記第1の鍵交換装置の役割がマスタであるかスレーブであるかを決定し、
    決定された前記役割がスレーブであった場合には、前記第1の鍵交換装置から開始した鍵交換、もしくは前記第2の鍵交換装置から開始した鍵交換のどちらか一方のみを中断するように鍵交換制御部に指示し、
    前記鍵交換制御部は指示された鍵交換を中断することを特徴とする鍵交換装置。
  2. 前記第1の値、前記第2の値が、それぞれ、前記第1の鍵交換装置、前記第2の鍵交換装置から開始されたもしくは、それぞれ前記第2の鍵交換装置、前記第1の鍵交換装置から開始された鍵交換における、特定のメッセージの特定のフィールドの値であることを特徴とする請求項1記載の鍵交換装置。
  3. 前記第1の値、前記第2の値が、それぞれ、前記第1の鍵交換装置、前記第2の鍵交換装置に固有もしくは、それぞれが持つ値で双方の装置において重複しないことが保証されている値であることを特徴とする請求項1記載の鍵交換装置。
  4. 前記鍵交換制御部が、送信する鍵交換メッセージに請求項1に記載の同時鍵交換判定部を有することを示す情報を含ませ、
    前記同時鍵交換判定部が、受信する鍵交換メッセージに、前記第2の鍵交換装置が請求項1に記載の処理を行うことを示す情報が含まれているかどうかを認識し、その情報を利用して鍵交換を中断するように鍵交換制御部に指示するかを決定することを特徴とする請求項1に記載の鍵交換装置。
  5. 前記第1の鍵交換装置から開始した鍵交換と前記第2の鍵交換装置から開始した鍵交換が同時に進行していた場合で、前記同時鍵交換判定部が、かつ受信した鍵交換メッセージに前記第2の鍵交換装置が請求項1に記載の同時鍵交換判定部を有することを示す情報が含まれていないことを認識した場合には、前記第1の鍵交換装置から開始した鍵交換、もしくは前記第2の鍵交換装置から開始した鍵交換のどちらか一方のみを中断するように前記鍵交換制御部に指示し、
    前記鍵交換制御部は指示された鍵交換を中断することを特徴とする請求項1に記載の鍵交換装置。
  6. 前記鍵交換装置が鍵交換をIKEのRFCに基づいて行い、
    前記請求項1に記載の同時鍵交換判定部を有することを示す情報がVenderIDペイロードに含まれる所定の値であることを特徴とする請求項4に記載の鍵交換装置。
  7. さらに、前記同時鍵交換判定部が、前記同時鍵交換判定部により中断すると判定された鍵交換を再開するよう鍵交換制御部に指示し、
    前記鍵交換制御部は指示された鍵交換を再開することを特徴とする請求項1に記載の鍵交換装置。
  8. さらに、前記同時鍵交換判定部により第2の鍵交換装置との間の鍵交換を中断すると判定された後、第2の鍵交換装置との間の鍵交換を最初からやり直すよう鍵交換制御部に指示し、
    前記鍵交換制御部は指示された鍵交換をやり直すことを特徴とする請求項1に記載の鍵交換装置。
  9. 第1の鍵交換装置と第2の鍵交換装置の間において、暗号通信を行うための共通鍵を共有するための鍵交換を行うシステムにおいて用いられる前記第1の鍵交換装置であって、
    前記第2の鍵交換装置と間で行われる鍵交換を制御する鍵交換制御部と、
    進行中の各鍵交換の状態を管理する鍵交換状態管理部と、
    同時鍵交換判定部を具備し、
    前記同時鍵交換判定部が、前記鍵交換状態管理部が管理する鍵交換状態情報に基づいて、前記第1の鍵交換装置から開始した鍵交換と前記第2の鍵交換装置から開始した鍵交換が同時に進行しているかどうかを判定し、
    同時に鍵交換が進行している場合は、前記第1の鍵交換装置からの鍵交換もしくは前記第2の鍵交換装置からの鍵交換の少なくとも一方を中断するように前記鍵交換制御部に指示し、
    前記鍵交換制御部は指示された鍵交換を中断することを特徴とする鍵交換装置。
  10. 前記同時鍵交換判定部により中断すると判定された鍵交換の中断後に第1の時間経過後も中断されなかった鍵交換が完了しない場合には、前記同時鍵交換判定部がそれを検知し、中断していた鍵交換の少なくともひとつを再開するように前記鍵交換制御部に指示し、
    前記鍵交換制御部は指示された鍵交換を再開することを特徴とする請求項9に記載の鍵交換装置。
  11. 前記同時鍵交換判定部により中断すると判定された鍵交換の中断後に第1の時間経過後も中断されなかった鍵交換が完了しない場合には、前記同時鍵交換判定部がそれを検知し、
    前記第2の鍵交換装置との間の鍵交換を最初からやり直すように前記鍵交換制御部に指示し、
    前記鍵交換制御部は指示された鍵交換をやり直すことを特徴とする請求項9に記載の鍵交換装置。
  12. 前記第1の時間がランダムな時間であることことを特徴とする請求項10または請求項11に記載の鍵交換装置。
  13. 前記第1の時間が第1の所定の値以下の範囲内でランダムな時間であることを特徴とする請求項12記載の鍵交換装置。
  14. 前記第1の鍵交換装置における前記第1の時間と、前記第2の鍵交換装置における前記第1の時間が予めそれぞれ異なるように与えられた値であることを特徴とする請求項10または請求項11に記載の鍵交換装置。
  15. 前記第1の鍵交換装置に対応する第1の値と前記第2の鍵交換装置に対応する第2の値を所定の方法で比較し、
    前記所定の比較方法による比較結果にもとづいて前記第1の鍵交換装置の役割がマスタであるかスレーブであるかを決定し、
    決定された前記役割がマスタであった場合には、予め前記鍵交換装置に与えられた第3の値を前記第1の値として用い、
    決定された前記役割がスレーブであった場合には、予め前記鍵交換装置に与えられた第4の値を前記第1の値として用いることを特徴とする請求項10または請求項11記載の鍵交換装置。
  16. 鍵交換をやり直す際に、前記同時鍵交換判定部が、前記第2の鍵交換装置からの鍵交換が進行しているかどうかを判定し、
    進行していた場合、新たに鍵交換を開始せず、
    その後、前記第2の時間経過後も鍵交換が完了しない場合には、前記同時鍵交換判定部がそれを検知し、
    前記第2の鍵交換装置との間の鍵交換を最初からやり直すように前記鍵交換制御部に指示し、
    前記鍵交換制御部は指示された鍵交換をやり直すことを特徴とする請求項11記載の鍵交換装置。
  17. 前記第2の時間が前記第1の時間よりも長いことを特徴とする請求項16記載の鍵交換装置。
  18. 前記第1の時間が第1の所定の値以下の範囲内でランダムであり、
    前記第2の時間が第2の所定の値以下の範囲内でランダムであることを特徴とする請求項16記載の鍵交換装置。
  19. 前記第2の所定の値が前記第1の所定の値よりも大きいことを特徴とする請求項18に記載の鍵交換装置。
  20. 第1の鍵交換装置と第2の鍵交換装置の間において、暗号通信を行うための共通鍵を共有するための鍵交換を行うシステムにおいて用いられる第1の鍵交換装置であって、
    前記鍵交換制御部が鍵交換を行う際にリキーの開始タイミングが双方で異なるように決定するための情報の折衝を行うことを特徴とする鍵交換装置。
  21. 第1の鍵交換装置と第2の鍵交換装置の間において、暗号通信を行うための共通鍵を共有するための鍵交換を行うシステムであって、
    前記鍵交換装置ごとに異なる値があらかじめ割り振られており、
    前記第1の鍵交換装置における前記鍵交換制御部および、前記第2の鍵交換装置における前記鍵交換制御部が、それぞれがリキーの開始タイミングをそれぞれの鍵交換装置に割り振られた値から決定することを特徴とする鍵交換システム。
  22. 第1の鍵交換装置と第2の鍵交換装置の間において、暗号通信を行うための共通鍵を共有するための鍵交換を行うシステムにおいて用いられる鍵交換方法であって、請求項1〜請求項20のいずれか1項に記載の鍵交換装置を用いて行うことを特徴とする鍵交換方法。
  23. 第1の鍵交換装置と第2の鍵交換装置の間において、暗号通信を行うための共通鍵を共有するための鍵交換を行うシステムであって、
    請求項22に記載の鍵交換方法を用いることを特徴とする暗号通信システム。
  24. 第1の鍵交換装置と第2の鍵交換装置の間において、暗号通信を行うための共通鍵を共有するための鍵交換を行うシステムにおいて用いられる前記第1の鍵交換方法であって、
    前記第2の鍵交換装置との間で行われる鍵交換を制御する鍵交換制御ステップと、
    進行中の各鍵交換の状態を管理する鍵交換状態管理ステップと、
    同時鍵交換判定ステップよりなり、
    前記同時鍵交換判定ステップが、前記鍵交換状態管理ステップが管理する鍵交換状態情報に基づいて、前記第1の鍵交換装置から開始した鍵交換と前記第2の鍵交換装置から開始した鍵交換が同時に進行しているかどうかを判定し、
    同時に鍵交換が進行している場合は、前記第1の鍵交換装置に対応する第1の値と前記第2の鍵交換装置に対応する第2の値を所定の方法で比較し、
    前記所定の比較方法による比較結果にもとづいて前記第1の鍵交換装置の役割がマスタであるかスレーブであるかを決定し、
    決定された前記役割がスレーブであった場合には、前記第1の鍵交換装置から開始した鍵交換、もしくは前記第2の鍵交換装置から開始した鍵交換のどちらか一方のみを中断するように鍵交換制御ステップに指示し、
    前記鍵交換制御ステップは指示された鍵交換を中断することを特徴とする鍵交換方法。
  25. 請求項24記載の鍵交換方法を実行するプログラム。
JP2004175134A 2004-06-14 2004-06-14 鍵交換装置、鍵交換システム、鍵交換方法、および暗号通信システム Pending JP2005354556A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004175134A JP2005354556A (ja) 2004-06-14 2004-06-14 鍵交換装置、鍵交換システム、鍵交換方法、および暗号通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004175134A JP2005354556A (ja) 2004-06-14 2004-06-14 鍵交換装置、鍵交換システム、鍵交換方法、および暗号通信システム

Publications (1)

Publication Number Publication Date
JP2005354556A true JP2005354556A (ja) 2005-12-22

Family

ID=35588604

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004175134A Pending JP2005354556A (ja) 2004-06-14 2004-06-14 鍵交換装置、鍵交換システム、鍵交換方法、および暗号通信システム

Country Status (1)

Country Link
JP (1) JP2005354556A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008301072A (ja) * 2007-05-30 2008-12-11 Ricoh Co Ltd 暗号通信路復帰方法、暗号通信装置及び暗号通信システム
JP2009100238A (ja) * 2007-10-17 2009-05-07 Nec Corp 通信装置、通信システム及びそれらに用いる鍵再交換方法並びにそのプログラム
JP2012177942A (ja) * 2012-06-07 2012-09-13 Ricoh Co Ltd 暗号通信路復帰方法、暗号通信装置及び暗号通信システム
JP2014168204A (ja) * 2013-02-28 2014-09-11 Canon Inc 通信装置、通信方法、及びプログラム
JP2021524944A (ja) * 2018-05-16 2021-09-16 イーエニエーエスセー テック − インスティチュート デ エンゲンハリア デ システマス エ コンピュータドレス テクノロジア エ シエンシアInesc Tec − Instituto De Engenharia De Sistemas E Computadores, Tecnologia E Ciencia マルチパーティ計算(mpc)による物のインターネット・セキュリティ

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008301072A (ja) * 2007-05-30 2008-12-11 Ricoh Co Ltd 暗号通信路復帰方法、暗号通信装置及び暗号通信システム
JP2009100238A (ja) * 2007-10-17 2009-05-07 Nec Corp 通信装置、通信システム及びそれらに用いる鍵再交換方法並びにそのプログラム
JP2012177942A (ja) * 2012-06-07 2012-09-13 Ricoh Co Ltd 暗号通信路復帰方法、暗号通信装置及び暗号通信システム
JP2014168204A (ja) * 2013-02-28 2014-09-11 Canon Inc 通信装置、通信方法、及びプログラム
JP2021524944A (ja) * 2018-05-16 2021-09-16 イーエニエーエスセー テック − インスティチュート デ エンゲンハリア デ システマス エ コンピュータドレス テクノロジア エ シエンシアInesc Tec − Instituto De Engenharia De Sistemas E Computadores, Tecnologia E Ciencia マルチパーティ計算(mpc)による物のインターネット・セキュリティ

Similar Documents

Publication Publication Date Title
US20080098226A1 (en) Encryption communication system, apparatus, method, and program
JP5634427B2 (ja) 鍵生成装置、鍵生成方法およびプログラム
JP5446650B2 (ja) 通信データ新規性確認システム並びに送信端末及び受信端末
US20090214028A1 (en) Generating Session Keys
TW201008195A (en) Key management for communication networks
KR20140019867A (ko) 반접속된 디바이스들의 그룹과의 가상 페어링을 위한 방법 및 장치
JP2008537445A (ja) 新しいセッション鍵の提供
JP2003204349A (ja) ノード装置及び通信制御方法
WO2019114703A1 (zh) 一种安全通信的方法、装置和系统
JP6230322B2 (ja) 通信装置、鍵共有方法、プログラムおよび通信システム
CN114499866B (zh) 用于联邦学习和隐私计算的密钥分级管理方法及装置
JP2005268903A (ja) 暗号鍵共有装置、暗号鍵共有方法、プログラム及び通信機器
US20140044260A1 (en) Communication apparatus, communication method, computer-readable medium, and communication system
JP2011077931A (ja) IPsec通信方法および装置
CN113992427B (zh) 基于相邻节点的数据加密发送方法及装置
CN112187832A (zh) 数据传输方法和电子设备
US8793494B2 (en) Method and apparatus for recovering sessions
JP2006019975A (ja) 暗号パケット通信システム、これに備えられる受信装置、送信装置、及びこれらに適用される暗号パケット通信方法、受信方法、送信方法、受信プログラム、送信プログラム
JP2008154103A (ja) 通信中継装置
JP2005354556A (ja) 鍵交換装置、鍵交換システム、鍵交換方法、および暗号通信システム
US20050232427A1 (en) Unilateral session key shifting
CN102255723A (zh) 非同步密钥更新方法
WO2024001037A1 (zh) 一种消息传输方法、装置、电子设备和存储介质
KR101331377B1 (ko) 보안 데이터 전송을 위한 인증 방법, 보안 데이터 전송 방법, 전자 장치, 시스템 및 컴퓨터 판독가능한 저장 매체
US7350233B1 (en) Fast re-establishment of communications for virtual private network devices