(57)【要約】【解決手段】メディア記憶デバイスは、メディア・セキュリティ・コントローラと、レンダリング・デバイスによってレンダリングされることになるメディア・アイテムに関するデータを記憶するためのメモリとを含む。メディア・セキュリティ・コントローラは、レンダリング・デバイスが認可ファイルを読み取るのに応答して、メッセージを送信する。メッセージは、レンダリング・デバイスがメモリからデータの一部を読み取り、そのデータの一部をメディア・セキュリティ・コントローラに提供するためのものである。メディア・セキュリティ・コントローラはレンダリング・デバイスからデータの一部を受信し、データの一部を変換し、変換されたデータの一部をレンダリング・デバイスに送信する。【選択図】図４
2015529892.tif 000002
【特許請求の範囲】
【請求項１】
レンダリング・デバイスが認可ファイルを読み取ることに応答して、メディア記憶デバイスのメモリからのデータの一部を読み取り、前記データの一部をメディア・セキュリティ・コントローラに提供するための、前記レンダリング・デバイスに関するメッセージを、前記メディア・セキュリティ・コントローラによって前記レンダリング・デバイスに送信することであって、前記メディア記憶デバイスの前記メモリ内の前記データは、前記レンダリング・デバイスによってレンダリングされることになるメディア・アイテムに関係する、送信すること、
前記メディア・セキュリティ・コントローラによって、前記レンダリング・デバイスから前記データの一部を受信すること、
前記メディア・セキュリティ・コントローラによって前記データの一部を変換すること、及び
前記変換されたデータの一部を前記メディア・セキュリティ・コントローラによって前記レンダリング・デバイスに送信すること、
を含む、方法。
【請求項２】
前記変換されたデータの一部は、前記メディア・アイテムをレンダリングするための前記レンダリング・デバイスに関するデータを含む、請求項１に記載の方法。
【請求項３】
前記データの一部の変換は、前記データの一部を復号すること、前記データの一部を暗号化すること、又は前記データの一部を圧縮することのうちの、少なくとも１つを含む、請求項１に記載の方法。
【請求項４】
前記メディア・セキュリティ・コントローラは、前記変換されたデータの一部に対応する認可キーを記憶するための第２のメモリを備える、請求項１に記載の方法。
【請求項５】
前記データの一部の変換は、前記メディア・セキュリティ・コントローラによって前記認可キーを使用して前記データの一部を復号することを含む、請求項４に記載の方法。
【請求項６】
公開キー・インフラストラクチャ暗号化に基づいて前記メディア・セキュリティ・コントローラと前記レンダリング・デバイスとの間で第１のハンドシェイクを実行すること、
対称キー暗号化に基づいて前記メディア記憶デバイスと前記レンダリング・デバイスとの間で第２のハンドシェイクを実行すること、及び、
前記第１のハンドシェイク及び前記第２のハンドシェイクに基づいて前記レンダリング・デバイスとのセキュア・セッションを確立すること、
を更に含む、請求項１に記載の方法。
【請求項７】
前記データの一部の変換は、
前記データの一部を変換するための認可キーを指定する命令セットを、前記メディア・セキュリティ・コントローラによって受信することであって、前記命令セットはフォレンジック分析が第三者に対する前記メディア・セキュリティ・コントローラを識別できるようにする、受信すること、及び、
前記認可キーを使用して変換された前記データの一部を前記メディア・セキュリティ・コントローラによって作成することであって、前記変換されたデータの一部は前記第三者に対する前記メディア・セキュリティ・コントローラを識別する、作成すること、
を含む、請求項１に記載の方法。
【請求項８】
前記メディア・セキュリティ・コントローラの第１の証明改訂リストを、前記レンダリング・デバイスの第２の証明改訂リストと同期させることを更に含み、前記第１の証明改訂リスト及び前記第２の証明改訂リストは権利のセットに対する１つ又は複数の変更を記述する、請求項１に記載の方法。
【請求項９】
レンダリング・デバイスが認可ファイルを読み取ることに応答して、メディア・セキュリティ・コントローラから前記レンダリング・デバイスによってメッセージを受信することであって、前記メッセージは、メディア記憶デバイスのメモリからデータの一部を読み取り、前記データの一部を前記メディア・セキュリティ・コントローラに提供するように前記レンダリング・デバイスに命じ、前記メディア記憶デバイスの前記メモリ内の前記データは前記レンダリング・デバイスによってレンダリングされるメディア・アイテムに関する、受信すること、
前記レンダリング・デバイスによって前記データの一部を前記メディア・セキュリティ・コントローラに送信すること、及び、
前記レンダリング・デバイスによって、変換された前記データの一部を前記メディア・セキュリティ・コントローラから受信すること、
を含む、方法。
【請求項１０】
前記メディア・セキュリティ・コントローラから受信した前記変換されたデータの一部に基づいて再生マップを作成することを更に含み、前記再生マップは前記メディア・アイテムをレンダリングするためのデータを含む、請求項９に記載の方法。
【請求項１１】
前記メディア・セキュリティ・コントローラから受信した前記変換されたデータの一部に基づいて前記メディア・アイテムをレンダリングすることを更に含む、請求項９に記載の方法。
【請求項１２】
前記メディア記憶デバイスと共有するセッション・キーを使用して前記変換されたデータの一部を処理することを更に含む、請求項９に記載の方法。
【請求項１３】
処理は、前記変換されたデータの一部を復号すること、前記変換されたデータの一部を暗号化すること、又は前記変換されたデータの一部を圧縮することのうちの、少なくとも１つを含む、請求項１２に記載の方法。
【請求項１４】
公開キー・インフラストラクチャ暗号化に基づいて前記メディア記憶デバイスと前記レンダリング・デバイスとの間で第１のハンドシェイクを実行すること、
対称キー暗号化に基づいて前記メディア記憶デバイスと前記レンダリング・デバイスとの間で第２のハンドシェイクを実行すること、及び、
前記第１のハンドシェイク及び前記第２のハンドシェイクに基づいて前記メディア・セキュリティ・コントローラとのセキュア・セッションを確立すること、
を更に含む、請求項９に記載の方法。
【請求項１５】
前記レンダリング・デバイスの第１の証明改訂リストを、前記メディア・セキュリティ・コントローラの第２の証明改訂リストと同期させることを更に含み、前記第１の証明改訂リスト及び前記第２の証明改訂リストは権利のセットに対する１つ又は複数の変更を記述する、請求項９に記載の方法。
【請求項１６】
メディア・アイテムを記憶するためのメモリと、
前記メモリに結合されたメディア・セキュリティ・コントローラであって、
前記レンダリング・デバイスが認可ファイルを読み取ることに応答して、メディア記憶デバイスのメモリからのデータの一部を読み取り、前記データの一部を前記メディア・セキュリティ・コントローラに提供するための、前記レンダリング・デバイスに関するメッセージを、前記レンダリング・デバイスに送信することであって、前記メディア記憶デバイスの前記メモリ内の前記データは、前記レンダリング・デバイスによってレンダリングされることになるメディア・アイテムに関係する、送信すること、
前記レンダリング・デバイスから前記データの一部を受信すること、
前記データの一部を変換すること、及び
前記変換されたデータの一部を前記レンダリング・デバイスに送信すること、
を実行するための処理デバイスを備える、メディア・セキュリティ・コントローラと、
を備える、装置。
【請求項１７】
前記変換されたデータの一部は、前記メディア・アイテムをレンダリングするための前記レンダリング・デバイスに関するデータを含む、請求項１６に記載の装置。
【請求項１８】
前記メディア・セキュリティ・コントローラは、前記データの一部を復号すること、前記データの一部を暗号化すること、又は前記データの一部を圧縮することのうちの、少なくとも１つによって、前記データの一部を変換するためのものである、請求項１６に記載の装置。
【請求項１９】
前記メディア・セキュリティ・コントローラは、前記変換されたデータの一部に対応する認可キーを記憶するための第２のメモリを更に備える、請求項１６に記載の装置。
【請求項２０】
前記メディア・セキュリティ・コントローラは、更に、前記認可キーを使用して前記データの一部を復号するためのものである、請求項１９に記載の装置。
【請求項２１】
前記メディア・セキュリティ・コントローラは、更に、
公開キー・インフラストラクチャ暗号化に基づいて前記メディア・セキュリティ・コントローラと前記レンダリング・デバイスとの間で第１のハンドシェイクを実行するため、
対称キー暗号化に基づいて前記メディア記憶デバイスと前記レンダリング・デバイスとの間で第２のハンドシェイクを実行するため、及び、
前記第１のハンドシェイク及び前記第２のハンドシェイクに基づいて前記レンダリング・デバイスとのセキュア・セッションを確立するため、
のものである、請求項１６に記載の装置。
【請求項２２】
前記メディア・セキュリティ・コントローラは、
前記データの一部を変換するための認可キーを指定する命令セットを受信することであって、前記命令セットはフォレンジック分析が第三者に対する前記メディア・セキュリティ・コントローラを識別できるようにする、受信すること、及び、
前記認可キーを使用して前記変換された前記データの一部を作成することであって、前記変換されたデータの一部は前記第三者に対する前記メディア・セキュリティ・コントローラを識別する、作成すること、
によって、前記データの一部を変換するためのものである、請求項１６に記載の装置。
【請求項２３】
前記メディア・セキュリティ・コントローラは、更に、
前記メディア・セキュリティ・コントローラの第１の証明改訂リストを、前記レンダリング・デバイスの第２の証明改訂リストと同期させるためのものであり、前記第１の証明改訂リスト及び前記第２の証明改訂リストは権利のセットに対する１つ又は複数の変更を記述する、請求項１６に記載の装置。
【請求項２４】
メディア・アイテムをレンダリングためにデータを記憶するためのメモリと、
前記メモリに結合された処理デバイスであって、
前記処理デバイスが認可ファイルを読み取ることに応答して、メディア記憶デバイスのメモリからデータの一部を読み取り、前記データの一部を前記メディア・セキュリティ・コントローラに提供するためのメッセージを、メディア・セキュリティ・コントローラから受信するためであって、前記メディア記憶デバイスの前記メモリ内の前記データは前記処理デバイスによってレンダリングされる前記メディア・アイテムに関する、受信するため、
前記データの一部を前記メディア・セキュリティ・コントローラに送信するため、及び、
変換された前記データの一部を前記メディア・セキュリティ・コントローラから受信するため、
の、処理デバイスと、
を備える、装置。
【請求項２５】
前記処理デバイスは、更に、
メディア・セキュリティ・コントローラから受信した前記変換されたデータの一部に基づいて再生マップを作成するためのものであり、前記再生マップは前記メディア・アイテムをレンダリングするためのデータを含む、請求項２４に記載の装置。
【請求項２６】
前記処理デバイスは、更に、
前記メディア・セキュリティ・コントローラから受信した前記変換されたデータの一部に基づいて前記メディア・アイテムをレンダリングするためのものである、請求項２４に記載の装置。
【請求項２７】
前記処理デバイスは、更に、
前記メディア記憶デバイスと共有するセッション・キーを使用して前記変換されたデータの一部を処理するためのものである、請求項２４に記載の装置。
【請求項２８】
前記変換されたデータの一部を処理するために、前記変換されたデータの一部を復号すること、前記変換されたデータの一部を暗号化すること、又は前記変換されたデータの一部を圧縮することのうちの、少なくとも１つのための前記処理デバイスを備える、請求項２７に記載の装置。
【請求項２９】
前記処理デバイスは、更に、
公開キー・インフラストラクチャ暗号化に基づいて前記メディア・セキュリティ・コントローラとの第１のハンドシェイクを実行するため、
対称キー暗号化に基づいて前記メディア・セキュリティ・コントローラとの第２のハンドシェイクを実行するため、及び、
前記第１のハンドシェイク及び前記第２のハンドシェイクに基づいて前記メディア・セキュリティ・コントローラとのセキュア・セッションを確立するため、
のものである、請求項２４に記載の装置。
【請求項３０】
前記処理デバイスは、更に、
前記レンダリング・デバイスの第１の証明改訂リストを、前記メディア・セキュリティ・コントローラの第２の証明改訂リストと同期させるためのものであり、前記第１の証明改訂リスト及び前記第２の証明改訂リストは権利のセットに対する１つ又は複数の変更を記述する、請求項２４に記載の装置。
【請求項３１】
メディア記憶デバイス内の処理デバイスによって実行された場合、
レンダリング・デバイスが認可ファイルを読み取ることに応答して、メディア記憶デバイスのメモリからのデータの一部を読み取り、前記データの一部を前記処理デバイスに提供するための、前記レンダリング・デバイスに関するメッセージを、前記処理デバイスによってレンダリング・デバイスに送信することであって、前記メディア記憶デバイスの前記メモリ内の前記データは、前記レンダリング・デバイスによってレンダリングされることになるメディア・アイテムに関係する、送信すること、
前記処理デバイスによって、前記レンダリング・デバイスから前記データの一部を受信すること、
前記処理デバイスによって前記データの一部を変換すること、及び
前記変換されたデータの一部を前記処理デバイスによって前記レンダリング・デバイスに送信すること、
を含む動作を前記処理デバイスに実行させる命令を含む、持続性コンピュータ可読記憶メディア。
【請求項３２】
前記データの一部の変換は、メディア・セキュリティ・コントローラ内のメモリに記憶された認可キーを使用して前記データの一部を復号することを含む、請求項３１に記載の持続性コンピュータ可読記憶メディア。
【請求項３３】
前記動作は、
前記メディア記憶デバイスの第１の証明改訂リストを、前記レンダリング・デバイスの第２の証明改訂リストと同期させることを更に含み、前記第１の証明改訂リスト及び前記第２の証明改訂リストは権利のセットに対する１つ又は複数の変更を記述する、請求項３１に記載の持続性コンピュータ可読記憶メディア。
【請求項３４】
レンダリング・デバイス内の処理デバイスによって実行された場合、
前記そりデバイスが認可ファイルを読み取ることに応答して、メディア・セキュリティ・コントローラから前記処理デバイスによってメッセージを受信することであって、前記メッセージは、メディア記憶デバイスのメモリからデータの一部を読み取り、前記データの一部を前記メディア・セキュリティ・コントローラに提供するように前記処理デバイスに命じ、前記メディア記憶デバイスの前記メモリ内の前記データは前記処理デバイスによってレンダリングされるメディア・アイテムに関する、受信すること、
前記処理デバイスによって前記データの一部を前記メディア・セキュリティ・コントローラに送信すること、及び、
前記処理デバイスによって、変換された前記データの一部を前記メディア・セキュリティ・コントローラから受信すること、
を含む動作を前記処理デバイスに実行させる命令を含む、持続性コンピュータ可読記憶メディア。
【請求項３５】
前記動作は、
前記メディア・セキュリティ・コントローラから受信した前記変換されたデータの一部に基づいて再生マップを作成することを更に含み、前記再生マップは前記メディア・アイテムをレンダリングするためのデータを含む、請求項３４に記載の持続性コンピュータ可読記憶メディア。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
[0001]  本出願は、参照により組み込まれた、２０１２年７月１８日出願の米国仮出願第６１／６７３０２３号及び２０１２年８月１５日出願の米国仮出願第６１／６８３６７９号の利益を主張するものである。
【０００２】
[0002]  本開示はメディア・アイテムの保護に関し、より具体的には、メディア・セキュリティ・コントローラ（ＭＳＣ）を使用してメディア・アイテムを保護する技法に関する。
【背景技術】
【０００３】
[0003]  デジタル形式でのコンテンツ（例えば映画、音楽、書籍、画像、文書など）のダウンロードが、コンテンツ配信方法としてますます一般的になってきているため、侵害を防止及び／又は識別するためのコンテンツの保護の問題は、コンテンツ製作者（例えば映画スタジオ、レコード・レーベル、書籍出版社など）にとって大きな問題となっている。従来のメディア記憶デバイスは、ホスト・デバイス（例えばメディア・プレーヤ）がメディア記憶デバイス上の公開区画内のメディア・ファイルにアクセス可能であることを保証するために、メディア・セキュリティ・コントローラを含むことができる。一般に、メディア・セキュリティ・コントローラには、メディア・アイテムのレンダリングを制限するためのセキュリティ機能を実装する機能がない。従来、認証キー及びセキュリティはホスト・デバイスによって管理される。ホスト・デバイスは、典型的には、メディア・ファイルの復号及び再生を実行可能にするための認証キーを記憶する。従来のソリューションは、ホスト・デバイスが危険にさらされた（例えば不正侵入された）場合、他のデバイスが認証キーを使用することが可能であり、こうした攻撃がメディアによって制限又はブロックされないという点で、セキュリティが限られている。
【０００４】
[0004]  本開示は、本開示の様々な実装についての以下の詳細な説明及び添付の図面から、より完全に理解されよう。
【図面の簡単な説明】
【０００５】
【図１】[0005]１つ又は複数の実装に従った、例示のシステム・アーキテクチャを示す図である。
【図２】[0006]１つ又は複数の実装に従った、例示のメディア記憶デバイスを示す図である。
【図３】[0007]様々な実装に従った、メディア・セキュリティ・コントローラを使用してメディア・アイテムを保護するための認証ファイル内の例示の命令を示す図である。
【図４】[0008]様々な実装に従った、メディア・アイテムを保護するためのメディア記憶デバイスとレンダリング・デバイスとの間の通信例を示す図である。
【図５】[0009]様々な実装に従った、メディア・アイテムを保護するためのメディア記憶デバイスとレンダリング・デバイスとの間の通信例を示す図である。
【図６】[0010]様々な実装に従った、メディア・セキュリティ・コントローラを使用してメディア・アイテムを保護するための例示のキー管理命令を示す図である。
【図７】[0011]様々な実装に従った、本明細書で説明するメディア・セキュリティ・コントローラの動作のうちの１つ又は複数を実行可能な、例示のコンピュータ・システムを示すブロック図である。
【図８】[0012]様々な実装に従った、本明細書で説明するセキュリティ・モジュールの動作のうちの１つ又は複数を実行可能な、例示のコンピュータ・システムを示すブロック図である。
【発明を実施するための形態】
【０００６】
[0013]  様々な実装に従った、メディア・セキュリティ・コントローラ（ＭＳＣ）を含むメディア・アイテムを保護するためのシステム及び方法を説明する。レンダリング・デバイスは、メディア記憶デバイスからメディア・データを取得することができるが、メディア・データを単独で解釈できない場合がある。メディア・データを理解するために、レンダリング・デバイスはメディア・データをＭＳＣに転送し、ＭＳＣはレンダリング・デバイスがメディア・データを解釈できるようにするために、メディア・データを変換（例えば復号、暗号化、圧縮など）することができる。このように、レンダリング・デバイスのメディア・ファイルをレンダリングする機能は、そのＭＳＣとの対話に依存する。従来のメディア・コントローラとは異なり、ＭＳＣ実装はメディア・デバイスにセキュリティ・インテリジェンスを加え、ＭＳＣはレンダリング・デバイスとレンダリングされるメディア・ファイルとの間の仲介として動作する。更に従来のメディア・コントローラとは異なり、ＭＳＣ実装は、メディア自体に記憶されたものを含むメディア・アイテムに関する認証キーを内部に記憶し、管理することができる。例えばＭＳＣは、レンダリング・デバイスに、レンダリング・デバイスがメディア・ファイルをレンダリングするために使用すべきな（例えばセキュリティ動作で認証キーを使用することによって取得された）情報を、提供することができる。ＭＳＣを使用するシステムは、コンテンツ・プロバイダ（例えばメディア発行者、配信者など）が、ＭＳＣがレンダリング・プロセスに含まれることを保証できるようにする。例えば発行者は、メディア・アイテムの一部又はメディア・データ復号キーのうちの１つがＭＳＣによって復号されるように、メディア・アイテムのライセンス供与を構成することができる。
【０００７】
[0014]  メディア・アイテムの例は、デジタル・ムービー、デジタル・ビデオ、デジタル写真、デジタル音楽、ウェブサイト・コンテンツ、ソーシャル・メディア、更新、電子書籍（ｅブック）、電子雑誌、デジタル新聞、デジタル・オーディオ・ブック、電子ジャーナル、ウェブ・ブログ、リアル・シンプル・シンジケーション（ＲＳＳ）フィード、電子漫画本、ソフトウェア・アプリケーションなどを含むことができるが、これらに限定されない。
【０００８】
[0015]  メディア・アイテムは、インターネット又は他のネットワークを介して（メディア・アイテムをメディア・デバイスからリモート・デバイスへストリーミングすることなど）、及び／又は、アプリケーション又はローカル接続されたデバイスを介してより直接的に、消費可能である。簡潔及び簡単にするために、デジタル・ムービー（本明細書ではムービーとも呼ぶ）が、メディア・アイテムの例として本書全体を通じて使用される。本明細書で使用される場合、「デジタル・コンテンツ」、「メディア」、「メディア・アイテム」、「オンライン・メディア・アイテム」、「デジタル・メディア」、及び「デジタル・メディア・アイテム」は、ユーザにメディア・アイテムを提示するように構成されたソフトウェア、ファームウェア、及び／又はハードウェアを使用して再生、実行、又はロードすることが可能な、電子ファイルを含むことができる。
【０００９】
[0016]  図１は、様々な実装に従った、例示のシステム・アーキテクチャ１００を示す。システム・アーキテクチャ１００は、１つ又は複数のネットワーク１５０を介して結合された、１つ又は複数のコンテンツ・プロバイダ１０３、１０５（例えばメディア・アイテム発行者）に関連付けられた１つ又は複数のサーバ１１０、１１５、１つ又は複数のキー発行サーバ１２０、１つ又は複数のメディア記憶デバイス１３０、１３１、及び、１つ又は複数のレンダリング・デバイス１６０を含むことができる。
【００１０】
[0017]  １つ又は複数のネットワーク１５０は、１つ又は複数の公衆ネットワーク（例えばインターネット）、１つ又は複数の私設ネットワーク（例えばローカル・エリア・ネットワーク（ＬＡＮ）或いは１つ又は複数のワイド・エリア・ネットワーク（ＷＡＮ））、１つ又は複数の有線ネットワーク（例えばイーサネット・ネットワーク）、１つ又は複数の無線ネットワーク（例えば８０２．１１ネットワーク又はＷｉ−Ｆｉネットワーク）、１つ又は複数のセルラ・ネットワーク（例えばロング・ターム・エボリューション（ＬＴＥ）ネットワーク）、ルータ、ハブ、スイッチ、サーバ・コンピュータ、及び／又はそれらの組み合わせを含むことができる。
【００１１】
[0018]  レンダリング・デバイス１６０は、メディア・アイテムをレンダリングするためのデバイスを含むことが可能であり、ポータブル・メディア・プレーヤ、ネットブック、ラップトップ・コンピュータ、電子書籍リーダ、タブレット・コンピュータ、デスクトップ・コンピュータ、セットトップ・ボックス、ゲーム機、テレビジョン、携帯電話、携帯情報端末（ＰＤＡ）などとすることが可能である（が、それらに限定されない）。レンダリング・デバイス１６０機能は、ハードウェア又はソフトウェア、或いはそれらの組み合わせで実装可能である。レンダリング・デバイス１６０は、グラフィクス・カード／アクセラレータ、メディア・インターフェース、又は条件付きアクセスデバイスなどの、構成要素内にも実装可能である。レンダリング・デバイス１６０は、リモート・コントロール、タッチ・スクリーン、キーボード、マウス、ジェスチャ入力、又は任意の他の入力デバイスによって制御可能である。レンダリング・デバイス１６０は、インターネット（又は他のネットワーク）接続を有することが可能であり、接続は散発的であってもよい。（例えばネットワーク接続は、コンテンツをダウンロードするか又はデバイス間でのコンテンツの転送を許可することが必要な場合があるが、再生中はオフライン又は低帯域幅環境での再生を許可する必要がない場合がある。）レンダリング・デバイス１６０は、暗号化キー及びセキュリティ論理、並びにメディアとのインターフェース及びユーザへのビデオ出力の機能を、内部に含めることができる。レンダリング・デバイス１６０は、ビデオ解凍サポート（例えばＭＰＥＧ２、Ｈ．２６４、及び／又はＨＥＶＣコーデック）、並びに様々なビデオ・ストリームを選択及び管理するためのユーザ用の機能（例えば、ＤＶＤフォーマットで採用されるシステムなどのように初歩的なもの、又は、ブルーレイで採用されるＢＤ−Ｊなどのようにより高度及び／又はプログラム可能な機能とすることが可能な、メニューイング・システム（menuing system））を含むことができる。
【００１２】
[0019]  個々のレンダリング・デバイス１６０は、メディア・ビューア１６３を含むことができる。一実装では、メディア・ビューア１６３は、ユーザがムービーなどのメディア・アイテムを視聴できるようにするアプリケーションである。例えばメディア・ビューア１６３は、ビデオ復号機能（例えば、ＭＰＥＧ−２、ＭＰＥＧ−４／Ｈ．２６４、ＶＣ−１、又は他の圧縮規格用のコーデック）、及びオーディオ復号機能を含むことができる。メディア・ビューア１６３は、いくつかの実装では、ユーザが再生するコンテンツを選択するか又はこれと対話できるようなユーザ・インターフェース要素を含むことが可能であり、メディア記憶デバイス１３１に含まれるか又は他のソース（例えばウェブ・サーバ）からのコンテンツ（例えば、ハイパー・テキスト・マークアップ言語（ＨＴＭＬ）ページなどのウェブ・ページ、デジタル・メディア・アイテムなど）へのアクセス、取り出し、提示、及び／又はナビゲートが可能な、ウェブ・ブラウザを含むことが可能である。
【００１３】
[0020]  メディア・ビューア１６３は、ユーザに対してコンテンツ（例えばウェブ・ページ、メディア・ビューア）をレンダリング、表示、及び／又は提示することができる。メディア・ビューア１６３は、文書（例えばウェブ・ページ）に埋め込まれる埋め込み型メディア・プレーヤ（例えばAdobe Flashプレーヤ又はHTML5プレーヤ）とすることができる。メディア・ビューア１６３は、例えば大型ＳｏＣ（システム・オン・チップ）の一部として、及び／又はスタンドアロン型チップとして、シリコンに実装される専用デコーダなどの、専用ハードウェア要素を含むこともできる。別の例では、メディア・ビューア１６３は、ユーザがデジタル・メディア・アイテム（例えばムービー）を視聴できるようにする、スタンドアロン型アプリケーション又はスタンドアロン型アプリケーションの機能（例えば、モバイル・アプリケーション、デスクトップ・アプリケーション、ゲーム機アプリケーション、テレビジョン・アプリケーションなど）とすることができる。メディア・ビューア１６３は、サーバ及び／又はコンテンツ配信プラットフォームによって、レンダリング・デバイス１６０に提供可能である。例えばいくつかの実施形態では、メディア・ビューア１６３は、コンテンツ配信プラットフォームによって提供される文書（例えばウェブ・ページ）又はムービー・ファイルに埋め込まれる、埋め込み型メディア・プレーヤとすることができる。別の例では、メディア・ビューア１６３はサーバからダウンロードされる別々のアプリケーションとすることができる。別の例では、メディア・ビューア１６３は、レンダリング・デバイス１６０に事前にインストールされるスタンドアロン型アプリケーションとすることができる。メディア・ビューアは、メディア記憶デバイス１３０、１３１に記憶するか、又はそれ以外の場所に記憶することができる。
【００１４】
[0021]  サーバ１１０、１１５、１２０は、１つ又は複数のコンピューティング・デバイス（ラックマウント型サーバ、ルータ・コンピュータ、サーバ・コンピュータ、パーソナル・コンピュータ、メインフレーム・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、デスクトップ・コンピュータなど）、データ・ストア（例えばハード・ディスク、ＳＳＤ、ネットワーク接続記憶デバイス、メモリ、データベース）、ネットワーク、ソフトウェア構成要素（オペレーティング・システム、ミドルウェア、アプリケーション・ソフトウェア、データベースなど）、ハードウェア・セキュリティ・モジュール（例えばＰＣカード、スマート・カード、ＵＳＢセキュリティ周辺装置）、並びに／或いは、ユーザにメディア・アイテムへのアクセス権を与えるため及び／又はユーザにメディア・アイテムを提供するために使用可能な他の構成要素を、含むことができる。
【００１５】
[0022]  メディア記憶デバイス１３０は、少なくとも１つのＭＳＣ１３５（内部ＲＯＭ、キー、キー・ストレージなどを備えるセキュアＣＰＵ（中央処理ユニット）など）、並びにストレージ１４０（フラッシュ・メモリ又はハード・ドライブなど）を含むことができる。ＣＰＵは処理デバイスの例である。ＭＳＣ１３５は別々のチップとするか、又は他の機能（ＵＳＢ、フラッシュ、又はハード・ディスク・コントローラ）と統合することが可能である。大容量ストレージ１４０は、ＭＳＣ１３５からメディア内の別々のハードウェア上で実装するか、又は（例えば単一チップとして）統合することが可能である。メディア記憶デバイス１３０に関する物理形式の要素は、フラッシュ・メモリ・カード、ＵＳＢスティック、ハード・ディスク、ＳＳＤ、ネットワーク接続記憶デバイスなどを含むが、これらに限定されない。ＭＳＣは、実施形態に応じて、ストレージ１４０上でどのようにデータが編成されているかを認識する場合としない場合があることに留意されたい。ＭＳＣが（メディア記憶デバイス１３０がＭＳＣ１３５に知られていないファイル・システムを使用するブロック記憶デバイスである場合に考えられるように）こうした認識をしない場合、ストレージ１４０に含まれるデータを取得するためのＭＳＣ１３５に関連するプロセスは、ＭＳＣ１３５に対して、大容量ストレージからデータを読み取ること、場合によってはデータを復号すること、及びデータをメディア・デバイスに返送することを実行するためのメッセージを、プレーヤ（或いはホスト又はレンダリング・デバイス）に提供させることを、含むことができる。ストレージ１４０は、メディア・アイテム及びメディア・アイテムに関連するデータを記憶することができる。ストレージ１４０は、メモリ（例えばランダム・アクセス・メモリ）、キャッシュ、ドライブ（例えばハード・ドライブ）、フラッシュ・ドライブ、ワンタイム・プログラム可能ストレージ、或いは別のタイプのデータ記憶が可能な構成要素又はデバイスとすることが可能な、１つ又は複数のデータ・ストアを含むことができる。ストレージ１４０上に記憶されるデータは、ＭＳＣ１３５のセキュリティ機能を使用するメディア・ファイルには限定されない（ストレージ１４０は、標準ファイル・システムを用いて通常のハード・ドライブ又はフラッシュ・ドライブを動作可能であり、レガシー・ファイルと再生用にＭＳＣ１３５を使用するファイルの両方を含む任意の種類のデータを保持することができる）。
【００１６】
[0023]  ＭＳＣ１３５は、レンダリング・デバイス１６０の一部であるか、又はこれに結合する（又は別の方法で、直接又は間接的に接続する）ことが可能である。ＭＳＣ１３５は、ストレージ１４０に記憶されるメディア・アイテムを保護するためのセキュリティ機能を追加することができる。ＭＳＣ１３５は、レンダリング・デバイス１６０とレンダリングされることになるストレージ１４０内のムービーとの間で中間構成要素として動作することが可能であり、こうしたレンダリングをセキュア又は実行可能にするのを支援するための機能を含むことができる。例えばレンダリング・デバイス１６０は、メディア・ビューア１６３内のアクション・ムービーＸＹＺをレンダリングするために必要な何らかのデータをＭＳＣ１３５が処理しなければ、メディア・ビューア１６３内のアクション・ムービーＸＹＺをレンダリングすることができない。例えばＭＳＣ１３５は、メディア・アイテムをレンダリングするために使用されるべき１つ又は複数のキーを復号し、そのキーをレンダリング・デバイス１６０に提供すること、及び／又はプリカーソル（precursor）を実際の復号キーに復号すること、及び／又はメディア・アイテムの一部を復号して、復号された部分をレンダリング・デバイス１６０に提供することが可能である。ＭＳＣ１３５とレンダリング・デバイス１６０との間の対話は反復可能である。反復回数は、メディア・アイテムに関する（及び共に記憶可能な）命令に基づくことが可能である。
【００１７】
[0024]  レンダリング・デバイス１６０は、ストレージ１４０内のデータ（例えばメディア・アイテム、メディア・アイテムに関連するデータ）にアクセスすることができる。ストレージ内のデータは、レンダリング・デバイス１６０が必要なセキュリティ手順を使用せずにレンダリングする（メディア・ビューア１６３内に記憶されたデータによって、又は未許可のデバイスによるレンダリング）のを防止するように機密保護（例えば暗号化）されている。前述のように、レンダリング・デバイス１６０は、メディア・ビューア１６３内のレンダリングを可能にするためのデータの処理及び交換を実行可能にするために、直接又は間接的に、ＭＳＣ１３５とデータを交換することが可能な、セキュリティ・モジュール１６５を含むことができる。
【００１８】
[0025]  一実装において、ＭＳＣ１３５は、ストレージ１４０に含まれるファイルから直接読み取る機能を有さない。例えばＭＳＣ１３５は、レンダリング・デバイス１６０によって使用されるファイル・システムを理解していない場合がある。ＭＳＣ１３５がストレージ１４０にデータを要求する場合、ＭＳＣ１３５は所望のデータを指定するメッセージをレンダリング・デバイス１６０に送信することが可能であり、その後レンダリング・デバイス１６０は、ストレージ１４０からデータを取得してそのデータをＭＳＣ１３５に返送することができる。その後ＭＳＣ１３５は、例えばデータを（例えばそれ自体の動作の一部として）使用するか、又はデータを処理し、処理されたデータをセキュリティ・モジュール１６５に（例えば直接、又はレンダリング・デバイス１６０を使用して）送信することができる。セキュリティ・モジュール１６５は、ＭＳＣ１３５からのデータを使用して、メディア・ビューア１６３内のメディア・アイテム（例えばムービー）をレンダリングすることができる。
【００１９】
[0026]  レンダリング・デバイス１６０は、メディア・ビューア１６３内のメディア・アイテムをレンダリングするためにストレージ１４０内のメディア・アイテム（例えばムービー）にアクセスするために、メディア記憶デバイス１３０に結合することができる。レンダリング・デバイス１６０は、ＭＳＣ１３５と（直接又は間接的に）通信可能な、セキュリティ・モジュール１６５を含むことができる。セキュリティ・モジュール１６５は、例えばファームウェア、アプリケーション、ＳｏＣのセキュリティ・コア、セパレート・チップ、及び／又はレンダリング・デバイス１６０内の他のハードウェアとすることが可能であり、これらに限定されない。ユーザ１０２がメディア・ビューア１６３内でレンダリングするムービーを選択すると、セキュリティ・モジュール１６５はそのムービーに関する認可ファイルをストレージ１４０からロードすることができる。認可ファイルは、ムービーをメディア・ビューア１６３でレンダリングするために実行する、セキュリティ・モジュール１６５及びＭＳＣ１３５に関する１つ又は複数セットの命令を含むことが可能である。セキュリティ・モジュール１６５は、ＭＳＣ１３５及び／又は認可ファイルなどから、命令を受信して解釈することができる。同様にＭＳＣ１３５は、セキュリティ・モジュール１６５及び／又は認可ファイルから命令を受信して解釈することができる。
【００２０】
[0027]  キー発行サーバ１２０は、レンダリング・デバイス１６０及びメディア記憶デバイス１３０、１３１用のキーを配布及び管理することができる。キー発行サーバ１２０は、メディア記憶デバイス１３０、１３１用に１つ又は複数の基本メディア記憶デバイス・キーを発行することができる。例えばメディア記憶デバイス１３０、１３１が製造される場合、キー発行サーバ１２０は、メディア記憶デバイス１３０、１３１のＭＳＣ１３５のセキュアなメモリ部分（例えばオンチップ・ワンタイム・プログラム可能メモリ内）に、１つ又は複数の基本メディア記憶デバイス・キーを供給することができる（１４３）。基本メディア記憶デバイス・キーは、各メディア記憶デバイス１３０、１３１に対して固有とすることができる。基本メディア・デバイス・キーの例は、非対称キー・ペア（例えばＲＳＡ／ＥＣＣ）、対称キー（ＡＥＳキー）などを含むことができるが、これらに限定されない。基本メディア記憶デバイス・キーを使用して、認可サーバ１１０、レンダリング・デバイス１６０などとのセキュアなセッションを確立することができる。キーを供給するプロセスは、例えば、セキュア機構内でキー発行サーバ１２０にキーを直接伝送させることを含むことが可能であり、又は、キーがセキュア機構内のキー・プログラミング・デバイスに送達された後、個別のデバイスに提供されること、及び／又は、キーがインターネットなどの信頼できないチャネルを介してセキュアな（例えば暗号化された）形で送信可能であることが可能である。
【００２１】
[0028]  キー発行サーバ１２０は、レンダリング・デバイス１６０に対して１つ又は複数のレンダリング・デバイス・キーを発行することができる。例えばレンダリング・デバイス１６０が製造される場合、キー発行サーバ１２０は、レンダリング・デバイス１６０に対して１つ又は複数のレンダリング・デバイス・キーを供給することができる（１４９）。キーを供給するプロセスは、例えば、セキュア機構内でキー発行サーバ１２０にキーを直接伝送させることを含むことが可能であり、又は、キーがセキュア機構内のキー・プログラミング・デバイスに送達された後、個別のデバイスに提供されること、及び／又は、キーがインターネットなどの信頼できないチャネルを介してセキュアな（例えば暗号化された）形で送信可能であることが可能である。
【００２２】
[0029]  コンテンツ・プロバイダ１０５は、例えば、ユーザ１０２にレンダリングするために、レンダリング・デバイス１６０にメディア・アイテムを提供するための、１つ又は複数のメディア・サーバ１１５を含むことができる。コンテンツ・プロバイダ１０５は、メディア・アイテムをレンダリングできるようにするためにメディア・アイテムに対する認可ファイルを提供するための、１つ又は複数の認可サーバ１１０を含むことができる。
【００２３】
[0030]  認可サーバ１１０は、認可キーをＭＳＣ１３５に提供することができる。例えばムービーが（例えばユーザ１０２によって）購入された場合、メディア・サーバ１１５は、メディア記憶デバイス（例えばメディア記憶デバイスｎ１３１）に記憶されることになる、購入されたムービーに関するデータ・ファイルを供給することが可能であり（１４５）、認可サーバ１１０は、ムービーに関する認可ファイル及び認可キーをメディア記憶デバイス上に記憶するために送信することが可能である（１４７）。例えばムービーが購入された場合、そのムービーに関するデータ・ファイル、認可ファイル、及び認可キーは、認可サーバ１１０及びメディア・サーバ１１５から、メディア記憶デバイスｎ１３１上のストレージ１４０にダウンロードすることができる。認可キーはＭＳＣ１３５内に記憶すること（又はＭＳＣ１３５に記憶されたキーで暗号化され、ストレージ１４０上のいずれかに記憶されること）が可能であり、データ・ファイル及び認可ファイルはストレージ１４０内に記憶することが可能である。認可キーをＭＳＣ１３５に記憶する実装の１つを、図２に関連して以下でより詳細に説明する。
【００２４】
[0031]  キー発行サーバ１２０は、認可キーを作成及び／又は暗号化する際に使用するためのデータを、認証サーバ１１０に提供することができる。一実装において、キー発行サーバ１２０は、メディア記憶デバイス（１３１）に供給する（１４３）基本メディア記憶デバイス・キーに基づく導出キーのリストを、認可サーバ（１１０）に提供する（１４１）。導出キーは、ＭＳＣ１３５が使用するための（認可キーなどの）情報をセキュアに転送するために、認可サーバ１１０によって使用されることが可能である。キー・ツリーを使用して導出キー生成する一実装は、図６に関連して以下でより詳細に説明する。
【００２５】
[0032]  認可ファイルは、レンダリング・デバイス１６０上のセキュリティ・モジュール１６５及びメディア記憶デバイス上のＭＳＣ１３５による実行のための、命令及びデータのセットを含むことができる。例えば、例示の認可ファイルの命令は、ムービーに関して暗号化されたデータをストレージ１４０から取り出すこと、及び暗号化されたデータをＭＳＣ１３５に提供することを、セキュリティ・モジュール１６５に命じることができる。例示の認可ファイルは、暗号化されたデータをＭＳＣ１３５によって記憶された認可キーを使用して復号するため、ＭＳＣ１３５とセキュリティ・モジュール１６５との間で共有されるセッション・キーを使用して、データを再暗号化するため、及び、暗号化されたデータをレンダリング・デバイス１６０上のセキュリティ・モジュール１６５に送信するための命令も、含むことができる。例示の認可ファイルの命令は、ＭＳＣ１３５がどのキーを使用してデータの復号及びデータの暗号化を実行すべきかを指定することができる。
【００２６】
[0033]  図２は、１つ又は複数の実装に従った、例示のメディア記憶デバイス２００を示す。メディア記憶デバイス２００は、図１のメディア記憶デバイス１３１と同一であるとすることができる。メディア記憶デバイス２００は、セキュアな専用セクション２０１及び公開セクション２０３を含むことができる。
【００２７】
[0034]  公開セクション２０３は、１つ又は複数のメディア・アイテムに関するメディア・データ２６７を記憶するために使用可能なストレージ２６０を含むことができる。例えばメディア・データ２６７はメディア・タイトル１からメディア・タイトルｎに関するデータを含むことができる。各メディア・アイテムについて、メディア・データ２６７は、メディア識別子（例えばメディア・タイトル１  ２６１）、認可ファイル２６５、及び、レンダリングされることになるメイン・データ（例えば暗号化されたビデオ及びオーディオ）を含むデータ・ファイル２６３を、含むことができる。認可ファイルの一実装は、図３に関連して以下でより詳細に説明する。メディア・データ２６７は、コンテンツ・プロバイダ（例えば図１のコンテンツ・プロバイダ１０３、１０５）の１つ又は複数のサーバ（例えば図１の認可サーバ１１０、図１のメディア・サーバ１１５）から受信可能である。ファイル・システム内に公開セクション２０３が編成される場合、そのセクション上の前述のデータは、未関係ファイルと共にファイル内に記憶することができる。
【００２８】
[0035]  公開セクション２０３は、証明改訂データ２６９を記憶可能である。証明改訂データ２６９は、キー発行サーバ（例えば図１のキー発行サーバ１６０）及び／又は認可サーバ（例えば図１の認可サーバ１１０）から受信可能である。証明改訂データ２６９（例えば証明改訂リスト）は、対応する証明に記載されたようなＭＳＣ及び／又はレンダリング・デバイスに関連付けられた権利に対する任意の改訂を説明する情報を含むことができる。レンダリング・デバイスの証明は、例えばレンダリング・デバイスがレンダリング可能なメディア・アイテムの品質レベルを説明する情報を含むが、これらに限定されない。例えばレンダリング・デバイスＢは、レンダリング・デバイスＢが高解像度でメディア・アイテムをレンダリングできるようにする証明を有することができる。レンダリング・デバイスＢが危険にさらされた（例えば不正侵入、攻撃などをされた）場合、証明改訂リストは、レンダリング・デバイスＢがメディア・アイテムを高解像度ではなく低解像度でレンダリングすることを認可されるように、レンダリング・デバイスＢの証明が改訂されることを示す情報を含むことができる。
【００２９】
[0036]  証明改訂データ２６９は、より新しい有効なバージョンが使用可能である場合には必ず更新されることが可能である。例えば、証明改訂データ２６９は、メディア・アイテムがメディア記憶デバイス２００にダウンロードされるときに更新されることが可能である。別の例では、証明改訂データ２６９が古くなったことをＭＳＣ２０５が決定すると、証明改訂データ２６９は更新されることが可能である。例えば、ＭＳＣ２０５がレンダリング・デバイスとセキュア・セッションを確立した場合、ＭＳＣ２０５及びレンダリング・デバイスは、各他の証明改訂リストのバージョンを比較して、証明改訂リストが最新であるか古いかを判別することができる。証明改訂リストのデジタル署名は、基礎となるデータの妥当性及び新しさの両方を認証することができる（例えば、証明改訂リストに含まれる発行日又はカウンタは、新しいバージョンが有効であり、現在記憶されているバージョンよりも新しいかどうかを、デバイスが識別できるようにすることができる）。
【００３０】
[0037]  専用セクション２０１は、基本メディア記憶デバイス・キー２５２を記憶することができる。基本メディア記憶デバイス・キー２５２は、キー発行サーバ（例えば、図１のキー発行サーバ１６０）から受信すること、及び、例えばメディア記憶デバイス２００が製造されたときに、ＭＳＣ２０５の専用データ領域２５０に記憶することが可能である。基本メディア記憶デバイス・キー２５２は、例えば非対称キー・ペア（例えばＲＳＡ／ＥＣＣ）及び１つ又は複数のＡＥＳキーを含むことができるが、これらに限定されない。基本メディア記憶デバイス・キーは、レンダリング・デバイス及び／又は認可サーバとのセキュア・セッションを確立する際に使用することができる。
【００３１】
[0038]  専用セクション２０１は、セキュア・セッションとすること、ＭＳＣ２０５を含むことが可能である。ＭＳＣ２０５は、メディア・データ２６１及びメディア・データ２６１に関するメディア・アイテム（例えばムービー）を保護するためのデータ２５０を記憶することができる。データ２５０は、ストレージ２６０内の対応するメディア・アイテムをレンダリングするプロセスの一部として使用される、認可データ２５１を含むことができる。認可データ２５１は、例えば、認可キーを記憶するための認可キー・スロット、認可キー・スロット数、及び各スロットに関する情報（例えば発行者識別子、認可識別子、認可キーなど）のリストを含むことができるが、これらに限定されない。メディア記憶デバイス２００は、認可データ２５１内の認可キーを使用して、例えばデータ・ファイル２６３又はデータ・ファイル２６３の一部、或いは、メディア・データ２６７内のデータ・ファイル２６３の一部を暗号化するために使用されたキーを復号することができる。専用ストレージ内のデータ２５０は、例えば、署名、証明、内部キー（例えばオンチップ・フラッシュ／ヒューズ／ＯＴＰ）、又は最新の検証済み証明改訂リストのタイムスタンプ又は通し番号なども含むことができる。
【００３２】
[0039]  専用セクション２０１内のデータ２５０は、特定のセキュア通信セッションに関してレンダリング・デバイス（例えば図１のレンダリング・デバイス１６０）内のＭＳＣ２０５とセキュリティ・モジュール（例えば図１のセキュリティ・モジュール１６５）との間に確立された、セッション・キー２５３を含むことができる。ＭＳＣ２０５は、レンダリング・デバイス内のセキュリティ・モジュール（例えば図１のセキュリティ・モジュール１６５）との通信をセキュアにするために、セッション・キー２５３を使用することができる。例えばＭＳＣ２０５は、セキュリティ・モジュールによって暗号化及び／又は認可されたデータを受信すること、並びに、セッション・キー２５３を使用してデータを復号及び／又は検証することができる。別の例では、ＭＳＣ２０５は、セッション・キー２５３を使用してデータを暗号化及び／又は認可すること、並びに、暗号化されたデータを復号及び／又は検証のためにセキュリティ・モジュールに送信することが可能である。
【００３３】
[0040]  前述のように、いくつかの実施形態では、ＭＳＣ２０５は、メディア記憶デバイス２００上の公開セクション２０３内のメディア・データ２６７に直接アクセスすること又はこれを解釈することができない場合がある。例えば、ＭＳＣ２０５は、ストレージ２６０上のデータを編成するために使用されたファイル・システムを理解していない場合がある。必要なデータ（メディア・データ２６７の一部など）を取得するために、ＭＳＣ２０５は、レンダリング・デバイスにメッセージを送信して、必要なメディア・データ２６７をストレージ２６０から取り出すこと、及び、メディア・データ２６７をＭＳＣ２０５に提供することが可能である。正しいデータが要求されていることを保証するために、ＭＳＣ２０５は、戻されたデータをデジタル形式でハッシングし、結果として生じるハッシュがデジタル署名及び／又はメッセージ認可コードと合致することを確認することができる。
【００３４】
[0041]  例えば、一実施形態において、ムービー（例えばメディア・タイトル１  ２６１）をレンダリングすることが選択された場合、レンダリング・デバイスはムービー（例えばメディア・タイトル１  ２６１）に関する認可ファイル２６５を、メディア記憶デバイス２００上の公開セクション２０３から取り出し、この認可ファイル２６５（又はその一部）をＭＳＣ２０５に送信することができる。認可ファイルの一部は、実行するためのＭＳＣ２０５に対するデジタル署名付き命令の１つ又は複数のセットを含むことができる。例えば、メディア・タイトル１  ２６１に関する例示の認可ファイル２６５は、基本メディア記憶デバイス・キー２７１から一時キーを取り出すため、命令内の指定キーを使用して（同様に認可ファイル２６５からのものとすることが可能な）暗号化キーを復号するために一時キーを使用するため、その後、命令に指定されたＩＤに合致する認可キーを使用して結果を復号するための、ＭＳＣ２０５に関する命令のセットを含むことができる。次に例示の命令は、ＭＳＣ２０５が、結果を再暗号化するため、及び再暗号化された結果をレンダリング・デバイス上のセキュリティ・モジュールに送信するために、セッション・キー２５３を使用すべきである旨を指定することができる。例示の認可ファイル２６５は、セッション・キーを使用して再暗号化された結果を復号し、結果をキーとして使用して、メディア・タイトル１  ２６１のメディア・アイテムに関するデータ・ファイル２６３の一部をレンダリングするように指示する、レンダリング・デバイス上のセキュリティ・モジュールに対する命令を含む。
【００３５】
[0042]  図３は、例示の一実装に従った、メディア・セキュリティ・コントローラを使用してメディア・アイテムを保護するための例示の認可ファイル３０１内の例示の命令を示す。認可ファイル３０１は、図２の認可ファイル２６５と同一とすることができる。
【００３６】
[0043]  認可ファイル３０１は、メディア・アイテムのレンダリングに関連して実行するための、セキュリティ・モジュール及びＭＳＣに関する命令の１つ又は複数のセットを含むことができる。例えばＭＳＣは、データＸＹＺの復号、データＸＹＺの再暗号化、及び再暗号化されたデータＸＹＺのレンダリング・デバイスへの送信を実行するための、命令を受信することができる。別の例では、レンダリング・デバイスは、ＭＳＣから何らかのデータ（すなわち暗号化されたデータＸＹＺ）を受信するまで待機すること、及び、暗号化されたデータＸＹＺを受信したときに暗号化されたデータＸＹＺを復号することを実行するための、命令を受信することができる。
【００３７】
[0044]  レンダリング・デバイスは、命令を解釈及び実行するためのファームウェアを含むことができる。例えば、メディア・アイテムがレンダリング用に選択される場合、レンダリング・デバイス内のファームウェアは、選択されたメディア・アイテムに関する認可ファイル３０１を自動的に取り出すこと、及び、認可ファイル３０１又はその一部をＭＳＣに転送することを、レンダリング・デバイスに命じることができる。ＭＳＣは、認可ファイル３０１又はその一部をレンダリング・デバイスから受信し、認可ファイル３０１又はその一部を認証及び解釈することができる。
【００３８】
[0045]  各メディア・アイテム又はメディア・アイテムのセットに関する認可ファイル３０１が存在可能である。認可ファイル３０１は、メディア識別子（例えばタイトル識別子）、認可識別子、及び対応するメディア・アイテムをレンダリングするために１つ又は複数の動作のセット３０５を含むように事前符号化することができる。命令は、例えば対応するメディア・アイテム用に構成可能とすることができる。例えば、コンテンツ・プロバイダ（例えば発行者）は、命令及び関連付けられた暗号化データ値を定義することができる。コンテンツ・プロバイダは、新しい認可ファイルが発行されるごとに（例えば、ユーザが何らかのコンテンツをダウンロードし、顧客のメディア記憶デバイスにライセンスを与えるために支払う場合）、異なる命令を提供することができる。動作のセット３０５は、条件又は他の分岐／論理機能を含むことができる。例えば動作のセット３０５は、ビット１７＝１の場合、何らかのデータを復号するために指定された認可キー・スロット内のキーを使用すること、という条件文を含むことができる。
【００３９】
[0046]  一実施形態では、動作の個々のセット３０５は、実行される前にデバイスによってハッシングされる。動作のセットのハッシュ（ハッシュ３０７）自体は、動作の様々な個々のセット３０５を、（ハッシングの様々な段階であるが）すべての動作を反映するハッシュに接続するようにハッシングされる。一実施形態では、これはハッシュ・ツリーを用いて実行される。別の実施形態では、動作セットは後続の動作セットのハッシュを含む。例えば動作セット１（ハッシュ値１を有する）は動作セット２の動作を参照し、動作セット１内の参照は動作セット２のハッシュを含む。動作セット２は動作セット３及び動作セット４の両方を参照することが可能であり、それらの参照はそれぞれ動作セット３及び動作セット４のハッシュも含むことになる。このように、ハッシュ値１のデジタル署名は、動作セット１のコンテンツを直接認証し、次にこれが他の動作セットを認証する。次の命令セットは、実行するための次の命令セットの整合性及びこれに対する連鎖を確認する、ハッシュ値２を含むことができる。前述のどちらの実施形態においても、（レンダリング・デバイス内の）ＭＳＣ及びセキュリティ・モジュールのそれぞれが、命令セットのそれら自体の部分を受信し、それらの部分でコマンドを実行することから、認可ファイル３０１内に担持される命令の合計サイズは、ＭＳＣ及び／又はセキュリティ・モジュール内で使用可能なＲＡＭよりも大幅に大きいとすることが可能である。
【００４０】
[0047]  命令セット内に含まれ得るコマンドの例をいかに示す。
サンプル命令タイプの例
-Encrypt（命令実行者、キー選択、オフセット）
-Compress（命令実行者、キー選択、オフセット）
-Copy（命令実行者、ソース、宛先、長さ）
-Decrypt（命令実行者、キー選択、オフセット）
-Compare（命令実行者、ソース、宛先、長さ、ジャンプ位置、ジャンプ位置の命令セットのハッシュ）
-Fill（命令実行者、宛先、長さ、データ）
-Finish（命令実行者、ステータス）
-Indirect Step（命令実行者、ptr、ハッシュ）
-Transfer（命令実行者、ソース、宛先、長さ）
-AES（キー選択、オフセット［ソース］、オフセット［宛先］）
-AddToPlaybackMap（命令実行者［セキュリティ・モジュールであること］、キー選択、オフセット［付加する再生マップ・データを伴う］）
・ストレージ上のメイン暗号化コンテンツ・ファイル内のオフセット
・キーは適用するオーディオ及びビデオについて別々のキーを含む
・暗号化コンテンツ・ファイル内のデータの長さ
・仮想コンテンツ・ファイル内の宛先
-ReceiveData（ptr、長さ）
-DeriveKey（キー選択［イン］、誘導パラメータ、キー選択［アウト］）
注：入力パラメータにおいて、「命令実行者（who）」は、どのエンティティが命令を実行すべきか（例えばＭＳＣ又はセキュリティ・モジュール）を指定し、それぞれの動作が別々のセットに分離される場合は省略可能である。「キー選択（Key select）」は、処理で使用されるべきエンティティ内のキーを識別する。「オフセット（Offset）は、作業域内のオフセット（例えばスロット位置又はバイト・オフセット）」を指定する。
【００４１】
[0048]  図４は、様々な実装に従って、メディア・アイテムのレンダリングを可能にするためにレンダリング・デバイス４０５と対話するメディア・セキュリティ・コントローラ４０３の例を示す図である。例えば、メディア・セキュリティ・コントローラ４０３及びレンダリング・デバイス４０５はセキュア・セッションを確立し、セッション・キーを作成し、セッション・キー及び他のキーを使用して、レンダリング・デバイス４０５がメディア・アイテムをレンダリングするために使用できる再生マップ４６５を作成することができる。メディア記憶デバイス４０１は、図１のメディア記憶デバイス１３０及び図２のメディア記憶デバイス２００と同一とすることができる。レンダリング・デバイス４０５は図１のレンダリング・デバイス１６０と同一とすることがきる。
【００４２】
[0049]  レンダリング・デバイス４０５は、メディア記憶デバイス４０１上のストレージ４５０内のデータ４５１に記憶されたメディア・アイテムをレンダリングするための要求を受信することができる（４２０）。要求は、グラフィカル・ユーザ・インターフェースを介してメディア・アイテムのユーザ選択の入力として受け取ることができる。例えば要求は、コメディ・ムービーＡＢＣに関するものとすることができる。要求への応答、又は要求以前のいずれかに、レンダリング・デバイスは、レンダリング・デバイス４０５とメディア記憶デバイス４０１との間でセキュア・セッションを開始する。
【００４３】
[0050]  いくつかの実施形態では、最新の使用可能な証明改訂リスト（ＣＲＬ）が、メディア記憶デバイス４０１上のメディア・セキュリティ・コントローラ４０３及びレンダリング・デバイス４０５上のセキュリティ・モジュール４０７の両方によって使用されることが望ましい。ＣＲＬバージョンの同期を実行可能にするために、ＭＳＣ４０３及びセキュリティ・モジュール４０７はそれぞれ、ＣＲＬヘッダを受信するように構成可能であり、ヘッダが（ｉ）信用されるエンティティ（例えばキー発行センタ）によって署名された有効なデジタル署名を有すること、（ｉｉ）ＣＲＬが以前に見られた最新のＣＲＬよりも新しいことを示す発行カウンタ（又はタイムスタンプ）を有することの、両方であるかどうかをチェックする。両方に当てはまる場合、より新しいＣＲＬヘッダがセキュア領域内に保持され、ＣＲＬ全体が宛先デバイスに記憶される。より新しいＣＲＬがメディアに供給されている場合、公開ファイル・システム内のファイルとしてレンダリング・デバイスによって書き込むことができる。より新しいＣＲＬがレンダリング・デバイスに供給されている場合、メディアのファイル・システムから読み取り、小型フラッシュ、ハード・ディスク、又はレンダリング・デバイスの不揮発性メモリ域に記憶することができる。したがって、証明改訂リスト及びヘッダを同期するプロセス（４２１）は、デバイスが最新とみなしたＣＲＬバージョンが同じであるかどうかを第１にチェックし、最新でない場合は、より新しいＣＲＬを備えるデバイスからより古いＣＲＬを備えるデバイスに、より新しいＣＲＬを送信するステップを含むことができる。加えて、所望であれば、より新しいＣＲＬをストレージ４５１上のデータから、又はそれ以外の場所からインターネットを介して探すことも可能である（いずれかのデバイスが最後に見つけたＣＲＬよりも新しいＣＲＬが見つかった場合、前述のように、その新しいＣＲＬが両方のデバイスに供給されるものとする）。ＣＲＬ同期化４２１が完了すると、両方のデバイスが同じＣＲＬバージョンを有することになる。
【００４４】
[0051]  ステップ４２２で、メディア・セキュリティ・コントローラ４０３及びセキュリティ・モジュール４０７は、それぞれにレンダリング・デバイス／メディア記憶デバイスの識別、タイプ／製造業者、属性、及び公開キーを指定する証明を交換する。デバイスは、キー発行センタが開始する証明の連鎖を検証することによって、証明が適切に署名されていることを検証する。
【００４５】
[0052]  各デバイスは、他の識別に対応する証明改訂リスト部分を検証及び処理する（４２３）。受信されたＣＲＬ部分を、以前に同期されたＣＲＬバージョン（４２１）と比較することができる。ＣＲＬを一部とすることで、ＭＳＣ４０３などの制約された環境で使用可能なＲＡＭの量を超えるＣＲＬサイズを簡単にサポートできるようになる。一実施形態では、レンダリング・デバイス４０５は、メディア・セキュリティ・コントローラ４０３がセキュリティ・モジュール４０７の識別を検証するために、必要な部分を証明改訂ファイルからメディア・セキュリティ・コントローラ４０３に提供する。受信した部分がキー発行センタによって発行された署名によって適切に認証されていない場合、バージョンが以前に受信したバージョンと合致していない場合、部分がセキュリティ・モジュールの証明に対応していない場合、又は、部分がセキュリティ・モジュール４０７を無効とする（又は別の方法で、セキュリティ・モジュール４０７をコンテンツの要件に不適合とする）場合、ＭＳＣ４０３はプロトコルを終了することができる。
【００４６】
[0053]  ＭＳＣ４０３は、レンダリング・デバイス４０５の証明からの情報を記憶する（４２４）。例えばメディア記憶デバイス４０１は、一定量のメモリ（例えば１６Ｋビット）をバッファ４５３として割り振り、一定サイズのバッファに、レンダリング・デバイスの証明及び／又は対応するＣＲＬ部分から、レンダリング・デバイス情報（例えば製造業者、モデル、製造番号、請求クラス、証明改訂リスト（ＣＲＬ）からの失効状況、ＣＲＬからの改訂状況など）を追加することができる。図には示されていないが、セキュリティ・モジュール４０７も同様に、メディア記憶デバイスの証明及び／又は対応するＣＲＬ部分からの情報を備えるバッファを形成することができる。
【００４７】
[0054]  ＭＳＣ４０３及びセキュリティ・モジュール４０７は、公開キーのセットとのハンドシェイク（handshake）及び対称キーのセットとのハンドシェイクを使用して、共有セッション・キーを確立する（４２５）。このセッション・キーは、図２のセッション・キー２５３に対応することが可能である。ＭＳＣ４０３及びセキュリティ・モジュール４０７は、それぞれセッション・キーを取り出してローカルに記憶することができる。例えばそれぞれは、他方の証明からの公開キーを用いてランダム値を暗号化することができる。次にＭＳＣ４０３及びセキュリティ・モジュール４０７は、これらの暗号化された値を交換することが可能であり、それぞれが他方の値を復号する。その後、セッション・キーは、復号結果をハッシングすることによって生成可能である（例えば、ハッシュ（メディアによって暗号化された値‖メディア証明‖レンダリング・デバイスによって暗号化された値‖レンダリング・デバイス証明）であって、「‖」は連結を示す）。「ハッシュ」はＳＨＡ−２５６などの暗号学的ハッシュ関数とすることができる。
【００４８】
[0055]  次にレンダリング・デバイス４０５は認可ファイルをロードし（４２７）、関連する認可ファイル部分をＭＳＣ４０３に送信する（４２９）。
【００４９】
[0056]  ＭＳＣ４０３は、認可ファイル内の第１の命令セットを識別し、命令の処理（例えば読み取り、実行など）を開始する（４３０）。ＭＳＣ４０３は、命令セットに応じて、レンダリング・デバイス４０５上のセキュリティ・モジュール４０７とのデータの交換及び処理を、何回か反復することができる。例えばＭＳＣ４０３は、命令セットに含まれるデータを復号するようＭＳＣ４０３に命じる、第１の命令セットを実行することができる。例えば命令セットは暗号化キーを含み、暗号化キーの復号に使用すべきＭＳＣ４０３内の認可キーを指定することができる。
【００５０】
[0057]  図４のＭＳＣに関する例示の命令セットは、レンダリング・デバイス４０５から追加のデータを受信するためのＭＳＣ４０３に対する命令を含む。この命令を処理するために、ＭＳＣ４０３は、セキュリティ・モジュール４０７から追加のデータを取得するためのセキュリティ・モジュール４０７に対するメッセージを、セキュリティ・モジュール４０７に送信する（４３１）。セキュリティ・モジュール４０７は、データを（例えば図に示されるようにストレージ４５０、又はレンダリング・デバイスの内部メモリなどの他のソース、インターネットなどから）取り出し（４３３）、そのデータをＭＳＣ４０３に送信する（４３５）（又はエラーに応答する）。ＭＳＣ４０３は、データを処理し（４３７）（例えば、ステップ４３０時のように、以前に生成されたキーを使用して復号及び／又は暗号化し）、処理されたデータを、（例えばレンダリング・デバイスにデータを提供し、セキュリティ・モジュールに沿って渡すことによって）セキュリティ・モジュール４０７に送信する（４３９）。セキュリティ・モジュール４０７は受信したデータを処理する（４４１）。例えば更にセキュリティ・モジュール４０７は、セキュリティ・モジュール４０７がデータをいかに処理すべきかを記述している認可ファイルから、命令セットを受信することも可能である。セキュリティ・モジュール４０７は、受信したデータをセッション・キー４６０を使用して復号した後、キー発行センタからのキーから導出されたキーを使用してさらなる復号ステップを適用し（図１のキー配布１４９を参照のこと）、結果をデータ４６７の一部として記憶することができる。
【００５１】
[0058]  別の例では、セキュリティ・モジュール４０７はセッション・キー４６０を使用してデータを復号し、復号されたデータを再生マップ４６５の一部として記憶することができる。例えば認可ファイルは、再生マップ４６５を記憶するバッファにデータ（例えば復号されたキー、オフセット値、長さなど）を書き込むための、セキュリティ・モジュール４０７に対する命令を含むことができる。再生マップ４６５内に配置されるデータは、ＭＳＣ４０３から受信したデータ、ストレージ４５０からのデータ、メディア・デバイス証明からのデータ、レンダリング・デバイス証明からのデータ、ＣＲＬからのデータ、命令からのデータ、ネットワーク（インターネットなど）から取り出したデータ、及び、使用可能な任意の他のデータを使用して、制限なしに導出することができる。例えば、これらのソースのいずれかからの情報を使用して、（例えばフォレンジックマーキング（forensic marking）を達成するために）コンテンツの異なる代替部分間で選択する再生マップ・エントリを選択することができる。タイトルに関連付けられた命令セットは、所与のタイトルがどのように復号されるかにおける柔軟性を可能にし、本プロセスを通じてセキュリティ・モジュール４０７は多くのソースからデータを使用することが可能であり、再生マップ４６５を構築するためにＭＳＣ４０３から増分的及び／又は反復的にデータを受信することができる。
【００５２】
[0059]  例えば認可ファイルは、再生マップ４６５に動作を追加するためのセキュリティ・モジュール４０７に対する命令を含むことができる。動作はセキュリティ・モジュール４０７によって実行可能である。再生マップ・エントリは追加の処理を要求することも可能である。例えばエントリは、例えばプリカーソル値をメディア・アイテムの一部のレンダリングに使用可能なキーに変換するために、ＭＳＣ４０３からの支援を受信するために、メディア・アイテムのレンダリング中のある時点でＭＳＣ４０３とインターフェースするように、レンダリング・デバイス４０５及び／又はそのセキュリティ・モジュール４０７に命じることができる。
【００５３】
[0060]  例えば、通信４３９で、認可ファイルは、メディア・アイテム内のオフセット領域ＸからＹへとメディア・アイテムをレンダリングする際にＭＳＣ４０３との通信を必要とする再生マップ４６５に動作を追加するよう、セキュリティ・モジュール４０７に命じることができる。動作は、セキュリティ・モジュール４０７によるＭＳＣ４０３との通信をトリガするためのインジケータ、オフセット、長さなどの、パラメータを含むことができる。支援は、例えばＭＳＣ４０３がオフセットＸからＹでメディア・ファイル・データを復号すべきであることであってもよい。
【００５４】
[0061]  再生マップ４６５は、ＭＳＣ４６５からの複数の通信を使用して構築可能である。例えば通信４３１、４３３は、再生マップ４６５に書き込むようにとのセキュリティ・モジュール４０７に対する命令を含むことができる。例えば命令は、長さ、ストレージ内のオフセット、及びキー値を含むエントリを再生マップ４６５に書き込むよう、セキュリティ・モジュール４０７に指示することができる。例えば命令は、「ストレージ上のメディア・ファイル内のオフセット「Offset」で開始するメディアの次の「Length」バイトを読み取るべきであり、キー「Key Value」で復号されるべきである」を、再生マップ４６５に書き込むための、セキュリティ・モジュール４０７に対するものとすることができる。代替実施形態において、メディア・アイテム全体にわたって異なるキー間で指定及び選択するための他の方法又は符号化が使用可能であるか、又はメディア・アイテム全体に関して単一のキーが存在する可能性がある。
【００５５】
[0062]  レンダリング・デバイス４０５は、メディア・アイテムをレンダリングするために再生マップ４６５を使用することができる。再生マップ４６５は、アイテムを構成する暗号文の位置を特定して復号する方法に関する情報を含むことが可能であり、セキュリティ・モジュール４０７によって、メディア・アイテムを形成、復号、及びレンダリングするために使用される。再生マップ４６５は、レンダリング・デバイス４０５がメディア・アイテムを復号するために使用すべき１つ又は複数のキーを含むことができる（が、これに限定されない）。レンダリング・デバイス４０５がストレージ４５０からメディア・アイテムに関するデータ・ファイルを読み取り、復号されるデータ・ファイルの一部に到達すると、レンダリング・デバイス４０５は再生マップ４６５内の対応するキーを使用して、データの一部を復号することができる。別の例では、レンダリング・デバイス４０５が復号されるデータ・ファイルの一部に到達すると、レンダリング・デバイス４０５は、データの一部の復号を助けるためにＭＳＣ４０３に接触するための再生マップ４６５内の命令を読み取ることができる。データの復号は、カウンタ・モードのＡＥＳなどの従来の暗号化方法を使用することができる。
【００５６】
[0063]  一実装において、セキュリティ・モジュール４０７は、部分的に構築された再生マップ４６５を使用してメディア・アイテムのレンダリングを開始することが可能であり、ＭＳＣ４０３からのさらなる通信に基づいて再生マップ４６５の構築を続行することができる。例えば、ＭＳＣ４０３及びセキュリティ・モジュール４０７は、セキュア・セッションを確立することが可能であり、再生マップ４６５を部分的に構築することが可能である。レンダリング・デバイス４０５は、部分的に構築された再生マップ４６５に基づいてメディア・アイテム（例えばムービー）のレンダリングを開始することができる。レンダリング・デバイス４０５がムービーを再生している間の様々な時点で、レンダリング・デバイス４０５は、レンダリング・デバイス４０５が復号できないデータの一部を検出し、データのその部分を復号するためにメディア・セキュリティ・モジュール４０３とインターフェースすることができる。レンダリングは、必要なデータが存在するならば、メディア・アイテムが完全にダウンロードされる前にも開始可能である。
【００５７】
[0064]  コンテンツ・プロバイダ（例えば発行者）は、いずれのＭＳＣ及び／又はレンダリング・デバイスがメディア・アイテムをレンダリングしたかを識別したい場合がある。例えば発行者は、メディア・アイテム及び／又はデバイス（例えばメディア記憶デバイス、レンダリング・デバイス）の未認可コピーに気付く場合があり、いずれのＭＳＣ及び／又はレンダリング・デバイスがその未認可コピーに関連付けられているかを追跡したい場合がある。コンテンツ・プロバイダは、認可ファイル内の命令、並びに、いずれのＭＳＣ及び／又はレンダリング・デバイスが特定のメディア・アイテムをレンダリングしたかを識別するためのフォレンジック分析のためのＭＳＣ及び／又はレンダリング・デバイスによる命令の実行を、使用することができる。
【００５８】
[0065]  例えば、コンテンツ・プロバイダは、特定のメディア・セキュリティ・コントローラ及び／又はレンダリング・デバイスのための復号に関するキーを選択することができる。レンダリング・デバイス及び／又はメディア・セキュリティ・コントローラがメディア・アイテムを復号する場合、結果は、認可されたキーが使用されたかどうかに応じて変化する可能性がある。例えば、コンテンツ・プロバイダは、命令を用いて認可ファイルを定義及び事前符号化することができるため、結果としてムービーの一部が再生される場合、異なるレンダリング・デバイスが異なる再生マップ・エントリを有する（例えば、１つのプレーヤは再生マップ内にキーＫ１を生成し、これを使用して一部分の変形Ａを復号する一方で、別のプレーヤは再生マップ内にキーＫ２を生成し、これを使用して一部分の変形Ｂを復号することができる）。偽作コピーが回復された場合、ファイル内の変形は偽作者に関する情報を担持する（例えば、変形Ａが存在する場合、偽作者は変形Ａの復号が可能であり、変形Ｂが存在する場合、偽作者は変形Ｂの復号が可能であった）。十分な変形が与えられた場合、任意の情報を担持することが可能である。変形のサイズは圧縮ビデオ内では数バイトと小さいか、又はそれよりもかなり長いもの（ビデオ又はオーディオ・データのかなりの部分など）とすることができる。
【００５９】
[0066]  図５は、様々な実装に従った、メディア・アイテムをレンダリングするために再生マップ５６５及びメディア・セキュリティ・コントローラ（ＭＳＣ）５０３を使用するレンダリング・デバイス５０５の例を示す図である。例えば、再生マップ５６５内のエントリは、メディア・アイテム（例えばムービー）の対応する部分をレンダリングするためにＭＳＣ５０３からの支援を探すよう、レンダリング・デバイス５０５に命じることができる。このようにして、ＭＳＣ５０３は、メディア・アイテムのレンダリング中に、メディア・アイテムの一部を復号することによって、又はメディア・アイテムの少なくとも一部を復号するために使用可能なキーをレンダリング・デバイスに提供することによって、積極的に参加することができる。メディア記憶デバイス５０１は、図１のメディア記憶デバイス１３０及び図２のメディア記憶デバイス２００と同一とすることができる。レンダリング・デバイス５０５は、図１のレンダリング・デバイス１６０と同一とすることができる。
【００６０】
[0067]  レンダリング・デバイス５０５上のセキュリティ・モジュール５０７は、レンダリング・デバイス５０５に記憶された再生マップ５６５内のエントリを読み取る（５２０）。図５に示された例において、エントリは、ＭＳＣ５０３による処理がデータに必要であることを指定する。レンダリング・デバイス５０５は、要求（例えばファイル読み取り）を発行すること（５２１）によって公開記憶域からデータを読み取った後、必要なデータを受信する（５２２）。データの一部又はすべてが、必要な処理（例えばＭＳＣ５０３がデータをどのように復号すべきであるか）を指定する要求と共に、ＭＳＣ５０３に送信される（５２３）。ＭＳＣ５０３は、要求された処理を実行し（５２４）、結果をレンダリング・デバイス５０５に戻す（５２５）。レンダリング・デバイス５０５は、ＭＳＣ５０３を使用してデータへの追加の復号パスを適用するなどの、それ自体の処理を更に実行することが可能である（５２６）。最終的にデータは、レンダリングの準備が整う。レンダリング・デバイスは、例えばデータの一部を解凍及び出力のためにオーディオ又はビデオ・コーデックに送信することによって、ビデオ／オーディオを復号する（５２７）。
【００６１】
[0068]  図６は、様々な実装に従った、メディア・セキュリティ・コントローラにおいて認可キーを保護するための例示のキー管理コマンド６００を示す。こうしたキーは、例えば認可が１つのメディア・デバイスから別のメディア・デバイスに転送される場合に、認可の除去及び転送を機密保護するために使用可能であり、そのプロセスは、（１）ソース・デバイス上での認可キーの使用不可化、（２）キーが使用不可であることの認可サーバへの確認、（３）認可サーバの宛先メディア・デバイスへの新規認可ファイル及び新規認可キーの発行で、構成可能である。認可キーは、例えば認可の重複防止を助けるために、コンテンツが適切に認可されたかどうかを検証するのを助けることもできる（認可されたメディア・デバイスのみが正しい認可キーを有するはずであるため）。キー管理コマンド６００は、例えばサーバ、レンダリング・デバイスなどによって、使用可能である。例えば認可サーバ（例えば、図１の認可サーバ１１０）は、キー管理コマンドのうちの１つ又は複数を使用して、認可キーをＭＳＣに提供すること、及びＭＳＣによって記憶された認可キーを管理することができる。
【００６２】
[0069]  例えば、メディア・アイテムが購入された場合、認可サーバは、メディア・アイテムに関する認可ファイル、メディア・アイテムに関するデータ・ファイル、及び、メディア・アイテムに対応する認可キーを、メディア記憶デバイスに送信することができる。認可サーバは、メディア記憶デバイス上のＭＳＣに「Manage KAuthorization」コマンド６０３を送信することもできる。このコマンド６０３は、指定された認可キーの受信、検証、及び記憶を、ＭＳＣに指示することができる。例えば管理コマンド６０３は、記憶する認可キー、記憶する認可識別子、及び認可キーを記憶するために使用するスロット番号、並びに他の認可関連情報を、ＭＳＣに対して指定することができる。
【００６３】
[0070]  この例では、レンダリング・デバイスは、キー管理コマンド６００のうちの１つ又は複数を再生プロセスの一部として使用することができる。例えばレンダリング・デバイス（例えば図１のレンダリング・デバイス１６０）は、「Read Slot」コマンド６０２を使用して、特定のメディア・アイテムに関するＭＳＣ内に認可キーがすでに存在する旨を検証することができる。再生プロセス中、ＭＳＣによって実行される命令（例えば、図４の４３０の一部、又は、図５の５２４などの再生エントリに関連する処理など）は、認可キーを使用して、例えば未認可メディア又は認可が除去されたメディアで、再生が実行不可能であることを保証することができる。
【００６４】
[0071]  認可サーバは、ＭＳＣとのセキュアな通信を確立することができる。キー発行サーバは、基本メディア記憶デバイス・キーをＭＳＣに発行することができる。一実装において、キー発行サーバはキー・ツリーを使用して、ＭＳＣに対して発行された基本メディア記憶デバイス・キーから導出されたキーの導出リストを作成する。キー発行サーバは、導出キーのリストを認可サーバに提供することができる。認可サーバは、導出キーのリストを使用してＭＳＣとのセキュアな通信を有することができる。導出キーを使用することで、認可サーバは、（例えば、ある認可サーバの侵害を、メディア及び他の認可サーバによって実行される侵害動作から保護するために、）ＭＳＣに割り当てられた基本メディア記憶デバイス・キーを実際に知ることなく、ＭＳＣとセキュアに通信できるようになる。
【００６５】
[0072]  一実装において、キー発行サーバは、ＭＳＣに割り当てられた基本メディア記憶デバイス・キー及び認可サーバに関連付けられた発行者識別子を入力として有する、キー・ツリー機能を使用して、導出キーを作成する。例えば導出キーは、（基本メディア記憶デバイス・キー、発行者ＩＤ）の入力パラメータを用いて算出可能である。導出キーは、対応するＭＳＣと認可サーバとの間で共有可能である。個々のコンテンツ・プロバイダ（例えば発行者）は、コンテンツ・プロバイダの認可サーバとＭＳＣとの間の通信を可能にする、導出キーのリストを受信することができる。
【００６６】
[0073]  図７は、様々な実装に従った、本明細書で説明されるメディア・セキュリティ・コントローラの動作のうちの１つ又は複数を実行するように構成された、例示のコンピュータ・システムを示すブロック図であり、以下でより詳細に説明する。図８は、様々な実装に従った、本発明で説明されるセキュリティ・モジュールの動作のうちの１つ又は複数を実行するように構成された、例示のコンピュータ・システムを示すブロック図であり、以下でより詳細に説明する。いくつかの実施形態では、図７及び図８のコンピュータ・システムは、メディア・セキュリティ・コントローラ及びセキュリティ・モジュールの両方の動作を実行するように構成された単一のシステム内で具体化される。
【００６７】
[0074]  図７は、本明細書で考察されるメディア・セキュリティ・コントローラの方法のうちの任意の１つ又は複数を機械に実行させるための命令セットが実行可能である、コンピュータ・システム７００の例示の形の機械を示す図である。代替の実装では、機械はＬＡＮ、イントラネット、エクストラネット、又はインターネット内の他の機械に接続可能（例えばネットワーキング可能）である。機械は、クライアント・サーバ・ネットワーク環境のサーバ又はクライアント機械の容量内で、或いは、ピアツーピア（又は分散型）ネットワーク環境のピア機械として、動作可能である。機械は、パーソナル・コンピュータ（ＰＣ）、タブレットＰＣ、セットトップ・ボックス（ＳＴＢ）、携帯情報端末（ＰＤＡ）、携帯電話、ウェブ機器、サーバ、ネットワーク・ルータ、スイッチ又はブリッジ、或いは、その機械によって実行されるアクションを指定する命令セットを（順次又はその他の方法で）実行可能な任意の機械とすることができる。更に、単一の機械のみが図示されているが、「機械」という用語は、本明細書で考察される方法のうちの１つ又は複数を実行するために、命令のセット（又は複数セット）を個別に又はまとめて実行する、機械、チップ、及び／又はマイクロプロセッサの任意の集合を含むようにも使用されるものとする。
【００６８】
[0075]  例示のコンピュータ・システム７００は、処理デバイス（プロセッサ）７０２、メイン・メモリ７０４（例えば読み取り専用メモリ（ＲＯＭ）、フラッシュ・メモリ、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブル・データ・レート（ＤＤＲ  ＳＤＲＡＭ）、又はＤＲＡＭ（ＲＤＲＡＭ）などの動的ランダム・アクセス・メモリ（ＤＲＡＭ））、静的メモリ７０６（例えばフラッシュ・メモリ、静的ランダム・アクセス・メモリ（ＳＲＡＭ）など）、及び、データ記憶デバイス６１４を含み、それらは互いにバス７３０を介して通信する。
【００６９】
[0076]  プロセッサ７０２は、マイクロプロセッサ、中央処理ユニットなどの、１つ又は複数の汎用処理デバイスを表す。より具体的に言えば、プロセッサ７０２は、複数命令セット・コンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セット・コンピューティング（ＲＩＳＣ）マイクロプロセッサ（ＡＲＭ又はＭＩＰＳ命令セットを実行する埋め込み型ＣＰＵコアを含むがこれに限定されない）、超長命令語（ＶＬＩＷ）マイクロプロセッサ、或いは、他の命令セットを実装するプロセッサ又は命令セットの組み合わせを実装するプロセッサとすることができる。プロセッサ７０２は、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワーク・プロセッサなどの、１つ又は複数の特定用途向け処理デバイスとすることもできる。プロセッサ７０２は、本明細書で考察される動作及びステップを実行するための命令７２２を実行するように構成される。命令７２２は、完全に又は少なくとも部分的に、コンピュータ・システム７００によるそれらの実行中にメイン・メモリ７０４内及び／又はプロセッサ７０２内に常駐することも可能であり、メイン・メモリ７０４及びプロセッサ７０２はコンピュータ可読記憶メディアも構成している。命令７２２は、ネットワーク・インターフェース・デバイス７０８を通じてネットワーク７２０を介して送信又は受信することも可能である。命令７２２（又は本発明に関連付けられた他の命令）は、デジタル署名付き（又は別の方法で、暗号認可済み）とすること、及び、実行前に（例えばプロセッサ７０２によって）検証することが可能である。
【００７０】
[0077]  コンピュータ・システム７００は、ネットワーク・インターフェース・デバイス７０８を更に含むことができる。コンピュータ・システム７００は、ビデオ・ディスプレイ・ユニット７１０（例えば液晶ディスプレイ（ＬＣＤ）又は陰極線管（ＣＲＴ））、入力デバイス７１２（例えばキーパッド、タッチ・スクリーン、英数字キーボード、動作検知入力デバイスなど）、カーソル制御デバイス７１４（例えばマウス）、及び／又は信号生成デバイス７１６（例えばスピーカ）を含むこともできる。
【００７１】
[0078]  データ記憶デバイス７１８は、本明細書で説明されるメディア・セキュリティ・コントローラの方法又は機能のうちの任意の１つ又は複数を具体化する、１つ又は複数の命令セット７２３（例えばソフトウェア）が記憶される、コンピュータ可読記憶メディア７２８を含むことが可能である。一実装において、データ記憶デバイス７１８は、本明細書で説明されるメディア・セキュリティ・コントローラ・モジュールの方法又は機能のうちの任意の１つ又は複数を具体化する、１つ又は複数の命令セット７２３が記憶される、コンピュータ可読記憶メディア７２８を含むことが可能である。コンピュータ可読記憶メディア７２８（機械可読記憶メディア）は単一メディアであるような例示の実装で示されているが、「コンピュータ可読記憶メディア」という用語は、１つ又は複数の命令セットを記憶する、単一メディア又は複数メディア（例えばＲＡＩＤアレイ、ネットワーク接続記憶デバイス、フラッシュ・メモリ、集中型又は分散型データベース、及び／又は、関連付けられたキャッシュ及びサーバなど）を含むものと取られるべきである。「コンピュータ可読記憶メディア」という用語は、機械による実行のための命令セットの記憶、暗号化、又は担持が可能であり、本発明の開示の方法のうちの任意の１つ又は複数を機械に実行させる、任意のメディアを含むものとも取られるべきである。したがって「コンピュータ可読記憶メディア」という用語は、ソリッドステート・メモリ、光メディア、及び磁気メディアを含むがこれらに限定されないものと取られるべきである。
【００７２】
[0079]  図８は、本明細書で考察されるセキュリティ・モジュールの方法のうちの任意の１つ又は複数を機械に実行させるための命令セットが実行可能である、コンピュータ・システム８００の例示の形の機械を示す図である。代替の実装では、機械はＬＡＮ、イントラネット、エクストラネット、又はインターネット内の他の機械に接続可能（例えばネットワーキング可能）である。機械は、クライアント・サーバ・ネットワーク環境のサーバ又はクライアント機械の容量内で、或いは、ピアツーピア（又は分散型）ネットワーク環境のピア機械として、動作可能である。機械は、パーソナル・コンピュータ（ＰＣ）、タブレットＰＣ、セットトップ・ボックス（ＳＴＢ）、携帯情報端末（ＰＤＡ）、携帯電話、ウェブ機器、サーバ、ネットワーク・ルータ、スイッチ又はブリッジ、或いは、その機械によって実行されるアクションを指定する命令セットを（順次又はその他の方法で）実行可能な任意の機械とすることができる。更に、単一の機械のみが図示されているが、「機械」という用語は、本明細書で考察される方法のうちの１つ又は複数を実行するために、命令のセット（又は複数セット）を個別に又はまとめて実行する、機械、チップ、及び／又はマイクロプロセッサの任意の集合を含むようにも使用されるものとする。
【００７３】
[0080]  例示のコンピュータ・システム８００は、処理デバイス（プロセッサ）８０２、メイン・メモリ８０４（例えば読み取り専用メモリ（ＲＯＭ）、フラッシュ・メモリ、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）、ダブル・データ・レート（ＤＤＲ  ＳＤＲＡＭ）、又はＤＲＡＭ（ＲＤＲＡＭ）などの動的ランダム・アクセス・メモリ（ＤＲＡＭ））、静的メモリ８０６（例えばフラッシュ・メモリ、静的ランダム・アクセス・メモリ（ＳＲＡＭ）など）、及び、データ記憶デバイス８１８を含み、それらは互いにバス８３０を介して通信する。
【００７４】
[0081]  プロセッサ８０２は、マイクロプロセッサ、中央処理ユニットなどの、１つ又は複数の汎用処理デバイスを表す。より具体的に言えば、プロセッサ８０２は、複数命令セット・コンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セット・コンピューティング（ＲＩＳＣ）マイクロプロセッサ（ＡＲＭ又はＭＩＰＳ命令セットを実行する埋め込み型ＣＰＵコアを含むがこれに限定されない）、超長命令語（ＶＬＩＷ）マイクロプロセッサ、或いは、他の命令セットを実装するプロセッサ又は命令セットの組み合わせを実装するプロセッサとすることができる。プロセッサ８０２は、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）、ネットワーク・プロセッサなどの、１つ又は複数の特定用途向け処理デバイスとすることもできる。プロセッサ８０２は、本明細書で考察される動作及びステップを実行するための命令８２２を実行するように構成される。プロセッサ８０２、或いはシステム内の他のハードウェア及び／又はソフトウェアは、セキュリティ・モジュール１６５の機能を実装する。
【００７５】
[0082]  コンピュータ・システム８００は、ネットワーク・インターフェース・デバイス８０８を更に含むことができる。コンピュータ・システム８００は、ビデオ・ディスプレイ・ユニット８１０（例えば液晶ディスプレイ（ＬＣＤ）又は陰極線管（ＣＲＴ））、入力デバイス８１２（例えばキーパッド、タッチ・スクリーン、英数字キーボード、動作検知入力デバイスなど）、カーソル制御デバイス８１４（例えばマウス）、及び／又は信号生成デバイス８１６（例えばスピーカ）を含むこともできる。
【００７６】
[0083]  一実装において、データ記憶デバイス８１８は、本明細書で説明されるセキュリティ・モジュールの方法又は機能のうちの任意の１つ又は複数を具体化する、１つ又は複数の命令セット８２２（例えばソフトウェア）が記憶される、コンピュータ可読記憶メディア８２８を含むことが可能である。命令８２２は、完全に又は少なくとも部分的に、コンピュータ・システム８００によるそれらの実行中にメイン・メモリ８０４内及び／又はプロセッサ８０２内に常駐することも可能であり、メイン・メモリ８０４及びプロセッサ８０２はコンピュータ可読記憶メディアも構成している。命令８２２は、ネットワーク・インターフェース・デバイス８０８を通じてネットワーク８２０を介して送信又は受信することも可能である。
【００７７】
[0084]  一実装において、命令８２２は、セキュリティ・モジュール（例えば図１のセキュリティ・モジュール１６５）に関する命令、及び／又はセキュリティ・モジュールを呼び出す方法を含むソフトウェア・ライブラリを含む。コンピュータ可読記憶メディア８２８（機械可読記憶メディア）は単一メディアであるような例示の実装で示されているが、「コンピュータ可読記憶メディア」という用語は、１つ又は複数の命令セットを記憶する、単一メディア又は複数メディア（例えばＲＡＩＤアレイ、ネットワーク接続記憶デバイス、フラッシュ・メモリ、集中型又は分散型データベース、及び／又は、関連付けられたキャッシュ及びサーバなど）を含むものと取られるべきである。「コンピュータ可読記憶メディア」という用語は、機械による実行のための命令セットの記憶、暗号化、又は担持が可能であり、本発明の開示の方法のうちの任意の１つ又は複数を機械に実行させる、任意のメディアを含むものとも取られるべきである。したがって「コンピュータ可読記憶メディア」という用語は、ソリッドステート・メモリ、光メディア、及び磁気メディアを含むがこれらに限定されないものと取られるべきである。
【００７８】
[0085]  様々な実施形態において、メディアは、例えばＵＳＢ、ＳＤ／ＳＤＨＣ／ＳＤＸＣなど、ＳＣＳＩ、ＳＡＴＡ、及びイーサネット・プロトコルを介して、レンダリング・デバイスに接続される。接続は有線又は無線とすることができる。ＦＡＴ３２、ＮＦＳ、ＮＴＦＳ、ＲｉｓｅｒＦＳなどを含む任意のファイル・システムが、記憶デバイス上で使用可能である。「特殊な」セキュア・トランザクションを含む通信は、帯域外制御動作を介して処理すること、又はレガシー・ファイル・システム動作の一部である大容量データ転送動作と統合することが可能である。本システムを実装するメディア・デバイスは、例えば通常消費者のハード・ドライブ、フラッシュ・カード、ＵＳＢドライブなど、完全に後方互換性であるものとすることができる。同様に、本システムを実装するレンダリング・デバイスは、インターネット・ストリーミング、光ドライブからの再生などの、他の再生方法も同様にサポートすることができる。
【００７９】
[0086]  上記の説明では、多数の細部が示されている。しかしながら本開示の特典を有する当業者であれば、本開示がこれらの特定の細部無しでも実施可能であることが明らかとなろう。いくつかのインスタンスでは、本開示を曖昧にするのを避けるために、周知の構成及びデバイスは詳細にではなくブロック図形式で示されている。
【００８０】
[0087]  詳細な説明のいくつかの部分は、コンピュータ・メモリ内のデータ・ビット上での動作のアルゴリズム及び記号表現に関して提示されている。これらのアルゴリズムの記述及び表現は、データ処理の同業者によってそれらの作業内容を当業者に最も効率よく伝えるために使用される手段である。アルゴリズムは、本明細書では、また一般に、所望な結果につながる首尾一貫したステップ・シーケンスであると考えられる。このステップは、物理量の物理的操作を必要とするものである。通常、これらの量は、記憶、転送、結合、比較、及びその他の方法での操作が可能な、電気又は磁気の信号形式を取るが、必ずしもそうとは限らない。これらの信号は、一般的な用法という理由で、時にはビット、値、要素、記号、文字、項、数、などとして言い表すことが便利であることが証明されている。
【００８１】
[0088]  しかしながら、これら及び同様の用語はすべて適切な物理量に関連付けられ、単にこれらの量に適用される便利なラベルであることに留意されたい。以下の考察から明らかなように特に記載されていない限り、説明全体を通じて、「送信」、「受信」、「転送」、「復号」、「暗号化」、「圧縮」、「実行」、「確立」、「作成」、「レンダリング」、「処理」などの用語を使用する考察は、コンピュータ・システムのレジスタ及びメモリ内で物理（例えば電子）量として表されるデータを操作し、コンピュータ・システムのメモリ又はレジスタ、或いは他のこうした情報の記憶、伝送、又は表示デバイス内で、物理量として同様に表される他のデータに変換する、コンピュータ・システム又は同様の電子コンピューティング・デバイスのアクション及びプロセスを言い表すものであることを理解されたい。
【００８２】
[0089]  説明を簡単にするために、方法は、本明細書では一連の動作として記述及び説明されている。しかしながら、本開示に従った動作は様々な順序で及び／又は同時に、並びに本明細書で提示及び説明されていない他の動作と共に、発生可能である。更に図示されたすべての動作が、開示された主題に従った方法を実装する必要がある訳ではない可能性がある。加えて当業者であれば、代替として方法は、状態図又はイベントを介して一連の相互に関連のある状態として表されることが可能であることを理解されよう。加えて、本明細書で開示された方法は、こうした方法をコンピューティング・デバイスに移送及び転送することを容易にするために製品上に記憶可能であることを理解されたい。本明細書で使用される製品という用語は、任意のコンピュータ可読デバイス又は記憶メディアからアクセス可能なコンピュータ・プログラムを包含することが意図される。
【００８３】
[0090]  本開示のある実装は、本明細書で動作を実行するための装置にも関する。本装置は、意図された目的のために構築可能であるか、又は、コンピュータに記憶されたコンピュータ・プログラムによって選択的に活動化又は再構成される汎用コンピュータを備えることができる。こうしたコンピュータ・プログラムは、フロッピィ・ディスク、光ディスク、ＣＤ−ＲＯＭ、及び光磁気ディスクを含む任意のタイプのディスク、読み取り専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気又は光カード、又は、電子命令を記憶するのに好適な任意のタイプのメディアなどであるが、これらに限定されない、コンピュータ可読記憶メディアに記憶することができる。
【００８４】
[0091]  本明細書全体を通じて「一実装」又は「実装」という言及は、実装に関連して説明する特定の機能、構造、又は特徴が、少なくとも１つの実装に含まれることを意味する。したがって、本明細書全体を通じて様々な箇所における「一実装において」又は「実装において」という句の出現は、必ずしもすべてが同じ実装に言及するものとは限らない。加えて、「又は」という用語は、排他的「又は」ではなく包含的「又は」を意味することが意図される。更に、「例」又は「例示」という語は、本明細書では例、インスタンス、又は図示として働くことを意味するように使用される。本明細書で「例示」として説明される任意の態様又は設計は、必ずしも他の態様又は設計全体にわたって好ましいか又は有利であるものとして解釈されるものではない。むしろ、「例」又は「例示」という語は、概念を具体的に提示することが意図される。
【００８５】
[0092]  上記の説明は例示的であり、限定的ではないことが理解されよう。当業者であれば、上記の説明を読みこれを理解することで多くの他の実装が明らかとなろう。したがって本開示の範囲は、添付の特許請求の範囲、並びにこうした特許請求の範囲が資格を与えられた等価物の全範囲を基準にして、決定されるべきである。
【００８６】
[0093]  以下の例は、さらなる実施形態に関係する。
【００８７】
[0094]  例１は、１）メディア・アイテム、及びレンダリング・デバイスによるメディア・アイテムのレンダリングに関するデータを記憶するためのメモリと、２）レンダリング・デバイスが認可ファイルを読み取るのに応答して、メモリからのデータの一部を読み取り、そのデータの一部をメディア・セキュリティ・コントローラに提供するための、レンダリング・デバイスに関するメッセージを、レンダリング・デバイスに送信すること、データの一部をレンダリング・デバイスから受信すること、データの一部を変換すること、及び、変換されたデータの一部をレンダリング・デバイスに送信することを、実行するために、メモリに結合された処理デバイスを備えるメディア・セキュリティ・コントローラと、を備える、メディア・セキュリティ・コントローラを使用して、メディア・アイテムを保護するための装置である。
【００８８】
[0095]  例２において、例１の主題における変換されたデータの一部は、オプションで、メディア・アイテムをレンダリングするためのレンダリング・デバイスに関するデータを含むことができる。
【００８９】
[0096]  例３において、例１の主題におけるメディア・セキュリティ・コントローラは、オプションで、データの一部を復号すること、データの一部を暗号化すること、又はデータの一部を圧縮することのうちの少なくとも１つによって、データの一部を変換することができる。
【００９０】
[0097]  例４において、例１の主題におけるメディア・セキュリティ・コントローラは、オプションで、変換されたデータの一部に対応する認可キーを記憶するための第２のメモリを更に備えることができる。
【００９１】
[0098]  例５において、例４の主題における処理デバイスは、オプションで、認可キーを使用してデータの一部を更に復号することができる。
【００９２】
[0099]  例６において、例１の主題におけるメディア・セキュリティ・コントローラは、オプションで、公開キー・インフラストラクチャ暗号化に基づいてレンダリング・デバイスと第１のハンドシェイクを実行すること、対称キー暗号化に基づいてレンダリング・デバイスと第２のハンドシェイクを実行すること、及び、第１のハンドシェイク及び第２のハンドシェイクに基づいてレンダリング・デバイスとのセキュア・セッションを確立することが、可能である。
【００９３】
[00100]  例７において、例１の主題におけるメディア・セキュリティ・コントローラは、オプションで、データの一部を変換するための認可キーを指定する命令セットを受信することであって、命令セットはフォレンジック分析が第三者に対するメディア・セキュリティ・コントローラを識別できるようにする、受信すること、及び、認可キーを使用して変換されたデータの一部を作成することであって、変換されたデータの一部は第三者に対するメディア・セキュリティ・コントローラを識別する、作成することによって、データの一部を変換することができる。
【００９４】
[00101]  例８において、例１の主題におけるメディア・セキュリティ・コントローラは、オプションで、メディア・セキュリティ・コントローラの第１の証明改訂リストを、レンダリング・デバイスの第２の証明改訂リストと同期させることが可能であり、第１の証明改訂リスト及び第２の証明改訂リストは権利のセットに対する１つ又は複数の変更を記述する。
【００９５】
[00102]  様々な実施形態は、上記の動作機能の異なる組み合わせを有することができる。例えば、上記の装置のすべてのオプション機能は、本明細書で説明した方法又はプロセスに関して実装することも可能であり、例における仕様は１つ又は複数の実施形態のいずれでも使用可能である。
【００９６】
[00103]  例９は、１）レンダリング・デバイスが認可ファイルを読み取ることに応答して、メディア記憶デバイスのメモリからのデータの一部を読み取り、そのデータの一部をメディア・セキュリティ・コントローラに提供するための、レンダリング・デバイスに関するメッセージを、メディア・セキュリティ・コントローラによってレンダリング・デバイスに送信することであって、メディア記憶デバイスのメモリ内のデータは、レンダリング・デバイスによってレンダリングされることになるメディア・アイテムに関係する、送信すること、２）メディア・セキュリティ・コントローラによって、レンダリング・デバイスからデータの一部を受信すること、３）メディア・セキュリティ・コントローラによってデータの一部を変換すること、及び４）変換されたデータの一部をメディア・セキュリティ・コントローラによってレンダリング・デバイスに送信することを含む、メディア・セキュリティ・コントローラを使用してメディア・アイテムを保護するための方法である。
【００９７】
[00104]  例１０において、例９の主題における変換されたデータの一部は、オプションで、メディア・アイテムをレンダリングするためのレンダリング・デバイスに関するデータを含むことができる。
【００９８】
[00105]  例１１において、例９の主題におけるデータの一部の変換は、オプションで、データの一部の復号、データの一部の暗号化、又はデータの一部の圧縮のうちの、少なくとも１つを含むことができる。
【００９９】
[00106]  例１２において、例９の主題におけるメディア・セキュリティ・コントローラは、オプションで、変換されたデータの一部に対応する認可キーを記憶するための第２のメモリを備えることができる。
【０１００】
[00107]  例１３において、例１２の主題におけるデータの一部の変換は、オプションで、メディア・セキュリティ・コントローラによって認可キーを使用してデータの一部を復号することを含むことができる。
【０１０１】
[00108]  例１４において、例９の主題は、オプションで、公開キー・インフラストラクチャ暗号化に基づいてメディア・セキュリティ・コントローラとレンダリング・デバイスとの間で第１のハンドシェイクを実行すること、対称キー暗号化に基づいてメディア・セキュリティ・コントローラとレンダリング・デバイスとの間で第２のハンドシェイクを実行すること、及び、第１のハンドシェイク及び第２のハンドシェイクに基づいてレンダリング・デバイスとのセキュア・セッションを確立することを、更に含むことができる。
【０１０２】
[00109]  例１５において、例９の主題におけるデータの一部の変換は、オプションで、データの一部を変換するための認可キーを指定する命令セットを、メディア・セキュリティ・コントローラによって受信することであって、命令セットはフォレンジック分析が第三者に対するメディア・セキュリティ・コントローラを識別できるようにする、受信すること、及び、認可キーを使用して変換されたデータの一部をメディア・セキュリティ・コントローラによって作成することであって、変換されたデータの一部は第三者に対するメディア・セキュリティ・コントローラを識別する、作成することを、含むことができる。
【０１０３】
[00110]  例１６において、例９の主題は、オプションで、メディア・セキュリティ・コントローラの第１の証明改訂リストを、レンダリング・デバイスの第２の証明改訂リストと同期させることを更に含むことが可能であり、第１の証明改訂リスト及び第２の証明改訂リストは権利のセットに対する１つ又は複数の変更を記述する。
【０１０４】
[00111]  様々な実施形態は、上記の動作機能の異なる組み合わせを有することができる。例えば、上記の方法のすべてのオプション機能は、持続性のコンピュータ可読記憶メディアに関して実装することも可能である。例における仕様は１つ又は複数の実施形態のいずれでも使用可能である。
【０１０５】
[00112]  例１７〜２４は、コンピューティング・システムによって実行された場合、例９〜１６の動作をコンピューティング・システムに実行させる命令を含む、持続性のコンピュータ可読記憶メディアである。
【０１０６】
[00113]  様々な実施形態は、上記の動作機能の異なる組み合わせを有することができる。例えば、上記の方法のすべてのオプション機能は、装置に関して実装することも可能である。例における仕様は１つ又は複数の実施形態のいずれでも使用可能である。
【０１０７】
[00114]  例２５〜３２は、例９〜１６の動作を実行するための手段を備えるメディア・セキュリティ・コントローラを使用してメディア・アイテムを保護するためのシステムである。
【０１０８】
[00115]  例３３は、１）メディア・アイテムをレンダリングするためのデータを記憶するためのメモリと、２）処理デバイスが認可ファイルを読み取るのに応答して、メモリからデータの一部を読み取り、データの一部をメディア・セキュリティ・コントローラに提供するために、メディア・セキュリティ・コントローラからメッセージを受信すること、データの一部をメディア・セキュリティ・コントローラに送信すること、及び変換されたデータの一部をメディア・セキュリティ・コントローラから受信することを実行するために、メモリに結合された処理デバイスと、を備えるメディア・セキュリティ・コントローラを使用して、メディア・アイテムを保護するための装置である。
【０１０９】
[00116]  例３４において、例３３の主題における処理デバイスは、オプションで、メディア・セキュリティ・コントローラから受信した変換されたデータの一部に基づいて再生マップを更に作成することが可能であり、再生マップはメディア・アイテムをレンダリングするためのデータを含む。
【０１１０】
[00117]  例３５において、例３３の主題における処理デバイスは、オプションで、メディア・セキュリティ・コントローラから受信した変換されたデータの一部に基づいてメディア・アイテムを更にレンダリングすることが可能である。
【０１１１】
[00118]  例３６において、例３３の主題における処理デバイスは、オプションで、メディア記憶デバイスと共有するセッション・キーを使用して変換されたデータの一部を更に処理することが可能である。
【０１１２】
[00119]  例３７において、例３６の主題における処理デバイスは、オプションで、変換されたデータの一部の復号、変換されたデータの一部の暗号化、又は変換されたデータの一部の圧縮のうちの少なくとも１つによって、変換されたデータの一部を処理することができる。例３８において、例３３の主題における処理デバイスは、オプションで、公開キー・インフラストラクチャ暗号化に基づいてメディア・セキュリティ・コントローラと第１のハンドシェイクを実行すること、対称キー暗号化に基づいてメディア・セキュリティ・コントローラと第２のハンドシェイクを実行すること、及び、第１のハンドシェイク及び第２のハンドシェイクに基づいてメディア・セキュリティ・コントローラとのセキュア・セッションを確立することが、更に可能である。
【０１１３】
[00120]  例３９において、例３３の主題における処理デバイスは、オプションで、レンダリング・デバイスの第１の証明改訂リストを、メディア・セキュリティ・コントローラの第２の証明改訂リストと同期させることが可能であり、第１の証明改訂リスト及び第２の証明改訂リストは権利のセットに対する１つ又は複数の変更を記述する。
【０１１４】
[00121]  様々な実施形態は、上記の動作機能の異なる組み合わせを有することができる。例えば、上記の装置のすべてのオプション機能は、本明細書で説明した方法又はプロセスに関して実装することも可能であり、例における仕様は１つ又は複数の実施形態のいずれでも使用可能である。
【０１１５】
[00122]  例４０は、１）レンダリング・デバイスが認可ファイルを読み取ることに応答して、メディア・セキュリティ・コントローラからレンダリング・デバイスによってメッセージを受信することであって、メッセージは、メディア記憶デバイスのメモリからデータの一部を読み取って、このデータの一部をメディア・セキュリティ・コントローラに提供するようにレンダリング・デバイスに命じ、メディア記憶デバイスのメモリ内のデータはレンダリング・デバイスによってレンダリングされるメディア・アイテムに関する、受信すること、２）レンダリング・デバイスによってデータの一部をメディア・セキュリティ・コントローラに送信すること、及び、３）レンダリング・デバイスによって、変換されたデータの一部をメディア・セキュリティ・コントローラから受信することを含む、メディア・セキュリティ・コントローラを使用してメディア・アイテムを保護するための方法である。
【０１１６】
[00123]  例４１において、例４０の主題は、オプションで、メディア・セキュリティ・コントローラから受信した変換されたデータの一部に基づいて再生マップを作成することを更に含むことが可能であり、再生マップはメディア・アイテムをレンダリングするためのデータを含む。
【０１１７】
[00124]  例４２において、例４０の主題は、オプションで、メディア・セキュリティ・コントローラから受信した変換されたデータの一部に基づいてメディア・アイテムをレンダリングすることを更に含むことが可能である。
【０１１８】
[00125]  例４３において、例４０の主題は、オプションで、メディア記憶デバイスと共有するセッション・キーを使用して変換されたデータの一部を処理することを更に含むことが可能である。
【０１１９】
[00126]  例４４において、例４３の主題における変換されたデータの一部の処理は、オプションで、変換されたデータの一部の復号、変換されたデータの一部の暗号化、又は変換されたデータの一部の圧縮のうちの、少なくとも１つを含むことが可能である。
【０１２０】
[00127]  例４５において、例４０の主題は、オプションで、公開キー・インフラストラクチャ暗号化に基づいてメディア・セキュリティ・コントローラと第１のハンドシェイクを実行すること、対称キー暗号化に基づいてメディア・セキュリティ・コントローラと第２のハンドシェイクを実行すること、及び、第１のハンドシェイク及び第２のハンドシェイクに基づいてメディア・セキュリティ・コントローラとのセキュア・セッションを確立することを、更に含むことが可能である。
【０１２１】
[00128]  例４６において、例４０の主題は、オプションで、レンダリング・デバイスの第１の証明改訂リストを、メディア・セキュリティ・コントローラの第２の証明改訂リストと同期させることを更に含むことが可能であり、第１の証明改訂リスト及び第２の証明改訂リストは権利のセットに対する１つ又は複数の変更を記述する。
【０１２２】
[00129]  様々な実施形態は、上記の動作機能の異なる組み合わせを有することができる。例えば、上記の方法のすべてのオプション機能は、持続性のコンピュータ可読記憶メディアに関して実装することも可能である。例における仕様は１つ又は複数の実施形態のいずれでも使用可能である。
【０１２３】
[00130]  例４７〜５３は、コンピューティング・システムによって実行された場合、例４０〜４６の動作をコンピューティング・システムに実行させる命令を含む、持続性のコンピュータ可読記憶メディアである。
【０１２４】
[00131]  様々な実施形態は、上記の動作機能の異なる組み合わせを有することができる。例えば、上記の方法のすべてのオプション機能は、装置に関して実装することも可能である。例における仕様は１つ又は複数の実施形態のいずれでも使用可能である。
【０１２５】
[00132]  例５４〜６０は、例４０〜４６の動作を実行するための手段を備えるメディア・セキュリティ・コントローラを使用してメディア・アイテムを保護するためのシステムである。
【０１２６】
[00133]  例６１は、１）証明を記憶するためのメモリと、２）証明内の権利のセットを識別し、権利のセットへの変更を識別し、権利のセットへの変更を記述する証明改訂リストを作成し、証明改訂リストを配布するために、メモリに結合された処理デバイスとを備える、証明内に定義された権利を改定するための装置である。
【０１２７】
[00134]  例６２において、例６１の主題における変更は、オプションで、メディア・アイテムをレンダリングするための品質レベルに関係することができる。
【０１２８】
[00135]  例６３において、例６１の主題における権利のセットは、オプションで、メディア・セキュリティ・コントローラ又はレンダリング・デバイスのうちの少なくとも１つに関連付けられた１つ又は複数の権利を記述することができる。
【０１２９】
[00136]  例６４において、例６１の主題における証明改訂リストは、オプションで、バージョン識別子を含むことが可能である。
【０１３０】
[00137]  様々な実施形態は、上記の動作機能の異なる組み合わせを有することができる。例えば、上記の装置のすべてのオプション機能は、本明細書で説明した方法又はプロセスに関して実装することも可能であり、例における仕様は１つ又は複数の実施形態のいずれでも使用可能である。
【０１３１】
[00138]  例６５は、１）証明内の権利のセットを識別すること、２）権利のセットへの変更を識別すること、３）コンピュータ・システムによって、権利のセットに対する変更を記述する証明改訂リストを作成すること、及び、４）証明改訂リストを配布することを含む、証明内に定義された権利を改定するための方法である。
【０１３２】
[00139]  例６６において、例６５の主題における変更は、オプションで、メディア・アイテムをレンダリングするための品質レベルに関係することができる。
【０１３３】
[00140]  例６７において、例６５の主題における権利のセットは、オプションで、メディア・セキュリティ・コントローラ又はレンダリング・デバイスのうちの少なくとも１つに関連付けられた１つ又は複数の権利を記述することができる。
【０１３４】
[00141]  例６８において、例６５の主題における証明改訂リストは、オプションで、バージョン識別子を含むことが可能である。
【０１３５】
[00142]  様々な実施形態は、上記の動作機能の異なる組み合わせを有することができる。例えば、上記の方法のすべてのオプション機能は、持続性のコンピュータ可読記憶メディアに関して実装することも可能である。例における仕様は１つ又は複数の実施形態のいずれでも使用可能である。
【０１３６】
[00143]  例６９〜７２は、コンピューティング・システムによって実行された場合、例６５〜６８の動作をコンピューティング・システムに実行させる命令を含む、持続性のコンピュータ可読記憶メディアである。
【０１３７】
[00144]  様々な実施形態は、上記の動作機能の異なる組み合わせを有することができる。例えば、上記の方法のすべてのオプション機能は、装置に関して実装することも可能である。例における仕様は１つ又は複数の実施形態のいずれでも使用可能である。
【０１３８】
[00145]  例７３〜７６は、例６５〜６８の動作を実行するための手段を備える、証明内に定義された権利を改定するためのシステムである。
【０１３９】
[00146]  例７７は、１）証明を記憶するためのメモリと、２）メディア・アイテムをレンダリングすることに関係するアクションを実行するためのデバイスを識別し、デバイスに割り当てられた権利のセットを記述する証明を識別し、証明改訂リスト内の権利のセットへの変更を識別し、証明改訂リスト内の変更に基づいてメディア・アイテムをレンダリングするためのアクションをデバイスが実行できるようにするために、メモリに結合された処理デバイスとを備える、証明改訂リストを使用してデバイスの権利を改定するための装置である。
【０１４０】
[00147]  例７８において、例７７の主題における処理デバイスは、オプションで、証明改訂リストが古いかどうかを決定し、証明改訂リストが古い旨の決定に基づいて現行の証明改訂リストを受信することが、更に可能である。
【０１４１】
[00148]  例７９において、例７７の主題における変更は、オプションで、メディア・アイテムをレンダリングするための品質レベルに関係することができる。
【０１４２】
[00149]  例８０において、例７７の主題における権利のセットは、オプションで、メディア・セキュリティ・コントローラ又はレンダリング・デバイスのうちの少なくとも１つに割り当てられた１つ又は複数の権利を記述することができる。
【０１４３】
[00150]  例８１において、例７７の主題における証明改訂リストは、オプションで、バージョン識別子を含むことが可能である。
【０１４４】
[00151]  様々な実施形態は、上記の動作機能の異なる組み合わせを有することができる。例えば、上記の装置のすべてのオプション機能は、本明細書で説明した方法又はプロセスに関して実装することも可能であり、例における仕様は１つ又は複数の実施形態のいずれでも使用可能である。
【０１４５】
[00152]  例８２は、１）メディア・アイテムをレンダリングすることに関係するアクションを実行するためのデバイスを識別すること、２）デバイスに割り当てられた権利のセットを記述する証明を識別すること、３）証明改訂リスト内の権利のセットへの変更を識別すること、及び４）証明改訂リスト内の変更に基づいてメディア・アイテムをレンダリングするためのアクションをデバイスが実行できるようにすることを含む、証明改訂リストを使用してデバイスの権利を改定するための方法である。
【０１４６】
[00153]  例８３において、例８２の主題は、オプションで、証明改訂リストが古いかどうかを決定すること、及び、証明改訂リストが古い旨の決定に基づいて現行の証明改訂リストを受信することを、更に含むことが可能である。
【０１４７】
[00154]  例８４において、例８２の主題における変更は、オプションで、メディア・アイテムをレンダリングするための品質レベルに関係することができる。
【０１４８】
[00155]  例８５において、例８２の主題における権利のセットは、オプションで、メディア・セキュリティ・コントローラ又はレンダリング・デバイスのうちの少なくとも１つに割り当てられた１つ又は複数の権利を記述することができる。
【０１４９】
[00156]  例８６において、例８２の主題における証明改訂リストは、オプションで、バージョン識別子を含むことが可能である。
【０１５０】
[00157]  様々な実施形態は、上記の動作機能の異なる組み合わせを有することができる。例えば、上記の方法のすべてのオプション機能は、持続性のコンピュータ可読記憶メディアに関して実装することも可能である。例における仕様は１つ又は複数の実施形態のいずれでも使用可能である。
【０１５１】
[00158]  例８７〜９１は、コンピューティング・システムによって実行された場合、例８２〜８６の動作をコンピューティング・システムに実行させる命令を含む、持続性のコンピュータ可読記憶メディアである。
【０１５２】
[00159]  様々な実施形態は、上記の動作機能の異なる組み合わせを有することができる。例えば、上記の方法のすべてのオプション機能は、装置に関して実装することも可能である。例における仕様は１つ又は複数の実施形態のいずれでも使用可能である。
【０１５３】
[00160]  例９２〜９６は、例８２〜８６の動作を実行するための手段を備える証明改訂リストを使用してデバイスの権利を改定するためのシステムである。
【０１５４】
[00161]  上記の説明では、多数の細部が示されている。しかしながら本開示の特典を有する当業者であれば、実施形態がこれらの特定の細部無しでも実施可能であることが明らかとなろう。いくつかのインスタンスでは、説明を曖昧にするのを避けるために、周知の構成及びデバイスは詳細にではなくブロック図形式で示されている。
【図１】
2015529892.tif 000003
【図２】
2015529892.tif 000004
【図３】
2015529892.tif 000005
【図４】
2015529892.tif 000006
【図５】
2015529892.tif 000007
【図６】
2015529892.tif 000008
【図７】
2015529892.tif 000009
【図８】
2015529892.tif 000010
【国際調査報告】
2015529892.tif 000011