JP2009038416A - マルチキャスト通信システム、並びにグループ鍵管理サーバ - Google Patents

マルチキャスト通信システム、並びにグループ鍵管理サーバ Download PDF

Info

Publication number
JP2009038416A
JP2009038416A JP2007198306A JP2007198306A JP2009038416A JP 2009038416 A JP2009038416 A JP 2009038416A JP 2007198306 A JP2007198306 A JP 2007198306A JP 2007198306 A JP2007198306 A JP 2007198306A JP 2009038416 A JP2009038416 A JP 2009038416A
Authority
JP
Japan
Prior art keywords
key
node
group
tree structure
message
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.)
Withdrawn
Application number
JP2007198306A
Other languages
English (en)
Inventor
Akira Suzuki
彰 鈴木
Ikuko Osajima
郁子 筬島
Nobuyuki Ikeda
信之 池田
Shinji Ogishima
真治 荻島
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007198306A priority Critical patent/JP2009038416A/ja
Publication of JP2009038416A publication Critical patent/JP2009038416A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】グループからメンバを削除する際にメンバの親ノードの鍵を更新せずにグループ鍵のみを更新して鍵の計算量を削減し、メンバを追加する際にメンバの削除時に更新しなかった親ノードの鍵を更新することによりマルチキャスト通信の通信量を削減する。
【解決手段】グループ鍵管理サーバは、二分木構造の各ノードについて、メッセージ鍵と親鍵種とを記憶する鍵情報記憶部と、メンバ追加時に、二分木構造の根ノードのメッセージ鍵であるグループ鍵を生成する鍵管理部とを有し、端末装置のそれぞれは、自己のメッセージ鍵と、自己の兄弟ノードの親鍵種と、二分木構造の経路上ノードのメッセージ鍵と親鍵種と、経路上ノードの兄弟ノードの親鍵種とを記憶する端末側鍵情報記憶部と、端末側鍵情報記憶部に記憶された親鍵種から、二分木構造の根ノードのメッセージ鍵であるグループ鍵を生成する端末側鍵管理部とを有する。
【選択図】図1

Description

