(57)【要約】  【課題】所定のノードの上位レベルルータの情報（ＵＬＲＩ：上位レベルルータ情報）が有効であるか否かを検証できるようにする。  【解決手段】ＵＬＭＲ（上位レベルモバイルルータ）２１０に接続しているＭＮ（モバイルノード）２２０が、例えば、ＵＬＭＲのアドレスなどのＵＬＲＩを取得し（３１０）、ＢＵ（バインディングアップデートメッセージ）にＵＬＲＩを挿入して、ＨＡ（ホームエージェント）２３５に送信する（３２０）。ＨＡは、このＵＬＲＩに基づいて、ＵＬＲＩによって識別されるルータを経由するように設定されたＢＡ（バインディングアクノレッジメントメッセージ）を送信する（３３０）。ＵＬＲＩの情報が正当であれば、ＵＬＭＲにおいて、ＭＮに向けてＢＡは転送される（３４０）が、ＵＬＲＩの情報が不当であれば、ＵＬＭＲにおいて、ＢＡは破棄される。【選択図】図３
2008533799.tif 000002
【特許請求の範囲】
【請求項１】
サブネットワークに接続している第１通信ノードと、前記第１通信ノードの通信相手となる第２通信ノードと、前記サブネットワーク内又は前記サブネットワークの上位に存在するルータとにより構成されている通信システムにおいて、所定の情報が前記ルータの識別情報か否かの検証を行うためのネットワーク管理方法であって、
前記第１通信ノードが、前記所定の情報を取得するステップと、
前記第１通信ノードが、前記所定の情報を含む第１メッセージを生成して、前記第１メッセージを前記第２通信ノードに送信するステップと、
前記第２通信ノードが、前記第１メッセージに対する応答の第２メッセージであって、前記第１メッセージに含まれている前記所定の情報に基づいて、前記所定の情報により識別される中間ルータを経由して前記第１通信ノードに到達するように設定される前記第２メッセージを生成して、前記第２メッセージを前記第２通信ノードに送信するステップと、
前記所定の情報により識別される前記中間ルータが、前記第２メッセージを受信するステップと、
前記所定の情報により識別される前記中間ルータが、前記所定の情報が自身の識別情報である場合には、前記第１通信ノードに向けて前記第２メッセージを送信し、前記所定の情報が自身の識別情報ではない場合には、前記第２メッセージを破棄するステップとを、
有するネットワーク管理方法。
【請求項２】
前記第１通信ノードが、前記第２メッセージの受信をすることによって、前記所定の情報が前記ルータの識別情報である旨を決定する請求項１に記載のネットワーク管理方法。
【請求項３】
前記第１通信ノードが、前記第２メッセージを受信した場合、前記第２メッセージに対する応答である第３メッセージを生成して、前記第２通信ノードに送信するステップを有し、
前記第２通信ノードが、前記第３メッセージを受信することによって、前記所定の情報が前記ルータの識別情報である旨を決定する請求項１に記載のネットワーク管理方法。
【請求項４】
前記第２通信ノードが、前記第２メッセージ内に前記第３メッセージの応答許容時間を設定し、前記応答許容時間内に前記第３メッセージを受信できた場合に、前記第２通信ノードが、前記所定の情報が前記ルータの識別情報である旨を決定する請求項３に記載のネットワーク管理方法。
【請求項５】
前記第１メッセージがバインディングアップデートメッセージ、前記第２メッセージがバインディングアクノレッジメッセージ、前記応答許容時間がバインディングアップデートに係るライフタイムであり、前記第１通信ノードから前記第２通信ノードに対するバインディングアップデート処理時に、前記所定の情報が前記ルータの識別情報か否かの検証が行われる請求項４に記載のネットワーク管理方法。
【請求項６】
前記第２通信ノードが、前記第２メッセージ内に検証用情報を挿入し、前記第１通信ノードが、前記第３メッセージ内に、前記検証用情報又は前記検証用情報に基づいて生成される情報を挿入し、前記第２通信ノードが、前記第３メッセージ内に挿入されている前記検証用情報又は前記検証用情報に基づいて生成される情報から、前記第３メッセージが前記第２メッセージに対する正当な応答である旨を確認できた場合に、前記第２通信ノードが、前記所定の情報が前記ルータの識別情報である旨を決定する請求項３に記載のネットワーク管理方法。
【請求項７】
前記第２メッセージがＩＣＭＰエコー要求メッセージ、前記第３メッセージがＩＣＭＰエコー応答メッセージである請求項６に記載のネットワーク管理方法。
【請求項８】
前記第１メッセージがリターンルータビリティ手順におけるＨｏＴＩメッセージ及びＣｏＴＩメッセージと同時に送信されるメッセージ、前記第２メッセージがリターンルータビリティ手順におけるＨｏＴメッセージ及びＣｏＴメッセージと同時に送信されるメッセージであって前記検証用情報として所定のトークン情報を有する前記メッセージ、前記第３メッセージが前記ＨｏＴメッセージ内のＨｏＫ、前記ＣｏＴメッセージ内のＣｏＫ、前記第２メッセージ内の前記所定のトークン情報のすべてを利用して生成されたチェックサムを含むバインディングアップデートメッセージであり、前記第１通信ノードから前記第２通信ノードに対する前記リターンルータビリティ手順の処理時に、前記所定の情報が前記ルータの識別情報か否かの検証が行われる請求項６に記載のネットワーク管理方法。
【請求項９】
サブネットワークに接続している第１通信ノードと、前記第１通信ノードの通信相手となる第２通信ノードと、前記サブネットワーク内又は前記サブネットワークの上位に存在するルータとにより構成されている通信システムにおいて、所定の情報が前記ルータの識別情報か否かの検証を行う、前記第１通信ノード内に配置されたネットワーク管理装置であって、
前記所定の情報を取得する情報取得手段と、
前記所定の情報を含む第１メッセージを生成して、前記第１メッセージを前記第２通信ノードに送信する第１メッセージ生成送信手段と、
前記第１メッセージに対する前記第２通信ノードからの応答である第２メッセージであって、前記第１メッセージに含まれている前記所定の情報に基づいて、前記所定の情報により識別される中間ルータを経由して前記第２通信ノードに到達するように設定された前記第２メッセージを受信する第２メッセージ受信手段と、
前記第２メッセージ受信手段によって前記第２メッセージを受信した場合、前記所定の情報が前記ルータの識別情報である旨を決定する決定手段とを、
有するネットワーク管理装置。
【請求項１０】
サブネットワークに接続している第１通信ノードと、前記第１通信ノードの通信相手となる第２通信ノードと、前記サブネットワーク内又は前記サブネットワークの上位に存在するルータとにより構成されている通信システムにおいて、所定の情報が前記ルータの識別情報か否かの検証を行う、前記第１通信ノード内に配置されたネットワーク管理装置であって、
前記所定の情報を取得する情報取得手段と、
前記所定の情報を含む第１メッセージを生成して、前記第１メッセージを前記第２通信ノードに送信する第１メッセージ生成送信手段と、
前記第１メッセージに対する前記第２通信ノードからの応答である第２メッセージであって、前記第１メッセージに含まれている前記所定の情報に基づいて、前記所定の情報により識別される中間ルータを経由して前記第２通信ノードに到達するように設定された前記第２メッセージを受信する第２メッセージ受信手段と、
前記第２メッセージに対する応答である第３メッセージを生成して、前記第２通信ノードに送信する第３メッセージ生成送信手段とを、
有するネットワーク管理装置。
【請求項１１】
サブネットワークに接続している第１通信ノードと、前記第１通信ノードの通信相手となる第２通信ノードと、前記サブネットワーク内又は前記サブネットワークの上位に存在するルータとにより構成されている通信システムにおいて、所定の情報が前記ルータの識別情報か否かの検証を行う、前記第２通信ノード内に配置されたネットワーク管理装置であって、
前記第１通信ノードから前記所定の情報を含む第１メッセージを受信する第１メッセージ受信手段と、
前記第１メッセージに対する応答である第２メッセージであって、前記第１メッセージに含まれている前記所定の情報に基づいて、前記所定の情報により識別される中間ルータを経由して前記第１通信ノードに到達するように設定される前記第２メッセージを生成して、前記第２メッセージを前記第２通信ノードに送信する第２メッセージ生成送信手段と、
前記第２メッセージに対する前記第１通信ノードからの応答である第３メッセージを受信する第３メッセージ受信手段と、
前記第３メッセージ受信手段によって前記第３メッセージを受信した場合、前記所定の情報が前記ルータの識別情報である旨を決定する決定手段とを、
有するネットワーク管理装置。
【請求項１２】
前記第２メッセージ生成送信手段が、前記第２メッセージ内に前記第３メッセージの応答許容時間を設定する応答許容時間設定手段を有しており、
第３メッセージ受信手段が前記応答許容時間内に前記第３メッセージを受信できた場合に、前記所定の情報が前記ルータの識別情報である旨を決定するように構成されている請求項１１に記載のネットワーク管理装置。
【請求項１３】
前記第１メッセージがバインディングアップデートメッセージ、前記第２メッセージがバインディングアクノレッジメッセージ、前記応答許容時間がバインディングアップデートに係るライフタイムであり、前記第１通信ノードから前記第２通信ノードに対するバインディングアップデート処理時に、前記所定の情報が前記ルータの識別情報か否かの検証が行われるように構成されている請求項１２に記載のネットワーク管理装置。
【請求項１４】
前記第３メッセージ生成送信手段が、前記第３メッセージに挿入する情報であって、前記第２通信ノードによって前記第２メッセージ内に挿入された検証用情報又は前記検証用情報に基づく前記情報を生成する情報生成手段を有する請求項１０に記載のネットワーク管理装置。
【請求項１５】
前記第２メッセージ生成送信手段が、前記第２メッセージ内に検証用情報を挿入する検証用情報挿入手段を有しており、
前記決定手段が、前記第１通信ノードによって前記第３メッセージ内に挿入された前記検証用情報又は前記検証用情報に基づいて生成される情報から、前記第３メッセージが前記第２メッセージに対する正当な応答である旨を確認できた場合に、前記所定の情報が前記ルータの識別情報である旨を決定するように構成されている請求項１１に記載のネットワーク管理装置。
【請求項１６】
前記第２メッセージがＩＣＭＰエコー要求メッセージ、前記第３メッセージがＩＣＭＰエコー応答メッセージである請求項１４に記載のネットワーク管理装置。
【請求項１７】
前記第２メッセージがＩＣＭＰエコー要求メッセージ、前記第３メッセージがＩＣＭＰエコー応答メッセージである請求項１５に記載のネットワーク管理装置。
【請求項１８】
前記第１メッセージがリターンルータビリティ手順におけるＨｏＴＩメッセージ及びＣｏＴＩメッセージと同時に送信されるメッセージ、前記第２メッセージがリターンルータビリティ手順におけるＨｏＴメッセージ及びＣｏＴメッセージと同時に送信されるメッセージであって前記検証用情報として所定のトークン情報を有する前記メッセージ、前記第３メッセージが前記ＨｏＴメッセージ内のＨｏＫ、前記ＣｏＴメッセージ内のＣｏＫ、前記第２メッセージ内の前記所定のトークン情報のすべてを利用して生成されたチェックサムを含むバインディングアップデートメッセージであり、前記第１通信ノードから前記第２通信ノードに対する前記リターンルータビリティ手順の処理時に、前記所定の情報が前記ルータの識別情報か否かの検証が行われる請求項１４に記載のネットワーク管理装置。
【請求項１９】
前記第１メッセージがリターンルータビリティ手順におけるＨｏＴＩメッセージ及びＣｏＴＩメッセージと同時に送信されるメッセージ、前記第２メッセージがリターンルータビリティ手順におけるＨｏＴメッセージ及びＣｏＴメッセージと同時に送信されるメッセージであって前記検証用情報として所定のトークン情報を有する前記メッセージ、前記第３メッセージが前記ＨｏＴメッセージ内のＨｏＫ、前記ＣｏＴメッセージ内のＣｏＫ、前記第２メッセージ内の前記所定のトークン情報のすべてを利用して生成されたチェックサムを含むバインディングアップデートメッセージであり、前記第１通信ノードから前記第２通信ノードに対する前記リターンルータビリティ手順の処理時に、前記所定の情報が前記ルータの識別情報か否かの検証が行われる請求項１５に記載のネットワーク管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットプロトコル（ＩＰ：Internet Protocol）を利用した通信技術に係るネットワーク管理方法及びネットワーク管理装置に関し、特に、通信ノード間におけるモバイルＩＰｖ６を利用した経路最適化技術、通信ネットワークのセキュリティを向上するためのセキュリティ技術に係るネットワーク管理方法及びネットワーク管理装置に関する。
【背景技術】
【０００２】
現在、多数のデバイスが、ＩＰネットワークを使用して、相互に通信を行っている。モバイル機器にモビリティサポートを提供するために、ＩＥＴＦ（Internet Engineering Task Force）では、ＩＰｖ６におけるモビリティサポートの拡張が進められている（下記の非特許文献１参照）。モバイルＩＰでは、各モバイルノードは、永続的なホームドメインを持っている。モバイルノードが、自身のホームネットワークに接続している場合、モバイルノードには、ホームアドレス（ＨｏＡ：Home Address）としてプライマリグローバルアドレスが割り当てられる。一方、モバイルノードがホームネットワークから離れている場合、すなわち、他のフォーリンネットワークに接続している場合には、通常、モバイルノードには、気付アドレス（ＣｏＡ：Care-of Address）として一時的なグローバルアドレスが割り当てられる。モビリティサポートの考えは、モバイルノードが他のフォーリンネットワークに接続している場合でも、自身のホームアドレスで、そのモバイルノードまで到達可能となるようにするものである。
【０００３】
このような考えは、非特許文献１において、ホームエージェント（ＨＡ：Home Agent）として知られるエンティティを、ホームネットワークに導入することによって実践されている。モバイルノードは、バインディングアップデート（ＢＵ：Binding Update）メッセージを使用して、ホームエージェントへの気付アドレスの登録を行う。これにより、ホームエージェントは、モバイルノードのホームアドレスと気付アドレスとの間のバインディングを生成することが可能となる。ホームエージェントは、モバイルノードのホームアドレスに向けられたメッセージを受信（intercept）し、パケットのカプセル化（あるパケットを新たなパケットのペイロードとすることであり、パケットトンネリングとしても知られている）を用いて、そのパケットをモバイルノードの気付アドレスに転送する機能を担っている。
【０００４】
上述の技術によってモビリティサポートは可能とはなるものの、結果的には、準最適化（サブオプティマル）又はドッグレッグルーティングとして知られる問題が生じることとなる。これらの問題は、モバイルノードが通信相手ノード（ＣＮ：Correspondent Node）と通信を行う際、それらの間において送信されるパケットが、ホームエージェントを通らなければならないことにより生じる。このため、非特許文献１には、モバイルノードが通信相手ノードにＢＵの送信を行うことができる旨が明記されている。通信相手ノードがモバイルノードのホームアドレスと気付アドレスとのバインディングを把握した場合、通信相手ノード及びモバイルノードは、モバイルノードの気付アドレスを送信元又は送信先として、互いに直接（ホームエージェントを通らずに）パケットの送信を行うようにすることが可能となる。
【０００５】
しかしながら、セキュリティを考慮した場合、モバイルノードとそのホームエージェントとは、セキュリティ協定（security association）を共有していると仮定されるので、モバイルノードからホームエージェントに送信されるＢＵはセキュアとなり得るが、このような仮定は、モバイルノードと通信相手ノードとの間では非現実的なものであり、すなわち、モバイルノードから通信相手ノードに送信されるＢＵはセキュアな状態にはなっていない場合が多い。
【０００６】
このため、非特許文献１には、リターンルータビリティ（ＲＲ：Return Routability）手順として知られる手順が明記されている。このＲＲ手順によって、通信相手ノードは、ＢＵに記載された気付アドレスとホームアドレスとが実際に関連付けられているものであることを確認することが可能となる。基本的に、ＲＲ手順では、モバイルノードが、通信相手ノードに対してＢＵを送信する前に、セキュアな状態で生成された２つのトークンを通信相手ノードから取得することが要請されている。
【０００７】
ＲＲ手順を開始するため、最初に、モバイルノードは通信相手ノードに対して、２つの異なるメッセージ、Home-test-Init（ＨｏＴＩ）メッセージ及びCare-of-Test-Init（ＣｏＴＩ）メッセージを送信する。ＨｏＴＩには、パケットの送信元（source）として、モバイルノードのホームアドレスが設定され、ホームエージェント経由で送信される。一方、ＣｏＴＩには、パケットの送信元（source）として、モバイルノードの気付アドレスが設定され、直接送信される。ＨｏＴＩを受信した通信相手ノードは、モバイルノードのホームアドレスに向けて、Home-Test（ＨｏＴ）メッセージを送信することによって応答を行う。このＨｏＴには、Home Keygen Token（ＨｏＫ）と呼ばれるセキュリティトークンが含まれている。このＨｏＫは、モバイルノードのホームアドレスに基づいて、秘密鍵を用いた暗号化により生成されるものである。また、同様に、ＣｏＴＩを受信した通信相手ノードは、モバイルノードの気付アドレスに向けてCare-of-Test（ＣｏＴ）メッセージを送信することによって応答を行う。このＣｏＴには、Care-of Keygen Token（ＣｏＫ）と呼ばれるセキュリティトークンが含まれている。このＣｏＫは、モバイルノードの気付アドレスに基づいて、秘密鍵を用いた暗号化により生成されるものである。
【０００８】
モバイルノードは、ＨｏＴメッセージ及びＣｏＴメッセージの両方のメッセージを受信した場合、通信相手ノードに対して、認証情報（Authenticator）を含むＢＵを送信することが可能となる。この認証情報は、ＨｏＫとＣｏＫとを連結して生成された鍵を使用して、暗号化によって生成されるＢＵのチェックサムである。この方法で、通信相手ノードは、ＢＵを受信した場合には、独自にチェックサムの計算を行い、このチェックサムが認証情報内のものと同一であることを確認することが可能となり、ＢＵに記載されている気付アドレスとホームアドレスとが、実際に関連付けられたものであることが確認される。
【０００９】
また、下記の特許文献１には、リターンルータビリティ手順が、中間者による攻撃（man-in-the-middle attack）を受けやすいことが記載されている。この特許文献１では、この議論に続いて、ホームエージェントがコレスポンデントノードとの鍵交換を行って、モバイルノードに鍵情報を渡すリターンルータビリティの派生例が提案されている。
【００１０】
一方、無線デバイスの台数の増加はさらに加速しており、モビリティ技術において、新たな技術分野（class）が現れるであろうことが予想される。その１つが、ノードを含むネットワーク全体が、そのまま接続ポイントを変えるネットワークモビリティである。個々のホスト用のモビリティサポートの概念を、ノードを含むネットワーク用のモビリティサポートに拡張した場合、移動を行うネットワークに係る解決策は、モバイルネットワークがインターネットに対してどの接続ポイントで接続している場合でも、プライマリグローバルアドレスでモバイルネットワーク内のノードに到達可能とすることができる機構の提供を目的としている。
【００１１】
このようなモバイルＩＰに基づいて移動を行うネットワークの問題に対する解決策を与えようとするいくつかの試みが、既に存在している。移動を行うネットワークの問題に対して提案された解決策の１つが、下記の特許文献２に記載されているモバイルルータサポートである。ここでは、モバイルネットワークを制御するモバイルルータは、ホームドメインに存在する際に、あるルーティングプロトコルを使用して、モバイルネットワークへのパケット、又はモバイルネットワークからのパケットのルーティングを実行する。一方、モバイルルータ及びそのモバイルネットワークがフォーリンドメインに移動した場合には、モバイルルータは自身のホームエージェントにその気付アドレスを登録し、その後、モバイルルータとホームエージェントとの間でトンネルのセットアップが行われる。そして、モバイルルータがホームドメインに存在していたときに使用されていたルーティングプロトコルが、このトンネルを通じて再度実行される。これによって、モバイルネットワークに向かうあらゆるパケットは、ホームエージェントによって受信（intercept）され、トンネルを通じてモバイルルータに転送されることとなる。そして、パケットは、モバイルルータによって、そのモバイルネットワーク内のホストに転送される。一方、そのモバイルネットワーク内のノードが、モバイルネットワーク外部へのパケットの送信を行おうとする場合には、モバイルルータがそのパケットを受信（intercept）し、トンネルを通じてホームエージェントにパケットの転送を行い、ホームエージェントによって、設定された受信者に対して、パケットの送信が行われる。また、下記の特許文献３に開示されている別の解決策も、ＩＰｖ６のみに対するサポートに特定して記述されているものの、ほぼ同様である。
【００１２】
一方、下記の特許文献４には、モバイルルータの気付アドレスとして、マルチキャストアドレスを使用する方法が開示されている。これによれば、モバイルルータは、新たなアクセスネットワークに移動した後でも、同一の気付アドレスを使用して到達可能となる。また、ＩＥＴＦでは、下記の非特許文献２に開示されているように、ネットワークモビリティの解決策（モバイルＩＰｖ６の拡張であるＮＥＭＯベーシックサポート）が現在も展開されている。非特許文献２には、モバイルルータが、ホームエージェントに対してＢＵを送信する際に、モバイルネットワーク内のノードが使用しているネットワークプレフィックスを明記できる旨が記載されている。ネットワークプレフィックスは、ＢＵに挿入されるネットワークプレフィックスオプションとして知られる特別なオプションを使用して明記される。これにより、ホームエージェントは、ネットワークプレフィックスに基づいて、ルーティングテーブルを構築することが可能となり、その結果、ホームエージェントは、このネットワークプレフィックスを送信先とするすべてのパケットを、モバイルルータの気付アドレスに転送することができるようになる。
【００１３】
モバイルネットワークノードがコレスポンデントノードと通信を行うために、モバイルＩＰｖ６に記載されている経路最適化技術を使用する場合には、モバイルネットワークノードは、モバイルルータとそのホームエージェントとの間のトンネリングによって、依然として準最適化ルーティングを受けることになる。図１には、この例が図示されている。ここでは、ＭＮ１２０は、グローバルインターネット１００にアクセスするために、モバイルルータＭＲ１１０の配下に接続されている。また、ＭＮ１２０はコレスポンデントノードＣＮ１４０と通信を行っている。ＨＡ１３０はＭＲ１１０に関するホームエージェントであり、ＨＡ１３５はＭＮ１２０に関するホームエージェントである。ＭＮ１２０及びＣＮ１４０はリターンルータビリティテストを終了して、経路最適化を使用している場合であっても、ＭＮ１２０とＣＮ１４０との間で送信されるパケットは、経路１５０、１５１、１５２を経由する必要がある。これはＭＲ１１０とＨＡ１３０との間には、双方向トンネル１５１が維持されているからである。
【００１４】
本当の経路最適化を達成する方法の１つとしては、非特許文献３及び非特許文献４に記載されているように、コレスポンデントノードに送信されるＢＵメッセージに、モバイルルータ情報（いわゆる上位レベルルータ情報、通常は上位レベルルータのアドレス（上位レベルルータのイグレスインタフェースのアドレス）であるが、これに限定されるものではない）を含ませる。非特許文献３では、これは、データパケットに付加されるリバースルーティングヘッダを使用して、上位レベルルータがそれぞれのアドレスを記録できるようにすることによって達成される。そして、受信者（コレスポンデントノードなど）は、リバースルーティングヘッダ内のアドレスの順序を逆にしたルーティングヘッダを記載することによって、パケットを直接モバイルノードに送信することができるようになる。また、非特許文献４では、これは、上位レベルルータのアドレスを伝えるために、モバイルノードがアクセスルータオプションと呼ばれる特別なオプションを挿入することによって達成される。これにより、受信者は、リバースルーティングヘッダを使用することによって、上位レベルルータを経由してモバイルノードにパケットを送信することができるようになる。
【非特許文献１】Johnson, D. B., Perkins, C. E., and Arkko, J., "Mobility Support in IPv6", Internet Draft: draft-ietf-mobileip-ipv6-24.txt, Work In Progress, June 2003.
【非特許文献２】Devarapalli, V., et. al., "NEMO Basic Support Protocol", IETF Internet Draft: draft-ietf-nemo-basic-02.txt, Dec 2003.
【非特許文献３】Thubert, P. et. al., "IPv6 Reverse Routing Header and its Application to Mobile Networks", IETF Internet Draft: draft-thubert-nemo-reverse-routing-header-05.txt, June 2004.
【非特許文献４】Ng, C. W. et. al., "Securing Nested Tunnel Optimization with Access Router Option", IETF Internet Draft: draft-ng-nemo-access-router-option-01.txt, July 2004.
【特許文献１】米国特許公開２００４−１７９６８８号公報
【特許文献２】米国特許第６６３６４９８号公報
【特許文献３】米国特許公開２００３−１１７９６５号公報
【特許文献４】米国特許公開２００３−９５５２３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、非特許文献３及び非特許文献４では、コレスポンデントノードが、上位レベルルータ情報（すなわち、リバースルーティングヘッダ又はアクセスルータオプション）が偽証されていないことを検証できる方法については記載されていない。このような検証方法が存在しないので、コレスポンデントノードは、様々なセキュリティの脆弱性にさらされることになる。例えば、攻撃者（attacker）は、コレスポンデントノードに送信されるＢＵメッセージ内の上位レベルルータ情報に犠牲者（victim）のアドレスを記載するかもしれない。上位レベルルータ情報が正しいかどうかを検証する方法がなければ、コレスポンデントノードは、攻撃者が中間位置（中継点）として指定した犠牲者のアドレスに向けて、知らずにパケットを送信してしまうかもしれず、その結果、犠牲者のネットワークに対して、要求されていないパケットが大量に送信されてしまうかもしれない。
【００１６】
また、特許文献１には、リターンルータビリティ手順が、中間者による攻撃を受けやすいことが記載されており、この問題を解決するため、ホームエージェントがコレスポンデントノードとの鍵交換を行って、モバイルノードに鍵情報を渡す方法が開示されているが、この方法では、ホームエージェントが複雑な構成となってしまうとともに、その処理負荷が大きくなってしまうという問題がある。
【００１７】
本発明は、従来の技術に係る不利益や短所を克服するか、あるいは実質的に改善することを目的とする。特に、本発明は、所定のノードの上位レベルルータの情報（上位レベルルータ情報）が有効であるか否かを検証することを可能とするネットワーク管理装置及びネットワーク管理方法を提供することを目的とする。
【課題を解決するための手段】
【００１８】
上記目的を達成するため、本発明によれば、サブネットワークに接続している第１通信ノードと、前記第１通信ノードの通信相手となる第２通信ノードと、前記サブネットワーク内又は前記サブネットワークの上位に存在するルータとにより構成されている通信システムにおいて、所定の情報が前記ルータの識別情報か否かの検証を行うためのネットワーク管理方法であって、
前記第１通信ノードが、前記所定の情報を取得するステップと、
前記第１通信ノードが、前記所定の情報を含む第１メッセージを生成して、前記第１メッセージを前記第２通信ノードに送信するステップと、
前記第２通信ノードが、前記第１メッセージに対する応答の第２メッセージであって、前記第１メッセージに含まれている前記所定の情報に基づいて、前記所定の情報により識別される中間ルータを経由して前記第１通信ノードに到達するように設定される前記第２メッセージを生成して、前記第２メッセージを前記第２通信ノードに送信するステップと、
前記所定の情報により識別される前記中間ルータが、前記第２メッセージを受信するステップと、
前記所定の情報により識別される前記中間ルータが、前記所定の情報が自身の識別情報である場合には、前記第１通信ノードに向けて前記第２メッセージを送信し、前記所定の情報が自身の識別情報ではない場合には、前記第２メッセージを破棄するステップとを、
有するネットワーク管理方法が提供される。
これにより、上位レベルルータ情報（所定のノードの上位レベルルータの情報）が有効であるか否かの検証が可能となる。
【００１９】
また、上記目的を達成するため、本発明によれば、サブネットワークに接続している第１通信ノードと、前記第１通信ノードの通信相手となる第２通信ノードと、前記サブネットワーク内又は前記サブネットワークの上位に存在するルータとにより構成されている通信システムにおいて、所定の情報が前記ルータの識別情報か否かの検証を行う、前記第１通信ノード内に配置されたネットワーク管理装置であって、
前記所定の情報を取得する情報取得手段と、
前記所定の情報を含む第１メッセージを生成して、前記第１メッセージを前記第２通信ノードに送信する第１メッセージ生成送信手段と、
前記第１メッセージに対する前記第２通信ノードからの応答である第２メッセージであって、前記第１メッセージに含まれている前記所定の情報に基づいて、前記所定の情報により識別される中間ルータを経由して前記第２通信ノードに到達するように設定された前記第２メッセージを受信する第２メッセージ受信手段と、
前記第２メッセージ受信手段によって前記第２メッセージを受信した場合、前記所定の情報が前記ルータの識別情報である旨を決定する決定手段とを、
有するネットワーク管理装置が提供される。
これにより、第１通信ノードが、上位レベルルータ情報（所定のノードの上位レベルルータの情報）が有効であるか否かを把握できるようになる。
【００２０】
また、上記目的を達成するため、本発明によれば、サブネットワークに接続している第１通信ノードと、前記第１通信ノードの通信相手となる第２通信ノードと、前記サブネットワーク内又は前記サブネットワークの上位に存在するルータとにより構成されている通信システムにおいて、所定の情報が前記ルータの識別情報か否かの検証を行う、前記第１通信ノード内に配置されたネットワーク管理装置であって、
前記所定の情報を取得する情報取得手段と、
前記所定の情報を含む第１メッセージを生成して、前記第１メッセージを前記第２通信ノードに送信する第１メッセージ生成送信手段と、
前記第１メッセージに対する前記第２通信ノードからの応答である第２メッセージであって、前記第１メッセージに含まれている前記所定の情報に基づいて、前記所定の情報により識別される中間ルータを経由して前記第２通信ノードに到達するように設定された前記第２メッセージを受信する第２メッセージ受信手段と、
前記第２メッセージに対する応答である第３メッセージを生成して、前記第２通信ノードに送信する第３メッセージ生成送信手段とを、
有するネットワーク管理装置が提供される。
これにより、第２通信ノードが、上位レベルルータ情報（所定のノードの上位レベルルータの情報）が有効であるか否かを把握できるようになる。
【００２１】
また、上記目的を達成するため、本発明によれば、サブネットワークに接続している第１通信ノードと、前記第１通信ノードの通信相手となる第２通信ノードと、前記サブネットワーク内又は前記サブネットワークの上位に存在するルータとにより構成されている通信システムにおいて、所定の情報が前記ルータの識別情報か否かの検証を行う、前記第２通信ノード内に配置されたネットワーク管理装置であって、
前記第１通信ノードから前記所定の情報を含む第１メッセージを受信する第１メッセージ受信手段と、
前記第１メッセージに対する応答である第２メッセージであって、前記第１メッセージに含まれている前記所定の情報に基づいて、前記所定の情報により識別される中間ルータを経由して前記第１通信ノードに到達するように設定される前記第２メッセージを生成して、前記第２メッセージを前記第２通信ノードに送信する第２メッセージ生成送信手段と、
前記第２メッセージに対する前記第１通信ノードからの応答である第３メッセージを受信する第３メッセージ受信手段と、
前記第３メッセージ受信手段によって前記第３メッセージを受信した場合、前記所定の情報が前記ルータの識別情報である旨を決定する決定手段とを、
有するネットワーク管理装置が提供される。
これにより、第２通信ノードが、上位レベルルータ情報（所定のノードの上位レベルルータの情報）が有効であるか否かを把握できるようになる。
【発明の効果】
【００２２】
本発明は、上記構成を有しており、所定のノードの上位レベルルータの情報（上位レベルルータ情報）が有効であるか否かを検証することが可能となる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照しながら、本発明の実施の形態について説明する。図２は、本発明の実施の形態における通信システムの第１の例を示す図である。図２において、ＭＮ２２０は、上位レベルモバイルルータ（ＵＬＭＲ：upper-level mobile router）２１０に接続されており、このＵＬＭＲ２１０を経由してグローバルインターネット２００へのアクセスを行う。また、ＨＡ２３０はＵＬＭＲ２１０に関するホームエージェントであり、ＨＡ２３５は、ＭＮ２２０に関するホームエージェントである。また、ＭＮ２２０は、コレスポンデントノードＣＮ２４０と通信を行っている。なお、ＭＮ２２０は、モバイルホスト又はモバイルルータのどちらかであってもよい。本明細書では、モバイルノードという用語は、モバイルＩＰｖ６プロトコルを使用するモバイルホスト、又はＮＥＭＯベーシックサポートプロトコルを使用するモバイルルータを指すものとみなされる。
【００２４】
最適化されていない場合のルーティングでは、ＣＮ２４０からＭＮ２２０まで送信されるパケットは、まずＨＡ２３５に転送されて、そこでＭＮ２２０へのパケットにカプセル化される。しかしながら、このカプセル化パケットはＨＡ２３０に送信され、そこでＵＬＭＲ２１０へのパケットにカプセル化される。その後、ＵＬＭＲ２１０はパケットの脱カプセル化を行って、ＭＮ２２０に渡す。
【００２５】
経路最適化は２つの方法によって使用可能である。第１の方法では、ＭＮ２２０が、ＣＮ２４０に対して上位レベルルータ情報を通知することによって、直接コレスポンデントノードＣＮ２４０との間で経路最適化の実行を試みることが可能である。また、第２の方法では、パケットがＨＡ２３０とＵＬＭＲ２１０との間の双方向トンネルを経由する必要がないように、ＨＡ２３５とＭＮ２２０との間で部分的な経路最適化（入れ子状態のトンネル最適化：nested tunnel optimization）が実行可能である。これは、ＨＡ２３５に対して上位レベルルータ情報を送信することによって行われる。
【００２６】
これらの２つの方法には違いがある。コレスポンデントノードに関する第１の方法では、ＭＮ２２０とＣＮ２４０との間には、セキュリティ関係が存在していないと推定される。したがって、リターンルータビリティ手順が行われる必要がある。このような場合には、本発明では、ＣＮ２４０がＭＮ２２０から受信する上位レベルルータ情報を検証することができるように、リターンルータビリティ手順を拡張した処理の実行が明示される。ホームエージェントに関する第２の方法では、ＭＮ２２０とＨＡ２３５との間には既にセキュリティ関係が存在することが想定でき、その結果、リターンルータビリティテストを行う必要はない。このような場合には、本発明では、ＨＡ２３５が、上位レベルルータ情報が正しいことを検証できるように、通常のモバイルＩＰｖ６のバインディングアップデート処理を拡張した処理の実行が明示される。
【００２７】
まず、ホームエージェントがモバイルノードから送信される上側レベルモバイルルータ情報の有効性を検証する場合について説明する。基本的には、これは、ＢＵメッセージの応答として送信されるＢＡメッセージ（Binding acknowledgement message）にルーティングヘッダ（ＲＨ：Routing Header）を挿入することによって行われる。ルーティングヘッダには、パケットが通過しなければならない一連の中間あて先（intermediate destinations）が記載される。
【００２８】
ルーティングヘッダを処理する際に、まず、最初の送信元（original source）は、最初の中間あて先（first intermediate destination）にパケットを送信する。そして、最終のあて先（final destination）に到達するまでの間に、すべての中間あて先がルーティングヘッダの更新を行うとともに、次の中間あて先にパケットを転送する。この場合、ホームエージェントは、中間あて先として上位レベルモバイルルータを指定し（上位レベルルータ情報で指定されるように）、最終のあて先としてモバイルノードを指定する。したがって、上位レベルルータ情報が正当なものであるならば、モバイルノードはＢＡメッセージを受信することが可能となる。このＢＡメッセージは、モバイルノードがホームエージェントに対して強制的に応答を送り返すような構造を有しており、ホームエージェントは、モバイルノードによってＢＡメッセージの受信が行われたことを把握することができる。なお、これによって、上位レベルルータ情報が正しいことが検証されてもよい。
【００２９】
ルーティングヘッダに関する重要なポイントは、現在配備されているノードのほとんどが、次のあて先への経路がこのノードにパケットが到着した経路と同一ではない場合あるいはこの場合にのみ、このノードが中間あて先として記載されているルーティングヘッダを有するパケットを引き続き転送する動作を行うに過ぎないという点である。
【００３０】
一例として、２つのネットワークインタフェース（１つがイグレス、もう１つがイングレス）を有するノードを考える。このノードが、自身が中間あて先として記載されているルーティングヘッダを有するパケットを、そのイグレスインタフェースから受信した場合には、このノードは、ルーティングヘッダに記載されている次のあて先がそのイングレスインタフェースの経路上に位置している場合に、引き続きパケットの転送を行うだけである。次の目的地が、パケットを受信したときと同一方向（すなわちイグレスインタフェース）に位置している場合には、ノードはこのパケットを破棄する。このようなルーティングヘッダの処理は、ネットワークインタフェースをただ１つしか有さないノードでは、このノード自体がルーティングヘッダの最終のあて先に指定されていない場合を除いて、ルーティングヘッダを有するすべてのパケットが破棄されることを意味している。
【００３１】
また、図３は、本発明の実施の形態における通信システムにおけるメッセージシーケンスの第１の例を示す図である。図３には、ＨＡ２３５がＭＮ２２０から送信される上位レベルルータ情報の検証を行うための好適な方法に係るメッセージシーケンスが図示されている。まず、ＭＮ１００は通常、ＵＬＭＲ２１０によってブロードキャストされたルータ通知（ＲＡ：router advertisement）メッセージを受信することによって、その上位レベルルータ（ＵＬＭＲ２１０）に関する情報を発見する。ＲＡメッセージにはＭＮ２２０が上位レベルルータ情報（ＵＬＲＩ：upper-level router information）を抽出するために必要な情報が含まれている。図３においては、ＲＡメッセージの送信は、ＲＡ＋ＵＬＲＩ３１０によって示されている。そして、ＭＮ２２０は、上位レベルルータ情報を含むＢＵメッセージ３２０をＨＡ２３５に送信する。上位レベルルータ情報の有効性について検証を行うため、ＨＡ２３５はＢＡメッセージ３３０をＭＮ２２０に送信する。
【００３２】
なお、ＨＡ２３５は、このＢＡメッセージ３３０がＵＬＭＲ２１０を経由しなければならないようにするため、ＢＡメッセージ３３０にルーティングヘッダ（図３ではＲＨと記載）を挿入する。さらに、ＢＡメッセージ３３０のライフタイムフィールドは非常に小さい値に設定され、ＭＮ２２０に非常に短い時間でＢＵメッセージを再度送信させる。ＵＬＭＲ２１０はＢＡメッセージ３３０を受信した場合、ルーティングヘッダを更新して、ＢＡメッセージ３４０をＭＮ２２０に転送する。そして、バインディングに関する非常に短いライフタイムが満了した後、ＭＮ２２０は、バインディングを更新するために新たなＢＵメッセージ（ＢＵ＋ＵＬＲＩ）３５０を送信する。ＨＡ２３５は、この所定の短い時間以内に送信されてくる２度目のＢＵメッセージ３５０を受信した場合に、上位レベルルータ情報が有効なものであることを把握することができる。そして、ＨＡ２３５は、ＭＮ２２０からのＢＵメッセージ３５０を受け入れて、このＢＵメッセージ３５０に関して、通常のライフタイムを設定したバインディングの登録を行うとともに、ＢＡメッセージ（ＢＡ＋ＲＨ）３６０を返信する。このＢＡメッセージ３６０は、ＵＬＭＲ２１０を経由して転送され、ＭＮ２２０は、ＢＡメッセージ３７０を受信することによって、バインディングアップデートに係る動作が完了する。なお、ＢＵメッセージ３５０の応答（ＢＡメッセージ）は、必ずしもＵＬＲＩ２１０を経由する必要はなく、２度目に送信されるＢＵメッセージ３５０は、通常のＢＵメッセージであってもよい。
【００３３】
また、図４は、本発明の実施の形態における通信システムにおけるメッセージシーケンスの第２の例を示す図である。図４には、上位レベルルータ情報が無効（例えば、不正な情報）である場合が示されている。なお、ここでは説明を行うために、上位レベルルータ情報には、犠牲者（victim）ノード４１０のアドレスが含まれていると仮定する。ＨＡ２３５は、ＭＮ２２０からＢＵメッセージ（ＢＵ＋ＵＬＲＩ）４２０を受信した場合、小さいライフタイム値を有するＢＡメッセージ（ＢＡ＋ＲＨ）４３０をＭＮ２２０に送信する。ＢＡメッセージ４３０には、中間あて先として犠牲者ノード４１０が指定されているルーティングヘッダが含まれている。犠牲者ノード４１０は、実際にはＭＮ２２０の上位レベルモバイルルータでないので、単にＢＡメッセージ４３０の破棄を行う。したがって、ＭＮ２２０から第２のＢＵメッセージを受信しなかったＨＡ２３５は、短い時間である期間（タイムアウト値）４５０の後に、上位レベルルータ情報は無効であるとみなす。そして、ＨＡ２３５は、前のＢＵメッセージ４２０が拒絶された旨をＭＮ２２０に通知する否定的なＢＡメッセージ（ＢＡ（Ｎｅｇ））４４０の送信を行う。
【００３４】
タイムアウト値４５０は、ＭＮ２２０が第２のＢＵメッセージを送信するために十分な値が選択される必要がある。したがって、この値は、ＭＮ２２０に到達するＢＡメッセージに要する時間と、ＢＡメッセージに記載されたライフタイム値と、ＭＮ２２０から送信される第２のＢＵメッセージに要する時間の合計以上の値である必要がある。
【００３５】
また、無効なルーティングヘッダを有するＢＡメッセージ４３０を受信した犠牲者ノード４１０が、インターネット制御メッセージプロトコル（ＩＣＭＰ：Internet Control Message Protocol）エラーメッセージをＨＡ２３５に送信してもよい。このようなＩＣＭＰエラーの受信によって、ＨＡ２３５は、上位レベルルータ情報が無効（例えば、不正な情報）である旨が示されるようになる。これにより、ＨＡ２３５は、タイムアウトを待つ必要はなく、即座に否定的なＢＡメッセージ４４０を送信することが可能となる。
【００３６】
また、検証の好適な別の方法としては、ホームエージェントがＢＡメッセージにエコー要求オプションを挿入することが挙げられる。これは、モバイルノードにエコー応答による返答を強制し、その結果、ＢＡメッセージの受信に成功した旨がホームエージェントに通知され、さらに、これによって、上位レベルルータ情報が正しいことが検証可能となる。
【００３７】
また、図５は、本発明の実施の形態における通信システムにおけるメッセージシーケンスの第３の例を示す図である。図５には、上述の方法を示すメッセージシーケンスが図示されている。ＭＮ２２０は、上位レベルモバイルルータＵＬＭＲ２１０から受信したＲＡメッセージ（ＲＡ＋ＵＬＲＩ）５１０から上位レベルルータ情報を抽出する。そして、ＭＮ２２０は、上位レベルルータ情報を含むＢＵメッセージ（ＢＵ＋ＵＬＲＩ）５２０をＨＡ２３５に送信する。
【００３８】
上位レベルルータ情報の有効性について検証を行うために、ＨＡ２３５はＢＡメッセージ５３０をＭＮ２２０に送信する。ＨＡ２３５は、このＢＡメッセージ５３０にルーティングヘッダを挿入して、ＢＡメッセージがＵＬＭＲ２１０を経由しなければならないようにする。さらに、ＢＡメッセージにはエコー要求オプションが挿入される。ＵＬＭＲ２１０は、ＢＡメッセージ（ＢＡ＋ＲＨ＋Ｅｃｈｏ−Ｒｅｑｕｅｓｔ）５３０を受信した場合に、ルーティングヘッダを更新して、ＢＡメッセージ（ＢＡ＋Ｅｃｈｏ−Ｒｅｑｕｅｓｔ）５４０をＭＮ２２０に転送する。ＢＡメッセージ内にエコー要求オプションを発見したＭＮ２２０は、エコー応答（Ｅｃｈｏ−Ｒｅｐｌｙ）５５０をＨＡ２３５に送信する。ＨＡ２３５は、エコー応答５５０を受信した場合には、上位レベルルータ情報が有効であることを把握する。
【００３９】
また、図６は、本発明の実施の形態における通信システムにおけるメッセージシーケンスの第４の例を示す図である。図６には、上位レベルルータ情報が無効（例えば、不正な情報）である場合が示されている。なお、ここでは説明を行うために、上位レベルルータ情報には、犠牲者（victim）ノード６１０のアドレスが含まれていると仮定する。ＨＡ２３５は、ＭＮ２２０からＢＵメッセージ（ＢＵ＋ＵＬＲＩ）６２０を受信した場合、エコー要求オプションを有するＢＡメッセージ（ＢＡ＋ＲＨ＋Ｅｃｈｏ−Ｒｅｑｕｅｓｔ）６３０をＭＮ２２０に送信する。ＢＡメッセージ６３０には、中間あて先として犠牲者ノード６１０が指定されているルーティングヘッダが含まれている。犠牲者ノード６１０は、実際にはＭＮ２２０の上位レベルモバイルルータではないので、単にＢＡメッセージ６３０の破棄を行う。したがって、ＭＮ２２０からエコー応答を受信しなかったＨＡ２３５は、短い時間である期間（タイムアウト値）６５０の後に、上位レベルルータ情報は無効であるとみなす。そして、ＨＡ２３５は、前のＢＵメッセージ６２０が拒絶された旨をＭＮ２２０に通知する否定的なＢＡメッセージ（ＢＡ（Ｎｅｇ））６４０の送信を行う。なお、ＨＡ２３５は、ＭＮ２２０からエコー応答を受信できなかった場合に、単に、ＵＬＲＩが確認できなかった旨をＭＮ２２０に伝えるだけでもよい。
【００４０】
また、タイムアウト値６５０は、ＭＮ２２０がエコー応答を送信するために十分な値が選択される必要がある。したがって、この値は、ＭＮ２２０に到達するＢＡメッセージに要する時間と、ＭＮ２２０から送信されるエコー応答に要する時間の合計以上の値である必要がある。
【００４１】
また、無効なルーティングヘッダを有するＢＡメッセージ６３０を受信した犠牲者ノード６１０が、ＩＣＭＰエラーメッセージをＨＡ２３５に送信してもよい。このようなＩＣＭＰエラーの受信によって、ＨＡ２３５は、上位レベルルータ情報が無効（例えば、不正な情報）である旨が示されるようになる。これにより、ＨＡ２３５は、タイムアウトを待つ必要はなく、即座に否定的なＢＡメッセージ６４０を送信することが可能となる。
【００４２】
なお、例えば、エコー応答メッセージには、エコー要求オプションを含むＢＡメッセージのいずれかの部分が複製される必要がある。これにより、攻撃者は偽のエコー応答を送信して、ホームエージェントが上位レベルルータ情報を受け入れるように仕組むことができなくなる。また、モバイルノードとホームエージェントとの間にはセキュリティ関係が存在すると仮定することも可能である。ここでは、このセキュリティ関係を使用することでエコー応答が保護され、ホームエージェントによってエコー応答の正当性が検証されることが望ましい。
【００４３】
また、モバイルＩＰｖ６（及び、ＮＥＭＯベーシックサポート）の下では、モバイルノードとホームエージェントとの間で送信されるＢＵメッセージ及びＢＡメッセージは、モバイルノードとホームエージェントとの間に存在すると仮定されるセキュリティ関係によって保護されるべきであることに注意する必要がある。これは、図２〜６に記載されているＢＵメッセージ及びＢＡメッセージに適用される。
【００４４】
モバイルノードとコレスポンデントノードとの間には、セキュリティ関係があらかじめ存在していることが仮定できないので、モバイルノードがコレスポンデントノードと経路最適化を実行する必要がある場合には、上位レベルルータ情報の検証はもう少し複雑になる。上位レベルルータ情報の検証を可能とするため、本発明では、従来のリターンルータビリティ手順を拡張し、さらに、上位レベルモバイルルータを経由したリターンルータビリティテストが行われる。
【００４５】
図７は、本発明の実施の形態における通信システムにおけるメッセージシーケンスの第５の例を示す図である。図７には、ＭＮ２２０とコレスポンデントノード２４０との間において、本発明に基づいて拡張されたリターンルータビリティ手順に関するメッセージシーケンスが図示されている。従来と同様に、ＭＮ２２０は、その上位レベルモバイルルータＵＬＭＲ２１０から受信したＲＡメッセージ（ＲＡ＋ＵＬＲＩ）７１０から、上位レベルルータ情報を抽出する。そして、次に、ＨｏＴＩメッセージ７２０及びＣｏＴＩメッセージ７４０の送信処理を行う。
【００４６】
ＨｏＴＩメッセージ７２０は、ＭＮ２２０のホームアドレスが送信元アドレスとして使用されて送信される。したがって、ＭＮ２２０とＨＡ２３５との間で確立される双方向トンネルを通り、ＨＡ２３５を経由して転送される。このＨｏＴＩメッセージ７２０（又は、トンネルを超えたＨｏＴＩメッセージ７２５）の内容は、本来のリターンルータビリティ手順と完全に同一である。また、ＣｏＴＩメッセージ７４０は、ＭＮ２２０の気付アドレスが送信元アドレスとして使用されて送信される。ＣｏＴＩメッセージ７４０の内容は、本来のリターンルータビリティ手順で説明されているものに、さらに上位レベルルータ情報が付加的に包含されたものと同一である。
【００４７】
ＣＮ２４０は、ＨｏＴＩメッセージ７２５を受信した場合には、ＨｏＴメッセージ７３０で応答を行う。このＨｏＴメッセージ７３０の内容は、本来のリターンルータビリティ手順と完全に同一である、特に、ＨｏＴメッセージ７３０は、ＭＮ２２０のホームアドレスに基づいて暗号化により生成されたＨｏＫを含んでいる。ＨｏＴメッセージ７３０は、ＭＮ２２０のホームアドレスに送信され、ＨＡ２３５によって受信（intercept）された後、トンネルを通じて送信される。ＣＮ２４０は、上位レベルルータ情報が付加されたＣｏＴＩメッセージ７４０を受信すると、通常のＣｏＴメッセージ７５０及び特別なＣｏＴメッセージ（ｘＣｏＴ＋ＲＨ）７６０を返送する。
【００４８】
通常のＣｏＴメッセージ７５０は、本来のリターンルータビリティ手順におけるＣｏＴメッセージと同一の内容を含んでいる。特に、ＣｏＴメッセージ７５０は、ＭＮ２２０の気付アドレスに基づいて暗号化により生成されたＣｏＫを含んでいる。また、ｘＣｏＴメッセージ７６０は、ＣｏＴＩメッセージ７４０に記載されている上位レベルルータ情報に基づいて暗号化により生成された特別なCare-of Keygen Token（ｘＣｏＫ）を含んでいる。ＣｏＴメッセージ７５０はＭＮ２２０の気付アドレスに対して直接送信され、ｘＣｏＴメッセージ７６０は、ＣｏＴＩメッセージ７４０に記載されている上位レベルルータを通じたパケットの伝送を行うルーティングヘッダを使用して、ＭＮ２２０に送信される。図７に図示されている例では、ＵＬＭＲ２１０は、このｘＣｏＴメッセージ７６０を受信し、ルーティングヘッダに係る処理を行って、処理後のｘＣｏＴメッセージ７６５を最終のあて先（ＭＮ２２０）に転送する。
【００４９】
ＭＮ２２０は、ｘＣｏＴメッセージ７６５を受信すると、リターンルータビリティ手順を完了するためにＢＵメッセージ（ＢＵ＋ＵＬＲＩ）７７０をＣＮ２４０に送信することが可能となる。ＢＵメッセージ７７０には、ＭＮ２２０は上位レベルルータ情報と、ＨｏＴメッセージ７３５、ＣｏＴメッセージ７５０、ｘＣｏＴメッセージ７６５のそれぞれから抽出されるＨｏＫ、ＣｏＫ、ｘＣｏＫの各トークンを連結して暗号化によって生成されたチェックサムとが含まれる。ＣＮ２４０は、ＢＵメッセージ７７０からの情報に基づいて、ＣｏＫ、ＨｏＫ、ｘＣｏＫトークンをそれぞれ生成して、チェックサムがＢＵメッセージ７７０の合符に含まれているか否かを検証することができる。これによって、気付アドレス及びホームアドレスが共存しているかの検証に加えて、上位レベルルータ情報の有効性の検証が行われる。
【００５０】
図８は、本発明の実施の形態における通信システムにおけるメッセージシーケンスの第６の例を示す図である。図８には、ＣｏＴＩメッセージ８２０に挿入された上位レベルルータ情報が無効（例えば、不正な情報）である場合が図示されている。なお、簡潔にするため、図８には、ＨｏＴＩ及びＨｏＴメッセージの送信は図示されていない。
【００５１】
上述のように、ＣＮ２４０は、ＣｏＴＩメッセージ８２０を受信した後に、ＣｏＴメッセージ８３０とｘＣｏＴメッセージ８４０によって応答を行う。ＣｏＴメッセージ８３０は、通常のリターンルータビリティ手順と同一の内容を含んでいる。また、ｘＣｏＴメッセージ８４０は、ｘＣｏＫトークンが上位レベルルータ情報に基づいて生成され、メッセージがルーティングヘッダに追加されることによって、ｘＣｏＴメッセージ８４０が上位レベルルータ情報に記載された上位レベルルータを通じて転送されることを除いて、ＣｏＴメッセージと同じコンテンツを含んでいる。ＣｏＴＩメッセージ８２０に記載されている上位レベルルータ情報は無効（例えば、不正な情報）であり、ｘＣｏＴメッセージ（ｘＣｏＴ＋ＲＨ）８４０は、犠牲者（victim）ノード８１０に発送される。犠牲者ノード８１０はｘＣｏＴメッセージ８４０を破棄し、その結果、ＭＮ２２０はｘＣｏＴメッセージ８４０を受信しない。
【００５２】
ここで、ＭＮ２２０が上位レベルルータ情報を有するＢＵメッセージ（ＢＵ＋ＵＬＲＩ）８５０の送信処理を行った場合、ＣＮ２４０は、チェックサムが無効であることを検出する。これは、ＭＮ２２０がＣｏＫ及びＨｏＫトークンのみに基づくチェックサムを生成する一方、ＣＮ２４０が独自に生成したＨｏＫ、ＣｏＫ、ｘＣｏＫトークンに基づくチェックサムを生成することによって行われる。したがって、ＣＮ２４０は否定的なＢＡメッセージ（ＢＡ（Ｎｅｇ）））８６０によって、ＢＵメッセージ８５０を拒絶する。
【００５３】
なお、ｘＣｏＴメッセージによって、気付アドレス及び上位レベルルータ情報の両方の有効性が検証できるので（ＣｏＴメッセージは、気付アドレスの有効性の検証が可能）、ＣｏＴメッセージ及びｘＣｏＴメッセージの両方の送信は冗長な形式であると言える。ＣｏＴメッセージ及びｘＣｏＴメッセージの両方が送信される理由は、上位レベルルータ情報が無効（例えば、不正な情報）である場合に、ＭＮ２２０が通常のバインディングアップデートとして処理を行えるようにすることにある。図９を参照しながら、上記の場合について説明する。
【００５４】
図９は、本発明の実施の形態における通信システムにおけるメッセージシーケンスの第７の例を示す図である。なお、図９では、ＭＮ２２０がＣｏＴＩメッセージ８２０に挿入した上位レベルルータ情報は無効（例えば、不正な情報）であるとする。図８において説明されるように、ＣＮ２４０は、ＣｏＴメッセージと共に、ルーティングヘッダを有するｘＣｏＴメッセージによってＣｏＴＩメッセージ８２０に応答を行う。ＭＮ２２０は、ＣｏＴメッセージ８３０の受信に成功するが、上位レベルルータ情報が無効なので、ｘＣｏＴメッセージ８４０を受信することができない（ｘＣｏＴメッセージは、犠牲者８１０によって破棄される）。この場合、ＭＮ２２０は、気付アドレスは有効であるが、上位レベルルータ情報は無効（例えば、不正な情報）な情報の可能性があることが把握できる。
【００５５】
このとき、ＭＮ２２０は、上位レベルルータ情報を有さない通常のＢＵメッセージ９５０の送信を行うようにすることが可能である。このような場合には、ＢＵメッセージ９５０のチェックサムは、ＨｏＴ及びＣｏＴメッセージのそれぞれから抽出されるＨｏＫ及びＣｏＫトークンの連結を使用して、暗号化によって生成される。ＢＵメッセージ９５０には上位レベルルータ情報が含まれていないので、ＣＮ２４０は、このＢＵメッセージ９５０を受信した場合には、気付アドレス及びＭＮ２２０のホームアドレスにのみ基づくチェックサムを生成する。これにより、同一のチェックサムの生成がもたらされて、その結果、ＣＮ２４０はＢＵメッセージ９５０を有効なものとして受け入れ、肯定的なＢＡメッセージ９６０によって応答を行う。
【００５６】
上記の例では、上位レベルルータ情報は、１つの上位レベルルータのアドレスのみよって構成されるように示されているが、この上位レベルルータ情報は、複数のレベルにおいてルータに関する情報を含んでいてもよい。この例は、図１０に図示されている。図１０は、本発明の実施の形態における通信システムの第２の例を示す図である。図１０では、ＭＮ２２０は、３つのモバイルルータ（ＵＬＭＲ２１０、ＵＬＭＲ２１１、ＵＬＭＲ２１２）の連なりの配下に存在している。この場合、上位レベルルータ情報には、３つのモバイルルータのすべてのアドレス情報が含まれる。 ＭＮ２２０から自身のＨＡ２３５又はコレスポンデントノードＣＮ２４０に対してバインディングアップデートメッセージが送信される場合、バインディングアップデートメッセージには、ＭＮ２２０がＵＬＭＲ２１０、ＵＬＭＲ２１１、ＵＬＭＲ２１２を経由して到達可能である旨を受信者に通知するための上位レベルルータ情報が含まれる。
【００５７】
ＨＡ２３５は、この上位レベルルータ情報の有効性をチェックする必要がある場合には、上述のようにＢＡメッセージにルーティングヘッダを付加する。ルーティングヘッダは、受信した上位レベルルータ情報に基づいて構成されており、その結果、ＢＡメッセージは、最初にＵＬＭＲ２１２に発送され、その後、ＵＬＭＲ２１１、ＵＬＭＲ２１０を経由して、最終的にＭＮ２２０に到達する。これは、ルーティングヘッダ内に、最初の中間あて先としてＵＬＭＲ２１２、２番目の中間あて先としてＵＬＭＲ２１１、３番目の中間あて先としてＵＬＭＲ２１０、最終のあて先としてＭＮ２２０を指定することによって行われる。
【００５８】
また同様に、ＣＮ２４０は、ＭＮ２２０から受信したＣｏＴＩメッセージ内の上位レベルルータ情報の有効性をチェックする必要がある場合には、上位レベルルータ情報を使用して、ＭＮ２２０に送信されるｘＣｏＴメッセージに付加されるべきルーティングヘッダを構築する。このルーティングヘッダには、２番目の中間あて先としてＵＬＭＲ２１１、３番目の中間あて先としてＵＬＭＲ２１０、最終のあて先としてＭＮ２２０が指定される。
【００５９】
以上の説明によって、本発明に係る改良されたリターンルータビリティ手順が完全に明らかとなった。これ以降は、本発明の具体的な適用例について説明する。
【００６０】
図１１は、本発明の実施の形態におけるモバイルノードの一例を示す機能ブロック図である。図１１には、ＭＮ２２０の好適な機能アーキテクチャが図示されている。ＭＮ２２０は、ネットワーキングプロトコルのセットによって構成されるネットワーキングサポート部１１１０を有している。これは、ＭＮ２２０にネットワーク機能を提供するために必要なすべてのプロトコル、ソフトウェア及びハードウェアを含んでいる。また、ＭＮ２２０はモビリティサポート部１１２０を有している。これは、モバイルＩＰやＮＥＭＯベーシックサポートなどのモバイルプロトコルをサポートするために必要なすべてのソフトウェアを含んでいる。
【００６１】
また、モビリティサポート部１１２０の中には、経路最適化モジュール１１２２及びホーム登録モジュール１１２４が存在する。経路最適化モジュール１１２２はコレスポンデントノードと経路最適化を実行し、ホーム登録モジュール１１２４は、バインディングアップデートメッセージをホームエージェントに送信するなどのホーム登録を行う。また、モバイルノード２２０からバインディングアップデートを受信したコレスポンデントノードを格納するためのバインディングアップデートリスト（ＢＵＬ：binding update list）１１４０、及び上位レベルルータから受信した現在の上位レベルルータ情報を格納するためＵＬＲＩ格納部１１３０の２つのメモリ格納が必要とされる。また、パス１１５０、１１５２、１１５４、１１５６は、これらの機能ブロック間のデータパスを示している。
【００６２】
ネットワーキングサポート部１１１０は、モビリティシグナリングに関連するメッセージ（ＢＡメッセージ、ＣｏＴメッセージ、ｘＣｏＴメッセージなど）を受信した場合には、更なる処理が行われるようにデータパス１１５０を通じてこれらのメッセージをモビリティサポート部１１２０に渡す。また、ネットワーキングサポート部１１１０は、上位レベルルータから上位レベルルータ情報を含む通知を受信した場合には、データパス１１５６を通じてＵＬＲＩ格納部１１３０に格納されている情報の更新を行う。
【００６３】
また、ホーム登録モジュール１１２４は、ＵＬＲＩ格納部１１３０に格納されている情報に基づいて、ＢＵメッセージをホームエージェントに送信する。また、ホーム登録モジュール１１２４は、エコー要求を含むＢＡメッセージを受信した場合には、エコー応答をホームエージェントに返信する機能を有している。
【００６４】
また、経路最適化モジュール１１２２は、コレスポンデントノードとの間でリターンルータビリティ手順を開始する機能を有している。経路最適化モジュール１１２２は、ＨｏＴＩ及びＣｏＴＩメッセージを送信する。このＣｏＴＩには、データパス１１５０を通じて得られるＵＬＲＩ格納部１１３０に格納されている情報に基づいて、上位レベルルータ情報が含まれる。また、経路最適化モジュール１１２２も、コレスポンデントノードからのＨｏＫ、ＣｏＫ、ｘＣｏＫトークンを収集する機能を有している。このため、経路最適化モジュール１１２２は、これらのトークンを格納するために、データパス１１５２を通じてＢＵＬ１１４０を利用する。また、コレスポンデントノードへのＢＵメッセージの送信に成功した場合には、経路最適化モジュール１１２２は、このコレスポンデントノードとの間で経路最適化の可能であることを示すためにＢＵＬ１１４０の更新も行う。
【００６５】
また、図１２は、本発明の実施の形態におけるバインディングアップデートリストの内容の一例を示す図である。図１２には、ＢＵＬ１１４０の内容が図示されている。ＢＵＬ１１４０には、１つ以上のＢＵＬレコード１２００が含まれている。各ＢＵＬレコード１２００には、特定のコレスポンデントノードとの経路最適化セッションに関連している情報を格納するための一連のフィールドが存在する。
【００６６】
例えば、ＢＵＬレコード１２００は、コレスポンデントノードのアドレスを格納するＣＮアドレスフィールド１２１０、コレスポンデントノードに送信されるＭＮ２２０の気付アドレスを格納するＣｏＡフィールド１２２０、コレスポンデントノードに送信される上位レベルルータ情報を格納するＵＬＲＩフィールド１２３０、コレスポンデントノードが送信したＨｏＴメッセージから抽出される暗号鍵生成トークン（ＨｏＫ）を格納するＨｏＫフィールド１２４０、コレスポンデントノードが送信したＣｏＴメッセージから抽出される暗号鍵生成トークン（ＣｏＫ）を格納するＣｏＫフィールド１２５０、コレスポンデントノードから送信されるｘＣｏＴメッセージから抽出される暗号鍵生成トークン（ｘＣｏＫ）を格納するｘＣｏＫフィールド１２６０、バインディングの有効期限を示すライフタイムフィールド１２７０によって構成されている。
【００６７】
また、図１３は、本発明の実施の形態におけるホームエージェントの一例を示す機能ブロック図である。図１３には、ホームエージェント２３５の好適な機能アーキテクチャが図示されている。ＨＡ２３５は、ネットワーキングプロトコルのセットによって構成されるネットワーキングサポート部１３１０を有している。これは、ＨＡ２３５にネットワーク機能を提供するために必要なすべてのプロトコル、ソフトウェア及びハードウェアを含んでいる。
【００６８】
また、ＨＡ２３５は、パケットを転送する際にルーティングを決定する機能を有するルーティング部１３１５と、ホームエージェントとしての機能を提供するホームエージェントモジュール１３２０とを有している。ホームエージェントモジュール１３２０は、バインディングキャッシュ１３４０を利用して、モバイルノードから受信したバインディングの格納を行う。また、パス１３５０、１３５２、１３５４は、これらの機能ブロック間においてデータ及びシグナルの伝送が行われるデータパスを示している。
【００６９】
ネットワーキングサポート部１３１０は、ＢＵメッセージを受信した場合には、更なる処理が行われるようにデータパス１３５０を通じてこのメッセージをホームエージェントモジュール１３２０に渡す。ホームエージェントモジュール１３２０は、ＢＵメッセージを処理するとともに、ＢＵメッセージに従ってデータパス１３５２を通じてバインディングキャッシュ１３４０の更新を行う機能を有している。さらに、ホームエージェントモジュール１３２０は、ＢＵメッセージに上位レベルルータ情報が含まれている場合には、本明細書において開示されている処理を行うことによって、上位レベルルータ情報の有効性を検証する機能も有している。
【００７０】
また、ルーティング部１３１５は、パケットの転送を行う旨を決定した場合には、データパス１３５４を通じてバインディングキャッシュ１３４０を調べ、そのあて先に関連するアドレスが存在するかどうかのチェックを行う。ここで、アドレスが存在する場合には、ルーティング部１３１５は、バインディングキャッシュエントリに記載されている気付アドレスあてにパケットのトンネル化を行う必要がある。また、さらに、関連する上位レベルルータ情報の利用が可能である旨がバインディングキャッシュエントリにおいて示されている場合には、ルーティング部１３１５は、上位レベルルータ情報に基づいて、パケットに追加すべきルーティングヘッダの構築を作成する必要がある。
【００７１】
図１４は、本発明の実施の形態におけるバインディングキャッシュの内容の一例を示す図である。図１４には、ＨＡ２３５のバインディングキャッシュ１３４０、又はコレスポンデントノードＣＮ２４０のバインディングキャッシュ１５４０（後述の図１５を参照）の好適な内容が図示されている。バインディングキャッシュ１３４０、１５４０には、バインディングキャッシュエントリ１４００が含まれている。各バインディングキャッシュエントリ１４００は、例えば、モバイルノードのホームアドレスを含むＨｏＡフィールド１４１０、モバイルノードの現在の気付アドレスを格納するＣｏＡフィールド１４２０、モバイルノードの上位レベルルータ情報を格納するＵＬＲＩフィールド１４３０、バインディングアップデートメッセージを保護するためのセキュリティ鍵を格納する鍵フィールド１４４０を有している。
【００７２】
また、図１５は、本発明の実施の形態におけるコレスポンデントノードの一例を示す機能ブロック図である。図１５には、コレスポンデントノードＣＮ２４０の好適な機能アーキテクチャが図示されている。コレスポンデントノードＣＮ２４０は、ネットワーキングプロトコルのセットによって構成されるネットワーキングサポート部１５１０を有している。これは、コレスポンデントノードＣＮ２４０にネットワーク能力を提供するために必要なすべてのプロトコル、ソフトウェア及びハードウェアを含んでいる。
【００７３】
また、コレスポンデントノードＣＮ２４０は、パケットを転送する際にルーティングを決定する機能を有するルーティング部１５１５と、経路最適化機能を提供するコレスポンデントノードモジュール１５２０とを有している。コレスポンデントノードモジュール１５２０は、バインディングキャッシュ１５４０を利用して、モバイルノードから受信したバインディングの格納を行う。なお、バインディングキャッシュ１５４０は、例えば、図１４に図示されている内容を有している。また、パス１５５０、１５５２、１５５４は、これらの機能ブロック間においてデータ及びシグナルの伝送が行われるデータパスを示している。
【００７４】
ネットワーキングサポート部１５１０は、モビリティシグナリングに関連するメッセージ（ＨｏＴＩメッセージ、ＣｏＴＩメッセージ、ＢＵメッセージなど）を受信した場合には、更なる処理が行われるようにデータパス１５５０を通じてこれらのメッセージをコレスポンデントノードモジュール１５２０に渡す。コレスポンデントノードモジュール１５２０は、これらのモビリティに係るメッセージを処理するとともに、ＢＵメッセージの受信時にはデータパス１５５２を通じてバインディングキャッシュ１５４０の更新を行う機能を有している。さらに、コレスポンデントノードモジュール１５２０は、ＢＵ又はＣｏＴＩメッセージに上位レベルルータ情報が含まれている場合には、本明細書において開示されている処理を行うことによって、上位レベルルータ情報の有効性を検証する機能も有している。
【００７５】
また、ルーティング部１５１５は、パケットの転送を行う旨を決定した場合には、データパス１５５４を通じてバインディングキャッシュ１５４０を調べ、そのあて先に関連するアドレスが存在するかどうかのチェックを行う。ここで、アドレスが存在する場合には、ルーティング部１５１５は、バインディングキャッシュエントリに記載されている気付アドレスあてにパケットのトンネル化を行う必要がある。また、さらに、関連する上位レベルルータ情報の利用が可能である旨がバインディングキャッシュエントリにおいて示されている場合には、ルーティング部１５１５は、上位レベルルータ情報に基づいて、パケットに追加すべきルーティングヘッダの構築を作成する必要がある。
【００７６】
また、以下において、リターンルータビリティを改良することによって本発明の適用を行った場合の詳細な実施例について説明する。なお、以下に説明する実施例は一例であり、以下の説明によって本発明が限定されるものではない。また、以下では、図２に図示されているシステム構成を参照しながら説明する。
【００７７】
図２に図示されているシステム構成において、ＭＮ２２０は、コレスポンデントノードＣＮ２４０との間で経路最適化を実行する旨を決定した場合には、本発明に基づいて改良されたリターンルータビリティ手順を開始し、まず、ＣＮ２４０に対してＨｏＴＩ及びＣｏＴＩメッセージの送信を行う。なお、このＨｏＴＩメッセージの送信動作は、本来のリターンルータビリティ手順におけるＨｏＴＩメッセージの送信動作と完全に同一である。また、ＣｏＴＩメッセージの送信動作は、ＭＮ２２０がＣｏＴＩメッセージに上位レベルルータ情報を挿入することを除いて、本来のリターンルータビリティ手順におけるＣｏＴＩメッセージの送信動作と同一である。なお、ここでは、上位レベルルータ情報としてＵＬＭＲ２１０のアドレスが含まれるものとする。また、ＣｏＴＩメッセージには、ＭＮ２２０によって使用されるとともに、ＣＮ２４０によって参照されるcare-of init cookie値が含まれる必要がある。
【００７８】
ＣＮ２４０は、ＨｏＴＩメッセージを受信してＭＮ２２０との経路最適化を受け入れる決定を行うと、ＨｏＴメッセージによる応答を行う。なお、ＨｏＴメッセージは、モバイルＩＰｖ６に規定されている方法と完全に同一な方法によって設定される。
【００７９】
また、ＣＮ２４０は、ＣｏＴＩメッセージを受信してＭＮ２２０との経路最適化を受け入れる決定を行うと、ＣｏＴメッセージ及びｘＣｏＴメッセージによる応答を行う。なお、ＣｏＴメッセージは、モバイルＩＰｖ６に規定されている方法と完全に同一な方法によって設定される。
【００８０】
一方、ｘＣｏＴメッセージの設定では、ＣＮ２４０は、まずKeygen Token（特別なCare-of KeygenToken（ｘＣｏＫ））を生成するための値（nonce）を選択する。選択されるnonceは、１６ビットのnonceインデックスによって識別可能であり、ＣｏＴメッセージに使用されるnonceと同一である。そして、ｘＣｏＫは、下記のように生成される。
【００８１】
xCoK := First(64, HMAC_SHA1(Kcn, (care-of-address | ULRI | nonce | 0x02)))
【００８２】
ここで、‘First(L,m)’はメッセージｍの先頭Ｌビットを抽出する関数であり、‘HMAC-SHA1(K,m)’はメッセージｍに対して暗号鍵Ｋを使用してＨＭＡＣ−ＳＨＡ１ハッシュ関数を演算した演算結果であり、‘Kcn’はコレスポンデントノードの秘密鍵であり、‘care-of-address’はＭＮ２２０の気付アドレスであり、‘ULRI’は上位レベルルータ情報（ここではＵＬＭＲ２１０のアドレスのみ）であり、‘|’はビットストリームの連結を表している。また、ハッシュ関数内の最後の値‘0x02’は、他のkeygen Tokenとの識別に用いられるオクテット値である。
【００８３】
そして、ｘＣｏＫ及びnonceインデックスが、ＣｏＴＩメッセージからコピーされたcare-of init cookie値を含むｘＣｏＴメッセージに挿入されて、ＭＮ２２０に返信される。また、ＣＮ２４０はｘＣｏＴメッセージを送信する際にルーティングヘッダを挿入することによって、ｘＣｏＴメッセージは、ＭＮ２２０に到着する前に、まずＵＬＭＲ２１０を経由するように設定される。
【００８４】
一方、ＭＮ２２０は、ＨｏＴＩ及びＣｏＴＩメッセージを送信した後、ＨｏＴ、ＣｏＴ、ｘＣｏＴメッセージの受信待機状態となる。そして、ＭＮ２２０は、ＨｏＴ、ＣｏＴ、ｘＣｏＴメッセージを受信した場合に、ＢＵメッセージの送信によって、リターンルータビリティ手順を完了する。
【００８５】
ＨｏＴ、ＣｏＴ、ｘＣｏＴメッセージを受信したＭＮ２２０は、下記のような正当性のチェックを行うことが可能である。第１に、ＭＮ２２０は、ＨｏＴメッセージ内のhome init cookieや、ＣｏＴ及びｘＣｏＴメッセージ内のcare-of init cookieが、ＨｏＴ、ＣｏＴ、ｘＣｏＴメッセージによって送信されたものと同一であるかどうかを検証することが可能である。また、第２に、ＭＮ２２０は、ｘＣｏＴメッセージ内に、ＣｏＴメッセージ内に記載されている気付nonceインデックスと同一の気付nonceインデックスが記載されているかどうかをチェックすることが可能である。
【００８６】
また、リターンルータビリティ手順を完了するために、ＭＮ２２０は、ＢＵメッセージをＣＮ２４０に送信する必要があるが、ＭＮ２２０は、このＢＵメッセージ内に、nonceインデックスを含むnonce indicesオプションと、さらに上位レベルルータ情報とを挿入する必要がある。さらに、ＭＮ２２０は、バインディング認可データオプション（Binding Authorization Data option）の認証情報フィールド（Authenticator field）に暗号化されたチェックサムを挿入する必要がある。チェックサムを生成するために、ＭＮ２２０は、まず、下記のバインディング管理鍵Ｋｂｍを取得する必要がある。
【００８７】
Kbm := SHA1 (HoK | CoK | xCoK)
【００８８】
ここで、‘SHA1(m)’はメッセージｍに対するセキュアハッシュアルゴリズムの適用を表しており、‘HoK’はＨｏＴメッセージから得られるＨｏＫトークン、‘CoK’はＣｏＴメッセージから得られるＣｏＫトークン、‘xCoK’はｘＣｏＴメッセージから得られるｘＣｏＫトークンである。
【００８９】
これによって、Ｋｂｍは、２０オクテット（１６０ビット）長の値として得られる。Ｋｂｍは、ＭＮ２２０及びＣＮ２４０が認証情報値を生成する際に使用される。バインディングアップデートメッセージでは、認証情報値は下記のように与えられる。
【００９０】
Authenticator := First(96, HMAC_SHA1(Kbm, (CoA | correspondent | BU))
【００９１】
ここで、‘ＣｏＡ’はＭＮ２２０の気付アドレスであり、‘correspondent’はＣＮ２４０のアドレスであり、‘BU’は認証情報フィールドを除くバインディングアップデートメッセージそのものである。
【００９２】
認証情報値を生成する場合、まず、モビリティヘッダのチェックサムフィールドがゼロに初期化される。そして、ＢＵメッセージを送信する前に、バインディング認可データオプションが最後のオプションとして追加され、最後に、認証情報フィールドを含むチェックサムの計算が行われる。なお、ＣＮ２４０は  ＢＵメッセージの受信前には、関連する情報を保持しておく必要はなく、ＢＵメッセージに含まれる情報を使用して、ＨｏＫ、ＣｏＫ、ｘＣｏＫを生成してバインディング管理鍵を取得し、認証情報値の検証を行えばよい。
【００９３】
また、ＭＮ２２０は、ＨｏＴＩ及びＣｏＴＩメッセージを送信した後にＨｏＴ又はＣｏＴメッセージを受信できなかった場合には、ＢＵメッセージの送信処理を行うことはできない。所定の期間が経過してもＨｏＴ又はＣｏＴメッセージを受信できない場合には、ＭＮ２２０は、パケットが失われたとみなして、再びリターンルータビリティ手順を開始する。なお、ＭＮ２２０は、１回又は複数回連続してリターンルータビリティ手順が失敗に終わった場合には、経路最適化をあきらめてもよい。
【００９４】
また、ＭＮ２２０がｘＣｏＴメッセージを受信できなかった場合には、ＭＮ２２０は、通常のＢＵメッセージ（上位レベルルータ情報が含まれないＢＵメッセージ）を送信してもよく、また、再びリターンルータビリティ手順を開始してもよい。なお、リターンルータビリティ手順を再び行う場合には、ＭＮ２２０は、複数回連続してリターンルータビリティ手順が失敗に終わった場合に経路最適化をあきらめてもよい。
【００９５】
また、ＣＮ２４０が本来のリターンルータビリティ手順をサポートしていない場合には、ＣＮ２４０は、ＨｏＴＩメッセージ及びＣｏＴＩメッセージに対して、ＩＣＭＰのパラメータ異常コード１により応答を行う。ＭＮ２２０は、このメッセージの受信により、コレスポンデントノードがリターンルータビリティ手順をサポートしていないことを把握する。
【００９６】
また、ＣＮ２４０が本来のリターンルータビリティ手順をサポートしているが、本発明に係るリターンルータビリティ手順をサポートしていない場合には、ＣＮ２４０は、ＣｏＴＩメッセージ内の上位レベルルータ情報を無視し、その結果、ＭＮ２２０はｘＣｏＴメッセージを受信することはできない。
【００９７】
また、以下では、本発明を利用して、セキュリティを向上させるとともに、セキュリティにおける脅威を検出する方法について説明する。図１６は、本発明の実施の形態における通信システムの第３の例を示す図である。図１６には、本来のリターンルータビリティ手順では防ぐことができないフラッディング攻撃（flooding attack）の一例が図示されている。なお、ここでは、ＭＮ２２０は攻撃者１６１０に接続している。
【００９８】
犠牲者１６００に対してフラッディング攻撃をしかける攻撃者１６１０は、下位に接続するＭＮ２２０に対して送信するルータ通知メッセージに、偽の上位レベルルータ情報（犠牲者１６００のアドレス）を挿入する。これにより、ＭＮ２２０は、その上位レベルルータは犠牲者１６００のアドレスを有していると判断してしまう。したがって、ＭＮ２２０は、犠牲者１６００に接続しているというＢＵメッセージを、そのＨＡ２３５及びコレスポンデントノードＣＮ２４０に送信する。ＨＡ２３５は、ＢＡメッセージを直接ＭＮ２２０の気付アドレスに送信するので、ＭＮ２２０及びＨＡ２３５は両方共、上位レベルルータ情報が不正なものであることを把握できず、以降、ＨＡ２３５はＭＮ２２０あてのすべてのパケットを中間あて先とみなされた犠牲者１６００に向けて転送し、その結果、不要なパケットが犠牲者１６００に送られることになる。
【００９９】
また同様に、ＣｏＴメッセージ及びＨｏＴメッセージは、それぞれＭＮ２２０の気付アドレス及びホームアドレスに送信されるので、ＭＮ２２０及びＣＮ２４０は両方共、上位レベルアドレス情報が不正なものであることを検出できず、以降、ＣＮ２４０はＭＮ２２０あてのすべてのパケットを中間あて先とみなされた犠牲者１６００に向けて転送し、その結果、不要なパケットが犠牲者１６００に送られることになる。
【０１００】
一方、本発明では、ＨＡ２３５は、中間あて先として犠牲者１６００、最終のあて先としてＭＮ２２０が記載されたルーティングヘッダを有するＢＡメッセージを送信する。したがって、ＭＮ２２０が犠牲者１６００に接続していない場合には、犠牲者１６００は更なるパケットの転送を行わず、ＭＮ２２０は、ＢＡメッセージを受信することができない。そして、バインディングアップデートは、非常に短時間のうちにタイムアウトとなる。
【０１０１】
また同様に、ＣＮ２４０は、中間あて先として犠牲者１６００、最終のあて先としてＭＮ２２０が記載されたルーティングヘッダを有するｘＣｏＴメッセージを送信する。したがって、ＭＮ２２０が犠牲者１６００に接続していない場合には、犠牲者１６００は更なるパケットの転送を行わず、ＭＮ２２０は、ｘＣｏＴメッセージを受信することができずに、その結果、リターンルータビリティ手順を完了するためのｘＣｏＫを抽出することが不可能となる。
【０１０２】
また、図１７は、本発明の実施の形態における通信システムの第４の例を示す図である。図１７には、本来のリターンルータビリティ手順では防ぐことができないフラッディング攻撃の別の一例が図示されている。なお、ここでは、攻撃者１７１０はモバイルノードである。
【０１０３】
犠牲者１６００に対してフラッディング攻撃をしかけるために、攻撃者１７１０は、ＨＡ２３５及び／又はコレスポンデントノードＣＮ２４０に対して送信するＢＵメッセージに、偽の上位レベルルータ情報（犠牲者１６００のアドレス）を挿入する。ＨＡ２３５は、ＢＡメッセージを直接攻撃者１７１０の気付アドレスに送信するので、攻撃者１７１０はＢＡメッセージを受信することが可能である。したがって、ＨＡ２３５は、上位レベルアドレス情報が不正なものであることを把握できず、以降、ＨＡ２３５は攻撃者１７１０あてのすべてのパケットを中間あて先とみなされた犠牲者１６００に向けて転送し、その結果、不要なパケットが犠牲者１６００に送られることになる。
【０１０４】
また同様に、ＣｏＴメッセージ及びＨｏＴメッセージは、それぞれ攻撃者１７１０の気付アドレス及びホームアドレスに送信されるので、攻撃者１７１０は、ＣｏＴメッセージ及びＨｏＴメッセージの両方を受信して、リターンルータビリティ手順を完了することが可能である。したがって、ＣＮ２４０は、上位レベルアドレス情報が不正なものであることを検出できず、以降、ＣＮ２４０は攻撃者１７１０あてのすべてのパケットを中間あて先とみなされた犠牲者１６００に向けて転送し、その結果、不要なパケットが犠牲者１６００に送られることになる。
【０１０５】
一方、本発明では、ＨＡ２３５は、中間あて先として犠牲者１６００、最終のあて先として攻撃者１７１０が記載されたルーティングヘッダを有するＢＡメッセージを送信する。したがって、攻撃者１７１０が犠牲者１６００に接続していない場合には、犠牲者１６００は更なるパケットの転送を行わず、攻撃者１７１０は、ＢＡメッセージを受信することができない。そして、バインディングアップデートは、非常に短時間のうちにタイムアウトとなる。また同様に、ＣＮ２４０は、中間あて先として犠牲者１６００、最終のあて先として攻撃者１７１０が記載されたルーティングヘッダを有するｘＣｏＴメッセージを送信する。したがって、攻撃者１７１０が犠牲者１６００に接続していない場合には、犠牲者１６００は更なるパケットの転送を行わず、攻撃者１７１０は、ｘＣｏＴメッセージを受信することができずに、その結果、リターンルータビリティ手順を完了するためのｘＣｏＫを抽出することが不可能となる。
【０１０６】
なお、上述の説明において、注意すべき重要なポイントは、中間あて先として自身が記載されており、次のあて先としてＭＮ２２０（又は攻撃者１７１０）が記載されているルーティングヘッダを有するパケットを受信した犠牲者１６００が、パケットの破棄を行うという点である。この動作は、反射攻撃（reflection attack）を防ぐために、現在配備されているノードのほとんどが、次のあて先への経路がこのノードにパケットが到着した経路と同一ではない場合あるいはこの場合にのみ、このノードが中間あて先として記載されているルーティングヘッダを有するパケットを引き続き転送する動作を行うように構成されていることにより行われる。
【０１０７】
上述の本発明の実施の形態では、本発明を実用的かつ好適な具体例に適用して説明を行っているが、様々な変更や派生例も実現可能であることは当業者には明白である。例えば、暗号化されたトークンやチェックサムによって、ＵＬＲＩの有効性のチェックを行うことも可能である。また、上述の本発明の実施の形態では、上位レベルルータをＭＲとして説明を行ったが、固定されたアクセスルータでも同様の構成及び作用効果が得られる。
【産業上の利用可能性】
【０１０８】
本発明は、所定のノードの上位レベルルータの情報（上位レベルルータ情報）が有効であるか否かを検証することが可能となるという効果を有しており、ＩＰを利用した通信技術に適用可能であり、特に、通信ノード間におけるモバイルＩＰｖ６を利用した経路最適化技術、通信ネットワークのセキュリティを向上するためのセキュリティ技術に適用可能である。
【図面の簡単な説明】
【０１０９】
【図１】従来の技術に係る通信システムにおけるパケット伝送を説明するための図
【図２】本発明の実施の形態における通信システムの第１の例を示す図
【図３】本発明の実施の形態における通信システムにおけるメッセージシーケンスの第１の例を示す図
【図４】本発明の実施の形態における通信システムにおけるメッセージシーケンスの第２の例を示す図
【図５】本発明の実施の形態における通信システムにおけるメッセージシーケンスの第３の例を示す図
【図６】本発明の実施の形態における通信システムにおけるメッセージシーケンスの第４の例を示す図
【図７】本発明の実施の形態における通信システムにおけるメッセージシーケンスの第５の例を示す図
【図８】本発明の実施の形態における通信システムにおけるメッセージシーケンスの第６の例を示す図
【図９】本発明の実施の形態における通信システムにおけるメッセージシーケンスの第７の例を示す図
【図１０】本発明の実施の形態における通信システムの第２の例を示す図
【図１１】本発明の実施の形態におけるモバイルノードの一例を示す機能ブロック図
【図１２】本発明の実施の形態におけるモバイルノードのバインディングアップデートリストの内容の一例を示す図
【図１３】本発明の実施の形態におけるホームエージェントの一例を示す機能ブロック図
【図１４】本発明の実施の形態におけるホームエージェントのバインディングキャッシュの内容の一例を示す図
【図１５】本発明の実施の形態におけるコレスポンデントノードの一例を示す機能ブロック図
【図１６】本発明の実施の形態における通信システムの第３の例を示す図
【図１７】本発明の実施の形態における通信システムの第４の例を示す図
【符号の説明】
【０１１０】
１００、２００  グローバルインターネット
１１０  ＭＲ（モバイルルータ）
１２０、２２０  ＭＮ（モバイルノード）
１３０、１３５、２３０、２３５  ＨＡ（ホームエージェント）
１４０、２４０  ＣＮ（コレスポンデントノード）
１５０  経路
１５１  双方向トンネル
２１０、２１１、２１２  ＵＬＭＲ（上位レベルモバイルルータ）
４１０、６１０、８１０、１６００  犠牲者
１１１０、１３１０、１５１０  ネットワークキングサポート部
１１２０  モビリティサポート部
１１２２  経路最適化モジュール
１１２４  ホーム登録モジュール
１１３０  ＵＬＲＩ格納部
１１４０  ＢＵＬ（バインディングアップデートリスト）
１２００  ＢＵＬレコード
１２１０  ＣＮアドレスフィールド
１２２０、１４２０  ＣｏＡフィールド
１２３０、１４３０  ＵＬＲＩフィールド
１２４０  ＨｏＫフィールド
１２５０  ＣｏＫフィールド
１２６０  ｘＣｏＫフィールド
１２７０  ライフタイムフィールド
１３１５、１５１５  ルーティング部
１３２０  ホームエージェントモジュール
１３４０、１５４０  バインディングキャッシュ
１４００  バインディングキャッシュエントリ
１４１０  ＨｏＡフィールド
１４４０  鍵フィールド
１５２０  コレスポンデントノードモジュール
１６１０、１７１０  攻撃者
【図１】
2008533799.tif 000003
【図２】
2008533799.tif 000004
【図３】
2008533799.tif 000005
【図４】
2008533799.tif 000006
【図５】
2008533799.tif 000007
【図６】
2008533799.tif 000008
【図７】
2008533799.tif 000009
【図８】
2008533799.tif 000010
【図９】
2008533799.tif 000011
【図１０】
2008533799.tif 000012
【図１１】
2008533799.tif 000013
【図１２】
2008533799.tif 000014
【図１３】
2008533799.tif 000015
【図１４】
2008533799.tif 000016
【図１５】
2008533799.tif 000017
【図１６】
2008533799.tif 000018
【図１７】
2008533799.tif 000019
【国際調査報告】
2008533799.tif 000020
2008533799.tif 000021
2008533799.tif 000022