説明

長期にリニューアル可能なセキュリティを提供するコンテンツセキュリティレイヤ

【課題】海賊行為者が、コンテンツタイトルの個々のプレーヤをコンプロマイズした場合、古い攻撃を阻止する新しいセキュリティ機能を使用して、新しいコンテンツをマスタリングすることができる。これによって、特定のプレーヤまで遡って攻撃をトレースできるように、進行中のウォータマーク挿入を実行可能にする。
【解決手段】デジタルコンテンツは、暗号化されたデータと、承認された再生環境での使用を可能にするデータ処理オペレーションとの組合せとして、マスタリングされる。コンテンツのデータ処理オペレーションと互換性のある処理環境を有するプレーヤデバイスは、コンテンツを復号し再生することができる。このプレーヤデバイスは、媒体からのデータのロード、ネットワーク通信の実行、再生環境構成の判断、復号/再生のコントロール、および/または、プレーヤのキーを使用した暗号オペレーションの実行等の基本機能を、コンテンツに提供することもできる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタルコンテンツの配信を、海賊行為その他のオーソライズされていない使用または再配信から、セキュアに保護することに関する。
【背景技術】
【0002】
デジタルコンテンツをプロテクトするため、種々のシステムが提案されてきた。このようなプロテクトスキームにおいては、ほとんどの場合、コンテンツが媒体にストアされるか、信頼できない通信チャネルを介して送信される間に、オーソライズなく使用されたりコピーされたりするのを防止するため、コンテンツが暗号化されている。復号アルゴリズムおよびキーは、信頼できる耐タンパーソフトウェアまたはハードウェアモジュールであって、コンテンツの使用方法を指定するアクセスコントロールルール(このルールは固定のものでもよいし構成可能であってよい)を遵守させるように設計されたハードウェアモジュール、によって管理される。
【0003】
コンテンツプロテクトスキームは、一般的に、特定の再生環境のためにカスタマイズされている。例えば、ソフトウェアオンリストリーミングコンテンツプレーヤのAnti-piracyシステムであって、パーソナルコンピュータ用に設計されているものは、耐タンパーハードウェアというセキュリティの恩恵は欠けるが、一般に、(例えば、仮にユーザが当該プレーヤをアンインストールして、製造業者のWebサイトから更新版をダウンロードする場合には)なんなくアップグレードすることができる。そうであるから、このようなシステムは、ロバストなセキュリティという点では、ハードウェアベースのプレーヤより劣るが、攻撃を受けたとしても、当該コンテンツストリームを修正したり、ユーザに自分のソフトウェアをアップグレードしたりするように要請することにより、アップグレードされたセキュリティ機能をディプロイ(deploy)できるから、その攻撃の影響は比較的小さくなる。
【0004】
これに対して、光媒体を再生するコンシューマ用電子ハードウェアデバイスにエンベッドされたプロテクション方法は、周知のように、アップグレードが困難である。セキュリティ上の課題としては、光媒体が長寿命であること(このため、後方互換性のないセキュリティアップグレードが阻害される)、プレーヤを更新する、便利で信頼性のある方法がないこと、及びプレーヤのインプリメンテーションが標準化されていないこと、が挙げられる。これに加えて、再生装置の寿命が長いことから、コンシューマに、新しいコンテンツはどれも旧式のプレーヤで再生できるという期待感があり、これにより、セキュリティをアップグレードするのが極端に困難になっている。このため、ほとんどのコンシューマ電子装置は、コピーに対するプロテクトはほとんど行われないか全く行われないので、コンシューマ電子装置においてディプロイされているコンテンツプロテクション標準は、柔軟性及び新規性に欠ける簡単で柔軟性のないスキームとなる傾向にある。図1は、背景技術の典型的なコンテンツプロテクションシステムを示す図である。コンテンツプレーヤ100は、不揮発性プログラムメモリ105に、プレーヤのセキュリティポリシー110と、復号コード120と、プレーヤキー130とをインプリメントするソフトウェアを含む。これらコードおよびキーは、媒体から読み取られたコンテンツ150が有効であるか否かを確認するため、プロセッサ140により使用されており、仮に有効である場合には、当該コンテンツが復号され、その復号結果が出力インタフェース160に供給される。図1に図示したようなプロテクションシステムの例としては、デジタルオーディオテープで使用されるコピーコントロールスキームと、DVDビデオのプロテクトのためのCSS(content scrambling system)と、DVDオーディオのプロテクトのために提案されたCPPMスキームとが含まれる。
【0005】
背景技術においては、次のような種々の異なる技法が知られている。
【0006】
アクセスコントロールポリシー:背景技術においては、多種多様なアクセスポリシーと、このようなポリシーを指定するための方法とが、知られている。例えば、特許文献1に開示されているソフトウェアプロテクションシステムは、パブリッシャ(publisher)によって発行された簡単なオーソライゼーションコードを使用している。これに対して、特許文献2には、莫大な数の参加者に関連する非常に複雑な種々のアクセスルールが記載されている。アクセスポリシーをエンコードするための標準、例えば、PolicyMakerと、X.509証明フォーマットと(これらは、コンテンツ配信その他のアプリケーションで使用される)が提案されている。
【0007】
アンチウィルスソフトウェア:知られているウィルス、例えばトロイの木馬その他の害意あるコードを検出しブロックする方法は、背景技術においては、周知のものである。これらの方法には、一般的に、知られたウィルスの属性、例えば知られた命令シーケンスを、スキャンすることが含まれる。これらのプログラムは、種々の方法、例えば、スタートアップ時にファイルをスキャンしたり、ファイルをオンザフライ(on-the-fly)でスキャンしたり、プログラムの実行時にこれらプログラムをスキャンしたり、メモリをスキャンしたり、新しい媒体をスキャンしたり、ネットワーク通信をスキャンしたりするときに、働かせることができる。
【0008】
コンテンツプロテクションシステムおよびDRM:多種多様なコンテンツプロテクションシステム(DRM(digital rights management)システムともいう)が提案されてきた。背景技術に係るDRMシステムは、一般に、コンテンツを暗号化形式で配信し、正当なサブスクライバに対して、復号キーを供給するか、または復号オペレーションをパフォームする。多くのフィーチャが提案されるか、又は商用DRMに含まれている。これらフィーチャとしては、スーパ配信(superdistribution)(暗号化されたコンテンツをユーザ間で交換できる)のサポートと、ペイパーユース課金(通知が電話回線を介して行われるオフラインペイパーユースを含む)と、変動課金レート(チャージングは、プロモーションと、使用回数または使用期間と、要求されたユーザオペレーションと、ユーザ履歴等に基づいて異なる)と、種々のデータタイプ(オーディオと、ビデオと、テキストと、ソフトウェア等)のプロテクトと、種々のフォーマットのプロテクトと、種々の再生装置のタイプ(ポータブル、セットトップ、ハードウェア支援のコンピュータベース、ソフトウェアオンリ等)のサポートと、が含まれる。
【0009】
コピープロテクション:パーソナルコンピュータソフトウェアのコピーをプロテクトする方法が、知られており、コンピュータゲームのようなソフトウェアのために広範囲にディプロイされている。これらの方法においては、(例えば、エラー、すなわち複製が困難になる非標準のフォーマッティングを意図的に組み込んで)コピーが困難になるように設計した物理媒体に、ソフトウェアプログラムをバインド(bind)することが、しばしば行われている。他のコピープロテクションシステムには、インストールプロセスを、例えば、当該ユーザがサーバからオーソライゼーションコードを取得することを要求することにより、セキュアにプロテクトすることが含まれる。コピープロテクトフィーチャを設計段階でシステムに入れることがある。コピープロテクト(コンピュータソフトウェアと、ビデオカセットテープと、オーディオCDとに使用されるコピープロテクションシステムを含む)は、ほとんどのプレーヤで再生できる非標準のエンコーディングであるが、ほとんどの場合に媒体コピーが正規に行えないエンコーディングによりインプリメントすることができる。コピープロテクションシステムにおいては、その主な設計課題は、正当なユーザに及ぼす影響を最小にする(すなわち、高い確率で再生ができユーザに受け入れられる)一方で、望ましくないアクションをできる限り効果的に防止する(すなわち、良好なセキュリティを取得する)ことにある。
【0010】
暗号化機能:多種多様な基本的な暗号化機能としては、ブロック暗号(block cipher)と、ハッシュ機能と、デジタル署名システム(その他のパブリックキーシステム)と、キー管理システム等を含む暗号化機能が知られている。基本的な暗号化技術についてより詳しくは、非特許文献1を参照されたい。
【0011】
クリプトグラフィックオラクル(cryptographic oracle):ブロック暗号その他の暗号化機能を使用すると、外部から供給される任意の入力メッセージに秘密の暗号変換を適用してその結果を戻す「クリプトグラフィックオラクル」を構築することができる。クリプトグラフィックオラクルは、オラクルのアルゴリズムおよびプロトコルを知っている攻撃者が、コンピューティングによっては、オラクルのキーを決定できないように構築することができる。加えて、オラクルへ入力可能な入力数を莫大な数(例えば、256ビットのブロック暗号から構築されたオラクルにあっては、2256)にすることができるので、攻撃者は、ランダムなケリーに対する応答を、予想できないし、事前にコンピューティングすることができない。
【0012】
インタプリタ、エミュレータ、およびバーチャルマシン:背景技術においては、種々のインタプリタ型コンピュータ言語(interpreted computer language)が知られている。インタプリタ型コンピュータ言語の中には、Java(登録商標)のように、ソースコードを実行可能形式かインタプリタブルな(interpretable)形式に変換するため、コンパイルプロセスが必要なものがある。これに対して、ほとんどのBASIC(登録商標)インタプリタは、ソースコードに対して直接オペレートするようになっている。インタプリタの中には、自己修正コードを許容するものもあるが。許容しないものもある。背景技術においては、インタプリタをインプリメントするための技術も、アセンブリ言語をエミュレートするための技術も知られている。例えば、精巧なエミュレータ、例えば、Virtual PC(登録商標)およびSoftWindows(登録商標)は、Microsoft(登録商標)Windows(登録商標)やApple(登録商標)Mac(登録商標)コンピュータ用に設計されたプログラムをラン(run)させることができる。VM(Virtual machine)設計、例えば、Java(登録商標)およびJava(登録商標) Card用に使用される設計が知られており、VMが、コンピュータ上のネイティブコード(native)とインタラクトするか、または異なるメモリ空間にある他のVM機能をコールすることができることも知られている。(多くのJava(登録商標)インプリメンテーションはこれらの機能を提供している。)インタプリタ型コンピュータ言語は、一般に、アプリケーションのために使用されるか、または、クロスプラットフォーム互換性が要求されるところにおいて、例えばプロセッサ独立型デバイスドライバフォーマットを作成するために使用される。(例えば、非特許文献2参照。)
キー管理:暗号キーを、アロケートし管理するための多種多様な方法が提案されている。デバイスは、デバイス専用キーと、グループキーと、パブリックキーと、プライベートキーと、証明書等を有することができる、ことが知られている。キーは、個々のデバイスと、選択されたデバイスグループ(例えば、特許文献3に記載されているようなもの)と、全てのデバイス等とに、割り当てることができる。デバイスは、対称キーと、(例えば、証明書およびデジタル署名をベリファイするための)パブリックキーと、非対称プライベートキーとを含む、異なるタイプの種々のキーを含むことができる。
【0013】
媒体:記憶容量が大きく、製造コストが低く、耐久性に優れた媒体を提供できる媒体技術が知られている。現在の媒体技術の例としては、光ディスク(CD、DVDなど)と、磁気媒体と、フラッシュメモリと、ROMがある。ホログラフメモリのような新しい技術も開発されている。単一の媒体が多くの異なるタイプのデータを含むことができることが知られている。例えば、CD(compact disc)は、標準のRed Bookオーディオトラックを含むことができ、パーソナルコンピュータで使用するためのデータセッション(例えば、ソフトウェアと、圧縮されたボーナストラックと、イメージと、ビデオと、歌詞など)を含むことができる。パーソナルコンピュータで使用するためのCDは、暗号化されたコンテンツと、コンテンツの再生に必要な再生ソフトウェアとの両方を含むことができる。
【0014】
ネットワーク通信:the Internetを含む高度なデータネットワークが知られている。これらのネットワークは、柔軟性があり、リライアブル(reliable)で、高帯域幅のデータ通信を提供することができる。物理接続を有するネットワークは、通常、より高い帯域幅を提供するが、ワイヤレス通信チャネルも広く普及している。
【0015】
リニューアル可能なセキュリティ:可能な攻撃を全て防御できると保証されたセキュリティシステムを作成すことは、実際にはできないことである。そこで、攻撃後に、例えばコンプロマイズされたキーは引き続き使用しないでその脆弱性を修正し、これによりセキュリティをリニューアルできることが望ましい。セキュリティはリニューアル可能であるのが望ましいが、ディプロイされ提案された多くのシステムには、多種の攻撃から効果的にリカバーするメカニズムがない。
【0016】
サンドボクシング(sandboxing):サンドボクシングとは、当該システムにダメージを与える可能性のあるオペレーションに、ソフトウェアプログラムがアクセスできないコントロール環境において、そのソフトウェアプログラムを実行することに関するものである。Java(登録商標)「バーチャルマシン」は、(The Internetを介してダウンロードしたような)信頼できないアプレットを実行できるようなサンドボクシングをサポートしている。
【0017】
セキュリティモジュール:多くのセキュリティシステムは、リムーバブルなセキュリティモジュールを採用しているため、当該システムの他の部分を置き換えるような面倒なことをせずに、セキュリティのアップグレードを行うことができる。例えば、リムーバブルなセキュリティモジュールは、多くのペイTV(television)システムで使用されている。
【0018】
ソフトウェア更新:申し込まれたソフトウェア更新版を受け取り、この更新版を有効とするデジタル署名またはメッセージの認証コードをベリファイし、(当該署名が有効であれば)この更新を行い、これにより、セキュアなソフトウェア更新を行うことができる。例えば、デジタルオーディオプレーヤにあっては、コード更新版を受け取り、この更新版に付されたデジタル署名またはメッセージ認証コードをベリファイし、(当該署名が有効であれば)それらのコードを更新できる、ことが知られている。更新が(例えばシーケンスカウンタを使用して)正しい順序で適用されることを保証する方法であって、しかも(例えば、ソフトウェアの前のバージョンに戻るか、または特別なリカバリーコードをアクティベートすることによって)失敗または不成功の更新からリカバーする方法も、知られている。種々の配信メカニズム、例えば、the Internetと、光媒体と、ROMカートリッジ等を介して、ソフトウェア更新版をバーチャルに供給することができる。ソフトウェア更新版は、ペイTVの海賊行為を防止するのに使用されてきた。デスクランブラには、これらコード更新版が信号とともに配信されるので、当該信号がコード更新版の新しいコードに適用されて、これら新しいコードが正常に実行され、次のビデオセグメントに対する正しい復号キーがコンピューティングされる。これら更新版は、オーソライズされていないデスクランブラを使用不能にするか、又は破壊することができるので、通常、オーソライズされていないビューを防止するのに使用されている。
【0019】
ステガノグラフィ:ステガノグラフィとは、情報をデータの中に隠すことに関するものである。例えば、暗号化されたデータをイメージまたは音声レコーディングの最下位ビットに配置できることが知られている。このイメージまたはレコーディングを取得できたものの復号キーを知らない攻撃者は、下位ビットがランダムに現れることが多いため、データが隠されているか否かを判断することができず、この復号キーがないため、強力な暗号化アルゴリズムによって生成された暗号文をランダムなデータと区別することができない。
【0020】
耐タンパー性:耐攻撃性を有するデバイスを設計し構築する多くの方法が知られている。耐タンパーハードウェアは、攻撃者がデバイスをリバースエンジニアリングするか、または暗号化モジュールからキーを抽出するのを防止することが望ましいシステムで、一般に使用される。例えば、Wave Systemsは、耐タンパー性を有するマイクロプロセッサベースのIC(integrated circuit)製品であって、「Embassy」と呼ばれるものであり、コンテンツプレーヤまたは汎用コンピュータと統合することができ、デジタルコンテンツの配信をセキュアにプロテクトした用法が宣伝されているものを、マーケティングしている。耐タンパー性を有するソフトウェアをインプリメントする方法も提案されている(例えば、特許文献4参照)。
【0021】
トレイタトレーシング(Traitor Tracing):トレイタトレーシングスキームが提案されており、これによれば、典型的には、オーソライズされていないデバイスで使用されたキーを、カスタマ特有のデバイスか、またはコンプロマイズ(compromise)されたデバイスまで遡ってトレースすることによって、コンプロマイズ源又は攻撃源が識別される。
【0022】
ウォータマーキング:ウォータマークとは、コンテンツにエンベッドされたシグナルであって、専用の検出器によって検出できるが、コンテンツが再生されたとき、人間の知覚に影響を及ぼさない(又は、影響を及ぼしても最小限に止まる)シグナルをいう。ピクチャと、音声レコーディングと、イメージとにエンベッドされたウォータマークは、著作権者が、そのコピーがオーソライズされていないことを示すため、使用されてきた。(アナログ出力からの再レコーディングを含む)フォーマットの変換に対して耐性を有し、しかも、ウォータマークの除去を意図した攻撃に対してセキュリティ度の異なるセキュリティを提供することのできる「ロバストな」ウォータマークが知られている。これに対して、「脆弱な」ウォータマークは、フォーマット変換に対する耐性が小さいか全くないが、「ロバストな」ウォータマークに比して、設計が容易で、多くの情報を搬送することができる。
【0023】
全ての可能な攻撃を完全に防止できるAnti-piracyシステムは、存在しないものの、背景技術のシステムは、解決可能な問題、例えばデジタルからデジタルへのコピーを使用するカジュアル(casual)な海賊行為や、プロテクトされたフォーマットからプロテクトされていないフォーマットへの高速度リッピングに使用するカジュアルな海賊行為に対して、実用的な解決方法を提供することができない。背景技術の多くのシステムを制限するものには、以下のものが含まれるが、これらに限定されるものではない。
【0024】
グローバルな秘密に対するリライアンス:多くのプロテクションシステムは、復号に必要な、暗号化アルゴリズム、キーその他の情報が秘密裏に守られることを要する。そのため、復号プロセスは、オープン(open)な標準文書にドキュメント化するには、当該システムのセキュリティを破らざる得ない。仮に莫大な数のインプリメントが利用可能である場合には、攻撃者は、最も脆弱なインプリメントを攻撃すれば、スキーム全体を破ることもできる。(このような攻撃は、最近、DVDビデオプロテクションシステムで発生した。)このようなシステムは、シングルベンダの閉じた環境で有用であるが、標準化することはできず、効果的で長期のセキュリティを提供するものではない。
【0025】
標準化の欠陥:コンテンツ製作者は、互換性のない種々のデータフォーマットおよび復号アルゴリズムを既にコミットした。コンテンツプロテクションシステムが異なるため、異なるビジネスモデルが可能であり、1つのモデルをコミットした製作者が、異なるモデルを必要とするセキュリティシステムを妨害する可能性がある。
【0026】
製品タイプとの非互換性:多くのセキュリティ機能は、全ての製品タイプに統合することができない。例えば、パーソナルコンピュータ用のダウンロード可能なソフトウェア専用プレーヤは、耐タンパー性を有するハードウェアを含むことができない。同様に、ソフトウェア更新が頻繁にあると、Internetへの接続性に欠けるプレーヤへは、供給が困難になる。
【0027】
ユーザインタフェース:多くの提案には、複雑なユーザインタフェースが含まれる。セキュリティは、害意のないユーザにとって不可視である方がよい。ユーザは、(例えばオーソライゼイションコードを取得するか入力するために)明示的にユーザ関与を必要とするスキームを、拒否する虞がある。一般に、コンシューマ用の電子装置、例えばカーステレオやビデオディスクプレーヤは、簡単に使用できなければならない。というのは、多くのユーザが、たとえ資料を読まなくても、テクノロジを怖がっていても、視力が弱いというようなハンディキャップがあっても、又はプレーヤのサポートする言語にたけていなくても、満足できなければならないからである。
【0028】
法的な課題:セキュリティシステムの中には、競合相手と協働することが必要なものもある。このような協働行為は、反トラスト法によれば、違法な行為に該当する可能性がある。
【0029】
製造業者の利益の欠缺:製造業者は、プレーヤのコストや、マーケティングまでの時間を増大させたり、適法なフィーチャを含めることを妨害したり、又はこれらの製品を非効率的で望ましくないものにしたりするセキュリティフィーチャに、反対することになる。半導体技術が進歩すると、セキュリティシステムのインプリメントに必要なコストが削減されるが、効果的な耐タンパー性を有するハードウェアを設計したり製造したりすることは、依然として困難でコストがかかるものである。そのため、コンテンツプロテクションシステムが、良好にインプリメントする上で製造業者に依存している場合には、よりセキュアなものを提供する製造業者を、実際の市場において優位に立たせない限り、これらコンテンツプロテクションシステムは失敗に終わることになる。
【0030】
不確定なセキュリティポリシー:効果的なセキュリティシステムは、ユーザが要求した特定のアクションをオーソライズするか阻止するかを決定するための規則その他の意思決定手順を指定しなければならない。これらの規則または手順が適正に指定されていないシステムが多い。
【0031】
柔軟性のないセキュリティポリシー:コンテンツプロテクションシステムが、異なる製作者、コンテンツタイプ、管轄権、再生環境などに対して、異なるモデルをサポートする上で、柔軟であることが望ましい。システムは、複雑になりすぎない限り、柔軟性を有するべきである。
【0032】
脆弱な長期のセキュリティ:セキュリティシステムは、セキュリティを長期に維持できる程度にロバストで柔軟でなければならない。背景技術のコンテンツプロテクションシステムにあっては、ハイプロファイル(high-profile)フォーマットの一部として、数年間以上継続できるものがあるが、一般に普及しているフォーマットは、30年以上継続できる。
【0033】
攻撃のアントレーサビリティ(untraceability):攻撃が発生した場合には、システムは、コンプロマイズされた(または悪用された)デバイスを取り消し、犯人を起訴できるように、攻撃源を識別できなければならない。
【0034】
【特許文献1】米国特許第4658093号明細書
【特許文献2】米国特許第5982891号明細書
【特許文献3】米国特許第5592552号明細書
【特許文献4】米国特許第5892899号明細書
【特許文献5】米国特許第4405829号明細書
【特許文献6】米国特許第5640306号明細書
【非特許文献1】Applied Cryptography by Bruce Schneier
【非特許文献2】Writing FCode 2.x Programs, Sun Microsystems, 1993, page 5
【非特許文献3】A. Fiat and M. Naor, "Broadcast Encryption," Advances in Cryptology, Douglas Stinson, editor, p. 480; Springer Verlag, 1993
【発明の開示】
【発明が解決しようとする課題】
【0035】
本発明の目的は、多種多様なインタオペラビリティを有するプラットフォームにおいて、柔軟でリニューアル可能なコンテンツプロテクションを提供するようにインプリメントできる、標準化可能なコンテンツプロテクションシステムの種々の実施形態および態様を提供することにある。
【課題を解決するための手段】
【0036】
本発明は、参加者(製造業者、製作者、アーティスト、および/またはコンシューマなど)に対して、セキュリティおよび機能性に関して決定するための比類のない柔軟性を提供する。
【0037】
プレーヤは、システム(すなわち、プロテクトされているコンテンツを復号したりアクセスしたりしようとするデバイス)と共に使用できるプレーヤの例であるが、これには、幾つかのコンポーネントが含まれる。第1のものは、データまたは媒体入力インタフェース、例えば、光ディスクドライブの入力インタフェースである。再生を開始するためには、当該プレーヤは、この入力インタフェースからデータ処理コマンドのシリーズをロードし、インタプリタその他の実行モジュールを使用して、これらコマンドの実行を開始する。この実行環境にあっては、チューリングコンプリート(Tuling-Complete)な言語(当該プレーヤのメモリと、ユーザインタフェースと、性能限界の条件下で、任意のアルゴリズムを実行できる言語)を提供することが好ましい。この実行環境から、当該コンテンツは、当該プレーヤにケリーして、当該再生環境の構成を決定し、しかも、当該プレーヤのキーを使用して暗号化オペレーションをパフォームすることができる。そこで、コンテンツは、再生が、ケリーに対して満足できる応答ができるプレーヤ上でのみ進行するように、設計することができる。パブリッシャは、制限付き再生を提供することもできる。例えば、あまりセキュアにプロテクトされていないプラットフォームは、CD品質のステレオオーディオを提供したり、通常精細のイメージを提供したりできるが、セキュアにプロテクトされているプラットフォームは、より多くのオーディオチャネルと、高精細のイメージと、高サンプリングレートと、高品質圧縮とを提供することができる。再生が開始された後であっても、再生を、コンテンツのデータ処理コマンドのコントロールの下に維持することができる。例示的な一実施形態には、ロバストで、本質的にオンザフライ(on the fly)のウォータマーキングをパフォームする機能が含まれる。データ領域を再生しているものを、コンテンツ自体がコントロールできるようにすると、これにより、わずかに異なる出力データバージョンから選択して、情報を出力にエンベッドすることができる。これらの差異を分析すれば、特定のプレーヤまで遡って、海賊コピーをトレースすることができる。
【0038】
コンテンツがそれ自体のセキュリティポリシーを含み、それを遵守するので、耐性のある新しいコンテンツを設計し発行して、攻撃に対処することができる。コンテンツがそれ自体のセキュリティポリシーを遵守すれば、これにより柔軟になって、アーティストの好み、地域的な「公正使用」規制などをサポートすることもできる。新しいプレーヤの機能の追加は、新しいコンテンツアクセス可能プレーヤ機能を追加することによって容易に行うことができる。
【0039】
ビジネスの観点からは、任意のコンテンツプロテクションシステムが、ビジネス及び運用上の制約と一致する最高のセキュリティを提供するという共通のゴールにおいて、コンテンツパブリッシャと、コンシューマ用の電子製品の製造業者とを結び付けるために使用できる、ことが望ましい。
【0040】
本明細書に開示されたシステムによれば、パブリッシャは、自分自身のセキュリティ要件を決定することが可能であり、コンテンツそれ自体は、多種多様なファクタを考慮し、しかも、それぞれの環境で再生するかどうか(または、どのように再生するか)を判定するポリシーを、インプリメントすることができる。また、製造業者にあっては、コンシューマが、コンテンツに最も広範囲にアクセスできるようにするため、優れたセキュリティを提供して海賊行為を容易にさせない製品を設計する契機とすることができる。
【0041】
詳細な説明
図2は、物理媒体200を使用したプレーヤの例示的な実施形態を示す図である。再生プロセスは、媒体インタフェース205を介して媒体200にアクセスできるプロセッサ210によってコントロールされる。媒体200がマウントされると(例えば、最初から挿入されているか、またはシステムが再初期化されるとき、等)、プロセッサ210は、媒体インタフェースを初期化し、媒体のコンテンツのテーブルを読み取り、サポートされているプロテクションシステムを認識し、開始する。そして、プロセッサ210は、媒体200の小さいイニシャル部分(initial portion)を、実行・データRAM 220にロードする。
【0042】
プロセッサ210は、このロードした媒体部分により指定されたデータ処理オペレーションを、インタプリタ215を使用してパフォームさせる。インタプリタ215は、予め定めたデータ処理オペレーションであって、より複雑なタスクをインプリメントできるデータ処理オペレーションのセットを提供し、インタプリットされた言語は、チューリングコンプリートであるのが好ましい。チューリングコンプリートなプログラミング言語は、このような言語の1つでインプリメント可能なアルゴリズムが、このような言語の他の1つでもインプリメント可能であることを特徴とし、これらインプリメントは同様の漸近的な性能特性を有することになる。チューリングコンプリートなプログラミング言語の例としては、C(登録商標)と、C++(登録商標)と、BASIC(登録商標)と、Fortran(登録商標)と、Pascal(登録商標)と、Java(登録商標)と、バーチャルな全てのアセンブリ言語が含まれるが、これらに限定されるものではない。
【0043】
ロードされた部分は、インタプリタ215によって提供されたプロシージャコールをインボークして進行する。実行・データRAM 220にロードされたイニシャルデータは、相対的に小さくできるが、インタプリタ215上で実行中のコードは、プロシージャコールにより、媒体から追加のデータ(コードを含む)をロードすることができ、これにより、より複雑なオペレーションをパフォームすることができる。
【0044】
他のプロシージャコールにより、コンテンツは、再生環境構成225を判断することができる。したがって、当該コンテンツは、再生環境の特性(例えば、プレーヤタイプ、要求されたユーザアクションなど)を分析して、再生を進行すべきかどうかを判断することができる。例示的な実施形態では、仮に修正可能な問題が検出された場合(例えば、仮に当該媒体が、当該プレーヤ用のセキュリティファームウェアのアップグレードを含む場合)には、これらに対処することができる。仮にサポートされている場合には、当該コンテンツは、出力インタフェース250をケリーすることができ、仮にサポートされている場合には、セキュリティ特性をチェックし、暗号キーをロードし、出力パラメータを指定する(例えば、仮にセキュリティが確実でない場合には、劣化した出力品質を指定する)等のため、デスティネーションプログラム/デバイス260(例えば、増幅器、デジタルスピーカ、スピーカドライバ等)をケリーする。例示的な実施形態においては、当該コンテンツは、セキュリティハードウェアのアップグレードをオーソライズするため、(スマートカードのような)外部リムーバブルセキュリティモジュール235にインプリメントできる暗号オラクル230をケリーすることもできる。オラクルは、プロセッサ210その他のプレーヤ内のハードウェア、媒体、スピーカのような接続されたデバイス、等々にインプリメントすることもできるが、これらに限定されるものではない。暗号オラクル230は、当該コンテンツに、プレーヤのアイデンティティをベリファイ可能な証明を提供することができる。オラクル230をケリーした結果は、後続のコンテンツまたはコード部分を復号化するのに使用することができるから、有効キーのない(または、キーが取り消された)プレーヤには、コンテンツを復号できないという強力な暗号保証が提供される。
【0045】
例示的な実施形態において、当該インタプリタは、「サンドボックス(sandbox)」内のコンテンツによって指定されたデータ処理コマンドを実行するが、これは、当該コンテンツが、当該プレーヤがコンプロマイズされる可能性のある(オラクルキーのような)暗号秘密へアクセスしないことを意味する。サンドボクシングは、全てのコンテンツが必ずしも信頼できるとは限らない場合に、有用である。例えば、攻撃者であれば、プレーヤから暗号キーを抽出しようとする害意あるコンテンツの作成を試みることができる。(暗号オラクルについての追加の情報と、これら暗号オラクルのオペレーションとについて、次に記載する。)
【0046】
仮に当該コンテンツが再生を進行するべきでないと判断した場合(例えば、仮にユーザがコピーを作成しようとしているが、当該コンテンツが、コピーを禁止するように構成されている場合)には、当該コンテンツは、エラーを通知し、要求されたアクションを拒否する。あるいはまた、オーソライズされていないコピーの品質を劣化させて興味をそぐようにするため、当該コンテンツは、レンダリングおよび/または出力プロセスをコントロールして、出力品質を劣化させることができる。
【0047】
仮に当該コンテンツが再生を進行するべきであると判断した場合には、当該コンテンツは、当該プレーヤからの信号であって、再生を当該媒体上の特定の場所(例えば特定のトラック)から開始するべきことを指定する信号を待つ。インタプリタ215は、当該媒体がマウントされたとき、実行・データRAM 220にロードされたデータ処理命令を使用して、当該要求を処理する。仮に当該コンテンツが再生を進行するべきと判断した場合には、当該コンテンツは、プロシージャコールを使用して、媒体インタフェース205に、媒体200上の適正な場所から、暗号化されたコンテンツのロードを開始するように指示する。当該コンテンツは、有効な復号キーおよびパラメータをバルク復号モジュール240に指定し、バルク復号モジュール240は、RAM 220から(あるいは、媒体インタフェース205から直接)暗号化されたコンテンツを取り出し、取り出したコンテンツを復号する。そして、この復号されたコンテンツが出力インタフェース250に供給され、出力インタフェース250は、この復号されたコンテンツを、デスティネーションプログラムまたはデバイス260において使用するため、適正なアナログまたはデジタルフォーマットに変換する。再生時において、インタプリタ215によって処理されているデータ処理命令は、新しい復号パラメータをロードしたり、媒体200から読み取る新しいデータブロックを指定したり、することができる。再生が正常終了すると、当該コンテンツは、RAM 220を再初期化することができる。
【0048】
追加の情報は、インタプリタ、再生システムその他の実施形態および態様に関する次のセクションで提供する。
【0049】
攻撃に対する応戦
Anti-piracyシステムは、広く、ソフトウェアおよび低コストコンシューマ電子装置にインプリメントされているが、全ての可能な攻撃を防止することはできない。ここに開示した技法は、攻撃があった後に、現在の攻撃を実質的に阻止する方法で、新しいコンテンツのマスタリングを容易にするのに有用である。プロの海賊行為者は、新しい回避システム(circumvention system)を間断なく探し出してインストールしようとすることができ、これに対して、カジュアル(casual)な海賊行為は、絶えず攻撃ツールを開発し維持しようとすることも含むが、これらは、単にコンテンツを適法に購入するよりもたぶん困難なことになるであろう。次のセクションにおいては、一般的な攻撃に対処するため、本明細書に記載された技法をどのように使用するかを説明する。
【0050】
攻撃の第1のカテゴリには、コンプロマイズされていないプレーヤ(uncompromised players)を使用してオーソライズされていないアクションを行うことが含まれる。例えば、オリジナルの媒体からのコピーは可能であるが、コピーされたものからのコピーは不可能なように、当該コンテンツをマスタリングすることができる。このようなコンテンツをコピーされたものからコピーしようとする(当該コンテンツは、例えば、コピープロセス中に挿入された修正を検出するか、または現在の媒体のシリアル番号および/またはタイプをオリジナルのものと比較することによって、認識できる)と、インタプリタコードによって、再生を阻止することができる。あるいはまた、当該インタプリタコードによれば、当該コンテンツは、(サンプルレートの高いマルチチャネルオーディオが利用可能であったとしても、44.1kHzのサンプルレートで、ステレオオーディオを再生するような)低忠実度で再生することができ、あるいは追加のAnti-piracy警告を挿入して再生することができる。そこで、当該インタプリタコードに提供された情報を分析して、コンプロマイズされていないプレーヤから不適正なユーザ要求を検出して処理することができる。
【0051】
攻撃の第2のカテゴリには、プレーヤの暗号キーがコンプロマイズされることが含まれる。仮にプレーヤの暗号キーがコンプロマイズされた場合には、攻撃者は、(少なくとも理論的には)、暗号オラクルをエミュレートし、(任意選択で)、再生環境についてのケリーに偽って応答することにより、コンプロマイズされた再生環境を完全にエミュレートすることができる。将来のコンテンツに存在するインタプリットされたコードをして、コンプロマイズされたデバイスに存在しなかった少なくとも1つの暗号キーを要求させれば、このような攻撃があった後、セキュリティを再び確立することができる。仮に特定のプレーヤモデルまたは製造業者が、(例えば、プレーヤにインプリメントされたセキュリティが不充分なため)、多くの攻撃の源である場合には、パブリッシャは、このようなプラットフォームでは再生されない(または品質を落として再生される)コンテンツを、作成することができる。
【0052】
攻撃の第3のカテゴリには、同様のインタプリタセキュリティコードを含む特定のコンテンツ、又はタイトルのグループが、コンプロマイズされることが含まれる。このような攻撃は、セキュリティチェックを迂回するように、コンテンツ自体を修正するか、又はターゲットタイトルを再生するように調整された害意あるインタプリタを作成することにより、潜在的にマウントすることができる。このような攻撃には、将来のコンテンツと異なるか優れたプロテクションソフトウェアをディプロイすることにより、対処することができる。
【0053】
攻撃の第4のカテゴリには、コンテンツを、プロテクトされた媒体からプロテクトされていないフォーマットにコピーして、当該コンテンツを、新しいフォーマットで再配信することが含まれる。どのコンテンツプロテクションシステムであれこのような攻撃を完全に防止することはできないが、ここに開示した技法およびシステムは、強力で柔軟なウォータマーキング機能であって、将来の攻撃を防御するためリボークすることのできる特定のデバイスまで遡って、攻撃をトレースするのに使用できるウォータマーキング機能を提供する。海賊行為のためのコンテンツを積極的にアップロードするユーザの数は、比較的少ないから、これらユーザのプレーヤを識別しリボークして、海賊行為を大幅に減少させることができる。暗号文の一部を選択的にスキップさせるようにすれば、知覚できないほどの差異を復号出力に導入することができる。例えば例示的な実施形態においては、当該コンテンツは、プレーヤの復号モジュールに命令して、第1の暗号文部分を復号して出力し、その後、第2の暗号文部分をスキップするようにすれば、「0」ビットをウォータマーキングすることができる。「1」ビットをウォータマーキングするためには、当該コンテンツは、モジュールに命令して、第1の暗号部分をスキップして、第2の暗号部分を出力するようにすることができる。このようなビットのシリーズをエンコードすれば、プレーヤIDと、暗号オペレーションの結果と、ユーザアクションのディスクリプションと、出力デバイス情報と、等々を含むインタプリタコードで利用可能なデータで、当該コンテンツをウォータマーキングすることができる。仮に当該コンテンツの海賊コピーが発見された場合には、ウォータマークを分析して、この違法コピーを単一のプレーヤまでトレースすることができるから、この単一のプレーヤを、将来のコンテンツリリースでリボークすることができる。この機能によれば、特定のコピーが特定のプレーヤから発生したことを確実に証明することができるから、法執行又は捜査において役立つ。違法コピーを作成しようと考える人は、突き止められ、逮捕され、起訴される可能性があるということを知れば、違法コピーの作成を思い止まることになるから、コピートレーシング機能は、海賊行為を思い止まるインセンティブとしてサーブすることもできる。
【0054】
もちろん、どのコンシューマフレンドリなAnti-piracyシステムであれ、あらゆる環境において全ての可能な攻撃を確実に防止することはできない。例えば、オーディオおよびビデオを、アナログ出力からレコーディングすることができる。(たとえコンテンツにウォータマークがエンベッドされていても、ウォータマーク検出器のないレコーダは利用可能である。)そして、アナログ出力からキャプチャされたデータを、新しいデジタル媒体またはアナログ媒体でリマスタリングし、オリジナルのセキュリティ機能を付けないで再配信することができる。同様に、当該プレーヤは、媒体の厳密なコピーを作製する上で必要な機器を有するプロの海賊が作成したコピーを、検出することはできないが、本明細書に開示された技法およびシステムは、媒体のクローンを作成するのを防止するのを助けることができる。例えば、媒体に付したディスク製造業者IDをコンテンツごとにチェックして、海賊行為者によって忠実で不注意な複製設備が欺かれないことを保証している。媒体タイプIDによれば、リードオンリ媒体で販売されたコンテンツが、書き込み可能媒体で再配信されるのを防止することができる。the Internet、電話/モデムその他のネットワークサポートを有するプレーヤにあっては、コンテンツは、再生(または第1の再生)前に、媒体が有効であることを認証するため、(例えば)サーバから認証を取得することができる。不揮発性のストレージを有するプレーヤは、ノウンバッド(known-bad)媒体シリアル番号のテーブルをストアすることさえでき、コンテンツおよび/またはプレーヤは、これをケリーして、媒体がリボークされたか否かを判断することができる。
【0055】
再生環境のケリー及びコントロール
当該コンテンツは、当該コンテンツ自体をデコードできるか否かを判断するように構成することができる。この判断を支援するため、当該プレーヤは、再生環境についての情報をコンテンツに提供することができる。極めて限られた情報(例えば、ユーザの要求したアクションおよびプレーヤモデル)で充分であるが、当該コンテンツが再生を進行するべきか否かに関してインフォームドアセスメント(informed assessment)を行えるように、より詳細で正確な情報が望まれる。当該コンテンツに提供された特定の情報および機能は、プレーヤのインプリメンテーションに依存する。次に、コンテンツに提供できる例示的な機能および能力について説明するが、これらに限定されるものではない。次の点に留意されたい。すなわち、複数の接続された構成要素(例えば、出力ポートと、接続された出力デバイスと、オペレーティングシステムデバイスドライバと、セキュリティモジュール)から構築されたプレーヤにあっては、次の情報の一部または全部を、これらの接続されたデバイスに提供することができ、同様に、当該インタプリタを含むプレーヤの主部分に提供することができる。
【0056】
セキュリティサポート情報:セキュリティ仕様バージョン、サポートされたケリー機能、および/またはセキュリティモジュールのフォームファクタ(交換可能ハードウェア、エンベッディドハードウェア、更新可能ファームウェア、ROMファームウェア、PCソフトウェアなど)など。(例示的な暗号処理機能および再生コントロール/復号機能については、次に詳細に述べる。)
【0057】
製造業者情報:名前、ID、Webサイト、パブリックキー/証明書、製造バッチ、製造日時、製造地域、製造国、製造業者住所、技術サポート問合せ先情報、および/または製造業者保証情報等。
【0058】
デバイス情報:製造ライン、製造番号、モデル番号、ファームウェア/ソフトウェアバージョン、デバイスパブリックキー/証明書ID、GPS位置その他の物理位置/地域、コンテンツサポートコードタイプ、ネットワーク/the Internetサポート情報、ネットワークアドレス、デバイス電話番号、IPアドレス、ウォータマークサポート、インタプリタ性能定格、セキュリティ証明定格、デバイス販売代理店、デバイス小売店、デバイスのフォームファクタ、および/またはセキュリティ仕様等。
【0059】
ユーザ情報:ユーザ名、地理的地域、国、住所、GPS位置その他の物理位置/地域/国等、ユーザ電話番号、IPアドレス、e-mailアドレス、Webアドレス、優先使用言語、問題材料(controversial material)に関する許容範囲、優先使用支払方法/口座、支払限度、購買履歴、および/またはプライバシーの基本設定等。
【0060】
媒体コントロール:ケリー媒体フォーマット、書込み可能−書込み禁止、媒体製造番号、レコーディングデバイスタイプ、レコーディングデバイス所有者、レコーディングデバイス製造番号、レコーディングデバイスセキュリティ情報、および/またはレコーディングデバイスウォータマークチェック機能等。機能により、媒体からの読み取り、媒体への書き込み、媒体のフォーマット、媒体のテスト、および/または媒体の排出もできる。追加の機能により、特定の媒体フォーマットによりサポートされている暗号機能その他の特殊機能にアクセスすることができる。
【0061】
要求されたユーザオペレーション:例えば、再生、レコーディング、新しいフォーマットへの変換、ポータブルデバイスへのロード、第1コピーの作成、複数コピーの作成、および/または同時再生/レコーディング等。コンテンツには、要求されたオペレーションを開始または修正する機能も与えることができる。
【0062】
出力情報:出力ポート、出力ポート構成、出力ポートセキュリティフィーチャ、接続されたデバイス、出力データフォーマット、および/または出力データ品質/解像度等に関する情報。仮にサポートされている場合には、コンテンツは出力デバイスを直接ケリーして、デバイスに関する追加情報を取得し、かつ/または暗号オペレーションを要求したりすることができる。当該プレーヤは、例えば、仮にセキュリティが不充分な場合に、品質の劣化した出力を指定するため、コンテンツがこれらのパラメータを修正できるようにすることもできる。
【0063】
環境:当該プラットフォーム上でランしている他のプログラムおよびデバイスドライバのID/ハッシュ/バージョン、メモリのコンテンツまたはハッシュ、インストールされた攻撃検出モジュールのバージョン、攻撃に関するシステムスキャンの結果、および/またはタンパー検出器のステータス等。これらの機能によれば、例えば他のプログラムのセキュリティの弱点を修正するため、当該コンテンツは、メモリを修正することができる。
【0064】
タイム:日付、時刻、時間帯、経過したクロックサイクルカウント、最終リセットからの時間、製造からの時間、最終セキュリティアップグレードからの時間、最終バッテリ交換からの時間、および/または推定バッテリ残存寿命、等。
【0065】
コネクティビティ:プレーヤの通信機能の判断、現在のコネクションステータスのチェック、ネットワークコネクションの確立、モデムコネクションの確立、ネットワークコネクション確立のクリティカリティの指定、コネクションセキュリ特性のチェック/指定、データの送信、データの受信、コネクションのクローズ、および/またはコネクションのアイドル等。
【0066】
ユーザインタフェース:ユーザメッセージの表示、歌詞の表示、グラフィックイメージの表示、グラフィックイメージの印刷、広告/プロモーションメッセージの表示、利用可能なユーザインタフェースコントロールの識別、ユーザ入力の取得、プレーヤの音声合成装置を使用したユーザへの音声再生、および/またはエラー通知等。
【0067】
ウォータマークコントロール:出力に合わせてコンテンツ領域の選択、外部ウォータマーキングアルゴリズムの選択、外部ウォータマーク検出器のコントロール、および/またはマーク検出器ステータスのチェック等。
【0068】
その他:プレーヤ/再生ステータス情報、ペイ・パー・プレイ課金コントロール(例えばプレーヤベースの資金源)、エラー処理、再生終了、セキュアな不揮発性メモリサポート(以下を参照)、プレーヤファームウェア更新の適用、および/または外部モジュール(動的にリンクされたライブラリ等)のインボーク、等。
【0069】
機能およびパラメータの標準化の中には、(コンテンツが最初に発表された後で設計されたプレーヤ環境でコンテンツが効果的に機能できるように)インプリメントのインタオペラビリティを保証し、セキュアなコンテンツをオーサリングするタスクを簡略化するのに、有用である。標準化は、種々の異なる製造業者の製品が同じタイプの情報またはオペレーションを提供しなければならない機能にあっては、特に有用である。例えば、当該コンテンツが、プレーヤのフォームファクタ(ホームオーディオ/ビデオ、ポータブル、自動車用、パーソナルコンピュータソフトウェア専用、ハードウェア支援付きパーソナルコンピュータソフトウェア、プロ用スタジオ、映画劇場等)を判断できる機能および応答コードは、標準化することができる。標準化による利点としては、関連するリスクに関係する情報を、既存のコンテンツが理解できない非標準フォーマットで、通知することにより、製造業者がセキュリティコントロールを回避しようとするのを防止するという利点もある。
【0070】
もちろん、当該システムは、コンテンツ製作者が追加のプロプライエタリ(proprietary)機能を選択して使用することができるようにするため、製造業者がこれら追加のプロプライエタリ機能を付加できるように、構成することもできる。新しい機能を追加できれば、自社の製品に新しい機能を追加しようとする製造業者にとって特に価値のあることである。というのは、これら製造業者は、これらフィーチャを追加することができるからであり、しかも、そのフィーチャをサポートするため、コンテンツ製作者とビジネス上の協調関係を確立することができるからである。このような実施形態は、(できれば)後方互換性を維持しながら、容易に拡張することができる。
【0071】
製造業者は、正確な情報を当該コンテンツに提供する責務がある。当該コンテンツは、一般に、当該コンテンツが受け取った情報の大部分が正確か否かを直接ベリファイすることはできないが、このようなベリファイは、この情報が正しいことを保証する強力なインセンティブが製造業者にある場合には、厳密には必要でない。例えば、製造業者は、自社の将来のコンテンツが不正な製造業者によって作られた製品で再生されるのを防止することができる。
【0072】
これは、仮にプレーヤが、当該プレーヤが当該コンテンツに提供する情報の暗号認証(例えば、保証されたプレーヤまたは製造業者キーを使用して発行されたデジタル署名を含めるので)を提供すれば、有益であるが、このような認証は大部分のデータにとって必須のものではない。出力デバイス(例えば、高品質のデジタルオーディオデータを必要とするデジタルスピーカ)か、又は潜在的に信頼できないインタフェースを介して接続されているシステムの他の部分にあっては、暗号認証は、信頼できるデバイスを装った害意あるデバイスが検出され回避されるから、重要である。
【0073】
暗号化処理
例示的なプレーヤは、再生環境を記述した情報を提供する上、コンテンツがインボークすることができる暗号化オペレーションもインプリメントする。これらオペレーションは、暗号オラクルと同様に振舞うことができ、当該コンテンツをして、入力データ(例えば、64ビットの平文ブロック)を供給させることができ、暗号化コンピュテーションの結果を戻すことができる。例示的な実施形態においては、暗号化計算への入力には、少なくともキー(その値は通常は未知であり、当該コンテンツはアクセスできない)と、コンテンツ指定された入力データとが含まれる。
【0074】
次の例は、再生環境を認証したり、コンテンツ復号キーを取り出したりする等の用途のために、当該コンテンツに提供することができる暗号プリミティブの例であるが、上記用途は上記例に限定されるものではなく、暗号プリミティブの例に限定されるものではない。
【0075】
ブロック暗号オラクル:当該オラクルは、プライベートキーを使用して入力メッセージを暗号化(または復号)して、暗号文(または平文)を生成する。
【0076】
ハッシュ関数オラクル:当該入力メッセージは、結果を得るため、典型的には、プライベートキー(例えば、HMAC−SHAのようなアルゴリズムを使用して)でハッシングされる。
【0077】
デジタル署名オラクル:当該入力メッセージは、結果を得るため、秘密(プライベート)キーを使用してデジタル署名される。この機能は、当該コンテンツにパブリックキーおよびその証明書も提供することができる。
【0078】
乱数ジェネレータ:乱数ジェネレータは、例えばオンライン接続における反射攻撃(replay attacks)を防止するのに使用するため、当該コンテンツに予測不可能な情報を提供することができる。
【0079】
数学関数:当該コンテンツがその計算プロセスを最適化するのを助けるため、基本的な数学演算を提供することができる。例えば、当該コンテンツは、最適化されたモジュラ乗算または累乗関数を使用して、デジタル署名の生成およびベリファイ、ならびにメッセージの暗号化および復号のため、特許文献5のRSAアルゴリズムをパフォームすることができる。
【0080】
最適化された暗号プリミティブ:標準暗号化アルゴリズムを最適化してインプリメントすると、性能向上に役立せることができる。これらのオペレーションを使用して、コンテンツのインタプリタコード空間又はセクタであって、媒体からロードされたものの領域を含むデータブロックを、復号したりハッシングしたりするのを援助することができるが、上記データブロックに含まれるものは上記例に限定されるものではない。
【0081】
復号コントロール:仮に当該コンテンツが再生をオーソライズすると決定した場合には、当該インタプリタコードは、当該コンテンツの各セグメントに対する正しい復号キーを用いて、当該コンテンツ復号モジュールを初期化することができる。加えて、当該インタプリタコードは、(例えば、再生時のリアルタイムウォータマーク挿入を可能にするため)レンダリングされるかスキップされるべきコンテンツの部分を指定することができる。当該インタプリタと、媒体からのコンテンツストリーミングとの間の同期を保証するため、あらかじめ、キー変更(または領域スキップ)を指定することができ、コンテンツ内のシグナルによってトリガすることができる。例えば、例示的な実施形態においては、当該コンテンツは、暗号文に遭遇したときにキー変更をトリガする64ビット値と、キー変更後にスキップする暗号文のバイト数と、使用する新しいキー値とを指定することができる。
【0082】
キー管理:当該コンテンツは、これらの機能により、当該プレーヤにどのキーを知らせるかを判断することができる。
【0083】
暗号オラクルの例示的な実施形態であって、この暗号オラクルのオペレーションがランダムパラメータその他のこのような可変データを組み込んでいない例示的な実施形態においては、当該システムは、特定入力に対して予測される結果を前もって(例えば、当該コンテンツがマスタリングされるときに)、計算できるように、構成することができる。そこで、パブリッシャは、選択した入力を当該オラクルにサブミットし、ついで、予測された結果が取得されていることをベリファイするように、当該コンテンツをプログラムすることができる。オーソライズされた暗号キーのない害意あるプレーヤは、正しいオラクル応答を計算することができない。可能なオラクル入力数は莫大な数(例えばブロックサイズが128ビットのブロック暗号を使用するオラクルの場合は、2128)であるから、攻撃者が全ての可能なケリーへの結果を事前に計算したりストアしたりすることは、事実上不可能である。
【0084】
有効なプレーヤを確認することに加えて、暗号オラクルを用いて、無効なプレーヤを識別することができる。例えば、仮に正当なプレーヤから抽出されたキーが、オーソライズされていない目的のために使用される場合には、リボークされたオラクルを含むプレーヤでの再生を拒否するように、コンテンツをマスタリングすることができる。コンテンツは有効なキーがなければ再生されないから、オーソライズされていないプレーヤには、盗まれたキーが含まれていると考えられる。しかし、これら盗んだキーが使用されると、オーソライズされていないデバイスは、自分のステータスを、当該コンプロマイズ(compromise)に気付いている新しいコンテンツに、明らかにする。
【0085】
オラクルの結果を組み込むか、又は特定のオラクルケリー応答が有効であるか否かをチェックするため、多種多様な方法を採用することができる。最も簡単な方法は、単に、予測された値と比較することである。この方法は、(少なくとも理論的には)、予測された値と全て一致するように振舞うように害意をもって設計されたインタプリタによって、回避されてしまう可能性があるから、コンテンツには、失敗を見越して行う「ダミー」の比較その他のテストであって、害意あるインタプリタを妨害するように設計されたテストを含めることができる。オラクル自体を使用して、コードを復号するか、または自己修正コードに影響を及ぼすこともできる。例えば、当該オラクルへの入力は、所望のコードの暗号化バージョンとすることができる。そこで、このようなオラクルをこのように構成すると、コンテンツパブリッシャは、オーソライズされたプレーヤまたはプレーヤのサブセットのみが復号できるコードを、媒体に含められるようにすることができ、そうすれば、潜在的な攻撃者は当該コンテンツのコードに近づけない。オラクルを使用する別の方法としては、これらオラクルの出力を暗号キーとして使用するか、またはキーを取り出す方法がある。これらのキーは、例えば、コード、コンテンツ、他のキー、または他のデータを、復号するのに使用することができる。この柔軟性のある復号機能を用いれば、多種多様なプロトコルおよびポリシーをコンテンツにインプリメントすることができる。例えば、仮にプレーヤが充分な種別のキーを有する場合には、コンテンツは、Fiat and Naorの方法(非特許文献3参照)のようなスキームを使用するように、プログラムすることができる。たとえ精巧なアクセスコントロールシステム、例えば、特許文献2に記載されているシステムであっても、希望すれば(もちろん、プレーヤが必要なユーザインタフェースと、ネットワークと、データストレージと、暗号化機能を提供する場合には)、インプリメントすることができる。
【0086】
パブリッシャは、当該コンテンツをマスタリングするにあたって、オラクル入力/出力ペアへアクセスする利益を受けることができる。オラクルがRSAのような非対称暗号システムのプライベートキーを使用する場合には、パブリッシャは、単に、パブリックキーを取得して、使用し、オラクルオペレーションのインバース(inverse)をパフォームするだけである。ブロック暗号を使用して構築された対称オラクルにあっては、プレーヤ製造業者は、各プレーヤにおいて提供される対称オラクルのインバースを、パブリッシャのために計算することができる。例えば、仮にプレーヤオラクルが、秘密キーで256ビットのデータブロックを復号するため、ブロック暗号を使用する場合には、当該製造業者は、パブリッシャが対応する暗号化機能へアクセスできるようにすることができる。インバースオラクルへアクセスすることができれば、当該オラクルをコンプロマイズすることができるから、製造業者であれば、(例えば)、publicly-accessibleなWebサーバにより、SSLを使用して、インバースオラクルをコンピューティングするようにできる。製造業者は、ランダムに選択されたオラクル入力からの出力を、パブリッシャに提供することもできる。(製造業者は、パブリッシャに、プレーヤにインプリメントされるような実際のオラクル機能を提供することができるが、これらの機能は、潜在的に、オーソライズされていないプレーヤであって正当なプレーヤをエミュレートするプレーヤを構築するため、悪用される可能性がある。)
【0087】
キーをプレーヤおよび製造業者にアロケートするため使用される特定の方法は、特定の実施形態およびセキュリティ目的に依存する。例えば、例示的な一実施形態においては、プレーヤには、プレーヤ対称キーの大規模なグローバルプールから(擬似)ランダムに選択されたプレーヤ対称キー、製造業者によって(擬似)ランダムに生成されたプレーヤ固有の対称キー、製造業者やプレーヤモデル等に固有の対称キー、および/またはプレーヤが特定の特性を持たない(例えば特定の製造業者によって製造されていない)ことを認証する対称キーを含む種々の対称暗号オラクルキーが、アロケートされるが、この対称暗号オラクルキーに含まれるものは上記のものに限定されるものではない。この例示的な実施形態においては、当該コンテンツは、サポートされたキーのリストを返す別の機能をコールして、プレーヤにどのキーがインプリメントされるかを識別することができる。プレーヤは非対称キーを含むこともできる。例えば、例示的な実施形態においては、プレーヤは、プレーヤ固有のパブリックキー/プライベートキーペア、製造業者が自分のプライベートキーを使用してプレーヤパブリックキーに署名しこれにより発行されたプレーヤ証明書、製造業者のパブリックキーが有効か否かを検査する権限を付与するルートキーにより発行された証明書、プレーヤのセキュアなメモリ領域にアクセスするとの要求を確認するために用いるパブリックキー(以下を参照)、および/または、プレーヤファームウェアの更新版を確認するために使用されるパブリックキーを有する。
【0088】
プレーヤ製造業者が複数関与するインフラストラクチャにおいては、1つ以上の中央集権的な組織(central administrative organization)に、プレーヤ、製造業者等のキーを管理させることを、役割分担させることができる。中央アドミニストレータ(central administrator)には、最低限のセキュリティ標準を遵守すること、プレーヤが正確な情報をコンテンツコードに提供することを保証すること、新しい製造業者のキーを(これら製造業者の製品が古いコンテンツを再生できるようにするため)予約すること、コンプロマイズされたキーをトレースすること、コンテンツパブリッシャの暗号オラクルオペレーションをパフォームすること、等を役割分担させることができる。
【0089】
セキュアなメモリおよびカウンタ
コンテンツが利用可能なメモリは、典型的には揮発性のものであり、ランされるたびに、「クリーンな」実行環境をコンテンツに提供する。しかし、幾つかのフィーチャにあっては、コンテンツが、データを、プレイングとプレイングとの間と、タイトルとタイトルの間とに、ストアできることは、有用なことである。このニーズを満足させるため、プレーヤは、セキュアで不揮発性のストレージであって、プレイングとプレイングの間の状態を維持するためのストレージを、コンテンツに提供することができる。このようなストレージは、インタプリットされたコードであってオーソライズされたコードのみが不揮発性メモリコンテンツを読み取るかまたは修正できることを保証するため、追加のセキュリティプロテクションを要求することができる。不揮発性メモリのセキュリティを保証することは、例えば、この不揮発性メモリであれば、後で課金するため、オフラインのペイパービューのビューイング履歴を間違いなくトレースすることができるから、パブリッシャにとって重要である。各メモリスロットをロック解除するためのキーが媒体上にあるだけでは足りない。というのは、このようなキーは、海賊行為者によってすぐに発見され、全てのプレーヤのメモリスロットがコンプロマイズされるからである。そこで、一実施形態においては、これらのセキュアな不揮発性メモリ領域にアクセスするコードの明示的な暗号認証が提供される。
【0090】
この実施形態においては、プレーヤには、幾つかの不揮発性メモリブロックが含まれるが、これらは、デフォルトで、ロックされている(すなわち、リード及びライトのパーミッションは与えられていない)。当該プレーヤには、メモリブロックをロック解除する要求を認証するために使用されるパブリックキーも含まれる。このメモリブロックへアクセスするため、当該コンテンツは、デジタル署名を、メモリへのアクセスがオーソライズされているコードのブロックを介して、入力するファンクションをコールする。このデジタル署名は、当該プレーヤにエンベッドされたパブリックキーを使用してベリファイすることができるものであって、ロック解除するメモリブロックを指定し、当該ブロックの各部においてオーソライズされたアクセス権(任意のリード、任意のライト、インクリメント、デクリメント、ゼロにする(zeroize)、等)を指定する。当該インタプリタは、デジタル署名をベリファイし、この署名が有効であれば、メモリをロック解除して、デジタル署名されたコードを実行する。次の例は、このプロセスの例であって、定期的に(例えば毎月)監査して、オフラインのペイパーユースコンテンツに課金する際に使用するためのプロセスの例である。
【0091】
(a)パブリッシャXは、プレーヤ製造業者Yとの間で、Yのプレーヤの不揮発性メモリ内の4バイトカウンタをコントロールする権利について、ネゴシエートする。
【0092】
(b)パブリッシャXは、メモリコンテンツをチェックするインタプリタのための機能を書き込む。仮にチェックした値が消費限界に達しない場合には、この機能はカウンタをインクリメントする。そうでない場合には、この機能は、パブリッシャとInternetコネクションを確立し、カウンタ値、乱数、および支払情報(クレジットカード番号か、またはプレーヤにストアされた他の資金源等)を含む支払要求を伝送する。仮に当該パブリッシャが、このカウンタによって示された過去の購入に現在の購入を加えた支払を受け入れる場合には、当該パブリッシャは、当該プレーヤに、このカウンタをクリアするための暗号オーソライズを伝送し、これにより、当該プレーヤは、このカウンタをベリファイし(有効であれば)ゼロにする。当該プレーヤは、このメモリを再度ロックして、成功又は失敗を示すコードを返して、終結する。
【0093】
(c)プレーヤ製造業者Yは、パブリッシャXのメモリ領域を示すパラメータ、アクセス権等を使用して、メモリ更新コードにデジタル署名する。
【0094】
(d)パブリッシャXは、署名されたコードを含むコンテンツを作成して、ユーザに配信する。
【0095】
(e)このユーザのプレーヤは、当該コンテンツのロードを開始し、このユーザに購入オプションが提示される。仮にこのユーザが購入を辞退した場合には、再生は進行しない。
【0096】
(f)当該コンテンツは、ステップ(b)で書き込まれたコードを指し示すポインタと、ステップ(c)で生成されたデジタル署名とはとを使用して、メモリロック解除機能をコールする。
【0097】
(g)このメモリロック解除機能は、ステップ(b)で述べたように、購入をパフォームし、成功又は失敗を通知する。
【0098】
(h)仮に当該購入が成功した場合には、当該コンテンツはこのユーザのために再生される。そうでない場合には、再生は終了する。
【0099】
もちろん、前述のセキュアなカウンタメカニズムを使用する精巧な購入メカニズムを採用することができる。当該コンテンツにインプリメントされる実際の制限は、プレーヤの機能からくる制限であり、パブリッシャの創造性からくる制限である。
【0100】
本明細書に開示されたシステムおよび技法であって、フラッシュメモリ、磁気記憶装置(例えばハードディスク)、バッテリバックアップ付RAM等を含むシステム及び技法を有する種々の記憶技術を、採用することができるが、これら種々の記憶技術に含まれるものは上記のものに限定されるものではない。(背景技術においては、不揮発性のストレージを提供し、しかもこのようなストレージを暗号化するかその他のセキュアする多種多様な方法が知られている。)セキュアなストレージは、プレーヤ外に位置させることができ(この例に限定されるものではない)、リムーバブルモジュール(例えばスマートカード)に含めることができ、接続された出力周辺装置(スピーカ、ディスプレイ、ホームネットワークのリモートデバイス等)に含めることができ、コンピュータネットワークを介してリモートに位置させることができる(これらの例に限定されるものではない)。メモリブロックアロケーションは、例えば、空間利用可能性に基づいて行うことができ、(例えばスロット番号によって)保証することができ、または優先順位に基づいてアロケートし/リサイクルすることができる。メモリスロットがクリアされるか開放されると、未通知のペイパービュー記録が紛失する可能性があるから、コンテンツには、スロットにオーバライトできる条件を指定する機能を与えることができる。複数のタイトルを同時に再生できるが、不揮発性メモリスロットを1セットしか持たないプレーヤにあっては、ロッキングメカニズムは、一方のコンテンツが、他方のコンテンツにより修正されているスロットにアクセスすることを保証するため、必要となる。
【0101】
一実施形態においては、プリペイドスマートカードが、コンシューマにより、購入され、プレーヤのスロットに挿入される、ようになっている。このプリペイドスマートカードには、複数のWOM(write once memory)スロットが含まれており、当該プレーヤは、これらWOMに、ペイパービューコンテンツタイトルに対応するコンテンツIDをライトすることができる。一度コンテンツIDがライトされると、このコンテンツIDは、プリペイドスマートカードにインプリメントされた暗号オラクルコンピュテーションに組み込まれる。そこで、コンテンツは、再生をオーソライズする前に、正しいオラクルが存在することをベリファイして、購入が完了したことをベリファイすることができる。
【0102】
プレーヤファクションのコールを認証する前述の一般的な方法は、セキュアなカウンタを使用することに限定されるものではない、ことに留意されたい。例えば、同じアプローチによれば、オーソライズされたパブリッシャのみが使用できる特別なプレーヤファンクションへのアクセスをセキュアにプロテクトすることができる。このアプローチは、コンピューティング機能へのアクセスをセキュアする汎用で極端に柔軟な方法を提供するものであるから、本明細書に開示された技法およびシステムの他の態様とは別個の適用性も有する。
【0103】
暗号対言語ベースのセキュリティ機能
セキュリティポリシーは、幾つかの異なる方法で遵守することができる。暗号プロテクションは、リボークされるか、またはオーソライズされていないプレーヤが、コンテンツの復号に必要な暗号キーを持たなくなるように、コンテンツを構築することができる。オーソライズされていないプレーヤは、キーを持たないコンテンツにアクセスできない(もちろん、適正な暗号が使用されている場合)。このアプローチは比較的柔軟である。というのは、このアプローチによれば、コンテンツ所有者には、特定デバイスにおいて再生を阻止する機能のみが提供されるからである(より精巧な実施形態においては、異なるキーセットを使用して、幾分詳細なコントロールを提供することができるが、キーベースのコントロールは、より複雑なアクセスコントロールの課題を解決するには、柔軟性に欠ける)。それにもかかわらず、特定のプレーヤがコンプロマイズされるか、その他に、信用できないため当該コンテンツを復号する機能を持たせることができないケースに対処する上で、極めて効果的である。
【0104】
これに対して、言語ベースのコントロールは、プレーヤがコンプロマイズされる(か、その他に、何らかの理由で全く信用できない)ケースに対しては、効果的でないが、非常に精巧なセキュリティポリシーを遵守することができる。前述のように、当該コンテンツは、再生環境を分析し、暗号オラクルをコールすることができ、仮に結果に満足できない場合には、再生を拒否することができる。このアプローチは、仮想的には限りなく柔軟であるから、当該コンテンツを次のようなリスク、すなわち、通常は忠実に振舞うプレーヤであるが、一部のパブリッシャが特定のコンテンツを阻止しようとするオペレーション(プロテクトされていないフォーマットへのリッピング(ripping)等)をサポートすることができるプレーヤでの再生に関わるリスク、の管理に理想的に適合させることができる。攻撃者は、少なくとも理論的にはコンテンツを分析して(特に仮にコンテンツのコードが不完全に作成されている場合には)個々の部分を破壊し、これら攻撃者は、一般化することができないが、暗号オラクルを注意深く用いれば、確実に対処することができる。さらに、本明細書に記載された復号コントロール機能によれば、当該コンテンツが海賊コピーされるのを観察しているパブリッシャは、コンプロマイズされたデバイスを識別し、攻撃されにくい新しいコンテンツを作成することができる。
【0105】
進展
コンテンツ所有者に、長期間セキュアである分散インフラストラクチャを提供するのが望ましい。以前のコンテンツプロテクションシステムは、この点で、失敗している。インプリメンタ(implementer)は、インプリメンタ自身がコンテンツ所有者をして新しいフォーマットに合わせるように強く求めた当初は、セキュリティについて努力することができるのであるが、ひとたびフォーマットの成功が確実になると、セキュリティレベルが大幅に下がる傾向にある。これには種々の要因が考えられる。これらには、攻撃をインプリメントする能力(簡単に破壊される製品が販売される可能性が増えている)と、よりプロテクトされたコンテンツが入手可能になるに従って海賊行為も増加していることと、攻撃が巧妙になっていることと、が含まれる。本明細書に開示されたシステムおよび技法の例示的な実施形態においては、コンテンツ所有者は、たとえ媒体フォーマットが標準化された後であっても、引き続き、自分のコンテンツがどのようにプロテクトされるかを指定できるように構成することができ、仮に攻撃が発見された場合には、セキュリティが永久に失われないように、仮想的には、無制限にリニューアルできる。
【0106】
仮にセキュリティポリシーが静的でない場合には、製造業者は、長期間、効果的なセキュリティを提供するというインセンティブを持ち続けることである。例えば、コンテンツ所有者は、キーがコンプロマイズされたデバイスを再生したり、あるいは、一般的に海賊行為に使用されるプロダクトを再生したりするのを阻止する(または高品質の再生を阻止する)能力を有することができる。その結果、伝統的なシステムとは異なり、プロダクト製造業者が自社の製品を可能な限り低価格で提供する上で競合しているときは、コンシューマはロバストなセキュリティを有する製品を求めるが、そうすれば、最善かつ最も信頼できる再生体験を提供することになるから、プロダクト製造業者はセキュリティを犠牲にすることはできない。
【0107】
害意のない製造業者であっても、セキュリティ上の欠陥のある製品を誤って製造する可能性がある。したがって、われわれは、コンプロマイズやセキュリティ上の脆弱性に対処する上で使用できる種々の方法を開示する。例えば、プレーヤの暗号キーおよびソフトウェアは、デジタル署名されたコードまたはキーの更新版を使用して、更新することができる。これらの更新版を、キーの更新を行うソフトウェアを含む媒体でもって、プレーヤに供給することができる。例えば、仮に以前の所有者がそのセキュリティをコンプロマイズしたことから、最終的に正当なユーザのプレーヤがリボークされた場合には、新しい所有者は、当該製品の技術サポートに連絡して新しいキーを取得することができる(もちろん、顧客サービス担当者は、例えば、海賊行為者が、オーソライズされていない目的で使用するため、新しいキーを要求しようと問い合わせるのを思いとどまらせるため、ユーザ情報、例えば、名前、住所、クレジットカード番号、電話番号、e-mailアドレス、IPアドレス等を求めることができる。)。更新版は、the Internet(その他のネットワークコネクション)、モデムコール、リモートコントロールまたはキーボードによる入力等によって、配信することもできる。もちろん、攻撃者が、更新プロセスを使用して、コンプロマイズされたキーを投入するか、その他に、プレーヤを攻撃できないようにするため、更新版は、可能であれば、必ずセキュアに暗号化しなければならない。
【0108】
製造業者が、コンプロマイズの影響を軽減できる別の方法は、リムーバブルなセキュリティモジュール、例えば、スマートカードを含めることである。このスマートカードを含めると、暗号オラクルの一部または全てがインプリメントされることになり、同様に、当該コンテンツに提供された他のセキュリティに関係する機能がインプリメントされることになる。仮にコンプロマイズが生じた場合か、又は仮にセキュリティの欠陥が見つかった場合には、当該プレーヤ全体を交換するかアップグレードする代わりに、当該スマートカードを交換することが可能である。単にスマートカードスロットを提供するだけで、セキュリティ上必要になるまでディプロイしないのは、充分ではない、ことに留意すべきである。スマートカードが正当なプレーヤから除去され、害意あるプレーヤに使用されるのを防止する上で、当該スマートカードは、当該プレーヤおよび/または当該スマートカードがコンシューマに送られる前に、暗号を使って、レシーバ(例えば、当該レシーバと対称キーをシェアすることにより)とリンクさせることができる。
【0109】
マスタリングおよびDRM
コンテンツのマスタリングに関連して新たにかかるコストに、コンテンツ所有者が関心を示すのは、無理のないことである。本明細書に開示された技法およびシステムは、仮に簡単なセキュリティ手段を採用した場合に、マスタリングプロセスにかかる新しいコストを大幅に削減するため、ディプロイすることができる。複雑なセキュリティポリシーを遵守させるコンテンツを開発する上で、確かに、開発およびテストのために努力することは、必要であるが、これを選択するか否かは全く任意である。(他のプロテクションシステムにおいては、このような選択をせずに、全てのコンテンツパブリッシャに、同一のセキュリティシステム、ポリシー等を強制的に使用させている。)
【0110】
もちろん、パブリッシャがセキュリティシステム自体を開発する必要はない。というのは、本明細書で開示されたシステムおよび技法においては、第三者のDRM供給業者は、セキュリティモジュールおよびマスタリングシステムを提供することができるからである。これらのベンダー(vender)は、最高の機能、最高のセキュリティ、最低のコスト、最高の柔軟性、最高の使いやすさ、最高の性能、最小のコードサイズ、最も拡張性のあるリボークリスト等を提供して、パブリッシャのビジネスを取得しようとする。本明細書で開示された技法およびシステムは、コンテンツ所有者が、セキュリティについて判断できる能力を有するプラットフォームとして、サーブすることができる。
【0111】
ウォータマーキングおよびコンプロマイズのトレーシング
大部分の慣用のウォータマーキング方法に関しては、マーク検出プロセスは、広範囲にディプロイされた製品において標準化されインプリメントされている。このような検出アルゴリズムの知識があれば、一般に、攻撃者はコンテンツの品質を著しく低下させずに、ウォータマークを除去できるから、この慣用のウォータマーキング方法の静的なアルゴリズムは、残念ながら重大な危険を負担することになる。例示的な実施形態においては、本明細書で開示されたシステムおよび技法は、マークフォーマットと、符号化プロセスと、検出プロセスとが、全てパブリッシャによって選択されるから、オンザフライのウォータマーク挿入であって一般的なマーク除去攻撃を受けにくいものを、含むことができる。
【0112】
例示的な一実施形態においては、パブリッシャ(厳密にはパブリッシャが作成したコントロールプログラム)は、出力コンテンツに情報をエンベッドしようとする。この情報の各ビットは、第1のコンテンツ部分または第2のコンテンツ部分のいずれかを復号および出力して、エンコードすることができる。これらの部分は、媒体上の暗号化された異なる領域とすることができ、異なるキーで暗号化することができる。これらの部分の違いは、コンテンツがマスタリングされるときにパブリッシャが選択することが可能であり、気付かないほどわずかな変化から、全く相違するものまで、いずれも可能である。これら2つの部分には予め定めた関係がないから、海賊は、一方の部分(その部分の復号キーを含む)のみを知って、もう一方を特定することはできない。
【0113】
暗号ベースのコントロールと、プログラムベースのコントロールとを使用して、どの領域を復号するかを選択できるから、攻撃者は、代替領域に何が含まれているかを判断できない。実際、コンテンツの設計にあっては、例えば、コントロールコードを(異なるプレーヤが異なるコードを使用するように)暗号化し、しかも、どのプレーヤも復号できないか極めて少数のプレーヤが復号できるダミー領域を含めれば、攻撃者が、代替領域が存在するか否かを識別できないように、設計することができる。
【0114】
例示的な一実施形態においては、全てのプレーヤのサブセットのみが、コンテンツの領域の各バージョンを復号するために必要なキーを有するものの、実質的に全てのプレーヤが、当該コンテンツの領域の少なくとも1つのバージョンを復号するために必要なキーを有するように、コンテンツはオーサリングされる。そこで、この領域のオーソライズされていないコピーを分析して、当該パブリッシャは、攻撃者に関する情報を特定することができる。このことが次のようなケース、すなわち、たとえ攻撃者が(攻撃されやすい)プログラムをなんとか分析し、複数の代替領域を復号したとしても、その結果生じた幾つかの領域の組合せからは、依然としてどのバージョンが復号されたかをパブリッシャには明らかでない、というケースにおいても、当てはまる、ことに留意されたい。結局のところ、ユーザが、自分のアイデンティティ(または自分のプレーヤのアイデンティティ)がパブリッシャのAnti-piracyエンフォースメントエキスパート(enforcement expert)に明らかになるのを防止できる唯一の信頼できる方法は、第一に、海賊行為に関与しないことである。
【0115】
この一般的なマーキングのアプローチは、慣用のウォータマーキングとは異なり、マーク検出プロセスを標準化する必要がない。このような違いがあるから、セキュリティが著しく向上する。実際、このマーキングスキームが攻撃される兆しはない。さらに、ウォータマークが付されたビットは、出力に違いがあるから、これらウォータマークは、極めてロバストにすることができ、デジタル/アナログ変換、編集、フォーマット変換、害意の攻撃等に対しても生き延びるように設計することができる。
【0116】
コンテンツをマーキングする機能をどのように構成し使用するかは、典型的には、パブリッシャが判断する。アーティストの中には、修正であればどんな小さなものであれ、ウォータマーキングフィーチャを自分の作品に使用させないような修正を行う技術を避けようとする者がいる。コンテンツの中には、このコンテンツに対して広く海賊行為が行われるので、マーキング機能を非常に積極的に使用するのに適した候補となるものがある。違いに気づかない部分のみが選択されるのが普通であるが、エンコードするためにどの代替バージョンを選択するか、可能な出力バージョンからどのように選択するか、これらの部分の復号キーの管理は、当該コンテンツによってコントロールされる。当該マーキング機能は、当該コンテンツと統合されたデータ処理命令によってコントロールされるから、この技術は、他のフィーチャであって、勝者のプレーヤが祝辞を出力する賞金レースをインプリメントすること、セキュリティが不充分なプレーヤを有するユーザにセキュリティ警告を配信すること、及びあるユーザにボーナスコンテンツを提供することを含む他のフィーチャにも、使用することができる。
【0117】
もちろん、本明細書で開示された技法およびシステムにおいては、他のウォータマーキングスキームを使用することもできる。例えば、(マーク検出アルゴリズムが標準化されている)伝統的なウォータマークを、当該コンテンツのコードによるか、あるいはウォータマークをエンベッドした外部回路(当該コンテンツによりコントロールされていてもよいし、されていなくてもよい。)のいずれかによって、出力にエンベッドすることもできる。同様に、到来するコンテンツからウォータマークをセンスして、例えば、オーソライズされていないコピーを作成しようとするか、あるいはオーソライズされていないコンテンツを導入しようとしていることを、(ここでも、当該コンテンツのコードか、または外部検出器のいずれかによって)検出することができる。エンベッドするのにどのウォータマークを選択するか、検出されたウォータマークにどのように応答するかを、プレーヤ内および/またはコンテンツ内に、インプリメントすることができる。
【0118】
マイグレーションパスの例:CDオーディオ
デジタルコンテンツの大多数が、今日では、プロテクトされないで配信されるか、あるいは最小限のプロテクションで配信されている。例えば、CDオーディオ標準にはアンチコピーフィーチャが含まれておらず、DVDビデオのプロテクションスキームは、広範囲に破られてきた。従来の媒体プレーヤは、充分なセキュリティをサポートしていないため、アップグレードするか交換する必要がある。新しいセキュリティシステムが成功するかどうかは、互換性のあるプレーヤを大量に確立できるかに依存している。
【0119】
本明細書で開示された技法およびシステムと、コピープロテクションCDを作成するための既存の方法とを組み合わせれば、後方互換性のあるCDを作成することができる。このようなCDは、ほとんどのオーディオCDプレーヤで正しく再生されるが、コンピュータベースのリッピングソフトウェアを混乱させるディスクを作成するには、非標準のCDフォーマットを使用する。オーソライズされた(例えばライセンスが与えられた)パーソナルコンピュータソフトウェアは、不適正に読み取られるか、その他に、コンピュータを混乱させる部分を訂正することによって、ディスクを再生することもできる。そこで、再生は非標準の(コピープロテクトされた)レッドブックオーディオ部分を再生することができるので、(ほとんどの)旧式のオーディオプレーヤでの再生が可能であり、(例えば、CDに含められるか、the Internetを介してダウンロード可能な)適正なプレーヤソフトウェアを有するパーソナルコンピュータでも、再生可能である。既存のCDオーディオプレーヤとの後方互換性を長期にサポートすると、追加のセキュリティリスクが導入される可能性があるが、(結局は)コンテンツがセキュアなフォーマットでのみを販売できるように、新しいセキュアフォーマットを再生できるオーディオプレーヤのディプロイを促進することが、長期戦略の一部として有益である。
【0120】
例:HD(High-Definition)−DVD
現在のDVDビデオプレーヤにより採用されているコピープロテクションシステムは、広範囲に亘って破られてきた。すでに何百万というDVDプレーヤが販売されており、新しいプロテクションシステムにアップグレードするのは不可能であるから、これら旧来のユーザに対するサポートを放棄せずに、現在のDVDフォーマットをアップグレードする簡単な方法はない。幸いにも、既に導入されているDVDプレーヤは、「標準」精細度のTV(例えば、走査線は、NTSCの場合が525本で、PALの場合が625本、等)をサポートするようにのみ設計されているが、HDTV(high-definition TV)フォーマットにおいては、それほど高品質の信号が提供されるわけではない。旧式のプレーヤはHDTVをサポートしていないから、本明細書で開示された新しいセキュリティフィーチャは、HDTVをサポートしているDVDに組み込むことはできない。
【0121】
例示的一実施形態においては、当該プレーヤは(1つ以上のディスク用の機械式のトレイよりなる)ユーザアクセス可能な媒体入力機構を有することになり、この媒体入力機構は、媒体をスピンドルにロードし、この媒体は、スピンドルにより回転され、レーザを使用して読み取られる。この媒体から読み取られたデータは、マイクロプロセッサベースの回路に搬送され、この回路により、ディスクエンコーディングが分析され、ディスク容量と、フォーマットタイプと、セキュリティ方法とが判断される。仮にディスクが旧来のセキュリティスキーム(CSS)を使用した旧式の(低解像度)DVDである場合には、このディスクは背景技術において周知の方法を使用して再生される。仮に当該ディスクが、本明細書で開示したようなプログラマブルなセキュリティ方法を使用したHD−DVDである場合には、コンテンツのセキュリティポリシーのプログラムコード(データ処理命令)が、当該ディスクからロードされ、当該プレーヤにより実行される。プレーヤは、オプションであるが、改良されたセキュリティを使用すれば、低密度のDVDをサポートすることができ、同様に、旧来のプロテクション方法を使用したHD−DVDをサポートすることができる(ただし、新しいコンテンツ用のセキュリティスキームであるが、広範囲に破られたセキュリティスキームを使用した場合には、一般に、その利益は少ない。)。このDVDプレーヤからの出力の品質は、当該コンテンツによってコントロールすることができる。例えば当該コンテンツは、仮にプレーヤおよび/またはHDTVの出力デバイスにより充分なセキュリティが提供されない場合には、低解像度の出力を出力するように選択することができる。この場合、当該コンテンツは、(例えば)当該プレーヤ(これに限定されない)に指示して、HDTV信号を低解像度に(例えば、この目的のために特別に設計されたデグラデーションモジュールを使用して)ダウンコンバートすることができるか、当該信号の低解像度部分を復号するのに必要なキーのみを当該プレーヤに供給する(高解像度部分に必要なキーは与えない)か、あるいは、当該プレーヤに指示して、高解像度バージョンとは別に媒体上にエンコードされているコンテンツの低解像度バージョンを出力することができる。
【0122】
追加の考慮事項および変形形態
例示的な実施形態においては、コンテンツを特定のプレーヤのためにカスタマイズすることができる。この場合、当該コンテンツは単一のプレーヤまたは少数のプレーヤ上でのみ再生可能であるが、受信側のデバイス上で再生するのに必要でないコードは、伝送する必要がない。そこで、このアプローチは、情報をユーザに送信するのが困難であるか、費用がかかるか、またはこの送信速度が遅いとき、例えば、仮に記憶空間が限られているか、または当該コンテンツを低速のネットワーク接続を介して送信しなければならない場合には、特に有用である。そうであっても、当該コンテンツは、再生環境が適正にセキュアであることを、当該プレーヤに、ケリーすることができる。
【0123】
再生が中断したり歪んだりしないことを保証するためには、当該プレーヤのインタプリタに対して、特定の最低性能標準を要求することは、有用なことである。
【0124】
例示的な実施形態においては、当該システムおよび方法を、コンテンツがデバイス間で交換可能なように、構成することができる。このような交換に特有のセキュリティ特性は、例えば信頼できる(例えばパブリッシャオペレートの)サーバとオンラインで通信可能か否かというファクタに依存する。当該コンテンツが転送されるフォーマットは、当該コンテンツによって遵守されるセキュリティポリシーと、当該デバイスのハードウェアの機能とに依存する。例えば、両方のデバイスがセキュアなインタプリタを含む一実施形態においては、送信側のデバイスは、暗号化された生のコンテンツ(オリジナルの媒体にストアされているか、他のキーで暗号化されているか、あるいは、オプションであるが、ウォータマークが含まれている)を、再生コントロール用のコードと共に伝送する。この再生コントロールコードは、送信側のデバイスによって、受信側のデバイスのためにカスタマイズすることができる。別のケースにおいては、送信側のデバイスは、出力ポートのセキュリティ特性と、デスティネーションデバイスのセキュリティ特性が許容できるか否かをベリファイし、共用キーとデスティネーションデバイスとをネゴシエートし、当該コンテンツを復号してウォータマークを付け、この共用キーを用いて当該コンテンツを再度暗号化し、この再度暗号化したコンテンツをデスティネーションに送信する、ことができる。
【0125】
充分な不揮発性ストレージを有するプレーヤを使用して、インタプリタからコールされた更新可能なコードを、ストアすることができる。例えば、当該プレーヤは、特定のパブリッシャのための最新のセキュリティコードを常にストアするように構成することができる。この場合、セキュリティコードのさらに新しいバージョンに遭遇すると、古いバージョンは(例えば、新しいコード上のデジタル署名をベリファイした後に)更新されることになる。この方法においては、古いコンテンツは、新しいコンテンツ上でパフォームされるセキュリティ更新の利益を受けることができる(例えば、この方法は、前述のセキュアなメモリ方法を使用してインプリメントすることができる)。他の実施形態においては、コンテンツは、当該プレーヤから、現在の日付/時刻を取得し、最も新しく知ったセキュリティアップグレードの日付/時刻と比較して、当該プレーヤが現在のセキュリティ更新版を含むことを要求できる。このようにして、コンテンツは、プレーヤが合理的な最新のセキュリティアップグレード版を有することを、保証することができる。
【0126】
一般に、コンテンツプロテクションシステムは、正当なユーザによる正当なアクションにおいて、可視の役割を演じることを避けるべきである。にもかかわらず、ユーザインタフェース要素の中には、例えばエラーを通知したり、情報を提供したりする必要があるものもある。コンテンツが、サポートされている複数の出力品質(例えば、仮にプレーヤの提供するセキュリティが不充分である場合には、「旧来の」品質であり、仮にセキュリティが満足できるものである場合には、「高」品質である)から選択できる場合には、インジケータは、ユーザに出力品質を通知するのに有用である。例えば、一実施形態においては、当該コンテンツによりコントロールされている緑のLED(light emitting diode)は、出力が高品質である(すなわち、セキュリティが満足できる)ことを示し、オレンジのLEDは、品質が低下したこと(すなわち、セキュリティが不充分である)ことを示し、点滅する赤いLEDは、当該プレーヤがリボークされたため、出力がないことを示すことができる。別の実施形態においては、当該セキュリティのステータスを通知するため、口頭または書面による(もしわかれば、ユーザの言語での)短い通知が提供される。高品質対低品質の出力を通知および/または使用するかどうかの判断は、他の要素、例えば、ロバストおよび/または脆弱なウォータマークが存在するおよび/または存在しないことに基づくことができる。必要であれば、当該コンテンツが、セキュリティその他の理由で、再生品質を(例えば、旧式のフォーマットの品質まで)低下させるため、デグラデーションモジュールをプレーヤに含めることができる(例えば、HDTV信号をNTSC解像度に変換するか、または高解像度マルチチャネルオーディオを2チャネルCD品質オーディオに変換するため、デグラデーションモジュールを含めることができる)。
【0127】
仮に当該媒体インタフェースと当該プレーヤインタプリタとが充分な性能を提供する場合、バルク復号およびウォータマークのエンベッドは、別の復号モジュール内ではなく、インタプリタ内で、ハンドルすることができる。当該コンテンツが自分自身を直接復号できれば、セキュリティ上の利点、例えば、攻撃者が復号モジュールを攻撃しなくなること、を保証することができる。仮に当該インタプリタの性能が充分である場合には、コンテンツ圧縮解除を当該インタプリタにインプリメントすることができ、単一のプレーヤCodecタイプを標準化する必要もなくなる。
【0128】
インタプリタを使用したインプリメントは、本明細書で開示した技法およびシステムに特有のハードウェアサポートのないプラットフォーム上(例えばパーソナルコンピュータ)では好適であるが、インタプリタ機能の多くを、専用のハードウェアにインプリメントすることは、可能である。アプリケーションによっては、それ専用にインプリメントすると、機能は低下するが、コストまたは消費電力の節約になる。
【0129】
コンテンツを物理媒体に受け取る実施形態は、実質的には、どの媒体フォーマットをも使用することができる。光ディスク(CDおよびDVD等)は、高記憶密度を低コストで提供するが、磁気媒体、ホログラフメモリ、バッテリバックアップ付RAM、ROM、EEPROM、およびフラッシュメモリを含む他の記憶システムも採用できる。この他の記憶システムに含まれるものはこの例に限定されるものではない。当該媒体の記憶容量は、多くの異なるタイプのデータをストアするため使用することができ、これらデータとしては、本明細書で開示された技法およびシステムに関係する情報(例えば、種々のコンピュータプラットフォーム用の復号方法をインプリメントする実行可能プログラムと、本明細書で開示された方法を使用してプロテクトされたコンテンツと、等)と、本明細書で開示された技法およびシステムには直接関係しないデータ(例えば、関係のない実行可能プログラムと、Red Book CDオーディオのようなプロテクトされていないコンテンツと、他のセキュリティスキームを使用してプロテクトされたコンテンツ)と、が含まれる。
【0130】
プレーヤが、当該媒体がオーソライズされていない媒体ではないとベリファイすることができるように、当該媒体には、耐タンパー性を有する回路であって、暗号コンピュテーションをパフォームする回路を含めることができる。このような機能は、電気的なインタフェースを使用する媒体のためにインプリメントする上では最も簡単な機能であるが、光媒体でも、暗号機能を含むことができる。例えば、非接触型暗号モジュール(例えば、特許文献6に記載の非接触型スマートカード)は、光ディスクに付加するか、エンベッドすることができる。暗号媒体認証は、好ましいものであるが、これに代えて、他の認証メカニズムを採用することができる。例えば、背景技術において知られている一般的な媒体認証方法には、シリアル番号を、コピーが困難なロケーション(例えば、市販の記録可能媒体またはドライブを用いて書き込むことのできない領域)に書き込むこと、及びオリジナルの物理媒体の種々の特性のディスクリプションであって、デジタル署名された「ディスクリプション」を含めること、が含まれる。もちろん、暗号メカニズムは、たとえ攻撃者が既存の媒体をコンプロマイズする方法を発見した場合であっても、次のような利点、すなわち、将来の媒体はセキュリティを改良して発行するが、プレーヤには何ら変更を加えない、という利点を提供する。
【0131】
多くのコンシューマが、既に旧来のフォーマットのコンテンツに投資しているから、これらのフォーマットをサポートするように、本明細書で開示された技法およびシステムをインプリメントしたプレーヤを構成することができる。同様に、種々のバージョンのインタプリタを特定のプレーヤによってサポートすることができる。この場合、当該プレーヤは、当該媒体またはコンテンツを分析して、使用する適正なセキュリティシステムを確認する必要がある。例えば、デジタルビデオプレーヤであれば、このディスクが、CSSを使用した旧来のDVDであるかどうか(もしそうであれば、CSS復号システムを選択する)検出することができ、あるいは、本明細書で開示された技法およびシステムを使用したDVDであるかどうか(もしそうであれば、言語ベースの復号システムをアクティベートする)を検出することができる。当該コンテンツに含まれたロバストなウォータマークは、1つのセキュリティシステムでオリジナルにプロテクトされたコンテンツが、オリジナルのプロテクトに欠けるフォーマットに、コピーされたか否かを検出するため、使用することができる。例えば、コピーがオーソライズされていないコンテンツであれば、これには、次のようなウォータマーク、すなわち、他のフォーマット(例えば、プロテクトされていないフォーマット)のコピーに遭遇したデバイスが、当該コピーがオーソライズされていないと認識して(例えば)再生を拒否できることを示すためのウォータマークを含めることができる。
【0132】
本明細書で開示された技法およびシステムは、種々のコンテンツタイプとともに使用することができ、これら種々のコンテンツタイプとしては、オーディオ、静止イメージ、ビデオ、3Dイメージ、および3Dビデオが含まれるが、これらに限定されるものではない。
【0133】
本明細書で開示された技法およびシステムは、種々の物理デバイスにインプリメントすることができる。仮に1つのデバイスのみがコンテンツを復号する責務を負う場合には、セキュリティポリシーはそのデバイスが守るのが好ましい。しかし、出力デバイスおよび中間処理デバイス(例えば、オーディオイコライザまたはミキサ)も、本明細書で開示された技法およびシステムから利益を得ることができ、および/または、本明細書で開示された技法およびシステムが、セキュリティをベリファイスするのに用いることができるケリー機能を提供すれば、利益を得ることができる。一実施形態においては、ホームエンタテイメント用のサーバが、コンテンツをダウンロードし、ストアし、管理し、コンテンツを、セキュリティが正常にベリファイされた再生装置(スピーカ、ヘッドフォン、ビデオディスプレイ等)に転送する。これらのデバイスへの接続は、好ましくは、本明細書で開示された技法およびシステムとデスティネーションデバイスが共同してコントロールして、暗号化され、移行中に、コンテンツが盗まれるのを防止する。
【図面の簡単な説明】
【0134】
【図1】背景技術のコンテンツプロテクション方法を使用した媒体プレーヤを示す図である。
【図2】本明細書に開示されたコンテンツプロテクション方法を使用した媒体プレーヤの例を示す図である。
【図3】例示的な実施形態における復号に関する部分を示す図である。

