JP5052207B2 - 不正者追跡可能な放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体 - Google Patents

不正者追跡可能な放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体 Download PDF

Info

Publication number
JP5052207B2
JP5052207B2 JP2007137781A JP2007137781A JP5052207B2 JP 5052207 B2 JP5052207 B2 JP 5052207B2 JP 2007137781 A JP2007137781 A JP 2007137781A JP 2007137781 A JP2007137781 A JP 2007137781A JP 5052207 B2 JP5052207 B2 JP 5052207B2
Authority
JP
Japan
Prior art keywords
short
term key
term
user device
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.)
Expired - Fee Related
Application number
JP2007137781A
Other languages
English (en)
Other versions
JP2008294720A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2007137781A priority Critical patent/JP5052207B2/ja
Publication of JP2008294720A publication Critical patent/JP2008294720A/ja
Application granted granted Critical
Publication of JP5052207B2 publication Critical patent/JP5052207B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報セキュリティ技術の応用分野に関するものであり、例えばデジタル放送や有線放送において、視聴権を有する利用者装置にのみ視聴可能にする放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体に関する。
従来、複数の短期鍵を有するセンタ装置と、それら複数の短期鍵の一部をそれぞれ有する複数の利用者装置から構成され、センタ装置は視聴権を有する利用者装置のみが有する短期鍵を用いてコンテンツを暗号化して利用者装置に向けて放送し、視聴権を有する利用者装置は自身が有する短期鍵の何れかを用いて暗号化されたコンテンツを復号化する放送型暗号システムがあった(例えば、非特許文献1参照)。
Dalit Naor, Moni Naor, Jeffery Lotspiech, "Revocation and Tracing Schemes for Stateless Receivers", CRYPTO, 2001, p.41-62
しかし、背景技術における放送型暗号システムにおいては、各短期鍵が複数の利用者装置に共有されている場合があり、この場合には、海賊版利用者装置にある短期鍵が含まれていても、その短期鍵の漏洩元である利用者装置、すなわち不正者である利用者装置を追跡できないという問題があった。
本発明は、斯かる実情に鑑み、不正者である利用者装置を追跡可能な放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体を提供しようとするものである。
本発明の一態様のよる放送型暗号システムによれば、複数の短期鍵を有するセンタ装置と、それら複数の短期鍵の一部をそれぞれ有する複数の利用者装置から構成され、センタ装置は視聴権を有する利用者装置のみが有する短期鍵を用いてコンテンツを暗号化して利用者装置に向けて放送し、視聴権を有する利用者装置は自身が有する短期鍵の何れかを用いて暗号化されたコンテンツを復号化する放送型暗号システムにおいて、センタ装置は、複数の短期鍵と、利用者装置ごとの長期鍵のすべてと記憶する第一記憶手段と、生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を用いて、第一記憶手段に記憶された短期鍵を更新する短期鍵更新手段と、第一記憶手段から読み込んだ、新しい短期鍵を有するべき利用者装置の中の少なくとも1つの利用者装置の長期鍵でそれぞれ、生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を暗号化して、第一の暗号情報を生成する第一暗号化手段と、第一記憶手段から読み込んだ、少なくとも1つの利用者装置以外の新しい短期鍵を有するべき利用者装置のみが有する短期鍵を用いて、生成された新しい短期鍵又生成された新しい短期鍵に関する情報を暗号化して、第二の暗号情報を生成する第二暗号化手段と、を含む短期鍵暗号化手段と、第一の暗号情報と第二の暗号情報を利用者装置に向けて放送する放送手段と、を備え、利用者装置は、複数の短期鍵の一部と、その利用者装置の長期鍵を記憶する第二記憶手段と、第一の暗号情報と第二の暗号情報を受信する受信手段と、その利用者装置が少なくとも1つの利用者装置である場合には、第二記憶手段から読み出した長期鍵を用いて、第一の暗号情報を復号化して、生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を生成する第一復号化手段と、その利用者装置が少なくとも1つの利用者装置以外の新しい短期鍵を有するべき利用者装置である場合には、第二記憶手段から読み出した何れかの短期鍵を用いて、第二の暗号情報を復号化して、生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を生成する第二復号化手段と、を含む短期鍵復号化手段と、復号化して生成された新しい短期鍵又は新しい短期鍵に関する情報を用いて、第二記憶手段に記憶された短期鍵を更新する短期鍵更新手段と、を備える。
本発明の不正者可能な放送型暗号システム、そのセンタ装置及び利用者装置によれば、自身が有するべきすべての短期鍵を更新することができる海賊版利用者装置が現れた場合、その装置中に含まれる長期鍵を調べることにより、不正者である利用者装置を追跡し得る。
以下、本発明の実施形態を添付図面を参照して説明する。
図1に示すように、本発明による不正者追跡可能な放送型暗号システムは、コンテンツを暗号化してブロードキャスト(放送)するセンタ装置1と、通信網4を介して暗号化されたコンテンツを復号化する利用者装置2〜2から構成される。
[第1実施形態]
放送型暗号方式の一種であるSubset Cover法を基礎とした本発明による第1実施形態による不正者追跡可能な放送型暗号システム1000について説明をする。
〔理論〕
まず、第1実施形態による不正者追跡可能な放送型暗号システムの理論的背景について説明をする。
N={0,1,…,n−1}を利用者装置の集合とする。Nの部分集合Sは、[φ,(0),(1),…,(0,1,…,n−1)]のように、2個存在する。それらのNの部分集合Sの集合をΣとする。Subset Cover法は、Nの部分集合の集合Σ、鍵生成アルゴリズムGen、暗号化アルゴリズムEnc、復号化アルゴリズムDecから構成される。
例えば、N={0,1,2}である場合、Nの部分集合Sは、[φ,(0),(1),(2),(01),(12),(21),(123)]の8(=2個)ある。ここで、φは空集合である。Nの部分集合Sの任意の集合Σを、例えば、Σ=[(0),(2),(01),(012)]とする。
短期鍵生成
センタ装置は、鍵長l(lは任意の自然数)から鍵生成アルゴリズムGenを用いて、集合Σに含まれるNの部分集合Sごとに、短期鍵kを生成する。{k:S∈Σ}←Gen(l)。そして、集合Σに含まれるNの部分集合Sのうち、利用者装置iを含むすべての部分集合Sの短期鍵{k:i∈S∈Σ}を、その利用者装置iに安全な通信路を経由して配布する。
上記のN={0,1,2}の場合には、集合Σに含まれる4つの、Nの部分集合[(0),(2),(01),(012)]ごとに、短期鍵k(0),k(2),k(01),k(012)がそれぞれ生成される。この場合、利用者装置0には、その利用者装置0を含む部分集合の短期鍵であるk(0),k(01),k(012)が送られる。利用者装置1には、その利用者装置1を含む部分集合の短期鍵であるk(01),k(012)が送られる。利用者装置2には、その利用者装置2を含む部分集合の短期鍵であるk(2),k(012)が送られる。
長期鍵生成
センタ装置は、利用者装置i(i=0,…,n)ごとに、例えば、長期鍵K∈{0,1}を生成する。そして、安全な通信路を経由して、各利用者装置iに対応する長期鍵Kを配布する。
暗号化
ここで、視聴権を有する利用者装置の集合をAとする。センタ装置は、集合Σに含まれる、Nの部分集合Sのうち、集合Aのみを覆う部分集合Sの組を選択する。このような集合Aのみを覆う部分集合Sの組は複数存在する。センタ装置は、複数存在する組の中から1つの組Ωを選択する。例えば、複数存在する組のうち、その組に含まれる、Nの部分集合Sの数が最小であるもの選択することにより、組Ωを選択する。そして、その組Ωに含まれる、Nの部分集合S∈Σごとに、その短期鍵kを用いて、コンテンツmを暗号化して暗号文cを生成する。c←Enc({k:S∈Σ},A,m)。生成した暗号文cは、各利用者装置にブロードキャスト(放送)される。
上記のN={0,1,2}のときであり、集合A={0,1,2}の場合を考える。この場合、集合Aのみを覆う部分集合の組はそれぞれ[(2),(01)]と、[(012)]である。[(2),(01)]は、Nの部分集合Sの数が2であるのに対して、[(012)]は、Nの部分集合Sの数が1である。このため、例えば、[(012)]を組Ωとすることができる。この場合、コンテンツmは、k(012)を用いて暗号化される。
復号化
利用者装置i(i=1,…,n−1)は、自身が有する短期鍵の何れかを用いて、暗号文cを復号化する。m←Dec({k:i∈S∈Σ},i,c)。利用者装置i∈Aの場合、すなわち、利用者装置iが視聴権を有する場合には、暗号文cの少なくとも1つは、利用者装置iを含む部分集合Sの短期鍵kで暗号化されている。このため、利用者装置i∈Aは、暗号文cを復号化して、コンテンツmを視聴することができる。すなわち、Dec({k:i∈S∈Σ},i,Enc({k:S∈Σ},A,m))=mが成立する。
一方、利用者装置i∈Aでない場合、すなわち、利用者装置iが視聴権を有しない場合には、すべての暗号文は、その利用者装置iが有する短期鍵kでは暗号化されていない。このため、視聴権を有しない利用者装置は、暗号文cを復号することはできず、コンテンツmを視聴することができない。
短期鍵更新
センタ装置は、鍵生成アルゴリズムGenを用いて、利用者装置iが有するべき新しい短期鍵k’を生成して、短期鍵kを更新する。
センタ装置は、利用者装置iの長期鍵Kを用いて、その新たな短期鍵k’を暗号化してEKi({k’:i∈S∈Σ})、それを第一の暗号情報として各利用者装置にブロードキャストする。
また、センタ装置は、その短期鍵k’を有するべき他の利用者装置S−{i}に対して、その短期鍵k’を暗号化してc←Enc({k:S∈Σ},S−{i},k’)、その暗号文cを各利用者装置にブロードキャストする。換言すると、上記したコンテンツmの暗号化と同様の方法を用いて、利用者装置S−{i}のみに復号化が可能なように短期鍵k’を各利用者装置にブロードキャストする。すなわち、センタ装置は、利用者装置S−{i}を覆う、集合Σに含まれる、Nの部分集合Sのある組Ωに属する部分集合の短期鍵kを用いて、新たな短期鍵k’を暗号化して、第二の暗号情報としてブロードキャストする。
利用者装置iは、上記暗号化された新たな短期鍵k’、すなわちEKi({k’:i∈S∈Σ})を、自身の長期鍵Kを用いて復号化して、新たな短期鍵k’を得る。
利用者装置i以外の利用者装置S−{i}は、上記暗号文cを、自身が有する短期鍵kを用いて復号化して、新たな短期鍵k’を得る。
不正者追跡
ある利用者装置iを元にして海賊版利用者装置i$が生成されたとする。
自身が有するべき短期鍵を常に更新することができ、永続的に視聴可能である悪質な海賊版利用者装置i$には、元になった利用者装置iの長期鍵Kが必ず含まれている。利用者装置iの長期鍵Kを有しない海賊版利用者装置i$は、少なくとも、第一暗号情報を復号することができないため、常には短期鍵を更新することはできないためである。また、長期鍵Kと利用者装置iは、一対一の関係を有する。
このため、自身が有するべき短期鍵を常に更新することができ、永続的に視聴可能である悪質な海賊版利用者装置i$が現れた場合、その中に含まれる長期鍵Kを調べれば、不正者である利用者装置i、換言すると、鍵の漏洩元となった利用者装置iを突き止めることができる。
長期鍵更新
利用者装置iが不正者であることが判明した場合には、センタ装置は、利用者装置iの長期鍵Kの代わりに、新しい長期鍵K*を生成して、新しい利用者装置i*に渡す。そしてその後、センタ装置は、長期鍵Kではなく、新しい長期鍵K*を用いて、短期鍵を更新する。これにより、長期鍵Kを有する不正者である利用者装置i及びこの利用者装置iから派生した海賊版利用者装置は、短期鍵を更新することができなくなり、視聴不可能となる。
〔機能構成〕
図2に、センタ装置1’の機能構成を例示する。センタ装置1’は、図1に示したセンタ装置1と同じである。また、図3に、利用者装置2の機能構成を例示する。利用者装置2は、図1に示した利用者装置2〜2と同じである。
センタ装置1
この例では、センタ装置1’(図2)は、短期鍵生成部10、記憶部11(特許請求の範囲における第一記憶手段に想到。)、コンテンツ暗号化部12、放送部13、短期鍵更新情報生成部14、短期鍵更新部15、短期鍵暗号化部16、長期鍵生成部17、長期鍵更新部18を備える。図示していないが、記憶部11は、センタ装置1’の各部とデータの読み書きが可能なように接続されている。
長期鍵生成部17は、利用者装置ごとに長期鍵Kを生成する。生成された長期鍵Kは、短期鍵暗号化部16に送られるとともに、記憶部28に格納される。また、安全な通路を経由して、利用者装置2’の記憶部23に格納される。
短期鍵生成部10は、鍵生成アルゴリズムGenを用いて、集合Σに含まれるNの部分集合Sごとに短期鍵kを生成する。生成された短期鍵kは、記憶部11に格納されるとともに、コンテンツ暗号化部12に送られる。短期鍵生成部10内の短期鍵情報生成部101が、短期鍵kの情報rを生成して、任意のハッシュ関数Hを用いて、H(r)により短期鍵kを生成してもよい。
コンテンツ暗号化部12は、所定の暗号化アルゴリズムEncを用いて、予め記憶部11に格納されたコンテンツmを読み込み、そのコンテンツmを短期鍵kごとに暗号化し、暗号文cを生成して、放送部13に送る。例えば、コンテンツmを予め記憶部11に格納されたセッション鍵skを用いて暗号化する。そして、セッション鍵skを短期鍵kごとに暗号化する。この場合、暗号文cは、セッション鍵skにより暗号化されたコンテンツmと、短期鍵kごとに暗号化されたセッション鍵skである。
放送部13は、コンテンツ暗号化部12が生成したコンテンツ暗号情報cをブロードキャストする。すなわち、各利用者装置に放送する。また、後述するように、放送部13は、短期鍵暗号化部16の第一暗号化部161と第二暗号化部162がそれぞれ生成した第一の暗号情報、第二の暗号情報等も併せて利用者装置に放送する。
短期鍵更新情報生成部14は、鍵生成アルゴリズムGenを用いて、集合Σに含まれるNの部分集合Sごとに新しい短期鍵k’を生成する。新しい短期鍵k’は、短期鍵更新部15に送られるとともに、短期鍵暗号化部16に送られる。例えば、短期鍵更新情報生成部14の短期鍵情報生成部141が、新しい短期鍵k’に関する情報rを生成する。短期鍵更新情報生成部14は、その情報rを用いて例えば任意のハッシュ関数Hを用いて、k’=H(r)により新しい短期鍵k’を生成する。
短期鍵暗号化部16の第一暗号化部161は、例えば、短期鍵k’を有するべき利用者装置の中の1つの利用者装置iの長期鍵Kを用いて、その短期鍵k’を暗号化し、第一の暗号情報を生成して、放送部13に送る。
短期鍵暗号化部16の第二暗号化部162は、例えば、上記利用者装置の中の1つの利用者装置i以外の利用者装置S−{i}のみが有する短期鍵を用いて、その短期鍵k’を暗号化し、第二の暗号情報を生成して、放送部13に送る。
なお、短期鍵k’を有するべき利用者装置の中の少なくとも1つの利用者装置iの長期鍵Kを用いて、その長期鍵Kごとにその短期鍵k’を暗号化してもよい。これにより、長期鍵Kを有しているか否かを問うことができる利用者装置の数、すなわち、その利用者装置が海賊版利用者装置であるか否かを問うことにより無効化することができる利用者装置の数を増やすことができる。この場合には、第二暗号化部162は、その少なくとも1つの利用者装置以外の利用者装置のみが有する短期鍵kを用いて、新しい短期鍵k’を暗号化して第二の暗号情報を生成する。
短期鍵更新部15は、新しく生成された短期鍵k’を用いて、記憶部11に格納された短期鍵を、更新前の短期鍵kから新しい短期鍵k’に更新する。
短期鍵更新情報生成部14は、新しい短期鍵k’自体ではなく、短期鍵情報生成部141が生成した新しい短期鍵k’に関する情報rを、短期鍵暗号化部16の送ってもよい。この場合、短期鍵暗号化部16の第一暗号化部161は、その情報rに関する短期鍵k’を有するべき利用者装置の中の少なくとも1つの利用者装置iの長期鍵Kを用いて、その情報rを暗号化し、第一の暗号情報を生成して、放送部13に送る。また、第二暗号化部162は、上記少なくとも1つの利用者装置i以外のその情報rに関する短期鍵k’を有するべき利用者装置のみが有する短期鍵kを用いて、情報rを暗号化し、第二の暗号情報を生成して、放送部13に送る。
ある利用者装置iが不正者であることが判明した場合には、長期鍵更新部18は、新しい長期鍵K’を生成して、長期鍵K’を更新する。更新された長期鍵K’は、安全な経路を通じて、その利用者装置i以外の正当な権限を有する利用者に渡される。
利用者装置
図3に例示するように、利用者装置2’は、受信部21、短期鍵復号化部22、記憶部23(特許請求の範囲における第二記憶手段に相当。)、コンテンツ復号化部24、短期鍵更新部25を備える。図示していないが記憶部23は、利用者装置2’の各部とデータの読み書きが可能なように接続されている。
受信部21は、センタ装置1’が放送した暗号文cと第一の暗号情報と第二の暗号情報等を受信する。第一の暗号情報と第二の暗号情報は、短期鍵復号化部22に送られる。暗号文cは、コンテンツ復号化部24に送られる。
コンテンツ復号化部24は、暗号文cを、所定の復号化アルゴリズムDecを用いて、復号化して、コンテンツmを復号化する。例えば、記憶部23から読み込んだ何れかの短期鍵k’を用いて、暗号文cに含まれる暗号化されたセッション鍵skを復号化してセッション鍵skを得る。そして、暗号文cに含まれる暗号化されたコンテンツmを、その復号化されたセッション鍵skを用いて復号化してコンテンツmを得る。
短期鍵復号化部22の第一復号化部221は、利用者装置2’が、上記利用者装置の中の1つの利用者装置i又は上記利用者装置の中の少なくとも1つの利用者装置iである場合には、記憶部23から読み出した長期鍵Kを用いて、第一の暗号情報を復号化して、新しい短期鍵k’を生成する。新しい短期鍵k’は、短期鍵更新部25に送られる。
第二復号化部222は、利用者装置2’が、上記利用者装置の中の1つの利用者装置i又は上記利用者装置の中の少なくとも1つの利用者装置iでない場合には、記憶部23から読み出した何れかの短期鍵kを用いて、第二の暗号情報を復号化して、新しい短期鍵k’を得る。新しい短期鍵k’は、短期鍵更新部25に送られる。
短期鍵更新部25は、新しい短期鍵k’で、記憶部23に既に記憶されている短期鍵kを更新する。短期鍵の更新後は、コンテンツ復号化部24は、新しい短期鍵k’を用いてコンテンツmの復号化を行う。
第一の暗号情報又は第二の暗号情報が、新しい短期鍵k’ではなく、その新しい短期鍵k’に関する情報rを暗号化したものである場合には、短期鍵復号化部22の第一復号化部221と第二復号化部222はそれぞれ、新しい短期鍵k’を復号化したのと同様の方法で情報rを復号化して、短期鍵更新部25に送る。
[第2実施形態]
放送型暗号方式の一種であるCS(Complete Subtree)法を基礎とした本発明による第2実施形態による不正者追跡可能な放送型暗号システムについて説明をする。
〔理論〕
まず、第2実施形態による不正者追跡可能な放送型暗号システムの理論背景について説明をする。
利用者装置i(i=0,…,n−1)の総数をn=2とする。dは任意の自然数である。利用者装置iの集合をNとする。木Tは、この例では、n個の葉を持つ2分木とする。ここで、葉とは、子ノードを有しないノードのことである。このため、以下、葉を含む概念としてノードという言葉を用いる場合がある点に留意する。
木Tのルートノードに空の文字列φ∈{0,1}を割り当てる。そして、あるノードに文字列s∈{0,1}が割り当てられているとすると、そのノードの左の子ノードに文字列s|0∈{0,1}j+1、そのノードの右のノードに文字列s|1∈{0,1}j+1を割り当てる。ここで、「a|b」は、aとbのビット結合を意味する。このようにして、親ノードに割り当てられた文字列からその子ノードに割り当てる文字列を決める作業を繰り返すことにより、葉を含むすべてのノードに0と1のビット列を割り当てる。
利用者装置i(i=0,…,n−1)を、葉に対応させる。例えば、利用者装置iに与えられた10進数の数iを2進数表記したときのビット列が割り当てられた葉に、その利用者装置iを対応させる。このように、葉に利用者装置を割り当てた場合、利用者装置0は、0を2進数表記すると00…0となるため、一番左の葉に対応することになる。以下では、利用者装置iが対応する葉を葉iと呼ぶ。
短期鍵生成
センタ装置は、葉i(i=0,…,n−1)ごとに、葉の短期鍵k∈{0,1}2lを生成する。すなわち、葉の短期鍵kは、0と1をランダムに2l個選択することにより生成された2l個のビットからなるビット列である。lは、任意の自然数であり、本実施形態による不正者追跡可能な放送型暗号システムの安全性が保たれる程度に大きな数である。
センタ装置は、すべての葉iの短期鍵kから、すべてのノードの短期鍵kを生成する。例えば、ある親ノードの鍵kは、その左の子ノードの鍵ks|0と、その右の子ノードの鍵ks|1とを次のように関連付けることにより求める。k=H(ks|0)|H(ks|1)。ここで、Hは、2lビットのビット列を、lビットのビット列に写像するハッシュ関数H:{0,1}2l→{0,1}である。
なお、葉の短期鍵k∈{0,1}を、lビットのビット列とし、ハッシュ関数H’を、lビットのビット列をlビットのビット列に写像するハッシュ関数H’:{0,1}→{0,1}であるとする。この場合、左の子ノードの鍵ks|0と、その右の子ノードの鍵ks|1とを、k=H(ks|0)(+)H(ks|1)と関連付けることにより、それらの親ノードの鍵kを求めてもよい。ここで、(+)は排他的論理和を意味する。
このように、子ノードの鍵を互いに関連させて、その親ノードの短期鍵を生成する作業を繰り返すことにより、すべての葉iの短期鍵kからすべてのノードの短期鍵kを生成する。
例えば、次のようにして、生成した葉の短期鍵kとノードの短期鍵kを、利用者装置iに割り当てる。利用者装置iに対応した葉iをノードsdとし、その葉iの短期鍵kをksdと表記する。また、ルートノードφを、ノードs0と表記する。このとき、利用者装置iには、その利用者装置iに対応した葉iからルートノードφに至るまでのパス上の各ノードsd,s(d−1),…,s1,s0として、それらの短期鍵ksd,ks(d−1),…,k,kが割り当てられる。
例えば、図6において、利用者装置i(i=2)には、その利用者装置2に対応する葉010(葉2)から、ルートノードφに至るまでのパス上の各ノードの短期鍵、すなわち、図6において射線で塗りつぶした葉とノードの短期鍵(k010,k01,k,kφ)が割り当てられる。
センタ装置は、安全な通信路を経由して、各利用者装置iに、割り当てられた短期鍵の組{ksd,ks(d−1),…,ks1,ks0}を配布する。
長期鍵生成
センタ装置は、葉i(i=0,…,n−1)ごとに、例えば、長期鍵K∈{0,1}を生成する。そして、安全な通信路を経由して、各利用者装置iに対応する長期鍵Kを配布する。
暗号化
視聴権を有する利用者装置の集合R⊂Nを考える。その視聴権を有する利用者装置の集合Rのみを覆う、木Tの部分木の組は複数存在する。これらの複数の部分木の組の中で、部分木の数が最も少ない部分木の組Ωを選択する。この部分木の組Ωの各部分木のルートノードを、s1,…,sωとする。ここで、視聴権を有しない利用者装置の数をrとすると、ω≦rlog(n/r)である。
図7を用いて、視聴権を有する利用者装置の集合Rのみを覆う、木Tの部分木の組の中で、部分木の数が最も少ない部分木の組Ωの具体例を説明する。図7において、視聴権を有する利用者装置を太線で表す。視聴権を有する利用者装置は、i=001以外の利用者装置、すなわち、i=000,010,011,100,101,110,111の利用者装置である。
この場合、図7において縦線で塗りつぶしたノード0,01,000が、視聴権を有する利用者装置のみを覆う、木Tの部分木の組である。また、図8において、縦線で塗りつぶしたノード0,01,10,11も、視聴権を有する利用者装置のみを覆う、木Tの部分木の組である。このように、一般に、視聴権を有する利用者装置のみを覆う、木Tの部分木の組は複数ある。なお、図9において、ノード00は、視聴権を有しない利用者装置001を覆っている。このため、図9において、縦線で塗りつぶしたノードの組00,01,1は、視聴権を有する利用者装置のみを覆う、木Tの部分木の組ではない。
図8に示した部分木の組の部分木は、ノード000,01,10,11であり、4つある。一方、図7に示した部分木の組の部分木は、ノード1,01,000をルートノードとする部分木であり、3つある。図7,8に示した以外にも、視聴権を有する利用者装置のみを覆う、木Tの部分木の組は存在するが、図7の場合に部分木の組の部分木の数が最小となる。したがって、この図7に示した部分木の組が、部分木の数が最も少ない部分木の組Ωとなる。
センタ装置は、部分木の組Ωの各部分木のルートノードs1,…,sωの短期鍵ks1,…,ksωを用いて、セッション鍵skを暗号化する。すなわち、短期鍵ks1,…,ksωごとに、暗号化したセッション鍵Eks1(sk),…,Eksω(sk)を生成する。また、コンテンツmを、セッション鍵skで暗号化したものEsk(m)を生成する。センタ装置は、部分木の組Ωの各部分木のルートノードの短期鍵で暗号化したEks1(sk),…,Eksω(sk)と、セッション鍵で暗号化したコンテンツEsk(m)とを、各利用者装置i(i=0,…,n−1)にブロードキャストする。
復号化
視聴権を有する利用者装置i∈Rは、部分木の組の各部分木のルートノードの短期鍵ks1,…,ksωのうち、少なくとも1つの短期鍵を有している。その短期鍵を短期鍵kstとする。視聴権を有する利用者装置i∈Rは、自身の短期鍵stkを用いて、暗号化されたセッション鍵Eks1(sk),…,Eksω(sk)の何れか1つ又は少なくとも1つを復号化して、セッション鍵skを得る。そして、そのセッション鍵skを用いて、暗号化されたコンテンツEsk(m)を復号化して、コンテンツmを得る。
このようにして、センタ装置により暗号化されたコンテンツmを利用者装置は視聴することができる。
短期鍵更新
センタ装置は、短期鍵を適宜更新する。センタ装置は、利用者装置iに対応する葉iの短期鍵k’を新たに生成して、短期鍵kから短期鍵k’に更新する。例えば、短期鍵k’に関する情報r’を生成して、その情報r’と更新前の長期鍵Kとをハッシュ関数Hに入力することより、更新後の短期鍵k’=H(K,r’)を求める。同時に、複数の利用者装置の短期鍵を更新してもよい。
そして、その更新された葉iの短期鍵k’を用いて、その葉iから木Tのルートノードに至るまでのパス上にあるノードのうち葉iを除くノードs(d−1),…,s1,s0の短期鍵ks(d−1)’,…,ks1’,ks0’を新たに生成して、短期鍵ks(d−1),…,ks1,ks0から短期鍵ks(d−1)’,…,ks1’,ks0’に更新する。短期鍵ks(d−1)’,…,ks1’,ks0’の生成の仕方は、短期鍵ks(d−1),…,ks1,ks0の生成の仕方と同様である。すなわち、葉のノードを含む子ノードの鍵を互いに関連させて、その親ノードの短期鍵を生成する作業を繰り返すことにより、新たな短期鍵ks(d−1)’,…,ks1’,ks0’を生成する。
センタ装置は、葉iの短期鍵を、その葉iに対応する利用者装置iの長期鍵Kを用いて暗号化したものEKi(k’)を生成する。また、木Tのルートノードを除くノードsd,…,s1の短期鍵ksd’,…,ks1’のハッシュ値H(ksd’),…,H(ks1’)を、対応する兄弟ノードsd♯,…,s1♯の短期鍵ksd♯,…,ks1♯を用いてそれぞれ暗号化したものEksd♯(H(ksd’)),…,Eks1♯(H(ks1’))を生成する。そして、これら暗号化された[EKi(k’),Eksd♯(H(ksd’)),…,Eks1♯(H(ks1’))]を各利用者装置にブロードキャストする。
利用者装置iは、自身が有する長期鍵Kを用いて上記暗号化された短期鍵EKi(k’)を復号化して、新たな短期鍵k’を生成する。そして、その短期鍵k’を用いて、自身が有するべき他の短期鍵を生成して、更新する。
また、利用者装置i以外の利用者装置は、自身が有する短期鍵の何れかを用いて、上記暗号化された短期鍵Eksd♯(ksd’),…,Eks1♯(ks1’)のうちの何れかを復号化して、自身が有するべき短期鍵を得る。そして、その短期鍵を用いて、自身が有するべき他の短期鍵を生成して、更新する。
センタ装置は、短期鍵の更新後は、その更新された短期鍵を用いて、上記のコンテンツの暗号化の処理を行う。また、利用者装置は、短期鍵の更新後は、その更新された短期鍵を用いて、上記のコンテンツの復号化の処理を行う。これにより、長期鍵を持たない海賊版利用者装置は、鍵の更新をすることができずに無効化される。
以下、図10を参照して、短期鍵更新の具体例を説明する。センタ装置は、葉2の短期鍵kからk’に更新するとする。例えば、k12’=H(k)|H(k’),k1234’=H(k12’)|H(k34),k12345678’=H(k1234’)|H(k5678)のように子ノードを関連付けることにより親ノード12,1234,12345678の短期鍵k12’,k1234’,k12345678’を生成する。葉2の新たな短期鍵k’は、葉2に対応する利用者装置2の長期鍵Kを用いて暗号化EK2(k’)される。また、葉2の新たな短期鍵k’のハッシュ値H(k’)は、葉2の兄弟ノード1の短期鍵kを用いて暗号化Ek1(H(k’))される。ノード12の新たな短期鍵k12’のハッシュ値H(k12’)は、ノード12の兄弟ノード34の短期鍵k34を用いて暗号化Ek34(H(k12’))される。ノード1234の新たな短期鍵k1234’のハッシュ値H(k1234’)は、ノード1234の兄弟ノード5678の短期鍵k5678を用いて暗号化Ek5678(H(k1234’))される。そして、これらの暗号化されたEK2(k’),Ek1(H(k’)),Ek34(H(k12’)),Ek5678(H(k1234’))が各利用者装置に送信される。
利用者装置2は、自身の長期鍵Kを用いてEK2(k’)を復号化して、新たな短期鍵k’を得る。利用者装置2は、短期鍵k,k12,k1234,k12345678を既に保有している。ここで、利用者装置2は、葉を含む子ノードの短期鍵に関連する情報と、既に保有するその親ノードの短期鍵から生成されるその子ノードの兄弟ノードの短期鍵に関連する情報とを用いて、子ノードの短期鍵を関連付けた親ノードの短期鍵を生成する動作を繰り返すことにより、自身が有するべき新たな短期鍵k12’,k1234’,k12345678’を自ら生成することができる。
新たな短期鍵k12’の生成の仕方の例を述べる。k12’=H(k)|H(k’)である場合、上記生成された新たな短期鍵k’に関連する情報であるハッシュ値H(k’)と、既に保有している短期鍵k12=H(k)|H(k)から生成される(取り出される)ノード2の兄弟ノード1の短期鍵kに関連する情報であるH(k)とをビット結合することにより、新たな短期鍵k12’を生成することができる。
また、例えば、k12’=H(k)(+)H(k’)である場合、既に保有している短期鍵k12=H(k)(+)H(k)と、既に保有している短期鍵kのハッシュ値H(k)との排他的論理和を取ることにより、既に保有している短期鍵k12から生成されるその子ノードの兄弟ノードの短期鍵に関連する情報である短期鍵kのハッシュ値H(k)を生成する。そして、この生成されたハッシュ値H(k)と、上記生成された新たな短期鍵k’のハッシュ値H(k’)との排他的論理和を取ることにより、新たな短期鍵k12’を生成する。
新たな短期鍵k1234’の生成方法についても同様である。すなわち、上記生成された新たな短期鍵k12’に関連する情報H(k12’)と、既に保有する短期鍵k1234から生成されるノード12の兄弟ノード34の短期鍵k34に関連する情報H(k34)とを用いて、新たな短期鍵k12’と短期鍵k34とを関連付けた新たな短期鍵k1234’を生成する。
新たな短期鍵k12345678’の生成方法についても同様である。すなわち、上記生成された新たな短期鍵k1234’に関連する情報H(k1234’)と、既に保有する短期鍵k12345678から生成されるノード1234の兄弟ノード5678の短期鍵k5678に関連する情報H(k5678)とを用いて、短期鍵k5678と新たな短期鍵k1234’とを関連付けた新たな短期鍵k12345678’を生成する。
利用者装置1は、自身が有する短期鍵の1つである短期鍵kを用いてEk1(H(k’))を復号化して、新たな短期鍵のハッシュ値H(k’)を得る。ここで、利用者装置1は、短期鍵k,k12,k1234,k12345678を既に保有している。したがって、利用者装置1は、利用者装置2の新たな短期鍵の生成と同様に、葉を含む子ノードの短期鍵に関連する情報と、既に保有するその親ノードの短期鍵から生成されるその子ノードの兄弟ノードの短期鍵に関連する情報とを用いて、子ノードの短期鍵を関連付けた親ノードの短期鍵を生成する動作を繰り返すことにより、自身が有するべき新たな短期鍵k12’,k1234’,k12345678’を自ら生成することができる。
利用者装置3から8についても同様である。
なお、センタ装置が、暗号化された短期鍵EKi(k’)を各利用者装置iにブロードキャストする代わりに、短期鍵k’=H(K,r’)を生成するために用いた情報r’をブロードキャストしてもよい。
この場合、利用者装置iは、受信した短期鍵に関する情報r’と自身の長期鍵Kとをハッシュ関数Hに入力することにより、更新後の短期鍵k’=H(K,r’)を生成する。他の処理は上記と同様である。
不正者追跡
ある利用者装置iを元にして海賊版利用者装置i$が生成されたとする。
自身が有するべきすべての短期鍵を更新することができ、永続的に視聴可能である悪質な海賊版利用者装置i$には、元になった利用者装置iの長期鍵Kが必ず含まれている。利用者装置iの長期鍵Kを有しない海賊版利用者装置i$は、少なくとも、EKi(k)を復号することができないため、短期鍵kを更新することはできないためである。また、長期鍵Kと利用者装置iは、一対一の関係を有する。
このため、自身が有するべきすべての短期鍵を更新することができる海賊版利用者装置i$が現れた場合、その中に含まれる長期鍵Kを調べれば、不正者である利用者装置i、換言すると、鍵の漏洩元となった利用者装置iを突き止めることができる。
長期鍵更新
利用者装置iが不正者であることが判明した場合には、センタ装置の長期鍵更新部は、利用者装置iの長期鍵Kの代わりに、新しい長期鍵K*を生成して、新しい利用者装置i*に渡す。そしてその後、センタ装置は、長期鍵Kではなく、新しい長期鍵K*を用いて、短期鍵を更新してもよい。これにより、長期鍵Kを有する不正者である利用者装置i及びこの利用者装置iから派生した海賊版利用者装置は、短期鍵を更新することができなくなり、視聴不可能となる。
効率
rを放送型暗号化の際の視聴不可能な利用者装置の数、tを鍵更新の際の鍵更新される利用者装置の数とする。TOをtransmission overhead、SSをstrage of user、CCをcomputation of userとする。
本実施形態では、放送型暗号化の際の通信料は、TO=rlog(n/r)、鍵更新の際の通信量は2t+tlog(n/t)、利用者のメモリ量はSS=log(n)+1となり、効率がよい。
〔機能構成〕
図4は、第2実施形態による不正者追跡可能な放送型暗号システムのセンタ装置3の機能構成を例示する図である。この例では、センタ装置は、短期鍵生成部31、記憶部32、コンテンツ暗号化部33、放送部34、短期鍵更新情報生成部35、短期鍵暗号化部36、長期鍵生成部37、長期鍵更新部38を備える。図示していないが、記憶部32は、センタ装置3の各部とデータの読み書きができるように接続されている。
センタ装置
短期鍵生成部31の葉短期鍵生成部311は、各葉ごとに葉短期鍵kを生成する。生成された葉短期鍵kは、ノード短期鍵生成部312とコンテンツ暗号化部33に送られるとともに、記憶部32に格納される。例えば、葉短期鍵生成部311の葉短期鍵情報生成部3111が、葉短期鍵kに関する情報rを生成し、葉短期鍵生成部311が、その情報rを用いて、任意のハッシュ関数H(r)により、葉短期鍵k=H(r)を生成する。
ノード短期鍵生成部312は、葉を含む子ノードの短期鍵を互いに関連付けて親ノードの短期鍵を生成する動作を繰り返すことにより、各ノードのノード短期鍵kを生成する。生成されたノード短期鍵kは、コンテンツ暗号化部33に送られるとともに、記憶部32に格納される。
コンテンツ暗号化部33は、例えば、記憶部32に予め格納されたコンテンツmを読み込んで、同じく記憶部32に予め格納されたセッション鍵skを用いて暗号化して、Esk(m)を生成する。また、セッション鍵skを、部分木の組Ωの各部分木のルートノードs,…,sωの短期鍵ks,…,sωを用いてそれぞれ暗号化して、暗号化したセッション鍵Eks1(sk),…,Eksω(sk)を生成する。Esk(m)、Eks1(sk),…,Eksω(sk)は、放送部34に送られる。
放送部34は、Esk(m)と、Eks1(sk),…,Eksω(sk)を各利用者装置に放送(ブロードキャスト)する。また、放送部34は、後述する第一の暗号情報EKi(k’)又はr’、第二の暗号情報[Eksd♯(H(ksd’)),…,Eks1♯(H(ks1’))]等を利用者装置に向けて放送する。
短期鍵更新情報生成部35の葉短期鍵更新情報生成部351は、新しい葉短期鍵k’を生成する。生成された新しい葉短期鍵k’は、短期鍵更新部39、短期鍵更新情報生成部35のノード短期鍵更新情報生成部352、短期鍵暗号化部36にぞれぞれ送られる。葉短期鍵更新情報生成部351の葉短期鍵情報生成部3511は、例えば、短期鍵k’に関する情報r’を生成して、その情報r’と、記憶部32から読み込んだ長期鍵K又は長期鍵生成部37が生成した長期鍵Kとをハッシュ関数Hに入力することより、更新後の短期鍵k’=H(K,r’)を求める。
なお、葉短期鍵更新情報生成部351が、新しい葉短期鍵k’に関する情報r’を生成して、新しい葉短期鍵k’に替えて、その情報r’を短期鍵暗号化部36に送ってもよい。
ノード短期鍵更新情報生成部352は、葉iを含む子ノードの短期鍵を互いに関連付けて親ノードの短期鍵を生成する動作を繰り返すことにより、その葉iから木Tのルートノードに至るまでのパス上にあるノードのうち葉iを除くノードs(d−1),…,s1,s0の短期鍵ks(d−1)’,…,ks1’,ks0’を新たに生成して、短期鍵ks(d−1),…,ks1,ks0から短期鍵ks(d−1)’,…,ks1’,ks0’に更新する。新しいノード短期鍵ks(d−1)’,…,ks1’,ks0’は、短期鍵暗号化部36に送られるとともに、記憶部32に格納される。
短期鍵暗号化部36の葉短期鍵更新情報暗号化部361は、長期鍵生成部37が生成した長期鍵K又は記憶部32から読み込んだ長期鍵Kを用いて、葉iの新しい短期鍵k’を暗号化して、EKi(k’)を生成する。生成されたEKi(k’)は、第一の暗号情報として、放送部34に送られる。葉短期鍵更新情報暗号化部361は、葉短期鍵更新情報生成部351から、新しい短期鍵k’の変わりに、新しい葉短期鍵k’に関する情報rを受け取った場合には、その情報rをそのまま第一の暗号情報として、放送部34に送る。
短期鍵暗号化部36の関連情報生成部363は、短期鍵更新情報生成部35が生成した、新しい葉短期鍵k’,新しいノード短期鍵ks(d−1)’,…,ks1’,ks0’に関連する情報であるハッシュ値H(k’),H(ks(d−1)’),…,H(ks1’),H(ks0’)をそれぞれ生成して、ノード短期鍵更新情報暗号化部362に送る。
関連情報生成部363は、葉短期鍵更新情報生成部351から送られた情報がr’である場合には、その情報r’と、記憶部32から読み込んだ又は長期鍵37が生成した長期鍵Kを用いて、新たな短期鍵k’=H(K,r’)を生成する。そして、その生成された新たな短期鍵k’から、短期鍵k’に関連する情報であるハッシュ値H(k’)を生成して、ノード短期鍵更新情報暗号化部362に送る。葉短期鍵更新情報生成部351から送られた情報がr’である場合にも、新しいノード短期鍵ks(d−1)’,…,ks1’,ks0’に関連する情報であるハッシュ値H(ks(d−1)’),…,H(ks1’),H(ks0’)をそれぞれ生成して、ノード短期鍵更新情報暗号化部362に送る。
短期鍵暗号化部36のノード短期鍵更新情報暗号化部362は、新しい短期鍵k’に関連する情報であるH(k’)を、記憶部32から読み込んだ、その新しい短期鍵k’(ksd’と表記する。)の葉の兄弟ノードである葉の葉短期鍵ki♯(ksd♯と表記する。)で暗号化したものEksd♯(ksd’)を生成する。また、新しく生成された短期鍵のうちルートノード以外のノードのノード短期鍵ks(d−1)’,…,ks1’に関連する情報であるH(ks(d−1)’),…,H(ks1’)をそれぞれ、その兄弟ノードのノード短期鍵ks(d−1)♯,…,ks1♯を用いてそれぞれ暗号化したものEks(d−1)♯(H(ksd’)),…,Eks1♯(H(ks1’))を生成する。そして、これら暗号化された[Eksd♯(H(ksd’)),…,Eks1♯(H(ks1’))]を、第二の暗号情報として放送部34に送る。
利用者装置
図4に例示するように、本実施形態による利用者装置4は、受信部41、短期鍵復号化部42、記憶部43、コンテンツ復号化部44、短期鍵更新部45、ノード短期鍵生成部46を備える。図示していないが、記憶部43は、利用者装置4の各部とデータの読み書きができるように接続されている。
受信部41は、センタ装置3が放送した、暗号化されたコンテンツ情報[Esk(m)、Eks1(sk),…,Eksω(sk)]、第一の暗号情報EKi(k’)、第二の暗号情報[Eksd♯(H(ksd’)),…,Eks1♯(H(ks1’))]を受信する。暗号化されたコンテンツ情報[Esk(m)、Eks1(sk),…,Eksω(sk)]は、コンテンツ復号化部44に、第一の暗号情報EKi(k’)と第二の暗号情報[Eksd♯(H(ksd’)),…,Eks1♯(H(ks1’))]は短期鍵復号化部42に送られる。受信部41は、第一の暗号情報がr’である場合には、その第一の暗号情報がr’を受信して、短期鍵復号化部42に送る。
コンテンツ復号化部44は、例えば、記憶部43から読み込んだ何れかの短期鍵ksjを用いて、Eks1(sk),…,Eksω(sk)を復号化して、セッション鍵skを生成する。そして、そのセッション鍵skを用いて、Esk(m)を復号化して、コンテンツmを生成する。
短期鍵復号化部42の葉短期鍵復号化部421は、利用者装置4が、上記新しい葉短期鍵k’の葉に対応する利用者装置である場合には、記憶部43から読み出した長期鍵Kを用いて、第一の暗号情報EKi(k’)を復号化して、新たな葉短期鍵k’を生成する。生成した新たな短期鍵k’は、短期鍵更新部45とノード短期鍵生成部46に送られる。なお、第一の暗号情報がr’である場合には、その第一の暗号情報r’をそのまま短期鍵更新部45に送る。
ノード短期鍵復号化部422は、利用者装置4が新しい葉短期鍵k’の葉の兄弟ノードである葉に対応する利用者装置である場合には、記憶部43から読み出した、その兄弟ノードである葉の葉短期鍵ki♯を用いて、上記第二の暗号情報の中のEki(H(k’))(=Eksd♯(H(ksd’)))を復号化して、新しい葉短期鍵k’に関連する情報H(k’)を生成する。また、利用者装置4が、上記新しいノード短期鍵k’のノードの兄弟ノードks♯’を、その利用者装置に対応する葉からルートノードに至るパス上に含む場合には、記憶部43から読み出した、その兄弟ノードの短期鍵ks♯’を用いて、第二の情報の中のEks(d−1)♯(H(ks(d−1)’)),…,Eks1♯(H(ks1’))の何れかを復号化して、新しいノード短期鍵k’に関連する情報H(k’)を生成する。生成された、新しい葉短期鍵k’ に関連する情報H(k’)と新しいノード短期鍵k’ に関連する情報H(k’)は、ノード短期鍵生成部46に送られる。
短期鍵更新部45は、葉短期鍵復号化部421から送られた新しい葉短期鍵k’を用いて、記憶部43に記憶された葉短期鍵kを更新する。また、第一の暗号情報がr’である場合には、短期鍵復号化部42から送られた情報r’と、記憶部43から読み込んだ長期鍵Kと、ハッシュ関数Hとを用いて、新たな葉短期鍵k’=H(K,r’)を生成して、記憶部43に記憶された葉短期鍵kを更新する。また、短期鍵更新部45は、情報r’から生成した新しい葉短期鍵k’をノード短期鍵生成部46に送る。
ノード短期鍵生成部46は、葉を含む子ノードの短期鍵に関連する情報と、記憶部43から読み込んだ、既に保有するその親ノードのノード短期鍵から生成されるその子ノードの兄弟ノードの短期鍵に関連する情報とを用いて、子ノードの短期鍵を関連付けた親ノードの短期鍵を生成する動作を繰り返すことにより、利用者装置4が対応する葉からからルートノードに至るまでのパス上にある各ノードの新しいノード短期鍵k’を生成する。そして、記憶部43に記憶された、自身が有するべき新たなノード短期鍵を更新する。
なお、ノード短期鍵生成部46の関連情報生成部461が、記憶部43から読み込んだ親ノードのノード短期鍵から、その子のノードの兄弟ノードの短期鍵に関連する情報を生成するものとする。関連情報生成部461は、例えば、k12=H(k)|H(k)である場合には、記憶部43から読み込んだk12からH(k)のビット列を取り出すことにより、kに関連する情報H(k)を生成する。また、k12=H(k)(+)H(k)である場合には、記憶部43から読み込んだk12と、ノード短期鍵復号化部422が生成したH(k)との排他的論理和を取ることにより、kに関連する情報H(k)を生成する。ノード短期鍵生成部46は、関連情報生成部461が生成した情報を用いて上記の処理を行う。
短期鍵の更新後は、コンテンツ復号化部44は、新しい短期鍵を用いてコンテンツmの復号化を行う。
センタ装置3の長期鍵更新部38は、上記理論で説明したように必要に応じて、新たな長期鍵K*を新たに生成して、長期鍵Kを更新する。生成された新たな長期鍵K*は、安全な経路を通じて、新たな利用者装置i*に送られる。
[変形例]
なお、図1に破線で示したように、短期鍵生成装置5を設けてもよい。短期鍵生成装置5は、自身の暗号鍵に対応する公開鍵を、センタ装置の短期鍵、葉短期鍵、ノード短期鍵として生成する。生成された、短期鍵、葉短期鍵、ノード短期鍵としての短期鍵生成装置5の公開鍵は、センタ装置に送られる。短期鍵生成装置5を設けた場合には、センタ装置の短期鍵生成部、短期鍵更新部が不要となる。
センタ装置1,1’,3又は利用者装置2,2’,4をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD
−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
また、上述した実施形態とは別の実行形態として、コンピュータが可搬型記録媒体から直接このプログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
なお、本発明の放送型暗号システム、そのセンタ装置及び利用者装置は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
不正者追跡可能な放送型暗号システム1000の機能構成を例示する図。 第一実施形態によるセンタ装置1’の機能構成を例示する図。 第一実施形態による利用者装置2’の機能構成を例示する図。 第二実施形態によるセンタ装置3の機能構成を例示する図。 第二実施形態による利用者装置4の機能構成を例示する図。 利用者装置に割り当てられるノード短期鍵を例示する図。 視聴権を有する利用者装置の集合Rのみを覆う、木Tの部分木の組の中で、部分木の数が最も少ない部分木の組Ωの具体例を説明するための図(その一)。 視聴権を有する利用者装置の集合Rのみを覆う、木Tの部分木の組の中で、部分木の数が最も少ない部分木の組Ωの具体例を説明するための図(その二)。 視聴権を有する利用者装置の集合Rのみを覆う、木Tの部分木の組の中で、部分木の数が最も少ない部分木の組Ωの具体例を説明するための図(その三)。 短期鍵更新の具体例を説明するための図。

