説明

次世代メディアプレーヤ向けデュアルバーチャルマシン及びトラステッドプラットフォームモジュールアーキテクチャ

本発明は、コンピュータのソフトウェアベースの環境(10)であり、ネットワークやメディアプレーヤからダウンロードされる、メディアの安全認証を提供する為のもので、バーチャルマシン(22、24)を操作する2つのピアモードを含んでいる。低レベルバーチャルマシン(22)はデコーディング機能と暗号解読機能を提供し、ハイレベルバーチャルマシン(24)は、ユーザインターフェースI/Oの様なアプリケーションレベル機能を提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、持ち運び可能なメディアプレーヤのコピー防止を含んでいる新しいセキュリティ方法及びニューシステムの開発に関するものである。
【背景技術】
【0002】
バーチャルマシン(VM)は、コンパイラコードと、プログラムの命令を実際に実行するマイクロプロセッサ(またはハードウェアプラットフォーム)との間のインターフェースとして働くソフトウェアを記述するのに使用される言語である。コンパイラは、特定のプログラム言語で書かれた命令文を処理する特別なプログラムであり、それらの命令文をバイナリ機械言語、もしくはコンピュータの処理装置が使用する「コード」へと変換する。
【0003】
Java(登録商標)プログラム言語及びランタイム環境のディベロッパであるサンマイクロシステムは、Javaバーチャルマシンの開発で有名である。Javaバーチャルマシンが、コンピュータプロセッサ(または「ハードウェアプラットフォーム」)用にコンパイルされたJavaバイナリコード(バイトコードと呼ばれる)を解釈し、その結果Javaプログラムの命令を実行することが出来る。
【0004】
Javaは、各プラットフォーム毎に、プログラマが書き直したり再コンパイルする必要がなしに、どのプラットフォーム上でも実行出来るアプリケーションプログラムを作成できるように設計されている。1度Javaバーチャルマシンがプラットフォーム用に提供されると、どんなJavaプログラムもプラットフォーム上でランすることが出来る。特定の命令長と他のプラットフォームの詳細が理解されている為、Javaバーチャルマシンはこれを可能にする。
【0005】
バーチャルマシンは、抽象的な計算機である。実在の計算機と同様に、命令セットを有し、ランタイムでさまざまな記憶エリアを処理する。バーチャルマシンを用いてプログラム言語を実行することは非常に一般的なことであり、最もよく知られるバーチャルマシンはUCSDパスカルのP-Codeマシンである。
【0006】
更にバーチャルマシンは、オペレーティングシステムもコンピュータを実行するプログラムもより一般的に記述することが出来る。
【0007】
DVDやCDプレーヤの様な次世代メディアプレーヤにおける改良されたコピー防止方法を開発することが長く望まれていた。
【0008】
DVD用に使用されている1つの既知のコンテンツセキュリティシステムは、コンテンツスクランブルシステム(CSS)であり、そのDVD上のデータが暗号化されている。DVDプレーヤは40ビットの解読キーを用いてデータを解読する。しかしCSSの致命的な欠点は、そのキーとアルゴリズムがスタティックになることにある。その暗号化のアルゴリズムを逆解析すれば、現存のDVDディスクを再生する全ての解読キーを利用出来る。一度暗号が解かれると、セキュリティアルゴリズムやキーを更新する方法がない為、そのシステムはずっと安全性を損なう。DVDコンテンツから全てのセキュリティをワンクリックのみで解除することができる、消費者に利用可能なプログラムが現在多くある。
【0009】
特にコンテンツ忠実度が増加するにつれて、コンテンツ所持者はこのようなセキュリティ解除が再発するのを望まない。それ故に次世代のコンテンツセキュリティシステムは、この様に無防備であるべきではない。
【0010】
ソフトウェアベンダーもまた、著作権侵害に直面するが、コンピュータの本質を考え、DVD向けのエンターテイメント産業において用いられるのとは異なるアプローチを用いている。歴史的に、パッケージソフトウェア問題(すなわちコンピュータゲーム)の製造業者は、手続き型セキュリティでそれらのコンテンツを保護している。それぞれのソフトウェアプロデューサは、コンテンツを保護するために、セキュリティコードを書いたり獲得する代わりに、プログラムを保護する非スタティックな方法がある。この手続き型セキュリティコードは、プログラム毎のベース上の複雑な技術で変化するが、もっとも重要なことに、それぞれのプログラムが異なるセキュリティソフトウェアを実現するため、例えばDVDセキュリティを解除するように、一般的な目的である「セキュリティ除去」プログラムを記述することが出来ない。
【0011】
もう1つ知られるコピー防止の方法は、ハードウェア仕様の命令を記述することである。この様な方法は、極めて限定的である点が問題となる。この方法によれば、さまざまな命令のセットを、それぞれのハードウェアコンフィグレーションの様に表現するべきではない。これはあまり実用的ではない。
【0012】
従って、メディアプレーヤの様なハードウェアに、ハードウェア仕様ではない、コピー防止を提供する方法が望まれている。
【発明の開示】
【0013】
従って本発明は、プラットフォーム型のコピー防止の処理のシステムと方法が、メディアプレーヤに提供される。本発明はデュアルバーチャルマシンアーキテクチャを、次世代メディアプレーヤに付与することによる解決を提案する。本発明は更に、バーチャルマシンアーキテクチャの所定の特徴とインターフェースで接続する、例えばトラステッドプラットフォームモジュール(TPM)の様なハードウェアベースのシステムに搭載された安全サブシステムの利用を提案する。
【0014】
本発明によるデュアルバーチャルマシンアーキテクチャは、高レベルバーチャルマシンと低レベルバーチャルマシンから成る。低レベルバーチャルマシンは低レベルメディアの解読とデコーディング機能をサポートする様に設計し、高レベルバーチャルマシンはアプリケーション層アクティビティを操作する様に設計する。従ってこのアーキテクチャは、アプリーケーションソフトウェアからセキュリティソフトウェアを区分する。
【0015】
一般に、手続型セキュリティに最も適したバーチャルマシンは、実際のハードウェアCPUの命令セットにより厳密に類似している。すなわち、ポインタをサポートするものであり、実行可能なコードとデータ間で作られる根本的な特徴はない。従ってバーチャルマシンのこの第1のタイプは、「低レベルVM」又は「セキュリティVM」と呼ばれる。この低レベルバーチャルマシンは、不正防止ソフトウェア技術をサポートする、従来型のCPUに合わせて設計されている。
【0016】
このようなバーチャルマシンに対する弱点は、プログラミングエラーや予期せぬランタイムコンディションが致命的になりやすい点にある。セキュリティシステムに対しては、この点は強いが、アプリケーションに対してはこの点は弱い。
【0017】
アプリケーションに対して、一層多くの計算機の細部をひそかに管理する「高レベルVM」は予測可能に確実に動作する信頼できるアプリケーションプログラムを開発することを可能にする。例えば、Javaは「ポインタ」又は明示的メモリ管理の概念(プログラミングエラーの共通ソースである)をサポートしないが、プログラムやプログラマが予期せぬランタイムコンディションを予測可能に処理することを助ける「例外処理」をサポートする。
【0018】
この高レベル、すなわちアプリケーションレベルのバーチャルマシンは、フル機能で設計され、高性能なアプリケーションインターフェースを搭載する。
【0019】
他のアプリケーションと共同して働くプラットフォームに依存しないセキュリティ機能を提供するためには、低レベルVMと高レベルVMの両方の利点を併合するのが理想的である。さらに、トラステッドプラットフォームモジュールは実行環境に安全に問合わせを行い検証を行なうことでハードウェアベースの信頼の基礎を提供する。
【0020】
典型的な実施例において、本発明はDVDやCDプレーヤでの更新可能なセキュリティとコピー防止の目的の為に用いられる。しかし、この様なアーキテクチャはまた、ハードドライブに記録されるメディアの再生や、ソリッドステートのメモリや、ネットワークを介して伝えられる記録サポートしている。
【0021】
以上によると、低レベルバーチャルマシンは低レベルメディアの解読とデコーディング機能をサポートする様に設計する。次世代メディア(NGM)アプリケーションにおいて、この低レベルバーチャルマシンは更に、高レベルVMのブートストラップを実施する。高レベルVMはアプリケーション層のアクティビティ、例えばアドバンストユーザインターフェースや、種種雑多なIOや、ネットワークアクティビティを処理する。
【0022】
本発明のデュアルVMアーキテクチャは全く新しいものである。このデュアルVMアーキテクチャは、従来からある「スタックVM」関係とは違い、ピア関係を提供する。上下関係で稼動する1つのVMのスタック関係の例として、パワーPC(Macの様な)やウインドウズエミュレータ(x86エミュレータまたはVM)があり、それぞれがJavaVMを実行する。
【0023】
更に、ハードウェアベースのトラステッドコンピュータモジュールとデュアルVMアーキテクチャの組み合わせは、全く新しいものである。
【0024】
本発明は手続型セキュリティの使用をCDやDVDのようなメディアに拡張する。さらに、手続型セキュリティは宣言型のシステムよりはるかにフレキシブルな権利管理もコンテンツ所有者に可能とする。このフレキシビリティを利用して、CSSのような従来のスタティックセキュリティシステムにより提供されるシンプルコピープロテクション(CP)とは対照的に、本格的なデジタル権利管理(DRM)を実現することができる。
【0025】
本発明の前述の目的、機能と利点は、本発明の特徴と利点を説明する典型的な実施例の以下の詳細記述を読むことで明白である。
【発明を実施するための最良の形態】
【0026】
図を簡単かつ明快にするために、図に示される構成部分を正確に描く必要がないことが認識されるべきである。例えば、いくつかの構成部分の特徴が、それぞれ明確に区別されるように示されている。更に考えられる適切な参考番号は、対応する構成部分を示すように図の中で繰り返される。

