説明

長期にリニューアル可能なセキュリティを提供するコンテンツセキュリティ方法、その装置およびコンピュータ読取可能記憶媒体

【課題】複数の広範囲に分散する認証されたプレーヤデバイスのうちの少なくとも1つにおいてセキュアに再生するためにデジタルビデオをマスタリングする方法を提供する。
【解決手段】プレーヤデバイスは、媒体200からのデータのロード、ネットワーク通信の実行、復号/再生のコントロール、プレーヤのキーを使用した暗号オペレーションの実行等の基本機能を、コンテンツに提供する。これらの機能によって、コンテンツは自分自身のセキュリティポリシーをインプリメントして攻撃を阻止する。海賊行為者が、個々のプレーヤをコンプロマイズした場合、攻撃を阻止する新しいセキュリティ機能を使用して、新しいコンテンツをマスタリングする。選択的な復号機能も提供可能であり、これによって、特定のプレーヤまで遡って攻撃をトレースできるように、進行中のウォータマーク挿入を実行可能にする。

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

【特許請求の範囲】
【請求項1】
複数の広範囲に分散する認証されたプレーヤデバイスのうちの少なくとも1つにおいてセキュアに再生するためにデジタルビデオをマスタリングする方法であって、
(a)デジタルビデオの複数の部分のそれぞれについて、少なくとも2つのバージョンを生成するステップと、
(b)前記デジタルビデオを復号するための命令を生成するステップであって
(i)前記命令は、該命令がプレーヤデバイスによって処理されると、前記デジタルビデオが再生されたときに出力されることとなる前記複数の部分のそれぞれについて、前記バージョンのうちの少なくとも1つを自動的に選択し、
(ii)前記バージョンの選択は、前記プレーヤデバイスについての情報に基づいて行われる、ステップと、
(c)前記命令と、前記複数の部分についての前記バージョンを含む、圧縮され暗号化された前記デジタルビデオの表現とを組み合わせて、組み合わされた表現を形成するステップと、
(d)コンシューマが使用するため、前記組み合わされた表現を配布するステップとを含む、方法。
【請求項2】
前記プレーヤデバイスについての情報は、前記プレーヤデバイスを一意に識別する情報を含み、さらに、
(a)前記デジタルビデオの少なくとも一部の不正コピーを回収し、
(b)前記不正コピーを生成するための再生プロセス中に、前記複数の部分について、いずれのバージョンが選択されたかを判定し、
(c)(b)の結果を分析して、前記不正コピーを生成するのに使用されたプレーヤデバイスを識別し、
(d)前記不正コピーを生成するのに使用された前記プレーヤデバイス上で再生されないようにする命令により、追加のデジタルビデオを暗号化することを含む、請求項1に記載の方法。
【請求項3】
前記(d)の命令は、
(i)認証されたプレーヤでは、前記追加のデジタルビデオの復号キーを取り出し、
(ii)前記命令が、認証されていないプレーヤで処理された場合には、復号キーを取り出さず、
(iii)前記命令が、前記不正コピーを生成するために使用された前記プレーヤで処理された場合には、復号キーを取り出さないように構成される、請求項2に記載の方法。
【請求項4】
さらに、
(a)分散するプレーヤデバイスに含まれるキーを使用した暗号処理の結果を、第三者から取得し、
(b)前記ステップ(d)で得られた結果を使用して、どのプレーヤが前記デジタルビデオを復号できるかをコントロールすることを含む、請求項3に記載の方法。
【請求項5】
前記命令は、該命令に表現されていない秘密キーを使用して前記プレーヤが行った暗号処理の結果に基づいて、前記認証されたプレーヤと、前記認証されていないプレーヤとを区別する、請求項3に記載の方法。
【請求項6】
デジタルコンテンツをマスタリングする装置であって、
(a)バリエーションジェネレータであって、
(i)前記コンテンツにバリエーションを生成するように構成され、
(ii)前記バリエーションは、前記コンテンツのコピーにおいて検出可能であるが、再生品質を低下させないように選択されている、バリエーションジェネレータと、
(b)前記コンテンツのための復号命令を生成するように構成された命令ジェネレータであって、前記復号命令は、再生環境を分析して、
(i)セキュリティ侵害が起きたデバイス、およびセキュリティを充分に提供できない他の再生環境での再生を防止し、
(ii)セキュリティが充分でないデバイスでの再生品質を制限し、
(iii)認証された環境での再生を可能にし、かつ、
(iv)ホスト再生デバイスを識別する情報を使用して前記バリエーションからの選択を行い、該バリエーションを分析することで前記再生デバイスを識別できるようにするように構成されるものである、命令ジェネレータと、
(c)前記コンテンツをセキュアに表現したものを生成してコンシューマに配布するため、前記コンテンツと前記命令ジェネレータの出力とを組み合せたもののうちの少なくとも一部を暗号化するように構成された暗号モジュールとを含む、装置。
【請求項7】
前記コンテンツは、圧縮されたデジタルビデオを含む、請求項6に記載の装置。
【請求項8】
前記コンテンツは、デジタルオーディオを含む、請求項6に記載の装置。
【請求項9】
コンピュータ可読媒体であって、
(a)暗号化されたデジタルビデオと、
(b)再生デバイスのインタプリタが処理するためのプログラムロジックと、を含み、
前記プログラムロジックは、
(i)前記再生デバイスに対してクエリを実行し、前記再生デバイスによって実行された暗号演算の結果を取得するように構成されたプログラムロジックであって、前記暗号処理は、前記プレーヤに対して一意であるが、前記プログラムロジックがアクセスできない1つ以上の暗号キー値を使用するものである、プログラムロジックと、
(ii)前記取得された結果を使用して、前記再生デバイスでの再生進行が認証されているか否かを判定するように構成されたプログラムロジックと、
(iii)再生が認証されていると判定された場合に、前記デジタルビデオの再生を可能にするため、少なくとも1つのデジタルビデオ復号キーを取り出すように構成されたプログラムロジックと、を含む、コンピュータ可読媒体。
【請求項10】
前記(iii)のプログラムロジックは、さらに、
(A)前記暗号演算の結果を使用して、認証されているプレーヤでは前記ビデオ復号キーを取り出し、
(B)認証されていないプレーヤでは、前記ビデオ復号暗号キーを取り出さないように構成される、請求項9に記載のコンピュータ可読媒体。
【請求項11】
プログラムロジックであって、
(a)前記再生デバイスから前記再生デバイスを識別する情報を取得し、
(b)前記識別情報を使用して前記デジタルビデオの再生を修正することにより、該修正がどのように行われるかの知識を有する第三者が再生出力のコピーから前記再生デバイスを識別できるようにするように構成されたプログラムロジックをさらに含む、請求項9に記載のコンピュータ可読媒体。
【請求項12】
(a)前記媒体の製造業者を識別する情報と、
(b)前記媒体はコンシューマが記録可能な媒体ではないと識別する、前記プレーヤによって識別可能な少なくとも1つの特性とをさらに含む、請求項9に記載のコンピュータ可読媒体。
【請求項13】
前記媒体を一意に識別するシリアル番号をさらに含む、請求項9に記載のコンピュータ可読媒体。
【請求項14】
暗号化されたデジタルコンテンツを再生するデバイスであって、
(a)前記暗号化されたデジタルコンテンツと、関連付けされたプログラムロジックとを入力するための入力インタフェースと、
(b)前記入力インタフェースから読み取られた入力を格納するためのメモリと、
(c)前記入力インタフェースからデータを読み取り、前記メモリにデータを格納するためのプロセッサと、
(d)前記プロセッサ上で実行可能なソフトウェアを使用して実装されたインタプリタであって、前記入力インタフェースから読み取られ、前記メモリに格納された前記プログラムロジックを解釈するように構成されたインタプリタと、
(e)暗号モジュールであって、
(i)少なくとも1つの暗号キーにアクセスでき、
(ii)前記プログラムロジックが暗号処理の結果を取得できるが、前記少なくとも1つのキーの値を決定できないように、前記プログラムロジックの指示に従い、前記暗号キーを使用して暗号処理を行うように構成された、暗号モジュールと、
(f)前記デジタルコンテンツを出力するための出力インタフェースとを含む、デバイス。
【請求項15】
前記入力インタフェースは、インターネットを介した送信を受け取ることのできるネットワークインタフェースである、請求項14に記載のデバイス。
【請求項16】
前記入力インタフェースは、取り外し可能なモジュールに接続され、該取り外し可能なモジュールは、
(i)前記暗号化されたデジタルコンテンツと、関連付けされたプログラムロジックとを含むメモリと、
(ii)前記プログラムロジックによって使用可能であり、前記コンテンツを復号するのに必要な暗号演算ロジックとを含む、請求項14に記載のデバイス。
【請求項17】
前記インタプリタは、前記プログラムロジックに対し、
(i)前記再生デバイスと、
(ii)前記再生デバイスのユーザによって要求された少なくとも1つのアクションと、
(iii)前記出力インタフェースに接続された少なくとも1つのデバイスとを記述する情報へのアクセスを与えるように構成される、請求項14に記載のデバイス。
【請求項18】
前記暗号サブユニットは、耐タンパー性を有する取り外し可能なハードウェアモジュールを含む、請求項14に記載のデバイス。
【請求項19】
(i)前記暗号キーは、非対称署名アルゴリズム用の秘密キーであり、
(ii)前記デバイスは、前記プログラムロジックがアクセス可能な、前記秘密キーに対応する公開キーに関するデジタル証明書を含み、
(iii)前記暗号演算は、前記秘密キーを使用して、前記プログラムロジックから受け取った値にデジタル署名することを含む、
請求項14に記載のデバイス。
【請求項20】
(i)前記暗号化されたデジタルコンテンツは、光学的に読取可能な媒体で配布される暗号化されたデジタルビデオを含み、
(ii)前記デジタルコンテンツを再暗号化された形で出力して、当該出力への不正アクセスを阻止するようにさらに構成された、
請求項14に記載のデバイス。
【請求項21】
前記プログラムロジックによって取り出された暗号キーを使用して、前記コンテンツを復号するように構成された復号回路をさらに含む、請求項14に記載のデバイス。
【請求項22】
前記復号回路は、前記インタプリタから受け取った情報を復号された前記コンテンツに組み込むことで、第三者が前記出力インタフェースから出力された前記コンテンツの記録を分析して当該情報を判断できるようにするように構成される、請求項21に記載のデバイス。
【請求項23】
(i)前記コンテンツの複数の領域についての複数のバージョンの表現が、前記入力インタフェースがアクセス可能なデジタル媒体に格納され、
(ii)前記バージョンは、それぞれ、固有の暗号キーで暗号化され、
(iii)前記デバイスは、前記複数のバージョンから、出力する前記コンテンツの部分を選択するため、前記情報を使用して、前記情報を組み込むことができ、
(iv)前記復号回路は、復号キーの変更を同期させるロジックを含む、
請求項22に記載のデバイス。
【請求項24】
(a)内部不揮発性メモリであって、
(i)前記インタプリタ上で動作する前記プログラムロジックがアクセス可能な、セキュリティに関連するデータを含み、
(ii)前記再生デバイスのセキュリティを認証するために前記プログラムロジックが使用可能な内部不揮発性メモリと、
(b)前記セキュリティに関連するデータの更新版が真正であることを確認するための暗号認証ロジックとをさらに含む、請求項14に記載のデバイス。
【請求項25】
前記認証ロジックは、前記更新版のデジタル署名の認証に成功した場合にのみ、前記更新版を実行するように構成される、請求項24に記載のデバイス。
【請求項26】
前記出力インタフェースに提供された前記デジタルコンテンツの品質が下げられているか否かを、前記再生デバイスのユーザに通知する視覚的インジケータをさらに含む、請求項14に記載のデバイス。
【請求項27】
前記デジタルコンテンツは、3次元デジタルビデオを含む、請求項14に記載のデバイス。
【請求項28】
暗号化されたデジタルビデオを再生する方法であって、
(a)暗号化されたビデオデータと組み合わされた処理命令を含むデータを、媒体から読み取るステップと、
(b)プレーヤデバイス内のインタプリタを使用して、前記処理命令を実行するステップと、
(c)前記プレーヤデバイスにアクセス可能な秘密キーを使用して、前記処理命令とともに受け取った前記データを暗号化するステップと、
(d)(c)の結果を前記処理命令に返すステップと、
(e)前記処理命令の結果を使用して、前記暗号化されたビデオデータを復号するステップと、
(f)前記復号されたビデオの表現を、出力インタフェースを使用して出力するステップとを含む、方法。
【請求項29】
さらに、
(a)前記出力インタフェースに接続されたデバイスを識別し、
(b)前記処理命令を実行した結果、前記接続されたデバイスのセキュリティは、高品質再生をするのに充分でないと判定し、
(c)前記処理命令が、前記媒体に表された最高品質よりも低い出力品質であって、前記出力インタフェースによってサポートされ、前記接続されたデバイスによってサポートされた出力品質を指定し、
(d)前記指定された出力品質で前記復号されたビデオを出力することを含む、請求項28に記載の方法。
【請求項30】
さらに、
(a)保護された不揮発性メモリを更新して、前記デジタルビデオが再生されたことを表示し、
(b)前記不揮発性メモリの更新の結果を第三者にセキュアに通知して、再生に対する課金を可能とすることを含む、請求項28に記載の方法。
【請求項31】
前記不揮発性メモリへのアクセスを許可する前に、公開キーを使用して、前記処理命令の少なくとも一部についてのデジタル署名を認証することをさらに含む、請求項30に記載の方法。
【請求項32】
(b)は、少なくとも1つのメッセージを、前記出力インタフェースを介して、前記プレーヤデバイスのユーザに送信することを含む、請求項28に記載の方法。
【請求項33】
前記送信されるメッセージは、前記ユーザが受賞者であるか否かを示す、請求項32に記載の方法。
【請求項34】
さらに、
(a)前記プレーヤのタイプを含む情報を分析し、
(b)前記分析に基づいて、前記媒体に格納された追加のボーナスビデオの再生を可能にすることを含む、請求項28に記載の方法。
【請求項35】
前記デジタルビデオを圧縮解除するため、ハードウェアベースのコーデック(codec)を使用することをさらに含む、請求項28に記載の方法。
【請求項36】
前記デジタルビデオを圧縮解除するため、前記インタプリタ上で動作する前記処理命令に実装されているコーデック(codec)を使用することをさらに含む、請求項28に記載の方法。
【請求項37】
さらに、
(a)前記出力インタフェースに接続された出力デバイスに、値を送信し、
(b)前記出力デバイスから、前記値の暗号化された表現を受け取ることを含む、請求項28に記載の方法。
【請求項38】
異なるセキュリティ特性を有する複数の再生デバイスにおいて、暗号化されたデジタルビデオの再生を可能にする方法であって、
(a)再生デバイスから、該再生デバイスを記述するデータを受け取るステップと、
(b)前記受け取ったデータを分析して、前記再生デバイスでの再生を許可した場合に、前記デジタルビデオが改ざんされるリスクを評価するステップと、
(c)前記リスクの分析に基づいて、複数の再生品質レベルから選択するステップであって、前記再生品質レベルが、
(i)実質的に完全なイメージ品質での再生と、
(ii)低下したイメージ品質での再生と、
(iii)再生の実質的禁止とを含む、ステップと、
(d)前記再生デバイスが前記選択された品質レベルで前記デジタルビデオを復号し出力できるようにするステップとを含む、方法。
【請求項39】
前記選択された品質レベルに対応させるため、劣化モジュールを用いて前記デジタルビデオの品質を低下させることを含む、請求項38に記載の方法。
【請求項40】
保護されたデジタルビデオコンテンツであって、認証された復号器と関連付けられたデジタルビデオコンテンツを、該認証された復号器とは別個のインタプリタで再生する方法であって、
(a)少なくとも1つの認証された復号器から1つ以上の暗号キーを取り出すステップと、
(b)前記取り出された暗号キーをインタプリタに渡すステップと、
(c)前記インタプリタを使用して、前記保護されたデジタルビデオコンテンツに関連付けられているロジック命令を実行するステップと、
(d)前記インタプリタを使用して、前記ロジック命令によるクエリに対して誤った応答を提供するステップであって、前記応答は、前記命令が前記認証された復号器に代わって前記インタプリタによって処理されていることを、前記プログラムロジック命令が認識しないように構成される、ステップとを含む方法。
【請求項41】
復号された前記デジタルコンテンツを記録し、前記記録されたコンテンツを複数の受信者にコンピュータネットワークを介して再配布することをさらに含む、請求項40に記載の方法。
【請求項42】
デジタルコンテンツにマークを埋め込む方法であって、
(a)前記デジタルコンテンツに関連付けられたプログラムロジックを読み取って実行するステップと、
(b)前記プログラムロジックが、前記プログラムロジックが実行されている実行環境に関するデータを取得するステップと、
(c)前記実行環境データの第1の部分に基づいて、前記デジタルコンテンツの第1の部分についての複数の出力バージョンから選択するステップと、
(d)前記実行環境データの第2の部分に基づいて、前記デジタルコンテンツの第2の部分についての複数の出力バージョンから選択するステップと、
(e)前記選択された部分を復号するステップと、
(f)前記復号された部分の表現を出力するステップとを含む、方法。
【請求項43】
暗号化されたデジタルコンテンツを再生するデバイスであって、
(a)前記暗号化されたデジタルコンテンツと、関連付けされたプログラムロジックとを取外し可能なデジタル媒体から入力する手段と、
(b)前記インタフェースから読み出されたプログラムロジックを格納する手段と、
(c)前記プログラムロジックを解釈する手段と、
(d)前記プログラムロジックの指示に従い、秘密キーを使用して暗号処理を行う手段であって、これにより、前記プログラムロジックは前記暗号処理の結果を取得できるが、前記秘密キーの値は特定できない、手段と、
(e)前記デジタルコンテンツを出力する手段とを含む、デバイス。
【請求項44】
暗号化されたデジタルビデオであって、異なるセキュリティ特性を有する複数の再生デバイスで再生可能なデジタルビデオ含む光媒体であって、
(a)暗号化されたデジタルビデオであって、異なるセキュリティ特性を有する複数の再生デバイスで再生可能なデジタルビデオと、
(b)プログラムロジックであって、該プログラムロジックが実行されると、該プログラムロジックが実行されている再生デバイスから、当該再生デバイスを記述したデータを受け取るプログラムロジックと、
(c)プログラムロジックであって、該プログラムロジックが実行されると、前記受け取ったデータを分析して、前記再生デバイスでの再生を許可した場合に、前記デジタルビデオが改ざんされるリスクを評価するプログラムロジックと、
(d)プログラムロジックであって、該プログラムロジックが実行されると、前記リスクの分析に基づいて、複数の再生品質レベルからの選択を行うものであり、前記再生品質レベルが、
(i)実質的に完全なイメージ品質での再生と、
(ii)低下したイメージ品質での再生と、
(iii)再生の実質的禁止とを含む、プログラムロジックと、
(e)プログラムロジックであって、該プログラムロジックが実行されると、前記再生デバイスが前記選択された品質レベルで前記デジタルビデオを復号し出力することを可能にするプログラムロジックとを含む、光媒体。
【請求項45】
保護されたデジタルビデオコンテンツであって、認証された復号器と関連付けられたデジタルビデオコンテンツの再生を、該認証された複合器とは別個の環境において可能とするシステムであって、
(a)少なくとも1つの認証された復号器から1つ以上の暗号キーを取り出す手段と、
(b)前記取り出されたキーをインタプリタと関連付けする手段と、
(c)前記認証された復号器以外の復号器を使用して、前記保護されたデジタルビデオコンテンツに関連付けられたロジック命令を実行する手段と、
(d)前記ロジック命令によるクエリに対して誤った応答を提供する手段であって、前記応答は、前記命令が前記認証された復号器以外の環境で処理されていると、前記プログラムロジック命令が認識しないように構成される、手段とを含む、システム。
【請求項46】
各プレーヤデバイスが固有の暗号プレーヤキーの組み合せを有する、複数のプレーヤデバイスで再生可能なデジタルビデオを含むコンピュータ可読媒体であって、
(a)前記デジタルビデオの表現を取得するプロセスと、
(b)前記デジタルビデオの複数の部分について、複数の類似のバージョンを生成するプロセスと、
(c)前記複数のバージョンを異なるキーで暗号化するプロセスであって、前記キーは、
(i)前記プレーヤデバイスの各々は、そのプレーヤキーを使用して、前記複数の部分のそれぞれについて前記バージョンのうちの少なくとも1つを復号することができ、
(ii)前記プレーヤデバイスの各々によって復号された前記複数の部分についての前記バージョンが、前記プレーヤデバイスに対して集合的に一意であり、
(iii)前記デジタルビデオの記録に表現された前記バージョンの組み合せを分析することで、該記録を、前記デジタルビデオを復号したプレーヤデバイスまでトレースできるように選択されたキーである、プロセスと、
(d)前記複数の部分についての前記複数の暗号化されたバージョンを含む前記デジタルビデオを前記媒体上に格納するプロセスとにより得られるコンピュータ可読媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate


【公開番号】特開2012−110026(P2012−110026A)
【公開日】平成24年6月7日(2012.6.7)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−15867(P2012−15867)
【出願日】平成24年1月27日(2012.1.27)
【分割の表示】特願2009−151297(P2009−151297)の分割
【原出願日】平成14年3月28日(2002.3.28)
【出願人】(597095197)ロヴィ・ソリューションズ・コーポレーション (53)
【Fターム(参考)】