Claims (10)

  1. 複数の短期鍵を有するセンタ装置と、それら複数の短期鍵の一部をそれぞれ有する複数の利用者装置から構成され、センタ装置は視聴権を有する利用者装置のみが有する短期鍵を用いてコンテンツを暗号化して利用者装置に向けて放送し、視聴権を有する利用者装置は自身が有する短期鍵の何れかを用いて暗号化されたコンテンツを復号化する放送型暗号システムにおいて、
    センタ装置は、
    上記複数の短期鍵と、利用者装置ごとの長期鍵のすべてと記憶する第一記憶手段と、
    生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を用いて、第一記憶手段に記憶された短期鍵を更新する短期鍵更新手段と、
    第一記憶手段から読み込んだ、上記新しい短期鍵を有するべき利用者装置の中の少なくとも1つの利用者装置の長期鍵でそれぞれ、上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を暗号化して、第一の暗号情報を生成する第一暗号化手段と、第一記憶手段から読み込んだ、上記少なくとも1つの利用者装置以外の上記新しい短期鍵を有するべき利用者装置のみが有する短期鍵を用いて、上記生成された新しい短期鍵又生成された新しい短期鍵に関する情報を暗号化して、第二の暗号情報を生成する第二暗号化手段と、を含む短期鍵暗号化手段と、
    上記第一の暗号情報と第二の暗号情報を利用者装置に向けて放送する放送手段と、
    を備え、
    利用者装置は、
    上記複数の短期鍵の一部と、その利用者装置の長期鍵を記憶する第二記憶手段と、
    上記第一の暗号情報と第二の暗号情報を受信する受信手段と、
    その利用者装置が上記少なくとも1つの利用者装置である場合には、第二記憶手段から読み出した長期鍵を用いて、上記第一の暗号情報を復号化して、上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を生成する第一復号化手段と、その利用者装置が上記少なくとも1つの利用者装置以外の上記新しい短期鍵を有するべき利用者装置である場合には、第二記憶手段から読み出した何れかの短期鍵を用いて、上記第二の暗号情報を復号化して、上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を生成する第二復号化手段と、を含む短期鍵復号化手段と、
    上記復号化して生成された新しい短期鍵又は新しい短期鍵に関する情報を用いて、第二記憶手段に記憶された短期鍵を更新する短期鍵更新手段と、
    を備える、
    ことを特徴とする不正者追跡可能な放送型暗号システム。
  2. 請求項1に記載の不正者追跡可能な放送型暗号システムにおいて、
    センタ装置は、さらに、
    利用者装置ごとの長期鍵を、利用者装置ごとの新しい長期鍵に更新する長期鍵更新手段を備える、
    ことを特徴とする不正者追跡可能な放送型暗号システム。
  3. 請求項1又は2に記載の不正者追跡可能な放送用暗号システムにおいて、
    センタ装置は、さらに、
    新たな短期鍵を生成する短期鍵生成手段を備える、
    ことを特徴とする不正者追跡可能な放送用暗号システム。
  4. 請求項1に記載の不正者追跡可能な放送用暗号システムにおいて、
    さらに、自身の秘密鍵に対応した公開鍵を、上記新しい短期鍵として生成する短期鍵生成装置を備える、
    ことを特徴とする不正者追跡可能な放送型暗号システム。
  5. 複数の短期鍵を有するセンタ装置と、それら複数の短期鍵の一部をそれぞれ有する複数の利用者装置から構成され、センタ装置は視聴権を有する利用者装置のみが有する短期鍵を用いてコンテンツを暗号化して利用者装置に向けて放送し、視聴権を有する利用者装置は自身が有する短期鍵の何れかを用いて暗号化されたコンテンツを復号化する放送型暗号システムに用いられるセンタ装置において、
    上記センタ装置は、
    上記複数の短期鍵と、利用者装置ごとの長期鍵のすべてと記憶する第一記憶手段と、
    生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を用いて、第一記憶手段に記憶された短期鍵を更新する短期鍵更新手段と、
    第一記憶手段から読み込んだ、上記新しい短期鍵を有するべき利用者装置の中の少なくとも1つの利用者装置の長期鍵でそれぞれ、上記生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を暗号化して、第一の暗号情報を生成する第一暗号化手段と、第一記憶手段から読み込んだ、上記少なくとも1つの利用者装置以外の上記新しい短期鍵を有するべき利用者装置のみが有する短期鍵を用いて、上記生成された新しい短期鍵又生成された新しい短期鍵に関する情報を暗号化して、第二の暗号情報を生成する第二暗号化手段と、を含む短期鍵暗号化手段と、
    上記第一の暗号情報と第二の暗号情報を利用者装置に向けて放送する放送手段と、
    を備える
    ことを特徴とするセンタ装置。
  6. 複数の短期鍵を有するセンタ装置と、それら複数の短期鍵の一部をそれぞれ有する複数の利用者装置から構成され、センタ装置は視聴権を有する利用者装置のみが有する短期鍵を用いてコンテンツを暗号化して利用者装置に向けて放送し、視聴権を有する利用者装置は自身が有する短期鍵の何れかを用いて暗号化されたコンテンツを復号化する放送型暗号システムに用いられる利用者装置において、
    利用者装置は、
    上記複数の短期鍵の一部と、その利用者装置の長期鍵を記憶する第二記憶手段と、
    センタ装置が放送した第一の暗号情報と第二の暗号情報を受信する受信手段と、
    その利用者装置が上記少なくとも1つの利用者装置である場合には、第二記憶手段から読み出した長期鍵を用いて、上記第一の暗号情報を復号化して、生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を生成する第一復号化手段と、その利用者装置が上記少なくとも1つの利用者装置以外の上記新しい短期鍵を有するべき利用者装置である場合には、第二記憶手段から読み出した何れかの短期鍵を用いて、上記第二の暗号情報を復号化して、生成された新しい短期鍵又は生成された新しい短期鍵に関する情報を生成する第二復号化手段と、を含む短期鍵復号化手段と、
    上記復号化して生成された新しい短期鍵又は新しい短期鍵に関する情報を用いて、第二記憶手段に記憶された短期鍵を更新する短期鍵更新手段と、
    を備える、
    ことを特徴とする利用者装置。
  7. 請求項に記載のセンタ装置としてコンピュータを機能させるためのセンタ装置プログラム。
  8. 請求項に記載のセンタ装置プログラムを記録したコンピュータ読み取り可能な記録媒体。
  9. 請求項に記載の利用者装置としてコンピュータを機能させるための利用者装置プログラム。
  10. 請求項に記載の利用者装置プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2007137781A 2007-05-24 2007-05-24 不正者追跡可能な放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体 Expired - Fee Related JP5052207B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007137781A JP5052207B2 (ja) 2007-05-24 2007-05-24 不正者追跡可能な放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007137781A JP5052207B2 (ja) 2007-05-24 2007-05-24 不正者追跡可能な放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体

