JP2017201832A - 通信制御装置及び通信装置 - Google Patents
通信制御装置及び通信装置 Download PDFInfo
- Publication number
- JP2017201832A JP2017201832A JP2017142926A JP2017142926A JP2017201832A JP 2017201832 A JP2017201832 A JP 2017201832A JP 2017142926 A JP2017142926 A JP 2017142926A JP 2017142926 A JP2017142926 A JP 2017142926A JP 2017201832 A JP2017201832 A JP 2017201832A
- Authority
- JP
- Japan
- Prior art keywords
- group
- communication
- coordinator
- mih
- key
- 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
Links
Images
Abstract
【課題】処理負荷を削減する通信制御装置及び通信装置を提供する。
【解決手段】通信制御装置のコーディネータ20は、生成部と、制御部とを有する。生成部は、GKB(Group Key Block)を使用したシステムにおいて、自装置のデジタル署名を含む操作コマンドを用いて、2つの通信装置で構成される個別通信用グループに対応するグループ鍵を生成する。制御部は、生成されたグループ鍵による認証コードが付与されたグループ操作コマンド用メッセージを用いて、通信装置とのグループ操作を制御する。
【選択図】図3
【解決手段】通信制御装置のコーディネータ20は、生成部と、制御部とを有する。生成部は、GKB(Group Key Block)を使用したシステムにおいて、自装置のデジタル署名を含む操作コマンドを用いて、2つの通信装置で構成される個別通信用グループに対応するグループ鍵を生成する。制御部は、生成されたグループ鍵による認証コードが付与されたグループ操作コマンド用メッセージを用いて、通信装置とのグループ操作を制御する。
【選択図】図3
Description
本発明の実施形態は、通信制御装置及び通信装置に関する。
IEEE802.21d/D05では、グループマネージャ(GM:Group Manager)から送信されるグループ操作コマンド用メッセージにおいて、デジタル署名による送信元認証が行われている。
IEEE802.21d/D05
IEEE802.21d/D05において、グループ操作コマンド用メッセージは、複数のメンバーに送信されるため、グループ共通鍵によるメッセージ認証を送信元認証に使用することが困難である。すなわち、IEEE802.21d/D05では、グループ操作のたびにデジタル署名の生成や検証が行なわれるため、処理負荷が増大する。
本発明が解決しようとする課題は、処理負荷を削減することができる通信制御装置及び通信装置を提供することである。
実施の形態の通信制御装置は、自装置のデジタル署名を含む第1操作コマンド用メッセージを用いて、2つの通信装置で構成される個別通信用グループに対応するグループ鍵を、通信装置に配布する配布部と、グループ鍵による認証コードが付与された第2操作コマンド用メッセージを用いて、通信装置とのグループ操作を制御する制御部とを有する。
(第1の実施形態)
[システムアーキテクチャ]
図1は、第1の実施形態に係る通信システムの構成例を示すブロック図である。本実施形態では、ECHONET Liteノードのセキュリティ機能を例に挙げて説明する。ECHONET Liteノードは、セキュリティ機能として、IEEE802.21d及びRFC5191で規定されるPANA(Protocol for carrying Authentication for Network Access)をサポートする。
[システムアーキテクチャ]
図1は、第1の実施形態に係る通信システムの構成例を示すブロック図である。本実施形態では、ECHONET Liteノードのセキュリティ機能を例に挙げて説明する。ECHONET Liteノードは、セキュリティ機能として、IEEE802.21d及びRFC5191で規定されるPANA(Protocol for carrying Authentication for Network Access)をサポートする。
図1に示すように、通信システム10は、コーディネータ20と、コントローラ30と、機器40とを有する。これらのうち、コーディネータ20は、通信装置の一例であるコントローラ30や機器40の制御を行なう通信制御装置であり、1つのECHONET Liteドメイン(以下、単に「ドメイン」と呼ぶ場合がある)内に1つ存在する。例えば、ドメインは、1つのHAN(Home Area Network)である。コントローラ30は、1つのドメイン内に少なくとも1つ存在する。すなわち、コントローラ30はM個(M≧1)存在する。機器40は、1つのドメイン内に少なくとも1つ存在する。すなわち、機器40はN個(N≧1)存在する。図2は、第1の実施形態に係るコントローラ30と機器40との接続関係の例を示す図である。図2に示すように、コントローラ30と機器40とは、1つのドメイン内に少なくとも1つ存在する。また、機器40は、コントローラ30によって形成されるグループ(アプリケーションシステムグループ)に属する。ここで、機器40は、複数のアプリケーションシステムグループに属する場合も有り得る。
コーディネータ20と各コントローラ30との間では、「相互認証」及び「鍵共有」の手順が実施される。同様に、コーディネータ20と各機器40との間では、「相互認証」及び「鍵共有」の手順が実施される。また、コントローラ30と機器40との間では、「暗号通信」が行なわれる。暗号通信で使用される暗号鍵は、鍵共有の手順において、コーディネータ20から各コントローラ30及び各機器40に配布される。なお、暗号通信は、コントローラ30間や機器40間で行われても良い。相互認証、鍵共有及び暗号通信の詳細な手順については後述する。
図3は、第1の実施形態に係るノード種別の対応例を示す図である。図3では、ECHONET Liteノード種別と、PANAノード種別と、IEEE802.21dノード種別との対応付けを例に挙げている。コーディネータ20は、グループ管理及びセキュリティ管理の主体となるノードであり、ECHONET Liteの管理や操作関連機器グループの新規クラスとして定義される。コントローラ30及び機器40は、ECHONET Liteの管理や操作関連機器グループの既存クラスである。コーディネータ20は、PANAのPAA(PANA Authentication Agent)及びIEEE802.21dのPoS(Point of Service) with GM(Group Manager)の機能を有する。コントローラ30及び機器40は、PANAのPaC(PANA Client)及びIEEE802.21dのPoSの機能を有する。なお、コーディネータ20は、ECHONET Liteノード機器でない場合もある。このとき、本実施形態に係る通信システムは、ECHONET Lite以外のシステムにも適用可能である。
図4は、第1の実施形態に係る各装置のハードウェア構成例を示すブロック図である。ここでは、コーディネータ20を例に挙げて説明する。図4に示すように、コーディネータ20は、CPU(Central Processing Unit)22と、RAM(Random Access Memory)23と、ROM(Read Only Memory)24と、通信I/F25とを有する。上記各ハードウェアは、バス21によって接続されている。CPU22は、コーディネータ20の動作を統括的に制御する。CPU22は、RAM23をワークエリア(作業領域)として、ROM24等に格納されたプログラムを実行することで、コーディネータ20全体の動作を制御する。通信I/F25は、外部装置(例えば、コントローラ30や機器40等)と通信するためのインタフェースである。
図5は、第1の実施形態に係るコーディネータ20の機能構成例を示すブロック図である。図5に示すように、コーディネータ20は、通信部210と、判定部220と、生成部230と、更新部240と、制御部250とを有する。通信部210は、コントローラ30や機器40との各種通信を制御する。また、通信部210は、更新された同期カウンタを更新通知として通知する。判定部220は、個別通信用グループであるか否かを判定する。生成部230は、個別通信用グループであると判定された場合に、コーディネータ20のデジタル署名を含む操作コマンドを用いて、個別通信用グループに対応するグループ鍵を生成する。更新部240は、同期カウンタの同期カウンタ値を更新する。制御部250は、生成されたグループ鍵による認証コードと、更新された同期カウンタ値とを含むグループ操作コマンド用メッセージを用いて、コントローラ30や機器40とのグループ操作を制御する。なお、上記各部は、これらの一部又は全てがソフトウェア(プログラム)で実現されても良いし、ハードウェア回路で実現されても良い。また、上記各部により、後述する各種処理が実行される。
[グループ管理]
ECHONET Liteセキュリティでは、HANグループ、個別通信用グループ、アプリケーションシステムグループ、及びコントローラグループの4種類のグループを扱うことができる。これらのうち、HANグループ(グループ数=1)は、ドメイン内の全てのECHONET Liteノード間の暗号通信に使用可能である。また、HANグループでは、1つのグループ暗号鍵「K1」がドメイン内の全てのECHONET Liteノードで共有される。
ECHONET Liteセキュリティでは、HANグループ、個別通信用グループ、アプリケーションシステムグループ、及びコントローラグループの4種類のグループを扱うことができる。これらのうち、HANグループ(グループ数=1)は、ドメイン内の全てのECHONET Liteノード間の暗号通信に使用可能である。また、HANグループでは、1つのグループ暗号鍵「K1」がドメイン内の全てのECHONET Liteノードで共有される。
個別通信用グループは、ある特定の2つのECHONET Liteノード間での暗号通信に使用可能である。ある特定の2つのECHONET Liteノードの識別子をx,yとすると、グループ暗号鍵K_xy又はグループ暗号鍵K_yx(本実施形態では、K_xy=K_yxとする)が、ノードx、ノードy間で共有される。
アプリケーションシステムグループ(グループ数=M)は、ある特定のコントローラ30に接続するECHONET Liteノード(コントローラ30を含む)間での暗号通信に使用可能である。コントローラ30の識別子をctlとすると、グループ暗号鍵K_ctlが、コントローラctlに接続するECHONET Liteノードで共有される。
コントローラグループ(グループ数=1)は、ドメイン内の全てのコントローラ30間の暗号通信に使用可能である。また、コントローラグループでは、1つのグループ暗号鍵K2がドメイン内の全てのコントローラ30で共有される。
上記4種類全てのグループによるグループ通信において、IEEE802.21dによる暗号通信を行なうものとする。以下、‘+’は文字列の連結を表す演算子、TypeはLeafID、EUI64アドレス又はショートアドレスの何れのタイプかを識別する文字、‘L’(LeafID)、‘E’(EUI64アドレス)、‘S’(IEEE802.15.4ショートアドレス)の何れかである。IDx、IDyは個別通信用グループに属する2つのECHONET Liteノードの識別子(LeafID、EUI64アドレス、IEEE802.15.4ショートアドレスの何れか)、IDctlはアプリケーションシステムにおけるコントローラ30の識別子(LeafID、EUI64アドレス、IEEE802.15.4ショートアドレスの何れか)である。
このとき、パケットに付与されるIEEE802.21SourceIdentifierとして、LeafID、EUI64アドレス又はIEEE802.15.4ショートアドレスが使用されるかもしれない。例えば、パケットに付与されるIEEE802.21SourceIdentifierは、“L10”、“E00112233AABBCCDD”、“S0011”等である。LeafIDは、IEEE802.21dのグループ管理木における葉ノードの識別子であり、IEEE802.21dノードの識別子として使用可能である。なお、グループ管理木における葉ノードの識別子は、インデックスの一例である。例えば、インデックスは、MACアドレス等の識別子を表す。
LeafID長は、グループ管理木サイズに依存する。葉ノード数が256であるグループ管理木の場合、BASE16エンコーディング時のLeafID長は2バイトとなる。また、BASE16エンコーディング時のEUI64アドレス長は16バイト、BASE16エンコーディング時のIEEE802.15.4ショートアドレス長は4バイトとなる。以下、LeafID、EUI64アドレス、IEEE802.15.4ショートアドレスの符号化には、BASE16エンコーディングを使用するものとする。
図6は、第1の実施形態に係るグループ管理木とLeafIDとの例を示す図である。図6において、LeafIDは、2進数表現で表されている。グループ管理木において、葉ノードと各通信ノードとは、1対1に対応している。また、グループ管理木の各ノードには、固有の128ビットの暗号鍵が対応している。ここで、ある通信ノードについて、根ノードから葉ノードに至るパス上に存在する各ノードに対応する暗号鍵のリストを、該当の通信ノードに対するデバイス鍵と呼ぶ。例えば、根ノードから葉ノードに至るパス上に存在する各ノードについて、N0に対しては、ノード0、ノード00、ノード000、ノード0000となる。ある通信ノードのデバイス鍵は、該通信ノードとGMとの間で共有される。例えば、通信ノードN0、N1、N2、N3をグループメンバとすると、鍵暗号化に使用されるノード鍵は、ノード00のノード鍵となる。また、通信ノードN1、N2、N3、N4、N6、N7をグループメンバとすると、鍵暗号化に使用されるノード鍵は、ノード00、ノード0100、ノード011のノード鍵となる。
グループ通信において、パケットに付与されるIEEE802.21DestinationIdentifierとして、IEEE802.21dで規定されるMIHF GroupIDを使用する。MIHF GroupIDの値は、グループによって異なる。図7は、第1の実施形態に係るグループ割り当て規則の例を示す図である。HANグループに対しては、MIHF GroupIDとしてMIHF BroadcastID(=“”)を使用する。個別通信用グループに対しては、MIHF GroupIDとして、Type+IDx+‘@’+IDyを使用する。例えば、個別通信用グループのMIHF GroupIDは、“L10@20”、“E00112233AABBCCDD@00112233BBCCDDEEFF”、“S0011@AABB”等となる。
アプリケーションシステムグループに対しては、MIHF GroupIDとして、Type+‘@’+IDctlを使用する。例えば、アプリケーションシステムグループのMIHF GroupIDは、“L@20”、“E@00112233BBCCDDEEFF”、“S@AABB”等となる。コントローラグループに対しては、MIHF GroupIDとして、“Controllers”を使用する。以下では、MIHF ID及びMIHF Broadcast以外のMIHF GroupIDを、“ID(Type)”と表記する場合がある。例えば、MIHF GroupID“L10@20”については、10@20(L)と表記する。
[通信手順]
図8は、第1の実施形態に係る通信手順の例を示す全体シーケンスである。図8に示すように、コーディネータ20とコントローラ30との間で、「1.機器登録」、「2.認証・鍵共有」が実施され、コントローラ30と機器40との間で「3.暗号通信」が実施される。同様に、コーディネータ20と機器40との間で、「1.機器登録」、「2.認証・鍵共有」が実施され、コントローラ30と機器40との間で「3.暗号通信」が実施される。なお、「1.機器登録」と「2.認証・鍵共有」において、コントローラ30と機器40とは、任意の順序で起動可能である。以下では、コントローラ30と機器40とを、「参加ノード」と呼ぶ場合がある。
図8は、第1の実施形態に係る通信手順の例を示す全体シーケンスである。図8に示すように、コーディネータ20とコントローラ30との間で、「1.機器登録」、「2.認証・鍵共有」が実施され、コントローラ30と機器40との間で「3.暗号通信」が実施される。同様に、コーディネータ20と機器40との間で、「1.機器登録」、「2.認証・鍵共有」が実施され、コントローラ30と機器40との間で「3.暗号通信」が実施される。なお、「1.機器登録」と「2.認証・鍵共有」において、コントローラ30と機器40とは、任意の順序で起動可能である。以下では、コントローラ30と機器40とを、「参加ノード」と呼ぶ場合がある。
まず、参加ノードとコーディネータ20との間で機器登録が行なわれる。参加ノードは、UPnP又はECHONET Lite(何れもセキュリティなし)等を使用してコーディネータ20を発見する。コーディネータ20は、UPnP又はECHONET Lite等のブロードキャストを受信した場合に、送信元を登録する。なお、登録内容の確定は、後述する認証・鍵共有の成功時に行なわれても良い。このとき、認証・鍵共有に失敗した場合には、登録内容を破棄する。
次に、参加ノードとコーディネータ20との間で認証及び鍵共有を行なう。参加ノードとコーディネータ20との間の認証時には、相互認証のために証明書の交換が行なわれる。認証に成功した場合、コーディネータ20は、鍵共有に使用される802.21dデバイス鍵を暗号化して参加ノードに配布する。なお、リブート時の処理負荷を軽減するために、参加ノードは、認証及び鍵共有時に、コーディネータ20から配布された情報を不揮発性メモリに保持するものとする。
参加ノードとコーディネータ20との間の鍵共有は、コーディネータ20から参加ノードに対してグループ鍵を配布することにより行なわれる。グループ鍵は、参加ノードの要求なしで配布される場合(プッシュ)と、参加ノードからの要求により配布される場合(プル)とがある。また、コーディネータ20は、参加ノードに対し、別の参加ノードに関する証明書を配布するかもしれない。
その後、参加ノードの間で暗号通信が行なわれる。コントローラ30と機器40との間の暗号通信に加えて、コントローラ30間、機器40間においても暗号通信が行なわれても良い。暗号通信に使用されるメッセージには、暗号化されたECHONET Lite電文が含まれ、送信元ノードによるデジタル署名を付与することができる。本実施形態では、例えば、メッセージ送信にマルチキャストが使用される場合、ドメインの範囲があるIPリンクの範囲と一致する場合には、マルチキャストアドレスとして、All Nodesリンクローカルアドレス(FF02:0:0:0:0:0:0:1)を使用する。
図9は、第1の実施形態に係る認証シーケンスの例である。認証時には、PANAの上で証明書を使用したRFC5216で規定されるEAP−TLSによる相互認証を実施するものとする。このとき、X.509証明書の交換と、ECDH(楕円Diffie‐Hellman)鍵交換とが行なわれ、相互認証とセッション鍵とが確立される。コーディネータ20から参加ノードには、認証局(CA:Certificate Authority)のX.509証明書も配布されるかもしれない。認証に成功すると、コーディネータ20から参加ノードに、少なくとも参加ノードの802.21dデバイス鍵、コーディネータ20の802.21dLeafID、及び、参加ノードの802.21dLeafIDが配布される。参加ノードの802.21dデバイス鍵は、暗号化して配布する必要がある。このときの暗号化は、RFC6786で規定される暗号化機能が使用される。なお、確立されたPANAセッションは、直ちに削除しても良い。
図10は、第1の実施形態に係る鍵共有シーケンスの例である。鍵共有は、参加ノードとコーディネータ20との間の認証完了後に行なうフェーズ(フェーズ1)と、参加ノードが暗号通信を行なう通信ピアを発見したときに行なうフェーズ(フェーズ2)とに分けられる。フェーズ1は、コーディネータ20とコントローラ30との間の鍵共有であるフェーズ1Aと、コーディネータ20と機器40との間の鍵共有であるフェーズ1Bとに分かれる。なお、フェーズ1Aとフェーズ1Bとは、何れが先に行なわれても良い。また、フェーズ2は、コーディネータ20とコントローラ30との間の鍵共有であるフェーズ2Aと、コーディネータ20と機器40との間の鍵共有であるフェーズ2Bとに分かれる。なお、フェーズ2Aとフェーズ2Bとは、何れが先に行なわれても良い。フェーズ1A、フェーズ1B、フェーズ2A及びフェーズ2Bの各フェーズでは、IEEE802.21dを使用して鍵共有を行なう。以下に、各フェーズについて説明する。
フェーズ1Aにおいて、コーディネータ20は、コントローラ30に対し、コーディネータ20とコントローラ30との間の個別通信用グループ鍵をプッシュにより配布する(図10の(1)参照)。そして、コーディネータ20は、コントローラ30に対し、HANグループ鍵をプッシュにより配布する(図10の(2)参照)。続いて、コーディネータ20は、コントローラ30に対し、コントローラグループ鍵をプッシュにより配布する(図10の(3)参照)。その後、コーディネータ20は、コントローラ30に対し、アプリケーションシステムグループ鍵をプッシュにより配布する(図10の(4)参照)。
フェーズ1Bにおいて、コーディネータ20は、機器40に対し、コーディネータ20と機器40との間の個別通信用グループ鍵をプッシュにより配布する(図10の(5)参照)。そして、コーディネータ20は、機器40に対し、HANグループ鍵をプッシュにより配布する(図10の(6)参照)。
フェーズ2Aにおいて、コーディネータ20は、コントローラ30に対し、コントローラ30と機器40との間の個別通信用グループ鍵を、プル又はプッシュにより配布する(図10の(7)参照)。ここで、フェーズ2Aがフェーズ2Bよりも先に行なわれる場合にはプル、フェーズ2Bがフェーズ2Aよりも先に行なわれる場合にはプッシュとなる。そして、コーディネータ20は、コントローラ30に対し、機器40のX.509証明書をプッシュにより配布する(図10の(8)参照)。
フェーズ2Bにおいて、コーディネータ20は、機器40に対し、コントローラ30と機器40との間の個別通信用グループ鍵を、プル又はプッシュにより配布する(図10の(9)参照)。ここで、フェーズ2Aがフェーズ2Bよりも先に行なわれる場合にはプル、フェーズ2Bがフェーズ2Aよりも先に行なわれる場合にはプッシュとなる。そして、コーディネータ20は、機器40に対し、アプリケーションシステムグループ鍵をプッシュにより配布する(図10の(10)参照)。続いて、コーディネータ20は、機器40に対し、コントローラ30のX.509証明書をプッシュにより配布する(図10の(11)参照)。
図10に示した鍵共有シーケンスにおいて、(3)は、コントローラグループ鍵を使用しない場合には不要である。また、(4)及び(10)は、アプリケーションシステムグループ鍵を使用しない場合には不要である。また、(8)は、暗号通信において機器40の送信元署名を付与しない場合には不要である。また、プッシュによるグループ鍵配布は、プルによるグループ鍵配布に置き換えることも可能である。
(1)及び(5)以外の各ステップでコーディネータ20と参加ノードとの間で交換されるIEEE802.21dメッセージは、コーディネータ20と参加ノードとの間の個別通信用グループ宛てに送信される。また、(1)及び(5)で交換されるIEEE802.21dメッセージは、個別ノード宛てに送信される。図10に示した(1)〜(11)の各ステップは、「プッシュによるグループ鍵配布」、「プルによるグループ鍵配布」、「プッシュによる証明書配布」の3種類の基本手順に分類できる。以下では、これらの3種類の手順について説明する。
プッシュによるグループ鍵配信時に、コーディネータ20は、参加ノードに対し、MIH_Net_Group_Manipulate requestメッセージを送信する。MIH_Net_Group_Manipulate requestメッセージを受信した参加ノードは、コーディネータ20に対し、MIH_Net_Group_Manipulate responseメッセージを送信する。
プルによるグループ鍵配信時に、参加ノードは、コーディネータ20に対し、MIH_MN_Group_Manipulate requestメッセージを送信する。MIH_MN_Group_Manipulate requestメッセージを受信したコーディネータ20は、参加ノードに対し、MIH_MN_Group_Manipulate responseメッセージを送信する。
プッシュによる証明書配布時に、コーディネータ20は、参加ノードに対し、MIH_Push_Certificate requestメッセージを送信する。MIH_Push_Certificate requestメッセージを受信した参加ノードは、コーディネータ20に対し、MIH_Push_Certificate responseメッセージを送信する。
暗号通信では、ユニキャスト暗号通信とマルチキャスト暗号通信とをサポートする。ユニキャスト暗号通信と、マルチキャスト暗号通信とでは、暗号化されたECHONET Liteメッセージを含むMIH_Configuration_Update indicationメッセージが使用される。ユニキャスト暗号通信のMIH_Configuration_Update indicationメッセージは、個別通信用グループ宛てに送信される。マルチキャスト暗号通信のMIH_Configuration_Update indicationメッセージは、個別通信用グループ以外のグループ宛てに送信される。
証明書リボーク時に、コーディネータ20は、MIH_Revoke_Certificate requestメッセージをマルチキャスト又はユニキャストで送信する。マルチキャストで送信する場合、ドメインの範囲内においてMIH_Revoke_Certificate requestメッセージを受信したノード(コントローラ30又は機器40)は、MIH_Revoke_Certificate responseメッセージをユニキャストでコーディネータ20に送信する。
証明書リボーク時のユニキャストMIH_Revoke_Certificate requestメッセージは、コーディネータ20と参加ノードとの間の個別通信用グループ宛てに送信される。マルチキャストMIH_Revoke_Certificate requestメッセージは、HANグループ宛てに送信される。MIH_Revoke_Certificate responseメッセージは、コーディネータ20と参加ノードとの間の個別通信用グループ宛てに送信される。ユニキャストによる証明書リボークは、マルチキャストによる証明書リボークと併用することが可能である。
鍵更新時に、コーディネータ20は、プッシュによるグループ鍵配信を起動する。このとき、MIH_Net_Group_Manipulate requestメッセージをマルチキャストで一斉同報する、又は、ユニキャストで個別ノード宛てに送信する。MIH_Net_Group_Manipulate requestメッセージを受信した参加ノード(コントローラ30又は機器40)は、MIH_Net_Group_Manipulate responseメッセージを、ユニキャストでコーディネータ20に送信する。
鍵更新時のユニキャストMIH_Net_Group_Manipulate requestメッセージは、コーディネータ20と参加ノードとの間の個別通信用グループ宛てに送信される。マルチキャストMIH_Net_Group_Manipulate requestメッセージは、HANグループ宛てに送信される。MIH_Net_Group_Manipulate responseメッセージは、コーディネータ20と参加ノードとの間の個別通信用グループ宛てに送信される。ユニキャストによる鍵更新は、マルチキャストによるグループ鍵更新と併用することが可能である。
あるグループに対する鍵更新は、グループからメンバーが離脱した場合や、グループを削除する場合に起動される。また、鍵更新による通信瞬断を避けることが好ましく、パケット送信とパケット受信とにおいて、以下の実装が推奨される。パケット送信では、新鍵をコーディネータ20から受信してから一定期間(T)、旧鍵を使用し、以降は新鍵を使用する。パケット受信では、新鍵をコーディネータ20から受信してから一定期間(2T)、旧鍵及び新鍵のどちらでも使用可能とする。ここで、「T」は、鍵更新時間の最大値であり、例えばデフォルト値は180秒である。
鍵更新時に新鍵の受信に失敗したことで新鍵を保有していない参加ノードは、新鍵で暗号化された、自ノードが属するグループ宛てのメッセージを受信した場合に、プルによるグループ鍵配信を起動すれば良い。鍵更新の結果、一定期間2Tの間、コーディネータ20がMIH_Net_Group_Manipulate responseメッセージをグループに所属するノードの何れからも受信しなかった場合には、鍵更新失敗となる。鍵更新に失敗したコーディネータ20は、鍵更新のリトライを試みても良く、これにより、鍵更新のリトライのたびに新しい鍵が生成されるかもしれない。
あるグループを削除する場合には、削除対象のグループに対し、空のComplete Subtreeを指定した鍵更新を実施する。又は、Complete Subtreeにグループ管理木の未使用の葉ノードを1つだけ含む鍵更新を実行する。
[セキュリティ]
本実施形態で使用されるIEEE802.21dの全てのメッセージに適用されるセキュリティ共通処理のうち、IEEE802.21dで詳細が規定されていない部分を規定する。IEEE802.21dメッセージの保護のためのセキュリティは、秘匿性、送信元認証の2種類である。これらのうち、秘匿性は、AES−CCMにより実現される。また、送信元認証は、鍵長256ビットのECDSAにより実現される。秘匿性の有効時には、SAID(Security Association Identifier) TLV(Type Length Value)、及びSecurity TLVが使用される。送信元認証の有効時には、Signature TLVが使用される。秘匿性と送信元認証とがともに有効である場合には、SAID TLV、Security TLV、Signature TLVが使用される。以下に、IEEE802.21dメッセージの保護に関するセキュリティポリシーと、AES−CCMで使用されるシーケンス番号の更新方法とを説明する。
本実施形態で使用されるIEEE802.21dの全てのメッセージに適用されるセキュリティ共通処理のうち、IEEE802.21dで詳細が規定されていない部分を規定する。IEEE802.21dメッセージの保護のためのセキュリティは、秘匿性、送信元認証の2種類である。これらのうち、秘匿性は、AES−CCMにより実現される。また、送信元認証は、鍵長256ビットのECDSAにより実現される。秘匿性の有効時には、SAID(Security Association Identifier) TLV(Type Length Value)、及びSecurity TLVが使用される。送信元認証の有効時には、Signature TLVが使用される。秘匿性と送信元認証とがともに有効である場合には、SAID TLV、Security TLV、Signature TLVが使用される。以下に、IEEE802.21dメッセージの保護に関するセキュリティポリシーと、AES−CCMで使用されるシーケンス番号の更新方法とを説明する。
セキュリティポリシーには、個別通信のセキュリティポリシーと、グループ通信のセキュリティポリシーとが存在する。本実施形態において、個別通信とは、IEEE802.21dのDestination IdentifierにMIHF IDを使用した1対1の通信のことを指す。また、グループ通信とは、IEEE802.21dのDestination IdentifierにMIHF GroupIDを使用した多対多の通信のことを指す。グループ通信の特殊ケースとして、グループメンバ数が2である通信を個別グループ通信と呼ぶ。個別通信と個別グループ通信とは、セキュリティポリシーの観点で区別される。
個別通信については、秘匿性は常に無効とし、送信元認証は所定のメッセージを除き常に有効とする。例えば、所定のメッセージは、MIH_Capability_Discover requestである。グループ通信に関しては、グループ毎に、全体ポリシー、送信元別ポリシー、メッセージ別ポリシー等のセキュリティポリシーを定める。全体ポリシーは、対象グループ全体に適用されるセキュリティポリシーである。全体ポリシーには、「有効」又は「無効」の何れかのポリシーが設定される。送信元別ポリシーは、同一グループ内の送信元別に適用されるセキュリティポリシーである。送信元別ポリシーには、全体ポリシーに対する例外が適用される送信元を指定する。例えば、送信元別ポリシーは、全体ポリシーが「有効」であるときに例外=「無効」となり、全体ポリシーが「無効」であるときに例外=「有効」となる。送信元別ポリシーは、全体ポリシーの例外を適用する送信元識別子のリスト、Bloom Filter、又は、Complete Subtreeにより指定される。
メッセージ別ポリシーは、同一グループ内のメッセージ毎に適用されるポリシーである。メッセージ別ポリシーには、全体ポリシーに対する例外が適用されるメッセージを指定する。例えば、メッセージ別ポリシーは、全体ポリシーが「有効」であるときに例外=「無効」となり、全体ポリシーが「無効」であるときに例外=「有効」となる。メッセージ別ポリシーは、全体ポリシーの例外を適用するメッセージ識別子のリスト、Bloom Filter、又は、ビットマップにより指定される。
図11は、第1の実施形態に係るグループ通信セキュリティポリシーのデフォルト値の例を示す図である。図11において、網掛けで表された箇所は、変更不可である。例えば、設定により変更可能なセキュリティポリシーは、個別通信用グループ以外の送信元認証に関する送信元別ポリシー及びメッセージ別ポリシーである。変更可能なセキュリティポリシーの設定は、事前に設定しておく、グループ識別子にポリシー情報を埋め込む、グループ操作コマンドで通知する、の何れかにより行なわれる。なお、グループ操作コマンドは、MIH_MN_Group_Manipulate又はMIH_Net_Group_Manipulateである。
IEEE802.21dのAES−CCMは、13オクテットのNonceを使用する。このNonceは、TransactionID(2オクテット)、SequenceNumber(10オクテット)、FragmentNumber(1オクテット)を連結したものである。これらのうち、SequenceNumber以外は、パケットヘッダのフィールドである。
本実施形態においては、送信元毎にAES−CCMのSequene Numberが管理され、グループ生成やグループ鍵更新によるSequence Numberのリセットは行なわれないものとする。つまり、本実施形態では、グループ存命中にSequence Numberが1周することはないと仮定する。なお、グループ存命中とは、対象となるグループに含まれるノード数が1以上であることを指す。
Sequence Numberは、単調増加する4オクテットの同期カウンタと、単調増加する6オクテットのパケットカウンタのサブフィールドを持つ。同期カウンタは、コーディネータ20により割り当てられ、他のノードに通知される。パケットカウンタは、IEEE802.21メッセージの送信毎に1ずつインクリメントされる。例えば、Sequence Numberの値は、現在の同期カウンタの値を「a」、現在のパケットカウンタの値を「b」とすると、(a,b)で表される。
認証・鍵共有時及び鍵更新時には、プッシュ又はプルによる鍵配信により、Sequence Number=(a,0)が各ノードに通知される。Sequence Numberの同期を、ノードの再起動等の何らかの事由により喪失した場合には、暗号通信が途絶するため、シーケンス番号の再同期が行なわれる。ここで、シーケンス番号の同期喪失の条件は、以下の場合である。例えば、Sequence Numberを喪失した場合や、受信フレームのSequence Numberと自身が管理する受信Sequence Number値の差が閾値を超えた場合、シーケンス番号の同期維持を確認してから一定時間が経過した場合である。かかるシーケンス番号の再同期は、参加ノードをトリガとして行なわれる場合と、コーディネータ20をトリガとして行なわれる場合とが存在する。
図12は、第1の実施形態に係る参加ノードをトリガとしてシーケンス番号の再同期を行なう例を説明する図である。なお、図12では、参加ノードとして、参加ノード1と参加ノード2とが存在する場合を例に挙げる。図12の(1)に示すように、参加ノード1は、同期カウンタ(例えば、aとする)を保持していない場合に、コーディネータ20に対して同期カウンタの取得要求を行なう。例えば、参加ノード1は、同期カウンタの取得要求として、セキュリティ保護されていない(暗号化されていない、及び、署名なし)MIH_Capability_Discover requestメッセージをコーディネータ20に対して送信する。同期カウンタを保持していない状況は、元々保持していない場合のほか、リブートや、スリープ状態からアクティブになったとき等の状態において起こり得る。また、参加ノード1によって同期カウンタが保持されている場合には、同期カウンタの取得要求は行なわれなくて良いため、図12の(3)における処理が実行される。
図12の(2)に示すように、同期カウンタの取得要求を受信したコーディネータ20は、同期カウンタの取得要求に対する応答(同期カウンタ取得応答)を参加ノード1に対して送信する。例えば、コーディネータ20は、同期カウンタの取得要求の応答として、個別通信用グループ鍵で暗号化されており、署名なしのMIH_Capability_Discover responseメッセージを参加ノード1に対して送信する。同期カウンタ取得応答を受信した参加ノード1は、自身の同期カウンタを、受信メッセージのSequence Numberに含まれる同期カウンタの値(例えば、aとする)に設定する。
図12の(3)に示すように、同期カウンタの取得応答を受信した参加ノード1は、コーディネータ20に対して同期カウンタの更新要求を行なう。例えば、参加ノード1は、個別通信用グループ鍵で暗号化されており、署名なし、且つ、Request Code=1であるMIH_Registration requestメッセージをコーディネータ20に対して送信する。MIH_Registration requestメッセージのSequence Number値は、(a,b_max)とする。b_maxは、パケットカウンタの最大値である。
図12の(4)に示すように、同期カウンタの更新要求を受信したコーディネータ20は、同期カウンタの更新要求に対する応答(同期カウンタ更新応答)を参加ノード1に対して送信する。例えば、コーディネータ20は、同期カウンタ更新要求の応答として、個別通信用グループ鍵で暗号化されており、署名なしのMIH_Registration responseメッセージを参加ノード1に対して送信する。参加ノード1は、同期カウンタ更新応答の受信に成功した場合には次の処理を実行し、同期カウンタ更新応答の受信に失敗した場合には保持している同期カウンタを破棄し、同期カウンタの取得要求を行なう。
また、同期カウンタ更新応答を送信したコーディネータ20は、同期カウンタを1だけインクリメントする。例えば、コーディネータ20は、更新後の同期カウンタ値を「a_new」とすると、a_new=a+1に更新する。そして、図12の(5)に示すように、同期カウンタを更新したコーディネータ20は、Sequence Number(a_new,0)を持つ同期カウンタ更新通知を、HANグループ宛てのマルチキャストにより参加ノード1や参加ノード2に通知する。例えば、同期カウンタ更新通知は、ConfigurationDataがNullのドメイングループ鍵で暗号化されており、署名付きのMIH_Configuration_Update indicationメッセージである。
これらにより、同期カウンタ更新通知を受信した各参加ノードは、同期カウンタの値を更新するとともに、自身が管理する全ての送信用Sequence Number及び受信用Sequence Numberを(a_new,0)に設定する。なお、受信用Sequence Numberの再同期に失敗した参加ノードは、全てのグループに関するステートを削除し、上述した鍵共有シーケンスを実行する。なお、個別通信用グループ鍵によるメッセージ認証コードは、グループ操作コマンド用メッセージだけではなく、他のメッセージに対しても付与されても良い。例えば、図10に示した(8)や(11)等の機器証明書やコントローラ証明書の配布時に使用されても良い。なお、同期カウンタの更新は、個別通信グループ操作コマンド用のメッセージを含まない場合に用いても良いし、個別通信用グループに対応するグループ鍵を使わない場合に用いても良い。
図13は、第1の実施形態に係るコーディネータ20をトリガとしてシーケンス番号の再同期を行なう例を説明する図である。なお、図13では、参加ノードとして、参加ノード1と参加ノード2とが存在する場合を例に挙げる。図13に示すように、コーディネータ20は、リブート後に、同期カウンタを1だけインクリメントする。上述したように、コーディネータ20は、更新後の同期カウンタ値をa_new=a+1に更新する。そして、コーディネータ20は、Sequence Number(a_new,0)を持つ同期カウンタ更新通知を、HANグループ宛てのマルチキャストにより参加ノード1や参加ノード2に通知する。上述したように、同期カウンタ更新通知は、ConfigurationDataがNullのドメイングループ鍵で暗号化されており、署名付きのMIH_Configuration_Update indicationメッセージである。これらにより、同期カウンタ更新通知を受信した各参加ノードは、同期カウンタの値を更新するとともに、自身が管理する全ての送信用Sequence Number及び受信用Sequence Numberを(a_new,0)に設定する。
[IEEE802.21dメッセージTLV]
本実施形態で使用されるIEEE802.21dメッセージに含まれるセキュリティポリシー非依存TLVを説明する。セキュリティポリシー非依存TLVは、IEEE802.21d TLVのうち、SAID TLV、Security TLV及びSignature TLV以外のTLVである。
本実施形態で使用されるIEEE802.21dメッセージに含まれるセキュリティポリシー非依存TLVを説明する。セキュリティポリシー非依存TLVは、IEEE802.21d TLVのうち、SAID TLV、Security TLV及びSignature TLV以外のTLVである。
図14は、第1の実施形態に係るMIH_Net_Group_Manipulate requestメッセージに含まれるセキュリティポリシー非依存TLVの例を示す図である。図14に示すように、SourceIdentifierは、コーディネータ20の識別子である。DestinationIdentifierは、ユニキャストの場合、参加ノードの識別子、又は、コーディネータ20と参加ノードとの間の個別通信用グループの識別子である。また、DestinationIdentifierは、マルチキャストの場合、HANグループの識別子である。TargetIdentifierは、グループ識別子であり、個別通信用グループ又はアプリケーションシステムグループの場合はLeafIDを使用する。
ResponseFlagは、応答要求フラグであり、値「1」を指定する。GroupKeyDataは、暗号化されたグループ鍵であり、空のCompleteSubtreeが指定される場合、GroupKeyData及びSAIDNotificationは不要である。CompleteSubtreeは、GroupKeyDataの復号に使用されるCompleteSubtreeデータである。SequenceNumberは、暗号通信時の送信パケットのAES−CCM NonceフィールドのSequenceNumber部の初期値である。TargetAddressは、個別通信用グループの場合にメッセージに含まれ、参加ノードに対する通信ピアノードのIPアドレスを指定する。SAID Notificationは、GroupKeyDataに対応するSAIDを指定する。
図15は、第1の実施形態に係るMIH_Net_Group_Manipulate responseメッセージに含まれるセキュリティポリシー非依存TLVの例を示す図である。図15に示すように、SourceIdentifierは、参加ノードの識別子である。DestinationIdentifierは、コーディネータ20の識別子、又は、コーディネータ20と参加ノードとの間の個別通信用グループ識別子である。TargetIdentifierは、グループ識別子であり、個別通信用グループ又はアプリケーションシステムグループの場合はLeafIDを使用する。GroupStatusは、グループ操作結果であり、Join operation successful(値「0」)を指定する。
図16は、第1の実施形態に係るMIH_MN_Group_Manipulate requestメッセージに含まれるセキュリティポリシー非依存TLVの例を示す図である。図16に示すように、SourceIdentifierは、参加ノードの識別子である。DestinationIdentifierは、コーディネータ20と参加ノードとの間の個別通信用グループ識別子、又は、コーディネータ20の個別ノード識別子である。TargetIdentifierは、グループ識別子であり、個別通信用グループの場合はLeafID以外の識別子を指定する。GroupActionは、グループ操作種別であり、Join the group(値「0」)を指定する。
図17は、第1の実施形態に係るMIH_MN_Group_Manipulate responseメッセージに含まれるセキュリティポリシー非依存TLVの例を示す図である。図17に示すように、SourceIdentifierは、コーディネータ20の識別子である。DestinationIdentifierは、コーディネータ20と参加ノードとの間の個別通信用グループ識別子、又は、参加ノードの個別ノード識別子である。TargetIdentifierは、グループ識別子であり、個別通信用グループ又はアプリケーションシステムグループの場合はLeafIDを使用する。GroupKeyDataは、暗号化されたグループ鍵である。CompleteSubtreeは、GroupKeyDataの復号に使用されるCompleteSubtreeデータである。SequenceNumberは、暗号通信時の送信パケットのAES−CCM NonceフィールドのSequence Number部の初期値である。SAID Notificationは、GroupKeyDataに対応するSAIDを指定する。
図18は、第1の実施形態に係るMIH_Push_Certificate requestメッセージに含まれるセキュリティポリシー非依存TLVの例を示す図である。図18に示すように、SourceIdentifierは、参加ノードの識別子である。DestinationIdentifierは、ユニキャストの場合、コーディネータ20と参加ノードとの間の個別通信用グループの識別子である。また、DestinationIdentifierは、マルチキャストの場合、HANグループの識別子である。Certificateは、参加ノードと暗号通信を行なう通信ピアノードのX.509証明書である。
図19は、第1の実施形態に係るMIH_Push_Certificate responseメッセージに含まれるセキュリティポリシー非依存TLVの例を示す図である。図19に示すように、SourceIdentifierは、コーディネータ20の識別子である。DestinationIdentifierは、コーディネータ20と参加ノードとの間の個別通信用グループの識別子である。CertificateSerialNumberは、HIM_Push_Certificate requestメッセージにより配布されたX.509証明書のシリアル番号である。CertificateStatusは、配布された証明書のステータスであり、証明書が有効である場合にはCertificate Valid(値「0」)が入る。
図20は、第1の実施形態に係るMIH_Configuration_Update indicationメッセージに含まれるセキュリティポリシー非依存TLVの例を示す図である。図20に示すように、SourceIdentifierは、送信元ノードの識別子である。DestinationIdentifierは、宛先識別子であり、ユニキャスト暗号通信の場合には個別通信用グループの識別子が使用される。ここで、個別通信用グループの識別子は、IDx+‘@’+IDy(L)、又は、IDy+‘@’+IDx(L)である。また、DestinationIdentifierは、マルチキャスト暗号通信の場合、アプリケーションシステムグループ使用時にはアプリケーションシステムグループの識別子(‘@’+IDctl(L))が使用され、それ以外のグループ使用時にはHANグループの識別子(“”)が使用される。ConfigurationDataには、コーディネータ20からの同期カウンタ更新通知に使用される場合Nullとなり、それ以外はアプリケーション種別(UDPポート番号など)、及び、アプリケーションメッセージ(ECHONET−Lite電文など)が含まれる。
図21は、第1の実施形態に係るMIH_Revoke_Certificate requestメッセージに含まれるセキュリティポリシー非依存TLVの例を示す図である。図21に示すように、SourceIdentifierは、コーディネータ20の識別子である。DestinationIdentifierは、ユニキャストの場合、コーディネータ20と参加ノードとの間の個別通信用グループの識別子である。また、DestinationIdentifierは、マルチキャストの場合、HANグループの識別子である。CertificateSerialNumberは、リボークされる証明書のシリアル番号である。CertificateRevocationは、リボークされる証明書の発行元のデジタル署名である。
図22は、第1の実施形態に係るMIH_Revoke_Certificate responseメッセージに含まれるセキュリティポリシー非依存TLVの例を示す図である。図22に示すように、SourceIdentifierは、参加ノードの識別子である。DestinationIdentifierは、コーディネータ20と参加ノードとの間の個別通信用グループの識別子である。CertificateSerialNumberは、リボークされる証明書のシリアル番号である。CertificateStatusは、リボークされる証明書のステータスであり、リボーク成功の場合にはCertificate Valid(値「1」)を設定する。
次に、本実施形態に係る鍵共有、暗号通信、証明書リボーク、鍵更新についての詳細シーケンスを説明する。
[鍵共有フェーズ1の詳細シーケンス]
図23は、第1の実施形態に係る鍵共有フェーズ1Aの詳細シーケンスの例である。図23では、IDctlはコントローラ30の識別子、IDcdnはコーディネータ20の識別子、IDdevは機器40の識別子を表す。また、図23に示す(1)〜(4)は、図10に示した(1)〜(4)に相当する。
図23は、第1の実施形態に係る鍵共有フェーズ1Aの詳細シーケンスの例である。図23では、IDctlはコントローラ30の識別子、IDcdnはコーディネータ20の識別子、IDdevは機器40の識別子を表す。また、図23に示す(1)〜(4)は、図10に示した(1)〜(4)に相当する。
図23の(1)に示すように、コーディネータ20は、コントローラ30に対して、MIH_Net_Group_Manipulate requestメッセージを送信する。MIH_Net_Group_Manipulate requestメッセージには、「src=IDcdn(L),dst=IDctl(L),GroupKeyData(K_cdn,ctl),CompleteSubtree,ResponseFlag=1,TargetID=IDctl@IDcdn(L),SequenceNum,SAIDNotif,Signature」が含まれる。また、MIH_Net_Group_Manipulate requestメッセージを受信したコントローラ30は、コーディネータ20に対して、MIH_Net_Group_Manipulate responseメッセージを送信する。MIH_Net_Group_Manipulate responseメッセージには、「src=IDdev(L),dst=IDcdn(L),TargetID=IDdev@IDcdn(L),GroupStatus,Signature」が含まれる。
図23の(2)に示すように、コーディネータ20は、コントローラ30に対して、MIH_Net_Group_Manipulate requestメッセージを送信する。MIH_Net_Group_Manipulate requestメッセージには、「src=IDcdn(L),dst=IDctl@IDcdn(L),SAID,Security{GroupKeyData(K1),CompleteSubtree,ResponseFlag=1,TargetID=“”,SequenceNum,SAIDNotif}」が含まれる。MIH_Net_Group_Manipulate requestメッセージを受信したコントローラ30は、MIH_Net_Group_Manipulate responseメッセージを送信する。MIH_Net_Group_Manipulate responseメッセージには、「src=IDctl(L),dst=IDctl@IDcdn(L),SAID,Security{TargetID=“”,GroupStatus}」が含まれる。
図23の(3)に示すように、コーディネータ20は、コントローラ30に対して、MIH_Net_Group_Manipulate requestメッセージを送信する。MIH_Net_Group_Manipulate requestメッセージには、「src=IDcdn(L),dst=IDctl@IDcdn(L),SAID,Security{GroupKeyData(K2),CompleteSubtree,ResponseFlag=1,TargetID=“Controllers”,SequenceNum,SAIDNotif}」が含まれる。MIH_Net_Group_Manipulate requestメッセージを受信したコントローラ30は、コーディネータ20に対して、MIH_Net_Group_Manipulate responseメッセージを送信する。MIH_Net_Group_Manipulate responseメッセージには、「src=IDctl(L),dst=IDctl@IDcdn(L),SAID,Security{TargetID=“Controllers”,GroupStatus}」が含まれる。
図23の(4)に示すように、コーディネータ20は、コントローラ30に対して、MIH_Net_Group_Manipulate requestメッセージを送信する。MIH_Net_Group_Manipulate requestメッセージには、「src=IDcdn(L),dst=IDctl@IDcdn(L),SAID,Security{GroupKeyData(K_ctl),CompuleteSubtree,ResponseFlag=1,TargetID=@IDctl(L),SAIDNotif,SequenceNum}」が含まれる。MIH_Net_Group_Manipulate requestメッセージを受信したコントローラ30は、コーディネータ20に対して、MIH_Net_Group_Manipulate responseメッセージを送信する。MIH_Net_Group_Manipulate responseメッセージには、「src=IDctl(L),dst=IDctl@IDcdn(L),SAID,Security{TargetID=@IDctl(L),GroupStatus}」が含まれる。
なお、鍵共有フェーズ1Aにおいては、図23の(1)に先立ち、コントローラ30からコーディネータ20に対し、IEEE802.21‐2008で規定されるMIH Registrationが行なわれるかもしれない。
図24は、第1の実施形態に係る鍵共有フェーズ1Bの詳細シーケンスの例である。図24では、IDctlはコントローラ30の識別子、IDcdnはコーディネータ20の識別子、IDdevは機器40の識別子を表す。また、図24に示す(5)及び(6)は、図10に示した(5)及び(6)に相当する。
図24の(5)に示すように、コーディネータ20は、機器40に対して、MIH_Net_Group_Manipulate requestメッセージを送信する。MIH_Net_Group_Manipulate requestメッセージには、「src=IDcdn(L),dst=IDdev(L),GroupKeyData(K_cdn,dev),CompleteSubtree,ResponseFlag=1,TargetID=IDdev@IDcdn(L),SequenceNum,SAIDNotif,Signature」が含まれる。MIH_Net_Group_Manipulate requestメッセージを受信した機器40は、コーディネータ20に対して、MIH_Net_Group_Manipulate responseメッセージを送信する。MIH_Net_Group_Manipulate responseメッセージには、「src=IDdev(L),dst=IDcdn(L),TargetID=IDdev@IDcdn(L),GroupStatus,Signature」が含まれる。
図24の(6)に示すように、コーディネータ20は、機器40に対して、MIH_Net_Group_Manipulate requestメッセージを送信する。MIH_Net_Group_Manipulate requestメッセージには、「src=IDcdn(L),dst=IDdev@IDcdn(L),SAID,Security{GroupKeyData(K1),CompleteSubturee,ResponseFlag=1,TargetID=“”,SAIDNotif,SequenceNum}」が含まれる。MIH_Net_Group_Manipulate requestメッセージを受信した機器40は、コーディネータ20に対して、MIH_Net_Group_Manipulate responseメッセージを送信する。MIH_Net_Group_Manipulate responseメッセージには、「src=IDdev(L),dst=IDdev@IDcdn(L),SAID,Security{TargetID=“”,GroupStatus}」が含まれる。
なお、鍵共有フェーズ1Bにおいては、図24の(5)に先立ち、機器40からコーディネータ20に対し、IEEE802.21‐2008で規定されるMIH Registrationが行なわれるかもしれない。
[鍵共有フェーズ2の詳細シーケンス]
図25は、第1の実施形態に係る鍵共有フェーズ2の詳細シーケンスの例である。図25では、フェーズ2Aがフェーズ2Bよりも先行する場合を例に挙げる。図25では、IDctlはコントローラ30の識別子、IDcdnはコーディネータ20の識別子、IDdevは機器40の識別子を表す。また、図25に示す(7)〜(11)は、図10に示した(7)〜(11)に相当する。
図25は、第1の実施形態に係る鍵共有フェーズ2の詳細シーケンスの例である。図25では、フェーズ2Aがフェーズ2Bよりも先行する場合を例に挙げる。図25では、IDctlはコントローラ30の識別子、IDcdnはコーディネータ20の識別子、IDdevは機器40の識別子を表す。また、図25に示す(7)〜(11)は、図10に示した(7)〜(11)に相当する。
図25の(7)に示すように、コントローラ30は、コーディネータ20に対して、MIH_MN_Group_Manipulate requestメッセージを送信する。MIH_MN_Group_Manipulate requestメッセージには、「src=IDctl(L),dst=IDctl@IDcdn(L),SAID,Security{TargetID=IDdev@IDctl(E or S),GroupAction=join}」が含まれる。MIH_MN_Group_Manipulate requestメッセージを受信したコーディネータ20は、コントローラ30に対して、MIH_MN_Group_Manipulate responseメッセージを送信する。MIH_MN_Group_Manipulate responseメッセージには、「src=IDcdn(L),dst=IDctl@IDcdn(L),SAID,Security{GroupKeyData(K_ctl,dev),CompleteSubtree,TargetID=IDdev@IDctl(L),GroupStatus,SAIDNotif,SequenceNum}」が含まれる。
図25の(8)に示すように、コーディネータ20は、コントローラ30に対して、MIH_Push_Certificate requestメッセージを送信する。MIH_Push_Certificate requestメッセージには、「src=IDcdn(L),dst=IDctl@IDcdn(L),SAID,Security{Certificate(CERTdev)}」が含まれる。MIH_Push_Certificate requestメッセージを受信したコントローラ30は、コーディネータ20に対して、MIH_Push_Certificate responseメッセージを送信する。MIH_Push_Certificate responseメッセージには、「src=IDctl(L),dst=IDctl@IDcdn(L),SAID,Security{CertificateSerialNumber,CertificateStatus}」が含まれる。
図25の(9)に示すように、コーディネータ20は、機器40に対して、MIH_Net_Group_Manipulate requestメッセージを送信する。MIH_Net_Group_Manipulate requestメッセージには、「src=IDcdn(L),dst=IDdev@IDcdn(L),SAID,Security{GroupKeyData(K_ctl,dev),CompleteSubtree,ResponseFlag=1,TargetAddr=IPctl,TargetID=IDdev@IDctl(L),SAIDNotif,SequenceNum}」が含まれる。MIH_Net_Group_Manipulate requestメッセージを受信した機器40は、コーディネータ20に対して、MIH_Net_Group_Manipulate responseメッセージを送信する。MIH_Net_Group_Manipulate responseメッセージには、「src=IDdev(L),dst=IDdev@IDcdn(L),SAID,Security{TargetID=IDdev@IDctl(L),GroupStatus}」が含まれる。
図25の(10)に示すように、コーディネータ20は、機器40に対して、MIH_Net_Group_Manipulate requestメッセージを送信する。MIH_Net_Group_Manipulate requestメッセージには、「src=IDcdn(L),dst=IDdev@IDcdn(L),SAID,Security{GroupKeyData(K_ctl),CompleteSubtree,ResponseFlag=1,TargetID=@IDctl(L),SAIDNotif,SequenceNum}」が含まれる。MIH_Net_Group_Manipulate requestメッセージを受信した機器40は、コーディネータ20に対して、MIH_Net_Group_Manipulate responseメッセージを送信する。MIH_Net_Group_Manipulate responseメッセージには、「src=IDdev(L),dst=IDdev@IDcdn(L),SAID,Security{TargetID=@IDctl(L),GroupStatus}」が含まれる。
図25の(11)に示すように、コーディネータ20は、機器40に対して、MIH_Push_Certificate requestメッセージを送信する。MIH_Push_Certificate requestメッセージには、「src=IDcdn(L),dst=IDdev@IDcdn(L),SAID,Security{Certificate(CERTctl)}」が含まれる。MIH_Push_Certificate requestメッセージを受信した機器40は、コーディネータ20に対して、MIH_Push_Certificate responseメッセージを送信する。MIH_Push_Certificate responseメッセージには、「src=IDdev(L),dst=IDdev@IDcdn(L),SAID,Security{CertificateSerialNumber,CertificateStatus}」が含まれる。
なお、鍵共有フェーズ2Bをコントローラ30間通信の鍵共有に使用する場合、鍵共有フェーズ2Bの機器40(IDdev)は、鍵共有フェーズ2Aのコントローラ30(IDctl)の通信相手のコントローラ30(IDctl’)に置き換えられ、(7)が省略される。また、鍵共有フェーズ2Aを機器40間通信の鍵共有に使用する場合、鍵共有フェーズ2Aのコントローラ30(IDctl)は、鍵共有フェーズ2Bの機器40(IDdev)の通信相手の機器40(IDdev’)に置き換えられ、(7)が省略される。
図26は、第1の実施形態に係る鍵共有フェーズ2の詳細シーケンスの例である。図26では、フェーズ2Bがフェーズ2Aよりも先行する場合を例に挙げる。図26では、IDctlはコントローラ30の識別子、IDcdnはコーディネータ20の識別子、IDdevは機器40の識別子を表す。また、図26に示す(7)〜(11)は、図10に示した(7)〜(11)に相当する。
図26の(9)に示すように、機器40は、コーディネータ20に対して、MIH_MN_Group_Manipulate requestメッセージを送信する。MIH_MN_Group_Manipulate requestメッセージには、「src=IDdev(L),dst=IDdev@IDcdn(L),SAID,Security{TargetID=IDdev@IDctl(E or S),GroupAction=join}」が含まれる。MIH_MN_Group_Manipulate requestメッセージを受信したコーディネータ20は、機器40に対して、MIH_MN_Group_Manipulate responseメッセージを送信する。MIH_MN_Group_Manipulate responseメッセージには、「src=IDcdn(L),dst=IDdev@IDcdn(L),SAID,Security{GroupKeyData(K_ctl,dev),CompleteSubtree,TargetID=IDdev@IDctl(L),GroupStatus,SAIDNotif,SequenceNum}」が含まれる。
図26の(10)に示すように、コーディネータ20は、機器40に対して、MIH_Net_Group_Manipulate requestメッセージを送信する。MIH_Net_Group_Manipulate requestメッセージには、「src=IDcdn(L),dst=IDdev@IDcdn(L),SAID,Security{GroupKeyData(K_ctl),CompleteSubtree,ResponseFlag=1,TargetID=@IDctl(L),SAIDNotif,SequenceNum}」が含まれる。MIH_Net_Group_Manipulate requestメッセージを受信した機器40は、コーディネータ20に対して、MIH_Net_Group_Manipulate responseメッセージを送信する。MIH_Net_Group_Manipulate responseメッセージには、「src=IDdev(L),dst=IDdev@IDcdn(L),SAID,Security{TargetID=@IDctl(L),GroupStatus}」が含まれる。
図26の(11)に示すように、コーディネータ20は、機器40に対して、MIH_Push_Certificate requestメッセージを送信する。MIH_Push_Certificate requestメッセージには、「src=IDcdn(L),dst=IDdev@IDcdn(L),SAID,Security{Certificate(CERTctl)}」が含まれる。MIH_Push_Certificate requestメッセージを受信した機器40は、コーディネータ20に対して、MIH_Push_Certificate responseメッセージを送信する。MIH_Push_Certificate responseメッセージには、「src=IDdev(L),dst=IDcdn(L),SAID,Security{CertificateSerialNumber,CertificateStatus}」が含まれる。
図26の(7)に示すように、コーディネータ20は、コントローラ30に対して、MIH_Net_Group_Manipulate requestメッセージを送信する。MIH_Net_Group_Manipulate requestメッセージには、「src=IDcdn(L),dst=IDctl@IDcdn(L),SAID,Security{GroupKeyData(K_ctl,dev),CompleteSubtree,ResponseFlag=1,TargetAddr=IPdev,TargetID=IDdev@IDctl(L),SAIDNotif,SequenceNum}」が含まれる。MIH_Net_Group_Manipulate requestメッセージを受信したコントローラ30は、コーディネータ20に対して、MIH_Net_Group_Manipulate responseメッセージを送信する。MIH_Net_Group_Manipulate responseメッセージには、「src=IDctl(L),dst=IDctl@cdn(L),SAID,Security{TargetID=IDdev@IDctl(L),GroupStatus}」が含まれる。
図26の(8)に示すように、コーディネータ20は、コントローラ30に対して、MIH_Push_Certificate requestメッセージを送信する。MIH_Push_Certificate requestメッセージには、「src=IDcdn(L),dst=IDctl(L),SAID,Security{Certificate(CERTdev)}」が含まれる。MIH_Push_Certificate requestメッセージを受信したコントローラ30は、コーディネータ20に対して、MIH_Push_Certificate responseメッセージを送信する。MIH_Push_Certificate responseメッセージには、「src=IDctl(L),dst=IDcdn(L),SAID,Security{CertificateSerialNumber,CertificateStatus}」が含まれる。
[暗号通信の詳細シーケンス]
図27は、第1の実施形態に係る暗号通信の詳細シーケンスの例である。図27において、gidはグループ識別子であり、アプリケーションシステムグループの場合「gid=@IDctl(L)」、アプリケーションシステムグループ以外の場合「gid=“”」である。図27に示すように、コントローラ30又は機器40は、ユニキャスト暗号通信とマルチキャスト暗号通信において、コントローラ30又は機器40に対して、MIH_Configuration_Update indicationメッセージを送受信する。MIH_Configuration_Update indicationメッセージの送受信は、コントローラ30又は機器40(IDx)と、コントローラ30又は機器40(IDy)とにより行なわれる。
図27は、第1の実施形態に係る暗号通信の詳細シーケンスの例である。図27において、gidはグループ識別子であり、アプリケーションシステムグループの場合「gid=@IDctl(L)」、アプリケーションシステムグループ以外の場合「gid=“”」である。図27に示すように、コントローラ30又は機器40は、ユニキャスト暗号通信とマルチキャスト暗号通信において、コントローラ30又は機器40に対して、MIH_Configuration_Update indicationメッセージを送受信する。MIH_Configuration_Update indicationメッセージの送受信は、コントローラ30又は機器40(IDx)と、コントローラ30又は機器40(IDy)とにより行なわれる。
[証明書リボークの詳細シーケンス]
図28は、第1の実施形態に係る証明書リボークの詳細シーケンスの例である。図28に示すように、コーディネータ20は、コントローラ30又は機器40に対して、マルチキャスト又はユニキャストにより、MIH_Revoke_Certificate requestメッセージを送信する。これにより、コントローラ30又は機器40は、コーディネータ20に対して、MIH_Revoke_Certificate responseメッセージを送信する。
図28は、第1の実施形態に係る証明書リボークの詳細シーケンスの例である。図28に示すように、コーディネータ20は、コントローラ30又は機器40に対して、マルチキャスト又はユニキャストにより、MIH_Revoke_Certificate requestメッセージを送信する。これにより、コントローラ30又は機器40は、コーディネータ20に対して、MIH_Revoke_Certificate responseメッセージを送信する。
[グループ鍵更新の詳細シーケンス]
図29は、第1の実施形態に係るグループ鍵更新の詳細シーケンスの例である。図29に示すように、コーディネータ20は、コントローラ30又は機器40に対して、マルチキャスト又はユニキャストにより、MIH_Net_Group_Manipulate requestメッセージを送信する。これにより、コントローラ30又は機器40は、コーディネータ20に対して、MIH_Net_Group_Manipulate responseメッセージを送信する。
図29は、第1の実施形態に係るグループ鍵更新の詳細シーケンスの例である。図29に示すように、コーディネータ20は、コントローラ30又は機器40に対して、マルチキャスト又はユニキャストにより、MIH_Net_Group_Manipulate requestメッセージを送信する。これにより、コントローラ30又は機器40は、コーディネータ20に対して、MIH_Net_Group_Manipulate responseメッセージを送信する。
本実施形態によれば、グループ識別子の構造に、グループのセマンティックを表し、且つ、グループの存命中は値が不変である可変値のフィールドを含むパケットをグループで送受するので、セマンティックの自由度を向上させるとともに、通信を簡素化することができる。
また、本実施形態によれば、個別通信用グループに対応するグループ鍵による認証コードが付与された、署名なしのグループ操作コマンド用メッセージを用いて、グループ操作を制御するので、処理負荷を軽減することができる。
また、上記文書中や図面中等で示した処理手順、制御手順、具体的名称、各種のデータやパラメータ等を含む情報は、特記する場合を除いて任意に変更することができる。また、図示した制御装置の各構成要素は、機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散又は統合の具体的形態は、図示のものに限られず、その全部又は一部を各種の負担や使用状況等に応じて、任意の単位で機能的又は物理的に分散又は統合することができる。
また、上記実施形態に係る通信システム10に含まれるコーディネータ20やコントローラ30、機器40は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることで実現することが可能である。実行されるプログラムは、上述してきた各機能を含むモジュール構成となっている。プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供しても、ROM等に予め組み込んで提供しても良い。
また、上述してきた実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。また、各実施形態は、内容を矛盾させない範囲で適宜組み合わせることが可能である。また、各実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10 通信システム
20 コーディネータ
30 コントローラ
40 機器
210 通信部
220 判定部
230 生成部
240 更新部
250 制御部
20 コーディネータ
30 コントローラ
40 機器
210 通信部
220 判定部
230 生成部
240 更新部
250 制御部
Claims (8)
- 自装置のデジタル署名を含む第1操作コマンド用メッセージを用いて、2つの通信装置で構成される個別通信用グループに対応するグループ鍵を、前記通信装置に配布する配布部と、
前記グループ鍵による認証コードが付与された第2操作コマンド用メッセージを用いて、前記通信装置とのグループ操作を制御する制御部と
を有する通信制御装置。 - 前記個別通信用グループは、前記個別通信用グループ以外のグループとは異なる形式のグループ識別子により識別される請求項1に記載の通信制御装置。
- 前記個別通信用グループのグループ識別子は、前記個別通信用グループに属する2つの通信装置それぞれを識別する識別子を含む形式である請求項1に記載の通信制御装置。
- 前記制御部は、前記第2操作コマンド用メッセージとは異なる所定メッセージを用いる場合に、前記グループ鍵による認証コードを付与する請求項1に記載の通信制御装置。
- 単調増加する同期カウンタと、単調増加するパケットカウンタとを含むシーケンス番号を更新する更新部をさらに有し、
前記制御部は、前記同期カウンタを含む前記第2操作コマンド用メッセージを用いて、前記グループ操作を制御する請求項1〜4の何れか一つに記載の通信制御装置。 - 前記更新部は、前記同期カウンタを更新し、前記パケットカウンタを初期化することにより、前記シーケンス番号を更新する請求項5に記載の通信制御装置。
- 前記制御部は、前記デジタル署名を含まない前記第2操作コマンド用メッセージを用いて、前記通信装置とのグループ操作を制御する請求項1に記載の通信制御装置。
- 通信装置であって、
前記通信装置と他の通信装置とで構成される個別通信用グループに対応するグループ鍵を配布するための、通信制御装置のデジタル署名を含む第1操作コマンド用メッセージを前記通信制御装置から受信する第1受信部と、
前記通信装置が属するグループのグループ操作を制御するための、前記グループ鍵による認証コードが付与された第2操作コマンド用メッセージを前記通信制御装置から受信する第2受信部と
を有する通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017142926A JP2017201832A (ja) | 2017-07-24 | 2017-07-24 | 通信制御装置及び通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017142926A JP2017201832A (ja) | 2017-07-24 | 2017-07-24 | 通信制御装置及び通信装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014186637A Division JP2016063233A (ja) | 2014-09-12 | 2014-09-12 | 通信制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017201832A true JP2017201832A (ja) | 2017-11-09 |
Family
ID=60265098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017142926A Pending JP2017201832A (ja) | 2017-07-24 | 2017-07-24 | 通信制御装置及び通信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017201832A (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62190943A (ja) * | 1986-02-18 | 1987-08-21 | Nippon Telegr & Teleph Corp <Ntt> | 暗号鍵の配送における認証方式 |
JPH06112936A (ja) * | 1992-09-30 | 1994-04-22 | Nippon Telegr & Teleph Corp <Ntt> | 秘話通信システム |
JP2012502572A (ja) * | 2008-09-10 | 2012-01-26 | シーメンス アクチエンゲゼルシヤフト | ネットワークノード間のデータ伝送方法 |
JP2014064122A (ja) * | 2012-09-20 | 2014-04-10 | Oki Electric Ind Co Ltd | データ送信装置及びプログラム、並びに、通信システム |
-
2017
- 2017-07-24 JP JP2017142926A patent/JP2017201832A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62190943A (ja) * | 1986-02-18 | 1987-08-21 | Nippon Telegr & Teleph Corp <Ntt> | 暗号鍵の配送における認証方式 |
JPH06112936A (ja) * | 1992-09-30 | 1994-04-22 | Nippon Telegr & Teleph Corp <Ntt> | 秘話通信システム |
JP2012502572A (ja) * | 2008-09-10 | 2012-01-26 | シーメンス アクチエンゲゼルシヤフト | ネットワークノード間のデータ伝送方法 |
JP2014064122A (ja) * | 2012-09-20 | 2014-04-10 | Oki Electric Ind Co Ltd | データ送信装置及びプログラム、並びに、通信システム |
Non-Patent Citations (1)
Title |
---|
小林哲二,太田和夫: "暗号通信における暗号鍵の配送方式の考察", 第32回(昭和61年前期)全国大会講演論文集(I), JPN6018038908, March 1986 (1986-03-01), pages 33 - 34, ISSN: 0004016357 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016063233A (ja) | 通信制御装置 | |
US20160066354A1 (en) | Communication system | |
US9544282B2 (en) | Changing group member reachability information | |
JP5288210B2 (ja) | ネットワークでのユニキャスト鍵の管理方法およびマルチキャスト鍵の管理方法 | |
CN107769914B (zh) | 保护数据传输安全的方法和网络设备 | |
US7234063B1 (en) | Method and apparatus for generating pairwise cryptographic transforms based on group keys | |
US7301946B2 (en) | System and method for grouping multiple VLANs into a single 802.11 IP multicast domain | |
JP5607749B2 (ja) | ユーザ端末間の安全な接続の構築方法及びシステム | |
US11962685B2 (en) | High availability secure network including dual mode authentication | |
JP5364796B2 (ja) | 暗号情報送信端末 | |
US9832175B2 (en) | Group member recovery techniques | |
CA2940534A1 (en) | Secure and simplified procedure for joining a social wi-fi mesh network | |
US20080298592A1 (en) | Technique for changing group member reachability information | |
JP2009501454A (ja) | リンク管理システム | |
CN113726795A (zh) | 报文转发方法、装置、电子设备及可读存储介质 | |
JP2018174550A (ja) | 通信システム | |
CN102469063B (zh) | 路由协议安全联盟管理方法、装置及系统 | |
WO2015157947A1 (zh) | 基于软件定义网络的组网方法及设备 | |
JP2017201832A (ja) | 通信制御装置及び通信装置 | |
TWI322608B (en) | Methods and apparatus for distribution of global encryption key in a wireless transport network | |
Ordu et al. | RPL Authenticated Mode Evaluation: Authenticated Key Exchange and Network Behavioral | |
WO2011134294A1 (zh) | 一种节点间安全连接建立方法及系统 | |
WO2011134292A1 (zh) | 一种节点间通信密钥的建立方法、系统及装置 | |
KR20240000161A (ko) | Dds 통신 방법, 장치 및 시스템 | |
CN118199899A (zh) | 一种数据传输方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181009 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190416 |