(57)【特許請求の範囲】
【請求項１】
通信ノードとローカルネットワークである第１のネットワークを介して接続される匿名化装置と、当該匿名化装置と第２のネットワークを介して接続されるサーバと、を有し、
前記匿名化装置は、
前記サーバから取得したプレフィクスに基づいて、匿名アドレスを生成する匿名アドレス生成手段と、
前記通信ノードから送信されたパケットを受信した場合に、当該受信パケットの送信元アドレスを前記匿名アドレスに書き換え、当該受信パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを前記匿名化装置のアドレスとし、かつ、送信先アドレスを前記サーバのアドレスとして前記第２のネットワークに送出するパケット処理手段と、を備え、
前記サーバは、
前記匿名化装置から送信された前記カプセル化パケットを受信した場合に、当該カプセル化パケットをデカプセル化して前記第２のネットワークに送出する転送手段を備える
ことを特徴とする通信システム。
【請求項２】
前記サーバの前記転送手段は、
送信先アドレスが前記匿名アドレスであるパケットを受信した場合に、当該受信パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを前記サーバのアドレスとし、かつ、送信先アドレスを前記匿名化装置のアドレスとして当該カプセル化パケットを前記第２のネットワークに送出し、
前記匿名化装置の前記パケット処理手段は、
前記サーバから送信された前記カプセル化パケットを受信した場合に、当該カプセル化パケットをデカプセル化し、当該デカプセル化パケットの送信先アドレスを前記通信ノードのアドレスとして前記第１のネットワークに送出する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記匿名化装置は、
前記通信ノードから送信されたパケットを受信した場合に、当該受信パケットのセッションを識別し、当該識別したセッションと前記匿名アドレスとを対応付けて管理するセッション管理手段を更に備え、
前記匿名化装置の前記匿名アドレス生成手段は、
前記サーバから取得したプレフィクスと、前記セッション毎に変化させるインタフェースＩＤと、に基づいて、匿名アドレスを生成する
ことを特徴とする請求項１に記載の通信システム。
【請求項４】
前記匿名化装置は、
複数の前記プレフィクスから一のプレフィクスを選択する匿名アドレス選択手段を更に備える
ことを特徴とする請求項１に記載の通信システム。
【請求項５】
前記匿名化装置の前記匿名アドレス選択手段は、
複数の前記プレフィクスから一のプレフィクスを選択する場合に、当該選択よりも前の所定の時間内に選択したプレフィクスとは異なるプレフィクスを選択する
ことを特徴とする請求項４に記載の通信システム。
【請求項６】
前記匿名化装置の前記匿名アドレス選択手段は、
複数の前記プレフィクスから一のプレフィクスを選択するときに、前記匿名アドレスの生成に未だに割当てられていないプレフィクスが存在しない場合には、前記サーバに対してプレフィクス割当要求信号を送信し、
前記サーバは、
前記匿名化装置から送信された前記プレフィクス割当要求信号を受信した場合には、前記匿名化装置にプレフィクスを割当て、当該割当てたプレフィクス情報を含むプレフィクス割当応答信号を前記匿名化装置に送信するプレフィクス割当手段を更に備える
ことを特徴とする請求項４に記載の通信システム。
【請求項７】
前記プレフィクス割当要求信号は、
前記サーバから取得した複数のプレフィクスからなるプレフィクス群であって、当該プレフィクス群に割当てられたプレフィクスセット番号を含む
ことを特徴とする請求項６に記載の通信システム。
【請求項８】
前記匿名化装置の前記匿名アドレス生成手段は、
前記通信ノードから送信されたパケットを受信した場合に、
前記サーバから取得した第１のインタフェースＩＤ生成用情報と、前記匿名化装置の識別子と、に基づいて、インタフェースＩＤを作成し、前記サーバから取得したプレフィクスと前記作成したインタフェースＩＤとから前記匿名アドレスを生成する
ことを特徴とする請求項１に記載の通信システム。
【請求項９】
前記匿名化装置の前記匿名アドレス生成手段は、
前記通信ノードから送信されたパケットを受信した場合に、
前記サーバから取得した第１のインタフェースＩＤ生成用情報と、前記通信ノードから送信されたパケットの送信元ポート番号と、に基づいて第２のインタフェースＩＤ生成用情報を生成し、当該生成した第２のインタフェースＩＤ生成用情報と、前記匿名化装置の識別子と、に基づいて、前記インタフェースＩＤを作成する
ことを特徴とする請求項８に記載の通信システム。
【請求項１０】
前記匿名化装置は、
前記通信ノードから送信されたパケットを受信した場合に、当該受信パケットに対して匿名性を確保する必要があるか否かを判定する匿名性確保要否判定手段を更に備える
ことを特徴とする請求項１に記載の通信システム。
【請求項１１】
通信ノードとローカルネットワークである第１のネットワークを介して接続される匿名化装置と、当該匿名化装置と第２のネットワークを介して接続されるサーバと、を有し、
前記匿名化装置は、
前記通信ノードから送信されたパケットを受信した場合に、当該受信パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを前記匿名化装置のアドレスとし、かつ、送信先アドレスを前記サーバのアドレスとして前記第２のネットワークに送出するパケット処理手段と、を備え、
前記サーバは、
プレフィクスに基づいて、匿名アドレスを生成する匿名アドレス生成手段と、
前記匿名化装置から送信されたカプセル化パケットを受信した場合に、当該カプセル化パケットをデカプセル化し、当該デカプセル化パケットの送信元アドレスを前記匿名アドレスに書き換えた後に、当該デカプセル化パケットの送信元アドレスを前記匿名化装置のアドレスとして前記第２のネットワークに送出するパケット処理手段と、を備える
ことを特徴とする通信システム。
【請求項１２】
前記サーバの前記パケット処理手段は、
送信先アドレスが前記匿名アドレスであるパケットを受信した場合に、当該受信パケットの送信先アドレスを前記通信ノードのアドレスに書き換え、当該受信パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを前記サーバのアドレスとし、かつ、送信先アドレスを前記匿名化装置のアドレスとして当該カプセル化パケットを前記第２のネットワークに送出し、
前記匿名化装置の前記パケット処理手段は、
前記サーバから送信された前記カプセル化パケットを受信した場合に、当該カプセル化パケットをデカプセル化して前記第１のネットワークに送出する
ことを特徴とする請求項１１に記載の通信システム。
【請求項１３】
前記サーバは、
前記匿名化装置から送信されたカプセル化パケットを受信した場合に、当該受信パケットのセッションを識別し、当該識別したセッションと前記匿名アドレスとを対応付けて管理するセッション管理手段を更に備え、
前記サーバの前記匿名アドレス生成手段は、
前記プレフィクスと、前記セッション毎に変化させるインタフェースＩＤと、に基づいて、匿名アドレスを生成する
ことを特徴とする請求項１１に記載の通信システム。
【請求項１４】
前記サーバは、
複数の前記プレフィクスから一のプレフィクスを選択する匿名アドレス選択手段を更に備える
ことを特徴とする請求項１１に記載の通信システム。
【請求項１５】
前記サーバの前記匿名アドレス選択手段は、
複数の前記プレフィクスから一のプレフィクスを選択する場合に、当該選択よりも前の所定の時間内に選択したプレフィクスとは異なるプレフィクスを選択する
ことを特徴とする請求項１４に記載の通信システム。
【請求項１６】
前記サーバの前記匿名アドレス生成手段は、
前記匿名化装置から送信されたカプセル化パケットを受信した場合に、
第１のインタフェースＩＤ生成用情報と、前記匿名化装置の識別子と、に基づいて、インタフェースＩＤを作成し、前記サーバから取得したプレフィクスと前記作成したインタフェースＩＤとから前記匿名アドレスを生成する
ことを特徴とする請求項１１に記載の通信システム。
【請求項１７】
前記サーバの前記匿名アドレス生成手段は、
前記匿名化装置から送信されたカプセル化パケットを受信した場合に、
前記第１のインタフェースＩＤ生成用情報と、前記匿名化装置から送信されたパケットの送信元ポート番号と、に基づいて第２のインタフェースＩＤ生成用情報を生成し、当該生成した第２のインタフェースＩＤ生成用情報と、前記匿名化装置の識別子と、に基づいて、前記インタフェースＩＤを作成する
ことを特徴とする請求項１６に記載の通信システム。
【請求項１８】
前記匿名化装置は、
前記通信ノードから送信されたパケットを受信した場合に、当該受信パケットに対して匿名性を確保する必要があるか否かを判定する匿名性確保要否判定手段を更に備える
ことを特徴とする請求項１１に記載の通信システム。
【請求項１９】
匿名化装置は、
ローカルネットワークである第１のネットワークを介して接続された通信ノードから送信されたパケットを受信した場合に、
前記匿名化装置と第２のネットワークを介して接続されたサーバから取得したプレフィクスに基づいて、匿名アドレスを生成し、
当該受信パケットの送信元アドレスを前記匿名アドレスに書き換え、当該受信パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを前記匿名化装置のアドレスとし、かつ、送信先アドレスを前記サーバのアドレスとして前記第２のネットワークに送出し、
前記サーバは、
前記匿名化装置から送信された前記カプセル化パケットを受信した場合に、当該カプセル化パケットをデカプセル化して前記第２のネットワークに転送する
ことを特徴とする通信方法。
【請求項２０】
前記サーバが前記カプセル化パケットをデカプセル化して前記第２のネットワークに転送する際、
送信先アドレスが前記匿名アドレスであるパケットを受信した場合に、当該受信パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを前記サーバのアドレスとし、かつ、送信先アドレスを前記匿名化装置のアドレスとして当該カプセル化パケットを前記第２のネットワークに転送し、
前記匿名化装置は前記パケットを送出する際、
前記サーバから送信された前記カプセル化パケットを受信した場合に、当該カプセル化パケットをデカプセル化し、当該デカプセル化パケットの送信先アドレスを前記通信ノードのアドレスとして前記第１のネットワークに送出する
ことを特徴とする請求項１９に記載の通信方法。
【請求項２１】
匿名化装置は、
ローカルネットワークである第１のネットワークを介して接続された通信ノードから送信されたパケットを受信した場合に、当該受信パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを前記匿名化装置のアドレスとし、かつ、送信先アドレスをサーバのアドレスとして前記匿名化装置と前記サーバとを接続する第２のネットワークに送出し、
前記匿名化装置と第２のネットワークを介して接続されたサーバは、
前記匿名化装置から送信されたカプセル化パケットを受信した場合に、
プレフィクスに基づいて、匿名アドレスを生成し、
当該カプセル化パケットをデカプセル化し、当該デカプセル化パケットの送信元アドレスを前記匿名アドレスに書き換えた後に、当該デカプセル化パケットの送信元アドレスを前記匿名化装置のアドレスとして前記第２のネットワークに送出する
ことを特徴とする通信方法。
【請求項２２】
前記サーバが前記パケットを送出する際、
送信先アドレスが前記匿名アドレスであるパケットを受信した場合に、当該受信パケットの送信先アドレスを前記通信ノードのアドレスに書き換え、当該受信パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを前記サーバのアドレスとし、かつ、送信先アドレスを前記匿名化装置のアドレスとして当該カプセル化パケットを前記第２のネットワークに送出し、
前記匿名化装置が前記パケットを送出する際、
前記サーバから送信された前記カプセル化パケットを受信した場合に、当該カプセル化パケットをデカプセル化して前記第１のネットワークに送出する
ことを特徴とする請求項２１に記載の通信方法。
【請求項２３】
ローカルネットワークである第１のネットワークを介して接続される通信ノードから送信されたパケットを受信した場合に、第２のネットワークを介して接続されるサーバから取得したプレフィクスに基づいて、匿名アドレスを生成する匿名アドレス生成手段と、
前記通信ノードからの送信されたパケットの送信元アドレスを前記匿名アドレスに書き換え、当該パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを自身のアドレスとし、かつ、送信先アドレスを前記サーバのアドレスとして前記第２のネットワークに送出するパケット処理手段と、を備える匿名化装置。
【請求項２４】
匿名化装置とローカルネットワークである第１のネットワークを介して接続される通信ノードから送信されたパケットであって、かつ、前記匿名化装置によりカプセル化された後に第２のネットワークを介して送信されたパケットを受信した場合に、プレフィクスに基づいて、匿名アドレスを生成する匿名アドレス生成手段と、
前記匿名化装置から送信されたカプセル化パケットをデカプセル化し、当該デカプセル化パケットの送信元アドレスを前記匿名アドレスに書き換えた後に、当該デカプセル化パケットの送信元アドレスを前記匿名化装置のアドレスとして前記第２のネットワークに送出するパケット処理手段と、を備えるサーバ。
【請求項２５】
通信ノードとローカルネットワークである第１のネットワークを介して接続される匿名化装置と、当該匿名化装置と第２のネットワークを介して接続されるサーバと、を有し、
前記匿名化装置は、
前記通信ノードから送信されたパケットを受信した場合に、当該受信パケットの送信元アドレスを前記サーバから取得した匿名アドレスに書き換え、当該受信パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを前記匿名化装置のアドレスとし、かつ、送信先アドレスを前記サーバのアドレスとして前記第２のネットワークに送出するパケット処理手段を備え、
前記サーバは、
前記匿名化装置から送信された前記カプセル化パケットを受信した場合に、当該カプセル化パケットをデカプセル化して前記第２のネットワークに送出する転送手段を備える
ことを特徴とする通信システム。
【請求項２６】
ローカルネットワークである第１のネットワークを介して接続される通信ノードから送信されたパケットを受信した場合に、第２のネットワークを介して接続されるサーバから匿名アドレスを取得し、前記通信ノードからの送信されたパケットの送信元アドレスを前記取得した匿名アドレスに書き換え、当該パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを自身のアドレスとし、かつ、送信先アドレスを前記サーバのアドレスとして前記第２のネットワークに送出するパケット処理手段を備える匿名化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＩＰ（Internet Protocol）を使用して通信を行う通信方法、通信システム、匿名化装置、サーバに関し、特にＩＰｖ６（Internet Protocol Version 6）に基づいてネットワーク全体の中で一意となるアドレスを使用して通信を行う場合においても、通信ノードの匿名性を確保可能な通信方法、通信システム、匿名化装置、サーバに関する。
【背景技術】
【０００２】
近年、ＩＰｖ４のアドレスの枯渇が現実を帯びてきており、ＩＰｖ６への移行が本格的に始まろうとしている。ＩＰｖ４のアドレス空間が３２ｂｉｔであったのに対して、ＩＰｖ６のアドレス空間は１２８ｂｉｔもの広大なアドレス空間を有している。このため、ＩＰｖ６では、グローバルな範囲でユニークなＩＰｖ６アドレスを全てのノードに割当てることができる。ＩＰｖ４のように、ＮＡＴ（Network Address Translation）を使用して、１つのパブリックなＩＰｖ４アドレスを複数のノードで共用する必要がない。従って、ＩＰｖ６では、個々のノードは、エンド・トゥー・エンド通信を実現することができる。これは、インターネットの当初の設計思想に適うものであり、大きなメリットがある。例えば、ＮＡＴを超えるために様々な工夫を強いられたＰ２Ｐ系のアプリケーションを、より容易に実現することができるメリットがある。【０００３】
一方で問題もある。ＩＰｖ６を使用した通信においては、上述のように各ノードにして割当てられたアドレスが通信相手に知られることになる。しかも、ＩＰｖ６の自動アドレス設定機能を用いて生成されたＩＰｖ６アドレスは、その下位６４ｂｉｔがＮＩＣ（Network Interface Card）のＭＡＣ（Media Access Control）アドレスに使用される。さらに、ＭＡＣアドレスに使用されるＩＰｖ６アドレスの下位６４ｂｉｔは、長期的、かつ、固定的に用いられる。この結果、通信ノードの使用ユーザの通信履歴が追跡される危険性が大きく、匿名性確保の面で大きな問題がある。【０００４】
また、ＮＡＴを使用した通信においては、通信を行うノード自身のアドレスは、通信相手に対して隠蔽される。例えば、ノードからＷＥＢサーバへのアクセスが行われた場合には、ＷＥＢサーバは、ＷＡＮ（Wide Area Network）側に割当てられたＮＡＴのアドレスを知ることはできるが、ＮＡＴ配下のＬＡＮ（Local Area Network）のアドレスについては知ることができない。多くの場合、各ホームに配布されたブロードバンドルータに、ＷＡＮ側のアドレスが割当てられる。このため、ＷＡＮ側のアドレスを知ることで、その時点での通信元となるホームを特定することは可能であるが、ＷＡＮ側のアドレスは一時的なものであり、ＮＡＴが実装されたブロードバンドルータの再起動時など、様々な契機に変化する。従って、特定のノードの通信を、長期に渡って追跡することはできない。【０００５】
ところで、匿名性確保の問題を解決するため、ＩＰｖ６アドレスの下位６４ｂｉｔについて、ＭＡＣアドレスを使用せずにランダムに生成するものとし、さらに、これを定期的に変更する仕様が公開されている（非特許文献１：ＲＦＣ３０４１，「Privacy Extensions for Stateless Address Autoconfiguration in IPv6」）。【０００６】
しかし、非特許文献１に開示される仕様に基づく手法においても、ＩＰｖ６の上位６４ｂｉｔ部分であるプレフィクス部については、変更されないままである。ここで、ＩＰｖ６の上位６４ｂｉｔを示すプレフィクスは、例えば、ホームに配布されたブロードバンドルータに割当てられ、ブロードバンドルータの配下のＬＡＮに接続した通信ノードに広告される。この結果、通信ノードは、受信したプレフィクスを上位６４ｂｉｔに配置したＩＰｖ６アドレスを生成し、その生成したＩＰｖ６アドレスを使用して通信を行う。【０００７】
ＩＰｖ６のプレフィクス部が長期間に渡って変更されない場合には、ホーム単位で通信元が特定される危険がある。このような危険があるケースは、現在のＩＰｖ４でＮＡＴを使用したケースと類似するが、上述したように、ＩＰｖ４では、ＮＡＴのＷＡＮ側のアドレスは様々な契機に変更される。【０００８】
ＩＰｖ６の場合には、プレフィクスを使用することで、ＬＡＮに接続した通信ノードのアドレスを生成するため、プレフィクスの変更は、ＬＡＮ内の通信ノードのアドレスの変更を伴う。このため、ＩＰｖ４におけるＮＡＴのＷＡＮ側のアドレスのように、プレフィクスが定期的に変更されることは問題となる。結果として、ＩＰｖ６では固定的なプレフィクスを長期的に使用することになり、ＩＰｖ４の場合と比較して、匿名性の問題はより大きいといえる。【０００９】
さらに、ＩＰｖ６では、Ｐ２Ｐ系のアプリケーションが今後も増加していくものと考えられ、また、各ユーザが使用する通信ノードのアドレスをユーザ同士で直接的に知る機会が多くなることからも、匿名性の問題がより重大なものになると考えられる。従って、ＩＰｖ６では、ＩＰｖ４と比較して、より高い匿名性が必要になる。【００１０】
また、ＬＡＮ内の通信ノードが、プレフィクス部も含めて自らのアドレスを勝手に変更してしまうことにも問題がある。その理由は、プレフィクス部はＩＰｖ６パケットのルーティングに用いられるため、プレフィクス部を変更した場合には、通信ノード宛のパケットを、通信ノードが接続するネットワークまでルーティングできなくなるためである。【００１１】
プレフィクス部も含めたアドレス変更を実現する方式の一例が、特許文献１に開示されている。以下、特許文献１に係る通信システムにおける動作を簡単に説明する。図２７に示すように、特許文献１に係る通信システムは、発信側情報処理装置ｐ１０（アドレス＝２・７ＦＦＦＦ０・６Ｅ９Ａ）と、仮アドレスサーバｐ２０（アドレス＝５・５ＦＦＦＦ０・０００）と、受信側情報処理装置ｐ３０（アドレス＝２・７ＦＦＦＦ０・６３９Ａ）と、から構成され、インターネットｐ４０を介してそれぞれ接続されている。【００１２】
発信側情報処理装置ｐ１０は、パケットを送信する際に、仮アドレスサーバｐ２０から仮アドレス（５・５ＦＦＦＦ０・０００１）を取得し、取得した仮アドレスをパケットの送信時の送信元アドレスとして使用する。すなわち、発信情報処理装置ｐ１０は、送信パケット（ｄｓｔ＝２・７ＦＦＦＦ０・６３９Ａ，ｓｒｔ＝５・５ＦＦＦＦ０・０００１（仮アドレス））を受信側情報処理装置ｐ３０に送信する。【００１３】
受信側情報処理装置ｐ３０は、発信側情報処理装置ｐ１０から送信されたパケットを受信すると、その応答を送信元アドレス（５・５ＦＦＦＦ０・０００１）に応答する。このアドレスは、仮アドレスサーバｐ２０にルーティングされるプレフィクス部を有するアドレスとなっているため、仮アドレスサーバｐ２０が応答パケットを受信する。すなわち、仮アドレスサーバｐ２０は、受信側情報処理装置ｐ３０から、受信パケット（ｄｓｔ＝５・５ＦＦＦＦ０・０００１（仮アドレス）、ｓｒｃ＝２・７ＦＦＦＦ０・６３９Ａ）を受信する。【００１４】
仮アドレスサーバｐ２０は、発信側情報処理装置ｐ１０に仮アドレスを割当てる際に、発信側情報処理装置ｐ１０の実アドレス（２・７ＦＦＦＦ０・６Ｅ９Ａ）と貸し出した仮アドレス（５・５ＦＦＦＦ０・０００１）との対応関係を保持しておき、この保持した情報を使用することで、受信側情報処理装置ｐ３０から送信されたパケットが発信側情報処理装置ｐ１０へと送信すべきパケットであったことを知る。この結果、仮アドレスサーバｐ２０は、受信側情報処理装置ｐ３０から受信したパケットについて、宛先アドレスを発信側情報処理装置ｐ１０の実アドレスに、送信元アドレスを仮アドレスサーバｐ２０のアドレス（５・５ＦＦＦＦ０・００００）にそれぞれ変更して、インターネットｐ４０に送出する。【００１５】
最終的に、仮アドレスサーバｐ２０から送信されたパケットが発信側情報処理装置ｐ１０にルーティングされ、発信側情報処理装置ｐ１０がこれを受信する。以上説明した方法によれば、発信側情報処理装置ｐ１０は、プレフィクス部も含めてアドレスを変更することができる。すなわち、発信側情報処理装置ｐ１０は、仮アドレスサーバｐ２０から、受信パケット（ｄｓｔ＝２・７ＦＦＦＦ０・６Ｅ９Ａ、ｓｒｃ＝５・５ＦＦＦＦ０・００００（仮アドレスサーバ））を受信する。【００１６】
また、他の関連する技術として、特許文献２には、Ｍｏｂｉｌｅ  ＩＰｖ６において、匿名アドレスを作成する機能や、トンネル機能を有するトンネルサーバを備えたサーバ装置が開示されている。特許文献３には、ＩＰｖ６ネットワークアクセス網において、ＩＦ−ＩＤとＩｐｖ６アドレスＰｒｅｆｉｘとを組み合わせて、グローバルＩＰｖ６アドレスを設定するユーザ管理方法が開示されている。特許文献４には、ハッシュ関数のダイジェスト値に基づいて端末のインタフェースＩＤを算出し、算出した端末のインタフェースＩＤを用いて送信元アドレスを生成する通信装置が開示されている。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特開２００７−１８９７５２号公報
【特許文献２】特開２００３−２９８６５７号公報
【特許文献３】特開２００４−２４２１４２号公報
【特許文献４】特開２００５−０７９９２１号公報
【非特許文献】
【００１８】
【非特許文献１】ＲＦＣ３０４１「Privacy Extensions for Stateless Address Autoconfiguration in IPv6」
【発明の概要】
【発明が解決しようとする課題】
【００１９】
しかしながら、特許文献１に係る通信システムには、以下に説明する問題がある。
（問題１）
発信側情報処理装置ｐ１０がパケットを送信する際の送信元アドレスは、発信側情報処理装置ｐ１０が接続したネットワークのプレフィクスとは異なるものとなる。発信側情報処理装置ｐ１０とインターネットｐ４０との境界に配置されるルータでは、セキュリティの観点から、発信側情報処理装置ｐ１０が送信するこのようなパケットを破棄する場合があり（このフィルタリング処理をイングレスフィルタという）、このような場合には、発信側情報処理装置ｐ１０は通信することができない。【００２０】
（問題２）
上述したように、発信側情報処理装置ｐ１０が送信するパケットの送信元アドレス及び宛先アドレスと、受信側情報処理装置ｐ３０が応答するパケットの宛先アドレス及び送信アドレスと、は異なるアドレスとなる。ＴＣＰ（Transmission Control Protocol）などのコネクションを確立するプロトコルでは、両端点（発信側情報処理装置ｐ１０及び受信側情報処理装置ｐ３０）のアドレス及びポートのペアを用いてコネクションを確立する。従って、特許文献１に係る通信システムでは、送受信時のパケットの両端点のアドレスが一致しないため、ＴＣＰを用いた通信ができない。ＴＣＰは、ＨＴＴＰ（Hypertext Transfer Protocol）やＦＴＰ（File Transfer Protocol）などの、多数の上位プロトコルが利用している。このため、ＴＣＰを用いた通信ができないことは、それら多数の上位プロトコルを使用できないことを意味する。【００２１】
（問題３）
特許文献１に係る通信システムでは、発信側情報処理装置ｐ１０が、仮アドレスを取得及び返却する機能や、送信パケットの送信元アドレスとして使用するアドレスを選択する機能といった特殊な機能を備えている必要がある。現在、ＩＰｖ６機能を備えた装置の普及が既に始まっている。装置として、例えば、Ｗｉｎｄｏｗｓ Ｖｉｓｔａ（登録商標）を搭載したＰＣ（Personal Computer）が該当する。この様な状況において、通信ノード側に特殊な機能を要する方式の適用は非常に難しい。また、特定のアプリケーションを使用して対応することは可能であるが、ＷＥＢブラウザなどのように、高頻度で使用される従来のアプリケーションに適用可能でなければ、匿名性を確保する意義が希薄となる。【００２２】
（問題４）
仮に、特許文献１に係る通信システムを適用したＷＥＢブラウザが存在する場合においても、昨今のＷＥＢサービスでは、複数の通信を同時に並列して行うものがある。このようなＷＥＢサービスでは、発信側情報処理装置ｐ１０に複数のＩＰｖ６仮アドレスが付与されることとなる。この場合に、発信側情報処理装置ｐ１０は、新たなアドレスを取得する度に、アドレス重複検出手順であるＤＡＤ（Duplicate Address Detection）を実施する必要があり、負荷や通信のレスポンス、ネットワーク帯域の利用効率などの面で問題となる。さらには、同じネットワークに接続する他の通信ノードにおいても、発信側情報処理装置ｐ１０に付与される複数のアドレスの情報をキャッシュに保持する必要があるため、負荷が大きくなる。【００２３】
本発明は、上述した問題を鑑みなされたものであり、その目的は、通信ノード自体に対する変更を必要とすることなく、従来のアプリケーションを使用した通信に対して、高い匿名性を確保することが可能な通信方法、通信システム、匿名化装置、サーバを提供することである。
【課題を解決するための手段】
【００２４】
本発明に係る第１の態様の通信システムは、通信ノードと第１のネットワークを介して接続される匿名化装置と、当該匿名化装置と第２のネットワークを介して接続されるサーバと、を有する通信システムであって、前記匿名化装置は、前記サーバから取得したプレフィクスに基づいて、匿名アドレスを生成する匿名アドレス生成手段と、前記通信ノードから送信されたパケットを受信した場合に、当該受信パケットの送信元アドレスを前記匿名アドレスに書き換え、当該受信パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを前記匿名化装置のアドレスとし、かつ、送信先アドレスを前記サーバのアドレスとして前記第２のネットワークに送出するパケット処理手段と、を備え、前記サーバは、前記匿名化装置から送信された前記カプセル化パケットを受信した場合に、当該カプセル化パケットをデカプセル化して前記第２のネットワークに送出する転送手段を備えるものである。【００２５】
本発明に係る第２の態様の通信システムは、通信ノードと第１のネットワークを介して接続される匿名化装置と、当該匿名化装置と第２のネットワークを介して接続されるサーバと、を有する通信システムであって、前記匿名化装置は、前記通信ノードから送信されたパケットを受信した場合に、当該受信パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを前記匿名化装置のアドレスとし、かつ、送信先アドレスを前記サーバのアドレスとして前記第２のネットワークに送出するパケット処理手段と、を備え、前記サーバは、プレフィクスに基づいて、匿名アドレスを生成する匿名アドレス生成手段と、前記匿名化装置から送信されたカプセル化パケットを受信した場合に、当該カプセル化パケットをデカプセル化し、当該デカプセル化パケットの送信元アドレスを前記匿名アドレスに書き換えた後に、当該デカプセル化パケットの送信元アドレスを前記匿名化装置のアドレスとして前記第２のネットワークに送出するパケット処理手段と、を備えるものである。【００２６】
本発明に係る第３の態様の通信方法は、通信ノードと第１のネットワークを介して接続される匿名化装置と、当該匿名化装置と第２のネットワークを介して接続されるサーバと、を有する通信システムにおける通信方法であって、前記匿名化装置は、前記通信ノードから送信されたパケットを受信した場合に、前記サーバから取得したプレフィクスに基づいて、匿名アドレスを生成する匿名アドレス生成ステップと、当該受信パケットの送信元アドレスを前記匿名アドレスに書き換え、当該受信パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを前記匿名化装置のアドレスとし、かつ、送信先アドレスを前記サーバのアドレスとして前記第２のネットワークに送出するパケット処理ステップと、を有し、前記サーバは、前記匿名化装置から送信された前記カプセル化パケットを受信した場合に、当該カプセル化パケットをデカプセル化して前記第２のネットワークに送出する転送ステップを有することを特徴とするものである。【００２７】
本発明に係る第４の態様の通信方法は、通信ノードと第１のネットワークを介して接続される匿名化装置と、当該匿名化装置と第２のネットワークを介して接続されるサーバと、を有する通信システムにおける通信方法であって、前記匿名化装置は、前記通信ノードから送信されたパケットを受信した場合に、当該受信パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを前記匿名化装置のアドレスとし、かつ、送信先アドレスを前記サーバのアドレスとして前記第２のネットワークに送出するパケット処理ステップと、を有し、前記サーバは、前記匿名化装置から送信されたカプセル化パケットを受信した場合に、プレフィクスに基づいて、匿名アドレスを生成する匿名アドレス生成ステップと、当該カプセル化パケットをデカプセル化し、当該デカプセル化パケットの送信元アドレスを前記匿名アドレスに書き換えた後に、当該デカプセル化パケットの送信元アドレスを前記匿名化装置のアドレスとして前記第２のネットワークに送出するパケット処理ステップと、を有するものである。【００２８】
本発明に係る第５の態様の匿名化装置は、第１のネットワークを介して接続される通信ノードからから送信されたパケットを受信した場合に、第２のネットワークを介して接続されるサーバから取得したプレフィクスに基づいて、匿名アドレスを生成する匿名アドレス生成手段と、前記通信ノードからの送信されたパケットの送信元アドレスを前記匿名アドレスに書き換え、当該パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを自身のアドレスとし、かつ、送信先アドレスを前記サーバのアドレスとして前記第２のネットワークに送出するパケット処理手段と、を備えるものである。【００２９】
本発明に係る第６の態様のサーバは、匿名化装置と第１のネットワークを介して接続される通信ノードから送信されたパケットであって、かつ、前記匿名化装置によりカプセル化された後に第２のネットワークを介して送信されたパケットを受信した場合に、プレフィクスに基づいて、匿名アドレスを生成する匿名アドレス生成手段と、前記匿名化装置から送信されたカプセル化パケットをデカプセル化し、当該デカプセル化パケットの送信元アドレスを前記匿名アドレスに書き換えた後に、当該デカプセル化パケットの送信元アドレスを前記匿名化装置のアドレスとして前記第２のネットワークに送出するパケット処理手段と、を備えるものである。【００３０】
本発明に係る第７の態様の通信システムは、通信ノードと第１のネットワークを介して接続される匿名化装置と、当該匿名化装置と第２のネットワークを介して接続されるサーバと、を有し、前記匿名化装置は、前記通信ノードから送信されたパケットを受信した場合に、当該受信パケットの送信元アドレスを前記サーバから取得した匿名アドレスに書き換え、当該受信パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを前記匿名化装置のアドレスとし、かつ、送信先アドレスを前記サーバのアドレスとして前記第２のネットワークに送出するパケット処理手段を備え、前記サーバは、前記匿名化装置から送信された前記カプセル化パケットを受信した場合に、当該カプセル化パケットをデカプセル化して前記第２のネットワークに送出する転送手段を備えるものである。【００３１】
本発明に係る第８の態様の匿名化装置は、第１のネットワークを介して接続される通信ノードから送信されたパケットを受信した場合に、第２のネットワークを介して接続されるサーバから匿名アドレスを取得し、前記通信ノードからの送信されたパケットの送信元アドレスを前記取得した匿名アドレスに書き換え、当該パケットをカプセル化した後に、当該カプセル化パケットの送信元アドレスを自身のアドレスとし、かつ、送信先アドレスを前記サーバのアドレスとして前記第２のネットワークに送出するパケット処理手段を備えるものである。
【発明の効果】
【００３２】
本発明によれば、高い匿名性を確保することが可能な通信システム、通信方法、匿名化装置、サーバを提供することができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の実施の形態１に係る通信システムの全体構成を示す図である。
【図２】本発明の実施の形態１に係る匿名化装置の構成を示す図である。
【図３】本発明の実施の形態１に係る匿名化ポリシテーブルを示す図である。
【図４】本発明の実施の形態１に係るセッション管理テーブルを示す図である。
【図５】本発明の実施の形態１に係るプレフィクス情報テーブルを示す図である。
【図６】本発明の実施の形態１に係るアンカーサーバの構成を示す図である。
【図７】本発明の実施の形態１に係る貸出しプレフィクステーブルを示す図である。
【図８】本発明の実施の形態１に係る転送テーブルを示す図である。
【図９】本発明の実施の形態１に係る匿名化装置の動作を示すフローチャートである。
【図１０】本発明の実施の形態１に係る匿名化装置のプレフィクス決定処理を示すフローチャートである。
【図１１】本発明の実施の形態１に係る匿名化装置のプレフィクス要求処理を示すフローチャートである。
【図１２】本発明の実施の形態１に係る匿名化装置のパケット処理を示すフローチャートである。
【図１３】本発明の実施の形態１に係るアンカーサーバでのプレフィクス割当要求を受信した際の動作を示すフローチャートである。
【図１４】本発明の実施の形態１に係るアンカーサーバでのパケット転送処理の動作を示すフローチャートである。
【図１５】本発明の実施の形態１に係る匿名化装置とアンカーサーバの動作を示すシーケンス図である。
【図１６】新たなエントリが追加されたプレフィクス情報テーブルの例を示す図である。
【図１７】新たなエントリが追加されたセッション管理テーブルの例を示す図である。
【図１８】新たなエントリが追加された転送テーブルの例を示す図である。
【図１９】本発明の実施の形態２に係る匿名化装置の構成を示す図である。
【図２０】本発明の実施の形態２に係るアンカーサーバの構成を示す図である。
【図２１】本発明の実施の形態２に係る匿名化装置が保持するセッション管理テーブルを示す図である。
【図２２】本発明の実施の形態２に係るアンカーサーバが保持するセッション管理テーブルを示す図である。
【図２３】本発明の実施の形態２に係るアンカーサーバが保持するプレフィクス情報テーブルである。
【図２４】本発明の実施の形態２に係る匿名化装置の動作を示すフローチャートである。
【図２５】本発明の実施の形態２に係るアンカーサーバの構成を示す図である。
【図２６】本発明の実施の形態２に係るアンカーサーバでのパケット転送処理の動作を示すフローチャートである。
【図２７】関連する通信システムの構成を示す図である。
【発明を実施するための形態】
【００３４】
実施の形態１．
以下、図面を参照して本発明の実施の形態１について説明する。
（構成の説明）
まず、図１乃至図８を参照して、本実施の形態１に係る通信システム１の構成について説明する。図１は、本実施の形態１に係る通信システム１を示す全体構成図である。通信システム１は、匿名化装置１００と、アンカーサーバ２００と、通信ノード３００と、サーバ４００と、を備えている。通信ノード３００は、ローカルネットワーク５００を介して匿名化装置１００に接続される。また、匿名化装置１００と、アンカーサーバ２００と、サーバ４００と、はネットワーク６００を介してそれぞれ接続される。
【００３５】
匿名化装置１００は、（Ａ）受信したパケットのセッションを識別する機能と、（Ｂ）セッション単位で、パケットの送信元アドレスを、アンカーサーバ２００から取得したプレフィクス群から１つ選択して生成したアドレスに書き換える機能と、（Ｃ）書き換えたアドレスを用いて到達できるアンカーサーバ２００に、パケットをトンネリングする機能と、を備えている。尚、以下では、通信ノード２００が実施する通信に関して、通信の一連のまとまりである単位をセッションと称する。
【００３６】
図２は、匿名化装置１００を示す構成図である。図に示すように、匿名化装置１００は、インタフェース１１０Ａと、インタフェース１１０Ｂと、匿名化制御手段１２０と、パケット処理手段１３０と、情報記録装置１４０と、を備えている。
【００３７】
インタフェース１１０Ａは、ローカルネットワーク５００に接続され、ローカルネットワーク５００に接続した他のノード（通信ノード３００など）との間でパケットの送受信を行うためのインタフェースである。インタフェース１１０Ａから入力されたパケットは、匿名化制御手段１２０に出力される。また、パケット処理手段１３０がローカルネットワーク５００に接続したノード宛に送信したパケットは、インタフェース１１０Ａを介してローカルネットワーク５００に送出される。
【００３８】
インタフェース１１０Ｂは、ネットワーク６００に接続され、ネットワーク６００に接続した他のノード（アンカーサーバ２００など）との間でパケットの送受信を行うためのインタフェースである。インタフェース１１０Ｂから入力されたパケットは、パケット処理手段１３０に出力される。また、パケット処理手段１３０がネットワーク６００に接続したノードに送信したパケットは、インタフェース１１０Ｂを介してネットワーク６００に送出される。
【００３９】
匿名化制御手段１２０は、匿名性確保要否判定手段１２１と、セッション管理手段１２２と、匿名アドレス選択手段１２３と、匿名アドレス生成手段１２４と、を備えている。
【００４０】
匿名性確保要否判定手段１２１は、インタフェース１１０Ａから入力されたパケットの情報を読み取り、読み取った情報に基づいて、入力されたパケットに対して匿名性を確保する必要があるか否かを判定する機能を備えている。尚、本実施の形態１においては、入力されたパケットの情報として、送信元アドレスと、宛先アドレスと、送信元ポート番号と、宛先ポート番号と、プロトコル種別と、を用いて説明するが、他の情報を用いるものとしても良い。
【００４１】
匿名性確保要否判定手段１２１は、匿名性の要否を判定する場合に、（Ａ）情報記録装置１４０に記録された匿名化ポリシテーブルにアクセスする機能と、（Ｂ）アクセスした匿名化ポリシテーブルを使用して匿名化の要否を判定する機能と、（Ｃ）判定した匿名化の要否情報をセッション管理手段１２２に出力する機能と、を備えている。
【００４２】
図３は、匿名化ポリシテーブルの一例を示す表である。図に示すように、匿名化ポリシテーブルは、パケットに含まれる幾つかの情報と、匿名化の要否の情報とが対応付けられたテーブルである。匿名化ポリシテーブルは、ユーザが事前に設定することを想定するが、ネットワーク上のノード（アンカーサーバ２００など）が動的に設定するものとしても良い。尚、図において、匿名化ポリシテーブルの"ａｎｙ"は、対応する項目が何であっても良いことを示し、匿名化の要否の判定に際しては、エントリ番号（Ｎｏ）の小さい値から順に評価する。
【００４３】
図２に戻って説明を続ける。セッション管理手段１２２は、セッションの開始及び終了を判定する機能と、情報記録装置１４０に記録されたセッション管理テーブルを管理する機能と、を備えている。本実施の形態１では、セッションとしてＴＣＰセッションを想定しており、ＴＣＰセッションは、宛先アドレスと、送信元アドレスと、宛先ポート番号と、送信元ポート番号と、に基づいて識別される。尚、ＴＣＰセッションに限定されず、他の単位をセッションとみなしても良い。
【００４４】
セッション管理手段１２２は、匿名性確保要否判定手段１２１から匿名化が必要であるとの情報が入力された場合に、インタフェース１１０Ａから入力されたパケットを匿名化確保の対象のパケットとして、セッション管理処理を実施する。ここで、セッション管理とは、セッションの開始及び終了を判定し、さらに、匿名アドレス選択手段１２３と匿名アドレス生成手段１２４が生成した匿名アドレスを使用して、情報記録装置１４０に記録されたセッション管理テーブルのエントリ作成及び削除と、内容の更新とを実施することをいう。図４に、セッション管理テーブルの一例を示す。以下、セッション管理手段１２２が行うセッション管理処理について、より具体的に説明する。
【００４５】
まず、本実施の形態１では、セッションとしてＴＣＰセッションを想定しているため、セッション管理手段１２２は、ＴＣＰのＳＹＮパケットを用いてセッションの開始を検出することができる。
【００４６】
次に、セッション管理手段１２２は、セッションの開始を検出した場合には、ＴＣＰセッションを識別するための情報を検索キーとしてセッション管理テーブルを検索し、同一のセッションが既に存在するか否かを検索する。検索の結果、同一のセッションが存在しなかった場合には、セッション管理手段１２２は、新規セッションの開始であるものと判定し、匿名アドレス選択手段１２３に匿名アドレスの割当てを要求する。
【００４７】
次に、セッション管理手段１２２は、匿名アドレスの割当て要求の結果と、匿名アドレスと、匿名アドレスを用いて到達性のあるアンカーサーバ２００のアドレスと、を取得した場合に、受信パケットから抽出した宛先アドレスと、送信元アドレスと、宛先ポート番号と、送信元ポート番号と、プロトコル種別と、匿名アドレスと、匿名アドレスを用いて到達性があるアンカーサーバ２００のアドレスと、を用いて新たなエントリを生成し、生成したエントリをセッション管理テーブルに追加する。また、セッション管理手段１２２は、予め決定しておいた有効時間を現在時刻に加算した時刻を、追加するエントリの失効時刻として設定する。
【００４８】
そして、セッション管理手段１２２は、受信したパケットが、セッション管理テーブルにエントリを有するセッションに属するパケットである場合には、対応するエントリの失効時刻の更新を行う。失効時刻の更新方法としては、例えば、最初の失効時刻を算出する際に使用したのと同じ有効時間を、パケットを受信した時刻に加算することで、更新後の失効時刻を求めるものとしても良いし、これに限定されず、他の異なる時間を受信時刻に加算するようにしても良い。
【００４９】
また、セッション管理手段１２２は、セッションの終了を検出して、セッション管理テーブルから対応するエントリを削除する。例えば、ＴＣＰセッションの場合には、ＦＩＮパケット、ＡＣＫ＋ＦＩＮパケット、ＦＩＮパケットという一連のＴＣＰセッションの終了手順や、ＲＳＴパケットを検出することで、セッションの終了の判定を行うことができる。ＦＩＮパケットなどを用いてＴＣＰセッションの終了判定を行う場合には、一連のパケットの到着を記憶しておく必要があるが、ＴＣＰセッションの終了判定処理自体は、ＴＣＰを処理するスタックはもとより、広く適用された一般的な技術である。このため、ＴＣＰセッションの終了判定処理については、その詳細な構成及び動作の説明を省略する。
【００５０】
さらに、セッション管理手段１２２は、セッション管理テーブルを定期的に監視して、失効時刻が現在時刻よりも過去となったエントリを、セッション管理テーブルから削除する。
【００５１】
図２に戻って説明を続ける。匿名アドレス選択手段１２３は、セッション管理手段１２２から匿名アドレスの割当てを要求された場合に、通信ノード３００のアドレスの匿名性を確保するためのプレフィクスを決定する。そして、匿名アドレス選択手段１２３は、決定したプレフィクスを基にして、匿名アドレス生成手段１２４に匿名アドレスの生成を依頼することで、匿名アドレスを取得する。匿名アドレス選択手段１２３は、セッション管理手段１２２からの匿名アドレス割当て要求への応答として、匿名アドレスと、匿名アドレスを用いて到達性のあるアンカーサーバ２００のアドレスと、をセッション管理手段１２２に応答する。
【００５２】
匿名アドレス選択手段１２３は、匿名アドレスの基となるプレフィクスを決定するに際して、情報記録装置１４０に記録されたプレフィクス情報テーブルの情報を用いる。以下、プレフィクス情報テーブルについて、より具体的に説明する。
【００５３】
図５は、プレフィクス情報テーブルの一例を示す表である。図に示すように、プレフィクス情報テーブルは、アンカーサーバアドレスと、プレフィクスセット番号と、プレフィクスと、ＩＩＤ（Interface Identifier）Ｋｅｙと、割当状態と、割当終了時刻と、失効時刻と、についての情報を有している。尚、図に示したプレフィクス情報テーブルは一例であり、上述した項目の一部を含む構成や、他の情報を含む構成としても良い。以下、プレフィクス情報テーブルが含む各情報について説明する。
【００５４】
アンカーサーバアドレスは、匿名アドレスを用いて到達性のあるアンカーサーバ２００のアドレスである。また、アンカーサーバアドレスは、匿名アドレスを生成する際に使用するプレフィクスについて、プレフィクスの基本的な取得先としたアンカーサーバ２００のアドレスである。尚、アンカーサーバ２００のこれら２種類のアドレスを区別する場合には、個々のアドレスを記録できるようにしても良い。
【００５５】
また、図５に示すプレフィクス管理テーブルでは、２つのアンカーサーバ２００のアドレスが設定された例を示しているが、設定されるアンカーサーバ２００のアドレスは１つであっても良いし、２つより多くのアンカーサーバ２００のアドレスを使用するものとしても良い。１台のアンカーサーバ２００を用いて匿名化装置１００に複数のプレフィクスを割当てることができるが、割り当てるプレフィクスはアンカーサーバ２００に到達性を有するものである必要がある。このため、１台のアンカーサーバ２００が提供可能なプレフィクスのバリエーションには限界がある。また、１台のアンカーサーバ２００では、耐障害性の面でも問題がある。従って、より高い匿名性や耐障害性を確保するとの観点から、複数のアンカーサーバ２００を適用するのが好適である。
【００５６】
プレフィクスセット番号は、アンカーサーバ２００から取得したプレフィクス群に割当てられた、プレフィクスセット番号である。尚、プレフィクスセット番号は必ずしも必要ではないが、アンカーサーバ２００に新しいプレフィクス群を割当ててもらう場合に、既に取得しているプレフィクス群が提示される際は、プレフィクスセット番号を適用することで、匿名化装置１００が、アンカーサーバ２００に提示する際の情報量を削減することができる。換言すると、匿名化装置１００は、既に取得したプレフィクス群を個別にアンカーサーバ２００に通知する必要が無く、プレフィクスセット番号のみを送信するだけで良い。
【００５７】
プレフィクスは、アンカーサーバ２００から取得したプレフィクス情報である。本実施の形態１では、匿名アドレス生成手段１２４が、アンカーサーバ２００から取得したプレフィクスとＩＩＤ（Interface Identifier）とを合わせて匿名アドレスを生成するものとして説明するが、匿名アドレスをアンカーサーバ２００から直接取得するものとしても良い。匿名アドレスをアンカーサーバ２００から直接取得する場合には、後述するＩＩＤ  Ｋｅｙは必要としない。尚、ＩＰｖ６アドレスは、上位６４ｂｉｔのプレフィクス部と下位６４ｂｉｔのＩＩＤ部を合わせて、１２８ｂｉｔのアドレスとなる。
【００５８】
ＩＩＤ  Ｋｅｙは、ＩＰｖ６アドレスのＩＩＤ部を生成する際に使用するＫｅｙ情報である。尚、ＩＩＤ部の生成手順の詳細については後述する。
【００５９】
割当状態は、特定のセッションにプレフィクスが割当て済みであるか否かを示す。割当状態が'Ｙ'の場合には割当て済みであることを示し、'Ｎ'の場合には未割当てであることを示す。
【００６０】
割当終了時間は、セッションが終了して、セッションに割当てたプレフィクスが開放された時刻を示す。
【００６１】
失効時刻は、プレフィクスが無効となる時刻を示す。特定のセッションに割当てるプレフィクスを選択する際には、失効時刻が現在の時刻よりも未来の時刻であるプレフィクスを選択する。特定のセッションに割当て中のプレフィクスの失効時刻が経過した場合に、プレフィクスを無効にしてしまうと通信途絶が発生する。このため、特定のセッションに割当て中のプレフィクスは、割当てが完了するまでの間は無効としない。尚、通信途絶しても良い場合には、割当て中か否かに関わらず無効にするものとしても良い。
【００６２】
匿名アドレス選択手段１２３は、セッション管理手段１２２から匿名アドレスの割当てを要求された場合に、プレフィクス情報テーブルに記録されたエントリのうち、割当状態が'Ｎ'（即ち、未割当て）であり、かつ、失効時刻に設定された時刻が現在の時刻よりも未来であるエントリを選択候補として、この選択候補のエントリから適切なプレフィクスを１つ選択する。尚、適切なプレフィクスの選択手順の詳細については後述する。
【００６３】
匿名アドレス選択手段１２３は、適切な１つのプレフィクスを選択した後に、選択したプレフィクスとエントリのＩＩＤ  Ｋｅｙ情報とを匿名アドレス生成手段１２４に出力して、その結果として、匿名アドレスを取得する。取得した匿名アドレスは、セッション管理手段１２２に応答される。同時に、匿名アドレス選択手段１２３は、プレフィクス情報テーブルにおいて、選択したプレフィクスのエントリを割当て済みに更新する（即ち、割当状態を'Ｙ'にする）。尚、アンカーサーバ２００から取得するプレフィクスは、１２８ｂｉｔのアドレスそのものとして取得が可能であるが、プレフィクスを１２８ｂｉｔのアドレスそのものとして取得する場合には、匿名アドレス生成手段１２４の機能は用いずに、アンカーサーバ２００から割当てられたアドレスをそのまま応答する。
【００６４】
また、匿名アドレス選択手段１２３は、プレフィクスの選択を試行した結果、適切なプレフィクスを発見できなかった場合に、新たなプレフィクスを要求するためのプレフィクス要求信号を、アンカーサーバ２００に送信する機能を備えている。プレフィクス割当要求信号には、割当て要求先とするアンカーサーバ２００が管理するプレフィクスであり、かつ、既に保持しているプレフィクスを提示するための情報を格納する。この情報としては、通信帯域の効率を考慮し、プレフィクスセット番号を使用する。尚、プレフィクスセット番号を使用せずに、個別のプレフィクスを直接格納するものとしても良い。
【００６５】
また、匿名アドレス選択手段１２３は、要求するプレフィクスセットの数（或いは、プレフィクスの数）と、匿名化装置１００のアドレスと、をプレフィクス割当要求信号に格納する。匿名化装置１００のアドレスは、プレフィクス割当要求信号の送信元アドレスにも設定されるため、必ずしも別途格納する必要はないが、送信元アドレスとは異なるアドレスに設定が可能である場合などには、必要に応じて格納するものとする。また、上述した情報以外の情報をプレフィクス割当要求信号に格納するものとしても良い。
【００６６】
匿名アドレス選択手段１２３は、プレフィクス割当要求信号の応答として、アンカーサーバ２００から応答されたプレフィクス割当応答信号を受信した場合には、受信したプレフィクス割当応答信号に含まれる情報を使用して、プレフィクス情報テーブルにエントリを追加する。
【００６７】
プレフィクス割当応答信号には、割当られたプレフィクスセット番号と、プレフィクスセット番号に属するプレフィクスと、プレフィクスに関連付けられたＩＩＤ  Ｋｅｙ及び失効時刻と、アンカーサーバ２００のアドレスと、が格納される。アンカーサーバ２００のアドレスは必ずしも必要ではないが、例えば、匿名化アドレスを用いて到達性のあるアンカーサーバ２００のアドレスと、プレフィクス割当要求信号の送信先としたアンカーサーバ２００のアドレスと、が異なる場合などには必要となる。また、上述した情報以外の情報をプレフィクス応答信号に格納するものとしても良い。
【００６８】
尚、プレフィクス割当要求信号の送信先とするアンカーサーバ２００のアドレスは、事前に設定されることを想定するが、他の方法を用いて取得するものとしても良い。また、アンカーサーバ２００のアドレスは、複数のアドレスが設定可能であることを想定するが、複数のアドレスを設定する場合には、プレフィクス割当要求信号の送信先とするアンカーサーバ２００として、例えば、複数のアンカーサーバ２００のアドレスのうちからランダムに１つ選択する方法が考えられる。
【００６９】
尚、プレフィクス割当要求信号及びプレフィクス割当応答信号は、秘匿性や完全性といったセキュリティが確保されることが必要である。セキュリティ確保手段としては、ＩＰｓｅｃなどの一般的な技術を使用することができる。
【００７０】
図２に戻って説明を続ける。匿名アドレス生成手段１２４は、匿名アドレス選択手段１２３からの依頼に応じて匿名アドレスを生成する機能を備えている。匿名アドレス生成手段１２４は、生成した匿名アドレスを、匿名アドレス選択手段１２３に応答する。以下、匿名アドレス生成手段１２４が行う匿名アドレスの生成手順を例示する。尚、以下の例では、匿名アドレス生成手段１２４は、匿名アドレスを生成する際に、匿名アドレス選択手段１２３から出力されたプレフィクス情報やＩＩＤ  Ｋｅｙを使用する。また、匿名アドレス生成手段１２４は、匿名化制御手段１２０に入力されたパケットの送信元ポート番号についても使用する。
【００７１】
まず、匿名アドレス生成手段１２４は、以下の式１を用いてＫｅｙを算出する。尚、式１においては、ＩＩＤ  ＫｅｙをＩＩＤ＿ｋｅｙとして表示する。
Ｋｅｙ＝Ｅｘｔｒａｃｔ（ｎ，Ｈ（ＩＩＤ＿ｋｅｙ，ｓｒｃ＿ｐｏｒｔ|ＦＩＸＥＤ＿ＤＡＴＡ））・・・（式１）
【００７２】
式１において、Ｈ（ｋ，ｘ）は、キーｋを使用してデータｘにハッシュ処理を施す処理を示す。ハッシュ処理アルゴリズムとしては、例えば、ＨＭＡＣ−ＭＤ５や、ＨＭＡＣ−ＳＨＡ−１などを使用することができる。勿論、他のハッシュアルゴリズムを使用するものとしても良い。
【００７３】
ｓｒｃ＿ｐｏｒｔは、パケットの送信元ポート番号を示す。ＦＩＸＥＤ＿ＤＡＴＡは、任意の固定データを示す。記号'｜'は、ここでは、記号の前後の２つのデータをそれぞれバイト列の情報であるとみなして、それら２つのデータを連結することを意味する。
【００７４】
Ｅｘｔｒａｃｔ（ｎ，ｘ）は、データｘの上位からｎビット分のデータを抜き出す処理を示す。ｎの値は、ハッシュアルゴリズムとしてＨＭＡＣ−ＭＤ５を適用する場合には１２８とし、ＨＭＡＣ−ＳＨＡ−１を適用する場合には１６０とすると好適であるが、異なる値にしても良い。
【００７５】
式１の処理では、セッション毎（即ち、送信ポート番号が変わる度）にＫｅｙの値を変更する。これにより、仮に同じＩＩＤ  Ｋｅｙを使う場合においても、異なる匿名アドレスを生成できるようにするために、式１での処理を実施する。従って、別途ＩＩＤ  Ｋｅｙを更新する仕組みを適用した場合などには式１の計算を行わずに、ＩＩＤ  ＫｅｙをそのままＫｅｙとして使用するものとしても良い（即ち、Ｋｅｙ＝ＩＩＤ＿ｋｅｙ）。
【００７６】
次に、匿名アドレス生成手段１２４は、以下の式２を用いて匿名アドレスのＩＩＤ部（即ち、ＩＰｖ６アドレスの下位６４ｂｉｔ部分）を算出する。
ＤｅｒｉｖｅｄＩＩＤ＝Ｅｘｔｒａｃｔ（６４，Ｅ（Ｋｅｙ，ＣＰＥ＿ＩＤ））・・・（式２）
【００７７】
式２において、Ｋｅｙは式１で求めた値を示す。ＣＰＥ＿ＩＤは、匿名化装置１００の識別子を示す。ＣＰＥ＿ＩＤとしては、アンカーサーバ２００を管理するオペレータから割当てられた識別番号或いは識別文字列の使用を想定する。匿名化装置１００のインタフェース１１０Ｂにオペレータがアドレスを割当てる場合には、割り当てたアドレスをＣＰＥ＿ＩＤとして使用するものとしても良い。
【００７８】
最後に、匿名アドレス生成手段１２４は、式２で求めたＤｅｒｉｖｅｄＩＩＤと、匿名アドレス選択手段１２３から出力されたプレフィクス情報と、を結合して匿名アドレスを構成する。
【００７９】
ここで、重要なポイントは、匿名アドレスと、匿名アドレスを割当てた匿名化装置１００と、の対応関係を示す情報が存在しない場合において、匿名アドレスやポート番号といったサーバ４００の管理者が取得し得る情報（即ち、サーバ４００が受信したパケットに含まれる情報）を用いて、アンカーサーバ２００を管理するオペレータが、ＤｅｒｉｖｅｄＩＩＤを算出できるようにすることである。
【００８０】
この結果、例えば、匿名化装置１００とアンカーサーバ２００の機能を用いて匿名通信を行う通信ノード３００が、サーバ４００に不正アクセスを行った場合には、アンカーサーバ２００を管理する（即ち、匿名性確保サービスを実施する）オペレータに対して、不正アクセスのログに残された匿名化アドレスや、（送信元ポート番号を使用する場合の）送信元ポートを通知することで、オペレータは、不正アクセスを実施した通信ノード３００が接続する匿名化装置１００を割出すことができる。
【００８１】
従って、本実施の形態１に係る通信システム１によれば、通信ノード３００の通信の匿名性を確保することができると共に、さらに、不正アクセスなどの問題が発生した場合において、匿名アドレス（及び送信元ポート番号）を用いた追跡性についても確保することが可能となる。
【００８２】
尚、匿名アドレスの算出方法は上述した方法に限定されず、他の異なる手段を用いて匿名アドレスを算出するものとしても良い。また、上述したように、匿名アドレスをアンカーサーバ２００から直接取得することができる場合には、匿名アドレス生成手段１２４が匿名アドレスを生成しなくとも良い。また、匿名アドレスのＩＩＤ部の算出方法については、匿名化装置１００は、アンカーサーバ２００から取得した情報（例えばＩＩＤ＿ｋｅｙ）を用いずに、匿名化装置１００自らがＩＩＤ部を算出するものとしても良い。従って、匿名化装置１００は、アンカーサーバ２００から匿名アドレスを直接取得する場合には、匿名アドレス生成手段１２４を備えていなくとも良い。また、匿名化装置１００が匿名アドレス生成手段１２４を備えて自ら匿名アドレスを生成する場合には、プレフィクスのみをアンカーサーバ２００から取得するものとしても良いし、プレフィクスとＩＩＤ部を生成するための情報（例えばＩＩＤ＿ｋｅｙ）とを取得するものとしても良い。
【００８３】
図２に戻って説明を続ける。パケット処理手段１３０は、インタフェース１１０Ａで受信されたパケットが匿名化制御手段１２０を経由して入力された場合に、入力されたパケットの宛先アドレスと、送信元アドレスと、宛先ポート番号と、送信元ポート番号と、を検索キーとして、情報記録装置１４０に保持されたセッション管理テーブルを検索する。検索の結果、該当するエントリを発見した場合には、パケット処理手段１３０は、入力されたパケットの送信元アドレスを、検索されたエントリに設定された匿名アドレスに書き換える処理を実施する。
【００８４】
そして、パケット処理手段１３０は、匿名アドレスに書き換えたパケットについてカプセル化を実施する。カプセル化の際には、外側のＩＰヘッダの送信元アドレスとして、匿名化装置１００自身の有するアドレスを使用し、宛先アドレスとして、検索されたエントリのアンカーサーバ２００のアドレスを使用する。カプセル化されたパケットは、インタフェース１１０Ｂを経由してネットワーク６００へと送出される。尚、匿名化装置１００自身の有するアドレスとしては、インタフェース１１０Ｂに割当てられたＩＰアドレスを想定するが、このアドレスに限定されるものではない。
【００８５】
さらに、パケット処理手段１３０は、インタフェース１１０Ｂからパケットが入力された場合に、入力されたパケットがカプセル化されたパケットであるか否かをチェックする。そして、カプセル化されたパケットであった場合には、パケット処理手段１３０は、外側ＩＰヘッダの宛先アドレス及び送信元アドレスと、内側ＩＰヘッダの宛先アドレス及び送信元アドレスと、宛先ポート番号と、送信元ポート番号と、を検索キーとして、情報記録装置１４０に記録されたセッション管理テーブルを検索する。
【００８６】
パケット処理手段１３０は、インタフェース１１０Ｂから受信したパケットに対して検索を実施する場合には、以下の対応を用いて検索を行う。
受信パケットの外側ＩＰヘッダ  宛先アドレス
⇒匿名化装置１００のアドレス
受信パケットの外側ＩＰヘッダ  送信元アドレス
⇒セッション管理テーブル  アンカーサーバアドレス
受信パケットの内側ＩＰヘッダ  宛先アドレス
⇒セッション管理テーブル  匿名アドレス
受信パケットの内側ＩＰヘッダ  送信元アドレス
⇒セッション管理テーブル  宛先アドレス
受信パケットの宛先ポート番号
⇒セッション管理テーブル  送信元ポート番号
受信パケットの送信元ポート番号
⇒セッション管理テーブル  宛先ポート番号
【００８７】
パケット処理手段１３０は、上記の対応関係を用いてセッション管理テーブルを検索した結果、該当するエントリを発見した場合には、まず、デカプセル化処理を実施する。そして、デカプセル化処理に続いて、パケット処理手段１３０は、内側のＩＰヘッダの宛先アドレスを、匿名アドレスから、検索されたエントリの送信元アドレスとして記録されたアドレスへと書き換える。換言すると、パケット処理手段１３０は、パケットのアドレスを、匿名アドレスから通信ノード３００のアドレスへと戻す処理を実施する。さらに、パケット処理手段１３０は、宛先アドレスが通信ノード３００のアドレスへと戻されたパケットを、インタフェース１１０Ａから送出する。この結果、パケット処理手段１３０が送出したパケットを、ローカルネットワーク５００に接続した通信ノード５００が受信する。
【００８８】
図２に戻って説明を続ける。情報記録装置１４０は、図３に示した匿名化ポリシテーブルと、図４に示したセッション管理テーブルと、図５に示したプレフィクス情報テーブルと、を記録した記録装置である。
【００８９】
図１に戻って説明を続ける。アンカーサーバ２００は、匿名化装置１００からのプレフィクス割当要求を受信した場合に、要求に応じてプレフィクスを匿名化装置１００に割当て、割当てたプレフィクスを格納したプレフィクス応答信号を、匿名化装置１００に応答する機能を備えている。
【００９０】
また、アンカーサーバ２００は、トンネリングを用いて匿名化装置１００からアンカーサーバ２００に転送されたパケットを、デカプセル化する機能を備えている。ここで、デカプセル化されたパケットは、一般的なルータと同様の処理を用いて、転送処理される。また、アンカーサーバ２００は、匿名アドレス宛に送信されたパケットを受信した場合には、受信したパケットをカプセル化して匿名化装置１００に転送する機能を備えている。
【００９１】
図６は、アンカーサーバ２００を示す構成図である。アンカーサーバ２００は、インタフェース２１０と、プレフィクス割当手段２２０と、転送手段２３０と、プレフィクス記録装置２４０と、転送情報記録装置２５０と、を備えている。
【００９２】
インタフェース２１０は、ネットワーク６００に接続され、ネットワーク６００に接続された他のノード（匿名化装置１００やサーバ４００など）とパケットの送受信を行う機能を備えている。インタフェース２１０は、受信したパケットがプレフィクス割当要求信号であった場合、プレフィクス割当手段２２０にパケットを出力し、それ以外のパケットであった場合には、転送手段２３０に出力する。また、プレフィクス割当手段２２０から応答されたプレフィクス割当応答信号や、転送手段からネットワーク６００へと送られるパケットは、インタフェース２１０を介してネットワーク６００へと送信される。
【００９３】
プレフィクス割当手段２２０は、プレフィクス割当要求信号を受信した場合に、（Ａ）プレフィクス記録装置２４０に記録された貸出しプレフィクステーブルにアクセスする機能と、（Ｂ）プレフィクス割当要求信号に格納された情報に基づき適切なプレフィクスを選択する機能と、（Ｃ）プレフィクスセット番号と、プレフィクスセットに属するプレフィクス群と、各プレフィクスに関連付けられたＩＩＤ  Ｋｅｙと、失効時刻を格納したプレフィクス割当応答信号と、を応答する機能と、を備えている。
【００９４】
プレフィクス割当要求信号には、匿名化装置１００が既に保持しているプレフィクスの情報として、１つ乃至複数のプレフィクスセット番号と、要求するプレフィクスセットの数と、が格納されることを想定する。尚、匿名化装置１００が保持しているプレフィクスの情報を示す場合には、プレフィクスセットとしてではなく、プレフィクス自体を格納するものとしても良い。また、要求するプレフィクスの数についても、プレフィクスセットの数ではなく、プレフィクス自体の数としても良い。さらに、プレフィクス割当要求信号には、上述した情報の一部のみを含むものとしても良いし、上述した情報を全く含まない構成としても良い。
【００９５】
プレフィクス割当手段２２０は、匿名化装置１００に割当てるプレフィクスを選択する場合に、プレフィクス割当応答信号に格納されたプレフィクスセット或いはプレフィクスに該当しないプレフィクスを選択する。ここで、選択するプレフィクスの数は、プレフィクスセット或いはプレフィクスを要求された数とする。
【００９６】
図７は、貸出しプレフィクステーブルを示す表である。図に示すように、貸出しプレフィクステーブルは、プレフィクスセット番号と、プレフィクスと、プレフィクスに対応付けられたＩＩＤ  Ｋｅｙの情報と、を含む。尚、貸出しプレフィクステーブルは、これらの情報に加えて、他の情報を含むものとしても良い。例えば、本実施の形態１では、失効時刻を算出する際に、プレフィクスに関わらず、事前に決められた有効時間を現在時刻に加えることで失効時刻を算出するものと想定するが、プレフィクス毎に異なる有効時間を設ける場合には、各プレフィクスに対応した有効時間を貸し出しプレフィクステーブルに含めるものとして良い。
【００９７】
図６に戻って説明を続ける。転送手段２３０は、インタフェース２１０から入力されたデータパケットを調査し、カプセル化されたパケットであった場合には、さらに、外側ＩＰヘッダの送信元アドレス及び宛先アドレスと、内側ＩＰヘッダの送信元アドレスと、を読み出す。そして、転送手段２３０は、外側ＩＰヘッダの宛先アドレスが、アンカーサーバ２００自身のアドレスと一致することを確認した後に、さらに、内側ＩＰヘッダの送信元アドレスのプレフィクス部が、プレフィクス記録装置２４０に記録された貸出しプレフィクステーブルに存在するか否かの確認を行う。
【００９８】
そして、転送手段２３０は、外側ＩＰヘッダの宛先アドレスがアンカーサーバ２００のアドレスと一致し、かつ、内側ＩＰヘッダの送信元アドレスのプレフィクス部が貸出しプレフィクステーブルに存在する場合には、入力されたパケットの外側ＩＰヘッダの送信元アドレスと、内側ＩＰヘッダの送信元アドレスと、の対応（即ち、匿名化装置１００のアドレスと匿名アドレスとの対応）を保持するために、転送情報記録装置２５０に記録された転送テーブルにエントリを追加する。ここで、転送手段２３０は、エントリを追加する際に、それら２つのアドレスの対応関係が失効する時刻についても記録する。尚、同じエントリが転送テーブルに既に存在する場合には、後述するように、失効時刻のみを更新する。
【００９９】
図８は、転送テーブルを示す表である。転送テーブルの失効時刻には、事前に決定しておいた有効時間をエントリ作成時の時刻に加算した時刻が設定される。この失効時刻は、作成されたエントリに対応するパケット（即ち、匿名化装置１００からトンネリングされたパケットや、匿名アドレス宛に送信されたパケットなど）を処理する都度、更新される。
【０１００】
転送手段２３０は、転送テーブルへのエントリの追加或いは更新を行った後に、入力されたパケットをデカプセル化して、一般的なＩＰルーティングを用いた、転送処理を実施する。
【０１０１】
また、転送手段２３０は、インタフェース２１０から入力されたデータパケットを調査し、カプセル化されていないパケットであった場合には、さらに、転送情報記録装置２５０に記録された転送テーブルのエントリについて、入力されたパケットのＩＰヘッダの宛先アドレスと一致する匿名アドレスが設定されたエントリが存在するか否かを検索する。検索の結果、一致するエントリを発見した場合には、入力されたパケットについてカプセル化処理を実施する。カプセル化処理の際には、外側ＩＰヘッダの宛先アドレスには、一致したエントリの匿名化装置１００のアドレスが使用され、外側ＩＰヘッダの送信元アドレスには、アンカーサーバ２００自身のアドレスが使用される。カプセル化処理に続いて、転送手段２３０は、カプセル化後のパケットに対して、一般的なＩＰルーティングを使用した、転送処理を実施する。
【０１０２】
尚、本実施の形態１におけるアンカーサーバ２００は、プレフィクスを割当てる機能と、匿名アドレスからのパケットや匿名アドレス宛のパケットを転送する機能と、を備えるものとして説明したが、これら２つの機能を異なるサーバでそれぞれ実施する構成としても良い。各機能を異なるサーバで実施する構成とする場合には、プレフィクスの割当機能を担うサーバが、インタフェース２１０と、プレフィクス割当手段２２０と、プレフィクス記録装置２４０と、を備える構成とし、匿名アドレスを有するパケットを転送する機能を担うサーバが、インタフェース２１０と、転送手段２３０と、転送情報記録装置２５０と、を備える構成とすれば良い。
【０１０３】
図６に戻って説明を続ける。プレフィクス記録装置２４０は、図７に示した貸出しプレフィクステーブルを保持する記録装置である。
【０１０４】
転送情報記録装置２５０は、図８に示した転送テーブルを保持する記録装置である。
【０１０５】
図１に戻って説明を続ける。通信ノード３００は、匿名化装置１００を介して、後述するネットワーク６００上の他のノードにアクセスすることができる。尚、通信ノード３００は、ＩＰに従った通信機能を備えた一般的な通信ノードであるため、その詳細な構成及び動作の説明を省略する。
【０１０６】
サーバ４００は、ＷＥＢサービスなどを提供するサーバである。サーバ４００は、ＩＰに従った通信機能を備えた一般的なサーバであるため、その詳細な構成及び動作の説明を省略する。
【０１０７】
ローカルネットワーク５００は、匿名化装置１００と通信ノード３００とが接続されたネットワークである。ローカルネットワーク５００としては、企業内ネットワークや家庭内ネットワークといった、いわゆるＬＡＮ（Local Area Network）を想定するが、ＬＡＮに限定されず、他のネットワークでも良い。
【０１０８】
ネットワーク６００は、匿名化装置１００と、アンカーサーバ２００と、サーバ４００と、が接続するネットワークである。ネットワーク６００は、ＩＳＰ（Internet Service Provider）が提供するネットワークやインターネットを含んだ広域ネットワークである。
【０１０９】
尚、上述したインタフェース１１０Ａと、インタフェース１１０Ｂと、インタフェース２１０と、は、例えば、ＬＡＮカードなどのＮＩＣ（Network Interface Card）と、ＮＩＣを動作させるソフトウェア（ドライバ）と、から構成することができる。
【０１１０】
尚、上述した匿名化制御手段１２０と、パケット処理手段１３０と、プレフィクス割当手段２２０と、転送手段２３０と、は、いずれもソフトウェアを用いてその機能を実現することができる。さらに、これら手段のいずれか一部或いは全てを、ハードウェアを用いて構成することも可能である。
【０１１１】
また、上述した情報記録装置１４０と、プレフィクス記録装置２４０と、転送情報記録装置２５０と、は、情報を記録可能な装置（半導体メモリやハードディスクドライブなど）を用いて構成することができる。
【０１１２】
尚、図１乃至図８に示した各手段や装置の構成は例示にすぎず、本発明の趣旨を逸脱しない範囲で他の構成を用いて実現するものとしても良い。
【０１１３】
（動作の説明）
次に、図９乃至図１８を参照して、本実施の形態１に係る通信システム１の動作について説明する。図９乃至図１２は、通信ノード３００からパケットを受信した場合の、匿名化装置１００の動作を示すフローチャートである。図１３及び図１４は、アンカーサーバ２００の動作を示すフローチャートである。図１５乃至図１８は、通信ノード３００がサーバ４００との通信を開始してから完了するまでの間の一連の処理の流れを説明するための図である。
【０１１４】
図９において、まず始めに、匿名化装置１００の匿名化制御手段１２０は、通信ノード３００が送信したパケットを、インタフェース１１０Ａを介して受信する（ステップＳ１０１）。そして、匿名性確保要否判定手段１２１は、受信パケットに対して匿名性を確保する必要があるか否かを判定する（ステップＳ１０２）。ここで、匿名性が必要と判定された場合（即ち、'Ｙ'の場合）には、ステップＳ１０３へと進む。一方で、匿名性を確保する必要がないと判定された場合（即ち、'Ｎ'の場合）には、ステップＳ１１０へと進む。
【０１１５】
次に、セッション管理手段１２２は、ステップＳ１０３で匿名性が必要と判定された場合には、受信パケットの内容をチェックし、セッションの開始であるか否かを判定する（ステップＳ１０３）。セッションがＴＣＰセッションである場合には、上述したとおり、パケットがＳＹＮパケットであるか否かに応じてセッションの開始を判定することができる。また判定の際に、セッション管理手段１２２は、セッション管理テーブルに、セッションを一意に識別するための情報が一致するエントリが存在しないことも確認する。重複したエントリが存在する場合には、セッション管理手段１２２は、セッションの開始であるものとは判定しない。ここで、セッションの開始であると判定された場合（即ち、'Ｙ'の場合）には、ステップＳ１０４へと進む。一方で、セッションの開始でないと判定された場合（即ち、'Ｎ'の場合）には、ステップＳ１０７へと進む。
【０１１６】
次に、匿名アドレス選択手段１２３は、ステップＳ１０４でセッションの開始であると判定された場合には、匿名アドレスを生成する際に使用するプレフィクスを選択する（ステップＳ１０４）。尚、匿名アドレス選択手段１２３が行うステップＳ１０４での処理の詳細については、図１０を参照して後述する。
【０１１７】
次に、匿名アドレス生成手段１２４は、選択したプレフィクスから匿名アドレスを生成する（ステップＳ１０５）。
【０１１８】
次に、セッション管理手段１２２は、匿名アドレスと、ステップＳ１０１における受信パケットから取得した、セッションを識別するための情報と、匿名アドレスを用いて到達性のあるアンカーサーバ２００のアドレス（即ち、匿名アドレスを構成する際に使用したプレフィクスの取得元のアンカーサーバ２００のアドレス）と、を用いて、セッション管理テーブルに新規なエントリを作成する（ステップＳ１０６）。ステップＳ１０６での処理が終了した後、ステップＳ１１０へと進む。
【０１１９】
また、セッション管理手段１２２は、ステップＳ１０３でセッションの開始でないと判定した場合には、セッションの終了判定を行う（ステップＳ１０７）。上述したように、セッションがＴＣＰセッションである場合には、ＦＩＮパケット、ＡＣＫ＋ＦＩＮパケット、ＦＩＮパケットという一連のＴＣＰセッション終了の手順や、ＲＳＴパケットを検出することで、セッション終了の判定を行うことができる。ここで、セッションの終了であると判定された場合（即ち、'Ｙ'の場合）には、ステップＳ１０８へと進む。一方で、セッションの終了でないと判定された場合（即ち、'Ｎ'の場合）には、ステップＳ１０９へと進む。
【０１２０】
次に、セッション管理手段１２２は、ステップＳ１０７でセッションの終了であると判定された場合には、セッション終了時の処理を行う（ステップＳ１０８）。具体的には、セッション管理手段１２２は、セッション管理テーブルから対応するエントリを削除し、プレフィクス情報テーブルの対応するエントリの割当状態を'Ｎ'（未割当）とし、また、割当終了時刻を現在時刻に更新する。ステップＳ１０８での処理が終了した後、ステップＳ１１０へと進む。
【０１２１】
また、セッション管理手段１２２は、ステップＳ１０７でセッションの終了でないと判定された場合には、セッション管理テーブルの失効時刻を更新する（ステップＳ１０９）。ステップＳ１０９での処理が終了した後、ステップＳ１１０へと進む。
【０１２２】
最後に、パケット処理手段１３０は、セッション管理テーブルの情報を参照し、対応するエントリが存在する場合には受信パケットの送信元アドレスを匿名アドレスに書き換え、さらに、匿名アドレスを用いて到達性のあるアンカーサーバ２００へとトンネリングするためのカプセル化処理を行う（ステップＳ１１０）。尚、パケット処理手段１３０が行うステップＳ１１０での処理の詳細については、図１２を参照して後述する。
【０１２３】
次に、図１０を参照して、図９のステップＳ１０４における処理の詳細について説明する。図１０は、匿名化装置１００の匿名アドレス選択手段１２３が行うプレフィクス決定処理の動作を示すフローチャートである。
【０１２４】
図１０において、まず、匿名化装置１００の匿名アドレス選択手段１２３は、プレフィクス情報テーブルを検索し、未割当のプレフィクスを抽出する（ステップＳ２０１）。ここで、未割当のプレフィクスが存在しないと判定された場合（即ち、'Ｎ'の場合）には、ステップＳ２０２へと処理を進めて、後述するように、プレフィクス割当を要求する処理を行う。一方で、１つ以上の未割当のプレフィクスが存在すると判定された場合（即ち、'Ｙ'の場合）には、ステップＳ２０３へと進む。
【０１２５】
次に、匿名アドレス選択手段１２３は、ステップＳ２０１で未割当のプレフィクスが存在しないと判定された場合には、アンカーサーバ２００に対してプレフィクス割当要求信号を送信することで、プレフィクス割当て処理を実施する（ステップＳ２０２）。尚、匿名アドレス選択手段１２３が行うステップＳ２０２での処理の詳細については、図１１を参照して後述する。そして、ステップＳ２０２での割当要求処理の結果、新たなプレフィクスを取得した場合には、ステップＳ２０４へと進む。
【０１２６】
また、匿名アドレス選択手段１２３は、ステップＳ２０１で未割当のプレフィクスが存在すると判定された場合には、プレフィクス情報テーブルを検索し、アンカーサーバ２００から取得した後に一度も使用されていないプレフィクスを検索する（ステップＳ２０３）。ここで、一度も使用されていないプレフィクスが存在すると判定された場合（即ち、'Ｙ'の場合）には、ステップＳ２０４へと進む。一方で、一度も使用されていないプレフィクスが存在しないと判定された場合（即ち、'Ｎ'の場合）には、ステップＳ２０５へと進む。
【０１２７】
ステップＳ２０２でのプレフィクス割当て処理に続いて、或いは、ステップＳ２０３で一度も使用されていないプレフィクスが存在すると判定された場合には、匿名アドレス選択手段１２３は、一度も使用されていないプレフィクスのうちからランダムで１つのプレフィクスを選択し（ステップＳ２０４）、プレフィクス決定処理を完了する。
【０１２８】
また、匿名アドレス選択手段１２３は、ステップＳ２０３で一度も使用されていないプレフィクスが存在しないと判定された場合には、プレフィクス情報テーブルから、割当終了時刻が所定の時刻よりも過去のプレフィクスを検索する（ステップＳ２０５）。所定の時刻は事前に設定することを想定する。ここで、該当するプレフィクスが存在しないと判定された場合（即ち、'Ｎ'の場合）には、ステップＳ２０２へと進む。一方で、該当するプレフィクスが存在すると判定された場合（即ち、'Ｙ'の場合）には、ステップＳ２０６へと進む。
【０１２９】
次に、匿名アドレス選択手段１２３は、所定の時刻よりも過去に割当てを終了したプレフィクスから、ランダムで１つのプレフィクスを選択し（ステップＳ２０６）、プレフィクス決定処理を完了する。ここで、プレフィクスを選択する際には、割当終了時刻に応じて選択確率に重み付けを行うことで、より過去の割当終了時刻であるプレフィクスを、他のプレフィクスよりも選択され易くするといった処理を行うものとしても良い。
【０１３０】
尚、本実施の形態１で説明したプレフィクス決定処理は一例であり、他の方法を用いてプレフィクス決定処理を行うものとしても良い。例えば、プレフィクスが関連づけられたセッション情報（セッションがＴＣＰセッションである場合には、パケットの送信元アドレス、宛先アドレス、送信元ポート番号、宛先ポート番号などの情報）の全て或いは一部の情報を予め記憶しておき、これらの情報と一致するセッションに対して、同じプレフィクスを割当てないようにする、或いは、割当てづらくするといった選択基準を設けるようにしても良い。
【０１３１】
次に、図１１を参照して、図１０のステップＳ２０２における処理の詳細について説明する。図１１は、匿名化装置１００の匿名アドレス選択手段１２３が行うプレフィクス割当要求処理の動作を示すフローチャートである。
【０１３２】
図１１において、まず、匿名化装置１００の匿名アドレス選択手段１２３は、匿名化装置１００が既に保持しているプレフィクスであり、かつ、プレフィクス割当要求の対象とするアンカーサーバ２００から取得したプレフィクスについて、プレフィクスセット番号と、割当要求するプレフィクスセットの数と、匿名化装置１００のアドレスを設定したプレフィクス割当要求信号と、を構成する（ステップＳ３０１）。尚、上述したように、プレフィクスセット番号に代えてプレフィクス自体を設定するものとしても良い。また、割当要求するプレフィクスセットの数に代えて、要求するプレフィクスの数としても良い。
【０１３３】
次に、匿名アドレス選択手段１２３は、ステップＳ３０１において構成したプレフィクス割当要求信号を、アンカーサーバ２００に送信する処理を行う（ステップＳ３０２）。
【０１３４】
次に、匿名アドレス選択手段１２３は、アンカーサーバ２００から応答されるプレフィクス割当応答信号を待つ（ステップＳ３０３）。ここで、プレフィクス割当応答信号が受信された場合（即ち、'Ｙ'の場合）には、ステップＳ３０４へと進む。プレフィクス割当応答信号が受信されていない場合（即ち、'Ｎ'の場合）には、プレフィクス割当応答信号の受信を待つ。
【０１３５】
最後に、匿名アドレス選択手段１２３は、プレフィクス割当応答信号を受信した場合には、受信したプレフィクス割当応答信号の情報を使用して、プレフィクス情報テーブルに新たなエントリを追加する処理を行う（ステップＳ３０４）。ステップＳ３０４での処理が終了した後、図１０に示したステップＳ２０４へと進む。
【０１３６】
次に、図１２を参照して、図９のステップＳ１１０における処理の詳細について説明する。図１２は、匿名化装置１００のパケット処理手段１３０が行うパケット処理の動作を示すフローチャートである。尚、パケット処理は、インタフェース１１０Ａが受信して、匿名化制御手段１２０が処理した後のパケットや、インタフェース１１０Ｂが受信したパケットに対して行われる処理を示す。インタフェース１１０Ａが受信して、匿名化制御手段１２０が処理した後のパケットに対して行われる処理が、図９のステップＳ１１０で行われるパケット処理に相当する。
【０１３７】
図１２において、まず、匿名化装置１００のパケット処理手段１３０は、受信したパケットがカプセル化されているか否かを判定する（ステップＳ４０１）。ここで、受信パケットがカプセル化されていると判定された場合（即ち、'Ｙ'の場合）には、ステップＳ４０２へと進む。一方で、受信パケットがカプセル化されていないと判定された場合（即ち、'Ｎ'の場合）には、ステップＳ４０６へと進む。
【０１３８】
次に、パケット処理手段１３０は、ステップＳ４０１で受信パケットがカプセル化されていないと判定した場合には、受信したパケットに設定された情報を使用して、情報記録装置１４０に記録されたセッション管理テーブルを検索し（ステップＳ４０２）、対応するエントリが存在するか否かを確認する（ステップＳ４０３）。尚、ステップＳ４０２で検索を行う際に比較される情報は、上述したパケット処理手段１３０の説明において既に述べたため、ここではその説明を省略する。ステップＳ４０３での確認の結果、対応するエントリが発見された場合（即ち、'Ｙ'の場合）には、ステップＳ４０４へと進む。一方で、発見されなかった場合（即ち、'Ｎ'の場合）には、ステップＳ４１０へと進む。
【０１３９】
次に、パケット処理手段１３０は、ステップＳ４０３で対応するエントリを発見した場合には、発見したエントリの匿名アドレスを使用して、受信したパケットの送信元アドレスを書き換える（ステップＳ４０４）。
【０１４０】
次に、パケット処理手段１３０は、ステップＳ４０４で送信元アドレスを書き換えたパケットについて、アンカーサーバ２００に転送するためのカプセル化処理を行う（ステップＳ４０５）。ステップＳ４０５での処理が終了した後、ステップＳ４１０へと進む。
【０１４１】
一方で、パケット処理手段１３０は、ステップＳ４０１で受信パケットがカプセル化されていると判定した場合には、受信したパケット（カプセル化されたパケット）に設定された情報を使用して、情報記録装置１４０に記録されたセッション管理テーブルを検索し（ステップＳ４０６）、対応するエントリが存在するか否かを確認する（ステップＳ４０７）。尚、ステップＳ４０６で検索を行う際に比較される情報は、上述したパケット処理手段１３０の説明において既に述べたため、ここではその説明を省略する。ステップＳ４０７での確認の結果、対応するエントリが発見された場合（即ち、'Ｙ'の場合）には、ステップＳ４０８へと進む。一方で、発見されなかった場合（即ち、'Ｎ'の場合）には、ステップＳ４１０へと進む。
【０１４２】
次に、パケット処理手段１３０は、ステップＳ４０７で対応するエントリを発見した場合には、受信したパケットについて、デカプセル化を行う（ステップＳ４０８）。具体的には、パケット処理手段１３０は、受信したパケットの外側ＩＰヘッダを除去する。
【０１４３】
次に、パケット処理手段１３０は、デカプセル化後のパケットの宛先アドレスを、セッション管理テーブルの送信元アドレスに記録されたアドレスに書換える（ステップＳ４０９）。このアドレス書換え処理のために、受信したパケットのアドレスが、匿名アドレスから通信ノード３００のアドレスに書き戻されたことになる。ステップＳ４０９での処理が終了した後、ステップＳ４１０へと進む。
【０１４４】
最後に、パケット処理手段１３０は、通常のＩＰルーティングの機能を用いてパケットをルーティングして、宛先アドレスに応じて、適切なインタフェースからパケットを送出する（ステップＳ４１０）。例えば、ステップＳ４０５でカプセル化されたパケットは、アンカーアドレス２００宛であり、インタフェース１１０Ｂからネットワーク６００へと送出される。また、例えば、ステップＳ４０９でデカプセル化された後に、宛先アドレスが通信ノード３００のアドレスに書換えられたパケットは、インタフェース１１０Ａからネットワーク５００へと送出される。
【０１４５】
次に、図１３及び図１４を参照して、アンカーサーバ２００の動作について詳細に説明する。図１３は、プレフィクス割当要求信号を受信した場合の、アンカーサーバ２００のプレフィクス割当手段２２０が行うプレフィクス割当処理の動作を示すフローチャートである。
【０１４６】
図１３において、まず、アンカーサーバ２００は、プレフィクス割当要求信号を受信する（ステップＳ５０１）。そして、アンカーサーバ２００のプレフィクス割当手段２２０は、プレフィクス記録装置２４０に記録された貸出しプレフィクステーブルから、適切なプレフィクスを選択する（ステップＳ５０２）。尚、プレフィクス割当手段２２０が行うプレフィクスの選択方法については、上述したプレフィクス割当手段２２０の説明において既に述べたため、ここではその説明を省略する。
【０１４７】
次に、プレフィクス割当手段２２０は、プレフィクス割当応答信号を構成する（ステップＳ５０３では）。プレフィクス割当応答信号には、割当てられたプレフィクスセット番号と、プレフィクスと、ＩＩＤ  Ｋｅｙと、プレフィクスの失効時刻と、アンカーサーバ２００のアドレスと、が格納される。
【０１４８】
最後に、プレフィクス割当手段２２０は、ステップＳ５０３で構成したプレフィクス割当応答信号を、プレフィクス割当要求信号の送信元である匿名化装置１００に送信する（ステップ５０４）。
【０１４９】
図１４は、データパケットを受信した場合の、アンカーサーバ２００の転送手段２３０が行うパケット転送処理の動作を示すフローチャートである。
【０１５０】
図１４において、まず、アンカーサーバ２００の転送手段２３０は、受信したパケットがカプセル化されているか否かを判定する（ステップＳ６０１）。ここで、受信パケットがカプセル化されていると判定された場合（即ち、'Ｙ'の場合）には、ステップ６０２へと進む。一方で、受信パケットがカプセル化されていないと判定された場合（即ち、'Ｎ'の場合）には、ステップＳ６０９へと進む。
【０１５１】
次に、転送手段２３０は、ステップＳ６０１で受信パケットがカプセル化されていると判定した場合には、受信したパケット（カプセル化されたパケット）の外側ＩＰヘッダの宛先アドレスが、アンカーサーバ２００自身のアドレスであり、かつ、内側ＩＰヘッダの送信元アドレスのプレフィクス部が、アンカーサーバ２００が割当て用に保持しているプレフィクスに含まれているか否かを評価する（ステップＳ６０２）。評価の結果、受信したパケットの外側ＩＰヘッダの宛先アドレスと内側ＩＰヘッダの送信元アドレスについての条件を満たす場合（即ち、'Ｙ'の場合）には、ステップＳ６０３へと進む。一方で、条件を満たさない場合（即ち、'Ｎ'の場合）には、ステップＳ６０８へと進む。
【０１５２】
次に、転送手段２３０は、ステップＳ６０２において上述した条件を満たす場合には、受信パケットの内側ＩＰヘッダの送信元アドレスを匿名アドレスとして、転送情報記録装置２５０に記録された転送テーブルを検索し（ステップＳ６０３）、対応するエントリが存在するか否かを確認する（ステップＳ６０４）。ステップＳ６０４での確認の結果、対応するエントリを発見した場合（即ち、'Ｙ'の場合）には、ステップＳ６０５へと進む。一方で、発見しなかった場合（即ち、'Ｎ'の場合）には、ステップＳ６０６へと進む。
【０１５３】
次に、転送手段２３０は、ステップＳ６０４で対応するエントリを発見した場合には、検索された転送テーブルのエントリの失効時刻を更新する（ステップＳ６０５）。一方で、転送手段２３０は、ステップＳ６０４で対応するエントリを発見しなかった場合（即ち、'Ｎ'の場合）には、転送テーブルに新たなエントリを追加する（ステップＳ６０６）。エントリを追加する際には、上述したように、受信パケットの内側ＩＰヘッダの送信元アドレスを匿名アドレスとし、外側ＩＰヘッダの送信元アドレスを匿名化装置１００の項目とし、現在時刻に所定の時間を加えた値を失効時刻として設定する。
【０１５４】
次に、転送手段２３０は、受信したパケットについて、デカプセル化処理を行う（ステップＳ６０７）。最後に、転送手段２３０は、通常のＩＰルーティングを用いて、デカプセル化したパケットの転送処理を実施する（ステップＳ６０８）。
【０１５５】
一方で、転送手段２３０は、ステップＳ６０１で受信パケットがカプセル化されていないと判定した場合には、受信パケットの宛先アドレスを匿名アドレスとして、転送情報記録装置２５０に記録された転送テーブルを検索し（ステップＳ６０９）、対応するエントリが存在するか否かを確認する（ステップＳ６１０）。ステップＳ６１０での確認の結果、対応するエントリが発見された場合（即ち、'Ｙ'の場合）には、ステップＳ６１１へと進む。一方で、発見されなかった場合（即ち、'Ｎ'の場合）には、ステップＳ６０８へと進む。
【０１５６】
次に、転送手段２３０は、ステップＳ６１０で対応するエントリを発見した場合には、上述したステップＳ６０５での処理と同様にして、検索された転送テーブルのエントリの失効時刻を更新する（ステップＳ６１１）。
【０１５７】
次に、転送手段２３０は、受信したパケットについて、検索されたエントリの情報を使用してカプセル化を行う（ステップＳ６１２）。ステップＳ６１２での処理が終了した後、上述したステップＳ６０８へと進む。
【０１５８】
次に、図１５乃至図１８を参照して、通信ノード３００がサーバ４００との通信を開始してから、サーバ４００との通信が完了するまでの間の一連の処理を説明する。図１５は、通信ノード３００がサーバ４００との通信を開始してから完了するまでの、匿名化装置１１０とアンカーサーバ２００の各機能が行う処理を説明するためのシーケンス図である。尚、図１５では、通信ノード３００がサーバ４００にＷＥＢアクセスを実施する場合を例に説明する。また、匿名化装置１００のアドレスをＣＰＥ＿ＡＤＲ１とし、アンカーサーバ２００のアドレスをＡｎｃｈ＿ＡＤＲ１とし、通信ノード３００のアドレスをＣｌ＿ＡＤＲ１とし、サーバ４００のアドレスをＳｖ＿ＡＤＲ１として説明する。
【０１５９】
図１５のステップＳ７０１において、まず、通信ノード３００は、サーバ４００のＦＱＤＮ（Fully Qualified Domain Name）から、サーバ４００のＩＰアドレスを解決する。尚、サーバ４００のＦＱＤＮは、ＤＮＳ（Domain Name Server）などを用いて事前に取得するが、サーバ４００のＩＰアドレス自体が既知の場合には、ＤＮＳは不要である。
【０１６０】
次に、図１５のステップＳ７０２において、通信ノード３００は、サーバ４００との間でＴＣＰセッションを開始するために、ＳＹＮパケットをサーバ４００に送信する。送信パケットは、まず、通信ノード３００にとってネットワーク６００へのゲートウェイである、匿名化装置１００に送られる。ここで、パケットを送信する際には、ＳＹＮパケットの宛先アドレスをＳｖ＿ＡＤＲ１とし、送信元アドレスをＣｌ＿ＡＤＲ１とし、宛先ポート番号を８０とし、送信元ポート番号を２００００とする。
【０１６１】
次に、図１５のステップＳ７０３において、匿名化装置１００は、ＳＹＮパケットを受信した場合に、図９に示した上述の一連の処理を実行する。ここで、匿名化装置１００は、図９のステップＳ１０２における匿名化の要否判定では、匿名化ポリシテーブル（図３）の検索の結果、発見したＮｏ１のエントリの匿名化の要否の項目が'Ｙｅｓ'であるものとし、匿名化処理が必要であるものとする。そして、匿名化装置１００は、図９のステップＳ１０３におけるセッションの開始判定では、受信したパケットがＳＹＮパケットであるため、セッション管理テーブル（図４）に、該当するセッションのエントリが存在するか否かを検索する。匿名化装置１００は、検索の結果、該当するエントリが存在しないために、セッションの開始であるものと判定する。このため、図９のステップＳ１０４へと進む。
【０１６２】
そして、匿名化装置１００は、図９のステップＳ１０４では、図１０に示したアルゴリズムに従って、プレフィクス情報テーブルから割当てるプレフィクスを選択する。図５に示したプレフィクス情報テーブルの例では、Ｐｒｅｆ＿Ａ３と、Ｐｒｅｆ＿Ｂ９とがプレフィクスの割当て候補となるが、ここでは、割当終了時刻が条件に合わなかったものと想定する。換言すると、図１０のステップＳ２０５において条件を満足するプレフィクスが存在しない場合となり、図１０のステップＳ２０２におけるプレフィクス割当要求処理を実施する。上述したように、図１０のステップＳ２０２のプレフィクス割当要求処理の詳細は、図１１に示したフローチャートを用いて示される。
【０１６３】
図１１のステップＳ３０１において、匿名化装置１００は、まず、プレフィクス割当要求信号を構成する。ここでは、プレフィクス割当要求信号には、要求プレフィクスセット数を１とし、既に保持しているプレフィクスセット情報を１とし、匿名化装置１００のアドレスをＣＰＥ＿ＡＤＲ１として、それぞれの値が設定されるものと想定する。そして、匿名化装置１００は、図１１のステップＳ３０２においてプレフィクス割当要求信号をアンカーサーバ２００に送信し、ステップＳ３０３においてプレフィクス割当応答信号の受信を待つ。
【０１６４】
次に、図１５のステップＳ７０４において、アンカーサーバ２００にプレフィクス割当要求信号が到達する。そして、ステップＳ７０５において、アンカーサーバ２００は、図１３に示したように、プレフィクス割当要求信号を受信した際の処理を実行する。ここでは、図１３に示した処理の結果、貸出しプレフィクステーブル（図７）のプレフィクスセット番号２のプレフィクスセットが割当てられたものとする。プレフィクス割当処理の結果、アンカーサーバ２００は、割当てたプレフィクスセット番号と、プレフィクスと、ＩＩＤ  Ｋｅｙと、失効時刻と、アンカーサーバ２００のアドレスと、を格納したプレフィクス割当応答信号を、匿名化装置１００に送信する。
【０１６５】
次に、図１５のステップＳ７０６において、匿名化装置１００にプレフィクス割当応答信号が到達する。そして、ステップＳ７０７において、匿名化装置１００は、図１１のステップＳ３０３におけるプレフィクス割当応答信号の受信待ち処理を抜け、ステップＳ３０４において、受信したプレフィクス割当応答信号に含まれるプレフィクス情報を用いて、プレフィクス情報テーブルを更新する。更新処理の結果、図１６に示すように、プレフィクス情報テーブルに、プレフィクスセット番号２のエントリが追加される。
【０１６６】
次に、図１０のステップＳ２０４において、匿名化装置１００は、未使用プレフィクスの選択処理を行う。ここでは、Ｐｒｅｆ＿Ａ４を選択するものとする。
【０１６７】
次に、図９のステップＳ１０５において、匿名化装置１００は、上述した式１と式２を用いて求めたＩＩＤ部とプレフィクスＰｒｅｆ＿Ａ４とを用いて、匿名アドレスを生成する。ここでは、生成した匿名アドレスをＡｎ＿ＡＤＲ４とする。そして、匿名化装置１００は、匿名アドレスを決定した後に、図９のステップＳ１０６において、セッション管理テーブルに新規のエントリを追加する。ここでは、図１７に示すように、セッション管理テーブルにＮｏ．４のエントリが追加される。
【０１６８】
次に、図９のステップＳ１１０において、匿名化装置１００は、セッション管理テーブルのＮｏ．４のエントリに基づいて、ＳＹＮパケットの送信元アドレスを、Ｃｌ＿ＡＤＲ１からＡｎ＿ＡＤＲ４に書き換えた後に、パケットをカプセル化して転送する。
【０１６９】
次に、図１５のステップＳ７０８において、アンカーサーバ２００は、カプセル化されたＳＹＮパケットを匿名化装置１００から受信した場合に、図１４に示したフローチャートに従って、処理を実施する。ここで、アンカーサーバ２００は、カプセル化されたＳＹＮパケットを受信した時点では、匿名アドレス（Ａｎ＿ＡＤＲ４）のエントリが転送テーブルに存在しないために、新たなエントリを追加する。図１８に、エントリが追加された転送テーブルを示す。ここでは、転送テーブルに追加されたエントリはＮｏ．４のエントリであるものとする。そして、アンカーサーバ２００は、受信したパケットをデカプセル化した後に、サーバ４００に転送する。
【０１７０】
次に、図１５のステップＳ７０９において、サーバ４００は、ＳＹＮパケットをアンカーサーバ２００から受信した場合に、ＳＹＮ＋ＡＣＫパケットを匿名アドレス（Ａｎ＿ＡＤＲ１）に応答する。Ａｎ＿ＡＤＲ１は、アンカーサーバ２００に到達性のあるプレフィクス（Ｐｒｅｆ＿Ａ４）を有するため、ＳＹＮ＋ＡＣＫパケットは、アンカーサーバ２００にルーティングされる。
【０１７１】
次に、アンカーサーバ２００は、ＳＹＮ＋ＡＣＫパケットをサーバ４００から受信した場合に、図１４に示したフローチャートに従って、処理を実施する。ここでは、アンカーサーバ２００は、転送テーブル（図１８）にＮｏ．４のエントリが存在するため、受信したパケットをカプセル化した後に、匿名化装置１００のアドレス（ＣＰＥ＿ＡＤＲ１）に転送する。
【０１７２】
次に、匿名化装置１００は、カプセル化されたＳＹＮ＋ＡＣＫパケットを受信する。匿名化装置１００のパケット処理手段１３０は、図１２に示したフローチャートに従って、処理を実施する。パケット処理手段１３０は、セッション管理テーブル（図１７）にＮｏ．４のエントリが存在するため、受信したパケットをデカプセル化し、宛先アドレスを匿名アドレス（Ａｎ＿ＡＤＲ１）から、通信ノード３００のアドレス（Ｃｌ＿ＡＤＲ１）に書き換える。そして、パケット処理手段１３０は、アドレスを書き換えたパケットを、通信ノード３００に転送する。
【０１７３】
最後に、図１５のステップＳ７１０において、通信ノード３００とサーバ４００との間で、ＡＣＫパケットやデータパケットがやり取りされる。上述したＳＹＮパケットやＳＹＮ＋ＡＣＫパケットと同様に、通信ノード３００からサーバ４００に送られるパケットは、匿名化装置１００が匿名アドレスへの変換及びカプセル化を行い、さらに、アンカーサーバ２００がデカプセル化を行った後に、サーバ４００に到達する。また、サーバ４００から通信ノード３００に送られるパケットは、アンカーサーバ２００がカプセル化を行い、さらに、匿名化装置１００が、デカプセル化と、匿名アドレスを通信ノード３００のアドレスへと書き戻す処理と、を行う。
【０１７４】
以上説明したように、本実施の形態１に係る通信システム１は、匿名化装置１００において、セッション管理手段１２２がセッションを識別し、匿名アドレス選択手段１２３と匿名アドレス１２４がセッション単位で異なる匿名アドレスを生成し、さらに、パケット処理手段１３０が通信ノード３００の送信パケットの送信元アドレスを匿名アドレスに書き換えた上で、匿名アドレスを用いて到達性のあるアンカーサーバ２００にトンネリングする構成とした。
【０１７５】
これにより、セッション単位で個別の匿名アドレスを設定することができ、さらに、匿名アドレスについてプレフィクス部も含めた匿名性を確保することができる。また、匿名アドレスは匿名化装置１００のインタフェースに割当てる必要が無いため、Ｎｅｉｂｈｂｏｒ  Ｃａｃｈｅの負荷の問題も発生せず、ＤＡＤを用いた処理の遅延の問題も発生しない。また、上述した特許文献１におけるイングレスフィルタの問題や、ＴＣＰに適用できないという問題も発生しない。また、一般的なＩＰノードである移動ノード３００に対しても、匿名アドレスを用いた通信環境を提供することができる。
【０１７６】
また、本実施の形態１に係る通信システム１では、匿名アドレス選択手段１２３がプレフィクスを選択する際に、その選択以前にプレフィクスを選択した時刻を考慮する構成としたことで、近い時間内に同じプレフィクスを有する匿名アドレスの使用を回避することができ、高い匿名性を実現できる。
【０１７７】
また、本実施の形態１に係る通信システム１は、匿名アドレスを構成する際に候補となるプレフィクスが無かった場合には、匿名アドレス選択手段１２３がプレフィクス割当要求信号を送信することで、アンカーサーバ２００にプレフィクスの割当を要求する。ここで、プレフィクスの割当を要求する際には、匿名化装置１００が既に保持しているプレフィクス情報を渡す構成としたことで、アンカーサーバ２００は匿名化装置１００に割当てたプレフィクス情報を保持しておく必要がなく、匿名化装置１００が未だに保持していないプレフィクスを割当てることができる。
【０１７８】
さらに、プレフィクスの割当を要求する際には、匿名化装置１００が既に保持しているプレフィクスを、プレフィクスセット番号を用いて通知する構成としたことで、プレフィクス割当要求信号のサイズを小さくすることができる。また、匿名化装置１００が未だ保持していないプレフィクスについて、アンカーサーバ２００が行う検索処理の処理量を小さくすることができる。この特徴は、例えば、膨大な数の匿名化装置１００に対して匿名化サービスを提供する場合に、非常に有効な特徴となる。
【０１７９】
また、本実施の形態１に係る通信システム１では、匿名アドレス生成手段１２４が、匿名アドレスやポート番号といったサーバ４００の管理者が取得し得る情報と、アンカーサーバ２００を管理するオペレータのみが保持する情報と、を使用して、匿名アドレスを使用した匿名化装置１００を特定可能とするように、匿名アドレスを算出する。これにより、アンカーサーバ２００を管理するオペレータは、セッション毎に変化する匿名アドレスと匿名化装置１００との対応関係を逐次記録する必要がなく、追跡性を確保することができる。
【０１８０】
実施の形態２．
次に、図１９乃至２６を参照して、本発明の実施の形態２について説明する。
（構成の説明）
まず、図１９乃至図２３を参照して、本実施の形態２に係る通信システム１の構成について説明する。本実施の形態２に係る通信システム１の全体構成は、図１に示した実施の形態１に係る通信システム１と略同様の構成である。本実施の形態２に係る通信システム１では、図２で示した匿名化装置１００が図１９に示す匿名化装置１０１となり、図６で示したアンカーサーバ２００が図２０に示すアンカーサーバ２０１となる点で異なる。また、本実施の形態２に係る通信システム１では、匿名化装置１０１ではなく、アンカーサーバ２０１が匿名化アドレスへの書き換えを行うように構成されている点で異なる。
【０１８１】
図１９は、匿名化装置１０１を示す構成図である。図に示すように、匿名化装置１０１は、インタフェース１１０Ａと、インタフェース１１０Ｂと、匿名化制御手段１２０＿２と、パケット処理手段１３０＿２と、情報記録装置１４０と、を備えている。匿名化制御手段１２０＿２は、匿名性確保要否判定手段１２１と、セッション管理手段１２２＿２と、アンカー選択手段１２５と、を備えている。尚、図２に示した匿名化装置１００の各要素と同一の機能を有する要素は、図１９において同一の名称及び符号を用いて示すものとし、以下では、その詳細な説明を省略する。
【０１８２】
セッション管理手段１２２＿２は、実施の形態１に係るセッション管理手段１２２と同様に、通信の特定の一連の単位であるセッションの開始及び終了を判定する機能と、情報記録装置１４０に記録されたセッション管理テーブルを管理する機能と、を備えている。尚、図２１に示すように、セッション管理手段１２２＿２が管理するセッション管理テーブルは、匿名アドレスを含まない点において、実施の形態１に係るセッション管理テーブルと異なる。
【０１８３】
また、セッション管理手段１２２＿２は、匿名アドレスの割当て要求に代えて、匿名化処理を依頼するアンカーサーバ２０１の割当要求を、アンカー選択手段１２５に出力する。セッション管理手段１２２＿２は、アンカーサーバ２０１の割当要求の結果、アンカーサーバ２０１のアドレスを取得した場合には、取得したアンカーサーバ２０１のアドレスを、セッション管理テーブル（図２１）のアンカーサーバアドレスの項目に設定する。
【０１８４】
アンカー選択手段１２５は、セッション管理手段１２２＿２からのアンカーサーバ割当要求に応じて、匿名化処理を依頼するアンカーサーバ２０１を選択し、選択したアンカーサーバ２０１のアドレスをセッション管理手段１２２＿２に応答する機能を備えている。アンカー選択手段１２５は、匿名化装置１０１に事前に設定されたアンカーサーバ２０１のアドレスから、アンカーサーバ２０１のアドレスをランダムに選択する。
【０１８５】
尚、アンカー選択手段１２５が、通信ノード３００から送信されたパケットの宛先アドレスを取得できるようにし、かつ、割当てたアンカーサーバ２０１と、送信されたパケットの宛先アドレスと、受信時刻と、を関連付けて記録しておくようにした上で、宛先アドレスが同じセッションに対しては、所定の時間内に割当てたアンカーサーバ２０１と同じアドレスを選択しない、或いは、選択確率に重み付けをすることで同じアドレスを選択しにくくするものとしても良い。勿論、他の選択方法を用いて選択するものとしても良い。
【０１８６】
パケット処理手段１３０＿２は、実施の形態１に係るパケット処理手段１３０と同様に、情報記録装置１４０に記録されたセッション管理テーブルを参照して、パケットのカプセル化及びデカプセル化を実施する。尚、パケット処理手段１３０＿２は、通信ノード３００のアドレスから匿名アドレスへの書換えと、匿名アドレスから通信ノード３００のアドレスへの書換えと、を行わない点において、実施の形態１に係るパケット処理手段１３０と異なる。
【０１８７】
情報記録装置１４０は、図３に示したポリシテーブルと、図２１に示したセッション管理テーブルと、を記録する記録装置である。
【０１８８】
図２０は、アンカーサーバ２０１を示す構成図である。図に示すように、アンカーサーバ２０１は、インタフェース２１０と、匿名化装置判定手段２６０と、匿名化制御手段２７０と、パケット処理手段２８０と、情報記録装置２９０と、を備えている。尚、図６に示したアンカーサーバ２００の各要素と同一の機能を有する要素は、図２０において同一の名称及び符号を用いて示すものとし、以下では、その詳細な説明を省略する。
【０１８９】
匿名化装置判定手段２６０は、インタフェース２１０が受信したパケットがカプセル化されたパケットである場合には、外側ＩＰヘッダの宛先アドレスがアンカーサーバ２０１のアドレスであり、かつ、外側ＩＰヘッダの送信元アドレスがアンカーサーバ２０１の使用を許可した匿名化装置１０１であるか否かを確認する。匿名化装置判定手段２６０は、確認の結果、条件に適合したパケットを匿名化制御手段２７０に出力する。匿名化装置判定手段２６０は、条件に適合しなかったパケットは、破棄する。尚、パケットを破棄せずに、一般的なルーティング処理を単に実施するものとしても良い。
【０１９０】
ここで、匿名化装置判定手段２６０が、匿名化装置１０１がアンカーサーバ２０１の使用を許可されているか否かの判定を行うに際しては、許可する匿名化装置１０１のアドレスのリストを事前に保持しておき、保持したリストを判定時に参照すれば良い。また、例えば、トンネル化されたパケットに、アンカーサーバ２０１の使用を許可されている旨の証明情報を付与する方法を適用するなど、他の方法を適用しても良い。
【０１９１】
匿名化制御手段２７０は、匿名化装置判定手段２６０からパケットが入力された場合に、入力されたパケットの情報や、情報記録装置２９０に記録されたプレフィクス情報テーブルの情報（図２２）などを使用して、匿名アドレスを生成する。また、匿名化制御手段２７０は、通信ノード３００のアドレスを匿名アドレスへと書き換えるための準備を行う。さらに、匿名化制御手段２７０は、入力されたパケットを、パケット処理手段２８０に出力する。
【０１９２】
図２０に示すように、匿名化制御手段２７０は、セッション管理手段２７１と、匿名アドレス選択手段２７２と、匿名アドレス生成手段２７３と、を備えている。匿名化制御手段２７０は、実施の形態１に係る匿名化制御手段１２０と類似する機能を備えている。
【０１９３】
セッション管理手段２７１は、実施の形態１に係るセッション管理手段１２２と同様に、匿名化装置判定手段２６０からパケットが入力された場合に、セッションの開始及び終了を判定する機能と、情報記録装置２９０に記録されたセッション管理テーブルを管理する機能と、を備えている。本実施の形態２では、セッションとしてＴＣＰセッションを想定しており、ＴＣＰセッションは宛先アドレスと、送信元アドレスと、宛先ポート番号と、送信元ポート番号と、に基づいて識別される。尚、ＴＣＰセッションに限定されず、他の単位をセッションとみなしても良い。
【０１９４】
セッション管理手段２７１が有する機能（即ち、セッションの開始及び終了を判定する機能と、セッションを管理する機能）は、実施の形態１に係るセッション管理手段１２２が有する機能と略同じであるが、カプセル化されたパケットの内側に格納されたＩＰパケットを使用して、セッションの開始及び終了を判定する点において異なる。
【０１９５】
また、セッション管理手段２７１が管理するセッション管理テーブルは、図２２に示したように、アンカーサーバ２０１のアドレスに代えて、匿名化装置１０１のアドレスを記録する点において異なる。
【０１９６】
セッション管理手段２７１は、新規セッション用のエントリの作成時には、カプセル化されたパケットの外側ＩＰヘッダの送信元アドレスを、匿名化装置１０１のアドレスの項目に設定することができる。或いは、匿名化装置判定手段２６０が、アンカーサーバ２０１の使用が認められた匿名化装置１０１であると判定した後に、匿名化装置１０１のアドレスをセッション管理手段２７１に別途出力する構成とすることで、セッション管理手段２７１は、入力された匿名化装置１０１のアドレスを、セッション管理テーブルの匿名化装置アドレスの項目に設定しても良い。
【０１９７】
さらに、セッション管理手段２７１は、エントリを追加する際には、匿名アドレス選択手段２７２に匿名アドレスを要求して、要求の結果得られた匿名アドレスを、セッション管理テーブルの匿名アドレスの項目に設定する。
【０１９８】
匿名アドレス選択手段２７２は、セッション管理手段２７１から匿名アドレスを要求された場合に、情報記録装置２９０に記録されたプレフィクス情報テーブル（図２３）から１つのプレフィクスをランダムで選択する。尚、プレフィクスの選択方法としては、プレフィクスと、プレフィクスを割当てた匿名化装置１０１と、割当時刻と、を対応づけて記録しておき、同じ匿名化装置１０１に対しては所定の時間内に同一のプレフィクスを選択しない、或いは、選択確率に重み付けをすることで同一のプレフィクスを選択しにくくするものとしても良い。
【０１９９】
匿名アドレス選択手段２７２は、プレフィクスを選択した後、選択したプレフィクスとプレフィクスに対応づけられたＩＩＤ  Ｋｅｙ情報とを匿名アドレス生成手段２７３に出力することで、匿名アドレスを取得する。そして、匿名アドレス選択手段２７２は、取得した匿名アドレスを、セッション管理手段２７１に応答する。
【０２００】
匿名アドレス生成手段２７３は、実施の形態１に係る匿名アドレス生成手段１２４と同様の動作をするため、ここではその詳細な説明を省略する。
【０２０１】
パケット処理手段２８０は、情報記録装置２９０に記録されたセッション管理テーブルを参照することで、パケット処理手段２８０に入力されたパケットに対して、デカプセル化を行った後に、送信元アドレスを匿名アドレスに書き換える処理を行う。また、パケット処理手段２８０は、セッション管理テーブルを参照することで、パケット処理手段２８０に入力されたパケットに対して、通信ノード３００のアドレスに匿名アドレスを書き換えた後に、カプセル化する処理を実施する。さらに、パケット処理手段２８０は、デカプセル化或いはカプセル化したパケットを、一般的なＩＰルーティングの処理を用いて、転送を行う。
【０２０２】
また、パケット処理手段２８０は、カプセル化されたパケットに対してセッション管理テーブルの検索を行う場合には、外側ＩＰヘッダの送信元アドレスと、内側ＩＰヘッダの宛先アドレスと、内側ＩＰヘッダの送信元アドレスと、宛先ポート番号と、送信元ポート番号と、を、セッション管理テーブルの匿名化装置アドレスと、宛先アドレスと、送信元アドレスと、宛先ポートと、送信元ポートと、それぞれ設定された値と比較する。比較の際には、パケット処理手段２８０は、外側ＩＰヘッダの宛先アドレスがアンカーサーバ２０１のアドレスと一致しているか否かについても確認する。
【０２０３】
一方で、パケット処理手段２８０は、カプセル化されていないパケットの受信時にセッション管理テーブルを検索する場合には、受信パケットの宛先アドレスと、セッション管理テーブルの匿名アドレスに設定されたアドレスと、を比較する。比較の結果、適合するエントリを発見した場合には、パケット処理手段２８０は、受信パケットの宛先アドレスを、セッション管理テーブルの送信元アドレスに設定されたアドレスに書き換える。そして、パケット処理手段２８０は、セッション管理テーブルの匿名化装置アドレスに設定されたアドレスを外側ＩＰヘッダの宛先アドレスとし、また、アンカーサーバ２０１のアドレスを外側ＩＰヘッダの送信元アドレスとして、カプセル化を行う。
【０２０４】
情報記録装置２９０は、図２２に示したセッション管理テーブルと、図２３に示したプレフィクス情報テーブルとを記録する記録装置である。
【０２０５】
上記した、匿名化制御手段１２０＿２と、パケット処理手段１３０＿２と、匿名化装置判定手段２６０と、匿名化制御手段２７０と、パケット処理手段２８０と、は、いずれもソフトウェアを用いてその機能を実現することができる。さらに、これら手段のいずれか一部或いは全てを、ハードウェアを用いて構成することも可能である。
【０２０６】
また、上述した情報記録装置２９０は、情報を記録可能な装置（半導体メモリやハードディスクドライブなど）を用いて構成することができる。
【０２０７】
尚、図１９乃至図２３に示した各手段や装置の構成は例示にすぎず、本発明の趣旨を逸脱しない範囲で他の構成を用いて実現するものとしても良い。
【０２０８】
実施の形態２に係る通信システム１の構成によれば、アンカーサーバ２０１が匿名アドレスへの書換え処理を実施することで、匿名化装置１０１が行う処理を簡略化することができる。
【０２０９】
また、匿名性を多少弱める方向としても構わないのであれば、匿名化装置１０１とアンカーサーバ２０１との間に、静的なトンネルを張る構成としても良い。かかる構成によれば、匿名化装置１０１の匿名化制御手段１２０＿２が不要となり、匿名化装置１０１が行う処理をより簡略化することができる。尚、情報記録装置１４０のセッション管理テーブルに、事前に１つのエントリを例えば手動で作成することで、静的なトンネルを張ることができる。
【０２１０】
（動作の説明）
次に、図２４乃至図２６を参照して、本実施の形態２に係る通信システム１の動作について説明する。図２４は、通信ノード３００からパケットを受信した場合の、匿名化装置１０１の動作を示すフローチャートである。図２５及び図２６は、アンカーサーバ２０１の動作を示すフローチャートである。
【０２１１】
図２４において、まず始めに、匿名化装置１０１の匿名化制御手段１２０＿２は、通信ノード３００が送信したパケットを、インタフェース１１０Ａを介して受信する（ステップＳ８０１）。そして、匿名性確保要否判定手段１２１は、受信パケットに対して匿名性を確保する必要があるか否かを判定する（ステップＳ８０２）。ここで、匿名性が必要と判定された場合（即ち、'Ｙ'の場合）には、ステップＳ８０３へと進む。一方で、匿名性が必要ないと判定された場合（即ち、'Ｎ'の場合）には、ステップＳ８０９へと進む。
【０２１２】
次に、セッション管理手段１２２＿２は、ステップＳ８０２で匿名性が必要と判定した場合には、受信パケットの内容をチェックし、セッションの開始であるか否かを判定する（ステップＳ８０３）。尚、セッションの開始判定方法については上述した内容と同一であるため、ここではその説明を省略する。ここで、セッションの開始であると判定された場合（即ち、'Ｙ'の場合）には、ステップＳ８０４へと進む。セッションの開始でないと判定された場合（即ち、'Ｎ'の場合）には、ステップＳ８０６へと進む。
【０２１３】
次に、アンカー選択手段１２５は、ステップＳ８０３でセッションの開始であると判定した場合には、匿名アドレスへのアドレス書換えを依頼するアンカーサーバ２０１を選択する（ステップＳ８０４）。
【０２１４】
次に、セッション管理手段１２２＿２は、アンカー選択手段１２５が選択したアンカーサーバ２００のアドレスと、ステップＳ８０１における受信パケットから取得したセッションを識別するための情報と、を用いて、セッション管理テーブルに新規のエントリを作成する（ステップＳ８０５）。ステップＳ８０５での処理が終了した後、ステップＳ８０９へと進む。
【０２１５】
また、セッション管理手段１２２＿２は、ステップＳ８０３でセッションの開始でないと判定された場合には、セッションの終了判定を行う（ステップＳ８０６）。尚、セッションの終了判定方法については上述した内容と同一であるため、ここではその説明を省略する。ここで、セッションの終了であると判定された場合（即ち、'Ｙ'の場合）には、ステップＳ８０７へと進む。セッションの終了でないと判定された場合（即ち、'Ｎ'の場合）には、ステップＳ８０８へと進む。
【０２１６】
次に、セッション管理手段１２２＿２は、ステップＳ８０６でセッションの終了であると判定した場合には、セッション終了時の処理を行う（ステップＳ８０７）。具体的には、セッション管理手段１２２＿２は、セッション管理テーブルから対応するエントリを削除する。ステップＳ８０７での処理が終了した後、ステップＳ８０９へと進む。
【０２１７】
また、セッション管理手段１２２＿２は、ステップＳ８０６でセッションの終了でないと判定した場合には、セッション管理テーブルの失効時刻を更新する（ステップＳ８０８）。ステップＳ８０８での処理が終了した後、ステップＳ８０９へと進む。
【０２１８】
最後に、パケット処理手段１３０＿２は、セッション管理テーブルの情報を参照して、セッション管理テーブルの対応するエントリに設定されたアンカーサーバ２０１のアドレスへとトンネリングするための、カプセル化処理を行う（ステップＳ８０９）。
【０２１９】
次に、図２５及び図２６を参照して、アンカーサーバ２０１の動作について詳細に説明する。図２５は、匿名化装置１０１から送信された（カプセル化された）パケットを受信した場合の、アンカーサーバ２０１の動作を示すフローチャートである。
【０２２０】
図２５において、まず始めに、アンカーサーバ２０１の匿名化装置判定手段２６０は、匿名化装置１０１が送信したパケットを、インタフェース２１０を介して受信する（ステップＳ９０１）。そして、匿名化装置判定手段２６０は、受信したパケットが、アンカーサーバ２０１の使用が許可された匿名化装置１０１から送信されたパケットであるか否かを判定する（ステップＳ９０２）。尚、受信パケットの判定方法については上述した内容と同一であるため、ここではその説明を省略する。ここで、受信パケットが、許可された匿名化装置１０１から受信したパケットであると判定された場合（即ち、'Ｙ'の場合）には、ステップＳ９０３へと進む。一方で、受信パケットが、許可された匿名化装置１０１から受信したパケットでないと判定された場合（即ち、'Ｎ'の場合）には、ステップＳ９１０へと進む。
【０２２１】
次に、セッション管理手段２７１は、ステップＳ９０２で許可された匿名化装置１０１から受信したパケットであると判定した場合には、受信パケットの内容をチェックし、セッションの開始であるか否かを判定する（ステップＳ９０３）。ここで、セッションの開始であると判定された場合（即ち、'Ｙ'の場合）には、ステップＳ９０４へと進む。セッションの開始でないと判定された場合（即ち、'Ｎ'の場合）には、ステップＳ９０７へと進む。
【０２２２】
次に、匿名アドレス選択手段２７２は、ステップＳ９０４でセッションの開始であると判定された場合には、情報記録装置２９０に記録されたプレフィクス情報テーブル（図２３）の情報から、匿名アドレスを生成する際に使用するプレフィクスを選択する（ステップＳ９０４）。
【０２２３】
次に、匿名アドレス生成手段２７３は、選択したプレフィクスと、プレフィクスに関連づけられたＩＩＤ  Ｋｅｙと、を使用して、匿名アドレスを生成する（ステップＳ９０５）。尚、匿名アドレスの生成方法については上述した内容と同一であるため、ここではその説明を省略する。
【０２２４】
次に、セッション管理手段２７１は、匿名アドレスと、ステップＳ９０１における受信パケットから取得したセッションを識別するための情報と、パケットを送信してきた匿名化装置１０１のアドレスと、を用いて、セッション管理テーブルに新規なエントリを作成する（ステップＳ９０６）。ステップＳ９０６での処理が終了した後、ステップＳ９１０へと進む。
【０２２５】
また、セッション管理手段２７１は、ステップＳ９０３でセッションの開始でないと判定した場合には、セッションの終了判定を行う（ステップＳ９０７）。ここで、セッションの終了であると判定された場合（即ち、'Ｙ'の場合）には、ステップＳ９０８へと進む。一方で、セッションの終了でないと判定された場合（即ち、'Ｎ'の場合）には、ステップＳ９０９へと進む。
【０２２６】
次に、セッション管理手段２７１は、ステップＳ９０３でセッションの終了であると判定した場合には、セッション終了時の処理を行う（ステップＳ９０８）。具体的には、セッション管理手段２７１は、セッション管理テーブルから対応するエントリを削除する。ステップＳ９０８での処理が終了した後、ステップＳ９１０へと進む。
【０２２７】
また、セッション管理手段２７１は、ステップＳ９０７でセッションの終了でないと判定した場合には、セッション管理テーブルの失効時刻を更新する（ステップＳ９０９）。ステップＳ９０９での処理が終了した後、ステップＳ９１０へと進む。
【０２２８】
最後に、パケット処理手段２８０は、匿名化装置１０１から送信された（カプセル化された）パケットについて、デカプセル化処理を行い、さらに、送信元アドレスを匿名アドレスに書き換えた後に、宛先アドレスへと転送する（ステップＳ９１０）。尚、パケット処理手段２８０が行うステップＳ９１０での処理の詳細については、図２６を参照して後述する。
【０２２９】
次に、図２６を参照して、図２５のステップＳ９１０における処理の詳細について説明する。図２６は、アンカーサーバ２０１のパケット処理手段２８０が行う処理の動作を示すフローチャートである。尚、パケット処理は、匿名化装置１０１から送信された（カプセル化された）パケットであって、匿名化制御手段２７０が処理した後のパケットや、インタフェース２１０が受信した匿名化アドレス宛のパケットに対して行われる処理を示す。匿名化装置１０１から送信された（カプセル化された）パケットであって、匿名化制御手段２７０が処理した後のパケットに対して行われる処理が、図２５のステップＳ９１０で行われるパケット処理に相当する。
【０２３０】
図２６において、まず、アンカーサーバ２０１のパケット処理手段２８０は、受信したパケットがカプセル化されているか否かを判定する（ステップＳ１００１）。ここで、受信パケットがカプセル化されていると判定された場合（即ち、'Ｙ'の場合）には、ステップＳ１００２へと進む。一方で、受信パケットがカプセル化されていないと判定された場合（即ち、'Ｎ'の場合）には、ステップＳ１００６へと進む。
【０２３１】
次に、パケット処理手段２８０は、ステップＳ１００１で受信パケットがカプセル化されていないと判定した場合には、受信したパケットに設定された情報を使用して、情報記録装置２９０に記録されたセッション管理テーブルを検索し（ステップＳ１００２）、対応するエントリが存在するか否かを確認する（ステップＳ１００３）。尚、ステップＳ１００２で検索を行う際に比較される情報は、上述したパケット処理手段２８０の説明において既に述べたため、ここではその説明を省略する。ステップＳ１００３での確認の結果、対応するエントリが発見された場合（即ち、'Ｙ'の場合）には、ステップＳ１００４へと進む。一方で、発見されなかった場合（即ち、'Ｎ'の場合）には、ステップＳ１０１０へと進む。
【０２３２】
次に、パケット処理手段２８０は、ステップＳ１００３で対応するエントリを発見した場合には、受信したパケットの宛先アドレスを、匿名アドレスから、発見したエントリの送信元アドレスに書き換える（ステップＳ１００４）。
【０２３３】
次に、パケット処理手段２８０は、ステップＳ１００４で宛先アドレスを書き換えたパケットについて、匿名化装置１０１に転送するためのカプセル化処理を行う（ステップＳ１００５）。ステップＳ１００５での処理が終了した後、ステップＳ１０１０へと進む。
【０２３４】
一方で、パケット処理手段２８０は、ステップＳ１００１で受信パケットがカプセル化されていると判定した場合には、受信したパケット（カプセル化されたパケット）に設定された情報を使用して、情報記録装置２９０に記録されたセッション管理テーブルを検索し（ステップＳ１００６）、対応するエントリが存在するか否かを確認する（ステップＳ１００７）。尚、ステップＳ１００６で検索を行う際に比較される情報は、上述したパケット処理手段２８０の説明において既に述べたため、ここではその説明を省略する。ステップＳ１００７での確認の結果、対応するエントリが発見された場合（即ち、'Ｙ'の場合）には、ステップＳ１００８へと進む。一方で、発見されなかった場合（即ち、'Ｎ'の場合）には、ステップＳ１０１０へと進む。
【０２３５】
次に、パケット処理手段２８０は、ステップＳ１００７で対応するエントリが発見された場合には、受信したパケットについて、デカプセル化を行う（ステップＳ１００８）。具体的には、パケット処理手段２８０は、受信したパケットの外側ＩＰヘッダを除去する。
【０２３６】
次に、パケット処理手段２８０は、デカプセル化後のパケットの送信元アドレスを、セッション管理テーブルの匿名アドレスに記録されたアドレスに書換える（ステップＳ１００９）。ステップＳ１００９での処理が終了した後、ステップＳ１０１０へと進む。
【０２３７】
最後に、パケット処理手段２８０は、通常のＩＰルーティングの機能を用いてパケットをルーティングして、インタフェース２１０からネットワーク６００へと送出する（ステップＳ１０１０）。
【０２３８】
以下、本発明に係る通信システムに基づく効果を説明する。
第１の効果は、一般的なＩＰノードである通信ノードに対して、高い匿名性を確保した通信を提供できることである。その理由は、通信ノードが送信したパケットの送信元アドレス（即ち、通信ノードのアドレス）を匿名化装置が匿名アドレスに書き換え、さらに、匿名アドレスのプレフィクスを用いて到達性のあるアンカーサーバにトンネリングする構成としたことで、プレフィクス部も含めたアドレス全体を、匿名性が確保されたアドレスに書換える可能としたためである。また、セッション単位で、異なる匿名アドレスを使用できる構成としたためである。
【０２３９】
第２の効果は、匿名化装置との間で非公開の情報（即ち、ＩＩＤ＿Ｋｅｙ）を共有することで、匿名アドレスと通信ノードのアドレスとの対応関係を逐次記録する必要がなく、匿名アドレスを使用した匿名化装置を匿名アドレスから特定可能な追跡機能を提供できることである。その理由は、匿名アドレス生成手段において、非公開の情報を使用して、匿名化装置を特定できる情報に変換可能となるように、匿名アドレスの一部（ＩＩＤ部）を生成する構成としたためである。
【０２４０】
また、本発明に係る通信システムは、ＩＰｖ６を用いた通信システムに対して広く適用可能である。例えば、本発明に係るアンカーサーバをＩＳＰ（Internet Service Provider）に配備すると共に、本発明に係る匿名化装置の機能を、ＩＳＰの加入者であるユーザ宅に置かれるブロードバンドルータなどのＣＰＥ（Customer Premises Equipment）において実施することが可能である。これにより、ＩＳＰは、ユーザに対して、匿名性の確保された通信を提供することができる。
【０２４１】
さらに、本発明に係る通信システムによれば、ＩＳＰ以外のサーバが匿名アドレスを使用した不正アクセスを受けた場合には、ＩＳＰ以外のサーバの管理者により、不正アクセス時の匿名アドレスとポート番号とが記録されたログをＩＳＰに通知してもらうことで、ＩＳＰは、匿名アドレスを元に、不正アクセスを行ったユーザを特定することができるため、匿名性に起因する悪影響を抑制することができる。従って、匿名性の提供と、必要な場合には追跡性の確保とを両立させることができるため、ＩＳＰのサービスなどについて、本発明に係る通信システムの適用は非常に有効なものとなる。
【０２４２】
尚、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【０２４３】
この出願は、２００９年３月６日に出願された日本出願特願２００９−０５２９１９を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０２４４】
１００、１０１  匿名化装置、
２００、２０１  アンカーサーバ、
３００  通信ノード、
４００  サーバ、
５００  ローカルネットワーク、
６００  ネットワーク、
１１０Ａ、１１０Ｂ  インタフェース、
１２０、１２０＿２  匿名化制御手段、
１２１  匿名性確保要否判定手段、
１２２、１２２＿２  セッション管理手段、
１２３  匿名アドレス選択手段、
１２４  匿名アドレス生成手段、
１３０、１３０＿２  パケット処理手段、
１４０  情報記録装置、
２１０  インタフェース、
２２０  プレフィクス割当手段、
２３０  転送手段、
２４０  プレフィクス記録装置、
２５０  転送情報記録装置、
２６０  匿名化装置判定手段、
２７０  匿名化制御手段、
２７１  セッション管理手段、
２７２  匿名アドレス選択手段、
２７３  匿名アドレス生成手段、
２８０  パケット処理手段、
２９０  情報記録装置、
ｐ１０  発信側情報処理装置、
ｐ２０  仮アドレスサーバ、
ｐ３０  受信側情報処理装置、
ｐ４０  インターネット
【図１】
0005516571.tif 000002
【図２】
0005516571.tif 000003
【図３】
0005516571.tif 000004
【図４】
0005516571.tif 000005
【図５】
0005516571.tif 000006
【図６】
0005516571.tif 000007
【図７】
0005516571.tif 000008
【図８】
0005516571.tif 000009
【図９】
0005516571.tif 000010
【図１０】
0005516571.tif 000011
【図１１】
0005516571.tif 000012
【図１２】
0005516571.tif 000013
【図１３】
0005516571.tif 000014
【図１４】
0005516571.tif 000015
【図１５】
0005516571.tif 000016
【図１６】
0005516571.tif 000017
【図１７】
0005516571.tif 000018
【図１８】
0005516571.tif 000019
【図１９】
0005516571.tif 000020
【図２０】
0005516571.tif 000021
【図２１】
0005516571.tif 000022
【図２２】
0005516571.tif 000023
【図２３】
0005516571.tif 000024
【図２４】
0005516571.tif 000025
【図２５】
0005516571.tif 000026
【図２６】
0005516571.tif 000027
【図２７】
0005516571.tif 000028