(57)【特許請求の範囲】
【請求項１】
クライアントコンピューティングシステムにおいてコンテンツを処理する方法であって、
前記クライアントコンピューティングシステムとサービスプロバイダサーバとの間においてハードウェアベースの信頼のルートを構築する段階と、
前記サービスプロバイダサーバから、暗号化されているコンテンツと、前記暗号化されているコンテンツに対応付けられている少なくとも１つの暗号化されているタイトルキーを含むキーブロブとを取得する段階と、
前記サービスプロバイダサーバから、前記暗号化されているコンテンツに含まれている広告スロットを説明している情報を含む広告ダイジェストと、前記暗号化されているコンテンツに含まれている前記広告スロットに挿入される広告を含む広告キャッシュとを取得する段階と、
前記クライアントコンピューティングシステムのセキュリティプロセッサによって、前記クライアントコンピューティングシステム上のコンテンツ処理を制御する段階と、
前記暗号化されているコンテンツに対応付けられている前記少なくとも１つの暗号化されているタイトルキーを、前記セキュリティプロセッサから、保護されているチップ・ツー・チップデータインターフェースを介して、グラフィクスエンジンに供給する段階と、
前記セキュリティプロセッサによって、前記広告ダイジェストに基づいて、前記広告キャッシュから、前記暗号化されているコンテンツに挿入する広告を選択する段階と、
前記セキュリティプロセッサによって、性能またはセキュリティを低下させることなく、全システムメモリ帯域幅で、保護されている音声／動画経路を介して、前記暗号化されているコンテンツおよび選択された前記広告を前記グラフィクスエンジンに供給する段階と、
前記セキュリティプロセッサによって、前記選択された広告を前記暗号化されているコンテンツに含まれている前記広告スロットに挿入する段階と、
前記グラフィクスエンジンにおいて、前記セキュリティプロセッサから受信する前記暗号化されているタイトルキーを用いて前記暗号化されているコンテンツを復号化、デコードおよび解凍し、前記選択された広告が前記コンテンツの前記広告スロットに挿入されている表示画像データを作成する段階と、
前記グラフィクスエンジンにおいて、前記表示画像データを再度暗号化する段階と、
暗号化された前記表示画像データを、保護された表示インターフェースを介して、ディスプレイに供給する段階と
を備える方法。
【請求項２】
前記タイトルキーを用いて前記選択された広告を暗号化する段階をさらに備える請求項１に記載の方法。
【請求項３】
前記サービスプロバイダサーバに前記選択された広告をセキュアに報告する段階をさらに備える請求項１または２に記載の方法。
【請求項４】
前記広告を選択する段階は、前記クライアントコンピューティングシステムについて説明している、前記クライアントコンピューティングシステムが備えるセンサからのセンサ情報、前記クライアントコンピューティングシステムの種類情報、および前記クライアントコンピューティングシステムの設定情報の少なくとも１つを含むローカルコンテキスト情報に少なくとも部分的に基づいて、前記広告キャッシュから、前記暗号化されているコンテンツの前記広告スロットに挿入する広告を選択する段階を有する請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記広告を選択する段階は、前記クライアントコンピューティングシステムのユーザのプロフィールに少なくとも部分的に基づいて、前記広告キャッシュから、前記暗号化されているコンテンツの前記広告スロットに挿入する広告を選択する段階を有する請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記ユーザのプロフィールは、前記ユーザの好み、前記ユーザの興味、および、前記ユーザの過去の視聴履歴のうち少なくとも１つを含む、請求項５に記載の方法。
【請求項７】
前記広告キャッシュに含まれる前記広告の数は、前記暗号化されているコンテンツに含まれる前記広告スロットの数よりも多い請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記サービスプロバイダ以外のエンティティから広告を取得する段階と、
前記広告を前記広告キャッシュに格納する段階、および、前記広告を必要に応じてリアルタイムで取得する段階の少なくとも一方と
をさらに備える請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記広告ダイジェストおよび前記広告は、前記サービスプロバイダサーバによって暗号化され、暗号化された前記広告は前記広告キャッシュに格納される請求項１から８のいずれか一項に記載の方法。
【請求項１０】
前記セキュリティプロセッサによって、コンテンツおよび広告の利用に関する情報を、前記サービスプロバイダサーバにセキュアに送信する段階をさらに備える請求項１から９のいずれか一項に記載の方法。
【請求項１１】
コンテンツを処理するクライアントコンピューティングシステムであって、
複数のプロセッサコアおよびグラフィクスエンジンを有する第１のコンポーネントと、
保護されているチップ・ツー・チップデータインターフェースによって前記第１のコンポーネントに結合されている第２のコンポーネントと、
保護された表示インターフェースを介して前記第２のコンポーネントに結合されているディスプレイと
を備え、
前記複数のプロセッサコアのうち少なくとも１つは、メディアプレーヤアプリケーションを実行し、共有鍵を持ち、
前記メディアプレーヤアプリケーションは、ネットワークを介して前記クライアントコンピューティングシステムに結合されているサービスプロバイダサーバから暗号化されているコンテンツを取得し、前記サービスプロバイダサーバから広告ダイジェストおよび広告キャッシュを取得し、
前記広告ダイジェストは、前記暗号化されているコンテンツに含まれている広告スロットを説明する情報を含み、前記広告キャッシュは、前記暗号化されているコンテンツに含まれている前記広告スロットに挿入される広告を含み、
前記グラフィクスエンジンは、保護されている音声／動画経路を介して前記暗号化されているコンテンツを受信し、
前記第２のコンポーネントは、証明処理および鍵管理処理を実現するファームウェアを実行し、且つ、前記共有鍵を持つセキュリティプロセッサを有し、
前記セキュリティプロセッサは、
前記クライアントコンピューティングシステムと前記サービスプロバイダサーバとの間にハードウェアベースの信頼のルートを実現し、
前記サービスプロバイダサーバから、前記暗号化されているコンテンツに対応付けられている少なくとも１つの暗号化されているタイトルキーを含むキーブロブを取得し、
前記クライアントコンピューティングシステム上のコンテンツ処理を制御し、
前記暗号化されているコンテンツに対応付けられている前記少なくとも１つの暗号化されているタイトルキーを、前記保護されているチップ・ツー・チップデータインターフェースを介して、前記グラフィクスエンジンに供給し、
前記広告ダイジェストに基づいて、前記広告キャッシュから、前記暗号化されているコンテンツに挿入する広告を選択し、
性能またはセキュリティを低下させることなく、全システムメモリ帯域幅で、保護されている音声／動画経路を介して、前記暗号化されているコンテンツおよび選択された前記広告を前記グラフィクスエンジンに供給する段階と、
選択された前記広告を前記暗号化されているコンテンツに含まれている前記広告スロットに挿入し、
前記グラフィクスエンジンは、
前記セキュリティプロセッサから受信する前記暗号化されているタイトルキーを用いて前記暗号化されているコンテンツを復号化、デコードおよび解凍し、
前記選択された広告が前記コンテンツの前記広告スロットに挿入されている表示画像データを作成し、
前記グラフィクスエンジンにおいて、前記表示画像データを再度暗号化し、
暗号化された前記表示画像データを、前記保護された表示インターフェースを介して、前記ディスプレイに供給する、クライアントコンピューティングシステム。
【請求項１２】
前記選択された広告は、前記タイトルキーを用いて暗号化される請求項１１に記載のクライアントコンピューティングシステム。
【請求項１３】
前記第２のコンポーネントは、前記選択された広告を前記サービスプロバイダサーバにセキュアに報告する
請求項１１または１２に記載のクライアントコンピューティングシステム。
【請求項１４】
前記セキュリティプロセッサは、前記クライアントコンピューティングシステムについて説明している、前記クライアントコンピューティングシステムが備えるセンサからのセンサ情報、前記クライアントコンピューティングシステムの種類情報、および前記クライアントコンピューティングシステムの設定情報の少なくとも１つを含むローカルコンテキスト情報に少なくとも部分的に基づいて、前記暗号化されているコンテンツの前記広告スロットに挿入される広告を前記広告キャッシュから選択する請求項１１から１３のいずれか一項に記載のクライアントコンピューティングシステム。
【請求項１５】
前記セキュリティプロセッサは、前記クライアントコンピューティングシステムのユーザのプロフィールに少なくとも部分的に基づいて、前記暗号化されているコンテンツの前記広告スロットに挿入される広告を前記広告キャッシュから選択する請求項１１から１４のいずれか一項に記載のクライアントコンピューティングシステム。
【請求項１６】
前記ユーザのプロフィールは、前記ユーザの好み、前記ユーザの興味、および、前記ユーザの過去の視聴履歴のうち少なくとも１つを含む、請求項１５に記載のクライアントコンピューティングシステム。
【請求項１７】
前記広告キャッシュに含まれる前記広告の数は、前記暗号化されているコンテンツに含まれる前記広告スロットの数よりも多い請求項１１から１６のいずれか一項に記載のクライアントコンピューティングシステム。
【請求項１８】
前記メディアプレーヤアプリケーションは、
前記サービスプロバイダ以外のエンティティから広告を取得し、
前記広告を前記広告キャッシュに格納する処理、および、前記広告を必要に応じてリアルタイムで取得する処理の少なくとも一方を実行する請求項１１から１７のいずれか一項に記載のクライアントコンピューティングシステム。
【請求項１９】
前記広告ダイジェストおよび前記広告は、前記サービスプロバイダサーバによって暗号化され、暗号化された前記広告は前記広告キャッシュに格納される請求項１１から１８のいずれか一項に記載のクライアントコンピューティングシステム。
【請求項２０】
前記セキュリティプロセッサは、コンテンツおよび広告の利用に関する情報を、前記サービスプロバイダサーバに送信する請求項１１から１９のいずれか一項に記載のクライアントコンピューティングシステム。
【請求項２１】
クライアントコンピューティングシステムに、
前記クライアントコンピューティングシステムとサービスプロバイダサーバとの間においてハードウェアベースの信頼のルートを構築する手順と、
前記サービスプロバイダサーバから、暗号化されているコンテンツと、前記暗号化されているコンテンツに対応付けられている少なくとも１つの暗号化されているタイトルキーを含むキーブロブとを取得する手順と、
前記サービスプロバイダサーバから、前記暗号化されているコンテンツに含まれている広告スロットを説明している情報を含む広告ダイジェストと、前記暗号化されているコンテンツに含まれている前記広告スロットに挿入される広告を含む広告キャッシュとを取得する手順と、
前記クライアントコンピューティングシステムのセキュリティプロセッサによって、前記クライアントコンピューティングシステム上のコンテンツ処理を制御する手順と、
前記暗号化されているコンテンツに対応付けられている前記少なくとも１つの暗号化されているタイトルキーを、前記セキュリティプロセッサから、保護されているチップ・ツー・チップデータインターフェースを介して、グラフィクスエンジンに供給する手順と、
前記セキュリティプロセッサによって、前記広告ダイジェストに基づいて、前記広告キャッシュから、前記暗号化されているコンテンツに挿入する広告を選択する手順と、
前記選択された広告を、前記暗号化されているコンテンツに含まれている前記広告スロットに挿入する手順と、
性能またはセキュリティを低下させることなく、全システムメモリ帯域幅で、保護されている音声／動画経路を介して、前記暗号化されているコンテンツおよび選択された前記広告を前記グラフィクスエンジンに供給する手順と、
前記グラフィクスエンジンにおいて、前記セキュリティプロセッサから受信する前記暗号化されているタイトルキーを用いて前記暗号化されているコンテンツを復号化、デコードおよび解凍し、前記選択された広告が前記コンテンツの前記広告スロットに挿入されている表示画像データを作成する手順と、
前記グラフィクスエンジンにおいて、前記表示画像データを再度暗号化する段階と、
暗号化された前記表示画像データを、保護された表示インターフェースを介して、ディスプレイに供給する手順と
を備える、デジタルコンテンツを処理するための手順を実行させるためのプログラム。
【請求項２２】
前記広告を選択する手順は、前記クライアントコンピューティングシステムについて説明している、前記クライアントコンピューティングシステムが備えるセンサからのセンサ情報、前記クライアントコンピューティングシステムの種類情報、および前記クライアントコンピューティングシステムの設定情報の少なくとも１つを含むローカルコンテキスト情報に少なくとも部分的に基づいて、前記広告キャッシュから、前記暗号化されているコンテンツの前記広告スロットに挿入する広告を選択する手順を有する請求項２１に記載のプログラム。
【請求項２３】
前記広告を選択する手順は、前記クライアントコンピューティングシステムのユーザのプロフィールに少なくとも部分的に基づいて、前記広告キャッシュから、前記暗号化されているコンテンツの前記広告スロットに挿入する広告を選択する手順を有する請求項２１または２２に記載のプログラム。
【請求項２４】
前記ユーザのプロフィールは、前記ユーザの好み、前記ユーザの興味、および、前記ユーザの過去の視聴履歴のうち少なくとも１つを含む、請求項２３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概して、デジタルコンテンツをセキュアに処理するコンピューティングシステムアーキテクチャに関する。特に、本発明の一実施形態は、ハードウェアベースの信頼のルート内でメタデータに基づきコンピューティングシステムによってデジタルコンテンツに動的且つリアルタイムに広告を挿入することに関する。
【背景技術】
【０００２】
例えば、パーソナルコンピュータ（ＰＣ）システム等のオープンコンピューティングプラットフォームでは、プレミアムコンテンツ（例えば、ＤＶＤ、ブルーレイ等）を再生する際、デジタル著作権管理（ＤＲＭ）処理および鍵管理は通常、メディアプレーヤアプリケーションプログラムによってソフトウェアで実行される。このような方式は、保護が完璧でなく、ハッキングの事例があり、海賊版コンテンツが流通したり、コンテンツ所有者が収益を失ったりしている。コンテンツを再生すると、メディアの解凍処理（Ｈ．２６４、ＭＰＥＧ−２等）はハードウェアで実行されるが、コンテンツは、システムメモリ内で暗号化されていない状態で保存されており、ソフトウェアおよび／またはハードウェアへの攻撃で盗まれる可能性がある。このようにセキュリティ上の弱点が顕著であるので、オープンコンピューティングプラットフォームには低忠実度（例えば、標準画質（ＳＤ））コンテンツまたは比較的価値の低い高精細（ＨＤ）コンテンツのみを配信するのが普通である。オープンコンピューティングプラットフォーム（例えば、ＰＣ等）でデジタルコンテンツをセキュアに取り扱う処理を改善することが望ましい。
【図面の簡単な説明】
【０００３】
添付図面を参照しつつ詳細に説明する。複数の図面にわたって同じ参照番号を用いる場合、同様または同一の構成要素であることを示す。
【図１】本発明の実施形態に係る、セキュアコンテンツ処理パイプラインを示す図である。
【図２】本発明の実施形態に係る、サービスプロバイダサーバおよびセキュリティサービスインフラストラクチャを示す図である。
【図３】本発明の実施形態に係る、クライアントコンピューティングシステムを示す図である。
【図４】本発明の実施形態に係るセキュアコンテンツ処理を説明するためのフローチャートである。
【図５】本発明の実施形態に係るセキュアコンテンツ処理システムを説明するための図である。
【図６】本発明の実施形態に係るサービスプロバイダサーバおよびコンテンツプロバイダの構成要素を示す図である。
【図７】本発明の実施形態に係る、広告スロットおよびコンテンツチャプタを示す図である。
【図８】本発明の実施形態に係る、動的広告挿入処理を説明するためのフローチャートである。
【発明を実施するための形態】
【０００４】
本発明の実施形態は、プレミアムデジタルコンテンツの配信および再生をサポートするべく、ハードウェアベースの信頼のルート（ＨＷ  ＲＯＴ）による解決方法を提供するシステムアーキテクチャを含む。ある実施形態によると、デジタルコンテンツおよびデジタルサービスのＨＷ  ＲＯＴは、セキュリティを実現するための信頼の基礎が、ソフトウェアではなく、クライアントコンピューティングシステムのハードウェアおよびファームウェアのメカニズムに根差している解決方法である。この信頼のルートに基づき、クライアントコンピューティングシステムは、コンテンツの認証および再生について保護されるメディア処理パイプライン全体を構築する。本発明の実施形態によると、コンテンツ処理のクライアントコンピューティングシステムのセキュリティは、オペレーティングシステム（ＯＳ）、ベーシック入出力システム（ＢＩＯＳ）、メディアプレーヤアプリケーションまたはその他のホストソフトウェアに依存しない。システムのセキュリティを侵害するためには、ＯＳの上で実行されているソフトウェアを攻撃するのではなく、ハードウェアおよび／またはファームウェアのメカニズムを侵害する必要がある。
【０００５】
本発明の実施形態は、ハードウェアベースの信頼のルートにおいてメタデータに基づき、クライアントコンピューティングシステムが処理されているデジタルコンテンツに、広告を動的且つリアルタイムで挿入することを可能とする。
【０００６】
以下の説明では、さまざまな実施形態を十分に理解していただくべく、具体的且つ詳細な内容を数多く記載する。しかし、本発明のさまざまな実施形態は、これらの具体的且つ詳細な内容を含むことなく実施されるとしてもよい。また、公知の方法、手順、コンポーネントおよび回路は、本発明の特定の実施形態をあいまいにすることを避けるべく、詳細な説明を省略している。さらに、本発明の実施形態のさまざまな側面は、さまざまな手段、例えば、半導体集積回路（「ハードウェア」）、コンピュータ可読格納媒体に格納されている１以上のプログラムにまとめたコンピュータ可読命令（ソフトウェア））、または、ハードウェアおよびソフトウェアの組み合わせを用いて実行されるとしてよい。本開示では、「ロジック」と呼ぶ場合、ハードウェア、ソフトウェア（例えば、プロセッサの動作を制御するマイクロコード）、ファームウェアまたはこれらの組み合わせの一部を意味するものとする。
【０００７】
本発明の実施形態は、コンテンツ保護処理、鍵管理処理およびコンテンツ再生を行う場合に、クライアントコンピューティングシステム１０１のＣＰＵ、チップセットおよび集積化グラフィクス／メディアエンジン内のファームウェアおよびハードウェアを利用することで、コンテンツ保護処理、鍵管理処理およびコンテンツ再生を保護する。本発明の実施形態は、コンテンツがコンピューティングシステム内のコンポーネントで処理されるので、エンド・ツー・エンドでコンテンツを保護する。図１は、本発明の実施形態に係るセキュアコンテンツ処理パイプライン１００を示す図である。コンテンツ１０２は、サービスプロバイダ（ＳＰ）サーバ１０４からアクセス可能であるとしてよい。コンテンツ１０２は、音声データ、動画データもしくは音声／動画データ、画像、テキスト、本、雑誌、ゲームまたはアプリケーションプログラム等、任意のデジタル情報であってよい。サービスプロバイダサーバ１０４は、任意の電気通信チャネル（例えば、インターネット、セルラー方式ネットワーク、有線ネットワークまたは無線ネットワーク等）を介してクライアントコンピューティングシステムにコンテンツを供給する１以上のサーバを含むとしてよい。コンテンツは、ＳＰサーバに格納されている間、および、クライアントコンピューティングシステム１０１への転送中は、任意の公知のコンテンツ保護技術１０６（例えば、デジタル著作権管理（ＤＲＭ）技術、暗号化技術等）によって保護されているとしてよい。一実施形態によると、コンテンツは、本明細書で説明するように、ＥＰＩＤ（Ｅｎｈａｎｃｅｄ  Ｐｒｉｖａｃｙ  ＩＤ）署名確認プロトコルによって保護されているとしてよい。一実施形態によると、動画データは、ＣＴＲモードの新暗号規格（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ  （ＡＥＳ））暗号化処理を用いて暗号化されるとしてよい。クライアントコンピューティングシステム１０１は、ＰＣ、ラップトップ、ネットブック、タブレットコンピュータ、手持ちコンピュータ、スマートフォン、携帯情報端末（ＰＤＡ）、セットトップボックス、消費者向け電化製品設備、または、コンテンツの受信、格納およびレンダリングが可能な任意のその他のコンピューティングデバイスであってよい。
【０００８】
クライアントコンピューティングシステムでは、セキュリティプロセッサ１０８がコンテンツ保護処理１１０を実行するとしてよい。一実施形態によると、セキュリティプロセッサは、クライアントコンピューティングシステムのチップセット内に位置しているとしてよい。ある実施形態によると、チップセットはプラットフォームコントロールハブ（ＰＣＨ）を含む。別の実施形態では、セキュリティプロセッサは、クライアントコンピューティングシステムのＣＰＵ内にあるとしてもよい。システムオンチップ（ＳＯＣ）構成を持つ別の実施形態では、セキュリティプロセッサは、一のチップ上で他のシステムコンポーネントと集積化されているとしてよい。一実施形態によると、セキュリティプロセッサは、マネージャビリティエンジン（ＭＥ）を含む。他の実施形態によると、他の種類のセキュリティプロセッサを利用するとしてもよい。セキュリティプロセッサは、クライアントコンピューティングシステムの他のコンポーネントとやり取りするハードウェアおよびファームウェアで実現されるサブシステムである。セキュリティプロセッサは、保護されているフラッシュメモリ領域からファームウェアコードをロードして、保護されているメモリで当該ファームウェアコードを実行することで、動作する。コンテンツ保護処理はセキュリティプロセッサ内のハードウェアおよびファームウェアで実行されるので、ソフトウェアベースのシステムに比べて、コンテンツ保護が改善されるとしてよい。
【０００９】
暗号鍵情報は、セキュリティプロセッサから、保護されたチップ・ツー・チップインターコネクト１１２を介して、中央演算処理装置（ＣＰＵ）および集積化グラフィクス（ＧＦＸ）／メディアエンジンを含むコンポーネントへと送信されるとしてよい。ある実施形態によると、保護されたチップ・ツー・チップインターコネクト１１２は、ＣＰＵ／ＧＦＸ部へのセキュアなダイレクトメディアインターフェース（ＤＭＩ）通信リンクを含む。ＤＭＩは、同時にデータトラフィックを行う２つの一方向性のレーンを有するチップ・ツー・チップインターコネクトを含み、サービス品質が向上したアイソクロナス転送を行う。ＤＭＩリンクを介して転送されるデータは、公知の暗号処理技術で保護されるとしてよい。ある実施形態によると、チップ・ツー・チップセキュアリンクは、ＤＭＩを介して暗号化されたタイトルキーを供給するために用いられるとしてよい。セキュリティは、ＰＣＨとＣＰＵとの間で秘密を共有することで実現される。このように共有する秘密は、パワーサイクル毎に構築されるとしてよく、製品群ごとに、世代ごとに、そして、ランダムに分割されたグループごとに、共有する秘密の保護およびインテグリティを保証するために必要に応じて、異なるとしてよい。ＤＭＩメカニズムは、ＯＳ、ＢＩＯＳ、および、ＣＰＵで実行されるソフトウェアには依存しない。ＤＭＩメカニズムは、セキュリティプロセッサ（ＰＣＨ内）とＣＰＵとの間で信頼関係を構築するために用いられるとしてよい。
【００１０】
ＧＦＸエンジン１１４は、コンテンツを復号するコンテンツ保護処理を含むとしてよい。ＧＦＸエンジンはさらに、デコーダロジック１２１を含む。デコーダロジック１２１は、復号化された音声／動画コンテンツを処理／復号して、音声／動画コンテンツをメディアブロックとして、ＧＦＸエンジン１１４内のグラフィクスプロセッシングユニット（ＧＰＵ）へ供給する。ＧＰＵは、メモリ内での処理中にメディアブロックを保護するべくエンコーダロジック１２３を利用することを含むセキュリティ技術を含む。ＧＦＸエンジン１１４はさらに、ディスプレイ１１８で表示する画像データを作成する作成ロジック１２５を含む。コンテンツは、ＰＣＨ内のセキュリティプロセッサと、ＣＰＵ／ＧＦＸ部内のＧＦＸエンジンとの間、および、両者内で処理されているので、ハードウェア保護データ経路１１６で保護されるとしてよい。ある実施形態によると、ハードウェア保護データ経路は、コンテンツのセキュリティを維持するＰＡＶＰ（Ｐｒｏｔｅｃｔｅｄ  Ａｕｄｉｏ  Ｖｉｄｅｏ  Ｐａｔｈ）を含む。ＰＡＶＰはさらに、システムコンポーネント間の暗号化接続状態をサポートしている。ＰＡＶＰを利用することによって、システムはさらに、メモリ内、および、システムコンポーネント間での転送中のコンテンツを保護するとしてよい。
【００１１】
ＧＦＸエンジンと、ＰＣＨと、ディスプレイ１１８との間のインターフェースは、保護されている有線／無線ディスプレイリンク１２０によって実現されるとしてよい。一実施形態によると、ＧＦＸエンジンからメモリを介してＰＣＨを通ってディスプレイへと送信される表示データは、ＨＤＣＰ（Ｈｉｇｈ−Ｂａｎｄｗｉｄｔｈ  Ｄｉｇｉｔａｌ  Ｃｏｎｔｅｎｔ  Ｐｒｏｔｅｃｔｉｏｎ、高帯域幅デジタルコンテンツ保護）コンテンツ保護方式で保護されるとしてよい。ＨＤＣＰ仕様によると、準拠したデジタルディスプレイとの間でデジタルエンターテイメントコンテンツを送受信するためのロバストで、費用対効果の高い、トランスペアレントな送受信方法が実現される。ある実施形態によると、有線リンクは、デジタル・コンテント・プロテクション（Ｄｉｇｉｔａｌ  Ｃｏｎｔｅｎｔ  Ｐｒｏｔｅｃｔｉｏｎ，ＬＬＣ）社が管理しているＨＤＣＰ仕様、改正版２．０、または、これ以降の改正版に応じて実現するとしてよい。ＨＤＣＰは、表示データがＤｉｓｐｌａｙＰｏｒｔ、ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｓｕａｌ  Ｉｎｔｅｒｆａｃｅ）、ＨＤＭＩ（登録商標）（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）、ＧＶＩＦ（Ｇｉｇａｂｉｔ  Ｖｉｄｅｏ  Ｉｎｔｅｒｆａｃｅ）、または、ＵＤＩ（Ｕｎｉｆｉｅｄ  Ｄｉｓｐｌａｙ  Ｉｎｔｅｒｆａｃｅ）接続を介して転送される際に、表示データの複製を禁止するために用いられるとしてよい。ＨＤＣＰ改正版２．０の仕様では、エンドユーザがディスプレイ、デバイスおよびホームシアターシステムを、ＴＣＰ／ＩＰ、ＵＳＢ、ＷｉＦｉおよびＷｉｒｅｌｅｓｓＨＤ等の標準的なプロトコルおよびインターフェースで、接続するという利便性を実現できる新しい利用モデルに取り組んでいる。ＨＤＣＰ改正版２．０の仕様では、ロバストなコンテンツ保護を実現するべく、標準ベースのＲＳＡ公共鍵および新暗号規格（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ（ＡＥＳ））の１２８ビット暗号を利用する。ＨＤＣＰシステムでは、２以上のＨＤＣＰデバイスを、ＨＤＣＰ保護インターフェースを介して相互接続している。ＨＤＣＰで保護される視聴覚コンテンツは、アップストリーム・コンテンツ・コントロール・ファンクション（Ｕｐｓｔｒｅａｍ  Ｃｏｎｔｅｎｔ  Ｃｏｎｔｒｏｌ  Ｆｕｎｃｔｉｏｎ）から、最も上流にあるＨＳＣＰ送信機のＨＤＣＰシステムへと流れる。ここから、ＨＤＣＰシステムで暗号化されているＨＤＣＰコンテンツは、ＨＤＣＰ保護インターフェースを介して、ＨＤＣＰ受信機のツリー形状のトポロジーを流れていく。
【００１２】
ＨＤＣＰコンテンツ保護メカニズムは、３つのエレメントを持つ。
１）ＨＤＣＰ受信機を、対応するすぐ上流の（ＨＤＣＰ送信機に対する）接続に対して認証する。認証プロトコルは、所与のＨＤＣＰ受信機がＨＤＣＰを受信する許可を持っていると、ＨＤＣＰ送信機が認証するメカニズムである。
２）ＤＣＰによって無効であると判断されたＨＤＣＰ受信機を取り消す。
３）ＨＤＣＰ送信機と、対応する下流のＨＤＣＰ受信機との間のＨＤＣＰ保護インターフェースにわたって、視聴覚コンテンツをＨＤＣＰ暗号化する。ＨＤＣＰ受信機は、人間が理解できる視聴覚形式でＨＤＣＰコンテンツをレンダリングするとしてよい。ＨＤＣＰ受信機は、下流ＨＤＣＰ送信機として機能し、ＨＤＣＰコンテンツをさらに下流に流して１以上のＨＤＣＰ受信機に供給するＨＤＣＰリピータであるとしてよい。一実施形態によると、ディスプレイ１１８に送信された表示データは、８０２．１１ｎワイヤレスローカルエリアネットワーク（ＷＬＡＮ）技術を用いて、保護された無線ディスプレイ（ＷｉＤｉ）リンク１２７を介して、送信されるとしてよい。
【００１３】
図１から分かるように、本発明の実施形態では、サービスプロバイダサーバ１０４からコンテンツを受信する時点から、コンテンツをディスプレイ１１８上で表示するまで、暗号鍵またはコンテンツは、コンピューティングシステムで実行されているソフトウェアまたは許可されていないハードウェアに対しては、暗号化されていない形式で利用可能になることがない。さらに、動画データのメモリ保護が、復号パイプライン、デコード／エンコードパイプライン、作成パイプラインおよび表示パイプラインにおいて、チェーン全体にわたって、提供される。この機能は、総合的なシステム性能を劣化させることなく、メモリの全帯域幅で提供される。
【００１４】
図２は、本発明の実施形態に係る、サービスプロバイダサーバ１０４およびセキュリティサービス部２０２を示す図である。ある実施形態によると、セキュリティサービス部２０２は、１以上のサーバおよび／またはコンポーネントを有するとしてよい。ある実施形態によると、セキュリティサービス部は、クライアントコンピューティングシステムの１以上のコンポーネントの製造者によって操作されるとしてよい。セキュリティサービス部は、クライアントコンピューティングシステムを現場で制御するための機能を実現する。セキュリティサービス部は、製造部および配備部を含む。製造部は、証明書発行部２１８、鍵生成（ＫＥＹ  ＧＥＮ）部２２０、および、ヒューズプログラミング（ＦＵＳＥ  ＰＲＯＧ）部２２２を含む。証明書発行部２１８は、各クライアントコンピューティングシステムに対して、公共鍵証明書を生成および発行する。鍵生成部２２０は、クライアントコンピューティングプラットフォームに埋め込むために必要とされると、秘密鍵および公共鍵のペアを生成する機能を持つ。ヒューズプログラミング部２２２は、ロバスト且つセキュアに、製造時に適切な値をヒューズにプログラミングする機能を持つ。これらの値は、セキュリティプロセッサ内部でトラストアンカーおよびキーラダーを構築するべくクライアントコンピューティングプラットフォームによって利用される。
【００１５】
配備部は、証明書発行部２０４と、鍵生成（ＫＥＹ  ＧＥＮ）部２０６と、取消マネージャ２０８とを有する。証明書（ＣＥＲＴ）発行部２０４は、ＳＰサーバおよびクライアントのコンポーネントについて、サービス提供のためにこれらのクライアントシステムとやり取りする許可を与えるデジタル証明書を、発行する。鍵生成（ＫＥＹ  ＧＥＮ）部２０６は、暗号署名鍵ペア、ルート鍵ペア、デジタル証明書およびグループ公共鍵を生成し、グループ毎にグループ公共鍵に署名する。取消マネージャ２０８は、取消リスト（ＲＬ）に追加すべきクライアントコンピューティングシステムの識別子および署名を決定して、ＲＬを更新し、更新したＲＬを配信する。
【００１６】
ＳＰサーバ１０４は、ネットワーク２０１（インターネット等）を介して、クライアントコンピューティングシステムと通信する。サービスプロバイダサーバは、ＳＰサーバアプリケーション２１２およびＳＰサーバエージェント２１０を有する。ＳＰサーバアプリケーションは、コンテンツ閲覧機能を提供する。ＳＰサーバエージェント２１０は、クライアント固有メッセージの送信を制御し、暗号鍵および許可されたユーザトークンを管理し、コンテンツ配信サービスステータスを維持する（配備を目的として、２１２および２１０は物理的に別々のサーバであってよく、ファイアウォールが設けられ、分離している）。コンテンツ暗号化部２１４は、コンテンツ１０２を受け取って、クライアントコンピューティングシステムにセキュアに配信するべくコンテンツを暗号化する。コンテンツサーバ２１６は、暗号化されたコンテンツをクライアントに送信する。鍵サーバ２２６は、認証されたセッションにおいて、タイトルキーをクライアントコンピューティングシステムにプロビジョニングする機能を持つ。サーバ証明書２２４は、相互認証およびクライアントコンピューティングシステムとの間の認証済みセッションの構築に参加するべく、ＳＰサーバエージェントによって用いられる。ＳＰサーバエージェント２１０と、鍵サーバ２２６と、コンテンツサーバ２１６との間の通信リンクは、普及している情報セキュリティ技術によって保護される。鍵サーバは、権限を持つパーティのみが到達できるようにネットワークおよびアクセスに対する保護レベルが最も高く、鍵サーバが管理している鍵は、外部ネットワークエンティティからの攻撃に対して、ファイアウォールが設けられ分離させている。ＳＰサーバエージェントまたは鍵サーバは、サーバ証明書２２４に対応付けられている秘密鍵へのアクセス権を持つ。ある実施形態によると、この秘密鍵およびこの秘密鍵で行われる全ての処理は、サーバ上のハードウェアセキュリティモジュール（ＨＳＭ）（図２には不図示）を用いて保護される。
【００１７】
ある実施形態によると、クライアントコンピューティングシステムをＳＰサーバに対して認証する場合に用いる暗号方式は、ゼロ知識証明を利用することに基づいてユーザのプライバシーを保護する暗号認証プロトコルを含む。ある実施形態によると、暗号認証プロトコルは、ＥＰＩＤ（Ｅｎｈａｎｃｅｄ  Ｐｒｉｖａｃｙ  ＩＤ）方式、取消機能を強化したＤＡＡ（Ｄｉｒｅｃｔ  Ａｎｏｎｙｍｏｕｓ  Ａｔｔｅｓｔａｔｉｏｎ）方式を含む。ＥＰＩＤ方式は、各個人がトランザクション毎に一意的に特定される一般的なＲＳＡ（Ｒｉｖｅｓｔ，Ｓｈａｍｉｒ，Ａｄｌｅｍａｎ）−公共鍵インフラストラクチャ（ＰＫＩ）によるセキュリティ実装に関するプライバシーの問題を一部解決する。これに代えて、ＥＰＩＤ方式は、リモート証明機能を実現するが、クライアントコンピューティングシステムを、特定の世代の技術のコンポーネント（例えば、チップセット）を持つものとして特定するに過ぎない。ＥＰＩＤ方式は、グループ署名方式であり、一のグループの公共鍵が複数の秘密鍵に対応し、複数の秘密鍵は、グループ公共鍵によって証明される一のグループ署名を生成する。ＥＰＩＤ方式は、匿名であり、リンク付け不可能であるというセキュリティ特性を実現する。２個の署名を考えると、これらの署名が１個の秘密鍵または２個の秘密鍵のどちらから生成されたものかは判断できない。ＥＰＩＤ方式はさらに、偽造不可能であるというセキュリティ特性も実現する。秘密鍵が無ければ、有効な署名を作成することができない。
【００１８】
一般的に、以下の手順で、ＥＰＩＤ方式でセキュアな通信チャネルを構築するとしてよい。第１のパーティ（クライアントコンピューティングシステム等）は、ＥＰＩＤ証明書を第２のパーティ（サービスプロバイダサーバ等）に送信する。第２のパーティは、第１のパーティの識別情報を知らず、第１のパーティが信頼されているセキュリティプロセッサを持つコンピューティングプラットフォームであることのみを知っており、第１のパーティの認証を行う。第１のパーティはこの後、第２のパーティの公共鍵証明書を用いて第２のパーティの認証を行う。第２のパーティはプライバシーを必要としないので、第２のパーティの公共鍵証明書はＥＰＩＤ証明書でなくてもよい（しかし、そうであってもよい）。第１のパーティおよび第２のパーティはこの後、ディフィー・ヘルマン（ＤＨ）鍵交換方式の合意を開始するとしてよい。
【００１９】
ＤＡＡおよびＥＰＩＤのさまざまな適切な実施形態は、以下の同時特許出願に記載されている。以下の特許文献は参照により本願に組み込まれる。
「Ａｎ  Ａｐｐａｒａｔｕｓ  ａｎｄ  Ｍｅｔｈｏｄ  ｏｆ  Ｄｉｒｅｃｔ  Ａｎｏｎｙｍｏｕｓ  Ａｔｔｅｓｔａｔｉｏｎ  ｆｒｏｍ  Ｂｉｌｉｎｅａｒ  Ｍａｐｓ、Ｅｒｎｅｓｔ  Ｆ．  ＢｒｉｃｋｅｌおよびＪｉｎｇｔａｏ  Ｌｉ、第１１／７７８，８０４号（出願日：２００７年７月７日）」
「Ａｎ  Ａｐｐａｒａｔｕｓ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  ａ  Ｄｉｒｅｃｔ  Ａｎｏｎｙｍｏｕｓ  Ａｔｔｅｓｔａｔｉｏｎ  Ｓｃｈｅｍｅ  ｆｒｏｍ  Ｓｈｏｒｔ−Ｇｒｏｕｐ  Ｓｉｇｎａｔｕｒｅｓ、Ｅｒｎｅｓｔ  Ｆ．  ＢｒｉｃｋｅｌｌおよびＪｉｎｇｔａｏ  Ｌｉ、第１２／２０８，９８９号（出願日：２００８年９月１１日）」
「Ｄｉｒｅｃｔ  Ａｎｏｎｙｍｏｕｓ  Ａｔｔｅｓｔａｔｉｏｎ  Ｓｃｈｅｍｅ  ｗｉｔｈ  Ｏｕｔｓｏｕｒｃｉｎｇ  Ｃａｐａｂｉｌｉｔｙ、Ｅｒｎｅｓｔ  Ｆ．  ＢｒｉｃｋｅｌｌおよびＪｉｎｇｔａｏ  Ｌｉ、第１２／２８６，３０３号（出願日：２００８年９月２９日）」他の実施形態では、他の認証方式および証明方式を利用するとしてもよい。
【００２０】
クライアントコンピューティングシステムは、ホストソフトウェア、チップセットハードウェア／ファームウェア、および、ＣＰＵ／ＧＦＸ／メディアエンジンという少なくとも３個の主要コンポーネントを備えている。本発明の実施形態では、ホストソフトウェアは信用できないと仮定する。ホストソフトウェアが攻撃されても、秘密が漏れることはない。ホストソフトウェアは、ＳＰサーバ１０４に対するネットワーク接続、および、コンテンツサーバ２１６からのメディアのダウンロードを行う。ホストソフトウェアは、さまざまなＳＰサーバと、チップセットハードウェア／ファームウェアとの間で、プロキシとして機能する。ホストソフトウェアは、チップセットのハードウェア／ファームウェアがタイトルキーのアンラップおよびＣＰＵ／ＧＦＸ部への注入を完了した後、暗号化されたコンテンツを直接グラフィクスハードウェアに送信する。
【００２１】
チップセットハードウェア／ファームウェアは、保護されている全ての処理を統括し、コンテンツ保護処理について保護されているデバイスの役割を果たす。ある実施形態によると、チップセットハードウェア／ファームウェアは、保護されているタイトルキーを、ＤＭＩメカニズムを用いてグラフィクスハードウェアに送信する。
【００２２】
ＣＰＵ／ＧＦＸ部は、最後のストリーム復号、デコードおよび表示を行う。ＧＦＸエンジンは、受動型デバイスであり、ポリシー決定は行わない。ＧＦＸエンジンは単に、依頼されると、コンテンツを復号して、供給されたビデオスライスをデコードする。ある実施形態によると、ＧＦＸエンジン（保護されているメディアエンコーダを持つ）は、ＨＤＭＩ（登録商標）ディスプレイおよび無線（例えば、ＷｉＤｉ）ディスプレイにおいてＨＤＣＰ出力を保護するべく、表示コンテンツを再度暗号化する。
【００２３】
保護されているクライアントコンピューティングシステムは、非常に機密性の高い情報を送信する前に、サービスプロバイダによってリモートに特定される必要がある。プラットフォームを特定するために用いられるメカニズムは、ユーザのプライバシーを侵害してはいけない。本発明の実施形態は、ネットワークでサービスプロバイダサーバが適切なクライアントコンピューティングシステムと通信していると確認し、タイトルキーおよび他の機密情報をこのクライアントコンピューティングシステムに転送するべく、サービスプロバイダに対して、保護されているメカニズムを提供している。一実施形態によると、サービスプロバイダサーバと、クライアントコンピューティングシステムとの間で保護されたセッションを構築するために用いるプロトコルは、ＥＰＩＤである。ＥＰＩＤによれば、一の公共鍵が、いわゆるＥＰＩＤグループに含まれるＮ個の秘密鍵によって生成される署名を匿名で確認できるようになる。ＥＰＩＤ方式を実現するべく、各チップセットは、半導体プロセス中にプラットフォームコントロールハブ（ＰＣＨ）のヒューズに吹き込んだ一意的な秘密鍵を含む。ある実施形態によると、チップセットメーカーは、一のグループ内に１００万個の秘密鍵を配置し、製造するチップセット毎に４００個のグループを形成する。ＥＰＩＤ証明部として機能するべく、各サービスプロバイダには、これら４００個の公共鍵がプロビジョニングされる。
【００２４】
保護されたＥＰＩＤセッションが構築されると、サービスプロバイダサーバは、保護されたクライアントコンピューティングシステムとの間で、保護されている機密情報を自由にやり取りする。コンテンツストリーミングのために、保護されているタイトルキーを、ＳＰサーバからチップセット内のセキュリティプロセッサへと供給するとしてよい。セキュリティプロセッサは、保護されているタイトルキーを、グラフィクスおよび音声のハードウェアへ送信する。この時点において、暗号化されている動画および音声のコンテンツは、コンテンツサーバ２１６から、当該コンテンツを復号化、デコードおよび表示するクライアントコンピューティングシステムのグラフィクスおよび音声のハードウェアへと直接送信することができる。コンテンツをダウンロードするべく、セキュリティプロセッサは、一意的なプラットフォームストレージキー（繰り返しになるが、製造時にＰＣＨヒューズに焼き付けられる）を用いてタイトルキーをクライアントコンピューティングシステムにバインディングして、バインディングされたタイトルキーをメディアプレーヤソフトウェアに返す。再生が希望されると、バインディングされたタイトルキーは、セキュリティプロセッサに再度供給され、セキュリティプロセッサが、タイトルキーのバインディングを解除して、保護された状態でグラフィクスおよび音声のハードウェアに送信する。
【００２５】
図３は、本発明の実施形態に係るクライアントコンピューティングシステム１０１を示す図である。サービスプロバイダ（ＳＰ）プレーヤ／メディアブラウザソフトウェアアプリケーション３０２は、インターネット等のネットワーク２０１を介してＳＰサーバ１０４と結合するためのソフトウェアスタックに含まれているとしてよい。ＳＰプレーヤ／メディアブラウザ３０２によって、ユーザは、サービスプロバイダが提供するコンテンツを閲覧することができ、ＳＰサーバからクライアントコンピューティングシステムへと配信されるコンテンツを選択することができるようになる。ＳＰプレーヤ／メディアブラウザは、コンテンツライブラリを管理するべく、そして、コンテンツの選択、ダウンロードおよび再生を制御するべく、ユーザに対してユーザインターフェース制御を実現する。ＳＰプレーヤ／メディアブラウザは、サービスエージェント３０４とやり取りを行う。サービスエージェント３０４は、本発明の実施形態に応じた、エンド・ツー・エンドでのコンテンツ保護をサポートしているクライアントコンピューティングシステムのフィーチャにアクセスする権限を持つサービスプロバイダが提供するソフトウェアアプリケーションを含む。サービスエージェントは、さまざまなＳＰプレーヤ／メディアブラウザアプリケーションプログラミングインターフェース（ＡＰＩ）（図２には不図示）と結合している。サービスエージェント３０４は、メディアプレーヤ部３０６を含む。メディアプレーヤは、コンテンツプレーヤ機能を実現する（例えば、再生の制御）。
【００２６】
ＳＰクライアントアプリケーション３０８によって、ＳＰプレーヤ／メディアブラウザ３０２およびサービスエージェント３０４は、クライアントコンピューティングシステムのハードウェアおよびファームウェア上のコンテンツ保護フィーチャにアクセスできるようになり、サービスプロバイダサーバ１０４にメッセージを中継する。ある実施形態によると、ＳＰクライアントアプリケーションは、コンテンツ保護ＡＰＩを含むホストエージェントのソフトウェア開発キット（ＳＤＫ）を持つ。ある実施形態によると、ＳＰクライアントアプリケーションは、チップセットのプラットフォームコントロールハブ（ＰＣＨ）３１２のセキュリティプロセッサ３１４と通信する。
【００２７】
音声ドライバ３１１は、メディアプレーヤと音声復号ハードウェア３１６との間のインターフェースを実現する。同様に、グラフィクス（ＧＦＸ）ドライバ３１０は、メディアプレーヤとＧＦＸエンジン３２０との間のインターフェースを実現する。ある実施形態によると、ＰＣＨ３１２は、セキュリティプロセッサ３１４を含む。セキュリティプロセッサ３１４は、ファームウェアを実行してコンテンツ保護機能を実現すると共に他の公知のシステム機能を実現する。ある実施形態によると、セキュリティプロセッサは、マネージャビリティエンジン（ＭＥ）によって実現されるとしてよい。コンテンツはＰＣＨ３１２およびＧＦＸエンジン３２０によって処理されるので、コンテンツは、少なくとも部分的に、ＰＣＨハードウェア／ファームウェアおよびＧＦＸエンジンハードウェア内のＰＡＶＰ（Ｐｒｏｔｅｃｔｅｄ  Ａｕｄｉｏ  Ｖｉｄｅｏ  Ｐａｔｈ）部３１８、３２２によって保護されるとしてよい。
【００２８】
図４は、本発明の実施形態に係るセキュアなコンテンツ処理を説明するためのフローチャートである。ブロック４０２において、クライアントコンピューティングシステムのユーザは、ＳＰプレーヤ／メディアブラウザ３０２を用いて、１以上のサービスプロバイダからコンテンツを閲覧、発見および購入する。ブロック４０４において、ＳＰサーバ１０４およびクライアントコンピューティングプラットフォーム１０１の相互認証を実行する。認証済みセッションを構築する。所与のコンテンツ群について利用権利を含むキーブロブ（ｂｌｏｂ）をプロビジョニングする。キーブロブは、必要に応じて、システムの機密性およびインテグリティの両方が保護されるように、クライアントコンピューティングシステムにバインディングされる。
【００２９】
クライアントコンピューティングシステムはこの後、ブロック４０６において、コンテンツサーバ２１６からネットワーク２０１を介して（ストリーミング処理の場合）、または、クライアントコンピューティングシステム上のローカルストレージから（既に購入、ダウンロードおよび格納が行われているコンテンツの場合）、暗号化コンテンツを取得する。システムは、ビデオスライス（例えば、サブフレーム）に対して処理をする準備を行う。この結果、ハードウェアは、データの最初のスライスが供給されるとすぐに、データを処理できるようになる。
【００３０】
ブロック４０８において、ユーザは、ＳＰプレーヤ／メディアブラウザ３０２を用いて、選択したコンテンツの再生を開始する。タイトルキーをアンパックして抽出するべく、キーブロブをセキュリティプロセッサ３１４に供給する。この処理が完了すると、復号のために、セキュリティプロセッサがタイトルキーをグラフィクスハードウェア３２０にロードする。ブロック４１０において、ＳＰプレーヤ／メディアブラウザは、暗号化されたコンテンツを、ＧＦＸエンジン３２０内のメディア処理エンジンに供給する。ＧＦＸエンジンは、タイトルキーを用いてコンテンツを復号化し、ローカルな保護されているキーを用いてコンテンツを再度暗号化する。再度暗号化されたデータは、保護されたローカルメモリまたはシステムメモリに格納されるとしてよい。再度暗号化されたコンテンツはこの後、ブロック４１４において、取得され、復号され、解凍される。復号を最初に行う。データの復号が完了すると、当該データをデコード／解凍する。データの解凍が完了すると、当該データを再度暗号化してシステムメモリを介して作成エンジンに供給する。作成が終了すると、データは、再度保護され、システムメモリを用いて表示エンジンに供給される。ある実施形態によると、経路に含まれる各コンポーネントは、必要に応じて、復号、処理および再暗号化を行う機能を持つ。
【００３１】
ブロック４１６において、ＧＦＸエンジンは、（ある実施形態において）ＨＤＣＰ技術を用いてメディアコンテンツを再度暗号化し、ユーザが視聴できるように当該コンテンツをディスプレイに配信する。各ステップにおいて、当該コンテンツは決して、クライアントコンピューティングシステムで実行されているソフトウェア素子または許可されていないハードウェア素子がアクセスできる場合には、暗号化されていない状態にはならない。
【００３２】
図５は、本発明の実施形態に係るセキュアコンテンツ処理システムを示す図である。ＳＰサーバ１０４は、ネットワーク２０１を介して、クライアントコンピューティングシステム１０１とやり取りを行う。クライアントコンピューティングシステムは、第１のコンポーネント５００および第２のコンポーネント５０２を有する。ある実施形態によると、第１のコンポーネントは、ＣＰＵおよびＧＦＸを含むコンポーネントを構成し、第２のコンポーネントは、プラットフォームコントロールハブ（ＰＣＨ）を構成する。別の実施形態によると、第１および第２のコンポーネントは、システムオンチップ（ＳＯＣ）構成で一のコンポーネントにまとめるとしてもよい。第１のコンポーネント５００は、複数のプロセッサコア５０４と、ＧＦＸエンジン３２０とを有する。プロセッサコア５０４は、ホストソフトウェア（ＳＷ）５０６（図３を参照のこと）、クライアント証明書５０８、ヒューズ５２１、および、共有鍵５１９といったさまざまなコンポーネントを実行する。ホストＳＷは、データを読み出す。当該データには、ＳＰサーバまたは有形の媒体（ＤＶＤ、ブルーレイまたはその他のストレージ技術）から、ハードディスクドライブ（ＨＤＤ）／ソリッドステートドライブ（ＳＳＤ）５１０から既に取得された暗号化コンテンツが含まれる。ある実施形態によると、ホストＳＷは、ＳＰプレーヤ／メディアブラウザアプリケーション３０２、サービスエージェント３０４、および、ＳＰクライアントアプリケーション３０８を少なくとも含む。ある実施形態によると、ＨＤＤ／ＳＳＤは、１以上のユーザプロフィール５１１を含む。
【００３３】
ＧＦＸエンジン３２０は、複数のコンポーネントを有する。メディア暗号化／復号化エンジン５２０は、コンテンツを暗号化および復号化するロジックを含む。メディアエンコード／デコードエンジン５２２は、コンテンツをエンコードおよびデコードするロジックを含む。ＧＦＸ作成（ＣＯＭＰ）エンジン５２４は、表示画像を作成するロジックを含む。表示エンジン５２６は、作成された表示画像をディスプレイに供給するロジックを含む。表示暗号化／復号化エンジン５２８は、表示データを保護されたリンク５２７を介してディスプレイ５３８に送信する前に、表示データを暗号化および復号化するロジックを含む。メモリ暗号化／復号化エンジン５３０は、メモリ５３６内の保護された中間面５３４に格納されているデータを暗号化および復号化するロジックを含む。メモリ５３６はさらに、機密性およびインテグリティが保護されるメモリ処理５３２を実現するロジックを含む。
【００３４】
第２のコンポーネント５０２は、複数のコンポーネントを有する。このうち一部は、図５を簡略化するべく図示を省略している。第２のコンポーネントは、セキュリティプロセッサ３１４を含む。セキュリティプロセッサは、クライアントコンピューティングシステムのために、証明、鍵管理のプロビジョニング、出力制御、および、広告マッチング処理５１６を実現するファームウェアおよび／またはハードウェアロジックを含む。セキュリティプロセッサはさらに、検証鍵および鍵ヒエラルキー情報等のＰＫＩをサポートするべく、ヒューズ５１７、共有鍵５１９およびトラストアンカー５１８を含む。ヒューズ５２１、５１７は、チップセットの製造時に、ＥＰＩＤで利用する鍵の材料が、第１および第２のコンポーネントのハードウェアにプログラミングされている。ハードウェアの信頼のルートは、クライアントコンピューティングシステムが製造される製造現場でヒューズにプログラミングされる情報から構築される。これによって、各クライアントコンピューティングシステムは、一意的であるがプライバシーが保護されることになる。共有鍵５１９は、チップセットおよびＣＰＵ／ＧＦＸのコンポーネントを製造する際に第１および第２のコンポーネントのハードウェアにハードコードされる。ある実施形態によると、共有鍵は、ＤＭＩリンク５３８を介したセキュアなチップ・ツー・チップ通信チャネルを設定する際に利用されるとしてよい。
【００３５】
クライアントコンピューティングシステムはさらに、セキュアなクロックサービスを提供するための保護されたリアルタイムクロック５１３と、ディスプレイ５３８と、不揮発性メモリ（ＮＶＭ）５１２とを備える。ある実施形態によると、保護されたリアルタイムクロックは、第三者によってシードが設定されるとしてよく、複数のサービスプロバイダに対して仮想化されるとしてよい。ＮＶＭは、第２のコンポーネントのファームウェア画像を格納すると共に、セキュリティプロセッサによる処理のために、一時データ（例えば、インテグリティおよび状態の情報）を格納するために用いられるとしてよい。
【００３６】
ある実施形態に係る処理フローを以下に説明する。ＳＰプレーヤ／メディアブラウザ３０２は、ユーザインターフェースをユーザに提示する。ユーザは、サービスプロバイダのウェブサイトに行き、利用可能なコンテンツを閲覧する。ＳＰのウェブサイトは、ユーザのクライアントコンピューティングシステムの内部に、ＳＰサーバ１０４との間で認証を行う機能が組み込まれているか否かを判断する自動検出機能を持つ。機能があれば、ユーザはコンテンツの選択が許可される。コンテンツは、購入、賃借もしくは配信するとしてよく、または、ストリーミングするとしてよい。ユーザは、コンテンツに対して代金を支払う。ＳＰプレーヤ／メディアブラウザ３０２は、セキュリティプロセッサ３１６を呼び出して、ＳＰサーバ１０４に対してクライアントコンピューティングシステム１０１を認証する。ある実施形態によると、認証にはＥＰＩＤ技術を利用する。クライアントコンピューティングシステム１０１は、ＳＰサーバ１０４に、クライアントコンピューティングシステムの証明書５０８を検証させ、取消確認を実行させ、証明書発行元までの証明経路を検証させる（一実施形態によればＥＰＩＤプロトコルを利用する）ことに少なくとも部分的に基づいて認証される。クライアントコンピューティングシステム１０１およびＳＰサーバ１０４の両方の認証が完了すると、一実施形態では、ＥＰＩＤプロトコルに基づいてセキュアな通信チャネルが構築されるとしてよい。ある実施形態によると、セキュアな通信チャネルが構築されると、エンド・ツー・エンドコンテンツ保護機能のためにコマンドセットを利用するとしてよい。
【００３７】
ＳＰサーバ１０４は、コンテンツの利用に関する制限（例えば、期間）を含む、暗号化されたタイトルキーを、クライアントコンピューティングシステムに対してプロビジョニングする。ＳＰサーバは、セキュアなチャネルを介して、暗号化されたタイトルキーをセキュリティプロセッサ３１４へと送信する。セキュリティプロセッサ３１４は、自身のキーヒエラルキーに基づき、暗号化されたタイトルキーを復号化する。セキュリティプロセッサ３１４は、ストレージキーを用いて、新たに復号化されたタイトルキーを再度暗号化して、キーブロブを形成する。キーブロブは、特定の期間にわたってクライアントコンピューティングシステムにバインディングされる。セキュリティプロセッサ３１４は、ＣＰＵコアで実行されているＳＰプレーヤ／メディアブラウザ３０２にキーブロブを送信する。ＳＰプレーヤ／メディアブラウザ３０２は、キーブロブをＨＤＤ／ＳＳＤ５１０に格納する。ＳＰプレーヤ／メディアブラウザ３０２はこの後、ユーザが選択した暗号化コンテンツをダウンロードする。一実施形態によると、ダウンロードされた暗号化コンテンツは、ＨＤＤ／ＳＳＤ５１０内のコンテンツキャッシュ５５２に格納されるとしてよい。
【００３８】
ユーザがコンテンツを再生したい場合、ＳＰプレーヤ／メディアブラウザ３０２は、キーブロブをセキュリティプロセッサ３１４に送り返す。セキュリティプロセッサは、キーブロブの署名を検証して、例えば、時間等の利用制限を確認する。セキュリティプロセッサ３１４は、暗号化されたチャネル（例えば、ＤＭＩリンク５３８）を介して、暗号化されたタイトルキーを、ＧＦＸエンジン３２０のメディア暗号化／復号化部５２０に送信する。セキュリティプロセッサは、ＳＰプレーヤ／メディアブラウザに対して、暗号化コンテンツを処理するべくＧＦＸ／メディアエンジンを準備するよう指示する。ある実施形態によると、ＳＰプレーヤ／メディアブラウザ３０２は、ＨＤＤ／ＳＤＤ５１０内のコンテンツキャッシュ５５２から暗号化コンテンツを読み出すか、または、ネットワーク２０１を介してＳＰサーバ１０４から暗号化コンテンツを取得して（ストリーミングの場合）、当該暗号化コンテンツをＧＦＸエンジンにスライス毎に送信する。
【００３９】
ＧＦＸエンジン３２０は、スライス毎に暗号化コンテンツを処理する。各スライスについて、ＳＰプレーヤ／メディアブラウザは、暗号化されていないスライスヘッダを読み出す。スライスの残りの部分は、ＳＰプレーヤ／メディアブラウザがコンテンツにアクセスできないように、暗号化されている。ＳＰプレーヤ／メディアブラウザは、初期化ベクトルを用いて再生状態情報の記録を取っている。メディア暗号化／復号化エンジン５２０は、セキュリティプロセッサから受信した暗号化されたタイトルキーを復号化した後に、タイトルキーを用いてコンテンツを復号化する。一実施形態によると、メディア暗号化／復号化エンジンの出力データは依然として、公知のＨ．２６４エンコード方式にしたがって圧縮された状態である。他の実施形態では、他のエンコード方式を利用するとしてもよい。メディアエンコード／デコードエンジン５２２は、各スライスをデコードした後、メモリ暗号化／復号化部５３０を用いてスライスを再度暗号化する。再度暗号化されたコンテンツのスライスは、メモリ５３６内の保護された中間面５３４に格納される。ＧＦＸ作成エンジン５２４は、ディスプレイに表示される画像の作成、例えば、フォアグラウンド画像およびバックグラウンド画像、ウィンドウ等の作成を制御する。ＧＦＸ作成エンジンは、メモリ５３６内の保護された中間面５３４から、再度暗号化されたコンテンツのスライスを取得して、作成した画像を生成する。ＧＦＸ作成エンジン５２４は、作成した画像データを表示エンジン５２６に送信する。
【００４０】
表示エンジンは、表示暗号化／復号化エンジン５２８を利用して、作成された画像を、コンテンツのスライスをメモリ５３６に格納するために用いた暗号化から復号化する。表示エンジン５２６は、一実施形態によると、表示暗号化／復号化エンジンを用いて、作成された画像データをＨＤＣＰ技術に応じて再度暗号化する。暗号化された、作成された画像データは、保護されたチップ・ツー・チップデータインターフェース（例えば、ＤＭＩリンク）５３８を介して、ＧＦＸエンジン３２０から第２のコンポーネント５０２に送信される。これは、保護された表示インターフェースリンク５２７を介してディスプレイ５３８へと転送するためである。
【００４１】
ある実施形態によると、任意の数の同時且つ独立したコンテンツストリームをクライアントコンピューティングシステムで処理することができるとしてよい。各コンテンツストリームは、他のストリームと干渉しないように、独自の暗号化コンテキストを持つ。この構成によってさらに、クライアントコンピューティングシステムは、一のストリームへの任意の種類の攻撃または侵害は他のコンテンツストリームに影響を与えないことになる。
【００４２】
ある実施形態によると、ＨＤＤ／ＳＤＤ５１０は、少なくとも１つのユーザプロフィール５１１および広告キャッシュ５５０を含む。これらについては以下で詳しく説明する。ある実施形態によると、クライアントコンピューティングシステムは、第２のコンポーネント５０２に結合されている１以上のセンサ５５４を備える。センサは、クライアントコンピューティングシステムの周囲の環境を感知して、証明、鍵管理のプロビジョニング、出力制御および動的なコンテキストに基づく広告マッチング部５１６で利用されるように、センサ情報をセキュリティプロセッサ３１４に報告する。ある実施形態によると、センサは、ＧＰＳシステム、加速度計、コンパス、振動検出器および／またはその他のセンサを含むとしてよい。
【００４３】
本発明の実施形態は、クライアントコンピューティングシステムにおいて、デジタルコンテンツに対して選択された広告を動的に挿入する機能を実現する。実施形態は、ＨＷ  ＲＯＴ内でセキュアに実現される動的広告マッチングプロセスおよびクライアントコンピューティングシステムのために用意されているコンテンツに広告を挿入する方法を提供する。ユーザプロフィールは、プライバシーが保護されているとしてよく、クライアントコンピューティングシステムおよび／またはＳＰサーバにおいて機密性は保護されたまま維持されるとしてよい。クライアントコンピューティングシステムがＳＰサーバに対して広告ストリームを求める要求を発行すると、当該要求はクライアントのＥＰＩＤ署名を含むとしてよく、ＥＰＩＤ署名は本質的にプライバシーが保護される。ＨＷ  ＲＯＴは、トリガに基づいて、コンテンツのリニアレンダリングフローへの広告ストリームの挿入を保護する。ある実施形態によると、トリガは、音響透かしに基づいているとしてよく、または、パッケージングされたメディアに用いられているＭＰ４ファイル内の偶数トラックに基づいているとしてよい。
【００４４】
図６は、本発明の実施形態に係る、サービスプロバイダサーバおよびコンテンツプロバイダのコンポーネントを示す図である。ある実施形態によると、コンテンツプロバイダ６０９は、コンテンツ準備アプリケーション６０７を利用して、コンテンツ１０２を分析して、広告スロットをコンテンツに挿入して、広告スロットを含むコンテンツ６１０を形成する。広告スロットは、後の所与のタイミングで広告を挿入する箇所を記述するコンテンツ内の標識を構成する。広告ダイジェスト６０５は、広告スロットを含むコンテンツ６１０内のどの箇所に広告スロットが位置しているかを少なくとも説明している情報を含む。ある実施形態によると、広告ダイジェスト６０５はさらに、メタデータ、エクステンシブルマークアップランゲージ（ＸＭＬ）コード、特定の暗号化および／またはエンコード方式、メディア処理設定、および、インタラクティブ型命令（例えば、広告を見せる前および／または広告を見せた後に、選択されたタスクを実行させるための命令）のうち１以上を含むとしてよい。ある実施形態によると、広告スロットの時点においてコンテンツへ広告を挿入することは、クライアントコンピューティングシステム１０１で実行されるとしてよい。別の実施形態によると、広告スロットの時点におけるコンテンツへの広告の挿入は、ＳＰサーバ１０４で実行されるとしてよい。広告スロットを含むコンテンツ６１０および広告ダイジェスト６０５は、任意の手段を用いて、コンテンツプロバイダからＳＰサーバ１０４へと通信されるとしてよい。ある実施形態によると、コンテンツプロバイダおよびサービスプロバイダは、別箇のエンティティであってよい。別の実施形態によると、コンテンツプロバイダおよびサービスプロバイダは、同じエンティティであってよい。
【００４５】
図７は、本発明の実施形態に係る広告スロットおよびコンテンツチャプタを示す図である。複数のチャプタ７０２、７０４、７０６、７０８および７１０を持つコンテンツ１０２の例では、広告スロット７１２、７１４、７１６、７１８および７２０は、図示されているように、コンテンツ準備アプリケーション６０７によってコンテンツ内の所与の位置に挿入されるとしてよい。しかし、任意の数の広告スロットをコンテンツに挿入するとしてよく、（本例で示しているようにチャプタの開始時点および終了時点だけでなく）コンテンツ内の任意の箇所に挿入するとしてもよい。コンテンツ全体の長さが広告スロットの長さの分だけ拡大されるように、広告スロットがコンテンツに挿入されるとしてよい。
【００４６】
ＳＰサーバアプリケーションは、広告スロットを含むコンテンツ６１０および／または広告ダイジェスト６０５を、セキュアにクライアントコンピューティングシステムに送信するとしてよい。さまざまな実施形態によると、ＳＰサーバ１０４上のＳＰサーバアプリケーション２１２、または、クライアントコンピューティングシステム１０１上のＳＰプレーヤ／メディアブラウザ３０２の一方が、広告ダイジェスト６０５に少なくとも部分的に基づいて広告スロットを検出し、広告コンテンツを取得する（適宜、クライアントコンピューティングシステム内のＳＰサーバまたは広告キャッシュ５５０内に既に格納されている場合を除く）。ある実施形態によると、広告コンテンツは、必要に応じてリアルタイムに、ネットワークに結合されている広告サーバ（不図示）から取得するとしてよい。ＳＰプレーヤ／メディアブラウザ３０２はこの後、クライアントコンピューティングシステムでコンテンツをレンダリングしている期間中の特定のタイミングで広告を表示する。
【００４７】
ある実施形態によると、コンテンツ準備アプリケーション６０７は、広告スロットを挿入すべき箇所を説明している広告ダイジェストを生成するが、コンテンツ内に実際に広告スロットを生成するのではないとしてよい。本実施形態によると、コンテンツプロバイダ６０９は、コンテンツ１０２および広告ダイジェストをＳＰサーバに送信し、ＳＰサーバは、コンテンツ内に広告スロットを作成して、受信した広告ダイジェストに少なくとも部分的に基づいて広告スロットを含むコンテンツ６１０を形成する。
【００４８】
ある実施形態によると、ＳＰサーバアプリケーション２１２は、クライアントコンピューティングシステムのユーザ毎に、ＳＰサーバ１０４上でユーザプロフィール６０６をセキュアに維持するとしてよい。ユーザプロフィールは、ユーザの好みおよび興味のうち少なくとも一方を含む。一実施形態によると、ユーザは、ＳＰプレーヤ／メディアブラウザ３０２を利用して、積極的に、自分の好みおよび／または興味を入力または選択するとしてよい。別の実施形態によると、ＳＰサーバアプリケーションは、ユーザのクライアントコンピューティングシステムに配信されるコンテンツおよび／もしくは広告（例えば、視聴履歴）、ならびに／または、ＳＰサーバがこれまでに受信したユーザ入力に少なくとも部分的に基づいてユーザプロフィールを作成して維持するとしてよい。別の実施形態によると、ユーザ入力は、クライアントコンピューティングシステムに結合されているセンサ、および、他の入力メカニズム、例えば、タッチスクリーン、ジェスチャ認識、Ｂｌｕｅｔｏｏｔｈ（登録商標）デバイスまたはリモートコントロールデバイスを介して受信されるとしてよい。ある実施形態によると、「好み」には、ユーザが興味を持つ情報の種類、ユーザが希望する情報受信方法、情報受信タイミングおよび、情報受信形式を含むとしてよい。ある実施形態によると、「好み」には、購入に関する財政上の制約、購入通知および購入承認等の購入パラメータが含まれるとしてよい。他の「好み」をさらに特定するとしてもよい。ある実施形態によると、「興味」には、ユーザが興味の対象として選択したもの（例えば、スポーツ、趣味、テレビ、映画および音楽のジャンル等）、ならびに、過去の挙動を分析することで分かる興味（例えば、受信したユーザ入力、ならびに、配信および／もしくは消費された広告および／もしくはコンテンツ）が含まれるとしてよい。ある実施形態によると、ユーザ入力は、ユーザプロフィールの一部として格納されるとしてよい。ある実施形態によると、ユーザプロフィール６０６もまた、ユーザプロフィール５１１としてクライアントコンピューティングシステムに格納されるとしてよい。
【００４９】
ある実施形態によると、ＳＰサーバアプリケーションは、ユーザプロフィール６０６、広告メタデータタグ６０８、広告ダイジェスト６０５のうち１以上を利用して、広告スロットを含むコンテンツ６１０に挿入するべく、広告コンテンツ６０４から広告を選択する。ある実施形態によると、広告コンテンツ６０４から広告を選択する処理は、広告マッチングプロセスを用いてＳＰサーバアプリケーションによって実行されるとしてよい。ある実施形態によると、選択された広告は、広告コンテンツ６０４から取得され、広告キャッシュ６１１に格納されるとしてよい。ある実施形態によると、広告キャッシュに格納される選択された広告の数は、広告スロットを含むコンテンツ６１０の広告スロットの数よりも多いとしてよい。
【００５０】
ある実施形態によると、１以上の広告メタデータタグ６０８で記述される広告は、ネットワーク２０１を介して別のエンティティから必要に応じて取得されるとしてよい。別の実施形態によると、選択された広告は、取得され、クライアントコンピューティングシステムにセキュアに通信され、クライアントコンピューティングシステムのＨＤＤ／ＳＳＤ５１０内の広告キャッシュ５５０に格納されるとしてよい。広告は、任意の音声コンテンツ、動画コンテンツまたは画像コンテンツを含むとしてよい。ある実施形態によると、広告コンテンツ６０４から選択される広告は、ＳＰサーバまたはクライアントコンピューティングシステムの一方によって、広告スロット６１０を含むコンテンツ６１０内の１以上の広告スロットにおいて挿入されるとしてよい。それぞれの広告は、一意的に特定され、メタデータがタグ付けされるとしてよい。
【００５１】
既存の音声コンテンツ用のコンテンツメタデータタグには、サンプリングレート、音声圧縮規格、アーティスト、タイトル、アルバム等の情報が含まれる。既存の動画コンテンツ用のコンテンツメタデータタグには、タイトル、フレームレート、ビデオフレームサイズ、ビデオフレーム形式、ビデオ圧縮規格、チャプタ、説明文、メニュー、期間、字幕等の情報が含まれる。広告メタデータタグ６０８は、広告スロットＩＤ、広告期間、広告のユニフォーム・リソース・ロケータ（ＵＲＬ）、広告の種類、広告報告ＵＲＬ（例えば、広告の利用統計を報告する位置）およびその他の情報の１以上を含むとしてよい。広告スロットは、広告スロットの種類に応じて、さまざまな情報群を含むとしてよい。例えば、映画用の広告スロットは、ＴＶプログラム用の広告スロットとは異なる情報を含むとしてよい。
【００５２】
本発明の実施形態によると、広告は、ＳＰサーバおよび／またはクライアント上で動的に選択および／またはパーソナライズするとしてもよい。一実施形態によると、ＳＰサーバ上で選択される場合、ＳＰサーバは、選択された広告を広告キャッシュ６１１からフェッチして、広告ダイジェスト６０５を用いて広告スロットを含むコンテンツ６１０の適切な広告スロットに広告を挿入して、このようにして修正されたコンテンツをクライアントコンピューティングシステムに通信して、ユーザに対してレンダリングさせる。別の実施形態によると、ＳＰサーバは、広告を選択して、広告キャッシュ６１１に投入して、広告スロットを含むコンテンツ６１０および広告ダイジェスト６０５と共に広告キャッシュを、挿入および再生を実現するべく、クライアントコンピューティングシステムに送信する。ある実施形態によると、ＳＰサーバは、クライアントコンピューティングシステムに、広告スロットを含むコンテンツ６１０とは別個に、広告キャッシュ６１１および広告ダイジェスト６０５をセキュアに通信するとしてよい。ある実施形態によると、広告スロットを含むコンテンツ６１０毎に複数の広告ダイジェストが定義されているとしてもよい。
【００５３】
クライアントコンピューティングデバイス上のセキュリティプロセッサ３１４内の証明、鍵管理のプロビジョニング、出力制御および動的なコンテキストベースの広告マッチング部で選択されると、一実施形態において、セキュリティプロセッサは、広告マッチングプロセスに基づいて広告を選択して、当該広告をＳＰサーバ１０４または他のソースからネットワーク２０１を介して取得し、クライアント上の広告キャッシュ５５０に格納する。広告スロットを含むコンテンツ６１０は、クライアントコンピューティングシステムによって、ＨＤＤ／ＳＳＤ５１０のコンテンツキャッシュ５５２に格納されるとしてよい。広告ダイジェストもＨＤＤ／ＳＳＤに格納されるとしてよい。この後、セキュリティプロセッサ３１４は、再生処理中に、広告スロット、クライアントの現在コンテキスト情報および広告ダイジェストに少なくとも部分的に基づいて、グラフィクスエンジン３２０に、広告キャッシュから得られる広告を、コンテンツキャッシュ５５２から取得したコンテンツストリームに挿入するように指示する。広告キャッシュ、広告ダイジェスト、そして言うまでもなく、広告スロットを含むコンテンツは、上述した方法を用いて、暗号化処理により保護するとしてよい。ある実施形態によると、広告は、コンテンツを暗号化するために用いられたのと同じタイトルキーを用いて暗号化されるとしてよい。別の実施形態では、別のキーを用いるとしてもよい。この別のキーは、タイトルキーと同じ方法で、クライアントコンピューティングシステムにセキュアに通信されるとしてよい。別の実施形態によると、広告は、暗号化されていない状態のままとしてもよい。
【００５４】
クライアント上で動的に選択される場合、広告の選択は、クライアントコンピューティングシステムのセキュリティプロセッサ３１４が知っているか、または、発見した１以上のローカルコンテキスト要因に基づいて行われるとしてよい。１以上のコンテキスト要因は、センサ５５４から取得されるセンサ情報を含むとしてよい。ある実施形態によると、クライアントコンピューティングシステムの地理的な位置に基づいて、どの広告をコンテンツストリームの広告スロットに挿入するかをリアルタイムで決定するとしてよい。例えば、ローカルビジネスの広告は、クライアントコンピューティングシステムの現在位置に基づいて挿入されるとしてよい。ある実施形態によると、クライアントコンピューティングシステムを構成しているデバイスの種類に基づいて、どの広告を挿入するかを決定するとしてもよい。つまり、クライアントコンピューティングシステムがタブレットコンピュータ、デスクトップＰＣ、ラップトップＰＣ、ネットブック、スマートフォン、セットトップボックス等のいずれであるか、および／または、クライアントコンピューティングシステムのディスプレイのサイズ、形式および／または解像度を考慮して広告を決定するとしてもよい。別の例を挙げると、クライアントコンピューティングシステムの現在の利用モデル、例えば、クライアントコンピューティングシステムによるコンテンツの表示は個人的なものであるか（つまり、１人）、または、共有されているものか（つまり、複数の視聴者がいる）であるかも利用するとしてよい。
【００５５】
他の広告マッチング要因には、現在の可動性ステータス、例えば、クライアントコンピューティングシステムが静止しているか、可動性を持つ（例えば、公共ホットスポットに接続されている）か、または、ノマディック状態である（地下鉄、電車、自動車等の交通システムで移動中である）か、コンテンツの種類（例えば、映画かテレビ番組か）、クライアントコンピューティングシステムは現在ネットワークを介してサービスプロバイダに接続されているか否か、コンテンツが既にクライアントコンピューティングシステムにダウンロードされているかネットワークを介してストリーミングされているか、コンテンツが購入されたのかまたは広告がサポートされているのか、クライアントコンピューティングシステムの現在のユーザインターフェース（ＵＩ）はタッチスクリーンまたは他の直接操作型のＵＩであるか、または、「リラックス」受動型試聴／ＵＩモードであるか、そして、一または複数のコンテンツストリームのどちらがクライアントコンピューティングシステムによって処理されているのか、があるとしてよい。他の広告マッチング要素も利用するとしてよい。
【００５６】
本発明の実施形態はさらに、広告の測定処理を実行する。つまり、広告を選択して再生するべく広告スロットに挿入する場合、クライアントコンピューティングシステムは（一実施形態ではセキュリティプロセッサを利用する）サービスプロバイダサーバ１０４に対して、利用した広告およびその頻度を報告するとしてよい。また、コンテンツストリームを再生する度に、本発明の実施形態は、再生されると広告コンテンツについて追跡イベントをトリガして、そのような追跡イベントをサービスプロバイダサーバ１０４に報告する機能を実現する。
【００５７】
このように、同一のコンテンツタイトルを再生する場合でも、地理的位置、利用しているクライアントコンピューティングシステムの種類、再生モード等の要因に応じて、ユーザに対して提供する広告および視聴状況が異なるとしてよい。
【００５８】
本発明の実施形態によると、広告スロットおよび（クライアントコンピューティングシステム上のＳＰサーバまたはセキュリティプロセッサまたはグラフィクスエンジンによって）選択されてコンテンツに挿入された広告が、ＨＷ  ＲＯＴが実現するセキュリティのおかげで、ユーザまたはハッカーによる削除または修正が非常に難しいために、セキュリティが改善されるとしてよい。広告スロット、広告ダイジェストおよび／または広告を削除または修正しようとすると、そのような試みは、上述した暗号化技術によって検出されるとしてよい。
【００５９】
図８は、本発明の実施形態に係る動的な広告挿入処理を説明するフローチャートである。ブロック８０２において、コンテンツプロバイダは、コンテンツ１０２を分析することによって広告スロットを含むコンテンツ６１０を作成する。コンテンツプロバイダはさらに、コンテンツについて広告スロットを説明するための情報を含む広告ダイジェスト６０５を作成する。ブロック８０４において、ＳＰサーバアプリケーションは、ユーザプロフィール６０６、広告メタデータタグ６０８、および、広告ダイジェスト６０５に少なくとも部分的に基づいて、広告コンテンツ６０４から広告を選択する。広告の選択は、任意の適切な広告マッチング処理によって実行されるとしてよい。ある実施形態によると、このコンテンツについて広告キャッシュのために選択される広告の数が広告スロットの数よりも多いとしてよい。これは、クライアントコンピューティングシステム上のセキュリティプロセッサが、広告キャッシュの選択された広告に応じて、動的にコンテンツ再生状況を調整するためである。ブロック８０６において、ＳＰサーバは選択された広告を広告キャッシュに格納する。一実施形態によると、クライアントコンピューティングシステムが現在通信可能にＳＰサーバと結合されている（つまり、「オンライン」である）場合、広告キャッシュは、選択された広告のＵＲＬ（ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒ）を特定するとしてよい。別の実施形態によると、クライアントコンピューティングシステムが現在通信可能にＳＰサーバに結合されていない（つまり、オフラインである）場合、広告キャッシュにはＳＰサーバによって広告が投入されるとしてよい。
【００６０】
ブロック８０８において、ＳＰサーバは、広告キャッシュ６１１をクライアントコンピューティングシステムに送信する。ＳＰサーバはさらに、広告ダイジェスト６０５をクライアントコンピューティングシステムに送信するとしてよい。ブロック８１０において、クライアントコンピューティングシステムは、受信した広告キャッシュ６１１を、ＨＤＤ／ＳＳＤ内に広告キャッシュ５５０として格納する。ある実施形態によると、ＳＰプレーヤ／メディアブラウザは、広告キャッシュを要求および／または受信するとしてよい。クライアントコンピューティングシステムはさらに、広告ダイジェストをＨＤＤ／ＳＳＤに格納するとしてよい。ある実施形態によると、広告キャッシュおよび／または広告ダイジェストは、公知の手段を用いて暗号化されるとしてよい。クライアントコンピューティングシステムは、広告スロットを含むコンテンツ６１０を、関連する広告キャッシュおよび広告ダイジェストを格納する前後のどちらかに、格納するとしてよい。格納処理はこれで完了する。
【００６１】
後にユーザがコンテンツの試聴を望む場合、再生処理はブロック８１２で開始され、ＳＰプレーヤ／メディアブラウザ３０２が（ユーザの指示で）広告スロットを含むコンテンツ６１０を再生対象として選択する。広告スロットを含むコンテンツを、図５を参照しつつ上述したセキュアなメディア処理パイプラインを介して送信する前に、ブロック８１４で、ＳＰプレーヤ／メディアブラウザは、ＨＤＤ／ＳＳＤから広告ダイジェストを取得して、広告ダイジェストをセキュリティプロセッサで送信する。ブロック８１６において、セキュリティプロセッサ３１４の証明、鍵管理のプロビジョニング、出力制御および動的なコンテキストベースの広告マッチング部５１６は、広告ダイジェストおよびクライアントコンピューティングシステムの現在のコンテキスト（センサ５５４で受信したもの、および、現在のクライアントコンピューティングシステムの設定）に基づいて動的な広告マッチング処理を実行し、広告スロットを記述する情報および対応付けられている広告ＩＤをＳＰプレーヤ／メディアブラウザに送信する。ブロック８１８において、ＳＰプレーヤ／メディアブラウザは、広告スロットを含むコンテンツ、および、特定された広告（広告ＩＤに基づき広告キャッシュから取得したもの）を、ユーザが試聴できるようディスプレイ５３８でレンダリングするべく、グラフィクスエンジン（ＧＦＸ）３２０にセキュアに送信する。さまざまな実施形態によると、広告は、クライアント上の広告キャッシュ５５０から、ＳＰサーバ上の広告キャッシュ６１１から、または、ネットワーク２０１を介して所与の位置にある別のエンティティから取り出されるとしてよい。特定された広告は、コンテンツレンダリングの際に、広告スロットに挿入される。ある実施形態によると、広告および広告ダイジェストは、セキュリティプロセッサおよび／またはグラフィクスエンジンにおいて処理されている間を除いて、暗号化された形式で維持されているとしてよい。
【００６２】
ブロック８２０において、セキュリティプロセッサ３１４の証明、鍵管理のプロビジョニング、出力制御および動的なコンテキストベースの広告マッチング部５１６は、レンダリングされたコンテンツおよび広告をモニタリングして、レンダリングされたコンテンツおよび広告に関する利用データをＳＰサーバアプリケーションに報告するとしてよい。利用データは、上述した方法に基づいて、暗号化されてセキュアにＳＰサーバに送信されるとしてよい。
【００６３】
本明細書において「一実施形態」または「ある実施形態」という場合、当該実施形態に関連付けて説明した特定の特徴、構造または特性が少なくとも一の実施例に含まれ得ることを意味する。「一実施形態において」という表現は本明細書において何度も登場するが、全て同一の実施形態を意味するとしてもよいし、そうではないとしてもよい。
【００６４】
また、明細書および請求項において、「結合」および「接続」という用語を利用することがある。本発明の一部の実施形態では、「接続」という用語は、２以上の構成要素が互いに直接、物理的または電気的に接触していることを意味するとしてよい。「結合」という用語は、２以上の構成要素が直接、物理的または電気的に接触していることを意味するとしてよい。しかし、「結合」はさらに、２以上の構成要素は互いに直接接触していないものの、互いに協働しているか、または、やり取りをしていることを意味するとしてよい。
【００６５】
このように、本発明の実施形態を構造の特徴および／または方法を構成する動作に特有の用語で説明してきたが、請求の対象となる主題は上述した具体的な特徴または動作に限定されるものではないと理解されたい。これに代えて、具体的な特徴または動作は、請求の対象となる主題を実現する形態の一例として開示されているものである。
【図１】
0005756567.tif 000002
【図２】
0005756567.tif 000003
【図３】
0005756567.tif 000004
【図４】
0005756567.tif 000005
【図５】
0005756567.tif 000006
【図６】
0005756567.tif 000007
【図７】
0005756567.tif 000008
【図８】
0005756567.tif 000009