無線メッシュ及びセンサ・ネットワークにおける回復力のあるパケット逆探知のための方法及びシステム
【課題】 偽データ注入を特定し、防止するために、ネットワークにおいて逆探知するためのシステム及び方法を提供する。
【解決手段】 ネットワークにおけるパケット逆探知のためのシステム及び方法は、ネットワーク内の各々のノードについて識別番号(ID)を保持することと、転送パス上の各々のノードとシンクとの間で共有される秘密鍵を用いて署名(例えば、メッセージ検証コード(MAC))を生成することと、を含む。各々の転送ノードは、決定論的方法又はある確率のいずれかで、パケットにそのIDと署名を付加することによってマークを残す。シンクでパケットを受信すると、各々のパケットに含まれた署名の正当性が、これらの署名が付加された順序と逆の順序で検証される。偽データ注入攻撃において共謀する障害ノードの位置を求めるために、転送パス内の最後の有効MACが求められる。
【解決手段】 ネットワークにおけるパケット逆探知のためのシステム及び方法は、ネットワーク内の各々のノードについて識別番号(ID)を保持することと、転送パス上の各々のノードとシンクとの間で共有される秘密鍵を用いて署名(例えば、メッセージ検証コード(MAC))を生成することと、を含む。各々の転送ノードは、決定論的方法又はある確率のいずれかで、パケットにそのIDと署名を付加することによってマークを残す。シンクでパケットを受信すると、各々のパケットに含まれた署名の正当性が、これらの署名が付加された順序と逆の順序で検証される。偽データ注入攻撃において共謀する障害ノードの位置を求めるために、転送パス内の最後の有効MACが求められる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク通信に関し、より詳細には、偽データ注入を特定し、防止するために、ネットワークにおいて逆探知するためのシステム及び方法に関する。
【背景技術】
【0002】
パケット逆探知は、パケットの真の起点と、ネットワーク内でパケットが横断したパスとを特定する技術である。パケット逆探知は、サービス妨害(DoS)攻撃の出現に対抗するために広く用いられており、サービス妨害(DoS)攻撃では、一般に攻撃パケットのソース・アドレスが、それらの識別情報を隠すために攻撃者によって「偽造(forge)」される。
【0003】
有線インターネットのための多くのIPパケット逆探知スキームが存在している。例えば、確率的パケット・マーク付け(PPM)スキームが提案されている。PPMスキームにおいては、ルータが、一定の確率で、そのルータが転送するパケット内の或る情報を「マーク付け」する。その情報は、ルータの識別情報又は2つの隣接するルータ間のリンクを伝達する。宛先は、異なるルータからのマークを収集した後で、パケットが横断したパスを再構成することができる。
【0004】
代数的な手法が提案されており、これは、パス情報が、パスに沿ったルータの識別情報によって係数が決定される多項式f(x)にエンコードされるものである。各々のパケットがサンプルxを搬送し、パスに沿ったすべてのルータが共同でf(x)を計算する。宛先は、十分な(x,f(x))値の対を収集した後で、係数を導出し、最終的にルータの識別情報を推論することができる。
【0005】
他の技術では、各々のルータが、以前に転送されたパケットを長期間にわたって記憶しておくことが必要である。宛先は、ルータが過去に1つのパケットを転送したかどうかをそれらのルータに問い合わせることによって、転送パスを再構成することができる。ルータは、帯域外逆探知メッセージを低い確率でソース又は宛先に送信することもある。これらのメッセージを収集することにより、宛先がパスを構成することが可能となる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
これらのスキームは、限られた脅威モデルの下で設計されたものであり、多くの用途で、例えば無線メッシュ及びセンサ・ネットワークでは、不十分なものとなる。これらの従来技術のほとんどは、中間ノード(ルータ)が障害を受けないことを想定している。これは、実際には、特にノードが物理的に取り込まれ障害を受けやすい無線メッシュ又はセンサ・ネットワークにおいては当てはまらないことがある。これらのスキームにおいては、障害を受けた単一の中間ノードでさえ、パケットの真の起点が特定されないようにすることができる。障害ノードは、マークを偽造し、恣意的で不正な起点まで逆探知するように犠牲者を欺くことさえある。
【0007】
さらに、多くのスキームは、加害者の位置を正確に突き止めるために、多数のパケットが収集されること、又は、中間ノードが大量の監査トレースを格納することを必要とする。これらは、インターネットでは問題とならないかもしれないが、帯域幅、エネルギー、及びストレージ・リソースが逼迫した無線メッシュ及びセンサ・ネットワークにおいては、実用上の厳しい障害に直面する可能性がある。
【課題を解決するための手段】
【0008】
ネットワークにおけるパケット逆探知のためのシステム及び方法は、ネットワーク内の各々のノードについて識別番号(ID)を保持することと、転送ノードとシンクとの間で共有される秘密鍵を用いて、決定論的方法又は確率的方法のいずれかで、各々の転送ノードにおいてパケットに加えられる署名、例えばメッセージ検証コード(MAC)を生成することとを含む。パケットを受信すると、シンクは、署名(MAC)が加えられた順序と逆の順序で、パケットの署名(MAC)の正当性を検証する。第1の無効な署名(MAC)は、偽造レポートを注入した障害ノード又は正当なパケットを改ざんした障害ノードを、オンザフライで明らかにする。
【0009】
ネットワークにおけるパケット逆探知のための方法は、ネットワーク内の各々のノードについて識別番号(ID)を保持することと、このノードとシンクとの間で共有される秘密鍵を用いて、各々の転送ノードにおいて署名を生成することと、シンクでパケットを受信したときに、署名が加えられた順序と逆の順序で、シンクによって各々のパケットの署名の正当性を検証することと、偽データ注入ソース及び/又は共謀する障害ノードの位置を求めるために、転送パスにおける署名有効性を判断することと、を含む。
【0010】
無線メッシュ又はセンサ・ネットワークにおけるパケット逆探知のための別の方法は、ネットワーク内の各々のノードについて真の識別番号(ID)を保持することと、現在のノード及びシンクのみに知られている秘密鍵に基づいて、真のIDから匿名IDを計算することと、少なくとも2つの確率で各々のパケットをマーク付けするために、転送パス内の各々のノードについて秘密鍵を用いてメッセージ検証コード(MAC)を生成することと、偽データ注入ソースを発見するために、ネットワーク内のノードについて匿名IDから真のIDを求め、各々のパケットに存在するマークを用いてノード・ルートを再構成し、転送パス内の最後の有効MACを求めるために、真のIDと秘密鍵とを用いて、転送パスの各々のノードを遡って各々のパケットのMACの正当性を検証することによって、パスを逆探知することと、を含む。
【0011】
これらの並びに他の特徴及び利点は、添付図面と併せて読まれることになる例示的な実施形態の以下の詳細な説明から、明らかとなるであろう。
本開示によって、添付図面を参照しながら以下の好ましい実施形態の説明において詳細が提示される。
【図面の簡単な説明】
【0012】
【図1】一実施形態に係る無線ネットワークにおけるノードの転送パスを示す図である。
【図2】受信したパケットの連続番号が許容限界内にあるかどうかを判断して、パケットが正当なものであること又は再現されたものであることを検証するための、現在未発行の連続番号の有界ウィンドウを示す図である。
【図3】本発明の原理に従って検出される共謀ソース及び転送スパイ(例えば、障害を受けたノード)を有する転送パスを含む例示的なネットワークを示す図である。
【図4】本発明の原理に従ってノード順序を再構成するための例示的な方法を示すブロック/フロー図である。
【図5】本発明の原理に従って検出可能な識別情報スワッピングによって作成されたループを示す図である。
【図6】ノードの3つのカテゴリを示す図である。
【図7】転送パス内の有効MACを持つ最後のノードを示す図である。
【図8】シンクがx個のパケットを受信した後でn個の転送ノードすべてからマークが収集される確率の分析結果を示すグラフである。
【図9】シンクがx個のパケットを受信した後でn個の転送ノードすべてからマークが収集される確率のシミュレーション結果を示すグラフである。
【図10】最初のx個のパケットでシンクによってマークが収集されたノードの平均数を示すグラフである。
【図11】40ノードのパスの場合に、候補ソースの組が時間の経過と共に変化することを示すグラフである。
【図12】100回の実行で、何回の実行がソースを明確に特定するのに失敗したかを全パス長の関数として示すグラフであり、200、400、600及び800の曲線は、各々の実行におけるパケット数に対応する。
【図13】ソースを明確に特定するのに必要な平均のパケット数を全パス長の関数として示すグラフであり、各々の実行において800個のパケットがシンクで受信される。
【図14】例示的な実施形態に係る逆探知及びスパイ位置特定のための例示的なシステム/方法を示すブロック/フロー図である。
【発明を実施するための形態】
【0013】
本発明の実施形態によれば、多数の共謀する加害者の存在の下で加害者ノードの位置を正確に突き止めることができるシステム及び方法が提供される。本発明の実施形態は、脅威がより深刻でリソースがより逼迫している無線メッシュ及びセンサ・ネットワークに特に適用可能である。従来技術とは対照的に、本発明の実施形態は、障害を受けたノードだけではなく障害を受けた転送ノードが存在する場合でも機能し、それらの位置を突き止める。これは、マークの偽造を防止するためにマークに認証符号を加えることにとどまるものではない。従来技術においては、多数の共謀する障害ノードは、無実のノードを辿るように依然として犠牲者をだます可能性がある。本発明の原理によれば、より少ないリソースを用いて回復力のある逆探知が達成され、単一パケットのみを用いて加害者への逆探知を達成することができる。
【0014】
多くの無線センサ・ネットワークは、潜在的に悪い環境又は敵意のある環境でも機能することが期待される。それらは無人で動作するため、敵が、センサ・ノードを物理的にピックアップして障害し、秘密鍵を含むそれらの格納データを入手するのは容易である。これらの障害を受けた「スパイ(moles)」は、種々のタイプの攻撃を開始することが可能であり、その重大なものの1つは偽データ注入である。1つの単一スパイが、大量の偽装トラフィック(bogus traffic)を注入してシンクを溢れさせ、アプリケーションの不具合を招き、転送パスに沿ったエネルギー及び帯域幅リソースを浪費する可能性がある。最近の研究によって、そうした偽装メッセージを途中で検出してドロップするための多くのスキームが提案されている。しかしながら、それらは、攻撃のダメージを緩和させるだけであるため、すべて受動的なものである。それらは、攻撃の根本原因に反撃して排除するための能動的な手段を提供するものではない。
【0015】
以下の説明は、能動的な反撃、すなわち、センサ・ネットワーク内のスパイを探知する方法に対応するものである。スパイの位置を知ることで、ネットワークからスパイを分離又は除去して、攻撃の根本原因を撲滅することができる。スパイを探知することは、重要な研究課題を提示する。第1に、ルータがより良好に保護され、エンド・ホストより相対的に信頼されているインターネットとは対照的に、センサ・ネットワーク内のすべてのセンサ・ノードは、敵によって等しくアクセス可能であり、一様に保護されていない。いずれのノードもパケットを転送することができ、相対的に信頼されている活用可能なルーティング・インフラストラクチャは存在しない。第2に、スパイは共謀することができる。スパイは、それらの秘密鍵を共有するだけでなく、それらの形跡を隠すように協働してパケットを操作することができる。そうした操作攻撃は、単に偽装トラフィックの量を増加させることよりはるかに高度である。インターネットのための既存のインターネット・プロトコル(IP)逆探知スキームは、そうした共謀するスパイを考慮しておらず、このような攻撃の下では効果のないものとなりつつある。
【0016】
特に有用な実施形態によれば、偽データ注入攻撃における共謀スパイを探知するための入れ子式マーク付け(nested marking)スキームが提示されている。パケット・マーク付けは、パケットの真の起点を推定するために用いられ、ノードは、転送するパケットに自分の識別情報をマーク付けする。こうしたマークを収集することによって、シンクは、ルートを推論し、したがってトラフィックの起点位置を推論することができる。パケット・マーク付けはインターネットで用いられてきたが、共謀するセンサ・スパイに対するその適用可能性は、本発明者らの知るところではまだ研究されていない。IP逆探知のための既存のマーク付けスキームは、ソースと自分自身の真の位置を隠すようにマークを改ざんするか又はさらにシンクに無実のノードまで辿らせる中間の共謀スパイによって、容易に破られる可能性がある。
【0017】
本発明の入れ子式マーク付けスキームは、単一パケットの逆探知をサポートする。各々の転送ノードは、パケットを入れ子式にマーク付けし、そのマークが前のすべての転送ノードのマークを保護するようにする。本発明の入れ子式マーク付けスキームは、共謀スパイがマークをどのように操作しても、マークが、ソースの位置又は自分自身の位置のいずれかを明らかにすることを保証する。
【0018】
センサ・ネットワーク内のスパイに対する事前対応型のセキュリティの必要性は、パケット・マーク付けの枠組み内で、スパイが開始することができる種々の共謀攻撃について検討される。パケット・マーク付けのセキュリティは、入れ子式マーク付けが必要かつ十分であることを含んでおり、すなわち、前のノードのマークの一部が保護されない場合(一見して明らかな多くの設計のように)には、共謀するスパイがソース及び自分自身の位置を隠すか又は無実のノードまで辿るようにシンクをだますことができる攻撃が存在する。本明細書では、分析的評価を通して入れ子式マーク付けの有効性が示される。
【0019】
本発明の原理による確率的入れ子式マーク付け(PNM)スキームは、2つの技術、すなわち入れ子式マーク付けと確率的マーク付けとを用いて、共謀するスパイに対する安全で効果的な逆探知を達成する。入れ子式マーク付けは、単一パケットの逆探知をサポートする。各々の転送ノードは、パケットを入れ子式にマーク付けして、そのマークがすべての前の転送ノードのマークを保護するようにする。入れ子式マーク付けは、共謀スパイがマークをどのように操作しても、マークが、ソースの位置又は自分自身の位置のいずれかを明らかにすることを保証する。確率的マーク付けは、センサの制約されたリソースに合うようにパケットあたりのオーバーヘッドを低減させる。各々のノードは、一定の確率でマークを残し、したがって、パケットはほんのわずかなマークを搬送する。新しいマークが既存のマークに置き換わるインターネット・マーク付けスキームとは異なり、新しいマークが単にパケットに付加される。
【0020】
本明細書においては、分析的評価と経験的評価との両方を通じてPNMの有効性及び効率が実証される。PNMは、約50パケット以内の高速で逆探知を行い、シンクは、最大で20ホップ離れたスパイを探知することができる。PNMは、スパイがかなりの量の攻撃トラフィックを注入することができる前にスパイが捕らえられることになるため、スパイが有効なデータ注入攻撃を開始するのを防止する。
【0021】
共謀攻撃に対して安全な確率的入れ子式マーク付け(PNM)のシステム及び方法が提供される。共謀スパイがマークをいかに操作しようと、PNMは、スパイを一つずつ探知することができる。入れ子式マーク付けは、共謀攻撃に対抗するのに必要かつ十分なものである。PNMはまた、例えば約50パケット以内の速い逆探知を行い、シンクから最大で20ホップ離れたスパイを見つけ出すことができる。これは、事実上あらゆる有効なデータ注入攻撃を防止するものであり、スパイは、大量の偽装トラフィックを注入する前に捕らえられることになる。
【0022】
本発明の実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又は、ハードウェア要素とソフトウェア要素の両方を含む実施形態の形態をとることができる。好ましい実施形態においては、本発明は、ソフトウェアの形態で実装され、ソフトウェアは、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む。
【0023】
さらに、本発明は、コンピュータ若しくはあらゆる命令実行システムによって又はそれらと組み合わせて用いられるプログラム・コードを提供するコンピュータ使用可能媒体又はコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形態をとることができる。この説明の目的のために、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置若しくはデバイスによって又はそれらと組み合わせて用いられるプログラムを含み、格納し、通信し、伝搬し、又は転送することができるあらゆる装置とすることができる。媒体は、電子システム、磁気システム、光学システム、電磁気システム、赤外線システム、若しくは半導体システム(又は装置若しくはデバイス)又は伝搬媒体とすることができる。コンピュータ可読媒体の例として、半導体メモリ又は固体メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、剛性磁気ディスク及び光ディスクが挙げられる。光ディスクの現在の例として、コンパクト・ディスク−リード・オンリー・メモリ(CD−ROM)、コンパクト・ディスク−読み取り/書き込み(CD−R/W)及びDVDが揚げられる。
【0024】
プログラム・コードを格納及び/又は実行するのに適したデータ処理システムは、システム・バスを通じて直接的又は間接的にメモリ要素に結合される少なくとも1つのプロセッサを含むものとすることができる。メモリ要素は、プログラム・コードの実際の実行中に使用されるローカル・メモリと、バルク・ストレージと、実行中にバルク・ストレージからコードを取得する回数を減少させるために少なくとも幾つかのプログラム・コードを一時的に格納するキャッシュ・メモリとを含むことができる。入力/出力又はI/O装置(キーボード、ディスプレイ、ポインティング・デバイス等を含むが、これらに限定されない)は、直接的に又は中間のI/Oコントローラを通して、システムに結合することができる。
【0025】
中間のプライベート・ネットワーク又はパブリック・ネットワークを通して、データ処理システムを他のデータ処理システム又は遠隔のプリンタ若しくは記憶装置に結合することができるように、ネットワーク・アダプタをシステムに結合することもできる。モデム、ケーブル・モデム、及びイーサネット・カードは、現在利用可能なタイプのネットワーク・アダプタのうちのほんの一部に過ぎない。
【0026】
ここで、同様の番号が同じ又は類似の要素を表す図面を参照すると、まず図1において、ネットワーク10は複数のノード12を含む。転送パス14内には幾つかのノード12を配置することができる。各々のノード12は、シンク・ノード(シンク)と鍵(K)を共有し、単調に増加する連続番号を保持することができる。ソース・ノード(ソース)Aは、メッセージMを送出するときに、そのIDと連続番号を付加し、次に署名(例えばメッセージ検証コード)を計算する。ソースは、パケット全体を次のホップ・ノード1に送信し、自分の連続番号を増加させる。同様に、ノード1は、そのID及び連続番号、さらに別の署名をパケットに付加し、次にその結果を次のホップに渡し、自分の連続番号を増加させる。最終的に、パケットはシンク・ノード シンクに到着する。到着したパケットは、元のメッセージMだけでなく、ID、連続番号、及びパス上のすべてのノードの署名を含む。
【0027】
シンク・ノード シンクは、パケットのIDから、パケットが横断したように見えるクレーム・パス(claimed path)を知る。シンクは、このパスを最後のホップ・ノードから始まる逆の順序で検証する。パス上の各々のノードについて、シンクは、ノードと共有された鍵を用いて署名を再計算し、パケットの署名が正しいかどうかを検証する。シンクは、連続番号が有効であるかどうかも検証する。両方のチェックが成功した場合には、シンクは、前のホップの検証を続ける。最終的に、シンクは、すべての署名/連続番号を正しく検証した場合に停止するか、又は、最初の不正な署名/連続番号で停止する。加害者ノードは、シンクが検証を停止したノードの近傍1ホップ以内にある。
【0028】
署名を計算し、それらがメッセージを「たまねぎ」のようにレイヤ毎に(一度に一つのレイヤ)保護するため、検出されずに前のホップのメッセージを偽造又は修正することができるノードは無い。各々のパケットがホップ毎の連続番号を搬送するため、加害者は、検出されずに古い正当なトラフィックを再現(replay)することはできない。多数の共謀ノードが存在するときには、最初にパス上の最後の加害者の位置が発見され、次いで最後から2番目の加害者の位置が発見され、以下同様にして発見される。これらのノードが、偽装メッセージを注入し、マーク付けを操作し続ける限り、それらの位置は一つ一つ発見されることになる。対照的に、既存のソリューションは、障害を受けた中間ノードを扱わないか、又は、障害を受けた多数のノードが共謀したときには保護を失う。
【0029】
本発明の原理によれば、障害を受けた多数のノードによって開始された共謀攻撃に対して防衛するための回復力のある逆探知スキームが提供される。各々の転送ノードは、自分自身のマークとすべての前の転送ノードからのマークとを保護するために、署名を入れ子式で用いる。これによって、共謀ノードが存在する場合であっても、障害を受けた攻撃ノードの位置を逆探知することができる。一実施形態においては、決定論的マーク付けが用いられる。しかしながら、すべての転送ノードがパケットにマークを残すため、ネットワークのサイズが大きくなると、メッセージ及び通信オーバーヘッドが増大することになる。したがって、もう1つの実施形態においては、パケットあたりの通信オーバーヘッドを一定レベルに減少させ、共謀攻撃に対するセキュリティ防御を保つことができる、確率的入れ子式マーク付け(PNM)スキームが用いられる。
【0030】
PNMの実施形態においては、各々の転送ノードは、小さい確率pでパケットをマーク付けする。結果として、もう1つの入れ子式マーク付けスキームにおける単純なn個のマークとは対照的に、ノードの転送パス上で、1つのパケットが平均してn×p個のマークのみを搬送する。単純な拡張のように見えるが、それは2つの点でより複雑な結果となる。
【0031】
第1に、入れ子式マーク付けスキームへの上記の単純な確率的拡張によって、新しいセキュリティの抜け穴が開くことがある。それにより、パケットの選択的な組をドロップすることによって障害を受けた転送ノードが自分自身と真のソースとの間のいずれかの無実ノードに罪を被せることが可能な選択的ドロッピング攻撃を受けやすくなる。そうした選択的ドロッピング攻撃に打ち勝つために、匿名化技術を採用して、それらのマークにおけるノード識別情報を隠すことができる。
【0032】
第2に、各々のパケットは、完全なパスの部分的サンプリングのみを搬送することがある。宛先が少数の攻撃パケットを用いてパスを再構成するためのパス再構成方法が提供される。宛先は、再構成されたパスを用いて加害者ノードを特定することができる。
【0033】
本発明の原理は、従来のマーク付けスキームより強力な防御をもたらすことができる。本発明の実施形態は、形跡を隠蔽するように共謀する多数の障害ノードによって開始される、巧妙な選択的ドロッピング攻撃を含む種々の共謀攻撃に、耐えることができる。好ましい実施形態においては、通信オーバーヘッドが低減され、拡張性が向上するという利点があり、このことによって、中規模ネットワーク又は大規模のネットワークにも適用できるようになる。
【0034】
再び図1を参照し、Aがソースである、パスA−1−2...−Z−Z+1−...−シンクを考える。各々のノード12は、鍵Kをシンクと共有し、例えば、AはK_aを有し、2はK_2を有し、以下同様である。さらに、各々のノードは、ノードがこれまでに生成又は転送したパケットの数を記録する連続番号を保持する。連続番号は、最初にノード12が配置されたときにはゼロであり、ノード12がパケットを送出するたびに1だけ増加する。
【0035】
各々のノード12はまた、単調に増加するパケット連続番号を保持する。Aは、メッセージMを送信するときに、自分の識別情報及び連続番号を付加し、署名(例えば、鍵付きメッセージ検証コード(MAC))を計算し、次にパケットM全体を次のホップに送信する。各々のホップは同様に、パケットを次のホップに渡す前に、自分自身の識別情報、連続番号、及び署名を付加する。ノードAは、メッセージMを送信するときに、自分の識別情報Aと現在の連続番号(seqnum)を付加し、次にメッセージ全体を保護する署名を計算する、すなわち、H_ka(x)が鍵K_aを用いるxの署名の計算を示し、「|」が連結を示すとすると、
A→B: M_a=M|A|seqnum|H_ka(M|A|seqnum)
である。このパケット全体は、M_aと表記することができる。Aは、M_aを次のホップ1に送信し、次に自分の連続番号seqnumを増加させる。ノード1は、同様の操作を行い、以下のパケット、すなわち、
1→2: M_a|2|seqnum2|H_k2(M_a|2|seqnum2)
をノード2に送信し、以下同様である。
【0036】
一般に、パス上の連続する2つのノードZ、Z+1について、Zは、MZをZ+1に送信した後で、MZ+1、すなわち、
MZ+1=MZ|Z+1|seqnumZ+1|H_kZ+1(MZ|Z+1|seqnumZ+1)
を次のホップに送信する。シンクは、このようなメッセージを受信したときに、ノードIDから、パケットが横断したように見えるクレーム・パスを取得することができる。シンクは、最後のホップ・ノードから始まってパケットを付加した順序と逆の順序でこのパスを検証する。
【0037】
一般性を失うことなく、シンクがノードVを検証するケースを考える。シンクは、MZ|Z+1|seqnumZ+1|H_kZ+1(MZ|Z+1|seqnumZ+1)であるメッセージMZ+1を有する。ID Z+1を取得した後で、シンクは最初に、K_Z+1の知識を用いて署名が正しいかどうかをチェックする。次に、シンクは、連続番号seqnum Z+1が正しいかどうかを検証する。そのために、シンクは、各々のノードについての連続番号のスライディング・ウィンドウを保持する。これが決定論的マーク付けの実施形態である。
【0038】
図1に続いて図2を参照すると、各々のノード12について、現在のウィンドウ22は、上限(最大値)と下限(最小値)を有する。上限(最大値)は、このノードから受信した最大の連続番号であり、下限(最小値)は、このノードについて依然として有効な最小の連続番号である。ウィンドウ22は、順番どおりでない有効な連続番号のどれがまだ受信されていないかを保持する。各々のパケットは、ネットワーク内で存続する(live)最大の時間を有すると仮定され、この最大寿命(T_max)は、ウィンドウ22を更新するのに用いられる。
【0039】
最初にノード12が配置されたときには、最小値及び最大値はいずれも0である。シンクがこのノードから連続番号dを有するパケットを受信したときには、以下のような3つの可能性のあるケースが存在する。1)d<最小値:連続番号は、すでに終了しているため、無効である。2)最小値≦d≦最大値:dが以前に受信されていない場合には、dは有効であり、それが用いられていることを示すマークがdについて設定される。シンクはまた、最小値を、受信されていない次の最小の有効な連続番号に更新する。しかしながら、dが受信されている場合(例えば、dがマークされた場合)、それは再現されたものであり、したがって無効な連続番号である。3)d>最大値:この場合には、連続番号は有効である。さらに、シンクは、最大値=dに設定し、連続番号dに関連するタイマーを開始させる。タイマーは、ネットワーク内部のパケットの最大寿命であるT_maxの後で終了することになる。このタイマーが終了したときに、シンクは最小値=dに設定し、例えば、dより小さい連続番号を持つすべてのパケットは、ネットワークにおいて死んだ(died)ことになる。
【0040】
パス上のノードは、その署名が正しく、その連続番号が有効である場合に限り、シンク検証を渡す。この場合、シンクは、前のホップのIDを取得することによって前のホップを検証し続け、署名及び連続番号を検証する。最終的に、検証は、すべての署名/連続番号が正しく検証されるか、又は、不正な署名/無効な連続番号が見つかったときに、停止する。いずれの場合においても、障害を受けたノードは、シンクが停止した場所の近傍1ホップ以内に位置する。例えば、シンクが、第1のホップM|A|seqnuma|H(M|A|seqnuma)を含むすべてのノードを正しく検証したときである。真のソースは、ノードAの近傍1ホップ以内に位置する。あるいは、いずれかのホップにおいて署名又は連続番号が無効である場合には、障害を受けたノードは、無効なノードの近傍1ホップ以内にある。例えば、ホップX:M_w|X|C_x|Hを検証するときである。シンクは、HがH(M_w|X|C_x)と一致しないことを発見し、障害を受けたノードがノードXの近傍1ホップ以内にあると結論づけることができる。すなわち、Xは、加害者である(Xが、不要なHを故意に偽造する)か、又は、Yのような、Xの近傍のうちの1つである(例えば、Yは、Xの署名Hを修正するが、自分自身のメッセージについての正しい署名を与える)かのいずれかである。
【0041】
提案されるセキュリティ防御は、多くの特徴を含む。第1に、正当なトラフィックを改ざんする加害者を検出することができる。メッセージは署名によってレイヤ毎に保護されるため、メッセージを修正する加害者は、ソースから始まってその直前のホップまで、前のすべてのホップの署名チェックを失敗させることになる。第2に、DoS攻撃パケットを注入しようとする攻撃者は、鍵の知識を持たないため、離れた起点を正しく偽造することができない。シンクは、加害者の後で正常なノードによって残された情報を追い、その位置を見つけ出すことができる。第3に、メッセージがホップ毎の連続番号によって保護され、加害者が、古いパケットにおける増加した連続番号について正しい署名を生成することができないため、加害者は、前の正当なトラフィックを再現することができない。多数の攻撃ノードが同じパス上で共謀するときであっても、正当なトラフィックを修正するか又は偽装トラフィックを注入する最後の加害者の位置は、依然として特定されることになる。シンクはさらに、特定された攻撃ノードと通信しないように他のノードに命令し、残りの加害者ノードを一つずつ発見することができる。
【0042】
モデル及び仮定:システム及び脅威モデルを説明し、悪意のある攻撃の分類法をパケット・マーク付けフレームワーク内で提示する。
【0043】
図3を参照すると、静的センサ・ネットワーク30についてのシステム・モデルが描かれており、このモデルは、センサ・ノード12が一旦配置されると動かないと考えられる。これらのノード12は、近くの環境を感知し、イベントの時刻、位置、記述など(例えば、センサの読取値)を含む、対象となるイベントに関するレポートを生成する。レポートは、マルチ−ホップ無線チャネルを通じて中間ノード41−47によってシンク38に転送される。シンク38は、十分な計算リソース及びエネルギー・リソースを持つ強力なマシンである。ルーティングは、比較的安定していると仮定される。ルートは、短い時間間隔で頻繁に変化することはない。ルートが安定しているときには、各々のノード12は、転送パス36において近傍に唯一の次のホップを有し、この近傍のホップを通してすべてのパケットをシンク38に転送する。このことは、当該技術分野では公知であるいずれかのツリー・ベースのルーティング・プロトコル又は地理的ルーティング・プロトコルにおいて一貫している。
【0044】
各々のセンサ・ノード12は、固有のIDを有し、固有の秘密鍵(K)をシンク38と共有すると仮定する。ID及び鍵は、ノード12が配置される前にノード12に予めロードすることができる。シンク38は、すべてのノードID及び鍵についてのルックアップ・テーブルを保持することができる。ノードは、近傍の認証などの目的で他の鍵を定めることもできるが、PNMは、そうした鍵が機能することを必要としない。
【0045】
センサ・ノード12は、リソースが制約され、計算力、記憶容量及びエネルギー供給が制限されることがある。例えば、公知のMica2モートは、バッテリ駆動であり、4MHzのプロセッサ及び256Kのメモリのみを装備している。そうしたローエンド・デバイスに公開鍵暗号化技術を実装することもできるが、エネルギー消費の点では極めて不経済である。したがって、ここでは簡単にするために、効率的な対称暗号(例えば、安全なハッシュ関数)のみが考慮される。
【0046】
図3の本発明の例示的なシナリオにおいては、スパイS(ソース32)及びX(転送パス・ノード44)は、攻撃トラフィックを注入するために自分たちの形跡を隠すように協力し、Sは偽装レポートを注入する。X44は、ノード1、2、3のマーク(57)を有するパケットを受信する。Xは、これらのマークを1’、2’、3’(55)に変更するか、又は、ノード1のマークを除去する(56)などというように、マークを種々の方法で操作することができる。スパイの目的は、自分たちの位置を隠すこと、又は、シンクが無実のノードを辿るように導くことである。
【0047】
脅威モデル及び攻撃分類法:敵は、物理的捕捉又はソフトウェア・バグを通じてセンサ・ノードを障害し、それらのノードを完全に制御することができる。敵は、秘密鍵を含むすべての格納情報にアクセスし、悪意のある状態で挙動するように再プログラムすることができる。スパイは、損害を最大にするように連係する。シンク38は、通常は良好に保護される。可能性はあるが、障害を受けるシンクは少なく、簡略化するために考慮されない。
【0048】
逆探知の背景にあるのは、偽データ注入の脅威である。1つのスパイS32は、ソースとして働き、大量の偽装感知レポートをネットワークに注入する。そうしたレポートは、ユーザ・アプリケーションを混乱させるだけでなく、それらを転送するのに費やされるネットワーク・リソース(例えば、エネルギー、帯域幅)を浪費する。逆探知は、積極的な防御に向けた第1ステップである。逆探知によって、シンクがレポートの真の起点を特定できるようになる。次に、シンクは、そうした場所へタスク・フォースを送り出すか、スパイを物理的に除去するか、又は、それらの近傍にトラフィックを転送しないように通知する。正確な機構は変えることができ、ここでの現在の焦点は逆探知にある。
【0049】
効果的なマーク付けスキームのための課題は、転送パスに沿った共謀スパイX44がマークを任意に改ざんする場合があることである。スパイX44は、自分の位置とソース・スパイ(32)の位置をいずれも隠すか、又は、シンクが無実のノードを辿るようにだますことができる。位置を隠すことによって、捕まったり罰せられたりすることなく連続注入が可能となる。大きな損害を生じさせるように注入するためには、このように隠すことが必要となる。それらのいずれかの位置が漏洩することによって、ネットワーク分離又は物理的除去といった処罰につながる。シンクが無実のノードを辿るようにだますことは余分なおまけであり、シンクは、無実のノードを処罰して、汚染されていないリソースを切り捨て、効果的に自分自身を処罰する。偽装レポートを注入するS及び転送パス上のXの2つの共謀スパイによるマーク付けベースの逆探知に対する共謀攻撃の分類法が、以下のように提供される。
【0050】
1)マークなし攻撃:スパイがレポートをまったくマークしないことがある。2)マーク挿入攻撃:ソース・スパイと転送スパイのいずれも、1つ又は多くの捏造マークをレポートに挿入することがある。3)マーク除去攻撃:転送スパイが、レポートにおいて上流のノードによって残された既存のマークを除去することがある。4)マーク並べ替え攻撃:転送スパイが、レポートの既存のマークを並べ替えることがある。5)マーク変更攻撃:転送スパイが、レポートの既存のマークを変更し、それらを無効にすることがある。6)選択的ドロッピング攻撃:転送スパイが、シンクによって受信された場合に逆探知される可能性のあるパケットを選択的にドロップすることがある。7)識別情報スワッピング攻撃:S及びXは、互いの鍵を知り、互いになりすますことができる。
【0051】
例えば、図3は、ソース・スパイS 32とシンク38との間の7つの転送ノード(41−47)のチェーンを示す。ノードX44は共謀スパイである。ノード44は、ノードV1、V2、V3によって残された3つの有効なマーク1、2、3を含むV3のメッセージを受信する。ノード44は、これらを1’、2’、3’に変更して無効にすることができ、したがってシンクは、これらのマークを拒絶する。ノード44は、マーク1を除去して2,3のみを残すこともあり、したがって逆探知は無実のノードで止まる。
【0052】
【表1】
【0053】
説明の助けとなるように、表1には、以下で使用される表記を含む。ソース・スパイS32は、正当なフォーマットに適合した偽装レポートを注入する。各々のレポートMは、イベントE、位置L及びタイムスタンプTを含む(すなわち、M=E|L|Tであり、「|」は連結を示す)。レポートはまったく同じ内容を含むことはできず、同じ内容を含む場合には、レポートは冗長であるとみなされて正当な転送ノードによってドロップされる。Mは、n個の中間ノードのチェーン{Vi}(i=1,...,n)によってシンク38に転送される。
【0054】
各々のノードViは、固有のIDiを有し、固有の鍵kiをシンクと共有する。ノードは、kが鍵である効果的で安全な鍵付ハッシュ関数Hk( )を用いてノードが生成又は転送するパケットについてのメッセージ検証コード(MAC)又は他の署名を生成するために、その鍵を用いることができる。特に、Viは、前のホップVi−1から受信したメッセージにマークmiを加えて、自分自身のメッセージMiを構成する。Miは、ViのIDi及びMAC MACiを含むことができる。次いで、Viは、Miを次のホップVi+1に送信する。
【0055】
転送ノードVx(1<x<n)は、共謀スパイであり、X(44)と表記される。Xは、Vx−1から受信したメッセージを任意の方法で操作し、次にそのメッセージをVx+1に渡すことができる。スパイXは、前述の攻撃のいずれか1つ又はそれらの組み合わせを用いて、S(32)及び自分自身の位置を隠すか、又は、無実のノードまで逆探知させることができる。
【0056】
従来技術の認証マーク付けスキーム(AMS)は、ノードによって加えられたマークが前のノードによって残されたマークとの関係を保護しないため、十分なセキュリティを提供することができない。各々のマークは、他のマークの有効性に影響を及ぼすことなく個別に操作することができる。本発明の原理に係る入れ子式マーク付けは、各々のマークとすべての前のマークとの間の結合を確立し、確率的マーク付けは、選択的ドロッピング攻撃に打ち勝つために、付加的な特徴であるIDの匿名性を提供する。
【0057】
PNMは、疑わしい単一の近傍ホップ内の精度で、偽データ注入攻撃における共謀スパイを探知することができる。これは、1つのノードとその近傍1ホップとを含む。ソース・スパイ又は転送スパイのいずれかは、それらの範囲内にある。PNMは、2つの技術、すなわち、入れ子式マーク付けと確率的入れ子式マーク付けとを含む。入れ子式マーク付けは、基本的な機構である。入れ子式マーク付けは、シンクがパケットを1つだけ用いて確実にスパイまで逆探知できるようにする。しかしながら、入れ子式マーク付けは、各々の転送ノードがパケットにマークを付ける必要があるため、メッセージ・オーバーヘッドが大きくなるという欠点を有する。大きなセンサ・ネットワークにおいては、これは非効率となる可能性がある。
【0058】
その後、メッセージ・オーバーヘッドを多数のパケットにわたって分散させるために、確率的マーク付けが用いられる。各々の転送ノードは、一定の確率でマークを付ける。したがって、パケットは、ほんの僅かなマークのみを搬送し、パケットあたりのオーバーヘッドが大きく低減される。これは、メッセージ・オーバーヘッドをより小さくするために検出力を犠牲にする。シンクは、スパイを特定するために多数のパケットを必要とする場合があり、このことは、スパイが重大な損害を引き起こす前に特定される限り、合理的なことである。
【0059】
基本的な入れ子式マーク付け:パケット・マーク付け:各々の転送ノードViは、シンクと共有する秘密鍵kiを用いて、そのIDi及び安全なMACをパケットに付加する。MACは、ViがVi−1から受信したメッセージ全体を保護する。すなわち、MACi=Hki(Mi−1|i)である。例として、近傍のノードによって送信されるメッセージは、
S→V1:M
V1→V2:M1=M|1|Hk1(M|1)
V2→V3:M2=M1|2|Hk2(M|2)...
Vi→Vi+1:Mi=Mi|i|Hki(Mi−1|i)
である。
【0060】
各々のホップにおいて、IDiは、ルート上にノードiが存在することを示し、MAC Hki(Mi−1|i)は、メッセージMiを送信するのが確かにノードiであり、ノードが受信したのがMi−1であったことを、シンクに対して証明する。Viによって加えられたMACは、自分自身のIDだけでなく前のホップからのメッセージ全体を保護することが理解できる。これが、入れ子式マーク付けの名前の由来である。MACは、前のすべてのノードのID及びMAC並びにそれらの相対的順序を保護する。前のID、MAC、又はそれらの順序のいずれかが改ざんされることによって、MACが無効になる。
【0061】
以下では、入れ子式マーク付けが安全な逆探知のために必要かつ十分であることを示すために、形式的セキュリティ分析を用いる。すなわち、入れ子式マーク付けはすべての共謀攻撃に耐えることができるが、より簡単な設計はいずれも耐えることができない。例えば、拡張されたAMSにおいては、元のメッセージM及びViのIDのみが保護されるが、Mi−1における前のマークへのマーク結合は保護されない。これが、マークが個別に操作されたときにはAMSが役に立たない理由である。
【0062】
逆探知:パケットMnを受信した後で、シンクは、入れ子式マークの過去を検証する。シンクは、まず最後のホップnのIDを取得し、対応する鍵knを用いて最後のMAC MACnを検証する。MACnが正しい場合には、シンクは、前のホップn−1のIDを取得し、MACn−1を検証する。シンクは、すべてのMACが正しいことを検証するか、又は、不正なMACxを見つけるまで、このプロセスを続ける。スパイ(ソース又は転送のいずれか)は、検証された最後のMACを持つノードの近傍1ホップ以内(このノード自身を含む)で探知される。
【0063】
例えば、図3において、スパイXがノード41のマークを変えた場合には、ノード41、42及び43からのマークがすべて無効になる。Xがマークを残さなかったとき又は無効なマークを残したときには、逆探知はノード45で止まり、スパイ(X)はこの停止ノードの近傍1ホップ以内にあり、Xが有効なマークを残したときには、逆探知はノードXで止まり、スパイはこの停止ノードである。
【0064】
確率的入れ子式マーク付け:確率的入れ子式マーク付けは、各々の転送ノードが小さい確率pでパケットをマークするようにする。したがって、nノードの転送パス上で、メッセージは、平均してnp個のマークを搬送する。確率pは、np個のマークのオーバーヘッドが許容可能となるように調整することができる。
【0065】
不正な拡張:確率的マーク付けへの拡張は、一見して単純なように見える。しかしながら、それは容易なことではないことが分かる。各々のノードが確率pでマークするようにすること(以下参照)だけでは、逆探知を無実のノードに導く可能性がある選択的ドロッピング攻撃を受けやすい。
S→V1:M
V1→V2(確率p):M1=M|1|Hk1(M|1)
V2→V3(確率1−p):M2=M1|2|Hk2(M|2)...
Vi→Vi+1(確率p):Mi=Mi−1|i|Hki(Mi−1|i)
Vi→Vi+1(確率1−p):Mi=Mi−1 (1)
【0066】
図3の例を考える。IDリストはプレーン・テキストであるため、共謀スパイXは、V1、V2、V3のうちのどれがパケットをマーク付けしたか知ることができる。スパイXは、V1のマークを含むすべてのパケットをドロップし、V2、V3からのSマークを持つものだけを転送することができる。シンクが逆探知したときには、逆探知は、近傍の1ホップがいずれのスパイも含まないV2で止まることになる。実際には、Xは、逆探知を自分自身とソース・スパイとの間のいずれかの無実ノードに導くことができる。
【0067】
確率的マーク付けにおいては各々のパケットが転送パス上のノードの部分的な「サンプル」のみを搬送するため、この攻撃が機能する。プレーン・テキストIDであるため、スパイは、特定の「サンプル」を選択的に渡して、シンクが、Xの上流ノードの1つで終わる部分的なパスのみを知るようにする。本発明の原理に係る基本的な入れ子式マーク付け(決定論的マーク付け)においては、すべてのパケットが完全なパスを構成するマークを搬送するため、この攻撃は適用されない。選択的ドロッピングのための部分的な「サンプル」は存在しない。
【0068】
選択的ドロッピング攻撃に打ち勝つために、転送ノードは、他のノードのどれがパケットをマーク付けしたか伝えることができないことが望ましい。この方法では、共謀スパイは、どのパケットをドロップするかを知ることができない。しかしながら、シンクは依然として、マークを検証するためにどれがマークを残したかを知る必要がある。以下の説明においては、問題を解決するために、すべての秘密鍵に関する付加的な情報と十分な計算リソースとを与えるシンクの非対称性が利用される。
【0069】
確率的入れ子式マーク付け:正当なノードViは、自分の真のIDiを用いる代わりに、匿名IDi’をパケットに用いる。真のIDiから匿名IDi’へのマッピングは、Viとシンクのみが知っている秘密鍵kiによって決まる。共謀スパイは、障害を受けていないViからのkiの知識を所有しておらず、したがって、共謀スパイは、匿名IDから真のIDを推論することはできない。
【0070】
S→V1:M
V1→V2(確率p):M1=M|1’|Hk1(M|1’)、1’=H’k1(M|1)
V1→V2(確率1−p):M1=M...
Vi→Vi+1(確率p):Mi=Mi−1|i’|Hki(Mi−1|i’)、i’=H’ki(M|i)
Vi→Vi+1(確率1−p):Mi=Mi−1 (2)
【0071】
上記において、H’( )は、匿名IDを計算する別の安全な一方向関数である。匿名ID i’は、Viが転送する各々の個別のメッセージについて変化するように、Mに結合される。(冗長なコピーとみなされてドロップされることを防ぐために、ソース・スパイによって偽造されるレポートは、異なる内容を有するべきであることを思い出されたい。) これによって、攻撃者が時間とともに蓄積することができる静的マッピングが防止される。拡張AMSと比べて、確率的入れ子式マーク付けは、入れ子式マーク付けと匿名IDとの両方を有する。
【0072】
マーク検証:匿名IDを用いると、シンクにおける検証は異なるものとなる。シンクは、最初に真のIDを知ることが必要であり、次に対応する秘密鍵を用いてMACを検証することができる。シンクの十分な計算力を利用して、真のIDを見つけるために全数検索を用いることができる。
【0073】
ノードVnからMnを受信した後で、シンクは、最初に、ネットワークにおけるあらゆるノードについてのすべての匿名IDを計算する。Mを知っていれば、シンクは、すべてのID iをi’にマップするためのテーブルを構築することができる。i’を参照することによって、シンクは、真のID iを知る。次に、シンクは、対応する鍵kiを用いてMACを検証することができる。このようにして、シンクは、すべてのMACを一つずつ検証することができる。シンクの計算力と、センサ・ネットワークにおけるデータ速度の低さとを前提とすれば、全数検索は実現可能である。シンクは、各々の個別のメッセージMについて、参照を行うために異なるテーブルを計算する必要がある。マイクロ秒レベルでハッシュ値の計算を行うことができる(例えば、1.6G CPUであれば毎秒250万回のハッシュ値計算を行うことができる)とすれば、相当に大きなネットワーク(例えば数千ノード)についてこうしたテーブルを構築することは、数ミリ秒のオーダーで行われるべきである。したがって、シンクは、毎秒数百以上のパケットを検証することができる。シンクは、一度に1つのセンサから受信するため、入力するデータ速度は、センサの無線速度によって制限される。数百パケットというのは、すでに、典型的なセンサ・ハードウェア上の現在の実効データ速度より大きい(例えば、Mica2 モートについては12kbpsであり、毎秒100パケットを下回る)。
【0074】
逆探知:スパイを探知することは、2ステップのプロセスとなる。まず、シンクは、十分な数のパケットからマークを収集することによって、ルートを再構成する必要がある(分析されるノードの数は後述される)。次に、シンクは、どのノードがそれらの近傍1ホップ以内にスパイを有するかを特定する。確率的マーク付けが用いられる場合にシンクがどのようにスパイを探知することができるかを示す例示的な方法1が、以下の擬似コードで提供される。
【0075】
【表2】
【0076】
【表3】
【0077】
図4を参照すると、ブロック/フロー図は、一実施形態によりスパイを探知するためのシステム/方法を示す。ルートは、転送パス内のノードの相対的順序(どのノードがどのノードの上流にあるか)を見つけることによって再構成することができる。ブロック110において、ルートは、その上流ノードのすべてを決定することによって再構成される。相対的順序を保持するために、マトリクスMが用いられる。マトリクスは、最初は空である。新しいノードViについて正しいMACが検証されたときに、ブロック112において、Viに対応するもう1つの行ともう1つの列とがマトリクスに加えられる。1つのパケット内の連続する2つのMACであるMACi、MACjが正しいことが検証されたときはいつでも、ViはVjの上流であり、ブロック114のマトリクスにおいてM[i,j]がこの関係を記録する(例えば、i,jは1に設定される。−1はVjがViの上流にあることを意味し、0は未定である)。転送パス上には2つ以上のノードが存在するため、多数のノードが、コイン投げの要領で確率pでパケットをマーク付けすることができる(式2を参照されたい)。これらのノードは、パス上の連続セグメントではない場合があり、転送パス上でバラバラに位置する可能性がある。シンクは、より多くのパケットを受信するのにしたがって、このマトリクスを更新し続ける。十分なパケットを前提とすると、シンクは、すべての転送ノード間の上流の関係、すなわち完全なルートを見つけ出すことができる。
【0078】
シンクは、2つのタイプのルート、すなわち、ループを有しないルート又はループを有するルートを再構成することができる。第1のタイプは、スパイが識別情報スワッピング以外の攻撃を用いたときに発生し、後者は、スパイがマークを残すために識別情報をスワップしたときに発生する。最初のケースでは、スパイを探知することは、最も上流のノードを見つけることと等価である。ソース・スパイは、自分自身でパケットを生成するため、他からパケットを受信せず、最も上流のノードとなることができる。転送スパイが、その上流のノードによって残されたマークを除去した場合には、転送スパイは、最も上流であるように「見える」ことがある。いずれの場合においても、ソース・スパイ又は転送スパイは、最も上流のノードの近傍1ホップ以内にある。
【0079】
スパイは、識別情報スワッピングを用いてループを作成することもでき(図5参照)、この場合には「最も」上流のノードは存在しない。
【0080】
図5を参照すると、S及びXは、互いの鍵を用いていくつかのパケットについて有効なマークを残し、シンクがノード間の上流関係を再構成するときにSとX(これらのノードを含む)の間のすべてのノードを含むループを生じさせることができる。シンクは、依然として、ループのリンクが破れた場所まで逆探知し、その近傍内のスパイを特定することができる。
【0081】
ソース・スパイS及び転送スパイXは、いくつかのパケットについては互いの鍵を用い、他のいくつかのパケットについては自分自身の鍵を用いて、有効なマークを残すことができる。シンクは、いくつかのパケットについてはXの前にSが現れ、他のパケットについてはXの後にSが現れることを見つけることになる。シンクはまた、SとXの間のすべてのノード(SとXを含む)がループ130を形成することも見つけることになる。こうしたループにおけるいずれか2つのノードU、Vについて、UはVの上流と下流の両方に現れる。
【0082】
しかしながら、この異常は容易に特定することができ、すなわち、シンクは、残りのノードがループからシンク自体にラインを形成していることを見つけることができる。スパイは、このラインにおける最も上流のノードの近傍1ホップ以内で(すなわち、ループがラインと交差する場所で)探知される。
【0083】
セキュリティ分析:PNMのセキュリティ強度を代替的なマーク付けスキームと比較する。この分析によって、入れ子式マーク付けが正確であり必要とされることが示される。PNMは、共謀攻撃にもかかわらずスパイを近傍領域の1ホップ以内まで突き止めることができるが、より簡単な設計はいずれも特定の攻撃の下では失敗している。シンクが、時間の経過と共に十分な数のパケットを受信するのにしたがって、確率的入れ子式マーク付けは、近傍領域の1ホップ以内のスパイを漸近的に突き止めることができる。
【0084】
入れ子式マーク付けのセキュリティ:マーク付けスキームについての2つの特性、すなわち、1ホップ精度及び連続トレース可能性を最初に定義し、次に、それらが等価であることを証明する。次に、本発明者らの基本的な入れ子式マーク付けスキームの連続トレース可能性を示すことによって、それが1ホップ精度であることを証明する。
【0085】
定義1(1ホップ精度):ソース・ノード又は共謀スパイのいずれかの近傍1ホップまで常に辿ることができる場合には、マーク付けスキームは、逆探知において1ホップ精度を有する。
【0086】
定義2(連続トレース可能性):転送パス上の連続する2つの正当ノードU及びVを考える(すなわち、Vは、Uからメッセージを受け取り、次にそれらを転送する)。連続トレース可能マーク付けスキームを用いれば、シンクがVまで辿った場合には、シンクは常にさらにUを辿ることができる。
【0087】
定理1:マーク付けスキームは、それが連続トレース可能である場合に限り、1ホップ精度である。
【0088】
十分性の証明:逆探知がノードVで止まり、ノードVが有効なMACを有する(転送の逆の順序の)最後のノードであるとする。Vは、転送パス上にはない正当ノードである可能性はなく、これは、そうしたノードはこれらのノードが転送しないメッセージについてMACを生成せず、攻撃者はそれらの秘密鍵を知らないためである。したがって、Vは、スパイであるか、又は、転送パス上の正当ノードであるかのいずれかである。Vがスパイである場合には、十分性が保たれる。次に、Vが正当な転送ノードである場合を考える。
【0089】
UがVの前のホップである、すなわち、VがUからメッセージを受信するものとする。以下の2つの可能性、すなわち、Uが(ソース又は共謀)スパイであるか又はUが正当ノードであるかの2つの可能性のみが存在する。第1の場合には、VがスパイUの近傍にあるため、十分性が保たれる。一方、連続トレーサビリティの定義によって、逆探知はUに進み、Vでは止まらない。したがって、第2の場合は発生することはない。これで十分性の証明が終わる。
【0090】
次に、矛盾によって必要性を証明する。マーク付けスキームは連続トレース可能ではないとする。すなわち、シンクが、正当ノードVまで辿るが、その前の正当ノードUに進むことはできない場合が存在する。したがって、逆探知は、Vで止まり、必ずしもソース又は共謀スパイの近傍である必要はない。定義によれば、このスキームは1ホップ精度ではない。
【0091】
図6を参照すると、転送パス上に2つのカテゴリのノードが存在する。カテゴリ1は、スパイと、それらのすぐ次のホップであり、カテゴリ2は、正当な近傍ホップを直前に有する正当ノードである。連続トレース可能性のため、逆探知は、カテゴリ2では止まることができない。カテゴリ3のノード(転送パス上にない正当ノード)については、それらのノードは、自分が転送しないメッセージについてマークを残さない。したがって、逆探知は、カテゴリ1のノード内でのみ止まることができる。
【0092】
1ホップ精度は、逆探知が第1のカテゴリ内で止まることを意味し、連続トレース可能性は、逆探知が第2のカテゴリ内で止まることができない、すなわち、第1のカテゴリ内で止まらなければならないことを意味する。
【0093】
定理2:入れ子式マーク付けスキームは、連続トレース可能である。
証明:連続する2つの正当転送ノードU及びVを考える。Muは、UがVに送信するメッセージであり、Vは、Mu|V|Hkν(Mu|V)を次のホップに送信するものとする。シンクがVを辿ったと仮定する。これは、Vが、メッセージM’u|V|MAC’V内に検証されたMAC’Vを有するべきであり、再計算されたMAC(Hkν(M’u|V))が、含まれるMAC’Vと同一であることを発見したことを意味する。攻撃者はkvを知らないため、MAC’Vは、Vによって生成されたMACVでなければならない。したがって、M’u及びMuは、同一でなければならず、そうでなければ、再計算されたMACは、Vによって生成されたものと一致しないことになる。Muは正当ノードUによって送信されるため、Muにおける最後のマークは、Uから正当なMACを搬送しなければならない。したがって、このMACを検証することによって、シンクはさらにUをトレースすることができる。
【0094】
結論(corollary)1:入れ子式マーク付けスキームは1ホップ精度である。
【0095】
入れ子式マーク付けの必要性:
定理3:入れ子式マーク付けより少ないフィールドを保護するマーク付けスキームはいずれも、連続トレース可能ではない。
証明:入れ子式マーク付けにおいては、ノードのMACは、自分自身のIDと、前のホップから受信したメッセージ全体との両方を保護する。ここで、MACが入れ子式MACより少ないフィールドを保護するもう1つのマーク付けスキームrを考える。ID又はMACが後のすべてのノードによって完全には保護されないノードAが存在しなければならず、そうでなければ、rは入れ子式マーク付けスキームとなる。
【0096】
図7を参照すると、Xは、Vによって保護されないAのマークにおけるビットを変更する。したがって、Vのマークは依然として正しいが、Uのマークは正しくない。次に、シンクはVまで逆探知するが、さらにUを辿ることはできない。Uが、AのID及びMACを完全に保護する最後のノードであり、VがUの次のホップであるとする(図7を参照されたい)。すなわち、VのMACによって保護されないいくつかのビットがAのマークに存在する。Vの後の下流にある1つのスパイを考える。スパイは、レポートを適切にマーク付けし、VのMACによって保護されないAのマークのビットを変更する。この場合においては、Vの後における(Vを含む)すべてのノードのMACは正しく、したがって、シンクは、Vを辿ることができる。しかしながら、Aのマークはスパイによって改ざんされるため、UのMACは無効であるように見え、したがって、シンクはさらにUを辿ることはできない。言い換えれば、rは連続トレース可能ではない。
【0097】
結論2:入れ子式マーク付けより少ないフィールドを保護するマーク付けスキームはいずれも1ホップ精度ではない。
【0098】
確率的入れ子式マーク付けのセキュリティ:
定理4:確率的入れ子式マーク付けは漸近的に1ホップ精度である。
証明:シンクがノード間の上流関係を再構成するときに、ループが存在しないか又はループが存在するかのいずれかの2つの可能な場合が存在する。ループが存在しないときには、証明は定理2の証明と同様である。転送パス上の連続する2つの正当ノードU、Vを考える。確率的マーク付けであるため、これらの2つのノードはいずれも、常にパケットにマークを残すわけではない。しかしながら、十分な数のパケットがあれば、それらがいずれも同じパケットにマークを残さない確率(1−p)2nは、パケットの数nが増加するにつれて徐々に小さくなる。漸近的に、U、Vがいずれもマークを残すパケットが存在することになる。転送スパイは、そうしたパケットをドロップすることができる場合もある。しかしながら、匿名IDを用いるため、転送スパイは、すべてのそうしたパケットを常に正しく推測し、ドロップすることはできない。漸近的に、シンクは、UとVの両方からマークを持つパケットを受信することになる。定理2の同様の推論によれば、シンクは、Vまで辿ると、さらにUを辿ることができる。したがって、逆探知は、Vでは止まらない。そのため、逆探知は最も上流のノードで止まることになり、そのノードは、その近傍1ホップ以内(このノード自体を含む)にスパイを有する。
【0099】
ループが存在するときに、ループとラインとの接合点(ノードX)(図5を参照されたい)が、その近傍1ホップ以内(このノード自体を含む)にスパイを有することを矛盾によって証明する。この近傍1ホップ以内のすべての4つのノード(X、S、A、B)が正当ノードであると仮定する。パケットは、XからAに向かってシンクに到着するため、Aは、Xの転送パス上の次の近傍ホップでなければならない。ループもまたノード間の上流関係を表すため、Xは、ループ上のその近傍ホップの1つ(S又はB)にもパケットを転送しなければならない。したがって、Xは、その転送パス上に2つの次の近傍ホップを有する。しかしながら、ルートが安定しているときには、正当ノードはいずれも、その転送パス上に唯一の次の近傍ホップを有するべきである。したがって、これらの4つのノードはすべてが正当ノードとなることはできず、それらの1つはスパイでなければならない。
【0100】
この証明の背景として、ループがラインに接続する場所の辺りでは何らかの異常な挙動が存在するに違いないという洞察がある。正当ノードについて、それらは、ルートが安定であるときにはループを形成しない。したがって、そうした異常な挙動は、スパイの存在によってのみ説明することができる。基本的な入れ子式マーク付けにおいては、スパイは、識別情報スワッピング攻撃を開始することができるが、すべてのノードが各々のパケットにマークを残すため、シンクは、上流関係を通じて逆探知する必要はなく、常に直接スパイまで逆探知できることに注意されたい。
【0101】
性能評価:
シンクが各々の転送ノードV1、...Vnからの少なくとも1つのマークを収集するのに必要なパケットの数Nを分析する。これがLパケット以内で行われる確率P(N≦L)=(1−1−p)L)nを計算することができる。
【0102】
図8を参照すると、グラフは、n個のノードからの少なくとも1つのマークがxパケット以内で収集される確率を示す。パケットが搬送するマークの平均数npは3に固定される。10個のノードを含むパスについて、13パケットを受信した後でシンクがすべてのマークを収集する確率は約90%である。20ホップ及び30ホップのパスについて90%の信頼度を達成するためには、それぞれ33パケット及び54パケットを要する。この結果は、エネルギー及び帯域幅リソースの消費が少ない比較的少数のパケットの後で、シンクがすべてのノードからマークを収集することを示している。
【0103】
シミュレーション結果:
図9を参照すると、分析を検証し、分析するのが難しい指標(metrics)をさらに評価するために、シミュレーションを実行した。パケットが平均で3つのマークを搬送するように、異なるパス長さnに対して確率pが調整されている。分析結果を最初に検証した。ノードの数nを10、20、30に設定した。各々の実行においてソースから200パケットが生成され、5000回の実行にわって結果を平均した。図9には、シンクがxパケットを受信した後ですべてのノードからマークが収集される確率が示される。この結果は、図8の分析結果と非常に良く一致する。
【0104】
図10は、xパケットの後でシンクによってマークが収集されたノードの割合を示す。10個のノードが存在するときに、平均して9個のノードのマークを7パケット以内で受信することができる。20個及び30個のノードのパスについて、90%のノードからマークを収集するために約14パケット及び22パケットを要する。シンクは、数ダースのパケット以内で、どのノードが転送ノードであるかを知る。
【0105】
確率的マーク付け(方法1)におけるルート再構成アルゴリズムの性能も評価した。
図11は、40ノードのパスにおいて実行された場合に、より多くのパケットが受信されるにつれて、候補となるソースの組がどのように変化するかを示すものであり、ノード0はソース・スパイである。当初、候補リストにはノードSがある。より多くのマークが受信されるにつれて、部分的なパスの始めにおける新しいノード8、11、9、18が加えられる。それらの上流のノードが後で発見された際には、それらはリストから除外される。真のソース0は、21番目のパケット上で加えられる。80番目のパケットの後で、0以外の候補ノードは組に残っていない。候補の組が長時間にわたって変化しないままとなったときに、シンクは、スパイを明確に特定することができる。
【0106】
十分な数のパケットがなければ、シンクは、候補となるソースの組を減らして明確に真のスパイのみにすることはできない場合がある。どれほど多くのパケットが必要であるかを試験するために、シンクが受信するパケットの数を200、400、600及び800に変化させた。各々のトラフィック量について、5から50まで10の異なるパス長さの各々にわたって100回のシミュレーションを実行した。シンクがソースを明確に特定しない回数を得た。
【0107】
図12は、4つの異なるトラフィック量について、失敗した実行の回数を全パス長の関数として示す。パス長が20個までの場合には200パケットで十分であることが理解できる。方法1は、各々の実行においてソースをほぼ必ず明確に特定し、パスが30個までの場合には400パケットで十分である。非常に長いパス(例えば50個のノード)の場合のみ、失敗の頻度を5%より低く低減させるのに多数のパケット(例えば800)が必要である。
【0108】
ソースを明確に特定するのにシンクが受信すべきパケット数の平均を測定するために、トラフィック量として800を選択する。図13は、ソースを特定するのに成功したすべての実行全体にわたって、全パス長の関数としての結果を示す。20より小さいパス長の場合には、ソースを明確に特定するために、平均して約55パケットを要する。これは、図9の結果と概ね一致し、55パケットがあれば、シンクが、20個のノードのすべてからマークを収集する確率が99%以上である。40個のノードのような長いパスの場合でも、シンクは、約220パケットの後でソースを明確に特定することができる。この結果によって、PNMはスパイが有効な偽データ注入攻撃を開始するのをほぼ防止すること、すなわち、スパイがネットワークに十分な損害を引き起こす前にそれらが突き止められることが実証される。
【0109】
逆探知精度:PNMは、1つのノードとその近傍1ホップとを含む近傍1ホップまでスパイを逆探知することができる。それらの1つは、ソース・スパイ又は転送スパイのいずれかである。ソース・スパイが、レポートを注入するときに異なる識別情報を主張する可能性があるため、精度は単一のノードではない。その次の近傍ホップは、どの識別情報が真であるかを伝えることができない。PNMは、機能するために近傍ホップ間のペアワイズ鍵を必要としない。しかしながら、ペアワイズ鍵の存在は、逆探知精度の改善に役立つことがある。
【0110】
PNMは、一度に1つのスパイを逆探知する。予想されるのは、いくつかのスパイを分離機構がPNMと一緒に機能することである。その機構は、各ラウンドで特定されたスパイを分離するものである。したがって、時間の経過と共に、これらのスパイはネットワークから一つずつ分離される。
【0111】
ルーティング動態の影響:スパイ探知アルゴリズムは、ルートが比較的安定であるときに良好に機能する。スパイは通常、短時間に大量のトラフィックを注入して損害を最大にするため、十分なパケットの収集にはあまり多くの時間を必要としない。例えば、スパイが最大無線速度で注入する場合には、シンクは、10秒以内で、40ホップ離れたスパイを探知するのに十分な約300パケットを収集することができる。ルートは、この短い時間の間は安定なままである可能性が非常に高い。
【0112】
レポートの再現:ソース・モールは、同じ内容のレポートを何度も再現することができ、したがって、真のIDと匿名IDと間のマッピングは、各々の転送ノードについて固定されたままとなる。共謀スパイは、時間の経過と共にそうしたマッピングを蓄積することができるが、こうした攻撃は、冗長メッセージの局所的抑制によって容易に阻止することができる。転送ノードは、同じ内容のレポートを簡単にドロップすることができる。これは、最近遭遇したメッセージの内容(すなわち、イベント、位置及びタイムスタンプ)の署名(例えば、ハッシュ結果)を保持し、受信した署名をそれらと比較することによって行うことができる。
【0113】
ソース・スパイは、レポートする真のソース・ノードからの正当レポートを再現することもできる。レポート内容は、依然として正しい情報を提示する。そうしたメッセージを検出してドロップするために、同じ局所的抑制を用いることができる。他の技術も存在する。それらの1つは、各々のノードが送信又は転送する各々のメッセージについて増加する連続番号を各々のノードに保持させることであり、各々のメッセージは、マークの一部として連続番号を含み、MACを用いて連続番号を保護する。シンクは、再現されたパケットが同じ連続番号を有することを検出することができる。この技術は上記で説明されたものである。
【0114】
ノードは異なる鍵を用いるため、2つの異なるノードの匿名IDは衝突する場合がある(例えば、H’ki(Mu|i)=H’kj(Mu|j))。暗号化サウンド・ハッシュ関数は、こうした衝突を最小にすることができ、すなわち、衝突が発生したときに、シンクは、そうしたパケットを検証から簡単に除外することができる。PNMにおいては、スパイは、指示されたよりも多くの偽装マークを挿入するか又は高い確率を用いることによって、より高いパケットあたりのオーバーヘッドを負わせることができる。しかしながら、これは、効率を若干低下させるだけであり、シンクは依然としてスパイまで逆探知することができる。
【0115】
すべてが攻撃トラフィックを送信する多数のソース・スパイが存在することもある。基本的な入れ子式マーク付けは、パス上のすべての転送ノードのマーク付けによって、依然としてそれらのソース・スパイを特定することができる。これらの多数のソース・スパイの転送パスがバラバラであるときには、PNMは、異なるパスを個々に構成し、スパイを探知することができる。これらのスパイはまた、それらの識別情報をスワップしてループを作成するが、この場合もシンクをこれらのループとリンクさせる直線ラインを用いて、これらのスパイを一つずつ特定することができる。
【0116】
図14を参照すると、ブロック/フロー図は、無線ネットワークにおける逆探知のためのシステム/方法を示す。ブロック202において、ノードのネットワークにおいて各々のノードが識別番号(ID)(必要に応じて、図2において前述された連続番号)を付与され、それを保持する。ブロック204において、一実施形態として、その(真の)IDは、必要に応じて、現在のノード及びシンクによって知られた鍵を用いて又は他の手段によって、そのIDからの匿名IDにマッピングされる。匿名IDのマッピングは、現在のパケットのメッセージを用いて各々の転送されたメッセージについて匿名IDを変えることを含む。マッピングは、パケットの内容を用いて各々のメッセージについてマッピングが変わるようにすべきである。これにより、攻撃者が学習することによって蓄積することができる静的マッピングが防止される。PNMの実施形態においてはこれが好ましい。ブロック206において、ノードとシンクとの間で共有される秘密鍵を用いて、署名を、例えばメッセージ検証コード(MAC)を、計算するか又は他の方法で求める。MACは、転送パスを通過する各々のパケットについて求められる。ブロック208において、MACを生成するために、鍵に従って前のノードからのパケット又はメッセージのハッシュ値を計算することができる。MACは、パケット内の受信メッセージのハッシュ化バージョンを含むことができる。IDは、転送パス内にノードが存在することを示し、MACは、ノードがIDと関連付けられたパケットを送信したことを証明する。
【0117】
ブロック209において、パケットがマーク付けされる。ハッシュ化バージョンは、パケットをマーク付けすることを考慮することができ、マーク付けされたパケットは、転送パスを通してノードの順序を与えるために後で用いられる。パケットあたりのオーバーヘッドを低減させるために、各々の転送ノードにおいて確率的にマーク付けを行うことができる。パケットに常にマークを付ける代わりに、転送ノードは、パケットを確率pでマーク付けする。転送ノードは、通常通りその匿名ID及びMACを加える。転送ノードは、確率1−pで何も行わず、単にパケットを次のホップに転送する。次のホップは、同じ確率pを用いて、マークを加えるか又は単にパケットをそのまま渡し続けるかを決定する。マーク付けの変化型として、すべてのノードがマークを付ける基本的な決定論的マーク付けと、すべてのノードが一定の確率でマークを付ける確率的マーク付けがある。
【0118】
ブロック210において、パケットは、転送パスを通ってシンクで受信される。ブロック211において、シンクは、十分な数のパケットについてのマークに基づいて、ノードの順序を再構成する。
【0119】
シンクで各々のパケットが受信されると、転送パスの各々のノードを遡ってMACの正当性が検証される。転送パス内の最後の有効MACを用いて、偽データ注入ソースを求めるか、又は、パス全体が検証された(例えば、偽データ注入ソースがない)ことを判断する。これは、ブロック214において最後のホップ・ノードについてIDを取得し、ブロック216において最後のホップ・ノードについてMACを計算し、ブロック218において最後のホップ・ノードについてMACを検証し、ブロック220において最後の有効MACが求められるまで繰り返すことを含むことができる。ブロック216及び218は、連続番号を検証するために、図2で説明されたスライディング・ウィンドウを用いることができる。一実施形態においては、ブロック213で、MACを検証する前に、転送パス内のノード(又はすべてのノード)について匿名IDから真のIDが求められる。
【0120】
ブロック222において、最後の有効MACは、1ホップ以内のスパイの位置を示す。PNMにおいては、ルート再構成(例えば図4を参照されたい)を実行してスパイを探知することができる。基本的な決定論的マーク付け手法の場合には、図4のルート再構成は不要である。ブロック224において、スパイは、転送パスにおいて突き止められ、転送パスから除去される。特に有用な実施形態においては、スパイは、転送パス内に複数の共謀スパイを含む。これらのスパイは、ソース・ノード又は転送ノードである場合があり、攻撃のタイプには、マーク挿入攻撃、マーク除去攻撃、マーク並べ替え攻撃、マーク変更攻撃、選択的ドロッピング攻撃、識別情報スワッピング攻撃又はその他の攻撃がある。本発明の原理によれば、スパイは、そのスパイの1ホップ以内で探知できるという利点がある。
【技術分野】
【0001】
本発明は、ネットワーク通信に関し、より詳細には、偽データ注入を特定し、防止するために、ネットワークにおいて逆探知するためのシステム及び方法に関する。
【背景技術】
【0002】
パケット逆探知は、パケットの真の起点と、ネットワーク内でパケットが横断したパスとを特定する技術である。パケット逆探知は、サービス妨害(DoS)攻撃の出現に対抗するために広く用いられており、サービス妨害(DoS)攻撃では、一般に攻撃パケットのソース・アドレスが、それらの識別情報を隠すために攻撃者によって「偽造(forge)」される。
【0003】
有線インターネットのための多くのIPパケット逆探知スキームが存在している。例えば、確率的パケット・マーク付け(PPM)スキームが提案されている。PPMスキームにおいては、ルータが、一定の確率で、そのルータが転送するパケット内の或る情報を「マーク付け」する。その情報は、ルータの識別情報又は2つの隣接するルータ間のリンクを伝達する。宛先は、異なるルータからのマークを収集した後で、パケットが横断したパスを再構成することができる。
【0004】
代数的な手法が提案されており、これは、パス情報が、パスに沿ったルータの識別情報によって係数が決定される多項式f(x)にエンコードされるものである。各々のパケットがサンプルxを搬送し、パスに沿ったすべてのルータが共同でf(x)を計算する。宛先は、十分な(x,f(x))値の対を収集した後で、係数を導出し、最終的にルータの識別情報を推論することができる。
【0005】
他の技術では、各々のルータが、以前に転送されたパケットを長期間にわたって記憶しておくことが必要である。宛先は、ルータが過去に1つのパケットを転送したかどうかをそれらのルータに問い合わせることによって、転送パスを再構成することができる。ルータは、帯域外逆探知メッセージを低い確率でソース又は宛先に送信することもある。これらのメッセージを収集することにより、宛先がパスを構成することが可能となる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
これらのスキームは、限られた脅威モデルの下で設計されたものであり、多くの用途で、例えば無線メッシュ及びセンサ・ネットワークでは、不十分なものとなる。これらの従来技術のほとんどは、中間ノード(ルータ)が障害を受けないことを想定している。これは、実際には、特にノードが物理的に取り込まれ障害を受けやすい無線メッシュ又はセンサ・ネットワークにおいては当てはまらないことがある。これらのスキームにおいては、障害を受けた単一の中間ノードでさえ、パケットの真の起点が特定されないようにすることができる。障害ノードは、マークを偽造し、恣意的で不正な起点まで逆探知するように犠牲者を欺くことさえある。
【0007】
さらに、多くのスキームは、加害者の位置を正確に突き止めるために、多数のパケットが収集されること、又は、中間ノードが大量の監査トレースを格納することを必要とする。これらは、インターネットでは問題とならないかもしれないが、帯域幅、エネルギー、及びストレージ・リソースが逼迫した無線メッシュ及びセンサ・ネットワークにおいては、実用上の厳しい障害に直面する可能性がある。
【課題を解決するための手段】
【0008】
ネットワークにおけるパケット逆探知のためのシステム及び方法は、ネットワーク内の各々のノードについて識別番号(ID)を保持することと、転送ノードとシンクとの間で共有される秘密鍵を用いて、決定論的方法又は確率的方法のいずれかで、各々の転送ノードにおいてパケットに加えられる署名、例えばメッセージ検証コード(MAC)を生成することとを含む。パケットを受信すると、シンクは、署名(MAC)が加えられた順序と逆の順序で、パケットの署名(MAC)の正当性を検証する。第1の無効な署名(MAC)は、偽造レポートを注入した障害ノード又は正当なパケットを改ざんした障害ノードを、オンザフライで明らかにする。
【0009】
ネットワークにおけるパケット逆探知のための方法は、ネットワーク内の各々のノードについて識別番号(ID)を保持することと、このノードとシンクとの間で共有される秘密鍵を用いて、各々の転送ノードにおいて署名を生成することと、シンクでパケットを受信したときに、署名が加えられた順序と逆の順序で、シンクによって各々のパケットの署名の正当性を検証することと、偽データ注入ソース及び/又は共謀する障害ノードの位置を求めるために、転送パスにおける署名有効性を判断することと、を含む。
【0010】
無線メッシュ又はセンサ・ネットワークにおけるパケット逆探知のための別の方法は、ネットワーク内の各々のノードについて真の識別番号(ID)を保持することと、現在のノード及びシンクのみに知られている秘密鍵に基づいて、真のIDから匿名IDを計算することと、少なくとも2つの確率で各々のパケットをマーク付けするために、転送パス内の各々のノードについて秘密鍵を用いてメッセージ検証コード(MAC)を生成することと、偽データ注入ソースを発見するために、ネットワーク内のノードについて匿名IDから真のIDを求め、各々のパケットに存在するマークを用いてノード・ルートを再構成し、転送パス内の最後の有効MACを求めるために、真のIDと秘密鍵とを用いて、転送パスの各々のノードを遡って各々のパケットのMACの正当性を検証することによって、パスを逆探知することと、を含む。
【0011】
これらの並びに他の特徴及び利点は、添付図面と併せて読まれることになる例示的な実施形態の以下の詳細な説明から、明らかとなるであろう。
本開示によって、添付図面を参照しながら以下の好ましい実施形態の説明において詳細が提示される。
【図面の簡単な説明】
【0012】
【図1】一実施形態に係る無線ネットワークにおけるノードの転送パスを示す図である。
【図2】受信したパケットの連続番号が許容限界内にあるかどうかを判断して、パケットが正当なものであること又は再現されたものであることを検証するための、現在未発行の連続番号の有界ウィンドウを示す図である。
【図3】本発明の原理に従って検出される共謀ソース及び転送スパイ(例えば、障害を受けたノード)を有する転送パスを含む例示的なネットワークを示す図である。
【図4】本発明の原理に従ってノード順序を再構成するための例示的な方法を示すブロック/フロー図である。
【図5】本発明の原理に従って検出可能な識別情報スワッピングによって作成されたループを示す図である。
【図6】ノードの3つのカテゴリを示す図である。
【図7】転送パス内の有効MACを持つ最後のノードを示す図である。
【図8】シンクがx個のパケットを受信した後でn個の転送ノードすべてからマークが収集される確率の分析結果を示すグラフである。
【図9】シンクがx個のパケットを受信した後でn個の転送ノードすべてからマークが収集される確率のシミュレーション結果を示すグラフである。
【図10】最初のx個のパケットでシンクによってマークが収集されたノードの平均数を示すグラフである。
【図11】40ノードのパスの場合に、候補ソースの組が時間の経過と共に変化することを示すグラフである。
【図12】100回の実行で、何回の実行がソースを明確に特定するのに失敗したかを全パス長の関数として示すグラフであり、200、400、600及び800の曲線は、各々の実行におけるパケット数に対応する。
【図13】ソースを明確に特定するのに必要な平均のパケット数を全パス長の関数として示すグラフであり、各々の実行において800個のパケットがシンクで受信される。
【図14】例示的な実施形態に係る逆探知及びスパイ位置特定のための例示的なシステム/方法を示すブロック/フロー図である。
【発明を実施するための形態】
【0013】
本発明の実施形態によれば、多数の共謀する加害者の存在の下で加害者ノードの位置を正確に突き止めることができるシステム及び方法が提供される。本発明の実施形態は、脅威がより深刻でリソースがより逼迫している無線メッシュ及びセンサ・ネットワークに特に適用可能である。従来技術とは対照的に、本発明の実施形態は、障害を受けたノードだけではなく障害を受けた転送ノードが存在する場合でも機能し、それらの位置を突き止める。これは、マークの偽造を防止するためにマークに認証符号を加えることにとどまるものではない。従来技術においては、多数の共謀する障害ノードは、無実のノードを辿るように依然として犠牲者をだます可能性がある。本発明の原理によれば、より少ないリソースを用いて回復力のある逆探知が達成され、単一パケットのみを用いて加害者への逆探知を達成することができる。
【0014】
多くの無線センサ・ネットワークは、潜在的に悪い環境又は敵意のある環境でも機能することが期待される。それらは無人で動作するため、敵が、センサ・ノードを物理的にピックアップして障害し、秘密鍵を含むそれらの格納データを入手するのは容易である。これらの障害を受けた「スパイ(moles)」は、種々のタイプの攻撃を開始することが可能であり、その重大なものの1つは偽データ注入である。1つの単一スパイが、大量の偽装トラフィック(bogus traffic)を注入してシンクを溢れさせ、アプリケーションの不具合を招き、転送パスに沿ったエネルギー及び帯域幅リソースを浪費する可能性がある。最近の研究によって、そうした偽装メッセージを途中で検出してドロップするための多くのスキームが提案されている。しかしながら、それらは、攻撃のダメージを緩和させるだけであるため、すべて受動的なものである。それらは、攻撃の根本原因に反撃して排除するための能動的な手段を提供するものではない。
【0015】
以下の説明は、能動的な反撃、すなわち、センサ・ネットワーク内のスパイを探知する方法に対応するものである。スパイの位置を知ることで、ネットワークからスパイを分離又は除去して、攻撃の根本原因を撲滅することができる。スパイを探知することは、重要な研究課題を提示する。第1に、ルータがより良好に保護され、エンド・ホストより相対的に信頼されているインターネットとは対照的に、センサ・ネットワーク内のすべてのセンサ・ノードは、敵によって等しくアクセス可能であり、一様に保護されていない。いずれのノードもパケットを転送することができ、相対的に信頼されている活用可能なルーティング・インフラストラクチャは存在しない。第2に、スパイは共謀することができる。スパイは、それらの秘密鍵を共有するだけでなく、それらの形跡を隠すように協働してパケットを操作することができる。そうした操作攻撃は、単に偽装トラフィックの量を増加させることよりはるかに高度である。インターネットのための既存のインターネット・プロトコル(IP)逆探知スキームは、そうした共謀するスパイを考慮しておらず、このような攻撃の下では効果のないものとなりつつある。
【0016】
特に有用な実施形態によれば、偽データ注入攻撃における共謀スパイを探知するための入れ子式マーク付け(nested marking)スキームが提示されている。パケット・マーク付けは、パケットの真の起点を推定するために用いられ、ノードは、転送するパケットに自分の識別情報をマーク付けする。こうしたマークを収集することによって、シンクは、ルートを推論し、したがってトラフィックの起点位置を推論することができる。パケット・マーク付けはインターネットで用いられてきたが、共謀するセンサ・スパイに対するその適用可能性は、本発明者らの知るところではまだ研究されていない。IP逆探知のための既存のマーク付けスキームは、ソースと自分自身の真の位置を隠すようにマークを改ざんするか又はさらにシンクに無実のノードまで辿らせる中間の共謀スパイによって、容易に破られる可能性がある。
【0017】
本発明の入れ子式マーク付けスキームは、単一パケットの逆探知をサポートする。各々の転送ノードは、パケットを入れ子式にマーク付けし、そのマークが前のすべての転送ノードのマークを保護するようにする。本発明の入れ子式マーク付けスキームは、共謀スパイがマークをどのように操作しても、マークが、ソースの位置又は自分自身の位置のいずれかを明らかにすることを保証する。
【0018】
センサ・ネットワーク内のスパイに対する事前対応型のセキュリティの必要性は、パケット・マーク付けの枠組み内で、スパイが開始することができる種々の共謀攻撃について検討される。パケット・マーク付けのセキュリティは、入れ子式マーク付けが必要かつ十分であることを含んでおり、すなわち、前のノードのマークの一部が保護されない場合(一見して明らかな多くの設計のように)には、共謀するスパイがソース及び自分自身の位置を隠すか又は無実のノードまで辿るようにシンクをだますことができる攻撃が存在する。本明細書では、分析的評価を通して入れ子式マーク付けの有効性が示される。
【0019】
本発明の原理による確率的入れ子式マーク付け(PNM)スキームは、2つの技術、すなわち入れ子式マーク付けと確率的マーク付けとを用いて、共謀するスパイに対する安全で効果的な逆探知を達成する。入れ子式マーク付けは、単一パケットの逆探知をサポートする。各々の転送ノードは、パケットを入れ子式にマーク付けして、そのマークがすべての前の転送ノードのマークを保護するようにする。入れ子式マーク付けは、共謀スパイがマークをどのように操作しても、マークが、ソースの位置又は自分自身の位置のいずれかを明らかにすることを保証する。確率的マーク付けは、センサの制約されたリソースに合うようにパケットあたりのオーバーヘッドを低減させる。各々のノードは、一定の確率でマークを残し、したがって、パケットはほんのわずかなマークを搬送する。新しいマークが既存のマークに置き換わるインターネット・マーク付けスキームとは異なり、新しいマークが単にパケットに付加される。
【0020】
本明細書においては、分析的評価と経験的評価との両方を通じてPNMの有効性及び効率が実証される。PNMは、約50パケット以内の高速で逆探知を行い、シンクは、最大で20ホップ離れたスパイを探知することができる。PNMは、スパイがかなりの量の攻撃トラフィックを注入することができる前にスパイが捕らえられることになるため、スパイが有効なデータ注入攻撃を開始するのを防止する。
【0021】
共謀攻撃に対して安全な確率的入れ子式マーク付け(PNM)のシステム及び方法が提供される。共謀スパイがマークをいかに操作しようと、PNMは、スパイを一つずつ探知することができる。入れ子式マーク付けは、共謀攻撃に対抗するのに必要かつ十分なものである。PNMはまた、例えば約50パケット以内の速い逆探知を行い、シンクから最大で20ホップ離れたスパイを見つけ出すことができる。これは、事実上あらゆる有効なデータ注入攻撃を防止するものであり、スパイは、大量の偽装トラフィックを注入する前に捕らえられることになる。
【0022】
本発明の実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、又は、ハードウェア要素とソフトウェア要素の両方を含む実施形態の形態をとることができる。好ましい実施形態においては、本発明は、ソフトウェアの形態で実装され、ソフトウェアは、ファームウェア、常駐ソフトウェア、マイクロコードなどを含む。
【0023】
さらに、本発明は、コンピュータ若しくはあらゆる命令実行システムによって又はそれらと組み合わせて用いられるプログラム・コードを提供するコンピュータ使用可能媒体又はコンピュータ可読媒体からアクセス可能なコンピュータ・プログラム製品の形態をとることができる。この説明の目的のために、コンピュータ使用可能媒体又はコンピュータ可読媒体は、命令実行システム、装置若しくはデバイスによって又はそれらと組み合わせて用いられるプログラムを含み、格納し、通信し、伝搬し、又は転送することができるあらゆる装置とすることができる。媒体は、電子システム、磁気システム、光学システム、電磁気システム、赤外線システム、若しくは半導体システム(又は装置若しくはデバイス)又は伝搬媒体とすることができる。コンピュータ可読媒体の例として、半導体メモリ又は固体メモリ、磁気テープ、リムーバブル・コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、剛性磁気ディスク及び光ディスクが挙げられる。光ディスクの現在の例として、コンパクト・ディスク−リード・オンリー・メモリ(CD−ROM)、コンパクト・ディスク−読み取り/書き込み(CD−R/W)及びDVDが揚げられる。
【0024】
プログラム・コードを格納及び/又は実行するのに適したデータ処理システムは、システム・バスを通じて直接的又は間接的にメモリ要素に結合される少なくとも1つのプロセッサを含むものとすることができる。メモリ要素は、プログラム・コードの実際の実行中に使用されるローカル・メモリと、バルク・ストレージと、実行中にバルク・ストレージからコードを取得する回数を減少させるために少なくとも幾つかのプログラム・コードを一時的に格納するキャッシュ・メモリとを含むことができる。入力/出力又はI/O装置(キーボード、ディスプレイ、ポインティング・デバイス等を含むが、これらに限定されない)は、直接的に又は中間のI/Oコントローラを通して、システムに結合することができる。
【0025】
中間のプライベート・ネットワーク又はパブリック・ネットワークを通して、データ処理システムを他のデータ処理システム又は遠隔のプリンタ若しくは記憶装置に結合することができるように、ネットワーク・アダプタをシステムに結合することもできる。モデム、ケーブル・モデム、及びイーサネット・カードは、現在利用可能なタイプのネットワーク・アダプタのうちのほんの一部に過ぎない。
【0026】
ここで、同様の番号が同じ又は類似の要素を表す図面を参照すると、まず図1において、ネットワーク10は複数のノード12を含む。転送パス14内には幾つかのノード12を配置することができる。各々のノード12は、シンク・ノード(シンク)と鍵(K)を共有し、単調に増加する連続番号を保持することができる。ソース・ノード(ソース)Aは、メッセージMを送出するときに、そのIDと連続番号を付加し、次に署名(例えばメッセージ検証コード)を計算する。ソースは、パケット全体を次のホップ・ノード1に送信し、自分の連続番号を増加させる。同様に、ノード1は、そのID及び連続番号、さらに別の署名をパケットに付加し、次にその結果を次のホップに渡し、自分の連続番号を増加させる。最終的に、パケットはシンク・ノード シンクに到着する。到着したパケットは、元のメッセージMだけでなく、ID、連続番号、及びパス上のすべてのノードの署名を含む。
【0027】
シンク・ノード シンクは、パケットのIDから、パケットが横断したように見えるクレーム・パス(claimed path)を知る。シンクは、このパスを最後のホップ・ノードから始まる逆の順序で検証する。パス上の各々のノードについて、シンクは、ノードと共有された鍵を用いて署名を再計算し、パケットの署名が正しいかどうかを検証する。シンクは、連続番号が有効であるかどうかも検証する。両方のチェックが成功した場合には、シンクは、前のホップの検証を続ける。最終的に、シンクは、すべての署名/連続番号を正しく検証した場合に停止するか、又は、最初の不正な署名/連続番号で停止する。加害者ノードは、シンクが検証を停止したノードの近傍1ホップ以内にある。
【0028】
署名を計算し、それらがメッセージを「たまねぎ」のようにレイヤ毎に(一度に一つのレイヤ)保護するため、検出されずに前のホップのメッセージを偽造又は修正することができるノードは無い。各々のパケットがホップ毎の連続番号を搬送するため、加害者は、検出されずに古い正当なトラフィックを再現(replay)することはできない。多数の共謀ノードが存在するときには、最初にパス上の最後の加害者の位置が発見され、次いで最後から2番目の加害者の位置が発見され、以下同様にして発見される。これらのノードが、偽装メッセージを注入し、マーク付けを操作し続ける限り、それらの位置は一つ一つ発見されることになる。対照的に、既存のソリューションは、障害を受けた中間ノードを扱わないか、又は、障害を受けた多数のノードが共謀したときには保護を失う。
【0029】
本発明の原理によれば、障害を受けた多数のノードによって開始された共謀攻撃に対して防衛するための回復力のある逆探知スキームが提供される。各々の転送ノードは、自分自身のマークとすべての前の転送ノードからのマークとを保護するために、署名を入れ子式で用いる。これによって、共謀ノードが存在する場合であっても、障害を受けた攻撃ノードの位置を逆探知することができる。一実施形態においては、決定論的マーク付けが用いられる。しかしながら、すべての転送ノードがパケットにマークを残すため、ネットワークのサイズが大きくなると、メッセージ及び通信オーバーヘッドが増大することになる。したがって、もう1つの実施形態においては、パケットあたりの通信オーバーヘッドを一定レベルに減少させ、共謀攻撃に対するセキュリティ防御を保つことができる、確率的入れ子式マーク付け(PNM)スキームが用いられる。
【0030】
PNMの実施形態においては、各々の転送ノードは、小さい確率pでパケットをマーク付けする。結果として、もう1つの入れ子式マーク付けスキームにおける単純なn個のマークとは対照的に、ノードの転送パス上で、1つのパケットが平均してn×p個のマークのみを搬送する。単純な拡張のように見えるが、それは2つの点でより複雑な結果となる。
【0031】
第1に、入れ子式マーク付けスキームへの上記の単純な確率的拡張によって、新しいセキュリティの抜け穴が開くことがある。それにより、パケットの選択的な組をドロップすることによって障害を受けた転送ノードが自分自身と真のソースとの間のいずれかの無実ノードに罪を被せることが可能な選択的ドロッピング攻撃を受けやすくなる。そうした選択的ドロッピング攻撃に打ち勝つために、匿名化技術を採用して、それらのマークにおけるノード識別情報を隠すことができる。
【0032】
第2に、各々のパケットは、完全なパスの部分的サンプリングのみを搬送することがある。宛先が少数の攻撃パケットを用いてパスを再構成するためのパス再構成方法が提供される。宛先は、再構成されたパスを用いて加害者ノードを特定することができる。
【0033】
本発明の原理は、従来のマーク付けスキームより強力な防御をもたらすことができる。本発明の実施形態は、形跡を隠蔽するように共謀する多数の障害ノードによって開始される、巧妙な選択的ドロッピング攻撃を含む種々の共謀攻撃に、耐えることができる。好ましい実施形態においては、通信オーバーヘッドが低減され、拡張性が向上するという利点があり、このことによって、中規模ネットワーク又は大規模のネットワークにも適用できるようになる。
【0034】
再び図1を参照し、Aがソースである、パスA−1−2...−Z−Z+1−...−シンクを考える。各々のノード12は、鍵Kをシンクと共有し、例えば、AはK_aを有し、2はK_2を有し、以下同様である。さらに、各々のノードは、ノードがこれまでに生成又は転送したパケットの数を記録する連続番号を保持する。連続番号は、最初にノード12が配置されたときにはゼロであり、ノード12がパケットを送出するたびに1だけ増加する。
【0035】
各々のノード12はまた、単調に増加するパケット連続番号を保持する。Aは、メッセージMを送信するときに、自分の識別情報及び連続番号を付加し、署名(例えば、鍵付きメッセージ検証コード(MAC))を計算し、次にパケットM全体を次のホップに送信する。各々のホップは同様に、パケットを次のホップに渡す前に、自分自身の識別情報、連続番号、及び署名を付加する。ノードAは、メッセージMを送信するときに、自分の識別情報Aと現在の連続番号(seqnum)を付加し、次にメッセージ全体を保護する署名を計算する、すなわち、H_ka(x)が鍵K_aを用いるxの署名の計算を示し、「|」が連結を示すとすると、
A→B: M_a=M|A|seqnum|H_ka(M|A|seqnum)
である。このパケット全体は、M_aと表記することができる。Aは、M_aを次のホップ1に送信し、次に自分の連続番号seqnumを増加させる。ノード1は、同様の操作を行い、以下のパケット、すなわち、
1→2: M_a|2|seqnum2|H_k2(M_a|2|seqnum2)
をノード2に送信し、以下同様である。
【0036】
一般に、パス上の連続する2つのノードZ、Z+1について、Zは、MZをZ+1に送信した後で、MZ+1、すなわち、
MZ+1=MZ|Z+1|seqnumZ+1|H_kZ+1(MZ|Z+1|seqnumZ+1)
を次のホップに送信する。シンクは、このようなメッセージを受信したときに、ノードIDから、パケットが横断したように見えるクレーム・パスを取得することができる。シンクは、最後のホップ・ノードから始まってパケットを付加した順序と逆の順序でこのパスを検証する。
【0037】
一般性を失うことなく、シンクがノードVを検証するケースを考える。シンクは、MZ|Z+1|seqnumZ+1|H_kZ+1(MZ|Z+1|seqnumZ+1)であるメッセージMZ+1を有する。ID Z+1を取得した後で、シンクは最初に、K_Z+1の知識を用いて署名が正しいかどうかをチェックする。次に、シンクは、連続番号seqnum Z+1が正しいかどうかを検証する。そのために、シンクは、各々のノードについての連続番号のスライディング・ウィンドウを保持する。これが決定論的マーク付けの実施形態である。
【0038】
図1に続いて図2を参照すると、各々のノード12について、現在のウィンドウ22は、上限(最大値)と下限(最小値)を有する。上限(最大値)は、このノードから受信した最大の連続番号であり、下限(最小値)は、このノードについて依然として有効な最小の連続番号である。ウィンドウ22は、順番どおりでない有効な連続番号のどれがまだ受信されていないかを保持する。各々のパケットは、ネットワーク内で存続する(live)最大の時間を有すると仮定され、この最大寿命(T_max)は、ウィンドウ22を更新するのに用いられる。
【0039】
最初にノード12が配置されたときには、最小値及び最大値はいずれも0である。シンクがこのノードから連続番号dを有するパケットを受信したときには、以下のような3つの可能性のあるケースが存在する。1)d<最小値:連続番号は、すでに終了しているため、無効である。2)最小値≦d≦最大値:dが以前に受信されていない場合には、dは有効であり、それが用いられていることを示すマークがdについて設定される。シンクはまた、最小値を、受信されていない次の最小の有効な連続番号に更新する。しかしながら、dが受信されている場合(例えば、dがマークされた場合)、それは再現されたものであり、したがって無効な連続番号である。3)d>最大値:この場合には、連続番号は有効である。さらに、シンクは、最大値=dに設定し、連続番号dに関連するタイマーを開始させる。タイマーは、ネットワーク内部のパケットの最大寿命であるT_maxの後で終了することになる。このタイマーが終了したときに、シンクは最小値=dに設定し、例えば、dより小さい連続番号を持つすべてのパケットは、ネットワークにおいて死んだ(died)ことになる。
【0040】
パス上のノードは、その署名が正しく、その連続番号が有効である場合に限り、シンク検証を渡す。この場合、シンクは、前のホップのIDを取得することによって前のホップを検証し続け、署名及び連続番号を検証する。最終的に、検証は、すべての署名/連続番号が正しく検証されるか、又は、不正な署名/無効な連続番号が見つかったときに、停止する。いずれの場合においても、障害を受けたノードは、シンクが停止した場所の近傍1ホップ以内に位置する。例えば、シンクが、第1のホップM|A|seqnuma|H(M|A|seqnuma)を含むすべてのノードを正しく検証したときである。真のソースは、ノードAの近傍1ホップ以内に位置する。あるいは、いずれかのホップにおいて署名又は連続番号が無効である場合には、障害を受けたノードは、無効なノードの近傍1ホップ以内にある。例えば、ホップX:M_w|X|C_x|Hを検証するときである。シンクは、HがH(M_w|X|C_x)と一致しないことを発見し、障害を受けたノードがノードXの近傍1ホップ以内にあると結論づけることができる。すなわち、Xは、加害者である(Xが、不要なHを故意に偽造する)か、又は、Yのような、Xの近傍のうちの1つである(例えば、Yは、Xの署名Hを修正するが、自分自身のメッセージについての正しい署名を与える)かのいずれかである。
【0041】
提案されるセキュリティ防御は、多くの特徴を含む。第1に、正当なトラフィックを改ざんする加害者を検出することができる。メッセージは署名によってレイヤ毎に保護されるため、メッセージを修正する加害者は、ソースから始まってその直前のホップまで、前のすべてのホップの署名チェックを失敗させることになる。第2に、DoS攻撃パケットを注入しようとする攻撃者は、鍵の知識を持たないため、離れた起点を正しく偽造することができない。シンクは、加害者の後で正常なノードによって残された情報を追い、その位置を見つけ出すことができる。第3に、メッセージがホップ毎の連続番号によって保護され、加害者が、古いパケットにおける増加した連続番号について正しい署名を生成することができないため、加害者は、前の正当なトラフィックを再現することができない。多数の攻撃ノードが同じパス上で共謀するときであっても、正当なトラフィックを修正するか又は偽装トラフィックを注入する最後の加害者の位置は、依然として特定されることになる。シンクはさらに、特定された攻撃ノードと通信しないように他のノードに命令し、残りの加害者ノードを一つずつ発見することができる。
【0042】
モデル及び仮定:システム及び脅威モデルを説明し、悪意のある攻撃の分類法をパケット・マーク付けフレームワーク内で提示する。
【0043】
図3を参照すると、静的センサ・ネットワーク30についてのシステム・モデルが描かれており、このモデルは、センサ・ノード12が一旦配置されると動かないと考えられる。これらのノード12は、近くの環境を感知し、イベントの時刻、位置、記述など(例えば、センサの読取値)を含む、対象となるイベントに関するレポートを生成する。レポートは、マルチ−ホップ無線チャネルを通じて中間ノード41−47によってシンク38に転送される。シンク38は、十分な計算リソース及びエネルギー・リソースを持つ強力なマシンである。ルーティングは、比較的安定していると仮定される。ルートは、短い時間間隔で頻繁に変化することはない。ルートが安定しているときには、各々のノード12は、転送パス36において近傍に唯一の次のホップを有し、この近傍のホップを通してすべてのパケットをシンク38に転送する。このことは、当該技術分野では公知であるいずれかのツリー・ベースのルーティング・プロトコル又は地理的ルーティング・プロトコルにおいて一貫している。
【0044】
各々のセンサ・ノード12は、固有のIDを有し、固有の秘密鍵(K)をシンク38と共有すると仮定する。ID及び鍵は、ノード12が配置される前にノード12に予めロードすることができる。シンク38は、すべてのノードID及び鍵についてのルックアップ・テーブルを保持することができる。ノードは、近傍の認証などの目的で他の鍵を定めることもできるが、PNMは、そうした鍵が機能することを必要としない。
【0045】
センサ・ノード12は、リソースが制約され、計算力、記憶容量及びエネルギー供給が制限されることがある。例えば、公知のMica2モートは、バッテリ駆動であり、4MHzのプロセッサ及び256Kのメモリのみを装備している。そうしたローエンド・デバイスに公開鍵暗号化技術を実装することもできるが、エネルギー消費の点では極めて不経済である。したがって、ここでは簡単にするために、効率的な対称暗号(例えば、安全なハッシュ関数)のみが考慮される。
【0046】
図3の本発明の例示的なシナリオにおいては、スパイS(ソース32)及びX(転送パス・ノード44)は、攻撃トラフィックを注入するために自分たちの形跡を隠すように協力し、Sは偽装レポートを注入する。X44は、ノード1、2、3のマーク(57)を有するパケットを受信する。Xは、これらのマークを1’、2’、3’(55)に変更するか、又は、ノード1のマークを除去する(56)などというように、マークを種々の方法で操作することができる。スパイの目的は、自分たちの位置を隠すこと、又は、シンクが無実のノードを辿るように導くことである。
【0047】
脅威モデル及び攻撃分類法:敵は、物理的捕捉又はソフトウェア・バグを通じてセンサ・ノードを障害し、それらのノードを完全に制御することができる。敵は、秘密鍵を含むすべての格納情報にアクセスし、悪意のある状態で挙動するように再プログラムすることができる。スパイは、損害を最大にするように連係する。シンク38は、通常は良好に保護される。可能性はあるが、障害を受けるシンクは少なく、簡略化するために考慮されない。
【0048】
逆探知の背景にあるのは、偽データ注入の脅威である。1つのスパイS32は、ソースとして働き、大量の偽装感知レポートをネットワークに注入する。そうしたレポートは、ユーザ・アプリケーションを混乱させるだけでなく、それらを転送するのに費やされるネットワーク・リソース(例えば、エネルギー、帯域幅)を浪費する。逆探知は、積極的な防御に向けた第1ステップである。逆探知によって、シンクがレポートの真の起点を特定できるようになる。次に、シンクは、そうした場所へタスク・フォースを送り出すか、スパイを物理的に除去するか、又は、それらの近傍にトラフィックを転送しないように通知する。正確な機構は変えることができ、ここでの現在の焦点は逆探知にある。
【0049】
効果的なマーク付けスキームのための課題は、転送パスに沿った共謀スパイX44がマークを任意に改ざんする場合があることである。スパイX44は、自分の位置とソース・スパイ(32)の位置をいずれも隠すか、又は、シンクが無実のノードを辿るようにだますことができる。位置を隠すことによって、捕まったり罰せられたりすることなく連続注入が可能となる。大きな損害を生じさせるように注入するためには、このように隠すことが必要となる。それらのいずれかの位置が漏洩することによって、ネットワーク分離又は物理的除去といった処罰につながる。シンクが無実のノードを辿るようにだますことは余分なおまけであり、シンクは、無実のノードを処罰して、汚染されていないリソースを切り捨て、効果的に自分自身を処罰する。偽装レポートを注入するS及び転送パス上のXの2つの共謀スパイによるマーク付けベースの逆探知に対する共謀攻撃の分類法が、以下のように提供される。
【0050】
1)マークなし攻撃:スパイがレポートをまったくマークしないことがある。2)マーク挿入攻撃:ソース・スパイと転送スパイのいずれも、1つ又は多くの捏造マークをレポートに挿入することがある。3)マーク除去攻撃:転送スパイが、レポートにおいて上流のノードによって残された既存のマークを除去することがある。4)マーク並べ替え攻撃:転送スパイが、レポートの既存のマークを並べ替えることがある。5)マーク変更攻撃:転送スパイが、レポートの既存のマークを変更し、それらを無効にすることがある。6)選択的ドロッピング攻撃:転送スパイが、シンクによって受信された場合に逆探知される可能性のあるパケットを選択的にドロップすることがある。7)識別情報スワッピング攻撃:S及びXは、互いの鍵を知り、互いになりすますことができる。
【0051】
例えば、図3は、ソース・スパイS 32とシンク38との間の7つの転送ノード(41−47)のチェーンを示す。ノードX44は共謀スパイである。ノード44は、ノードV1、V2、V3によって残された3つの有効なマーク1、2、3を含むV3のメッセージを受信する。ノード44は、これらを1’、2’、3’に変更して無効にすることができ、したがってシンクは、これらのマークを拒絶する。ノード44は、マーク1を除去して2,3のみを残すこともあり、したがって逆探知は無実のノードで止まる。
【0052】
【表1】
【0053】
説明の助けとなるように、表1には、以下で使用される表記を含む。ソース・スパイS32は、正当なフォーマットに適合した偽装レポートを注入する。各々のレポートMは、イベントE、位置L及びタイムスタンプTを含む(すなわち、M=E|L|Tであり、「|」は連結を示す)。レポートはまったく同じ内容を含むことはできず、同じ内容を含む場合には、レポートは冗長であるとみなされて正当な転送ノードによってドロップされる。Mは、n個の中間ノードのチェーン{Vi}(i=1,...,n)によってシンク38に転送される。
【0054】
各々のノードViは、固有のIDiを有し、固有の鍵kiをシンクと共有する。ノードは、kが鍵である効果的で安全な鍵付ハッシュ関数Hk( )を用いてノードが生成又は転送するパケットについてのメッセージ検証コード(MAC)又は他の署名を生成するために、その鍵を用いることができる。特に、Viは、前のホップVi−1から受信したメッセージにマークmiを加えて、自分自身のメッセージMiを構成する。Miは、ViのIDi及びMAC MACiを含むことができる。次いで、Viは、Miを次のホップVi+1に送信する。
【0055】
転送ノードVx(1<x<n)は、共謀スパイであり、X(44)と表記される。Xは、Vx−1から受信したメッセージを任意の方法で操作し、次にそのメッセージをVx+1に渡すことができる。スパイXは、前述の攻撃のいずれか1つ又はそれらの組み合わせを用いて、S(32)及び自分自身の位置を隠すか、又は、無実のノードまで逆探知させることができる。
【0056】
従来技術の認証マーク付けスキーム(AMS)は、ノードによって加えられたマークが前のノードによって残されたマークとの関係を保護しないため、十分なセキュリティを提供することができない。各々のマークは、他のマークの有効性に影響を及ぼすことなく個別に操作することができる。本発明の原理に係る入れ子式マーク付けは、各々のマークとすべての前のマークとの間の結合を確立し、確率的マーク付けは、選択的ドロッピング攻撃に打ち勝つために、付加的な特徴であるIDの匿名性を提供する。
【0057】
PNMは、疑わしい単一の近傍ホップ内の精度で、偽データ注入攻撃における共謀スパイを探知することができる。これは、1つのノードとその近傍1ホップとを含む。ソース・スパイ又は転送スパイのいずれかは、それらの範囲内にある。PNMは、2つの技術、すなわち、入れ子式マーク付けと確率的入れ子式マーク付けとを含む。入れ子式マーク付けは、基本的な機構である。入れ子式マーク付けは、シンクがパケットを1つだけ用いて確実にスパイまで逆探知できるようにする。しかしながら、入れ子式マーク付けは、各々の転送ノードがパケットにマークを付ける必要があるため、メッセージ・オーバーヘッドが大きくなるという欠点を有する。大きなセンサ・ネットワークにおいては、これは非効率となる可能性がある。
【0058】
その後、メッセージ・オーバーヘッドを多数のパケットにわたって分散させるために、確率的マーク付けが用いられる。各々の転送ノードは、一定の確率でマークを付ける。したがって、パケットは、ほんの僅かなマークのみを搬送し、パケットあたりのオーバーヘッドが大きく低減される。これは、メッセージ・オーバーヘッドをより小さくするために検出力を犠牲にする。シンクは、スパイを特定するために多数のパケットを必要とする場合があり、このことは、スパイが重大な損害を引き起こす前に特定される限り、合理的なことである。
【0059】
基本的な入れ子式マーク付け:パケット・マーク付け:各々の転送ノードViは、シンクと共有する秘密鍵kiを用いて、そのIDi及び安全なMACをパケットに付加する。MACは、ViがVi−1から受信したメッセージ全体を保護する。すなわち、MACi=Hki(Mi−1|i)である。例として、近傍のノードによって送信されるメッセージは、
S→V1:M
V1→V2:M1=M|1|Hk1(M|1)
V2→V3:M2=M1|2|Hk2(M|2)...
Vi→Vi+1:Mi=Mi|i|Hki(Mi−1|i)
である。
【0060】
各々のホップにおいて、IDiは、ルート上にノードiが存在することを示し、MAC Hki(Mi−1|i)は、メッセージMiを送信するのが確かにノードiであり、ノードが受信したのがMi−1であったことを、シンクに対して証明する。Viによって加えられたMACは、自分自身のIDだけでなく前のホップからのメッセージ全体を保護することが理解できる。これが、入れ子式マーク付けの名前の由来である。MACは、前のすべてのノードのID及びMAC並びにそれらの相対的順序を保護する。前のID、MAC、又はそれらの順序のいずれかが改ざんされることによって、MACが無効になる。
【0061】
以下では、入れ子式マーク付けが安全な逆探知のために必要かつ十分であることを示すために、形式的セキュリティ分析を用いる。すなわち、入れ子式マーク付けはすべての共謀攻撃に耐えることができるが、より簡単な設計はいずれも耐えることができない。例えば、拡張されたAMSにおいては、元のメッセージM及びViのIDのみが保護されるが、Mi−1における前のマークへのマーク結合は保護されない。これが、マークが個別に操作されたときにはAMSが役に立たない理由である。
【0062】
逆探知:パケットMnを受信した後で、シンクは、入れ子式マークの過去を検証する。シンクは、まず最後のホップnのIDを取得し、対応する鍵knを用いて最後のMAC MACnを検証する。MACnが正しい場合には、シンクは、前のホップn−1のIDを取得し、MACn−1を検証する。シンクは、すべてのMACが正しいことを検証するか、又は、不正なMACxを見つけるまで、このプロセスを続ける。スパイ(ソース又は転送のいずれか)は、検証された最後のMACを持つノードの近傍1ホップ以内(このノード自身を含む)で探知される。
【0063】
例えば、図3において、スパイXがノード41のマークを変えた場合には、ノード41、42及び43からのマークがすべて無効になる。Xがマークを残さなかったとき又は無効なマークを残したときには、逆探知はノード45で止まり、スパイ(X)はこの停止ノードの近傍1ホップ以内にあり、Xが有効なマークを残したときには、逆探知はノードXで止まり、スパイはこの停止ノードである。
【0064】
確率的入れ子式マーク付け:確率的入れ子式マーク付けは、各々の転送ノードが小さい確率pでパケットをマークするようにする。したがって、nノードの転送パス上で、メッセージは、平均してnp個のマークを搬送する。確率pは、np個のマークのオーバーヘッドが許容可能となるように調整することができる。
【0065】
不正な拡張:確率的マーク付けへの拡張は、一見して単純なように見える。しかしながら、それは容易なことではないことが分かる。各々のノードが確率pでマークするようにすること(以下参照)だけでは、逆探知を無実のノードに導く可能性がある選択的ドロッピング攻撃を受けやすい。
S→V1:M
V1→V2(確率p):M1=M|1|Hk1(M|1)
V2→V3(確率1−p):M2=M1|2|Hk2(M|2)...
Vi→Vi+1(確率p):Mi=Mi−1|i|Hki(Mi−1|i)
Vi→Vi+1(確率1−p):Mi=Mi−1 (1)
【0066】
図3の例を考える。IDリストはプレーン・テキストであるため、共謀スパイXは、V1、V2、V3のうちのどれがパケットをマーク付けしたか知ることができる。スパイXは、V1のマークを含むすべてのパケットをドロップし、V2、V3からのSマークを持つものだけを転送することができる。シンクが逆探知したときには、逆探知は、近傍の1ホップがいずれのスパイも含まないV2で止まることになる。実際には、Xは、逆探知を自分自身とソース・スパイとの間のいずれかの無実ノードに導くことができる。
【0067】
確率的マーク付けにおいては各々のパケットが転送パス上のノードの部分的な「サンプル」のみを搬送するため、この攻撃が機能する。プレーン・テキストIDであるため、スパイは、特定の「サンプル」を選択的に渡して、シンクが、Xの上流ノードの1つで終わる部分的なパスのみを知るようにする。本発明の原理に係る基本的な入れ子式マーク付け(決定論的マーク付け)においては、すべてのパケットが完全なパスを構成するマークを搬送するため、この攻撃は適用されない。選択的ドロッピングのための部分的な「サンプル」は存在しない。
【0068】
選択的ドロッピング攻撃に打ち勝つために、転送ノードは、他のノードのどれがパケットをマーク付けしたか伝えることができないことが望ましい。この方法では、共謀スパイは、どのパケットをドロップするかを知ることができない。しかしながら、シンクは依然として、マークを検証するためにどれがマークを残したかを知る必要がある。以下の説明においては、問題を解決するために、すべての秘密鍵に関する付加的な情報と十分な計算リソースとを与えるシンクの非対称性が利用される。
【0069】
確率的入れ子式マーク付け:正当なノードViは、自分の真のIDiを用いる代わりに、匿名IDi’をパケットに用いる。真のIDiから匿名IDi’へのマッピングは、Viとシンクのみが知っている秘密鍵kiによって決まる。共謀スパイは、障害を受けていないViからのkiの知識を所有しておらず、したがって、共謀スパイは、匿名IDから真のIDを推論することはできない。
【0070】
S→V1:M
V1→V2(確率p):M1=M|1’|Hk1(M|1’)、1’=H’k1(M|1)
V1→V2(確率1−p):M1=M...
Vi→Vi+1(確率p):Mi=Mi−1|i’|Hki(Mi−1|i’)、i’=H’ki(M|i)
Vi→Vi+1(確率1−p):Mi=Mi−1 (2)
【0071】
上記において、H’( )は、匿名IDを計算する別の安全な一方向関数である。匿名ID i’は、Viが転送する各々の個別のメッセージについて変化するように、Mに結合される。(冗長なコピーとみなされてドロップされることを防ぐために、ソース・スパイによって偽造されるレポートは、異なる内容を有するべきであることを思い出されたい。) これによって、攻撃者が時間とともに蓄積することができる静的マッピングが防止される。拡張AMSと比べて、確率的入れ子式マーク付けは、入れ子式マーク付けと匿名IDとの両方を有する。
【0072】
マーク検証:匿名IDを用いると、シンクにおける検証は異なるものとなる。シンクは、最初に真のIDを知ることが必要であり、次に対応する秘密鍵を用いてMACを検証することができる。シンクの十分な計算力を利用して、真のIDを見つけるために全数検索を用いることができる。
【0073】
ノードVnからMnを受信した後で、シンクは、最初に、ネットワークにおけるあらゆるノードについてのすべての匿名IDを計算する。Mを知っていれば、シンクは、すべてのID iをi’にマップするためのテーブルを構築することができる。i’を参照することによって、シンクは、真のID iを知る。次に、シンクは、対応する鍵kiを用いてMACを検証することができる。このようにして、シンクは、すべてのMACを一つずつ検証することができる。シンクの計算力と、センサ・ネットワークにおけるデータ速度の低さとを前提とすれば、全数検索は実現可能である。シンクは、各々の個別のメッセージMについて、参照を行うために異なるテーブルを計算する必要がある。マイクロ秒レベルでハッシュ値の計算を行うことができる(例えば、1.6G CPUであれば毎秒250万回のハッシュ値計算を行うことができる)とすれば、相当に大きなネットワーク(例えば数千ノード)についてこうしたテーブルを構築することは、数ミリ秒のオーダーで行われるべきである。したがって、シンクは、毎秒数百以上のパケットを検証することができる。シンクは、一度に1つのセンサから受信するため、入力するデータ速度は、センサの無線速度によって制限される。数百パケットというのは、すでに、典型的なセンサ・ハードウェア上の現在の実効データ速度より大きい(例えば、Mica2 モートについては12kbpsであり、毎秒100パケットを下回る)。
【0074】
逆探知:スパイを探知することは、2ステップのプロセスとなる。まず、シンクは、十分な数のパケットからマークを収集することによって、ルートを再構成する必要がある(分析されるノードの数は後述される)。次に、シンクは、どのノードがそれらの近傍1ホップ以内にスパイを有するかを特定する。確率的マーク付けが用いられる場合にシンクがどのようにスパイを探知することができるかを示す例示的な方法1が、以下の擬似コードで提供される。
【0075】
【表2】
【0076】
【表3】
【0077】
図4を参照すると、ブロック/フロー図は、一実施形態によりスパイを探知するためのシステム/方法を示す。ルートは、転送パス内のノードの相対的順序(どのノードがどのノードの上流にあるか)を見つけることによって再構成することができる。ブロック110において、ルートは、その上流ノードのすべてを決定することによって再構成される。相対的順序を保持するために、マトリクスMが用いられる。マトリクスは、最初は空である。新しいノードViについて正しいMACが検証されたときに、ブロック112において、Viに対応するもう1つの行ともう1つの列とがマトリクスに加えられる。1つのパケット内の連続する2つのMACであるMACi、MACjが正しいことが検証されたときはいつでも、ViはVjの上流であり、ブロック114のマトリクスにおいてM[i,j]がこの関係を記録する(例えば、i,jは1に設定される。−1はVjがViの上流にあることを意味し、0は未定である)。転送パス上には2つ以上のノードが存在するため、多数のノードが、コイン投げの要領で確率pでパケットをマーク付けすることができる(式2を参照されたい)。これらのノードは、パス上の連続セグメントではない場合があり、転送パス上でバラバラに位置する可能性がある。シンクは、より多くのパケットを受信するのにしたがって、このマトリクスを更新し続ける。十分なパケットを前提とすると、シンクは、すべての転送ノード間の上流の関係、すなわち完全なルートを見つけ出すことができる。
【0078】
シンクは、2つのタイプのルート、すなわち、ループを有しないルート又はループを有するルートを再構成することができる。第1のタイプは、スパイが識別情報スワッピング以外の攻撃を用いたときに発生し、後者は、スパイがマークを残すために識別情報をスワップしたときに発生する。最初のケースでは、スパイを探知することは、最も上流のノードを見つけることと等価である。ソース・スパイは、自分自身でパケットを生成するため、他からパケットを受信せず、最も上流のノードとなることができる。転送スパイが、その上流のノードによって残されたマークを除去した場合には、転送スパイは、最も上流であるように「見える」ことがある。いずれの場合においても、ソース・スパイ又は転送スパイは、最も上流のノードの近傍1ホップ以内にある。
【0079】
スパイは、識別情報スワッピングを用いてループを作成することもでき(図5参照)、この場合には「最も」上流のノードは存在しない。
【0080】
図5を参照すると、S及びXは、互いの鍵を用いていくつかのパケットについて有効なマークを残し、シンクがノード間の上流関係を再構成するときにSとX(これらのノードを含む)の間のすべてのノードを含むループを生じさせることができる。シンクは、依然として、ループのリンクが破れた場所まで逆探知し、その近傍内のスパイを特定することができる。
【0081】
ソース・スパイS及び転送スパイXは、いくつかのパケットについては互いの鍵を用い、他のいくつかのパケットについては自分自身の鍵を用いて、有効なマークを残すことができる。シンクは、いくつかのパケットについてはXの前にSが現れ、他のパケットについてはXの後にSが現れることを見つけることになる。シンクはまた、SとXの間のすべてのノード(SとXを含む)がループ130を形成することも見つけることになる。こうしたループにおけるいずれか2つのノードU、Vについて、UはVの上流と下流の両方に現れる。
【0082】
しかしながら、この異常は容易に特定することができ、すなわち、シンクは、残りのノードがループからシンク自体にラインを形成していることを見つけることができる。スパイは、このラインにおける最も上流のノードの近傍1ホップ以内で(すなわち、ループがラインと交差する場所で)探知される。
【0083】
セキュリティ分析:PNMのセキュリティ強度を代替的なマーク付けスキームと比較する。この分析によって、入れ子式マーク付けが正確であり必要とされることが示される。PNMは、共謀攻撃にもかかわらずスパイを近傍領域の1ホップ以内まで突き止めることができるが、より簡単な設計はいずれも特定の攻撃の下では失敗している。シンクが、時間の経過と共に十分な数のパケットを受信するのにしたがって、確率的入れ子式マーク付けは、近傍領域の1ホップ以内のスパイを漸近的に突き止めることができる。
【0084】
入れ子式マーク付けのセキュリティ:マーク付けスキームについての2つの特性、すなわち、1ホップ精度及び連続トレース可能性を最初に定義し、次に、それらが等価であることを証明する。次に、本発明者らの基本的な入れ子式マーク付けスキームの連続トレース可能性を示すことによって、それが1ホップ精度であることを証明する。
【0085】
定義1(1ホップ精度):ソース・ノード又は共謀スパイのいずれかの近傍1ホップまで常に辿ることができる場合には、マーク付けスキームは、逆探知において1ホップ精度を有する。
【0086】
定義2(連続トレース可能性):転送パス上の連続する2つの正当ノードU及びVを考える(すなわち、Vは、Uからメッセージを受け取り、次にそれらを転送する)。連続トレース可能マーク付けスキームを用いれば、シンクがVまで辿った場合には、シンクは常にさらにUを辿ることができる。
【0087】
定理1:マーク付けスキームは、それが連続トレース可能である場合に限り、1ホップ精度である。
【0088】
十分性の証明:逆探知がノードVで止まり、ノードVが有効なMACを有する(転送の逆の順序の)最後のノードであるとする。Vは、転送パス上にはない正当ノードである可能性はなく、これは、そうしたノードはこれらのノードが転送しないメッセージについてMACを生成せず、攻撃者はそれらの秘密鍵を知らないためである。したがって、Vは、スパイであるか、又は、転送パス上の正当ノードであるかのいずれかである。Vがスパイである場合には、十分性が保たれる。次に、Vが正当な転送ノードである場合を考える。
【0089】
UがVの前のホップである、すなわち、VがUからメッセージを受信するものとする。以下の2つの可能性、すなわち、Uが(ソース又は共謀)スパイであるか又はUが正当ノードであるかの2つの可能性のみが存在する。第1の場合には、VがスパイUの近傍にあるため、十分性が保たれる。一方、連続トレーサビリティの定義によって、逆探知はUに進み、Vでは止まらない。したがって、第2の場合は発生することはない。これで十分性の証明が終わる。
【0090】
次に、矛盾によって必要性を証明する。マーク付けスキームは連続トレース可能ではないとする。すなわち、シンクが、正当ノードVまで辿るが、その前の正当ノードUに進むことはできない場合が存在する。したがって、逆探知は、Vで止まり、必ずしもソース又は共謀スパイの近傍である必要はない。定義によれば、このスキームは1ホップ精度ではない。
【0091】
図6を参照すると、転送パス上に2つのカテゴリのノードが存在する。カテゴリ1は、スパイと、それらのすぐ次のホップであり、カテゴリ2は、正当な近傍ホップを直前に有する正当ノードである。連続トレース可能性のため、逆探知は、カテゴリ2では止まることができない。カテゴリ3のノード(転送パス上にない正当ノード)については、それらのノードは、自分が転送しないメッセージについてマークを残さない。したがって、逆探知は、カテゴリ1のノード内でのみ止まることができる。
【0092】
1ホップ精度は、逆探知が第1のカテゴリ内で止まることを意味し、連続トレース可能性は、逆探知が第2のカテゴリ内で止まることができない、すなわち、第1のカテゴリ内で止まらなければならないことを意味する。
【0093】
定理2:入れ子式マーク付けスキームは、連続トレース可能である。
証明:連続する2つの正当転送ノードU及びVを考える。Muは、UがVに送信するメッセージであり、Vは、Mu|V|Hkν(Mu|V)を次のホップに送信するものとする。シンクがVを辿ったと仮定する。これは、Vが、メッセージM’u|V|MAC’V内に検証されたMAC’Vを有するべきであり、再計算されたMAC(Hkν(M’u|V))が、含まれるMAC’Vと同一であることを発見したことを意味する。攻撃者はkvを知らないため、MAC’Vは、Vによって生成されたMACVでなければならない。したがって、M’u及びMuは、同一でなければならず、そうでなければ、再計算されたMACは、Vによって生成されたものと一致しないことになる。Muは正当ノードUによって送信されるため、Muにおける最後のマークは、Uから正当なMACを搬送しなければならない。したがって、このMACを検証することによって、シンクはさらにUをトレースすることができる。
【0094】
結論(corollary)1:入れ子式マーク付けスキームは1ホップ精度である。
【0095】
入れ子式マーク付けの必要性:
定理3:入れ子式マーク付けより少ないフィールドを保護するマーク付けスキームはいずれも、連続トレース可能ではない。
証明:入れ子式マーク付けにおいては、ノードのMACは、自分自身のIDと、前のホップから受信したメッセージ全体との両方を保護する。ここで、MACが入れ子式MACより少ないフィールドを保護するもう1つのマーク付けスキームrを考える。ID又はMACが後のすべてのノードによって完全には保護されないノードAが存在しなければならず、そうでなければ、rは入れ子式マーク付けスキームとなる。
【0096】
図7を参照すると、Xは、Vによって保護されないAのマークにおけるビットを変更する。したがって、Vのマークは依然として正しいが、Uのマークは正しくない。次に、シンクはVまで逆探知するが、さらにUを辿ることはできない。Uが、AのID及びMACを完全に保護する最後のノードであり、VがUの次のホップであるとする(図7を参照されたい)。すなわち、VのMACによって保護されないいくつかのビットがAのマークに存在する。Vの後の下流にある1つのスパイを考える。スパイは、レポートを適切にマーク付けし、VのMACによって保護されないAのマークのビットを変更する。この場合においては、Vの後における(Vを含む)すべてのノードのMACは正しく、したがって、シンクは、Vを辿ることができる。しかしながら、Aのマークはスパイによって改ざんされるため、UのMACは無効であるように見え、したがって、シンクはさらにUを辿ることはできない。言い換えれば、rは連続トレース可能ではない。
【0097】
結論2:入れ子式マーク付けより少ないフィールドを保護するマーク付けスキームはいずれも1ホップ精度ではない。
【0098】
確率的入れ子式マーク付けのセキュリティ:
定理4:確率的入れ子式マーク付けは漸近的に1ホップ精度である。
証明:シンクがノード間の上流関係を再構成するときに、ループが存在しないか又はループが存在するかのいずれかの2つの可能な場合が存在する。ループが存在しないときには、証明は定理2の証明と同様である。転送パス上の連続する2つの正当ノードU、Vを考える。確率的マーク付けであるため、これらの2つのノードはいずれも、常にパケットにマークを残すわけではない。しかしながら、十分な数のパケットがあれば、それらがいずれも同じパケットにマークを残さない確率(1−p)2nは、パケットの数nが増加するにつれて徐々に小さくなる。漸近的に、U、Vがいずれもマークを残すパケットが存在することになる。転送スパイは、そうしたパケットをドロップすることができる場合もある。しかしながら、匿名IDを用いるため、転送スパイは、すべてのそうしたパケットを常に正しく推測し、ドロップすることはできない。漸近的に、シンクは、UとVの両方からマークを持つパケットを受信することになる。定理2の同様の推論によれば、シンクは、Vまで辿ると、さらにUを辿ることができる。したがって、逆探知は、Vでは止まらない。そのため、逆探知は最も上流のノードで止まることになり、そのノードは、その近傍1ホップ以内(このノード自体を含む)にスパイを有する。
【0099】
ループが存在するときに、ループとラインとの接合点(ノードX)(図5を参照されたい)が、その近傍1ホップ以内(このノード自体を含む)にスパイを有することを矛盾によって証明する。この近傍1ホップ以内のすべての4つのノード(X、S、A、B)が正当ノードであると仮定する。パケットは、XからAに向かってシンクに到着するため、Aは、Xの転送パス上の次の近傍ホップでなければならない。ループもまたノード間の上流関係を表すため、Xは、ループ上のその近傍ホップの1つ(S又はB)にもパケットを転送しなければならない。したがって、Xは、その転送パス上に2つの次の近傍ホップを有する。しかしながら、ルートが安定しているときには、正当ノードはいずれも、その転送パス上に唯一の次の近傍ホップを有するべきである。したがって、これらの4つのノードはすべてが正当ノードとなることはできず、それらの1つはスパイでなければならない。
【0100】
この証明の背景として、ループがラインに接続する場所の辺りでは何らかの異常な挙動が存在するに違いないという洞察がある。正当ノードについて、それらは、ルートが安定であるときにはループを形成しない。したがって、そうした異常な挙動は、スパイの存在によってのみ説明することができる。基本的な入れ子式マーク付けにおいては、スパイは、識別情報スワッピング攻撃を開始することができるが、すべてのノードが各々のパケットにマークを残すため、シンクは、上流関係を通じて逆探知する必要はなく、常に直接スパイまで逆探知できることに注意されたい。
【0101】
性能評価:
シンクが各々の転送ノードV1、...Vnからの少なくとも1つのマークを収集するのに必要なパケットの数Nを分析する。これがLパケット以内で行われる確率P(N≦L)=(1−1−p)L)nを計算することができる。
【0102】
図8を参照すると、グラフは、n個のノードからの少なくとも1つのマークがxパケット以内で収集される確率を示す。パケットが搬送するマークの平均数npは3に固定される。10個のノードを含むパスについて、13パケットを受信した後でシンクがすべてのマークを収集する確率は約90%である。20ホップ及び30ホップのパスについて90%の信頼度を達成するためには、それぞれ33パケット及び54パケットを要する。この結果は、エネルギー及び帯域幅リソースの消費が少ない比較的少数のパケットの後で、シンクがすべてのノードからマークを収集することを示している。
【0103】
シミュレーション結果:
図9を参照すると、分析を検証し、分析するのが難しい指標(metrics)をさらに評価するために、シミュレーションを実行した。パケットが平均で3つのマークを搬送するように、異なるパス長さnに対して確率pが調整されている。分析結果を最初に検証した。ノードの数nを10、20、30に設定した。各々の実行においてソースから200パケットが生成され、5000回の実行にわって結果を平均した。図9には、シンクがxパケットを受信した後ですべてのノードからマークが収集される確率が示される。この結果は、図8の分析結果と非常に良く一致する。
【0104】
図10は、xパケットの後でシンクによってマークが収集されたノードの割合を示す。10個のノードが存在するときに、平均して9個のノードのマークを7パケット以内で受信することができる。20個及び30個のノードのパスについて、90%のノードからマークを収集するために約14パケット及び22パケットを要する。シンクは、数ダースのパケット以内で、どのノードが転送ノードであるかを知る。
【0105】
確率的マーク付け(方法1)におけるルート再構成アルゴリズムの性能も評価した。
図11は、40ノードのパスにおいて実行された場合に、より多くのパケットが受信されるにつれて、候補となるソースの組がどのように変化するかを示すものであり、ノード0はソース・スパイである。当初、候補リストにはノードSがある。より多くのマークが受信されるにつれて、部分的なパスの始めにおける新しいノード8、11、9、18が加えられる。それらの上流のノードが後で発見された際には、それらはリストから除外される。真のソース0は、21番目のパケット上で加えられる。80番目のパケットの後で、0以外の候補ノードは組に残っていない。候補の組が長時間にわたって変化しないままとなったときに、シンクは、スパイを明確に特定することができる。
【0106】
十分な数のパケットがなければ、シンクは、候補となるソースの組を減らして明確に真のスパイのみにすることはできない場合がある。どれほど多くのパケットが必要であるかを試験するために、シンクが受信するパケットの数を200、400、600及び800に変化させた。各々のトラフィック量について、5から50まで10の異なるパス長さの各々にわたって100回のシミュレーションを実行した。シンクがソースを明確に特定しない回数を得た。
【0107】
図12は、4つの異なるトラフィック量について、失敗した実行の回数を全パス長の関数として示す。パス長が20個までの場合には200パケットで十分であることが理解できる。方法1は、各々の実行においてソースをほぼ必ず明確に特定し、パスが30個までの場合には400パケットで十分である。非常に長いパス(例えば50個のノード)の場合のみ、失敗の頻度を5%より低く低減させるのに多数のパケット(例えば800)が必要である。
【0108】
ソースを明確に特定するのにシンクが受信すべきパケット数の平均を測定するために、トラフィック量として800を選択する。図13は、ソースを特定するのに成功したすべての実行全体にわたって、全パス長の関数としての結果を示す。20より小さいパス長の場合には、ソースを明確に特定するために、平均して約55パケットを要する。これは、図9の結果と概ね一致し、55パケットがあれば、シンクが、20個のノードのすべてからマークを収集する確率が99%以上である。40個のノードのような長いパスの場合でも、シンクは、約220パケットの後でソースを明確に特定することができる。この結果によって、PNMはスパイが有効な偽データ注入攻撃を開始するのをほぼ防止すること、すなわち、スパイがネットワークに十分な損害を引き起こす前にそれらが突き止められることが実証される。
【0109】
逆探知精度:PNMは、1つのノードとその近傍1ホップとを含む近傍1ホップまでスパイを逆探知することができる。それらの1つは、ソース・スパイ又は転送スパイのいずれかである。ソース・スパイが、レポートを注入するときに異なる識別情報を主張する可能性があるため、精度は単一のノードではない。その次の近傍ホップは、どの識別情報が真であるかを伝えることができない。PNMは、機能するために近傍ホップ間のペアワイズ鍵を必要としない。しかしながら、ペアワイズ鍵の存在は、逆探知精度の改善に役立つことがある。
【0110】
PNMは、一度に1つのスパイを逆探知する。予想されるのは、いくつかのスパイを分離機構がPNMと一緒に機能することである。その機構は、各ラウンドで特定されたスパイを分離するものである。したがって、時間の経過と共に、これらのスパイはネットワークから一つずつ分離される。
【0111】
ルーティング動態の影響:スパイ探知アルゴリズムは、ルートが比較的安定であるときに良好に機能する。スパイは通常、短時間に大量のトラフィックを注入して損害を最大にするため、十分なパケットの収集にはあまり多くの時間を必要としない。例えば、スパイが最大無線速度で注入する場合には、シンクは、10秒以内で、40ホップ離れたスパイを探知するのに十分な約300パケットを収集することができる。ルートは、この短い時間の間は安定なままである可能性が非常に高い。
【0112】
レポートの再現:ソース・モールは、同じ内容のレポートを何度も再現することができ、したがって、真のIDと匿名IDと間のマッピングは、各々の転送ノードについて固定されたままとなる。共謀スパイは、時間の経過と共にそうしたマッピングを蓄積することができるが、こうした攻撃は、冗長メッセージの局所的抑制によって容易に阻止することができる。転送ノードは、同じ内容のレポートを簡単にドロップすることができる。これは、最近遭遇したメッセージの内容(すなわち、イベント、位置及びタイムスタンプ)の署名(例えば、ハッシュ結果)を保持し、受信した署名をそれらと比較することによって行うことができる。
【0113】
ソース・スパイは、レポートする真のソース・ノードからの正当レポートを再現することもできる。レポート内容は、依然として正しい情報を提示する。そうしたメッセージを検出してドロップするために、同じ局所的抑制を用いることができる。他の技術も存在する。それらの1つは、各々のノードが送信又は転送する各々のメッセージについて増加する連続番号を各々のノードに保持させることであり、各々のメッセージは、マークの一部として連続番号を含み、MACを用いて連続番号を保護する。シンクは、再現されたパケットが同じ連続番号を有することを検出することができる。この技術は上記で説明されたものである。
【0114】
ノードは異なる鍵を用いるため、2つの異なるノードの匿名IDは衝突する場合がある(例えば、H’ki(Mu|i)=H’kj(Mu|j))。暗号化サウンド・ハッシュ関数は、こうした衝突を最小にすることができ、すなわち、衝突が発生したときに、シンクは、そうしたパケットを検証から簡単に除外することができる。PNMにおいては、スパイは、指示されたよりも多くの偽装マークを挿入するか又は高い確率を用いることによって、より高いパケットあたりのオーバーヘッドを負わせることができる。しかしながら、これは、効率を若干低下させるだけであり、シンクは依然としてスパイまで逆探知することができる。
【0115】
すべてが攻撃トラフィックを送信する多数のソース・スパイが存在することもある。基本的な入れ子式マーク付けは、パス上のすべての転送ノードのマーク付けによって、依然としてそれらのソース・スパイを特定することができる。これらの多数のソース・スパイの転送パスがバラバラであるときには、PNMは、異なるパスを個々に構成し、スパイを探知することができる。これらのスパイはまた、それらの識別情報をスワップしてループを作成するが、この場合もシンクをこれらのループとリンクさせる直線ラインを用いて、これらのスパイを一つずつ特定することができる。
【0116】
図14を参照すると、ブロック/フロー図は、無線ネットワークにおける逆探知のためのシステム/方法を示す。ブロック202において、ノードのネットワークにおいて各々のノードが識別番号(ID)(必要に応じて、図2において前述された連続番号)を付与され、それを保持する。ブロック204において、一実施形態として、その(真の)IDは、必要に応じて、現在のノード及びシンクによって知られた鍵を用いて又は他の手段によって、そのIDからの匿名IDにマッピングされる。匿名IDのマッピングは、現在のパケットのメッセージを用いて各々の転送されたメッセージについて匿名IDを変えることを含む。マッピングは、パケットの内容を用いて各々のメッセージについてマッピングが変わるようにすべきである。これにより、攻撃者が学習することによって蓄積することができる静的マッピングが防止される。PNMの実施形態においてはこれが好ましい。ブロック206において、ノードとシンクとの間で共有される秘密鍵を用いて、署名を、例えばメッセージ検証コード(MAC)を、計算するか又は他の方法で求める。MACは、転送パスを通過する各々のパケットについて求められる。ブロック208において、MACを生成するために、鍵に従って前のノードからのパケット又はメッセージのハッシュ値を計算することができる。MACは、パケット内の受信メッセージのハッシュ化バージョンを含むことができる。IDは、転送パス内にノードが存在することを示し、MACは、ノードがIDと関連付けられたパケットを送信したことを証明する。
【0117】
ブロック209において、パケットがマーク付けされる。ハッシュ化バージョンは、パケットをマーク付けすることを考慮することができ、マーク付けされたパケットは、転送パスを通してノードの順序を与えるために後で用いられる。パケットあたりのオーバーヘッドを低減させるために、各々の転送ノードにおいて確率的にマーク付けを行うことができる。パケットに常にマークを付ける代わりに、転送ノードは、パケットを確率pでマーク付けする。転送ノードは、通常通りその匿名ID及びMACを加える。転送ノードは、確率1−pで何も行わず、単にパケットを次のホップに転送する。次のホップは、同じ確率pを用いて、マークを加えるか又は単にパケットをそのまま渡し続けるかを決定する。マーク付けの変化型として、すべてのノードがマークを付ける基本的な決定論的マーク付けと、すべてのノードが一定の確率でマークを付ける確率的マーク付けがある。
【0118】
ブロック210において、パケットは、転送パスを通ってシンクで受信される。ブロック211において、シンクは、十分な数のパケットについてのマークに基づいて、ノードの順序を再構成する。
【0119】
シンクで各々のパケットが受信されると、転送パスの各々のノードを遡ってMACの正当性が検証される。転送パス内の最後の有効MACを用いて、偽データ注入ソースを求めるか、又は、パス全体が検証された(例えば、偽データ注入ソースがない)ことを判断する。これは、ブロック214において最後のホップ・ノードについてIDを取得し、ブロック216において最後のホップ・ノードについてMACを計算し、ブロック218において最後のホップ・ノードについてMACを検証し、ブロック220において最後の有効MACが求められるまで繰り返すことを含むことができる。ブロック216及び218は、連続番号を検証するために、図2で説明されたスライディング・ウィンドウを用いることができる。一実施形態においては、ブロック213で、MACを検証する前に、転送パス内のノード(又はすべてのノード)について匿名IDから真のIDが求められる。
【0120】
ブロック222において、最後の有効MACは、1ホップ以内のスパイの位置を示す。PNMにおいては、ルート再構成(例えば図4を参照されたい)を実行してスパイを探知することができる。基本的な決定論的マーク付け手法の場合には、図4のルート再構成は不要である。ブロック224において、スパイは、転送パスにおいて突き止められ、転送パスから除去される。特に有用な実施形態においては、スパイは、転送パス内に複数の共謀スパイを含む。これらのスパイは、ソース・ノード又は転送ノードである場合があり、攻撃のタイプには、マーク挿入攻撃、マーク除去攻撃、マーク並べ替え攻撃、マーク変更攻撃、選択的ドロッピング攻撃、識別情報スワッピング攻撃又はその他の攻撃がある。本発明の原理によれば、スパイは、そのスパイの1ホップ以内で探知できるという利点がある。
【特許請求の範囲】
【請求項1】
ネットワークにおけるパケット逆探知のための方法であって、
ネットワーク内の各々のノードについて識別番号(ID)を保持することと、
前記ノードとシンクとの間で共有される秘密鍵を用いて、各々の転送ノードにおいて署名を生成することと、
前記シンクでパケットを受信したときに、前記署名が加えられた順序と逆の順序で、前記シンクによって各々のパケットの前記署名の正当性を検証することと、
偽データ注入ソース及び/又は共謀する障害ノードの位置を求めるために、転送パスにおける署名有効性を判断することと、
を含む方法。
【請求項2】
前記IDは、前記転送パス内のノードの存在を示し、前記署名は、前記ノードが前記IDと関連付けられたパケットを送信したことを証明する、請求項1に記載の方法。
【請求項3】
前記署名を生成するために前記鍵に従って前のノードからのパケット全体のハッシュ値を計算することをさらに含む、請求項1に記載の方法。
【請求項4】
署名有効性を判断することは、最後のホップ・ノードについてIDを取得し、前記最後のホップ・ノードについて署名を計算し、前記最後のホップ・ノードの前記署名を検証し、最後の有効な署名が求められるまで繰り返すことを含む、請求項1に記載の方法。
【請求項5】
識別番号(ID)を保持することは、現在のノードと前記シンクとによって知られた前記鍵を用いて前記IDから匿名IDをマッピングすることを含む、請求項1に記載の方法。
【請求項6】
匿名IDをマッピングすることは、現在のパケットのメッセージを用いて、転送された各々のメッセージについての前記匿名IDを変えることを含む、請求項5に記載の方法。
【請求項7】
検証することは、前記転送パス内のノードについての前記匿名IDからIDを求めることを含む、請求項6に記載の方法。
【請求項8】
前記転送パスを通してノードの順序を与えるためにパケットをマーク付けすることをさらに含む、請求項1に記載の方法。
【請求項9】
パケットをマーク付けすることは、前記転送ノードの各々において一定の確率で確率的にパケットをマーク付けすることを含む、請求項8に記載の方法。
【請求項10】
パケットをマーク付けすることは、各々のノードでパケットを決定論的にマーク付けし、各々のパケットについて増加する連続番号を与えることを含む、請求項8に記載の方法。
【請求項11】
各々のパケットの前記署名の正当性を検証することは、スライディング・ウィンドウを用いて有効な連続番号を求めることを含む、請求項1に記載の方法。
【請求項12】
前記転送パスからスパイを除去することをさらに含む、請求項1に記載の方法。
【請求項13】
前記転送パス内の複数の共謀スパイを探知することをさらに含む、請求項1に記載の方法。
【請求項14】
前記スパイの1ホップ以内のスパイを探知することをさらに含む、請求項1に記載の方法。
【請求項15】
ネットワークにおけるパケット逆探知のためのコンピュータ可読プログラムを含むコンピュータ・プログラムであって、前記コンピュータ可読プログラムは、コンピュータ上で実行されたときに、前記コンピュータに、
ネットワーク内の各々のノードについて識別番号(ID)を保持するステップと、
前記ノードとシンクとの間で共有される秘密鍵を用いて、各々の転送ノードにおいて署名を生成するステップと、
前記シンクでパケットを受信したときに、前記署名が加えられた順序と逆の順序で、前記シンクによって各々のパケットの前記署名の正当性を検証するステップと、
偽データ注入ソースを求めるために、転送パスにおける署名有効性を判断するステップと、
を実行させる、コンピュータ・プログラム。
【請求項16】
無線メッシュ又はセンサ・ネットワークにおけるパケット逆探知のための方法であって、
ネットワーク内の各々のノードについて真の識別番号(ID)を保持することと、
現在のノード及びシンクのみに知られている秘密鍵に基づいて、前記真のIDから匿名IDを計算することと、
少なくとも2つの確率で各々のパケットをマーク付けするために、転送パス内の各々のノードについて前記秘密鍵を用いてメッセージ検証コード(MAC)を生成することと、
偽データ注入ソースを発見するために、
前記ネットワーク内のノードについて前記匿名IDから前記真のIDを求め、
各々のパケットに存在するマークを用いてノード・ルートを再構成し、
前記転送パス内の最後の有効MACを求めるために、前記真のIDと前記秘密鍵とを用いて、前記転送パスの各々のノードを遡って各々のパケットの前記MACの正当性を検証する、
ことによって、前記パスを逆探知することと、
を含む方法。
【請求項17】
前記IDは、前記転送パス内のノードの存在を示し、前記MACは、前記ノードが前記IDと関連付けられたパケットを送信したことを証明する、請求項16に記載の方法。
【請求項18】
前記MACを生成するために前記秘密鍵に従って前のノードからのパケットのハッシュ値を計算することをさらに含む、請求項16に記載の方法。
【請求項19】
正当性を検証することは、最後のホップ・ノードについて真のIDを取得し、前記最後のホップ・ノードについてMACを計算し、前記最後のホップ・ノードの前記MACを検証し、最後の有効なMACが求められるまで繰り返すことを含む、請求項16に記載の方法。
【請求項20】
前記転送パス内の複数の共謀スパイを探知し、前記共謀スパイを除去することをさらに含む、請求項16に記載の方法。
【請求項21】
スパイを探知することは、前記スパイの1ホップ以内で実行される、請求項16に記載の方法。
【請求項22】
無線メッシュ又はセンサ・ネットワークにおけるパケット逆探知のためのコンピュータ可読プログラムを含むコンピュータ・プログラムであって、前記コンピュータ可読プログラムは、コンピュータ上で実行されたときに、前記コンピュータに、
ネットワーク内の各々のノードについて真の識別番号(ID)を保持するステップと、
現在のノード及びシンクのみに知られている秘密鍵に基づいて、前記真のIDから匿名IDを計算するステップと、
少なくとも2つの確率で各々のパケットをマーク付けするために、転送パス内の各々のノードについて前記秘密鍵を用いてメッセージ検証コード(MAC)を生成するステップと、
偽データ注入ソースを発見するために、
前記ネットワーク内のノードについて前記匿名IDから前記真のIDを求め、
各々のパケットに存在するマークを用いてノード・ルートを再構成し、
前記転送パス内の最後の有効MACを求めるために、前記真のIDと前記秘密鍵とを用いて、前記転送パスの各々のノードを遡って各々のパケットの前記MACの正当性を検証する、
ことによって、前記パスを逆探知するステップと、
を実行させる、コンピュータ・プログラム。
【請求項1】
ネットワークにおけるパケット逆探知のための方法であって、
ネットワーク内の各々のノードについて識別番号(ID)を保持することと、
前記ノードとシンクとの間で共有される秘密鍵を用いて、各々の転送ノードにおいて署名を生成することと、
前記シンクでパケットを受信したときに、前記署名が加えられた順序と逆の順序で、前記シンクによって各々のパケットの前記署名の正当性を検証することと、
偽データ注入ソース及び/又は共謀する障害ノードの位置を求めるために、転送パスにおける署名有効性を判断することと、
を含む方法。
【請求項2】
前記IDは、前記転送パス内のノードの存在を示し、前記署名は、前記ノードが前記IDと関連付けられたパケットを送信したことを証明する、請求項1に記載の方法。
【請求項3】
前記署名を生成するために前記鍵に従って前のノードからのパケット全体のハッシュ値を計算することをさらに含む、請求項1に記載の方法。
【請求項4】
署名有効性を判断することは、最後のホップ・ノードについてIDを取得し、前記最後のホップ・ノードについて署名を計算し、前記最後のホップ・ノードの前記署名を検証し、最後の有効な署名が求められるまで繰り返すことを含む、請求項1に記載の方法。
【請求項5】
識別番号(ID)を保持することは、現在のノードと前記シンクとによって知られた前記鍵を用いて前記IDから匿名IDをマッピングすることを含む、請求項1に記載の方法。
【請求項6】
匿名IDをマッピングすることは、現在のパケットのメッセージを用いて、転送された各々のメッセージについての前記匿名IDを変えることを含む、請求項5に記載の方法。
【請求項7】
検証することは、前記転送パス内のノードについての前記匿名IDからIDを求めることを含む、請求項6に記載の方法。
【請求項8】
前記転送パスを通してノードの順序を与えるためにパケットをマーク付けすることをさらに含む、請求項1に記載の方法。
【請求項9】
パケットをマーク付けすることは、前記転送ノードの各々において一定の確率で確率的にパケットをマーク付けすることを含む、請求項8に記載の方法。
【請求項10】
パケットをマーク付けすることは、各々のノードでパケットを決定論的にマーク付けし、各々のパケットについて増加する連続番号を与えることを含む、請求項8に記載の方法。
【請求項11】
各々のパケットの前記署名の正当性を検証することは、スライディング・ウィンドウを用いて有効な連続番号を求めることを含む、請求項1に記載の方法。
【請求項12】
前記転送パスからスパイを除去することをさらに含む、請求項1に記載の方法。
【請求項13】
前記転送パス内の複数の共謀スパイを探知することをさらに含む、請求項1に記載の方法。
【請求項14】
前記スパイの1ホップ以内のスパイを探知することをさらに含む、請求項1に記載の方法。
【請求項15】
ネットワークにおけるパケット逆探知のためのコンピュータ可読プログラムを含むコンピュータ・プログラムであって、前記コンピュータ可読プログラムは、コンピュータ上で実行されたときに、前記コンピュータに、
ネットワーク内の各々のノードについて識別番号(ID)を保持するステップと、
前記ノードとシンクとの間で共有される秘密鍵を用いて、各々の転送ノードにおいて署名を生成するステップと、
前記シンクでパケットを受信したときに、前記署名が加えられた順序と逆の順序で、前記シンクによって各々のパケットの前記署名の正当性を検証するステップと、
偽データ注入ソースを求めるために、転送パスにおける署名有効性を判断するステップと、
を実行させる、コンピュータ・プログラム。
【請求項16】
無線メッシュ又はセンサ・ネットワークにおけるパケット逆探知のための方法であって、
ネットワーク内の各々のノードについて真の識別番号(ID)を保持することと、
現在のノード及びシンクのみに知られている秘密鍵に基づいて、前記真のIDから匿名IDを計算することと、
少なくとも2つの確率で各々のパケットをマーク付けするために、転送パス内の各々のノードについて前記秘密鍵を用いてメッセージ検証コード(MAC)を生成することと、
偽データ注入ソースを発見するために、
前記ネットワーク内のノードについて前記匿名IDから前記真のIDを求め、
各々のパケットに存在するマークを用いてノード・ルートを再構成し、
前記転送パス内の最後の有効MACを求めるために、前記真のIDと前記秘密鍵とを用いて、前記転送パスの各々のノードを遡って各々のパケットの前記MACの正当性を検証する、
ことによって、前記パスを逆探知することと、
を含む方法。
【請求項17】
前記IDは、前記転送パス内のノードの存在を示し、前記MACは、前記ノードが前記IDと関連付けられたパケットを送信したことを証明する、請求項16に記載の方法。
【請求項18】
前記MACを生成するために前記秘密鍵に従って前のノードからのパケットのハッシュ値を計算することをさらに含む、請求項16に記載の方法。
【請求項19】
正当性を検証することは、最後のホップ・ノードについて真のIDを取得し、前記最後のホップ・ノードについてMACを計算し、前記最後のホップ・ノードの前記MACを検証し、最後の有効なMACが求められるまで繰り返すことを含む、請求項16に記載の方法。
【請求項20】
前記転送パス内の複数の共謀スパイを探知し、前記共謀スパイを除去することをさらに含む、請求項16に記載の方法。
【請求項21】
スパイを探知することは、前記スパイの1ホップ以内で実行される、請求項16に記載の方法。
【請求項22】
無線メッシュ又はセンサ・ネットワークにおけるパケット逆探知のためのコンピュータ可読プログラムを含むコンピュータ・プログラムであって、前記コンピュータ可読プログラムは、コンピュータ上で実行されたときに、前記コンピュータに、
ネットワーク内の各々のノードについて真の識別番号(ID)を保持するステップと、
現在のノード及びシンクのみに知られている秘密鍵に基づいて、前記真のIDから匿名IDを計算するステップと、
少なくとも2つの確率で各々のパケットをマーク付けするために、転送パス内の各々のノードについて前記秘密鍵を用いてメッセージ検証コード(MAC)を生成するステップと、
偽データ注入ソースを発見するために、
前記ネットワーク内のノードについて前記匿名IDから前記真のIDを求め、
各々のパケットに存在するマークを用いてノード・ルートを再構成し、
前記転送パス内の最後の有効MACを求めるために、前記真のIDと前記秘密鍵とを用いて、前記転送パスの各々のノードを遡って各々のパケットの前記MACの正当性を検証する、
ことによって、前記パスを逆探知するステップと、
を実行させる、コンピュータ・プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公表番号】特表2010−528496(P2010−528496A)
【公表日】平成22年8月19日(2010.8.19)
【国際特許分類】
【出願番号】特願2010−500227(P2010−500227)
【出願日】平成20年3月19日(2008.3.19)
【国際出願番号】PCT/EP2008/053325
【国際公開番号】WO2008/119672
【国際公開日】平成20年10月9日(2008.10.9)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】
【公表日】平成22年8月19日(2010.8.19)
【国際特許分類】
【出願日】平成20年3月19日(2008.3.19)
【国際出願番号】PCT/EP2008/053325
【国際公開番号】WO2008/119672
【国際公開日】平成20年10月9日(2008.10.9)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】
[ Back to top ]