JP2009081768A - センサネットワーク、およびデータ通信方法 - Google Patents

センサネットワーク、およびデータ通信方法 Download PDF

Info

Publication number
JP2009081768A
JP2009081768A JP2007250687A JP2007250687A JP2009081768A JP 2009081768 A JP2009081768 A JP 2009081768A JP 2007250687 A JP2007250687 A JP 2007250687A JP 2007250687 A JP2007250687 A JP 2007250687A JP 2009081768 A JP2009081768 A JP 2009081768A
Authority
JP
Japan
Prior art keywords
cluster
node
mac
sensor
setting packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007250687A
Other languages
English (en)
Inventor
Tomoyuki Asano
智之 浅野
Masafumi Kusakawa
雅文 草川
Seijun In
晟準 尹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2007250687A priority Critical patent/JP2009081768A/ja
Publication of JP2009081768A publication Critical patent/JP2009081768A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】センサネットワークにおける効率的かつ安全なデータ通信を実現する。
【解決手段】センサネットワークにおいて、メッセージ送信装置からの署名設定パケットを受信したノードが公開鍵を適用した署名検証の成功を条件として、ノード固有共通鍵を適用したMACを設定した第1MAC設定パケットを生成して出力し、クラスタヘッドノードが、パケットを受信してMAC検証処理による検証成功の確認を条件として、所属クラスタ内のセンサノードが共有するクラスタ共通鍵を適用したMACを設定した第2MAC設定パケットを生成して出力する。第2MAC設定パケットを受信したセンサノードが、MAC検証処理を実行して検証成功を条件として受信メッセージの適用処理を実行する。
【選択図】図4

Description

本発明は、センサネットワーク、およびデータ通信方法に関する。さらに、詳細には、多数のセンサノードに対してコマンドやメッセージを伝える構成を持つセンサネットワーク、およびデータ通信方法に関する。
多数の通信可能なセンサによって構成されるセンサネットワークは様々な分野での利用が進んでいる。例えば温度や湿度などのセンサ部を有する通信可能なセンサノードを様々な位置に配置し、これらのセンサノードからの測定情報をセンタに集積して空調を行うシステムや、あるいは無人の倉庫や工場などにおいて移動物体を検出するセンサを様々な位置に配置して侵入者や物体の動きなどを検出するシステムなど様々な分野で利用されている。
このようなセンサネットワークの概要を図1に示す。図1には、多数のセンサノード(SN1,SN2,SN3・・・)が配置されたセンサノード設定領域10を示している。各センサノード(SNm)は例えば温度、湿度の測定部と通信部を有し、センサ測定情報などを通信部を介して近隣のセンサノードに送信する。通信は無線通信で行われ、少なくとも近隣のセンサノードが受信できるレベルでのデータ送信が実行される。
各センサは他のセンサからの受信データをさらに近隣のセンサノードに送信する。各センサノードはこれらの処理を繰り返し、センサノード設定領域10の管理を実行するベースステーション20に伝え、ベースステーションがセンサノードから受信した情報を解析して解析に従った処理を実行するといった構成である。なお、図1に示す矢印は情報の通信経路の一部のみを示している。
このようなセンサネットワークにおいて、センサノード(SNm)に対してコマンドやメッセージを伝える場合がある。例えばセンサノード(SNm)が温度測定を実行するセンサであり、20度以上になったことが検出された場合にメッセージを出力する設定であったとする。このメッセージ出力の設定温度を20度から30度に変更する場合、全てのセンサノードの設定を変更することが必要であり、設定変更のためのコマンドを送信して設定を変更するといった処理が行われる。
このような場合、コマンドやメッセージを全てのセンサノードに伝えて、各センサノードでコマンドを実行させて設定を変更する処理が必要となる。センサノードに伝えるコマンドやメッセージは、ベースステーション20や、その他のユーザ装置から出力され、各ノードに伝えられる。
ユーザ装置30がメッセージ(コマンドを含む)を出力する場合の例を図2に示す。ユーザ装置30は、メッセージの送信を行うが、この場合、不正なメッセージに基づいて各ノードで誤った処理が行われないように、メッセージの正当性を示すための検証用データを付加して送信し、各ノードで検証用データを利用してメッセージの正当性を検証して正当性が確認されたことを条件として受信メッセージ内のコマンド実行や、メッセージ転送処理が行われる。なお、メッセージ検証処理を伴う通信構成を持つワイヤレスセンサネットワークの構成については、例えば非特許文献1〜3などに記載されている。
ワイヤレスセンサネットワークにおいて、検証用データを付加したメッセージ通信の方式としては、
(1)公開鍵暗号方式
(2)共通鍵暗号方式
これらのいずれかの方式を適用した処理が一般的である。
例えば公開鍵暗号方式では、信頼できる管理センタ、例えば図2に示す例では、ベースステーション20の秘密鍵による電子署名が検証用データとして利用される。
また、共通鍵方式では、メッセージ送信者やセンサノードが共有する共通鍵を利用したMAC(Message Authentication Code)が検証用データとして利用される。
図2に示すユーザ装置30は、メッセージに検証用データを付加して送信する。図2に示すユーザ装置30の近隣領域のセンサノード(SN1,SN2,SN3)がメッセージ格納パケットを受信すると、検証用データを用いた検証処理を実行して、メッセージが正当なメッセージであるか否かを検証し、正しいと確認された場合に、自ノードにおいて格納コマンドを実行し、受信メッセージをさらに近隣ノードに送信する。他のノードでも検証用データを利用した検証処理を実行して、検証処理の実行によって受信メッセージの正当性が確認された場合にのみデータ伝送を行い、コマンドを実行するといった処理が行われることになる。このような処理によって正しいコマンドのみが実行され、不正なコマンドの実行を防止することができる。
しかしながら、このような検証データに基づく検証処理を伴うメッセージ伝播を行うと、(1)公開鍵暗号方式、(2)共通鍵暗号方式いずれにおいても問題が発生する。以下各方式における問題点について説明する。
(1)公開鍵暗号方式を適用した場合、全てのノードで電子署名の検証を行うことが必要となる。この署名検証処理は負荷の大きい処理であり、数百〜数千の多数のノードの各々においてこの公開鍵暗号アルゴリズムに従った電子署名検証を実行させると、全ノードのメッセージ伝播、コマンド実行に要する時間が長くなってしまう。また、各ノードに公開鍵暗号アルゴリズムに従った電子署名検証処理を実行させるための機能を持たせることは各ノードのコストが高くなるという問題もある。また、電子署名の検証処理には、署名に適用した秘密鍵に対応する公開鍵が必要となるが、この公開鍵を各ノードに保有させると各ノードのメモリ容量を大きくすることが必要となる。公開鍵を公開鍵証明書としてメッセージに付加して伝播させることも可能であるが、この場合には通信パケットのデータ量が大きくなり、通信処理の負荷が大きくなる。
(2)共通鍵方式を適用した場合、検証用データとしてのMACの生成および検証には共通の鍵が用いられるが、各センサノードは、この共通鍵をメモリに格納しておくことが必要となる。例えばメッセージを発信しようとするユーザ装置が新たに追加された新規な装置である場合、その装置の持つ鍵を共通鍵としてすべてのノードに新たに格納しなければならなくなる。センサノードが数百〜数千といった多数のノードによって構成されている場合、この作業は膨大なものとなり、実質的にメッセージ発信装置の新規追加が困難となる。コマンドやメッセージを発行するユーザ装置が多数、存在する場合、センサノードは、それぞれのユーザ装置に対応する鍵を検証用の共通鍵として保持することが必要となり、ユーザ装置の数に応じて格納する鍵の数が増大し必要なメモリ容量が増加してしまうという問題がある。
T. Dimitriou and I. Krontiris. Autonomic communication security in sensor networks. In Proceedings of the 2nd International Workshop on Autonomic Communication, Oct. 2005. S. Banerjee and D. Mukhopadhyay. Symmetric key based authenticated querying in wireless sensor networks. In Proceedings of the 1st International Conference on Integrated Internet Ad hoc and Sensor Networks, May 2006. D. Liu, P. Ning, S. Zhu, and S. Jajodia. Practical broadcast authentication in sensor networks. In Proceedings of the 2nd Annual International Conference on Mobile and Ubiquitous Systems: Networking and Services, Nov. 2005.
本発明は、上述の問題点に鑑みてなされたものであり、多数のセンサノードによって構成されるセンサネットワークにおいて、各センサノードの負荷を過大にすることなく安全な通信を行うことを可能としたセンサネットワーク、およびデータ通信方法を提供することを目的とする。
本発明の第1の側面は、
複数の通信可能なセンサノードによって構成されるセンサネットワークであり、
前記センサネットワークは、複数のクラスタに分割され、
各クラスタは、センサノードとして、
複数のノーマルノードと、
少なくとも1つのクラスタヘッドノードを含み、
クラスタ内センサノード中、メッセージ送信装置から出力される公開鍵暗号アルゴリズムに従った電子署名を設定した署名設定パケットを受信したセンサノードは、公開鍵を適用した署名検証処理による検証成功の確認を条件として、受信メッセージに対して該センサノードと同一クラスタ内のクラスタヘッドノードのみが共有するノード固有共通鍵を適用したMAC(Message Authentication Code)を設定した第1MAC設定パケットを生成して出力する構成であり、
前記クラスタヘッドノードは、前記第1MAC設定パケットを受信し、MAC検証処理による検証成功の確認を条件として受信メッセージに対して、所属クラスタ内のセンサノードが共有するクラスタ共通鍵を適用したMACを設定した第2MAC設定パケットを生成して出力する構成であり、
前記第2MAC設定パケットを受信したセンサノードは、MAC検証処理を実行し、検証処理の成功を条件として受信メッセージの適用処理を実行する構成であることを特徴とするセンサネットワークにある。
さらに、本発明のセンサネットワークの一実施例において、前記クラスタは、他のクラスタと重複するクラスタ重複領域を有し、前記クラスタ重複領域には、所属クラスタが複数クラスタとなるゲートウェイノードが配置され、前記ゲートウェイノードは、前記第2MAC設定パケットを受信してMAC検証処理を行い、検証処理の成功を条件として受信メッセージの適用処理を実行するとともに、前記受信メッセージに対して、前記第2MAC設定パケットの送信元クラスタと異なる別の所属クラスタのクラスタヘッドノードと、前記ゲートウェイノードのみが共有するノード固有共通鍵を適用したMACを設定した第3MAC設定パケットを生成して出力する構成であることを特徴とする。
さらに、本発明のセンサネットワークの一実施例において、前記クラスタヘッドノードは、前記第1MAC設定パケットを受信し、MAC検証処理による検証成功の確認を行い、受信して検証が成功した第1MAC設定パケット数が予め定めた閾値数以上となった場合に、メッセージが正当であると判断して、前記第2MAC設定パケットを生成して出力する構成であることを特徴とする。
さらに、本発明のセンサネットワークの一実施例において、前記署名設定パケットを受信するセンサノードは、署名設定パケットに付加された公開鍵証明書から公開鍵を取得して取得した公開鍵を適用して署名検証処理を実行する構成であることを特徴とする。
さらに、本発明のセンサネットワークの一実施例において、前記ノーマルノードは、該ノーマルノードと、ノーマルノードの所属するクラスタのクラスタヘッドノードのみが共有するノード固有共通鍵と、前記ノーマルノードの所属するクラスタのセンサノードが共有するクラスタ共有鍵をメモリに格納した構成であり、前記クラスタヘッドノードは、前記クラスタヘッドノードの所属するクラスタに含まれるセンサノードの各々が保持するノード固有共通鍵と、前記クラスタヘッドノードの所属するクラスタのセンサノードが共有するクラスタ共有鍵をメモリに格納した構成であることを特徴とする。
さらに、本発明のセンサネットワークの一実施例において、前記ゲートウェイノードは、該ゲートウェイノードと、ゲートウェイノードの所属する複数クラスタのいずれかのクラスタヘッドノードのみが共有するノード固有共通鍵を所属クラスタ数分、メモリに格納し、さらに、前記ゲートウェイノードの所属する複数クラスタの各々のセンサノードがそれぞれ共有するクラスタ共有鍵を所属クラスタ数分、メモリに格納した構成であることを特徴とする。
さらに、本発明の第2の側面は、
複数の通信可能なセンサノードによって構成されるセンサネットワークにおけるデータ通信方法であり、
前記センサネットワークは、複数のクラスタに分割され、
各クラスタは、センサノードとして、
複数のノーマルノードと、
少なくとも1つのクラスタヘッドノードを含み、
クラスタ内センサノード中、メッセージ送信装置から出力される公開鍵暗号アルゴリズムに従った電子署名を設定した署名設定パケットを受信したセンサノードが、
公開鍵を適用した署名検証処理による検証成功の確認を条件として、受信メッセージに対して該センサノードと同一クラスタ内のクラスタヘッドノードのみが共有するノード固有共通鍵を適用したMAC(Message Authentication Code)を設定した第1MAC設定パケットを生成して出力するステップと、
前記クラスタヘッドノードが、
前記第1MAC設定パケットを受信し、MAC検証処理による検証成功の確認を条件として受信メッセージに対して、所属クラスタ内のセンサノードが共有するクラスタ共通鍵を適用したMACを設定した第2MAC設定パケットを生成して出力するステップと、
前記第2MAC設定パケットを受信したセンサノードが、
MAC検証処理を実行し、検証処理の成功を条件として受信メッセージの適用処理を実行するステップと、
を有することを特徴とするデータ通信方法にある。
さらに、本発明のデータ通信方法の一実施例において、前記クラスタは、他のクラスタと重複するクラスタ重複領域を有し、前記クラスタ重複領域には、所属クラスタが複数クラスタとなるゲートウェイノードが配置され、前記ゲートウェイノードは、前記第2MAC設定パケットを受信してMAC検証処理を行い、検証処理の成功を条件として受信メッセージの適用処理を実行するとともに、前記受信メッセージに対して、前記第2MAC設定パケットの送信元クラスタと異なる別の所属クラスタのクラスタヘッドノードと、前記ゲートウェイノードのみが共有するノード固有共通鍵を適用したMACを設定した第3MAC設定パケットを生成して出力することを特徴とする。
さらに、本発明のデータ通信方法の一実施例において、前記クラスタヘッドノードは、前記第1MAC設定パケットを受信し、MAC検証処理による検証成功の確認を行い、受信して検証が成功した第1MAC設定パケット数が予め定めた閾値数以上となった場合に、メッセージが正当であると判断して、前記第2MAC設定パケットを生成して出力することを特徴とする。
さらに、本発明のデータ通信方法の一実施例において、前記署名設定パケットを受信するセンサノードは、署名設定パケットに付加された公開鍵証明書から公開鍵を取得して取得した公開鍵を適用して署名検証処理を実行することを特徴とする。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の一実施例の構成によれば、複数の通信可能なセンサノードによって構成されるセンサネットワークにおいて、メッセージ送信装置から出力される公開鍵暗号アルゴリズムに従った電子署名を設定した署名設定パケットを受信したセンサノードが、公開鍵を適用した署名検証処理による検証成功の確認を条件として、受信メッセージに対して該センサノードと同一クラスタ内のクラスタヘッドノードのみが共有するノード固有共通鍵を適用したMACを設定した第1MAC設定パケットを生成して出力し、クラスタヘッドノードが、第1MAC設定パケットを受信してMAC検証処理による検証成功の確認を条件として受信メッセージに対して、所属クラスタ内のセンサノードが共有するクラスタ共通鍵を適用したMACを設定した第2MAC設定パケットを生成して出力し、第2MAC設定パケットを受信したセンサノードが、MAC検証処理を実行して、検証処理の成功を条件として受信メッセージの適用処理を実行する構成とした。本構成によれば、不正なメッセージパケットを確実に排除し、かつ各センサノードの処理負荷を軽減した効率的なセンサネットワーク制御構成が実現される。
さらに、本発明の一実施例の構成によれば、クラスタ重複領域に所属クラスタが複数クラスタとなるゲートウェイノードを配置し、ゲートウェイノードが、上記第2MAC設定パケットを受信してMAC検証処理を行い、検証処理の成功を条件として受信メッセージの適用処理を実行するとともに、受信メッセージに対して、第2MAC設定パケットの送信元クラスタと異なる別の所属クラスタのクラスタヘッドノードと、ゲートウェイノードのみが共有するノード固有共通鍵を適用したMACを設定した第3MAC設定パケットを生成して別の所属クラスタに出力する構成としたので、クラスタ間でのスムーズなデータ転送が実現され、不正なメッセージパケットを確実に排除し、かつ各センサノードの処理負荷を軽減した効率的なセンサネットワーク制御構成が実現される。
以下、図面を参照しながら本発明のセンサネットワーク、およびデータ通信方法の詳細について説明する。
図3に本発明のセンサネットワークの一実施例を示す。センサネットワーク100は、複数のセンサノードから構成される。図に示す[S]、[G]、[CH]はすべてセンサノードである。センシング情報は様々なであり、温度、湿度などの環境情報、人、物体の移動検出などの情報が各センサノードにおいて取得される。
各センサノードは、センサ部と通信部を有し、近隣センサとの通信を実行することが可能な構成を有する。右上部に示すベースステーション180は、例えばこれらのセンサノードの管理を行い、センサノードからのセンサ情報の収集処理や、センサノードに対するコマンド、メッセージ発行処理などを行う。なお、コマンドやメッセージの発行は、ベースステーション180以外のユーザ装置からも行うことができる。この具体例については後述する。
本発明の一実施例に従ったセンサネットワークは、図3に示すように、複数の区分領域である[クラスタ]を有する。図3に示す例では、
(1)第1クラスタ110、
(2)第2クラスタ120、
(3)第3クラスタ130、
(4)第4クラスタ140、
これらの4つのクラスタに区分されている。なお、クラスタには複数のクラスタが重なったクラスタ重なり領域161〜164を有する。
図3に示すセンサネットワーク100に設定されたクラスタ領域は、以下の4つのクラスタである。
(1)第1クラスタ110は、(P1),(P2),(P3),(P4)を4頂点とする矩形領域、
(2)第2クラスタ120は、(P5),(P6),(P7),(P8)を4頂点とする矩形領域、
(3)第3クラスタ130は、(P9),(P10),(P11),(P12)を4頂点とする矩形領域、
(4)第4クラスタ140は、(P13)(P14),(P15),(P16)を4頂点とする矩形領域、
である。なお、本例では、各クラスタは矩形領域として設定してあるが、クラスタ形状は矩形領域に限らず円形、楕円形など様々な任意形状に設定可能である。また、センサネットワーク100は平面領域である必要はなく、例えばビルの複数フロアに渡る領域によって構成されるなど、様々な領域設定が可能である。
また、クラスタの重なり領域161,162,163,164が以下の領域として設定されている。
(a)クラスタ重なり領域161:第1クラスタ110と第2クラスタ120の重なり部分であり、(P5),(P6),(P3),(P4)を4頂点とする矩形領域、
(b)クラスタ重なり領域162:第2クラスタ120と第4クラスタ140の重なり部分であり、(P13),(P6),(P7),(P16)を4頂点とする矩形領域、
(c)クラスタ重なり領域163:第3クラスタ130と第4クラスタ140の重なり部分であり、(P13),(P14),(P11),(P12)を4頂点とする矩形領域、
(d)クラスタ重なり領域164:第1クラスタ110と第3クラスタ130重なり部分であり、(P9),(P2),(P3),(P12)を4頂点とする矩形領域、
これらのクラスタ重なり領域が設定されている。
前述したように、図に示す[S]、[G]、[CH]はすべてセンサノードであり、例えば温度、湿度、あるいは物体の動きなどを測定、検出するセンサによって構成されるが、
[S]は、ノーマルノード
[G]は、ゲートウェイノード
[CH]は、クラスタヘッドノード
であり、それぞれが異なる機能を持つ。
(A)ノーマルノード[S]はセンサノードとしての基本的な処理を行うセンサノードであり、単一のクラスタに所属するセンサノードである。
(B)ゲートウェイノード[G]はセンサノードとしての基本的な処理を行うとともに、複数の異なるクラスタ間の通信処理を実行するセンサノードであり、複数のクラスタに所属するセンサノードである。すなわち、図に示すクラスタ重なり領域に所属するセンサノードである。
(C)クラスタヘッドノード[CH]は、各クラスタに少なくとも1つ存在し、センサノードとしての基本的な処理を行うとともに、クラスタ所属ノードに対して、コマンドやメッセージをブロードキャスト送信するノードである。
通常の動作状態では、センサネットワークに含まれるすべてのセンサノード[S],[G],[CH]、これらのセンサノードは予め設定されたセンシング処理を実行して、センシング結果を含む通信データを生成して近隣ノードに送信する。送信データは各ノードを伝播してベースステーション180によって受信され、ベースステーションにおいてセンサ情報を利用した様々な処理が実行される。
前述したように、センサネットワークを構成するセンサノードに対してコマンドやメッセージを伝える場合がある。例えばセンサノードが温度測定を実行するセンサであり20度以上になったことが検出された場合にメッセージを出力する設定を変更してメッセージ出力設定温度を20度から30度にするといったような場合や、センサ情報の出力スパンを変更するような場合などである。
このような場合、全てのセンサノードの設定を変更することが必要であり、設定変更のためのコマンドを送信して、コマンドを受信したセンサがコマンドを実行して設定を変更するといった処理が行われる。センサノードに伝えるコマンドやメッセージは、ベースステーション180や、その他のユーザ装置から出力され、各ノードに伝えられる。
ただし、センサノードは広範な領域に設定され、ベースステーション180や、その他のユーザ装置から一斉に全てのセンサノードに対してメッセージを送信することは困難であり、例えば、ユーザ装置から出力されたメッセージは、ユーザ装置の近隣のノードが受信し、その受信メッセージをさらに近隣のノードに転送するといった処理が行われる。
ユーザ装置200がメッセージ(コマンドを含む)を出力する場合の例を図4に示す。ユーザ装置200は、メッセージの送信を行うが、この場合、不正なメッセージに基づいて各ノードで誤った処理が行われないように、メッセージの正当性を示すための検証用データを付加して送信する。
前述したように、ワイヤレスセンサネットワークにおいて、検証用データを付加したメッセージ通信の方式としては、
(1)公開鍵暗号方式
(2)共通鍵暗号方式
これらのいずれかの方式を適用した処理が一般的である。しかし、先に説明したように、いずれの方式においてもセンサノードにおける処理負荷の増大やノード間の送受信データの増大といった問題、メッセージ送信者の追加などに対応できないといった様々な問題を発生させるものとなっている。
本発明のセンサネットワークは、これらの問題を解決したノード間通信を実現している。図4を参照して本発明のセンサネットワークにおける処理について説明する。
ユーザ装置200は、公開鍵暗号方式に従った電子署名、例えばベースステーション180の秘密鍵によって署名を生成して、コマンドなどのメッセージに検証用データとしての電子署名を設定した署名設定パケットを生成して出力する。また,別の例としては,コマンドへの署名はユーザ装置200が固有に持つ秘密鍵を用いて生成し,その検証のための公開鍵を公開鍵証明書に格納し,署名設定パケットに格納して送信してもよい.この場合,公開鍵証明書にはベースステーション180の秘密鍵によって署名が施され,その検証は各センサノードがあらかじめ保持するベースステーション180の公開鍵によって行われる.ユーザ装置200の出力したメッセージパケット310は、ユーザ装置200の近隣ノードにおいてのみ受信される。図4に示す例では、第1クラスタ110に属する3つのノーマルノード[SN1],[SN2],[SN3]である。その後、これらのノードで公開鍵暗号方式に従った署名検証が実行される。
ユーザ装置200の出力した公開鍵暗号方式に従った電子署名を設定した電子署名設定パケットを受信したセンサノード[SN1],[SN2],[SN3]において、メッセージの正当性が確認された場合、ノーマルノード[SN1],[SN2],[SN3]の各々は、受信メッセージに対して共通鍵暗号方式に従った検証用データであるMAC(Message Authentication Code)を設定したパケットを新たに生成して、このMAC設定パケットを、クラスタヘッドノード(CH)を宛先として送信する。このMACは、ノーマルノード[SNm]とクラスタヘッドノード(CH1)のみが共有する共通鍵[ノード固有共通鍵]を用いて生成される。
なお、例えばノーマルノード[S]であるノード[SN1]は、
第1クラスタ110に共通の第1クラスタ共通鍵=[クラスタ共通鍵]、
ノーマルノード[GN1]と第1クラスタ110のクラスタヘッドノード[CH1]のみが共有する共通鍵=[ノード固有共通鍵]、
これらの鍵を保持している。
ノーマルノード[SN1],[SN2],[SN3]の各々が生成した[ノード固有共通鍵]によるMACの設定されたMAC設定パケットは各ノードを介して転送され、ノーマルノード[SN1],[SN2],[SN3]の所属するクラスタヘッドノード(CH1)が受信する。なお、MAC設定パケットのノード間転送において、転送処理を行うノードではMAC検証は実行されない。MACは、ノーマルノード[SN1],[SN2],[SN3]のいずれかとクラスタヘッドノード(CH1)のみが共有する共通鍵[ノード固有共通鍵]を用いて生成されたものであり、パケット転送処理を実行するセンサノードはMAC検証用の鍵を有しておらずMAC検証は実行できない。
第1クラスタ110のクラスタヘッドノード(CH1)は、ノーマルノード[SN1],[SN2],[SN3]の出力したMAC設定パケットを、複数のルートから受信し、受信したパケットのMAC検証処理を実行する。
クラスタヘッドノード(CH1)は、同一クラスタに属する全てのノードに個別に配布されている[ノード固有共通鍵]を全て保持しており、ノーマルノード[SN1],[SN2],[SN3]の出力したMAC設定パケットに設定されたMACの検証用鍵である。
ノーマルノード[SN1]対応の[ノード固有共通鍵]、
ノーマルノード[SN2]対応の[ノード固有共通鍵]、
ノーマルノード[SN3]対応の[ノード固有共通鍵]、
これらを全て保持しているので、
これらの受信パケットについて、それぞれの[ノード固有共通鍵]を選択適用してMAC検証処理を行うことができる。
クラスタヘッドノード(CH1)は、複数のパケット検証を行い、それぞれ異なるノーマルノードが作成した正当性の確認されたパケット数が予め定めた閾値数以上となった場合、受信パケットが正当なメッセージパケットであると判定し、そのメッセージに対してクラスタの全てのノードが格納している共通鍵[クラスタ共通鍵]でMACを設定した新たなMAC設定パケットを生成して、クラスタ内のセンサノードに対してブロードキャスト配信を行う。
クラスタ共通鍵は、クラスタ内のセンサノードのすべてが保持しており、クラスタ共通鍵でMACが設定されたパケットは、クラスタ内のセンサノードのすべてにおいて検証可能となる。このMAC設定パケットを受信したセンサノードは、MAC検証処理を実行して正当性が確認された場合に、そのメッセージであるコマンドを実行し、かつ他のノードに対してMAC設定パケットの転送処理を実行する。なお、この[クラスタ共通鍵]によるMAC設定を行ったMAC設定パケットを受信して正当性検証を行い、コマンド実行をおこなうセンサノードには、同一クラスタに属するノーマルノード[S]のみならず、ゲートウェイノード[G]も含まれる。
なお、複数のクラスタに属するゲートウェイノード[G]は、クラスタ間でのメッセージパケットの転送処理も行う。
例えば図4に示す第1クラスタ110と、第2クラスタに属するクラスタ重なり領域161に属するゲートウェイノード[G]である[GN1],[GN2],[GN3]は、第1クラスタ110のクラスタヘッドノード[CH1]の生成した[第1クラスタ共通鍵]でMACが設定されたパケットを受信して、MAC検証を実行してメッセージの正当性が確認されると、第2クラスタ120のクラスタヘッドノード[CH2]を宛先としたMAC設定パケットを新たに生成して出力する。
例えばゲートウェイノード[G]である[GN1]は、
第1クラスタ110に共通の共通鍵[第1クラスタ共通鍵]、
第2クラスタ110に共通の共通鍵[第2クラスタ共通鍵]、
ゲートウェイノード[GN1]と第1クラスタ110のクラスタヘッドノード[CH1]のみが共有する共通鍵[ノード固有共通鍵(第1クラスタ対応)]、
ゲートウェイノード[GN1]と第2クラスタ120のクラスタヘッドノード[CH2]のみが共有する共通鍵[ノード固有共通鍵(第2クラスタ対応)]、
これらの鍵を保持している。
例えば図4に示す第1クラスタ110と、第2クラスタに属するクラスタ重なり領域161に属するゲートウェイノード[G]である[GN1]は、第1クラスタ110のクラスタヘッドノード[CH1]の生成した[第1クラスタ共通鍵]でMACが設定されたパケットを受信して、MAC検証を実行してメッセージの正当性が確認されると、ゲートウェイノード[GN1]と第2クラスタ120のクラスタヘッドノード[CH2]のみが共有する共通鍵[ノード固有共通鍵(第2クラスタ対応)]を適用してMAC生成を行った新たなMAC設定パケットを生成して、第2クラスタ120のクラスタヘッドノード[CH2]を宛先としたMAC設定パケットを新たに生成して出力する。
このパケットは、第2クラスタ120内のノーマルノードを経由して第2クラスタ120のクラスタヘッドノード[CH2]に到達する。て第2クラスタ120のクラスタヘッドノード[CH2]は、複数のルートから複数のMAC設定パケットを受信し、受信したパケットのMAC検証処理を実行し、それぞれ異なるノーマルノードが作成した予め定めた閾値数のパケット検証に成功した場合、正しいメッセージであると判定し、そのメッセージに対して第2クラスタ120の全てのノードが格納している[第2クラスタ共通鍵]でMACを設定した新たなMAC設定パケットを生成して、第2クラスタ内のセンサノードに対してMAC設定パケットをブロードキャストして配信する。
このMAC設定パケットを受信した第2クラスタ内のセンサノードは、MAC検証処理を実行して正当性が確認された場合に、そのメッセージであるコマンドを実行し、かつ他のノードに対してMAC設定パケットの転送処理を実行する。このようにして、各クラスタに対してデータ送信が実行される。
図5を参照して、本発明のセンサネットワークを構成する各ノードのメモリに格納される鍵データについて説明する。
図5には、ノーマルノード[S]、ゲートウェイノード[G]、クラスタヘッドノード[CH]の所有する鍵データを示している。なお、ノーマルノード[S]の所属クラスタは[クラスタi]、ゲートウェイノード[G]の所属クラスタは2つのクラスタ[クラスタiとクラスタj]、クラスタヘッドノード[CH]の所属クラスタは[クラスタi]とする。
(1)ノーマルノード[S]の格納鍵
クラスタiに所属するm番目のノーマルノード[S(i)]のメモリに格納される鍵データは、
(S1)ノード固有共通鍵Km(i)、
(S2)クラスタ共通鍵Kc(i)
この2つの鍵となる。
なお、上記表記[Km(i)],[Kc(i)]において、
mはクラスタiに所属するセンサノード(ノーマルノード[S],ゲートウェイノード[G]を含む)のシーケンスナンバー、
iは、クラスタナンバー、
cはクラスタ共通鍵であることを示す識別子、
であり、
m=1,2,3,・・・・
i=1,2,3・・・
である。
(S1)ノード固有共通鍵Sm(i)は、クラスタiのm番目のノードと、そのクラスタiのクラスタヘッドノード[CH(i)]のみが共通に保持する共通鍵である。
(S2)クラスタ共通鍵Kc(i)は、クラスタiに属する全てのノード[S(i)],[G(i)],[CH(i)]が共通に保持するクラスタ全体の共通鍵である。
(2)ゲートウェイノード[G]の格納鍵
クラスタiとクラスタjに所属するm番目のゲートウェイノード[G(i,j)]のメモリに格納される鍵データは、
(G1)ノード固有共通鍵Km(i)、
(G2)ノード固有共通鍵Km(j)、
(G3)クラスタ共通鍵Kc(i)、
(G4)クラスタ共通鍵Kc(j)
この4つの鍵となる。
(G1)ノード固有共通鍵Km(i)は、クラスタiのm番目のノードと、そのクラスタiのクラスタヘッドノード[CH(i)]のみが共通に保持する共通鍵である。
(G2)ノード固有共通鍵Km(j)は、クラスタjのm番目のノードと、そのクラスタjのクラスタヘッドノード[CH(j)]のみが共通に保持する共通鍵である。
(G3)クラスタ共通鍵Kc(i)は、クラスタiに属する全てのノード[S(i)],[G(i)],[CH(i)]が共通に保持するクラスタ全体の共通鍵である。
(G4)クラスタ共通鍵Kc(j)は、クラスタjに属する全てのノード[S(j)],[G(j)],[CH(j)]が共通に保持するクラスタ全体の共通鍵である。
(3)クラスタヘッドノード[CH]の格納鍵
クラスタiに所属するクラスタヘッドノード[CH(i)]のメモリに格納される鍵データは、
(CH1)クラスタ[i]に所属するセンサノード全てのノード固有共通鍵
Km(i)={K1(i),K2(i),・・・},
(CH2)クラスタ共通鍵Kc(i)
これらの鍵となる。
(CH1)ノード固有共通鍵Km(i)は、クラスタiのm番目のノードと、そのクラスタiのクラスタヘッドノード[CH(i)]のみが共通に保持する共通鍵であり、クラスタヘッドノード[CH(i)]は、クラスタ(i)に属する全てのセンサノード(ノーマルノード[S]とゲートウェイノード[G]を含む)が個別に保有している[ノード固有共通鍵]を全て保持している。
(CH2)クラスタ共通鍵Kc(i)は、クラスタiに属する全てのノード[S(i)],[G(i)],[CH(i)]が共通に保持するクラスタ全体の共通鍵である。
図6、図7を参照してユーザ装置300から出力されるメッセージパケットの構成および処理について説明する。
図6には、
メッセージパケットを送信するユーザ装置200、
ユーザ装置200からのメッセージパケットを直接受信するセンサノード251を含む第1クラスタ110、
第1クラスタ110と第2クラスタの両者に所属するゲートウェイノード[G]を介してメッセージパケットを受信する第2クラスタ120
これらの構成を示している。
なお、クラスタ間のデータ転送はゲートウェイノードを介して次々に実行されることになり、第3クラスタ、第4クラスタ、第5クラスタ・・・など、任意のクラスタ数が設定されていても、すべてのクラスタに対してメッセージは順次転送される。
まず、ユーザ装置200は、公開鍵暗号方式に従った電子署名、例えばベースステーション180の秘密鍵によって署名を生成して、コマンドなどのメッセージに検証用データとしての電子署名を設定した署名設定パケットを生成して出力する。また,別の例としては,コマンドへの署名はユーザ装置200が固有に持つ秘密鍵を用いて生成し,その検証のための公開鍵を公開鍵証明書に格納し,署名設定パケットに格納して送信してもよい.この場合,公開鍵証明書にはベースステーション180の秘密鍵によって署名が施され,その検証は各センサノードがあらかじめ保持するベースステーション180の公開鍵によって行われる.
このメッセージパケットの構成例を図7(A)に示す。ユーザ装置200の出力する署名設定パケットは、図7(A)に示すように、コマンドなどからなるメッセージ311と、メッセージ311に対して例えばベースステーション180またはユーザ装置200の秘密鍵によって生成した電子署名312、電子署名の検証に必要となる公開鍵を格納した公開鍵証明書313を含むメッセージ格納パケット310であり、この署名設定パケット310を生成して出力する。
ユーザ装置200の出力した署名設定パケット310は、ユーザ装置200の近隣ノードにおいてのみ受信される。図6に示す例では、第1クラスタ110に属するノーマルノード[S]251などが受信することになる。
ユーザ装置200の出力した署名設定パケット310を受信するノードが複数の場合でもその受信ノードの処理は共通であるので、図6では、ノーマルノード[S]251の処理を代表例として説明する。第1クラスタ110に属するノーマルノード[S]251では、公開鍵暗号方式に従った署名検証が実行される。
ノーマルノード[S]251は、図7(A)に示す公開鍵証明書313から公開鍵を取得する。この公開鍵証明書には、電子署名312の署名生成に適用した秘密鍵に対応する公開鍵が格納されている。ノーマルノード[S]251は、公開鍵証明書から取り出した公開鍵を適用して公開鍵暗号アルゴリズムに従った署名検証処理を行う。
署名検証により、署名設定パケット310の正当性が確認された場合、ノーマルノード[S]251は、受信メッセージに対して共通鍵暗号方式に従った検証用データであるMAC(Message Authentication Code)を設定したパケットを新たに生成して、このMAC設定パケットを、同一クラスタである第1クラスタ110のクラスタヘッドノード(CH1)252を宛先として送信する。このMACは、ノーマルノード[S]251とクラスタヘッドノード(CH1)252のみが共有する共通鍵[ノード固有共通鍵]を用いて生成される。
ノーマルノード[S]251の生成するMAC設定パケットの構成例を図7(B)に示す。図7(B)に示すように、ノーマルノード[S]251の生成するMAC設定パケット(byノード固有共通鍵)は、コマンドなどからなるメッセージ321と、メッセージ321に対して、センサノードとクラスタヘッドノードのみが共有する共通鍵[ノード固有共通鍵]を適用して生成したMAC322を含むメッセージ格納パケット320である。
先に図5を参照して説明したように、ノーマルノード[S]であるノード[SN1]は、
第1クラスタ110に共通の第1クラスタ共通鍵=[クラスタ共通鍵]、
ノーマルノード[GN1]と第1クラスタ110のクラスタヘッドノード[CH1]のみが共有する共通鍵=[ノード固有共通鍵]、
これらの鍵を保持しており、ノーマルノード[S]251は、[ノード固有共通鍵]を適用したMACを生成し、図7(B)に示すMAC設定パケット(byノード固有共通鍵)を生成して送信する。
ノーマルノード[S]251が生成した[ノード固有共通鍵]によるMACの設定されたMAC設定パケットは各ノードを介して転送され、ノーマルノード[S]251の所属するクラスタヘッドノード(CH1)252が受信する。
前述したように、MAC設定パケットのノード間転送において、転送処理を行うノードではMAC検証は実行されない。第1クラスタ110のクラスタヘッドノード(CH1)251は、受信した[MAC設定パケット(byノード固有共通鍵)]のMAC検証処理を実行する。
先に図5を参照して説明したように、クラスタヘッドノード(CH1)252は、同一クラスタに属する全てのノードに個別に配布されている[ノード固有共通鍵]を全て保持しており、ノーマルノード[S]251の出力したMAC設定パケットに設定されたMACの検証用鍵を保持しているので、[ノード固有共通鍵]を選択適用してMAC検証処理を行うことができる。
クラスタヘッドノード(CH1)252は、第1クラスタ110に散在する多数のセンサノードから複数の[MAC設定パケット(byノード固有共通鍵)]を受信する。これは、ユーザ装置200から署名設定パケット310を受信するノードが複数存在し、また第1クラスタ内のノード間転送も様々なルートで実行されるためである。
クラスタヘッドノード(CH1)252は、複数のパケット検証を行い、それぞれ異なるノーマルノードが作成した,正当性の確認されたパケット数が予め定めた閾値数以上となった場合、受信パケットが正当なメッセージパケットであると判定し、そのメッセージに対してクラスタの全てのノードが格納している共通鍵[クラスタ共通鍵]でMACを設定した新たなMAC設定パケットを生成して、クラスタ内のセンサノードに対してブロードキャスト配信を行う。
クラスタヘッドノード(CH1)252の生成するMAC設定パケットの構成例を図7(C)に示す。図7(C)に示すように、クラスタヘッドノード(CH1)252の生成するMAC設定パケット(byクラスタ共通鍵)は、コマンドなどからなるメッセージ331と、メッセージ331に対して、同一クラスタに即する全てのセンサノード(ノーマルノード[S],ゲートウェイノード[G],クラスタヘッドノード[CH])が共有する共通鍵[クラスタ共通鍵]を適用して生成したMAC332を含むメッセージ格納パケット330である。
クラスタヘッドノード(CH1)252は、図7(C)に示すMAC設定パケット(byクラスタ共通鍵)330をクラスタ内のセンサノードに対してブロードキャスト配信を行う。
クラスタ共通鍵は、クラスタ内のセンサノードのすべてが保持しており、クラスタ共通鍵でMACが設定されたパケットは、クラスタ内のセンサノードのすべてにおいて検証可能となる。このMAC設定パケットを受信したセンサノードは、MAC検証処理を実行して正当性が確認された場合に、そのメッセージであるコマンドを実行し、かつ他のノードに対してMAC設定パケットの転送処理を実行する。
第1クラスタ110と第2クラスタ120の双方に属するゲートウェイノード、例えばゲートウェイノード261も、MAC検証処理を実行して正当性が確認された場合に、そのメッセージであるコマンドを実行し、かつ他のノードに対してMAC設定パケットの転送処理を実行する。この転送処理に際して、ゲートウェイノード261は、第2クラスタのセンサノードに対応するMAC設定パケットを生成して送信する処理を行う。
第1クラスタ110と、第2クラスタに属するクラスタ重なり領域161に属するゲートウェイノード[G]261は、第1クラスタ110のクラスタヘッドノード[CH1]252の生成した[第1クラスタ共通鍵]でMACが設定されたパケットを受信して、MAC検証を実行してメッセージの正当性が確認されると、ゲートウェイノード[G]261と第2クラスタ120のクラスタヘッドノード[CH2]262のみが共有する共通鍵[ノード固有共通鍵(第2クラスタ対応)]を適用してMAC生成を行った新たなMAC設定パケットを生成して、第2クラスタ120のクラスタヘッドノード[CH2]を宛先としたMAC設定パケットを新たに生成して出力する。
このパケットは、図7(B)に示すMAC設定パケット(byノード固有共通鍵)320の構成を持つ。このMAC設定パケット(byノード固有共通鍵)320は、第2クラスタ120内のノーマルノードを経由して第2クラスタ120のクラスタヘッドノード[CH2]262に到達する。て第2クラスタ120のクラスタヘッドノード[CH2]262は、複数のルートから複数のMAC設定パケットを受信し、受信したパケットのMAC検証処理を実行し、予め定めた閾値数のパケット検証に成功した場合、正しいメッセージであると判定し、そのメッセージに対して第2クラスタ120の全てのノードが格納している[第2クラスタ共通鍵]でMACを設定した新たなMAC設定パケットを生成して、第2クラスタ内のセンサノードに対してMAC設定パケットをブロードキャストして配信する。
このMAC設定パケットは図7(C)に示すMAC設定パケット(byクラスタ共通鍵)330の構成を持つ。このMAC設定パケットを受信した第2クラスタ内のセンサノードは、MAC検証処理を実行して正当性が確認された場合に、そのメッセージであるコマンドを実行し、かつ他のノードに対してMAC設定パケットの転送処理を実行する。このようにして、各クラスタに対してデータ送信が実行される。この処理が順次実行されることになる。
次に、図8〜図10に示すフローチャートを参照して、
(1)ノーマルノード[S]の処理(図8)、
(2)クラスタヘッドノード[CH]の処理(図9)、
(3)ゲートウェイノード[G]の処理(図10)、
これらの各ノードの処理シーケンスについて説明する。
まず、図8に示すフローチャートを参照して、ノーマルノード[S]の処理シーケンスについて説明する。
ノーマルノード[S]は、ステップS101において、受信パケットの種類を判別する。すなわち受信パケットが、
公開鍵暗号アルゴリズムに従った電子署名設定パケット、
共通鍵暗号アルゴリズムに従ったMAC設定パケット、
これらのいずれであるかを判別する。
公開鍵暗号アルゴリズムに従った電子署名設定パケットであると判定した場合は、ステップS102に進み、共通鍵暗号アルゴリズムに従ったMAC設定パケットであると判定した場合は、ステップS111に進む。
公開鍵暗号アルゴリズムに従った電子署名設定パケットであると判定した場合は、その受信パケットはクラスタ外の例えばユーザ装置から受信したパケットであると判定し、ステップS102において、パケットに設定された電子署名の検証処理を行う。この電子署名検証は公開鍵を用いて公開鍵暗号アルゴリズムに従って実行される。
ステップS103において署名検証に成功、すなわちメッセージパケットの正当性が確認されたか否かを判定し、署名検証に失敗した場合は、メッセージパケットが不正なパケットであると判断し、ステップS131に進みパケットを廃棄して処理を終了する。
ステップS103において署名検証に成功、すなわちメッセージパケットの正当性が確認された場合は、メッセージパケットが正当なパケットであると判断し、ステップS104に進み署名設定パケット内に含まれるメッセージに対するMACを[ノード固有共通鍵]を適用して生成し、MAC設定パケット(byノード固有共通鍵)(図7(B)に示すパケット)を生成してステップS105において、近隣ノードに出力する。
このステップS102〜105の処理は、ユーザ装置などの外部装置からの署名設定パケットを受信した場合の処理である。
一方、ステップS101において、受信パケットが、共通鍵暗号アルゴリズムに従ったMAC設定パケットであると判定した場合は、ステップS111に進み、ステップS111において、受信したMAC設定パケットが、
ノード固有共通鍵によって生成されたMACが設定されたMAC設定パケットであるか、
クラスタ共通鍵によって生成されたMACが設定されたMAC設定パケットであるか、
いずれのMAC設定パケットであるかを判別する。
ノード固有共通鍵によって生成されたMACが設定されたMAC設定パケットである場合は、ステップS121に進み、受信パケットを近隣ノードに転送する。この処理は、クラスタヘッドノード宛のパケットのノード間転送処理に相当する。
一方、ステップS111において、受信したMAC設定パケットが、クラスタ共通鍵によって生成されたMACが設定されたMAC設定パケットであると判定した場合は、ステップS112に進み、ノードが保持するクラスタ共通鍵を適用してMAC検証処理を行う。このMAC検証処理は共通鍵暗号アルゴリズムに従って実行される。
ステップS113においてMAC検証に失敗、すなわちメッセージの正当性が確認されなかった場合は、ステップS132に進み、パケットを廃棄する。ステップS113においてMAC検証に成功、すなわちメッセージの正当性が確認された場合は、ステップS114に進み、MAC設定パケット内のメッセージに対応する処理、例えばメッセージとして格納されたコマンドを実行する。次に、ステップS115において受信したMAC設定パケットを近隣のセンサノードに転送して処理を終了する。
このステップS112〜S115の処理は、クラスタヘッドノード[CH]がブロードキャスト配信するMAC設定パケット(byクラスタ共通鍵)に対応する処理である。
なお,上記のステップS101とS111におけるパケットの判別であるが、そのパケットがユーザが発信した電子署名設定パケットであるか、あるノーマルノード[S]からクラスタヘッドノード[CH]へ送信されるMAC設定パケットであるか、クラスタヘッドノード[CH]からクラスタ内の全センサノードに同報送信されるMAC設定パケットであるかを表す情報をパケット内に格納し、これを用いて判別するようにしてもよい。
次に、図9に示すフローチャートを参照して、クラスタヘッドノード[CH]の処理シーケンスについて説明する。
クラスタヘッドノード[CH]は、まずステップS201において、MAC設定パケットを受信する。このMAC設定パケットは、例えばユーザ装置等から出力されクラスタの最初の受信ノードが検証を行い、検証成功に応じて[ノード固有共通鍵]を適用して生成したMAC設定パケット(byノード固有共通鍵)である。
クラスタヘッドノード[CH]は、ステップS201において、MAC設定パケット(byノード固有共通鍵)を受信すると、ステップS202において、自己のメモリに格納したノード固有共通鍵を適用してMAC検証を実行する。このMAC検証処理は共通鍵暗号アルゴリズムに従って実行される。
ステップS203においてMAC検証に失敗、すなわちメッセージの正当性が確認されなかった場合は、ステップS211に進み、パケットを廃棄した後にステップS201に戻り次の受信パケットを待機する。ステップS203においてMAC検証に成功、すなわちメッセージの正当性が確認された場合は、ステップS204に進み、それぞれ異なるノーマルノードが作成したMAC検証成功パケット数が予め設定された閾値数以上になったか否かを判定する。
MAC検証成功パケット数が予め設定された閾値数以上になっていない場合は、ステップS201に戻り次の受信パケットを待機する。
ステップS204において、MAC検証成功パケット数が予め設定された閾値数以上になったと判定された場合、ステップS205に進み、パケット内のメッセージに対してクラスタ共通鍵を適用したMACを生成し、そのMACを設定した新たなMAC設定パケットを生成してクラスタ内にブロードキャスト配信を行う。このパケットは図7(C)に示すMAC設定パケット(byクラスタ共通鍵)である。
なお、ステップS204の処理、すなわち、MAC検証成功パケット数が予め設定された閾値数以上になったか否かの判定処理は、省略して1つのMAC設定パケットの検証に成功した場合にはステップS205の処理を実行する構成としてもよい。すなわちこの場合、閾値パケット数=1に相当する。
次に、図10を参照してゲートウェイノード[G]の処理シーケンスについて説明する。ゲートウェイノード[G]は、図8のフローチャートを参照して説明したノーマルノード[S]の処理を実行するとともに、さらに付加的な処理を行うノードである。
図10に示すフローチャート中、右側に示すステップS301,S302の処理が、ゲートウェイノード[G]が図8のフローチャートを参照して説明した処理に加えて実行する処理ステップとなる。
すなわち、先に図8を参照して説明したクラスタヘッドノード[CH]の送信するブロードキャストパケットであるMAC設定パケット(byクラスタ共通鍵)に対する処理ステップS112〜S115の処理の後、ステップS301、ステップS302の処理を行う。
ステップS112〜S115では、クラスタヘッドノード[CH]の送信するブロードキャストパケットであるMAC設定パケット(byクラスタ共通鍵)の正当性が確認され、自ノードでのメッセージ処理、例えばコマンド実行および近隣ノードに対する送信を行うステップである。ゲートウェイノード[G]はその後、ステップS301において、受信パケットに含まれるメッセージに対して第2クラスタ対応のノード固有共通鍵でMACを生成して、ステップS302において、生成したMAC生成パケットを第2クラスタのノードに対して出力する。なお、ゲートウェイノード[G]の受信パケットは第1クラスタのクラスタヘッドノード[CH]の送信したブロードキャストパケットであり、ゲートウェイノード[G]は第1クラスタと第2クラスタに所属しているものとする。
この処理によって、他のクラスタへのメッセージ転送が実行されることになる。なお、上述した実施例では、ゲートウェイノード[G]は2のクラスタに所属している実施例を説明したが、例えば3つ以上のクラスタに所属する設定としてもよい。
3つ以上のクラスタに所属するゲートウェイノードは、所属するクラスタに対応する[ノード固有共通鍵]と[クラスタ共通鍵]のセットを所属クラスタ数分保持し、ある1つのクラスタかのクラスタヘッドノードのブロードキャストパケット[MAC設定パケット(byクラスタ共通鍵)]を受信した場合、その受信パケットのMAC検証を行ってMAC検証に成功した場合は、他のクラスタに対応する複数の[ノード固有共通鍵]を個別に適用したMACを設定したMAC設定パケットを複数生成して、それぞれのクラスタに転送する処理を行う。
最後にセンサノードの構成例について、図11を参照して説明する。図11に示すセンサノードの構成は、ノーマルノード[S]、ゲートウェイノード[G]、クラスタヘッドノード[CH]に共通する構成である。
センサノード500は、図11に示すように、データ処理部501、センサ502、通信部503、メモリ504を有する。センサは例えば温度、湿度などの環境情報を測定するセンサ、人や物の動きを検出するセンサなど用途に応じて様々なタイプのセンサが設定される。センサのセンシング情報はデータ処理部501に送られる。
データ処理部501は、メモリ504に格納されているデータ処理プログラムに従った様々なデータ処理を行う。例えばセンサ502からの入力情報を格納したパケットを生成して通信部503を介して出力する。この際、メモリに格納された鍵を適用して検証データ、例えばMACを生成して送信パケットに付加するといった処理を行う。通信部は、データ処理部501の生成したパケットを出力し、また近隣ノードから送信されるパケットを受信する。
データ処理部501は、先に説明した図8〜図10のフローチャートに従った処理を実行する。この処理シーケンスは、センサノードがノーマルノード[S]であるか、ゲートウェイノード[G]であるか、クラスタヘッドノード[CH]であるかによって異なるものとなり、これらの処理プログラムはメモリ504に格納されている。
また、先に図5を参照して説明したように、メモリ504には、MAC検証用、MAC生成用の鍵が格納されている。これらの鍵の種類は、ノーマルノード[S]であるか、ゲートウェイノード[G]であるか、クラスタヘッドノード[CH]であるかによって異なるものとなる。
なお、ユーザ装置からの最初のメッセージパケットを受信するノードでは公開鍵暗号アルゴリズムに基づく署名検証を行うことになるが、この際に適用する公開鍵は、前述の実施例では署名設定パケットに付加さている公開鍵証明書から取得する構成として説明したが、予め外部のユーザ装置からの署名設定パケットを受信する可能性のある選択されたセンサノードのメモリに公開鍵を格納しておいてもよい。このような設定とすれば、図7(A)を参照して説明した署名設定メッセージパケットは公開鍵証明書を省略したパケット構成とすることが可能である。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の一実施例の構成によれば、複数の通信可能なセンサノードによって構成されるセンサネットワークにおいて、メッセージ送信装置から出力される公開鍵暗号アルゴリズムに従った電子署名を設定した署名設定パケットを受信したセンサノードが、公開鍵を適用した署名検証処理による検証成功の確認を条件として、受信メッセージに対して該センサノードと同一クラスタ内のクラスタヘッドノードのみが共有するノード固有共通鍵を適用したMACを設定した第1MAC設定パケットを生成して出力し、クラスタヘッドノードが、第1MAC設定パケットを受信してMAC検証処理による検証成功の確認を条件として受信メッセージに対して、所属クラスタ内のセンサノードが共有するクラスタ共通鍵を適用したMACを設定した第2MAC設定パケットを生成して出力し、第2MAC設定パケットを受信したセンサノードが、MAC検証処理を実行して、検証処理の成功を条件として受信メッセージの適用処理を実行する構成とした。本構成によれば、不正なメッセージパケットを確実に排除し、かつ各センサノードの処理負荷を軽減した効率的なセンサネットワーク制御構成が実現される。
さらに、本発明の一実施例の構成によれば、クラスタ重複領域に所属クラスタが複数クラスタとなるゲートウェイノードを配置し、ゲートウェイノードが、上記第2MAC設定パケットを受信してMAC検証処理を行い、検証処理の成功を条件として受信メッセージの適用処理を実行するとともに、受信メッセージに対して、第2MAC設定パケットの送信元クラスタと異なる別の所属クラスタのクラスタヘッドノードと、ゲートウェイノードのみが共有するノード固有共通鍵を適用したMACを設定した第3MAC設定パケットを生成して別の所属クラスタに出力する構成としたので、クラスタ間でのスムーズなデータ転送が実現され、不正なメッセージパケットを確実に排除し、かつ各センサノードの処理負荷を軽減した効率的なセンサネットワーク制御構成が実現される。
センサネットワークの構成について説明する図である。 センサネットワークにおける通信処理例について説明する図である。 本発明の一実施例に従ったセンサネットワークの構成例について説明する図である。 本発明の一実施例に従ったセンサネットワークにおける通信処理例について説明する図である。 本発明の一実施例に従ったセンサネットワークにおける各センサノードの格納鍵データ例について説明する図である。 本発明の一実施例に従ったセンサネットワークの通信処理例について説明する図である。 本発明の一実施例に従ったセンサネットワークの通信処理に際して利用されるパケット構成例について説明する図である。 本発明の一実施例に従ったセンサネットワークにおけるノーマルノードの処理シーケンスについて説明するフローチャートを示す図である。 本発明の一実施例に従ったセンサネットワークにおけるクラスタヘッドノードの処理シーケンスについて説明するフローチャートを示す図である。 本発明の一実施例に従ったセンサネットワークにおけるゲートウェイノードの処理シーケンスについて説明するフローチャートを示す図である。 本発明の一実施例に従ったセンサネットワークを構成するセンサノードの構成例を示すブロック図である。
符号の説明
10 センサネットワーク
20 ベースステーション
30 ユーザ装置
100 センサネットワーク
110 第1クラスタ
120 第2クラスタ
130 第3クラスタ
140 第4クラスタ
161〜163 クラスタ重なり領域
180 ベースステーション
200 ユーザ装置
251 ノーマルノード
252 クラスタヘッドノード
261 ゲートウェイノード
262 クラスタヘッドノード
310 署名設定パケット
311 メッセージ
312 電子署名
313 公開鍵証明書
320 MAC設定パケット
321 メッセージ
322 MAC
330 MAC設定パケット
331 メッセージ
332 MAC
500 センサノード
501 データ処理部
502 センサ
503 通信部
504 メモリ