本発明は、マルチキャスト通信システム、並びにグループ鍵管理サーバに関し、より詳しくは、マルチキャスト通信の秘匿化の際にグループ鍵の配信を行うマルチキャスト通信システム、並びにグループ鍵管理サーバに関する。
近年、インターネット回線が高速化し、動画配信など大容量のデータを送れるようになってきた。このため、動画配信などの特定多数のユーザへの配信手法の一つとして、ネットワーク内で複数の相手を指定して同じデータを送信する技術であるマルチキャスト通信が注目されている。
一方、通信の秘匿化を行う手法として鍵を用いる方法がある。すなわち、平文と鍵という暗号アルゴリズムの種を用いることにより暗号文を生成し、送信することにより、送信側、受信側で対応した鍵を持たない限りは平文を復号できないという性質を利用して、通信を秘匿化する。この鍵暗号方式には送信側と受信側で同じ鍵を使って暗号化/復号する共通鍵暗号方式、送信側と受信側で異なる鍵を使って暗号化/復号する公開鍵暗号方式の2種類ある。一般的に、公開鍵暗号方式より共通鍵暗号方式のほうが暗号化/復号にかかる計算量が小さいため、マルチキャスト通信の秘匿化においては、グループ鍵と呼ばれる共通鍵を用いて暗号化/復号が行われる。
ところで、マルチキャストの一般的なセキュリティ要件として次の2点が挙げられる。
(1) グループに追加されたメンバは追加される以前の情報を復号できない
(2) グループから削除されたメンバは削除された以後の情報を復号できない
これらの要件を満たすために、現在使用しているグループ鍵を、メンバ追加或いはメンバ削除時に追加されるメンバ、削除されるメンバには取得することができないグループ鍵に変更することが行われ、これによりセキュリティ要件を満たす。
上記グループ鍵の変更方法として、以下の方法が提案されている。
[従来技術1] ユニキャストによるグループ鍵の送信
最も単純なグループ鍵の送信手法は各メンバにユニキャストによってグループ鍵を送信する手法である。
[従来技術2] CS法(Complete Subset Method)
CS法は木構造によってグループ鍵を管理する手法である。木構造の各ノードに鍵を割り当てる。メンバは木構造の各葉に割り当てられ、葉に割り当てられたメンバは葉から根に向かう経路のノードの鍵すべてを持つ。つまり、完全二分木にN人のメンバが割り当たっていれば、各メンバは[logN]個の鍵を持つ。すべてのメンバは木構造の根の鍵を共通に持つことになるので、この根の鍵をグループ鍵として利用する。
このCS法ではメンバ削除時に、削除されるメンバが持っている鍵を、グループ鍵を含めて使用不可にする。グループ鍵が使用できなくなると通信の秘匿化が行なくなるので、サーバは新しいグループ鍵を更新し、更新したグループ鍵をマルチキャストする。その際、削除されるメンバに更新したグループ鍵を得ることができなくするため、更新したグループ鍵を暗号化する。その暗号化では、削除されるメンバが持っていない鍵で、且つ、木構造の根に近い鍵を使って暗号化することにより、削除されるメンバは更新したグループ鍵を得ることができず、通信量を小さくすることができる。
[従来技術3] OFT(One-way Function Method)
OFTは木構造によってグループ鍵を管理する手法である。木構造の各ノードに鍵を割り当てる。メンバは木構造の各葉に割り当てられ、葉に割り当てられたメンバは葉から根に向かう経路のノードの兄弟の鍵すべてを持つ。すべてのメンバは木構造の根の鍵を共通に計算可能になるので、この根の鍵をグループ鍵として利用する(例えば、特許文献1)。
各メンバは葉から根に向かう経路のノードの鍵をその子ノードの鍵から計算する。葉から根に向かってボトムアップに鍵を逐次的に計算することにより、各メンバの鍵(葉の鍵)をどれか一つを変えることのみによりグループ鍵の更新を行うことができ、鍵更新のための通信量が小さくなる。
米国特許公開公報US 7,095,850 B1
従来技術1では、しかし、この手法ではグループ鍵の更新時に、メンバ数をNとしたとき、N回のユニキャストが必要になり、通信量が多くなってしまう点において問題がある。
従来技術2では、メンバ追加について考慮されておらず、その点から動的なマルチキャストグループでの通信に応用することができない。また、メンバが削除されると、削除されたメンバの鍵が使えなくなることにより、使えなくなる鍵が削除されたメンバ数に比例して多くなるため、最終的に従来技術1のようなユニキャストによりグループ鍵を送信する手法と同じ程度の通信量が必要になるという問題点がある。
従来技術3ではOFTでは葉ノードから根ノードに向かって逐次的に鍵を計算していくため、鍵更新の際にメンバ数をNとしたときにO(logN)の計算量が必要になり、グループ鍵更新の際に、メンバ追加/削除が発生したメンバの葉から根までの経路の鍵すべてを更新するため、信頼性の低いマルチキャスト通信で鍵の更新情報が正確に送信できなかった際に、そのメンバはそれ以後の鍵更新を行うことができなくなるという問題点がある。
上記課題を解決するための手段として、本発明は以下の特徴を有する。
本発明の第1の態様は、ネットワークに接続され、二分木構造の根ノードに相当するグループ鍵管理サーバと、ネットワークに接続され、二分木構造の葉ノードに相当する複数の端末装置とを有するマルチキャスト通信システムとして提案される。
このマルチキャスト通信システムにおいて、グループ鍵管理サーバは、二分木構造の各ノードについて、メッセージ鍵と親鍵種とを記憶する鍵情報記憶部と、メンバ追加時に、二分木構造の根ノードのメッセージ鍵であるグループ鍵を生成する鍵管理部とを有する。
また、このマルチキャスト通信システムにおいて、端末装置のそれぞれは、自己のメッセージ鍵と、自己の兄弟ノードの親鍵種と、二分木構造の経路上ノードのメッセージ鍵と親鍵種と、経路上ノードの兄弟ノードの親鍵種とを記憶する端末側鍵情報記憶部と、端末側鍵情報記憶部に記憶された親鍵種から、二分木構造の根ノードのメッセージ鍵であるグループ鍵を生成する端末側鍵管理部とを有することを特徴としている。
本発明の第2の態様は、二分木構造の葉ノードに相当する複数の端末装置が接続されたネットワークに接続され、二分木構造の根ノードに相当するグループ鍵管理サーバとして提案される。
このグループ鍵管理サーバは、根ノードと葉ノードを有する二分木構造を示す木構造情報と、木構造に含まれる各ノードについて、暗号化に使用できないメッセージ鍵である使用不可鍵の数を示す使用不可鍵数とを記憶する鍵情報記憶部と、メンバ追加時には、鍵情報記憶部に記憶された使用不可鍵数を用いて、二分木構造におけるメンバの追加位置を決定する鍵管理部とを有することを特徴としている。
本発明によれば、グループからメンバを削除する際に、メンバの親ノードの鍵を更新せずにグループ鍵のみを更新することにより、鍵の計算量を削減し、メンバを追加する際にメンバの削除時に更新しなかった親ノードの鍵を更新することによりマルチキャスト通信の通信量を削減することができる。
以下、図面を参照しながら本発明の実施の形態を説明する。
本実施の形態では次の2つのアクター、グループ鍵管理サーバ及びメンバが定義される。
(1)グループ鍵管理サーバ
グループ鍵管理サーバは、グループ鍵を管理する役割を有する装置である。グループ鍵管理サーバは、グループ鍵の生成/更新、グループ鍵の配信、メンバ情報の管理などの責務を持つ。
(2)メンバ
メンバは、グループ鍵を利用する役割を有する。メンバは、グループ鍵の更新、グループ鍵を用いた暗号化通信を行うなどの責務を持つ。なお、メンバがグループ鍵を利用してマルチキャスト通信を含む通信を行うための装置を端末装置と呼ぶものとする。
図1は、本実施の形態にかかるマルチキャスト通信システムの構成例を示すブロック図である。
マルチキャスト通信システム1は、グループ鍵管理サーバ10と、ネットワーク20を介してグループ鍵管理サーバ10及び他の端末装置と通信可能な端末装置30とを有している。図1に示した例では、8人のメンバA〜Hのそれぞれに対応する8台の端末装置30によって、一つのグループを構成しているものとする。なお、端末装置30は、一人のメンバに専有される装置であってもよいし、複数のメンバに共有される装置であっても構わない。
[1.グループ鍵管理サーバ]
グループ鍵管理サーバ10は、演算処理装置(CPU)、主メモリ(RAM)、読出し専用メモリ(ROM)、入出力装置(I/O)、必要な場合にはハードディスク装置等の外部記憶装置を具備している装置であって、例えばコンピュータ、ワークステーションなどの装置である。前記ROM、若しくはハードディスク装置などにプログラムが記憶されており、このプログラムを主メモリ上に載せ、CPUがこれを実行することによりグループ鍵管理サーバ10が実現される。また、上記プログラムは必ずしも情報処理装置内の記憶装置に記憶されていなくともよく、外部の装置(例えば、ASP(アプリケーション・サービス・プロバイダのサーバなど))から提供され、これを主メモリに乗せる構成であってもよい。さらに、このグループ鍵管理サーバ10は単体の装置で構成されていてもよいし、複数の装置をネットワークにより結合して構成されるものでもよい。
図2は、グループ鍵管理サーバ10の構成例を示す機能ブロック図である。グループ鍵管理サーバ10は、通信制御部11と、通信制御部11に接続された管理部12と、管理部12に接続された鍵管理部13及び暗号処理部14と、鍵管理部13及び暗号処理部14に接続された鍵情報記憶部15とを有している。
通信制御部11は、ネットワーク20と接続され、端末装置30とデータを送受信するために、所定のプロトコルに従ってパケットを生成してこれをマルチキャスト或いはユニキャストにより送信し、端末装置30から送信されたパケットを受信する。通信制御部11は、前記暗号化処理部によって暗号化されたグループ鍵を各端末装置にマルチキャストにより送信する。通信制御部11は、例えば、ネットワークボード、ネットワークカードなどである。
管理部12は、鍵管理部13、暗号処理部14、通信制御部15と接続され、各部の動作制御、データの受け渡しの管理を行う。
鍵管理部13は、鍵情報記憶部15の記憶内容を利用し、グループ鍵、後述するメッセージ鍵(秘密鍵ともいう)、親鍵種(迷彩鍵ともいう)の計算やメンバ追加/削除の際にどのようにメンバの追加/削除を行うかを決定する機能を有する。
暗号処理部14は、鍵情報記憶部15の記憶内容を利用し、端末装置30に必要な送信すべき鍵情報などを暗号化し、これを通信制御部15を介して端末装置30に送信させる機能を有する。
鍵情報記憶部15は、以下の情報を記憶する。
(1)鍵の木構造
(2)各ノードの情報
(3)各ノードの親鍵種
(4)各ノードのメッセージ鍵
(5)使用不可鍵リスト
鍵の木構造は鍵の木構造をリストや表などなんらかの表現手法で保存する。各ノードには親鍵種とメッセージ鍵といった従来技術での必要な情報に加えて、使用不可鍵数を登録する。これは、そのノードより下位のノードに含まれる使用不可鍵の総和である。すなわち、使用不可でないノードの鍵の使用不可鍵数は次式で求める。
(使用不可でないノードの使用不可鍵数)=
(右子ノードの使用不可鍵数)+(左子ノードの使用不可鍵数)
使用不可のノードの使用不可鍵数は(使用不可でないノードの使用不可鍵数)+1により求めることとする。
鍵情報記憶部15は、鍵の木構造に加えて使用不可鍵リストを保存する。これは、通信を暗号化する際に使用不可鍵リストに登録されているかを確認し、使用不可でない鍵により暗号化することにより、メンバから削除されたなどの理由により情報の閲覧を許可されないメンバによる暗号化情報の復号を避けるためである。
次に、端末装置30について説明する。端末装置30は、グループに属するメンバがグループ鍵を用いて情報を暗号化/復号することによって、情報を秘匿しながら他のメンバと通信することを可能とする情報処理装置である。端末装置30は、グループ鍵管理サーバ10から送られてきた鍵情報の復号や、復号して得られた情報から各種鍵の計算を行い、暗号化通信を行う責務がある。
端末装置30は、演算処理装置(CPU)、主メモリ(RAM)、読出し専用メモリ(ROM)、入出力装置(I/O)、必要な場合にはハードディスク装置等の外部記憶装置を具備している装置であって、例えばネットワーク通信機能を有するコンピュータ、PDA(Personal Data Assistant)、携帯電話機、携帯ゲーム機などの装置である。端末装置30の前記ROM、若しくはハードディスク装置などにプログラムが記憶されており、このプログラムを主メモリ上に載せ、CPUがこれを実行することにより端末装置30が実現される。また、上記プログラムは必ずしも情報処理装置内の記憶装置に記憶されていなくともよく、外部の装置(例えば、ASP(アプリケーション・サービス・プロバイダのサーバなど))から提供され、これを主メモリに乗せる構成であってもよい。
図3に、端末装置30の構成例を示す機能ブロック図を掲げる。端末装置30は、端末側通信制御部31と、端末側通信制御部31に接続された端末側管理部32と、端末側管理部32に接続された端末側鍵管理部33及び端末側暗号処理部34と、端末側鍵管理部33及び暗号処理部34に接続された端末側鍵情報記憶部35とを有している。
端末側通信制御部11は、ネットワーク20と接続され、グループ鍵管理サーバ10及び他の端末装置30とデータを送受信するために、所定のプロトコルに従ってパケットを生成してこれをマルチキャスト或いはユニキャストにより送信し、またグループ鍵管理サーバ10及び他の端末装置30から送信されたパケットを受信して元のデータを再構築して取得する。端末側通信制御部31は、例えば、ネットワークボード、ネットワークカードなどである。
端末側管理部32は、端末側鍵管理部33、端末側暗号処理部34、端末側通信制御部35と接続され、各部の動作制御、データの受け渡しの管理を行う。端末側管理部32は主にCPU、ROM、RAMによって実現される構成要素である。
端末側鍵管理部33は、端末側鍵情報記憶部35の記憶内容を利用し、グループ鍵、後述するメッセージ鍵(秘密鍵ともいう)、親鍵種(迷彩鍵ともいう)の計算やメンバ追加/削除による端末側鍵情報記憶部35内の木構造情報の更新を行う機能を有する。端末側鍵管理部33は主にCPU、ROM、RAMによって実現される構成要素である。
端末側暗号処理部34は、端末側鍵情報記憶部35の記憶内容を利用し、グループ鍵管理サーバ10から送信された鍵情報を復号する機能を有する。端末側暗号処理部34は主にCPU、ROM、RAMによって実現される構成要素である。
端末側鍵情報記憶部35は、以下の情報を記憶する。
(1)鍵の木構造
(2)その端末装置に相当する葉ノードから根ノードに向かう経路上に存する中間ノード(経路上ノードと呼ぶ)の情報
(3)各経路上ノードの兄弟ノード(同一の中間ノード又は根ノードを親に持つ中間ノード)の親鍵種
(4)各経路上ノードの親鍵種
(5)グループ鍵管理サーバとの暗号化通信に使用する共通鍵
(6)使用不可鍵リスト
上記の鍵の木構造は鍵の木構造をリストや表などなんらかの表現手法で保存する。端末装置30が保持する鍵は、グループ鍵管理サーバ10との共通鍵と、経路上ノードの親鍵種と、経路上ノードの兄弟ノードそれぞれの親鍵種である。端末側鍵管理部33は、これらの鍵情報から親ノードのメッセージ鍵、親鍵種を復元(生成)する。
なお、使用不可鍵リストは、グループ鍵管理サーバ10から送られてきた鍵を復号する際にどの鍵を使って復号するかを決めるものである。
以上で、本実施の形態にかかるマルチキャスト通信システム1の構成の説明を終了する。
[2.マルチキャスト通信システムの動作]
本実施の形態にかかるマルチキャスト通信システム1は、主要な機能若しくは動作として、グループ鍵管理、メンバ追加、メンバ削除の3つの機能を有する。
[2.1.グループ鍵管理]
まず、マルチキャスト通信システム1が実行するグループ鍵管理について述べる。
グループ鍵管理は木構造を示す木構造情報を用いて行う。グループ鍵管理サーバ10は、メンバ追加、メンバ削除などのメンバ変更に伴う木構造の変更或いは更新が起こった場合は、更新された木構造を示す木構造情報を各端末装置30に送信する。更新された木構造情報は、グループ鍵管理サーバ10の鍵情報記憶部15及び各端末装置30の端末側鍵情報記憶部35において保持される。
グループ鍵管理サーバ10の鍵情報記憶部15及び各端末装置30の端末側鍵情報記憶部35において保持される二分木による木構造の例を図4に示す。マルチキャスト通信システム1を構成するグループ鍵管理サーバ10及び端末装置30のすべてが、同じ木構造情報を共有する。
さて、グループ鍵管理に使用する木構造40は、根ノード41と、各メンバに対応する各葉ノード42および根ノード41と葉ノード42の間に置かれる中間ノード43によって構成される。この木構造40は二分木であり、各ノード41、43はその下位のノードとして2つの子ノードを有する。ただし、葉ノード42は子ノードを有しない。
なお、図4中、根ノード41及び中間ノード43は円形の枠で図示し、葉ノードは四角形の枠で示している。また、各枠内の数字はノードを区別するためのノード番号である。以下、各ノードを区別する場合には、ノード番号を用いて表記するものとし、例えば根ノード41をノード[1]と表記し、例えば左端の葉ノード42をノード[8]のように表記することがある。
図4に示した例では、8個の葉ノード42、すなわち葉ノード[8]〜[15]があり、これは8つのメンバ、すなわち8台の端末装置30を意味している。また、根ノード41はグループ鍵管理サーバ10に相当する。
木構造40のすべてのノード41、42、43のそれぞれには親鍵種とメッセージ鍵の2つの情報が付与される。親鍵種はメッセージ鍵に一方向関数を使うことにより求めることができる。メッセージ鍵はそのノードの2つの子ノードの親鍵種を排他的論理和などの混合関数を使うことにより求めることができる。ただし、葉ノード42のメッセージ鍵はグループ鍵管理サーバ10によって生成される。
木構造40の葉ノード42に相当する端末装置30は、葉ノード42から根ノード41に向かう経路上の中間ノード43(経路上ノードと呼ぶ)それぞれの親鍵種と、その葉ノード42および経路上ノードの兄弟ノード(同一の親ノードを有する中間ノード43)の親鍵種と、グループ鍵管理サーバ10と共有するその端末装置30自身のメッセージ鍵を端末鍵情報記憶部35に保持する。一例を挙げると、ノード[9]に対応する端末装置30は、経路上ノードであるノード[4]の親鍵種及びノード[2]の親鍵種と、兄弟ノードであるノード[8]の親種鍵、ノード[5]の親種鍵、ノード[3]の親種鍵、及び自身のメッセージ鍵であるノード[9]のメッセージ鍵とをその端末側鍵情報35に保持することとなる。
各端末装置30は、グループへのメンバ追加の際に、グループ鍵管理サーバ10の鍵管理部33により与えられた親種鍵とメッセージ鍵から論理的ノードの鍵を計算する。図4の例において、ノード[9]に相当する端末装置30が新たにグループに追加されたものとする。ノード[9]に相当する端末装置30は、まず、ノード[9]のメッセージ鍵に一方向関数を使い、ノード[9]の親鍵種を求める。次に、この端末装置30は、ノード[8]の親鍵種とノード[9]の親鍵種から経路上ノードであるノード[4]のメッセージ鍵を求める。そして、この端末装置30は、ノード[4]のメッセージ鍵に一方向関数を使い、ノード[4]の親鍵種を求める。次に、この端末装置30は、ノード[4]の親鍵種とノード[5]の親鍵種から所定の混合関数を用いて経路上ノード[2]のメッセージ鍵を求める。最後に、ノード[2]のメッセージ鍵に一方向関数を使い、ノード[2]の親鍵種を求めた後、ノード[2]の親鍵種とノード[3]の親鍵種から所定の混合関数を用いてノード[1]のメッセージ鍵、すなわちグループ鍵を求める。このように、すべての端末装置30は、木構造40の葉ノード42から根ノード41に向かって逐次的に親鍵種、メッセージ鍵を求めることができ、最終的にグループ鍵を求めることができる。
すべての端末装置30は根ノード41であるノード[1]のメッセージ鍵を求めることが可能なので、このノード[1]のメッセージ鍵を、グループ内の暗号化鍵であるグループ鍵として用いる。
[2.2.メンバ追加]
次に、グループに新たなメンバを追加する場合のマルチキャスト通信システム1の動作について説明する。
グループに追加されたメンバが追加される以前の情報を復元できなくするため、マルチキャスト通信システム1は、メンバ追加時にグループ鍵を更新する。このシーケンスを図5に示す。
グループ鍵管理サーバ10は、オペレータの操作などにより、グループに新たなメンバを追加する(S101)。メンバの追加は、鍵情報記憶部15に記憶されている木構造40への新たな葉ノード42の追加として行われる。
メンバの追加は、新たな葉ノード42を木構造のどの位置に追加するかを決定することにより行われる。新たな葉ノード42の追加は、まず、図6のフローチャートに示した手順を鍵管理部13が実行してメンバの追加位置を求めることにより行われる。すなわち、グループ鍵管理サーバ10、より詳しくは鍵管理部13は、最上位のノード、すなわち根ノード41から順に以下の判定を行う。
まず、鍵管理部13は、対象となるノードについてその左子ノードの有する使用不可鍵数とその右子ノードの有する使用不可鍵数とを比較する(S601)。左子ノードの有する使用不可鍵数がより多い場合(S601、Yes)、鍵管理部13は左子ノードを選択し(S602)、それ以外の場合(S601、No)は右子ノードを選択する(S603)。
次に、鍵管理部13は、選択した左子ノード或いは右子ノードが葉ノード42であるか否かを判定し(S604)、葉ノード42である場合(S604、Yes)は、その葉ノードを中間ノード43に置き換えるとともに、その中間ノード43の子ノードとして選択された既存の葉ノード42と追加する新たな葉ノード42とを追加し(S605)、メンバ追加位置決定処理を終了する。
一方、選択した左子ノード或いは右子ノードが葉ノード42でない場合(S604、No)は、グループ鍵管理サーバ10、より詳しくは鍵管理部13は、S602又はS603で選択した左子ノード或いは右子ノードを次の判定対象とする(S606)。
グループ鍵管理サーバ10、より詳しくは鍵管理部13は、次の判定対象としたそれらの子ノードの使用不可鍵数を比較し(S601)、以下選択した左子ノード或いは右子ノードが葉ノード42となるまで同様の処理(S602〜605)を繰り返す。
すなわち、上記のメンバ追加位置決定処理によって、メンバ追加位置は使用不可鍵数の多いノードになる。このようにすることで、メンバ追加時には使用不可の鍵を更新するため、使用不可鍵の再利用効率を高めることができる。また、図6のアルゴリズムは根ノード41から葉ノード42へと実行されるためメンバ数をNとしたとき、O(logN)の計算量でメンバ追加位置を求めることができる。
葉ノード42にメンバを追加する際、その追加位置の葉ノード42のメンバと新しいメンバの2つを葉とする部分木を追加位置に挿入する。例えば、図4の例で新たなノード[16]を追加する場合、ノード[9]をメンバ追加位置と決定した場合は、ノード[9]とノード[16]の共通の親のノード[17]を生成し、ノード[17]をノード[9]の位置に挿入することにより追加が行われる。図7に、図4の木構造40に、ノード[9]をメンバ追加位置と決定してノード[16]を追加した新たな木構造40’の例を示す。
次に、グループ鍵管理サーバ10は、追加メンバに相当する端末装置30との間で、新しいメッセージ鍵の確立を行う(S102)。グループ鍵管理サーバ10が追加メンバである端末装置との間で、公開鍵確立手法(DH)などの手段を用いて、共有鍵を確立する。また、追加位置の葉ノードに対応するメンバとの間にも同様に共通鍵を確立する(図略)。例えば、図4の例でノード[9]を追加位置とした場合にノード[16]を追加する場合はノード[9]とノード[16]に新しいメッセージ鍵を確立する。
次に、グループ鍵管理サーバ10は、追加メンバと追加位置の葉ノード42に相当するメンバから根ノード41に向かう経路上ノードそれぞれのメッセージ鍵、親鍵種を鍵管理部13で逐次的に計算する処理である追加メンバの親ノードのメッセージ鍵、親鍵種を再計算を行う(S103)。例えば、図4のノード[9]にノード[16]を追加する例では、グループ鍵管理サーバ10は、ノード[17]のメッセージ鍵、親鍵種を計算し、ノード[4]のメッセージ鍵、親鍵種、及びノード[2]のメッセージ鍵、親鍵種、ノード[1]のメッセージ鍵と逐次的に計算し、計算したこれらメッセージ鍵、親鍵種を鍵情報記憶部15に記憶させる。
なお、逐次的に計算していく際に、計算で求めた新たな鍵は鍵情報記憶部15の使用不可鍵リストから取り除き、また、そのノードについての使用不可鍵数から1引く。これにより、使用不可鍵の再利用ができるようになる。
次に、グループ鍵管理サーバ10は、すべてのメンバが共通のグループ鍵を再計算できるようにするために、先のステップS103で更新した論理的ノードの親種鍵を、その親鍵種を必要とするメンバに知らせるように親鍵種を暗号化(S104)する。この暗号化に使用するメッセージ鍵は、その親鍵種が付与される論理的ノードの兄弟ノード以下の論理的ノードのメッセージ鍵であって、使用不可鍵リストに登録されていないものを用いて行う。この場合に使用されるメッセージ鍵は必ずしもひとつではない。その親鍵種を必要とするメンバすべてに親鍵種が送信できるという条件を満たしつつ、使用するメッセージ鍵の数が最小となるように、親鍵種を暗号化するメッセージ鍵が選択される。
次に、グループ鍵管理サーバ10は、暗号化された親鍵種を各端末装置30にマルチキャスト送信する(S105)。
その際に、親鍵種の暗号化は暗号処理部14で行われ、通信を暗号化するメッセージ鍵は鍵情報記憶部15に記憶された使用不可鍵リストに登録されていないもので暗号化する。 図7の例では、ノード[2]の親鍵種は、葉ノード[12][13][14][15]に送信される。この場合、ノード[3]のメッセージ鍵が使用不可鍵リストに登録されているので、グループ鍵管理サーバ10は、葉ノード[12][13]のためにノード[6]のメッセージ鍵によりノード[2]の親鍵種を暗号化してこれをマルチキャスト送信し、且つ葉ノード[14][15]のためにノード[7]のメッセージ鍵によりノード[2]の親鍵種を暗号化してこれをマルチキャスト送信する。
暗号化された親鍵種を受信した各端末装置30(追加メンバに相当する端末装置30を除く)は、暗号化された親鍵種を端末側暗号処理部34で復号する(S106)。その際に、端末側暗号処理部34は、端末側鍵情報記憶部35内の使用不可鍵リストの中にないメッセージ鍵を用いて復号を行う。このメッセージ鍵は保持している親鍵種、兄弟ノードの親鍵種から計算によって求めることができる。端末装置30は、受信した親鍵種をこのメッセージ鍵により復号して端末側鍵情報記憶部35内の兄弟ノードの親鍵種として保存する。
次に、各端末装置30(追加メンバに相当する端末装置30を除く)は、復号して得た新たな親鍵種、及びすでに記憶している親鍵種から、その端末装置30に対応する葉ノード42から根ノード41に向かう経路ノードの親鍵種、メッセージ鍵を端末側鍵管理部33で逐次的に計算する(S107)。計算手法はグループ鍵管理サーバ10と同じであるが、送信された親鍵種に対応した鍵のみ更新を行う。つまり、端末装置30は端末側鍵情報記憶部35に保存されているノードの親鍵種と、兄弟ノードの親鍵種として保存されている送信された親鍵種から、親ノードの新しいメッセージ鍵を求める。
次に、グループ鍵管理サーバ10は、追加メンバがグループ鍵を求めることができるようにするため、木構造40において追加メンバに相当する葉ノード42から根ノード41に向かう経路上ノードの兄弟ノードそれぞれの親鍵種を、追加メンバに相当する端末装置30のメッセージ鍵(S102)にて暗号化する(S108)。
グループ鍵管理サーバ10は、ステップS108にて暗号化した親鍵種を、追加メンバに相当する端末装置30にユニキャストにより送信する(S109)。
追加メンバに相当する端末装置30は、グループ鍵管理サーバ10から送信された親鍵種を自身のメッセージ鍵を用いて復号する(S110)。そして、復号した親鍵種を端末側鍵情報記憶部35に保存する。
追加メンバに相当する端末装置30は、端末側鍵情報記憶部35に格納されている、その端末装置30に相当する葉ノード42の経路上ノードの兄弟ノードの親鍵種とメッセージ鍵とから、経路上ノードのメッセージ鍵及び親鍵種を逐次的に計算し、最終的に根ノードのメッセージ鍵に相当するグループ鍵を計算により生成する(S111)。逐次的に計算して得られた、グループ鍵、メッセージ鍵及び親鍵種は端末側鍵情報記憶部35に保存される。
上記手順により、追加メンバに相当する端末装置30を含めたすべてのメンバに相当する端末装置30が共通のグループ鍵を得ることができる。
[2.3.メンバ削除]
グループからメンバが削除される場合、マルチキャスト通信システム1は、グループから削除されるメンバが、グループ内で送信される情報を復元して閲覧することを防ぐため、メンバ削除時にグループ鍵を更新する、すなわち従来のグループ鍵を新たなグループ鍵に置き換える。このグループ鍵更新の処理の一例を図8に示す。図8は、マルチキャスト通信システム1におけるグループ鍵更新の処理例を示すシーケンス図である。
あるメンバを削除する旨の入力がグループ鍵管理サーバ10になされると、グループ鍵管理サーバ10の鍵管理部13は、木構造情報40の更新を行う(S201)。すなわち、鍵管理部13は、削除するメンバに相当する葉ノード42及びその親ノードである中間ノード43を木構造から削除するとともに、削除するメンバに相当する葉ノード42の兄弟ノードである別の葉ノード42を、削除した中間ノード43に代えて親ノードに昇格させる。
図4に示した木構造の状態においてノード[9]に相当するメンバを削除する場合の、木構造の例を図9に示す。図9(a)は、ノード[9]に相当するメンバを削除する前の状態を示し、図9(b)は、ノード[9]に相当するメンバを削除した後の状態を示している。なお、図9(a)(b)ともに木構造の左半分のみを示し、変更のない右半分は図示を省略している。
ノード[9]が削除される場合には、その親ノードであるノード[4]も削除され、削除されたノード[4]の位置に、ノード[9]の兄弟ノードであるノード[8]が昇格して従前のノード[4]の位置に移動することにより図9(b)の状態となる。これにより、木構造に含まれるすべてのノードが2つの子ノードを持つことになる(葉ノード42は除く)。
ノード[9]の削除によって木構造中の位置が変更された兄弟ノード[8]について、そのメッセージ鍵、親鍵種は以下のように扱われる。すなわち、ノード[8]のメッセージ鍵は、従前のメッセージ鍵のままとし、一方、ノード[8]は、元の親ノードであるノード[4]の親鍵種をノード[8]の新たな親鍵種とする。これは、ノード[4]の親鍵種を変更すると、ノード[4]の親鍵種を記憶している他のノード、すなわちノード[4]の兄弟ノードであるノード[5]およびその子ノードであるノード[10]とノード[11]に新たな親鍵種を送信する必要が生ずるからである。よって、この段階では、ノード[8]ではメッセージ鍵に一方向関数を使ったものが親鍵種という原則は成り立たなくなり、親鍵種を別途保持する必要がある。この保持した親鍵種はメンバ追加の際に親ノードのメッセージ鍵を求める鍵として利用される。
また、グループ鍵管理サーバ10の鍵管理部13は、メンバ削除の際に、削除されるメンバが保持していたメッセージ鍵を使用不可鍵リストに登録する(S201)。使用不可鍵リストは、メンバ追加/削除の際の鍵情報の送受信に利用する。また、木構造の各ノードの使用不可鍵数に1加えることで、メンバ追加の際に、鍵の再利用効率を高めることができる。
次に、グループ鍵管理サーバ10の鍵管理部13は、グループ鍵を更新するため、乱数生成などにより新たなグループ鍵を生成する(S202)。鍵情報記憶部15に記憶されている従前のグループ鍵は、新たなグループ鍵に置換される。
グループ鍵管理サーバ10の暗号処理部14は、新たなグループ鍵を鍵情報記憶部15内の、使用不可鍵リストに登録されていないメッセージ鍵で暗号化する(S203)。
図10は、図9(b)の場合のメッセージ鍵を暗号化する場合の例を示す図である。
図9(b)の場合は、使用不可鍵リストには、削除されるノード[9]が有していたメッセージ鍵であるノード[4]、ノード[2]のメッセージ鍵が登録されるが、ノード[4]が木構造から削除されるためノード[4]のメッセージ鍵も使用不可鍵リストから削除される。結局、使用不可鍵リストには、ノード[2]のメッセージ鍵のみが登録されることとなる。
さて、グループ鍵管理サーバ10の暗号処理部14は、使用不可鍵リストに登録されていないメッセージ鍵を用いつつ、最も少ないメッセージ鍵数で全端末装置30に新しいグループ鍵の送信ができるように、新しいグループ鍵を暗号化するメッセージ鍵を選択する。
前記新たなグループ鍵の暗号化を行う。
図10に示す例では、グループ鍵管理サーバ10の暗号処理部14は、葉ノード[8]のために、ノード[8]のメッセージ鍵MK8を用いた新たなグループ鍵の暗号化を行い、葉ノード[10]及び葉ノード[11]のために、ノード[5]のメッセージ鍵MK5を用いた新たなグループ鍵の暗号化を行い、ノード[12]からノード[15]のために、ノード[3]のメッセージ鍵MK3を用いた新たなグループ鍵の暗号化を行う。すなわち、グループ鍵管理サーバ10の暗号処理部14は、新たなグループ鍵をメッセージ鍵MK8、メッセージ鍵MK5、メッセージ鍵MK3のそれぞれで暗号化した、三種類の暗号化された新たなグループ鍵を生成する。
次に、グループ鍵管理サーバ10の管理部12及び通信制御部11は、暗号化したグループ鍵をマルチキャストにより全端末装置30に送信する(S204)。例えば、図10に示した例では、三種類の暗号化された新たなグループ鍵をそれぞれマルチキャストにより全端末装置30に送信する。使用不可鍵リストが多ければ多いほど、暗号化に用いるメッセージ鍵の数が増えるため、より多くの暗号化の処理が必要になり通信量、計算量が大きくなる。
暗号化された新たなグループ鍵を受信した各端末装置30は、端末側暗号処理部34により暗号化された新たなグループ鍵を復号し、記憶する(S205)。
その際に、端末側暗号処理部34は端末側鍵情報記憶部35に記憶されている使用不可鍵リストに登録されていないメッセージ鍵で復号し、復号に成功したものを新たなグループ鍵として端末側鍵情報記憶部35に記憶させる。例えば、図10に示した例では、ノード[8]に対応する端末装置30は、メッセージ鍵MK8により暗号化されたグループ鍵の復号に成功し、これを新たなグループ鍵として端末側鍵情報記憶部35に記憶させる。また、ノード[10]、ノード[11]に対応する各端末装置30は、メッセージ鍵MK5により暗号化されたグループ鍵の復号に成功し、これを新たなグループ鍵として端末側鍵情報記憶部35に記憶させる。また、ノード[12]からノード[15]に対応する各端末装置30は、メッセージ鍵MK3により暗号化されたグループ鍵の復号に成功し、これを新たなグループ鍵として端末側鍵情報記憶部35に記憶させる。
上記手順により、本マルチキャスト通信システム1は、メンバ削除時に新しいグループ鍵を生成し、配布することができる。
[3.従来技術との比較]
本発明により、メンバ削除時には、新たなグループ鍵をグループ鍵管理サーバ10で生成し、この新たなグループ鍵を暗号化して各メンバに送信し、メンバはそれを復号するのみであるため、計算量を小さくすることができる。また、メンバ追加時には、葉ノード41から根ノード43まで向かう経路上ノードのメッセージ鍵を更新するため、従来技術のCS法で見られたメンバ削除による木構造の断片化を防ぐことができる。
図11及び図12に、本発明で要する計算量と、従来技術で要する計算量のシミュレーションを行った結果を示している。図11はシミュレーションの対象となるグループの木構造を示す図であり、図12は、従来技術のCS法及びOFTと本発明による方式のシミュレーション結果を示す一覧表である。
このシミュレーションでは、従来技術のCS法及びOFTと本発明による方式について、図11に示したグループにおいてメンバA削除、メンバC削除、メンバJ追加、メンバE削除、メンバI追加、メンバK追加、メンバH削除、メンバL追加がそれぞれ行われた場合の暗号化/復号に要する計算量、鍵計算に要する計算量、及びその鍵送信に要する通信量を算出した。ただし、CS法ではメンバ追加は定義されていないので、メンバ削除のみによって両者を比較する。
このシミュレーション結果によれば、本発明ではCS法に比べ、通信量が少ないことがわかる。これは、本発明は木構造の使用不可鍵を再利用することで、通信効率が高まったためである。また、OFTと比べると、通信量という観点では本発明が増えてしまっているものの、計算量の観点ではOFTに比べ優れていることがわかる。これは、OFTではメンバ削除時に葉ノード42から根ノード41までの各ノードの鍵を再計算する必要があるためである。
[4.本発明の利点]
本発明は、以下の利点を有する。
1.グループからメンバを削除する際に、メンバの親ノードの鍵を更新せずにグループ鍵のみを更新することにより、鍵の計算量を削減し、メンバを追加する際にメンバの削除時に更新しなかった親ノードの鍵を更新することによりマルチキャスト通信の通信量を削減することができる。本発明により、メンバ削除時には計算量のリソースが少なく、メンバ追加時に計算量のリソースが多いときに効率的なグループ鍵管理を行うことができる。
2.木構造の各ノードに使用不可鍵数を登録しておくことにより、メンバ追加位置を木構造の根ノードから逐次的に求めることができる。また、グループ鍵管理サーバは、使用不可鍵リストを保持することにより、グループ鍵送信のための暗号化するためのメッセージ鍵を見つけることができる。
3.各ノードの使用不可鍵数を根ノードから葉ノードに向かって逐次的に計算し、記憶させておくことにより、メンバ数をNとした完全二分木の場合の計算量O(logN)で、メンバの追加位置を求めることができ、メンバ数が増えても小さい計算量で追加位置を求めることができる。
本実施の形態にかかるマルチキャスト通信システムの構成例を示すブロック図 グループ鍵管理サーバの構成例を示す機能ブロック図 端末装置の構成例を示す機能ブロック図 グループ鍵管理サーバの鍵情報記憶部、及び各端末装置の端末側鍵情報記憶部において保持される二分木による木構造の例を示す図 メンバ追加時にグループ鍵を更新する場合の動作例を示すシーケンス図 メンバ追加位置決定処理の例を示すフローチャート 図4の木構造に、ノード[9]をメンバ追加位置と決定してノード[16]を追加した新たな木構造4の例を示す図 マルチキャスト通信システムにおけるグループ鍵更新の処理例を示すシーケンス図 (a)はノード[9]に相当するメンバを削除する前の木構造を示す図、(b)はノード[9]に相当するメンバを削除した後の木構造を示す図 図9(b)の場合のメッセージ鍵を暗号化する場合の例を示す図 シミュレーションの対象となるグループの木構造を示す図 従来技術のCS法及びOFTと本発明による方式のシミュレーション結果を示す一覧表
符号の説明
1 … マルチキャスト通信システム
10 … グループ鍵管理サーバ
13 … 鍵管理部
15 … 鍵情報記憶部
20 … ネットワーク
30 … 端末装置
33 … 端末側鍵管理部
35 … 端末側鍵情報記憶部

