JP4856021B2 - 暗号化されたプログラムを実行するシステムおよび方法 - Google Patents

暗号化されたプログラムを実行するシステムおよび方法 Download PDF

Info

Publication number
JP4856021B2
JP4856021B2 JP2007200808A JP2007200808A JP4856021B2 JP 4856021 B2 JP4856021 B2 JP 4856021B2 JP 2007200808 A JP2007200808 A JP 2007200808A JP 2007200808 A JP2007200808 A JP 2007200808A JP 4856021 B2 JP4856021 B2 JP 4856021B2
Authority
JP
Japan
Prior art keywords
program
host
content
encrypted
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2007200808A
Other languages
English (en)
Other versions
JP2008263577A (ja
Inventor
チ−チュン・チャン
Original Assignee
サイバーリンク・コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by サイバーリンク・コーポレーション filed Critical サイバーリンク・コーポレーション
Publication of JP2008263577A publication Critical patent/JP2008263577A/ja
Application granted granted Critical
Publication of JP4856021B2 publication Critical patent/JP4856021B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

本開示は、一般的に、暗号化されたデータの処理に関する。
背景
年々、消費者の間でデジタルビデオコンテンツの人気が高まっている。ブロードキャスト、ケーブル、オンデマンド方式、固定媒体、およびマルチメディアコンテンツの他の利用可能なソースを通して消費者にとって利用可能なオーディオコンテンツおよびビデオコンテンツの量が増加しており、消費者が容易にアクセスおよびプログラミングできるコンテンツの量が増加している。さらに、簡単に利用可能である多くのデバイス(例えば、PC、DVDレコーダ)およびサービスによって、消費者は、オンデマンドビデオおよびオーディオコンテンツを記録、タイムシフト、または表示させることができる。さらに、ビデオサービスを配信するIPTV(インターネットプロトコルテレビ)のような、ダウンロード可能なコンテンツの形態でインターネットおよび他のデータサービスを通して利用可能になっているビデオコンテンツの量も増加している。
一般的に、ビデオコンテンツは、例えば、MPEG−1、MPEG−2、またはDV(デジタルビデオ)のような任意の数の一般的なフォーマットで記憶される。同様に、オーディオコンテンツは、例えば、MP3、WAV、またはMPEGオーディオのような任意の数の一般的なデジタルフォーマットで記憶される。非常に数多くのデジタルフォーマットでマルチメディアコンテンツを利用可能にすると、可搬性の度合いが高いことからマルチメディアコンテンツの配布がより容易になる。
ビデオ再生システムはよく知られており、さまざまなビデオ再生システムに関連するフォーマットおよび他の属性を管理する現在の標準規格にはさまざまなものがある。今日、DVD(デジタルビデオディスク)標準規格は高記憶容量であることから高品質のビデオおよびオーディオを記憶できるため、光ディスクの記憶に利用される主流のフォーマットである。結果的に、映画、テレビショーおよび音楽ビデオのようなメディアコンテンツは、DVDフォーマットで幅広く利用可能になった。
今日、DVDの標準規格に取って代わるものになることを考慮したさまざまな標準規格がある。次世代の光ディスク標準規格になるように競合している2つのフォーマットは、ブルーレイディスクおよびHD DVD(高精細デジタルビデオディスク)である。他のより新しい標準規格と同様に、ブルーレイディスクは、増加した記憶容量と向上した対話性(ディスクコンテンツのオーサリング、シームレスメニューのナビゲーション、ネットワーク/インターネットの接続性等)とを含むさまざまな方法で、DVDおよび他の以前の光ディスクの標準規格を越える利点を提供する。ブルーレイディスクフレームワークは、対話型タイトルを生成するときに、コンテンツプロバイダにほぼ制限のない機能を提供する。製作者は、ユーザインターフェイスの設計において完全に自由であるが、ユーザインターフェイスは、遠隔制御装置上の標準規格のナビゲーションボタンを使用することによって制御可能である。ブルーレイディスクおよびHD DVDのような、これらのより新しい世代のビデオ標準規格は、基礎となるビデオコンテンツとのより高いレベルの対話およびユーザ制御を提供している。
残念なことに、技術によってマルチメディアコンテンツの配布が容易になることが続くと、マルチメディアコンテンツの配布、オーディオ/ビジュアルの作品の著作権侵害もまた年々急増する。例えば、DVD上に記憶されているマルチメディアコンテンツへのアクセスおよびマルチメディアコンテンツのコピーの機能によって、ビデオおよびオーディオの著作権侵害は、継続的な問題であり続ける。このような著作権侵害は、DVDが一般的に用いている、コピーを制限するメカニズムの観点で、さらに問題であり続ける。向上した対話型機能を提供するHD DVDおよびブルーレイディスクのような、より新しい標準規格によって、ビデオおよびオーディオの著作権侵害は、さらに継続的な問題になると思われる。
マルチメディアコンテンツの認証されていないコピーおよび配布に対応するために、オーディオ/ビジュアル作品の発行元および製作者は、デジタルコンテンツへのアクセスを制御する技術に頼っている。用語、デジタル権利マネンジメント(DRM)は、一般的に、マルチメディアコンテンツに対する制限されたアクセスを実現するために使用される技術を表している。このようなDRM技術は、暗号化を用いて、コンテンツへのアクセスを制御するマルチメディアプレイヤーソフトウェアを含む多くのさまざまな技術に基づいている。しかしながら、ソフトウェアアプリケーションを使用して、暗号化されたコンテンツへのアクセスを制御する1つの明らかな欠点は、多くのケースにおいて、このソフトウェアがアクセスされてリバースエンジニアリングされることである。保護メカニズムがDVD上に存在するにもかかわらず、これらの保護メカニズムをあざむく方法をユーザは発見する。1つの方法は、解読されてデコードされたマルチメディアストリームをコンピュータ上のハードディスクに直接書き込むことによって、商業的なDVD再生ソフトウェアに変更を加えることによるものである。
一般的に、パーソナルコンピュータがオープンな環境で動作すると仮定すると、DVD再生ソフトウェアのようなアプリケーションを保護することが課題である。いくつかの例では、保護されたエリアのメモリから保護されていないエリアのメモリにソフトウェアコードを移動することができ、保護されていないエリアのメモリにおいて、コードは詳細に分析され、解析される。この結果、プログラム内に埋め込まれている感知可能なデータを露呈することになる。このことによって、DRMを組み込んでいるコンテンツを配布するために使用される解読キーといったこのようなデータを取得して再利用することは非常にコストがかかることが証明される。適切なツールにより、これらのキーを保持しているメモリのブロックを調べると、保護されたコンテンツへの認証されていないアクセスを獲得することが可能である。したがって、オープンメモリ中に記憶されているソフトウェアアプリケーションを含んでいる従来のアプローチには、依然として、さまざまな明らかな欠点がある。
概要
安全なプログラムを実行するシステムおよび方法を記述する。少なくとも1つの実施形態は、ソフトウェアを安全に実行し、ホストを具備しているシステムを含む。ホストは、アクセスされる暗号化されたコンテンツを含むディスクを受け入れて、ディスク上のコンテンツにアクセスするために使用される暗号化されたプログラムを記憶させるように構成されている。システムは、安全なコプロセッサをさらに具備している。安全なコプロセッサは、通信可能にホストに結合されており、暗号化されたプログラムを受け取って、暗号化されたプログラムを解読して実行して、プログラムによって発生された出力をホストに返信するように構成されている。
別の実施形態は、暗号化されたソフトウェアを実行する方法を含む。方法は、暗号化されたプログラムを記憶させるように構成され、暗号化されたコンテンツを記憶しているディスクを受け入れるようにさらに構成されているホストから暗号化されたプログラムを受け取ることと、ディスク上に含まれている情報を受け取ることと、処理ユニットによって、安全なコプロセッサ上で、暗号化されたプログラムを解読することと、処理ユニットに結合され、処理ユニットによってのみアクセス可能である制限されたアクセスRAM中に解読されたプログラムを記憶させることと、プライベートRAMの中に記憶された解読されたプログラムを実行し、出力を発生させることと、出力をホストに送ることとを含む。
さらに別の実施形態は、コンピュータ実行可能な方法を実行させるためのコンピュータプログラムが記憶されているコンピュータ読取可能な媒体を含む。コンピュータ実行可能な方法は、暗号化されたプログラムを記憶させるように構成され、暗号化されたコンテンツを記憶しているディスクを受け入れるようにさらに構成されているホストから暗号化されたプログラムを送ることと、ディスク上に含まれているコンテンツを送ることと、処理ユニットによって、暗号化されたプログラムを解読することと、処理ユニットに結合され、処理ユニットによってのみアクセス可能である制限されたアクセスRAMの中に解読されたプログラムを記憶させることと、プライベートRAM中に記憶された解読されたプログラムを実行して、出力を発生させることと、出力をホストに通信することとを含む。
本開示の他のシステム、方法、機能および効果は、図面および詳細な説明を考察すると、当業者に明らかであり、または明らかになるだろう。すべてのこのような付加的なシステム、方法、機能、および効果は、本開示の範囲内である詳細な説明内に含まれ、そして、添付した特許請求の範囲によって保護されることを意図している。
本開示の多くの観点は、図面を参照すると、よりよく理解することができる。必ずしも図面中のコンポーネントはスケーリングされていないが、代わりに、本開示の原理を明瞭に図示する際に強調がなされている。さらに、図面における同じ参照符号は、いくつかの図面にわたって対応している部分を示している。
詳細な説明
本開示のさまざまな観点を要約して、図面で図示しているような開示の説明をこれから詳細に参照する。これらの図面に関連して本開示を記述するが、ここで開示する1つ以上の実施形態に開示を限定する意図はない。反対に、添付した特許請求の範囲によって規定されているような本開示の精神および範囲内に含まれているすべての代替実施形態、修正および均等物を対象とすることを意図している。
暗号化されたプログラムを実行するシステムおよび方法の実施形態を開示する。背景において説明したように、ソフトウェアを使用する従来のアプローチで見出された1つの明らかな欠点は、コンピュータが動作するのはオープンな環境であることから、保護されているエリアのメモリから保護されていないエリアのメモリにソフトウェアコードが移動され、保護されていないエリアのメモリにおいて、コードは詳細に分析され、解析されることである。したがって、多くの場合、一般的に、コンピュータメモリ自体へのアクセスが制限されていないことから、DVDコンテンツへのアクセスに必要な解読キーのような感知可能なデータは、認証されていないアクセスおよび不正操作に対して脆弱である。コンピュータメモリ中に存在するマルチメディアソフトウェアアプリケーションを解析すると、暗号化キーが記憶されている正確なメモリの位置を決定することがさらに可能である。適切なツールにより、保護されたコンテンツへのアクセスを獲得するためにこれらのキーを保持しているメモリのブロックを解析するソフトウェアプロセスを停止することが可能である。
ここで開示したある実施形態のシステムでは、マルチメディアの再生ソフトウェアのようなプログラムを暗号化してから、一時的な記憶および実行のために、暗号化されたプログラムを安全なコプロセッサに転送することによって、これらの認識されている欠点に取り組んでいる。1つの実施形態は、ソフトウェアを安全に実行し、ホストを具備しているシステムを含む。ホストは、アクセスされる暗号化されたコンテンツを含んでいるディスクを受け入れ、ディスク上のコンテンツにアクセスするために使用される暗号化されたプログラムを記憶させるように構成されている。システムは、安全なコプロセッサをさらに具備している。安全なコプロセッサは、ホストに通信可能に結合され、暗号化されたプログラムを受け取り、暗号化されたプログラムを解読して実行し、プログラムによって発生された出力をホストに返信するように構成されている。
いくつかの実施形態では、プログラムの一部分またはプログラム全体は、安全なコプロセッサ上で実行される。例えば、光ディスク上のコンテンツを解読するためのキーを発生させる再生アプリケーションの一部分は、安全なプロセッサ上で実行されてもよい。プログラムの出力の構成要素となるキーは、ホストに返信され、ホストにおいて、ディスク上に記憶されているコンテンツが解読されるとディスプレイに出力される。他の実施形態では、キーの計算/発生、解読およびデコードを含む再生アプリケーションのこのような機能は、すべて安全なコプロセッサによって実行されてもよい。これらの実施形態では、発生された出力は、ディスプレイに送られるビデオ/オーディオコンテンツを含んでいてもよい。デコードされたコンテンツの安全な送信を確実なものにするために、デジタルビジュアルインターフェイス(DVI)接続または高精細マルチメディアインターフェイス(HDMI)接続のような接続を通して、感知可能なデータの安全な送信を提供するHDCP(広帯域デジタルコンテンツ保護)のようなDRM標準規格に準拠しているデバイスのみに、出力を選択的に送ってもよい。
ここで説明する実施形態では、コプロセッサは、認証されていないアクセスおよび不正操作を防ぐ安全機能を備えていることを正しく認識すべきである。いくつかの実施形態では、プロセッサは、プロプラエタリ命令セットを実行する処理ユニットを備えている。すなわち、命令セットは、一般的に知られないものであり、人々によって使用されないものである。しかしながら、処理ユニットは、プロプラエタリ命令セットを実行するプロセッサに限定されないことに留意すべきである。最後に、安全なコプロセッサは、安全なコプロセッサの処理ユニットのみとインターフェイスするように構成されている制限されたアクセスRAMを含んでいてもよい。
図1を参照すると、図1は、暗号化されたプログラムを安全に実行するシステムの実施形態の高レベルな図を図示している。再生システム100は、マルチメディアコンテンツを含んでいるディスク150を受け入れる。ディスク150は、DVD、HD DVD、またはブルーレイディスクのような高精細ビデオ、およびデータを含んでいる任意のディスクであってもよい。さらに、ディスクは、ディスクのタイトルコンテンツの認証されていないコピーおよび配布を防ぐいくつかのタイプの保護スキームを組み込んでいてもよい。例えば、ブルーレイディスクおよびHD DVDは、コンテンツを配布するために、制限されたアクセスを提供するAACS LA(アドバンスドアクセスコンテンツシステムライセンス局)によって規定されているDRM仕様のもとで保護されており、その全体は参照によりここに組み込まれている。ビデオコンテンツの暗号化および解読に関するさらなる情報は、AACSのウェブサイト、http://www.aacsla.com.に記載されている。本開示は、他の高密度光ディスクフォーマットに適用されてもよいが、ここで記述する実施形態は、一般的に、コンテンツを配布するためのAACS標準規格を組み込んでいるディスクに適用される。
ディスク150上のコンテンツは、一般的に、2つのカテゴリー、すなわち、主マルチメディアコンテンツ自体とディスクに関連するボリューム情報とに分類されてもよい。AACS標準規格にしたがうと、このボリューム情報は、メディアキーブロック(MKB)と呼ばれている。MBKによって、対応プレイヤー(すなわち、AACS LAによるライセンスが組み込まれているプレイヤー)は、プレイヤーの中に埋め込まれているデバイスキーを使用して、「シークレット」キーを計算することができる。本発明の目的のうちの1つは、ソフトウェアの中に埋め込まれている、これらのデバイスキーの認証されていないアクセスを防ぐことである。AACSライセンス局は、含まれているデバイスキーを取り消してもよいが、AACSライセンス局は、どのキーが損われているかを実際に把握している必要がある。多くのケースにおいて、攻撃者は、他者が使用するキーを発行することではなく、単に、デバイスキーを使用することを選んでもよい。
高いレベルから、システム100は、2つの主なコンポーネント、すなわち、ホスト120と安全なコプロセッサ140とに分けられてもよい。ホスト120は、CPU122と、メモリ124と、解読されたコンテンツをデコードするデコーダブロック126とを備えている。デコーダブロック126はホスト中に示されているが、他の実施形態では、安全なコプロセッサ140もデコーダブロックを含んでいてもよいことに留意すべきである。HD DVDおよびブルーレイディスクソフトウェアプレイヤーのようなソフトウェアアプリケーションの一部分は、解読および実行のために安全なコプロセッサに送られる前に、暗号化され、ホストのメモリ124中に記憶される。ソフトウェアアプリケーションのこのような部分は、キーの発生を取り扱うコードの部分を含んでいてもよい。コードのこれらの部分は、安全性を確実なものにするために、安全なコプロセッサによって実行される。
安全なコプロセッサ140は、CPU142と、解読器ブロック144と、制限されたアクセスRAM146とを備えている。CPU142は、当業者によって知られている任意の中央処理ユニットであってもよい。代わりに、CPU142は、例えば、データタイプ、命令、レジスタ、アドレッシングスキームといった観点および当業者によって知られている他の観点に関連するプロプラエタリ命令セットを実行するカスタム処理ユニットであってもよい。プロプラエタリ命令セットは公衆によって知られていない。このことは、CPU142によって実行されているプロセスを停止させるような認証されていないアクションを実行するために、CPU142の中に侵入することをより困難にする。CPU142が実行される前に、解読器ブロック144は、暗号化されたプログラムを解読して、制限されたアクセスRAM146の中に解読されたプログラムを記憶させる。認証されていないユーザによって、解読されたプログラムがRAM146から取り出されないようにするために、RAM146はCPU142によってのみアクセスが可能であり、CPU142の専用リソースである。最後に、安全なコプロセッサ140内のプログラムによって発生された出力がホスト120に返信されるように、ホスト120および安全なコプロセッサ140は通信可能に結合されている。
図2をこれから参照すると、図2は、暗号化されたプログラムを安全に実行するシステムの例示的な実施形態を図示しているブロック図である。いくつかの実施形態では、ホストシステム202は、いくつかのタイプのコンピューティングデバイスの中に組み込まれていてもよい。または、図1に示した安全なコプロセッサは、ホストシステム202の中に組み込まれていてもよい。例えば、いくつかの実施形態では、ホストおよび安全なコプロセッサの両者は、PCの同一のマザーボード上に設置されてもよい。しかしながら、他の実施形態では、安全なコプロセッサは、PC内のスロットに差し込むグラフィックカードのような、別のボード上に設置されてもよい。安全なコプロセッサは、バスを通して、ホストと通信する。安全なコプロセッサおよびホストは、安全性を確実なものにするために、データをやり取りするときに暗号化プロトコルを使用するといった安全対策を組み込んでいてもよい。
一般的に述べると、ホストシステム202は、デスクトップコンピュータ、ポータブルコンピュータ、専用サーバコンピュータ、マルチプロセッサコンピューティングデバイス等のような、幅広いさまざまなワイヤおよび/またはワイヤレスコンピューティングデバイスのうちのいずれか1つを含んでいてもよい。その特定の配置に関係なく、ホスト202は、数ある中のコンポーネント、例えば、データバス212に並列に接続されているプロセッサ204、入力/出力インターフェイス206、ネットワークインターフェイス208、およびディスプレイ210を備えていてもよい。一般的に、ホストシステム202は、簡略する目的で省略されている他のコンポーネントを含むことができ、そして含むことになることを当業者は正しく認識するだろう。ディスプレイ210は、例えば、コンピュータモニタまたはPC向けのプラズマスクリーン、あるいは液晶ディスプレイ(LCD)を含むことが可能である。さらなる安全性のために、ディスプレイ210は、さまざまなタイプの接続を通して、デジタルビデオ/オーディオコンテンツの安全な送信を提供するHDCP標準規格のような、何らかのタイプのDRMスキームに準拠しているデバイスであってもよい。
プロセッサ204は、カスタムメードまたは商業的に入手可能なプロセッサ、中央処理ユニット(CPU)またはホスト202に関係付けられているいくつかのプロセッサのうちの補助プロセッサ、(マイクロチップの形態の)半導体ベースのマイクロプロセッサ、マクロプロセッサ、1つ以上の特定用途向け集積回路(ASIC)、複数の適切に構成されているデジタルロジックゲート、ならびにコンピューティングシステムの全体的な動作を個々に、およびさまざまな組み合わせで調整するディスクリート素子を含む他の周知の電気構成を含むことが可能である。
メモリ214は、揮発性メモリ素子(例えば、ランダムアクセスメモリ(DRAMおよびSRAM等のようなRAM))と不揮発性メモリ素子(例えば、ROM、ハードドライブ、テープ、CDROM等)との組み合わせのうちのいずれか1つを含むことができる。メモリ214は、一般的に、ネイティブオペレーティングシステム216、1つ以上のネイティブアプリケーション、エミュレーションシステム、あるいはさまざまなオペレーティングシステムおよび/またはエミュレートされたハードウェアプラットフォームのうちのいずれかのもののためのエミュレートされたアプリケーション、エミュレートされたオペレーティングシステム等を記憶してもよい。例えば、アプリケーションは、安全なコプロセッサ222とインターフェイスするための特定用途向けプログラム218を含んでいてもよい。さらに、一般的に、メモリ214は、簡略する目的で省略されている他のコンポーネントを含むことができ、そして含むことになることを当業者は正しく認識するだろう。
図2に示しているアプリケーション218は、HD DVDおよびブルーレイディスクのようなさまざまなディスクフォーマットを再生するために使用されるソフトウェアプレイヤーのアプリケーションであってもよい。アプリケーション218がソフトウェアで実現されたときに、アプリケーション218が、さまざまなコンピュータ関連システムまたは方法によって使用される、あるいはこれらに関連して使用されるさまざまなコンピュータ読取り可能な媒体上に記憶できることに留意すべきである。この文書の状況では、コンピュータ読取り可能な媒体は、電子、磁気、光、あるいは他の物理的デバイスまたは装置を構成してもよく、これは、コンピュータ関連システムまたは方法によって使用される、あるいはこれらに関連して使用されるコンピュータプログラムを含むまたは記憶できる。インターフェイスは、命令実行システム、装置またはデバイスによる使用のために、あるいは、命令実行システム、装置またはデバイスとともに使用するために、さまざまなコンピュータ読取可能な媒体に埋め込むことができる。命令実行システム、装置またはデバイスは、命令実行システム、装置またはデバイスからの命令をフェッチして、その命令を実行できるコンピュータベースシステム、プロセッサ搭載システムのようなものである。
この開示の状況では、「コンピュータ読取り可能な媒体」は、命令実行システム、装置またはデバイスによって使用されるプログラムを、またはこれらに関連して使用されるプログラムを記憶、通信、伝搬または移動させる。コンピュータ読取り可能な媒体は、例えば、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、デバイス、あるいは伝搬媒体であってもよいが、これらのものに限定されるものではない。コンピュータ読取可能な媒体のさらなる特定の例(網羅されていないリスト)には、1以上のワイヤを持つ電気接続(電子)、ポータブルコンピュータディスケット(磁気)、ランダムアクセスメモリ(RAM)(電子)、リードオンリーメモリ(ROM)(電子)、消去可能プログラマブルリードオンリーメモリ(EPROM、EEPROM、またはフラッシュメモリ)(電子)、光ファイバ(光学)、およびポータブルコンパクトディスクリードオンリーメモリ(CDROM)(光学)が含まれていてもよい。
入力/出力インターフェイス206は、データを入力および出力する任意の数のインターフェイスを含む。例えば、ホスト202がパーソナルコンピュータを構成する場合、システム内のコンポーネントは、キーボードまたはマウスのような、ユーザ入力デバイスとインターフェイスしてもよい。ホスト202は、ネットワークを通して、暗号化されたマルチメディアコンテンツのようなデータを送信および/または受信するネットワークインターフェイス208も含んでいてもよい。非限定的な例として、ネットワークインターフェイス208は、変調器/復調器(例えば、モデム)、ワイヤレス(例えば、無線周波数(RF))トランシーバ、電話のインターフェイス、ブリッジ、ルーター、ネットワークカード等を含んでいてもよい。
図2は、暗号化されたプログラム220を含んでいるアプリケーション218を図示している。暗号化されたプログラム220は、アプリケーション216の一部分であってもよく、アプリケーション216は、デバイスキーを含み、ディスク上に記憶されている暗号化されたコンテンツを解読するためのボリュームキーを計算する。この暗号化されたプログラム220は、プログラム220の安全な解読および実行のために、安全なコプロセッサ222に送られてもよい。上記で述べたように、安全なコプロセッサ224は、ホストシステム202と通信するためにPCスロットに差し込むグラフィックカードのような、別のボード上に設置されていてもよい。図2に示したように、安全なコプロセッサ222は、データバス212によって、ホストシステム202とインターフェイスしてもよい。安全なコプロセッサ222とホスト202との間の安全な通信を確実なものにするために、暗号化プロトコルが組み込まれていてもよい。
安全なコプロセッサ222は、プロセッサ224を備えている。プロセッサ224は、カスタムメードまたは商業的に入手可能なプロセッサ、中央処理ユニット(CPU)またはいくつかのプロセッサのうちの補助プロセッサ、(マイクロチップの形態の)半導体ベースのマイクロプロセッサ、マクロプロセッサ、1つ以上の特定用途向け集積回路(ASIC)、複数の適切に構成されているデジタルロジックゲート、ならびにコンピューティングシステムの全体的な動作を個々に、およびさまざまな組み合わせで調整するディスクリート素子を含む他の周知の電気構成を含んでいてもよい。いくつかの実施形態では、不正操作の可能性を減少させるために、プロセッサ224はプロプラエタリ命令セットを実行してもよいことに留意すべきである。
安全なコプロセッサ222は、制限されたアクセスメモリ226をさらに備えている。メモリ226は、揮発性メモリ素子(例えば、ランダムアクセスメモリ(DRAMおよびSRAM等のようなRAM))と不揮発性メモリ素子(例えば、ROM、ハードドライブ、テープ、CDROM等)との組み合わせのうちのいずれか1つを含むことができる。安全なメモリ226は、プログラム220が解読された後に、プログラム220を記憶する。好ましい実施形態では、制限されたメモリ226は、安全なコプロセッサ222内のプロセッサ224によってのみアクセスされてもよい。
図3をこれから参照すると、図3は、暗号化されたプログラムを安全に実行する方法の実施形態のトップレベルのフロー図を図示している。ステップ310では、暗号化されたプログラムを記憶させるように構成されているホストから暗号化されたプログラムが受け取られる。このホストは、暗号化されたコンテンツを記憶しているディスクを受け入れるようにさらに構成されている。次に、ステップ320において、ディスク上に含まれている情報が受け取られる。この情報は、キーを計算するといったあるタスクのために後に利用されてもよい。いくつかの実施形態では、この情報は、ディスクに特有な情報を含んでいてもよい。さらに他の実施形態では、情報は、ビデオ上に記憶されている実際のマルチメディアコンテンツ(例えば、高精細ビデオ)をさらに含んでいてもよい。ステップ330では、ステップ310において受け取られた、暗号化されたプログラムが安全なコプロセッサ上で解読される。実行される前に、ステップ340において、解読されたプログラムは、制限されたアクセスRAMの中に記憶される。制限されたアクセスRAMの使用は、プログラム内に組み込まれている感知可能な情報の認証されていないアクセスを防ぐために実現されるさまざまな安全対策のうちの1つである。次に、ステップ350において、解読されたプログラムが、出力を発生させるために実行される。いくつかの実施形態では、この出力は、単に、プログラムの実行中に計算されたキーを含んでいてもよい。他の実施形態では、出力は、ディスク上に記憶されている実際のビデオ/オーディオコンテンツを含んでいてもよい。最後に、この出力は、ホストに返信される(ステップ360)。ディスク上に記憶されているタイトルコンテンツの解読を行うために、出力は、ホストが利用するキーを含んでいてもよい。出力がビデオ/オーディオコンテンツを含む場合、デジタルデータの安全な送信のために、HDCP標準規格のようなDRM安全対策を組み込んでいるデバイスに、コンテンツが出力されてもよいことに留意すべきである。
これから図4を参照すると、図4は、図2中の代替実施形態の方法を実行する図1中のシステムの実施形態を図示している詳細なデータフロー図を図示している。図4から図6において説明した実施形態は単なる実行可能なインプリメンテーションの例であり、多くの変更および修正は、本開示の原理から逸脱することなく、これらの実施形態に対して行われてよいことを強調する。410におけるホストは、表示されるコンテンツを含むディスク(例えば、ブルーレイディスク、HD DVD、DVD)を受け入れる。ディスクコンテンツ420は、ディスク情報424、および高精細ビデオのようなビデオ/オーディオコンテンツ422の双方を含んでいてもよい。ホスト410上に記憶されている暗号化されたプログラム414は、プログラムの安全な解読および実行のために、安全なコプロセッサ412に転送される(ブロック418)。いくつかの実施形態では、AACSキー416のような感知可能な情報が、暗号化されたプログラム414の中に埋め込まれていてもよい。AACSキーは、AACSライセンス局によって与えられたキーであってもよい。マルチメディアコンテンツの認証されていない配布の可能性を仮定して、AACSキー416を送るプログラム414は、暗号化されていることを強調する。
解読プロセスは、図1に示した処理ユニット142によって実行されてもよい。プログラムが解読されると、プログラムは、制限されたアクセスRAN146中に記憶される。プログラムが実行される前に、ディスク情報424は、安全なコプロセッサ412に送られて、出力を発生させるためにプログラムによって利用されてもよい。いくつかの実施形態では、ディスク情報424は、AACS標準規格のもとで規定されているMKBを含んでいてもよい。上記に説明したように、MKB、すなわちメディアキーブロックによって、対応プレイヤー(すなわち、AACS LAによるライセンスが組み込まれているプログラム)は、プログラム中に埋め込まれているキーを使用して、「シークレット」キーを計算することができる。
図5を簡単に参照すると、図5は、AACS保護スキームの高レベルな図を図示している。AACSスキームは、アドバンスド暗号化標準規格(AES)を使用して、1つ以上のタイトルキーに基づいてコンテンツを暗号化する。これらのタイトルキーは、メディアキーと、ディスクに関係するボリュームIDを含む他の情報の部分との組み合わせから得られる。たとえ、認証されていないユーザがシステムに不正変更を加えて、タイトルキーのうちの1つをなんとか取り出したとしても、ユーザは、コンテンツの一部分しか解読することができない。AACS標準規格にしたがった実際の解読プロセスは本開示の範囲から逸脱しているが、AACSにしたがってキーの計算を行うプログラムは、完全に暗号化されており、認証されていない不正操作および監視に対して保護されるように設計されていることを強調する。
図4に戻って参照すると、プログラムを実行して、キーを発生させる(ブロック428)。次に、キー430は、ディスク上でタイトルコンテンツを解読するために、ホスト410に返信される。以下で記述するように、コンテンツ自体の解読およびデコード(ブロック434)は、インプリメンテーションに基づいて、安全なコプロセッサまたはホスト410のいずれによって行われてもよい。この複雑性を最小限にするために、安全なコプロセッサ412は、コンテンツの解読およびデコードをホスト410にオフロードしてもよく、ホスト410は、より多くのコンピューティングリソースを含んでいてもよい。最後に、コンテンツ436は、モニタ438のようなディスプレイに出力されてもよい。
図6は、図2中のさらに別の代替実施形態の方法を実行する図1中のシステムの実施形態を図示しているデータフロー図である。さらなる安全対策として、いくつかの実施形態は、プログラムが実行される前に行われる中間ステップを必要とするかもしれない。解読のために、暗号化されたプログラムが安全なコプロセッサ612に送られた後に、データ614が、ホスト610から安全なコプロセッサ612に送られる。安全なコプロセッサ612が解読されたプログラムを実行する前に、安全なコプロセッサ612において、データは、有効性の確認がされている必要がある。いくつかの実施形態では、データ614は、例えば、約100MBの多量の予め規定されたデータを含んでいてもよい。データが多量のデータを含んでいることによって、ユーザは多量のデータをダウンロードする必要があるので、認証されていないユーザが再生システムに不正操作をすることに対し、さらなる抑止力として機能する。多くのブロックのデータ614が受け取られたとき、安全なコプロセッサ612が、データの有効性確認プロセス616を実行してもよい。非限定的な例として、データの有効性確認プロセス616は、データ614のチェックサムを計算することと、計算したチェックサム値を暗号化されたプログラム中に記憶されている値と比較することとを単に含んでいてもよい。2つの値の整合がとれない場合に、安全なコプロセッサ612は、プログラムを実行しない。
暗号化されたプログラムが解読されている間に、および多くのブロックのデータ614が安全なコプロセッサによって受け取られている間に、さらなる安全対策として、バックグラウンドでプロセスが実行している間、サイバーリンクマークのような透かし模様618が、ディスプレイ620上で表示されてもよい。認証されていないユーザがプログラムになんとかアクセスして、プログラムを配布しようとした場合、この透かし模様は、プログラムのオーナーが誰であるかを公衆に通知する。
図7は、図2中のさらなる別の実施形態の方法を実行する図1中のシステムの実施形態を図示しているデータフロー図である。先に簡単に説明したように、コンテンツ自体の解読およびデコードは、望みのインプリメンテーションに基づいて、安全なコプロセッサ712またはホスト710のいずれかによって行われてもよい。この複雑性を最小限にするために、安全なコプロセッサ712は、コンテンツの解読およびデコードをホスト710にオフロードしてもよく、ホスト710は、より多くのコンピューティングリソースを含んでいてもよい。いくつかの実施形態では、安全なコプロセッサ712は、ホスト710に差し込むグラフィックカードのような、別のボード上で実現されてもよい。設計のコストおよび複雑性を減少させるために、コンテンツの解読およびデコードは、例えば、PCのようなホスト710上で行われてもよい。しかしながら、安全性を最大限にするために、コンテンツの最終的な解読およびデコードは、安全なコプロセッサ712によって行われ、モニタのようなディスプレイに出力されてもよい。ディスプレイは、例えば、HDCP標準規格に準拠している安全なインターフェイスを通して、安全なコプロセッサ712に直接結合されていてもよい。コンテンツの解読およびデコードがホスト710によって行われる実施形態では、安全なコプロセッサ712は、認証されていないアクセスに対してホストを監視するようにさらに構成されていてもよい。
他の安全対策が、安全なコプロセッサの中で同様に実現されてもよい。例えば、安全なコプロセッサは、プログラムの実行を監視するために使用される独立した外部クロックを備えていてもよい。いくつかのケースでは、認証されていないユーザが、データを読もうとして、プログラムの実行を停止させることによって、保護されたプログラムにアクセスしようと試みる可能性がある。実行中にプログラムが使用するクロックが何らかの方法で変更された場合、独立したクロックは参照として機能し、そして何らかのプロセスの停止を検出するために使用される。
安全なコプロセッサは、プログラムのコード/データを変更させないようにするメモリ監視機能も実現してもよい。認証されていないアクセスが検出された場合、安全なコプロセッサは、プログラムによって発生されている何らかの出力(例えば、キー)を自動的に削除するように構成されていてもよい。
最後に、先に記述した実施形態は、可能性あるインプリメンテーションの単なる例であることを改めて強調する。本開示の原理から逸脱することなく、先に記述した実施形態に対して多くの変更および修正を実行してもよい。すべてのこのような変更および修正は、本開示の範囲内であるここに含まれ、特許請求の範囲によって保護されるべきであることが意図されている。
以下に、本願出願時の特許請求の範囲に記載された発明を付記する。
〔1〕暗号化されたソフトウェアを実行する方法において、
暗号化されたプログラムを記憶させるように構成され、暗号化されたコンテンツを記憶しているディスクを受け入れるようにさらに構成されているホストから暗号化されたプログラムを受け取ることと、
ディスク上に含まれている情報を受け取ることと、
処理ユニットによって、安全なコプロセッサ上で、暗号化されたプログラムを解読することと、
処理ユニットに結合され、処理ユニットによってのみアクセス可能である制限されたアクセスRAM中に解読されたプログラムを記憶させることと、
プライベートRAM中に記憶された解読されたプログラムを実行して、出力を発生させることと、
出力をホストに送ることとを含む方法。
〔2〕出力を利用して、ディスク上に記憶されている暗号化されたコンテンツを解読することをさらに含む上記〔1〕記載の方法。
〔3〕出力を発生させることは、プログラム中に埋め込まれているデバイスキーを使用して、ディスク上に埋め込まれているデータからキーを計算することを含む上記〔1〕記載の方法。
〔4〕出力を発生させることは、
予め定められた量のデータをホストから受け取ることと、
データの有効性を確認するために、受け取ったデータに関係するチェックサムを計算することと、
データの有効性が確認された場合のみに、プログラム中に埋め込まれているデバイスキーを使用して、ディスク上に埋め込まれているデータからキーを計算することとを含む上記〔1〕記載の方法。
〔5〕出力を発生させることは、予め定められた量のデータをホストから受け取っている間に、および受け取ったデータに関係するチェックサムを計算している間に、透かし模様をディスプレイ上に表示することをさらに含む上記〔4〕記載の方法。
〔6〕出力を発生させることは、キーを使用して、ディスク上に記憶されているコンテンツを解読することをさらに含む上記〔3〕記載の方法。
〔7〕出力を使用して、ディスク上に記憶されている暗号化されたコンテンツを解読するステップが停止された場合に、出力が自動的に削除されるように、出力を使用して、ディスク上に記憶されている暗号化されたコンテンツを解読するステップを監視することをさらに含む上記〔2〕記載の方法。
〔8〕コンピュータ実行可能な方法を実行するためのコンピュータプログラムが記憶されているコンピュータ読取可能な媒体において、
コンピュータ実行可能な方法は、
暗号化されたプログラムを記憶させるように構成され、暗号化されたコンテンツを記憶しているディスクを受け入れるようにさらに構成されているホストから暗号化されたプログラムを送ることと、
ディスク上に含まれているコンテンツを送ることと、
処理ユニットによって、暗号化されたプログラムを解読することと、
処理ユニットに結合され、処理ユニットによってのみアクセス可能である制限されたアクセスRAM中に解読されたプログラムを記憶させることと、
プライベートRAM中に記憶された解読されたプログラムを実行して、出力を発生させることと、
出力をホストに通信することとを含むコンピュータ読取可能な媒体。
〔9〕ソフトウェアを安全に実行するシステムにおいて、
アクセスされる暗号化されたコンテンツを含んでいるディスクを受け入れ、ディスク上のコンテンツにアクセスするために使用される暗号化されたプログラムを記憶させるように構成されているホストと、
ホストに通信可能に結合され、暗号化されたプログラムを受け取り、暗号化されたプログラムを解読して実行し、プログラムによって発生された出力をホストに返信するように構成されている安全なコプロセッサとを具備するシステム。
〔10〕出力は、ディスク上に記憶されている暗号化されたコンテンツを解読するためにホストによって使用される少なくとも1つのキーを含む上記〔9〕記載のシステム。
〔11〕出力は、ディスクのコンテンツを含み、コンテンツは安全なコプロセッサによって解読されてデコードされている上記〔9〕記載のシステム。
〔12〕暗号化されたプログラムは、少なくとも1つのキーを計算するために使用されるデバイスキーを含み、少なくとも1つのキーは、ホストに送られるボリュームキーを含み、ホストは、ボリュームキーを使用して、ディスク上に記憶されている暗号化されたコンテンツを解読する上記〔9〕記載のシステム。
〔13〕安全なコプロセッサは、処理ユニットと、処理ユニットに結合されているプライベートRAMとからなり、プライベートRAMは、解読されたプログラムを記憶するように動作し、処理ユニットによってのみアクセス可能である上記〔9〕記載のシステム。
〔14〕安全なコプロセッサの処理ユニットは、プロプラエタリ命令セットを実行する上記〔13〕記載のシステム。
〔15〕暗号化されたプログラムは、コンテンツを配布するためのアドバンスドアクセスコンテンツシステム(AACS)標準規格を組み込んでおり、デバイスキーは、暗号化されたプログラムの中に埋め込まれ、ディスクから情報を取り出し、暗号化されたボリュームキーを発生させるために安全なプロセッサによって使用され、ボリュームキーは、ディスクのコンテンツを解読するために使用される上記〔9〕記載のシステム。
〔16〕安全なコプロセッサは、予め定められた量のデータをホストから受け取るように構成され、
プログラムは、データの有効性を確認するために、受け取ったデータに関係するチェックサムを計算するように構成され、
暗号化されたプログラムの中に埋め込まれているチェックサムとチェックサムが整合する場合のみに、暗号化されたプログラムは実行を継続し、
暗号化されたプログラムの中に埋め込まれているチェックサムとチェックサムが整合しない場合、ディスク上に記憶されているコンテンツへのアクセスが拒否されるように、暗号化されたプログラムは実行を中止する上記〔9〕記載のシステム。
〔17〕予め定められた量のデータを受け取って、ホストから受け取った予め定められた量のデータの有効性の確認をしている間、予め定められた透かし模様をディスプレイ上に発生させるようにプログラムが構成されている上記〔16〕記載のシステム。
〔18〕ホストが広帯域デジタルコンテンツ保護(HDCP)標準規格に準拠していることを安全なコプロセッサが検出した場合のみに、安全なコプロセッサがボリュームキーを発生させる上記〔15〕記載のシステム。
〔19〕安全なプロセッサは、ディスク上に記憶されている暗号化されたコンテンツを解読し、コンテンツをディスプレイに送信するようにさらに構成され、コンテンツの送信はHDCP標準規格にしたがって実行される上記〔9〕記載のシステム。
〔20〕データを解読している間にホストが停止されるか否かを安全なプロセッサが検出するように、安全なプロセッサは、ディスク上に記憶されているコンテンツを解読するホストを監視し、ホストが停止されていることが検出されると、安全なプロセッサは、コンテンツを解読するためにホストによって使用される出力を消去する上記〔12〕記載のシステム。
図1は、暗号化されたプログラムを安全に実行するシステムの実施形態の高レベルな図を図示している。 図2は、暗号化されたプログラムを安全に実行させる方法の実施形態のトップレベルのフロー図を図示している。 図3は、暗号化されたプログラムを安全に実行するシステムの例示的な実施形態を図示しているブロック図である。 図4は、図2中の方法の代替実施形態を実行する図1中のシステムの実施形態を図示しているデータフロー図である。 図5は、AACS保護システムの高レベルな図である。 図6は、図2中の代替実施形態の方法を実行する図1中のシステムの実施形態を図示しているデータフロー図である。 図7は、図2中の代替実施形態の方法を実行する図1中のシステムの実施形態を図示しているデータフロー図である。

Claims (18)

  1. 暗号化されたソフトウェアを実行する、再生システムにおいて適用される方法において、
    再生システムは、互いに通信可能に結合されているホストと安全なコプロセッサとを具備し、安全なコプロセッサは、処理ユニットと、解読器ブロックと、制限されたアクセスRAMとを備えており、
    方法は、
    暗号化されたプログラムを記憶させるように構成され、暗号化されたコンテンツを記憶しているディスクを受け入れるようにさらに構成されているホストから暗号化されたプログラムを安全なコプロセッサによって受け取ることと、
    ディスク上に含まれている、キーを計算するための情報を安全なコプロセッサによって受け取ることと、
    処理ユニットによって、解読器ブロック上で、暗号化されたプログラムを解読することと、
    処理ユニットに結合され、処理ユニットによってのみアクセス可能である制限されたアクセスRAM中に解読されたプログラムを解読器ブロックによって記憶させることと、
    制限されたアクセスRAM中に記憶された解読されたプログラムを処理ユニットによって実行して、出力を発生させることと、
    安全なコプロセッサからホストに出力を送ることとを含み、
    出力を発生させることは、処理ユニットによって、プログラム中に埋め込まれている、再生システムのデバイスキーを使用して、受け取った、ディスク上に含まれていたキーを計算するための情報からキーを計算することを含む方法。
  2. 出力を利用して、ディスク上に記憶されている暗号化されたコンテンツをホストによって解読することをさらに含む請求項1記載の方法。
  3. 処理ユニットによって出力を発生させることは、
    予め定められた量のデータをホストから受け取ることと、
    データの有効性を確認するために、受け取ったデータに関係するチェックサムを計算することと、
    データの有効性が確認された場合のみに、プログラム中に埋め込まれているデバイスキーを使用して、ディスク上に埋め込まれているデータからキーを計算することとを含む請求項1記載の方法。
  4. め定められた量のデータをホストから受け取っている間に、および受け取ったデータに関係するチェックサムを計算している間に、ホストまたは安全なコプロセッサによって、透かし模様をディスプレイ上に表示することをさらに含む請求項3記載の方法。
  5. 出力を使用して、ディスク上に記憶されている暗号化されたコンテンツを解読するステップが停止された場合に、出力が自動的に削除されるように、出力を使用して、ディスク上に記憶されている暗号化されたコンテンツを解読するステップを安全なコプロセッサによって監視することをさらに含む請求項2記載の方法。
  6. 互いに通信可能に結合されているホストと安全なコプロセッサとを具備する再生システムにおいて適用されるコンピュータ実行可能な方法を実行するための、コンピュータプログラムが記憶されているコンピュータ読取可能な媒体において、
    安全なコプロセッサは、処理ユニットと、解読器ブロックと、制限されたアクセスRAMとを備えており、
    コンピュータ実行可能な方法は、
    暗号化されたプログラムを記憶させるように構成され、暗号化されたコンテンツを記憶しているディスクを受け入れるようにさらに構成されているホストから暗号化されたプログラムを送ることと、
    ディスク上に含まれている、キーを計算するための情報をホストから送ることと、
    処理ユニットによって、解読器ブロック上で、暗号化されたプログラムを解読することと、
    処理ユニットに結合され、処理ユニットによってのみアクセス可能である制限されたアクセスRAM中に解読されたプログラムを解読器ブロックによって記憶させることと、
    制限されたアクセスRAM中に記憶された解読されたプログラムを処理ユニットによって実行して、出力を発生させることと、
    安全なコプロセッサからホストに出力を通信することとを含み、
    出力を発生させることは、処理ユニットによって、プログラム中に埋め込まれている、再生システムのデバイスキーを使用して、受け取った、ディスク上に含まれていたキーを計算するための情報からキーを計算することを含むコンピュータ読取可能な媒体。
  7. ソフトウェアを安全に実行する再生システムにおいて、
    アクセスされる暗号化されたコンテンツを含んでいるディスクを受け入れ、ディスク上のコンテンツにアクセスするために使用される暗号化されたプログラムを記憶させるように構成されているホストと、
    ホストに通信可能に結合され、暗号化されたプログラムとディスク上に含まれている、キーを計算するための情報とを受け取り、暗号化されたプログラムを解読して実行し、プログラムによって発生された出力をホストに返信するように構成されている安全なコプロセッサとを具備し、
    暗号化されたプログラムは再生システムのデバイスキーを含み、
    安全なコプロセッサにより実行されたプログラムが、デバイスキーとディスク上に含まれていた、キーを計算するための情報とを使用して、少なくとも1つのキーを発生させる再生システム。
  8. 少なくとも1つのキーは、ディスク上に記憶されている暗号化されたコンテンツを解読するためにホストによって使用される請求項記載の再生システム。
  9. 出力は、ディスクのコンテンツを含み、コンテンツは安全なコプロセッサによって解読されてデコードされている請求項記載の再生システム。
  10. 少なくとも1つのキーは、ホストに送られるボリュームキーを含み、ホストは、ボリュームキーを使用して、ディスク上に記憶されている暗号化されたコンテンツを解読する請求項記載の再生システム。
  11. 安全なコプロセッサは、処理ユニットと、処理ユニットに結合されている制限されたアクセスRAMとからなり、制限されたアクセスRAMは、解読されたプログラムを記憶するように動作し、処理ユニットによってのみアクセス可能である請求項記載の再生システム。
  12. 安全なコプロセッサの処理ユニットは、プロプラエタリ命令セットを実行する請求項11記載の再生システム。
  13. 暗号化されたプログラムは、コンテンツを配布するためのアドバンスドアクセスコンテンツシステム(AACS)標準規格を組み込んでいる請求項記載の再生システム。
  14. 安全なコプロセッサは、予め定められた量のデータをホストから受け取るように構成され、
    解読されたプログラムは、データの有効性を確認するために、受け取ったデータに関係するチェックサムを計算するように構成され、
    解読されたプログラムの中に埋め込まれているチェックサムとチェックサムが整合する場合のみに、安全なコプロセッサは解読されたプログラムを実行し続け、
    解読されたプログラムの中に埋め込まれているチェックサムとチェックサムが整合しない場合、ディスク上に記憶されているコンテンツへのアクセスが拒否されるように、安全なコプロセッサは解読されたプログラムの実行を中止する請求項記載の再生システム。
  15. 予め定められた量のデータを受け取って、ホストから受け取った予め定められた量のデータの有効性の確認をしている間、予め定められた透かし模様をディスプレイ上に発生させるようにプログラムが構成されている請求項14記載の再生システム。
  16. ホストが広帯域デジタルコンテンツ保護(HDCP)標準規格に準拠していることを安全なコプロセッサが検出した場合のみに、安全なコプロセッサがボリュームキーを発生させる請求項13記載の再生システム。
  17. 安全なコプロセッサは、ディスク上に記憶されている暗号化されたコンテンツを解読し、コンテンツをディスプレイに送信するようにさらに構成され、コンテンツの送信はHDCP標準規格にしたがって実行される請求項記載の再生システム。
  18. コンテンツを解読している間にホストが停止されるか否かを安全なコプロセッサが検出するように、安全なコプロセッサは、ディスク上に記憶されているコンテンツを解読するホストを監視し、ホストが停止されていることが検出されると、安全なコプロセッサは、コンテンツを解読するためにホストによって使用される出力を消去する請求項記載の再生システム。
JP2007200808A 2007-04-11 2007-08-01 暗号化されたプログラムを実行するシステムおよび方法 Active JP4856021B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/733,842 US8181038B2 (en) 2007-04-11 2007-04-11 Systems and methods for executing encrypted programs
US11/733,842 2007-04-11

Publications (2)

Publication Number Publication Date
JP2008263577A JP2008263577A (ja) 2008-10-30
JP4856021B2 true JP4856021B2 (ja) 2012-01-18

Family

ID=39853725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007200808A Active JP4856021B2 (ja) 2007-04-11 2007-08-01 暗号化されたプログラムを実行するシステムおよび方法

Country Status (4)

Country Link
US (1) US8181038B2 (ja)
JP (1) JP4856021B2 (ja)
CN (1) CN101286340B (ja)
TW (1) TWI344640B (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8839002B2 (en) * 2008-04-23 2014-09-16 Cyberlink Corp. Optical media recording device for protecting device keys and related method
EP2400420A1 (en) * 2010-06-28 2011-12-28 Thomson Licensing Method, system and secure processor for executing a software application
TWI421724B (zh) * 2010-10-28 2014-01-01 Chunghwa Telecom Co Ltd 數位資訊權限管理方法
US9197407B2 (en) 2011-07-19 2015-11-24 Cyberlink Corp. Method and system for providing secret-less application framework
KR101930864B1 (ko) * 2012-02-16 2019-03-11 삼성전자주식회사 디바이스 인증을 이용한 디지털 콘텐츠 보호 방법 및 장치
KR101907934B1 (ko) * 2012-02-16 2018-10-15 삼성전자주식회사 전자 장치에서 컨텐츠를 재생하기 위한 장치 및 방법
EP2854066B1 (en) * 2013-08-21 2018-02-28 Nxp B.V. System and method for firmware integrity verification using multiple keys and OTP memory
JP6146476B2 (ja) * 2013-09-30 2017-06-14 富士通株式会社 情報処理装置及び情報処理方法
KR101566882B1 (ko) * 2014-02-07 2015-11-06 (주)이글로벌시스템 암호화된 데이터베이스 모니터링과, 대량 복호화 차단을 위한 시스템 및 그 방법
KR101566145B1 (ko) * 2014-10-23 2015-11-06 숭실대학교산학협력단 모바일 기기 및 상기 모바일 기기의 동작 방법
KR102000861B1 (ko) * 2015-01-27 2019-07-16 애리스 엔터프라이지즈 엘엘씨 스트리밍 미디어 및 다른 데이터 흐름들의 보호를 위한 난독화
KR101834504B1 (ko) * 2016-01-15 2018-03-06 단국대학교 산학협력단 암복호화 장치 및 방법
KR101834522B1 (ko) 2016-04-22 2018-03-06 단국대학교 산학협력단 데이터 확인 장치 및 이를 이용하여 데이터를 확인하는 방법
EP3293653A1 (en) * 2016-09-09 2018-03-14 Nagravision S.A. A system for decrypting and rendering content
CN111859417B (zh) * 2020-06-23 2024-03-29 天地融科技股份有限公司 一种安全显示控制的方法及装置

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2163577B (en) * 1984-08-23 1988-01-13 Nat Res Dev Software protection device
US5146575A (en) * 1986-11-05 1992-09-08 International Business Machines Corp. Implementing privilege on microprocessor systems for use in software asset protection
US4916738A (en) * 1986-11-05 1990-04-10 International Business Machines Corp. Remote access terminal security
US5757919A (en) 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
JP2001043139A (ja) * 1999-07-29 2001-02-16 Pioneer Electronic Corp 信号処理装置及びそれに用いる情報記録媒体
ATE348382T1 (de) 2000-01-13 2007-01-15 Koninkl Philips Electronics Nv Verfahren zum schutz des komprimierten inhaltes nach trennung von originaler quelle
JP2001265744A (ja) * 2000-03-17 2001-09-28 Sony Corp データ処理装置及びデータ処理方法
JP2001338271A (ja) * 2000-03-23 2001-12-07 Matsushita Electric Ind Co Ltd Icカード及びicカード利用システム
JP2002247528A (ja) * 2001-02-19 2002-08-30 Funai Electric Co Ltd 画像再生装置
JP2003008567A (ja) 2001-06-19 2003-01-10 Matsushita Electric Ind Co Ltd 著作権保護システム
US7203319B2 (en) * 2001-07-09 2007-04-10 Qualcomm, Inc. Apparatus and method for installing a decryption key
HUP0401720A2 (hu) * 2001-09-27 2005-07-28 Matsushita Electric Industrial Co., Ltd. Kódoló, dekódoló, és titkos kulcsot képző eszközé és eljárás, valamint eszközkészlet szerzői jog védelmére és távközlési eszköz titkosított összeköttetés létesítésére
JP2003256061A (ja) 2002-03-04 2003-09-10 Matsushita Electric Ind Co Ltd 組込み機器
JP3964733B2 (ja) 2002-05-15 2007-08-22 富士フイルム株式会社 撮像装置及び画像データ受渡方法
JP4084974B2 (ja) * 2002-08-20 2008-04-30 株式会社ケンウッド データ記録システム、データ記録装置、データ記録方法及びプログラム
US20040190721A1 (en) * 2003-03-24 2004-09-30 Microsoft Corporation Renewable conditional access system
JP4375995B2 (ja) * 2003-04-30 2009-12-02 ローム株式会社 デバイス鍵保護方法およびその方法を利用可能な暗号化装置と復号装置ならびに映像送信装置と映像受信装置
US20050071656A1 (en) * 2003-09-25 2005-03-31 Klein Dean A. Secure processor-based system and method
EP1688816A4 (en) * 2003-11-28 2012-04-25 Panasonic Corp DATA PROCESSING DEVICE
KR100556829B1 (ko) * 2003-12-26 2006-03-10 한국전자통신연구원 세션키를 이용한 유료방송 서비스 제공 방법
US20060047976A1 (en) * 2004-08-25 2006-03-02 General Instrument Corporation Method and apparatus for generating a decrpytion content key
JP4592398B2 (ja) 2004-11-22 2010-12-01 株式会社東芝 情報記録再生方法及び装置、情報記録媒体
CN1288527C (zh) * 2005-01-10 2006-12-06 北京太极英泰信息科技有限公司 计算机安全控制装置及其安全保护控制方法
US7546471B2 (en) * 2005-01-14 2009-06-09 Microsoft Corporation Method and system for virus detection using pattern matching techniques
JP2006203564A (ja) * 2005-01-20 2006-08-03 Nara Institute Of Science & Technology マイクロプロセッサ、ノード端末、コンピュータシステム及びプログラム実行証明方法
JP4600750B2 (ja) * 2005-01-31 2010-12-15 ソニー株式会社 データ処理回路、データ処理装置、データ処理方法、データ処理制御方法、データ処理プログラム及びデータ処理制御プログラム
JP4596247B2 (ja) 2005-01-31 2010-12-08 ソニー株式会社 データ処理回路、データ処理装置、データ処理方法、データ処理制御方法、データ処理プログラム及びデータ処理制御プログラム
JP4606339B2 (ja) * 2005-02-07 2011-01-05 株式会社ソニー・コンピュータエンタテインメント セキュアなプロセッサの処理の移行を実施する方法および装置
DE602005010428D1 (de) * 2005-08-04 2008-11-27 Dibcom Verfahren, Vorrichtung und Computerprogramm zur Datenentschlüsselung
JP2007089056A (ja) * 2005-09-26 2007-04-05 Funai Electric Co Ltd 機器の遠隔制御システムおよび光信号発信装置
KR100662464B1 (ko) * 2005-09-28 2007-01-02 엘지전자 주식회사 멀티미디어 단말기
EP1846863B1 (en) * 2005-10-31 2010-04-21 Nero AG Hardware multimedia endpoint and personal computer
US20070110408A1 (en) * 2005-11-14 2007-05-17 Chi-Lun Chang Device for displaying boot animation of optical disc player and method thereof
US20070126555A1 (en) * 2005-12-06 2007-06-07 Symbol Technologies, Inc. Method and system for optimizing radio frequency identification (RFID) reader operation
US20070162964A1 (en) * 2006-01-12 2007-07-12 Wang Liang-Yun Embedded system insuring security and integrity, and method of increasing security thereof
US7660769B2 (en) * 2006-09-12 2010-02-09 International Business Machines Corporation System and method for digital content player with secure processing vault

Also Published As

Publication number Publication date
TW200841329A (en) 2008-10-16
JP2008263577A (ja) 2008-10-30
CN101286340A (zh) 2008-10-15
US8181038B2 (en) 2012-05-15
US20080253563A1 (en) 2008-10-16
TWI344640B (en) 2011-07-01
CN101286340B (zh) 2011-01-12

Similar Documents

Publication Publication Date Title
JP4856021B2 (ja) 暗号化されたプログラムを実行するシステムおよび方法
JP4838209B2 (ja) ハードウェア駆動型プログラムを実行するためのシステムおよび方法
US8234217B2 (en) Method and system for selectively providing access to content
EP1642206B1 (en) Reprogrammable security for controlling piracy and enabling interactive content
US20050201726A1 (en) Remote playback of ingested media content
TWI487375B (zh) 確保重放內容之方法及裝置
US8837908B2 (en) Systems and methods for performing secure playback of media content
US9197407B2 (en) Method and system for providing secret-less application framework
KR20010085892A (ko) 복사 방지 시스템 및 방법
US20110010778A1 (en) Standalone solution for serial copy management system (scms) compliance
KR20150083925A (ko) 보호 컨텐츠로의 액세스를 제어하는 시스템 및 방법
US8407808B2 (en) Security thread for protecting media content
US20110103769A1 (en) Secure time and space shifted audiovisual work
US8302200B2 (en) Protected intra-system interconnect for digital rights management in electrical computers and digital data processing systems
JP2008011219A (ja) 電子透かし埋込システム、装置及びプログラム
US9026794B2 (en) Information processing device and information processing method, and program
US20160112379A1 (en) Apparatus for and method of playing back content
US8856949B2 (en) Systems and methods for detecting authorized players
US20130042102A1 (en) Information processing device and information processing method, and program
Hirai A Study on Access Control Mechanism in Storage Devices for Audiovisual Contents
JP2009043371A (ja) 光ディスク再生装置、および光ディスク再生装置の制御方法
Peinado Digital Rights Management and Windows Media Player
Furht et al. Digital Rights Management for Multimedia
KR20140129694A (ko) Drm 방식으로 암호화된 멀티미디어 컨텐츠를 재생하는 단말 장치 및 방법
JP2007049306A (ja) 映像情報受信装置、集積回路装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101116

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110216

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110905

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110927

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111027

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141104

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4856021

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250