Claims (10)

  1. 複数の通信可能なセンサノードによって構成されるセンサネットワークであり、
    前記センサネットワークは、複数のクラスタに分割され、
    各クラスタは、センサノードとして、
    複数のノーマルノードと、
    少なくとも1つのクラスタヘッドノードを含み、
    クラスタ内センサノード中、メッセージ送信装置から出力される公開鍵暗号アルゴリズムに従った電子署名を設定した署名設定パケットを受信したセンサノードは、公開鍵を適用した署名検証処理による検証成功の確認を条件として、受信メッセージに対して該センサノードと同一クラスタ内のクラスタヘッドノードのみが共有するノード固有共通鍵を適用したMAC(Message Authentication Code)を設定した第1MAC設定パケットを生成して出力する構成であり、
    前記クラスタヘッドノードは、前記第1MAC設定パケットを受信し、MAC検証処理による検証成功の確認を条件として受信メッセージに対して、所属クラスタ内のセンサノードが共有するクラスタ共通鍵を適用したMACを設定した第2MAC設定パケットを生成して出力する構成であり、
    前記第2MAC設定パケットを受信したセンサノードは、MAC検証処理を実行し、検証処理の成功を条件として受信メッセージの適用処理を実行する構成であることを特徴とするセンサネットワーク。
  2. 前記クラスタは、他のクラスタと重複するクラスタ重複領域を有し、
    前記クラスタ重複領域には、所属クラスタが複数クラスタとなるゲートウェイノードが配置され、
    前記ゲートウェイノードは、
    前記第2MAC設定パケットを受信してMAC検証処理を行い、検証処理の成功を条件として受信メッセージの適用処理を実行するとともに、
    前記受信メッセージに対して、前記第2MAC設定パケットの送信元クラスタと異なる別の所属クラスタのクラスタヘッドノードと、前記ゲートウェイノードのみが共有するノード固有共通鍵を適用したMACを設定した第3MAC設定パケットを生成して出力する構成であることを特徴とする請求項1に記載のセンサネットワーク。
  3. 前記クラスタヘッドノードは、
    前記第1MAC設定パケットを受信し、MAC検証処理による検証成功の確認を行い、受信して検証が成功した第1MAC設定パケット数が予め定めた閾値数以上となった場合に、メッセージが正当であると判断して、前記第2MAC設定パケットを生成して出力する構成であることを特徴とする請求項1または2に記載のセンサネットワーク。
  4. 前記署名設定パケットを受信するセンサノードは、
    署名設定パケットに付加された公開鍵証明書から公開鍵を取得して取得した公開鍵を適用して署名検証処理を実行する構成であることを特徴とする請求項1に記載のセンサネットワーク。
  5. 前記ノーマルノードは、
    該ノーマルノードと、ノーマルノードの所属するクラスタのクラスタヘッドノードのみが共有するノード固有共通鍵と、
    前記ノーマルノードの所属するクラスタのセンサノードが共有するクラスタ共有鍵をメモリに格納した構成であり、
    前記クラスタヘッドノードは、
    前記クラスタヘッドノードの所属するクラスタに含まれるセンサノードの各々が保持するノード固有共通鍵と、
    前記クラスタヘッドノードの所属するクラスタのセンサノードが共有するクラスタ共有鍵をメモリに格納した構成であることを特徴とする請求項1に記載のセンサネットワーク。
  6. 前記ゲートウェイノードは、
    該ゲートウェイノードと、ゲートウェイノードの所属する複数クラスタのいずれかのクラスタヘッドノードのみが共有するノード固有共通鍵を所属クラスタ数分、メモリに格納し、
    さらに、前記ゲートウェイノードの所属する複数クラスタの各々のセンサノードがそれぞれ共有するクラスタ共有鍵を所属クラスタ数分、メモリに格納した構成であることを特徴とする請求項2に記載のセンサネットワーク。
  7. 複数の通信可能なセンサノードによって構成されるセンサネットワークにおけるデータ通信方法であり、
    前記センサネットワークは、複数のクラスタに分割され、
    各クラスタは、センサノードとして、
    複数のノーマルノードと、
    少なくとも1つのクラスタヘッドノードを含み、
    クラスタ内センサノード中、メッセージ送信装置から出力される公開鍵暗号アルゴリズムに従った電子署名を設定した署名設定パケットを受信したセンサノードが、
    公開鍵を適用した署名検証処理による検証成功の確認を条件として、受信メッセージに対して該センサノードと同一クラスタ内のクラスタヘッドノードのみが共有するノード固有共通鍵を適用したMAC(Message Authentication Code)を設定した第1MAC設定パケットを生成して出力するステップと、
    前記クラスタヘッドノードが、
    前記第1MAC設定パケットを受信し、MAC検証処理による検証成功の確認を条件として受信メッセージに対して、所属クラスタ内のセンサノードが共有するクラスタ共通鍵を適用したMACを設定した第2MAC設定パケットを生成して出力するステップと、
    前記第2MAC設定パケットを受信したセンサノードが、
    MAC検証処理を実行し、検証処理の成功を条件として受信メッセージの適用処理を実行するステップと、
    を有することを特徴とするデータ通信方法。
  8. 前記クラスタは、他のクラスタと重複するクラスタ重複領域を有し、
    前記クラスタ重複領域には、所属クラスタが複数クラスタとなるゲートウェイノードが配置され、
    前記ゲートウェイノードは、
    前記第2MAC設定パケットを受信してMAC検証処理を行い、検証処理の成功を条件として受信メッセージの適用処理を実行するとともに、
    前記受信メッセージに対して、前記第2MAC設定パケットの送信元クラスタと異なる別の所属クラスタのクラスタヘッドノードと、前記ゲートウェイノードのみが共有するノード固有共通鍵を適用したMACを設定した第3MAC設定パケットを生成して出力することを特徴とする請求項7に記載のデータ通信方法。
  9. 前記クラスタヘッドノードは、
    前記第1MAC設定パケットを受信し、MAC検証処理による検証成功の確認を行い、受信して検証が成功した第1MAC設定パケット数が予め定めた閾値数以上となった場合に、メッセージが正当であると判断して、前記第2MAC設定パケットを生成して出力することを特徴とする請求項7または8に記載のデータ通信方法。
  10. 前記署名設定パケットを受信するセンサノードは、
    署名設定パケットに付加された公開鍵証明書から公開鍵を取得して取得した公開鍵を適用して署名検証処理を実行することを特徴とする請求項7に記載のデータ通信方法。
