(57)【要約】【課題】マルチキャストグループメンバーが動的に変化した際、当該変化に応じて共通鍵を動的に管理する技術を提供すること。【解決手段】自己のマルチキャストグループ内に属する一又は複数のノードに対してマルチキャスト配信を行うルータにおいて、マルチキャストグループに属しないノード２１，２２と通信を行う通信部１１Ａと、マルチキャストグループ内で使用される共有秘密鍵ｋｅｙＭ０を記憶する記憶部１３Ａと、通信部１１Ａを介してマルチキャストグループに属しないノード２１，２２から当該マルチキャストグループへの参加要求があった場合、記憶部１３Ａから共有秘密鍵ｋｅｙＭ０を読み出し、当該読み出した共有秘密鍵ｋｅｙＭ０を参加要求したノード２１，２２に送信する制御部１２Ａと、を備える。【選択図】図１
2010074225.tif 000002
【特許請求の範囲】
【請求項１】
自己のマルチキャストグループ内に属する一又は複数のノードに対してマルチキャスト配信を行うルータにおいて、
前記マルチキャストグループに属しないノードと通信を行う第１の通信手段と、
前記マルチキャストグループ内で使用される共通鍵を記憶する記憶手段と、
前記第１の通信手段を介して前記マルチキャストグループに属しないノードから当該マルチキャストグループへの参加要求があった場合、前記記憶手段から前記共通鍵を読み出し、当該読み出した共通鍵を前記参加要求したノードに送信する第１の制御手段と、
を備えたルータ。
【請求項２】
請求項１に記載のルータと、
前記ルータと通信接続されたノードと、を備え、
前記ノードは、
前記ルータと通信を行う第２の通信手段と、
前記マルチキャストグループへの参加要求を前記第２の通信手段を介して前記ルータに送信し、前記共通鍵を前記第２の通信手段を介して前記ルータから受信する第２の制御手段と、
を備えたネットワークシステム。
【請求項３】
前記第１の制御手段は、
前記共通鍵の更新を行い、当該更新した共通鍵を前記マルチキャストグループに属するノードに送信する請求項２に記載のネットワークシステム。
【請求項４】
前記第１の制御手段は、
前記マルチキャストグループからの脱退要求が前記マルチキャストグループに属するノードからあった場合、当該脱退要求のあったノードと共有する前記共通鍵を削除する請求項２又は３に記載のネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ルータ及びネットワークシステムに関する
【背景技術】
【０００２】
従来から、ＩＰｖ６（Internet Protocol Version 6）ネットワークの分野において、マルチキャスト通信が実施されている。マルチキャスト通信は、マルチキャストグループに属する一つのノードから複数のノードに対して同時にマルチキャストパケット（以下、パケット）を送信する技術であり、一対多で通信を行うことができる。
【０００３】
図１８を参照して、ＩＰｖ６のネットワークシステム１の構成の一例について説明する。ネットワークシステム１は、ネットワークＡと、ネットワークＢと、ネットワーククラウド２と、を備えて構成される。
【０００４】
ネットワークＡは、ルータ１０と、ノード２０，２１と、スイッチ３０と、を備えて構成される。ルータ１０は、スイッチ３０を介してノード２０及びノード２１と通信接続されており、ネットワーククラウド２を介してネットワークＢと通信接続されている。ノード２０，２１は、ＰＣ（Personal Computer）等からなる端末装置である。
【０００５】
ネットワークＢは、ルータ１１と、ノード２２と、スイッチ４０と、を備えて構成される。ルータ１１、ノード２２、スイッチ４０は、それぞれルータ１０、ノード２０，２１、スイッチ３０と同様の構成である。ネットワーククラウド２は、インターネット等の通信ネットワークである。
【０００６】
しかし、図１８に示すネットワークシステム１において、マルチキャスト通信を実施する場合、マルチキャストグループメンバーが動的に変化（例えば、ノードがマルチキャストグループに参加してマルチキャストグループメンバーが変化）した場合、当該変化に応じて、マルチキャストグループ内で使用されるパケットを暗号化又は復号化するための共通鍵を管理することができなかった。
例えば、ネットワークシステム１において、マルチキャストグループに属していなかったノード２１，２２がマルチキャストグループに新たに参加する場合を考える。また、このとき、ノード２０が共通鍵により暗号化されたパケットｍｓｇ００を送信するものとする。この場合、ノード２１及びノード２２は、パケットｍｓｇ００を受信するために、マルチキャストグループ参加要求（例えば、ＭＬＤ（Multicast Listener Discovery Protocol）Ｒｅｐｏｒｔ）を送信する。この場合、ノード２１は、ノード２０と同じセグメントに接続されているため、パケットｍｓｇ００はこの時点で受信可能である。しかし、パケットｍｓｇ００を復号化するための共通鍵を入手できないため、ノード２１はパケットｍｓｇ００を解読することができない。
【０００７】
また、ルータ１１は、マルチキャストのためのルーティング処理（ネットワークＡからパケットをネットワークＢにあるノード２２へ転送する処理）を行う。このため、ノード２０からノード２２へパケットｍｓｇ００を送信するための経路が確立され、パケットｍｓｇ００はノード２２に到達する。しかし、ノード２２は、パケットｍｓｇ００を復号化するための共通鍵を入手できないため、パケットｍｓｇ００を解読することができない。
したがって、マルチキャストグループメンバーにノード２１，２２が新たに参加した場合、ノード２１，ノード２２は、パケットｍｓｇ００を解読できないので、共通鍵を生成し、生成した共通鍵をノード２１，２２に配布する技術が必要であった。
【０００８】
ここで、マルチキャストグループメンバーに新たに参加したノードに対し、生成した共通鍵を配布する技術として、以下の公知技術が知られている（例えば、特許文献１、２参照）。
【特許文献１】特開平１１−９５６５８号公報
【特許文献２】特開平１８−２４５６６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献１の技術では、鍵管理サーバ（シードノード）の分散配置により単一のサーバ（シードノード）へのアクセスの集中は避けられるが、全てのサーバが同じ鍵のデータベースを持っている必要がある。そのため、マルチキャストグループ（送信元アドレスと宛先アドレスとの組み合わせ）の数が膨大になると、鍵のデータベースが肥大化していた。また、マルチキャストグループへ参加するノード（要求ノード）が鍵管理サーバ（シードノード）から暗号鍵を受け取るプロセスにおいて、要求ノードからシードノードまでのホップ数（経由するルータの数）の分だけ鍵の要求を送信しなければならなかった。
また、特許文献２の技術では、送信ノードが暗号鍵を管理（生成・配布）しているが、送信ノードをプロセス制御システムに適用する場合、送信ノードの性能は制約がある。このため、暗号鍵の管理を送信ノードが担うのは適切ではなかった。
【００１０】
本発明の課題は、暗号鍵を管理するデータベースの肥大化を防ぎ、ホップ数を低減し、さらに、暗号鍵の管理を送信ノードが担うことのない技術を提供することである。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、請求項１に記載の発明のルータは、
自己のマルチキャストグループ内に属する一又は複数のノードに対してマルチキャスト配信を行うルータにおいて、
前記マルチキャストグループに属しないノードと通信を行う第１の通信手段と、
前記マルチキャストグループ内で使用される共通鍵を記憶する記憶手段と、
前記第１の通信手段を介して前記マルチキャストグループに属しないノードから当該マルチキャストグループへの参加要求があった場合、前記記憶手段から前記共通鍵を読み出し、当該読み出した共通鍵を前記参加要求したノードに送信する第１の制御手段と、
を備える。
【００１２】
請求項２に記載の発明のネットワークシステムは、
請求項１に記載のルータと、
前記ルータと通信接続されたノードと、を備え、
前記ノードは、
前記ルータと通信を行う第２の通信手段と、
前記マルチキャストグループへの参加要求を前記第２の通信手段を介して前記ルータに送信し、前記共通鍵を前記第２の通信手段を介して前記ルータから受信する第２の制御手段と、
を備える。
【００１３】
請求項３に記載の発明は、請求項２に記載のネットワークシステムにおいて、
前記第１の制御手段は、
前記共通鍵の更新を行い、当該更新した共通鍵を前記マルチキャストグループに属するノードに送信する。
【００１４】
請求項４に記載の発明は、請求項２又は３に記載のネットワークシステムにおいて、
前記第１の制御手段は、
前記マルチキャストグループからの脱退要求が前記マルチキャストグループに属するノードからあった場合、当該脱退要求のあったノードと共有する前記共通鍵を削除する。
【発明の効果】
【００１５】
請求項１、２に記載の発明によれば、ルータは、マルチキャストグループに属しないノードからマルチキャストグループへの参加要求があった場合、共通鍵をマルチキャストグループに参加要求したノードに送信する。このため、ノードがマルチキャストグループに参加することによりマルチキャストグループが動的に変化しても、当該変化に応じて、共通鍵を動的に管理することができる。
【００１６】
請求項３に記載の発明によれば、更新した共通鍵をマルチキャストグループに属するノードに送信する。このため、更新した共通鍵を動的に管理することができる。
【００１７】
請求項４に記載の発明によれば、マルチキャストグループから脱退要求のあったノードと共有する共通鍵を削除する。このため、ノードがマルチキャストグループから脱退することによりマルチキャストグループが動的に変化しても、当該変化に応じて、共通鍵を動的に管理することができる。
【発明を実施するための最良の形態】
【００１８】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、発明の範囲は、図示例に限定されない。
【００１９】
図１〜図１７を参照して本発明に係る実施の形態を説明する。本実施の形態のネットワークシステム１は、図１８で説明したネットワークシステム１と同様の構成である。図１及び図２を参照して、ネットワークシステム１の内部構成について説明する。
【００２０】
先ず、図１を参照してネットワークシステム１において、ルータ１０，１１の内部構成を説明する。ルータ１０，１１は、自分と同じネットワークに属しているノードに対して、後述する共有秘密鍵ＫｅｙＭ０の配信を行う。図１に示すように、ルータ１０，１１は、第１の通信手段としての通信部１１Ａと、第１の制御手段としての制御部１２Ａと、記憶手段としての記憶部１３Ａと、を備えて構成される。
【００２１】
通信部１１Ａは、通信部１０１と、通信部１０２と、を備えて構成される。通信部１０１，１０２は、情報の送受信を行う通信インターフェースである。例えば、ルータ１０においては、通信部１０１がネットワーククラウド２に接続されており、通信部１０２がスイッチ３０に接続されている。また、ルータ１１においては、通信部１０１がネットワーククラウド２に接続されており、通信部１０２がスイッチ４０に接続されている。
【００２２】
制御部１２Ａは、ＣＰＵ（Central Processing Unit）と、ＲＯＭ（Read Only Memory）と、ＲＡＭ（Random Access Memory）（いずれも不図示）と、暗号／復号処理部１０３と、マルチキャストグループ管理部１０４と、ルーティング処理部１０５と、鍵設定管理部１０６と、マルチキャスト鍵作成部１０７と、を備えて構成される。ＣＰＵは、ＲＯＭに記憶されている各種プログラムをＲＡＭに展開して実行することにより、各部を統括的に制御する。
【００２３】
暗号／復号処理部１０３は、パケットの暗号化処理または復号化処理を行う。暗号化処理又は復号化処理が必要ないパケットに対しては、暗号化処理又は復号化処理を行わずに次の処理（例えば、暗号化したパケットを送信する処理）へパケットを受け渡す。
【００２４】
マルチキャストグループ管理部１０４は、マルチキャストグループの管理を行う。マルチキャストグループは、マルチキャスト通信に参加するノードからなるグループのことである。また、本実施の形態においては、ルータ−ノード間のプロトコルとして、ＭＬＤｖ２（Multicast Listener Discovery version2:RFC3569）を使用するものとする。
【００２５】
ルーティング処理部１０５は、パケットのルーティング（パケットの受け渡し）を行う。また、本実施の形態においては、ルータ−ルータ間のプロトコルとして、ＰＩＭ−ＳＳＭ（Protocol Independent Multicast Source-Specific-Multicast：RFC3569）を使用するものとする。
【００２６】
鍵設定管理部１０６は、マルチキャストグループ内で使用されるパケットを暗号化又は復号化するための共通鍵（後述する共有秘密鍵ＫｅｙＭ０又はＫｅｙＭ１）を管理する管理シーケンス（後述するパケットの送信シーケンス、受信シーケンス、更新シーケンス、脱退シーケンス）を制御する。
【００２７】
マルチキャスト鍵作成部１０７は、後述する共有秘密鍵ＫｅｙＭ０（又はＫｅｙＭ１）を作成する。
【００２８】
記憶部１３Ａは、ＨＤＤ（Hard Disk Drive）等により構成され、各種データを記憶する。具体的には、記憶部１３Ａは、マルチキャスト鍵テーブル１０８と、事前共有鍵テーブル１０９と、を記憶する。
【００２９】
マルチキャスト鍵テーブル１０８は、共有秘密鍵ＫｅｙＭ０（又はＫｅｙＭ１）を保持するテーブルである。図３にマルチキャスト鍵テーブル１０８の構成を示す。マルチキャスト鍵テーブル１０８は、複数の項目からなるエントリ（エントリ１、エントリ２・・・エントリｎ）により構成される。具体的には、エントリは、共有秘密鍵の識別番号を示す鍵ＩＤと、パケットの送信元アドレスを示す送信元アドレスと、パケットの送信元のポート番号を示す送信元ポート番号と、パケットの宛先アドレスを示す宛先マルチキャストアドレスと、パケットの宛先のポート番号を示す宛先ポート番号と、共有秘密鍵を示す鍵と、共有秘密鍵の有効期限を示す鍵の有効期限と、暗号アルゴリズムと、共有秘密鍵の更新用の鍵を示す鍵（更新用）と、共有秘密鍵の更新時刻を示す鍵の更新時刻と、更新用の共有秘密鍵の有効期限を示す鍵（更新用）の有効期限と、共有秘密鍵をルータ自身が生成したか否かを識別するためのマスタフラグと、マルチキャストグループに参加するノードリストを示すノードリストと、を有する。
【００３０】
事前共有鍵テーブル１０９は、ノードと近隣ルータ間とで暗号化通信を行うための事前共有鍵（後述するｋｅｙＳ０、ｋｅｙＳ１、ｋｅｙＳ２）を保持するテーブルである。図４に事前共有鍵テーブル１０９の構成を示す。事前共有鍵テーブル１０９は、複数の項目からなるエントリ（エントリ１、エントリ２・・・エントリｍ）により構成される。具体的には、エントリは、ノードのアドレスを示すノードのアドレスと、事前共有鍵を示すノードの共通鍵と、を有する。なお、事前共有鍵テーブル１０９は、後述する事前共有鍵テーブル２０６と同様の構成である。
【００３１】
次に、図２を参照して、ノード２０，２１，２２の内部構成を説明する。ノード２０，２１，２２は、ＰＣ、フィールドデバイス等からなる端末装置である。図２に示すようにノード２０，２１，２２は、第２の通信手段としての通信部２０１と、第２の制御手段としての制御部２２Ａと、記憶部２３Ａと、を備えて構成される。通信部２０１、制御部２２Ａ、記憶部２３Ａは、それぞれ通信部１１Ａ、制御部１２Ａ、記憶部１３Ａと同様の構成である。以下、異なる部分を主として説明する。
【００３２】
通信部２０１は情報の送受信を行う通信インターフェースである。例えば、ノード２０、２１においては、通信部２０１がスイッチ３０に接続されており、ノード２２においては、通信部２０１がスイッチ４０に接続されている。
【００３３】
制御部２２Ａは、ＣＰＵと、ＲＯＭと、ＲＡＭ（いずれも不図示）と、暗号／復号処理部２０２と、マルチキャストグループ管理部２０３と、鍵設定管理部２０４と、を備えて構成される。暗号／復号処理部２０２、マルチキャストグループ管理部２０３、鍵設定管理部２０４は、それぞれ、暗号／復号処理部１０３、マルチキャストグループ管理部１０４、鍵設定管理部１０６の構成と同様である。
【００３４】
記憶部２３Ａは、マルチキャスト鍵テーブル２０５と、事前共有鍵テーブル２０６と、を記憶する。
【００３５】
マルチキャスト鍵テーブル２０５は、複数の項目からなるエントリ（エントリ１、エントリ２・・・エントリｎ）により構成される。図５にマルチキャスト鍵テーブル２０５の構成を示す。具体的には、エントリは、共有秘密鍵の識別番号を示す鍵ＩＤと、パケットの送信元アドレスを示す送信元アドレスと、パケットの送信元のポート番号を示す送信元ポート番号と、パケットの宛先アドレスを示す宛先マルチキャストアドレスと、パケットの宛先のポート番号を示す宛先ポート番号と、共有秘密鍵を示す鍵と、共有秘密鍵の有効期限を示す鍵の有効期限と、暗号アルゴリズムと、共有秘密鍵の更新用の鍵を示す鍵（更新用）と、共有秘密鍵の更新時刻を示す鍵の更新時刻と、更新用の共有秘密鍵の有効期限を示す鍵（更新用）の有効期限と、を有する。
【００３６】
次に、図６〜図１７を参照して、ネットワークシステム１の動作について説明する。以下、本実施の形態におけるネットワークシステム１の動作を実行する際の前提条件について説明する。
【００３７】
先ず、マルチキャストグループ管理プロトコル（ルータ−ノード間プロトコル）にＭＬＤｖ２、マルチキャストルーティングプロトコル（ルータ−ルータ間プロトコル）にＰＩＭ−ＳＳＭを使用するものとする（前提条件１）。
【００３８】
また、マルチキャストグループに参加する（属する）ノードは、ノード自身と同じセグメントに接続されている近隣ルータと事前共有鍵を共有するものとする。具体的には、事前共有鍵ｋｅｙＳ０が、ノード２０の事前共有鍵テーブル２０６及びルータ１０の事前共有鍵テーブル１０９に保存されているものとする。また、事前共有鍵ｋｅｙＳ１が、ノード２１の事前共有鍵テーブル２０６及びルータ１０の事前共有鍵テーブル１０９に保存されているものとする。また、事前共有鍵ＫｅｙＳ２が、ノード２２の事前共有鍵テーブル２０６及びルータ１０の事前共有鍵テーブル１０９に保存されているものとする（前提条件２）。ここで、事前共有鍵ｋｅｙＳ０、ｋｅｙＳ１、ｋｅｙＳ２は、ネットワークの管理者が事前に設定するか、各ノード又はルータの工場出荷時に設定されているものとする。
【００３９】
また、ルータ１０，１１は、予め予約されたマルチキャストアドレスａｄｄｒＭ１及びａｄｄｒＭ２を有するグループ（マルチキャストグループ）にＪｏｉｎしている（属している）ものとする（前提条件３）。すなわち、ルータ１０，１１は、マルチキャストアドレスａｄｄｒＭ１及びａｄｄｒＭ２宛に送信されたパケットを受信して、当該受信したパケットを処理できるものとする。このとき、ルータ１０とルータ１１との経路上にある中継ルータ（図示省略）は、マルチキャストアドレスａｄｄｒＭ１及びａｄｄｒＭ２のグループにｊｏｉｎしている必要はない。
【００４０】
また、ルータ−ルータ間のユニキャスト通信は、ＩＫＥ、ＩＰｓｅｃ等の標準的な暗号プロトコルを利用して認証及び暗号化されているものとする（前提条件４）。
【００４１】
以上の前提条件下において、図６を参照して、送信シーケンス（送信処理）について説明する。送信処理は、ノード２０が共有秘密鍵ｋｅｙＭ０の送信要求ｍｓｇ０１を送信し、ルータ１０が送信要求ｍｓｇ０１を受信して共有秘密鍵ｋｅｙＭ０を生成し、生成した共有秘密鍵ｋｅｙＭ０をノード２０に送信する処理である。以下、送信元アドレス（ノード２０のＩＰｖ６アドレス）がａｄｄｒ２０、宛先マルチキャストアドレスがａｄｄｒＭ０であるパケットを全てｍｓｇ００として扱うものとする。
【００４２】
例えば、ノード２０の操作部（図示省略）を介してユーザから送信処理の実行指示が入力されると、ノード２０により送信要求ｍｓｇ０１が通信部２０１を介してマルチキャストアドレスａｄｄｒＭ１宛に送信される（ステップＡ０１）。具体的には、マルチキャストアドレスａｄｄｒＭ１は、リンクローカルマルチキャストアドレスであるため、ネットワークＡに接続されたルータ１０のみが送信要求ｍｓｇ０１を受信することができる。ここで、図１２に、送信要求ｍｓｇ０１のペイロードを示す。送信要求ｍｓｇ０１のペイロードは、プロトコルのバージョンと、メッセージタイプ（送信要求）と、パケットｍｓｇ００の送信元アドレス（ノード２０のアドレスａｄｄｒ２０）と、パケットｍｓｇ００の宛先マルチキャストアドレス（ａｄｄｒＭ０）と、を有する。
【００４３】
そして、ルータ１０により送信要求ｍｓｇ０１がスイッチ３０、通信部１０２を介して受信される（ステップＡ０２）。
【００４４】
ステップＡ０２の実行後、ルータ１０により、事前共有鍵テーブル１０９が参照され、受信された送信要求ｍｓｇ０１に含まれるａｄｄｒ２０をキーとして、事前共有鍵ｋｅｙＳ０を有するエントリが存在するか否かが確認される（ステップＡ０３）。このとき、事前共有鍵ＫｅｙＳ０を有するエントリが無い場合は、ルータ１０はこれ以降の処理を行わない。事前共有鍵ＫｅｙＳ０が事前共有鍵テーブル１０９のエントリに存在する場合、ステップＡ０４に移行される。
【００４５】
そして、ルータ１０のマルチキャスト鍵作成部１０７により、パケットｍｓｇ００を暗号化・復号化するための共有秘密鍵ｋｅｙＭ０が生成される（ステップＡ０４）。具体的には、ルータ１０により、マルチキャスト鍵テーブル１０８のエントリ「ｍＴａｂｌｅ１０−ｅｎｔｒｙ０１」が作成され、当該エントリ「ｍＴａｂｌｅ１０−ｅｎｔｒｙ０１」に共有秘密鍵ｋｅｙＭ０を含めたｐａｒａｍ１が設定される。ここで、ｐａｒａｍ１には、送信元アドレス「ａｄｄｒ２０」、送信元ポート番号「ＡＮＹ」、宛先マルチキャストアドレス「ａｄｄｒＭ０」、宛先ポート番号「ｐｏｒｔＭ０」、共有秘密鍵「ＫｅｙＭ０」、共有秘密鍵の有効期限「ｔｉｍｅ０１」、暗号アルゴリズム「３ＤＥＣ−ＣＢＣ」、共有秘密鍵（更新用）「ＮＵＬＬ」、共有秘密鍵の更新時刻「ＮＵＬＬ」、共有秘密鍵（更新用）の有効期限「ＮＵＬＬ」がそれぞれ設定される。また、マスタフラグには、エントリ内の共有秘密鍵ｋｅｙＭ０が他のノードまたはルータから送信されてきたものであるときは「０」、ルータ自身が作成したものであるときは、「１」が設定される。またノードリストには、ノード２０のアドレス（ａｄｄｒ２０）が追加される。
【００４６】
そして、ルータ１０により、鍵配布ｍｓｇ０２が通信部１０２を介してノード２０へ送信される（ステップＡ０５）。図１３に、鍵配布ｍｓｇ０２のペイロードを示す。鍵配布ｍｓｇ０２のペイロードは、プロトコルのバージョンと、メッセージタイプ（鍵配布）と、パケットｍｓｇ００の送信元アドレスと、パケットｍｓｇ００の宛先マルチキャストアドレスと、パケットｍｓｇ００の送信元ポート番号と、パケットｍｓｇ００の宛先ポート番号と、共有秘密鍵と、共有秘密鍵の有効期限と、暗号アルゴリズムと、共有秘密鍵（更新用）と、共有秘密鍵の更新時刻と、共有秘密鍵の有効期限と、を有する。ステップＡ０５において送信される鍵配布ｍｓｇ０２は、ペイロードにｐａｒａｍ１を持ち、パケットは、事前共有鍵ｋｅｙＳ０で暗号化されている。
【００４７】
そして、ノード２０により鍵配布ｍｓｇ０２が通信部２０１を介して受信され、受信された鍵配布ｍｓｇ０２が事前共有鍵ｋｅｙＳ０で復号化され、ｐａｒａｍ１が得られる（ステップＡ０６）。ここで、もしノード２０により鍵配布ｍｓｇ０２が一定時間内に受信されなければステップＡ０１に戻る。
【００４８】
そして、ノード２０によりステップＡ０６で取得されたｐａｒｍ１からマルチキャスト鍵テーブル２０５のエントリ「ｍＴａｂｌｅ−ｅｎｔｒｙ０１」が作成され、ｐａｒａｍ１の設定が行われる（ステップＡ０７）。ステップＡ０７の以降、パケットｍｓｇ００は、共有秘密鍵ｋｅｙＭ０で暗号化されてノード２０から通信部２０１を介してノード２１（又はノード２２）に送信される。ステップＡ０７の実行後、送信処理は終了される。
【００４９】
次に、図７及び図８を参照して、受信処理について説明する。受信処理は、マルチキャストグループに属していなかったノード２１又はノード２２がノード２０の属するマルチキャストグループに新たに参加する場合、ノード２１又はノード２２が共有秘密鍵ｋｅｙＭ０を受信する処理である。先ず、図７を参照して、ノード２０と同じセグメントに接続されているノード２１がマルチキャストグループに参加し、共有秘密鍵ｋｅｙＭ０を受信する場合の受信シーケンス（受信処理１）について説明する。
【００５０】
例えば、ノード２１の操作部（図示省略）を介してユーザから受信処理１の実行指示が入力されると、ノード２１のマルチキャストグループ管理部２０３の指示に基づいて、ＭＬＤｖ（ＲＦＣ３８１０）の仕様に従ってＭＬＤＲｅｐｏｒｔ（ＩＣＭＰｖ６  Ｔｙｐｅ＝１４３）が通信部２０１を介して送信される（ステップＢ０１）。ＭＬＤ  Ｒｅｐｏｒｔは、マルチキャストグループへの参加要求を示すものであり、パケットｍｓｇ００の送信元アドレス（ａｄｄｒ２０）、パケットｍｓｇ００の宛先マルチキャストアドレス（ａｄｄｒＭ０）を含む。
【００５１】
そして、ルータ１０によりＭＬＤ  Ｒｅｐｏｒｔが通信部１０２を介して受信され、ＭＬＤ  Ｒｅｐｏｒｔに含まれる送信元アドレス（ａｄｄｒ２０）及びマルチキャストアドレス（ａｄｄｒＭ０）が取得される（ステップＢ０２）。この場合、ａｄｄｒ２０のプレフィックス（アドレスを有する機器がどのネットワークに属するのかを示すＩＰｖ６アドレス内の領域）がルータ１０の属しているプレフィックスと一致するため、ルータ１０によりパケットｍｓｇ００の送信ノード（ノード２０）と受信ノード（ノード２１）とは同じセグメント（同じネットワーク）に接続されていると判断される。
【００５２】
そして、ルータ１０により、マルチキャスト鍵テーブル１０８から送信元アドレス（ａｄｄｒ２０）及びマルチキャストアドレス（ａｄｄｒＭ０）と一致するエントリが検索される（ステップＢ０３）。ここで、ステップＡ０４において作成された「ｍＴａｂｌｅ−ｅｎｔｒｙ０１」は、送信元アドレス（ａｄｄｒ２０）及びマルチキャストアドレス（ａｄｄｒＭ０）を含む。したがって、本ステップにおいて、「ｍＴａｂｌｅ−ｅｎｔｒｙ０１」が検出される。もしエントリが検出されなければ、ステップＢ０１に戻り、ノード２１によりＭＬＤ  Ｒｅｐｏｒｔが再送される。
【００５３】
そして、ルータ１０により鍵配布ｍｓｇ０２が通信部１０２を介してノード２１へ送信される（ステップＢ０４）。具体的には、マルチキャスト鍵テーブル２０５に記憶されている共有秘密鍵ｋｅｙＭ０がマルチキャスト鍵テーブル２０５から読み出され、当該読み出された共有秘密鍵ｋｅｙＭ０を含む鍵配布ｍｓｇ０２が通信部１０２を介してノード２１へ送信される。ここで、ステップＢ０４で送信される鍵配布ｍｓｇ０２は、ペイロードにｐａｒａｍ１を持ち、パケットは、事前共有鍵ｋｅｙＳ１で暗号化されている。
【００５４】
そして、ルータ１０により「ｍＴａｂｌｅ−ｅｎＴｒｙ０１」のノードリストにノード２１のアドレス（ａｄｄｒ２１）が追加される（ステップＢ０５）。
【００５５】
そして、ノード２１により鍵配布ｍｓｇ０２が通信部２０１を介して受信され、受信された鍵配布ｍｓｇ０２が共有秘密鍵ｋｅｙＳ１で復号化されてｐａｒａｍ１が取得される（ステップＢ０６）。このとき、ノード２１によりマルチキャスト鍵テーブル２０５にエントリ「ｍＴａｂｌｅ２１−ｅｎｔｒｙ０１」が作成され、ｐａｒａｍ１がエントリ「ｍＴａｂｌｅ２１−ｅｎｔｒｙ０１」に保存される。以降、ノード２０から送信される暗号化されたパケットｍｓｇ００は、「ｍＴａｂｌｅ２１−ｅｎｔｒｙ０１」に含まれる共有秘密鍵ｋｅｙＭ０で復号されることとなる。ステップＢ０６の実行後、受信処理１は終了される。
【００５６】
次に、図８を参照して、ノード２０と異なるセグメントに接続されているノード２２がマルチキャストグループに参加し、共有秘密鍵ｋｅｙＭ０を受信する場合の受信シーケンス（受信処理２）について説明する。
【００５７】
例えば、ノード２２の操作部（図示省略）を介してユーザから受信処理２の実行指示が入力されると、ノード２２のマルチキャストグループ管理部２０３の指示に基づいて、ＭＬＤｖ（ＲＦＣ３８１０）の仕様に従ってＭＬＤＲｅｐｏｒｔ（ＩＣＭＰｖ６  Ｔｙｐｅ＝１４３）が通信部２０１を介して送信される（ステップＣ０１）。
【００５８】
そして、ルータ１１によりＭＬＤ  Ｒｅｐｏｒｔが通信部１０２を介して受信され、ＭＬＤ  Ｒｅｐｏｒｔに含まれる送信元アドレス（ａｄｄｒ２０）及びマルチキャストアドレス（ａｄｄｒＭ０）が取得される（ステップＣ０２）。この場合、取得されたａｄｄｒ２０のプレフィックスは、ルータ１１の属しているプレフィックスと異なるため、ルータ１１によりパケットｍｓｇ００の送信ノード（ノード２０）と受信ノード（ノード２１）とは異なるセグメント（異なるネットワーク）に接続されていると判断される。
【００５９】
そして、ルータ１１により、マルチキャスト鍵テーブル１０８から送信元アドレス（ａｄｄｒ２０）及びマルチキャストアドレス（ａｄｄｒＭ０）と一致するエントリが検索される（ステップＣ０３）。ステップＣ０３の検索の結果、エントリが存在すれば後述するステップＣ０９に移行される。エントリが存在しなければ後述するステップＣ０４に移行される。
【００６０】
ステップＣ０３の実行後、ルータ１１により鍵検索ｍｓｇ０３が予約されたマルチキャストアドレスａｄｄｒＭ２宛に通信部１０１を介して送信される（ステップＣ０４）。図１４に鍵検索ｍｓｇ０３のペイロードを示す。鍵検索ｍｓｇ０３のペイロードは、プロトコルのバージョンと、メッセージタイプ（鍵検索）と、パケットｍｓｇ００の送信元アドレスと、パケットｍｓｇ００の宛先マルチキャストアドレスと、を有する。ここで、パケットｍｓｇ００の送信元アドレスはａｄｄｒ２０、パケットｍｓｇ００の宛先マルチキャストアドレスはａｄｄｒＭ０である。
【００６１】
そして、マルチキャストアドレスａｄｄｒＭ２のグループに属しているルータ１０により鍵検索ｍｓｇ０３が通信部１０１を介して受信され、受信された鍵検索ｍｓｇ０３からパケットｍｓｇ００の送信元アドレスａｄｄｒ２０、パケットｍｓｇ００の宛先マルチキャストアドレスａｄｄｒＭ０が取得される（ステップＣ０５）。
【００６２】
そして、ルータ１０によりマルチキャスト鍵テーブル１０８からパケットｍｓｇ００の送信元アドレス（ａｄｄｒ２０）、パケットｍｓｇ００の宛先マルチキャストアドレス（ａｄｄｒＭ０）に一致し、且つ、マスタフラグが「１」であるエントリ「ｍＴａｂｌｅ１０−ｅｎｔｒｙ０１」が検出される（ステップＣ０６）。エントリが検出されない場合、ルータ１０においてこれ以上の処理は行われない。
【００６３】
そして、ルータ１０により鍵通知ｍｓｇ０４が通信部１０１を介してルータ１１に送信される（ステップＣ０７）。図１５に鍵通知ｍｓｇ０４のペイロードを示す。鍵通知ｍｓｇ０４のペイロードは、プロトコルのバージョンと、メッセージタイプ（鍵通知）と、パケットｍｓｇ００の送信元アドレスと、パケットｍｓｇ００の宛先マルチキャストアドレスと、パケットｍｓｇ００の送信元ポート番号と、パケットｍｓｇ００の宛先ポート番号と、共有秘密鍵と、共有秘密鍵の有効期限と、暗号アルゴリズムと、共有秘密鍵（更新用）と、共有秘密鍵の更新時刻と、共有秘密鍵の有効期限と、を有する。ステップＣ０７で送信される鍵通知ｍｓｇ０４は、ペイロードにｐａｒａｍ１を持つ。また、前提条件４により鍵通知ｍｓｇ０４は暗号化されて送信される。
【００６４】
そして、ルータ１１により鍵通知ｍｓｇ０４が通信部１０１を介して受信され、受信された鍵通知ｍｓｇ０４からｐａｒａｍ１が取得される。そして、ルータ１１によりマルチキャスト鍵テーブル２０５にエントリ「ｍＴａｂｌｅ−ｅｎｔｒｙ０１」が作成され、取得されたｐａｒａｍ１がエントリ「ｍＴａｂｌｅ−ｅｎｔｒｙ０１」に保存される（ステップＣ０８）。さらに、このとき、ルータ１１によりマルチキャスト鍵ＩＤ（共有秘密鍵ｋｅｙＭ０の鍵ＩＤ）がマルチキャスト鍵テーブル２０６内で一意な値に設定される。ここでは、マルチキャスト鍵ＩＤが「１」に設定されるとする。また、マスタフラグは「０」が設定される。
【００６５】
そして、ルータ１１により、鍵配布ｍｓｇ０２が通信部１０２を介してノード２２に送信される（ステップＣ０９）。このとき、鍵配布ｍｓｇ０２はペイロードにｐａｒａｍ１をもち、パケットは事前共有鍵ｋｅｙＳ２で暗号化されている。
【００６６】
そして、ルータ１１によりエントリ「ｍＴａｂｌｅ２２−ｅｎｔｒｙ０１」のノードリストにノード２２のアドレス（ａｄｄｒ２２）が追加される（ステップＣ１０）。
【００６７】
そして、ノード２２により鍵配布ｍｓｇ０２が通信部２０１を介して受信され、受信された鍵配布ｍｓｇ０２が事前共有鍵ｋｅｙＳ１で復号化されてｐａｒａｍ１が取得される。そして、ノード２２によりマルチキャスト鍵テーブル２０５にエントリ「ｍＴａｂｌｅ２２−ｅｎｔｒｙ０１」が作成され、ｐａｒａｍ１が「ｍＴａｂｌｅ２２−ｅｎｔｒｙ０１」に保存される（ステップＣ１１）。以降、ノード２０から送信される暗号化されたパケットｍｓｇ００は、ノード２２により「ｍＴａｂｌｅ２２−ｅｎｔｒｙ０１」に含まれる共有秘密鍵ｋｅｙＭ０で復号されることとなる。ステップＣ１１の実行後、受信処理２は終了される。
【００６８】
次に、図９を参照して、鍵更新のシーケンス（更新処理）について説明する。更新処理は、共有秘密鍵を更新する処理である。以下、ノード２０の近接ルータであるルータ１０が、マルチキャスト鍵テーブル１０８のエントリ「ｍＴａｂｌｅ１０−ｅｎｔｒｙ０１」に含まれる共有秘密鍵ｋｅｙＭ０の有効期限が切れる前に、当該共有秘密鍵ｋｅｙＭ０を更新する動作について説明する。
【００６９】
予め、送信処理及び受信処理１（又は受信処理２）が既に終了しており、ノード２０，２１，２２は同じマルチキャストグループに属しているものとする。
【００７０】
例えば、共有秘密鍵ｋｅｙＭ０の有効期限が切れる前の所定の時刻になると、ルータ１０のマルチキャスト鍵作成部１０７により新たに共有秘密鍵ｋｅｙＭ１が作成され、「ｍＴａｂｌｅ１０−ｅｎｔｒｙ０１」がｐａｒａｍ２に更新される（ステップＤ０１）。ここで、ｐａｒａｍ２は、送信元アドレス（ａｄｄｒ２０）、送信元ポート番号（ＡＮＹ）、宛先マルチキャストアドレス（ａｄｄｒＭ０）、宛先ポート番号（ｐｏｒｔＭ０）、共有秘密鍵（ｋｅｙＭ０）、共有秘密鍵の有効期限（ｔｉｍｅ０１）、暗号アルゴリズム（３ＤＥＣ−ＣＢＣ）、共有秘密鍵（更新用）（ｋｅｙＭ１）、共有秘密鍵の更新時刻（ｔｉｍｅ０２）、共有秘密鍵（更新用）の有効期限（ｔｉｍｅ０３）に更新される。
【００７１】
そして、ルータ１０により鍵更新広告ｍｓｇ０５がマルチキャストアドレス（ａｄｄｒＭ２）宛に送信される（ステップＤ０２）。図１６に鍵更新広告ｍｓｇ０５のペイロードを示す。鍵更新広告ｍｓｇ０５は、プロトコルのバージョンと、メッセージタイプ（鍵広告）と、パケットｍｓｇ００の送信元アドレスと、パケットｍｓｇ００の宛先マルチキャストアドレスと、を有する。ここで、パケットｍｓｇ００の送信元アドレスはａｄｄｒ２０、パケットｍｓｇ００の宛先マルチキャストアドレスはａｄｄｒＭ０である。
【００７２】
そして、ルータ１１により鍵更新広告ｍｓｇ０５が通信部１０２を介して受信される。そして、ルータ１１によりマルチキャスト鍵テーブル１０８から鍵更新広告ｍｓｇ０５に含まれる送信元アドレス（ａｄｄｒ２０）、宛先マルチキャストアドレス（ａｄｄｒＭ０）に一致するエントリが検索される（ステップＤ０３）。その結果、エントリ「ｍＴａｂｌｅ−ｅｎｔｒｙ０１」が検出される。検出されるエントリが存在しない場合、ルータ１１によりこれ以上の処理は行われない。
【００７３】
そして、ルータ１１により鍵更新要求ｍｓｇ０６が通信部１０２を介してルータ１０宛に送信される（ステップＤ０４）。図１７に鍵更新要求ｍｓｇ０６のペイロードを示す。鍵更新要求ｍｓｇ０６のペイロードは、プロトコルのバージョンと、メッセージタイプ（鍵更新要求）と、パケットｍｓｇ００の送信元アドレスと、パケットｍｓｇ００の宛先マルチキャストアドレスと、を有する。ここで、パケットｍｓｇ００の送信元アドレスはａｄｄｒ２０、パケットｍｓｇ００の宛先マルチキャストアドレスはａｄｄｒＭ０である。
【００７４】
そして、ルータ１０により鍵更新要求ｍｓｇ０６が通信部１０１を介して受信される。そして、ルータ１０により鍵更新要求ｍｓｇ０６からパケットｍｓｇ００の送信元アドレス（ａｄｄｒ２０）、パケットｍｓｇ００の宛先マルチキャストアドレス（ａｄｄｒＭ０）が取得される。そして、ルータ１０によりマルチキャスト鍵テーブル１０８からパケットｍｓｇ００の送信元アドレス（ａｄｄｒ２０）、パケットｍｓｇ００の宛先マルチキャストアドレス（ａｄｄｒＭ０）に一致するエントリが検出される（ステップＤ０５）。その結果、エントリ「ｍＴａｂｌｅ−ｅｎｔｒｙ０１」が検出される。一致するエントリがない場合、ルータ１０によりこれ以上の処理は行われない。
【００７５】
そして、ルータ１０により鍵通知ｍｓｇ０４が通信部１０１を介してルータ１１に送信される（ステップＤ０６）。鍵ｍｓｇ０４はペイロードにｐａｒａｍ２を持つ。また、前提条件４により鍵通知ｍｓｇ０４は暗号化されている。
【００７６】
そして、ルータ１１により鍵通知ｍｓｇ０４が通信部１０１を介して受信される。そして、ルータ１１により通知ｍｓｇ０４からｐａｒａｍ２が取得される。そして、ルータ１１によりマルチキャスト鍵テーブル２０５のエントリ「ｍＴａｂｌｅ１１−ｅｎｔｒｙ０１」のパラメータがｐａｒａｍ２に更新される（ステップＤ０７）。このとき、マルチキャスト鍵ＩＤとマスタフラグは更新されない。
【００７７】
そして、ルータ１０により鍵配布ｍｓｇ０２がエントリ「ｍＴａｂｌｅ１０−ｅｎｔｒｙ０１」のノードリストに登録されたノード２０，２１に通信部１０２を介して送信される（ステップＤ０８）。このとき、鍵配布ｍｓｇ０２は、ペイロードにｐａｒａｍ２を持ち、パケットは、事前共有鍵ｋｅｙＳ０またはｋｅｙＳ１で暗号化されている。
【００７８】
そして、ルータ１１により鍵配布ｍｓｇ０２がエントリ「ｍＴａｂｌｅ１１−ｅｎｔｒｙ０１」のノードリストに登録されたノード２２に通信部１０２を介して送信される（ステップＤ０９）。このとき鍵配布ｍｓｇ０２は、ペイロードにｐａｒａｍ２を持ち、パケットは事前共有鍵ｋｅｙＳ２で暗号化されている。
【００７９】
そして、ノード２０、ノード２１及びノード２２によりそれぞれ鍵配布ｍｓｇ０２が受信される。そして、ノード２０、ノード２１及びノード２２により鍵配布ｍｓｇ０２が事前共有鍵ｋｅｙＳ０、ｋｅｙＳ１又はｋｅｙＳ２により復号され、ｐａｒａｍ２が取得される。そして、ノード２０、ノード２１及びノード２２によりｐａｒａｍ２がエントリ「ｍＴａｂｌｅ２０−ｅｎｔｒｙ０１」、エントリ「ｍＴａｂｌｅ２１−ｅｎｔｒｙ０１」、エントリ「ｍＴａｂｌｅ１１−ｅｎｔｒｙ０１」にそれぞれ保存される（ステップＤ１０）。
【００８０】
そして、ｐａｒａｍ２のパラメータをエントリに持つ全ての機器（ルータ１０、ルータ１１、ノード２０、ノード２１、ノード２２）は、該当するエントリが持つ共有秘密鍵の更新時刻（ｔｉｍｅ０２）の時刻に達すると、該当するエントリをｐａｒａｍ３に更新する（ステップＤ１１）。ここで、ｐａｒａｍ３は、送信元アドレス（ａｄｄｒ２０）、送信元ポート番号（ＡＮＹ）、宛先マルチキャストアドレス（ａｄｄｒＭ０）、宛先ポート番号（ｐｏｒｔＭ０）、共有秘密鍵（ｋｅｙＭ１）、共有秘密鍵の有効期限（ｔｉｍｅ０３）、暗号アルゴリズム（３ＤＥＳ−ＣＢＣ）、共有秘密鍵（更新用）（ＮＵＬＬ）、共有秘密鍵の更新時刻（ＮＵＬＬ）、共有秘密鍵（更新用）の有効期限（ＮＵＬＬ）を有する。以降、ノード２０、ノード２１及びノード２２によりｔｉｍｅ０３に達するまでパケットｍｓｇ００は共有秘密鍵ｋｅｙＭ１で暗号化・復号化される。ステップＤ１１の実行後、鍵更新のシーケンスは終了される。
【００８１】
次に、図１０及び図１１を参照して、脱退シーケンス（脱退処理）について説明する。脱退処理は、マルチキャストグループからの脱退要求がマルチキャストグループに属するノードからあった場合、脱退要求のあったノードと共有する共有秘密鍵ｋｅｙＭ０を削除する処理である。先ず、図１０を参照して、ノード２２から脱退要求があった場合の脱退処理１について説明する。
【００８２】
予め、送信処理及び受信処理１（又は受信処理２）が既に終了しているものとする。
【００８３】
例えば、ノード２２の操作部（図示省略）を介してユーザから脱退処理１の実行指示が入力されると、ノード２２によりマルチキャスト鍵テーブル２０５からエントリ「ｍＴａｂｌｅ２２−ｅｎｔｒｙ０１」が検出される（ステップＥ０１）。
【００８４】
そして、ノード２２のマルチキャストグループ管理部２０３の指示に基づいて、ＭＬＤｖ２（ＲＦＣ３８１０）の仕様に従ってＭＬＤ  Ｒｅｐｏｒｔが通信部２０１を介して送信される（ステップＥ０２）。この場合、ＭＬＤ  Ｒｅｐｏｒｔは、マルチキャストグループへの脱退要求を示すメッセージであり、パケットｍｓｇ００の送信元アドレス（ａｄｄｒ２０）、パケットｍｓｇ００の宛先マルチキャストアドレス（ａｄｄｒＭ０）を含む。
【００８５】
そして、ノード２２によりエントリ「ｍＴａｂｌｅ２２−ｅｎｔｒｙ０１」が削除される（ステップＥ０３）。
【００８６】
そして、ルータ１１によりＭＬＤ  Ｒｅｐｏｒｔが通信部１０２を介して受信され、ＭＬＤ  Ｒｅｐｏｒｔに含まれる送信元アドレス（ａｄｄｒ２０）及びマルチキャストアドレス（ａｄｄｒＭ０）が取得される。そして、ルータ１１により送信元アドレス（ａｄｄｒ２０）及びマルチキャストアドレス（ａｄｄｒＭ０）から、マルチキャスト鍵テーブル２０５のエントリ「ｍＴａｂｌｅ１１−ｅｎｔｒｙ０１」が検出される（ステップＥ０４）。
【００８７】
そして、ルータ１１により共有秘密鍵ｋｅｙＭ０を含むエントリ「ｍＴａｂｌｅ１１−ｅｎｔｒｙ０１」のノードリストからノード２２のアドレス（ａｄｄｒ２２）が削除される。ここで、ノードリストにノードのエントリが無くなるため、ルータ１１によりエントリ「ｍＴａｂｌｅ１１−ｅｎｔｒｙ０１」が削除される（ステップＥ０５）。このとき、ノードリストにノードのエントリがまだ存在する場合、エントリ「ｍＴａｂｌｅ１１−ｅｎｔｒｙ０１」は削除されない。
【００８８】
そして、ルータ１１のルーティング処理部１０５の指示に基づいて、ＰＩＭ−ＳＳＭの仕様に従ってＰＩＭ−Ｐｒｕｎｅメッセージ（不要な経路を削除するメッセージ）が通信部１０１を介してルータ１０に送信される（ステップＥ０６）。ＰＩＭ−Ｐｒｕｎｅがルータ１０に送信されると、ルータ１０からルータ１１までの間のパケットｍｓｇ００を通信する不要な経路が削除される。ステップＥ０６の実行後、脱退処理１は終了される。
【００８９】
次に、図１１を参照して、ノード２１がマルチキャストグループから脱退する場合の脱退処理２について説明する。
【００９０】
予め、送信処理及び受信処理１（又は受信処理２）が既に終了しているものとする。
【００９１】
例えば、ノード２１の操作部（図示省略）を介してユーザから脱退処理２の実行指示が入力されると、ノード２１によりマルチキャスト鍵テーブル２０５からエントリ「ｍＴａｂｌｅ２１−ｅｎｔｒｙ０１」が検出される（ステップＦ０１）。
【００９２】
そして、ノード２１のマルチキャストグループ管理部２０３の指示に基づいて、ＭＬＤｖ２（ＲＦＣ３８１０）の仕様に従ってＭＬＤ  Ｒｅｐｏｒｔが通信部２０１を介して送信される（ステップＦ０２）。この場合、ＭＬＤ  Ｒｅｐｏｒｔは、マルチキャストグループへの脱退要求を示すメッセージであり、パケットｍｓｇ００の送信元アドレス（ａｄｄｒ２０）、パケットｍｓｇ００の宛先マルチキャストアドレス（ａｄｄｒＭ０）を含む。
【００９３】
そして、ノード２１によりエントリ「ｍＴａｂｌｅ２１−ｅｎｔｒｙ０１」が削除される（ステップＦ０３）。
【００９４】
そして、ルータ１０によりＭＬＤ  Ｒｅｐｏｒｔが通信部１０２を介して受信され、ＭＬＤ  Ｒｅｐｏｒｔに含まれる送信元アドレス（ａｄｄｒ２０）及びマルチキャストアドレス（ａｄｄｒＭ０）が取得される。そして、ルータ１０により送信元アドレス（ａｄｄｒ２０）及びマルチキャストアドレス（ａｄｄｒＭ０）から、マルチキャスト鍵テーブル２０５のエントリ「ｍＴａｂｌｅ１０−ｅｎｔｒｙ０１」が検出される（ステップＦ０４）。
【００９５】
そして、ルータ１０により共有秘密鍵ｋｅｙＭ０を含むエントリ「ｍＴａｂｌｅ１０−ｅｎｔｒｙ０１」のノードリストからノード２１のアドレス（ａｄｄｒ２１）が削除される。ここで、ノードリストにノードのエントリが無くなると、ルータ１０によりエントリ「ｍＴａｂｌｅ１０−ｅｎｔｒｙ０１」が削除される（ステップＦ０５）。ノードリストにノードのエントリがまだ存在する場合、エントリ「ｍＴａｂｌｅ１０−ｅｎｔｒｙ０１」は削除されない。ステップＦ０５の終了後、脱退処理２は終了される。
【００９６】
以上、本実施の形態によれば、マルチキャストグループへ参加するノード（ノード２０，２１，２２）の近接のルータ（ルータ１０，１１）が必要なデータベース（マルチキャスト鍵テーブル１０８、事前共有鍵テーブル１０９）を保持していればよいので、データベースが肥大化することを防ぐことができる。
【００９７】
また、ルータ１０は、ノード２０，２１の近隣のルータ（ルータ１１はノード２２の近隣のルータ）であるため、ノードからルータまでは１ホップで到達できる。このため、例えば、ノード２０からルータ１０へ送信要求ｍｓｇ０１を送信する場合、ノード２０−ルータ１０間には経由するルータが存在しないので、ノード２０は、経由するルータの数の送信要求ｍｓｇ０１を送信する必要がなく、送信要求ｍｓｇ０１を１回送信すればよい。また、ルータ１０−１１間の通信（ステップＣ０４〜Ｃ０８）は、ルータが何台存在していても１回の通信で行うことができる。
【００９８】
また、ルータ１０，１１が共有秘密鍵ｋｅｙＭ０の管理（配布、更新、削除等）を行うので、ノード２０，２１，２２が共有秘密鍵ｋｅｙＭ０の管理を担う必要がない。このため、ネットワークシステム１をプロセス制御システムに適用した場合でも、適切なプロセス制御システムを実現することができる。
【００９９】
また、ルータ１０（又はルータ１１）は、マルチキャストグループに属しないノード２１（又はノード２２）からマルチキャストグループへの参加要求を受信した場合、共有秘密鍵ｋｅｙＭ０を参加要求したノード２１（又はノード２２）に送信（配布）する。このため、ノード２１（又はノード２２）がマルチキャストグループに参加することによりマルチキャストグループが動的に変化（マルチキャストグループメンバーの数が変化）しても、当該変化に応じて、共有秘密鍵ｋｅｙＭ０を動的に管理（共有秘密鍵ｋｅｙＭ０をノード２１又はノード２２に自動的に配布）することができる。
【０１００】
また、共有秘密鍵ｋｅｙＭ０の有効期限が切れる前に、共有秘密鍵ｋｅｙＭ０を共有秘密鍵ｋｅｙＭ１に更新した場合であっても、更新した共有秘密鍵ｋｅｙＭ１はノード２０、ノード２１及びノード２２に送信される。このため、共有秘密鍵が更新された場合であっても、更新した共有秘密鍵ｋｅｙＭ１を動的に管理（更新した共有秘密鍵ｋｅｙＭ１をノード２０、ノード２１及びノード２１に配布）することができる。
【０１０１】
また、ルータ１０（又はルータ１１）は、マルチキャストグループからの脱退要求をノード２１（又はノード２２）から受信した場合、脱退するノード２１（又はノード２２）と共有する共有秘密鍵ｋｅｙＭ０を削除する。このため、ノード２１（又はノード２２）がマルチキャストグループから脱退することによりマルチキャストグループが動的に変化（マルチキャストグループメンバーの数が変化）しても、当該変化に応じて、ノード２１（又はノード２２）と共有する共有秘密鍵ｋｅｙＭ０を動的に管理（共有秘密鍵ｋｅｙＭ０を削除）することができる。
【０１０２】
また、共有秘密鍵ｋｅｙＭ０の管理において、ネットワークＡにおいては、ルータ１０により共有秘密鍵ｋｅｙＭ０の管理（配布、更新、削除等）が実行されるので、ノード２１は、外部のネットワーク（ネットワークＢ）を意識する必要がない。
【０１０３】
なお、上記実施の形態における記述は、本発明に係るネットワークシステムの一例であり、これに限定されるものではない。
【０１０４】
例えば、上記実施の形態では、更新処理において共有秘密鍵ｋｅｙＭ０の更新を行っているが、これに限定されるものではない。例えば、共有秘密鍵ｋｅｙＭ０とともに、ｐａｒａｍ１、ｐａｒａｍ２、ｐａｒａｍ３に記述されている他のパラメータ（例えば、暗号アルゴリズムパラメータ等）も更新することとしてもよい。
【０１０５】
また、例えば、ルータ１０−ノード２０間の通信プロトコルにＩＰｓｅｃを使用する場合、ｐａｒａｍ１のリスト（項目）にＩＰｓｅｃのモード、トランスポート層のプロトコル（ＡＨ／ＥＳＰ）といったパラメータを追加することとしてもよい。
【０１０６】
また、本発明に係るネットワークシステム１を、インダストリアルオートメーションにおけるプロセス制御システム（フィードバック制御ループを構成する流量計や温度計などのセンサ、アクチュエータ、コントローラを含むフィールドデバイスをネットワークで接続したフィールドネットワークシステム）に適用することとしてもよい。この場合、フィールドデバイスは、ネットワークシステム１のノード２０，２１，２２に適用され、システム制御プロセスが構成される。
【０１０７】
その他、本実施の形態における、ネットワークシステム１の細部構造及び詳細動作に関しても、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【図面の簡単な説明】
【０１０８】
【図１】本発明に係る実施の形態のルータの内部構成を示す図である。
【図２】本発明に係る実施の形態のノードの内部構成を示す図である。
【図３】ルータが保持するマルチキャスト鍵テーブルの構成を示す図である。
【図４】ルータが保持する事前共有鍵テーブルの構成を示す図である。
【図５】ノードが保持するマルチキャスト鍵テーブルの構成を示す図である。
【図６】送信処理の流れを示す図である。
【図７】受信処理１の流れを示す図である。
【図８】受信処理２の流れを示す図である。
【図９】更新処理の流れを示す図である。
【図１０】脱退処理１の流れを示す図である。
【図１１】脱退処理２の流れを示す図である。
【図１２】ｍｓｇ０１のペイロードを示す図である。
【図１３】ｍｓｇ０２のペイロードを示す図である。
【図１４】ｍｓｇ０３のペイロードを示す図である。
【図１５】ｍｓｇ０４のペイロードを示す図である。
【図１６】ｍｓｇ０５のペイロードを示す図である。
【図１７】ｍｓｇ０６のペイロードを示す図である。
【図１８】ネットワークシステム１の概略構成を示す図である。
【符号の説明】
【０１０９】
１     ネットワークシステム
２     ネットワーククラウド
１０，１１    ルータ
１１Ａ，１０１，１０２，２０１     通信部
１２Ａ，２２Ａ        制御部
１３Ａ，２３Ａ        記憶部
２０，２１，２２     ノード
３０，４０            スイッチ
１０３，２０２        暗号処理部
１０４，２０３        マルチキャストグループ管理部
１０５                 ルーティング処理部
１０６，２０４        鍵設定管理部
１０７               マルチキャスト鍵作成部
１０８，２０５        マルチキャスト鍵テーブル
１０９，２０６        事前共有鍵テーブル
【図１】
2010074225.tif 000003
【図２】
2010074225.tif 000004
【図３】
2010074225.tif 000005
【図４】
2010074225.tif 000006
【図５】
2010074225.tif 000007
【図６】
2010074225.tif 000008
【図７】
2010074225.tif 000009
【図８】
2010074225.tif 000010
【図９】
2010074225.tif 000011
【図１０】
2010074225.tif 000012
【図１１】
2010074225.tif 000013
【図１２】
2010074225.tif 000014
【図１３】
2010074225.tif 000015
【図１４】
2010074225.tif 000016
【図１５】
2010074225.tif 000017
【図１６】
2010074225.tif 000018
【図１７】
2010074225.tif 000019
【図１８】
2010074225.tif 000020