(57)【要約】【課題】２つ以上のネットワークプレフィックスを得られる状況において、選択的に上６４ビットが異なるテンポラリアドレスを送信元ＩＰｖ６アドレスとして使用すること。【解決手段】機器２は、ルータ３と４から、ネットワークプレフィックスが異なるルータ広告を受信し、それぞれのネットワークプレフィックスを含むテンポラリアドレスを生成する。機器２は現通信時の送信元アドレスのネットワークプレフィックスを参照し、次通信時の送信元アドレスに、前回とは異なるネットワークプレフィックスを含むテンポラリアドレスを用いるようにする。【選択図】      図１
2004364109.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークプレフィックスを受信する受信手段と、
送信元アドレス及び経路を変更する変更手段とを備え、
前記変更手段は、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更することを特徴とするテンポラリアドレス通信装置。
【請求項２】
請求項１において、
前記変更手段は、テンポラリアドレスの有効期間が切れた際に、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更し、経路も変更することを特徴とするテンポラリアドレス通信装置。
【請求項３】
送信元アドレスと経路を変更するプログラムであって、
ネットワークプレフィックスを受信する受信手順と、
送信元アドレスを変更する送信元アドレス変更手順と、
経路を変更する経路変更手順とを備え、
前記送信元アドレス変更手順は、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更することを特徴とするテンポラリアドレス通信プログラム。
【請求項４】
請求項３において、
前記送信元アドレス変更手順は、テンポラリアドレスの有効期間が切れた際に、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更することを特徴とするテンポラリアドレス通信プログラム。
【請求項５】
請求項３又は４に記載のプログラムが記録されたコンピュータ読み取り可能な記録媒体。
【請求項６】
送信元アドレスと経路を変更する方法であって、
ネットワークプレフィックスを受信する受信手順と、
送信元アドレスを変更する送信元アドレス変更手順と、
経路を変更する経路変更手順とを備え、
前記送信元アドレス変更手順は、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更することを特徴とするテンポラリアドレス通信方法。
【請求項７】
請求項６において、
前記送信元アドレス変更手順は、テンポラリアドレスの有効期間が切れた際に、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更することを特徴とするテンポラリアドレス通信方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テンポラリアドレス通信装置、プログラム、記録媒体、および方法に関する。
【０００２】
【従来の技術】
インターネット通信において、長年Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ４（ＩＰｖ４）が使用されてきた。しかし、アドレス数の不足などのＩＰｖ４の課題を解決するべく、Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６（ＩＰｖ６）が提案され、徐々に実用化が始まっている。
【０００３】
ＩＰｖ６アドレスは１２８ビット長である。ＩＰｖ６アドレスの上６４ビットは主にルーティングに関するデータであり、ネットワーク部と呼ぶ。下６４ビットは主に１ルータ下において端末を最終的に特定するために必要なデータであり、ホスト部と呼ぶ。
【０００４】
ネットワーク部のデータは、手動設定において設定することも可能であるが、ステートレス自動設定という方式により自動設定が可能である。簡単に説明すると、機器はルータから６４ビットのデータ（ネットワークプレフィックス）をルータ広告（Ｒｏｕｔｅｒ  Ａｄｖｅｒｔｉｓｅｍｅｎｔ）というパケットと共に送信してもらい、それを受信してネットワークプレフィックスをネットワーク部に設定することにより、自動設定が可能となる。このステートレス自動設定に関しては、ＲＦＣ２４６１（「Ｎｅｉｇｈｂｏｒ  Ｄｉｓｃｏｖｅｒｙ  ｆｏｒ  ＩＰ  Ｖｅｒｓｉｏｎ  ６（ＩＰｖ６）」、Ｔ．Ｎａｒｔｅｎ、Ｅ．Ｎｏｒｄｍａｒｋ、Ｗ．Ｓｉｍｐｓｏｎ、Ｄｅｃｅｍｂｅｒ  １９９８）などに詳細に記述されている。
【０００５】
典型的なＩＰｖ６アドレスでは、ホスト部のデータにはインタフェースＩＤと呼ばれるデータを用いる。インタフェースＩＤは、物理層にイーサネット（登録商標）を使用する場合、イーサネット（登録商標）インタフェースのＭＡＣアドレス４８ビットを元にして以下のように生成される。
【０００６】
イーサネット（登録商標）のＩＥＥＥ  ｉｄｅｎｔｉｆｉｅｒ（ＭＡＣアドレス）は、６バイト（４８ビット）長のアドレスで、先頭の３バイトは製造ベンダーコードとしてＩＥＥＥによって管理・割当てがされている。残り３バイトは各ベンダーに管理が任されており、重複が起こらないように割当てがされる。ベンダーが管理するコードはイーサネット（登録商標）・カード毎に異なるように振られるので、イーサネット（登録商標）・カード毎に世界で唯一のアドレスが対応し、イーサネット（登録商標）上でのデータの送受信の際のアドレス（データリンク層アドレス）として利用される。イーサネット（登録商標）のＭＡＣアドレスを３バイトずつに分割し、中間に１６進数の「ＦＦＦＥ」をはさみ、先頭から７ビット目を１にした６４ビットデータを、インタフェースＩＤと呼ぶ。
【０００７】
典型的なＩＰｖ６アドレスを用いると、ネットワーク部は接続するネットワーク環境によるが、ホスト部のインタフェースＩＤは同じネットワークインタフェースを用いる限り一意である。よって、このインタフェースＩＤをキーとして検索することにより、このネットワークインタフェースを備えた機器の追跡が可能となる。機器の追跡が可能であると、その機器を使用するユーザの行動も追跡可能となる。よってホスト部にインタフェースＩＤを使用する限り、その機器を使用するユーザのプライバシーが脅かされる懸念がある。
【０００８】
上記課題に対し、テンポラリアドレスという特殊なアドレス形式が提案されている。これは、ＲＦＣ３０４１（「Ｐｒｉｖａｃｙ  Ｅｘｔｅｎｓｉｏｎｓ  ｆｏｒ  Ｓｔａｔｅｌｅｓｓ  Ａｄｄｒｅｓｓ  Ａｕｔｏｃｏｎｆｉｇｕｒａｔｉｏｎ  ｉｎ  ＩＰｖ６」、Ｔ．Ｎａｒｔｅｎ、Ｒ．Ｄｒａｖｅｓ、Ｊａｎｕａｒｙ  ２００１）で規定されている。テンポラリアドレスとは異なる６４ビットデータを、ある期間毎に作成し、それをホスト部（ＩＰｖ６アドレスの下６４ビット）に用いることにより、機器の特定を困難にするアドレス形式である。
【０００９】
以下、テンポラリアドレスの作成方法を簡単に記す。テンポラリアドレスの作成には、ＭＤ５  ｍｅｓｓａｇｅ  ｄｉｇｅｓｔを使う。ＭＤ５とは何ビットかの入力に対応した１２８ビットを出力する関数である。ここでは、１２８ビットを入力する。入力する１２８ビットの上位６４ビットと下位６４ビットを次のように構成する。インタフェースＩＤを上位６４ビットとする。何らかの方法で生成したランダムな値６４ビットあるいは前回のＭＤ５の計算結果の下位６４ビットを、入力１２８ビットの下位６４ビットとする。この１２８ビットを入力としてＭＤ５  ｍｅｓｓａｇｅ  ｄｉｇｅｓｔを計算し、その計算結果１２８ビットの上位６４ビットを取り出す。取り出した６４ビットの左から７ビット目をゼロにした６４ビットをホスト部とする。計算結果の下位６４ビットは、次回のＭＤ５の計算に用いるため、記録しておく。詳細はＲＦＣ３０４１に記載されている。
【００１０】
以上の生成方法に従ってある期間毎に異なるホスト部が作成され、その異なるホスト部を用いたグローバルアドレスを通信に使用するならば、単純にインタフェースＩＤを含めたグローバルアドレスを通信に使用する場合とは異なり、機器が同一であるか否かを判断することが困難なので、プライバシー侵害を防ぐ効果がある。
【００１１】
【発明が解決しようとする課題】
上述したテンポラリアドレスを用いることにより、ＩＰｖ６の下６４ビットをある期間毎に変更して使用するので、インタフェースＩＤを下６４ビットに使用した場合と比較して、匿名性は高くなる。
【００１２】
しかしながら、ネットワーク部は、機器が同一のインターネットサービスプロバイダや組織に所属し、ネットワーク管理者がネットワークプレフィックスを変更するように設定しない限り、変更されることは基本的にない。よって、特に据え置きタイプの機器において、単一の組織に所属して常に同じネットワーク部を用いる場合、組織を特定されやすい、という問題があった。組織を特定されれば、そのネットワーク管理者に依頼してログを取るなどして、機器よりユーザを特定する様々な手段を講じることが可能となる。
【００１３】
また、モバイルＩＰなどを用いた広域無線通信の場合、基地局が変わることによりネットワークプレフィックスも変化する場合がある。その場合、上記問題は解決されるが、積極的に機器を移動させて、ネットワークプレフィックスを変化させねばならない。またモバイル通信において２つ以上の無線区域にまたがって機器が存在する場合、通常は電波強度が強い方（通信感度がよい方）を選択して通信する。そのため、もし片方の電波強度が明らかに強く、基地局の切り替えが発生しない場合、ネットワークプレフィックスの変化も発生しないので上記問題は解決されない。基地局が３つ以上の場合でも同様である。
【００１４】
【課題を解決するための手段】
本発明は上記の問題に鑑みてなされたものであり、２つ以上のネットワークプレフィックスを得られる状況において、送信元ＩＰｖ６アドレスとして下６４ビットだけでなく、上６４ビットも変更して使用できるようにすることを目的とする。
【００１５】
上記目的を達成するために、本発明は、ネットワークプレフィックスが異なるテンポラリアドレスを２つ以上生成する。機器は現通信時の送信元アドレスのネットワークプレフィックスを参照し、次通信時の送信元アドレスに、前回とは異なるネットワークプレフィックスを含むテンポラリアドレスを用いるようにする。
【００１６】
【発明の実施の形態】
（第１の実施の形態）
本実施の形態では、２つのルータの管理下に機器が接続されている場合を想定する。
【００１７】
図１は、本実施の形態を適用する環境を示す図である。リンクローカルネットワーク１があり、機器２が接続されている。また、リンクローカルネットワーク１にはルータ３、ルータ４という２つのルータが接続されている。リンクローカルネットワーク１の物理層の種類は特に種類は問わない。イーサネット（登録商標）、ＩＥＥＥ８０２．１１、Ｂｌｕｅｔｏｏｔｈなど、物理層の上位でＩＰｖ６による通信ができれば問題ない。無線通信でももちろん構わない。ただし、ＲＦＣ３０４１で規定されたテンポラリアドレスを生成可能であることが条件である。本実施の形態では、物理層は特に問わない。
【００１８】
図２は、機器２の一般的な構成を示す図である。ＣＰＵ２０１が機器２の全体の動作を制御する。ＲＡＭ２０２は一時記憶装置であり、ＲＯＭ２０３はプログラムなど、消去不可能なデータが組み込まれているＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙである。ネットワークインタフェース２０４は、機器２が外部機器とデータ送受信を行う際に使用するインタフェースである。バス２０５は、各モジュールを接続する内部バスである。さらに、ハードディスクなどの大容量記憶装置、ディスプレイやキーボード、マウス、プリントアウト部といった入出力機器用のインタフェースなどを備えていてもよい。機器２はリンクローカルネットワーク１と接続可能で、ＲＦＣ２４６１で規定されたステートレス自動設定が行えることを条件とする。
【００１９】
ネットワークインタフェース２０４は、ネットワークプレフィックスを受信する受信手段であり、ＣＰＵ３０１は、送信元アドレス及び経路を変更する変更手段である。後述するように、変更手段であるＣＰＵ３０１は、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更する。本形態では、変更手段であるＣＰＵ３０１は、テンポラリアドレスの有効期間が切れた際に、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更し、経路も変更する。
【００２０】
図３，図４はルータ３、４の一般的な構成を示す図である。ルータ４はルータ３と同様なので、ルータ３について説明する。ＣＰＵ３０１がルータ３の全体の動作を制御する。ＲＡＭ３０２は一時記憶装置であり、ＲＯＭ３０３はプログラムなど、消去不可能なデータが組み込まれているＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙである。バス３０５は、各モジュールを接続する内部バスである。さらに、ハードディスクなどの大容量記憶装置、ディスプレイやキーボード、マウス、プリントアウト部といった入出力機器用のインタフェースなどを備えていてもよい。
【００２１】
ネットワークインタフェース３０４および３０６は、ルータ３が外部機器とデータ送受信を行う際に使用するインタフェースである。ネットワークインタフェース３０４をリンクローカルネットワーク１（ローカル側、内向き）と接続し、ネットワークインタフェース３０６をインターネット５（インターネット側、外向き）と接続することとする。ルータ３，４とも、ＲＦＣ２４６１で規定するステートレス自動設定で必要となる、ルータ広告を送信できるものとする。
【００２２】
本実施の形態において、リンクローカルネットワーク１に対し、ルータ３は「２００１：１０００：：／６４」というネットワークプレフィックスを、ルータ４は「２００１：２０００：：／６４」というネットワークプレフィックスを広告するものとする。また、ルータ３のリンクローカル１に面したネットワークインタフェース３０４のリンクローカルアドレスは「ｆｅ８０：：１０００」、ルータ４のリンクローカルアドレスは「ｆｅ８０：：２０００」であるとする。
【００２３】
機器２は、図１に示した環境に接続される。機器２は、ルータ３のネットワークインタフェース３０４、ルータ４のネットワークインタフェース４０４から送信されたルータ広告を受信する。機器２は、ルータ広告の受信をきっかけとしてＲＦＣ３０４１に従いテンポラリアドレスを生成し、設定する。
【００２４】
説明上、ルータ３のルータ広告をきっかけとして生成した最初のテンポラリアドレスをテンポラリアドレス３−１（２００１：１０００：：３３３３）、ルータ４のルータ広告をきっかけとして生成した最初のテンポラリアドレスをテンポラリアドレス４−１（２００１：２０００：：４４４４）とする。機器２は、テンポラリアドレス３−１を使用しており、ルータ３をデフォルトルータとし、通信を行っているものとする。
【００２５】
以上のような状況を前提とし、図５で示すフローチャートを参照しながら本実施の形態を説明する。図５は、送信元アドレスと経路を変更するアルゴリズムの動作を示すフローチャート図である。図５のフローチャートを実行するプログラムは、機器２のＲＯＭ２０３に予め記録され、ＲＡＭ２０２や一時記録部（ハードディスクなど）上で実行可能な形式に展開され、ＣＰＵ２０１が処理を行うものとする。
【００２６】
Ｓ１０１においてスタート後、Ｓ１０２において、機器２のＣＰＵ２０１は、使用中もしくは使用していたテンポラリアドレスの有効期限が切れたかチェックする。切れていなければＮＯとなり、Ｓ１１０に遷移し終了する。テンポラリアドレスの有効期限が切れていた場合ＹＥＳとなり、そのテンポラリアドレスを「ｄｅｐｒｅｃａｔｅｄ」状態とし、Ｓ１０３に遷移する。ここで「ｄｅｐｒｅｃａｔｅｄ」状態とは、有効期限が切れたテンポラリアドレスではあるが、有効期限が切れる前から使用中であり、すぐに次の新しいテンポラリアドレスを使用することができない場合（例えばそのアドレスを使用してＴＣＰコネクションを作成し、そのコネクションの接続が切断されていない場合など）に適用される状態である。「ｄｅｐｒｅｃａｔｅｄ」状態になったテンポラリアドレスは、以後の新規通信には使用されない。ただし、ＴＣＰコネクションの接続中は、そのテンポラリアドレスを送信元アドレスとして使用して、通信する。
【００２７】
その後、先に説明した方法に従い、新しいテンポラリアドレスが生成される。この新しいテンポラリアドレスは、「ｐｒｅｆｅｒｒｅｄ」状態のテンポラリアドレスと呼び、以降の新しく開始される通信において使用される可能性があるテンポラリアドレスである。ただし、ネットワークプレフィックスは「ｄｅｐｒｅｃａｔｅｄ」状態のテンポラリアドレスと同じである。本実施の形態では、テンポラリアドレス３−１がｄｅｐｒｅｃａｔｅｄ状態となり、例えば「２００１：１０００：：５５５５」といった、テンポラリアドレス３−１とネットワークプレフィックス「２００１：１０００：：」は同じだがホスト部は異なるテンポラリアドレスが生成される。この新しく生成されたテンポラリアドレスを、テンポラリアドレス３−２と称することにする。
【００２８】
Ｓ１０３において、機器２のＣＰＵ２０１は、ネットワークインタフェース２０４をチェックし、先のｄｅｐｒｅｃａｔｅｄ状態となったテンポラリアドレスで使用していたネットワークプレフィックスと、異なるネットワークプレフィックスを含むテンポラリアドレスがあるかチェックする。なければＮＯとなり、Ｓ１１０に遷移して終了する。
【００２９】
あればＹＥＳとなり、Ｓ１０４に遷移する。本実施の形態の場合、テンポラリアドレス４−１があり、そのテンポラリアドレス４−１のネットワークプレフィックス「２００１：２０００：：／６４」がテンポラリアドレス３−１のネットワークプレフィックス「２００１：１０００：：／６４」と異なるので、ＹＥＳとなる。
【００３０】
Ｓ１０４において、Ｓ１０３の結果発見されたテンポラリアドレスが複数あるかチェックする。１つのみであればＮＯとなり、Ｓ１０６に遷移する。２つ以上あればＹＥＳとなり、Ｓ１０５に遷移する。本実施の形態では１つのみなので、ＮＯとなる。ネットワークプレフィックスを広告するルータが３台以上いれば（デフォルトルータ３以外のルータが複数いれば）、異なるネットワークプレフィックスを含むテンポラリアドレスが複数できる。
【００３１】
Ｓ１０５において、Ｓ１０４の結果、ｄｅｐｒｅｃａｔｅｄ状態のテンポラリアドレスとは異なるネットワークプレフィックスを含む「ｐｒｅｆｅｒｒｅｄ」状態のテンポラリアドレスが２つ以上ある場合、その中から１つを選択する。この選択アルゴリズムは、特に問わない。例えばランダムに複数のテンポラリアドレスの中から１つを選択してもよいし、１つ１つのネットワークプレフィックスに履歴情報をつけたテーブルを管理し、異なるネットワークプレフィックスを均等に使用するようにしてもよい。また、以下のような方法で選択してもよい。残りのテンポラリアドレスに０から１刻みで番号をつけておく。現在使用中のテンポラリアドレスの下６４ビットを全て加算し、それを残りのテンポラリアドレスの数で割る。その余りの数と、先に付加した番号を比較し、一致したテンポラリアドレスを選択する。
【００３２】
以上のようにして、Ｓ１０５においてテンポラリアドレスを１つ選択したら、Ｓ１０６に遷移する。
【００３３】
Ｓ１０６において、選択されたテンポラリアドレスを、次回以降の通信における送信元アドレスに使用するように設定する。具体的な設定方法としては、例えばデフォルトアドレス選択機構（「Ｄｅｆａｕｌｔ  Ａｄｄｒｅｓｓ  Ｓｅｌｅｃｔｉｏｎ  ｆｏｒ  ＩＰｖ６」、ｄｒａｆｔ−ｉｅｔｆ−ｉｐｖ６−ｄｅｆａｕｌｔ−ａｄｄｒ−ｓｅｌｅｃｔ−０９．ｔｘｔ、Ｒｉｃｈａｒｄ  Ｄｒａｖｅｓ、Ａｕｇｕｓｔ  ６，２００２）というインターネットドラフトで規定されているように、複数の送信元アドレス候補の中から１つの送信元アドレスを選択するアルゴリズムを改良し、選択されたテンポラリアドレスを最優先で選択するようにする、といった方法で実現できる。設定をしたら、Ｓ１０７に遷移する。本実施の形態では、テンポラリアドレス４−１（ｄｅｐｒｅｃａｔｅｄ状態となったテンポラリアドレスで使用していたネットワークプレフィックスと、異なるネットワークプレフィックスを含むテンポラリアドレス（の一つ））が最優先で使用されるように設定される。
【００３４】
Ｓ１０７において、機器２のルーティングテーブルに登録してあるデフォルトルータを、Ｓ１０６において設定したテンポラリアドレスのネットワークプレフィックスを広告したルータに変更する。本実施の形態では、デフォルトルータがルータ３からルータ４に変更される。つまり、送信先「ｄｅｆａｕｌｔ」に対するゲートウェイを、「ｆｅ８０：：１０００」から「ｆｅ８０：：２０００」にする。この処理により、ほとんどの外部宛先向けのパケットがルータ４を通って送受信されることとなる。もし、ルーティングテーブルにおいて特定の送信先アドレスがルータ３を通るように設定されている場合、ルータ４をゲートウェイとして通るように変更する。その後、Ｓ１１０に遷移し、終了となる。ルーティングテーブルは本実施の形態ではＲＡＭ２０２に記録されているものとするが、読み書き可能な記録媒体上であれば問題ない。
【００３５】
テンポラリアドレス４−１の有効期限が切れた時、再度、図５で示す処理を適用する。その場合、テンポラリアドレス３−２の有効期限が切れていなければテンポラリアドレス３−２が使用されることとなる。テンポラリアドレス３−２の有効期限が切れていた場合、ネットワークプレフィックス「２００１：１０００：：／６４」を持つ、新たに生成され、有効期限が切れていないテンポラリアドレスが送信元アドレスとして使用される。
【００３６】
以上説明した方法により、テンポラリアドレスの有効期限が切れる毎に、ネットワークプレフィックスが異なるテンポラリアドレスを送信元アドレスとして使用することが可能となった。
【００３７】
すなわち、機器２は、送信元アドレスと経路を変更する。この変更方法は、ネットワークプレフィックスを受信する受信手順を含む。機器２は、受信したネットワークプレフィックスよりテンポラリアドレスを生成する。送信元アドレス及び経路の変更方法は、送信元アドレスを変更する送信元アドレス変更手順（Ｓ１０５）と、経路を変更する経路変更手順（Ｓ１０７）とを含む。この送信元アドレス変更手順（Ｓ１０５）では、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更する。本形態では、テンポラリアドレスの有効期間が切れた際に（Ｓ１０２）、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更する。
【００３８】
この送信元アドレスと経路を変更するプログラムは、ＲＯＭ２０３に記憶され、ＣＰＵ２０１は、このプログラムをＲＯＭ２０３から読み出して実行する。ＲＯＭ２０３は、このプログラムを、ＣＰＵ２０１が読み出すことができるように記憶した記憶媒体である。
【００３９】
本実施の形態では２つのルータが存在し、２種類のネットワークプレフィックスを広告する場合を説明したが、３つ以上のルータが存在する場合、また３つ以上のネットワークプレフィックスを広告する場合についても同様に本発明を適用可能である。
【００４０】
（第２の実施の形態）
第１の実施の形態において、機器はテンポラリアドレスの有効期限切れをきっかけとして送信元アドレスを変更し、その際にネットワークプレフィックスが異なるテンポラリアドレスを選択した。その際、デフォルトルートを変更し、機器のインターネットへの通信は全て経路も変更するようにしていた。
【００４１】
本実施の形態では、通信開始毎に、ネットワークプレフィックスが異なるテンポラリアドレスを送信元アドレスとして使用する方法について説明する。
【００４２】
機器２は、第１の実施の形態と同様にルータ３のネットワークインタフェース３０４、ルータ４のネットワークインタフェース４０４から送信されたルータ広告を受信する。機器２は、ルータ広告の受信をきっかけとしてＲＦＣ３０４１に従いテンポラリアドレスを生成し、設定する。説明上、ルータ３のルータ広告をきっかけとして生成した最初のテンポラリアドレスをテンポラリアドレス３−１（２００１：１０００：：３３３３）、ルータ４のルータ広告をきっかけとして生成した最初のテンポラリアドレスをテンポラリアドレス４−１（２００１：２０００：：４４４４）とする。機器２は、テンポラリアドレス３−１を使用しており、ルータ３をデフォルトルータ（ゲートウェイ）とし、通信を行っていたものとする。
【００４３】
本実施の形態では、図６のような環境を想定する。通信先６は、グローバルアドレス「２００１：３４０：：１００」が設定されているものとする。このような環境において、機器２が通信先６と通信を行う際を想定して説明する。
【００４４】
以下、図７のフローチャートを参照しながら説明する。図７は、機器２が通信を行う際に、送信元アドレスと経路を変更するアルゴリズムの動作を示すフローチャート図である。図７のフローチャートを実行するプログラムは、機器２のＲＯＭ２０３に予め記録され、ＲＡＭ２０２や一時記録部（ハードディスクなど）上で実行可能な形式に展開され、ＣＰＵ２０１が処理を行うものとする。また、機器２は経路表と呼ばれるテーブルを管理しているとする。経路表は送信先アドレスに応じた転送先（ゲートウェイ）が記録された表である。本実施の形態ではＲＡＭ２０２に記録されているものとするが、読み書き可能な記録媒体上であれば問題ない。
【００４５】
Ｓ２０１においてスタートする。Ｓ２０１において、通信先アドレスが指定されるものとする。
【００４６】
Ｓ２０２において、機器２の経路表で、指定された通信先アドレス（１２８ビット）が送信先アドレスとして登録されているかチェックする。機器２の経路表は、例えば図８に示すようなものである。送信先アドレスが「ｄｅｆａｕｌｔ」とある場合、他の送信先アドレスのどれとも条件が一致しなかった場合、この「ｄｅｆａｕｌｔ」の行にある条件に従ってパケットが転送される。図８の例では、全てのパケットがゲートウェイ「ｆｅ８０：：１０００」を介して送信される。チェックの結果、通信先アドレスと一致した送信先アドレスが経路表にあればＹＥＳとなりＳ２０４に遷移する。なければＮＯとなりＳ２０３に遷移する。本実施の形態では、通信先「２００１：３４０：：１００」は図８の経路表に登録されていないのでＮＯとなりＳ２０３に遷移する。
【００４７】
Ｓ２０３において、ＣＰＵ２０１はＲＡＭ２０２上にある経路表に通信先アドレスを送信先アドレスとして追加する。例えば、図８の経路表に通信先アドレス「２００１：３４０：：１００」が送信先アドレスとして追加され、図９のようになる。
【００４８】
Ｓ２０４において、ＣＰＵ２０１は経路表の通信先アドレスに対応した「前回のネットワークプレフィックス」の項が書き込みされているかチェックする。チェックの結果、書き込みがなければＳ２０５に、あればＳ２０６に遷移する。本実施の形態の図９では、送信先アドレス「２００１：３４０：：１００」に対応した「前回のネットワークプレフィックス」の項は書き込みされていないのでＳ２０５に遷移する。
【００４９】
Ｓ２０５において、ＣＰＵ２０１はネットワークインタフェース２０４に割り当てられている全てのテンポラリアドレスから１つを選択する。この選択方法は特に問わない。ランダムでもよいし、ネットワークプレフィックス毎の使用履歴を記録しておき、その頻度を参考に決定してもよい。本実施の形態の場合、ネットワークインタフェース２０４にはテンポラリアドレス３−１とテンポラリ４−１が設定されているので、どちらかのアドレスをランダムに選択して使用することとする。ここでは、テンポラリアドレス３−１を使用するとする。
【００５０】
Ｓ２０６において、前回のネットワークプレフィックスが書き込まれていた場合、それと異なるネットワークプレフィックスをもつテンポラリアドレス（複数）の中から１つを選択する。もし、図１０のような経路表が設定されていたとすると、通信先「２００１：３４０：：１００」に対応する「前回のネットワークプレフィックス」はルータ４から広告された「２００１：２０００：：／６４」なので、それ以外のネットワークプレフィックスを持つテンポラリアドレス（この場合、テンポラリアドレス３−１）を選択する。機器２が、もし３つ以上のネットワークプレフィックスを得ていたならば、Ｓ２０６において選択可能なテンポラリアドレスは２つ以上となるので、適宜選択する。その場合の選択方法は特に問わない。
【００５１】
Ｓ２０７において、ＣＰＵ２０１は、ＲＡＭ２０２上にある経路表上の「ゲートウェイ」と「前回のネットワークプレフィックス」の項に書き込みあるいは更新を行う。例えば、本実施の形態の場合、図９の経路表に、テンポラリアドレス３−１が使用するゲートウェイ「ｆｅ８０：：１０００」（テンポラリアドレス３−１のネットワークプレフィックスを広告したルータ３のネットワークインタフェース３０４のリンクローカルアドレス）を経路表の「ゲートウェイ」の項に書き込みし、テンポラリアドレス３−１のネットワークプレフィックスである「２００１：１０００：：／６４」を「前回のネットワークプレフィックス」の項に書き込みし、図１１のようになる。Ｓ２０６の説明で用いた図１０で示す経路表が設定されていた場合は、次のテンポラリアドレスにテンポラリアドレス３−１が選択されたので、図１０から図１１のように更新する。
【００５２】
Ｓ２０７の終了後、Ｓ２１０に遷移して終了する。
【００５３】
以上の動作により、通信先ごとに異なる送信元アドレスを使用できる環境が整う。Ｓ２０１において指定された通信先アドレスとの通信において、Ｓ２０５又はＳ２０６で選択されたテンポラリアドレスを、送信元アドレスとして使用する。また、通信先「２００１：３４０：：１００」との通信におけるパケットは、ルータ３を通って送受信される。
【００５４】
以後、図７で示したアルゴリズムを適用するごとに、異なるネットワークプレフィックスのテンポラリアドレスへの変更が可能となる。
【００５５】
例えば、図１０のような経路表であった場合、機器２のＣＰＵ２０１は、２００１：３４０：：１００への送信を行う際、Ｓ２０６において、図１０を参照して「前回のネットワークプレフィックス」の項を参照する。そして、「前回のネットワークプレフィックス」に記述されているネットワークプレフィックス以外のネットワークプレフィックスを持つテンポラリアドレスを検索し、それを送信元アドレスとして使用する。以後、図７で示したアルゴリズムを使用する毎に「前回のネットワークプレフィックス」に記述されているネットワークプレフィックスの値は変化するので、送信元アドレスの変更が可能となる。
【００５６】
ここで、図７のアルゴリズムを、例えばソケットを生成して通信を行う毎に用いれば、ソケット通信毎に、ネットワークプレフィックスが異なる送信元アドレスを用いて通信を行うことが可能となる。また、パケットの送信毎に用いれば、パケット毎にネットワークプレフィックスが異なる送信元アドレスを用いて通信を行うことが可能となる。同様に、アプリケーション起動毎に、図７のアルゴリズムを適用することも可能である。
【００５７】
つまり、希望の頻度において通信を行う前に図７のアルゴリズムを適用すれば、異なるネットワークプレフィックスを用いた送信元アドレスで通信を行うことが可能となる。
【００５８】
すなわち、機器２は、送信元アドレスと経路を変更する。この変更方法は、ネットワークプレフィックスを受信する受信手順を含む。機器２は、受信したネットワークプレフィックスよりテンポラリアドレスを生成する。送信元アドレス及び経路の変更方法は、送信元アドレスを変更する送信元アドレス変更手順（Ｓ２０６）と、経路を変更する経路変更手順（Ｓ２０７）とを含む。この送信元アドレス変更手順（Ｓ２０６）では、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更する。
【００５９】
この送信元アドレスと経路を変更するプログラムは、ＲＯＭ２０３に記憶され、ＣＰＵ２０１は、このプログラムをＲＯＭ２０３から読み出して実行する。ＲＯＭ２０３は、このプログラムを、ＣＰＵ２０１が読み出すことができるように記憶した記憶媒体である。
【００６０】
本実施の形態において、テンポラリアドレス３−１、４−１自体の更新は、本アルゴリズム外である。つまり、例えば、第１の実施の形態で説明したように、テンポラリアドレス３−１、４−１ともに有効期間が経過したら下６４ビットが更新されるが、図７で示したアルゴリズムは影響されない。
【００６１】
【発明の効果】
以上説明したように、本発明によれば、ネットワークプレフィックスが異なるテンポラリアドレスを送信元アドレスとして選択して使用するようにした。したがって、匿名性が高まるという効果が得られる。使用できるネットワークプレフィックスの数が多いほど、匿名性はさらに高まる。その結果、ユーザは、自己の通信機器の特定がされにくくなり、より安心して任意の通信を行えるという効果が得られる。
【００６２】
また、機器が所属するリンクローカルネット内の複数のルータを、送信先アドレスが同一でもルータを切り替えて使用可能になった。したがって、ルータにおけるルーティング処理の負荷分散が可能になるという効果が得られる。
【００６３】
また、送信元アドレスの変更に伴い経路も変更するので、盗聴などの行為により盗まれる情報が少なくなる可能性がある、という効果が得られる。
【図面の簡単な説明】
【図１】第１の実施の形態におけるネットワーク例を示す図である。
【図２】第１の実施の形態における機器２の一般的な構成を示す図である。
【図３】第１の実施の形態におけるネットワークを構成するルータ３の一般的な構成を示す図である。
【図４】第１の実施の形態におけるネットワークを構成するルータ４の一般的な構成を示す図である。
【図５】テンポラリアドレスの更新をきっかけに送信元アドレスを変更するフローチャートを示す図である。
【図６】第２の実施の形態におけるネットワーク例を示す図である。
【図７】任意のタイミングで、ネットワークプレフィックスが異なるテンポラリアドレスを送信元アドレスとするフローチャートを示す図である。
【図８】第２の実施の形態で参照する経路表の例を示す図である。
【図９】第２の実施の形態で参照する経路表の例を示す図である。
【図１０】第２の実施の形態で参照する経路表の例を示す図である。
【図１１】第２の実施の形態で参照する経路表の例を示す図である。
【符号の説明】
１  ローカルネットワーク
２  機器
３  ルータ
４  ルータ
５  インターネット
【図１】
2004364109.tif 000003
【図２】
2004364109.tif 000004
【図３】
2004364109.tif 000005
【図４】
2004364109.tif 000006
【図５】
2004364109.tif 000007
【図６】
2004364109.tif 000008
【図７】
2004364109.tif 000009
【図８】
2004364109.tif 000010
【図９】
2004364109.tif 000011
【図１０】
2004364109.tif 000012
【図１１】
2004364109.tif 000013