データ通信方法、データ通信プログラム、およびデータ通信装置
【課題】IPsec/IKEプロトコルによるデータ通信の安全性と、シームレスローミングによるデータ通信の利便性とを両立させること。
【解決手段】IPsec暗号通信路に平行するIKE暗号通信路を利用し、IPアドレスの変化時には変化後のIPアドレスから、IKEフェーズ2プロトコルにより、IPsec暗号通信路の更新を通信相手に要求する。相手方ではIPアドレスの差異によらず、従前のクッキーとの同一性から要求元の同一性を確認できる限り、上記要求にしたがってIKEプロトコルにより、上記更新に必要な情報の折衝をおこなう。その後、両通信者間で新アドレスによるIPsec暗号通信路を作成するとともに、旧通信路を削除する。
【解決手段】IPsec暗号通信路に平行するIKE暗号通信路を利用し、IPアドレスの変化時には変化後のIPアドレスから、IKEフェーズ2プロトコルにより、IPsec暗号通信路の更新を通信相手に要求する。相手方ではIPアドレスの差異によらず、従前のクッキーとの同一性から要求元の同一性を確認できる限り、上記要求にしたがってIKEプロトコルにより、上記更新に必要な情報の折衝をおこなう。その後、両通信者間で新アドレスによるIPsec暗号通信路を作成するとともに、旧通信路を削除する。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、第1のデータ通信装置と第2のデータ通信装置との間でIPsec暗号通信路を介してデータを送受信するデータ通信方法、データ通信プログラム、およびデータ通信装置に関する。
【背景技術】
【0002】
安全性が要求されるネットワーク通信で現在広く用いられ、P2Pの暗号通信や暗号化VPN(Virtual Private Network)、ファイアウォールのセキュアゲートウェイ等へも応用されている暗号通信方式として、「IPsec/IKE(Internet Protocol security/Internet Key Exchange)」が存在する(たとえば、非特許文献1参照。)。
【0003】
この非特許文献1にも記載されているように、IPsecは暗号通信(および認証通信)プロトコルであり、IKEはIPsecで使用する鍵の交換をおこなうプロトコルである。IPsec暗号通信路で使用する鍵を、IKE暗号通信路経由で定期的に差し替えることで、通信の安全性をより向上させることができる。
【0004】
図14はIKEプロトコルの概略を示す説明図である。図中、フェーズ1は通信開始時に実行されるプロトコルであり、始動者(Initiator)である通信者Aと応答者(Responder)である通信者Bとの間で、IKE用SAパラメータや鍵情報、ID、認証情報などが受け渡しされる(図14(1−1)〜(1−6)を参照。)。また、フェーズ2は通信開始時、および通信途中にも定期的に実行されるプロトコルであり、通信者Aから通信者Bに提案されたIPsec用SAパラメータの組み合わせのうち、通信者Bが一つを選択して通信者Aに通知すると、通信者Aから通信者Bに確認の旨を通知する手順となっている(図14(2−1)〜(2−3)を参照。)。
【0005】
一方、携帯電話機やノートパソコン、車載端末等のモバイル機器の発達により、移動中もこれらの機器に対して通信サービスを提供するような場面が増加している。そして、移動する機器に継続してサービスを提供するには、複数の基地局/アクセスポイント間でローミングサービスをおこなう必要がある。特にローミング時に切れ目なく通信サービスを提供することを「シームレスローミング」と呼び、今後のユビキタスネットワーク社会では必須のサービス/技術であるといわれている。そして一般にIP通信のローミングサービスは、「モバイルIP」と呼ばれる技術で実現されている。なお、ローミングに関する従来技術としてはたとえば下記特許文献1などがある。
【0006】
【特許文献1】特開2003−319010号公報
【非特許文献1】馬場達也著、“マスタリングIPsec”、オーム社、2001年
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながらこのモバイルIPによる通信を安全におこなうには、何らかの方式による通信の暗号化が必須である。そして上述のように、暗号通信の代表的なプロトコルはIPsec/IKEであるが、もっぱらIPアドレスによって通信相手を識別するIPsecでは、ローミングが発生してIPアドレスが変化すると通信を継続できない。そこで、ローミング前後で同じIPアドレスを使用できるモバイルIPの技術をIPsecの外側に適用すると、モバイルIPのヘッダは暗号化の対象外となってしまう。
【0008】
すなわち、モバイルIPの安全性を確保するのにIPsecを使用するとローミングが不可能になり、IPsecをローミング後も継続するためには、暗号化されていないモバイルIPを使用しなければならないという事態になり、暗号通信による安全なネットワーク通信と、シームレスローミングとを同時に実現することは困難であった。
【0009】
そこで従来は、モバイルIP通信プロトコル自体を守ることは断念し、IPsec暗号通信を継続することで一応の安全性確保とシームレスローミングとを実現していた。この従来例としてはたとえば、ローミングが発生する側(IPアドレスが変化する側)の機器に「MobileIP FA(Foreign Agent)」、当該機器の通信相手側に「MobileIP HA(Home Agent)」を搭載し、ローミング発生を検出するとこれらの機能により自動的に通信路を張り替えるようなものがある。しかし完全に安全な通信とはいえない上に、「MobileIP HA」は一種のサーバであって移動に制限などがあるため、いずれにせよP2P通信における安全性と利便性との両立は困難であるという問題もあった。
【0010】
この発明は、上述した従来技術による問題点を解消するため、IPsec/IKEプロトコルによるデータ通信の安全性と、シームレスローミングによるデータ通信の利便性とを両立させることが可能なデータ通信方法、データ通信プログラム、およびデータ通信装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
上述した課題を解決し、目的を達成するため、この発明のデータ通信方法は、IPsec暗号通信路を介してデータを送受信するデータ通信装置が行うデータ通信方法において、前記データ通信装置が、相手データ通信装置との通信に使用するIPアドレスが他のIPアドレスに変更された際に、相手データ通信装置より送られてくる前記IPsec暗号通信路の更新要求を受信する受信工程と、前記受信工程で受信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づき、通信を行っていた相手データ通信装置から送信されたものであると判定した場合に、前記IPsec暗号通信路で使用しているIPアドレスを、前記受信工程で受信した前記更新要求中に含まれるIPアドレスに更新する更新工程と、を実行することを特徴とする。
【0012】
この発明によれば、ローミングなどを契機として通信途中に相手のIPアドレスが変化しても、それ以外の識別情報で相手の同一性を確認できる限り、新たなIPアドレスの下でIPsec暗号通信路を張り替えて接続を維持することができる。
【0013】
また、前記識別情報は、前記受信工程で前記更新要求が受信されるより前にIKE暗号通信路を介して受信している前記相手方のデータ通信装置のクッキーであることを特徴とする。
【0014】
この発明によれば、パケット内のクッキーを利用して、IPアドレスの変化後も通信相手の同一性を確認することができる。
【発明の効果】
【0015】
本発明にかかるデータ通信方法、データ通信プログラム、およびデータ通信装置によれば、通信途中でIPアドレスが変化してもIKEフェーズ2プロトコルによるIPsec鍵の更新処理を利用して、新たなIPアドレスの下でIPsec暗号通信路を張り替えるので、IPsec/IKEプロトコルによるデータ通信の安全性と、シームレスローミングによるデータ通信の利便性とを両立させることができるという効果を奏する。
【発明を実施するための最良の形態】
【0016】
以下に添付図面を参照して、この発明にかかるデータ通信方法、データ通信プログラム、およびデータ通信装置の好適な実施の形態を詳細に説明する。
【0017】
図1は、この発明の実施の形態にかかるデータ通信システムの全体構成を示す説明図である。図中、データ通信装置A100aは具体的にはノートパソコンなど、ローミングが発生する(IPアドレスが変化する)側のモバイル機器である。また、データ通信装置B100bはその通信相手であるゲートウェイなどであり、LAN内の他のデータ通信装置C100cに代わって、LAN外の機器との通信を代行する。なお、データ通信装置A100aとB100bとの間ではIPsecトンネルモードによる暗号通信路が保持されており、このIPsec通信を利用しているアプリケーションは、トンネルモード内で設定されているプライベートIPアドレスを使用している。
【0018】
次に、図2はこの発明の実施の形態にかかるデータ通信システムを構成する、データ通信装置A100a・B100b・C100cのハードウエア構成を示す説明図である。説明の便宜上、各装置はいずれも同一のハードウエア構成を有するものとする。
【0019】
図2に示すように、データ通信装置A100a・B100b・C100cは、CPU201、ROM202、RAM203、HDD(ハードディスクドライブ)204、HD(ハードディスク)205、FDD(フレキシブルディスクドライブ)206、FD(フレキシブルディスク)207、ディスプレイ208、ネットワークI/F(インターフェース)209、キーボード210およびマウス211を備えている。また、上記各部はバス200により接続されている。
【0020】
図中、CPU201は装置全体の制御を司る。ROM202はブートプログラムなどを記憶している。RAM203はCPU201のワークエリアとして使用される。
【0021】
HDD204は、CPU201の制御にしたがってHD205に対するデータのリード/ライトを制御する。HD205は、HDD204の制御にしたがって書き込まれたデータを記憶する。FDD206は、CPU201の制御にしたがってFD207に対するデータのリード/ライトを制御する。FD207は、FDD206の制御にしたがって書き込まれたデータを記憶する。なお、FD207は着脱可能な記録媒体の一例であり、FD207の代わりにCD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。
【0022】
ディスプレイ208は、カーソル、ウィンドウ、アイコンなどをはじめ、文書や画像などの各種データを表示する。ネットワークI/F209はLAN/WANなどのネットワークに接続され、当該ネットワークと装置内部とのデータの送受信を司る。キーボード210は、文字、数字、各種指示などの入力のための複数のキーを備え、押下されたキーに対応するデータを装置内部へ入力する。マウス211は本体下部のボールの回転量と回転方向、および本体上部の各ボタンのON/OFFを随時装置内部へ入力する。
【0023】
次に、図3はこの発明の実施の形態にかかるデータ通信システムの構成を機能的に示す説明図である。ただしここでは上記システムのうち、本発明の説明に必要な部分(具体的
にはデータ通信装置A100aおよびB100b)のみを示している。
【0024】
図3に示すように、データ通信装置A100a・B100bは、各々別個のIPアドレスを有する複数のNIC(Network Interface Card)を備えている。なお、データ通信装置A100aのNIC甲300aのIPアドレスは「IPaddressA甲」、NIC乙301aのIPアドレスは「IPaddressA乙」、データ通信装置B100bのNIC甲300bのIPアドレスは「IPaddressB甲」、NIC乙301bのIPアドレスは「IPaddressB乙」であるものとする。
【0025】
また、データ通信装置A100a・B100bは上記のほか、ローミング検出部302a・302b、IKE処理部303a・303b、IKE用DB(データベース)304a・304b、IPsec処理部305a・305b、IPsec用DB(データベース)306a・306bを備えている。同名の各部の機能はAB間で共通である。なお、NIC以外の各部はHD205などからRAM203に読み出されたプログラムを、CPU201が実行することにより実現される。
【0026】
まず、ローミング検出部302a・302bは自装置におけるローミングの発生(使用するIPアドレスの変更)を検出する機能部である。どのように検出するかは本発明では特に問わないので、何らかの既存の技術によって検出できればよい。
【0027】
次に、IKE処理部303a・303bは他のデータ通信装置との間でIKE暗号通信路を保持する機能部である。また、IKE用DB304a・304bはIKE処理部303a・303bでの処理に必要な諸情報を保持するデータベースである。図4は、IKE用DB304a・304bの内容を模式的に示す説明図である。図4に模式的に示すように、IKE用DB304a・304bにはデータ通信装置A100aおよびB100bのIPアドレス、クッキー、使用するSAパラメータ、AB間で交換した鍵などが保持される。
【0028】
図3に戻り、次にIPsec処理部305a・305bは他のデータ通信装置との間でIPsec暗号通信路を保持する機能部である。また、IPsec用DB306a・306bはIPsec処理部305a・305bでの処理に必要な諸情報を保持するデータベースである。図5は、IPsec用DB306a・306bの内容を模式的に示す説明図である。図5に模式的に示すように、IPsec用DB306a・306bにはデータ通信装置A100aおよびB100bのIPアドレス、使用するSAパラメータ、AからBへの暗号通信で使用する鍵や、逆にBからAへの暗号通信で使用する鍵などが保持される。なお、図示するようにIPsecのデータは、AからBへの通信情報とBからAへの通信情報との2種類で構成される。
【0029】
ここで、図6は、この発明の実施の形態にかかるデータ通信システムの、ローミング発生前の状態を模式的に示す説明図であり、図7は、この発明の実施の形態にかかるデータ通信システムの、ローミング発生直後の状態を模式的に示す説明図である。
【0030】
図6に示すように、データ通信装置A100aのNIC甲300aとデータ通信装置B100bのNIC甲300bとの間で、IPsec/IKE暗号通信路が確立している状態で、図7のようにデータ通信装置A100a側で、NIC甲300aからNIC乙301aへのローミングが発生したとする。このとき、上述のようにIPsecはIPアドレスが変化すると通信を維持できないため、IPsec暗号通信路・IKE暗号通信路のいずれも切断されてしまう。なお図7において、点線は通信路が切断された状態を意味している。
【0031】
そこで本実施の形態では、IPアドレスが変化してもそれ以外の情報、たとえばクッキーの同一性によって通信相手の同一性を確認することが可能なIKEを利用して、IPsec/IKE暗号通信路の張り替えをおこなう。
【0032】
図8は、この発明の実施の形態にかかるデータ通信システムの、IPsec暗号通信路更新処理のうち始動者による提案の様子を模式的に示す説明図であり、図9は、この発明の実施の形態にかかるデータ通信システムの、IPsec暗号通信路更新処理のうち応答者による選択と始動者による確認の様子を模式的に示す説明図である。また、図10は、この発明の実施の形態にかかるデータ通信システムの、新IPsec暗号通信路作成後の状態を模式的に示す説明図であり、図11は、この発明の実施の形態にかかるデータ通信システムの、旧IPsec暗号通信路削除後の状態を模式的に示す説明図である。
【0033】
まず、データ通信装置A100aのローミング検出部302aは、ローミングの発生を検出すると、ローミングイベントとローミング後の新たなIPアドレスとをIKE処理部303aに通知する(図7)。これを受けたIKE処理部303aは、現在のIKE暗号通信路で使用している自己のIPアドレスを新たなIPアドレスで更新する(図8)。具体的には、図4に示したIKE用DB304a内の「IPaddressA甲」(NIC甲300aのIPアドレス)を「IPaddressA乙」(NIC乙301aのIPアドレス)に書き換えることになる。
【0034】
そして、IKE処理部303aはIKE用DB304aの更新と同時に、データ通信装置B100bに対して、新しいIPアドレスからIKEフェーズ2プロトコルにより、IPsec暗号通信路の更新要求(IPsec暗号通信路用の鍵の更新依頼)を送信する(図8)。このとき鍵やクッキー、IDなどは従前のIKE暗号通信路で使用していたものを使用する。このIPsec暗号通信路の更新要求(図14(2−1))は、同時にIKE暗号通信路を、従前の鍵等を使用して旧IPアドレスから新IPアドレスへと張り替える要求でもある。
【0035】
そして、図9に示すように、上記要求を受けたデータ通信装置B100bのIKE処理部303bは、IPアドレスの変化にかかわらず所定の識別情報、具体的にはクッキーにより通信相手がAであることを確認すると、暗号通信が復号できることを条件に、現在のIKE暗号通信路で使用している相手のIPアドレス(IKE用DB304b内に保持)を新たなIPアドレスで更新する。そして、同時にデータ通信装置A100aとの間で、図14(2−2)(2−3)による鍵更新処理をおこなう。
【0036】
そして上記処理が完了すると、図10に示すように、データ通信装置A100a・B100bのそれぞれのIKE処理部303a・303bは、Aの新しいIPアドレスで新しいIPsec暗号通信路を設定し、IPsec用DB306a・306bに登録する。その結果、図5に示したIPsec用DB306a・306b内の2つの「IPaddressA甲」(NIC甲300aのIPアドレス)は、いずれも「IPaddressA乙」(NIC乙301aのIPアドレス)」に置換されることになる。次に、これを受けたIPsec処理部305a・305bが、新IPsec暗号通信路を使用して通信を開始する。
【0037】
その後、図11に示すように、IKE処理部303a・303bはIPsec用DB306a・306bから、従前のIPsec暗号通信路の情報を削除する。これにより、AのNIC甲300aとBのNIC甲300bとの間の古いIPsec暗号通信路は削除され、AのNIC乙301aとBのNIC甲300bとの間にIPsec/IKE暗号通信路が張り替えられる。
【0038】
次に、図12はデータ通信装置A100aにおける、IPsec/IKE暗号通信路の更新処理の手順を示すフローチャートである。データ通信装置A100aのローミング検出部302aがローミングの発生を検出すると(ステップS1201)、その事実と新たなIPアドレスとがIKE処理部303aに通知され、これを受けたIKE処理部303aが、IKE用DB304a内の自己のIPアドレスを更新する(ステップS1202)。
【0039】
次に、IKE処理部303aはデータ通信装置B100bに対して、ローミング後の新たなIPアドレスからIPsec暗号通信路更新要求(IPsec鍵更新依頼)を送信し、これを受けたデータ通信装置B100bのIKE処理部303bとの間で、IKEフェーズ2プロトコル(図14(2−1)〜(2−3))による鍵更新処理をおこなう(ステップS1203)。その後、新たな鍵とIPアドレスによる新たなIPsecSAを作成して、IPsec用DB306aに登録するとともに(ステップS1204)、従前のIPsecSAを当該DBから削除する(ステップS1205)。
【0040】
一方、図13はデータ通信装置B100bにおける、IPsec/IKE暗号通信路の更新処理の手順を示すフローチャートである。データ通信装置A100aのIKE処理部303aからIPsec暗号通信路更新要求(IPsec鍵更新依頼)を受信すると(ステップS1301)、データ通信装置B100bのIKE処理部303bは、まず当該要求中に含まれるIPアドレスと識別情報(具体的にはクッキー)とが、共にIKE用DB304bに登録されているAのそれと同一であるかどうかを調べる(ステップS1302)。なお、AのIPアドレスはIPヘッダに、AのクッキーはISAKMPヘッダに、それぞれ記述されている。
【0041】
そして、IPアドレスもクッキーも共にAのものである場合(ステップS1302:Yes)は、上記依頼は通信途中で定期的に送信されてくる、通常のIPsec鍵更新依頼である。一方、IPアドレスは違っていてもクッキーだけでもAのものであれば(ステップS1302:No、ステップS1307:Yes)、上記依頼はローミング発生時に送信されてくる、IPアドレスの変更を伴うIPsec鍵更新依頼である。そこで上記いずれかの場合は、上記依頼中の暗号化パケットが正常に復号できる(ステップS1303:YesまたはステップS1309:Yes)ことを条件として、IPsec鍵の更新処理へ移行する。
【0042】
すなわち、まず通常の鍵更新の場合(ステップS1302:Yes、ステップS1303:Yes)は、データ通信装置A100aのIKE処理部303aとの間で、IKEフェーズ2プロトコル(図14(2−1)〜(2−3))による鍵更新処理をおこなう(ステップS1304)。その後、新たな鍵とIPアドレスによる新たなIPsecSAを作成して、IPsec用DB306bに登録するとともに(ステップS1305)、従前のIPsecSAを当該DBから削除する(ステップS1306)。
【0043】
一方、ローミング発生時の鍵更新の場合(ステップS1302:No、ステップS1307:Yes、ステップS1309:Yes)は、まずIKE用DB304b内のAのIPアドレスを「IPaddressA甲」から「IPaddressA乙」に更新する(ステップS1310)。そして、ステップS1304へ移行し、通常の場合と同様の鍵更新と、IPsec用DB306bへの新IPsecSAの登録、IPsec用DB306bからの旧IPsecSAの削除をおこなう(ステップS1304〜S1306)。
【0044】
なお、IPアドレス・クッキーのいずれもAのものでない場合(ステップS1302:No、ステップS1307:No)や、暗号化パケットが正しく復号できなかった場合(ステップS1303:NoまたはステップS1309:No)は、異常なパケットが来た
と判断して不正パケット処理に移行する(ステップS1308)。この異常処理としては、たとえばその場でAとの通信を取り止めたり、受信したパケットを無視したりする実装が多いが、本発明ではその詳細は問わない。
【0045】
上述のように従来のIPsec/IKEでは、ローミングが発生するとIPsec暗号通信路とIKE暗号通信路の両方が切断されてしまうため、引き続き暗号通信をおこなう場合、IKEのフェーズ1およびフェーズ2を改めておこなわなければならない。これに対して本発明では、ローミングが発生してもIKEのフェーズ2だけをおこなえばよいので、IPsec暗号通信路を高速に張り替えて通信を継続でき、シームレスなローミングが実現される。なお、本出願人が調査したあるリモートアクセスソフトウェアでは、フェーズ1からフェーズ2までの通信に4秒必要であったのに対し、フェーズ2のみの場合は0.1秒以下であった。したがってこの環境に本実施の形態を導入した場合、従来技術の40倍以上高速なローミングが可能となる。
【0046】
また、本発明によれば通信者はお互いに特別なサーバである必要がないため、従来不可能であった、P2Pでのシームレスローミングが可能となる。
【0047】
しかも上記を実現するために、本発明ではローミング検出部302a・302bを新たに設ける以外、IKE処理部303a・303bに多少の処理機能を追加しているだけである。すなわち、ローミング発生時に強制的にIKEフェーズ2プロトコルを実行する機能、および図13中、「通常のIPsec鍵更新」という点線で囲った以外の機能が追加部分となる。
【0048】
なお、上述した実施の形態では、ローミング後の通信者Aの識別情報としてクッキーを使用している。これは現在のIPsec/IKE通信のプロトコル仕様を変更せず、したがってIPsec/IKE本来の安全性は維持したまま、シームレスローミングを可能とするためである。通信相手の異同を判断できる限り、クッキー以外にたとえばID、FQDNメールアドレスやトンネルモード内で使用しているプライベートアドレスなどを識別情報として使用することも可能であるし、IPsec暗号通信路を別のIPアドレスへ張り替えるのに、IKE以外のプロトコルを使用することも可能である。
【0049】
なお、上述した実施の形態では通信相手のIPアドレスが変化する原因として、もっぱらローミングを想定しているが、ローミングに限らず何らかの理由でIPアドレスが変わってしまうために、IPsec/IKE通信が切断されてしまう場合にも、本発明を適用して通信の断絶を回避することが可能である。
【0050】
なお、本実施の形態で説明したデータ通信方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク205、フレキシブルディスク207、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【0051】
(付記1)第1のデータ通信装置と第2のデータ通信装置との間でIPsec暗号通信路を介してデータを送受信するデータ通信方法において、
前記第1のデータ通信装置の使用するIPアドレスが他のIPアドレスに変更されたことを検出する検出工程と、
前記検出工程で前記変更が検出された場合に、前記他のIPアドレスから前記第2のデータ通信装置に対して前記IPsec暗号通信路の更新要求を送信する送信工程と、
前記送信工程で送信された前記更新要求を受信する受信工程と、
前記受信工程で受信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づいて当該更新要求が前記第1のデータ通信装置から送信されたものであるか否かを判定する判定工程と、
前記判定工程で、前記受信工程で受信された前記更新要求が前記第1のデータ通信装置から送信されたものであると判定された場合に前記IPsec暗号通信路の更新に必要な情報を決定する決定工程と、
前記決定工程で決定された前記情報に基づいて前記IPsec暗号通信路を更新する更新工程と、
を含むことを特徴とするデータ通信方法。
【0052】
(付記2)前記送信工程および前記決定工程ではIKEフェーズ2プロトコルにしたがって前記更新要求を送信しあるいは前記情報を決定することを特徴とする前記付記1に記載のデータ通信方法。
【0053】
(付記3)前記識別情報は、前記受信工程で前記更新要求が受信されるより前にIKE暗号通信路を介して前記第2のデータ通信装置が受信している前記第1のデータ通信装置のクッキーであることを特徴とする前記付記2に記載のデータ通信方法。
【0054】
(付記4)第1のデータ通信装置と第2のデータ通信装置との間でIPsec暗号通信路を介してデータを送受信するデータ通信システムにおいて、
前記第1のデータ通信装置の使用するIPアドレスが他のIPアドレスに変更されたことを検出する検出手段と、
前記検出手段により前記変更が検出された場合に、前記他のIPアドレスから前記第2のデータ通信装置に対して前記IPsec暗号通信路の更新要求を送信する送信手段と、
前記送信手段により送信された前記更新要求を受信する受信手段と、
前記受信手段により受信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づいて当該更新要求が前記第1のデータ通信装置から送信されたものであるか否かを判定する判定手段と、
前記判定手段により、前記受信手段により受信された前記更新要求が前記第1のデータ通信装置から送信されたものであると判定された場合に前記IPsec暗号通信路の更新に必要な情報を決定する決定手段と、
前記決定手段により決定された前記情報に基づいて前記IPsec暗号通信路を更新する更新手段と、
を備えることを特徴とするデータ通信システム。
【0055】
(付記5)前記送信手段および前記決定手段はIKEフェーズ2プロトコルにしたがって前記更新要求を送信しあるいは前記情報を決定することを特徴とする前記付記4に記載のデータ通信システム。
【0056】
(付記6)前記識別情報は、前記受信手段により前記更新要求が受信されるより前にIKE暗号通信路を介して前記第2のデータ通信装置が受信している前記第1のデータ通信装置のクッキーであることを特徴とする前記付記5に記載のデータ通信システム。
【0057】
(付記7)他のデータ通信装置との間でIPsec暗号通信路を介してデータを送受信するデータ通信装置上で稼働するデータ通信プログラムにおいて、
前記データ通信装置の使用するIPアドレスが他のIPアドレスに変更されたことを検出する検出工程と、
前記検出工程で前記変更が検出された場合に、前記他のIPアドレスから前記他のデータ通信装置に対して前記IPsec暗号通信路の更新要求を送信する送信工程と、
前記送信工程で送信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づいて当該更新要求が前記データ通信装置から送信されてきたものであると判定した前記他のデータ通信装置との間で、前記IPsec暗号通信路の更新に必要な情報を決定する決定工程と、
前記決定工程で決定された前記情報に基づいて前記IPsec暗号通信路を更新する更新工程と、
をコンピュータに実行させることを特徴とするデータ通信プログラム。
【0058】
(付記8)前記送信工程および前記決定工程ではIKEフェーズ2プロトコルにしたがって前記更新要求を送信しあるいは前記情報を決定することを特徴とする前記付記7に記載のデータ通信プログラム。
【0059】
(付記9)前記識別情報は、前記送信工程で前記更新要求が送信されるより前にIKE暗号通信路を介して前記他のデータ通信装置に送信されている前記データ通信装置のクッキーであることを特徴とする前記付記8に記載のデータ通信プログラム。
【0060】
(付記10)他のデータ通信装置との間でIPsec暗号通信路を介してデータを送受信するデータ通信装置において、
自装置の使用するIPアドレスが他のIPアドレスに変更されたことを検出する検出手段と、
前記検出手段により前記変更が検出された場合に、前記他のIPアドレスから前記他のデータ通信装置に対して前記IPsec暗号通信路の更新要求を送信する送信手段と、
前記送信手段により送信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づいて当該更新要求が前記データ通信装置から送信されてきたものであると判定した前記他のデータ通信装置との間で、前記IPsec暗号通信路の更新に必要な情報を決定する決定手段と、
前記決定手段により決定された前記情報に基づいて前記IPsec暗号通信路を更新する更新手段と、
を備えることを特徴とするデータ通信装置。
【0061】
(付記11)前記送信手段および前記決定手段はIKEフェーズ2プロトコルにしたがって前記更新要求を送信しあるいは前記情報を決定することを特徴とする前記付記10に記載のデータ通信装置。
【0062】
(付記12)前記識別情報は、前記送信手段により前記更新要求が送信されるより前にIKE暗号通信路を介して前記他のデータ通信装置に送信されている自装置のクッキーであることを特徴とする前記付記11に記載のデータ通信装置。
【0063】
(付記13)他のデータ通信装置との間でIPsec暗号通信路を介してデータを送受信するデータ通信装置上で稼働するデータ通信プログラムにおいて、
前記他のデータ通信装置から送信されてきた前記IPsec暗号通信路の更新要求を受信する受信工程と、
前記受信工程で受信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づいて当該更新要求が前記他のデータ通信装置から送信されてきたものであるか否かを判定する判定工程と、
前記判定工程で、前記受信工程で受信された前記更新要求が前記他のデータ通信装置から送信されてきたものであると判定された場合に前記IPsec暗号通信路の更新に必要な情報を決定する決定工程と、
前記決定工程で決定された前記情報に基づいて前記IPsec暗号通信路を更新する更新工程と、
をコンピュータに実行させることを特徴とするデータ通信プログラム。
【0064】
(付記14)前記決定工程ではIKEフェーズ2プロトコルにしたがって前記情報を決定することを特徴とする前記付記13に記載のデータ通信プログラム。
【0065】
(付記15)前記識別情報は、前記受信工程で前記更新要求が受信されるより前にIKE暗号通信路を介して受信している前記他のデータ通信装置のクッキーであることを特徴とする前記付記14に記載のデータ通信プログラム。
【0066】
(付記16)他のデータ通信装置との間でIPsec暗号通信路を介してデータを送受信するデータ通信装置において、
前記他のデータ通信装置から送信されてきた前記IPsec暗号通信路の更新要求を受信する受信手段と、
前記受信手段により受信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づいて当該更新要求が前記他のデータ通信装置から送信されてきたものであるか否かを判定する判定手段と、
前記判定手段により、前記受信手段により受信された前記更新要求が前記他のデータ通信装置から送信されてきたものであると判定された場合に前記IPsec暗号通信路の更新に必要な情報を決定する決定手段と、
前記決定手段により決定された前記情報に基づいて前記IPsec暗号通信路を更新する更新手段と、
を備えることを特徴とするデータ通信装置。
【0067】
(付記17)前記決定手段はIKEフェーズ2プロトコルにしたがって前記情報を決定することを特徴とする前記付記16に記載のデータ通信装置。
【0068】
(付記18)前記識別情報は、前記受信手段により前記更新要求が受信されるより前にIKE暗号通信路を介して受信している前記他のデータ通信装置のクッキーであることを特徴とする前記付記17に記載のデータ通信装置。
【産業上の利用可能性】
【0069】
以上のように、本発明にかかるデータ通信方法、データ通信プログラム、およびデータ通信装置は、通信途中でIPアドレスが変化するようなデータ通信の安全性確保に有用であり、特に来たるべきユビキタス社会において、いつでも、どこからでも、安全にデータを送受信する用途に適している。
【図面の簡単な説明】
【0070】
【図1】この発明の実施の形態にかかるデータ通信システムの全体構成を示す説明図である。
【図2】データ通信装置A100a・B100b・C100cのハードウエア構成を示す説明図である。
【図3】この発明の実施の形態にかかるデータ通信システムの構成を機能的に示す説明図である。
【図4】IKE用DB304a・304bの内容を模式的に示す説明図である。
【図5】IPsec用DB306a・306bの内容を模式的に示す説明図である。
【図6】この発明の実施の形態にかかるデータ通信システムの、ローミング発生前の状態を模式的に示す説明図である。
【図7】この発明の実施の形態にかかるデータ通信システムの、ローミング発生直後の状態を模式的に示す説明図である。
【図8】この発明の実施の形態にかかるデータ通信システムの、IPsec暗号通信路更新処理のうち始動者による提案の様子を模式的に示す説明図である。
【図9】この発明の実施の形態にかかるデータ通信システムの、IPsec暗号通信路更新処理のうち応答者による選択と始動者による確認の様子を模式的に示す説明図である。
【図10】この発明の実施の形態にかかるデータ通信システムの、新IPsec暗号通信路作成後の状態を模式的に示す説明図である。
【図11】この発明の実施の形態にかかるデータ通信システムの、旧IPsec暗号通信路削除後の状態を模式的に示す説明図である。
【図12】データ通信装置A100aにおける、IPsec/IKE暗号通信路の更新処理の手順を示すフローチャートである。
【図13】データ通信装置B100bにおける、IPsec/IKE暗号通信路の更新処理の手順を示すフローチャートである。
【図14】IKEプロトコルの概略を示す説明図である。
【符号の説明】
【0071】
100a データ通信装置A
100b データ通信装置B
100c データ通信装置C
200 バス
300a,300b NIC甲
301a,301b NIC乙
302a,302b ローミング検出部
303a,303b IKE処理部
304a,304b IKE用DB
305a,305b IPsec処理部
306a,306b IPsec用DB
【技術分野】
【0001】
この発明は、第1のデータ通信装置と第2のデータ通信装置との間でIPsec暗号通信路を介してデータを送受信するデータ通信方法、データ通信プログラム、およびデータ通信装置に関する。
【背景技術】
【0002】
安全性が要求されるネットワーク通信で現在広く用いられ、P2Pの暗号通信や暗号化VPN(Virtual Private Network)、ファイアウォールのセキュアゲートウェイ等へも応用されている暗号通信方式として、「IPsec/IKE(Internet Protocol security/Internet Key Exchange)」が存在する(たとえば、非特許文献1参照。)。
【0003】
この非特許文献1にも記載されているように、IPsecは暗号通信(および認証通信)プロトコルであり、IKEはIPsecで使用する鍵の交換をおこなうプロトコルである。IPsec暗号通信路で使用する鍵を、IKE暗号通信路経由で定期的に差し替えることで、通信の安全性をより向上させることができる。
【0004】
図14はIKEプロトコルの概略を示す説明図である。図中、フェーズ1は通信開始時に実行されるプロトコルであり、始動者(Initiator)である通信者Aと応答者(Responder)である通信者Bとの間で、IKE用SAパラメータや鍵情報、ID、認証情報などが受け渡しされる(図14(1−1)〜(1−6)を参照。)。また、フェーズ2は通信開始時、および通信途中にも定期的に実行されるプロトコルであり、通信者Aから通信者Bに提案されたIPsec用SAパラメータの組み合わせのうち、通信者Bが一つを選択して通信者Aに通知すると、通信者Aから通信者Bに確認の旨を通知する手順となっている(図14(2−1)〜(2−3)を参照。)。
【0005】
一方、携帯電話機やノートパソコン、車載端末等のモバイル機器の発達により、移動中もこれらの機器に対して通信サービスを提供するような場面が増加している。そして、移動する機器に継続してサービスを提供するには、複数の基地局/アクセスポイント間でローミングサービスをおこなう必要がある。特にローミング時に切れ目なく通信サービスを提供することを「シームレスローミング」と呼び、今後のユビキタスネットワーク社会では必須のサービス/技術であるといわれている。そして一般にIP通信のローミングサービスは、「モバイルIP」と呼ばれる技術で実現されている。なお、ローミングに関する従来技術としてはたとえば下記特許文献1などがある。
【0006】
【特許文献1】特開2003−319010号公報
【非特許文献1】馬場達也著、“マスタリングIPsec”、オーム社、2001年
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながらこのモバイルIPによる通信を安全におこなうには、何らかの方式による通信の暗号化が必須である。そして上述のように、暗号通信の代表的なプロトコルはIPsec/IKEであるが、もっぱらIPアドレスによって通信相手を識別するIPsecでは、ローミングが発生してIPアドレスが変化すると通信を継続できない。そこで、ローミング前後で同じIPアドレスを使用できるモバイルIPの技術をIPsecの外側に適用すると、モバイルIPのヘッダは暗号化の対象外となってしまう。
【0008】
すなわち、モバイルIPの安全性を確保するのにIPsecを使用するとローミングが不可能になり、IPsecをローミング後も継続するためには、暗号化されていないモバイルIPを使用しなければならないという事態になり、暗号通信による安全なネットワーク通信と、シームレスローミングとを同時に実現することは困難であった。
【0009】
そこで従来は、モバイルIP通信プロトコル自体を守ることは断念し、IPsec暗号通信を継続することで一応の安全性確保とシームレスローミングとを実現していた。この従来例としてはたとえば、ローミングが発生する側(IPアドレスが変化する側)の機器に「MobileIP FA(Foreign Agent)」、当該機器の通信相手側に「MobileIP HA(Home Agent)」を搭載し、ローミング発生を検出するとこれらの機能により自動的に通信路を張り替えるようなものがある。しかし完全に安全な通信とはいえない上に、「MobileIP HA」は一種のサーバであって移動に制限などがあるため、いずれにせよP2P通信における安全性と利便性との両立は困難であるという問題もあった。
【0010】
この発明は、上述した従来技術による問題点を解消するため、IPsec/IKEプロトコルによるデータ通信の安全性と、シームレスローミングによるデータ通信の利便性とを両立させることが可能なデータ通信方法、データ通信プログラム、およびデータ通信装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
上述した課題を解決し、目的を達成するため、この発明のデータ通信方法は、IPsec暗号通信路を介してデータを送受信するデータ通信装置が行うデータ通信方法において、前記データ通信装置が、相手データ通信装置との通信に使用するIPアドレスが他のIPアドレスに変更された際に、相手データ通信装置より送られてくる前記IPsec暗号通信路の更新要求を受信する受信工程と、前記受信工程で受信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づき、通信を行っていた相手データ通信装置から送信されたものであると判定した場合に、前記IPsec暗号通信路で使用しているIPアドレスを、前記受信工程で受信した前記更新要求中に含まれるIPアドレスに更新する更新工程と、を実行することを特徴とする。
【0012】
この発明によれば、ローミングなどを契機として通信途中に相手のIPアドレスが変化しても、それ以外の識別情報で相手の同一性を確認できる限り、新たなIPアドレスの下でIPsec暗号通信路を張り替えて接続を維持することができる。
【0013】
また、前記識別情報は、前記受信工程で前記更新要求が受信されるより前にIKE暗号通信路を介して受信している前記相手方のデータ通信装置のクッキーであることを特徴とする。
【0014】
この発明によれば、パケット内のクッキーを利用して、IPアドレスの変化後も通信相手の同一性を確認することができる。
【発明の効果】
【0015】
本発明にかかるデータ通信方法、データ通信プログラム、およびデータ通信装置によれば、通信途中でIPアドレスが変化してもIKEフェーズ2プロトコルによるIPsec鍵の更新処理を利用して、新たなIPアドレスの下でIPsec暗号通信路を張り替えるので、IPsec/IKEプロトコルによるデータ通信の安全性と、シームレスローミングによるデータ通信の利便性とを両立させることができるという効果を奏する。
【発明を実施するための最良の形態】
【0016】
以下に添付図面を参照して、この発明にかかるデータ通信方法、データ通信プログラム、およびデータ通信装置の好適な実施の形態を詳細に説明する。
【0017】
図1は、この発明の実施の形態にかかるデータ通信システムの全体構成を示す説明図である。図中、データ通信装置A100aは具体的にはノートパソコンなど、ローミングが発生する(IPアドレスが変化する)側のモバイル機器である。また、データ通信装置B100bはその通信相手であるゲートウェイなどであり、LAN内の他のデータ通信装置C100cに代わって、LAN外の機器との通信を代行する。なお、データ通信装置A100aとB100bとの間ではIPsecトンネルモードによる暗号通信路が保持されており、このIPsec通信を利用しているアプリケーションは、トンネルモード内で設定されているプライベートIPアドレスを使用している。
【0018】
次に、図2はこの発明の実施の形態にかかるデータ通信システムを構成する、データ通信装置A100a・B100b・C100cのハードウエア構成を示す説明図である。説明の便宜上、各装置はいずれも同一のハードウエア構成を有するものとする。
【0019】
図2に示すように、データ通信装置A100a・B100b・C100cは、CPU201、ROM202、RAM203、HDD(ハードディスクドライブ)204、HD(ハードディスク)205、FDD(フレキシブルディスクドライブ)206、FD(フレキシブルディスク)207、ディスプレイ208、ネットワークI/F(インターフェース)209、キーボード210およびマウス211を備えている。また、上記各部はバス200により接続されている。
【0020】
図中、CPU201は装置全体の制御を司る。ROM202はブートプログラムなどを記憶している。RAM203はCPU201のワークエリアとして使用される。
【0021】
HDD204は、CPU201の制御にしたがってHD205に対するデータのリード/ライトを制御する。HD205は、HDD204の制御にしたがって書き込まれたデータを記憶する。FDD206は、CPU201の制御にしたがってFD207に対するデータのリード/ライトを制御する。FD207は、FDD206の制御にしたがって書き込まれたデータを記憶する。なお、FD207は着脱可能な記録媒体の一例であり、FD207の代わりにCD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。
【0022】
ディスプレイ208は、カーソル、ウィンドウ、アイコンなどをはじめ、文書や画像などの各種データを表示する。ネットワークI/F209はLAN/WANなどのネットワークに接続され、当該ネットワークと装置内部とのデータの送受信を司る。キーボード210は、文字、数字、各種指示などの入力のための複数のキーを備え、押下されたキーに対応するデータを装置内部へ入力する。マウス211は本体下部のボールの回転量と回転方向、および本体上部の各ボタンのON/OFFを随時装置内部へ入力する。
【0023】
次に、図3はこの発明の実施の形態にかかるデータ通信システムの構成を機能的に示す説明図である。ただしここでは上記システムのうち、本発明の説明に必要な部分(具体的
にはデータ通信装置A100aおよびB100b)のみを示している。
【0024】
図3に示すように、データ通信装置A100a・B100bは、各々別個のIPアドレスを有する複数のNIC(Network Interface Card)を備えている。なお、データ通信装置A100aのNIC甲300aのIPアドレスは「IPaddressA甲」、NIC乙301aのIPアドレスは「IPaddressA乙」、データ通信装置B100bのNIC甲300bのIPアドレスは「IPaddressB甲」、NIC乙301bのIPアドレスは「IPaddressB乙」であるものとする。
【0025】
また、データ通信装置A100a・B100bは上記のほか、ローミング検出部302a・302b、IKE処理部303a・303b、IKE用DB(データベース)304a・304b、IPsec処理部305a・305b、IPsec用DB(データベース)306a・306bを備えている。同名の各部の機能はAB間で共通である。なお、NIC以外の各部はHD205などからRAM203に読み出されたプログラムを、CPU201が実行することにより実現される。
【0026】
まず、ローミング検出部302a・302bは自装置におけるローミングの発生(使用するIPアドレスの変更)を検出する機能部である。どのように検出するかは本発明では特に問わないので、何らかの既存の技術によって検出できればよい。
【0027】
次に、IKE処理部303a・303bは他のデータ通信装置との間でIKE暗号通信路を保持する機能部である。また、IKE用DB304a・304bはIKE処理部303a・303bでの処理に必要な諸情報を保持するデータベースである。図4は、IKE用DB304a・304bの内容を模式的に示す説明図である。図4に模式的に示すように、IKE用DB304a・304bにはデータ通信装置A100aおよびB100bのIPアドレス、クッキー、使用するSAパラメータ、AB間で交換した鍵などが保持される。
【0028】
図3に戻り、次にIPsec処理部305a・305bは他のデータ通信装置との間でIPsec暗号通信路を保持する機能部である。また、IPsec用DB306a・306bはIPsec処理部305a・305bでの処理に必要な諸情報を保持するデータベースである。図5は、IPsec用DB306a・306bの内容を模式的に示す説明図である。図5に模式的に示すように、IPsec用DB306a・306bにはデータ通信装置A100aおよびB100bのIPアドレス、使用するSAパラメータ、AからBへの暗号通信で使用する鍵や、逆にBからAへの暗号通信で使用する鍵などが保持される。なお、図示するようにIPsecのデータは、AからBへの通信情報とBからAへの通信情報との2種類で構成される。
【0029】
ここで、図6は、この発明の実施の形態にかかるデータ通信システムの、ローミング発生前の状態を模式的に示す説明図であり、図7は、この発明の実施の形態にかかるデータ通信システムの、ローミング発生直後の状態を模式的に示す説明図である。
【0030】
図6に示すように、データ通信装置A100aのNIC甲300aとデータ通信装置B100bのNIC甲300bとの間で、IPsec/IKE暗号通信路が確立している状態で、図7のようにデータ通信装置A100a側で、NIC甲300aからNIC乙301aへのローミングが発生したとする。このとき、上述のようにIPsecはIPアドレスが変化すると通信を維持できないため、IPsec暗号通信路・IKE暗号通信路のいずれも切断されてしまう。なお図7において、点線は通信路が切断された状態を意味している。
【0031】
そこで本実施の形態では、IPアドレスが変化してもそれ以外の情報、たとえばクッキーの同一性によって通信相手の同一性を確認することが可能なIKEを利用して、IPsec/IKE暗号通信路の張り替えをおこなう。
【0032】
図8は、この発明の実施の形態にかかるデータ通信システムの、IPsec暗号通信路更新処理のうち始動者による提案の様子を模式的に示す説明図であり、図9は、この発明の実施の形態にかかるデータ通信システムの、IPsec暗号通信路更新処理のうち応答者による選択と始動者による確認の様子を模式的に示す説明図である。また、図10は、この発明の実施の形態にかかるデータ通信システムの、新IPsec暗号通信路作成後の状態を模式的に示す説明図であり、図11は、この発明の実施の形態にかかるデータ通信システムの、旧IPsec暗号通信路削除後の状態を模式的に示す説明図である。
【0033】
まず、データ通信装置A100aのローミング検出部302aは、ローミングの発生を検出すると、ローミングイベントとローミング後の新たなIPアドレスとをIKE処理部303aに通知する(図7)。これを受けたIKE処理部303aは、現在のIKE暗号通信路で使用している自己のIPアドレスを新たなIPアドレスで更新する(図8)。具体的には、図4に示したIKE用DB304a内の「IPaddressA甲」(NIC甲300aのIPアドレス)を「IPaddressA乙」(NIC乙301aのIPアドレス)に書き換えることになる。
【0034】
そして、IKE処理部303aはIKE用DB304aの更新と同時に、データ通信装置B100bに対して、新しいIPアドレスからIKEフェーズ2プロトコルにより、IPsec暗号通信路の更新要求(IPsec暗号通信路用の鍵の更新依頼)を送信する(図8)。このとき鍵やクッキー、IDなどは従前のIKE暗号通信路で使用していたものを使用する。このIPsec暗号通信路の更新要求(図14(2−1))は、同時にIKE暗号通信路を、従前の鍵等を使用して旧IPアドレスから新IPアドレスへと張り替える要求でもある。
【0035】
そして、図9に示すように、上記要求を受けたデータ通信装置B100bのIKE処理部303bは、IPアドレスの変化にかかわらず所定の識別情報、具体的にはクッキーにより通信相手がAであることを確認すると、暗号通信が復号できることを条件に、現在のIKE暗号通信路で使用している相手のIPアドレス(IKE用DB304b内に保持)を新たなIPアドレスで更新する。そして、同時にデータ通信装置A100aとの間で、図14(2−2)(2−3)による鍵更新処理をおこなう。
【0036】
そして上記処理が完了すると、図10に示すように、データ通信装置A100a・B100bのそれぞれのIKE処理部303a・303bは、Aの新しいIPアドレスで新しいIPsec暗号通信路を設定し、IPsec用DB306a・306bに登録する。その結果、図5に示したIPsec用DB306a・306b内の2つの「IPaddressA甲」(NIC甲300aのIPアドレス)は、いずれも「IPaddressA乙」(NIC乙301aのIPアドレス)」に置換されることになる。次に、これを受けたIPsec処理部305a・305bが、新IPsec暗号通信路を使用して通信を開始する。
【0037】
その後、図11に示すように、IKE処理部303a・303bはIPsec用DB306a・306bから、従前のIPsec暗号通信路の情報を削除する。これにより、AのNIC甲300aとBのNIC甲300bとの間の古いIPsec暗号通信路は削除され、AのNIC乙301aとBのNIC甲300bとの間にIPsec/IKE暗号通信路が張り替えられる。
【0038】
次に、図12はデータ通信装置A100aにおける、IPsec/IKE暗号通信路の更新処理の手順を示すフローチャートである。データ通信装置A100aのローミング検出部302aがローミングの発生を検出すると(ステップS1201)、その事実と新たなIPアドレスとがIKE処理部303aに通知され、これを受けたIKE処理部303aが、IKE用DB304a内の自己のIPアドレスを更新する(ステップS1202)。
【0039】
次に、IKE処理部303aはデータ通信装置B100bに対して、ローミング後の新たなIPアドレスからIPsec暗号通信路更新要求(IPsec鍵更新依頼)を送信し、これを受けたデータ通信装置B100bのIKE処理部303bとの間で、IKEフェーズ2プロトコル(図14(2−1)〜(2−3))による鍵更新処理をおこなう(ステップS1203)。その後、新たな鍵とIPアドレスによる新たなIPsecSAを作成して、IPsec用DB306aに登録するとともに(ステップS1204)、従前のIPsecSAを当該DBから削除する(ステップS1205)。
【0040】
一方、図13はデータ通信装置B100bにおける、IPsec/IKE暗号通信路の更新処理の手順を示すフローチャートである。データ通信装置A100aのIKE処理部303aからIPsec暗号通信路更新要求(IPsec鍵更新依頼)を受信すると(ステップS1301)、データ通信装置B100bのIKE処理部303bは、まず当該要求中に含まれるIPアドレスと識別情報(具体的にはクッキー)とが、共にIKE用DB304bに登録されているAのそれと同一であるかどうかを調べる(ステップS1302)。なお、AのIPアドレスはIPヘッダに、AのクッキーはISAKMPヘッダに、それぞれ記述されている。
【0041】
そして、IPアドレスもクッキーも共にAのものである場合(ステップS1302:Yes)は、上記依頼は通信途中で定期的に送信されてくる、通常のIPsec鍵更新依頼である。一方、IPアドレスは違っていてもクッキーだけでもAのものであれば(ステップS1302:No、ステップS1307:Yes)、上記依頼はローミング発生時に送信されてくる、IPアドレスの変更を伴うIPsec鍵更新依頼である。そこで上記いずれかの場合は、上記依頼中の暗号化パケットが正常に復号できる(ステップS1303:YesまたはステップS1309:Yes)ことを条件として、IPsec鍵の更新処理へ移行する。
【0042】
すなわち、まず通常の鍵更新の場合(ステップS1302:Yes、ステップS1303:Yes)は、データ通信装置A100aのIKE処理部303aとの間で、IKEフェーズ2プロトコル(図14(2−1)〜(2−3))による鍵更新処理をおこなう(ステップS1304)。その後、新たな鍵とIPアドレスによる新たなIPsecSAを作成して、IPsec用DB306bに登録するとともに(ステップS1305)、従前のIPsecSAを当該DBから削除する(ステップS1306)。
【0043】
一方、ローミング発生時の鍵更新の場合(ステップS1302:No、ステップS1307:Yes、ステップS1309:Yes)は、まずIKE用DB304b内のAのIPアドレスを「IPaddressA甲」から「IPaddressA乙」に更新する(ステップS1310)。そして、ステップS1304へ移行し、通常の場合と同様の鍵更新と、IPsec用DB306bへの新IPsecSAの登録、IPsec用DB306bからの旧IPsecSAの削除をおこなう(ステップS1304〜S1306)。
【0044】
なお、IPアドレス・クッキーのいずれもAのものでない場合(ステップS1302:No、ステップS1307:No)や、暗号化パケットが正しく復号できなかった場合(ステップS1303:NoまたはステップS1309:No)は、異常なパケットが来た
と判断して不正パケット処理に移行する(ステップS1308)。この異常処理としては、たとえばその場でAとの通信を取り止めたり、受信したパケットを無視したりする実装が多いが、本発明ではその詳細は問わない。
【0045】
上述のように従来のIPsec/IKEでは、ローミングが発生するとIPsec暗号通信路とIKE暗号通信路の両方が切断されてしまうため、引き続き暗号通信をおこなう場合、IKEのフェーズ1およびフェーズ2を改めておこなわなければならない。これに対して本発明では、ローミングが発生してもIKEのフェーズ2だけをおこなえばよいので、IPsec暗号通信路を高速に張り替えて通信を継続でき、シームレスなローミングが実現される。なお、本出願人が調査したあるリモートアクセスソフトウェアでは、フェーズ1からフェーズ2までの通信に4秒必要であったのに対し、フェーズ2のみの場合は0.1秒以下であった。したがってこの環境に本実施の形態を導入した場合、従来技術の40倍以上高速なローミングが可能となる。
【0046】
また、本発明によれば通信者はお互いに特別なサーバである必要がないため、従来不可能であった、P2Pでのシームレスローミングが可能となる。
【0047】
しかも上記を実現するために、本発明ではローミング検出部302a・302bを新たに設ける以外、IKE処理部303a・303bに多少の処理機能を追加しているだけである。すなわち、ローミング発生時に強制的にIKEフェーズ2プロトコルを実行する機能、および図13中、「通常のIPsec鍵更新」という点線で囲った以外の機能が追加部分となる。
【0048】
なお、上述した実施の形態では、ローミング後の通信者Aの識別情報としてクッキーを使用している。これは現在のIPsec/IKE通信のプロトコル仕様を変更せず、したがってIPsec/IKE本来の安全性は維持したまま、シームレスローミングを可能とするためである。通信相手の異同を判断できる限り、クッキー以外にたとえばID、FQDNメールアドレスやトンネルモード内で使用しているプライベートアドレスなどを識別情報として使用することも可能であるし、IPsec暗号通信路を別のIPアドレスへ張り替えるのに、IKE以外のプロトコルを使用することも可能である。
【0049】
なお、上述した実施の形態では通信相手のIPアドレスが変化する原因として、もっぱらローミングを想定しているが、ローミングに限らず何らかの理由でIPアドレスが変わってしまうために、IPsec/IKE通信が切断されてしまう場合にも、本発明を適用して通信の断絶を回避することが可能である。
【0050】
なお、本実施の形態で説明したデータ通信方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク205、フレキシブルディスク207、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【0051】
(付記1)第1のデータ通信装置と第2のデータ通信装置との間でIPsec暗号通信路を介してデータを送受信するデータ通信方法において、
前記第1のデータ通信装置の使用するIPアドレスが他のIPアドレスに変更されたことを検出する検出工程と、
前記検出工程で前記変更が検出された場合に、前記他のIPアドレスから前記第2のデータ通信装置に対して前記IPsec暗号通信路の更新要求を送信する送信工程と、
前記送信工程で送信された前記更新要求を受信する受信工程と、
前記受信工程で受信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づいて当該更新要求が前記第1のデータ通信装置から送信されたものであるか否かを判定する判定工程と、
前記判定工程で、前記受信工程で受信された前記更新要求が前記第1のデータ通信装置から送信されたものであると判定された場合に前記IPsec暗号通信路の更新に必要な情報を決定する決定工程と、
前記決定工程で決定された前記情報に基づいて前記IPsec暗号通信路を更新する更新工程と、
を含むことを特徴とするデータ通信方法。
【0052】
(付記2)前記送信工程および前記決定工程ではIKEフェーズ2プロトコルにしたがって前記更新要求を送信しあるいは前記情報を決定することを特徴とする前記付記1に記載のデータ通信方法。
【0053】
(付記3)前記識別情報は、前記受信工程で前記更新要求が受信されるより前にIKE暗号通信路を介して前記第2のデータ通信装置が受信している前記第1のデータ通信装置のクッキーであることを特徴とする前記付記2に記載のデータ通信方法。
【0054】
(付記4)第1のデータ通信装置と第2のデータ通信装置との間でIPsec暗号通信路を介してデータを送受信するデータ通信システムにおいて、
前記第1のデータ通信装置の使用するIPアドレスが他のIPアドレスに変更されたことを検出する検出手段と、
前記検出手段により前記変更が検出された場合に、前記他のIPアドレスから前記第2のデータ通信装置に対して前記IPsec暗号通信路の更新要求を送信する送信手段と、
前記送信手段により送信された前記更新要求を受信する受信手段と、
前記受信手段により受信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づいて当該更新要求が前記第1のデータ通信装置から送信されたものであるか否かを判定する判定手段と、
前記判定手段により、前記受信手段により受信された前記更新要求が前記第1のデータ通信装置から送信されたものであると判定された場合に前記IPsec暗号通信路の更新に必要な情報を決定する決定手段と、
前記決定手段により決定された前記情報に基づいて前記IPsec暗号通信路を更新する更新手段と、
を備えることを特徴とするデータ通信システム。
【0055】
(付記5)前記送信手段および前記決定手段はIKEフェーズ2プロトコルにしたがって前記更新要求を送信しあるいは前記情報を決定することを特徴とする前記付記4に記載のデータ通信システム。
【0056】
(付記6)前記識別情報は、前記受信手段により前記更新要求が受信されるより前にIKE暗号通信路を介して前記第2のデータ通信装置が受信している前記第1のデータ通信装置のクッキーであることを特徴とする前記付記5に記載のデータ通信システム。
【0057】
(付記7)他のデータ通信装置との間でIPsec暗号通信路を介してデータを送受信するデータ通信装置上で稼働するデータ通信プログラムにおいて、
前記データ通信装置の使用するIPアドレスが他のIPアドレスに変更されたことを検出する検出工程と、
前記検出工程で前記変更が検出された場合に、前記他のIPアドレスから前記他のデータ通信装置に対して前記IPsec暗号通信路の更新要求を送信する送信工程と、
前記送信工程で送信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づいて当該更新要求が前記データ通信装置から送信されてきたものであると判定した前記他のデータ通信装置との間で、前記IPsec暗号通信路の更新に必要な情報を決定する決定工程と、
前記決定工程で決定された前記情報に基づいて前記IPsec暗号通信路を更新する更新工程と、
をコンピュータに実行させることを特徴とするデータ通信プログラム。
【0058】
(付記8)前記送信工程および前記決定工程ではIKEフェーズ2プロトコルにしたがって前記更新要求を送信しあるいは前記情報を決定することを特徴とする前記付記7に記載のデータ通信プログラム。
【0059】
(付記9)前記識別情報は、前記送信工程で前記更新要求が送信されるより前にIKE暗号通信路を介して前記他のデータ通信装置に送信されている前記データ通信装置のクッキーであることを特徴とする前記付記8に記載のデータ通信プログラム。
【0060】
(付記10)他のデータ通信装置との間でIPsec暗号通信路を介してデータを送受信するデータ通信装置において、
自装置の使用するIPアドレスが他のIPアドレスに変更されたことを検出する検出手段と、
前記検出手段により前記変更が検出された場合に、前記他のIPアドレスから前記他のデータ通信装置に対して前記IPsec暗号通信路の更新要求を送信する送信手段と、
前記送信手段により送信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づいて当該更新要求が前記データ通信装置から送信されてきたものであると判定した前記他のデータ通信装置との間で、前記IPsec暗号通信路の更新に必要な情報を決定する決定手段と、
前記決定手段により決定された前記情報に基づいて前記IPsec暗号通信路を更新する更新手段と、
を備えることを特徴とするデータ通信装置。
【0061】
(付記11)前記送信手段および前記決定手段はIKEフェーズ2プロトコルにしたがって前記更新要求を送信しあるいは前記情報を決定することを特徴とする前記付記10に記載のデータ通信装置。
【0062】
(付記12)前記識別情報は、前記送信手段により前記更新要求が送信されるより前にIKE暗号通信路を介して前記他のデータ通信装置に送信されている自装置のクッキーであることを特徴とする前記付記11に記載のデータ通信装置。
【0063】
(付記13)他のデータ通信装置との間でIPsec暗号通信路を介してデータを送受信するデータ通信装置上で稼働するデータ通信プログラムにおいて、
前記他のデータ通信装置から送信されてきた前記IPsec暗号通信路の更新要求を受信する受信工程と、
前記受信工程で受信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づいて当該更新要求が前記他のデータ通信装置から送信されてきたものであるか否かを判定する判定工程と、
前記判定工程で、前記受信工程で受信された前記更新要求が前記他のデータ通信装置から送信されてきたものであると判定された場合に前記IPsec暗号通信路の更新に必要な情報を決定する決定工程と、
前記決定工程で決定された前記情報に基づいて前記IPsec暗号通信路を更新する更新工程と、
をコンピュータに実行させることを特徴とするデータ通信プログラム。
【0064】
(付記14)前記決定工程ではIKEフェーズ2プロトコルにしたがって前記情報を決定することを特徴とする前記付記13に記載のデータ通信プログラム。
【0065】
(付記15)前記識別情報は、前記受信工程で前記更新要求が受信されるより前にIKE暗号通信路を介して受信している前記他のデータ通信装置のクッキーであることを特徴とする前記付記14に記載のデータ通信プログラム。
【0066】
(付記16)他のデータ通信装置との間でIPsec暗号通信路を介してデータを送受信するデータ通信装置において、
前記他のデータ通信装置から送信されてきた前記IPsec暗号通信路の更新要求を受信する受信手段と、
前記受信手段により受信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づいて当該更新要求が前記他のデータ通信装置から送信されてきたものであるか否かを判定する判定手段と、
前記判定手段により、前記受信手段により受信された前記更新要求が前記他のデータ通信装置から送信されてきたものであると判定された場合に前記IPsec暗号通信路の更新に必要な情報を決定する決定手段と、
前記決定手段により決定された前記情報に基づいて前記IPsec暗号通信路を更新する更新手段と、
を備えることを特徴とするデータ通信装置。
【0067】
(付記17)前記決定手段はIKEフェーズ2プロトコルにしたがって前記情報を決定することを特徴とする前記付記16に記載のデータ通信装置。
【0068】
(付記18)前記識別情報は、前記受信手段により前記更新要求が受信されるより前にIKE暗号通信路を介して受信している前記他のデータ通信装置のクッキーであることを特徴とする前記付記17に記載のデータ通信装置。
【産業上の利用可能性】
【0069】
以上のように、本発明にかかるデータ通信方法、データ通信プログラム、およびデータ通信装置は、通信途中でIPアドレスが変化するようなデータ通信の安全性確保に有用であり、特に来たるべきユビキタス社会において、いつでも、どこからでも、安全にデータを送受信する用途に適している。
【図面の簡単な説明】
【0070】
【図1】この発明の実施の形態にかかるデータ通信システムの全体構成を示す説明図である。
【図2】データ通信装置A100a・B100b・C100cのハードウエア構成を示す説明図である。
【図3】この発明の実施の形態にかかるデータ通信システムの構成を機能的に示す説明図である。
【図4】IKE用DB304a・304bの内容を模式的に示す説明図である。
【図5】IPsec用DB306a・306bの内容を模式的に示す説明図である。
【図6】この発明の実施の形態にかかるデータ通信システムの、ローミング発生前の状態を模式的に示す説明図である。
【図7】この発明の実施の形態にかかるデータ通信システムの、ローミング発生直後の状態を模式的に示す説明図である。
【図8】この発明の実施の形態にかかるデータ通信システムの、IPsec暗号通信路更新処理のうち始動者による提案の様子を模式的に示す説明図である。
【図9】この発明の実施の形態にかかるデータ通信システムの、IPsec暗号通信路更新処理のうち応答者による選択と始動者による確認の様子を模式的に示す説明図である。
【図10】この発明の実施の形態にかかるデータ通信システムの、新IPsec暗号通信路作成後の状態を模式的に示す説明図である。
【図11】この発明の実施の形態にかかるデータ通信システムの、旧IPsec暗号通信路削除後の状態を模式的に示す説明図である。
【図12】データ通信装置A100aにおける、IPsec/IKE暗号通信路の更新処理の手順を示すフローチャートである。
【図13】データ通信装置B100bにおける、IPsec/IKE暗号通信路の更新処理の手順を示すフローチャートである。
【図14】IKEプロトコルの概略を示す説明図である。
【符号の説明】
【0071】
100a データ通信装置A
100b データ通信装置B
100c データ通信装置C
200 バス
300a,300b NIC甲
301a,301b NIC乙
302a,302b ローミング検出部
303a,303b IKE処理部
304a,304b IKE用DB
305a,305b IPsec処理部
306a,306b IPsec用DB
【特許請求の範囲】
【請求項1】
IPsec暗号通信路を介してデータを送受信するデータ通信装置が行うデータ通信方法において、
前記データ通信装置が、
相手データ通信装置との通信に使用するIPアドレスが他のIPアドレスに変更された際に、相手データ通信装置より送られてくる前記IPsec暗号通信路の更新要求を受信する受信工程と、
前記受信工程で受信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づき、通信を行っていた相手データ通信装置から送信されたものであると判定した場合に、前記IPsec暗号通信路で使用しているIPアドレスを、前記受信工程で受信した前記更新要求中に含まれるIPアドレスに更新する更新工程と、
を実行することを特徴とするデータ通信方法。
【請求項2】
前記識別情報は、前記受信工程で前記更新要求が受信されるより前にIKE暗号通信路を介して受信している前記相手方のデータ通信装置のクッキーであることを特徴とする前記請求項1に記載のデータ通信方法。
【請求項3】
IPsec暗号通信路を介してデータを送受信するデータ通信装置に、
相手データ通信装置との通信に使用するIPアドレスが他のIPアドレスに変更された際に、相手データ通信装置より送られてくる前記IPsec暗号通信路の更新要求を受信する受信工程と、
前記受信工程で受信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づき、通信を行っていた相手データ通信装置から送信されたものであると判定した場合に、前記IPsec暗号通信路で使用しているIPアドレスを、前記受信工程で受信した前記更新要求中に含まれるIPアドレスに更新する更新工程と、
を実行させることを特徴とするデータ通信プログラム。
【請求項4】
前記識別情報は、前記受信工程で前記更新要求が受信されるより前にIKE暗号通信路を介して受信している前記相手方のデータ通信装置のクッキーであることを特徴とする前記請求項3に記載のデータ通信プログラム。
【請求項5】
IPsec暗号通信路を介してデータを送受信するデータ通信装置であって、
相手データ通信装置との通信に使用するIPアドレスが他のIPアドレスに変更された際に、相手データ通信装置より送られてくる前記IPsec暗号通信路の更新要求を受信する受信手段と、
前記受信手段で受信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づき、通信を行っていた相手データ通信装置から送信されたものであると判定した場合に、前記IPsec暗号通信路で使用しているIPアドレスを、前記受信手段で受信した前記更新要求中に含まれるIPアドレスに更新する更新手段と、
備えたことを特徴とするデータ通信装置。
【請求項6】
前記識別情報は、前記受信工程で前記更新要求が受信されるより前にIKE暗号通信路を介して受信している前記相手方のデータ通信装置のクッキーであることを特徴とする前記請求項5に記載のデータ通信装置。
【請求項1】
IPsec暗号通信路を介してデータを送受信するデータ通信装置が行うデータ通信方法において、
前記データ通信装置が、
相手データ通信装置との通信に使用するIPアドレスが他のIPアドレスに変更された際に、相手データ通信装置より送られてくる前記IPsec暗号通信路の更新要求を受信する受信工程と、
前記受信工程で受信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づき、通信を行っていた相手データ通信装置から送信されたものであると判定した場合に、前記IPsec暗号通信路で使用しているIPアドレスを、前記受信工程で受信した前記更新要求中に含まれるIPアドレスに更新する更新工程と、
を実行することを特徴とするデータ通信方法。
【請求項2】
前記識別情報は、前記受信工程で前記更新要求が受信されるより前にIKE暗号通信路を介して受信している前記相手方のデータ通信装置のクッキーであることを特徴とする前記請求項1に記載のデータ通信方法。
【請求項3】
IPsec暗号通信路を介してデータを送受信するデータ通信装置に、
相手データ通信装置との通信に使用するIPアドレスが他のIPアドレスに変更された際に、相手データ通信装置より送られてくる前記IPsec暗号通信路の更新要求を受信する受信工程と、
前記受信工程で受信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づき、通信を行っていた相手データ通信装置から送信されたものであると判定した場合に、前記IPsec暗号通信路で使用しているIPアドレスを、前記受信工程で受信した前記更新要求中に含まれるIPアドレスに更新する更新工程と、
を実行させることを特徴とするデータ通信プログラム。
【請求項4】
前記識別情報は、前記受信工程で前記更新要求が受信されるより前にIKE暗号通信路を介して受信している前記相手方のデータ通信装置のクッキーであることを特徴とする前記請求項3に記載のデータ通信プログラム。
【請求項5】
IPsec暗号通信路を介してデータを送受信するデータ通信装置であって、
相手データ通信装置との通信に使用するIPアドレスが他のIPアドレスに変更された際に、相手データ通信装置より送られてくる前記IPsec暗号通信路の更新要求を受信する受信手段と、
前記受信手段で受信された前記更新要求中に含まれる送信元IPアドレス以外の識別情報に基づき、通信を行っていた相手データ通信装置から送信されたものであると判定した場合に、前記IPsec暗号通信路で使用しているIPアドレスを、前記受信手段で受信した前記更新要求中に含まれるIPアドレスに更新する更新手段と、
備えたことを特徴とするデータ通信装置。
【請求項6】
前記識別情報は、前記受信工程で前記更新要求が受信されるより前にIKE暗号通信路を介して受信している前記相手方のデータ通信装置のクッキーであることを特徴とする前記請求項5に記載のデータ通信装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2007−184984(P2007−184984A)
【公開日】平成19年7月19日(2007.7.19)
【国際特許分類】
【出願番号】特願2007−79937(P2007−79937)
【出願日】平成19年3月26日(2007.3.26)
【分割の表示】特願2004−17664(P2004−17664)の分割
【原出願日】平成16年1月26日(2004.1.26)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成19年7月19日(2007.7.19)
【国際特許分類】
【出願日】平成19年3月26日(2007.3.26)
【分割の表示】特願2004−17664(P2004−17664)の分割
【原出願日】平成16年1月26日(2004.1.26)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]