本発明の実施の形態について図面を参照しながら説明する。本発明を様々な形で具体化することができ、その中には、開示される実施の形態の形とは非常に異なりうるものもあることは明白であろう。結果的には、本明細書において開示される特定の構造及び機能の詳細は代表的なものであるにすぎず、本発明の範囲を限定するものではない。
図1は、文書の電子配布のシステムの最上位機能モデルを表している。上記で定義したように、これらの文書には、通信文書、書籍、雑誌、ジャーナル、新聞、他の書類、ソフトウェア、オーディオ及びビデオクリップ、及び他のマルチメディアプレゼンテーションが含まれる。
著者(または出版社)110は文書のオリジナルコンテンツ112を作成し、配布業者114に渡して配布する。著者が他人を配布業者として使用せずに文書を直接配布することも考えられるが、図1に示したように作業を分割すると効率は向上する。それは、著者/出版社110が、配布業者114が行う機械的で平凡な役割ではなく、コンテンツの作成に集中できるからである。さらに、このように作業を分担することで、配布業者114も多数の著者及び出版社(図示されている著者/出版社110も含め)と連携することで、規模の節約を実現できるからである。
次に、配布業者114は、変換されたコンテンツ116をユーザ118へ渡す。標準的な電子配布モデルでは、変換されたコンテンツ116はオリジナルコンテンツ112の暗号化版を表している。つまり、配布業者114はユーザ118の公開鍵を使用してオリジナルコンテンツ112を暗号化し、変換されたコンテンツ116は特定のユーザ118のためにだけカスタマイズされる。次に、ユーザ118は自分自身の秘密鍵を使用して変換されたコンテンツ116を復号すれば、オリジナルコンテンツ112を表示できる。
コンテンツ112に対する支払い120は、ユーザ118から配布業者114へ決済機関122を介して渡される。決済機関122は、ユーザ118から、及び特定の文書の表示を希望する他のユーザから要求を収集する。決済機関122は、支払い取引、クレジットカード取引、及び他の既知の電子支払い方式等の支払い情報も収集し、収集したユーザの支払いを配布業者114へ支払いバッチ124として送信する。もちろん、決済機関122はユーザの支払い120の分け前の一部を受け取る。また配布業者114も、支払いバッチ124の一部を受け取った上で、著者と出版社110へ支払い126(印税も含む)を送信する。この方式の1実施形態では、配布業者114は特定の1文書に関するユーザ要求をまとめてから送信する。このようにすると、変換されたコンテンツ116が含まれた1文書を、すべての要求ユーザが復号できるように生成できる。この生成方法は、本分野では既知である。
また、ユーザ118が文書を要求(または使用)するたびに、会計メッセージ128を監査サーバ130へ送る。監査サーバ130は、ユーザ118の各要求が配布業者114が送信する文書と一致することを確認する。そのために、監査サーバ130は、会計情報131を配布業者114から直接受け取る。矛盾が生じたら、その矛盾を報告書132を介して決済機関122へ送る。これにより決済機関では配布業者114へ送る支払いバッチ124を調整できる。このような会計方式が確立されているため、この電子文書配布モデルでは詐欺行為が行われる確率が低く、また、使用時間または使用度に応じて料金が変わる時間依存型の使用許可を扱うこともできる。
図1に示した上記の文書の電子商取引のモデルは、現在一般的に使用されているものである。以下で詳細に説明するように、このモデルは自己保護文書の配布用に説明するシステム及び方法にも同様に適用される。
図2には、電子文書配布に関する従来技術のシステムでユーザ118(図1)が実行するステップが示されている。上記で説明したように、通常は暗号化装置を使用して文書を暗号化する。次に、暗号化されたこれらの文書をパブリックに配布及び保管し、許可されたユーザがプライベートに復号する。この形式は、文書の配布業者から目的ユーザまでパブリックネットワークを介して文書を配送したり、安全でない媒体上に文書を記憶したりするときの保護の基本形式である。
最初に、ユーザ118が暗号化文書210を受け取り、復号ステップ212へ移る。この分野では既知のように、復号ステップ212ではユーザ118の秘密鍵を受け取る。この鍵は、ユーザのコンピュータにローカルに記憶しておくか、または必要に応じユーザが入力する。文書210を復号すると、オリジナルコンテンツ112(図1)と類似または一致する平文コンテンツ216が生成される。
平文コンテンツ216が解釈用アプリケーション218へ渡されると、このアプリケーションはプレゼンテーションデータ220(つまり、文書のオリジナルコンテンツ112の使用可能版)を作成する。通常、このようなシステムでは、プレゼンテーションデータ220は文書タイプに従って、ただちにビデオ画面に表示したり、ハードコピーとして印刷したり、または他の目的で使用したりできる。
上記で説明したように、このようなシステムでは文書に弱点がある。平文コンテンツ216は、配布業者114または著者/出版社110の承諾または同意なしに、コピー、記憶、または他のユーザへの譲渡が可能である。また、正当なユーザでも、コンテンツ所有者の所有権に配慮せず、文書を平文の形式で受け取って自由に再配布及び使用することでライセンス料の節約を図ろうとするユーザがいる。既に説明したように、本発明では、ユーザシステムでの解釈の処理時に、ユーザが文書を再配布可能な形式で入手できない方式を提供している。
したがって、本発明のシステム及び方法では、ユーザ118のシステムにおいて暗号化文書を処理する別の方式を提供している。この方式の簡単な実施例を図3に示す。
図3は、暗号化文書310が復号ステップ312(秘密鍵314を使用する)及び解釈用アプリケーション316へ渡され最終的にプレゼンテーションデータ318が作成されるという点において、図2と似ている。しかし、保護シェル320により、保護層が別個に用意されている。保護シェル320が提供されているため、平文コンテンツを取り込み可能(インターセプト可能)な状態にせずに(図2の平文コンテンツ216のように)、文書310を復号及び解釈できる。これは、以下に図5を参照して説明するように、文書310に復号要素及び解釈要素を組み込むことで実現する。組み込む復号及び解釈要素はユーザのSPDとの対話を制限するように調整され、ユーザ許可に応じて特定の操作(文書の保存またはカットアンドペースト操作の実行)等を制限する。
図4はさらに高度なバージョンである。図4の方式には中間「秘話化」(polarizing)ステップ、すなわち、簡易暗号化のステップが含まれていて、復号後で解釈前の文書の安全を確保するように改良されている。まず、暗号化された文書コンテンツ410は秘話化部412へ渡される。秘話化部412はユーザの秘密鍵414を受け取り、復号ステップ416を介して、文書コンテンツ410を復号する。同時に、秘話化部412はユーザのシステムから秘話化鍵418を受け取る。
秘話化部412は、この秘話化鍵418を使用し、文書を秘話コンテンツ420を内容とするバージョンへ変換する。これらの操作はすべて、秘話化部412が文書の復号と秘話化処理との間で文書の平文バージョンを記憶していない限り、保護機構を使用せずにオープンで行うことができる。
本発明の1実施形態では、秘話化鍵418はユーザシステムの内部状態から取り出したデータ要素を組み合わせたものを表している。これらのデータ要素には、日付と時刻、最後のキーストロークからの経過時間、プロセッサの速度とシリアル番号、及びユーザシステムから継続的に取り出すことができる他の情報等が含まれる。秘話化鍵418には、秘話化コンテンツ420を取り込んだり獲得したりしてもそのコンテンツが役立たなくなるような時間関連情報を組み込んでおくと便利である。このようにしておけば、システム時間は大幅に変わるため、秘話化文書の解釈は不可能になる。
次に、再び保護シェル422内で、秘話化されたコンテンツ420は解釈用アプリケーション424へ渡される。上記で説明したように、標準的な解釈用アプリケーションとしては、Microsoft社のWord(商標)またはAdobe社のAcrobat Reader(商標)等のサードパーティ・アプリケーションがある。しかし、このような外部の解釈用アプリケーションは、秘話化されたコンテンツ420を処理できない場合も考えられる。これは、コンテンツ、フォーマットコード、及び解釈処理側で使用する指示符号が秘話化処理時にスクランブルされるからである。
したがって、解釈用アプリケーション424には互換性(又は少なくともフォルト・トレラント性)が要求され、若しくは、ほぼ完全にアプリケーションが処理可能な秘話化コンテンツ420を受け取らなければならない。後者の可能性については、図9と関連して以下に説明する。
解釈用アプリケーションの出力は秘話化プレゼンテーションデータ426(秘話化解釈コンテンツ)で、これは解釈用アプリケーション424によりフォーマットされているが、まだ秘話化されたままであるため、ユーザがそのまま読み取ることはできない。秘話化プレゼンテーションデータ426は秘話解除部428に渡され、その秘話解除部が秘話化鍵418を受け取って文書の元の形式をプレゼンテーションデータ430(平文解釈コンテンツ)として復元する。本発明の1実施形態では、この秘話解除機能は解釈の機能または表示機能と組み合わされている。この場合、秘話化プレゼンテーションデータ426は表示装置が直接受け取る。この表示装置はユーザシステムと別個のもので、通信チャネルを介してデータを受け取るものであっても構わない。
秘話化鍵418の作成、解釈用アプリケーション424、及び秘話解除ステップ428は、すべて保護シェル422の構成要素である。これらは変更が困難なプログラム要素である。保護シェル422の内部で実行されるすべての計算(又は変換)ステップはローカルデータだけを使用し、グローバルにアクセス可能な記憶媒体やメモリー領域へは一時データを格納しない。最終的に明示できる結果だけを保護シェル422からエクスポートする。この方法により、中間データをインターセプトしたり、利用したりする目的で、ユーザが簡便な手法をとることができなくなる。例えばオペレーティングシステムのエントリー・ポイントを修正したり、システム資源を窃取したりすることができなくなる。
本発明の別の実施の形態では、図4のプレゼンテーションデータ430はデバイス非依存型データまたはデバイス依存型データのいずれでも構わない。デバイス非依存型の場合、解釈処理を完了するためには、通常、デバイスドライバ(ディスプレイドライバまたはプリンタドライバ等)による追加処理が必要になる。現時点での好ましいデバイス非依存型データの場合、プレゼンテーションデータに対する各デバイスへの適合補正は(解釈用アプリケーション424または秘話解除ステップ428のいずれかで)すでに行われていて、プレゼンテーションデータ430を目的の出力装置に直接出力できる。
図3及び図4を使用して説明した上記の復号方式は、図5で詳細に示している独自の文書のデータ構造により実現される。上記で説明したように、本発明のシステム及び方法が実行する特定の操作では、高信頼性の構成要素が必要である。特定の純正コード(修正されていないコード)を使用して本発明の信頼性を向上させる方法の1つは、このコードを文書と共に提供することである。かかる方法を具現化する本発明による自己保護文書の各種データ構成要素については、図5で説明する。
本発明による文書保護の問題解決方法は、ユーザシステム側で高信頼性ハードウェア装置またはソフトウェアモジュールを用意していないという前提で使用される。これを実現するために、文書の機能を強化し、アクティブなメタ文書オブジェクトにする。コンテンツ所有者(つまり著者または出版社)は、文書に権利情報を付加し、使用目的のタイプ、必要な許可と関連料金、及びユーザに許可を与えるソフトウェアモジュールを指定する。文書と、関連する権利と、権利の行使を実現する付加ソフトウェアモジュールを組み合わせたものが、本発明にいう自己保護文書(SPD)である。自己保護文書では許可されていなかったり、想定されていない管理外の使い道や文書の配布が防止されるため、コンテンツ所有者の権利が保護される。
自己保護文書510は、次の3種類の主要機能セグメントにより構成されている。実行可能コードセグメント512には、ユーザが暗号化文書を使用するために必要な実行可能コード部分が含まれている。権利及び許可セグメント514には、さまざまなユーザに許可する各種アクセスレベルを表すデータ構造体が含まれている。コンテンツセグメント516には、ユーザが表示する暗号化コンテンツ116(図1)が含まれている。
本発明の好適な実施形態では、SPD510のコンテンツセグメント516は、文書メタ情報518(文書のタイトル、フォーマット、及び改訂日等の情報)、権利ラベル情報520(テキストと共に表示する著作権の表示と権利及び許可情報)、及び保護コンテンツ522(暗号化された文書自身)の3種類のサブセクションで構成される。
本発明の1実施形態では、権利及び許可セグメント514には、各許可ユーザごとの権利情報が含まれる。料金及び条件の一覧を、各ユーザの権利に加えても構わない。例えば、John Doeというユーザに特定の文書を表示する権利と、2回だけ印刷する権利とを10ドルで与えることができる。この場合、権利及び許可セグメント514ではJohn Doeを識別し、彼に2種類の権利を関連付け(表示権及び印刷権)、価格(10ドル)及び印刷の制限(2回)等の料金と条件を指定する。権利及び許可セグメント514には、他のユーザの情報を組み込んでも構わない。
別の実施形態では、権利及び許可セグメント514には権利情報を指定する外部情報へのリンクだけを組み込む。この場合、実際の権利及び許可はネットワークで接続された許可サーバ等の別の場所に記憶されていて、文書を使用するたびに照会を行う必要がある。この方法では、権利及び許可をコンテンツ所有者が動的に更新できるという利点がある。例えば、表示のための価格を引き上げたり、許可されていない態様での使用を検出したらユーザの権利を無効にしたりできる。
いずれの場合にも、権利及び許可セグメント514は暗号で署名し(本技術分野では既知の方法により実現できる)、指定された権利及び許可を不正に変更できないようにするのが好ましい。また、ユーザが自分自身及び他人の権利及び許可を直接表示できないように暗号化することも好ましい。
実行可能コードセグメント512(「SPD制御」とも呼ばれる)にも幾つかのサブセクションが含まれていて、各サブセクションは、少なくとも一部が実行可能コードセグメントに含まれるソフトウェアモジュールで構成されている。本発明の1実施形態では、このSPD制御にJava(登録商標)プログラミング言語を使用している。しかし、本発明を実現するには、プラットフォームに依存しない言語であるかプラットフォームに固有の言語(インタプリタ型またはコンパイラ)であるかに関わらず、任意の言語を使用できる。
権利行使部524は、ユーザのIDを確認し、ユーザが要求するアクションと権利及び許可セグメント514に列挙されているアクションとを比較し、指定された権利に基づいて要求されたアクションを許可または拒否するために用意されている。権利行使部524の処理は、図7を参照して以下に詳細に説明する。
秘話化エンジン526も、実行可能コードセグメント512に、保護された状態で含まれている。このエンジンは、既に説明したように、システムの状態(または他の秘話化鍵)に従ってデータを読み取り、秘話化する。本発明の好適な実施形態では、秘話化エンジン526は文書の記憶前または復号前にその文書を処理するため、ユーザシステムに文書が平文で記憶されることはない。秘話化エンジン526は保護されていて(つまり、暗号署名及び暗号化されていて)、変更、リバースエンジニアリング、及び逆アセンブルできないようになっている。
対応する秘話解除エンジン528も実行可能コードセグメント512に含まれていて、秘話化コンテンツから平文のプレゼンテーションデータを生成できるようにしている(図4を参照されたい)。秘話解除エンジンにはセキュアウィンドウオブジェクトの組が含まれていて、ユーザシステムの解釈用API(Application Program Interface)に対する変更防止インターフェースになっている。セキュアウィンドウオブジェクトはインターセプトが困難である。このため、オペレーティングシステム用のデータをインターセプト、又は受信して平文形式の文書を再構築する機会を少なくできる。
実行可能コードセグメント512に含まれている、対応する秘話解除エンジン528は、秘話化されたコンテンツから平文のプレゼンテーションデータを生成できる(図4を参照されたい)。また、この秘話解除エンジン528は、論理出力装置または物理出力装置(例えば、ユーザの表示装置)に対する変更防止インターフェースである。秘話解除エンジン528に入力されるのは、秘話化プレゼンテーションデータである。したがって、そのデータがインターセプトされても、ユーザのシステム状態等に依存する秘話解除の処理を実行しないと平文コンテンツは得られない。
セキュア表示部530は、実行可能コードセグメント512にオプションで組み込まれる。セキュア表示部530は、権利及び許可セグメント514に基づき、許可されているアクセスレベルだけを許可するために使用される。例えば、ユーザが文書を表示する権利しか買っていない(保存(セーブ)や印刷の権利は買っていない)場合には、表示部は、ユーザに対し保存や印刷は許可せず、また、現在の大部分のオペレーティングシステムで実行可能なカットアンドペーストの実行も許可しない。
また、解釈用エンジン532が実行コードセグメント512に含まれているか、または、実行コードセグメント512により参照される。解釈用エンジン532は、保護する必要はない。したがって、解釈用エンジン532のコードはSPDアプレット内に組み込まれていてもよいし、他の場所から(セキュアリンクを介して)取得することとしても構わない。どちらの場合も、解釈用エンジン532は、秘話化文書コンテンツの入力を受けて、当該コンテンツデータから秘話化プレゼンテーションデータを作成するように設定されている(図4を参照されたい)。
自己保護文書510の上記の態様及び要素を、システムの動作と共に、以下に詳細に説明する。
図6は、自己保護文書510が作成され、配布されるときに実行されるステップを示したものである。汎用(generic)SPD610には、ユーザ固有の権利情報は組み込まれておらず、特定のユーザ用に暗号化もされていない。汎用SPD610は、3つの項目、すなわち、平文(暗号化されていない)形式のオリジナル文書コンテンツ612、高レベル権利指定614、及びオプションの電子透かし616から作成される。
コンテンツ612は、著者または出版社の希望に合わせて、文書のレイアウトを決定するように事前処理(プリプロセス)される(ステップ618)。例えば、希望するページサイズ、フォント、及びページレイアウトを選択できる。コンテンツ612は、ユーザシステム及びSPDと互換性がある形式になるように、コンテンツ事前処理ステップで「事前解釈」される。例えば、コンテンツ612はMicrosoft Word(「.DOC」)またはAdobe Acrobat(「.PDF」)形式から解釈用エンジン532が読み取れるように特別に設定された別の形式に変換される(図5)。本発明の1実施形態では、コンテンツ612の複数のバージョンがコンテンツ事前処理ステップで生成され、汎用SPD610に記憶される。ユーザは、これらの異なったバージョンを、要求に応じて個別に購入できる。
高レベル権利指定614では、アクセス権利の可能な組合せを記述する。この権利指定は、文書ごとに合わせて設定され、下流のユーザの様々なクラスの様々な権利グループを記述できる。例えば、1コピー当り1.00ドル、追加コピーに2.00ドルの使用料で最大100,000部の文書を配布する権利を出版社に与えることができる。同様に、1ヶ月後や1年後に「期限切れ」する文書または期限のない文書等、各バージョンの文書購入オプションをユーザに与えることができる。考えられるいくつかの制限について、詳細な例を参照して説明する。以下に例を述べる。
Digital Property Rights Language(DPRL)は、デジタル著作の権利を指定するために使用される言語である。この言語は、権利に関する各種料金及び条件を指定し、権利を行使する機能を提供している。権利指定は、DPRLのステートメントとして表現される。詳細については、Stefikに付与された米国特許第5,715,403号、「System for Controlling the Distribution and Useof Digital Works Having Attached Usage Rights Where the Usage Rights are Defined by a Usage Rights Grammar」等を参照。権利の行使及び権利に関連する条件の検証は、SPD技術を使用して行われる。
各種権利は、「work(ワーク)」指定を使用してデジタル著作物の各要素について指定できる。work指定では、各著作に適用可能な各種の権利のセットを指定できる。権利は、「right group」と呼ばれる名前付きグループに分類できる。権利グループ内の各権利は、条件セットに関連付けられる。条件には、支払う料金、使用時間、アクセスタイプ、電子透かしタイプ、処理を行う装置タイプ等様々な種別がある。DPRLでは、譲渡、表現権、派生著作権、ファイル管理権、及び構成権等の各種権利カテゴリに対応している。トランスポート権は、ある格納場所(リポジトリ)から別のリポジトリへの著作物の移動に関する。表現権は、著作物の印刷及び表示、より一般的には、変換装置を介して著作物を外部媒体へ送信することに関する(これには、平文のコピーを作成するために使用する「エクスポート」権も含まれる)。派生著作権は、新しい著作物を作成する場合に著作物の再使用をすることに関する。ファイル管理権は、バックアップコピーの作成及び復元に関する。また、構成権はリポジトリのソフトウェアのインストールに関する。
DPRLのワーク指定の例を以下に示す。
このwork指定には「Regular」と呼ばれる権利グループがある。「Regular」は、「Zuke-Zack, the Moby Dog Story」という題名の書籍の標準小売版の権利を指定している。このワーク指定は、表示再生(play)、印刷(print)、転送(transfer)、コピー(copy)、削除(delete)、バックアップ(backup)、及びリストア(restore)等の幾つかの権利の条件を表している。この例の著作物には、他のソースから組み込まれた、さらに2つの構成要素として、写真と犬の種類表(chart of breeds)とが含まれている。「bundle」指定は、グループ内のすべての権利に適用される共通の条件セットをまとめている。この指定は、グループ内のすべての権利が1998年の1月1日まで有効で、料金をアカウント「Jones-PBLSH-18546789」に支払うことを表している。この取引の決済機関はVisaである。さらに以下に述べる契約が適用される。著作物の再生には1時間当り1.00ドル支払い、料金は秒単位で累算される。著作物は「DPT」により保証されるTrustedPrinter-6で印刷でき、1回の印刷当り10.00ドルの料金である。印刷されたコピーには、(上記のように設定された)電子透かし文字列と印刷時に分かっている「指紋(finger print)」としてのトークンリストとを付ける。この著作物は、10.00ドル支払うかまたはMurphy出版から配布業者証明書を入手してコピーできる。この著作物の無制限の譲渡、削除、またはバックアップが許されている(リストア・コスト5.00ドル)。
高レベル権利指定614も事前処理ステップの対象になる(ステップ620)。この場合、高レベル(人間が読み取り可能な)指定は、より効果的なデータ構造表現にコンパイルされ、本発明で使用できるような形式になる。
次に、事前処理されたコンテンツ612、事前処理された権利指定614、及び電子透かし616を組み合わせることで汎用SPD610を作成する(ステップ622)。電子透かしは、本技術分野で知られている任意の方法で付加できる。SPDにおける電子透かしは、目で確認できる形式でも、できない形式でもよい。汎用SPD610は、著者/出版社110によりオプションで暗号化し、配布業者114へ送信してもよい(図1)。
次に、配布業者114は汎用SPD610を受け取り、後でカスタマイズできるように記憶する。配布業者114がユーザ要求624を受け取ると(直接、または決済機関122あるいは他の中間機関を介して)、配布業者114は、ユーザ要求624、及び権利指定614の両方と互換性のあるユーザ許可のセットを作成する(ステップ626)。このような互換性のある許可セットがない場合は、ユーザのためのアクションはこれ以上実行されない(オプションでユーザに対し出される通知メッセージを除く)。
次にユーザ許可及びユーザの公開鍵628を使用し、ユーザが使用できる形式に設定されたカスタマイズSPD632を生成する(ステップ630)。ステップ626で入手したユーザ許可をSPD632の権利及び許可セグメント514に記憶し、ユーザの公開鍵628を使用してSPD632のコンテンツセグメント516のコンテンツを暗号化する。ここでは公開鍵暗号化機構を使用して、SPDを汎用形式からカスタマイズSPD632へ変換できる。この機構は、著者、出版社、小売店、顧客等、様々な関係者間で、各段階で権利を保護しながらSPDの機密を守って受け渡しする場合に便利である。さらに、複数のユーザ要求を1つのSPD632内に作成し、格納できることにも注意する必要がある。この技術としては、複数の公開鍵を使用して文書を暗号化し、しかも、任意のユーザ秘密鍵を使用して復号できるような技術が知られている。
その結果得られるカスタムSPD632は、コンピュータネットワーク等の利用可能な手段によりユーザ118へ送信するか、または物理媒体(磁気ディスクまたは光ディスク等)に格納して頒布される。
ユーザがSPDを受け取ったときに実行する操作を図7のフロー図に示してある。まず、SPDが受け取られ、ユーザシステムに記憶される(ステップ710)。通常は、SPDをただちに使用する必要はない。使用したいとき、通常はユーザ名とパスワードまたは鍵を用いて、最初にユーザの認証が行われる(ステップ712)。次に、システムはユーザが希望するアクションを判別する(ステップ714)。アクションが選択されると、本発明の権利行使ステップ(ステップ716)が実行され、希望するアクションに関連する条件を検査する(料金、時間、アクセスレベル、電子透かし、または他の条件等)。これは、実行可能コードであるSPDアプレット512(図5)によりローカルに行うか、または権利実施サーバにアクセスすることで実行できる。
権利行使ステップ(ステップ716)が失敗すると、更新手順(ステップ718)が実行される。ここでユーザは、追加料金を承認するなど、自分の許可を更新する機会が与えられる。条件の検査が正常に終了すると、事前監査手順(ステップ718)が実行され、SPDシステムは検査状態をトラッキングサービス(図1の監査サーバ130等)へ記録する。これで、コンテンツは既に説明したように確実に解釈され、画面に表示再生される(ステップ722)。ユーザの処理が終了すると、事後監査手順(ステップ724)が実行され、使用量がトラッキングサービスにより更新される。そして、SPDシステムは次のアクションを待つ。
SPDによる保護において特徴的なことは、解釈処理時の中間段階では、ユーザが文書を再配布等の不正利用可能な形式では入手できないようにしていることである。これは、できるだけ後段で、できれば最後のステップで文書コンテンツを復号することで実現されている。
図8に、SPD復号モデルを示す。Eは出版社が実行する暗号機能を示し、Dはユーザシステムで実行される復号を示し、Rは解釈変換処理を示す。従来システムの多くは最初の変換シーケンスである経路810、つまり、D(E(x))を実行した後、引き続いてR(D(E(x)))を行っている。既に述べたように、初期の段階で行われる復号では文書は危険な状態に置かれる。できれば、変換は逆順である経路812、つまりR'(E(x))を実行した後、引き続いてD(R'(E(x)))を実行するとよい。これにより、復号は可能な限り後段で行われる。
R'が可能かどうか、つまり、復号の前に解釈の処理を実行できるかどうかは、以下の式により判別する。
D(R'(E(x)))=R(D(E(x)))
ここで、暗号化関数と復号関数とが可換である場合、つまり、任意のxに対してE(D(x))=D(E(x))となる場合には、R'が可能かどうかは次の式で確認できる。
y=E(x)である時R'(y)=E(R(D(y)))
実際には、RSAシステム及びElGamal離散対数システム等の一般的な公開鍵暗号システムの暗号化及び復号関数はこの可換性の要求を満足する。つまり、暗号化及び復号にこれらの復号システムを使用する場合、変換R'は可能である。
パスx'=D(R'(E(x)))は、許可されない文書の使用及び配布に対する文書保護の理想的なSPDによる解決方法を示している。文書の配布及び使用のシナリオを以下に説明する。ユーザが文書を購入すると、文書はユーザの公開鍵情報を使用して暗号化し、インターネット等の安全でないネットワークチャネルを介して送信する。暗号化した文書には権利情報が追加されており、権利及び許可を実行する保護アプレット512がコンテンツ所有者によりユーザに付与されている。ユーザが文書の使用を要求すると、このアプレットは権利及び許可を確認し、オリジナル文書のプレゼンテーション形式を暗号化文書から生成する。最終的なプレゼンテーションデータ形式になる前の文書の中間形式はどの形式でもユーザの秘密情報により暗号化されているため、文書保護のSPDモデルでは、この文書の中間形式がインターセプトされても他のシステムでは使用できないことが保証されている。
この理想的なモデルは、解釈変換処理Rに対応する変換処理R'の計算が効果的に行えるかどうか、特に、R'実行時に復号関数Dを呼び出すことが必要かどうか、に依存していることは明らかである。R'を効果的に実行できる場合で問題にしなくてもよい自明なケースは、Rが暗号化関数Eと可換である場合である。この場合、y=E(x)についてR'(y)=E(R(D(y)))=R(E(D(y)))=R(y) となる。尚、この場合、R'=Rである。
図8から分かることは、2つの極端なケースx'=R(D(E(x)))、つまりx=D(E(x))に対し保護がない場合とx'=D(R'(E(x)))(理想的な保護)との間には、文書保護の問題に対するいくつかの中間的な解決方法(例えば、中間解決方法814、816、及び818)が(上記の想定の下で)存在するということである。図8に示してあるように、暗号化された文書E(x)からプレゼンテーションデータx'を得るには様々なパスがあり、それらは、部分的な解釈変換処理と部分的な復号変換処理が様々に組み合わされたデータに対応していることが分かる。この場合も、どのパスでも復号Dを遅らせることで文書の保護レベルが向上することがわかる。
上述のように、復号処理をできるだけ遅らせるという代替的方法では、文書全体や形式ではなく文書のコンテンツだけを暗号化する秘話化技術を採用している。この実現方法を図9に示す。文書コンテンツ910は最初は平文である(これは、ユーザ処理時に認識可能な単一の箇所でではなく、図4のステップ412実行時に発生する一時的な状態である)。文書は、データ部分914と形式部分916とに分割される(ステップ912)。データ部分914は秘話化鍵920を使用して秘話化され(ステップ918)、平文形式部分916とマージされる(ステップ922)。これにより、秘話化コンテンツ924が得られる。この秘話化コンテンツは、コンテンツを復号しなくても秘話化プレゼンテーションデータに解釈可能である。この秘話化形式の安全性は、秘話化鍵による本格的な暗号化よりも低い。なぜなら、文書のレイアウト、ワードの長さ、行の長さ等から大量の情報が得られ、従って概略の内容が判明してしまうからである。しかし、この方式は、偶発的な著作権侵害を抑止できる。
盲目的変換関数を用いた、再生の際の電子著作物の保護方法は、図10を参照して示される。図10において、暗号化電子著作物1010が再生用アプリケーションに提供される。電子著作物1010は、再生用アプリケーション1012が暗号化プレゼンテーションデータ1016を生成できるようにする形式保存暗号化方式で暗号化されている。次に、暗号化プレゼンテーションデータ1016を復号エンジン1018に送り、ここで平文のプレゼンテーションデータ1020に復号する。プレゼンテーションデータは今や平文であるが、元のデジタル形式に再び生成されることは恐らくない。ユーザがプレゼンテーションデータ1020を直接表示したり使用したりすることができる場合、更なる処理は不要である。しかしながら、プリンタなどの表示システムによっては更なる解釈が必要な場合がある。このような場合、プレゼンテーションデータ1020を表示システムの解釈用アプリケーション(プリンタの場合、これは分析装置(decomposer)になりうる)に提供し、このアプリケーションは画像データ1024を生成する。画像データ1024は次に表示装置1026へ提供される。
一般に、盲目的変換の問題を以下のように述べることができる。キャシー(Cathy)というクライアントがサーバーであるスティーヴ(Steve)に、彼の(パブリック又はプライベートな)データaと彼女のプライベートデータを用いて関数値F(a,x)を計算してほしいと希望しており、キャシーは、プライバシー保護の観点から、彼女のプライベートデータxと関数値F(a,x)をスティーヴに知られずにこの変換が行われることを望んでいる、と仮定する。スティーヴから見れば、これは、キャシーのために目隠しをしたままF(a,x)を計算する、ということである。これは、キャシーがサーバーのスティーヴに、キャシーの鍵kで暗号化されたデータEk(x)のみを用いて変換処理を行い、彼女の鍵kを用いて再び暗号化された関数値Ek(F(a,x))を彼女に戻してほしいと願っていることを意味する。スティーヴが暗号化データを用いて変換処理を行うことができれば、キャシーはデータx及び結果F(a,x)の平文形式での公開を避けることができる。部分的に暗号化されたデータを用いた盲目的変換の理想的なモデルを以下に示す。
この図を可換にする関数F'はスティーヴが実際に計算するもので、変換の結果F'(a,Ek(x))=Ek(F(a,x))は所望の関数値F(a,x)を明らかにする復号処理を受ける準備ができている。スティーヴは平文データxと関数値F(a,x)を「見て」いないため、「盲目的な」変換をキャシーのために行っていることになる。
関数F(a,x)の盲目的評価に関しては、盲目的変換のプロトコルを以下のように説明することができる。
(i)キャシーは暗号鍵kを用いてxを暗号化し、Ek(x)を生成する
(ii)キャシーはEk(x)をスティーヴに送る
(iii)スティーヴは平文データa及び暗号化データEk(x)における関数Fの変換バージョンF'を評価する
(iv)スティーヴは結果F'(a,Ek(x))をキャシーに戻す
(v)キャシーは復号鍵k-1を用いてF'(a,Ek(x))を復号し、F(a,x)を得る
ここで紹介される盲目的変換の理想的なモデルは、盲目的署名及びインスタンスの隠蔽を一般化したものとしてみなすことができる。盲目的変換は、部分的に暗号化されたデータを入力として許容し、より重要なことには、サーバーが計算する関数F'を目的の関数Fとは異なるものにすることができる。Fの代わりにF'を計算することにより、サーバーは、なお目隠し状態ではあるが、入力が部分的に暗号化されていることを認識し、従ってクライアントに協力することができる。盲目的変換及び安全で融通性のある計算は、サーバが計算する関数値をクライアントの秘密として保つことを共通の目標としているが、盲目的変換ではクライアントがデータ入力を供給するとサーバーが関数(を評価するプログラム)を供給し、安全で融通性のある計算ではその逆である、という点で異なっている。盲目的変換は、データのある部分(例えばa)が平文の形式であることを許容することに注意する。これにより、動的だがなお平文の形式であるいくつかのデータを、表示ウィンドウのサイズ、コンテンツ移動のための参照位置、回転操作における倍率及びスケーリング係数などの解釈処理に使用することができる。
盲目的変換は、暗号化データを計算するための関数F及びF'が可能である場合のみに有効である。加法的暗号化方式を用いた、多変量の整数係数のアフィン関数により、x座標及びy座標上のアフィンタイプの文書解釈関数の多くを盲目的変換で評価できることを示すことができる。与えられた暗号化方式Sに対し、ある関数F':X→Xが可能である場合、関数F:X→Xは「Sによる盲目的計算が可能」と言われる。これにより、F'を評価するための計算の複雑性はFを評価するための計算の複雑性の多項式となり、任意のk∈K及びx∈Xに対してF(a,x)=Dk-1(F'(a,Ek(x)))となる。暗号化方式Sが可能である場合、関数F:X→Xは「盲目的計算が可能」と言われ、SによるFの盲目的計算が可能であるようにXはメッセージスペースの部分集合である。
多変量の整数係数のアフィン関数はいずれも、任意の加法的暗号化方式に対してSによる盲目的計算が可能である。
実に、F'
y0,b1,…
,bkの定数y
0及び整数係数b
iを取り入れてy
0=E
k(x
0), b
i=a
i,i=1,…,kとすることができる。本明細書に記載の、文書の形式保存暗号化及び高信頼性解釈の理論上の基礎を条件とする場合、加法的暗号化方式を用いた多変量の整数係数アフィン関数の盲目的変換により、x及びy座標上のアフィンタイプの文書解釈関数の多くを盲目的に評価することができる。
文書は、通常は一定の形式にならったメッセージである。文書を暗号化するには、文書全体を単に暗号化する他に、文書のある部分のみを暗号化する多くの様々な方法がある。本明細書での目標は、暗号化されていない部分に関する情報の漏洩を使用できないようにすること、即ち、情報が漏洩しても平文のオリジナル文書の再構築を計算上困難なものにすることである。
暗号化方式が電子著作物の形式情報を保つ場合、任意の変換関数(再生用アプリケーション又は解釈用アプリケーション)を使用することができる。形式保存暗号化方法の一例を、便宜上トークンベースの文書を参照して説明する。形式保存暗号化の方法を、他の形式(例えばHTML/XML、Microsoft WORD、Acrobat PDFなど)の文書に容易に拡張又は適用することができる。Xerox社の DigiPaperのようなトークンベース形式では、文書の各ページ画像はトークン画像(文字及びグラフィックエレメントなど)の「辞書」及び位置情報(トークン画像がページのどこに現れるかを示す)として表される。従って、文書中に同一のトークンが複数回現れても、辞書内のそのトークンの画像を1つだけ用いて表すことが可能である。
このような形式で文書を解釈する方法は、トークンの位置を連続的に読み取り、トークンの画像を辞書から取り出し、そして指定の位置で画像を描くことによって達成される。トークンベースの文書の利点は、ファイルサイズがコンパクトであり、電子文書の配布、表示及び印刷に使用する際の解釈速度が速いことである。DigiPaper形式では、トークンはCCITT グループ4圧縮形式を用いてバイナリ画像として記憶されるか又はJPEG圧縮を用いてカラー画像として記憶され、トークンの位置情報はハフマン符号を用いて更に圧縮される。
便宜上、P枚のページからなるトークンベースの文書Dを、P枚のページの画像を表すサイズ|Lk|の位置LkのテーブルP個のシーケンス(1≦i≦P)と共に、サイズ|T|のトークンTのテーブル(辞書)として正式にモデル化する。各エントリT[j](1≦j≦|T|)は、j番目のトークンの識別子id[j]及び画像t[j]を有する組(id[j],t[j])である。i番目の画像位置テーブルLiにおける各エントリLi[k]( 1≦k≦|Li|)は、i番目のページ画像におけるk番目のトークンの発生を表す組(id[k],x[k],y[k])であり、ここでid[k]は識別子、そしてx[k]及びy[k]はページ内の前の(k-1)番目のトークン発生からのx座標及びy座標の差である。
例えば、図11に示す簡潔な文書を考える。この文書のトークン辞書及び(x、y座標を用いた)位置テーブルをそれぞれ図12及び図13に示す。
下記の概略的な擬似コードRender(D)は、文書Dのページ画像を解釈する態様を示している。このコードにおいて、x0,y0は各ページ毎のx座標及びy座標のベース参照であり、Lookup(T,id[k])は、辞書T及びトークン識別子id[k]が入力されると所与の識別子に対応する辞書T内のトークン画像に戻るサブルーチンであり、Draw(x,y,t)は位置(x,y)でトークン画像tを描くサブルーチンである。
前述の概略的な解釈方法に使用されるようなシフト変換x'=x+a, y'=y+bの他に、文書の解釈の際に生じうるいくつかの他の座標変換がある。
スケーリング
スケーリング変換はx'=ax, y'=byという形からなり、ここでa及びbはそれぞれx座標及びy座標の倍率である。スケーリングは、表示ウィンドウ又は印刷用紙をリサイズすることによって生じうる。
アフィン変換
アフィン変換は、いくつかの定数a、b、c、d、e、fに対してx=ax+by+e、 y=cx+dy+fの形をとるものである。
シフト変換、スケーリング変換及び回転変換がアフィン変換の特殊なケースであることは明らかである。後述する加法的暗号化方式を用いた座標情報の暗号化において高レベルの信頼性の解釈を達成することができるのは、これらのアフィンタイプの変換である。
特殊な類の暗号化方式、即ち加法的暗号化方式は、文書の高信頼性解釈の基礎を提供するアフィンタイプの関数の盲目的変換を実行するために用いられる。暗号化文書の解釈変換R及びR'による盲目的変換は、D(R'(E(x)))=R(D(E(x)))の関係を満たす。式中、Eは暗号化関数で、DはEのための復号関数である。E(x)が加法的暗号化方式である場合、R'=Rである。
暗号化方式Sは一般に、(i)可能なメッセージの集まりであるメッセージスペースX、(ii)可能な暗号化メッセージの集まりである暗号化テキストスペースY、(iii)可能な鍵の集合である鍵スペースK、(iv)計算上効率的な暗号化関数E:K×X→Y、及び(v)計算上効率的な復号関数D:K×Y→X、といった基本的に5つの構成要素からなる。各鍵k∈K毎に固有の鍵k-1∈Kがあり、これにより、暗号化関数Ek=E(k,):X→Y及び復号関数Dk-1=D(k-1,):Y→Xは、各メッセージx∈X毎にDk-1=(Ek(x))=xを満たす。鍵kは暗号鍵と呼ばれ、k-1はこれに対応する復号鍵と呼ばれる。
このように定義された暗号化方式をいくつかの方法で変更し、実際に用いられる広範囲の具体的な暗号化方式をカバーすることができる。1つの変形例は、暗号化及び復号に用いる鍵が互いに異なるか否かを考慮することである。全ての暗号鍵kが対応する復号鍵k-1と同一である場合、この方式は対称的(又は秘密鍵)であり、そうでない場合、この方式は非対称的である。全ての可能なkに関して、k-1がkとは異なり、kからの導出が計算上困難である場合、この方式は公開鍵暗号化方式である。
別の変形例は、決定的暗号化方式と確率的暗号化方式とを区別することである。決定的方式では、全ての暗号化関数Ek及び復号関数Dk-1は決定的な関数であるが、確率的方式では暗号化関数Ekを非決定的とすることができ、即ちこの関数をメッセージに2度適用することによって2つの異なる暗号化メッセージを生成することができる。
加法的な暗号化方式とは、メッセージスペースX及び暗号化テキストスペースYがある加法的構造を有し、暗号化関数E
k=E(k,):X→Yが加法的構造に対して準同型である暗号化方式である。
一般に、加法的(及び乗算)暗号化方式は非順応的ではない。なぜなら、暗号化メッセージが与えられると、各々の平文メッセージが関連付けられるような異なる暗号化メッセージの生成が(少なくとも計算上は)不可能である、ということが、非順応性の方式には必要とされるからである。従って、加法的暗号化方式は、攻撃者が暗号化メッセージを他の方法で削除、追加、又は変更しようとするアクティブな攻撃に対して弱点を有する。しかしながら、これらの方式を文書の暗号化に用いた場合、文書の完全性及び機密性に対するこれらのアクティブな攻撃によって生じるリスクを減少させるように、データの完全性及びメッセージの認証に対して更なる手段を講じることができる。更に、これらの攻撃は、ユーザが使用及び消費しようとする文書のコンテンツに影響を及ぼすため、エンドユーザの、アクティブな攻撃を開始しようとする動機は薄くなる。
全ての暗号化方式を加法的なものであると、容易に、そして当然のこととして定義することはできない。実際に、非加法的であるか又は少なくとも非加法的なものに変換可能であることを要件として設計された暗号化方式もある。しかしながら、形式保存暗号化及び高信頼性の文書解釈の方法に用いることのできる付加的暗号化方式の例はたくさんある。Mult、Exp及びEG(3つの決定的方式)、OU(確率的)、並びにRSAは、形式保存方法に用いることのできる付加的暗号化方式の例である(攻撃を受ける程度は様々である)。
乗算暗号(Mult)は対称的暗号化方式であり、ある整数n>0に対してX=Y=Zn={0,1,…n-1}である。鍵aを用いたメッセージxの暗号化はy=Ea(x)=ax(mod n)であり、鍵aを用いたメッセージyの復号はx=Da(y)=a-1y(mod n)であり、式中a-1はモジューロnの乗算逆数である。
指数関数暗号(Exp)は対称的暗号であり、ある素数pに対してX=Zp-1及び暗号テキストスペースY=Zpであり、Kは乗算群Z* pの全ての生成元の集合である。任意の生成元g∈Kに対して、暗号化関数は指数関数Eg(x)=gx(mod p)として定義され、復号関数は対数関数Dg(y)=loggy(mod (p-1))として定義される。
準確率的ElGamal暗号(EG)は、指数関数暗号をElGamal暗号に拡張しており、ElGamal暗号を準確率的なモードで実行する。各メッセージに対してx∈Zp(ある素数pに対してZp={1,…p-1})であり、gは乗算群Z* p内の生成元であり、ユーザ用の秘密復号鍵は乱数a∈Z* p-1であり、公開暗号鍵はα=ga(mod p)∈Zpであり、暗号化Eα(x,r)は一様に選択され
る乱数r∈Z* p-1に依存する。即ち、Eα(x,r)=(gr(mod p),xαr(mod p))=(s,t)である。暗号化メッセージ(s,t)に対し、復号関数はDα(s,t)=t(sα)-1(mod p)である。
オカモト−ウチヤマ(Okamoto-Uchiyama)暗号(OU)
オカモトとウチヤマは、T.オカモト及びS.ウチヤマの"A New Public-Key Cryptosystemas Secure as Factoring"(Eurocrypt'98, Lecture Notes in Computer Science 1403, 308-318, 1998)において、加法的な公開鍵暗号化方式を提唱した。この方式は確率的であり、おそらく消極的な攻撃者に対してn=p2qのファクタリングの処理が困難であるのと同じ位安全度が高いであろう。k>0であるk個のビットのうち2つの大きな素数p、qを選択し、n=p2qとする。gp=gp-1(mod p2)の位数がpになるように、g∈Z* nをランダムに選択する。h=gn(mod n)とする。OU方式のメッセージスペースXは(オカモト及びウチヤマが主張するような集合{1,…2k-1}ではなく)集合Z* pであり、暗号テキストスペースYはZnである。ユーザに対しては、公開鍵は組(n,g,h,k)であり、対応する秘密鍵は素数の対(p,q)である。メッセージx∈Xを暗号化するには、乱数r∈Znを一様に選択する。すると、暗号化メッセージはy=E(n,g,h,k)(x,r)=gxhr(mod n)となる。暗号化メッセージyを復号するには、「対数」関数L:Γ→Γ、L(x)=(x-1)p-1(mod p2)を用いる。式中、ΓはZ* p2のp-Sylow半群であり、即ち、Γ={x∈Z* p2|x≡1(mod p)}である。関数Lを用いた場合、復号関数はx=Dp,q(y)=L(yp-1(mod p2))L(gp)-1(mod p2)である。
新しい加法的暗号化方式を、暗号化方式の合成構築によって既存のものから構築することができる。また、非加法的暗号化方式から加法的暗号化方式を構築する際にも合成構築を用いることができる。例えば、指数関数暗号Exp及び任意の乗算暗号化方式S(RSAなど)の合成によって加法的暗号化方式が生じる。
前述のように、文書の高信頼性解釈の基礎として機能する、部分的に暗号化されたデータを用いる盲目的変換は、加法的暗号化方式によって可能になる。特に、加法的暗号化方式を使用して、平文係数及び暗号化変数を用いたアフィン関数の盲目的変換を行うことができる。
トークンベースの文書の例に戻ると、トークンベースの文書Dはトークン画像の辞書T及び位置テーブルLi(各ページ画像につき1つ)のシーケンスから構成されるため、辞書T及び位置テーブルLiのコンテンツを暗号化し、暗号化されたトークン画像の辞書T'、及び暗号化された位置のテーブルL'iを生成することを意図する。辞書Tは、対(id[j],t[j])(j=1,…|T|)の集まりからなることを想起する。Tに関連づけされているのは、有効なトークン識別子idが与えられるとT内の対応トークン画像tを返す、解釈処理のサブルーチンLookupである。辞書Tを暗号化する際、トークン識別子の暗号化、トークン画像の暗号化、又は両方といった3つの基本的な選択肢がある。識別子又はトークン画像を暗号化することにより、識別子とそのトークン画像との間のつながりをアンリンクする手助けをする。更に、トークン画像を暗号化することによって所有権のあるトークン画像が保護される。いずれにせよ、解釈処理Pのみでの辞書への有効なアクセスを許容する一方、辞書の平文コンテンツ全体のコピーを得ることを計算上難しくすることが望ましい。このことは可能である。なぜなら、多くの場合、有効な識別子(例えばハフマン符号語)は、全てが特定長のバイナリストリングからなる非常に小さな部分集合にすぎず、結果的に、識別子の全数探索はどれも効率的ではないからである。
より形式的には、辞書T及びこれにアクセスするLookupサブルーチンが与えられた場合、辞書の暗号化の要件は、暗号化された辞書T'及び対応するサブルーチンLookup'が下記の制約を満たすことである。
(1)任意の暗号化識別子Ek(id)に対し、Lookup'(T', Ek(id))= Ek(Lookup(T,id))
(2)T'及びLookup'を与えられてもTの再構築が計算上不可能である
暗号化方式Sに対し、T'及びLookup'を以下のように構築することができる。IDを構文的に可能な全ての識別子の集合とし、特に、ID
*⊆ID(式中、ID
*={id|(id,t)∈T})とする。hを、ドメインがIDである一方向ハッシュ関数とする。次に、T内の各対(id,t)毎に、対(h(id),E
k(t))をT'に挿入することにより、暗号化トークン辞書T'をTから取り出す。変換されたサブルーチンLookup'は下記のアルゴリズムを用いる。
Lookup'の戻り値は暗号化トークン画像であることに注意する。この画像の復号は、後述
する高信頼性解釈の一部である解釈処理の最終サブルーチンDraw'まで延ばされる。
この辞書の暗号化は、記憶スペースオーバーヘッド及び実行時オーバーヘッド双方の点で、トークン辞書の暗号化版を用いた計算を、計算上実行することができる。Lookup'サブルーチンで用いたハッシュアルゴリズム及び暗号化アルゴリズムが安全性の十分に高いものである場合、T'及びLookup'を与えられてもTの回復は計算上非常に困難である。
位置テーブルLiへの各エントリは、識別子、並びにx座標及びy座標における位置の差からなるため、これら3つの要素のどの組み合わせでも暗号化することができる。位置情報を暗号化するには、アフィンタイプのあらゆる解釈変換を位置座標に適用できるように、加法的暗号化方式が推奨される。識別子に関しては、文書圧縮と文書保護との間のトレードオフ(妥協点)を決めなくてはならない。トークンベースの文書では、トークン識別子は通常、圧縮を目的とするある符号化方式の符号語である。例えば、ハフマン符号を文書の圧縮に用いる場合、識別子は、文書内の発生回数に基づいた、トークンのバイナリのハフマン符号語である。この場合、これらの識別子を暗号化するために単に決定的暗号化方式を用いても、識別子は有効に保護されない。これは、この方式が各トークンの発生回数を変えないため、誰でも暗号化識別子の発生回数を再カウントでき、識別子であるハフマン符号語を再構築できてしまうからである。従って、文書内のトークンの発生回数を隠すためには、確率的暗号化方式を用いて識別子を暗号化するのが好ましい。しかしながら、この暗号化により、識別子(符号語)に保持される最適な符号化が妨げられ、文書の圧縮比が小さくなってしまう。良好な文書圧縮の達成はトークンベースの文書の設計目標の1つであるため、これはトークンベースの文書には望ましくない場合がある。
Liを暗号化するための穏当な妥協案を提案する。暗号化及び復号の効率が大きな問題でない場合は、加法的暗号化方式S、好ましくは、オカモト-ウチヤマ暗号OUのように確率的で非対称のものを選択する。Liへの各エントリ(id,x,y)毎に、(id,Ek(x),Ek(y))をL'iに挿入する。識別子の暗号化も必要である場合は、(Ek(id),Ek(x),Ek(y))のようなエントリを位置テーブルL'iに挿入することができる。しかしながら、この場合、暗号化辞書T'へのエントリを(Ek(id),Ek(t))に変える必要があり、前述のサブルーチンLookup'も、この変更を反映するように修正する必要がある。
前述のトークンベースの文書の形式保存暗号化を用いて、解釈処理の際に文書のコンテンツも保護することができる。Draw'(x,y,t)への暗号化を遅らせることを意図とする。解釈処理は、下記に示されるようなものである。
この処理の際、サブルーチンDraw'(x,y,t)を呼び出す前は、座標及びトークン画像の情報は全て暗号化されたままである。この暗号化方式は加法的であるため、これは座標情報に対して可能である。結果的に、解釈処理のコンテンツ保護レベル及び解釈処理の性能は、用いる方式の秘密保持強度及び計算の複雑性に依存する。
本発明の他の実施形態では、電子コンテンツ又はプレゼンテーションデータを秘話解除せずに電子著作物を高信頼性で解釈又は再生することができるように、電子著作物を秘話化する。この実施形態では、電子著作物は、電子コンテンツ及びリソース情報(システムコンテクストとも呼ばれる)を含むタイプのものである。リソース情報は、電子著作物をプレゼンテーションデータに変換するために再生用又は解釈用アプリケーションが用いる形式情報又は他の情報を含む。
秘話化は、元のコンテンツを読み取り不能又は使用不能にする変換処理の一種である。電子著作物wに対しては、シードsを用いる秘話化方式Tが秘話化電子著作物w'をw'=T(w,s)に従って生成する。同一の変換Tを用い、秘話化リソース情報S'をS'=T(S,s)に従って生成することもできる。この例では、秘話化方式のリバース・エンジニアリングをより難しくするためにシードsを用いる。
例えば(For example)、簡潔な秘話化方式を用いて文書タイプの電子著作物を秘話化することができる。文書において、電子コンテンツは一連の文字を特定の順序で又は特定の位置に含んでいる。この文書を表示装置上で表示する場合、各文字を特定の位置に表示して、ユーザがモニタなどの表示装置で眺めることができるようにしなくてはならない。各文字をモニタに表示するには座標系が必要であり、これによって文書の各文字をモニタに表示することができる。電子コンテンツは座標情報を含み、この情報はモニタの座標系によって参照される。例えば、この段落では、"F"の文字が最上行に現れており、行頭より5字分だけ下げられている。
上の段落のテキストを無秩序(jumbling)にするための簡潔な秘話化方式は、文字の位置を座標系に対して移動させることである。段落内の各文字は(x,y)の位置を有する。上の段落の各文字の位置(x,y)を、ユーザシステムからのシード(a,b)を用いて秘話化すると想定する。下記の秘話化関数を用いて、上の段落を秘話化することができる。
縦軸についてY=by
横軸についてX=x/a
この例において、再生用アプリケーションが電子コンテンツをプレゼンテーションデータに変換するには、即ち段落をスクランブルしていない状態でモニタに表示するには、ユーザの装置の座標系を秘話化しなくてはならない。秘話化座標系を生成するには、ユーザの装置の座標系を、同一のシード(a,b)を用いて秘話化しなくてはならない。下記の変換関数を用いて、所与の点のx及びy双方の位置を計算する。
縦軸についてY=logb(Y)(logbは底bを有する対数)
横軸についてX=aX
再生用アプリケーションが秘話化された電子著作物における文字の位置を得る際、この位置は(X,Y)=(x/a,by)によって与えられる。そして、この値を装置の座標系に適用し、(X,Y)=(logb(Y),aX)=(x,y)とする。"F"の正確な位置はこのようにしてユーザのモニタに表示される。双方の秘話化の場合において、リソース情報及び電子著作物の秘話化形式は固有の連関を保っている。リソース情報及び電子著作物の、これらの相補的な秘話化形式により、電子著作物を保護する有効なメカニズムの基礎が生じる。再生用アプリケーションは秘話化された電子著作物を表示することはできるが、再生用アプリケーションは、秘話化されたシステムのコンテクストを用いてのみ、平文のプレゼンテーションデータを提供することができる。
一般に、秘話化は暗号化ほど保護が厳密ではないが、保護する電子著作物の重要性により、異なるレベルの秘話化を用いることができる。重要性の高い著作物は高レベルの秘話化を必要とし、重要性の値がより低い著作物はより弱いタイプの秘話化を必要としうる。ユーザの環境が高信頼性のものである場合、低レベルの秘話化を用いることができる。低レベルの秘話化の使用に際する有利な点は、秘話化電子著作物の作成や秘話化電子著作物の解釈又は再生に必要とするシステムリソースの数が少なくてよいことにある。また、秘話化シードのタイプ及び品質を秘話化方式と組み合わせて用い、秘話化のレベル及び強度を決定することもできる。例えば、より複雑な秘話化シード(高信頼性ソースからの許可情報を含むもの、又は動的シードなど)は、より高レベルの秘話化及び強度をもたらすであろう。
秘話化は一般に、配布場所又は製造場所において生じる。電子著作物は通常、ユーザ又はカスタマに配布される前に、製造者又は配布業者が選択した秘話化方式を用いて秘話化される。秘話化されるリソース情報も、配送前に予め選択することができる。各秘話化方式毎にシードを用いることが好ましい。また、ユーザシステムのコンテクストによって提供される情報を用いてシードを生成することが好ましい。
ユーザが電子著作物を購入する際に、ユーザは、その電子著作物の再生のために指定するユーザシステムからの情報を提供することが好ましい。この情報を用いて、秘話化電子著作物及び秘話化リソース情報(秘話化システムコンテクストと呼ばれることもある)双方の秘話化シードを生成することができる。それから、秘話化電子著作物及び秘話化システムコンテクスト又は秘話化リソース情報をユーザに提供する。また、本発明のこの実施形態の作用では不要であるが、一般に、秘話化電子著作物及び秘話化システムコンテクストを、ユーザへの配布前に暗号化することができる。使用する復号方式によっては、秘話化電子著作物及び秘話化システムコンテクスト双方の復号を、秘話化電子著作物のプレゼンテーションデータへの再生前に行わなくてはならない場合がある。
秘話化電子著作物の生成方法は3つのステップに分けられる。これらのステップは、秘話化シードの生成、電子著作物の秘話化、及びリソース情報の秘話化である。秘話化シードが生成されると、秘話化エンジンに秘話化シードが与えられる。秘話化エンジンは、電子著作物又はリソース情報を入力として用い、秘話化シードが与えられた変換関数に基づいて、電子著作物又はリソース情報の秘話化形式を生成する。秘話化電子著作物の再生の際は、秘話化リソース情報を用いてプレゼンテーションデータ及び/又は画像データを生成する。同一の又は異なる秘話化変換関数を、電子著作物及びリソース情報に対して使用することができる。
秘話化電子著作物の生成方法は、図14に関連して示される。電子著作物1410は、電子コンテンツと、ユーザが使用可能又は表示可能な形式に電子コンテンツをフォーマットし、解釈するのに用いられるリソース情報のセットとを含む。電子著作物1410はコンテンツ秘話化1420の処理を受け、この処理において電子コンテンツを秘話化してリソース情報を保存し、秘話化電子著作物1422を生成する。コンテンツ秘話化1420を、図9に関連して示すように生じることができる。電子著作物は一般に、コンテンツ、命令、及びフォーマットを含む。電子著作物全体を秘話化することができるが、コンテンツのみを秘話化し、命令及びフォーマットを秘話化しないことが好ましい。しかしながら、いくつかの場合では、電子著作物に含まれるリソース情報の一部をいくつかの再生用アプリケーションのために秘話化することもできる。これは、前述の形式保存暗号化方式に関しても同様である。
リソース抽出1412は、電子著作物1410に関連するリソース情報のセットから少なくとも1つのリソース情報を抽出する。抽出は、リソース情報をシステムリソースファイル1414にコピーすることによりなされる。それから、リソース秘話化1416においてシステムリソース1414を秘話化し、秘話化システムリソース1424にする。コンテンツ秘話化及びリソース秘話化のための秘話化方式を同一にする必要はない。各秘話化方式は、シード生成装置1426によって生成される秘話化シード1418を用いることが好ましい。例示的なシード生成方法をいくつか後述する。特に、好適な実施形態では、秘話化シードはユーザシステムからの固有の情報に基づいている。
秘話化シードの生成技術をいくつか使用することができる。例えば、乱数生成装置から数を生成するシード生成装置を用いることができる。無状態秘話化と呼ばれるこの方法は、秘密鍵情報及びユーザシステム情報のいずれにも依存しない。無状態秘話化の方法は、秘話化用のシステムに対して特定の値を生じる。電子セキュリティシステム固有の弱点が、秘密情報の誤った取り扱い、数学的な複雑性、及びアルゴリズムの複雑性にみられる場合がある。秘密情報を取り除くことにより、攻撃の的が1つ減る。無状態秘話化により、乱数生成装置は秘話化シードを生成する。この場合、秘話化処理が完了すると、シードは跡を残さずに廃棄される。従って、システムの安全性は秘密情報の漏洩に集中した攻撃を免れ、ユーザはプライバシーの侵害とされうる重要な情報を漏らす必要がなくなる。
使用することのできる他のシード生成装置は、状態ベースの生成装置である。状態ベースのシード生成装置は、まずシステムの状態の情報をユーザの再生システム又は解釈装置から取得することによってシードを構築する。システムの状態の情報は、ハードウェア識別子、システム設定、及び他のシステム関連情報を含む。無状態秘話化の評価は高いが、他の安全性の要件により、特定のユーザシステム又は装置への不可分なリンクを使用しなくてはならない場合がある。システム/装置に特有の情報から秘話化シードを生成することにより、秘話化エンジンは、特定のシステム/装置に対応する形式に秘話化された電子著作物を生成する。
秘話化シード生成装置を許可処理に関連させることもできる。許可ベースの秘話化では、シードの生成を許可処理の結果に関連させることができる。(高信頼性ソースである)別個の許可リポジトリは、電子著作物へのアクセス権をユーザに配送することに関連する他の安全性機能の一部としての許可情報を提供する。許可情報の高信頼性ソースを、米国特許第5,629,980号に記載のようなオンライン許可リポジトリとすることができる。そして、この許可情報を使用して秘話化シードを生成する。
無状態秘話化シードを用いる場合、電子著作物及びそのリソース情報を秘話化し、一緒に記憶して、ユーザが特定の電子著作物に関連する使用権利を購入した際にユーザに送ることができる。これらの他の秘話化シード生成方法のうちの1つを使用する場合、一般に、ユーザがシステム情報又は許可情報を提供するまで秘話化の実行を待たなくてはならず、その後に電子著作物及びリソース情報を秘話化することができる。
電子著作物を特定の物理システム又は装置で再生可能にすることを確実にするという点でより高度なレベルの保護を提供する実施形態は、動的状態ベースの秘話化シードを用いる。この実施形態では、電子著作物及びリソースの情報と共に秘話化エンジン及び秘話化シード生成装置を再生用アプリケーション又は解釈装置に提供しなくてはならない。この実施形態では、再生及び解釈前に、特定のシステム又は装置の動的状態に基づいて生成されたシードを用いて電子著作物及びリソースの情報を秘話化する。動的状態は、例えばシステムクロック、CPUの利用、ハードドライブの配置、カーソルの座標などから生じうる。動的状態のスナップショットを用いて著作物を秘話化することにより、著作物は特定のシステム構成(即ち、状態)に調子を合わせてロックされる。電子著作物の秘話化、そして最終的にその盲目的再生(後述)は、動的進展状態に基づいている。動的状態の進展は、秘話化処理の再現を可能にする固有の秘密情報を生じないため、動的状態ベースの秘話化により、秘話化された電子著作物及びシステムコンテクストの漏洩が難しくなる。秘話化処理は高信頼性システム内で行われるため、このことは、この処理の構築を解くことが不可能であることを意味している。
前の例で説明したように、秘話化の実際の処理を、秘話化シードによってアルゴリズムベースの変換でパラメータ化することができる。秘話化の際、電子著作物のデータ及びリソース識別子を前述のように変換する。しかしながら、電子著作物の構造は変わらず、PDF、DOC、WAV、又は他の形式などの元の形式は、形式保存暗号化の際と同様に維持される。同様に、リソース情報の秘話化によってリソース情報の秘話化形式が生じ、これによってリソース識別子、エレメント識別子及びリソース特性は変換されるが、システムコンテクストの構造は変わらないままになる。ユーザの特定の装置又はシステム情報に基づいて、電子著作物及びリソースの情報を同一シードによって秘話化することによって不可分の関係が確立され、いずれの他の装置又はユーザシステムを用いても著作物をその平文の形式に再生することができなくなる。たとえ未許可で配布されても、保護は有効のままである。
盲目的再生の際、秘話化リソース情報の固有の特性により、再生用アプリケーションは秘話化電子著作物を適切に再生し、秘話化されていない、即ち平文のプレゼンテーションデータを生成することができる。電子著作物及びリソース情報を相補的に変換したため、リソース識別子及びデータなどの電子著作物の秘話化エレメントは、システムコンテクストのリソース内の相補エレメントを、内容を知らないまま参照する。照合変換により、コンテクスト内の適切なエレメントは再生用アプリケーションによって識別され、これによって生じるプレゼンテーションデータが平文で現れる。従って、著作物は再生後できる限り後段まで保護される。
前述したように、電子著作物のウェブを介する従来の配布は比較的簡単である。著作物は、エディタを用いて作成され、ウェブサイトに掲載され、ユーザ読者によってアクセスされ、表示装置又は表示システムで再生される。コンテンツ所有者が自分の電子著作物の保護を望まない場合(又はコンテンツ所有者が著作物を受け取るユーザ全員を信頼する場合)、電子著作物は「平文で」、即ち符号化、暗号化又は他の保護を全くせず、どのユーザでも直接使用することができる態様で提供される。
電子著作物がユーザシステムにダウンロードされる場合、電子著作物は一般にメモリに記憶される。電子著作物が、フロッピー(登録商標)ディスク、CD-ROM又はDVD-ROMなどの記憶媒体を介して提供される場合、電子著作物は通常記憶媒体から直接アクセスされる。
図15を参照すると、電子著作物を再生するために、電子著作物1510を再生用アプリケーション1512に提供する。形式情報又はリソース情報を必要とする文書又は他のタイプの著作物の場合、電子著作物は、電子コンテンツと、再生用アプリケーションが電子コンテンツを処理するのに必要な特定のシステムコンテクスト又はシステムリソースを示すリソース情報と、を含む。例えば、電子著作物1510を、テキストがArialフォントを用いて表示されるテキスト文書とすることができる。再生用アプリケーション1512が、Arialフォントを用いていることを示す電子著作物1510のリソース情報にアクセスする際、再生用アプリケーション1512は適切なシステムリソース1516(この場合はArialフォントテーブル)にアクセスし、システムリソース情報を用いて電子コンテンツをプレゼンテーションデータ1514に変換する。
いくつかの再生用アプリケーションでは、電子コンテンツのプレゼンテーションデータへの変換は、ユーザが使用するのに十分である。他の再生用アプリケーションでは、プレゼンテーションデータは中間形式にすぎず、更なる変換が必要である。例えば、プリンタである表示システム1524の場合、プレゼンテーションデータ1514を解釈用アプリケーション1518によって更に解釈しなくてはならない。解釈用アプリケーション1518を、プリンタ内の分析装置とすることができる。解釈用アプリケーション1518は、他のシステムリソース1516を用いてプレゼンテーションデータ1514を画像データ1520に変換する。画像データ1520の形式は、表示装置1522で直接表示する(プリンタの場合、プリント文書として出力する)ことの可能なものである。
再生の際に電子著作物を保護する前述のシステム及び方法に加え、秘話化コンテンツを生成し電子著作物のリソース情報を保存する第1の秘話化方式に従って電子著作物を秘話化することにより、電子著作物を再生の際に保護することができる。電子著作物のリソース情報の一部をコピーし、第2の秘話化方式に従って秘話化する。図16を参照すると、再生用アプリケーション1612は秘話化リソース情報1614(及び必要とされうるあらゆる他のシステムリソース情報1616)を用いて秘話化電子著作物1610を平文のプレゼンテーションデータ1618に変換する。プレゼンテーションデータは必然的に平文の形式であり、これは、このプレゼンテーションデータが他のプログラム(スクリーン・キャプチャ・ユーティリティ・プログラムなど)によって入手可能であることを意味する。しかしながら、このような他のプログラムの出力はオリジナルの電子著作物と同一の形式ではなく、同一の忠実度ではないことがよくある。
秘話化リソース情報は、秘話化電子コンテンツを平文の画像(プレゼンテーションデータ)にする秘話化フィルタのように作用するものと考えることができる。あらゆる市販のアプリケーションでありうる再生用アプリケーションが、平文の電子コンテンツを知らない、又は知る必要がないという点で、このシステムは盲目的再生システムである。盲目的再生は任意の変換関数Rに対して作用し、R(w',s')=R(w,s)となる。式中、w'は秘話化電子コンテンツ、wは平文の電子コンテンツ、s'は秘話化リソース情報、及びsは秘話化されていないリソース情報である。秘話化リソース情報を用いた秘話化電子著作物の盲目的再生は、盲目的再生が秘話化解除を必要とせずに平文のプレゼンテーションデータを生成するという点で、前述の盲目的変換とは異なっている。盲目的変換では、再生用アプリケーションは暗号化電子著作物を暗号化プレゼンテーションデータに変換し、それからその復号をしなくてはならない。双方の場合において、ユーザはオリジナルの電子著作物を平文の形式で見ることはない。
秘話化電子著作物及び秘話化リソース情報を用いた盲目的再生(盲目的解釈とも呼ばれる)のみを用いて、通常の暗号化に加え、再生の際に電子著作物を保護することができる。例えば、秘話化電子著作物及び秘話化リソース情報を暗号化して配布の際に電子著作物を保護し、それからユーザシステムでこれらを秘話化電子著作物及び秘話化リソース情報に復号することができる。ユーザはまず、コンテンツ所有者又はコンテンツ所有者に代わって(暗号化電子著作物を復号するために)働く配布業者から許可を得なくてはならない。ユーザが認可されると、暗号化された秘話化電子著作物及び暗号化された秘話化リソース情報を復号し、秘話化リソース情報を用いて秘話化電子著作物を再生用アプリケーションで再生する。
ユーザが表示するための使用可能な形式に電子著作物を解釈することの複雑性を用いて、電子著作物を再生の際に更に保護することができる。図17を参照すると、秘話化電子著作物1710が再生用アプリケーション1712に提供されており、再生用アプリケーション1712は秘話化システムリソース1716及び他のシステムリソース1718を用いて秘話化電子著作物1710を部分的に秘話化されたプレゼンテーションデータ1714に変換する。この実施形態では、プレゼンテーションデータをユーザによって使用可能な形式に変換するには表示システム1728が必要である。部分的に秘話化されたプレゼンテーションデータ1714は解釈用アプリケーション1720に提供され、解釈用アプリケーション1720は秘話化システムリソース1716、ローカルシステムリソース1722、及びシステムリソース1718を用いて、部分的に秘話化されたプレゼンテーションデータ1714を平文の画像データ1724に変換する。次に、ユーザの使用のために平文の画像データ1724を表示装置1726上に表示する。この実施形態では、プレゼンテーションデータはなお秘話化されており、平文データの場所を表示処理のうちでもより後の時点まで分からないようにし、更なる保護を提供している。
電子著作物を秘話化するシステムの有用性を高めるために、秘話化リソース情報を電子著作物から分離させ、スマートカードなどの持運び可能なデバイスに関連させてもよい。この実施形態では、再生用アプリケーション1712は秘話化システムリソース1716を用いて著作物を再生する。秘話化システムリソース1716をローカルメモリに記憶する代わりに、秘話化システムリソース1716を秘話化電子著作物1710と共にスマートカードなどの持運び可能なデバイスに記憶する。また、ハードウェア強化機能を有しうるスマートカードは、変更を困難にする属性を備えることができる。持運び可能なコンテクスト内では、秘話化データを再生用アプリケーション1712によって処理して部分的に秘話化されたプレゼンテーションデータを生じ、それからそのデータを解釈用アプリケーション1720に提供する。
多くの様々なタイプの電子著作物を、その使用にわたり秘話化方式を用いて保護することができる。例えば、電子著作物が文書又はテキストファイルである場合、再生用アプリケーションをワードプロセッサとすることができ、システムリソース又はリソース情報はフォントテーブル、ページレイアウト、及びカラーテーブルを含むことができる。電子著作物がオーディオ又はビデオデータ(例えばストリーム)である場合、再生用アプリケーションをオーディオ又はビデオプレーヤーとすることができる。プレゼンテーションデータはオーディオ/ビデオ最終データのストリームである。表示システムを、オーディオ/ビデオ装置とすることができる。解釈用アプリケーションを、オーディオ/ビデオ装置のドライバとすることができる。画像データをオーディオ/ビデオ装置のデータストリームとし、表示装置をオーディオ/ビデオ装置の解釈装置(例えばスピーカー又はモニタ)とすることができる。
オーディオ/ビデオのデータストリームである電子著作物に関しては、システムリソース又はリソース情報は、オーディオ/ビデオ装置の特徴、即ちサンプリング・レート(1秒あたりのサンプリング、例えば8kHz、44.1kHz)、サンプリング品質(サンプリングあたりのビット数、例えば8、16)、サンプリング・タイプ(チャネルの数、例えばモノラルは1、ステレオは2)、及びサンプリング形式(命令及びデータのブロック)を含むことができる。秘話化のために選択可能ないくつかのオーディオ/ビデオデータストリーム及び対応するリソース情報又は可変パラメータの表を以下に示す。
電子著作物の構造を、秘話化のために有意に使用することができる。電子著作物全体を秘話化することができるが、電子著作物の一部のみを秘話化することがより好ましい。電子著作物の殆どは、命令、データ、及びリソースといった3つの主要エレメントを含んでいる。前述の形式保存暗号化方法とほぼ同様に、電子著作物のデータ及びリソースのみを秘話化することが好ましい。データ及びリソースのみを選択的に変換することにより、コンテンツは元の形式のままであるがデータ及びリソースは理解できなくなるように電子著作物を変換することができる。
文書タイプの電子著作物の一般的なレイアウトを図18に示す。図18において、電子著作物150はページ(Page)記述子152、制御(Control)コード154、158及び162、リソース(Resource)識別子156、並びにデータ(Data)160及び164を含む。ページ記述子152は、著作物の一般的なレイアウトを定める。例えば、ページサイズ、ページ数、及び余白は、電子文書に関してはページ記述子の範囲に属する。制御コード154、158及び162は、コンテンツのプレゼンテーションを記述するという点で類似している。例としては、テキスト位置設定コマンド、テキスト出力コマンド、フォントタイプ設定コマンド、及び現行画面の座標設定コマンドが挙げられる。リソース識別子156は単に所望のリソースを参照する。電子文書の分野では、リソースは書体から背景色まで様々である。最後に、データ160及び164は、電子著作物によって伝達される情報の核を表す。これは、マルチメディアクリップに用いられる描画座標、又は電子文書として解釈するための文字コードでありうる。
電子著作物(この場合は簡潔な電子文書)とその秘話化形式の1つの例を、平文及び秘話化された形式のHTML文書として図19及び図20に示す。<html>及び<body>のタグはページ記述子である。<font>から<\font>までのタグはフォントリソース特性を設定する制御コードの一例であり、"Arial"及び"14"はArial書体で14ポイントのフォントのためのリソース識別子である。"Hello World"のテキストはデータ、即ち著作物の情報の核である。<p>は、段落の初めを示す他の制御コードである。最後に、文書は文書の終わりを識別するためのページ記述子<\body>及び<\html>で終わっている。
図20は、図19の電子著作物が秘話化形式でどのように見えるかを示している。ページ記述子及び制御コードのタグは変わらぬままであり、即ち、<html>、<body>及び<font>のタグは変わっていないことがわかる。これに対し、リソース識別子、"Arial"及び"14"は復号不可能な値に変換されている。同様に、データである"Hello World"も、復号不可能な値に変換されている。リソース識別子及びデータを変換することにより、コンテンツは秘話化形式であり、意味のないものになる。しかしながら、ページ記述子及び制御コードが不変のままであるという事実により、文書は元の形式を保つことができ、元の形式としては一般にHTML、Adobe社の PDF、RealNetworks社のRAM、Apple社のQuickTimeなどが可能である。
システムコンテクスト(又はシステムリソース又はリソース情報)を、特定のシステムの再生用アプリケーションに対して利用可能なシステムリソースの集まりとして考えることができる。例えば、システムコンテクストは、フォントテーブル、色パレット、システム座標及び音量設定を含みうる。電子著作物を再生用アプリケーションに入力すると、再生用アプリケーションは電子著作物内に含まれる特定のリソース情報を用いて電子コンテンツをプレゼンテーションデータに変換する。電子著作物内に含まれる各システムコンテクスト又はリソース情報をシステムに対して固有になるように変更し、そのシステムのために再生可能にすることができる。システムコンテクストは電子著作物の使用に不可欠なエレメントであり、再生のために、電子著作物の使用を特定のシステム、物理的な装置又は再生用アプリケーションに関連づける。電子著作物内のリソース識別子及びデータは、システムコンテクスト内に含まれるエレメントを直接的又は間接的に参照することができる。電子著作物及びシステムコンテクストの秘話化により、平文のプレゼンテーションデータへの盲目的解釈が可能になる。固有のシステムに関連する秘話化シードを用いてシステムコンテクストを秘話化することにより、生じる秘話化システムコンテクストを固有の環境とすることができ、この固有の環境内で、同一の秘話化シードで秘話化された相補的な秘話化電子著作物にアクセスし、再生することができる。
図21は、システムコンテクストの一般的な構造を示している。これらのエレメントは、リソース識別子(ResID)、エレメント識別子(ElemID)、及びリソース特性(Characteristics)を含む。ResIDは、リソースを参照するための、他のシステム構成要素の関連情報を含む。ElemIDは、リソース内の個々のエレメントの識別子である。最後に、Characteristicsは、個々のリソースエレメントの表現に用いられる実際のリソース特性である。
図22は、Arial書体に関するフォントテーブルのリソースの図である。この場合の主要リソース識別子はフォント名"Arial"である。ASCIIの規則にならい、番号48は個々のリソースエレメント識別子を識別する。ElemIDのリソースエレメント特性は、文字'a'を表すための情報を表している。
図23は、図22に示すフォントリソースの秘話化システムコンテクストの図である。リソース識別子そのものが"k13k2"に変換されている。エレメント識別子そのものは、リソース特性のみを変換するには十分であるため、変換の必要はない。この場合、"48"は、'a'の代わりに'Y'の特性を表すために変換されたものとして示されている。
秘話化及び盲目的解釈を、多くの様々なタイプの電子著作物に対して使用することができる。秘話化及び盲目的解釈を、文書の他にオーディオ/ビデオデータに対して用いることができる。前述のように、オーディオ/ビデオデータは一般にストリームの形式で提供される。再生用アプリケーションは、デジタルオーディオ/ビデオストリームを最終データストリームに変換するオーディオ/ビデオプレーヤーであり、この最終データストリームを変換装置(スピーカー)によってオーディオ出力に処理したり、表示によってビデオ画像に処理したりすることができる。
図17を参照すると、再生用アプリケーション1712はオーディオ/ビデオプレーヤーに相当し、これは一般に、目的のオーディオ/ビデオ装置によって許容されたあるサンプリング・レート、品質及びタイプでオーディオ/ビデオ入力ストリーム1710を抽出することによって作動する。オーディオ/ビデオプレーヤーは、オーディオ/ビデオストリームの抽出、混合及び生成にオーディオ/ビデオシステムリソースを用い、次に再抽出されたオーディオ/ビデオストリームを混合して、最終的なオーディオ/ビデオストリームを目的装置が望む形式で生成する。オーディオ/ビデオプレーヤーの場合、プレゼンテーションデータ1714は、目的のオーディオ/ビデオ装置が望むサンプリング・レート、品質、タイプ、及び形式である、最終の混合オーディオ/ビデオストリームである。
目的のオーディオ/ビデオ装置(例えば、解釈用アプリケーション1720)は、オーディオ/ビデオストリーム(プレゼンテーションデータ1714)を特定のサンプリング・レート、品質、タイプ(チャネル)、及び形式(例えば、PAL又はNTSC)で装置のオーディオ/ビデオデータ1724に変換することのできる、ハードウェアシステムである。オーディオ装置の例としては、サウンドカード、スピーカー、モニタ、及びオーディオ/ビデオ装置内に配置されるデジタル−アナログ変換器が挙げられる。装置の多くは、様々なサンプリング・レートの範囲でオーディオ/ビデオストリームを再生することができる。画像データ1724(例えば、オーディオ信号又はビデオ画像のストリーム)はオーディオ/ビデオ装置のドライバ1720によって生成され、表示装置1726によって「消費」される。
例えば、オーディオ/ビデオデータストリームを秘話化するために、このストリームを2つ以上の別個のストリームに分割することができる。一方のストリームは秘話化し、もう一方のストリームは秘話化しない。各ストリームは、関連するサンプリング・レート、チャネル、品質及び形式といった、様々な装置特性(リソース情報)を有することができる。装置特性(ストリームのサンプリング・レート、チャネル、品質及び/又は形式のうち1つ以上)を秘話化して、秘話化リソース情報を生成することもできる。
秘話化オーディオ/ビデオストリームの盲目的再生は、秘話化電子文書と同様にして達成される。再生用アプリケーション(オーディオ/ビデオプレーヤー)は秘話化されていないストリームと秘話化ストリームとを共に混合し、秘話化リソース情報を用いて、目的のオーディオ/ビデオ装置用に、リソース情報の正しいセットを有する秘話化された最終データストリームを生成する。目的装置(1720)は、秘話化リソース情報を用いて秘話化データストリームを再生し、平文の音声/視覚効果(1724)を生成する。
本発明の例示的な実施形態のいくつかを先に詳しく説明したが、本発明の他の形式、代替物、変更物、及び変形物も同様に作用し、これらが当業者にとって明白であることを認識すべきである。この開示内容は本発明を特定の実施形態に限定する意図ではなく、このような形式、代替物、変更物、及び変形物を全て含むものと意図される。例えば、ソフトウェアの構成要素として説明された前述の本発明の一部をハードウェアとして実施することができる。更に、いくつかの機能ブロックを、本明細書では別個で互いから独立したものとして説明したが、これらの機能ブロックを統合し、単一の汎用コンピュータで実行することもできるし、あるいは、当該分野において認識されるように、更に副機能に分割することもできる。従って、本発明の真の範囲は全ての代替物、変更物及び等価物を含むように意図されており、この範囲は後述の請求の範囲を参照して決定されるべきである。