JP2002297032A - 情報処理装置および方法、記録媒体、並びにプログラム - Google Patents

情報処理装置および方法、記録媒体、並びにプログラム

Info

Publication number
JP2002297032A
JP2002297032A JP2001094805A JP2001094805A JP2002297032A JP 2002297032 A JP2002297032 A JP 2002297032A JP 2001094805 A JP2001094805 A JP 2001094805A JP 2001094805 A JP2001094805 A JP 2001094805A JP 2002297032 A JP2002297032 A JP 2002297032A
Authority
JP
Japan
Prior art keywords
content
license
key
header
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2001094805A
Other languages
English (en)
Inventor
Ryuji Ishiguro
隆二 石黒
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2001094805A priority Critical patent/JP2002297032A/ja
Publication of JP2002297032A publication Critical patent/JP2002297032A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 コンテンツの作成者が検証できるようにし、
不正にコピーされたコンテンツの流通を防止する。 【解決手段】 ステップS171で取り込まれたデータ
にウォーターマークがある場合、ステップS173でこ
れが抽出され、ステップS174でウォーターマークが
ヘッダに付加される。ステップS175でヘッダのデー
タに基づいたデジタル署名が、ユーザの秘密鍵に基づい
て作成され、これがステップS177においてファイル
フォーマットに記録される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理装置およ
び方法、記録媒体、並びにプログラムに関し、特に、コ
ンテンツの作成者の正当性を利用者側で検証できるよう
にした、情報処理装置および方法、記録媒体、並びにプ
ログラムに関する。
【0002】
【従来の技術】最近、インターネットが普及し、インタ
ーネットを介してオーディオやビデオなどの各種のコン
テンツが転送され、一般ユーザにより利用されるように
なってきた。
【0003】このように、インターネットにより、コン
テンツが伝送されるようになると、不正にコピーされた
コンテンツが大量に配布されてしまう恐れがある。
【0004】そこで、コンテンツの不正なコピーを防止
する各種の提案がなされている。
【0005】
【発明が解決しようとする課題】しかしながら、従来の
コンテンツの不正なコピーを防止する方法は、そのほと
んどが、コンテンツが不正にコピーされること自体を防
止するようにするものであり、一旦、コピーが行われて
しまうと、その後、そのコンテンツは、自由に流通して
しまうことが多かった。
【0006】本発明は、このような状況に鑑みてなされ
たものであり、不正にコピーされたコンテンツが流通す
るのを確実に抑制することができるようにするものであ
る。
【0007】
【課題を解決するための手段】本発明の情報処理装置
は、出力するコンテンツを取得する取得手段と、取得手
段により取得されたコンテンツのヘッダを作成するヘッ
ダ作成手段と、ヘッダ作成手段により作成されたヘッダ
のデータに基づいたデジタル署名を作成する署名作成手
段と、取得手段により取得されたコンテンツを暗号化す
る暗号化手段と、ヘッダ作成手段により作成されたヘッ
ダと、暗号化手段により暗号化されたコンテンツをファ
イルフォーマットにフォーマット化し、出力するフォー
マット化手段とを備えることを特徴とする。
【0008】前記取得手段は、デジタル署名に使用する
秘密鍵を、コンテンツのライセンスとともにさらに取得
することができる。
【0009】本発明の情報処理方法は、出力するコンテ
ンツを取得する取得ステップと、取得ステップの処理に
より取得されたコンテンツのヘッダを作成するヘッダ作
成ステップと、ヘッダ作成ステップの処理により作成さ
れたヘッダのデータに基づいたデジタル署名を作成する
署名作成ステップと、取得ステップの処理により取得さ
れたコンテンツを暗号化する暗号化ステップと、ヘッダ
作成ステップの処理により作成されたヘッダと、暗号化
ステップの処理により暗号化されたコンテンツをファイ
ルフォーマットにフォーマット化し、出力するフォーマ
ット化ステップとを含むことを特徴とする。
【0010】本発明の記録媒体のプログラムは、出力す
るコンテンツを取得する取得ステップと、取得ステップ
の処理により取得されたコンテンツのヘッダを作成する
ヘッダ作成ステップと、ヘッダ作成ステップの処理によ
り作成されたヘッダのデータに基づいたデジタル署名を
作成する署名作成ステップと、取得ステップの処理によ
り取得されたコンテンツを暗号化する暗号化ステップ
と、ヘッダ作成ステップの処理により作成されたヘッダ
と、暗号化ステップの処理により暗号化されたコンテン
ツをファイルフォーマットにフォーマット化し、出力す
るフォーマット化ステップとを含むことを特徴とする。
【0011】本発明のプログラムは、出力するコンテン
ツを取得する取得ステップと、取得ステップの処理によ
り取得されたコンテンツのヘッダを作成するヘッダ作成
ステップと、ヘッダ作成ステップの処理により作成され
たヘッダのデータに基づいたデジタル署名を作成する署
名作成ステップと、取得ステップの処理により取得され
たコンテンツを暗号化する暗号化ステップと、ヘッダ作
成ステップの処理により作成されたヘッダと、暗号化ス
テップの処理により暗号化されたコンテンツをファイル
フォーマットにフォーマット化し、出力するフォーマッ
ト化ステップとを実行させる。
【0012】本発明の情報処理装置および方法、記録媒
体、並びにプログラムにおいては、ヘッダと、ヘッダの
データに基づいて生成されたデジタル署名がフォーマッ
ト化される。
【0013】
【発明の実施の形態】図1は、本発明を適用したコンテ
ンツ提供システムの構成を示している。インターネット
2には、クライアント1−1,1−2(以下、これらの
クライアントを個々に区別する必要がない場合、単にク
ライアント1と称する)が接続されている。この例にお
いては、クライアントが2台のみ示されているが、イン
ターネット2には、任意の台数のクライアントが接続さ
れる。
【0014】また、インターネット2には、クライアン
ト1に対してコンテンツを提供するコンテンツサーバ
3、コンテンツサーバ3が提供するコンテンツを利用す
るのに必要なライセンスをクライアント1に対して付与
するライセンスサーバ4、およびクライアント1がライ
センスを受け取った場合に、そのクライアント1に対し
て課金処理を行う課金サーバ5が接続されている。
【0015】これらのコンテンツサーバ3、ライセンス
サーバ4、および課金サーバ5も、任意の台数、インタ
ーネット2に接続される。
【0016】図2はクライアント1の構成を表してい
る。
【0017】図2において、CPU(Central Processing
Unit)21は、ROM(Read Only Memory)22に記憶さ
れているプログラム、または記憶部28からRAM(Rando
m Access Memory)23にロードされたプログラムに従
って各種の処理を実行する。タイマ20は、計時動作を
行い、時刻情報をCPU21に供給する。RAM23にはま
た、CPU21が各種の処理を実行する上において必要な
データなども適宜記憶される。
【0018】暗号化復号部24は、コンテンツデータを
暗号化するとともに、既に暗号化されているコンテンツ
データを復号する処理を行う。コーデック部25は、例
えば、ATRAC(Adaptive Transform Acoustic Coding)
3方式などでコンテンツデータをエンコードし、入出力
インタフェース32を介してドライブ30に接続されて
いる半導体メモリ44に供給し、記録させる。あるいは
また、コーデック部25は、ドライブ30を介して半導
体メモリ44より読み出した、エンコードされているデ
ータをデコードする。
【0019】半導体メモリ44は、例えば、メモリステ
ィック(商標)などにより構成される。
【0020】CPU21、ROM22、RAM23、暗号化復号
部24、およびコーデック部25は、バス31を介して
相互に接続されている。このバス31にはまた、入出力
インタフェース32も接続されている。
【0021】入出力インタフェース32には、キーボー
ド、マウスなどよりなる入力部26、CRT、LCDなどより
なるディスプレイ、並びにスピーカなどよりなる出力部
27、ハードディスクなどより構成される記憶部28、
モデム、ターミナルアダプタなどより構成される通信部
29が接続されている。通信部29は、インターネット
2を介しての通信処理を行う。通信部29はまた、他の
クライアントとの間で、アナログ信号またはデジタル信
号の通信処理を行う。
【0022】入出力インタフェース32にはまた、必要
に応じてドライブ30が接続され、磁気ディスク41、
光ディスク42、光磁気ディスク43、或いは半導体メ
モリ44などが適宜装着され、それらから読み出された
コンピュータプログラムが、必要に応じて記憶部28に
インストールされる。
【0023】なお、図示は省略するが、コンテンツサー
バ3、ライセンスサーバ4、課金サーバ5も、図2に示
したクライアント1と基本的に同様の構成を有するコン
ピュータにより構成される。そこで、以下の説明におい
ては、図2の構成は、コンテンツサーバ3、ライセンス
サーバ4、課金サーバ5などの構成としても引用され
る。
【0024】次に、図3のフローチャートを参照して、
クライアント1がコンテンツサーバ3からコンテンツの
提供を受ける処理について説明する。
【0025】ユーザが、入力部26を操作することでコ
ンテンツサーバ3に対するアクセスを指令すると、CPU
21は、ステップS1において、通信部29を制御し、
インターネット2を介してコンテンツサーバ3にアクセ
スさせる。ステップS2において、ユーザが、入力部2
6を操作して、提供を受けるコンテンツを指定すると、
CPU21は、この指定情報を受け取り、通信部29か
ら、インターネット2を介してコンテンツサーバ3に、
指定されたコンテンツを通知する。図4のフローチャー
トを参照して後述するように、この通知を受けたコンテ
ンツサーバ3は、暗号化されたコンテンツデータを送信
してくるので、ステップS3において、CPU21は、通
信部29を介して、このコンテンツデータを受信する
と、ステップS4において、その暗号化されているコン
テンツデータを記憶部28を構成するハードディスクに
供給し、記憶させる。
【0026】次に、図4のフローチャートを参照して、
クライアント1の以上の処理に対応するコンテンツサー
バ3のコンテンツ提供処理について説明する。なお、以
下の説明において、図2のクライアント1の構成は、コ
ンテンツサーバ3の構成としても引用される。
【0027】ステップS21において、コンテンツサー
バ3のCPU21は、インターネット2から通信部29を
介してクライアント1よりアクセスを受けるまで待機
し、アクセスを受けたと判定したとき、ステップS22
に進み、クライアント1から送信されてきたコンテンツ
を指定する情報を取り込む。このコンテンツを指定する
情報は、クライアント1が、図3のステップS2におい
て通知してきた情報である。
【0028】ステップS23において、コンテンツサー
バ3のCPU21は、記憶部28に記憶されているコンテ
ンツデータの中から、ステップS22の処理で取り込ま
れた情報で指定されたコンテンツを読み出す。CPU21
は、ステップS24において、記憶部28から読み出さ
れたコンテンツデータを、暗号化復号部24に供給し、
コンテンツキーKcを用いて暗号化させる。
【0029】記憶部28に記憶されているコンテンツデ
ータは、コーデック部25により、既にATRAC3方式に
よりエンコードされているので、このエンコードされて
いるコンテンツデータが暗号化されることになる。
【0030】なお、もちろん、記憶部28に予め暗号化
した状態でコンテンツデータを記憶させることができ
る。この場合には、ステップS24の処理は省略するこ
とが可能である。
【0031】次に、ステップS25において、コンテン
ツサーバ3のCPU21は、暗号化したコンテンツデータ
を伝送するフォーマットを構成するヘッダに、暗号化さ
れているコンテンツを復号するのに必要なキー情報(図
5を参照して後述するEKBとK EKBC(Kc))と、コンテン
ツを利用するのに必要なライセンスを識別するためのラ
イセンスIDを付加する。そして、ステップS26におい
て、コンテンツサーバ3のCPU21は、ステップS24
の処理で暗号化したコンテンツと、ステップS25の処
理でキーとライセンスIDを付加したヘッダとをフォーマ
ット化したデータを、通信部29から、インターネット
2を介して、アクセスしてきたクライアント1に送信す
る。
【0032】図5は、このようにして、コンテンツサー
バ3からクライアント1にコンテンツが供給される場合
のフォーマットの構成を表している。同図に示されるよ
うに、このフォーマットは、ヘッダ(Header)とデータ
(Data)とにより構成される。
【0033】ヘッダには、コンテンツ情報(Content in
formation)、デジタル権利管理情報(DRM(Digital Ri
ght Management) information )、ライセンスID(Lic
ense ID)、イネーブリングキーブロック(有効化キー
ブロック)(EKB(EnablingKey Block))および、EKB
から生成されたキーKEKBCを用いて暗号化されたコンテ
ンツキーKcとしてのデータKEKBC(Kc)が配置されてい
る。なお、EKBについては、図15を参照して後述す
る。
【0034】コンテンツ情報には、データとしてフォー
マット化されているコンテンツデータを識別するための
識別情報としてのコンテンツID(CID)、そのコンテン
ツのコーデックの方式などの情報が含まれている。
【0035】デジタル権利管理情報には、コンテンツを
使用する規則および状態(Usage rules/status)と、UR
L(Uniform Resource Locator)が配置されている。使
用規則および状態には、例えば、コンテンツの再生回
数、コピー回数などが記述される。
【0036】URLは、ライセンスIDで規定されるライセ
ンスを取得するときアクセスするアドレス情報であり、
図1のシステムの場合、具体的には、ライセンスを受け
るために必要なライセンスサーバ4のアドレスである。
ライセンスIDは、データとして記録されているコンテン
ツを利用するとき必要とされるライセンスを識別するも
のである。
【0037】データは、任意の数の暗号化ブロック(En
cryption Blook)により構成される。各暗号化ブロック
は、イニシャルベクトル(IV(Initial Vector))、シ
ード(Seed)、およびコンテンツデータをキーK'cで暗
号化したデータEK ' c(data)により構成されている。
【0038】キーK'cは、次式により示されるように、
コンテンツキーKcと、乱数で設定される値Seedをハッシ
ュ関数に適用して演算された値により構成される。
【0039】K'c=Hash(Kc,Seed)
【0040】イニシャルベクトルIVとシードSeedは、各
暗号化ブロック毎に異なる値に設定される。
【0041】この暗号化は、コンテンツのデータを8バ
イト単位で区分して、8バイト毎に行われる。後段の8
バイトの暗号化は、前段の8バイトの暗号化の結果を利
用して行われるCBC(Cypher Block Chaning)モードで
行われる。
【0042】CBCモードの場合、最初の8バイトのコン
テンツデータを暗号化するとき、その前段の8バイトの
暗号化結果が存在しないため、最初の8バイトのコンテ
ンツデータを暗号化するときは、イニシャルベクトルIV
を初期値として暗号化が行われる。
【0043】このCBCモードによる暗号化を行うこと
で、1つの暗号化ブロックが解読されたとしても、その
影響が、他の暗号化ブロックにおよぶことが抑制され
る。
【0044】なお、この暗号化については、図46を参
照にして、後に詳述する。
【0045】以上のようにして、クライアント1は、コ
ンテンツサーバ3からコンテンツを無料で、自由に取得
することができる。従って、コンテンツそのものは、大
量に、配布することが可能となる。
【0046】しかしながら、各クライアント1は、取得
したコンテンツを利用するとき、ライセンスを保持して
いる必要がある。そこで、図6を参照して、クライアン
ト1がコンテンツを再生する場合の処理について説明す
る。
【0047】ステップS41において、クライアント1
のCPU21は、ユーザが入力部26を操作することで指
示したコンテンツの識別情報(CID)を取得する。この
識別情報は、例えば、コンテンツのタイトルや、記憶さ
れている各コンテンツ毎に付与されている番号などによ
り構成される。
【0048】そして、CPU21は、コンテンツが指示さ
れると、そのコンテンツに対応するライセンスID(その
コンテンツを使用するのに必要なライセンスのID)を読
み取る。このライセンスIDは、図5に示されるように、
暗号化されているコンテンツデータのヘッダに記述され
ているものである。
【0049】次に、ステップS42に進み、CPU21
は、ステップS41で読み取られたライセンスIDに対応
するライセンスが、クライアント1により既に取得さ
れ、記憶部28に記憶されているか否かを判定する。ま
だ、ライセンスが取得されていない場合には、ステップ
S43に進み、CPU21は、ライセンス取得処理を実行
する。このライセンス取得処理の詳細は、図7のフロー
チャートを参照して後述する。
【0050】ステップS42において、ライセンスが既
に取得されていると判定された場合、または、ステップ
S43において、ライセンス取得処理が実行された結
果、ライセンスが取得された場合、ステップS44に進
み、CPU21は、取得されているライセンスは有効期限
内のものであるか否かを判定する。ライセンスが有効期
限内のものであるか否かは、ライセンスの内容として規
定されている期限(後述する図8参照)と、タイマ20
により計時されている現在日時と比較することで判断さ
れる。ライセンスの有効期限が既に満了していると判定
された場合、CPU21は、ステップS45に進み、ライ
センス更新処理を実行する。このライセンス更新処理の
詳細は、図10のフローチャートを参照して後述する。
【0051】ステップS44において、ライセンスはま
だ有効期限内であると判定された場合、または、ステッ
プS45において、ライセンスが更新された場合、ステ
ップS46に進み、CPU21は、暗号化されているコン
テンツデータを記憶部28から読み出し、RAM23に格
納させる。そして、ステップS47において、CPU21
は、RAM23に記憶された暗号化ブロックのデータを、
図5のデータに配置されている暗号化ブロック単位で、
暗号化復号部24に供給し、コンテンツキーKcを用いて
復号させる。
【0052】コンテンツキーKcを得る方法の具体例は、
図15を参照して後述するが、ライセンスに含まれない
デバイスノードキー(DNK)(図8)を用いて、EKB(図
5)に含まれるキーKEKBCを得ることができ、そのキー
EKBCを用いて、データKEK BC(Kc)(図5)から、コ
ンテンツキーKcを得ることができる。
【0053】CPU21は、さらに、ステップS48にお
いて、暗号化復号部24により復号されたコンテンツデ
ータをコーデック部25に供給し、デコードさせる。そ
して、コーデック部25によりデコードされたデータ
を、CPU21は、入出力インタフェース32から出力部
27に供給し、D/A変換させ、スピーカから出力させ
る。
【0054】次に、図7のフローチャートを参照して、
図6のステップS43で行われるライセンス取得処理の
詳細について説明する。
【0055】最初にステップS61において、CPU21
は、いま処理対象とされているライセンスIDに対応する
URLを、図5に示すヘッダから取得する。上述したよう
に、このURLは、やはりヘッダに記述されているライセ
ンスIDに対応するライセンスを取得するときアクセスす
べきアドレスである。そこで、ステップS62におい
て、CPU21は、ステップS61で取得したURLにアクセ
スする。具体的には、通信部29を介してインターネッ
ト2からライセンスサーバ4にアクセスが行われる。こ
のとき、ライセンスサーバ4は、クライアント1に対し
て、購入するライセンス(コンテンツを使用するのに必
要なライセンス)を指定するライセンス指定情報、並び
にユーザIDとパスワードの入力を要求してくる(後述す
る図9のステップS102)。CPU21は、この要求を
出力部27の表示部に表示させる。ユーザは、この表示
に基づいて、入力部26を操作して、ライセンス指定情
報、ユーザID、およびパスワードを入力する。なお、こ
のユーザIDとパスワードは、クライアント1のユーザ
が、インターネット2を介してライセンスサーバ4にア
クセスし、事前に取得しておいたものである。
【0056】CPU21は、ステップS63,S64にお
いて、入力部26から入力されたライセンス識別情報を
取り込むとともに、ユーザIDとパスワードを取り込む。
CPU21は、ステップS65において、通信部29を制
御し、入力されたユーザIDとパスワードを、ライセンス
指定情報とともに、インターネット2を介してライセン
スサーバ4に送信させる。
【0057】ライセンスサーバ4は、図9を参照して後
述するように、ユーザIDとパスワード、並びにライセン
ス指定情報に基づいてライセンスを、そのユーザの秘密
鍵(Private Key)、並びにその秘密鍵に対応する公開
鍵(Public Key)の証明書とともに送信してくる(ステ
ップS109)か、または、条件が満たされない場合に
は、ライセンスを送信してこない(ステップS11
2)。
【0058】ステップS66において、CPU21は、ラ
イセンスサーバ4からライセンスが送信されてきたか否
かを判定し、ライセンスが送信されてきた場合には、ス
テップS67に進み、そのライセンスを、秘密鍵および
公開鍵証明書とともに記憶部28に供給し、記憶させ
る。
【0059】ステップS66において、ライセンスが送
信されて来ないと判定した場合、CPU21は、ステップ
S68に進み、エラー処理を実行する。具体的には、CP
U21は、コンテンツを利用するためのライセンスが得
られないので、コンテンツの再生処理を禁止する。
【0060】以上のようにして、各クライアント1は、
コンテンツデータに付随しているライセンスIDに対応す
るライセンスを取得して、初めて、そのコンテンツを使
用することが可能となる。
【0061】なお、図7のライセンス取得処理は、各ユ
ーザがコンテンツを取得する前に、予め行っておくよう
にすることも可能である。
【0062】クライアント1に提供されるライセンス
は、例えば、図8に示されるように、使用条件、リーフ
IDおよびデバイスノードキー(Device Naode Key(DN
K))を含んでいる。
【0063】使用条件は、そのライセンスに基づいて、
コンテンツを使用することが可能な使用期限、そのライ
センスに基づいて、コンテンツをダウンロードすること
が可能なダウンロード期限、そのライセンスに基づい
て、コンテンツをコピーすることが可能な回数(許され
るコピー回数)、チェックアウト回数、最大チェックア
ウト回数、そのライセンスに基づいて、コンテンツをCD
-Rに記録することができる権利、PD(Portable Devic
e)にコピーすることが可能な回数、ライセンスを所有
権(買い取り状態)に移行できる権利、使用ログをとる
義務等が含まれる。
【0064】リーフIDは、Tシステム(図13を参照し
て後述する)により規定されるそのライセンスに割り当
てられた識別情報を表し、DNKは、そのライセンスに対
応するEKB(有効化キーブロック)に含まれる暗号化さ
れているコンテンツキーKcを復号するのに必要なデバイ
スノードキーである(図12を参照して後述する)。
【0065】次に、図9のフローチャートを参照して、
図7のクライアント1のライセンス取得処理に対応して
実行されるライセンスサーバ4のライセンス提供処理に
ついて説明する。なお、この場合においても、図2のク
ライアント1の構成は、ライセンスサーバ4の構成とし
て引用される。
【0066】ステップS101において、ライセンスサ
ーバ4のCPU21は、クライアント1よりアクセスを受
けるまで待機し、アクセスを受けたとき、ステップS1
02に進み、アクセスしてきたクライアント1に対し
て、ユーザIDとパスワード、並びに、ライセンス指定情
報の送信を要求する。上述したようにして、クライアン
ト1から、図7のステップS65の処理で、ユーザIDと
パスワード、並びにライセンス指定情報(ライセンスI
D)が送信されてきたとき、ライセンスサーバ4のCPU2
1は、通信部29を介してこれを受信し、取り込む処理
を実行する。
【0067】そして、ライセンスサーバ4のCPU21
は、ステップS103において、通信部29から課金サ
ーバ5にアクセスし、ユーザIDとパスワードに対応する
ユーザの与信処理を要求する。課金サーバ5は、インタ
ーネット2を介してライセンスサーバ4から与信処理の
要求を受けると、そのユーザIDとパスワードに対応する
ユーザの過去の支払い履歴などを調査し、そのユーザ
が、過去にライセンスの対価の不払いの実績があるか否
かなどを調べ、そのような実績がない場合には、ライセ
ンスの付与を許容する与信結果を送信し、不払いの実績
などがある場合には、ライセンス付与の不許可の与信結
果を送信する。
【0068】ステップS104において、ライセンスサ
ーバ4のCPU21は、課金サーバ5からの与信結果が、
ライセンスを付与することを許容する与信結果であるか
否かを判定し、ライセンスの付与が許容されている場合
には、ステップS105に進み、ステップS102の処
理で取り込まれたライセンス指定情報に対応するライセ
ンスを、記憶部28に記憶されているライセンスの中か
ら選択する。ステップS106において、CPU21は、
そのライセンスに対応して1つのDNKとリーフIDを割り
当てる。さらに、ステップS107において、CPU21
は、ステップS105で選択されたライセンスに対応づ
けられている使用条件を選択する。あるいはまた、ステ
ップS102の処理で、ユーザから使用条件が指定され
た場合には、その使用条件が必要に応じて、予め用意さ
れている使用条件に付加される。
【0069】ステップS108において、CPU21は、
ステップS107で選択した使用条件を、ステップS1
06で割り当てたDNKとリーフIDに対応付けて付加す
る。これにより、図8に示されるような構成のライセン
スが生成される。
【0070】次に、ステップS109に進み、ライセン
スサーバ4のCPU21は、そのライセンス(図8に示さ
れる構成を有する)を、そのクライアント1のユーザに
割り当てる秘密鍵、並びに、その秘密鍵に対応する公開
鍵の証明書とともに、通信部29からインターネット2
を介してクライアント1に送信させる。但し、秘密鍵と
証明書は、そのユーザに1つ割り当てられるのもであ
り、ライセンス毎に異なるものではないので、既に、送
付されている場合には、省略することができる。
【0071】ステップS110においてライセンスサー
バ4のCPU21は、ステップS109の処理で、いま送
信したライセンス(使用条件、リーフID、およびDNKを
含む)を、証明書および秘密鍵とともに、ステップS1
02の処理で取り込まれたユーザIDとパスワードに対応
して、記憶部28に記憶させる。さらに、ステップS1
11において、CPU21は、課金処理を実行する。具体
的には、CPU21は、通信部29から課金サーバ5に、
そのユーザIDとパスワードに対応するユーザに対する課
金処理を要求する。課金サーバ5は、この課金の要求に
基づいて、そのユーザに対する課金処理を実行する。上
述したように、この課金処理に対して、そのユーザが支
払いを行わなかったような場合には、以後、そのユーザ
は、ライセンスの付与を要求したとしても、ライセンス
を受けることができないことになる。
【0072】すなわち、この場合には、課金サーバ5か
らライセンスの付与を不許可とする与信結果が送信され
てくるので、ステップS104からステップS112に
進み、CPU21は、エラー処理を実行する。具体的に
は、ライセンスサーバ4のCPU21は、通信部29を制
御してアクセスしてきたクライアント1に対して、ライ
センスを付与することができない旨のメッセージを出力
し、処理を終了させる。
【0073】この場合、上述したように、そのクライア
ント1はライセンスを受けることができないので、その
コンテンツを利用すること(暗号を復号すること)がで
きないことになる。
【0074】図10は、図6のステップS45における
ライセンス更新処理の詳細を表している。図10のステ
ップS131乃至ステップS135の処理は、図7のス
テップS61乃至ステップS65の処理と基本的に同様
の処理である。ただし、ステップS133において、CP
U21は、購入するライセンスではなく、更新するライ
センスのライセンスIDを取り込む。そして、ステップS
135において、CPU21は、ユーザIDとパスワードと
ともに、更新するライセンスのライセンスIDを、ライセ
ンスサーバ4に送信する。
【0075】ステップS135の送信処理に対応して、
ライセンスサーバ4は、後述するように、使用条件を提
示してくる(図11のステップS153)。そこで、ク
ライアント1のCPU21は、ステップS136におい
て、ライセンスサーバ4からの使用条件の提示を受信
し、これを出力部27に出力し、表示させる。ユーザ
は、入力部26を操作して、この使用条件の中から所定
の使用条件を選択したり、所定の使用条件を新たに追加
したりする。ステップS137でCPU21は、以上のよ
うにして選択された使用条件(ライセンスを更新する条
件)を購入するための申し込みをライセンスサーバ4に
送信する。この申し込みに対応して、後述するようにラ
イセンスサーバ4は、最終的な使用条件を送信してくる
(図11のステップS154)。そこで、ステップS1
38において、クライアント1のCPU21は、ライセン
スサーバ4からの使用条件を取得し、ステップS139
において、その使用条件を記憶部28にすでに記憶され
ている対応するライセンスの使用条件として更新する。
【0076】図11は、以上のクライアント1のライセ
ンス更新処理に対応して、ライセンスサーバ4が実行す
るライセンス更新処理を表している。
【0077】最初に、ステップS151において、ライ
センスサーバ4のCPU21は、クライアント1からのア
クセスを受けると、ステップS152において、クライ
アント1がステップS135で送信したライセンス指定
情報をライセンス更新要求情報とともに受信する。
【0078】ステップS153において、CPU21は、
ライセンスの更新要求を受信すると、そのライセンスに
対応する使用条件(更新する使用条件)を、記憶部28
から読み出し、クライアント1に送信する。
【0079】この提示に対して、上述したように、クラ
イアント1から使用条件の購入が図10のステップS1
37の処理で申し込まれると、ステップS154におい
て、ライセンスサーバ4のCPU21は、申し込まれた使
用条件に対応するデータを生成し、ステップS154に
おいて、クライアントと1に送信する。クライアント1
は、上述したように、ステップS139の処理で受信し
た使用条件を用いて、すでに登録されているライセンス
の使用条件を更新する。
【0080】本発明においては、図12に示されるよう
に、ブロードキャストインクリプション(Broadcast En
cryption)方式の原理に基づいて、デバイスとライセン
スのキーが管理される。キーは、階層ツリー構造とさ
れ、最下段のリーフ(leaf)が個々のデバイスまたはラ
イセンスのキーに対応する。図12の例の場合、番号0
から番号15までの16個のデバイスまたはライセンス
に対応するキーが生成される。
【0081】各キーは、図中丸印で示されるツリー構造
の各ノードに対応して規定される。この例では、最上段
のルートノードに対応してルートキーKRが、2段目のノ
ードに対応してキーK0,K1が、3段目のノードに対
応してキーK00乃至K11が、第4段目のノードに対
応してキーK000乃至キーK111が、それぞれ対応
されている。そして、最下段のノードとしてのリーフ
(デバイスノード)に、キーK0000乃至K1111
が、それぞれ対応されている。
【0082】階層構造とされているため、例えば、キー
K0010とキー0011の上位のキーは、K001と
され、キーK000とキーK001の上位のキーは、K
00とされている。以下同様に、キーK00とキーK0
1の上位のキーは、K0とされ、キーK0とキーK1の
上位のキーは、KRとされている。
【0083】コンテンツを利用するキーは、最下段のデ
バイスノード(リーフ)から、最上段のルートノードま
での1つのパスの各ノードに対応するキーで管理され
る。例えば、番号3のノード(リーフID)に対応するラ
イセンスに基づき、コンテンツを利用するキーは、キー
K0011,K001,K00,K0,KRを含むパスの
各キーで管理される。
【0084】本発明のシステムにおいては、図13に示
されるように、図12の原理に基づいて構成されるMG-R
エンティティというキーシステムで、デバイスのキーと
ライセンスのキーの管理が行われる。図13の例では、
8ラ24ラ32段のノードがツリー構造とされ、ルートノ
ードから下位の8段までの各ノードにカテゴリが対応さ
れる。ここにおけるカテゴリとは、例えばメモリスティ
ックなどの半導体メモリを使用する機器のカテゴリ、デ
ジタル放送を受信する機器のカテゴリといったカテゴリ
を意味する。そして、このカテゴリノードのうちの1つ
のノードに、ライセンスを管理するシステムとしてのT
システムが対応される。
【0085】すなわち、このTシステムのノードよりさ
らに下の階層の24段のノードに対応するキーにより、
ライセンスが対応される。この例の場合、これにより、
約16メガ(=224=約160万)のライセンスを規定
することができる。さらに、最も下側の32段の階層に
より、約4ギガ(=232=約40億)のユーザを規定す
ることができる。最下段の32段のノードに対応するキ
ーが、DNK(Device Node Key)を構成し、そのDNKに対
応するIDがリーフIDとされる。
【0086】各デバイスやライセンスのキーは、64
(=8+24+32)段の各ノードで構成されるパスの
内の1つに対応される。例えば、コンテンツを暗号化し
たコンテンツキーは、対応するライセンスに割り当てら
れたパスを構成するノードに対応するキーを用いて暗号
化される。上位の階層のキーは、その直近の下位の階層
のキーを用いて暗号化され、EKB(図15を参照して
後述する)内に配置される。最下段のDNKは、EKB
内には配置されず、ライセンスに記述され(図8)、ユ
ーザのクライアント1に与えられる。クライアント1
は、ライセンスに記述されているDNKを用いて、コン
テンツデータとともに配布されるEKB(図5)内に記
述されている直近の上位の階層のキーを復号し、復号し
て得たキーを用いて、EKB内に記述されているさらに
その上の階層のキーを復号する。以上の処理を順次行う
ことで、クライアント1は、そのコンテンツのパスに属
するすべてのキーを得ることができる。
【0087】図14に階層ツリー構造のカテゴリーの分
類の具体的な例を示す。図14において、階層ツリー構
造の最上段には、ルートキーKR2301が設定され、以
下の中間段にはノードキー2302が設定され、最下段
には、リーフキー2303が設定される。各デバイスは
個々のリーフキーと、リーフキーからルートキーに至る
一連のノードキー、ルートキーを保有する。
【0088】最上段から第M段目(図13の例では、M
=8)の所定のノードがカテゴリノード2304として
設定される。すなわち第M段目のノードの各々が特定カ
テゴリのデバイス設定ノードとされる。第M段の1つの
ノードを頂点としてM+1段以下のノード、リーフは、
そのカテゴリに含まれるデバイスに関するノードおよび
リーフとされる。
【0089】例えば図14の第M段目の1つのノード2
305にはカテゴリ[メモリステッイク(商標)]が設
定され、このノード以下に連なるノード、リーフはメモ
リステッイクを使用した様々なデバイスを含むカテゴリ
専用のノードまたはリーフとして設定される。すなわ
ち、ノード2305以下が、メモリスティックのカテゴ
リに定義されるデバイスの関連ノード、およびリーフの
集合として定義される。
【0090】さらに、M段から数段分下位の段をサブカ
テゴリノード2306として設定することができる。図
14の例では、カテゴリ[メモリスティック]ノード2
305の2段下のノードに、メモリスティックを使用し
たデバイスのカテゴリに含まれるサブカテゴリノードと
して、[再生専用器]のノード2306が設定されてい
る。さらに、サブカテゴリノードである再生専用器のノ
ード2306以下に、再生専用器のカテゴリに含まれる
音楽再生機能付き電話のノード2307が設定され、さ
らにその下位に、音楽再生機能付き電話のカテゴリに含
まれる[PHS]ノード2308と、[携帯電話]ノー
ド2309が設定されている。
【0091】さらに、カテゴリ、サブカテゴリは、デバ
イスの種類のみならず、例えばあるメーカー、コンテン
ツプロバイダ、決済機関等が独自に管理するノード、す
なわち処理単位、管轄単位、あるいは提供サービス単位
等、任意の単位(これらを総称して以下、エンティティ
と呼ぶ)で設定することが可能である。例えば1つのカ
テゴリノードをゲーム機器メーカーの販売するゲーム機
器XYZ専用の頂点ノードとして設定すれば、メーカー
の販売するゲーム機器XYZに、その頂点ノード以下の
下段のノードキー、リーフキーを格納して販売すること
が可能となり、その後、暗号化コンテンツの配信、ある
いは各種キーの配信、更新処理を、その頂点ノードキー
以下のノードキー、リーフキーによって構成される有効
化キーブロック(EKB)を生成して配信し、頂点ノー
ド以下のデバイスに対してのみ利用可能なデータが配信
可能となる。
【0092】このように、1つのノードを頂点としし
て、以下のノードをその頂点ノードに定義されたカテゴ
リ、あるいはサブカテゴリの関連ノードとして設定する
構成とすることにより、カテゴリ段、あるいはサブカテ
ゴリ段の1つの頂点ノードを管理するメーカー、コンテ
ンツプロバイダ等がそのノードを頂点とする有効化キー
ブロック(EKB)を独自に生成して、頂点ノード以下
に属するデバイスに配信する構成が可能となり、頂点ノ
ードに属さない他のカテゴリのノードに属するデバイス
には全く影響を及ぼさずにキー更新を実行することがで
きる。
【0093】例えば、図12に示されるツリー構造にお
いて、1つのグループに含まれる3つのデバイス0,
1,2,3はノードキーとして共通のキーK00、K
0、KRを保有する。このノードキー共有構成を利用する
ことにより、共通のコンテンツキーをデバイス0,1,
2,3のみに提供することが可能となる。たとえば、共
通に保有するノードキーK00自体をコンテンツキーと
して設定すれば、新たな鍵送付を実行することなくデバ
イス0,1,2,3のみが共通のコンテンツキーの設定
が可能である。また、新たなコンテンツキーKconを
ノードキーK00で暗号化した値Enc(K00,Kc
on)を、ネットワークを介してあるいは記録媒体に格
納してデバイス0,1,2,3に配布すれば、デバイス
0,1,2,3のみが、それぞれのデバイスにおいて保
有する共有ノードキーK00を用いて暗号Enc(K0
0,Kcon)を解いてコンテンツキーKconを得る
ことが可能となる。なお、Enc(Ka,Kb)はKb
をKaによって暗号化したデータであることを示す。
【0094】また、ある時点tにおいて、デバイス3の
所有する鍵K0011,K001,K00,K0,KRが攻撃
者(ハッカー)により解析されて露呈したことが発覚し
た場合、それ以降、システム(デバイス0,1,2,3
のグループ)で送受信されるデータを守るために、デバ
イス3をシステムから切り離す必要がある。そのために
は、ノードキーK001,K00,K0,KRを、それぞれ
新たな鍵K(t)001,K(t)00,K(t)0,K
(t)Rに更新し、デバイス0,1,2にその更新キー
を伝える必要がある。ここで、K(t)aaaは、鍵K
aaaの世代(Generation)tの更新キーであることを
示す。
【0095】更新キーの配布処理ついて説明する。キー
の更新は、例えば、図15Aに示す有効化キーブロック
(EKB:Enabling Key Block)と呼ばれるブロックデ
ータによって構成されるテーブルを、ネットワークを介
して、あるいは記録媒体に格納してデバイス0,1,2
に供給することによって実行される。なお、有効化キー
ブロック(EKB)は、図12に示されるようなツリー
構造を構成する各リーフ(最下段のノード)に対応する
デバイスに、新たに更新されたキーを配布するための暗
号化キーによって構成される。有効化キーブロック(E
KB)は、キー更新ブロック(KRB:Key Renewal Bl
ock)と呼ばれることもある。
【0096】図15Aに示す有効化キーブロック(EK
B)は、ノードキーの更新の必要なデバイスのみが更新
可能なデータ構成を持つブロックデータとして構成され
る。図15Aの例は、図12に示すツリー構造中のデバ
イス0,1,2において、世代tの更新ノードキーを配
布することを目的として形成されたブロックデータであ
る。図12から明らかなように、デバイス0,デバイス
1は、更新ノードキーとしてK(t)00、K(t)
0、K(t)Rが必要であり、デバイス2は、更新ノー
ドキーとしてK(t)001、K(t)00、K(t)
0、K(t)Rが必要である。
【0097】図15AのEKBに示されるように、EK
Bには複数の暗号化キーが含まれる。図15Aの最下段
の暗号化キーは、Enc(K0010,K(t)00
1)である。これはデバイス2の持つリーフキーK00
10によって暗号化された更新ノードキーK(t)00
1であり、デバイス2は、自身の持つリーフキーK00
10によってこの暗号化キーを復号し、更新ノードキー
K(t)001を得ることができる。また、復号により
得た更新ノードキーK(t)001を用いて、図15A
の下から2段目の暗号化キーEnc(K(t)001,
K(t)00)が復号可能となり、更新ノードキーK
(t)00を得ることができる。
【0098】以下順次、図15Aの上から2段目の暗号
化キーEnc(K(t)00,K(t)0)を復号する
ことで、更新ノードキーK(t)0が得られ、これを用
いて、図15Aの上から1段目の暗号化キーEnc(K
(t)0,K(t)R)を復号することで、更新ルート
キーK(t)Rが得られる。
【0099】一方、ノードキーK000は更新する対象
に含まれておらず、ノード0,1が、更新ノードキーと
して必要なのは、K(t)00、K(t)0、K(t)
Rである。ノード0,1は、デバイスキーK0000,
K0001を用いて、図15Aの上から3段目の暗号化
キーEnc(K000,K(t)00)を復号すること
で更新ノードキーK(t)00を取得し、以下順次、図
15Aの上から2段目の暗号化キーEnc(K(t)0
0,K(t)0)を復号することで、更新ノードキーK
(t)0を得、図15Aの上から1段目の暗号化キーE
nc(K(t)0,K(t)R)を復号することで、更
新ルートキーK(t)Rを得る。このようにして、デバ
イス0,1,2は更新したキーK(t)Rを得ることが
できる。
【0100】なお、図15Aのインデックスは、図の右
側の暗号化キーを復号するための復号キーとして使用す
るノードキー、リーフキーの絶対番地を示す。
【0101】図12に示すツリー構造の上位段のノード
キーK(t)0,K(t)Rの更新が不要であり、ノー
ドキーK00のみの更新処理が必要である場合には、図
15Bの有効化キーブロック(EKB)を用いること
で、更新ノードキーK(t)00をデバイス0,1,2
に配布することができる。
【0102】図15Bに示すEKBは、例えば特定のグ
ループにおいて共有する新たなコンテンツキーを配布す
る場合に利用可能である。具体例として、図12に点線
で示すグループ内のデバイス0,1,2,3がある記録
媒体を用いており、新たな共通のコンテンツキーK
(t)conが必要であるとする。このとき、デバイス
0,1,2,3の共通のノードキーK00を更新したK
(t)00を用いて新たな共通の更新コンテンツキーK
(t)conを暗号化したデータEnc(K(t)0
0,K(t)con)が、図15Bに示されるEKBと
ともに配布される。この配布により、デバイス4など、
その他のグループの機器が復号することができないデー
タとしての配布が可能となる。
【0103】すなわち、デバイス0,1,2はEKBを
処理して得たキーK(t)00を用いて暗号文を復号す
れば、t時点でのコンテンツキーK(t)conを得る
ことが可能になる。
【0104】図16に、t時点でのコンテンツキーK
(t)conを得る処理例として、K(t)00を用い
て新たな共通のコンテンツキーK(t)conを暗号化
したデータEnc(K(t)00,K(t)con)
と、図15Bに示すEKBとを記録媒体を介して受領し
たデバイス0の処理を示す。すなわちこの例は、EKB
による暗号化メッセージデータをコンテンツキーK
(t)conとした例である。
【0105】図16に示すように、デバイス0は、記録
媒体に格納されている世代t時点のEKBと、自分があ
らかじめ格納しているノードキーK000を用いて、上
述したと同様のEKB処理により、ノードキーK(t)
00を生成する。さらに、デバイス0は、復号した更新
ノードキーK(t)00を用いて、更新コンテンツキー
K(t)conを復号して、後にそれを使用するために
自分だけが持つリーフキーK0000で暗号化して格納
する。
【0106】図17に有効化キーブロック(EKB)の
フォーマット例を示す。バージョン601は、有効化キ
ーブロック(EKB)のバージョンを示す識別子であ
る。なお、バージョンは、最新のEKBを識別する機能
と、コンテンツとの対応関係を示す機能を持つ。デプス
は、有効化キーブロック(EKB)の配布先のデバイス
に対する階層ツリーの階層数を示す。データポインタ6
03は、有効化キーブロック(EKB)中のデータ部6
06の位置を示すポインタであり、タグポインタ604
はタグ部607の位置、署名ポインタ605は署名60
8の位置を示すポインタである。
【0107】データ部606は、例えば更新するノード
キーを暗号化したデータを格納する。例えば図16に示
すような更新されたノードキーに関する各暗号化キー等
を格納する。
【0108】タグ部607は、データ部606に格納さ
れた暗号化されたノードキー、リーフキーの位置関係を
示すタグである。このタグの付与ルールを図18を用い
て説明する。
【0109】図18では、データとして先に図15Aで
説明した有効化キーブロック(EKB)を送付する例を
示している。この時のデータは、図18Bの表に示すよ
うになる。このときの暗号化キーに含まれるトップノー
ドのアドレスをトップノードアドレスとする。この例の
場合は、ルートキーの更新キーK(t)Rが含まれてい
るので、トップノードアドレスはKRとなる。このとき、
例えば最上段のデータEnc(K(t)0,K(t)
R)は、図18Aに示す階層ツリーに示す位置P0に対
応する。次の段のデータは、Enc(K(t)00,K
(t)0)であり、ツリー上では前のデータの左下の位
置P00に対応する。ツリー構造の所定の位置から見
て、その下に、データがある場合は、タグが0、ない場
合はタグが1に設定される。タグは{左(L)タグ,右
(R)タグ}として設定される。図18Bの最上段のデ
ータEnc(K(t)0,K(t)R)に対応する位置
POの左下の位置POOにはデータがあるので、Lタグ=
0、右にはデータがないので、Rタグ=1となる。以
下、すべてのデータにタグが設定され、図18Cに示す
データ列、およびタグ列が構成される。
【0110】タグは、対応するデータEnc(Kxx
x,Kyyy)が、ツリー構造のどこに位置しているの
かを示すために設定されるものである。データ部606
に格納されるキーデータEnc(Kxxx,Kyyy)
・・・は、単純に暗号化されたキーの羅列データに過ぎ
ないが、上述したタグによってデータとして格納された
暗号化キーのツリー上の位置が判別可能となる。上述し
たタグを用いずに、先の図15で説明した構成のよう
に、暗号化データに対応させたノード・インデックスを
用いて、例えば、 0:Enc(K(t)0,K(t)R) 00:Enc(K(t)00,K(t)0) 000:Enc(K((t)000,K(t)00) ・・・のようなデータ構成とすることも可能であるが、
このようなインデックスを用いた構成とすると、冗長な
データとなりデータ量が増大し、ネットワークを介する
配信等においては好ましくない。これに対し、上述した
タグをキー位置を示す索引データとして用いることによ
り、少ないデータ量でキー位置の判別が可能となる。
【0111】図17に戻って、EKBフォーマットにつ
いてさらに説明する。署名(Signature)608は、有
効化キーブロック(EKB)を発行した例えば鍵管理セ
ンタ(ライセンスサーバ4)、コンテンツロバイダ(コ
ンテンツサーバ3)、決済機関(課金サーバ5)等が実
行する電子署名である。EKBを受領したデバイスは、
署名検証によって正当な有効化キーブロック(EKB)
発行者が発行した有効化キーブロック(EKB)である
ことを確認する。
【0112】以上のようにして、ライセンスサーバ4か
ら供給されたライセンスに基づいて、コンテンツサーバ
3から供給されたコンテンツを利用する処理をまとめる
と、図19に示されるようになる。
【0113】すなわち、コンテンツサーバ3からクライ
アント1に対してコンテンツが提供されるとともに、ラ
イセンスサーバ4からクライアント1にライセンスが供
給される。ライセンスには、DNKが含まれている(図
8)。コンテンツは、コンテンツキーKcにより、暗号化
されており(Enc(Kc,Content))、コンテンツキーKc
は、ルートキーKR(EKBから得られるキーであって、図5
におけるキーKEKBCに対応する)で暗号化され(Enc(K
R,Kc))、EKBとともに、暗号化されたコンテンツに付
加されてクライアント1に提供される。
【0114】図19の例におけるEKBには、例えば、図
20に示されるように、DNKで暗号化したルートキーKR
が含まれている(Enc(DNK,KR))。従って、クライア
ント1は、ライセンスに含まれるDNKを利用して、EKBか
らルートキーKRを得ることができる。さらに、ルートキ
ーKRを用いて、Enc(KR,Kc)からコンテンツキーKcを
復号することができ、コンテンツキーKcを用いて、Enc
(Kc,Content)からコンテンツを復号することができ
る。
【0115】このように、ライセンスにDNKを個別に割
り当てることにより、図12と図15を参照して説明し
た原理に従って、個々のライセンスのリボーク(revok
e)が可能になる。
【0116】また、ライセンスをユーザ毎に配布するこ
とにより、ライセンスサーバ4とクライアント1におい
て、リーフIDとDNKの対応付けが行われることになり、
ライセンスの不正コピーを防止することが可能になる。
【0117】また、ライセンスをキー(DNKとリーフI
D)と使用条件の2つから構成することにより(図
8)、再暗号化等をすることなく、使用条件を変更する
ことが可能になる。また、証明書と秘密鍵をライセンス
とともに配信するようにすることで、エンドユーザも、
これらを用いて不正コピーを防止可能なコンテンツを作
成することが可能になる。
【0118】証明書と秘密鍵の利用については、図28
のフローチャートを参照して後述する。
【0119】本発明においては、図13を参照して説明
したように、カテゴリノードにライセンスを管理するT
システムと、各種のコンテンツを利用するデバイスのカ
テゴリが対応づけられるので、複数のDNKを1つの(共
通の)デバイスに持たせることができる。その結果、異
なるカテゴリのコンテンツを1つのデバイスで管理する
ことが可能となる。
【0120】図21は、この関係を表している。すなわ
ち、デバイスD1には、Tシステムに基づいて、DNK1
が割り当てられている、コンテンツ1を利用するライセ
ンスが記録される。同様に、このデバイスD1には、例
えば、DNK2が割り当てられた、メモリスティックにCD
からリッピングしたコンテンツ2を記録することができ
る。この場合、デバイスD1は、コンテンツ1とコンテ
ンツ2という、異なるシステム(Tシステムとデバイス
管理システム)により配信されたコンテンツを同時に扱
うことが可能となる。新たなDNKを割り当てるとき、既
に割り当てられているDNKを削除するなどして、デバイ
スに1個のDNKだけを対応させるようにした場合、この
ようなことはできない。
【0121】また、図13における、例えば、下側の3
2階層の各三角形の1つ1つに、図22に示されるライ
センスカテゴリ1とライセンスカテゴリ2を割り当てる
ことにより、同一のカテゴリ内を、サブカテゴリを利用
して、コンテンツのジャンル、レーベル、販売店、配信
サービス等の小さな集まりに分類して、管理することが
可能となる。
【0122】図22の例においては、例えば、ライセン
スカテゴリ1は、ジャズのジャンルに属し、ライセンス
カテゴリ2は、ロックのジャンルに属する。ライセンス
カテゴリ1には、ライセンスIDが1であるコンテンツ1
とコンテンツ2を対応させ、それぞれユーザ1乃至ユー
ザ3に配布されている。ライセンスカテゴリ2は、ライ
センスID2のコンテンツ3、コンテンツ4、およびコン
テンツ5が含まれ、それぞれユーザ1とユーザ3に提供
されている。
【0123】このように、本発明においては、カテゴリ
毎に独立したキー管理が可能になる。
【0124】また、DNKを、機器やメディアに予め埋め
込むのではなく、ライセンスサーバ4により、その場で
生成し、各機器やメディアにダウンロードするようにす
ることで、ユーザによるキーの購入が可能なシステムを
実現することができる。
【0125】コンテンツは、それが作成された後、どの
ような使われ方をされようとも、その使われ方に関わり
なく、全ての用途において、使用可能とされるべきで
る。例えば、異なるコンテンツ配信サービス、あるいは
使用条件が異なるドメイン等でも、同一のコンテンツが
使えることが望ましい。本発明においては、このため、
上述したように、各ユーザ(クライアント1)に、認証
局としてのライセンスサーバ4から秘密鍵と、それに対
応する公開鍵の証明書(certificates)が配布される。
各ユーザは、その秘密鍵を用いて、署名(signature)
を作成し、コンテンツに付加して、コンテンツの真正さ
を保証し、かつコンテンツの改竄防止を図ることができ
る。
【0126】この場合の処理の例について、図23のフ
ローチャートを参照して説明する。図23の処理は、ユ
ーザがCDから再生したデータを記憶部28に記憶させる
リッピング処理を説明するものである。
【0127】最初に、ステップS171において、クラ
イアント1のCPU21は、通信部29を介して入力され
るCDの再生データを記録データとして取り込む。ステッ
プS172において、CPU21は、ステップS171の
処理で取り込まれた記録データにウォーターマークが含
まれているか否かを判定する。このウォーターマーク
は、3ビットのコピー管理情報(CCI)と、1ビットの
トリガ(Trigger)とにより構成され、コンテンツのデ
ータの中に埋め込まれているCPU21は、ウォーターマ
ークが検出された場合には、ステップS173に進み、
そのウォーターマークを抽出する処理を実行する。ウォ
ーターマークが存在しない場合には、ステップS173
の処理はスキップされる。
【0128】次に、ステップS174において、CPU2
1は、コンテンツに対応して記録するヘッダのデータを
作成する。このヘッダのデータは、コンテンツID、ライ
センスID、ライセンスを取得するためのアクセス先を表
すURL、およびウォーターマークにより構成される。
【0129】次に、ステップS175に進み、CPU21
は、ステップS174の処理で作成したヘッダのデータ
に基づいたデジタル署名を、自分自身の秘密鍵を用いて
作成する。この秘密鍵は、ライセンスサーバ4から取得
したものである(図7のステップS67)。
【0130】ステップS176で、CPU21は、暗号化
復号部24を制御し、コンテンツキーでコンテンツを暗
号化させる。コンテンツキーは、コンテンツを取得した
とき、同時に取得されたものである(図5または図1
9)。
【0131】次に、ステップS177において、CPU2
1は、ファイルフォーマットに基づき、データを、例え
ば、ミニディスク等により構成される光磁気ディスク4
3に記録させる。
【0132】なお、記録媒体がミニディスクである場
合、ステップS176において、CPU21は、コンテン
ツをコーデック部25に供給し、例えば、ATRAC3方式
によりコンテンツを符号化させる。そして、符号化され
たデータが符号化復号部24によりさらに暗号化され
る。
【0133】図24は、以上のようにして、記録媒体に
コンテンツが記録された状態を模式的に表している。暗
号化されているコンテンツ(E(At3))から抽出され
たウォーターマーク(WM)が、コンテンツの外(ヘッ
ダ)に記録されている。
【0134】図25は、コンテンツを記録媒体に記録す
る場合のファイルフォーマットのより詳細な構成を表し
ている。この例においては、コンテンツID(CID)、ラ
イセンスID(LID)、URL、およびウォーターマーク(W
M)を含むヘッダが記録されている他、EKB、コンテンツ
キーKcをルートキーKRで暗号化したデータ(Enc(KR,K
c))、証明書(Cert)、ヘッダに基づき生成されたデ
ジタル署名(Sig(Header))、コンテンツをコンテン
ツキーKcで暗号化したデータ(Enc(Kc,Content))、
メタデータ(Meta Data)およびマーク(Mark)が記録さ
れている。
【0135】ウォーターマークは、コンテンツの内部に
埋め込まれているものであるが、図24と図25に示さ
れるように、コンテンツの内部とは別に、ヘッダ内に配
置するようにすることで、ウォーターマークを迅速に、
かつ簡単に検出することが可能となる。従って、そのコ
ンテンツを、コピーすることができるか否かを、迅速に
判定することができる。
【0136】なお、メタデータは、例えば、ジャケッ
ト、写真、歌詞等のデータを表す。マークについては、
図31を参照して後述する。
【0137】図26は、証明書としての公開鍵証明書の
例を表している。公開鍵証明書は、通常、公開鍵暗号方
式における認証局(CA:Certificate Authority)が発
行する証明書であり、ユーザが、認証局に提出した自己
のIDや公開鍵などに、認証局が有効期限等の情報を付加
し、さらに、認証局によるデジタル署名を付加して作成
される。この発明においては、ライセンスサーバ4(ま
たはコンテンツサーバ3)が、証明書と秘密鍵、従って
公開鍵も発行するので、ユーザは、IDとパスワードをラ
イセンスサーバ4に提供するだけで、この公開鍵証明書
を得ることができる(図7のステップS67)。
【0138】図26における公開鍵証明書は、証明書の
バージョン番号、ライセンスサーバ4が証明書の利用者
(ユーザ)に対して割りつける証明書の通し番号、デジ
タル署名に用いたアルゴリズム、およびパラメータ、認
証局(ライセンスサーバ4)の名前、証明書の有効期
限、証明書利用者のID(ノードIDまたはリーフID)、並
びに証明書利用者の公開鍵が、メッセージとして含まれ
ている。さらに、このメッセージには、認証局としての
ライセンスサーバ4により作成されたデジタル署名が付
加されている。このデジタル署名は、メッセージに対し
てハッシュ関数を適用を提供して生成されたハッシュ値
に基づいて、ライセンスサーバ4の秘密鍵を用いて生成
されたデータである。
【0139】ノードIDまたはリーフIDは、例えば、図1
2の例の場合、デバイス0であれば「0000」とさ
れ、デバイス1でれば「0001」とされ、デバイス1
5であれば「1111」とされる。このようなIDに基づ
いて、そのデバイス(エンティティ)がツリー構成のど
の位置(リーフまたはノード)に位置するエンティティ
であるのかが識別される。
【0140】このように、コンテンツを利用するのに必
要なライセンスを、コンテンツとは分離して配布するよ
うにすることにより、コンテンツの配布が自由に行われ
ることになる。任意の方法、あるいは経路で入手された
コンテンツは、一元的に取り扱うことが可能である。
【0141】また、ファイルフォーマットを図25に示
されるように構成することで、そのフォーマットのコン
テンツを、インターネットを介して配信する場合は勿
論、SDMI(Secure Digital Music Initiative)機器に
提供する場合においても、コンテンツの著作権を管理す
ることが可能となる。
【0142】さらに、例えば、図27に示されるよう
に、コンテンツが記録媒体を介して提供されたとして
も、インターネット2を介して提供されたとしても、同
様の処理により、SDMI(Secure Digital Music Initiat
ive)機器としての所定のPD(Portabal Device)等に、
チェックアウトしたりすることが可能となる。
【0143】次に、図28のフローチャートを参照し
て、クライアント1が他のクライアント(例えば、PD)
に対してコンテンツをチェックアウトする場合の処理に
ついて説明する。
【0144】最初に、ステップS191において、CPU
21は、コンテンツにデジタル署名が付加されているか
否かを判定する。デジタル署名が付加されていると判定
された場合、ステップS192に進み、CPU21は、証
明書を抽出し、認証局(ライセンスサーバ4)の公開鍵
で検証する処理を実行する。すなわち、クライアント1
は、ライセンスサーバ4からライセンスサーバ4の秘密
鍵に対応する公開鍵を取得し、その公開鍵で公開鍵証明
書に付加されているデジタル署名を復号する。図26を
参照して説明したように、デジタル署名は、認証局(ラ
イセンスサーバ4)の秘密鍵に基づいて生成されてお
り、ライセンスサーバ4の公開鍵を用いて復号すること
ができる。さらに、CPU21は、証明書のメッセージ全
体に対してハッシュ関数を適用してハッシュ値を演算す
る。そしてCPU21は、演算されたハッシュ値と、デジ
タル署名を復号して得られたハッシュ値とを比較し、両
者が一致すれば、メッセージは改竄されたものではない
と判定する。両者が一致しない場合には、この証明書
は、改竄されたものであるということになる。
【0145】そこで、ステップS193において、CPU
21は、証明書が改竄されていないか否かを判定し、改
竄されていないと判定された場合、ステップS194に
進み、証明書をEKBで検証する処理を実行する。この検
証処理は、証明書に含まれるリーフID(図26)に基づ
いて、EKBをたどることができるか否かを調べることに
より行われる。この検証について、図29と図30を参
照して説明する。
【0146】いま、図29に示されるように、例えば、
リーフキーK1001を有するデバイスがリボークされ
たデバイスであるとする。このとき、図30に示される
ようなデータ(暗号化キー)とタグを有するEKBが、各
デバイス(リーフ)に配布される。このEKBは、図29
におけるデバイス「1001」をリボークするために、
キーKR,K1,K10,K100を更新するEKBとなってい
る。
【0147】リボークデバイス「1001」以外の全て
のリーフは、更新されたルートキーK(t)Rを取得す
ることができる。すなわち、ノードキーK0の下位に連
なるリーフは、更新されていないノードキーK0を、デ
バイス内に保持しているので、暗号化キーEnc(K0,
K(t)R)を、キーK0によって復号することで、更
新ルートキーK(t)Rを取得することができる。
【0148】また、ノードキーK11以下のリーフは、
更新されていないノードキーK11を用いて、Enc(K
11,K(t)1)をノードキーK11によって復号す
ることで、更新ノードキーK(t)1を取得することが
できる。さらに、Enc(K(t)1,K(t)R)をノ
ードキーK(t)1によって復号することで、更新ルー
トキーK(t)Rを取得することが可能となる。ノード
キーK101の下位リーフについても、同様に更新ルー
トキーK(t)Rを取得することが可能である。
【0149】さらに、リボークされていないリーフキー
K1000を有するデバイス「1000」は、自己のリ
ーフキーK1000でEnc(K1000,K(t)10
0)を復号して、ノードキーK(t)100を取得する
ことができ、これを用いてさらに、上位のノードキーを
順次復号し、更新ルートキーK(t)Rを取得すること
ができる。
【0150】これに対して、リボークされたデバイス
「1001」は、自己のリーフの1段上の更新ノードキ
ーK(t)100を、EKB処理により取得できないの
で、結局、更新ルートキーK(t)Rを取得することが
できない。
【0151】リボークされていない正当なデバイス(ク
ライアント1)には、図30に示されるデータとタグを
有するEKBが、ライセンスサーバ4から配信され、格納
されている。
【0152】そこで、各クライアントは、そのタグを利
用して、EKB追跡処理を行うことができる。このEKB追跡
処理は、上位のルートキーからキー配信ツリーをたどれ
るか否かを判定する処理である。
【0153】例えば、図29のリーフ「1001」のID
(リーフID)である「1001」を、「1」「0」
「0」「1」の4ビットとして把握し、最上位ビットか
ら順次、下位ビットに従って、ツリーをたどることがで
きるか否かが判定される。この判定では、ビットが1で
あれば、右側に進み、0であれば、左側に進む処理が行
われる。
【0154】ID「1001」の最上位ビットが1である
から、図29のルートキーKRから右側に進む。EKBの最
初のタグ(番号0のタグ)は、0:{0,0}であり、
両枝にデータを有するものであると判定される。この場
合、右側に進むことができるので、ノードキーK1にた
どり着くことができる。
【0155】次に、ノードキーK1の下位のノードに進
む。ID「1001」の2番目のビットは0であるから左
側に進む。番号1のタグは、左側のノードキーK0の下
位のデータの有無を表すものであり、ノードキーK1の
下位のデータの有無を示すタグは、番号2のタグであ
る。このタグは、図30に示されるように、2:{0,
0}であり、両枝にデータを有するものとされる。従っ
て、左側に進み、ノードキーK10にたどり着くことが
できる。
【0156】さらに、ID「1001」の3番目のビット
は0であり、左側に進む。このとき、K10の下位のデ
ータの有無を示すタグ(番号3のタグ)は、3:{0,
0}であり、両枝にデータを有するものと判定される。
そこで、左側に進み、ノードキーK100にたどり着く
ことができる。
【0157】さらに、ID「1001」の最下位ビットは
1であり、右側に進む。番号4のタグは、ノードキーK
11に対応するものであり、K100の下位のデータの
符号を表すタグは、番号5のタグである。このタグは、
5:{0,1}である。従って、右側には、データが存
在しないことになる。その結果、ノード「1001」に
はたどり着けないことになり、ID「1001」のデバイ
スは、EKBによる更新ルートキーを取得できないデバイ
ス、すなわちリボークデバイスであると判定される。
【0158】これに対して、例えば、リーフキーK10
00を有するデバイスIDは、「1000」であり、上述
した場合と同様に、EKB内のタグに基づくEKB追跡処理を
行うと、ノード「1000」にたどり着くことができ
る。従って、ID「I000」のデバイスは、正当なデバ
イスであると判定される。
【0159】図28に戻って、CPU21は、ステップS
194の検証処理に基づき、証明書が改竄されていない
か否かをステップS195で判定し、証明書が改竄され
ていない場合には、ステップS196に進み、デジタル
署名を証明書に含まれる公開鍵で検証する処理を実行す
る。
【0160】すなわち、図26に示されるように、証明
書には、証明書利用者(コンテンツ作成者)の公開鍵が
含まれており、この公開鍵を用いて、図25に示される
署名(Sig(Header))が検証される。すなわち、この
公開鍵を用いて、デジタル署名Sig(Header)を復号し
て得られたデータ(ハッシュ値)と、図25に示される
Headerにハッシュ関数を適用して演算されたハッシュ値
とを比較することで、両者が一致していれば、Headerが
改竄されていないことを確認することができる。これに
対して、両者が一致しなければ、Headerは改竄されてい
るということになる。
【0161】ステップS197において、CPU21は、H
eaderが改竄されているか否かを判定し、改竄されてい
なければ、ステップS198に進み、ウォーターマーク
を検証する。ステップS199において、CPU21は、
ウォーターマークの検証の結果、チェックアウトが可能
であるか否かを判定する。チェックアウトが可能である
場合には、ステップS200に進み、CPU21は、チェ
ックアウトを実行する。すなわち、チェックアウト先の
クライアント1に対してコンテンツを転送し、コピーさ
せる。
【0162】ステップS191において、デジタル署名
が存在しないと判定された場合、ステップS193にお
いて、証明書が改竄されていると判定された場合、ステ
ップS195において、証明書をEKBで検証することが
できなかったと判定された場合、ステップS197にお
いて、デジタル署名の検証の結果、ヘッダが改竄されて
いると判定された場合、または、ステップS199にお
いて、ウォーターマークにチェックアウトの禁止が記述
されていると判定された場合、ステップS201に進
み、エラー処理が実行される。すなわち、この場合に
は、チェックアウトが禁止される。
【0163】このように、証明書と秘密鍵をライセンス
サーバ4からユーザに配布し、コンテンツ作成時に、デ
ジタル署名を付加することにより、コンテンツの作成者
の真正を保証することが可能となる。これにより、不正
なコンテンツの流通を抑制することができる。
【0164】さらに、ウォーターマークをコンテンツ作
成時に検出し、その情報をデジタル署名に付すること
で、ウォーターマーク情報の改竄を防止し、コンテンツ
の真正を保証することができる。
【0165】その結果、一度作成されたコンテンツは、
どのような形態で配信されたとしても、元のコンテンツ
の真正を保証することが可能となる。
【0166】さらに、コンテンツは、使用条件を有さ
ず、使用条件は、ライセンスに付加されているので、ラ
イセンス内の使用条件を変更することで、それに関係す
るコンテンツの使用条件を一斉に変更することが可能と
なる。
【0167】次に、マークの利用方法について説明す
る。本発明においては、上述したように、使用条件は、
コンテンツではなく、ライセンスに付加される。しかし
ながら、コンテンツによって、使用状況が異なる場合が
ある。そこで、本発明においては、図25に示されるよ
うに、コンテンツにマークが付加される。
【0168】ライセンスとコンテンツは、1対多の関係
にあるため、コンテンツの個々の使用状況をライセンス
の使用条件にのみ記述するのは困難となる。そこで、こ
のように、コンテンツに使用状況を付加することによ
り、ライセンスでの管理をしながらも、個々のコンテン
ツを管理することが可能となる。
【0169】このマークには、例えば、図31に示され
るように、ユーザのID(リーフID)、所有権フラグ、使
用開始時刻、およびコピー回数等が記述される。
【0170】さらに、マークには、リーフID、所有権フ
ラグ、使用開始時刻、およびコピー回数等のメッセージ
に基づいて生成されたデジタル署名が付加される。
【0171】所有権フラグは、例えば、所定の期間だけ
コンテンツを使用可能とするライセンスを、そのまま買
い取ったような場合(使用期間を永久に変更したような
場合)に付加される。使用開始時刻は、コンテンツの使
用を所定の期間内に開始した場合に記述される。例え
ば、コンテンツをダウンロードする時期が制限されてい
るような場合において、その期限内にダウンロードが行
われたようなとき、その実際にコンテンツをダウンロー
ドした日時がここに記述される。これにより、期間内で
の有効な使用であることが、証明される。
【0172】コピー回数には、それまでにそのコンテン
ツをコピーした回数が履歴(ログ)として記述される。
【0173】次に、図32のフローチャートを参照し
て、ユーザがライセンスを買い取った場合に、マークを
付加する処理について、マークをコンテンツに付加する
例として説明する。
【0174】最初に、ステップS221において、CPU
21は、入力部26からのユーザの指令に基づいて、イ
ンターネット2を介して、ライセンスサーバ4にアクセ
スする。
【0175】ステップS222において、CPU21は、
ユーザからの入力部26を介しての入力を取り込み、そ
の入力に対応してライセンスサーバ4に対してライセン
スの買い取りを要求する。
【0176】この要求に対応して、図33のフローチャ
ートを参照して後述するように、ライセンスサーバ4
は、ライセンスを買い取るために必要な対価を提示して
くる(図33のステップS242)。そこで、ステップ
S223において、クライアント1のCPU21は、ライ
センスサーバ4からの対価の提示を受け取ると、これを
出力部27に出力し、表示させる。
【0177】ユーザは、この表示に基づいて、提示され
た対価を了承するか否かを判断し、その判断結果に基づ
いて、入力部26からその判断結果を入力する。
【0178】CPU21は、ステップS224において、
入力部26からの入力に基づいて、ユーザが提示された
対価を了承したか否かを判定し、了承したと判定した場
合には、ステップS225に進み、ライセンスサーバ4
に了承を通知する処理を実行する。
【0179】この了承通知を受信すると、ライセンスサ
ーバ4は、対価の買い取りを表す情報、すなわち所有権
フラグを記述したマークを送信してくる(図33のステ
ップS244)。そこで、ステップS226において、
クライアント1のCPU21は、ライセンスサーバ4から
のマークを受け取ると、ステップS277において、受
け取ったマークをコンテンツに埋め込む処理を実行す
る。すなわち、これにより、買い取られたライセンスに
対応するコンテンツのマークとして、図31に示される
ような所有権フラグが記述されたマークがコンテンツに
対応して記録されることになる。また、このとき、CPU
21は、メッセージが更新されたことになるので、デジ
タル署名(図25)も更新し、記録媒体に記録する。
【0180】ステップS224において、ライセンスサ
ーバ4から提示された対価が了承されていないと判定さ
れた場合、ステップS228に進み、CPU21は、提示
された対価を了承しないことをライセンスサーバ4に通
知する。
【0181】このようなクライアント1の処理に対応し
て、ライセンスサーバ4は、図33のフローチャートに
示す処理を実行する。
【0182】すなわち、最初に、ステップS241にお
いて、ライセンスサーバ4のCPU21は、クライアント
1からライセンス買い取りの要求が送信されてくると
(図30のステップS222)、 これを受け取り、ス
テップS242において、対象とされているライセンス
の買い取りに必要な対価を記憶部28から読み出し、こ
れをクライアント1に送信する。
【0183】上述したように、このようにして提示され
た対価に対して、クライアント1から提示された対価を
了承するか否かの通知が送信されてくる。
【0184】そこで、ステップS243において、ライ
センスサーバ4のCPU21は、クライアント1から了承
通知を受信したか否かを判定し、了承通知を受信したと
判定した場合、ステップS244に進み、対象とされる
ライセンスの買い取りを表すメッセージを含むマークを
生成し、自分自身の秘密鍵で、デジタル署名を付加し
て、クライアント1に送信する。このようにして送信さ
れたマークは、上述したように、クライアント1の記憶
部28において、対応するコンテンツに記録される(図
32のステップS227)。
【0185】ステップS243において、クライアント
1から了承通知が受信されていないと判定された場合、
ステップS244の処理はスキップされる。すなわち、
この場合には、ライセンスの買い取り処理が最終的に行
われなかったことになるので、マークは送信されない。
【0186】図34は、ステップS244において、ラ
イセンスサーバ4からクライアント1に対して送信され
るマークの構成例を表している。この例においては、そ
のユーザのリーフID、所有権フラグ(Own)、並びにリ
ーフIDと所有権フラグを、ライセンスサーバ4の秘密鍵
Sに基づいて生成されたデジタル署名Sigs(LeafID,Ow
n)により、マークが構成されている。
【0187】なお、このマークは、特定のユーザの特定
のコンテンツに対してのみ有効なものであるので、対象
とされるコンテンツがコピーされた場合には、そのコピ
ーされたコンテンツに付随するマークは無効とされる。
【0188】このようにして、コンテンツとライセンス
を分離し、使用条件をライセンスに対応させる場合にお
いても、個々のコンテンツの使用状況に応じたサービス
を実現することが可能となる。
【0189】次に、グルーピングについて説明する。複
数の機器やメディアを適当に集め、その1つの集合内に
おいては、コンテンツを自由に授受することができるよ
うにすることは、グルーピングと称される。通常、この
グルーピングは、個人の所有する機器やメディアにおい
て行われる。このグルーピングは、従来、グループ毎に
グループキーを設定する等して行われていたが、グルー
プ化する複数の機器やメディアに、同一のライセンスを
対応づけることにより、容易にグルーピングすることが
可能となる。
【0190】また、各機器を予め登録しておくことで、
グルーピングすることも可能である。この場合のグルー
ピングについて、以下に説明する。
【0191】この場合、ユーザは、グルーピング対象と
される機器の証明書を予めサーバに登録しておく必要が
ある。この証明書の登録処理について、図35と図36
のフローチャートを参照して説明する。
【0192】最初に、図35のフローチャートを参照し
て、クライアント(グルーピング対象となる機器)の証
明書の登録処理について説明する。ステップS261に
おいて、クライアント1のCPU21は、グルーピングの
対象とされる機器としての自分自身の証明書を作成す
る。この証明書には、自分自身の公開鍵が含まれる。
【0193】次に、ステップS262に進み、CPU21
は、ユーザの入力部26からの入力に基づいて、コンテ
ンツサーバ3にアクセスし、ステップS263におい
て、ステップS261の処理で作成された証明書をコン
テンツサーバ3に送信する処理を実行する。
【0194】なお、証明書としては、ライセンスサーバ
4から受信したものを、そのまま使用することもでき
る。
【0195】以上の処理は、グルーピング対象とされる
全ての機器が行う。
【0196】次に、図36のフローチャートを参照し
て、図35のクライアント1の証明書の登録処理に対応
して行われるコンテンツサーバ3の証明書の登録処理に
ついて説明する。
【0197】最初に、ステップS271において、コン
テンツサーバ3のCPU21は、クライアント1から送信
されてきた証明書を受信すると、ステップS272にお
いて、その証明書を記憶部28に登録する。
【0198】以上の処理が、グループ対象とされる機器
毎に行われる。その結果、コンテンツサーバ3の記憶部
28には、例えば、図37に示されるように、グループ
毎に、そのグループを構成するデバイスの証明書が登録
される。
【0199】図37に示される例では、グループ1の証
明書として、証明書C11乃至C14が登録されてい
る。これらの証明書C11乃至C14には、対応する公
開鍵K P11乃至KP14が含まれている。
【0200】同様に、グループ2の証明書として、証明
書C21乃至C23が登録されており、これらは対応す
る公開鍵KP21乃至KP23が含まれている。
【0201】以上のようなグループを構成する各機器毎
に、その証明書が登録された状態において、ユーザから
そのグループに属する機器にコンテンツの提供が要求さ
れると、コンテンツサーバ3は、図38のフローチャー
トに示す処理を実行する。
【0202】最初に、ステップS281において、コン
テンツサーバ3のCPU21は、記憶部28に記憶されて
いる証明書のうち、そのグループに属する証明書を検証
する処理を実行する。
【0203】この検証処理は、図29と図30を参照し
て説明されたように、各機器の証明書に含まれるリーフ
IDに基づいて、タグを利用してEKBをたどることで行わ
れる。EKBは、コンテンツサーバ3にも、ライセンスサ
ーバ4から配布されている。この検証処理により、リボ
ークされている証明書は除外される。
【0204】ステップS282において、コンテンツサ
ーバ3のCPU21は、ステップS281の検証処理の結
果、有効とされた証明書を選択する。そして、ステップ
S283において、CPU21は、ステップS282の処
理で選択された各機器の証明書の各公開鍵でコンテンツ
鍵を暗号化する。ステップS284において、CPU21
は、対象とされるグループの各機器に、ステップS28
3の処理で暗号化されたコンテンツ鍵をコンテンツとと
もに送信する。
【0205】図37に示されるグループ1のうち、例え
ば、証明書C14がリボークされているとすると、ステ
ップS283の処理で、例えば、図39に示されるよう
な暗号化データが生成される。
【0206】すなわち、図39の例においては、コンテ
ンツ鍵Kcが、証明書C11の公開鍵KP11、証明書C1
2の公開鍵KP12、または証明書C13の公開鍵KP13
より、暗号化されている。
【0207】コンテンツサーバ3の図38に示されるよ
うな処理に対応して、コンテンツの提供を受ける各グル
ープの機器(クライアント)は、図40のフローチャー
トに示す処理を実行する。
【0208】最初に、ステップS291において、クラ
イアント1のCPU21は、コンテンツサーバ3が図38
のステップS284の処理で送信してきたコンテンツ
を、コンテンツ鍵とともに受信する。コンテンツは、コ
ンテンツ鍵Kcにより、暗号化されており、コンテンツ鍵
は上述したように、各機器が保持する公開鍵により暗号
化されている(図39)。
【0209】そこで、ステップS292において、CPU
21は、ステップS291の処理で受信した自分宛のコ
ンテンツ鍵を、自分自身の秘密鍵で復号し、取得する。
そして、取得したコンテンツ鍵を用いてコンテンツの復
号処理が行われる。
【0210】例えば、図39の例に示される証明書C1
1に対応する機器は、公開鍵KP11に対応する自分自身
の秘密鍵を用いて、コンテンツ鍵Kcの暗号を復号し、コ
ンテンツ鍵Kcを取得する。そして、コンテンツ鍵Kcを用
いて、コンテンツがさらに復号される。
【0211】同様の処理は、証明書C12,C13に対
応する機器においても行われる。リボークされている証
明書C14の機器は、自分自身の公開鍵を用いて暗号化
されたコンテンツ鍵Kcがコンテンツに付随して送られて
こないので、コンテンツ鍵Kcを復号することができず、
従って、コンテンツ鍵Kcを用いてコンテンツを復号する
ことができない。
【0212】以上においては、コンテンツキー(すなわ
ちコンテンツ)に対してグルーピングを行うようにした
が、ライセンスキー(ライセンス)に対してグルーピン
グを行うことも可能である。
【0213】以上のようにして、特別なグループキー
や、後述するICV(Integerity CheckValue)を用いずに
グループ化が可能となる。このグループ化は、小規模の
グループに適用するのに向いている。
【0214】本発明においては、ライセンスもチェック
アウト、あるいはチェックインしたり、ムーブしたり、
コピーしたりすることが可能とされる。但し、これらの
処理はSDMIで定められたルールに基づいて行われる。
【0215】次に、図41と図42のフローチャートを
参照して、このようなクライアントによるライセンスの
チェックアウト処理について説明する。
【0216】最初に、図41のフローチャートを参照し
て他のクライアントにライセンスをチェックアウトする
クライアントの処理について説明する。最初に、ステッ
プS301において、クライアント1のCPU21は、チ
ェックアウト対象のライセンスのチェックアウト回数N
1を読み取る。このチェックアウト回数は、図8に示さ
れるように、使用条件に書き込まれているので、この使
用条件から読み取られる。
【0217】次に、ステップS302において、CPU2
1は、チェックアウト対象のライセンスの最大チェック
アウト回数N2を、やはりライセンスの使用条件から読
み取る。
【0218】そして、ステップS303において、CPU
21は、ステップS301の処理で読み取られたチェッ
クアウト回数N1と、ステップS302の処理で読み取
られた最大チェックアウト回数N2とを比較し、チェッ
クアウト回数N1が最大チェックアウト回数N2より大
きいか否かを判定する。
【0219】チェックアウト回数N1が、最大チェック
アウト回数N2より大きいと判定された場合、ステップ
S304に進み、CPU21は、相手側の装置(チェック
アウト先のクライアント)のリーフキーを相手個々の装
置から取得し、そのリーフキーを、いまチェックアウト
対象とされているライセンスIDに対応して記憶部28の
チェックアウトリストに記憶させる。
【0220】次に、ステップS305において、CPU2
1は、ステップS301の処理で読み取られたライセン
スのチェックアウト回数N1の値を1だけインクリメン
トする。ステップS306において、CPU21は、ライ
センスのメッセージに基づいて、ICVを演算する。このI
CVについては、図46乃至図50を参照して後述する。
ICVを用いてライセンスの改竄を防止することが可能と
なる。
【0221】次に、ステップS307において、CPU2
1は、チェックアウト対象のライセンスと、ステップS
306の処理で演算されたICVを、自分自身の公開鍵を
用いて暗号化して、EKBおよび証明書とともに、相手側
の装置に出力し、コピーさせる。さらに、ステップS3
08において、CPU21は、ステップS306の処理で
演算されたICVを、相手側装置のリーフキーと、ライセ
ンスIDに対応して記憶部28のチェックリスト中に記憶
させる。
【0222】ステップS303において、チェックアウ
ト回数N1が最大チェックアウト回数N2より大きくな
い(例えば、等しい)と判定された場合、もはや許容さ
れる回数だけチェックアウトが行われているので、これ
以上チェックアウトを行うことができない。そこで、ス
テップS309に進み、CPU21は、エラー処理を実行
する。すなわち、この場合、チェックアウト処理は実行
されないことになる。
【0223】次に、図42のフローチャートを参照し
て、図41のチェックアウト処理により、ライセンスの
チェックアウトを受けるクライアントの処理について説
明する。
【0224】最初に、ステップS321において、相手
側装置(ライセンスをチェックアウトするクライアント
1)に、自分自身のリーフキーを送信する。このリーフ
キーは、ステップS304において、相手側のクライア
ントにより、ライセンスIDに対応して記憶される。
【0225】次に、ステップS322において、CPU2
1は、相手側のクライアント1から暗号化されたライセ
ンスとICVが、EKBおよび証明書とともに送信されてきた
場合、これを受信する。すなわち、このライセンス、IC
V、EKBおよび証明書は、図41のステップS307の処
理で相手側の装置から送信されきたものである。
【0226】ステップS323において、CPU21は、
ステップS322の処理で受信したライセンス、ICV、E
KBおよび証明書を、記憶部28に記憶させる。
【0227】以上のようにして、ライセンスのチェック
アウトを受けたクライアント1は、チェックアウトを受
けたそのライセンスを使用して、所定のコンテンツを再
生する場合、図43のフローチャートに示される処理を
実行する。
【0228】すなわち、最初に、ステップS341にお
いて、クライアント1のCPU21は、ユーザより入力部
26を介して再生が指定されたコンテンツのICVを演算
する。そして、ステップS342において、CPU21
は、記憶部28に記憶されている暗号化されているICV
を、証明書に含まれている公開鍵に基づいて、復号させ
る。
【0229】次に、ステップS343において、CPU2
1は、ステップS341の処理により、いま演算された
ICVと、ステップS342の処理により読み出され、復
号されたICVが一致するか否かを判定する。両者が一致
する場合には、ライセンスは改竄されていないことにな
る。そこで、ステップS344にすすみ、CPU21は、
対応するコンテンツを再生する処理を実行する。
【0230】これに対して、ステップS343におい
て、2つのICVが一致しないと判定された場合、ライセ
ンスは改竄されている恐れがある。このため、ステップ
S345に進み、CPU21は、エラー処理を実行する。
すなわち、このとき、そのライセンスを用いてコンテン
ツを再生することができないことになる。
【0231】次に、以上のようにして、他のクライアン
トに一旦チェックアウトしたライセンスのチェックイン
を受けるクライアントの処理について、図44のフロー
チャートを参照して説明する。
【0232】最初に、ステップS361において、CPU
21は、相手側の装置(ライセンスを返却(チェックイ
ン)してくるクライアント1)のリーフキーと、チェッ
クイン対象のライセンスのIDを取得する。次に、ステッ
プS362において、CPU21は、ステップS361で
取得されたチェックイン対象のライセンスが、自分自身
が相手側装置にチェックアウトしたライセンスであるか
否かを判定する。この判定は、図41のステップS30
8の処理で記憶されたICV、リーフキー、およびライセ
ンスIDに基づいて行われる。すなわち、ステップS36
1で取得されたリーフキー、ライセンスID、およびICV
が、チェックアウトリスト中に記憶されているか否かが
判定され、記憶されている場合には、自分自身がチェッ
クアウトしたライセンスであると判定される。
【0233】ライセンスが、自分自身がチェックアウト
したものであるとき、ステップS363において、CPU
21は、相手側の装置のライセンス、EKBおよび証明書
の削除を要求する。後述するように、この要求に基づい
て、相手側の装置は、ライセンス、EKBおよび証明書の
削除を実行する(図45のステップS383)。
【0234】ステップS364において、CPU21は、
一旦チェックアウトしたライセンスが再びチェックイン
されてきたので、そのライセンスのチェックアウト回数
N1を1だけデクリメントする。
【0235】ステップS365において、CPU21は、
相手側の装置に他のライセンスをチェックアウトしてい
るか否かを判定し、まだチェックアウトしている他のラ
イセンスが存在しない場合には、ステップS365に進
み、CPU21は、相手側の装置のチェックイン対象機器
としてのチェックアウトリストにおける記憶を削除す
る。これに対して、ステップS364において、相手側
の装置にチェックアウトしている他のライセンスが存在
すると判定された場合には、他のライセンスのチェック
インを受ける可能性があるので、ステップS366の処
理はスキップされる。
【0236】ステップS362において、チェックイン
対象とされているライセンスが、自分自身が相手側装置
にチェックアウトしたライセンスではないと判定された
場合、CPU21は、ステップS367に進み、ヘッダ処
理を実行する。すなわち、この場合には、自分自身が管
轄するライセンスではないことになるので、チェックイ
ン処理は実行されない。
【0237】ユーザが、ライセンスを不正にコピーした
ような場合、記憶されているICVの値と、ステップS3
61の処理で取得されたライセンスに基づいて演算され
たICVの値が異なるものとなるで、チェックインできな
いことになる。
【0238】図45は、図44のフローチャートに示さ
れるライセンスのチェックイン処理を実行するクライア
ントに対して、自分自身が有しているライセンスをチェ
ックインさせるクライアントの処理を表している。
【0239】ステップS381において、クライアント
1のCPU21は、相手側の装置(図44のフローチャー
トに示す処理を実行するクライアント1)にリーフキー
とチェックイン対象のライセンスのIDを送信する。上述
したように、相手側の装置は、ステップS361におい
て、このリーフキーとライセンスIDを取得し、ステップ
S362において、それに基づいて、チェックイン対象
のライセンスの認証処理を実行する。
【0240】ステップS382において、クライアント
1のCPU21は、相手側の装置からライセンスの削除を
要求されたか否かを判定する。すなわち、ライセンスが
正当なチェックイン対象のライセンスである場合、上述
したように、相手側の装置は、ステップS363の処理
でライセンス、EKBおよび証明書の削除を要求してく
る。そこで、この要求を受信した場合、ステップS38
3に進み、CPU21は、ライセンス、EKBおよび証明書を
削除する。すなわち、これにより、このクライアント1
は、以後そのライセンスを使用できない状態となり、図
44のステップS364の処理により、チェックアウト
回数N1が、1だけデクリメンドされるので、チェック
インが完了したことになる。
【0241】ステップS382において、相手側の装置
からライセンスの削除が要求されていないと判定された
場合、ステップS384に進み、エラー処理が実行され
る。すなわち、この場合には、ICVの値が異なっている
等の理由により、チェックインができないことになる。
【0242】以上においては、チェックインとチェック
アウトについて説明したが、同様に、ライセンスをコピ
ーあるいはムーブさせるようにすることも可能である。
【0243】次に、ライセンス(コンテンツも同様)の
改竄を防止するためにライセンスのインテグリティ・チ
ェック値(ICV)を生成して、ライセンスに対応付け
て、ICVの計算により、ライセンス改竄の有無を判定
する処理構成について説明する。
【0244】ライセンスのインテグリティ・チェック値
(ICV)は、例えばライセンスに対するハッシュ関数
を用いて計算され、ICV=hash(Kicv,L
1,L2,・・・)によって計算される。KicvはI
CV生成キーである。L1,L2はライセンスの情報で
あり、ライセンスの重要情報のメッセージ認証符号(M
AC:Message authentication Code)が使用される。
【0245】DES暗号処理構成を用いたMAC値生成
例を図46に示す。図46の構成に示すように対象とな
るメッセージを8バイト単位に分割し、(以下、分割さ
れたメッセージをM1、M2、・・・、MNとする)、
まず、初期値(IV)とM1を、演算部24−1Aにより
排他的論理和する(その結果をI1とする)。次に、I
1をDES暗号化部24−1Bに入れ、鍵(以下、K1
とする)を用いて暗号化する(出力をE1とする)。続
けて、E1およびM2を演算部24−2Aにより排他的
論理和し、その出力I2をDES暗号化部24−2Bへ
入れ、鍵K1を用いて暗号化する(出力E2)。以下、
これを繰り返し、全てのメッセージに対して暗号化処理
を施す。DES暗号化部24−NBから最後に出てきたE
Nがメッセージ認証符号(MAC(Message Authentica
tion Code))となる。
【0246】このようなライセンスのMAC値とICV
生成キーにハッシュ関数を適用してライセンスのインテ
グリティ・チェック値(ICV)が生成される。例えば
ライセンス生成時に生成したICVと、新たにライセン
スに基づいて生成したICVとを比較して同一のICV
が得られればライセンスに改竄のないことが保証され、
ICVが異なれば、改竄があったと判定される。
【0247】次に、ライセンスのインテグリティ・チェ
ック値(ICV)生成キーであるKicvを上述の有効
化キーブロックによって送付する構成について説明す
る。すなわちEKBによる暗号化メッセージデータをラ
イセンスのインテグリティ・チェック値(ICV)生成
キーとした例である。
【0248】図47および図48に複数のデバイスに共
通のライセンスを送付した場合、それらのライセンスの
改竄の有無を検証するためのインテグリティ・チェック
値生成キーKicvを有効化キーブロック(EKB)に
よって配信する構成例を示す。図47はデバイス0,
1,2,3に対して復号可能なチェック値生成キーKi
cvを配信する例を示し、図48はデバイス0,1,
2,3中のデバイス3をリボーク(排除)してデバイス
0,1,2に対してのみ復号可能なチェック値生成キー
Kicvを配信する例を示す。
【0249】図47の例では、更新ノードキーK(t)
00によって、チェック値生成キーKicvを暗号化し
たデータEnc(K(t)00,Kicv)とともに、
デバイス0,1,2,3においてそれぞれの有するノー
ドキー、リーフキーを用いて更新されたノードキーK
(t)00を復号可能な有効化キーブロック(EKB)
を生成して配信する。それぞれのデバイスは、図47の
右側に示すように、まず、EKBを処理(復号)するこ
とにより、更新されたノードキーK(t)00を取得
し、次に、取得したノードキーK(t)00を用いて、
暗号化されたチェック値生成キーEnc(K(t)0
0,Kicv)を復号して、チェック値生成キーKic
vを得ることが可能となる。
【0250】その他のデバイス4,5,6,7・・・は
同一の有効化キーブロック(EKB)を受信しても自身
の保有するノードキー、リーフキーでは、EKBを処理
して更新されたノードキーK(t)00を取得すること
ができないので、安全に正当なデバイスに対してのみチ
ェック値生成キーを送付することができる。
【0251】一方、図48の例は、図12の点線枠で囲
んだグループにおいてデバイス3が、例えば鍵の漏洩に
よりリボーク(排除)されているとして、他のグループ
のメンバ、すなわち、デバイス0,1,2,に対しての
み復号可能な有効化キーブロック(EKB)を生成して
配信した例である。図48に示す有効化キーブロック
(EKB)と、チェック値生成キー(Kicv)をノー
ドキー(K(t)00)で暗号化したデータEnc(K
(t)00,Kicv)を配信する。
【0252】図48の右側には、復号手順を示してあ
る。デバイス0,1,2は、まず、受領した有効化キー
ブロックから自身の保有するリーフキーまたはノードキ
ーを用いた復号処理により、更新ノードキー(K(t)
00)を取得する。次に、K(t)00による復号によ
りチェック値生成キーKicvを取得する。
【0253】図12に示す他のグループのデバイス4,
5,6・・・は、この同様のデータ(EKB)を受信し
たとしても、自身の保有するリーフキー、ノードキーを
用いて更新ノードキー(K(t)00)を取得すること
ができない。同様にリボークされたデバイス3において
も、自身の保有するリーフキー、ノードキーでは、更新
ノードキー(K(t)00)を取得することができず、
正当な権利を有するデバイスのみがチェック値生成キー
を復号して利用することが可能となる。
【0254】このように、EKBを利用したチェック値
生成キーの配送を用いれば、データ量を少なくして、か
つ安全に正当権利者のみが復号可能としたチェック値生
成キーを配信することが可能となる。
【0255】このようなライセンスのインテグリティ・
チェック値(ICV)を用いることにより、EKBと暗
号化ライセンスの不正コピーを排除することができる。
例えば図49Aに示すように、ライセンスL1とライセ
ンスL2とをそれぞれのライセンスキーを取得可能な有
効化キーブロック(EKB)とともに格納したメディア
1があり、これをそのままメディア2にコピーした場合
を想定する。EKBと暗号化ライセンスのコピーは可能
であり、これをEKBを復号可能なデバイスでは利用で
きることになる。
【0256】図49Bに示す例では、各メディアに正当
に格納されたライセンスに対応付けてインテグリティ・
チェック値(ICV(L1,L2))を格納する構成と
する。なお、(ICV(L1,L2))は、ライセンス
L1とライセンスL2にハッシュ関数を用いて計算され
るライセンスのインテグリティ・チェック値であるIC
V=hash(Kicv,L1,L2)を示している。
図49Bの構成において、メディア1には正当にライセ
ンス1とライセンス2が格納され、ライセンスL1とラ
イセンスL2に基づいて生成されたインテグリティ・チ
ェック値(ICV(L1,L2))が格納される。ま
た、メディア2には正当にライセンス1が格納され、ラ
イセンスL1に基づいて生成されたインテグリティ・チ
ェック値(ICV(L1))が格納される。
【0257】この構成において、メディア1に格納され
た{EKB,ライセンス2}をメディア2にコピーした
とすると、メディア2で、ライセンスチェック値を新た
に生成すると、ICV(L1,L2)が生成されること
になり、メディア2に格納されているKicv(L1)
と異なり、ライセンスの改竄あるいは不正なコピーによ
る新たなライセンスの格納が実行されたことが明らかに
なる。メディアを再生するデバイスにおいて、再生ステ
ップの前ステップにICVチェックを実行して、生成I
CVと格納ICVの一致を判別し、一致しない場合は、
再生を実行しない構成とすることにより、不正コピーの
ライセンスの再生を防止することが可能となる。
【0258】また、さらに、安全性を高めるため、ライ
センスのインテグリティ・チェック値(ICV)を書き
換えカウンタを含めたデータに基づいて生成する構成と
してもよい。すなわちICV=hash(Kicv,c
ounter+1,L1,L2,・・・)によって計算
する構成とする。ここで、カウンタ(counter+
1)は、ICVの書き換えごとに1つインクリメントさ
れる値として設定する。なお、カウンタ値はセキュアな
メモリに格納する構成とすることが必要である。
【0259】さらに、ライセンスのインテグリティ・チ
ェック値(ICV)をライセンスと同一メディアに格納
することができない構成においては、ライセンスのイン
テグリティ・チェック値(ICV)をライセンスとは別
のメディア上に格納する構成としてもよい。
【0260】例えば、読み込み専用メディアや通常のM
O等のコピー防止策のとられていないメディアにライセ
ンスを格納する場合、同一メディアにインテグリティ・
チェック値(ICV)を格納するとICVの書き換えが
不正なユーザによりなされる可能性があり、ICVの安
全性が保てないおそれがある。この様な場合、ホストマ
シン上の安全なメディアにICVを格納して、ライセン
スのコピーコントロール(例えばcheck-in/check-out、
move)にICVを使用する構成とすることにより、IC
Vの安全な管理およびライセンスの改竄チェックが可能
となる。
【0261】この構成例を図50に示す。図50では読
み込み専用メディアや通常のMO等のコピー防止策のと
られていないメディア2201にライセンス1乃至ライ
センス3が格納され、これらのライセンスに関するイン
テグリティ・チェック値(ICV)を、ユーザが自由に
アクセスすることの許可されないホストマシン上の安全
なメディア2202に格納し、ユーザによる不正なイン
テグリティ・チェック値(ICV)の書き換えを防止し
た例である。このような構成として、例えばメディア2
201を装着したデバイスが、メディア2201の再生
を実行する際にホストマシンであるPC、サーバにおい
てICVのチェックを実行して再生の可否を判定する構
成とすれば、不正なコピーライセンスあるいは改竄ライ
センスの再生を防止できる。
【0262】本発明が適用されるクライアントは、いわ
ゆるパーソナルコンピュータ以外に、PDA(Personal Di
gital Assistants)、携帯電話機、ゲーム端末機などと
することができる。
【0263】一連の処理をソフトウエアにより実行させ
る場合には、そのソフトウエアを構成するプログラム
が、専用のハードウエアに組み込まれているコンピュー
タ、または、各種のプログラムをインストールすること
で、各種の機能を実行することが可能な、例えば汎用の
パーソナルコンピュータなどに、ネットワークや記録媒
体からインストールされる。
【0264】この記録媒体は、図2に示されるように、
装置本体とは別に、ユーザにプログラムを提供するため
に配布される、プログラムが記録されている磁気ディス
ク41(フロッピディスクを含む)、光ディスク42
(CD-ROM(Compact DisKRead Only Memory),DVD(Digital
Versatile Disk)を含む)、光磁気ディスク43(MD
(Mini-Disk)を含む)、もしくは半導体メモリ44な
どよりなるパッケージメディアにより構成されるだけで
なく、装置本体に予め組み込まれた状態でユーザに提供
される、プログラムが記録されているROM22や、記憶
部28に含まれるハードディスクなどで構成される。
【0265】なお、本明細書において、記録媒体に記録
されるプログラムを記述するステップは、記載された順
序に沿って時系列的に行われる処理はもちろん、必ずし
も時系列的に処理されなくとも、並列的あるいは個別に
実行される処理をも含むものである。
【0266】また、本明細書において、システムとは、
複数の装置により構成される装置全体を表すものであ
る。
【0267】
【発明の効果】本発明の情報処理装置および方法、記録
媒体、並びにプログラムによれば、ヘッダのデータに基
づいてデジタル署名を作成し、ヘッダとともにフォーマ
ット化するようにしたので、コンテンツの作成者を検証
することが可能となり、不正にコピーされたコンテンツ
が流通してしまうことを抑制することが可能となる。
【図面の簡単な説明】
【図1】本発明を適用したコンテンツ提供システムの構
成を示すブロック図である。
【図2】図1のクライアントの構成を示すブロック図で
ある。
【図3】図1のクライアントのコンテンツのダウンロー
ド処理を説明するフローチャートである。
【図4】図1のコンテンツサーバのコンテンツ提供処理
を説明するフローチャートである。
【図5】図4のステップS26におけるフォーマットの
例を示す図である。
【図6】図1のクライアントのコンテンツ再生処理を説
明するフローチャートである。
【図7】図6のステップS43のライセンス取得処理の
詳細を説明するフローチャートである。
【図8】ライセンスの構成を示す図である。
【図9】図1のライセンスサーバのライセンス提供の処
理を説明するフローチャートである。
【図10】図6のステップS45におけるライセンス更
新処理の詳細を説明するフローチャートである。
【図11】図1のライセンスサーバのライセンス更新処
理を説明するフローチャートである。
【図12】キーの構成を説明する図である。
【図13】カテゴリノードを説明する図である。
【図14】ノードとデバイスの対応の具体例を示す図で
ある。
【図15】有効化キーブロックの構成を説明する図であ
る。
【図16】有効化キーブロックの利用を説明する図であ
る。
【図17】有効化キーブロックのフォーマットの例を示
す図である。
【図18】有効化キーブロックのタグの構成を説明する
図である。
【図19】DNKを用いたコンテンツの復号処理を説明す
る図である。
【図20】有効化キーブロックの例を示す図である。
【図21】複数のコンテンツの1つのデバイスに対する
割り当てを説明する図である。
【図22】ライセンスのカテゴリを説明する図である。
【図23】クライアントのリッピング処理を説明するフ
ローチャートである。
【図24】ウォーターマークの構成を説明する図であ
る。
【図25】コンテンツのフォーマットの例を示す図であ
る。
【図26】公開鍵証明書の例を示す図である。
【図27】コンテンツの配布を説明する図である。
【図28】クライアントのコンテンツのチェックアウト
処理を説明するフローチャートである。
【図29】タグによる有効化キーブロックをたどる例を
説明する図である。
【図30】有効化キーブロックの構成例を示す図であ
る。
【図31】マークの構成を説明する図である。
【図32】クライアントのライセンス買い取り処理を説
明するフローチャートである。
【図33】ライセンスサーバのライセンス買い取り処理
を説明するフローチャートである。
【図34】マークの構成例を示す図である。
【図35】クライアントの証明書の登録処理を説明する
フローチャートである。
【図36】コンテンツサーバの証明書登録処理を説明す
るフローチャートである。
【図37】グループの証明書の例を示す図である。
【図38】グルーピングが行われている場合におけるコ
ンテンツサーバの処理を説明するフローチャートであ
る。
【図39】コンテンツキーの暗号化の例を示す図であ
る。
【図40】グループに属するクライアントの処理を説明
するフローチャートである。
【図41】他のクライアントにライセンスをチェックア
ウトするクライアントの処理を説明するフローチャート
である。
【図42】他のクライアントからライセンスのチェック
アウトを受けるクライアントの処理を説明するフローチ
ャートである。
【図43】ライセンスのチェックアウトを受けたクライ
アントの再生処理を説明するフローチャートである。
【図44】他のクライアントからライセンスのチェック
インを受けるクライアントの処理を説明するフローチャ
ートである。
【図45】他のクライアントにライセンスをチェックイ
ンするクライアントの処理を説明するフローチャートで
ある。
【図46】MACの生成を説明する図である。
【図47】ICV生成キーの復号処理を説明するフローチ
ャートである。
【図48】ICV生成キーの他の復号処理を説明する図で
ある。
【図49】ICVによるライセンスのコピーの管理を説明
する図である。
【図50】ライセンスの管理を説明する図である。
【符号の説明】
1−1,1−2 クライアント, 2 インターネッ
ト, 3 コンテンツサーバ, 4 ライセンスサー
バ, 5 課金サーバ, 20 タイマ, 21CPU,
24 暗号化復号部, 25 コーデック部, 26
入力部, 27出力部, 28 記憶部, 29 通
信部
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) H04L 9/08 H04L 9/00 601B 9/32 673A Fターム(参考) 5B017 AA06 CA15 CA16 5B085 AE13 BG07 5J104 AA01 AA09 AA13 AA14 AA16 EA05 EA06 EA16 EA19 JA13 LA03 LA06 NA02 NA04 NA12 PA07 PA11

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 コンテンツを出力する情報処理装置にお
    いて、 出力する前記コンテンツを取得する取得手段と、 前記取得手段により取得された前記コンテンツのヘッダ
    を作成するヘッダ作成手段と、 前記ヘッダ作成手段により作成された前記ヘッダのデー
    タに基づいたデジタル署名を作成する署名作成手段と、 前記取得手段により取得された前記コンテンツを暗号化
    する暗号化手段と、 前記ヘッダ作成手段により作成された前記ヘッダと、前
    記暗号化手段により暗号化された前記コンテンツをファ
    イルフォーマットにフォーマット化し、出力するフォー
    マット化手段とを備えることを特徴とする情報処理装
    置。
  2. 【請求項2】 前記取得手段は、前記デジタル署名に使
    用する秘密鍵を、前記コンテンツのライセンスとともに
    さらに取得することを特徴とする請求項1に記載の情報
    処理装置。
  3. 【請求項3】 コンテンツを出力する情報処理装置の情
    報処理方法において、 出力する前記コンテンツを取得する取得ステップと、 前記取得ステップの処理により取得された前記コンテン
    ツのヘッダを作成するヘッダ作成ステップと、 前記ヘッダ作成ステップの処理により作成された前記ヘ
    ッダのデータに基づいたデジタル署名を作成する署名作
    成ステップと、 前記取得ステップの処理により取得された前記コンテン
    ツを暗号化する暗号化ステップと、 前記ヘッダ作成ステップの処理により作成された前記ヘ
    ッダと、前記暗号化ステップの処理により暗号化された
    前記コンテンツをファイルフォーマットにフォーマット
    化し、出力するフォーマット化ステップとを含むことを
    特徴とする情報処理方法。
  4. 【請求項4】 コンテンツを出力する情報処理装置のプ
    ログラムにおいて、 出力する前記コンテンツを取得する取得ステップと、 前記取得ステップの処理により取得された前記コンテン
    ツのヘッダを作成するヘッダ作成ステップと、 前記ヘッダ作成ステップの処理により作成された前記ヘ
    ッダのデータに基づいたデジタル署名を作成する署名作
    成ステップと、 前記取得ステップの処理により取得された前記コンテン
    ツを暗号化する暗号化ステップと、 前記ヘッダ作成ステップの処理により作成された前記ヘ
    ッダと、前記暗号化ステップの処理により暗号化された
    前記コンテンツをファイルフォーマットにフォーマット
    化し、出力するフォーマット化ステップとを含むことを
    特徴とするコンピュータが読み取り可能なプログラムが
    記録されている記録媒体。
  5. 【請求項5】 コンテンツを出力する情報処理装置を制
    御するコンピュータに、 出力する前記コンテンツを取得する取得ステップと、 前記取得ステップの処理により取得された前記コンテン
    ツのヘッダを作成するヘッダ作成ステップと、 前記ヘッダ作成ステップの処理により作成された前記ヘ
    ッダのデータに基づいたデジタル署名を作成する署名作
    成ステップと、 前記取得ステップの処理により取得された前記コンテン
    ツを暗号化する暗号化ステップと、 前記ヘッダ作成ステップの処理により作成された前記ヘ
    ッダと、前記暗号化ステップの処理により暗号化された
    前記コンテンツをファイルフォーマットにフォーマット
    化し、出力するフォーマット化ステップとを実行させる
    プログラム。
JP2001094805A 2001-03-29 2001-03-29 情報処理装置および方法、記録媒体、並びにプログラム Pending JP2002297032A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001094805A JP2002297032A (ja) 2001-03-29 2001-03-29 情報処理装置および方法、記録媒体、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001094805A JP2002297032A (ja) 2001-03-29 2001-03-29 情報処理装置および方法、記録媒体、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2002297032A true JP2002297032A (ja) 2002-10-09

Family

ID=18948947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001094805A Pending JP2002297032A (ja) 2001-03-29 2001-03-29 情報処理装置および方法、記録媒体、並びにプログラム

Country Status (1)

Country Link
JP (1) JP2002297032A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004036435A1 (ja) * 2002-10-15 2004-04-29 Matsushita Electric Industrial Co., Ltd. デジタルアイテムの管理情報の管理システム
JP2007529042A (ja) * 2003-07-03 2007-10-18 マウイ エックス−ストリーム,インク. メディアストリーム受信者認証
JP2008543216A (ja) * 2005-06-03 2008-11-27 ケーティーフリーテル・カンパニー・リミテッド Drm基盤のコンテンツ提供及び処理方法並びにその装置
JP2012104883A (ja) * 2010-11-05 2012-05-31 Toshiba Corp 記憶装置、アクセス装置およびプログラム
WO2012171435A1 (zh) * 2011-06-17 2012-12-20 飞天诚信科技股份有限公司 基于音频通信的电子签名系统及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11239129A (ja) * 1997-06-05 1999-08-31 Hitachi Ltd 電子データを認証するための方法
JP2000295208A (ja) * 1999-04-07 2000-10-20 Ntt Communications Kk コンテンツ転送・蓄積方法、装置及びプログラム記録媒体
WO2000067256A1 (en) * 1999-04-30 2000-11-09 Koninklijke Philips Electronics N.V. Registering copy protected material in a check-out, check-in system
JP2001052072A (ja) * 1999-08-16 2001-02-23 Ntt Communications Kk コンテンツ流通方法および該コンテンツ流通プログラムを記録した記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11239129A (ja) * 1997-06-05 1999-08-31 Hitachi Ltd 電子データを認証するための方法
JP2000295208A (ja) * 1999-04-07 2000-10-20 Ntt Communications Kk コンテンツ転送・蓄積方法、装置及びプログラム記録媒体
WO2000067256A1 (en) * 1999-04-30 2000-11-09 Koninklijke Philips Electronics N.V. Registering copy protected material in a check-out, check-in system
JP2001052072A (ja) * 1999-08-16 2001-02-23 Ntt Communications Kk コンテンツ流通方法および該コンテンツ流通プログラムを記録した記録媒体

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004036435A1 (ja) * 2002-10-15 2004-04-29 Matsushita Electric Industrial Co., Ltd. デジタルアイテムの管理情報の管理システム
JP2007529042A (ja) * 2003-07-03 2007-10-18 マウイ エックス−ストリーム,インク. メディアストリーム受信者認証
JP2008543216A (ja) * 2005-06-03 2008-11-27 ケーティーフリーテル・カンパニー・リミテッド Drm基盤のコンテンツ提供及び処理方法並びにその装置
JP2012104883A (ja) * 2010-11-05 2012-05-31 Toshiba Corp 記憶装置、アクセス装置およびプログラム
US8861723B2 (en) 2010-11-05 2014-10-14 Kabushiki Kaisha Toshiba Storage device, access device, and program product
WO2012171435A1 (zh) * 2011-06-17 2012-12-20 飞天诚信科技股份有限公司 基于音频通信的电子签名系统及方法
US9172536B2 (en) 2011-06-17 2015-10-27 Feitian Technologies Co., Ltd. Audio communication based electronic signature system and method thereof

Similar Documents

Publication Publication Date Title
JP4072761B2 (ja) 情報処理装置および方法、記録媒体、並びに、プログラム
KR100904572B1 (ko) 정보 처리 장치
KR100911282B1 (ko) 정보 처리 장치
KR100929744B1 (ko) 정보 처리 방법/장치 및 프로그램
JPWO2002080447A1 (ja) 情報処理装置
JP4151274B2 (ja) 情報処理装置および方法、ライセンスサーバ、並びにプログラム
JP3818504B2 (ja) 情報処理装置および方法、並びにプログラム
EP1496441A1 (en) Information processing device, method, recording medium, and program
JPWO2002080067A1 (ja) 情報処理装置
JP2002297816A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP3818503B2 (ja) 情報処理装置および方法、並びにプログラム
JP2002297034A (ja) 情報処理装置および方法、記録媒体、プログラム、並びに記録媒体のフォーマット
JP2002297032A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP2006320018A (ja) 情報処理装置および方法、記録媒体、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100909

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110106