(57)【要約】【課題】  通信トラフィックを増大させずにセキュリティを高められる無線マルチホップネットワークのノード（通信装置）を提供する。【解決手段】  対象の通信システムは、配信サーバが、データを無線マルチホップネットワークに投入する前に、認証符号を投入して配信させるものである。配信サーバが認証符号をネットワークに投入すると、各中継ノードは、認証符号の中継後に、当該中継ノードに隣接するノードが同じ認証符号を中継したかチェックすることにより、ドミノ倒し式に認証符号の完全性を保障する。【選択図】      図１
2016181815.tif 000002
【特許請求の範囲】
【請求項１】
データの配信元の通信装置が、上記データを無線マルチホップネットワークに投入する前に、上記データに基づいて形成した認証符号を上記無線マルチホップネットワークに投入して配信させる通信システムにおける上記無線マルチホップネットワークの構成要素である通信装置において、
外部装置と通信する通信手段と、
上記通信手段の受信状況に基づき、当該通信装置と１ホップで転送可能な隣接通信装置が認証符号をブロードキャストしたか否かを記憶する隣接通信装置情報記憶手段と、
認証符号を記憶する認証符号記憶手段と、
認証符号又はデータを上記通信手段からブロードキャストさせるブロードキャスト手段と、
上記通信手段が認証符号を受信した場合において、上記認証符号記憶手段に認証符号が記憶されているときには、記憶されている認証符号と、受信した認証符号とが等しいか否かを比較し、上記認証符号記憶手段に認証符号が記憶されていないときには、受信した認証符号を上記認証符号記憶手段に記憶させると共に、上記ブロードキャスト手段に与える比較手段と、
上記比較手段が記憶されている認証符号と受信した認証符号とが異なるという結果を得たとき、並びに、上記隣接通信装置情報記憶手段が記憶する隣接通信装置のうちに、認証符号が到達しているのにブロードキャスト中継を確認できない隣接通信装置があるときに、アラートを上位に通知する異常制御手段と、
上記通信手段がデータを受信したとき、受信データに基づいて内部で認証符号を生成し、生成した認証符号と、上記認証符号記憶手段に記憶されている認証符号とが照合して認証する認証手段と
を有することを特徴とする通信装置。
【請求項２】
上記認証手段は、認証成功時に上記認証符号記憶手段に記憶されている認証符号を消去させることを特徴とする請求項１に記載の通信装置。
【請求項３】
上記ブロードキャスト手段は、認証符号を、ＴＴＬを１としてブロードキャストさせることを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
上記通信手段は、ＴＴＬが１でブロードキャストされた認証符号以外の認証符号を受信しても、その受信を無視することを特徴とする請求項１〜３のいずれかに記載の通信装置。
【請求項５】
上記異常制御手段は、受信した認証符号を上記ブロードキャスト手段がブロードキャストさせた時刻から所定時間後の時刻を確認限界時刻とし、確認限界時刻にブロードキャスト中継を確認できない隣接通信装置があるときに、アラートを上位に通知することを特徴とする請求項１〜４のいずれかに記載の通信装置。
【請求項６】
上記異常制御手段は、上記確認限界時刻までにブロードキャスト中継を確認できなかった隣接通信装置についてリトライを上位に通知すると共に、ブロードキャスト中継を確認できない隣接通信装置に対して、個別に認証符号の再ブロードキャストを命令し、この命令に対するブロードキャスト中継を確認できない場合には、リトライ失敗を上位に連絡し、上記命令に対するブロードキャスト中継を確認できた場合には、リトライ成功を上位に連絡することを特徴とする請求項１〜５のいずれかに記載の通信装置。
【請求項７】
上記ブロードキャスト手段は、再ブロードキャストの命令を上記通信手段が受信したときに、上記認証符号記憶手段に記憶されている認証符号をブロードキャストすることを特徴とする請求項６に記載の通信装置。
【請求項８】
上記再ブロードキャストの命令に、上記認証符号記憶手段が記憶している認証符号を含めることを特徴とする請求項６に記載の通信装置。
【請求項９】
上記ブロードキャスト手段は、再ブロードキャストの命令を上記通信手段が受信したときに、上記命令に含まれる認証符号をブロードキャストすることを特徴とする請求項８に記載の通信装置。
【請求項１０】
上記比較手段が、上記認証符号記憶手段に記憶されている認証符号と、受信した認証符号とが等しいという結果を得たときに、認証符号の受信通知を上記通信手段から送信させる受信通知手段をさらに備えることを特徴とする請求項１〜９のいずれかに記載の通信装置。
【請求項１１】
上記受信通知手段は、当該通信装置が、データの配信元の上記通信装置からの認証符号又はデータを受け入れる通信装置との伝搬遅延が最も大きい通信装置である場合に、受信通知を送信させることを特徴とする請求項１０に記載の通信装置。
【請求項１２】
上記通信手段は、認証符号の送信元の通信装置が所定の通信装置か否かを判別する認証符号送信元判別部を有し、
上記異常制御手段は、上記所定の通信装置以外の通信装置から認証符号が到達したときに、アラートを上位に通知する
ことを特徴とする請求項１〜９のいずれかに記載の通信装置。
【請求項１３】
データの配信元の通信装置が、上記データを無線マルチホップネットワークに投入する前に、上記データに基づいて形成した認証符号を上記無線マルチホップネットワークに投入して配信させる通信システムにおける上記配信元の通信装置において、
外部装置と通信する通信手段と、
配信するデータを記憶する配信データ記憶手段と、
上記データに対する認証符号を生成する認証符号生成手段と、
生成した認証符号をデータに先立って配信する認証符号配信手段と、
上記データを配信するデータ配信手段と、
アラートの受信時に、アラートの内容に応じて予め定められた処理を実行するものであり、リトライ通知を受け取ったときに、上記データ配信手段によるデータ配信の開始を禁止し、その後、リトライ成功が連絡されたときに上記データ配信手段によるデータ配信を許可し、リトライ失敗が連絡されたときに予め定められたアラート処理を実行する異常制御手段と
を有することを特徴とする通信装置。
【請求項１４】
受信通知が到来するまで上記データ配信手段によるデータ配信を禁止する受信通知受領手段を備えることを特徴とする請求項１３に記載の通信装置。
【請求項１５】
データの配信元の通信装置が、上記データを無線マルチホップネットワークに投入する前に、上記データに基づいて形成した認証符号を上記無線マルチホップネットワークに投入して配信させる通信システムにおいて、
上記無線マルチホップネットワークの構成要素である通信装置が、請求項１〜請求項１２のいずれかに記載の通信装置であることを特徴とする通信システム。
【請求項１６】
上記無線マルチホップネットワークの構成要素である通信装置が、請求項６に記載の通信装置であり、上記配信元の通信装置が、請求項１３に記載の通信装置であることを特徴とする請求項１５に記載の通信システム。
【請求項１７】
データの配信元の通信装置が、上記データを無線マルチホップネットワークに投入する前に、上記データに基づいて形成した認証符号を上記無線マルチホップネットワークに投入して配信させる通信システムにおける上記無線マルチホップネットワークの構成要素である、外部装置と通信する通信手段を有する通信装置に搭載されるコンピュータを、
上記通信手段の受信状況に基づき、当該通信装置と１ホップで転送可能な隣接通信装置が認証符号をブロードキャストしたか否かを記憶する隣接通信装置情報記憶手段と、
認証符号を記憶する認証符号記憶手段と、
認証符号又はデータを上記通信手段からブロードキャストさせるブロードキャスト手段と、
上記通信手段が認証符号を受信した場合において、上記認証符号記憶手段に認証符号が記憶されているときには、記憶されている認証符号と、受信した認証符号とが等しいか否かを比較し、上記認証符号記憶手段に認証符号が記憶されていないときには、受信した認証符号を上記認証符号記憶手段に記憶させると共に、上記ブロードキャスト手段に与える比較手段と、
上記比較手段が記憶されている認証符号と受信した認証符号とが異なるという結果を得たとき、並びに、上記隣接通信装置情報記憶手段が記憶する隣接通信装置のうちに、認証符号が到達しているのにブロードキャスト中継を確認できない隣接通信装置があるときに、アラートを上位に通知する異常制御手段と、
上記通信手段がデータを受信したとき、受信データに基づいて内部で認証符号を生成し、生成した認証符号と、上記認証符号記憶手段に記憶されている認証符号とが照合して認証する認証手段と
して機能させることを特徴とする通信プログラム。
【請求項１８】
データの配信元の通信装置が、上記データを無線マルチホップネットワークに投入する前に、上記データに基づいて形成した認証符号を上記無線マルチホップネットワークに投入して配信させる通信システムにおける、外部装置と通信する通信手段を有する上記配信元の通信装置に搭載されるコンピュータを、
配信するデータを記憶する配信データ記憶手段と、
上記データに対する認証符号を生成する認証符号生成手段と、
生成した認証符号をデータに先立って配信する認証符号配信手段と、
上記データを配信するデータ配信手段と、
アラートの受信時に、アラートの内容に応じて予め定められた処理を実行するものであり、リトライ通知を受け取ったときに、上記データ配信手段によるデータ配信の開始を禁止し、その後、リトライ成功が連絡されたときに上記データ配信手段によるデータ配信を許可し、リトライ失敗が連絡されたときに予め定められたアラート処理を実行する異常制御手段と
して機能させることを特徴とする通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信装置、通信システム及び通信プログラムに関し、例えば、センサネットワークのような無線マルチホップネットワークにおいて比較的サイズの大きいデータをブロードキャストする場合に適用し得るものである。
【背景技術】
【０００２】
無線マルチホップネットワークは、パケットを中継する機能を持った無線ノードを介することにより、基地局（コーディネータ、シンクノード等とも呼ばれる）から直接電波が届かない無線ノードともパケットを送受信できる。
【０００３】
無線マルチホップネットワークの一つの応用システムであるセンサネットワークは、主に実環境の情報を集めるのに利用されることが想定される。ネットワークの各ノードは、センサと、非常に少ないリソースのマイクロコンピュータと、通信モジュールとを備え、コストの観点から消費電力を徹底して抑制させた運用が求められる。
【０００４】
一方、システムの信頼性への要求も高く、安定した通信だけでなく障害発生時の検知、影響の最小化、さらには短時間での回復も要求される場合がある。局所的な問題は、局所的な対応（機器交換等）で解決することもできるが、ノードのファームウェアにバグ等の問題があった場合、センサネットワーク全体に影響がでる可能性がある。当然、現在のパソコン（ＰＣ）と同じように、ファームウェアの自動更新機能が搭載されることが予想されるが、この機能を悪用されるとシステムの健全性が危殆化してしまう恐れがある。
【０００５】
無線マルチホップネットワークにおいては、ネットワーク全体で共有する鍵情報（以下、ネットワーク共通鍵若しくは共通鍵と呼ぶ）を用いて、共通鍵情報を持たない外部の攻撃者による盗聴・改ざん・なりすましなどから、情報を保護する仕組みが一般に採用される。一方、内部の攻撃者に対しては無防備である。そのため、ファームウェアのアップデートプログラムのようにシステムの健全性に直結する情報をブロードキャス卜する場合には、配信元（配信サーバ）とエンドの配信先ノードとの間で行われる恐れがあるなりすまし・改ざんに対して安全が保障されることが望ましい。
【０００６】
このような安全性への要求に対して、公開鍵暗号技術を適用する方法が解の１つと考えられる。しかし、センサネットワークのノードのような低リソース機器においては、既存の公開鍵暗号方式は、比較的大きなプログラムサイズと比較的大きなＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）領域を必要とすると共に、数学的な計算に多くのＣＰＵ時間を必要とすることが、公開鍵暗号技術を適用することのネックとなることが予想され、また、大規模なセンサネットワークにおいては証明書の管理が、公開鍵暗号技術を適用することのネックとなることが予想される。
【０００７】
公開鍵暗号技術を適用することなく、対称鍵ベースのアルゴリズムのみで、ブロードキャストデータの完全性と送信元を認証する方法が既に提案されている（非特許文献１、非特許文献２参照）。
【０００８】
非特許文献１で提案されている方法では、データ配信サーバが、共通鍵ベースのメッセージ認証符号を付与してブロードキャストする。このメッセージ認証符号は、共通鍵とメッセージの組み合わせに一意の符号であり、共通鍵を持つエンティティはメッセージ認証符号を生成することも検証することもできるが、共通鍵を持たないエンティティはメッセージ認証符号を生成することも検証することもできない。非特許文献１の提案方法では、上述したメッセージ認証符号を配信した段階では検証するための鍵情報は公開せず、ノードがデータを受信するのに十分な時間が経過した後に、認証用の共通鍵をネットワーク全体に公開し、各ノードが、事前に配信サーバから配られている事前情報を用いて公開されたデータ認証鍵の正当性を、簡単な処理で確認できる仕組みになっている。各ノードは、データ認証鍵の正当性を確認した上で受信済みのデータの認証符号を検証することになる。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Ａ．Ｐｅｒｒｉｇ，ｅｔ  ａｌ．，“ＳＰＩＮＳ：Ｓｅｃｕｒｉｔｙ  Ｐｒｏｔｏｃｏｌｓ  ｆｏｒ  Ｓｅｎｓｏｒ  Ｎｅｔｗｏｒｋｓ，”Ｗｉｒｅｌｅｓｓ  Ｎｅｔｗｏｒｋｓ  Ｊｏｕｒｎａｌ．，ｖｏｌ．８，ｎｏ．５，２００２，ｐｐ．５２１−５３４
【非特許文献２】Ｔ．Ｙａｏ，Ｓ．Ｆｕｋｕｎａｇａ，ａｎｄ  Ｔ．Ｎａｋａｉ，“Ｒｅｌｉａｂｌｅ  ｂｒｏａｄｃａｓｔ  ｍｅｓｓａｇｅ  ａｎｄ  ａｕｔｈｅｎｔｉｃａｔｉｏｎ  ｉｎ  ｗｉｒｅｌｅｓｓ  ｓｅｎｓｏｒ  ｎｅｔｗｏｒｋｓ，”ＬＮＣＳ，ｖｏｌ．４０９７，２００６，ｐｐ．２７１−２８０
【発明の概要】
【発明が解決しようとする課題】
【００１０】
非特許文献１の提案方法において、上述した認証鍵は所定時間内でのみ有効であり、この認証鍵の有効期間を過ぎて受け取った認証鍵で生成されたメッセージ認証符号は、認証の成否に拘わらず信用しないこととしている。そのため、ネットワーク全体で時刻を同期しておく必要がある。しかし、特に、大規模なネットワークにおいては、この時刻同期が技術的に難しい問題と考えられる。この問題を避けるために、仮に、メッセージ認証符号が行き渡らない段階でデータを配信することとした場合には、先行して認証鍵情報を受信したノードが、認証鍵情報を受信していないノードに対して、配信サーバに代わって（任意の）データ（例えば、ファームウェアの不正なアップデートプログラム）を配信することができてしまう。特に、センサネットワークでは、上流のノードが故意にパケットの流れをせき止めたりすることにより、下流のノードに対して、上述した先行受信のノードによる中間者攻撃を行うことができると考えられる。
【００１１】
上述した時刻同期問題に鑑み、非特許文献２の提案技術では、各ノードが受信証明情報を配信サーバに送信することにより、配信サーバが全ノードにメッセージ認証符号が正しく配信されたことを確認できるようにしている。
【００１２】
しかし、非特許文献２の提案技術を利用しても、各ノードが受信証明情報を送信するため、ノードの数に比例した通信トラフィックが発生する。省電力なセンサネットワークでは、本来のセンシングデータ以外での通信トラフイァクの発生は抑制されるのが望ましい。
【００１３】
そのため、通信トラフィックを増大させることなくセキュリティを高めることができる通信装置、通信システム及び通信プログラムが望まれている。
【課題を解決するための手段】
【００１４】
第１の本発明は、データの配信元の通信装置が、上記データを無線マルチホップネットワークに投入する前に、上記データに基づいて形成した認証符号を上記無線マルチホップネットワークに投入して配信させる通信システムにおける上記無線マルチホップネットワークの構成要素である通信装置において、（１）外部装置と通信する通信手段と、（２）上記通信手段の受信状況に基づき、当該通信装置と１ホップで転送可能な隣接通信装置が認証符号をブロードキャストしたか否かを記憶する隣接通信装置情報記憶手段と、（３）認証符号を記憶する認証符号記憶手段と、（４）認証符号又はデータを上記通信手段からブロードキャストさせるブロードキャスト手段と、（５）上記通信手段が認証符号を受信した場合において、上記認証符号記憶手段に認証符号が記憶されているときには、記憶されている認証符号と、受信した認証符号とが等しいか否かを比較し、上記認証符号記憶手段に認証符号が記憶されていないときには、受信した認証符号を上記認証符号記憶手段に記憶させると共に、上記ブロードキャスト手段に与える比較手段と、（６）上記比較手段が記憶されている認証符号と受信した認証符号とが異なるという結果を得たとき、並びに、上記隣接通信装置情報記憶手段が記憶する隣接通信装置のうちに、認証符号が到達しているのにブロードキャスト中継を確認できない隣接通信装置があるときに、アラートを上位に通知する異常制御手段と、（７）上記通信手段がデータを受信したとき、受信データに基づいて内部で認証符号を生成し、生成した認証符号と、上記認証符号記憶手段に記憶されている認証符号とが照合して認証する認証手段とを有することを特徴とする。
【００１５】
第２の本発明は、データの配信元の通信装置が、上記データを無線マルチホップネットワークに投入する前に、上記データに基づいて形成した認証符号を上記無線マルチホップネットワークに投入して配信させる通信システムにおける上記配信元の通信装置において、（１）外部装置と通信する通信手段と、（２）配信するデータを記憶する配信データ記憶手段と、（３）上記データに対する認証符号を生成する認証符号生成手段と、（４）生成した認証符号をデータに先立って配信する認証符号配信手段と、（５）上記データを配信するデータ配信手段と、（６）アラートの受信時に、アラートの内容に応じて予め定められた処理を実行するものであり、リトライ通知を受け取ったときに、上記データ配信手段によるデータ配信の開始を禁止し、その後、リトライ成功が連絡されたときに上記データ配信手段によるデータ配信を許可し、リトライ失敗が連絡されたときに予め定められたアラート処理を実行する異常制御手段とを有することを特徴とする。
【００１６】
第３の本発明は、データの配信元の通信装置が、上記データを無線マルチホップネットワークに投入する前に、上記データに基づいて形成した認証符号を上記無線マルチホップネットワークに投入して配信させる通信システムにおいて、上記無線マルチホップネットワークの構成要素である通信装置として、第１の本発明の通信装置を適用したことを特徴とする。
【００１７】
第４の本発明の通信プログラムは、データの配信元の通信装置が、上記データを無線マルチホップネットワークに投入する前に、上記データに基づいて形成した認証符号を上記無線マルチホップネットワークに投入して配信させる通信システムにおける上記無線マルチホップネットワークの構成要素である、外部装置と通信する通信手段を有する通信装置に搭載されるコンピュータを、（１）上記通信手段の受信状況に基づき、当該通信装置と１ホップで転送可能な隣接通信装置が認証符号をブロードキャストしたか否かを記憶する隣接通信装置情報記憶手段と、（２）認証符号を記憶する認証符号記憶手段と、（３）認証符号又はデータを上記通信手段からブロードキャストさせるブロードキャスト手段と、（４）上記通信手段が認証符号を受信した場合において、上記認証符号記憶手段に認証符号が記憶されているときには、記憶されている認証符号と、受信した認証符号とが等しいか否かを比較し、上記認証符号記憶手段に認証符号が記憶されていないときには、受信した認証符号を上記認証符号記憶手段に記憶させると共に、上記ブロードキャスト手段に与える比較手段と、（５）上記比較手段が記憶されている認証符号と受信した認証符号とが異なるという結果を得たとき、並びに、上記隣接通信装置情報記憶手段が記憶する隣接通信装置のうちに、認証符号が到達しているのにブロードキャスト中継を確認できない隣接通信装置があるときに、アラートを上位に通知する異常制御手段と、（６）上記通信手段がデータを受信したとき、受信データに基づいて内部で認証符号を生成し、生成した認証符号と、上記認証符号記憶手段に記憶されている認証符号とが照合して認証する認証手段として機能させることを特徴とする。
【００１８】
第５の本発明の通信プログラムは、データの配信元の通信装置が、上記データを無線マルチホップネットワークに投入する前に、上記データに基づいて形成した認証符号を上記無線マルチホップネットワークに投入して配信させる通信システムにおける、外部装置と通信する通信手段を有する上記配信元の通信装置に搭載されるコンピュータを、（１）配信するデータを記憶する配信データ記憶手段と、（２）上記データに対する認証符号を生成する認証符号生成手段と、（３）生成した認証符号をデータに先立って配信する認証符号配信手段と、（４）上記データを配信するデータ配信手段と、（５）アラートの受信時に、アラートの内容に応じて予め定められた処理を実行するものであり、リトライ通知を受け取ったときに、上記データ配信手段によるデータ配信の開始を禁止し、その後、リトライ成功が連絡されたときに上記データ配信手段によるデータ配信を許可し、リトライ失敗が連絡されたときに予め定められたアラート処理を実行する異常制御手段として機能させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、通信トラフィックを増大させることなくセキュリティを高めることができる通信装置、通信システム及び通信プログラムを提供できる。
【図面の簡単な説明】
【００２０】
【図１】第１の実施形態のデータブロードキャスト配信システムの構成を示すブロック図である。
【図２】第１の実施形態のデータブロードキャスト配信システムにおける配信先ノードの機能的構成を示すブロック図である。
【図３】第１の実施形態のデータブロードキャスト配信システムにおける配信サーバの機能的構成を示すブロック図である。
【図４】第１の実施形態のデータブロードキャスト配信システムにおける配信サーバの認証符号及びデータの配信時動作を示すフローチャートである。
【図５】第１の実施形態のデータブロードキャスト配信システムにおける配信先ノードの認証符号の送受信動作を示すフローチャートである。
【図６】第１の実施形態のデータブロードキャスト配信システムにおける特定の場合の認証符号の配信時動作を説明するための無線マルチホップネットワークの構成を示すブロック図である。
【図７】第２の実施形態のデータブロードキャスト配信システムにおけるシンクノードの機能的構成を示すブロック図である。
【発明を実施するための形態】
【００２１】
（Ａ）第１の実施形態
以下、本発明による通信装置、通信システム及び通信プログラムの第１の実施形態を、図面を参照しながら説明する。第１の実施形態の通信システムは、無線マルチホップネットワークを含むデータブロードキャスト配信システムである。
【００２２】
第１の実施形態のブロードキャストデータ配信システムにおける特徴は以下の通りである。第１の実施形態のブロードキャストデータ配信システムは、はじめに配信サーバがデータ認証用の認証符号を無線ネットワークに投入し、各中継ノードは、認証符号の中継後に、当該中継ノードに隣接するノード（隣接ノード）が中継を行う場合に同じ認証符号を中継しているかをチェックすることにより、ドミノ倒し式に認証符号の完全性を保障するものであり、仮に隣接ノードが違う認証符号を中継したり、中継すべきノードが中継をしなかったりした場合に、当該中継ノードがアラートを上位（ユーザやオペレータ等、若しくはこれらの者に係る装置）に挙げることを特徴とする。
【００２３】
（Ａ−１）第１の実施形態の構成
図１は、第１の実施形態のデータブロードキャスト配信システム１の構成を示すブロック図である。
【００２４】
図１において、データブロードキャスト配信システム１は、無線マルチホップネットワーク１０と、配信サーバ２０とを有する。
【００２５】
無線マルチホップネットワーク１０は、配信先の無線通信装置である複数（図１では３個の場合を示している）のノード（以下、配信先ノードと呼ぶ）１００−１〜１００−３と、無線マルチホップネットワーク１０内に配信データを投入する通信装置であるシンク（Ｓｉｎｋ）ノード１５０を有する。なお、シンクノード１５０自体もデータの配信先であっても良い。無線マルチホップネットワーク１０は、例えば、シンクノード１５０をトップノードとしたツリー状ネットワークになっており、図１は、シンクノード１５０からあるエンドの配信先ノード１００−３へのマルチホップ経路を取り出して示している。エンドノードは１つに限定されず、図１に示すようなマルチホップ経路が複数あっても良い。また、シンクノード１５０も複数存在していても良く、各シンクノードをそれぞれトップノードとした複数のツリー状ネットワークがあっても良い。
【００２６】
配信サーバ２０は、配信元の通信装置であって配信データを配信先ノード１００−１〜１００−３（やシンクノード１５０）に供給させるものである。配信データは、一般的なデータに限定されず、プログラム（例えば、ファームウェアのアップデートプログラム）などであっても良い。配信サーバ２０は、直接的には、配信データをシンクノード１５０へ与えるものである。
【００２７】
ここで、シンクノード１５０と配信サーバ２０とは安全な通信路（無線、有線を問わない）で接続されているものとする。
【００２８】
シンクノード１５０は、配信サーバ２０から与えられた送信情報（認証符号若しくは配信データ）を、下流の各配信先ノード１００−１〜１００−３へ向けてブロードキャストするものである。図１は、シンクノード１５０からの送信情報は、配信先ノード１００−１、配信先ノード１００−２及び配信先ノード１００−３の順に転送されていく例を示している。各配信先ノード１００−１〜１００−３は同様な構成を有するものであり、マルチホップ経路の構築時に、上述した転送順序に決定されたものである。すなわち、エンドの配信先ノード１００−３も、周囲のノードの配置などが異なるマルチホップ経路の構築時には中継ノードとなることもあり、そのため、内部構成は、他の配信先ノード１００−２や１００−３と同様で、中継にも対応できるものである。さらに、シンクノード１５０も、配信サーバ２０との通信機能を除けば、配信先ノード１００−１〜１００−３と同様な構成を有する。
【００２９】
シンクノード１５０及び全ての配信先ノード１００−１〜１００−３はネットワーク共通鍵Ｋを共有している。この共通鍵Ｋは、ネットワーク外部に存在する共通鍵Ｋを知らない攻撃者からの盗聴・改ざん・なりすましを防ぐための鍵情報である。しかし、共通鍵Ｋは、第１の実施形態で想定する無線マルチホップネットワーク１０の内部の攻撃者からの攻撃を防ぐことはできない。後述する動作説明では、配信先ノード１００−２が配信サーバになりすましたり認証符号を改ざんしたりすることを目的とする悪意のあるノードであるとする（図１に、「ｃｏｍｐｒｏｉｓｅｄ」と記載しているのはこのことを表している）。
【００３０】
配信サーバ２０から出力される配信データ（以下、単にデータと呼ぶこともある）ｍと認証符号ｍａとには、（１）式に示す関係がある。すなわち、認証符号ｍａは、データｍと共通鍵Ｋとが適用されて（１）式に従って作成される。
ｍａ＝ＨＭＡＣ（Ｋ，ｍ）      …（１）
【００３１】
（１）式におけるＨＭＡＣ（α，β）は、例えば、鍵αとメッセージβを入力とするハッシュＭＡＣ（Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）アルゴリズム（関数）である。ＨＭＡＣ（α，β）としては、例えば、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）暗号等のブロック暗号を用いたＣＢＣ−ＭＡＣ（Ｃｉｐｈｅｒ  Ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ−Ｍｅｓｓａｇｅ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ  Ｃｏｄｅ）がある。この中で利用されるハッシュ関数は、例えば、ＭＤ５（Ｍｅｓｓａｇｅ  Ｄｉｇｅｓｔ  ５）やＳＨＡ−１（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ）があり、鍵Ｋを共有していれば、データｍを受け取って上記関数を計算した結果と、予め受信している認証符号ｍａとを比較することで、共通鍵Ｋを持たない攻撃者が改ざん若しくは偽造したデータか否かを検証することができる。
【００３２】
第１の実施形態の無線マルチホップネットワーク１０は、データｍのブロードキャストに先立ち、認証符号（認証符号情報）ｍａをブロードキャストするようになされている。
【００３３】
図２は、配信先ノード１００（１００−１〜１００−３）の機能的構成を示すブロック図である。
【００３４】
配信先ノード１００は、ハードウェア的な各種構成要素を接続して構築されたものであっても良く、また、送受信部１０１におけるハードウェア的な構成が必須の部分を除き、ＣＰＵ、ＲＯＭ、ＲＡＭなどのプログラムの実行構成を適用してその機能を実現するように構築されたものであっても良い。いずれの構築方法を適用した場合であっても、配信先ノード１００の機能的な詳細構成を、図２で表すことができる。配信先ノード１００が、エンドノードとなっている場合、中継ノードとなっている場合のいずれであっても図２で表すことができる。
【００３５】
図２において、配信先ノード１００は、送受信部（以下、ノード内送受信部と呼ぶ）１０１、隣接ノード情報記憶部１０２、比較部１０３、認証符号記憶部１０４、異常制御部（以下、ノード内異常制御部と呼ぶ）１０５、ブロードキャスト（以下、ＢＣと呼ぶ）部１０６及び受信通知部１０７を有する。なお、シンクノード１５０も、配信先ノード１００と同様な構成を有している。
【００３６】
ノード内送受信部１０１は、当該無線マルチホップネットワーク１０が該当する無線マルチホップネットワークとしての情報（配信データや認証符号）の送受信を行うものである。なお、シンクノード１５０におけるノード内送受信部１０１は、上記の機能に加え、配信サーバ２０と情報を送受信する機能も担っている。
【００３７】
隣接ノード情報記憶部１０２は、隣接ノードのアドレスと後述する情報（空白のこともあり得る）とを対応付けて記憶しており、必要に応じて、記憶してあるアドレスや情報を比較部１０３及びノード内異常制御部１０５に与える。隣接ノード情報記憶部１０２には、例えば、システム全体がマルチホップ経路を探索（再探索を含む）した際に、当該配信先ノード１００が得た１ホップで転送可能な隣接ノードのアドレスが書き込まれ、そのアドレスに対応する情報を書き込むことができるエリアが用意される。隣接ノード情報記憶部１０２は、ブロードキャストした情報（認証情報若しくは配信データ）を隣接ノードが再ブロードキャストしたか否かについて記憶して管理する。なお、隣接ノード情報記憶部１０２は、ブロードキャストすべき情報を送信してきた上流の隣接ノードについては、最初の受信時に再ブロードキャスト（中継）済みとする。
【００３８】
比較部１０３は、配信サーバ２０からの認証符号情報をノード内送受信部１０１が受信した場合において、認証符号記憶部１０４が認証符号情報を記憶しているときには、記憶してある認証符号情報と受信した認証符号情報を比較する。比較部１０３は、比較の結果が一致しない場合にはノード内異常制御部１０５に異常を通知し、比較の結果が一致する場合にはそれ以上何もしない。比較部１０３は、配信サーバ２０からの認証符号情報をノード内送受信部１０１が受信した場合において、認証符号記憶部１０４に何らの認証符号情報もないときには、受信した認証符号情報を認証符号記憶部１０４に記憶させ、また、ＢＣ部１０６に受信した認証符号情報を出力する。
【００３９】
認証符号記憶部１０４は、比較部１０３から認証符号情報を受け取った場合には、送信元ノードのアドレス情報と共にこれを記憶し、必要に応じ、認証符号情報を比較部１０３に出力し、アドレス情報をノード内異常制御部１０５に出力する。また、認証符号記憶部１０４は、当該配信先ノード１００（若しくは当該シンクノード１５０）が認証符号に対応する、配信サーバ２０からの配信データを受信したときには、記憶してある情報を消去する。なお、認証符号記憶部１０４は、初期状態では何らの情報も記憶していない。
【００４０】
ノード内異常制御部１０５は、比較部１０３から異常を通知された場合にはメッセージ改ざん・偽造のアラートを上位（例えば、当該配信先ノード１００のユーザや配信サーバ２０のオペレータなど）に通知する。また、ノード内異常制御部１０５は、隣接ノード情報記憶部１０２が記憶する隣接ノードのうち、ブロードキャストデータ（配信データ）の中継を行っていないノードを把握しておき、その隣接ノードが所定のタイムアウト時間だけ待っても中継を行わなければ、比較部１０３からの異常通知がなくても、リトライ連絡を上位に通知すると共に、このブロードキャストデータの中継を行っていない隣接ノードに対して、個別に再ＢＣ命令（再ブロードキャスト命令）を送信する。この再ＢＣ命令には、認証符号情報を含めるようにしても良い。ノード内異常制御部１０５は、再ＢＣ命令を送信した場合には、送信先の隣接ノードがブロードキャストデータの中継を行うまで待つ。この待機時間は所定時間であり、ノード内異常制御部１０５は、所定時間が経過しても中継を確認できない場合には、リトライ失敗連絡を上位に通知する。これに対して、ノード内異常制御部１０５は、送信対象ノードによる中継を確認できた場合にはリトライ成功連絡を上位に通知する。
【００４１】
ＢＣ部１０６は、比較部１０３から入力された認証符号情報を、ＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）を１としてノード内送受信部１０１を通じてブロードキャストする。また、ＢＣ部１０６は、隣接ノードから再ＢＣ命令を受信した場合には、認証符号記憶部１０４に記憶されている認証符号情報を、ＴＴＬを１としてブロードキャス卜する。
【００４２】
受信通知部１０７は、無線マルチホップネットワーク１０において、当該送信先ノード１００がシンクノード１５０とのエンド・エンドの通信遅延（パス遅延）が最も大きいノード（エンドノードの中で通信遅延が最も大きいエンドノード）である場合には、認証符号情報を受信したことを配信サーバ２０に通知する。この通信遅延の評価手段については特定の方法に限定されないが、例えば、シンクノード１５０で実際に試験用データを送受信して、往復に要した時間の半分を通信遅延とする方法を挙げることができる。
【００４３】
図３は、配信サーバ２０の機能的構成を示すブロック図である。
【００４４】
配信サーバ２０は、ハードウェア的な各種構成要素を接続して構築されたものであっても良く、また、送受信部２０１におけるハードウェア的な構成が必須の部分を除き、ＣＰＵ、ＲＯＭ、ＲＡＭなどのプログラムの実行構成を適用してその機能を実現するように構築されたものであっても良い。いずれの構築方法を適用した場合であっても、配信サーバ２０の機能的な詳細構成を図３で表すことができる。
【００４５】
図３において、配信サーバ２０は、送受信部（以下、サーバ内送受信部と呼ぶ）２０１、データ記憶部２０２、認証符号生成部２０３、認証符号配信部２０４、異常制御部（以下、サーバ内異常制御部と呼ぶ）２０５、受信通知受領部２０６及びデータ配信部２０７を有する。
【００４６】
サーバ内送受信部２０１は、シンクノード１５０との間で配信データや情報を送受信するものである。
【００４７】
データ記憶部２０２は、ブロードキャストすべき配信データｍを記憶しているものである。
【００４８】
認証符号生成部２０３は、図中には明示していないが、予め記憶してあるネットワークの共通鍵情報Ｋと、データ記憶部２０２が記憶しているデータｍを用いて、上述した（１）式に従って認証符号情報ｍａを生成して認証符号配信部２０４に与えるものである。
【００４９】
認証符号配信部２０４は、生成された認証符号情報ｍａをサーバ内送受信部２０１からシンクノード１５０に送信させるものである。
【００５０】
サーバ内異常制御部２０５は、異常通知及びリトライ失敗連絡を受信した場合に、アラート情報を上位（ユーザやオペレータ等）に通知すると共に、リトライ通知を受信した場合には、データ配信禁止命令をデータ配信部２０７に送出するものである。また、サーバ内異常制御部２０５は、リトライ通知を受信した後にリトライ成功通知を受信した場合には、データ配信許可命令をデータ配信部２０７に送出する。
【００５１】
受信通知受領部２０６は、シンクノード１５０を介して受信通知を受信した場合には、上述したタイムアウト時間だけ待ってから、データ配信をデータ配信部２０７に開始させるデータ配信開始命令を送出するものである。
【００５２】
データ配信部２０７は、受信通知受領部２０６からのデータ配信開始命令を受取っていて、しかも、サーバ内異常制御部２０５からデータ配信禁止命令が出ていない場合には、データ記憶部２０２が記憶するデータｍを配信する。また、データ配信部２０７は、データ配信許可命令をサーバ内異常制御部２０５から受け取った段階で、データ配信開始命令が受信通知受領部２０６から既に受け取っている場合には、直ちにデータｍの配信を開始する。
【００５３】
（Ａ−２）第１の実施形態の動作
次に、以上のような各部からなる第１の実施形態のデータブロードキャスト配信システム１における認証符号やデータを配信先ノード１００に配信する動作を説明する。
【００５４】
（Ａ−２−０）配信データの配信動作
なお、認証符号の配信後に実行される、データｍそのもののブロードキャスト配信には、第１の実施形態の特徴はないので、データの配信動作の詳細な説明は省略するが、この際の配信先ノード１００の動作を簡単に言えば以下の通りである。
【００５５】
配信サーバ２０は、最も遠いエンドノードから認証符号情報の到達通知が届くと、データｍをブロードキャストさせる。配信先ノード１００は、受信したデータと自己が保持する共通鍵Ｋとを適用して（１）式の関数を計算し、その計算結果と、予め受信している認証符号ｍａとを比較し、一致していれば正規の配信データと認識し、不一致の場合には、共通鍵Ｋを持たない攻撃者などが改ざん若しくは偽造したデータと認識する。
【００５６】
（Ａ−２−１）配信サーバ２０における認証符号等の配信時動作
配信サーバ２０は、全てのノード１００−１〜１００−３、１５０へ与えるデータｍが生じたときには、そのデータｍの配信に先立ち、データｍとネットワーク共通鍵Ｋとに基づいて算出した認証符号ｍａの配信動作を実行し、その後にデータｍの配信動作を実行する。
【００５７】
図４は、配信サーバ２０のにおける認証符号及びデータの配信時動作を示すフローチャートである。
【００５８】
配信サーバ２０は、全てのノード１００−１〜１００−３、１５０へ与えるデータｍが生じたときには、まず、データｍとネットワーク共通鍵Ｋとに基づいて認証符号ｍａを算出し、シンクノード１５０からブロードキャストさせる（ステップＳ３００）。そして、配信サーバ２０は、最も遠い配信先ノード（図１の例であればノード１００−３）からのブロードキャストの終了に係る通知を待ち受ける状態となり（ステップＳ３０１）、異常通知を受信したか（ステップＳ３０２）、認証符号の受信に係る通知を受領したか（ステップＳ３０３）の判断処理を繰り返す。
【００５９】
配信サーバ２０は、異常通知を受信したかの判断で肯定結果を得ると、異常通知の受領をアラートとして上位に通知する（ステップＳ３０４）。
【００６０】
一方、配信サーバ２０は、認証符号の受信に係る通知を受領したかの判断で肯定結果を得ると、タイムアウト時間だけ待機した後（ステップＳ３０５）、リトライ連絡を受信したか否かを判断する（ステップＳ３０６）。ここで、リトライ連絡とは、ある配信先ノードが、認証符号のブロードキャストを確認できない隣接ノードに再ＢＣ命令を送信し、認証符号のブロードキャストを再度実行させるようにしたことを、配信サーバ２０に認識させるための連絡である。タイムアウト時間だけ待機してもリトライ連絡が到来しなかった場合には、配信サーバ２０は、データｍのブロードキャスト配信を開始させて（ステップＳ３０７）、図４に示す一連の処理を終了する。
【００６１】
タイムアウト時間中にリトライ連絡が到来していた場合には、配信サーバ２０は、その後に、リトライ成功若しくはリトライ失敗のいずれの連絡が到来したかを判断する（ステップＳ３０８）。リトライ成功連絡が到来すると、配信サーバ２０は、上述したステップＳ３０３に戻る。
【００６２】
一方、リトライ失敗連絡が到来すると、配信サーバ２０は、リトライ失敗連絡の受信をアラートとして上位に通知する（ステップＳ３０４）。
【００６３】
（Ａ−２−２）配信先ノード１００における認証符号の送受信動作
次に、配信先ノード１００における認証符号の送受信動作を説明する。なお、データｍの受信時の動作のこの項での説明は省略する。
【００６４】
図５は、ある配信先ノード１００若しくはシンクノード１５０（以下、いずれの場合であっても配信先ノード１００と呼ぶ）における認証符号の送受信に関連する動作を示すフローチャートである。
【００６５】
配信先ノード１００は、図５に示す動作を繰返し実行しており、待機時には、認証符号若しくは再ＢＣ命令が到来するのを待ち受けている。
【００６６】
配信先ノード１００は、認証符号若しくは再ＢＣ命令を受信すると（ステップＳ４００）、今回の受信より以前に認証符号の受信が済んでいるか否かを判断する（ステップＳ４０１）。
【００６７】
今回の受信より以前に認証符号を受信していない場合には、配信先ノード１００は、受信した認証符号を内部に記憶すると共に（ステップＳ４０２）、その認証符号を、ＴＴＬを１としてブロードキャストし、かつ、送信元のノードを再ブロードキャスト済みとして記憶し（ステップＳ４０３）、その後、後述するステップＳ４０７に移行する。なお、再ＢＣ命令を受信した場合には、ステップＳ４０１の判断で常に受信が済んでいるという結果が得られる。また、再ブロードキャスト済みとして記憶することにより、再ＢＣ命令を送信することが必要となった場合にも、そのノードは再ＢＣ命令の送信先になることはなくなる。
【００６８】
今回の受信より以前に認証符号の受信が済んでいる場合には、配信先ノード１００は、再ＢＣ命令を受信したか受信済みの認証符号を新たに受信するかを判別する（ステップＳ４０４）。再ＢＣ命令を受信した場合には、配信先ノード１００は、上述したステップＳ４０３に移行して、内部に記憶されている認証符号を、ＴＴＬを１としてブロードキャス卜する。
【００６９】
これに対して、今回、認証符号を受信し、この受信の以前にも認証符号を受信していた場合には、配信先ノード１００は、内部で記憶している認証符号と、今回受信した認証符号とが一致しているかを判断する（ステップＳ４０５）。２つの認証符号が不一致であると、配信先ノード１００は、改ざん・偽造などの異常（アラート）を上位に通知する（ステップＳ４０６）。
【００７０】
２つの認証符号が一致している場合、２つの認証符号が不一致で異常通知を行った場合、又は、ＴＴＬを１として認証符号をブロードキャストした場合（ステップＳ４０３参照）には、配信先ノード１００は、全ての隣接ノードから認証符号に係る受信の確認が得られたかを判断する（ステップＳ４０７）。
【００７１】
認証符号に係る受信確認が全ての隣接ノードから得られていない場合には、配信先ノード１００は、最初にステップＳ４０３の処理を実行したときに起動した、全隣接ノードの受信確認用のタイマがタイムアップしたか否かを判断する（ステップＳ４０８）。タイムアップしていない場合には、配信先ノード１００は、認証符号若しくは再ＢＣ命令の到来を待ち受ける状態に戻る。
【００７２】
これに対して、全隣接ノードの受信確認用のタイマがタイムアップした場合には、配信先ノード１００は、配信サーバ２０にリトライを実行することを連絡した後（ステップＳ４０９）、認証符号の受信を確認できていない隣接ノードに再ＢＣ命令を送信する（ステップＳ４１０）。そして、配信先ノード１００は、再ＢＣ命令を送信したときに起動した再ＢＣ確認用のタイマがタイムアップするまでに、再ＢＣ命令を送信した隣接ノードによる認証符号の再ブロードキャストを確認できたか否かを判断する（ステップＳ４１１、Ｓ４１２）。
【００７３】
ここで、認証符号の受信を確認できていない隣接ノードが複数ある場合において、再ＢＣ命令をその中の１つの隣接ノードに送信し、再ブロードキャストを確認できたときに、他の１つの隣接ノードに再ＢＣ命令を送信するように、再ＢＣ命令の送信を１つの隣接ノードを宛先として行うものとする。この場合において、リトライの連絡をその都度行うようにしても良く、１回目の再ＢＣ命令の送信前にだけリトライを連絡するようにしても良い。
【００７４】
なお、上記とは異なって、認証符号の受信を確認できていない隣接ノードが複数ある場合において、再ＢＣ命令の宛先に、認証符号の受信を確認できていない全ての隣接ノードのアドレスを書き込んで、マルチキャスト送信するようにしても良い。
【００７５】
再ＢＣ確認用のタイマがタイムアップするまでに、再ＢＣ命令を送信した隣接ノードによる認証符号の再ブロードキャストを確認できない場合には、配信先ノード１００は、配信サーバ２０にリトライ失敗を連絡して（ステップＳ４１３）、図５に示す一連の処理を終了する。
【００７６】
これに対して、再ＢＣ命令を送信した隣接ノードによる認証符号の再ブロードキャストを確認できた場合には、配信先ノード１００は、上述したステップＳ４０７に戻る。このように戻った場合のステップＳ４０７の判断において、認証符号の受信を確認できていない隣接ノードが残っていればステップＳ４０８に移行し、認証符号の受信を確認できていない隣接ノードが残っていなければ後述するステップＳ４１４に移行する。
【００７７】
再ＢＣ命令を送信したか否かを問わず、認証符号に係る受信確認が全ての隣接ノードから得られた場合（ステップＳ４０７で肯定結果）には、配信先ノード１００は、配信サーバ２０にリトライを連絡していたか否かを判断する（ステップＳ４１４）。リトライを連絡していた場合には、配信先ノード１００は、配信サーバ２０にリトライ成功を連絡した後（ステップＳ４１５）、図５に示す一連の処理を終了し、リトライを連絡していない場合には、配信先ノード１００は、直ちに図５に示す一連の処理を終了する。
【００７８】
（Ａ−２−３）送信先ノード１００−２が認証符号を改ざん中継する場合のシステム全体の動作の流れ
次に、送信先ノード１００−２が認証符号を改ざん若しくは偽造して中継する場合のデータブロードキャスト配信システム１全体の動作の流れを説明する。以下では、無線マルチホップネットワーク１０が、図１に示す構成を有するとして説明する。
【００７９】
（Ａ−２−３−１）第１段階
認証符号を送信する前に、配信サーバ２０のデータ記憶部２０２に配信データｍがセットされている。また、配信サーバ２０は、パス遅延の測定試験を事前に行い、配信先ノード１００−３が最もパス遅延の大きいノード（最遠ノード）であることを、その配信先ノード１００−３に認識させておく。
【００８０】
配信サーバ２０において、配信データｍは認証符号生成部２０３に入力され、認証符号ｍａが生成され、生成された認証符号ｍａが、認証符号配信部２０４によって、サーバ内送受信部２０１を介してシンクノード１５０に与えられる。
【００８１】
シンクノード１５０においては、ノード内送受信部１０１でこの認証符号ｍａが受信されて比較部１０３に与えられる。このときには、認証符号記憶部１０４に何の情報も記憶されていないため、比較部１０３によって、受信された認証符号ｍａが認証符号記憶部１０４に記憶されると共に、ＢＣ部１０６に与えられる。これにより、ＢＣ部１０６によって、認証符号ｍａがノード内送受信部１０１からＴＴＬを１としてブロードキャストされ、隣接ノードに到達する。この際の隣接ノードは配信先ノード１００−１である。
【００８２】
（Ａ−２−３−２）第２段階
配信先ノード１００−１において、シンクノード１５０がブロードキャス卜した認証符号ｍａは、ノード内送受信部１０１で受信されて比較部１０３に与えられる。この際、認証符号記憶部１０４には何の情報も記憶されていない。そのため、受信した認証符号ｍａは、比較部１０３によって認証符号記憶部１０４に記憶されると共に、ＢＣ部１０６に与えられる。また、この際、隣接ノード情報記憶部１０２には、送信元のシンクノード１５０が再ブロードキャスト済みであることが記録される。ＢＣ部１０６によって、受信した認証符号ｍａが、ノード内送受信部１０１からＴＴＬを１としてブロードキャストされると共に、ノード内異常制御部１０５によって、現在時刻から所定時間だけ経過した時刻に達したかのチェックが開始される。
【００８３】
（Ａ−２−３−３）第３段階
配信先ノード１００−１がブロードキャストした認証符号ｍａは、配信先ノード１００−２及びシンクノード１５０で受信される。
【００８４】
まず、配信先ノード１００−１がブロードキャストした認証符号ｍａがシンクノード１５０に到達した際の動作を説明する。
【００８５】
シンクノード１５０において、認証符号ｍａがノード内送受信部１０１で受信されると、比較部１０３に与えられると共に、隣接ノード情報記憶部１０２には、送信元の配信先ノード１００−１が再ブロードキャスト済みであることが記憶される。この際には、認証符号記憶部１０４に認証符号ｍａが記憶されているので、比較部１０３によって、記憶されている認証符号ｍａと、配信先ノード１００−１から受信した認証符号ｍａとが比較される。配信先ノード１００−１が偽造や改ざんも行っていないため、比較の結果は一致となり、シンクノード１５０はそれ以上何もしない。
【００８６】
次に、配信先ノード１００−１がブロードキャストした認証符号ｍａが配信先ノード１００−２に到達した際の動作を説明する。
【００８７】
配信先ノード１００−２において、正当な認証符号ｍａがノード内送受信部１０１で受信されたとする。ここで、配信先ノード１００−２はコンプロマイズされたノードであり、この受信を契機として、ＢＣ部１０６には、偽造した配信データｍｆについての認証符号ｍａｆ＝ＨＭＡＣ（Ｋ，ｍｆ）が与えられ、ノード内送受信部１０１からＴＴＬを１としてブロードキャス卜される。
【００８８】
（Ａ−２−３−４）第４段階
配信先ノード１００−２がブロードキャストした偽造の認証符号ｍａｆは、隣接する配信先ノード１００−１及び配信先ノード１００−３で受信される。
【００８９】
まず、配信先ノード１００−２がブロードキャストした偽造の認証符号ｍａｆが配信先ノード１００−３に到達した際の動作を説明する。
【００９０】
配信先ノード１００−３において、偽造の認証符号ｍａｆがノード内送受信部１０１で受信されると、比較部１０３に与えられると共に、隣接ノード情報記憶部１０２には、送信元の配信先ノード１００−２が再ブロードキャスト済みであることが記憶される。この際、認証符号記憶部１０４には何の情報も記憶されていないため、受信した認証符号ｍａｆは、比較部１０３によって認証符号記憶部１０４に記憶されると共に、ＢＣ部１０６に与えられる。そして、ＢＣ部１０６によって、受信した認証符号ｍａｆが、ノード内送受信部１０１からＴＴＬを１としてブロードキャストされる。この時点で唯一の隣接ノードである配信先ノード１００−２が上述した処理により既に再ブロードキャスト済みであるので、配信サーバ２０宛の受信通知が唯一の隣接ノードである配信先ノード１００−２に送信される。
【００９１】
次に、配信先ノード１００−２がブロードキャストした偽造の認証符号ｍａｆが配信先ノード１００−１に到達した際の動作を説明する。
【００９２】
配信先ノード１００−１において、偽造の認証符号ｍａｆがノード内送受信部１０１で受信されると、比較部１０３に与えられ、認証符号記憶部１０４に記憶されている認証符号ｍａと比較される。２つに認証符号が一致しないため、比較部１０３からノード内異常制御部１０５に異常が通知され、ノード内異常制御部１０５によって、改ざんが行われた旨のアラートがシンクノード１５０に送信される。シンクノード１５０は、これを配信サーバ２０等の上位に上げる。
【００９３】
この後は、セキュリティ上問題がある配信先ノード１００−２が調査されたり、無線マルチホップネットワーク１０から除外されたりする。その後、改めて認証符号ｍａを配信するようにしても良い。
【００９４】
（Ａ−２−３−５）第２段階及び第４段階の補足（正当な動作）
なお、配信先ノード１００−２がコンプロマイズされていない場合（配信先ノード１００−２が正当な場合）には、上述した第２段階において、配信先ノード１００−２が受信した認証符号ｍａがＴＴＬを１としてブロードキャストされ、送信元の配信先ノード１００−１や下流の配信先ノード１００−３に到達する。そのため、第４段階において、上流の配信先ノード１００−１で異常が検出されることはなく、また、下流の配信先ノード１００−３は、認証符号ｍａを受信して再ブロードキャストした後、受信通知を配信サーバ２０に通知する。
【００９５】
配信サーバ２０は、最遠の配信先ノード１００−３からの受信通知を受領することにより、配信データｍをブロードキャストし始める。シンクノード１５０や各配信先ノード１００−１〜１００−３は、配信データｍを受け取ると、受信した配信データｍと共通鍵Ｋとを用いて認証符号ｍａを生成し、認証符号記憶部１０４に記憶されている認証符号ｍａと照合して配信データｍを認証し、その後、認証符号記憶部１０４に記憶されている認証符号ｍａを消去し、次の配信に備える。
【００９６】
（Ａ−２−４）送信先ノード１００−２が認証符号を中継しない場合のシステム全体の動作の流れ
次に、送信先ノード１００−２が認証符号を受信しても中継しない場合のデータブロードキャスト配信システム１全体の動作の流れを説明する。以下では、無線マルチホップネットワーク１０が、図１に示す構成を有するとして説明する。
【００９７】
（Ａ−２−４−１）第１段階及び第２段階
配信先ノード１００−１が認証符号をブロードキャストするまでの動作は、上述した送信先ノード１００−２が偽造の認証符号を送信する場合の動作（第１段階及び第２段階の動作）と同様であるので、その説明は省略する。
【００９８】
（Ａ−２−４−２）第３段階
配信先ノード１００−１がブロードキャストした認証符号ｍａは、配信先ノード１００−２及びシンクノード１５０で受信される。
【００９９】
このときのシンクノード１５０の動作は、上述した送信先ノード１００−２が偽造の認証符号を送信する場合の動作（第３段階の動作）と同様であるので、その説明は省略する。
【０１００】
コンプロマイズされたノードである配信先ノード１００−２は、ノード内送受信部１０１で配信先ノード１００−１からの認証符号ｍａを受信しても、中継しないことで、配信データが行き渡らないよう妨害を試みる。
【０１０１】
（Ａ−２−４−３）第４段階
配信先ノード１００−１において、ノード内異常制御部１０５によって、認証符号ｍａをブロードキャストした時刻から所定時間だけ経過した時刻に達したかのチェックが繰り返し行われている。配信先ノード１００−２が認証符号ｍａを中継しないため、所定時刻に達し、ノード内異常制御部１０５によって、隣接ノード情報記憶部１０２に記憶されている再ブロードキャストを確認できない全ての隣接ノード（この場合、配信先ノード１００−２）に再ＢＣ命令が送出されると共に、配信サーバ２０にリトライ連絡が通知される。そして、リトライを監視する時刻（現時刻より所定時間後の時刻）がセットされる。
【０１０２】
（Ａ−２−４−４）第５段階
コンプロマイズされたノードである配信先ノード１００−２からは、再ＢＣ命令が到達しても認証符号ｍａのブロードキャスト（再ブロードキャスト）が実行されない。そのため、配信先ノード１００−１のノード内異常制御部１０５におけるリトライ監視の所定時間での計時でもタイムアウトが発生し、リトライ失敗連絡が配信サーバ２０に通知される。
【０１０３】
（Ａ−２−４−５）第６段階
リトライ失敗連絡が通知された配信サーバ２０は、リトライ失敗連絡をアラートとして上位に通知する。
【０１０４】
（Ａ−２−５）複数の送信先ノードによる認証符号の中継送信が衝突した場合のシステム全体の動作の流れ
以上の動作説明では、データブロードキャスト配信システム１における無線マルチホップネットワーク１０が、図１に示す構成を有しているとして説明した。図１に示す構成では、複数の配信先ノードからの中継送信が衝突することは考え難い。しかし、無線マルチホップネットワークの構成によっては、複数の配信先ノードからの中継送信が衝突することがある。このような場合でも、最終的には配信符号を全ての配信先ノードに配信することを要する。
【０１０５】
第１の実施形態の詳細構成を有する配信サーバ、配信先ノード、シンクノードにおいては、複数の配信先ノードからの中継送信が衝突することがあっても、最終的には、配信符号を全ての配信先ノードに配信することができる。
【０１０６】
以下では、複数の配信先ノードからの中継送信が衝突した場合のデータブロードキャスト配信システム１全体の動作の流れを説明する。
【０１０７】
ここで、無線マルチホップネットワーク１０Ａが、図６に示す構成を有するとして説明する。すなわち、無線マルチホップネットワーク１０Ａは、シンクノード１５０の下流（配信データの流れ方向に沿って下流と呼んでいる）には配信先ノード１００−１が位置し、配信先ノード１００−１の下流には、図３に示した機能的構成を有する２つの配信先ノード１００−４及び１００−５が位置するように構成されている。２つの配信先ノード１００−４及び１００−５のうち、配信先ノード１００−５の方が最遠のノードであるとする。図６に示す構成の無線マルチホップネットワーク１０Ａには、コンプロマイズされた配信先ノードは存在しないとする。
【０１０８】
（Ａ−２−５−１）第１段階及び第２段階
配信先ノード１００−１が認証符号をブロードキャストするまでの動作は、上述した送信先ノード１００−２が偽造の認証符号を送信する場合の動作（第１段階及び第２段階の動作）と同様であるので、その説明は省略する。
【０１０９】
（Ａ−２−５−２）第３段階
配信先ノード１００−１がブロードキャストした認証符号ｍａは、配信先ノード１００−４、１００−５及びシンクノード１５０で受信される。
【０１１０】
このときのシンクノード１５０の動作は、上述した送信先ノード１００−２が偽造の認証符号を送信する場合の動作（第３段階の動作）と同様であるので、その説明は省略する。
【０１１１】
配信先ノード１００−４において、配信先ノード１００−１がブロードキャス卜した認証符号ｍａは、ノード内送受信部１０１で受信されて比較部１０３に与えられる。この際、認証符号記憶部１０４には何の情報も記憶されていない。そのため、受信した認証符号ｍａは、比較部１０３によって認証符号記憶部１０４に記憶されると共に、ＢＣ部１０６に与えられる。また、この際、隣接ノード情報記憶部１０２には、送信元の配信先ノード１００−１が再ブロードキャスト済みであることが記録される。ＢＣ部１０６によって、受信した認証符号ｍａが、ノード内送受信部１０１からＴＴＬを１としてブロードキャストされる。この時点で唯一の隣接ノードである配信先ノード１００−１が既に再ブロードキャスト済みであるので、これ以上何もしない。
【０１１２】
配信先ノード１００−５において、配信先ノード１００−１がブロードキャス卜した認証符号ｍａは、ノード内送受信部１０１で受信されて比較部１０３に与えられる。この際、認証符号記憶部１０４には何の情報も記憶されていない。そのため、受信した認証符号ｍａは、比較部１０３によって認証符号記憶部１０４に記憶されると共に、ＢＣ部１０６に与えられる。また、この際、隣接ノード情報記憶部１０２には、送信元の配信先ノード１００−１が再ブロードキャスト済みであることが記録される。ＢＣ部１０６によって、受信した認証符号ｍａが、ノード内送受信部１０１からＴＴＬを１としてブロードキャストされる。この時点で唯一の隣接ノードである配信先ノード１００−１が既に再ブロードキャスト済みであり、当該配信先ノード１００−５が最遠のノードであるので、配信サーバ２０宛の受信通知が配信先ノード１００−１に送信される。
【０１１３】
（Ａ−２−５−３）第４段階
ここで、配信先ノード１００−４及び１００−５の再ブロードキャストが同時に起こったとする。このとき、配信先ノード１００−１では配信先ノード１００−４及び１００−５からの認証符号ｍａの電波が衝突し、ノード内送受信部１０１で受信できず、ノード内異常制御部１０５において再ブロードキャスト確認用のタイマのタイムアウトが発生する。
【０１１４】
そこで、配信先ノード１００−１のノード内異常制御部１０５によって、まず、配信先ノード１００−４に対してユニキャストにより再ＢＣ命令が送信されると共に、リトライが配信サーバ２０に連絡される。配信先ノード１００−４では、再ＢＣ命令が到来したことにより、認証符号記憶部１０４に記憶されている認証符号ｍａがＴＴＬを１として再度ブロードキャストされ、配信先ノード１００−１のノード内異常制御部１０５において、配信先ノード１００−４による再ブロードキャストが確認される。
【０１１５】
さらに、隣接ノード情報記憶部１０２の記憶内容に基づき、配信先ノード１００−５が未だ再ブロードキャストしていないことを認識したノード内異常制御部１０５によって、配信先ノード１００−５に対してユニキャストにより再ＢＣ命令が送信される。配信先ノード１００−５では、再ＢＣ命令が到来したことにより、認証符号記憶部１０４に記憶されている認証符号ｍａがＴＴＬを１として再度ブロードキャストされ、配信先ノード１００−１のノード内異常制御部１０５において、配信先ノード１００−５による再ブロードキャストが確認される。これにより、ノード内異常制御部１０５において、全ての隣接ノードが再ブロードキャスト済みであることが確認され、リトライ成功が配信サーバ２０に連絡される。
【０１１６】
なお、複数の配信先ノードによる再ブロードキャスト（中継）の衝突の確率を下げるための方法として、再ブロードキャストを開始するまでにランダムな待ち時間を挿入する方法が知られているが、衝突の確率を０にすることはできない。
【０１１７】
（Ａ−３）第１の実施形態の効果
第１の実施形態によれば、ネットワーク共通鍵を利用したブロードキャスト配信における内部攻撃者が、認証符号を偽造、改ざん若しくは中継拒否したとしても、このような不正な攻撃を検知することができる。しかも、そのための検知の仕組みは、時刻同期やアディショナルなトラフィックを発生しないものとなっている。
【０１１８】
さらに、第１の実施形態によれば、再ブロードキャスト（中継す信号）で偶発的な電波衝突が起こった場合でも、再ＢＣ命令を利用することにより、検知の信頼性を損なうことなく、送信元に再度の再ブロードキャストを実行させることができる。
【０１１９】
（Ｂ）第２の実施形態
次に、本発明による通信装置、通信システム及び通信プログラムの第２の実施形態を、図面を参照しながら説明する。第２の実施形態の通信システムは、無線マルチホップネットワークを含むデータブロードキャスト配信システムである。
【０１２０】
第２の実施形態は、コンプロマイズされた配信先ノードが配信サーバをまねて偽造の認証符号を送信始めたときに、シンクノードがそのことを検知できるようにしたものである。
【０１２１】
（Ｂ−１）第２の実施形態の構成
第２の実施形態においても、データブロードキャスト配信システム（以下、符号１Ａを用いる）の各部要素の配置や、配信先ノード１００の機能的構成は、第１の実施形態と同様である（図１及び図３参照）。
【０１２２】
第２の実施形態では、シンクノード（以下、符号１５０Ａを用いる）の内部構成や機能が、第１の実施形態のものと異なっている。
【０１２３】
図７は、第２の実施形態のシンクノード１５０Ａの機能的構成を示すブロック図であり、上述した図２との同一、対応部分には同一、対応符号を付して示している。
【０１２４】
図７において、第２の実施形態のシンクノード１５０Ａも、ノード内送受信部１０１Ａ、隣接ノード情報記憶部１０２、比較部１０３、認証符号記憶部１０４、ノード内異常制御部１０５Ａ、ＢＣ部１０６及び受信通知部１０７を有するが、ノード内送受信部１０１Ａ及びノード内異常制御部１０５Ａが第１の実施形態のものと若干異なっている。
【０１２５】
ノード内送受信部１０１Ａは、認証符号に関しては、配信サーバ２０からのみ受け取る仕組み（認証符号送信元制限部１０１Ａａ）を有している。このような仕組みとして、既存のいかなる方法を適用しても良く、ある方法に限定されるものではない。例えば、配信サーバ２０とシンクノード１５０Ａとでペアワイズな暗号鍵を事前に共有しておき、ペアワイズな暗号鍵を適用して、配信サーバ２０からシンクノード１５０Ａへ認証符号ｍａを送信する。
【０１２６】
ノード内異常制御部１０５Ａは、ノード内送受信部１０１Ａが配信サーバ２０以外から、認証符号を受け取った場合にはその旨のアラートを配信サーバ２０に送信させるようにさせる。
【０１２７】
（Ｂ−２）第２の実施形態の動作
以下では、図１に示す位置に位置している送信先ノード１００−２が偽造の配信データを配信させるために、前もって送信した偽造の認証符号をシンクノード１５０Ａが検出する場合のデータブロードキャスト配信システム１全体の動作の流れを説明する。
【０１２８】
なお、第１の実施形態で説明した動作は、第２の実施形態においても実行され、その説明は省略する。
【０１２９】
（Ｂ−２−１）第１段階
コンプロマイズされたノードである配信先ノード１００−２において、偽造配信データｍｆが作成され、そのデータｍｆが適用されて認証符号ｍａｆが算出され、ＢＣ部１０６によって、この偽造の認証符号情報ｍａｆがノード内送受信部１０１からＴＴＬを１とししてブロードキャストされたとする。
【０１３０】
（Ｂ−２−２）第２段階
このような偽造の認証符号ｍａｆは、隣接する配信先ノード１００−１及び１００−３に到達する。
【０１３１】
配信先ノード１００−１において、ノード内送受信部１０１で偽造の認証符号ｍａｆが受信されると、比較部１０３に与えられ、認証符号記憶部１０４には何の情報も記憶されていないため、比較部１０３によって、偽造の認証符号ｍａｆが認証符号記憶部１０４に記憶されると共に、ＢＣ部１０６に与えられる。また、隣接ノード情報記憶部１０２に、送信元の配信先ノード１００−２が再ブロードキャスト済みであることが記憶される。ＢＣ部１０６によって、偽造の認証符号ｍａｆがノード内送受信部１０１からＴＴＬを１としてブロードキャストされると共に、ノード内異常制御部１０５により、現在時刻から所定時間後の時刻に達したかのチェックが開始される。
【０１３２】
一方、配信先ノード１００−３においては、偽造の認証符号ｍａｆがノード内送受信部１０１で受信されると、比較部１０３に与えられると共に、隣接ノード情報記憶部１０２には、送信元の配信先ノード１００−２が再ブロードキャスト済みであることが記憶される。この際、認証符号記憶部１０４には何の情報も記憶されていないため、受信した認証符号ｍａｆは、比較部１０３によって認証符号記憶部１０４に記憶されると共に、ＢＣ部１０６に与えられる。そして、ＢＣ部１０６によって、受信した認証符号ｍａｆが、ノード内送受信部１０１からＴＴＬを１としてブロードキャストされる。この時点で唯一の隣接ノードである配信先ノード１００−２が上述した処理により既に再ブロードキャスト済みであるので、配信サーバ２０宛の受信通知が唯一の隣接ノードである配信先ノード１００−２に送信される。
【０１３３】
（Ｂ−２−３）第３段階
配信先ノード１００−１がブロードキャストした偽造の認証符号ｍａｆは、シンクノード１５０Ａのノード内送受信部１０１Ａで受信されるが、ノード内送受信部１０１Ａによって、受信した認証符号ｍａｆは配信サーバ２０から与えられたものではないと判断され、アラートが配信サーバ２０に送信される。
【０１３４】
（Ｂ−３）第２の実施形態の効果
第２の実施形態によっても、第１の実施形態と同様な効果を奏することができる。
【０１３５】
さらに、第２の実施形態によれば、認証符号が配信サーバ以外からシンクノードに与えられた場合には、シンクノードがアラートを上位に上げるようにしたので、中継時における不正（偽造・改ざん・中継無視）だけでなく、中継すべき配信先ノードが配信サーバになりすます攻撃についても検知することができる。
【０１３６】
（Ｃ）他の実施形態
上記各実施形態の説明においても、種々変形実施形態に言及したが、さらに、以下に例示するような変形実施形態を挙げることができる。
【０１３７】
上記各実施形態では明確に記載しなかったが、シンクノードや配信先ノードは、到来した認証符号が、ＴＴＬを１としてブロードキャストされたものでない場合には、その到来を無視するようにしても良い。
【０１３８】
上記各実施形態では、配信先ノードやシンクノードが異常時にアラートを上位に通知するものを示したが、上位や配信サーバ等が、配信先ノードやシンクノードにリセット命令を与えてリセットさせ、配信先ノードやシンクノードを事後回復できるようにしても良い。例えば、上記各実施形態では、認証符号記憶部１０４に記憶されている認証符号は、全ての隣接ノードが再ブロードキャストしたことを確認できたときに消去する場合を示したが、上位や配信サーバ等が、認証符号記憶部１０４における認証符号を消去させるようにしても良い（記憶認証符号の消去は配信先ノードやシンクノードのリセットになっている）。
【０１３９】
上記各実施形態では、他の情報が盛り込まれていない再ＢＣ命令をユニキャスト送信するものを示したが、再ＢＣ命令に認証符号を盛り込み、再ＢＣ命令を受信した隣接ノードが再ＢＣ命令の正当性や再ブロードキャストする認証符号を確認できるようにしても良い。また、再ＢＣ命令を受信した隣接ノードが盛り込まれている認証符号をそのままブロードキャストするようにしても良い。
【０１４０】
上記各実施形態では、最遠の配信先ノードの受信通知部１０７は認証符号を受信したことを通知するものであったが、他の情報をも上流側に通知するものであっても良い。例えば、シンクノードが認証符号を送信するパケットやメッセージに送信時刻を盛り込んでおき、最遠の配信先ノードの受信通知部１０７は、当該ノードが受信した時刻とシンクノードの送信時刻との差である伝搬遅延時間が所定の閾値以上の場合には受信だけでなく、伝搬遅延が大きかったことも通知するようにしても良い。
【０１４１】
上記各実施形態では、再ブロードキャスト（中継）を確認するための所定時間が経過しても隣接ノードからの再ブロードキャストを確認できないときには、隣接ノードからの再ブロードキャストをリトライさせる場合を示したが、リトライさせることなく、直ちにアラートを上位に上げるようにしても良い。
【０１４２】
上記各実施形態においては、認証符号記憶部に記憶されている認証符号を、受信データの認証ができたときに消去するものを示したが、消去のタイミングはこれに限定されるものではない。例えば、配信サーバ等からの消去指令に応じて消去するようにしても良く、また、データ受信後に新たな認証符号が到来したときに消去し、新たな認証符号を書き込むことができるようにしても良く、さらに、受信データの認証後に行う受信データについての処理（例えば、データがプログラムの場合に実行されるインストール）が終了したときに消去するようにしても良い。
【０１４３】
上記各実施形態では、シンクノードから最遠の配信先ノードだけが認証符号の受信通知を送信するものを示したが、他の配信先ノードも認証符号の受信通知を送信するようにしても良い。例えば、シンクノードとの伝搬遅延時間が閾値時間以上の配信先ノードは全て、認証符号の受信通知を送信するようにしても良い。
【０１４４】
上記各実施形態では、配信サーバとシンクノードとが別個の装置である場合を示したが、同一の装置が配信サーバとシンクノードとを兼ねたものであっても良い。
【０１４５】
上記各実施形態の説明では、認証符号を、全てのノード（配信先ノード、シンクノード）に配信する動作を中心に説明したが、配信データを、全てのノード（配信先ノード、シンクノード）に配信する場合にも、認証符号の配信と同様な方法（但し、認証符号による認証動作を除く）で行うようにしても良い。この場合、認証符号記憶部に相当する配信データ記憶部には配信データの全てではなく、一部のデータ（例えば、先頭から所定バイト数の部分）を記憶し、記憶している配信データと受信した配信データとの一致を確認するようにしても良い。
【符号の説明】
【０１４６】
１、１Ａ…データブロードキャスト配信システム、１０、１０Ａ…無線マルチホップネットワーク、２０…配信サーバ、１００、１００−１〜１００−５…配信先ノード、１５０、１５０Ａ…シンクノード、１０１、１０１Ａ…ノード内送受信部、１０２…隣接ノード情報記憶部、１０３…比較部、１０４…認証符号記憶部、１０５、１０５Ａ…ノード内異常制御部、１０６…ブロードキャスト部（ＢＣ部）、１０７…受信通知部、２０１…サーバ内送受信部、２０２…データ記憶部、２０３…認証符号生成部、２０４…認証符号配信部、２０５…サーバ内異常制御部、２０６…受信通知受領部、２０７…データ配信部。
【図１】
2016181815.tif 000003
【図２】
2016181815.tif 000004
【図３】
2016181815.tif 000005
【図４】
2016181815.tif 000006
【図５】
2016181815.tif 000007
【図６】
2016181815.tif 000008
【図７】
2016181815.tif 000009