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