【特許請求の範囲】
【請求項1】
(a)暗号化されたデジタルビデオと、
(b)再生デバイスのインタプリタが処理するためのプログラムロジックであって、
(i)前記再生デバイスによってパフォームされた暗号コンピュテーションの結果を取得するため、前記再生デバイスをケリーするように構成したプログラムロジックであって、前記暗号コンピュテーションは、前記プレーヤに対して一意であるが、前記プログラムロジックがアクセスできない1つ以上の暗号キーを使用するプログラムロジックと、
(ii)前記取得された結果を使用して再生が前記再生デバイスで進行するようにオーソライズされているか否かを判定するように構成されたプログラムロジックと、
(iii)再生がオーソライズされていると判定された場合に、前記デジタルビデオの再生を可能にするため、少なくとも1つのデジタルビデオ復号キーを取り出すように構成したプログラムロジックと
を含むプログラムロジックと
を備えたコンピュータ可読媒体。
【請求項2】
請求項1において、前記(iii)のプログラムロジックは、さらに、
(A)前記暗号コンピュテーションの結果を使用して、オーソライズされているプレーヤから前記ビデオ復号キーを取り出し、
(B)オーソライズされていないプレーヤからは、前記ビデオ復号暗号キーを取り出さない
ように構成したコンピュータ可読媒体。
【請求項3】
請求項1において、
(a)前記再生デバイスから前記再生デバイスを識別する情報を取得し、
(b)デジタルビデオの再生の修正をどのように行うかの知識を有する第三者が、再生出力のコピーから前記再生デバイスを識別できるようにするため、識別情報を使用して前記デジタルビデオの再生を修正する
ように構成したプログラムロジックをさらに備えたコンピュータ可読媒体。
【請求項4】
請求項1において、
(a)前記媒体の製造業者を識別する情報と、
(b)前記媒体がコンシューマ記録可能でないことを識別する前記プレーヤが、識別可能な少なくとも1つの特性と
をさらに備えたコンピュータ可読媒体。
【請求項5】
請求項1において、前記媒体を一意に識別するシリアル番号をさらに備えたコンピュータ可読媒体。
【請求項6】
暗号化されたデジタルコンテンツを再生するデバイスにおいて、
(a)前記暗号化されたデジタルコンテンツと、関連付けされたプログラムロジックとを入力するための入力インタフェースと、
(b)前記入力インタフェースから読み取られた入力をストアするためのメモリと、
(c)前記入力インタフェースからデータを読み取り、このデータを前記メモリにストアするプロセッサと、
(d)前記プロセッサ上で実行可能なソフトウェアを使用してインプリメントしたインタプリタであって、前記入力インタフェースから読み取られ、前記メモリにストアされたプログラムロジックをインタプリットするように構成されたインタプリタと、
(e)暗号モジュールであって、
(i)少なくとも1つの暗号キーへアクセスし、
(ii)前記プログラムロジックが、前記暗号処理の結果を取得できるが、前記少なくとも1つのキーの値を決定できないようにするため、前記プログラムロジックによって指示された暗号キーを使用して、暗号化処理を行うように構成した
暗号モジュールと、
(f)前記デジタルコンテンツを出力するための出力インタフェースと
を備えたことを特徴とするデバイス。
【請求項7】
請求項6において、前記入力インタフェースは、インターネットを介して伝送を受け取ることのできるネットワークインタフェースであることを特徴とするデバイス。
【請求項8】
請求項6において、前記入力インタフェースは、
(i)前記暗号化されたデジタルコンテンツと、関連付けされたプログラムロジックとを含むメモリと、
(ii)前記プログラムロジックによって使用可能であり、前記コンテンツを復号するのに必要な暗号コンピュテーションロジックと
を備えたリムーバブルなモジュールに接続されていることを特徴とするデバイス。
【請求項9】
請求項6において、前記インタプリタは、
(i)前記再生デバイスと、
(ii)前記再生デバイスのユーザによって要求された少なくとも1つのアクションと、
(iii)前記出力インタフェースに接続された少なくとも1つのデバイスと
を記述する情報へ、前記プログラムロジックがアクセスするように構成されたことを特徴とするデバイス。
【請求項10】
請求項6において、暗号サブユニットは、耐タンパー性を有するリムーバブルなハードウェアを備えたことを特徴とするデバイス。
【請求項11】
請求項6において、
(i)前記暗号化されたデジタルコンテンツは、光可読媒体で配信される暗号化されたデジタルビデオを含み、
(ii)前記出力へのオーソライズされていないアクセスを阻止するため、再度暗号化されたフォームで前記デジタルコンテンツを出力するように構成された
ことを特徴とするデバイス。
【請求項12】
請求項6において、前記プログラムロジックから取り出された暗号キーを使用して、前記コンテンツを復号するように構成された復号回路をさらに備えたことを特徴とするデバイス。
【請求項13】
請求項12において、前記復号回路は、第三者が、前記出力インタフェースから出力されたコンテンツのレコーディングを分析して、前記情報を決定できるように、復号されたコンテンツに、前記インタプリタから受け取った情報をエンベッドするように構成されたことを特徴とするデバイス。
【請求項14】
請求項13において、
(i)前記コンテンツの複数の領域の複数のバージョンの表現は、前記入力インタフェースがアクセス可能なデジタル媒体にストアされ、
(ii)前記バージョンは、それぞれ、一意の暗号キーで暗号化され、
(iii)前記デバイスは、前記複数のバージョンから、出力用のコンテンツを選択するため、前記情報を使用して、前記情報をエンベッドすることができ、
(iv)前記復号回路は、復号キーの変更を同期させるロジックを備えた
ことを特徴とするデバイス。
【請求項15】
請求項6において、
(a)内部不揮発性メモリであって、
(i)前記インタプリタに対してオペレートする前記プログラムロジックが、アクセス可能な、セキュリティに関係するデータを含み、
(ii)前記プログラムロジックが、前記再生デバイスのセキュリティをベリファイするのに使用可能でない内部不揮発性メモリと、
(b)前記セキュリティに関係するデータの更新版が真正であることをベリファイする暗号認証ロジックと
を備えたことを特徴とするデバイス。
【請求項16】
請求項6において、前記出力インタフェースに提供された前記デジタルコンテンツの品質が低下したか否かを、前記再生デバイスのユーザに通知するビジュアルなインジケータをさらに備えたことを特徴とするデバイス。
【請求項17】
暗号化されたデジタルビデオを再生する方法において、
(a)データが、前記データを、暗号化されたビデオデータと処理命令とを組み合わせて組み入れた媒体から、読み取るステップと、
(b)プレーヤデバイスのインタプリタを使用して、前記処理命令を実行するステップと、
(c)前記プレーヤデバイスにアクセス可能なプライベートキーを使用して、前記処理命令に従って受け取った前記ビデオデータを暗号化するステップと、
(d)(c)の結果を前記処理命令に返すステップと、
(e)前記処理命令の結果を使用して、前記暗号化されたビデオデータを復号するステップと、
(f)前記復号されたデジタルビデオの表現を、出力インタフェースを使用して出力するステップと
を備えたことを特徴とする方法。
【請求項18】
請求項17において、
(a)前記出力インタフェースに接続されたデバイスを識別するステップと、
(b)前記処理命令を実行した結果、前記接続されたデバイスのセキュリティを高品質再生するのに充分でないと判定するステップと、
(c)前記処理命令が、前記媒体に表された最高品質よりも低い出力品質であって、前記出力インタフェースによってサポートされ、前記接続されたデバイスによってサポートされた出力品質を指定するステップと、
(d)前記指定された出力品質で前記復号されたデジタルビデオを出力するステップと
をさらに備えたことを特徴とする方法。
【請求項19】
請求項17において、
(a)前記デジタルビデオが再生されたことを示すため、プロテクトされている不揮発性メモリを更新するステップと、
(b)再生に対して課金するため、前記不揮発性メモリの更新の結果を、第三者にセキュアに通知するステップと
をさらに備えたことを特徴とする方法。
【請求項20】
請求項19において、前記不揮発性メモリにアクセス可能になる前に、前記処理命令の少なくとも一部に存在するデジタル署名をベリファイするため、パブリックキーを使用するステップをさらに備えたことを特徴とする方法。
【請求項21】
請求項17において、(b)は、少なくとも1つのメッセージを、前記出力インタフェースを介して、前記プレーヤデバイスのユーザに伝送するステップを備えたことを特徴とする方法。
【請求項22】
請求項17において、
(a)前記プレーヤのタイプを含む情報を分析するステップと、
(b)前記分析に基づいて、前記媒体にストアされた追加のボーナスビデオの再生を可能にするステップと
をさらに備えたことを特徴とする方法。
【請求項23】
請求項17において、前記デジタルビデオを圧縮解除するため、前記インタプリタに対してオペレートされている前記処理命令にインプリメントされているcodecを使用するステップをさらに備えたことを特徴とする方法。
【請求項24】
請求項17において、
(a)前記出力インタフェースに接続された出力デバイスに、値を伝送するステップと、
(b)前記出力デバイスから、前記値の暗号化表現を受け取るステップと
をさらに備えたことを特徴とする方法。
【請求項25】
暗号化されたデジタルコンテンツを再生するデバイスにおいて、
(a)前記暗号化されたデジタルコンテンツと、関連付けされたプログラムロジックとをリムーバブルデジタル媒体から入力する手段と、
(b)インタフェースから読み取られたプログラムロジックをストアする手段と、
(c)前記プログラムロジックをインタプリットする手段と、
(d)前記プログラムロジックの指示に従って、プライベートキーを使用して、暗号処理を行う手段であって、前記プログラムロジックは、前記暗号処理の結果を取得できるが、前記プライベートキーの値は特定できない手段と、
(e)前記デジタルコンテンツを出力する手段と
を備えたことを特徴とするデバイス。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2008−228330(P2008−228330A)
【公開日】平成20年9月25日(2008.9.25)
【国際特許分類】
【出願番号】特願2008−102669(P2008−102669)
【出願日】平成20年4月10日(2008.4.10)
【分割の表示】特願2008−16935(P2008−16935)の分割
【原出願日】平成14年3月28日(2002.3.28)
【出願人】(597095197)マクロビジョン・コーポレーション (53)
【Fターム(参考)】