Claims (3)

  1. ネットワークに接続され、二分木構造の根ノードに相当するグループ鍵管理サーバと、前記ネットワークに接続され、前記二分木構造の葉ノードに相当する複数の端末装置とを有するマルチキャスト通信システムであって、
    前記グループ鍵管理サーバは、前記二分木構造の各ノードについて、メッセージ鍵と親鍵種とを記憶する鍵情報記憶部と、メンバ追加時に、前記二分木構造の根ノードのメッセージ鍵であるグループ鍵を生成する鍵管理部とを有し、
    前記端末装置のそれぞれは、自己のメッセージ鍵と、自己の兄弟ノードの親鍵種と、前記二分木構造の経路上ノードのメッセージ鍵と親鍵種と、前記経路上ノードの兄弟ノードの親鍵種とを記憶する端末側鍵情報記憶部と、前記端末側鍵情報記憶部に記憶された親鍵種から、前記二分木構造の根ノードのメッセージ鍵であるグループ鍵を生成する端末側鍵管理部とを有する
    ことを特徴とするマルチキャスト通信システム。
  2. 二分木構造の葉ノードに相当する複数の端末装置が接続されたネットワークに接続され、二分木構造の根ノードに相当するグループ鍵管理サーバであって、
    前記根ノードと前記葉ノードを有する二分木構造を示す木構造情報と、前記木構造に含まれる各ノードについて、暗号化に使用できないメッセージ鍵である使用不可鍵の数を示す使用不可鍵数とを記憶する鍵情報記憶部と
    メンバ追加時には、前記鍵情報記憶部に記憶された使用不可鍵数を用いて、前記二分木構造におけるメンバの追加位置を決定する鍵管理部と
    を有することを特徴とするグループ鍵管理サーバ。
  3. 前記鍵情報記憶部は、暗号化に使用できないメッセージ鍵のリストである使用不可鍵リストをさらに記憶し、
    メンバ削除時に、前記使用不可鍵リストに含まれないメッセージ鍵を用いて新たなグループ鍵を暗号化する暗号処理部と、
    前記暗号化処理部によって暗号化されたグループ鍵を各端末装置にマルチキャストにより送信する通信制御部と
    をさらに有することを特徴とする請求項2に記載のグループ鍵管理サーバ。
