(57)【要約】【課題】サイト内部も含めて悪意のある不正なノードからのなりすましによる攻撃を防止すること。【解決手段】サーバ装置Ａ１１５ａは、応答パケットのHop-by-Hopオプションヘッダに送信元がエニキャストアドレスを割り当てられていることを示すエニキャストアドレスオプションを付与し、さらに署名領域を確保して応答パケットを送信する。ルータＡ１１１は、受信した応答パケットにHop-by-Hopオプションヘッダが含まれ、かつエニキャストアドレスオプションであるか否か調べ、エニキャストアドレスオプションであるHop-by-Hopオプションヘッダが含まれる場合に、応答パケットが正当であるか否かを検証し、署名領域にHop-by-Hopオプションヘッダに対して秘密鍵を利用して生成した電子署名を設定して応答パケットを次のノードに転送する。境界ルータ１３０では、受信した応答パケットの電子署名と転送時刻から応答パケットが正当なものか否かを検証する。【選択図】        図１
2006033334.tif 000002
【特許請求の範囲】
【請求項１】
第１のネットワークに接続され、予め定められたエニキャストアドレスを割り当てられたサーバ装置と、前記第１のネットワークに接続され、前記サーバ装置から送信されたパケットを転送するルータ装置とを有する通信システムであって、
前記サーバ装置は、
前記第１のネットワークと異なる第２のネットワークに接続された通信装置から受信したエニキャストアドレス宛のパケットに応答する応答パケットに、この応答パケットの送信元がエニキャストアドレスを割り当てられていることを示すエニキャストアドレスオプション情報を付与するオプション設定手段と、
前記応答パケットに電子署名を設定するための署名領域を確保する領域確保手段と、
前記オプション設定手段によりエニキャストアドレスオプション情報が設定され、かつ前記領域確保手段によって前記署名領域が確保された前記応答パケットを、前記通信装置に送信する送信手段と、を備え、
前記ルータ装置は、
前記サーバ装置から前記通信装置に送信された応答パケットを受信する受信手段と、
前記受信手段によって受信した前記応答パケットに前記エニキャストアドレスオプション情報が含まれるか否かを判断し、前記サーバ装置に前記エニキャストアドレスオプション情報が含まれている場合に、前記エニキャストアドレスオプション情報に基づいて前記応答パケットが正当なサーバ装置から送信されたものであるか否かを検証する送信元検証手段と、
前記送信元検証手段によって、前記応答パケットが正当なサーバ装置から送信されたと判断された場合に、前記応答パケットに確保された前記署名領域に前記応答パケットに関する情報に基づいた電子署名を設定する検証情報設定手段と、
前記検証情報設定手段によって前記電子署名が設定された前記応答パケットを送信する転送手段と、
を備えたことを特徴とする通信システム。
【請求項２】
前記サーバ装置の前記領域確保手段は、さらに、前記応答パケットに時刻領域を確保し、
前記ルータ装置の前記検証情報設定手段は、さらに、前記応答パケットの前記時刻領域に前記応答パケットの転送時刻を設定することを特徴とする請求項１に記載の通信システム。
【請求項３】
前記ルータ装置の前記検証情報設定手段は、前記応答パケットの前記署名領域に、前記エニキャストアドレスオプション情報に対して、予め定められた鍵情報を利用した前記電子署名を設定することを特徴とする請求項２に記載の通信システム。
【請求項４】
前記領域確保手段は、前記署名領域と前記時刻領域を、前記エニキャストアドレスオプション情報の領域に確保することを特徴とする請求項１〜３のいずれか一つに記載の通信システム。
【請求項５】
前記サーバ装置の前記オプション設定手段は、前記応答パケットの前記エニキャストアドレスオプション情報に、前記サーバ装置に割り当てられたエニキャストアドレスを設定し、
前記ルータ装置は、
前記第１のネットワーク内に存在する前記サーバ装置のユニキャストアドレスと前記サーバ装置に割り当てられたエニキャストアドレスとを対応付けて保持するエニキャストアドレス対応情報を記憶する記憶手段を更に備え、
前記送信元検証手段は、前記応答パケットに前記エニキャストアドレスオプション情報が含まれている場合に、前記エニキャストアドレスオプション情報の前記エニキャストアドレスが、前記エニキャストアドレス対応情報に登録された前記エニキャストアドレスに対応したユニキャストアドレスと一致するか否かを判断し、両アドレスが一致する場合に、前記応答パケットが正当なサーバ装置から送信されたと判断することを特徴とする請求項１〜４のいずれか一つに記載の通信システム。
【請求項６】
第１のネットワークに接続され、予め定められたエニキャストアドレスを割り当てられた前記第１のネットワーク内のサーバ装置から送信されたパケットを転送するルータ装置であって、
前記第１のネットワークと異なる第２のネットワークに接続された通信装置から前記サーバ装置が受信したエニキャストアドレス宛のパケットに応答する前記通信装置に対する応答パケットを、前記サーバ装置から受信する受信手段と、
前記受信手段によって受信した前記応答パケットに、応答パケットの送信元がエニキャストアドレスを割り当てられていることを示すエニキャストアドレスオプション情報が含まれるか否かを判断し、前記応答パケットに前記エニキャストアドレスオプション情報が含まれている場合に、前記エニキャストアドレスオプション情報に基づいて前記応答パケットが正当なサーバ装置から送信されたものか否かを検証する送信元検証手段と、
前記送信元検証手段によって、前記応答パケットが正当なサーバ装置から送信されたと判断された場合に、前記応答パケットに確保された前記署名領域に前記応答パケットに関する情報に基づいた電子署名を設定する検証情報設定手段と、
前記検証情報設定手段によって前記電子署名が設定された前記応答パケットを次のノードに送信する転送手段と、
を備えたことを特徴とするルータ装置。
【請求項７】
前記検証情報設定手段は、さらに、前記応答パケットの前記時刻領域に前記応答パケットの転送時刻を設定することを特徴とする請求項６に記載のルータ装置。
【請求項８】
前記検証情報設定手段は、前記応答パケットの前記署名領域に、前記エニキャストアドレスオプション情報に対して、予め定められた鍵情報を利用した前記電子署名を設定することを特徴とする請求項７に記載のルータ装置。
【請求項９】
第１のネットワークに接続され、予め定められたエニキャストアドレスを割り当てられた前記第１のネットワーク内のサーバ装置から送信されたパケットを転送するルータ装置であって、
前記第１のネットワーク内の他のノードから前記第１のネットワークと異なる第２のネットワーク内の通信装置に送信され、パケットに関する情報に基づく電子署名が付加された応答パケットを受信する受信手段と、
前記受信手段によって受信した前記応答パケットに含まれる前記電子署名に基づいて前記応答パケットが正当なものであるか否かを検証する検証手段と、
前記検証手段によって前記応答パケットが正当であると判断された場合に、前記応答パケットを次のノードに送信する転送手段と、
を備えたことを特徴とするルータ装置。
【請求項１０】
前記受信手段は、前記他のノードから前記電子署名と前記他のノードによる転送時刻が付加された応答パケットを受信し、
前記検証手段は、さらに、現在時刻が前記受信手段によって受信した前記応答パケットに含まれる前記転送時刻から予め定められた一定時間以内であるか否かにより前記応答パケットが正当なものであるか否かを検証することを特徴とする請求項９に記載のルータ装置。
【請求項１１】
前記受信手段は、前記エニキャストアドレスオプション情報に対して予め定められた鍵情報を利用した前記電子署名が付加された前記応答パケットを受信し、
前記検証手段は、前記受信手段によって受信した前記応答パケットに含まれる前記電子署名の正当性を検証することにより、前記応答パケットが正当なものであるか否かを判断することを特徴とする請求項１０に記載のルータ装置。
【請求項１２】
予め定められたエニキャストアドレスを宛先アドレスとしてパケットを送信する送信手段と、
前記パケットの応答としての応答パケットを受信する受信手段と、
前記受信手段によって受信した前記応答パケットに含まれる送信元アドレスが前記宛先アドレスと異なる場合に、前記応答パケットに前記応答パケットの送信元にエニキャストアドレスが割り当てられていることを示すエニキャストアドレスオプション情報が含まれているか否かを判断することにより、前記応答パケットが正当な送信元から送信されたか否かを検証し、正当な送信元から送信されたと判断した場合に、前記応答パケットを読み込む送信元検証手段と、
を備えたことを特徴とする通信装置。
【請求項１３】
前記送信元検証手段は、さらに、前記応答パケットが正当な送信元から送信されたものでないと判断した場合に、前記応答パケットを破棄することを特徴とする請求項１２に記載の通信装置。
【請求項１４】
第１のネットワークに接続され、予め定められたエニキャストアドレスを割り当てられた前記第１のネットワーク内のサーバ装置から送信されたパケットを転送するルータ装置であって、
前記第１のネットワークと異なる第２のネットワークに接続された通信装置から、前記サーバ装置が受信したエニキャストアドレス宛のパケットに応答する前記通信装置に対する応答パケットを受信する受信手段と、
前記受信手段によって受信した前記応答パケットを最初に他のノードに転送する場合に、前記応答パケットに、前記応答パケットの送信元がエニキャストアドレスを割り当てられていることを示すエニキャストアドレスオプション情報が含まれるか否かを判断し、前記応答パケットに前記エニキャストアドレスオプション情報が含まれている場合に、前記エニキャストアドレスオプション情報に基づいて前記応答パケットが正当なサーバ装置から送信されたか否かを検証し、正当なサーバ装置から送信されていないと判断した場合に、前記応答パケットを破棄する送信元検証手段と、
前記送信元検証手段によって、前記応答パケットが正当なサーバ装置から送信されたと判断された場合に、前記応答パケットに確保された前記署名領域に前記応答パケットに関する情報に基づいた電子署名を設定する検証情報設定手段と、
前記受信手段によって受信した前記応答パケットが最初に前記応答パケットを転送したノードから受信したものである場合、前記応答パケットに含まれる、パケットに関する情報に基づく電子署名に基づいて、前記応答パケットが正当なものであるか否かを検証し、正当でないと判断された場合に前記応答パケットを破棄する検証手段と、
前記応答パケットを、次のノードに送信する転送手段と、
を備えたことを特徴とするルータ装置。
【請求項１５】
第１のネットワークに接続され、予め定められたエニキャストアドレスを割り当てられたサーバ装置と、前記第１のネットワークに接続され、前記サーバ装置から送信されたパケットを転送するルータ装置との間でパケットを送信する通信方法であって、
前記サーバ装置において、前記第１のネットワークと異なる第２のネットワークに接続された通信装置から受信したエニキャストアドレス宛のパケットに応答する応答パケットに、この応答パケットの送信元がエニキャストアドレスを割り当てられていることを示すエニキャストアドレスオプション情報を付与するオプション設定ステップと、
前記応答パケットに電子署名を設定するための署名領域を確保する領域確保ステップと、
前記オプション設定ステップによりエニキャストアドレスオプション情報が設定され、かつ前記領域確保ステップによって署名領域が確保された前記応答パケットを、前記通信装置に送信する送信ステップと、
前記ルータ装置において、前記サーバ装置から前記通信装置に送信された応答パケットを受信する受信ステップと、
前記受信ステップによって受信した前記応答パケットに前記エニキャストアドレスオプション情報が含まれるか否かを判断し、前記サーバ装置に前記エニキャストアドレスオプション情報が含まれている場合に、前記エニキャストアドレスオプション情報に基づいて前記応答パケットが正当なサーバ装置から送信されたものであるか否かを検証する送信元検証ステップと、
前記送信元検証ステップによって、前記応答パケットが正当なサーバ装置から送信されたと判断された場合に、前記応答パケットに確保された前記署名領域に前記応答パケットに関する情報に基づいた電子署名を設定する検証情報設定ステップと、
前記検証情報設定ステップによって前記電子署名が設定された前記応答パケットを送信する転送ステップと、
を含むことを特徴とする通信方法。
【請求項１６】
予め定められたエニキャストアドレスを割り当てられた第１のネットワーク内のサーバ装置から送信されたパケットを転送するルーティング方法であって、
前記第１のネットワークと異なる第２のネットワークに接続された通信装置から前記サーバ装置が受信したエニキャストアドレス宛のパケットに応答する前記通信装置に対する応答パケットを、前記サーバ装置から受信する受信ステップと、
前記受信ステップによって受信した前記応答パケットに、応答パケットの送信元がエニキャストアドレスを割り当てられていることを示すエニキャストアドレスオプション情報が含まれるか否かを判断し、前記応答パケットに前記エニキャストアドレスオプション情報が含まれている場合に、前記エニキャストアドレスオプション情報に基づいて前記応答パケットが正当なサーバ装置から送信されたものか否かを検証する送信元検証ステップと、
前記送信元検証ステップによって、前記応答パケットが正当なサーバ装置から送信されたと判断された場合に、前記応答パケットに確保された前記署名領域に前記応答パケットに関する情報に基づいた電子署名を設定する検証情報設定ステップと、
前記検証情報設定ステップによって前記電子署名が設定された前記応答パケットを次のノードに送信する転送ステップと、
を含むことを特徴とするルーティング方法。
【請求項１７】
予め定められたエニキャストアドレスを割り当てられた第１のネットワーク内のサーバ装置から送信されたパケットを転送するルーティング方法であって、
前記第１のネットワーク内の他のノードから前記第１のネットワークと異なる第２のネットワーク内の通信装置に送信され、パケットに関する情報に基づく電子署名が付加された応答パケットを受信する受信ステップと、
前記受信ステップによって受信した前記応答パケットに含まれる前記電子署名に基づいて前記応答パケットが正当なものであるか否かを検証する検証ステップと、
前記検証ステップによって前記応答パケットが正当であると判断された場合に、前記応答パケットを次のノードに送信する転送ステップと、
を備えたことを特徴とするルーティング方法。
【請求項１８】
予め定められたエニキャストアドレスを宛先アドレスとしてパケットを送信する送信ステップと、
前記パケットの応答としての応答パケットを受信する受信ステップと、
前記受信ステップによって受信した前記応答パケットに含まれる送信元アドレスが前記宛先アドレスと異なる場合に、前記応答パケットに前記応答パケットの送信元がエニキャストアドレスが割り当てられていることを示すエニキャストアドレスオプション情報が含まれているか否かを判断することにより、前記応答パケットが正当な送信元から送信されたか否かを検証し、正当な送信元から送信されたと判断した場合に、前記応答パケットを読み込む送信元検証ステップと、
を含むことを特徴とする通信方法。
【請求項１９】
予め定められたエニキャストアドレスを割り当てられた第１のネットワーク内のサーバ装置から送信されたパケットを転送するルーティング方法であって、
前記第１のネットワークと異なる第２のネットワークに接続された通信装置から前記サーバ装置が受信したエニキャストアドレス宛のパケットに応答する前記通信装置に対する応答パケットを受信する受信ステップと、
前記受信ステップによって受信した前記応答パケットを最初に他のノードに転送する場合に、前記応答パケットに、前記応答パケットの送信元がエニキャストアドレスを割り当てられていることを示すエニキャストアドレスオプション情報が含まれるか否かを判断し、前記応答パケットに前記エニキャストアドレスオプション情報が含まれている場合に、前記エニキャストアドレスオプション情報に基づいて前記応答パケットが正当なサーバ装置から送信されたか否かを検証し、正当なサーバ装置から送信されていないと判断した場合に、前記応答パケットを破棄する送信元検証ステップと、
前記送信元検証手段によって、前記応答パケットが正当なサーバ装置から送信されたと判断された場合に、前記応答パケットに確保された前記署名領域に前記応答パケットに関する情報に基づいた電子署名を設定する検証情報設定ステップと、
前記受信ステップによって受信した前記応答パケットが最初に前記応答パケットを転送したノードから受信したものである場合、前記応答パケットに含まれる、パケットに関する情報に基づく電子署名に基づいて、前記応答パケットが正当なものであるか否かを検証し、正当でないと判断された場合に前記応答パケットを破棄する検証ステップと、
前記応答パケットを、次のノードに送信する転送ステップと、
を含むことを特徴とするルーティング方法。
【請求項２０】
第１のネットワークに接続され、予め定められたエニキャストアドレスを割り当てられたサーバ装置と、前記第１のネットワークに接続され、前記サーバ装置から送信されたパケットを転送するルータ装置との間でパケットを送信する通信プログラムであって、
前記第１のネットワークと異なる第２のネットワークに接続された通信装置から受信したエニキャストアドレス宛のパケットに応答する応答パケットに、この応答パケットの送信元がエニキャストアドレスを割り当てられていることを示すエニキャストアドレスオプション情報を付与するオプション設定手順と、
前記応答パケットに電子署名を設定するための署名領域を確保する領域確保手順と、
前記オプション設定手順によりエニキャストアドレスオプション情報が設定され、かつ前記領域確保手順によって署名領域が確保された前記応答パケットを、前記通信装置に送信する送信手順と、
をコンピュータに実行させる通信プログラム。
【請求項２１】
予め定められたエニキャストアドレスを割り当てられた第１のネットワーク内のサーバ装置から送信されたパケットを転送するルーティングプログラムであって、
前記第１のネットワークと異なる第２のネットワークに接続された通信装置から前記サーバ装置が受信したエニキャストアドレス宛のパケットに応答する前記通信装置に対する応答パケットを、前記サーバ装置から受信する受信手順と、
前記受信手順によって受信した前記応答パケットに、応答パケットの送信元がエニキャストアドレスを割り当てられていることを示すエニキャストアドレスオプション情報が含まれるか否かを判断し、前記応答パケットに前記エニキャストアドレスオプション情報が含まれている場合に、前記エニキャストアドレスオプション情報に基づいて前記応答パケットが正当なサーバ装置から送信されたものか否かを検証する送信元検証手順と、
前記送信元検証手順によって、前記応答パケットが正当なサーバ装置から送信されたと判断された場合に、前記応答パケットに確保された前記署名領域に前記応答パケットに関する情報に基づいた電子署名を設定する検証情報設定手順と、
前記検証情報設定手順によって前記電子署名が設定された前記応答パケットを次のノードに送信する転送手順と、
をコンピュータに実行させるルーティングプログラム。
【請求項２２】
予め定められたエニキャストアドレスを割り当てられた第１のネットワーク内のサーバ装置から送信されたパケットを転送するルーティングプログラムであって、
前記第１のネットワーク内の他のノードから前記第１のネットワークと異なる第２のネットワーク内の通信装置に送信され、パケットに関する情報に基づく電子署名が付加された応答パケットを受信する受信手順と、
前記受信手順によって受信した前記応答パケットに含まれる前記電子署名に基づいて前記応答パケットが正当なものであるか否かを検証する検証手順と、
前記検証手順によって前記応答パケットが正当であると判断された場合に、前記応答パケットを次のノードに送信する転送手順と、
をコンピュータに実行させるルーティングプログラム。
【請求項２３】
予め定められたエニキャストアドレスを宛先アドレスとしてパケットを送信する送信手順と、
前記パケットの応答としての応答パケットを受信する受信手順と、
前記受信手順によって受信した前記応答パケットに含まれる送信元アドレスが前記宛先アドレスと異なる場合に、前記応答パケットに前記応答パケットの送信元がエニキャストアドレスが割り当てられていることを示すエニキャストアドレスオプション情報が含まれているか否かを判断することにより、前記応答パケットが正当な送信元から送信されたか否かを検証し、正当な送信元から送信されたと判断した場合に、前記応答パケットを読み込む送信元検証手順と、
をコンピュータに実行させる通信プログラム。
【請求項２４】
予め定められたエニキャストアドレスを割り当てられた第１のネットワーク内のサーバ装置から送信されたパケットを転送するルーティングプログラムであって、
前記第１のネットワークと異なる第２のネットワークに接続された通信装置からサーバ装置が受信したエニキャストアドレス宛のパケットに応答する前記通信装置に対する応答パケットを受信する受信手順と、
前記受信手順によって受信した前記応答パケットを最初に他のノードに転送する場合に、前記応答パケットに、前記応答パケットの送信元がエニキャストアドレスを割り当てられていることを示すエニキャストアドレスオプション情報が含まれるか否かを判断し、前記応答パケットに前記エニキャストアドレスオプション情報が含まれている場合に、前記エニキャストアドレスオプション情報に基づいて前記応答パケットが正当なサーバ装置から送信されたか否かを検証し、正当なサーバ装置から送信されていないと判断した場合に、前記応答パケットを破棄する送信元検証手順と、
前記送信元検証手段によって、前記応答パケットが正当なサーバ装置から送信されたと判断された場合に、前記応答パケットに確保された前記署名領域に前記応答パケットに関する情報に基づいた電子署名を設定する検証情報設定手順と、
前記受信手順によって受信した前記応答パケットが最初に前記応答パケットを転送したノードから受信したものである場合、前記応答パケットに含まれる、パケットに関する情報に基づく電子署名に基づいて、前記応答パケットが正当なものであるか否かを検証し、正当でないと判断された場合に前記応答パケットを破棄する検証手順と、
前記応答パケットを、次のノードに送信する転送手順と、
をコンピュータに実行させるルーティングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰｖ６のエニキャストアドレスを用いたネットワーク環境における応答パケットのなりすましを防止する通信システム、ルータ装置、通信装置、通信方法、ルーティング方法、通信プログラムおよびルーティングプログラムに関する。
【背景技術】
【０００２】
近年、インターネットのＩＰアドレス形式は、３２ビット長のアドレス体系であるＩＰｖ４の形式から１２８ビット長のアドレス体系であるＩＰｖ６形式に移行しつつある。
【０００３】
このＩＰｖ６のアドレス形式の特徴の一つに、エニキャストアドレスの導入が挙げられる。エニキャストアドレスとは、経路制御上はユニキャストアドレスと同様に利用されるが、ユニキャストアドレスと異なり、複数ノード上の複数インタフェースに割り当てられるアドレスである（例えば、非特許文献１参照）。
【０００４】
従って、あるノードからエニキャストアドレス宛に出したパケットは、経路上最も近いノードに配送される。仮にエニキャストアドレスを割り当てられたノードに不良が生じた場合でも、経路情報が収束した後に、同じアドレスを持つ次善のルータへ自動的に切り替えることができる。エニキャストアドレスのこのような特性を利用して、あるサービスを提供する複数のサーバに既知のエニキャストアドレスを割り当てることにより、エンドホストに特別な設定や変更を施さずに冗長性の高いサービスを提供することが可能となる。
【０００５】
このようなインターネット通信において、不正なノードからのなりすましによる攻撃を防止することが重大な課題になっている。例えば、ユニキャストアドレスを用いたサービスでは、クライアントである通信装置側で、問い合わせパケットの宛先と応答パケットの送信元アドレスを比較して、両アドレスが一致しない場合に受信した応答パケットが不正なノードから送信された応答パケットであると判断して、悪意のある不正なノードからのなりすましによる攻撃を防止することができる。
【０００６】
一方、悪意のある不正なノードでは、送信元アドレスを偽ってＩＰヘッダの送信元アドレスに設定することも考えられるため、例えば、サイト境界のルータで送信元アドレスに対する正当性検証を行うフィルタリング処理を、通信装置側の送信元アドレスによる検証と併用することで、攻撃を受ける範囲をある程度減少させることができる。
【０００７】
【非特許文献１】IETF RFC2460 Internet Protocol, Version 6 (IPv6) Specification
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、ＩＰｖ６では、エニキャストアドレスをＩＰヘッダの送信元アドレスフィールドに設定することができないという制限が課せられている。このため、クライアントである通信装置からエニキャストアドレス宛のパケットを受信したサーバは、当該通信装置に応答パケットを送信する場合には、サーバ自身のユニキャストアドレスを応答パケットのＩＰヘッダの送信元アドレスフィールドに設定する必要がある。
【０００９】
このため、一般的にはエニキャストアドレスを利用する場合には、なりすましによる悪意のノードからの攻撃を受けやすくなるという問題がある。
【００１０】
すなわち、サーバにエニキャストアドレスが割り当てられており、クライアントの通信装置からこのエニキャストアドレス宛のサーバに問い合わせパケットを送信した場合には、通信装置は予めサーバのユニキャストアドレスを知ることができないため、その応答パケットのＩＰヘッダの送信元アドレスフィールドに設定されたユニキャストアドレスが正当なサーバのユニキャストアドレスか否かを検証することができず、どのような送信元アドレスが設定された応答パケットであっても受け入れざるを得ない。
【００１１】
このように、通信装置がエニキャストアドレスを使用してサーバに問い合わせパケットを送信する場合には、正当なサーバになりすました不正なノードが応答パケットの送信元アドレスを偽ることなく不正な応答パケットを返すことが可能となってしまうため、エニキャストアドレスを使用した通信の場合には、なりすましによる悪意のノードからの攻撃を受ける可能性がユニキャストアドレスを使用する場合よりも高くなり、かつ送信元のノードの正当性を検証することが困難であるという問題がある。
【００１２】
また、送信元アドレスに対する正当性検証を行うフィルタリング処理を行った場合でも、フィルタリング境界となるサイトの内部に存在する悪意のノードからの攻撃を防止することは困難であるという問題がある。
【００１３】
本発明は、上記に鑑みてなされたものであって、エニキャストアドレスを利用した場合において、送信元のノードの正当性および応答パケットの正当性を検証可能とし、サイト内部も含めて悪意のある不正なノードからのなりすましによる攻撃を防止することができる通信システム、ルータ装置、通信装置、通信方法、ルーティング方法、通信プログラムおよびルーティングプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上述した課題を解決し、目的を達成するために、本発明は、第１のネットワークに接続され、予め定められたエニキャストアドレスを割り当てられたサーバ装置と、前記第１のネットワークに接続され、前記サーバ装置から送信されたパケットを転送するルータ装置とを有する通信システムであって、前記サーバ装置は、前記第１のネットワークと異なる第２のネットワークに接続された通信装置から受信したエニキャストアドレス宛のパケットに応答する応答パケットに、この応答パケットの送信元がエニキャストアドレスを割り当てられていることを示すエニキャストアドレスオプション情報を付与するオプション設定手段と、前記応答パケットに電子署名を設定するための署名領域を確保する領域確保手段と、前記オプション設定手段によりエニキャストアドレスオプション情報が設定され、かつ前記領域確保手段によって前記署名領域が確保された前記応答パケットを、前記通信装置に送信する送信手段と、を備え、前記ルータ装置は、前記サーバ装置から前記通信装置に送信された応答パケットを受信する受信手段と、前記受信手段によって受信した前記応答パケットに前記エニキャストアドレスオプション情報が含まれるか否かを判断し、前記サーバ装置に前記エニキャストアドレスオプション情報が含まれている場合に、前記エニキャストアドレスオプション情報に基づいて前記応答パケットが正当なサーバ装置から送信されたものであるか否かを検証する送信元検証手段と、前記送信元検証手段によって、前記応答パケットが正当なサーバ装置から送信されたと判断された場合に、前記応答パケットに確保された前記署名領域に前記応答パケットに関する情報に基づいた電子署名を設定する検証情報設定手段と、前記検証情報設定手段によって前記電子署名が設定された前記応答パケットを送信する転送手段と、を備えたことを特徴とする。
【００１５】
また、本発明は、第１のネットワークに接続され、予め定められたエニキャストアドレスを割り当てられた前記第１のネットワーク内のサーバ装置から送信されたパケットを転送するルータ装置であって、前記第１のネットワークと異なる第２のネットワークに接続された通信装置から前記サーバ装置が受信したエニキャストアドレス宛のパケットに応答する前記通信装置に対する応答パケットを、前記サーバ装置から受信する受信手段と、前記受信手段によって受信した前記応答パケットに、応答パケットの送信元がエニキャストアドレスを割り当てられていることを示すエニキャストアドレスオプション情報が含まれるか否かを判断し、前記応答パケットに前記エニキャストアドレスオプション情報が含まれている場合に、前記エニキャストアドレスオプション情報に基づいて前記応答パケットが正当なサーバ装置から送信されたものか否かを検証する送信元検証手段と、前記送信元検証手段によって、前記応答パケットが正当なサーバ装置から送信されたと判断された場合に、前記応答パケットに確保された前記署名領域に前記応答パケットに関する情報に基づいた電子署名を設定する検証情報設定手段と、前記検証情報設定手段によって前記電子署名が設定された前記応答パケットを次のノードに送信する転送手段と、を備えたことを特徴とする。
【００１６】
また、本発明は、第１のネットワークに接続され、予め定められたエニキャストアドレスを割り当てられた前記第１のネットワーク内のサーバ装置から送信されたパケットを転送するルータ装置であって、前記第１のネットワーク内の他のノードから前記第１のネットワークと異なる第２のネットワーク内の通信装置に送信され、パケットに関する情報に基づく電子署名が付加された応答パケットを受信する受信手段と、前記受信手段によって受信した前記応答パケットに含まれる前記電子署名に基づいて前記応答パケットが正当なものであるか否かを検証する検証手段と、前記検証手段によって前記応答パケットが正当であると判断された場合に、前記応答パケットを次のノードに送信する転送手段と、を備えたことを特徴とする。
【００１７】
また、本発明は、予め定められたエニキャストアドレスを宛先アドレスとしてパケットを送信する送信手段と、前記パケットの応答としての応答パケットを受信する受信手段と、前記受信手段によって受信した前記応答パケットに含まれる送信元アドレスが前記宛先アドレスと異なる場合に、前記応答パケットに前記応答パケットの送信元がエニキャストアドレスが割り当てられていることを示すエニキャストアドレスオプション情報が含まれているか否かを判断することにより、前記応答パケットが正当な送信元から送信されたか否かを検証し、正当な送信元から送信されたと判断した場合に、前記応答パケットを読み込む送信元検証手段と、を備えたことを特徴とする。
【００１８】
また、本発明は、第１のネットワークに接続され、予め定められたエニキャストアドレスを割り当てられた前記第１のネットワーク内のサーバ装置から送信されたパケットを転送するルータ装置であって、前記第１のネットワークと異なる第２のネットワークに接続された通信装置から、前記サーバ装置が受信したエニキャストアドレス宛のパケットに応答する前記通信装置に対する応答パケットを受信する受信手段と、前記受信手段によって受信した前記応答パケットを最初に他のノードに転送する場合に、前記応答パケットに、前記応答パケットの送信元がエニキャストアドレスを割り当てられていることを示すエニキャストアドレスオプション情報が含まれるか否かを判断し、前記応答パケットに前記エニキャストアドレスオプション情報が含まれている場合に、前記エニキャストアドレスオプション情報に基づいて前記応答パケットが正当なサーバ装置から送信されたか否かを検証し、正当なサーバ装置から送信されていないと判断した場合に、前記応答パケットを破棄する送信元検証手段と、前記送信元検証手段によって、前記応答パケットが正当なサーバ装置から送信されたと判断された場合に、前記応答パケットに確保された前記署名領域に前記応答パケットに関する情報に基づいた電子署名を設定する検証情報設定手段と、前記受信手段によって受信した前記応答パケットが最初に前記応答パケットを転送したノードから受信したものである場合、前記応答パケットに含まれる、パケットに関する情報に基づく電子署名に基づいて、前記応答パケットが正当なものであるか否かを検証し、正当でないと判断された場合に前記応答パケットを破棄する検証手段と、前記応答パケットを、次のノードに送信する転送手段と、を備えたことを特徴とする。
【００１９】
また、本発明は上記通信システム、ルータ装置、通信装置で実施される通信方法、ルーティング方法、通信プログラムおよびルーティングプログラムにかかる発明である。
【発明の効果】
【００２０】
本発明によれば、ルータ装置が受信した応答パケットにエニキャストアドレスオプション情報が含まれるか否か、およびエニキャストアドレスオプション情報に基づいて応答パケットが正当なサーバ装置から送信されたものであるか否かを判断し、応答パケットに確保された署名領域に電子署名を設定した応答パケットを送信することで、サイト内における正当なサーバ装置のなりすましによる不正なパケットによる攻撃を防止することができるという効果を奏する。
【００２１】
また、本発明によれば、ルータ装置において、受信した応答パケットに含まれる電子署名に基づいて応答パケットが正当なものであるか否かを検証することで、サイト内で改ざんされた不正な応答パケットによる攻撃を防止することができるという効果を奏する。
【００２２】
また、本発明によれば、通信装置において、受信した応答パケットに含まれる送信元アドレスが宛先アドレスと異なる場合に、応答パケットに含まれている応答パケットの送信元がエニキャストアドレスが割り当てられていることを示すエニキャストアドレスオプション情報により応答パケットが正当な送信元から送信されたか否かを検証することで、サイト内における正当なサーバ装置のなりすましによる不正なパケットによる攻撃を防止することができるという効果を奏する。
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照して、この発明にかかる通信システム、ルータ装置、通信装置、通信方法、ルーティング方法、通信プログラムおよびルーティングプログラムの最良な実施の形態を詳細に説明する。
【００２４】
（実施の形態１）
図１は、実施の形態１にかかる通信システムのネットワーク構成を示すブロック図である。本実施の形態の通信システム１００は、図１に示すように、第２のネットワーク１２０内に位置する通信装置１２１ａ、１２１ｂ、１２１ｃと、境界ルータ１３０と、ルータＡ１１１、ルータＢ１１２、内部ネットワークである第１のネットワーク１１０に属するサーバ装置Ａ１１５ａ、端末１１３ａ…１１３ｎ、第１のネットワーク１１０に属するサーバ装置Ｂ１１５ｂ及び端末１１４ａ…１１４ｎとを備えており、第１のネットワーク１１０と第２のネットワークがインターネット１２２によって接続されている。なお、インターネット１２２を、ケーブル等で接続される専用回線、衛星通信等の遠距離無線通信、ＢｌｕｅＴｏｏｔｈ等の近距離無線通信等で構成してもよい。
【００２５】
ルータＡ１１１及びルータＢ１１２は、パケットをネットワーク層でルーティングする経路探索装置であり、第１のネットワーク１１０上のあらゆるノード間同士でのデータ転送を担当する。
【００２６】
ルータＡ１１１の下位ノードとしては、サーバ装置Ａ１１５ａ、端末１１３ａ…１１３ｎが存在する。ルータＢ１１２の下位ノードには、サーバ装置Ｂ１１５ｂ、端末１１３ａ…１１３ｎが存在する。第１のネットワーク１１０の全ての装置はＬＡＮケーブル１０１によって接続されている。
【００２７】
サーバ装置Ａ１１５ａは、ルータＡ１１１が管理するノードの中心となり処理を行うコンピュータである。サーバ装置Ｂ１１５ｂは、ルータＢ１１２が管理するノードの中心となり処理を行うコンピュータである。
【００２８】
全ての装置のそれぞれのインターフェースは、インターフェースアドレスであるＩＰｖ６形式のＩＰアドレスが付与されている。本実施の形態では、ＬＡＮケーブル１０１の物理層はＥｔｈｅｒｎｅｔ（登録商標）であり、ＩＰｖ６形式のＩＰアドレスが付与されているものとする。
【００２９】
それぞれのＩＰアドレスは、自インターフェースにあらかじめ付与されたＭＡＣアドレスを用いて６４ビットのインターフェース識別子を生成する。インターフェース識別子を下位６４ビットとして、またルータから受信したプレフィックスを上位６４ビットとし、合計１２８ビットのアドレスを自動生成するものとする。
【００３０】
ＩＰｖ６形式のＩＰアドレスの形態にはリンクローカルアドレスやグローバルアドレスという分類があるが、本実施の形態では、全てグローバルアドレスであると仮定する。
【００３１】
境界ルータ１３０の下に属するネットワークを管理する管理者は、サーバ装置Ａ１１５ａのインターフェース及び、サーバ装置Ｂ１１５ｂのインターフェースに同一のエニキャストアドレスＳを付与する。エニキャスト宛てのパケットは、経路的にもっとも近いエニキャストアドレスを持つインターフェースに配送される。
【００３２】
本実施の形態にかかる通信システム１００では、境界ルータ１３０から経路が最短距離のエニキャストアドレスＳをもつサーバ装置はサーバ装置Ａ１１５ａであると仮定する。
【００３３】
ルータＡ１１１及びルータ１１２は、それぞれ自ルータの下に属するノードがエニキャストアドレスを割り当てられているか否かを後述するエニキャストアドレス対応テーブルによって把握している。例えば、ルータＡ１１１は、サーバ装置Ａ１１５ａにエニキャストアドレスＳが割り当てられていることを示すエニキャストアドレス対応テーブルを記憶している。同様にルータＢ１１２は、サーバ装置Ｂ１１５ｂにエニキャストアドレスＳが割り当てられていることを示すエニキャストアドレス対応テーブルを記憶している。
【００３４】
これらのエニキャストアドレス対応テーブルは、その前述の管理者が手動設定してもよいし、ルータとサーバ装置間で予め定められたプロトコルを用いて自動設定するように構成してもよい。
【００３５】
（サーバ装置の構成）
次に、サーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂについて説明する。図２は、サーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂの機能的構成を示すブロック図である。サーバ装置Ａ１１５ａとサーバ装置Ｂ１１５ｂは、同一の機能的構成を有している。
【００３６】
サーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂは、図２に示すように、受信部２０１と、応答パケット生成部２０２と、オプション設定部２０３と、領域確保部２０４と、送信部２０５と、送信制御装置２０６とを主に備えている。
【００３７】
本実施の形態にかかるサーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂは、いずれもエニキャストアドレスＳが割り当てられており、第２のネットワーク１２０の通信装置１２１ａ，１２１ｂ，１２１ｃからエニキャストアドレスＳ宛にパケットを送信した場合に、境界ルータ１３０から最短距離に位置するサーバ装置にパケットが送信されるようになっている。
【００３８】
受信部２０１は、通信装置１２１ａ，１２１ｂ，１２１ｃ等からエニキャストアドレスＳ宛に送信されたパケットを受信する処理部である。
【００３９】
応答パケット生成部２０２は、受信部２０１によってパケットを受信した場合に、そのパケットの送信元に対して応答するための応答パケットを生成する処理部である。応答パケット生成部２０２は、応答パケットをＩＰｖ６形式のフォーマットで生成し、応答パケット中のＩＰｖ６ヘッダの送信元アドレスフィールドにサーバ装置自身のユニキャストアドレスを設定するようになっている。これは、エニキャストアドレスを送信元アドレスとして設定することができないというＩＰｖ６の制限によるものである。
【００４０】
オプション設定部２０３は、応答パケットのＩＰｖ６拡張ヘッダにＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダを設定し、このＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに、サーバ装置自身がエニキャストアドレスが割り当てられているか否かを示すため、割り当てられたエニキャストアドレスを設定する。Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダは、ホップするノードすべてで処理される付加情報である。
【００４１】
図３は、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダのデータ構造を示す説明図である。図３に示すように、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダは、オプションタイプとフィールド長と時刻フィールドとエニキャストアドレスフィールドと電子署名フィールドとから構成される。
【００４２】
オプションタイプとフィールド長のフィールドは、各８ビットで合計１６ビット長であり、ＩＰｖ６拡張ヘッダにおける定型フィールドである。  本実施の形態では、オプションタイプを１６進数で「０ｘ２ｆ」としている。この値は、２進数で表現すると、「００１１１１１」であり、先頭３ビットが「００１」であることから、かかるオプションを理解不能なルータはオプションを無視すべきであること、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダの内容が途中のルータで書き換えられる可能性があることを示している。
【００４３】
本実施の形態では、ルータによって電子署名フィールドに電子署名が設定され、時刻フィールドに最初に応答パケットを転送した時刻が設定されることから、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダの内容が途中のルータで書き換えられる可能性の条件は必須であるが、オプションを理解不能なルータはオプションを無視すべきとの条件は、必ずしも必要ではない。すなわち、すべてのルータ、サーバ装置、通信装置において、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダを使用した検証を行う場合には、例えば、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダを認識しないノードではパケットを破棄するようなタイプのオプションを選択することも可能である。
【００４４】
オプションタイプの後半の５ビットが具体的なオプションを示しており、図３の例では、その値を「１１１１１(２進数)」としている。このオプションタイプの値は、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダが、エニキャストアドレスを割り当てられたノードから受け取った応答パケットであることを示すエニキャストアドレスオプションとして使用されていることを示すものである。なお、本実施の形態では、オプションタイプの後半の５ビットの値が「１１１１１」であるときに、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダがエニキャストアドレスオプションであることを示すように構成しているが、かかる値はこれに限定されるものではなく、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダの使用用途のオプションを一意に識別できる値であれば任意に定めることができる。
【００４５】
フィールド長は、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダ全体の長さを示している。本実施の形態では、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダは固定長であり、先頭１６ビット(２バイト)を除くと３８バイトとなるため、フィールド長の値は３８となる。
【００４６】
時刻フィールドは、６バイト長（４８ビット）であり、応答パケットを最初に転送するルータで、その転送時刻が設定される領域である。
【００４７】
エニキャストアドレスフィールドは、１６バイト長（１２８ビット）であり、送信元であるサーバ装置Ａ１１５ａまたはサーバ装置Ｂ１１５ｂに割り当てられたエニキャストアドレスが各サーバ装置で設定される領域である。
【００４８】
署名フィールドは、１６バイト長（１２８ビット）であり、ルータによって、エニキャストアドレスが設定されたＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに対して秘密鍵を利用して生成された電子署名が設定される領域である。
【００４９】
なお、時刻フィールドと署名フィールドの各フィールド長は、図３に示した例に限定されるものではない。また、署名フィールドは可変長であってもよく、その場合には、署名フィールドの前に署名フィールドのフィールド長を示すフィールドを設定するように構成すればよい。
【００５０】
図２に戻り、領域確保部２０４は、オプション設定部２０３によって、応答パケットの拡張ヘッダに設定されたＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに時刻フィールドと署名フィールドを確保する処理を行う。時刻フィールドは、応答パケットを受信したルータで応答パケットの受信時刻を設定するための領域である。署名フィールドは、応答パケットを受信したルータで応答パケットのエニキャストアドレスが設定されたＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに対して秘密鍵を利用して生成された電子署名を設定するための領域である。
【００５１】
送信部２０５は、オプション設定部２０３によって時刻フィールドや署名フィールドが確保された応答パケットを要求元の通信装置に送信する処理を行う。
【００５２】
送信制御装置２０６は、通信回線を介してデータをルータやサーバ等と送受信するための制御信号を生成するものであり、具体的にはネットワークボードなどが該当する。
【００５３】
（ルータの構成）
次に、第１のネットワーク１１０内のルータＡ１１１、ルータＢ１１２について説明する。図４は、ルータＡ１１１、ルータＢ１１２の機能的構成を示すブロック図である。ルータＡ１１１とルータＢ１１２は、同一の機能的構成を有している。
【００５４】
ルータＡ１１１、ルータＢ１１２は、図３に示すように、受信部４０１と、送信元検証部４０２と、検証情報設定部４０３と、転送部４０４と、通信制御装置４０５と記憶部４１０を主に備えている。
【００５５】
受信部４０１は、サーバ装置１１５ａ、サーバ装置Ｂ１１５ｂなどネットワーク内の他の装置から送信されたパケットを受信する処理部である。本実施の形態では、サーバ装置１１５ａ、サーバ装置Ｂ１１５ｂから通信装置１２１ａ，１２１ｂ，１２１ｃ宛に送信された応答パケットを受信するようになっている。
【００５６】
送信元検証部４０２は、受信した応答パケットが正当なサーバ装置から送信されたものか否かを検証する処理を行う。具体的には、送信元検証部４０２は、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに設定されたエニキャストアドレスに対応して後述するエニキャスト対応テーブル４１１に登録されたユニキャストアドレスが、応答パケットのＩＰｖ６ヘッダの送信元アドレスフィールドに設定されたユニキャストアドレスと一致するか否かにより正当なサーバ装置から送信されたパケットか否かを判断する。
【００５７】
検証情報設定部４０３は、受信した応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダの時刻フィールドに応答パケットの転送時刻を設定し、エニキャストアドレスが設定されたＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに対して秘密鍵を利用して電子署名を生成し、この電子署名を署名フィールドに設定する処理を行う。
【００５８】
ここで、電子署名方式としては公知のいずれの方式も採用することができ、例えば、ＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  ＃５）やＳＨＡ−１（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ ＃１）等の一方向性関数であるハッシュ関数を使用する認証子照合法を採用することができる。例えば、エニキャストアドレスを含むＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダ全体を秘密鍵４１２を用いてハッシュ関数でメッセージダイジェストを生成し、このメッセージダイジェストを電子署名として署名フィールドに設定する。
【００５９】
転送部４０４は、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダの時刻領域に時刻が設定され、署名領域に電子署名が設定された応答パケットを次のノードに転送する処理を行う。
【００６０】
通信制御装置４０５は、サーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂにおける通信制御装置２０６と同様に、通信回線を介してデータをルータやサーバ等と送受信するための制御信号を生成するものであり、具体的にはネットワークボードなどが該当する。
【００６１】
記憶部４１０は、ハードディスクドライブ装置（ＨＤＤ）、ＲＡＭ、フラッシュメモリ等の記憶媒体であり、エニキャストアドレス対応テーブル４１１と秘密鍵４１２が記憶されている。
【００６２】
秘密鍵４１２は、第１のネットワーク内のすべてのルータおよび境界ルータ１３０で共通に保持している鍵であり、第１のネットワーク内のすべてのルータおよび境界ルータ１３０以外のノードには知ることができないようになっている。また、この秘密鍵４１２は、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに対する電子署名を生成する際に使用される。
【００６３】
エニキャストアドレス対応テーブル４１１は、第１のネットワーク内でサーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂに割り当てられているエニキャストアドレスとそのサーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂのユニキャストアドレスとを対応付けたテーブルである。このエニキャストアドレス対応テーブル４１１は、送信元検証部４０２によって参照され、応答パケットのエニキャストフィールドに設定されたエニキャストアドレスが正しいか否かを検証するために使用される。
【００６４】
図５は、エニキャストアドレス対応テーブル４１１の一例を示す説明図である。図５に示すように、エニキャストアドレス対応テーブル４１１には、エニキャストアドレスが割り当てられたサーバ装置のユニキャストアドレスの一覧がエニキャストアドレスに対応して保持されている。
【００６５】
（境界ルータの構成）
次に、境界ルータ１３０について説明する。図６は、境界ルータ１３０の機能的構成を示すブロック図である。境界ルータ１３０は、図６に示すように、受信部６０１と、検証部６０２と、転送部６０３と、通信制御装置６０４と記憶部６１０を主に備えている。
【００６６】
受信部６０１は、ルータＡ１１１、ルータＢ１１２、サーバ装置１１５ａ、サーバ装置Ｂ１１５ｂなどネットワーク内の他の装置から送信されたパケットを受信する処理部である。本実施の形態では、ルータＡ１１１、ルータＢ１１２から通信装置１２１ａ，１２１ｂ，１２１ｃ宛に送信された応答パケットを受信するようになっている。
【００６７】
検証部６０２は、受信した応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダの時刻フィールドに設定された時刻が現在時刻から一定時間以内か否かを判断することにより、応答パケットが正当なものであるか否かを判断する処理を行う。また、検証部６０２は、受信した応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダの署名フィールドに設定された電子署名の正当性を判断することにより、応答パケットが正当なものであるか否かを判断する処理を行う。
【００６８】
ここで、電子署名方式としては、ルータＡ１１１やルータＢ１１２で採用されている方式と同じ方式のものを採用する。例えば、ルータＡ１１１やルータＢ１１２で上述のハッシュ関数を使用した方式を採用している場合には、エニキャストアドレスを含むＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダ全体を秘密鍵４１２を用いてハッシュ関数でメッセージダイジェストを生成し、このメッセージダイジェストと署名フィールドの電子署名が一致するか否かを判断することにより、電子署名が正当なものか否かを判断する。
【００６９】
転送部６０３は、検証部６０２によって応答パケットが正当であると判断された場合に、応答パケットを次のノードに転送する処理を行う。
【００７０】
通信制御装置６０４は、サーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂ、ルータＡ１１１およびルータＢ１１２における通信制御装置２０６、４０５と同様に、通信回線を介してデータをルータやサーバ等と送受信するための制御信号を生成するものであり、具体的にはネットワークボードなどが該当する。
【００７１】
記憶部６１０は、ハードディスクドライブ装置（ＨＤＤ）、ＲＡＭ、フラッシュメモリ等の記憶媒体であり、ルータＡ１１１およびルータＢ１１２で保持している秘密鍵と共通の秘密鍵４１２が記憶されている。この秘密鍵４１２は、検証部６０２によって応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダの署名フィールドに設定された電子署名を復号化する際に使用されるものである。
【００７２】
（通信装置の構成）
次に、第２ネットワーク１２０内の通信装置１２１ａ，１２１ｂ，１２１ｃについて説明する。図７は、通信装置１２１ａ，１２１ｂ，１２１ｃの機能的構成を示すブロック図である。
【００７３】
通信装置１２１ａ，１２１ｂ，１２１ｃは、図７に示すように、送信部７０１と、受信部７０２と、送信元検証部７０３と、通信制御装置７０４とを主に備えている。
【００７４】
送信部７０１は、パケットを所望の送信相手に送信する処理を行う。本実施の形態では、送信部７０１は、第１のネットワーク１１０のサーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂにエニキャストアドレスを指定して問い合わせパケットを送信する。
【００７５】
受信部７０２は、境界ルータ１３０から送信されたパケットをインターネット経由１２２で受信する処理部である。
【００７６】
送信元検証部７０３は、受信した応答パケットが正当なサーバ装置から送信されたものか否かを検証する処理を行う。具体的には、送信元検証部７０２は、受信した応答パケットのＩＰｖ６ヘッダの送信元フィールドに設定された送信元アドレスが、問い合わせパケットの送信アドレスと一致しない場合に、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダがエニキャストアドレスに関するオプションであるか否かをＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダのオプションの値によって判断し、エニキャストアドレスに関するオプションであるである場合には、正当なサーバ装置から送信された応答パケットであると判断する。
【００７７】
通信制御装置７０４は、サーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂ、ルータＡ１１１およびルータＢ１１２における通信制御装置２０６、４０５と同様に、通信回線を介してデータをルータやサーバ等と送受信するための制御信号を生成するものであり、具体的にはネットワークボードなどが該当する。
【００７８】
次に、以上のように構成された本実施の形態にかかる通信システムによる通信処理、ルーティング処理について説明する。
【００７９】
（サーバ装置による通信処理）
まず、第１のネットワーク１１０におけるサーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂによる通信処理について説明する。図８は、サーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂによる通信処理の手順を示すフローチャートである。ここでは、通信装置１２１ａからエニキャストアドレスを指定して問い合わせパケットを送信し、このパケットを、エニキャストアドレスが割り当てられたサーバ装置の中でサーバ装置Ａ１１５ａが受信した場合における通信処理について説明する。ただし、他の通信装置１２１ｂ、１２１ｃからのパケットの送信、およびサーバ装置Ｂ１１５ｂでパケットを受信した場合の通信処理についても同様の処理が行われる。
【００８０】
まず、受信部２０１は、通信装置１２１ａ、１２１ｂ、１２１ｃから、インターネット１２２を介して、エニキャストアドレス宛に送信されたパケットを受信すると（ステップＳ８０１）、応答パケット生成部２０２はそのパケットに対するサービスを提供するための応答パケットを生成する（ステップＳ２０３）。このとき、応答パケットのＩＰｖ６ヘッダの送信元フィールドには、サーバ装置Ａ１１５ａのユニキャストアドレスが設定され、ＩＰｖ６の制限のためエニキャストアドレスは設定されない。また、応答パケットのＩＰｖ６ヘッダの送信先フィールドには、問い合わせのパケットを送信した通信装置１２１ａのＩＰアドレスを設定する。
【００８１】
次に、オプション設定部２０３は、ステップＳ８０２で生成された応答パケットの拡張ヘッダにＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダを設定し、オプションタイプ、フィールド長を図３のように設定すると共に、エニキャストアドレスフィールドにサーバ装置Ａ１１５ａに割り当てられたエニキャストアドレスを設定する（ステップＳ８０３）。ここで、エニキャストアドレスは、予め、ＨＤＤやフラッシュメモリ等の記憶媒体に保持しておく。
【００８２】
次に、領域確保部２０４が、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに時刻フィールドと署名フィールドを確保する（ステップＳ８０４）。このとき、時刻フィールドと署名フィールドには、何も値が設定されていない空欄であることを示すＮＵＬＬ値（０）を設定する。なお、空欄であることを示すフィールド値は必ずしもＮＵＬＬ値である必要はなく、サーバ装置Ａ１１５ａ，サーバ装置Ｂ１１５ｂとルータＡ１１１，ルータＢ１１２との間で、予めフィールドが空欄であることを示す値を任意に定めておけば、当該値を時刻フィールドと署名フィールドに設定するように構成してもよい。
【００８３】
このように、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダにエニキャストアドレスが設定され、時刻フィールドおよび署名フィールドが確保されたら、送信部２０５は、その応答パケットを送信する（ステップＳ８０５）。
【００８４】
これにより、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダにエニキャストアドレスが設定され、時刻フィールドおよび署名フィールドが確保された応答パケットが次のノードに送信されることになる。
【００８５】
（ルータのルーティング処理）
次に、ルータＡ１１１、ルータＢ１１２によるルーティング処理について説明する。図９は、ルータＡ１１１、ルータＢ１１２によるルーティング処理の手順を示すフローチャートである。ここでは、上述のようにサーバ装置Ａ１１５ａから送信された応答パケットをルータＡ１１１によって転送する処理について説明するが、サーバ装置Ｂ１１５ｂから送信された応答パケットをルータＢ１１２によって転送する場合も同様の処理が実行される。
【００８６】
まず、受信部４０１がサーバ装置Ａ１１５ａから応答パケットを受信する（ステップＳ９０１）。そして、送信元検証部４０２は、受信した応答パケットの拡張ヘッダにＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダが挿入されているか否か、および挿入されている場合そのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダのオプションタイプが送信元のサーバ装置がエニキャストアドレスが割り当てられていることを示すエニキャストアドレスオプションであるか否かを判断する（ステップＳ９０２）。具体的には、図３に示したＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダが使用される場合には、オプションタイプの設定値が「０ｘ２ｆ」であるか否かを判断する。ここで、オプションタイプの設定値が「０ｘ２ｆ」の時には、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダが送信元のサーバ装置がエニキャストアドレスが割り当てられていることを示すエニキャストアドレスオプションであると判断する。
【００８７】
そして、ステップＳ９０２において、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダが挿入されておらず、あるいは挿入されたＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダがエニキャストアドレスオプションでないと判断した場合には（ステップＳ９０２：Ｎｏ）、送信元検証部４０２は、エニキャストアドレスが割り当てられた装置からの応答パケットでないと判断し、転送部４０４はそのまま応答パケットを次のノードに送信する（ステップＳ９０８）。
【００８８】
一方、ステップＳ９０２において、応答パケットにＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダが挿入されおり、かつそのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダがエニキャストアドレスオプションであると判断した場合には（ステップＳ９０２：Ｙｅｓ）、送信元検証部４０２は、エニキャストアドレスが割り当てられた装置からの応答パケットであると判断する。そして、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダのエニキャストアドレスフィールドに設定されたエニキャストアドレスを取得し、エニキャストアドレス対応テーブル４１１から取得したエニキャストアドレスに対応したユニキャストアドレスを取得する（ステップＳ９０３）。
【００８９】
そして、取得したユニキャストアドレスと、応答パケットのＩＰｖ６ヘッダの送信元アドレスフィールドに設定されているユニキャストアドレスが一致するか否かを判断する（ステップＳ９０４）。
【００９０】
そして、ステップＳ９０３で取得したユニキャストアドレスと、応答パケットの送信元アドレスフィールドに設定されているユニキャストアドレスが一致しないと判断した場合には（ステップＳ９０４：Ｎｏ）、不正なノードから送信された応答パケットであると判断して、応答パケットを破棄し（ステップＳ９０９）、応答パケットの送信は行わない。
【００９１】
一方、ステップＳ９０４において、ステップＳ９０３で取得したユニキャストアドレスと、応答パケットの送信元アドレスフィールドに設定されているユニキャストアドレスが一致すると判断した場合には（ステップＳ９０４：Ｙｅｓ）、正当なサーバ装置Ａ１１５ａから送信された応答パケットであると判断する。
【００９２】
そして、この場合には、検証情報設定部４０３は、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダの時刻フィールドに最初に転送する時刻として現在時刻を設定する（ステップＳ９０５）。
【００９３】
次に、検証情報設定部４０３は、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダ全体から記憶部４１０に保存されている秘密鍵４１２を用いて電子署名を生成する（ステップＳ９０６）。例えば、ハッシュ関数を用いた電子署名方式を採用している場合には、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダ全体を秘密鍵４１２を用いてハッシュ関数でハッシュ化してメッセージダイジェストを生成して電子署名とする。
【００９４】
そして、この電子署名を、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダの署名フィールドに設定する（ステップＳ９０７）。次いで、転送部４０４が現在時刻と電子署名が設定された応答パケットを次のノードに送信する（ステップＳ９０８）。
【００９５】
このようにして、ルータＡ１１１では、サーバ装置Ａ１１５ａから受信した応答パケットに、現在時刻（最初の転送時刻）と電子署名という検証情報を設定して次のノードに転送される。
【００９６】
ここで、サーバ装置１１５ａから送信される応答パケットの送信元アドレスフィールドにはエニキャストアドレスが設定されないことから、仮に第１のネットワーク１１０のサイト内のノードＡ’が、正当なサーバ装置Ａ１１５ａになりすまして、応答パケットの送信元アドレスにノードＡ’自身のユニキャストアドレスを設定して通信装置１２１ａ宛に送信した場合を考える。この場合においても、ノードＡ’は応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダにはエニキャストアドレスオプションが設定されず、このためエニキャストアドレスが設定されない。このため、なりすましによる不正な応答パケットを受信したルータＡ１１１では、送信元検証部４０２によるエニキャストアドレスオプションの有無およびエニキャストアドレスの検証によって、かかる応答パケットが正当なサーバ装置Ａ１１５ａになりすました不正なノードからの不正なパケットであると判断され破棄されることになり、サイト内における正当なサーバ装置１１５ａのなりすましによる不正なパケットの転送を防止することができる。
【００９７】
（境界ルータのルーティング処理）
次に、境界ルータ１３０によるルーティング処理について説明する。図１０は、境界ルータ１３０によるルーティング処理の手順を示すフローチャートである。ここでは、上述のようにサーバ装置Ａ１１５ａから送信された応答パケットがルータＡ１１１によって境界ルータ１３０に転送され、転送された応答パケットを境界ルータ１３０によって通信装置１２１ａに転送する処理について説明するが、サーバ装置Ｂ１１５ｂから送信された応答パケットをルータＢ１１２によって転送されてきた場合も同様の処理が実行される。
【００９８】
まず、受信部６０１がルータＡ１１１から応答パケットを受信する（ステップＳ１００１）。そして、検証部６０２は、受信した応答パケットの拡張ヘッダにＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダが挿入されているか否か、および挿入されている場合そのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダのオプションタイプが送信元のサーバ装置がエニキャストアドレスが割り当てられていることを示すエニキャストアドレスオプションであるか否かを判断する（ステップＳ１００２）。具体的には、ルータＡ１１１のルーティング処理と同様に、図３に示したＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダが使用される場合には、オプションタイプの設定値が「０ｘ２ｆ」であるか否かを判断する。
【００９９】
そして、ステップＳ１００２において、応答パケットの拡張ヘッダにＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダが挿入されておらず、あるいは挿入されたＨｏｐ−ｂｙーＨｏｐオプションヘッダがエニキャストアドレスオプションでないと判断した場合には（ステップＳ１００２：Ｎｏ）、検証部６０２は、エニキャストアドレスが割り当てられた装置からの応答パケットでないと判断し、転送部６０３はそのまま応答パケットを通信装置１２１ａに送信する（ステップＳ１００７）。
【０１００】
一方、ステップＳ１００２において、応答パケットの拡張ヘッダにＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダが挿入されており、かつ挿入されたＨｏｐ−ｂｙーＨｏｐオプションヘッダがエニキャストアドレスオプションであると判断した場合には（ステップＳ１００２：Ｙｅｓ）、検証部６０２は、エニキャストアドレスが割り当てられた装置からの応答パケットであると判断する。
【０１０１】
そして、次に検証部６０２は、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダの時刻フィールドにＮＵＬＬ値が設定されているか否かを判断する（ステップＳ１００３）。そして、時刻フィールドには最初に応答パケットを転送するルータＡ１１１により転送時刻が設定されているはずなので、時刻フィールドにＮＵＬＬ値が設定されている場合には（ステップＳ１００３：Ｙｅｓ）、応答パケットがルータＡ１１１から境界ルータ１３０に転送されるまでの間に悪意のある第三者により傍受され不正に改ざんされた可能性があると判断し、応答パケットを破棄する（ステップＳ１００８）。
【０１０２】
一方、ステップＳ１００３において時刻フィールドがＮＵＬＬ値でなく時刻が設定されている場合には（ステップＳ１００３：Ｎｏ）、その時刻が現在時刻から予め定められた一定時間内であるか否かを判断する（ステップＳ１００４）。そして、時刻フィールドの時刻が現在時刻から一定時間内でない場合には（ステップＳ１００４：Ｎｏ）、最初に応答パケットを転送した時刻から必要以上に時間が経過して境界ルータ１３０に届いており、ルータＡ１１１と境界ルータ１３０の間に悪意の有る第三者で応答パケットが傍受された可能性があると判断して、応答パケットを破棄する（ステップＳ１００８）。ここで、上記一定時間は、例えば、パケットをルータＡ１１１から境界ルータ１３０に転送されるまでの転送時間の平均をとって定めるように構成すればよい。これにより、パケットがルータＡ１１１から境界ルータ１３０の間に他の悪意のあるノードを介在して転送された場合を転送時間によって確実に排除することが可能となる。
【０１０３】
一方、ステップＳ１００４において、時刻フィールドの時刻が現在時刻から一定時間内である場合には（ステップＳ１００４：Ｙｅｓ）、署名フィールドに設定された電子署名を取得する（ステップＳ１００５）。この署名フィールドには、最初に応答パケットを転送したルータＡ１１１でＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダ全体に対して秘密鍵４１２を利用して生成された電子署名が格納されているので、取得した電子署名が正当であるか否かを検証する（ステップＳ１００６）。
【０１０４】
例えば、上述したルータＡ１１１やルータＢ１１２と同じ方式のハッシュ関数を用いた電子署名方式を採用している場合には、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダ全体を秘密鍵４１２を用いてハッシュ関数でメッセージダイジェストを生成し、このメッセージダイジェストと署名フィールドから取得した電子署名が一致するか否かを判断することにより、電子署名を検証する。
【０１０５】
そして、電子署名が正当でないと判断された場合（ステップＳ１００６：Ｎｏ）、すなわち上述の検証の例では、生成したメッセージダイジェストと署名フィールドの電子署名が一致しない場合には、応答パケットがルータＡ１１１から境界ルータ１３０に転送されるまでの間に悪意のある第三者により傍受され不正に改ざんされた可能性があると判断し、応答パケットを破棄する（ステップＳ１００８）。
【０１０６】
一方、ステップＳ１００６において、電子署名が正当であると判断された場合には（ステップＳ１００６：Ｙｅｓ）、すなわち上述の検証の例では、生成したメッセージダイジェストと署名フィールドの電子署名が一致する場合には、応答パケットは正当なもので傍受および改ざんの可能性がないと判断して、応答パケットを通信装置１２１ａに送信する（ステップＳ１００７）。
【０１０７】
このようにして、境界ルータ１３０では、サーバ装置Ａ１１５ａ、ルータＡ１１１から受信した応答パケットの正当性を判断して正当な場合に応答パケットを次のノードに転送する。
【０１０８】
ここで、仮に第１のネットワーク１１０のサイト内のノードＡ’’がルータ装置Ａ１１１から境界ルータ１３０までの転送経路を流れる正当な応答パケットを傍受して、その応答パケットを改ざんした後に境界ルータ１３０に送信した場合でも、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダの時刻フィールドに設定された時刻（ルータＡ１１１によりパケットを転送した時刻）から現在時刻までの時間が上記一定時間より長くなってしまう。このため、検証部６０２で時刻フィールドに設定された時刻と現在時刻との時間の検証を行うことによって、かかる応答パケットが改ざんされた可能性があるパケットと判断され破棄されることになるため、サイト内で改ざんされた不正な応答パケットの転送を防止することができる。
【０１０９】
また、ルータＡ１１１では、このようにＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダの時刻フィールドに設定された時刻によって応答パケットが改ざんされた可能性があるか否かを判断しているため、上記悪意のあるノードＡ’’は、傍受した応答パケットの時刻フィールドの時刻をノードＡ’’から転送する時刻に改ざんして境界ルータ１３０に転送することも考えられる。
【０１１０】
しかしながら、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダ全体に対して秘密鍵４１２を用いて生成した電子署名が署名フィールドに設定されており、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダには時刻フィールドが含まれるため、時刻フィールドの時刻を改ざんしても、時刻フィールドを含むＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに対する電子署名の検証が失敗する。
従って、時刻フィールドのみを改ざんした応答パケットが境界ルータ１３０に転送されても、境界ルータ１３０の検証部６０２による電子署名の検証によって、かかる応答パケットが改ざんされたパケットと判断され破棄されることになるため、サイト内で改ざんされた不正な応答パケットの転送を防止することができる。
【０１１１】
（通信装置の通信処理）
次に、通信装置１２１ａ，１２１ｂ，１２１ｃによるルーティング処理について説明する。図１１は、通信装置１２１ａ，１２１ｂ，１２１ｃによるルーティング処理の手順を示すフローチャートである。ここでは、通信装置１２１ａがエニキャストアドレス宛に問い合わせパケットを送信し、エニキャストアドレスを割り当てられたサーバ装置の中で、サーバ装置Ａ１１５ａがこの問い合わせパケットを受信して、上述のようにサーバ装置Ａ１１５ａから送信された応答パケットがルータＡ１１１，境界ルータ１３０によって通信装置１２１ａで受信する処理について説明するが、サーバ装置Ｂ１１５ｂから送信された応答パケットをルータＢ１１２、境界ルータ１３０によって転送されてきた場合、および他の通信装置１２１ｂ、１２１ｃで問い合わせパケットを送信して応答パケットを受信する場合も同様の処理が実行される。
【０１１２】
まず、送信部７０１はエニキャストアドレス宛に問い合わせパケットを送信すると、エニキャストアドレスを割り当てられたサーバ装置の中で、サーバ装置Ａ１１５ａがこの問い合わせパケットを受信して、サーバ装置Ａ１１５ａからルータＡ１１１、境界ルータ１３０を経由して転送されてきた応答パケットを受信部７０２によって受信する（ステップＳ１１０１）。
【０１１３】
そして、送信元検証部７０３は、問い合わせパケットの宛先アドレスと、受信した応答パケットのＩＰｖ６ヘッダの送信元アドレスフィールドに設定されたアドレスとが一致するか否かを判断する（ステップＳ１１０１）。
【０１１４】
ここで、通信装置１２１ａからパケットを送信した場合、送信相手のノードからユニキャストアドレスが送信元アドレスとした応答パケットが返ってくる。通信装置１２１ａでは、パケット送信の際に宛先としてエニキャストアドレスを指定する他、ユニキャストアドレスを指定する場合もあり、ユニキャストアドレス宛に送信した場合には、送信パケットの宛先アドレスと応答パケットの送信元アドレスが一致するが、エニキャストアドレス宛に送信した場合には、送信パケットの宛先アドレスと応答パケットの送信元アドレスが一致しない。このため、受信した応答パケットがエニキャストアドレス宛の送信パケットに対するものなのか、ユニキャストアドレス宛の送信パケットに対するものなのかをステップＳ１１０２で判断しているのである。
【０１１５】
ステップＳ１１０２において、両アドレスが一致すると判断した場合には（ステップＳ１１０２：Ｙｅｓ）、受信した応答パケットがユニキャストアドレス宛の送信パケットに対する応答パケットであるため、エニキャストアドレス宛の送信パケットに対する応答パケットの検証処理（ステップＳ１１０３）を行わずに、応答パケットを読み込む（ステップＳ１１０４）。
【０１１６】
一方、ステップＳ１１０２において、両アドレスが一致しないと判断した場合には（ステップＳ１１０２：Ｙｅｓ）、受信した応答パケットがエニキャストアドレス宛の送信パケットに対する応答パケットであるため、送信元検証部７０３は、受信した応答パケットの拡張ヘッダにＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダが挿入されているか否か、および挿入されている場合そのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダのオプションタイプが送信元のサーバ装置がエニキャストアドレスが割り当てられていることを示すエニキャストアドレスオプションであるか否かを判断する（ステップＳ１１０３）。具体的には、ルータＡ１１１および境界ルータ１３０のルーティング処理と同様に、図３に示したＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダが使用される場合には、オプションタイプの設定値が「０ｘ２ｆ」であるか否かを判断する。
【０１１７】
そして、ステップＳ１１０３において、応答パケットの拡張ヘッダにＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダが挿入されておらず、あるいは挿入されたＨｏｐ−ｂｙーＨｏｐオプションヘッダがエニキャストアドレスオプションでないと判断した場合には（ステップＳ１１０３：Ｎｏ）、送信元検証部７０３は、不正なノードから送信された応答パケットであると判断し、応答パケットを破棄する（ステップＳ１１０５）。
【０１１８】
一方、ステップＳ１１０３において、応答パケットの拡張ヘッダにＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダが挿入されており、かつ挿入されたＨｏｐ−ｂｙーＨｏｐオプションヘッダがエニキャストアドレスオプションであると判断した場合には（ステップＳ１１０３：Ｙｅｓ）、送信元検証部７０３は、エニキャストアドレスが割り当てられた装置からの正当な応答パケットであり、サーバ装置Ａ１１５ａになりすましたノードからの不正なパケットではないと判断し、受信した応答パケットを読み込む（ステップＳ１１０４）。
【０１１９】
ここで、サーバ装置１１５ａから送信される応答パケットの送信元アドレスフィールドにはエニキャストアドレスが設定されないことから、仮に第１のネットワーク１１０のサイト内のノードＡ’が、正当なサーバ装置Ａ１１５ａになりすまして、応答パケットの送信元アドレスにノードＡ’自身のユニキャストアドレスを設定して通信装置１２１ａ宛に送信した場合を考える。この場合においても、ノードＡ’は応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダにはエニキャストアドレスオプションが設定されないため、なりすましによる不正な応答パケットを受信した通信装置１２１ａでは、送信元検証部７０３によるエニキャストアドレスオプションの有無の検証によって、かかる応答パケットが正当なサーバ装置Ａ１１５ａになりすました不正なノードからの不正なパケットであると判断され破棄されることになり、第１のネットワーク１１０のサイト内における正当なサーバ装置１１５ａのなりすましによる不正なパケットの転送を防止することができる。
【０１２０】
なお、通信装置１２１ａ，１２１ｂ，１２１ｃ側では、第１のネットワーク１１０内の各ルータが転送する応答パケットを検証しているか否かという設定情報を確認することができない。このため、仮に通信装置１２１ａ，１２１ｂ，１２１ｃが受信したパケットにＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダが挿入され、上述のエニキャストオプションであると判断しても、それだけでは各ルータで応答パケットが正しく検証およびフィルタリングされているという保証にはならない。
【０１２１】
しかし、各ルータにおける検出を実施していない環境では、ユニキャストアドレスを利用した場合であってもなりすまし攻撃が成立することに注意が必要である。すなわち、本実施の形態では、第１のネットワークのサイト内部の各ルータにおいてフィルタリングが実施されている場合について、ユニキャストアドレス宛の送信パケットに対する応答パケットを受信する場合と同等の安全性がエニキャストアドレス宛のの送信パケットに対する応答パケットを受信する場合についても確保される。
【０１２２】
このように実施の形態１にかかる通信システムでは、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダがエニキャストアドレスが割り当てられた装置から送信されたパケットであることを示すエニキャストアドレスオプション、およびＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに設定されたエニキャストアドレスを検証することによって応答パケットが正当なサーバ装置１１５ａ，１１５ｂから送信されたパケットであるか否かを検証しているので、サイト内における正当なサーバ装置１１５ａのなりすましによる不正なパケットによる攻撃を防止することができる。
【０１２３】
また、実施の形態１にかかる通信システムでは、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに対する電子署名を検証しているので、サイト内で改ざんされた不正な応答パケットによる攻撃を防止することができる。
【０１２４】
なお、本実施の形態では、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに設定された時刻と電子署名の検証を境界ルータ１３０のみで行っているが、サーバ装置Ａ１１５ａ，サーバ装置Ｂ１１５ｂから送信された応答パケットの転送を二回目以降に行うルータ、すなわちルータＡ１１１の次のノードのルータが存在すれば、当該ルータで、かかる時刻と電子署名の検証の処理を実行するように構成してもよい。
【０１２５】
また、本実施の形態では、境界ルータ１３０においては、時刻と電子署名の検証の処理のみで、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに設定されたエニキャストアドレスによる検証は行っていないが、より確実になりすましによる攻撃を防止するため、エニキャストアドレスによる検証を行うように構成してもよい。
【０１２６】
（実施の形態２）
実施の形態１にかかる通信システムでは、サーバ装置Ａ１１５ａからの応答パケットを最初に転送するルータＡ１１１で、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダに設定されたエニキャストアドレスによる送信元の正当性を検証して署名領域、時刻領域へ検証情報を設定し、応答パケットを２回目以降に転送する境界ルータ１３０でルータＡ１１１でＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに設定された転送時刻と電子署名による応答パケットの改ざんの有無の検証を行っていたが、この実施の形態２にかかる通信システムでは、第１のネットワーク１１０内の全てのルータに、エニキャストアドレスによる送信元の正当性の検証機能および署名領域、時刻領域への検証情報の設定機能と、転送時刻と電子署名による応答パケットの改ざんの有無の検証機能を持たせ、応答パケットを最初に転送するか否かによって両検証を切り分けるものである。
【０１２７】
実施の形態２にかかる通信システムのネットワーク構成は、図１に示した実施の形態１のネットワーク構成と同様である。
【０１２８】
（ルータの構成）
本実施の形態では、ルータＡ１１１およびルータＢ１１２と、境界ルータ１３０は、同じ機能的構成を有している。図１２は、実施の形態２にかかるルータＡ１１１およびルータＢ１１２と、境界ルータ１３０の機能的構成を示すブロック図である。
【０１２９】
実施の形態２にかかるルータＡ１１１およびルータＢ１１２と、境界ルータ１３０は、図１２に示すように、受信部１２０１と、送信元検証部１２０２と、検証情報設定部１２０３と、検証部１２０４と、送信部１２０５と、通信制御装置１２０６と、記憶部１２１０とを主に備えている。
【０１３０】
受信部１２０１は、サーバ装置１１５ａ、サーバ装置Ｂ１１５ｂ、他のルータなどネットワーク内の他の装置から送信されたパケットを受信する処理部である。本実施の形態では、サーバ装置１１５ａ、サーバ装置Ｂ１１５ｂから通信装置１２１ａ，１２１ｂ，１２１ｃ宛に送信された応答パケットをサーバ装置１１５ａ、サーバ装置Ｂ１１５ｂ、から直接または他のルータを介して受信するようになっている。
【０１３１】
送信元検証部１２０２は、受信した応答パケットを最初に転送する場合には、実施の形態１におけるルータＡ１１１およびルータＢ１１２と同様に、応答パケットが正当なサーバ装置から送信されたものか否かを検証する処理を行う。具体的には、送信元検証部１２０２は、実施の形態１のルータＡ１１１、ルータＢ１１２と同様に、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに設定されたエニキャストアドレスに対応してエニキャスト対応テーブル４１１に登録されたユニキャストアドレスが、応答パケットのＩＰｖ６ヘッダの送信元アドレスフィールドに設定されたユニキャストアドレスと一致するか否かにより正当なサーバ装置から送信されたパケットか否かを判断する。
【０１３２】
検証情報設定部１２０３は、受信した応答パケットを最初に転送する場合には、実施の形態１におけるルータＡ１１１およびルータＢ１１２と同様に、受信した応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダの時刻フィールドに応答パケットの転送時刻を設定し、エニキャストアドレスが設定されたＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに対して秘密鍵を利用して電子署名を生成し、この電子署名を署名フィールドに設定する処理を行う。
【０１３３】
検証部１２０４は、応答パケットを２回目以降に転送する場合に、実施の形態１における境界ルータ１３０と同様に、受信した応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダの時刻フィールドに設定された時刻が現在時刻から一定時間以内か否かを判断することにより、応答パケットが正当なものであるか否かを判断する処理を行う。また、検証部１２０４は、受信した応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダの署名フィールドに設定された電子署名の正当性を判断することにより、応答パケットが正当なものであるか否かを判断する処理を行う。転送部１２０５は、応答パケットを次のノードに転送する処理を行う。
【０１３４】
通信制御装置１２０６は、実施の形態における各装置と同様に、通信回線を介してデータをルータやサーバ等と送受信するための制御信号を生成するものであり、具体的にはネットワークボードなどが該当する。
【０１３５】
記憶部１２１０は、ハードディスクドライブ装置（ＨＤＤ）、ＲＡＭ、フラッシュメモリ等の記憶媒体であり、第１のネットワーク１１０内のルータＡ１１１およびルータＢ１１２、境界ルータ１３０で共通の秘密鍵４１２と、エニキャストアドレス対応テーブル４１２が記憶されている。ここで、秘密鍵４１２とエニキャストアドレス対応テーブル４１２は、実施の形態で説明した秘密鍵４１２とエニキャストアドレス対応テーブル４１２と同様のものである。
【０１３６】
（ルータによるルーティング処理）
次に、本実施の形態にかかるルータＡ１１１およびルータＢ１１２、境界ルータ１３０によるルーティング処理について説明する。なお、通信装置１２１ａ，１２１ｂ，１２１ｃからエニキャストアドレス宛の問い合わせパケットを受信したサーバ装置Ａ１１５ａ、サーバ装置１１５ｂによる応答パケットの送信処理は、実施の形態１と同様に行われる。図１３は、実施の形態２にかかるルータＡ１１１およびルータＢ１１２、境界ルータ１３０によるルーティング処理の手順を示すフローチャートである。
【０１３７】
まず、受信部１２０１が前のノードから応答パケットを受信する（ステップＳ１３０１）。そして、送信元検証部１２０２は、受信した応答パケットの拡張ヘッダにＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダが挿入されているか否か、および挿入されている場合そのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダのオプションタイプが送信元のサーバ装置がエニキャストアドレスが割り当てられていることを示すエニキャストアドレスオプションであるか否かを判断する（ステップＳ１３０２）。具体的には、図３に示したＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダが使用される場合には、オプションタイプの設定値が「０ｘ２ｆ」であるか否かを判断する。ここで、オプションタイプの設定値が「０ｘ２ｆ」の時には、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダが送信元のサーバ装置がエニキャストアドレスが割り当てられていることを示すエニキャストアドレスオプションであると判断する。
【０１３８】
そして、ステップＳ１３０２において、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダが挿入されておらず、あるいは挿入されたＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダがエニキャストアドレスオプションでないと判断した場合には（ステップＳ１３０２：Ｎｏ）、送信元検証部１２０２は、エニキャストアドレスが割り当てられた装置からの応答パケットでないと判断し、転送部１２０５はそのまま応答パケットを次のノードに送信する（ステップＳ１３０９）。
【０１３９】
一方、ステップＳ１３０２において、応答パケットにＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダが挿入されおり、かつそのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダがエニキャストアドレスオプションであると判断した場合には（ステップＳ１３０２：Ｙｅｓ）、送信元検証部１２０２は、エニキャストアドレスが割り当てられた装置からの応答パケットであると判断する。そして、検証部１２０４は、自ノードが応答パケットを最初に転送するノードか否かを判断する（ステップＳ１３０３）。例えば、自ノードが応答パケットを最初に転送するノードである場合には、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダの署名フィールドと時刻フィールドが何も設定されていないはずなので、共に空欄を示すＮＵＬＬ値であるか否かを判断することにより、自身のルータが応答パケットを最初に転送するノードか否かを判断する。
【０１４０】
すなわち、かかる両フィールドの値は、最初に応答パケットを転送するルータＡ１１１、ルータＢ１１２で設定されるので、両フィールドが何も設定されていない空欄を示すＮＵＬＬ値であれば、かかる応答パケットを受信したルータが最初に応答パケットを転送することを意味する。なお、本実施の形態では、自身のルータが応答パケットを最初に転送するノードか否かを判断するために、署名フィールドと時刻フィールドは共にＮＵＬＬ値であるか否かを判断しているが、これに限定されるものではなく、例えば、最初に転送するか否かを示すフラグ等をＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに挿入してかかるフラグによって自身のルータが応答パケットを最初に転送するノードか否かを判断してもよい。
【０１４１】
そして、ステップＳ１３０３で、自ノードが応答パケットを最初に転送するノードであると判断した場合には（ステップＳ１３０３：Ｙｅｓ）、送信元検証部１２０２は、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダのエニキャストアドレスフィールドに設定されたエニキャストアドレスを取得し、エニキャストアドレス対応テーブル４１１から取得したエニキャストアドレスに対応したユニキャストアドレスを取得する（ステップＳ１３０４）。
【０１４２】
そして、取得したユニキャストアドレスと、応答パケットのＩＰｖ６ヘッダの送信元アドレスフィールドに設定されているユニキャストアドレスが一致するか否かを判断する（ステップＳ１３０５）。
【０１４３】
そして、ステップＳ１３０４で取得したユニキャストアドレスと、応答パケットの送信元アドレスフィールドに設定されているユニキャストアドレスが一致しないと判断した場合には（ステップＳ１３０５：Ｎｏ）、不正なノードから送信された応答パケットであると判断して、応答パケットを破棄し（ステップＳ１３１４）、応答パケットの送信は行わない。
【０１４４】
一方、ステップＳ１３０５において、ステップＳ１３０４で取得したユニキャストアドレスと、応答パケットの送信元アドレスフィールドに設定されているユニキャストアドレスが一致すると判断した場合には（ステップＳ１３０５：Ｙｅｓ）、正当なサーバ装置Ａ１１５ａから送信された応答パケットであると判断する。
【０１４５】
そしてこの場合には、検証情報設定部１２０３は、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダの時刻フィールドに最初に転送する時刻として現在時刻を設定する（ステップＳ１３０６）。
【０１４６】
次に、検証情報設定部１２０３は、Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダ全体から記憶部４１０に保存されている秘密鍵４１２を用いて電子署名を生成する（ステップＳ１３０７）。そして、この電子署名を、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダの署名フィールドに設定し（ステップＳ１３０８）、転送部１２０５が現在時刻と電子署名が設定された応答パケットを次のノードに送信する（ステップＳ１３０９）。
【０１４７】
このようにして、ルータが最初に応答パケットを転送する場合には、サーバ装置Ａ１１５ａから受信した応答パケットに、現在時刻（最初の転送時刻）と電子署名という検証情報を設定して次のノードに転送される。
【０１４８】
一方、ステップＳ１３０３において、自身が最初に応答パケットを転送するルータではなく、２回目以降に転送するルータであると判断した場合には（ステップＳ１３０３：Ｎｏ）、検証部１２０４は、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダの時刻フィールドにＮＵＬＬ値が設定されているか否かを判断する（ステップＳ１３１０）。そして、時刻フィールドには最初に応答パケットを転送するルータＡ１１１により転送時刻が設定されているはずなので、時刻フィールドにＮＵＬＬ値が設定されている場合には（ステップＳ１３１０：Ｙｅｓ）、応答パケットがルータＡ１１１から自身に転送されるまでの間に悪意のある第三者により傍受され不正に改ざんされた可能性があると判断し、応答パケットを破棄する（ステップＳ１３１４）。
【０１４９】
一方、ステップＳ１３１０において時刻フィールドがＮＵＬＬ値でなく時刻が設定されている場合には（ステップＳ１３１０：Ｎｏ）、その時刻が現在時刻から予め定められた一定時間内であるか否かを判断する（ステップＳ１３１１）。そして、時刻フィールドの時刻が現在時刻から一定時間内でない場合には（ステップＳ１３１１：Ｎｏ）、最初に応答パケットを転送した時刻から必要以上に時間が経過して自身のルータに届いており、ルータＡ１１１と自身のルータの間に悪意の有る第三者で応答パケットが傍受された可能性があると判断して、応答パケットを破棄する（ステップＳ１３１４）。ここで、上記一定時間については、実施の形態１の場合と同様であり、例えば、パケットをルータＡ１１１から自身のルータに転送されるまでの転送時間の平均をとって定めるように構成すればよい。
【０１５０】
一方、ステップＳ１３１１において、時刻フィールドの時刻が現在時刻から一定時間内である場合には（ステップＳ１３１１：Ｙｅｓ）、署名フィールドに設定された電子署名を取得する（ステップＳ１３１２）。この署名フィールドには、最初に応答パケットを転送したルータＡ１１１でＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダ全体に対して秘密鍵４１２を利用して生成された電子署名が格納されているので、取得した電子署名が正当であるか否かを検証する（ステップＳ１３１３）。
【０１５１】
そして、電子署名が正当でないと判断された場合には（ステップＳ１３１３：Ｎｏ）、応答パケットがルータＡ１１１から自身のルータに転送されるまでの間に悪意のある第三者により傍受され不正に改ざんされた可能性があると判断し、応答パケットを破棄する（ステップＳ１３１４）。
【０１５２】
一方、ステップＳ１３１３において、電子署名が正当であると判断された場合には（ステップＳ１３１３：Ｙｅｓ）、応答パケットは正当なもので傍受および改ざんの可能性がないと判断して、応答パケットを次のノードに送信する（ステップＳ１３１４）。
【０１５３】
このようにして、ルータでは、サーバ装置Ａ１１５ａ、ルータＡ１１１から受信した応答パケットの正当性を判断して正当な場合に応答パケットを次のノードに転送する。
【０１５４】
このように実施の形態２にかかる通信システムでは、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダがエニキャストアドレスが割り当てられた装置から送信されたパケットであることを示すエニキャストアドレスオプション、およびＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに設定されたエニキャストアドレスを検証することによって応答パケットが正当なサーバ装置１１５ａ，１１５ｂから送信されたパケットであるか否かを検証しているので、サイト内における正当なサーバ装置１１５ａのなりすましによる不正なパケットによる攻撃を防止することができる。
【０１５５】
また、実施の形態２にかかる通信システムでは、応答パケットのＨｏｐ−ｂｙ−Ｈｏｐオプションヘッダに設定された時刻と電子署名を検証しているので、サイト内で改ざんされた不正な応答パケットによる攻撃を防止することができる。
【０１５６】
さらに、実施の形態２にかかる通信システムでは、第１のネットワーク１１０内の全てのルータに、エニキャストアドレスによる送信元の正当性の検証機能および署名領域、時刻領域への検証情報の設定機能と、転送時刻と電子署名による応答パケットの改ざんの有無の検証機能を持たせ、応答パケットを最初に転送するか否かによって両検証を切り分けているので、ルータごとにエニキャストアドレスによる送信元の正当性の検証機能および署名領域、時刻領域への検証情報の設定機能と、転送時刻と電子署名による応答パケットの改ざんの有無の検証機能とを振り分けて設ける必要がなくなり、通信システムの構築を容易に行うことができる。
【０１５７】
実施の形態１および２のサーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂ、ルータＡ１１１、ルータＢ１１２、境界ルータ１３０、通信装置１２１ａ、１２１ｂ、１２１ｃは、ＣＰＵなどの制御装置と、ＲＯＭ（Read Only Memory）やＲＡＭなどの記憶装置と、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０１５８】
実施の形態１および２のサーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂで実行される通信プログラム、ルータＡ１１１、ルータＢ１１２、境界ルータ１３０で実行されるルーティングプログラム、通信装置１２１ａ、１２１ｂ、１２１ｃで実行される通信プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１５９】
また、実施の形態１および２のサーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂで実行される通信プログラム、ルータＡ１１１、ルータＢ１１２、境界ルータ１３０で実行されるルーティングプログラム、通信装置１２１ａ、１２１ｂ、１２１ｃで実行される通信プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、実施の形態１および２のサーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂで実行される通信プログラム、ルータＡ１１１、ルータＢ１１２、境界ルータ１３０で実行されるルーティングプログラム、通信装置１２１ａ、１２１ｂ、１２１ｃで実行される通信プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０１６０】
また、実施の形態１および２のサーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂで実行される通信プログラム、ルータＡ１１１、ルータＢ１１２、境界ルータ１３０で実行されるルーティングプログラム、通信装置１２１ａ、１２１ｂ、１２１ｃで実行される通信プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１６１】
実施の形態１および２のサーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂで実行される通信プログラム、ルータＡ１１１、ルータＢ１１２、境界ルータ１３０で実行されるルーティングプログラム、通信装置１２１ａ、１２１ｂ、１２１ｃで実行される通信プログラムは、上述した各部（受信部、送信元検証部、検証情報設定部、検証部、転送部、送信部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記憶媒体から各プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、受信部、送信元検証部、検証情報設定部、検証部、転送部、送信部が主記憶装置上に生成されるようになっている。
【図面の簡単な説明】
【０１６２】
【図１】実施の形態１にかかる通信システムのネットワーク構成を示すブロック図である。
【図２】サーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂの機能的構成を示すブロック図である。
【図３】Ｈｏｐ−ｂｙ−Ｈｏｐオプションヘッダのデータ構造を示す説明図である。
【図４】ルータＡ１１１、ルータＢ１１２の機能的構成を示すブロック図である。
【図５】エニキャストアドレス対応テーブル４１１の一例を示す説明図である。
【図６】境界ルータ１３０の機能的構成を示すブロック図である。
【図７】通信装置１２１ａ，１２１ｂ，１２１ｃの機能的構成を示すブロック図である。
【図８】サーバ装置Ａ１１５ａ、サーバ装置Ｂ１１５ｂによる通信処理の手順を示すフローチャートである。
【図９】ルータＡ１１１、ルータＢ１１２によるルーティング処理の手順を示すフローチャートである。
【図１０】境界ルータ１３０によるルーティング処理の手順を示すフローチャートである。
【図１１】通信装置１２１ａ，１２１ｂ，１２１ｃによるルーティング処理の手順を示すフローチャートである。
【図１２】実施の形態２にかかるルータＡ１１１およびルータＢ１１２と、境界ルータ１３０の機能的構成を示すブロック図である。
【図１３】実施の形態２にかかるルータＡ１１１およびルータＢ１１２、境界ルータ１３０によるルーティング処理の手順を示すフローチャートである。
【符号の説明】
【０１６３】
１００  通信システム
１０１  Ｅｔｈｅｒｎｅｔ（登録商標）ケーブル
１１０  第１のネットワーク
１１１  ルータＡ
１１２  ルータＢ
１１３ａ〜１１３ｎ、１１４ａ〜１１４ｎ  端末
１１５ａ  サーバ装置Ａ
１１５ｂ  サーバ装置Ｂ
１２１ａ，１２１ｂ，１２１ｃ  通信装置
１２２  インターネット
１３０  境界ルータ
２０１，４０１，６０１，７０２，１２０１  受信部
２０２  応答パケット生成部
２０３  オプション設定部
２０４  領域確保部
２０５，７０１  送信部
２０６，４０５，６０４，７０４，１２０６  通信制御装置
４０２，７０３，１２０２  送信元検証部
４０３，１２０３  検証情報設定部
４０４，６０３，１２０５  転送部
４１０，６１０  記憶部
４１１  エニキャストアドレス対応テーブル
４１２  秘密鍵
６０２，１２０４  検証部
【図１】
2006033334.tif 000003
【図２】
2006033334.tif 000004
【図３】
2006033334.tif 000005
【図４】
2006033334.tif 000006
【図５】
2006033334.tif 000007
【図６】
2006033334.tif 000008
【図７】
2006033334.tif 000009
【図８】
2006033334.tif 000010
【図９】
2006033334.tif 000011
【図１０】
2006033334.tif 000012
【図１１】
2006033334.tif 000013
【図１２】
2006033334.tif 000014
【図１３】
2006033334.tif 000015