JP6163880B2 - 通信装置、通信システム及び通信方法 - Google Patents

通信装置、通信システム及び通信方法 Download PDF

Info

Publication number
JP6163880B2
JP6163880B2 JP2013113204A JP2013113204A JP6163880B2 JP 6163880 B2 JP6163880 B2 JP 6163880B2 JP 2013113204 A JP2013113204 A JP 2013113204A JP 2013113204 A JP2013113204 A JP 2013113204A JP 6163880 B2 JP6163880 B2 JP 6163880B2
Authority
JP
Japan
Prior art keywords
key
communication
node
frame
frame counter
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.)
Active
Application number
JP2013113204A
Other languages
English (en)
Other versions
JP2014232999A (ja
Inventor
康貴 川本
康貴 川本
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2013113204A priority Critical patent/JP6163880B2/ja
Publication of JP2014232999A publication Critical patent/JP2014232999A/ja
Application granted granted Critical
Publication of JP6163880B2 publication Critical patent/JP6163880B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信装置、通信システム及び通信方法に関し、例えば、セキュア通信を行う通信装置、通信システム及び通信方法に適用し得るものである。
セキュリティ機能を持つ情報通信装置において、セキュアフレームにセキュア通信回数を示すカウンタを付与することが多い。これは、ネットワークを経由した認証等の際、第三者が認証情報等を取得して、接続先ホストに不正なアクセスを行うリプレイ攻撃を防ぐためである。
例えば、ZigBeeネットワークをインタネットプロトコル(IP)に接続するための通信プロトコルとしてZigBeeIPがある。ZigBeeIPは、IEEE802.15.4に規定される規格化技術をMAC(Media Access control)層として利用することが規定されている。
IEEE802.15.4の規格化技術は、MAC層の設定値として、セキュアフレームの通信回数を示すFrameCounter(PIB_FrameCounter)という値を有している。
送信ノードは、セキュアフレームの送信の際、自身のPIB_FrameCounter値をフレームに付与して送信する。送信ノードは、セキュアフレームを送信する毎にカウンタ値を1ずつインクリメントしていく。
受信ノードは、送信ノードからセキュアフレームを受信すると、セキュアフレームに付与されているPIB_FrameCounter値を抽出して、PIB_FrameCounter値を送信ノード毎に記憶している。ここで、受信ノードが記憶する各送信ノードのPIB_FrameCounterをDevice_FrameCounterと呼ぶ。
そして、受信ノードがセキュアフレームを受信するたびに、受信ノードは、セキュアフレームに付与されているPIB_FrameCounter値と、自身が記憶している当該送信ノードのDevice_FrameCounter値と比較する。Device_FrameCounter値のほうが大きい場合、受信ノードは、FrameCounter値の同期異常であると判断して、受信したセキュアフレームを破棄する。
また、ZigBeeIPの仕様には、以下のような技術が規定されている。
ZigBeeIPにおいては、MAC層のセキュリティキーを定期的に変更する。
ZigBeeIPには、ネットワーク上の全てのノードに対して、コーディネータである親ノードがセキュリティキーを配布する仕組みがある。
ネットワーク上の各ノードは、新しいセキュリティキー(以下、「新鍵」という)が配布され、新鍵を利用して暗号化を行う場合でも、古いセキュリティキー(以下、「旧鍵」という)を消去しない。
各ノードは、セキュリティキーを変更した際に、PIB_FrameCounter値を「0」にリセットする。
ネットワーク上の親ノードは、周囲の子ノードに対して、「今からセキュリティキーを変更する」旨を示す変更開始情報を通知する。親ノードの変更開始情報の通知後、親ノードは、自身が記憶している各子ノードのDevice_FrameCounter値を「0」にリセットする。
新鍵を持っていない状態で親ノードから変更開始情報の通知を受けた場合、子ノードは、親ノードに対して新鍵を要求する機能を有する。
上記のようなIEEE802.15.4の規格化技術をMAC層に利用するZigBeeIPの仕様において、MAC層のセキュリティキーを変更する処理は以下のようになる。
(1)親ノードがセキュリティキーを変更する場合、親ノードは、周囲の子ノードに対して、「今からセキュリティキーを変更する」旨の変更開始情報を通知する。
(2)親ノードが変更開始情報の通知後、親ノードが記憶している子ノードのDevice_FrameCounter値を「0」に設定する。
(3)親ノードから変更開始情報の通知を受けた子ノードは、今後のセキュアフレーム送信時に利用するセキュリティキーを旧鍵から新鍵に変更し、PIB_FrameCounter値を「0」に設定する。
IEEE802.15.4−2011
上述したように、ネットワーク上の全てのノードに「新鍵」と「旧鍵」との両方が配布された場合、上述したセキュリティキーの変更手順は問題なく行なわれる。
しかしながら、ネットワーク上のノードにスリープノードが存在する場合には、以下のような問題が生じ得る。
ノードがスリープ状態の場合、当該スリープノードはデータ通信を行うことができないため、スリープノードは新鍵を受信することができない。ZigBeeIPの仕様は、ネットワーク上の全てのノードに対してセキュリティキーを配布する仕組みはある。しかし、スリープノードは、独自のタイミングでスリープ状態に遷移する。そのため、コーディネータである親ノードは、実際に全てのノードのセキュリティキーを配布できたかを確認することは難しい。
従って、親ノードがセキュリティキーの変更開始情報を通知したとしても、スリープ状態にあったノードは、その通知後セキュリティキーの変更を行うまで、旧鍵を利用して通信することになる。そして、新鍵入手後に、スリープ状態にあったノードは、自身のPIB_FrameCounterの値を「0」に設定することになる。
そうすると、親ノードが子ノード(スリープ状態にあったノード)に対するDevice_FrameCounter値を「0」にリセットするタイミングと、子ノード(スリープ状態にあったノード)がPIB_FrameCounter値を「0」にするタイミングとが異なることになる。
この結果、子ノードが、新鍵であるセキュリティキーを用いてセキュアフレームを送信した場合、親ノードにおいて、当該子ノードのDevice_FrameCounter値が「0」以上の値となり、当該子ノードからのセキュアフレームに付与されるPIB_FrameCounter値は「0」となってしまう。
このような場合、IEEE802.15.4の規格化技術に基づいて、親ノードは、FrameCounterの同期異常と判断し、当該子ノードからのフレームを破棄することになる。そのため、通信ができなくなってしまうという問題が生じ得る。
そのため、上記課題に鑑み、セキュア通信に係るセキュリティキー(鍵)を変更したときでも、セキュアフレームによる通信を行うことができる通信装置、通信システム及び通信方法が求められている。
かかる課題を解決するようために、第1の発明は、セキュア通信に係る鍵を用いたセキュアフレームの送信回数を示す送信フレームカウンタ値を管理する1又は複数の他の通信装置から、少なくとも送信フレームカウンタ値と各他の通信装置が利用した鍵を示す利用鍵情報とが付与されたセキュアフレームを受信する通信装置において、1又は複数の他の通信装置のいずれから受信したセキュアフレームに付与されている送信フレームカウンタ値を、当該他の通信装置の受信フレームカウンタ値として記憶するものであって、利用鍵情報に基づいて、各他の通信装置の受信フレームカウンタ値を、鍵毎に個別に記憶する受信フレームカウンタ記憶手段を備えることを特徴とする通信装置である。
第2の本発明は、第1の通信装置と第2の通信装置と間でセキュア通信を行う通信システムにおいて、第1の通信装置が、セキュア通信に係る鍵を用いたセキュアフレームの送信回数を示す送信フレームカウンタ値を記憶する送信フレームカウンタ記憶手段と、少なくとも送信フレームカウンタ値と利用した鍵を示す利用鍵情報とを付与したセキュアフレームを送信する送信手段とを備え、第2の通信装置が、1又は複数の他の通信装置のいずれから受信したセキュアフレームに付与されている送信フレームカウンタ値を、当該他の通信装置の受信フレームカウンタ値として記憶する受信フレームカウンタ記憶手段を備え、受信フレームカウンタ記憶手段が、利用鍵情報に基づいて、各他の通信装置の受信フレームカウンタ値を、鍵毎に個別に記憶することを特徴とする通信システムである。
第3の本発明は、第1の通信装置と第2の通信装置と間でセキュア通信を行う通信方法において、第1の通信装置が、セキュア通信に係る鍵を用いたセキュアフレームの送信回数を示す送信フレームカウンタ値を記憶する送信フレームカウンタ記憶手段を備え、送信手段が、少なくとも送信フレームカウンタ値と利用した鍵を示す利用鍵情報とを付与したセキュアフレームを送信し、第2の通信装置が、1又は複数の他の通信装置のいずれから受信したセキュアフレームに付与されている送信フレームカウンタ値を、当該他の通信装置の受信フレームカウンタ値として記憶する受信フレームカウンタ記憶手段を備え、受信フレームカウンタ記憶手段が、利用鍵情報に基づいて、各他の通信装置の受信フレームカウンタ値を、鍵毎に個別に記憶することを特徴とする通信方法である。
本発明によれば、セキュア通信に係るセキュリティキー(鍵)を変更したときでも、セキュアフレームによる通信を行うことができる。
実施形態に係る無線通信システムの構成及び各ノードの内部構成を示す構成図である。 実施形態の送信側のノードのMAC層の詳細な内部構成を示す内部構成図である。 実施形態の受信側のノードのMAC層の詳細な内部構成を示す内部構成図である。 実施形態に係る無線通信システムのセキュアフレーム伝送処理を示すシーケンス図である(その1)。 実施形態に係る無線通信システムのセキュアフレーム伝送処理を示すシーケンス図である(その2)。
(A)主たる実施形態
以下では、本発明の通信装置、通信システム及び通信方法の実施形態を、図面を参照しながら詳細に説明する。
この実施形態では、例えば、IEEE802.15.4−2006、IEEE802.15.4−2011、IEEE802.15.4g等で規定される規格化技術(以下、これらを含むものをIEEE802.15.4の規格化技術という)を、MAC層に関する技術に採用するZigBeeIP対応の無線通信装置及び無線通信システムに、本発明を適用する場合を例示する。
この実施形態は、IEEE802.15.4の規格化技術に拡張機能を追加することにより、ZigBeeIPの仕様上の制約を回避するものである。
(A−1)実施形態の構成
図1は、この実施形態に係る無線通信システムの構成及び各ノードの内部構成を示す構成図である。図1において、実施形態に係る無線通信システム10は、複数のノードを有して構成される。
図1では、説明を容易にするために、無線通信システム10が、3台のノード1−1、ノード1−2、ノード2を有する場合を例示する。勿論、ノードの数は特に限定されるものではない。
なお、送信側の通信装置であるノード1−1及びノード1−2は、同一又は対応する構成要素を備えるものであるため、共通の機能を説明する場合にはノード1と表記して説明する。
また、ノード1(1−1及び1−2)、ノード2はいずれも同様の送信機能及び受信機能を有するものであり、説明を容易にするために、ノード1がデータパケットをノード2に送信する送信側の通信装置とし、ノード2が、ノード1からのデータパケットを受信する受信側の通信装置として説明する。
ノード1は、暗号化したセキュアフレームを含むパケットをノード2に送信するものであり、送信部11、制御部12、受信部13を有するものである。ノード1は、受信部13によって受信されたノード2からのセキュリティキーを記憶しておき、セキュリティキーを用いてデータを暗号化し、その暗号化したフレームデータを含むパケットを送信する。
また、ノード1は、セキュアフレームの送信回数を示すPIB_FrameCounter(これを送信側セキュリティフレームカウンタともいう)を管理している。つまり、ノード1は、セキュアフレームを送信するたびに、PIB_FrameCounterの値を「1」ずつインクリメントして更新する。また、ノード1は、セキュアフレームを送信する際、自身において管理するPIB_FrameCounter値をフレームに付与して送信する。
さらに、ノード1は、送信部11の送信処理及び受信部13の受信処理を、所定のスリープ制御により休止するスリープ機能を有する。
ノード2は、ノード1から送信されたフレームデータを含むパケットを受信するものであり、受信部21、制御部22、送信部23を有するものである。ノード2は、ZigBeeネットワークを管理するコーディネータとして動作するものである。
ノード2は、ノード1における暗号化に必要なセキュリティキーを全てのノード1に送信するものである。また、ノード2は、セキュリティキーの変更を行うこともでき、セキュリティキーを変更する場合、変更後のセキュリティキーを送信する。
また、ノード2は、ノード1からセキュアフレームを受信すると、受信したセキュアフレームに付与されている当該ノード1のPIB_FrameCounter値を抽出し、この抽出したPIB_FrameCounter値をDevice_FrameCounter(これを受信側フレームカウンタともいう)の値としてノード1毎に記憶する。なお、Devise_FrameCounterの記憶方法の詳細については後述する。
ノード2は、送信側であるノード1からセキュアフレームを受信すると、受信したセキュアフレームに付与されているPIB_FrameCounter値と、自身で記憶している当該ノード1のDevice_FrameCounter値とを比較する。そして、Device_FrameCounter値が、受信フレームのPIB_FrameCounter値よりも大きい場合には、ノード2は、FrameCounterの同期異常と判断して、当該受信フレームを破棄する。そうでない場合、ノード2は、当該受信フレームを正しく受信する。
このように、ノード2は、受信フレームに付与されているPIB_FrameCounter値とDevice_FrameCounter値との比較を行い、受信フレームを破棄するか否かを判断することで、リプレイ攻撃を防止している。
図2は、この実施形態のノード1のMAC層の詳細な内部構成を示す内部構成図である。図2において、ノード1は、データ取得部101、暗号化部102、フレーム形成部103、パケット形成部104、変調部105、復調部106、パケット解析部107、フレーム分析部108、通信制御部120を有する。
データ取得部101は、送信すべきデータを取得し、その取得したデータを暗号化部102に与えるものである。データ取得部101が送信すべきデータは、例えば、ノード1が有するセンシング機能によりセンシングされたデータや、周囲に存在する他ノードから受信した転送すべきデータ等がある。
暗号化部102は、データ取得部101から取得したデータを所定の暗号化方式に従って暗号化し、暗号化したデータをフレーム形成部103に与えるものである。
ここで、暗号化部102による暗号化方式は、例えばIEEE802.15.4において規定されている暗号化方式を適用することができ、具体的にはAES暗号化方式やDES暗号化方式等を適用することができる。例えば、暗号化部102は、セキュリティキー記憶部122に記憶されるセキュリティキー、及び又は、送信側フレームカウンタ記憶部121に記憶されるIPB_FrameCounter値を用いてデータの暗号化を行う。
フレーム形成部103は、暗号化部102から取得した暗号化データを含むフレームを形成し、形成したフレームをパケット形成部104に与えるものである。このとき、フレーム形成部103は、送信側フレームカウンタ記憶部121に記憶されるIPB_FrameCounter値をフレームに付与する。また、フレーム形成部103は、セキュアフレームの形成に利用したセキュリティキー情報をフレームに付与する。
パケット形成部104は、フレーム形成部103から取得したフレームを含むパケットを形成し、形成したパケットを変調部105に与えるものである。
変調部105は、パケット形成部104により形成されたパケットを所定の変調方式に従って変調し、変調後の信号を送信するものである。変調部105は、IEEE802.15.4の規格化技術を適用することができる。変調方式は、例えば、オフセット直交位相偏移変調方式(Offset QPSK)等を用いることができ、周波数帯は、例えば、868MHz帯、915MHz帯、2.4GHz帯等を用いることができる。
復調部106は、受信した信号を復調し、復調した信号をパケット解析部107に与えるものである。
パケット解析部107は、復調部106から受け取ったパケットに含まれるフレームを抽出し、その抽出したフレームをフレーム分析部108に与えるものである。
フレーム分析部108は、パケット解析部107から受け取ったフレームを分析し、そのフレーム分析結果を通信制御部120に与えるものである。
通信制御部120は、MAC層で提供される通信機能としてデータ伝送やネットワーク管理やセキュリティ管理を行うものである。
通信制御部120は、例えば、CPU、ROM、RAM、EEPROM、入出力インタフェース部等を有して構成されるものであり、CPUが、ROMに格納される処理プログラムを実行することにより、送信側のノード1の機能を実現することができる。また、処理プログラムは、インストールにより構築することができ、その場合でも機能的には図2に示すことができる。
通信制御部120は、送信側フレームカウンタ記憶部121、セキュリティキー記憶部122、送信側フレームカウンタ設定部123、セキュリティキー設定部124、スリープ制御部125を有する。
送信側フレームカウンタ記憶部121は、セキュアフレームの送信回数を示すカウンタ値(PIB_FrameCounter値)を記憶するものである。
セキュリティキー記憶部122は、データの暗号化に必要なセキュリティキーを記憶するものである。セキュリティキー記憶部122は、1又は複数のセキュリティキーを記憶することができる。すなわち、新鍵のセキュリティキーが配布された場合には、セキュリティキー記憶部122は、旧鍵と新鍵とを記憶する。なお、複数回に亘ってセキュリティキーが変更された場合でも、セキュリティキー記憶部122は、それまでの全ての旧鍵であるセキュリティキーを記憶する。なお、この実施形態では、セキュリティキー記憶部122が、2個のセキュリティキーX及びセキュリティキーYを記憶している場合を例示する。
送信側フレームカウンタ設定部123は、送信側フレームカウンタ記憶部121に記憶するPIB_FrameCounter値を設定するものである。送信側フレームカウンタ設定部123は、セキュアフレームが送信されるたびに、PIB_FrameCounter値を「1」ずつインクリメントして、PIB_FrameCounter値を更新する。
また、送信側フレームカウンタ設定部123は、フレーム分析部108を介して、ノード2からセキュリティキー変更開始情報の通知を受けると、送信側フレームカウンタ設定部123に記憶されるPIB_FrameCounter値を「0」にリセットするものである。
ここで、ノード2からのセキュリティキー変更開始情報の通知は、セキュリティキーの変更の旨をノード1に通知すると共に、送信側であるノード1と受信側であるノード2との間でそれぞれ管理するFrameCounter値の同期を図るためのものである。
つまり、ノード1は、ノード2からセキュリティキー変更開始情報の通知を受けることで、PIB_FrameCounter値をリセットする。一方、ノード2がセキュリティキー変更開始情報をノード1に通知すると、ノード2においても、当該ノード1のDevice_FrameCounter値をリセットする。これにより、送信側のノード1と受信側のノード2との間で、新鍵を用いたセキュアフレームの送信回数を示すカウンタ値を同期させることができ、新鍵を用いたセキュアな通信を実現できる。
セキュリティキー設定部124は、セキュリティキー記憶部122に記憶するセキィリティキーを設定するものである。例えば、セキュリティキー設定部124は、フレーム分析部108を介して、ノード2から取得したセキュリティキーをセキュリティキー記憶部122に記憶する。
また、ノード2からセキュリティキー変更開始情報の通知があった場合、セキュリティキー設定部124は、ノード2に対して新鍵を要求する。これに対して、ノード2から新鍵を受信すると、セキュリティキー設定部124は、ノード2から受信した新鍵をセキュリティキー記憶部122に記憶する。なお、セキュリティキーの配布手順は、IEEE802.15.4の規格化技術を適用することができる。
スリープ制御部125は、自身の送信部11の送信処理及び受信部13の受信処理を、所定のスリープ制御により休止するものである。スリープ制御部125によるスリープ制御は、IEEE802.15.4の規格化技術を適用することができる。例えば、スリープ制御部125は、周期的に、送信部11及び受信部13の全部又は一部の構成要素への電源供給を休止するようにしても良いし、また例えば、スリープ制御部125は、送信部11の送信処理及び受信部13の受信処理を監視し、送受信処理がなされない時間が所定時間を経過した場合に、送信部11及び受信部13の全部又は一部の構成要素への電源供給を休止するようにしても良い。
図3は、この実施形態のノード2のMAC層の詳細な内部構成を示す内部構成図である。図3において、ノード2は、復調部201、パケット解析部202、フレーム分析部203、復号部204、データ送出部205、フレーム形成部207、パケット形成部208、変調部209、通信制御部220を有する。
復調部201は、受信した信号を復調して、復調した信号をパケット解析部202に与えるものである。
パケット解析部202は、復調部201から受け取ったパケットに含まれるフレームを抽出し、その抽出したフレームをフレーム分析部203に与えるものである。
フレーム分析部203は、パケット解析部202から受け取ったフレームを分析し、そのフレームを復号部204に与えるものである。
復号部204は、通信制御部220のカウンタ値同期判定部223によりFrameCounter値の同期が正当であると判定された場合に、フレーム分析部203からのセキュアフレームに含まれるデータ(ペイロードデータ)を所定の復号方式(暗号化方式)に従って復号するものである。
ここで、復号部204は、例えばIEEE802.15.4において規定されている暗号化方式に対応する復号方式を適用することができ、具体的にはAES方式やDES方式等を適用することができる。例えば、復号部204は、セキュリティキー記憶部222に記憶されるセキュリティキー、及び又は、受信側フレームカウンタ記憶部221の当該ノード1のDevice_FrameCounter値を用いてデータの復号を行う。
データ送出部205は、復号部204から受け取ったデータを、上位層に与えるものである。
フレーム形成部207は、通信制御部220の制御を受けて、所定のフレームを形成し、その形成したフレームをパケット形成部208に与えるものである。
パケット形成部208は、フレーム形成部207から取得したフレームを含むパケットを形成し、形成したパケットを変調部209に与えるものである。
変調部209は、パケット形成部208により形成されたパケットを所定の変調方式に従って変調し、変調後の信号を送信するものである。
通信制御部220は、コーディネータとしてのノード2のデータ伝送制御やネットワーク管理制御やセキュリティ制御を行うものである。
通信制御部220は、例えば、CPU、ROM、RAM、EEPROM、入出力インタフェース部等を有して構成されるものであり、CPUが、ROMに格納される処理プログラムを実行することにより、コーディネータとしてのノード2の機能を実現することができる。また、処理プログラムは、インストールにより構築することができ、その場合でも機能的には図3に示すことができる。
通信制御部220は、受信側フレームカウンタ記憶部221、セキュリティキー記憶部222、カウンタ値同期判定部223、受信側フレームカウンタ設定部224、セキュリティキー設定部225、セキュリティキー配信部226、セキュリティキー変更開始通知部227を有する。
受信側フレームカウンタ記憶部221は、それぞれのノード1のDevice_FrameCounter値をセキュリティキー毎に記憶するものである。
ここで、従来、IEEE802.15.4では、メモリ消費量を減らすために、受信側のノードが管理するDevice_FrameCounterは、1台の送信側のノード1に対して1個のみと決まっている。従来は、複数のセキュリティキーがある場合でも、各ノード1のDevice_FrameCounterの値を共用していた。
これに対して、この実施形態では、セキュリティキー毎に、各ノード1のDevice_FrameCounterを記憶する。これにより、セキュリティキーの変更後でも、旧鍵を利用したセキュアフレームの受信を許容することができる。
セキュリティ記憶部222は、ノード1でのデータの暗号化に必要なセキュリティキーを記憶するものである。セキュリティキー記憶部222は、1又は複数のセキュリティキーを記憶することができる。この実施形態では、説明を容易にするために、セキュリティキー記憶部222が、2個のセキュリティキーX及びセキュリティキーYを記憶している場合を例示する。
カウンタ値同期判定部223は、リプレイ攻撃を防止するために、セキュアフレームの送信側のノード1との間のFrameCounter値の同期判定するものである。
カウンタ値同期判定部223は、セキュアフレームを受信すると、当該セキュアフレームの送信元のノード識別情報を識別する。また、カウンタ値同期判定部223は、セキュアフレームに付与されているセキュリティキー情報を抽出する。
そして、カウンタ値同期判定部223は、当該ノード識別情報とセキュリティキー情報とに基づいて、対応するDevice_FrameCounter値を受信側フレームカウンタ記憶部221から読み出す。
カウンタ値同期判定部223は、Device_FrameCounter値と、受信したセキュアフレームに付与されているPIB_FrameCounter値とを比較する。そして、Device_FrameCounter値がPIB_FrameCounter値よりも大きい場合、カウンタ値同期判定部223は、当該セキュアフレームを破棄し、そうでない場合、カウンタ値同期判定部223は、復号部204に対して復号を指示する。
受信側フレームカウンタ設定部224は、それぞれのノード1のDevice_FrameCounter値を、ノード識別情報と紐付すると共に、セキュリティキー情報とも紐付けして、各ノード1のDevice_FrameCounter値を設定するものである。つまり、受信側フレームカウンタ設定部224は、セキュリティキー情報毎に、送信側である各ノード1のDevice_FrameCounter値を設定する。
ここで、ノード識別情報は、送信側のノード1を識別するものである。例えば、ノード識別情報は、通信時に送信側のノード1が利用するアドレス情報等を適用することができる。
また、セキュリティキー情報は、セキュリティキーを特定する情報である。この実施形態では、ノード2は、セキュリティキー毎に、各ノード1のDevice_FrameCounter値を管理する。そのため、FrameCounter値の同期判定の際に、各ノード1のDevice_FrameCounter値がどのセキュリティキーに対応するものであるかを認識できるようにする。
そこで、セキュリティキー情報は、セキュリティキー記憶部222に記憶されるセキュリティキー自体であっても良いし、セキュリティキー記憶部222に記憶されるセキュリティキーの記憶位置を示すポインタであっても良い。
さらに、セキュリティキー情報は、セキュリティキーを特定するための識別情報(例えばID等)であっても良いし、又はセキュリティキーを特定するための識別情報の記憶位置を示すポインタであっても良い。
また、受信側フレームカウンタ設定部224は、カウンタ値同期判定部223によりカウンタ値の同期が正当であると判定された場合に、今回受信したセキュアフレームの送信元ノードのノード識別情報とセキュリティキー情報とに基づいて、対応するDevice_FrameCounterの値を「1」ずつインクリメントして更新するものである。
さらに、受信側フレームカウンタ設定部224は、後述するセキュリティキー変更開始通知部227がセキュリティキー変更開始情報を通知後、当該セキュリティキー変更に係るセキュリティキー情報についての各ノード1のDevice_FrameCounter値を「0」にリセットする。
セキュリティキー設定部225は、ノード1での暗号化に必要なセキュリティキーをセキュリティキー記憶部222に記憶するものである。セキュリティキーを変更する場合、セキュリティキー設定部225は、新鍵をセキュリティキー記憶部222に記憶する。
セキュリティキー配信部226は、ネットワーク上の全てのノード1に対してセキュリティキーを配信するものである。セキュリティキー配信方法は、ZigBee仕様の規格化技術を適用することができる。例えばセキュリティキーを全てのノード1にブロードキャストするために、AODV(Ad hoc On-demand Distance Vector)等を利用する方法を適用することができる。
セキュリティキー変更開始通知部227は、セキュリティキーを変更する際に、全てのノード1に対してセキュリティキー変更開始情報を通知するものである。
(A−2)実施形態の動作
次に、実施形態に係る無線通信システム10のセキュアフレーム伝送処理を、図面を参照しながら詳細に説明する。
図4及び図5は、実施形態に係る無線通信システム10のセキュアフレーム伝送処理を示すシーケンス図である。
図4において、ノード2は、セキュアな通信のために、セキュリティキーXを利用することを決定する。ノード2において、セキュリティキーXがセキュリティキー記憶部222から読み出される。
フレーム形成部207は、セキュリティキー配信部226の制御を受けて、セキュリティキーXを含むフレームを形成し、パケット形成部208は、セキュリティキーXを含むパケットをネットワーク上の全てのノード1に対して配送する(S101)。
ノード2では、セキュリティキーXが配送されると、受信側フレームカウンタ設定部224は、セキュリティキーXについて、配送先である各ノード1のDevice_FrameCounter値を「0」にリセットする(S102)。
つまり、受信側フレームカウンタ設定部224は、各ノード1のノード識別情報及び各ノード1のDevice_FrameCounter値と、セキュリティキーXを示すセキュリティキー情報とを対応付けて(紐付けて)、受信側フレームカウンタ記憶部221に記憶する。このとき、受信側フレームカウンタ設定部224は、当該セキュリティキーXに関する各ノード1のDevice_FrameCounter値を「0」にリセットする。
ノード1−1、ノード1−2において、ノード2からセキュリティキーXを含むパケットが受信されると、フレーム分析部108は、パケット解析部107から受け取ったフレームに含まれるセキュリティキーXを取得する。そして、セキュリティキー設定部124は、セキュリティキーXをセキュリティキー記憶部122に記憶する(S103、S104)。
ノード1−1、ノード1−2において、配送されたセキュリティキーXが記憶されると、送信側フレームカウンタ設定部123は、自身のPIB_FrameCounter値を「0」にリセットする(S105、S106)。
その後、ノード1−1、ノード1−2は、セキュリティキーXを利用してセキュアフレームの送信を行う。ここでは、ノード1−1がセキュリティキーXを利用してセキュアフレームを送信する場合を例示する。
ノード1−1において、暗号化部102は、IEEE802.15.4において規定されている暗号化方式に従って、データ取得部101からのデータを暗号化する。例えば、暗号化部102は、セキュリティキー記憶部122に記憶されるセキュリティキーX、及び又は、送信側フレームカウンタ記憶部121のPIB_FrameCounter値を用いてデータを暗号化する(S107)。
ノード1−1において、フレーム形成部103は、暗号化部102により暗号化されたデータを含むフレームを形成する。このとき、フレーム形成部103は、セキュアフレームに、PIB_FrameCounter値及び利用したセキュリティキーXを示す情報を付与する。パケット形成部104は、セキュアフレームを含むパケットを形成してノード2宛に送信する(S108)。
ノード1−1において、セキュアフレームが送信されると、送信側フレームカウンタ設定部123は、自身のPIB_FrameCounterの値に「1」をインクリメントして、PIB_FrameCounter値を更新する(S109)。
ノード2において、ノード1−1から送信されたセキュアフレームが与えられると、カウンタ値同期判定部223は、受信したフレームに含まれているノード識別情報及び利用したセキュリティキーを示す情報を取得する(S110)。
カウンタ値同期判定部223は、取得したノード識別情報及び利用したセキュリティキーを示す情報に対応するDevice_FrameCounter値を、受信側フレームカウンタ記憶部221から検索する(S111)。
そして、カウンタ値同期判定部223は、IEEE802.15.4の規定に従って、FrameCounter値の同期判定を行う(S112)。
すなわち、カウンタ値同期判定部223は、検索したDevice_FrameCounter値と、受信したセキュアフレームに付与されているPIB_FrameCounter値とを比較する。Device_FrameCounter値がPIB_FrameCounter値より大きい場合、カウンタ値同期判定部223は、FrameCounter値の同期異常と判断し、当該セキュアフレームを破棄する。
FrameCounter値の同期が正しい場合、復号部204は、受信したセキュアフレームのセキュリティキー情報に基づいてセキュリティキーXをセキュリティ記憶部222から読み出す。そして、復号部204は、セキュリティキーX、及び又は、セキュリティキーXに対応する当該ノード識別情報のDevice_FrameCounter値を用いて復号する(S113)。
復号されたデータは、データ送出部205を介して外部に送出される。このとき、復号がなされると、受信側フレームカウンタ設定部224は、セキュリティキーXに対応付けられた、ノード1−1(ノード識別情報)のDevice_FrameCounter値に「1」をインクリメントして、Device_FrameCounter値を更新する(S114)。
上記のように、送信側のノード1−1は、セキュアフレームを送信するたびに、自身のPIB_FrameCounter値を更新する。一方、受信側のノード2は、セキュアフレームを受信するたびに、当該セキュリティキーに対応するノード1−1のDevice_FrameCounter値を更新する。そのため、FrameCounter値の同期を維持することができる。
次に、図5を用いて、ノード2がセキュリティキーを変更する場合の処理を例示する。ここでは、セキュリティキーXからセキュリティキーYに変更するものとする。
ノード2がセキュリティキーを変更する際、ノード2は、IEEE802.15.4の規定に従って、セキュリティキーを変更開始する旨を示すセキュリティキー変更開始情報を、ネットワーク上の全てのノード1に通知する(S201)。
ノード2は、図4のS101及びS102と同様に、変更後のセキュリティYを含むパケットを、ネットワーク上の全てのノード1に配送し(S202)、
受信側フレームカウンタ設定部224が、セキュリティキーYについて、配送先である各ノード1のDevice_FrameCounter値を「0」にリセットする(S203)。
ノード1−1は、図4のS104及びS106と同様に、ノード2から配送されたセキュリティキーYをセキュリティキー記憶部122に記憶し(S204)、自身のPIB_FrameCounter値を「0」にリセットする(S205)。
このとき、ノード1−2は、スリープノードであるとする。そのため、ノード1−2は、スリープ状態にある場合、セキュリティキーY(新鍵)を取得することができない。
ノード1−2がスリープ状態から起動状態に遷移すると、新鍵であるセキュリティキーYを取得していないため、旧鍵であるセキュリティキーXを利用してセキュアフレームを送信することになる。
つまり、ノード1−2において、暗号化部102は、IEEE802.15.4において規定されている暗号化方式に従って、データ取得部101からのデータを暗号化する。例えば、暗号化部102は、セキュリティキー記憶部122に記憶されるセキュリティキーX、及び又は、送信側フレームカウンタ記憶部121のPIB_FrameCounter値を用いてデータを暗号化する(S206)。
ノード1−2において、フレーム形成部103は、暗号化部102により暗号化されたデータを含むフレームを形成する。このとき、フレーム形成部103は、セキュアフレームに、PIB_FrameCounter値及び利用したセキュリティキーXを示す情報を付与する。パケット形成部104は、セキュアフレームを含むパケットを形成してノード2宛に送信する(S207)。
ノード1−2において、セキュアフレームが送信されると、送信側フレームカウンタ設定部123は、自身のPIB_FrameCounterの値に「1」をインクリメントして、PIB_FrameCounter値を更新する(S208)。
ノード2において、ノード1−2から送信されたセキュアフレームが与えられると、カウンタ値同期判定部223は、受信したフレームに含まれているノード識別情報及び利用したセキュリティキーを示す情報を取得する(S209)。
ここで、スリープ状態にあったノード1−2は、セキュリティキーXを利用している。従って、カウンタ値同期判定部223は、ノード1−2のノード識別情報及び利用したセキュリティキーXを示す情報に対応するDevice_FrameCounter値を、受信側フレームカウンタ記憶部221から検索する(S210)。
このとき、ノード2の受信側フレームカウンタ記憶部221は、セキュリティキー毎に、各ノードのDevice_FrameCounter値を記憶している。従って、セキュリティキーの変更後でも、変更前のセキュリティキーXに対応付けられた、ノード1−2のDevice_FrameCounter値は、受信側フレームカウンタ記憶部221に記憶されたままである。従って、カウンタ値同期判定部223は、セキュリティキーXに対応する、ノード1−2のDevice_FrameCounter値を検索できる。
そして、カウンタ値同期判定部223は、IEEE802.15.4の規定に従って、FrameCounter値の同期判定を行う(S211)。
すなわち、カウンタ値同期判定部223は、検索したDevice_FrameCounter値と、受信したセキュアフレームに付与されているPIB_FrameCounter値とを比較する。
FrameCounter値の同期が正しい場合、復号部204は、受信したセキュアフレームのセキュリティキー情報に基づいてセキュリティキーXをセキュリティ記憶部222から読み出す。そして、復号部204は、セキュリティキーX、及び又は、セキュリティキーXに対応する当該ノード識別情報のDevice_FrameCounter値を用いて復号する(S212)。
復号されたデータは、データ送出部205を介して外部に送出される。このとき、復号がなされると、受信側フレームカウンタ設定部224は、セキュリティキーXに対応付けられた、ノード1−2(ノード識別情報)のDevice_FrameCounter値に「1」をインクリメントして、Device_FrameCounter値を更新する(S213)。
その後、ノード1−2において、スリープ状態の際に、ノード2からセキュリティキー変更開始情報の通知があった場合、セキュリティキー設定部124は、ノード2に対して新鍵を要求する(S214)。これに対して、ノード2は、新鍵であるセキュリティキーYをノード1−2に送信する(S215)。
そうすると、ノード1−2は、図4のS103及びS105と同様に、ノード2から配送されたセキュリティキーYをセキュリティキー記憶部122に記憶し(S216)、自身のPIB_FrameCounter値を「0」にリセットする(S217)。
この場合においても、ノード2における、セキュリティキーYに対応付けられた、ノード1−2のDevice_FrameCounter値「0」のままである。そのため、スリープ状態にあったノード1−1とノード2との間でFrameCounter値の同期を図ることができる。
(A−3)実施形態の効果
以上のように、実施形態によれば、セキュリティキー毎(新鍵、旧鍵毎)に、Device_FrameCounterを設定することにより、旧鍵を利用したセキュアフレームを受信することができる。
また、実施形態によれば、受信側のノードがセキュリティキー毎に、Device_FrameCounterを設定するものであるため、送信側ノードが、特別な対処をしていない場合でも、MAC層にIEEE802.15.4の規格化技術を採用したZigBee仕様の通信を行うことができる。
(B)他の実施形態
(B−1)上述した実施形態では、IEEE802.15.4−2006、IEEE802.15.4−2011、IEEE802.15.4g等で規定される規格化技術を含むIEEE802.15.4の規格化技術を、ZigBee仕様のMAC層に採用する場合を例示した。
IEEE802.15.4の規格化技術は、上記のIEEE802.15.4−2006、IEEE802.15.4−2011、IEEE802.15.4gの規格化技術に限定されるものではない。例えば、IEEE802.15.4−2006、IEEE802.15.4−2011、IEEE802.15.4gの規格化技術を拡張したものや、他の通信方式に関する技術にも適用することができる。
10…無線通信システム、1(1−1、1−2)…送信側のノード、2…受信側のノード、11…送信部、12…制御部、13…受信部、21…受信部、22…制御部、23…送信部、
102…暗号化部、103…フレーム形成部、120…通信制御部、121…送信側フレームカウンタ記憶部、122…セキュリティキー記憶部、123…送信側フレームカウンタ設定部、124…セキュリティキー設定部、125…スリープ制御部、
203…フレーム分析部、204…復号部、220…通信制御部、221…受信側フレームカウンタ記憶部、222…セキュリティキー記憶部、223…カウンタ値同期判定部、224…受信側フレームカウンタ設定部、225…セキュリティキー設定部、226…セキュリティキー配信部、227…セキュリティキー変更開始通知部。

Claims (9)

  1. セキュア通信に係る鍵を用いたセキュアフレームの送信回数を示す送信フレームカウンタ値を管理する1又は複数の他の通信装置から、少なくとも上記送信フレームカウンタ値と上記各他の通信装置が利用した鍵を示す利用鍵情報とが付与されたセキュアフレームを受信する通信装置において、
    上記1又は複数の他の通信装置のいずれから受信したセキュアフレームに付与されている上記送信フレームカウンタ値を、当該他の通信装置の受信フレームカウンタ値として記憶するものであって、上記利用鍵情報に基づいて、上記各他の通信装置の受信フレームカウンタ値を、上記鍵毎に個別に記憶する受信フレームカウンタ記憶手段を
    備えることを特徴とする通信装置。
  2. 上記セキュア通信鍵を変更する際に、上記1又は複数の他の通信装置に対して鍵の変更を通知する鍵変更通知手段を備え、
    上記受信フレームカウンタ記憶手段が、変更前の旧鍵と変更後の新鍵とのそれぞれの、上記各他の通信装置の受信フレームカウンタ値を記憶するものである
    ことを特徴とする請求項1に記載の通信装置。
  3. 他の通信装置から受信したセキュアフレームに付与されている上記利用鍵情報に基づいて、上記受信フレームカウンタ記憶手段における、対応する鍵に係る当該他の通信装置の受信フレームカウンタ値と、上記セキュアフレームに付与されている上記送信フレームカウンタ値とに基づいて、セキュアフレームの正当性を判定する判定手段を備えることを特徴とする請求項1又は2に記載の通信装置。
  4. セキュア通信に係る鍵を記憶する鍵記憶手段を備え、
    上記受信フレームカウンタ記憶手段が、上記各他の通信装置の識別情報と、上記受信フレームカウンタ値と、上記鍵記憶手段に記憶される鍵を識別する鍵情報とを関連付けて記憶するものである
    ことを特徴とする請求項1〜3のいずれかに記載の通信装置。
  5. 上記鍵情報が、上記鍵記憶手段に記憶される鍵の位置を示す記憶位置情報であることを特徴とする請求項4に記載の通信装置。
  6. 上記鍵情報が、上記鍵記憶手段に記憶される鍵を識別する鍵識別情報、又は上記鍵識別情報の記憶位置を示す記憶位置情報であることを特徴とする請求項4に記載の通信装置。
  7. 上記鍵情報が、上記鍵記憶手段に記憶される鍵自体であることを特徴とする請求項4に記載の通信装置。
  8. 第1の通信装置と第2の通信装置と間でセキュア通信を行う通信システムにおいて、
    上記第1の通信装置が、
    セキュア通信に係る鍵を用いたセキュアフレームの送信回数を示す送信フレームカウンタ値を記憶する送信フレームカウンタ記憶手段と、
    少なくとも上記送信フレームカウンタ値と利用した鍵を示す利用鍵情報とを付与したセキュアフレームを送信する送信手段と
    を備え、
    上記第2の通信装置が、
    上記1又は複数の他の通信装置のいずれから受信したセキュアフレームに付与されている上記送信フレームカウンタ値を、当該他の通信装置の受信フレームカウンタ値として記憶する受信フレームカウンタ記憶手段を備え、
    上記受信フレームカウンタ記憶手段が、上記利用鍵情報に基づいて、上記各他の通信装置の受信フレームカウンタ値を、上記鍵毎に個別に記憶する
    ことを特徴とする通信システム。
  9. 第1の通信装置と第2の通信装置と間でセキュア通信を行う通信方法において、
    上記第1の通信装置が、
    セキュア通信に係る鍵を用いたセキュアフレームの送信回数を示す送信フレームカウンタ値を記憶する送信フレームカウンタ記憶手段を備え、
    送信手段が、少なくとも上記送信フレームカウンタ値と利用した鍵を示す利用鍵情報とを付与したセキュアフレームを送信し、
    上記第2の通信装置が、
    上記1又は複数の他の通信装置のいずれから受信したセキュアフレームに付与されている上記送信フレームカウンタ値を、当該他の通信装置の受信フレームカウンタ値として記憶する受信フレームカウンタ記憶手段を備え、
    上記受信フレームカウンタ記憶手段が、上記利用鍵情報に基づいて、上記各他の通信装置の受信フレームカウンタ値を、上記鍵毎に個別に記憶する
    ことを特徴とする通信方法。
JP2013113204A 2013-05-29 2013-05-29 通信装置、通信システム及び通信方法 Active JP6163880B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013113204A JP6163880B2 (ja) 2013-05-29 2013-05-29 通信装置、通信システム及び通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013113204A JP6163880B2 (ja) 2013-05-29 2013-05-29 通信装置、通信システム及び通信方法

Publications (2)

Publication Number Publication Date
JP2014232999A JP2014232999A (ja) 2014-12-11
JP6163880B2 true JP6163880B2 (ja) 2017-07-19

Family

ID=52126150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013113204A Active JP6163880B2 (ja) 2013-05-29 2013-05-29 通信装置、通信システム及び通信方法

Country Status (1)

Country Link
JP (1) JP6163880B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6503982B2 (ja) * 2015-08-28 2019-04-24 沖電気工業株式会社 無線通信装置、方法、プログラム及びシステム
JP7045247B2 (ja) * 2017-08-25 2022-03-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 通信保護装置、制御方法、および、プログラム
US10979390B2 (en) 2017-08-25 2021-04-13 Panasonic Intellectual Property Corporation Of America Communication security apparatus, control method, and storage medium storing a program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3627623B2 (ja) * 2000-06-01 2005-03-09 日本電気株式会社 暗号通信システムおよび移動通信システム
JP2002247032A (ja) * 2001-02-19 2002-08-30 Hitachi Ltd 暗号通信装置および暗号通信方法
JP4877932B2 (ja) * 2006-03-30 2012-02-15 富士通テレコムネットワークス株式会社 暗号化通信システム及び暗号鍵更新方法
KR101048510B1 (ko) * 2009-05-06 2011-07-11 부산대학교 산학협력단 지그비 무선 통신 프로토콜상에서의 보안성 강화 방법 및 장치
US8560848B2 (en) * 2009-09-02 2013-10-15 Marvell World Trade Ltd. Galois/counter mode encryption in a wireless network
JP5975594B2 (ja) * 2010-02-01 2016-08-23 沖電気工業株式会社 通信端末及び通信システム

Also Published As

Publication number Publication date
JP2014232999A (ja) 2014-12-11

Similar Documents

Publication Publication Date Title
US9942837B2 (en) Apparatus and method for a dynamic scan interval for a wireless device
US10470063B2 (en) Apparatus and method for capturing, manipulating, and analyzing wireless network traffic
US7788491B1 (en) Use of encryption for secure communication exchanges
US20100091993A1 (en) Wireless communication device and encryption key updating method
US9264404B1 (en) Encrypting data using time stamps
TW201442543A (zh) 用於無線簡易連線之方法
US9793937B2 (en) Apparatus and method for filtering wireless signals
CN104955038A (zh) 分配寻址标识的方法及接入点、站点和通信系统
JP2008228051A (ja) 暗号通信システム、暗号通信方法、暗号通信プログラム、車載端末およびサーバ
JP5239123B2 (ja) 無線lanシステム
CN102546184B (zh) 传感网内消息安全传输或密钥分发的方法和系统
JP2007142958A (ja) 通信装置及び通信方法
US10148654B2 (en) Encryption for a synchronous wireless link
CA2710433A1 (en) Method and device for transmitting groupcast data in a wireless mesh communication network
JP6163880B2 (ja) 通信装置、通信システム及び通信方法
US20170171241A1 (en) Apparatus and method for obscuring wireless communication patterns
CN110943835A (zh) 一种发送无线局域网信息的配网加密方法及系统
US11463870B2 (en) Wireless mesh network
KR20190040443A (ko) 스마트미터의 보안 세션 생성 장치 및 방법
KR101789264B1 (ko) 경량화된 사물인터넷 디바이스 인증 시스템 및 방법
JP5721183B2 (ja) 無線lan通信システム、無線lan親機、通信接続確立方法、及びプログラム
KR101602497B1 (ko) 무선 네트워크 통신 시스템에서 데이터 통신 보안을 위한 맥 프로토콜 제공 방법
Pužar et al. Skimpy: A simple key management protocol for manets in emergency and rescue operations
WO2017034812A1 (en) Apparatus and method for a dynamic scan interval for a wireless device
IL254758B2 (en) Method, equipment and computer software product for code encryption

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161011

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170605

R150 Certificate of patent or registration of utility model

Ref document number: 6163880

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150