JP6072782B2 - ネットワークにおける安全なプロトコルの実行 - Google Patents

ネットワークにおける安全なプロトコルの実行 Download PDF

Info

Publication number
JP6072782B2
JP6072782B2 JP2014514184A JP2014514184A JP6072782B2 JP 6072782 B2 JP6072782 B2 JP 6072782B2 JP 2014514184 A JP2014514184 A JP 2014514184A JP 2014514184 A JP2014514184 A JP 2014514184A JP 6072782 B2 JP6072782 B2 JP 6072782B2
Authority
JP
Japan
Prior art keywords
node
protocol
segment controller
information
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014514184A
Other languages
English (en)
Other versions
JP2014526155A5 (ja
JP2014526155A (ja
Inventor
モーション オスカー ガルシア
モーション オスカー ガルシア
ダニエル マーティン ゴーゲン
ダニエル マーティン ゴーゲン
ティム コーネール ウィルヘルムス シェンク
ティム コーネール ウィルヘルムス シェンク
ペレス ジャビエル エスピナ
ペレス ジャビエル エスピナ
マーク アウン
マーク アウン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Signify Holding BV
Original Assignee
Signify Holding BV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Signify Holding BV filed Critical Signify Holding BV
Publication of JP2014526155A publication Critical patent/JP2014526155A/ja
Publication of JP2014526155A5 publication Critical patent/JP2014526155A5/ja
Application granted granted Critical
Publication of JP6072782B2 publication Critical patent/JP6072782B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)
  • Selective Calling Equipment (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワークにおける安全なプロトコル実行のためのシステム、セグメントコントローラ用の制御ユニット及び方法に関する。
近年、例えば照明システムの遠隔制御、ビルオートメーション、監視アプリケーション、センサシステム及び医療アプリケーションに関連して、無線メッシュネットワーク(網状回路網)が益々注目を浴びている。特に、屋外照明器具の、所謂テレマネージメントと称される遠隔管理が益々重要となってきている。一方、このことは環境的関心によっても後押しされている。何故なら、テレマネージメントシステムは例えば時間、気象条件又は季節の関数としての異なる調光パターンの使用を可能にし、屋外照明システムの一層エネルギ効率的な利用を可能にするからである。他方、このことは、経済的理由によっても後押しされている。何故なら、エネルギ効率の増加は運転コストも減少させるからである。更に、斯かるシステムは遠隔的に電力使用量を監視すると共にランプの故障を検出することもでき、このことは照明器具を修理し又はランプを交換する最良の時点を決定することを可能にする。
現在のラジオ周波数(RF)型無線解決方策は、好ましくは、例えば図1に示されるようなメッシュネットワークトポロジを使用する。該無線ネットワークは、網状トポロジの無線通信経路40により互いに接続された複数のノード(N)10及び中央コントローラ又はセグメントコントローラ60を有している。このように、ノード10及び中央コントローラ60は、例えばRF伝送を介することにより無線通信経路40を介してデータパケットを送信又は受信するための送受信器を有することができる。バックエンドには、サービスセンタ80が配置され、システム管理を行う。この主体は、通常、対応するネットワークの1以上の中央コントローラ60と、このネットワークを第三者通信チャンネル70(インターネット若しくはモバイル通信ネットワーク又は他の有線若しくは無線データ伝送システム)を介して制御又は構成(コンフィギュレーション)する責務を負うコミッショニング(検証試験)ツールとして通信する。照明システム又は何らかの他の大規模無線ネットワークの場合、ネットワークは、ノード10が1つのセグメントコントローラ60を有する1つのセグメントに正確に属するように、セグメントに分割することができる。従って、“セグメントコントローラ”及び“中央コントローラ”なる用語は、本記載を通して入れ換え可能であると理解されるべきである。
一般的に、メッシュネットワークの如何なるノード10もセグメントコントローラ60を介してサービスセンタ80と通信することができる。しかしながら、幾つかの状況では、基本的なセキュリティ(保安)サービスを提供するために高度な安全規格が満足されねばならない。一例は、介入者攻撃に対する保護、即ち機密情報が許可されていないノード10に供給されることを防止する又はノード10に供給される情報の操作を防止することである。例えば、屋外照明制御は、セグメントコントローラ60等の制御装置を介してのサービスセンタ80とノード10自体との間の通信リンクを必要とする照明ノードの遠隔管理を含む。サービスセンタ80及びノード10とは対照的に、中間にあるセグメントコントローラ60は、設置者又は顧客等の第三者により管理及び操作されるので、時には完全には信頼がおけない。このように、セグメントコントローラ60は介入者として働き得、何らかのメッセージを操作し得る。このことは、セキュリティプロトコルの実行を困難にさせる。例えば、キー材料は、悪用され得るので、セグメントコントローラ60に供給することはできない。従って、ネットワークノード10等のソフトウェア機能を、侵入者がノード10に悪意のソフトウェアを投入することができるという恐れなしに、アップグレード及び/又は起動することを可能にする手段を見付けることが必要とされる。このためには、このような動作を実行するためのプロトコルがセグメントコントローラ60により正しく実行されることを保証することが重要である。
2つの信頼される主体間の終端間(エンドツーエンド)認証を可能にする伝統的な終端間プロトコルは、例えばチャレンジ応答認証ハンドシェイクに基づいたサービスセンタ80とノード10との間でのメッセージの対話的交換を必要とする。このような手順は高い安全性を提供するが、図1に示されるようなGPRSリンク70の使用に関して、及びバックエンドにおけるサービスセンタ80に関して厳しい要件を課すことになる。何故なら、斯かる手順はサービスセンタ80における連続した接続、より広い帯域幅及び一層多い演算を必要とするからである。このように、例えば相互認証を保証するサービスセンタ80からノード10への終端間セキュリティハンドシェイクは、費用が掛かり、大量のデータトラフィック、バックエンドとの連続した接続、バックエンドにおける一層広い帯域幅及び一層多くの演算を必要とする。
従って、中間制御装置を介してバックエンドからノード10と通信するための手段であって、各アプリケーションに適したセキュリティと演算的要求との間の合理的な妥協を行う手段を見付けることが望ましい。
従来技術における上述した欠点及び問題点に鑑み、本発明の目的は、バックエンドにおける作業負荷及び接続要件を最小化すると共に通信オーバーヘッドを低減しながら、バックエンドからネットワークノードの安全な構成を可能にする、無線ネットワークにおける安全なプロトコル実行のためのシステム、セグメントコントローラ用の制御ユニット及び方法を提供することである。
本発明は、ネットワークノードとサービスセンタとの間の中間主体として働く制御装置に、ノードのうちの少なくとも1つに対して特定のプロトコルを該制御装置へ対応するプロトコル情報を供給することにより実行させ、その場合に、該制御装置は当該プロトコルの次のステップを実行するために対応するノード(又は複数のノード)からの所定の応答メッセージを必要とするようにするというアイデアに基づいている。上記サービスセンタ及び制御装置又はセグメントコントローラは、特定のネットワークノードにより各々表すこともできると理解されるべきである。上記所定の応答メッセージは、対応するノード(又は複数のノード)からの、プロトコルが正しく実行された場合にのみ当該ノードにより与えられ得る正しい応答(又は複数の応答)に関係し得るものである。このように、当該プロトコルは中間制御装置により、例えば通常のセキュリティハンドシェイクに伴うであろう大きなデータトラフィックを生じさせることなく実行することができ、これにより通信オーバーヘッドを低減する。更に、プロトコルの実行を、制御されるべきノードの有効な回答に依存させることにより、制御装置による情報の誤使用又はノードに供給される情報の操作を防止することができる。従って、ノードとバックエンドとの間の終端間ハンドシェイクのフィーチャをセキュリティに関して実現することができる。一例において、上記プロトコルは、ネットワークノードの構成(コンフィギュレーション)、ノードソフトウェアの更新(アップデート)、ノードのフィーチャの活性化及びノードのコミッショニングのうちの少なくとも1つに関係するものであり得る。この場合、ソフトウェア更新情報は制御装置を介してノードに供給することができ、その際に、この情報の操作を防止すると共に、該情報が目標ノード以外のノードに供給されることを防止する。制御装置は、正しい目標ノード(又は複数のノード)からの有効な応答メッセージを有するプロトコルしか進めることができないので、該制御装置の正しいプロトコルに基づく処理を実施することができる。
本発明の一態様によれば、1以上のノードを有する無線メッシュネットワーク等のネットワークにおいて正しいプロトコル実行を保証するシステムが提供される。該システムは、サービスセンタ及びセグメントコントローラを有し、サービスセンタは当該ネットワークノードのうちの少なくとも1つの特定のノードとのプロトコルを実行するためにセグメントコントローラにプロトコル情報を供給する。該プロトコル情報を使用することができるためには、セグメントコントローラは、このノードにより応答メッセージ内で供給される情報を必要とし得る。該応答メッセージは、セグメントコントローラから特定のプロトコルの特定の情報又は実行を通知するメッセージを受信した後に、当該ノードにより送信することができる。好ましくは、該ノードは、セグメントコントローラから受信された前のメッセージ又は情報の成功裏の検証の後にのみ、セグメントコントローラに有効な応答メッセージを供給する。従って、セグメントコントローラを、当該プロトコルの更なる、続く又は後のステップを実行するための有効なメッセージを受信するために、正しいノードに正しいプロトコル情報を供給するよう強制することができる。これらの手段により、セグメントコントローラの正しい動作を、制御されるべきノード(即ち、目標ノード)により監視することができ、かくして、プロトコル情報の誤った使用を防止する。同様に、このことは、ノードに悪意のソフトウェアがうまくインストールされてしまうことを防止する。従って、サービスセンタによる制御なしで、該サービスセンタにより許可された情報のみがネットワークノードに配信されると共に、該サービスセンタにより認可された第三者のみが配信される情報に対するアクセス権を有することを保証することができる。この処理において、サービスセンタとの継続的な通信は必要とされることがないので、サービスセンタは部分的にオフラインとすることができる。
一実施態様において、上記ノードの応答メッセージは、当該ノードの識別情報(アイデンティティ)に関する、及び/又は当該ノードが該応答メッセージにより応答しようとしているセグメントコントローラから受信されたメッセージの識別子に関する情報を含む。上記メッセージの識別子は、上記受信されたメッセージから導出される文字列又は値(セグメントコントローラからのメッセージのフィンガープリント(指紋))であり得る。ここで、フィンガープリントとは、当該メッセージから小さなキーを抽出することによる固有に識別するデータを指す。このように、メッセージの識別子は、セグメントコントローラから送信されたメッセージの内容の機能に関係し得る。前記ノードアイデンティティは、当該ノードの個体キーに関係するものであり得る。この場合、セグメントコントローラが当該プロトコルを正しい目標ノードと実行することも保証され得る。しかしながら、ノードアイデンティティは、当該ネットワークの全てのノードに共通な対称キー(例えば、コミッショニングキー)にも関係し得る。このキー又はノードアイデンティティは、好ましくは、セグメントコントローラには未知のものとする。このように、ノードは、受信されたメッセージの内容に依存して及び/又は自身のアイデンティティに基づいてチェック値又は文字列を発生することができる。これらの手段により、応答メッセージは受信側ノードのアイデンティティ及び受信されたメッセージの内容を示すので、正しいプロトコル実行を容易に検証することができる。
好ましくは、サービスセンタによりセグメントコントローラに供給されたプロトコル情報の少なくとも一部を解読するために、ノードからの応答メッセージ(又は、その一部)が必要とされる。このように、セグメントコントローラは、ノードからの応答メッセージに基づいて解読用のキーを発生することができる。例えば、セグメントコントローラには、サービスセンタにより、ネットワークノードの少なくとも1つを構成するための少なくとも部分的に暗号化された構成メッセージを供給することができる。当該ノードの構成を進めるために、セグメントコントローラは解読用の応答メッセージを必要とし得る。該応答メッセージは、当該ノードのセキュリティキー(例えば、分離不可能な又は符号化された形態のノードアイデンティティ若しくはコミッショニングキー又はメッセージフィンガープリント等)を含むことができ、従って、セグメントコントローラ又は盗聴する主体はオリジナルのセキュリティキーを導出することはできない。従って、セグメントコントローラを、該セグメントコントローラに対応して暗号化されたプロトコル情報を供給することにより、特定のノードと特定のプロトコルを実行するように強制することができる。このように、セグメントコントローラはノードを誤って使用することも、認可されていないノードにプロトコル情報を送信することもできない。何故なら、セグメントコントローラは、当該プロトコルに従う場合にしか、プロトコル情報を解読し、使用することができないからである。セグメントコントローラが当該プロトコルに正しく従わない場合、該セグメントコントローラは情報を解読することができず、従って該情報を悪用することはできない。セグメントコントローラが応答メッセージを使用してプロトコル情報の少なくとも一部を解読した後、該セグメントコントローラは解読されたプロトコル情報の幾らか又は全てを当該ネットワーク内のノード又は複数のノードに送信することができる。
好ましくは、プロトコル情報は異なるキーに基づいて符号化される。この実施態様において、ネットワーク内のノード(又は複数のノード)は、セグメントコントローラから最後に受信されたメッセージに対応する応答メッセージを返信する。これらの/この応答メッセージ(又はその/それらの一部)は、セグメントコントローラにより、プロトコル情報の次の部分を解読するための次のキーを発生するために使用することができる。例えば、次のプロトコルステップのための情報は、前のプロトコルステップに関するセグメントコントローラからのメッセージに対する当該ノードの予想される有効な応答メッセージにより符号化することができる。このように、プロトコル情報は繰り返して解読することができる。これらの手段により、セグメントコントローラの正しい動作が、ステップ毎に、観察され、保証される。
好ましい実施態様において、セグメントコントローラには当該プロトコルの全ステップに関するプロトコル情報が供給される。この場合、プロトコル情報は異なるキーに基づいて符号化することができる。この構成は、当該プロトコルを、セグメントコントローラとノードとの間の対話を主に伴うことにより実行することを可能にする。何故なら、安全性は正しい応答メッセージなる要件により既に保証されているからである。従って、当該プロトコルを実行するために必要とされるバックエンドとの接続性及びバックエンドにおける演算の数を低減することができる。
更に、セグメントコントローラはサービスセンタに対して後のプロトコルステップに関係するプロトコル情報のリクエストを送信することができ、該リクエストメッセージは少なくとも1つのノードから受信された応答メッセージに基づくものである。このように、サービスセンタは、リクエストメッセージに含まれるノードの応答メッセージに関する情報を用いて、セグメントコントローラが前のプロトコルステップを正しいノードに対して及び/又は正しい態様で実行したかを検証することができる。次いで、該サービスセンタはセグメントコントローラに、次のプロトコルステップを実行するための更なるプロトコル情報を供給することができる。当該プロトコルにより2以上のノードが制御される場合、セグメントコントローラは、各ノードからの全ての応答メッセージ(又は応答メッセージの部分組)に関する情報を、サービスセンタに対するリクエストメッセージに統合させることができる。この場合、サービスセンタは、更に、制御されるべきノードの全てが前のプロトコルステップにおいて成功裏にアドレス指定されたかをチェックすることができる。
好ましくは、サービスセンタ及びネットワークのノードは、共通セキュリティキー、コミッショニングキー、ハッシュ関数等の暗号関数、ハッシュ関数の繰り返し数及び現ハッシュ値のうちの少なくとも1つを共有する。サービスセンタは、各ネットワークノードに対して個別なセキュリティキー又は全てのネットワークノードに対して若しくはネットワークノードの1以上のグループに対して共通なセキュリティキーを知り得る。代わりに又は加えて、サービスセンタは各ネットワーク又はネットワークセグメントに対するハッシュチェーン又はハッシュ関数、及びその開始値aを保持することができる。この場合、ノードは各ハッシュチェーン又は関数のアンカ(anchor)により初期化することができる。ハッシュ関数は他の一方向性関数又はチェーンにより置換することができ、その場合、該関数の繰り返し適用は、開始文字列又は開始値から導出される、例えばa=HASH(ai-1)等のチェーンリンク又は要素を生じる。好ましくは、プロトコル及び/又は応答メッセージは少なくとも部分的にハッシュアルゴリズムSHA-2等のハッシュ関数に基づくものとする。これらの手段により、ハッシュチェーンのアンカにより初期化されると共に、現ハッシュチェーン要素aを追跡記録するノードは、受信されたメッセージを、該受信されたメッセージに含まれるハッシュ要素ai-1がa=HASH(ai-1)なる条件を満たすかをチェックすることにより検証することができる。従って、ハッシュチェーン又は他の一方向性関数を使用することは、公開キー暗号なしでの認証を可能にする。
幾つかの実施態様において、プロトコルは当該ネットワークの1以上のノードに情報を供給することを含むことができる。この場合、上記情報は好ましくは情報識別番号及び主秘密情報(マスタシークレット)から導出される秘密キーに基づいて保護されるようにする。該情報はサービスセンタからセグメントコントローラを介してノードに送信することができる。このように、該情報を保護するために、上記秘密キーはマスタシークレット(即ち、セグメントコントローラによってではなく、ノード及びサービスセンタのみにより知られた文字列又は値)に基づくものとすることができる。例えば、マスタシークレットは、当該ノードのセキュリティキー又は当該ノードのコミッショニングキーに関係するものであり得る。その上、当該秘密キーは、更に、情報識別番号(例えば、サービスセンタにより設定されるランダム数、ノンス(nonce)又はソルト(salt))を含むことができる。このように、当該情報がソフトウェアの更新に関係する例においては、情報識別番号はソフトウェア更新番号又はソフトウェア番号に対応し得る。これらの手段により、機密情報を保護することができ、サービスセンタとノードとの間の終端間セキュリティハンドシェイクのフィーチャを真似ることができる。
一実施態様において、サービスセンタはノードに対してプロトコルに固有のランダム数、ソルト又はノンスを供給することができる。これは、ノードにおいてハッシュ関数等の一方向性関数への入力として必要とされ得る。好ましくは、上記ソルト又はノンスは少なくとも16バイト長のものとする。ランダム数、ソルト又はノンスは、上述した情報識別番号に関係するものであり得る。
これらのプロトコルステップの少なくとも1つは、ノードに対する構成情報の供給、ノードの再構成、ノードの再ブート又はこれらの何れかの組み合わせを含むことができる。好ましくは、再ブートステップは、付加的に、認証トークン(例えば、新しいハッシュチェーンリンク)により保護することができる。このように、再ブートを許可するためには、現在の又は有効なハッシュチェーンリンクがノードに供給されねばならない。従って、サービスセンタはセグメントコントローラに現在のハッシュチェーンリンクを供給することができ、該ハッシュチェーンリンクは幾つかのノードに対して同一とすることができるので、同期された態様での再ブートが可能である。このことは、特に複数のノードに対してソフトウェア更新を供給する場合に、一層安全で安定したネットワーク動作を可能にし得る。
当該プロトコルを完了する場合に、セグメントコントローラはサービスセンタに対して確認メッセージを送信することができる。該確認メッセージは、セグメントコントローラにおいて各ノードから受信された少なくとも1つの応答メッセージに基づくものとすることができる。このように、該確認メッセージは、各ノードのアイデンティティに関する、及び/又は各ノードにおいて受信されたセグメントコントローラからの最後のメッセージの内容に関する情報を含むことができる。ソフトウェア更新の例において、ノードがセグメントコントローラから受信する最後のメッセージは、恐らくは秘密キーにより符号化されたソフトウェアイメージを含むことができる。従って、該ノードからセグメントコントローラへの対応する応答メッセージはノードアイデンティティ及び/又は当該ソフトウェアイメージのフィンガープリントに関する情報を有することができ、これにより、サービスセンタは正しいノードが更新され、及び/又は当該ノードが正しいソフトウェアにより更新されることを検証することができる。従って、サービスセンタは、プロトコル情報をセグメントコントローラに供給する場合、及びセグメントコントローラから確認メッセージを受信する場合にのみ、当該プロトコルに関わり得ることになる。このように、サービスセンタとの通信は低減され、それでいて、中間主体(即ち、セグメントコントローラ)を介してのネットワークノードの安全な制御を可能にする。
本発明の好ましい実施態様において、当該システムは照明システムのテレマネージメントに適用される。例えば、当該無線ネットワークのノードは、街路照明システム又は何らかの他の照明システム等の照明システムの照明器具に対応し得る。このようなシステムにおいては、セグメントコントローラとサービスセンタとの間の通信は第三者機構に依存し得る一方、セグメントコントローラとノードとの間の通信は当該ネットワーク内の無線伝送に基づくものである。従って、サービスセンタとの通信を低減することは、結果として、維持コストの低下になる。
本発明の他の態様によれば、1以上のノードを有する無線ネットワークにおいて安全なプロトコル実行を可能にするセグメントコントローラ用の制御ユニットが提供される。本発明による該制御ユニットによれば、セグメントコントローラは、ネットワークノードの少なくとも1つを制御するためにサービスセンタにより供給されるプロトコル情報に基づいてプロトコルを実行するように構成され、該プロトコルの実行は、制御されるノードの少なくとも1つの応答メッセージに依存する。このように、本発明によるセグメントコントローラ用の制御ユニットは、本発明によるシステムに関する上述した如何なる実施態様のセグメントコントローラにも適用することができる。該制御ユニットは、セグメントコントローラに組み込み、統合し、装着し又は動作的に結合することができる。
本発明の他の態様によれば、1以上のノードを有する無線ネットワークにおける安全なプロトコル実行のための方法が提供される。該方法によれば、ネットワークノードの少なくとも1つの制御のために該ネットワークのセグメントコントローラにプロトコル情報が供給される。セグメントコントローラは、プロトコルを、受信された該プロトコル情報に基づいて実行する。このため、セグメントコントローラは当該プロトコルを実行するために少なくとも1つのノードの少なくとも1つの応答メッセージを必要とする。従って、本発明による該方法は、本発明の上述した実施態様の何れかによるセグメントコントローラの制御ユニット又はシステムにより実行されるように適合される。
本発明の上記及び他の態様は、後述する実施態様から明らかとなり、斯かる実施態様を参照して解説されるであろう。本発明は、添付図面により図示された例示的実施態様に関連して更に詳細に説明されるであろう。しかしながら、本発明は、これらの例示的実施態様に限定されるものではない。
図1は、無線メッシュネットワークの一例を示す。 図2は、本発明の一実施態様を説明するフローチャートを示す。 図3は、図2の処理の概要図を示す。 図4は、本発明の一実施態様による処理の説明図を示す。 図5は、ハッシュチェーンの原理を示す。 図6は、本発明の他の実施態様を説明するフローチャートを示す。 図7は、図6の処理の概要図を示す。 図8は、本発明の一実施態様を説明するフローチャートを示す。
本発明の好ましい適用例は、アクチュエータネットワーク、センサネットワーク、又は屋外照明システム(例えば、街路、駐車場及び公共領域のための)及び一般領域照明のための屋内照明システム(例えば、モール、アリーナ、駐車場、駅、トンネル等のための)等の照明システムである。以下においては、本発明は街路照明のための屋外照明システムの例を用いて更に説明するが、この用途に限定されるものではない。照明制御の分野では、ラジオ周波数ネットワーク技術による屋外照明器具のテレマネージメントが、特に200を越える照明器具ノードのセグメントを持つ大規模設備のための適用可能性を持つ解決策として益々関心の的となっている。ラジオ周波数(RF)伝送は高い送信出力を必要とせず、実施化及び配備するのが容易であるので、ネットワークを設置及び運転する費用を低減することができる。しかしながら、データパケット伝送は、代わりに、赤外線通信、自由空間可視光通信又は電力線通信を使用することもできる。
照明制御のためのテレマネージメントシステムにおいては、照明器具ノード10の数は非常に大きい。従って、そのネットワークの規模は、特に典型的には200ノード未満しか含まない通常の無線メッシュネットワークと比較した場合、非常に大きい。加えて、ノード10は典型的には費用的配慮により限られた処理能力しか有さず、従って、照明器具ノード10における処理及びメモリ資源は限られる。このように、セキュリティ対策及び単独ノード10間でデータパケットを伝送するための通信プロトコルは、効率的で安全なデータパケット伝送のために該限られた資源を考慮しなければならない。最後に、他の所謂アドホックメッシュネットワークと比較すると、屋外照明制御ネットワークのためのテレマネージメントシステムは静止的である。即ち、照明器具ノード10は移動することがない。照明器具ノード10(例えば、ランプ電柱)は静止しているので、ノード位置は時間に伴い変化することはない。このように、ノード10の物理的位置(例えば、GPS座標又は他の位置データ)は当該システム内で既知であり得、予めプログラミングされた又は予め定められた位置を用いて地理的な又は位置に基づく経路決めを可能にする。
以下、本発明の実施態様を、ソフトウェア更新のためのプロトコルの例を用いて説明する。しかしながら、本発明は斯かる例に限定されるものではなく、セグメントコントローラ60により実行されるべきプロトコルはノードのフィーチャの活性化等に関するものでもあり得る。
図2には、セグメントコントローラ60による安全なプロトコル実行を保証するための第1実施態様が示されている。図3には、図2に示された例におけるサービスセンタ80、セグメントコントローラ60及びネットワークノード10の間のデータトラフィックが概略図示されている。図3における矢印は通信の方向を示し、時間は下方に向かって進むと考えることができる。
第1ステップS200において、サービスセンタ80はセグメントコントローラ60に対してプロトコルを実行するための情報を供給する。この情報を受信すると、セグメントコントローラ60は、対応するプロトコルを実行し始める。かくして、セグメントコントローラ60は、例えば該プロトコルの開始を通知するために、1以上のノード10に対して第1メッセージを送信する(S210)。各ノード10は、セグメントコントローラ60から受信されたメッセージを、該受信されたメッセージの内容のインデックス又は識別子及び当該ノードのアイデンティティを示す識別子又はキーを含む応答メッセージにより受信確認する(S220)。ステップS230において、セグメントコントローラ60はノード10からの応答メッセージを収集し、これらメッセージを圧縮された形で(例えば、バッチメッセージに集合された形で)サービスセンタ80に送信する。これらの手段により、サービスセンタ80は、セグメントコントローラ60が当該プロトコルの第1ステップを正しく且つ成功裏に実行したことを検証することができる。これは、第1メッセージが正しい内容を含んだこと、第1メッセージがノード10により成功裏に受信されたこと、又はセグメントコントローラ60が第1メッセージを正しいノード10に、即ち当該プロトコルの目標ノードに送信したことを検証することを含み得る。少なくとも1つの検証が成功したと判定した後、サービスセンタ80は当該プロトコルの更なるステップに関する情報をセグメントコントローラ60に送信する(S240)。かくして、ステップS250において、セグメントコントローラ60は当該プロトコルの次のステップ、例えば第2メッセージをノード10に送信するステップを実行することができる。好ましくは、第2メッセージは当該ソフトウェア更新のソフトウェアイメージを有し、該ソフトウェアイメージはステップS260においてノード10により記憶される。更に、上記第1メッセージ及び第2メッセージには何らかの識別手段を含めることができるので、ノード10は、受信されたメッセージの内容を、記憶する前に検証することができる(S260)。次いで、ステップS270において、ノード10はセグメントコントローラ60に、第2応答メッセージ(前記第1メッセージと同様に、受信された内容及び各ノードのアイデンティティに依存する)を送信する。ステップS280において、セグメントコントローラ60は第2応答メッセージをメッセージのバッチに集め、該バッチメッセージをサービスセンタ80に送信する。サービスセンタ80による成功裏の検証の後、サービスセンタ80は当該新ソフトウェアを起動するためにセグメントコントローラ60に再ブートキーを供給する(S290)。該再ブートキーを受信し、成功裏に検証した場合、ノード10はステップS2100において再ブートされる。オプションとして、再ブートの後にセグメントコントローラ60はノード10から確認メッセージを受信し、これらメッセージを更なるメッセージバッチでサービスセンタ80に送信することができる。安全性を高めるために、予想されるメッセージを受信するために特定の期間を設定することもできる。例えば、ステップS200における当該プロトコルの開始及びステップS290における再ブートキーの供給のために、サービスセンタ80において最大期間を設定することができる。当該プロトコルの3以上のステップも斯かる方法で制御される、即ちステップS200〜S230又はS240〜S280等の更なる繰り返しが存在することも理解されるべきである。
従って、図2及び3に示される実施態様によれば、ノード10はセグメントコントローラ60を介してサービスセンタ80に対し、ノード10のうちの何のノードがセグメントコントローラ60からメッセージを受信したか、及び当該ノードが何を受信したかを報告する。サービスセンタ80が正しいプロトコル実行を検証した後においてのみ、該サービスセンタはセグメントコントローラ60に当該プロトコルの更なるステップに関する情報を供給する。セグメントコントローラ60は各単独ノード10からの応答メッセージを束ね、これら応答メッセージをバッチメッセージで送信するので、セグメントコントローラ60とサービスセンタ80との間のデータトラフィックを低減することができる。このように、ノード10の応答メッセージの、ノードのアイデンティティに対する及びセグメントコントローラ60から受信されたメッセージの内容に対する依存性により、セグメントコントローラ60は、当該プロトコルを正しく実行する場合にのみ有効な応答メッセージを受信する。従って、プロトコルは完全には信頼されない主体(即ち、セグメントコントローラ60)により実行されるが、正しいプロトコル実行を、サービスセンタ80との接続に対する高いデータ負荷を必要とすることなく、段階的に実施することができる。
図4には、本発明の第1実施態様に関する更に詳細な例が示されている。この例において、サービスセンタ80は、当該ネットワークの全ノードに共通なコミッショニングキーKcom、ネットワークノード10のノードアイデンティティ又はノード固有のキーKnode、当該ネットワーク内のノードにより使用されるSHA256等のハッシュ関数、該ハッシュ関数の開始値a、並びに該ハッシュ関数の繰り返し数l及び最後に使用されたハッシュチェーン要素aのうちの少なくとも一方を知っている。対照的に、ネットワークノード10は、コミッショニングキーKcom、当該ネットワークのハッシュ関数SHA256、ハッシュチェーンの最後の要素又はアンカa、及び開示された最後のハッシュチェーン要素aを知っている。
図5には、ハッシュチェーンの原理が図示されている。該ハッシュチェーンは、a=HASH(aL-1)により一方向性ハッシュ関数を用いて発生されたN個の要素aを含んでいる。このように、当該ハッシュチェーンの各要素aは、先行するハッシュチェーン要素ai-1に基づいてのみ発生することができる。サービスセンタ80のみが初期ハッシュチェーン要素aを知っているので、該サービスセンタ80のみが次のハッシュチェーン要素ai+1を発生することができる。或る情報の認証のために、サービスセンタ80は、図5に示されるように、ハッシュチェーン要素aを反対方向で使用する。例えば、サービスセンタ80は、ノード10に対するメッセージに現在のハッシュチェーン要素aL-1を含める。この場合、最後に使用されたハッシュチェーン要素aしか知らないノード10は、該メッセージをa=HASH(aL-1)であるかをチェックすることにより検証することができる。これらの手段により、公開キー暗号法の必要性無しに情報を認証することができる。
図4に示されるように、サービスセンタ80は、セグメントコントローラ60により実行されるソフトウェア更新プロトコルの実行を、第1メッセージM1を該セグメントコントローラ60に送信することにより開始する。該第1メッセージはプリアック(preack)を含み、該プリアックとは、現ハッシュチェーン要素aL-1及び当該ソフトウェア更新のフィンガープリントに依存するメッセージ認証コード関数等の関数の値である。この場合、上記フィンガープリントは関数の値又は文字列を指すこともできる。例えば、上記プリアックは下記の式を用いて得ることができ:
ここで、2本の垂直の線は連結(concatenation)を示し、HMACはキーとなるハッシュメッセージ認証コードに関係し、SHA256は256ビットのフィンガープリントを持つハッシュ関数SHA-2であり、Eは暗号キーKに基づく暗号化関数に関係し、SWは当該ソフトウェア更新を示し、ソルト(salt)は当該ソフトウェア更新に固有の少なくとも16バイトのノンスであり、aL-1は現在のハッシュチェーン要素である。暗号キーKは、例えばK=HMAC(salt,Kcom)のように、コミッショニングキーKcom及び上記ソルトから導出することができる。セグメントコントローラ60は上記メッセージM1をノード10に送信し、該ノードは上記プリアックを記憶する。該プリアックは、後続のステップにおいて当該ソフトウェア更新及びメッセージ内容の源の検証を可能にするために使用される。該プリアックは非常に小さな情報量しか有さないので、ノードにおけるメモリを節約することができる。次いで、ノード10は、受信されたメッセージM1のメッセージ内容及びノード固有のキーKnodeに基づいて応答メッセージM2を作成する。例えば、ノード10の応答メッセージM2は下記の式の結果を含むことができる:
通常、メッセージ認証コードはM1及びKnodeから導出される。セグメントコントローラ60が、アドレス指定したノード10から応答メッセージM2を受信しない場合、該セグメントコントローラ60は、このノード10に応答メッセージM2を送信するよう要求することができる。恐らくは、該セグメントコントローラ60に、応答メッセージを受信するための最大期間を定義する特定の期間が設定される。セグメントコントローラ60が各ノード10から応答メッセージM2node_1、…、M2node_Nを受信した後、該セグメントコントローラは、受信された応答メッセージM2node_1、…、M2node_Nに基づいてサービスセンタ80にメッセージM3を送信する。例えば、セグメントコントローラ60は上記応答メッセージM2node_1、…、M2node_Nを、例えばハッシュ関数:
を用いて統合する。サービスセンタ80が該メッセージM3を所定の時間内に受信しない場合、サービスセンタ80はセグメントコントローラ60からのメッセージM3を要求することができる。メッセージM3を受信した場合、サービスセンタ80は該メッセージM3を用いて、正しい目標ノード10がアドレス指定され、全ての目標ノード10が第1メッセージM1を成功裏に受信したことを検証することができる。次いで、サービスセンタ80はセグメントコントローラ60に、暗号化されたソフトウェア更新EK(SW)、ソルト及び現在のハッシュチェーン要素aL-1を含むメッセージM4を送信する。セグメントコントローラ60は、暗号化されたソフトウェア更新のフィンガープリントを計算し(例えば、SHA256(EK(SW)))、暗号化されたソフトウェア更新の該フィンガープリント、ソルト及び現在のハッシュチェーン要素aL-1を含むメッセージM5をノード10に送信する。次いで、該ノード10は、メッセージM1で受信された前記プリアックの値が、該メッセージM5により受信されたパラメータを入力した場合の所定の関数の結果と同一であるかを判定する。従って、図4に示される例において、ノード10は:

であるかをチェックする。更に、ノード10は、最後に使用されたハッシュチェーン要素aを、メッセージM5に含まれるハッシュチェーン要素aL-1にハッシュ関数を適用することにより導出することができるかを、例えばSHA256(aL-1)==aLであるかを判定する。これらの検証処理の両方が成功した場合、ノード10はメッセージM5により受信されたソルト及び暗号化されたソフトウェア更新のフィンガープリントを容認し、ソフトウェア更新モードに切り換わる。更に、ノード10は、今や、上記ソルト及びコミッショニングキーKcomに基づいて暗号キーKを計算することができる。その間に又はその後に、セグメントコントローラ60は、当該暗号化されたソフトウェア更新を含むメッセージM6をノード10に送信する。ノード10が、以前に容認されたフィンガープリントがメッセージM6により受信された暗号化されたソフトウェア更新の算出されたフィンガープリントと同一であることを検証することができる場合、該ノードは当該ソフトウェア更新を容認し、該ソフトウェア更新を記憶する。しかしながら、メッセージM5及びM6を送信する代わりに、セグメントコントローラ60はノード10に対してメッセージM4だけを送信することもできる。いずれにせよ、ノード10は、受信された暗号化されたソフトウェア更新のフィンガープリント、ソルト、現在のハッシュチェーン要素aL-1及びノード固有のキーKnodeを含む第2応答メッセージM7をセグメントコントローラ60に返信する。例えば、該メッセージM7は:
を含むことができる。セグメントコントローラ60は、全てのノード10からの応答メッセージM7node_1、…、M7node_Nを収集すると共に、これら応答メッセージをバッチメッセージM8内に集合させ、該バッチメッセージはサービスセンタ80に送信される。メッセージM8を受信すると共に、該メッセージM8が正しいこと、即ちセグメントコントローラ60が当該プロトコルステップを正しく実行したことを検証した後、サービスセンタ80はセグメントコントローラ60に次のハッシュチェーン要素aL-2を含むメッセージM9を供給する。このハッシュチェーン要素は、セグメントコントローラ60により、目標ノード10を再ブートすると共に新しいソフトウェアを起動するための再ブートキーとして使用される。このように、最後のステップにおいて、セグメントコントローラ60は上記再ブートキー又はハッシュチェーン要素aL-2を含むメッセージM9をネットワークノード10に送信する。上記ハッシュチェーン要素aL-2が有効であることを検証した場合、ネットワークノード10は同期された態様で再ブートされ、ネットワークノード10上の新しいソフトウェアが起動される。恐らくは、成功した更新及び再ブートの確認情報が、当該ノードからセグメントコントローラ60を介してサービスセンタに送信される。ハッシュ関数SHA256の代わりに、メッセージ認証コードを発生するために如何なる他の暗号関数を使用することもできることに注意すべきである。
このように、ソフトウェア更新のフィンガープリントを所定の目標ノード10に又は当該ネットワークの全てのノード10に配信することができ、これらノード10を同期された態様で再ブートすることができる。この方法は、ソフトウェアのフィンガープリント及び再ブートメッセージに署名するためにハッシュチェーンの2つのリンクを、各々、使用する。更に、ソフトウェア更新自体は、該ソフトウェア更新にとり固有の秘密暗号キーKにより保護されるので、セグメントコントローラ60は該ソフトウェア更新に対するアクセスを有さない。従って、本発明の第1実施態様によれば、ソフトウェア更新に対する安全で実用的なプロトコルを公開キー暗号の必要性無しに提供することができる。
しかしながら、この実施態様は幾つかの制限を有している。例えば、該実施態様は、サービスセンタ80がオンラインであることを必要とする。何故なら、ソフトウェア更新は、メッセージM9において再ブートキーを供給した後にのみ完了され得るからである。更に、当該プロトコルはネットワークノード10に他のソフトウェアを記憶するように操作され得る(このソフトウェアを起動させることはできないが)。この偽ソフトウェアのアップロード攻撃は以下のように発生し得る。即ち、メッセージM4の受信の後、操られているセグメントコントローラ60は多数の偽メッセージM1を送信することができるので、ノード10はサービスセンタ80により供給された実際のメッセージM1を漏らさざるを得ない。次いで、セグメントコントローラ60は偽ソフトウェア更新に基づく偽メッセージM5を発生することができる。セグメントコントローラ60がコミッショニングキーKcomに対するアクセスさえも有していたら、該セグメントコントローラ60は、サービスセンタ80からメッセージM5と共に受信されたソルトを用いて有効なソフトウェア暗号キーKを発生し、他のソフトウェアをノード10に投入することができ得る。しかしながら、通常は、セグメントコントローラ60は、コミッショニングキーKcomに対するアクセスを有さず、従って有効な暗号キーKを生成することはできない。この場合、セグメントコントローラ60はノード10のメモリを無用な情報で満たすことしかできない。更に、これらの場合の何れにおいても、セグメントコントローラ60は、再ブートキーとしてのハッシュチェーン要素aL-2を有していないので、上記偽ソフトウェアを起動することはできない。
図6には、第1実施態様の斯かる欠点の少なくとも幾つかを克服することが可能な、本発明の第2実施態様が示されている。図7は、図6を参照して説明する実施態様の、異なる主体間の通信方向を示す概略図である。この実施態様の第1実施態様との主たる相違点は、セグメントコントローラ60には、サービスセンタ80からの第1メッセージによりプロトコル実行のための全ての情報が供給され、異なるプロトコルステップのための情報が異なるキーにより暗号化される点である。これらの手段により、サービスセンタ80とセグメントコントローラ60との間のデータトラフィックを最少化することができ、かくして、サービスセンタ80はソフトウェア更新プロトコルを起動し、該プロトコルが完了したら、オプションとして確認応答を受信するだけでよい。このように、この実施態様はサービスセンタ80のオフライン動作を可能にする。何故なら、サービスセンタ80は第1メッセージM0を供給するだけでよく、次いで当該時間の残りの間はオフラインとすることができるからである。
図6の第1ステップS500において、サービスセンタ80はセグメントコントローラ60にソフトウェア更新プロトコルを実行するために要する全ての情報を供給する。けれども、この情報の第1部分だけは符号化されず、従ってセグメントコントローラ60により使用することができる。セグメントコントローラ60は、この情報部分を、各目標ノード10に送信する(S510)。各ノード10は、受信されたメッセージ内容及び自身のノードアイデンティティに基づいて応答メッセージを返信する(S520)。ここで、セグメントコントローラ60は、ノード10からの該応答メッセージを用いて第1暗号キーを発生し(S530)、プロトコル情報の他の部分を解読することができる。上記応答メッセージはノードアイデンティティに及び該ノードに送信されたメッセージ内容に依存するものであり、且つ、セグメントコントローラ60はプロトコル情報の次の部分を有効な応答メッセージによってしか復号することができないので、該セグメントコントローラ60は、当該プロトコルを進めることができるためには、正しいノード10に正しい内容を供給することを強いられる。発生された暗号キーを用いて、セグメントコントローラ60は、ステップS540において、前記プロトコル情報の第2部分を解読し、これをネットワークノード10に送信することができる。場合により、ネットワークノード10は、上記プロトコル情報の第2部分を記憶する前に検証する(S550)。ステップS560において、ノード10は第2応答メッセージをセグメントコントローラ60に送信する。該第2応答メッセージに基づいて、セグメントコントローラ60は第2暗号キーを発生し(S570)、当該プロトコル情報の更なる部分を解読することできる。これらのステップは、セグメントコントローラ60がサービスセンタ80から受信されたプロトコル情報に含まれる再ブートキーを解読し、該再ブートキーをノードに送信することができるまで(S580)、繰り返される。上記再ブートキーが有効であると判定されたなら、ノード10は再ブートされ、新しいソフトウェアが起動される(S590)。好ましくは、当該プロトコルは、ステップS5100においてサービスセンタ80へ確認メッセージを送信することにより完了される。この確認メッセージは、セグメントコントローラ60により集められる、ノードアイデンティティ又はノード固有のキー及び起動されたソフトウェアのフィンガープリントを各々含み得るノードの確認応答に関係するものであり得る。この確認メッセージにより、サービスセンタ80は、全てのノード10がうまく更新されたか、及び正しいソフトウェアが使用されたかを検証することができる。従って、この実施態様においても、セグメントコントローラ60による正しいプロトコル実行が段階的に実施され、新しいノードソフトウェアの起動は各プロトコルステップの成功した検証の後にのみ可能となる。
図8には、本発明による第2実施態様の例が一層詳細に示されている。図4に示した例と同様に、サービスセンタ80は、当該ネットワークのコミッショニングキーKcom、ノード固有のキーKnode又はノードアイデンティティ、当該ネットワークのハッシュ関数(例えば、SHA256)、初期ハッシュチェーン要素a、及び最後に使用されたハッシュチェーン要素a又はハッシュ関数の繰り返し数lを知っている。ノード10は、自身のノード固有のキーKnode又は自身のノードアイデンティティ、コミッショニングキーKcom、ハッシュ関数SHA256、ハッシュチェーンの最後の要素又はアンカa及び最後に使用されたハッシュチェーン要素aを知っている。当該プロトコルを開始するために、サービスセンタ80は、プリアック(preack)及び異なる暗号キーKに基づいて暗号化された少なくとも2つの更なる情報ブロックを含む第1メッセージM0を送信する。図示の例には、暗号キーK1及びK2によれ各々暗号化された2つの更なる情報部分のみが示されている。このように、メッセージM0は:
を有する。該メッセージM0により、セグメントコントローラ60は、バックエンドからの更なる干渉無しに、当該プロトコル(例えば、ノード10上でのソフトウェアの更新)を実行することができなければならない。しかしながら、符号化されていないのは上記プリアックのみであるので、セグメントコントローラ60は、初めは、該プリアックしか使用することができない。このように、セグメントコントローラ60は該プリアックを含むメッセージM1をノード10に送信する。該プリアックはサービスセンタ80により当該ソフトウェア更新に固有のランダム数又はソルト、現在のハッシュチェーン要素aL-1及び暗号化されたソフトウェア更新のフィンガープリントに基づいて発生されたものである。例えば、プリアック値は前記第1実施態様に関して前述したように導出することができる。メッセージM1により上記プリアックを受信した後、ノード10は該プリアックを記憶すると共に、メッセージM1の内容のフィンガープリント及び対応するノード固有のキーKnodeに依存し得る第1応答メッセージM2を返信する。例えば、メッセージM2は関数SHA256(M1||Knode)の値を含み得る。前述したように、この実施態様においても、2つのメッセージ又はプロトコルステップの間の最大時間間隔を定義するために、所定の期間を設定することができる。例えば、セグメントコントローラ60が全てのノード10から応答メッセージM2node_1、…、M2node_Nを所定の期間内に受信しなかった場合、セグメントコントローラ60は対応するノード10からの応答メッセージM2を要求することができる。全ての応答メッセージM2node_1、…、M2node_Nを受信した場合、セグメントコントローラ60は、例えば次の関数のようなキー導出関数を用いて第1暗号キーK1を決定することができる:
この暗号キーK1を用いて、セグメントコントローラ60は、上記例では暗号化されたソフトウェア更新のフィンガープリントSHA256(EK(SW))、ソルト、現在のハッシュチェーン要素aL-1及び暗号キーKにより暗号化されたソフトウェア更新EK(SW)に関係する当該プロトコル情報の第2部分を解読することができる。暗号キーKは、前述したように、コミッショニングキーKcom及びソルトに基づくものであり得る。次いで、セグメントコントローラ60は、解読された暗号化されたソフトウェア更新のフィンガープリントSHA256(EK(SW))、ソルト、現在のハッシュチェーン要素aL-1をメッセージM3内でノード10に送信する。セグメントコントローラ60から該メッセージM3を受信した後、ノード10は、メッセージM1により受信された前記プリアックの値が当該ソフトウェア更新のフィンガープリント、ソルト、現在のハッシュチェーン要素aL-1の所定の関数と同一であるか、及びメッセージM3に含まれるハッシュチェーン要素が有効であるかを判定する。そうである場合、ノード10は該メッセージM3に含まれるソルト及び暗号化されたソフトウェア更新のフィンガープリントを、ソフトウェアフィンガープリントとして受け入れ、ソフトウェア更新モードに切り換わる。上記ソルト及びコミッショニングキーKcomに基づいて、ノード10は暗号キーKを計算することができる。次いで、セグメントコントローラ60は、暗号キーKにより暗号化されたソフトウェア更新を含む更なるメッセージM4をノード10に送信する。受信された暗号化されたソフトウェア更新の所与のフィンガープリント関数の結果が、先に定義されたフィンガープリントと同一ならば(例えば、フィンガープリント==SHA256(EK(SW)received)ならば)、ノード10は当該ソフトウェア更新を容認する。2つのメッセージM3及びM4をノード10に送信する代わりに、セグメントコントローラ60は、暗号化されたソフトウェア更新のフィンガープリント、ソルト、現在のハッシュチェーン要素aL-1及び暗号化されたソフトウェア更新を含む1つのメッセージのみを送信することもできる。何れの場合においても、ノード10はセグメントコントローラ60に対して、暗号化されたソフトウェア更新のフィンガープリント、ソルト、現在のハッシュチェーン要素aL-1及びノード固有のキーKnodeに基づいて計算された値を含む応答メッセージM5を送信する。例えば、該値は下記の式に基づいて計算することができる:
セグメントコントローラ60が上記応答メッセージM5を対応するノード10から所定の期間内に受信しなかった場合、セグメントコントローラ60は、この応答メッセージM5を要求することができる。受信された応答メッセージM5node_1、…、M5node_Nを用いて、セグメントコントローラ60は、第2暗号キーK2を算出し、サービスセンタ80からの前記メッセージM0に含まれたプロトコル情報の第3部分を解読することができる。例えば、暗号キーK2は下記の式に基づいて算出することができる:
オプションとして、該第2暗号キーK2はセグメントコントローラ60により、サービスセンタ80に送信されるべき確認メッセージとして使用することもできる。最終ステップにおいて、セグメントコントローラ60はノード10に対して、再ブートキーとして使用されるものであって前記プロトコル情報の第3部分に含まれていた次のハッシュチェーン要素aL-2を含むメッセージM7を送信する。ノード10は、該再ブートキーを、上記ハッシュチェーン要素が正しいかを、例えば:
であるかを判定することによって判定することにより検証する。そうである場合、ノード10は再ブートされ、新しいソフトウェアが起動される。
この実施態様の要点は、セグメントコントローラ60がネットワークノード10に配信しなければならないメッセージM3、M4及びM7内の情報が異なるキーK1及びK2により暗号化されているという事実に依存していることである。これらの暗号キーは、各ネットワークノード10からの確認応答に依存している。このように、全てのネットワークノード10が期待された確認応答又は応答メッセージを送信した場合にのみ、セグメントコントローラ60は次のプロトコル情報を解読し、使用することができる。このようにして、正しい動作が実施され、セグメントコントローラ60の正しい挙動を保証する。即ち、セグメントコントローラ60が当該プロトコルに従わない場合、該セグメントコントローラは次のプロトコルステップのためのプロトコル情報を使用することができない。何故なら、該情報は暗号化されているからである。セグメントコントローラ60が正しく振る舞う場合、該セグメントコントローラは、該情報を解読し、期待されたプロトコル動作に従うことができる。更に、サービスセンタ80との通信は、当該通信が、主に、部分的に信頼されるセグメントコントローラ60とノード10との間でシステムのセキュリティを低下させることなく行われるので、低減することができる。このことは、サービスセンタ80のオフライン動作を可能にする。
従って、本発明によれば、バックエンドからのサービスを、完全には信頼されない中間主体の正しい動作を強制することにより提供することができる。更に、バックエンドに対するデータトラフィック及びバックエンドにおける演算を最少化することができ、かくしてネットワーク管理を簡略化する。ネットワークのセグメントコントローラ60とバックエンドにおけるサービスセンタ80との間の通信リンクは、しばしば、GPRS等の第三者設備に依存するので、このことは、ネットワークの維持費用も低減する。本発明の実施態様は、屋外照明システム等の例えば街路照明システムにおける照明器具ノード10の調光パターンを更新する又は他の構成若しくはコミッショニング情報を送信する等の、サービスセンタ80からのサービスを可能にする屋外照明システム等の、大規模無線ネットワークに特に適している。この場合、ネットワークのノード10だけが当該情報を受信することを保証することが重要である。しかしながら、本発明の実施態様は、例えば軽量ZigBee-IP等の上述したような通信及び信頼パターンを示す如何なる他のプロトコル、アプリケーション、システム又はネットワークにも適用可能である。

Claims (14)

  1. ネットワークにおける安全なプロトコル実行のためのシステムであって、
    ノードと、
    前記ノードを制御するためのプロトコル情報を供給するサービスセンタ側コンピュータシステムと、
    前記ノードを制御するために前記プロトコル情報に従うプロトコルを実行するセグメントコントローラと、を有し、
    前記セグメントコントローラにおいて、前記プロトコルの1以上のステップを実行するために前記ノードの少なくとも1つの応答メッセージが必要とされ、
    前記セグメントコントローラが、前記ノードからの前記応答メッセージを、前記プロトコル情報の少なくとも一部の解読のために使用する、システム。
  2. 前記応答メッセージが、ノードのアイデンティティ及び前記セグメントコントローラから受信されたメッセージのフィンガープリントのうちの少なくとも一方に基づくものである請求項1に記載のシステム。
  3. 前記セグメントコントローラが、前記解読されたプロトコル情報の少なくとも一部を前記ノードに送信する請求項1に記載のシステム。
  4. 前記セグメントコントローラが前記プロトコル情報を前記プロトコルの全てのステップに関して有するか、及び/又は前記プロトコル情報が少なくとも2つのステップに関して異なるキーに基づいて符号化されている請求項1ないし3の何れか一項に記載のシステム。
  5. 前記セグメントコントローラが、前記ノードからの前記応答メッセージを、前記サービスセンタ側コンピュータシステムから更なるプロトコル情報を要求するために使用する請求項1ないし請求項4の何れか一項に記載のシステム。
  6. 前記サービスセンタ側コンピュータシステム及び/又は前記ノードが、セキュリティキー、ハッシュ関数、ハッシュ関数の繰り返し数及びハッシュ関数のアンカのうちの少なくとも1つに関して知っている請求項1ないし5の何れか一項に記載のシステム。
  7. 前記プロトコルが前記ノードに情報を供給するステップを含み、該情報がマスタシークレット及び情報識別番号から導出された秘密キーに基づいて保護されている請求項1ないし6の何れか一項に記載のシステム。
  8. 前記サービスセンタ側コンピュータシステムが、前記プロトコルに固有のナンス又はソルトを前記ノードに供給する請求項1ないし7の何れか一項に記載のシステム。
  9. 前記プロトコルが、構成情報を前記ノードに供給するステップ、前記ノードを再構成するステップ及び前記ノードを再ブートするステップのうちの少なくとも1つを含む請求項1ないし8の何れか一項に記載のシステム。
  10. 前記サービスセンタ側コンピュータシステムが、制御される前記ノードの少なくとも1つを再ブートするために前記セグメントコントローラに現在のハッシュチェーンリンクを供給する請求項1ないし9の何れか一項に記載のシステム。
  11. 前記セグメントコントローラが、前記ノードからの応答メッセージに基づいて前記サービスセンタ側コンピュータシステムに確認メッセージを送信する請求項1ないし10の何れか一項に記載のシステム。
  12. 前記ネットワークの前記ノードが照明システムの照明器具に関連するものである請求項1ないし11の何れか一項に記載のシステム。
  13. 少なくとも1つのノードを備えたネットワークにおける安全なプロトコル実行のためのセグメントコントローラ用の制御ユニットであって、
    前記ノードを制御するためにサービスセンタにより供給されるプロトコル情報に基づいてプロトコルを実行し、
    前記セグメントコントローラにおいて、前記プロトコルの1以上のステップを実行するために前記ノードの少なくとも1つの応答メッセージが必要とされ、
    前記セグメントコントローラが、前記ノードからの前記応答メッセージを、前記プロトコル情報の少なくとも一部の解読のために使用する、制御ユニット。
  14. 少なくとも1つのノードを備えたネットワークにおける安全なプロトコル実行のための方法であって、
    前記ノードを制御するためにセグメントコントローラにプロトコル情報を供給するステップと、
    前記ノードを制御するために前記プロトコル情報に基づいてプロトコルを実行するステップと、を有し、
    前記セグメントコントローラにおいて、前記プロトコルの1以上のステップを実行するために前記ノードの少なくとも1つの応答メッセージが必要とされ、
    前記セグメントコントローラが、前記ノードからの前記応答メッセージを、前記プロトコル情報の少なくとも一部の解読のために使用する、方法。
JP2014514184A 2011-06-10 2012-06-01 ネットワークにおける安全なプロトコルの実行 Active JP6072782B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP11169391 2011-06-10
EP11169391.7 2011-06-10
PCT/IB2012/052763 WO2012168838A1 (en) 2011-06-10 2012-06-01 Secure protocol execution in a network

Publications (3)

Publication Number Publication Date
JP2014526155A JP2014526155A (ja) 2014-10-02
JP2014526155A5 JP2014526155A5 (ja) 2015-07-16
JP6072782B2 true JP6072782B2 (ja) 2017-02-01

Family

ID=46354433

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014514184A Active JP6072782B2 (ja) 2011-06-10 2012-06-01 ネットワークにおける安全なプロトコルの実行

Country Status (6)

Country Link
US (1) US9344453B2 (ja)
EP (1) EP2719115B1 (ja)
JP (1) JP6072782B2 (ja)
CN (1) CN103583015B (ja)
RU (1) RU2613032C2 (ja)
WO (1) WO2012168838A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9838388B2 (en) * 2014-08-26 2017-12-05 Veridium Ip Limited System and method for biometric protocol standards
US10015048B2 (en) * 2014-12-27 2018-07-03 Intel Corporation Programmable protocol parser for NIC classification and queue assignments
EP3674952B1 (en) * 2015-03-26 2022-06-15 Nagravision S.A. Method and system for searching for at least a specific datum in a user unit
US11329980B2 (en) 2015-08-21 2022-05-10 Veridium Ip Limited System and method for biometric protocol standards
US9825862B2 (en) 2015-08-26 2017-11-21 Barefoot Networks, Inc. Packet header field extraction
US9953167B2 (en) 2015-10-12 2018-04-24 Microsoft Technology Licensing, Llc Trusted platforms using minimal hardware resources
US9917687B2 (en) 2015-10-12 2018-03-13 Microsoft Technology Licensing, Llc Migrating secrets using hardware roots of trust for devices
US9912774B2 (en) 2015-12-22 2018-03-06 Intel Corporation Accelerated network packet processing
US10805070B2 (en) 2016-10-19 2020-10-13 Index Systems, Llc Systems and methods for multi-region encryption/decryption redundancy
US11245572B1 (en) 2017-01-31 2022-02-08 Barefoot Networks, Inc. Messaging between remote controller and forwarding element
JP2018133744A (ja) * 2017-02-16 2018-08-23 パナソニックIpマネジメント株式会社 通信システム、車両、および監視方法
US10951413B2 (en) 2017-02-21 2021-03-16 Fingerprint Cards Ab Trusted key server
US10757028B1 (en) 2017-04-23 2020-08-25 Barefoot Networks, Inc. Configurable forwarding element deparser
US10826840B1 (en) 2017-07-23 2020-11-03 Barefoot Networks, Inc. Multiple copies of stateful tables
US10594630B1 (en) 2017-09-28 2020-03-17 Barefoot Networks, Inc. Expansion of packet data within processing pipeline
US10939430B2 (en) * 2017-10-31 2021-03-02 Cth Lending Company, Llc Communication protocol overlay
US20210075604A1 (en) * 2019-09-06 2021-03-11 STMicroelectronics (Grand Ouest) SAS Key generation method
US11895087B2 (en) * 2018-08-21 2024-02-06 International Business Machines Corporation Adjusting firewall parameters based on node characteristics
JP7429609B2 (ja) * 2020-06-04 2024-02-08 株式会社東海理化電機製作所 処理装置、システム、プログラム、および照合装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62213443A (ja) * 1986-03-14 1987-09-19 Kokusai Denshin Denwa Co Ltd <Kdd> 暗号化鍵配送方式
US7069438B2 (en) 2002-08-19 2006-06-27 Sowl Associates, Inc. Establishing authenticated network connections
JP4561418B2 (ja) * 2004-11-08 2010-10-13 沖電気工業株式会社 メッセージ認証方法、通信端末装置及びメッセージ認証システム
KR100704627B1 (ko) * 2005-04-25 2007-04-09 삼성전자주식회사 보안 서비스 제공 장치 및 방법
US7546167B2 (en) * 2005-09-12 2009-06-09 Abl Ip Holdings Llc Network operation center for a light management system having networked intelligent luminaire managers
JP2007241380A (ja) * 2006-03-06 2007-09-20 Matsushita Electric Ind Co Ltd 遠隔機器制御システム
EP2168407B1 (en) * 2007-06-29 2013-10-23 Carmanah Technologies Corp. Intelligent area lighting system
JP2010538563A (ja) 2007-09-07 2010-12-09 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ セキュアネットワークを確立するためのネットワーク及び方法
US8898477B2 (en) * 2007-11-12 2014-11-25 Gemalto Inc. System and method for secure firmware update of a secure token having a flash memory controller and a smart card
JP4965424B2 (ja) * 2007-12-28 2012-07-04 株式会社リコー 遠隔機器管理システム,仲介装置,機器検索処理方法,プログラム,および記録媒体
US7930542B2 (en) 2008-04-07 2011-04-19 Safemashups Inc. MashSSL: a novel multi party authentication and key exchange mechanism based on SSL
CA2630388A1 (en) 2008-05-05 2009-11-05 Nima Sharifmehr Apparatus and method to prevent man in the middle attack
EP2454899A1 (en) 2009-07-15 2012-05-23 Koninklijke Philips Electronics N.V. Method for securely broadcasting sensitive data in a wireless network
CN102142961B (zh) * 2010-06-30 2014-10-08 华为技术有限公司 一种网关、节点和服务器进行鉴权的方法、装置及系统
ES2539706T3 (es) 2010-12-30 2015-07-03 Koninklijke Philips N.V. Un sistema de iluminación, una fuente luminosa, un dispositivo y un procedimiento de autorización del dispositivo por la fuente luminosa
WO2012168888A1 (en) 2011-06-10 2012-12-13 Koninklijke Philips Electronics N.V. Secure data transmission to network nodes in a network

Also Published As

Publication number Publication date
WO2012168838A1 (en) 2012-12-13
CN103583015B (zh) 2017-09-08
JP2014526155A (ja) 2014-10-02
CN103583015A (zh) 2014-02-12
EP2719115B1 (en) 2021-08-11
EP2719115A1 (en) 2014-04-16
RU2613032C2 (ru) 2017-03-14
US9344453B2 (en) 2016-05-17
US20140115666A1 (en) 2014-04-24
RU2013158881A (ru) 2015-07-20

Similar Documents

Publication Publication Date Title
JP6072782B2 (ja) ネットワークにおける安全なプロトコルの実行
US20230009787A1 (en) Secure device onboarding techniques
US10595207B2 (en) Methods for verifying data integrity
US20200287726A1 (en) Remote device control
CN106961334B (zh) 控制器和附件之间的安全无线通信
US20200259667A1 (en) Distributed management system for remote devices and methods thereof
US20200015087A1 (en) Reduced bandwidth handshake communication
US11522840B2 (en) Automatic client device registration
KR20190029280A (ko) 트리 구조를 이용하는 무결성 검증 방법 및 장치
CN103686717A (zh) 一种物联网传感系统的密钥管理方法
CN110365559B (zh) 用于安全设备操作的系统和方法
JP6453351B2 (ja) 通信ネットワークにおけるネットワーク要素の認証
KR20100044199A (ko) 트러스트 센터 링크 키를 초기화하는 네트워크 및 방법
WO2012168888A1 (en) Secure data transmission to network nodes in a network
EP3217768B1 (en) Secure commissioning of wireless enabled lighting devices
JP2019057867A (ja) 暗号化通信システム
CN110061894B (zh) 一种家居控制方法、系统和家居主控装置
CN115567195A (zh) 安全通信方法、客户端、服务器、终端和网络侧设备
Álvarez et al. Sea of lights: Practical device-to-device security bootstrapping in the dark
CN110933674A (zh) 基于动态密钥SDN控制器与Ad Hoc节点安全通道自配置方法
CN113169864A (zh) 利用公共凭据数据进行引导
US20230007482A1 (en) Method for provisioning keys in a network of connected objects
KR102400646B1 (ko) 블록체인을 기반으로 하는 드론을 이용한 펌웨어 업데이트 시스템
CN104010304A (zh) 在受限区域内进行认证的移动设备和系统及其方法
Ruellé et al. SHOID: A Secure Herd of IoT Devices Firmware Update Protocol.

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150527

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150527

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160513

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160809

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20160927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161111

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161228

R150 Certificate of patent or registration of utility model

Ref document number: 6072782

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250