JP2007250687A 2007-09-27 2007-09-27 センサネットワーク、およびデータ通信方法 Pending JP2009081768A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007250687A JP2009081768A (ja) 2007-09-27 2007-09-27 センサネットワーク、およびデータ通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007250687A JP2009081768A (ja) 2007-09-27 2007-09-27 センサネットワーク、およびデータ通信方法

Publications (1)

Publication Number Publication Date
JP2009081768A true JP2009081768A (ja) 2009-04-16

Family

ID=40656176

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007250687A Pending JP2009081768A (ja) 2007-09-27 2007-09-27 センサネットワーク、およびデータ通信方法

Country Status (1)

Country Link
JP (1) JP2009081768A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101034383B1 (ko) 2009-05-29 2011-05-16 연세대학교 산학협력단 무선 센서 네트워크에서 단대단 통신 방법 및 상기 무선 센서 네트워크에서 코디네이터 및 통신 장치 구동 방법
WO2011121713A1 (ja) * 2010-03-29 2011-10-06 富士通株式会社 ノード、転送方法、および転送プログラム
CN111786785A (zh) * 2020-07-24 2020-10-16 国网冀北电力有限公司电力科学研究院 基于区块链的配电物联网节点切换方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101034383B1 (ko) 2009-05-29 2011-05-16 연세대학교 산학협력단 무선 센서 네트워크에서 단대단 통신 방법 및 상기 무선 센서 네트워크에서 코디네이터 및 통신 장치 구동 방법
WO2011121713A1 (ja) * 2010-03-29 2011-10-06 富士通株式会社 ノード、転送方法、および転送プログラム
JP5240404B2 (ja) * 2010-03-29 2013-07-17 富士通株式会社 ノード、転送方法、および転送プログラム
CN111786785A (zh) * 2020-07-24 2020-10-16 国网冀北电力有限公司电力科学研究院 基于区块链的配电物联网节点切换方法及装置
CN111786785B (zh) * 2020-07-24 2023-11-24 国网冀北电力有限公司电力科学研究院 基于区块链的配电物联网节点切换方法及装置