JP2007198306A 2007-07-31 2007-07-31 マルチキャスト通信システム、並びにグループ鍵管理サーバ Withdrawn JP2009038416A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007198306A JP2009038416A (ja) 2007-07-31 2007-07-31 マルチキャスト通信システム、並びにグループ鍵管理サーバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007198306A JP2009038416A (ja) 2007-07-31 2007-07-31 マルチキャスト通信システム、並びにグループ鍵管理サーバ

Publications (1)

Publication Number Publication Date
JP2009038416A true JP2009038416A (ja) 2009-02-19

Family

ID=40439993

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007198306A Withdrawn JP2009038416A (ja) 2007-07-31 2007-07-31 マルチキャスト通信システム、並びにグループ鍵管理サーバ

Country Status (1)

Country Link
JP (1) JP2009038416A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011159715A2 (en) * 2010-06-14 2011-12-22 Engels Daniel W Key management systems and methods for shared secret ciphers
JP2012195774A (ja) * 2011-03-16 2012-10-11 Toshiba Corp ノード及びプログラム
JP2022500884A (ja) * 2018-07-12 2022-01-04 セクラス ゲー・エム・ベー・ハーSECLOUS GmbH セキュアな階層型参照システムを構築する方法
JP7068454B2 (ja) 2017-12-28 2022-05-16 ドロップボックス, インコーポレイテッド diff値の効率的な伝播

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011159715A2 (en) * 2010-06-14 2011-12-22 Engels Daniel W Key management systems and methods for shared secret ciphers
WO2011159715A3 (en) * 2010-06-14 2014-04-03 Engels Daniel W Key management systems and methods for shared secret ciphers
JP2012195774A (ja) * 2011-03-16 2012-10-11 Toshiba Corp ノード及びプログラム
JP7068454B2 (ja) 2017-12-28 2022-05-16 ドロップボックス, インコーポレイテッド diff値の効率的な伝播
JP2022500884A (ja) * 2018-07-12 2022-01-04 セクラス ゲー・エム・ベー・ハーSECLOUS GmbH セキュアな階層型参照システムを構築する方法

