(57)【要約】【課題】エニキャストアドレスを用いたサービスにおいて、送信元の正当性を検証し、なりすましによる被害を防止する通信装置、境界ルータ装置、サーバ装置、通信システム、通信方法、ルーティング方法、通信プログラム及びルーティングプログラムを提供する。【解決手段】応答パケットの送信元アドレスを検出し、送信元アドレスが、宛先アドレスと異なる場合に応答パケットのエニキャストアドレスを示す識別子を検出し、応答パケットの検証を行う通信装置１０ａ、１０ｂ、１０ｃ，…と応答パケット内の識別子を検出し、予め記憶されたサーバ装置に関する情報より、応答パケットがサーバから送信された応答パケットであることを検証する境界ルータ２０と、応答パケットの送信元アドレスに、エニキャストアドレスを示す識別子を付与する手段を持つＡサーバ３０ａ等を用いて送受信の際にフィルタリングを行う。【選択図】      図１
2004166002.tif 000002
【特許請求の範囲】
【請求項１】
所定の宛先アドレス宛にパケットを送信する送信手段と、
前記パケットの応答として応答パケットを受信する受信手段と、
受信した前記応答パケットに含まれる送信元アドレスを検出する第１の検出手段と、
検出した前記送信元アドレスが前記宛先アドレスと異なる場合、前記応答パケットに含まれる、前記宛先アドレスを持つ他の通信装置がエニキャストアドレスを付与されていることを示す識別子を検出する第２の検出手段と、
検出した前記識別子に基づいて前記応答パケットの検証を行う検証手段
とを具備したことを特徴とする通信装置。
【請求項２】
エニキャストアドレスを持つサーバ装置が属する第１のネットワークと第２のネットワークとの境界に位置する境界ルータ装置であって、
前記第２のネットワーク側の通信装置から所定のエニキャストアドレスを持つ前記サーバ装置宛のパケットを受信する第１の受信手段と、
前記パケットを前記サーバ装置に転送する第１の転送手段と、
前記サーバ装置から前記パケットに対する応答パケットを受信する第２の受信手段と、
前記応答パケットに含まれる、前記エニキャストアドレスとは異なる送信元アドレスが付与されていることを示す識別子を検出する検出手段と、
前記検出手段において前記識別子が検出された場合、予め保持している前記第２のネットワーク内における前記エニキャストアドレスを持つサーバ装置に関する情報に基づいて、前記応答パケットが前記サーバ装置から送信された応答パケットであることを検証する検証手段と、
この検証手段の結果に基づいて、前記応答パケットを前記通信装置に転送するか否かを制御する転送制御手段と、
前記制御手段にて前記パケットを転送すると判断した場合には前記応答パケットを前記通信装置に転送する第２の転送手段
とを具備したことを特徴とする境界ルータ装置。
【請求項３】
第１のネットワークに接続され、所定のエニキャストアドレスを持つサーバ装置において、
第２のネットワーク側に接続された通信装置から前記エニキャストアドレス宛に送信されたパケットを受信する受信手段と、
前記パケットに応答する応答パケットに、この応答パケットの送信元がエニキャストアドレスを持つことを示す識別子を付与する識別子付与手段と
前記応答パケットを前記通信装置へ送信する送信手段
とを具備したことを特徴とするサーバ装置。
【請求項４】
所定のエニキャストアドレスを持ち第１のネットワークに接続されたサーバ装置と、第２のネットワークに接続された通信装置と、前記第１のネットワークと前記第２のネットワークとの境界に位置する境界ルータ装置とからなる通信システムにおいて、前記通信装置は、
前記エニキャストアドレス宛にパケットを送信する第１の送信手段、
前記パケットの応答として前記サーバから応答パケットを受信する第１の受信手段とを具備し、前記サーバ装置は、
前記通信装置から前記エニキャストアドレス宛に送信された前記パケットを受信する第２の受信手段、
前記パケットに応答する前記応答パケットに、前記サーバ装置がエニキャストアドレスを持つことを示す識別子を付与する識別子付与手段、
前記応答パケットを前記通信装置へ送信する第２の送信手段
とを具備し、前記境界ルータ装置は、
前記通信装置から所定のエニキャストアドレスを持つ前記サーバ装置宛のパケットを受信する第３の受信手段、
前記パケットを前記サーバ装置に転送する第１の転送手段、
前記サーバ装置から前記パケットに対する応答パケットを受信する第４の受信手段、
前記応答パケットに含まれる、前記エニキャストアドレスとは異なる送信元アドレスが付与されていることを示す識別子を検出する検出手段、
前記検出手段において前記識別子が検出された場合、予め保持している前記第１のネットワーク内における前記エニキャストアドレスを持つサーバ装置に関する情報に基づいて、前記応答パケットが前記サーバから送信された応答パケットであることを検証する検証手段、
前記検証手段の結果に基づいて、前記応答パケットを前記通信装置に転送するか否かを制御する転送制御手段、
前記制御手段にて前記パケットを転送すると判断した場合には前記応答パケットを前記通信装置に転送する第２の転送手段
とを具備したことを特徴とする通信システム。
【請求項５】
所定の宛先アドレス宛にパケットを送信し、
前記パケットの応答として応答パケットを受信し、
受信した該応答パケットに含まれる該応答パケットの送信元アドレスを検出し、
検出した前記送信元アドレスが、前記宛先アドレスと異なる場合、前記応答パケットに含まれる、この応答パケットを送信した他の通信装置がエニキャストアドレスを持つことを示す識別子を検出し、
前記識別子に基づいて前記応答パケットの検証を行う
ことを特徴とする通信方法。
【請求項６】
エニキャストアドレスを持つサーバ装置が属する第１のネットワークと第２のネットワークとの境界に位置する境界ルータ装置におけるルーティング方法であって、
前記第２のネットワーク側の通信装置から所定のエニキャストアドレスを持つ前記サーバ装置宛のパケットを受信し、
前記パケットを前記サーバ装置に転送し、
前記サーバ装置から前記パケットに対する応答パケットを受信し、
前記応答パケットに含まれる、前記エニキャストアドレスとは異なる送信元アドレスが付与されていることを示す識別子を検出し、
前記識別子が検出された場合、予め保持している前記第２のネットワーク内における前記エニキャストアドレスを持つサーバ装置に関する情報に基づいて、前記応答パケットが前記サーバ装置から送信された応答パケットであることを検証し、
この検証の結果に基づいて、前記応答パケットを前記通信装置に転送するか否かを制御する
ことを特徴とするルーティング方法。
【請求項７】
第１のネットワークに接続され、所定のエニキャストアドレスを持つサーバ装置における通信方法であって、
第２のネットワーク側に接続された通信装置から前記エニキャストアドレス宛に送信されたパケットを受信し、
前記パケットに応答する応答パケットに、前記サーバ装置がエニキャストアドレスを持つことを示す識別子を付与し、
前記応答パケットを前記通信装置へ送信する
ことを特徴とする通信方法。
【請求項８】
所定の宛先アドレス宛にパケットを送信し、
前記パケットの応答として応答パケットを受信し、
受信した該応答パケットに含まれる該応答パケットの送信元アドレスを検出し、
検出した前記送信元アドレスが、前記宛先アドレスと異なる場合、前記応答パケットに含まれる、この応答パケットを送信した他の通信装置がエニキャストアドレスを持つことを示す識別子を検出し、
前記識別子に基づいて前記応答パケットの検証を行う
ことをコンピュータに実行させる為の通信プログラム。
【請求項９】
エニキャストアドレスを持つサーバ装置が属する第１のネットワークと第２のネットワークとの境界に位置する境界ルータ装置においてルーティング処理を行うコンピュータに、
前記第２のネットワーク側の通信装置から所定のエニキャストアドレスを持つ前記サーバ装置宛のパケットを受信し、
前記パケットを前記サーバ装置に転送し、
前記サーバ装置から前記パケットに対する応答パケットを受信し、
前記応答パケットに含まれる、前記エニキャストアドレスとは異なる送信元アドレスが付与されていることを示す識別子を検出し、
前記識別子が検出された場合、予め保持している前記第２のネットワーク内における前記エニキャストアドレスを持つサーバ装置に関する情報に基づいて、前記応答パケットが前記サーバ装置から送信された応答パケットであることを検証し、
この検証の結果に基づいて、前記応答パケットを前記通信装置に転送するか否かを制御する
ことを実行させる為のルーティングプログラム。
【請求項１０】
第１のネットワークに接続され、所定のエニキャストアドレスを持つサーバ装置において通信を行うコンピュータに、
第２のネットワーク側に接続された通信装置から前記エニキャストアドレス宛に送信されたパケットを受信し、
前記パケットに応答する応答パケットに、前記サーバ装置がエニキャストアドレスを持つことを示す識別子を付与し、
前記応答パケットを前記通信装置へ送信する
ことを実行させる為の通信プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＩＰｖ６のエニキャストアドレスを用いた環境における応答のなりすましを防止する技術に係り、通信装置、境界ルータ装置、サーバ装置、通信システム、通信方法、ルーティング方法、通信プログラム及びルーティングプログラムに関する。
【０００２】
【従来の技術】
近年、世界最大のコンピュータネットワーク「インターネット（Ｉｎｔｅｒｎｅｔ）」の利用が普及してきており、インターネットと接続し、公開された情報やサービスを利用したり、逆にインターネットを通じてアクセスしてくる外部ユーザに対し、情報やサービスを提供することで、新たなコンピュータビジネスが開拓されている。
【０００３】
またインターネットにおいて利用される新たな技術の開発が活発に行われている。インターネットでは、接続された各計算機（ノード、サーバなど）がそれぞれＩＰアドレスという識別子を持ち、このＩＰアドレスを元にパケットの交換により通信が行われる。
【０００４】
ＩＰアドレスの形式はＩＰｖ４と呼ばれる３２ビット長のアドレス体系が用いられていたが、近年新たにＩＰｖ６と呼ばれる１２８ビット長のアドレス体系に移行しつつある。
【０００５】
このＩＰｖ６の特徴の一つに、エニキャストアドレスの導入が挙げられる。エニキャストアドレスは、経路制御上はユニキャストと同様に利用されるが、ユニキャストアドレスと異なり、複数ノード上の複数インターフェースに割り当てられる。
【０００６】
したがって、あるノードからエニキャストアドレス宛に出したパケットは、経路上最も近いノードに配送される。仮にエニキャストアドレスを割り当てられたノードに不良が生じたとしても、経路情報が収束した後に、同じアドレスを持つ次善のルータへ自動的に切り替えることができる。
【０００７】
エニキャストアドレスの持つこうした特性を利用して、あるサービスを提供する複数のサーバに既知のエニキャストアドレスを割り当てることにより、エンドホストに特別な設定や変更を施さずに冗長性の高いサービスが実現できる。
【０００８】
ただし、ＩＰｖ６のエニキャストアドレスは、送信元アドレスとして使ってはいけないという制限が課せられている。したがって、エニキャストアドレス宛のパケットを受け取ったサーバは、応答を返すときには自身のユニキャストアドレスを送信元アドレスとして用いる必要がある。
【０００９】
ここで、一般的にエニキャストアドレスを利用する場合には、「なりすまし」による悪意の第三者からの攻撃を受けやすくなる。エニキャストアドレス宛にパケットを出すクライアント端末にとって、応答を返すサーバのユニキャストアドレスを事前に知ることはできないので、どのような送信元アドレスを持つ応答パケットであっても受け入れなければならない。
【００１０】
このため、実際にはサービスを提供する権限を持たないノードからの不正な「なりすまし」による応答であっても、クライアント端末が受け入れてしまう可能性という問題があった。
【００１１】
またユニキャストアドレスを用いたサービスでは、たとえば、問い合わせパケットの宛先と応答パケットの送信元を比較する、といった簡単な検証方法があり、実際に利用されてもいる。
【００１２】
送信元アドレスを偽ること自体は容易であるため、これは完全な検証とはなり得ない。しかし、たとえば、ネットワーク境界のルータで送信元アドレスに対する正当性検証を行うフィルタリングと併用することで、攻撃を受ける範囲をある程度狭めることはできる。
【００１３】
しかしながらエニキャストアドレスの場合には、送信元アドレスを偽ることなく不正な応答を返すことができるため、なりすましによる悪意の第三者からの攻撃を受ける可能性がユニキャストを用いた場合よりも高くなってしまうという問題があった。
【００１４】
【非特許文献１】
ＩＥＴＦ  ＲＦＣ２４６０  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ，  Ｖｅｒｓｉｏｎ  ６  （ＩＰｖ６）  Ｓｐｅｃｉｆｉｃａｔｉｏｎ，  Ｄｅｃｅｍｂｅｒ  １９９８
【００１５】
【発明が解決しようとする課題】
前述したように、ＩＰｖ６におけるにエニキャストアドレスを用いたサービスでは、そのエニキャストアドレスを持った送信元の送信元アドレスに、エニキャストアドレスを使うことができないという制約があるために、送信元の正当性を検証することが困難であるという問題があった。
【００１６】
この場合、悪意の第三者による送信元アドレスの改ざんにより、なりすましによる攻撃を受ける可能性がユニキャストを用いた場合よりも高くなってしまう危険性があった。
【００１７】
本発明は、上記問題点を解決する為になされたものであり、エニキャストアドレスを用いたサービスにおいて、送信元の正当性を検証することにより、なりすましによる被害を防止する為の通信装置、境界ルータ装置、サーバ装置、通信システム、通信方法、ルーティング方法、通信プログラム及びルーティングプログラムに関する。
【００１８】
【課題を解決するための手段】
本発明の第１の特徴は、（イ）所定の宛先アドレス宛にパケットを送信する送信手段と、（ロ）パケットの応答として応答パケットを受信する受信手段と、（ハ）受信した応答パケットに含まれる送信元アドレスを検出する第１の検出手段と、（ニ）検出した送信元アドレスが宛先アドレスと異なる場合、応答パケットに含まれる、宛先アドレスを持つ他の通信装置がエニキャストアドレスを付与されていることを示す識別子を検出する第２の検出手段と、（ホ）検出した識別子に基づいて応答パケットの検証を行う検証手段とを具備する通信装置であることを要旨とする。
【００１９】
上記の発明によると、通信装置は、応答パケット及びその送信元アドレスにより、応答パケットが適切なサーバ等より送信されているか否かを明らかにすることができる。
【００２０】
本発明の第２の特徴は、（イ）エニキャストアドレスを持つサーバ装置が属する第１のネットワークと第２のネットワークとの境界に位置する境界ルータ装置であって、第２のネットワーク側の通信装置から所定のエニキャストアドレスを持つサーバ装置宛のパケットを受信する第１の受信手段と、（ロ）パケットをサーバ装置に転送する第１の転送手段と、（ハ）サーバ装置からパケットに対する応答パケットを受信する第２の受信手段と、（ニ）応答パケットに含まれる、エニキャストアドレスとは異なる送信元アドレスが付与されていることを示す識別子を検出する検出手段と、（ホ）検出手段において識別子が検出された場合、予め保持している第２のネットワーク内におけるエニキャストアドレスを持つサーバ装置に関する情報に基づいて、応答パケットがサーバ装置から送信された応答パケットであることを検証する検証手段と、（ヘ）この検証手段の結果に基づいて、応答パケットを通信装置に転送するか否かを制御する転送制御手段と、（ト）制御手段にてパケットを転送すると判断した場合には応答パケットを通信装置に転送する第２の転送手段とを具備する境界ルータ装置であることを要旨とする。
【００２１】
上記の発明によると、境界ルータ装置は、応答パケット及びその送信元アドレスにより、応答パケットが適切なサーバ等より送信されているか否かを明らかにすることができる。
【００２２】
本発明の第３の特徴は、（イ）第１のネットワークに接続され、所定のエニキャストアドレスを持つサーバ装置において、第２のネットワーク側に接続された通信装置からエニキャストアドレス宛に送信されたパケットを受信する受信手段と、（ロ）パケットに応答する応答パケットに、この応答パケットの送信元がエニキャストアドレスを持つことを示す識別子を付与する識別子付与手段と、（ハ）応答パケットを通信装置へ送信する送信手段とを具備するサーバ装置であることを要旨とする。
【００２３】
上記の発明によると、サーバ装置がエニキャスト通信を示す識別子を付与することが可能となる。ひいては、応答パケットを送受信する他の装置が適切なサーバ等より送信された応答パケットか否かを判断することができる。
【００２４】
本発明の第４の特徴は、（イ）所定のエニキャストアドレスを持ち第１のネットワークに接続されたサーバ装置と、第２のネットワークに接続された通信装置と、第１のネットワークと第２のネットワークとの境界に位置する境界ルータ装置とからなる通信システムにおいて、（ロ）通信装置は、エニキャストアドレス宛にパケットを送信する第１の送信手段、（ハ）パケットの応答としてサーバから応答パケットを受信する第１の受信手段とを具備し、（ニ）サーバ装置は、通信装置からエニキャストアドレス宛に送信されたパケットを受信する第２の受信手段、（ホ）パケットに応答する応答パケットに、サーバ装置がエニキャストアドレスを持つことを示す識別子を付与する識別子付与手段、（ヘ）応答パケットを通信装置へ送信する第２の送信手段とを具備し、（ト）境界ルータ装置は、通信装置から所定のエニキャストアドレスを持つサーバ装置宛のパケットを受信する第３の受信手段、（チ）パケットをサーバ装置に転送する第１の転送手段、（リ）サーバ装置からパケットに対する応答パケットを受信する第４の受信手段、（ヌ）応答パケットに含まれる、エニキャストアドレスとは異なる送信元アドレスが付与されていることを示す識別子を検出する検出手段、（ル）検出手段において識別子が検出された場合、予め保持している第１のネットワーク内におけるエニキャストアドレスを持つサーバ装置に関する情報に基づいて、応答パケットがサーバから送信された応答パケットであることを検証する検証手段、（ヲ）検証手段の結果に基づいて、応答パケットを通信装置に転送するか否かを制御する転送制御手段、（ワ）制御手段にてパケットを転送すると判断した場合には応答パケットを通信装置に転送する第２の転送手段とを具備する通信システムであることを要旨とする。
【００２５】
上記の発明によると、サーバ装置が付与したエニキャスト通信を示す識別子を、通信装置及び境界ルータ装置が検知、判断することより、ユニキャストアドレスを用いた通信システムと同様の安全性をエニキャストアドレスを用いた通信システムにて確保することができる。
【００２６】
本発明の第５の特徴は、（イ）所定の宛先アドレス宛にパケットを送信し、（ロ）パケットの応答として応答パケットを受信し、（ハ）受信した応答パケットに含まれる応答パケットの送信元アドレスを検出し、（ニ）検出した送信元アドレスが、宛先アドレスと異なる場合、応答パケットに含まれる、この応答パケットを送信した他の通信装置がエニキャストアドレスを持つことを示す識別子を検出し、（ホ）識別子に基づいて応答パケットの検証を行う通信方法であることを要旨とする。
【００２７】
本発明の第６の特徴は、（イ）エニキャストアドレスを持つサーバ装置が属する第１のネットワークと第２のネットワークとの境界に位置する境界ルータ装置におけるルーティング方法であって、第２のネットワーク側の通信装置から所定のエニキャストアドレスを持つサーバ装置宛のパケットを受信し、（ロ）パケットをサーバ装置に転送し、（ハ）サーバ装置からパケットに対する応答パケットを受信し、（ニ）応答パケットに含まれる、エニキャストアドレスとは異なる送信元アドレスが付与されていることを示す識別子を検出し、（ホ）識別子が検出された場合、予め保持している第２のネットワーク内におけるエニキャストアドレスを持つサーバ装置に関する情報に基づいて、応答パケットがサーバ装置から送信された応答パケットであることを検証し、（ヘ）この検証の結果に基づいて、応答パケットを通信装置に転送するか否かを制御するルーティング方法であることを要旨とする。
【００２８】
本発明の第７の特徴は、（イ）第１のネットワークに接続され、所定のエニキャストアドレスを持つサーバ装置における通信方法であって、（ロ）第２のネットワーク側に接続された通信装置からエニキャストアドレス宛に送信されたパケットを受信し、（ハ）パケットに応答する応答パケットに、サーバ装置がエニキャストアドレスを持つことを示す識別子を付与し、（ニ）応答パケットを通信装置へ送信する通信方法であることを要旨とする。
【００２９】
本発明の第８の特徴は、（イ）所定の宛先アドレス宛にパケットを送信し、（ロ）パケットの応答として応答パケットを受信し、（ニ）受信した応答パケットに含まれる応答パケットの送信元アドレスを検出し、（ホ）検出した送信元アドレスが、宛先アドレスと異なる場合、応答パケットに含まれる、この応答パケットを送信した他の通信装置がエニキャストアドレスを持つことを示す識別子を検出し、（ヘ）識別子に基づいて応答パケットの検証を行うことをコンピュータに実行させる為の通信プログラムであることを要旨とする。
【００３０】
本発明の第９の特徴は、（イ）エニキャストアドレスを持つサーバ装置が属する第１のネットワークと第２のネットワークとの境界に位置する境界ルータ装置においてルーティング処理を行うコンピュータに、第２のネットワーク側の通信装置から所定のエニキャストアドレスを持つサーバ装置宛のパケットを受信し、（ロ）パケットをサーバ装置に転送し、（ハ）サーバ装置からパケットに対する応答パケットを受信し、（ニ）応答パケットに含まれる、エニキャストアドレスとは異なる送信元アドレスが付与されていることを示す識別子を検出し、（ホ）識別子が検出された場合、予め保持している第２のネットワーク内におけるエニキャストアドレスを持つサーバ装置に関する情報に基づいて、応答パケットがサーバ装置から送信された応答パケットであることを検証し、（ヘ）この検証の結果に基づいて、応答パケットを通信装置に転送するか否かを制御することを実行させる為のルーティングプログラムであることを要旨とする。
【００３１】
本発明の第１０の特徴は、（イ）第１のネットワークに接続され、所定のエニキャストアドレスを持つサーバ装置において通信を行うコンピュータに、第２のネットワーク側に接続された通信装置からエニキャストアドレス宛に送信されたパケットを受信し、（ロ）パケットに応答する応答パケットに、サーバ装置がエニキャストアドレスを持つことを示す識別子を付与し、（ハ）応答パケットを通信装置へ送信することを実行させる為の通信プログラムであることを要旨とする。
【００３２】
【発明の実施の形態】
（通信システム）
始めに、エニキャストアドレスを用いたネットワーク及び通信システムの概要について説明する。通信システム１００は、図１に示すように、第２のネットワーク９内に位置する通信装置１０ａ、１０ｂ、１０ｃ，…、インターネット１、境界ルータ２０、Ａルータ３、Ｂルータ４、内部ネットワークである第１のネットワーク７に属するＡサーバ３０ａ、端末５ａ…５ｎ、第１のネットワーク７に属するＢサーバ３０ｂ及び端末６ａ…６ｎとを備えている。
【００３３】
インターネット１は、第１のネットワーク７と第２のネットワーク９を繋げるための通信回線である。これはケーブル等で接続される専用回線、衛星通信等の遠距離無線通信、ＢｌｕｅＴｏｏｔｈ等の近距離無線通信等であっても構わない。
【００３４】
Ａルータ３及びＢルータ４は、パケットをネットワーク層でルーティングする装置であり、第１のネットワーク７上のあらゆるノード間同士でのデータ転送を担当する。Ａサーバ３０ａは、Ａルータ３が管理するノードの中心となり処理を行うコンピュータである。Ｂサーバ３０ｂは、Ｂルータ４が管理するノードの中心となり処理を行うコンピュータである。
【００３５】
Ａルータ３の下位ノードとしては、図２のように、Ａサーバ３０ａ、端末５ａ、５ｂ、５ｃが存在する。Ｂルータ４の下位ノードには、図２のように、Ｂサーバ３０ｂ、端末６ａ、６ｂ、６ｃが存在する。第１のネットワーク７の全ての装置はＬＡＮケーブル８にて接続されている。
【００３６】
尚、通信装置１０ａ、１０ｂ、１０ｃ，…、境界ルータ２０、Ａサーバ３０ａ及びＢサーバ３０ｂ等の装置は、一般的なコンピュータに所定の機能を実現するソフトウェアプログラムをインストールすることにより実現される。
【００３７】
また全ての装置のそれぞれのインターフェースは、図２に示すようにインターフェースアドレス（ここではＩＰｖ６アドレス）が付与されている。ここではＬＡＮケーブル８の物理層はイーサネット（ＴＭ）であり、ＩＰｖ６アドレスが付与されていると仮定する。それぞれのＩＰｖ６アドレスは、自インターフェースにあらかじめ付与されたＭＡＣアドレスを用いて６４ビットのインターフェース識別子を生成する。インターフェース識別子を下位６４ビットとして、またルータから受信したプレフィックスを上位６４ビットとし、合計１２８ビットのアドレスを自動生成するものとする。
【００３８】
ＩＰｖ６アドレスの形態にはリンクローカルアドレスやグローバルアドレスといった分類があるが、ここで説明するのは全てグローバルアドレスであると仮定する。
【００３９】
境界ルータ２０の下に属するネットワークを管理する管理者は、Ａサーバ３０ａのインターフェース及び、Ｂサーバのインターフェースに同一のエニキャストアドレスＳを付与する。エニキャスト宛てのパケットは、経路的にもっとも近いエニキャストアドレスを持つインターフェースに配送される。
【００４０】
ここでは境界ルータ２０から見た場合に、経路的にもっとも近いエニキャストアドレスＳをもつサーバはＡサーバ３０ａであると仮定する。
【００４１】
ここでＡルータ３及びＢルータ４は、それぞれ自ルータの下に属するノードがエニキャストアドレスを割り当てられているか否かを知っているものとする。例えば、Ａルータ３は、Ａサーバ３０ａがエニキャストアドレスＳを持っていることを示すテーブルを記憶しておく。同様にＢサーバ４はＢサーバ３０ｂがエニキャストアドレスＳを持っていることを示すテーブルを記憶しているとする。
【００４２】
これらのテーブルはその前述の管理者が手動設定してもよいし、ルータとサーバ間で何らかのプロトコルを用いて自動設定としてもよい。
【００４３】
（通信装置）
図１に示した通信装置１０ａ、１０ｂ、１０ｃ，…は、それぞれ図３に示すように、入力装置１１、出力装置１２、通信制御装置１３、主記憶装置１４、処理制御装置（ＣＰＵ）１６等から構成される。ＣＰＵ１６は、送信手段１６ａ、受信手段１６ｂ、第１の検出手段１６ｃ、第２の検出手段１６ｄ及び検証手段１６ｅ等を備えている。
【００４４】
送信手段１６ａは、パケットのヘッダにある宛先アドレスをチェックし、その宛先アドレス宛にパケットを送信するモジュールである。受信手段１６ｂは、パケットの応答として、送信相手のサーバ等より送信されてきた応答パケットを受信するモジュールである。
【００４５】
第１の検出手段１６ｃは、受信した応答パケットに含まれる、送信元アドレスを検出するモジュールである。第２の検出手段１６ｄは、検出した送信元アドレスが、宛先アドレスと異なる場合、送信元アドレスに含まれるエニキャストアドレスを示す識別子を検出するモジュールである。検証手段１６ｅは、識別子に基づいて応答パケットの検証を行うモジュールである。
【００４６】
入力装置１１は、キーボード、マウス等により構成される。又、通信制御装置１３を介し外部装置より入力を行っても良い。ここで外部装置とは、ＣＤ−ＲＯＭ、ＭＯ、ＺＩＰなどの記憶媒体及びそのドライブ装置等を指す。出力装置１２は、液晶ディスプレイ、ＣＲＴディスプレイ等の表示装置、インクジェットプリンタ、レーザープリンタ等の印刷装置等により構成される。
【００４７】
通信制御装置１３は、通信回線を介してデータを他の汎用機、サーバ等に送受信する為の制御信号を生成するモジュールである。主記憶装置１４は、処理の手順を記述したプログラムや処理されるべきデータを一時的に記憶し、ＣＰＵ１６の要請に従ってプログラムの機械命令やデータを引き渡す。ＣＰＵ１６で処理されたデータは主記憶装置に書き込まれる。主記憶装置１４とＣＰＵ１６はアドレスバス、データバス、制御信号等で結ばれている。
【００４８】
（通信装置による通信方法）
次に、通信装置１０ａ、１０ｂ、１０ｃ，…を用いた通信方法について、図１及び図３を参照しながら、図６のフローチャートを用いて説明する。
【００４９】
（ａ）ステップＳ１０１では、図３に示す送信手段１６ａが、パケットのヘッダにある宛先アドレスをチェックし、その宛先アドレス宛にパケットを送信する。パケットは図１に示すインターネット１等を介して宛先アドレス宛てに送信される。
【００５０】
パケットを受け取ったサーバ等の相手装置は、このパケットに対する応答パケットを、通信装置１０ａ、１０ｂ、１０ｃ，…に向けて再び送信する。又、この送信の際に、サーバ等の相手装置は、応答パケットに自らの属するエニキャストアドレスを証明する識別子を付与する。
【００５１】
（ｂ）ステップＳ１０２では、受信手段１６ｂが、パケットの応答として、サーバ等の相手装置より送信されてきた応答パケットを受信する。
【００５２】
（ｃ）ステップＳ１０３では、第１の検出手段１６ｃが、受信手段１６ｂが受信した応答パケットに含まれる、送信元アドレスを検出する。これにより送信元の通信相手を特定することができる。
【００５３】
（ｄ）ステップＳ１０４では、検出した送信元アドレスが宛先アドレスと異なる場合、第２の検出手段１６ｄが、送信元アドレスに含まれるエニキャストアドレスを示す識別子を検出する。
【００５４】
（ｅ）ステップＳ１０５では、検証手段１６ｅが、検出した識別子に基づいて、送信元のサーバ等の相手装置がなりすましでないことを認証する。
【００５５】
このように通信装置１０ａ、１０ｂ、１０ｃ，…にてエニキャストアドレス通信を示す識別子を検出することにより、ユニキャストアドレスと同等の安全性をエニキャストアドレスにて確保することが可能となる。
【００５６】
（境界ルータ装置）
境界ルータ２０は、図１に示すように、複数のエニキャストアドレス保有サーバ装置が属する第１のネットワーク７と、外部のネットワークである第２のネットワーク９との境界に位置する。境界ルータ２０は、図４に示すように入力装置２１、出力装置２２、通信制御装置２３、主記憶装置２４、処理制御装置（ＣＰＵ）２６及び補助記憶装置２７等から構成される。
【００５７】
補助記憶装置２７は、第１のネットワーク７内のインターフェースのアドレスを記憶する。ＣＰＵ２６は、第１の受信手段２６ａ、第１の転送手段２６ｂ、第２の受信手段２６ｃ、検出手段２６ｄ、検証手段２６ｅ、転送制御手段２６ｆ及び第２の転送手段２６ｇを備えている。第１の受信手段２６ａは、第２のネットワーク９側の通信装置１０ａ、１０ｂ、１０ｃ，…から、複数のエニキャストアドレス保有サーバ装置宛のパケットを受信するモジュールである。
【００５８】
第１の転送手段２６ｂは、パケットを複数のエニキャストアドレス保有サーバ装置の内、最も経路的に近距離にあるサーバ装置に転送するモジュールである。第２の受信手段２６ｃは、経路的に最も近距離にあるサーバ装置から、パケットに対する応答パケットを受信するモジュールである。
【００５９】
検出手段２６ｄは、応答パケットに含まれる、エニキャストアドレスとは異なる送信元アドレスが付与されていることを示す識別子を検出するモジュールである。検証手段２６ｅは、検出手段２６ｄにおいて識別子が検出された場合、応答パケットがエニキャストアドレス保有サーバの内の１つのサーバから送信された応答パケットであることを検証するモジュールである。
【００６０】
転送制御手段２６ｆは、応答パケットを通信装置１０ａ、１０ｂ、１０ｃ，…に転送するか否かを制御するモジュールである。第２の転送手段２６ｇは、転送制御手段の制御によって、応答パケットを通信装置１０ａ、１０ｂ、１０ｃ，…に転送するモジュールである。
【００６１】
入力装置２１、出力装置２２、通信制御装置２３及び主記憶装置２４については、通信装置１０ａ、１０ｂ、１０ｃ，…と同様であるため説明を省略する。
【００６２】
（ルーティング方法）
次に境界ルータ２０を用いたルーティング方法について図７のフローチャートを基に説明する。
【００６３】
（ａ）ステップＳ２０１では、第１の受信手段２６ａが、図１のクライアント側の通信装置１０ａ、１０ｂ、１０ｃ，…から、エニキャストアドレス保有サーバ装置宛のパケットを受信する。
【００６４】
（ｂ）ステップＳ２０２では、第１の転送手段２６ｂが、受信したパケットを、エニキャストアドレス保有サーバ装置の内、最も経路的に近距離にあるサーバ装置に転送する。図１の場合、Ａサーバ３０ａに転送する。
【００６５】
（ｃ）ステップＳ２０３では、第２の受信手段２６ｃが、パケットに対する回答である、Ａサーバ３０ａからの応答パケットを受信する。
【００６６】
（ｄ）ステップＳ２０４では、検出手段２６ｄが、応答パケットに含まれる、エニキャストアドレスとは異なる送信元アドレスが付与されていることを示す識別子を検出する。
【００６７】
（ｅ）ステップＳ２０５では、検証手段２６ｅが、検出手段２６ｄにおいて識別子が検出された場合、応答パケットがエニキャストアドレス保有サーバの内の１つのサーバから送信された応答パケットであることを検証する。
【００６８】
（ｆ）ステップＳ２０７では、転送制御手段２６ｆは、応答パケットを通信装置１０ａ、１０ｂ、１０ｃ，…に転送するか否かを制御する。
【００６９】
転送すると判断されると、ステップＳ２０８にて、第２の転送手段２６ｇは、転送制御手段の制御によって、応答パケットを通信装置１０ａ、１０ｂ、１０ｃ，…に転送する。又、転送しないと判断された場合、パケットは廃棄される。
【００７０】
上記によると、境界ルータ２０にてエニキャストアドレス通信を示す識別子のフィルタリングを実施することにより、ユニキャストアドレスと同等の安全性をエニキャストアドレスにて確保することが可能となる。
【００７１】
（エニキャストアドレスを保有するサーバ装置）
エニキャストアドレスを保有するサーバ装置であるＡサーバ３０ａ及びＢサーバ３０ｂは、図５に示すように、入力装置３１、出力装置３２、通信制御装置３３、主記憶装置３４、処理制御装置（ＣＰＵ）３６及び識別子記憶装置３７等から構成される。
【００７２】
識別子記憶装置３７は、エニキャストアドレスを保有することを示す識別子を記憶する。
【００７３】
ＣＰＵ３６は、受信手段３６ａ、識別子付与手段３６ｂ及び送信手段３６ｃを備える。受信手段３６ａは、第２のネットワーク９に接続された通信装置１０ａ、１０ｂ、１０ｃ，…からエニキャストアドレス宛に送信されたパケットを受信するモジュールである。
【００７４】
識別子付与手段３６ｂは、パケットに応答する応答パケットの送信元アドレスに、エニキャストアドレスを保有することを示す識別子を付与するモジュールである。送信手段３６ｃは、応答パケットを通信装置１０ａ、１０ｂ、１０ｃ，…へ送信するモジュールである。
【００７５】
入力装置３１、出力装置３２、通信制御装置３３及び主記憶装置３４に関しては通信装置１０ａ、１０ｂ、１０ｃ，…と同様であるため説明を省略する。
【００７６】
（エニキャストアドレスを保有するサーバ装置の通信方法）
次に、Ａサーバ３０ａ及びＢサーバ３０ｂの通信方法について説明する。
【００７７】
（ａ）ステップＳ３０１では、受信手段３６ａが、通信装置１０ａ、１０ｂ、１０ｃ，…から、インターネット１を介して、エニキャストアドレス宛に送信されたパケットを受信する。
【００７８】
（ｂ）ステップＳ３０２では、識別子付与手段３６ｂが、パケットに応答する応答パケットの送信元アドレスに、エニキャストアドレスを保有することを示す識別子を付与する。この識別子は識別子記憶装置３７に記憶される識別子を使用する。
【００７９】
（ｃ）ステップＳ３０３では、送信手段３６ｃが、識別子を付与した応答パケットを、通信装置１０ａ、１０ｂ、１０ｃ，…へ送信する。
【００８０】
上記によると、Ａサーバ３０ａがエニキャスト通信を示す識別子を付与することにより、他の装置がフィルタリングを行うことが可能となり、ひいてはユニキャストアドレスと同等の安全性をエニキャストアドレスにて確保することが可能となる。
【００８１】
（通信装置、境界ルータ装置及びサーバ装置を使用する通信方法）
以下、図１に示す通信装置１０ａ、１０ｂ、１０ｃ，…を用いてＡサーバ３０ａ宛てにパケットの送受信を行う過程について図９を用いて説明する。
【００８２】
（ａ）ステップＳ４０１にて、通信装置１０ａ、１０ｂ、１０ｃ，…の入力装置１１等を介してパケット送信要求が入力されると、送信手段１６ａが、パケットのヘッダにあるＡサーバ３０ａの宛先アドレスをチェックし、その宛先アドレス宛にパケットを送信する。パケットはインターネット１を通じて宛先アドレス宛てに送信される。Ａサーバが属する第１のネットワーク７にて受信されたパケットはステップＳ４０２のように境界ルータ２０及びＡルータ３に転送され、最終的に宛先アドレスのＡサーバ３０ａに送信される。
【００８３】
（ｂ）ステップＳ４０３にて、Ａサーバ３０ａの受信手段３６ａがパケットを受信する。この後ステップＳ４０４にて、識別子付与手段３６ｂは返信するパケットに識別子を付与する。この識別子は識別子記憶装置３７に記憶しているものを使用する。
【００８４】
識別子付与後、ステップＳ４０５にて、送信手段３６ｃは、通信装置１０ａ、１０ｂ、１０ｃ，…に向けて応答パケットを送信する。応答パケットは、Ａルータ３にルーティングされ、境界ルータ２０に送信される。
【００８５】
（ｃ）ステップＳ４０６にて、境界ルータ２０の第２の受信手段２６ｃが応答パケットを受信すると、ステップＳ４０７にて、検出手段２６ｄが応答パケットよりエニキャストアドレスを示す識別子を検出する。
【００８６】
（ｄ）ステップＳ４０８では、検証手段２６ｅが、検出された識別子が適切であるか否かの検証を行う。検証の結果、パケットが適切である場合、ステップＳ４１０にて、第２の転送手段２６ｇが、通信装置１０ａ、１０ｂ、１０ｃ，…に向けて、インターネット１を介し、応答パケットを送信する。パケットが適切でない場合、そのパケットはステップＳ４１１にて廃棄される。
【００８７】
（ｅ）ステップＳ４１２では、通信装置１０ａ、１０ｂ、１０ｃ，…の受信手段１６ｂが、応答パケットを受信する。第１の検出手段１６ｃが、受信された応答パケットの送信元アドレスを検出し、第２の検出手段１６ｄが、応答パケットよりエニキャストアドレスを示す識別子を検出する。
【００８８】
（ｆ）ステップＳ４１３にて、エニキャストアドレスを示す識別子を保有しているか否かを基に、この応答パケットが、適切なサーバ、つまりＡサーバ３０ａから送信されたものかどうかの検証を行う。適切な識別子を保有している場合、ステップＳ４１４にてこの応答パケットの読込を行い、適切な識別子を保有していない場合、ステップＳ４１５にてこの応答パケットを廃棄する。
【００８９】
上記によると、Ａサーバ３０ａがエニキャスト通信を示す識別子を付与し、通信装置１０ａ、１０ｂ、１０ｃ，…及び境界ルータ２０においてこの識別子のフィルタリングを実施することにより、ユニキャストアドレスと同等の安全性をエニキャストアドレスにて確保することが可能となる。
【００９０】
【発明の効果】
本発明により、エニキャストアドレス利用時のなりすまし攻撃に対し、ユニキャストアドレスと同等の耐性が得られ、ユニキャストアドレスと同等の安全性の上で、エニキャストアドレス通信の利点である、プラグアンドプレイ機能を用いた不特定多数の通信装置、通信端末との通信を行うことが可能な通信装置、境界ルータ装置、サーバ装置、通信システム、通信方法、ルーティング方法、通信プログラム及びルーティングプログラムを提供することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係る通信システムの概要図である。
【図２】本発明の一実施の形態に係るエニキャストアドレス通信の構成図である。
【図３】本発明の一実施の形態に係る通信装置の構成図である。
【図４】本発明の一実施の形態に係るルータ装置の構成図である。
【図５】本発明の一実施の形態に係るサーバ装置の構成図である。
【図６】本発明の一実施の形態に係る通信装置の通信方法を示すフローチャートである。
【図７】本発明の一実施の形態に係るルータ装置のルーティング方法を示すフローチャートである。
【図８】本発明の一実施の形態に係るサーバ装置の通信方法を示すフローチャートである。
【図９】本発明の一実施の形態に係る通信システムの通信方法を示すフローチャートである。
【符号の説明】
１…インターネット
３…Ａルータ
４…Ｂルータ
５ａ、５ｂ、５ｃ…端末
６ａ、６ｂ、６ｃ…端末
７…第１のネットワーク
８…ＬＡＮケーブル
９…第２のネットワーク
１０ａ、１０ｂ、１０ｃ……通信装置
【図１】
2004166002.tif 000003
【図２】
2004166002.tif 000004
【図３】
2004166002.tif 000005
【図４】
2004166002.tif 000006
【図５】
2004166002.tif 000007
【図６】
2004166002.tif 000008
【図７】
2004166002.tif 000009
【図８】
2004166002.tif 000010
【図９】
2004166002.tif 000011