(57)【要約】  バックエンドにおける少ない接続度要件及びワークロード並びに少ない通信オーバーヘッドによるバックエンドからのネットワークノードの安全な構成のために、ネットワークにおける安全なプロトコル実行のためのシステム、セグメントコントローラ用の制御ユニット及び方法が提供される。ノード１０を制御するためにセグメントコントローラ６０にプロトコル情報が供給される。ノード１０を制御するために上記プロトコル情報に基づいてプロトコルが実行され、該プロトコルの１以上のステップを実行するためにセグメントコントローラ６０においてノード１０の少なくとも１つの応答メッセージが必要とされる。
2014526155.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークにおける安全なプロトコル実行のためのシステムであって、
ノードと、
前記ノードを制御するためのプロトコル情報を供給するサービスセンタと、
前記ノードを制御するために前記プロトコル情報に従うプロトコルを実行するセグメントコントローラと、
を有し、
前記セグメントコントローラにおいて、前記プロトコルの１以上のステップを実行するために前記ノードの少なくとも１つの応答メッセージが必要とされる、
システム。
【請求項２】
前記応答メッセージが、ノードのアイデンティティ及び前記セグメントコントローラから受信されたメッセージのフィンガープリントのうちの少なくとも一方に基づくものである請求項１に記載のシステム。
【請求項３】
前記セグメントコントローラが、前記ノードからの前記応答メッセージを、前記プロトコル情報の少なくとも一部の解読のために使用する請求項１又は請求項２に記載のシステム。
【請求項４】
前記セグメントコントローラが、前記解読されたプロトコル情報の少なくとも一部を前記ノードに送信する請求項３に記載のシステム。
【請求項５】
前記セグメントコントローラが前記プロトコル情報を前記プロトコルの全てのステップに関して有するか、及び／又は前記プロトコル情報が少なくとも２つのステップに関して異なるキーに基づいて符号化されている請求項１ないし４の何れか一項に記載のシステム。
【請求項６】
前記セグメントコントローラが、前記ノードからの前記応答メッセージを、前記サービスセンタから更なるプロトコル情報を要求するために使用する請求項１ないし請求項５の何れか一項に記載のシステム。
【請求項７】
前記サービスセンタ及び／又は前記ノードが、セキュリティキー、ハッシュ関数、ハッシュ関数の繰り返し数及びハッシュ関数のアンカのうちの少なくとも１つに関して知っている請求項１ないし６の何れか一項に記載のシステム。
【請求項８】
前記プロトコルが前記ノードに情報を供給するステップを含み、該情報がマスタシークレット及び情報識別番号から導出された秘密キーに基づいて保護されている請求項１ないし７の何れか一項に記載のシステム。
【請求項９】
前記サービスセンタが、前記プロトコルに固有のナンス又はソルトを前記ノードに供給する請求項１ないし８の何れか一項に記載のシステム。
【請求項１０】
前記プロトコルが、構成情報を前記ノードに供給するステップ、前記ノードを再構成するステップ及び前記ノードを再ブートするステップのうちの少なくとも１つを含む請求項１ないし９の何れか一項に記載のシステム。
【請求項１１】
前記サービスセンタが、制御される前記ノードの少なくとも１つを再ブートするために前記セグメントコントローラに現在のハッシュチェーンリンクを供給する請求項１ないし１０の何れか一項に記載のシステム。
【請求項１２】
前記セグメントコントローラが、前記ノードからの応答メッセージに基づいて前記サービスセンタに確認メッセージを送信する請求項１ないし１１の何れか一項に記載のシステム。
【請求項１３】
前記ネットワークの前記ノードが照明システムの照明器具に関連するものである請求項１ないし１２の何れか一項に記載のシステム。
【請求項１４】
少なくとも１つのノードを備えたネットワークにおける安全なプロトコル実行のためのセグメントコントローラ用の制御ユニットであって、
前記ノードを制御するためにサービスセンタにより供給されるプロトコル情報に基づいてプロトコルを実行し、
前記セグメントコントローラにおいて、前記プロトコルの１以上のステップを実行するために前記ノードの少なくとも１つの応答メッセージが必要とされる、
制御ユニット。
【請求項１５】
少なくとも１つのノードを備えたネットワークにおける安全なプロトコル実行のための方法であって、
前記ノードを制御するためにセグメントコントローラにプロトコル情報を供給するステップと、
前記ノードを制御するために前記プロトコル情報に基づいてプロトコルを実行するステップと、
を有し、
前記セグメントコントローラにおいて、前記プロトコルの１以上のステップを実行するために前記ノードの少なくとも１つの応答メッセージが必要とされる、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおける安全なプロトコル実行のためのシステム、セグメントコントローラ用の制御ユニット及び方法に関する。
【背景技術】
【０００２】
近年、例えば照明システムの遠隔制御、ビルオートメーション、監視アプリケーション、センサシステム及び医療アプリケーションに関連して、無線メッシュネットワーク（網状回路網）が益々注目を浴びている。特に、屋外照明器具の、所謂テレマネージメントと称される遠隔管理が益々重要となってきている。一方、このことは環境的関心によっても後押しされている。何故なら、テレマネージメントシステムは例えば時間、気象条件又は季節の関数としての異なる調光パターンの使用を可能にし、屋外照明システムの一層エネルギ効率的な利用を可能にするからである。他方、このことは、経済的理由によっても後押しされている。何故なら、エネルギ効率の増加は運転コストも減少させるからである。更に、斯かるシステムは遠隔的に電力使用量を監視すると共にランプの故障を検出することもでき、このことは照明器具を修理し又はランプを交換する最良の時点を決定することを可能にする。
【０００３】
現在のラジオ周波数（ＲＦ）型無線解決方策は、好ましくは、例えば図１に示されるようなメッシュネットワークトポロジを使用する。該無線ネットワークは、網状トポロジの無線通信経路４０により互いに接続された複数のノード（Ｎ）１０及び中央コントローラ又はセグメントコントローラ６０を有している。このように、ノード１０及び中央コントローラ６０は、例えばＲＦ伝送を介することにより無線通信経路４０を介してデータパケットを送信又は受信するための送受信器を有することができる。バックエンドには、サービスセンタ８０が配置され、システム管理を行う。この主体は、通常、対応するネットワークの１以上の中央コントローラ６０と、このネットワークを第三者通信チャンネル７０（インターネット若しくはモバイル通信ネットワーク又は他の有線若しくは無線データ伝送システム）を介して制御又は構成（コンフィギュレーション）する責務を負うコミッショニング（検証試験）ツールとして通信する。照明システム又は何らかの他の大規模無線ネットワークの場合、ネットワークは、ノード１０が１つのセグメントコントローラ６０を有する１つのセグメントに正確に属するように、セグメントに分割することができる。従って、“セグメントコントローラ”及び“中央コントローラ”なる用語は、本記載を通して入れ換え可能であると理解されるべきである。
【０００４】
一般的に、メッシュネットワークの如何なるノード１０もセグメントコントローラ６０を介してサービスセンタ８０と通信することができる。しかしながら、幾つかの状況では、基本的なセキュリティ（保安）サービスを提供するために高度な安全規格が満足されねばならない。一例は、介入者攻撃に対する保護、即ち機密情報が許可されていないノード１０に供給されることを防止する又はノード１０に供給される情報の操作を防止することである。例えば、屋外照明制御は、セグメントコントローラ６０等の制御装置を介してのサービスセンタ８０とノード１０自体との間の通信リンクを必要とする照明ノードの遠隔管理を含む。サービスセンタ８０及びノード１０とは対照的に、中間にあるセグメントコントローラ６０は、設置者又は顧客等の第三者により管理及び操作されるので、時には完全には信頼がおけない。このように、セグメントコントローラ６０は介入者として働き得、何らかのメッセージを操作し得る。このことは、セキュリティプロトコルの実行を困難にさせる。例えば、キー材料は、悪用され得るので、セグメントコントローラ６０に供給することはできない。従って、ネットワークノード１０等のソフトウェア機能を、侵入者がノード１０に悪意のソフトウェアを投入することができるという恐れなしに、アップグレード及び／又は起動することを可能にする手段を見付けることが必要とされる。このためには、このような動作を実行するためのプロトコルがセグメントコントローラ６０により正しく実行されることを保証することが重要である。
【０００５】
２つの信頼される主体間の終端間（エンドツーエンド）認証を可能にする伝統的な終端間プロトコルは、例えばチャレンジ応答認証ハンドシェイクに基づいたサービスセンタ８０とノード１０との間でのメッセージの対話的交換を必要とする。このような手順は高い安全性を提供するが、図１に示されるようなＧＰＲＳリンク７０の使用に関して、及びバックエンドにおけるサービスセンタ８０に関して厳しい要件を課すことになる。何故なら、斯かる手順はサービスセンタ８０における連続した接続、より広い帯域幅及び一層多い演算を必要とするからである。このように、例えば相互認証を保証するサービスセンタ８０からノード１０への終端間セキュリティハンドシェイクは、費用が掛かり、大量のデータトラフィック、バックエンドとの連続した接続、バックエンドにおける一層広い帯域幅及び一層多くの演算を必要とする。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、中間制御装置を介してバックエンドからノード１０と通信するための手段であって、各アプリケーションに適したセキュリティと演算的要求との間の合理的な妥協を行う手段を見付けることが望ましい。
【０００７】
従来技術における上述した欠点及び問題点に鑑み、本発明の目的は、バックエンドにおける作業負荷及び接続要件を最小化すると共に通信オーバーヘッドを低減しながら、バックエンドからネットワークノードの安全な構成を可能にする、無線ネットワークにおける安全なプロトコル実行のためのシステム、セグメントコントローラ用の制御ユニット及び方法を提供することである。
【課題を解決するための手段】
【０００８】
本発明は、ネットワークノードとサービスセンタとの間の中間主体として働く制御装置に、ノードのうちの少なくとも１つに対して特定のプロトコルを該制御装置へ対応するプロトコル情報を供給することにより実行させ、その場合に、該制御装置は当該プロトコルの次のステップを実行するために対応するノード（又は複数のノード）からの所定の応答メッセージを必要とするようにするというアイデアに基づいている。上記サービスセンタ及び制御装置又はセグメントコントローラは、特定のネットワークノードにより各々表すこともできると理解されるべきである。上記所定の応答メッセージは、対応するノード（又は複数のノード）からの、プロトコルが正しく実行された場合にのみ当該ノードにより与えられ得る正しい応答（又は複数の応答）に関係し得るものである。このように、当該プロトコルは中間制御装置により、例えば通常のセキュリティハンドシェイクに伴うであろう大きなデータトラフィックを生じさせることなく実行することができ、これにより通信オーバーヘッドを低減する。更に、プロトコルの実行を、制御されるべきノードの有効な回答に依存させることにより、制御装置による情報の誤使用又はノードに供給される情報の操作を防止することができる。従って、ノードとバックエンドとの間の終端間ハンドシェイクのフィーチャをセキュリティに関して実現することができる。一例において、上記プロトコルは、ネットワークノードの構成（コンフィギュレーション）、ノードソフトウェアの更新（アップデート）、ノードのフィーチャの活性化及びノードのコミッショニングのうちの少なくとも１つに関係するものであり得る。この場合、ソフトウェア更新情報は制御装置を介してノードに供給することができ、その際に、この情報の操作を防止すると共に、該情報が目標ノード以外のノードに供給されることを防止する。制御装置は、正しい目標ノード（又は複数のノード）からの有効な応答メッセージを有するプロトコルしか進めることができないので、該制御装置の正しいプロトコルに基づく処理を実施することができる。
【０００９】
本発明の一態様によれば、１以上のノードを有する無線メッシュネットワーク等のネットワークにおいて正しいプロトコル実行を保証するシステムが提供される。該システムは、サービスセンタ及びセグメントコントローラを有し、サービスセンタは当該ネットワークノードのうちの少なくとも１つの特定のノードとのプロトコルを実行するためにセグメントコントローラにプロトコル情報を供給する。該プロトコル情報を使用することができるためには、セグメントコントローラは、このノードにより応答メッセージ内で供給される情報を必要とし得る。該応答メッセージは、セグメントコントローラから特定のプロトコルの特定の情報又は実行を通知するメッセージを受信した後に、当該ノードにより送信することができる。好ましくは、該ノードは、セグメントコントローラから受信された前のメッセージ又は情報の成功裏の検証の後にのみ、セグメントコントローラに有効な応答メッセージを供給する。従って、セグメントコントローラを、当該プロトコルの更なる、続く又は後のステップを実行するための有効なメッセージを受信するために、正しいノードに正しいプロトコル情報を供給するよう強制することができる。これらの手段により、セグメントコントローラの正しい動作を、制御されるべきノード（即ち、目標ノード）により監視することができ、かくして、プロトコル情報の誤った使用を防止する。同様に、このことは、ノードに悪意のソフトウェアがうまくインストールされてしまうことを防止する。従って、サービスセンタによる制御なしで、該サービスセンタにより許可された情報のみがネットワークノードに配信されると共に、該サービスセンタにより認可された第三者のみが配信される情報に対するアクセス権を有することを保証することができる。この処理において、サービスセンタとの継続的な通信は必要とされることがないので、サービスセンタは部分的にオフラインとすることができる。
【００１０】
一実施態様において、上記ノードの応答メッセージは、当該ノードの識別情報（アイデンティティ）に関する、及び／又は当該ノードが該応答メッセージにより応答しようとしているセグメントコントローラから受信されたメッセージの識別子に関する情報を含む。上記メッセージの識別子は、上記受信されたメッセージから導出される文字列又は値（セグメントコントローラからのメッセージのフィンガープリント（指紋））であり得る。ここで、フィンガープリントとは、当該メッセージから小さなキーを抽出することによる固有に識別するデータを指す。このように、メッセージの識別子は、セグメントコントローラから送信されたメッセージの内容の機能に関係し得る。前記ノードアイデンティティは、当該ノードの個体キーに関係するものであり得る。この場合、セグメントコントローラが当該プロトコルを正しい目標ノードと実行することも保証され得る。しかしながら、ノードアイデンティティは、当該ネットワークの全てのノードに共通な対称キー（例えば、コミッショニングキー）にも関係し得る。このキー又はノードアイデンティティは、好ましくは、セグメントコントローラには未知のものとする。このように、ノードは、受信されたメッセージの内容に依存して及び／又は自身のアイデンティティに基づいてチェック値又は文字列を発生することができる。これらの手段により、応答メッセージは受信側ノードのアイデンティティ及び受信されたメッセージの内容を示すので、正しいプロトコル実行を容易に検証することができる。
【００１１】
好ましくは、サービスセンタによりセグメントコントローラに供給されたプロトコル情報の少なくとも一部を解読するために、ノードからの応答メッセージ（又は、その一部）が必要とされる。このように、セグメントコントローラは、ノードからの応答メッセージに基づいて解読用のキーを発生することができる。例えば、セグメントコントローラには、サービスセンタにより、ネットワークノードの少なくとも１つを構成するための少なくとも部分的に暗号化された構成メッセージを供給することができる。当該ノードの構成を進めるために、セグメントコントローラは解読用の応答メッセージを必要とし得る。該応答メッセージは、当該ノードのセキュリティキー（例えば、分離不可能な又は符号化された形態のノードアイデンティティ若しくはコミッショニングキー又はメッセージフィンガープリント等）を含むことができ、従って、セグメントコントローラ又は盗聴する主体はオリジナルのセキュリティキーを導出することはできない。従って、セグメントコントローラを、該セグメントコントローラに対応して暗号化されたプロトコル情報を供給することにより、特定のノードと特定のプロトコルを実行するように強制することができる。このように、セグメントコントローラはノードを誤って使用することも、認可されていないノードにプロトコル情報を送信することもできない。何故なら、セグメントコントローラは、当該プロトコルに従う場合にしか、プロトコル情報を解読し、使用することができないからである。セグメントコントローラが当該プロトコルに正しく従わない場合、該セグメントコントローラは情報を解読することができず、従って該情報を悪用することはできない。セグメントコントローラが応答メッセージを使用してプロトコル情報の少なくとも一部を解読した後、該セグメントコントローラは解読されたプロトコル情報の幾らか又は全てを当該ネットワーク内のノード又は複数のノードに送信することができる。
【００１２】
好ましくは、プロトコル情報は異なるキーに基づいて符号化される。この実施態様において、ネットワーク内のノード（又は複数のノード）は、セグメントコントローラから最後に受信されたメッセージに対応する応答メッセージを返信する。これらの／この応答メッセージ（又はその／それらの一部）は、セグメントコントローラにより、プロトコル情報の次の部分を解読するための次のキーを発生するために使用することができる。例えば、次のプロトコルステップのための情報は、前のプロトコルステップに関するセグメントコントローラからのメッセージに対する当該ノードの予想される有効な応答メッセージにより符号化することができる。このように、プロトコル情報は繰り返して解読することができる。これらの手段により、セグメントコントローラの正しい動作が、ステップ毎に、観察され、保証される。
【００１３】
好ましい実施態様において、セグメントコントローラには当該プロトコルの全ステップに関するプロトコル情報が供給される。この場合、プロトコル情報は異なるキーに基づいて符号化することができる。この構成は、当該プロトコルを、セグメントコントローラとノードとの間の対話を主に伴うことにより実行することを可能にする。何故なら、安全性は正しい応答メッセージなる要件により既に保証されているからである。従って、当該プロトコルを実行するために必要とされるバックエンドとの接続性及びバックエンドにおける演算の数を低減することができる。
【００１４】
更に、セグメントコントローラはサービスセンタに対して後のプロトコルステップに関係するプロトコル情報のリクエストを送信することができ、該リクエストメッセージは少なくとも１つのノードから受信された応答メッセージに基づくものである。このように、サービスセンタは、リクエストメッセージに含まれるノードの応答メッセージに関する情報を用いて、セグメントコントローラが前のプロトコルステップを正しいノードに対して及び／又は正しい態様で実行したかを検証することができる。次いで、該サービスセンタはセグメントコントローラに、次のプロトコルステップを実行するための更なるプロトコル情報を供給することができる。当該プロトコルにより２以上のノードが制御される場合、セグメントコントローラは、各ノードからの全ての応答メッセージ（又は応答メッセージの部分組）に関する情報を、サービスセンタに対するリクエストメッセージに統合させることができる。この場合、サービスセンタは、更に、制御されるべきノードの全てが前のプロトコルステップにおいて成功裏にアドレス指定されたかをチェックすることができる。
【００１５】
好ましくは、サービスセンタ及びネットワークのノードは、共通セキュリティキー、コミッショニングキー、ハッシュ関数等の暗号関数、ハッシュ関数の繰り返し数及び現ハッシュ値のうちの少なくとも１つを共有する。サービスセンタは、各ネットワークノードに対して個別なセキュリティキー又は全てのネットワークノードに対して若しくはネットワークノードの１以上のグループに対して共通なセキュリティキーを知り得る。代わりに又は加えて、サービスセンタは各ネットワーク又はネットワークセグメントに対するハッシュチェーン又はハッシュ関数、及びその開始値ａ０を保持することができる。この場合、ノードは各ハッシュチェーン又は関数のアンカ（anchor）により初期化することができる。ハッシュ関数は他の一方向性関数又はチェーンにより置換することができ、その場合、該関数の繰り返し適用は、開始文字列又は開始値から導出される、例えばａｉ＝HASH(ａi-1)等のチェーンリンク又は要素を生じる。好ましくは、プロトコル及び／又は応答メッセージは少なくとも部分的にハッシュアルゴリズムSHA-2等のハッシュ関数に基づくものとする。これらの手段により、ハッシュチェーンのアンカにより初期化されると共に、現ハッシュチェーン要素ａｉを追跡記録するノードは、受信されたメッセージを、該受信されたメッセージに含まれるハッシュ要素ａi-1がａｉ＝HASH(ａi-1)なる条件を満たすかをチェックすることにより検証することができる。従って、ハッシュチェーン又は他の一方向性関数を使用することは、公開キー暗号なしでの認証を可能にする。
【００１６】
幾つかの実施態様において、プロトコルは当該ネットワークの１以上のノードに情報を供給することを含むことができる。この場合、上記情報は好ましくは情報識別番号及び主秘密情報（マスタシークレット）から導出される秘密キーに基づいて保護されるようにする。該情報はサービスセンタからセグメントコントローラを介してノードに送信することができる。このように、該情報を保護するために、上記秘密キーはマスタシークレット（即ち、セグメントコントローラによってではなく、ノード及びサービスセンタのみにより知られた文字列又は値）に基づくものとすることができる。例えば、マスタシークレットは、当該ノードのセキュリティキー又は当該ノードのコミッショニングキーに関係するものであり得る。その上、当該秘密キーは、更に、情報識別番号（例えば、サービスセンタにより設定されるランダム数、ノンス（nonce）又はソルト（salt））を含むことができる。このように、当該情報がソフトウェアの更新に関係する例においては、情報識別番号はソフトウェア更新番号又はソフトウェア番号に対応し得る。これらの手段により、機密情報を保護することができ、サービスセンタとノードとの間の終端間セキュリティハンドシェイクのフィーチャを真似ることができる。
【００１７】
一実施態様において、サービスセンタはノードに対してプロトコルに固有のランダム数、ソルト又はノンスを供給することができる。これは、ノードにおいてハッシュ関数等の一方向性関数への入力として必要とされ得る。好ましくは、上記ソルト又はノンスは少なくとも１６バイト長のものとする。ランダム数、ソルト又はノンスは、上述した情報識別番号に関係するものであり得る。
【００１８】
これらのプロトコルステップの少なくとも１つは、ノードに対する構成情報の供給、ノードの再構成、ノードの再ブート又はこれらの何れかの組み合わせを含むことができる。好ましくは、再ブートステップは、付加的に、認証トークン（例えば、新しいハッシュチェーンリンク）により保護することができる。このように、再ブートを許可するためには、現在の又は有効なハッシュチェーンリンクがノードに供給されねばならない。従って、サービスセンタはセグメントコントローラに現在のハッシュチェーンリンクを供給することができ、該ハッシュチェーンリンクは幾つかのノードに対して同一とすることができるので、同期された態様での再ブートが可能である。このことは、特に複数のノードに対してソフトウェア更新を供給する場合に、一層安全で安定したネットワーク動作を可能にし得る。
【００１９】
当該プロトコルを完了する場合に、セグメントコントローラはサービスセンタに対して確認メッセージを送信することができる。該確認メッセージは、セグメントコントローラにおいて各ノードから受信された少なくとも１つの応答メッセージに基づくものとすることができる。このように、該確認メッセージは、各ノードのアイデンティティに関する、及び／又は各ノードにおいて受信されたセグメントコントローラからの最後のメッセージの内容に関する情報を含むことができる。ソフトウェア更新の例において、ノードがセグメントコントローラから受信する最後のメッセージは、恐らくは秘密キーにより符号化されたソフトウェアイメージを含むことができる。従って、該ノードからセグメントコントローラへの対応する応答メッセージはノードアイデンティティ及び／又は当該ソフトウェアイメージのフィンガープリントに関する情報を有することができ、これにより、サービスセンタは正しいノードが更新され、及び／又は当該ノードが正しいソフトウェアにより更新されることを検証することができる。従って、サービスセンタは、プロトコル情報をセグメントコントローラに供給する場合、及びセグメントコントローラから確認メッセージを受信する場合にのみ、当該プロトコルに関わり得ることになる。このように、サービスセンタとの通信は低減され、それでいて、中間主体（即ち、セグメントコントローラ）を介してのネットワークノードの安全な制御を可能にする。
【００２０】
本発明の好ましい実施態様において、当該システムは照明システムのテレマネージメントに適用される。例えば、当該無線ネットワークのノードは、街路照明システム又は何らかの他の照明システム等の照明システムの照明器具に対応し得る。このようなシステムにおいては、セグメントコントローラとサービスセンタとの間の通信は第三者機構に依存し得る一方、セグメントコントローラとノードとの間の通信は当該ネットワーク内の無線伝送に基づくものである。従って、サービスセンタとの通信を低減することは、結果として、維持コストの低下になる。
【００２１】
本発明の他の態様によれば、1以上のノードを有する無線ネットワークにおいて安全なプロトコル実行を可能にするセグメントコントローラ用の制御ユニットが提供される。本発明による該制御ユニットによれば、セグメントコントローラは、ネットワークノードの少なくとも１つを制御するためにサービスセンタにより供給されるプロトコル情報に基づいてプロトコルを実行するように構成され、該プロトコルの実行は、制御されるノードの少なくとも１つの応答メッセージに依存する。このように、本発明によるセグメントコントローラ用の制御ユニットは、本発明によるシステムに関する上述した如何なる実施態様のセグメントコントローラにも適用することができる。該制御ユニットは、セグメントコントローラに組み込み、統合し、装着し又は動作的に結合することができる。
【００２２】
本発明の他の態様によれば、１以上のノードを有する無線ネットワークにおける安全なプロトコル実行のための方法が提供される。該方法によれば、ネットワークノードの少なくとも１つの制御のために該ネットワークのセグメントコントローラにプロトコル情報が供給される。セグメントコントローラは、プロトコルを、受信された該プロトコル情報に基づいて実行する。このため、セグメントコントローラは当該プロトコルを実行するために少なくとも１つのノードの少なくとも１つの応答メッセージを必要とする。従って、本発明による該方法は、本発明の上述した実施態様の何れかによるセグメントコントローラの制御ユニット又はシステムにより実行されるように適合される。
【００２３】
本発明の上記及び他の態様は、後述する実施態様から明らかとなり、斯かる実施態様を参照して解説されるであろう。本発明は、添付図面により図示された例示的実施態様に関連して更に詳細に説明されるであろう。しかしながら、本発明は、これらの例示的実施態様に限定されるものではない。
【図面の簡単な説明】
【００２４】
【図１】図１は、無線メッシュネットワークの一例を示す。
【図２】図２は、本発明の一実施態様を説明するフローチャートを示す。
【図３】図３は、図２の処理の概要図を示す。
【図４】図４は、本発明の一実施態様による処理の説明図を示す。
【図５】図５は、ハッシュチェーンの原理を示す。
【図６】図６は、本発明の他の実施態様を説明するフローチャートを示す。
【図７】図７は、図６の処理の概要図を示す。
【図８】図８は、本発明の一実施態様を説明するフローチャートを示す。
【発明を実施するための形態】
【００２５】
本発明の好ましい適用例は、アクチュエータネットワーク、センサネットワーク、又は屋外照明システム（例えば、街路、駐車場及び公共領域のための）及び一般領域照明のための屋内照明システム（例えば、モール、アリーナ、駐車場、駅、トンネル等のための）等の照明システムである。以下においては、本発明は街路照明のための屋外照明システムの例を用いて更に説明するが、この用途に限定されるものではない。照明制御の分野では、ラジオ周波数ネットワーク技術による屋外照明器具のテレマネージメントが、特に２００を越える照明器具ノードのセグメントを持つ大規模設備のための適用可能性を持つ解決策として益々関心の的となっている。ラジオ周波数（ＲＦ）伝送は高い送信出力を必要とせず、実施化及び配備するのが容易であるので、ネットワークを設置及び運転する費用を低減することができる。しかしながら、データパケット伝送は、代わりに、赤外線通信、自由空間可視光通信又は電力線通信を使用することもできる。
【００２６】
照明制御のためのテレマネージメントシステムにおいては、照明器具ノード１０の数は非常に大きい。従って、そのネットワークの規模は、特に典型的には２００ノード未満しか含まない通常の無線メッシュネットワークと比較した場合、非常に大きい。加えて、ノード１０は典型的には費用的配慮により限られた処理能力しか有さず、従って、照明器具ノード１０における処理及びメモリ資源は限られる。このように、セキュリティ対策及び単独ノード１０間でデータパケットを伝送するための通信プロトコルは、効率的で安全なデータパケット伝送のために該限られた資源を考慮しなければならない。最後に、他の所謂アドホックメッシュネットワークと比較すると、屋外照明制御ネットワークのためのテレマネージメントシステムは静止的である。即ち、照明器具ノード１０は移動することがない。照明器具ノード１０（例えば、ランプ電柱）は静止しているので、ノード位置は時間に伴い変化することはない。このように、ノード１０の物理的位置（例えば、ＧＰＳ座標又は他の位置データ）は当該システム内で既知であり得、予めプログラミングされた又は予め定められた位置を用いて地理的な又は位置に基づく経路決めを可能にする。
【００２７】
以下、本発明の実施態様を、ソフトウェア更新のためのプロトコルの例を用いて説明する。しかしながら、本発明は斯かる例に限定されるものではなく、セグメントコントローラ６０により実行されるべきプロトコルはノードのフィーチャの活性化等に関するものでもあり得る。
【００２８】
図２には、セグメントコントローラ６０による安全なプロトコル実行を保証するための第１実施態様が示されている。図３には、図２に示された例におけるサービスセンタ８０、セグメントコントローラ６０及びネットワークノード１０の間のデータトラフィックが概略図示されている。図３における矢印は通信の方向を示し、時間は下方に向かって進むと考えることができる。
【００２９】
第１ステップＳ２００において、サービスセンタ８０はセグメントコントローラ６０に対してプロトコルを実行するための情報を供給する。この情報を受信すると、セグメントコントローラ６０は、対応するプロトコルを実行し始める。かくして、セグメントコントローラ６０は、例えば該プロトコルの開始を通知するために、１以上のノード１０に対して第１メッセージを送信する（Ｓ２１０）。各ノード１０は、セグメントコントローラ６０から受信されたメッセージを、該受信されたメッセージの内容のインデックス又は識別子及び当該ノードのアイデンティティを示す識別子又はキーを含む応答メッセージにより受信確認する（Ｓ２２０）。ステップＳ２３０において、セグメントコントローラ６０はノード１０からの応答メッセージを収集し、これらメッセージを圧縮された形で（例えば、バッチメッセージに集合された形で）サービスセンタ８０に送信する。これらの手段により、サービスセンタ８０は、セグメントコントローラ６０が当該プロトコルの第１ステップを正しく且つ成功裏に実行したことを検証することができる。これは、第１メッセージが正しい内容を含んだこと、第１メッセージがノード１０により成功裏に受信されたこと、又はセグメントコントローラ６０が第１メッセージを正しいノード１０に、即ち当該プロトコルの目標ノードに送信したことを検証することを含み得る。少なくとも１つの検証が成功したと判定した後、サービスセンタ８０は当該プロトコルの更なるステップに関する情報をセグメントコントローラ６０に送信する（Ｓ２４０）。かくして、ステップＳ２５０において、セグメントコントローラ６０は当該プロトコルの次のステップ、例えば第２メッセージをノード１０に送信するステップを実行することができる。好ましくは、第２メッセージは当該ソフトウェア更新のソフトウェアイメージを有し、該ソフトウェアイメージはステップＳ２６０においてノード１０により記憶される。更に、上記第１メッセージ及び第２メッセージには何らかの識別手段を含めることができるので、ノード１０は、受信されたメッセージの内容を、記憶する前に検証することができる（Ｓ２６０）。次いで、ステップＳ２７０において、ノード１０はセグメントコントローラ６０に、第２応答メッセージ（前記第１メッセージと同様に、受信された内容及び各ノードのアイデンティティに依存する）を送信する。ステップＳ２８０において、セグメントコントローラ６０は第２応答メッセージをメッセージのバッチに集め、該バッチメッセージをサービスセンタ８０に送信する。サービスセンタ８０による成功裏の検証の後、サービスセンタ８０は当該新ソフトウェアを起動するためにセグメントコントローラ６０に再ブートキーを供給する（Ｓ２９０）。該再ブートキーを受信し、成功裏に検証した場合、ノード１０はステップＳ２１００において再ブートされる。オプションとして、再ブートの後にセグメントコントローラ６０はノード１０から確認メッセージを受信し、これらメッセージを更なるメッセージバッチでサービスセンタ８０に送信することができる。安全性を高めるために、予想されるメッセージを受信するために特定の期間を設定することもできる。例えば、ステップＳ２００における当該プロトコルの開始及びステップＳ２９０における再ブートキーの供給のために、サービスセンタ８０において最大期間を設定することができる。当該プロトコルの３以上のステップも斯かる方法で制御される、即ちステップＳ２００〜Ｓ２３０又はＳ２４０〜Ｓ２８０等の更なる繰り返しが存在することも理解されるべきである。
【００３０】
従って、図２及び３に示される実施態様によれば、ノード１０はセグメントコントローラ６０を介してサービスセンタ８０に対し、ノード１０のうちの何のノードがセグメントコントローラ６０からメッセージを受信したか、及び当該ノードが何を受信したかを報告する。サービスセンタ８０が正しいプロトコル実行を検証した後においてのみ、該サービスセンタはセグメントコントローラ６０に当該プロトコルの更なるステップに関する情報を供給する。セグメントコントローラ６０は各単独ノード１０からの応答メッセージを束ね、これら応答メッセージをバッチメッセージで送信するので、セグメントコントローラ６０とサービスセンタ８０との間のデータトラフィックを低減することができる。このように、ノード１０の応答メッセージの、ノードのアイデンティティに対する及びセグメントコントローラ６０から受信されたメッセージの内容に対する依存性により、セグメントコントローラ６０は、当該プロトコルを正しく実行する場合にのみ有効な応答メッセージを受信する。従って、プロトコルは完全には信頼されない主体（即ち、セグメントコントローラ６０）により実行されるが、正しいプロトコル実行を、サービスセンタ８０との接続に対する高いデータ負荷を必要とすることなく、段階的に実施することができる。
【００３１】
図４には、本発明の第１実施態様に関する更に詳細な例が示されている。この例において、サービスセンタ８０は、当該ネットワークの全ノードに共通なコミッショニングキーＫcom、ネットワークノード１０のノードアイデンティティ又はノード固有のキーＫnode、当該ネットワーク内のノードにより使用されるSHA256等のハッシュ関数、該ハッシュ関数の開始値ａ０、並びに該ハッシュ関数の繰り返し数ｌ及び最後に使用されたハッシュチェーン要素ａＬのうちの少なくとも一方を知っている。対照的に、ネットワークノード１０は、コミッショニングキーＫcom、当該ネットワークのハッシュ関数SHA256、ハッシュチェーンの最後の要素又はアンカａＮ、及び開示された最後のハッシュチェーン要素ａＬを知っている。
【００３２】
図５には、ハッシュチェーンの原理が図示されている。該ハッシュチェーンは、ａＬ＝HASH(ａL-1)により一方向性ハッシュ関数を用いて発生されたＮ個の要素ａｉを含んでいる。このように、当該ハッシュチェーンの各要素ａｉは、先行するハッシュチェーン要素ａi-1に基づいてのみ発生することができる。サービスセンタ８０のみが初期ハッシュチェーン要素ａ０を知っているので、該サービスセンタ８０のみが次のハッシュチェーン要素ａi+1を発生することができる。或る情報の認証のために、サービスセンタ８０は、図５に示されるように、ハッシュチェーン要素ａｉを反対方向で使用する。例えば、サービスセンタ８０は、ノード１０に対するメッセージに現在のハッシュチェーン要素ａL-1を含める。この場合、最後に使用されたハッシュチェーン要素ａＬしか知らないノード１０は、該メッセージをａＬ＝HASH(ａL-1)であるかをチェックすることにより検証することができる。これらの手段により、公開キー暗号法の必要性無しに情報を認証することができる。
【００３３】
図４に示されるように、サービスセンタ８０は、セグメントコントローラ６０により実行されるソフトウェア更新プロトコルの実行を、第１メッセージＭ１を該セグメントコントローラ６０に送信することにより開始する。該第１メッセージはプリアック（preack）を含み、該プリアックとは、現ハッシュチェーン要素ａL-1及び当該ソフトウェア更新のフィンガープリントに依存するメッセージ認証コード関数等の関数の値である。この場合、上記フィンガープリントは関数の値又は文字列を指すこともできる。例えば、上記プリアックは下記の式を用いて得ることができ：
【数１】
2014526155.tif 000003
ここで、２本の垂直の線は連結（concatenation）を示し、HMACはキーとなるハッシュメッセージ認証コードに関係し、SHA256は２５６ビットのフィンガープリントを持つハッシュ関数SHA-2であり、ＥＫは暗号キーＫに基づく暗号化関数に関係し、ＳＷは当該ソフトウェア更新を示し、ソルト（salt）は当該ソフトウェア更新に固有の少なくとも１６バイトのノンスであり、ａL-1は現在のハッシュチェーン要素である。暗号キーＫは、例えばK=HMAC(salt,Kcom)のように、コミッショニングキーＫcom及び上記ソルトから導出することができる。セグメントコントローラ６０は上記メッセージＭ１をノード１０に送信し、該ノードは上記プリアックを記憶する。該プリアックは、後続のステップにおいて当該ソフトウェア更新及びメッセージ内容の源の検証を可能にするために使用される。該プリアックは非常に小さな情報量しか有さないので、ノードにおけるメモリを節約することができる。次いで、ノード１０は、受信されたメッセージＭ１のメッセージ内容及びノード固有のキーＫnodeに基づいて応答メッセージＭ２を作成する。例えば、ノード１０の応答メッセージＭ２は下記の式の結果を含むことができる：
【数２】
2014526155.tif 000004
通常、メッセージ認証コードはＭ１及びＫnodeから導出される。セグメントコントローラ６０が、アドレス指定したノード１０から応答メッセージＭ２を受信しない場合、該セグメントコントローラ６０は、このノード１０に応答メッセージＭ２を送信するよう要求することができる。恐らくは、該セグメントコントローラ６０に、応答メッセージを受信するための最大期間を定義する特定の期間が設定される。セグメントコントローラ６０が各ノード１０から応答メッセージＭ２node_1、…、Ｍ２node_Nを受信した後、該セグメントコントローラは、受信された応答メッセージＭ２node_1、…、Ｍ２node_Nに基づいてサービスセンタ８０にメッセージＭ３を送信する。例えば、セグメントコントローラ６０は上記応答メッセージＭ２node_1、…、Ｍ２node_Nを、例えばハッシュ関数：
【数３】
2014526155.tif 000005
を用いて統合する。サービスセンタ８０が該メッセージＭ３を所定の時間内に受信しない場合、サービスセンタ８０はセグメントコントローラ６０からのメッセージＭ３を要求することができる。メッセージＭ３を受信した場合、サービスセンタ８０は該メッセージＭ３を用いて、正しい目標ノード１０がアドレス指定され、全ての目標ノード１０が第１メッセージＭ１を成功裏に受信したことを検証することができる。次いで、サービスセンタ８０はセグメントコントローラ６０に、暗号化されたソフトウェア更新ＥK(SW)、ソルト及び現在のハッシュチェーン要素ａL-1を含むメッセージＭ４を送信する。セグメントコントローラ６０は、暗号化されたソフトウェア更新のフィンガープリントを計算し（例えば、SHA256(EK(SW))）、暗号化されたソフトウェア更新の該フィンガープリント、ソルト及び現在のハッシュチェーン要素ａL-1を含むメッセージＭ５をノード１０に送信する。次いで、該ノード１０は、メッセージＭ１で受信された前記プリアックの値が、該メッセージＭ５により受信されたパラメータを入力した場合の所定の関数の結果と同一であるかを判定する。従って、図４に示される例において、ノード１０は：
【数４】
2014526155.tif 000006
であるかをチェックする。更に、ノード１０は、最後に使用されたハッシュチェーン要素ａＬを、メッセージＭ５に含まれるハッシュチェーン要素ａL-1にハッシュ関数を適用することにより導出することができるかを、例えばSHA256(aL-1)==aLであるかを判定する。これらの検証処理の両方が成功した場合、ノード１０はメッセージＭ５により受信されたソルト及び暗号化されたソフトウェア更新のフィンガープリントを容認し、ソフトウェア更新モードに切り換わる。更に、ノード１０は、今や、上記ソルト及びコミッショニングキーＫcomに基づいて暗号キーＫを計算することができる。その間に又はその後に、セグメントコントローラ６０は、当該暗号化されたソフトウェア更新を含むメッセージＭ６をノード１０に送信する。ノード１０が、以前に容認されたフィンガープリントがメッセージＭ６により受信された暗号化されたソフトウェア更新の算出されたフィンガープリントと同一であることを検証することができる場合、該ノードは当該ソフトウェア更新を容認し、該ソフトウェア更新を記憶する。しかしながら、メッセージＭ５及びＭ６を送信する代わりに、セグメントコントローラ６０はノード１０に対してメッセージＭ４だけを送信することもできる。いずれにせよ、ノード１０は、受信された暗号化されたソフトウェア更新のフィンガープリント、ソルト、現在のハッシュチェーン要素ａL-1及びノード固有のキーＫnodeを含む第２応答メッセージＭ７をセグメントコントローラ６０に返信する。例えば、該メッセージＭ７は：
【数５】
2014526155.tif 000007
を含むことができる。セグメントコントローラ６０は、全てのノード１０からの応答メッセージＭ７node_1、…、Ｍ７node_Nを収集すると共に、これら応答メッセージをバッチメッセージＭ８内に集合させ、該バッチメッセージはサービスセンタ８０に送信される。メッセージＭ８を受信すると共に、該メッセージＭ８が正しいこと、即ちセグメントコントローラ６０が当該プロトコルステップを正しく実行したことを検証した後、サービスセンタ８０はセグメントコントローラ６０に次のハッシュチェーン要素ａL-2を含むメッセージＭ９を供給する。このハッシュチェーン要素は、セグメントコントローラ６０により、目標ノード１０を再ブートすると共に新しいソフトウェアを起動するための再ブートキーとして使用される。このように、最後のステップにおいて、セグメントコントローラ６０は上記再ブートキー又はハッシュチェーン要素ａL-2を含むメッセージＭ９をネットワークノード１０に送信する。上記ハッシュチェーン要素ａL-2が有効であることを検証した場合、ネットワークノード１０は同期された態様で再ブートされ、ネットワークノード１０上の新しいソフトウェアが起動される。恐らくは、成功した更新及び再ブートの確認情報が、当該ノードからセグメントコントローラ６０を介してサービスセンタに送信される。ハッシュ関数SHA256の代わりに、メッセージ認証コードを発生するために如何なる他の暗号関数を使用することもできることに注意すべきである。
【００３４】
このように、ソフトウェア更新のフィンガープリントを所定の目標ノード１０に又は当該ネットワークの全てのノード１０に配信することができ、これらノード１０を同期された態様で再ブートすることができる。この方法は、ソフトウェアのフィンガープリント及び再ブートメッセージに署名するためにハッシュチェーンの２つのリンクを、各々、使用する。更に、ソフトウェア更新自体は、該ソフトウェア更新にとり固有の秘密暗号キーＫにより保護されるので、セグメントコントローラ６０は該ソフトウェア更新に対するアクセスを有さない。従って、本発明の第１実施態様によれば、ソフトウェア更新に対する安全で実用的なプロトコルを公開キー暗号の必要性無しに提供することができる。
【００３５】
しかしながら、この実施態様は幾つかの制限を有している。例えば、該実施態様は、サービスセンタ８０がオンラインであることを必要とする。何故なら、ソフトウェア更新は、メッセージＭ９において再ブートキーを供給した後にのみ完了され得るからである。更に、当該プロトコルはネットワークノード１０に他のソフトウェアを記憶するように操作され得る（このソフトウェアを起動させることはできないが）。この偽ソフトウェアのアップロード攻撃は以下のように発生し得る。即ち、メッセージＭ４の受信の後、操られているセグメントコントローラ６０は多数の偽メッセージＭ１を送信することができるので、ノード１０はサービスセンタ８０により供給された実際のメッセージＭ１を漏らさざるを得ない。次いで、セグメントコントローラ６０は偽ソフトウェア更新に基づく偽メッセージＭ５を発生することができる。セグメントコントローラ６０がコミッショニングキーＫcomに対するアクセスさえも有していたら、該セグメントコントローラ６０は、サービスセンタ８０からメッセージＭ５と共に受信されたソルトを用いて有効なソフトウェア暗号キーＫを発生し、他のソフトウェアをノード１０に投入することができ得る。しかしながら、通常は、セグメントコントローラ６０は、コミッショニングキーＫcomに対するアクセスを有さず、従って有効な暗号キーＫを生成することはできない。この場合、セグメントコントローラ６０はノード１０のメモリを無用な情報で満たすことしかできない。更に、これらの場合の何れにおいても、セグメントコントローラ６０は、再ブートキーとしてのハッシュチェーン要素ａL-2を有していないので、上記偽ソフトウェアを起動することはできない。
【００３６】
図６には、第１実施態様の斯かる欠点の少なくとも幾つかを克服することが可能な、本発明の第２実施態様が示されている。図７は、図６を参照して説明する実施態様の、異なる主体間の通信方向を示す概略図である。この実施態様の第１実施態様との主たる相違点は、セグメントコントローラ６０には、サービスセンタ８０からの第１メッセージによりプロトコル実行のための全ての情報が供給され、異なるプロトコルステップのための情報が異なるキーにより暗号化される点である。これらの手段により、サービスセンタ８０とセグメントコントローラ６０との間のデータトラフィックを最少化することができ、かくして、サービスセンタ８０はソフトウェア更新プロトコルを起動し、該プロトコルが完了したら、オプションとして確認応答を受信するだけでよい。このように、この実施態様はサービスセンタ８０のオフライン動作を可能にする。何故なら、サービスセンタ８０は第１メッセージＭ０を供給するだけでよく、次いで当該時間の残りの間はオフラインとすることができるからである。
【００３７】
図６の第１ステップＳ５００において、サービスセンタ８０はセグメントコントローラ６０にソフトウェア更新プロトコルを実行するために要する全ての情報を供給する。けれども、この情報の第１部分だけは符号化されず、従ってセグメントコントローラ６０により使用することができる。セグメントコントローラ６０は、この情報部分を、各目標ノード１０に送信する（Ｓ５１０）。各ノード１０は、受信されたメッセージ内容及び自身のノードアイデンティティに基づいて応答メッセージを返信する（Ｓ５２０）。ここで、セグメントコントローラ６０は、ノード１０からの該応答メッセージを用いて第１暗号キーを発生し（Ｓ５３０）、プロトコル情報の他の部分を解読することができる。上記応答メッセージはノードアイデンティティに及び該ノードに送信されたメッセージ内容に依存するものであり、且つ、セグメントコントローラ６０はプロトコル情報の次の部分を有効な応答メッセージによってしか復号することができないので、該セグメントコントローラ６０は、当該プロトコルを進めることができるためには、正しいノード１０に正しい内容を供給することを強いられる。発生された暗号キーを用いて、セグメントコントローラ６０は、ステップＳ５４０において、前記プロトコル情報の第２部分を解読し、これをネットワークノード１０に送信することができる。場合により、ネットワークノード１０は、上記プロトコル情報の第２部分を記憶する前に検証する（Ｓ５５０）。ステップＳ５６０において、ノード１０は第２応答メッセージをセグメントコントローラ６０に送信する。該第２応答メッセージに基づいて、セグメントコントローラ６０は第２暗号キーを発生し（Ｓ５７０）、当該プロトコル情報の更なる部分を解読することできる。これらのステップは、セグメントコントローラ６０がサービスセンタ８０から受信されたプロトコル情報に含まれる再ブートキーを解読し、該再ブートキーをノードに送信することができるまで（Ｓ５８０）、繰り返される。上記再ブートキーが有効であると判定されたなら、ノード１０は再ブートされ、新しいソフトウェアが起動される（Ｓ５９０）。好ましくは、当該プロトコルは、ステップＳ５１００においてサービスセンタ８０へ確認メッセージを送信することにより完了される。この確認メッセージは、セグメントコントローラ６０により集められる、ノードアイデンティティ又はノード固有のキー及び起動されたソフトウェアのフィンガープリントを各々含み得るノードの確認応答に関係するものであり得る。この確認メッセージにより、サービスセンタ８０は、全てのノード１０がうまく更新されたか、及び正しいソフトウェアが使用されたかを検証することができる。従って、この実施態様においても、セグメントコントローラ６０による正しいプロトコル実行が段階的に実施され、新しいノードソフトウェアの起動は各プロトコルステップの成功した検証の後にのみ可能となる。
【００３８】
図８には、本発明による第２実施態様の例が一層詳細に示されている。図４に示した例と同様に、サービスセンタ８０は、当該ネットワークのコミッショニングキーＫcom、ノード固有のキーＫnode又はノードアイデンティティ、当該ネットワークのハッシュ関数（例えば、SHA256）、初期ハッシュチェーン要素ａ０、及び最後に使用されたハッシュチェーン要素ａＬ又はハッシュ関数の繰り返し数ｌを知っている。ノード１０は、自身のノード固有のキーＫnode又は自身のノードアイデンティティ、コミッショニングキーＫcom、ハッシュ関数SHA256、ハッシュチェーンの最後の要素又はアンカａＮ及び最後に使用されたハッシュチェーン要素ａＬを知っている。当該プロトコルを開始するために、サービスセンタ８０は、プリアック（preack）及び異なる暗号キーＫｉに基づいて暗号化された少なくとも２つの更なる情報ブロックを含む第１メッセージＭ０を送信する。図示の例には、暗号キーＫ１及びＫ２によれ各々暗号化された２つの更なる情報部分のみが示されている。このように、メッセージＭ０は：
【数６】
2014526155.tif 000008
を有する。該メッセージＭ０により、セグメントコントローラ６０は、バックエンドからの更なる干渉無しに、当該プロトコル（例えば、ノード１０上でのソフトウェアの更新）を実行することができなければならない。しかしながら、符号化されていないのは上記プリアックのみであるので、セグメントコントローラ６０は、初めは、該プリアックしか使用することができない。このように、セグメントコントローラ６０は該プリアックを含むメッセージＭ１をノード１０に送信する。該プリアックはサービスセンタ８０により当該ソフトウェア更新に固有のランダム数又はソルト、現在のハッシュチェーン要素ａL-1及び暗号化されたソフトウェア更新のフィンガープリントに基づいて発生されたものである。例えば、プリアック値は前記第１実施態様に関して前述したように導出することができる。メッセージＭ１により上記プリアックを受信した後、ノード１０は該プリアックを記憶すると共に、メッセージＭ１の内容のフィンガープリント及び対応するノード固有のキーＫnodeに依存し得る第１応答メッセージＭ２を返信する。例えば、メッセージＭ２は関数SHA256(M1||Knode)の値を含み得る。前述したように、この実施態様においても、２つのメッセージ又はプロトコルステップの間の最大時間間隔を定義するために、所定の期間を設定することができる。例えば、セグメントコントローラ６０が全てのノード１０から応答メッセージＭ２node_1、…、Ｍ２node_Nを所定の期間内に受信しなかった場合、セグメントコントローラ６０は対応するノード１０からの応答メッセージＭ２を要求することができる。全ての応答メッセージＭ２node_1、…、Ｍ２node_Nを受信した場合、セグメントコントローラ６０は、例えば次の関数のようなキー導出関数を用いて第１暗号キーＫ１を決定することができる：
【数７】
2014526155.tif 000009
この暗号キーＫ１を用いて、セグメントコントローラ６０は、上記例では暗号化されたソフトウェア更新のフィンガープリントSHA256(EK(SW))、ソルト、現在のハッシュチェーン要素ａL-1及び暗号キーＫにより暗号化されたソフトウェア更新EK(SW)に関係する当該プロトコル情報の第２部分を解読することができる。暗号キーＫは、前述したように、コミッショニングキーＫcom及びソルトに基づくものであり得る。次いで、セグメントコントローラ６０は、解読された暗号化されたソフトウェア更新のフィンガープリントSHA256(EK(SW))、ソルト、現在のハッシュチェーン要素ａL-1をメッセージＭ３内でノード１０に送信する。セグメントコントローラ６０から該メッセージＭ３を受信した後、ノード１０は、メッセージＭ１により受信された前記プリアックの値が当該ソフトウェア更新のフィンガープリント、ソルト、現在のハッシュチェーン要素ａL-1の所定の関数と同一であるか、及びメッセージＭ３に含まれるハッシュチェーン要素が有効であるかを判定する。そうである場合、ノード１０は該メッセージＭ３に含まれるソルト及び暗号化されたソフトウェア更新のフィンガープリントを、ソフトウェアフィンガープリントとして受け入れ、ソフトウェア更新モードに切り換わる。上記ソルト及びコミッショニングキーＫcomに基づいて、ノード１０は暗号キーＫを計算することができる。次いで、セグメントコントローラ６０は、暗号キーＫにより暗号化されたソフトウェア更新を含む更なるメッセージＭ４をノード１０に送信する。受信された暗号化されたソフトウェア更新の所与のフィンガープリント関数の結果が、先に定義されたフィンガープリントと同一ならば（例えば、フィンガープリント==SHA256(EK(SW)received)ならば）、ノード１０は当該ソフトウェア更新を容認する。２つのメッセージＭ３及びＭ４をノード１０に送信する代わりに、セグメントコントローラ６０は、暗号化されたソフトウェア更新のフィンガープリント、ソルト、現在のハッシュチェーン要素ａL-1及び暗号化されたソフトウェア更新を含む１つのメッセージのみを送信することもできる。何れの場合においても、ノード１０はセグメントコントローラ６０に対して、暗号化されたソフトウェア更新のフィンガープリント、ソルト、現在のハッシュチェーン要素ａL-1及びノード固有のキーＫnodeに基づいて計算された値を含む応答メッセージＭ５を送信する。例えば、該値は下記の式に基づいて計算することができる：
【数８】
2014526155.tif 000010
セグメントコントローラ６０が上記応答メッセージＭ５を対応するノード１０から所定の期間内に受信しなかった場合、セグメントコントローラ６０は、この応答メッセージＭ５を要求することができる。受信された応答メッセージＭ５node_1、…、Ｍ５node_Nを用いて、セグメントコントローラ６０は、第２暗号キーＫ２を算出し、サービスセンタ８０からの前記メッセージＭ０に含まれたプロトコル情報の第３部分を解読することができる。例えば、暗号キーＫ２は下記の式に基づいて算出することができる：
【数９】
2014526155.tif 000011
オプションとして、該第２暗号キーＫ２はセグメントコントローラ６０により、サービスセンタ８０に送信されるべき確認メッセージとして使用することもできる。最終ステップにおいて、セグメントコントローラ６０はノード１０に対して、再ブートキーとして使用されるものであって前記プロトコル情報の第３部分に含まれていた次のハッシュチェーン要素ａL-2を含むメッセージＭ７を送信する。ノード１０は、該再ブートキーを、上記ハッシュチェーン要素が正しいかを、例えば：
【数１０】
2014526155.tif 000012
であるかを判定することによって判定することにより検証する。そうである場合、ノード１０は再ブートされ、新しいソフトウェアが起動される。
【００３９】
この実施態様の要点は、セグメントコントローラ６０がネットワークノード１０に配信しなければならないメッセージＭ３、Ｍ４及びＭ７内の情報が異なるキーＫ１及びＫ２により暗号化されているという事実に依存していることである。これらの暗号キーは、各ネットワークノード１０からの確認応答に依存している。このように、全てのネットワークノード１０が期待された確認応答又は応答メッセージを送信した場合にのみ、セグメントコントローラ６０は次のプロトコル情報を解読し、使用することができる。このようにして、正しい動作が実施され、セグメントコントローラ６０の正しい挙動を保証する。即ち、セグメントコントローラ６０が当該プロトコルに従わない場合、該セグメントコントローラは次のプロトコルステップのためのプロトコル情報を使用することができない。何故なら、該情報は暗号化されているからである。セグメントコントローラ６０が正しく振る舞う場合、該セグメントコントローラは、該情報を解読し、期待されたプロトコル動作に従うことができる。更に、サービスセンタ８０との通信は、当該通信が、主に、部分的に信頼されるセグメントコントローラ６０とノード１０との間でシステムのセキュリティを低下させることなく行われるので、低減することができる。このことは、サービスセンタ８０のオフライン動作を可能にする。
【００４０】
従って、本発明によれば、バックエンドからのサービスを、完全には信頼されない中間主体の正しい動作を強制することにより提供することができる。更に、バックエンドに対するデータトラフィック及びバックエンドにおける演算を最少化することができ、かくしてネットワーク管理を簡略化する。ネットワークのセグメントコントローラ６０とバックエンドにおけるサービスセンタ８０との間の通信リンクは、しばしば、ＧＰＲＳ等の第三者設備に依存するので、このことは、ネットワークの維持費用も低減する。本発明の実施態様は、屋外照明システム等の例えば街路照明システムにおける照明器具ノード１０の調光パターンを更新する又は他の構成若しくはコミッショニング情報を送信する等の、サービスセンタ８０からのサービスを可能にする屋外照明システム等の、大規模無線ネットワークに特に適している。この場合、ネットワークのノード１０だけが当該情報を受信することを保証することが重要である。しかしながら、本発明の実施態様は、例えば軽量ZigBee-IP等の上述したような通信及び信頼パターンを示す如何なる他のプロトコル、アプリケーション、システム又はネットワークにも適用可能である。
【図３】
2014526155.tif 000013
【図４】
2014526155.tif 000014
【図５】
2014526155.tif 000015
【図７】
2014526155.tif 000016
【図８】
2014526155.tif 000017
【図１】
2014526155.tif 000018
【図２】
2014526155.tif 000019
【図６】
2014526155.tif 000020
【国際調査報告】
2014526155.tif 000021
2014526155.tif 000022