(57)【要約】  本発明は、コンピュータのソフトウェアベースの環境（１０）であり、ネットワークやメディアプレーヤからダウンロードされる、メディアの安全認証を提供する為のもので、バーチャルマシン（２２、２４）を操作する2つのピアモードを含んでいる。低レベルバーチャルマシン（２２）はデコーディング機能と暗号解読機能を提供し、ハイレベルバーチャルマシン（２４）は、ユーザインターフェースＩ／Ｏの様なアプリケーションレベル機能を提供する。
2007529044.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ環境に存在するデュアルバーチャルマシンアーキテクチャであって、該アーキテクチャは、
メディアのデコーディング又はセキュリティ機能の付与の少なくとも一つを実行する低レベルバーチャルマシンと、
アプリケーションレベル機能を実行する高レベルバーチャルマシンとを含み、
低レベルバーチャルマシンが高レベルバーチャルマシンとピア関係を有することを特徴とするデュアルバーチャルマシンアーキテクチャ。
【請求項２】
前記高レベルバーチャルマシンはユーザとインターフェースするためのアプリケーションプログラム含むことを特徴とする請求項１記載のデュアルバーチャルマシンアーキテクチャ。
【請求項３】
前記アプリケーションレベル機能は、ユーザへのインターフェースの付与又はメディアを有するネットワークとの通信の少なくとも一つを含むことを特徴とする請求項１記載のデュアルバーチャルマシンアーキテクチャ。
【請求項４】
メディアからのセキュリティコードを前記高レベルバーチャルマシンにより前記低レベルバーチャルマシンへ暗号解読のために送達することを特徴とする請求項１記載のデュアルバーチャルマシンアーキテクチャ。
【請求項５】
前記メディアは、ＤＶＤ、光ディスク、ネットワーク又はソリッドステートデバイスのうちの少なくとも一つから入手可能であることを特徴とする請求項４記載のデュアルバーチャルマシンアーキテクチャ。
【請求項６】
少なくとも一つの暗号解読キーを含む処理モジュールをさらに具えることを特徴とする請求項１記載のデュアルバーチャルマシンアーキテクチャ。
【請求項７】
前記処理モジュールはセキュア暗号化計算を実行することを特徴とする請求項６記載のデュアルバーチャルマシンアーキテクチャ。
【請求項８】
前記処理モジュールは前記コンピュータ環境のモニタリングに使用することを特徴とする請求項６記載のデュアルバーチャルマシンアーキテクチャ。
【請求項９】
前記コンピュータ環境は中央処理装置（ＣＰＵ）を含むことを特徴とする請求項１記載のデュアルバーチャルマシンアーキテクチャ。
【請求項１０】
コンピュータ環境から独立したメディアプレーヤコピー防止を行う方法であって、
前記方法は、セキュリティ機能を実行する為に低レベルバーチャルマシンを提供するステップと、
ユーザインターフェースとアプリケーションレベル機能を実行する為に高レベルバーチャルマシンを提供するステップから構成され、
前記低レベルバーチャルマシンは前記高レベルバーチャルマシンとピア関係にあることを特徴とする提供方法。
【請求項１１】
ユーザとインターフェース接続をするための高レベルバーチャルマシンを有するアプリケーションを更に含むことを特徴とする、請求項１０に記載のコンピュータ環境から独立してメディアプレーヤにコピー防止の処理を提供する方法。
【請求項１２】
前記アプリケーションレベル機能は少なくともインターフェースをユーザに提供するか、前記メディアを有するネットワークと通信する機能をもつことを特徴とする、請求項１０記載のコンピュータ環境から独立してメディアプレーヤにコピー防止の処理を提供する方法。
【請求項１３】
前記メディアから利用可能なセキュリティコードを前記高レベルバーチャルマシンによって暗号解読用の前記低レベルバーチャルマシンに伝えることを更に含むことを特徴とする、請求項１０に記載のコンピュータ環境から独立してメディアプレーヤにコピー防止の処理を提供する方法。
【請求項１４】
前記メディアはDVD、光ディスク、ネットワーク、ソリッドステートのデバイスの内少なくとも1つから利用可能である、請求項１３に記載のコンピュータ環境から独立してメディアプレーヤにコピー防止の処理を提供する方法。
【請求項１５】
少なくとも1つの暗号解読を提供する処理モジュールを更に含むことを特徴とする、請求項１０に記載のコンピュータ環境から独立してメディアプレーヤにコピー防止の処理を提供する方法。
【請求項１６】
前記処理モジュールは安全暗号法の演算処理を実行することを特徴とする、請求項１５に記載のコンピュータ環境から独立してメディアプレーヤにコピー防止の処理を提供する方法。
【請求項１７】
前記処理モジュールによって前記コンピュータ環境をモニタリングすることを更に含むことを特徴とする、請求項１５に記載のコンピュータ環境から独立してメディアプレーヤにコピー防止の処理を提供する方法。
【請求項１８】
前記コンピュータ環境は中央処理ユニット(ＣＰＵ)を含むことを特徴とする、請求項１０に記載のコンピュータ環境から独立してメディアプレーヤにコピー防止の処理を提供する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、持ち運び可能なメディアプレーヤのコピー防止を含んでいる新しいセキュリティ方法及びニューシステムの開発に関するものである。
【背景技術】
【０００２】
バーチャルマシン(VM)は、コンパイラコードと、プログラムの命令を実際に実行するマイクロプロセッサ(またはハードウェアプラットフォーム)との間のインターフェースとして働くソフトウェアを記述するのに使用される言語である。コンパイラは、特定のプログラム言語で書かれた命令文を処理する特別なプログラムであり、それらの命令文をバイナリ機械言語、もしくはコンピュータの処理装置が使用する「コード」へと変換する。
【０００３】
Java(登録商標)プログラム言語及びランタイム環境のディベロッパであるサンマイクロシステムは、Javaバーチャルマシンの開発で有名である。Javaバーチャルマシンが、コンピュータプロセッサ(または「ハードウェアプラットフォーム」)用にコンパイルされたJavaバイナリコード(バイトコードと呼ばれる)を解釈し、その結果Javaプログラムの命令を実行することが出来る。
【０００４】
Javaは、各プラットフォーム毎に、プログラマが書き直したり再コンパイルする必要がなしに、どのプラットフォーム上でも実行出来るアプリケーションプログラムを作成できるように設計されている。１度Javaバーチャルマシンがプラットフォーム用に提供されると、どんなJavaプログラムもプラットフォーム上でランすることが出来る。特定の命令長と他のプラットフォームの詳細が理解されている為、Javaバーチャルマシンはこれを可能にする。
【０００５】
バーチャルマシンは、抽象的な計算機である。実在の計算機と同様に、命令セットを有し、ランタイムでさまざまな記憶エリアを処理する。バーチャルマシンを用いてプログラム言語を実行することは非常に一般的なことであり、最もよく知られるバーチャルマシンはUCSDパスカルのP-Codeマシンである。
【０００６】
更にバーチャルマシンは、オペレーティングシステムもコンピュータを実行するプログラムもより一般的に記述することが出来る。
【０００７】
DVDやCDプレーヤの様な次世代メディアプレーヤにおける改良されたコピー防止方法を開発することが長く望まれていた。
【０００８】
ＤＶＤ用に使用されている1つの既知のコンテンツセキュリティシステムは、コンテンツスクランブルシステム(ＣＳＳ)であり、そのDVD上のデータが暗号化されている。ＤＶＤプレーヤは４０ビットの解読キーを用いてデータを解読する。しかしＣＳＳの致命的な欠点は、そのキーとアルゴリズムがスタティックになることにある。その暗号化のアルゴリズムを逆解析すれば、現存のDVDディスクを再生する全ての解読キーを利用出来る。一度暗号が解かれると、セキュリティアルゴリズムやキーを更新する方法がない為、そのシステムはずっと安全性を損なう。ＤＶＤコンテンツから全てのセキュリティをワンクリックのみで解除することができる、消費者に利用可能なプログラムが現在多くある。
【０００９】
特にコンテンツ忠実度が増加するにつれて、コンテンツ所持者はこのようなセキュリティ解除が再発するのを望まない。それ故に次世代のコンテンツセキュリティシステムは、この様に無防備であるべきではない。
【００１０】
ソフトウェアベンダーもまた、著作権侵害に直面するが、コンピュータの本質を考え、ＤＶＤ向けのエンターテイメント産業において用いられるのとは異なるアプローチを用いている。歴史的に、パッケージソフトウェア問題（すなわちコンピュータゲーム）の製造業者は、手続き型セキュリティでそれらのコンテンツを保護している。それぞれのソフトウェアプロデューサは、コンテンツを保護するために、セキュリティコードを書いたり獲得する代わりに、プログラムを保護する非スタティックな方法がある。この手続き型セキュリティコードは、プログラム毎のベース上の複雑な技術で変化するが、もっとも重要なことに、それぞれのプログラムが異なるセキュリティソフトウェアを実現するため、例えばＤＶＤセキュリティを解除するように、一般的な目的である「セキュリティ除去」プログラムを記述することが出来ない。
【００１１】
もう1つ知られるコピー防止の方法は、ハードウェア仕様の命令を記述することである。この様な方法は、極めて限定的である点が問題となる。この方法によれば、さまざまな命令のセットを、それぞれのハードウェアコンフィグレーションの様に表現するべきではない。これはあまり実用的ではない。
【００１２】
従って、メディアプレーヤの様なハードウェアに、ハードウェア仕様ではない、コピー防止を提供する方法が望まれている。
【発明の開示】
【００１３】
従って本発明は、プラットフォーム型のコピー防止の処理のシステムと方法が、メディアプレーヤに提供される。本発明はデュアルバーチャルマシンアーキテクチャを、次世代メディアプレーヤに付与することによる解決を提案する。本発明は更に、バーチャルマシンアーキテクチャの所定の特徴とインターフェースで接続する、例えばトラステッドプラットフォームモジュール(ＴＰＭ)の様なハードウェアベースのシステムに搭載された安全サブシステムの利用を提案する。
【００１４】
本発明によるデュアルバーチャルマシンアーキテクチャは、高レベルバーチャルマシンと低レベルバーチャルマシンから成る。低レベルバーチャルマシンは低レベルメディアの解読とデコーディング機能をサポートする様に設計し、高レベルバーチャルマシンはアプリケーション層アクティビティを操作する様に設計する。従ってこのアーキテクチャは、アプリーケーションソフトウェアからセキュリティソフトウェアを区分する。
【００１５】
一般に、手続型セキュリティに最も適したバーチャルマシンは、実際のハードウェアＣＰＵの命令セットにより厳密に類似している。すなわち、ポインタをサポートするものであり、実行可能なコードとデータ間で作られる根本的な特徴はない。従ってバーチャルマシンのこの第１のタイプは、「低レベルＶＭ」又は「セキュリティＶＭ」と呼ばれる。この低レベルバーチャルマシンは、不正防止ソフトウェア技術をサポートする、従来型のＣＰＵに合わせて設計されている。
【００１６】
このようなバーチャルマシンに対する弱点は、プログラミングエラーや予期せぬランタイムコンディションが致命的になりやすい点にある。セキュリティシステムに対しては、この点は強いが、アプリケーションに対してはこの点は弱い。
【００１７】
アプリケーションに対して、一層多くの計算機の細部をひそかに管理する「高レベルＶＭ」は予測可能に確実に動作する信頼できるアプリケーションプログラムを開発することを可能にする。例えば、Javaは「ポインタ」又は明示的メモリ管理の概念（プログラミングエラーの共通ソースである）をサポートしないが、プログラムやプログラマが予期せぬランタイムコンディションを予測可能に処理することを助ける「例外処理」をサポートする。
【００１８】
この高レベル、すなわちアプリケーションレベルのバーチャルマシンは、フル機能で設計され、高性能なアプリケーションインターフェースを搭載する。
【００１９】
他のアプリケーションと共同して働くプラットフォームに依存しないセキュリティ機能を提供するためには、低レベルＶＭと高レベルＶＭの両方の利点を併合するのが理想的である。さらに、トラステッドプラットフォームモジュールは実行環境に安全に問合わせを行い検証を行なうことでハードウェアベースの信頼の基礎を提供する。
【００２０】
典型的な実施例において、本発明はＤＶＤやＣＤプレーヤでの更新可能なセキュリティとコピー防止の目的の為に用いられる。しかし、この様なアーキテクチャはまた、ハードドライブに記録されるメディアの再生や、ソリッドステートのメモリや、ネットワークを介して伝えられる記録サポートしている。
【００２１】
以上によると、低レベルバーチャルマシンは低レベルメディアの解読とデコーディング機能をサポートする様に設計する。次世代メディア(ＮＧＭ)アプリケーションにおいて、この低レベルバーチャルマシンは更に、高レベルＶＭのブートストラップを実施する。高レベルＶＭはアプリケーション層のアクティビティ、例えばアドバンストユーザインターフェースや、種種雑多なＩＯや、ネットワークアクティビティを処理する。
【００２２】
本発明のデュアルＶＭアーキテクチャは全く新しいものである。このデュアルＶＭアーキテクチャは、従来からある「スタックＶＭ」関係とは違い、ピア関係を提供する。上下関係で稼動する１つのＶＭのスタック関係の例として、パワーＰＣ(Macの様な)やウインドウズエミュレータ（ｘ８６エミュレータまたはＶＭ）があり、それぞれがＪａｖａＶＭを実行する。
【００２３】
更に、ハードウェアベースのトラステッドコンピュータモジュールとデュアルＶＭアーキテクチャの組み合わせは、全く新しいものである。
【００２４】
本発明は手続型セキュリティの使用をＣＤやＤＶＤのようなメディアに拡張する。さらに、手続型セキュリティは宣言型のシステムよりはるかにフレキシブルな権利管理もコンテンツ所有者に可能とする。このフレキシビリティを利用して、ＣＳＳのような従来のスタティックセキュリティシステムにより提供されるシンプルコピープロテクション(ＣＰ)とは対照的に、本格的なデジタル権利管理（ＤＲＭ）を実現することができる。
【００２５】
本発明の前述の目的、機能と利点は、本発明の特徴と利点を説明する典型的な実施例の以下の詳細記述を読むことで明白である。
【発明を実施するための最良の形態】
【００２６】
図を簡単かつ明快にするために、図に示される構成部分を正確に描く必要がないことが認識されるべきである。例えば、いくつかの構成部分の特徴が、それぞれ明確に区別されるように示されている。更に考えられる適切な参考番号は、対応する構成部分を示すように図の中で繰り返される。
以下に本発明の実施例を詳細の説明を記載するが、これらの実施例は本発明の模範例にすぎず、種々の形態に具体化することができる。それ故、ここに記載する本発明の特定の構造及び機能の詳細は、本発明を限定するものでなく、単に本発明の特許請求範囲の基礎と考えるべきものであり、且つ本発明は任意の適切な詳細構造で種々に使用することができることを当業者に教えるための代表的な基礎と考えるべきのものである。以下、図面(図１及び図２)を参照して本発明を詳細に説明する。
【００２７】
本発明のシステム及び方法はメディアプレーヤ用のデュアルバーチャルマシンアーキテクチャを提供する。1つのＶＭはメディアの解読及びデコーディングのようなセキュリティ機能をサポートするように設計される。次世代メディアアプリケーションでは、低レベルＶＭがアプリケーションレベルＶＭのブートストラップに責任をもつものとすることができる。ハイレベル即ちアプリケーションレベルＶＭはアドバンストユーザインタフェース、種々のＩＯ及びネットワークアクティビティのようなアプリケーション層アクティビティを処理する。
【００２８】
図１及び図２は本発明の代表的実施例のコンピュータ環境１０におけるメディアアーキテクチャを示す。特に、図１には、メディアデータ又はコンテンツ１８と、メディアプレーヤでのメディアの再生を許可するセキュリティコード１２と、ブートコード１６とを含むメディアソース(例えばＤＶＤ、光ディスク、ソリッドステートデバイス、又はネットワーク)が示されている。
【００２９】
本発明のメディア再生装置は少なくとも１つのバーチャルマシン(ＶＭ)を実行し得る中央処理ユニット(ＣＰＵ)２６を含む。代表的な実施例では、バーチャルチャルマシンはデュアルバーチャルマシンアーキテクチャであり、ＣＰＵ２６で実行される低レベルＶＭ(例えばセキュリティＶＭ)２２と高レベルＶＭ(例えばアプリケーションＶＭ)２４とを具える。ＶＭで実行されるプログラムは使用規則を実行及び実施するのみならず、暗号化アルゴリズムを更新することができる。コンピュータ環境１０は種々のプログラムの相互通信を許可する1組のルーティン又はプロトコルであり、アプリケーションプログラムインタフェース(ＡＰＩ)４０−４４も含む。
【００３０】
1つの態様では、一方のＶＭ(２２又は２４)が他方のＶＭを制御することができる。他の態様では、高レベル及び低レベルバーチャルマシンが非階層的にピアとして機能し、互いにメッセージを送ることができる。これらのメッセージは、一方のバーチャルマシンが他方のバーチャルマシンのルーティンをコールする「外部機能(foreign-function)コール」として、あるいは、通信チャンネルに沿って送られる慣例のメッセージとして実行することができる。
【００３１】
例えば、アプリケーションＶＭ(即ちハイレベルＶＭ)２４はメディアコンテンツ１８の再生(従ってトランスパレントデコーディング)を開始するためにセキュリティＶＭ(即ち低レベルＶＭ)をコールする。
【００３２】
同様に、セキュリティＶＭ２２の内のコードがアプリケーションＶＭ２４をコールして、同期イベントまたはデコーディング問題(例えばセキュリティまたは許可問題)について知らせる。
【００３３】
例えば、メディアがオリジナルの光メディアからコピーされたものである状態では、セキュリティＶＭ２２はアプリケーションＶＭ２４に、再生を続けるためにはキーが必要であることを知らせる。これに応答して、アプリケーションＶＭ２４は、この映画をユーザインターフェース２７で所定期間「借りる」ことができることをユーザに知らせるメッセージをアプリケーションレベル機能２５によって表示する。ユーザがこれを選択する場合には、ユーザはスタジオサーバとトランザクションを実行してキーを含む(ＶＭしか理解できない)「不透明メッセージ」を得る必要がある。アプリケーションＶＭ２４がキーを含むこのメッセージを認証のためにセキュリティＶＭ２２及びコピー防止アルゴリズム２３に返送する。
【００３４】
メディア再生装置はさらに処理モジュール(例えばトラステッドプロセッシングモジュール又はＴＰＭ)３２を含む。ＴＰＭ仕様はトラステッドコンピューティンググループ(ＴＣＧ)(http://www.trustedcomputinggroup.org)  により生成されたトラステッドコンピューティングプラットフォームアライアンス(ＴＣＰＡ)仕様の1部である。ＴＰＭ３２はデクリプションキーを含み、セキュア暗号化計算を処理する。メディア再生装置はさらにＡＰＩ４０−４２を含み、バーチャルマシンで実行中の任意のプログラムがＩ／Ｏハードウェア及びＴＰＭに問合わせを行うことを可能にする。これにより、ＶＭで実行中のプログラムが使用規則のインテリジェントな選択を行うことが可能になる。さらに、ＣＰＵ２６に取り付けられたデコーディングモジュール３４が符号化されたオーディオ／ビデオストリームを解凍するために設けられている。
【００３５】
一般に、トラステッドプラットフォームはエンティティが当該プラットフォーム内のソフトウェア又はコンピュータ環境１０の状態を決定することを可能にするとともにデータを当該プラットフォーム内の特定のソフトウェア環境にシールすることを可能にする。エンティティはコンピュータ環境の状態が受け入れ可能か否かを推定し、当該プラットフォームとトランザクションを実行する。トランザクションがプラットフォームに蓄積すべき機密データを含む場合には、当該プラットフォーム内のコンピュータ環境の状態がエンティティに受け入れ可能でない限り、エンティティは該データを機密フォーマットで保持する。
【００３６】
これを可能とするために、トラステッドプラットフォームはエンティティがトラステッドプラットフォーム内のソフトウェア環境を推定可能にする情報を提供する。この情報は確実に測定され、エンティティに報告される。同時に、トラステッドプラットフォームは暗号化キーを暗号化し、キーの解読が可能となる前にソフトウェア環境を準備が整った状態にする手段を提供する。
【００３７】
「トラステッド測定ルート」が所定のプラットフォーム特性を測定し、測定データを測定ストアに記録し、最終結果をＴＰＭに格納する（これは完全性メトリクスを格納し報告するための信頼の基礎を含む）。従って、ＴＰＭは全てのデクリプションキーの安全な格納位置を提供する。ＴＰＭは殆どの暗号化計算及び機能も処理する。
【００３８】
メディア再生装置はさらにセキュアな保護された入力及び出力２８と、他のプレーヤとのネットワーク機能３０、メモリデバイス(例えばＲＡＭ３６及びＲＯＭ３８)を有する。
【００３９】
従って、代表的な実施例によれば、別個のバーチャルマシン(ＶＭ)がＣＰＵを含む同一のコンピュータ環境内で実行される。本発明のアーキテクチャは２つのバーチャルマネージャ(例えば高レベル即ちアプリケーションＶＭ及び低レベル即ちセキュリティＶＭ)に区分し、アプリケーション及びセキュリティマネージャは標準ＡＰＩを経て通信する。アプリケーションバーチャルマネージャの機能はセキュリティバーチャルマネージャ内で実行されるセキュリティコードにネットワークサービスを付与し、メディアアクセス機能とデコーディング機能がセキュリティＶＭにより調停されるため、コンテンツセキュリティはアプリケーションオーザには見えない。
【００４０】
計算の複雑度に関しては、セキュリティＶＭはシステムリソースに与える影響は小さく、簡単で軽量、低レベルで安全であり、且つこのＶＭ用の適切なソフトウェアはセキュリティベンダにより提供され得る。アプリケーションＶＭは比較的大きなＣＰＵ及びメモリ影響を有するとともに、ユーザインターフェース及び入力／出力機能に対して責任がある。
【００４１】
本発明は慣例のＣＤ及びＤＶＤプレーヤのようなメディアプレーヤへの使用に限定されず、ＰＣ、あるいは、持ち運び可能なメディアを再生する機能を含むもっとも一般的なハードウエアシステムを実行するものに拡張することができる。
【００４２】
本発明の好適な実施例としての以上の説明は、図と説明を目的として示される。本発明の他の目的、機能、利点は本発明の記載を読むことで明らかとなる。これは完全なものではなく、本発明を正確に公開された形式に限定することを意図しない。多くの修正と変更が前記記載の観点から可能になる。
【図面の簡単な説明】
【００４３】
【図１】代表的な実施例によるコンピュータ環境におけるメディア再生アーキテクチャの図である。
【図２】代表的な実施例による低レベルバーチャルマシンと高レベルバーチャルマシンのインタラクションと機能性を示すブロック図である。
【図１】
2007529044.tif 000003
【図２】
2007529044.tif 000004
【国際調査報告】
2007529044.tif 000005
2007529044.tif 000006