(57)【要約】      （修正有）【課題】ネットワーク上の複数のノードに対して安全かつ効率的に暗号鍵等のデータ配信を行う通信システムを提供する。【解決手段】無線通信システムは暗号鍵を管理する暗号鍵管理装置１０と、暗号鍵管理装置１０が管理する暗号鍵を用いた通信を行う複数の通信装置２０からなる。ノードとしての暗号鍵管理装置１０は、ネットワークにおける経路情報を管理し、ノード間で共有する第１の暗号鍵を生成し、第１の暗号鍵を暗号鍵管理装置１０の子ノードとの間で共有する第２の暗号鍵で暗号化して暗号化メッセージを生成して当該子ノードに送信する。また、ノードとしての通信装置２０は、親ノードから受信した暗号化メッセージを、当該親ノードと共有する第２の暗号鍵を用いて復号して第１の暗号鍵を抽出し、自ノードが子ノードを有する場合取得した第１の暗号鍵を当該子ノードとの間で共有する第２の暗号鍵を用いて暗号化して、当該子ノードに転送する。【選択図】図１
2017050580.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを構成する複数のノードを備え、前記ノードには、それぞれの前記ノードに係る暗号鍵を管理する制御装置と、前記制御装置により管理された暗号鍵を用いた通信を行う通信装置が含まれる通信システムにおいて、
前記制御装置は、
前記ネットワークにおけるルーティングで用いる経路情報を保持して管理する経路情報管理手段と、
前記経路情報で管理されたノード間で共有する第１の暗号鍵を生成する暗号鍵生成手段と、
前記暗号鍵生成手段が生成した第１の暗号鍵を、当該制御装置と当該制御装置の子ノードとの間で共有する第２の暗号鍵で暗号化した暗号化データを含む暗号化メッセージを生成する暗号化メッセージ生成手段と、
前記暗号化メッセージ生成手段で生成した暗号化メッセージを対応する子ノードに送信する送信手段とを有し、
それぞれの前記通信装置は、
親ノードから受信した暗号化メッセージを、当該親ノードと共有する第２の暗号鍵を用いて復号し、前記制御装置で管理されるノード間で共有される第１の暗号鍵を抽出する復号手段と、
自ノードが子ノードを有する場合、前記復号手段で取得した第１の暗号鍵を、当該子ノードとの間で共有する第２の暗号鍵を用いて暗号化して、当該子ノードに転送する転送手段とを有する
ことを特徴とする通信システム。
【請求項２】
前記暗号鍵生成手段は、前記経路情報で管理された各ノードが前記経路情報で管理されている親ノード又は子ノードとの間で共有する第２の暗号鍵も生成し、
前記暗号化メッセージ生成手段は、前記暗号鍵生成手段が生成したそれぞれの第２の暗号鍵を、当該第２の暗号鍵の送信先の前記ノードと共有する個別鍵を用いて暗号化した暗号化メッセージを生成し、
前記送信手段は、前記暗号化メッセージ生成手段が生成した第２の暗号鍵に基づく暗号化メッセージを、それぞれ対応するノードに送信し、
前記復号手段は、第２の暗号鍵に基づく暗号化メッセージを取得すると、当該暗号化メッセージを、前記制御装置と個別に共有する個別鍵を用いて復号し、第２の暗号鍵を取得する
ことを特徴とする請求項１に記載の通信システム。
【請求項３】
前記暗号鍵生成手段が生成する第１の暗号鍵及び第２の暗号鍵は、公開鍵暗号方式における公開鍵、もしくは秘密鍵であることを特徴とする請求項１又は２に記載の通信システム。
【請求項４】
それぞれの前記通信装置は、自ノードが末端ノードの状態で暗号化メッセージを受信した場合、当該暗号化メッセージに係る受信確認を通知するための受信確認メッセージを前記制御装置宛に送信する受信確認応答手段をさらに有する
ことを特徴とする請求項１〜３のいずれかに記載の通信システム。
【請求項５】
前記制御装置は、
前記送信手段で暗号化メッセージを送信した末端ノードのうち、所定時間以内に受信確認メッセージに対する受信確認メッセージが受信できなかった末端ノードがあった場合、第１の暗号鍵を、当該末端ノードまでの経路上に存在する子ノードとの間で共有する第２の暗号鍵で暗号化した暗号化データを含む再送メッセージを生成する再送メッセージ生成手段をさらに有し、
前記送信手段は、前記再送メッセージ生成手段が生成した再送メッセージを当該再送メッセージに係る末端ノード宛に経路を指定して送信し、
前記復号手段は、受信した再送メッセージを、当該再送メッセージの送信元のノードと共有する第２の暗号鍵を用いて復号して第１の暗号鍵を取得し、
それぞれの前記通信装置は、前記復号手段が再送メッセージから取得した第１の暗号鍵を、当該再送メッセージで指定された経路上で自ノードの次の転送先ノードとの間で共有する第２の暗号鍵を用いて暗号化して、当該転送先ノードに転送する再送メッセージ転送手段をさらに有する
ことを特徴とする請求項４に記載の通信システム。
【請求項６】
ネットワークを構成する複数のノードを備え、前記ノードには、それぞれの前記ノードに係る暗号鍵を管理する制御装置と、前記制御装置により管理された暗号鍵を用いた通信を行う通信装置が含まれる通信システムの通信方法において、
前記制御装置は、経路情報管理手段、暗号鍵生成手段、暗号化メッセージ生成手段、送信手段を有し、
それぞれの前記通信装置は、復号手段、転送手段を有し、
前記経路情報管理手段は、前記ネットワークにおけるルーティングで用いる経路情報を保持して管理し
前記暗号鍵生成手段は、前記経路情報で管理されたノード間で共有する第１の暗号鍵を生成し、
前記暗号化メッセージ生成手段は、前記暗号鍵生成手段が生成した第１の暗号鍵を、当該制御装置と当該制御装置の子ノードとの間で共有する第２の暗号鍵で暗号化した暗号化データを含む暗号化メッセージを生成し、
前記送信手段は、前記暗号化メッセージ生成手段で生成した暗号化メッセージを対応する子ノードに送信し、
前記復号手段は、親ノードから受信した暗号化メッセージを、当該親ノードと共有する第２の暗号鍵を用いて復号し、前記制御装置で管理されるノード間で共有される第１の暗号鍵を抽出し、
前記転送手段は、自ノードが子ノードを有する場合、前記復号手段で取得した第１の暗号鍵を、当該子ノードとの間で共有する第２の暗号鍵を用いて暗号化して、当該子ノードに転送する
ことを特徴とする通信方法。
【請求項７】
ネットワークを構成するノードであって、前記ネットワークを構成するそれぞれの前記ノードに係る暗号鍵を管理する制御装置において、
前記ネットワークにおけるルーティングで用いる経路情報を保持して管理する経路情報管理手段と、
前記経路情報で管理されたノード間で共有する第１の暗号鍵を生成する暗号鍵生成手段と、
前記暗号鍵生成手段が生成した第１の暗号鍵を、当該制御装置と当該制御装置の子ノードとの間で共有する第２の暗号鍵で暗号化した暗号化データを含む暗号化メッセージを生成する暗号化メッセージ生成手段と、
前記暗号化メッセージ生成手段で生成した暗号化メッセージを対応する子ノードに送信する送信手段と
を有することを特徴とする制御装置。
【請求項８】
ネットワークを構成するノードであって、前記ネットワークを構成するノードとしての制御装置により管理された暗号鍵を用いた通信を行う通信装置において、
親ノードから受信した暗号化メッセージを、当該親ノードと共有する第２の暗号鍵を用いて復号し、前記制御装置で管理されるノード間で共有される第１の暗号鍵を抽出する復号手段と、
自ノードが子ノードを有する場合、前記復号手段で取得した第１の暗号鍵を、当該子ノードとの間で共有する第２の暗号鍵を用いて暗号化して、当該子ノードに転送する転送手段と
を有することを特徴とする通信装置。
【請求項９】
ネットワークを構成するノードであって、前記ネットワークを構成するそれぞれの前記ノードに係る暗号鍵を管理する制御装置に搭載されたコンピュータを、
前記ネットワークにおけるルーティングで用いる経路情報を保持して管理する経路情報管理手段と、
前記経路情報で管理されたノード間で共有する第１の暗号鍵を生成する暗号鍵生成手段と、
前記暗号鍵生成手段が生成した第１の暗号鍵を、当該制御装置と当該制御装置の子ノードとの間で共有する第２の暗号鍵で暗号化した暗号化データを含む暗号化メッセージを生成する暗号化メッセージ生成手段と、
前記暗号化メッセージ生成手段で生成した暗号化メッセージを対応する子ノードに送信する送信手段と
して機能させることを特徴とする制御プログラム。
【請求項１０】
ネットワークを構成するノードであって、前記ネットワークを構成するノードとしての制御装置により管理された暗号鍵を用いた通信を行う通信装置に搭載されたコンピュータを、
親ノードから受信した暗号化メッセージを、当該親ノードと共有する第２の暗号鍵を用いて復号し、前記制御装置で管理されるノード間で共有される第１の暗号鍵を抽出する復号手段と、
自ノードが子ノードを有する場合、前記復号手段で取得した第１の暗号鍵を、当該子ノードとの間で共有する第２の暗号鍵を用いて暗号化して、当該子ノードに転送する転送手段と
して機能させることを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信方法、制御装置、制御プログラム、通信装置、及び通信プログラムに関し、例えば、無線マルチホップネットワークにおいて、ネットワーク共通の暗号鍵を安全かつ効率的に運用するための鍵管理及び鍵配送方法に適用し得る。
【背景技術】
【０００２】
インターネットの有料放送や、複数のセンサを一元管理する無線センサネットワークなどでは、ネットワーク管理者が同一のメッセージを複数の通信装置に向けて同報通信するような、グループ通信の形態をとることが一般的である。ネットワークを流れるメッセージを秘匿するために暗号通信を行うが、グループ通信では、グループ鍵を用いることで効率的に暗号通信を行うことができる。グループ鍵とは、ネットワーク内の通信装置の間で共有される暗号鍵である。グループ鍵を用いない場合、つまりグループ内の通信装置がネットワーク管理者と個別の暗号鍵（個別鍵）のみを所有するような場合、ネットワーク管理者は、同一のメッセージを送信する場合でも通信装置それぞれの個別鍵で暗号化処理を行う必要がある。それに対してグループ鍵を用いる場合は、グループ鍵でメッセージを暗号化すればよいため、一回の暗号化処理で済む。しかし、ネットワーク内でただ一つのグループ鍵のみを共有するような暗号鍵管理方法の場合、グループ鍵の更新において問題がある。例えば、インターネットの有料放送で契約期限の切れた等の理由でネットワークから離脱する通信装置（以後、「離脱装置」と呼ぶ）をグループから除外する場合、離脱装置が放送を視聴できないようにするために、グループ鍵は新しい鍵に更新する必要がある。このような場合、離脱装置は現状のグループ鍵を所有するため、このグループ鍵を新しいグループ鍵の暗号化のために用いることはできない。離脱装置以外に安全に新しいグループ鍵を配送するためには、各通信装置の個別鍵で暗号化処理を施し、個別に配送する必要がある。大規模なネットワークの場合、このような個別の暗号化処理と個別配送は、非効率的であり現実的でない。
【０００３】
グループ鍵の更新の問題を解決する鍵管理方式として、ツリートポロジ（木構造）を用いるものがある。例えば、非特許文献１では、グループメンバの数だけの葉頂点（子頂点を持たない頂点）を持つ木を構成する。木の各頂点には一つの暗号鍵が割り当てられる。各グループメンバは一つの葉頂点に対応付けられ、対応付けられた葉頂点から根頂点までの経路上の暗号鍵を全て所有する。つまり各メンバは、木の深さに応じた暗号鍵を所有することになる。ここで、各葉頂点の暗号鍵は、それぞれ１メンバのみが所有するため個別鍵、根頂点の暗号鍵はすべてのメンバが所有するためグループ鍵とそれぞれみなすことができる。また、その他の頂点の暗号鍵は、それぞれ一部のメンバによって所有されるため、サブグループ鍵と呼ばれる。メンバが離脱する場合、更新が必要な暗号鍵は、離脱メンバが所有しないサブグループ鍵を使って暗号化し適切なメンバに送信する。非特許文献１の方法では、一人のメンバを除外するのに要する暗号化処理数は０（ｌｏｇＮ）（Ｎはメンバ数）となる。前述の単純なグループ鍵管理方式では、各メンバの個別鍵で暗号化処理を行うためＯ（Ｎ）となることから、非特許文献１の方式によって鍵更新を効率化できていることがわかる。
【０００４】
特許文献１では、一方向性ハッシュ関数を用いることで、グループ鍵管理の効率化を図っている。特許文献１では、はじめに図９のようなメンバ数分の頂点を持つ一方向リストを構成する。次に各メンバを一つの頂点に対応付け、さらに各頂点にシードキーと呼ばれる秘密情報を対応付ける。例えば、ＡというメンバにはＳＡ、ＤというメンバにはＳＤというシードキーが与えられる。各メンバは、対応付けられたシードキーを個別鍵として所有する。また、各頂点のシードキーに一方向性ハッシュ関数（Ｈとする）を一回適用したものを、一方向リストにおける一つ後ろのメンバに送信する。例えばＢというメンバには、ＳＡに一方向性ハッシュ関数を適用したＨ（ＳＡ）が与えられる。さらに、各頂点のシードキー値に一方向性ハッシュ関数を二回適用したものを、一方向リストにおける二つ後ろのメンバに送信する。この操作をｃ回行う。つまり、Ａのｃだけ後ろのメンバは、ＡのシードキーＳＡに一方向性ハッシュ関数をｃ回適用した値ＨＣ（ＳＡ）を秘密情報として所有することになる。以上の動作によってＡからＡのｃだけ後ろまでのメンバで一方向ハッシュチェーンが構成される。言い換えると、これはｃ人のメンバによって共有されるサブグループ鍵ともみなせる。メンバを除外する場合は、一方向ハッシュチェーンを利用して、離脱メンバが新しいグループ鍵を復号できないような組み合わせで暗号化処理を施し、適切なメンバに送信することで鍵更新を行う。図９でＣが離脱メンバとなる場合、例えばＨ（ＳＡ）で暗号化した新しいグループ鍵をＡとＢに送り、Ｈ（Ｈ（ＳＤ））で暗号化したものをＤ、Ｅ、Ｆに送り、Ｈ（ＳＩ）で暗号化したものをＨとＩに送る。Ｃは、これらの情報からでは新しいグループ鍵を復号できないため、安全に鍵更新が行えたことになる。特許文献１では、Ｎ人のグループに対して、ｒ人のメンバを除外するのに要する暗号化処理数は、一方向ハッシュチェーンの長さがｃのとき、最悪の場合でもｒ＋（Ｎ−２ｒ）／ｃとなる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１５０３６４号公報
【非特許文献】
【０００６】
【非特許文献１】Ｃ．Ｋ．Ｗｏｎｇ，  Ｍ．Ｇ．Ｇｏｕｄａ  ａｎｄ  Ｓ．Ｓ．Ｌａｍ，  “Ｓｅｃｕｒｅ  Ｇｒｏｕｐ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｕｓｉｎｇ  Ｋｅｙ  Ｇｒａｐｈｓ，”ＩＥＥＥ／ＡＣＭ  ＴＲＡＮＳＡＣＴＩＯＮＳ  ＯＮ  ＮＥＴＷＯＲＫＩＮＧ，ＶＯＬ８，ＮＯ．１，ＰＰ．１６−３０，ＦＥＢＲＵＡＲＹ  ２０００．
【発明の概要】
【発明が解決しようとする課題】
【０００７】
非特許文献１及び特許文献１の鍵管理方式は、グループ鍵を更新するために必要な暗号化処理数を削減するためのものであった。これは、有線ネットワークのようにネットワーク管理者と通信装置が直接つながるネットワークでは有効に働く。しかし、無線マルチホップネットワークのような、ネットワーク管理者と通信装置との通信が他の通信装置を介して行われるネットワークでは、暗号化処理数のみの削減は完全な効率化とはいえない。例えば、非特許文献１及び特許文献１では、新しいグループ鍵は複数のサブグループ鍵で暗号化して配送されるため、各暗号化メッセージは一部のメンバのみが復号できる情報となる。マルチホップネットワークでは、このような鍵管理方式は、自分には必要のないメッセージの中継処理も行うことになるため、鍵配送において無駄な通信が発生してしまう。特に無線センサネットワークのような省電力が求められるネットワークシステムでは、不必要な通信はなるべく避けたい。以上のように、従来のマルチホップネットワークにおける鍵管理では、暗号化処理数だけでなく、ネットワークを流れる総メッセージ数の削減も考える必要がある。
【０００８】
以上のような問題に鑑みて、ネットワーク上の複数のノードに対して安全かつ効率的に暗号鍵等の機密データの配信を行うことができる通信システム、通信方法、制御装置、制御プログラム、通信装置、及び通信プログラムが望まれている。
【課題を解決するための手段】
【０００９】
第１の本発明は、ネットワークを構成する複数のノードを備え、前記ノードには、それぞれの前記ノードに係る暗号鍵を管理する制御装置と、前記制御装置により管理された暗号鍵を用いた通信を行う通信装置が含まれる通信システムにおいて、（１）前記制御装置は、（１−１）前記ネットワークにおけるルーティングで用いる経路情報を保持して管理する経路情報管理手段と、（１−２）前記経路情報で管理されたノード間で共有する第１の暗号鍵を生成する暗号鍵生成手段と、（１−３）前記暗号鍵生成手段が生成した第１の暗号鍵を、当該制御装置と当該制御装置の子ノードとの間で共有する第２の暗号鍵で暗号化した暗号化データを含む暗号化メッセージを生成する暗号化メッセージ生成手段と、（１−４）前記暗号化メッセージ生成手段で生成した暗号化メッセージを対応する子ノードに送信する送信手段とを有する、（２）それぞれの前記通信装置は、（２−１）親ノードから受信した暗号化メッセージを、当該親ノードと共有する第２の暗号鍵を用いて復号し、前記制御装置で管理されるノード間で共有される第１の暗号鍵を抽出する復号手段と、（２−２）自ノードが子ノードを有する場合、前記復号手段で取得した第１の暗号鍵を、当該子ノードとの間で共有する第２の暗号鍵を用いて暗号化して、当該子ノードに転送する転送手段とを有することを特徴とする。
【００１０】
第２の本発明は、ネットワークを構成する複数のノードを備え、前記ノードには、それぞれの前記ノードに係る暗号鍵を管理する制御装置と、前記制御装置により管理された暗号鍵を用いた通信を行う通信装置が含まれる通信システムの通信方法において、（１）前記制御装置は、経路情報管理手段、暗号鍵生成手段、暗号化メッセージ生成手段、送信手段を有し、（２）それぞれの前記通信装置は、復号手段、転送手段を有し、（３）前記経路情報管理手段は、前記ネットワークにおけるルーティングで用いる経路情報を保持して管理し（４）前記暗号鍵生成手段は、前記経路情報で管理されたノード間で共有する第１の暗号鍵を生成し、（５）前記暗号化メッセージ生成手段は、前記暗号鍵生成手段が生成した第１の暗号鍵を、当該制御装置と当該制御装置の子ノードとの間で共有する第２の暗号鍵で暗号化した暗号化データを含む暗号化メッセージを生成し、（６）前記送信手段は、前記暗号化メッセージ生成手段で生成した暗号化メッセージを対応する子ノードに送信し、（７）前記復号手段は、親ノードから受信した暗号化メッセージを、当該親ノードと共有する第２の暗号鍵を用いて復号し、前記制御装置で管理されるノード間で共有される第１の暗号鍵を抽出し、（８）前記転送手段は、自ノードが子ノードを有する場合、前記復号手段で取得した第１の暗号鍵を、当該子ノードとの間で共有する第２の暗号鍵を用いて暗号化して、当該子ノードに転送することを特徴とする。
【００１１】
第３の本発明は、ネットワークを構成するノードであって、前記ネットワークを構成するそれぞれの前記ノードに係る暗号鍵を管理する制御装置において、（１）前記ネットワークにおけるルーティングで用いる経路情報を保持して管理する経路情報管理手段と、（３）前記経路情報で管理されたノード間で共有する第１の暗号鍵を生成する暗号鍵生成手段と、（４）前記暗号鍵生成手段が生成した第１の暗号鍵を、当該制御装置と当該制御装置の子ノードとの間で共有する第２の暗号鍵で暗号化した暗号化データを含む暗号化メッセージを生成する暗号化メッセージ生成手段と、（５）前記暗号化メッセージ生成手段で生成した暗号化メッセージを対応する子ノードに送信する送信手段とを有することを特徴とする。
【００１２】
第４の本発明は、ネットワークを構成するノードであって、前記ネットワークを構成するノードとしての制御装置により管理された暗号鍵を用いた通信を行う通信装置において、（１）親ノードから受信した暗号化メッセージを、当該親ノードと共有する第２の暗号鍵を用いて復号し、前記制御装置で管理されるノード間で共有される第１の暗号鍵を抽出する復号手段と、（２）自ノードが子ノードを有する場合、前記復号手段で取得した第１の暗号鍵を、当該子ノードとの間で共有する第２の暗号鍵を用いて暗号化して、当該子ノードに転送する転送手段とを有することを特徴とする。
【００１３】
第５の本発明の制御プログラムは、ネットワークを構成するノードであって、前記ネットワークを構成するそれぞれの前記ノードに係る暗号鍵を管理する制御装置に搭載されたコンピュータを、（１）前記ネットワークにおけるルーティングで用いる経路情報を保持して管理する経路情報管理手段と、（２）前記経路情報で管理されたノード間で共有する第１の暗号鍵を生成する暗号鍵生成手段と、（３）前記暗号鍵生成手段が生成した第１の暗号鍵を、当該制御装置と当該制御装置の子ノードとの間で共有する第２の暗号鍵で暗号化した暗号化データを含む暗号化メッセージを生成する暗号化メッセージ生成手段と、（４）前記暗号化メッセージ生成手段で生成した暗号化メッセージを対応する子ノードに送信する送信手段として機能させることを特徴とする。
【００１４】
第６の本発明の通信プログラムは、ネットワークを構成するノードであって、前記ネットワークを構成するノードとしての制御装置により管理された暗号鍵を用いた通信を行う通信装置に搭載されたコンピュータを、（１）親ノードから受信した暗号化メッセージを、当該親ノードと共有する第２の暗号鍵を用いて復号し、前記制御装置で管理されるノード間で共有される第１の暗号鍵を抽出する復号手段と、（２）自ノードが子ノードを有する場合、前記復号手段で取得した第１の暗号鍵を、当該子ノードとの間で共有する第２の暗号鍵を用いて暗号化して、当該子ノードに転送する転送手段として機能させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、ネットワーク上の複数のノードに対して安全かつ効率的に暗号鍵等の機密データの配信を行う通信システムを提供することができる。
【図面の簡単な説明】
【００１６】
【図１】第１の実施形態に係る通信システムを構成する暗号鍵管理装置及び通信装置の機能的構成について示したブロック図である。
【図２】第１の実施形態に係る通信システムの全体構成の例について示したブロック図である。
【図３】第１の実施形態に係る暗号鍵管理装置の動作の例について示したフローチャートである。
【図４】第１の実施形態に係る通信装置の動作の例について示したフローチャートである。
【図５】第１の実施形態に係る通信システムにおけるネットワークトポロジの遷移について示した説明図である。
【図６】第１の実施形態に係る通信システムを構成する暗号鍵管理装置及び通信装置の機能的構成について示したブロック図である。
【図７】第２の実施形態に係る暗号鍵管理装置の動作の例について示したフローチャートある。
【図８】第２の実施形態に係る通信装置の動作の例について示したフローチャートである。
【図９】従来の通信システムにおける鍵管理方法について示した説明図である。
【発明を実施するための形態】
【００１７】
（Ａ）第１の実施形態
以下、本発明による通信システム、通信方法、制御装置、制御プログラム、通信装置、及び通信プログラムの第１の実施形態を、図面を参照しながら詳述する。以下では、本発明の制御装置及び制御プログラムを暗号鍵管理装置に適用する例について説明する。
【００１８】
（Ａ−１）第１の実施形態の構成
図２は、無線通信システム１の全体構成について示したブロック図である。
【００１９】
まず、無線通信システム１の概要について説明する。
【００２０】
無線通信システム１には、暗号鍵を管理する暗号鍵管理装置１０と、暗号鍵管理装置１０で管理される暗号鍵を用いた通信を行う複数の通信装置２０が配置されている。無線通信システム１に配置される各装置の数は限定されないものであるが、この実施形態の無線通信システム１では、１個の暗号鍵管理装置１０と、８個の通信装置２０（２０−Ｎ１〜２０−Ｎ８）が配置されているものとして説明する。また、無線通信システム１では、暗号鍵管理装置１０及び通信装置２０−Ｎ１〜２０−Ｎ８を含むノードによりマルチホップネットワークが構成されているものとする。通信装置２０−Ｎ１〜２０−Ｎ８には、それぞれＮ１〜Ｎ８の識別子が付与されているものとする。以下では、暗号鍵管理装置１０及び各通信装置２０のことを、マルチホップネットワークを構成する「ノード」とも呼ぶものとする。無線通信システム１のマルチホップネットワークでは、暗号鍵管理装置１０で管理されるソースルーティングのネットワークトポロジ（ネットワークツリー）が、暗号鍵等の配送用のネットワークトポロジ―として形成されているものとする。以下では、そのソースルーティングのネットワークトポロジ（ネットワークツリー）における上位側（前段側）のノードを「親ノード」又は「親通信装置」と呼び、親ノードの下位（後段側）に属するノードを「子ノード」又は「子通信装置」とも呼ぶものとする。
【００２１】
無線通信システム１内の各装置間（ノード間）の通信方式（通信媒体）については限定されないものであるが、例えば、種々の無線ＬＡＮインタフェースの通信方式を適用することができる。
【００２２】
第１の実施形態では、暗号鍵管理装置１０がネットワーク共通の暗号鍵（以後、「グループ鍵」と呼ぶ）、通信装置間のリンク毎に対応付けられる暗号鍵（以後、「リンク鍵」と呼ぶ）、及び暗号鍵管理装置１０と各通信装置との間で個別に共有する暗号鍵（以後、「個別鍵」と呼ぶ）を管理し、各通信装置２０は自ノードに関係する暗号鍵のみを所有するような、暗号鍵の管理方法をとる。第１の実施形態におけるリンクとは、ソースルーティングで利用される経路情報から得られるネットワークトポロジのリンクを表す。グループ鍵を更新する場合の配送方法は、新しいグループ鍵をリンク鍵で暗号化し、リンク鍵を共有する通信装置２０（ネットワークトポロジの子ノード）に送信する。暗号化された新しいグループ鍵を受信した通信装置２０は、受信したリンクのリンク鍵で新しいグループ鍵を復号し、新しいグループ鍵を取得する。そして、通信装置２０は、受信したリンク以外のリンク鍵で新しいグループ鍵を暗号化し、対象のリンクに送信する。この手続きを全ての通信装置２０が新しいグループ鍵を取得するまで続ける。リンク鍵は、ネットワークトポロジの各リンクの両端のノード（各リンクの親ノードと子ノード）で共有される暗号鍵であるものとする。
【００２３】
次に、暗号鍵管理装置１０及び通信装置２０の内部構成について説明する。
【００２４】
暗号鍵管理装置１０は、ネットワーク上（無線通信システム１内）の各通信装置２０の情報（個体識別番号、経路情報など）を保持・管理し、通信装置２０に対する暗号鍵の生成および生成した暗号鍵の配送手続きを行う。
【００２５】
図１（ａ）は、暗号鍵管理装置１０の機能的構成について示したブロック図である。
【００２６】
暗号鍵管理装置１０は、送信部１１、受信部１２、制御部１３、暗号化処理部１４、暗号鍵生成部１５、暗号鍵保存部１６、及び経路情報管理部１７を有している。
【００２７】
暗号鍵管理装置１０は、例えば、プロセッサ及びメモリを有するコンピュータにプログラム（実施形態に係る制御プログラムを含む）をインストールすることにより構築するようにしてもよい。また、暗号鍵管理装置１０は、一部又は全部をハードウェア（例えば、専用の半導体チップや電気回路等）を用いて構成するようにしてもよい。
【００２８】
制御部１３は、鍵更新トリガを契機としてグループ鍵の更新を開始し、更新が完了するまでの処理等を行う。鍵更新トリガとは、グループ鍵更新の契機となるイベントであり、例えば、何らかの理由で無線通信システム１のネットワークから除外する通信装置２０（離脱装置）が発生した場合や、グループ鍵の定期的な更新が発生した場合等が挙げられる。暗号鍵管理装置１０が鍵更新トリガのイベントを認識する方法については限定されないものであり、例えば、外部からのメッセージ等により鍵更新トリガを認識するようにしてもよいし、ユーザの操作等により鍵更新トリガを認識するようにしてもよい。
【００２９】
鍵更新トリガのイベントが発生すると、制御部１３は、新しいグループ鍵の生成を暗号鍵生成部１５に要求する。また制御部１３は、経路情報管理部１７から経路情報を取得し、離脱装置が除外されるように経路情報の再構成を行う。具体的には、離脱装置が新しいグループ鍵を入手できないように、離脱装置とリンクを持つ通信装置２０に代替となるリンクを提供し、新しいリンク鍵を、対象の通信装置２０の個別鍵で暗号化してユニキャストで配布する。さらに制御部１３は、新しいグループ鍵や新しいリンク鍵の暗号化を暗号化処理部１４に要求し、暗号化処理部１４から暗号化後のメッセージ（以後、「暗号化メッセージ」と呼ぶ）を得る。そして制御部１３は、送信部１１に暗号化メッセージの送信の要求と、受信部１２から与えられるメッセージの処理を行う。なお、暗号化メッセージには、当該暗号化メッセージの属性を示す情報（例えば、当該暗号化メッセージがリンク鍵を配送するものであるか、個別鍵を配送するものであるかを示す情報）が付加されるものとする。これにより暗号化メッセージを受信したノードでは、当該暗号化メッセージを復号するための鍵を選択することができる。これは、後述の通信装置２０で生成（再構成）される暗号化メッセージについても同様である。
【００３０】
経路情報管理部１７は、ソースルーティングで用いる経路（以下、「ネットワークトポロジ」又は「ツリートポロジ」と呼ぶ）の情報（以下、「経路情報」と呼ぶ）を保持・管理する。ソースルーティングとは、メッセージ送信者（ここでは暗号鍵管理装置１０）があて先となる通信装置２０までの経路情報を保持していて、その情報をもとに中継を行うルーティング方式である。
【００３１】
暗号鍵生成部１５は、制御部１３からの指示を受けて、暗号鍵を生成する。暗号鍵生成部１５は、生成した暗号鍵を暗号鍵保存部１６に格納する。
【００３２】
暗号化処理部１４は、制御部１３からの指示を受けて、暗号鍵保存部１６から、配送する暗号鍵と、配送する暗号鍵を暗号化するための暗号鍵を取り出し、後者の暗号鍵で前者の暗号鍵を暗号化し、暗号化メッセージを生成する。暗号化処理部１４は、生成した暗号化メッセージを制御部１３に返答する。
【００３３】
暗号鍵保存部１６は、暗号鍵を保持する記憶領域であり、暗号鍵の実体と、その暗号鍵の用途を示す情報がペアで格納する。暗号鍵の用途を示す情報とは、例えばグループ鍵であることを識別できる情報や、リンク鍵であればネットワークのどのリンクの鍵であるかを識別できる情報である。
【００３４】
送信部１１は、制御部１３からの指示を受けて、他の通信装置２０に対して暗号化メッセージを送信する。
【００３５】
受信部１２は、他の通信装置２０から受信した暗号化メッセージを制御部１３に与える。
【００３６】
図１（ｂ）は、各通信装置２０内部の機能的構成について示したブロック図である。この実施形態では、通信装置２０−Ｎ１〜２０−Ｎ８は全て同じ構成であるものとして説明する。
【００３７】
通信装置２０は、送信部２１、受信部２２、制御部２３、暗号化処理部２４、復号化処理部２５、暗号鍵保存部２６、及びリンク情報管理部２７を有している。
【００３８】
通信装置２０は、例えば、プロセッサ及びメモリを有するコンピュータにプログラム（実施形態に係る通信プログラムを含む）をインストールすることにより構築するようにしてもよい。また、通信装置２０は、一部又は全部をハードウェア（例えば、専用の半導体チップや電気回路等）を用いて構成するようにしてもよい。
【００３９】
制御部２３は、受信部２２からの暗号化メッセージの受信を受けて、新しいグループ鍵の取得と、他の通信装置２０への中継処理の制御等を行う。制御部２３は、受信部２２から与えられた暗号化メッセージの復号を復号化処理部２５に要求する。また制御部２３は、リンク情報管理部２７からリンク情報を取得し、中継を行う必要のある他の通信装置２０を選択する。リンク情報とは、ソースルーティングにおけるネットワークトポロジの親ノードを識別するための情報（例えば通信装置２０のネットワーク上のアドレス）と、１ないし複数の子ノードを識別するための情報である。また中継を行う必要のある通信装置２０とは、暗号化メッセージの送信元の通信装置２０（通常は、親ノード）以外のリンクの通信装置２０（通常は、子ノード）である。さらに制御部２３は、送信部２１に暗号化メッセージの送信を要求する。
【００４０】
リンク情報管理部２７は、通信装置２０が持つリンクの通信装置情報をリンク情報として保持・管理する。
【００４１】
復号化処理部２５は、制御部２３からの指示を受けて、送信元通信装置のリンク鍵もしくは自装置の個別鍵を暗号鍵保存部２６から取り出し、暗号化メッセージを復号する。復号化処理部２５は、復号したメッセージ（新しいグループ鍵もしくは新しいリンク鍵）を暗号鍵保存部２６に保存する。
【００４２】
暗号化処理部２４は、制御部２３からの指示を受けて、暗号鍵保存部２６から中継する暗号鍵と、中継先の通信装置２０（子ノード）とのリンク鍵を取り出し、前記リンク鍵で前記中継する暗号鍵を暗号化し、暗号化メッセージを生成する。暗号化処理部２４は、生成された暗号化メッセージを制御部２３に与える。
【００４３】
暗号鍵保存部２６は、グループ鍵、自ノードに関係するリンク鍵（親ノード及び子ノードのリンク鍵）、及び自ノードの個別鍵等を保持する記憶領域である。暗号鍵保存部２６には、暗号鍵の実体と、その暗号鍵の用途を示す情報がペアで格納される。
【００４４】
送信部２１は、制御部２３からの指示を受けて、他の通信装置に対して暗号化メッセージを送信する。
【００４５】
受信部２２は、他の通信装置から受信した暗号化メッセージを制御部２３に与える。
【００４６】
次に、無線通信システム１におけるネットワークトポロジ（暗号鍵管理装置１０で管理されるネットワークトポロジ）について説明する。この実施形態では、暗号鍵管理装置１０及び通信装置２０−Ｎ１〜２０−Ｎ８のネットワークトポロジは、当初図２のように管理されているものとする。
【００４７】
図２に示すように、暗号鍵管理装置１０（暗号鍵管理装置１０）の経路情報で管理されるネットワークトポロジ（ツリートポロジ）では、暗号鍵管理装置１０を頂点とし、その配下に通信装置２０−Ｎ１〜２０−Ｎ８が配置された構造となっている。図２では、暗号鍵管理装置１０の子ノードとして通信装置２０−Ｎ１、２０−Ｎ７、２０−Ｎ８が配置されている。また、図２では、通信装置２０−Ｎ１の子ノードとして、通信装置２０−Ｎ２、２０−Ｎ５が配置されている。さらに、図２では、通信装置２０−Ｎ２の子ノードとして通信装置２０−Ｎ３、２０−Ｎ４が配置されている。さらにまた、通信装置２０−Ｎ５の配下に、通信装置２０−Ｎ６が配置されている。したがって、図２に示すネットワークトポロジにおいて、末端の通信装置２０（子ノードを持たないノード）は、通信装置２０−Ｎ３、２０−Ｎ４、２０−Ｎ６、２０−Ｎ７、２０−Ｎ８となる。
【００４８】
経路情報管理部１７では、上述のようなネットワークトポロジ（ツリートポロジ）について定義したデータを経路情報として保持している。経路情報管理部１７において保持する経路情報の形式については限定されないものであるが、例えば、種々の木構造の定義方式等を適用することができる。なお、無線通信システム１において、暗号鍵配送に係るネットワークトポロジと、それ以外のデータ配送に係るネットワークトポロジは異なる構成や方式であってもよい。
【００４９】
（Ａ−２）第１の実施形態の動作
次に、以上のような構成を有する第１の実施形態の無線通信システム１の動作を説明する。
【００５０】
以下では、無線通信システム１において、離脱装置が発生して鍵更新動作が実行される際の暗号鍵管理装置１０及び各通信装置２０の動作の例について説明する。
【００５１】
まず、暗号鍵管理装置１０側の動作と、暗号鍵管理装置１０の制御に伴う通信装置２０側の動作を分けて説明する。
【００５２】
図３は、暗号鍵管理装置１０側の動作の例について示したフローチャートである。
【００５３】
暗号鍵管理装置１０における鍵更新動作には、大きく分けて後述するステップＳ１０１、Ｓ１０２の２つの動作が含まれる。
【００５４】
ステップＳ１０１では、暗号鍵管理装置１０により、離脱装置の発生に伴うネットワークトポロジ（ツリートポロジ）の再構築及びリンク鍵の配信が行われる。ステップＳ１０２では、暗号鍵管理装置１０により、各通信装置２０へ新しいグループ鍵の配送が行われる。
【００５５】
次に、ステップＳ１０１の詳細について、図３を用いて説明する。
【００５６】
図３に示すようにステップＳ１０１は、ステップＳ１０１−１〜Ｓ１０１−５のサブステップにより構成されている。
【００５７】
まず、鍵更新トリガ（離脱装置発生のイベント）により、制御部１３に、離脱装置が現れたことが当該通信装置２０の情報（例えば、当該ノードの識別子やＩＰアドレス等）とともに認識されたものとする（Ｓ１０１−１）。ここでは、図２に示すネットワークトポロジ（トポロジーツリー）の状態から、図５（ａ）に示すように、通信装置２０−Ｎ５が離脱装置として発生したものとして説明する。
【００５８】
次に、制御部１３は、経路情報管理部１７から現在のネットワークトポロジ（経路情報）を取得し（Ｓ１０１−２）、取得したネットワークトポロジから離脱装置（ここでは、通信装置２０−Ｎ５）を削除し、離脱装置を含まない新しいネットワークトポロジを構築する（Ｓ１０１−３）。
【００５９】
ここでは、制御部１３は、通信装置２０−Ｎ５の離脱に伴ってネットワークトポロジを再構築し、図５（ｂ）のようなネットワークトポロジを得たものとする。制御部１３がネットワークトポロジを再構築する具体的な処理方式については限定されないものであり、種々の木構造の処理アルゴリズムを適用することができる。図５（ｂ）に示すネットワークトポロジでは、元のネットワークトポロジ（図２、及び図５（ａ））を比較すると、通信装置２０−Ｎ５が除外され、通信装置２０−Ｎ５の子ノードだった通信装置２０−Ｎ６が通信装置２０−Ｎ７の子ノードに変わっている。
【００６０】
次に、制御部１３は、今回のネットワークトポロジの変化によって生じた新しいリンクの通信装置２０（図５では通信装置２０−Ｎ６と通信装置２０−Ｎ７）に新しいリンク鍵を生成して送信（配布）する制御処理を行う（Ｓ１０１−４、Ｓ１０１−５）。
【００６１】
制御部１３は、例えば、新しいリンク鍵の配布先となる通信装置２０の個別鍵で、新しいリンク鍵を暗号化し、ユニキャストで当該配布先の通信装置２０に送信する制御処理を行うようにしてもよい。具体的には、制御部１３は、暗号鍵生成部１５を用いて新しいリンク鍵を生成させる。そして、制御部１３は、生成されたリンク鍵を、当該リンクの識別情報とともに暗号鍵保存部１６に格納させる。そして、制御部１３は、暗号化処理部１４を用いてリンク鍵の配布先の通信装置２０の個別鍵でリンク鍵を暗号化して暗号化メッセージを生成させる。そして、制御部１３は、送信部１１を用いて、生成した暗号化メッセージを配布先に送信する。
【００６２】
以上のような動作により、ステップＳ１０１は構成することができる。
【００６３】
次に、ステップＳ１０２の詳細について、図３を用いて説明する。暗号鍵管理装置１０では、ステップＳ１０１の処理に続いて、ステップＳ１０２の処理を実行する。
【００６４】
図３に示すようにステップＳ１０２は、ステップＳ１０２−１〜Ｓ１０２−３のサブステップにより構成されている。
【００６５】
まず、制御部１３は、暗号鍵生成部１５に、新しいグループ鍵の生成を実行させる。そして、制御部１３は、生成された新しいグループ鍵を暗号鍵保存部１６に保存させる（Ｓ１０２−１）。
【００６６】
次に、制御部１３は、暗号鍵生成部１５を用いて新しいグループ鍵の暗号化を実行させる（Ｓ１０２−２）。具体的には、制御部１３は、まず、再構成後のネットワークトポロジから、子ノード情報（自ノードに属する子ノードの情報）を取得する。ここでは、図５（ｂ）に示すように、再構成後のネットワークトポロジにおいて、暗号鍵管理装置１０の子ノードとしては、通信装置２０−Ｎ１、２０−Ｎ７、２０−Ｎ８が存在するため、制御部１３はこれらの子ノード（通信装置２０）の通信装置情報を取得する。そして、制御部１３は、暗号化処理部１４を用いて、再構成後のネットワークトポロジにおける各子ノードとのリンク鍵（暗号鍵管理装置１０と当該子ノードとの間のリンク鍵）で新しいグループ鍵を暗号化させる。このとき、制御部１３は、子ノード（再構成後のネットワークトポロジにおける子ノード）である通信装置２０−Ｎ１、２０−Ｎ７、２０−Ｎ８とのそれぞれのリンク鍵を用いて新しいグループ鍵の暗号化を実行させることになる。すなわち、制御部１３は通信装置２０−Ｎ１、２０−Ｎ７、２０−Ｎ８のそれぞれに対して新しいグループ鍵を暗号化した暗号化メッセージを得ることになる。
【００６７】
次に、制御部１３は、送信部１１を用いて、生成した暗号化メッセージ（暗号化した新しいグループ鍵）を、それぞれ適切な通信装置２０に向けて送信する（Ｓ１０２−３）。
【００６８】
ここでは、制御部１３は、通信装置２０−Ｎ１、２０−Ｎ７、２０−Ｎ８に対して、それぞれ生成した暗号化メッセージ（暗号化した新しいグループ鍵）を送信することになる。
【００６９】
以上のような動作により、ステップＳ１０２は構成することができる。
【００７０】
図４は、暗号鍵管理装置１０側の動作の例について示したフローチャートである。
【００７１】
各通信装置２０が、暗号化メッセージを受信した際の動作には、図４に示すステップＳ１０３の処理が含まれる。
【００７２】
通信装置２０では、暗号化メッセージが到来すると、当該暗号化メッセージが受信部２２により受信される（Ｓ１０３−１）。
【００７３】
次に、制御部２３は、受信部２２で受信した暗号化メッセージが、リンク鍵の暗号化メッセージであるか否かを確認（例えば、暗号化メッセージの付加情報を参照して確認）する（Ｓ１０３−２）。
【００７４】
ステップＳ１０３−２で、受信した暗号化メッセージが新しいリンク鍵であると確認された場合、制御部２３は、復号化処理部２５を用いて当該暗号化メッセージを復号（個別鍵を用いて復号）して、暗号鍵保存部２６に保存させ（Ｓ１０３−８）、処理（今回受信した暗号化メッセージに係る処理）を終了する。また、このとき、制御部２３は、リンク情報管理部２７に、当該新しいリンク鍵に対応するリンク情報（新しいリンク情報）を追加させる。
【００７５】
一方、ステップＳ１０３−２で、受信した暗号化メッセージが新しいリンク鍵でなく、新しいグループ鍵である場合、制御部２３は、リンク情報管理部２７のリンク情報から、受信した暗号化メッセージの送信元（親ノード）に係る通信装置情報を取得する（Ｓ１０３−３）。
【００７６】
そして、制御部２３は、取得した通信装置情報を利用して、当該暗号化メッセージを復号するための親ノードのリンク鍵を特定して取得（暗号鍵保存部２６から取得）する。そして、制御部２３は、復号化処理部２５を用いて、当該暗号化メッセージを取得したリンク鍵で復号して新しいグループ鍵を得る（Ｓ１０３−４）。具体的には、制御部２３は、はじめにリンク情報管理部２７から、自ノードとリンクされている通信装置２０の通信装置情報を取得する。そして、制御部２３は、暗号化メッセージの送信元通信装置情報に一致する通信装置２０のリンク鍵を特定する。そして、制御部２３は、復号化処理部２５に特定したリンク鍵で暗号化メッセージを復号させて、新しいグループ鍵を得る。そして、制御部２３は、復号して得た新しいグループ鍵を暗号鍵保存部２６に保存させる。
【００７７】
次に、制御部２３は、自ノードが末端通信装置であるか否か（子ノードを有するか否か）を確認し（Ｓ１０３−５）、自ノードが末端通信装置でない（すなわち子ノードを有する）場合には後述するステップＳ１０３−６から動作し、自ノードが末端通信装置である場合には今回の処理（今回受信した暗号化メッセージに係る処理）を終了する。
【００７８】
上述のステップＳ１０３−５で、自ノードが末端通信装置でないと確認された場合には、制御部２３は、暗号化処理部２４にそれぞれの子ノードのリンク鍵でグループ鍵を暗号化させる（Ｓ１０３−６）。
【００７９】
そして、制御部２３は、それぞれの子ノード（グループ鍵の送信元以外の通信装置２０）に、暗号化されたグループ鍵を暗号化メッセージとして送信し（Ｓ１０３−７）、処理を終了する。
【００８０】
例えば、通信装置２０−Ｎ１が暗号鍵管理装置１０からリンク鍵（暗号鍵管理装置１０と通信装置２０−Ｎ１との間のリンク鍵）が暗号化された暗号化メッセージを受信した場合の具体的動作（上述のステップＳ１０３の処理を実行した場合の具体的動作）の例について説明する。
【００８１】
通信装置２０−Ｎ１の制御部２３は、受信部２２を介して暗号鍵管理装置１０から暗号化メッセージを受信すると、リンク情報管理部２７から、各リンク先（自ノードとのリンク先）の通信装置情報を取得する。そして、制御部２３は、取得した各リンク先の通信装置情報に基づいて、受信した暗号化メッセージに送信元が暗号鍵管理装置１０であることを認識する。そして、制御部２３は、復号化処理部２５に、当該暗号化メッセージを暗号鍵管理装置１０とのリンク鍵で復号させて新しいグループ鍵を取得する。そして、制御部２３は、暗号化処理部２４に、復号して得られた新しいグループ鍵を、新しいグループ鍵の送信元以外の通信装置２０（すなわち、子ノードとしての通信装置２０−Ｎ２）のリンク鍵で暗号化させて暗号化メッセージを取得する。そして、制御部２３は、取得した暗号化メッセージを、新しいグループ鍵の送信元以外の通信装置２０（すなわち、子ノードとしての通信装置２０−Ｎ２）に送信する。
【００８２】
以上のように、無線通信システム１では、上述のステップＳ１０３の動作を離脱した通信装置２０−Ｎ５を除く各通信装置２０が行うことで、通信装置２０−Ｎ５を除外した鍵更新動作が完了する。
【００８３】
（Ａ−３）第１の実施形態の効果
第１の実施形態によれば、以下のような効果を奏することができる。
【００８４】
無線通信システム１では、ネットワークトポロジが暗号鍵管理装置１０に既知である状況における暗号鍵の管理方法を採用している。無線通信システム１では、ネットワーク共通の暗号鍵と、暗号鍵管理装置１０と各通信装置２０で個別に共有する暗号鍵（個別鍵）に加えて、ネットワークトポロジにおけるリンク鍵を暗号鍵（グループ鍵等）の管理に利用し、そのリンク鍵を暗号鍵管理装置１０が管理する。また、無線通信システム１では、暗号鍵管理装置１０が新しいグループ鍵をリンク鍵で暗号化し、そのグループ鍵を中継する通信装置２０がいったん新しいグループ鍵を復号し、中継する際に中継先の通信装置２０のリンク鍵で暗号化して、多段的に送信していく。
【００８５】
したがって、第１の実施形態の無線通信システム１ではグループ鍵の更新が行われる際、リンク毎に１個の暗号化メッセージが流れることになるため、新しいグループ鍵配送によってネットワークを流れる暗号化メッセージの総数はリンク数に等しい。それに対して、従来技術（例えば、特許文献１及び非特許文献１）では、新しいグループ鍵は複数のサブグループ鍵で暗号化され、それぞれ一台以上の通信装置に送信されることになるため、ネットワークの各リンクには１個以上の暗号化メッセージが流れることになる。
【００８６】
ただし、第１の実施形態の無線通信システム１では、鍵更新の前処理として、ネットワークトポロジの再構成を行う必要がある。ここで発生するメッセージは、新しいリンクを持つ通信装置２０へのリンク鍵の配布である。結果として、無線通信システム１において、鍵更新の総メッセージ数は、鍵配送メッセージ×リンク鍵配布メッセージとなるため、従来技術（非特許文献１及び特許文献１）による鍵更新の総メッセージ数と単純には比較できないが、従来技術（非特許文献１及び特許文献１）の場合、ネットワークを構成する通信装置数が多くなるほど、鍵更新に必要なサブグループ鍵数も増加するため、大規模なネットワークほど第１の実施形態の無線通信システム１におけるメッセージ数の削減効果は大きくなる。
【００８７】
以上の通り、無線通信システム１では、ネットワークトポロジが既知（保持可能）なマルチホップネットワークにおいて、ネットワーク共通の暗号鍵の更新処理を効率化するために、通信装置２０の中継処理を含めた総メッセージ数を削減し、効率的な暗号鍵配送処理が可能となる。
【００８８】
（Ｂ）第２の実施形態
以下、本発明による通信システム、通信方法、制御装置、制御プログラム、通信装置、及び通信プログラムの第２の実施形態を、図面を参照しながら詳述する。以下では、本発明の制御装置及び制御プログラムを暗号鍵管理装置に適用する例について説明する。
【００８９】
（Ｂ−１）第２の実施形態の構成
以下では第２の実施形態について第１の実施形態との差異を説明する。
【００９０】
第２の実施形態では、暗号鍵管理装置１０及び通信装置２０が暗号鍵管理装置１０Ａ及び通信装置２０Ａに置き換わっている点で第１の実施形態と異なっている。
【００９１】
図６は、第２の実施形態の暗号鍵管理装置１０Ａ及び通信装置２０Ａの機能的構成について示したブロック図であり、上述の図１と同一部分及び対応部分には同一符号又は対応符号を付している。
【００９２】
第２の実施形態では、暗号鍵管理装置１０Ａからのメッセージ配送に対する受信確認を末端通信装置のみが行い、メッセージの再送処理を経路情報とリンク鍵を用いて末端通信装置に送信していきながら、中継途中の通信装置２０Ａの再送処理も行う。
【００９３】
次に、第２の実施形態の暗号鍵管理装置１０Ａ及び通信装置２０Ａの詳細構成について説明する。
【００９４】
図６（ａ）では、第２の実施形態の暗号鍵管理装置１０Ａの機能的構成について示している。
【００９５】
第２の実施形態の暗号鍵管理装置１０Ａは、第１の実施形態と比較してタイマ制御部１８が追加され、さらに制御部１３が制御部１３Ａに置き換わっている。
【００９６】
制御部１３Ａは、第１の実施形態の制御部１３Ａの処理に加え、グループ鍵の受信に失敗した通信装置２０Ａへの再送処理の制御を行う。制御部１３Ａは、新しいグループ鍵配送でグループ鍵を送信する際に、末端通信装置ごとにタイマ制御部１８に情報を登録する。ここでの情報とは、暗号化メッセージが末端の通信装置２０Ａに届けられるまでの伝送遅延時間（タイムアウト時間）と末端の通信装置情報のペアである。伝送遅延時間は、ネットワーク運用中に得られる末端の通信装置２０Ａとのラウンドトリップタイムや、１ホップの通信装置２０Ａとのラウンドトリップタイム×末端通信装置までのホップ数などから求めることができる。また制御部１３Ａは、伝送遅延時間を過ぎても受信確認がとれない通信装置２０Ａの情報をタイマ制御部１８から受け取る。制御部１３Ａは、第１の実施形態と同様の手順で暗号化し、再送する通信装置２０Ａまでの中継通信装置情報を暗号化メッセージに含めて、送信部２１に送信を要求する。さらに制御部１３Ａは、受信部２２から受信確認のメッセージを受け取る。制御部１３Ａは、受信確認が行えた通信装置２０Ａの通信装置情報をタイマ制御部１８に与える。
【００９７】
タイマ制御部１８は、通信装置２０Ａと伝送遅延時間の情報をペアで保持・管理する手段を有し、さらに前記情報が登録されてからの時間を計測する。タイマ制御部１８は、制御部１３Ａから通信装置２０Ａと伝送遅延時間の情報を得る。タイマ制御部１８は、取得した情報を内部に保存しタイマをスタートさせる。タイマ制御部１８は、タイマがタイムアウトしたときに対応する通信装置情報を制御部１３Ａに与える。またタイマ制御部１８は、制御部１３Ａから受信確認がとれた通信装置２０Ａの通信装置情報を得て当該通信装置２０に対するタイマ（時間計測）を中止する。そして、タイマ制御部１８は、保持する通信装置２０Ａの情報から、受け取った通信装置情報に一致するエントリを削除する。
【００９８】
また、制御部１３Ａは、リンク鍵についても所定時間以内に応答確認（例えば、受信確認メッセージの受信）ができない通信装置２０Ａに対して、当初の送信と同様に、ユニキャストで再送処理（リンク鍵を配送する暗号化メッセージの再送処理）を行うようにしてもよい。
【００９９】
図６（ｂ）は、第２の実施形態の通信装置２０Ａの機能的構成について示している。
【０１００】
第２の実施形態の通信装置２０Ａでは、第１の実施形態と比較すると制御部２３が制御部２３Ａに置き換わっている。
【０１０１】
制御部２３Ａでは、受信確認のメッセージ処理や、再送メッセージの中継処理を行う点で、第１の実施形態と異なっている。制御部２３Ａは、自ノードがネットワークトポロジの末端通信装置である場合、新しいグループ鍵を受信した際に受信確認のメッセージ生成と受信確認メッセージの送信を送信部に要求する。また、制御部２３Ａは、受信部から受信確認メッセージを取得し、受信確認メッセージを親ノードに送信することを送信部２１に要求する。さらに、制御部２３Ａは、受信部２２から再送メッセージを取得し、再送メッセージに付加された経路情報から送信元通信装置の情報を取得し、復号化処理部２５に再送メッセージの復号（グループ鍵の抽出）を要求する。そして制御部２３Ａは、再送メッセージに付加された経路情報から中継先の通信装置２０Ａの情報を取得し、暗号化処理部２４に抽出したグループ鍵の暗号化（再送メッセージの再構成）を要求し、再送メッセージを得る。制御部２３Ａは、再構成した再送メッセージに、当初受信した再送メッセージの付加情報（経路情報等）を付加する。そして、制御部２３Ａは、再構成した再送メッセージの送信（当該再送メッセージに付加された経路情報に基づく次の送信先への送信）を送信部２１に要求する。
【０１０２】
（Ｂ−２）第２の実施形態の動作
次に、以上のような構成を有する第２の実施形態の無線通信システム１Ａの動作を説明する。
【０１０３】
以下では、無線通信システム１Ａにおいて、離脱装置が発生して鍵更新動作が実行される際の暗号鍵管理装置１０Ａ及び各通信装置２０Ａの動作の例について説明する。
【０１０４】
まず、暗号鍵管理装置１０Ａ側の動作と、暗号鍵管理装置１０Ａの制御に伴う通信装置２０Ａ側の動作を分けて説明する。
【０１０５】
図７は、暗号鍵管理装置１０側の動作の例について示したフローチャートである。
【０１０６】
暗号鍵管理装置１０Ａにおける鍵更新動作には、第１の実施形態で説明したステップＳ１０１、Ｓ１０２の処理後に、鍵の再送処理動作としてステップＳ１０４、Ｓ１０５が含まれる。
【０１０７】
図７に示すように、暗号鍵管理装置１０ＡはステップＳ１０１、Ｓ１０２に続いて、ステップＳ１０４、Ｓ１０５の処理を実行する。
【０１０８】
次に、ステップＳ１０４の詳細について図７を用いて説明する。
【０１０９】
図７に示すようにステップＳ１０４は、ステップＳ１０４−１〜Ｓ１０４−４のサブステップにより構成されている。
【０１１０】
制御部１３Ａは、ステップＳ１０１の実行後に、リンク鍵の再送処理（必要に応じた最少処理）を開始する。なお、暗号鍵管理装置１０Ａは、リンク鍵を受信した通信装置２０Ａすべてから受信確認メッセージが受信できなかった場合、受信確認ができなかった通信装置２０Ａにユニキャストで再度暗号化メッセージ（リンク鍵を配送する暗号化メッセージ）を送信する処理を行う。
【０１１１】
ステップＳ１０１の実行が終了しステップＳ１０２の処理に移行すると、制御部１３Ａは、ネットワークトポロジにおける末端通信装置の情報と当該末端通信装置までの伝送遅延時間（タイムアウト時間）の情報をタイマ制御部１８に与える。タイマ制御部１８は、与えられた情報を内部に保存し、各末端通信装置に対するタイマをスタートさせる（Ｓ１０４−１）。
【０１１２】
そして、その後、制御部１３Ａは、末端通信装置からの受信確認のメッセージ受信及び末端通信装置ごとのタイムアウト（受信確認前の伝送遅延時間の経過）の有無を監視する（Ｓ１０４−２、Ｓ１０４−３）。ここで、制御部１３Ａは、タイムアウトが発生した末端通信装置があった場合には後述するステップＳ１０５の処理に移行し、受信確認のメッセージを受信した場合には、後述するステップＳ１０４−４の処理に移行する。
【０１１３】
受信確認のメッセージを受信した場合、制御部１３Ａは、全ての末端通信装置からの受信確認を得たか否かを確認し（Ｓ１０４−４）、全ての末端通信装置からの受信確認を得た場合には鍵更新の処理を終了し、受信確認の終了していない末端通信装置が残っている場合（タイマ制御部１８で計時中の末端通信装置が残っている場合）には上述のステップＳ１０４−２に戻って動作する。なお、末端通信装置から受信確認メッセージが与えられると、制御部１３Ａは受信確認メッセージの送信元の通信装置情報をタイマ制御部１８に与える。タイマ制御部１８は、与えられた通信装置２０Ａの情報と、内部で保持する通信装置情報とが一致するエントリを削除する。すなわち、エントリが削除された末端通信装置については、タイムアウトの計時が解除されるため以後タイムアウトが発生しないことになる。
【０１１４】
そして、ステップＳ１０４でタイムアウトが発生した場合にはステップＳ１０５の処理（鍵の再送処理）が開始されることになる。
【０１１５】
次に、ステップＳ１０５の詳細について、図７を用いて説明する。
【０１１６】
ステップＳ１０４−２でタイムアウトが発生すると、タイマ制御部１８は、制御部１３Ａに、タイムアウトが発生した末端通信装置の通信装置情報を制御部１３Ａに供給する。そして、制御部１３Ａは、経路情報管理部１７から再送対象の末端通信装置（タイムアウトが発生した末端通信装置）へのルート（経路情報）を取得する（Ｓ１０５−１）。
【０１１７】
次に、制御部１３Ａは、タイムアウトした末端通信装置に向けて再送するためのグループ鍵の暗号化（再送メッセージの生成）を暗号化処理部２４に実行させる（Ｓ１０５−２）。具体的には、制御部１３Ａは、タイムアウトした末端通信装置に送信する際に経由する子ノードのリンク鍵を用いたグループ鍵の暗号化処理を暗号化処理部２４に実行させる。
【０１１８】
次に、制御部１３Ａは、生成された暗号化メッセージに、再送対象の末端通信装置に到達するまでの経路情報（ソースルーティングのための経路情報）を付加する（Ｓ１０５−３）。
【０１１９】
次に、制御部１３Ａは、生成した再送メッセージ（再送対象の末端通信装置に到達するまでの経路情報を含む）を、当該子ノード（再送対象の末端通信装置への経路上の子ノード）に送信する（Ｓ１０５−４）。
【０１２０】
次に、制御部１３Ａは、タイマ制御部１８に暗号化メッセージ（グループ鍵）を再送した末端通信装置通についてタイマを再スタートさせ（Ｓ１０５−５）、上述のステップＳ１０４−３に移行する。タイマを再スタートさせる際、制御部１３Ａは、再送した末端通信装置通の通信装置情報と伝送遅延時間をタイマ制御部１８に供給する。
【０１２１】
図８は、通信装置２０Ａ側の動作の例について示したフローチャートである。
【０１２２】
各通信装置２０Ａが、メッセージを受信した際の動作（再送処理動作を含む）には、図８に示すステップＳ１０６の処理が含まれる。
【０１２３】
制御部１３Ａは、受信部２２を介してメッセージを受信すると（Ｓ１０６−１）、当該メッセージが、受信確認メッセージ（子ノードから受信した受信確認メッセージ）、リンク鍵又はグループ鍵の暗号化メッセージ、再送メッセージ（再送されたグループ鍵の暗号化メッセージ）のいずれに該当するかを確認する（Ｓ１０６−２、Ｓ１０６−３）。
【０１２４】
上述のステップＳ１０６−１で子ノードから受信確認メッセージを受信した場合、制御部１３Ａは、送信部２１を用いて当該受信確認メッセージを親ノードに転送する処理を行い（Ｓ１０６−８）、処理を終了する。
【０１２５】
上述のステップＳ１０６−１でリンク鍵又はグループ鍵の暗号化メッセージを受信した場合、制御部１３Ａは、まず、第１の実施形態におけるステップＳ１０３と同様の処理を行う（Ｓ１０６−９）。そして、制御部１３Ａは、今回取得（受信）した暗号鍵（グループ鍵又はリンク鍵）について受信応答を行うか否か（暗号鍵管理装置１０へ受信確認メッセージを送信するか否か）を確認する（Ｓ１０６−１０）。
【０１２６】
制御部１３Ａは、例えば、今回取得した暗号鍵がグループ鍵で、かつ、自ノードが末端通信装置である場合、当該グループ鍵の受信について受信応答を行うと判断する。また、制御部１３Ａは、例えば、今回取得した暗号鍵がリンク鍵である場合は、当該リンク鍵の受信について受信応答を行うと判断する。
【０１２７】
そして、今回取得した暗号鍵について受信応答を行うと判断した場合、制御部１３Ａは、送信部２１を用いて、受信確認メッセージを親ノードに送信して（Ｓ１０６−１２）処理を終了する。一方、今回受信した暗号鍵について受信応答を行わないと判断された場合、制御部１３Ａは、そのまま処理を終了する。
【０１２８】
上述のステップＳ１０６−１で再送メッセージ（再送されたグループ鍵の暗号化メッセージ）を受信した場合、制御部１３Ａは、まず、当該再送メッセージに付加された経路情報に基づいて、自ノードの通信装置情報の１つ前に記される通信装置情報（通常は自ノードの親ノード）のリンク鍵で、再送メッセージを復号する（Ｓ１０６−４）。
【０１２９】
次に、制御部１３Ａは、復号して得たグループ鍵が、すでに受信済のグループ鍵であるか否か（すでに暗号鍵保存部２６に保存されているか否か）を確認し、未受信のグループ鍵である場合（暗号鍵保存部２６に保存されていないグループ鍵）である場合のみ、当該グループ鍵を暗号鍵保存部２６に保存させる（Ｓ１０６−５、Ｓ１０６−１１）。
【０１３０】
次に、制御部１３Ａは、復号して得たグループ鍵を、当該再送メッセージに付加された経路情報に基づいて、自ノードの１つ後に記された通信装置２０Ａ（子ノードのいずれか）のリンク鍵で、当該グループ鍵を暗号化して再送メッセージを再構築し（Ｓ１０６−６）、送信部２１を用いて当該通信装置２０Ａ（当該子ノード）に生成した再送メッセージを送信し（Ｓ１０６−７）、処理を終了する。
【０１３１】
無線通信システム１Ａでは、以上のような処理を、暗号鍵管理装置１０及び各通信装置２０Ａが繰り返すことにより、暗号鍵管理装置１０Ａですべての末端通信装置から受信応答を受信し、全ての通信装置２０Ａで新しいグループ鍵及びリンク鍵の更新が行われたことを確認することができる。
【０１３２】
（Ｂ−３）第２の実施形態の効果
第２の実施形態によれば、以下の効果を奏することができる。
【０１３３】
第２の実施形態の無線通信システム１Ａでは、暗号鍵の配送において、暗号化メッセージを受信できなかった通信装置２０Ａに対する再送処理を行う。また、第２の実施形態では、通信装置２０Ａから暗号鍵管理装置１０Ａへのメッセージ受信確認（グループ鍵を配送する暗号化メッセージの受信確認）を、鍵配送経路における末端の通信装置２０Ａのみが行い、メッセージの再送（グループ鍵を配送する再送メッセージの送信）を、リンク鍵を用いて行う。
【０１３４】
従来のマルチホップネットワークでは、受信確認はメッセージを受信したすべてのノードによって行われるものだが、無線通信システム１Ａでは、送信される暗号化メッセージは経路情報にしたがって末端の通信装置２０Ａまでリンクごとに配送される。そのため、無線通信システム１Ａでは、末端の通信装置２０が受信確認をすれば、その通信装置２０Ａまでの経路上のすべての通信装置２０Ａの受信確認が行えることになる。また、従来のマルチホップネットワークでは、メッセージの再送処理を行う場合、受信確認ができなかったすべてのノードに対して個別に再送を実施するが、無線通信システム１Ａでは、暗号鍵管理装置１０Ａは、受信確認のとれなかった末端通信装置に向けてリンク毎に送信することで、中継区間の通信装置２０の再送処理も同時に行うことができる。以上より、暗号鍵管理装置１０Ａでは、通常の再送処理を実施する場合と比較して、受信確認メッセージ数の削減および、再送メッセージ数の削減が可能となる。
【０１３５】
（Ｃ）他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
【０１３６】
（Ｃ−１）上記の各実施形態の無線通信システムでは、使用する暗号方式について言及しなかったが、一部の方式に限定するものではない。暗号方式は公開鍵暗号方式であってもよいし、共通鍵暗号方式であってもよい。上記の各実施形態の無線通信システムにおいて使用するアルゴリズムについても限定するものではない。例えば、上記の各実施形態の無線通信システムにおいて、公開鍵暗号方式（例えば、ＲＳＡ暗号方式、楕円曲線暗号方式等）、や共通鍵暗号方式（例えば、ＡＥＳ暗号方式や３−ＤＥＳ暗号方式等）を用いるようにしてもよい。また、上記の各実施形態の無線通信システムにおいて用いられる暗号鍵の長さについても限定されないものである。
【０１３７】
（Ｃ−２）上記の各実施形態では、無線通信システムにおけるネットワーク共通の暗号鍵（グループ鍵）の更新について述べたが、他の暗号鍵についても同様の配信方式を適用するようにしてもよい。例えば、上記の各実施形態の無線通信システムにおけるグループ鍵の配信方式で、ネットワーク上の通信装置の間で秘密に共有したいデータ配送（例えば、機密性の高い文書データ等の配送）を行うようにしてもよい。
【０１３８】
（Ｃ−３）上記の各実施形態では、暗号鍵管理装置（経路情報管理部）で保持する経路情報はソースルーティングによるネットワークトポロジ（ツリートポロジ）であるものとしたが、暗号鍵管理装置（経路情報管理部）で保持する経路情報の形式はこれに限定されない。例えば、暗号鍵管理装置が近隣の複数の通信装置とリンクを持つようなメッシュネットワークのトポロジとして管理し、メッセージを配送する際は、複数ある経路の候補の中から一つの経路を選択して配送手続きを実施するようにしてもよい。
【０１３９】
（Ｃ−４）上記の各実施形態の無線通信システムでは、離脱装置に対するネットワークの再構成を暗号鍵管理装置が主導して行っていたが、これに限定するものではない。例えば通信装置が新しいリンクを各自で確立し、新しいリンク情報を暗号鍵管理装置に送信して、暗号鍵管理装置が新しいネットワークトポロジを経路情報管理部に反映するようにしてもよい。
【０１４０】
（Ｃ−５）上記の各実施形態の無線通信システムでは、ネットワークで運用する暗号鍵として各リンクに対応付けられるリンク鍵を用いたが、リンク鍵ではなく、もしくはリンク鍵に加えて各通信装置が自分の全ての子ノードと共有する暗号鍵（以下、「隣接鍵」と呼ぶ）を用いるようにしてもよい。この場合、無線通信システムにおいて、ネットワーク共通の暗号鍵を配送する際は、前記隣接鍵でネットワーク共通の暗号鍵を暗号化し、全ての子ノードに向けてブロードキャスト送信する。このような運用を行うことで、各通信装置は１回の送信を行うのみでよいため配送時間の短縮や管理する鍵の数の低減等を実現できる。リンク鍵はノード間のリンクの数分発生する鍵であるが、隣接鍵は、子ノードを備えるノードの数分発生する鍵である。例えば、リンク鍵を採用する場合、子ノードを３つ有するノード（通信装置又は暗号鍵管理装置）は、それぞれの子ノードに対して別個のリンク鍵（３つのリンク鍵）を共有する。これに対して、隣接鍵を採用する場合、子ノードを３つ有するノードは１つの隣接鍵を３つの子ノードと共有（すなわち、１つの親ノードと３つの子ノードの計４つのノードで１つの隣接鍵を共有）することになる。すなわち、リンク鍵を採用する場合よりも隣接鍵を採用する方が、複数の子ノードを有するノードで管理する鍵の数が低減されることになる。
【０１４１】
（Ｃ−６）上記の各実施形態では暗号鍵管理装置は、１つの装置として構成される例について説明したが、構成要素ごと（例えば、図１に示すブロックごと）に、装置を分けた構成としてもよい。例えば、暗号鍵管理装置において、暗号鍵の生成や経路情報の管理等の機能について別装置で構築するようにしてもよい。
【符号の説明】
【０１４２】
１…無線通信システム、１０…暗号鍵管理装置、１１…送信部、１２…受信部、１３…制御部、１４…暗号化処理部、１５…暗号鍵生成部、１６…暗号鍵保存部、１７…経路情報管理部、２０、２０−Ｎ１〜２０−Ｎ８…通信装置、２１…送信部、２２…受信部、２３…制御部、２４…暗号化処理部、２５…復号化処理部、２６…暗号鍵保存部、２７…リンク情報管理部。
【図１】
2017050580.tif 000003
【図２】
2017050580.tif 000004
【図３】
2017050580.tif 000005
【図４】
2017050580.tif 000006
【図５】
2017050580.tif 000007
【図６】
2017050580.tif 000008
【図７】
2017050580.tif 000009
【図８】
2017050580.tif 000010
【図９】
2017050580.tif 000011