(57)【要約】  作業員は、ノード（Ｎｉ−３）の設置場所に行き、ノード（Ｎｉ−３）と携帯端末（Ｈ）とを接続する。ノード（Ｎｉ−３）は、更新要求パケット（ｒｐ）を管理サーバ（１０１）に送信する。管理サーバ（１０１）は、更新要求パケット（ｒｐ）をノード（Ｎｉ−３）から受信すると、更新要求パケット（ｒｐ）からノード（Ｎｉ−３）のアドレスを特定する。ノード（Ｎｉ−３）のアドレスが更新要求パケット（ｒｐ）から特定されるため、管理サーバ（１０１）は、テーブル（Ｔｉ）を参照して、ゲートウェイ（Ｇｉ）を特定する。そして、管理サーバ（１０１）は、鍵情報ＤＢ（１１０）を参照して、ゲートウェイ（Ｇｉ）固有の新鍵（ＫＫｉ）を抽出する。管理サーバ（１０１）は、鍵情報ＤＢ（１１０）から抽出された新鍵（ＫＫｉ）を、携帯端末（Ｈ）を介してノード（Ｎｉ−３）に送信する。
2012073340.tif 000002
【特許請求の範囲】
【請求項１】
アドホックネットワーク内のゲートウェイから前記アドホックネットワーク内のノード群の各ノードに付与された前記ゲートウェイ固有の現鍵を更新する鍵更新方法であって、
前記現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記ゲートウェイから受信する第１の受信工程と、
前記第１の受信工程によって受信された前記暗号化パケットを前記現鍵で復号する復号工程と、
前記復号工程によって復号された情報に前記更新通知情報があるか否かを判断する判断工程と、
前記判断工程によって前記更新通知情報があると判断された場合、自ノードのアドレスを前記現鍵で暗号化した暗号化応答パケットを前記ゲートウェイに送信する第１の送信工程と、
前記ゲートウェイによって前記暗号化応答パケットから抽出された前記自ノードのアドレスおよび前記ゲートウェイ固有の新鍵を関連付けて保存するサーバと通信可能な携帯端末との接続を検知する検知工程と、
前記検知工程によって接続が検知された場合、前記自ノードのアドレスを含む更新要求パケットを、前記携帯端末を介して前記サーバに送信する第２の送信工程と、
前記第２の送信工程によって送信された前記更新要求パケット内の前記自ノードのアドレスに関連付けられている前記新鍵を、前記携帯端末を介して前記サーバから受信する第２の受信工程と、
前記現鍵から、前記第２の受信工程によって受信された前記新鍵に更新する更新工程と、
を前記ノードが実行することを特徴とする鍵更新方法。
【請求項２】
前記判断工程は、
前記暗号化パケットに前記ゲートウェイのアドレスがあるか否かを判断し、
前記第１の送信工程は、
前記ゲートウェイのアドレスがあった場合、前記暗号化応答パケットを前記ゲートウェイに送信することを特徴とする請求項１に記載の鍵更新方法。
【請求項３】
前記判断工程は、
前記暗号化パケットから復号された情報に前記ゲートウェイのアドレスがあるか否かを判断し、
前記第１の送信工程は、
前記ゲートウェイのアドレスがあった場合、前記暗号化応答パケットを前記ゲートウェイに送信することを特徴とする請求項１に記載の鍵更新方法。
【請求項４】
アドホックネットワークを構成するノード群内のノードであって、
前記アドホックネットワーク内のゲートウェイ固有の現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記ゲートウェイから受信する第１の受信手段と、
前記第１の受信手段によって受信された前記暗号化パケットを前記現鍵で復号することにより、前記更新通知情報があるか否かを判断する判断手段と、
前記判断手段によって前記更新通知情報があると判断された場合、自ノードのアドレスを前記現鍵で暗号化した暗号化応答パケットを前記ゲートウェイに送信する第１の送信手段と、
前記ゲートウェイによって前記暗号化応答パケットから抽出された前記自ノードのアドレスおよび前記ゲートウェイ固有の新鍵を関連付けて保存するサーバと通信可能な携帯端末との接続を検知する検知手段と、
前記検知手段によって接続が検知された場合、前記自ノードのアドレスを含む更新要求パケットを、前記携帯端末を介して前記サーバに送信する第２の送信手段と、
前記第２の送信手段によって送信された前記更新要求パケット内の前記自ノードのアドレスに関連付けられている前記新鍵を、前記携帯端末を介して前記サーバから受信する第２の受信手段と、
前記現鍵から、前記第２の受信手段によって受信された前記新鍵に更新する更新手段と、
を備えることを特徴とするノード。
【請求項５】
前記判断手段は、
前記暗号化パケットに前記ゲートウェイのアドレスがあるか否かを判断し、
前記第１の送信手段は、
前記ゲートウェイのアドレスがあった場合、前記暗号化応答パケットを前記ゲートウェイに送信することを特徴とする請求項４に記載のノード。
【請求項６】
前記判断手段は、
前記復号手段によって前記暗号化パケットから復号された情報に前記ゲートウェイのアドレスがあるか否かを判断し、
前記第１の送信手段は、
前記ゲートウェイのアドレスがあった場合、前記暗号化応答パケットを前記ゲートウェイに送信することを特徴とする請求項４に記載のノード。
【請求項７】
アドホックネットワーク内のゲートウェイであって、
前記ゲートウェイ固有の現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記アドホックネットワークに同時通報する配信手段と、
前記ゲートウェイ固有の新鍵を生成する生成手段と、
前記生成手段によって生成された前記新鍵および前記ゲートウェイのアドレスを、前記アドホックネットワーク内の各ノードに当該各ノードに接続された携帯端末を介して通信可能なサーバに送信する送信手段と、
を備えることを特徴とするゲートウェイ。
【請求項８】
アドホックネットワーク内のゲートウェイであって、
前記ゲートウェイ固有の現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記アドホックネットワークに同時通報する配信手段と、
前記ゲートウェイ固有の新鍵を、前記アドホックネットワーク内の各ノードに当該各ノードに接続された携帯端末を介して前記新鍵を送信可能なサーバから受信する受信手段と、
を備えることを特徴とするゲートウェイ。
【請求項９】
アドホックネットワーク内のゲートウェイと通信可能なサーバであって、
前記ゲートウェイのアドレスおよび前記ゲートウェイ固有の現鍵を関連付けて保存するデータベースと、
前記ゲートウェイのアドレスおよび前記ゲートウェイ固有の新鍵を前記ゲートウェイから受信して、前記ゲートウェイのアドレスに関連付けて前記データベースに前記新鍵を保存する取得手段と、
前記アドホックネットワークを構成するノード群の各ノードのアドレスを、前記ゲートウェイから受信した場合、前記ゲートウェイのアドレスと前記各ノードのアドレスとを関連付けた情報を作成する作成手段と、
前記ノード群内の前記サーバと通信可能な携帯端末と接続された特定のノードから、前記特定のノードのアドレスを含む更新要求パケットを、前記携帯端末を介して受信する受信手段と、
前記受信手段によって受信された前記更新要求パケットに含まれている特定のノードのアドレスが、前記作成手段によって作成された情報にあるか否かを判定する判定手段と、
前記判定手段によってあると判定された場合、前記ゲートウェイのアドレスに関連付けられている前記新鍵を、前記データベースから抽出する抽出手段と、
前記抽出手段によって抽出された前記新鍵を、前記携帯端末を介して前記特定のノードに送信する送信手段と、
を備えることを特徴とするサーバ。
【請求項１０】
アドホックネットワーク内のゲートウェイと通信可能なサーバであって、
前記ゲートウェイのアドレスおよび前記ゲートウェイ固有の現鍵を関連付けて保存するデータベースと、
前記ゲートウェイ固有の新鍵を生成し、生成された前記新鍵を、前記データベース内の前記ゲートウェイのアドレスに関連付けて保存する取得手段と、
前記新鍵を前記ゲートウェイに送信する第１の送信手段と、
前記アドホックネットワークを構成するノード群の各ノードのアドレスを、前記ゲートウェイから受信した場合、前記ゲートウェイのアドレスと前記各ノードのアドレスとを関連付けた情報を作成する作成手段と、
前記ノード群内の前記サーバと通信可能な携帯端末と接続された特定のノードから、前記特定のノードのアドレスを含む更新要求パケットを、前記携帯端末を介して受信する受信手段と、
前記受信手段によって受信された前記更新要求パケットに含まれている前記特定のノードのアドレスが、前記作成手段によって作成された情報にあるか否かを判定する判定手段と、
前記判定手段によってあると判定された場合、前記ゲートウェイのアドレスに関連付けられている前記新鍵を、前記データベースから抽出する抽出手段と、
前記抽出手段によって抽出された前記新鍵を、前記携帯端末を介して前記特定のノードに送信する第２の送信手段と、
を備えることを特徴とするサーバ。
【請求項１１】
前記作成手段は、
前記ノード群のすべてのノードに前記新鍵が前記携帯端末を介して送信された場合、前記情報を消去することを特徴とする請求項９または１０に記載のサーバ。
【請求項１２】
アドホックネットワーク内のゲートウェイと、前記アドホックネットワーク内のノード群と、前記ゲートウェイと通信可能なサーバと、を備え、前記ノード群の各ノードに付与された前記ゲートウェイ固有の現鍵を更新するネットワークシステムであって、
前記ゲートウェイが、前記現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記アドホックネットワークに同時通報する配信手段と、
前記ゲートウェイが、前記ゲートウェイ固有の新鍵を取得して保存する第１の取得手段と、
前記サーバが、前記新鍵を取得して、前記ゲートウェイのアドレスおよび前記現鍵を関連付けて保存するデータベースにおいて、前記ゲートウェイのアドレスに関連付けて前記新鍵を保存する第２の取得手段と、
前記サーバが、前記アドホックネットワークを構成するノード群の各ノードのアドレスを、前記ゲートウェイから受信した場合、前記ゲートウェイのアドレスと前記各ノードのアドレスとを関連付けた情報を作成する作成手段と、
前記ノード群内の各ノードが、前記暗号化パケットを前記現鍵で復号することにより、前記更新通知情報であるか否かを判断する判断手段と、
前記ノード群内の前記サーバと通信可能な携帯端末と接続された特定のノードが、前記判断手段によって前記更新通知情報であると判断された場合、前記特定のノードのアドレスを含む更新要求パケットを、前記携帯端末を介して前記サーバに送信する第１の送信手段と、
前記サーバが、前記データベースにおいて前記第１の送信手段によって送信された更新要求パケットに含まれている前記特定のノードのアドレスが、前記作成手段によって作成された情報にあるか否かを判定する判定手段と、
前記サーバが、前記判定手段によってあると判定された場合、前記ゲートウェイのアドレスに関連付けられている前記新鍵を、前記データベースから抽出する抽出手段と、
前記サーバが、前記抽出手段によって抽出された前記新鍵を、前記携帯端末を介して前記特定のノードに送信する第２の送信手段と、
前記特定のノードが、前記現鍵から前記第２の送信手段によって送信された前記新鍵に更新する更新手段と、
を備えることを特徴とするネットワークシステム。
【請求項１３】
前記第１の取得手段は、
前記ゲートウェイが、前記新鍵を生成して保存し、
前記第２の取得手段は、
前記サーバが、前記ゲートウェイによって生成された前記新鍵および前記ゲートウェイのアドレスを受信し、前記ゲートウェイのアドレスに関連付けて前記新鍵を前記データベースに保存することを特徴とする請求項１２に記載のネットワークシステム。
【請求項１４】
前記第２の取得手段は、
前記サーバが、前記新鍵を生成して、前記ゲートウェイのアドレスに関連付けて前記新鍵を前記データベースに保存し、
前記第１の取得手段は、
前記ゲートウェイが、前記サーバによって生成された前記新鍵を受信して保存することを特徴とする請求項１２に記載のネットワークシステム。
【請求項１５】
前記作成手段は、
前記ノード群のすべてのノードに前記新鍵が前記携帯端末を介して送信された場合、前記情報を消去することを特徴とする請求項１２に記載のネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを暗号化するための鍵を更新する鍵更新方法、ノード、ゲートウェイ、サーバ、およびネットワークシステムに関する。
【背景技術】
【０００２】
アドホックネットワークは、無線通信でリンクする自己構成型のネットワークの一種である。アドホックネットワークは複数のノードにより構成される。また、アドホックネットワーク内の各ノードは、マルチホップ通信によりパケットの送受信を行う。マルチホップ通信は、互いの通信圏内に存在しないノード同士が、各ノードの通信圏内に存在する別のノードを介して通信を行う技術である。【０００３】
また、アドホックネットワークとインターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの他のネットワークとを接続する場合、ゲートウェイと呼ばれる中継機器を用いて、ネットワーク間の通信の転送が行われる。【０００４】
アドホックネットワークを利用した技術として、各家庭の電力メータに無線通信可能なノードを組み込んで、作業員が現地に出向くことなく、アドホックネットワーク経由でメータ確認などの業務を行うシステムがある。各家庭の電力の使用量などの個人情報を扱うアドホックネットワークでは、秘匿性や改ざん防止の観点からセキュアな通信を行うことが要求される。【０００５】
そこで、従来のシステムでは、アドホックネットワーク内のノード間で送受信されるパケットを暗号化することで、セキュアな通信を確保することが行われている。この際、システム内の全ノードで共通の暗号鍵を用いた場合、鍵漏洩時のリスクが大きいため、ゲートウェイごとに暗号鍵を変えるシステムがある。【０００６】
また、システムへの新規ノードの初期導入時などにおいて、新規ノードは、暗号鍵が設定されるまでの間、アドホックネットワーク内の他のノードとセキュアな通信を行うことができない。このため、アドホックネットワーク経由で新規ノードに暗号鍵を自動設定することが難しく、作業員が現地に出向いて暗号鍵の設定作業を行っている。【０００７】
また、セキュア通信に関する先行技術として、たとえば、ブロードキャストにより通信を行うネットワークの暗号鍵を管理する技術がある（たとえば、下記特許文献１参照。）。また、アドホックネットワークにおいて通信開始時の鍵交換を安定して行うための技術がある（たとえば、下記特許文献２参照。）。また、アドホックネットワーク内の各ノードが適応ゲートウェイを選択するための技術がある（たとえば、下記特許文献３参照。）。また、異なるネットワーク間に所属する複数のデバイスに鍵を渡し、それを用いてアドホックネットワークを構成する技術がある（たとえば、下記特許文献４参照。）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−３４８０７２号公報
【特許文献２】特開２００７−８８７９９号公報
【特許文献３】特開２００９−８１８５４号公報
【特許文献４】特表２００９−５３５９２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した従来技術では、アドホックネットワーク内の各ノードに設定する暗号鍵をゲートウェイごとに更新する場合、ノードが属するゲートウェイを特定することが難しいという問題があった。【００１０】
たとえば、ノードの設置場所の住所から候補となるゲートウェイを絞り込むことはできても、天候や近傍の建物との位置関係などの要因により通信状況が変化する。このため、実際にどのゲートウェイと通信可能であるかを作業員が現地に出向いて確認する必要があり、作業員の暗号鍵の更新作業にかかる作業時間および作業負荷の増大を招くという問題がある。【００１１】
また、ゲートウェイが暗号鍵を更新したタイミングで暗号鍵を更新できるのはゲートウェイから１ホップ隣のノードのみである。具体的には、１ホップ隣のノードがゲートウェイからのブロードキャストパケット（以下、「ＢＣパケット」）を受信することはできるが、ＢＣパケットは新しい暗号鍵（以下、「新鍵」）で暗号化されている。したがって、当該パケットは現在所有している暗号鍵（以下、「現鍵」）で復号することができず、ゲートウェイから２ホップ隣まで転送されないからである。【００１２】
すなわち、アドホックネットワークでの鍵更新の開始直後には、ゲートウェイから１ホップ隣のノードは新鍵に設定できるが、ゲートウェイから２ホップ先のノード以降は鍵設定することができない。換言すれば、ゲートウェイから２ホップ隣のノードは、ゲートウェイから1ホップ隣のノードについて鍵更新が完了し、ゲートウェイからのＢＣパケットを受信可能となって初めて鍵更新が可能となる。【００１３】
しかしながら、どのノードがゲートウェイから何ホップ先であるかを調査するのは非常に困難である。また、ノードの設置時に何ホップ先であるかを記録していても、上述したように、各種要因により通信状況が変化する。したがって、結局、実際にどのノードがゲートウェイから何ホップ先であるかを、作業員が現地に出向いてその都度確認する必要がある。このように、従来では、作業員の暗号鍵の更新作業にかかる作業時間および作業負荷の増大を招くという問題がある。【００１４】
本発明は、上述した従来技術による問題点を解消するため、アドホックネットワーク内のノードが用いる暗号鍵の更新作業の効率化を図ることができる鍵更新方法、ノード、ゲートウェイ、サーバ、およびネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上述した課題を解決し、目的を達成するため、アドホックネットワーク内のゲートウェイと、前記アドホックネットワーク内のノード群と、前記ゲートウェイと通信可能なサーバと、を備え、前記ノード群の各ノードに付与された前記ゲートウェイ固有の現鍵を更新するにあたって、前記ゲートウェイが、前記現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記アドホックネットワークに同時通報し、前記ゲートウェイが、前記ゲートウェイ固有の新鍵を取得して保存し、前記サーバが、前記新鍵を取得して、前記ゲートウェイのアドレスおよび前記現鍵を関連付けて保存するデータベースにおいて、前記ゲートウェイのアドレスに関連付けて前記新鍵を保存し、前記サーバが、前記アドホックネットワークを構成するノード群の各ノードのアドレスを、前記ゲートウェイから受信した場合、前記ゲートウェイのアドレスと前記各ノードのアドレスとを関連付けた情報を作成し、前記ノード群内の各ノードが、前記暗号化パケットを前記現鍵で復号することにより、前記更新通知情報であるか否かを判断し、前記ノード群内の前記サーバと通信可能な携帯端末と接続された特定のノードが、前記更新通知情報であると判断された場合、前記特定のノードのアドレスを含む更新要求パケットを、前記携帯端末を介して前記サーバに送信し、前記サーバが、前記データベースにおいて送信された更新要求パケットに含まれている前記特定のノードのアドレスが、作成された情報にあるか否かを判定し、前記サーバが、あると判定された場合、前記ゲートウェイのアドレスに関連付けられている前記新鍵を、前記データベースから抽出し、前記サーバが、抽出された前記新鍵を、前記携帯端末を介して前記特定のノードに送信し、前記特定のノードが、前記現鍵から、送信された前記新鍵に更新する鍵更新方法、ノード、ゲートウェイ、サーバ、およびネットワークシステムが一例として挙げられる。
【発明の効果】
【００１６】
本発明にかかる鍵更新方法、ノード、ゲートウェイ、サーバ、およびネットワークシステムによれば、アドホックネットワーク内のノードが用いる暗号鍵の更新作業の効率化を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施の形態にかかるネットワークシステムの一実施例を示す説明図である。
【図２】図２は、アドホックネットワークＡｉにおける鍵更新例を示す説明図（その１）である。
【図３】図３は、アドホックネットワークＡｉにおける鍵更新例を示す説明図（その２）である。
【図４】図４は、アドホックネットワークＡｉにおける鍵更新例を示す説明図（その３）である。
【図５】図５は、アドホックネットワークＡｉにおける鍵更新例を示す説明図（その４）である。
【図６】図６は、アドホックネットワークＡｉにおける鍵更新例を示す説明図（その５）である。
【図７】図７は、ゲートウェイＧｉからブロードキャストされる暗号化パケットＳＰｉのデータ構造の一例を示す説明図である。
【図８】図８は、ゲートウェイＧｉからブロードキャストされる暗号化パケットＳＰｉのデータ構造の他の例を示す説明図である。
【図９】図９は、ノードＮｉからゲートウェイＧｉ宛に送信される暗号化応答パケットＲＰのデータ構造の一例を示す説明図である。
【図１０】図１０は、実施の形態にかかる管理サーバ１０１のハードウェア構成例を示すブロック図である。
【図１１】図１１は、実施の形態にかかるゲートウェイＧｉおよびノードＮｉ−１〜Ｎｉ−ｍｉ（以下、「ノード等」）のハードウェア構成例を示すブロック図である。
【図１２】図１２は、鍵情報ＤＢ１１０の記憶内容の一例を示す説明図である。
【図１３】図１３は、テーブルＴｉの記憶内容の一例を示す説明図である。
【図１４】図１４は、ゲートウェイＧｉの機能的構成例を示すブロック図である。
【図１５】図１５は、管理サーバ１０１の機能的構成例を示すブロック図である。
【図１６】図１６は、ノードＮｉの機能的構成例を示すブロック図である。
【図１７】図１７は、管理サーバ１０１の認証情報の一例を示す説明図である。
【図１８】図１８は、携帯端末Ｈの認証情報の一例を示す説明図である。
【図１９】図１９は、実施の形態にかかる鍵更新シーケンス例を示すシーケンス図である。
【図２０】図２０は、図１９に示した鍵更新前処理（ステップＳ１９０７）の詳細な処理手順の一例を示すフローチャートである。
【図２１】図２１は、図１９に示した新鍵特定処理（ステップＳ１９１５）の詳細な処理手順の一例を示すフローチャートである。
【図２２】図２２は、ゲートウェイＧｉの機能的構成の他の例を示すブロック図である。
【図２３】図２３は、管理サーバ１０１の機能的構成の他の例を示すブロック図である。
【図２４】図２４は、実施の形態にかかる鍵更新シーケンスの他の例を示すシーケンス図である。
【発明を実施するための形態】
【００１８】
以下に添付図面を参照して、この発明にかかる鍵更新方法、ノード、ゲートウェイ、サーバ、およびネットワークシステムの実施の形態を詳細に説明する。
【００１９】
（ネットワークシステムの一実施例）
図１は、実施の形態にかかるネットワークシステムの一実施例を示す説明図である。図１において、ネットワークシステム１００は、管理サーバ１０１と、ゲートウェイＧ１〜Ｇｎと、ノードＮ１−１〜Ｎ１−ｍ１，Ｎ２−１〜Ｎ２−ｍ２，…，Ｎｎ−１〜Ｎｎ−ｍｎと、を含む構成である。
【００２０】
ネットワークシステム１００において、管理サーバ１０１とゲートウェイＧ１〜Ｇｎは、インターネット、ＬＡＮ、ＷＡＮなどのネットワークＮＷ１を介して相互に通信可能に接続されている。また、ゲートウェイＧｉとノードＮｉ−１〜Ｎｉ−ｍｉは、アドホックネットワークＡｉを介して接続されている（ｉ＝１，２，…，ｎ）。なお、以降の説明で、単に「ノードＮｉ」と表記した場合は、任意のアドホックネットワークＡｉを構成するノードＮｉ−１〜Ｎｉ−ｍｉの中の任意のノードを示すこととする。
【００２１】
ここで、管理サーバ１０１は、鍵情報ＤＢ（データベース）１１０を備え、各ゲートウェイＧ１〜Ｇｎ固有の暗号鍵を管理するコンピュータである。ゲートウェイＧｉ固有の暗号鍵（以下、「暗号鍵Ｋｉ」という）は、ゲートウェイＧｉが属するアドホックネットワークＡｉ内のノード間で送受信されるパケットを暗号化するための鍵情報である。なお、鍵情報ＤＢ１１０についての詳細な説明は、図１２を用いて後述する。
【００２２】
ゲートウェイＧｉは、アドホックネットワークＡｉとネットワークＮＷ１とを接続する中継機器である。ゲートウェイＧｉは、アドホックネットワークＡｉのプロトコルとネットワークＮＷ１のプロトコルの両方を理解し、アドホックネットワークＡｉとネットワークＮＷ１との間の通信の転送を行う。
【００２３】
ノードＮｉ−１〜Ｎｉ−ｍｉは、所定の通信圏内の他ノードとマルチホップ通信を行う無線通信装置である。アドホックネットワークＡｉでは、すべてのノードＮｉ−１〜Ｎｉ−ｍｉがゲートウェイＧｉと直接通信できる必要はなく、一部のノードがゲートウェイＧｉと通信可能であればよい。
【００２４】
ネットワークシステム１００は、たとえば、各家庭の電力やガスの使用量を収集するシステムに適用することができる。具体的には、たとえば、各家庭の電力メータやガスメータに各ノードＮｉ−１〜Ｎｉ−ｍｉを組み込むことで、アドホックネットワークＡｉ内のノード間で各家庭の電力やガスの使用量を送受信する。なお、各家庭の電力やガスの使用量は、各ノードＮｉ−１〜Ｎｉ−ｍｉが計測してもよく、また、各ノードＮｉ−１〜Ｎｉ−ｍｉが電力メータやガスメータから取得してもよい。
【００２５】
ゲートウェイＧｉは、アドホックネットワークＡｉ内のノードＮｉ−１〜Ｎｉ−ｍｉから受信した各家庭の電力やガスの使用量を、ネットワークＮＷ１を介して電力会社やガス会社のサーバ（たとえば、管理サーバ１０１）に送信する。これにより、作業員が現地に出向くことなく電力やガスの使用量を収集することができる。
【００２６】
また、ネットワークシステム１００では、アドホックネットワークＡｉごとにゲートウェイＧｉ固有の暗号鍵Ｋｉを用いてパケットを暗号化する。これにより、アドホックネットワークＡｉのセキュア通信（データ秘匿性、改ざん防止など）を確保する。また、アドホックネットワークＡｉごとに暗号鍵Ｋｉを変えることで、鍵漏洩時のリスクを低減させる。また、受信されるパケットも暗号鍵Ｋｉで暗号化されているため、ゲートウェイＧｉやその配下のノードＮｉ−１〜Ｎｉ−ｍｉは、暗号鍵Ｋｉで復号することができる。
【００２７】
なお、図１の例では、アドホックネットワークＡｉ内に１台のゲートウェイＧｉを設ける構成としたが、同一のアドホックネットワークＡｉ内に複数台のゲートウェイＧｉを設ける構成としてもよい。この場合、アドホックネットワークＡｉ内で送受信されるパケットを暗号化するための暗号鍵Ｋｉは、複数台のゲートウェイＧｉで共通である。
【００２８】
（現鍵Ｋｉの更新例）
暗号鍵Ｋｉは、アドホックネットワークＡｉ内のゲートウェイＧｉおよびノードＮｉ−１〜Ｎｉ−ｍｉで共通に使用される鍵情報である。以下では、アドホックネットワークＡｉで暗号鍵Ｋｉを現在利用されている現鍵Ｋｉとし、現鍵Ｋｉを新鍵ＫＫｉに更新する例について説明する。
【００２９】
図２〜図６は、アドホックネットワークＡｉにおける鍵更新例を示す説明図である。図２は、鍵更新前の状態（Ａ）を示している。管理サーバ１０１は、鍵情報ＤＢ１１０においてゲートウェイＧｉごとに現鍵Ｋｉを保存している。図２では、鍵情報ＤＢ１１０において、ゲートウェイＧｉ（のアドレス）と現鍵Ｋｉとが関連付けられていることを示している。また、ゲートウェイＧｉおよびノードＮｉ−１〜Ｇｉ−６も現鍵Ｋｉを保持している。
【００３０】
図３は、図２の状態（Ａ）から遷移した状態（Ｂ）を示している。状態（Ｂ）では、（１）ゲートウェイＧｉは、新鍵ＫＫｉを生成し、ネットワークＮＷ１を介して管理サーバ１０１に新鍵ＫＫｉを送信する。
【００３１】
（２）管理サーバ１０１は、ゲートウェイＧｉから新鍵ＫＫｉを受信すると、新鍵ＫＫｉの送信元であるゲートウェイＧｉのアドレスを手がかりとして、鍵情報ＤＢ１１０のゲートウェイＧｉのレコードを指定する。管理サーバ１０１は、指定したレコードに新鍵ＫＫｉを保存する。これにより、ゲートウェイＧｉ（のアドレス）と新鍵ＫＫｉとが関連付けられる。現鍵Ｋｉは、新鍵ＫＫｉが保存されると消去される。
【００３２】
（３）ゲートウェイＧｉは、現鍵Ｋｉで現鍵Ｋｉの更新通知情報を暗号化する。そして、ゲートウェイＧｉは、暗号化パケットＳＰｉをアドホックネットワークＡｉに対しブロードキャストする。ゲートウェイＧｉから暗号化パケットＳＰｉがブロードキャストされると、各ノードＮｉ−１〜Ｎｉ−６に暗号化パケットＳＰｉが行き渡る。
【００３３】
図４は、図３の状態（Ｂ）から遷移した状態（Ｃ）を示している。状態（Ｃ）では、（４）ノードＮｉ−１〜Ｎｉ−６は暗号化パケットＳＰｉを現鍵Ｋｉで復号し、現鍵Ｋｉの更新通知情報が含まれているかを確認する。更新通知情報が含まれている場合は、自ノードのノードアドレスを現鍵Ｋｉで暗号化した暗号化応答パケットＲＰをゲートウェイＧｉ宛に送信する。
【００３４】
（５）ゲートウェイＧｉは、ノードＮｉ−１〜Ｎｉ−６から暗号化応答パケットＲＰを受信すると、現鍵Ｋｉで復号する。そして、復号で得られたノードＮｉ−１〜Ｎｉ−６のノードアドレスを管理サーバ１０１に送信する。
【００３５】
（６）管理サーバ１０１は、ゲートウェイＧｉからノードＮｉ−１〜Ｎｉ−６のノードアドレスを受信すると、送信元であるゲートウェイＧｉとノードＮｉ−１〜Ｎｉ−６のノードアドレスとを関連付けたテーブルＴｉを作成する。テーブルＴｉは、ゲートウェイＧｉごとに作成される。テーブルＴｉは、新鍵ＫＫｉへの更新時に一時的に作成される情報である。したがって、管理サーバ１０１は、ゲートウェイＧｉの台数分のテーブルＴｉを常時保持しておく必要がない。また、新鍵ＫＫｉへの更新をおこなうゲートウェイＧｉについてのみテーブルＴｉを作成する。したがって、管理サーバ１０１において省メモリ化を図ることができる。
【００３６】
（７）ゲートウェイＧｉは、暗号化パケットＳＰｉのブロードキャスト後、一定期間経過後に現鍵Ｋｉを消去する。一定期間は、たとえば、１時間など任意に設定することができる。このように、現鍵Ｋｉの残存期間を制限することで、一定期間経過後に送信されてきた暗号化パケット（暗号化応答パケットＲＰに限られない）は現鍵Ｋｉで復号できなくなり、ゲートウェイＧｉで破棄される。
【００３７】
図５は、図４の状態（Ｃ）から遷移した状態（Ｄ）を示している。状態（Ｄ）では、ノードＮｉ−３に携帯端末Ｈを接続し、ノードＮｉ−３が携帯端末Ｈを通信インターフェースとして利用して、管理サーバ１０１と通信をおこなう例を示している。図５では、ノードＮｉ−３について説明しているが、他のノードＮｉ−１，Ｎｉ−２，Ｎｉ−４〜Ｎｉ−６も同様に実行する。
【００３８】
（８）作業員は、ノードＮｉ−３の設置場所に行き、ノードＮｉ−３と携帯端末Ｈとを接続する。携帯端末Ｈは、管理サーバ１０１と通信可能なコンピュータである。携帯端末Ｈと管理サーバ１０１との通信の確立は、ノードＮｉ−３の接続前でも接続後でもよい。
【００３９】
（９）ノードＮｉ−３と携帯端末Ｈとが接続されると、ノードＮｉ−３は、更新要求パケットｒｐを管理サーバ１０１に送信する。更新要求パケットｒｐとは、自ノード、すなわち、ここでは、ノードＮｉ−３のノードアドレスを含むパケットである。なお、携帯端末Ｈと管理サーバ１０１間の通信は、公開鍵暗号方式などの既存の暗号化通信を利用してもよい。
【００４０】
（１０）管理サーバ１０１は、更新要求パケットｒｐをノードＮｉ−３から受信すると、更新要求パケットｒｐからノードＮｉ−３のノードアドレスを特定する。管理サーバ１０１は、テーブルＴｉを参照して、更新要求パケットｒｐから特定されたノードＮｉ−３のノードアドレスが、テーブルＴｉにあるか否かを判定する。テーブルＴｉにノードＮｉ−３のノードアドレスがある場合、管理サーバ１０１は、鍵情報ＤＢ１１０を参照して、テーブルＴｉでのゲートウェイＧｉのアドレスに関連付けられている新鍵ＫＫｉを抽出する。
【００４１】
（１１）そして、管理サーバ１０１は、鍵情報ＤＢ１１０から抽出された新鍵ＫＫｉを、携帯端末Ｈを介してノードＮｉ−３に送信する。なお、携帯端末Ｈと管理サーバ１０１間の通信は、公開鍵暗号方式などの既存の暗号化通信を利用してもよい。
【００４２】
（１２）このあと、ノードＮｉ−３は、現鍵Ｋｉから、管理サーバ１０１から携帯端末Ｈを介して受信された新鍵ＫＫｉに更新する。これ以降、ノードＮｉ−３がパケットを送信する場合は、新鍵ＫＫｉで暗号化して送信し、受信されたパケットについては新鍵ＫＫｉで復号することとなる。
【００４３】
図６は、図５の状態（Ｄ）から遷移した状態（Ｅ）を示している。状態（Ｅ）では、図５の状態（Ｄ）で示した処理を、他のノードＮｉ−１，Ｎｉ−２，Ｎｉ−４〜Ｎｉ−６についても実行した結果を示している。状態（Ｅ）では、各ノードＮｉ−１〜Ｎｉ−６に新鍵ＫＫｉが行き渡っている。また、鍵情報ＤＢ１１０から現鍵Ｋｉが消去され新鍵ＫＫｉが残されている。このあと、新鍵ＫＫｉがアドホックネットワークＡｉでの有効な現鍵Ｋｉとなる。また、テーブルＴｉは消去される。したがって、管理サーバ１０１において省メモリ化を図ることができる。
【００４４】
（暗号化パケットＳＰｉのデータ構造例）
つぎに、ゲートウェイＧｉからブロードキャストされる暗号化パケットＳＰｉのデータ構造例について説明する。
【００４５】
図７は、ゲートウェイＧｉからブロードキャストされる暗号化パケットＳＰｉのデータ構造の一例を示す説明図である。図７において、暗号化パケットＳＰｉは、ヘッダ部７１０とペイロード部７２０とを含む構成である。ヘッダ部７１０には、宛先アドレス、差出アドレス、ホップ数およびＧＷアドレスが記述されている。ペイロード部７２０には、暗号化されたデータ本体が記述されている（図７中ハッチ部分）。
【００４６】
ここで、宛先アドレスは、送信先のアドレスである。ここでは、ブロードキャスト用のＭＡＣアドレス『００：００：００：００：００：００』が記述されている。差出アドレスは、送信元のアドレスである。差出アドレスは、マルチポップ通信により書き換わる。ここでは、アドホックネットワークＡｉ内のノードＮｉとは異なる他のノードＮｉのＭＡＣアドレスが記述されている。
【００４７】
ホップ数は、暗号化パケットＳＰｉを残り何回転送するのかを示す残余の転送回数である。ゲートウェイＧｉからブロードキャストされる暗号化パケットＳＰｉのホップ数の最大値は予め設定されている。ホップ数は暗号化パケットＳＰｉの転送時にデクリメントされ、ホップ数が『０』となった暗号化パケットＳＰｉは棄却される。ここでは、暗号化パケットＳＰ１のホップ数『１０』が記述されている。
【００４８】
ＧＷアドレスは、ゲートウェイＧｉのアドレスである。ここでは、ゲートウェイＧｉのＭＡＣアドレス『ＡＡ：ＡＡ：ＡＡ：ＡＡ：ＡＡ：ＡＡ』が記述されている。なお、ここでは宛先アドレス、差出アドレスおよびＧＷアドレスの一例として、ＭＡＣアドレスを用いて説明したが、ＩＰアドレスなどのアドレスを用いることにしてもよい。
【００４９】
ペイロード部７２０は、暗号鍵Ｋｉで復号される。復号されたペイロード部７２０には、鍵更新フラグ７２１とタイムスタンプ７２２を含む更新通知情報が記憶されている。鍵更新フラグとは、現鍵Ｋｉ（暗号鍵Ｋｉ）の更新をおこなうことを示すビット情報である。たとえば、鍵更新フラグのビット位置をあらかじめ指定しておくことで、各ノードＮｉ−１〜Ｎｉ−ｍｉで鍵の更新をおこなうことが検出できる。
【００５０】
また、タイムスタンプは、更新通知情報の生成時刻を記述した情報である。各ノードＮｉ−１〜Ｎｉ−ｍｉは、暗号化パケットＳＰｉを受信する都度、そのタイムスタンプのうち最新のものを保持しておく。あらたに暗号化パケットＳＰｉを受信したときは、各ノードＮｉ−１〜Ｎｉ−ｍｉは、保持されているタイムスタンプと今回受信した暗号化パケットＳＰｉを復号して得られたタイムスタンプとを比較する。そして、今回受信した暗号化パケットＳＰｉを復号して得られたタイムスタンプが新しければ、鍵更新フラグは有効であるとして、各ノードＮｉ−１〜Ｎｉ−ｍｉは、鍵更新処理を実行することとなる。
【００５１】
図８は、ゲートウェイＧｉからブロードキャストされる暗号化パケットＳＰｉのデータ構造の他の例を示す説明図である。図７に示した暗号化パケットＳＰｉでは、暗号化パケットＳＰｉをブロードキャストしたゲートウェイＧｉのＧＷアドレスがヘッダ部７１０に埋め込まれていた。
【００５２】
これに対し、図８に示す暗号化パケットＳＰｉでは、ヘッダ部８１０には、ゲートウェイＧｉのＧＷアドレスが埋め込まれていない。そのかわりに、復号されたペイロード部８２０に、ゲートウェイＧｉのＧＷアドレスが埋め込まれている。図８に示した暗号化パケットＳＰｉの場合は、暗号化パケットＳＰｉを暗号鍵Ｋｉで復号しなければ、ブロードキャストしたゲートウェイＧｉのＧＷアドレスを特定することができない。
【００５３】
図９は、ノードＮｉからゲートウェイＧｉ宛に送信される暗号化応答パケットＲＰのデータ構造の一例を示す説明図である。図９において、暗号化応答パケットＲＰは、ヘッダ部９１０とペイロード部９２０とを含む構成である。ヘッダ部９１０には、宛先アドレスおよび差出アドレスが記述されている。ペイロード部９２０には、暗号化されたデータ本体が記述されている（図９中ハッチ部分）。
【００５４】
ここで、宛先アドレスは、送信先のアドレスである。ここでは、ゲートウェイＧｉのＧＷアドレスであるＭＡＣアドレス『ＡＡ：ＡＡ：ＡＡ：ＡＡ：ＡＡ：ＡＡ』が記述されている。なお、ここでは宛先アドレス、差出アドレスおよびＧＷアドレスの一例として、ＭＡＣアドレスを用いて説明したが、ＩＰアドレスなどのアドレスを用いることにしてもよい。差出アドレスは、送信元のアドレスである。差出アドレスは、マルチポップ通信により書き換わる。ここでは、アドホックネットワークＡｉ内のノードＮｉとは異なる他のノードＮｉのＭＡＣアドレスが記述されている。
【００５５】
ペイロード部９２０は、現鍵Ｋｉで復号される。復号されたペイロード部９２０には、応答ノードのノードアドレスと応答通知フラグを含む応答通知情報が記憶されている。応答通知フラグとは、現鍵Ｋｉ（暗号鍵Ｋｉ）の更新を確認したことを示すビット情報である。たとえば、応答通知フラグのビット位置をあらかじめ指定しておくことで、ゲートウェイＧｉは、ノードＮｉが暗号化パケットＳＰｉに応答したことを検出できる。
【００５６】
（管理サーバ１０１のハードウェア構成）
図１０は、実施の形態にかかる管理サーバ１０１のハードウェア構成例を示すブロック図である。図１０において、管理サーバ１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１００１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１００２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１００３と、磁気ディスクドライブ１００４と、磁気ディスク１００５と、光ディスクドライブ１００６と、光ディスク１００７と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）１００８と、ディスプレイ１００９と、キーボード１０１０と、マウス１０１１と、を備えている。また、ＣＰＵ１００１〜マウス１０１１はバス１０００によってそれぞれ接続されている。
【００５７】
ここで、ＣＰＵ１００１は、管理サーバ１０１の全体の制御を司る。ＲＯＭ１００２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１００３は、ＣＰＵ１００１のワークエリアとして使用される。磁気ディスクドライブ１００４は、ＣＰＵ１００１の制御に従って磁気ディスク１００５に対するデータのリード／ライトを制御する。磁気ディスク１００５は、磁気ディスクドライブ１００４の制御で書き込まれたデータを記憶する。
【００５８】
光ディスクドライブ１００６は、ＣＰＵ１００１の制御に従って光ディスク１００７に対するデータのリード／ライトを制御する。光ディスク１００７は、光ディスクドライブ１００６の制御で書き込まれたデータを記憶したり、光ディスク１００７に記憶されたデータをコンピュータに読み取らせたりする。
【００５９】
Ｉ／Ｆ１００８は、通信回線を通じてネットワークＮＷ１，ＮＷ２に接続され、このネットワークＮＷ１，ＮＷ２を介して他の装置（たとえば、ゲートウェイＧｉ、携帯端末Ｈ）に接続される。Ｉ／Ｆ１００８は、ネットワークＮＷ１，ＮＷ２と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１００８には、たとえば、モデムやＬＡＮアダプタなどを採用することができる。
【００６０】
ディスプレイ１００９は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１００９は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００６１】
キーボード１０１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１０１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。なお、図２に示した携帯端末Ｈについても、図１０に示した管理サーバ１０１と同様のハードウェア構成により実現できる。
【００６２】
（ゲートウェイＧｉおよびノードＮｉのハードウェア構成）
図１１は、実施の形態にかかるゲートウェイＧｉおよびノードＮｉ−１〜Ｎｉ−ｍｉ（以下、「ノード等」）のハードウェア構成例を示すブロック図である。図１１において、ノード等は、ＣＰＵ１１０１と、ＲＡＭ１１０２と、フラッシュメモリ１１０３と、Ｉ／Ｆ１１０４と、暗号化回路１１０５と、を備えている。ＣＰＵ１１０１〜暗号化回路１１０５は、バス１１００によってそれぞれ接続されている。
【００６３】
ここで、ＣＰＵ１１０１は、ノード等の全体の制御を司る。ＲＡＭ１１０２は、ＣＰＵ１１０１のワークエリアとして使用される。フラッシュメモリ１１０３は、プログラムや暗号鍵などの鍵情報を記憶している。Ｉ／Ｆ１１０４は、マルチホップ通信によりパケットを送受信する。また、ゲートウェイＧｉのＩ／Ｆ１１０４は、通信回線を通じてネットワークＮＷ１に接続され、このネットワークＮＷ１を介して管理サーバ１０１に接続される。
【００６４】
暗号化回路１１０５は、データを暗号化する場合に暗号鍵によりデータを暗号化する回路である。暗号化をソフトウェア的に実行する場合は、暗号化回路１１０５に相当するプログラムをフラッシュメモリ１１０３に記憶させておくことで、暗号化回路１１０５は不要となる。
【００６５】
（鍵情報ＤＢ１１０の記憶内容）
図１２は、鍵情報ＤＢ１１０の記憶内容の一例を示す説明図である。図１２において、鍵情報ＤＢ１１０は、ＩＤ、ＧＷアドレス、暗号鍵のフィールドを有し、各フィールドに情報を設定することで、ゲートウェイＧ１〜Ｇｎごとの鍵情報１２００−１〜１２００−ｎをレコードとして記憶している。
【００６６】
ここで、ＩＤは、本明細書において説明上用いる各ゲートウェイＧｉの識別子である。ＧＷアドレスは、ゲートウェイＧｉのアドレスである。ＧＷアドレスとしては、たとえば、ゲートウェイＧｉのＭＡＣアドレスやＩＰアドレスを用いることができる。現鍵は、各ゲートウェイＧｉ固有の現在有効な暗号鍵であり、具体的には、たとえば、１２８〜２５６ビット程度のバイナリデータである。
【００６７】
新鍵ＫＫｉは、各ゲートウェイＧｉ固有の更新後の暗号鍵であり、具体的には、たとえば、１２８〜２５６ビット程度のバイナリデータである。新鍵ＫＫｉは、更新処理において鍵情報ＤＢ１１０に保存され、更新処理が完了することで、現鍵として鍵情報ＤＢ１１０に保存される。
【００６８】
鍵情報１２００−１を例に挙げると、ゲートウェイＧ１のＧＷアドレスは『ｘｘ：ｘｘ：ｘｘ：ｘｘ：１２：３４』、暗号鍵は『暗号鍵Ｋ１』である。なお、鍵情報ＤＢ１１０は、たとえば、図１０に示した管理サーバ１０１のＲＯＭ１００２、ＲＡＭ１００３、磁気ディスク１００５、光ディスク１００７などの記憶装置により実現される。
【００６９】
鍵情報ＤＢ１１０の記憶内容は、管理サーバ１０１がゲートウェイＧｉ固有の暗号鍵ＫｉをゲートウェイＧｉから受信することで更新してもよい。また、図１０に示したキーボード１０１０やマウス１０１１を用いたユーザの操作入力により、鍵情報ＤＢ１１０の記憶内容を更新することにしてもよい。
【００７０】
図１３は、テーブルＴｉの記憶内容の一例を示す説明図である。図１３において、テーブルＴｉは、ＩＤおよびノードアドレスのフィールドを有し、各フィールドに情報を設定することで、ゲートウェイＧｉを有するアドホックネットワークＡｉ内の各ノードＮｉ１−１〜Ｎｉ−６のノードアドレスをレコードとして記憶している。図１３では、便宜上、ノードＮｉの符号をノードアドレスとして表記している。ノードアドレスは、ＭＡＣアドレスやＩＰアドレスを用いることができる。
【００７１】
（ネットワークシステム１００の機能的構成例）
つぎに、ネットワークシステム１００の機能的構成例について、図１４〜図１６を用いて説明する。
【００７２】
図１４は、ゲートウェイＧｉの機能的構成例を示すブロック図である。ゲートウェイＧｉは、配信部１４０１と、取得部１４０２と、送信部１４０３とを備えている。各機能部（配信部１４０１〜送信部１４０３）は、具体的には、たとえば、図１１に示したＲＡＭ１１０２やフラッシュメモリ１１０３などの記憶装置に記憶されたプログラムをＣＰＵ１１０１に実行させることにより、または、Ｉ／Ｆ１１０４により、その機能を実現する。また、各機能部（配信部１４０１〜送信部１４０３）の処理結果は、たとえば、ＲＡＭ１１０２やフラッシュメモリ１１０３などの記憶装置に記憶される。
【００７３】
配信部１４０１は、ゲートウェイＧｉのＧＷアドレスおよび現鍵Ｋｉの更新通知情報を有し少なくとも更新通知情報を現鍵Ｋｉで暗号化した暗号化パケットＳＰｉを、アドホックネットワークＡｉに同時通報する。暗号化パケットＳＰｉのデータ構造は、図７または図８に示したデータ構造のいずれでもよい。
【００７４】
また、ゲートウェイＧｉは、現鍵Ｋｉの更新指示を受け付けると、更新通知情報を生成する。そして、ゲートウェイＧｉは、生成された更新通知情報をペイロード部７２０，８２０として暗号化パケットＳＰｉを生成する。ゲートウェイＧｉは、配信部１４０１により、生成された暗号化パケットＳＰｉをアドホックネットワークＡｉにブロードキャストする。なお、現鍵Ｋｉの更新指示は、ゲートウェイＧｉに対する操作入力でもよく、定期的に与えられる自動更新指示でもよい。また、管理サーバ１０１から現鍵Ｋｉの更新指示を受け付けることとしてもよい。
【００７５】
取得部１４０２は、ゲートウェイＧｉ固有の新鍵ＫＫｉを取得する。取得部１４０２は、具体的には、たとえば、生成部１４２１と保存部１４２２とを備える。生成部１４２１は、新鍵ＫＫｉを生成する。生成部１４２１は、たとえば、乱数生成機能により新鍵ＫＫｉを生成する。
【００７６】
保存部１４２２は、生成部１４２１で生成された新鍵ＫＫｉを保存する。たとえば、保存部１４２２は、新鍵ＫＫｉを、ゲートウェイＧｉ内のＲＡＭ１１０２やフラッシュメモリ１１０３などの記憶装置に保存する。また、現鍵ＫｉはノードＮｉからの暗号化応答パケットＲＰを復号する必要があるため、一定期間保持され、その後に消去される。
【００７７】
送信部１４０３は、ネットワークＮＷ１を経由して、管理サーバ１０１に新鍵ＫＫｉを送信する。このあと、各ノードＮｉ−１〜Ｎｉ−ｍｉと管理サーバ１０１との間で鍵更新処理が完了することで、アドホックネットワークＡｉ内で、新鍵ＫＫｉで暗号化したパケットで通信することが可能となる。
【００７８】
図１５は、管理サーバ１０１の機能的構成例を示すブロック図である。管理サーバ１０１は、鍵情報ＤＢ１１０と、取得部１５０１と、作成部１５０２と、受信部１５０３と、判定部１５０４と、抽出部１５０５と、送信部１５０６と、を備えている。鍵情報ＤＢ１１０は、具体的には、たとえば、図１０に示したＲＯＭ１００２、ＲＡＭ１００３、磁気ディスク１００５、光ディスク１００７などの記憶装置によりその機能を実現する。
【００７９】
また、各機能部（取得部１５０１〜送信部１５０６）は、具体的には、たとえば、図１０に示したＲＯＭ１００２、ＲＡＭ１００３、磁気ディスク１００５、光ディスク１００７などの記憶装置に記憶されたプログラムをＣＰＵ１００１に実行させることにより、または、Ｉ／Ｆ１００８により、その機能を実現する。また、各機能部（取得部１５０１〜送信部１５０６）の処理結果は、たとえば、ＲＡＭ１００３、磁気ディスク１００５、光ディスク１００７などの記憶装置に記憶される。
【００８０】
取得部１５０１は、新鍵ＫＫｉを取得して、新鍵ＫＫｉを現鍵Ｋｉに関連付けて鍵情報ＤＢ１１０に保存する。具体的には、たとえば、取得部１５０１は、ゲートウェイＧｉから新鍵ＫＫｉを受信する。受信された新鍵ＫＫｉは、新鍵ＫＫｉの送信パケットのヘッダに送信元として記憶されているゲートウェイＧｉのＧＷアドレスを手がかりとして、鍵情報ＤＢ１１０のゲートウェイＧｉのレコードの新鍵のフィールドに保存される。
【００８１】
作成部１５０２は、アドホックネットワークＡｉを構成するノード群の各ノードＮｉのノードアドレスを、ゲートウェイＧｉから受信した場合、ゲートウェイＧｉのＧＷアドレスと各ノードＮｉのノードアドレスとを関連付けた情報を作成する。具体的には、たとえば、作成部１５０２は、上述したテーブルＴｉを作成する。また、作成部１５０２は、新鍵ＫＫｉへの更新が完了したあとに、テーブルＴｉを消去する。このように、テーブルＴｉは、更新中のみ作成され、更新後には消去されるため、管理サーバ１０１での省メモリ化を図ることができる。
【００８２】
受信部１５０３は、ノードＮｉ−１〜Ｎｉ−ｍｉのうち携帯端末Ｈが接続された特定のノードＮｉ−ｘ（図５ではｘ＝３）から、携帯端末Ｈを介して、更新要求パケットｒｐ（図５を参照）を受信する。なお、携帯端末Ｈと管理サーバ１０１との間では、たとえば、ＳＳＬ（Ｓｅｃｕｒｅ  ＳｏｃｋｅＴｉ  Ｌａｙｅｒ）などのセキュアな通信が行われる。
【００８３】
判定部１５０４は、更新要求パケットｒｐに含まれている特定のノードＮｉ−ｘ（たとえば、ノードＮｉ−３）のノードアドレスが、作成部１５０２によって作成されたテーブルＴｉにあるか否かを判定する。たとえば、図５の例では、ノードＮｉ−３のノードアドレスがテーブルＴｉに存在するため、判定部１５０４は、ノードＮｉ−３のノードアドレスがテーブルＴｉにあると判定する。テーブルＴｉにあると判定されたノードアドレスについては、判定部１５０４は、テーブルＴｉから消去してもよい。
【００８４】
抽出部１５０５は、ゲートウェイＧｉのＧＷアドレスに基づいて、鍵情報ＤＢ１１０からゲートウェイＧｉの現鍵Ｋｉを抽出する。具体的には、たとえば、判定部１５０４によって、更新要求パケットｒｐに含まれている特定のノードＮｉ−ｘ（たとえば、ノードＮｉ−３）がありと判定された場合、抽出部１５０５は、テーブルＴｉの作成対象となったゲートウェイＧｉのＩＤを鍵情報ＤＢ１１０から特定する。そして、抽出部１５０５は、特定されたＩＤのレコードから新鍵ＫＫｉを抽出する。
【００８５】
送信部１５０６は、抽出部１５０５によって抽出された新鍵ＫＫｉを、携帯端末Ｈを介して特定のノードＮｉ−ｘに送信する。これにより、アドホックネットワークＡｉを経由せずに、特定のノードＮｉ−ｘに新鍵ＫＫｉを付与することができる。
【００８６】
図１６は、ノードＮｉの機能的構成例を示すブロック図である。ノードＮｉは、パケット受信部１６０１と、判断部１６０２と、検知部１６０３と、パケット送信部１６０４と、鍵受信部１６０５と、更新部１６０６と、を含む構成である。
【００８７】
各機能部（パケット受信部１６０１〜更新部１６０６）は、具体的には、たとえば、図１１に示したＲＡＭ１１０２、フラッシュメモリ１１０３などの記憶装置に記憶されたプログラムをＣＰＵ１１０１に実行させることにより、または、Ｉ／Ｆ１１０４により、その機能を実現する。また、各機能部（パケット受信部１６０１〜更新部１６０６）の処理結果は、特に指定する場合を除いて、ＲＡＭ１１０２、フラッシュメモリ１１０３などの記憶装置に記憶される。
【００８８】
パケット受信部１６０１は、アドホックネットワークＡｉ内のゲートウェイＧｉからブロードキャストされた暗号化パケットＳＰｉを受信する。暗号化パケットＳＰｉは、ゲートウェイＧｉ固有の暗号鍵Ｋｉ（現鍵Ｋｉ）を用いて暗号化されたパケットである。暗号化パケットＳＰｉは、たとえば、アドホックネットワークＡｉに対し更新処理を知らせる更新通知情報を含んだパケットである。
【００８９】
具体的には、たとえば、パケット受信部１６０１が、アドホックネットワークＡｉ内の他のノードＮｉからマルチホップ通信により暗号化パケットＳＰｉを受信する。ただし、ノードＮｉの通信圏内にゲートウェイＧｉが存在していれば、パケット受信部１６０１は、ゲートウェイＧｉから暗号化パケットＳＰｉを直接受信する場合もある。
【００９０】
判断部１６０２は、アドホックネットワークＡｉを構成するノード群内の各ノードＮｉ−１〜Ｎｉ−ｍｉが、暗号化パケットＳＰｉを現鍵Ｋｉで復号することにより、更新通知情報があるか否かを判断する。具体的には、たとえば、ノードＮｉが、暗号化パケットＳＰｉから復号されたパケットにおいて、あらかじめ指定されたビット位置に鍵更新フラグが立っているか否かを判定する。また、判断部１６０２は、前回保存しておいた更新通知情報のタイムスタンプと比較して、今回受信した暗号化パケットＳＰｉが最新であるか否かも判断することとしてもよい。
【００９１】
判断部１６０２は、暗号化パケットＳＰｉが図７に示したデータ構造である場合、現鍵Ｋｉで暗号化されていないＧＷアドレスがあるか否かも判断することとしてもよい。また、判断部１６０２は、暗号化パケットＳＰｉが図８に示したデータ構造である場合、暗号化パケットＳＰｉを現鍵Ｋｉで復号された更新通知情報に、ＧＷアドレスがあるか否かも判断することとしてもよい。この場合、復号できないとＧＷアドレスを特定できないため、現鍵Ｋｉが漏洩していない場合は更新処理をセキュアにおこなうことができる。
【００９２】
検知部１６０３は、管理サーバ１０１と通信可能な携帯端末Ｈとの接続を検知する。具体的には、たとえば、作業員がＵＳＢケーブルを用いて携帯端末Ｈと新規ノードＮとを接続した結果、検知部１６０３が、ＵＳＢケーブルを介した携帯端末Ｈとの接続を検知する。
【００９３】
パケット送信部１６０４は、判断部１６０２によって更新通知情報があると判断された場合、自ノードのノードアドレスを現鍵Ｋｉで暗号化した暗号化応答パケットＲＰを、ゲートウェイＧｉ宛に送信する。この場合、パケット送信部１６０４は、さらに、判断部１６０２によってＧＷアドレスがあると判断された場合に、そのＧＷアドレス宛に更新要求パケットＲＰを送信することとしてもよい。
【００９４】
また、パケット送信部１６０４は、携帯端末Ｈとの接続が検知された場合、携帯端末Ｈを介して、自ノードのノードアドレスを含む更新要求パケットｒｐを管理サーバ１０１に送信する。具体的には、たとえば、パケット送信部１６０４が、ＵＳＢケーブルなどのネットワークＮＷ３を介して、更新要求パケットｒｐを携帯端末Ｈに送信する。この結果、携帯端末Ｈが、ネットワークＮＷ２を介して、ノードＮｉからの更新要求パケットｒｐを管理サーバ１０１に送信する。
【００９５】
鍵受信部１６０５は、携帯端末Ｈを介して、ゲートウェイＧｉ固有の暗号鍵ＫＫｉを管理サーバ１０１から受信する。この暗号鍵ＫＫｉは、たとえば、ノードＮｉ−ｘでパケットを暗号化するとともに、暗号鍵ＫＫｉを用いて暗号化された暗号化パケットＳＰｉを復号することができる共通鍵である。
【００９６】
更新部１６０６は、現鍵Ｋｉから新鍵ＫＫｉに更新する。これにより、以降においてノードＮｉが送信対象となるパケットの暗号化、および暗号化パケットＳＰｉの復号は、新鍵ＫＫｉで実行されることとなる。したがって、アドホックネットワークＡｉ内のノード間でセキュア通信を行うことができる。
【００９７】
なお、更新部１６０６では、新鍵ＫＫｉを現鍵Ｋｉに上書きすることで更新してもよく、また、ノードＮｉが暗号化パケットＳＰｉを管理サーバ１０１に送信するまでの間に、現鍵Ｋｉを消去してもよい。
【００９８】
（管理サーバ１０１と携帯端末Ｈとの間の通信方式）
ここで、管理サーバ１０１と携帯端末Ｈとの間の通信方式の一実施例について説明する。まず、携帯端末Ｈからみた管理サーバ１０１のサーバ認証について説明する。具体的には、たとえば、まず、携帯端末Ｈが、予め決められたＩＰアドレスを用いて管理サーバ１０１に接続する。
【００９９】
そして、携帯端末Ｈが、管理サーバ１０１からＳＳＬサーバ証明書を受信する。受信されたＳＳＬサーバ証明書は、たとえば、管理サーバ１０１のＩＰアドレスと関連付けて携帯端末ＨのＲＡＭ１１０２やフラッシュメモリ１１０３などの記憶装置に記憶される。
【０１００】
図１７は、管理サーバ１０１の認証情報の一例を示す説明図である。図１７において、管理サーバ１０１の認証情報１７００は、ＩＰアドレスおよびＳＳＬサーバ証明書を有する。ＩＰアドレスは、管理サーバ１０１のＩＰアドレスである。Ｘ．５０９証明書は、管理サーバ１０１のＳＳＬサーバ証明書（公開鍵証明書）である。
【０１０１】
携帯端末Ｈは、予め自端末に組み込まれている公開鍵を用いて、ＳＳＬサーバ証明書を復号することでサーバ認証を行う。公開鍵は、たとえば、第三者認証機関によって発行されたものである。この公開鍵を用いてＳＳＬサーバ証明書を正しく復号できれば、ＳＳＬサーバ証明書が第三者認証機関によって証明された正しい証明書であることがわかり、ひいては管理サーバ１０１の身元が保証されたことになる。
【０１０２】
つぎに、管理サーバ１０１からみた携帯端末Ｈのユーザ認証について説明する。ここでは、図１８に示すような携帯端末Ｈの認証情報１８００を用いて、携帯端末Ｈのユーザ認証を行う場合を例に挙げて説明する。認証情報１８００は、たとえば、管理サーバ１０１のＲＯＭ１００２、ＲＡＭ１００３、磁気ディスク１００５、光ディスク１００７などの記憶装置に記憶されている。
【０１０３】
図１８は、携帯端末Ｈの認証情報の一例を示す説明図である。図１８において、携帯端末Ｈの認証情報１８００は、ユーザＩＤおよびパスワードを有する。ユーザＩＤは、携帯端末Ｈの識別子である。パスワードは、携帯端末Ｈを使用するユーザを認証するためのものである。
【０１０４】
具体的には、たとえば、まず、携帯端末Ｈが、ユーザＩＤおよびパスワードのペアを管理サーバ１０１に送信する。このユーザＩＤおよびパスワードは、携帯端末Ｈのフラッシュメモリ１１０３に予め登録されていてもよく、また、携帯端末Ｈの入力装置（不図示）を用いたユーザの操作入力により受け付けてもよい。
【０１０５】
このあと、管理サーバ１０１は、携帯端末ＨからのユーザＩＤおよびパスワードのペアを、認証情報１８００のユーザＩＤおよびパスワードのペアと一致判定する。ここで、認証情報１８００のユーザＩＤおよびパスワードと一致すれば、携帯端末Ｈのユーザの身元が保証されたことになる。
【０１０６】
なお、認証後において、携帯端末Ｈは、たとえば、管理サーバ１０１のＳＳＬサーバ証明書に含まれる公開鍵を用いてパケットを暗号化して管理サーバ１０１との通信を行う。これにより、管理サーバ１０１と携帯端末Ｈとの間でセキュアな通信を行うことができる。
【０１０７】
（鍵更新シーケンス）
図１９は、実施の形態にかかる鍵更新シーケンス例を示すシーケンス図である。まず、ゲートウェイＧｉは、ゲートウェイＧｉ固有の新鍵ＫＫｉを生成する（ステップＳ１９０１）。そして、ゲートウェイＧｉは、生成された新鍵ＫＫｉとゲートウェイＧｉのＧＷアドレスとを管理サーバ１０１に送信する（ステップＳ１９０２）。管理サーバ１０１は、ゲートウェイＧｉを指定するＩＤ：ｉのレコードを確保し、受信された新鍵ＫＫｉをゲートウェイＧｉのＧＷアドレスに関連付けて鍵情報ＤＢ１１０のＩＤ：ｉのレコードに保存する（ステップＳ１９０３）。
【０１０８】
また、ゲートウェイＧｉは、更新通知情報を生成し（ステップＳ１９０４）、更新通知情報を現鍵Ｋｉで暗号化して暗号化パケットＳＰｉを生成する（ステップＳ１９０５）。そして、ゲートウェイＧｉは、暗号化パケットＳＰｉをアドホックネットワークＡｉ内にブロードキャストする（ステップＳ１９０６）。これにより、アドホックネットワークＡｉでマルチホップ通信されることで、暗号化パケットＳＰｉがノードＮｉ−１〜Ｎｉ−ｍｉに行き渡る。
【０１０９】
このあと、ノードＮｉ−１〜Ｎｉ−ｍｉは、鍵更新前処理を実行する（ステップＳ１９０７）。鍵更新前処理（ステップＳ１９０７）の詳細については、図２０で後述する。また、ノードＮｉ−１〜Ｎｉ−ｍｉは、暗号化応答パケットＲＰをゲートウェイＧｉに送信する（ステップＳ１９０８）。そして、ゲートウェイＧｉは、送信された暗号化パケットＲＰの各々を、現鍵Ｋｉで復号する（ステップＳ１９０９）。暗号化パケットＲＰが復号されると、それぞれの送信元のノードアドレスが検出される。ゲートウェイＧｉは、ゲートウェイＧｉのＧＷアドレスと復号で得られたノードアドレス群とを、ネットワークＮＷ１を介して管理サーバ１０１に送信する（ステップＳ１９１０）。
【０１１０】
このあと、ゲートウェイＧｉは、暗号化パケットＳＰｉのブロードキャスト後一定期間経過すると、現鍵Ｋｉを消去する（ステップＳ１９１１）。これにより、ゲートウェイＧｉは今後、新鍵ＫＫｉで暗号化されたパケットをアドホックネットワークＡｉに配信し、アドホックネットワークＡｉから受信されるパケットを新鍵ＫＫｉで復号することとなる。なお、新鍵ＫＫｉで復号できないパケットは破棄されることとなる。
【０１１１】
また、管理サーバ１０１は、ゲートウェイＧｉから送信されてきたゲートウェイＧｉのＧＷアドレスおよびノードアドレス群を受信し、テーブルＴｉを作成する（ステップＳ１９１２）。このとき、ゲートウェイＧｉのＧＷアドレスを手がかりとして、鍵情報ＤＢ１１０からゲートウェイＧｉのＩＤを特定する。作成部は、特定されたＩＤと受信されたノードアドレス群とを関連付けてテーブルＴｉを作成することとなる。
【０１１２】
一方、ノードＮｉ−１〜Ｎｉ−ｍｉでは、暗号化応答パケットＲＰの送信後、携帯端末Ｈとの接続を判断する（ステップＳ１９１３）。図１９では、ノードＮｉ−３が携帯端末Ｈとの接続が検知されているものとする。
【０１１３】
ノードＮｉ−３は、携帯端末Ｈを介して、ノードＮｉ−３のノードアドレスを含む更新要求パケットｒｐを、管理サーバ１０１に送信する（ステップＳ１９１４）。管理サーバ１０１は、ノードＮｉ−３から更新要求パケットｒｐを受信すると、新鍵特定処理を実行する（ステップＳ１９１５）。新鍵特定処理（ステップＳ１９１５）の詳細については図２１で後述する。管理サーバ１０１は、新鍵特定処理（ステップＳ１９１５）で特定された新鍵ＫＫｉを、携帯端末Ｈを介して、ノードＮｉ−３に送信する（ステップＳ１９１６）。
【０１１４】
ノードＮｉ−３は、携帯端末Ｈを介して管理サーバ１０１から新鍵ＫＫｉを受信すると、アドホックネットワークＡｉで使用する鍵を、現鍵Ｋｉから新鍵ＫＫｉに更新する（ステップＳ１９１７）。これにより、作業員は、アドホックネットワークＡｉ内のどのノードＮｉがゲートウェイＧｉから何ホップ先であるか調査することなく、任意に選んだノードＮｉから順次鍵更新作業をおこなうことができる。したがって、鍵更新作業の効率化を図ることができる。
【０１１５】
図２０は、図１９に示した鍵更新前処理（ステップＳ１９０７）の詳細な処理手順の一例を示すフローチャートである。まず、ノードＮｉは、ゲートウェイＧｉからブロードキャストされた暗号化パケットＳＰｉを現鍵Ｋｉで復号する（ステップＳ２００１）。つぎに、ノードＮｉは、暗号化パケットＳＰｉから復号されたパケットが更新通知情報であるか否かを判断する（ステップＳ２００２）。更新通知情報でない場合（ステップＳ２００２：Ｎｏ）、鍵更新前処理（ステップＳ１９０７）を終了する。この場合は、鍵更新はおこなわれない。
【０１１６】
一方、ステップＳ２００２において、更新通知情報であると判断された場合（ステップＳ２００２：Ｙｅｓ）、ノードＮｉは、現鍵Ｋｉを用いて暗号化応答パケットＲＰを生成する（ステップＳ２００３）。たとえば、ノードＮｉは、暗号化応答パケットＲＰをノードＮｉ内の送信バッファに書き込む。これにより、鍵更新前処理（ステップＳ１９０７）を終了し、暗号化応答パケットＲＰをゲートウェイＧｉに送信することとなる。
【０１１７】
図２１は、図１９に示した新鍵特定処理（ステップＳ１９１５）の詳細な処理手順の一例を示すフローチャートである。まず、管理サーバ１０１は、更新要求パケットｒｐに含まれているノードアドレスを検出する（ステップＳ２１０１）。つぎに、管理サーバ１０１は、検出されたノードアドレスがテーブルＴｉに登録されているか否かを判定する（ステップＳ２１０２）。テーブルＴｉに登録されていない場合（ステップＳ２１０２：Ｎｏ）、管理サーバ１０１は、エラー処理を実行して（ステップＳ２１０４）、新鍵特定処理（ステップＳ１９１５）を終了する。
【０１１８】
この場合、エラー処理（ステップＳ２１０４）の具体例として、たとえば、抽出部が、携帯端末Ｈを介して、新鍵ＫＫｉを抽出できなかった旨のエラーメッセージを特定のノードＮｉ−ｘに送信することにしてもよい。エラー処理（ステップＳ２１０４）は、たとえば、暗号化パケットＳＰｉが改ざんされた場合や暗号化パケットＳＰｉの一部が欠落した場合などに実行される。このエラー処理によれば、特定のノードＮｉ−ｘによる暗号化パケットＳＰｉの再送信を促すことができる。
【０１１９】
一方、ステップＳ２１０２において、テーブルＴｉに登録されている場合（ステップＳ２１０２：Ｙｅｓ）、テーブルＴｉのゲートウェイＧｉのＩＤを手がかりとして、管理サーバ１０１は、鍵情報ＤＢ１１０からゲートウェイＧｉ固有の新鍵ＫＫｉを抽出する（ステップＳ２１０３）。
【０１２０】
このあと、管理サーバ１０１は、新鍵特定処理（ステップＳ１９１５）で特定された新鍵ＫＫｉを、携帯端末Ｈを介して、ノードＮｉ−３に送信することとなる（ステップＳ１９１６）。これにより、携帯端末Ｈと接続された特定のノードＮｉ−ｘに対して、携帯端末Ｈを介して、新鍵ＫＫｉをセキュアで、かつ、効率的に付与することができる。
【０１２１】
（他の構成例）
なお、上述した実施の形態では、ゲートウェイＧｉが新鍵ＫＫｉを生成する構成について説明したが、新鍵ＫＫｉの生成は、管理サーバ１０１がおこなうこととしてもよい。新鍵ＫＫｉの生成を管理サーバ１０１が実行することで、各ゲートウェイＧｉの処理負荷を低減することができる。また、新鍵ＫＫｉの生成を管理サーバ１０１という１台のコンピュータに集約することができるため、ゲートウェイＧ１〜Ｇｎの低コスト化を図ることができる。以下、管理サーバ１０１が新鍵ＫＫｉを生成する例について説明する。
【０１２２】
（ゲートウェイＧｉの機能的構成の他の例）
図２２は、ゲートウェイＧｉの機能的構成の他の例を示すブロック図である。なお、図１４に示した構成と同一構成には同一符号を付し、その説明を省略する。ゲートウェイＧｉは、配信部１４０１と、取得部２２０２とを備えている。
【０１２３】
各機能部（配信部１４０１および取得部２２０２）は、具体的には、たとえば、図１１に示したＲＡＭ１１０２やフラッシュメモリ１１０３などの記憶装置に記憶されたプログラムをＣＰＵ１１０１に実行させることにより、または、Ｉ／Ｆ１１０４により、その機能を実現する。また、各機能部（配信部１４０１および取得部２２０２）の処理結果は、たとえば、ＲＡＭ１１０２やフラッシュメモリ１１０３などの記憶装置に記憶される。
【０１２４】
取得部２２０２は、ゲートウェイＧｉ固有の新鍵ＫＫｉを取得する。取得部２２０２は、具体的には、たとえば、受信部２２２１と保存部２２２２とを備える。受信部２２２１は、管理サーバ１０１から新鍵ＫＫｉを受信する。
【０１２５】
保存部２２２２は、受信部２２２１で受信された新鍵ＫＫｉを保存する。たとえば、保存部２２２２は、新鍵ＫＫｉを、ゲートウェイＧｉ内のＲＡＭ１１０２やフラッシュメモリ１１０３などの記憶装置に保存する。現鍵ＫｉはノードＮｉからの暗号化応答パケットＲＰを復号する必要があるため、一定期間保持され、その後に消去される。
【０１２６】
このあと、各ノードＮｉ−１〜Ｎｉ−ｍｉと管理サーバ１０１との間で鍵更新処理が完了することで、アドホックネットワークＡｉ内で、新鍵ＫＫｉで暗号化したパケットで通信することが可能となる。
【０１２７】
図２３は、管理サーバ１０１の機能的構成の他の例を示すブロック図である。なお、図１５に示した構成と同一構成には同一符号を付し、その説明を省略する。管理サーバ１０１は、鍵情報ＤＢ１１０と、取得部２３００と、第１の送信部２３０１と、作成部１５０２と、受信部１５０３と、判定部１５０４と、抽出部１５０５と、第２の送信部２３０２と、を備えている。
【０１２８】
各機能部（取得部２３００〜第２の送信部２３０２）は、具体的には、たとえば、図１０に示したＲＯＭ１００２、ＲＡＭ１００３、磁気ディスク１００５、光ディスク１００７などの記憶装置に記憶されたプログラムをＣＰＵ１００１に実行させることにより、または、Ｉ／Ｆ１００８により、その機能を実現する。また、各機能部（取得部２３００〜第２の送信部２３０２）の処理結果は、たとえば、ＲＡＭ１００３、磁気ディスク１００５、光ディスク１００７などの記憶装置に記憶される。
【０１２９】
取得部２３００は、新鍵ＫＫｉを取得して、新鍵ＫＫｉをゲートウェイＧｉのＧＷアドレスに関連付けて鍵情報ＤＢ１１０に保存する。取得部２３００は、具体的には、たとえば、生成部２３１１と保存部２３１２とを備える。
【０１３０】
生成部２３１１は、更新対象となるゲートウェイＧｉについて新鍵ＫＫｉを生成する。生成部２３１１は、たとえば、乱数生成機能により新鍵ＫＫｉを生成する。保存部２３１２は、生成部２３１１で生成された新鍵ＫＫｉを保存する。たとえば、保存部２３１２は、新鍵ＫＫｉを、ゲートウェイＧｉのＧＷアドレスに関連付けて、鍵情報ＤＢ１１０に保存する。
【０１３１】
第１の送信部２３０１は、管理サーバ１０１の生成部２３１１で生成されたゲートウェイＧｉ固有の新鍵ＫＫｉを、ゲートウェイＧｉに送信する。送信された新鍵ＫＫｉは、ゲートウェイＧｉで保存される。
【０１３２】
第２の送信部２３０２は、抽出部１５０５によって抽出された新鍵ＫＫｉを、携帯端末Ｈを介して特定のノードＮｉ−ｘに送信する。これにより、アドホックネットワークＡｉを経由せずに、特定のノードＮｉ−ｘに新鍵ＫＫｉを付与することができる。
【０１３３】
このあと、各ノードＮｉ−１〜Ｎｉ−ｍｉと管理サーバ１０１との間で鍵更新処理が完了することで、アドホックネットワークＡｉ内で、新鍵ＫＫｉで暗号化したパケットで通信することが可能となる。
【０１３４】
（鍵更新シーケンス）
図２４は、実施の形態にかかる鍵更新シーケンスの他の例を示すシーケンス図である。なお、図１９に示した処理と同一処理には同一符号を付し、その説明を省略する。管理サーバ１０１は、ゲートウェイＧｉ固有の新鍵ＫＫｉを生成する（ステップＳ２４０１）。そして、管理サーバ１０１は、生成された新鍵ＫＫｉを、ネットワークＮＷ１を介してゲートウェイＧｉに送信する（ステップＳ２４０２）。
【０１３５】
ゲートウェイＧｉでは、ステップＳ２４０２で管理サーバ１０１から新鍵ＫＫｉを受信すると、更新通知情報を生成することとする（ステップＳ１９０４）。また、管理サーバ１０１は、新鍵ＫＫｉを生成すると、鍵情報ＤＢ１１０に新鍵ＫＫｉをゲートウェイＧｉのＧＷアドレスに関連付けて保存する（ステップＳ２４０３）。
【０１３６】
以降は、図１９の場合と同様、ステップＳ１９０１、Ｓ１９０４〜Ｓ１９１７を実行することで、作業員は、アドホックネットワークＡｉ内のどのノードＮｉがゲートウェイＧｉから何ホップ先であるか調査することなく、任意に選んだノードＮｉから順次鍵更新作業をおこなうことができる。したがって、鍵更新作業の効率化を図ることができる。
【０１３７】
以上説明したように、本実施の形態によれば、ノードＮｉはノードアドレスと引き換えに、アドホックネットワークＡｉ以外のネットワークＮＷ２，ＮＷ３から新鍵ＫＫｉを取得できるため、作業員は、アドホックネットワークＡｉ内のどのノードＮｉがゲートウェイＧｉから何ホップ先であるかをしらみつぶしに探す必要はない。したがって、作業員による鍵更新作業の負担軽減を図ることができる。また、現鍵Ｋｉが漏洩しても鍵更新作業が効率的に実施されるため、新鍵ＫＫｉへ更新することにより、アドホックネットワークＡｉ内の暗号化通信の早期復旧を図ることができる。
【０１３８】
なお、本実施の形態で説明した鍵更新方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本鍵設定プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。
【符号の説明】
【０１３９】
１００  ネットワークシステム
１０１  管理サーバ
１１０  鍵情報ＤＢ
Ａｉ  アドホックネットワーク
Ｇｉ  ゲートウェイ
Ｈ  携帯端末
Ｋｉ   現鍵（暗号鍵）
ＫＫｉ  新鍵（暗号鍵）
Ｎｉ  ノード
ＳＰｉ  暗号化パケット
ＲＰ  暗号化応答パケット
ｒｐ  更新要求パケット
Ｔｉ  テーブル
【図１】
2012073340.tif 000003
【図２】
2012073340.tif 000004
【図３】
2012073340.tif 000005
【図４】
2012073340.tif 000006
【図５】
2012073340.tif 000007
【図６】
2012073340.tif 000008
【図７】
2012073340.tif 000009
【図８】
2012073340.tif 000010
【図９】
2012073340.tif 000011
【図１０】
2012073340.tif 000012
【図１１】
2012073340.tif 000013
【図１２】
2012073340.tif 000014
【図１３】
2012073340.tif 000015
【図１４】
2012073340.tif 000016
【図１５】
2012073340.tif 000017
【図１６】
2012073340.tif 000018
【図１７】
2012073340.tif 000019
【図１８】
2012073340.tif 000020
【図１９】
2012073340.tif 000021
【図２０】
2012073340.tif 000022
【図２１】
2012073340.tif 000023
【図２２】
2012073340.tif 000024
【図２３】
2012073340.tif 000025
【図２４】
2012073340.tif 000026
【手続補正書】
【提出日】平成25年3月29日(2013.3.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アドホックネットワーク内のゲートウェイから前記アドホックネットワーク内のノード群の各ノードに付与された前記ゲートウェイ固有の現鍵を更新する鍵更新方法であって、
前記現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記ゲートウェイから受信する第１の受信工程と、
前記第１の受信工程によって受信された前記暗号化パケットを前記現鍵で復号する復号工程と、
前記復号工程によって復号された情報に前記更新通知情報があるか否かを判断する判断工程と、
前記判断工程によって前記更新通知情報があると判断された場合、自ノードのアドレスを前記現鍵で暗号化した暗号化応答パケットを前記ゲートウェイに送信する第１の送信工程と、
前記ゲートウェイによって前記暗号化応答パケットから抽出された前記自ノードのアドレスおよび前記ゲートウェイ固有の新鍵を関連付けて保存するサーバと通信可能な携帯端末との接続を検知する検知工程と、
前記検知工程によって接続が検知された場合、前記自ノードのアドレスを含む更新要求パケットを、前記携帯端末を介して前記サーバに送信する第２の送信工程と、
前記第２の送信工程によって送信された前記更新要求パケット内の前記自ノードのアドレスに関連付けられている前記新鍵を、前記携帯端末を介して前記サーバから受信する第２の受信工程と、
前記現鍵から、前記第２の受信工程によって受信された前記新鍵に更新する更新工程と、
を前記ノードが実行することを特徴とする鍵更新方法。
【請求項２】
前記判断工程は、
前記暗号化パケットから復号された情報に前記ゲートウェイのアドレスがあるか否かを判断し、
前記第１の送信工程は、
前記ゲートウェイのアドレスがあった場合、前記暗号化応答パケットを前記ゲートウェイに送信することを特徴とする請求項１に記載の鍵更新方法。
【請求項３】
アドホックネットワークを構成するノード群内のノードであって、
前記アドホックネットワーク内のゲートウェイ固有の現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記ゲートウェイから受信する第１の受信手段と、
前記第１の受信手段によって受信された前記暗号化パケットを前記現鍵で復号することにより、前記更新通知情報があるか否かを判断する判断手段と、
前記判断手段によって前記更新通知情報があると判断された場合、自ノードのアドレスを前記現鍵で暗号化した暗号化応答パケットを前記ゲートウェイに送信する第１の送信手段と、
前記ゲートウェイによって前記暗号化応答パケットから抽出された前記自ノードのアドレスおよび前記ゲートウェイ固有の新鍵を関連付けて保存するサーバと通信可能な携帯端末との接続を検知する検知手段と、
前記検知手段によって接続が検知された場合、前記自ノードのアドレスを含む更新要求パケットを、前記携帯端末を介して前記サーバに送信する第２の送信手段と、
前記第２の送信手段によって送信された前記更新要求パケット内の前記自ノードのアドレスに関連付けられている前記新鍵を、前記携帯端末を介して前記サーバから受信する第２の受信手段と、
前記現鍵から、前記第２の受信手段によって受信された前記新鍵に更新する更新手段と、
を備えることを特徴とするノード。
【請求項４】
前記判断手段は、
前記復号手段によって前記暗号化パケットから復号された情報に前記ゲートウェイのアドレスがあるか否かを判断し、
前記第１の送信手段は、
前記ゲートウェイのアドレスがあった場合、前記暗号化応答パケットを前記ゲートウェイに送信することを特徴とする請求項３に記載のノード。
【請求項５】
アドホックネットワーク内のゲートウェイであって、
前記ゲートウェイ固有の現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記アドホックネットワークに同時通報する配信手段と、
前記ゲートウェイ固有の新鍵を生成する生成手段と、
前記生成手段によって生成された前記新鍵および前記ゲートウェイのアドレスを、前記アドホックネットワーク内の各ノードに当該各ノードに接続された携帯端末を介して通信可能なサーバに送信する送信手段と、
を備えることを特徴とするゲートウェイ。
【請求項６】
アドホックネットワーク内のゲートウェイであって、
前記ゲートウェイ固有の現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記アドホックネットワークに同時通報する配信手段と、
前記ゲートウェイ固有の新鍵を、前記アドホックネットワーク内の各ノードに当該各ノードに接続された携帯端末を介して前記新鍵を送信可能なサーバから受信する受信手段と、
を備えることを特徴とするゲートウェイ。
【請求項７】
アドホックネットワーク内のゲートウェイと通信可能なサーバであって、
前記ゲートウェイのアドレスおよび前記ゲートウェイ固有の現鍵を関連付けて保存するデータベースと、
前記ゲートウェイのアドレスおよび前記ゲートウェイ固有の新鍵を前記ゲートウェイから受信して、前記ゲートウェイのアドレスに関連付けて前記データベースに前記新鍵を保存する取得手段と、
前記アドホックネットワークを構成するノード群の各ノードのアドレスを、前記ゲートウェイから受信した場合、前記ゲートウェイのアドレスと前記各ノードのアドレスとを関連付けた情報を作成する作成手段と、
前記ノード群内の前記サーバと通信可能な携帯端末と接続された特定のノードから、前記特定のノードのアドレスを含む更新要求パケットを、前記携帯端末を介して受信する受信手段と、
前記受信手段によって受信された前記更新要求パケットに含まれている特定のノードのアドレスが、前記作成手段によって作成された情報にあるか否かを判定する判定手段と、
前記判定手段によってあると判定された場合、前記ゲートウェイのアドレスに関連付けられている前記新鍵を、前記データベースから抽出する抽出手段と、
前記抽出手段によって抽出された前記新鍵を、前記携帯端末を介して前記特定のノードに送信する送信手段と、
を備えることを特徴とするサーバ。
【請求項８】
アドホックネットワーク内のゲートウェイと通信可能なサーバであって、
前記ゲートウェイのアドレスおよび前記ゲートウェイ固有の現鍵を関連付けて保存するデータベースと、
前記ゲートウェイ固有の新鍵を生成し、生成された前記新鍵を、前記データベース内の前記ゲートウェイのアドレスに関連付けて保存する取得手段と、
前記新鍵を前記ゲートウェイに送信する第１の送信手段と、
前記アドホックネットワークを構成するノード群の各ノードのアドレスを、前記ゲートウェイから受信した場合、前記ゲートウェイのアドレスと前記各ノードのアドレスとを関連付けた情報を作成する作成手段と、
前記ノード群内の前記サーバと通信可能な携帯端末と接続された特定のノードから、前記特定のノードのアドレスを含む更新要求パケットを、前記携帯端末を介して受信する受信手段と、
前記受信手段によって受信された前記更新要求パケットに含まれている前記特定のノードのアドレスが、前記作成手段によって作成された情報にあるか否かを判定する判定手段と、
前記判定手段によってあると判定された場合、前記ゲートウェイのアドレスに関連付けられている前記新鍵を、前記データベースから抽出する抽出手段と、
前記抽出手段によって抽出された前記新鍵を、前記携帯端末を介して前記特定のノードに送信する第２の送信手段と、
を備えることを特徴とするサーバ。
【請求項９】
前記作成手段は、
前記ノード群のすべてのノードに前記新鍵が前記携帯端末を介して送信された場合、前記情報を消去することを特徴とする請求項７または８に記載のサーバ。
【請求項１０】
アドホックネットワーク内のゲートウェイと、前記アドホックネットワーク内のノード群と、前記ゲートウェイと通信可能なサーバと、を備え、前記ノード群の各ノードに付与された前記ゲートウェイ固有の現鍵を更新するネットワークシステムであって、
前記ゲートウェイが、前記現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記アドホックネットワークに同時通報する配信手段と、
前記ゲートウェイが、前記ゲートウェイ固有の新鍵を取得して保存する第１の取得手段と、
前記サーバが、前記新鍵を取得して、前記ゲートウェイのアドレスおよび前記現鍵を関連付けて保存するデータベースにおいて、前記ゲートウェイのアドレスに関連付けて前記新鍵を保存する第２の取得手段と、
前記サーバが、前記アドホックネットワークを構成するノード群の各ノードのアドレスを、前記ゲートウェイから受信した場合、前記ゲートウェイのアドレスと前記各ノードのアドレスとを関連付けた情報を作成する作成手段と、
前記ノード群内の各ノードが、前記暗号化パケットを前記現鍵で復号することにより、前記更新通知情報であるか否かを判断する判断手段と、
前記ノード群内の前記サーバと通信可能な携帯端末と接続された特定のノードが、前記判断手段によって前記更新通知情報であると判断された場合、前記特定のノードのアドレスを含む更新要求パケットを、前記携帯端末を介して前記サーバに送信する第１の送信手段と、
前記サーバが、前記データベースにおいて前記第１の送信手段によって送信された更新要求パケットに含まれている前記特定のノードのアドレスが、前記作成手段によって作成された情報にあるか否かを判定する判定手段と、
前記サーバが、前記判定手段によってあると判定された場合、前記ゲートウェイのアドレスに関連付けられている前記新鍵を、前記データベースから抽出する抽出手段と、
前記サーバが、前記抽出手段によって抽出された前記新鍵を、前記携帯端末を介して前記特定のノードに送信する第２の送信手段と、
前記特定のノードが、前記現鍵から前記第２の送信手段によって送信された前記新鍵に更新する更新手段と、
を備えることを特徴とするネットワークシステム。
【請求項１１】
前記第１の取得手段は、
前記ゲートウェイが、前記新鍵を生成して保存し、
前記第２の取得手段は、
前記サーバが、前記ゲートウェイによって生成された前記新鍵および前記ゲートウェイのアドレスを受信し、前記ゲートウェイのアドレスに関連付けて前記新鍵を前記データベースに保存することを特徴とする請求項１０に記載のネットワークシステム。
【請求項１２】
前記第２の取得手段は、
前記サーバが、前記新鍵を生成して、前記ゲートウェイのアドレスに関連付けて前記新鍵を前記データベースに保存し、
前記第１の取得手段は、
前記ゲートウェイが、前記サーバによって生成された前記新鍵を受信して保存することを特徴とする請求項１０に記載のネットワークシステム。
【請求項１３】
前記作成手段は、
前記ノード群のすべてのノードに前記新鍵が前記携帯端末を介して送信された場合、前記情報を消去することを特徴とする請求項１０に記載のネットワークシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを暗号化するための鍵を更新する鍵更新方法、ノード、ゲートウェイ、サーバ、およびネットワークシステムに関する。
【背景技術】
【０００２】
アドホックネットワークは、無線通信でリンクする自己構成型のネットワークの一種である。アドホックネットワークは複数のノードにより構成される。また、アドホックネットワーク内の各ノードは、マルチホップ通信によりパケットの送受信を行う。マルチホップ通信は、互いの通信圏内に存在しないノード同士が、各ノードの通信圏内に存在する別のノードを介して通信を行う技術である。
【０００３】
また、アドホックネットワークとインターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの他のネットワークとを接続する場合、ゲートウェイと呼ばれる中継機器を用いて、ネットワーク間の通信の転送が行われる。
【０００４】
アドホックネットワークを利用した技術として、各家庭の電力メータに無線通信可能なノードを組み込んで、作業員が現地に出向くことなく、アドホックネットワーク経由でメータ確認などの業務を行うシステムがある。各家庭の電力の使用量などの個人情報を扱うアドホックネットワークでは、秘匿性や改ざん防止の観点からセキュアな通信を行うことが要求される。
【０００５】
そこで、従来のシステムでは、アドホックネットワーク内のノード間で送受信されるパケットを暗号化することで、セキュアな通信を確保することが行われている。この際、システム内の全ノードで共通の暗号鍵を用いた場合、鍵漏洩時のリスクが大きいため、ゲートウェイごとに暗号鍵を変えるシステムがある。
【０００６】
また、システムへの新規ノードの初期導入時などにおいて、新規ノードは、暗号鍵が設定されるまでの間、アドホックネットワーク内の他のノードとセキュアな通信を行うことができない。このため、アドホックネットワーク経由で新規ノードに暗号鍵を自動設定することが難しく、作業員が現地に出向いて暗号鍵の設定作業を行っている。
【０００７】
また、セキュア通信に関する先行技術として、たとえば、ブロードキャストにより通信を行うネットワークの暗号鍵を管理する技術がある（たとえば、下記特許文献１参照。）。また、アドホックネットワークにおいて通信開始時の鍵交換を安定して行うための技術がある（たとえば、下記特許文献２参照。）。また、アドホックネットワーク内の各ノードが適応ゲートウェイを選択するための技術がある（たとえば、下記特許文献３参照。）。また、異なるネットワーク間に所属する複数のデバイスに鍵を渡し、それを用いてアドホックネットワークを構成する技術がある（たとえば、下記特許文献４参照。）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−３４８０７２号公報
【特許文献２】特開２００７−８８７９９号公報
【特許文献３】特開２００９−８１８５４号公報
【特許文献４】特表２００９−５３５９２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述した従来技術では、アドホックネットワーク内の各ノードに設定する暗号鍵をゲートウェイごとに更新する場合、ノードが属するゲートウェイを特定することが難しいという問題があった。
【００１０】
たとえば、ノードの設置場所の住所から候補となるゲートウェイを絞り込むことはできても、天候や近傍の建物との位置関係などの要因により通信状況が変化する。このため、実際にどのゲートウェイと通信可能であるかを作業員が現地に出向いて確認する必要があり、作業員の暗号鍵の更新作業にかかる作業時間および作業負荷の増大を招くという問題がある。
【００１１】
また、ゲートウェイが暗号鍵を更新したタイミングで暗号鍵を更新できるのはゲートウェイから１ホップ隣のノードのみである。具体的には、１ホップ隣のノードがゲートウェイからのブロードキャストパケット（以下、「ＢＣパケット」）を受信することはできるが、ＢＣパケットは新しい暗号鍵（以下、「新鍵」）で暗号化されている。したがって、当該パケットは現在所有している暗号鍵（以下、「現鍵」）で復号することができず、ゲートウェイから２ホップ隣まで転送されないからである。
【００１２】
すなわち、アドホックネットワークでの鍵更新の開始直後には、ゲートウェイから１ホップ隣のノードは新鍵に設定できるが、ゲートウェイから２ホップ先のノード以降は鍵設定することができない。換言すれば、ゲートウェイから２ホップ隣のノードは、ゲートウェイから1ホップ隣のノードについて鍵更新が完了し、ゲートウェイからのＢＣパケットを受信可能となって初めて鍵更新が可能となる。
【００１３】
しかしながら、どのノードがゲートウェイから何ホップ先であるかを調査するのは非常に困難である。また、ノードの設置時に何ホップ先であるかを記録していても、上述したように、各種要因により通信状況が変化する。したがって、結局、実際にどのノードがゲートウェイから何ホップ先であるかを、作業員が現地に出向いてその都度確認する必要がある。このように、従来では、作業員の暗号鍵の更新作業にかかる作業時間および作業負荷の増大を招くという問題がある。
【００１４】
１つの側面では、本発明は、上述した従来技術による問題点を解消するため、アドホックネットワーク内のノードが用いる暗号鍵の更新作業の効率化を図ることができる鍵更新方法、ノード、ゲートウェイ、サーバ、およびネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の一側面によれば、アドホックネットワーク内のゲートウェイと、前記アドホックネットワーク内のノード群と、前記ゲートウェイと通信可能なサーバと、を備え、前記ノード群の各ノードに付与された前記ゲートウェイ固有の現鍵を更新するにあたって、前記ゲートウェイが、前記現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記アドホックネットワークに同時通報し、前記ゲートウェイが、前記ゲートウェイ固有の新鍵を取得して保存し、前記サーバが、前記新鍵を取得して、前記ゲートウェイのアドレスおよび前記現鍵を関連付けて保存するデータベースにおいて、前記ゲートウェイのアドレスに関連付けて前記新鍵を保存し、前記サーバが、前記アドホックネットワークを構成するノード群の各ノードのアドレスを、前記ゲートウェイから受信した場合、前記ゲートウェイのアドレスと前記各ノードのアドレスとを関連付けた情報を作成し、前記ノード群内の各ノードが、前記暗号化パケットを前記現鍵で復号することにより、前記更新通知情報であるか否かを判断し、前記ノード群内の前記サーバと通信可能な携帯端末と接続された特定のノードが、前記更新通知情報であると判断された場合、前記特定のノードのアドレスを含む更新要求パケットを、前記携帯端末を介して前記サーバに送信し、前記サーバが、前記データベースにおいて送信された更新要求パケットに含まれている前記特定のノードのアドレスが、作成された情報にあるか否かを判定し、前記サーバが、あると判定された場合、前記ゲートウェイのアドレスに関連付けられている前記新鍵を、前記データベースから抽出し、前記サーバが、抽出された前記新鍵を、前記携帯端末を介して前記特定のノードに送信し、前記特定のノードが、前記現鍵から、送信された前記新鍵に更新する鍵更新方法、ノード、ゲートウェイ、サーバ、およびネットワークシステムが提案される。
【発明の効果】
【００１６】
本発明の一態様によれば、アドホックネットワーク内のノードが用いる暗号鍵の更新作業の効率化を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施の形態にかかるネットワークシステムの一実施例を示す説明図である。
【図２】図２は、アドホックネットワークＡｉにおける鍵更新例を示す説明図（その１）である。
【図３】図３は、アドホックネットワークＡｉにおける鍵更新例を示す説明図（その２）である。
【図４】図４は、アドホックネットワークＡｉにおける鍵更新例を示す説明図（その３）である。
【図５】図５は、アドホックネットワークＡｉにおける鍵更新例を示す説明図（その４）である。
【図６】図６は、アドホックネットワークＡｉにおける鍵更新例を示す説明図（その５）である。
【図７】図７は、ゲートウェイＧｉからブロードキャストされる暗号化パケットＳＰｉのデータ構造の一例を示す説明図である。
【図８】図８は、ゲートウェイＧｉからブロードキャストされる暗号化パケットＳＰｉのデータ構造の他の例を示す説明図である。
【図９】図９は、ノードＮｉからゲートウェイＧｉ宛に送信される暗号化応答パケットＲＰのデータ構造の一例を示す説明図である。
【図１０】図１０は、実施の形態にかかる管理サーバ１０１のハードウェア構成例を示すブロック図である。
【図１１】図１１は、実施の形態にかかるゲートウェイＧｉおよびノードＮｉ−１〜Ｎｉ−ｍｉ（以下、「ノード等」）のハードウェア構成例を示すブロック図である。
【図１２】図１２は、鍵情報ＤＢ１１０の記憶内容の一例を示す説明図である。
【図１３】図１３は、テーブルＴｉの記憶内容の一例を示す説明図である。
【図１４】図１４は、ゲートウェイＧｉの機能的構成例を示すブロック図である。
【図１５】図１５は、管理サーバ１０１の機能的構成例を示すブロック図である。
【図１６】図１６は、ノードＮｉの機能的構成例を示すブロック図である。
【図１７】図１７は、管理サーバ１０１の認証情報の一例を示す説明図である。
【図１８】図１８は、携帯端末Ｈの認証情報の一例を示す説明図である。
【図１９】図１９は、実施の形態にかかる鍵更新シーケンス例を示すシーケンス図である。
【図２０】図２０は、図１９に示した鍵更新前処理（ステップＳ１９０７）の詳細な処理手順の一例を示すフローチャートである。
【図２１】図２１は、図１９に示した新鍵特定処理（ステップＳ１９１５）の詳細な処理手順の一例を示すフローチャートである。
【図２２】図２２は、ゲートウェイＧｉの機能的構成の他の例を示すブロック図である。
【図２３】図２３は、管理サーバ１０１の機能的構成の他の例を示すブロック図である。
【図２４】図２４は、実施の形態にかかる鍵更新シーケンスの他の例を示すシーケンス図である。
【発明を実施するための形態】
【００１８】
以下に添付図面を参照して、この発明にかかる鍵更新方法、ノード、ゲートウェイ、サーバ、およびネットワークシステムの実施の形態を詳細に説明する。
【００１９】
（ネットワークシステムの一実施例）
図１は、実施の形態にかかるネットワークシステムの一実施例を示す説明図である。図１において、ネットワークシステム１００は、管理サーバ１０１と、ゲートウェイＧ１〜Ｇｎと、ノードＮ１−１〜Ｎ１−ｍ１，Ｎ２−１〜Ｎ２−ｍ２，…，Ｎｎ−１〜Ｎｎ−ｍｎと、を含む構成である。
【００２０】
ネットワークシステム１００において、管理サーバ１０１とゲートウェイＧ１〜Ｇｎは、インターネット、ＬＡＮ、ＷＡＮなどのネットワークＮＷ１を介して相互に通信可能に接続されている。また、ゲートウェイＧｉとノードＮｉ−１〜Ｎｉ−ｍｉは、アドホックネットワークＡｉを介して接続されている（ｉ＝１，２，…，ｎ）。なお、以降の説明で、単に「ノードＮｉ」と表記した場合は、任意のアドホックネットワークＡｉを構成するノードＮｉ−１〜Ｎｉ−ｍｉの中の任意のノードを示すこととする。
【００２１】
ここで、管理サーバ１０１は、鍵情報ＤＢ（データベース）１１０を備え、各ゲートウェイＧ１〜Ｇｎ固有の暗号鍵を管理するコンピュータである。ゲートウェイＧｉ固有の暗号鍵（以下、「暗号鍵Ｋｉ」という）は、ゲートウェイＧｉが属するアドホックネットワークＡｉ内のノード間で送受信されるパケットを暗号化するための鍵情報である。なお、鍵情報ＤＢ１１０についての詳細な説明は、図１２を用いて後述する。
【００２２】
ゲートウェイＧｉは、アドホックネットワークＡｉとネットワークＮＷ１とを接続する中継機器である。ゲートウェイＧｉは、アドホックネットワークＡｉのプロトコルとネットワークＮＷ１のプロトコルの両方を理解し、アドホックネットワークＡｉとネットワークＮＷ１との間の通信の転送を行う。
【００２３】
ノードＮｉ−１〜Ｎｉ−ｍｉは、所定の通信圏内の他ノードとマルチホップ通信を行う無線通信装置である。アドホックネットワークＡｉでは、すべてのノードＮｉ−１〜Ｎｉ−ｍｉがゲートウェイＧｉと直接通信できる必要はなく、一部のノードがゲートウェイＧｉと通信可能であればよい。
【００２４】
ネットワークシステム１００は、たとえば、各家庭の電力やガスの使用量を収集するシステムに適用することができる。具体的には、たとえば、各家庭の電力メータやガスメータに各ノードＮｉ−１〜Ｎｉ−ｍｉを組み込むことで、アドホックネットワークＡｉ内のノード間で各家庭の電力やガスの使用量を送受信する。なお、各家庭の電力やガスの使用量は、各ノードＮｉ−１〜Ｎｉ−ｍｉが計測してもよく、また、各ノードＮｉ−１〜Ｎｉ−ｍｉが電力メータやガスメータから取得してもよい。
【００２５】
ゲートウェイＧｉは、アドホックネットワークＡｉ内のノードＮｉ−１〜Ｎｉ−ｍｉから受信した各家庭の電力やガスの使用量を、ネットワークＮＷ１を介して電力会社やガス会社のサーバ（たとえば、管理サーバ１０１）に送信する。これにより、作業員が現地に出向くことなく電力やガスの使用量を収集することができる。
【００２６】
また、ネットワークシステム１００では、アドホックネットワークＡｉごとにゲートウェイＧｉ固有の暗号鍵Ｋｉを用いてパケットを暗号化する。これにより、アドホックネットワークＡｉのセキュア通信（データ秘匿性、改ざん防止など）を確保する。また、アドホックネットワークＡｉごとに暗号鍵Ｋｉを変えることで、鍵漏洩時のリスクを低減させる。また、受信されるパケットも暗号鍵Ｋｉで暗号化されているため、ゲートウェイＧｉやその配下のノードＮｉ−１〜Ｎｉ−ｍｉは、暗号鍵Ｋｉで復号することができる。
【００２７】
なお、図１の例では、アドホックネットワークＡｉ内に１台のゲートウェイＧｉを設ける構成としたが、同一のアドホックネットワークＡｉ内に複数台のゲートウェイＧｉを設ける構成としてもよい。この場合、アドホックネットワークＡｉ内で送受信されるパケットを暗号化するための暗号鍵Ｋｉは、複数台のゲートウェイＧｉで共通である。
【００２８】
（現鍵Ｋｉの更新例）
暗号鍵Ｋｉは、アドホックネットワークＡｉ内のゲートウェイＧｉおよびノードＮｉ−１〜Ｎｉ−ｍｉで共通に使用される鍵情報である。以下では、アドホックネットワークＡｉで暗号鍵Ｋｉを現在利用されている現鍵Ｋｉとし、現鍵Ｋｉを新鍵ＫＫｉに更新する例について説明する。
【００２９】
図２〜図６は、アドホックネットワークＡｉにおける鍵更新例を示す説明図である。図２は、鍵更新前の状態（Ａ）を示している。管理サーバ１０１は、鍵情報ＤＢ１１０においてゲートウェイＧｉごとに現鍵Ｋｉを保存している。図２では、鍵情報ＤＢ１１０において、ゲートウェイＧｉ（のアドレス）と現鍵Ｋｉとが関連付けられていることを示している。また、ゲートウェイＧｉおよびノードＮｉ−１〜Ｇｉ−６も現鍵Ｋｉを保持している。
【００３０】
図３は、図２の状態（Ａ）から遷移した状態（Ｂ）を示している。状態（Ｂ）では、（１）ゲートウェイＧｉは、新鍵ＫＫｉを生成し、ネットワークＮＷ１を介して管理サーバ１０１に新鍵ＫＫｉを送信する。
【００３１】
（２）管理サーバ１０１は、ゲートウェイＧｉから新鍵ＫＫｉを受信すると、新鍵ＫＫｉの送信元であるゲートウェイＧｉのアドレスを手がかりとして、鍵情報ＤＢ１１０のゲートウェイＧｉのレコードを指定する。管理サーバ１０１は、指定したレコードに新鍵ＫＫｉを保存する。これにより、ゲートウェイＧｉ（のアドレス）と新鍵ＫＫｉとが関連付けられる。現鍵Ｋｉは、新鍵ＫＫｉが保存されると消去される。
【００３２】
（３）ゲートウェイＧｉは、現鍵Ｋｉで現鍵Ｋｉの更新通知情報を暗号化する。そして、ゲートウェイＧｉは、暗号化パケットＳＰｉをアドホックネットワークＡｉに対しブロードキャストする。ゲートウェイＧｉから暗号化パケットＳＰｉがブロードキャストされると、各ノードＮｉ−１〜Ｎｉ−６に暗号化パケットＳＰｉが行き渡る。
【００３３】
図４は、図３の状態（Ｂ）から遷移した状態（Ｃ）を示している。状態（Ｃ）では、（４）ノードＮｉ−１〜Ｎｉ−６は暗号化パケットＳＰｉを現鍵Ｋｉで復号し、現鍵Ｋｉの更新通知情報が含まれているかを確認する。更新通知情報が含まれている場合は、自ノードのノードアドレスを現鍵Ｋｉで暗号化した暗号化応答パケットＲＰをゲートウェイＧｉ宛に送信する。
【００３４】
（５）ゲートウェイＧｉは、ノードＮｉ−１〜Ｎｉ−６から暗号化応答パケットＲＰを受信すると、現鍵Ｋｉで復号する。そして、復号で得られたノードＮｉ−１〜Ｎｉ−６のノードアドレスを管理サーバ１０１に送信する。
【００３５】
（６）管理サーバ１０１は、ゲートウェイＧｉからノードＮｉ−１〜Ｎｉ−６のノードアドレスを受信すると、送信元であるゲートウェイＧｉとノードＮｉ−１〜Ｎｉ−６のノードアドレスとを関連付けたテーブルＴｉを作成する。テーブルＴｉは、ゲートウェイＧｉごとに作成される。テーブルＴｉは、新鍵ＫＫｉへの更新時に一時的に作成される情報である。したがって、管理サーバ１０１は、ゲートウェイＧｉの台数分のテーブルＴｉを常時保持しておく必要がない。また、新鍵ＫＫｉへの更新をおこなうゲートウェイＧｉについてのみテーブルＴｉを作成する。したがって、管理サーバ１０１において省メモリ化を図ることができる。
【００３６】
（７）ゲートウェイＧｉは、暗号化パケットＳＰｉのブロードキャスト後、一定期間経過後に現鍵Ｋｉを消去する。一定期間は、たとえば、１時間など任意に設定することができる。このように、現鍵Ｋｉの残存期間を制限することで、一定期間経過後に送信されてきた暗号化パケット（暗号化応答パケットＲＰに限られない）は現鍵Ｋｉで復号できなくなり、ゲートウェイＧｉで破棄される。
【００３７】
図５は、図４の状態（Ｃ）から遷移した状態（Ｄ）を示している。状態（Ｄ）では、ノードＮｉ−３に携帯端末Ｈを接続し、ノードＮｉ−３が携帯端末Ｈを通信インターフェースとして利用して、管理サーバ１０１と通信をおこなう例を示している。図５では、ノードＮｉ−３について説明しているが、他のノードＮｉ−１，Ｎｉ−２，Ｎｉ−４〜Ｎｉ−６も同様に実行する。
【００３８】
（８）作業員は、ノードＮｉ−３の設置場所に行き、ノードＮｉ−３と携帯端末Ｈとを接続する。携帯端末Ｈは、管理サーバ１０１と通信可能なコンピュータである。携帯端末Ｈと管理サーバ１０１との通信の確立は、ノードＮｉ−３の接続前でも接続後でもよい。
【００３９】
（９）ノードＮｉ−３と携帯端末Ｈとが接続されると、ノードＮｉ−３は、更新要求パケットｒｐを管理サーバ１０１に送信する。更新要求パケットｒｐとは、自ノード、すなわち、ここでは、ノードＮｉ−３のノードアドレスを含むパケットである。なお、携帯端末Ｈと管理サーバ１０１間の通信は、公開鍵暗号方式などの既存の暗号化通信を利用してもよい。
【００４０】
（１０）管理サーバ１０１は、更新要求パケットｒｐをノードＮｉ−３から受信すると、更新要求パケットｒｐからノードＮｉ−３のノードアドレスを特定する。管理サーバ１０１は、テーブルＴｉを参照して、更新要求パケットｒｐから特定されたノードＮｉ−３のノードアドレスが、テーブルＴｉにあるか否かを判定する。テーブルＴｉにノードＮｉ−３のノードアドレスがある場合、管理サーバ１０１は、鍵情報ＤＢ１１０を参照して、テーブルＴｉでのゲートウェイＧｉのアドレスに関連付けられている新鍵ＫＫｉを抽出する。
【００４１】
（１１）そして、管理サーバ１０１は、鍵情報ＤＢ１１０から抽出された新鍵ＫＫｉを、携帯端末Ｈを介してノードＮｉ−３に送信する。なお、携帯端末Ｈと管理サーバ１０１間の通信は、公開鍵暗号方式などの既存の暗号化通信を利用してもよい。
【００４２】
（１２）このあと、ノードＮｉ−３は、現鍵Ｋｉから、管理サーバ１０１から携帯端末Ｈを介して受信された新鍵ＫＫｉに更新する。これ以降、ノードＮｉ−３がパケットを送信する場合は、新鍵ＫＫｉで暗号化して送信し、受信されたパケットについては新鍵ＫＫｉで復号することとなる。
【００４３】
図６は、図５の状態（Ｄ）から遷移した状態（Ｅ）を示している。状態（Ｅ）では、図５の状態（Ｄ）で示した処理を、他のノードＮｉ−１，Ｎｉ−２，Ｎｉ−４〜Ｎｉ−６についても実行した結果を示している。状態（Ｅ）では、各ノードＮｉ−１〜Ｎｉ−６に新鍵ＫＫｉが行き渡っている。また、鍵情報ＤＢ１１０から現鍵Ｋｉが消去され新鍵ＫＫｉが残されている。このあと、新鍵ＫＫｉがアドホックネットワークＡｉでの有効な現鍵Ｋｉとなる。また、テーブルＴｉは消去される。したがって、管理サーバ１０１において省メモリ化を図ることができる。
【００４４】
（暗号化パケットＳＰｉのデータ構造例）
つぎに、ゲートウェイＧｉからブロードキャストされる暗号化パケットＳＰｉのデータ構造例について説明する。
【００４５】
図７は、ゲートウェイＧｉからブロードキャストされる暗号化パケットＳＰｉのデータ構造の一例を示す説明図である。図７において、暗号化パケットＳＰｉは、ヘッダ部７１０とペイロード部７２０とを含む構成である。ヘッダ部７１０には、宛先アドレス、差出アドレス、ホップ数およびＧＷアドレスが記述されている。ペイロード部７２０には、暗号化されたデータ本体が記述されている（図７中ハッチ部分）。
【００４６】
ここで、宛先アドレスは、送信先のアドレスである。ここでは、ブロードキャスト用のＭＡＣアドレス『００：００：００：００：００：００』が記述されている。差出アドレスは、送信元のアドレスである。差出アドレスは、マルチポップ通信により書き換わる。ここでは、アドホックネットワークＡｉ内のノードＮｉとは異なる他のノードＮｉのＭＡＣアドレスが記述されている。
【００４７】
ホップ数は、暗号化パケットＳＰｉを残り何回転送するのかを示す残余の転送回数である。ゲートウェイＧｉからブロードキャストされる暗号化パケットＳＰｉのホップ数の最大値は予め設定されている。ホップ数は暗号化パケットＳＰｉの転送時にデクリメントされ、ホップ数が『０』となった暗号化パケットＳＰｉは棄却される。ここでは、暗号化パケットＳＰ１のホップ数『１０』が記述されている。
【００４８】
ＧＷアドレスは、ゲートウェイＧｉのアドレスである。ここでは、ゲートウェイＧｉのＭＡＣアドレス『ＡＡ：ＡＡ：ＡＡ：ＡＡ：ＡＡ：ＡＡ』が記述されている。なお、ここでは宛先アドレス、差出アドレスおよびＧＷアドレスの一例として、ＭＡＣアドレスを用いて説明したが、ＩＰアドレスなどのアドレスを用いることにしてもよい。
【００４９】
ペイロード部７２０は、暗号鍵Ｋｉで復号される。復号されたペイロード部７２０には、鍵更新フラグ７２１とタイムスタンプ７２２を含む更新通知情報が記憶されている。鍵更新フラグとは、現鍵Ｋｉ（暗号鍵Ｋｉ）の更新をおこなうことを示すビット情報である。たとえば、鍵更新フラグのビット位置をあらかじめ指定しておくことで、各ノードＮｉ−１〜Ｎｉ−ｍｉで鍵の更新をおこなうことが検出できる。
【００５０】
また、タイムスタンプは、更新通知情報の生成時刻を記述した情報である。各ノードＮｉ−１〜Ｎｉ−ｍｉは、暗号化パケットＳＰｉを受信する都度、そのタイムスタンプのうち最新のものを保持しておく。あらたに暗号化パケットＳＰｉを受信したときは、各ノードＮｉ−１〜Ｎｉ−ｍｉは、保持されているタイムスタンプと今回受信した暗号化パケットＳＰｉを復号して得られたタイムスタンプとを比較する。そして、今回受信した暗号化パケットＳＰｉを復号して得られたタイムスタンプが新しければ、鍵更新フラグは有効であるとして、各ノードＮｉ−１〜Ｎｉ−ｍｉは、鍵更新処理を実行することとなる。
【００５１】
図８は、ゲートウェイＧｉからブロードキャストされる暗号化パケットＳＰｉのデータ構造の他の例を示す説明図である。図７に示した暗号化パケットＳＰｉでは、暗号化パケットＳＰｉをブロードキャストしたゲートウェイＧｉのＧＷアドレスがヘッダ部７１０に埋め込まれていた。
【００５２】
これに対し、図８に示す暗号化パケットＳＰｉでは、ヘッダ部８１０には、ゲートウェイＧｉのＧＷアドレスが埋め込まれていない。そのかわりに、復号されたペイロード部８２０に、ゲートウェイＧｉのＧＷアドレスが埋め込まれている。図８に示した暗号化パケットＳＰｉの場合は、暗号化パケットＳＰｉを暗号鍵Ｋｉで復号しなければ、ブロードキャストしたゲートウェイＧｉのＧＷアドレスを特定することができない。
【００５３】
図９は、ノードＮｉからゲートウェイＧｉ宛に送信される暗号化応答パケットＲＰのデータ構造の一例を示す説明図である。図９において、暗号化応答パケットＲＰは、ヘッダ部９１０とペイロード部９２０とを含む構成である。ヘッダ部９１０には、宛先アドレスおよび差出アドレスが記述されている。ペイロード部９２０には、暗号化されたデータ本体が記述されている（図９中ハッチ部分）。
【００５４】
ここで、宛先アドレスは、送信先のアドレスである。ここでは、ゲートウェイＧｉのＧＷアドレスであるＭＡＣアドレス『ＡＡ：ＡＡ：ＡＡ：ＡＡ：ＡＡ：ＡＡ』が記述されている。なお、ここでは宛先アドレス、差出アドレスおよびＧＷアドレスの一例として、ＭＡＣアドレスを用いて説明したが、ＩＰアドレスなどのアドレスを用いることにしてもよい。差出アドレスは、送信元のアドレスである。差出アドレスは、マルチポップ通信により書き換わる。ここでは、アドホックネットワークＡｉ内のノードＮｉとは異なる他のノードＮｉのＭＡＣアドレスが記述されている。
【００５５】
ペイロード部９２０は、現鍵Ｋｉで復号される。復号されたペイロード部９２０には、応答ノードのノードアドレスと応答通知フラグを含む応答通知情報が記憶されている。応答通知フラグとは、現鍵Ｋｉ（暗号鍵Ｋｉ）の更新を確認したことを示すビット情報である。たとえば、応答通知フラグのビット位置をあらかじめ指定しておくことで、ゲートウェイＧｉは、ノードＮｉが暗号化パケットＳＰｉに応答したことを検出できる。
【００５６】
（管理サーバ１０１のハードウェア構成）
図１０は、実施の形態にかかる管理サーバ１０１のハードウェア構成例を示すブロック図である。図１０において、管理サーバ１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１００１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１００２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１００３と、磁気ディスクドライブ１００４と、磁気ディスク１００５と、光ディスクドライブ１００６と、光ディスク１００７と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）１００８と、ディスプレイ１００９と、キーボード１０１０と、マウス１０１１と、を備えている。また、ＣＰＵ１００１〜マウス１０１１はバス１０００によってそれぞれ接続されている。
【００５７】
ここで、ＣＰＵ１００１は、管理サーバ１０１の全体の制御を司る。ＲＯＭ１００２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ１００３は、ＣＰＵ１００１のワークエリアとして使用される。磁気ディスクドライブ１００４は、ＣＰＵ１００１の制御に従って磁気ディスク１００５に対するデータのリード／ライトを制御する。磁気ディスク１００５は、磁気ディスクドライブ１００４の制御で書き込まれたデータを記憶する。
【００５８】
光ディスクドライブ１００６は、ＣＰＵ１００１の制御に従って光ディスク１００７に対するデータのリード／ライトを制御する。光ディスク１００７は、光ディスクドライブ１００６の制御で書き込まれたデータを記憶したり、光ディスク１００７に記憶されたデータをコンピュータに読み取らせたりする。
【００５９】
Ｉ／Ｆ１００８は、通信回線を通じてネットワークＮＷ１，ＮＷ２に接続され、このネットワークＮＷ１，ＮＷ２を介して他の装置（たとえば、ゲートウェイＧｉ、携帯端末Ｈ）に接続される。Ｉ／Ｆ１００８は、ネットワークＮＷ１，ＮＷ２と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ１００８には、たとえば、モデムやＬＡＮアダプタなどを採用することができる。
【００６０】
ディスプレイ１００９は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ１００９は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００６１】
キーボード１０１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス１０１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。なお、図２に示した携帯端末Ｈについても、図１０に示した管理サーバ１０１と同様のハードウェア構成により実現できる。
【００６２】
（ゲートウェイＧｉおよびノードＮｉのハードウェア構成）
図１１は、実施の形態にかかるゲートウェイＧｉおよびノードＮｉ−１〜Ｎｉ−ｍｉ（以下、「ノード等」）のハードウェア構成例を示すブロック図である。図１１において、ノード等は、ＣＰＵ１１０１と、ＲＡＭ１１０２と、フラッシュメモリ１１０３と、Ｉ／Ｆ１１０４と、暗号化回路１１０５と、を備えている。ＣＰＵ１１０１〜暗号化回路１１０５は、バス１１００によってそれぞれ接続されている。
【００６３】
ここで、ＣＰＵ１１０１は、ノード等の全体の制御を司る。ＲＡＭ１１０２は、ＣＰＵ１１０１のワークエリアとして使用される。フラッシュメモリ１１０３は、プログラムや暗号鍵などの鍵情報を記憶している。Ｉ／Ｆ１１０４は、マルチホップ通信によりパケットを送受信する。また、ゲートウェイＧｉのＩ／Ｆ１１０４は、通信回線を通じてネットワークＮＷ１に接続され、このネットワークＮＷ１を介して管理サーバ１０１に接続される。
【００６４】
暗号化回路１１０５は、データを暗号化する場合に暗号鍵によりデータを暗号化する回路である。暗号化をソフトウェア的に実行する場合は、暗号化回路１１０５に相当するプログラムをフラッシュメモリ１１０３に記憶させておくことで、暗号化回路１１０５は不要となる。
【００６５】
（鍵情報ＤＢ１１０の記憶内容）
図１２は、鍵情報ＤＢ１１０の記憶内容の一例を示す説明図である。図１２において、鍵情報ＤＢ１１０は、ＩＤ、ＧＷアドレス、暗号鍵のフィールドを有し、各フィールドに情報を設定することで、ゲートウェイＧ１〜Ｇｎごとの鍵情報１２００−１〜１２００−ｎをレコードとして記憶している。
【００６６】
ここで、ＩＤは、本明細書において説明上用いる各ゲートウェイＧｉの識別子である。ＧＷアドレスは、ゲートウェイＧｉのアドレスである。ＧＷアドレスとしては、たとえば、ゲートウェイＧｉのＭＡＣアドレスやＩＰアドレスを用いることができる。現鍵は、各ゲートウェイＧｉ固有の現在有効な暗号鍵であり、具体的には、たとえば、１２８〜２５６ビット程度のバイナリデータである。
【００６７】
新鍵ＫＫｉは、各ゲートウェイＧｉ固有の更新後の暗号鍵であり、具体的には、たとえば、１２８〜２５６ビット程度のバイナリデータである。新鍵ＫＫｉは、更新処理において鍵情報ＤＢ１１０に保存され、更新処理が完了することで、現鍵として鍵情報ＤＢ１１０に保存される。
【００６８】
鍵情報１２００−１を例に挙げると、ゲートウェイＧ１のＧＷアドレスは『ｘｘ：ｘｘ：ｘｘ：ｘｘ：１２：３４』、暗号鍵は『暗号鍵Ｋ１』である。なお、鍵情報ＤＢ１１０は、たとえば、図１０に示した管理サーバ１０１のＲＯＭ１００２、ＲＡＭ１００３、磁気ディスク１００５、光ディスク１００７などの記憶装置により実現される。
【００６９】
鍵情報ＤＢ１１０の記憶内容は、管理サーバ１０１がゲートウェイＧｉ固有の暗号鍵ＫｉをゲートウェイＧｉから受信することで更新してもよい。また、図１０に示したキーボード１０１０やマウス１０１１を用いたユーザの操作入力により、鍵情報ＤＢ１１０の記憶内容を更新することにしてもよい。
【００７０】
図１３は、テーブルＴｉの記憶内容の一例を示す説明図である。図１３において、テーブルＴｉは、ＩＤおよびノードアドレスのフィールドを有し、各フィールドに情報を設定することで、ゲートウェイＧｉを有するアドホックネットワークＡｉ内の各ノードＮｉ１−１〜Ｎｉ−６のノードアドレスをレコードとして記憶している。図１３では、便宜上、ノードＮｉの符号をノードアドレスとして表記している。ノードアドレスは、ＭＡＣアドレスやＩＰアドレスを用いることができる。
【００７１】
（ネットワークシステム１００の機能的構成例）
つぎに、ネットワークシステム１００の機能的構成例について、図１４〜図１６を用いて説明する。
【００７２】
図１４は、ゲートウェイＧｉの機能的構成例を示すブロック図である。ゲートウェイＧｉは、配信部１４０１と、取得部１４０２と、送信部１４０３とを備えている。各機能部（配信部１４０１〜送信部１４０３）は、具体的には、たとえば、図１１に示したＲＡＭ１１０２やフラッシュメモリ１１０３などの記憶装置に記憶されたプログラムをＣＰＵ１１０１に実行させることにより、または、Ｉ／Ｆ１１０４により、その機能を実現する。また、各機能部（配信部１４０１〜送信部１４０３）の処理結果は、たとえば、ＲＡＭ１１０２やフラッシュメモリ１１０３などの記憶装置に記憶される。
【００７３】
配信部１４０１は、ゲートウェイＧｉのＧＷアドレスおよび現鍵Ｋｉの更新通知情報を有し少なくとも更新通知情報を現鍵Ｋｉで暗号化した暗号化パケットＳＰｉを、アドホックネットワークＡｉに同時通報する。暗号化パケットＳＰｉのデータ構造は、図７または図８に示したデータ構造のいずれでもよい。
【００７４】
また、ゲートウェイＧｉは、現鍵Ｋｉの更新指示を受け付けると、更新通知情報を生成する。そして、ゲートウェイＧｉは、生成された更新通知情報をペイロード部７２０，８２０として暗号化パケットＳＰｉを生成する。ゲートウェイＧｉは、配信部１４０１により、生成された暗号化パケットＳＰｉをアドホックネットワークＡｉにブロードキャストする。なお、現鍵Ｋｉの更新指示は、ゲートウェイＧｉに対する操作入力でもよく、定期的に与えられる自動更新指示でもよい。また、管理サーバ１０１から現鍵Ｋｉの更新指示を受け付けることとしてもよい。
【００７５】
取得部１４０２は、ゲートウェイＧｉ固有の新鍵ＫＫｉを取得する。取得部１４０２は、具体的には、たとえば、生成部１４２１と保存部１４２２とを備える。生成部１４２１は、新鍵ＫＫｉを生成する。生成部１４２１は、たとえば、乱数生成機能により新鍵ＫＫｉを生成する。
【００７６】
保存部１４２２は、生成部１４２１で生成された新鍵ＫＫｉを保存する。たとえば、保存部１４２２は、新鍵ＫＫｉを、ゲートウェイＧｉ内のＲＡＭ１１０２やフラッシュメモリ１１０３などの記憶装置に保存する。また、現鍵ＫｉはノードＮｉからの暗号化応答パケットＲＰを復号する必要があるため、一定期間保持され、その後に消去される。
【００７７】
送信部１４０３は、ネットワークＮＷ１を経由して、管理サーバ１０１に新鍵ＫＫｉを送信する。このあと、各ノードＮｉ−１〜Ｎｉ−ｍｉと管理サーバ１０１との間で鍵更新処理が完了することで、アドホックネットワークＡｉ内で、新鍵ＫＫｉで暗号化したパケットで通信することが可能となる。
【００７８】
図１５は、管理サーバ１０１の機能的構成例を示すブロック図である。管理サーバ１０１は、鍵情報ＤＢ１１０と、取得部１５０１と、作成部１５０２と、受信部１５０３と、判定部１５０４と、抽出部１５０５と、送信部１５０６と、を備えている。鍵情報ＤＢ１１０は、具体的には、たとえば、図１０に示したＲＯＭ１００２、ＲＡＭ１００３、磁気ディスク１００５、光ディスク１００７などの記憶装置によりその機能を実現する。
【００７９】
また、各機能部（取得部１５０１〜送信部１５０６）は、具体的には、たとえば、図１０に示したＲＯＭ１００２、ＲＡＭ１００３、磁気ディスク１００５、光ディスク１００７などの記憶装置に記憶されたプログラムをＣＰＵ１００１に実行させることにより、または、Ｉ／Ｆ１００８により、その機能を実現する。また、各機能部（取得部１５０１〜送信部１５０６）の処理結果は、たとえば、ＲＡＭ１００３、磁気ディスク１００５、光ディスク１００７などの記憶装置に記憶される。
【００８０】
取得部１５０１は、新鍵ＫＫｉを取得して、新鍵ＫＫｉを現鍵Ｋｉに関連付けて鍵情報ＤＢ１１０に保存する。具体的には、たとえば、取得部１５０１は、ゲートウェイＧｉから新鍵ＫＫｉを受信する。受信された新鍵ＫＫｉは、新鍵ＫＫｉの送信パケットのヘッダに送信元として記憶されているゲートウェイＧｉのＧＷアドレスを手がかりとして、鍵情報ＤＢ１１０のゲートウェイＧｉのレコードの新鍵のフィールドに保存される。
【００８１】
作成部１５０２は、アドホックネットワークＡｉを構成するノード群の各ノードＮｉのノードアドレスを、ゲートウェイＧｉから受信した場合、ゲートウェイＧｉのＧＷアドレスと各ノードＮｉのノードアドレスとを関連付けた情報を作成する。具体的には、たとえば、作成部１５０２は、上述したテーブルＴｉを作成する。また、作成部１５０２は、新鍵ＫＫｉへの更新が完了したあとに、テーブルＴｉを消去する。このように、テーブルＴｉは、更新中のみ作成され、更新後には消去されるため、管理サーバ１０１での省メモリ化を図ることができる。
【００８２】
受信部１５０３は、ノードＮｉ−１〜Ｎｉ−ｍｉのうち携帯端末Ｈが接続された特定のノードＮｉ−ｘ（図５ではｘ＝３）から、携帯端末Ｈを介して、更新要求パケットｒｐ（図５を参照）を受信する。なお、携帯端末Ｈと管理サーバ１０１との間では、たとえば、ＳＳＬ（Ｓｅｃｕｒｅ  ＳｏｃｋｅＴｉ  Ｌａｙｅｒ）などのセキュアな通信が行われる。
【００８３】
判定部１５０４は、更新要求パケットｒｐに含まれている特定のノードＮｉ−ｘ（たとえば、ノードＮｉ−３）のノードアドレスが、作成部１５０２によって作成されたテーブルＴｉにあるか否かを判定する。たとえば、図５の例では、ノードＮｉ−３のノードアドレスがテーブルＴｉに存在するため、判定部１５０４は、ノードＮｉ−３のノードアドレスがテーブルＴｉにあると判定する。テーブルＴｉにあると判定されたノードアドレスについては、判定部１５０４は、テーブルＴｉから消去してもよい。
【００８４】
抽出部１５０５は、ゲートウェイＧｉのＧＷアドレスに基づいて、鍵情報ＤＢ１１０からゲートウェイＧｉの現鍵Ｋｉを抽出する。具体的には、たとえば、判定部１５０４によって、更新要求パケットｒｐに含まれている特定のノードＮｉ−ｘ（たとえば、ノードＮｉ−３）がありと判定された場合、抽出部１５０５は、テーブルＴｉの作成対象となったゲートウェイＧｉのＩＤを鍵情報ＤＢ１１０から特定する。そして、抽出部１５０５は、特定されたＩＤのレコードから新鍵ＫＫｉを抽出する。
【００８５】
送信部１５０６は、抽出部１５０５によって抽出された新鍵ＫＫｉを、携帯端末Ｈを介して特定のノードＮｉ−ｘに送信する。これにより、アドホックネットワークＡｉを経由せずに、特定のノードＮｉ−ｘに新鍵ＫＫｉを付与することができる。
【００８６】
図１６は、ノードＮｉの機能的構成例を示すブロック図である。ノードＮｉは、パケット受信部１６０１と、判断部１６０２と、検知部１６０３と、パケット送信部１６０４と、鍵受信部１６０５と、更新部１６０６と、を含む構成である。
【００８７】
各機能部（パケット受信部１６０１〜更新部１６０６）は、具体的には、たとえば、図１１に示したＲＡＭ１１０２、フラッシュメモリ１１０３などの記憶装置に記憶されたプログラムをＣＰＵ１１０１に実行させることにより、または、Ｉ／Ｆ１１０４により、その機能を実現する。また、各機能部（パケット受信部１６０１〜更新部１６０６）の処理結果は、特に指定する場合を除いて、ＲＡＭ１１０２、フラッシュメモリ１１０３などの記憶装置に記憶される。
【００８８】
パケット受信部１６０１は、アドホックネットワークＡｉ内のゲートウェイＧｉからブロードキャストされた暗号化パケットＳＰｉを受信する。暗号化パケットＳＰｉは、ゲートウェイＧｉ固有の暗号鍵Ｋｉ（現鍵Ｋｉ）を用いて暗号化されたパケットである。暗号化パケットＳＰｉは、たとえば、アドホックネットワークＡｉに対し更新処理を知らせる更新通知情報を含んだパケットである。
【００８９】
具体的には、たとえば、パケット受信部１６０１が、アドホックネットワークＡｉ内の他のノードＮｉからマルチホップ通信により暗号化パケットＳＰｉを受信する。ただし、ノードＮｉの通信圏内にゲートウェイＧｉが存在していれば、パケット受信部１６０１は、ゲートウェイＧｉから暗号化パケットＳＰｉを直接受信する場合もある。
【００９０】
判断部１６０２は、アドホックネットワークＡｉを構成するノード群内の各ノードＮｉ−１〜Ｎｉ−ｍｉが、暗号化パケットＳＰｉを現鍵Ｋｉで復号することにより、更新通知情報があるか否かを判断する。具体的には、たとえば、ノードＮｉが、暗号化パケットＳＰｉから復号されたパケットにおいて、あらかじめ指定されたビット位置に鍵更新フラグが立っているか否かを判定する。また、判断部１６０２は、前回保存しておいた更新通知情報のタイムスタンプと比較して、今回受信した暗号化パケットＳＰｉが最新であるか否かも判断することとしてもよい。
【００９１】
判断部１６０２は、暗号化パケットＳＰｉが図７に示したデータ構造である場合、現鍵Ｋｉで暗号化されていないＧＷアドレスがあるか否かも判断することとしてもよい。また、判断部１６０２は、暗号化パケットＳＰｉが図８に示したデータ構造である場合、暗号化パケットＳＰｉを現鍵Ｋｉで復号された更新通知情報に、ＧＷアドレスがあるか否かも判断することとしてもよい。この場合、復号できないとＧＷアドレスを特定できないため、現鍵Ｋｉが漏洩していない場合は更新処理をセキュアにおこなうことができる。
【００９２】
検知部１６０３は、管理サーバ１０１と通信可能な携帯端末Ｈとの接続を検知する。具体的には、たとえば、作業員がＵＳＢケーブルを用いて携帯端末Ｈと新規ノードＮとを接続した結果、検知部１６０３が、ＵＳＢケーブルを介した携帯端末Ｈとの接続を検知する。
【００９３】
パケット送信部１６０４は、判断部１６０２によって更新通知情報があると判断された場合、自ノードのノードアドレスを現鍵Ｋｉで暗号化した暗号化応答パケットＲＰを、ゲートウェイＧｉ宛に送信する。この場合、パケット送信部１６０４は、さらに、判断部１６０２によってＧＷアドレスがあると判断された場合に、そのＧＷアドレス宛に更新要求パケットＲＰを送信することとしてもよい。
【００９４】
また、パケット送信部１６０４は、携帯端末Ｈとの接続が検知された場合、携帯端末Ｈを介して、自ノードのノードアドレスを含む更新要求パケットｒｐを管理サーバ１０１に送信する。具体的には、たとえば、パケット送信部１６０４が、ＵＳＢケーブルなどのネットワークＮＷ３を介して、更新要求パケットｒｐを携帯端末Ｈに送信する。この結果、携帯端末Ｈが、ネットワークＮＷ２を介して、ノードＮｉからの更新要求パケットｒｐを管理サーバ１０１に送信する。
【００９５】
鍵受信部１６０５は、携帯端末Ｈを介して、ゲートウェイＧｉ固有の暗号鍵ＫＫｉを管理サーバ１０１から受信する。この暗号鍵ＫＫｉは、たとえば、ノードＮｉ−ｘでパケットを暗号化するとともに、暗号鍵ＫＫｉを用いて暗号化された暗号化パケットＳＰｉを復号することができる共通鍵である。
【００９６】
更新部１６０６は、現鍵Ｋｉから新鍵ＫＫｉに更新する。これにより、以降においてノードＮｉが送信対象となるパケットの暗号化、および暗号化パケットＳＰｉの復号は、新鍵ＫＫｉで実行されることとなる。したがって、アドホックネットワークＡｉ内のノード間でセキュア通信を行うことができる。
【００９７】
なお、更新部１６０６では、新鍵ＫＫｉを現鍵Ｋｉに上書きすることで更新してもよく、また、ノードＮｉが暗号化パケットＳＰｉを管理サーバ１０１に送信するまでの間に、現鍵Ｋｉを消去してもよい。
【００９８】
（管理サーバ１０１と携帯端末Ｈとの間の通信方式）
ここで、管理サーバ１０１と携帯端末Ｈとの間の通信方式の一実施例について説明する。まず、携帯端末Ｈからみた管理サーバ１０１のサーバ認証について説明する。具体的には、たとえば、まず、携帯端末Ｈが、予め決められたＩＰアドレスを用いて管理サーバ１０１に接続する。
【００９９】
そして、携帯端末Ｈが、管理サーバ１０１からＳＳＬサーバ証明書を受信する。受信されたＳＳＬサーバ証明書は、たとえば、管理サーバ１０１のＩＰアドレスと関連付けて携帯端末ＨのＲＡＭ１１０２やフラッシュメモリ１１０３などの記憶装置に記憶される。
【０１００】
図１７は、管理サーバ１０１の認証情報の一例を示す説明図である。図１７において、管理サーバ１０１の認証情報１７００は、ＩＰアドレスおよびＳＳＬサーバ証明書を有する。ＩＰアドレスは、管理サーバ１０１のＩＰアドレスである。Ｘ．５０９証明書は、管理サーバ１０１のＳＳＬサーバ証明書（公開鍵証明書）である。
【０１０１】
携帯端末Ｈは、予め自端末に組み込まれている公開鍵を用いて、ＳＳＬサーバ証明書を復号することでサーバ認証を行う。公開鍵は、たとえば、第三者認証機関によって発行されたものである。この公開鍵を用いてＳＳＬサーバ証明書を正しく復号できれば、ＳＳＬサーバ証明書が第三者認証機関によって証明された正しい証明書であることがわかり、ひいては管理サーバ１０１の身元が保証されたことになる。
【０１０２】
つぎに、管理サーバ１０１からみた携帯端末Ｈのユーザ認証について説明する。ここでは、図１８に示すような携帯端末Ｈの認証情報１８００を用いて、携帯端末Ｈのユーザ認証を行う場合を例に挙げて説明する。認証情報１８００は、たとえば、管理サーバ１０１のＲＯＭ１００２、ＲＡＭ１００３、磁気ディスク１００５、光ディスク１００７などの記憶装置に記憶されている。
【０１０３】
図１８は、携帯端末Ｈの認証情報の一例を示す説明図である。図１８において、携帯端末Ｈの認証情報１８００は、ユーザＩＤおよびパスワードを有する。ユーザＩＤは、携帯端末Ｈの識別子である。パスワードは、携帯端末Ｈを使用するユーザを認証するためのものである。
【０１０４】
具体的には、たとえば、まず、携帯端末Ｈが、ユーザＩＤおよびパスワードのペアを管理サーバ１０１に送信する。このユーザＩＤおよびパスワードは、携帯端末Ｈのフラッシュメモリ１１０３に予め登録されていてもよく、また、携帯端末Ｈの入力装置（不図示）を用いたユーザの操作入力により受け付けてもよい。
【０１０５】
このあと、管理サーバ１０１は、携帯端末ＨからのユーザＩＤおよびパスワードのペアを、認証情報１８００のユーザＩＤおよびパスワードのペアと一致判定する。ここで、認証情報１８００のユーザＩＤおよびパスワードと一致すれば、携帯端末Ｈのユーザの身元が保証されたことになる。
【０１０６】
なお、認証後において、携帯端末Ｈは、たとえば、管理サーバ１０１のＳＳＬサーバ証明書に含まれる公開鍵を用いてパケットを暗号化して管理サーバ１０１との通信を行う。これにより、管理サーバ１０１と携帯端末Ｈとの間でセキュアな通信を行うことができる。
【０１０７】
（鍵更新シーケンス）
図１９は、実施の形態にかかる鍵更新シーケンス例を示すシーケンス図である。まず、ゲートウェイＧｉは、ゲートウェイＧｉ固有の新鍵ＫＫｉを生成する（ステップＳ１９０１）。そして、ゲートウェイＧｉは、生成された新鍵ＫＫｉとゲートウェイＧｉのＧＷアドレスとを管理サーバ１０１に送信する（ステップＳ１９０２）。管理サーバ１０１は、ゲートウェイＧｉを指定するＩＤ：ｉのレコードを確保し、受信された新鍵ＫＫｉをゲートウェイＧｉのＧＷアドレスに関連付けて鍵情報ＤＢ１１０のＩＤ：ｉのレコードに保存する（ステップＳ１９０３）。
【０１０８】
また、ゲートウェイＧｉは、更新通知情報を生成し（ステップＳ１９０４）、更新通知情報を現鍵Ｋｉで暗号化して暗号化パケットＳＰｉを生成する（ステップＳ１９０５）。そして、ゲートウェイＧｉは、暗号化パケットＳＰｉをアドホックネットワークＡｉ内にブロードキャストする（ステップＳ１９０６）。これにより、アドホックネットワークＡｉでマルチホップ通信されることで、暗号化パケットＳＰｉがノードＮｉ−１〜Ｎｉ−ｍｉに行き渡る。
【０１０９】
このあと、ノードＮｉ−１〜Ｎｉ−ｍｉは、鍵更新前処理を実行する（ステップＳ１９０７）。鍵更新前処理（ステップＳ１９０７）の詳細については、図２０で後述する。また、ノードＮｉ−１〜Ｎｉ−ｍｉは、暗号化応答パケットＲＰをゲートウェイＧｉに送信する（ステップＳ１９０８）。そして、ゲートウェイＧｉは、送信された暗号化パケットＲＰの各々を、現鍵Ｋｉで復号する（ステップＳ１９０９）。暗号化パケットＲＰが復号されると、それぞれの送信元のノードアドレスが検出される。ゲートウェイＧｉは、ゲートウェイＧｉのＧＷアドレスと復号で得られたノードアドレス群とを、ネットワークＮＷ１を介して管理サーバ１０１に送信する（ステップＳ１９１０）。
【０１１０】
このあと、ゲートウェイＧｉは、暗号化パケットＳＰｉのブロードキャスト後一定期間経過すると、現鍵Ｋｉを消去する（ステップＳ１９１１）。これにより、ゲートウェイＧｉは今後、新鍵ＫＫｉで暗号化されたパケットをアドホックネットワークＡｉに配信し、アドホックネットワークＡｉから受信されるパケットを新鍵ＫＫｉで復号することとなる。なお、新鍵ＫＫｉで復号できないパケットは破棄されることとなる。
【０１１１】
また、管理サーバ１０１は、ゲートウェイＧｉから送信されてきたゲートウェイＧｉのＧＷアドレスおよびノードアドレス群を受信し、テーブルＴｉを作成する（ステップＳ１９１２）。このとき、ゲートウェイＧｉのＧＷアドレスを手がかりとして、鍵情報ＤＢ１１０からゲートウェイＧｉのＩＤを特定する。作成部は、特定されたＩＤと受信されたノードアドレス群とを関連付けてテーブルＴｉを作成することとなる。
【０１１２】
一方、ノードＮｉ−１〜Ｎｉ−ｍｉでは、暗号化応答パケットＲＰの送信後、携帯端末Ｈとの接続を判断する（ステップＳ１９１３）。図１９では、ノードＮｉ−３が携帯端末Ｈとの接続が検知されているものとする。
【０１１３】
ノードＮｉ−３は、携帯端末Ｈを介して、ノードＮｉ−３のノードアドレスを含む更新要求パケットｒｐを、管理サーバ１０１に送信する（ステップＳ１９１４）。管理サーバ１０１は、ノードＮｉ−３から更新要求パケットｒｐを受信すると、新鍵特定処理を実行する（ステップＳ１９１５）。新鍵特定処理（ステップＳ１９１５）の詳細については図２１で後述する。管理サーバ１０１は、新鍵特定処理（ステップＳ１９１５）で特定された新鍵ＫＫｉを、携帯端末Ｈを介して、ノードＮｉ−３に送信する（ステップＳ１９１６）。
【０１１４】
ノードＮｉ−３は、携帯端末Ｈを介して管理サーバ１０１から新鍵ＫＫｉを受信すると、アドホックネットワークＡｉで使用する鍵を、現鍵Ｋｉから新鍵ＫＫｉに更新する（ステップＳ１９１７）。これにより、作業員は、アドホックネットワークＡｉ内のどのノードＮｉがゲートウェイＧｉから何ホップ先であるか調査することなく、任意に選んだノードＮｉから順次鍵更新作業をおこなうことができる。したがって、鍵更新作業の効率化を図ることができる。
【０１１５】
図２０は、図１９に示した鍵更新前処理（ステップＳ１９０７）の詳細な処理手順の一例を示すフローチャートである。まず、ノードＮｉは、ゲートウェイＧｉからブロードキャストされた暗号化パケットＳＰｉを現鍵Ｋｉで復号する（ステップＳ２００１）。つぎに、ノードＮｉは、暗号化パケットＳＰｉから復号されたパケットが更新通知情報であるか否かを判断する（ステップＳ２００２）。更新通知情報でない場合（ステップＳ２００２：Ｎｏ）、鍵更新前処理（ステップＳ１９０７）を終了する。この場合は、鍵更新はおこなわれない。
【０１１６】
一方、ステップＳ２００２において、更新通知情報であると判断された場合（ステップＳ２００２：Ｙｅｓ）、ノードＮｉは、現鍵Ｋｉを用いて暗号化応答パケットＲＰを生成する（ステップＳ２００３）。たとえば、ノードＮｉは、暗号化応答パケットＲＰをノードＮｉ内の送信バッファに書き込む。これにより、鍵更新前処理（ステップＳ１９０７）を終了し、暗号化応答パケットＲＰをゲートウェイＧｉに送信することとなる。
【０１１７】
図２１は、図１９に示した新鍵特定処理（ステップＳ１９１５）の詳細な処理手順の一例を示すフローチャートである。まず、管理サーバ１０１は、更新要求パケットｒｐに含まれているノードアドレスを検出する（ステップＳ２１０１）。つぎに、管理サーバ１０１は、検出されたノードアドレスがテーブルＴｉに登録されているか否かを判定する（ステップＳ２１０２）。テーブルＴｉに登録されていない場合（ステップＳ２１０２：Ｎｏ）、管理サーバ１０１は、エラー処理を実行して（ステップＳ２１０４）、新鍵特定処理（ステップＳ１９１５）を終了する。
【０１１８】
この場合、エラー処理（ステップＳ２１０４）の具体例として、たとえば、抽出部が、携帯端末Ｈを介して、新鍵ＫＫｉを抽出できなかった旨のエラーメッセージを特定のノードＮｉ−ｘに送信することにしてもよい。エラー処理（ステップＳ２１０４）は、たとえば、暗号化パケットＳＰｉが改ざんされた場合や暗号化パケットＳＰｉの一部が欠落した場合などに実行される。このエラー処理によれば、特定のノードＮｉ−ｘによる暗号化パケットＳＰｉの再送信を促すことができる。
【０１１９】
一方、ステップＳ２１０２において、テーブルＴｉに登録されている場合（ステップＳ２１０２：Ｙｅｓ）、テーブルＴｉのゲートウェイＧｉのＩＤを手がかりとして、管理サーバ１０１は、鍵情報ＤＢ１１０からゲートウェイＧｉ固有の新鍵ＫＫｉを抽出する（ステップＳ２１０３）。
【０１２０】
このあと、管理サーバ１０１は、新鍵特定処理（ステップＳ１９１５）で特定された新鍵ＫＫｉを、携帯端末Ｈを介して、ノードＮｉ−３に送信することとなる（ステップＳ１９１６）。これにより、携帯端末Ｈと接続された特定のノードＮｉ−ｘに対して、携帯端末Ｈを介して、新鍵ＫＫｉをセキュアで、かつ、効率的に付与することができる。
【０１２１】
（他の構成例）
なお、上述した実施の形態では、ゲートウェイＧｉが新鍵ＫＫｉを生成する構成について説明したが、新鍵ＫＫｉの生成は、管理サーバ１０１がおこなうこととしてもよい。新鍵ＫＫｉの生成を管理サーバ１０１が実行することで、各ゲートウェイＧｉの処理負荷を低減することができる。また、新鍵ＫＫｉの生成を管理サーバ１０１という１台のコンピュータに集約することができるため、ゲートウェイＧ１〜Ｇｎの低コスト化を図ることができる。以下、管理サーバ１０１が新鍵ＫＫｉを生成する例について説明する。
【０１２２】
（ゲートウェイＧｉの機能的構成の他の例）
図２２は、ゲートウェイＧｉの機能的構成の他の例を示すブロック図である。なお、図１４に示した構成と同一構成には同一符号を付し、その説明を省略する。ゲートウェイＧｉは、配信部１４０１と、取得部２２０２とを備えている。
【０１２３】
各機能部（配信部１４０１および取得部２２０２）は、具体的には、たとえば、図１１に示したＲＡＭ１１０２やフラッシュメモリ１１０３などの記憶装置に記憶されたプログラムをＣＰＵ１１０１に実行させることにより、または、Ｉ／Ｆ１１０４により、その機能を実現する。また、各機能部（配信部１４０１および取得部２２０２）の処理結果は、たとえば、ＲＡＭ１１０２やフラッシュメモリ１１０３などの記憶装置に記憶される。
【０１２４】
取得部２２０２は、ゲートウェイＧｉ固有の新鍵ＫＫｉを取得する。取得部２２０２は、具体的には、たとえば、受信部２２２１と保存部２２２２とを備える。受信部２２２１は、管理サーバ１０１から新鍵ＫＫｉを受信する。
【０１２５】
保存部２２２２は、受信部２２２１で受信された新鍵ＫＫｉを保存する。たとえば、保存部２２２２は、新鍵ＫＫｉを、ゲートウェイＧｉ内のＲＡＭ１１０２やフラッシュメモリ１１０３などの記憶装置に保存する。現鍵ＫｉはノードＮｉからの暗号化応答パケットＲＰを復号する必要があるため、一定期間保持され、その後に消去される。
【０１２６】
このあと、各ノードＮｉ−１〜Ｎｉ−ｍｉと管理サーバ１０１との間で鍵更新処理が完了することで、アドホックネットワークＡｉ内で、新鍵ＫＫｉで暗号化したパケットで通信することが可能となる。
【０１２７】
図２３は、管理サーバ１０１の機能的構成の他の例を示すブロック図である。なお、図１５に示した構成と同一構成には同一符号を付し、その説明を省略する。管理サーバ１０１は、鍵情報ＤＢ１１０と、取得部２３００と、第１の送信部２３０１と、作成部１５０２と、受信部１５０３と、判定部１５０４と、抽出部１５０５と、第２の送信部２３０２と、を備えている。
【０１２８】
各機能部（取得部２３００〜第２の送信部２３０２）は、具体的には、たとえば、図１０に示したＲＯＭ１００２、ＲＡＭ１００３、磁気ディスク１００５、光ディスク１００７などの記憶装置に記憶されたプログラムをＣＰＵ１００１に実行させることにより、または、Ｉ／Ｆ１００８により、その機能を実現する。また、各機能部（取得部２３００〜第２の送信部２３０２）の処理結果は、たとえば、ＲＡＭ１００３、磁気ディスク１００５、光ディスク１００７などの記憶装置に記憶される。
【０１２９】
取得部２３００は、新鍵ＫＫｉを取得して、新鍵ＫＫｉをゲートウェイＧｉのＧＷアドレスに関連付けて鍵情報ＤＢ１１０に保存する。取得部２３００は、具体的には、たとえば、生成部２３１１と保存部２３１２とを備える。
【０１３０】
生成部２３１１は、更新対象となるゲートウェイＧｉについて新鍵ＫＫｉを生成する。生成部２３１１は、たとえば、乱数生成機能により新鍵ＫＫｉを生成する。保存部２３１２は、生成部２３１１で生成された新鍵ＫＫｉを保存する。たとえば、保存部２３１２は、新鍵ＫＫｉを、ゲートウェイＧｉのＧＷアドレスに関連付けて、鍵情報ＤＢ１１０に保存する。
【０１３１】
第１の送信部２３０１は、管理サーバ１０１の生成部２３１１で生成されたゲートウェイＧｉ固有の新鍵ＫＫｉを、ゲートウェイＧｉに送信する。送信された新鍵ＫＫｉは、ゲートウェイＧｉで保存される。
【０１３２】
第２の送信部２３０２は、抽出部１５０５によって抽出された新鍵ＫＫｉを、携帯端末Ｈを介して特定のノードＮｉ−ｘに送信する。これにより、アドホックネットワークＡｉを経由せずに、特定のノードＮｉ−ｘに新鍵ＫＫｉを付与することができる。
【０１３３】
このあと、各ノードＮｉ−１〜Ｎｉ−ｍｉと管理サーバ１０１との間で鍵更新処理が完了することで、アドホックネットワークＡｉ内で、新鍵ＫＫｉで暗号化したパケットで通信することが可能となる。
【０１３４】
（鍵更新シーケンス）
図２４は、実施の形態にかかる鍵更新シーケンスの他の例を示すシーケンス図である。なお、図１９に示した処理と同一処理には同一符号を付し、その説明を省略する。管理サーバ１０１は、ゲートウェイＧｉ固有の新鍵ＫＫｉを生成する（ステップＳ２４０１）。そして、管理サーバ１０１は、生成された新鍵ＫＫｉを、ネットワークＮＷ１を介してゲートウェイＧｉに送信する（ステップＳ２４０２）。
【０１３５】
ゲートウェイＧｉでは、ステップＳ２４０２で管理サーバ１０１から新鍵ＫＫｉを受信すると、更新通知情報を生成することとする（ステップＳ１９０４）。また、管理サーバ１０１は、新鍵ＫＫｉを生成すると、鍵情報ＤＢ１１０に新鍵ＫＫｉをゲートウェイＧｉのＧＷアドレスに関連付けて保存する（ステップＳ２４０３）。
【０１３６】
以降は、図１９の場合と同様、ステップＳ１９０１、Ｓ１９０４〜Ｓ１９１７を実行することで、作業員は、アドホックネットワークＡｉ内のどのノードＮｉがゲートウェイＧｉから何ホップ先であるか調査することなく、任意に選んだノードＮｉから順次鍵更新作業をおこなうことができる。したがって、鍵更新作業の効率化を図ることができる。
【０１３７】
以上説明したように、本実施の形態によれば、ノードＮｉはノードアドレスと引き換えに、アドホックネットワークＡｉ以外のネットワークＮＷ２，ＮＷ３から新鍵ＫＫｉを取得できるため、作業員は、アドホックネットワークＡｉ内のどのノードＮｉがゲートウェイＧｉから何ホップ先であるかをしらみつぶしに探す必要はない。したがって、作業員による鍵更新作業の負担軽減を図ることができる。また、現鍵Ｋｉが漏洩しても鍵更新作業が効率的に実施されるため、新鍵ＫＫｉへ更新することにより、アドホックネットワークＡｉ内の暗号化通信の早期復旧を図ることができる。
【０１３８】
なお、本実施の形態で説明した鍵更新方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本鍵設定プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。
【０１３９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１４０】
（付記１）アドホックネットワーク内のゲートウェイから前記アドホックネットワーク内のノード群の各ノードに付与された前記ゲートウェイ固有の現鍵を更新する鍵更新方法であって、
前記現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記ゲートウェイから受信する第１の受信工程と、
前記第１の受信工程によって受信された前記暗号化パケットを前記現鍵で復号する復号工程と、
前記復号工程によって復号された情報に前記更新通知情報があるか否かを判断する判断工程と、
前記判断工程によって前記更新通知情報があると判断された場合、自ノードのアドレスを前記現鍵で暗号化した暗号化応答パケットを前記ゲートウェイに送信する第１の送信工程と、
前記ゲートウェイによって前記暗号化応答パケットから抽出された前記自ノードのアドレスおよび前記ゲートウェイ固有の新鍵を関連付けて保存するサーバと通信可能な携帯端末との接続を検知する検知工程と、
前記検知工程によって接続が検知された場合、前記自ノードのアドレスを含む更新要求パケットを、前記携帯端末を介して前記サーバに送信する第２の送信工程と、
前記第２の送信工程によって送信された前記更新要求パケット内の前記自ノードのアドレスに関連付けられている前記新鍵を、前記携帯端末を介して前記サーバから受信する第２の受信工程と、
前記現鍵から、前記第２の受信工程によって受信された前記新鍵に更新する更新工程と、
を前記ノードが実行することを特徴とする鍵更新方法。
【０１４１】
（付記２）前記判断工程は、
前記暗号化パケットに前記ゲートウェイのアドレスがあるか否かを判断し、
前記第１の送信工程は、
前記ゲートウェイのアドレスがあった場合、前記暗号化応答パケットを前記ゲートウェイに送信することを特徴とする付記１に記載の鍵更新方法。
【０１４２】
（付記３）前記判断工程は、
前記暗号化パケットから復号された情報に前記ゲートウェイのアドレスがあるか否かを判断し、
前記第１の送信工程は、
前記ゲートウェイのアドレスがあった場合、前記暗号化応答パケットを前記ゲートウェイに送信することを特徴とする付記１に記載の鍵更新方法。
【０１４３】
（付記４）アドホックネットワークを構成するノード群内のノードであって、
前記アドホックネットワーク内のゲートウェイ固有の現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記ゲートウェイから受信する第１の受信手段と、
前記第１の受信手段によって受信された前記暗号化パケットを前記現鍵で復号することにより、前記更新通知情報があるか否かを判断する判断手段と、
前記判断手段によって前記更新通知情報があると判断された場合、自ノードのアドレスを前記現鍵で暗号化した暗号化応答パケットを前記ゲートウェイに送信する第１の送信手段と、
前記ゲートウェイによって前記暗号化応答パケットから抽出された前記自ノードのアドレスおよび前記ゲートウェイ固有の新鍵を関連付けて保存するサーバと通信可能な携帯端末との接続を検知する検知手段と、
前記検知手段によって接続が検知された場合、前記自ノードのアドレスを含む更新要求パケットを、前記携帯端末を介して前記サーバに送信する第２の送信手段と、
前記第２の送信手段によって送信された前記更新要求パケット内の前記自ノードのアドレスに関連付けられている前記新鍵を、前記携帯端末を介して前記サーバから受信する第２の受信手段と、
前記現鍵から、前記第２の受信手段によって受信された前記新鍵に更新する更新手段と、
を備えることを特徴とするノード。
【０１４４】
（付記５）前記判断手段は、
前記暗号化パケットに前記ゲートウェイのアドレスがあるか否かを判断し、
前記第１の送信手段は、
前記ゲートウェイのアドレスがあった場合、前記暗号化応答パケットを前記ゲートウェイに送信することを特徴とする付記４に記載のノード。
【０１４５】
（付記６）前記判断手段は、
前記復号手段によって前記暗号化パケットから復号された情報に前記ゲートウェイのアドレスがあるか否かを判断し、
前記第１の送信手段は、
前記ゲートウェイのアドレスがあった場合、前記暗号化応答パケットを前記ゲートウェイに送信することを特徴とする付記４に記載のノード。
【０１４６】
（付記７）アドホックネットワーク内のゲートウェイであって、
前記ゲートウェイ固有の現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記アドホックネットワークに同時通報する配信手段と、
前記ゲートウェイ固有の新鍵を生成する生成手段と、
前記生成手段によって生成された前記新鍵および前記ゲートウェイのアドレスを、前記アドホックネットワーク内の各ノードに当該各ノードに接続された携帯端末を介して通信可能なサーバに送信する送信手段と、
を備えることを特徴とするゲートウェイ。
【０１４７】
（付記８）アドホックネットワーク内のゲートウェイであって、
前記ゲートウェイ固有の現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記アドホックネットワークに同時通報する配信手段と、
前記ゲートウェイ固有の新鍵を、前記アドホックネットワーク内の各ノードに当該各ノードに接続された携帯端末を介して前記新鍵を送信可能なサーバから受信する受信手段と、
を備えることを特徴とするゲートウェイ。
【０１４８】
（付記９）アドホックネットワーク内のゲートウェイと通信可能なサーバであって、
前記ゲートウェイのアドレスおよび前記ゲートウェイ固有の現鍵を関連付けて保存するデータベースと、
前記ゲートウェイのアドレスおよび前記ゲートウェイ固有の新鍵を前記ゲートウェイから受信して、前記ゲートウェイのアドレスに関連付けて前記データベースに前記新鍵を保存する取得手段と、
前記アドホックネットワークを構成するノード群の各ノードのアドレスを、前記ゲートウェイから受信した場合、前記ゲートウェイのアドレスと前記各ノードのアドレスとを関連付けた情報を作成する作成手段と、
前記ノード群内の前記サーバと通信可能な携帯端末と接続された特定のノードから、前記特定のノードのアドレスを含む更新要求パケットを、前記携帯端末を介して受信する受信手段と、
前記受信手段によって受信された前記更新要求パケットに含まれている特定のノードのアドレスが、前記作成手段によって作成された情報にあるか否かを判定する判定手段と、
前記判定手段によってあると判定された場合、前記ゲートウェイのアドレスに関連付けられている前記新鍵を、前記データベースから抽出する抽出手段と、
前記抽出手段によって抽出された前記新鍵を、前記携帯端末を介して前記特定のノードに送信する送信手段と、
を備えることを特徴とするサーバ。
【０１４９】
（付記１０）アドホックネットワーク内のゲートウェイと通信可能なサーバであって、
前記ゲートウェイのアドレスおよび前記ゲートウェイ固有の現鍵を関連付けて保存するデータベースと、
前記ゲートウェイ固有の新鍵を生成し、生成された前記新鍵を、前記データベース内の前記ゲートウェイのアドレスに関連付けて保存する取得手段と、
前記新鍵を前記ゲートウェイに送信する第１の送信手段と、
前記アドホックネットワークを構成するノード群の各ノードのアドレスを、前記ゲートウェイから受信した場合、前記ゲートウェイのアドレスと前記各ノードのアドレスとを関連付けた情報を作成する作成手段と、
前記ノード群内の前記サーバと通信可能な携帯端末と接続された特定のノードから、前記特定のノードのアドレスを含む更新要求パケットを、前記携帯端末を介して受信する受信手段と、
前記受信手段によって受信された前記更新要求パケットに含まれている前記特定のノードのアドレスが、前記作成手段によって作成された情報にあるか否かを判定する判定手段と、
前記判定手段によってあると判定された場合、前記ゲートウェイのアドレスに関連付けられている前記新鍵を、前記データベースから抽出する抽出手段と、
前記抽出手段によって抽出された前記新鍵を、前記携帯端末を介して前記特定のノードに送信する第２の送信手段と、
を備えることを特徴とするサーバ。
【０１５０】
（付記１１）前記作成手段は、
前記ノード群のすべてのノードに前記新鍵が前記携帯端末を介して送信された場合、前記情報を消去することを特徴とする付記９または１０に記載のサーバ。
【０１５１】
（付記１２）アドホックネットワーク内のゲートウェイと、前記アドホックネットワーク内のノード群と、前記ゲートウェイと通信可能なサーバと、を備え、前記ノード群の各ノードに付与された前記ゲートウェイ固有の現鍵を更新するネットワークシステムであって、
前記ゲートウェイが、前記現鍵の更新通知情報を前記現鍵で暗号化した暗号化パケットを、前記アドホックネットワークに同時通報する配信手段と、
前記ゲートウェイが、前記ゲートウェイ固有の新鍵を取得して保存する第１の取得手段と、
前記サーバが、前記新鍵を取得して、前記ゲートウェイのアドレスおよび前記現鍵を関連付けて保存するデータベースにおいて、前記ゲートウェイのアドレスに関連付けて前記新鍵を保存する第２の取得手段と、
前記サーバが、前記アドホックネットワークを構成するノード群の各ノードのアドレスを、前記ゲートウェイから受信した場合、前記ゲートウェイのアドレスと前記各ノードのアドレスとを関連付けた情報を作成する作成手段と、
前記ノード群内の各ノードが、前記暗号化パケットを前記現鍵で復号することにより、前記更新通知情報であるか否かを判断する判断手段と、
前記ノード群内の前記サーバと通信可能な携帯端末と接続された特定のノードが、前記判断手段によって前記更新通知情報であると判断された場合、前記特定のノードのアドレスを含む更新要求パケットを、前記携帯端末を介して前記サーバに送信する第１の送信手段と、
前記サーバが、前記データベースにおいて前記第１の送信手段によって送信された更新要求パケットに含まれている前記特定のノードのアドレスが、前記作成手段によって作成された情報にあるか否かを判定する判定手段と、
前記サーバが、前記判定手段によってあると判定された場合、前記ゲートウェイのアドレスに関連付けられている前記新鍵を、前記データベースから抽出する抽出手段と、
前記サーバが、前記抽出手段によって抽出された前記新鍵を、前記携帯端末を介して前記特定のノードに送信する第２の送信手段と、
前記特定のノードが、前記現鍵から前記第２の送信手段によって送信された前記新鍵に更新する更新手段と、
を備えることを特徴とするネットワークシステム。
【０１５２】
（付記１３）前記第１の取得手段は、
前記ゲートウェイが、前記新鍵を生成して保存し、
前記第２の取得手段は、
前記サーバが、前記ゲートウェイによって生成された前記新鍵および前記ゲートウェイのアドレスを受信し、前記ゲートウェイのアドレスに関連付けて前記新鍵を前記データベースに保存することを特徴とする付記１２に記載のネットワークシステム。
【０１５３】
（付記１４）前記第２の取得手段は、
前記サーバが、前記新鍵を生成して、前記ゲートウェイのアドレスに関連付けて前記新鍵を前記データベースに保存し、
前記第１の取得手段は、
前記ゲートウェイが、前記サーバによって生成された前記新鍵を受信して保存することを特徴とする付記１２に記載のネットワークシステム。
【０１５４】
（付記１５）前記作成手段は、
前記ノード群のすべてのノードに前記新鍵が前記携帯端末を介して送信された場合、前記情報を消去することを特徴とする付記１２に記載のネットワークシステム。
【符号の説明】
【０１５５】
１００  ネットワークシステム
１０１  管理サーバ
１１０  鍵情報ＤＢ
Ａｉ  アドホックネットワーク
Ｇｉ  ゲートウェイ
Ｈ  携帯端末
Ｋｉ  現鍵（暗号鍵）
ＫＫｉ  新鍵（暗号鍵）
Ｎｉ  ノード
ＳＰｉ  暗号化パケット
ＲＰ  暗号化応答パケット
ｒｐ  更新要求パケット
Ｔｉ  テーブル
【国際調査報告】
2012073340.tif 000027
2012073340.tif 000028
2012073340.tif 000029
2012073340.tif 000030