(57)【要約】      （修正有）【課題】安全なプログラムを実行するシステムおよび方法を提供する。【解決手段】ソフトウェアを安全に実行し、ホストを具備しているシステムであって、ホストは、アクセスされる暗号化されたコンテンツを含んでいるディスクを受け入れ、ディスク上のコンテンツにアクセスするために使用される暗号化されたプログラムを記憶させるように構成されている。システムは、安全なコプロセッサをさらに具備している。安全なコプロセッサは、ホストに通信可能に結合され、暗号化されたプログラムを受け取り、暗号化されたプログラムを解読して実行し、プログラムによって発生された出力をホストに返信するように構成されている。【選択図】図１
2008263577.tif 000002
【特許請求の範囲】
【請求項１】
暗号化されたソフトウェアを実行する方法において、
暗号化されたプログラムを記憶させるように構成され、暗号化されたコンテンツを記憶しているディスクを受け入れるようにさらに構成されているホストから暗号化されたプログラムを受け取ることと、
ディスク上に含まれている情報を受け取ることと、
処理ユニットによって、安全なコプロセッサ上で、暗号化されたプログラムを解読することと、
処理ユニットに結合され、処理ユニットによってのみアクセス可能である制限されたアクセスＲＡＭ中に解読されたプログラムを記憶させることと、
プライベートＲＡＭ中に記憶された解読されたプログラムを実行して、出力を発生させることと、
出力をホストに送ることとを含む方法。
【請求項２】
出力を利用して、ディスク上に記憶されている暗号化されたコンテンツを解読することをさらに含む請求項１記載の方法。
【請求項３】
出力を発生させることは、プログラム中に埋め込まれているデバイスキーを使用して、ディスク上に埋め込まれているデータからキーを計算することを含む請求項１記載の方法。
【請求項４】
出力を発生させることは、
予め定められた量のデータをホストから受け取ることと、
データの有効性を確認するために、受け取ったデータに関係するチェックサムを計算することと、
データの有効性が確認された場合のみに、プログラム中に埋め込まれているデバイスキーを使用して、ディスク上に埋め込まれているデータからキーを計算することとを含む請求項１記載の方法。
【請求項５】
出力を発生させることは、予め定められた量のデータをホストから受け取っている間に、および受け取ったデータに関係するチェックサムを計算している間に、透かし模様をディスプレイ上に表示することをさらに含む請求項４記載の方法。
【請求項６】
出力を発生させることは、キーを使用して、ディスク上に記憶されているコンテンツを解読することをさらに含む請求項３記載の方法。
【請求項７】
出力を使用して、ディスク上に記憶されている暗号化されたコンテンツを解読するステップが停止された場合に、出力が自動的に削除されるように、出力を使用して、ディスク上に記憶されている暗号化されたコンテンツを解読するステップを監視することをさらに含む請求項２記載の方法。
【請求項８】
コンピュータ実行可能な方法を実行するためのコンピュータプログラムが記憶されているコンピュータ読取可能な媒体において、
コンピュータ実行可能な方法は、
暗号化されたプログラムを記憶させるように構成され、暗号化されたコンテンツを記憶しているディスクを受け入れるようにさらに構成されているホストから暗号化されたプログラムを送ることと、
ディスク上に含まれているコンテンツを送ることと、
処理ユニットによって、暗号化されたプログラムを解読することと、
処理ユニットに結合され、処理ユニットによってのみアクセス可能である制限されたアクセスＲＡＭ中に解読されたプログラムを記憶させることと、
プライベートＲＡＭ中に記憶された解読されたプログラムを実行して、出力を発生させることと、
出力をホストに通信することとを含むコンピュータ読取可能な媒体。
【請求項９】
ソフトウェアを安全に実行するシステムにおいて、
アクセスされる暗号化されたコンテンツを含んでいるディスクを受け入れ、ディスク上のコンテンツにアクセスするために使用される暗号化されたプログラムを記憶させるように構成されているホストと、
ホストに通信可能に結合され、暗号化されたプログラムを受け取り、暗号化されたプログラムを解読して実行し、プログラムによって発生された出力をホストに返信するように構成されている安全なコプロセッサとを具備するシステム。
【請求項１０】
出力は、ディスク上に記憶されている暗号化されたコンテンツを解読するためにホストによって使用される少なくとも１つのキーを含む請求項９記載のシステム。
【請求項１１】
出力は、ディスクのコンテンツを含み、コンテンツは安全なコプロセッサによって解読されてデコードされている請求項９記載のシステム。
【請求項１２】
暗号化されたプログラムは、少なくとも１つのキーを計算するために使用されるデバイスキーを含み、少なくとも１つのキーは、ホストに送られるボリュームキーを含み、ホストは、ボリュームキーを使用して、ディスク上に記憶されている暗号化されたコンテンツを解読する請求項９記載のシステム。
【請求項１３】
安全なコプロセッサは、処理ユニットと、処理ユニットに結合されているプライベートＲＡＭとからなり、プライベートＲＡＭは、解読されたプログラムを記憶するように動作し、処理ユニットによってのみアクセス可能である請求項９記載のシステム。
【請求項１４】
安全なコプロセッサの処理ユニットは、プロプラエタリ命令セットを実行する請求項１３記載のシステム。
【請求項１５】
暗号化されたプログラムは、コンテンツを配布するためのアドバンスドアクセスコンテンツシステム（ＡＡＣＳ）標準規格を組み込んでおり、デバイスキーは、暗号化されたプログラムの中に埋め込まれ、ディスクから情報を取り出し、暗号化されたボリュームキーを発生させるために安全なプロセッサによって使用され、ボリュームキーは、ディスクのコンテンツを解読するために使用される請求項９記載のシステム。
【請求項１６】
安全なコプロセッサは、予め定められた量のデータをホストから受け取るように構成され、
プログラムは、データの有効性を確認するために、受け取ったデータに関係するチェックサムを計算するように構成され、
暗号化されたプログラムの中に埋め込まれているチェックサムとチェックサムが整合する場合のみに、暗号化されたプログラムは実行を継続し、
暗号化されたプログラムの中に埋め込まれているチェックサムとチェックサムが整合しない場合、ディスク上に記憶されているコンテンツへのアクセスが拒否されるように、暗号化されたプログラムは実行を中止する請求項９記載のシステム。
【請求項１７】
予め定められた量のデータを受け取って、ホストから受け取った予め定められた量のデータの有効性の確認をしている間、予め定められた透かし模様をディスプレイ上に発生させるようにプログラムが構成されている請求項１６記載のシステム。
【請求項１８】
ホストが広帯域デジタルコンテンツ保護（ＨＤＣＰ）標準規格に準拠していることを安全なコプロセッサが検出した場合のみに、安全なコプロセッサがボリュームキーを発生させる請求項１５記載のシステム。
【請求項１９】
安全なプロセッサは、ディスク上に記憶されている暗号化されたコンテンツを解読し、コンテンツをディスプレイに送信するようにさらに構成され、コンテンツの送信はＨＤＣＰ標準規格にしたがって実行される請求項９記載のシステム。
【請求項２０】
データを解読している間にホストが停止されるか否かを安全なプロセッサが検出するように、安全なプロセッサは、ディスク上に記憶されているコンテンツを解読するホストを監視し、ホストが停止されていることが検出されると、安全なプロセッサは、コンテンツを解読するためにホストによって使用される出力を消去する請求項１２記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、暗号化されたデータの処理に関する。
【背景】
【０００２】
年々、消費者の間でデジタルビデオコンテンツの人気が高まっている。ブロードキャスト、ケーブル、オンデマンド方式、固定媒体、およびマルチメディアコンテンツの他の利用可能なソースを通して消費者にとって利用可能なオーディオコンテンツおよびビデオコンテンツの量が増加しており、消費者が容易にアクセスおよびプログラミングできるコンテンツの量が増加している。さらに、簡単に利用可能である多くのデバイス（例えば、ＰＣ、ＤＶＤレコーダ）およびサービスによって、消費者は、オンデマンドビデオおよびオーディオコンテンツを記録、タイムシフト、または表示させることができる。さらに、ビデオサービスを配信するＩＰＴＶ（インターネットプロトコルテレビ）のような、ダウンロード可能なコンテンツの形態でインターネットおよび他のデータサービスを通して利用可能になっているビデオコンテンツの量も増加している。
【０００３】
一般的に、ビデオコンテンツは、例えば、ＭＰＥＧ−１、ＭＰＥＧ−２、またはＤＶ（デジタルビデオ）のような任意の数の一般的なフォーマットで記憶される。同様に、オーディオコンテンツは、例えば、ＭＰ３、ＷＡＶ、またはＭＰＥＧオーディオのような任意の数の一般的なデジタルフォーマットで記憶される。非常に数多くのデジタルフォーマットでマルチメディアコンテンツを利用可能にすると、可搬性の度合いが高いことからマルチメディアコンテンツの配布がより容易になる。
【０００４】
ビデオ再生システムはよく知られており、さまざまなビデオ再生システムに関連するフォーマットおよび他の属性を管理する現在の標準規格にはさまざまなものがある。今日、ＤＶＤ（デジタルビデオディスク）標準規格は高記憶容量であることから高品質のビデオおよびオーディオを記憶できるため、光ディスクの記憶に利用される主流のフォーマットである。結果的に、映画、テレビショーおよび音楽ビデオのようなメディアコンテンツは、ＤＶＤフォーマットで幅広く利用可能になった。
【０００５】
今日、ＤＶＤの標準規格に取って代わるものになることを考慮したさまざまな標準規格がある。次世代の光ディスク標準規格になるように競合している２つのフォーマットは、ブルーレイディスクおよびＨＤ ＤＶＤ（高精細デジタルビデオディスク）である。他のより新しい標準規格と同様に、ブルーレイディスクは、増加した記憶容量と向上した対話性（ディスクコンテンツのオーサリング、シームレスメニューのナビゲーション、ネットワーク／インターネットの接続性等）とを含むさまざまな方法で、ＤＶＤおよび他の以前の光ディスクの標準規格を越える利点を提供する。ブルーレイディスクフレームワークは、対話型タイトルを生成するときに、コンテンツプロバイダにほぼ制限のない機能を提供する。製作者は、ユーザインターフェイスの設計において完全に自由であるが、ユーザインターフェイスは、遠隔制御装置上の標準規格のナビゲーションボタンを使用することによって制御可能である。ブルーレイディスクおよびＨＤ ＤＶＤのような、これらのより新しい世代のビデオ標準規格は、基礎となるビデオコンテンツとのより高いレベルの対話およびユーザ制御を提供している。
【０００６】
残念なことに、技術によってマルチメディアコンテンツの配布が容易になることが続くと、マルチメディアコンテンツの配布、オーディオ／ビジュアルの作品の著作権侵害もまた年々急増する。例えば、ＤＶＤ上に記憶されているマルチメディアコンテンツへのアクセスおよびマルチメディアコンテンツのコピーの機能によって、ビデオおよびオーディオの著作権侵害は、継続的な問題であり続ける。このような著作権侵害は、ＤＶＤが一般的に用いている、コピーを制限するメカニズムの観点で、さらに問題であり続ける。向上した対話型機能を提供するＨＤ ＤＶＤおよびブルーレイディスクのような、より新しい標準規格によって、ビデオおよびオーディオの著作権侵害は、さらに継続的な問題になると思われる。
【０００７】
マルチメディアコンテンツの認証されていないコピーおよび配布に対応するために、オーディオ／ビジュアル作品の発行元および製作者は、デジタルコンテンツへのアクセスを制御する技術に頼っている。用語、デジタル権利マネンジメント（ＤＲＭ）は、一般的に、マルチメディアコンテンツに対する制限されたアクセスを実現するために使用される技術を表している。このようなＤＲＭ技術は、暗号化を用いて、コンテンツへのアクセスを制御するマルチメディアプレイヤーソフトウェアを含む多くのさまざまな技術に基づいている。しかしながら、ソフトウェアアプリケーションを使用して、暗号化されたコンテンツへのアクセスを制御する１つの明らかな欠点は、多くのケースにおいて、このソフトウェアがアクセスされてリバースエンジニアリングされることである。保護メカニズムがＤＶＤ上に存在するにもかかわらず、これらの保護メカニズムをあざむく方法をユーザは発見する。１つの方法は、解読されてデコードされたマルチメディアストリームをコンピュータ上のハードディスクに直接書き込むことによって、商業的なＤＶＤ再生ソフトウェアに変更を加えることによるものである。
【０００８】
一般的に、パーソナルコンピュータがオープンな環境で動作すると仮定すると、ＤＶＤ再生ソフトウェアのようなアプリケーションを保護することが課題である。いくつかの例では、保護されたエリアのメモリから保護されていないエリアのメモリにソフトウェアコードを移動することができ、保護されていないエリアのメモリにおいて、コードは詳細に分析され、解析される。この結果、プログラム内に埋め込まれている感知可能なデータを露呈することになる。このことによって、ＤＲＭを組み込んでいるコンテンツを配布するために使用される解読キーといったこのようなデータを取得して再利用することは非常にコストがかかることが証明される。適切なツールにより、これらのキーを保持しているメモリのブロックを調べると、保護されたコンテンツへの認証されていないアクセスを獲得することが可能である。したがって、オープンメモリ中に記憶されているソフトウェアアプリケーションを含んでいる従来のアプローチには、依然として、さまざまな明らかな欠点がある。
【概要】
【０００９】
安全なプログラムを実行するシステムおよび方法を記述する。少なくとも１つの実施形態は、ソフトウェアを安全に実行し、ホストを具備しているシステムを含む。ホストは、アクセスされる暗号化されたコンテンツを含むディスクを受け入れて、ディスク上のコンテンツにアクセスするために使用される暗号化されたプログラムを記憶させるように構成されている。システムは、安全なコプロセッサをさらに具備している。安全なコプロセッサは、通信可能にホストに結合されており、暗号化されたプログラムを受け取って、暗号化されたプログラムを解読して実行して、プログラムによって発生された出力をホストに返信するように構成されている。
【００１０】
別の実施形態は、暗号化されたソフトウェアを実行する方法を含む。方法は、暗号化されたプログラムを記憶させるように構成され、暗号化されたコンテンツを記憶しているディスクを受け入れるようにさらに構成されているホストから暗号化されたプログラムを受け取ることと、ディスク上に含まれている情報を受け取ることと、処理ユニットによって、安全なコプロセッサ上で、暗号化されたプログラムを解読することと、処理ユニットに結合され、処理ユニットによってのみアクセス可能である制限されたアクセスＲＡＭ中に解読されたプログラムを記憶させることと、プライベートＲＡＭの中に記憶された解読されたプログラムを実行し、出力を発生させることと、出力をホストに送ることとを含む。
【００１１】
さらに別の実施形態は、コンピュータ実行可能な方法を実行させるためのコンピュータプログラムが記憶されているコンピュータ読取可能な媒体を含む。コンピュータ実行可能な方法は、暗号化されたプログラムを記憶させるように構成され、暗号化されたコンテンツを記憶しているディスクを受け入れるようにさらに構成されているホストから暗号化されたプログラムを送ることと、ディスク上に含まれているコンテンツを送ることと、処理ユニットによって、暗号化されたプログラムを解読することと、処理ユニットに結合され、処理ユニットによってのみアクセス可能である制限されたアクセスＲＡＭの中に解読されたプログラムを記憶させることと、プライベートＲＡＭ中に記憶された解読されたプログラムを実行して、出力を発生させることと、出力をホストに通信することとを含む。
【００１２】
本開示の他のシステム、方法、機能および効果は、図面および詳細な説明を考察すると、当業者に明らかであり、または明らかになるだろう。すべてのこのような付加的なシステム、方法、機能、および効果は、本開示の範囲内である詳細な説明内に含まれ、そして、添付した特許請求の範囲によって保護されることを意図している。
【００１３】
本開示の多くの観点は、図面を参照すると、よりよく理解することができる。必ずしも図面中のコンポーネントはスケーリングされていないが、代わりに、本開示の原理を明瞭に図示する際に強調がなされている。さらに、図面における同じ参照符号は、いくつかの図面にわたって対応している部分を示している。
【詳細な説明】
【００１４】
本開示のさまざまな観点を要約して、図面で図示しているような開示の説明をこれから詳細に参照する。これらの図面に関連して本開示を記述するが、ここで開示する１つ以上の実施形態に開示を限定する意図はない。反対に、添付した特許請求の範囲によって規定されているような本開示の精神および範囲内に含まれているすべての代替実施形態、修正および均等物を対象とすることを意図している。
【００１５】
暗号化されたプログラムを実行するシステムおよび方法の実施形態を開示する。背景において説明したように、ソフトウェアを使用する従来のアプローチで見出された１つの明らかな欠点は、コンピュータが動作するのはオープンな環境であることから、保護されているエリアのメモリから保護されていないエリアのメモリにソフトウェアコードが移動され、保護されていないエリアのメモリにおいて、コードは詳細に分析され、解析されることである。したがって、多くの場合、一般的に、コンピュータメモリ自体へのアクセスが制限されていないことから、ＤＶＤコンテンツへのアクセスに必要な解読キーのような感知可能なデータは、認証されていないアクセスおよび不正操作に対して脆弱である。コンピュータメモリ中に存在するマルチメディアソフトウェアアプリケーションを解析すると、暗号化キーが記憶されている正確なメモリの位置を決定することがさらに可能である。適切なツールにより、保護されたコンテンツへのアクセスを獲得するためにこれらのキーを保持しているメモリのブロックを解析するソフトウェアプロセスを停止することが可能である。
【００１６】
ここで開示したある実施形態のシステムでは、マルチメディアの再生ソフトウェアのようなプログラムを暗号化してから、一時的な記憶および実行のために、暗号化されたプログラムを安全なコプロセッサに転送することによって、これらの認識されている欠点に取り組んでいる。１つの実施形態は、ソフトウェアを安全に実行し、ホストを具備しているシステムを含む。ホストは、アクセスされる暗号化されたコンテンツを含んでいるディスクを受け入れ、ディスク上のコンテンツにアクセスするために使用される暗号化されたプログラムを記憶させるように構成されている。システムは、安全なコプロセッサをさらに具備している。安全なコプロセッサは、ホストに通信可能に結合され、暗号化されたプログラムを受け取り、暗号化されたプログラムを解読して実行し、プログラムによって発生された出力をホストに返信するように構成されている。
【００１７】
いくつかの実施形態では、プログラムの一部分またはプログラム全体は、安全なコプロセッサ上で実行される。例えば、光ディスク上のコンテンツを解読するためのキーを発生させる再生アプリケーションの一部分は、安全なプロセッサ上で実行されてもよい。プログラムの出力の構成要素となるキーは、ホストに返信され、ホストにおいて、ディスク上に記憶されているコンテンツが解読されるとディスプレイに出力される。他の実施形態では、キーの計算／発生、解読およびデコードを含む再生アプリケーションのこのような機能は、すべて安全なコプロセッサによって実行されてもよい。これらの実施形態では、発生された出力は、ディスプレイに送られるビデオ／オーディオコンテンツを含んでいてもよい。デコードされたコンテンツの安全な送信を確実なものにするために、デジタルビジュアルインターフェイス（ＤＶＩ）接続または高精細マルチメディアインターフェイス（ＨＤＭＩ）接続のような接続を通して、感知可能なデータの安全な送信を提供するＨＤＣＰ（広帯域デジタルコンテンツ保護）のようなＤＲＭ標準規格に準拠しているデバイスのみに、出力を選択的に送ってもよい。
【００１８】
ここで説明する実施形態では、コプロセッサは、認証されていないアクセスおよび不正操作を防ぐ安全機能を備えていることを正しく認識すべきである。いくつかの実施形態では、プロセッサは、プロプラエタリ命令セットを実行する処理ユニットを備えている。すなわち、命令セットは、一般的に知られないものであり、人々によって使用されないものである。しかしながら、処理ユニットは、プロプラエタリ命令セットを実行するプロセッサに限定されないことに留意すべきである。最後に、安全なコプロセッサは、安全なコプロセッサの処理ユニットのみとインターフェイスするように構成されている制限されたアクセスＲＡＭを含んでいてもよい。
【００１９】
図１を参照すると、図１は、暗号化されたプログラムを安全に実行するシステムの実施形態の高レベルな図を図示している。再生システム１００は、マルチメディアコンテンツを含んでいるディスク１５０を受け入れる。ディスク１５０は、ＤＶＤ、ＨＤ ＤＶＤ、またはブルーレイディスクのような高精細ビデオ、およびデータを含んでいる任意のディスクであってもよい。さらに、ディスクは、ディスクのタイトルコンテンツの認証されていないコピーおよび配布を防ぐいくつかのタイプの保護スキームを組み込んでいてもよい。例えば、ブルーレイディスクおよびＨＤ ＤＶＤは、コンテンツを配布するために、制限されたアクセスを提供するＡＡＣＳ ＬＡ（アドバンスドアクセスコンテンツシステムライセンス局）によって規定されているＤＲＭ仕様のもとで保護されており、その全体は参照によりここに組み込まれている。ビデオコンテンツの暗号化および解読に関するさらなる情報は、ＡＡＣＳのウェブサイト、http://www.aacsla.com.に記載されている。本開示は、他の高密度光ディスクフォーマットに適用されてもよいが、ここで記述する実施形態は、一般的に、コンテンツを配布するためのＡＡＣＳ標準規格を組み込んでいるディスクに適用される。
【００２０】
ディスク１５０上のコンテンツは、一般的に、２つのカテゴリー、すなわち、主マルチメディアコンテンツ自体とディスクに関連するボリューム情報とに分類されてもよい。ＡＡＣＳ標準規格にしたがうと、このボリューム情報は、メディアキーブロック（ＭＫＢ）と呼ばれている。ＭＢＫによって、対応プレイヤー（すなわち、ＡＡＣＳ ＬＡによるライセンスが組み込まれているプレイヤー）は、プレイヤーの中に埋め込まれているデバイスキーを使用して、「シークレット」キーを計算することができる。本発明の目的のうちの１つは、ソフトウェアの中に埋め込まれている、これらのデバイスキーの認証されていないアクセスを防ぐことである。ＡＡＣＳライセンス局は、含まれているデバイスキーを取り消してもよいが、ＡＡＣＳライセンス局は、どのキーが損われているかを実際に把握している必要がある。多くのケースにおいて、攻撃者は、他者が使用するキーを発行することではなく、単に、デバイスキーを使用することを選んでもよい。
【００２１】
高いレベルから、システム１００は、２つの主なコンポーネント、すなわち、ホスト１２０と安全なコプロセッサ１４０とに分けられてもよい。ホスト１２０は、ＣＰＵ１２２と、メモリ１２４と、解読されたコンテンツをデコードするデコーダブロック１２６とを備えている。デコーダブロック１２６はホスト中に示されているが、他の実施形態では、安全なコプロセッサ１４０もデコーダブロックを含んでいてもよいことに留意すべきである。ＨＤ ＤＶＤおよびブルーレイディスクソフトウェアプレイヤーのようなソフトウェアアプリケーションの一部分は、解読および実行のために安全なコプロセッサに送られる前に、暗号化され、ホストのメモリ１２４中に記憶される。ソフトウェアアプリケーションのこのような部分は、キーの発生を取り扱うコードの部分を含んでいてもよい。コードのこれらの部分は、安全性を確実なものにするために、安全なコプロセッサによって実行される。
【００２２】
安全なコプロセッサ１４０は、ＣＰＵ１４２と、解読器ブロック１４４と、制限されたアクセスＲＡＭ１４６とを備えている。ＣＰＵ１４２は、当業者によって知られている任意の中央処理ユニットであってもよい。代わりに、ＣＰＵ１４２は、例えば、データタイプ、命令、レジスタ、アドレッシングスキームといった観点および当業者によって知られている他の観点に関連するプロプラエタリ命令セットを実行するカスタム処理ユニットであってもよい。プロプラエタリ命令セットは公衆によって知られていない。このことは、ＣＰＵ１４２によって実行されているプロセスを停止させるような認証されていないアクションを実行するために、ＣＰＵ１４２の中に侵入することをより困難にする。ＣＰＵ１４２が実行される前に、解読器ブロック１４４は、暗号化されたプログラムを解読して、制限されたアクセスＲＡＭ１４６の中に解読されたプログラムを記憶させる。認証されていないユーザによって、解読されたプログラムがＲＡＭ１４６から取り出されないようにするために、ＲＡＭ１４６はＣＰＵ１４２によってのみアクセスが可能であり、ＣＰＵ１４２の専用リソースである。最後に、安全なコプロセッサ１４０内のプログラムによって発生された出力がホスト１２０に返信されるように、ホスト１２０および安全なコプロセッサ１４０は通信可能に結合されている。
【００２３】
図２をこれから参照すると、図２は、暗号化されたプログラムを安全に実行するシステムの例示的な実施形態を図示しているブロック図である。いくつかの実施形態では、ホストシステム２０２は、いくつかのタイプのコンピューティングデバイスの中に組み込まれていてもよい。または、図１に示した安全なコプロセッサは、ホストシステム２０２の中に組み込まれていてもよい。例えば、いくつかの実施形態では、ホストおよび安全なコプロセッサの両者は、ＰＣの同一のマザーボード上に設置されてもよい。しかしながら、他の実施形態では、安全なコプロセッサは、ＰＣ内のスロットに差し込むグラフィックカードのような、別のボード上に設置されてもよい。安全なコプロセッサは、バスを通して、ホストと通信する。安全なコプロセッサおよびホストは、安全性を確実なものにするために、データをやり取りするときに暗号化プロトコルを使用するといった安全対策を組み込んでいてもよい。
【００２４】
一般的に述べると、ホストシステム２０２は、デスクトップコンピュータ、ポータブルコンピュータ、専用サーバコンピュータ、マルチプロセッサコンピューティングデバイス等のような、幅広いさまざまなワイヤおよび／またはワイヤレスコンピューティングデバイスのうちのいずれか１つを含んでいてもよい。その特定の配置に関係なく、ホスト２０２は、数ある中のコンポーネント、例えば、データバス２１２に並列に接続されているプロセッサ２０４、入力／出力インターフェイス２０６、ネットワークインターフェイス２０８、およびディスプレイ２１０を備えていてもよい。一般的に、ホストシステム２０２は、簡略する目的で省略されている他のコンポーネントを含むことができ、そして含むことになることを当業者は正しく認識するだろう。ディスプレイ２１０は、例えば、コンピュータモニタまたはＰＣ向けのプラズマスクリーン、あるいは液晶ディスプレイ（ＬＣＤ）を含むことが可能である。さらなる安全性のために、ディスプレイ２１０は、さまざまなタイプの接続を通して、デジタルビデオ／オーディオコンテンツの安全な送信を提供するＨＤＣＰ標準規格のような、何らかのタイプのＤＲＭスキームに準拠しているデバイスであってもよい。
【００２５】
プロセッサ２０４は、カスタムメードまたは商業的に入手可能なプロセッサ、中央処理ユニット（ＣＰＵ）またはホスト２０２に関係付けられているいくつかのプロセッサのうちの補助プロセッサ、（マイクロチップの形態の）半導体ベースのマイクロプロセッサ、マクロプロセッサ、１つ以上の特定用途向け集積回路（ＡＳＩＣ）、複数の適切に構成されているデジタルロジックゲート、ならびにコンピューティングシステムの全体的な動作を個々に、およびさまざまな組み合わせで調整するディスクリート素子を含む他の周知の電気構成を含むことが可能である。
【００２６】
メモリ２１４は、揮発性メモリ素子（例えば、ランダムアクセスメモリ（ＤＲＡＭおよびＳＲＡＭ等のようなＲＡＭ)）と不揮発性メモリ素子（例えば、ＲＯＭ、ハードドライブ、テープ、ＣＤＲＯＭ等）との組み合わせのうちのいずれか１つを含むことができる。メモリ２１４は、一般的に、ネイティブオペレーティングシステム２１６、１つ以上のネイティブアプリケーション、エミュレーションシステム、あるいはさまざまなオペレーティングシステムおよび／またはエミュレートされたハードウェアプラットフォームのうちのいずれかのもののためのエミュレートされたアプリケーション、エミュレートされたオペレーティングシステム等を記憶してもよい。例えば、アプリケーションは、安全なコプロセッサ２２２とインターフェイスするための特定用途向けプログラム２１８を含んでいてもよい。さらに、一般的に、メモリ２１４は、簡略する目的で省略されている他のコンポーネントを含むことができ、そして含むことになることを当業者は正しく認識するだろう。
【００２７】
図２に示しているアプリケーション２１８は、ＨＤ ＤＶＤおよびブルーレイディスクのようなさまざまなディスクフォーマットを再生するために使用されるソフトウェアプレイヤーのアプリケーションであってもよい。アプリケーション２１８がソフトウェアで実現されたときに、アプリケーション２１８が、さまざまなコンピュータ関連システムまたは方法によって使用される、あるいはこれらに関連して使用されるさまざまなコンピュータ読取り可能な媒体上に記憶できることに留意すべきである。この文書の状況では、コンピュータ読取り可能な媒体は、電子、磁気、光、あるいは他の物理的デバイスまたは装置を構成してもよく、これは、コンピュータ関連システムまたは方法によって使用される、あるいはこれらに関連して使用されるコンピュータプログラムを含むまたは記憶できる。インターフェイスは、命令実行システム、装置またはデバイスによる使用のために、あるいは、命令実行システム、装置またはデバイスとともに使用するために、さまざまなコンピュータ読取可能な媒体に埋め込むことができる。命令実行システム、装置またはデバイスは、命令実行システム、装置またはデバイスからの命令をフェッチして、その命令を実行できるコンピュータベースシステム、プロセッサ搭載システムのようなものである。
【００２８】
この開示の状況では、「コンピュータ読取り可能な媒体」は、命令実行システム、装置またはデバイスによって使用されるプログラムを、またはこれらに関連して使用されるプログラムを記憶、通信、伝搬または移動させる。コンピュータ読取り可能な媒体は、例えば、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、デバイス、あるいは伝搬媒体であってもよいが、これらのものに限定されるものではない。コンピュータ読取可能な媒体のさらなる特定の例（網羅されていないリスト）には、１以上のワイヤを持つ電気接続（電子）、ポータブルコンピュータディスケット（磁気）、ランダムアクセスメモリ（ＲＡＭ）（電子）、リードオンリーメモリ（ＲＯＭ）（電子）、消去可能プログラマブルリードオンリーメモリ（ＥＰＲＯＭ、ＥＥＰＲＯＭ、またはフラッシュメモリ）（電子）、光ファイバ（光学）、およびポータブルコンパクトディスクリードオンリーメモリ（ＣＤＲＯＭ）（光学）が含まれていてもよい。
【００２９】
入力／出力インターフェイス２０６は、データを入力および出力する任意の数のインターフェイスを含む。例えば、ホスト２０２がパーソナルコンピュータを構成する場合、システム内のコンポーネントは、キーボードまたはマウスのような、ユーザ入力デバイスとインターフェイスしてもよい。ホスト２０２は、ネットワークを通して、暗号化されたマルチメディアコンテンツのようなデータを送信および／または受信するネットワークインターフェイス２０８も含んでいてもよい。非限定的な例として、ネットワークインターフェイス２０８は、変調器／復調器（例えば、モデム）、ワイヤレス（例えば、無線周波数（ＲＦ））トランシーバ、電話のインターフェイス、ブリッジ、ルーター、ネットワークカード等を含んでいてもよい。
【００３０】
図２は、暗号化されたプログラム２２０を含んでいるアプリケーション２１８を図示している。暗号化されたプログラム２２０は、アプリケーション２１６の一部分であってもよく、アプリケーション２１６は、デバイスキーを含み、ディスク上に記憶されている暗号化されたコンテンツを解読するためのボリュームキーを計算する。この暗号化されたプログラム２２０は、プログラム２２０の安全な解読および実行のために、安全なコプロセッサ２２２に送られてもよい。上記で述べたように、安全なコプロセッサ２２４は、ホストシステム２０２と通信するためにＰＣスロットに差し込むグラフィックカードのような、別のボード上に設置されていてもよい。図２に示したように、安全なコプロセッサ２２２は、データバス２１２によって、ホストシステム２０２とインターフェイスしてもよい。安全なコプロセッサ２２２とホスト２０２との間の安全な通信を確実なものにするために、暗号化プロトコルが組み込まれていてもよい。
【００３１】
安全なコプロセッサ２２２は、プロセッサ２２４を備えている。プロセッサ２２４は、カスタムメードまたは商業的に入手可能なプロセッサ、中央処理ユニット（ＣＰＵ）またはいくつかのプロセッサのうちの補助プロセッサ、（マイクロチップの形態の）半導体ベースのマイクロプロセッサ、マクロプロセッサ、１つ以上の特定用途向け集積回路（ＡＳＩＣ）、複数の適切に構成されているデジタルロジックゲート、ならびにコンピューティングシステムの全体的な動作を個々に、およびさまざまな組み合わせで調整するディスクリート素子を含む他の周知の電気構成を含んでいてもよい。いくつかの実施形態では、不正操作の可能性を減少させるために、プロセッサ２２４はプロプラエタリ命令セットを実行してもよいことに留意すべきである。
【００３２】
安全なコプロセッサ２２２は、制限されたアクセスメモリ２２６をさらに備えている。メモリ２２６は、揮発性メモリ素子（例えば、ランダムアクセスメモリ（ＤＲＡＭおよびＳＲＡＭ等のようなＲＡＭ)）と不揮発性メモリ素子（例えば、ＲＯＭ、ハードドライブ、テープ、ＣＤＲＯＭ等）との組み合わせのうちのいずれか１つを含むことができる。安全なメモリ２２６は、プログラム２２０が解読された後に、プログラム２２０を記憶する。好ましい実施形態では、制限されたメモリ２２６は、安全なコプロセッサ２２２内のプロセッサ２２４によってのみアクセスされてもよい。
【００３３】
図３をこれから参照すると、図３は、暗号化されたプログラムを安全に実行する方法の実施形態のトップレベルのフロー図を図示している。ステップ３１０では、暗号化されたプログラムを記憶させるように構成されているホストから暗号化されたプログラムが受け取られる。このホストは、暗号化されたコンテンツを記憶しているディスクを受け入れるようにさらに構成されている。次に、ステップ３２０において、ディスク上に含まれている情報が受け取られる。この情報は、キーを計算するといったあるタスクのために後に利用されてもよい。いくつかの実施形態では、この情報は、ディスクに特有な情報を含んでいてもよい。さらに他の実施形態では、情報は、ビデオ上に記憶されている実際のマルチメディアコンテンツ（例えば、高精細ビデオ）をさらに含んでいてもよい。ステップ３３０では、ステップ３１０において受け取られた、暗号化されたプログラムが安全なコプロセッサ上で解読される。実行される前に、ステップ３４０において、解読されたプログラムは、制限されたアクセスＲＡＭの中に記憶される。制限されたアクセスＲＡＭの使用は、プログラム内に組み込まれている感知可能な情報の認証されていないアクセスを防ぐために実現されるさまざまな安全対策のうちの１つである。次に、ステップ３５０において、解読されたプログラムが、出力を発生させるために実行される。いくつかの実施形態では、この出力は、単に、プログラムの実行中に計算されたキーを含んでいてもよい。他の実施形態では、出力は、ディスク上に記憶されている実際のビデオ／オーディオコンテンツを含んでいてもよい。最後に、この出力は、ホストに返信される（ステップ３６０）。ディスク上に記憶されているタイトルコンテンツの解読を行うために、出力は、ホストが利用するキーを含んでいてもよい。出力がビデオ／オーディオコンテンツを含む場合、デジタルデータの安全な送信のために、ＨＤＣＰ標準規格のようなＤＲＭ安全対策を組み込んでいるデバイスに、コンテンツが出力されてもよいことに留意すべきである。
【００３４】
これから図４を参照すると、図４は、図２中の代替実施形態の方法を実行する図１中のシステムの実施形態を図示している詳細なデータフロー図を図示している。図４から図６において説明した実施形態は単なる実行可能なインプリメンテーションの例であり、多くの変更および修正は、本開示の原理から逸脱することなく、これらの実施形態に対して行われてよいことを強調する。４１０におけるホストは、表示されるコンテンツを含むディスク（例えば、ブルーレイディスク、ＨＤ ＤＶＤ、ＤＶＤ）を受け入れる。ディスクコンテンツ４２０は、ディスク情報４２４、および高精細ビデオのようなビデオ／オーディオコンテンツ４２２の双方を含んでいてもよい。ホスト４１０上に記憶されている暗号化されたプログラム４１４は、プログラムの安全な解読および実行のために、安全なコプロセッサ４１２に転送される（ブロック４１８）。いくつかの実施形態では、ＡＡＣＳキー４１６のような感知可能な情報が、暗号化されたプログラム４１４の中に埋め込まれていてもよい。ＡＡＣＳキーは、ＡＡＣＳライセンス局によって与えられたキーであってもよい。マルチメディアコンテンツの認証されていない配布の可能性を仮定して、ＡＡＣＳキー４１６を送るプログラム４１４は、暗号化されていることを強調する。
【００３５】
解読プロセスは、図１に示した処理ユニット１４２によって実行されてもよい。プログラムが解読されると、プログラムは、制限されたアクセスＲＡＮ１４６中に記憶される。プログラムが実行される前に、ディスク情報４２４は、安全なコプロセッサ４１２に送られて、出力を発生させるためにプログラムによって利用されてもよい。いくつかの実施形態では、ディスク情報４２４は、ＡＡＣＳ標準規格のもとで規定されているＭＫＢを含んでいてもよい。上記に説明したように、ＭＫＢ、すなわちメディアキーブロックによって、対応プレイヤー（すなわち、ＡＡＣＳ ＬＡによるライセンスが組み込まれているプログラム）は、プログラム中に埋め込まれているキーを使用して、「シークレット」キーを計算することができる。
【００３６】
図５を簡単に参照すると、図５は、ＡＡＣＳ保護スキームの高レベルな図を図示している。ＡＡＣＳスキームは、アドバンスド暗号化標準規格（ＡＥＳ）を使用して、１つ以上のタイトルキーに基づいてコンテンツを暗号化する。これらのタイトルキーは、メディアキーと、ディスクに関係するボリュームＩＤを含む他の情報の部分との組み合わせから得られる。たとえ、認証されていないユーザがシステムに不正変更を加えて、タイトルキーのうちの１つをなんとか取り出したとしても、ユーザは、コンテンツの一部分しか解読することができない。ＡＡＣＳ標準規格にしたがった実際の解読プロセスは本開示の範囲から逸脱しているが、ＡＡＣＳにしたがってキーの計算を行うプログラムは、完全に暗号化されており、認証されていない不正操作および監視に対して保護されるように設計されていることを強調する。
【００３７】
図４に戻って参照すると、プログラムを実行して、キーを発生させる（ブロック４２８）。次に、キー４３０は、ディスク上でタイトルコンテンツを解読するために、ホスト４１０に返信される。以下で記述するように、コンテンツ自体の解読およびデコード（ブロック４３４）は、インプリメンテーションに基づいて、安全なコプロセッサまたはホスト４１０のいずれによって行われてもよい。この複雑性を最小限にするために、安全なコプロセッサ４１２は、コンテンツの解読およびデコードをホスト４１０にオフロードしてもよく、ホスト４１０は、より多くのコンピューティングリソースを含んでいてもよい。最後に、コンテンツ４３６は、モニタ４３８のようなディスプレイに出力されてもよい。
【００３８】
図６は、図２中のさらに別の代替実施形態の方法を実行する図１中のシステムの実施形態を図示しているデータフロー図である。さらなる安全対策として、いくつかの実施形態は、プログラムが実行される前に行われる中間ステップを必要とするかもしれない。解読のために、暗号化されたプログラムが安全なコプロセッサ６１２に送られた後に、データ６１４が、ホスト６１０から安全なコプロセッサ６１２に送られる。安全なコプロセッサ６１２が解読されたプログラムを実行する前に、安全なコプロセッサ６１２において、データは、有効性の確認がされている必要がある。いくつかの実施形態では、データ６１４は、例えば、約１００ＭＢの多量の予め規定されたデータを含んでいてもよい。データが多量のデータを含んでいることによって、ユーザは多量のデータをダウンロードする必要があるので、認証されていないユーザが再生システムに不正操作をすることに対し、さらなる抑止力として機能する。多くのブロックのデータ６１４が受け取られたとき、安全なコプロセッサ６１２が、データの有効性確認プロセス６１６を実行してもよい。非限定的な例として、データの有効性確認プロセス６１６は、データ６１４のチェックサムを計算することと、計算したチェックサム値を暗号化されたプログラム中に記憶されている値と比較することとを単に含んでいてもよい。２つの値の整合がとれない場合に、安全なコプロセッサ６１２は、プログラムを実行しない。
【００３９】
暗号化されたプログラムが解読されている間に、および多くのブロックのデータ６１４が安全なコプロセッサによって受け取られている間に、さらなる安全対策として、バックグラウンドでプロセスが実行している間、サイバーリンクマークのような透かし模様６１８が、ディスプレイ６２０上で表示されてもよい。認証されていないユーザがプログラムになんとかアクセスして、プログラムを配布しようとした場合、この透かし模様は、プログラムのオーナーが誰であるかを公衆に通知する。
【００４０】
図７は、図２中のさらなる別の実施形態の方法を実行する図１中のシステムの実施形態を図示しているデータフロー図である。先に簡単に説明したように、コンテンツ自体の解読およびデコードは、望みのインプリメンテーションに基づいて、安全なコプロセッサ７１２またはホスト７１０のいずれかによって行われてもよい。この複雑性を最小限にするために、安全なコプロセッサ７１２は、コンテンツの解読およびデコードをホスト７１０にオフロードしてもよく、ホスト７１０は、より多くのコンピューティングリソースを含んでいてもよい。いくつかの実施形態では、安全なコプロセッサ７１２は、ホスト７１０に差し込むグラフィックカードのような、別のボード上で実現されてもよい。設計のコストおよび複雑性を減少させるために、コンテンツの解読およびデコードは、例えば、ＰＣのようなホスト７１０上で行われてもよい。しかしながら、安全性を最大限にするために、コンテンツの最終的な解読およびデコードは、安全なコプロセッサ７１２によって行われ、モニタのようなディスプレイに出力されてもよい。ディスプレイは、例えば、ＨＤＣＰ標準規格に準拠している安全なインターフェイスを通して、安全なコプロセッサ７１２に直接結合されていてもよい。コンテンツの解読およびデコードがホスト７１０によって行われる実施形態では、安全なコプロセッサ７１２は、認証されていないアクセスに対してホストを監視するようにさらに構成されていてもよい。
【００４１】
他の安全対策が、安全なコプロセッサの中で同様に実現されてもよい。例えば、安全なコプロセッサは、プログラムの実行を監視するために使用される独立した外部クロックを備えていてもよい。いくつかのケースでは、認証されていないユーザが、データを読もうとして、プログラムの実行を停止させることによって、保護されたプログラムにアクセスしようと試みる可能性がある。実行中にプログラムが使用するクロックが何らかの方法で変更された場合、独立したクロックは参照として機能し、そして何らかのプロセスの停止を検出するために使用される。
【００４２】
安全なコプロセッサは、プログラムのコード／データを変更させないようにするメモリ監視機能も実現してもよい。認証されていないアクセスが検出された場合、安全なコプロセッサは、プログラムによって発生されている何らかの出力（例えば、キー）を自動的に削除するように構成されていてもよい。
【００４３】
最後に、先に記述した実施形態は、可能性あるインプリメンテーションの単なる例であることを改めて強調する。本開示の原理から逸脱することなく、先に記述した実施形態に対して多くの変更および修正を実行してもよい。すべてのこのような変更および修正は、本開示の範囲内であるここに含まれ、特許請求の範囲によって保護されるべきであることが意図されている。
【図面の簡単な説明】
【００４４】
【図１】図１は、暗号化されたプログラムを安全に実行するシステムの実施形態の高レベルな図を図示している。
【図２】図２は、暗号化されたプログラムを安全に実行させる方法の実施形態のトップレベルのフロー図を図示している。
【図３】図３は、暗号化されたプログラムを安全に実行するシステムの例示的な実施形態を図示しているブロック図である。
【図４】図４は、図２中の方法の代替実施形態を実行する図１中のシステムの実施形態を図示しているデータフロー図である。
【図５】図５は、ＡＡＣＳ保護システムの高レベルな図である。
【図６】図６は、図２中の代替実施形態の方法を実行する図１中のシステムの実施形態を図示しているデータフロー図である。
【図７】図７は、図２中の代替実施形態の方法を実行する図１中のシステムの実施形態を図示しているデータフロー図である。
【図１】
2008263577.tif 000003
【図２】
2008263577.tif 000004
【図３】
2008263577.tif 000005
【図４】
2008263577.tif 000006
【図５】
2008263577.tif 000007
【図６】
2008263577.tif 000008
【図７】
2008263577.tif 000009
【手続補正書】
【提出日】平成19年12月7日(2007.12.7)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
暗号化されたソフトウェアを実行する方法において、
暗号化されたプログラムを記憶させるように構成され、暗号化されたコンテンツを記憶しているディスクを受け入れるようにさらに構成されているホストから暗号化されたプログラムを受け取ることと、
ディスク上に含まれている情報を受け取ることと、
処理ユニットによって、安全なコプロセッサ上で、暗号化されたプログラムを解読することと、
処理ユニットに結合され、処理ユニットによってのみアクセス可能である制限されたアクセスＲＡＭ中に解読されたプログラムを記憶させることと、
制限されたアクセスＲＡＭ中に記憶された解読されたプログラムを実行して、出力を発生させることと、
出力をホストに送ることとを含む方法。
【請求項２】
出力を利用して、ディスク上に記憶されている暗号化されたコンテンツを解読することをさらに含む請求項１記載の方法。
【請求項３】
出力を発生させることは、プログラム中に埋め込まれているデバイスキーを使用して、ディスク上に含まれている受け取られた情報からキーを計算することを含む請求項１記載の方法。
【請求項４】
出力を発生させることは、
予め定められた量のデータをホストから受け取ることと、
データの有効性を確認するために、受け取られたデータに関係するチェックサムを計算することと、
データの有効性が確認された場合のみに、プログラム中に埋め込まれているデバイスキーを使用して、ディスク上に埋め込まれているデータからキーを計算することとを含む請求項１記載の方法。
【請求項５】
出力を発生させることは、予め定められた量のデータをホストから受け取っている間に、および受け取られたデータに関係するチェックサムを計算している間に、透かし模様をディスプレイ上に表示することをさらに含む請求項４記載の方法。
【請求項６】
出力を発生させることは、キーを使用して、ディスク上に記憶されているコンテンツを解読することをさらに含む請求項３記載の方法。
【請求項７】
出力を使用して、ディスク上に記憶されている暗号化されたコンテンツを解読するステップが停止された場合に、出力が自動的に削除されるように、出力を使用して、ディスク上に記憶されている暗号化されたコンテンツを解読するステップを監視することをさらに含む請求項２記載の方法。
【請求項８】
コンピュータ実行可能な方法を実行するためのコンピュータプログラムが記憶されているコンピュータ読取可能な媒体において、
コンピュータ実行可能な方法は、
暗号化されたプログラムを記憶させるように構成され、暗号化されたコンテンツを記憶しているディスクを受け入れるようにさらに構成されているホストから暗号化されたプログラムを送ることと、
ディスク上に含まれているコンテンツを送ることと、
処理ユニットによって、暗号化されたプログラムを解読することと、
処理ユニットに結合され、処理ユニットによってのみアクセス可能である制限されたアクセスＲＡＭ中に解読されたプログラムを記憶させることと、
制限されたアクセスＲＡＭ中に記憶された解読されたプログラムを実行して、出力を発生させることと、
出力をホストに通信することとを含むコンピュータ読取可能な媒体。
【請求項９】
ソフトウェアを安全に実行するシステムにおいて、
アクセスされる暗号化されたコンテンツを含んでいるディスクを受け入れ、ディスク上のコンテンツにアクセスするために使用される暗号化されたプログラムを記憶させるように構成されているホストと、
ホストに通信可能に結合され、暗号化されたプログラムを受け取り、暗号化されたプログラムを解読して実行し、プログラムによって発生された出力をホストに返信するように構成されている安全なコプロセッサとを具備するシステム。
【請求項１０】
出力は、ディスク上に記憶されている暗号化されたコンテンツを解読するためにホストによって使用される少なくとも１つのキーを含む請求項９記載のシステム。
【請求項１１】
出力は、ディスクのコンテンツを含み、コンテンツは安全なコプロセッサによって解読されてデコードされている請求項９記載のシステム。
【請求項１２】
暗号化されたプログラムは、少なくとも１つのキーを計算するために使用されるデバイスキーを含み、少なくとも１つのキーは、ホストに送られるボリュームキーを含み、ホストは、ボリュームキーを使用して、ディスク上に記憶されている暗号化されたコンテンツを解読する請求項９記載のシステム。
【請求項１３】
安全なコプロセッサは、処理ユニットと、処理ユニットに結合されている制限されたアクセスＲＡＭとからなり、制限されたアクセスＲＡＭは、解読されたプログラムを記憶するように動作し、処理ユニットによってのみアクセス可能である請求項９記載のシステム。
【請求項１４】
安全なコプロセッサの処理ユニットは、プロプラエタリ命令セットを実行する請求項１３記載のシステム。
【請求項１５】
暗号化されたプログラムは、コンテンツを配布するためのアドバンスドアクセスコンテンツシステム（ＡＡＣＳ）標準規格を組み込んでおり、デバイスキーは、暗号化されたプログラムの中に埋め込まれ、ディスクから情報を取り出し、暗号化されたボリュームキーを発生させるために安全なコプロセッサによって使用され、ボリュームキーは、ディスクのコンテンツを解読するために使用される請求項９記載のシステム。
【請求項１６】
安全なコプロセッサは、予め定められた量のデータをホストから受け取るように構成され、
プログラムは、データの有効性を確認するために、受け取られたデータに関係するチェックサムを計算するように構成され、
暗号化されたプログラムの中に埋め込まれているチェックサムとチェックサムが整合する場合のみに、暗号化されたプログラムは実行を継続し、
暗号化されたプログラムの中に埋め込まれているチェックサムとチェックサムが整合しない場合、ディスク上に記憶されているコンテンツへのアクセスが拒否されるように、暗号化されたプログラムは実行を中止する請求項９記載のシステム。
【請求項１７】
予め定められた量のデータを受け取って、ホストから受け取られた予め定められた量のデータの有効性の確認をしている間、予め定められた透かし模様をディスプレイ上に発生させるようにプログラムが構成されている請求項１６記載のシステム。
【請求項１８】
ホストが広帯域デジタルコンテンツ保護（ＨＤＣＰ）標準規格に準拠していることを安全なコプロセッサが検出した場合のみに、安全なコプロセッサがボリュームキーを発生させる請求項１５記載のシステム。
【請求項１９】
安全なコプロセッサは、ディスク上に記憶されている暗号化されたコンテンツを解読し、コンテンツをディスプレイに送信するようにさらに構成され、コンテンツの送信はＨＤＣＰ標準規格にしたがって実行される請求項９記載のシステム。
【請求項２０】
データを解読している間にホストが停止されるか否かを安全なコプロセッサが検出するように、安全なコプロセッサは、ディスク上に記憶されているコンテンツを解読するホストを監視し、ホストが停止されていることが検出されると、安全なコプロセッサは、コンテンツを解読するためにホストによって使用される出力を消去する請求項１２記載のシステム。
【外国語明細書】
2008263577000001.pdf