Similar Documents

Publication Publication Date Title
Ashibani et al. Cyber physical systems security: Analysis, challenges and solutions
Yang et al. A novel en-route filtering scheme against false data injection attacks in cyber-physical networked systems
US8416949B2 (en) Actor node, sensor node, coverage block change method, parameter change method, program, and information processing system
JP5348125B2 (ja) サーバ認証システム、サーバ認証方法及びサーバ認証用プログラム
JP5652556B2 (ja) 通信ノード、通信制御方法、および通信ノードの制御プログラム
Li et al. Toward reliable actor services in wireless sensor and actor networks
Azarderskhsh et al. Secure clustering and symmetric key establishment in heterogeneous wireless sensor networks
Grover et al. A survey of broadcast authentication schemes for wireless networks
Ács et al. Provable security of on-demand distance vector routing in wireless ad hoc networks
EP3171557B1 (en) Data routing for electronic devices
Santhosh Kumar et al. Energy efficient and secured distributed data dissemination using hop by hop authentication in WSN
Zhang et al. Security issues in wireless mesh networks
JP2009081768A (ja) センサネットワーク、およびデータ通信方法
Omar et al. Secure and reliable certificate chains recovery protocol for mobile ad hoc networks
Matam et al. Provably Secure Routing Protocol for Wireless Mesh Networks.
Ouada et al. Lightweight identity-based authentication protocol for wireless sensor networks
Martínez de Lucena et al. An analysis of the gateway integrity checking protocol from the perspective of intrusion detection systems
JP6475271B2 (ja) ゲートウェイ装置、機器、及び通信システム
Liu Protecting neighbor discovery against node compromises in sensor networks
US11233727B1 (en) System and method for securing SDN based source routing
Graves et al. Detection of channel degradation attack by intermediary node in linear networks
Sliti et al. An elliptic threshold signature framework for k-security in wireless sensor networks
Janani et al. Trust-based hexagonal clustering for efficient certificate management scheme in mobile ad hoc networks
Frontera et al. Bloom Filter based Collective Remote Attestation for Dynamic Networks
Vora et al. Universe detectors for sybil defense in ad hoc wireless networks