説明

ネットワーク内でアグリゲータノードを選択する方法

ネットワーク内でアグリゲータノードを選択する方法を提供する。ネットワーク(1)はデータを測定する複数のセンサノード(S)を含み、センサノード(S)の少なくとも1つは、センサノード(S)の少なくともサブセットによって得られる検知データを集計するアグリゲータノード(A)として機能し、ネットワークはさらに、アグリゲータノード(A)によって集計されたデータを収集する少なくとも1つのシンクノード(2)を含む。本方法は、現在のアグリゲータノード(A)と、現在のアグリゲータノード(A)が検知データを取得するセンサノードのサブセットの各センサノード(S)との間に、対ごとに秘密鍵(k)を確立するステップと、前記サブセットの各センサノード(S)において、乱数(r)を選び、確立された鍵(k)を用いてその乱数(r)を暗号化するステップと、前記サブセットのセンサノード(S)間に通信チェインを設定し、前記サブセットのすべてのセンサノード(S)の暗号化された乱数(r)の総和をとるステップと、所定の計算方式に従い、得られた総和に基づいて、新たなアグリゲータノード(At+1)を決定するステップとを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク内でアグリゲータノードを選択する方法に関する。ここでネットワークはデータを測定する複数のセンサノードを含み、センサノードの少なくとも1つは、センサノードの少なくともサブセットによって得られる検知データを集計するアグリゲータノードとして機能し、ネットワークはさらに、アグリゲータノードによって集計されたデータを収集する少なくとも1つのシンクノードを含む。
【背景技術】
【0002】
上記のような方法は当技術分野で広く知られており、無線センサネットワーク(wireless sensor network, WSN)において特に重要である。WSNは、計算能力およびエネルギー容量が限られた小型センサからなるアドホックネットワークである。
【0003】
センサネットワークのすべてのセンサは、無線通信を行うセンサノードであって、一般にプローブ、処理ユニット、通信デバイスおよびバッテリからなる。センサノードは、最小限のスペースに、データ取得、通信および計算の機能を含む。センサノードは、能力・容量が限られているため、一般に不正操作防止ユニットを含んでいない。
【0004】
無線センサネットワークは、多くの生活部面にますます普及しつつある。センサネットワークの使用例としては、機械のモニタリング・管理、(体内および体外の)健康パラメータの管理、あるいは環境モニタリング(温度、湿度、地震活動等)が挙げられるが、センサネットワークの適用可能性の範囲はほとんど無限である。センサノードが小型に実現可能であり、アクセス困難な領域でも容易に固定して使用可能であることは、例えば水汚染検査や気象予報等の特定の分野では、きわめて有利である。
【0005】
状況によってはセンサネットワークの適用可能性を制約する重要なパラメータとしては、特に、個々のセンサノードの物理的に規定されたファクタがあり、例えば、送信機の到達範囲、プロセッサパワー、バッテリ容量、残存記憶スペース等が挙げられる。個々のセンサノードは、検知データが集まるシンクノードと比較して、多くの点で物理的に制約されているので、センサネットワークをエネルギー効率良く編成することが特に重要である。この点、まず注目すべきこととして、すべての検知データをシンクノードへ送信すると過大なデータトラフィックを引き起こすため、データは通常、いわゆるアグリゲータノードとして機能する特殊なセンサノードにおいて、まずネットワーク内で蓄積される。送信中のデバイスすなわちセンサノードのエネルギー消費は送信データ量とともに線形に増大するので、すべての検知データを最終目的地まで送信すると、稼働期間が容認できないほど短くなってしまう。
【0006】
一般に、無線センサネットワークの稼働期間は複数のエポックに分けられ、各エポックは特定の期間を有する。アグリゲータノードは通常、1エポック期間ごとに選択され、その期間中に、他のセンサノードからデータを受信し、そのデータに対するネットワーク内処理を行い、処理したデータを転送する。次のエポックには、新たなセンサノードがアグリゲータノードとして選択される。
【0007】
アグリゲータノード選択メカニズムの1つの主要な目標は、ネットワークの個々のセンサノードの残存エネルギーリソースを平準化することである。したがって、WSN内において、残存エネルギーリソースの多いセンサノードほど、次のエポックでは優先的に選択すべきである。
【0008】
他方、悪意のある挙動に対して、センサノードがアグリゲータ選択プロセス中に不正をしようとするいくつかのもっともな理由を考慮に入れることが重要である。不正の動機は2つ考えられる。第1に、センサノードは、残存エネルギーを消費したくないために、アグリゲータノードにならないことに関心を持つ可能性がある。第2に、センサノードは、できるだけ多くのデータを探り出そうとして、反対の関心、すなわち、アグリゲータノードになることに関心を持つ可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0009】
したがって、本発明の目的は、ネットワーク内でアグリゲータノードを選択するための上記のような方法において、個々のセンサノードがアグリゲータノード選択プロセスをいずれの方向にも改変できないという意味で、アグリゲータノード選択プロセスが安全で、信頼でき、公平なものとなるように改良およびさらなる展開を行うことである。
【課題を解決するための手段】
【0010】
本発明によれば、上記の目的は、請求項1に記載の方法によって達成される。請求項1に記載の通り、この方法は、
現在のアグリゲータノードと、現在のアグリゲータノードが検知データを取得するセンサノードのサブセットの各センサノードとの間に、対ごとに秘密鍵を確立するステップと、
前記サブセットの各センサノードにおいて、乱数を選び、確立された鍵を用いてその乱数を暗号化するステップと、
前記サブセットのセンサノード間に通信チェインを設定し、前記サブセットのすべてのセンサノードの暗号化された乱数の総和をとるステップと、
所定の計算方式に従い、得られた総和に基づいて、新たなアグリゲータノードを決定するステップと
を含むことを特徴とする。
【0011】
本発明によって初めて認識されたこととして、不正を行うセンサノードの具体的動機が何であれ、選択プロセス全体が完全にランダム化された形で実行される場合には、いかなる改変も防止できる。さらに見出されたこととして、アグリゲータノード選択プロセスが、不正を行うセンサノードに対してロバストであるのは、決定プロセスへのセンサノードの入力が、関連する他の任意のセンサノードの入力と同程度に良好な場合である。本発明によれば、選択プロセスはいかなる具体的な選択基準に基づくものでもないため、攻撃者は、制御された形でアグリゲータノード選択に影響を及ぼそうとして、有利な値を決定プロセスに供給することはできない。
【0012】
現在のアグリゲータノードと、現在のアグリゲータノードがセンサデータを取得するセンサノードのサブセットの各センサノードとの間の鍵合意のために、現在のアグリゲータノードは、複数のデータ対をブロードキャストすることができる。各データ対はそれぞれ、鍵kおよび識別子IDを、このサブセットのすべてのセンサノードから隠蔽された形で含む。次に、サブセットの各センサノードは、その複数のデータ対から1つのデータ対をランダムに選び、隠蔽を解除して鍵kを取得する。この手続きは、このこと自体から分かるように、マークルのパズルとして知られているものであり、アグリゲータノードと各センサノードとの間で対ごとに秘密鍵を確立することを可能にする。すなわち、センサノード間では、他のセンサノードが合意した鍵は知られない。
【0013】
ブロードキャストされるデータ対の隠蔽は、暗号化によって実現できる。センサノードが暗号化を解除するための計算量を低くするため、軽量の暗号化を選ぶのが有利である。具体的には、弱いブロック暗号、例えばRC5を用いることができる。
【0014】
データの送信は非常にコストのかかる動作であるので、現在のアグリゲータノードによってブロードキャストされるデータ対の数は、与えられたセキュリティ要件に従って指定するのが有利である。具体的には、攻撃者の能力が比較的低いと予想される場合には、より強力で可能性の高い攻撃者の場合よりも少ないデータ対をブロードキャストすれば十分である。攻撃者とセンサノードのパフォーマンス比が利用可能であると仮定すれば、セキュリティレベルは厳密に測定可能であり、ブロードキャストされるデータ対の必要数は(適用される暗号の強度とともに)厳密に決定することができる。
【0015】
鍵合意における最後のステップとして、各センサノードは、選んだデータ対の識別子をブロードキャストすることができる。ブロードキャストされる識別子はコミットメントとして機能し、それにより、各センサノードは、他のセンサノードが整合的に作用するかどうかをチェックすることができる。
【0016】
総和プロセスにおいては、通信チェイン内で、センサノードの特定の順序を規定することができる。例えば、センサノードから現在のアグリゲータノードまでの距離に従って順序を決定することができる。このプロセスは、所定のプロトコルに従って実行してもよい。別法として、動的に、あるいはセンサノードのIDに従って順序を決定してもよい。さらに別法として、現在のアグリゲータノードが単独で順序を決定してもよい。ただし、この方法は、現在のアグリゲータノードが選択プロセスに対して何らかの影響を及ぼす余地がある。
【0017】
特に有利な態様として、鍵kの下で乱数rを暗号化するために用いられる暗号方式Eは、乱数rおよび鍵kの両方に関して準同型である。これは次式を意味する。

