JP2004364109A - テンポラリアドレス通信装置、プログラム、記録媒体、および方法 - Google Patents
テンポラリアドレス通信装置、プログラム、記録媒体、および方法 Download PDFInfo
- Publication number
- JP2004364109A JP2004364109A JP2003162160A JP2003162160A JP2004364109A JP 2004364109 A JP2004364109 A JP 2004364109A JP 2003162160 A JP2003162160 A JP 2003162160A JP 2003162160 A JP2003162160 A JP 2003162160A JP 2004364109 A JP2004364109 A JP 2004364109A
- Authority
- JP
- Japan
- Prior art keywords
- address
- temporary
- source address
- network prefix
- temporary address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5053—Lease time; Renewal aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5092—Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/604—Address structures or formats
Abstract
【課題】2つ以上のネットワークプレフィックスを得られる状況において、選択的に上64ビットが異なるテンポラリアドレスを送信元IPv6アドレスとして使用すること。
【解決手段】機器2は、ルータ3と4から、ネットワークプレフィックスが異なるルータ広告を受信し、それぞれのネットワークプレフィックスを含むテンポラリアドレスを生成する。機器2は現通信時の送信元アドレスのネットワークプレフィックスを参照し、次通信時の送信元アドレスに、前回とは異なるネットワークプレフィックスを含むテンポラリアドレスを用いるようにする。
【選択図】 図1
【解決手段】機器2は、ルータ3と4から、ネットワークプレフィックスが異なるルータ広告を受信し、それぞれのネットワークプレフィックスを含むテンポラリアドレスを生成する。機器2は現通信時の送信元アドレスのネットワークプレフィックスを参照し、次通信時の送信元アドレスに、前回とは異なるネットワークプレフィックスを含むテンポラリアドレスを用いるようにする。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、テンポラリアドレス通信装置、プログラム、記録媒体、および方法に関する。
【0002】
【従来の技術】
インターネット通信において、長年Internet Protocol Version4(IPv4)が使用されてきた。しかし、アドレス数の不足などのIPv4の課題を解決するべく、Internet Protocol Version 6(IPv6)が提案され、徐々に実用化が始まっている。
【0003】
IPv6アドレスは128ビット長である。IPv6アドレスの上64ビットは主にルーティングに関するデータであり、ネットワーク部と呼ぶ。下64ビットは主に1ルータ下において端末を最終的に特定するために必要なデータであり、ホスト部と呼ぶ。
【0004】
ネットワーク部のデータは、手動設定において設定することも可能であるが、ステートレス自動設定という方式により自動設定が可能である。簡単に説明すると、機器はルータから64ビットのデータ(ネットワークプレフィックス)をルータ広告(Router Advertisement)というパケットと共に送信してもらい、それを受信してネットワークプレフィックスをネットワーク部に設定することにより、自動設定が可能となる。このステートレス自動設定に関しては、RFC2461(「Neighbor Discovery for IP Version 6(IPv6)」、T.Narten、E.Nordmark、W.Simpson、December 1998)などに詳細に記述されている。
【0005】
典型的なIPv6アドレスでは、ホスト部のデータにはインタフェースIDと呼ばれるデータを用いる。インタフェースIDは、物理層にイーサネット(登録商標)を使用する場合、イーサネット(登録商標)インタフェースのMACアドレス48ビットを元にして以下のように生成される。
【0006】
イーサネット(登録商標)のIEEE identifier(MACアドレス)は、6バイト(48ビット)長のアドレスで、先頭の3バイトは製造ベンダーコードとしてIEEEによって管理・割当てがされている。残り3バイトは各ベンダーに管理が任されており、重複が起こらないように割当てがされる。ベンダーが管理するコードはイーサネット(登録商標)・カード毎に異なるように振られるので、イーサネット(登録商標)・カード毎に世界で唯一のアドレスが対応し、イーサネット(登録商標)上でのデータの送受信の際のアドレス(データリンク層アドレス)として利用される。イーサネット(登録商標)のMACアドレスを3バイトずつに分割し、中間に16進数の「FFFE」をはさみ、先頭から7ビット目を1にした64ビットデータを、インタフェースIDと呼ぶ。
【0007】
典型的なIPv6アドレスを用いると、ネットワーク部は接続するネットワーク環境によるが、ホスト部のインタフェースIDは同じネットワークインタフェースを用いる限り一意である。よって、このインタフェースIDをキーとして検索することにより、このネットワークインタフェースを備えた機器の追跡が可能となる。機器の追跡が可能であると、その機器を使用するユーザの行動も追跡可能となる。よってホスト部にインタフェースIDを使用する限り、その機器を使用するユーザのプライバシーが脅かされる懸念がある。
【0008】
上記課題に対し、テンポラリアドレスという特殊なアドレス形式が提案されている。これは、RFC3041(「Privacy Extensions for Stateless Address Autoconfiguration in IPv6」、T.Narten、R.Draves、January 2001)で規定されている。テンポラリアドレスとは異なる64ビットデータを、ある期間毎に作成し、それをホスト部(IPv6アドレスの下64ビット)に用いることにより、機器の特定を困難にするアドレス形式である。
【0009】
以下、テンポラリアドレスの作成方法を簡単に記す。テンポラリアドレスの作成には、MD5 message digestを使う。MD5とは何ビットかの入力に対応した128ビットを出力する関数である。ここでは、128ビットを入力する。入力する128ビットの上位64ビットと下位64ビットを次のように構成する。インタフェースIDを上位64ビットとする。何らかの方法で生成したランダムな値64ビットあるいは前回のMD5の計算結果の下位64ビットを、入力128ビットの下位64ビットとする。この128ビットを入力としてMD5 message digestを計算し、その計算結果128ビットの上位64ビットを取り出す。取り出した64ビットの左から7ビット目をゼロにした64ビットをホスト部とする。計算結果の下位64ビットは、次回のMD5の計算に用いるため、記録しておく。詳細はRFC3041に記載されている。
【0010】
以上の生成方法に従ってある期間毎に異なるホスト部が作成され、その異なるホスト部を用いたグローバルアドレスを通信に使用するならば、単純にインタフェースIDを含めたグローバルアドレスを通信に使用する場合とは異なり、機器が同一であるか否かを判断することが困難なので、プライバシー侵害を防ぐ効果がある。
【0011】
【発明が解決しようとする課題】
上述したテンポラリアドレスを用いることにより、IPv6の下64ビットをある期間毎に変更して使用するので、インタフェースIDを下64ビットに使用した場合と比較して、匿名性は高くなる。
【0012】
しかしながら、ネットワーク部は、機器が同一のインターネットサービスプロバイダや組織に所属し、ネットワーク管理者がネットワークプレフィックスを変更するように設定しない限り、変更されることは基本的にない。よって、特に据え置きタイプの機器において、単一の組織に所属して常に同じネットワーク部を用いる場合、組織を特定されやすい、という問題があった。組織を特定されれば、そのネットワーク管理者に依頼してログを取るなどして、機器よりユーザを特定する様々な手段を講じることが可能となる。
【0013】
また、モバイルIPなどを用いた広域無線通信の場合、基地局が変わることによりネットワークプレフィックスも変化する場合がある。その場合、上記問題は解決されるが、積極的に機器を移動させて、ネットワークプレフィックスを変化させねばならない。またモバイル通信において2つ以上の無線区域にまたがって機器が存在する場合、通常は電波強度が強い方(通信感度がよい方)を選択して通信する。そのため、もし片方の電波強度が明らかに強く、基地局の切り替えが発生しない場合、ネットワークプレフィックスの変化も発生しないので上記問題は解決されない。基地局が3つ以上の場合でも同様である。
【0014】
【課題を解決するための手段】
本発明は上記の問題に鑑みてなされたものであり、2つ以上のネットワークプレフィックスを得られる状況において、送信元IPv6アドレスとして下64ビットだけでなく、上64ビットも変更して使用できるようにすることを目的とする。
【0015】
上記目的を達成するために、本発明は、ネットワークプレフィックスが異なるテンポラリアドレスを2つ以上生成する。機器は現通信時の送信元アドレスのネットワークプレフィックスを参照し、次通信時の送信元アドレスに、前回とは異なるネットワークプレフィックスを含むテンポラリアドレスを用いるようにする。
【0016】
【発明の実施の形態】
(第1の実施の形態)
本実施の形態では、2つのルータの管理下に機器が接続されている場合を想定する。
【0017】
図1は、本実施の形態を適用する環境を示す図である。リンクローカルネットワーク1があり、機器2が接続されている。また、リンクローカルネットワーク1にはルータ3、ルータ4という2つのルータが接続されている。リンクローカルネットワーク1の物理層の種類は特に種類は問わない。イーサネット(登録商標)、IEEE802.11、Bluetoothなど、物理層の上位でIPv6による通信ができれば問題ない。無線通信でももちろん構わない。ただし、RFC3041で規定されたテンポラリアドレスを生成可能であることが条件である。本実施の形態では、物理層は特に問わない。
【0018】
図2は、機器2の一般的な構成を示す図である。CPU201が機器2の全体の動作を制御する。RAM202は一時記憶装置であり、ROM203はプログラムなど、消去不可能なデータが組み込まれているRead Only Memoryである。ネットワークインタフェース204は、機器2が外部機器とデータ送受信を行う際に使用するインタフェースである。バス205は、各モジュールを接続する内部バスである。さらに、ハードディスクなどの大容量記憶装置、ディスプレイやキーボード、マウス、プリントアウト部といった入出力機器用のインタフェースなどを備えていてもよい。機器2はリンクローカルネットワーク1と接続可能で、RFC2461で規定されたステートレス自動設定が行えることを条件とする。
【0019】
ネットワークインタフェース204は、ネットワークプレフィックスを受信する受信手段であり、CPU301は、送信元アドレス及び経路を変更する変更手段である。後述するように、変更手段であるCPU301は、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更する。本形態では、変更手段であるCPU301は、テンポラリアドレスの有効期間が切れた際に、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更し、経路も変更する。
【0020】
図3,図4はルータ3、4の一般的な構成を示す図である。ルータ4はルータ3と同様なので、ルータ3について説明する。CPU301がルータ3の全体の動作を制御する。RAM302は一時記憶装置であり、ROM303はプログラムなど、消去不可能なデータが組み込まれているRead Only Memoryである。バス305は、各モジュールを接続する内部バスである。さらに、ハードディスクなどの大容量記憶装置、ディスプレイやキーボード、マウス、プリントアウト部といった入出力機器用のインタフェースなどを備えていてもよい。
【0021】
ネットワークインタフェース304および306は、ルータ3が外部機器とデータ送受信を行う際に使用するインタフェースである。ネットワークインタフェース304をリンクローカルネットワーク1(ローカル側、内向き)と接続し、ネットワークインタフェース306をインターネット5(インターネット側、外向き)と接続することとする。ルータ3,4とも、RFC2461で規定するステートレス自動設定で必要となる、ルータ広告を送信できるものとする。
【0022】
本実施の形態において、リンクローカルネットワーク1に対し、ルータ3は「2001:1000::/64」というネットワークプレフィックスを、ルータ4は「2001:2000::/64」というネットワークプレフィックスを広告するものとする。また、ルータ3のリンクローカル1に面したネットワークインタフェース304のリンクローカルアドレスは「fe80::1000」、ルータ4のリンクローカルアドレスは「fe80::2000」であるとする。
【0023】
機器2は、図1に示した環境に接続される。機器2は、ルータ3のネットワークインタフェース304、ルータ4のネットワークインタフェース404から送信されたルータ広告を受信する。機器2は、ルータ広告の受信をきっかけとしてRFC3041に従いテンポラリアドレスを生成し、設定する。
【0024】
説明上、ルータ3のルータ広告をきっかけとして生成した最初のテンポラリアドレスをテンポラリアドレス3−1(2001:1000::3333)、ルータ4のルータ広告をきっかけとして生成した最初のテンポラリアドレスをテンポラリアドレス4−1(2001:2000::4444)とする。機器2は、テンポラリアドレス3−1を使用しており、ルータ3をデフォルトルータとし、通信を行っているものとする。
【0025】
以上のような状況を前提とし、図5で示すフローチャートを参照しながら本実施の形態を説明する。図5は、送信元アドレスと経路を変更するアルゴリズムの動作を示すフローチャート図である。図5のフローチャートを実行するプログラムは、機器2のROM203に予め記録され、RAM202や一時記録部(ハードディスクなど)上で実行可能な形式に展開され、CPU201が処理を行うものとする。
【0026】
S101においてスタート後、S102において、機器2のCPU201は、使用中もしくは使用していたテンポラリアドレスの有効期限が切れたかチェックする。切れていなければNOとなり、S110に遷移し終了する。テンポラリアドレスの有効期限が切れていた場合YESとなり、そのテンポラリアドレスを「deprecated」状態とし、S103に遷移する。ここで「deprecated」状態とは、有効期限が切れたテンポラリアドレスではあるが、有効期限が切れる前から使用中であり、すぐに次の新しいテンポラリアドレスを使用することができない場合(例えばそのアドレスを使用してTCPコネクションを作成し、そのコネクションの接続が切断されていない場合など)に適用される状態である。「deprecated」状態になったテンポラリアドレスは、以後の新規通信には使用されない。ただし、TCPコネクションの接続中は、そのテンポラリアドレスを送信元アドレスとして使用して、通信する。
【0027】
その後、先に説明した方法に従い、新しいテンポラリアドレスが生成される。この新しいテンポラリアドレスは、「preferred」状態のテンポラリアドレスと呼び、以降の新しく開始される通信において使用される可能性があるテンポラリアドレスである。ただし、ネットワークプレフィックスは「deprecated」状態のテンポラリアドレスと同じである。本実施の形態では、テンポラリアドレス3−1がdeprecated状態となり、例えば「2001:1000::5555」といった、テンポラリアドレス3−1とネットワークプレフィックス「2001:1000::」は同じだがホスト部は異なるテンポラリアドレスが生成される。この新しく生成されたテンポラリアドレスを、テンポラリアドレス3−2と称することにする。
【0028】
S103において、機器2のCPU201は、ネットワークインタフェース204をチェックし、先のdeprecated状態となったテンポラリアドレスで使用していたネットワークプレフィックスと、異なるネットワークプレフィックスを含むテンポラリアドレスがあるかチェックする。なければNOとなり、S110に遷移して終了する。
【0029】
あればYESとなり、S104に遷移する。本実施の形態の場合、テンポラリアドレス4−1があり、そのテンポラリアドレス4−1のネットワークプレフィックス「2001:2000::/64」がテンポラリアドレス3−1のネットワークプレフィックス「2001:1000::/64」と異なるので、YESとなる。
【0030】
S104において、S103の結果発見されたテンポラリアドレスが複数あるかチェックする。1つのみであればNOとなり、S106に遷移する。2つ以上あればYESとなり、S105に遷移する。本実施の形態では1つのみなので、NOとなる。ネットワークプレフィックスを広告するルータが3台以上いれば(デフォルトルータ3以外のルータが複数いれば)、異なるネットワークプレフィックスを含むテンポラリアドレスが複数できる。
【0031】
S105において、S104の結果、deprecated状態のテンポラリアドレスとは異なるネットワークプレフィックスを含む「preferred」状態のテンポラリアドレスが2つ以上ある場合、その中から1つを選択する。この選択アルゴリズムは、特に問わない。例えばランダムに複数のテンポラリアドレスの中から1つを選択してもよいし、1つ1つのネットワークプレフィックスに履歴情報をつけたテーブルを管理し、異なるネットワークプレフィックスを均等に使用するようにしてもよい。また、以下のような方法で選択してもよい。残りのテンポラリアドレスに0から1刻みで番号をつけておく。現在使用中のテンポラリアドレスの下64ビットを全て加算し、それを残りのテンポラリアドレスの数で割る。その余りの数と、先に付加した番号を比較し、一致したテンポラリアドレスを選択する。
【0032】
以上のようにして、S105においてテンポラリアドレスを1つ選択したら、S106に遷移する。
【0033】
S106において、選択されたテンポラリアドレスを、次回以降の通信における送信元アドレスに使用するように設定する。具体的な設定方法としては、例えばデフォルトアドレス選択機構(「Default Address Selection for IPv6」、draft−ietf−ipv6−default−addr−select−09.txt、Richard Draves、August 6,2002)というインターネットドラフトで規定されているように、複数の送信元アドレス候補の中から1つの送信元アドレスを選択するアルゴリズムを改良し、選択されたテンポラリアドレスを最優先で選択するようにする、といった方法で実現できる。設定をしたら、S107に遷移する。本実施の形態では、テンポラリアドレス4−1(deprecated状態となったテンポラリアドレスで使用していたネットワークプレフィックスと、異なるネットワークプレフィックスを含むテンポラリアドレス(の一つ))が最優先で使用されるように設定される。
【0034】
S107において、機器2のルーティングテーブルに登録してあるデフォルトルータを、S106において設定したテンポラリアドレスのネットワークプレフィックスを広告したルータに変更する。本実施の形態では、デフォルトルータがルータ3からルータ4に変更される。つまり、送信先「default」に対するゲートウェイを、「fe80::1000」から「fe80::2000」にする。この処理により、ほとんどの外部宛先向けのパケットがルータ4を通って送受信されることとなる。もし、ルーティングテーブルにおいて特定の送信先アドレスがルータ3を通るように設定されている場合、ルータ4をゲートウェイとして通るように変更する。その後、S110に遷移し、終了となる。ルーティングテーブルは本実施の形態ではRAM202に記録されているものとするが、読み書き可能な記録媒体上であれば問題ない。
【0035】
テンポラリアドレス4−1の有効期限が切れた時、再度、図5で示す処理を適用する。その場合、テンポラリアドレス3−2の有効期限が切れていなければテンポラリアドレス3−2が使用されることとなる。テンポラリアドレス3−2の有効期限が切れていた場合、ネットワークプレフィックス「2001:1000::/64」を持つ、新たに生成され、有効期限が切れていないテンポラリアドレスが送信元アドレスとして使用される。
【0036】
以上説明した方法により、テンポラリアドレスの有効期限が切れる毎に、ネットワークプレフィックスが異なるテンポラリアドレスを送信元アドレスとして使用することが可能となった。
【0037】
すなわち、機器2は、送信元アドレスと経路を変更する。この変更方法は、ネットワークプレフィックスを受信する受信手順を含む。機器2は、受信したネットワークプレフィックスよりテンポラリアドレスを生成する。送信元アドレス及び経路の変更方法は、送信元アドレスを変更する送信元アドレス変更手順(S105)と、経路を変更する経路変更手順(S107)とを含む。この送信元アドレス変更手順(S105)では、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更する。本形態では、テンポラリアドレスの有効期間が切れた際に(S102)、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更する。
【0038】
この送信元アドレスと経路を変更するプログラムは、ROM203に記憶され、CPU201は、このプログラムをROM203から読み出して実行する。ROM203は、このプログラムを、CPU201が読み出すことができるように記憶した記憶媒体である。
【0039】
本実施の形態では2つのルータが存在し、2種類のネットワークプレフィックスを広告する場合を説明したが、3つ以上のルータが存在する場合、また3つ以上のネットワークプレフィックスを広告する場合についても同様に本発明を適用可能である。
【0040】
(第2の実施の形態)
第1の実施の形態において、機器はテンポラリアドレスの有効期限切れをきっかけとして送信元アドレスを変更し、その際にネットワークプレフィックスが異なるテンポラリアドレスを選択した。その際、デフォルトルートを変更し、機器のインターネットへの通信は全て経路も変更するようにしていた。
【0041】
本実施の形態では、通信開始毎に、ネットワークプレフィックスが異なるテンポラリアドレスを送信元アドレスとして使用する方法について説明する。
【0042】
機器2は、第1の実施の形態と同様にルータ3のネットワークインタフェース304、ルータ4のネットワークインタフェース404から送信されたルータ広告を受信する。機器2は、ルータ広告の受信をきっかけとしてRFC3041に従いテンポラリアドレスを生成し、設定する。説明上、ルータ3のルータ広告をきっかけとして生成した最初のテンポラリアドレスをテンポラリアドレス3−1(2001:1000::3333)、ルータ4のルータ広告をきっかけとして生成した最初のテンポラリアドレスをテンポラリアドレス4−1(2001:2000::4444)とする。機器2は、テンポラリアドレス3−1を使用しており、ルータ3をデフォルトルータ(ゲートウェイ)とし、通信を行っていたものとする。
【0043】
本実施の形態では、図6のような環境を想定する。通信先6は、グローバルアドレス「2001:340::100」が設定されているものとする。このような環境において、機器2が通信先6と通信を行う際を想定して説明する。
【0044】
以下、図7のフローチャートを参照しながら説明する。図7は、機器2が通信を行う際に、送信元アドレスと経路を変更するアルゴリズムの動作を示すフローチャート図である。図7のフローチャートを実行するプログラムは、機器2のROM203に予め記録され、RAM202や一時記録部(ハードディスクなど)上で実行可能な形式に展開され、CPU201が処理を行うものとする。また、機器2は経路表と呼ばれるテーブルを管理しているとする。経路表は送信先アドレスに応じた転送先(ゲートウェイ)が記録された表である。本実施の形態ではRAM202に記録されているものとするが、読み書き可能な記録媒体上であれば問題ない。
【0045】
S201においてスタートする。S201において、通信先アドレスが指定されるものとする。
【0046】
S202において、機器2の経路表で、指定された通信先アドレス(128ビット)が送信先アドレスとして登録されているかチェックする。機器2の経路表は、例えば図8に示すようなものである。送信先アドレスが「default」とある場合、他の送信先アドレスのどれとも条件が一致しなかった場合、この「default」の行にある条件に従ってパケットが転送される。図8の例では、全てのパケットがゲートウェイ「fe80::1000」を介して送信される。チェックの結果、通信先アドレスと一致した送信先アドレスが経路表にあればYESとなりS204に遷移する。なければNOとなりS203に遷移する。本実施の形態では、通信先「2001:340::100」は図8の経路表に登録されていないのでNOとなりS203に遷移する。
【0047】
S203において、CPU201はRAM202上にある経路表に通信先アドレスを送信先アドレスとして追加する。例えば、図8の経路表に通信先アドレス「2001:340::100」が送信先アドレスとして追加され、図9のようになる。
【0048】
S204において、CPU201は経路表の通信先アドレスに対応した「前回のネットワークプレフィックス」の項が書き込みされているかチェックする。チェックの結果、書き込みがなければS205に、あればS206に遷移する。本実施の形態の図9では、送信先アドレス「2001:340::100」に対応した「前回のネットワークプレフィックス」の項は書き込みされていないのでS205に遷移する。
【0049】
S205において、CPU201はネットワークインタフェース204に割り当てられている全てのテンポラリアドレスから1つを選択する。この選択方法は特に問わない。ランダムでもよいし、ネットワークプレフィックス毎の使用履歴を記録しておき、その頻度を参考に決定してもよい。本実施の形態の場合、ネットワークインタフェース204にはテンポラリアドレス3−1とテンポラリ4−1が設定されているので、どちらかのアドレスをランダムに選択して使用することとする。ここでは、テンポラリアドレス3−1を使用するとする。
【0050】
S206において、前回のネットワークプレフィックスが書き込まれていた場合、それと異なるネットワークプレフィックスをもつテンポラリアドレス(複数)の中から1つを選択する。もし、図10のような経路表が設定されていたとすると、通信先「2001:340::100」に対応する「前回のネットワークプレフィックス」はルータ4から広告された「2001:2000::/64」なので、それ以外のネットワークプレフィックスを持つテンポラリアドレス(この場合、テンポラリアドレス3−1)を選択する。機器2が、もし3つ以上のネットワークプレフィックスを得ていたならば、S206において選択可能なテンポラリアドレスは2つ以上となるので、適宜選択する。その場合の選択方法は特に問わない。
【0051】
S207において、CPU201は、RAM202上にある経路表上の「ゲートウェイ」と「前回のネットワークプレフィックス」の項に書き込みあるいは更新を行う。例えば、本実施の形態の場合、図9の経路表に、テンポラリアドレス3−1が使用するゲートウェイ「fe80::1000」(テンポラリアドレス3−1のネットワークプレフィックスを広告したルータ3のネットワークインタフェース304のリンクローカルアドレス)を経路表の「ゲートウェイ」の項に書き込みし、テンポラリアドレス3−1のネットワークプレフィックスである「2001:1000::/64」を「前回のネットワークプレフィックス」の項に書き込みし、図11のようになる。S206の説明で用いた図10で示す経路表が設定されていた場合は、次のテンポラリアドレスにテンポラリアドレス3−1が選択されたので、図10から図11のように更新する。
【0052】
S207の終了後、S210に遷移して終了する。
【0053】
以上の動作により、通信先ごとに異なる送信元アドレスを使用できる環境が整う。S201において指定された通信先アドレスとの通信において、S205又はS206で選択されたテンポラリアドレスを、送信元アドレスとして使用する。また、通信先「2001:340::100」との通信におけるパケットは、ルータ3を通って送受信される。
【0054】
以後、図7で示したアルゴリズムを適用するごとに、異なるネットワークプレフィックスのテンポラリアドレスへの変更が可能となる。
【0055】
例えば、図10のような経路表であった場合、機器2のCPU201は、2001:340::100への送信を行う際、S206において、図10を参照して「前回のネットワークプレフィックス」の項を参照する。そして、「前回のネットワークプレフィックス」に記述されているネットワークプレフィックス以外のネットワークプレフィックスを持つテンポラリアドレスを検索し、それを送信元アドレスとして使用する。以後、図7で示したアルゴリズムを使用する毎に「前回のネットワークプレフィックス」に記述されているネットワークプレフィックスの値は変化するので、送信元アドレスの変更が可能となる。
【0056】
ここで、図7のアルゴリズムを、例えばソケットを生成して通信を行う毎に用いれば、ソケット通信毎に、ネットワークプレフィックスが異なる送信元アドレスを用いて通信を行うことが可能となる。また、パケットの送信毎に用いれば、パケット毎にネットワークプレフィックスが異なる送信元アドレスを用いて通信を行うことが可能となる。同様に、アプリケーション起動毎に、図7のアルゴリズムを適用することも可能である。
【0057】
つまり、希望の頻度において通信を行う前に図7のアルゴリズムを適用すれば、異なるネットワークプレフィックスを用いた送信元アドレスで通信を行うことが可能となる。
【0058】
すなわち、機器2は、送信元アドレスと経路を変更する。この変更方法は、ネットワークプレフィックスを受信する受信手順を含む。機器2は、受信したネットワークプレフィックスよりテンポラリアドレスを生成する。送信元アドレス及び経路の変更方法は、送信元アドレスを変更する送信元アドレス変更手順(S206)と、経路を変更する経路変更手順(S207)とを含む。この送信元アドレス変更手順(S206)では、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更する。
【0059】
この送信元アドレスと経路を変更するプログラムは、ROM203に記憶され、CPU201は、このプログラムをROM203から読み出して実行する。ROM203は、このプログラムを、CPU201が読み出すことができるように記憶した記憶媒体である。
【0060】
本実施の形態において、テンポラリアドレス3−1、4−1自体の更新は、本アルゴリズム外である。つまり、例えば、第1の実施の形態で説明したように、テンポラリアドレス3−1、4−1ともに有効期間が経過したら下64ビットが更新されるが、図7で示したアルゴリズムは影響されない。
【0061】
【発明の効果】
以上説明したように、本発明によれば、ネットワークプレフィックスが異なるテンポラリアドレスを送信元アドレスとして選択して使用するようにした。したがって、匿名性が高まるという効果が得られる。使用できるネットワークプレフィックスの数が多いほど、匿名性はさらに高まる。その結果、ユーザは、自己の通信機器の特定がされにくくなり、より安心して任意の通信を行えるという効果が得られる。
【0062】
また、機器が所属するリンクローカルネット内の複数のルータを、送信先アドレスが同一でもルータを切り替えて使用可能になった。したがって、ルータにおけるルーティング処理の負荷分散が可能になるという効果が得られる。
【0063】
また、送信元アドレスの変更に伴い経路も変更するので、盗聴などの行為により盗まれる情報が少なくなる可能性がある、という効果が得られる。
【図面の簡単な説明】
【図1】第1の実施の形態におけるネットワーク例を示す図である。
【図2】第1の実施の形態における機器2の一般的な構成を示す図である。
【図3】第1の実施の形態におけるネットワークを構成するルータ3の一般的な構成を示す図である。
【図4】第1の実施の形態におけるネットワークを構成するルータ4の一般的な構成を示す図である。
【図5】テンポラリアドレスの更新をきっかけに送信元アドレスを変更するフローチャートを示す図である。
【図6】第2の実施の形態におけるネットワーク例を示す図である。
【図7】任意のタイミングで、ネットワークプレフィックスが異なるテンポラリアドレスを送信元アドレスとするフローチャートを示す図である。
【図8】第2の実施の形態で参照する経路表の例を示す図である。
【図9】第2の実施の形態で参照する経路表の例を示す図である。
【図10】第2の実施の形態で参照する経路表の例を示す図である。
【図11】第2の実施の形態で参照する経路表の例を示す図である。
【符号の説明】
1 ローカルネットワーク
2 機器
3 ルータ
4 ルータ
5 インターネット
【発明の属する技術分野】
本発明は、テンポラリアドレス通信装置、プログラム、記録媒体、および方法に関する。
【0002】
【従来の技術】
インターネット通信において、長年Internet Protocol Version4(IPv4)が使用されてきた。しかし、アドレス数の不足などのIPv4の課題を解決するべく、Internet Protocol Version 6(IPv6)が提案され、徐々に実用化が始まっている。
【0003】
IPv6アドレスは128ビット長である。IPv6アドレスの上64ビットは主にルーティングに関するデータであり、ネットワーク部と呼ぶ。下64ビットは主に1ルータ下において端末を最終的に特定するために必要なデータであり、ホスト部と呼ぶ。
【0004】
ネットワーク部のデータは、手動設定において設定することも可能であるが、ステートレス自動設定という方式により自動設定が可能である。簡単に説明すると、機器はルータから64ビットのデータ(ネットワークプレフィックス)をルータ広告(Router Advertisement)というパケットと共に送信してもらい、それを受信してネットワークプレフィックスをネットワーク部に設定することにより、自動設定が可能となる。このステートレス自動設定に関しては、RFC2461(「Neighbor Discovery for IP Version 6(IPv6)」、T.Narten、E.Nordmark、W.Simpson、December 1998)などに詳細に記述されている。
【0005】
典型的なIPv6アドレスでは、ホスト部のデータにはインタフェースIDと呼ばれるデータを用いる。インタフェースIDは、物理層にイーサネット(登録商標)を使用する場合、イーサネット(登録商標)インタフェースのMACアドレス48ビットを元にして以下のように生成される。
【0006】
イーサネット(登録商標)のIEEE identifier(MACアドレス)は、6バイト(48ビット)長のアドレスで、先頭の3バイトは製造ベンダーコードとしてIEEEによって管理・割当てがされている。残り3バイトは各ベンダーに管理が任されており、重複が起こらないように割当てがされる。ベンダーが管理するコードはイーサネット(登録商標)・カード毎に異なるように振られるので、イーサネット(登録商標)・カード毎に世界で唯一のアドレスが対応し、イーサネット(登録商標)上でのデータの送受信の際のアドレス(データリンク層アドレス)として利用される。イーサネット(登録商標)のMACアドレスを3バイトずつに分割し、中間に16進数の「FFFE」をはさみ、先頭から7ビット目を1にした64ビットデータを、インタフェースIDと呼ぶ。
【0007】
典型的なIPv6アドレスを用いると、ネットワーク部は接続するネットワーク環境によるが、ホスト部のインタフェースIDは同じネットワークインタフェースを用いる限り一意である。よって、このインタフェースIDをキーとして検索することにより、このネットワークインタフェースを備えた機器の追跡が可能となる。機器の追跡が可能であると、その機器を使用するユーザの行動も追跡可能となる。よってホスト部にインタフェースIDを使用する限り、その機器を使用するユーザのプライバシーが脅かされる懸念がある。
【0008】
上記課題に対し、テンポラリアドレスという特殊なアドレス形式が提案されている。これは、RFC3041(「Privacy Extensions for Stateless Address Autoconfiguration in IPv6」、T.Narten、R.Draves、January 2001)で規定されている。テンポラリアドレスとは異なる64ビットデータを、ある期間毎に作成し、それをホスト部(IPv6アドレスの下64ビット)に用いることにより、機器の特定を困難にするアドレス形式である。
【0009】
以下、テンポラリアドレスの作成方法を簡単に記す。テンポラリアドレスの作成には、MD5 message digestを使う。MD5とは何ビットかの入力に対応した128ビットを出力する関数である。ここでは、128ビットを入力する。入力する128ビットの上位64ビットと下位64ビットを次のように構成する。インタフェースIDを上位64ビットとする。何らかの方法で生成したランダムな値64ビットあるいは前回のMD5の計算結果の下位64ビットを、入力128ビットの下位64ビットとする。この128ビットを入力としてMD5 message digestを計算し、その計算結果128ビットの上位64ビットを取り出す。取り出した64ビットの左から7ビット目をゼロにした64ビットをホスト部とする。計算結果の下位64ビットは、次回のMD5の計算に用いるため、記録しておく。詳細はRFC3041に記載されている。
【0010】
以上の生成方法に従ってある期間毎に異なるホスト部が作成され、その異なるホスト部を用いたグローバルアドレスを通信に使用するならば、単純にインタフェースIDを含めたグローバルアドレスを通信に使用する場合とは異なり、機器が同一であるか否かを判断することが困難なので、プライバシー侵害を防ぐ効果がある。
【0011】
【発明が解決しようとする課題】
上述したテンポラリアドレスを用いることにより、IPv6の下64ビットをある期間毎に変更して使用するので、インタフェースIDを下64ビットに使用した場合と比較して、匿名性は高くなる。
【0012】
しかしながら、ネットワーク部は、機器が同一のインターネットサービスプロバイダや組織に所属し、ネットワーク管理者がネットワークプレフィックスを変更するように設定しない限り、変更されることは基本的にない。よって、特に据え置きタイプの機器において、単一の組織に所属して常に同じネットワーク部を用いる場合、組織を特定されやすい、という問題があった。組織を特定されれば、そのネットワーク管理者に依頼してログを取るなどして、機器よりユーザを特定する様々な手段を講じることが可能となる。
【0013】
また、モバイルIPなどを用いた広域無線通信の場合、基地局が変わることによりネットワークプレフィックスも変化する場合がある。その場合、上記問題は解決されるが、積極的に機器を移動させて、ネットワークプレフィックスを変化させねばならない。またモバイル通信において2つ以上の無線区域にまたがって機器が存在する場合、通常は電波強度が強い方(通信感度がよい方)を選択して通信する。そのため、もし片方の電波強度が明らかに強く、基地局の切り替えが発生しない場合、ネットワークプレフィックスの変化も発生しないので上記問題は解決されない。基地局が3つ以上の場合でも同様である。
【0014】
【課題を解決するための手段】
本発明は上記の問題に鑑みてなされたものであり、2つ以上のネットワークプレフィックスを得られる状況において、送信元IPv6アドレスとして下64ビットだけでなく、上64ビットも変更して使用できるようにすることを目的とする。
【0015】
上記目的を達成するために、本発明は、ネットワークプレフィックスが異なるテンポラリアドレスを2つ以上生成する。機器は現通信時の送信元アドレスのネットワークプレフィックスを参照し、次通信時の送信元アドレスに、前回とは異なるネットワークプレフィックスを含むテンポラリアドレスを用いるようにする。
【0016】
【発明の実施の形態】
(第1の実施の形態)
本実施の形態では、2つのルータの管理下に機器が接続されている場合を想定する。
【0017】
図1は、本実施の形態を適用する環境を示す図である。リンクローカルネットワーク1があり、機器2が接続されている。また、リンクローカルネットワーク1にはルータ3、ルータ4という2つのルータが接続されている。リンクローカルネットワーク1の物理層の種類は特に種類は問わない。イーサネット(登録商標)、IEEE802.11、Bluetoothなど、物理層の上位でIPv6による通信ができれば問題ない。無線通信でももちろん構わない。ただし、RFC3041で規定されたテンポラリアドレスを生成可能であることが条件である。本実施の形態では、物理層は特に問わない。
【0018】
図2は、機器2の一般的な構成を示す図である。CPU201が機器2の全体の動作を制御する。RAM202は一時記憶装置であり、ROM203はプログラムなど、消去不可能なデータが組み込まれているRead Only Memoryである。ネットワークインタフェース204は、機器2が外部機器とデータ送受信を行う際に使用するインタフェースである。バス205は、各モジュールを接続する内部バスである。さらに、ハードディスクなどの大容量記憶装置、ディスプレイやキーボード、マウス、プリントアウト部といった入出力機器用のインタフェースなどを備えていてもよい。機器2はリンクローカルネットワーク1と接続可能で、RFC2461で規定されたステートレス自動設定が行えることを条件とする。
【0019】
ネットワークインタフェース204は、ネットワークプレフィックスを受信する受信手段であり、CPU301は、送信元アドレス及び経路を変更する変更手段である。後述するように、変更手段であるCPU301は、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更する。本形態では、変更手段であるCPU301は、テンポラリアドレスの有効期間が切れた際に、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更し、経路も変更する。
【0020】
図3,図4はルータ3、4の一般的な構成を示す図である。ルータ4はルータ3と同様なので、ルータ3について説明する。CPU301がルータ3の全体の動作を制御する。RAM302は一時記憶装置であり、ROM303はプログラムなど、消去不可能なデータが組み込まれているRead Only Memoryである。バス305は、各モジュールを接続する内部バスである。さらに、ハードディスクなどの大容量記憶装置、ディスプレイやキーボード、マウス、プリントアウト部といった入出力機器用のインタフェースなどを備えていてもよい。
【0021】
ネットワークインタフェース304および306は、ルータ3が外部機器とデータ送受信を行う際に使用するインタフェースである。ネットワークインタフェース304をリンクローカルネットワーク1(ローカル側、内向き)と接続し、ネットワークインタフェース306をインターネット5(インターネット側、外向き)と接続することとする。ルータ3,4とも、RFC2461で規定するステートレス自動設定で必要となる、ルータ広告を送信できるものとする。
【0022】
本実施の形態において、リンクローカルネットワーク1に対し、ルータ3は「2001:1000::/64」というネットワークプレフィックスを、ルータ4は「2001:2000::/64」というネットワークプレフィックスを広告するものとする。また、ルータ3のリンクローカル1に面したネットワークインタフェース304のリンクローカルアドレスは「fe80::1000」、ルータ4のリンクローカルアドレスは「fe80::2000」であるとする。
【0023】
機器2は、図1に示した環境に接続される。機器2は、ルータ3のネットワークインタフェース304、ルータ4のネットワークインタフェース404から送信されたルータ広告を受信する。機器2は、ルータ広告の受信をきっかけとしてRFC3041に従いテンポラリアドレスを生成し、設定する。
【0024】
説明上、ルータ3のルータ広告をきっかけとして生成した最初のテンポラリアドレスをテンポラリアドレス3−1(2001:1000::3333)、ルータ4のルータ広告をきっかけとして生成した最初のテンポラリアドレスをテンポラリアドレス4−1(2001:2000::4444)とする。機器2は、テンポラリアドレス3−1を使用しており、ルータ3をデフォルトルータとし、通信を行っているものとする。
【0025】
以上のような状況を前提とし、図5で示すフローチャートを参照しながら本実施の形態を説明する。図5は、送信元アドレスと経路を変更するアルゴリズムの動作を示すフローチャート図である。図5のフローチャートを実行するプログラムは、機器2のROM203に予め記録され、RAM202や一時記録部(ハードディスクなど)上で実行可能な形式に展開され、CPU201が処理を行うものとする。
【0026】
S101においてスタート後、S102において、機器2のCPU201は、使用中もしくは使用していたテンポラリアドレスの有効期限が切れたかチェックする。切れていなければNOとなり、S110に遷移し終了する。テンポラリアドレスの有効期限が切れていた場合YESとなり、そのテンポラリアドレスを「deprecated」状態とし、S103に遷移する。ここで「deprecated」状態とは、有効期限が切れたテンポラリアドレスではあるが、有効期限が切れる前から使用中であり、すぐに次の新しいテンポラリアドレスを使用することができない場合(例えばそのアドレスを使用してTCPコネクションを作成し、そのコネクションの接続が切断されていない場合など)に適用される状態である。「deprecated」状態になったテンポラリアドレスは、以後の新規通信には使用されない。ただし、TCPコネクションの接続中は、そのテンポラリアドレスを送信元アドレスとして使用して、通信する。
【0027】
その後、先に説明した方法に従い、新しいテンポラリアドレスが生成される。この新しいテンポラリアドレスは、「preferred」状態のテンポラリアドレスと呼び、以降の新しく開始される通信において使用される可能性があるテンポラリアドレスである。ただし、ネットワークプレフィックスは「deprecated」状態のテンポラリアドレスと同じである。本実施の形態では、テンポラリアドレス3−1がdeprecated状態となり、例えば「2001:1000::5555」といった、テンポラリアドレス3−1とネットワークプレフィックス「2001:1000::」は同じだがホスト部は異なるテンポラリアドレスが生成される。この新しく生成されたテンポラリアドレスを、テンポラリアドレス3−2と称することにする。
【0028】
S103において、機器2のCPU201は、ネットワークインタフェース204をチェックし、先のdeprecated状態となったテンポラリアドレスで使用していたネットワークプレフィックスと、異なるネットワークプレフィックスを含むテンポラリアドレスがあるかチェックする。なければNOとなり、S110に遷移して終了する。
【0029】
あればYESとなり、S104に遷移する。本実施の形態の場合、テンポラリアドレス4−1があり、そのテンポラリアドレス4−1のネットワークプレフィックス「2001:2000::/64」がテンポラリアドレス3−1のネットワークプレフィックス「2001:1000::/64」と異なるので、YESとなる。
【0030】
S104において、S103の結果発見されたテンポラリアドレスが複数あるかチェックする。1つのみであればNOとなり、S106に遷移する。2つ以上あればYESとなり、S105に遷移する。本実施の形態では1つのみなので、NOとなる。ネットワークプレフィックスを広告するルータが3台以上いれば(デフォルトルータ3以外のルータが複数いれば)、異なるネットワークプレフィックスを含むテンポラリアドレスが複数できる。
【0031】
S105において、S104の結果、deprecated状態のテンポラリアドレスとは異なるネットワークプレフィックスを含む「preferred」状態のテンポラリアドレスが2つ以上ある場合、その中から1つを選択する。この選択アルゴリズムは、特に問わない。例えばランダムに複数のテンポラリアドレスの中から1つを選択してもよいし、1つ1つのネットワークプレフィックスに履歴情報をつけたテーブルを管理し、異なるネットワークプレフィックスを均等に使用するようにしてもよい。また、以下のような方法で選択してもよい。残りのテンポラリアドレスに0から1刻みで番号をつけておく。現在使用中のテンポラリアドレスの下64ビットを全て加算し、それを残りのテンポラリアドレスの数で割る。その余りの数と、先に付加した番号を比較し、一致したテンポラリアドレスを選択する。
【0032】
以上のようにして、S105においてテンポラリアドレスを1つ選択したら、S106に遷移する。
【0033】
S106において、選択されたテンポラリアドレスを、次回以降の通信における送信元アドレスに使用するように設定する。具体的な設定方法としては、例えばデフォルトアドレス選択機構(「Default Address Selection for IPv6」、draft−ietf−ipv6−default−addr−select−09.txt、Richard Draves、August 6,2002)というインターネットドラフトで規定されているように、複数の送信元アドレス候補の中から1つの送信元アドレスを選択するアルゴリズムを改良し、選択されたテンポラリアドレスを最優先で選択するようにする、といった方法で実現できる。設定をしたら、S107に遷移する。本実施の形態では、テンポラリアドレス4−1(deprecated状態となったテンポラリアドレスで使用していたネットワークプレフィックスと、異なるネットワークプレフィックスを含むテンポラリアドレス(の一つ))が最優先で使用されるように設定される。
【0034】
S107において、機器2のルーティングテーブルに登録してあるデフォルトルータを、S106において設定したテンポラリアドレスのネットワークプレフィックスを広告したルータに変更する。本実施の形態では、デフォルトルータがルータ3からルータ4に変更される。つまり、送信先「default」に対するゲートウェイを、「fe80::1000」から「fe80::2000」にする。この処理により、ほとんどの外部宛先向けのパケットがルータ4を通って送受信されることとなる。もし、ルーティングテーブルにおいて特定の送信先アドレスがルータ3を通るように設定されている場合、ルータ4をゲートウェイとして通るように変更する。その後、S110に遷移し、終了となる。ルーティングテーブルは本実施の形態ではRAM202に記録されているものとするが、読み書き可能な記録媒体上であれば問題ない。
【0035】
テンポラリアドレス4−1の有効期限が切れた時、再度、図5で示す処理を適用する。その場合、テンポラリアドレス3−2の有効期限が切れていなければテンポラリアドレス3−2が使用されることとなる。テンポラリアドレス3−2の有効期限が切れていた場合、ネットワークプレフィックス「2001:1000::/64」を持つ、新たに生成され、有効期限が切れていないテンポラリアドレスが送信元アドレスとして使用される。
【0036】
以上説明した方法により、テンポラリアドレスの有効期限が切れる毎に、ネットワークプレフィックスが異なるテンポラリアドレスを送信元アドレスとして使用することが可能となった。
【0037】
すなわち、機器2は、送信元アドレスと経路を変更する。この変更方法は、ネットワークプレフィックスを受信する受信手順を含む。機器2は、受信したネットワークプレフィックスよりテンポラリアドレスを生成する。送信元アドレス及び経路の変更方法は、送信元アドレスを変更する送信元アドレス変更手順(S105)と、経路を変更する経路変更手順(S107)とを含む。この送信元アドレス変更手順(S105)では、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更する。本形態では、テンポラリアドレスの有効期間が切れた際に(S102)、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更する。
【0038】
この送信元アドレスと経路を変更するプログラムは、ROM203に記憶され、CPU201は、このプログラムをROM203から読み出して実行する。ROM203は、このプログラムを、CPU201が読み出すことができるように記憶した記憶媒体である。
【0039】
本実施の形態では2つのルータが存在し、2種類のネットワークプレフィックスを広告する場合を説明したが、3つ以上のルータが存在する場合、また3つ以上のネットワークプレフィックスを広告する場合についても同様に本発明を適用可能である。
【0040】
(第2の実施の形態)
第1の実施の形態において、機器はテンポラリアドレスの有効期限切れをきっかけとして送信元アドレスを変更し、その際にネットワークプレフィックスが異なるテンポラリアドレスを選択した。その際、デフォルトルートを変更し、機器のインターネットへの通信は全て経路も変更するようにしていた。
【0041】
本実施の形態では、通信開始毎に、ネットワークプレフィックスが異なるテンポラリアドレスを送信元アドレスとして使用する方法について説明する。
【0042】
機器2は、第1の実施の形態と同様にルータ3のネットワークインタフェース304、ルータ4のネットワークインタフェース404から送信されたルータ広告を受信する。機器2は、ルータ広告の受信をきっかけとしてRFC3041に従いテンポラリアドレスを生成し、設定する。説明上、ルータ3のルータ広告をきっかけとして生成した最初のテンポラリアドレスをテンポラリアドレス3−1(2001:1000::3333)、ルータ4のルータ広告をきっかけとして生成した最初のテンポラリアドレスをテンポラリアドレス4−1(2001:2000::4444)とする。機器2は、テンポラリアドレス3−1を使用しており、ルータ3をデフォルトルータ(ゲートウェイ)とし、通信を行っていたものとする。
【0043】
本実施の形態では、図6のような環境を想定する。通信先6は、グローバルアドレス「2001:340::100」が設定されているものとする。このような環境において、機器2が通信先6と通信を行う際を想定して説明する。
【0044】
以下、図7のフローチャートを参照しながら説明する。図7は、機器2が通信を行う際に、送信元アドレスと経路を変更するアルゴリズムの動作を示すフローチャート図である。図7のフローチャートを実行するプログラムは、機器2のROM203に予め記録され、RAM202や一時記録部(ハードディスクなど)上で実行可能な形式に展開され、CPU201が処理を行うものとする。また、機器2は経路表と呼ばれるテーブルを管理しているとする。経路表は送信先アドレスに応じた転送先(ゲートウェイ)が記録された表である。本実施の形態ではRAM202に記録されているものとするが、読み書き可能な記録媒体上であれば問題ない。
【0045】
S201においてスタートする。S201において、通信先アドレスが指定されるものとする。
【0046】
S202において、機器2の経路表で、指定された通信先アドレス(128ビット)が送信先アドレスとして登録されているかチェックする。機器2の経路表は、例えば図8に示すようなものである。送信先アドレスが「default」とある場合、他の送信先アドレスのどれとも条件が一致しなかった場合、この「default」の行にある条件に従ってパケットが転送される。図8の例では、全てのパケットがゲートウェイ「fe80::1000」を介して送信される。チェックの結果、通信先アドレスと一致した送信先アドレスが経路表にあればYESとなりS204に遷移する。なければNOとなりS203に遷移する。本実施の形態では、通信先「2001:340::100」は図8の経路表に登録されていないのでNOとなりS203に遷移する。
【0047】
S203において、CPU201はRAM202上にある経路表に通信先アドレスを送信先アドレスとして追加する。例えば、図8の経路表に通信先アドレス「2001:340::100」が送信先アドレスとして追加され、図9のようになる。
【0048】
S204において、CPU201は経路表の通信先アドレスに対応した「前回のネットワークプレフィックス」の項が書き込みされているかチェックする。チェックの結果、書き込みがなければS205に、あればS206に遷移する。本実施の形態の図9では、送信先アドレス「2001:340::100」に対応した「前回のネットワークプレフィックス」の項は書き込みされていないのでS205に遷移する。
【0049】
S205において、CPU201はネットワークインタフェース204に割り当てられている全てのテンポラリアドレスから1つを選択する。この選択方法は特に問わない。ランダムでもよいし、ネットワークプレフィックス毎の使用履歴を記録しておき、その頻度を参考に決定してもよい。本実施の形態の場合、ネットワークインタフェース204にはテンポラリアドレス3−1とテンポラリ4−1が設定されているので、どちらかのアドレスをランダムに選択して使用することとする。ここでは、テンポラリアドレス3−1を使用するとする。
【0050】
S206において、前回のネットワークプレフィックスが書き込まれていた場合、それと異なるネットワークプレフィックスをもつテンポラリアドレス(複数)の中から1つを選択する。もし、図10のような経路表が設定されていたとすると、通信先「2001:340::100」に対応する「前回のネットワークプレフィックス」はルータ4から広告された「2001:2000::/64」なので、それ以外のネットワークプレフィックスを持つテンポラリアドレス(この場合、テンポラリアドレス3−1)を選択する。機器2が、もし3つ以上のネットワークプレフィックスを得ていたならば、S206において選択可能なテンポラリアドレスは2つ以上となるので、適宜選択する。その場合の選択方法は特に問わない。
【0051】
S207において、CPU201は、RAM202上にある経路表上の「ゲートウェイ」と「前回のネットワークプレフィックス」の項に書き込みあるいは更新を行う。例えば、本実施の形態の場合、図9の経路表に、テンポラリアドレス3−1が使用するゲートウェイ「fe80::1000」(テンポラリアドレス3−1のネットワークプレフィックスを広告したルータ3のネットワークインタフェース304のリンクローカルアドレス)を経路表の「ゲートウェイ」の項に書き込みし、テンポラリアドレス3−1のネットワークプレフィックスである「2001:1000::/64」を「前回のネットワークプレフィックス」の項に書き込みし、図11のようになる。S206の説明で用いた図10で示す経路表が設定されていた場合は、次のテンポラリアドレスにテンポラリアドレス3−1が選択されたので、図10から図11のように更新する。
【0052】
S207の終了後、S210に遷移して終了する。
【0053】
以上の動作により、通信先ごとに異なる送信元アドレスを使用できる環境が整う。S201において指定された通信先アドレスとの通信において、S205又はS206で選択されたテンポラリアドレスを、送信元アドレスとして使用する。また、通信先「2001:340::100」との通信におけるパケットは、ルータ3を通って送受信される。
【0054】
以後、図7で示したアルゴリズムを適用するごとに、異なるネットワークプレフィックスのテンポラリアドレスへの変更が可能となる。
【0055】
例えば、図10のような経路表であった場合、機器2のCPU201は、2001:340::100への送信を行う際、S206において、図10を参照して「前回のネットワークプレフィックス」の項を参照する。そして、「前回のネットワークプレフィックス」に記述されているネットワークプレフィックス以外のネットワークプレフィックスを持つテンポラリアドレスを検索し、それを送信元アドレスとして使用する。以後、図7で示したアルゴリズムを使用する毎に「前回のネットワークプレフィックス」に記述されているネットワークプレフィックスの値は変化するので、送信元アドレスの変更が可能となる。
【0056】
ここで、図7のアルゴリズムを、例えばソケットを生成して通信を行う毎に用いれば、ソケット通信毎に、ネットワークプレフィックスが異なる送信元アドレスを用いて通信を行うことが可能となる。また、パケットの送信毎に用いれば、パケット毎にネットワークプレフィックスが異なる送信元アドレスを用いて通信を行うことが可能となる。同様に、アプリケーション起動毎に、図7のアルゴリズムを適用することも可能である。
【0057】
つまり、希望の頻度において通信を行う前に図7のアルゴリズムを適用すれば、異なるネットワークプレフィックスを用いた送信元アドレスで通信を行うことが可能となる。
【0058】
すなわち、機器2は、送信元アドレスと経路を変更する。この変更方法は、ネットワークプレフィックスを受信する受信手順を含む。機器2は、受信したネットワークプレフィックスよりテンポラリアドレスを生成する。送信元アドレス及び経路の変更方法は、送信元アドレスを変更する送信元アドレス変更手順(S206)と、経路を変更する経路変更手順(S207)とを含む。この送信元アドレス変更手順(S206)では、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更する。
【0059】
この送信元アドレスと経路を変更するプログラムは、ROM203に記憶され、CPU201は、このプログラムをROM203から読み出して実行する。ROM203は、このプログラムを、CPU201が読み出すことができるように記憶した記憶媒体である。
【0060】
本実施の形態において、テンポラリアドレス3−1、4−1自体の更新は、本アルゴリズム外である。つまり、例えば、第1の実施の形態で説明したように、テンポラリアドレス3−1、4−1ともに有効期間が経過したら下64ビットが更新されるが、図7で示したアルゴリズムは影響されない。
【0061】
【発明の効果】
以上説明したように、本発明によれば、ネットワークプレフィックスが異なるテンポラリアドレスを送信元アドレスとして選択して使用するようにした。したがって、匿名性が高まるという効果が得られる。使用できるネットワークプレフィックスの数が多いほど、匿名性はさらに高まる。その結果、ユーザは、自己の通信機器の特定がされにくくなり、より安心して任意の通信を行えるという効果が得られる。
【0062】
また、機器が所属するリンクローカルネット内の複数のルータを、送信先アドレスが同一でもルータを切り替えて使用可能になった。したがって、ルータにおけるルーティング処理の負荷分散が可能になるという効果が得られる。
【0063】
また、送信元アドレスの変更に伴い経路も変更するので、盗聴などの行為により盗まれる情報が少なくなる可能性がある、という効果が得られる。
【図面の簡単な説明】
【図1】第1の実施の形態におけるネットワーク例を示す図である。
【図2】第1の実施の形態における機器2の一般的な構成を示す図である。
【図3】第1の実施の形態におけるネットワークを構成するルータ3の一般的な構成を示す図である。
【図4】第1の実施の形態におけるネットワークを構成するルータ4の一般的な構成を示す図である。
【図5】テンポラリアドレスの更新をきっかけに送信元アドレスを変更するフローチャートを示す図である。
【図6】第2の実施の形態におけるネットワーク例を示す図である。
【図7】任意のタイミングで、ネットワークプレフィックスが異なるテンポラリアドレスを送信元アドレスとするフローチャートを示す図である。
【図8】第2の実施の形態で参照する経路表の例を示す図である。
【図9】第2の実施の形態で参照する経路表の例を示す図である。
【図10】第2の実施の形態で参照する経路表の例を示す図である。
【図11】第2の実施の形態で参照する経路表の例を示す図である。
【符号の説明】
1 ローカルネットワーク
2 機器
3 ルータ
4 ルータ
5 インターネット
Claims (7)
- ネットワークプレフィックスを受信する受信手段と、
送信元アドレス及び経路を変更する変更手段とを備え、
前記変更手段は、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更することを特徴とするテンポラリアドレス通信装置。 - 請求項1において、
前記変更手段は、テンポラリアドレスの有効期間が切れた際に、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更し、経路も変更することを特徴とするテンポラリアドレス通信装置。 - 送信元アドレスと経路を変更するプログラムであって、
ネットワークプレフィックスを受信する受信手順と、
送信元アドレスを変更する送信元アドレス変更手順と、
経路を変更する経路変更手順とを備え、
前記送信元アドレス変更手順は、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更することを特徴とするテンポラリアドレス通信プログラム。 - 請求項3において、
前記送信元アドレス変更手順は、テンポラリアドレスの有効期間が切れた際に、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更することを特徴とするテンポラリアドレス通信プログラム。 - 請求項3又は4に記載のプログラムが記録されたコンピュータ読み取り可能な記録媒体。
- 送信元アドレスと経路を変更する方法であって、
ネットワークプレフィックスを受信する受信手順と、
送信元アドレスを変更する送信元アドレス変更手順と、
経路を変更する経路変更手順とを備え、
前記送信元アドレス変更手順は、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更することを特徴とするテンポラリアドレス通信方法。 - 請求項6において、
前記送信元アドレス変更手順は、テンポラリアドレスの有効期間が切れた際に、ネットワークプレフィックスが変更前の送信元アドレスとは異なるテンポラリアドレスに、送信元アドレスを変更することを特徴とするテンポラリアドレス通信方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003162160A JP2004364109A (ja) | 2003-06-06 | 2003-06-06 | テンポラリアドレス通信装置、プログラム、記録媒体、および方法 |
US10/859,679 US7668114B2 (en) | 2003-06-06 | 2004-06-03 | Communication apparatus and method with enhanced anonymity via modified use of addresses |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003162160A JP2004364109A (ja) | 2003-06-06 | 2003-06-06 | テンポラリアドレス通信装置、プログラム、記録媒体、および方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004364109A true JP2004364109A (ja) | 2004-12-24 |
Family
ID=33516099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003162160A Withdrawn JP2004364109A (ja) | 2003-06-06 | 2003-06-06 | テンポラリアドレス通信装置、プログラム、記録媒体、および方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7668114B2 (ja) |
JP (1) | JP2004364109A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007053681A (ja) * | 2005-08-19 | 2007-03-01 | Ricoh Co Ltd | 通信機器、通信方法、通信プログラム |
JP2007089138A (ja) * | 2005-08-24 | 2007-04-05 | Ricoh Co Ltd | 通信機器、通信方法および通信プログラム |
JP2007251269A (ja) * | 2006-03-13 | 2007-09-27 | Ricoh Co Ltd | ネットワーク機器 |
JP2010166411A (ja) * | 2009-01-16 | 2010-07-29 | Toshiba Corp | 通信装置およびネットワークインターフェイスカード |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7974311B2 (en) * | 2004-02-10 | 2011-07-05 | Spyder Navigations L.L.C. | Configuring addresses in a communication network |
US20050271050A1 (en) * | 2004-06-04 | 2005-12-08 | Utstarcom, Inc. | Domain-influenced prefix assignment method and apparatus |
US8429393B1 (en) * | 2004-09-30 | 2013-04-23 | Rockwell Automation Technologies, Inc. | Method for obscuring a control device's network presence by dynamically changing the device's network addresses using a cryptography-based pattern |
JP2006261768A (ja) * | 2005-03-15 | 2006-09-28 | Toshiba Corp | 通信装置、通信方法および通信プログラム |
KR100864158B1 (ko) * | 2007-01-29 | 2008-10-16 | 주식회사 케이티 | 휴대 인터넷 망에서 임시 주소 생성/할당 방법 및 그를이용한 무선 자원 할당 방법 |
US8429254B2 (en) * | 2009-11-24 | 2013-04-23 | Ge Security, Inc. | Method for networkable device communication |
JP2012034353A (ja) * | 2010-06-28 | 2012-02-16 | Panasonic Corp | ネットワーク通信装置、通信方法および集積回路 |
CN107547676B (zh) * | 2017-05-31 | 2020-09-11 | 新华三技术有限公司 | 一种地址处理方法及装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI103164B1 (fi) * | 1996-11-06 | 1999-04-30 | Ericsson Telefon Ab L M | Järjestelmä ja menetelmä palvelun käyttöönottamiseksi |
US6493347B2 (en) * | 1996-12-16 | 2002-12-10 | Juniper Networks, Inc. | Memory organization in a switching device |
US5909440A (en) * | 1996-12-16 | 1999-06-01 | Juniper Networks | High speed variable length best match look-up in a switching device |
US6542496B1 (en) * | 1998-06-30 | 2003-04-01 | Hitachi, Ltd. | Packet switching method and apparatus thereof |
JP3423628B2 (ja) | 1998-11-02 | 2003-07-07 | キヤノン株式会社 | Macアドレス管理装置、macアドレス管理システム、macアドレス管理方法、及び記憶媒体 |
US6493765B1 (en) * | 1999-03-23 | 2002-12-10 | Nortel Networks Limited | Domain name resolution in a network having multiple overlapping address domains |
US7161929B1 (en) * | 1999-07-19 | 2007-01-09 | British Telecommunications | Routing in a packet switching network with mobile terminals |
US6781982B1 (en) * | 1999-10-26 | 2004-08-24 | 3Com Corporation | Method and system for allocating persistent private network addresses between private networks |
US6892245B1 (en) * | 2000-09-22 | 2005-05-10 | Nortel Networks Limited | Management information base for a multi-domain network address translator |
US20020105954A1 (en) * | 2001-02-02 | 2002-08-08 | Craig Peter Alan | Dynamic update proxy |
JP4531277B2 (ja) * | 2001-03-01 | 2010-08-25 | 富士通株式会社 | ネットワークサービス設定システムおよびネットワークサービス提供方法 |
JP3665622B2 (ja) * | 2002-03-29 | 2005-06-29 | 株式会社東芝 | ソースアドレス選択システム、ルータ装置、通信ノード及びソースアドレス選択方法 |
JP4211285B2 (ja) * | 2002-05-24 | 2009-01-21 | 株式会社日立製作所 | ネットワークストレージシステムの仮想一元化方法及び装置 |
JP3972733B2 (ja) * | 2002-05-30 | 2007-09-05 | 株式会社日立製作所 | アドレス変換装置、アドレス変換システム、及びsipサーバ |
US7130614B2 (en) * | 2002-08-30 | 2006-10-31 | Nokia Corporation | Mobile unit attachment/update to cellular communication network |
US7286468B2 (en) * | 2002-11-12 | 2007-10-23 | Cisco Technology, Inc. | Routing system and method for synchronizing a routing system with peers after failover |
US7283542B2 (en) * | 2002-11-15 | 2007-10-16 | Nortel Networks Limited | Network address translator and secure transfer device for interfacing networks |
US20040111529A1 (en) * | 2002-12-10 | 2004-06-10 | Intel Corporation (A Delaware Corporation) | Dynamic host based load balancing of a multihomed network |
US7571156B1 (en) * | 2003-03-28 | 2009-08-04 | Netlogic Microsystems, Inc. | Network device, storage medium and methods for incrementally updating a forwarding database |
US7346664B2 (en) * | 2003-04-24 | 2008-03-18 | Neopath Networks, Inc. | Transparent file migration using namespace replication |
JP2006301540A (ja) * | 2005-04-25 | 2006-11-02 | Olympus Corp | 対物レンズプロテクタおよび対物レンズユニット |
-
2003
- 2003-06-06 JP JP2003162160A patent/JP2004364109A/ja not_active Withdrawn
-
2004
- 2004-06-03 US US10/859,679 patent/US7668114B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007053681A (ja) * | 2005-08-19 | 2007-03-01 | Ricoh Co Ltd | 通信機器、通信方法、通信プログラム |
JP2007089138A (ja) * | 2005-08-24 | 2007-04-05 | Ricoh Co Ltd | 通信機器、通信方法および通信プログラム |
JP2007251269A (ja) * | 2006-03-13 | 2007-09-27 | Ricoh Co Ltd | ネットワーク機器 |
JP2010166411A (ja) * | 2009-01-16 | 2010-07-29 | Toshiba Corp | 通信装置およびネットワークインターフェイスカード |
Also Published As
Publication number | Publication date |
---|---|
US20040258005A1 (en) | 2004-12-23 |
US7668114B2 (en) | 2010-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Nieminen et al. | Ipv6 over bluetooth (r) low energy | |
JP4491980B2 (ja) | 通信処理システム、通信処理方法、および通信端末装置、並びにプログラム | |
EP1593022B1 (en) | Arrangement for establishing a bidirectional tunnel between a mobile router and a correspondent router | |
JP4572476B2 (ja) | 通信処理システム、通信処理方法、および通信端末装置、データ転送制御装置、並びにプログラム | |
Perkins | Mobile ip | |
US7328014B2 (en) | Communication system, gateway equipment, communication method and authentication method | |
EP1627503B1 (en) | Arrangement for retrieving routing information for establishing a bidirectional tunnel between a mobile router and a correspondent router | |
US7729312B2 (en) | Router apparatus, route information distributing method, and communications system | |
US20020039357A1 (en) | Addressing and routing in mobile ad hoc networks | |
JP2003298618A (ja) | ネームサーバ、ネットワーク・システム、逆引き要求処理方法、正引き要求処理方法及び通信制御方法 | |
EP1529383A2 (en) | Arrangement for router attachments between roaming mobile routers in a mobile network | |
WO2004034669A1 (en) | Routing in a data communication network | |
US20070099649A1 (en) | Method and apparatus for neighbor discovery in IPv6-based mobile system | |
JP5820106B2 (ja) | 通信装置、および、その制御方法 | |
JP2004364109A (ja) | テンポラリアドレス通信装置、プログラム、記録媒体、および方法 | |
US9503889B2 (en) | System and method for mobile IP | |
Nieminen et al. | RFC 7668: IPv6 over BLUETOOTH (R) Low Energy | |
CN101577723A (zh) | 一种防止邻居发现协议报文攻击的方法及装置 | |
US20040019664A1 (en) | Method and system for discovering a network element in a network such as an agent in an IP network | |
GB2400269A (en) | Method of handoff in a packet-switched data communication network | |
KR100547119B1 (ko) | 인터페이스 ID를 이용하여 IPv6 주소를 생성하는방법 및 그 장치 | |
JP2003309596A (ja) | モバイル通信網システム、外部エージェントルータ、アドレスサーバ及びそれらに用いるパケット配送方法 | |
Imadali et al. | Analyzing dynamic IPv6 address auto-configuration techniques for group IP-based vehicular communications | |
JP2003092597A (ja) | 移動体通信システム | |
JP2004328223A (ja) | 移動通信システム、通信端末、通信経路切替方法及び通信経路切替用プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060905 |