説明

ハードウェア駆動型プログラムを実行するためのシステムおよび方法

【課題】暗号化されたコンテンツを記憶させてアクセスするシステムおよび方法を記述する。
【解決手段】少なくとも1つの実施形態は、暗号化されたコンテンツを記憶させてアクセスし、安全なハードウェアデバイスを具備しているシステムを含む。安全なハードウェアデバイスは、メモリに結合され、信頼されたモジュールを備え、離れた位置からのコンテンツを受け取るように構成され、コンテンツを暗号化し、コンテンツを解読するためのキーを発生させるように構成されている。システムは、ロジックをさらに具備しており、ロジックは、メモリ内に記憶され、暗号化されたコンテンツにアクセスするように構成され、複数の解読モジュールおよび少なくとも1つのデコーダを備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、一般的に、データの暗号化に関する。さらに詳細に述べると、ハードウェアとソフトウェアとの組み合わせによって、暗号化されたコンテンツを記憶させてアクセスするシステムに関する。
【背景】
【0002】
年々、消費者の間でデジタルビデオコンテンツの人気が高まっている。ブロードキャスト、ケーブル、オンデマンド方式、固定媒体、およびマルチメディアコンテンツの他の利用可能なソースを通して消費者にとって利用可能なオーディオコンテンツおよびビデオコンテンツの量が増加しており、消費者が容易にアクセスおよびプログラミングできるコンテンツの量が増加している。さらに、簡単に利用可能である多くのデバイス(例えば、PC、DVDレコーダ)およびサービスによって、消費者は、オンデマンドビデオおよびオーディオコンテンツを記録、タイムシフト、または表示させることができる。さらに、ビデオサービスを配信するIPTV(インターネットプロトコルテレビ)のような、ダウンロード可能なコンテンツの形態でインターネットおよび他のデータサービスを通して利用可能になっているビデオコンテンツの量も増加している。
【0003】
一般的に、ビデオコンテンツは、例えば、MPEG−1、MPEG−2、またはDV(デジタルビデオ)のような任意の数の一般的なフォーマットで記憶される。同様に、オーディオコンテンツは、例えば、MP3、WAV、またはMPEGオーディオのような任意の数の一般的なデジタルフォーマットで記憶される。非常に数多くのデジタルフォーマットでマルチメディアコンテンツを利用可能にすると、可搬性の度合いが高いことからマルチメディアコンテンツの配布がより容易になる。残念なことに、技術によってマルチメディアコンテンツの配布が容易になることが続くと、マルチメディアコンテンツの配信、オーディオ/ビジュアルの作品の著作権侵害もまた年々急増する。例えば、インターネットを通して、マルチメディアコンテンツへのアクセスおよびマルチメディアコンテンツのコピーを容易にできることから、ビデオおよびオーディオの著作権侵害は、継続的な問題であり続ける。
【0004】
マルチメディアコンテンツの認証されていないコピーおよび配布に対応するために、オーディオ/ビジュアル作品の発行元および製作者は、デジタルコンテンツへのアクセスを制御する技術に頼っている。用語、デジタル権利マネンジメント(DRM)は、一般的に、マルチメディアコンテンツに対する制限されたアクセスを実現するために使用される技術を表している。このようなDRM技術は、暗号化を用いて、コンテンツへのアクセスを制御するマルチメディアプレイヤーソフトウェアを含む多くのさまざまな技術に基づいている。しかしながら、ソフトウェアアプリケーションを使用して、暗号化されたコンテンツへのアクセスを制御する1つの明らかな欠点は、多くのケースにおいて、このソフトウェアがアクセスされてリバースエンジニアリングされることである。一般的に、パーソナルコンピュータがオープンな環境で動作すると仮定すると、マルチメディアコンテンツを保護することが課題である。いくつかの例では、保護されたエリアのメモリから保護されていないエリアのメモリにソフトウェアコードを移動することができ、保護されていないエリアのメモリにおいて、コードは詳細に分析され、解析される。さらに、オープンメモリ中に存在するマルチメディアソフトウェアアプリケーションを解析し、暗号化キーが記憶されている正確なメモリの位置を決定することも可能である。適切なツールにより、これらの暗号化キーを保持しているメモリのブロックをダンプして、保護されたコンテンツへのアクセスを獲得することが可能である。したがって、暗号化されたマルチメディアコンテンツを保護するソフトウェアのアプローチには、依然として、保護されていないコンテンツと同一の明らかな欠点がある。
【概要】
【0005】
簡単に記述すると、数ある中の1つの実施形態は、暗号化されたコンテンツを記憶させてアクセスし、安全なハードウェアデバイスを具備するシステムを含む。安全なハードウェアデバイスは、メモリに結合され、信頼されたモジュールを備え、離れた位置からのコンテンツを受け取るように構成されており、コンテンツを暗号化し、コンテンツを解読するためのキーを発生させるように構成されている。システムはロジックをさらに具備している。ロジックは、メモリ内に記憶され、暗号化されたコンテンツにアクセスするように構成され、複数の解読モジュールおよび少なくとも1つのデコーダを備えている。
【0006】
別の実施形態は、ハードウェアデバイスにおいて、離れた位置からのコンテンツを受け取ることと、コンテンツを暗号化し、コンテンツを解読するためのキーを発生させることと、キーを暗号化し、暗号化されたキーを受け取る複数の解読モジュールのうちの少なくとも1つの解読モジュールを選択することと、複数の解読モジュールのうちの1つの解読モジュールに暗号化されたキーを送り、暗号化されたキーは解読されることと、キーを使用して、コンテンツを解読することとを含み、解読モジュールは、メモリ中に記憶されているソフトウェアアプリケーションの一部分である、暗号化されたコンテンツを配信する方法を含む。
【0007】
さらに別の実施形態は、複数の解読モジュールのうちの少なくとも1つの解読モジュールによって、ハードウェアデバイスから暗号化されたキーを受け取ることと、ハードウェアデバイスから暗号化されたコンテンツを受け取ることと、セッションキーを使用して、暗号化されたキーを解読することと、解読されたキーを使用して、暗号化されたコンテンツを解読することと、コンテンツをデコードすることとを含み、キーは、ハードウェアデバイスに記憶されていた暗号化されたコンテンツを解読するために使用される、暗号化されたコンテンツを配信する方法を含む。
【0008】
本開示の他のシステム、方法、機能および効果は、図面および詳細な説明を考察すると、当業者に明らかであり、または明らかになるだろう。すべてのこのような付加的なシステム、方法、機能、および効果は、本開示の範囲内である詳細な説明内に含まれ、そして、添付した特許請求の範囲によって保護されることを意図している。
【0009】
暗号化されたコンテンツを記憶させて配信するシステムおよび方法の多くの観点は、図面を参照すると、よりよく理解することができる。必ずしも図面中のコンポーネントはスケーリングされていないが、代わりに、ここで開示した原理を明瞭に図示する際に強調がなされている。さらに、図面における同一の参照符号は、いくつかの図面にわたって対応している部分を示している。
【詳細な説明】
【0010】
本開示のさまざまな観点を要約して、図面で図示しているような開示の説明をこれから詳細に参照する。これらの図面に関連して本開示を記述するが、ここで開示する1つ以上の実施形態に開示を限定する意図はない。反対に、添付した特許請求の範囲によって規定されているような本開示の精神および範囲内に含まれているすべての代替実施形態、修正および均等物を対象とすることを意図している。
【0011】
暗号化されたマルチメディアコンテンツを記憶させてアクセスするシステムおよび方法の実施形態を開示する。背景において説明したように、ソフトウェアを使用する従来のアプローチで見出された1つの明らかな欠点は、コンピュータが動作するのはオープンな環境であることから、保護されているエリアのメモリから保護されていないエリアのメモリにソフトウェアコードを移動することができ、保護されていないエリアのメモリにおいて、コードは詳細に分析され、解析されることである。多くの場合、一般的に、コンピュータメモリ自体へのアクセスが制限されていないことから、コンピュータメモリ中に存在するマルチメディアソフトウェアアプリケーションを解析すると、暗号化キーが記憶されている正確なメモリの位置を決定することがさらに可能である。適切なツールにより、これらの暗号化キーを保持しているメモリのブロックをダンプして、保護されたコンテンツにアクセスすることが可能である。
【0012】
ここで開示したある実施形態のシステムでは、ハードウェアとソフトウェアとの間でマルチメディアコンテンツの記憶、解読、およびデコードを分けることによって、これらの認識されている欠点に取り組んでいる。ハードウェアとソフトウェアとの組み合わせを使用して、ソフトウェアの改ざんの可能性を無くすことによってソフトウェアコードを安全に実行する。いくつかの実施形態では、ハードウェア駆動型プログラムを実行するためのシステムは、オープンシステムのメモリに結合されている安全なハードウェアデバイスを具備しており、この安全なハードウェアウェアデバイスは、暗号化されたマルチメディアコンテンツを記憶させて提供するように構成されている。システムは、システムメモリ内に記憶されているロジックをさらに具備しており、このロジックは、暗号化されたマルチメディアコンテンツにアクセスしてデコードするように構成されている。ここで説明する実施形態の場合、ハードウェアデバイスには、オープンなアーキテクチャ環境中にあるメモリを読んだり変更したりする能力があることを正しく認識すべきである。また、ロジックはオープンメモリ中に存在しているので潜在的にアクセス可能であるが、これに対して、マルチメディアコンテンツおよび解読キーはハードウェア中に安全に記憶されていることをさらに正しく認識すべきである。
【0013】
図1は、暗号化されたコンテンツを配信するシステムの実施形態のトップレベルのフロー図を図示している。システムは、保護されたコンテンツを記憶させるように構成されている安全なハードウェアデバイス120を具備している。一般的に、保護されたコンテンツは、コンテンツに対して条件付きアクセスを提供するために暗号化されているコンテンツに関連する。暗号化プロセスおよび解読プロセスは、データを保護するアルゴリズムによって使用されるキーに依存する。いくつかの例において、暗号化プロセスおよび解読プロセスに対して異なるキーが使用されてもよい。データの実際の暗号化は多くの方法で行われ、そして、このデータの実際の暗号化は本開示の範囲外であることに留意すべきである。
【0014】
いくつかの実施形態では、暗号化されたコンテンツは、例えば、インターネット150のようなネットワーク環境150を通してハードウェアデバイス120によって受け取られてもよい。このような実施形態の場合、パーソナルコンピュータまたはサーバのようなネットワーク上の別のノード152が、暗号化されている形態で、ネットワーク150を通してハードウェアデバイス120にマルチメディアコンテンツを送ってもよい。他の実施形態では、暗号化されたコンテンツは、ケーブルオペレータのようなサービスプロバイダから受け取られてもよい。このような実施形態では、暗号化されたコンテンツは、ケーブルテレビの信号を加入者に配信する設備に設置されているケーブルテレビヘッドエンド162から送られてもよい。さらに、例えば、B-CAS(株式会社ビーエスコンディショナルアクセスシステムズ)といったISDB−CASシステム(統合デジタル放送サービスのコンディンショナルアクセスシステム)164のオペレータからの暗号化されたコンテンツが、ハードウェアデバイス120によって受け取られてもよい。これらのシステムでは、加入者が、メディアコンテンツに条件付きアクセスできるように、デジタルメディアコンテンツは、ケーブルネットワークを通して、暗号化された形態で加入者に送られる。
【0015】
いくつかの実施形態では、ハードウェアデバイス120内のCA(条件付きアクセス)インターフェイス122が、離れた位置からの、暗号化されているまたはスクランブルされている信号を受け取って、コンテンツをローカル的に解読する。いくつかの実施形態では、CAインターフェイス122が、単に、オペレータから受け取ったハードウェア(例えば、B-CASカード)を組み込み、サービスプロバイダから受け取った信号を解読してもよい。一度、ハードウェアデバイス120がコンテンツを解読すると、今度はハードウェアデバイス120内でローカル的に発生されたキーを使用して、ハードウェアデバイス120内の信頼されたモジュール124がもう一度コンテンツを暗号化する。ランダムベースで解読キーを変えるにあたって十分な柔軟性を維持するために、コンテンツが、ハードウェアデバイス120によってもう一度暗号化されることに留意すべきである。ハードウェアデバイス120は、コンテンツを解読する際に使用すべきキーを発生させ、このキーをルーティングする場所を選択する。
【0016】
マルチメディアコンテンツは、MPEG−1、MPEG−2、MPEG−4、H.264、3GPP、3GPP−2、標準規格精細ビデオ(SDビデオ)、高精細ビデオ(HDビデオ)、デジタルビデオディスク(DVD)マルチメディア、ビデオコンパクトディスク(VCD)マルチメディア、高精細デジタルビデオディスク(HD−DVD)マルチメディア、デジタルテレビビデオ/高精細デジタルテレビ(DTV/HDTV)マルチメディア、AVI、DV、クイックタイム(QT)ファイル、ウィンドウズ(登録商標)メディアオーディオ(WMA)、ウィンドウズメディアビデオ(WMV)、拡張システムフォーマット(ASF)、あるいは任意の数の他の一般的なデジタルマルチメディアフォーマットを含む、任意の数のフォーマットでエンコードされてもよいが、これらに限定されるものではないことに留意すべきである。上記の例示的なフォーマットは単なる例であり、そして暗号化されたマルチメディアコンテンツを記憶させてアクセスするシステムおよび方法のさまざまな実施形態は、マルチメディアメディアコンテンツの最も広い範囲の意味で、何らかのタイプのマルチメディアコンテンツを対象とすることを意図している。
【0017】
図1中のシステムは、パーソナルコンピュータまたはラップトップのようなコンピューティングシステム110のメモリ中に記憶させるソフトウェアアプリケーション140をさらに具備している。ソフトウェアアプリケーション140を実行するコンピューティングシステム110は、ディスプレイ112と、例えば、キーボードまたはマウスのようなユーザ入力デバイス114とを備えていてもよい。ソフトウェアアプリケーション140は、解読モジュール142とデコーダ144とをさらに備えていてもよい。解読モジュール142は、信頼されたモジュール124によって送られたキーを使用して、ハードウェアデバイス120から受け取った保護されているコンテンツを解読する。好ましい実施形態では、ソフトウェアアプリケーションは、複数の解読モジュール142を備えている。システムが初期化されるとき、さまざまな解読モジュール142の存在がハードウェアデバイス120に通知される。解読モジュール142の存在がハードウェアデバイス120に通知されるには、これらの解読モジュール142のそれぞれのメモリアドレスをハードウェアデバイス120に送ることが必要である。いくつかの実施形態では、暗号化されたコンテンツを解読するためのキーを受け取る解読モジュール142のうちの1つの解読モジュールを、ハードウェアデバイス120がランダムに選択する。コンピューティングシステム110上でコンテンツを表示することができるように解読された後に、デコーダ144がマルチメディアコンテンツをデコードする。
【0018】
コンピューティングシステム110は、任意のカスタムメードまたは商業的に入手可能なプロセッサ、中央処理ユニット(CPU)、(マイクロチップの形態の)半導体ベースのマイクロプロセッサ、マクロプロセッサ、1つ以上の特定用途向け集積回路(ASIC)、複数の適切に構成されているデジタルロジックゲート、ならびにコンピューティングシステム110の全体的な動作を個々に、およびさまざまな組み合わせで調整するディスクリート素子を含む他の周知の電気構成を含むことが可能である。
【0019】
ソフトウェアアプリケーション140が存在するメモリは、揮発性メモリ素子(例えば、DRAMおよびSRAMのようなランダムアクセスメモリ(RAM))と不揮発性メモリ素子(例えば、ROM、ハードドライブ、テープ、CDROM等)との組み合わせのうちのいずれか1つを含むことができる。メモリは、一般的に、ネイティブオペレーティングシステム、1つ以上のネイティブアプリケーション、エミュレーションシステム、あるいはさまざまなオペレーティングシステムおよび/またはエミュレートされたハードウェアプラットフォームのうちのいずれかのもののためのエミュレートされたアプリケーション、エミュレートされたオペレーティングシステム等を含む。例えば、アプリケーションは、特定用途ソフトウェアを含んでいてもよい。一般的に、メモリは、簡略する目的で省略されている他のコンポーネントを含むことができ、そして含むことになることを当業者は正しく認識するだろう。
【0020】
ハードウェアデバイス120は、カテゴリ5(CAT−5)接続、IEEE−1394高性能シリアルバス(ファイヤワイヤ)接続、ユニバーサルシリアルバス(USB)接続、シリアル接続、並列接続、あるいはワイヤレス接続を含む任意の数の一般的なインターフェイスを通して、ソフトウェアアプリケーション140が存在するコンピューティングシステム110に結合されていてもよいが、これらに限定されるものではない。代替実施形態では、ハードウェアデバイス120およびソフトウェアアプリケーション140は、コンピューティングシステム110内のPCカードのようなカード上に共に組み込まれてもよいことに留意すべきである。このような実施形態では、ハードウェアデバイス120が、システムバスを通して(ソフトウェアアプリケーション140が存在する)システムメモリに結合されるように、ハードウェアデバイス120は集積回路であってもよい。
【0021】
図2Aをこれから参照すると、図2Aは、暗号化されたコンテンツを配信するシステムの実施形態の機能的なブロック図を図示している。(当業者が)システムを理解するために不可欠でないいくつかのコンポーネントは、簡略する目的のために省略されていることに留意すべきである。システムはハードウェアデバイス210とソフトウェアアプリケーション230とを具備している。ソフトウェアアプリケーション230は、一般的に、ハードウェアデバイス210によって受け取られたコンテンツを表示するために使用されるPCまたはラップトップのようなコンピューティングシステムのメモリ中に記憶されているソフトウェアに関連する。ハードウェアデバイス210は、暗号化されているまたはスクランブルされているコンテンツ214をサービスプロバイダから受け取ると、例えば、CAインターフェイス122によって、受け取ったコンテンツを解読する。ハードウェアデバイス210は、信頼されたモジュール216をさらに備えており、信頼されたモジュール216は、解読されたコンテンツをローカル的に暗号化して、受け取ったコンテンツを解読するソフトウェアアプリケーション230によって後に使用されるキー218を発生させるように構成されている。
【0022】
キー218を受け取るソフトウェアアプリケーション230中に位置付けられている複数の解読モジュール232、234、236、238のうちの1つの解読モジュールを選択する権限を、信頼されたモジュール216が持っている。複数の解読モジュール232、234、236、238は、解読キー218を区別することをより困難にするために、安全性の目的に利用されることを正しく認識すべきである。さらに、いくつかの実施形態では、さまざまな解読モジュール232、234、236、238が、それぞれ異なった権限レベルを持ち、これは、異なるタスクをモジュールが完了できるようにする。したがって、初期化されるときに、ハードウェアデバイス210上に現在記憶されているコンテンツを解読するために必要とされる権限を持つ複数の解読モジュール232、234、236、238が、ハードウェアデバイス210によって識別される。そして、ハードウェアデバイス210内の信頼されたモジュール216が、適切な権限レベルを持っている解読モジュール232、234、236、238の中で選択を行う。したがって、いくつかの実施形態では、ターゲットの解読モジュールの選択は、すべての利用可能な解読モジュールから、または利用可能な解読モジュールのサブセットから行われてもよく、このことによってキーの正確な位置を決定することがより困難になる。キー218を取り出すために、メモリのブロックを単にコピーまたは転送することができないように、発生されたキー218はハードウェア中に記憶されることも正しく認識すべきである。最後に、4つの解読モジュールを図2Aに示したが、異なる実施形態では、異なる数のモジュールを備えていてもよいことに留意すべきである。
【0023】
いくつかの実施形態では、コンテンツを解読するためのキー218を受け取るソフトウェアアプリケーション230内の新しい解読モジュール232、234、236、238を、信頼されたモジュール216が周期的(または、他の実施形態では非周期的)に選択する。安全なコンテンツを解読するために使用されるキー218の区別をより困難にするために、この選択は、周期的(または非周期的)に、またはランダム式で行われてもよい。周期的(または非周期的)に、およびランダム式で選択が行われることによって、キー218の正確な位置は所定の任意のときに不明であるので、安全性が向上することに留意すべきである。
【0024】
実際に、解読キー218を送る前に解読モジュール234が選択されると、信頼されたモジュール216は、最初に、ターゲットの解読モジュール234と通信セッションを開始する。好ましい実施形態の場合、信頼されたモジュール216が、さまざまな解読モジュール232、234、236、238に直接インターフェイスすることに留意すべきである。さまざまな解読モジュールに直接インターフェイスすることは、ソフトウェアアプリケーション230によるキーの取り扱いを最小限にするのに役立ち、その結果、ソフトウェアアプリケーション230が存在するメモリを不正操作することによるキーへのアクセスの可能性が減少することになる。
【0025】
これから簡単に図2Bを参照すると、図2Bは、図2Aにおける解読モジュールにキーを配信するデータフロー図を図示している。ハードウェアデバイス210からソフトウェアアプリケーション230への送信中の不正操作から、または認証されていないアクセスからキー218を守るために、キー218自体が、ターゲットの解読モジュール234に送られる前に暗号化される。安全な通信セッションは、予め定められたセッションキー219を使用して、キー218を暗号化することによって確立される。信頼されたモジュール216と解読モジュール232、234、236、238の両者は、セッションキー219にアクセスすることができるので、解読モジュール232、234、236、238のそれぞれが、暗号化されたキーを解読する機能を持つ。ハードウェアデバイス210およびソフトウェアアプリケーション230中に含まれているセッションキーが、それぞれ、完全に同一のキーであっても、完全に同一のキーでなくてもよいことを当業者は正しく認識すべきである。認証されていないユーザが、ハードウェアデバイス210とソフトウェアアプリケーション230との間でデータの送信を監視することを試みたとしても、予め定められたセッションキー219を使用して、キー218を暗号化することによって、安全性が維持される事実を強調する。
【0026】
図2Aに戻って参照する。ターゲットの解読モジュール234に暗号化されたキーが送られると、ハードウェアデバイス210は、ソフトウェアアプリケーション230中に位置付けられているコンテンツルータ242に暗号化されたコンテンツ214を送る。特に、コンテンツルータ242は、暗号化されたコンテンツを受け取ると、コンテンツを解読するためのキー218を受け取るように選択されている解読モジュール234に、この暗号化されたコンテンツを転送する。したがって、いくつかの実施形態では、コンテンツのサイズが大変大きいので、コンテンツは、キー218とは部分的に異なった適切なパスを通して移動される。これによって、解読/デコードするために、他のコンテンツに対してあるコンテンツを優先するか否かをソフトウェアアプリケーション242が決定することもできる。例えば、ある特定のコンテンツの一部のみが暗号化されている場合、そのコンテンツが最初に処理されてもよい。他の実施形態では、コンテンツは、解読モジュール232、234、236、238によって直接受け取られてもよいことにも留意すべきである。
【0027】
コンテンツが一度解読されると、解読されたコンテンツは、さらなる処理のためにデコーダ240に転送される。マルチメディアのデジタルフォーマット(例えば、MPEG−1またはMPEG−2)に基づいて、適切なデコードスキームが利用される。例えば、マルチメディアコンテンツが、テレビまたはモニタのようなディスプレイ250上で表示される。好ましい実施形態では、デコーダは、証明出力保護プロトコル(COPP)、広帯域デジタルコンテンツ保護(HDCP)、アナログコンテンツ保護(ACP)、またはコピー世代管理システム(CGMS)のような、いくつかのタイプの限定されたアクセスメカニズムを組み込んでいるデバイスのみに、デコードされたコンテンツを出力する。最後に、いくつかの実施形態では、信頼されたモジュール216が、ソフトウェアアプリケーション230の完全性を監視し、認証されていないユーザからのあらゆる種類の不正操作を検出するように構成されていてもよい。非限定的な例として、信頼されたモジュール216は、コード実行における何らかの停止に関してソフトウェアアプリケーションを監視してもよい。別の非限定的な例として、ソフトウェアアプリケーション230が位置付けられているメモリに対して行われる何らかの修正を、信頼されたモジュール216が監視してもよい。
【0028】
図3は、暗号化されたコンテンツを配信するシステムの代替実施形態の機能的なブロック図を図示している。図3に図示しているように、ハードウェアデバイス310は、将来のアクセスのために、マルチメディアコンテンツ314を安全に記憶している。ハードウェアデバイス310は、信頼されたモジュールプロセッサ316をさらに備えている。図3における実施形態の場合、信頼されたモジュールプロセッサ316は、複数のキー318、320、322、324を含んでいてもよい。しかしながら、複数のキーのうちの1つのキーのみが、安全なコンテンツ314を解読することができる真キー318である。他の「偽」キー320、322、324を使用して、安全なコンテンツ314を解読することは不可能である。さらに、解読モジュール332、334、336、338のうちのどの解読モジュールが実際に機能するキー318を持っているかを決定することをより困難にするために、他の「偽」キー320、322、324は安全対策として利用される。
【0029】
初期化されるとき、ソフトウェアアプリケーション330が、解読モジュール332、334、336、338のそれぞれの存在をハードウェアデバイス310に再度通知する。示している図の場合、信頼されたモジュールプロセッサ316からキー318を受け取る解読モジュールAの332は、ハードウェアデバイス310によって選択される。「偽」キー320、322、324は、残りの解読モジュールBの334、解読モジュールCの336、解読モジュールDの338に送られる。真キー318および偽キー320、322、324が送られる前に、信頼されたモジュール316は、最初に、解読モジュール332、334、336、338と通信セッションを開始する。キー318、320、322、324は、すべて暗号化されて解読モジュール332、334、336、338に送信される。図2Aに対して説明したように、キー318、320、322、324が受け取られると、解読モジュール332、334、336、338は、それぞれ、セッションキーを使用して、解読モジュールのそれぞれのキーを解読する。図3に示しているように、真キーおよび偽キーの送信は、安全な送信リンクによって送られる。
【0030】
ターゲットの解読モジュール332に暗号化されたキーが送られると、ハードウェアデバイス310がコンテンツルータ342に暗号化されたコンテンツ314を送り、そして、機能する真キー318を受け取った、認証されている解読モジュール332に、コンテンツルータ342がコンテンツ314を転送する。受け取ったキー318を使用してコンテンツが解読された後に、解読モジュール332が、さらなる処理のために、デコーダ340にコンテンツを転送する。マルチメディアコンテンツのデジタルフォーマット(例えば、MPEG−1またはMPEG−2)に基づいて、適切なデコードスキームが利用される。そうすると、マルチメディアコンテンツが、例えば、テレビまたはモニタのようなディスプレイ350上で表示される。
【0031】
図4は、暗号化されたコンテンツを配信するシステムのさらに別の実施形態の機能的なブロック図を図示している。示している実施形態の場合、マルチメディアコンテンツ414のビデオ部分およびオーディオ部分は、さらなるレベルの保護を実現するために、別々に記憶されて暗号化される。いくつかの実施形態では、信頼されたモジュールプロセッサが、解読モジュール432、434、436、438のうちの1つの解読モジュールを選択して、安全な接続を通してキー418を転送する。暗号化されたキー418が受け取られると、ターゲットの解読モジュール434が、セッションキーを使用して、暗号化されたキー418を解読する。他の実施形態では、マルチメディアコンテンツのビデオ部分およびオーディオ部分に対して、別々のキーが発生されてもよい。さらに他の実施形態では、マルチメディアコンテンツのビデオ部分およびオーディオ部分が、完全に分離された独立した解読パスを通して流れるように、別々の組の解読モジュールとともに別々のキーが実現されてもよい。1つのキー418のみを図4に示しているが、(真キー、およびさまざまな「偽」キーを伴っている)図3に図示している複数のキー構成のような他の構成も、同様に実現されることに留意すべきである。
【0032】
図5は、図2から図4におけるハードウェアデバイスの観点から、暗号化されたコンテンツを配信する方法の実施形態のフローチャートを図示している。図5における実施形態は、ブロック510において、ハードウェアデバイスにおいて、離れた位置からのコンテンツを受け取ることを含む。次に、ステップ520において、コンテンツが暗号化され、コンテンツを解読するための対応するキーが発生される。安全性の目的ためにキーが暗号化されると、解読モジュールのうちの1つの解読モジュールが、暗号化されたキーを受け取るために選択される(ブロック530)。次に、キーは、解読されたモジュールに送られる(ブロック540)。最後に、ブロック550において、コンテンツが、キーを使用して解読される。
【0033】
図6は、図2から図4におけるソフトウェアアプリケーションの観点から、暗号化されたコンテンツを配信する方法の実施形態のフローチャートを図示している。図6における実施形態は、以下のことを含む。最初に、暗号化されたキーが、ハードウェアデバイスから受け取られる(ステップ610)。次に、暗号化されたコンテンツが、ソフトウェアアプリケーションによって受け取られる(ステップ620)。セッションキーを使用して、暗号化されたキーが解読される(ステップ630)。ステップ640において、受け取られたコンテンツが、キーを使用して解読される。最後に、解読されたコンテンツが、デコードされる(ステップ650)。
【0034】
本開示の実施形態は、ハードウェア、ソフトウェア、ファームウェア、あるいはこれらの組み合わせたもので実現することができる。いくつかの実施形態では、メモリ中に記憶され、適切な命令実行システムによって実行されるソフトウェアまたはファームウェア中で方法およびシステムが実現される。代替の実施形態のように、ハードウェアで実現される場合、方法およびシステムは、すべて周知である技術、例えば、データ信号でロジック機能を実現するロジックゲートを有するディスクリートロジック回路、適切な組み合わせロジックゲートを有する特定用途向け集積回路(ASIC)、1つ以上のプログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)等の技術を組み合わせたもの、あるいはこれらの技術のうちのいずれかのもので実現することができる。
【0035】
フローチャート中のあらゆるプロセスの記述またはブロックは、プロセスにおける特定の論理的機能またはステップを実現する1つ以上の実行可能な命令を含んでいるモジュール、セグメント、またはコードの部分を提示しているとして理解すべきである。さらに、代替実施形態は本開示の実施形態の範囲内に含まれており、この場合、機能は、本開示の当業者によって理解されているように、関係ある機能性に基づいて、実質的に同時であることを含む、説明したまたは示した本開示の実施形態から外れた順序で、または逆の順序で実行されてもよい。
【0036】
ここで記述したソフトウェアアプリケーションのさまざまな実施形態は、ロジック機能を実現するために実行可能な命令の順序付けされたリストを含み、命令実行システム、装置またはデバイスによる使用のために、あるいは、命令実行システム、装置またはデバイスとともに使用するために、任意のコンピュータ読取可能な媒体で具現化することができる。命令実行システム、装置またはデバイスは、命令実行システム、装置またはデバイスからの命令をフェッチして、その命令を実行できるコンピュータベースシステム、プロセッサ搭載システムのようなものである。この文書の状況では、「コンピュータ読取り可能な媒体」は、命令実行システム、装置またはデバイスによって使用されるプログラムを、またはこれらに関連して使用されるプログラムを含有、記憶、通信、伝搬または移動させることができる何らかの手段である。コンピュータ読取り可能な媒体は、例えば、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、デバイス、あるいは伝搬媒体であってもよいが、これらのものに限定されるものではない。コンピュータ読取可能な媒体のさらなる特定の例(網羅されていないリスト)には、1以上のワイヤを持つ電気接続(電子)、ポータブルコンピュータディスケット(磁気)、ランダムアクセスメモリ(RAM)(電子)、リードオンリーメモリ(ROM)(電子)、消去可能プログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)(電子)、光ファイバ(光学)、およびポータブルコンパクトディスクリードオンリーメモリ(CDROM)(光学)が含まれる。さらに、コンピュータ読取可能な媒体は、紙またはプログラムが印刷される別の適切な媒体であってもよく、例えば、紙または他の媒体の光学スキャンによって、電子的にプログラムが取り込まれると、このプログラムは、コンパイルされ、または組み込まれ、さもなければ必要に応じて適切な方法で処理され、コンピュータメモリ中に記憶されることに留意すべきである。さらに、本開示の範囲には、ハードウェア構成の媒体またはソフトウェア構成の媒体に組み込まれるロジックに本開示の実施形態の機能を組み込むことも含まれている。
【0037】
さらに、先に記述した実施形態は、可能性あるインプリメンテーションの単なる例であることを強調する。本開示の原理から逸脱することなく、先に記述した実施形態に対して多くの変更および修正を実行してもよい。すべてのこのような変更および修正は本開示の範囲内に含まれ、特許請求の範囲によって保護されるべきであることが意図されている。
【図面の簡単な説明】
【0038】
【図1】図1は、暗号化されたコンテンツを配信するシステムの実施形態のトップレベルのフロー図を図示している。
【図2A】図2Aは、暗号化されたコンテンツを配信するシステムの実施形態の機能的なブロック図を図示している。
【図2B】図2Bは、図2Aに示した解読モジュールにキーを配信するデータフロー図を図示している。
【図3】図3は、暗号化されたコンテンツを配信するシステムの代替実施形態の機能的なブロック図を図示している。
【図4】図4は、暗号化されたコンテンツを配信するシステムの代替実施形態の機能的なブロック図を図示している。
【図5】図5は、暗号化されたコンテンツを配信する方法の実施形態のフローチャートを図示している。
【図6】図6は、暗号化されたコンテンツを配信する方法の代替実施形態のフローチャートを図示している。