E(k,r)+E(k,r′)=E(k+k′,r+r′)

【0018】
具体的には、C. Castelluccia, E. Mykletun, and G. Tsudik, "Efficient Aggregation of encrypted data in Wireless Sensor Networks" で提案されている準同型暗号方式を用いることができる。
【0019】
アグリゲータノード選択プロセスが正しく実行されていること、および、現在のアグリゲータノードも他のどのセンサノードも不正をしていないことを、各センサノードがチェックできるようにするため、現在のアグリゲータノードは、暗号化された乱数の総和が完了した後に、すべての確立された鍵を公開することができる。確立された鍵が、現在のアグリゲータノードによってブロードキャストされると、各センサは、まず、自己の確立された鍵が、ブロードキャストされた鍵の中にあるかどうかをチェックすることができる。さらに、どの鍵が、最初にブロードキャストされたどの隠蔽された対と対応するかも、アグリゲータが公開するように要請してもよい。これにより、アグリゲータが、悪意のあるノードと協働して、鍵合意段階の終了後に新しい鍵を導入することが防止される。また、各センサノードは、確立された鍵の総和をとり、得られた総和を鍵として、暗号化された乱数値の総和を復号することができる。この動作は、使用される暗号方式の二重準同型性によって可能である。復号結果に基づいて、新たなアグリゲータノードを決定することができる。
【0020】
不正をさらに防止するため、現在のアグリゲータノードがデータ対をブロードキャストする時刻と、確立された鍵をブロードキャストする時刻との間の最大許容時間として、時間Δtを規定することができる。この構成は、現在のアグリゲータノードが、すべての関連するセンサノードの乱数値の総和を最終的に暗号化したものを知っている場合にだけ、意味のある形で不正が可能であることを考慮している。上記のようにΔtをあらかじめ設定することにより、現在のアグリゲータノードが、意味のある形で鍵を変更することにより不正を行うための残り時間を明らかに制限することができる。
【0021】
現在のアグリゲータノードと、センサノードの1つとの間のいかなる協働も防ぐため、少なくとも1つのセンサノードが何らかの異常を登録した場合には、選択プロセスを中断し、最初から再開することができる。例えば、現在のアグリゲータノードが現在の確立された鍵以外のものをブロードキャストしていることをセンサノードの1つが登録した場合に、選択プロセスの中断および再開を行うことができる。
【0022】
本発明を有利な態様で実施するにはさまざまの可能性がある。このためには、一方で、請求項1に従属する諸請求項を参照し、他方で、図面により例示された、本発明の好ましい実施形態についての以下の説明を参照されたい。図面を用いて本発明の好ましい実施形態を説明する際には、本発明の教示による好ましい実施形態一般およびその変形例についても説明する。
【図面の簡単な説明】
【0023】
【図1】ネットワーク内でアグリゲータノードを選択するための、本発明による方法を適用した実施形態の模式図である。
【発明を実施するための形態】
【0024】
図1は、本発明による方法の適用例を示している。図1はセンサネットワーク1を模式的に示しており、センサネットワーク1は、番号によってS〜Sとラベル付けされた複数のセンサノードを有する。センサノードS〜Sによって検知されたデータは、アグリゲータノードAによって集計される。通常、シンクノード2からの要求に応じて、アグリゲータノードAは、集計したデータをシンクノード2へ転送する。なお、シンクノード2は、センサノードSやアグリゲータノードAとは異なり、十分多くの物理リソースを有する特定のデバイスである。明確にするため、図1では、ただ1つのアグリゲータノードAを示し、Aとシンクノード2との間に中間ノードは存在しないものとしている。
【0025】
センサネットワーク1は、エポックtの状態で示されている。エポックtにおいては、Aとラベル付けされたセンサノードが、アグリゲータノードとして機能する。次のエポックt+1の最初にプロトコルが起動し、次のアグリゲータノードAt+1として、センサノードS〜Sの1つをランダムに選択する。このアグリゲータノード選択プロセスは、基本的に、次の3段階に分けることができる。
【0026】
第1段階は、鍵合意段階である。この段階の目的は、現在のアグリゲータノードAと各センサノードSとの間で対ごとに秘密鍵を確立することである。この目的のため、アグリゲータノードAは、いわゆるマークルのパズルを適用して、センサノードS〜Sのそれぞれとの間で対ごとに鍵kを確立する。このプロセス中、各センサノードSは、その鍵kに対応する識別子IDをブロードキャストする。識別子IDは、後で必要に応じて、この鍵に対するコミットメントとして使用可能である。アグリゲータ選択プロセスは、適切に規定された短時間の間しか継続しないので、マークルのパズルによって提供されるセキュリティは、この時間の間だけ保たれればよい。図1において、鍵合意は、両端に矢印の付いた破線で示している。
【0027】
鍵合意が完了した後、アグリゲータノード選択プロセスの第2段階が実行される。この第2段階の目的は、選択プロセスに対するセンサの寄与の総和を安全に計算することである。ここで安全とは、総和の計算が完了するまでは、どのノードにも、他のどのノードの寄与が見えないことを意味し、それにより、不正な者が、制御された形で結果に影響を及ぼすことを防止する。
【0028】
各センサノードSは、選択プロセスへのランダムな寄与rを選び、それをEおよびkで暗号化する。kおよびrに関して準同型である暗号方式Eによる、鍵kの下でのrの暗号化をE(k,r)で表す。これは次式を意味する。