以下に本発明の実施例を詳細の説明を記載するが、これらの実施例は本発明の模範例にすぎず、種々の形態に具体化することができる。それ故、ここに記載する本発明の特定の構造及び機能の詳細は、本発明を限定するものでなく、単に本発明の特許請求範囲の基礎と考えるべきものであり、且つ本発明は任意の適切な詳細構造で種々に使用することができることを当業者に教えるための代表的な基礎と考えるべきのものである。以下、図面(図1及び図2)を参照して本発明を詳細に説明する。
【0027】
本発明のシステム及び方法はメディアプレーヤ用のデュアルバーチャルマシンアーキテクチャを提供する。1つのVMはメディアの解読及びデコーディングのようなセキュリティ機能をサポートするように設計される。次世代メディアアプリケーションでは、低レベルVMがアプリケーションレベルVMのブートストラップに責任をもつものとすることができる。ハイレベル即ちアプリケーションレベルVMはアドバンストユーザインタフェース、種々のIO及びネットワークアクティビティのようなアプリケーション層アクティビティを処理する。
【0028】
図1及び図2は本発明の代表的実施例のコンピュータ環境10におけるメディアアーキテクチャを示す。特に、図1には、メディアデータ又はコンテンツ18と、メディアプレーヤでのメディアの再生を許可するセキュリティコード12と、ブートコード16とを含むメディアソース(例えばDVD、光ディスク、ソリッドステートデバイス、又はネットワーク)が示されている。
【0029】
本発明のメディア再生装置は少なくとも1つのバーチャルマシン(VM)を実行し得る中央処理ユニット(CPU)26を含む。代表的な実施例では、バーチャルチャルマシンはデュアルバーチャルマシンアーキテクチャであり、CPU26で実行される低レベルVM(例えばセキュリティVM)22と高レベルVM(例えばアプリケーションVM)24とを具える。VMで実行されるプログラムは使用規則を実行及び実施するのみならず、暗号化アルゴリズムを更新することができる。コンピュータ環境10は種々のプログラムの相互通信を許可する1組のルーティン又はプロトコルであり、アプリケーションプログラムインタフェース(API)40−44も含む。
【0030】
1つの態様では、一方のVM(22又は24)が他方のVMを制御することができる。他の態様では、高レベル及び低レベルバーチャルマシンが非階層的にピアとして機能し、互いにメッセージを送ることができる。これらのメッセージは、一方のバーチャルマシンが他方のバーチャルマシンのルーティンをコールする「外部機能(foreign-function)コール」として、あるいは、通信チャンネルに沿って送られる慣例のメッセージとして実行することができる。
【0031】
例えば、アプリケーションVM(即ちハイレベルVM)24はメディアコンテンツ18の再生(従ってトランスパレントデコーディング)を開始するためにセキュリティVM(即ち低レベルVM)をコールする。
【0032】
同様に、セキュリティVM22の内のコードがアプリケーションVM24をコールして、同期イベントまたはデコーディング問題(例えばセキュリティまたは許可問題)について知らせる。
【0033】
例えば、メディアがオリジナルの光メディアからコピーされたものである状態では、セキュリティVM22はアプリケーションVM24に、再生を続けるためにはキーが必要であることを知らせる。これに応答して、アプリケーションVM24は、この映画をユーザインターフェース27で所定期間「借りる」ことができることをユーザに知らせるメッセージをアプリケーションレベル機能25によって表示する。ユーザがこれを選択する場合には、ユーザはスタジオサーバとトランザクションを実行してキーを含む(VMしか理解できない)「不透明メッセージ」を得る必要がある。アプリケーションVM24がキーを含むこのメッセージを認証のためにセキュリティVM22及びコピー防止アルゴリズム23に返送する。
【0034】
メディア再生装置はさらに処理モジュール(例えばトラステッドプロセッシングモジュール又はTPM)32を含む。TPM仕様はトラステッドコンピューティンググループ(TCG)(http://www.trustedcomputinggroup.org) により生成されたトラステッドコンピューティングプラットフォームアライアンス(TCPA)仕様の1部である。TPM32はデクリプションキーを含み、セキュア暗号化計算を処理する。メディア再生装置はさらにAPI40−42を含み、バーチャルマシンで実行中の任意のプログラムがI/Oハードウェア及びTPMに問合わせを行うことを可能にする。これにより、VMで実行中のプログラムが使用規則のインテリジェントな選択を行うことが可能になる。さらに、CPU26に取り付けられたデコーディングモジュール34が符号化されたオーディオ/ビデオストリームを解凍するために設けられている。
【0035】
一般に、トラステッドプラットフォームはエンティティが当該プラットフォーム内のソフトウェア又はコンピュータ環境10の状態を決定することを可能にするとともにデータを当該プラットフォーム内の特定のソフトウェア環境にシールすることを可能にする。エンティティはコンピュータ環境の状態が受け入れ可能か否かを推定し、当該プラットフォームとトランザクションを実行する。トランザクションがプラットフォームに蓄積すべき機密データを含む場合には、当該プラットフォーム内のコンピュータ環境の状態がエンティティに受け入れ可能でない限り、エンティティは該データを機密フォーマットで保持する。
【0036】
これを可能とするために、トラステッドプラットフォームはエンティティがトラステッドプラットフォーム内のソフトウェア環境を推定可能にする情報を提供する。この情報は確実に測定され、エンティティに報告される。同時に、トラステッドプラットフォームは暗号化キーを暗号化し、キーの解読が可能となる前にソフトウェア環境を準備が整った状態にする手段を提供する。
【0037】
「トラステッド測定ルート」が所定のプラットフォーム特性を測定し、測定データを測定ストアに記録し、最終結果をTPMに格納する(これは完全性メトリクスを格納し報告するための信頼の基礎を含む)。従って、TPMは全てのデクリプションキーの安全な格納位置を提供する。TPMは殆どの暗号化計算及び機能も処理する。
【0038】
メディア再生装置はさらにセキュアな保護された入力及び出力28と、他のプレーヤとのネットワーク機能30、メモリデバイス(例えばRAM36及びROM38)を有する。
【0039】
従って、代表的な実施例によれば、別個のバーチャルマシン(VM)がCPUを含む同一のコンピュータ環境内で実行される。本発明のアーキテクチャは2つのバーチャルマネージャ(例えば高レベル即ちアプリケーションVM及び低レベル即ちセキュリティVM)に区分し、アプリケーション及びセキュリティマネージャは標準APIを経て通信する。アプリケーションバーチャルマネージャの機能はセキュリティバーチャルマネージャ内で実行されるセキュリティコードにネットワークサービスを付与し、メディアアクセス機能とデコーディング機能がセキュリティVMにより調停されるため、コンテンツセキュリティはアプリケーションオーザには見えない。
【0040】
計算の複雑度に関しては、セキュリティVMはシステムリソースに与える影響は小さく、簡単で軽量、低レベルで安全であり、且つこのVM用の適切なソフトウェアはセキュリティベンダにより提供され得る。アプリケーションVMは比較的大きなCPU及びメモリ影響を有するとともに、ユーザインターフェース及び入力/出力機能に対して責任がある。
【0041】
本発明は慣例のCD及びDVDプレーヤのようなメディアプレーヤへの使用に限定されず、PC、あるいは、持ち運び可能なメディアを再生する機能を含むもっとも一般的なハードウエアシステムを実行するものに拡張することができる。
【0042】
本発明の好適な実施例としての以上の説明は、図と説明を目的として示される。本発明の他の目的、機能、利点は本発明の記載を読むことで明らかとなる。これは完全なものではなく、本発明を正確に公開された形式に限定することを意図しない。多くの修正と変更が前記記載の観点から可能になる。
【図面の簡単な説明】
【0043】
【図1】代表的な実施例によるコンピュータ環境におけるメディア再生アーキテクチャの図である。
【図2】代表的な実施例による低レベルバーチャルマシンと高レベルバーチャルマシンのインタラクションと機能性を示すブロック図である。

【特許請求の範囲】
【請求項1】
コンピュータ環境に存在するデュアルバーチャルマシンアーキテクチャであって、該アーキテクチャは、
メディアのデコーディング又はセキュリティ機能の付与の少なくとも一つを実行する低レベルバーチャルマシンと、
アプリケーションレベル機能を実行する高レベルバーチャルマシンとを含み、
低レベルバーチャルマシンが高レベルバーチャルマシンとピア関係を有することを特徴とするデュアルバーチャルマシンアーキテクチャ。
【請求項2】
前記高レベルバーチャルマシンはユーザとインターフェースするためのアプリケーションプログラム含むことを特徴とする請求項1記載のデュアルバーチャルマシンアーキテクチャ。
【請求項3】
前記アプリケーションレベル機能は、ユーザへのインターフェースの付与又はメディアを有するネットワークとの通信の少なくとも一つを含むことを特徴とする請求項1記載のデュアルバーチャルマシンアーキテクチャ。
【請求項4】
メディアからのセキュリティコードを前記高レベルバーチャルマシンにより前記低レベルバーチャルマシンへ暗号解読のために送達することを特徴とする請求項1記載のデュアルバーチャルマシンアーキテクチャ。
【請求項5】
前記メディアは、DVD、光ディスク、ネットワーク又はソリッドステートデバイスのうちの少なくとも一つから入手可能であることを特徴とする請求項4記載のデュアルバーチャルマシンアーキテクチャ。
【請求項6】
少なくとも一つの暗号解読キーを含む処理モジュールをさらに具えることを特徴とする請求項1記載のデュアルバーチャルマシンアーキテクチャ。
【請求項7】
前記処理モジュールはセキュア暗号化計算を実行することを特徴とする請求項6記載のデュアルバーチャルマシンアーキテクチャ。
【請求項8】
前記処理モジュールは前記コンピュータ環境のモニタリングに使用することを特徴とする請求項6記載のデュアルバーチャルマシンアーキテクチャ。
【請求項9】
前記コンピュータ環境は中央処理装置(CPU)を含むことを特徴とする請求項1記載のデュアルバーチャルマシンアーキテクチャ。
【請求項10】
コンピュータ環境から独立したメディアプレーヤコピー防止を行う方法であって、
前記方法は、セキュリティ機能を実行する為に低レベルバーチャルマシンを提供するステップと、
ユーザインターフェースとアプリケーションレベル機能を実行する為に高レベルバーチャルマシンを提供するステップから構成され、
前記低レベルバーチャルマシンは前記高レベルバーチャルマシンとピア関係にあることを特徴とする提供方法。
【請求項11】
ユーザとインターフェース接続をするための高レベルバーチャルマシンを有するアプリケーションを更に含むことを特徴とする、請求項10に記載のコンピュータ環境から独立してメディアプレーヤにコピー防止の処理を提供する方法。
【請求項12】
前記アプリケーションレベル機能は少なくともインターフェースをユーザに提供するか、前記メディアを有するネットワークと通信する機能をもつことを特徴とする、請求項10記載のコンピュータ環境から独立してメディアプレーヤにコピー防止の処理を提供する方法。
【請求項13】
前記メディアから利用可能なセキュリティコードを前記高レベルバーチャルマシンによって暗号解読用の前記低レベルバーチャルマシンに伝えることを更に含むことを特徴とする、請求項10に記載のコンピュータ環境から独立してメディアプレーヤにコピー防止の処理を提供する方法。
【請求項14】
前記メディアはDVD、光ディスク、ネットワーク、ソリッドステートのデバイスの内少なくとも1つから利用可能である、請求項13に記載のコンピュータ環境から独立してメディアプレーヤにコピー防止の処理を提供する方法。
【請求項15】
少なくとも1つの暗号解読を提供する処理モジュールを更に含むことを特徴とする、請求項10に記載のコンピュータ環境から独立してメディアプレーヤにコピー防止の処理を提供する方法。
【請求項16】
前記処理モジュールは安全暗号法の演算処理を実行することを特徴とする、請求項15に記載のコンピュータ環境から独立してメディアプレーヤにコピー防止の処理を提供する方法。
【請求項17】
前記処理モジュールによって前記コンピュータ環境をモニタリングすることを更に含むことを特徴とする、請求項15に記載のコンピュータ環境から独立してメディアプレーヤにコピー防止の処理を提供する方法。
【請求項18】
前記コンピュータ環境は中央処理ユニット(CPU)を含むことを特徴とする、請求項10に記載のコンピュータ環境から独立してメディアプレーヤにコピー防止の処理を提供する方法。

【図1】
image rotate

【図2】
image rotate


【公表番号】特表2007−529044(P2007−529044A)
【公表日】平成19年10月18日(2007.10.18)
【国際特許分類】
【出願番号】特願2006−517804(P2006−517804)
【出願日】平成16年6月28日(2004.6.28)
【国際出願番号】PCT/US2004/021048
【国際公開番号】WO2005/001666
【国際公開日】平成17年1月6日(2005.1.6)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ウィンドウズ
【出願人】(504399716)ディズニー エンタープライゼス インコーポレイテッド (73)
【Fターム(参考)】