(57)【要約】  ネットワーク内でアグリゲータノードを選択する方法を提供する。ネットワーク（１）はデータを測定する複数のセンサノード（Ｓｉ）を含み、センサノード（Ｓｉ）の少なくとも１つは、センサノード（Ｓｉ）の少なくともサブセットによって得られる検知データを集計するアグリゲータノード（Ａ）として機能し、ネットワークはさらに、アグリゲータノード（Ａ）によって集計されたデータを収集する少なくとも１つのシンクノード（２）を含む。本方法は、現在のアグリゲータノード（Ａｔ）と、現在のアグリゲータノード（Ａｔ）が検知データを取得するセンサノードのサブセットの各センサノード（Ｓｉ）との間に、対ごとに秘密鍵（ｋｉ）を確立するステップと、前記サブセットの各センサノード（Ｓｉ）において、乱数（ｒｉ）を選び、確立された鍵（ｋｉ）を用いてその乱数（ｒｉ）を暗号化するステップと、前記サブセットのセンサノード（Ｓｉ）間に通信チェインを設定し、前記サブセットのすべてのセンサノード（Ｓｉ）の暗号化された乱数（ｒｉ）の総和をとるステップと、所定の計算方式に従い、得られた総和に基づいて、新たなアグリゲータノード（Ａｔ＋１）を決定するステップとを含む。
2010506480.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク内でアグリゲータノードを選択する方法において、前記ネットワーク（１）はデータを測定する複数のセンサノード（Ｓｉ）を含み、前記センサノード（Ｓｉ）の少なくとも１つは、前記センサノード（Ｓｉ）の少なくともサブセットによって得られる検知データを集計するアグリゲータノード（Ａ）として機能し、前記ネットワークはさらに、前記アグリゲータノード（Ａ）によって集計されたデータを収集する少なくとも１つのシンクノード（２）を含み、該方法は、
現在のアグリゲータノード（Ａｔ）と、前記現在のアグリゲータノード（Ａｔ）が検知データを取得するセンサノードの前記サブセットの各センサノード（Ｓｉ）との間に、対ごとに秘密鍵（ｋｉ）を確立するステップと、
前記サブセットの各センサノード（Ｓｉ）において、乱数（ｒｉ）を選び、前記確立された鍵（ｋｉ）を用いて前記乱数（ｒｉ）を暗号化するステップと、
前記サブセットのセンサノード（Ｓｉ）間に通信チェインを設定し、前記サブセットのすべてのセンサノード（Ｓｉ）の暗号化された乱数（ｒｉ）の総和をとるステップと、
所定の計算方式に従い、得られた総和に基づいて、新たなアグリゲータノード（Ａｔ＋１）を決定するステップと
を含むことを特徴とする、ネットワーク内でアグリゲータノードを選択する方法。
【請求項２】
前記現在のアグリゲータノード（Ａｔ）が、鍵合意のために、複数のデータ対をブロードキャストし、各データ対はそれぞれ、鍵（ｋｉ）および識別子（ＩＤｉ）を、前記サブセットのすべてのセンサノード（Ｓｉ）から隠蔽された形で含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記サブセットの各センサノード（Ｓｉ）が、前記複数のデータ対から１つのデータ対をランダムに選び、前記隠蔽を解除して前記鍵（ｋｉ）を取得することを特徴とする請求項２に記載の方法。
【請求項４】
前記ブロードキャストされるデータ対の隠蔽が、好ましくは軽量の暗号化によって実現されることを特徴とする請求項２または３に記載の方法。
【請求項５】
前記ブロードキャストされるデータ対が、弱いブロック暗号または短い鍵を用いて暗号化されることを特徴とする請求項４に記載の方法。
【請求項６】
前記現在のアグリゲータノード（Ａｔ）によってブロードキャストされるデータ対の数が、与えられたセキュリティ要件に従って指定されることを特徴とする請求項２ないし５のいずれか１項に記載の方法。
【請求項７】
各センサノード（Ｓｉ）が、自己が選んだデータ対の識別子（ＩＤｉ）をコミットメントとしてブロードキャストすることを特徴とする請求項２ないし６のいずれか１項に記載の方法。
【請求項８】
前記通信チェイン内での前記センサノード（Ｓｉ）の順序が、適切に規定された規則に従って決定されることを特徴とする前記請求項のいずれか１項に記載の方法。
【請求項９】
前記鍵（ｋｉ）の下で前記乱数（ｒｉ）を暗号化するために用いられる暗号方式Ｅが、前記乱数（ｒｉ）および前記鍵（ｋｉ）の両方に関して準同型であることを特徴とする前記請求項のいずれか１項に記載の方法。
【請求項１０】
暗号化された乱数（ｒｉ）の総和が完了した後、前記現在のアグリゲータノード（Ａｔ）が、前記サブセットのすべてのセンサノード（Ｓｉ）へ、確立された鍵（ｋｉ）をブロードキャストすることを特徴とする請求項９に記載の方法。
【請求項１１】
前記サブセットの各センサノード（Ｓｉ）が、確立された鍵（ｋｉ）の総和をとり、結果として得られた総和（ｋ）をもちいて、暗号化された乱数（ｒｉ）の総和を復号することを特徴とする請求項９または１０に記載の方法。
【請求項１２】
前記乱数（ｒｉ）の総和をＲとして、前記サブセットのうち、ｉ＝Ｒ  ｍｏｄ  ｎ  となるセンサノード（Ｓｉ）が、新たなアグリゲータノード（Ａｔ＋１）として決定されることを特徴とする前記請求項のいずれか１項に記載の方法。
【請求項１３】
前記データ対をブロードキャストする時刻と、確立された鍵（ｋｉ）をブロードキャストする時刻との間の最大許容時間Δｔが規定されることを特徴とする請求項１０ないし１２のいずれか１項に記載の方法。
【請求項１４】
少なくとも１つのセンサノード（Ｓｉ）が何らかの異常を登録した場合に、選択プロセスを中断し、最初から再開することを特徴とする前記請求項のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク内でアグリゲータノードを選択する方法に関する。ここでネットワークはデータを測定する複数のセンサノードを含み、センサノードの少なくとも１つは、センサノードの少なくともサブセットによって得られる検知データを集計するアグリゲータノードとして機能し、ネットワークはさらに、アグリゲータノードによって集計されたデータを収集する少なくとも１つのシンクノードを含む。
【背景技術】
【０００２】
上記のような方法は当技術分野で広く知られており、無線センサネットワーク（wireless sensor network, ＷＳＮ）において特に重要である。ＷＳＮは、計算能力およびエネルギー容量が限られた小型センサからなるアドホックネットワークである。
【０００３】
センサネットワークのすべてのセンサは、無線通信を行うセンサノードであって、一般にプローブ、処理ユニット、通信デバイスおよびバッテリからなる。センサノードは、最小限のスペースに、データ取得、通信および計算の機能を含む。センサノードは、能力・容量が限られているため、一般に不正操作防止ユニットを含んでいない。
【０００４】
無線センサネットワークは、多くの生活部面にますます普及しつつある。センサネットワークの使用例としては、機械のモニタリング・管理、（体内および体外の）健康パラメータの管理、あるいは環境モニタリング（温度、湿度、地震活動等）が挙げられるが、センサネットワークの適用可能性の範囲はほとんど無限である。センサノードが小型に実現可能であり、アクセス困難な領域でも容易に固定して使用可能であることは、例えば水汚染検査や気象予報等の特定の分野では、きわめて有利である。
【０００５】
状況によってはセンサネットワークの適用可能性を制約する重要なパラメータとしては、特に、個々のセンサノードの物理的に規定されたファクタがあり、例えば、送信機の到達範囲、プロセッサパワー、バッテリ容量、残存記憶スペース等が挙げられる。個々のセンサノードは、検知データが集まるシンクノードと比較して、多くの点で物理的に制約されているので、センサネットワークをエネルギー効率良く編成することが特に重要である。この点、まず注目すべきこととして、すべての検知データをシンクノードへ送信すると過大なデータトラフィックを引き起こすため、データは通常、いわゆるアグリゲータノードとして機能する特殊なセンサノードにおいて、まずネットワーク内で蓄積される。送信中のデバイスすなわちセンサノードのエネルギー消費は送信データ量とともに線形に増大するので、すべての検知データを最終目的地まで送信すると、稼働期間が容認できないほど短くなってしまう。
【０００６】
一般に、無線センサネットワークの稼働期間は複数のエポックに分けられ、各エポックは特定の期間を有する。アグリゲータノードは通常、１エポック期間ごとに選択され、その期間中に、他のセンサノードからデータを受信し、そのデータに対するネットワーク内処理を行い、処理したデータを転送する。次のエポックには、新たなセンサノードがアグリゲータノードとして選択される。
【０００７】
アグリゲータノード選択メカニズムの１つの主要な目標は、ネットワークの個々のセンサノードの残存エネルギーリソースを平準化することである。したがって、ＷＳＮ内において、残存エネルギーリソースの多いセンサノードほど、次のエポックでは優先的に選択すべきである。
【０００８】
他方、悪意のある挙動に対して、センサノードがアグリゲータ選択プロセス中に不正をしようとするいくつかのもっともな理由を考慮に入れることが重要である。不正の動機は２つ考えられる。第１に、センサノードは、残存エネルギーを消費したくないために、アグリゲータノードにならないことに関心を持つ可能性がある。第２に、センサノードは、できるだけ多くのデータを探り出そうとして、反対の関心、すなわち、アグリゲータノードになることに関心を持つ可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
したがって、本発明の目的は、ネットワーク内でアグリゲータノードを選択するための上記のような方法において、個々のセンサノードがアグリゲータノード選択プロセスをいずれの方向にも改変できないという意味で、アグリゲータノード選択プロセスが安全で、信頼でき、公平なものとなるように改良およびさらなる展開を行うことである。
【課題を解決するための手段】
【００１０】
本発明によれば、上記の目的は、請求項１に記載の方法によって達成される。請求項１に記載の通り、この方法は、
現在のアグリゲータノードと、現在のアグリゲータノードが検知データを取得するセンサノードのサブセットの各センサノードとの間に、対ごとに秘密鍵を確立するステップと、
前記サブセットの各センサノードにおいて、乱数を選び、確立された鍵を用いてその乱数を暗号化するステップと、
前記サブセットのセンサノード間に通信チェインを設定し、前記サブセットのすべてのセンサノードの暗号化された乱数の総和をとるステップと、
所定の計算方式に従い、得られた総和に基づいて、新たなアグリゲータノードを決定するステップと
を含むことを特徴とする。
【００１１】
本発明によって初めて認識されたこととして、不正を行うセンサノードの具体的動機が何であれ、選択プロセス全体が完全にランダム化された形で実行される場合には、いかなる改変も防止できる。さらに見出されたこととして、アグリゲータノード選択プロセスが、不正を行うセンサノードに対してロバストであるのは、決定プロセスへのセンサノードの入力が、関連する他の任意のセンサノードの入力と同程度に良好な場合である。本発明によれば、選択プロセスはいかなる具体的な選択基準に基づくものでもないため、攻撃者は、制御された形でアグリゲータノード選択に影響を及ぼそうとして、有利な値を決定プロセスに供給することはできない。
【００１２】
現在のアグリゲータノードと、現在のアグリゲータノードがセンサデータを取得するセンサノードのサブセットの各センサノードとの間の鍵合意のために、現在のアグリゲータノードは、複数のデータ対をブロードキャストすることができる。各データ対はそれぞれ、鍵ｋｉおよび識別子ＩＤｉを、このサブセットのすべてのセンサノードから隠蔽された形で含む。次に、サブセットの各センサノードは、その複数のデータ対から１つのデータ対をランダムに選び、隠蔽を解除して鍵ｋｉを取得する。この手続きは、このこと自体から分かるように、マークルのパズルとして知られているものであり、アグリゲータノードと各センサノードとの間で対ごとに秘密鍵を確立することを可能にする。すなわち、センサノード間では、他のセンサノードが合意した鍵は知られない。
【００１３】
ブロードキャストされるデータ対の隠蔽は、暗号化によって実現できる。センサノードが暗号化を解除するための計算量を低くするため、軽量の暗号化を選ぶのが有利である。具体的には、弱いブロック暗号、例えばＲＣ５を用いることができる。
【００１４】
データの送信は非常にコストのかかる動作であるので、現在のアグリゲータノードによってブロードキャストされるデータ対の数は、与えられたセキュリティ要件に従って指定するのが有利である。具体的には、攻撃者の能力が比較的低いと予想される場合には、より強力で可能性の高い攻撃者の場合よりも少ないデータ対をブロードキャストすれば十分である。攻撃者とセンサノードのパフォーマンス比が利用可能であると仮定すれば、セキュリティレベルは厳密に測定可能であり、ブロードキャストされるデータ対の必要数は（適用される暗号の強度とともに）厳密に決定することができる。
【００１５】
鍵合意における最後のステップとして、各センサノードは、選んだデータ対の識別子をブロードキャストすることができる。ブロードキャストされる識別子はコミットメントとして機能し、それにより、各センサノードは、他のセンサノードが整合的に作用するかどうかをチェックすることができる。
【００１６】
総和プロセスにおいては、通信チェイン内で、センサノードの特定の順序を規定することができる。例えば、センサノードから現在のアグリゲータノードまでの距離に従って順序を決定することができる。このプロセスは、所定のプロトコルに従って実行してもよい。別法として、動的に、あるいはセンサノードのＩＤに従って順序を決定してもよい。さらに別法として、現在のアグリゲータノードが単独で順序を決定してもよい。ただし、この方法は、現在のアグリゲータノードが選択プロセスに対して何らかの影響を及ぼす余地がある。
【００１７】
特に有利な態様として、鍵ｋｉの下で乱数ｒｉを暗号化するために用いられる暗号方式Ｅは、乱数ｒｉおよび鍵ｋｉの両方に関して準同型である。これは次式を意味する。
Ｅ（ｋ，ｒ）＋Ｅ（ｋ，ｒ′）＝Ｅ（ｋ＋ｋ′，ｒ＋ｒ′）
【００１８】
具体的には、C. Castelluccia, E. Mykletun, and G. Tsudik, "Efficient Aggregation of encrypted data in Wireless Sensor Networks" で提案されている準同型暗号方式を用いることができる。
【００１９】
アグリゲータノード選択プロセスが正しく実行されていること、および、現在のアグリゲータノードも他のどのセンサノードも不正をしていないことを、各センサノードがチェックできるようにするため、現在のアグリゲータノードは、暗号化された乱数の総和が完了した後に、すべての確立された鍵を公開することができる。確立された鍵が、現在のアグリゲータノードによってブロードキャストされると、各センサは、まず、自己の確立された鍵が、ブロードキャストされた鍵の中にあるかどうかをチェックすることができる。さらに、どの鍵が、最初にブロードキャストされたどの隠蔽された対と対応するかも、アグリゲータが公開するように要請してもよい。これにより、アグリゲータが、悪意のあるノードと協働して、鍵合意段階の終了後に新しい鍵を導入することが防止される。また、各センサノードは、確立された鍵の総和をとり、得られた総和を鍵として、暗号化された乱数値の総和を復号することができる。この動作は、使用される暗号方式の二重準同型性によって可能である。復号結果に基づいて、新たなアグリゲータノードを決定することができる。
【００２０】
不正をさらに防止するため、現在のアグリゲータノードがデータ対をブロードキャストする時刻と、確立された鍵をブロードキャストする時刻との間の最大許容時間として、時間Δｔを規定することができる。この構成は、現在のアグリゲータノードが、すべての関連するセンサノードの乱数値の総和を最終的に暗号化したものを知っている場合にだけ、意味のある形で不正が可能であることを考慮している。上記のようにΔｔをあらかじめ設定することにより、現在のアグリゲータノードが、意味のある形で鍵を変更することにより不正を行うための残り時間を明らかに制限することができる。
【００２１】
現在のアグリゲータノードと、センサノードの１つとの間のいかなる協働も防ぐため、少なくとも１つのセンサノードが何らかの異常を登録した場合には、選択プロセスを中断し、最初から再開することができる。例えば、現在のアグリゲータノードが現在の確立された鍵以外のものをブロードキャストしていることをセンサノードの１つが登録した場合に、選択プロセスの中断および再開を行うことができる。
【００２２】
本発明を有利な態様で実施するにはさまざまの可能性がある。このためには、一方で、請求項１に従属する諸請求項を参照し、他方で、図面により例示された、本発明の好ましい実施形態についての以下の説明を参照されたい。図面を用いて本発明の好ましい実施形態を説明する際には、本発明の教示による好ましい実施形態一般およびその変形例についても説明する。
【図面の簡単な説明】
【００２３】
【図１】ネットワーク内でアグリゲータノードを選択するための、本発明による方法を適用した実施形態の模式図である。
【発明を実施するための形態】
【００２４】
図１は、本発明による方法の適用例を示している。図１はセンサネットワーク１を模式的に示しており、センサネットワーク１は、番号によってＳ１〜Ｓｎとラベル付けされた複数のセンサノードを有する。センサノードＳ１〜Ｓｎによって検知されたデータは、アグリゲータノードＡｔによって集計される。通常、シンクノード２からの要求に応じて、アグリゲータノードＡｔは、集計したデータをシンクノード２へ転送する。なお、シンクノード２は、センサノードＳｉやアグリゲータノードＡｔとは異なり、十分多くの物理リソースを有する特定のデバイスである。明確にするため、図１では、ただ１つのアグリゲータノードＡｔを示し、Ａｔとシンクノード２との間に中間ノードは存在しないものとしている。
【００２５】
センサネットワーク１は、エポックｔの状態で示されている。エポックｔにおいては、Ａｔとラベル付けされたセンサノードが、アグリゲータノードとして機能する。次のエポックｔ＋１の最初にプロトコルが起動し、次のアグリゲータノードＡｔ＋１として、センサノードＳ１〜Ｓｎの１つをランダムに選択する。このアグリゲータノード選択プロセスは、基本的に、次の３段階に分けることができる。
【００２６】
第１段階は、鍵合意段階である。この段階の目的は、現在のアグリゲータノードＡｔと各センサノードＳｉとの間で対ごとに秘密鍵を確立することである。この目的のため、アグリゲータノードＡｔは、いわゆるマークルのパズルを適用して、センサノードＳ１〜Ｓｎのそれぞれとの間で対ごとに鍵ｋｉを確立する。このプロセス中、各センサノードＳｉは、その鍵ｋｉに対応する識別子ＩＤｉをブロードキャストする。識別子ＩＤｉは、後で必要に応じて、この鍵に対するコミットメントとして使用可能である。アグリゲータ選択プロセスは、適切に規定された短時間の間しか継続しないので、マークルのパズルによって提供されるセキュリティは、この時間の間だけ保たれればよい。図１において、鍵合意は、両端に矢印の付いた破線で示している。
【００２７】
鍵合意が完了した後、アグリゲータノード選択プロセスの第２段階が実行される。この第２段階の目的は、選択プロセスに対するセンサの寄与の総和を安全に計算することである。ここで安全とは、総和の計算が完了するまでは、どのノードにも、他のどのノードの寄与が見えないことを意味し、それにより、不正な者が、制御された形で結果に影響を及ぼすことを防止する。
【００２８】
各センサノードＳｉは、選択プロセスへのランダムな寄与ｒｉを選び、それをＥおよびｋｉで暗号化する。ｋおよびｒに関して準同型である暗号方式Ｅによる、鍵ｋの下でのｒの暗号化をＥ（ｋ，ｒ）で表す。これは次式を意味する。
Ｅ（ｋ，ｒ）＋Ｅ（ｋ′，ｒ′）＝Ｅ（ｋ＋ｋ′，ｒ＋ｒ′）
【００２９】
各センサノードＳｉは、この結果を、他のセンサノードＳｉから到来する暗号化されたランダムな寄与と足し合わせる。より正確には、ノードの通信チェインを設定する。すなわち、Ｓ１がＳ２に、Ｓ２がＳ３に、というように報告を行う。具体的には、ＳＵＭ１＝Ｅ（ｋ１，ｒ１）としてＳ１から出発して、Ｓｉは、
ＳＵＭｉ−１＝Ｅ（ｋ１＋...＋ｋｉ−１，ｒ１＋...＋ｒｉ−１）
を受信すると、
ＳＵＭｉ＝Ｅ（ｋｉ，ｒｉ）＋ＳＵＭｉ−１＝Ｅ（ｋ１＋...＋ｋｉ，ｒ１＋...＋ｒｉ）
を計算する。そして、ＳｉはＳＵＭｉをＳｉ＋１へ転送する。このプロセスは、ｎ個のノード全部が、寄与の暗号化された総和に寄与すると終了する。
【００３０】
どのセンサノードＳｉも、意味のある形で不正を行うことはできない。というのは、他のセンサノードＳｉの寄与を知ることなしには、最終結果Ｒ＝ｒ１＋...＋ｒｎに対する自己の乱数値ｒｉの影響を予想することはできず、それらの寄与を知るためには、それらのセンサノードの鍵を知る必要があるからである。
【００３１】
アグリゲータノード選択プロセスは、第３段階で終了する。この段階において、現在のアグリゲータノードＡｔは、すべてのセンサノードＳｉへ現在の鍵をブロードキャストする。各Ｓｉは、ｋ＝ｋ１＋...＋ｋｎを計算し、復号
Ｄ（ｋ，ＳＵＭｎ）＝Ｒ＝ｒ１＋...＋ｒｎ
によって、ＳＵＭｎを復号する。
【００３２】
ｉ＝Ｒ  ｍｏｄ  ｎ  となるセンサノードＳｉが、新たなアグリゲータノードＡｔ＋１として決定される。
【００３３】
上記の説明および添付図面の記載に基づいて、当業者は本発明の多くの変形例および他の実施形態に想到しうるであろう。したがって、本発明は、開示した具体的実施形態に限定されるものではなく、変形例および他の実施形態も、添付の特許請求の範囲内に含まれるものと理解すべきである。本明細書では特定の用語を用いているが、それらは総称的・説明的意味でのみ用いられており、限定を目的としたものではない。
【図１】
2010506480.tif 000003
【国際調査報告】
2010506480.tif 000004
2010506480.tif 000005
2010506480.tif 000006