E(k,r)+E(k′,r′)=E(k+k′,r+r′)

【0029】
各センサノードSは、この結果を、他のセンサノードSから到来する暗号化されたランダムな寄与と足し合わせる。より正確には、ノードの通信チェインを設定する。すなわち、SがSに、SがSに、というように報告を行う。具体的には、SUM=E(k,r)としてSから出発して、Sは、

SUMi−1=E(k+...+ki−1,r+...+ri−1

を受信すると、

SUM=E(k,r)+SUMi−1=E(k+...+k,r+...+r

を計算する。そして、SはSUMをSi+1へ転送する。このプロセスは、n個のノード全部が、寄与の暗号化された総和に寄与すると終了する。
【0030】
どのセンサノードSも、意味のある形で不正を行うことはできない。というのは、他のセンサノードSの寄与を知ることなしには、最終結果R=r+...+rに対する自己の乱数値rの影響を予想することはできず、それらの寄与を知るためには、それらのセンサノードの鍵を知る必要があるからである。
【0031】
アグリゲータノード選択プロセスは、第3段階で終了する。この段階において、現在のアグリゲータノードAは、すべてのセンサノードSへ現在の鍵をブロードキャストする。各Sは、k=k+...+kを計算し、復号

D(k,SUM)=R=r+...+r

によって、SUMを復号する。
【0032】
i=R mod n となるセンサノードSが、新たなアグリゲータノードAt+1として決定される。
【0033】
上記の説明および添付図面の記載に基づいて、当業者は本発明の多くの変形例および他の実施形態に想到しうるであろう。したがって、本発明は、開示した具体的実施形態に限定されるものではなく、変形例および他の実施形態も、添付の特許請求の範囲内に含まれるものと理解すべきである。本明細書では特定の用語を用いているが、それらは総称的・説明的意味でのみ用いられており、限定を目的としたものではない。

【特許請求の範囲】
【請求項1】
ネットワーク内でアグリゲータノードを選択する方法において、前記ネットワーク(1)はデータを測定する複数のセンサノード(S)を含み、前記センサノード(S)の少なくとも1つは、前記センサノード(S)の少なくともサブセットによって得られる検知データを集計するアグリゲータノード(A)として機能し、前記ネットワークはさらに、前記アグリゲータノード(A)によって集計されたデータを収集する少なくとも1つのシンクノード(2)を含み、該方法は、
現在のアグリゲータノード(A)と、前記現在のアグリゲータノード(A)が検知データを取得するセンサノードの前記サブセットの各センサノード(S)との間に、対ごとに秘密鍵(k)を確立するステップと、
前記サブセットの各センサノード(S)において、乱数(r)を選び、前記確立された鍵(k)を用いて前記乱数(r)を暗号化するステップと、
前記サブセットのセンサノード(S)間に通信チェインを設定し、前記サブセットのすべてのセンサノード(S)の暗号化された乱数(r)の総和をとるステップと、
所定の計算方式に従い、得られた総和に基づいて、新たなアグリゲータノード(At+1)を決定するステップと
を含むことを特徴とする、ネットワーク内でアグリゲータノードを選択する方法。
【請求項2】
前記現在のアグリゲータノード(A)が、鍵合意のために、複数のデータ対をブロードキャストし、各データ対はそれぞれ、鍵(k)および識別子(ID)を、前記サブセットのすべてのセンサノード(S)から隠蔽された形で含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記サブセットの各センサノード(S)が、前記複数のデータ対から1つのデータ対をランダムに選び、前記隠蔽を解除して前記鍵(k)を取得することを特徴とする請求項2に記載の方法。
【請求項4】
前記ブロードキャストされるデータ対の隠蔽が、好ましくは軽量の暗号化によって実現されることを特徴とする請求項2または3に記載の方法。
【請求項5】
前記ブロードキャストされるデータ対が、弱いブロック暗号または短い鍵を用いて暗号化されることを特徴とする請求項4に記載の方法。
【請求項6】
前記現在のアグリゲータノード(A)によってブロードキャストされるデータ対の数が、与えられたセキュリティ要件に従って指定されることを特徴とする請求項2ないし5のいずれか1項に記載の方法。
【請求項7】
各センサノード(S)が、自己が選んだデータ対の識別子(ID)をコミットメントとしてブロードキャストすることを特徴とする請求項2ないし6のいずれか1項に記載の方法。
【請求項8】
前記通信チェイン内での前記センサノード(S)の順序が、適切に規定された規則に従って決定されることを特徴とする前記請求項のいずれか1項に記載の方法。
【請求項9】
前記鍵(k)の下で前記乱数(r)を暗号化するために用いられる暗号方式Eが、前記乱数(r)および前記鍵(k)の両方に関して準同型であることを特徴とする前記請求項のいずれか1項に記載の方法。
【請求項10】
暗号化された乱数(r)の総和が完了した後、前記現在のアグリゲータノード(A)が、前記サブセットのすべてのセンサノード(S)へ、確立された鍵(k)をブロードキャストすることを特徴とする請求項9に記載の方法。
【請求項11】
前記サブセットの各センサノード(S)が、確立された鍵(k)の総和をとり、結果として得られた総和(k)をもちいて、暗号化された乱数(r)の総和を復号することを特徴とする請求項9または10に記載の方法。
【請求項12】
前記乱数(r)の総和をRとして、前記サブセットのうち、i=R mod n となるセンサノード(S)が、新たなアグリゲータノード(At+1)として決定されることを特徴とする前記請求項のいずれか1項に記載の方法。
【請求項13】
前記データ対をブロードキャストする時刻と、確立された鍵(k)をブロードキャストする時刻との間の最大許容時間Δtが規定されることを特徴とする請求項10ないし12のいずれか1項に記載の方法。
【請求項14】
少なくとも1つのセンサノード(S)が何らかの異常を登録した場合に、選択プロセスを中断し、最初から再開することを特徴とする前記請求項のいずれか1項に記載の方法。

【図1】
image rotate


【公表番号】特表2010−506480(P2010−506480A)
【公表日】平成22年2月25日(2010.2.25)
【国際特許分類】
【出願番号】特願2009−530952(P2009−530952)
【出願日】平成18年10月6日(2006.10.6)
【国際出願番号】PCT/IB2006/003898
【国際公開番号】WO2008/041052
【国際公開日】平成20年4月10日(2008.4.10)
【出願人】(508342183)エヌイーシー ヨーロッパ リミテッド (101)
【氏名又は名称原語表記】NEC EUROPE LTD.
【Fターム(参考)】