JP4533258B2 - アドホックネットワーク用の通信端末および通信制御方法 - Google Patents

アドホックネットワーク用の通信端末および通信制御方法 Download PDF

Info

Publication number
JP4533258B2
JP4533258B2 JP2005189543A JP2005189543A JP4533258B2 JP 4533258 B2 JP4533258 B2 JP 4533258B2 JP 2005189543 A JP2005189543 A JP 2005189543A JP 2005189543 A JP2005189543 A JP 2005189543A JP 4533258 B2 JP4533258 B2 JP 4533258B2
Authority
JP
Japan
Prior art keywords
communication terminal
message
mac
received
hoc
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.)
Expired - Fee Related
Application number
JP2005189543A
Other languages
English (en)
Other versions
JP2007013386A (ja
Inventor
英里子 安藤
修一 石田
寧子 福澤
進 松井
英之 河村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005189543A priority Critical patent/JP4533258B2/ja
Publication of JP2007013386A publication Critical patent/JP2007013386A/ja
Application granted granted Critical
Publication of JP4533258B2 publication Critical patent/JP4533258B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

本発明は、アドホックネットワーク用の通信端末および通信制御方法に関し、更に詳しくは、通信端末間の接続関係が流動的なアドホックネットワークにおいて、セキュリティオーバヘッドを軽減可能な通信端末および通信制御方法に関する。
アドホックネットワーク(または無線マルチホップネットワーク)は、パソコン、PDA、携帯電話など、携帯可能な複数の無線通信端末が、基本的には、アクセスポイントとして機能する固定的な通信装置の介在なしに、自律的に相互接続されたネットワークである。アドホックネットワークでは、互いに対等、且つ自律分散的に振舞う複数の無線通信端末が、無線信号の伝播範囲内に位置した他の通信端末(ノード)と制御メッセージを交信することによって、電話網、携帯電話網、あるいはインターネット等の既存の通信インフラストラクチャに依存することなく、通信ネットワークを構築する。但し、携帯電話網の無線基地局をアドホックネットワークの1つのノードとして、無線通信端末が、アドホックネットワークを介して無線基地局に接続され、例えば、インターネットをアクセスするネットワーク構成としてもよい。
アドホックネットワークに参加した各通信端末は、無線により直接通信可能な他の通信端末を中継ノードとして利用することにより、遠隔位置にある通信端末との間で、間接的なメッセージ通信またはデータパケット通信(無線マルチホップ通信)を行うことができる。
アドホックネットワークでは、或る特定のグループに属する通信端末だけを参加メンバーとして、閉域通信網を構成できる。この場合、グループ内での情報セキュリティを確保するためには、ネットワークに参加しようとする通信端末を認証し、特定グループに所属していない他の通信端末のネットワークへの接続を拒否する必要がある。また、アドホックネットワークの参加メンバー端末(通信ノード)の移動に伴って、通信端末間の接続関係に変化が生じた場合、移動した通信端末が、移動先のメンバー端末との間で、安全かつ円滑に通信を継続できるようにする必要がある。
閉域通信網におけるセキュリティの確保に関する従来技術として、例えば、特開2003−69581号公報(特許文献1)には、正当な通信端末によるパケット中継機能を利用して、不正通信端末からの送信パケットによるトラヒックの増加を防止する方法が提案されている。
上記特許文献1では、アドホックネットワーク(無線マルチホップネットワーク)を構成する全ての通信端末で共有される第1の秘密情報と、2つの通信端末間で共有される第2の秘密情報とを使って、各無線端末が、送信パケット(通信メッセージ)から第1、第2の検査データを作成し、これらの検査データを付加した形でパケットを送信している。上記パケットを受信した無線端末は、自分が所持する第1の秘密情報を適用して、受信パケットに付された第1の検査データを検証し、検証結果が誤りの場合、受信パケットを破棄し、検証結果が正しい場合は、パケットの宛先をチェックする。無線端末は、受信パケットに宛先が自分宛でなければ、受信パケットを他の無線端末に転送し、宛先が自分宛の場合は、自分が所持する第2の秘密情報を適用して、第2の検査データを検証する。検証結果が誤りの場合、受信パケットを破棄し、検証結果が正しい場合は、受信パケットを受け取る。上記第1の秘密情報としては、認証済みの全ての無線端末が共有するネットワーク鍵が使用され、第2の秘密情報としては、パケットの送信元端末と宛先端末で共有される秘密鍵が使用される。
上記特許文献1では、ネットワーク鍵を未だ持っていない無線端末が、ネットワーク鍵取得のために認証用パケットを送信する場合、上記第1の秘密情報として、公開鍵暗号化方式における秘密鍵を使用し、この秘密鍵で生成された第1の検査データを相手装置が検証する際に必要となる公開鍵を送信パケットに証明書として添付することを提案している。認証用パケットには、第2の検査データは不要である。この場合、認証用パケットを受信した無線端末は、受信パケットに含まれる証明書の正当性を確認した後、証明書から抽出された公開鍵を適用して、上記第1の検査データを検証し、検証結果が誤りの場合、受信パケットを破棄し、検証結果が正しい場合は、宛先を判定して、上述した受信パケットの転送、または受信処理を実行する。
特開2003−69581号公報
上記特許文献1の方法によれば、ネットワーク鍵または公開鍵暗号化方式における正しい秘密鍵と証明書をもっていない不正な無線端末から送信されたパケットは、これを最初に受信した無線端末で破棄されるため、不正パケットによるアドホックネットワーク内でのトラヒックの増加を防止できる。
然るに、上記従来技術では、ネットワークに新たに参加する無線端末へのネットワーク鍵の配布は、ネットワーク内の特定のノード、例えば、無線基地局が行っている。このため、アドホックネットワークに新たに参加しようとする各無線端末は、最初に、ネットワーク鍵の配布元となる特定ノード宛に認証用パケットを送信する必要があるが、新たな無線端末と上記特定ノードとの間に、認証用パケットの中継ノードとなる他の無線端末が存在していない状態では、無線端末がアドホックネットワークに参加できないという問題がある。例えば、複数の無線端末が無線基地局から離れた場所に位置した状態では、これらの無線端末は、無線基地局からネットワーク鍵を受け取れないため、これらの無線端末だけでローカルなアドホックネットワークを構築することができない。
本発明の目的は、ネットワーク鍵を配布する特定サーバ(認証用サーバ)の存在を必要とせずに、高セキュリティのアドホックネットワークを構築できる通信端末および通信制御方法を提供することにある。
本発明の他の目的は、認証処理のためのセキュリティオーバヘッドを軽減できるアドホックネットワーク用の通信端末および通信制御方法を提供することにある。
本発明のアドホックネットワークでは、各通信端末が、直接通信可能な位置にある相互認証済みの通信端末の識別子を直接ノード識別子として記憶しておき、直接ノード識別子として未だ記憶されていない新たな送信元識別子をもつ制御メッセージを受信した時、例えば、公開鍵暗号化方式を適用して、互いに同一のグループに所属した通信端末か否かの相互認証手順を実行し、その後にネットワーク内で必要となる通信メッセージの暗号鍵を相手端末と交換する。
上述した目的を達成するために、本発明によるアドホックネットワーク用の通信端末は、定期的に生成した制御メッセージに、同一グループに属した各通信端末が共有する暗号鍵でもって検証可能なメッセージ認証コード(以下、MACと言う)を付加し、MAC情報付き制御メッセージとして送信する送信制御メッセージ処理部と、
他の通信端末からMAC情報付き制御メッセージを受信した時、該受信メッセージの送信元通信端末との間で実行すべき相互認証のための所定の通信手順に代えて、該受信メッセージの付されたMACの正当性を検証し、検証結果に応じて、上記受信メッセージの破棄、または受信メッセージの内容に応じた処理を実行する受信制御メッセージ処理部とを有することを特徴とする。
更に詳述すると、本発明の通信端末は、無線信号の伝播範囲内に位置した直接通信可能な通信端末を最初の中継ノードとして、同一グループに属した各通信端末が、遠隔位置にある他の通信端末と間接的に通信可能なアドホックネットワーク用の通信端末であって、
定期的に生成した制御メッセージに、アドホックネットワーク全体で有効となる暗号鍵(以下、アドホック鍵と言う)で該制御メッセージを暗号化して得られたメッセージ認証コード(以下、MACと言う)を付加し、MAC情報付き制御メッセージとして送信する送信制御メッセージ処理部と、
直接通信可能な相互認証済みの通信端末の識別子を直接ノード識別子として記憶する直接ノード情報テーブルと、
間接通信可能な通信端末の識別子を間接ノード識別子として記憶する間接ノード情報テーブルと、
他の通信端末からMAC情報付き制御メッセージを受信した時、該受信メッセージが示す送信元識別子が上記直接ノード情報テーブルに登録済みの場合は、該受信メッセージの内容に応じた処理を実行し、上記送信元識別子が上記間接ノード情報テーブルに登録済みの場合は、該受信メッセージの付されたMACの正当性を検証し、上記送信元識別子が上記直接ノード情報テーブルと間接ノード情報テーブルの何れにも未登録の場合は、上記受信メッセージの送信元との間で相互認証のための所定の通信手順を実行し、上記相互認証またはMAC検証に失敗した時は上記受信メッセージを破棄し、上記相互認証またはMAC検証に成功した時は受信メッセージの内容に応じた処理を実行する受信制御メッセージ処理部とを有することを特徴とする。
ここで、本発明の通信端末が定期的に送信する制御メッセージは、例えば、ルーティングプロトコルに従って生成されるHELLOメッセージである。また、本発明において、MAC生成に適用されるアドホック鍵は、各通信端末で自律的に生成され、暗号鍵配布メッセージによって他の通信端末に報知される。各通信端末は、他の通信端末からの暗号鍵配布メッセージの受信の都度、自分が持っているアドホック鍵と今回他の端末から通知されたアドホック鍵とを比較し、所定のルールで自分が使用すべき最新のアドホック鍵を選択し、受信した暗号鍵配布メッセージを他の通信端末に転送する。
本発明のアドホックネットワークでは、各通信端末が自律的にアドホック鍵を生成するため、或る時点では、アドホックネットワークに複数のアドホック鍵が存在することになる。但し、これらの複数のアドホック鍵は、上述した暗号鍵配布メッセージの受信の都度、実行される鍵選択の繰り返しによって、結果的には、ネットワーク全体で共通する1つの暗号鍵に収斂される。上記自律的なアドホック鍵の生成は、ネットワークにおけるセキュリティを維持するために、比較的長いインターバルで周期的に行われる。
本発明の1つの特徴は、上記MAC情報付き制御メッセージ(HELLOメッセージ)が、例えば、MACに付随する情報として、該MACの生成に適用されたアドホック鍵の識別子を含み、上記受信制御メッセージ処理部が、受信した制御メッセージに付加されたアドホック鍵識別子と対応したアドホック鍵を適用して受信メッセージを暗号化し、該暗号化の結果と上記MACとを照合することによって、該MACの正当性を検証するようにしたことにある。
本発明によるアドホックネットワークにおける通信制御方法は、
各通信端末が、定期的に生成した制御メッセージから、同一グループに属した各通信端末が共有する暗号鍵でもって検証可能なメッセージ認証コード(以下、MACと言う)を生成し、MAC情報付き制御メッセージとして送信し、
他の通信端末からのMAC情報付き制御メッセージを受信した通信端末が、該受信メッセージの送信元通信端末との間で相互認証のための所定の通信手順を実行し、
上記相互認証に成功した通信端末が、相互認証済みの通信端末の識別子を直接ノード識別子、該受信メッセージから判明した間接通信可能な通信端末の識別子を間接ノード識別子として管理テーブルに記憶し、
上記管理テーブルに記憶された何れかの間接ノード識別子に一致する送信元識別子をもつMAC情報付き制御メッセージを受信した時、各通信端末が、送信元通信端末との間で実行すべき相互認証に代えて、該受信メッセージのMACの正当性を検証し、検証に失敗した時は、受信メッセージは破棄し、検証に成功した時は、受信メッセージの内容に応じた処理を実行することを特徴とする。
本発明によれば、通信端末の移動に伴ってノード間の接続関係が変化した場合でも、アドホックネットワーク内の何れかの通信端末で既に認証済みの通信端末に関しては、各通信端末が相手端末からの受信メッセージのMACを検証することによって、時間のかかる相互認証手順を省略できるため、セキュリティオーバヘッドを大幅に低減できる。
以下、本発明の実施の形態について、図面を参照して説明する。
先ず、図1を参照して、本発明が適用されるアドホックネットワークの概要について説明する。
図1において、10A−1〜10A―6は、特定のグループに属する通信端末であり、これらの通信端末は、相互の自律分散的な無線通信によって、一時的な閉域通信網であるアドホックネットワークを構成する。10Bは、上記特定グループには属していない他の通信端末を示す。図示した例では、通信端末10A−2が、通信端末10A−1、10A−3、10A−4と接続関係にあり、1つのサークルA2を形成している。また、通信端末10A−4が、通信端末10A−2、10A−5、10A−6と接続関係にあり、別のサークルA4を形成している。後述するように、特定グループに属した2つの通信端末は、それぞれの無線信号到達範囲内に接近した場合に接続関係が発生するものとする。
例えば、通信端末10A−1と通信端末10A−3は、直接的な接続関係にはないが、それらに隣接した別の通信端末10A−2を中継ノードとして利用することによって、互いに通信できる。また、通信端末10A−1と通信端末10A−6も、それぞれに隣接する他の通信端末10A−2、10A−4を中継ノードとして利用することによって、互いに通信できる。従って、同一のグループに属したこれら複数の通信端末10A(10A−1〜10A−6)は、グループ内の他の端末と相互に通信が可能であり、1つのアドホックネットワークを構成できる。
アドホックネットワークでは、各通信端末10が移動端末(MS)からなり、通信端末の移動によってネットワークノードの接続関係が動的に変化する。例えば、通信端末10A−3と通信中の通信端末10A−1が移動し、新たな通信端末10A−4と接続関係になると、通信端末10A−1は、通信端末10A−4、10A−2を中継ノードとして、通信端末装置10A−3との通信を継続できる。ここでは、移動可能な複数の通信端末からなるアドホックネットワークを示しているが、本発明は、ネットワークの1つのノードとして、無線基地局を含み、各通信端末が無線基地局を介して既存の通信網に接続される網構成にも適用できる。
本発明は、上述したアドホックネットワークにおけるグループ内のセキュリティを確保することを目的としており、例えば、グループに属さない他の通信端末10Bが、通信端末10A−1の無線信号到達範囲に入った場合、通信端末10Bのアドホックネットワークへの接続を拒否する。
上記目的を達成するために、本発明では、各通信端末が、新たな通信端末との接続に際して相互に端末認証を行い、認証された通信端末のみにアドホックネットワークへの参加を許容する。本発明の特徴は、アドホックネットワークにおいて、端末間で通信される制御メッセージにメッセージ認証コード(Message Authentication Code:以下、MACと言う)を付与しておき、端末移動に伴ってネットワーク内の端末接続関係に変化が生じた時、移動した通信端末と、該端末と新たな接続関係をもつ同一グループ内の別の通信端末とが、それぞれが受信する制御メッセージに付されたMACを検証することによって、互いに相手端末が同一アドホックネットワーク内で既に認証済みの端末であることを確認できるようにした点にある。
制御メッセージに付されるMACは、制御メッセージの内容を暗号鍵で暗号化したものである。MACは、制御メッセージ全体を暗号鍵で暗号化する代わりに、制御メッセージの一部、あるいは圧縮された制御メッセージを暗号化したものでもよい。本発明によれば、端末移動に伴って新たな接続関係が生まれた時、MACを検証することによって、2つの通信端末間での相互認証手順を省略できるため、セキュリティオーバヘッドを軽減できる。
本発明において、MACの生成には、アドホックネットワークを構成する全ての通信端末に共有される暗号鍵が適用される。本明細書では、MACの生成に適用される上記暗号鍵を「アドホック鍵」と言う。また、アドホックネットワークに含まれる各サークル内でのみ有効となる暗号鍵を「サークル鍵」と言う。各サークル内では、上記サークル鍵を使って、アドホック鍵の配布が行われる。また、通信端末間で送受信されるデータメッセージは、上記アドホック鍵によって暗号化される。
アドホックネットワークのルーティング方式については、IETF MANet(Mobile Ad Hoc Networking)で標準化が検討されている。ここでは、1例として、標準化案の1つとして提案されているOLSR(Optimized Link State Routing)を採用したアドホックネットワークについて説明するが、本発明は、他のルーティング方式の適用を妨げるものではない。尚、OLSR方式については、http://www.ietf.org/rfc/rfc3626.txtに詳述されている。
図2(A)は、OLSR方式の制御メッセージの1つであるHELLOメッセージのフォーマットを示す。HELLOメッセージ200は、メッセージ種別201と、送信元ノードID202と、直接ノードリスト203と、ステータスリスト204とからなる。
メッセージ種別201には、このメッセージがHELLOメッセージであることを示す識別子が設定される。送信元ノードID202は、メッセージの送信元となる通信端末の識別子を示す。直接ノードリスト203には、HELLOメッセージの送信元ノードが把握している1ホップ範囲内のノード(直接ノード)の識別子が列挙される。
ステータスリスト204は、直接ノードリスト203が示す各直接ノードと送信元ノードとの間の通信状態を示している。ステータスリスト204における状態区分としては、例えば、送信元ノードと直接ノードとが相互にメッセージが届くことを確認済みの状態、送信元ノードが直接ノードからのメッセージが届くことのみを確認している状態、などがある。送信元ノードID202、直接ノードリスト203、ステータスリスト204における各ノード識別子としては、例えば、通信端末のIPアドレスが適用される。
OLSR方式では、各通信端末10A(10A−1〜10A−6)は、HELLOメッセージ200を所定の周期、例えば、2秒毎に自律的にブロードキャストする。本発明では、各通信端末10Aは、破線205で示すように、MAC情報205が付加されたHELLOメッセージ200を送信する。MAC情報205には、HELLOメッセージの内容201〜204をアドホック鍵で暗号化して得られた少なくとも1つのMACが含まれる。MAC情報205の利用方法については、後で詳述する。
HELLOメッセージは、無線電波の伝搬範囲内に存在する他の通信端末によって受信される。各通信端末は、他の通信装置からのHELLOメッセージを受信すると、該HELLOメッセージの内容から、自ノードとは直接通信できないが、HELLOメッセージの送信元ノードを中継ノードとして利用することによって、間接的に通信可能な通信端末の存在を認識できる。以下の説明では、間接通信において中継ノードとして利用される直接ノード(HELLOメッセージの送信元ノード)を「MPR(Multi Point Relay)ノード」と言う。HELLOメッセージ200のステータスリスト204には、各直接ノードが送信元ノードにとってMPRノードであるか否かを示す状態情報も含まれている。
例えば、図1に示した通信端末10A−1にとって、通信端末10A−2は、これを中継ノードとして利用することによって、無線電波の伝搬範囲外にある通信端末10A−3と間接的に通信できる。この場合、通信端末10A−1が送信するHELLOメッセージのステータスリスト204には、直接ノードである通信端末10A−2の識別子と対応して、それがMPRノードであることを示す状態情報が設定される。以下の説明において、HELLOメッセージのステータスリスト204のうち、MPRノードとなる直接ノードを示すリスト部分を特に「MPRノードリスト」と定義する。
各通信端末10Aは、他の通信端末から受信したHELLOメッセージのステータスリスト204の内容から、自分がMPRノードに指定されていることを認識すると、図2の(B)に示すTC(Topology Control)メッセージ210を所定の周期、例えば、5秒毎に自律的にブロードキャストする。TCメッセージを受信した各通信端末は、受信メッセージの送信元ノード識別子を自分のノード識別子に書き換えて、再送信(TCメッセージ転送)する。上記TCメッセージ転送の繰り返しによって、TCメッセージの内容は、アドホックネットワーク上の全てのノードに伝搬する。
TCメッセージ210は、図2(B)に示すように、メッセージ種別211と、送信元ノードID212と、生成元ノードID213と、MPRSノードリスト214とからなる。TCメッセージ210にも、HELLOメッセージ200と同様、メッセージ内容211〜214をアドホック鍵で暗号化して得られた少なくとも1つのMACを含むMAC情報215が付加される。
メッセージ種別211は、このメッセージがTCメッセージであることを示す識別子が設定される。送信元ID212は、TCメッセージの送信元ノードの識別子、生成元ノードID213は、TCメッセージを生成したノードの識別子を示し、MPRSノードリスト214には、生成元ノードをMPRノードとして指定している直接ノードの識別子が設定されている。生成元ノードが、隣接する複数の直接ノードからMPRノードとして指定されていた場合、MPRSノードリスト214には、これら複数の直接ノードの識別子が設定される。
各通信端末10Aは、他のノードからTCメッセージを受信すると、上述したメッセージ転送の他に、該TCメッセージの内容に応じたルーティングテーブルの更新処理を実行する。これによって、各通信端末は、アドホックネットワークのトポロジーの把握と、ルーティングテーブルに従った通信データの配信制御が可能となる。
図3は、通信端末10A(10A−1〜10A−6)のハードウェア構成を示す。
通信端末10Aは、プロセッサ101と、該プロセッサが利用する各種のプログラムおよびデータが格納されるメモリ102と、入出力制御装置103と、液晶ディスプレイ等の表示装置104と、ポインティングデバイス、ボタンキー等の入力装置105と、無線モジュール106とからなる。このような無線モジュール106を備えた通信端末としては、例えば、携帯型の情報処理装置や携帯電話等の移動端末(MS)が代表的であるが、本発明に適用可能な通信端末のハードウェア構成は、ここに例示した構成に限定されるものではない。
無線モジュール106は、携帯電話網や無線LAN等における通信プロトコル、例えば、Bluetooth仕様に対応した無線通信動作を行う。無線LANの仕様は、IEEE 802.11:ANSI/IEEE Std 802.11 1999 Edition(http://www.ieee.org)等で標準化が進められており、Bluetoothの仕様は、粘pecifications of the Bluetooth System, Version1.0B煤ihttp://www.bluetooth.com)に開示されている。
図4は、通信端末10Aのメモリ102に用意される本発明に関係するソフトウェアの1例を示す。
メモリ102には、通信制御プログラム領域110と、ノードID記憶領域120と、アドホックネットワーク管理情報記憶領域130と、認証鍵記憶領域140と、ポリシー記憶領域150が定義される。
通信制御プログラム領域110には、例えば、メッセージ送受信制御ルーチン、アドホック接続制御ルーチン、相互認証ルーチン、鍵生成管理ルーチン、暗号処理ルーチン等のプログラムが記憶されている。各通信端末は、上記鍵生成管理ルーチンによって、自分が使用するアドホック鍵とサークル鍵を生成する。
ノードID記憶領域120には、通信端末10Aの識別情報、例えば、IPアドレスやMACアドレス等が記憶される。認証鍵記憶領域140には、通信端末間での相互認証に必要となる公開鍵暗号方式の鍵情報、例えば、公開鍵、秘密鍵、認証局公開鍵などが記憶される。ポリシー記憶領域150には、通信制御プログラム領域110の各ルーチンが参照する各種ポリシー(鍵選択ポリシー、鍵生成ポリシー、認証ポリシー、緩和ポリシー等)が記憶されている。
アドホックネットワーク管理情報記憶領域130には、アドホックネットワークの構成に必要な情報テーブルとして、自ノード情報テーブル131、直接ノード情報テーブル133、間接ノード情報テーブル134、最新アドホック鍵情報テーブル135、存在可能アドホック鍵情報テーブル136、鍵情報メッセージ・シーケンス番号テーブル137、認証中ノードIDテーブル138、MAC検証失敗回数テーブル139が記憶される。
自ノード情報テーブル131には、通信端末10A自身に関する情報として、図5(A)に示すように、自ノードID131aと、MPRフラグ131bと、サークル鍵131cと、サークル鍵生成時刻131dが記憶される。自ノードID131aは、通信端末10Aの識別子であり、例えば、通信端末10AのIPアドレスを示す。MPRフラグ131bは、自ノード(通信端末10A)が他の通信端末からMPRノードとして指定されているか否かを示すフラグである。サークル鍵131cは、自ノードで生成したサークル鍵の値を示し、サークル鍵生成時刻131dは、該サークル鍵の生成時刻を示す。自ノード情報テーブル131には、これらの項目以外に、例えば、自ノードの状態を示すステータス情報等が含まれてもよい。
直接ノード情報テーブル133は、自ノードが直接通信可能な通信端末(直接ノード)と対応した複数のエントリからなり、各エントリは、図5(B)に示すように、直接ノードID133aと、MPR指定フラグ133bと、相互認証情報133cと、サークル鍵133dと、ステータス133eを示している。
MPR指定フラグ133bは、直接ノードID133aをもつノードが自ノードをMPRノードとして指定しているか否かを示す。相互認証情報133cは、直接ノードが自ノードとの相互認証で使用した公開鍵や証明情報を示し、サークル鍵133dは、上記直接ノードが使用しているサークル鍵、ステータス133eは、自ノードと直接ノードとの間の通信状態を示す。直接ノード情報テーブル133は、これらの項目以外に、例えば、直接ノードとの間の通信に適用すべき鍵情報などが含まれていてもよい。
間接ノード情報テーブル134は、自ノードが間接的に通信が可能な通信端末(間接ノード)と対応した複数のエントリからなり、各エントリは、図5(C)に示すように、間接ノードID134aと、経由MPRノード134bと、ホップ数134cと、証明情報134dを示している。経由MPRノード134bは、間接ノードID134aをもつノード宛の送信データを最初に中継するMPRノードの識別子を示し、経由MPRノードとして、複数のMPRノードが指定されてもよい。ホップ数134cは、自ノードから宛先間接ノード迄のホップ数を示す。証明情報134dは、経由MPRノードとの通信に使用される証明データ、例えば、経由MPRノードから受信したTCメッセージに付加されていたMACを示す。間接ノード情報テーブル134には、これらの項目以外に、例えば、間接ノードの状態を示すステータス情報等が含まれていてもよい。
最新アドホック鍵情報テーブル135は、図6(A)に示すように、自ノードで選択した最新のアドホック鍵135aと、該アドホック鍵の識別子135bと、アドホック鍵の生成時刻135cを示す。鍵識別子135bは、例えば、ノードIDまたは生成時刻の一部あるいは全部を適用して、アドホックネットワーク全体で共通する所定のルールに従って生成される。
アドホックネットワークでは、通信データのセキュリティを維持するために、時間経過に従って、アドホック鍵が所定のルールで変更される。変更されたアドホック鍵が全ての通信装置に行き渡る迄には時間がかかるため、アドホックネットワークには、使用可能な複数のアドホック鍵が存在することになる。
存在可能アドホック鍵情報テーブル136は、アドホックネットワークに存在し得る複数のアドホック鍵を管理するためのデーブルであり、自ノードで過去に選択したアドホック鍵または直接ノードから受信したアドホック鍵と対応した複数のエントリからなる。各エントリは、図6(B)に示すように、アドホック鍵136aと、鍵識別子136bと、生成時刻136cと、登録時刻136dを示している。
アドホック鍵136aは、最新アドホック鍵情報テーブル135から消去された旧いアドホック鍵、または直接ノードから受信したアドホック鍵を示す。鍵識別子136bは、アドホック鍵136aの識別子、生成時刻136cは、アドホック鍵136aの生成時刻を示す。登録時刻136dは、アドホック鍵136aのテーブル136への登録時刻を示し、有効期限の切れたアドホック鍵を抹消するために利用される。後述するように、登録時刻136dは、他の通信端末から受信したアドホック鍵情報メッセージの内容に応じて、現在時刻に変更される場合がある。
鍵情報メッセージ・シーケンス番号テーブル137は、図6(C)に示すように、アドホック鍵情報メッセージの送信元を示すノードID137aと、アドホック鍵情報メッセージのシーケンス番号137bとの関係を示している。
認証中ノードIDテーブル138には、図6(D)に示すように、自ノードとの間で現在相互認証手順を実行中の相手端末を示すノードID138aが記憶される。
MAC検証失敗回数テーブル139は、図6(E)に示すように、ノードID139aと対応して、MAC検証の失敗回数139bを示している。相互認証に代わるMAC検証は、検証失敗回数139bが閾値回数に達する迄、繰り返して実行される。MAC検証に成功すると、失敗回数139bの値がクリアされるため、失敗回数139bの値は、MAC検証の連続的な失敗回数を示している。
上記アドホックネットワーク管理情報記憶領域130に用意されるテーブルは、ルーティング方式によって変化する。従って、図5、図6に示したテーブル構成は、本発明の1実施例に過ぎず、本発明を限定するものではない。
次に、図7〜図11参照して、通信端末間におけるMAC情報付きHELLOメッセージの送受信について説明する。
図7(A)は、MAC情報付きHELLOメッセージのフォーマットを示す。
MAC情報付きHELLOメッセージ200Mは、図2(A)で説明したHELLOメッセージ200に、MAC情報205として、MAC個数205Aと、MACリスト205Bと、アドホック鍵の識別子リスト205Cとを付加した構成となっている。
前述したように、各通信端末は、最新アドホック鍵情報テーブル135に記憶された最新アドホック鍵135aの他に、存在可能アドホック鍵情報テーブル136にもアドホック鍵136aを記憶している。MAC個数205Aは、最新アドホック鍵135aと存在可能アドホック鍵情報テーブル136に記憶されたアドホック鍵の合計個数を示し、MACリスト205Bには、これらのアドホック鍵を適用してHELLOメッセージ200から生成された複数のMACが設定される。アドホック鍵識別子リスト205Cは、適用されたアドホック鍵の鍵識別子135bまたは136bを示す。
図7(B)は、MAC情報付きTCメッセージのフォーマットを示す。
MAC情報付きTCメッセージ210Mは、図2(B)で説明したTCメッセージ210に、MAC情報として、MAC個数215Aと、MACリスト215Bと、アドホック鍵の識別子リスト215Cとを付加した構成となっている。
MAC個数215Aは、最新アドホック鍵135aと存在可能アドホック鍵情報テーブル136に記憶されたアドホック鍵の合計個数を示し、MACリスト215Bには、これらのアドホック鍵を適用してTCメッセージ210から生成された複数のMACが設定される。アドホック鍵識別子リスト215Cは、適用されたアドホック鍵の鍵識別子135bまたは136bを示す。
図8は、OLSR方式の各通信端末10A(プロセッサ101)が、タイマ割り込みによって定期的、例えば、2秒毎に実行するHELLOメッセージの送信ルーチン300のフローチャートを示す。
ルーチン300が起動されると、プロセッサ101は、HELLOメッセージ200を生成(ステップ301)した後、図9で詳述するMAC生成処理(310)を実行する。上記MAC生成処理310によって、MAC個数205A、MACリスト205B、アドホック鍵識別子リスト205Cを含むMAC情報205が生成される。プロセッサ101は、HELLOメッセージ200にMAC情報205を付加し(302)、MAC情報付きのHELLOメッセージ200Mを送信して(303)、このルーチン300を終了する。
図9は、MAC生成処理310の詳細フローチャートを示す。
MAC生成処理310では、プロセッサ101は、最初に、存在可能アドホック鍵情報テーブル136の登録エントリ数(アドホック鍵の個数)をパラメータImaxに設定し、現在のテーブルエントリを指すためのパラメータiと、MAC個数205Aをカウントするためのパラメータjをそれぞれ初期値「1」に設定する(ステップ311)。次に、プロセッサ101は、最新アドホック鍵135aを適用したHELLOメッセージの暗号化によって、最初のMACを生成し(312)、生成されたMACと使用鍵の識別子135bをMACリスト205Bとアドホック鍵識別子リスト205Cにそれぞれ追加する(313)。
プロセッサ101は、パラメータiとImaxを比較し(314)、i>Imaxでなければ、存在可能アドホック鍵情報テーブル136の第iエントリが示す登録時刻136dから、第iアドホック鍵の有効性をチェックする(315)。登録時刻からの経過時間が所定時間を越えていた場合、プロセッサ101は、第iアドホック鍵を無効と判断し、パラメータiの値をインクリメントして(319)、ステップ314を実行する。
登録時刻からの経過時間が所定時間を越えていなければ、プロセッサ101は、第iアドホック鍵を有効と判断し、第iアドホック鍵を適用してMACを生成し(316)、パラメータjの値をインクリメントして(317)、生成されたMACと使用鍵の識別子136bをMACリスト205Bとアドホック鍵識別子リスト205Cにそれぞれ追加する(318)。この後、プロセッサ101は、パラメータiの値をインクリメントして(319)、ステップ314を実行する。ステップ314で、i>Imaxとなった時、プロセッサ101は、パラメータjの値をMAC個数205Aとして設定し(320)、この処理310を終了する。
図10は、各端末装置10A(プロセッサ101)が、他の端末からHELLOメッセージを受信した時に実行するHELLOメッセージ受信ルーチン400のフローチャートを示す。
MAC情報付きHELLOメッセージ200Mを受信すると、プロセッサ101は、受信メッセージの送信元ノードが既に相互認証済みのノードか否かを判定する(401)。受信メッセージの送信元ノードID202が、直接ノード情報テーブル133に直接ノードID133aとして登録済みで、且つ、ステータス133eが相互認証に成功したことを示していた場合は、プロセッサ101は、送信元ノードを相互認証済みノードと判断する。この場合、プロセッサ101は、受信HELLOメッセージに応答した処理(410)を実行して、このルーチンを終了する。但し、送信元ノードを相互認証済みノードと判断された時、受信HELLOメッセージの正当性判断を更にするために、後述するMAC検証420を実行してから、受信HELLOメッセージに応答した処理(410)を実行するようにしてもよい。
送信元ノードが、相互認証未実施のノードの場合、プロセッサ101は、送信元ノードID202が、間接ノード情報テーブル134に間接ノードID134aとして登録されているか否かを判定する(402)。送信元ノードID202が、間接ノードID134aとして登録されていると言うことは、このノードが、アドホックネットワークの他の何れかの通信端末と相互認証に成功したノードであることを意味している。この場合、本発明では、プロセッサ101は、送信元ノードとの相互認証を省略し、MAC検証(420)を実行する。MAC検証は、受信メッセージのアドホック鍵識別子リスト205Cが示す何れかのアドホック鍵を適用して、HELLOメッセージからMACを生成し、これとMACリスト215Bが示す上記アドホック鍵と対応したMACとが一致するか否かを判定することことを意味している。MAC検証の詳細については、図11で後述する。
プロセッサ101は、MAC検証結果を判定し(421)、MAC検証に成功した場合は、MAC検証失敗回数テーブル139における上記送信元ノードと対応する検証失敗回数139bの値をクリア(422)した後、上記送信元ノードのサークル鍵を受信済みか否かを判定する(423)。この判定は、直接ノード情報テーブル133に送信元ノードID202と一致する直接ノードID133aが登録済みか否かをチェックすることを意味している。サークル鍵が未受信の場合、プロセッサ101は、送信元ノードとの間で、図12で後述するサークル鍵の交換(424)を行った後、受信HELLOメッセージに応答した処理(410)を実行する。
MAC検証に失敗した場合、プロセッサ101は、MAC検証失敗回数テーブル139における上記送信元ノードと対応する検証失敗回数139bの値Nを更新し(425)、Nの値を閾値Nmaxと比較する(426)。N>Nmaxでなければ、プロセッサ101は、受信HELLOメッセージを破棄して(411)、このルーチンを終了する。これによって、同一ノードが送信する次のHELLOメッセージについて、同様の処理が繰り返される。
N>Nmaxの場合、プロセッサ101は、送信元ノードとの間で、図12で詳述する相互認証と暗号鍵交換手順(408)を実行する。プロセッサ101は、認証結果を判定し(409)、認証に成功した場合は、受信HELLOメッセージに応答した処理(410)を実行し、認証に失敗した場合は、受信HELLOメッセージを破棄して(411)、このルーチンを終了する。
ステップ402で、送信元ノードID202が間接ノードID134aとして未登録と判った場合、プロセッサ101は、認証中ノードIDテーブル138を参照して、現在、他の何れかのノードとの間での認証処理が実行中か否かを判定する(403)。認証処理が実行中でなければ、プロセッサ101は、送信元ノードとの間で相互認証と暗号鍵交換手順(408)を実行する。もし、他のノードとの間での認証処理が実行中の場合は、認証相手となっている他のノードから受信したHELLOメッセージをチェックし、上記送信元ノードIDが、該HELLOメッセージの直接ノードリスト203に含まれているか否かを判定する。送信元ノードIDが、直接ノードリストに含まれていると言うことは、送信元ノードが認証相手ノードと相互認証済みであることを意味している(404)。そこで、プロセッサ101は、実行中の認証処理が終了するのを待ち(406)、認証に成功した場合は(407)、送信元ノードとの相互認証に代えて、MAC検証(420)を実行し、認証に失敗した場合は、送信元ノードとの間で相互認証と暗号鍵交換手順(408)を実行する。
ステップ404で、送信元ノードIDが直接ノードリスト203に含まれていなかった場合、プロセッサ101は、上記認証相手ノードから受信したHELLOメッセージの直接ノードリストと、今回受信したHELLOメッセージの直接ノードリストとを照合し、2つのメッセージに共通するノードIDの有無をチェックする(405)。もし、共通するノードIDが見つかれば、今回受信したHELLOメッセージの送信元ノードと認証相手ノードとが、それぞれ上記共通ノードIDをもつ第3のノードと認証済みであることが判る。そこで、プロセッサ101は、実行中の認証処理が終了するのを待ち(406)、認証に成功した場合は(407)、MAC検証(420)を実行し、認証に失敗した場合は、送信元ノードとの間で相互認証と暗号鍵交換手順(408)を実行する。ステップ405で共通ノードIDが見つからなかった場合は、プロセッサ101は、送信元ノードとの間で相互認証と暗号鍵交換手順(408)を実行する。
図11は、MAC検証420の詳細フローチャートを示す。
MAC検証では、プロセッサ101は、最初に、受信HELLOメッセージのMAC個数205AをパラメータImaxに設定し、アドホック鍵を指定するためのパラメータiの値を初期値「1」に設定する(ステップ4201)。次に、プロセッサ101は、受信HELLOメッセージのアドホック鍵識別子リスト205Cが示す第iアドホック鍵識別子と、最新アドホック鍵情報テーブル135に記憶された鍵識別子135bとを比較し(4202)、一致した場合は、最新アドホック鍵135aを適用した受信HELLOメッセージの暗号化によって、MACを生成し(4204)、該生成MACが、受信HELLOメッセージのMACリスト215Bの第iMACと一致するか否かを判定する(4205)。一致した場合は、MAC検証に成功したと判断して(4206)、MAC検証420を終了する。
生成MACとMACリスト205Bの第iMACとが一致しなかった場合は、パラメータiの値をインクリメントし(4207)、iの値をImaxと比較する(4208)。i>Imaxでなければ、ステップ4202に戻り、次の第iアドホック鍵識別子を最新アドホック鍵識別子と比較する。第iアドホック鍵識別子が最新アドホック鍵識別子に一致しなかった場合、存在可能アドホック鍵情報テーブル136から、鍵識別子136bが第iアドホック鍵識別子に一致したアドホック鍵を検索する(4203)。第iアドホック鍵識別子をもつアドホック鍵が見つかった場合は、このアドホック鍵を適用した受信HELLOメッセージの暗号化によって、MACを生成し(4204)、該生成MACが、受信HELLOメッセージのMACリスト205Bの第iMACと一致するか否かを判定する(4205)。一致した場合は、MAC検証に成功したと判断して(4206)、MAC検証420を終了する。
存在可能アドホック鍵情報テーブル136から、第iアドホック鍵識別子をもつアドホック鍵が見つからなかった場合(4203)、パラメータiの値をインクリメントし(4207)、iの値をImaxと比較する(4208)。i>Imaxでなければ、ステップ4202に戻り、i>Imaxとなった場合は、MAC検証に失敗したと判断して(4209)、MAC検証420を終了する。
図12は、相互認証と暗号鍵交換手順408の詳細を示す。ここでは、通信端末10A−1が、通信端末10A−2からのHELLOメッセージを受信し、通信端末10A−2との間で相互認証と暗号鍵交換を行う場合について説明する。
相互認証を開始した通信端末10A−1は、相手端末装置10A−2が所有する公開暗号鍵を認証するための乱数を生成し(1201)、生成された乱数を含む認証開始要求メッセージM1を送信する(1202)。上記認証開始要求メッセージM1を受信した通信端末10A−2は、受信メッセージM1が示す乱数を公開鍵暗号化方式の秘密鍵SK2で暗号化して、認証データを作成する(1203)。また、通信端末10A−2も、通信端末10A−1が所有する公開暗号鍵を認証するための乱数を生成し(1204)し、生成された乱数と、上記認証データと、通信端末10A−2が所有する公開鍵情報(公開鍵PK2および公開鍵証明情報)とを含む応答メッセージM2を通信端末10A−1に送信する(1205)。
通信端末10A−1は、上記応答メッセージM2を受信すると、受信した公開鍵情報に含まれる相手端末の公開鍵証明情報を検証し(1206)、受信した公開鍵PK2による認証データの復号化結果と元の乱数とを照合することによって、認証データを検証し(1207)、通信端末10A−2の正当性を確認する。通信端末10A−2の正当性を確認すると、通信端末10A−1は、ステップ1203と同様、受信メッセージM2が示す乱数を公開鍵暗号化方式の秘密鍵SK1で暗号化することによって、認証データに作成する(1208)。上記認証データは、通信端末10A−1が所有する公開鍵情報(公開鍵PK1および公開鍵証明情報)と共に、メッセージM3として通信端末10A−2に送信される(1209)。
通信端末10A−2は、メッセージM3を受信すると、通信端末10A−1と同様、受信した証明情報を検証し(1210)、受信した公開鍵PK1による認証データの復号化結果と元の乱数とを照合することによって、認証データを検証し(1211)、通信端末10A−1の正当性を確認する。通信端末10A−2が、通信端末10A−1の正当性を確認したことによって相互認証が完了する。尚、通信端末10A−1と10A−2は、相互認証が完了した通信相手のノードIDと対応して、直接ノード情報テーブル133に、公開鍵と証明情報を相互認証情報133Cとして記憶する。
相互認証が完了すると、端末間での暗号鍵情報(サークル鍵とアドホック鍵情報)の交換手順が開始される。
通信端末10A−2は、自ノード情報テーブル131が示すサークル鍵131cと、最新アドホック鍵情報テーブル135が示す最新アドホック鍵情報とを含む鍵データメッセージを生成し、該メッセージ内容を通信端末10A−1の公開鍵PK1で暗号化し(1212)、暗号化鍵データメッセージM4として、通信端末10A−1に送信する(1213)。
通信端末10A−1は、受信した暗号化鍵データメッセージM4を秘密鍵SK1で復号化することによって、通信端末10A−2が所有するサークル鍵と、最新アドホック鍵情報を抽出する(1214)。抽出されたサークル鍵は、直接ノード情報テーブル133に登録され、最新アドホック鍵情報は、最新アドホック鍵情報テーブル135または存在可能アドホック鍵情報テーブル136に反映される(1215)。アドホック鍵情報の更新処理については後で詳述する。
通信端末10A−1は、アドホック鍵情報の更新が終わると、通信端末10A−2と同様に、自ノード情報テーブル131が示すサークル鍵131cと、最新アドホック鍵情報テーブル135が示す最新アドホック鍵情報とを含む鍵データメッセージを生成し、メッセージ内容を通信端末10A−2の公開鍵PK2で暗号化し(1216)、暗号化鍵データメッセージM5として、通信端末10A−2に送信する(1217)。
通信端末10A−2は、受信した暗号化鍵データメッセージM5を秘密鍵SK2で復号化し(1218)、通信端末10A−1と同様に、直接ノード情報テーブル133、最新アドホック鍵情報テーブル135、存在可能アドホック鍵情報テーブル136を更新する(1219)。
以上の実施例から明らかなように、本発明では、通信端末が最初にアドホックネットワークに接続された時、HELLOメッセージの送信元となる他の通信端末との間で相互認証手順を実行するが、一旦、アドホック鍵を共有すると、MAC検証による相手端末の認証が可能となる。従って、本発明によれば、各通信端末は、ユーザの移動によってネットワークの接続関係が変化した場合でも、新たな接続相手となる通信端末との間での相互認証手順の実行を省略し、MAC検証によって相互に正当性を確認することができるため、移動に伴う通信オーバーヘッドを大幅に軽減できる。
次に、図13〜図18を参照して、TCメッセージとアドホック鍵情報メッセージの送受信処理について説明する。
図13は、OLSR方式の各通信端末10A(プロセッサ101)が、タイマ割り込みによって定期的、例えば5秒毎に実行するTCメッセージ送信ルーチン500のフローチャートを示す。
TCメッセージ送信ルーチン500が起動されると、プロセッサ101は、自ノード情報テーブル131のMPRフラグ131bをチェックする(ステップ501)。MPRフラグが「0」、すなわち、自ノードが他の通信端末からMPRノードとして指定されていなければ、TCメッセージの送信は不要となるため、このルーチンを終了する。
MPRフラグが「1」に設定されていた場合、プロセッサ101は、図2(B)で説明したTCメッセージ210を生成し(502)、アドホック鍵を適用して、TCメッセージ210からMAC情報215を生成し、これをTCメッセージ210に付加する(503)。TCメッセージ210用のMAC情報215の生成は、図9で説明したHELLOメッセージ用のMAC情報205の生成と同様の手順で行われるため、詳細説明は省略する。
プロセッサ101は、現時点で自分の知っているアドホック鍵情報をアドホックネットワーク内の他の通信端末に配布するために、MAC情報付きのアドホック鍵情報メッセージを生成する(510)。MAC情報付きのアドホック鍵情報メッセージの生成については、図15を参照して、後で詳述する。この後、プロセッサ101は、MAC情報付きのTCメッセージと、MAC情報付きのアドホック鍵情報メッセージを送信して(504、505)、このルーチンを終了する。尚、アドホック鍵情報メッセージの送信タイミングは、TCメッセージの送信タイミングに合わせる必要はないが、本実施例では、各通信端末が、MAC情報付きTCメッセージの送信の都度、MAC情報付きのアドホック鍵情報メッセージを送信するものとして説明する。
図14は、MAC情報付きのアドホック鍵情報メッセージ220Mのフォーマットを示す。
MAC情報付きのアドホック鍵情報メッセージ220Mは、このメッセージがアドホック鍵情報メッセージであることを示すメッセージ種別221と、メッセージの送信元を示す送信元ノードID222と、メッセージの生成元を示す生成元ノードID223と、メッセージのシーケンス番号224、生成元ノードで使用している最新アドホック鍵を示すアドホック鍵225、アドホック鍵の識別子226と、アドホック鍵の生成時刻227と、アドホック鍵情報リスト228とを含むアドホック鍵情報メッセージに、MAC情報229を付加した形となっている。
アドホック鍵225、鍵識別子226、生成時刻227は、最新アドホック鍵情報テーブル135の内容と一致している。アドホック鍵情報リスト228は、存在可能アドホック鍵情報テーブル136から選択された有効期限内のアドホック鍵情報のリストである。アドホック鍵225〜アドホック鍵情報リスト228の内容は、不正な通信端末で盗聴されないように、サークル鍵131cで暗号化した形で送信される。
図15は、MAC情報付きアドホック鍵情報メッセージの生成処理510の詳細フローチャートを示す。
プロセッサ101は、最初に、図14に示したメッセージ種別221〜生成時刻227からなるアドホック鍵情報メッセージを生成し(511)、次に、存在可能アドホック情報テーブル136に登録されたアドホック鍵の個数(登録エントリ数)をパラメータImaxに設定し、現在のテーブルエントリを指すためのパラメータiの値を「1」に設定する(ステップ512)。
プロセッサ101は、パラメータiとImaxとを比較し(513)、i>Imaxでなければ、存在可能アドホック情報テーブル136の第iエントリが示す登録時刻135dから、第iアドホック鍵の有効性をチェックする(514)。登録時刻からの経過時間が所定時間以内であれば、第iアドホック鍵は有効と判断される。この場合、プロセッサ101は、アドホック鍵情報メッセージのアドホック鍵情報リスト228に、存在可能アドホック情報テーブル136の第iエントリが示すアドホック鍵136a、鍵識別子136b、生成時刻136cをアドホック鍵情報として追加し(515)、パラメータiの値をインクリメントして(517)、ステップ512に戻る。
登録時刻からの経過時間が所定時間を超えていた場合は、プロセッサ101は、第iアドホック鍵を無効と判断し、存在可能アドホック情報テーブル136から第iエントリを削除し(516)、パラメータiの値をインクリメントして(517)、ステップ512に戻る。
パラメータiの値がImaxを超えると、プロセッサ101は、図9で説明したMAC生成ルーチンと同様の手順で、上記アドホック鍵情報リスト228を含むアドホック鍵情報メッセージから、MAC情報229を生成する(518)。この後、プロセッサ101は、機密情報となるアドホック鍵225〜アドホック鍵情報リスト228をサークル鍵131cで暗号化し(519)、部分的に暗号化されたアドホック鍵情報メッセージにMAC情報228を付加して(520)、MAC情報付きアドホック鍵情報メッセージの生成処理510を終了する。
本実施例では、上記MAC情報付きアドホック鍵情報メッセージ220Mの内容から判るように、MPRノードとなった各通信端末が、他の通信端末に、自ノードで選択している最新のアドホック鍵情報の他に、存在可能アドホック鍵情報テーブル136が示す有効期間内の過去のアドホック鍵情報も通知するようにしているため、通信相手端末が、自ノードとは異なるアドホック鍵を最新アドホック鍵として使用している場合であっても、MAC検証が可能となる。
図16は、各通信端末10A(プロセッサ101)がMAC情報付きTCメッセージ210Mを受信した時に実行するTCメッセージ受信処理ルーチン600のフローチャートを示す。
プロセッサ101は、MAC情報付きTCメッセージ210Mを受信すると、受信メッセージの送信元ノードからのサークル鍵が既に受信済みか否かを判定する(601)。サークル鍵の有無は、直接ノード情報テーブル133から、直接ノードID133aが受信メッセージの送信元ノードID212と一致するエントリを検索することによって判明する。直接ノード情報テーブル133に送信元ノードID212と対応したエントリが無かった場合、その後に受信されるアドホック鍵情報メッセージM220Mの復号化とMAC検証ができないため、受信メッセージ210Mを破棄して(611)、このルーチンを終了する。
直接ノード情報テーブル133に、送信元ノードID222と対応するエントリが存在していた場合、プロセッサ101は、受信したTCメッセージ210MのMAC検証を行う(602)。図7に示したフォーマットから明らかなように、TCメッセージのMACは、HELLOメッセージと同じ構造となっているため、図11で説明したHELLOメッセージのMAC検証と同様の手順で検証できる。
MAC検証に失敗した場合(603)、プロセッサ101は、受信メッセージ210Mを破棄して(611)、このルーチンを終了し、MAC検証に成功した場合は、受信メッセージが示すMPRSノードリスト214に従ったルーティングテーブルの更新等のTCメッセージ処理(604)を実行した後、アドホック鍵情報メッセージ220Mの受信を待つ(605)。
アドホック鍵情報メッセージ220Mを受信すると、プロセッサ101は、図17で詳述するアドホック鍵情報メッセージ受信処理(620)を実行する。アドホック鍵情報メッセージ受信処理の実行によって、最新アドホック鍵情報テーブル135または存在可能アドホック鍵情報テーブル136が更新され、受信メッセージ220Mが新たなMAC情報をもつ転送用アドホック鍵情報メッセージに変換される。また、アドホック鍵情報メッセージ220Mの無用な転送を抑制するために、アドホック鍵情報メッセージ受信処理において、アドホック鍵情報メッセージの転送要否が転送指示フラグによって指定される。
この後、プロセッサ101は、MPRフラグ131bをチェックし(606)、MPRフラグが「0」であれば、このルーチンを終了する。MPRフラグが「1」の場合、プロセッサ101は、今回受信したTCメッセージの送信元ノードID212を自ノードIDに書き換え、図9で説明したMAC生成ルーチン310と同様の手順で、新たなMAC情報215を生成し、受信TCメッセージ220Mを新たなMAC情報をもつ転送用TCメッセージに変換する(607)。プロセッサ101は、上記転送用TCメッセージを送信(608)した後、転送指示フラグを判定する(609)。転送指示フラグが「0」の場合は、このルーチンを終了し、転送指示フラグが「1」の場合は、処理620で生成済みの転送用アドホック鍵情報メッセージを送信(610)して、このルーチンを終了する。
図17は、アドホック鍵情報メッセージ受信処理620の詳細フローチャートを示す。
アドホック鍵情報メッセージ受信処理620では、プロセッサ101は、受信メッセージのシーケンス番号224をチェックする(621)。受信メッセージのシーケンス番号224の値が、鍵情報メッセージ・シーケンス番号テーブル137が示す該メッセージ送信元ノードIDと対応するシーケンス番号137bの値よりも新しくなければ、プロセッサ101は、受信メッセージを破棄し、転送指示フラグを「0」に設定して(637)、このルーチンを終了する。
シーケンス番号223の値がシーケンス番号137bの値よりも新しい場合、プロセッサ101は、鍵メッセージ・シーケンス番号テーブル137のシーケンス番号137bを上記シーケンス番号223が示す最新値に更新し(622)、受信メッセージの暗号化部分を復号化する(623)。上記復号化に必要なサークル鍵133dは、直接ノード情報テーブル133から、直接ノードID133aが受信メッセージの送信元ノードID222と一致するエントリを検索することによって得られる。
プロセッサ101は、復号化されたアドホック鍵情報メッセージ220Mを検証対象として、図11で説明した手順で、MAC検証を実行する(624)。MAC検証の結果(625)、検証に失敗した場合は、受信メッセージを破棄し、転送指示フラグを「0」に設定して(637)、このルーチンを終了する。
MAC検証に成功した場合、プロセッサ101は、最新アドホック鍵情報テーブル135が示すアドホック鍵135aと、受信メッセージ220Mが示すアドホック鍵225とを比較し、新しい方を最新アドホック鍵として選択する(626)。最新アドホック鍵の選択は、ポリシー記憶領域150に記憶された鍵選択ポリシーに従って行われ、例えば、アドホック鍵135aの生成時刻135cと、アドホック鍵225の生成時刻227とを比較し、生成時刻の遅い方のアドホック鍵が選択される。
上記鍵選択の結果(627)、自ノードで使用すべき最新アドホック鍵135aを変更する必要があった場合、プロセッサ101は、最新アドホック鍵情報テーブル135のアドホック鍵情報(アドホック鍵135a、鍵識別子135b、生成時刻135c)を受信メッセージが示すアドホック鍵情報(アドホック鍵225、鍵識別子226、生成時刻227)に置き換え、それまでテーブル135に記憶されていた旧いアドホック鍵情報を存在可能アドホック鍵情報テーブル136に移動する(628)。この後、プロセッサは、図18で後述するように、受信メッセージのアドホック鍵情報リスト228の内容に応じて、存在可能アドホック鍵情報テーブル136を更新する(640)。
上記鍵選択の結果(627)、使用すべき最新アドホック鍵に変更がなければ、プロセッサ101は、受信メッセージが示すアドホック鍵情報(アドホック鍵225、鍵識別子226、生成時刻227)が存在可能アドホック鍵情報テーブル136に既に登録済みか否かを判定する(629)。既に登録済みの場合は、該当エントリの登録時刻136dを現在時刻に更新(630)した後、存在可能アドホック鍵情報テーブルの更新処理640を実行する。受信メッセージが示すアドホック鍵情報が存在可能アドホック鍵情報テーブル136に未登録の場合は、受信したアドホック鍵情報を存在可能アドホック鍵情報テーブル136に登録(631)した後、テーブル更新処理640を実行する。
存在可能アドホック鍵情報テーブル136の更新処理640を終えたプロセッサ101は、MPRフラグ131bをチェックし(632)、MPRフラグが「0」であれば、受信メッセージを破棄し、転送指示フラグを「0」に設定して(637)、このルーチンを終了する。
MPRフラグが「1」の場合、プロセッサ101は、送信元ノードID222を自ノードIDに書き換えたアドホック鍵情報メッセージ220Mを対象として、図9で説明した手順に従って、MAC情報を生成する(633)。プロセッサ101は、この後、アドホック鍵情報メッセージ220Mの機密情報部分をサークル鍵131cで暗号化し(634)、部分的に暗号化されたアドホック鍵情報メッセージにMAC情報を付加し(635)、転送指示フラグを「1」に設定して(636)、このルーチンを終了する。
図18は、図17のステップ640で実行される存在可能アドホック鍵情報テーブル136の更新処理の詳細フローチャートを示す。
プロセッサ101は、先ず、受信メッセージ220Mのアドホック鍵情報リスト228に含まれるエントリの個数をパラメータImaxに設定し、現在のエントリを指すためのパラメータiの値を初期値「1」に設定する(641)。次に、アドホック鍵情報リスト228の第iエントリが示す鍵識別子が、存在可能アドホック鍵情報テーブル136に登録済みか否かを判定する(642)。
既に登録済みの場合は、パラメータiの値をインクリメントし(644)、パラメータiとImaxとを比較する(645)。ここで、i>Imaxでなければ、ステップ642に戻り、i>Imaxの場合は、このテーブル更新処理を終了して、図17のステップ632を実行する。アドホック鍵情報リスト228の第iエントリの鍵識別子が、存在可能アドホック鍵情報テーブル136に未登録の場合、プロセッサ101は、上記第iエントリのアドホック鍵情報を含む新たなエントリを存在可能アドホック鍵情報テーブル136に追加(643)した後、ステップ644を実行する。存在可能アドホック鍵情報テーブル136に新たなアドホック鍵情報を追加する時、登録時刻136dとして現在の時刻が設定される。
以下、図19〜図24を参照して、本発明のアドホックネットワークにおける通信シーケンスの具体例について説明する。
図19は、通信端末10A−2と10A−3から構成されるアドホックネットワークに、新たな通信端末10A−1が参加した状態を示し、図20は、これらの通信端末間の主要な通信シーケンスを示す。
通信端末10A−2と10A−3は、公開鍵による相互認証(2001)を実行した後、相互に暗号鍵(サークル鍵とアドホック鍵)を交換し(2002)、アドホック鍵AKを共有した状態となっている。ここで、相互認証(2001)は、図12の手順1201〜1211に相当し、暗号鍵交換(2002)は、図12の手順1212〜1219に相当している。
この状態で、新たな通信端末10A−1が、通信端末10A−2、10A−3の無線通信圏内に移動(2003)し、最初に通信端末10A−2からのMAC情報付きHELLOメッセージ200M−2を受信し、通信端末10A−2との間で相互認証手順を実行中に、通信端末10A−3からのMAC情報付きHELLOメッセージ200M−3を受信した場合を想定する。
通信端末10A−1は、MAC情報付きHELLOメッセージ200M−2を受信すると、送信元の通信端末10A−2との間で相互認証を開始する(2004)。この時、通信端末10A−1は、通信端末10A−2のノードIDを認証中ノードIDテーブル138に記憶した後、認証開始要求メッセージM1を送信し、通信端末10A−2から、認証データと公開鍵情報とを含む応答メッセージM2を受信する。
本発明では、通信端末10A−2との相互認証中に、別の通信端末10A−3からMAC情報付きHELLOメッセージ200M−3を受信すると、通信端末10A−1は、受信メッセージ200M−3の送信元ノードが、HELLOメッセージ200M−2の直接ノードリスト203に含まれているか否かを確認する(図10のステップ404)。ここに示した例では、メッセージ200M−3の送信元ノードが、HELLOメッセージ200M−2の直接ノードリスト203に含まれているため、実行中の認証の結果待ち(2005)となり、通信端末10A−3との相互認証を開始することなく、通信端末10A−2との相互認証を続行し、メッセージM2に応答して、認証データと公開鍵情報とを含むメッセージM3を通信端末10A−2に送信する。
通信端末10A−1と10A−2は、相互認証が完了すると、相互に暗号鍵を交換する(2006)。これによって、通信端末10A−1は、通信端末10A−2、10A−3と共通のアドホック鍵を所持した状態(2007)となる。
通信端末10A−1は、通信端末10A−2との相互認証に成功したため、通信端末10A−2ですでに認証済みとなっている通信端末10A−3については、相互認証を省略して、HELLOメッセージ200M−3のMAC検証を行う(2008)。MAC検証には、通信端末10A−2から取得した最新のアドホック鍵が適用される。ここに示した例では、通信端末10A−1は、HELLOメッセージ200M−3のMAC検証に成功し、通信端末10A−3とサークル鍵を交換する(2009)。これによって、通信端末10A−1は、アドホックネットワークの他の通信端末とデータ通信可能な状態となる。
図21は、通信端末10A−1の移動によって、通信端末間の接続関係が変化した状態を示し、図22は、図21に対応する通信端末間の主要な通信シーケンスを示す。
ここに示したアドホックネットワークは、最初、通信端末10A−1と10A−2、通信端末10A−2と10A−3とが接続関係にある。図22に示すように、通信端末10A−2と10A−3との間の接続は、図20と同様、公開鍵による相互認証2001と、暗号鍵(サークル鍵とアドホック鍵)交換2002の実行によって実現される。また、通信端末10A−1と10A−2との接続は、図20と同様、公開鍵による相互認証2004と、暗号鍵(サークル鍵とアドホック鍵)交換2006の実行によって実現される。
通信端末10A−1がアドホック鍵AKを取得した状態(2007)で、通信端末10A−1の移動に伴って、通信端末10A−1と通信端末10A−2との接続関係が断たれ、通信端末10A−1が通信端末10A−3の無線通信圏内に入ったと仮定する(2010)。この時、通信端末10A−3からのMAC情報付きHELLOメッセージ200M−3を受信した通信端末10A−1は、受信メッセージの送信元ノードIDが、間接ノード情報テーブル134に既に登録済みとなっているため、相互認証を省略して、アドホック鍵AKを適用した受信メッセージのMAC検証(2008)を行う。
この例では、通信端末10A−1は、MAC検証に成功するため、通信端末10A−3との間でサークル鍵を交換(2009)し、再びアドホックネットワークでの通信が可能な状態となる。通信端末10A−3が、通信端末10A−1からのMAC情報付きHELLOメッセージを受信した場合でも、同様の結果が得られる。
図23は、通信端末10A−1のグループに所属していない他の通信端末10Bが、アドホックネットワークから離脱した通信端末10A−1になりすまして、アドホックネットワークへの参加を試みた場合を示し、図24は、図23に対応する通信シーケンスを示す。シーケンス2001〜2007は、図22と同一である。
通信端末10A−1が移動し、アドホックネットワークから離脱(2008)した後、通信端末10Bが、通信端末10A−1になりすまして、HELLOメッセージ200M(B)を送信したと仮定する。この場合、通信端末10Bは、正規のアドホック鍵AKを保有していないため、メッセージ200M(B)は、MAC情報を全く持たないか、間違ったMACが付加されている。従って、メッセージ200M(B)を受信した通信端末10A−2は、MAC検証に失敗し(2020)、受信メッセージを破棄する(2021)ことになる。
通信端末10Bが、HELLOメッセージ200M(B)の送信を繰り返しても、通信端末10A−2は、MAC検証の失敗(2022)と、受信メッセージの破棄(2023)を繰り返し、MAC検証の失敗回数を増やすだけである。MAC検証の失敗回数が閾値に達すると、通信端末10A−2は、通信端末10Bとの間で、公開鍵による相互認証を開始する(2024)。この場合、通信端末10A−2は、通信端末10Bが、アドホックネットワークの正規メンバーが所持すべき公開鍵情報を持っていないため、通信端末10Bを不正端末と判断する。
相互認証によって一旦、不正と判断された通信端末10Bについては、ノードIDを不正端末IDテーブルに登録しておくとよい。不正端末のIDを記憶しておくことによって、通信端末10BがHELLOメッセージの送信を繰り返した場合でも、通信端末10A−2は、受信メッセージの送信元をチェックすることによって、MAC検証を行うことなく、受信メッセージを破棄する(2025)ことが可能となる。本実施例によれば、セキュリティ確保のための通信オーバーヘッドを軽減して、不正な通信端末10Bのアドホックネットワークへの参加を阻止することが可能となる。
以上の実施例から明らかなように、本発明によれば、公開鍵による相互認証によって、一旦、アドホックネットワークへの参加を許された通信端末については、移動に伴って通信端末間の接続関係が変化した場合でも、制御メッセージに付加されたMACを利用して即時に相手装置を検証できるため、相互認証手順の実行による通信オーバーヘッドを回避して、アドホックネットワークのセキュリティを確保することができる。また、本発明は、特に、通信端末の移動に伴ってノード間の接続関係の変化した時、移動した端末と最寄りの通信端末との間のセキュリティオーバヘッドの軽減に有効となる。
本発明が適用されるアドホックネットワークの構成を示す図。 (A)はOLSR方式の制御メッセージであるHELLOメッセージのフォーマット、(B)はTCメッセージのフォーマットを示す図。 通信端末10Aのハードウェア構成の一例を示すブロック図。 本発明の通信端末10Aが備えるソフトウェア構成の一例を示す図。 (A)は自ノード情報テーブル131、(B)は直接ノード情報テーブル133、(C)は間接ノード情報テーブル134の一例を示す図。 (A)は最新アドホック鍵情報テーブル135、(B)は存在可能アドホック情報テーブル136、(C)は鍵情報メッセージ・シーケンス番号テーブル137、(E)は認証中ノードIDテーブル138、(E)はMAC検証失敗回数テーブル139の一例を示す図。 (A)はMAC情報付きHELLOメッセージのフォーマット、(B)はMAC情報付きTCメッセージのフォーマットを示す図。 通信端末が実行するHELLOメッセージ送信ルーチン300の1例を示すフローチャート。 図8におけるMAC生成処理310の詳細を示すフローチャート。 MAC情報付きHELLOメッセージの受信ルーチン400の1例を示すフローチャート。 図10におけるMAC検証処理420の詳細を示すフローチャート。 通信端末10A−1と10A−2との間で実行される相互認証と暗号鍵交換のための通信シーケンス図。 MAC情報付きTCメッセージ送信ルーチン500の1例を示すフローチャート。 アドホック鍵情報メッセージのフォーマットを示す図。 図13におけるMAC情報付きアドホック鍵情報メッセージの生成処理510の詳細を示すフローチャート。 MAC情報付きTCメッセージの受信ルーチン600の1例を示すフローチャート。 図16におけるアドホック鍵情報メッセージの受信処理620の詳細を示すフローチャート。 図17における存在可能アドホック鍵情報テーブルの更新処理640の詳細を示すフローチャート。 アドホックネットワークに新たな通信端末10A−1が参加した状態を示す図。 図19と対応した本発明のアドホックネットワークにおける通信シーケンス図。 アドホックネットワークにおいて通信端末10A−1が移動した状態を示す図。 図21と対応した本発明のアドホックネットワークにおける通信シーケンス図。 通信端末10A−1がアドホックネットワークから離脱し、不正な通信端末10Bが参加しようとしている状態を示す図。 図23と対応した本発明のアドホックネットワークにおける通信シーケンス図。
符号の説明
10:通信端末(移動端末)、131:自ノード情報テーブル、133:直接ノード情報テーブル、134:間接ノード情報テーブル、135:最新アドホック鍵情報テーブル、136:存在可能アドホック情報テーブル、137:鍵情報メッセージ・シーケンス番号テーブル、138:認証中ノードIDテーブル、139:MAC検証失敗回数テーブル、200M:MAC情報付きHELLOメッセージ、210M:MAC情報付きTCメッセージ、220M:MAC情報付きアドホック鍵情報メッセージ、205、215、229:MAC情報。

Claims (11)

  1. 無線信号の伝播範囲内に位置した直接通信可能な通信端末を最初の中継ノードとして、同一グループに属した各通信端末が、遠隔位置にある他の通信端末と間接的に通信可能なアドホックネットワーク用の通信端末であって、
    定期的に生成した制御メッセージに、上記グループに属した各通信端末が共有する暗号鍵でもって検証可能なメッセージ認証コード(以下、MACと言う)を付加し、MAC情報付き制御メッセージとして送信する送信制御メッセージ処理部と、
    他の通信端末からMAC情報付き制御メッセージを受信した時、該受信メッセージの送信元通信端末との間で実行すべき相互認証のための所定の通信手順に代えて、該受信メッセージの付されたMACの正当性を検証し、検証結果に応じて、上記受信メッセージの破棄、または受信メッセージの内容に応じた処理を実行する受信制御メッセージ処理部とを有することを特徴とする通信端末。
  2. 無線信号の伝播範囲内に位置した直接通信可能な通信端末を最初の中継ノードとして、同一グループに属した各通信端末が、遠隔位置にある他の通信端末と間接的に通信可能なアドホックネットワーク用の通信端末であって、
    定期的に生成した制御メッセージに、アドホックネットワーク全体で有効となる暗号鍵(以下、アドホック鍵と言う)で該制御メッセージを暗号化して得られたメッセージ認証コード(以下、MACと言う)を付加し、MAC情報付き制御メッセージとして送信する送信制御メッセージ処理部と、
    直接通信可能な相互認証済みの通信端末の識別子を直接ノード識別子として記憶する直接ノード情報テーブルと、
    間接通信可能な通信端末の識別子を間接ノード識別子として記憶する間接ノード情報テーブルと、
    他の通信端末からMAC情報付き制御メッセージを受信した時、該受信メッセージが示す送信元識別子が上記直接ノード情報テーブルに登録済みの場合は、該受信メッセージの内容に応じた処理を実行し、上記送信元識別子が上記間接ノード情報テーブルに登録済みの場合は、該受信メッセージの付されたMACの正当性を検証し、上記送信元識別子が上記直接ノード情報テーブルと間接ノード情報テーブルの何れにも未登録の場合は、上記受信メッセージの送信元との間で相互認証のための所定の通信手順を実行し、上記相互認証またはMAC検証に失敗した時は上記受信メッセージを破棄し、上記相互認証またはMAC検証に成功した時は受信メッセージの内容に応じた処理を実行する受信制御メッセージ処理部とを有することを特徴とする通信端末。
  3. 前記制御メッセージが、該制御メッセージの送信元端末と直接的な通信が可能で、既に認証済みの少なくとも1つの通信端末の識別子を示す直接ノードリストを含み、
    前記受信制御メッセージ処理部が、前記受信メッセージが示す送信元識別子が、前記直接ノード情報テーブルと間接ノード情報テーブルの何れにも未登録の場合、他の通信端末との間で相互認証手順を実行中でなければ、上記受信メッセージの送信元端末との間で相互認証のための通信手順を開始し、他の通信端末との間で相互認証手順を実行中であれば、該他の通信端末から受信した制御メッセージの直接ノードリストに、今回受信した制御メッセージの送信元端末の識別子が存在するか否かを判定し、存在していなければ、上記受信メッセージの送信元端末との間で相互認証のための通信手順を開始し、存在していれば、実行中の相互認証の結果を待つことを特徴とする請求項2に記載の通信端末。
  4. 前記他の通信端末から受信した制御メッセージの直接ノードリストに、今回受信した制御メッセージの送信元端末の識別子が存在しなかった場合に、前記受信制御メッセージ処理部が、上記他の通信端末から受信した制御メッセージの直接ノードリストと今回受信した制御メッセージの直接ノードリストとに共通する第3の通信端末識別子が存在するか否かを判定し、共通する第3端末識別子が存在しなければ、上記受信メッセージの送信元端末との間で相互認証のための通信手順を開始し、存在していれば、実行中の相互認証の結果を待つことを特徴とする請求項3に記載の通信端末。
  5. 前記受信制御メッセージ処理部が、前記結果待ちとなっていた相互認証に成功した場合は、前記受信メッセージに付されたMACの正当性を検証し、上記相互認証に失敗した場合は、上記受信メッセージの送信元との間で相互認証のための所定の通信手順を実行することを特徴とする請求項3または請求項4に記載の通信端末。
  6. 前記MAC情報付き制御メッセージが、前記MACに付随する情報として、該MACの生成に適用されたアドホック鍵の識別子を含み、
    前記受信制御メッセージ処理部が、受信した制御メッセージに付加されたアドホック鍵識別子と対応したアドホック鍵を適用して受信メッセージを暗号化し、該暗号化の結果と上記MACとを照合することによって、該MACの正当性を検証することを特徴とする請求項1〜請求項5の何れかに記載された通信端末。
  7. 最新のアドホック鍵と該アドホック鍵の識別子とを示す第1テーブルと、
    上記最新のアドホック鍵以外で、アドホックネットワークに存在可能な少なくとも1つのアドホック鍵と該アドホック鍵の識別子とを示す第2テーブルとを有し、
    前記送信制御メッセージ処理部が、上記第1、第2テーブルが示すアドホック鍵に従って生成した複数のMACと、各アドホック鍵の識別子とを付加した形で、前記MAC情報付き制御メッセージを送信し、
    前記受信制御メッセージ処理部が、受信した制御メッセージに付加されたアドホック鍵識別子に従って上記第1、第2テーブルからアドホック鍵を検索し、何れかのアドホック鍵による暗号化結果が受信メッセージに付されたMACと一致した場合に、上記受信メッセージを正当と判断することを特徴とする請求項6に記載された通信端末。
  8. 無線信号の伝播範囲内に位置した直接通信可能な通信端末を中継ノードとして、同一グループに属した各通信端末が、遠隔位置にある他の通信端末と間接的に通信できるアドホックネットワークにおける通信制御方法であって、
    各通信端末が、定期的に生成した制御メッセージから、上記グループに属した各通信端末が共有する暗号鍵でもって検証可能なメッセージ認証コード(以下、MACと言う)を生成し、MAC情報付き制御メッセージとして送信し、
    他の通信端末からのMAC情報付き制御メッセージを受信した通信端末が、該受信メッセージの送信元通信端末との間で相互認証のための所定の通信手順を実行し、
    上記相互認証に成功した通信端末が、相互認証済みの通信端末の識別子を直接ノード識別子、該受信メッセージから判明した間接通信可能な通信端末の識別子を間接ノード識別子として管理テーブルに記憶し、
    上記管理テーブルに記憶された何れかの間接ノード識別子に一致する送信元識別子をもつMAC情報付き制御メッセージを受信した時、各通信端末が、送信元通信端末との間で実行すべき相互認証に代えて、該受信メッセージのMACの正当性を検証し、検証に失敗した時は、受信メッセージは破棄し、検証に成功した時は、受信メッセージの内容に応じた処理を実行することを特徴とする通信制御方法。
  9. 各通信端末が、前記制御メッセージとして、自分と直接的な通信が可能で、既に認証済みの少なくとも1つの通信端末の識別子を示す直接ノードリストを含むメッセージを生成し、
    他の通信端末からMAC情報付き制御メッセージを受信した通信端末が、該受信メッセージが示す送信元識別子が、前記管理テーブルに記憶された直接ノード識別子と間接ノード識別子の何れにも該当しなかった場合、他の通信端末との間で相互認証手順を実行中でなければ、上記受信メッセージの送信元端末との間で相互認証のための通信手順を開始し、他の通信端末との間で相互認証手順を実行中であれば、該他の通信端末から受信した制御メッセージの直接ノードリストの内容から、今回受信した制御メッセージの送信元端末との間での相互認証の要否を判定することを特徴とする請求項8に記載の通信制御方法。
  10. 前記他の通信端末から受信した制御メッセージの直接ノードリストに、前記受信メッセージの送信元識別子が存在していなければ、該受信メッセージの送信元端末との間で相互認証のための通信手順を開始し、存在していれば、実行中の相互認証の結果を待つことを特徴とする請求項9に記載の通信制御方法。
  11. 前記他の通信端末から受信した制御メッセージの直接ノードリストに、今回受信した制御メッセージの送信元端末の識別子が存在しなかった場合に、上記他の通信端末から受信した制御メッセージの直接ノードリストと今回受信した制御メッセージの直接ノードリストとに共通する第3の通信端末識別子が存在するか否かを判定し、共通する第3端末識別子が存在しなければ、上記受信メッセージの送信元端末との間で相互認証のための通信手順を開始し、存在していれば、実行中の相互認証の結果を待つことを特徴とする請求項9に記載の通信制御方法。
JP2005189543A 2005-06-29 2005-06-29 アドホックネットワーク用の通信端末および通信制御方法 Expired - Fee Related JP4533258B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005189543A JP4533258B2 (ja) 2005-06-29 2005-06-29 アドホックネットワーク用の通信端末および通信制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005189543A JP4533258B2 (ja) 2005-06-29 2005-06-29 アドホックネットワーク用の通信端末および通信制御方法

Publications (2)

Publication Number Publication Date
JP2007013386A JP2007013386A (ja) 2007-01-18
JP4533258B2 true JP4533258B2 (ja) 2010-09-01

Family

ID=37751329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005189543A Expired - Fee Related JP4533258B2 (ja) 2005-06-29 2005-06-29 アドホックネットワーク用の通信端末および通信制御方法

Country Status (1)

Country Link
JP (1) JP4533258B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5012116B2 (ja) * 2007-03-19 2012-08-29 株式会社日立製作所 相互認証システム、相互認証方法、ホスト装置及びクライアント装置
JP5171167B2 (ja) * 2007-09-05 2013-03-27 キヤノン株式会社 通信パラメータの設定処理を行う通信装置、当該通信装置の制御方法、並びにコンピュータプログラム
CN101222772B (zh) * 2008-01-23 2010-06-09 西安西电捷通无线网络通信有限公司 一种基于id的无线多跳网络认证接入方法
JP5293284B2 (ja) * 2009-03-09 2013-09-18 沖電気工業株式会社 通信方法、メッシュ型ネットワークシステム及び通信端末
WO2011121713A1 (ja) * 2010-03-29 2011-10-06 富士通株式会社 ノード、転送方法、および転送プログラム
CN102484791A (zh) * 2010-05-19 2012-05-30 三洋电机株式会社 基站装置
WO2012014294A1 (ja) 2010-07-28 2012-02-02 富士通株式会社 鍵設定方法、ノード、およびネットワークシステム
WO2012090331A1 (ja) 2010-12-28 2012-07-05 富士通株式会社 鍵設定方法、ノード、サーバ、およびネットワークシステム
US8743716B2 (en) * 2011-02-04 2014-06-03 General Electric Company Systems, methods, and apparatus for identifying invalid nodes within a mesh network
JP5874823B2 (ja) * 2012-05-24 2016-03-02 富士通株式会社 ネットワークシステム、ノード、および通信方法。
US9210578B2 (en) * 2012-07-12 2015-12-08 Nokia Technologies Oy Methods and apparatus for authentication
US10462670B2 (en) 2015-03-30 2019-10-29 Nec Corporation Radio terminal apparatus and method therefor
JP6527090B2 (ja) * 2016-02-01 2019-06-05 株式会社日立製作所 ユーザ許可の確認システム
JP2020167509A (ja) * 2019-03-29 2020-10-08 コベルコ建機株式会社 情報処理システム、情報処理方法、およびプログラム
CN111614659B (zh) * 2020-05-19 2022-09-23 杭州英视信息科技有限公司 未知网络流量的分布式检测方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11340969A (ja) * 1998-05-22 1999-12-10 Nec Corp ユーザ相互認証方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体
JP2001352579A (ja) * 2000-06-07 2001-12-21 Nec Corp 携帯電話機のセキュリティシステム及びセキュリティ方法
JP2004228926A (ja) * 2003-01-23 2004-08-12 Sony Corp 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
JP2004260803A (ja) * 2003-02-03 2004-09-16 Sony Corp 無線アドホック通信システム、端末、その端末における属性証明書発行提案方法及び属性証明書発行依頼方法並びにそれらの方法を端末に実行させるためのプログラム
JP2005117254A (ja) * 2003-10-06 2005-04-28 Nippon Telegr & Teleph Corp <Ntt> 無線局間における相手認証方法、および無線局端末装置、ならびにプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11340969A (ja) * 1998-05-22 1999-12-10 Nec Corp ユーザ相互認証方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体
JP2001352579A (ja) * 2000-06-07 2001-12-21 Nec Corp 携帯電話機のセキュリティシステム及びセキュリティ方法
JP2004228926A (ja) * 2003-01-23 2004-08-12 Sony Corp 無線通信システム、無線通信装置及び無線通信方法、並びにコンピュータ・プログラム
JP2004260803A (ja) * 2003-02-03 2004-09-16 Sony Corp 無線アドホック通信システム、端末、その端末における属性証明書発行提案方法及び属性証明書発行依頼方法並びにそれらの方法を端末に実行させるためのプログラム
JP2005117254A (ja) * 2003-10-06 2005-04-28 Nippon Telegr & Teleph Corp <Ntt> 無線局間における相手認証方法、および無線局端末装置、ならびにプログラム

Also Published As

Publication number Publication date
JP2007013386A (ja) 2007-01-18

Similar Documents

Publication Publication Date Title
JP4554968B2 (ja) アドホックネットワークにおける無線通信端末装置
JP4551202B2 (ja) アドホックネットワークの認証方法、および、その無線通信端末
US10129745B2 (en) Authentication method and system for wireless mesh network
JP4533258B2 (ja) アドホックネットワーク用の通信端末および通信制御方法
RU2406252C2 (ru) Способ и система предоставления защищенной связи с использованием сотовой сети для множества устройств специализированной связи
US6856800B1 (en) Fast authentication and access control system for mobile networking
US7581095B2 (en) Mobile-ad-hoc network including node authentication features and related methods
JP5414898B2 (ja) 有線lanのセキュリティアクセス制御方法及びそのシステム
EP3396928B1 (en) Method for managing network access rights and related device
JP5589410B2 (ja) 通信システム及び通信装置
CN101427236B (zh) 在无线通信网络中传播相互认证数据的方法和系统
JP4902878B2 (ja) リンク管理システム
JP2011514032A (ja) Idに基づく無線マルチホップネットワーク認証アクセス方法、装置及びシステム
JP2008547245A (ja) 無線分散システムの認証方法
US20210297246A1 (en) Internet of things networking authentication system and method thereof
JP2016134861A (ja) ノード装置、ネットワークシステム及びノード装置の接続方法
JP4498871B2 (ja) 無線通信装置
JP2009526457A (ja) ネットワーク装置からなるコミュニティに装置を組み入れるための方法および装置
JP2008131564A (ja) 信用度評価方法
JP2007104628A (ja) アドホック網の端末認証方法、端末認証システム、認証局、端末認証管理方法およびプログラム
JP6961951B2 (ja) ネットワーク構築システム、方法及び無線ノード
JP4609938B2 (ja) データ通信方法およびシステム
JP2017111599A (ja) 認証装置、認証システム及び認証方法
JP2010220071A (ja) 情報通信制御装置、ネットワークインタフェース装置、方法及びプログラム
Shen et al. A MOBILE LOCATION-BASED FRAMEWORK FOR SECURE E-COMMERCE AND E-GOVERNMENT

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100521

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100608

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100611

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130618

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees