JP4192499B2 - Information processing apparatus, information processing method, content input / output processing system, content input / output processing method, and computer program - Google Patents
Information processing apparatus, information processing method, content input / output processing system, content input / output processing method, and computer program Download PDFInfo
- Publication number
- JP4192499B2 JP4192499B2 JP2002149266A JP2002149266A JP4192499B2 JP 4192499 B2 JP4192499 B2 JP 4192499B2 JP 2002149266 A JP2002149266 A JP 2002149266A JP 2002149266 A JP2002149266 A JP 2002149266A JP 4192499 B2 JP4192499 B2 JP 4192499B2
- Authority
- JP
- Japan
- Prior art keywords
- content
- key
- ekb
- information
- information 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、情報処理装置、情報処理方法、およびコンテンツ入出力処理システム、コンテンツ入出力処理方法、並びにコンピュータ・プログラムに関する。特に、著作権保護等により、利用制限を付加することが好ましいコンテンツの機器間の移動(ムーブ)、複製(コピー)処理において、利用制限を考慮し効率的な処理を実現可能とした情報処理装置、情報処理方法、およびコンテンツ入出力処理システム、コンテンツ入出力処理方法、並びにコンピュータ・プログラムに関する。
【0002】
【従来の技術】
昨今、音楽データ、ゲームプログラム、画像データ等、様々なソフトウエアデータ(以下、これらをコンテンツ(Content)と呼ぶ)の、インターネット等のネットワーク、あるいは、メモリカード、HD、DVD、CD等の流通可能な記憶媒体を介した流通が盛んになっている。これらの流通コンテンツは、ユーザの所有するPC(Personal Computer)、記録再生器、再生専用器、あるいはゲーム機器内の記憶手段、例えばHD,フラッシュメモリを有するカード型記憶装置、CD、DVD等に格納され、再生処理が実行される。
【0003】
記録再生装置、ゲーム機器、PC等の情報機器には、コンテンツをネットワークから受信するためのインタフェース、あるいはメモリカード、HD、DVD、CD等にアクセスするためのインタフェースを有し、コンテンツの再生に必要となる制御手段、プログラム、データのメモリ領域として使用されるRAM、ROM等を有する。
【0004】
音楽データ、画像データ、あるいはプログラム等の様々なコンテンツは、再生機器として利用される記録再生装置、ゲーム機器、PC等の情報機器本体からのユーザ指示、あるいは接続された入力手段を介したユーザの指示により、例えば内蔵、あるいは着脱自在の記憶媒体から呼び出され、情報機器本体、あるいは接続されたディスプレイ、スピーカ等を通じて再生される。
【0005】
ゲームプログラム、音楽データ、画像データ等、多くのソフトウエア・コンテンツは、一般的にその作成者、販売者に頒布権等が保有されている。従って、これらのコンテンツの配布に際しては、一定の利用制限、すなわち、正規なユーザに対してのみ、ソフトウェアの使用を許諾し、許可のない複製等が行われないようにする、すなわちセキュリティを考慮した構成をとるのが一般的となっている。
【0006】
特に、近年においては、情報をデジタル的に記録する記録装置や記憶媒体が普及しつつある。このようなデジタル記録装置および記憶媒体によれば、例えば画像や音声を劣化させることなく記録、再生を繰り返すことができる。このようにデジタルデータは画質や音質を維持したまま何度もコピーを繰り返し実行することができるため、コピーが違法に行われた記憶媒体が市場に流通することになると、音楽、映画等各種コンテンツの著作権者、あるいは正当な販売権者等の利益が害されることになる。昨今では、このようなデジタルデータの不正なコピーを防ぐため、デジタル記録装置および記憶媒体に違法なコピーを防止するための様々な処理構成が実現または提案されている。
【0007】
例えば、音楽配信技術における各種の仕様を提案しているSDMI(Secure Digital music Initiative)では、ポータブルプレーヤにおける著作権保護機能の規格を提案している。著作権保護機能の実現形態としては、コンテンツのコピー数の制限、コンテンツの利用期間の制限など様々である。
【0008】
【発明が解決しようとする課題】
フラッシュメモリ、カード型HD、メモリカードなど小型の記憶媒体を適用してオーディオデータやビデオデータ等のコンテンツを記録再生するシステムでは、例えばDVD、CD等の記憶媒体から音楽等のコンテンツを小型の記憶媒体にコピーして、小型記憶媒体を装着したポータブルデバイスにおいてコピーコンテンツを再生するといった使用形態がある。また、ネットワークから配信されるコンテンツをパーソナルコンピュータに内蔵されるハードディスク、DVD、CD等の大容量記憶媒体に一旦蓄積し、その後、パーソナルコンピュータからメモリカードあるいは携帯型の小型ハードディスク(HD)にコンテンツを移動して、メモリカード、HDを装着可能なポータブルデバイスでコンテンツを再生する形態、すなわちPCをコンテンツのパーソナルサーバとして使用する形態も多く行われつつある。
【0009】
CD等の記憶媒体からのコンテンツや、インターネット等の通信を介して得たコンテンツを一旦ハードディスク、DVD、CD等の大容量記憶媒体に保存し、これらの記憶媒体からメモリカードにコンテンツをコピー又はムーブする。そしてメモリカード側でコンテンツの再生を行うようなコンテンツ利用が無秩序に行われることはコンテンツの著作権上問題がある。なおムーブ、すなわちコンテンツの移動とは、コンテンツを例えば大容量記憶媒体からメモリカードにコピー記録した後に、そのコピー元となる記憶媒体(HD、DVD、CD等)からコンテンツを消去することで実現される動作形態である。
【0010】
著作権保護の観点から、ある程度コピーやムーブが制限されるようにする必要がある。その一方で、完全にコピー/ムーブを禁止してしまうことは、上記のようなPCからポータブルメディアにコンテンツを移動して外でコンテンツの再生を楽しむといったコンテンツ利用を阻むことになり、適切ではない。従って、著作権保護を実現した上で、ユーザーの私的コピーの権利を維持できるような、適切なコピー/ムーブ管理を実現することが求められている。
【0011】
PCからポータブルデバイスへのコンテンツ転送処理、利用処理に際しては、コンテンツに対応して設定される利用条件によって許可された範囲で利用されることが好ましい。例えば利用期間、利用回数制限を設定し、コンテンツ利用に応じたステータスを記録して、ポータブルデバイス、PC等、それぞれの機器で利用条件の範囲内でコンテンツの利用が行なわれるべきである。
【0012】
PC等のように大容量記憶媒体を持ち、処理能力の高いプロセッサを有する機器においては、このようなコンテンツ利用条件情報に基づくコンテンツ利用可否判定のための処理負荷あるいはコンテンツ利用条件情報の記憶処理は、何ら問題がなく実行可能であるが、記憶容量が小さく、CPU能力の低いポータブルデバイス等の端末装置またはコンテンツ記憶装置においては、PC等と同等の処理および情報記憶を行なうことは、必ずしも容易ではない。
【0013】
コンテンツと、コンテンツに対応する利用権情報を別々に配布するシステムにおいては、ポータブルデバイス等の端末装置またはコンテンツ記憶装置において、両者の対応の正当性を検証するマッチング処理が必要となる。この処理は負荷が大きく、ポータブルデバイス等の端末装置において実行することは困難である。コンテンツを処理能力の低いポータブルデバイス等の端末装置で、コンテンツに対応する利用権データを探し出し、そのデータの正当性を検証した上で、そのコンテンツの利用を許可する処理を実行することは、ポータブルデバイス等の端末装置の有する限られたリソースを適用して実行することには困難性があった。
【0014】
本発明はこのような状況に鑑みてなされたものであり、データ記憶容量が小さくまたプロセッサ等の処理能力の低いポータブルデバイス等の情報処理装置においても、コンテンツに対応して設定されたコンテンツ利用条件に従ったコンテンツの利用を可能として、コンテンツの不正利用を防止可能とした情報処理装置、情報処理方法、およびコンテンツ入出力処理システム、コンテンツ入出力処理方法、並びにコンピュータ・プログラムを提供することを目的とするものである。
【0015】
【課題を解決するための手段】
本発明の第1の側面は、
コンテンツ再生処理を実行する情報処理装置であり、
暗号化コンテンツを格納するとともに、コンテンツ利用条件情報を含むインデックスファイルを記憶した記憶手段と、
前記インデックスファイル中のコンテンツ利用条件情報に基づいてコンテンツ利用可否を判定し、コンテンツ利用可の判定に基づいて、暗号化コンテンツの復号に適用するコンテンツキーKc取得処理を実行する制御手段と、
を有し、
前記コンテンツ利用条件情報は、
有効化キーブロック(EKB)配信ツリー構成におけるリーフ識別子としてのリーフIDと、
コンテンツ識別子としてのコンテンツIDと、
コンテンツの利用条件情報と、
コンテンツ利用ステータス情報とを含む構成であることを特徴とする情報処理装置にある。
【0016】
さらに、本発明の情報処理装置の一実施態様において、前記インデックスファイルには、少なくとも前記コンテンツ利用条件情報に基づいて生成された改竄検証値としてのメッセージ認証符号(MAC)を含み、前記制御手段は、前記MACと、前記コンテンツ利用条件情報に基づいて算出したMACとの比較に基づいて、前記コンテンツ利用条件情報の改竄の有無を判定し、改竄無しの判定を条件として、前記コンテンツキー取得処理を実行する構成を有することを特徴とする。
【0018】
さらに、本発明の情報処理装置の一実施態様において、前記暗号化コンテンツは、コンテンツキーKcにより暗号化されたコンテンツであり、前記コンテンツキーKcは、有効化キーブロック(EKB)配信ツリー構成を適用して提供される有効化キーブロック(EKB)の復号により取得可能なキーの適用によってのみ取得可能なキーであり、前記制御手段は、前記有効化キーブロック(EKB)の復号処理によるコンテンツキー取得処理を実行する構成であることを特徴とする。
【0019】
さらに、本発明の情報処理装置の一実施態様において、前記コンテンツ利用条件情報は、コンテンツの利用可能期間、利用可能回数を含む構成であることを特徴とする。
【0020】
さらに、本発明の情報処理装置の一実施態様において、前記インデックスファイルは、コンテンツに対応する属性情報を含むモバイルクイックタイムフォーマットに従ったデータ構成を有することを特徴とする。
【0021】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、外部のコンテンツ出力機器から前記暗号化コンテンツを含む暗号化コンテンツファィルと、前記インデックスファイルを入力し、前記制御手段は、前記暗号化コンテンツファイルと、前記インデックスファイルを前記記憶手段に格納するとともに、前記利用条件情報を含むデータに基づく改竄検証値としてのメッセージ認証符号(MAC)を前記記憶手段に格納する処理を実行する構成であることを特徴とする。
【0022】
さらに、本発明の情報処理装置の一実施態様において、前記制御手段は、前記利用条件情報を含むデータに基づく改竄検証値としてのメッセージ認証符号(MAC)を、特定のアクセス許可プログラムに従ってアクセス可能な前記記憶手段のリードインエリアに書き込む処理を実行する構成であることを特徴とする。
【0023】
さらに、本発明の情報処理装置の一実施態様において、前記制御手段は、前記利用条件情報を含むデータに基づく改竄検証値としてのメッセージ認証符号(MAC)と、コンテンツの復号処理に適用するコンテンツキーKcの生成に要するサブキーKsubを対応付けて、特定のアクセス許可プログラムに従ってアクセス可能な前記記憶手段のリードインエリアに書き込む処理を実行する構成であることを特徴とする。
【0024】
さらに、本発明の情報処理装置の一実施態様において、前記制御手段は、コンテンツをコンテンツキーKcで暗号化した暗号化コンテンツE(Kc,Content)と、有効化キーブロック(EKB)配信ツリー構成を適用して提供される有効化キーブロック(EKB)の復号により取得可能なキーKrootによって、コンテンツID(CID)と、前記コンテンツキーKcの生成に要するメインキーKcmとを暗号化したデータE(Kroot,CID+Kcm)と、前記有効化キーブロック(EKB)と、を含む暗号化コンテンツファイルを前記記憶手段に格納する処理を実行する構成であることを特徴とする。
【0025】
さらに、本発明の第2の側面は、
情報処理装置においてコンテンツ再生処理を実行する情報処理方法であり、
コンテンツ利用条件情報を含むインデックスファイル中のコンテンツ利用条件情報に基づいてコンテンツ利用可否を判定する判定処理ステップと、
コンテンツ利用可の判定に基づいて、暗号化コンテンツの復号に適用するコンテンツキーKc取得処理を実行するコンテンツキー取得処理ステップと、
前記コンテンツキーKcに基づく暗号化コンテンツの復号を実行する復号処理ステップを有し、
前記コンテンツ利用条件情報は、
有効化キーブロック(EKB)配信ツリー構成におけるリーフ識別子としてのリーフIDと、
コンテンツ識別子としてのコンテンツIDと、
コンテンツの利用条件情報と、
コンテンツ利用ステータス情報とを含む構成であることを特徴とする情報処理方法にある。
【0026】
さらに、本発明の情報処理方法の一実施態様において、前記インデックスファイルには、少なくとも前記コンテンツ利用条件情報に基づいて生成された改竄検証値としてのメッセージ認証符号(MAC)を含み、前記情報処理方法は、さらに、前記MACと、前記コンテンツ利用条件情報に基づいて算出したMACとの比較に基づいて、前記コンテンツ利用条件情報の改竄の有無を判定するステップを有し、前記コンテンツキー取得処理ステップは、前記コンテンツ利用条件情報の改竄無しの判定を条件として実行することを特徴とする。
【0028】
さらに、本発明の情報処理方法の一実施態様において、前記暗号化コンテンツは、コンテンツキーKcにより暗号化されたコンテンツであり、前記コンテンツキーKcは、有効化キーブロック(EKB)配信ツリー構成を適用して提供される有効化キーブロック(EKB)の復号により取得可能なキーの適用によってのみ取得可能なキーであり、前記コンテンツキー取得処理ステップは、前記有効化キーブロック(EKB)の復号処理によるコンテンツキー取得処理を実行する構成であることを特徴とする。
【0029】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、外部のコンテンツ出力機器から前記暗号化コンテンツを含む暗号化コンテンツファイルと、前記インデックスファイルを入力するステップと、前記暗号化コンテンツファイルと、前記インデックスファイルを前記記憶手段に格納するとともに、前記利用条件情報を含むデータに基づく改竄検証値としてのメッセージ認証符号(MAC)を前記記憶手段に格納する処理を実行するステップと、を有することを特徴とする。
【0030】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理装置は、さらに、前記利用条件情報を含むデータに基づく改竄検証値としてのメッセージ認証符号(MAC)を、特定のアクセス許可プログラムに従ってアクセス可能な前記記憶手段のリードインエリアに書き込む処理を実行することを特徴とする。
【0031】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理装置は、さらに、前記利用条件情報を含むデータに基づく改竄検証値としてのメッセージ認証符号(MAC)と、コンテンツの復号処理に適用するコンテンツキーKcの生成に要するサブキーKsubを対応付けて、特定のアクセス許可プログラムに従ってアクセス可能な前記記憶手段のリードインエリアに書き込む処理を実行することを特徴とする。
【0032】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理装置は、さらに、コンテンツをコンテンツキーKcで暗号化した暗号化コンテンツE(Kc,Content)と、有効化キーブロック(EKB)配信ツリー構成を適用して提供される有効化キーブロック(EKB)の復号により取得可能なキーKrootによって、コンテンツID(CID)と、前記コンテンツキーKcの生成に要するメインキーKcmとを暗号化したデータE(Kroot,CID+Kcm)と、前記有効化キーブロック(EKB)と、を含む暗号化コンテンツファイルを前記記憶手段に格納する処理を実行することを特徴とする。
【0033】
さらに、本発明の第3の側面は、
情報処理装置において、コンテンツ再生処理を実行する情報処理を実行せしめるコンピュータ・プログラムであって、
コンテンツ利用条件情報を含むインデックスファイル中のコンテンツ利用条件情報に基づいてコンテンツ利用可否を判定する判定処理ステップと、
コンテンツ利用可の判定に基づいて、暗号化コンテンツの復号に適用するコンテンツキーKc取得処理を実行するコンテンツキー取得処理ステップと、
前記コンテンツキーKcに基づく暗号化コンテンツの復号を実行する復号処理ステップを有し、
前記コンテンツ利用条件情報は、
有効化キーブロック(EKB)配信ツリー構成におけるリーフ識別子としてのリーフIDと、
コンテンツ識別子としてのコンテンツIDと、
コンテンツの利用条件情報と、
コンテンツ利用ステータス情報とを含む構成であることを特徴とするコンピュータ・プログラムにある。
【0034】
【作用】
本発明は、コンテンツ索引データとしてのインデックスファイルにコンテンツ利用条件情報を含む構成としたので、少ない記憶容量を持ち、プロセッサ等の処理能力の低いポータブルデバイスにおいても、インデックスファイルのコンテンツ利用条件情報を適用した正当なコンテンツ利用が可能となる。
【0035】
さらに、本発明の構成では、インデックスファイル中のコンテンツ利用条件情報に基づいてコンテンツ利用可否を判定し、コンテンツ利用可の判定に基づいて、暗号化コンテンツの復号に適用するコンテンツキーKc取得処理を実行する構成としたので、利用条件に基づくコンテンツ利用が認められた場合にのみコンテンツキー取得が可能となるので、厳格なコンテンツ利用条件の遵守が可能となる。
【0036】
さらに、本発明では、インデックスファイルにコンテンツ利用条件情報に基づいて生成された改竄検証値としてのメッセージ認証符号(MAC)を含み、MACと、コンテンツ利用条件情報に基づいて算出したMACとの比較に基づいて、コンテンツ利用条件情報の改竄の有無を判定し、改竄無しの判定を条件として、コンテンツキー取得処理を実行する構成としたので、利用条件情報の改竄に基づく不正なコンテンツ利用が防止される。
【0037】
さらに、本発明では、コンテンツキーKcは、有効化キーブロック(EKB)配信ツリー構成を適用して提供される有効化キーブロック(EKB)の復号により取得可能なキーの適用によってのみ取得可能なキーとして設定されるので、厳格なコンテンツ利用権限の判定処理に基づくコンテンツ利用が可能となる。
【0038】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【0039】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0040】
【発明の実施の形態】
[システム概要]
図1は、本発明の適用可能なコンテンツ管理システムの概要を説明する図である。コンテンツの利用を行なうユーザデバイスには、PC31、各種のポータブルデバイス32等の情報処理装置が含まれる。コンテンツは、暗号化コンテンツ51としてサービスプロバイダ12からユーザデバイス30に提供される。さらに、サービスプロバイダ12からユーザデバイス30に対しては、コンテンツに対応するコンテンツ利用権情報52が提供され、PC31、ポータブルデバイス32等のユーザデバイス30では、利用権情報52に従って配布された暗号化コンテンツを復号して利用する。
【0041】
オリジナルのコンテンツは、コンテンツプロバイダ11から、コンテンツ利用条件情報とともに、サービスプロバイダ12に提供される。キー管理センター13は、有効化キーブロック(EKB:Enabling Key Block)、デバイス・ノード・キー(DNK:Device Node Key)等の鍵データを提供する。有効化キーブロック(EKB:Enabling Key Block)、デバイス・ノード・キー(DNK:Device Node Key)は、コンテンツの利用を正当なコンテンツ利用権を有するユーザデバイスにおいてのみ暗号化コンテンツを復号して利用可能とするためのコンテンツ利用に必要となる暗号鍵を取得するための鍵データである。EKB,DNKについては、後段で説明する。
【0042】
キー管理センター13は、有効化キーブロック(EKB:Enabling Key Block)を適用したユーザデバイス30に対するキーの発行処理を実行するキー発行センター(KDC:Key Distribute Center)、およびキー配信ツリー管理者としてのトップレベル・カテゴリ・エンティテイ(TLCE:Top Level Category Entity)を含む構成である。
【0043】
サービスプロバイダ12は、コンテンツプロバイタ11から提供されるコンテンツを暗号化して、暗号化コンテンツ51を生成して、ユーザデバイス30に提供する。さらに、コンテンツプロバイダから提供されるコンテンツ利用条件情報に基づいて利用権情報52を生成してユーザデバイス30に提供する。さらに、キー管理センター13の提供するデバイスノードキー(DNK:Device Node Key)、有効化キーブロック(EKB:Enabling Key Block)に基づいてサービスデータ53を生成してユーザデバイス30に提供する。サービスデータは、暗号化コンテンツの復号処理の際に必要となるサービス・デバイスノードキー(SDNK)を持つ有効化キーブロック(EKB)を含む。
【0044】
暗号化コンテンツ51、利用権情報52、およびサービスデータ53の詳細構成、およびこれらのデータの利用処理の詳細については、後段で説明する。
【0045】
なお、コンテンツの利用条件には、利用期間の限定条件、コピーの回数制限、さらにコンテンツを同時に利用することができるポータブルメディア(PM:Portable Media)の数(いわゆるチェックアウト(Check-out)数に対応)の制限等がある。
【0046】
例えば、PC31のハードディスクに格納した各コンテンツの各々に対応させて、そのコンテンツを同時に利用することができるポータブルメディア(PM:Portable Media)の数として最大チェックアウト数が設定可能である。ポータブルメディア(PM:Portable Media)は例えばフラッシュメモリ、または小型HD、光ディスク、光磁気ディスク、MD(Mini Disk)等、ポータブルデバイス32において利用可能な記憶媒体である。
【0047】
パーソナルコンピュータ(PC)31は、コンテンツを格納するポータブルメディアにPC31のハードディスクからコンテンツを転送(チェックアウト)し、ポータブルメディアを格納したポータブルデバイス32においてコンテンツの利用(再生)が可能となる。この際、コンテンツに対応する利用条件情報もポータブルデバイス32において適用可能とする構成が必要となる。
【0048】
フラッシュメモリ、または小型HD、光ディスク、光磁気ディスク等を装着したポータブルデバイス32は、パーソナルコンピュータ31から供給されたコンテンツを、利用条件情報を含む付帯データと共に、フラッシュメモリ、または小型HD、光ディスク、光磁気ディスク等の記憶媒体に記憶する。ポータブルデバイス32は、コンテンツの付帯データとしての利用条件に従って、記憶媒体に格納したコンテンツを再生し、ヘッドフォン、スピーカ等の出力手段を介して出力する。
【0049】
パーソナルコンピュータ31、およびコンテンツ格納可能なフラッシュメモリ、または小型HD、光ディスク、光磁気ディスク等のポータブルメディアを装着可能なポータブルデバイス32の構成例について、図2、図3を用いて説明する。
【0050】
まず、図2を用いてパーソナルコンピュータ31の構成について説明する。CPU(Central Processing Unit)101は、各種アプリケーションプログラム、OS(Operating System)を実際に実行する。さらに、コンテンツの暗号化、復号処理として、例えばDES(Data Encryption Standard)の暗号化アルゴリズムを適用した暗号処理、MAC生成、検証処理等を実行し、接続した情報記録処理装置(ポータブルデバイス)との間で実行されるコンテンツ入出力時の認証およびセッションキー共有処理、コンテンツ入出力処理制御等を行なう制御手段として機能する。
【0051】
ROM(Read Only Memory)102は、CPU101が使用するプログラムや演算用のパラメータのうちの固定データ等を格納する。上述したポータブルデバイスとの間で実行されるコンテンツ入出力時のデータ処理プログラム等が格納される。RAM(Random Access Memory)103は、CPU101の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス104により相互に接続されている。
【0052】
ホストバス104は、ブリッジ105を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス106に接続されている。
【0053】
キーボード108は、CPU101に各種の指令を入力するとき、使用者により操作される。ポインティングデバイス109は、ディスプレイ110の画面上のポイントの指示や選択を行うとき、使用者により操作される。ディスプレイ110は、液晶表示装置またはCRT(Cathode Ray Tube)などから成り、各種情報をテキストやイメージで表示する。HDD(Hard Disk Drive)111は、ハードディスクを駆動し、CPU101によって実行するプログラムや情報を記録または再生させる。
【0054】
ドライブ112は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体121に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インタフェース107、外部バス106、ブリッジ105、およびホストバス104を介して接続されているRAM103に供給する。
【0055】
PD(ポータブルデバイス)接続ポート114は、ポータブルデバイスを接続するポートであり、USB,IEEE1394等の接続によりポータブルデバイスが接続される。PD(ポータブルデバイス)接続ポート114は、インタフェース107、および外部バス106、ブリッジ105、ホストバス104等を介して、HDD111、CPU101、またはRAM103から供給されたデータ、例えば、コンテンツまたはポータブルデバイス122のコマンドなどをポータブルデバイス122に出力する。
【0056】
音声入出力インタフェース115は、例えばIEC(Internationl Electrotechnical Commission)60958端子を有するデジタル音声入出力、あるいはアナログ音声入出力のインタフェース処理を実行し、スピーカ等の出力手段に接続され、入出力インタフェース115から供給された音声信号を基に、コンテンツに対応する所定の音声を出力する。
【0057】
これらのキーボード108乃至音声入出力インタフェース115は、インタフェース107に接続されており、インタフェース107は、外部バス106、ブリッジ105、およびホストバス104を介してCPU101に接続されている。
【0058】
通信部116は、ネットワークに接続され、CPU101、またはHDD111等から供給されたデータ(例えば、登録の要求、またはコンテンツの送信要求など)を、所定の方式のパケットに格納して、ネットワーク2を介して、送信するとともに、ネットワーク2を介して、受信したパケットに格納されているデータ(例えば、認証鍵、またはコンテンツなど)をCPU101、RAM103、またはHDD111に出力する。
【0059】
次に、ポータブルメディアを利用するポータブルデバイス構成例を図3を参照して説明する。なお、コンテンツの格納記憶媒体としてのメディアは、フラッシュメモリ、または小型HD、光ディスク、光磁気ディスク等である。
【0060】
電源回路152は、供給される電源電圧を所定の電圧の内部電力に変換して、CPU153乃至表示部167に供給することにより、装置全体を駆動させる。入出力I/F157は、コンテンツの提供元となるパーソナルコンピュータ(PC)172と接続するインタフェースであり、例えばUSB,IEEE1394等の接続態様による接続を行なう。
【0061】
パーソナルコンピュータ172から転送されるデータは、例えば1パケット当たり64バイトのデータから構成され、12Mbit/secの転送レートでパーソナルコンピュータからポータブルデバイスに対して転送される。ポータブルデバイスに転送されるデータは、コンテンツおよびコンテンツの利用条件等の付帯情報から構成される。
【0062】
ポータブルデバイスが、パーソナルコンピュータからコンテンツと共にコンテンツの書き込み命令を受信した場合、ROM155からRAM154に読み出したメインプログラムを実行する制御手段としてのCPU153は、書き込み命令を受け取り、記憶媒体161、例えばフラッシュメモリ、HD,DVD,CDにコンテンツ書き込みを実行する。なお、図の例では、記憶媒体161としてフラッシュメモリ、HD,DVD,CDを示しているが、これらの記憶媒体は例であり、少なくとも1種類の記憶媒体が利用可能であればよい。
【0063】
記憶媒体161に対するデータの書き込み処理は、記憶媒体161に応じた記憶媒体コントローラまたはドライブ160を介して実行される。例えば記憶媒体161がフラッシュメモリであれば、フラッシュメモリコントローラを介して書き込みが実行され、記憶媒体161がハードディスク(HD)であれば、HDDを介して書き込みが実行される。なお、記憶媒体161、例えばフラッシュメモリ、HD,DVD,CDは、ポータブルデバイスに着脱可能なものとして構成可能である。
【0064】
ユーザによるコンテンツ再生命令が操作キーコントローラ162を介してCPU153に供給されると、制御手段としてのCPU153は、記憶媒体コントローラまたはドライブ160に記憶媒体161からのコンテンツ読み出し処理を実行させ、DSP159に転送させる。
【0065】
DSP(Digital Signal Processor)159は、記憶媒体161から転送されたコンテンツの再生処理を実行する。DSP159は、暗号化、復号化処理機能、イコライザ調整(音声信号の周波数帯域に対応した利得の調整)機能、圧縮伸長(エンコード/デコード)処理機能を有する。例えば、デジタルオーディオ信号を記憶媒体161に書き込むために高能率符号化し、また、メモリカード161から読み出されたデータを復号する。高能率符号化方法としては、例えばミニディスクで採用されているATRAC(Adaptive Transform Acoustic Coding)を改良したATRAC3等が使用される。
【0066】
ATRAC3では、サンプリング周波数=44.1kHzでサンプリングした量子化ビットが16ビットのオーディオデータを高能率符号化処理する。ATRAC3でオーディオデータを処理する時の最小のデータ単位がサウンドユニットSUである。1SUは、1024サンプル分(1024×16ビット×2チャンネル)を数百バイトに圧縮したものであり、時間にして約23m秒である。上述の高能率符号化処理により約1/10にオーディオデータが圧縮される。
【0067】
ディジタルアナログ変換回路163は、再生したコンテンツをアナログの音声信号に変換して、これを増幅回路164に供給する。増幅回路164は、音声信号を増幅して、出力部165を介して、ヘッドフォンあるいはスピーカに音声信号を供給する。
【0068】
入力I/F171からは、外部のソースからデジタル信号、またはアナログ信号を入力し、アナログ信号入力時にはA/D変換する。A/D変換は、入力される入力信号を例えばサンプリング周波数=44.1kHz、量子化ビット=16ビットのデジタルオーディオ信号へ変換する。また、外部のソースからデジタル信号は、SRC(サンプリングレートコンバータ)により、同様にサンプリング周波数が44.1kHz、量子化ビットが16ビットのデジタルオーディオ信号に変換される。
【0069】
また、CPU153は、LCDコントローラ166を制御して、表示部167に、再生モードの状態(例えば、リピート再生、イントロ再生など)、イコライザ調整(音声信号の周波数帯域に対応した利得の調整)、曲番号、演奏時間、再生、停止、早送り、早戻しなどの状態、音量および乾電池の残量等の情報を表示させる。
【0070】
なお、DSP159で実行するコンテンツの暗号化、復号処理には例えばDES(Data Encryption Standard)の暗号化アルゴリズムが適用される。コンテンツの暗号化は、コンテンツの著作権を保護するための処理であり、PCとポータブルデバイス間におけるコンテンツ転送処理、ポータブルデバイスと記憶媒体との間におけるコンテンツ転送処理において、コンテンツ暗号処理が実行される。
【0071】
例えばフラッシュメモリからなるEEPROM168には、暗号化、復号化処理に適用するキーを格納し、PCとポータブルデバイス間におけるコンテンツ転送処理、ポータブルデバイスと記憶媒体との間におけるコンテンツ転送処理における認証処理およびセッションキー共有処理、転送データ、あるいは格納データの暗号化、復号処理等において適用される。
[キー配信構成としてのツリー(木)構造について]
次に、正当なコンテンツ利用権を有するユーザデバイスにおいてのみコンテンツを利用可能とするための、ブロードキャストエンクリプション(Broadcast Encryption)方式の一態様であるツリー構成によるデバイスとキーの管理構成について説明する。
【0072】
図4の最下段に示すナンバ0〜15がコンテンツ利用を行なうユーザデバイスである。すなわち図4に示す階層ツリー(木)構造の各葉(リーフ:leaf)がそれぞれのデバイスに相当する。
【0073】
各デバイス0〜15は、製造時あるいは出荷時、あるいはその後において、図4に示す階層ツリー(木)構造における自分のリーフからルートに至るまでのノードに割り当てられた鍵(ノードキー)および各リーフのリーフキーからなるキーセット(デバイスノードキー(DNK:Device Node Key))をメモリに格納する。図4の最下段に示すK0000〜K1111が各デバイス0〜15にそれぞれ割り当てられたリーフキーであり、最上段のKR(ルートキー)から、最下段から2番目の節(ノード)に記載されたキー:KR〜K111をノードキーとする。
【0074】
図4に示すツリー構成において、例えばデバイス0はリーフキーK0000と、ノードキー:K000、K00、K0、KRを所有する。デバイス5はK0101、K010、K01、K0、KRを所有する。デバイス15は、K1111、K111、K11、K1、KRを所有する。なお、図4のツリーにはデバイスが0〜15の16個のみ記載され、ツリー構造も4段構成の均衡のとれた左右対称構成として示しているが、さらに多くのデバイスがツリー中に構成され、また、ツリーの各部において異なる段数構成を持つことが可能である。
【0075】
また、図4のツリー構造に含まれる各デバイスには、様々な記録媒体、例えば、デバイス埋め込み型あるいはデバイスに着脱自在に構成されたDVD、CD、MD、フラッシュメモリ等を使用する様々なタイプのデバイスが含まれている。さらに、様々なアプリケーションサービスが共存可能である。このような異なるデバイス、異なるアプリケーションの共存構成の上に図4に示すコンテンツあるいは鍵配布構成である階層ツリー構造が適用される。
【0076】
これらの様々なデバイス、アプリケーションが共存するシステムにおいて、例えば図4の点線で囲んだ部分、すなわちデバイス0,1,2,3を同一の記録媒体を用いる1つのグループとして設定する。例えば、この点線で囲んだグループ内に含まれるデバイスに対しては、まとめて、共通のコンテンツを暗号化してプロバイダから送付したり、各デバイス共通に使用するコンテンツキーを送付したり、あるいは各デバイスからプロバイダあるいは決済機関等にコンテンツ料金の支払データをやはり暗号化して出力するといった処理が実行される。コンテンツプロバイダ、あるいは決済処理機関等、各デバイスとのデータ送受信を行なう機関は、図4の点線で囲んだ部分、すなわちデバイス0,1,2,3を1つのグループとして一括してデータを送付する処理を実行する。このようなグループは、図4のツリー中に複数存在する。コンテンツプロバイダ、あるいは決済処理機関等、各デバイスとのデータ送受信を行なう機関は、メッセージデータ配信手段として機能する。
【0077】
なお、ノードキー、リーフキーは、ある1つの鍵管理センターによって統括して管理してもよいし、各グループに対する様々なデータ送受信を行なうプロバイダ、決済機関等のメッセージデータ配信手段によってグループごとに管理する構成としてもよい。これらのノードキー、リーフキーは例えばキーの漏洩等の場合に更新処理が実行され、この更新処理は鍵管理センター、プロバイダ、決済機関等が実行する。
【0078】
このツリー構造において、図4から明らかなように、1つのグループに含まれる3つのデバイス0,1,2,3はデバイスノードキー(DNK:Device Node Key)として共通のキーK00、K0、KRを含むデバイスノードキー(DNK:Device Node Key)を保有する。このノードキー共有構成を利用することにより、例えば共通のキーをデバイス0,1,2,3のみに提供することが可能となる。たとえば、共通に保有するノードキーK00は、デバイス0,1,2,3に共通する保有キーとなる。また、新たなキーKnewをノードキーK00で暗号化した値Enc(K00,Knew)を、ネットワークを介してあるいは記録媒体に格納してデバイス0,1,2,3に配布すれば、デバイス0,1,2,3のみが、それぞれのデバイスにおいて保有する共有ノードキーK00を用いて暗号Enc(K00,Knew)を解いて新たなキーKnewを得ることが可能となる。なお、Enc(Ka,Kb)はKbをKaによって暗号化したデータであることを示す。
【0079】
また、ある時点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は、鍵Kaaaの世代(Generation):tの更新キーであることを示す。
【0080】
更新キーの配布処理ついて説明する。キーの更新は、例えば、図5(A)に示す有効化キーブロック(EKB:Enabling Key Block)と呼ばれるブロックデータによって構成されるテーブルをたとえばネットワーク、あるいは記録媒体に格納してデバイス0,1,2に供給することによって実行される。なお、有効化キーブロック(EKB)は、図4に示すようなツリー構造を構成する各リーフに対応するデバイスに新たに更新されたキーを配布するための暗号化キーによって構成される。有効化キーブロック(EKB)は、キー更新ブロック(KRB:Key Renewal Block)と呼ばれることもある。
【0081】
図5(A)に示す有効化キーブロック(EKB)には、ノードキーの更新の必要なデバイスのみが更新可能なデータ構成を持つブロックデータとして構成される。図5の例は、図4に示すツリー構造中のデバイス0,1,2において、世代tの更新ノードキーを配布することを目的として形成されたブロックデータである。図4から明らかなように、デバイス0,デバイス1は、更新ノードキーとしてK(t)00、K(t)0、K(t)Rが必要であり、デバイス2は、更新ノードキーとしてK(t)001、K(t)00、K(t)0、K(t)Rが必要である。
【0082】
図5(A)のEKBに示されるようにEKBには複数の暗号化キーが含まれる。最下段の暗号化キーは、Enc(K0010,K(t)001)である。これはデバイス2の持つリーフキーK0010によって暗号化された更新ノードキーK(t)001であり、デバイス2は、自身の持つリーフキーによってこの暗号化キーを復号し、K(t)001を得ることができる。また、復号により得たK(t)001を用いて、図5(A)の下から2段目の暗号化キーEnc(K(t)001,K(t)00)を復号可能となり、更新ノードキーK(t)00を得ることができる。以下順次、図5(A)の上から2段目の暗号化キーEnc(K(t)00,K(t)0)を復号し、更新ノードキーK(t)0、図5(A)の上から1段目の暗号化キーEnc(K(t)0,K(t)R)を復号しK(t)Rを得る。一方、デバイスK0000.K0001は、ノードキーK000は更新する対象に含まれておらず、更新ノードキーとして必要なのは、K(t)00、K(t)0、K(t)Rである。デバイスK0000.K0001は、図5(A)の上から3段目の暗号化キーEnc(K000,K(t)00)を復号しK(t)00、を取得し、以下、図5(A)の上から2段目の暗号化キーEnc(K(t)00,K(t)0)を復号し、更新ノードキーK(t)0、図5(A)の上から1段目の暗号化キーEnc(K(t)0,K(t)R)を復号しK(t)Rを得る。このようにして、デバイス0,1,2は更新した鍵K(t)Rを得ることができる。なお、図5(A)のインデックスは、復号キーとして使用するノードキー、リーフキーの絶対番地を示す。
【0083】
図4に示すツリー構造の上位段のノードキー:K(t)0,K(t)Rの更新が不要であり、ノードキーK00のみの更新処理が必要である場合には、図5(B)の有効化キーブロック(EKB)を用いることで、更新ノードキーK(t)00をデバイス0,1,2に配布することができる。
【0084】
図5(B)に示すEKBは、例えば特定のグループにおいて共有する新たなコンテンツキーを配布する場合に利用可能である。具体例として、図4に点線で示すグループ内のデバイス0,1,2,3がある記録媒体を用いており、新たな共通のコンテンツキーK(t)conが必要であるとする。このとき、デバイス0,1,2,3の共通のノードキーK00を更新したK(t)00を用いて新たな共通の更新コンテンツキー:K(t)conを暗号化したデータEnc(K(t),K(t)con)を図5(B)に示すEKBとともに配布する。この配布により、デバイス4など、その他のグループの機器においては復号されないデータとしての配布が可能となる。
【0085】
すなわち、デバイス0,1,2はEKBを処理して得たK(t)00を用いて上記暗号文を復号すれば、t時点でのキー、例えばコンテンツの暗号化復号化に適用するコンテンツキーK(t)conを得ることが可能になる。
【0086】
[EKBを使用したキーの配布]
図6に、t時点でのキー、例えばコンテンツの暗号化復号化に適用するコンテンツキーK(t)conを得る処理例として、K(t)00を用いて新たな共通のコンテンツキーK(t)conを暗号化したデータEnc(K(t)00,K(t)con)と図5(B)に示すEKBとを記録媒体を介して受領したデバイス0の処理例を示す。すなわちEKBによる暗号化メッセージデータをコンテンツキーK(t)conとした例である。
【0087】
図6に示すように、デバイス0は、記録媒体に格納されている世代:t時点のEKBと自分があらかじめ格納しているノードキーK000を用いて上述したと同様のEKB処理により、ノードキーK(t)00を生成する。さらに、復号した更新ノードキーK(t)00を用いて更新コンテンツキーK(t)conを復号して、後にそれを使用するために自分だけが持つリーフキーK0000で暗号化して格納する。
【0088】
[EKBのフォーマット]
図7に有効化キーブロック(EKB)のフォーマット例を示す。バージョン201は、有効化キーブロック(EKB)のバージョンを示す識別子である。なお、バージョンは最新のEKBを識別する機能とコンテンツとの対応関係を示す機能を持つ。デプスは、有効化キーブロック(EKB)の配布先のデバイスに対する階層ツリーの階層数を示す。データポインタ203は、有効化キーブロック(EKB)中のデータ部の位置を示すポインタであり、タグポインタ204はタグ部の位置、署名ポインタ205は署名の位置を示すポインタである。
【0089】
データ部206は、例えば更新するノードキーを暗号化したデータを格納する。例えば図6に示すような更新されたノードキーに関する各暗号化キー等を格納する。
【0090】
タグ部207は、データ部に格納された暗号化されたノードキー、リーフキーの位置関係を示すタグである。このタグの付与ルールを図8を用いて説明する。図8では、データとして先に図5(A)で説明した有効化キーブロック(EKB)を送付する例を示している。この時のデータは、図8の表(b)に示すようになる。このときの暗号化キーに含まれるトップノードのアドレスをトップノードアドレスとする。この場合は、ルートキーの更新キーK(t)Rが含まれているので、トップノードアドレスはKRとなる。このとき、例えば最上段のデータEnc(K(t)0,K(t)R)は、図8の(a)に示す階層ツリーに示す位置にある。ここで、次のデータは、Enc(K(t)00,K(t)0)であり、ツリー上では前のデータの左下の位置にある。データがある場合は、タグが0、ない場合は1が設定される。タグは{左(L)タグ,右(R)タグ}として設定される。最上段のデータEnc(K(t)0,K(t)R)の左にはデータがあるので、Lタグ=0、右にはデータがないので、Rタグ=1となる。以下、すべてのデータにタグが設定され、図8(c)に示すデータ列、およびタグ列が構成される。
【0091】
タグは、データEnc(Kxxx,Kyyy)がツリー構造のどこに位置しているのかを示すために設定されるものである。データ部に格納されるキーデータEnc(Kxxx,Kyyy)...は、単純に暗号化されたキーの羅列データに過ぎないので、上述したタグによってデータとして格納された暗号化キーのツリー上の位置を判別可能としたものである。上述したタグを用いずに、先の図5で説明した構成のように暗号化データに対応させたノード・インデックスを用いて、例えば、
0:Enc(K(t)0,K(t)root)
00:Enc(K(t)00,K(t)0)
000:Enc(K((t)000,K(T)00)
...のようなデータ構成とすることも可能であるが、このようなインデックスを用いた構成とすると冗長なデータとなりデータ量が増大し、ネットワークを介する配信等においては好ましくない。これに対し、上述したタグをキー位置を示す索引データとして用いることにより、少ないデータ量でキー位置の判別が可能となる。
【0092】
図7に戻って、EKBフォーマットについてさらに説明する。署名(Signature)208は、有効化キーブロック(EKB)を発行した例えば鍵管理センター、コンテンツプロバイダ、サービスプロバイダ、あるいは決済機関等が実行する電子署名である。EKBを受領したデバイスは署名検証によって正当な有効化キーブロック(EKB)発行者が発行した有効化キーブロック(EKB)であることを確認する。
【0093】
[ツリーのカテゴリ分類]
ノードキー等を定義している階層ツリー構造を各デバイスのカテゴリ毎に分類して効率的なキー更新処理、暗号化キー配信、データ配信を実行する構成について、以下説明する。
【0094】
図9に階層ツリー構造のカテゴリの分類の一例を示す。図9において、階層ツリー構造の最上段には、ルートキーKroot301が設定され、以下の中間段にはノードキー302が設定され、最下段には、リーフキー303が設定される。各デバイスは個々のリーフキーと、リーフキーからルートキーに至る一連のノードキー、ルートキーを保有する。
【0095】
ここで、一例として最上段から第M段目のあるノードをカテゴリノード304として設定する。すなわち第M段目のノードの各々を特定カテゴリのデバイス設定ノードとする。第M段の1つのノードを頂点として以下、M+1段以下のノード、リーフは、そのカテゴリに含まれるデバイスに関するノードおよびリーフとする。
【0096】
例えば図9の第M段目の1つのノード305にはカテゴリ[メモリステッイク(商標)]が設定され、このノード以下に連なるノード、リーフはメモリステッイクを使用した様々なデバイスを含むカテゴリ専用のノードまたはリーフとして設定される。すなわち、ノード305以下を、メモリスティックのカテゴリに定義されるデバイスの関連ノード、およびリーフの集合として定義する。
【0097】
さらに、M段から数段分下位の段をサブカテゴリノード306として設定することができる。例えば図に示すようにカテゴリ[メモリスティック]ノード305の2段下のノードに、メモリスティックを使用したデバイスのカテゴリに含まれるサブカテゴリノードとして、[再生専用器]のノードを設定する。さらに、サブカテゴリノードである再生専用器のノード306以下に、再生専用器のカテゴリに含まれる音楽再生機能付き電話のノード307が設定され、さらにその下位に、音楽再生機能付き電話のカテゴリに含まれる[PHS]ノード308と[携帯電話]ノード309を設定することができる。
【0098】
さらに、カテゴリ、サブカテゴリは、デバイスの種類のみならず、例えばあるメーカー、コンテンツプロバイダ、決済機関等が独自に管理するノード、すなわち処理単位、管轄単位、あるいは提供サービス単位等、任意の単位(これらを総称して以下、エンティティと呼ぶ)で設定することが可能である。例えば1つのカテゴリノードをゲーム機器メーカーの販売するゲーム機器XYZ専用の頂点ノードとして設定すれば、メーカーの販売するゲーム機器XYZにその頂点ノード以下の下段のノードキー、リーフキーを格納して販売することが可能となり、その後、暗号化コンテンツの配信、あるいは各種キーの配信、更新処理を、その頂点ノードキー以下のノードキー、リーフキーによって構成される有効化キーブロック(EKB)を生成して配信し、頂点ノード以下のデバイスに対してのみ利用可能なデータが配信可能となる。
【0099】
このように、1つのノードを頂点として、以下のノードをその頂点ノードに定義されたカテゴリ、あるいはサブカテゴリの関連ノードとして設定する構成とすることにより、カテゴリ段、あるいはサブカテゴリ段の1つの頂点ノードを管理するメーカー、コンテンツプロバイダ等がそのノードを頂点とする有効化キーブロック(EKB)を独自に生成して、頂点ノード以下に属するデバイスに配信する構成が可能となり、頂点ノードに属さない他のカテゴリのノードに属するデバイスには全く影響を及ぼさずにキー更新を実行することができる。
【0100】
本発明のシステムにおいては、図10に示されるように、ツリー構成のシステムで、デバイスのキーとコンテンツのキーの管理が行われる。図10の例では、8+24+32段のノードがツリー構造とされ、ルートノードから下位の8段までの各ノードにカテゴリが対応される。ここにおけるカテゴリとは、例えばメモリスティックなどの半導体メモリを使用する機器のカテゴリ、デジタル放送を受信する機器のカテゴリといったカテゴリを意味する。そして、このカテゴリノードのうちの1つのノードに、ライセンスを管理するシステムとして本システム(Tシステムと称する)が対応する。
【0101】
すなわち、このTシステムのノードよりさらに下の階層の24段のノードに対応するキーにより、サービスプロバイダ、あるいはサービスプロバイダが提供するサービスが対応される。この例の場合、これにより、224(約16メガ)のサービスプロバイダあるいはサービスを規定することができる。さらに、最も下側の32段の階層により、232(約4ギガ)のユーザ(あるいはユーザデバイス)を規定することができる。最下段の32段のノードからTシステムのノードまでのパス上の各ノードに対応するキーが、DNK(Device Node Key)を構成し、最下段のリーフに対応するIDがリーフIDとされる。
【0102】
例えば、コンテンツを暗号化したコンテンツキーは更新されたルートキーKR’によって暗号化され、上位の階層の更新ノードキーは、その直近の下位の階層の更新ノードキーを用いて暗号化され、EKB内に配置される。EKBにおける末端から1つ上の段の更新ノードキーはEKBの末端のノードキーあるいはリーフキーによって暗号化され、EKB内に配置される。
【0103】
ユーザデバイスは、サービスデータに記述されているDNKのいずれかのキーを用いて、コンテンツデータとともに配布されるEKB内に記述されている直近の上位の階層の更新ノードキーを復号し、復号して得たキーを用いて、EKB内に記述されているさらにその上の階層の更新ノードキーを復号する。以上の処理を順次行うことで、ユーザデバイスは、更新ルートキーKR’を得ることができる。
【0104】
[複数のEKBを適用したコンテンツ処理]
上述したように、ツリーのカテゴリ分類により、1つのノードを頂点として、以下のノードをその頂点ノードに定義されたカテゴリ、あるいはサブカテゴリの関連ノードとして設定した構成が可能となり、カテゴリ段、あるいはサブカテゴリ段の1つの頂点ノードを管理するメーカー、サービスプロバイダ等がそのノードを頂点とする有効化キーブロック(EKB)を独自に生成して、頂点ノード以下に属するデバイスに配信する構成が実現される。
【0105】
以下、上述のツリー構成のデバイス管理によるEKB配信システムを適用して、複数のカテゴリに基づくEKB配信構成を採用したコンテンツ配信および利用形態について説明する。
【0106】
図11を参照して2つのカテゴリについて説明する。図11に示すように、ルートノード350の下段にTシステムノード351を設定し、その下段にTサービスノード352、およびTハードノード353を設定する。Tハードノード353を頂点としたツリーは、ユーザデバイス機器自体をリーフ355として設定し、機器を対象として発行するハード対応EKB[EKB(H)]を配信するカテゴリツリーである。一方、Tサービスノード352を頂点としたツリーは、ユーザデバイス機器に提供するサービスに対応して発行するサービス対応EKB[EKB(S)]を配信するカテゴリツリーである。
【0107】
ハード対応EKB[EKB(H)]、サービス対応EKB[EKB(S)]とも、それぞれ正当な権限を持つデバイスに対して与えられるDNK(Device Node Key)すなわち、リーフからTシステムのノードまでのパス上の各ノードに対応するキーを有することで、各EKBの復号が可能となる。
【0108】
図12を参照して、ハード対応EKB[EKB(H)]、サービス対応EKB[EKB(S)]を適用したコンテンツの復号処理に基づくコンテンツ利用処理シーケンスを説明する。
【0109】
図12に示すサービスデータ401、暗号化コンテンツファイル402、および利用権情報403は、図1に示すサービスデータ53、暗号化コンテンツ51、利用権情報52に対応し、ユーザデバイスがサービスプロバイダを介して受領するデータである。サービスデータ401は、リーフ識別子としてのリーフID、適用するEKBのバージョン、さらに、サービス対応EKB[EKB(S)]の復号に必要なサービス対応デバイスノードキー(SDNK)を、ハード対応カテゴリツリーに対応して設定されるルートキーKroot’によって暗号化したデータE(Kroot’,SDNK)を格納している。
【0110】
暗号化コンテンツファイル402は、サービス対応のカテゴリツリーに対応して設定されるルートキーKrootを格納したサービス対応EKB[EKB(S)]、ルートキーKrootでコンテンツID(CID)と、コンテンツ暗号処理および復号処理に適用するコンテンツキー(Kc)とを暗号化したデータE(Kroot,CID+Kc)、および、コンテンツ(Content)をコンテンツキーKcで暗号化したデータE(Kc,Contet)を含むファイルである。
【0111】
また、利用権情報403は、リーフIDと、コンテンツの利用条件情報を格納したデータである。コンテンツの利用条件情報には、コンテンツに対応して設定される利用期間、利用回数、コピー制限等の様々な利用条件が含まれる。利用権情報403を受領したユーザデバイスは、利用権情報をコンテンツに対応するセキュリティ情報として格納するか、あるいは、コンテンツの索引データとしてのAVインデックスファイル内に格納する。
【0112】
例えば、PC等の大容量の記憶手段を有し、プロセッサ等の処理能力が高いユーザデバイスにおいては、利用権情報をコンテンツに対応するセキュリティ情報として格納することが可能であり、すべての利用条件情報を格納して、コンテンツ利用の際にすべての利用条件情報を参照した処理を行なうことが好ましい。一方、大容量の記憶手段を持たず、またプロセッサ等の処理能力が低いポータブルデバイス(PD)等のユーザデバイスにおいては、選択された情報からなる利用権情報403をコンテンツの索引データとしてのAVインデックスファイル内に格納して、コンテンツ利用の際にAVインデックスファイル内の利用条件情報を参照した処理を行なう等の処理が可能である。
【0113】
AVインデックスファイルの構成例を図13に示す。図13に示すAVインデックスファイル構成は、Mobile Quick TimeのAVインデックスファイルに利用条件情報を追加した構成を持つ。
【0114】
AVインデックスファイル421は、ヘッダ情報422、インデックスファイル情報423によって構成され、インデックスファイル情報423には、それぞれのコンテンツに対応する情報としてプロパティ、タイトル、サムネイル、イントロ(音楽コンテンツの場合)等が含まれ、さらに、コンテンツに対応する利用条件情報425を含む構成を持つ。実コンテンツとしてのAVファイル424はそれぞれのインデックス情報に関連付けられて格納される。
【0115】
利用条件情報の構成例を図14に示す。利用条件情報は、コンテンツを利用するユーザ、およびコンテンツ単位で設定され、それぞれを識別可能なリーフID451,コンテンツID452を含み、コンテンツ利用期間情報、利用(再生)回数情報、コピー制限情報、他の機器への移動、他の機器からの入力等に関する様々な利用条件を格納した利用条件フールド453、さらに、コンテンツ利用に応じた利用状態を記録するフィールドとしての利用ステータスフィールド454、さらにこれらの各情報の改竄防止のための検証値としてのメッセージ認証符号(MAC:Message authentication Code)455を含む構成を持つ。
【0116】
メッセージ認証符号(MAC:Message authentication Code)455は、コンテンツ利用条件情報を含むデータに基づいて、データの改竄検証用のデータとして生成されるものである。DES暗号処理構成を用いたMAC値生成例を図15に示す。図15の構成に示すように対象となるメッセージを8バイト単位に分割し、(以下、分割されたメッセージをM1、M2、・・・、MNとする)、まず、初期値(Initial Value(以下、IVとする))とM1を排他的論理和する(その結果をI1とする)。次に、I1をDES暗号化部に入れ、鍵(以下、K1とする)を用いて暗号化する(出力をE1とする)。続けて、E1およびM2を排他的論理和し、その出力I2をDES暗号化部へ入れ、鍵K1を用いて暗号化する(出力E2)。以下、これを繰り返し、全てのメッセージに対して暗号化処理を施す。最後に出てきたENがメッセージ認証符号(MAC(Message Authentication Code))となる。
【0117】
MAC値は、その生成元データが変更されると、異なる値になり、検証対象のデータ(メッセージ)に基づいて生成したMACと、記録されているMACとの比較を行い、一致していれば、検証対象のデータ(メッセージ)は変更、改竄がなされていないことが証明される。
【0118】
図12に戻り、ハード対応EKB[EKB(H)]、サービス対応EKB[EKB(S)]を適用したコンテンツの復号処理に基づくコンテンツ利用処理シーケンスを説明する。
【0119】
ユーザデバイスは、サービスデータ401、暗号化コンテンツファイル402、利用権情報403を受領している。利用権情報403は、前述したように例えばPC等においてはコンテンツに対応するセキュリティ情報として保持され、ポータブルデバイス(PD)においては、格納コンテンツに対応して設定されるAVインデックスファイル421に格納される。PCからPDに対するコンテンツ移動、コピー処理を実行する場合には、PC等においては保持されるコンテンツに対応するセキュリティ情報に格納された利用権情報は、PDにおいて設定されるAVインデックスファイル421に適応するようにコンバートされる。例えば、コンテンツ再生時間、再生回数、ムーブ条件、コピー条件等に限定した利用条件のみを格納するなど、格納メディアに応じてコンバート態様を変更する。
【0120】
ユーザデバイスは、さらに、ハード対応のEKB(H)411と、ハード対応のEKB(H)の処理(復号)に適用するハード対応のデバイスノードキー(HDNK)412を保有している。なお、ハード対応のEKB(H)411は、復号により、ハード対応カテゴリツリーに対応して設定されるルートキーKroot’を取り出すことが可能である。
【0121】
図12に示すステップS11において、ハード対応のデバイスノードキー(HDNK)412を適用して、ハード対応のEKB(H)411の復号処理を実行し、EKB(H)411から、ハード対応カテゴリツリーに対応して設定されるルートキーKroot’を取得する。DNKを適用したEKBの処理は、先に図6を参照して説明した手法に従った処理となる。
【0122】
次に、ステップS12において、EKB(H)から取り出したルートキーKroot’を用いて、サービスデータ401内の暗号化データE(Kroot’,SDNK)の復号処理を実行し、サービス対応EKB[EKB(S)]の処理(復号)に適用するデバイスノードキー(SDNK)を取得する。
【0123】
次に、ステップS13において、サービスデータから取り出したデバイスノードキー(SDNK)を用いて、暗号化コンテンツファイル402内に格納されたサービス対応EKB[EKB(S)]の処理(復号)を実行し、サービス対応EKB[EKB(S)]内に格納されたサービス対応カテゴリツリーに対応して設定されるルートキーKrootを取得する。
【0124】
次に、ステップS14において、サービス対応EKB[EKB(S)]から取り出したルートキーKrootを用いて、暗号化コンテンツファイル402内に格納された暗号化データE(Kroot,CID+Kc)の復号処理を実行し、コンテンツID(CID)と、コンテンツキー(Kc)を取得する。
【0125】
次に、ステップS15において、暗号化コンテンツファイル402から取り出したコンテンツID(CID)と、AVインデックスファイル421内の利用条件情報内に格納されたコンテンツIDのマッチング(照合)処理を実行する。マッチング処理により、コンテンツの利用が可能であることが確認されると、ステップS16において、暗号化コンテンツファイル402から取り出したコンテンツキー(Kc)を適用して、暗号化コンテンツファイル402に格納された暗号化コンテンツE(Kc,Content)を復号してコンテンツの再生を行なう。
【0126】
上述したように、コンテンツ利用機器としてのハードウェアに対応して設定されたカテゴリツリーに対応するEKBとしてのハード対応EKB[EKB(H)]と、コンテンツ利用サービスに対応して設定されたカテゴリツリーに対応するEKBとしてのサービス対応EKB[EKB(S)]をそれぞれ個別にユーザに対して提供し、それぞれのEKBに対する正当なDNKを有するユーザのみがサービスの利用を行なうことが可能となる。
【0127】
サービス対応EKB[EKB(S)]を復号するためのDNK、すなわちSDNKは、コンテンツに対応したサービスデータ401として提供可能であり、またSDNKを正当なハードウェア対応のDNK、すなわちHDNKを有する機器のみが取得可能なハード対応カテゴリツリーに対応して設定されるルートキーKroot’を適用して暗号化した構成としたので、正当なHDNKを有するユーザデバイスのみが、SDNKを取得でき、サービスが利用となる。
【0128】
また、コンテンツ利用において、暗号化コンテンツファイル402から取得されるコンテンツ識別子(CID)と、AVインデックスファイル421の利用条件情報から取得されるCIDとのマッチング処理を実行する構成としたので、利用権情報403を取得して、AVインデックスファイルに利用条件情報を格納していることがコンテンツ再生プロセスの必須用件とすることが可能となり、利用条件に従ったコンテンツ利用が実現される。
【0129】
[PD,PC間におけるコンテンツコピーを伴う利用]
次に、PC等に格納した暗号化コンテンツファイルをポータブルデバイス内のメディア(例えばディスク、メモリ)に移動またはコピーし、さらに生成したサブキーKsubをコンテンツに対応して生成して、サブキーKsubを適用したコンテンツの復号を行なってポータブルデバイスにおいて、コンテンツ利用を行なう構成について説明する。
【0130】
(チェックアウト処理)
図16を参照して、PC501から、ポータブルデバイス502にコンンテンツを出力する処理において、ポータブルデバイス502に格納するデータの概要を説明する。
【0131】
暗号化コンテンツファイル511は、サービス対応のカテゴリツリーに対応して設定されるルートキーKrootを格納したサービス対応EKB[EKB(S)]、ルートキーKrootでコンテンツID(CID)と、コンテンツ暗号処理および復号処理に適用するコンテンツキー(Kc)の生成用キーとしてのメインキーKcmとを暗号化したデータE(Kroot,CID+Kcm)、および、コンテンツ(Content)をコンテンツキーKcで暗号化したデータE(Kc,Contet)を含むファイルである。
【0132】
AVインデックスファイル512は、先に図13、図14を参照して説明した構成を有し、モバイル・クイック・タイム(Mobile Quick Time)のAVインデックスファイルに利用条件情報を追加した構成を持つ。
【0133】
なお、ポータブルデバイス(PD)に格納する利用条件情報は、PDの利用するメディアのデータ容量を考慮して、最小限のデータにコンバートして格納してもよい。例えば、コンテンツ再生時間、再生回数、ムーブ条件、コピー条件等に限定した利用条件のみを格納するなど、格納メディアに応じて変更した態様とする。
【0134】
サービスデータ513は、先に、図12を参照して説明したように、リーフ識別子としてのリーフID、適用するEKBのバージョン、さらに、サービス対応EKB[EKB(S)]の復号に必要なサービス対応デバイスノードキー(SDNK)を、ハード対応カテゴリツリーに対応して設定されるルートキーKroot’によって暗号化したデータE(Kroot’,SDNK)を格納している。
【0135】
シーケンスページ514は、先に図14を参照して説明したコンテンツ対応の利用条件情報の改竄検証値としてのメッセージ認証符号(MAC:Message authentication Code)としてのMAC#nと、コンテンツキーKcの生成に適用するサブキーKsubnをコンテンツ0−nに対してそれぞれ格納したテーブルデータである。
【0136】
なお、コンテンツの暗号復号処理に適用するコンテンツキーKcと、暗号化コンテンツファイル511に格納するメインキーKcmと、シーケンスページ514に格納するサブキーKsubの関係は、
Kc=Kcm XOR Ksub
である。すなわち、メインキーKcmと、サブキーKsubとの排他論理輪演算によりコンテンツキーKcが算出される関係にある。
【0137】
暗号化コンテンツファイル511、AVインデックスファイル512、サービスデータ513は、ポータブルデバイス502のメディアの通常データ格納領域に書き込まれ、シーケンスページ514は、特定のアクセス権限を持つことの確認がなされたことを条件としてデータの読み書きが可能となるリードインエリア521に書き込まれる。
【0138】
図17を参照して、PCからポータブルデバイス(PD)のメディアに対するコンテンツ出力、すなわち、チェックアウト処理シーケンスについて説明する。
【0139】
各ステップについて説明する。ステップS101では、PDのメディアにコンテンツを格納するスロットがあるか確認し、無い場合は、コンテンツの格納が不可能となり、エラー終了となる。空きスロットがあることが確認されると、ステップS102において、チェックアウトする暗号化コンテンツファイルに対応する利用条件情報がPDに格納されているか否かが判定される。利用条件情報がない場合は、コンテンツの利用は不可であり、エラー終了となる。利用条件情報がある場合は、ステップS103において、暗号化コンテンツファイルに対応するサービスデータがPDに格納されているか否かが判定され、格納されていない場合は、PCからPDのメディアに対してサービスデータをコピーする。
【0140】
次に、ステップS105において、暗号化コンテンツファイル511(図15参照)をPDのメディアに対してコピーする。次に、ステップS106において、サービス対応のEKB、すなわちEKB(S)を用いて、PCとPD間でKrootの共有化処理を行なう。ここでは、最新バージョンのEKB(S)のKrootをPCとPD間で共有する。
【0141】
次に、PC側において、チェックアウト対象のコンテンツに対応する利用条件情報に基づくMAC算出を実行する。MAC算出は、先に図15を参照して説明した算出処理に従う。
【0142】
ステップS108において、PDのメディアのAVインデックスファイル(図13参照)書き込み領域(トラック)を作成し、ステップS109において、PDのメディアに対して利用条件情報(図14参照)を含むAVインデックスファイル(図13参照)を書き込む。
【0143】
次にステップS110において、先にPC、PD間で共有したKrootを適用してセッションキーの共有化処理を行なう。セッションキーの共有化処理は、例えば、ISO/IEC 9798-4 に代表されるMACを用いた処理によって実行可能である。図18を参照して処理シーケンスを説明する。
【0144】
図18において、コンテンツの送信機器と受信機器であるパーソナルコンピュータ(PC)、ポータブルデバイス(PD)の各々のいずれかに対応するPC,Bは、共通の鍵Krootを持つ。なお、図18における記号「||」は連結を表している。
【0145】
次にPCは、乱数Ra、Saを生成し、Ra,SaとともにMAC(Kroot,Ra||Rb||Sa)をPDに送る。MAC(Kroot,Ra||Rb||Sa)は、鍵としてKrootを、データとしてRa||Rb||Saを入力することを表す。
【0146】
PDは、受信したデータを用いてMAC(Kroot,Ra||Rb||Sa)を計算し、これが受信したものと一致するかを検査する。一致すれば通信相手であるPCが正当であると認め、処理を続けるが、一致しなければ不正なものと判断して処理を中止する。
【0147】
次にPDは乱数Sbを生成し、これとMAC(Kroot,Rb||Ra||Sb)をPCに送る。PCも受信したデータを用いて自分でMAC(Kroot,Rb||Ra||Sb)を計算し、受信したものと一致するかを確認する。一致すれば通信相手であるPDが正当であると認め、処理を続けるが、一致しなければ不正なものと判断して処理を中止する。最後に、双方がMAC(Kroot,Sa||Sb)を計算し、これをそのセッションにおけるセッションキーとして使用する。
【0148】
上記のようにすることにより、コンテンツ送信機器と受信機器としてのパーソナルコンピュータおよびポータブルデバイスは、互いの正当性を検査することができ、またセッションキーを安全に共有することができる。
【0149】
図17のフローに戻り、説明を続ける。ステップS110において、Krootに基づいてセッションキーKsesの生成が終了すると、ステップS111において、PCから、コンテンツに対応する利用条件情報のMAC、サブキーKsub、スロットNo.をセッションキーKsesで暗号化してPDに送信する。
【0150】
ステップS112において、PDは、PCから受信したMACと、ステップS107において計算した利用条件情報のMACとが一致するか否かを判定する。不一致であれば、利用条件情報は改竄されていることになり、正当なコンテンツ利用が保証されないことになり、エラー終了する。
【0151】
PCから受信したMACと、ステップS107において計算した利用条件情報のMACとが一致した場合には、ステップS113において、PDのメディア(ディスクョのリードインエリアにMACと、サブキーKsubとを対応付けたテーブルデータをシーケンスページ(図12参照)として書き込む。
【0152】
(コンテンツ再生処理)
次に、ポータブルデバイス(PD)において、サブキーKsubを適用してコンテンツキー:Kcを生成して、暗号化コンテンツの復号を実行してコンテンツを利用(再生)する処理について、図19、図20を参照して説明する。
【0153】
ポータブルデバイス(PD)は、サービスデータ601、暗号化コンテンツファイル602、AVインデックスファイル621、シーケンスページ622を有している。さらに、ポータブルデバイス(PD)は、ハード対応のEKB(H)611を保有しており、ハード対応のEKB(H)の処理(復号)に適用するハード対応のデバイスノードキー(HDNK)612を保有している。なお、ハード対応のEKB(H)611は、復号により、ハード対応カテゴリツリーに対応して設定されるルートキーKroot’を取り出すことが可能である。
【0154】
サービスデータ601には、リーフ識別子としてのリーフID、適用するEKBのバージョン、さらに、サービス対応EKB[EKB(S)]の復号に必要なサービス対応デバイスノードキー(SDNK)を、ハード対応カテゴリツリーに対応して設定されるルートキーKroot’によって暗号化したデータE(Kroot’,SDNK)を格納している。
【0155】
暗号化コンテンツファイル602は、サービス対応のカテゴリツリーに対応して設定されるルートキーKrootを格納したサービス対応EKB[EKB(S)]、ルートキーKrootでコンテンツID(CID)と、コンテンツ暗号処理および復号処理に適用するコンテンツキー(Kc)の生成に適用するメインキーKcmとを暗号化したデータE(Kroot,CID+Kcm)、および、コンテンツ(Content)をコンテンツキーKcで暗号化したデータE(Kc,Contet)を含むファイルである。
【0156】
AVインデックスファイル621は、先に図13を参照して説明したように、モバイルクイックタイム(Mobile Quick Time)のAVインデックスファイルに利用条件情報を追加した構成を持つ。
【0157】
シーケンスページ622は、先に図14を参照して説明したコンテンツ対応の利用条件情報の改竄検証値としてのメッセージ認証符号(MAC:Message authentication Code)としてのMAC#nと、コンテンツキーKcの生成に適用するサブキーKsubnをコンテンツ0−nに対してそれぞれ格納したテーブルデータである。
【0158】
なお、コンテンツの暗号復号処理に適用するコンテンツキーKcと、暗号化コンテンツファイル602に格納されたメインキーKcmと、シーケンスページ621に格納されたサブキーKsubの関係は、
Kc=Kcm XOR Ksub
である。すなわち、メインキーKcmと、サブキーKsubとの排他論理輪演算によりコンテンツキーKcが算出される関係にある。
【0159】
図19に示すステップS21において、ポータブルデバイス(PD)は、ハード対応のデバイスノードキー(HDNK)612を適用して、ハード対応のEKB(H)611の復号処理を実行し、EKB(H)611から、ハード対応カテゴリツリーに対応して設定されるルートキーKroot’を取得する。DNKを適用したEKBの処理は、先に図6を参照して説明した手法に従ったものである。
【0160】
次に、ステップS22において、EKB(H)から取り出したルートキーKroot’を用いて、サービスデータ601内の暗号化データE(Kroot’,SDNK)の復号処理を実行し、サービス対応EKB[EKB(S)]の処理(復号)に適用するデバイスノードキー(SDNK)を取得する。
【0161】
次に、ステップS23において、サービスデータから取り出したデバイスノードキー(SDNK)を用いて、暗号化コンテンツファイル602内に格納されたサービス対応EKB[EKB(S)]の処理(復号)を実行し、サービス対応EKB[EKB(S)]内に格納されたサービス対応カテゴリツリーに対応して設定されるルートキーKrootを取得する。
【0162】
次に、ステップS24において、サービス対応EKB[EKB(S)]から取り出したルートキーKrootを用いて、暗号化コンテンツファイル602内に格納された暗号化データE(Kroot,CID+Kcm)の復号処理を実行し、コンテンツID(CID)と、メインキー(Kcm)を取得する。
【0163】
次に、ステップS25において、暗号化コンテンツファイル602から取り出したコンテンツID(CID)と、AVインデックスファイル621内の利用条件情報内に格納されたコンテンツIDのマッチング(照合)処理、すなわち、コンテンツに対応する利用条件情報が存在し、かつ利用条件情報において利用が許可されているか否かの判定処理を実行する。マッチング処理により、コンテンツの利用が可能であることが確認されると、ステップS26において、暗号化コンテンツファイル602から取り出したメインキー(Kcm)と、リードインエリアに記録されたシーケンスページ622から取得したサブキーKsubとの排他論理和演算を実行し、コンテンツキーKcを生成する。
【0164】
次に、ステップS27において、コンテンツキーKcを適用して、AVインデックスファイル621の利用条件情報のMACを算出し、リードインエリアに記録されたシーケンスページ622に記録されたMACとの照合処理によるMAC検証を実行する。照合が不成立の場合は、エラーとして、次ステップの処理は停止される。
【0165】
MACの照合が成立したことを条件として、ステップS28において、コンテンツキーKcを適用して、暗号化コンテンツファイル602に格納された暗号化コンテンツE(Kc,Content)を復号してコンテンツの再生を行なう。
【0166】
上述したように、ポータブルデバイスでのコンテンツ利用においては、コンテンツに対応するサブキーKsubを設定して、利用条件情報に基づくMACとともにシーケンスページを構成して格納し、サブキーKsubと、メインキーKcmを適用した演算によりコンテンツキーKcを取得する構成として、MAC検証の成立を条件として、サブキーKsubと、メインキーKcmを適用した演算によって生成されるコンテンツキーKcによるコンテンツの復号を実行する構成とした。
【0167】
次に、ポータブルデバイスでのコンテンツ利用(再生)処理について、図20に示すフローを参照して説明する。ステップS201において、ポータブルデバイス(PD)は、ハード対応のデバイスノードキー(HDNK)を適用して、ハード対応のEKB(H)の復号処理を実行し、EKB(H)から、ハード対応カテゴリツリーに対応して設定されるルートキーKroot’を取得する。
【0168】
次に、ステップS202において、再生予定のコンテンツに対応するサービスデータがPD内に格納されているかを判定し、無い場合はPCから取得(S203)する。サービスデータは図19に示すように、サービス対応EKB[EKB(S)]の復号に必要なサービス対応デバイスノードキー(SDNK)を、ハード対応カテゴリツリーに対応して設定されるルートキーKroot’によって暗号化したデータE(Kroot’,SDNK)を格納したデータである。
【0169】
ステップS204において、EKB(H)から取り出したルートキーKroot’を用いて、サービスデータ内の暗号化データE(Kroot’,SDNK)の復号処理を実行し、サービス対応EKB[EKB(S)]の処理(復号)に適用するデバイスノードキー(SDNK)を取得する。
【0170】
次に、ステップS205において、サービスデータから取り出したデバイスノードキー(SDNK)を用いて、暗号化コンテンツファイル内に格納されたサービス対応EKB[EKB(S)]の処理(復号)を実行し、サービス対応EKB[EKB(S)]内に格納されたサービス対応カテゴリツリーに対応して設定されるルートキーKrootを取得する。
【0171】
次に、ステップS206において、サービス対応EKB[EKB(S)]から取り出したルートキーKrootを用いて、暗号化コンテンツファイル内に格納された暗号化データE(Kroot,CID+Kcm)の復号処理を実行し、コンテンツID(CID)と、メインキー(Kcm)を取得する。
【0172】
次に、ステップS207において、暗号化コンテンツファイルから取り出したコンテンツID(CID)と、AVインデックスファイル内の利用条件情報内に格納されたコンテンツIDのマッチング(照合)処理を実行する。すなわち、コンテンツに対応する利用条件情報が存在し、かつ利用条件情報において利用が許可されているか否かの判定処理を実行する。マッチングが不成立の場合は、次ステップは実行されず、エラー終了となる。
【0173】
マッチング成立の場合は、ステップS208において、メディアのリードインエリアから利用予定のコンテンツに対応するサブキーKsubを取り出し、ステップS209において、暗号化コンテンツファイルから取り出したメインキー(Kcm)と、リードインエリアに記録されたシーケンスページから取得したサブキーKsubとの排他論理和演算を実行し、コンテンツキーKcを生成する。
【0174】
次に、ステップS209において、コンテンツキーKcを適用して、AVインデックスファイルの利用条件情報のMACを算出し、リードインエリアに記録されたシーケンスページに記録されたMACとの照合処理によるMAC検証を実行する。照合が不成立の場合は、エラーとして、次ステップの処理は停止される。
【0175】
MAC検証に成功すると、ステップS212おいて、コンテンツキーKcを適用して、暗号化コンテンツファイルに格納された暗号化コンテンツE(Kc,Content)を復号してコンテンツの再生を行なう。
【0176】
このように、ポータブルデバイスにおいて、AVインデックスファイルに格納した利用条件情報を適用し、かつMAC検証によりコンテンツ利用条件の改竄のないことを確認し、さらに、コンテンツ対応のサブキーと、暗号化コンテンツファイルのメインキーにより生成可能なコンテンツキーを適用したコンテンツ復号を行なう構成としたことにより、正当な利用条件情報に基づく正当な機器のみにおけるコンテンツの正当な利用が可能となる。
【0177】
(自己記録処理)
次に、ポータブルデバイス等において、コンテンツを記録する処理について、図21および図22を参照して説明する。
【0178】
図21は、ポータブルデバイス701において、コンテンツをディスク等のメディア702に自己記録する際のシーケンスを説明する図である。
【0179】
ポータブルデバイス701は、ハード対応のカテゴリツリーを介して提供されるハード対応EKB(EKB(H))703と、ハード対応EKB(EKB(H))703の処理(復号処理に適用するデバイスノードキー(HDNK)702を有する。
【0180】
さらに、自己記録を許容するサービスを管理するサービスプロバイダから提供される自己録用サービスデータ704を有する。自己録用サービスデータ704は、前述のサービスデータと同様、リーフ識別子としてのリーフID、適用するEKBのバージョン、さらに、サービス対応EKB[EKBc(S)]の復号に必要なサービス対応デバイスノードキー(SDNK)を、ハード対応カテゴリツリーに対応して設定されるルートキーKroot’によって暗号化したデータE(Kroot’,SDNK)を格納している。なお、ここでは、自己記録用サービス対応EKBをEKBc(S)とする。
【0181】
ポータブルデバイス701は、さらに、自己録用利用条件705、自己録用EKB[EKBc(S)]706を有する。自己録用利用条件705は、コンテンツの自己記録に対する条件、例えば許容期間、記録回数等の条件を定めており、先に図14を参照して説明した利用条件と同様である。
【0182】
自己録用EKB[EKBc(S)]706は、コンテンツ自己記録用のサービスを提供するサービスプロバイダを頂点ノードとしたサービスカテゴリツリーに対応するルートキーKrootを格納したEKBである。
【0183】
ポータブルデバイスにおける、コンテンツの自己記録処理のシーケンスについて説明する。まず、ポータブルデバイス(PD)701は、まず、ステップS31において、自己記録コンテンツに対応する暗号化コンテンツファイル711のヘッダ領域に自己録用EKB[EKBc(S)]706をコピー格納する。さらに、コンテンツに対応する索引データとしてのAVインデックスファイル712に自己録用利用条件をコピー(S32)し、さらに自己録用サービスデータ704のリーフIDをコピー(S33)する。さらに、自己録用サービスデータをコンテンツを記録するメディア702にコピー格納(S34)する。なお、暗号化コンテンツファイル711、AVインデックスファイル712もコンテンツを記録するメディア702に格納する。
【0184】
次に、ポータブルデバイス701は、ステップS35において、ハード対応のデバイスノードキー(HDNK)702を適用して、ハード対応のEKB(H)703の復号処理を実行し、EKB(H)703から、ハード対応カテゴリツリーに対応して設定されるルートキーKroot’を取得する。DNKを適用したEKBの処理は、先に図6を参照して説明した手法に従ったものである。
【0185】
次に、ステップS36において、EKB(H)から取り出したルートキーKroot’を用いて、自己録用サービスデータ704内の暗号化データE(Kroot’,SDNK)の復号処理を実行し、自己録用サービス対応EKB[EKBc(S)]の処理(復号)に適用するデバイスノードキー(SDNK)を取得する。
【0186】
次に、ステップS37において、自己録用サービスデータ704から取り出したデバイスノードキー(SDNK)を用いて、暗号化コンテンツファイル711内にコピー格納した自己録用サービス対応EKB[EKBc(S)]の処理(復号)を実行し自己録用サービス対応EKB[EKBc(S)]内に格納された自己録用サービス対応カテゴリツリーに対応して設定されるルートキーKrootを取得する。
【0187】
次に、ステップS38において、自己録用サービス対応EKB[EKBc(S)]から取り出したルートキーKrootを用いて、暗号化コンテンツファイル711内に格納すべきコンテンツに対応するコンテンツ識別子としてのコンテンツID(CID)と、メインキーKcmを暗号化して、暗号化データE(Kroot,CUID,Kcm)を生成して、暗号化コンテンツファイル711内に格納する。なお、このメインキーKcmは、サブキーKsubとの排他論理和演算により、コンテンツキーKcを生成する際に適用する鍵であり、乱数に基づいて生成する。
【0188】
次に、乱数から生成したメインキーKcm、およびサブキーKsubの排他論理和演算を実行し、コンテンツキーKcを生成(S39)し、生成したコンテンツキーKcを適用してコンテンツを暗号化(S40)して、暗号化コンテンツファイル711内に格納する。
【0189】
さらに、コンテンツに対して生成したサブキーKsubと、利用条件情報に基づくMACを対応付けたシーケンスページ713のメディア702のリードインエリアに対する書き込み処理を実行(S41)する。
【0190】
上述したように、ポータブルデバイスでのコンテンツ自己記録においては、コンテンツに対応するサブキーKsubを生成して、利用条件情報に基づくMACとともにシーケンスページを構成して格納する。コンテンツ再生においては、サブキーKsubと、メインキーKcmを適用した演算によりコンテンツキーKcを生成することが必要となる。従って、シーケンスページに正当なサブキーKsubを持つデバイスにおいてのみ再生可能となる。
【0191】
図22に、ポータブルデバイスでのコンテンツ自己記録処理手順の処理フローを示す。処理フローの核ステップについて説明する。
【0192】
ステップS301において、自己記録コンテンツに対応する暗号化コンテンツファイルのヘッダ領域に自己録用EKB[EKBc(S)]をコピー格納し、ステップS302において、AVインデックスファイルに自己録用利用条件情報をコピー格納し、ステップS303において、自己録用サービスデータのリーフIDをコピー格納する。
【0193】
次に、ステップS304において、ハード対応のデバイスノードキー(HDNK)を適用して、ハード対応のEKB(H)の復号処理を実行し、EKB(H)から、ハード対応カテゴリツリーに対応して設定されるルートキーKroot’を取得する。さらに、ステップS305において、自己録用サービスデータをコンテンツを記録するメディアにコピー格納する。
【0194】
次に、ステップS306において、ハード対応のデバイスノードキー(HDNK)を適用して、ハード対応のEKB(H)から取り出したルートキーKroot’を用いて、自己録用サービスデータ内の暗号化データE(Kroot’,SDNK)の復号処理を実行し、自己録用サービス対応EKB[EKBc(S)]の処理(復号)に適用するデバイスノードキー(SDNK)を取得する。
【0195】
次に、ステップS307において、自己録用サービスデータから取り出したデバイスノードキー(SDNK)を用いて、暗号化コンテンツファイル内にコピー格納した自己録用サービス対応EKB[EKBc(S)]の処理(復号)を実行し自己録用サービス対応EKB[EKBc(S)]内に格納された自己録用サービス対応カテゴリツリーに対応して設定されるルートキーKrootを取得する。
【0196】
次に、ステップS308において、乱数に基づいてメインキーKcm、サブキーKsubを生成し、ステップS309において、メインキーKcm、サブキーKsubとの排他論理和演算により、コンテンツキーKcを生成する。
【0197】
次に、ステップS310において、メインキーKcm、とコンテンツ識別子(CID)をルートキーKrootで暗号化して、暗号化コンテンツファイルに格納する。さらに、ステップS311において、生成したコンテンツキーKcを適用してコンテンツを暗号化して、暗号化コンテンツファイルに格納する。
【0198】
さらに、ステップS312において、メコンテンツに対して生成したサブキーKsubと、利用条件情報に基づくMACを対応付けたシーケンスページのメディアのリードインエリアに対する書き込み処理を実行して、コンテンツの自己記録を終了する。
【0199】
上述したように、ポータブルデバイスでのコンテンツ自己記録においては、メディアに対して暗号化コンテンツファイル、AVインデックスファイル、さらにリードインエリアに対してAVインデックスファイルの利用条件データ等に基づくMACと、サブキーKsubの書き込みが実行され、自己記録されたコンテンツ利用においても、利用条件の正当性がMACで検証され、またサブキーKsubを利用したコンテンツキーKcの生成処理が必須となり、正当な利用権限を有するデバイスにおいて利用条件に従ったコンテンツ利用が実現される。
【0200】
(コンテンツインポート処理)
次に、ポータブルデバイス(PD)からPCに対する自己記録コンテンツのコピー処理、すなわちインポート処理について説明する。
【0201】
図23は、コンテンツインポート処理の概要と、ポータブルデバイス(PD)からPCに対して移動(コピー)するデータについて説明する図である。
【0202】
インポート処理においては、ポータブルデバイス(PD)810から、PC820に対して、コンテンツキーKcで暗号化された暗号化コンテンツデータE(Kc,Content)811がコピーされ、さらに、セキュア情報812として、Krootを格納したEKB813と、コンテンツキーKcをKrootで暗号化した鍵情報E(Kroot,Kc)814がコピーされ、さらに、先に説明した自己記録処理において生成したAVインデックスファイル中の利用条件情報815がコピーされる。
【0203】
PC820におけるデータ格納構成は、図に示すように、コンテンツ821と、コンテンツに対するセキュア情報822を持つ構成であり、インポート処理においては、これらのデータ格納構成に応じたコンバート、あるいは必要な情報の付加処理を実行することが必要となる。
【0204】
PC820は、コンテンツキーKcで暗号化された暗号化コンテンツデータE(Kc,Content)821を格納し、格納コンテンツに対応するセキュア情報822として、Krootを格納したEKB823と、コンテンツキーKcをKrootで暗号化した鍵情報E(Kroot,Kc)824、利用条件情報に対応する属性情報825、さらに、公開鍵証明書826、署名827を有する構成を持つ。
【0205】
ポータブルデバイス(PD)からPCに対する自己記録コンテンツのコピー処理、すなわちインポート処理においては、図23に示す(1)−(5)の処理が実行される。
【0206】
(1)は、暗号化コンテンツデータE(Kc,Content)のコピー処理である。(2)は、Krootを格納したEKBと、コンテンツキーKcをKrootで暗号化した鍵情報E(Kroot,Kc)のコピー処理である。
【0207】
(3)は、PDにおけるAVインデックスファイル内の利用条件情報の改竄検証処理として実行するMAC検証処理である。(4)は、(3)におけるMAC検証の結果、改竄なしの判定を条件として実行するAVインデックスファイル内の利用条件情報のコンバートとコピー処理である。PC内では、コンテンツの利用条件をコンテンツ属性情報として保持する構成であり、AVインデックスファイルの利用条件情報をPC内の属性情報のフォーマットに変換した後、PCにコピーする。(5)は、PCのコンテンツ対応のセキュア情報として格納すべきデータとしての公開鍵証明書826、および電子署名827を生成、追加する処理である。
【0208】
図23に示すように、異なるデータ格納構成を持つポータブルデバイス(PD)と、PC間においてコンテンツ移動を行なう場合、それぞれのデータ格納構成に合わせたコンバート、データ追加等の処理を実行し、利用条件情報は、データ改ざんの無いことの確認の後にコピーされる。
【0209】
図24にインポート処理の手順を説明するフローチャートを示す。フローチャートに示す各ステップの処理について説明する。
【0210】
まず、ステップS401において、暗号化コンテンツデータE(Kc,Content)をポータブルデバイス(PD)からPCにコピーする。次に、ステップS402において、Krootを格納したEKBと、コンテンツキーKcをKrootで暗号化した鍵情報E(Kroot,Kc)をポータブルデバイス(PD)からPCにコピーする。
【0211】
次に、ステップS403において、PDにおけるAVインデックスファイル内の利用条件情報に基づいて、MACを計算し、リードインエリアのシーレンスページに格納されたシーケンスページの格納MACとの比較を実行し、利用条件情報の改竄検証を行なう。MACが一致すれば改竄無しと判定し、ステップS405に進む。MACが不一致の場合は、改竄ありと判定しエラー終了となる。
【0212】
ステップS405では、利用条件情報中のインポート処理許可フラグが、処理許可を示しているか否かを判定する。AVインデックスファイル内の利用条件情報には、図14に示すようにインポート(import)の可否を示すビットがあり、インポート可のビット情報がある場合にのみインポート処理を実行し、インポート不可の情報がある場合にはインポート処理は実行されず、エラー終了とする。
【0213】
ステップS406では、AVインデックスファイル内の利用条件情報のコンバートとコピー処理を実行する。PC内では、コンテンツの利用条件をコンテンツ属性情報として保持する構成であり、AVインデックスファイルの利用条件情報をPC内の属性情報のフォーマットに変換した後、PCにコピーする。ステップS407は、PCのコンテンツ対応のセキュア情報として格納すべきデータとしての公開鍵証明書の格納処理である。ステップS408は、セキュア情報内の格納情報に対する電子署名を生成、追加する処理である。
【0214】
上述したように、コンテンツインポート処理においては、それぞれのデータ格納構成に合わせたコンバート、データ追加等の処理を実行し、利用条件情報は、データ改ざんの無いことの確認の後にコピーを実行する。
【0215】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0216】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【0217】
例えば、プログラムは記憶媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0218】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記憶媒体にインストールすることができる。
【0219】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【0220】
【発明の効果】
以上、説明したように、本発明の構成によれば、コンテンツ索引データとしてのインデックスファイルにコンテンツ利用条件情報を含む構成としたので、少ない記憶容量を持ち、プロセッサ等の処理能力の低いポータブルデバイスにおいても、インデックスファイルのコンテンツ利用条件情報を適用した正当なコンテンツ利用が可能となる。
【0221】
さらに、本発明の構成によれば、インデックスファイル中のコンテンツ利用条件情報に基づいてコンテンツ利用可否を判定し、コンテンツ利用可の判定に基づいて、暗号化コンテンツの復号に適用するコンテンツキーKc取得処理を実行する構成としたので、利用条件に基づくコンテンツ利用が認められた場合にのみコンテンツキー取得が可能となるので、厳格なコンテンツ利用条件の遵守が可能となる。
【0222】
さらに、本発明の構成によれば、インデックスファイルには、コンテンツ利用条件情報に基づいて生成された改竄検証値としてのメッセージ認証符号(MAC)を含み、MACと、コンテンツ利用条件情報に基づいて算出したMACとの比較に基づいて、コンテンツ利用条件情報の改竄の有無を判定し、改竄無しの判定を条件として、コンテンツキー取得処理を実行する構成としたので、利用条件情報の改竄に基づく不正なコンテンツ利用が防止される。
【0223】
さらに、本発明の構成によれば、コンテンツキーKcは、有効化キーブロック(EKB)配信ツリー構成を適用して提供される有効化キーブロック(EKB)の復号により取得可能なキーの適用によってのみ取得可能なキーとして設定されるので、厳格なコンテンツ利用権限の判定処理に基づくコンテンツ利用が可能となる。
【図面の簡単な説明】
【図1】本発明を適用したコンテンツ提供システムの概要を示す図である。
【図2】本発明を適用したコンテンツ利用の可能なパーソナルコンピュータ(PC)の構成例について説明する図である。
【図3】本発明を適用したコンテンツ利用の可能なポータブルデバイス(PD)の構成例について説明する図である。
【図4】各種キー、データの暗号化処理、配布処理について説明するツリー構成図である。
【図5】各種キー、データの配布に使用される有効化キーブロック(EKB)の例を示す図である。
【図6】コンテンツキーの有効化キーブロック(EKB)を使用した配布例と復号処理例を示す図である。
【図7】有効化キーブロック(EKB)のフォーマット例を示す図である。
【図8】有効化キーブロック(EKB)のタグの構成を説明する図である。
【図9】ツリー構成におけるカテゴリ分割を説明する図である。
【図10】ツリー構成におけるカテゴリ分割を説明する図である。
【図11】ツリー構成におけるカテゴリ分割の具体例を説明する図である。
【図12】複数の有効化キーブロック(EKB)を適用したコンテンツ復号、利用処理例を説明する図である。
【図13】AVインデックスファイルの構成例を示す図である。
【図14】利用条件情報の構成例を示す図である。
【図15】MAC生成処理構成を示す図である。
【図16】PCからポータブルデバイス(PD)に対するコンテンツコピー処理について説明する図である。
【図17】PCからポータブルデバイス(PD)に対するコンテンツコピー処理について説明するフロー図である。
【図18】セッションキーの共有化処理について説明するシーケンス図である。
【図19】ポータブルデバイスにおける、サブキーおよび複数の有効化キーブロック(EKB)を適用したコンテンツ復号、利用処理例を説明する図である。
【図20】ポータブルデバイスにおける、サブキーおよび複数の有効化キーブロック(EKB)を適用したコンテンツ復号、利用処理例を説明するフロー図である。
【図21】ポータブルデバイスにおける、サブキーを適用したコンテンツ自己記録処理例を説明する図である。
【図22】ポータブルデバイスにおける、サブキーを適用したコンテンツ自己記録処理例を説明するフロー図である。
【図23】ポータブルデバイスからPCに対するコンテンツインポート処理を説明する図である。
【図24】ポータブルデバイスからPCに対するコンテンツインポート処理を説明するフロー図である。
【符号の説明】
11 コンテンツプロバイダ
12 サービスプロバイダ
13 キー管理センター
30 ユーザデバイス
31 PC
32 ポータブルデバイス(PD)
51 暗号化コンテンツ
52 利用権情報
53 サービスデータ
101 CPU(Central processing Unit)
102 ROM(Read-Only-Memory)
103 RAM(Random Access Memory)
104 ホストバス104
105 ブリッジ
106 外部バス
107 インタフェース
108 キーボード
109 ポインティングデバイス
110 ディスプレイ
111 HDD(Hard Disk Drive)
112 ドライブ
114 PD(ポータブルデバイス)接続ポート
115 音声入出力インタフェース
116 通信部
121 リムーバブル記録媒体
122 ポータブルデバイス
152 電源回路
153 CPU
154 RAM
155 ROM
157 入出力I/F
159 DSP
160 記憶媒体コントローラorドライブ
161 記憶媒体
162 操作キーコントローラ
163 D/A変換器
164 増幅回路
165 出力部
166 LCDコントローラ
167 表示部
171 入力I/F
172 PC
201 バージョン
202 デプス
203 データポインタ
204 タグポインタ
205 署名ポインタ
206 データ部
207 タグ部
208 署名
301 ルートキー
302 ノードキー
303 リーフキー
304 カテゴリノード
350 ルートノード
351 Tシステムノード
352 Tサービスノード
353 Tハードノード
354 サービスプロバイダノード
355 リーフ
401 サービスデータ
402 暗号化コンテンツファイル
403 利用権情報
411 EKB(H)
412 HDNK
421 AVインデックスファイル
422 ヘッダ情報
423 インデックスファイル情報
424 AVファイル
425 利用条件情報
451 リーフID
452 コンテンツID
453 利用条件情報
454 利用ステータス情報
455 MAC
501 PC
502 ポータブルデバイス(PD)
511 暗号化コンテンツファイル
512 AVインデックスファイル
513 サービスデータ
514 シーケンスページ
601 サービスデータ
602 暗号化コンテンツファイル
611 EKB(H)
612 HDNK
621 AVインデックスファイル
622 シーケンスページ
701 ポータブルデバイス
702 DNK(HDNK)
703 EKB(H)
704 自己録用サービスデータ
705 自己録用利用条件
706 自己録用EKB
711 暗号化コンテンツファイル
712 AVインデックスファイル
713 シーケンスページ
810 ポータブルデバイス(PD)
811 暗号化コンテンツ
812 セキュア情報
813 EKB
814 鍵情報
815 AVインデックスファイル
820 PC
821 暗号化コンテンツ
822 セキュア情報
823 EKB
824 鍵情報
825 属性情報
826 公開鍵証明書
827 署名[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing apparatus, an information processing method, a content input / output processing system, a content input / output processing method, and a computer program. In particular, an information processing apparatus capable of realizing efficient processing in consideration of usage restrictions in the movement (move) and duplication (copying) processing of contents, for which usage restrictions are preferably added, due to copyright protection or the like The present invention relates to an information processing method, a content input / output processing system, a content input / output processing method, and a computer program.
[0002]
[Prior art]
Recently, various software data such as music data, game programs, and image data (hereinafter referred to as “Content”) can be distributed on networks such as the Internet, memory cards, HD, DVD, CD, etc. Distribution via various storage media has become popular. These distribution contents are stored in a personal computer (PC) owned by the user, a recording / playback device, a playback-only device, or storage means in a game device, for example, a card-type storage device having HD or flash memory, a CD, a DVD, or the like. Then, the reproduction process is executed.
[0003]
Information devices such as recording / playback devices, game machines, and PCs have an interface for receiving content from a network or an interface for accessing a memory card, HD, DVD, CD, etc. Control means, a program, and a RAM, ROM, etc. used as data memory areas.
[0004]
Various contents such as music data, image data, or programs are recorded by a user from a recording / playback device used as a playback device, a game device, an information device main body such as a PC, or a user's input via a connected input means. In response to the instruction, it is called from, for example, a built-in or detachable storage medium, and is reproduced through the information device main body, a connected display, a speaker, or the like.
[0005]
Many software contents such as game programs, music data, and image data generally have distribution rights and the like for their creators and sellers. Therefore, when distributing these contents, certain usage restrictions, that is, permission to use the software only for legitimate users, to prevent unauthorized copying, etc. It is common to take a configuration.
[0006]
In particular, in recent years, recording devices and storage media for digitally recording information are becoming widespread. According to such a digital recording apparatus and storage medium, for example, recording and reproduction can be repeated without deteriorating images and sound. In this way, digital data can be copied over and over again while maintaining image quality and sound quality, so when storage media that have been illegally copied is distributed to the market, various contents such as music, movies, etc. The profits of the copyright holders or the rightful sales rights holders will be harmed. In recent years, in order to prevent such illegal copying of digital data, various processing configurations for preventing illegal copying of digital recording devices and storage media have been realized or proposed.
[0007]
For example, SDMI (Secure Digital Music Initiative), which proposes various specifications in music distribution technology, proposes a standard for copyright protection functions in portable players. There are various forms of realizing the copyright protection function, such as a limitation on the number of copies of content and a limitation on the usage period of the content.
[0008]
[Problems to be solved by the invention]
In a system for recording and reproducing contents such as audio data and video data by applying a small storage medium such as a flash memory, a card type HD, a memory card, etc., for example, contents such as music from a storage medium such as a DVD or CD are stored in a small size. There is a usage form in which a copy content is reproduced on a portable device in which a small storage medium is mounted by copying to a medium. Also, content distributed from the network is temporarily stored in a large-capacity storage medium such as a hard disk, DVD, or CD built in the personal computer, and then the content is stored on the memory card or portable small hard disk (HD) from the personal computer. There are many forms of moving and playing content on a portable device to which a memory card or HD can be mounted, that is, using a PC as a personal server for content.
[0009]
Content from a storage medium such as a CD or content obtained via communication such as the Internet is temporarily stored in a large-capacity storage medium such as a hard disk, DVD, or CD, and the content is copied or moved from the storage medium to a memory card. To do. In addition, there is a problem in the copyright of the content that the content usage such as content reproduction on the memory card side is performed randomly. Note that the move, that is, the movement of content is realized by copying the content from, for example, a large-capacity storage medium to a memory card and then erasing the content from the storage medium (HD, DVD, CD, etc.) that is the copy source. This is an operation mode.
[0010]
It is necessary to restrict copying and moving to some extent from the viewpoint of copyright protection. On the other hand, completely prohibiting copying / moving is not appropriate because it prevents the use of content such as moving content from a PC to portable media and enjoying the playback of content outside. . Therefore, it is required to realize appropriate copy / move management that can maintain the copyright of the user while maintaining copyright protection.
[0011]
In content transfer processing and usage processing from a PC to a portable device, it is preferable that the content is used within the range permitted by the usage conditions set corresponding to the content. For example, the usage period and the usage count limit should be set, the status corresponding to the content usage should be recorded, and the content should be used within the range of usage conditions in each device such as a portable device, PC, etc.
[0012]
In a device having a large-capacity storage medium such as a PC and a processor having a high processing capability, the processing load for content availability determination based on such content usage condition information or the storage processing of content usage condition information is Although it can be executed without any problem, it is not always easy to perform processing and information storage equivalent to those of a PC or the like in a terminal device or content storage device such as a portable device having a small storage capacity and low CPU capability. Absent.
[0013]
In a system that separately distributes content and usage right information corresponding to the content, a matching process for verifying the validity of the correspondence between the terminal device and the content storage device such as a portable device is required. This process is heavy and difficult to execute in a terminal device such as a portable device. It is portable to use terminal devices such as portable devices having a low processing capacity for content to search for usage right data corresponding to the content, verify the validity of the data, and execute the processing for permitting the use of the content. It has been difficult to apply and execute limited resources of a terminal device such as a device.
[0014]
The present invention has been made in view of such a situation, and even in an information processing apparatus such as a portable device having a small data storage capacity and a low processing capacity such as a processor, a content use condition set corresponding to the content To provide an information processing apparatus, an information processing method, a content input / output processing system, a content input / output processing method, and a computer program that can use content according to the standards and prevent unauthorized use of content It is what.
[0015]
[Means for Solving the Problems]
The first aspect of the present invention is:
An information processing apparatus that executes content reproduction processing,
Storage means for storing encrypted content and storing an index file including content usage condition information;
Control means for determining whether or not the content can be used based on content usage condition information in the index file, and executing a content key Kc acquisition process applied to decryption of the encrypted content based on the determination of content usage;
HaveAnd
The content usage condition information is
A leaf ID as a leaf identifier in the enabling key block (EKB) distribution tree configuration;
A content ID as a content identifier;
Content usage condition information,
Content usage status informationThe information processing apparatus is characterized by the above.
[0016]
Furthermore, in an embodiment of the information processing apparatus of the present invention, the index file includes a message authentication code (MAC) as a falsification verification value generated based on at least the content use condition information, and the control means Based on the comparison between the MAC and the MAC calculated based on the content use condition information, the content use condition information is determined to be falsified, and the content key acquisition process is performed on the condition that there is no falsification. It has the structure to perform.
[0018]
Furthermore, in one embodiment of the information processing apparatus of the present invention, the encrypted content is content encrypted with a content key Kc, and the content key Kc adopts an enabling key block (EKB) distribution tree configuration. The key that can be obtained only by applying a key that can be obtained by decrypting the enabling key block (EKB) provided in the above manner, and the control means obtains a content key by decrypting the enabling key block (EKB) It is the structure which performs a process.
[0019]
Furthermore, in an embodiment of the information processing apparatus according to the present invention, the content usage condition information is configured to include a content usage period and a usage count.
[0020]
Furthermore, in one embodiment of the information processing apparatus of the present invention, the index file has a data structure according to a mobile quick time format including attribute information corresponding to content.
[0021]
Furthermore, the present inventionIn one embodiment of the information processing apparatus, the information processing apparatus inputs an encrypted content file including the encrypted content and the index file from an external content output device, and the control means includes the encrypted content file And storing the index file in the storage unit and executing processing for storing a message authentication code (MAC) as a falsification verification value based on data including the use condition information in the storage unit. Features.
[0022]
Furthermore, the present inventionIn one embodiment of the information processing apparatus, the control means reads the message authentication code (MAC) as a falsification verification value based on data including the use condition information according to a specific access permission program. It is the structure which performs the process written in an in-area.
[0023]
Furthermore, the present inventionIn an embodiment of the information processing apparatus, the control unit is required to generate a message authentication code (MAC) as a falsification verification value based on data including the use condition information and a content key Kc applied to content decryption processing. The sub-key Ksub is associated with each other, and the writing process is executed in the lead-in area of the storage means accessible according to a specific access permission program.
[0024]
Furthermore, the present inventionIn one embodiment of the information processing apparatus, the control means is provided by applying an encrypted content E (Kc, Content) obtained by encrypting the content with a content key Kc and an enabling key block (EKB) distribution tree configuration. Data E (Kroot, CID + Kcm) obtained by encrypting the content ID (CID) and the main key Kcm required to generate the content key Kc with the key Kroot that can be obtained by decrypting the enabling key block (EKB). The present invention is characterized in that a process of storing an encrypted content file including the validation key block (EKB) in the storage means is executed.
[0025]
Furthermore, the present invention2The side of
In information processing equipmentAn information processing method for executing content playback processing,
A determination processing step for determining whether or not the content can be used based on the content usage condition information in the index file including the content usage condition information;
A content key acquisition process step of executing a content key Kc acquisition process applied to decryption of the encrypted content based on the determination of content availability;
A decryption processing step for decrypting the encrypted content based on the content key KcHave
The content usage condition information is
A leaf ID as a leaf identifier in the enabling key block (EKB) distribution tree configuration;
A content ID as a content identifier;
Content usage condition information,
Content usage status informationThere is an information processing method characterized by this.
[0026]
Furthermore, in an embodiment of the information processing method of the present invention, the index file includes at least a message authentication code (MAC) as a falsification verification value generated based on the content use condition information, and the information processing method Further includes a step of determining whether or not the content usage condition information has been falsified based on a comparison between the MAC and a MAC calculated based on the content usage condition information, and the content key acquisition processing step includes: The content use condition information is determined to be not falsified as a condition.
[0028]
Furthermore, in one embodiment of the information processing method of the present invention, the encrypted content is content encrypted with a content key Kc, and the content key Kc adopts an enabling key block (EKB) distribution tree configuration. The key that can be obtained only by applying a key that can be obtained by decrypting the enabling key block (EKB) provided in the above-described manner, and the content key obtaining processing step is based on the decrypting process of the enabling key block (EKB). The content key acquisition process is executed.
[0029]
Furthermore, the present inventionIn one embodiment of the information processing method, the information processing method further includes: an encrypted content file including the encrypted content from an external content output device; the step of inputting the index file; and the encrypted content file; Storing the index file in the storage unit and executing a process of storing a message authentication code (MAC) as a falsification verification value based on data including the use condition information in the storage unit. It is characterized by.
[0030]
Furthermore, the present inventionIn one embodiment of the information processing method, the information processing apparatus further includes a memory that can access a message authentication code (MAC) as a falsification verification value based on data including the use condition information according to a specific access permission program. A process of writing in the lead-in area of the means is executed.
[0031]
Furthermore, the present inventionIn an embodiment of the information processing method, the information processing apparatus further includes a message authentication code (MAC) as a falsification verification value based on data including the use condition information, and a content key Kc applied to content decryption processing. A process of writing in the lead-in area of the storage means that is accessible in accordance with a specific access permission program in association with the subkey Ksub required for generation is performed.
[0032]
Furthermore, the present inventionIn an embodiment of the information processing method, the information processing apparatus further applies an encrypted content E (Kc, Content) obtained by encrypting the content with a content key Kc and an enabling key block (EKB) distribution tree configuration. Data E (Kroot, CID + Kcm) obtained by encrypting the content ID (CID) and the main key Kcm required to generate the content key Kc with the key Kroot that can be obtained by decrypting the enabling key block (EKB) provided ) And the enabling key block (EKB), and storing the encrypted content file in the storage means.
[0033]
Furthermore, the present invention3The side of
In an information processing device,A computer program that executes information processing for executing content reproduction processing,
A determination processing step for determining whether or not the content can be used based on the content usage condition information in the index file including the content usage condition information;
A content key acquisition process step of executing a content key Kc acquisition process applied to decryption of the encrypted content based on the determination of content availability;
A decryption processing step for decrypting the encrypted content based on the content key KcHave
The content usage condition information is
A leaf ID as a leaf identifier in the enabling key block (EKB) distribution tree configuration;
A content ID as a content identifier;
Content usage condition information,
Content usage status informationThe computer program is characterized by that.
[0034]
[Action]
Since the present invention is configured to include content usage condition information in an index file as content index data, the content usage condition information of the index file can be applied even to a portable device having a small storage capacity and a low processing capacity such as a processor. The legitimate content can be used.
[0035]
Furthermore, in the configuration of the present invention, content availability is determined based on content usage condition information in the index file, and content key Kc acquisition processing applied to decryption of encrypted content is executed based on the content availability determination. Since the content key can be acquired only when the content usage based on the usage conditions is permitted, it is possible to strictly comply with the content usage conditions.
[0036]
Further, in the present invention, the index file includes a message authentication code (MAC) as a falsification verification value generated based on the content usage condition information, and the MAC is compared with the MAC calculated based on the content usage condition information. Based on the above, the content key acquisition process is executed on the condition that the content usage condition information is falsified and is determined not to be falsified, so that unauthorized use of the content based on the falsification of the usage condition information is prevented. .
[0037]
Furthermore, in the present invention, the content key Kc is a key that can be acquired only by applying a key that can be acquired by decryption of the enabling key block (EKB) provided by applying the enabling key block (EKB) distribution tree configuration. Therefore, it is possible to use content based on strict content usage authority determination processing.
[0038]
The computer program of the present invention is, for example, a storage medium or communication medium provided in a computer-readable format to a general-purpose computer system capable of executing various program codes, such as a CD, FD, MO, etc. Or a computer program that can be provided by a communication medium such as a network. By providing such a program in a computer-readable format, processing corresponding to the program is realized on the computer system.
[0039]
Other objects, features, and advantages of the present invention will become apparent from a more detailed description based on embodiments of the present invention described later and the accompanying drawings. In this specification, the system is a logical set configuration of a plurality of devices, and is not limited to one in which the devices of each configuration are in the same casing.
[0040]
DETAILED DESCRIPTION OF THE INVENTION
[System Overview]
FIG. 1 is a diagram illustrating an outline of a content management system to which the present invention is applicable. User devices that use content include information processing apparatuses such as the
[0041]
The original content is provided from the
[0042]
The
[0043]
The
[0044]
The detailed configuration of the
[0045]
The usage conditions of the content include a usage period limitation condition, a copy frequency limit, and the number of portable media (PM) that can use the content simultaneously (so-called check-out count). Response).
[0046]
For example, the maximum number of checkouts can be set as the number of portable media (PM) that can simultaneously use each content stored in the hard disk of the
[0047]
The personal computer (PC) 31 transfers (checks out) the content from the hard disk of the
[0048]
The
[0049]
A configuration example of the
[0050]
First, the configuration of the
[0051]
A ROM (Read Only Memory) 102 stores fixed data and the like among programs used by the
[0052]
The
[0053]
The
[0054]
The
[0055]
A PD (portable device)
[0056]
The audio input /
[0057]
These
[0058]
The
[0059]
Next, a configuration example of a portable device using portable media will be described with reference to FIG. Note that a medium as a content storage medium is a flash memory, a small HD, an optical disk, a magneto-optical disk, or the like.
[0060]
The
[0061]
The data transferred from the
[0062]
When the portable device receives the content writing command from the personal computer together with the content, the
[0063]
Data writing processing to the
[0064]
When a content reproduction command by the user is supplied to the
[0065]
A DSP (Digital Signal Processor) 159 executes processing for reproducing the content transferred from the
[0066]
In ATRAC3, audio data having a quantization bit of 16 bits sampled at a sampling frequency of 44.1 kHz is subjected to a high-efficiency encoding process. The minimum data unit when processing audio data with ATRAC3 is a sound unit SU. One SU is 1024 samples (1024 × 16 bits × 2 channels) compressed to several hundred bytes, and is about 23 milliseconds in time. Audio data is compressed to about 1/10 by the high-efficiency encoding process described above.
[0067]
The digital-
[0068]
From the input I /
[0069]
In addition, the
[0070]
For example, a DES (Data Encryption Standard) encryption algorithm is applied to the content encryption and decryption processing executed by the
[0071]
For example, an
[About tree structure as key distribution configuration]
Next, a device and key management configuration based on a tree configuration, which is an aspect of the broadcast encryption method, in order to allow content to be used only by a user device having a valid content usage right, will be described.
[0072]
[0073]
Each
[0074]
In the tree configuration shown in FIG. 4, for example, the
[0075]
In addition, each device included in the tree structure of FIG. 4 includes various types of recording media, for example, various types using a device embedded type or a DVD, CD, MD, flash memory, etc. that are configured to be detachable from the device. The device is included. Furthermore, various application services can coexist. The hierarchical tree structure as the content or key distribution configuration shown in FIG. 4 is applied on such a coexistence configuration of different devices and different applications.
[0076]
In a system in which these various devices and applications coexist, for example, the portions surrounded by dotted lines in FIG. 4, that is,
[0077]
The node key and the leaf key may be managed by a single key management center, or may be managed for each group by message data distribution means such as a provider or a settlement organization that performs various data transmission / reception for each group. It is good. These node keys and leaf keys are updated when, for example, a key is leaked, and this updating process is executed by a key management center, a provider, a settlement organization, or the like.
[0078]
In this tree structure, as is apparent from FIG. 4, the three
[0079]
Further, at a certain time t, when it is discovered that the keys possessed by the device 3: K0011, K001, K00, K0, KR are analyzed and exposed by an attacker (hacker), thereafter, the system (
[0080]
The update key distribution process will be described. The key is updated by, for example, storing a table composed of block data called an enabling key block (EKB) shown in FIG. 2 is executed. The enabling key block (EKB) is composed of an encryption key for distributing a newly updated key to devices corresponding to each leaf constituting the tree structure as shown in FIG. The enabling key block (EKB) is sometimes called a key renewal block (KRB).
[0081]
The enabling key block (EKB) shown in FIG. 5A is configured as block data having a data configuration that can be updated only by a device that requires updating of the node key. The example of FIG. 5 is block data formed for the purpose of distributing the update node key of generation t to the
[0082]
As shown in the EKB of FIG. 5A, the EKB includes a plurality of encryption keys. The lowest encryption key is Enc (K0010, K (t) 001). This is an update node key K (t) 001 encrypted with the leaf key K0010 of the
[0083]
In the case where it is not necessary to update the node keys: K (t) 0, K (t) R in the upper level of the tree structure shown in FIG. 4, and only the node key K00 needs to be updated, the processing shown in FIG. By using the enabling key block (EKB), the updated node key K (t) 00 can be distributed to the
[0084]
The EKB shown in FIG. 5B can be used, for example, when a new content key shared in a specific group is distributed. As a specific example, it is assumed that a recording
[0085]
That is, if the
[0086]
[Distribution of keys using EKB]
FIG. 6 shows a new common content key K (t (t) using K (t) 00 as an example of processing for obtaining a key at time t, for example, a content key K (t) con applied to content encryption / decryption. ) A processing example of the
[0087]
As shown in FIG. 6, the
[0088]
[EKB format]
FIG. 7 shows a format example of the enabling key block (EKB).
[0089]
The
[0090]
The
[0091]
The tag is set to indicate where the data Enc (Kxxx, Kyyy) is located in the tree structure. Key data Enc (Kxxx, Kyyy) stored in the data part. . . Is merely enumerated data of encrypted keys, so that the position of the encryption key stored as data on the tree can be determined by the above-described tag. Without using the tag described above, using a node index corresponding to the encrypted data as in the configuration described in FIG. 5, for example,
0: Enc (K (t) 0, K (t) root)
00: Enc (K (t) 00, K (t) 0)
000: Enc (K ((t) 000, K (T) 00)
. . . However, if such a configuration using an index is used, redundant data is generated and the amount of data increases, which is not preferable for distribution via a network. On the other hand, by using the above-described tag as index data indicating the key position, the key position can be determined with a small amount of data.
[0092]
Returning to FIG. 7, the EKB format will be further described. A
[0093]
Tree categorization
A configuration in which a hierarchical tree structure defining node keys and the like is classified for each device category to perform efficient key update processing, encryption key distribution, and data distribution will be described below.
[0094]
FIG. 9 shows an example of category classification of a hierarchical tree structure. In FIG. 9, a
[0095]
Here, as an example, a node at the Mth stage from the top is set as the category node 304. That is, each of the M-th level nodes is set as a device setting node of a specific category. The nodes and leaves of the Mth stage below are assumed to be nodes and leaves related to devices included in the category, with one node at the Mth stage as a vertex.
[0096]
For example, a category [memory stick (trademark)] is set in one
[0097]
Furthermore, a stage that is several stages lower than the M stage can be set as the
[0098]
Furthermore, categories and subcategories are not limited to device types, for example, nodes managed independently by a certain manufacturer, content provider, payment institution, etc., that is, arbitrary units such as processing units, jurisdiction units, or service units provided (these are (Hereinafter collectively referred to as an entity). For example, if one category node is set as a vertex node dedicated to the game device XYZ sold by the game device manufacturer, the node key and leaf key below the vertex node can be stored and sold in the game device XYZ sold by the manufacturer. After that, distribution of encrypted contents or distribution and update of various keys is performed by generating and distributing an activation key block (EKB) composed of node keys and leaf keys below the vertex node key, and below the vertex nodes. Data that can be used only for these devices can be distributed.
[0099]
In this way, by setting one node as a vertex and setting the following nodes as related nodes in the category or subcategory defined in the vertex node, one vertex node in the category stage or subcategory stage is set. It becomes possible for the manufacturer, content provider, etc. to manage to create an enabling key block (EKB) with the node as a vertex and distribute it to devices belonging to the vertex node or lower, and other categories that do not belong to the vertex node The key update can be executed without affecting the devices belonging to this node.
[0100]
In the system of the present invention, as shown in FIG. 10, management of device keys and content keys is performed in a tree-structured system. In the example of FIG. 10, nodes of 8 + 24 + 32 levels have a tree structure, and categories correspond to the nodes from the root node to the lower 8 levels. The category here means a category such as a category of a device that uses a semiconductor memory such as a memory stick and a category of a device that receives a digital broadcast. This system (referred to as a T system) corresponds to one of the category nodes as a system for managing licenses.
[0101]
That is, a service provider or a service provided by a service provider is associated with a key corresponding to a node of 24 levels in a lower hierarchy than the node of the T system. For this example, this would result in 2twenty four(About 16 mega) service providers or services can be defined. In addition, the lowest 32 levels are 232(About 4 Giga) users (or user devices) can be defined. A key corresponding to each node on the path from the lowest 32 nodes to the T system node constitutes a DNK (Device Node Key), and an ID corresponding to the lowest leaf is a leaf ID.
[0102]
For example, the content key obtained by encrypting the content is encrypted by the updated root key KR ′, and the update node key of the upper hierarchy is encrypted using the update node key of the immediately lower hierarchy and placed in the EKB. Is done. The update node key one level above the end in the EKB is encrypted by the node key or leaf key at the end of the EKB, and placed in the EKB.
[0103]
Using one of the DNK keys described in the service data, the user device decrypts and obtains the update node key of the latest higher hierarchy described in the EKB distributed with the content data. Using the obtained key, the update node key of the hierarchy further described in the EKB is decrypted. By sequentially performing the above processing, the user device can obtain the updated root key KR ′.
[0104]
[Content processing using multiple EKBs]
As described above, the category classification of the tree enables a configuration in which one node is set as a vertex and the following nodes are set as related nodes of the category or subcategory defined in the vertex node. A configuration is realized in which a manufacturer, service provider, or the like that manages one of the vertex nodes independently generates an enabling key block (EKB) having that node as a vertex and distributes it to devices belonging to the vertex node or lower.
[0105]
In the following, content distribution and usage modes adopting an EKB distribution configuration based on a plurality of categories by applying the above-described tree management EKB distribution system by device management will be described.
[0106]
The two categories will be described with reference to FIG. As shown in FIG. 11, a
[0107]
Both the hardware-compatible EKB [EKB (H)] and the service-compatible EKB [EKB (S)] are given to each device having a legitimate authority, that is, a path from the leaf to the node of the T system. By having a key corresponding to each of the above nodes, each EKB can be decrypted.
[0108]
With reference to FIG. 12, a content use processing sequence based on content decryption processing to which hardware-compatible EKB [EKB (H)] and service-compatible EKB [EKB (S)] are applied will be described.
[0109]
The
[0110]
The
[0111]
The usage
[0112]
For example, in a user device having a large-capacity storage means such as a PC and having a high processing capacity such as a processor, the usage right information can be stored as security information corresponding to the content. Is preferably stored, and processing using the content information is referred to when the content is used. On the other hand, in a user device such as a portable device (PD) that does not have a large-capacity storage means and has a low processing capacity such as a processor, the usage
[0113]
A configuration example of the AV index file is shown in FIG. The AV index file configuration shown in FIG. 13 has a configuration in which usage condition information is added to the Mobile Quick Time AV index file.
[0114]
The
[0115]
A configuration example of usage condition information is shown in FIG. The usage condition information includes a
[0116]
A message authentication code (MAC) 455 is generated as data for verifying falsification of data based on data including content usage condition information. FIG. 15 shows an example of MAC value generation using the DES encryption processing configuration. As shown in the configuration of FIG. 15, the target message is divided into units of 8 bytes (hereinafter, the divided messages are referred to as M1, M2,..., MN). , IV)) and M1 are XORed (the result is I1). Next, I1 is put into the DES encryption unit and encrypted using a key (hereinafter referred to as K1) (the output is assumed to be E1). Subsequently, E1 and M2 are exclusively ORed, and the output I2 is input to the DES encryption unit and encrypted using the key K1 (output E2). Thereafter, this is repeated, and encryption processing is performed on all messages. The EN that comes out last is a message authentication code (MAC).
[0117]
When the source data is changed, the MAC value becomes a different value, and the MAC generated based on the data (message) to be verified is compared with the recorded MAC. It is proved that the data (message) to be verified has not been changed or altered.
[0118]
Returning to FIG. 12, a content use processing sequence based on content decryption processing to which hardware-compatible EKB [EKB (H)] and service-compatible EKB [EKB (S)] are applied will be described.
[0119]
The user device has received
[0120]
The user device further has a hardware-compatible EKB (H) 411 and a hardware-compatible device node key (HDNK) 412 applied to the processing (decryption) of the hardware-compatible EKB (H). Note that the hardware-compatible EKB (H) 411 can extract the root key Kroot 'set corresponding to the hardware-compatible category tree by decryption.
[0121]
In step S11 shown in FIG. 12, the hardware-compatible device node key (HDNK) 412 is applied to execute the hardware-compatible EKB (H) 411 decryption process, and from the EKB (H) 411 to the hardware-compatible category tree. The root key Kroot ′ set correspondingly is acquired. The EKB process to which DNK is applied is a process according to the method described above with reference to FIG.
[0122]
Next, in step S12, using the root key Kroot ′ extracted from EKB (H), the encrypted data E (Kroot ′, SDNK) in the
[0123]
Next, in step S13, using the device node key (SDNK) extracted from the service data, processing (decryption) of service-compatible EKB [EKB (S)] stored in the
[0124]
Next, in step S14, decryption processing of the encrypted data E (Kroot, CID + Kc) stored in the
[0125]
Next, in step S15, the content ID (CID) extracted from the
[0126]
As described above, the hardware-compatible EKB [EKB (H)] as the EKB corresponding to the category tree set corresponding to the hardware as the content use device, and the category tree set corresponding to the content use service Service-corresponding EKB [EKB (S)] as an EKB corresponding to each of the EKBs is individually provided to the user, and only a user having a valid DNK for each EKB can use the service.
[0127]
A DNK for decrypting service-compatible EKB [EKB (S)], that is, SDNK, can be provided as
[0128]
Further, in content use, since the matching process between the content identifier (CID) acquired from the
[0129]
[Use with content copy between PD and PC]
Next, the encrypted content file stored in the PC or the like is moved or copied to a medium (for example, a disk or memory) in the portable device, and the generated subkey Ksub is generated corresponding to the content, and the subkey Ksub is applied. A configuration in which content is decrypted and used in the portable device will be described.
[0130]
(Checkout process)
With reference to FIG. 16, an outline of data stored in the
[0131]
The
[0132]
The
[0133]
Note that the usage condition information stored in the portable device (PD) may be converted into the minimum data and stored in consideration of the data capacity of the media used by the PD. For example, only the usage conditions limited to the content reproduction time, the number of reproductions, the move condition, the copy condition, and the like are stored, and the mode is changed according to the storage medium.
[0134]
As described above with reference to FIG. 12, the
[0135]
The
[0136]
The relationship between the content key Kc applied to the content encryption / decryption processing, the main key Kcm stored in the
Kc = Kcm XOR Ksub
It is. That is, the content key Kc is calculated by the exclusive logical ring operation of the main key Kcm and the sub key Ksub.
[0137]
The
[0138]
With reference to FIG. 17, a content output from a PC to a portable device (PD) medium, that is, a checkout processing sequence will be described.
[0139]
Each step will be described. In step S101, it is confirmed whether there is a slot for storing the content in the PD medium. If there is no slot, the content cannot be stored and the process ends in error. If it is confirmed that there is an empty slot, it is determined in step S102 whether usage condition information corresponding to the encrypted content file to be checked out is stored in the PD. If there is no usage condition information, the content cannot be used and the process ends in error. If there is usage condition information, it is determined in step S103 whether service data corresponding to the encrypted content file is stored in the PD. Copy the data.
[0140]
In step S105, the encrypted content file 511 (see FIG. 15) is copied to the PD medium. Next, in step S106, a Kroot sharing process is performed between the PC and the PD using the service-compatible EKB, that is, EKB (S). Here, the latest version of EKB (S) Kroot is shared between the PC and the PD.
[0141]
Next, on the PC side, MAC calculation based on usage condition information corresponding to the content to be checked out is executed. The MAC calculation follows the calculation process described above with reference to FIG.
[0142]
In step S108, an AV index file (see FIG. 13) writing area (track) for the PD medium is created, and in step S109, an AV index file (see FIG. 14) including use condition information (see FIG. 14) for the PD medium is created. 13) is written.
[0143]
Next, in step S110, session key sharing processing is performed by applying Kroot previously shared between the PC and PD. The session key sharing process can be executed, for example, by a process using a MAC represented by ISO / IEC 9798-4. The processing sequence will be described with reference to FIG.
[0144]
In FIG. 18, PCs and B corresponding to any one of a content transmitting device and a receiving device, such as a personal computer (PC) and a portable device (PD), have a common key Kroot. Note that the symbol “||” in FIG. 18 represents a connection.
[0145]
Next, the PC generates random numbers Ra and Sa and sends MAC (Kroot, Ra || Rb || Sa) together with Ra and Sa to the PD. MAC (Kroot, Ra || Rb || Sa) represents inputting Kroot as a key and Ra || Rb || Sa as data.
[0146]
The PD calculates the MAC (Kroot, Ra || Rb || Sa) using the received data and checks whether it matches the received data. If they match, it is recognized that the communication partner PC is valid, and the processing is continued, but if they do not match, it is determined to be illegal and the processing is stopped.
[0147]
Next, the PD generates a random number Sb and sends this and the MAC (Kroot, Rb || Ra || Sb) to the PC. The PC also calculates the MAC (Kroot, Rb || Ra || Sb) by itself using the received data, and confirms whether it matches the received data. If they match, the communication partner PD is recognized as valid, and the process continues. If they do not match, it is determined to be invalid and the process is stopped. Finally, both sides compute the MAC (Kroot, Sa || Sb) and use this as the session key for that session.
[0148]
As described above, the personal computer and the portable device as the content transmitting device and the receiving device can check each other's validity, and can securely share the session key.
[0149]
Returning to the flow of FIG. 17, the description will be continued. When the generation of the session key Kses is completed based on Kroot in step S110, the MAC of the use condition information corresponding to the content, the sub key Ksub, the slot No. is received from the PC in step S111. Is encrypted with the session key Kses and transmitted to the PD.
[0150]
In step S112, the PD determines whether or not the MAC received from the PC matches the MAC of the use condition information calculated in step S107. If they do not match, the use condition information has been tampered with, and proper use of content cannot be guaranteed, and the process ends in error.
[0151]
If the MAC received from the PC matches the MAC of the use condition information calculated in step S107, in step S113, the PD medium (the table in which the MAC and the subkey Ksub are associated with the lead-in area of the disco). Data is written as a sequence page (see FIG. 12).
[0152]
(Content playback processing)
Next, FIG. 19 and FIG. 20 show processing for using the content (decoding) by generating the content key: Kc by applying the sub key Ksub in the portable device (PD) and decrypting the encrypted content. The description will be given with reference.
[0153]
The portable device (PD) has
[0154]
The
[0155]
The
[0156]
As described above with reference to FIG. 13, the
[0157]
The
[0158]
The relationship between the content key Kc applied to the content encryption / decryption process, the main key Kcm stored in the
Kc = Kcm XOR Ksub
It is. That is, the content key Kc is calculated by the exclusive logical ring operation of the main key Kcm and the sub key Ksub.
[0159]
In step S21 shown in FIG. 19, the portable device (PD) applies the hardware-compatible device node key (HDNK) 612 to execute the decryption processing of the hardware-compatible EKB (H) 611, and the EKB (H) 611. To obtain the root key Kroot ′ set in correspondence with the hardware corresponding category tree. The EKB process to which DNK is applied follows the method described above with reference to FIG.
[0160]
Next, in step S22, using the root key Kroot ′ extracted from EKB (H), the encrypted data E (Kroot ′, SDNK) in the
[0161]
Next, in step S23, using the device node key (SDNK) extracted from the service data, processing (decryption) of service-compatible EKB [EKB (S)] stored in the
[0162]
Next, in step S24, decryption processing of the encrypted data E (Kroot, CID + Kcm) stored in the
[0163]
Next, in step S25, the content ID (CID) extracted from the
[0164]
Next, in step S27, the content key Kc is applied to calculate the MAC of the usage condition information of the
[0165]
In step S28, the content key Kc is applied and the encrypted content E (Kc, Content) stored in the
[0166]
As described above, when using content on a portable device, a subkey Ksub corresponding to the content is set, a sequence page is configured and stored together with a MAC based on usage condition information, and the subkey Ksub and main key Kcm are applied. As a configuration for acquiring the content key Kc by the calculated operation, the content is decrypted by the content key Kc generated by the calculation using the sub key Ksub and the main key Kcm on condition that the MAC verification is established.
[0167]
Next, content use (playback) processing on a portable device will be described with reference to the flow shown in FIG. In step S201, the portable device (PD) applies a hardware-compatible device node key (HDNK) to execute a hardware-compatible EKB (H) decryption process, and from EKB (H) to the hardware-compatible category tree. The root key Kroot ′ set correspondingly is acquired.
[0168]
Next, in step S202, it is determined whether service data corresponding to the content to be reproduced is stored in the PD. If there is no service data, it is obtained from the PC (S203). As shown in FIG. 19, the service data includes a service-compatible device node key (SDNK) necessary for decrypting the service-compatible EKB [EKB (S)] by a root key Kroot ′ set corresponding to the hardware-compatible category tree. This is data that stores encrypted data E (Kroot ', SDNK).
[0169]
In step S204, the encrypted data E (Kroot ', SDNK) in the service data is decrypted using the root key Kroot' extracted from the EKB (H), and the service-corresponding EKB [EKB (S)] A device node key (SDNK) to be applied to processing (decryption) is acquired.
[0170]
Next, in step S205, using the device node key (SDNK) extracted from the service data, processing (decryption) of the service-compatible EKB [EKB (S)] stored in the encrypted content file is executed, and the service The root key Kroot set corresponding to the service corresponding category tree stored in the corresponding EKB [EKB (S)] is acquired.
[0171]
Next, in step S206, decryption processing of the encrypted data E (Kroot, CID + Kcm) stored in the encrypted content file is executed using the root key Kroot extracted from the service-compatible EKB [EKB (S)]. The content ID (CID) and the main key (Kcm) are acquired.
[0172]
Next, in step S207, the content ID (CID) extracted from the encrypted content file is matched with the content ID stored in the usage condition information in the AV index file. That is, a process for determining whether or not usage condition information corresponding to the content exists and usage is permitted in the usage condition information is executed. If the matching is not established, the next step is not executed and the process ends in error.
[0173]
If matching is established, the sub key Ksub corresponding to the content scheduled to be used is extracted from the lead-in area of the medium in step S208, and the main key (Kcm) extracted from the encrypted content file and the lead-in area in step S209. An exclusive OR operation with the sub key Ksub acquired from the recorded sequence page is executed to generate a content key Kc.
[0174]
Next, in step S209, the content key Kc is applied to calculate the MAC of the AV index file usage condition information, and the MAC verification by the matching process with the MAC recorded in the sequence page recorded in the lead-in area is performed. Execute. If the verification is not established, the next step process is stopped as an error.
[0175]
If the MAC verification is successful, in step S212, the content key Kc is applied, the encrypted content E (Kc, Content) stored in the encrypted content file is decrypted, and the content is reproduced.
[0176]
As described above, in the portable device, the usage condition information stored in the AV index file is applied, and it is confirmed by MAC verification that the content usage conditions are not falsified. Further, the subkey corresponding to the content, the encrypted content file By adopting a configuration in which content decryption is performed using a content key that can be generated by a main key, it is possible to use content only in a legitimate device based on legitimate usage condition information.
[0177]
(Self-recording process)
Next, processing for recording content in a portable device or the like will be described with reference to FIGS.
[0178]
FIG. 21 is a diagram illustrating a sequence when content is self-recorded on a medium 702 such as a disc in the
[0179]
The
[0180]
Furthermore, it has self-recording
[0181]
The
[0182]
The self-recording EKB [EKBc (S)] 706 is an EKB storing a root key Kroot corresponding to a service category tree having a service provider that provides a content self-recording service as a vertex node.
[0183]
A sequence of content self-recording processing in a portable device will be described. First, in step S31, the portable device (PD) 701 copies and stores the self-recording EKB [EKBc (S)] 706 in the header area of the
[0184]
Next, in step S35, the
[0185]
Next, in step S36, decryption processing of the encrypted data E (Kroot ', SDNK) in the self-recording
[0186]
Next, in step S37, using the device node key (SDNK) extracted from the self-recording
[0187]
Next, in step S38, using the root key Kroot extracted from the self-recording service compatible EKB [EKBc (S)], a content ID (content ID (content identifier) corresponding to the content to be stored in the encrypted content file 711) CID) and the main key Kcm are encrypted to generate encrypted data E (Kroot, CUID, Kcm) and stored in the
[0188]
Next, an exclusive OR operation of the main key Kcm generated from the random number and the sub key Ksub is executed to generate the content key Kc (S39), and the content is encrypted by applying the generated content key Kc (S40). And stored in the
[0189]
Further, a write process is executed on the lead-in area of the medium 702 of the
[0190]
As described above, in content self-recording on a portable device, a subkey Ksub corresponding to the content is generated, and a sequence page is configured and stored together with a MAC based on usage condition information. In content reproduction, it is necessary to generate the content key Kc by calculation using the sub key Ksub and the main key Kcm. Therefore, reproduction is possible only in a device having a valid subkey Ksub in the sequence page.
[0191]
FIG. 22 shows a processing flow of the content self-recording processing procedure in the portable device. The core steps of the processing flow will be described.
[0192]
In step S301, the self-recording EKB [EKBc (S)] is copied and stored in the header area of the encrypted content file corresponding to the self-recorded content. In step S302, the self-recording use condition information is copied and stored in the AV index file. In step S303, the leaf ID of the self-recording service data is copied and stored.
[0193]
Next, in step S304, the hardware-compatible device node key (HDNK) is applied to execute the hardware-compatible EKB (H) decryption process, and the EKB (H) is set corresponding to the hardware-compatible category tree. The root key Kroot ′ to be acquired is acquired. Further, in step S305, the self-recording service data is copied and stored in a medium for recording the content.
[0194]
Next, in step S306, the encrypted data E in the self-recording service data is applied using the root key Kroot 'extracted from the hardware-compatible EKB (H) by applying the hardware-compatible device node key (HDNK). (Kroot ′, SDNK) decryption processing is executed, and a device node key (SDNK) applied to the processing (decryption) of the self-recording service compatible EKB [EKBc (S)] is acquired.
[0195]
Next, in step S307, using the device node key (SDNK) extracted from the self-recording service data, the self-recording service-compatible EKB [EKBc (S)] copied and stored in the encrypted content file (decryption) ) To obtain the root key Kroot set corresponding to the self-recording service-compatible category tree stored in the self-recording service-compatible EKB [EKBc (S)].
[0196]
Next, in step S308, the main key Kcm and the sub key Ksub are generated based on the random numbers, and in step S309, the content key Kc is generated by exclusive OR operation with the main key Kcm and the sub key Ksub.
[0197]
In step S310, the main key Kcm and the content identifier (CID) are encrypted with the root key Kroot and stored in the encrypted content file. In step S311, the generated content key Kc is applied to encrypt the content, and the encrypted content file is stored.
[0198]
Further, in step S312, a process for writing to the lead-in area of the media of the sequence page in which the sub key Ksub generated for the content is associated with the MAC based on the use condition information is executed, and the content self-recording is terminated. .
[0199]
As described above, in the content self-recording in the portable device, the MAC based on the usage condition data of the AV index file for the encrypted content file, the AV index file, and the lead-in area for the media, and the subkey Ksub In the use of self-recorded content, the validity of the use condition is verified by the MAC, and the generation process of the content key Kc using the subkey Ksub is essential. Content usage according to usage conditions is realized.
[0200]
(Content import process)
Next, copy processing of self-recorded content from the portable device (PD) to the PC, that is, import processing will be described.
[0201]
FIG. 23 is a diagram for explaining the outline of the content import process and data moved (copied) from the portable device (PD) to the PC.
[0202]
In the import process, the encrypted content data E (Kc, Content) 811 encrypted with the content key Kc is copied from the portable device (PD) 810 to the
[0203]
As shown in the figure, the data storage configuration in the
[0204]
The
[0205]
In the copy process of the self-recorded content from the portable device (PD) to the PC, that is, the import process, processes (1) to (5) shown in FIG. 23 are executed.
[0206]
(1) is a copy process of the encrypted content data E (Kc, Content). (2) is a copy process of EKB storing Kroot and key information E (Kroot, Kc) obtained by encrypting the content key Kc with Kroot.
[0207]
(3) is a MAC verification process that is executed as a falsification verification process of the usage condition information in the AV index file in the PD. (4) is a process of converting and copying usage condition information in the AV index file, which is executed on the condition that the result of the MAC verification in (3) is no falsification. In the PC, content usage conditions are stored as content attribute information, and the AV index file usage condition information is converted into the attribute information format in the PC and then copied to the PC. (5) is a process of generating and adding a public
[0208]
As shown in FIG. 23, when contents are transferred between a portable device (PD) having a different data storage configuration and a PC, processing such as conversion and data addition corresponding to each data storage configuration is executed, and usage conditions are set. Information is copied after confirmation that no data has been tampered with.
[0209]
FIG. 24 is a flowchart for explaining the procedure of import processing. Processing of each step shown in the flowchart will be described.
[0210]
First, in step S401, the encrypted content data E (Kc, Content) is copied from the portable device (PD) to the PC. Next, in step S402, the EKB storing Kroot and the key information E (Kroot, Kc) obtained by encrypting the content key Kc with Kroot are copied from the portable device (PD) to the PC.
[0211]
Next, in step S403, the MAC is calculated based on the use condition information in the AV index file in the PD, and compared with the stored MAC of the sequence page stored in the sequence page of the lead-in area, and used. Perform falsification verification of condition information. If the MACs match, it is determined that there is no falsification, and the process proceeds to step S405. If the MACs do not match, it is determined that there has been a falsification and the process ends in error.
[0212]
In step S405, it is determined whether or not the import process permission flag in the use condition information indicates process permission. As shown in FIG. 14, the usage condition information in the AV index file includes a bit indicating whether or not import is possible, and import processing is executed only when there is bit information that can be imported. In some cases, the import process is not executed and the process ends in error.
[0213]
In step S406, the usage condition information in the AV index file is converted and copied. In the PC, content usage conditions are held as content attribute information. The AV index file usage condition information is converted into the attribute information format in the PC, and then copied to the PC. Step S407 is a process of storing a public key certificate as data to be stored as secure information corresponding to the content of the PC. Step S408 is processing for generating and adding an electronic signature for the stored information in the secure information.
[0214]
As described above, in content import processing, processing such as conversion and data addition adapted to each data storage configuration is executed, and usage condition information is copied after confirming that there is no data falsification.
[0215]
The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. In other words, the present invention has been disclosed in the form of exemplification, and should not be interpreted in a limited manner. In order to determine the gist of the present invention, the claims section described at the beginning should be considered.
[0216]
The series of processes described in the specification can be executed by hardware, software, or a combined configuration of both. When executing processing by software, the program recording the processing sequence is installed in a memory in a computer incorporated in dedicated hardware and executed, or the program is executed on a general-purpose computer capable of executing various processing. It can be installed and run.
[0217]
For example, the program can be recorded in advance on a hard disk or ROM (Read Only Memory) as a storage medium. Alternatively, the program is temporarily or permanently stored on a removable recording medium such as a flexible disk, CD-ROM (Compact Disc Read Only Memory), MO (Magneto optical) disk, DVD (Digital Versatile Disc), magnetic disk, and semiconductor memory. It can be stored (recorded). Such a removable recording medium can be provided as so-called package software.
[0218]
The program is installed on the computer from the removable recording medium as described above, or is wirelessly transferred from the download site to the computer, or is wired to the computer via a network such as a LAN (Local Area Network) or the Internet. The computer can receive the program transferred in this manner and install it in a storage medium such as a built-in hard disk.
[0219]
Note that the various processes described in the specification are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary.
[0220]
【The invention's effect】
As described above, according to the configuration of the present invention, since the content file usage condition information is included in the index file as the content index data, the portable device has a small storage capacity and a low processing capacity such as a processor. In addition, it is possible to use valid contents to which the contents use condition information of the index file is applied.
[0221]
Furthermore, according to the configuration of the present invention, the content key Kc acquisition process to be applied to the decryption of the encrypted content is determined based on the content usage condition information based on the content usage condition information in the index file. Since the content key can be acquired only when the content usage based on the usage conditions is permitted, it is possible to strictly comply with the content usage conditions.
[0222]
Furthermore, according to the configuration of the present invention, the index file includes a message authentication code (MAC) as a falsification verification value generated based on the content usage condition information, and is calculated based on the MAC and the content usage condition information. Based on the comparison with the MAC, the content usage condition information is determined to be falsified, and the content key acquisition process is executed on the condition that no falsification is determined. Content usage is prevented.
[0223]
Furthermore, according to the configuration of the present invention, the content key Kc is obtained only by applying a key that can be obtained by decryption of the enabling key block (EKB) provided by applying the enabling key block (EKB) distribution tree configuration Since the key is set as an acquirable key, the content can be used based on a strict content use authority determination process.
[Brief description of the drawings]
FIG. 1 is a diagram showing an outline of a content providing system to which the present invention is applied.
FIG. 2 is a diagram illustrating a configuration example of a personal computer (PC) capable of using content according to the present invention.
FIG. 3 is a diagram illustrating a configuration example of a portable device (PD) capable of using content according to the present invention.
FIG. 4 is a tree configuration diagram for explaining various keys, data encryption processing, and distribution processing;
FIG. 5 is a diagram showing an example of an enabling key block (EKB) used for distributing various keys and data.
FIG. 6 is a diagram illustrating a distribution example and a decryption processing example using a content key validation key block (EKB).
FIG. 7 is a diagram illustrating a format example of an enabling key block (EKB).
FIG. 8 is a diagram for explaining a configuration of a tag of an enabling key block (EKB).
FIG. 9 is a diagram illustrating category division in a tree configuration.
FIG. 10 is a diagram illustrating category division in a tree configuration.
FIG. 11 is a diagram illustrating a specific example of category division in a tree configuration.
FIG. 12 is a diagram illustrating an example of content decryption and usage processing using a plurality of enabling key blocks (EKB).
FIG. 13 is a diagram illustrating a configuration example of an AV index file.
FIG. 14 is a diagram illustrating a configuration example of usage condition information.
FIG. 15 is a diagram illustrating a MAC generation processing configuration;
FIG. 16 is a diagram illustrating content copy processing from a PC to a portable device (PD).
FIG. 17 is a flowchart illustrating content copy processing from a PC to a portable device (PD).
FIG. 18 is a sequence diagram for explaining session key sharing processing;
FIG. 19 is a diagram illustrating an example of content decryption and usage processing to which a sub key and a plurality of enabling key blocks (EKB) are applied in a portable device.
FIG. 20 is a flowchart illustrating an example of content decryption and usage processing to which a sub key and a plurality of enabling key blocks (EKB) are applied in a portable device.
FIG. 21 is a diagram illustrating an example of content self-recording processing to which a sub key is applied in a portable device.
FIG. 22 is a flowchart illustrating an example of content self-recording processing to which a sub key is applied in a portable device.
FIG. 23 is a diagram illustrating content import processing from a portable device to a PC.
FIG. 24 is a flowchart for explaining content import processing from a portable device to a PC.
[Explanation of symbols]
11 Content provider
12 Service Provider
13 Key Management Center
30 user devices
31 PC
32 Portable Device (PD)
51 Encrypted content
52 Usage Rights Information
53 Service data
101 CPU (Central processing Unit)
102 ROM (Read-Only-Memory)
103 RAM (Random Access Memory)
104
105 bridge
106 External bus
107 interface
108 keyboard
109 pointing device
110 display
111 HDD (Hard Disk Drive)
112 drive
114 PD (portable device) connection port
115 Voice input / output interface
116 communication unit
121 Removable recording medium
122 Portable Device
152 Power supply circuit
153 CPU
154 RAM
155 ROM
157 I / O I / F
159 DSP
160 Storage media controller or drive
161 storage media
162 Operation key controller
163 D / A converter
164 Amplifier circuit
165 output section
166 LCD controller
167 display
171 Input I / F
172 PC
201 version
202 depth
203 Data pointer
204 Tag pointer
205 Signature pointer
206 Data part
207 Tag part
208 signature
301 Root key
302 Node key
303 Leaf Key
304 Category node
350 root node
351 T system node
352 T service node
353 T hard node
354 Service Provider Node
355 leaf
401 Service data
402 Encrypted content file
403 Usage right information
411 EKB (H)
412 HDNK
421 AV index file
422 header information
423 Index file information
424 AV file
425 Usage condition information
451 Leaf ID
452 Content ID
453 Terms of use information
454 Usage status information
455 MAC
501 PC
502 Portable device (PD)
511 Encrypted content file
512 AV index file
513 service data
514 Sequence page
601 service data
602 Encrypted content file
611 EKB (H)
612 HDNK
621 AV index file
622 Sequence page
701 Portable device
702 DNK (HDNK)
703 EKB (H)
704 Service data for self-recording
705 Terms of use for self-recording
706 EKB for self-recording
711 Encrypted content file
712 AV index file
713 Sequence page
810 Portable Device (PD)
811 Encrypted content
812 Secure information
813 EKB
814 Key information
815 AV index file
820 PC
821 Encrypted content
822 Secure information
823 EKB
824 key information
825 Attribute information
826 public key certificate
827 Signature
Claims (17)
暗号化コンテンツを格納するとともに、コンテンツ利用条件情報を含むインデックスファイルを記憶した記憶手段と、
前記インデックスファイル中のコンテンツ利用条件情報に基づいてコンテンツ利用可否を判定し、コンテンツ利用可の判定に基づいて、暗号化コンテンツの復号に適用するコンテンツキーKc取得処理を実行する制御手段と、
を有し、
前記コンテンツ利用条件情報は、
有効化キーブロック(EKB)配信ツリー構成におけるリーフ識別子としてのリーフIDと、
コンテンツ識別子としてのコンテンツIDと、
コンテンツの利用条件情報と、
コンテンツ利用ステータス情報とを含む構成であることを特徴とする情報処理装置。An information processing apparatus that executes content reproduction processing,
Storage means for storing encrypted content and storing an index file including content usage condition information;
Control means for determining whether or not the content can be used based on content usage condition information in the index file, and executing a content key Kc acquisition process applied to decryption of the encrypted content based on the determination of content usage;
I have a,
The content usage condition information is
A leaf ID as a leaf identifier in the enabling key block (EKB) distribution tree configuration;
A content ID as a content identifier;
Content usage condition information,
An information processing apparatus having a configuration including content usage status information .
前記制御手段は、
前記MACと、前記コンテンツ利用条件情報に基づいて算出したMACとの比較に基づいて、前記コンテンツ利用条件情報の改竄の有無を判定し、改竄無しの判定を条件として、前記コンテンツキー取得処理を実行する構成を有することを特徴とする請求項1に記載の情報処理装置。The index file includes a message authentication code (MAC) as a falsification verification value generated based on at least the content usage condition information,
The control means includes
Based on the comparison between the MAC and the MAC calculated based on the content usage condition information, it is determined whether the content usage condition information is falsified, and the content key acquisition process is executed on the condition that there is no falsification. The information processing apparatus according to claim 1, further comprising:
コンテンツキーKcにより暗号化されたコンテンツであり、前記コンテンツキーKcは、有効化キーブロック(EKB)配信ツリー構成を適用して提供される有効化キーブロック(EKB)の復号により取得可能なキーの適用によってのみ取得可能なキーであり、
前記制御手段は、
前記有効化キーブロック(EKB)の復号処理によるコンテンツキー取得処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。The encrypted content is
The content key Kc is a content encrypted by a content key Kc, and the content key Kc is a key that can be obtained by decryption of an enabling key block (EKB) provided by applying an enabling key block (EKB) distribution tree configuration. A key that can be obtained only by application,
The control means includes
The information processing apparatus according to claim 1, wherein the content key acquisition process is performed by a decryption process of the validation key block (EKB).
コンテンツの利用可能期間、利用可能回数を含む構成であることを特徴とする請求項1に記載の情報処理装置。The content usage condition information is
The information processing apparatus according to claim 1, wherein the information processing apparatus includes a content usable period and a usable number of times.
コンテンツに対応する属性情報を含むモバイルクイックタイムフォーマットに従ったデータ構成を有することを特徴とする請求項1に記載の情報処理装置。The index file is
The information processing apparatus according to claim 1, wherein the information processing apparatus has a data configuration according to a mobile quick time format including attribute information corresponding to content.
外部のコンテンツ出力機器から前記暗号化コンテンツを含む暗号化コンテンツファィルと、前記インデックスファイルを入力し、 An encrypted content file including the encrypted content and an index file are input from an external content output device,
前記制御手段は、 The control means includes
前記暗号化コンテンツファイルと、前記インデックスファイルを前記記憶手段に格納するとともに、前記利用条件情報を含むデータに基づく改竄検証値としてのメッセージ認証符号(MAC)を前記記憶手段に格納する処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。 The encrypted content file and the index file are stored in the storage unit, and a message authentication code (MAC) as a falsification verification value based on data including the use condition information is stored in the storage unit. The information processing apparatus according to claim 1, wherein the information processing apparatus is configured.
前記利用条件情報を含むデータに基づく改竄検証値としてのメッセージ認証符号(MAC)を、特定のアクセス許可プログラムに従ってアクセス可能な前記記憶手段のリードインエリアに書き込む処理を実行する構成であることを特徴とする請求項6に記載の情報処理装置。 The message authentication code (MAC) as a falsification verification value based on the data including the use condition information is configured to execute a process of writing in a lead-in area of the storage unit accessible according to a specific access permission program. The information processing apparatus according to claim 6.
前記利用条件情報を含むデータに基づく改竄検証値としてのメッセージ認証符号(MAC)と、コンテンツの復号処理に適用するコンテンツキーKcの生成に要するサブキーKsubを対応付けて、特定のアクセス許可プログラムに従ってアクセス可能な前記記憶手段のリードインエリアに書き込む処理を実行する構成であることを特徴とする請求項6に記載の情報処理装置。Access according to a specific access permission program by associating a message authentication code (MAC) as a falsification verification value based on the data including the use condition information and a sub key Ksub required for generating a content key Kc applied to content decryption processing The information processing apparatus according to claim 6, wherein the information processing apparatus is configured to execute a process of writing in a possible lead-in area of the storage unit.
コンテンツをコンテンツキーKcで暗号化した暗号化コンテンツE(Kc,Content)と、Encrypted content E (Kc, Content) obtained by encrypting the content with the content key Kc;
有効化キーブロック(EKB)配信ツリー構成を適用して提供される有効化キーブロック(EKB)の復号により取得可能なキーKrootによって、コンテンツID(CID)と、前記コンテンツキーKcの生成に要するメインキーKcmとを暗号化したデータE(Kroot,CID+Kcm)と、 Main key required to generate the content ID (CID) and the content key Kc by using the key Kroot that can be obtained by decrypting the enabling key block (EKB) provided by applying the enabling key block (EKB) distribution tree structure. Data E (Kroot, CID + Kcm) obtained by encrypting the key Kcm,
前記有効化キーブロック(EKB)と、 The enabling key block (EKB);
を含む暗号化コンテンツファイルを前記記憶手段に格納する処理を実行する構成であることを特徴とする請求項6に記載の情報処理装置。 The information processing apparatus according to claim 6, wherein the information processing apparatus is configured to execute a process of storing an encrypted content file including the file in the storage unit.
コンテンツ利用条件情報を含むインデックスファイル中のコンテンツ利用条件情報に基づいてコンテンツ利用可否を判定する判定処理ステップと、
コンテンツ利用可の判定に基づいて、暗号化コンテンツの復号に適用するコンテンツキーKc取得処理を実行するコンテンツキー取得処理ステップと、
前記コンテンツキーKcに基づく暗号化コンテンツの復号を実行する復号処理ステップを有し、
前記コンテンツ利用条件情報は、
有効化キーブロック(EKB)配信ツリー構成におけるリーフ識別子としてのリーフIDと、
コンテンツ識別子としてのコンテンツIDと、
コンテンツの利用条件情報と、
コンテンツ利用ステータス情報とを含む構成であることを特徴とする情報処理方法。 An information processing method for executing content reproduction processing in an information processing device ,
A determination processing step for determining whether or not the content can be used based on the content usage condition information in the index file including the content usage condition information;
A content key acquisition process step of executing a content key Kc acquisition process applied to decryption of the encrypted content based on the determination of content availability;
A decryption processing step for decrypting the encrypted content based on the content key Kc ;
The content usage condition information is
A leaf ID as a leaf identifier in the enabling key block (EKB) distribution tree configuration;
A content ID as a content identifier;
Content usage condition information,
An information processing method characterized by comprising a content usage status information .
前記情報処理方法は、さらに、
前記MACと、前記コンテンツ利用条件情報に基づいて算出したMACとの比較に基づいて、前記コンテンツ利用条件情報の改竄の有無を判定するステップを有し、
前記コンテンツキー取得処理ステップは、
前記コンテンツ利用条件情報の改竄無しの判定を条件として実行することを特徴とする請求項10に記載の情報処理方法。The index file includes a message authentication code (MAC) as a falsification verification value generated based on at least the content usage condition information,
The information processing method further includes:
Determining whether the content usage rule information has been tampered with based on a comparison between the MAC and the MAC calculated based on the content usage rule information;
The content key acquisition processing step includes:
The information processing method according to claim 10 , wherein the content usage condition information is determined to be not falsified as a condition.
コンテンツキーKcにより暗号化されたコンテンツであり、前記コンテンツキーKcは、有効化キーブロック(EKB)配信ツリー構成を適用して提供される有効化キーブロック(EKB)の復号により取得可能なキーの適用によってのみ取得可能なキーであり、
前記コンテンツキー取得処理ステップは、
前記有効化キーブロック(EKB)の復号処理によるコンテンツキー取得処理を実行する構成であることを特徴とする請求項10に記載の情報処理方法。The encrypted content is
The content key Kc is a content encrypted by a content key Kc, and the content key Kc is a key that can be obtained by decryption of an enabling key block (EKB) provided by applying an enabling key block (EKB) distribution tree configuration. A key that can be obtained only by application,
The content key acquisition processing step includes:
The information processing method according to claim 10 , wherein the content key acquisition process is performed by the decryption process of the validation key block (EKB).
外部のコンテンツ出力機器から前記暗号化コンテンツを含む暗号化コンテンツファイルと、前記インデックスファイルを入力するステップと、An encrypted content file containing the encrypted content from an external content output device, and inputting the index file;
前記暗号化コンテンツファイルと、前記インデックスファイルを前記記憶手段に格納するとともに、前記利用条件情報を含むデータに基づく改竄検証値としてのメッセージ認証符号(MAC)を前記記憶手段に格納する処理を実行するステップと、 The encrypted content file and the index file are stored in the storage unit, and a message authentication code (MAC) as a falsification verification value based on data including the use condition information is stored in the storage unit. Steps,
を有することを特徴とする請求項10に記載の情報処理方法。 The information processing method according to claim 10, further comprising:
前記利用条件情報を含むデータに基づく改竄検証値としてのメッセージ認証符号(MAC)を、特定のアクセス許可プログラムに従ってアクセス可能な前記記憶手段のリードインエリアに書き込む処理を実行することを特徴とする請求項13に記載の情報処理方法。 A process of writing a message authentication code (MAC) as a falsification verification value based on data including the use condition information into a lead-in area of the storage means accessible according to a specific access permission program is performed. Item 14. The information processing method according to Item 13.
前記利用条件情報を含むデータに基づく改竄検証値としてのメッセージ認証符号(MAC)と、コンテンツの復号処理に適用するコンテンツキーKcの生成に要するサブキーKsubを対応付けて、特定のアクセス許可プログラムに従ってアクセス可能な前記記憶手段のリードインエリアに書き込む処理を実行することを特徴とする請求項13に記載の情報処理方法。Access according to a specific access permission program by associating a message authentication code (MAC) as a falsification verification value based on the data including the use condition information and a sub key Ksub required for generating a content key Kc applied to content decryption processing The information processing method according to claim 13, wherein a process of writing in a possible lead-in area of the storage unit is executed.
コンテンツをコンテンツキーKcで暗号化した暗号化コンテンツE(Kc,Content)と、 Encrypted content E (Kc, Content) obtained by encrypting the content with the content key Kc;
有効化キーブロック(EKB)配信ツリー構成を適用して提供される有効化キーブロック(EKB)の復号により取得可能なキーKrootによって、コンテンツID(CID)と、前記コンテンツキーKcの生成に要するメインキーKcmとを暗号化したデータE(Kroot,CID+Kcm)と、 Main key required to generate the content ID (CID) and the content key Kc by using the key Kroot that can be obtained by decrypting the enabling key block (EKB) provided by applying the enabling key block (EKB) distribution tree structure. Data E (Kroot, CID + Kcm) obtained by encrypting the key Kcm,
前記有効化キーブロック(EKB)と、 The enabling key block (EKB);
を含む暗号化コンテンツファイルを前記記憶手段に格納する処理を実行することを特徴とする請求項13に記載の情報処理方法。 The information processing method according to claim 13, wherein a process of storing an encrypted content file including the file in the storage unit is executed.
コンテンツ利用条件情報を含むインデックスファイル中のコンテンツ利用条件情報に基づいてコンテンツ利用可否を判定する判定処理ステップと、
コンテンツ利用可の判定に基づいて、暗号化コンテンツの復号に適用するコンテンツキーKc取得処理を実行するコンテンツキー取得処理ステップと、
前記コンテンツキーKcに基づく暗号化コンテンツの復号を実行する復号処理ステップを有し、
前記コンテンツ利用条件情報は、
有効化キーブロック(EKB)配信ツリー構成におけるリーフ識別子としてのリーフIDと、
コンテンツ識別子としてのコンテンツIDと、
コンテンツの利用条件情報と、
コンテンツ利用ステータス情報とを含む構成であることを特徴とするコンピュータ・プログラム。 A computer program for executing information processing for executing content reproduction processing in an information processing apparatus ,
A determination processing step for determining whether or not the content can be used based on the content usage condition information in the index file including the content usage condition information;
A content key acquisition process step of executing a content key Kc acquisition process applied to decryption of the encrypted content based on the determination of content availability;
A decryption processing step for decrypting the encrypted content based on the content key Kc ;
The content usage condition information is
A leaf ID as a leaf identifier in the enabling key block (EKB) distribution tree configuration;
A content ID as a content identifier;
Content usage condition information,
A computer program comprising content usage status information .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002149266A JP4192499B2 (en) | 2002-05-23 | 2002-05-23 | Information processing apparatus, information processing method, content input / output processing system, content input / output processing method, and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002149266A JP4192499B2 (en) | 2002-05-23 | 2002-05-23 | Information processing apparatus, information processing method, content input / output processing system, content input / output processing method, and computer program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003345660A JP2003345660A (en) | 2003-12-05 |
JP4192499B2 true JP4192499B2 (en) | 2008-12-10 |
Family
ID=29767492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002149266A Expired - Fee Related JP4192499B2 (en) | 2002-05-23 | 2002-05-23 | Information processing apparatus, information processing method, content input / output processing system, content input / output processing method, and computer program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4192499B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4626221B2 (en) | 2004-06-24 | 2011-02-02 | ソニー株式会社 | Information processing apparatus, information recording medium, information processing method, and computer program |
MX2007008543A (en) * | 2005-01-13 | 2007-09-07 | Samsung Electronics Co Ltd | Device and method for digital rights management. |
KR101147763B1 (en) * | 2005-01-19 | 2012-05-25 | 엘지전자 주식회사 | Data decryption method and apparatus, recoding medium comprising encrypted data |
JP2008027007A (en) | 2006-07-18 | 2008-02-07 | Canon Inc | Content management system and its control method |
JP4587399B2 (en) * | 2006-08-22 | 2010-11-24 | Kddi株式会社 | Content delivery method and system |
EP3293653A1 (en) * | 2016-09-09 | 2018-03-14 | Nagravision S.A. | A system for decrypting and rendering content |
-
2002
- 2002-05-23 JP JP2002149266A patent/JP4192499B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003345660A (en) | 2003-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4622087B2 (en) | Information processing apparatus, information processing method, and program storage medium | |
US8712048B2 (en) | Information recording medium and information processing method for accessing content with license or copyright protection | |
JP4078802B2 (en) | Information processing system, information processing method, information processing apparatus, information recording medium, and program recording medium | |
US8393005B2 (en) | Recording medium, and device and method for recording information on recording medium | |
JP4581246B2 (en) | Information processing system, information processing method, and program recording medium | |
JP4710132B2 (en) | Information processing system, information processing method, and program recording medium | |
US10097347B2 (en) | Content providing system, content reproducing device, content reproducing method, and computer program | |
JP3821768B2 (en) | Information recording medium, information processing apparatus, information processing method, and computer program | |
JP4023083B2 (en) | Information processing system, information processing method, information recording medium, and program providing medium | |
WO2001078298A1 (en) | Information processing system and method | |
KR20050026905A (en) | Information processing device, information processing method, and computer program | |
KR20050035513A (en) | License management device, license management method, and computer program | |
US20150046719A1 (en) | Information processing device, information processing method, and program | |
KR100881524B1 (en) | Data recording apparatus, data recording method, and data transfer system | |
WO2002087147A1 (en) | Information recording/reproducing apparatus and method | |
US7503077B2 (en) | Method, storage medium, and apparatus to prevent use or distribution of unauthorized copies of storage medium contents | |
JP4370721B2 (en) | Information recording apparatus, information reproducing apparatus, information recording method, information reproducing method, key update terminal apparatus, generation management key update method, information recording medium, and program providing medium | |
JP4192499B2 (en) | Information processing apparatus, information processing method, content input / output processing system, content input / output processing method, and computer program | |
JP2005050176A (en) | Production/management system of information recording medium, information processor, method, and computer program | |
JP4110511B2 (en) | Content use management system, information processing apparatus and method, and computer program | |
JP4806847B2 (en) | Information processing system, information processing method, information recording medium, and program recording medium | |
JP2003348067A (en) | Apparatus and method for information processing, and computer program | |
JP3988385B2 (en) | Information processing system, information processing method, information recording medium, and program recording medium | |
JP4337811B2 (en) | Data recording device | |
JP2010288291A (en) | Information processing system, information processing method and program recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050407 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080604 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080610 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080731 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080826 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080908 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111003 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |