(57)【要約】【課題】  アドホックネットワークまたはセンサネットワークにおける高レベルのセキュリティと経済的なエネルギー消費を実現するデータ伝送方法を提供する。【解決手段】  ネットワークは、データを検知するための複数のセンサノード（１）と、そのサブセットの検知されたデータを集約するアグリゲータノード（３）と、アグリゲータノード（３）のデータを収集するシンクノード（２）とを備える。検知されたデータをセンサノード（１）で暗号化し、暗号化データをアグリゲータノード（３）の１つへ送信し、アグリゲータノード（３）において、暗号化データに対して集約関数を実行し、集約関数の結果をシンクノード（２）へ送信し、そこで復号する。【選択図】  図２
2005295543.tif 000002
【特許請求の範囲】
【請求項１】
データを検知するための複数のセンサノードと、該センサノードの少なくともサブセットの前記検知されたデータを集約するための少なくとも１つのアグリゲータノードと、該アグリゲータノードの前記データを収集するための少なくとも１つのシンクノードとを備えたネットワークにおけるデータ伝送方法において、
前記センサノードにおいて前記検知されたデータを暗号化し、暗号化データを前記アグリゲータノードの１つへ送信し、
前記アグリゲータノードにおいて前記暗号化データに対して集約関数を実行して、該集約関数の結果を前記シンクノードへ送信し、
前記シンクノードにおいて受信した前記集約関数の結果を復号する、
ことを特徴とするデータ伝送方法。
【請求項２】
前記集約関数に適用される暗号化変換が、それぞれのセンサノードの暗号化されていないデータに対して実行された場合の前記集約関数の結果と前記復号の結果が一致するように選択されることを特徴とする請求項１に記載の方法。
【請求項３】
前記暗号化変換が、プライバシー準同型のクラスから選択されることを特徴とする請求項２に記載の方法。
【請求項４】
加算、減算、乗算または逆乗算が前記集約関数によって実行されることを特徴とする請求項３に記載の方法。
【請求項５】
前記集約関数を用いることにより、平均の計算または動きの検出が表現されることを特徴とする請求項４に記載の方法。
【請求項６】
前記シンクノードから前記センサノードへ、あらかじめ指定可能な間隔で要求が送信されることを特徴とする請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記ネットワークはアドホックネットワークあるいはセンサネットワークであることを特徴とする請求項１に記載の方法。
【請求項８】
データを検知するための複数のセンサノードと、該センサノードの少なくともサブセットの前記検知されたデータを集約するための少なくとも１つのアグリゲータノードと、該アグリゲータノードの前記データを収集するための少なくとも１つのシンクノードとを備えたネットワークにおいて、
前記センサノードは、前記検知されたデータを暗号化し、暗号化データを前記アグリゲータノードの１つへ送信し、
前記アグリゲータノードは、前記暗号化データに対して集約関数を実行して、該集約関数の結果を前記シンクノードへ送信し、
前記シンクノードは、受信した前記集約関数の結果を復号する、
ことを特徴とするデータ伝送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドホックネットワークまたはセンサネットワークにおけるデータ伝送方法およびシステムに関する。ネットワークは、データを検知するための複数のセンサノードと、センサノードの少なくともサブセットの検知されたデータを集約するための少なくとも１つのアグリゲータノードと、アグリゲータノードからデータを収集するための少なくとも１つのシンクノードとを有する。
【背景技術】
【０００２】
アドホックネットワークおよびセンサネットワークがますます発展し拡大するのに伴って、これらのネットワーク内でデータを伝送する方法がますます重要になっている。無線アドホックネットワークおよびセンサネットワークにおける主要な要件の１つに、検知されたデータを集約して特定の装置へそれをトランスポートすることがある。
【０００３】
センサネットワークのセンサは、無線で相互に通信するセンサノードであって、一般に、プローブ、処理ユニット、通信装置およびバッテリからなる。センサノードは、最小限のスペースにデータ取得機能、通信機能および計算機能を備えている。センサネットワークが用いられる例として、機械の監視および制御、（体内および体外の）健康上のパラメータの制御、あるいは環境モニタリングが挙げられる。しかし、センサネットワークの応用可能性の範囲はほとんど無限である。例えば水質汚染検査や気象予報のような特定の分野では、センサノードは、微小サイズで実現可能である点、および、アクセス困難な領域に容易に固定して使用可能である点で、極めて有利である。
【０００４】
ある特定の状況でセンサネットワークの応用可能性を制限する重要なパラメータとして、特に、個々のセンサノードの物理的に規定されるファクタがある。そのようなファクタとしては、例えば、センサノードの送信機の送信到達範囲、プロセッサパワー、バッテリ容量、残存記憶スペースなどがある。個々のセンサノードは、検知されたデータが集められるシンクノードとは異なり、多くの点で物理的に制約されるので、エネルギー効率の良いセンサネットワークの組織化が極めて重要である。これに関連してまず注意すべきは、すべての検知されたデータをシンクノードへ送信すると、データトラフィックがあまりにも大きくなりすぎることである。これを回避するために、データは通常、まずネットワーク内で特別のノード（アグリゲータノード）に集積される。さらに、すべての検知されたデータをその最終的宛先に送信すると、送信中の装置（すなわちセンサノード）のエネルギー消費が送信すべきデータ量とともに線形に増大し、その結果、寿命が許容できないほど短くなってしまう。
【０００５】
センサネットワークを構築する際に考慮しなければならないもう１つの重要な側面は、データの安全な伝送である。センサノードの基礎となるプラットフォームは通常、非常に小型の設計であり、不正操作防止ユニットを利用可能であると仮定することができない。したがって、ネットワークのセンサノードの一部が破壊される可能性がある。特に、近隣のセンサノードからデータを収集することを目的とするアグリゲータノードは格好の攻撃目標である。というのは、アグリゲータノードにおいては、領域全体の検知された情報が入手可能であり、まとめられているからである。受信された検知データに対して集約関数を実行した後、アグリゲータノードは、その結果を、圧縮形式でシンクノードへ送信する。
【０００６】
図１は、複数のセンサノード１を備えたセンサネットワークを概略図として示している。センサノード１は、それらの個数に従ってＳ１からＳｎまでラベル付けされている。シンクノード２（これは、十分に大きい物理リソースを備えた特定の装置である）からの要求の後、ｎ個のセンサノードＳ１〜Ｓｎは、検出したデータｓ１〜ｓｎを近隣のアグリゲータノード３へ送信する。
【０００７】
説明を簡略化するため、図１にはただ１つのアグリゲータノード３のみを示している。アグリゲータノード３は、検知されたデータＳ１〜Ｓｎに対して集約関数ｙ＝ｆ（ｓ１，ｓ２，...，ｓｎ）を実行してから、集約関数ｆの結果ｙをシンクノード２へ送信する。
【０００８】
図１に示すネットワークでは、上述したように、個々の値ｓ１〜ｓｎ、および領域全体の検知された情報（すなわち、集約関数ｆの結果ｙ）を攻撃者が容易に盗聴することができる。
【０００９】
一部の応用では、ある種のセキュリティの概念が義務的な必要条件となっている。データ伝送のセキュリティを高めるための既存の手法は、無線媒体上に過度の追加的データトラフィックを引き起こすことが多いため、経済的実用化が多くの場合不可能となる。例えば、単純なハッシュ関数を用いると、パケットあたり８バイトのデータが追加される。センサネットワークでは通常、最大パケットサイズが３６バイト、最大ペイロードが２７バイトであるような現在の無線技術が利用されることを考慮すると、ハッシュ関数の利用でさえも慎重に評価すべきことが明らかとなる。この例は、最大限にエネルギーを節減するだけでなくセキュリティの側面に関しても、現在の方法の利用が影響を受けやすいことを明らかにしている。既知のすべての方法は、データ伝送に関係するセキュリティの実現によってエネルギー消費が大きくなりすぎるため、安全なセンサネットワークの実用化が経済的でないという点で共通している。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
したがって、本発明は、一般的な種類のアドホックネットワークまたはセンサネットワークにおいて、ネットワーク内のデータ伝送が、外部からの攻撃に対する高レベルのセキュリティと同時に、経済的なエネルギー消費を実現するようなデータ伝送方法およびシステムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明によるデータ伝送方法は、請求項１に記載の特徴によって上記の課題を解決する。この請求項によれば、この方法は、検知されたデータをセンサノードで暗号化し、暗号化データをアグリゲータノードの１つへ送信し、アグリゲータノードにおいて、暗号化データに対して集約関数を実行し、集約関数の結果をシンクノードへ送信し、そこで復号することを特徴とする。本手法は、データの転送に秘匿が必要な場合に有効である。
【００１２】
本発明によれば、まず認識されることとして、検知されたデータがセンサノードで直接暗号化され、復号がシンクノードのみで行われる場合に、データ伝送について高レベルのセキュリティが実現される。本発明によれば、暗号化データがアグリゲータノードの１つへ送信され、そこで暗号化データに対して集約関数が実行される。すなわち、そのアグリゲータノードは、検知されたデータの実際の値（すなわち平文値）を知ることなく集約関数を実行する。そして、本発明によれば、集約関数の結果がシンクノードへ送信され、そこで復号される。
【００１３】
好ましい実施形態では、復号結果が（それぞれのセンサノードの暗号化されていないデータに対して実行された場合の）集約関数の結果と一致するように、暗号化変換が選択され、暗号化されたデータに対して集約関数が適用される。この一義性により、シンクノードにおいて常に正確な結果が提供されることが保証される。
【００１４】
具体的実施形態では、暗号化変換は、いわゆるプライバシー準同型のクラスから選択されるものとすることができる。これらは、平文アルファベットに対する代数演算結果が、暗号化された代数演算結果に対応する暗号化変換である。
【００１５】
具体的には、集約関数によって、加算、減算、乗算または逆乗算を実行することができる。これらの関数は、平文アルファベットに対する平文演算として、または、それに対応して、暗号文アルファベットに対する暗号文演算としてのいずれで実行することも可能である。
【００１６】
具体的適用に関連して、集約関数を用いると、例えば、検知されたデータの平均を計算することができ、あるいは、集約関数は「動いているものを検出せよ」と指令することもできる（詳しくは後述）。いずれの関数も、暗号化データに対して実行される加算、減算、乗算および逆乗算の演算によって表現することができる。上記の集約関数の他にも、別の集約関数が含まれ得る。
【００１７】
特に経済的なリソース消費に関して、センサノードは検知したデータを連続動作でシンクノードへ送信せずに、シンクノードがある特定の（好ましくはあらかじめ指定可能な）間隔でセンサノードに要求を送信するようにしてもよい。センサノードは、シンクノードから要求を受信した場合に限り、自己の近隣のアグリゲータノードへ自己のデータを送信する。
【発明の効果】
【００１８】
本発明による方法によれば、アグリゲータノードにおけるデータ送信およびデータ処理の両方について、データの隠蔽が保証される。さらに、本発明によるセキュリティアーキテクチャは、最小限の追加的なリソース消費しか必要としない。本発明による方法では、起こり得る少数のパディングデータを除き、ネットワークトラフィックを増大させないため、関与するノード間の不経済なデータ伝送による追加的なエネルギー消費がない。
【００１９】
本発明の教示を有利に具現化し、さらに改良するにはいくつかの方法がある。このためには、一方では請求項１に従属する請求項を参照し、他方では図面に示された本発明の実施形態の好ましい実施例に関する以下の説明を参照すべきである。図面による本発明の実施形態の好ましい実施例の説明においては、本発明の教示の好ましい実施形態およびさらなる改良形態が一般的に説明される。
【発明を実施するための最良の形態】
【００２０】
図２は、図１と同様のセンサネットワークを示しているが、非保護データ伝送ではなく、本発明による安全なデータ伝送を示している点で図１とは異なる。図２の場合、センサノードＳ１〜Ｓｎで暗号化Ｅが実行されるため、暗号化されていないデータｓ１〜ｓｎがアグリゲータノード３へ送信されることはもはやなく、暗号化データｓ１′＝Ｅ（ｓ１）ないしｓｎ′＝Ｅ（ｓｎ）が送信される。そして、アグリゲータノード３は、暗号化データに作用し、集約関数ｆの適用に関して、ｙ′＝ｆ（ｓ１′，...，ｓｎ′）の値を計算する。その後、アグリゲータノード３は、結果ｙ′をシンクノード２へ送信する。シンクノード２では、復号関数Ｄを実行してｙ′を復号することにより、集積された平文結果ｙ＝Ｄ（ｙ′）を得る。
【００２１】
図２に関して、以下、特別の暗号化変換について説明する。上記の暗号化変換は、プライバシー準同型のクラスから選択される。
【００２２】
数ｐおよびｐ′が大きい素数であると仮定し、積ｑ＝ｐｐ′を公開する。数ｐおよびｐ′は、個々のセンサノードＳ１〜Ｓｎおよびシンクノード２には既知であるが、アグリゲータノード３には既知でない。これに対して、ｑの値は、すべての当事者に既知とすることができる。集約関数は、アグリゲータノード３、および個々のセンサノードＳ１〜Ｓｎに既知である。ｓiの暗号化ｓi′＝Ｅp（ｓi）（ｉ＝１，...，ｎ）の場合、ｓi＝ａｂ-1  ｍｏｄ  ｐが成り立つようにａ／ｂを平文集合から選択する。次に、ｓi′＝Ｅp（ｓi）＝ａｂ-1  ｍｏｄ  ｑを計算することにより暗号化を行う。そして、アグリゲータノード３は、例えばｙ′＝ｓ１′＋...＋ｓｎ′を計算してｙ′をシンクノード２へ送信することができる。シンクノード２では、ｙ′＝ＡＢ-1  ｍｏｄ  ｑが成り立つように分数Ａ／Ｂを暗号文の集合から選択することによって復号ｙ＝Ｄp（ｙ′）を実行する。シンクノード２は、鍵ｐを用いて、ｙ＝Ｄp（ｙ′）＝ＡＢ-1  ｍｏｄ  ｐを計算する。
【００２３】
具体的適用に関連して、集約関数を用いると、例えば、検知されたデータの平均を計算することができ、あるいは、集約関数は「動いているものを検出せよ」と指令することもできる。いずれの関数も、暗号化データに対して実行される加算、減算、乗算および逆乗算の演算によって表現することができる。上記の集約関数の他にも、別の集約関数が含まれ得る。たとえば、「動いているもの」は次のように検出され得る。センサによる物体の有無を“０”あるいは“１”のデジタル情報とし、１次元あるいは２次元の位置データとして検出する場合、例えば隣接するセンサで検出された位置データの間に差分が検知されれば、移動物体が存在すると判断される。
【００２４】
特に経済的なリソース消費に関して、センサノードは検知したデータを連続動作でシンクノードへ送信せずに、シンクノードがある特定の（好ましくはあらかじめ指定可能な）間隔でセンサノードに要求を送信するようにしてもよい。センサノードは、シンクノードから要求を受信した場合に限り、自己の近隣のアグリゲータノードへ自己のデータを送信する。
【００２５】
最後に、特に指摘しておかなければならないが、記載されている実施形態の実施例は、単に本発明の教示の実例としての役割を果たすに過ぎず、決して本発明の教示をそれらの実施形態の実施例に限定するものではない。
【図面の簡単な説明】
【００２６】
【図１】非保護データ伝送を用いたセンサネットワークの概略図である。
【図２】本発明によるデータ伝送方法を用いたセンサネットワークの概略図である。
【符号の説明】
【００２７】
１  センサノード
２  シンクノード
３  アグリゲータノード
【図１】
2005295543.tif 000003
【図２】
2005295543.tif 000004