Similar Documents

Publication Publication Date Title
US10567168B2 (en) Blockchain transaction privacy enhancement through broadcast encryption
US10581599B2 (en) Cloud storage method and system
US10601585B1 (en) Methods and apparatus for blockchain encryption
US11082482B2 (en) Block chain encoding with fair delay for distributed network devices
EP3242437B1 (en) Light-weight key update mechanism with blacklisting based on secret sharing algorithm in wireless sensor networks
US8256010B2 (en) Providing access to a data item using access graphs
CN109522330A (zh) 基于区块链的云平台数据处理方法、装置、设备及介质
CN104917787B (zh) 基于群组密钥的文件安全共享方法和系统
JP2009010470A (ja) 端末装置、グループ管理サーバ、ネットワーク通信システム、並びに暗号化鍵生成方法
JP6326173B1 (ja) データ送受信システム及びデータ送受信方法
CN107211049A (zh) 无线接入点上的预缓存
CN106664308B (zh) 注册之前的设备验证
EP3479540A1 (en) Multi-hop secure content routing based on cryptographic partial blind signatures and embedded terms
JP2016158189A (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
WO2018047698A1 (ja) 暗号化メッセージ検索方法、メッセージ送受信システム、サーバ、端末、プログラム
CN109521956A (zh) 一种基于区块链的云存储方法、装置、设备及存储介质
US10440523B2 (en) Communication control device, communication device, and computer program product for managing a group of devices
Parthasarathi et al. Weighted ternary tree approach for secure group communication among mobile applications
US10673713B2 (en) Communication control device, communication device, and computer program product for dynamic group management
WO2018043573A1 (ja) 鍵交換方法、鍵交換システム
JP2009038416A (ja) マルチキャスト通信システム、並びにグループ鍵管理サーバ
US20170324716A1 (en) Autonomous Key Update Mechanism with Blacklisting of Compromised Nodes for Mesh Networks
US20230336355A1 (en) Data protection on distributed data storage (dds) protection networks
JP5150175B2 (ja) Sd法におけるクライアント端末被覆方法およびプログラム
Wang et al. An efficient KP-ABE scheme for content protection in information-centric networking

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20101005