(57)【要約】【課題】情報処理装置各々に対応した適正なコンテンツの選択および再生制御を可能とした構成を提供する。【解決手段】セキュアＶＭが情報記録媒体に記録されたコンテンツコードを取得してコンテンツコードに従ったセキュリティチェック処理を実行し、このセキュリティチェックに際して取得する装置情報をアプリケーション実行部のコンテンツ制御部が取得し、装置情報に基づいて装置が最適な再生が可能なコンテンツを選択し再生を行なう。本構成により、装置の持つ機能や再生処理実行環境に応じた最適なコンテンツの選択、再生が実現される。【選択図】図９
2008198272.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であり、
情報記録媒体に記録されたコンテンツの再生制御を実行するコンテンツ制御部と、
情報記録媒体に記録されたデータ処理プログラムを含むコンテンツコードを取得し、該コンテンツコードに従ったセキュリティチェック処理を実行するセキュリティチェック実行部とを有し、
前記コンテンツ制御部は、
前記セキュリティチェック実行部におけるセキュリティチェック処理において取得した装置情報を受領し、受領した装置情報に基づいて装置に適応した再生コンテンツの選択または再生態様の決定処理を実行する構成であることを特徴とする情報処理装置。
【請求項２】
前記セキュリティチェック実行部は、
前記コンテンツコードに含まれる装置確認処理用コードに基づいて、情報処理装置の記憶部から装置識別子を含む装置証明書を取得して装置確認処理を実行し、装置確認処理の後、前記装置証明書に記録された装置識別子を取得し、さらに取得した装置識別子に対応するコンテンツコードを適用したセキュリティチェック処理を実行する構成であり、
前記コンテンツ制御部は、
前記装置証明書に記録された装置識別子を取得して該装置識別子に基づいて装置に適応した再生コンテンツの選択または再生態様の決定処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記セキュリティチェック実行部は、
前記コンテンツコードに基づくセキュリティチェック処理として、システム情報を格納したメモリからの装置情報取得処理を実行する構成であり、
前記コンテンツ制御部は、
前記システム情報を取得して該システム情報に基づいてシステム状態に適応した再生コンテンツの選択または再生態様の決定処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記セキュリティチェック実行部は、
コンテンツ再生実行中におけるシステム情報を取得し、
前記コンテンツ制御部は、
前記コンテンツ再生実行中におけるシステム情報に基づいて、最適なコンテンツ再生が実行されるように再生コンテンツの選択または再生態様の切り替えを実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記システム情報は、コンテンツ再生処理実行中におけるシステムのハードウェアの利用情報、またはソフトウェアの実行情報の少なくともいずれかのシステム環境情報を含み、
前記コンテンツ制御部は、
前記システム環境情報に基づいて、最適なコンテンツ再生が実行されるように再生コンテンツの選択または再生態様の切り替えを実行する構成であることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記セキュリティチェック実行部は、セキュリティチェック処理において取得した装置情報を、前記コンテンツ制御部のアクセス可能なレジスタに書き込み、
前記コンテンツ制御部は、前記レジスタから装置情報の読み取りを実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記情報処理装置は、
デバイスおよびグループ対応データとして、
階層構成を持つ鍵ツリーにおいて、情報処理装置の対応付けられた最下層ノードとしてのリーフに対応して設定されたデバイス固有鍵、リーフから頂点ノードに至るルート上の各ノードに対応して設定されたグループ鍵、および頂点ノードに対応して設定されたデバイス製造エンティテイ鍵と、
モデルバージョンパッケージとして、
情報処理装置のモデルおよびバージョンに対応するモデル鍵とバージョン鍵と、
鍵管理センタ公開鍵とを格納したメモリを有し、
前記セキュリティチェック実行部は、
前記コンテンツコードの署名検証処理を、前記鍵管理センタ公開鍵を適用して実行し、
前記コンテンツコードを適用したデータ処理において、前記デバイス固有鍵、またはグループ鍵、またはデバイス製造エンティテイ鍵、またはモデル鍵、またはバージョン鍵のいずれかの鍵を適用したコンテンツコード構成データの復号処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項８】
情報処理装置においてコンテンツ再生制御を実行する情報処理方法であり、
コンテンツ制御部が、情報記録媒体に記録されたコンテンツの再生制御を実行するコンテンツ制御ステップと、
セキュリティチェック実行部が、情報記録媒体に記録されたデータ処理プログラムを含むコンテンツコードを取得し、該コンテンツコードに従ったセキュリティチェック処理を実行するセキュリティチェック実行ステップを有し、
前記コンテンツ制御ステップは、
前記セキュリティチェック実行部におけるセキュリティチェック処理において取得した装置情報を受領し、受領した装置情報に基づいて装置に適応した再生コンテンツの選択または再生態様の決定処理を実行するステップであることを特徴とする情報処理方法。
【請求項９】
前記セキュリティチェック実行ステップは、
前記コンテンツコードに含まれる装置確認処理用コードに基づいて、情報処理装置の記憶部から装置識別子を含む装置証明書を取得して装置確認処理を実行し、装置確認処理の後、前記装置証明書に記録された装置識別子を取得し、さらに取得した装置識別子に対応するコンテンツコードを適用したセキュリティチェック処理を実行するステップであり、
前記コンテンツ制御ステップは、
前記装置証明書に記録された装置識別子を取得して該装置識別子に基づいて装置に適応した再生コンテンツの選択または再生態様の決定処理を実行するステップであることを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
前記セキュリティチェック実行ステップは、
前記コンテンツコードに基づくセキュリティチェック処理として、システム情報を格納したメモリからの装置情報取得処理を実行するステップを含み、
前記コンテンツ制御ステップは、
前記システム情報を取得して該システム情報に基づいてシステム状態に適応した再生コンテンツの選択または再生態様の決定処理を実行することを特徴とする請求項８に記載の情報処理方法。
【請求項１１】
前記セキュリティチェック実行ステップは、
コンテンツ再生実行中におけるシステム情報を取得するステップを含み、
前記コンテンツ制御ステップは、
前記コンテンツ再生実行中におけるシステム情報に基づいて、最適なコンテンツ再生が実行されるように再生コンテンツの選択または再生態様の切り替えを実行することを特徴とする請求項８に記載の情報処理方法。
【請求項１２】
前記システム情報は、コンテンツ再生処理実行中におけるシステムのハードウェアの利用情報、またはソフトウェアの実行情報の少なくともいずれかのシステム環境情報を含み、
前記コンテンツ制御ステップは、
前記システム環境情報に基づいて、最適なコンテンツ再生が実行されるように再生コンテンツの選択または再生態様の切り替えを実行することを特徴とする請求項１１に記載の情報処理方法。
【請求項１３】
前記セキュリティチェック実行ステップは、
セキュリティチェック処理において取得した装置情報を、前記コンテンツ制御部のアクセス可能なレジスタに書き込むステップを有し、
前記コンテンツ制御ステップは、
前記レジスタから装置情報の読み取りを実行して読み取り情報に従ったコンテンツの再生制御を実行することを特徴とする請求項８に記載の情報処理方法。
【請求項１４】
前記情報処理装置は、
デバイスおよびグループ対応データとして、
階層構成を持つ鍵ツリーにおいて、情報処理装置の対応付けられた最下層ノードとしてのリーフに対応して設定されたデバイス固有鍵、リーフから頂点ノードに至るルート上の各ノードに対応して設定されたグループ鍵、および頂点ノードに対応して設定されたデバイス製造エンティテイ鍵と、
モデルバージョンパッケージとして、
情報処理装置のモデルおよびバージョンに対応するモデル鍵とバージョン鍵と、
鍵管理センタ公開鍵とを格納したメモリを有し、
前記セキュリティチェック実行ステップは、
前記コンテンツコードの署名検証処理を、前記鍵管理センタ公開鍵を適用して実行し、
前記コンテンツコードを適用したデータ処理において、前記デバイス固有鍵、またはグループ鍵、またはデバイス製造エンティテイ鍵、またはモデル鍵、またはバージョン鍵のいずれかの鍵を適用したコンテンツコード構成データの復号処理を実行することを特徴とする請求項８に記載の情報処理方法。
【請求項１５】
情報処理装置においてコンテンツ再生制御を実行させるコンピュータ・プログラムであり、
コンテンツ制御部に、情報記録媒体に記録されたコンテンツの再生制御を実行させるコンテンツ制御ステップと、
セキュリティチェック実行部に、情報記録媒体に記録されたデータ処理プログラムを含むコンテンツコードを取得させ、該コンテンツコードに従ったセキュリティチェック処理を実行させるセキュリティチェック実行ステップを有し、
前記コンテンツ制御ステップは、
前記セキュリティチェック実行部におけるセキュリティチェック処理において取得した装置情報を受領し、受領した装置情報に基づいて装置に適応した再生コンテンツの選択または再生態様の決定処理を実行させるステップであることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに、詳細には、情報記録媒体に記録されたコンテンツの再生に際して、再生装置の機能や処理能力に応じた最適なコンテンツの選択、または最適な再生処理態様を決定したコンテンツ再生を行なう情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
音楽等のオーディオデータ、映画等の画像データ、ゲームプログラム、各種アプリケーションプログラム等、様々なソフトウエアデータ（以下、これらをコンテンツ（Content）と呼ぶ）は、記録メディア、例えば、青色レーザを適用したＢｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標）、あるいはＤＶＤ(Digital Versatile Disc)、ＭＤ(Mini Disc)、ＣＤ(Compact Disc)にデジタルデータとして格納することができる。特に、青色レーザを利用したＢｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標）は、高密度記録可能なディスクであり大容量の映像コンテンツなどを高画質データとして記録することができる。
【０００３】
これら様々な情報記録媒体（記録メディア）にデジタルコンテンツが格納され、ユーザに提供される。ユーザは、所有するＰＣ（Personal Computer）、ディスクプレーヤ等の再生装置においてコンテンツの再生、利用を行う。
【０００４】
コンテンツ再生を実行する機器は様々な機器であり、携帯型の簡易な再生装置や、高機能な据え置き型のプレーヤ専用装置、さらにはＰＣなどの様々な機器においてコンテンツの再生が実行される。これらの機器は、それぞれに実行可能な機能が異なる。情報記録媒体に格納されたコンテンツによっては、正しいコンテンツの再生を行なうためには処理速度の高いＣＰＵや所定容量以上のメモリ、あるいは特定の処理アプリケーションの実装が必要となる場合がある。
【０００５】
コンテンツ再生に要求される仕様を持たない再生機器ではコンテンツの再生が不可能となる場合や、コンテンツ本来の持つ品質での再生ができないなどの問題が発生する。例えばＪａｖａ（登録商標）などのプログラミング実行環境やグラフィックス処理に関する機能においては、再生機器間の処理能力の差や規格上許されている範囲での実装方法の差などが大きく、この機能差に起因して、再生装置（Ｐｌａｙｅｒ）のモデルごとに動作に差が出る場合がある。例えば、特許文献１では、処理能力に適したユーザインターフェースアプリケーション及び制御ソフトウェアを取得できるようにしている。
【特許文献１】特開２００２−３４２１９８
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、互換性を要する光ディスクの分野において、最適なコンテンツ選択のためだけの処理能力特定するためだけの手段を全ての装置において必須の要件とするのは望ましくない。更に、万が一処理能力の低い装置により、高い処理能力を要求されるコンテンツ再生を行ってしまった場合には、ハングアップすることも考えられる。
【０００７】
本発明は、このような状況に鑑みてなされたものであり、情報記録媒体の格納コンテンツの再生処理を行なう情報処理装置において、再生処理を実行する装置情報を取得して、その装置に対応した最適なコンテンツ再生が実現されるようにコンテンツや再生処理態様を決定して再生を行なう構成とすることで、装置に対応した最適なコンテンツ再生を実現する情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の側面は、
情報処理装置であり、
情報記録媒体に記録されたコンテンツの再生制御を実行するコンテンツ制御部と、
情報記録媒体に記録されたデータ処理プログラムを含むコンテンツコードを取得し、該コンテンツコードに従ったセキュリティチェック処理を実行するセキュリティチェック実行部とを有し、
前記コンテンツ制御部は、
前記セキュリティチェック実行部におけるセキュリティチェック処理において取得した装置情報を受領し、受領した装置情報に基づいて装置に適応した再生コンテンツの選択または再生態様の決定処理を実行する構成であることを特徴とする情報処理装置にある。
【０００９】
さらに、本発明の情報処理装置の一実施態様において、前記セキュリティチェック実行部は、前記コンテンツコードに含まれる装置確認処理用コードに基づいて、情報処理装置の記憶部から装置識別子を含む装置証明書を取得して装置確認処理を実行し、装置確認処理の後、前記装置証明書に記録された装置識別子を取得し、さらに取得した装置識別子に対応するコンテンツコードを適用したセキュリティチェック処理を実行する構成であり、前記コンテンツ制御部は、前記装置証明書に記録された装置識別子を取得して該装置識別子に基づいて装置に適応した再生コンテンツの選択または再生態様の決定処理を実行する構成であることを特徴とする。
【００１０】
さらに、本発明の情報処理装置の一実施態様において、前記セキュリティチェック実行部は、前記コンテンツコードに基づくセキュリティチェック処理として、システム情報を格納したメモリからの装置情報取得処理を実行する構成であり、前記コンテンツ制御部は、前記システム情報を取得して該システム情報に基づいてシステム状態に適応した再生コンテンツの選択または再生態様の決定処理を実行する構成であることを特徴とする。
【００１１】
さらに、本発明の情報処理装置の一実施態様において、前記セキュリティチェック実行部は、コンテンツ再生実行中におけるシステム情報を取得し、前記コンテンツ制御部は、前記コンテンツ再生実行中におけるシステム情報に基づいて、最適なコンテンツ再生が実行されるように再生コンテンツの選択または再生態様の切り替えを実行する構成であることを特徴とする。
【００１２】
さらに、本発明の情報処理装置の一実施態様において、前記システム情報は、コンテンツ再生処理実行中におけるシステムのハードウェアの利用情報、またはソフトウェアの実行情報の少なくともいずれかのシステム環境情報を含み、前記コンテンツ制御部は、前記システム環境情報に基づいて、最適なコンテンツ再生が実行されるように再生コンテンツの選択または再生態様の切り替えを実行する構成であることを特徴とする。
【００１３】
さらに、本発明の情報処理装置の一実施態様において、前記セキュリティチェック実行部は、セキュリティチェック処理において取得した装置情報を、前記コンテンツ制御部のアクセス可能なレジスタに書き込み、前記コンテンツ制御部は、前記レジスタから装置情報の読み取りを実行する構成であることを特徴とする。
【００１４】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、デバイスおよびグループ対応データとして、階層構成を持つ鍵ツリーにおいて、情報処理装置の対応付けられた最下層ノードとしてのリーフに対応して設定されたデバイス固有鍵、リーフから頂点ノードに至るルート上の各ノードに対応して設定されたグループ鍵、および頂点ノードに対応して設定されたデバイス製造エンティテイ鍵と、モデルバージョンパッケージとして、情報処理装置のモデルおよびバージョンに対応するモデル鍵とバージョン鍵と、鍵管理センタ公開鍵とを格納したメモリを有し、前記セキュリティチェック実行部は、前記コンテンツコードの署名検証処理を、前記鍵管理センタ公開鍵を適用して実行し、前記コンテンツコードを適用したデータ処理において、前記デバイス固有鍵、またはグループ鍵、またはデバイス製造エンティテイ鍵、またはモデル鍵、またはバージョン鍵のいずれかの鍵を適用したコンテンツコード構成データの復号処理を実行する構成であることを特徴とする。
【００１５】
さらに、本発明の第２の側面は、
情報処理装置においてコンテンツ再生制御を実行する情報処理方法であり、
コンテンツ制御部が、情報記録媒体に記録されたコンテンツの再生制御を実行するコンテンツ制御ステップと、
セキュリティチェック実行部が、情報記録媒体に記録されたデータ処理プログラムを含むコンテンツコードを取得し、該コンテンツコードに従ったセキュリティチェック処理を実行するセキュリティチェック実行ステップを有し、
前記コンテンツ制御ステップは、
前記セキュリティチェック実行部におけるセキュリティチェック処理において取得した装置情報を受領し、受領した装置情報に基づいて装置に適応した再生コンテンツの選択または再生態様の決定処理を実行するステップであることを特徴とする情報処理方法にある。
【００１６】
さらに、本発明の情報処理方法の一実施態様において、前記セキュリティチェック実行ステップは、前記コンテンツコードに含まれる装置確認処理用コードに基づいて、情報処理装置の記憶部から装置識別子を含む装置証明書を取得して装置確認処理を実行し、装置確認処理の後、前記装置証明書に記録された装置識別子を取得し、さらに取得した装置識別子に対応するコンテンツコードを適用したセキュリティチェック処理を実行するステップであり、前記コンテンツ制御ステップは、前記装置証明書に記録された装置識別子を取得して該装置識別子に基づいて装置に適応した再生コンテンツの選択または再生態様の決定処理を実行するステップであることを特徴とする。
【００１７】
さらに、本発明の情報処理方法の一実施態様において、前記セキュリティチェック実行ステップは、前記コンテンツコードに基づくセキュリティチェック処理として、システム情報を格納したメモリからの装置情報取得処理を実行するステップを含み、前記コンテンツ制御ステップは、前記システム情報を取得して該システム情報に基づいてシステム状態に適応した再生コンテンツの選択または再生態様の決定処理を実行することを特徴とする。
【００１８】
さらに、本発明の情報処理方法の一実施態様において、前記セキュリティチェック実行ステップは、コンテンツ再生実行中におけるシステム情報を取得するステップを含み、前記コンテンツ制御ステップは、前記コンテンツ再生実行中におけるシステム情報に基づいて、最適なコンテンツ再生が実行されるように再生コンテンツの選択または再生態様の切り替えを実行することを特徴とする。
【００１９】
さらに、本発明の情報処理方法の一実施態様において、前記システム情報は、コンテンツ再生処理実行中におけるシステムのハードウェアの利用情報、またはソフトウェアの実行情報の少なくともいずれかのシステム環境情報を含み、前記コンテンツ制御ステップは、前記システム環境情報に基づいて、最適なコンテンツ再生が実行されるように再生コンテンツの選択または再生態様の切り替えを実行することを特徴とする。
【００２０】
さらに、本発明の情報処理方法の一実施態様において、前記セキュリティチェック実行ステップは、セキュリティチェック処理において取得した装置情報を、前記コンテンツ制御部のアクセス可能なレジスタに書き込むステップを有し、前記コンテンツ制御ステップは、前記レジスタから装置情報の読み取りを実行して読み取り情報に従ったコンテンツの再生制御を実行することを特徴とする。
【００２１】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理装置は、デバイスおよびグループ対応データとして、階層構成を持つ鍵ツリーにおいて、情報処理装置の対応付けられた最下層ノードとしてのリーフに対応して設定されたデバイス固有鍵、リーフから頂点ノードに至るルート上の各ノードに対応して設定されたグループ鍵、および頂点ノードに対応して設定されたデバイス製造エンティテイ鍵と、モデルバージョンパッケージとして、情報処理装置のモデルおよびバージョンに対応するモデル鍵とバージョン鍵と、鍵管理センタ公開鍵とを格納したメモリを有し、前記セキュリティチェック実行ステップは、前記コンテンツコードの署名検証処理を、前記鍵管理センタ公開鍵を適用して実行し、前記コンテンツコードを適用したデータ処理において、前記デバイス固有鍵、またはグループ鍵、またはデバイス製造エンティテイ鍵、またはモデル鍵、またはバージョン鍵のいずれかの鍵を適用したコンテンツコード構成データの復号処理を実行することを特徴とする。
【００２２】
さらに、本発明の第３の側面は、
情報処理装置においてコンテンツ再生制御を実行させるコンピュータ・プログラムであり、
コンテンツ制御部に、情報記録媒体に記録されたコンテンツの再生制御を実行させるコンテンツ制御ステップと、
セキュリティチェック実行部に、情報記録媒体に記録されたデータ処理プログラムを含むコンテンツコードを取得させ、該コンテンツコードに従ったセキュリティチェック処理を実行させるセキュリティチェック実行ステップを有し、
前記コンテンツ制御ステップは、
前記セキュリティチェック実行部におけるセキュリティチェック処理において取得した装置情報を受領し、受領した装置情報に基づいて装置に適応した再生コンテンツの選択または再生態様の決定処理を実行させるステップであることを特徴とするコンピュータ・プログラムにある。
【００２３】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００２４】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００２５】
本発明の一実施例の構成によれば、セキュアＶＭが情報記録媒体に記録されたコンテンツコードを取得してコンテンツコードに従ったセキュリティチェック処理を実行し、このセキュリティチェックに際して取得する装置情報をアプリケーション実行部のコンテンツ制御部が取得し、装置情報に基づいて最適な再生が可能なコンテンツを選択し再生を実行する構成としたので、装置の持つ機能や再生処理実行環境に応じた最適なコンテンツの選択、再生が実現される。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照しながら本発明の情報処理装置、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。
なお、説明は、以下の記載項目に従って行う。
１．情報記録媒体の格納データと、情報処理装置における処理の概要
２．セキュリティチェック処理について
３．情報処理装置の保持する証明書について
４．コンテンツコードを利用した装置確認処理について
５．装置情報に基づく再生コンテンツ制御処理
６．情報処理装置の構成
【００２７】
［１．情報記録媒体の格納データと、情報処理装置における処理の概要］
まず、情報記録媒体の格納データと、情報処理装置の処理概要について説明する。図１に、コンテンツの格納された情報記録媒体１００、ドライブ１２０およびホスト１４０の構成を示す。ドライブ１２０は情報記録媒体１００の駆動アクセスを行い、ホスト１４０は、ドライブ１２０を介して情報記録媒体のデータをアクセスしデータ再生（または記録）アプリケーションによるコンテンツ再生（または記録）処理を実行する。本発明の情報処理装置は、図１に示すドライブとホストを有する構成、あるいはホスト部のみからなる構成のいずれの場合もある。
【００２８】
情報記録媒体１００は、例えば、Ｂｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標）、ＤＶＤなどの情報記録媒体であり、コンテンツを格納した情報記録媒体である。なお、以下の実施例では、情報記録媒体の例としてディスク型の媒体を例として説明するが、本発明は様々な態様の情報記録媒体を用いた構成において適用可能である。
【００２９】
図１に示すように、情報記録媒体１００には、コンテンツ１０１と、コンテンツ１０１が暗号化コンテンツである場合にその復号処理に適用する鍵情報を格納した暗号鍵ブロックであるＭＫＢ（Media Key Block）１０２、同様の復号処理に適用するタイトル鍵を暗号化したデータ（Encrypted CPS Unit Key）等から構成されるタイトル鍵ファイル１０３、コンテンツのコピー・再生制御情報としてのＣＣＩ（Copy Control Information）等を含む使用許諾情報１０４、暗号化コンテンツ１０１の利用に際して実行されるデータ処理プログラムを含むコンテンツコード１０５が格納される。
【００３０】
コンテンツコード１０５には、コンテンツ再生を実行するプレーヤ（再生装置）の正当性などを検証するためのプログラムなどによって構成されるセキュリティチェックコード１０７が含まれる。さらに、情報処理装置の装置確認、例えば情報処理装置に対応するモデル、バージョン、デバイスなどをモデル識別子（モデルＩＤ）、バージョン識別子（バージョンＩＤ）、デバイス識別子（デバイスＩＤ）などに基づいて特定する装置確認処理用コード１０８が含まれる。
【００３１】
コンテンツの再生を実行する情報処理装置は、コンテンツコード１０５に含まれるセキュリティチェックコード１０７に従って、プレーヤ（再生装置）の正当性などの検証処理を実行する。図１に示すホスト１４０におけるセキュアＶＭ１６０がこの処理を実行する。セキュリティチェックコード１０７には、様々な再生装置や再生アプリケーション種別などに応じた処理、すなわちセキュリティチェック処理やコンテンツ再生においてデータ変換処理が必要となる場合に利用される変換データ情報やコード情報が含まれる。
【００３２】
セキュリティチェックコード１０７は、例えばＡ社製のモデルＡ１、バージョンａ２、デバイスＡａ３に対応するセキュリティチェックコード、Ｂ社製のモデルＢ１、バージョンｂ２、デバイスＢｂ３に対応するセキュリティチェックコードなどのように、再生処理を実行するモデルやバージョンに応じたセキュリティチェックコードを格納し、コンテンツを利用しようとする装置は、これらのセキュリティチェックコードから、自装置に対応するセキュリティチェックコードを選択して処理を実行することになる。
【００３３】
コンテンツを利用する情報処理装置は、例えば情報処理装置に相当する「デバイス」、あるいは複数のデバイスの集合として定義される「モデル」あるいはモデルの下位概念としての「バージョン」などの様々な情報処理装置の所属集合に応じた適切なセキュリティチェックコードを選択して処理を行なう。例えば、
デバイス識別子は、個々の情報処理装置固有の識別子として設定される。
モデル識別子は、同一モデルに含まれる複数のデバイス（情報処理装置）に共通に設定される。
バージョン識別子は、同一モデルに含まれる異なるバージョン毎に設定される識別子である。例えば、モデルＡのバージョン１、モデルＡのバージョン２などがある場合に、それぞれのバージョンに対応して個別のバージョン識別子が設定される。
【００３４】
情報処理装置は、装置確認処理用コード１０８の適用処理によって、情報処理装置の所属集合としてのデバイス、モデル、バージョンなどを確認して、変換テーブル１０６やセキュリティチェックコード１０７から自装置に対応するデータを選択してデータ変換処理やセキュリティチェック処理を実行する。
【００３５】
セキュリティチェックコード１０７には、様々な装置モデル、バージョンに対応した複数のセキュリティチェックコードが含まれており、再生を行なう装置は、自装置に対応するセキュリティチェックコードを選択してセキュリティチェック処理を実行する。また、変換テーブル１０６に基づくデータ変換では、たとえばコンテンツ再生時にコンテンツの一部に自装置の装置情報（デバイス、モデル、バージョンのいずれかの識別情報）の埋め込み処理を実行して、例えば再生コンテンツをコピー記録した媒体の流通やネットワークを介して流出した場合の追跡を可能としている。従って、再生装置は、自装置のデバイス識別子や、モデル識別子、バージョン識別子を確認することが必要となる。この確認処理を実行する装置確認処理プログラムが装置確認処理用コード１０８に含まれる。
【００３６】
情報記録媒体１００に格納されたコンテンツ１００の再生を行なおうとする情報処理装置は、情報処理装置のメモリ（図１に示すメモリｂ１６１）に格納されたデバイス証明書（Ｄｅｖｉｃｅ  Ｃｅｒｔ）、あるいはモデルバージョン証明書（ＭＶ  Ｃｅｒｔ）を取得して、コンテンツコード１０５に含まれる装置確認処理用コード１０８を実行して、自装置のデバイス、モデル、またはバージョンの確認処理を実行する。この処理は、図１に示すホスト１４０におけるセキュアＶＭ１６０が実行する。
【００３７】
この装置確認処理の後、適切な変換テーブルやセキュリティチェックコードを選択して処理を行なう。デバイス証明書（Ｄｅｖｉｃｅ  Ｃｅｒｔ）、あるいはモデルバージョン証明書（ＭＶ  Ｃｅｒｔ）は公開鍵が格納された公開鍵証明書である。なお、これらのデータの構成、および装置確認処理の具体的処理例については、後段で説明する。
【００３８】
また、図１に示すコンテンツ制御部１５２は、図１に示すホスト１４０におけるセキュアＶＭ１６０から、セキュリティチェック処理に際して確認された自装置のデバイス、モデル、またはバージョン情報などの装置識別情報や装置の実行環境に関する装置情報を取得し、取得した装置情報に基づいて、自装置に対応した最適なコンテンツを情報記録媒体１００から選択し、あるいは再生態様を決定して選択したコンテンツの再生処理を開始する。
【００３９】
情報記録媒体１００に格納されたコンテンツ１０１には、例えば様々な再生機器に適合したデータ態様の異なるコンテンツが含まれる。具体的には、再生ビットレートの設定を変更して再生可能としたコンテンツが格納されている。また、コンテンツが例えばＪａｖａ（登録商標）プログラムによって構成される場合、装置の持つ機能に応じたグラフィック処理などの処理を実行する複数の異なるプログラム情報を含むアプリケーションコンテンツとして記録されている場合がある。コンテンツ制御部１５２は、セキュリティチェック処理に際して確認された自装置のデバイス、モデル、またはバージョン情報などの装置情報や、後述するＤｉｓｃｏｖｅｒｙＲＡＭによって種とされるシステム情報に基づいて、これらのコンテンツ中から、自装置の持つ機能や環境に応じたコンテンツを選択して再生処理を開始する。
【００４０】
コンテンツ制御部１５２は、コンテンツ再生中においても、メディア（情報記録媒体１００）のアクセス処理や、バックグラウンド処理など、実装に自由度が許されている部分で発生する装置機能の差に対応して再生コンテンツの切り替えも実行し、この切り替え処理においても、セキュリティチェック処理に際して確認された自装置のデバイス、モデル、またはバージョン情報やＤｉｓｃｏｖｅｒｙＲＡＭに従ったメモリチェック処理によって取得したシステム情報に基づく処理を実行する。コンテンツ制御部１５２は、再生装置の不具合やハードウェア状況に基づいて発生する望ましくない再生動作の回避のための処理、例えば他のプログラム実行によるリソース不足、例えばＣＰＵやメモリの占有が出来ない場合などのハードウェア状況に応じて再生コンテンツの選択の変更などの制御も実行する。これらの処理の詳細については後段で説明する。
【００４１】
なお、コンテンツコード１０５には、コンテンツ再生に際して必要となるデータ変換処理プログラムや、スタートアップ処理、セキュリティチェック処理などの様々な処理を実行するための情報やプログラムが含まれる。図１に示す情報記録媒体１００の格納データ例は一例であり、格納データは、ディスクの種類などによって多少異なる。コンテンツ１０１は、例えば高精細動画像データであるＨＤ（High Definition）ムービーコンテンツなどの動画コンテンツのＡＶ(Audio Visual)ストリームや特定の規格で規定された形式のゲームプログラム、画像ファイル、音声データ、テキストデータや、Ｊａｖａ（登録商標）アプリケーションなどからなるコンテンツである。
【００４２】
これらのコンテンツは、例えば特定のＡＶフォーマット規格データとして格納されている。具体的には例えばＢｌｕ−ｒａｙ  Ｄｉｓｃ（登録商標）ＲＯＭ規格フォーマットに従って格納される。記録データのデータフォーマット例について図２を参照して説明する。図２に示すデータフォーマットは、情報記録媒体に格納されるコンテンツフォーマットの一例を示している。図２に示す例では、コンテンツは、コンテンツ管理ユニット（ＣＰＳユニット）として区分され、ユニット毎の異なる利用制御が可能な設定を持つ。
【００４３】
コンテンツ利用に際しては、まず、各ユニットに割り当てられたＣＰＳユニット鍵（タイトル鍵とも呼ばれる）を取得することが必要であり、さらに、その他、ＭＫＢ１０２などから必要な鍵、鍵生成情報等を適用して予め定められた復号処理シーケンスに基づくデータ処理を実行して再生を行う。
【００４４】
図２に示すように、コンテンツは、（Ａ）インデックス２１０、（Ｂ）ムービーオブジェクト２２０、（Ｃ）プレイリスト２３０、（Ｄ）クリップ２４０の階層構成を有する。再生アプリケーションによってアクセスされるタイトルなどのインデックスを指定すると、例えばタイトルに関連付けられた再生プログラムが指定され、指定された再生プログラムのプログラム情報に従ってコンテンツの再生順等を規定したプレイリストが選択される。
【００４５】
プレイリストには、再生対象データ情報としてのプレイアイテムが含まれる。プレイリストに含まれるプレイアイテムによって規定される再生区間としてのクリップ情報によって、コンテンツ実データとしてのＡＶストリームあるいはコマンドが選択的に読み出されて、ＡＶストリームの再生、コマンドの実行処理が行われる。なお、プレイリスト、プレイアイテムは多数、存在し、それぞれに識別情報としてのプレイリストＩＤ、プレイアイテムＩＤが対応付けられている。
【００４６】
図２には、２つのＣＰＳユニットを示している。これらは、情報記録媒体に格納されたコンテンツの一部を構成している。ＣＰＳユニット１，２７１、ＣＰＳユニット２，２７２の各々は、インデックスとしてのタイトルと、再生プログラムファイルとしてのムービーオブジェクトと、プレイリストと、コンテンツ実データとしてのＡＶストリームファイルを含むクリップを含むユニットとして設定されたＣＰＳユニットである。
【００４７】
コンテンツ管理ユニット（ＣＰＳユニット）１，２７１には、タイトル１，２１１とタイトル２，２１２、再生プログラム２２１，２２２、プレイリスト２３１，２３２、クリップ２４１、クリップ２４２が含まれ、これらの２つのクリップ２４１，２４２に含まれるコンテンツの実データであるＡＶストリームデータファイル２６１，２６２が、少なくとも暗号化対象データであり、原則的にコンテンツ管理ユニット（ＣＰＳユニット）１，２７１に対応付けて設定される暗号鍵であるタイトル鍵（Ｋｔ１）（ＣＰＳユニット鍵とも呼ばれる）を適用して暗号化されたデータとして設定される。
【００４８】
コンテンツ管理ユニット（ＣＰＳユニット）２，２７２には、インデックスとしてアプリケーション１，２１３、再生プログラム２２４、プレイリスト２３３、クリップ２４３が含まれ、クリップ２４３に含まれるコンテンツの実データであるＡＶストリームデータファイル２６３がコンテンツ管理ユニット（ＣＰＳユニット）２，２７２に対応付けて設定される暗号鍵である暗号鍵であるタイトル鍵（Ｋｔ２）適用して暗号化される。
【００４９】
例えば、ユーザがコンテンツ管理ユニット１，２７１に対応するアプリケーションファイルまたはコンテンツ再生処理を実行するためには、コンテンツ管理ユニット（ＣＰＳユニット）１，２７１に対応付けて設定された暗号鍵としてのタイトル鍵：Ｋｔ１を取得して復号処理を実行することが必要となる。コンテンツ管理ユニット２，２７２に対応するアプリケーションファイルまたはコンテンツ再生処理を実行するためには、コンテンツ管理ユニット（ＣＰＳユニット）２，２７２に対応付けて設定された暗号鍵としてのタイトル鍵：Ｋｔ２を取得して復号処理を実行することが必要となる。
【００５０】
このように、情報記録媒体１００に格納されるコンテンツは、例えば図２に示すデータフォーマットに従って記録されており、このようなコンテンツの再生を実行する場合、ホスト１４０は、予め定められたシーケンスに従ってユニット対応の鍵を生成して復号処理を実行することになる。なお、各コンテンツ管理ユニット（ＣＰＳユニット）に対する個別の利用管理のために、各コンテンツ管理ユニット（ＣＰＳユニット）に対する使用許諾情報（ＵＲ：Ｕｓａｇｅ  Ｒｕｌｅ）１０４が設定されている。使用許諾情報は、コンテンツに対する例えばコピー・再生制御情報（ＣＣＩ）を含む情報であり、各コンテンツ管理ユニット（ＣＰＳユニット）に含まれる暗号化コンテンツのコピー制限情報や、再生制限情報である。なお、タイトル鍵の生成には、情報記録媒体に格納された様々な情報を適用したデータ処理が必要となる。
【００５１】
次に、図１を参照して、情報記録媒体１００に格納されたコンテンツの再生処理を行なう場合のホスト１４０とドライブ１２０の処理の概要について説明する。情報記録媒体１００に格納されたコンテンツの再生処理は、ドライブ１２０を介してホスト１４０にデータが転送されて実行される。
【００５２】
ホスト１４０には、再生（プレーヤ）アプリケーション実行部１５０と、セキュアＶＭ１６０が設定される。再生（プレーヤ）アプリケーション実行部１５０は、コンテンツ再生処理部であり、コンテンツ再生処理において実行するドライブとの認証処理、コンテンツ復号、デコード処理などの処理、さらに、セキュアＶＭ１６０が取得する装置情報に基づくコンテンツの選択、再生制御を実行する。
【００５３】
セキュアＶＭ１６０は、コンテンツコード１０５を適用した処理を実行するセキュリティチェック実行部である。コンテンツコード１０５には、変換テーブル１０６、セキュリティチェックコード１０７、装置確認処理用コード１０８が含まれ、セキュアＶＭ１６０は、装置確認処理用コード１０８に従って装置のモデル、バージョン、デバイスなどの装置確認を行った後、確認済みの自装置に対応するセキュリティチェックコード１０７を選択して、セキュリティチェック処理を実行する。さらに、データ変換処理が必要にコンテンツである場合は、コンテンツコード１０５に含まれる変換テーブルを利用したコンテンツの一部データの置き換え処理を実行する。
【００５４】
セキュアＶＭ１６０は、コンテンツコードに含まれる装置確認処理用コード１０８に基づいて、メモリに格納された装置証明書（デバイス証明書、モデルバージョン証明書）を適用した装置確認処理を実行し、装置確認処理の後、装置証明書に記録された装置識別子（モデルＩＤ、バージョンＩＤ、デバイスＩＤ）を取得し、さらに取得した装置識別子に対応するコンテンツコードを適用したデータ処理を実行する。
【００５５】
なお、セキュアＶＭ１６０は、ホスト１４０内にバーチャルマシン（ＶＭ）として設定される。バーチャルマシン（ＶＭ）は中間言語を直接解釈して実行する仮想コンピュータであり、プラットフォームに依存しない中間言語での命令コード情報を情報記録媒体１００から読み出して解釈実行する。
【００５６】
セキュアＶＭ１６０は、情報記録媒体１００に記録された暗号化コンテンツ１０１の利用に適用するプログラムまたは適用情報を含むコンテンツコード１０５を取得して、取得したコンテンツコード１０５に従ってデータ処理を実行するデータ処理部として機能する。
【００５７】
セキュアＶＭ１６０は、セキュアＶＭのアクセス可能なメモリであるメモリｂ１６１からデバイス証明書（Ｄｅｖｉｃｅ Ｃｅｒｔ）や、モデルバージョン証明書（ＭＶ Ｃｅｒｔ）などの装置情報を取得し、これらの証明書を適用して、装置確認処理、すなわち、デバイスやモデルやバージョンなどの各識別子に基づいて、自装置を確認する処理を実行し、確認された装置識別情報に基づいて、装置対応の適切なコンテンツコードを情報記録媒体から選択して実行する。
【００５８】
なお、コンテンツコードの一部は、暗号化データとして設定されており、この暗号化データを復号するための暗号鍵がメモリｂ１６１に格納されている。セキュアＶＭ１６０は、メモリｂ１６１から選択した鍵を適用してコンテンツコードの復号処理を実行する。
【００５９】
メモリｂ１６１には、例えばデバイス固有の鍵であるデバイス固有鍵、複数のデバイスのグループに共通のグループ鍵、さらに特定の装置モデルに対応するモデル鍵、あるいは特定のモデルの特定のバージョンに対応するバージョン鍵などが格納される。
【００６０】
なお、デバイス固有鍵、およびグルーブ鍵は、階層構成を持つ鍵ツリーにおいて各情報処理装置の対応付けられた最下層ノードとしてのリーフから頂点ノードに至るルート上の各ノードに対応して設定されるノード鍵によって構成される。各情報処理装置は、これらのノード鍵をデバイス固有鍵、およびグルーブ鍵として格納している。これらの鍵構成の詳細については、後段で説明する。
【００６１】
セキュアＶＭ１６０は、コンテンツコードに含まれる暗号化コードを復号する場合には、メモリｂ１６１から、ノード鍵としてのデバイス固有鍵、または複数のデバイスのグループに共通のグループ鍵、あるいはモデル鍵、またはバージョン鍵を選択して選択した鍵を適用してコンテンツコードの復号処理を実行する。なお、メモリｂ１６１に格納される暗号鍵の詳細、およびセキュアＶＭ１６０の実行する処理の詳細については後段で説明する。
【００６２】
再生（プレーヤ）アプリケーション実行部１５０と、セキュアＶＭ１６０間の情報伝達、あるいは処理要求は、再生（プレーヤ）アプリケーション実行部１５０からセキュアＶＭ１６０に対する割り込み（ＩＮＴＲＰ）と、セキュアＶＭ１６０から再生（プレーヤ）アプリケーション実行部１５０に対する応答（Ｃａｌｌ）処理のシーケンスによって実行される。アプリケーション実行部１５０からセキュアＶＭ１６０に対する割り込み（ＩＮＴＲＰ）と、セキュアＶＭ１６０から再生（プレーヤ）アプリケーション実行部１５０に対する応答（Ｃａｌｌ）処理のシーケンスによって行なわれる。
【００６３】
ホスト１４０の実行する主な処理について説明する。コンテンツの利用に先立ち、ドライブ１２０と、ホスト１４０間では相互認証処理が実行され、この認証処理の成立によって双方の正当性が確認された後、ドライブからホストに暗号化コンテンツが転送され、ホスト側でコンテンツの復号処理が行なわれ、さらに上述の変換テーブルによるデータ変換処理が実行されてコンテンツ再生が行なわれる。
【００６４】
ドライブ１２０のデータ処理部１２１は、コンテンツ利用に際して実行されるホストとの認証処理、さらに、情報記録媒体からのデータ読み出し、ホストヘのデータ転送処理などを実行する。
【００６５】
ホスト１４０の再生（プレーや）アプリケーション実行部１５０は、例えばＰＣ等の情報処理装置で実行されるデータ再生（または記録）アプリケーションであり、所定のデータ処理シーケンスに従ってＰＣ等の情報処理装置のハードウェアを利用した処理を行なう。
【００６６】
ホスト１４０は、ドライブ１２０との相互認証処理や、データ転送制御などを実行するデータ処理部１５１、セキュアＶＭ１６０の実行するセキュリティチェック処理に際して確認された自装置のデバイス、モデル、またはバージョン情報に基づいて、自装置の持つ機能に応じたコンテンツ選択や処理態様の決定を実行するコンテンツ制御部１５２、暗号化コンテンツの復号処理を実行する復号処理部１５３、前述の変換テーブル１０５の登録データに基づくデータ変換処理を実行するデータ変換処理部１５４、デコード（例えばＭＰＥＧデコード）処理を実行するデコード再生処理部１５５を有する。
【００６７】
コンテンツ制御部１５２は、前述したように、図１に示すホスト１４０におけるセキュアＶＭ１６０から、セキュリティチェック処理に際して確認された自装置のデバイス、モデル、またはバージョン情報を取得し、確認されたデバイス、モデル、またはバージョン情報に基づいて、自装置に対応した最適なコンテンツを情報記録媒体１００から選択して再生処理を開始させる。
【００６８】
復号処理部１５３は、メモリａ１５６に格納された各種情報、および、情報記録媒体１００からの読み取りデータを適用して、コンテンツの復号に適用する鍵を生成し、暗号化コンテンツ１０１の復号処理を実行する。データ変換処理部１５４は、情報記録媒体１００から取得されるデータ変換処理プログラムに従って、情報記録媒体１００から取得される変換テーブルに登録された変換データを適用してコンテンツの構成データの置き換え処理（上書き）を実行する。デコード再生処理部１５５は、デコード（例えばＭＰＥＧデコード）処理を実行する。
【００６９】
情報処理装置１５０のメモリａ１５６には、デバイス鍵：Ｋｄや、相互認証処理に適用する鍵情報や復号に適用する鍵情報などが格納される。デバイス鍵：Ｋｄは、ＭＫＢ１０２の処理に適用する鍵である。ＭＫＢは有効なライセンスを持つユーザの情報処理装置に格納されたデバイス鍵［Ｋｄ］に基づく処理（復号）によってのみ、コンテンツの復号に必要なキーであるメディア鍵［Ｋｍ］の取得を可能とした鍵情報ブロックであり、暗号化コンテンツの復号に際して、情報処理装置１５０は、メモリａ１５６に格納されたデバイス鍵：Ｋｄを適用してＭＫＢの処理を実行することになる。
【００７０】
［２．セキュリティチェック処理について］
情報記録場対１００からのコンテンツの再生処理に先立ち、ホスト１４０は、コンテンツコード１０５を利用したセキュリティチェックを実行する。コンテンツコード１０５は、先に説明したようにコンテンツ再生を実行する情報処理装置の正当性などを検証するプログラムであるセキュリティチェックコード１０７を含む。さらに、前述したように、情報処理装置に対応するデバイス、モデル、バージョンの少なくともいずれかの識別情報を確認する装置確認処理用コード１０８が含まれる。
【００７１】
セキュリティチェックコードには、様々な再生装置としての情報処理装置（デバイス、モデル、バージョンなど）の種別に応じた処理を可能とするため、様々な種類のコードが含まれる。コンテンツを利用しようとする情報処理装置は、装置確認処理用コード１０８に基づいて、自装置についてのデバイス、モデル、バージョンなどの確認処理を行なった後、自装置に対応するセキュリティチャックコードや変換テーブルを選択してセキュリティチェック処理とデータ変換処理を実行する。
【００７２】
コンテンツ再生を実行する再生装置の再生アプリケーションとしてのホストは、図１に示すようにデータ変換処理を実行するバーチャルマシン（ＶＭ）としてのセキュアＶＭ１６０において、情報記録媒体１００から読み出したコンテンツコード１０５に従って、装置確認処理、セキュリティチェック処理やデータ変換処理を実行してコンテンツ再生を実行する。
【００７３】
セキュアＶＭ１６０は、情報処理装置のメモリ（図１に示すメモリｂ１６１）に格納された証明書、すなわち、デバイス証明書（Ｄｅｖｉｃｅ  Ｃｅｒｔ）、あるいはモデルバージョン証明書（ＭＶ  Ｃｅｒｔ）を取得して、コンテンツコードに含まれる装置確認処理用コード、すなわち、デバイス、またはモデルまたはバージョン確認処理用のプログラムコードを実行して、自装置のデバイス、モデル、またはバージョンの確認処理を実行し、この装置確認処理の後、確認されたデバイス、モデル、またはバージョンに対応する適切な変換テーブルやセキュリティチェックコードを選択して処理を行なう。なお、セキュアＶＭ１６０は、さらに必要に応じてコンテンツ再生処理の実行期間においてもセキュリティチェックコード１０７を適用したセキュリティチェックを実行する。
【００７４】
セキュアＶＭ１６０は、コンテンツコード１０６に含まれるセキュリティチェックコード１０７に従って、プレーヤ（再生装置）の正当性などの検証処理を実行する。なお、前述したように、変換テーブル（Ｆｉｘ−ｕｐ  Ｔａｂｌｅ）３３６や、セキュリティチェックコード１０７は、再生装置としてのプレーヤの種別に応じた処理を実行可能とするため、様々な種類のコードを含む設定とされる。
【００７５】
セキュアＶＭ１６０は、プレーヤ情報３５５として再生装置の記憶部に格納された各種の証明書、すなわち、デバイス証明書（Ｄｅｖｉｃｅ  Ｃｅｒｔｉｆｉｃａｔｅ）や、モデルバージョン証明書（ＭＶ  Ｃｅｒｔｉｆｉｃａｔｅ）を取得して実行された装置確認処理によって確認された装置情報に基づいて、コンテンツコード１０６中に含まれるセキュリティチェックコード１０７から、自己の情報処理装置に対応するセキュリティチェックコードを選択して、セキュリティチェック処理を実行する。すなわち、情報処理装置に対応する識別情報または属性情報に対応するセキュリティチェックコードを選択して、選択コードに基づくセキュリティチェック処理を実行する。
【００７６】
セキュアＶＭ１６０におけるセキュリティチェックにおいてコンテンツの利用が許容された正当な機器であることが証明され、また、不正なコンテンツの外部出力などが行なわれないことを機器構成情報などに基づいて検証した後、コンテンツの再生が行なわれることになる。
【００７７】
なお、セキュアＶＭ１６０におけるセキュリティチェックにおいて取得された装置のデバイス、モデル、バージョン情報の少なくともいずれかの情報をコンテンツ制御部１５２が取得し、コンテンツ制御部１５２は、これらの取得情報を利用して、自装置に最適なコンテンツの選択または再生態様を決定してコンテンツ再生を開始する。
【００７８】
セキュアＶＭ１６０において実行するセキュリティチェックは、再生装置の構成、再生アプリケーションの種類などに応じて異なる処理が要求されることがあり、このため、セキュリティチェックコードは、様々な機器やアプリケーションに対応したコードのセットとしてコンテンツコード中に記録されている。
【００７９】
なお、デバイス、モデル、バージョンの識別情報を確認するための装置確認処理は、情報処理装置に格納されたデバイス証明書、モデルバージョン証明書を適用した処理として実行される。デバイス証明書、モデルバージョン証明書は、コンテンツの利用権限を確認する証明書として利用され、コンテンツの管理を実行する管理エンティテイが発行する。
【００８０】
デバイス証明書、モデルバージョン証明書のデータ構成例について、図３を参照して説明する。図３（ａ）は、デバイス証明書、図３（ｂ）はモデルバージョン証明書のデータ構成例を示している。
【００８１】
デバイス証明書は、図３（ａ）に示すように、
＊デバイス証明書サイズ、
＊デバイス証明書バージョン、
＊デバイス製造者識別子、
＊デバイス識別子、
＊署名日時、
＊デバイス公開鍵、
＊電子署名、
これらのデータを有する。
【００８２】
一方、モデルバージョン証明書は、図３（ｂ）に示すように、
＊モデルバージョン証明書サイズ、
＊モデルバージョン証明書バージョン、
＊モデル製造者識別子、
＊モデル識別子、
＊バージョン識別子、
＊リビジョン識別子
＊署名日時、
＊デバイス公開鍵、
＊電子署名、
これらのデータを有する。
【００８３】
図１に示すセキュアＶＭ１６０は、情報記録媒体から読み出した装置確認処理用のコード（プログラム）に従って、デバイス証明書またはモデルバージョン証明書、少なくともいずれかの検証処理を実行し、正当性を確認した後、装置のモデル、バージョン、デバイス、少なくともいずれかの確認を行い、その確認情報に従って、コンテンツコードを利用した処理、例えば、セキュリティチェックに適用するコードの選択、適用する変換テーブルの選択などを行う。
【００８４】
例えばデバイス証明書を利用した具体的な処理としては、まず、セキュアＶＭ１６０は、デバイス証明書の署名検証処理を実行する。例えば、デバイス証明書の署名の実行エンティテイである管理センタの公開鍵を適用した署名検証を実行する。管理センタの公開鍵は、予め取得して装置のメモリに保持したものを適用してもよいし、情報記録媒体から取得あるいはネットワークを介して取得してもよい。
【００８５】
署名検証により、デバイス証明書の正当性が確認されなかった場合は、その後のデータ変換を伴うコンテンツ再生への移行が停止される。デバイス証明書の正当性が確認された場合は、さらに、そのデバイスに対応するセキュリティチェックコードが選択されて実行される。デバイス製造メーカなどの基本的な情報は、デバイス証明書から取得できる。モデルバージョンを単位とした処理を行なう場合は、モデルバージョン証明書を利用した装置確認処理が実行される。
【００８６】
セキュアＶＭ１６０は、デバイス証明書またはモデルバージョン証明書の正当性検証処理を実行し、正当性が確認されたことを条件として、証明書の記録情報から、情報処理装置またはコンテンツ利用アプリケーションに対応する識別情報または属性情報、すなわち装置やアプリケーションのメーカ、種別、バージョン、シリアル番号などを取得する処理を実行する。これらの取得情報に基づいて、取得情報に対応するセキュリティチェックコードを選択して、選択コードに基づくセキュリティチェック処理を実行する。なお、これらの処理シーケンスの詳細については、後段でフローチャートを参照して説明する。
【００８７】
［３．情報処理装置の保持する証明書について］
先に説明したように、セキュアＶＭ１６０は、情報記録媒体に記録されたコンテンツコードに含まれるセキュリティチェックコードに基づくセキュリティチェック処理および変換テーブルに基づく変換処理に適用するパラメータ算出処理などを実行する。この処理に際して、セキュアＶＭ１６０は、図１を参照して説明した装置確認処理用コード１０８に従って、デバイス証明書やモデルバージョン証明書を適用した装置確認処理を実行する。
【００８８】
情報処理装置は、デバイス証明書またはモデルバージョン証明書の少なくともいずれかの証明書の正当性検証処理を実行し、正当性が確認されたことを条件として、証明書の記録情報から、情報処理装置またはコンテンツ利用アプリケーションを判別し、判別情報に対応するセキュリティチェックコードを選択して、選択コードに基づくセキュリティチェック処理を実行する。
【００８９】
セキュリティチェックコードによるセキュリティチェック処理は、再生を実行する装置に対応する正しいデバイスまたはモデルまたはバージョン識別情報に基づいて選択されたコンテンツコードに従って実行されるべき処理である。しかし、不正な再生装置が、デバイス証明書やモデルバージョン証明書を他の装置からコピーするなどして、不正な証明書情報を使用した処理が行なわれる可能性がある。証明書の検証のみによって、情報処理装置に対応する装置種別、すなわち、モデルまたはバージョンまたはデバイス種別を判定し、これらの装置対応のコンテンツコードに基づくセキュリティチェック処理を行なうと、本来必要なセキュリティチェックをすり抜けてコンテンツ利用が行なわれるという問題が発生する。
【００９０】
例えば、極めて厳しいセキュリティチェックが要求されるＰＣなどの情報処理装置が、甘いセキュリティチェックのみでコンテンツ利用を許容される再生専用機器のデバイス証明書をコピーしてＰＣに格納し、ＰＣにおいて、再生専用機器のデバイス証明書を適用して装置確認処理を実行させて、甘いセキュリティチェックのみを実行してコンテンツを利用してしまうといった事態も発生する可能性がある。
【００９１】
このように、情報処理装置が正しい装置情報（デバイス、モデル、バージョンのいずれかの識別情報）を提供しない場合には、コンテンツの利用が不正に行なわれ、また不正追跡も困難になる。すなわち、誤った装置情報を提示すると、正しいセキュリティチェックが実行されず、また変換テーブルに基づく正しいデータ変換がなされず、コンテンツに対する装置情報（デバイス、モデル、バージョンのいずれかの識別情報）の埋め込みも正しく行われない可能性がある。以下では、このような不正行為を防止する構成について説明する。
【００９２】
すなわち、装置側において不正な装置情報を提示する場合においても、各装置に応じた正しいコンテンツコードを選択させて、コンテンツを利用する情報処理装置や再生アプリケーションに対応する正規のセキュリティチェック処理を実行させ、さらに、前述した変換テーブルを適用したデータ変換処理においても正しい装置情報の埋め込みを実行させる構成について説明する。
【００９３】
情報処理装置対応の正しいコンテンツコードを選択して実行させるため、本処理例では、コンテンツ再生を実行する多数の情報処理装置の各々に対して、特定のルールに従った固有の暗号鍵のセットを配布し、さらに、情報記録媒体に記録しセキュアＶＭによって実行されるコンテンツコードの少なくとも一部を、情報処理装置に配布した暗号鍵を適用した暗号化データとする。以下、暗号鍵配布構成および処理例について説明する。
【００９４】
まず、情報処理装置に格納される暗号鍵構成について、図４以下を参照して説明する。鍵管理センタは、各情報処理装置、すなわちコンテンツ再生を実行する情報処理装置に対して、暗号鍵を配布する。鍵管理センタは、暗号鍵の配布先についての登録情報を保持する。情報処理装置は、デバイス識別子、モデル識別子、バージョン識別子が対応付けられている。前述したように、
デバイス識別子は、個々の情報処理装置固有の識別子として設定される。
モデル識別子は、同一モデルに含まれる複数のデバイス（情報処理装置）に共通に設定される。
バージョン識別子は、同一モデルに含まれる異なるバージョン毎に設定される識別子である。例えば、モデルＡのバージョン１、モデルＡのバージョン２などがある場合に、それぞれのバージョンに対応して設定される。
【００９５】
鍵管理センタは、これらの情報処理装置の各識別子と、各情報処理装置に配布した暗号鍵とを対応付けた登録テーブルを保持し管理する。一方、情報処理装置は、図１を参照して説明したメモリｂ１６１に、
デバイス固有の鍵であるデバイス固有鍵、
複数のデバイスのグループに共通のグループ鍵、
特定の装置モデルに対応するモデル鍵、
特定モデルの特定バージョンに対応するバージョン鍵、
これらの各種の鍵データやその他証明書データを格納する。これらの各データは、鍵管理センタによって、例えば、製造メーカに配付されて、情報処理装置の製造段階でメモリに記録されることになる。
【００９６】
図４は、鍵管理センタが各情報処理装置に配付する鍵情報を含むデータセットを説明する図である。鍵管理センタが各情報処理装置に配付するデータは、図４に示すように、大きく３つに分類される。すなわち、
（ａ）デバイスおよびグループ対応データ
（ｂ）モデルバージョンパッケージ
（ｃ）鍵管理センタ公開鍵
これら（ａ）〜（ｃ）である。以下、これらの各カテゴリ対応のデータについて説明する。
【００９７】
（ａ）デバイスおよびグループ対応データ
コンテンツ再生を実行する情報処理装置やＬＳＩなどの製造を行なうデバイス製造エンティテイに対応して鍵［デバイス製造エンティテイ鍵（Ｍａｎｕｆａｃｔｕｒｅ鍵）］を頂点とする鍵ツリーが設定され、１つの頂点または分岐点（ノード）からｎ個（図の例ではｎ＝２５６）の下位鍵を設定する。例えば、鍵ツリーの頂点にあるデバイス製造エンティテイ鍵の直下の２段目の鍵は、デバイス製造エンティテイの製造販売する装置やＬＳＩなどをグループ別に区分し、各グループ毎にＧ１−１〜Ｇ１−２５６まで、２５６個の異なるグループ鍵Ｇ１が設定される。
【００９８】
さらに、３段目の鍵は、各Ｇ１レイヤをさらに区分して、Ｇ２−１〜Ｇ２−２５６＊２５６の鍵、すなわち２５６２個の異なるグループ鍵Ｇ２が設定される。以下、３段目では、各グループＧ２をさらに区分して、２５６３の異なるグループ鍵Ｇ３を設定して、さらに、４段目において、２５６４の異なる最下層のノード（リーフ）を設定して、このノード（リーフ）を、各デバイスごとに割り当て、各デバイスに対応するデバイス固有鍵［Ｄｅｖｉｃｅ＿Ｓｐｅｃｉｆｉｃ＿Ｋｅｙ］を設定する。
【００９９】
各デバイスは、
頂点ノードに対応するデバイス製造エンティテイ鍵と、
自デバイスに対応する最下層の１つのノード（リーフ）の対応鍵としてのデバイス固有鍵と、
自デバイスに対応するリーフから頂点ノードに至るルートにある各ノード対応の鍵、すなわちグループ鍵（Ｇ１，Ｇ２，Ｇ３の各グループ鍵）
これらの鍵を保有する。
【０１００】
例えばグループ鍵Ｇ１，５０１は、図に示す階層構成中、最下層のリーフに対応するデバイス中、左半分のリーフ対応のデバイスには配付されるが、右左半分のリーフ対応のデバイスには配付されない。また、グループ鍵Ｇ２，５０２は、図に示す階層構成中、最下層のリーフに対応するデバイス中、左側１／４のリーフ対応のデバイスには配付されるが、それ以外の左側３／４のリーフ対応のデバイスには配付されない。このように、各デバイスに対して配付される暗号鍵のセットは異なる設定とされる。なお、各デバイスは、さらにデバイス秘密鍵［Ｄｅｖｉｃｅ＿Ｋｅｙ］と、デバイス対応の公開鍵を格納した公開鍵証明書であるデバイス証明書［Ｄｅｖｉｃｅ＿Ｃｅｒｔ］も割り当てられる。デバイス証明書は、先に図３を参照して説明したデータ構成を持つ。
【０１０１】
なお、図４（ａ）に示す階層構成中の頂点ノード〜リーフに設定される鍵を、グループ鍵と称するのみではなく、階層鍵またはノード鍵とも呼ぶ。なお、各階層の区分設定例は一例であり、たとえばライセンシ、プラットフォーム、販売地域でグループ分けしたり、製造日時でグループ分けをしたりするなどの設定も可能である。
【０１０２】
デバイス対応の公開鍵を格納した公開鍵証明書であるデバイス証明書［Ｄｅｖｉｃｅ＿Ｃｅｒｔ］には、デバイス識別子が格納される。デバイス識別子（ＩＤ）は各プレーヤ個々に異なる識別子であり、例えば０ｘ００００００００〜０ｘＦＦＦＦＦＦＦＦの各値が、各デバイスに対応するデバイスＩＤとして設定される。
【０１０３】
（ｂ）モデルバージョンパッケージ
情報処理装置には、さらに、図４（ｂ）に示すモデルバージョンパッケージに含まれる各データが格納される。モデルバージョンパッケージには以下のデータが含まれる。
（ｂ１）モデル鍵、
（ｂ２）バージョン鍵、
（ｂ３）モデルバージョン秘密鍵
（ｂ４）モデルバージョン証明書
【０１０４】
モデル鍵は、情報処理装置に対応するモデルに固有の鍵データであり、バージョン鍵は、情報処理装置に対応するバージョンに固有の鍵データである。モデルバージョン秘密鍵、モデルバージョン証明書は、それぞれ公開鍵暗号システムにおける秘密鍵、公開鍵を格納した公開鍵証明書に相当する。それぞれ情報処理装置に対応するモデルバージョンに固有の鍵情報として設定される。モデルバージョン証明書は、先に図３を参照して説明したデータを格納している。
【０１０５】
モデルバージョン証明書は、
モデルＩＤ＝Ｘ
バージョンＩＤ＝Ｙ
リビジョンＩＤ＝Ｚ
これらの各コードに対応して設定される証明書として構成され、Ｘ，Ｙ，Ｚの値が異なるとことなる証明書として設定されることになる。なお、リビジョンＩＤ（Ｚ）は、例えばファームウェアアップデートなど、装置自体のハードウェアではなく、例えば再生アプリケーションなどのアップデートに際して更新されるコードであり、情報処理装置がこのようなファームウェアアップデートを行った場合、アップデートに応じて、ネットワークや情報記録媒体を介して更新されたモデルバージョン証明書が情報処理装置に提供される。
【０１０６】
以上のように、デバイス固有の鍵、デバイス証明書とともに、モデル鍵、バージョン鍵、モデルバージョン証明書を設定することにより、上述の装置特定のための識別情報（forensic mark）を埋め込む際に、偽の識別情報を埋め込まれることを防ぐことが出来る。
【０１０７】
また、図４（ａ）のデバイス＆グループ対応データと、図４（ｂ）のモデルバージョンパッケージを分けて管理することにより、例えば、ＬＳＩそれぞれに応じて異なる値が設定されるデバイス＆グループ対応データは、ＬＳＩメーカが埋め込み、そのＬＳＩを用いて、他の部品などと組み立てて情報処理装置を製造するメーカ（組み立てメーカ）が、モデルバージョンパッケージを埋め込むように、分担して製造作業を行うことも可能となる。
【０１０８】
これにより、例えばＬＳＩとして共通であっても、モデル、バージョンが変わる場合がありえ、その場合には異なる値を埋め込むことがありえるモデル鍵等のみを組み立てメーカが埋め込むことで、組み立てメーカが一台ごとにそれぞれ異なるＩＤを埋め込む必要がなくなるため、組み立てメーカの負担が軽くなる。さらに、モデル、バージョンが変わったとしてもＬＳＩになんら変更を加えることなく、ＬＳＩメーカから購入済みのＬＳＩを使用することが出来る。従って、図４（ａ）のデバイス＆グループ対応データと、図４（ｂ）のモデルバージョンパッケージは、同じ物理的なメモリに保存されるとは限らず、別のメモリに保存されることもありえる。
【０１０９】
このため、図４（ａ）における、グループ鍵（階層鍵、ノード鍵）は、ある一台のデバイスを特定するために設定された分類鍵であるのに対して、図４（ｂ）におけるモデル鍵、バージョン鍵は情報処理装置（例えば、光ディスクの再生装置）のいわゆる「型番」等に応じて設定される鍵であり、必ずしも対応する関係には無い。
【０１１０】
（ｃ）鍵管理センタ公開鍵
さらに、情報処理装置には、上記の（ａ），（ｂ）のデータに加えて、図４（ｃ）に示す鍵管理センタ（ＫＩＣ）公開鍵が格納される。この公開鍵は、情報処理装置において、例えばコンテンツコードに付与された鍵管理センタの署名の検証を行なう際に利用される。
【０１１１】
図５に情報処理装置のメモリに格納されるデータ構成を示す。図５に示すように、情報処理装置には、
（１）デバイス製造エンティテイ鍵（Manufacturer鍵）
（２）グループ１鍵（Group1 Key）
（３）グループ２鍵（Group２ Key）
（４）グループ３鍵（Group３ Key）
（５）デバイス固有鍵（Device Specific Key)
（６）デバイス秘密鍵（Device Private Key)
（７）モデル鍵＃Ｘ（Model Key #X）
（８）バージョン鍵＃Ｙ（Version Key #Y）
（９）モデルバージョン秘密鍵（Model/Version Private Key）
（１０）デバイス証明書（Device CERT）
（１１）モデルバージョン証明書（MV_CERT(X,Y, Z=Y) (Model/Version CERT)）
（１２）鍵管理センタ公開鍵（KIC Public Key）
これらのデータが格納される。
【０１１２】
これらのデータ中、デバイス証明書、モデルデバイス証明書および、鍵管理センタ公開鍵を除く（１）〜（９）の各データは、漏洩を防止して秘密に格納することが必要であり、セキュアなメモリ中に格納される。デバイス証明書、モデルデバイス証明書および、鍵管理センタ公開鍵は、漏洩防止の必要はない。
【０１１３】
図４を参照して説明した鍵管理センタの配付データと、図５を参照して説明した情報処理装置の格納データとの対応について説明する図を、図６として示す。図６に示すように、
（ａ）デバイスおよびグループ対応データとして、
（１）デバイス製造エンティテイ鍵（Manufacturer鍵）
（２）グループ１鍵（Group1 Key）
（３）グループ２鍵（Group２ Key）
（４）グループ３鍵（Group３ Key）
（５）デバイス固有鍵（Device Specific Key)
（６）デバイス秘密鍵（Device Private Key)
これらのデータがセキュアメモリに格納される。
【０１１４】
（ｂ）モデルバージョンパッケージ構成データとして、
（７）モデル鍵＃Ｘ（Model Key #X）
（８）バージョン鍵＃Ｙ（Version Key #Y）
（９）モデルバージョン秘密鍵（Model/Version Private Key）
これらのデータがセキュアメモリに格納される。
【０１１５】
さらに、セキュアに格納する必要がないデータとして、
（６）デバイス秘密鍵（Device Private Key) 中の、
（１０）デバイス証明書（Device CERT）
（ｂ）モデルバージョンパッケージ構成データ中の、
（１１）モデルバージョン証明書（MV_CERT(X,Y, Z=Y) (Model/Version CERT)）
（ｃ）鍵管理センタ公開鍵に含まれる、
（１２）鍵管理センタ公開鍵（KIC Public Key）
が、情報処理装置のメモリに格納される。
【０１１６】
情報処理装置には、初期的に、これらの鍵および証明書情報が格納されてユーザに提供されることになる。さらに、前述したように、例えばファームウェアアップデートなど、装置自体のハードウェアではなく、例えば再生アプリケーションなどのアップデートを行った場合、アップデートに応じて、ネットワークや情報記録媒体を介して更新されたモデルバージョン証明書が情報処理装置に提供される。
【０１１７】
このような場合は、図７に示すように、更新されたモデルバージョン証明書が鍵管理センタ、あるいは製造メーカなどを介してユーザの情報処理装置に提供されることになる。例えば、更新されたモデルバージョン証明書は、コンテンツを格納した情報記録媒体に併せて記録され、情報処理装置がこれを読み取って、情報処理装置内に記録された証明書の置き換えを行なう。あるいはネットワークを介してダウンロードするなどの処理によって証明書を更新証明書に置き換えてもよい。
【０１１８】
モデルバージョン証明書が更新された証明書であるか否かは、証明書内のリビジョンＩＤ（Ｚ）を参照することで確認される（図３参照）。リビジョンＩＤは、更新
ごとに例えば（＋１）されるなどのＩＤ設定が行なわれ、このリビジョンＩＤを参照することで、証明書の更新状況を確認することができる。
【０１１９】
例えば、情報処理装置のモデルバージョン証明書を利用した装置確認処理において、情報処理装置のメモリに格納されたモデルバージョン証明書を確認することで、更新状況が確認され、その更新状況に応じて、的確なセキュリティチェックコードの選択や、変換テーブルの選択を実行させることが可能となる。
【０１２０】
なお、図４、図６他を参照して説明した
（ａ）デバイスおよびグループ対応データ、
（ｂ）モデルバージョンパッケージ、
これらのデータは、情報処理装置や情報処理装置に組み込むＬＳＩなどの様々なデバイス製造エンティテイの各々が個別に設定可能なデータとすることができる。
【０１２１】
以上、説明したように、情報記録媒体に格納されたコンテンツの利用を行なう情報処理装置には、先に図４〜図６等を参照して説明したデバイス製造エンティテイ鍵、グループ鍵Ｇｎ、デバイス固有鍵、モデル鍵、バージョン鍵、デバイス証明書、モデルバージョン証明書他の鍵データ、証明書データが格納され、情報処理装置は、これらの鍵を選択適用した暗号処理によって、コンテンツコードの利用、署名設定などを行なう。情報記録媒体には、特定の選択された鍵によって暗号化されたデータ部を含むコンテンツコードが格納されるので、コンテンツコードは、特定の選択鍵を格納した特定の装置によってのみ利用可能となる。
【０１２２】
［４．セキュアＶＭによる装置確認処理について］
次に、セキュアＶＭによる装置確認処理について説明する。図１に示すホスト１４０におけるセキュアＶＭ１６０は、情報記録媒体１００に格納されたコンテンツコード１０５を取得して、装置の持つデバイス証明書やモデルバージョン証明書を利用して装置確認処理を実行する。さらに、セキュアＶＭ１６０は、コンテンツ再生を実行する装置内のメモリ（ＲＡＭ）上の特定の値をチェックして、正当なプレーヤ（装置または再生アプリ）であるか否かの検証を実行する。この検証対象となるメモリ（ＲＡＭは、ディスカバリＲＡＭ（ＤｉｓｃｏｖｅｒｙＲＡＭ）と呼ばれる。
【０１２３】
まず、図８に示すフローチャートを参照して、装置の持つデバイス証明書（Ｄｅｖｉｃｅ  Ｃｅｒｔ）、モデルバージョン証明書（ＭＶ  Ｃｅｒｔ）を利用した装置確認処理のシーケンスについて説明する。この処理は、セキュアＶＭ１６０において、情報記録媒体１００に記録されたコンテンツコード１０５を利用した処理として実行される。
【０１２４】
装置確認処理は、コンテンツコードに含まれる装置確認処理用コードを適用した処理として行なわれる。装置確認処理用のコードには、以下の関数が含まれ、セキュアＶＭによって実行される。
［Ｃａｌｌ＿Ｄｉｓｃｏｖｅｒｙ］
［Ｃａｌｌ＿ＰｒｉｖａｔｅＫｅｙ］
【０１２５】
上記関数［Ｃａｌｌ＿Ｄｉｓｃｏｖｅｒｙ］は、情報処理装置内のメモリからデバイス証明書、またはモデルバージョン証明書を取得して署名検証処理を実行させる関数である。
また、関数［Ｃａｌｌ＿ＰｒｉｖａｔｅＫｅｙ］は、前述したように、入力データアドレスから署名対象データ長分のデータを取り出し、デバイスの持つ秘密鍵で署名して出力先アドレスに書き込む処理を実行させる関数である。
【０１２６】
まず、ステップＳ１０１において、コンテンツコード処理（ここでは装置確認処理）が開始されると、ステップＳ１０２において、セキュアＶＭは、装置確認処理実行コードにデバイス証明書の呼び出し検証処理を実行する関数［Ｃａｌｌ＿Ｄｉｓｃｏｖｅｒｙ］が含まれているか否かを判定し、デバイス証明書の呼び出し検証処理を実行する関数［Ｃａｌｌ＿Ｄｉｓｃｏｖｅｒｙ］が含まれている場合、この関数を実行し、ステップＳ１０３において、情報処理装置のメモリからデバイス証明書（Ｄｅｖｉｃｅ  Ｃｅｒｔ）を取得する。デバイス証明書の呼び出し検証処理を実行する関数［Ｃａｌｌ＿Ｄｉｓｃｏｖｅｒｙ］が含まれていない場合は、ステップＳ１０８に進む。
【０１２７】
ステップＳ１０３において、情報処理装置のメモリからデバイス証明書（Ｄｅｖｉｃｅ  Ｃｅｒｔ）を取得すると、ステップＳ１０４において、デバイス証明書（Ｄｅｖｉｃｅ  Ｃｅｒｔ）に設定された署名の検証処理を実行するこの処理は、情報処理装置のメモリに格納されている鍵管理センタの公開鍵を適用した署名検証処理として実行される。この署名検証によって、デバイス証明書の正当性が確認されない場合は、処理は中止される。
【０１２８】
ステップＳ１０３において、署名検証によりデバイス証明書の正当性が確認されると、ステップＳ１０５に進み、コンテンツコードに含まれる関数［Ｃａｌｌ＿ＰｒｉｖａｔｅＫｅｙ］を実行する。すなわち、情報処理装置が生成した乱数、あるいは情報記録媒体からの読み込みデータに対して情報処理装置のデバイス秘密鍵による署名を実行する。さらに、ステップＳ１０６において、生成した署名の検証を行なう。この検証は、正当性が確認されたデバイス証明書から取得されるデバイス公開鍵を適用して実行される。
【０１２９】
この署名検証によって、検証が成立しない場合は、情報処理装置は、デバイス証明書から取得されたデバイス公開鍵に対応する正しいデバイス秘密鍵を有していないものと判定され、処理を中止する。署名検証によって、検証が成立した場合は、ステップＳ１０７に進み、情報処理装置は、デバイス証明書から取得されたデバイス公開鍵に対応する正しいデバイス秘密鍵を有していると判定し、正当な情報処理装置であると判定し、デバイス識別子（デバイスＩＤ）をデバイス証明書から取得して、この情報処理装置に対応するデバイスＩＤであると判定する。
【０１３０】
次に、ステップＳ１０８において、セキュアＶＭは、装置確認処理実行コードにモデルバージョン証明書の呼び出し検証処理を実行する関数［Ｃａｌｌ＿Ｄｉｓｃｏｖｅｒｙ］が含まれているか否かを判定し、モデルバージョン証明書の呼び出し検証処理を実行する関数［Ｃａｌｌ＿Ｄｉｓｃｏｖｅｒｙ］が含まれている場合、この関数を実行し、ステップＳ１０９において、情報処理装置のメモリからモデルバージョン証明書（ＭＶ  Ｃｅｒｔ）を取得する。モデルバージョン証明書の呼び出し検証処理を実行する関数［Ｃａｌｌ＿Ｄｉｓｃｏｖｅｒｙ］が含まれていない場合は、正常な装置確認処理が終了したと判定され、処理を終了する。
【０１３１】
ステップＳ１０９において、情報処理装置のメモリからモデルバージョン証明書（ＭＶ  Ｃｅｒｔ）を取得すると、ステップＳ１１０において、モデルバージョン証明書（ＭＶ  Ｃｅｒｔ）に設定された署名の検証処理を実行するこの処理は、情報処理装置のメモリに格納されている鍵管理センタの公開鍵を適用した署名検証処理として実行される。この署名検証によって、モデルバージョン証明書の正当性が確認されない場合は、処理は中止される。
【０１３２】
ステップＳ１１０において、署名検証によりモデルバージョン証明書の正当性が確認されると、ステップＳ１１１に進み、コンテンツコードに含まれる関数［Ｃａｌｌ＿ＰｒｉｖａｔｅＫｅｙ］を実行する。すなわち、情報処理装置が生成した乱数、あるいは情報記録媒体からの読み込みデータに対して情報処理装置のモデルバージョン秘密鍵による署名を実行する。さらに、ステップＳ１１２において、生成した署名の検証を行なう。この検証は、正当性が確認されたモデルバージョン証明書から取得されるモデルバージョン公開鍵を適用して実行される。
【０１３３】
この署名検証によって、検証が成立しない場合は、情報処理装置は、モデルバージョン証明書から取得されたモデルバージョン公開鍵に対応する正しいモデルバージョン秘密鍵を有していないものと判定され、処理を中止する。署名検証によって、検証が成立した場合は、ステップＳ１１３に進み、情報処理装置は、モデルバージョン証明書から取得されたモデルバージョン公開鍵に対応する正しいモデルバージョン秘密鍵を有していると判定し、正当な情報処理装置であると判定し、モデル／バージョン識別子（モデル／バージョンＩＤ）をモデルバージョン証明書から取得して、この情報処理装置に対応するモデルＩＤ、バージョンＩＤであると判定する。
【０１３４】
このように、情報処理装置は、デバイス証明書、またはモデルバージョン証明書の少なくともいずれかの証明書、または、デバイスPrivate鍵、ModelKey/Version Keyを適用して装置確認処理を実行する。この処理によって、装置のデバイスＩＤ、モデルＩＤ、バージョンＩＤの少なくともいずれかが特定される。すなわち、電子証明書のみではなく、装置それぞれの固有の鍵、又は、モデル、バージョンで共通の鍵を用いることにより、確実に情報処理装置の特定が可能となる。
【０１３５】
さらに、セキュアＶＭ１６０は、前述したように、コンテンツ再生を実行する装置内のメモリ（ＲＡＭ）上の特定の値をチェックして、正当なプレーヤ（装置または再生アプリ）であるか否かの検証を実行する。この検証対象となるメモリ（ＲＡＭは、ディスカバリＲＡＭ（ＤｉｓｃｏｖｅｒｙＲＡＭ）と呼ばれる。
【０１３６】
セキュアＶＭ１６０は、例えば特定のコンテンツの再生開始前や再生中に、特定のメモリ（ＤｉｓｃｏｖｅｒｙＲＡＭ）が、プレーヤ固有の状態になることを監視することで正当性や装置の状態を確認する。この場合は、チェックルーチンがコンテンツとプレーヤの両方に依存することになる。情報記録媒体１００に格納されたコンテンツコード１０５には、上述のＤｉｓｃｏｖｅｒｙＲＡＭを利用したプレーヤ正当性チェックにおいて、ＲＡＭ上の実際の値と比較するための値（ターゲット値）を格納したテーブルが含まれ、セキュアＶＭ１６０はＲＡＭのデータとテーブルのデータとの比較検証を実行して正当なプレーヤ（装置または再生アプリ）であるか否かの検証を実行する。
【０１３７】
［５．装置情報に基づく再生コンテンツ制御処理］
先に説明したように、図１に示すコンテンツ制御部１５２は、図１に示すホスト１４０におけるセキュアＶＭ１６０から、セキュリティチェック処理に際して確認された自装置のデバイス、モデル、またはバージョン情報を取得し、確認されたデバイス、モデル、またはバージョン情報に基づいて、自装置に対応した最適なコンテンツを情報記録媒体１００から選択して再生処理を開始させる。
【０１３８】
すなわち、セキュアＶＭ１６０は、図８に示すフローチャートに従ったコンテンツコードを利用した装置確認処理を実行して、自装置の装置情報、すなわち、自装置対応のデバイス識別子、モデル識別子、バージョン識別子、リビジョン識別子を自装置のメモリに格納されたデバイス証明書、あるいはモデルバージョン証明書に基づいて取得し確認する。コンテンツ制御部１５２は、セキュアＶＭ１６０からこれらの装置情報を取得し、装置情報に基づいて自装置に対応した最適なコンテンツを情報記録媒体１００から選択して再生処理を開始する制御を行う。
【０１３９】
さらに、コンテンツ制御部１５２は、セキュアＶＭ１６０による上述したＤＩｓｃｏｖｅｒｙＲＡＭを利用した装置検証情報についても取得し、このＤＩｓｃｏｖｅｒｙＲＡＭを利用した装置検証情報を参照して、装置の状態情報等を取得し再生コンテンツの選択や再生態様の変更処理などの再生コンテンツ制御処理を実行する。
【０１４０】
図９に示すフローチャートを参照して、セキュアＶＭ１６０における装置情報の取得と、コンテンツ制御部１５２における再生コンテンツ制御シーケンスについて説明する。
【０１４１】
ステップＳ２０１は、セキュアＶＭにおける処理であり、先に図８のフローを参照して説明したコンテンツコードを利用した装置確認処理である。すなわち、自装置のメモリに格納されたデバイス証明書、あるいはモデルバージョン証明書を取得して署名確認処理等により、正当な証明書であることを確認して、自装置の装置情報、すなわち、自装置対応のデバイス識別子、モデル識別子、バージョン識別子、リビジョン識別子を取得する。
【０１４２】
ステップＳ２０２もセキュアＶＭにおける処理であり、ＤＩｓｃｏｖｅｒｙＲＡＭを利用した装置検証処理である。すなわち、ＤＩｓｃｏｖｅｒｙＲＡＭを利用した装置検証情報を参照して、装置の状態情報等を取得する。なお、この処理によって取得される装置情報としては、例えば以下の情報が含まれる。
＊装置のハードウェアやアプリケーション等のソフトウェア実装情報
＊ハードウェア構成に起因する装置性能情報
＊ベンチマークの実行結果など直接的に性能を示す情報
＊現在の再生装置状態に関する情報
＊ダウンロード、録画など別の処理を実行中かなどの処理実行情報
＊コンテンツ再生に使用できるリソース情報
これらの情報が装置の検証対象としてのメモリ（ＲＡＭ）に記録されており、セキュアＶＭ１６０はＲＡＭからこれらの情報を取得する。
【０１４３】
ステップＳ２０３において、セキュアＶＭ１６０は、ステップＳ２０１およびステップＳ２０２において取得した装置情報をレジスタ（ＰＳＲ）に書き込みアプリケーション実行部１５０のコンテンツ制御部１５２に提供する。ＰＳＲはプレイヤ・ステータスレジスタであり、様々なプレーヤ状態情報の一時記憶領域として利用されるレジスタであり、セキュアＶＭ１６０およびアプリケーション実行部１５０の双方がアクセス可能なレジスタである。具体的なレジスタ利用構成については後述する。
【０１４４】
ステップＳ２０４はアプリケーション実行部１５０のコンテンツ制御部１５２における処理であり、ＰＳＲ経由で取得した装置情報、すなわち、自装置対応のデバイス識別子、モデル識別子、バージョン識別子、リビジョン識別子情報や、ＤｉｓｃｏｖｅｒｙＲＡＭによる処理によって取得した装置情報に基づいて、装置に対応したコンテンツ選択処理や、コンテンツ再生態様の決定処理を実行してコンテンツ再生を開始する。再生処理が開始されると、ステップＳ２０５において、例えば表示装置等に再生コンテンツの出力が行なわれる。
【０１４５】
先に説明したように、情報記録媒体には、再生ビットレートの設定を変更して再生可能としたコンテンツや、装置の持つ機能に応じたグラフィック処理などの処理を実行する複数の異なるプログラム情報を含むアプリケーションコンテンツ（例えばＪａｖａ（登録商標）プログラム）などがあり、コンテンツ制御部１５２は、ステップＳ２０４においてセキュリティチェック処理に際して確認された自装置の装置情報に基づいて、これらのコンテンツ中から、自装置の持つ機能に応じたコンテンツを選択して再生処理を実行する。
【０１４６】
なお、コンテンツ制御部１５２は、コンテンツ再生中においても、メディア（情報記録媒体１００）のアクセス処理や、バックグラウンド処理など、実装に自由度が許されている部分で発生する装置機能の差に対応して再生コンテンツの切り替えも実行し、この切り替え処理においても、セキュリティチェック処理に際して確認された自装置情報やＤｉｓｃｏｖｅｒｙＲＡＭによる装置情報に基づく処理を実行する。
【０１４７】
ＤｉｓｃｏｖｅｒｙＲＡＭから取得される装置情報は、コンテンツ再生中においても変化することがあり、コンテンツ制御部１５２は、ＰＳＲを介してこの装置情報を取得して、再生装置の状態やハードウェア状況に基づいて発生する望ましくない再生動作の回避のための処理、例えば他のプログラム実行によるリソース不足、例えばＣＰＵやメモリの占有が出来ない場合などのハードウェア状況に応じて再生コンテンツの選択の変更や、再生態様の変更制御も実行する。
【０１４８】
なお、図９に示すフローでは、セキュアＶＭによって取得する装置情報はコンテンツコードによって決められている例であるが、アプリケーションがどのような情報を利用してコンテンツ選択を行うかについてはアプリケーションが決定しているので、ステップＳ２０１の処理の実行前にアプリケーションから取得が必要な情報をセキュアＶＭに伝え、セキュアＶＭは、アプリケーションから要求された装置情報のみを取得してＰＳＲを介してアプリケーション側（コンテンツ制御部）に提供する構成としてもよい。この構成とすることで、利用しないデータを取得する時間と処理の無駄を省くことができる。
【０１４９】
セキュアＶＭ１６０が、ステップＳ２０１において各証明書から取得した自装置対応のデバイス識別子、モデル識別子、バージョン識別子、リビジョン識別子情報や、ステップＳ２０２においてＤｉｓｃｏｖｅｒｙＲＡＭによる処理によって取得した装置情報は、ステップＳ２０３において、ＰＳＲを利用してアプリケーション側に提供される。図１０以下を参照してＰＳＲを利用したセキュアＶＭ１６０からアプリケーション実行部１５０のコンテンツ制御部１５２に対する装置情報の提供処理およびコンテンツ制御部におけるコンテンツ選択などの再生コンテンツの制御処理の詳細について説明する。
【０１５０】
図１０には、装置のシステム状態情報等を格納するシステムメモリ５３１、セキュアＶＭの利用するメモリ領域であるセキュアＶＭメモリ５３２、セキュアＶＭと、アプリケーションレイヤ（コンテンツ制御部）５３４の間でのデータ提供処理に適用するレジスタであるＰＳＲ（プレイヤ・ステータスレジスタ）５３３を示している。
【０１５１】
システムメモリ５３１には、再生処理を実行する情報処理装置が再生処理に適用するプログラムを格納する装置の再生（Player）プログラムコード領域５４１、さらに、再生処理の実行に際しての各種パラメータやメモリ使用量などのシステム情報を格納する装置（Player）プログラム実行領域５４３が格納されている。
【０１５２】
再生（Player）プログラムコード領域５４１には、装置のデバイスやモデル、あるいは再生（Player）プログラムのバージョン（Version）などの装置情報５４２が含まれ、装置（Player）プログラム実行領域５４３には装置のデバイスやモデル、あるいは再生（Player）プログラムのバージョン（Version）に依存した装置対応プログラム実行情報５４４が含まれる。
【０１５３】
ステップＳ３０１において、システムメモリ５３１に格納された装置情報５４２や装置対応プログラム実行情報５４４が、セキュアＶＭメモリ５３２へ転送される。この処理は、システムメモリ５３１上の情報をセキュアＶＭメモリ５３２へ転送するＡＰＩを利用して実行される。この処理によってセキュアＶＭは、例えばファームウェアのバージョン情報や、バージョンに依存した特徴情報であるメモリ上のデータ配置などの情報を取得する。
【０１５４】
ステップＳ３０２において、セキュアＶＭは、セキュアＶＭメモリ５３２上のプログラム５４５を実行し、Ｓ３０１で転送された情報、すなわち、装置情報５４２や装置対応プログラム実行情報５４４を利用して、先に図９を参照して説明したステップＳ２０１における各証明書からの自装置対応のデバイス識別子、モデル識別子、バージョン識別子、リビジョン識別子情報や、ステップＳ２０２におけるＤｉｓｃｏｖｅｒｙＲＡＭによる装置情報の取得処理を実行して、セキュアＶＭメモリ５３２にアプリケーションレイヤ５３４に対する提供データ５４６として記録する。
【０１５５】
次にセキュアＶＭはステップＳ３０３において、セキュアＶＭメモリ５３２に記録した提供データ５４６をアプリケーションレイヤ５３４の利用可能なレジスタであるＰＳＲ５３３に書き込む処理を実行する。この書き込み処理は、セキュアＶＭ上のプログラムが使用できるＡＰＩを利用した処理として実行される。
【０１５６】
アプリケーションレイヤ（コンテンツ制御部）５３４は、ＰＳＲ５３３に書き込まれた提供データ５４６、すなわち、先に図９を参照して説明したステップＳ２０１における各証明書からの自装置対応のデバイス識別子、モデル識別子、バージョン識別子、リビジョン識別子情報や、ステップＳ２０２におけるＤｉｓｃｏｖｅｒｙＲＡＭによる装置情報が含まれるデータをＰＳＲ５３３から取得し、これらの情報を適用して、装置に対応したコンテンツ選択処理や、コンテンツ再生態様の決定処理を実行してコンテンツ再生を開始する。
【０１５７】
図１１には、セキュアＶＭ１６０と、アプリケーション実行部１５０と、３つのプレイヤ・ステータスレジスタ（ＰＳＲ）、すなわち、レジスタＸ（ＰＳＲ−Ｘ）５７１，レジスタＹ（ＰＳＲ−Ｙ）５７２，レジスタＺ（ＰＳＲ−Ｚ）５７３を示している。ＰＳＲ（プレイヤ・ステータスレジスタ）は様々なプレーヤ状態情報の一時記憶領域としてのレジスタであり、セキュアＶＭ１６０とアプリケーション実行部１５０とのデータ授受に利用されるレジスタである。
【０１５８】
レジスタＸ（ＰＳＲ−Ｘ）５７１は、セキュアＶＭ１６０が書き込み（Ｗｒｉｔｅ）を実行し、アプリケーション実行部１５０が読み取り（Ｒｅａｄ）を実行するレジスタである。レジスタＸ（ＰＳＲ−Ｘ）５７１に対して、セキュアＶＭ１６０が書き込み（Ｗｒｉｔｅ）を実行すると、レジスタＸ（ＰＳＲ−Ｘ）５７１の変化に基づくイベント通知が、アプリケーション実行部１５０になされ、アプリケーション実行部１５０は、レジスタＸ（ＰＳＲ−Ｘ）５７１に対する書き込み（Ｗｒｉｔｅ）が実行されたことを知ることができる。
【０１５９】
例えばコンテンツの再生制御や、メッセージ提示、Ｊａｖａ（登録商標）やＨＤＭＶなどのアプリケーションを実行するアプリケーション実行部１５０は、レジスタＸ（ＰＳＲ−Ｘ）５７１に対する書き込み（Ｗｒｉｔｅ）が実行されたことの通知を受け取ったらレジスタＸ（ＰＳＲ−Ｘ）５７１をチェックし、値に応じて警告メッセージを表示するなどの処理を行う。
【０１６０】
また、レジスタＹ（ＰＳＲ−Ｙ）５７２は、アプリケーション実行部１５０が書き込み（Ｗｒｉｔｅ）を実行し、セキュアＶＭ１６０が読み取り（Ｒｅａｄ）を実行するレジスタである。メッセージ提示や、Ｊａｖａ（登録商標）やＨＤＭＶなどのアプリケーションを実行するアプリケーション実行部１５０は、セキュアＶＭ１６０に対して通知する内容に対応する値をレジスタＹ（ＰＳＲ−Ｙ）５７２に書き込む。
【０１６１】
レジスタＹ（ＰＳＲ−Ｙ）５７２にデータが書き込まれると、セキュアＶＭ１６０に対して通知（ＩＮＴＲＰ：ｉｎｔｅｒｒｕｐｔ）がなされる。セキュアＶＭ１６０は、レジスタＹ（ＰＳＲ−Ｙ）５７２に書き込まれた値に応じた処理を行う。レジスタＹ（ＰＳＲ−Ｙ）５７２には、例えば、アプリケーション実行部１５０が実行したメッセージ表示に対するユーザ入力値が書き込まれる。
【０１６２】
レジスタＺ（ＰＳＲ−Ｚ）５７３は、セキュアＶＭ１６０、およびアプリケーション実行部１５０の双方が書き込み（Ｗｒｉｔｅ）および読み取り（Ｒｅａｄ）を実行可能なレジスタである。このレジスタＺ（ＰＳＲ−Ｚ）５７３は、セキュアＶＭ１６０、およびアプリケーション実行部１５０相互間の処理状況通知用レジスタとして利用される。
【０１６３】
本構成を利用したメッセージ提示およびユーザ入力受領処理シーケンスについて、図１２を参照して説明する。図１２には、セキュリティ情報処理部として機能するセキュアＶＭ１６０と、アプリケーション実行部１５０と、３つのレジスタＸ（ＰＳＲ−Ｘ）５７１，レジスタＹ（ＰＳＲ−Ｙ）５７２，レジスタＺ（ＰＳＲ−Ｚ）５７３を示している。
【０１６４】
アプリケーション実行部１５０において通常実行されるアプリケーションは、情報記録媒体に格納された例えばＪａｖａ（登録商標）やＨＤＭＶ対応のコンテンツを実行するアプリケーションプログラムである。図１２には、セキュアＶＭ１６０と、アプリケーション実行部１５０が実行する処理シーケンスを処理ステップＳ２３１〜Ｓ２３７として示してある。各処理ステップについて説明する。
【０１６５】
まず、ステップＳ２３１において、セキュアＶＭ１６０が、コンテンツ再生処理において、何らかのセキュリティ問題を検出した場合や、装置情報を検出したとする。セキュアＶＭ１６０は、ステップＳ２３２において、検出情報に対応して設定された検出コードをレジスタＸ（ＰＳＲ−Ｘ）５７１に書き込む。このレジスタ書き込みによって、レジスタＸ（ＰＳＲ−Ｘ）５７１の変化に基づくイベント通知が、アプリケーション実行部１５０になされ、アプリケーション実行部１５０は、レジスタＸ（ＰＳＲ−Ｘ）５７１に対する書き込み（Ｗｒｉｔｅ）が実行されたことを知ることができる。
【０１６６】
ステップＳ２３３において、アプリケーション実行部１５０は、イベント通知によって、レジスタ書き込み発生を検知し、レジスタＸ（ＰＳＲ−Ｘ）５７１に書き込まれた検出コードを取得する。アプリケーション実行部１５０は、レジスタＸ（ＰＳＲ−Ｘ）５７１に書き込まれた検出コードを取得した後、ステップＳ２３４において、取得検出コードに対応して設定されたメッセージを表示部に出力する処理や、再生コンテンツの選択、選択変更、再生態様の決定または変更などの処理を実行する。
【０１６７】
表示部に表示されるメッセージデータは、たとえば、再生コンテンツが変更されたことや変更が必要であることのメッセージなどである。アプリケーション実行部１５０は、ステップＳ２３５において、例えばコンテンツ変更を了解またはコンテンツ変更を許容するユーザ入力を検出すると、ステップＳ２３６において、ユーザ入力情報をレジスタＹ（ＰＳＲ−Ｙ）５７２に書き込む。
【０１６８】
レジスタＹ（ＰＳＲ−Ｙ）５７２にデータが書き込まれると、セキュアＶＭ１６０に対して通知（ＩＮＴＲＰ：ｉｎｔｅｒｒｕｐｔ）がなされる。セキュアＶＭ１６０は、レジスタＹ（ＰＳＲ−Ｙ）５７２に書き込まれたことを通知（ＩＮＴＲＰ：ｉｎｔｅｒｒｕｐｔ）によって検出すると、ステップＳ２３７において、レジスタＹ（ＰＳＲ−Ｙ）５７２の書き込みデータ、例えば、アプリケーション実行部１５０が実行したメッセージ表示に対するユーザ入力値を取得し、ユーザ入力値に対応した処理、例えばセキュリティ対応処理などを実行する。
【０１６９】
なお、以上説明した処理シーケンスにおいては、レジスタＺ（ＰＳＲ−Ｚ）５７３の利用が示されていないが、レジスタＺ（ＰＳＲ−Ｚ）５７３は、前述したように、セキュアＶＭ１６０、およびアプリケーション実行部１５０の双方が書き込み（Ｗｒｉｔｅ）および読み取り（Ｒｅａｄ）を実行可能なレジスタであり、セキュアＶＭ１６０、およびアプリケーション実行部１５０相互間の処理状況通知用レジスタとして利用される。
【０１７０】
例えば、初期状態で、ＰＳＲ−Ｚの設定値＝０として設定され、セキュアＶＭ１６０の処理が終了し、アプリケーション実行部１５０の処理手順になった場合にＰＳＲ−Ｚの設定値＝１として設定し、次に、アプリケーション実行部１５０の処理が終了し、セキュアＶＭ１６０の処理手順になった場合にＰＳＲ−Ｚの設定値＝２として設定するなどによって、双方の処理手順に応じてプロセスの進み具合に応じた値を設定し、双方が処理シーケンスの進行度を確認可能とすることができる。なお、処理の終了や、中断の場合には、ＰＳＲ−Ｚの設定値＝０として初期値に戻す設定とする。
【０１７１】
このように、セキュアＶＭ１６０、およびアプリケーション実行部１５０は、レジスタＺ（ＰＳＲ−Ｚ）５７３をセキュアＶＭ１６０、およびアプリケーション実行部１５０相互間の処理状況通知用レジスタとして利用することで、処理シーケンスに従った確実な処理の実行が可能となる。
【０１７２】
さらに、図１１に示すセキュアＶＭ１６０、およびアプリケーション実行部１５０の双方が利用可能な３つのレジスタＸ（ＰＳＲ−Ｘ）５７１，レジスタＹ（ＰＳＲ−Ｙ）５７２，レジスタＺ（ＰＳＲ−Ｚ）５７３を利用することで、セキュアＶＭ１６０と、アプリケーション実行部１５０との間での信頼性確認処理を実行することができる。
【０１７３】
図１３を参照して、セキュアＶＭ１６０と、アプリケーション実行部１５０との間での信頼性確認処理シーケンスについて説明する。図１３は、セキュアＶＭ１６０と、アプリケーション実行部１５０との間でチャレンジ／レスポンス処理を行うことにより、お互いに正常に動作していることを確認する処理のシーケンスを説明する図である。核ステップについて説明する。
【０１７４】
まず、ステップＳ２４１−ａにおいて、アプリケーション実行部１５０は、適当な値（例えば乱数）を生成し、レジスタＹ（ＰＳＲ−Ｙ）５７２に書き込む。さらに、ステップＳ２４１−ｂにおいて、レジスタＺ（ＰＳＲ−Ｚ）５７３に状態値（例えば２）を書き込む。
【０１７５】
セキュアＶＭ１６０は、レジスタＹ（ＰＳＲ−Ｙ）５７２にデータが書き込まれたことを通知（ＩＮＴＲＰ＿ＰｒｅｓｅｎｔａｔｉｏｎＬａｙｅｒ）により検出し、ステップＳ２４２において、レジスタＹ（ＰＳＲ−Ｙ）５７２の書き込みデータを読み取る。
【０１７６】
さらに、セキュアＶＭ１６０は、レジスタＹ（ＰＳＲ−Ｙ）５７２からの読み取り値（乱数）に対して予め定められたデータ処理、例えば演算処理あるいは暗号処理などを実行し、ステップＳ２４３−ａにおいて、この結果値をレジスタＸ（ＰＳＲ−Ｘ）５７１に書き込む。セキュアＶＭ１６０は、この処理に際してステップＳ２４３−ｂにおいて、レジスタＺ（ＰＳＲ−Ｚ）５７３に状態値（例えば１）を書き込む。
【０１７７】
ステップＳ２４４において、アプリケーション実行部１５０は、レジスタＸ（ＰＳＲ−Ｘ）５７１の書き込みデータを読み取り、ステップＳ２４５において、読み取りデータの検証を実行する。例えば、アプリケーション実行部１５０によって生成し、セキュアＶＭ１６０に通知した乱数に基づいて自ら演算あるいは暗号処理を実行した結果と比較照合を実行し、レジスタＸ（ＰＳＲ−Ｘ）５７１からの読み取り値と一致すれば、セキュアＶＭ１６０は、正当な処理を実行しているセキュアＶＭ１６０であると判断する。なお、セキュアＶＭ１６０と、アプリケーション実行部１５０が乱数に対して実行する演算処理あるいは暗号処理は共有する秘密情報に基づく処理を行なう設定とすることが好ましい。
【０１７８】
なお、図１３に示す信頼性確認処理は、複数回繰り返し実行してもよく、また、乱数発行をセキュアＶＭ１６０が実行する構成としてもよい。この信頼性確認機能を有することによって、アプリケーション実行部１５０において実行されるアプリケーションについての信頼性確認が可能となるため、アプリケーションレイヤ（ＡＶレイヤ）のロバストネス（Ｒｏｂｕｓｔｎｅｓｓ）に特に制限を設けることなく、従来通りの実装で良い点が非常に大きな利点となる。
【０１７９】
アプリケーション実行部１５０としてのＡＶレイヤにおいて実行されるアプリケーションは、通常のＣＰＵで処理されることが多く、高度なロバストネス（Ｒｏｂｕｓｔｎｅｓｓ）が要求されると実装コストが非常に高くなってしまうが、本処理例の如く、セキュアＶＭ１６０と、アプリケーション実行部１５０との間での信頼性確認を実行可能としたことで、プリケーション実行部１５０において実行されるアプリケーションに対して高度なロバストネス（Ｒｏｂｕｓｔｎｅｓｓ）が要求することのない設定が可能となる。
【０１８０】
このように、セキュアＶＭ１６０とアプリケーション実行部１５０は、レジスタ（ＰＳＲ）を介してセキュリティ情報や装置情報のやり取りを行い、アプリケーション実行部１５０のコンテンツ制御部１５２は、ＰＳＲを介してセキュアＶＭ１６０から提供される装置情報、すなわち、セキュアＶＭ１６０が証明書から取得した自装置対応のデバイス識別子、モデル識別子、バージョン識別子、リビジョン識別子情報や、ＤｉｓｃｏｖｅｒｙＲＡＭによる処理によって取得した装置情報に基づいて、装置に対応した最適なコンテンツの選択を実行し、必要に応じて再生処理態様を決定、変更して最適なコンテンツ再生を実行する。
【０１８１】
コンテンツ制御部１５２は、デバイス識別子、モデル識別子、バージョン識別子、リビジョン識別子情報などの装置の固定的な情報に基づいてコンテンツ再生制御を実行するばかりでなく、ＤｉｓｃｏｖｅｒｙＲＡＭによる装置状況確認処理の結果情報についても考慮した処理を行なう。すなわち、先に説明したように、
＊装置のハードウェアやアプリケーション等のソフトウェア実装情報
＊ハードウェア構成に起因する装置性能情報
＊ベンチマークの実行結果など直接的に性能を示す情報
＊現在の再生装置状態に関する情報
＊ダウンロード、録画など別の処理を実行中かなどの処理実行情報
＊コンテンツ再生に使用できるリソース情報
これら、動的に変化する装置情報に基づいて、再生制御を行なう。この結果、例えば再生処理に際して、再生コンテンツの映像が乱れたり再生不能に陥ったりといった再生エラーが防止され、装置の機能や状況に応じた最適なコンテンツ再生が実現される。
【０１８２】
［６．情報処理装置の構成］
次に、上述した処理を実行する情報処理装置の構成について図１４、図１５を参照して説明する。図１４は、図１に示す構成図において、主に本発明に関連する処理を実行する機能を抽出して簡潔に示した機能構成図であり、図１５は、情報処理装置のハードウェア構成例について示すブロック図である。
【０１８３】
まず、図１４を参照して本発明の情報処理装置の実行するコンテンツ制御処理についてまとめて説明する。図１４に示す情報記録媒体６１０には、コンテンツ６１１、コンテンツコード６１２が記録されている。なお、情報記録媒体６１０には、先に図１を参照して説明したようにこの他にも様々なデータが記録されているが、図１４には、その一部のみを示している。コンテンツコード６１２には、装置モデル、バージョンなどを調べる際に適用する装置確認処理用コード６１３、セキュリティチェックのためのセキュリティチェックコード６１４、再生コンテンツのデータ変換に適用する変換テーブル６１５が含まれる。
【０１８４】
コンテンツ制御部６２３は、図１に示す再生アプリケーション実行部１５０のコンテンツ制御部１５２に相当し、情報記録媒体６１０に記録されたコンテンツ６１１の再生制御を実行する。セキュリティチェック実行部６２１は、図１に示すセキュアＶＭ１６０に相当し、情報記録媒体６１０に記録されたコンテンツコード６１３を取得し、コンテンツコード６１３に従ったセキュリティチェック処理を実行する。コンテンツ制御部６２３は、セキュリティチェック実行部６２１におけるセキュリティチェック処理において取得した装置情報をレジスタ（ＰＳＲ）６２２を介して受領し、受領した装置情報に基づいて装置に適応した再生コンテンツの選択または再生態様の決定処理を実行する。再生コンテンツは出力部６２４を介して出力される。
【０１８５】
セキュリティチェック実行部６２１は、コンテンツコード６１２に含まれる装置確認処理用コード６１３に基づいて、情報処理装置の記憶部から装置識別子を含む装置証明書を取得して装置確認処理を実行し、装置確認処理の後、装置証明書に記録された装置識別子を取得し、さらに取得した装置識別子に対応するコンテンツコードを適用したセキュリティチェック処理を実行し、取得した情報をレジスタ６２２に格納する。コンテンツ制御部６２３は、レジスタ６２２を介して記装置証明書に記録された装置識別子を取得して該装置識別子に基づいて装置に適応した再生コンテンツの選択または再生態様の決定処理を実行する。
【０１８６】
情報記録媒体６１０に格納されたコンテンツ６１１は、再生ビットレートの設定を変更して再生可能としたコンテンツや、装置の持つ機能に応じたグラフィック処理などの処理を実行する複数の異なるプログラム情報を含むアプリケーションコンテンツ（例えばＪａｖａ（登録商標）プログラム）などがあり、コンテンツ制御部６２３は、セキュリティチェック処理に際して確認された自装置のデバイス、モデル、またはバージョン情報に基づいて、これらのコンテンツ中から、自装置の持つ機能に応じたコンテンツを選択して再生処理を開始する。
【０１８７】
また、セキュリティチェック実行部６２１は、コンテンツコードに基づくセキュリティチェック処理として、システム情報を格納したメモリからの装置情報取得処理を実行し、コンテンツ制御部６２３は、システム情報を取得してシステム情報に基づいてシステム状態に適応した再生コンテンツの選択または再生態様の決定処理を実行する。なお、セキュリティチェック実行部６２１の取得するシステム情報には、コンテンツ再生処理実行中におけるシステムのハードウェアの利用情報、またはソフトウェアの実行情報の少なくともいずれかのシステム環境情報を含み、コンテンツ制御部６２３は、システム環境情報に基づいて、最適なコンテンツ再生が実行されるように再生コンテンツの選択または再生態様の切り替えを実行する。
【０１８８】
次に、図１５を参照して、上述した処理を実行する情報処理装置のハードウェア構成例について説明する。情報処理装置８００は、ＯＳやコンテンツ再生または記録アプリケーションプログラム、相互認証処理、コンテンツ再生に伴う様々な処理、例えば、上述したコンテンツコードに従った装置確認処理、セキュリティチェックコードに基づくセキュリティチェック処理、変換テーブルを適用したデータ変換処理、装置情報に基づくコンテンツ選択、再生制御処理などを含む各種プログラムに従ったデータ処理を実行するＣＰＵ８０９、プログラム、パラメータ等の記憶領域としてのＲＯＭ８０８、メモリ８１０、デジタル信号を入出力する入出力Ｉ／Ｆ８０２、アナログ信号を入出力し、Ａ／Ｄ，Ｄ／Ａコンバータ８０５を持つ入出力Ｉ／Ｆ８０４、ＭＰＥＧデータのエンコード、デコード処理を実行するＭＰＥＧコーデック８０３、ＴＳ（Transport Stream）・ＰＳ(Program Stream)処理を実行するＴＳ・ＰＳ処理手段８０６、相互認証、暗号化コンテンツの復号処理など各種の暗号処理を実行する暗号処理手段８０７、ハードディスクなどの記録媒体８１２、記録媒体８１２の駆動、データ記録再生信号の入出力を行なうドライブ８１１を有し、バス８０１に各ブロックが接続されている。
【０１８９】
情報処理装置（ホスト）８００は、例えばＡＴＡＰＩ−ＢＵＳ等の接続バスによってドライブと接続されている。変換テーブル、コンテンツなどをデジタル信号用入出力Ｉ／Ｆ８０２を介して入出力される。暗号化処理、復号処理は、暗号化処理手段８０７によって、例えば、ＡＥＳアルゴリズムなどを適用して実行される。
【０１９０】
なお、コンテンツ再生あるいは記録処理を実行するプログラムは例えばＲＯＭ８０８内に保管されており、プログラムの実行処理中は必要に応じて、パラメータ、データの保管、ワーク領域としてメモリ８１０を使用する。ＲＯＭ８０８または記録媒体８１２には、例えば、前述した各種の鍵データ、証明書データが格納される。
【０１９１】
コンテンツ再生またはコンテンツの外部出力に際しては、情報記録媒体から取得したコンテンツコードによる装置確認処理、セキュリティチェック処理が実行され、装置情報に基づくコンテンツ選択、再生制御など、先に説明した処理シーケンスに従った処理を実行する。
【０１９２】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１９３】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１９４】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０１９５】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１９６】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１９７】
以上、説明したように、本発明の一実施例の構成によれば、セキュアＶＭが情報記録媒体に記録されたコンテンツコードを取得してコンテンツコードに従ったセキュリティチェック処理を実行し、このセキュリティチェックに際して取得する装置情報をアプリケーション実行部のコンテンツ制御部が取得し、装置情報に基づいて最適な再生が可能なコンテンツを選択し再生を実行する構成としたので、装置の持つ機能や再生処理実行環境に応じた最適なコンテンツの選択、再生が実現される。
【図面の簡単な説明】
【０１９８】
【図１】情報記録媒体の格納データおよび情報処理装置の構成および処理について説明する図である。
【図２】情報記録媒体の格納コンテンツに対して設定するコンテンツ管理ユニットの設定例について説明する図である。
【図３】デバイス証明書、モデルバージョン証明書のデータ構成例について説明する図である。
【図４】情報処理装置に対して配布される鍵および証明書情報について説明する図である。
【図５】情報処理装置に格納される鍵および証明書情報について説明する図である。
【図６】情報処理装置に対して配布される鍵および証明書情報について説明する図である。
【図７】モデルバージョン証明書の更新処理について説明する図である。
【図８】情報処理装置におけるコンテンツコードを利用した装置確認処理シーケンスについて説明するフローチャートを示す図である。
【図９】情報処理装置における装置情報の取得およびコンテンツ再生制御処理シーケンスについて説明するフローチャートを示す図である。
【図１０】セキュアＶＭにおける装置情報の取得と、アプリケーション実行部に対する装置情報提供処理について説明する図である。
【図１１】セキュアＶＭとアプリケーション実行部のレジスタの利用によるデータ転送処理例について説明する図である。
【図１２】セキュアＶＭとアプリケーション実行部のレジスタの利用によるデータ転送処理例について説明する図である。
【図１３】セキュアＶＭとアプリケーション実行部のレジスタの利用によるデータ転送処理シーケンスを説明する図である。
【図１４】情報処理装置の構成および処理について説明する図である。
【図１５】情報処理装置のハードウェア構成例について説明する図である。
【符号の説明】
【０１９９】
１００  情報記録媒体
１０１  コンテンツ
１０２  ＭＫＢ
１０３  タイトル鍵ファイル
１０４  使用許諾情報
１０５  コンテンツコード
１０６  変換テーブル
１０７  セキュリティチェックコード
１０８  装置確認処理用コード
１２０  ドライブ
１２１  データ処理部
１４０  ホスト
１５０  再生（プレーヤアプリケーション）
１５１  データ処理部
１５２  コンテンツ制御部
１５３  復号処理部
１５４  データ変換処理部
１５５  デコード再生処理部
１５６  メモリａ
１６０  セキュアＶＭ
１６１  メモリｂ
２１０  インデックス
２２０  ムービーオブジェクト
２３０  プレイリスト
２４０  クリップ
２６１，２６２，２６３  ＡＶストリーム
２７１，２７２  コンテンツ管理ユニット（ＣＰＳユニット）
５０１，５０２  グループ鍵
５３１  システムメモリ
５３２  セキュアＶＭメモリ
５３３  レジスタ（ＰＳＲ）
５３４  アプリケーションレイヤ
５７１〜５７３  レジスタ（ＰＳＲ）
６１０  情報記録媒体
６１１  コンテンツ
６１２  コンテンツコード
６１３  装置確認処理用コード
６１４  セキュリティチェックコード
６１５  変換テーブル
６２１  セキュリティチェック実行部
６２２  レジスタ（ＰＳＲ）
６２３  コンテンツ制御部
６２４  出力部
８００  情報処理装置
８０１  バス
８０２  入出力Ｉ／Ｆ
８０３  ＭＰＥＧコーデック
８０４  入出力Ｉ／Ｆ
８０５  Ａ／Ｄ，Ｄ／Ａコンバータ
８０６  ＴＳ・ＰＳ処理手段
８０７  暗号処理手段
８０８  ＲＯＭ
８０９  ＣＰＵ
８１０  メモリ
８１１  ドライブ
８１２  記録媒体
【図３】
2008198272.tif 000003
【図４】
2008198272.tif 000004
【図５】
2008198272.tif 000005
【図６】
2008198272.tif 000006
【図７】
2008198272.tif 000007
【図８】
2008198272.tif 000008
【図９】
2008198272.tif 000009
【図１１】
2008198272.tif 000010
【図１２】
2008198272.tif 000011
【図１３】
2008198272.tif 000012
【図１４】
2008198272.tif 000013
【図１５】
2008198272.tif 000014
【図１】
2008198272.tif 000015
【図２】
2008198272.tif 000016
【図１０】
2008198272.tif 000017