(57)【要約】  コンテンツを暗号処理するシステム(500)は、コンテンツ(564)を受け取る入力(502)を含む。複数のルックアップテーブル(504)は、複合型暗号および電子透かし動作のホワイトボックス実装(460)を表す。ルックアップテーブルは、複合型暗号および電子透かし動作の処理ステップを表し、所定のルックアップ方式に従って適用されるように構成される。ルックアップ方式は、複数のルックアップテーブルの第1のルックアップテーブルの出力が、複数のルックアップテーブルの第2のルックアップテーブルの入力を生成するのに使われることを規定する。複合型暗号および電子透かし動作は、暗号動作および電子透かし動作を含む。制御モジュール(512)は、受け取ったコンテンツに依存し、かつルックアップ方式に従って、複数のルックアップテーブル中の値をルックアップし、それによりコンテンツに複合型暗号および電子透かし動作を適用する。
2010539535.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを暗号処理するシステム(500)であって、
・前記コンテンツ(564)を受け取る入力(502)と、
・複合型暗号および電子透かし動作のホワイトボックス実装(460)を表す複数のルックアップテーブル(504)と
を備え、
前記ルックアップテーブルは、前記複合型暗号および電子透かし動作の処理ステップを表し、前記ルックアップテーブルは、所定のルックアップ方式に従って適用されるように構成され、前記ルックアップ方式は、前記複数のルックアップテーブルの第1のルックアップテーブルの出力が前記複数のルックアップテーブルの第2のルックアップテーブルの入力を生成するのに使われることを規定し、前記複合型暗号および電子透かし動作は、暗号動作および電子透かし動作を含み、
前記システムは、
・前記受け取ったコンテンツに依存して、かつ前記ルックアップ方式に従って、前記複数のルックアップテーブル中の値をルックアップし、それにより前記コンテンツに前記複合型暗号および電子透かし動作を適用して、処理されたコンテンツ(516)を取得する制御モジュール(512)とを備えることを特徴とするシステム。
【請求項２】
・前記暗号動作のホワイトボックス実装を表す第1の複数のルックアップテーブルを生成し、
・前記第1の複数のルックアップテーブルに前記電子透かし動作を組み込むように、前記第1の複数のルックアップテーブルのうち少なくとも1つのルックアップテーブルを変更し、かつ/または前記第1の複数のルックアップテーブルに少なくとも1つのルックアップテーブルを追加し、それにより前記複合型暗号および電子透かし動作の前記ホワイトボックス実装を表す前記複数のルックアップテーブルを生成することによって、前記複数のルックアップテーブルは生成されていることを特徴とする請求項1に記載のシステム。
【請求項３】
前記暗号動作は、復号動作を含むことを特徴とする請求項1に記載のシステム。
【請求項４】
前記電子透かし動作が、前記コンテンツに電子透かしを追加する動作を含むことを特徴とする請求項1に記載のシステム。
【請求項５】
前記電子透かし動作は、前記複数のルックアップテーブルのうち少なくとも1つの末尾テーブルに組み込まれることを特徴とする請求項1に記載のシステム。
【請求項６】
・前記複数のルックアップテーブルにある前記ルックアップテーブルのうち少なくとも1つのテーブルの複数のバージョン(518)をさらに備え、
・前記制御モジュールは、所定の索引値(522)に依存して、前記複数のバージョンのうち少なくとも1つのバージョンを選択するセレクタ(520)を備え、前記制御モジュールは、前記選択されたバージョン中の少なくとも1つの値のルックアップ用に構成され、前記電子透かし動作は、前記バージョンのコンテンツに依存することを特徴とする請求項1に記載のシステム。
【請求項７】
前記索引値を受け取る入力をさらに備えることを特徴とする請求項6に記載のシステム。
【請求項８】
前記受け取ったコンテンツに依存して前記索引値を判定する索引生成器をさらに備えることを特徴とする請求項6に記載のシステム。
【請求項９】
前記電子透かしの少なくとも第1の部分を適用する第1のルックアップテーブル(706)と、前記電子透かしの少なくとも第2の部分を適用する第2のルックアップテーブル(708)とは、結合テーブル(710)に結合され、前記結合テーブルは、前記第1のルックアップテーブルおよび前記第2のルックアップテーブル両方のエントリを含むことを特徴とする請求項1に記載のシステム。
【請求項１０】
前記第1のルックアップテーブル(706)は、第1の電子透かし動作を含み、前記第2のルックアップテーブル(708)は、第2の電子透かし動作を含み、前記第2の電子透かし動作は、前記第1の電子透かし動作の逆動作を実質的に含むことを特徴とする請求項9に記載のシステム。
【請求項１１】
前記システムは、パーソナルコンピュータを含むことを特徴とする請求項1に記載のシステム。
【請求項１２】
コンテンツ(564)を配布するシステム(550)であって、
・異なる複数の電子透かしパターン(554)を提供する電子透かし生成器(552)と、
・複数のルックアップテーブルネットワーク(558)を提供するルックアップテーブル生成器(556)と
を備え、
前記複数のルックアップテーブルネットワークのうちのあるルックアップテーブルネットワーク(504)は、複合型暗号および電子透かし動作のホワイトボックス実装(460)を表し、前記ルックアップテーブルネットワークのうちの前記ルックアップテーブルは、前記複合型暗号および電子透かし動作の処理ステップを表し、前記ルックアップテーブルは、所定のルックアップ方式に従って適用されるように構成され、前記ルックアップ方式は、前記複数のルックアップテーブルのうち第1のルックアップテーブルの出力が前記複数のルックアップテーブルの第2のルックアップテーブルの入力を生成するのに使われることを規定し、前記複合型暗号および電子透かし動作は、前記異なる複数の電子透かしパターンの少なくとも1つに対応する暗号動作および電子透かし動作を含み、異なるルックアップテーブルネットワークの前記電子透かし動作は、前記異なる複数の電子透かしパターンのうち異なるものに対応することを特徴とするシステム。
【請求項１３】
前記複数の前記ルックアップテーブルネットワークを複数のユーザクライアントに分散する第1の出力(560)をさらに備えることを特徴とする請求項12に記載のシステム。
【請求項１４】
前記第1の出力は、前記受け取ったコンテンツに依存して、かつ前記ルックアップ方式に従って、前記ルックアップテーブルネットワーク内の値をルックアップする制御モジュールを前記ユーザクライアントに分配するように構成され、前記制御モジュールは、それにより、受け取ったコンテンツに前記複合型暗号および電子透かし動作を適用して、処理されたコンテンツを取得する、請求項13に記載のシステム。
【請求項１５】
前記複数のユーザクライアントにコンテンツを配布する第2の出力(562)をさらに備え、
前記コンテンツは、前記コンテンツに前記複合型暗号および電子透かし動作を適用しているように構成されることを特徴とする請求項13に記載のシステム。
【請求項１６】
・同じコンテンツが、前記複数の前記ユーザクライアントのうちの複数に配布され、
・同じコンテンツが、前記分散型ルックアップテーブルネットワークに依存して、前記複数の前記ユーザクライアントのうちの前記複数によって、異なるように電子透かしを入れられることを特徴とする請求項15に記載のシステム。
【請求項１７】
複数のルックアップテーブル(504)であって、
前記複数のルックアップテーブル(504)は、複合型暗号および電子透かし動作のホワイトボックス実装(460)を表し、前記ルックアップテーブルは、前記複合型暗号および電子透かし動作の処理ステップを表し、前記ルックアップテーブルは、所定のルックアップ方式に従って適用されるように構成され、前記ルックアップ方式は、前記複数のルックアップテーブルの第1のルックアップテーブルの出力が前記複数のルックアップテーブルの第2のルックアップテーブルの入力を生成するのに使われることを規定し、前記複合型暗号および電子透かし動作は、暗号動作および電子透かし動作を含むことを特徴とする複数のルックアップテーブル。
【請求項１８】
コンテンツの暗号処理方法であって、
・前記コンテンツ(564)を受け取る段階と、
・複合型暗号および電子透かし動作のホワイトボックス実装(460)を表す段階と
を備え、
前記ルックアップテーブルは、前記複合型暗号および電子透かし動作の処理ステップを表し、前記ルックアップテーブルは、所定のルックアップ方式に従って適用されるように構成され、前記ルックアップ方式は、前記複数のルックアップテーブルの第1のルックアップテーブルの出力が前記複数のルックアップテーブルの第2のルックアップテーブルの入力を生成するのに使われることを規定し、前記複合型暗号および電子透かし動作は、暗号動作および電子透かし動作を含み、
前記方法は、
・前記受け取ったコンテンツに依存して、かつ前記ルックアップ方式に従って、前記複数のルックアップテーブル中の値をルックアップし、それにより前記コンテンツに前記複合型暗号および電子透かし動作を適用して、処理されたコンテンツ(516)を取得する段階を備えることを特徴とする方法。
【請求項１９】
コンテンツ(564)を配布する方法であって、
・異なる複数の電子透かしパターン(554)を提供する段階と、
・複数のルックアップテーブルネットワーク(558)を提供する段階と
を備え、
前記複数のルックアップテーブルネットワークのうちのあるルックアップテーブルネットワーク(504)は、複合型暗号および電子透かし動作のホワイトボックス実装(460)を表し、前記ルックアップテーブルネットワークのうちの前記ルックアップテーブルは、前記複合型暗号および電子透かし動作の処理ステップを表し、前記ルックアップテーブルは、所定のルックアップ方式に従って適用されるように構成され、前記ルックアップ方式は、前記複数のルックアップテーブルのうち第1のルックアップテーブルの出力が前記複数のルックアップテーブルの第2のルックアップテーブルの入力を生成するのに使われることを規定し、前記複合型暗号および電子透かし動作は、前記異なる複数の電子透かしパターンの少なくとも1つに対応する暗号動作および電子透かし動作を含み、異なるルックアップテーブルネットワークの前記電子透かし動作は、前記異なる複数の電子透かしパターンのうち異なるものに対応することを特徴とする方法。
【請求項２０】
請求項18または19に記載の方法をプロセッサに実施させるコンピュータ実行可能命令を含むコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツの暗号処理に関する。本発明は、コンテンツの配布にも関する。
【背景技術】
【０００２】
過去数年間は、CDやDVDなどの伝統的なコンテンツ配布チャネルから、電子コンテンツ配布(ECD)へと明らかに移行した。電子配布により、コンテンツプロバイダにとっては新たな事業の可能性がもたらされたが、無許可の大量再配布という危険性により、デジタル配布チャネルの採用の普及が大きく抑制された。デジタル著作権管理(DRM)システムでは、クライアント装置にコンテンツを安全に配布し、適正な使用を強いるための暗号技法を用いることによって、著作権侵害の危険性を最小限にしようとしている。ただし、暗号化は、無許可配布の問題の一部を解決するに過ぎない。最終的に、コンテンツは、(アナログの)平文形でユーザに復号され、提示されなければならないが、平文形からは、コピーを簡単に行い、再配布することができる。従来のDRM/暗号化方法の代わりに、またはそれとともに使うことができる不正コピー追跡用電子透かしにより、デジタル領域を越えて使用権を行使することができる。不正コピー追跡システムでは、配布されるコンテンツの各コピーには、そのコピーをある特定のユーザまたは具体的な装置に関連づける、一意のトランザクションタグで電子透かしが入れられる。無許可のコピーが見つかると、(トランザクションタグを搬送する)埋め込まれた電子透かしにより、コピー元を一意に識別し、コンテンツを再配布したユーザを突き止めることが可能である。不正コピー追跡自体が無許可の再配布を防止するわけではないが、捕まる危険性が、強力な抑止力として働く。
【０００３】
従来の不正コピー追跡システムでは、コンテンツが配布ネットワーク上にリリースされる前に、信頼できる配布サーバによって、追跡用電子透かしがコンテンツに直接埋め込まれる。ただし、このモデルは、予定されているコンテンツ配布モデルにおける追跡用電子透かしの適用性を厳しく制限する。
【０００４】
安全な電子透かしの埋込みにより、電子透かし鍵、電子透かし、または原物の安全性を損なうことなく、信頼できないユーザ装置の所で、1つ1つのコンテンツに電子透かしを安全に埋め込むことができるようになる。安全な埋込みは、従来の電子透かし方式を、主としてメディアコンテンツの高速暗号化を容易にするために開発された部分的暗号化技法とともに用いることによって遂行することができる。
【０００５】
これ以降では「Lemmaら」として参照する非特許文献１において、この概念に基づく2つの安全な埋込み機構が開発されている。1つは、ベースバンドオーディオに対して作用するMASK電子透かし方式向けであり、1つは、MPEG-2エンコードされた映像ストリームに対して作用するスペクトル拡散電子透かし方式向けである。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】「Secure Watermark Embedding Through Partial Encryption」、A. N. Lemma、S. Katzenbeisser、M. U. Celik、M. V. Veen、Proceedings of International Workshop on Digital Watermarking (IWDW 2006)、Springer LNCS、4283、433〜445頁、2006年
【非特許文献２】S. Chow、P. Eisen、H. Johnson、P.C. van Oorschot、「White-Box Cryptography and an AES Implementation」、Proc. of the 9th Annual Workshop on Selected Areas in Cryptography、2002年
【発明の概要】
【発明が解決しようとする課題】
【０００７】
コンテンツの暗号処理のための改良型システムを実現することが有利であろう。
【課題を解決するための手段】
【０００８】
この問題によりうまく対処するために、本発明の第1の態様では、
システムであって、
・コンテンツを受け取る入力と、
・複合型暗号および電子透かし動作のホワイトボックス実装を表す複数のルックアップテーブルと
を備え、
ルックアップテーブルは、複合型暗号および電子透かし動作の処理ステップを表し、ルックアップテーブルは、所定のルックアップ方式に従って適用されるように構成され、ルックアップ方式は、複数のルックアップテーブルの第1のルックアップテーブルの出力が複数のルックアップテーブルの第2のルックアップテーブルの入力を生成するのに使われることを規定し、複合型暗号および電子透かし動作は、暗号動作および電子透かし動作を含み、
前記システムは、
・受け取ったコンテンツに依存して、かつルックアップ方式に従って、複数のルックアップテーブル中の値をルックアップし、それによりコンテンツに複合型暗号および電子透かし動作を適用して、処理されたコンテンツを取得する制御モジュールを備えるシステムが提示される。
【０００９】
電子透かし動作および暗号動作は、複合型暗号および電子透かし動作で実施されるので、電子透かし動作および暗号動作のどちらの結果も、システムでは中間結果として利用可能にならない。このことは、暗号動作は受けたが電子透かし動作は受けていないコンテンツの違法配布を防止するのに役立つ。また、複合型暗号および電子透かし動作ならびに中間結果の難読化は、電子透かしについての情報の漏洩を防止するのに役立つ。
【００１０】
複合型暗号および電子透かし動作は、コンテンツに電子透かしを追加し、かつ/もしくはコンテンツから電子透かしを削除すること、および/またはコンテンツを暗号化し、かつ/もしくはコンテンツを復号することを含み得る。たとえば、暗号化されたコンテンツは、復号することができ、そのコンテンツに電子透かしを追加させることができる。別の例では、ピアツーピアネットワークにおける著作権のあるコンテンツの適法配布に有用なのだが、電子透かしを入れられ暗号化されていないコンテンツは、そのコンテンツから電子透かしを削除させ、暗号化することができる。別の例では、暗号化されたコンテンツは、復号することができ、電子透かしをそのコンテンツに追加させ(またはコンテンツから削除させ)、複合型暗号および電子透かし動作の一部として再度暗号化することができる。ルックアップテーブルを用いるホワイトボックス実装が、非特許文献２により知られている。
【００１１】
ある実施形態では、複数のルックアップテーブルは、
・暗号動作のホワイトボックス実装を表す第1の複数のルックアップテーブルを生成することによって、
・第1の複数のルックアップテーブルに電子透かし動作を組み込むように、第1の複数のルックアップテーブルのうち少なくとも1つのルックアップテーブルを変更し、かつ/または第1の複数のルックアップテーブルに少なくとも1つのルックアップテーブルを追加し、それにより、複合型暗号および電子透かし動作のホワイトボックス実装を表す複数のルックアップテーブルを生成することによって、生成される。
【００１２】
これは、暗号動作の実装から開始し、暗号動作に電子透かし動作を追加することによる、容易なルックアップテーブル生成法である。ある実施形態では、暗号動作は、復号動作を含む。別の実施形態では、電子透かし動作は、コンテンツに電子透かしを追加するための動作を含む。このシステムは、復号動作中に電子透かしを追加するのに特に適している。
【００１３】
ある実施形態では、電子透かし動作は、複数のルックアップテーブルのうち少なくとも1つの末尾テーブルに組み込まれる。末尾テーブルは、暗号動作に関与する最終テーブルの1つである。本実施形態では、ルックアップテーブルにおいて暗号動作および電子透かし動作のステップを合成する。電子透かし動作は、複数のルックアップテーブルのうち末尾テーブルの少なくとも1つの中の値を正しく調整することによって、複数のルックアップテーブル中に最も簡単に組み込むことができる。
【００１４】
ある実施形態は、
・複数のルックアップテーブルにあるルックアップテーブルのうち少なくとも1つのテーブルの複数のバージョンを備え、
・制御モジュールは、所定の索引値に依存して、複数のバージョンのうち少なくとも1つのバージョンを選択するセレクタを備え、制御モジュールは、選択されたバージョン中の少なくとも1つの値のルックアップ用に構成され、電子透かし動作は、バージョンのコンテンツに依存する。
【００１５】
索引値および複数のルックアップテーブルにより、より複雑な電子透かしパターン、たとえば、時間に応じて変化する電子透かしパターンが可能になる。索引値は、システム内の擬似乱数生成器(または他の任意の索引値生成器)を用いて制御してもよく、受け取ったコンテンツ中にカプセル化された情報に依存して決定してもよく、かつ/または外部ソースから受け取ってもよい。たとえば、コンテンツは、単なるファイルサーバから受け取ってもよく、索引値は、デジタル著作権管理サーバアプリケーションから取得される。
【００１６】
ある実施形態は、索引値を受け取る入力を備える。別の実施形態は、受け取ったコンテンツに依存して索引値を判定する索引生成器を備える。
【００１７】
ある実施形態では、電子透かしの少なくとも第1の部分を適用する第1のルックアップテーブルと、電子透かしの少なくとも第2の部分を適用する第2のルックアップテーブルとが、結合テーブルに結合され、結合テーブルが、第1のルックアップテーブルおよび第2のルックアップテーブルの両方のエントリを含む。一部の種類の電子透かしは、ルックアップテーブルにより情報を漏洩する可能性があり、たとえば、クリッピングを用いる加法電子透かしにより、1つまたは複数の値を失い、他のいくつかの値を複製させる可能性がある。複数のテーブル、たとえば、正の値を追加するテーブルおよび負の値を追加するテーブルを、結合テーブルに結合することによって、この情報漏洩ソースが取り除かれる。
【００１８】
ある実施形態では、第1のルックアップテーブルは、第1の電子透かし動作を含み、第2のルックアップテーブは、第2の電子透かし動作を含み、第2の電子透かし動作は、第1の電子透かし動作の逆動作を実質的に含む。このようにして、ルックアップテーブルを介した、電子透かし動作に関する情報の漏洩が回避される。
【００１９】
ある実施形態では、システムはパーソナルコンピュータを含む。このシステムは、ソフトウェアアプリケーションにおいて、たとえば、パーソナルコンピュータ(PC)、または携帯電話もしくは携帯情報端末(PDA)などのオープンソフトウェアプラットフォーム上では特に貴重である。なぜならば、このシステムは、悪意のあるユーザが、実行環境を完全に制御し調べる機会のあるケースでも比較的安全だからである。
【００２０】
ある実施形態は、
・異なる複数の電子透かしパターンを提供する電子透かし生成器と、
・複数のルックアップテーブルネットワークを提供するルックアップテーブル生成器と
を備え、
複数のルックアップテーブルネットワークのうちのあるルックアップテーブルネットワークは、複合型暗号および電子透かし動作のホワイトボックス実装を表し、ルックアップテーブルネットワークのうちのルックアップテーブルは、複合型暗号および電子透かし動作の処理ステップを表し、ルックアップテーブルは、所定のルックアップ方式に従って適用されるように構成され、ルックアップ方式は、複数のルックアップテーブルのうち第1のルックアップテーブルの出力は、複数のルックアップテーブルの第2のルックアップテーブルの入力を生成するのに使われることを規定し、複合型暗号および電子透かし動作は、異なる複数の電子透かしパターンの少なくとも1つに対応する暗号動作および電子透かし動作を含み、異なるルックアップテーブルネットワークの電子透かし動作は、異なる複数の電子透かしパターンのうち異なるものに対応する。
【００２１】
このシステムは、クライアントにホワイトボックス実装を配布するためのサーバとして使うことができる。その結果、異なるクライアントは異なる電子透かしを入手し、コンテンツには、異なるクライアントによって処理されるので異なるように電子透かしが入れられ、これにより違法に配布されたどのコンテンツ項目のソースの不正コピー追跡も可能になる。たとえば、このシステムは、インターネットなどのネットワーク接続を介してデジタルライセンスを提供するデジタル著作権管理サーバシステムで実装される。
【００２２】
ある実施形態は、複数のルックアップテーブルネットワークを複数のユーザクライアントに分散する第1の出力を備える。たとえば、単一サーバシステム上で実装される同一システムによる、ルックアップテーブルおよび制御モジュールの配布は、ユーザにとって、一か所から両方とも取得することができるので、効率的であり好都合である。
【００２３】
ある実施形態では、第1の出力は、受け取ったコンテンツに依存して、かつルックアップ方式に従って、ルックアップテーブルネットワーク内の値をルックアップする制御モジュールをユーザクライアントに分配するように構成され、制御モジュールは、それにより、受け取ったコンテンツに複合型暗号および電子透かし動作を適用して、処理されたコンテンツを取得する。こうすることにより、このシステムは、ルックアップテーブルネットワーク内で値がルックアップされる方法を制御することが可能になる。
【００２４】
ある実施形態では、同じコンテンツは、複数のユーザクライアントのうち複数に配布され、同じコンテンツは、分散型ルックアップテーブルネットワークに依存して、複数のユーザクライアントのうち複数によって、異なるように電子透かしを入れられる。コンテンツの単一バージョンのみを配布するのは、たとえば、ブロードキャストアプリケーションにおいて、多数の受信者への効率的なコンテンツ配布法である。電子透かし動作により、各クライアントは、確実にコンテンツに異なるように電子透かしを入れられるようになる。
【００２５】
ある実施形態は、複数のルックアップテーブルを含み、複数のルックアップテーブルは、複合型暗号および電子透かし動作のホワイトボックス実装を表し、ルックアップテーブルは、複合型暗号および電子透かし動作の処理ステップを表し、ルックアップテーブルは、所定のルックアップ方式に従って適用されるように構成され、ルックアップ方式は、複数のルックアップテーブルの第1のルックアップテーブルの出力が複数のルックアップテーブルの第2のルックアップテーブルの入力を生成するのに使われることを規定し、複合型暗号および電子透かし動作は、暗号動作および電子透かし動作を含む。
【００２６】
ある実施形態は、コンテンツの暗号処理方法を含み、
前記方法は、
・コンテンツを受け取る段階と、
・複合型暗号および電子透かし動作のホワイトボックス実装を表す段階と
を備え、
ルックアップテーブルは、複合型暗号および電子透かし動作の処理ステップを表し、ルックアップテーブルは、所定のルックアップ方式に従って適用されるように構成され、ルックアップ方式は、複数のルックアップテーブルの第1のルックアップテーブルの出力が複数のルックアップテーブルの第2のルックアップテーブルの入力を生成するのに使われることを規定し、複合型暗号および電子透かし動作は、暗号動作および電子透かし動作を含み、
前記方法は、
・受け取ったコンテンツに依存して、かつルックアップ方式に従って、複数のルックアップテーブル中の値をルックアップし、それによりコンテンツに複合型暗号および電子透かし動作を適用して、処理されたコンテンツを取得する段階を備える。
【００２７】
ある実施形態は、コンテンツを配布する方法を含み、
前記方法は、
・異なる複数の電子透かしパターンを提供する段階と、
・複数のルックアップテーブルネットワークを提供する段階と
を備え、
複数のルックアップテーブルネットワークのうちのあるルックアップテーブルネットワークは、複合型暗号および電子透かし動作のホワイトボックス実装を表し、ルックアップテーブルネットワークのうちのルックアップテーブルは、複合型暗号および電子透かし動作の処理ステップを表し、ルックアップテーブルは、所定のルックアップ方式に従って適用されるように構成され、ルックアップ方式は、複数のルックアップテーブルのうち第1のルックアップテーブルの出力が複数のルックアップテーブルの第2のルックアップテーブルの入力を生成するのに使われることを規定し、複合型暗号および電子透かし動作は、異なる複数の電子透かしパターンの少なくとも1つに対応する暗号動作および電子透かし動作を含み、異なるルックアップテーブルネットワークの電子透かし動作は、異なる複数の電子透かしパターンのうち異なるものに対応する。
【００２８】
ある実施形態は、上述の方法のいずれかをプロセッサに実施させるコンピュータ実行可能命令を含むコンピュータプログラム製品を含む。
【００２９】
本発明のこうしたおよび他の態様について、図面を参照してさらに明らかにし、説明する。
【図面の簡単な説明】
【００３０】
【図１】2つのルックアップテーブルネットワークを示す図である。
【図２】ルックアップテーブルネットワークを示す図である。
【図３】ホワイトボックス実装を示す図である。
【図４】ある実施形態を示す図である。
【図５】ある実施形態を示す図である。
【図６】ルックアップテーブルの結合を示す図である。
【図７】ある実施形態を示す図である。
【発明を実施するための形態】
【００３１】
図面において、同じ対象物には、同じ参照番号を付している。
【００３２】
従来のホワイトボックス暗号技法では、一連のテーブルルックアップを用いて、固定復号鍵をもつ暗号を実装している。テーブル選択の自由により、同一の復号鍵に対して多様な独特のホワイトボックス実装を導出することが可能である。したがって、ホワイトボックス実装は、再配布攻撃に対する、個々の復号ソフトウェアコピーの追跡を可能にする。こうしたシステムの、DRMシステム内で適用される際の欠陥のいくつかは、以下の通りである。(i)テーブルを観察することができないように、攻撃者がホワイトボックス実装をさらに難読化する可能性がある。その結果、攻撃者は、突止め不可能だが完全に機能する復号ソフトウェアを取得することができる。(ii)復号ソフトウェアの各コピーが、同じ出力を与える。攻撃者が、復号ソフトウェアではなく復号されたコンテンツを公表した場合、攻撃者を突き止めることができない。
【００３３】
本明細書では、電子透かしおよびホワイトボックス対称暗号実装を合成する技法を開示する。こうした技法により、特にDRMシステムの範囲における、現在のホワイトボックス実装に関連した問題の一部を克服することができる。さらに、提案する技法は、保護されない環境において不正コピー追跡用電子透かしがクライアント側で埋め込まれる場合に起こる、安全性の問題の一部を解決することができる。
【００３４】
ホワイトボックス暗号技術は、「ホワイトボックス攻撃モデル」において鍵を抽出することができないような、ソフトウェアにおける暗号化方式の実装に関するものである。このモデルは、攻撃者がソフトウェアへのフルアクセスおよび実行環境に対する完全な制御をもつ、考えられ得る最強の攻撃モデルである。ホワイトボックス実装では、鍵はルックアップテーブル中に隠匿される。言い換えると、ルックアップテーブルは、暗号鍵の役割を引き継ぎ、そうすることにより攻撃者が元の暗号鍵を抽出することを不可能にする。ホワイトボックス対称暗号実装の例が、S. Chow、P. Eisen、H. Johnson、P.C. van Oorschot、「White-Box Cryptography and an AES Implementation」、Proc. of the 9th Annual Workshop on Selected Areas in Cryptography、2002年に記載されている。
【００３５】
図1は、ホワイトボックス実装原理のいくつかの態様を示す。復号におけるすべての動作が、一連のテーブルルックアップ106(図1の上段)として実装される。矢印は、ルックアップテーブル106の間の情報の流れを示す。受信コンテンツが、第1のルックアップテーブルの入力102を定義し、最終ルックアップテーブルの出力104が、復号されたコンテンツを定義する。図1の下半分に示すように、変換Bを定義する各テーブル110は、ランダム全単射、たとえばa-1およびbで前後変換されて、変換
【数１】
2010539535.tif 000003
を実施するテーブル110を得ることができる。各後変換(たとえば、b)が次の前変換(たとえば、b-1)によって取り消される限り、どの所与の変換セットA、Bなどの影響も、変換a、bなどの任意選択により得ることができ、中間結果はすべて、変換a、bなどに従って異なるようにエンコードされる。
【００３６】
ブロック暗号は、所定のサイズのブロックに対して作用する。ブロックは通常、1つずつ復号される。たとえば、AESは、128ビットのブロックに対して作用する。AESの例では、128ビットの完全なブロックに対して作用するルックアップテーブルを用意することは通常、現実的でない。というのは、ルックアップテーブルのサイズが大きくなり過ぎるからである(AESの例では、このようなテーブルは、2128個のエントリをもつことになる)。ホワイトボックス実装では、こうしたブロックを、ニブル(4ビット)、バイト(8ビット)またはワード(16ビット)のサブブロックに分割する。各サブブロックに対する演算(たとえば、XOR)が、テーブルルックアップとして実装される。ニブルテーブルには16エントリ、バイトテーブルには256エントリ、ワードテーブル中には65536エントリがある。テーブルの出力は、次のルックアップテーブル用の入力になる部分に分割することができる(たとえば、16ビットの出力は、4つのニブルに分割され、各ニブルは、異なるルックアップテーブルに入力として与えられる)。さらに、テーブルへの入力は、他の複数のテーブルの出力であるビットからなり得る。したがって、図1の下半分における図解は、簡略化したルックアップテーブル構成を示しているに過ぎない。現実の実装では、ルックアップテーブルはしばしば、複雑なネットワークトポロジをもつルックアップテーブルネットワークを形成する。
【００３７】
不正コピー追跡用DRMアーキテクチャでは、サービスプロバイダ(またはコンテンツ所有者)と顧客との間でやり取りされる各コンテンツには、顧客の識別で電子透かしを入れることができる。電子透かしプロセスの複雑さにより、帯域使用およびサーバの複雑さを制限するために、クライアント側で不正コピー追跡用電子透かしを埋め込むことが好ましい場合がある。ただし、こうした信頼できないクライアントでの埋込みには、印のないコンテンツも電子透かしの秘密も漏洩しない安全な埋込み方法が必要である。この問題点を解決するために、「安全な電子透かし埋込み方式」が提案されており、この方式では、暗号化および電子透かし挿入を1つのステップに合成し、そうすることによって、原物も電子透かし(秘密)も、信頼できないクライアントには暴露されない。このような安全な埋込み方式については、たとえば、上述したLemmaらによる論文で論じられている。
【００３８】
現在のホワイトボックス実装は、ソフトウェアからの対称鍵の抽出を防止するのに役立ち、個々の復号ソフトウェアコピーがそのまま公表されたとき、その追跡を助ける。たとえば、追跡は、各ユーザ用に異なるエンコード変換a、bなどを選ぶことによって実現することができる。ソフトウェアの独自バージョンのコピーを違法に配布したユーザは次いで、ルックアップテーブル中の値を検査することによって突き止めることができる。ただし、こうした方法は、以下の短所をもち得る。
【００３９】
第1に、ホワイトボックス実装は、悪意のあるユーザによってさらに難読化される可能性がある。このように変更されたバージョンは、同じ復号機能をもち得るが、変更バージョンを配布した悪意のあるユーザのソースを突き止めることができない可能性がある。悪意のあるユーザは、1つの可能性として、追加出力エンコード/入力デコードペア(α、α-1)によってルックアップテーブルを変更する場合がある。
【００４０】
第2に、DRMシステムでは、個々の各コピーが同じコンテンツを出力する。攻撃者が、復号ソフトウェアではなく復号されたコンテンツを公表した場合、攻撃者を突き止めることはできない。
【００４１】
現在の安全な電子透かし埋込み方法には、復号鍵のサイズがコンテンツサイズに比例するようになるという短所があり得る。現在の方法はしばしば、優れたセキュリティのために非常に大きい(ほぼコンテンツサイズの)復号鍵を必要とする。
【００４２】
他のほとんどの種類のデータとは異なり、視聴覚コンテンツは、認識可能ないかなる乱れももち込まずに、わずかに修正することができる。したがって、同じ復号鍵用の各ホワイトボックス実装は、わずかに修正されたコンテンツコピーを出力するように構成することができる。こうしたわずかな修正は、電子透かしまたは指紋としても知られ、復号されたコンテンツまたは復号されたコンテンツを作成したホワイトボックス実装を突き止めるのに使うことができる。
【００４３】
図2は、復号プロセスの最終ルックアップテーブルに電子透かし変換202が含まれる実施形態を示す。この変換は、データブロックのデータサブブロック、たとえば、バイトを修正して、電子透かしを埋め込む。変換202が復号プロセスの最終(末尾)テーブルと結合される、復号および電子透かし関数は、簡単に分離することができない。このシステム(図2を参照)では、個々の各ソフトウェアコピーに対して、yおよびWM向けの異なる変換が用いられる。このように、テーブル
【数２】
2010539535.tif 000004
および
【数３】
2010539535.tif 000005
は、個々の各ソフトウェアコピーにおいて異なる。y(したがって、y-1)の任意選択により、攻撃者が、電子透かしテーブルを削除し、またはやり取りすることが防止される。WM動作は好ましくは、復号された値をわずかに変更するだけであり、たとえば、最下位ビットを反転させることによって、たとえば、値を±1だけ変更する。テーブル
【数４】
2010539535.tif 000006
は、復号プロセスのステップ(たとえば、最終ステップ)を実施する変換Zを含み得る。このように、復号および電子透かし動作は、互いと密接に結びつけられている。
【００４４】
ホワイトボックス実装が再配布され発見されると、この実装において使われている電子透かしテーブルWMは、実装を照会することによって検出することができる。具体的には、異なる暗号文c(Σ)が実装によって処理され、出力Ωが分析される。ΣとΩとの間の差が、電子透かしテーブルWMを復元し、したがってコピーのソースを識別するのに使われる。これ以降、このシナリオは、「選ばれたコンテンツによる検出」と呼ばれる。
【００４５】
128ビットのブロック暗号に基づくホワイトボックス実装の例において、全末尾テーブル中の各エントリは、電子透かしを形成するために1ビットだけ改変することができると仮定すると、ホワイトボックス実装の最終段階では、それぞれバイトまたはワードをもつルックアップテーブルが使われるかに依存して、各電子透かしにおいて異なるように選択することができる16テーブル×256エントリ=4096または8テーブル×65536エントリ=500000ビットがあることになり得る。いずれのケースでも、数百万人のユーザを一意に識別するための十分な空間がある。
【００４６】
この技法により、攻撃者が実装をさらに難読化する場合でも、ホワイトボックス実装の違法配布コピーを突き止めることが可能になる。電子透かしを判定するためにルックアップテーブルを直接検査するのではなく、復号ソフトウェアの入出力挙動が分析される。この挙動は、一意の各電子透かし変換セットWMにとって一意である。したがって、(たとえば、符号化a、b、cなどを変化させることによって)それ以上どのように難読化しても、識別には影響しない。
【００４７】
図3は、コンテンツが突き止められるシナリオを示す。電子透かしを入れられたコンテンツΩおよび任意選択で元の暗号文c(Σ)を仮定すると、タスクは、Ωに存在する特定の電子透かしを生じるホワイトボックス実装302を見つけることである。Σ≠Ωであり、異なるホワイトボックス実装に対してはΩが異なるという特性を利用することができる。たとえば、復号されたコンテンツΩが公表され、好ましくは対応する元のΣが分かっているケースでは、電子透かしを入れられたコンテンツを突き止めることが可能である。この場合、Σを任意に選択することはできないので、検出は、より困難になり得るが、既に公表されたコンテンツΩに依存する。それにも関わらず、十分な変化のある十分な資料が観察された場合、電子透かしテーブルWM(少なくともその一部)を復元することが可能である。これ以降、このシナリオは、「既知のコンテンツによる検出」と呼ばれる。
【００４８】
上述したシナリオでは、ソフトウェアの入出力挙動および復号されたコンテンツ両方が、悪意のあるユーザによって改変されないと仮定した。より緩やかな仮定では、攻撃者は、我々の手法と同様にして、たとえば、最下位ビットを改変することによって、末尾テーブルまたはコンテンツの値を修正することができる。これにより突止めはより難しくなり、一部のシナリオでは、突止めを確実に実施することができない。
【００４９】
以下の段落では、攻撃者がホワイトボックス実装に対して機能変更を行ったケースを取り上げる。このような変更は、ホワイトボックス実装のグローバル入出力挙動に影響を与え、したがって電子透かしを隠匿し得る。
【００５０】
攻撃者によるランダム変更に対する堅牢性を可能にするための一般的方法は、多数の位置にペイロード情報を拡散することであり、スペクトル拡散方法としても知られる。典型的なスペクトル拡散電子透かしでは、一意の各コピーには、{-1,+1}エントリを有する比較的長い(たとえば、1000〜10000エントリ)シーケンスが割り当てられる。-1および+1ではなく他の値を使うこともできる。このシーケンスは、このシーケンス中の連続エントリをコンテンツの連続サンプルに追加することによってコンテンツに埋め込まれる。たとえば、第1のピクセルは1だけ増加され、第2のピクセルは1だけ減少される、などのようになる。本質的に、埋め込まれた電子透かし記号は、位置依存である。このシーケンスをコンテンツと相関させることによって、検出が実施される。シーケンスが十分に長い場合は、明らかな高相関値がある。コンテンツも、埋め込まれたシーケンスを知らない攻撃者によってもたらされる任意のランダム変更も相関されないので、相関値に与える影響は限られたものとなる。要するに、この方法により、堅牢な電子透かしを埋め込むことができるようになり、この透かしは、ノイズが存在しても検出することができる。
【００５１】
典型的なAESホワイトボックス実装は、それぞれ、8または16通りのバイトまたはワードのサブブロックを有する。各サブブロックは、関連電子透かし変換を有する。各ルックアップテーブルは、{-1,+1}の電子透かし記号を追加するように改変することができる。たとえば、0は1にマップし、1は2にマップし、…254は255にマップし、255は255にマップする。クリッピングの結果、セキュリティがどのようになり得るかについて、これ以降で論じる。残念ながら、8〜16通りのテーブルは、上述したような長い電子透かしシーケンスを収容するのに十分ではない場合がある。
【００５２】
図4は、2つの実施形態を(それぞれ、図の上半分および下半分に)示し、図において、ホワイトボックス実装における1つまたは複数の末尾テーブルが複製され、(複製物を異なるものにするために)異なる電子透かし変換が各複製物に適用される。こうした異なる末尾/電子透かしテーブルのどれを使うかを動的に選択するために、索引値が使われる。図4に、索引を含む2つの選択肢を示してある。図4の上半分に示す第1の選択肢では、データフィールド402および索引フィールド404を含む平文ブロックを図示してある。平文ブロック402、404は、暗号化装置406によって暗号化される。結果として得られる暗号文は、ホワイトボックス復号ユニット408に与えられ、ユニット408は、電子透かし入りの平文410を生成する。平文ブロック402、404中のいくつかのビット404は、索引値(群)用に取り置かれる。こうしたビット404は、ホワイトボックス実装において、データ402をある特定の末尾/電子透かしテーブルに向けるのに使われる。この選択肢の利点は、攻撃者が索引情報にアクセスできないことである。一方、余剰ビット404は、データブロック402とともに伝送される必要がある。伝送および格納オーバーヘッドが存在する。図4の下半分に示す第2の選択肢では、データブロック452および索引値(群)454を、暗号化装置456への別個の入力として図示してある。索引値(群)454は任意選択である。結果として得られる暗号文は、ホワイトボックス復号ユニット460に与えられ、かつ別個の入力中の一連の索引値k 458もホワイトボックス復号ユニットに与えられる。電子透かし入りの平文462は、暗号文および索引値kに依存する。索引は、暗号化およびホワイトボックス復号ソフトウェアへの追加入力454、458である。この索引は、二重末尾/電子透かしテーブルのどれを使うかを、ソフトウェアに明示的に伝える。攻撃者が索引を改変した場合、復号は失敗する可能性がある。正しい索引の使用は、暗号化もこの索引に依存させることによって、ある程度保証される。伝送オーバーヘッドは取り除かれる。ただし、攻撃者は、どこに電子透かし記号が挿入されるかを見出すかもしれない。N個のサンプルの後に繰り返す電子透かしに対するN個の複製物がある場合、索引は、法がNの単なるカウンタであることに留意
されたい。このようなケースでは、シーケンスの冒頭のみが、一度だけ合図される必要がある。
【００５３】
異なる復号ソフトウェアコピーに対して、電子透かしシーケンス(したがって、異なる末尾テーブルに割り当てられる記号)が異なることに留意されたい。各シーケンスは一意であり、ある特定のソフトウェアコピーを識別する。したがって、全コピーにおいて同じ索引値シーケンスが使われる場合でも、コンテンツには、異なるように電子透かしが入れられる。
【００５４】
位置依存電子透かしは、検出可能である。索引情報の助けにより埋め込まれたスペクトル拡散電子透かしは、かなり堅牢であり得る。攻撃者が、独自の変更を追加するように末尾テーブルを改変した場合でも、こうした変更は、攻撃者に知られていない電子透かしシーケンスとは相関されない。さらに、コンテンツの復号用に使われる復号ソフトウェアは、元のコンテンツが知られていない場合でも、ノイズを追加し、または損失ありで圧縮する(たとえば、MPEG/JPEG圧縮)ことによって、復号コンテンツがさらに改変される場合でも、復号コンテンツから識別することができる。検出は様々なやり方で、たとえば、相関検出装置を使って実施することができる。
【００５５】
+1テーブルと-1テーブルは、より優れたセキュリティのために結合してよい。上記では、末尾テーブルに電子透かしルックアップ変換を付加することによって、{-1,+1}の電子透かし記号を埋め込むことができると仮定した。全単射変換(たとえば、モジュラー加算)は、このようにして安全に実装することができるが、クリッピングによる通常加算(たとえば、254および255両方が255にマップする)は、ヒストグラム分析攻撃に対して脆弱である。具体的には、攻撃者は、末尾テーブルにおけるエントリの分散に注目し得る。0エントリがなく、2つの255エントリがあることに気づくと、対応する電子透かし記号は+1であると結論づけることができる。このことは、図6のテーブル702、706に示してある。同様の分析が-1に関しても成り立ち、この場合、2つの0エントリが存在し、255エントリは存在しない。このことは、テーブル704、708に示してある。これを克服するために、2つの末尾テーブル、すなわち+1の電子透かし記号をもつものと、-1の電子透かし記号をもつものとが、1つの長いテーブル710に結合されて、結合テーブルの分散が均一になる。第1のテーブルには2つの255エントリがあり、第2のテーブルには2つの0エントリがあるので、この場合、このような結合テーブルにおいて、全エントリが2度現れる。図6で、2つのテーブル706、708は単に連結されて、結合テーブル710を形成する。ただし、この説明があったとして、たとえば、テーブル706、708のエントリを、結合テーブル710に混ぜ合わせることを含む、2つのテーブルのより洗練された結合法も、当業者の知識の範囲内である。
【００５６】
部分的暗号化および復号を適用することが可能である。DRMアプリケーションではしばしば、視聴覚コンテンツの重要部分のみ、たとえば、低周波DCT係数を暗号化し/電子透かしを入れれば十分である。この概念は、上述したLemmaらによる論文において、安全な電子透かし埋込みという状況において探求された。復号プロセスを高速化するためにコンテンツの重要部分に対してのみホワイトボックス復号関数を使うことによって、ホワイトボックス復号実装におけるクライアント側電子透かしという状況において、同様の手法をとることができる。信号を重要部分と非重要部分に分けることにより、非重要部分に対して圧縮を使用することも可能になる。このようなケースでは、ホワイトボックス実装によって処理される部分はベースバンド中にあってよく、残りは、標準暗号で圧縮し、暗号化/復号することができる。
【００５７】
ある実施形態は、(i)両方ともテーブルルックアップに基づき、(ii)テーブルが最終段階でのみ異なるという、2つのプロダクトインスタンス化を含む。
【００５８】
図5は、ある実施形態を示す。この図において、実線ボックスはシステム構成要素を示し、破線ボックスは、システム内に格納されたデータを示す。この図は、コンテンツの暗号処理のためのシステム500およびコンテンツを配布するシステム550を示す。システム500は、クライアントシステム、たとえば、パーソナルコンピュータ、セットトップボックス、テレビまたはメディアプレーヤ(たとえば、DVDプレーヤやmp3プレーヤ)で実装することができる。システム550は、サーバシステム、たとえば、インターネットサーバ、音楽ストアなどのオンラインコンテンツストア、デジタル著作権管理サーバ、デジタルビデオブロードキャスト(DVB)システムとして実装することができる。
【００５９】
システム550は、コンテンツ564を配布することが可能である。コンテンツ564は、出力562を介して配布され、出力562は、CDまたはDVDマスタリングアプリケーション、または破線矢印566で示すインターネット接続もしくはDVB(たとえば、DVB-T、DVB-S、DVB-H)ブロードキャスト接続を備え得る。システム550は、異なる複数の電子透かしパターン554を提供する電子透かし生成器552を備える。電子透かしパターンは、コンテンツに行われるべき変更パターンを含み得る。通常、音声/画像コンテンツは、たとえば、上で説明したように、元のコンテンツ中に値が現れたときに非常に小さい値を加え、または差し引くことによって、わずかに変更される。
【００６０】
システム550は、複数のルックアップテーブルネットワーク558を提供するルックアップテーブル生成器556も備える。ルックアップテーブルネットワークはそれぞれ、ネットワーク内のクライアント500の1つに分散することができる。クライアントシステム500に分散される分散型ルックアップテーブルネットワーク504は、コンテンツデータの処理に使われるために、システム500に格納される。ルックアップテーブル生成器によって生成されるルックアップテーブルネットワークは、複合型暗号および電子透かし動作のホワイトボックス実装460を表し、複数のルックアップテーブルのうち第1のルックアップテーブルの入力は、複数のルックアップテーブルのうち第2のルックアップテーブルの出力に依存し、第2のルックアップテーブルは、エンコード用に構成され、そうすることによって出力を難読化し、第1のルックアップテーブルは、出力のデコード用に構成され、複数のルックアップテーブルネットワークのうち異なるネットワークで表される電子透かし動作は、複数の電子透かしパターンのうち異なるパターンに対応する。ある実施形態では、復号動作ステップと電子透かし動作ステップが、ルックアップテーブルの少なくとも1つにおいて合成される。たとえば、復号動作の最終ステップは、ルックアップテーブルの1つにおける電子透かし動作ステップと合成することができる。
【００６１】
システム550は、複数のルックアップテーブルネットワークを、複数のユーザクライアント500に分散する第1の出力560を備える。第1の出力560は、コンテンツに複合型暗号および電子透かし動作を適用して処理されたコンテンツを取得するために、受け取ったコンテンツに依存して、かつ所定のルックアップ方式に従って、複数のルックアップテーブル中の値をルックアップする制御モジュール512をユーザクライアント500に分配するのに使うこともできる。所定のルックアップ方式の簡略化例を、ルックアップテーブルネットワーク504内で破線矢印を用いて示してある。破線矢印は、ルックアップテーブルの出力の少なくとも一部が、ネットワーク内の他のルックアップテーブルの少なくとも1つへの入力の少なくとも一部を形成することを示す。たとえば、第1のルックアップテーブルの出力ビットの第1のサブセットは、第2のルックアップテーブルへの入力の少なくとも一部でよく、第1のルックアップテーブルの出力ビットの第2のサブセットは、第3のルックアップテーブルへの入力の少なくとも一部でよい。第2および第3のルックアップテーブルは、他のいくつかのルックアップテーブル(群)からいくつかの入力ビットを受け取ることもできる。このルックアップ方式は、制御モジュール512によって適用される。
【００６２】
コンテンツ564、たとえば、ライブのテレビ番組やオンライン映画データベースに格納された映画は、出力562を介してクライアントシステム500に配布される。同じコンテンツが、複数のユーザクライアントのうち複数に配布され、分散型ルックアップテーブルネットワークに依存して、同じコンテンツに、複数のユーザクライアントのうち複数によって異なるように電子透かしが入れられる。
【００６３】
システム500は、コンテンツの暗号処理用に使われる。システム500は、コンテンツ564を受け取る入力502を備える。複合型暗号および電子透かし動作のホワイトボックス実装460を表す複数のルックアップテーブル504が、システム500に格納される。複数のルックアップテーブルのうち第1のルックアップテーブル508の入力は、複数のルックアップテーブルのうち第2のルックアップテーブル510の出力に依存し、第2のルックアップテーブルは、エンコード用に構成され、そうすることによって出力を難読化し、第1のルックアップテーブルは、出力のデコード用に構成される。複数のルックアップテーブルを、ルックアップテーブルネットワークに編成することができる。システム500は、受け取ったコンテンツに依存して、かつ所定のルックアップ方式に従って、コンテンツに複合型暗号および電子透かし動作を適用して、処理されたコンテンツ516を取得するために、複数のルックアップテーブル中の値をルックアップする制御モジュール512を備える。図示した実施形態では、複合型暗号および電子透かし動作は、復号動作、およびコンテンツに電子透かしを追加するための動作を含む。代替的に、またはさらに、複合型暗号および電子透かし動作は、暗号化動作および/またはコンテンツから電子透かしを削除するための動作を含み得る。暗号化動作または復号動作の少なくとも一方および電子透かし追加動作または電子透かし削除動作の少なくとも一方が、複合型暗号および電子透かし動作に存在する。
【００６４】
好ましくは電子透かし動作は、複数のルックアップテーブルのうち少なくとも1つの末尾テーブルに組み込まれる。最終結果に与える、末尾テーブルに対する変更の影響が比較的明快に判定されるので、こうすることが最も実現しやすい。
【００６５】
複数のルックアップテーブルは、ルックアップテーブルネットワーク中のテーブルのうち少なくとも1つの、複数のバージョン518を含み得る。この場合、制御モジュールは、所定の索引値522に依存して複数のバージョンのうち少なくとも1つのバージョンを選択するセレクタ520を備え、制御モジュールは、複数のバージョン518のうち選択されたバージョン中の少なくとも1つの値のルックアップ用に構成される。索引522は、索引生成器によって生成することができる。索引522は、システム550によって生成し、システム550から受け取ることもできる。
【００６６】
複数のルックアップテーブル504、具体的には電子透かし動作を実装するルックアップテーブルのうち、電子透かしの少なくとも一部分を適用する第1のルックアップテーブル706と、電子透かしの少なくとも一部分を適用する第2のルックアップテーブル708が、結合テーブル710に結合される。結合テーブルは、少なくとも2つのテーブルのエントリを含む。少なくとも2つのテーブルの少なくとも一方706は、正の数の加算を実質的に伴う電子透かし動作を備え、少なくとも2つのテーブルの少なくとも一方708は、負の数の加算を実質的に伴う電子透かし動作を含む。あるいは、それぞれ、正または負の数の加算の代わりに、それぞれ、1より小さいまたは1より大きい数での乗算を適用することが可能である。好ましくは、2つの動作は、互いの逆動作である。
【００６７】
システム500は、パーソナルコンピュータのソフトウェアアプリケーション、携帯電話、スマートフォン、PDA、セットトップボックス、デジタルビデオレコーダもしくは再生装置、または他の任意の装置で実装される。
【００６８】
ある実施形態は、コンテンツを受け取ること、複数のルックアップテーブルを用いて複合型暗号および電子透かし動作を表すこと、ならびに受け取ったコンテンツに依存して、かつ所定のルックアップ方式に従って、電子透かしを入れられ暗号処理されたコンテンツを取得するために、複数のルックアップテーブル中の値をルックアップすることを含む、コンテンツの暗号処理の方法を含む。
【００６９】
図7は、システム500もしくはシステム550または両方の実装に適したハードウェア構成要素を示す。この図は、ネットワーク接続、たとえば、インターネットへの接続などの通信ポート895と、取外し可能記憶媒体リーダ/ライタ896(たとえば、CDもしくはDVDプレーヤ、および任意選択でレコーダ、またはフラッシュメモリ)と、コンテンツをレンダリングし、かつ/またはユーザに制御情報を提供するディスプレイ893と、コンピュータソフトウェアを格納し、その他のデータを格納するメモリ891と、ユーザから入力コマンドを受け取る入力894と、いくつかのハードウェア構成要素を制御しコンテンツを処理するプロセッサ892とを示す。メモリ891は、たとえば、RAMメモリ、ファームウェアメモリ、および/またはハードディスク記憶媒体を含み得る。メモリ891は、本明細書で説明したどの方法もシステムに実施させるコンピュータ命令を含み得る。通信ポート895は、たとえば、ルックアップテーブルエントリ、制御モジュール、暗号化されたコンテンツ、および/または索引値を伝達するのに使うことができる。このようなデータの一部の部分またはすべてを、代替的に取外し可能記憶媒体896を介して伝達することができる。復号され電子透かしを入れられたコンテンツは、ディスプレイ893を使ってレンダリングすることができる。たとえば、データ伝送、暗号化、復号、および/または再生は、入力894を介してユーザによって制御することができる。このような入力は、リモコン装置、キーボード、および/または指示装置を備え得る。
【００７０】
本発明は、コンピュータプログラム、特に、本発明の実施に適合された搬送体上または搬送体内のコンピュータプログラムにも及ぶことが理解されよう。プログラムは、ソースコード、オブジェクトコード、コード中間ソースおよび部分的にコンパイルされた形などのオブジェクトコードの形でも、本発明による方法の実装での使用に適した他のどの形でもよい。このようなプログラムは、異なる多くのアーキテクチャ設計を有し得ることも理解されよう。たとえば、本発明による方法またはシステムの機能を実装するプログラムコードは、1つまたは複数のサブルーチンに細分することができる。こうしたサブルーチンの間で機能を分散する異なる多くのやり方が、当業者には明らかであろう。サブルーチンは、内蔵型プログラムを形成するように、1つの実行可能ファイルにまとめて格納することができる。このような実行可能ファイルは、コンピュータ実行可能命令、たとえば、プロセッサ命令および/またはインタープリタ命令(たとえば、Java(登録商標)インタープリタ命令)を含み得る。あるいは、サブルーチンの1つもしくは複数またはすべてを、少なくとも1つの外部ライブラリファイルに格納し、たとえば実行時に静的または動的にメインプログラムとリンクすることができる。メインプログラムは、サブルーチンの少なくとも1つへの少なくとも1つの呼出しを含む。また、サブルーチンは、互いへの関数呼出しを含み得る。コンピュータプログラム製品に関する実施形態は、記載した方法のうち少なくとも1つの、処理ステップそれぞれに対応するコンピュータ実行可能命令を含む。こうした命令は、サブルーチンに細分し、かつ/または静的もしくは動的にリンクすることができる1つもしくは複数のファイルに格納することができる。コンピュータプログラム製品に関する別の実施形態は、記載したシステムおよび/または製品のうち少なくとも1つの、手段それぞれに対応するコンピュータ実行可能命令を含む。こうした命令は、サブルーチンに細分し、かつ/または静的もしくは動的にリンクすることができる1つもしくは複数のファイルに格納することができる。
【００７１】
コンピュータプログラムの搬送体は、プログラムを搬送することが可能な、どのエンティティでも装置でもよい。たとえば、搬送体は、ROM、たとえばCD ROMや半導体ROMなどの記憶媒体も、磁気記録媒体、たとえばフロッピー(登録商標)ディスクやハードディスクも含み得る。さらに、搬送体は、電気もしくは光ケーブルを介して、または無線もしくは他の手段によって伝えることができる、電気または光信号など、伝送可能な搬送体でよい。このような信号にプログラムが実施される場合、搬送体は、このようなケーブルまたは他の装置もしくは手段によって構成することができる。あるいは、搬送体は、プログラムが組み込まれた集積回路でよく、集積回路は、適切な方法の実行を実施するのに、または実行において使用するのに適合される。
【００７２】
上述した実施形態は、本発明を限定するのではなく例示しており、当業者は、添付の特許請求の範囲から逸脱することなく、多くの代替実施形態を設計することができることを留意されたい。請求項において、括弧内に記入したどの参照符号も、請求項を限定するものとして企図されるべきでない。「備える」という動詞およびその活用形の使用は、請求項において言及されているもの以外の要素またはステップの存在を除外するものではない。要素に先行する冠詞「a」または「an」は、複数のこのような要素の存在を除外するものではない。本発明は、いくつかの異質の要素を備えるハードウェアを用いて、かつ適切にプログラムされたコンピュータを用いて実装することができる。いくつかの手段を列挙する装置請求項において、こうした手段のいくつかは、同一のハードウェア項目によって実施することができる。相異なる従属請求項において、単にある尺度が引用されているからといって、こうした尺度の組合せが有利に使われ得るということを示しているわけではない。
【符号の説明】
【００７３】
500  コンテンツ暗号処理システム
502  入力
504  ルックアップテーブル、ルックアップテーブルネットワーク
512  制御モジュール
516  処理済みコンテンツ
518  バージョン
520  セレクタ
522  索引値
550  コンテンツ配布システム
552  電子透かし生成器
554  電子透かしパターン
556  ルックアップテーブル生成器
558  ルックアップテーブルネットワーク
560  第1の出力
562  第2の出力
564  コンテンツ
【図１】
2010539535.tif 000007
【図２】
2010539535.tif 000008
【図３】
2010539535.tif 000009
【図４】
2010539535.tif 000010
【図５】
2010539535.tif 000011
【図６】
2010539535.tif 000012
【図７】
2010539535.tif 000013
【国際調査報告】
2010539535.tif 000014
2010539535.tif 000015
2010539535.tif 000016