Publications (2)

Publication Number Publication Date
JP2008294720A JP2008294720A (ja) 2008-12-04
JP5052207B2 true JP5052207B2 (ja) 2012-10-17

Family

ID=40169002

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007137781A Expired - Fee Related JP5052207B2 (ja) 2007-05-24 2007-05-24 不正者追跡可能な放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体

Country Status (1)

Country Link
JP (1) JP5052207B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6018880B2 (ja) * 2012-11-05 2016-11-02 日本放送協会 暗号化装置、復号装置、暗号化プログラム、および復号プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003273857A (ja) * 2002-03-14 2003-09-26 Matsushita Electric Ind Co Ltd 共通鍵配布装置及び共通鍵配布方法並びに共通鍵配布システム
JP4598437B2 (ja) * 2004-06-11 2010-12-15 日本放送協会 復号情報生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム

Also Published As

Publication number Publication date
JP2008294720A (ja) 2008-12-04

Similar Documents

Publication Publication Date Title
US7340603B2 (en) Efficient revocation of receivers
KR100840823B1 (ko) 암호 키 블록을 이용한 정보 처리 시스템 및 방법
KR100846262B1 (ko) 정보 처리 장치, 정보 처리 방법 및 프로그램 기억 매체
KR100746880B1 (ko) 정보 처리 시스템, 정보 처리 방법 및 정보 기록 매체와프로그램 제공 매체
EP1253739B1 (en) Information processing system and method
US7346170B2 (en) Information processing system and method
CN1976277B (zh) 无状态接收机的广播加密和密钥撤销方法
KR100777906B1 (ko) 정보 처리 시스템 및 방법
JP2001358707A (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
KR20060129934A (ko) 정보 처리 방법, 복호 처리 방법 및 정보 처리 장치와컴퓨터 프로그램
KR100871199B1 (ko) 정보기록/재생장치 및 방법
JP2006086568A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2004320719A (ja) 著作物保護システム、鍵データ生成装置及び端末装置
KR20090127716A (ko) 브로드캐스트 암호화에서 디바이스 키를 추적하는 방법
JP2006115464A (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2004120008A (ja) 鍵管理システム
JP4120135B2 (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP5052207B2 (ja) 不正者追跡可能な放送型暗号システム、そのセンタ装置及び利用者装置、それらのプログラム及びその記録媒体
JP4561074B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2008131072A (ja) 情報処理装置、端末装置、情報処理方法、及び鍵生成方法
JP2004229128A (ja) 暗号データ配信システム、および情報処理装置、情報処理方法、並びにコンピュータ・プログラム
JP2007189597A (ja) 暗号化装置および暗号化方法、並びに復号化装置および復号化方法
JP4635459B2 (ja) 情報処理方法、復号処理方法、および情報処理装置、並びにコンピュータ・プログラム
JP2005191805A (ja) 暗号文配信方法、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
WO2009157050A1 (ja) 情報処理装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090729

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120412

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: 20120717

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120724

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees