本発明の一態様は、記録媒体装置であって、記憶部及び耐タンパ化されたコントローラを含む。前記記憶部は、コンテンツ及び無効化リストを記憶しており、前記無効化リストは、前記コンテンツに対応付けて、当該コンテンツの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を含む。前記コントローラは、当該記録媒体装置の装着された機器から前記コンテンツの取得要求を取得し、前記機器に割り当てられた公開鍵証明書を識別する機器識別子を取得する取得手段と、取得した前記機器識別子が、取得要求のあった前記コンテンツに対応付けられた前記無効化識別子と一致するか否かを判断する判断手段と、一致すると判断する場合に、前記コンテンツの前記機器に対する出力を禁止するように制御する制御手段とを備えることを特徴とする。
ここで、前記記憶部は、前記コンテンツに対応付けて、さらに、利用者による前記コンテンツの利用の条件を示し、前記無効化リストにおける前記機器識別子の格納位置を示すエントリ情報を含む利用条件情報を記憶しているとしてもよい。前記判断手段は、前記記憶部に記憶されている前記利用条件情報から、前記エントリ情報を読み出し、前記無効化リスト内において、読み出した前記エントリ情報により示される格納位置から前記機器識別子を読み出し、読み出した前記機器識別子を用いて前記判断を行うとしてもよい。
ここで、前記取得手段は、前記機器として、前記コンテンツの再生を可能とする再生装置に割り当てられた前記公開鍵証明書を識別する前記機器識別子を取得するとしてもよい。
ここで、前記判断手段により、取得した前記機器識別子が、前記無効化識別子と一致しないと判断された場合、前記制御手段は、前記コンテンツの前記機器に対する出力を許可するとしてもよい。
ここで、前記制御手段は、前記コンテンツの前記機器に対する出力を許可するときに、前記コンテンツを復号するためのタイトル鍵を、前記機器に対して出力するように、制御するとしてもよい。
また、本発明の別の一態様は、記録媒体装置と、当該記録媒体装置が装着される機器とから構成されるシステムであって、前記記録媒体装置は、記憶部及び耐タンパ化されたコントローラを含む。前記記憶部は、コンテンツ及び無効化リストを記憶しており、前記無効化リストは、前記コンテンツに対応付けて、当該コンテンツの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を含む。前記コントローラは、当該記録媒体装置の装着された機器から前記コンテンツの取得要求を取得し、前記機器に割り当てられた公開鍵証明書を識別する機器識別子を取得する取得手段と、取得した前記機器識別子が、取得要求のあった前記コンテンツに対応付けられた前記無効化識別子と一致するか否かを判断する判断手段と、一致すると判断する場合に、前記コンテンツの前記機器に対する出力を禁止するように制御する制御手段とを備えることを特徴とする。
また、本発明の別の一態様は、記憶部とともに、記録媒体装置を構成する耐タンパ化されたコントローラにおいて用いられる制御方法である。前記記憶部は、コンテンツ及び無効化リストを記憶している。前記無効化リストは、前記コンテンツに対応付けて、当該コンテンツの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を含む。前記制御方法は、当該記録媒体装置の装着された機器から前記コンテンツの取得要求を取得し、前記機器に割り当てられた公開鍵証明書を識別する機器識別子を取得する取得ステップと、取得した前記機器識別子が、取得要求のあった前記コンテンツに対応付けられた前記無効化識別子と一致するか否かを判断する判断ステップと、一致すると判断する場合に、前記コンテンツの前記機器に対する出力を禁止するように制御する制御ステップとを含むことを特徴とする。
また、本発明の一態様は、記憶部とともに、記録媒体装置を構成する耐タンパ化されたコントローラにおいて用いられる制御のためのコンピュータプログラムを記録しているコンピュータ読取可能な記録媒体である。前記記憶部は、コンテンツ及び無効化リストを記憶している。前記無効化リストは、前記コンテンツに対応付けて、当該コンテンツの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を含む。前記記録媒体は、コンピュータである前記コントローラに、当該記録媒体装置の装着された機器から前記コンテンツの取得要求を取得し、前記機器に割り当てられた公開鍵証明書を識別する機器識別子を取得する取得ステップと、取得した前記機器識別子が、取得要求のあった前記コンテンツに対応付けられた前記無効化識別子と一致するか否かを判断する判断ステップと、一致すると判断する場合に、前記コンテンツの前記機器に対する出力を禁止するように制御する制御ステップと実行させるためのコンピュータプログラムを記録している。
また、本発明の一態様は、記憶部とともに、記録媒体装置を構成する耐タンパ化されたコントローラにおいて用いられる制御のためのコンピュータプログラムである。前記記憶部は、コンテンツ及び無効化リストを記憶している。前記無効化リストは、前記コンテンツに対応付けて、当該コンテンツの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を含む。前記コンピュータプログラムは、コンピュータである前記コントローラに、当該記録媒体装置の装着された機器から前記コンテンツの取得要求を取得し、前記機器に割り当てられた公開鍵証明書を識別する機器識別子を取得する取得ステップと、取得した前記機器識別子が、取得要求のあった前記コンテンツに対応付けられた前記無効化識別子と一致するか否かを判断する判断ステップと、一致すると判断する場合に、前記コンテンツの前記機器に対する出力を禁止するように制御する制御ステップと実行させる。
また、本発明の一態様は、記憶部とともに、記録媒体装置を構成する耐タンパ化されたコントローラである。前記記憶部は、コンテンツ及び無効化リストを記憶している。前記無効化リストは、前記コンテンツに対応付けて、当該コンテンツの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を含む。前記コントローラは、当該記録媒体装置の装着された機器から前記コンテンツの取得要求を取得し、前記機器に割り当てられた公開鍵証明書を識別する機器識別子を取得する取得手段と、取得した前記機器識別子が、取得要求のあった前記コンテンツに対応付けられた前記無効化識別子と一致するか否かを判断する判断手段と、一致すると判断する場合に、前記コンテンツの前記機器に対する出力を禁止するように制御する制御手段とを備えることを特徴とする。
また、本発明の別の一態様は、無効化リストを生成する無効化リスト生成装置であって、一のコンテンツについて、当該コンテンツの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を取得する取得手段と、前記コンテンツに対応付けて、取得された前記無効化識別子を含む無効化リストを生成する無効化リスト生成手段と、前記無効化リストを出力する出力手段とを備えることを特徴とする。
ここで、前記取得手段は、前記機器として、前記コンテンツの再生を可能とする再生装置に対して割り当てられ、無効化された前記公開鍵証明書を識別する前記識別子を取得するとしてもよい。
ここで、前記無効化リスト生成装置は、素材を編集してコンテンツを制作するコンテンツ制作装置であり、前記出力手段は、前記無効化リストとともに、制作された前記コンテンツを出力するとしてもよい。
ここで、前記無効化リスト生成装置は、さらに、前記コンテンツを暗号化する場合に用いられるタイトル鍵を含むコンテンツ情報を生成するコンテンツ情報生成手段を含み、前記出力手段は、前記コンテンツ及び前記無効化リストとともに、生成した前記コンテンツ情報を出力するとしてもよい。
ここで、前記無効化リスト生成装置は、さらに、前記タイトル鍵及び前記無効化リストに対して、デジタル署名を施して、署名データを生成する署名手段を含み、前記コンテンツ情報生成手段は、生成された署名データを含むように、前記コンテンツ情報を生成するとしてもよい。
ここで、前記コンテンツ情報生成手段は、前記コンテンツを識別するコンテンツ識別子、前記コンテンツが分類されるジャンルを示すジャンル情報又は前記コンテンツの品質を示す品質情報を含むように、前記コンテンツ情報を生成するとしてもよい。
ここで、前記無効化リスト生成装置は、さらに、利用者による前記コンテンツの利用の条件を示し、前記無効化リストにおける前記識別子の格納位置を示すエントリ情報を含む利用条件情報を生成する条件情報生成手段を含み、前記出力手段は、前記コンテンツ及び前記無効化リストとともに、生成した前記利用条件情報を出力するとしてもよい。
また、本発明の別の一態様は、コンテンツ管理システムであって、無効化リスト生成装置、記録媒体装置及び前記記録媒体装置が装着される機器を含む。無効化リストを生成する前記無効化リスト生成装置は、一のコンテンツについて、当該コンテンツの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を取得する取得手段と、前記コンテンツに対応付けて、取得された前記無効化識別子を含む無効化リストを生成する無効化リスト生成手段と、前記無効化リストを出力する出力手段とを備える。前記記録媒体装置は、記憶部及び耐タンパ化されたコントローラを含む。前記記憶部は、コンテンツ及び無効化リストを記憶しており、前記無効化リストは、前記コンテンツに対応付けて、当該コンテンツの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を含む。前記コントローラは、当該記録媒体装置の装着された前記機器から前記コンテンツの取得要求を取得し、前記機器に割り当てられた公開鍵証明書を識別する機器識別子を取得する取得手段と、取得した前記機器識別子が、取得要求のあった前記コンテンツに対応付けられた前記無効化識別子と一致するか否かを判断する判断手段と、一致すると判断する場合に、前記コンテンツの前記機器に対する出力を禁止するように制御する制御手段とを備えることを特徴とする。
また、本発明の別の一態様は、無効化リストを生成する無効化リスト生成装置で用いられる無効化リスト生成方法であって、一のコンテンツについて、当該コンテンツの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を取得する取得ステップと、前記コンテンツに対応付けて、取得された前記無効化識別子を含む無効化リストを生成する無効化リスト生成ステップと、前記無効化リストを出力する出力ステップとを含むことを特徴とする。
また、本発明の一態様は、無効化リストを生成する無効化リスト生成装置で用いられる無効化リスト生成のためのコンピュータプログラムを記録しているコンピュータ読取可能な記録媒体である。前記記録媒体は、コンピュータである無効化リスト生成装置に、一のコンテンツについて、当該コンテンツの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を取得する取得ステップと、前記コンテンツに対応付けて、取得された前記無効化識別子を含む無効化リストを生成する無効化リスト生成ステップと、前記無効化リストを出力する出力ステップとを実行させるためのコンピュータプログラムを記録している。
また、本発明の別の一態様は、無効化リストを生成する無効化リスト生成装置で用いられる無効化リスト生成のためのコンピュータプログラムである。前記コンピュータプログラムは、コンピュータである無効化リスト生成装置に、一のコンテンツについて、当該コンテンツの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を取得する取得ステップと、前記コンテンツに対応付けて、取得された前記無効化識別子を含む無効化リストを生成する無効化リスト生成ステップと、前記無効化リストを出力する出力ステップとを実行させる。
また、本発明の別の一態様は、無効化リストを生成する無効化リスト生成装置を構成する集積回路であって、一のコンテンツについて、当該コンテンツの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を取得する取得手段と、前記コンテンツに対応付けて、取得された前記無効化識別子を含む無効化リストを生成する無効化リスト生成手段と、前記無効化リストを出力する出力手段とを備えることを特徴とする。
1.実施の形態1
本発明に係る実施の形態1としてのコンテンツ管理システム10gについて、図面を参照しながら説明する。
(1)コンテンツ管理システム10gは、図1に示すように、無効化リストを生成する無効化リスト生成装置500g、機器300g及び記録媒体装置600gから構成されている。
無効化リスト生成装置500gは、取得部501g、無効化リスト生成部502g及び出力部503gから構成されている。
取得部501gは、一のコンテンツについて、当該コンテンツの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を取得する。
無効化リスト生成部502gは、前記コンテンツに対応付けて、取得された前記無効化識別子を含む無効化リストを生成する。
出力部503gは、前記無効化リストを出力する。
記録媒体装置600gは、記憶部601g及び耐タンパ化されたコントローラ602gを含む。
記憶部601gは、コンテンツ611g及び無効化リスト612gを記憶している。無効化リスト612gは、コンテンツ611gに対応付けて、コンテンツ611gの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を含む。
コントローラ602gは、取得部621g、判断部622g及び制御部623gを含む。
取得部621gは、記録媒体装置600gの装着された機器300gからコンテンツの取得要求を取得し、機器300gに割り当てられた公開鍵証明書を識別する機器識別子を取得する。
判断部622gは、取得した前記機器識別子が、取得要求のあった前記コンテンツに対応付けられた前記無効化識別子と一致するか否かを判断する。
制御部623gは、一致すると判断する場合に、前記コンテンツの機器300gに対する出力を禁止するように制御する。
(2)取得部501gは、コンテンツの利用に関連する前記機器として、コンテンツの再生を可能とする再生装置に対して割り当てられ、無効化された前記公開鍵証明書を識別する前記識別子を取得するとしてもよい。
(3)無効化リスト生成装置500gは、素材を編集してコンテンツを制作するコンテンツ制作装置であり、出力部503gは、前記無効化リストとともに、制作された前記コンテンツを出力するとしてもよい。
(4)無効化リスト生成装置500gは、さらに、前記コンテンツを暗号化する場合に用いられるタイトル鍵を含むコンテンツ情報を生成するコンテンツ情報生成部(図示していない)を含み、出力部503gは、前記コンテンツ及び前記無効化リストとともに、生成した前記コンテンツ情報を出力するとしてもよい。
(5)無効化リスト生成装置500gは、さらに、前記タイトル鍵及び前記無効化リストに対して、デジタル署名を施して、署名データを生成する署名部(図示していない)を含み、コンテンツ情報生成部は、生成された署名データを含むように、前記コンテンツ情報を生成するとしてもよい。
(6)コンテンツ情報生成部は、前記コンテンツを識別するコンテンツ識別子、前記コンテンツが分類されるジャンルを示すジャンル情報又は前記コンテンツの品質を示す品質情報を含むように、前記コンテンツ情報を生成するとしてもよい。
(7)無効化リスト生成装置500gは、さらに、利用者による前記コンテンツの利用の条件を示し、前記無効化リストにおける前記識別子の格納位置を示すエントリ情報を含む利用条件情報を生成する条件情報生成部(図示していない)を含み、出力部503gは、前記コンテンツ及び前記無効化リストとともに、生成した前記利用条件情報を出力するとしてもよい。
(8)記憶部601gは、コンテンツ611gに対応付けて、さらに、利用者による前記コンテンツの利用の条件を示し、無効化リスト612gにおける前記機器識別子の格納位置を示すエントリ情報を含む利用条件情報を記憶しているとしてもよい。判断部622gは、記憶部601gに記憶されている前記利用条件情報から、前記エントリ情報を読み出し、無効化リスト612g内において、読み出した前記エントリ情報により示される格納位置から前記機器識別子を読み出し、読み出した前記機器識別子を用いて前記判断を行うとしてもよい。
(9)取得部621gは、前記機器として、前記コンテンツの再生を可能とする再生装置に割り当てられた前記公開鍵証明書を識別する前記機器識別子を取得するとしてもよい。
(10)判断部622gにより、取得した前記機器識別子が、前記無効化識別子と一致しないと判断された場合、制御部623gは、前記コンテンツの機器300gに対する出力を許可するとしてもよい。
(11)制御部623gは、前記コンテンツの前記機器に対する出力を許可するときに、前記コンテンツを復号するためのタイトル鍵を、機器300gに対して出力するように、制御するとしてもよい。
2.実施の形態2
本発明に係る実施の形態2としてのコンテンツ管理システム10aについて、図面を参照しながら説明する。
2.1 コンテンツ管理システム10aの全体構成
コンテンツ管理システム10aは、図2に示すように、鍵配信装置100、鍵発行装置200、端末装置300、コンテンツ配信装置400、コンテンツ制作装置500及び記録媒体装置600から構成されている。
鍵配信装置100、鍵発行装置200、端末装置300、コンテンツ配信装置400及びコンテンツ制作装置500は、ネットワーク20を介して、相互に接続されている。
ネットワーク20は、一例として、インターネットである。また、記録媒体装置600は、一例として、メモリカードである。
2.2 鍵発行装置200の詳細構成
鍵発行装置200は、図3に示すように、鍵ペア生成部201、ルート鍵ペア格納部202、証明書生成部203、私有鍵証明書格納部204、入力部205、リボークデータ格納部206、署名部207、リボークファイル格納部208、制御部209、通信部210及びリボークファイル生成部211から構成されている。
なお、鍵発行装置200は、CPU、メモリ、二次記憶ユニット、ネットワーク接続ユニット、キーボードなどから構成されるコンピュータシステムである。ここで、ルート鍵ペア格納部202、私有鍵証明書格納部204、リボークデータ格納部206及びリボークファイル格納部208は、それぞれ、二次記憶ユニットにより構成されている。鍵ペア生成部201、証明書生成部203、署名部207、制御部209及びリボークファイル生成部211は、それぞれ、CPU及びCPUの上で動作するコンピュータプログラムにより構成されている。また、通信部210は、ネットワーク接続ユニットにより構成されている。さらに、入力部205は、キーボードから構成されている。
言うまでもなく、これらの構成に限定されるものではない。例えば、鍵ペア生成部201、証明書生成部203及び署名部207は、それぞれ、専用のハードウェア回路から構成されている、としてもよい。
(1)ルート鍵ペア格納部202、私有鍵証明書格納部204、リボークデータ格納部206及びリボークファイル格納部208
ルート鍵ペア格納部202は、ルート私有鍵231及びルート公開鍵232を記憶するための領域を備えている。ルート私有鍵231及びルート公開鍵232については、後述する。
私有鍵証明書格納部204は、鍵配信装置私有鍵251、鍵配信装置証明書252、端末装置私有鍵261、端末装置証明書262、記録媒体装置私有鍵271、記録媒体装置証明書272、制作装置私有鍵281及び制作装置証明書282を記憶するための領域を備えている。鍵配信装置私有鍵251、鍵配信装置証明書252、端末装置私有鍵261、端末装置証明書262、記録媒体装置私有鍵271、記録媒体装置証明書272、制作装置私有鍵281及び制作装置証明書282については、後述する。
リボークデータ格納部206は、リボークデータ241を記憶するための領域を備えている。リボークデータ241については、後述する。
リボークファイル格納部208は、リボークファイル242を記憶するための領域を備えている。リボークファイル242については、後述する。
(2)入力部205
入力部205は、利用者の操作により、無効化された端末装置を識別する端末装置ID及び無効化された記録媒体装置を識別する記録媒体装置IDの入力を受け付ける。
ここで、無効化された端末装置又は記録媒体装置のモデルIDの入力を受け付けるとしてもよい。ここで、モデルIDとは、端末装置又は記録媒体装置の種類を識別する型番号である。また、無効化された端末装置又は記録媒体装置に割り当てられた公開鍵証明書を識別する識別情報の入力を受け付けるとしてもよい。
次に、入力を受け付けた端末装置ID及び記録媒体装置IDをリボークデータ格納部206が有するリボークデータ241に書き込む。
リボークデータ241は、一例として、図5に示すように、端末装置ID(243)、端末装置ID(244)、・・・、記録媒体装置ID(245)、記録媒体装置ID(246)、・・・を含んでいる。
なお、リボークデータ241に含まれる端末装置IDと記録媒体装置IDの区別が付くように、予め、それぞれのIDの先頭に異なる値を埋め込んでもよい。例えば、端末装置IDの先頭は、「00」で始まり、一方、記録媒体装置IDの先頭は、「10」で始めるとしてもよい。
(3)鍵ペア生成部201
鍵ペア生成部201は、制御部209から、鍵生成指示を受け取る。この鍵生成指示は、鍵配信装置100、鍵発行装置200、端末装置300、コンテンツ制作装置500及び記録媒体装置600に、それぞれ、割り当てるべき私有鍵及び公開鍵の生成を指示している。
前記鍵生成指示を受け取ると、鍵ペア生成部201は、以下に示す鍵生成方法により、各装置に割り当てるべき私有鍵及び公開鍵を生成する。
鍵生成方法の一例は、以下の通りである。
一例として、楕円曲線暗号による公開鍵暗号化方式を用いる場合に、鍵ペア生成部201は、乱数xを生成し、生成した乱数xを私有鍵とする。次に、鍵ペア生成部201は、Y=x*Pを算出し、Yを公開鍵とする。ここで、Pは、楕円曲線上の点であり、a*Bは、楕円曲線上における乗算を示す。
なお、鍵ペア生成部201は、楕円曲線暗号による公開鍵暗号化方式に代えて、RSA暗号による公開鍵暗号化方式を用いて、私有鍵及び公開鍵を生成するとしてもよい。
鍵ペア生成部201は、上記の鍵生成方法により、鍵発行装置200に割り当てるべきルート私有鍵231及びルート公開鍵232を生成する。次に、鍵ペア生成部201は、ルート私有鍵231及びルート公開鍵232をルート鍵ペア格納部202へ書き込む。
ここで、ルート私有鍵231及びルート公開鍵232は、コンテンツ管理システム10aにおけるセキュリティの根幹となる。
また、鍵ペア生成部201は、上記の鍵生成方法により、鍵配信装置100に割り当てるべき鍵配信装置私有鍵251及び鍵配信装置公開鍵254を生成する。また、上記の鍵生成方法により、端末装置300に割り当てるべき端末装置私有鍵261及び端末装置公開鍵264を生成する。また、上記の鍵生成方法により、記録媒体装置600に割り当てるべき記録媒体装置私有鍵271及び記録媒体装置公開鍵274を生成する。また、上記の鍵生成方法により、コンテンツ制作装置500に割り当てるべき制作装置私有鍵281及び制作装置公開鍵284を生成する。
次に、鍵ペア生成部201は、鍵配信装置私有鍵251、端末装置私有鍵261、記録媒体装置私有鍵271及び制作装置私有鍵281をそれぞれ、私有鍵証明書格納部204へ書き込む。
また、鍵ペア生成部201は、鍵配信装置公開鍵254、端末装置公開鍵264、記録媒体装置公開鍵274及び制作装置公開鍵284を、それぞれ、証明書生成部203に対して出力する。
(4)証明書生成部203
証明書生成部203は、制御部209から、証明書生成指示を受け取る。この証明書生成指示は、鍵配信装置100、端末装置300、コンテンツ制作装置500及び記録媒体装置600の各々についての公開鍵証明書の生成を指示している。
前記証明書生成指示を受け取ると、証明書生成部203は、以下に示すようにして、各装置についての公開鍵証明書を生成する。
証明書生成部203は、後述する公開鍵証明書を一意に識別する識別子を生成する。
ここで、当該識別子の生成は、次に示すようにして行われる。
識別子は、数値からなる番号である。証明書生成部203は、直前に生成した識別子を記憶している。新たに識別子を生成するときに、証明書生成部203は、記憶している識別子に値「1」を加算することにより、新たな識別子を生成する。
次に、証明書生成部203は、当該装置に割り当てられた公開鍵を鍵ペア生成部201から受け取る。次に、生成した識別子と受け取った公開鍵とを結合して、結合体を生成する。
結合体=識別子||公開鍵
ここで、A||Bは、データAとデータBとをこの順序で結合して生成した結合体を示す。また、識別子と公開鍵とさらに他のデータとを結合して、結合体を生成してもよい。他のデータの例は、公開鍵証明書の形式バージョン、証明書の有効期限、公開鍵暗号化方式を識別する識別子などである。次に、生成した結合体を署名部207に対して出力し、署名データを生成するように指示する。
次に、証明書生成部203は、署名部207から署名データを受け取る。
署名データ=Sign(ルート私有鍵、結合体)
ここで、Sign(A、B)は、署名生成アルゴリズムS1により、鍵Aを用いて、データBに対して、デジタル署名を施して生成した署名データである。また、署名生成アルゴリズムS1は、例えば、EC−DSA(Elliptic Curve-Digital Signature Algorithm)である。
署名データを受け取ると、生成した結合体及び受け取った署名データを含む公開鍵証明書を生成し、生成した公開鍵証明書を私有鍵証明書格納部204へ書き込む。
次に、鍵配信装置100、端末装置300、記録媒体装置600及びコンテンツ制作装置500の各々の公開鍵証明書の生成について、説明する。ここで、鍵配信装置100についての公開鍵証明書は、鍵配信装置証明書252であり、端末装置300についての公開鍵証明書は、端末装置証明書262である。また、記録媒体装置600についての公開鍵証明書は、記録媒体装置証明書272であり、コンテンツ制作装置500についての公開鍵証明書は、制作装置証明書282である。
(鍵配信装置100についての鍵配信装置証明書252の生成)
証明書生成部203は、鍵配信装置証明書252を一意に識別する鍵配信装置ID(253)を生成する。次に、証明書生成部203は、鍵配信装置100に割り当てられた鍵配信装置公開鍵254を鍵ペア生成部201から受け取る。次に、鍵配信装置ID(253)と鍵配信装置公開鍵254を結合して、結合体を生成する。次に、生成した結合体を署名部207に対して出力する。次に、証明書生成部203は、署名部207から署名データ255を受け取る。
署名データ255=Sign(ルート私有鍵、鍵配信装置ID(253)||鍵配信装置公開鍵254)
署名データ255を受け取ると、証明書生成部203は、図4(a)に示すように、生成した結合体及び受け取った署名データ255を含む鍵配信装置証明書252を生成する。次に、生成した鍵配信装置証明書252を私有鍵証明書格納部204へ書き込む。
(端末装置300についての端末装置証明書262の生成)
証明書生成部203は、端末装置証明書262を一意に識別する端末装置ID(263)を生成する。次に、証明書生成部203は、端末装置300に割り当てられた端末装置公開鍵264を鍵ペア生成部201から受け取る。次に、端末装置ID(263)と端末装置公開鍵264を結合して、結合体を生成する。次に、生成した結合体を署名部207に対して出力する。次に、証明書生成部203は、署名部207から署名データ265を受け取る。
署名データ265=Sign(ルート私有鍵、端末装置ID(263)||端末装置公開鍵264)
署名データ265を受け取ると、証明書生成部203は、図4(b)に示すように、生成した結合体及び受け取った署名データ265を含む端末装置証明書262を生成する。次に、生成した端末装置証明書262を私有鍵証明書格納部204へ書き込む。
(記録媒体装置600についての記録媒体装置証明書272の生成)
証明書生成部203は、記録媒体装置証明書272を一意に識別する記録媒体装置ID(273)を生成する。次に、証明書生成部203は、記録媒体装置600に割り当てられた記録媒体装置公開鍵274を鍵ペア生成部201から受け取る。次に、記録媒体装置ID(273)と記録媒体装置公開鍵274を結合して、結合体を生成する。次に、生成した結合体を署名部207に対して出力する。次に、証明書生成部203は、署名部207から署名データ275を受け取る。
署名データ275=Sign(ルート私有鍵、記録媒体装置ID(273)||記録媒体装置公開鍵274)
署名データ275を受け取ると、証明書生成部203は、図4(c)に示すように、生成した結合体及び受け取った署名データ275を含む記録媒体装置証明書272を生成する。次に、生成した記録媒体装置証明書272を私有鍵証明書格納部204へ書き込む。
(コンテンツ制作装置500についての制作装置証明書282の生成)
証明書生成部203は、制作装置証明書282を一意に識別するコンテンツプロパイダID(283)を生成する。次に、証明書生成部203は、コンテンツ制作装置500に割り当てられた制作装置公開鍵284を鍵ペア生成部201から受け取る。次に、コンテンツプロパイダID(283)と制作装置公開鍵284を結合して、結合体を生成する。次に、生成した結合体を署名部207に対して出力する。次に、証明書生成部203は、署名部207から署名データ285を受け取る。
署名データ285=Sign(ルート私有鍵、コンテンツプロパイダID(283)||制作装置公開鍵284)
署名データ285を受け取ると、証明書生成部203は、図4(d)に示すように、生成した結合体及び受け取った署名データ285を含む制作装置証明書282を生成する。次に、生成した制作装置証明書282を私有鍵証明書格納部204へ書き込む。
(5)リボークファイル生成部211
リボークファイル生成部211は、制御部209の制御により、リボークデータ格納部206からリボークデータ241を読み出す。次に、読み出したリボークデータ241を署名部207に対して出力し、署名データ247を生成するように指示する。
次に、リボークファイル生成部211は、署名部207から署名データ247を受け取る。
署名データ247=Sign(ルート私有鍵、リボークデータ241)
次に、リボークファイル生成部211は、図5に示すように、リボークデータ241及び署名データ247を含むリボークファイル242を生成する。次に、生成したリボークファイル242をリボークファイル格納部208へ書き込む。
(6)署名部207
署名部207は、ルート鍵ペア格納部202からルート私有鍵231を読み出す。
次に、署名部207は、証明書生成部203から結合体を受け取る。また、リボークファイル生成部211からリボークデータ241を受け取る。
結合体を受け取ると、署名部207は、署名生成アルゴリズムS1により、読み出したルート私有鍵231を用いて、受け取った結合体にデジタル署名を施す。その結果、署名データを生成する。
署名データ=Sign(ルート私有鍵231、結合体)
次に、生成した署名データを証明書生成部203に対して出力する。
リボークデータ241を受け取ると、署名部207は、署名生成アルゴリズムS1により、読み出したルート私有鍵231を用いて、受け取ったリボークデータ241にデジタル署名を施す。その結果、署名データを生成する。
署名データ=Sign(ルート私有鍵231、リボークデータ241)
次に、生成した署名データをリボークファイル生成部211に対して出力する。
(7)通信部210
通信部210は、制御部209の制御により、ルート鍵ペア格納部202からルート公開鍵232を読み出す。次に、読み出したルート公開鍵232を、ネットワーク20を介して、鍵配信装置100、端末装置300及び記録媒体装置600に対して送信する。
また、通信部210は、私有鍵証明書格納部204から、鍵配信装置私有鍵251及び鍵配信装置証明書252のペアを読み出す。次に、読み出した鍵配信装置私有鍵251及び鍵配信装置証明書252のペアを、ネットワーク20を介して、鍵配信装置100に対して送信する。
また、通信部210は、制御部209の制御により、私有鍵証明書格納部204から、端末装置私有鍵261及び端末装置証明書262のペアを読み出す。次に、読み出した端末装置私有鍵261及び端末装置証明書262のペアを、ネットワーク20を介して、端末装置300に対して送信する。
また、通信部210は、制御部209の制御により、私有鍵証明書格納部204から、記録媒体装置私有鍵271及び記録媒体装置証明書272のペアを読み出す。次に、読み出した記録媒体装置私有鍵271及び記録媒体装置証明書272のペアを、図示していない記録媒体装置製造者の有する製造者装置を介して、端末装置300に対して出力する。
また、通信部210は、制御部209の制御により、私有鍵証明書格納部204から、制作装置私有鍵281及び制作装置証明書282のペアを読み出す。次に、読み出した制作装置私有鍵281及び制作装置証明書282のペアを、ネットワーク20を介して、コンテンツ制作装置500に対して送信する。
また、通信部210は、制御部209の制御により、リボークファイル格納部208から、リボークファイル242を読み出す。次に、読み出したリボークファイル242を、ネットワーク20を介して、鍵配信装置100に送信する。
(8)制御部209
制御部209は、鍵生成指示を生成する。ここで、鍵生成指示は、上述したように、鍵配信装置100、鍵発行装置200、端末装置300、コンテンツ制作装置500及び記録媒体装置600に、それぞれ、割り当てるべき私有鍵及び公開鍵の生成の指示を示す。次に、生成した鍵生成指示を鍵ペア生成部201に対して出力する。
また、制御部209は、証明書生成指示を生成する。ここで、証明書生成指示は、上述したように、鍵配信装置100、端末装置300、コンテンツ制作装置500及び記録媒体装置600の各々についての公開鍵証明書の生成の指示を示す。
また、制御部209は、リボークファイル生成部211に対して、リボークファイル242を生成するように指示する。
また、制御部209は、通信部210に対して、ルート公開鍵232を送信するように指示する。また、通信部210に対して、鍵配信装置私有鍵251及び鍵配信装置証明書252、端末装置私有鍵261及び端末装置証明書262、記録媒体装置私有鍵271及び記録媒体装置証明書272、制作装置私有鍵281及び制作装置証明書282、並びに、リボークファイル242を送信するように指示する。
2.3 コンテンツ制作装置500の詳細構成
コンテンツ制作装置500は、図6に示すように、素材格納部501、編集部502、暗号部503、コンテンツ格納部504、コンテンツ登録要求部505、制御部506、タイトル鍵生成部507、タイトル鍵格納部508、私有鍵証明書格納部509、署名部510、コンテンツ情報登録要求部511、登録データ格納部512、入力部513、表示部514及び通信部515から構成されている。
なお、コンテンツ制作装置500は、CPU、メモリ、二次記憶ユニット、ネットワーク接続ユニット、キーボード、液晶ディスプレィユニットなどから構成されるコンピュータシステムである。ここで、素材格納部501、コンテンツ格納部504、タイトル鍵格納部508、私有鍵証明書格納部509及び登録データ格納部512は、それぞれ、二次記憶ユニットにより構成されている。編集部502、暗号部503、コンテンツ登録要求部505、制御部506、タイトル鍵生成部507、署名部510、コンテンツ情報登録要求部511は、それぞれ、CPU及びCPUの上で動作するコンピュータプログラムにより構成されている。また、通信部515は、ネットワーク接続ユニットにより構成されている。また、入力部513は、キーボードから構成されている。また、表示部514は、液晶ディスプレィユニットから構成されている。
言うまでもなく、これらの構成に限定されるものではない。例えば、暗号部503、タイトル鍵生成部507及び署名部510は、それぞれ、専用のハードウェア回路から構成されている、としてもよい。
(1)素材格納部501、コンテンツ格納部504、タイトル鍵格納部508及び私有鍵証明書格納部509
素材格納部501は、映画などのビデオ及びオーディオ等の1個又は複数個の素材を記憶している。各素材は、映像及び音声がデジタル化され、符号化され、圧縮されたものである。ビデオ及びオーディオの制作については、本発明の主題に関係がないので、説明を省略する。
コンテンツ格納部504は、コンテンツ532を記憶するための領域を備えている。コンテンツ532は、後述するように、平文コンテンツ531を暗号化して生成したものである。
タイトル鍵格納部508は、タイトル鍵533を記憶するための領域を備えている。タイトル鍵533は、平文コンテンツ531を暗号化するために用いられる。
私有鍵証明書格納部509は、制作装置私有鍵281及び制作装置証明書282を記憶するための領域を備えている。制作装置私有鍵281及び制作装置証明書282は、鍵発行装置200から受け取ったものである。
(2)編集部502
編集部502は、利用者の操作により、素材格納部501に記憶されている素材を読み出し、読み出した素材を編集して平文コンテンツ531を生成する。生成した平文コンテンツ531を暗号部503に対して出力する。
(3)タイトル鍵生成部507
タイトル鍵生成部507は、128ビットの乱数を生成し、生成した乱数をタイトル鍵533とする。タイトル鍵生成部507は、生成したタイトル鍵533を暗号部503に対して出力する。また、生成したタイトル鍵533をタイトル鍵格納部508に書き込む。
(4)暗号部503
暗号部503は、編集部502から平文コンテンツ531を受け取る。また、タイトル鍵生成部507からタイトル鍵533を受け取る。
次に、暗号部503は、暗号化アルゴリズムE1により、タイトル鍵533を用いて、平文コンテンツ531を暗号化して、コンテンツ532を生成する。以降、特に注釈がない限り、コンテンツ532は、暗号化された状態にある。
ここで、暗号化アルゴリズムE1は、秘密鍵暗号方式による暗号化アルゴリズムである。暗号化アルゴリズムE1は、一例として、AES (Advanced Encryption Standard) によるものである。
次に、暗号部503は、コンテンツ532をコンテンツ格納部504に書き込む。
(5)コンテンツ登録要求部505
コンテンツ登録要求部505は、制御部506の制御により、コンテンツ532をコンテンツ配信装置400に登録するように要求する登録要求を生成する。次に、コンテンツ格納部504からコンテンツ532を読み出す。
コンテンツ登録要求部505は、生成したコンテンツの登録要求及び読み出したコンテンツ532を、通信部515に対して出力する。次に、コンテンツの登録要求及びコンテンツ532を、コンテンツ配信装置400に送信するよう、通信部515に指示する。
(6)入力部513及び表示部514
(表示部514)
表示部514は、図7に一例として示すように、コンテンツ情報の登録画面551tを表示する。
登録画面551tは、入力フィールド552t、入力フィールド553t、入力フィールド554t、入力フィールド555t、入力フィールド556t、入力フィールド557t、入力フィールド558t、ボタン559t及びボタン560tを含む。
入力フィールド552tは、コンテンツの制作者からコンテンツプロバイダIDの入力を受け付けるためのフィールドである。ここで、コンテンツプロバイダIDは、コンテンツの提供者を識別する識別情報である。
入力フィールド553tは、コンテンツの制作者からコンテンツIDの入力を受け付けるためのフィールドである。ここで、コンテンツIDは、コンテンツを識別する識別情報である。
入力フィールド554tは、コンテンツの制作者から品質レベルの入力を受け付けるためのフィールドである。ここで、品質レベルは、コンテンツの品質のレベルを示す情報である。一例として、品質レベル「HD」は、当該コンテンツが高い品質を有することを示す。具体的には、コンテンツが高解像度を有することを示す。また、品質レベル「SD」は、当該コンテンツが標準の品質を有することを示す。具体的には、コンテンツが標準の解像度を有することを示す。
入力フィールド555tは、コンテンツの制作者からジャンル情報の入力を受け付けるためのフィールドである。ここで、ジャンル情報は、コンテンツの種類や種別を示す情報であり、コンテンツが分類されるジャンルを示す。ジャンルの例は、「アクション」、「ファンタジー」、「スリラー」、「コメディー」などである。
入力フィールド556tは、コンテンツの制作者から利用条件情報の入力を受け付けるためのフィールドである。ここで、利用条件情報は、コンテンツの制作者がコンテンツの利用者に課す条件を示す情報である。利用条件情報の例は、「2012年12月末まで利用可」、「10回まで再生可」など、コンテンツの利用期限を限定したり、コンテンツの利用回数を限定したりするものである。
入力フィールド557tは、コンテンツの制作者から認証条件情報の入力を受け付けるためのフィールドである。ここで、認証条件情報は、コンテンツの制作者がコンテンツの利用者に課す条件を示す情報である。
認証条件情報の一例は、「3回に一度、接続確認」である。ここで、認証条件情報として、「3回に一度、接続確認」が設定された場合には、次のようにして認証が行われる。端末装置300においてコンテンツを利用する際に、コンテンツを3回利用する毎に、1回、端末装置300は、コンテンツ配信装置400への接続を要求する。この接続が行われた後、コンテンツ配信装置400は、端末装置300の正当性、コンテンツの正当性、コンテンツが記憶されている記録媒体装置600の正当性を認証する。これらの認証のうち、何れか一つの正当性が認証されない場合には、コンテンツの再生は許可されない。これらの正当性の認証において、全ての正当性が認証された場合に、コンテンツの再生が許可される。
認証条件情報の別の例は、「タイトル鍵の接続確認」である。ここで、認証条件情報として、ここで、「タイトル鍵の接続確認」が設定された場合には、次のようにして認証が行われる。端末装置300においてコンテンツを利用する都度、端末装置300は、鍵配信装置100への接続を要求する。この接続が行われた後、鍵配信装置100は、端末装置300の正当性、タイトル鍵の正当性、タイトル鍵が記憶されている記録媒体装置600の正当性を認証する。これらの認証のうち、何れか一つの正当性が認証されない場合には、コンテンツの再生は許可されない。これらの正当性の認証において、全ての正当性が認証された場合に、タイトル鍵の利用及びコンテンツの再生が許可される。
入力フィールド558tは、コンテンツの制作者からリボーク装置IDの入力を受け付けるためのフィールドである。ここで、リボーク装置IDは、無効化された装置を識別する識別情報である。
リボーク装置IDの入力の一例は、「0005、0006」である。「0005、0006」は、識別情報「0005」及び「0006」によりそれぞれ識別される装置が無効化されていることを示す。
リボーク装置IDの入力の別の一例は、「0101−0106」である。「0101−0106」は、識別情報「0101」、「0102」、「0103」、「0104」、「0105」及び「0106」によりそれぞれ識別される装置が無効化されていることを示す。
リボーク装置IDの入力の別の一例は、「0101−0106、0110−0120」である。「0101−0106、0110−0120」は、識別情報「0101」、「0102」、・・・及び「0106」、並びに、識別情報「0110」、「0111」、・・・及び「0120」によりそれぞれ識別される装置が無効化されていることを示す。
ボタン559t及びボタン560tは、コンテンツの制作者からリボーク承認をするか、又は、リボーク承認をいないかの入力を受け付けるためのボタンである。コンテンツの制作者により、ボタン559t及びボタン560tのいずれか一方が操作される。
リボーク承認とは、端末装置300においてコンテンツを利用する際に、コンテンツに付された個別無効化リストにより、端末装置300が無効化されているか否かを確認することを、コンテンツの制作者が承認することを示す。
コンテンツの制作者が、リボーク承認を行う場合には、コンテンツの制作者は、ボタン559tを操作する。一方、コンテンツの制作者が、リボーク承認を行わない場合には、コンテンツの制作者は、ボタン560tを操作する。
上述したように、ボタン559t及び560tの何れか一方は、必ず、選択されなければならない。また、ボタン559tが選択された場合には、入力フィールド558tについては、コンテンツの制作者により必ず入力されなければならない。
なお、登録画面は、図7に示す登録画面551tには限定されない。
登録画面551tは、入力フィールド554t、555t、556t及び557tを含まないとしてもよい。また、登録画面551tは、入力フィールド553t、554t、556t及び557tを含まないとしてもよい。また、登録画面551tは、入力フィールド553t、555t、556t及び557tを含まないとしてもよい。
(入力部513)
入力部513は、コンテンツの制作者から、入力フィールド552t、553t、・・・、558t、ボタン559t及びボタン560tにおける入力結果を受け付ける。言い換えると、入力部513は、コンテンツの制作者から、コンテンツプロバイダID、コンテンツID、品質レベル、ジャンル情報、利用条件情報、認証条件情報、リボーク装置ID及びリボーク承認の入力を受け付ける。これらの入力を受け付けると、コンテンツプロバイダID、コンテンツID、品質レベル、ジャンル情報、利用条件情報、認証条件情報、リボーク装置ID及びリボーク承認フラグを含むコンテンツ情報の登録データ541を生成する。次に、生成した登録データ541を登録データ格納部512に書き込む。
ここで、リボーク承認フラグは、ボタン559tが操作された場合に、「ON」に設定される。一方、ボタン560tが操作された場合に、「OFF」に設定される。
登録画面551tにおいて、入力されなかった項目は、登録データ541には、含まれない。例えば、上述したように、入力フィールド554t、555t、556t、557t及び558tにおいては、データが入力されない場合がある。従って、品質レベル、ジャンル情報、利用条件情報、認証条件情報及びリボーク装置IDは、登録データ541に含まれない場合がある。
(7)署名部510
署名部510は、制御部506から署名生成の指示を受け取る。署名生成の指示を受け取ると、登録データ格納部512から登録データ541を読み出す。読み出した登録データ541に含まれるリボーク承認フラグが「ON」であるか、又は、「OFF」であるかを判断する。
リボーク承認フラグが「OFF」である場合、署名部510は、何もしない。
リボーク承認フラグが「ON」である場合、署名部510は、私有鍵証明書格納部509から制作装置私有鍵281を読み出す。次に、署名生成アルゴリズムS1により、制作装置私有鍵281を用いて、読み出した登録データ541にデジタル署名を施す。この結果、署名データを生成する。
ここで、署名生成アルゴリズムS1は、公開鍵暗号方式をベースとする署名生成アルゴリズムである。ここで、公開鍵暗号方式において用いられる暗号技術の一例は、楕円曲線暗号である。このとき、署名生成アルゴリズムS1は、例えば、EC−DSA(Elliptic Curve-Digital Signature Algorithm)である。
次に、署名部510は、登録データ541に、生成した署名データを付加し、署名データが付加された登録データ541を、登録データ格納部512に記憶されている登録データ541に上書きする。
(8)コンテンツ情報登録要求部511
コンテンツ情報登録要求部511は、制御部506の制御により、タイトル鍵格納部508からタイトル鍵533を読み出す。次に、読み出したタイトル鍵533を、登録データ格納部512に記憶されている登録データ541に追加して書き込む。
コンテンツ情報登録要求部511は、制御部506の制御により、コンテンツ情報の登録データの鍵配信装置100への登録の要求を示す登録要求を生成する。次に、登録データ格納部512から登録データ541を読み出し、登録要求及び登録データ541を通信部515に対して出力して、鍵配信装置100に対して送信するように指示する。
(9)通信部515
通信部515は、鍵発行装置200から、ネットワーク20を介して、制作装置私有鍵281及び制作装置証明書282を受信する。次に、受信した制作装置私有鍵281及び制作装置証明書282を私有鍵証明書格納部509に書き込む。
通信部515は、鍵発行装置200から、ネットワーク20を介して、制作装置私有鍵281及び制作装置証明書282を受信する。次に、受信した制作装置私有鍵281及び制作装置証明書282を私有鍵証明書格納部509に書き込む。
通信部515は、コンテンツ登録要求部505からコンテンツの登録要求及びコンテンツ532を受け取る。次に、受け取った登録要求及びコンテンツ532を、ネットワーク20を介して、コンテンツ配信装置400に送信する。
通信部515は、コンテンツ情報登録要求部511から、コンテンツ情報の登録要求及び登録データ541を受け取る。次に、受け取った登録要求及び登録データ541を、ネットワーク20を介して、鍵配信装置100に送信する。
(10)登録データ格納部512
登録データ格納部512は、コンテンツ情報の登録データ541を記憶している。
登録データの例を、図8〜14に示す。なお、図8〜14に示す登録データの例は、タイトル鍵及び署名データが付加されたものである。
(登録データ541)
図8に示す登録データ541は、コンテンツプロバイダID(542)、コンテンツID(543)、ジャンル情報544、品質レベル(545)、タイトル鍵546、利用条件情報547、接続条件情報548、リボーク情報549及びリボーク承認フラグ552を含む。リボーク情報549は、端末装置ID(550)及び端末装置ID(551)を含む。
ここで、リボーク承認フラグ552は、「ON」であるので、登録データ541は、リボーク情報549を含む。
このように、登録データ541においては、端末装置300においてコンテンツを利用する際に、コンテンツに付された個別無効化リストにより、端末装置300が無効化されているか否かを確認することを、コンテンツの制作者が承認している。
(登録データ541a)
図9に示す登録データ541aは、コンテンツプロバイダID(542a)、コンテンツID(543a)、ジャンル情報544a、品質レベル(545a)、タイトル鍵546a、利用条件情報547a、接続条件情報548a及びリボーク承認フラグ552aを含む。
ここで、リボーク承認フラグ552aは、「OFF」であるので、登録データ541aは、リボーク情報を含まない。
このように、登録データ541aにおいては、端末装置300においてコンテンツを利用する際に、コンテンツに付された個別無効化リストにより、端末装置300が無効化されているか否かを確認することを、コンテンツの制作者が承認していない。
(登録データ541b)
図10に示す登録データ541bは、コンテンツプロバイダID(542b)、コンテンツID(543b)、ジャンル情報544b、品質レベル(545b)、タイトル鍵546b、利用条件情報547b、接続条件情報548b、リボーク情報549b、リボーク承認フラグ552b及び署名データ553bを含む。リボーク情報549bは、端末装置ID(550b)及び端末装置ID(551b)を含む。
ここで、リボーク承認フラグ552bは、「ON」であるので、登録データ541bは、リボーク情報549bを含む。
また、署名データ553bは、結合体に対して、署名生成アルゴリズムS1により、制作装置私有鍵281を用いて、デジタル署名を施して生成したものである。ここで、結合体は、コンテンツプロバイダID(542b)、コンテンツID(543b)、ジャンル情報544b、品質レベル(545b)、タイトル鍵546b、利用条件情報547b、接続条件情報548b、リボーク情報549b及びリボーク承認フラグ552bをこの順序で結合して生成したものである。
このように、登録データ541bにおいては、端末装置300においてコンテンツを利用する際に、コンテンツに付された個別無効化リストにより、端末装置300が無効化されているか否かを確認することを、コンテンツの制作者が承認している。
(登録データ541c)
図11に示す登録データ541cは、コンテンツプロバイダID(542c)、コンテンツID(543c)、ジャンル情報544c、品質レベル(545c)、タイトル鍵546c、利用条件情報547c及び接続条件情報548cを含む。
ここで、登録データ541cは、リボーク承認フラグを含まない、また、登録データ541cは、リボーク情報を含まない。
このように、登録データ541cにおいては、端末装置300においてコンテンツを利用する際に、コンテンツに付された個別無効化リストにより、端末装置300が無効化されているか否かを確認することを、コンテンツの制作者が承認していない。
(登録データ541d)
図12に示す登録データ541dは、コンテンツプロバイダID(542d)、コンテンツID(543d)、ジャンル情報544d、品質レベル(545d)、タイトル鍵546d、利用条件情報547d、接続条件情報548d、リボーク情報549d、リボーク承認フラグ552d及び署名データ553dを含む。リボーク情報549dは、端末装置ID(550d)及び端末装置ID(551d)を含む。
ここで、リボーク承認フラグ552dは、「ON」であるので、登録データ541dは、リボーク情報549dを含む。
また、署名データ553dは、結合体に対して、署名生成アルゴリズムS1により、制作装置私有鍵281を用いて、デジタル署名を施して生成したものである。ここで、結合体は、コンテンツプロバイダID(542d)、コンテンツID(543d)、ジャンル情報544d、品質レベル(545d)、タイトル鍵546d、利用条件情報547d、接続条件情報548d、リボーク情報549d及びリボーク承認フラグ552dをこの順序で結合して生成したものである。
(登録データ541e)
図13に示す登録データ541eは、コンテンツプロバイダID(542e)、コンテンツID(543e)、ジャンル情報544e、利用条件情報547e、接続条件情報548e、リボーク情報549e、リボーク承認フラグ552e及び署名データ553eを含む。リボーク情報549eは、端末装置ID(550e)及び端末装置ID(551e)を含む。
ここで、リボーク承認フラグ552eは、「ON」であるので、登録データ541eは、リボーク情報549eを含む。
また、署名データ553eは、結合体に対して、署名生成アルゴリズムS1により、制作装置私有鍵281を用いて、デジタル署名を施して生成したものである。ここで、結合体は、コンテンツプロバイダID(542e)、コンテンツID(543e)、ジャンル情報544e、利用条件情報547e、接続条件情報548e、リボーク情報549e及びリボーク承認フラグ552eをこの順序で結合して生成したものである。
(登録データ541f)
図14に示す登録データ541fは、コンテンツプロバイダID(542f)、品質レベル(545f)、利用条件情報547f、接続条件情報548f、リボーク情報549f、リボーク承認フラグ552f及び署名データ553fを含む。リボーク情報549fは、端末装置ID(550f)及び端末装置ID(551f)を含む。
ここで、リボーク承認フラグ552fは、「ON」であるので、登録データ541fは、リボーク情報549fを含む。
また、署名データ553fは、結合体に対して、署名生成アルゴリズムS1により、制作装置私有鍵281を用いて、デジタル署名を施して生成したものである。ここで、結合体は、コンテンツプロバイダID(542f)、品質レベル(545f)、利用条件情報547f、接続条件情報548f、リボーク情報549f、リボーク承認フラグ552fをこの順序で結合して生成したものである。
(11)制御部506
制御部506は、署名部510に対して、署名生成の指示を出力する。
また、制御部506は、コンテンツ登録要求部505に対して、コンテンツの登録要求を出力するように、制御する。
また、制御部506は、コンテンツ情報登録要求部511に対して、コンテンツ情報の登録要求を出力するように、制御する。
2.4 コンテンツ配信装置400の詳細構成
コンテンツ配信装置400は、図15に示すように、制御部401、通信部402及びコンテンツ格納部403、相互認証部404及び表示部405から構成されている。
なお、コンテンツ配信装置400は、CPU、メモリ、二次記憶ユニット、ネットワーク接続ユニットなどから構成されるコンピュータシステムである。ここで、コンテンツ格納部403は、二次記憶ユニットにより構成されている。制御部401は、CPU及びCPUの上で動作するコンピュータプログラムにより構成されている。また、通信部402は、ネットワーク接続ユニットにより構成されている。
(1)コンテンツ格納部403
コンテンツ格納部403は、コンテンツ532を記憶するための領域を備えている。
(2)通信部402
通信部402は、コンテンツ制作装置500から、ネットワーク20を介して、コンテンツの登録要求及びコンテンツ532を受信する。次に、受信したコンテンツ532をコンテンツ格納部403へ書き込む。
通信部402は、端末装置300から、ネットワーク20を介して、コンテンツの配信の依頼を示す配信依頼情報431を受け取る。配信依頼情報431は、一例として、図16に示すように、コンテンツプロバイダID(432)及びコンテンツID(433)を含む。受け取った配信依頼情報431を制御部401に対して出力する。
通信部402は、制御部401からコンテンツを受け取り、制御部401の指示により、受け取ったコンテンツを、ネットワーク20を介して、端末装置300に対して送信する。
(3)制御部401
制御部401は、配信依頼受信部430から配信依頼情報431を受け取る。配信依頼情報431を受け取ると、制御部401は、配信依頼情報431に含まれるコンテンツID(433)により識別されるコンテンツをコンテンツ格納部403から検索する。コンテンツID(433)により識別されるコンテンツを発見すると、当該コンテンツを、コンテンツ格納部403から読み出し、読み出したコンテンツを通信部402に出力し、端末装置300に対して送信するように、指示する。
(4)相互認証部404
相互認証部404は、接続先の機器との間で相互の認証及び鍵共有を行う。詳細については、後述する鍵配信装置100の相互認証部105と同様であるので、説明を省略する。
(5)表示部405
表示部405は、制御部401の制御により、情報を表示する。
2.5 鍵配信装置100の詳細構成
鍵配信装置100は、図17に示すように、通信部101、リボーク判断部102、リボークファイル格納部103、私有鍵証明書格納部104、相互認証部105、ルート公開鍵格納部106、暗号復号部107、検証部108、コンテンツ情報生成部109、更新部110、コンテンツ情報リスト格納部111、制御部112及び表示部113から構成されている。
なお、鍵配信装置100は、CPU、メモリ、二次記憶ユニット、ネットワーク接続ユニット、液晶ディスプレィユニットなどから構成されるコンピュータシステムである。ここで、リボークファイル格納部103、私有鍵証明書格納部104、ルート公開鍵格納部106及びコンテンツ情報リスト格納部111は、それぞれ、二次記憶ユニットにより構成されている。リボーク判断部102、相互認証部105、暗号復号部107、検証部108、コンテンツ情報生成部109、更新部110及び制御部112は、それぞれ、CPU及びCPUの上で動作するコンピュータプログラムにより構成されている。また、通信部101は、ネットワーク接続ユニットにより構成されている。また、表示部113は、液晶ディスプレィユニットにより構成されている。
言うまでもなく、これらの構成に限定されるものではない。例えば、暗号復号部107、相互認証部105及び検証部108は、それぞれ、専用のハードウェア回路から構成されている、としてもよい。
(1)ルート公開鍵格納部106、リボークファイル格納部103、私有鍵証明書格納部104及びコンテンツ情報リスト格納部111
(ルート公開鍵格納部106)
ルート公開鍵格納部106は、ルート公開鍵232を記憶するための領域を備えている。
(リボークファイル格納部103)
リボークファイル格納部103は、リボークファイル242を記憶するための領域を備えている。
(私有鍵証明書格納部104)
私有鍵証明書格納部104は、鍵配信装置私有鍵251及び鍵配信装置証明書252を記憶するための領域を備えている。
(コンテンツ情報リスト格納部111)
コンテンツ情報リスト格納部111は、コンテンツ情報リスト131cを記憶している。 コンテンツ情報リスト131cは、一例として、図18にそのデータ構造を示すように、複数のコンテンツ関連情報を含んでいる。各コンテンツ関連情報は、コンテンツ情報、リボーグ情報、認証条件情報及び利用条件情報を含む。コンテンツ情報は、コンテンツプロバイダID、コンテンツID、ジャンル情報、品質レベル及びタイトル鍵を含む。
リボーグ情報、認証条件情報、利用条件情報、コンテンツプロバイダID、コンテンツID、ジャンル情報、品質レベル及びタイトル鍵については、上述した通りである。
図18に示すように、コンテンツ情報リスト131cは、一例として、コンテンツ関連情報132を含んでいる。コンテンツ関連情報132に含まれるコンテンツ情報は、コンテンツプロバイダID(133)「01」、コンテンツID(134)「0001」、ジャンル情報135「アクション」、品質レベル136「SD」及びタイトル鍵137「XXXX」を含む。リボーク情報138には、何も含まれていない。認証条件情報139は、「3回に一度接続確認」であり、利用条件情報140は、「10回まで再生可」である。なお、タイトル鍵137「XXXX」は、タイトル鍵が「XXXX」であることを示しているのではない。タイトル鍵そのものを表示することはコンテンツの保護の観点から適切でないので、「XXXX」としているのである。
図18に示すコンテンツ情報リスト131cにおいては、どのコンテンツ関連情報においても、リボーク情報が設定されていない。
(2)通信部101
通信部101は、鍵発行装置200から、ネットワーク20を介して、ルート公開鍵232、リボークファイル242、鍵配信装置私有鍵251及び鍵配信装置証明書252を受信する。次に、受信したルート公開鍵232をルート公開鍵格納部106へ書き込む。また、受信したリボークファイル242をリボークファイル格納部103へ書き込む。さらに、受信した鍵配信装置私有鍵251及び鍵配信装置証明書252を私有鍵証明書格納部104へ書き込む。
また、通信部101は、コンテンツ制作装置500から、ネットワーク20を介して、コンテンツ情報の登録データ541を受信する。次に、受信した登録データ541を更新部110に対して出力する。
また、通信部101は、端末装置300から、ネットワーク20を介して、コンテンツ情報の送信要求を受け取る。次に、コンテンツ情報の送信要求を制御部112に対して出力する。
(3)更新部110
更新部110は、通信部101から登録データ541を受け取る。登録データ541を受け取ると、受け取った登録データ541を検証部108に対して出力し、署名データの検証を行うように指示する。更新部110は、検証部108から検証結果を受け取る。検証結果が検証の失敗を示す場合、更新部110は、登録データ541を使用しない。従って、登録データ541の処理を行わない。一方、検証結果が検証の成功を示す場合、又は、検証結果が署名データの検証をしない旨を示す場合、受け取った登録データ541を用いて、コンテンツ情報リスト格納部111に記憶されているコンテンツ情報リスト131cを更新する。
更新部110は、次のようにして、コンテンツ情報リスト131cを更新する。
登録データ541に含まれるコンテンツIDと同一のコンテンツIDを含むコンテンツ関連情報がコンテンツ情報リスト131cに含まれているか否かを判断する。
(a)登録データ541に含まれるコンテンツIDと同一のコンテンツIDを含むコンテンツ関連情報がコンテンツ情報リスト131cに含まれている場合、登録データ541に含まれているその他の項目を、当該コンテンツ関連情報内に追記又は上書きする。
例えば、登録データ541にリボーク情報が含まれている場合に、当該コンテンツ関連情報内に、登録データ541に含まれているリボーク情報を追記又は上書きする。その他の登録データ541に含まれる項目についても同様である。なお、登録データ541に含まれる一の項目について、同一の内容の項目が当該コンテンツ関連情報内に含まれている場合には上書きする必要はない。
(b)登録データ541に含まれるコンテンツIDと同一のコンテンツIDを含むコンテンツ関連情報がコンテンツ情報リスト131cに含まれていない場合、登録データ541に含まれている項目を含むコンテンツ関連情報を生成し、生成したコンテンツ関連情報をコンテンツ情報リスト131cに追加する。
(コンテンツ情報リスト131a)
このようにして、更新されたコンテンツ情報リストの一例として、図19にコンテンツ情報リスト131aを示す。コンテンツ情報リスト131aにおいては、図18に示すコンテンツ関連情報132のリボーク情報138が、コンテンツ関連情報132aのリボーク情報138aに更新されている。リボーク情報138aは、「端末装置ID:0005 端末装置ID:0006」を含む。
図19に示すコンテンツ情報リスト131aにおいて、コンテンツ情報リスト131cとの差分は、コンテンツ関連情報132に、リボーク情報として、「端末装置ID:0005」及び「端末装置ID:0006」が追加された点である。この例で示すように、コンテンツ制作装置500は、コンテンツIDを指定して、特定のコンテンツにリボーク情報を追加できる。
(コンテンツ情報リスト131b)
コンテンツ情報リスト131aを更に更新して得られたコンテンツ情報リスト131bを図20に示す。コンテンツ情報リスト131bにおいては、さらに、コンテンツ関連情報132b及び132cが更新されている。
コンテンツ情報リスト131bは、図14に示す登録データ541fを用いて、コンテンツ情報リスト131aを更新した場合に得られたものである。
コンテンツ情報リスト131aとの差分は、コンテンツ関連情報132b及び132cのそれぞれに、リボーク情報として、「端末装置ID:0003」と「端末装置ID:0004」が追加された点である。この例で示すように、コンテンツプロバイダID及び品質レベルを指定して、複数のコンテンツ関連情報に対して、まとめて、リボーク情報を追加することができる。ここでは、コンテンツプロバイダID「01」及び品質レベル「HD」を指定し、複数のコンテンツ関連情報132b及び132cに対してまとめてリボーク情報「端末装置ID:0003」と「端末装置ID:0004」を追加している。
(4)検証部108
検証部108は、更新部110から登録データ541を受け取る。登録データ541を受け取ると、検証部108は、登録データ541にリボーク承認フラグが含まれているか否かを判断する。リボーク承認フラグが含まれていない場合、登録データ541に関して何もしないで、署名データの検証をしない旨を示す検証結果を更新部110に対して出力する。
リボーク承認フラグが含まれている場合に、検証部108は、リボーク承認フラグが「ON」であるか否かを判断する。
リボーク承認フラグが「OFF」である場合、検証部108は、登録データ541に関して何もしないで、署名データの検証をしない旨を示す検証結果を更新部110に対して出力する。
一方、リボーク承認フラグが「ON」である場合、検証部108は、登録データ541から署名データ以外のデータを抽出し、さらに、署名データを抽出する。また、ルート公開鍵格納部106からルート公開鍵232を読み出す。次に、署名検証アルゴリズムV1により、読み出したルート公開鍵232を用いて、登録データ541のうちの署名データ以外のデータ及び検証データに対して、デジタル署名の検証を施す。その検証結果を生成し、検証結果を更新部110に対して出力する。ここで、検証結果は、デジタル署名の検証に成功したこと及び失敗したことのいずれかを示す。
(5)コンテンツ情報生成部109
コンテンツ情報生成部109は、制御部112から、コンテンツ情報を生成する指示を受け取る。コンテンツ情報を生成する指示を受け取ると、当該指示からコンテンツIDを抽出する。
コンテンツ情報生成部109は、コンテンツ情報リスト格納部111に記憶されているコンテンツ情報リスト131c内において、抽出したコンテンツIDを検索する。言い換えると、抽出したコンテンツIDを含むコンテンツ関連情報がコンテンツ情報リスト131c内に存在するか否かを判断する。抽出したコンテンツIDが存在しない場合には、その旨を示すメッセージを生成する。次に、生成したメッセージを相手の装置に送信し、以降の処理を停止する。
一方、抽出したコンテンツIDが存在する場合には、以降の処理を実行する。
(個別無効化リスト141の生成)
抽出したコンテンツIDが存在する場合には、以下のようにして、図21に一例として示す個別無効化リスト141を生成する。
コンテンツ情報生成部109は、個別無効化リスト141を初期化する。この状態で、個別無効化リスト141には、何も含まれていない。
次に、コンテンツ情報生成部109は、コンテンツ情報リスト131c内のコンテンツ関連情報について、(a)〜(e)を繰り返す。
(a)コンテンツ関連情報を読み出す。
(b)読み出したコンテンツ関連情報からリボーク情報の抽出を試みる。
(c)リボーク情報が存在する場合、エントリIDを生成する。エントリIDの生成は、直前に生成したエントリIDを記憶しておき、記憶しているエントリIDに、値「1」を加算することにより、行う。
(d)生成したエントリIDとリボーク情報とを含む個別無効化情報を生成する。
(e)生成した個別無効化情報を、個別無効化リスト141に追加して書き込む。
(暗号化コンテンツ情報の生成)
コンテンツ情報生成部109は、コンテンツ情報リスト131cから、抽出したコンテンツIDを含むコンテンツ関連情報を読み出す。次に、読み出したコンテンツ関連情報から、コンテンツ情報、認証条件情報及び利用条件情報を抽出する。
図21に示すように、抽出した認証条件情報を、抽出したコンテンツ情報に含め、新たにコンテンツ情報161を生成する。また、抽出したコンテンツIDに対応するエントリIDを個別無効化リスト141から抽出し、図21に示すように、抽出したエントリIDを、利用条件情報に含め、新たに利用条件情報162を生成する。
次に、コンテンツ情報生成部109は、私有鍵証明書格納部104から鍵配信装置私有鍵251を読み出す。次に、図21に示すように、コンテンツ情報生成部109は、コンテンツ情報161、利用条件情報162及び個別無効化リスト141を結合して結合体180を生成する。次に、署名生成アルゴリズムS1により、鍵配信装置私有鍵251を用いて、結合体180にデジタル署名を施して、署名データ181を生成する。
次に、結合体180及び署名データ181を暗号復号部107に出力する。次に、結合体180及び署名データ181を暗号化して記録媒体装置600に対して送信するように、指示する。
(6)相互認証部105
相互認証部105は、以下に示すようにして、記録媒体装置600(又は、端末装置300)との間で、相互認証を行い、記録媒体装置600(又は、端末装置300)と同一の共有鍵を共有する。
相互認証部105は、図22に示すように、乱数生成部A11、乱数比較部A12、復号部A13、暗号化部A14、検証部A15及び鍵共有部A16から構成されている。
乱数生成部A10は、乱数R1を生成する。次に、生成した乱数R1を乱数比較部A12に出力する。また、生成した乱数R1を相互認証の相手の装置(ここでは、記録媒体装置600(又は、端末装置300))に送信する。
復号部A13は、相互認証の相手の装置から、暗号化乱数E3(R1)を受け取る。次に、復号アルゴリズムD3により、受け取った暗号化乱数E3(R1)を復号して復号文R1’=D3(E3(R1))を生成する。次に、生成した復号文R1’を乱数比較部A12へ出力する。
ここで、復号アルゴリズムD3は、秘密鍵暗号方式による復号アルゴリズムである。復号アルゴリズムD3は、一例として、AESによるものである。E3(A)は、平文Aに対して暗号化アルゴリズムE3を施して生成した暗号文を示す。また、D3(B)は、暗号文Bに対して復号アルゴリズムD3を施して生成した復号文を示す。
乱数比較部A12は、乱数R1を受け取り、復号文R1’を受け取る。次に、乱数R1と復号文R1’とを比較する。乱数R1と復号文R1’とが一致する場合に、相互認証部105は、相手の装置が正当であると判断する。乱数R1と復号文R1’とが一致しない場合に、相互認証部105は、相手の装置が不正であると判断する。
暗号化部A14は、相手の装置から乱数R2を受け取る。乱数R2を受け取ると、暗号化アルゴリズムE4により、乱数R2を暗号化して、暗号化乱数E4(R2)を生成し、生成した暗号化乱数E4(R2)を相手の装置へ送信する。
ここで、暗号化アルゴリズムE4は、秘密鍵暗号方式による暗号化アルゴリズムである。暗号化アルゴリズムE4は、一例として、AESによるものである。また、E4(A)は、平文Aに対して暗号化アルゴリズムE4を施して生成した暗号文を示す。
相互の認証に成功すると、検証部A15は、私有鍵証明書格納部104から鍵配信装置証明書252を読み出す。次に、読み出した鍵配信装置証明書252を相手の装置へ送信する。また、検証部A15は、相手の装置から、相手の装置の公開鍵証明書を受信する。ここで、相手の装置が記録媒体装置600(又は、端末装置300)である場合には、その公開鍵証明書は、記録媒体装置証明書272(又は、端末装置証明書262)である。
検証部A15は、次に、ルート公開鍵格納部106からルート公開鍵232を読み出し、読み出したルート公開鍵232を用いて、相手の装置の公開鍵証明書の検証を行う。
検証に失敗した場合には、以下の処理を行わない。検証に成功した場合、鍵共有部A16は、鍵共有の処理を実行して、共有鍵kを算出する。
相互認証部105は、相手の装置との間で相互の認証に成功すると、相互の認証に成功したことを示す認証結果を制御部112に対して出力する。
(7)リボーク判断部102
リボーク判断部102は、相互認証部105から、相互認証の相手の装置の識別情報を受け取る。相手の装置の識別情報は、相手の装置の公開鍵証明書に含まれている。ここで、相互認証の相手の装置は、記録媒体装置600又は端末装置300である。相手の装置の識別情報は、端末装置300を識別する端末装置ID、又は、記録媒体装置600を識別する記録媒体装置IDである。また、相手の装置の識別情報は、端末装置300又は記録媒体装置600のモデルIDであるとしてもよい。また、相手の装置の識別情報は、当該装置に割り当てられた公開鍵証明書を識別する識別情報であるとしてもよい。
リボーク判断部102は、相手の装置の識別情報が、リボークファイル格納部103に格納されているリボークファイル242に含まれているか否かを判断する。
相手の装置の識別情報が、リボークファイル格納部103に格納されているリボークファイル242に含まれていると判断する場合には、相手の装置が不正であるとみなし、相互その旨を示すメッセージを生成し、生成したメッセージを制御部112へ出力して、相手の装置との通信及び処理を停止するように、制御する。
(8)暗号復号部107
暗号復号部107は、相互認証部105が相手の装置との間で相互の認証に成功した場合に、相互認証部105から共有鍵kを受け取る。
相手の装置に対して、平文データを送信する場合、暗号化アルゴリズムE2により、共有鍵kを用いて、平文データを暗号化して暗号化データを生成する。次に、暗号化データを通信部101に対して出力して、相手の装置に送信するように指示する。
また、相手の装置から、暗号化データを受信する場合、復号アルゴリズムD2により、共有鍵kを用いて、暗号化データを復号して元の平文データを生成する。次に、平文データを鍵配信装置100の構成要素に対して出力する。
ここで、暗号化アルゴリズムE2は、秘密鍵暗号方式による暗号化アルゴリズムである。暗号化アルゴリズムE2は、一例として、AESによるものである。また、復号アルゴリズムD2も、秘密鍵暗号方式による復号アルゴリズムである。復号アルゴリズムD2は、一例として、AESによるものである。復号アルゴリズムD2は、暗号化アルゴリズムE2により、暗号化された暗号文を復号する。
こうして、暗号復号部107は、伝送路上のデータを保護することができる。
一例として、暗号復号部107は、コンテンツ情報生成部109から、結合体180及び署名データ181を受け取る。次に、暗号復号部107は、暗号化アルゴリズムE2により、共有鍵kを用いて、結合体180及び署名データ181を暗号化して、暗号化コンテンツ情報結合体を生成する。次に、生成した暗号化コンテンツ情報結合体を、記録媒体装置600に対して送信するように、通信部101へ指示する。
(9)制御部112
制御部112は、端末装置300から、ネットワーク20及び通信部101を介して、コンテンツ情報の送信要求を受け取る。コンテンツ情報の送信要求を受け取ると、相互認証部105に対して、記録媒体装置600との間で相互の認証を行うように指示する。相互認証に成功すると、制御部112は、リボーク判断部102に対して、端末装置300及び記録媒体装置600の無効の確認をするように指示する。
制御部112は、相互認証部105から、相手の装置との間で相互の認証に成功したことを示す認証結果を受け取る。認証結果を受け取ると、コンテンツ情報生成部109に対して、コンテンツ情報を生成するように指示する。
制御部112は、鍵配信装置100が有する各構成要素を制御する。
(10)表示部113
表示部113は、制御部112の制御により、情報を表示する。
2.6 記録媒体装置600の詳細構成
記録媒体装置600は、図23に示すように、コントローラ601、メモリ部602及び入出力部603から構成されている。
コントローラ601は、耐タンパ化されており、相互認証部604、リボーク判断部605、暗号復号部606、検証部607及び制御部608から構成されている。また、メモリ部602は、私有鍵証明書格納部609、ルート公開鍵格納部610、タイトル鍵格納部611、コンテンツ情報格納部612、利用条件情報格納部613、リボークファイル格納部614及びコンテンツ格納部615から構成されている。
なお、コントローラ601は、CPU、メモリ、入出力ユニットなどから構成されるコンピュータシステムである。ここで、相互認証部604、リボーク判断部605、暗号復号部606、検証部607及び制御部608は、それぞれ、CPU及びCPUの上で動作するコンピュータプログラムにより構成されている。言うまでもなく、これらの構成に限定されるものではない。例えば、相互認証部604、リボーク判断部605、暗号復号部606及び検証部607は、それぞれ、コントローラ601内において、専用のハードウェア回路から構成されている、としてもよい。
(1)メモリ部602
(私有鍵証明書格納部609)
私有鍵証明書格納部906は、記録媒体装置私有鍵271及び記録媒体装置証明書272を記憶するための領域を備えている。
記録媒体装置私有鍵271及び記録媒体装置証明書272は、記録媒体装置600を製造する製造装置(図示していない)により、私有鍵証明書格納部609に書き込まれる。
(ルート公開鍵格納部610)
ルート公開鍵格納部610は、ルート公開鍵232を記憶するための領域を備えている。ルート公開鍵232は、記録媒体装置600を製造する製造装置(図示していない)により、ルート公開鍵格納部610に書き込まれる。
(タイトル鍵格納部611)
タイトル鍵格納部611は、タイトル鍵175を記憶するための領域を備えている。タイトル鍵175は、鍵配信装置100から受け取ったものである。
(コンテンツ情報格納部612)
コンテンツ情報格納部612は、コンテンツ情報161を記憶するための領域を備えている。コンテンツ情報161は、鍵配信装置100から受け取ったものである。
コンテンツ情報格納部612は、鍵配信装置100からコンテンツ情報を受け取り、署名検証に成功した場合、コンテンツ情報を更新し、又は格納する。
(利用条件情報格納部613)
利用条件情報格納部613は、利用条件情報162を記憶するための領域を備えている。利用条件情報162は、鍵配信装置100から受け取ったものである。
(リボークファイル格納部614)
リボークファイル格納部614は、個別無効化リスト141を記憶するための領域を備えている。個別無効化リスト141は、鍵配信装置100から受け取ったものである。
鍵配信装置100から個別無効化リスト141を受け取り、署名検証に成功した場合、リボークファイル格納部614の個別無効化リスト141のリボークファイルは、更新され、又は、リボークファイル格納部614に個別無効化リスト141が格納される。
(コンテンツ格納部615)
コンテンツ格納部615は、端末装置300からコンテンツを受信し、格納する。また、端末装置300から読出し要求を受けて、コンテンツを端末装置300に送信する。 (2)入出力部603
入出力部603は、端末装置300からの取得要求を受けて、タイトル鍵を、端末装置300に送信する。
入出力部603は、暗号化コンテンツ情報結合体を受け取り、受け取った暗号化コンテンツ情報結合体を暗号復号部606に対して出力する。
(3)検証部607
検証部607は、暗号復号部606から、結合体180及び署名データ181を受け取る。結合体180及び署名データ181を受け取ると、署名検証アルゴリズムV1により、鍵配信装置証明書252に含まれる鍵配信装置公開鍵254を用いて、結合体180及び署名データ181のデジタル署名の検証を行う。
検証に失敗した場合、検証部607は、その旨を示すメッセージを生成し、処理を終了する。
検証に成功した場合、検証部607は、その旨を示すメッセージを生成する。次に、検証部607は、結合体180からタイトル鍵を抽出し、抽出したタイトル鍵をタイトル鍵格納部611に書き込む。また、結合体180からタイトル鍵を除くコンテンツ情報を抽出し、抽出したコンテンツ情報をコンテンツ情報格納部612に書き込む。また、結合体180から利用条件情報を抽出し、抽出した利用条件情報を利用条件情報格納部613に書き込む。また、結合体180から個別無効リストを抽出し、抽出した個別無効リストをリボークファイル格納部614に書き込む。
(4)相互認証部604
相互認証部604は、鍵配信装置100(又はコンテンツ配信装置400)との間で、相互の認証を行い、鍵配信装置100(又はコンテンツ配信装置400)と共有鍵を共有する。
相互認証部604は、図22に示すように、暗号化部B11、乱数生成部B12、復号部B13、乱数比較部B14、検証部B15及び鍵共有部B16から構成されている。
暗号化部B11は、相手の装置(鍵配信装置100)から乱数R1を受け取る。乱数R1を受け取ると、暗号化アルゴリズムE3により、乱数R1を暗号化して、暗号化乱数E3(R1)を生成し、生成した暗号化乱数E3(R1)を相手の装置へ送信する。
ここで、暗号化アルゴリズムE3は、秘密鍵暗号方式による暗号化アルゴリズムである。暗号化アルゴリズムE3は、一例として、AESによるものである。E3(A)は、平文Aに対して暗号化アルゴリズムE3を施して生成した暗号文を示す。
乱数生成部B10は、乱数R2を生成する。次に、生成した乱数R2を乱数比較部B14に出力する。また、生成した乱数R2を相互認証の相手の装置(鍵配信装置100)に送信する。
復号部B13は、相互認証の相手の装置から、暗号化乱数E4(R2)を受け取る。次に、復号アルゴリズムD4により、受け取った暗号化乱数E4(R2)を復号して復号文R2’=D4(E4(R2))を生成する。次に、生成した復号文R2’を乱数比較部B14へ出力する。
ここで、復号アルゴリズムD4は、秘密鍵暗号方式による暗号化アルゴリズムである。復号アルゴリズムD4は、一例として、AESによるものである。E4(A)は、暗号文Aに対して復号アルゴリズムD4を施して生成した復号文を示す。また、D4(B)は、暗号文Bに対して復号アルゴリズムD4を施して生成した復号文を示す。
乱数比較部B14は、乱数R2を受け取り、復号文R2’を受け取る。次に、乱数R2と復号文R2’とを比較する。乱数R2と復号文R2’とが一致する場合に、相互認証部604は、相手の装置が正当であると判断する。乱数R2と復号文R2’とが一致しない場合に、相互認証部604は、相手の装置が不正であると判断する。
相互の認証に成功すると、検証部B15は、私有鍵証明書格納部609から記録媒体装置証明書272を読み出す。次に、読み出した記録媒体装置証明書272を相手の装置へ送信する。また、検証部B15は、相手の装置から、相手の装置の公開鍵証明書を受信する。ここで、相手の装置が鍵配信装置100である場合には、その公開鍵証明書は、鍵配信装置証明書252である。検証部B15は、次に、ルート公開鍵格納部610からルート公開鍵232を読み出し、読み出したルート公開鍵232を用いて、相手の装置の公開鍵証明書の検証を行う。
検証に失敗した場合には、以下の処理を行わない。検証に成功した場合、鍵共有部B16は、鍵共有の処理を実行して、共有鍵k’を算出する。
相互認証部604は、相手の装置との間で相互の認証に成功すると、相互の認証に成功したことを示す認証結果を制御部608に対して出力する。
(5)リボーク判断部605
リボーク判断部605は、相互認証部604から、相互認証の相手の装置の識別情報を受け取る。相手の装置の識別情報は、相手の装置の公開鍵証明書に含まれている。ここで、相互認証の相手の装置は、端末装置300である。相手の装置の識別情報は、端末装置300を識別する端末装置IDである。また、相手の装置の識別情報は、端末装置300のモデルIDであるとしてもよい。また、相手の装置の識別情報は、当該装置に割り当てられた公開鍵証明書を識別する識別情報であるとしてもよい。
リボーク判断部605は、相手の装置の識別情報が、リボークファイル格納部103に格納されている個別無効化リスト141内に記憶され、再生対象であるコンテンツを識別するコンテンツIDに対応する個別無効化情報に含まれているか否かを判断する。
相手の装置の識別情報が、個別無効化情報に含まれていると判断する場合には、端末装置300が不正であるとみなし、その旨を示すメッセージを生成する。次に、生成したメッセージを制御部112に対して出力して、端末装置300との通信及び処理を停止するように、制御する。
(6)暗号復号部606
暗号復号部606は、記録媒体装置600と鍵配信装置100間、又は、記録媒体装置600と端末装置300間において、通信を行う場合、データを送信するときは、相互認証部604により生成された共有鍵k’を用いて、データを暗号化する。データを受信するときは、共有鍵k’を用いて、データを復号する。これにより、伝送路上のデータを保護する。
一例として、暗号復号部606は、入出力部603から、暗号化コンテンツ情報結合体を受け取る。暗号化コンテンツ情報結合体を受け取ると、復号アルゴリズムD2により、共有鍵k’を用いて、暗号化コンテンツ情報結合体を復号する。その結果、図21に示す結合体180及び署名データ181を生成する。次に、結合体180及び署名データ181を検証部607に対して出力する。
2.7 端末装置300の詳細構成
端末装置300は、図25に示すように、私有鍵証明書格納部301、ルート公開鍵格納部302、リボーク判断部303、相互認証部304、入出力部305、リボークファイル格納部306、抽出部307、暗号復号部308、通信部309、コンテンツ再生部310、コンテンツ復号部311、制御部312、入力部313及び表示部314から構成されている。
なお、端末装置300は、CPU、メモリ、二次記憶ユニット、ネットワーク接続ユニット、メモリカード接続ユニットなどから構成されるコンピュータシステムである。ここで、私有鍵証明書格納部301、ルート公開鍵格納部302及びリボークファイル格納部306は、それぞれ、二次記憶ユニットにより構成されている。リボーク判断部303、相互認証部304、抽出部307、暗号復号部308、コンテンツ再生部310、コンテンツ復号部311及び制御部312は、それぞれ、CPU及びCPUの上で動作するコンピュータプログラムにより構成されている。また、通信部210は、ネットワーク接続ユニットにより構成されている。さらに、入出力部305は、メモリカード接続ユニットから構成されている。
言うまでもなく、これらの構成に限定されるものではない。例えば、相互認証部304、暗号復号部308、コンテンツ再生部310及びコンテンツ復号部311は、それぞれ、専用のハードウェア回路から構成されている、としてもよい。
(1)私有鍵証明書格納部301、ルート公開鍵格納部302及びリボークファイル格納部306
(私有鍵証明書格納部301)
私有鍵証明書格納部301は、端末装置私有鍵261及び端末装置証明書262を記憶するための領域を備えている。端末装置私有鍵261及び端末装置証明書262は、端末装置300を製造する製造装置により、私有鍵証明書格納部301に書き込まれる。
(ルート公開鍵格納部302)
ルート公開鍵格納部302は、ルート公開鍵232を記憶するための領域を備えている。ルート公開鍵232は、端末装置300を製造する製造装置(図示していない)により、ルート公開鍵格納部302に書き込まれる。
(リボークファイル格納部306)
リボークファイル格納部306は、リボークファイル242を記憶するための領域を備えている。
リボークファイル242は、リボークファイル242に付された署名データの検証に成功した場合に、リボークファイル格納部306に書き込まれる。
(2)相互認証部304
相互認証部304は、鍵配信装置100、又は、記録媒体装置600との間で、相互認証を行い、鍵配信装置100、又は、記録媒体装置600と共有鍵を共有する。なお、相互認証部304は、図22に示す相互認証部105、604と同じ構成を有しているので、説明を省略する。
(3)リボーク判断部303
リボーク判断部303は、相互認証の処理中に特定される記録媒体装置600のID、つまり、記録媒体装置IDが、リボークファイル格納部306が格納しているリボークファイルに記載されている情報と一致するか否か判断する。一致する場合、通信しようとしている記録媒体装置600が不正であるとみなして、相互認証部304による通信、及び、処理を中止してもよい。一致しない場合、処理を継続して行う。
(4)暗号復号部308
暗号復号部308は、端末装置300と鍵配信装置100間、あるいは、端末装置300と記録媒体装置600間の通信を、相互認証部304が共有した共有鍵を用いて、送信時は暗号化し、受信時は復号する。これにより、伝送路上のデータを保護する。
暗号復号部308は、通信部309から、暗号化された状態のリボークファイルを受け取る。暗号化された状態のリボークファイルを受け取ると、共有鍵を用いて、暗号化された状態のリボークファイルを復号して、リボークファイルを生成する。次に、生成したリボークファイルを抽出部307へ出力する。
(5)抽出部307
抽出部307は、記録媒体装置600から暗号復号部340を経由してタイトル鍵を受信する。
抽出部307は、鍵配信装置100から、ネットワーク20、通信部309及び暗号復号部308を経由して、リボークファイルを受信する。抽出部307は、受信したリボークファイルに含まれる署名データを用いて、署名検証する。検証に成功すれば、受信したリボークファイルをリボークファイル格納部306へ書き込む。検証に失敗すれば、受信したリボークファイルのリボークファイル格納部306への書込みを禁止する。
(6)入出力部305
入出力部305は、記録媒体装置600からコンテンツを読み出す。読み出したコンテンツをコンテンツ復号部311に対して出力する。
入出力部305は、通信部309からコンテンツを受け取る。コンテンツを受け取ると、受け取ったコンテンツコンテンツを記録媒体装置600に書き込む。
(7)コンテンツ復号部311
コンテンツ復号部311は、入出力部305からコンテンツを受け取る。また、抽出部307からタイトル鍵を受け取る。コンテンツ及びタイトル鍵を受け取ると、復号アルゴリズムD1により、タイトル鍵を用いて、コンテンツを復号する。その結果、復号済コンテンツを生成し、復号済コンテンツをコンテンツ再生部310に対して出力する。
(8)コンテンツ再生部310
コンテンツ再生部310は、コンテンツ復号部311から復号済コンテンツを受け取る。復号済コンテンツを受け取ると、復号済コンテンツを再生し、表示部314へ出力する。なお、端末装置300に接続されたテレビジョン受像機やディスプレィ装置等の表示デバイスに出力するとしてもよい。
(9)通信部309
通信部309は、コンテンツ配信装置400からコンテンツを受信する。
通信部309は、鍵配信装置100から、暗号化された状態のリボークファイルを受信する。暗号化された状態のリボークファイルを受信すると、暗号化された状態のリボークファイルを暗号復号部340に対して出力する。
(10)制御部312
制御部312は、端末装置300の各構成要素を制御する。
(11)入力部313及び表示部314
入力部313は、利用者から、操作及びデータの入力を受け付ける。次に、受け付けた操作を示す操作情報を制御部312に対して出力する。また、入力を受け付けたデータを制御部312に対して出力する。
表示部314は、制御部312の制御により、情報を表示する。
2.8 コンテンツ管理システム10aの動作
ここでは、コンテンツ管理システム10aの動作について、説明する。
(1)鍵発行処理の動作
コンテンツ管理システム10aにおける鍵発行処理の動作について、図26〜図27に示すシーケンス図を用いて説明する。
鍵発行装置200の鍵ペア生成部201は、ルート私有鍵231及びルート公開鍵232からなるルート鍵ペアを生成する。次に、生成したルート鍵ペアをルート鍵ペア格納部202へ書き込む(ステップS101)。
次に、鍵ペア生成部201は、鍵配信装置私有鍵251及び鍵配信装置公開鍵254からなる鍵配信装置鍵ペアを生成する。次に、鍵配信装置鍵ペアを私有鍵証明書格納部204へ書き込む。証明書生成部203は、鍵配信装置証明書252を生成し、鍵配信装置証明書252を私有鍵証明書格納部204へ書き込む(ステップS102)。
次に、鍵ペア生成部201は、端末装置私有鍵261及び端末装置公開鍵264からなる端末装置鍵ペアを生成する。次に、端末装置鍵ペアを私有鍵証明書格納部204へ書き込む。証明書生成部203は、端末装置証明書262を生成し、端末装置証明書262を私有鍵証明書格納部204へ書き込む(ステップS103)。
次に、鍵ペア生成部201は、記録媒体装置私有鍵271及び記録媒体装置公開鍵274からなる記録媒体装置鍵ペアを生成する。次に、記録媒体装置鍵ペアを私有鍵証明書格納部204へ書き込む。証明書生成部203は、記録媒体装置証明書272を生成し、記録媒体装置証明書272を私有鍵証明書格納部204へ書き込む(ステップS104)。
次に、鍵ペア生成部201は、制作装置私有鍵281及び制作装置公開鍵284からなる制作装置鍵ペアを生成する。次に、制作装置鍵ペアを私有鍵証明書格納部204へ書き込む。証明書生成部203は、制作装置証明書282を生成し、制作装置証明書282を私有鍵証明書格納部204へ書き込む(ステップS105)。
入力部205は、利用者の操作により、無効化された端末装置を識別する端末装置ID及び無効化された記録媒体装置を識別する記録媒体装置ID、言い換えると、リボークデータの入力を受け付ける(ステップS106)。
リボークファイル生成部211は、リボークデータ格納部206に記憶されているリボークデータ241から、リボークファイル242を生成する。次に、生成したリボークファイル242をリボークファイル格納部208へ書き込む(ステップS107)。
通信部210は、ルート公開鍵232、リボークファイル242、鍵配信装置私有鍵251及び鍵配信装置証明書252を鍵配信装置100に対して送信する(ステップS108)。 鍵配信装置100の通信部101は、ルート公開鍵232をルート公開鍵格納部106に書き込み(ステップS109)、リボークファイル242をリボークファイル格納部103に書き込み(ステップS110)、鍵配信装置私有鍵251及び鍵配信装置証明書252を私有鍵証明書格納部104に書き込む(ステップS111)。
端末装置300の製造装置(図示していない)は、鍵発行装置200から端末装置私有鍵261及び端末装置証明書262を受け取り(ステップS112)、端末装置私有鍵261及び端末装置証明書262を端末装置300の私有鍵証明書格納部301へ書き込む(ステップS113)。
記録媒体装置600の製造装置(図示していない)は、鍵発行装置200から記録媒体装置私有鍵271及び記録媒体装置証明書272を受け取り(ステップS114)、記録媒体装置私有鍵271及び記録媒体装置証明書272を記録媒体装置600の私有鍵証明書格納部609へ書き込む(ステップS115)。
鍵発行装置200の通信部210は、制作装置私有鍵281及び制作装置証明書282をコンテンツ制作装置500に対して送信する(ステップS116)。
コンテンツ制作装置500の通信部515は、制作装置私有鍵281及び制作装置証明書282を私有鍵証明書格納部509に書き込む(ステップS117)。
(2)コンテンツの制作及びコンテンツの登録処理の動作
コンテンツ管理システム10aにおけるコンテンツの制作及びコンテンツの登録処理の動作について、図28〜図29に示すシーケンス図を用いて説明する。
コンテンツ制作装置500は、映画などのビデオ及びオーディオ等の素材を取得し、取得した素材を素材格納部501に格納する(ステップS131)。
編集部502は、利用者の操作により、素材格納部501に記憶されている素材を読み出し、読み出した素材を編集して平文コンテンツ531を生成する(ステップS132)。
タイトル鍵生成部507は、タイトル鍵533を生成し、生成したタイトル鍵533をタイトル鍵格納部508に書き込む(ステップS133)。
暗号部503は、タイトル鍵533を用いて、平文コンテンツ531を暗号化して、コンテンツ532を生成し、コンテンツ532をコンテンツ格納部504に書き込む(ステップS134)。
コンテンツ登録要求部505は、コンテンツの登録要求を生成し(ステップS135)、次に、コンテンツ格納部504からコンテンツ532を読み出す(ステップS136)。
通信部515は、コンテンツの登録要求及びコンテンツ532を、ネットワーク20を介して、コンテンツ配信装置400に送信する(ステップS137)。
コンテンツ配信装置400の通信部402は、コンテンツ制作装置500から、ネットワーク20を介して、コンテンツの登録要求及びコンテンツ532を受信する(ステップS137)。次に、通信部402は、受信したコンテンツ532をコンテンツ格納部403へ書き込む(ステップS138)。
次に、コンテンツ制作装置500の入力部513は、コンテンツプロバイダID、コンテンツID、品質レベル、ジャンル情報、利用条件情報、認証条件情報、リボーク装置ID及びリボーク承認の入力を受け付け、コンテンツプロバイダID、コンテンツID、品質レベル、ジャンル情報、利用条件情報、認証条件情報、リボーク装置ID及びリボーク承認フラグを含むコンテンツ情報の登録データ541を生成する(ステップS139)。
コンテンツ情報登録要求部511は、タイトル鍵533を、登録データ541に追加して書き込む(ステップS140)。
署名部510は、制作装置私有鍵281を用いて、登録データ541にデジタル署名を施して、署名データを生成する。次に、署名部510は、登録データ541に、生成した署名データを付加する(ステップS141)。
コンテンツ情報登録要求部511は、コンテンツ情報の登録データの登録要求を生成する(ステップS142)。次に、登録データ格納部512から登録データ541を読み出し(ステップS143)、通信部515は、登録要求及び登録データ541を鍵配信装置100に対して送信する(ステップS144)。次に、処理を終了する。
鍵配信装置100の検証部108は、登録データ541にリボーク承認フラグが含まれていない、又は、リボーク承認フラグが「OFF」である場合(ステップS145)、制御をステップS150へ移す。
一方、リボーク承認フラグが「ON」である場合(ステップS145)、検証部108は、登録データ541の署名データを検証する(ステップS146)。検証に失敗した場合(ステップS147で「失敗」)、その旨を示すメッセージを生成し(ステップS148)、生成したメッセージを表示する(ステップS149)。次に、処理を終了する。
一方、検証に成功した場合(ステップS147で「成功」)、又は、検証結果が署名データの検証をしない旨を示す場合(ステップS145で「OFF」又は「無し」)、更新部110は、登録データ541を用いて、コンテンツ情報リスト格納部111に記憶されているコンテンツ情報リスト131cを更新する(ステップS150)。次に、処理を終了する。
(3)コンテンツの配信の動作
コンテンツ管理システム10aにおけるコンテンツの配信の動作について、図30〜図34に示すシーケンス図を用いて説明する。
端末装置300の入力部313は、利用者から、コンテンツを識別するコンテンツIDとともに、コンテンツの取得の操作を受け付ける(ステップS161)。
次に、端末装置300の相互認証部304と、コンテンツ配信装置400の相互認証部404とは、相互に認証を行い、鍵共有を行う(ステップS162)。ここで、端末装置300とコンテンツ配信装置400と間の相互認証及び鍵共有は、後述する鍵配信装置100と記録媒体装置600との間の相互認証及び鍵共有と同様であるので、説明を省略する。
相互認証部304による認証に失敗した場合(ステップS163で「失敗」)、制御部312は、その旨を示すメッセージを生成し(ステップS164)、表示部314は、生成したメッセージを表示し(ステップS165)、端末装置300における処理を終了する。
相互認証部404による認証に失敗した場合(ステップS166で「失敗」)、制御部401は、その旨を示すメッセージを生成し(ステップS167)、表示部405は、生成したメッセージを表示し(ステップS168)、コンテンツ配信装置400における処理を終了する。
相互認証部304による認証に成功した場合(ステップS163で「成功」)、制御部312は、配信依頼情報を生成する(ステップS169)。次に、配信依頼情報を、通信部309及びネットワーク20を介して、コンテンツ配信装置400へ送信する(ステップS170)。
相互認証部404による認証に成功した場合(ステップS166で「成功」)、制御部401は、ネットワーク20及び通信部402を介して、配信依頼情報を受信する(ステップS170)。
制御部401は、コンテンツ格納部403からコンテンツIDにより識別されるコンテンツを検索する(ステップS171)。コンテンツを発見できなかった場合(ステップS172で「NO」)、制御部401は、その旨を示すメッセージを生成する(ステップS184)。次に、生成したメッセージを、通信部402及びネットワーク20を介して、端末装置300に対して送信し(ステップS185)、その後、処理を終了する。端末装置300の表示部405は、メッセージを表示し(ステップS186)、その後、処理を終了する。
コンテンツを発見できた場合(ステップS172で「YES」)、記録媒体装置600の相互認証部604と、コンテンツ配信装置400の相互認証部404とは、相互に認証を行い、鍵共有を行う(ステップS173)。記録媒体装置600とコンテンツ配信装置400との相互認証及び鍵共有は、後述する鍵配信装置100と記録媒体装置600との間の相互の認証及び鍵共有と同様であり、説明を省略する。
相互認証部604による認証に失敗した場合(ステップS176で「失敗」)、制御部608は、その旨を示すメッセージを生成する(ステップS177)。次に、入出力部603を介してメッセージを端末装置300に対して出力し(ステップS178)、その後、処理を終了する。端末装置300の表示部314は、メッセージを表示し(ステップS179)、その後、処理を終了する。
相互認証部404による認証に失敗した場合(ステップS174で「失敗」)、制御部401は、その旨を示すメッセージを生成する(ステップS175)。次に、生成したメッセージを、通信部402及びネットワーク20を介して、端末装置300に対して送信し(ステップS185)、その後、処理を終了する。端末装置300の表示部314は、メッセージを表示し(ステップS186)、その後、処理を終了する。
相互認証部404による認証に成功した場合(ステップS174で「成功」)、制御部401は、コンテンツ格納部403からコンテンツ532を読み出す(ステップS180)。次に、読み出したコンテンツ532を、通信部402、ネットワーク20及び端末装置300を介して、記録媒体装置600に対して送信する(ステップS181〜S182)。
相互認証部604による認証に成功した場合(ステップS176で「成功」)、入出力部603は、受信したコンテンツ532をコンテンツ格納部615へ書き込む(ステップS183)。
次に、端末装置300の制御部312は、コンテンツ情報の送信要求を生成する(ステップS187)。次に、生成したコンテンツ情報の送信要求を、通信部309及びネットワーク20を介して、鍵配信装置100に対して送信する(ステップS188)。
次に、記録媒体装置600の相互認証部604と鍵配信装置100の相互認証部105との間で、相互の認証と鍵共有を行う(ステップS189)。
相互認証部604による認証に失敗した場合(ステップS190で「失敗」)、制御部608は、その旨を示すメッセージを生成する(ステップS191)。次に、入出力部603を介してメッセージを端末装置300に対して出力し(ステップS192)、その後、処理を終了する。端末装置300の表示部314は、メッセージを表示し(ステップS193)、その後、処理を終了する。
相互認証部105による認証に失敗した場合(ステップS194で「失敗」)、制御部112は、その旨を示すメッセージを生成し(ステップS195)、生成したメッセージを表示するよう制御し(ステップS196)、その後、処理を終了する。
相互認証部105による認証に成功した場合(ステップS194で「成功」)、リボーク判断部102は、端末装置IDの無効化を確認する(ステップS197)。端末装置IDがリボークファイル242内に存在する場合、つまり、端末装置IDが無効化されている場合(ステップS198で「YES」)、制御部112は、その旨を示すメッセージを生成する(ステップS199)。次に、生成したメッセージを、通信部101及びネットワーク20を介して、端末装置300に対して送信する(ステップS200)。その後、処理を終了する。端末装置300の表示部314は、メッセージを表示し(ステップS201)、その後、端末装置300は、処理を終了する。
端末装置IDがリボークファイル242内に存在しない場合、つまり、端末装置IDが無効化されていない場合(ステップS198で「NO」)、リボーク判断部102は、記録媒体装置IDの無効化を確認する(ステップS201)。記録媒体装置IDがリボークファイル242内に存在する場合、つまり、記録媒体装置IDが無効化されている場合(ステップS203で「YES」)、制御部112は、その旨を示すメッセージを生成する(ステップS205)。次に、生成したメッセージを、通信部101及びネットワーク20を介して、端末装置300に対して送信する(ステップS205)。その後、処理を終了する。端末装置300の表示部314は、メッセージを表示し(ステップS206)、その後、端末装置300は、処理を終了する。
記録媒体装置IDがリボークファイル242内に存在しない場合、つまり、記録媒体装置IDが無効化されていない場合(ステップS203で「NO」)、コンテンツ情報生成部109は、コンテンツ情報リスト格納部111に記憶されているコンテンツ情報リスト131cから、要求に係るコンテンツ関連情報を検索する(ステップS207)。
コンテンツ関連情報がコンテンツ情報リスト131c内に存在しない場合(ステップS208で「無し」)、その旨のメッセージを、通信部101及びネットワーク20を介して、端末装置300に対して送信する(ステップS209)。その後、処理を終了する。端末装置300の表示部314は、メッセージを表示し(ステップS210)、その後、処理を終了する。
コンテンツ関連情報がコンテンツ情報リスト131c内に存在する場合(ステップS208で「有り」)、コンテンツ情報生成部109は、個別無効化リスト141を生成し(ステップS211)、コンテンツ関連情報を読み出し(ステップS212)、署名データを生成して付加する(ステップS213)。暗号復号部107は、結合体及び署名データを暗号化し(ステップS214)、暗号化コンテンツ情報結合体を、通信部101、ネットワーク20及び端末装置300を介して、記録媒体装置600に対して送信する(ステップS215)。
記録媒体装置600の暗号復号部606は、暗号化コンテンツ情報結合体を復号する(ステップS216)。
検証部607は、署名データを検証する(ステップS217)。検証に失敗した場合(ステップS218で「失敗」)、制御部608は、その旨を示すメッセージを生成する(ステップS219)。次に、生成したメッセージを、入出力部603を介して、端末装置300に対して出力し(ステップS220)、その後、処理を終了する。端末装置300の表示部314は、メッセージを表示し(ステップS221)、その後、処理を終了する。
検証に成功した場合(ステップS218で「成功」)、検証部607は、コンテンツ情報をコンテンツ情報格納部612に書き込む(ステップS222)。次に、検証部607は、タイトル鍵をタイトル鍵格納部611に対して書き込む(ステップS223)。次に、利用条件情報を利用条件情報格納部613に対して書き込み(ステップS224)、個別無効化リスト141をリボークファイル格納部614に対して書き込む(ステップS225)。その後、処理を終了する。
(4)相互認証及び鍵共有の動作
コンテンツ管理システム10aにおける鍵配信装置100と記録媒体装置600との間の相互認証及び鍵共有の動作について、図35〜図36に示すシーケンス図を用いて説明する。
乱数生成部A10は、乱数R1を生成する(ステップS251)。次に、生成した乱数R1を記録媒体装置600に送信する(ステップS252)。
暗号化部B11は、鍵配信装置100から乱数R1を受信する(ステップS252)。次に、暗号化アルゴリズムE3により、乱数R1を暗号化して、暗号化乱数E3(R1)を生成し(ステップS253)、生成した暗号化乱数E3(R1)を鍵配信装置100に対して送信する(ステップS254)。
復号部A13は、記録媒体装置600から、暗号化乱数E3(R1)を受け取る(ステップS254)。次に、復号アルゴリズムD3により、受け取った暗号化乱数E3(R1)を復号して復号文R1’=D3(E3(R1))を生成する(ステップS255)。
乱数比較部A12は、乱数R1と復号文R1’とを比較する(ステップS256)。乱数R1と復号文R1’とが一致しない場合に(ステップS256で「不一致」)、相互認証部105は、記録媒体装置600が不正であると判断し、認証の結果を出力し、認証の処理を終了する。
乱数生成部B10は、乱数R2を生成する(ステップS257)。次に、生成した乱数R2を鍵配信装置100に送信する(ステップS258)。
一方、乱数R1と復号文R1’とが一致する場合に(ステップS256で「一致」)、相互認証部105は、相手の装置が正当であると判断する。暗号化部A14は、相手の装置から乱数R2を受け取る(ステップS258)。暗号化アルゴリズムE4により、乱数R2を暗号化して、暗号化乱数E4(R2)を生成し(ステップS259)、生成した暗号化乱数E4(R2)を記録媒体装置600へ送信する(ステップS260)。
復号部B13は、鍵配信装置100から、暗号化乱数E4(R2)を受け取る(ステップS260)。次に、復号アルゴリズムD4により、受け取った暗号化乱数E4(R2)を復号して復号文R2’=D4(E4(R2))を生成する(ステップS261)。
乱数比較部B14は、乱数R2と復号文R2’とを比較する(ステップS261)。乱数R2と復号文R2’とが一致しない場合に(ステップS262で「不一致」)、相互認証部604は、鍵配信装置100が不正であると判断し、認証の失敗を示す結果を出力する。
一方、乱数R2と復号文R2’とが一致する場合に(ステップS262で「一致」)、相互認証部604は、相手の装置が正当であると判断し、認証の成功を示す結果を出力する。
相互の認証に成功すると、検証部A15は、私有鍵証明書格納部104から鍵配信装置証明書252を読み出す(ステップS263)。次に、読み出した鍵配信装置証明書252を記録媒体装置600に対して送信する(ステップS264)。
相互の認証に成功すると、検証部B15は、私有鍵証明書格納部609から記録媒体装置証明書272を読み出す(ステップS265)。次に、読み出した記録媒体装置証明書272を鍵配信装置100に対して送信する(ステップS266)。
次に、検証部B15は、ルート公開鍵格納部610からルート公開鍵232を読み出し(ステップS273)、読み出したルート公開鍵232を用いて、鍵配信装置証明書の検証を行う(ステップS274)。
検証に失敗した場合には(ステップS275で、「失敗」)、検証部B15は、その旨を示すメッセージを生成する(ステップS276)。次に、生成したメッセージを端末装置300に対して出力し(ステップS277)、処理を終了する。端末装置300の表示部314は、メッセージを表示し(ステップS272)、処理を終了する。
次に、検証部A15は、ルート公開鍵格納部106からルート公開鍵232を読み出す(ステップS267)。次に、読み出したルート公開鍵232を用いて、記録媒体装置証明書の検証を行う(ステップS268)。
検証に失敗した場合には(ステップS269で、「失敗」)、検証部A15は、その旨を示すメッセージを生成する(ステップS270)。次に、生成したメッセージを端末装置300に対して送信し(ステップS271)、処理を終了する。端末装置300の表示部314は、メッセージを表示し(ステップS272)、処理を終了する。
検証に成功した場合には(ステップS269で、「成功」)、鍵共有部A16は、xAを設定する(ステップS281)。次に、YA=xA*Gを算出する(ステップS282)。ここで、Gは、楕円曲線上の点である。次に、鍵共有部A16は、YAを記録媒体装置600に対して送信する(ステップS283)。
検証に成功した場合には(ステップS275で、「成功」)、鍵共有部B16は、xBを設定する(ステップS284)。次に、YB=xB*Gを算出する(ステップS285)。次に、鍵共有部B16は、YBを鍵配信装置100に対して送信する(ステップS286)。
鍵共有部A16は、共有鍵k=xA*YBを算出する(ステップS287)。
また、鍵共有部B16は、共有鍵k’=xB*YAを算出する(ステップS288)。
ここで、共有鍵k=xA*YB
=xA×(xB*G)
=xB×(xA*G)
=xB*YA
=共有鍵k’
(5)個別無効化リスト141の生成の動作
鍵配信装置100における個別無効化リスト141の生成の動作について、図37に示すフローチャートを用いて説明する。
コンテンツ情報生成部109は、個別無効化リスト141を初期化する(ステップS300)。
次に、コンテンツ情報生成部109は、コンテンツ情報リスト131c内の全てのコンテンツ関連情報について、ステップS302〜307を繰り返す(ステップS301〜S308)。
コンテンツ情報生成部109は、コンテンツ関連情報を読み出す(ステップS302)。次に、読み出したコンテンツ関連情報からリボーク情報の抽出を試みる(ステップS303)。リボーク情報が存在する場合(ステップS304でYES)、エントリIDを生成する(ステップS305)。次に、生成したエントリIDとリボーク情報とを含む個別無効化情報を生成し(ステップS306)、生成した個別無効化情報を、個別無効化リスト141に追加して書き込む(ステップS307)。
(6)コンテンツの再生の動作
コンテンツ管理システム10aにおけるコンテンツの再生の動作について、図38〜図39に示すシーケンス図を用いて説明する。
端末装置300の入力部313は、利用者から、コンテンツを識別するコンテンツIDとともに、コンテンツの再生の操作を受け付ける(ステップS331)。
制御部312は、コンテンツIDを含むコンテンツの再生の依頼を示す再生依頼情報を生成する(ステップS332)。次に、再生依頼情報を、入出力部305を介して、記録媒体装置600に対して出力する(ステップS333)。
記録媒体装置600の相互認証部604と端末装置300の相互認証部304は、相互の認証及び鍵共有を行う(ステップS334)。ここで、記録媒体装置600と端末装置300との相互の認証及び鍵共有は、上述した鍵配信装置100と記録媒体装置600との間の相互の認証及び鍵共有と同様であり、説明を省略する。
相互認証部604による認証に失敗した場合(ステップS335で「失敗」)、制御部608は、その旨を示すメッセージを生成し(ステップS336)、メッセージを端末装置300に対して出力し(ステップS337)、記録媒体装置600は、処理を終了する。端末装置300の表示部314は、メッセージを表示し(ステップS340)、端末装置300における処理を終了する。
相互認証部304による認証に失敗した場合(ステップS338で「失敗」)、制御部312は、その旨を示すメッセージを生成し(ステップS339)、表示部314は、生成したメッセージを表示し(ステップS340)、端末装置300における処理を終了する。
相互認証部604による認証に成功した場合(ステップS335で「成功」)、リボーク判断部605は、コンテンツIDに対応する個別無効化情報を読み出し(ステップS341)、端末装置IDが、読み出した個別無効化情報内に存在するか否かを判断する(ステップS342)。個別無効化情報内に端末装置IDが存在する場合(ステップS343で「有り」)、制御部608は、その旨を示すメッセージを生成し(ステップS344)、メッセージを端末装置300に対して出力し(ステップS345)、記録媒体装置600は、処理を終了する。端末装置300の表示部314は、メッセージを表示し(ステップS349)、端末装置300における処理を終了する。
相互認証部304による認証に成功した場合(ステップS338で「成功」)、リボーク判断部303は、リボークファイル242内に記録媒体装置IDが存在するか否かを判断する(ステップS346)。リボークファイル242内に記録媒体装置IDが存在する場合(ステップS347で「有り」)、制御部312は、その旨を示すメッセージを生成し(ステップS348)、表示部314は、メッセージを表示し(ステップS349)、端末装置300における処理を終了する。
個別無効化情報内に端末装置IDが存在しない場合(ステップS343で「無し」)、暗号復号部308は、タイトル鍵を読み出し(ステップS350)、読み出したタイトル鍵を暗号化し(ステップS351)、暗号化タイトル鍵を入出力部603を介して、端末装置300に対して出力する(ステップS352)。
リボークファイル242内に記録媒体装置IDが存在しない場合(ステップS347で「無し」)、入出力部305は、暗号化タイトル鍵を受け取り(ステップS352)、暗号復号部308は、暗号化タイトル鍵を復号する(ステップS353)。
次に、入出力部603は、コンテンツ格納部615からコンテンツ532を読み出し(ステップS354)、読み出したコンテンツ532を端末装置300に対して出力する(ステップS355)。
入出力部305は、コンテンツ532を受け取り(ステップS355)、コンテンツ復号部311は、タイトル鍵を用いて、コンテンツを復号し(ステップS356)、コンテンツ再生部310は、復号済コンテンツを再生する(ステップS357)。これにより、処理を終了する。
2.9 鍵発行装置200の変形例
鍵発行装置200は、次のように構成してもよい。鍵発行装置200の変形例としての鍵発行装置200aについて説明する。
鍵発行装置200aは、図40に示すように、ルート鍵ペア生成部201a1、ルート鍵ペア格納部202a、ルート公開鍵送信部210a1、鍵配信装置鍵ペア生成部201a2、証明書生成部203a2、鍵配信装置私有鍵証明書格納部204a2、鍵配信装置私有鍵証明書送信部210a2、端末装置鍵ペア生成部201a3、証明書生成部203a3、端末装置私有鍵証明書格納部204a3、端末装置私有鍵証明書送信部210a3、記録媒体装置鍵ペア生成部201a4、証明書生成部203a4、記録媒体装置私有鍵証明書格納部204a4、記録媒体装置私有鍵証明書送信部210a4、制作装置鍵ペア生成部201a5、証明書生成部203a5、制作装置私有鍵証明書格納部204a5、制作装置私有鍵証明書送信部210a5、入力部205a、署名部207a、リボークファイル格納部204a6及びリボークファイル送信部210a6から構成されている。
ルート鍵ペア生成部201a1は、鍵発行装置200のルート公開鍵232及びルート私有鍵231の鍵ペアを生成する。
ルート鍵ペア格納部202aは、ルート鍵ペア生成部201a1により生成されたルート公開鍵232及びルート私有鍵231の鍵ペアを格納する。
ルート公開鍵送信部210a1は、ルート鍵ペア格納部202aに格納されているルート公開鍵232を、鍵配信装置100、端末装置300及び記録媒体装置600に送信する。
鍵配信装置鍵ペア生成部201a2は、鍵配信装置100に割り当てられる鍵配信装置公開鍵254及び鍵配信装置私有鍵251からなる鍵配信装置鍵ペアを生成する。
証明書生成部203a2は、ルート鍵ペア格納部202aに格納されているルート私有鍵231を用いて、鍵配信装置鍵ペア生成部201a2により生成された鍵配信装置公開鍵254に対する署名データを生成する。次に、生成した署名データを付与し、鍵配信装置証明書252を生成する。
鍵配信装置私有鍵証明書格納部204a2は、鍵配信装置鍵ペア生成部201a2により生成された鍵配信装置私有鍵251と、証明書生成部203a2により生成された鍵配信装置証明書252とをペアとして格納する。
鍵配信装置私有鍵証明書送信部210a2は、鍵配信装置私有鍵証明書格納部204a2に格納されている鍵配信装置私有鍵251及び鍵配信装置証明書252のペアを鍵配信装置100に送信する。
端末装置鍵ペア生成部201a3は、端末装置300に割り当てられる端末装置公開鍵264及び端末装置私有鍵261からなる端末装置鍵ペアを生成する。
証明書生成部203a3は、ルート鍵ペア格納部202aが格納しているルート私有鍵231を用いて、端末装置鍵ペア生成部201a3により生成された端末装置公開鍵264に対する署名データを生成する。次に、生成した署名データを付与し、端末装置証明書262を生成する。
端末装置私有鍵証明書格納部204a3は、端末装置鍵ペア生成部201a3により生成された端末装置私有鍵261と、証明書生成部203a3により生成された端末装置証明書262とをペアとして格納する。
端末装置私有鍵証明書送信部210a3は、端末装置私有鍵証明書格納部204a3に格納されている端末装置私有鍵261及び端末装置証明書262のペアを端末装置300に送信する。
記録媒体装置鍵ペア生成部201a4は、記録媒体装置600に割り当てられる記録媒体装置公開鍵274及び記録媒体装置私有鍵271からなる記録媒体装置鍵ペアを生成する。
証明書生成部203a4は、ルート鍵ペア格納部202aに格納されているルート私有鍵231を用いて、記録媒体装置鍵ペア生成部201a4により生成された記録媒体装置公開鍵274に対する署名データを生成する。次に、生成した署名データを付与し、記録媒体装置証明書272を生成する。
記録媒体装置私有鍵証明書格納部204a4は、記録媒体装置鍵ペア生成部201a4により生成された記録媒体装置私有鍵271と、証明書生成部203a4により生成された記録媒体装置証明書272とをペアとして格納する。
記録媒体装置私有鍵証明書送信部210a4は、記録媒体装置私有鍵証明書格納部204a4に格納されている記録媒体装置私有鍵271及び記録媒体装置証明書272のペアを記録媒体装置600に送信する。
制作装置鍵ペア生成部201a5は、コンテンツ制作装置500に割り当てられる制作装置公開鍵284及び制作装置私有鍵281からなる制作装置鍵ペアを生成する。
証明書生成部203a5は、ルート鍵ペア格納部202aが格納しているルート私有鍵231を用いて、制作装置鍵ペア生成部201a5により生成された制作装置公開鍵284に対して署名データを生成する。次に、生成した署名データを付与し、制作装置証明書282を生成する。
制作装置私有鍵証明書格納部204a5は、制作装置鍵ペア生成部201a5により生成された制作装置私有鍵281と、証明書生成部203a5に生成された制作装置証明書282とをペアとして格納する。
制作装置私有鍵証明書送信部210a5は、制作装置私有鍵証明書格納部204a5に格納されている制作装置私有鍵281及び制作装置証明書282のペアをコンテンツ制作装置500に送信する。
入力部205aは、リボーク対象となる端末装置ID及び記録媒体装置IDを含むリボークデータ241の入力を受け付ける。
署名部207aは、入力部205aで入力された端末装置ID及び記録媒体装置IDを含むリボークデータ241に対して、署名データを生成する。次に、生成した署名データを付与して、リボークファイル242を生成する。
リボークファイル格納部204a6は、リボークファイル242を格納する。
リボークファイル送信部210a6は、リボークファイル格納部204a6に格納されているリボークファイル242を、鍵配信装置100に送信する。
3 実施の形態3
本発明に係る実施の形態3としてのコンテンツ管理システム10bについて、図面を参照しながら説明する。
3.1 コンテンツ管理システム10bの全体構成
コンテンツ管理システム10bは、図41に示すように、サーバ装置400b及び端末装置300bから構成されている。サーバ装置400b及び端末装置300bは、ネットワーク20bを介して、接続されている。
コンテンツ提供者500bは、コンテンツ及び鍵データに加え、利用者への告知データをサーバ装置400bへ提供する。コンテンツは、不正な漏洩から保護するために、デジタル化された映像データ及び音声データが暗号化されたものである。鍵データは、暗号化されたデジタル化された映像データ及び音声データを復号するために用いられる鍵である。また、告知データは、利用者に対して通知すべきメッセージを含む。
ただし、コンテンツ提供者500bは、コンテンツ提供装置であってもよい。また、コンテンツ管理システム10bは、コンテンツ提供装置、鍵配信装置、告知データ提供装置などの複数の装置から構成されるとしてもよい。
サーバ装置400bは、コンテンツ提供者500bから、コンテンツ、鍵データ及び告知データを受信し、受信したコンテンツ、鍵データ及び告知データを記憶する。
端末装置300bは、利用者から、コンテンツ利用のリクエストを受け付ける。ここで、コンテンツ利用とは、コンテンツのストリーミング再生、コンテンツのダウンロード記録、記録済みコンテンツの再生、記録済みコンテンツの他の記録媒体への移動やコピーなどをいう。次に、端末装置300bは、受け付けたリクエストに基づき、サーバ装置400bへの接続が必要な場合に、前記利用者からのリクエストをサーバ装置400bへ送信する。次に、端末装置300bは、所望のデータ(コンテンツ、鍵データ、告知データの何れか、又はそれらの全て)を受信し、受信した告知データの表示、コンテンツの利用、又はその両方を行う。
以下、サーバ装置400b及び端末装置300bの詳細について説明する。
3.2 サーバ装置400bの構成
サーバ装置400bは、図42に示すように、告知データ受付手段401b、告知データ保持手段402b、コンテンツ受付手段403b、コンテンツ保持手段404b、鍵データ保持手段405b、判定手段406b、送受信手段407b、管理データ保持手段408b、制御手段409bから構成される。
なお、サーバ装置400bは、CPU、メモリ、二次記憶ユニット、ネットワーク接続ユニット、キーボードなどから構成されるコンピュータシステムである。ここで、告知データ保持手段402b、コンテンツ保持手段404b、鍵データ保持手段405b及び管理データ保持手段408bは、それぞれ、二次記憶ユニットにより構成されている。判定手段406b及び制御手段409bは、それぞれ、CPU及びCPUの上で動作するコンピュータプログラムにより構成されている。また、送受信手段407bは、ネットワーク接続ユニットにより構成されている。さらに、告知データ受付手段401b及びコンテンツ受付手段403bは、それぞれ、キーボードから構成されている。
なお、サーバ装置400bの告知データ保持手段402b、コンテンツ保持手段404b、鍵データ保持手段405b、判定手段406b、送受信手段407b、管理データ保持手段408b及び制御手段409b等の各機能ブロックは、典型的には集積回路であるLSIとして実現されるとしてもよい。これらは個別に1チップ化されてもよいし、複数の手段、又は各手段の一部を含むように1チップ化されてもよい。また、各機能ブロックは、ソフトウェアで実現されてもよいし、LSIとソフトウェアの組み合わせで実現されてもよい。また、ソフトウェアは、耐タンパ化されていてもよい。
(1)告知データ受付手段401b及び告知データ保持手段402b
告知データ受付手段401bは、コンテンツ提供者500bから提供される告知データの入力を受け付ける。告知データ保持手段402bは、告知データを記憶する。
告知データの一例を図44及び図45に示す。
図44に示す告知データ331bは、コンテンツ提供者が映画会社Aの場合の告知データである。この例では、「映画会社Aが、該当端末装置を不正な端末装置と判定したため、コンテンツの利用が許可されませんでした。03−XXXX−XXXX(映画会社Aの連絡先)へお問い合わせください。」との告知文が利用者へ提示される。
利用者は、問い合わせ先が明確化されることで、端末装置の製造業者に対してクレームすることなく、また、端末装置の製造業者に問い合わせることなく、コンテンツ提供者へ問い合わせることが可能となる。
また、図45に示す告知データ332bは、コンテンツ提供者が映画会社Bの告知データである。この例では、「映画会社Bが、該当端末装置を不正な端末装置と判定したため、コンテンツの利用が許可されませんでした。コンテンツ利用するためにはソフトウェアの更新が必要です。更新しますか?」との告知文が利用者へ提示される。
この告知文により、利用者に対して不正なソフトウェア(又は端末装置300b)の是正を促すことが可能となる。
(2)コンテンツ受付手段403b、コンテンツ保持手段404b及び鍵データ保持手段405b
コンテンツ受付手段403bは、コンテンツ提供者500bから提供されるコンテンツ及び鍵データを受け付ける。コンテンツ保持手段404b及び鍵データ保持手段405bは、それぞれ、コンテンツ及び鍵データを記憶する。
ここで、コンテンツ及び鍵データは、必ずしも、一つのサーバ装置で記憶され端末装置へ送信される必要はない。コンテンツ及び鍵データは、別々のサーバ装置において記憶され、それぞれのサーバ装置から端末装置に送信されるとしてもよい。また、コンテンツは、記録媒体に記録され、記録媒体が配布され、鍵データのみサーバ装置から送信されるとしてもよい。また、鍵データは、記録媒体に記録され、記録媒体が配布され、コンテンツのみがサーバ装置から送信されるとしてもよい。
(3)判定手段406b、送受信手段407b及び管理データ保持手段408b
(管理データ保持手段408b)
管理データ保持手段408bは、一例として、図48に示すように、管理データテーブル370bを有している。
管理データテーブル370bは、複数の管理データを含み、各管理データは、コンテンツ提供者と1個又は複数個の告知データ組とを含む。言い換えると、コンテンツ提供者毎に、告知データ組が存在する。各告知データ組は、1個又は複数の端末装置識別子及び告知データタイプを含む。
ここで、コンテンツ提供者は、映画会社などコンテンツを提供する業者等を示す情報である。端末装置識別子は、端末装置を識別する識別情報である。
また、管理データ370bにおける端末識別子「0x20・・・011〜0x20・・・F20」は、「0x20・・・011」から「0x20・・・F20」の範囲に含まれる3856個の端末装置識別子を意味する。なお、「0x」に続く文字列は、16進数による数値の表現である。
告知データタイプは、告知データの種類を示す。ここでは、告知データタイプには、「タイプ1」及び「タイプ2」の2種類がある。「タイプ1」の告知データの一例を図49に示す。図49に示すように、「タイプ1」の告知データは、コンテンツの利用が許可されないときに、その問い合わせ先を示すメッセージを含んでいる。一方、「タイプ2」の告知データを、一例として、図50に示す。図50に示すように、「タイプ2」の告知データは、コンテンツの利用が許可されないときに、コンテンツを利用するためのソフトウェアの更新を求めるメッセージを含んでいる。
(送受信手段407b)
送受信手段407bは、端末装置300bからリクエストを受信する。
端末装置300bから受信するリクエストの一例を、図46及び図47に示す。
図46に示すリクエスト350bは、端末装置識別子353b「0x20・・・011」により識別される端末装置が、コンテンツ提供者(351b)「映画会社A」から提供される映像タイトル名352b「PPP in QP」により識別されるコンテンツの利用をリクエストする場合の例である。図46に示すように、リクエスト350bは、リクエストデータ354bを含み、リクエストデータ354bは、コンテンツ提供者(351b)「映画会社A」、映像タイトル名352b「PPP in QP」及び端末装置識別子353b「0x20・・・011」を含んでいる。
また、図47に示すリクエスト360bは、端末装置識別子363b「0x20・・・011」により識別される端末装置が、コンテンツ提供者(361b)「映画会社B」から提供される映像タイトル名362b「1234 to BCG」により識別されるコンテンツの利用をリクエストする場合の例である。図47に示すように、リクエスト360bは、リクエストデータ364を含み、リクエストデータ364は、コンテンツ提供者(361b)「映画会社B」、映像タイトル名362b「1234 to BCG」及び端末装置識別子363b「0x20・・・011」を含んでいる。
また、端末装置300bから受信するリクエストには、端末装置300bを一意に識別する識別子(端末装置識別子)、端末装置300bにおいてコンテンツを記録している内蔵メモリ、メモリカード、ハードディスク等々の記録手段を一意に識別する識別子(記録媒体識別子)、又は、その両方が含まれているものとしてもよい。
送受信手段407bは、判定手段406bから、コンテンツ及び鍵データ又は告知データを受け取り、受け取ったコンテンツ及び鍵データ又は告知データを端末装置300bへ送信する。
(判定手段406b)
判定手段406bは、送受信手段407bにより受信した端末装置300bからのコンテンツ利用のリクエストに基づき、端末装置300bに対して、告知データを送信すべきか否か、又は、コンテンツ及び鍵データを送信すべきか否かを、管理データ保持手段408bに保持されている管理データに基づき判定する。
この判定は、次のようにして行う。
判定手段406bは、端末装置300bから受信したリクエストから、コンテンツ提供者及び端末装置識別子を抽出する。次に、抽出したコンテンツ提供者及び端末装置識別子を含む管理データが、管理データテーブル370b内に存在するか否かを判断する。
抽出したコンテンツ提供者及び端末装置識別子を含む管理データが、管理データテーブル370b内に存在しない場合、コンテンツ及び鍵データを送信すると決定する。
抽出したコンテンツ提供者及び端末装置識別子を含む管理データが、管理データテーブル370b内に存在する場合、告知データを送信すると決定する。管理データテーブル370bから、抽出したコンテンツ提供者及び端末装置識別子を含む管理データを読み出し、読み出した管理データから告知データタイプを抽出する。次に、抽出した告知データタイプにより、告知データのタイプを決定する。
告知データタイプが「タイプ1」である場合、判定手段406bは、一例として、図49に示す告知データ333bを読み出す。一方、告知データタイプが「タイプ2」である場合、一例として、図50に示す告知データ334bを読み出す。次に、読み出した告知データに対して、コンテンツ提供者名やコンテンツ提供者への連絡先を埋め込む。
また、判定手段406bは、管理データテーブル370bに記載されていない端末識別子を持つ端末装置からのリクエストに対しては、告知データを送信せずに、コンテンツ及び鍵データを送信するものとする。
次に、判定手段406bは、コンテンツ及び鍵データ又は告知データを送受信手段407bに対して出力する。
なお、サーバ装置400bと端末装置300bとの間で安全な通信路を確立するための相互認証処理や鍵共有処理を行うとしてもよい。相互認証処理や鍵共有処理においては、ECDS(AElliptic Curve Digital Signature Algorithm)などのデジタル署名技術やECDH(Elliptic curve Diffie-Hellman )などの鍵共有技術など、公知の技術が利用可能であるので、ここでの説明は省略する。
(4)制御手段409b
制御手段409bは、告知データ受付手段401b、告知データ保持手段402b、コンテンツ受付手段403b、コンテンツ保持手段404b、鍵データ保持手段405b、判定手段406b、送受信手段407b及び管理データ保持手段408bを管理し制御して、端末装置300bから受信したリクエストに応じて、適切なデータの送信を実現する。
3.3 端末装置300bの構成
続いて、端末装置300bの詳細な構成を説明する。
端末装置300bは、図43に示すように、送受信手段301b、受付手段302b、表示手段303b、コンテンツ保持手段304b、更新手段305b、復号手段306b、コンテンツ再生手段307b及び制御手段308bから構成される。
なお、端末装置300bは、CPU、メモリ、二次記憶ユニット、ネットワーク接続ユニット、キーボード及び液晶ディスプレィユニットなどから構成されるコンピュータシステムである。ここで、コンテンツ保持手段304bは、二次記憶ユニットにより構成されている。コンテンツ再生手段307b、更新手段305b、復号手段306b及び制御手段308bは、それぞれ、CPU及びCPUの上で動作するコンピュータプログラムにより構成されている。また、送受信手段301b、ネットワーク接続ユニットにより構成されている。また、受付手段302bは、キーボードから構成されている。また、表示手段303bは、液晶ディスプレィユニットから構成されている。
なお、端末装置300bの送受信手段301b、コンテンツ再生手段307b、更新手段305b、復号手段306b、コンテンツ保持手段304b、制御手段308b等の各機能ブロックは、典型的には集積回路であるLSIとして実現されるとしてもよい。また、これらは、個別に1チップ化されても良いし、1個以上の手段、又は各手段の一部を含むように1チップ化されてもよい。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。また、各機能ブロックは、ソフトウェアで実現されてもよいし、LSIとソフトウェアの組み合わせで実現されてもよい。また、ソフトウェアは耐タンパ化されていてもよい。
(1)コンテンツ保持手段304b
コンテンツ保持手段304bは、送受信手段301bが受信したコンテンツ及び鍵データを保持するための領域を備えている。
(2)送受信手段301b、受付手段302b及び表示手段303b
受付手段302bは、利用者からコンテンツのリクエストの入力を受け付ける。リクエストは、一例として、図46及び図47に示す通りである。
また、受付手段302bは、利用者から、ソフトウェアの更新の操作を受け付ける。ソフトウェアの更新の操作を受け付けると、更新の実施を示す指示を更新手段305bに対して出力する。
送受信手段301bは、受付手段302bにより受け付けられた利用者のコンテンツのリクエストをサーバ装置400bへ送信する。また、サーバ装置400bからコンテンツ及び鍵データ又は告知データを受信する。
コンテンツ及び鍵データを受信した場合、送受信手段301bは、受信したコンテンツ及び鍵データをコンテンツ保持手段304bに書き込む。
告知データを受信した場合に、送受信手段301bは、受信した告知データを表示手段303bに対して出力する。
表示手段303bは、送受信手段301bから告知データを受け取る。告知データを受け取ると、表示手段303bは、受け取った告知データを表示する。
(3)復号手段306b及びコンテンツ再生手段307b
復号手段306bは、コンテンツ保持手段304bから鍵データ及びコンテンツを読み出し、読み出した鍵データを用いて、読み出したコンテンツを復号して復号済コンテンツを生成する。次に、生成した復号済コンテンツをコンテンツ再生手段307bに対して出力する。
コンテンツ再生手段307bは、復号済コンテンツを受け取り、受け取った復号済コンテンツを再生する。
(4)更新手段305b
送受信手段301bによりタイプ2の告知データを受信する場合に、受信した告知データが表示手段303bにより表示される。これにより、利用者に対して、ソフトウェアの更新が促される。このときに、受付手段302bは、上述したように、利用者から、ソフトウェアの更新の操作を受け付ける。この場合に、更新手段305bは、受付手段302bからソフトウェアの更新の実施を示す指示を受け取る。
当該指示を受け取ると、更新手段305bは、ソフトウェアの更新を実施する。具体的には、更新用のソフトウェアが準備されているソフトウェア配信サーバ装置(図示していない)に対してアクセスする。次に、更新用のソフトウェアをダウンロードし、ダウンロードした更新用のソフトウェアを用いて、更新前のソフトウェアを更新する。なお、ソフトウェアの更新は、公知の技術であり、その説明を省略する。
(5)制御手段308b
制御手段308bは、送受信手段301b、受付手段302b、表示手段303b、コンテンツ再生手段307b、更新手段305b、復号手段306b及びコンテンツ保持手段304bを管理し、制御する。また、サーバ装置400bへ利用者のリクエストを送信し、サーバ装置400bから受信したデータに基づき、告知データの表示、コンテンツの保持、再生などを実現する。
4.その他の変形例
なお、本発明の各実施の形態について説明してきたが、本発明の態様は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)実施の形態2では、鍵情報として私有鍵及び公開鍵からなる鍵ペアを前提として、私有鍵及び公開鍵を用いた認証をベースにしている。しかし、これには限定されない。MediaKeyBlock(MKB)技術をベースにしてもよい。また、別の暗号方式による認証技術を用いてもよい。
(2)実施の形態2では、記録媒体装置としてSDカードのようなメモリカードを想定しているが、本発明の態様は、これには限定されない。HDDのようなストレージデバイスに制御LSIが組み込まれて構成されたデバイスであってもよい。また、メモリカードのような脱着式でなく、携帯電話、eBook、NetBookなどに内蔵された内蔵型メモリデバイスに制御LSIが組み込まれた構成であってもよい。
(3)実施の形態3では、利用者によるコンテンツ利用のリクエストとして、サーバ装置からコンテンツを取得して保持し、再生を行うとしている。しかし、本発明は、このような構成に限定されるものではない。
例えば、内蔵メモリ、メモリカード、ハードディスク等の記録媒体に既に記録され保持しているコンテンツの再生を行う場合に、端末装置に保持されている(又は、記録媒体に保持されている)コンテンツに対応する制御データに基づき、サーバ装置への接続を行うとしてもよい。
このとき、端末装置は、さらに、制御データ保持手段及び判定手段を含む。
制御データ保持手段は、一例として、図51に示す制御データテーブル341bを記憶している。
制御データテーブル341bは、図51に示すように、複数の制御データを含む。各制御データは、映像タイトル名、コンテンツ提供者、サーバ接続要否、解像度及びウィンドウを含む。
ここで、映像タイトル名は、コンテンツを識別する名称である。コンテンツ提供者は、当該コンテンツを提供する提供業者を識別する名称である。サーバ接続要否は、端末装置からサーバ装置への接続の条件を示す。一例として、サーバ接続要否は、「常に接続必要」、「3回に1回接続必要」、「接続不要」のいずれかである。「常に接続必要」は、端末装置とサーバ装置とがネットワークを介して、常に接続されていることが要求される。「3回に1回接続必要」は、端末装置においてコンテンツを利用するときに、コンテンツの3回の利用の度に、1回、端末装置とサーバ装置とがネットワークを介して、接続されていることが要求される。「接続不要」は、端末装置とサーバ装置とのネットワークを介した接続を要求しない。解像度は、コンテンツの解像度を示す。ウィンドウは、コンテンツが利用者に提供される時期(期間)を示す。ビデオウィンドウは、コンテンツがDVDなどの記録媒体に格納されて市場に提供される時期(期間)を示す。アーリーウィンドウは、映画のコンテンツが映画館で上映された後、コンテンツがDVDなどの記録媒体に記録され流通が開始されるまでの短い時期(期間)をいう。このアーリーウィンドウにおいて、例えば、コンテンツは、ネットワークを介して、配信される。
利用者が、端末装置により保持され、コンテンツ提供者「映画会社A」により提供され、映像タイトル名「PPP in QP」により識別されるコンテンツの再生を指定した場合、判定手段は、制御データテーブル341b内の制御データ342bにより示される制御に従う。利用者の指定に係るコンテンツ提供者及び映像タイトル名と、制御データテーブル341b内の制御データ342bに含まれるコンテンツ提供者及び映像タイトル名とが一致するからである。この場合に、端末装置は、サーバ装置への接続要否の条件を確認し、サーバ装置への接続を行う。告知データがサーバ装置から送信されてきた場合に、端末装置は、当該告知データの表示を行う。
(4)端末装置は、さらに、告知データを記憶している告知データ保持手段及び告知データの表示要否を判定するための制御データテーブル381bを記憶している制御データ保持手段を含むとしてもよい。
制御データテーブル381bの一例を図52に示す。
制御データテーブル381bは、図52に示すように、複数の制御データを含む。各制御データは、映像タイトル名、コンテンツ提供者、サーバ接続要否、取得方法、告知データの表示要否、再生可否、解像度及びウィンドウを含む
映像タイトル名、コンテンツ提供者、サーバ接続要否、解像度及びウィンドウについて、上述した通りである。
取得方法は、コンテンツの取得方法を示す。一例として、取得方法は、「デジタルコピー」、「配信サービスV」及び「配信サービスN」である。「デジタルコピー」は、コピーによるコンテンツの取得を示す。「配信サービスV」及び「配信サービスN」は、それぞれ、コンテンツの配信サービスによりコンテンツを取得することを示す。告知データの表示要否は、告知データの表示が必要か又は不要かを示す。再生可否は、再生を許可するか否かを示す。
利用者が、端末装置において保持され、コンテンツ提供者「映画会社B」により提供され、映像タイトル「1234」により識別されるコンテンツの再生を指定した場合、判定手段は、サーバ接続装置への接続要否、告知データの表示要否、再生可否の条件を確認する。指定に係るコンテンツ提供者「映画会社B」及び映像タイトル「1234」は、制御データテーブル381に含まれる制御データ382bに含まれている。このため、端末装置は、制御データ382bに従って、サーバ装置への接続は行わず、告知データの表示を行った後、コンテンツの再生開始を行う。
このように、端末装置は、サーバ装置への接続要否、告知データの表示要否、再生可否の条件等々が記載された制御データを保持し、制御データに基づくコンテンツの利用制御や、告知データの表示を行うとしてもよい。
(5)上記の変形例(3)及び(4)では、端末装置が保持するコンテンツの再生を制御している。しかし、本発明は、これらの構成に限定されるものではない。
例えば、端末装置(あるいは記録媒体)により保持されるコンテンツを、他の端末装置(あるいは記録媒体)へ移動、又はコピーする場合であっても、端末装置は、サーバ装置への接続要否、告知データの表示要否、移動可否、又はコピー可否の条件等々が記載された制御データを保持し、制御データに基づくコンテンツの利用制御や告知データの表示を行うとしてもよい。
(6)上記の変形例(3)〜(5)では、判定手段で判定に用いる制御データとして、映像タイトルを基準にして管理している。しかし、本発明は、これらの構成に限定されるものではない。
例えば、ある特定のコンテンツ提供者から提供される全てのコンテンツに対して、告知データを表示させるとしてもよい。
また、ある特定のコンテンツ提供者から提供される全てのアーリーウィンドウコンテンツに対して、告知データを表示させるとしてもよい。ここで、アーリーウィンドウコンテンツは、アーリーウィンドウにおいて、提供される価値の高いコンテンツである。
また、ある特定のコンテンツ提供者から提供されるコンテンツの解像度がフルHD(FHD)である全てのコンテンツに対して、告知データを表示させるとしてもよい。
また、コンテンツの入手経路(配信サービスによる入手、パッケージメディアからのコピーによる入手、又は、放送番組の録画による入手)に基づき、ある特定の配信サービスからの全てのコンテンツに対して告知データを表示させるとしてもよい。
このように、コンテンツ提供者の指示又はコンテンツ提供者が作成した制御データに基づき、コンテンツの利用制御及び告知データの表示を行うとしてもよい。
(7)実施の形態3では、サーバ装置は、端末装置から受信する端末装置識別子に基づき、告知データ等のデータの送信要否を判断している。しかし、本発明は、このような構成に限定されるものではない。
例えば、コンテンツを記憶している内蔵メモリ、メモリカード、ハードディスク等々の記録媒体を一意に識別する記録媒体識別子に基づいて、端末装置へ送信するデータをコントロールしてもよい。
また、端末装置識別子と記録媒体識別子の両方に基づいて、端末装置へ送信するデータをコントロールしてもよい。
(8)実施の形態3では、サーバ装置は、端末装置から受信する端末装置識別子に基づき、告知データ等のデータの送信要否を判断している。しかし、本発明は、このような構成に限定されるものではない。
例えば、サーバ装置が、端末装置が保持しているソフトウェアのバージョン、更新プログラムのインストール状態、ウイルスチェックソフトがインストールされているか等々、端末装置のセキュリティレベルを確認可能なプログラムを端末装置へ送信する。当該プログラムは、端末装置のセキュリティレベルを確認し、当該端末装置のセキュリティレベルに応じて、告知データの表示要否を判断してもよい。また、当該プログラムが、当該端末装置のセキュリティレベルに応じて、コンテンツの記録、再生、移動、コピーなどを制御したりする構成であってもよい。
(9)実施の形態3のサーバ装置は、端末装置毎に、又は端末装置の製造業者毎に、コンテンツ提供者が指定する告知データの表示要否、又は表示が必要とされた回数などを解析するための解析手段を含むとしてもよい。
このような解析手段により、端末装置製造業者に対するランク付けを行うことが可能となる。こうして、端末装置製造業者のランクに応じたコンテンツの利用許諾やコントロールを行うことが可能となる。
(10)実施の形態3に加え、アーリーウィンドウコンテンツなどの価値が高いコンテンツの場合、端末装置(あるいは記録媒体装置)への記録の対象を、暗号化されているコンテンツのみとしてもよい。このとき、端末装置は、コンテンツを復号するための鍵データを、端末装置におけるコンテンツの再生の都度、サーバ装置へアクセスして取得してもよい。
この場合も同様に、サーバ装置で、当該端末装置(あるいは記録媒体装置)に対して再生を認めず鍵データを送信しない場合は、当該端末装置に対して告知データを送信し、コンテンツ提供者の意思による停止であることを表示し知らせる。
(11)実施の形態3では、コンテンツ及び鍵データは、サーバ装置から送られてくるとしている。しかし、本発明は、このような構成に限定されるものではない。
例えば、コンテンツはパッケージメディアからコピーされ、鍵データのみがサーバ装置から送信されるとしてもよい。
また、逆に、鍵データはパッケージメディアからコピーされ、コンテンツのみがサーバ装置から送信されるとしてもよい。
さらに、端末装置の告知データ保持手段が保持する告知データや、制御データ保持手段が保持する制御データもパッケージメディアを介して受け取るとしてもよい。
(12)実施の形態3では、端末装置の制御手段が、サーバ装置との通信、コンテンツの記録、再生等を制御するとしている。しかし、本発明は、このような構成に限定されるものではない。
次に示すように構成してもよい。
変形例としてのコンテンツ管理システム10cは、図53に示すように、サーバ装置400c及び端末装置300cから構成されているとしてもよい。サーバ装置400c及び端末装置300cは、ネットワーク20cを介して、接続されている。
サーバ装置400cは、通信制御システム407c及び管理情報制御システム409cを含み、コンテンツ管理情報410c及び端末装置管理情報411cを保持している。
また、端末装置300cは、通信制御手段301c、コンテンツ再生手段307c、
コンテンツ表示手段309c及び内蔵メモリ310cを含み、端末装置300cには、可搬型の取り外し可能なメモリカード315cが装着されている。
内蔵メモリ310cは、著作権保護機能付きコントローラ311c及びフラッシュメモリ312cを含み、フラッシュメモリ312cは、コンテンツ管理情報313c及びコンテンツ314cを記憶するための領域を有している。
なお、内蔵メモリ310cは、フラッシュメモリ312cに代えて、ハードディスクを含んでいるとしてもよい。
メモリカード315cは、著作権保護機能付きコントローラ316c及びフラッシュメモリ317cを含み、フラッシュメモリ317cは、コンテンツ管理情報318c及びコンテンツ319cを記憶するための領域を有している。
内蔵メモリ310cのフラッシュメモリ312c、又は、端末装置300cに挿入されているメモリカード315cのフラッシュメモリ317cは、コンテンツ管理情報313c、318c及びコンテンツ314c、319cを記憶している。それぞれの内蔵メモリ又はメモリカードの著作権保護機能付きコントローラ311c、316c(以下、制御手段)が、コンテンツ314c、319cの利用(再生、移動、コピー等)を制御するとしてもよい。
図53に示す例においては、コンテンツ314c、319cは、既に端末装置300c又はメモリカード315cに記録済みである。
このとき、それぞれの制御手段の制御により、端末装置300cの通信制御手段301cを介して、サーバ装置400cとの通信(コンテンツ利用のリクエスト)が行われる。
サーバ装置400cでは、保持するコンテンツ管理情報410c、あるいは端末装置管理情報411cに基づき、当該リクエストに対して、コンテンツの利用(再生、移動、コピー等)を許可するか否かを判定する。また、告知データを送信するか否かを判定する。
判定方法や告知データについては、実施の形態2、実施の形態3又はその他の変形例に記載の通りである。
ここで、サーバ装置400cが保持するコンテンツ管理情報410c及び端末装置管理情報411cの一例は、図48に示す管理データテーブル370bである。
なお、図48に示す例では、一つの管理データテーブルとして管理しているが、コンテンツ管理情報410c及び端末装置管理情報411cを、別々の管理データテーブルとして管理する構成であってもよい。
さらに、端末装置管理情報411cは、個々の端末装置を一意に識別する識別子だけでなく、端末装置の製造業者や、端末装置のある機種やあるモデルを識別する識別子を含むとしてもよい。また、内蔵メモリ及びメモリカードの著作権保護機能付きコントローラを識別する識別子であるとしてもよいし、フラッシュメモリを一意に識別する識別子であるとしてもよい。同様に、内蔵メモリの製造業者、メモリカードの製造業者や、内蔵メモリやメモリカードのあるモデルや製造単位を識別する識別子であるとしてもよい。
また、端末装置が保持するコンテンツ管理情報410cは、例えば、図51に示す制御データテーブル341bである。
(13)上記(12)では、端末装置300cが既にコンテンツを保持(記録済み)しているとしたが、本発明は、このような構成に限定されるものではない。
次のように構成してもよい。
変形例としてのコンテンツ管理システム10dは、図54に示すように、サーバ装置400c、記録装置700d及び端末装置300cから構成されているとしてもよい。サーバ装置400c、記録装置700d及び端末装置300cは、ネットワーク20dを介して、接続されている。
コンテンツ管理システム10dのサーバ装置400c及び端末装置300cは、それぞれ、コンテンツ管理システム10cのサーバ装置400c及び端末装置300cと同一の構成を有している。
記録装置700dは、通信制御手段701d、コンテンツ記録制御手段702dを含み、コンテンツ管理情報703d及びコンテンツ704dを保持している。
記録装置700dは、既にコンテンツ704dを保持している。サーバ装置400cの許可の下、記録装置700dは、コンテンツ704dを端末装置300cの内蔵メモリ310c又はメモリカード315cへ移動又はコピーするとしてもよい。
コンテンツ管理システム10dにおいては、記録装置700dは、サーバ装置400cに対してコンテンツの移動又はコピーのリクエストを送信する。サーバ装置400cは、保持しているコンテンツ管理情報410c又は端末装置管理情報411cに基づき、記録装置700dからのリクエストに対して、コンテンツ704dの記録又はコピーを許可するか否かを判定する。また、告知データを送信するか否かを判定する。判定方法や告知データについては、実施の形態2、3、又はその他の変形例に記載の通りである。
さらに、端末装置300cの内蔵メモリ310c、又はメモリカード315cへ移動又はコピーされたコンテンツ314c又は319cを再生する場合、再度、コンテンツ314c又は319cの再生許可をサーバ装置400cにリクエストする構成であってもよい。このとき、再生の都度、許可を求めるとしてもよい。また、最初の再生のときだけ、つまり、1回目だけ、許可を求めるとしてもよい。サーバ装置400cは、保持しているコンテンツ管理情報410c又は端末装置管理情報411cに基づき、記録装置700dからのリクエストに対して、コンテンツ704dの移動又はコピーを許可するか否かを判定する。また、告知データを送信するか否かを判定する。判定方法や告知データについては、実施の形態2、3又はその他の変形例に記載の通りである。
(14)次のように構成してもよい。
変形例としてのコンテンツ管理システム10eは、図55に示すように、サーバ装置400c、記録装置700d及び端末装置300cから構成されているとしてもよい。記録装置700dは、パッケージメディア800からコンテンツを取得して、内部に記録する。ここで、パッケージメディアとは、コンテンツが記録され流通しているディスクである。サーバ装置400c、記録装置700d及び端末装置300cは、ネットワーク20dを介して、接続されている。
コンテンツ管理システム10eのサーバ装置400c、記録装置700d及び端末装置300cは、それぞれ、コンテンツ管理システム10dのサーバ装置400c、記録装置700d及び端末装置300cと同一の構成を有している。
この場合において、記録装置700dは、パッケージメディア800に記録されているコンテンツを内部に記憶するリクエストをサーバ装置400cへ送信する。サーバ装置400cは、保持しているコンテンツ管理情報410c又は端末装置管理情報411cに基づき、記録装置700dからのリクエストに対して、コンテンツの記憶を許可するか否かの判定を行う。また、告知データを送信するか否かの判定を行う。判定方法や告知データについては、実施の形態2、3、又はその他の変形例に記載の通りである。端末装置300cによるコンテンツ314c又は319cの再生については、実施の形態2、3又はその他の変形例と同様である。
(15)次のように構成してもよい。
変形例としてのコンテンツ管理システム10fは、図56に示すように、サーバ装置400c、コンテンツ配信サーバ装置400f、記録装置700d及び端末装置300cから構成されているとしてもよい。サーバ装置400c、コンテンツ配信サーバ装置400f、記録装置700d及び端末装置300cは、ネットワーク20fを介して、接続されている。
コンテンツ管理システム10fのサーバ装置400c、記録装置700d及び端末装置300cは、それぞれ、コンテンツ管理システム10eのサーバ装置400c、記録装置700d及び端末装置300cと同一の構成を有している。
この図に示すように、記録装置700dは、コンテンツ配信サーバ装置400fから、コンテンツを取得し、取得したコンテンツを、コンテンツ704dとして、内部に記録するとしてもよい。
この場合、記録装置700dは、コンテンツの内部へコンテンツの記録のリクエストをサーバ装置400cに対して送信する。サーバ装置400cは、保持しているコンテンツ管理情報410c又は端末装置管理情報411cに基づき、記録装置700dからのリクエストに対して、コンテンツの記録を許可するか否かを判定する。また、告知データを送信するか否かを判定する。判定方法や告知データについては、実施の形態2、3又はその他の変形例に記載の通りである。
端末装置300cによるコンテンツ314c又は319cの再生については実施の形態2、3又はその他の変形例と同様である。
ここで、サーバ装置400cとコンテンツ配信サーバ装置400fとが相互に通信を行い、コンテンツ管理情報や端末装置管理情報を最新状態に保つ、言い換えると、相互に共有するとしてもよい。さらに、記録装置700dは、サーバ装置400dに対して、コンテンツ704dの記録のリクエストを送信すると共に、コンテンツ配信サーバ装置400fに対して、コンテンツ704dの送信のリクエストを送信する。リクエストを受信したコンテンツ配信サーバ装置400fは、コンテンツの送信を許可するか否かを判定してもよい。
また、リクエストを受信したコンテンツ配信サーバ装置400fは、コンテンツの送信を許可するか否かを、サーバ装置400dへ問い合わせるとしてもよい。このとき、コンテンツ配信サーバ装置400fは、サーバ装置400dから問い合わせに対する返答を受信する。次に、コンテンツ配信サーバ装置400fは、問い合わせに対する返答を、記録装置700dに対して出力する。
判定方法や告知データについては、実施の形態2、3又はその他の変形例に記載の通りである。端末装置300cによるコンテンツの再生については実施の形態2、3又はその他の変形例と同様である。
(16)次のように構成してもよい。
端末装置が保持するコンテンツ管理情報に、コンテンツの利用可能な時間(絶対時間、又は相対時間の何れであってもよい)を記載しておいてもよい。この場合、端末装置がサーバ装置に対してコンテンツの記録をリクエストする際に、端末装置は、コンテンツ管理情報に記載されている利用可能な時間の情報を送信して許可を求めるとしてもよい。また、端末装置は、サーバ装置から時間情報を取得する。端末装置の制御手段、内蔵メモリの著作権保護機能付きコントローラ又はメモリカードの著作権保護機能付きコントローラは、取得した時間情報を用いて、コンテンツの再生をするか否かを判定する。こうして、コンテンツの再生を制御する。サーバ装置は、判定結果に基づき、時間情報、許可情報又は告知データを端末装置へ送信する。判定方法や告知データについては、実施の形態2、3又はその他の変形例に記載の通りである。
端末装置は、コンテンツの再生中に再度、サーバ装置に再生継続のリクエストを送信してもよい。このとき、サーバ装置からコンテンツの再生の許可が得られない場合、端末装置は、再生を停止し、コンテンツ提供者による告知データを表示してもよい。また、端末装置がサーバ装置へ接続できない場合には、コンテンツの入手と同時に入手し、予め記録しているコンテンツ提供者による告知データを表示してもよい。こうして、コンテンツの再生を停止する。このような構成により、コンテンツのレンタルサービスなどの実施が可能となる。
(17)次のように構成してもよい。
本発明の一態様は、コンテンツ情報を管理する配信装置である。前記配信装置は、コンテンツ毎にリボーク対象機器の一覧を管理できるコンテンツと機器の対応リストを保持している。前記機器から、前記配信装置へ前記コンテンツに対するアクセスがあった場合に、前記配信装置は、前記コンテンツと機器の対応リストを確認し、アクセスしている前記機器がリボーク対象であるか確認する。
本発明の別の一態様は、コンテンツを格納する記録媒体である。前記記録媒体は、さらに、コンテンツ毎にリボーク対象機器の一覧を管理できるコンテンツと機器の対応リストを保持し、前記機器から、前記記録媒体へ前記コンテンツに対するアクセスがあった場合に、前記記録媒体は、前記コンテンツと機器の対応リストを確認し、アクセスしている前記機器がリボーク対象であるか確認する。
ここで、前記配信装置は、さらに前記コンテンツと機器の対応リストを前記記録媒体に送付するとしてもよい。
本発明の別の一態様は、配信装置と機器と記録媒体とから構成される配信システムである。前記配信システムは、コンテンツ毎にリボーク対象機器の一覧を管理できるコンテンツと機器の対応リストを保持し、前記コンテンツに対するアクセスがあった場合に、前記コンテンツと機器の対応リストを確認し、アクセスしている前記機器がリボーク対象であるか確認し、前記コンテンツと機器の対応リストを前記記録媒体に送信する。前記記録媒体は、受信した前記コンテンツと機器の対応リストを記憶し、前記機器から、前記記録媒体へ前記コンテンツに対するアクセスがあった場合に、前記コンテンツと機器の対応リストを確認し、アクセスしている前記機器がリボーク対象であるか確認する。
本発明の別の一態様は、コンテンツの利用を管理する管理サーバである。前記管理サーバは、コンテンツ提供者が予め定める告知データを保持する告知データ保持手段と、コンテンツを利用する端末装置の管理データを保持する管理データ保持手段と、前記端末装置からの要求に応じて、コンテンツの利用許可を送信するか、告知データを送信するか否かを判定する判定手段とを備える。
本発明の別の一態様は、コンテンツを利用する端末装置である。前記端末装置は、コンテンツの利用許可、又は告知データを受信する受信手段と、コンテンツ管理情報を保持する保持手段と、前記告知データを表示する表示手段と、コンテンツの利用を制御する制御手段とを備える。前記告知データを受信した場合に、前記告知データを表示すると共に、コンテンツ管理情報に基づいてコンテンツの利用を抑制するか否かを制御手段が制御する。
ここで、前記端末装置の前記制御手段は、内蔵メモリーが備えるコントローラであるとしてもよい。
本発明の別の一態様は、前記端末装置へ挿入されるメモリーカードである。前記メモリーカードは、前記端末装置の前記制御手段と同様の機能を有するコントローラを備える。
本発明の別の一態様は、コンテンツの利用を管理する管理サーバと、コンテンツを利用する端末装置からなるコンテンツ利用管理システムである。前記管理サーバは、コンテンツ提供者が予め定める告知データを保持する告知データ保持手段と、コンテンツを利用する端末装置の管理データを保持する管理データ保持手段と、前記端末装置からの要求に応じて、コンテンツの利用許可を送信するか、告知データを送信するか否かを判定する判定手段とを備える。前記端末装置は、コンテンツの利用許可、又は告知データを受信する受信手段と、コンテンツ管理情報を保持する保持手段と、前記告知データを表示する表示手段と、コンテンツの利用を制御する制御手段とを備える。前記告知データを受信した場合に、前記告知データを表示すると共に、コンテンツ管理情報に基づいてコンテンツの利用を抑制するか否かを制御手段が制御する。
(17)次のように構成してもよい。
本発明の一態様は、記録媒体装置であって、記憶部及び耐タンパ化されたコントローラを含む。前記記憶部は、コンテンツ及び無効化リストを記憶しており、前記無効化リストは、前記コンテンツに対応付けて、当該コンテンツの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を含む。
前記コントローラは、当該記録媒体装置の装着された機器から前記コンテンツの取得要求を取得し、前記機器に割り当てられた公開鍵証明書を識別する機器識別子を取得する取得回路と、取得した前記機器識別子が、取得要求のあった前記コンテンツに対応付けられた前記無効化識別子と一致するか否かを判断する判断回路と、一致すると判断する場合に、前記コンテンツの前記機器に対する出力を禁止するように制御する制御回路とを備える。
本発明の一態様は、記録媒体装置であって、記憶部及び耐タンパ化されたコントローラを含む。前記記憶部は、コンテンツ及び無効化リストを記憶しており、前記無効化リストは、前記コンテンツに対応付けて、当該コンテンツの利用に関連する機器に対して割り当てられ、無効化された公開鍵証明書を識別する無効化識別子を含む。前記コントローラは、複数のコンピュータ命令が組み合わされて構成されるコンピュータプログラムを記憶しているメモリ部と、前記メモリ部に記憶されている前記コンピュータプログラムから1個ずつコンピュータ命令を読み出し、解読し、その解読結果に応じて動作するプロセッサとを備える。前記コンピュータプログラムは、コンピュータである前記コントローラに、当該記録媒体装置の装着された機器から前記コンテンツの取得要求を取得し、前記機器に割り当てられた公開鍵証明書を識別する機器識別子を取得する取得ステップと、取得した前記機器識別子が、取得要求のあった前記コンテンツに対応付けられた前記無効化識別子と一致するか否かを判断する判断ステップと、一致すると判断する場合に、前記コンテンツの前記機器に対する出力を禁止するように制御する制御ステップとを実行させる。
(18)上記各実施の形態及びその他の変形例では、1つの装置が複数の機能(構成要素)を持つ構成としている。しかし、本発明は、この構成に限定されるものではない。複数の機能(構成要素)が複数の装置に分配され、複数の装置が相互に連携をすることにより、同様の機能を果たし、同様の効果を奏するとしてもよい。
(19)上記各実施の形態及びその他の変形例において、各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカード又は前記モジュールは、超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカード又は前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
(20)本発明の一態様は、上記各実施の形態及びその他の変形例における各装置を制御するための制御方法であるとしてもよい。また、これらの制御方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明の一態様は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
また、本発明の一態様は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明の一態様は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は、前記プログラム又は前記デジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(21)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。