【特許請求の範囲】
【請求項1】
暗号化されたコンテンツを記憶させてアクセスする方法において、
ハードウェアデバイスにおいて、離れた位置からのコンテンツを受け取ることと、
コンテンツを暗号化し、コンテンツを解読するためのキーを発生させることと、
キーを暗号化し、暗号化されたキーを受け取る複数の解読モジュールのうちの少なくとも1つの解読モジュールを選択することと、
複数の解読モジュールのうちの選択された1つ以上の解読モジュールに暗号化されたキーを送り、暗号化されたキーは解読されることと、
キーを使用して、コンテンツを解読することとを含み、
解読モジュールは、メモリ中に記憶されているソフトウェアアプリケーションの一部分である方法。
【請求項2】
キーを受け取る複数の解読モジュールのうちの1つの解読モジュールを選択することは、ランダムな順番で実行される請求項1記載の方法。
【請求項3】
キーを受け取る複数の解読モジュールのうちの1つの解読モジュールを選択することは、周期的に実行される請求項2記載の方法。
【請求項4】
キーを受け取る複数の解読モジュールのうちの1つの解読モジュールを選択することは、非周期的に実行される請求項2記載の方法。
【請求項5】
選択された解読モジュールにキーを送ることは、残りの解読モジュールに偽キーを送ることをさらに含む請求項2記載の方法。
【請求項6】
複数の解読モジュールのうちの少なくとも1つの解読モジュールを選択することは、
予め定められた権限レベルと整合する、対応した権限レベルを持つ解読モジュールを最初に識別することと、
識別された解読モジュールの中から選択することとを含む請求項1記載の方法。
【請求項7】
暗号化されたコンテンツを記憶させてアクセスする方法において、
複数の解読モジュールのうちの少なくとも1つの解読モジュールによって、ハードウェアデバイスから暗号化されたキーを受け取ることと、
ハードウェアデバイスから暗号化されたコンテンツを受け取ることと、
セッションキーを使用して、暗号化されたキーを解読することと、
解読されたキーを使用して、暗号化されたコンテンツを解読することと、
コンテンツをデコードすることとを含み、
キーは、ハードウェアデバイスに記憶されていた暗号化されたコンテンツを解読するために使用される方法。
【請求項8】
複数の解読モジュールのうちの1つの解読モジュールにおいて、ハードウェアデバイスからのキー受け取ることは、ランダム式で実行される請求項7記載の方法。
【請求項9】
選択された解読モジュールにおいてキーを受け取ることは、残りの解読モジュールにおいて偽キーを受け取ることをさらに含む請求項8記載の方法。
【請求項10】
暗号化されたコンテンツを解読することは、マルチメディアコンテンツのビデオ部分およびオーディオ部分を別々に解読することを含む請求項7記載の方法。
【請求項11】
暗号化されたコンテンツを記憶させてアクセスするシステムにおいて、
メモリに結合され、信頼されたモジュールを備え、離れた位置からのコンテンツを受け取るように構成され、コンテンツを暗号化し、コンテンツを解読するためのキーを発生させるように構成されている安全なハードウェアデバイスと、
メモリ内に記憶され、暗号化されたコンテンツにアクセスするように構成され、複数の解読モジュールおよび少なくとも1つのデコーダを備えているロジックとを具備するシステム。
【請求項12】
ロジックは、安全なハードウェアデバイスから暗号化されたコンテンツを受け取り、解読モジュールのうちの1つの解読モジュールにデータをルーティングするように動作するコンテンツルータをさらに備える請求項11記載のシステム。
【請求項13】
安全なハードウェアデバイスは、離れた位置からのマルチメディアコンテンツを受け取る受信機モジュールをさらに備え、マルチメディアコンテンツは暗号化される請求項11記載のシステム。
【請求項14】
安全なハードウェアデバイスは、コンテンツを解読するためのキーを受け取る複数の解読モジュールのうちの1つの解読モジュールを選択するようにさらに構成されている請求項11記載のシステム。
【請求項15】
メモリ中に記憶されているロジックは、暗号化されたコンテンツのビデオ部分およびオーディオ部分を解読する別々の組の解読モジュールをさらに備える請求項11記載のシステム。
【請求項16】
信頼されたモジュールは、メモリ中に記憶されているロジックへの認証されていないアクセスを監視するように構成されている請求項11記載のシステム。
【請求項17】
少なくとも1つのデコーダは、証明出力保護プロトコル(COPP)、広帯域デジタルコンテンツ保護(HDCP)、アナログコンテンツ保護(ACP)、およびコピー世代管理システム(CGMS)のうちの少なくとも1つのものに準拠しているデバイスのみに、デコードされたコンテンツを送る請求項11記載のシステム。
【請求項18】
ハードウェアデバイスは、暗号化されたコンテンツのビデオ部分およびオーディオ部分を解読するための別々のキーを送る請求項15記載のシステム。
【請求項19】
ハードウェアデバイスは、残りの解読モジュールに偽解読キーを送るように構成されている請求項14記載のシステム。
【請求項20】
ハードウェアデバイスは、解読キーを受け取る複数の解読モジュールのうちの1つの解読モジュールをランダムな順番で選択するようにさらに構成されている請求項14記載のシステム。
【請求項21】
ハードウェアデバイスは、解読キーを受け取る複数の解読モジュールのうちの1つの解読モジュールを周期的ベースで選択するようにさらに構成されている請求項14記載のシステム。
【請求項22】
ハードウェアデバイスは、解読キーを受け取る複数の解読モジュールのうちの1つの解読モジュールを非周期的ベースで選択するようにさらに構成されている請求項14記載のシステム。

【図1】
image rotate

【図2A】
image rotate

【図2B】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−259163(P2008−259163A)
【公開日】平成20年10月23日(2008.10.23)
【国際特許分類】
【外国語出願】
【出願番号】特願2007−200726(P2007−200726)
【出願日】平成19年8月1日(2007.8.1)
【出願人】(505187699)サイバーリンク・コーポレーション (6)
【Fターム(参考)】