(57)【要約】【課題】匿名アドレスを利用して匿名性や秘匿性が損なわれないデータ通信を可能にする経路を、その匿名性や秘匿性が損なわれないように修復する。【解決手段】切断リンクを検知した端末が匿名アドレスを利用してRERRを送信する手順と、RERRを受信した一方のエンド端末がRRPRを生成し、これを匿名アドレスを利用して送信する手順と、RRPRを受信した端末がこれを中継する手順と、RRPRを受信した他方のエンド端末がRREP_Rを生成し、これを匿名アドレスを利用して一方のエンド端末へ送信する手順と、RREP_Rを受信した端末がこれを中継する手順と、RRPRおよびRREPを中継した端末が匿名アドレスを経路情報として記憶する手順とを含み、RRPRおよびRREP_Rの中継が、切断リンクを挟んで対向する端末間では、宛先をブロードキャストアドレスとしたフラッディングにより行われ、それ以外では匿名アドレスを利用して行われる。【選択図】図１７
2006295741.tif 000002
【特許請求の範囲】
【請求項１】
一対のエンド端末のそれぞれに匿名アドレスが割り当てられ、前記エンド端末間の通信を中継する端末に前記匿名アドレスのペアが通知されており、前記エンド端末同士が前記匿名アドレスを利用して通信する経路が切断されたときに、これを修復する経路修復方法において、
切断リンクを挟んで対向する一対の端末の少なくとも一方が、前記匿名アドレスを利用して、リンク切断メッセージをエンド端末へ送信する手順と、
前記リンク切断メッセージを受信した一方のエンド端末が経路修復メッセージを生成する手順と、
前記一方のエンド端末が、前記匿名アドレスを利用して、経路修復メッセージを他方のエンド端末へ送信する手順と、
前記経路修復メッセージを受信した端末が当該メッセージを他方のエンド端末まで中継する手順と、
前記経路修復メッセージを受信した他方のエンド端末が経路修復応答メッセージを生成する手順と、
前記他方のエンド端末が、前記匿名アドレスを利用して、前記経路修復応答メッセージを一方のエンド端末へ送信する手順と、
前記経路修復応答メッセージを受信した端末が当該メッセージを一方のエンド端末まで中継する手順と、
前記経路修復メッセージおよび経路修復応答メッセージを中継した端末が前記匿名アドレスを経路情報として記憶する手順とを含み、
前記経路修復メッセージおよび経路修復応答メッセージの中継が、前記切断リンクを挟んで対向する一対の端末間では、送信元アドレスがダミーアドレスで宛先アドレスがブロードキャストアドレスのフラッディングにより行われ、前記切断リンクを挟んで対向する一対の端末間以外では、前記匿名アドレスを利用して行われることを特徴とする経路修復方法。
【請求項２】
前記リンク切断メッセージを受信したエンド端末が、送信する経路修復メッセージにシーケンス番号を書き込む手順をさらに具備し、
前記一対のエンド端末は、相互に異なるシーケンス番号を各経路修復メッセージに書き込み、各端末では、前記シーケンス番号に基づいて一方の経路修復メッセージが無視されることを特徴とする請求項１に記載の経路修復方法。
【請求項３】
一対のエンド端末のそれぞれに匿名アドレスが割り当てられ、前記エンド端末間の通信を中継する端末に前記匿名アドレスのペアが通知されており、前記エンド端末同士が前記匿名アドレスを利用して通信する経路が切断されたときに、これを修復する経路修復システムにおいて、
前記各端末が、
隣接リンクの切断を検知する手段と、
前記隣接リンクの切断が検知されると、前記匿名アドレスを利用して、リンク切断メッセージを一方のエンド端末へ送信する手段と、
自身を宛先とするリンク切断メッセージの受信に応答して経路修復メッセージを生成する手段と、
前記匿名アドレスを利用して、前記経路修復メッセージを他方のエンド端末へ送信する手段と、
一方のエンド端末から送信された経路修復メッセージを他方のエンド端末まで中継する手段と、
自身を宛先とする経路修復メッセージの受信に応答して経路修復応答メッセージを生成する手段と、
前記匿名アドレスを利用して、前記経路修復応答メッセージを一方のエンド端末へ送信する手段と、
他方のエンド端末から送信された経路修復応答メッセージを一方のエンド端末まで中継する手段と、
中継した経路修復メッセージおよび経路修復応答メッセージに基づいて経路情報を生成する手段とを含み、
前記経路修復メッセージおよび経路修復応答メッセージの中継が、切断リンクを挟んで対向する一対の端末間では、送信元アドレスがダミーアドレスで宛先アドレスがブロードキャストアドレスのフラッディングにより行われ、前記切断リンクを挟んで対向する一対の端末間以外では、前記匿名アドレスを利用して行われることを特徴とする経路修復システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は経路修復方法およびシステムに係り、特に、アドホックネットワーク上で匿名性および秘匿性の高いマルチホップ通信を可能にする経路の修復方法およびシステムに関する。
【背景技術】
【０００２】
携帯電話網や無線LANのように移動端末が無線基地局を介して通信を行う方式以外に、端末同士が直接データのやりとりを行う方式がある。これは、例えば無線LANでは「アドホックモード」という通信モードによってサポートされている。アドホックモードでは、端末同士の通信は１対１で行われるが、これをさらに拡張してアドホックルーティング技術を利用することにより、自身に隣接した相手のみならず、離れた相手に対しても、間に位置する移動端末を中継端末として利用することにより通信を可能にするマルチホップ通信が提案され、例えば特許文献１に開示されている。
【０００３】
一方、アドホックに構築される無線ネットワークには正しい動作をする端末だけが存在するとは限らない。場合によっては、悪意の第三者が存在し、さまざまな攻撃を行うこともあり得る。アドホックルーティング技術では、端末から送信されたデータパケットが複数の中継端末を経由することになるが、従来のアドホックルーティング技術では、途中の中継端末に不正を働く者がいたとしても、それを知ることが困難である。
【０００４】
また、従来のルーティング技術では、相互に通信を行うエンド端末（送信端末および宛先端末）が送信パケットに対して、相手端末を一意に特定できる固有アドレスを登録する必要があった。このために、通信を行っているエンド端末が中継ノード全体に知れてしまい、通信の匿名性が著しく失われてしまう。
【０００５】
このような技術課題に対して、端末がアドホック通信を行う際に、匿名性、秘匿性を確保しながら通信経路を確立する手法が特許文献１に開示されている。
【特許文献１】特願２００３−４２０７５３号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記した従来技術によれば、経路確立の際に送信端末、宛先端末および中継経路を他の端末に特定されることなく、当該送信端末および宛先端末のぞれぞれにデータ通信用の匿名アドレス(FWs，FWt)を割り当てることができ、この匿名アドレスをすれば、アドホックネットワーク上で匿名性および秘匿性の高いマルチホップ通信を行えるようになる。
【０００７】
しかしながら、切断された経路を修復する際に各端末間で送受信される経路切断メッセージや経路修復メッセージ等の制御メッセージにおいて、従来のように各端末に固有のアドレスが用いられてしまうと、エンド端末や経路の匿名性、秘匿性が損なわれてしまう。
【０００８】
本発明の目的は、上記した従来技術の課題を解決し、エンド端末のそれぞれに匿名アドレスが割り当てられ、エンド端末同士が匿名アドレスを利用して通信する経路が切断されたときに、これをエンド端末等の匿名性や秘匿性が損なわれないように、かつ経路の全てを作り直すことなく部分的な修復のみで再生できる経路修復方法およびシステムを提供することにある。
【課題を解決するための手段】
【０００９】
上記した目的を達成するために、本発明は、一対のエンド端末のそれぞれに匿名アドレスが割り当てられ、このエンド端末同士が前記匿名アドレスを利用して通信する経路が切断されたときに、これを修復する経路修復方法において、以下のような手段を講じた点に特徴がある。
(1)切断リンクを挟んで対向する一対の端末の少なくとも一方が、前記匿名アドレスを利用して、リンク切断メッセージをエンド端末へ送信する手順と、前記リンク切断メッセージを受信した一方のエンド端末が経路修復メッセージを生成する手順と、前記一方のエンド端末が、前記匿名アドレスを利用して、経路修復メッセージを他方のエンド端末へ送信する手順と、前記経路修復メッセージを受信した端末が当該メッセージを他方のエンド端末まで中継する手順と、前記経路修復メッセージを受信した他方のエンド端末が経路修復応答メッセージを生成する手順と、前記他方のエンド端末が、前記匿名アドレスを利用して、前記経路修復応答メッセージを一方のエンド端末へ送信する手順と、前記経路修復応答メッセージを受信した端末が当該メッセージを一方のエンド端末まで中継する手順と、前記経路修復メッセージおよび経路修復応答メッセージを中継した端末が前記匿名アドレスを経路情報として記憶する手順とを含み、前記経路修復メッセージおよび経路修復応答メッセージの中継が、前記切断リンクを挟んで対向する一対の端末間では、送信元アドレスがダミーアドレスで宛先アドレスがブロードキャストアドレスのフラッディングにより行われ、前記切断リンクを挟んで対向する一対の端末間以外では、前記匿名アドレスを利用して行われることを特徴とする。
(2)前記リンク切断メッセージを受信したエンド端末が、送信する経路修復メッセージにシーケンス番号を書き込む手順をさらに具備し、前記一対のエンド端末は、相互に異なるシーケンス番号を経路修復メッセージに書き込み、各端末では、前記シーケンス番号に基づいて一方の経路修復メッセージが無視されることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、以下のような効果が達成される。
(1)経路修復時における経路修復メッセージおよびその応答メッセージの中継が、切断リンクを挟んで対向する一対の端末間では、その送信元や宛先が特定されないように、送信元アドレスにはダミーアドレスが書き込まれ、宛先アドレスにはブロードキャストアドレスが書き込まれて送信される一方、既設の経路上では匿名アドレスを利用して行われる。したがって、切断された経路をエンド端末等の匿名性や秘匿性が損なわれないように、かつ部分的に修復できるようになる。
(2)切断リンクを挟んで対向する一対の端末のそれぞれから送信された経路切断メッセージが各エンド端末でそれぞれ受信され、これに応答して各エンド端末から経路修復メッセージが送出されても、各端末では各メッセージに書き込まれているシーケンス番号に基づいて一方を有効にして他方を無効にするので、同一の切断リンクに対して複数の経路修復手順が実行されてしまうことがない。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の好ましい実施の形態について詳細に説明する。図１は、本発明の経路確立方法が適用されるアドホックネットワークの構成例を示した図であり、無線アクセスポイントAPと、この無線アクセスポイントAPとネットワークを介して接続された経路制御サーバRMと、複数の移動端末(S，A，B，…T)とを主要な構成としている。
【００１２】
本実施形態では、移動端末A，Bのみが無線アクセスポイントAPの通信エリア内すなわちインフラ網の圏内に位置し、移動端末S，C，Tがインフラ網の圏外に位置し、移動端末Sが送信端末として振る舞い、移動端末Tが宛先端末として振る舞う場合を例にして説明する。なお、本実施形態では公開鍵および秘密鍵のペアならびに共有鍵を利用して通信データが秘匿されるので、経路制御サーバRMおよび各移動端末S，A，B，C，Tは、図２に一覧表示したように各種の暗号鍵を管理している。
(a)第１公開鍵KRMp：
経路制御サーバRMにより発行されて全ての移動端末で保持される。
(b)第１秘密鍵KRMs：
前記第１公開鍵KRMpと対をなす鍵であり、サーバRMのみで保持する。
(c)第１共有鍵KRM_x ：
移動端末XおよびサーバRMにより共有される鍵であり、各移動端末XによりサーバRMへ予め登録される。
(d)第２公開鍵Kxp：
各移動端末Xに固有の鍵であり、経路制御サーバRMで保持される。
(e)第２秘密鍵Kxs：
前記各第２公開鍵Kxpと対をなす鍵であり、各移動端末Xで保持される。
(f)第２共有鍵KCx：
RREQをフラッディングする際に各移動端末Xで生成され、その後に受信されるRREPの正当性を確認するために使用される。
(g)セッション鍵SK：
経路確立時に宛先端末Tで生成され、RREPに登録されて各中継端末へ通知される。セッション鍵SKは中継端末の全てが共有するので経路確立後も利用可能である。
【００１３】
図３，４は、経路確立時に各移動端末で実行される経路確立手順を示したフローチャートであり、図５は、経路確立時に経路制御サーバRMで実施される経路確立手順を示したフローチャートであり、図６は、経路確立時のシーケンス図である。
【００１４】
端末Sでは、端末Tを宛先とする経路確立の指示に応答して経路テーブルが検索され、端末Tへ至る経路が既登録であるか否かが確認される。ここでは、端末Tへ至る経路が経路テーブルに未登録であり、新たに経路探索が必要であると判断されたものとして説明を続ける。送信端末Sでは、最終宛先を端末Tとする経路要求メッセージ（RREQ）が生成される。
【００１５】
図７は、各移動端末間および各移動端末と経路制御サーバRMとの間で送受信されるシグナリングメッセージのフォーマットの一例を示した図であり、基本ヘッダとシグナリング部とから構成される。前記基本ヘッダには、メッセージの種別（RREQ、RREP、FWREQ、FWREP等）を表すType値、シグナリング部の長さLenおよびflag値等のパラメータが登録されている。
【００１６】
図８は、RREQの基本フォーマットを示した図であり、前記シグナリング部に格納されて送信される。このRREQには、送信端末SのIPアドレス「IPs」、宛先端末TのIPアドレス「IPt」、後述する匿名アドレスFWs，FWtと一意に対応する「アドレスID」、各セッションと一意に対応する「セッションID」およびその候補値である「セッションID候補」、シーケンス番号「seq」、ホップ上限数「hop limit」、「公開鍵」、メッセージ識別子（ハッシュ符号）「sig」、現在までのホップ数「hop」、後述する「前段ホップ順序ID」、ならびにホップ情報「hop info」の各フィールドが確保されている。
【００１７】
前記送信端末Sおよび宛先端末Tの各IPアドレス「IPs」、「IPt」は、送信端末Sにおいて、第１公開鍵KRMpで暗号化されてRREQに登録される。「セッションID候補」には、送信端末Sにおいてランダム値が登録される。「セッションID」には、送信端末Sにおいて初期値「０」が登録される。「公開鍵」には、送信端末Sから送信される際は第１公開鍵「KRMp」が登録される。メッセージ識別子「sig」は、前記各IPアドレスIPs、IPtの暗号化データ、アドレスID、セッションID候補、セッションID、seq、hop limitおよび公開鍵(KRMp)を署名範囲として、各端末に固有の第１共有鍵KRM_x（送信端末SであればKRM_s)を暗号鍵とした、例えばHMAC-MD5のような鍵付きハッシュ関数の計算により生成される。
【００１８】
前記「hop info」には、各移動端末XのIPアドレス「IPx」、「前段ホップ順序ID」、「自段ホップ順序ID」、「FW値」、「第２共有鍵KCx」、後述する匿名アドレスのペア「FWs」，「FWt」およびチェック値「check」の各フィールドが確保されている。匿名アドレス「FWs」，「FWt」および「check」は、後に経路制御サーバRMから提供されるパラメータであって、送信端末Sからフラッディングされる際はいずれも「０」である。
【００１９】
「前段ホップ順序ID」は、メッセージのポップ順序を代表する識別子の一つであり、メッセージを自身にホップした前段の移動端末が当該RREQに付した序数である。「自段ホップ順序ID」は、自身が当該RREQに付した序数であり、前記「前段ホップ順序ID」よりも大きな値となる。なお、送信端末Sから送信されるRREQでは、「前段ホップ順序ID」および「自段ホップ順序ID」のいずれにも「０」が登録されている。前記「hop info」は第１公開鍵KRMpで暗号化されてRREQに格納される。
【００２０】
前記RREQは、そのIPヘッダの送信元アドレスにダミーアドレス（例えば、[0.0.0.0]）が登録され、宛先アドレスにブロードキャストアドレス（例えば、[255.255.255.255]）が登録されてネットワーク上にフラッディングされる。
【００２１】
移動端末Aでは、図３のステップＳ１において、前記送信端末SからフラッディングされたRREQが受信されると、ステップＳ２では、当該RREQに登録されている「アドレスID」が参照される。端末Aで受信されるRREQのアドレスIDは未だ「０」であり、これは当該RREQの正当性が未だにサーバRMで検証されていないことを意味している。これは同時に、当該RREQのアドレス情報（IPアドレス「IPs」、「IPt」）が第１公開鍵KRMpで暗号化されたままであって、経路制御サーバRM以外は解読できないことを意味しているので、その解読を試みることなくステップＳ５へ進む。
【００２２】
なお、アドレスIDが「０」以外であれば、RREQのアドレス情報は、後に詳述するように、サーバRMによって、宛先端末Tであれば解読できる第１共有鍵KRM_tで再暗号化されているのでステップＳ３へ進む。ステップＳ３では、当該RREQのアドレス情報が各端末に固有の第１共有鍵KRM_xで復号化され、その解読が試される。ステップＳ４では、解読できたか否かに基づいて、当該RREQの宛先が自身であるか否かが判定される。解読できなければ、受信したRREQの宛先が自身以外と判定されてステップＳ５へ進む。
【００２３】
ステップＳ５では、自身がインフラ網の圏内であるか否かが判定される。端末Aであれば圏内と判定されてステップＳ６へ進む。ステップＳ６では、匿名アドレスFWs，FWtをサーバRMに要求するFWアドレス要求メッセージ(FWREQ）が生成され、ステップＳ７においてサーバRMへ送信される。
【００２４】
図９は、前記FWREQの基本フォーマットの一例を示した図であり、前記RREQと同様のフォーマットを有しており、RREQの署名範囲内の各パラメータ、メッセージ識別子「sig」および「Hop Info」等がそのまま登録されて送信される。
【００２５】
図５へ進み、サーバRMでは、ステップＳ５１において前記FWREQが受信されるとステップＳ５２へ進み、このFWREQに格納されている「アドレスID」が参照される。端末Aから送信されたFWREQであれば「アドレスID」が「０」であり、同一のRREQに関して初めて受信されたFWREQであって、これは匿名アドレスFWs，FWtやセッションIDが未割り当てであることを意味するのでステップＳ５３へ進む。
【００２６】
ステップＳ５３では、第１公開鍵KRMpで暗号化されているアドレス情報が第１秘密鍵KRMsで解読され、送信端末SのIPアドレス「IPs」および宛先端末TのIPアドレス「IPt」が抽出される。ステップＳ５４では、サーバRMが送信端末Sと共有する第１共有鍵KRM_sを暗号鍵として、署名範囲のデータにHMAC-MD5等の鍵付きハッシュ関数の計算が実施され、その計算結果と前記FWREQに登録されていたメッセージ識別子「sig」とが比較される。両者が一致して当該FWREQの正当性が確認されればステップＳ５５へ進み、前記各IPアドレス「IPs」，「IPt」が、今度はサーバRMが宛先端末Tと共有する第１共有鍵KRM_tで改めて暗号化される。
【００２７】
ステップＳ５６では、第１公開鍵KRMpで暗号化されている「Hop Info」が第１秘密鍵KRMsで復号化され、さらに宛先端末Tに固有の第２公開鍵Ktpで改めて暗号化される。ステップＳ５７では、FWREQに登録されている「セッションID候補」の値が、既に他のセッションに割り当て済みであるか否かが判定される。未割り当てであればステップＳ５８へ進み、当該セッションID候補の値がセッションIDとしてそのまま登録される。セッションID候補の値が他のセッションに割り当て済みであればステップＳ５９へ進み、未割り当てのIDがセッションIDとして登録される。
【００２８】
ステップＳ６０では、FWアドレス応答メッセージ(FWREP)が生成される。図１０はFWREPの基本フォーマットの一例を示した図であり、受信されたFWREQ（図９）と比較すると、公開鍵が第１公開鍵KRMpから宛先端末Tに固有の第２公開鍵Ktpに変更され、アドレス情報の暗号鍵が第１公開鍵KRMpから宛先端末Tの第１共有鍵KRM_tに変更され、メッセージ識別子「sig」が宛先端末Tの第１共有鍵KRM_tを暗号鍵とする鍵付きハッシュ関数の計算結果に変更されている。
【００２９】
ステップＳ６１では、送信端末Sおよび宛先端末Tの各IPアドレス「IPs」，「IPt」のペアに対して未割り当ての匿名アドレスFWs、FWtが割り当てられ、check値（乱数）と共にテーブルへ登録される。ステップＳ６２では、テーブルのエントリ番号（または、その値へ１対１で変換できる値）が「アドレスID」として登録され、前記FWs，FWtおよびcheck値と共にFWREPに登録される。ステップＳ６３では、前記FWREPが端末Aへ送信される。
【００３０】
なお、前記ステップＳ５２において、受信されたFWREQのアドレスIDが「０」以外であればステップＳ６４へ進み、その値に基づいて匿名アドレスFWs、FWtのペアがテーブルから抽出される。ステップＳ６５では、抽出された匿名アドレスFWs、FWtとFWREQのHop infoに既登録の匿名アドレスFWs、FWtとが比較され、両者が一致すれば、ステップＳ６３へ進んでFWREPが送信される。
【００３１】
これに対して、両者が不一致であれば何らかの不正が行われているので、ステップＳ６６においてFWREQが破棄されてFWREPも送信されない。なお、ステップＳ５２においてアドレスIDが「０」と判定されているにもかかわらずFWREQに匿名アドレスFWs、FWtが既登録の場合も、何らかの不正が行われているので、当該FWREQが破棄されてFWREPも送信されない。
【００３２】
図３へ戻り、端末Aは前記FWREQの送信後、ステップＳ８において前記FWREPを受信するとステップＳ１０へ進み、そのアドレス情報に自身の第１共有鍵KRM_aで解読を試みる。ステップＳ１１では、解読できたか否かに基づいて、前記RREQが自端末宛であるか否かが改めて判定される。FWREPのアドレス情報は、前記ステップＳ５５において、経路制御サーバRMにより宛先端末Tに固有の第１共有鍵KRM_tで再暗号化されているので端末Aでは解読できない。したがって、ここでも前記RREQの宛先が自身以外と判定されてステップＳ１２へ進む。なお、前記ステップＳ７でFWREQを送信した後、ステップＳ８においてFWREPが受信される前に所定時間が経過し、ステップＳ９でタイムアウトが検知された場合もステップＳ１２へ進む。
【００３３】
ステップＳ１２では、前記受信したRREQに登録されていた前段ホップ順序 IDよりも大きいランダム値が自段ホップ順序IDとして発生される。そして、経路制御サーバRMにより割り当てられてFWREPに追加登録されている匿名アドレスFWs、FWt、自段ホップ順序IDおよび前段ホップ順序ID、ならびに第２共有鍵KCx（端末Xがランダム値として発生させる）等をHop Infoに書き込むと共に、これを前記FWREPに登録されている公開鍵Ktpを用いて多重暗号化し、さらに前段ホップ順序IDを自段ホップ順序IDに書き換えてRREQを更新する。
【００３４】
なお、本実施形態では前記ステップＳ７でFWREQを送信した後、ステップＳ８においてFWREPが受信されるまで待機状態となるが、ステップＳ７でFWREQを送信した後、ひとまず処理を終了し、その後のFWREQの受信を契機に前記ステップＳ１０へ移行するようにしても良い。
【００３５】
図１１は、前記Hop Infoの多重暗号化構造を模式的に表現した図であり、前記経路制御サーバRMにおいて第２公開鍵Ktpで再暗号化されたHop Infoに、当該端末Aで生成されたHop Infoが追加され、まとめて第２公開鍵Ktpで暗号化される。
【００３６】
ステップＳ１３では、前記更新されたRREQがフラッディングされる。ステップＳ１４では、前記FWREPに登録されていたセッションID候補、セッションID、自段ホップ順序ID、seq、check値および第２共有鍵KCxが、相互に対応付けられて自身の転送リストに仮登録される。ただし、匿名アドレスFWs、FWtは登録されない。これらの仮登録に関するライフタイムは、正式登録された場合のライフタイムよりも短くされる。
【００３７】
図１２は、前記端末AからフラッディングされるRREQの一例を示した図であり、送信端末SからフラッディングされたRREQと比較すると、アドレス情報の暗号鍵がKRMpから宛先端末Tに固有の第１共有鍵KRM_tに変更され、公開鍵もKRMpから宛先端末Tに固有の第２公開鍵Ktpに変更されている。
【００３８】
図３へ戻り、RREQを端末Aから受信した端末Bでは、ステップＳ２においてアドレスIDが「０」以外と判定される。アドレスIDが「０」以外であればステップＳ３へ進み、当該RREQに登録されているアドレス情報を自身の第１共有鍵KRM_bで復号化して解読を試みる。ステップＳ４では、解読できたか否かに基づいて、当該RREQの宛先が自身であるか否かが判定される。
【００３９】
RREQの宛先が端末Bであれば、そのアドレス情報は経路制御サーバRMによって、サーバRMが端末Bと共有する第１共有鍵KRM_bで再暗号化されているので解読できる。しかしながら、端末Bが受信したRREQのアドレス情報は、宛先端末Tの第１共有鍵KRM_tで暗号化されているので解読できない。したがって、ここでは自身以外が宛先と判定されてステップＳ５へ進む。これ以降は前記端末Aの場合と同様に、FWREQの送信（Ｓ７）、FWREPの受信（Ｓ８）、RREQの更新（Ｓ１２）、RREQのフラッディング（Ｓ１３）および転送リストの更新（Ｓ１４）等が実行される。
【００４０】
さらに、前記RREQを端末Bから受信した端末Cでは、ステップＳ４において宛先端末ではないと判定された後、ステップＳ５において圏外と判断されるので、FWREQをサーバRMへ送信することなくステップＳ１２へ進み、RREQの更新（Ｓ１２）、RREQのフラッディング（Ｓ１３）および転送リストの更新（Ｓ１４）等が実行される。
【００４１】
なお、圏外の端末では経路制御サーバRMと通信することなく、受信したRREQを直ちに処理する。その際、Hop InfoのFWs、FWt、checkには「０」が登録され、その他はhop数のみが更新され、当該RREQに登録されている公開鍵（前段の端末のいずれかが圏内端末であれば宛先端末Tの第２公開鍵Ktp、前段の端末のいずれもが圏外端末であれば第１公開鍵KRMp、）で暗号化されてフラッディングされる。
【００４２】
一方、宛先端末Tは、ステップＳ１において前記RREQを受信すると、ステップＳ２からステップＳ３へ進んで解読を試みる。このRREQが一度でも圏内の端末を中継していれば、そのアドレス情報はサーバRMにおいて自身に固有の第１共有鍵KRM_tで再暗号化されており、端末Tであれば正しく復号化して解読することができるので、ステップＳ４からステップＳ２１へ進む。ステップＳ２１では、解読により得られた宛先IPアドレスIPtが自身のIPアドレスと一致するか否かが判定される。両者が一致すれば、当該RREQの宛先が自身であると判定されてステップＳ２２へ進む。
【００４３】
なお、宛先端末Tで受信されたRREQが一度も圏内の端末を中継していない場合であっても、宛先端末Tが圏内端末であればステップＳ６以降へ進み、上記と同様にFWREQをサーバRMへ送信（ステップＳ７）してFWREPを受信（ステップＳ８）すれば、当該FWREPではアドレス情報が第１共有鍵KRM_tで再暗号化されており、ステップＳ１１において、このアドレス情報を復号化して解読できるのでステップＳ２２へ進むことができる。
【００４４】
ステップＳ２２では、第１共有鍵KRM_tを暗号鍵として署名範囲の鍵付きハッシュ関数が計算され、その計算結果がRREQに登録されているメッセージ識別子「sig」と比較される。なお、複数の経路をたどって複数のRREQが受信されている場合は、現在処理中（正当性を確認中）のRREQ以外は待ち行列にPending RREQとして一時的に保存される。RREQの正当性が確認されるとステップＳ２３へ進み、第２秘密鍵Ktsを用いて、多重化されている全てのHop Infoが次々と復号化される。ステップＳ２４ではHop Infoの検証が行われる。
【００４５】
この際、圏内の端末で生成されたHop InfoにはFWs，FWtおよびcheck値が含まれているが、複数のHop Info間でそれらの値が異なる場合には、何らかの不正が行われていると考えられるので、そのRREQは破棄される。全てのFWs，FWtおよびcheck値が一致していれば、各Hop Infoに登録されている前段ホップ順序IDおよび自段ホップ順序IDの連続性、および各ホップ順序IDがホップ順に増加しているか否かに基づいて、その正当性が判定される。経路の正当性判断で問題がなければ、ステップＳ２５へ進んで経路情報が登録される。ステップＳ２６では、経路確立応答（RREP）メッセージが生成され、ステップＳ２７においてフラッディングされる。このRREPでも、そのIPヘッダの送信元アドレスにはダミーアドレス（例えば、[0.0.0.0]）が登録され、宛先アドレスにはブロードキャストアドレス（例えば、[255.255.255.255]）が登録される。
【００４６】
図１３は、前記RREPのフォーマットの一例を示した図であり、seq、セッションIDおよびセッションID候補は、受信されたRREQと同じである。受信されたRREQのHop Infoに多重暗号化されて格納されていた各中継端末のHop Infoは、各Hop Infoに登録されていた第２共有鍵KCxで別々に暗号化されて連結される。各Hop Infoの連結順列はランダムである。なお、適当な数のダミーHop Infoを挿入すれば第三者にHop数を知られにくできる。前記各Hop Infoにおいて、セッション鍵SKは、そのRREPの中の全てのHop Infoに共通であり、RREP送出時に宛先端末Tがランダムに発生させる。
【００４７】
なお、送信端末S用のHop Infoには、図１４に一例を示したように、さらにデータ通信時に用いる暗号鍵（例えば、AES暗号を用いるならAES暗号鍵）と共に、全中継端末（当該RREQの経由端末）の自アドレスIPx，自段ホップ順序IDおよび第２共有鍵KCxが中継アドレス情報として付け加えられる。データ通信用の暗号鍵(AES）は宛先端末Tが発生させる。flagは送信端末Sに各種情報を伝えるためのものであり、ここでは各中継端末が圏内か圏外かを伝えるための情報を含んでいる。
【００４８】
端末Cでは、図３のステップＳ１５において、前記宛先端末TからフラッディングされたRREPが受信されると図４のステップＳ３１へ進み、このRREPに登録されているセッションIDを検索キーとして転送リストが検索される。ステップＳ３２では、セッションIDと対応付けられている第２共有鍵KCxが抽出される。
【００４９】
なお、先にRREQを受信した際に、そのセッション IDが「０」であった場合には、セッションID候補が転送リストに登録されているので、セッションIDで検索できなかった場合には、前記RREPに登録されているセッションID候補で再度検索される。セッション IDまたはセッションID候補による検索が成功した場合には、RREQのセッション IDの値が転送リストに書き込まれ、セッションID候補の値が「０」に更新される。この検索がともに失敗に終わった場合にはRREPが破棄される。
【００５０】
ステップＳ３３では、前記抽出された第２共有鍵KCxを用いて、RREPに登録されている全てのHop Infoが復号化される。ステップＳ３４では、復号化された全データの中に解読可能な有効データが含まれているか否かが判定される。有効データが得られなければ、改ざんを含む何らかの不正が行われている可能性があるのでステップＳ４１へ進み、今回のRREPが破棄される。
【００５１】
有効なデータが得られたHop InfoがあればステップＳ３５へ進み、前記RREPの宛先が自身であるか否かが判定される。端末Cであれば、宛先が自身以外と判定されるのでステップＳ３６へ進み、それらの内容が転送リストに書き込まれる。ただし、この登録に関するライフタイムは正式登録のものよりも短くされる。
【００５２】
ステップＳ３７では、自身が圏内であるか否かが判定され、圏内であればステップＳ３８へ進み、圏内フラグF1がセットされる。ステップＳ３９では、前記有効なデータを得られた自身のHop Info（図１３）から、自段ホップ順序ID以外のデータが全て削除またはダミーデータに書き替えられ、その後、セッション鍵SKを用いて再暗号化される。ステップＳ４０では、前記再暗号化されたHop Infoを含むRREPがフラッディングされる。この際も、IPヘッダの送信元アドレスにはダミーアドレスが登録され、宛先アドレスにはブロードキャストアドレスが登録される。
【００５３】
以上の手順が各中継端末で実行され、全ての中継端末で不正が検知されなければ、RREPは送信端末Sに到達する。送信端末Sが前記RREPを受信すると、前記RREPの宛先が自身であるか否かが判定される。
【００５４】
ステップＳ３５において自身が宛先と判定されるとステップＳ４２へ進み、セッション鍵SKが抽出される。ステップＳ４３では、前記セッション鍵SKを利用して全てのHop Infoが復号化される。ステップＳ４４では、各Hop Infoに登録されている各移動端末の自段ホップ順序IDが抽出される。ステップＳ４５では、前記RREPに登録されている中継アドレス情報（自段ホップ順序ID）の全てが抽出される。ステップＳ４６では、前記各移動端末の自段ホップ順序IDと全ての中継アドレス情報とが比較される。両者が完全に一致すれば、ステップＳ４７において、前記匿名アドレスFWs、FWtやセッションID等が転送リストに登録される。ステップＳ４８では、経路情報テーブルに登録される。ステップＳ４９では、経路確立完了通知(RCMP)が宛先端末Tへ送信される。
【００５５】
前記RCMPでは、その宛先アドレスおよび送信元アドレスに前記FWt、FWsが設定され、前記RREPで通知されたデータ暗号鍵AESを用いて宛先端末Tへ送信される。宛先端末Tは前記RCMPを受け取ると、PendingされていたRREQが破棄され、経路テーブルが確定される。したがって、宛先端末Tでは当該時点からデータ送信が可能になる。
【００５６】
なお、上記した実施形態では、RREQを受信した移動端末が圏内のときに経路制御サーバRMへFWREQが送信されるものとして説明したが、送信端末Sが圏内であれば、当該送信端末Sからも同様にFWREQが送信される。
【００５７】
次いで、上記のようにして確立された経路が切断された際に、これを検知して修復する手順について説明する。
【００５８】
図１５は、リンク切断を検知した移動端末が、経路修復を送信端末Sまたは宛先端末Tへ要求する経路修復要求の手順を示したフローチャートであり、図１６は、送信端末Sおよび宛先端末Tが前記経路修復要求に応答して実行する経路修復の手順を示したフローチャートである。
【００５９】
図１７は、リンク切断の検知から経路修復までの動作を示したシーケンス図であり、ここでは、送信端末Sと宛先端末Tとの間に移動端末A，B，Cを中継端末とする経路が確立されている状態で、中継端末B，C間のリンクが切断された場合を例にして説明する。なお、本実施形態では切断リンクを挟んで対向する一対の中継端末B，Cで同様の処理が実行されるが、ここでは中継端末Bの動作に注目して説明する。
【００６０】
中継端末Bでは、図１５のステップＳ１０１において隣接リンクの切断が検知されると、ステップＳ１０２では、リンク切断されたセッションが、その匿名アドレスFWs，FWtのペアまたはセッションIDに基づいて特定される。ステップＳ１０３では、リンク切断をエンド端末（送信端末Sまたは宛先端末T）へ通知するためのリンク切断(RERR)メッセージが生成される。このRERRには、リンク切断を検知した中継端末Bに関する識別子として、そのIPアドレスや前記自段ポップ順序IDが登録されると共に、第三者が当該RERRを盗聴して同一パケットを後から送信する「再送攻撃」を防ぐためにシーケンス番号が登録されている。
【００６１】
ステップＳ１０４では、前記特定されたセッションに関するテーブル上のエントリにエラーフラグがセットされる。ステップＳ１０５では、前記特定されたセッションと対応付けられたセッション鍵SKが前記テーブルから抽出される。ステップＳ１０６では、前記RERRメッセージが前記セッション鍵SKで暗号化され、ステップＳ１０７において、宛先アドレスとして送信端末Sの匿名アドレス(FWs)が記録されたヘッダを付されて送信される。
【００６２】
送信端末Sから送信されたRERRは、中継端末Aを経由して送信端末Sまで転送されるが、この際、中継端末Aは前記RERRに変更等を加えることなく、そのまま中継する。ただし、前記中継端末Aは、RERRを中継した経路に関しては、自身のテーブル上で当該経路のセッションIDに関するエントリに修復中である旨を示すフラグをセットし、当該経路を利用するデータ通信を一時的に中断するようにしても良い。
【００６３】
送信端末Sは、前記中継端末Bから送信されたRERRメッセージを、図１６のステップＳ２０１で受信するとステップＳ２０２へ進み、その宛先アドレス(FWs)と対応付けられたセッション鍵SKがテーブルから抽出される。ステップＳ２０３では、前記抽出されたセッション鍵SKでRERRが復号化される。ステップＳ２０４では、復号化されたRERRメッセージが解読可能であるか否かが判定され、解読可能であれば、当該RERRが自身宛の正規のメッセージであると判定してステップＳ２０５へ進む。解読不能であれば破棄される。
【００６４】
なお、前記RERRには、リンク切断を検知した端末の識別子（IPアドレスや自段ホップ順序ID）およびシーケンス番号が登録されているので、前記RERRが解読可能であることに加えて、当該RERRに登録されている上記各パラメータが正規のものであるか否かをも判断し、RERRが解読可能であって、かつその内容が正規のものであることが確認された場合のみ、当該RERRが自身宛の正規のメッセージであると判定するようにしても良い。
【００６５】
ステップＳ２０５では、経路修復メッセージ(RRPR)が生成される。このRRPRは経路確立時に送信端末Sから送信される前記RREQ（経路確立要求）と同様の構成（図８参照）を有しているが、送信端末Sから送信されたメッセージであることを示すFROM_Sフラブがセットされている。このRRPRでは、その送信元アドレスに送信端末Sの匿名アドレスFWsが書き込まれ、宛先アドレスに宛先端末Tの匿名アドレスFWtが書き込まれて、ステップＳ２０６において送信される。
【００６６】
前記送信端末Sから送信されたRRPRを受信した端末は、図１７に示したように、これを前記RREQと同様に宛先端末Tまで中継することで往路の経路を確立する。このとき、前記リンク切断を検知した一方の中継端末Bから他方の中継端末Cに至る経路上(B→N1→N2→C）では、前記RRPRが、その送信元アドレスとしてダミーアドレス（例えば、[0.0.0.0]）が書き込まれ、宛先アドレスとしてブロードキャストアドレス（[255.255.255.255]）が書き込まれたヘッダを付されてフラッディングされる。これに対して、前記中継端末B，C間の経路以外では、送信元アドレスとして送信端末Sの匿名アドレスFWsが書き込まれ、宛先アドレスとして宛先端末Tの匿名アドレスFWtが書き込まれたヘッダを付されて送信される。
【００６７】
なお、前記RRPRを受信した各端末は、前記経路確立時にRREQを受信した各端末と同様に、自身がインフラ網の圏内であればFWREQをサーバRMへ送信して当該RRPRの検証を要求しても良い。このとき、サーバRMにおいて何らかの不正が検出されてFWREPがサーバRMから返信されなければ、当該RRPRの中継が中止される。
【００６８】
宛先端末Tは、前記RRPRを受信すると、前記RREQを受信した場合に、これに応答して生成・返信するRREPと同様にRREP_R（経路修復応答メッセージ）を生成し、送信元アドレスに自身の匿名アドレスFWt、宛先アドレスに送信端末Sの匿名アドレスFWsを書き込んで送信する。
【００６９】
前記宛先端末Tから送信されたRREP_Rを受信した各端末は、これを送信端末Sまで中継することで復路の経路を確立する。このとき、前記リンク切断を検知した他方の中継端末Cから一方の中継端末Bに至る経路上(C→N2→N1→B）では、前記RRPRの場合と同様に、その送信元アドレスにダミーアドレスが書き込まれ、宛先アドレスにブロードキャストアドレスが書き込まれたヘッダを付されてフラッディングされる。これに対して、前記中継端末C，B間の経路以外では、送信元アドレスに宛先端末Tの匿名アドレスFWtが書き込まれ、宛先アドレスに送信端末Sの匿名アドレスFWsが書き込まれたヘッダを付されて送信される。
【００７０】
なお、本実施形態ではRERRを受信したエンド端末（送信端末Sまたは宛先端末T）においてRRPRが生成される際に、これにシーケンス番号seqが書き込まれる。このシーケンス番号seqは、エンド端末同士で値が一致しないように初期値が異なる値に設定されると共に、その更新時におけるの増減値も異なっている。このようにすれば、一方のエンド端末から送信されるRRPRのシーケンス番号が、他方のエンド端末から送信されるRRPRのシーケンス番号よりも常に大きくなる。
【００７１】
本実施形態では、前記リンク切断を検知した端末A，Bが共にRERRを送信し、送信端末SがRRPR(1)を送信した後で、宛先端末Tから送信されたRRPR(2)を受信した際、RRPR(1)のシーケンス番号がRRPR(2)のシーケンス番号よりも大きければ前記RRPR(2)が無視される。RRPR(1)のシーケンス番号がRRPR(2)のシーケンス番号よりも小さければ、当該RRPR(2)に応答してRREPが改めて送信されると共に、前記RRPR(1)に関する処理が中段される。
【００７２】
中継端末でも同様に、最初に受信したRRPR(1)のシーケンス番号が、後から受信したRRPR(2)のシーケンス番号よりも大ければ当該RRPR(2)が無視される。これに対して、最初に受信したRRPR(1)のシーケンス番号が、後から受信したRRPR(2)のシーケンス番号よりも小さければ、当該RRPR(2)が中継されると共に、前記RRPR(1)に関する情報が削除される。
【００７３】
なお、上記した実施形態では切断リンクを挟んで対向する一対の中継端末のいずれもがRERRを送信し、その一方のみがシーケンス番号に基づいて有効にされるものとして説明したが、本発明はこれのみに限定されるものではなく、リンク切断を検知した一対の端末のみがRERRを送信するようにしても良い。
【図面の簡単な説明】
【００７４】
【図１】本発明の経路確立方法が適用されるアドホックネットワークの図である。
【図２】経路制御サーバおよび各移動端末で管理される暗号鍵の一覧を示した図である。
【図３】経路確立時に各移動端末で実行される経路確立手順を示したフローチャート（その１）である。
【図４】経路確立時に各移動端末で実行される経路確立手順を示したフローチャート（その２）である。
【図５】経路確立時に経路制御サーバRMで実施される経路確立手順を示したフローチャートである。
【図６】経路確立時のシーケンス図である。
【図７】シグナリングメッセージのフォーマットの一例を示した図である。
【図８】RREQの基本フォーマットを示した図である。
【図９】FWREQの基本フォーマットの一例を示した図である。
【図１０】FWREPの基本フォーマットの一例を示した図である。
【図１１】Hop Infoの多重暗号化構造を模式的に表現した図である。
【図１２】図１の移動端末AからフラッディングされるRREQの一例を示した図である。
【図１３】RREPのフォーマットの一例を示した図である。
【図１４】送信端末S用のHop Infoの構造を示した図である。
【図１５】リンク切断を検知した移動端末が、経路修復を送信端末Sまたは宛先端末Tへ要求する経路修復要求の手順を示したフローチャートである。
【図１６】送信端末Sおよび宛先端末Tが経路修復要求に応答して実行する経路修復の手順を示したフローチャートである。
【図１７】リンク切断の検知から経路修復までの動作を示したシーケンス図である。
【符号の説明】
【００７５】
S，A，B，C，T…移動端末
RM…経路制御サーバ
AP…無線アクセスポイント
【図１】
2006295741.tif 000003
【図２】
2006295741.tif 000004
【図３】
2006295741.tif 000005
【図４】
2006295741.tif 000006
【図５】
2006295741.tif 000007
【図６】
2006295741.tif 000008
【図７】
2006295741.tif 000009
【図８】
2006295741.tif 000010
【図９】
2006295741.tif 000011
【図１０】
2006295741.tif 000012
【図１１】
2006295741.tif 000013
【図１２】
2006295741.tif 000014
【図１３】
2006295741.tif 000015
【図１４】
2006295741.tif 000016
【図１５】
2006295741.tif 000017
【図１６】
2006295741.tif 000018
【図１７】
2006295741.tif 000019