(57)【要約】  １つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いを特性及び振る舞いのプロファイルと比較することに基づいて、コンピュータ環境で完全性を証明及び検証する方法及びシステムであって、本方法及びシステムは、１つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いを指定する振る舞い完全性プロファイル（ＢＩＰ）を決定し、ＢＩＰに基づいて、１つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いが、振る舞い完全性プロファイル指定の中に定められた特性及び振る舞いを遵守するかどうかを決定し、遵守を決定するステップに基づいて、１つ以上のアプリケーション、システム、又はシステム・コンポーネントへのアクセス権を決定することを含む。【特許請求の範囲】
【請求項１】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いを、特性及び振る舞いのプロファイルと比較することに基づいて、コンピュータ環境における完全性を証明及び検証する方法であって、
１つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いを指定する振る舞い完全性プロファイル（ＢＩＰ）を決定し、
ＢＩＰに基づいて、１つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いが、振る舞い完全性プロファイル指定の中で定められた特性及び振る舞いを遵守するかどうかを決定し、
遵守を決定するステップに基づいて、１つ以上のアプリケーション、システム、又はシステム・コンポーネントへのアクセス権を決定する、
方法。
【請求項２】
アプリケーション完全性プロファイル（ＡＩＰ）を決定し、
ＡＩＰに基づいて、１つ以上のアプリケーション、システム、又はシステム・コンポーネントの真正を決定し、
真正の決定に基づいて、アクセス権を決定する、
ことをさらに含む、請求項１に記載の方法。
【請求項３】
１つ以上のアプリケーション完全性プロファイル及び１つ以上の振る舞い完全性プロファイルを結合して利用することをさらに含む、請求項２に記載の方法。
【請求項４】
完全性証明及び検証デバイスを提供することをさらに含み、
完全性証明及び検証デバイスがアプリケーション完全性プロファイルにアクセスして、１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する認証情報を決定する、
請求項２に記載の方法。
【請求項５】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いをＢＩＰ指定に対して検証することによって、コンポーネント登録デバイスを介してＢＩＰ遵守状況を決定することをさらに含む、請求項１に記載の方法。
【請求項６】
ＢＩＰが、ＢＩＰ識別子、登録されたアプリケーション、システム、又はシステム・コンポーネントの識別子、及び遵守状況の少なくとも１つを含む、請求項２に記載の方法。
【請求項７】
プロファイル・データベースを介して、ＢＩＰ識別子及び登録されたアプリケーション、システム、又はシステム・コンポーネントの識別子と一緒にＢＩＰを維持することをさらに含む、請求項６に記載の方法。
【請求項８】
ＢＩＰが発行されたアプリケーション、システム、又はシステム・コンポーネントの遵守状況を検査することによって、プロファイル検証デバイスを介してＢＩＰ遵守の証拠を検証することをさらに含む、請求項１に記載の方法。
【請求項９】
アプリケーション、システム、又はシステム・コンポーネント・プロバイダからの１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する認証情報を、登録アプリケーション・デバイスを介して取得することをさらに含む、請求項１に記載の方法。
【請求項１０】
配布された情報と結合してＢＩＰ識別子を使用することをさらに含む、請求項６に記載の方法。
【請求項１１】
コンテンツ・プロバイダを介して、ＢＩＰに関連付けられたコンテンツ情報を配布することをさらに含む、請求項１に記載の方法。
【請求項１２】
アプリケーション、システム、又はシステム・コンポーネント・プロバイダを提供することをさらに含む、請求項１に記載の方法。
【請求項１３】
ＢＩＰ識別子が、配布された情報と結合して使用されるとき、１つ以上のアプリケーション、システム、又はシステム・コンポーネントが真正でないかＢＩＰ指定を遵守しないことをプロファイル検証デバイスが決定するならば、１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられたコンテンツへのアクセスが拒否される、請求項１０に記載の方法。
【請求項１４】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントに対応する遵守状況及びアプリケーション識別情報をコンポーネント・データベースから引き出すことによって、ＢＩＰ作成デバイスを介してＢＩＰを組み立てることをさらに含む、請求項１に記載の方法。
【請求項１５】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いが、ＢＩＰ指定の中に定められた特性を遵守するかどうかの決定を許可するためＢＩＰを評価し、
評価ステップに基づいてアクセス権を決定する、
ことをさらに含む、請求項１に記載の方法。
【請求項１６】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントのＢＩＰ遵守状況を検証することをさらに含む、請求項１５に記載の方法。
【請求項１７】
アクセス権が、１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられたコンテンツへのアクセスを許可又は拒否することの少なくとも１つの権利を含む、請求項１５に記載の方法。
【請求項１８】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントの少なくとも１つに関する認証情報を取得することをさらに含む、請求項１５に記載の方法。
【請求項１９】
ＢＩＰにディジタル署名することをさらに含む、請求項１に記載の方法。
【請求項２０】
ディジタル署名されたＢＩＰを消費者のシステムへ回送することをさらに含む、請求項１９に記載の方法。
【請求項２１】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられた完全性オーセンティケータの完全性を検証することをさらに含む、請求項１に記載の方法。
【請求項２２】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する認証情報へのアクセスを有する完全性証明及び検証デバイスを提供し、
１つ以上のアプリケーション、システム、又はシステム・コンポーネントの真正を決定するために使用されるＡＩＰを提供する、
ことをさらに含む、請求項２に記載の方法。
【請求項２３】
コンポーネント登録デバイスを介して認証情報からＡＩＰを決定することをさらに含み、
ＡＩＰが検証可能情報及び登録されたアプリケーション、システム、又はシステム・コンポーネントの識別子の少なくとも１つを含む、
請求項２２に記載の方法。
【請求項２４】
ＡＩＰ及び登録されたアプリケーション、システム、又はシステム・コンポーネントの識別子を、プロファイル・データベースを介して維持することをさらに含む、請求項２２に記載の方法。
【請求項２５】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントの識別子、１つ以上のアプリケーション、システム、又はシステム・コンポーネント、ＡＩＰ、及び／又はＡＩＰ識別子を比較することによって、プロファイル検証デバイスにより真正を検証することをさらに含む、請求項２２に記載の方法。
【請求項２６】
アプリケーション、システム、又はシステム・コンポーネント・プロバイダからの１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する認証情報を、登録アプリケーション・デバイスを介して取得することをさらに含む、請求項２２に記載の方法。
【請求項２７】
配布された情報と結合して使用できる１つ以上のアプリケーション、システム、又はシステム・コンポーネントの識別子をＡＩＰが含む、請求項２２に記載の方法。
【請求項２８】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられたコンテンツ情報を、コンテンツ・プロバイダを介して配布することをさらに含む、請求項２２に記載の方法。
【請求項２９】
アプリケーション、システム、又はシステム・コンポーネント・プロバイダを提供することをさらに含む、請求項２２に記載の方法。
【請求項３０】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントが真正でないことをプロファイル検証デバイスが決定するならば、１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられた１つ以上の文書へのアクセスが拒否される、請求項２２に記載の方法。
【請求項３１】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する検証可能な情報に基づいて、プロファイル作成デバイスを介してＡＩＰを決定することをさらに含む、請求項２２に記載の方法。
【請求項３２】
ＡＩＰを証明することをさらに含む、請求項２に記載の方法。
【請求項３３】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントの真正を検証することをさらに含む、請求項２に記載の方法。
【請求項３４】
アクセス権が、１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられたコンテンツへのアクセスを許可又は拒否することの少なくとも１つの権利を含む、請求項２に記載の方法。
【請求項３５】
少なくとも１つのアプリケーション、システム、又はシステム・コンポーネントに関する認証情報を取得することをさらに含む、請求項２に記載の方法。
【請求項３６】
ＡＩＰにディジタル署名することをさらに含む、請求項２に記載の方法。
【請求項３７】
ディジタル署名された完全性プロファイルを消費者のシステムへ回送することをさらに含む、請求項３６に記載の方法。
【請求項３８】
ＡＩＰに関連付けられた完全性オーセンティケータの完全性を検証することをさらに含む、請求項２に記載の方法。
【請求項３９】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられた改ざん防止環境を確立することをさらに含む、請求項１に記載の方法。
【請求項４０】
ＡＩＰを検証することをさらに含む、請求項２に記載の方法。
【請求項４１】
有効なＡＩＰをロードすることをさらに含む、請求項２に記載の方法。
【請求項４２】
完全性オーセンティケータが、監視、制御、又は記録されていることの少なくとも１つではないことを確立することを検証ステップが含む、請求項３８に記載の方法。
【請求項４３】
コンピュータ読み取り可能メディアに埋め込まれ、列挙されたステップを１つ以上のコンピュータ・プロセッサに実行させるように構成された１つ以上のコンピュータ読み取り可能命令として実現される、請求項１に記載の方法。
【請求項４４】
列記されたステップを実行するように構成された１つ以上のコンピュータ・ソフトウェア及び／又はハードウェア・デバイスとして実現される、請求項１に記載の方法。
【請求項４５】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いを、特性及び振る舞いのプロファイルと比較することに基づいて、コンピュータ環境における完全性を証明及び検証するシステムであって、
１つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いを指定する振る舞い完全性プロファイル（ＢＩＰ）を決定する手段と、
ＢＩＰに基づいて、１つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いが、振る舞い完全性プロファイル指定の中で定められた特性及び振る舞いを遵守するかどうかを決定する手段と、
遵守の決定に基づいて、１つ以上のアプリケーション、システム、又はシステム・コンポーネントへのアクセス権を決定する手段と
を含むシステム。
【請求項４６】
アプリケーション完全性プロファイル（ＡＩＰ）を決定する手段と、
ＡＩＰに基づいて、１つ以上のアプリケーション、システム、又はシステム・コンポーネントの真正を決定する手段と、
真正の決定に基づいて、アクセス権を決定する手段と
をさらに含む、請求項４５に記載のシステム。
【請求項４７】
１つ以上のアプリケーション完全性プロファイル及び１つ以上の振る舞い完全性プロファイルを結合して利用する手段をさらに含む、請求項４６に記載のシステム。
【請求項４８】
完全性証明及び検証デバイスをさらに含み、
完全性証明及び検証デバイスがアプリケーション完全性プロファイルへのアクセスを有して、１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する認証情報を決定する、
請求項４６に記載のシステム。
【請求項４９】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いをＢＩＰ指定に対して検証することによってＢＩＰ遵守状況を決定するコンポーネント登録デバイスをさらに含む、請求項４５に記載のシステム。
【請求項５０】
ＢＩＰ識別子、登録されたアプリケーション、システム、又はシステム・コンポーネントの識別子、及び遵守状況の少なくとも１つをＢＩＰが含む、請求項４６に記載のシステム。
【請求項５１】
ＢＩＰ識別子及び登録されたアプリケーション、システム、又はシステム・コンポーネントの識別子と一緒にＢＩＰを維持するプロファイル・データベースをさらに含む、請求項６に記載のシステム。
【請求項５２】
ＢＩＰが発行されたアプリケーション、システム、又はシステム・コンポーネントの遵守状況を検査することによってＢＩＰ遵守の証拠を検証するプロファイル検証デバイスをさらに含む、請求項４５に記載のシステム。
【請求項５３】
アプリケーション、システム、又はシステム・コンポーネント・プロバイダからの１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する認証情報を取得する登録アプリケーション・デバイスをさらに含む、請求項４５に記載のシステム。
【請求項５４】
配布された情報と結合してＢＩＰ識別子を使用する手段をさらに含む、請求項５０に記載のシステム。
【請求項５５】
ＢＩＰに関連付けられたコンテンツ情報を配布するコンテンツ・プロバイダをさらに含む、請求項４５に記載のシステム。
【請求項５６】
アプリケーション、システム、又はシステム・コンポーネント・プロバイダをさらに含む、請求項４５に記載のシステム。
【請求項５７】
プロファイル検証デバイスをさらに含み、
配布された情報と結合してＢＩＰ識別子が使用されるとき、１つ以上のアプリケーション、システム、又はシステム・コンポーネントが真正でないか、ＢＩＰ指定を遵守しないことをプロファイル検証デバイスが決定するならば、１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられたコンテンツへのアクセスが拒否される、
請求項５４に記載のシステム。
【請求項５８】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントに対応する遵守状況及びアプリケーション識別情報をコンポーネント・データベースから引き出すことによってＢＩＰを組み立てるＢＩＰ作成デバイスをさらに含む、請求項４５に記載のシステム。
【請求項５９】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いが、ＢＩＰ指定の中に定められた特性を遵守するかどうかの決定を許可するためにＢＩＰを評価する手段と、
評価に基づいてアクセス権を決定する手段と
をさらに含む、請求項４５に記載のシステム。
【請求項６０】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントのＢＩＰ遵守状況を検証する手段をさらに含む、請求項５９に記載のシステム。
【請求項６１】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられたコンテンツへのアクセスを許可又は拒否することの少なくとも１つの権利をアクセス権が含む、請求項５９に記載のシステム。
【請求項６２】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントの少なくとも１つに関する認証情報を取得する手段をさらに含む、請求項５９に記載のシステム。
【請求項６３】
ＢＩＰにディジタル署名する手段をさらに含む、請求項４５に記載のシステム。
【請求項６４】
ディジタル署名されたＢＩＰを消費者のシステムへ回送する手段をさらに含む、請求項６３に記載のシステム。
【請求項６５】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられた完全性オーセンティケータの完全性を検証する手段をさらに含む、請求項４５に記載のシステム。
【請求項６６】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する認証情報へのアクセスを有する完全性証明及び検証デバイスと、
１つ以上のアプリケーション、システム、又はシステム・コンポーネントの真正を決定するために使用されるＡＩＰを提供する手段と
をさらに含む、請求項４６に記載のシステム。
【請求項６７】
認証情報からＡＩＰを決定するコンポーネント登録デバイスをさらに含み、
ＡＩＰが検証可能情報及び登録されたアプリケーション、システム、又はシステム・コンポーネントの識別子の少なくとも１つを含む、
請求項６６に記載のシステム。
【請求項６８】
ＡＩＰ及び登録されたアプリケーション、システム、又はシステム・コンポーネントの識別子を維持するプロファイル・データベースをさらに含む、請求項６６に記載のシステム。
【請求項６９】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントの識別子、１つ以上のアプリケーション、システム、又はシステム・コンポーネント、ＡＩＰ、及び／又はＡＩＰ識別子を比較することによって真正を検証するプロファイル検証デバイスをさらに含む、請求項６６に記載のシステム。
【請求項７０】
アプリケーション、システム、又はシステム・コンポーネント・プロバイダからの１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する認証情報を取得する登録アプリケーション・デバイスをさらに含む、請求項６６に記載のシステム。
【請求項７１】
配布された情報と結合して使用できる１つ以上のアプリケーション、システム、又はシステム・コンポーネントの識別子をＡＩＰが含む、請求項６６に記載のシステム。
【請求項７２】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられたコンテンツ情報を配布するコンテンツ・プロバイダをさらに含む、請求項６６に記載のシステム。
【請求項７３】
アプリケーション、システム、又はシステム・コンポーネント・プロバイダをさらに含む、請求項６６に記載のシステム。
【請求項７４】
プロファイル検証デバイスをさらに含み、
１つ以上のアプリケーション、システム、又はシステム・コンポーネントが真正でないことをプロファイル検証デバイスが決定するならば、１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられた１つ以上の文書へのアクセスが拒否される、
請求項６６に記載のシステム。
【請求項７５】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する検証可能な情報に基づいてＡＩＰを決定するプロファイル作成デバイスをさらに含む、請求項６６に記載のシステム。
【請求項７６】
ＡＩＰを証明する手段をさらに含む、請求項４６に記載のシステム。
【請求項７７】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントの真正を検証する手段をさらに含む、請求項４６に記載のシステム。
【請求項７８】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられたコンテンツへのアクセスを許可又は拒否することの少なくとも１つの権利をアクセス権が含む、請求項４６に記載のシステム。
【請求項７９】
少なくとも１つアプリケーション、システム、又はシステム・コンポーネントに関する認証情報を取得する手段をさらに含む、請求項４６に記載のシステム。
【請求項８０】
ＡＩＰにディジタル署名する手段をさらに含む、請求項４６に記載のシステム。
【請求項８１】
ディジタル署名された完全性プロファイルを消費者のシステムへ回送する手段をさらに含む、請求項８０に記載のシステム。
【請求項８２】
ＡＩＰに関連付けられた完全性オーセンティケータの完全性を検証する手段をさらに含む、請求項４６に記載のシステム。
【請求項８３】
１つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられた改ざん防止環境を確立する手段をさらに含む、請求項４５に記載のシステム。
【請求項８４】
ＡＩＰを検証する手段をさらに含む、請求項４６に記載のシステム。
【請求項８５】
有効なＡＩＰをロードする手段をさらに含む、請求項４６に記載のシステム。
【請求項８６】
検証する手段が、完全性オーセンティケータが、監視、制御、又は記録されていることの少なくとも１つではないことを確立する手段を含む、請求項８２に記載のシステム。
【請求項８７】
前記システムが、１つ以上のコンピュータ・ソフトウェア及び／又はハードウェア・デバイスとして実現される、請求項４５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は完全性の証明及び検証に関する。具体的には、本発明は、アプリケーション完全性プロファイル（ＡＩＰ）及び振る舞い完全性プロファイル（ＢＩＰ）を含むプロファイルの使用に関する。
【背景技術】
【０００２】
電子商取引を介するディジタル文書及び電子サービスの広範な配布及び他の使用を可能にする上で、最も重要な問題の１つは、コンテンツの所有者及び提供者（プロバイダ）の知的財産権の保護の必要性である。この問題に対処する努力は、知的財産権管理（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ  Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ）（ＩＰＲＭ）、ディジタル財産権管理（Ｄｉｇｉｔａｌ  Ｐｒｏｐｅｒｔｙ  Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ）（ＤＰＲＭ）、知的財産権管理（Ｉｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ  Ｍａｎａｇｅｍｅｎｔ）（ＩＰＭ）、ディジタルライツ管理（Ｄｉｇｉｔａｌ  Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ）（ＤＲＭ）、権利管理（Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ）（ＲＭ）、及び電子著作権管理（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｐｙｒｉｇｈｔ  Ｍａｎａｇｅｍｅｎｔ）（ＥＣＭ）と呼ばれてきた。
【０００３】
しかし、コンテンツの提供者としては、コンテンツが所望の特性及び／又は振る舞いを有する証明済みアプリケーション及びシステムによって消費される必要性が存在する。更に、アプリケーション、サービス、及びコンピューティング・システムの提供者としては、アプリケーション、サービス、システムが所望の特性及び／又は振る舞いを有するアプリケーション及びシステムによってのみアクセス又は使用される必要性が存在する。
【０００４】
公開鍵基盤（ｐｕｂｌｉｃ  ｋｅｙ  ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）（ＰＫＩ）の直接使用は、アプリケーション及びシステムの提供者が自分自身の製品を証明することを可能にし、またコンテンツ及びサービスの提供者が、それらのコンテンツ及びサービスを消費するために使用されるアプリケーション及びシステムの完全性を検証することを可能にする。しかし、ＰＫＩの直接使用は、ベンダと提供者との間に多数対多数の関係を作り出す。多数対多数の関係は、他の問題の間では良好な基準にならない。したがって、そのような関係を管理し、効率的及びリアルタイムの、又はリアルタイムに近い完全性検証を実行する方法及びシステムの必要性が存在する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、上記及び他の必要性及び問題に対処する方法及びシステムの必要性が存在する。上記及び他の必要性及び問題は、本発明の例示的な実施形態によって対処される。これらの例示的実施形態は、完全性を証明及び検証する方法及びシステムを提供する。
【課題を解決するための手段】
【０００６】
したがって、本発明の例示的態様では、１つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いと、特性及び振る舞いプロファイルとの比較に基づいて、コンピュータ環境で完全性を証明及び検証する方法及びシステムが提供される。例示的な方法及びシステムは、１つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いを指定する振る舞い完全性プロファイル（ＢＩＰ）を決定し、１つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いが、振る舞い完全性プロファイル指定の中に定められた特性及び振る舞いを遵守するかどうかを、ＢＩＰに基づいて決定し、遵守を決定するステップに基づいて、１つ以上のアプリケーション、システム、又はシステム・コンポーネントへのアクセス権を決定することを含むことができる。
【０００７】
更に、本発明の他の態様、特徴、及び利点は、多数の例示的実施形態及び実現形態を単純に示すことによって、下記の詳細な説明から容易に明らかである。多数の例示的実施形態及び実現形態の中には、本発明を実施するために検討される最良の形態が含まれる。本発明は、他の異なる実施形態としても可能であり、そのいくつかの詳細部分は、本発明の趣旨及び範囲から逸脱することなく様々な点で修正可能である。したがって、図面及び説明は、実質的に例と見なされるべきであり、限定と見なされるべきではない。
【発明を実施するための最良の形態】
【０００８】
本発明の実施形態は、添付の図面の図で例として示され、限定としては示されない。添付の図面において、類似の参照数字は類似の要素を意味する。
【０００９】
本発明は、多くの場合、提供者のコンテンツ及びサービスが、所望の特性及び振る舞いを有する証明済みアプリケーション及びシステムによって消費されることを、提供者が欲するという認識を含む。消費環境のこれらの態様を制御することによって、コンテンツ・プロバイダは、例えば、使用、例えば、複写、印刷、埋め込み、配布などを制限することができる。
【００１０】
例えば、コンテンツ又はサービスの提供者は、コンテンツを消費するシステムが、或るレベルのセキュリティ及び権利管理能力を有さなければならないことを要求することによって、コンテンツを悪用から保護したいと欲することがある。コンテンツ・プロバイダは、更に、「よそ者」アプリケーション、例えば、デバッガ、ウイルス、傍受ルーチンなどが、ユーザ・システム上のコンテンツ消費アプリケーションと対話したり、コンテンツ又は他の極秘情報を没収又は「略奪」したりしないことを確実にしたいと欲するかもしれない。例えば、参照によって全体を本明細書に組み込まれる２０００年８月２８日に出願された「標準レンダリング・エンジンを使用する文書配布管理方法及び装置、及び標準レンダリング・エンジンを制御する方法及び装置」（「Document Distribution Management Method and Apparatus Using a Standard Rendering Engine and a Method and Apparatus for Controlling a Standard Rendering Engine」）と題するラーレイ（Ｒａｌｅｙ）の米国特許出願第０９／６４９，８４１号は、ユーザ・システムの機能の管理を可能にし、文書へのユーザ・アクセスを制限する。これらの考慮は、アプリケーション、サービス、及びコンピューティング・システムの提供者、及び消費されているコンテンツをサービス、アプリケーション、又はシステムとして所有する者へ同じように適用される。
【００１１】
所与のアプリケーション及びシステムが所望の特性及び振る舞いを有することを証明するため、コンテンツを消費し、サービスにアクセスし、又は他のどのような適切な方法であれ他のシステム、アプリケーション、及びコンポーネントと対話する必要がある全ての適切なアプリケーション及びシステム・コンポーネントの検証が、検証アプリケーションによって確認される必要がある。検証アプリケーションは１つ以上の完全性プロファイルを使用してアプリケーション及びシステム・コンポーネントを検証する。これらの完全性プロファイルは同一又は異なるタイプであってよい。更に、同一又は異なるタイプの２つ以上の完全性プロファイルは、結合又は分離して使用可能である。
【００１２】
完全性プロファイルは、様々なタイプであってよい。例示的実施形態において、完全性プロファイルは、アプリケーション完全性プロファイル（ＡＩＰ）、振る舞い完全性プロファイル（ＢＩＰ）などを含むことができる。アプリケーション完全性プロファイルは、アプリケーションに特定された検証可能情報及び特性を含むことができる。したがって、ＡＩＰは特定のアプリケーションに結び付けられる。振る舞い完全性プロファイルは、アプリケーションの振る舞いが、ＢＩＰ指定の中で指定された振る舞いを遵守するかどうかを示す情報を含むことができる。有利には、ＢＩＰはＢＩＰ識別子を含むことができる。ＢＩＰ識別子はＢＩＰ指定を示す。ＢＩＰ指定は、全ての適切な遵守アプリケーションが守る振る舞い及び／又は消費条項のセットを指定する。例えば、ＢＩＰ指定は、ＢＩＰを遵守する全ての適切なアプリケーションが、再生(play)は許されるが他の行動は許されない再生限定アプリケーションであることを指定することができる。機能又は行動に加えて、更なる例示的実施形態は、例えば、地形、場所、時間、パフォーマンス、サービス・レベル、他の適切な規準などに基づいて他のタイプのＢＩＰを提供し、アプリケーション、システム、デバイス、コンポーネントなどを検証する。
【００１３】
例示的実施形態は、コンピュータ環境のために証明及び検証を提供するシステム及び方法を含む。そのような例示的システムの中で、これらのサービスを提供する完全性証明及び検証デバイスは、コンテンツ又はサービスの提供者とシステム、アプリケーションなどの提供者との間に導入可能である。この証明デバイスは、それぞれの提供者からの個々のアプリケーション及び／又はシステムを登録することができ、所定の選択に従って、これらのアプリケーション及び／又はシステムの完全性を証明することができる。このサービスの使用によって、ユーザは完全性証明及び検証デバイスを「信頼する」ことができる。この信頼によって、提供者は、そのコンテンツ及びサービスの消費を許可されるアプリケーション及びシステムのセットから成るプロファイルを確立し、プロファイルに従って、ユーザ・システムの上で、アプリケーション及びシステムから成るユーザのセットが真正であることを検証する。
【００１４】
有利には、例示的実施形態は、コンテンツ、例えば、文書、他のコンテンツなどの消費環境の完全性について証明及び検証するサービスの提供を含む。そのような例示的システムの中で、これらのサービスを提供する完全性証明及び検証デバイスは、コンテンツ・プロバイダとコンテンツ消費システム及びアプリケーション・プロバイダとの間に導入される。コンテンツ消費システム及びアプリケーション・プロバイダは、例えば、パーソナル・コンピュータ、ハンドヘルド・コンピュータ、ＰＤＡ、マルチメディア表示デバイス、ＤＶＤプレーヤ、分散ネットワーク動作可能電話、及びアプリケーション、例えば、ワードプロセッサ、コンテンツ・ビューア、マルチメディア・プレーヤなどを配布することができる。完全性証明及び検証デバイスは、コンテンツ消費システム／アプリケーション・プロバイダからの個々のアプリケーション及び／又はシステムを登録し、コンテンツ・プロバイダに対して、これらのアプリケーション及びシステムより成るセットを証明する。このサービスを使用することによって、コンテンツ・プロバイダは、完全性証明及び検証デバイスを選択又は信頼し、そのコンテンツの消費を許可されるアプリケーション及びシステムのセットから成るプロファイルを確立し、ユーザ・システムの上で、プロファイルに従って、ユーザ・システム上のアプリケーション及びシステムのセットが真正であることを検証することができる。このようにして、要求又は提出されたコンテンツへのユーザ・アクセス又は制御の範囲が、制御及び決定可能となる。
【００１５】
例示的実施形態は、ＢＩＰを使用して証明及び検証するサービスを含む。１つの例示的実施形態において、完全性証明及び検証デバイスは、コンテンツ及びサービス消費システム／アプリケーション・プロバイダからの個々のアプリケーション及び／システムを登録及び証明し、アプリケーションの振る舞いがＢＩＰ指定を遵守することを検証し、遵守状況の証拠を提供する。消費者は、任意の適切なコンテンツ又はサービス消費システム又はアプリケーションを使用して、提供者によって命令されたＢＩＰを遵守するコンテンツ又はサービスを消費することができる。このようにして、コンテンツ又はサービスの使用は、特定のアプリケーション又はシステムへ消費を限定することなく制御可能である。同様に、消費者は任意の適切なコンピューティング・システム又はアプリケーションを使用して、ＢＩＰを遵守する他のシステム又はアプリケーションと対話することができる。
【００１６】
セキュリティを追加するため、アプリケーション、システムなどの検証は、ＡＩＰと組み合わせたＢＩＰを使用して実行可能である。例示的実施形態において、完全性証明及び検証デバイスは、コンテンツ及びサービス消費システム／アプリケーション・プロバイダからの個々のアプリケーション及び／又はシステムを登録及び証明し、アプリケーション及びシステム・コンポーネントに関連付けられた完全性プロファイルに従ってアプリケーションが真正であることを検証し、アプリケーションの振る舞いがＢＩＰ指定を遵守することを検証し、そのような遵守の証拠を提供する。
【００１７】
本明細書で使用される用語としての文書は、配布又は移転に供される任意の適切な情報単位を含むことができる。そのような情報単位の中には、通信文、本、雑誌、機関誌、新聞、他の定期刊行物、ソフトウェア、プラグイン、写真及び他の画像、オーディオ及びビデオのクリップ、マルチメディア・プレゼンテーションなどが含まれる。文書は、紙の上の印刷形態、記憶メディアの上のディジタル・データ、又は任意の適切な既知又は後に開発される多様なメディア又はソフトウェアの中に具体化可能である。そのようなメディア又はソフトウェアの中には、コンパクトディスク（ＣＤ）、ディジタル・ビデオ・ディスク（ＤＶＤ）、レーザディスク、磁気及び光磁気メディアなどが含まれる。本明細書で使用される用語としての消費及びコンシュームは、任意の適切な行動形態を包含することができる。そのような行動形態の中には、コンテンツ及びサービスの使用、又はコンピュータ・システムへのアクセス又は対話が含まれる。これらの中には、アクセス、レンダリング、編集、操作、実行、複写、記憶、転送、発行、取得、配布などが含まれる。本明細書で使用される用語としてのコンテンツは、名詞によって呼ぶことのできる任意の適切な事物、例えば、エンティティ、リソース、品質、イベント、状態、概念、実体などを包含することができる。例示的なリソースは、文書、マルチメディア・ファイル、ウェブ又は他のサービス、名前、ｅメールアドレスなどを含むことができる。
【００１８】
例示的実施形態のシステム及び方法は、完全性証明及び検証サービスを提供する。例示的実施形態は、コンテンツ消費システム環境のために完全性を証明及び検証するサービスのシステム及び方法を別々に提供することができる。例示的実施形態は、更に、システム及びアプリケーションの標準振る舞いを証明及び検証するシステム及び方法を提供することができる。例示的実施形態は、更に、完全性プロファイルを決定するシステム及び方法を別々に提供することができる。例示的実施形態は、更に、１つ以上のシステム環境の完全性を検証するシステム及び方法を提供することができる。例示的実施形態は、更に、完全性プロファイル、システム及びシステム・コンポーネント情報を管理するシステム及び方法を提供することができる。例示的実施形態は、更に、完全性プロファイルの使用によって、ユーザ・システムの上で完全性検査を実行するシステム及び方法を提供することができる。例示的実施形態は、更に、ＢＩＰの使用によって、ユーザ・システムの上で遵守検査を実行するシステム及び方法を提供することができる。
【００１９】
例示的実施形態において、例えば、ユーザ、システム、デバイスなどによる消費のためにコンテンツを提供するコンテンツ・プロバイダ、例えば、コンテンツ出版者又は配布者（ディストリビュータ）などは、完全性プロファイルの要求を開始することができる。完全性プロファイルのこの要求は、完全性証明及び検証デバイスへ回送される。完全性証明及び検証デバイスは、完全性プロファイルが、要求されたアプリケーション及びシステム・コンポーネントについて既に存在していなければ、様々なシステム・コンポーネント及び／又はアプリケーションをユーザへ供給したコンテンツ消費システム／アプリケーション・プロバイダに問い合わせる。コンテンツ消費システム／アプリケーション・プロバイダは、特定のアプリケーション又はシステム・コンポーネントに関する認証情報を完全性証明及び検証デバイスへ返却する。認証情報へのアクセスを有する完全性証明及び検証デバイスは、ユーザ・システムの上のアプリケーション又はシステム・コンポーネントと、コンテンツ消費システム／アプリケーション・プロバイダによって配布された元のアプリケーション又はシステム・コンポーネントとの間で、比較又は完全性検証を行うことができる。
【００２０】
システム・アプリケーション及びコンポーネントの認証情報は、コンポーネント・データベースの中に記憶可能である。コンテンツ・プロバイダのプロファイルは、プロファイル・データベースの中に記憶可能である。代替として、コンテンツ消費システム／アプリケーション・プロバイダは認証情報のデータベースを維持することができる。このデータベースは完全性証明及び検証デバイスのそれぞれのデータベースへ直接回送可能であり、完全性検証及び証明デバイスが完全性プロファイルを決定する必要性がなくなる。次に、決定された完全性プロファイルに対応する完全性プロファイル識別子は、コンテンツ・プロバイダへ返却される。
【００２１】
コンテンツ・プロバイダ、例えば、コンテンツ・ディストリビュータなどは、例えば、保護されたコンテンツをユーザへ提供する。コンテンツ・プロバイダはディジタル・コンテンツの保護されたバージョンをユーザへ回送する。このバージョンは、例えば、ライセンス契約及び完全性プロファイル識別子を含む。完全性プロファイル識別子は、例えば、保護されたコンテンツと組み合わせて使用されることを許可されるアプリケーション及びシステム・コンポーネント、及びそれらのシステム、アプリケーションなどの完全性プロファイルの識別情報を含む。
【００２２】
コンテンツ消費システム／アプリケーション・プロバイダから認証情報を受け取ると、完全性証明及び検証デバイスは、例えば、ユーザ・システムの要求によって、完全性プロファイルをユーザ・システムへ回送する。この完全性プロファイルを使用して、ユーザ・システムの完全性検証が実行可能である。ユーザ・システムのコンポーネント／アプリケーションが真正であると決定されるならば、次に、コンテンツ・プロバイダから提供されたディジタル・コンテンツは、例えば、追加のプロファイル情報に従ってユーザのアプリケーション及びシステムからアクセス可能である。
【００２３】
有利には、コンテンツ・プロバイダは１つ以上のＢＩＰ識別子をディジタル・コンテンツに関連付けることができる。例えば、音楽コンテンツを再生だけ及び１回だけの複写デバイスによって消費させたい音楽コンテンツ・プロバイダは、再生だけのＢＩＰ識別子及び１回だけの複写のＢＩＰ識別子の双方をコンテンツに関連付けることができる。ＡＩＰ識別子は、保護されたコンテンツに関連付けられないが、システム／アプリケーション・プロバイダによってアプリケーション及びシステム・コンポーネントの中へ埋め込まれるか関連付けられてよい。例えば、コンテンツ・プロバイダがサービスを提供している場合、コンテンツ・プロバイダは、安全なブラウザが使用されているときにのみ顧客がサービスを消費できるように欲してよい。
【００２４】
ＢＩＰ識別子を使用して、完全性証明及び検証デバイスは、そのプロファイル検証デバイスからＢＩＰ遵守の証拠を検索する。ＡＩＰ識別子を使用して、完全性証明及び検証デバイスは、完全性プロファイルを検索し、それをユーザ・システムへ回送する。この完全性プロファイルを使用して、ユーザ・システムの完全性検証を実行し、ユーザ・システムのコンポーネント／アプリケーションが改ざんされなかったことを確かめることができる。ユーザ・システムのコンポーネント／アプリケーションが真正であると決定され、ＢＩＰ遵守の証拠が存在すれば、コンテンツ・プロバイダによって提供されたディジタル・コンテンツは、ユーザのアプリケーション及びシステムによって消費可能である。同様に、コンポーネント／アプリケーションが真正であると決定され、ＢＩＰ遵守の証拠が存在するならば、サービスは消費可能であるか、アプリケーション又はコンピューティング・リソースはアクセス可能である。
【００２５】
しかし、完全性証明の要求はコンテンツ・プロバイダのところで発生する必要はないことを理解すべきである。例えば、証明の要求は、保護されたコンテンツと一緒にコンテンツ・プロバイダからユーザのシステムへ回送されるプロファイル識別情報の中に埋め込まれたソフトウェア・アプリケーションによって開始されてよい。
【００２６】
更なる例示的実施形態において、コンテンツ・プロバイダは、更に、完全性検証及び証明システムとして奉仕することができる。例えば、コンテンツ・プロバイダは、適切な認証情報を集め、コンテンツ・プロバイダ自身で使用するための完全性プロファイルを決定することによって、完全性証明及び検証サービスそれ自体を実行することができる。
【００２７】
更なる例示的実施形態において、コンテンツ又はサービス消費アプリケーション／システム・プロバイダは、更に、完全性証明及び検証デバイスとして行動することができる。例えば、コンテンツ又はサービス消費アプリケーション／システム・プロバイダは、更に、関連付けられたアプリケーション及び／又はシステム・コンポーネントと一緒に完全性プロファイルを供給することができる。
【００２８】
例示的実施形態のシステム及び方法は、証明及び検証サービスを提供して、ディジタル・コンテンツ及びサービスの消費及びコンピューティング・システムの使用又は他の対話のために、環境の完全性を決定する。例えば、コンシューマ・メディア、例えば、オーディオ、ビデオ、オンライン・サービスなどを含むコンテンツ及びサービスを消費する例示的システムが提供される。コンテンツを消費する例示的システムは、１つ以上のコンテンツ・プロバイダと１つ以上のコンテンツ消費システム及びアプリケーション・プロバイダとの間に導入された完全性証明及び検証デバイスを含むことができる。完全性証明及び検証デバイスは、コンテンツ消費アプリケーション及び／又はシステム・プロバイダから認証情報を取得する。この認証情報は、コンテンツが提供される環境をコンテンツ・プロバイダが信頼することを許可する。このようにして、コンテンツ消費アプリケーション及びシステム・プロバイダから受け取られた認証情報に基づいて、完全性プロファイルが確立される。次に、このプロファイルは、ユーザ・システムへ回送され、コンテンツ・プロバイダによって提供されたディジタル・コンテンツをユーザが変更、修正しなかったか、又は許可されない方法で可能性として干渉しないかを確認する。
【００２９】
ここで図面を参照する。同様の参照数字は、いくつかの図面の全体で同一又は対応する部分を示す。具体的に図１Ａを参照すると、そこには完全性証明及び検証を実行する例示的システム１００が示される。例示的実施形態において、完全性証明及び検証システム１００は、完全性証明及び検証デバイス２００、コンテンツ・プロバイダ及び／又はディストリビュータ３００、ユーザ・システム４００、コンテンツ消費システム／アプリケーション・プロバイダ５００、コンポーネント・データベース２６０、プロファイル・データベース２７０などを含むことができる。
【００３０】
例示的動作環境において、コンテンツ消費システム／アプリケーション・プロバイダ５００は、アプリケーション、システム、及び／又はソフトウェア／ハードウェア・コンポーネントをユーザへ提供する。ユーザ・システム４００は、コンテンツ・プロバイダ及びディストリビュータ３００によって供給されるディジタル・コンテンツ、例えば、文書の消費を許可する。ユーザ・システム４００の完全性を検証するため、完全性証明及び検証デバイス２００は、コンテンツ消費システム／アプリケーション・プロバイダ５００から、個々のアプリケーション、システム、及び／又はソフトウェア／ハードウェア・コンポーネントに関する認証情報を収集及び登録する。この認証情報を使用して、完全性証明及び検証デバイス２００は、コンテンツ・プロバイダ３００からのサービス要求２０に基づいて１つ以上のアプリケーション、システム、及び／又はシステム・コンポーネントの完全性プロファイルを決定及び証明する。次に、この決定された完全性プロファイル５０はユーザ・システム４００へ回送され、ユーザ・システム４００の完全性が決定可能になる。
【００３１】
動作において、コンテンツ・プロバイダ及びディストリビュータ３００は、ディジタル・コンテンツ、例えば、文書などをユーザ・システム４００へ提供する。ユーザ・システム４００は、１つ以上のシステム・コンポーネント、例えば、ハードウェア・コンポーネント及び／又は様々なソフトウェア・アプリケーションなどを含むことができる。これらのアプリケーション及びハードウェア／ソフトウェア・コンポーネントは、通常、１つ以上のコンテンツ消費システム／アプリケーション・プロバイダ、例えば、コンピュータ供給者、ソフトウェア卸売商、アプリケーション・プロバイダなどからユーザによって取得される。次に、これらのアプリケーション及びハードウェア及びソフトウェア・コンポーネントは、適当に、既にアセンブルされていなければ、ユーザによってアセンブルされ、インストールされる。それは、ユーザがコンテンツ、例えば、文書などの消費を許可されるためである。
【００３２】
したがって、ユーザ環境のアプリケーション及びハードウェア／ソフトウェアの使用の過程で、ユーザは、保護されたコンテンツ、例えば、文書を閲覧したいと望んでよい。このようにして、ユーザ４００は、コンテンツ・プロバイダ３００から、１つ以上のコンテンツ、例えば、電子ブック、マルチメディア・ファイル、プレゼンテーション、フォーム・テンプレートなどを要求することができる。この要求を受け取ると、コンテンツ・プロバイダ及びディストリビュータ３００は、プロファイル識別子１０と一緒に、要求されたコンテンツを保護された形式でエンドユーザ４００へ提供することができる。このプロファイル識別子１０は、例えば、保護されたコンテンツをどのアプリケーションの中で閲覧できるかの詳細、また例えば、提供されたコンテンツを特定のソフトウェア／ハードウェア環境の中で操作できる範囲を含む。
【００３３】
更に、コンテンツ・プロバイダ３００は、サービス要求２０を完全性証明及び検証デバイス２００へ回送することができる。サービス要求２０は、例えば、コンテンツ・プロバイダ３００が、配布及び保護されたコンテンツの消費をユーザ・システム４００に許可したいと望むコンポーネント及び／又はソフトウェア・アプリケーションのリストを含む。完全性証明及び検証デバイス２００は、サービス要求の中で識別されたコンポーネント及びアプリケーション／ソフトウェアが、コンポーネント・データベース２６０及び／又はプロファイル・データベース２７０の中に記憶された対応認証情報を有するかどうかを決定する。完全性証明及び検証デバイスが、サービス要求２０の中で指定された認証情報へのアクセスを有さないならば、完全性証明及び検証デバイス２００は、１つ以上のコンテンツ消費システム／アプリケーション・プロバイダ５００から、特定のアプリケーション、システム、ハードウェア／ソフトウェア・コンポーネントなどに関する認証情報を要求することができる。この認証情報へのアクセスを取得すると、完全性証明及び検証デバイス２００は、アプリケーション及びシステム・コンポーネントに関する情報をコンポーネント・データベース２６０の中に記憶する。更なる例示的実施形態において、完全性証明及び検証デバイス２００は、１つ以上のアプリケーションについて完全性プロファイルを展開することができる。アプリケーション、システム、及びシステム・コンポーネントの真正を確認するこの情報を使用して、完全性証明及び検証デバイス２００は、完全性プロファイル５０をユーザ・システム４００へ回送する。この完全性プロファイル５０は、ユーザ・システム４００のシステム、システム・コンポーネント、及び／又はアプリケーションの真正を確認するために使用される。ユーザのシステム・コンポーネント及び／又はアプリケーションが真正であると決定されるならば、保護されたコンテンツ１０は非保護にされ、ユーザ・システム４００は、完全性プロファイルに従って、保護されたコンテンツを閲覧し、又は操作などを行うことができる。
【００３４】
図１Ｂは、完全性証明及び検証を実行する他の例示的システムを示す。このシステムは、ＡＩＰ検証と組み合わせてＢＩＰ検証を使用する。図１Ａで示された例示的システムと同じように、ユーザ・システム４００は、コンテンツ・プロバイダ３００から、１つ以上のコンテンツ、例えば、電子ブック、マルチメディア・ファイル、プレゼンテーション、フォーム・テンプレートなどを受け取る。コンテンツ・プロバイダ及びディストリビュータ３００は、１つ以上のＢＩＰ識別子、任意的なＢＩＰ結合検証フラグ、及び任意的にエンドユーザ・システム４００への使用ライセンスと一緒に、保護された形態のコンテンツを提供することができる。ＢＩＰ識別子は、具体的なＢＩＰ指定を示す。このＢＩＰ指定は、振る舞い又は項目の周知のセット、又は保護されたコンテンツをユーザ・システム４００が消費するために遵守する条件を指定する。ＢＩＰ結合検証フラグは、複数のＢＩＰ識別子が指定されたとき、ＢＩＰ遵守を結合して検証するかどうかを示す。ＢＩＰ結合検証フラグが明示的に指定されていなければ、完全性証明及び検証デバイスは、その検証をデフォルトの非結合検証にすることができる。例えば、コンテンツ・プロバイダ及びディストリビュータ３００が、保護されたコンテンツについて再生だけのＢＩＰ識別子及び１回だけの転送ＢＩＰ識別子の双方を指定し、ＢＩＰ結合検証フラグが指定されるならば、再生だけのＢＩＰ及び１回だけの転送ＢＩＰの双方を遵守するシステム、アプリケーションなどだけが、保護されたコンテンツを消費することができる。他方、ＢＩＰ結合検証フラグが指定されなければ、再生だけのＢＩＰ又は１回だけの転送ＢＩＰ又は双方のＢＩＰを遵守するシステム、アプリケーションなどが、保護されたコンテンツを消費することができる。他の例示的システムにおいて、ユーザ・システム４００は、コンテンツ・プロバイダ３００からコンテンツを直接受け取ることなく、１つ以上のＢＩＰ識別子、任意的なＢＩＰ結合検証フラグ、及び任意的な使用ライセンスをコンテンツ・プロバイダ３００から受け取る。このシナリオのもとで、コンテンツはユーザ・システム４００の中に存在してよい。このコンテンツは、任意的な使用ライセンスによって参照されるか、他の手段によって暗示又は参照される。更に他の例において、「コンテンツ」は、ユーザ・システム３００からアクセスできる任意の適切なコンテンツ、サービス、コンピューティング環境などを含むことができる。
【００３５】
ユーザ・システム４００が、保護されたコンテンツを消費できる前に、完全性証明及び検証デバイス２００は、アプリケーション／システムの完全性を検証し、それらが真正であって、それらの振る舞いがＢＩＰ指定を遵守することを確かめる。ユーザのシステム・コンポーネント及び／又はアプリケーションが双方の規準を満足させると決定されるならば、保護されたコンテンツ１０は非保護となり、ユーザ・システム４００は、ＢＩＰ指定に従って、保護されたコンテンツを消費することができる。有利には、アプリケーション及びシステムの所望の特性及び振る舞いに基づいて、それらアプリケーション及びシステムを証明することによって、同じ保護されたコンテンツが、既存の証明済みアプリケーション及びシステム、これから開発及び証明されるアプリケーション及びシステム、又は将来証明されたときの既存のアプリケーション及びシステムによって消費可能である。
【００３６】
ユーザ・システム４００の完全性を検証するため、完全性証明及び検証デバイス２００は、コンテンツ消費システム／アプリケーション・プロバイダ５００からの個々のアプリケーション、システム、及び／又はソフトウェア／ハードウェア・コンポーネントに関する認証情報を収集及び登録する。この認証情報を使用して、完全性証明及び検証デバイス２００は、１つ以上のアプリケーション、システム、及び／又はシステム・コンポーネントの完全性プロファイルを決定及び証明する。次に、ＡＩＰ５０がユーザ・システム４００へ回送され、ユーザ・システム４００の完全性が決定可能となる。一度、システムの完全性が確認され、システムが改ざんされていないことが決定されると、完全性証明及び検証デバイス２００は、アプリケーションが、実際に、ＢＩＰ識別子によって識別されたＢＩＰ指定を遵守する証拠が存在することを検証することによって、アプリケーションがＢＩＰ指定を遵守することを確かめる。完全性証明及び検証デバイス２００は、保護されたコンテンツ１０の中に指定されたＢＩＰ識別子を取得し、ＡＩＰからの情報に基づいてアプリケーション識別情報を構築し、この情報を使用して、ＢＩＰ遵守の証拠を取得する。完全性証明及び検証デバイス２００は、そのプロファイル検証デバイスを起動し、ＢＩＰ識別子及びアプリケーション識別情報に関連付けられた遵守状況を検索することによって、ＢＩＰ遵守の証拠を動的に取得することができる。システムの完全性及びシステムの振る舞いの双方が、対応するＡＩＰ及びＢＩＰを使用して成功裏に検証されたとき、ユーザ・システム４００は、保護されたコンテンツの消費を許可される。
【００３７】
図１Ｃは、更に、完全性証明及び検証を実行する他の例示的システムを示す。このシステムは、ＢＩＰ検証の使用のみを必要とする。本実施形態において、ユーザ・システム４００が、保護されたコンテンツを消費できる前に、完全性証明及び検証デバイス２００は、アプリケーション／システムの完全性を検証し、それらの振る舞いがＢＩＰ指定を遵守することを確かめる。ユーザのシステム・コンポーネント及び／又はアプリケーションがＢＩＰ指定を遵守すると決定されるならば、保護されたコンテンツ１０は非保護となり、ユーザ・システム４００は、ＢＩＰ指定に従って、保護されたコンテンツを消費することができる。このアプローチの利点は、パフォーマンスが速くなることである。なぜなら、ＡＩＰ検証ステップが実行される必要はないからである。しかし、ＢＩＰ遵守の証拠がユーザ・システム４００について存在しても、ユーザ・システム４００が改ざんされなかった保証はない。例えば、クローズド・システムの中の或る一定のアプリケーションについては、アプリケーション完全性検証を使用する必要はない。
【００３８】
図１Ｃによれば、完全性証明及び検証デバイス２００は、アプリケーションが、実際に、ＢＩＰ識別子によって識別されたＢＩＰ指定を遵守する証拠が存在することを検証することによって、アプリケーションがＢＩＰ指定を遵守することを確かめる。完全性証明及び検証デバイス２００は、保護されたコンテンツ１０の中に指定されたＢＩＰ識別子を取得し、ユーザ・システム４００からの情報に基づいてアプリケーション識別情報を構築し、この情報を使用してＢＩＰ遵守の証拠を取得する。完全性証明及び検証デバイス２００は、そのプロファイル検証デバイスを起動し、ＢＩＰ識別子及びアプリケーション識別情報に関連した遵守状況を検索することによって、ＢＩＰ遵守の証拠を動的に取得することができる。アプリケーションの振る舞いが、ＢＩＰを使用して成功裏に検証されたとき、ユーザ・システム４００は、保護されたコンテンツへのアクセス又は消費を許可される。
【００３９】
アプリケーション、システム、及び／又はソフトウェア／ハードウェア・コンポーネントがＢＩＰを遵守することを確かめるため、完全性証明及び検証デバイス２００は、機能及び／又はシステム・レベルで厳格な検証を実行し、アプリケーション／システムの振る舞いが、ＢＩＰの中の指定を遵守することを検証することができる。
【００４０】
機能レベルにおいて、検証プロセスは、アプリケーション／システムによって提供された全ての適切な機能が、ＢＩＰ指定によって定められた境界の中で動作することを確かめることができる。機能レベルにおける検証プロセスは、特徴の実行を目的とする自動及び／又は手作業テストを利用することができる。例えば、再生だけのＢＩＰが与えられるならば、検証プロセスは、アプリケーション／システムが、再生だけの特徴、例えば、ユーザへのコンテンツ表示などを提供することを確かめることができる。したがって、アプリケーション／システムによって提供され、再生だけの振る舞いに違反する特徴、例えば、編集、複写などは、アプリケーション／システムが非遵守と見なされる結果を生じるであろう。
【００４１】
システム・レベルにおいて、検証プロセスは、アプリケーション／システムが、ＢＩＰに違反する意図的又は意図的でない効果を有さないことを確かめることができる。例えば、アプリケーション／システムは、一時ファイルを使用してコンテンツを平文でキャッシュすること、大量の平文コンテンツをメモリへ書き込み、次にそれをスワップ・ファイルへ転送すること、平文コンテンツ情報をレジストリ又は環境変数へ書き込むことなどによって、意図的でない効果を有するかもしれない。したがって、システム・レベルにおける検証プロセスは、低レベルの監視ソフトウェアを利用して、ファイルＩ／Ｏ、ネットワークＩ／Ｏ、メモリ追跡、及び他の効果を検出して、ＢＩＰ遵守を決定することができる。
【００４２】
機能及びシステム検証は、システム／アプリケーション・プロバイダ５００が、証明のためにそのアプリケーション／システムを登録するときに実行可能である。検証は、完全性証明及び検証デバイスのコンポーネント登録デバイス・サブコンポーネントによって実行可能であるが、実行される必要がある。一度、コンポーネント登録デバイスが、ＢＩＰと関連付けられたアプリケーション／システムの遵守状況を決定すると、コンポーネント登録デバイスは、アプリケーション／システムに関する詳細な識別情報と一緒に、状況をコンポーネント・データベースへ記録する。アプリケーション／システムを正確に識別するために必要な識別情報のタイプの例は、アプリケーション／システム製品名又は一意の識別番号及び／又は完全なバージョン番号などを含むことができる。アプリケーション／システムの識別情報及びＢＩＰ識別子を使用して、プロファイル検証デバイスは、完全性証明及び検証デバイスからの検証要求に応答して遵守状況を検索することができる。理解されるように、上記の例示的ＢＩＰ証明モデルは、必要に応じて変更可能である。更に理解されるように、例示的検証モデルは、コンテンツ消費環境以外のために、必要に応じて変更可能である。
【００４３】
一般的に、ＢＩＰ指定は、組織、例えば、標準団体、商業グループ、政府団体などによって作成可能であり、産業界の中のベンダなどによって採用可能である。各々のＢＩＰ指定は、アプリケーションの振る舞い又は特徴、セキュリティ要件、及びベンダがそれらのシステム、アプリケーションなどにプロファイルを遵守させるため何を行うことができるかの詳細情報から成るセットを記述する。有利には、各々のＢＩＰ指定は、それに関連付けられた一意のＢＩＰ識別子を有することができる。
【００４４】
図２は、完全性証明及び検証環境１００のコンポーネントの例示的概観を示す。図２において、完全性証明及び検証環境１００は、１つ以上のコンテンツ・プロバイダ３００、１つ以上のユーザ・システム４００、１つ以上の完全性証明及び検証デバイス２００、１つ以上のコンテンツ消費システム／アプリケーション・プロバイダ５００などを含むことができる。
【００４５】
コンテンツ・プロバイダ３００は、コントローラ３１０、メモリ３２０、Ｉ／Ｏコントローラ３３０、コンテンツ・データベース３４０などを含むことができる。更なる例示的実施形態において、コンテンツ・プロバイダ３００は、更に、より伝統的な方法でコンテンツを配布することができる。例えば、コンテンツ・プロバイダ３００は、コンテンツを含むコンパクトディスクなどを配布することができる。コンパクトディスクは、例えば、郵便サービスなどを介してユーザへ配達可能である。一般的に、配布及び流布プロセスの適切なタイプを、例示的実施形態のシステム及び方法で等しく良好に使用することができる。
【００４６】
完全性証明及び検証デバイス２００は、コントローラ２１０、メモリ２２０、Ｉ／Ｏコントローラ２３０、ディジタル署名デバイス２４０、コンポーネント登録デバイス２５０、コンポーネント・データベース２６０、プロファイル・データベース２７０、プロファイル作成デバイス２８０、プロファイル配布デバイス２９０、プロファイル検証デバイス２９５などを含むことができる。完全性証明及び検証デバイス２００は、コンポーネント登録サービス、振る舞い完全性プロファイル（ＢＩＰ）証明サービス、完全性プロファイル・サービスなどを提供することができる。登録サービスは、それぞれの提供者からのアプリケーション、システム、及び／又はソフトウェア／ハードウェア・コンポーネントを、意図された特性、目的、及び／又は振る舞いと一緒に、真正なものとして登録させる。
【００４７】
ＢＩＰ証明サービスは、システム、アプリケーションなどがＢＩＰを遵守することを証明し、またＢＩＰ遵守状況の証拠を提供するために提供される。システム／アプリケーションの登録中に、完全性証明及び検証デバイス２００は、コンポーネント登録デバイス２５０を使用して、システム監視プロセス及びプロファイル・データベース２７０の中に記憶された検証テスト・ケースを実行し、コンポーネント・データベース２６０の中に登録されたシステム／アプリケーションのＢＩＰ遵守状況を決定する。システム／アプリケーションを成功裏に証明したとき、ＢＩＰ証明サービスは、ＢＩＰを作成及び発行して、証明されているシステム／アプリケーションにＢＩＰを関連付ける。遵守状況は、アプリケーション／システム識別情報と一緒に、コンポーネント・データベース２６０の中に記録及び記憶される。ＢＩＰ証明サービスの一部分として、プロファイル検証デバイス２９５は、アプリケーション／システム識別情報に関連付けられた遵守状況を検索することによって、遵守の証拠を提供する。
【００４８】
例示的実施形態において、ＢＩＰ証明サービスは、完全性証明及び検証デバイス２００のコンポーネントを使用して実現可能である。代替的に、ＢＩＰ証明サービスは、別個のＢＩＰ証明サービス・プロバイダとして実現可能である。そのような場合、コンテンツ消費システム／アプリケーション・プロバイダ５００は、ＢＩＰ証明サービス・プロバイダによる直接のＢＩＰ証明のため、そのアプリケーションを登録することができる。続いて、アプリケーションの検証中に、完全性証明及び検証デバイス２００は、ＢＩＰ識別子及びアプリケーション情報をオンラインＢＩＰ証明サービス・プロバイダへ送ることによって、ＢＩＰ遵守の証拠を動的に取得することができる。
【００４９】
完全性プロファイル・サービスは、完全性プロファイルを組立及び検索するためにユーザへ提供可能である。完全性プロファイルは、任意的にディジタル署名された文書などの形態であってよく、検証可能な情報、及び保護された文書のコンテンツを消費する登録システム・コンポーネントのセットを含むことができる。一度、完全性プロファイルが作成されると、完全性プロファイルの識別子がユーザへ返却される。コンテンツ・プロバイダは、完全性プロファイル識別子を含むことができ、有利には、任意的に、保護された文書と一緒に使用ライセンスを提供することができる。保護された文書のコンテンツが消費され、ユーザのシステム及び環境のローカル完全性検証を実行する必要性が存在するとき、完全性プロファイルは、ユーザ・システムのために完全性証明及び検証デバイス２００から検索可能である。
【００５０】
ユーザ・システム４００は、コントローラ４１０、メモリ４２０、Ｉ／Ｏコントローラ４３０、記憶デバイス４４０、完全性認証デバイス４５０、プロファイル記憶デバイス４６０などを含むことができる。したがって、そのような例示的ユーザ・システムは、コンピュータのモデルに基づくことを理解すべきである。しかし、更に、例示的ユーザ・システムのコンポーネントは、更なる例示的実施形態に従って、例えば、消費されているコンテンツ又はサービスのタイプ、アクセスされているコンピューティング環境のタイプ、従事されている活動のタイプなどに依存して、変更可能であることを理解すべきである。一般的に、完全性を検証できる１つ以上の部分を有する任意の適切なユーザ・システムは、例示的実施形態のシステム及び方法と一緒に等しく良好に使用可能である。
【００５１】
システム／アプリケーション・プロバイダ５００は、コントローラ５１０、メモリ５２０、Ｉ／Ｏコントローラ５３０、登録アプリケーション・デバイス５４０、アプリケーション・データベース５５０、システム・データベース５６０などを含むことができる。しかし、コンテンツ・プロバイダ３００と同じく、システム／アプリケーション・プロバイダは、更なる例示的実施形態に従って、システム／アプリケーション・プロバイダが供給するシステム及び／又はアプリケーションのタイプに依存して、いくつかの異なる形態を有することができる。例えば、システム／アプリケーション・プロバイダ５００が特定のハードウェア・コンポーネントを供給するならば、システム／アプリケーション・プロバイダ５００はアプリケーション及びシステム・データベースを維持する必要はない。更なる例示的実施形態において、システム／デバイス・コンポーネント供給者は、例えば、ディスクなどの上で、認証情報を完全性証明及び検証デバイス２００へ直接送ることができる。
【００５２】
他の例示的実施形態において、システム／アプリケーション・プロバイダ５００は、コンテンツ・プロバイダ３００とエフォート(effort)を調整して、完全性プロファイルの決定を促進することができる。一般的に、システム／アプリケーション・プロバイダは、ハードウェア又はソフトウェア及びそれらに関する認証情報を供給できる任意の適切なエンティティを含むことができる。
【００５３】
例示的実施形態において、システム／アプリケーション・プロバイダ５００は、様々なシステム・コンポーネントを含むことができる。しかし、システム／アプリケーション・プロバイダ５００は、更なる例示的実施形態に従って、コンピュータ・ディストリビュータ、ソフトウェア開発者、ソフトウェア・プロバイダ、ソフトウェア・ディストリビュータなどを含むことができることを理解すべきである。このようにして、システム／アプリケーション・プロバイダ５００は、コンテンツ・プロバイダ３００によって提供されるコンテンツの消費を考慮するデバイス及び／又はソフトウェアを供給することができる。
【００５４】
完全性証明及び検証環境１００の様々なコンポーネントは、リンク５を介して相互に通信することができる。リンク５は、有線又は無線リンク、又は接続された要素の間で電子データを供給できる他の適切な既知又は後に開発される要素であってよい。例えば、リンク５は１つ以上の分散ネットワークを含むことができる。分散ネットワークは１つ以上の追加の完全性証明及び検証環境１００へ接続可能であるか、代替として、１つ以上のコンテンツ・プロバイダ３００、ユーザ・システム４００、コンテンツ消費システム／アプリケーション・プロバイダ５００、完全性証明及び検証デバイス２００などの複数のインスタンス(instance)へ接続可能である。
【００５５】
例示的動作環境において、コンテンツ消費システム／アプリケーション・プロバイダ５００は、アプリケーション、ソフトウェア、及び／又はハードウェアをユーザへ供給する。これらのアプリケーション、ソフトウェア、及び／又はハードウェアは、コンテンツの消費、例えば、文書の閲覧などを行うため、ユーザによって使用される。
【００５６】
コンテンツ・プロバイダ３００は、例えば、ユーザ・システム４００に位置するユーザ
の要求により、コンテンツ、例えば、文書などをユーザ・システム４００へ配布する。例示的実施形態において、要求は、ユーザ・システム４００からコンテンツ・プロバイダ３００によって受け取られてよい。Ｉ／Ｏコントローラ３３０を介して受け取り可能なこの要求は、メモリ３２０と協調するコントローラ３１０によって処理され、要求されたコンテンツをコンテンツ・データベース３４０から検索する。例示的実施形態において、コンテンツ・プロバイダ３００は、オンライン・コンテンツ・プロバイダ、ブックストア、ソフトウェア・プロバイダ、コンテンツ、例えば、文書などをユーザなどへ提供したいと望む任意の他の適切なコンテンツ・プロバイダなどを含むことができる。
【００５７】
ユーザ・システム４００からコンテンツ要求を受け取ると、コンテンツ・プロバイダ３００は、要求されたコンテンツ、及び保護されたコンテンツに関連付けられた追加情報、例えば、プロファイル識別子などをユーザ・システムへ返却する。更なる実施形態において、追加情報は、コンテンツを動作可能にする前に、プロファイル、したがって完全性証明の要求をユーザ・システムに指示する情報を含むことができる。追加情報は、更に、要求されたコンテンツを閲覧又は対話するとき、どのようなシステム・コンポーネント及び／又はハードウェア／ソフトウェアがユーザ・マシンの上で実行及び／又は使用可能であるかを識別する情報を含むことができる。このようにして、１つ以上の要求されたコンテンツ、追加情報、プロファイル識別子などが、Ｉ／Ｏコントローラ４３０を介してユーザ・システム４００によって受け取られ、コントローラ４１０の指令で１つ以上のメモリ４２０及び記憶デバイス４４０の中に記憶される。
【００５８】
例示的実施形態において。コンテンツ・プロバイダ３００は、完全性証明及び検証デバイス２６０からのサービス要求２０、例えば、完全性プロファイルの要求を開始することができる。完全性証明及び検証デバイス２６０は、Ｉ／Ｏコントローラ２３０を介して、またコントローラ２１０及びメモリ２２０と協力して、コンテンツ・プロバイダ３００からのサービス要求を受け取る。
【００５９】
前述したように、完全性証明及び検証デバイス２００は、コンポーネント・データベース２６０及びプロファイル・データベース２７０を含むことができる。コンポーネント・データベース２６０は、１つ以上のコンテンツ消費システム／アプリケーション・プロバイダ５００によって配布されるシステム及びシステム・コンポーネントに関する認証情報へのアクセスを提供する。同様に、プロファイル・データベース２７０は、検証可能な情報、及び１つ以上の個々のコンテンツ・プロバイダ３００のために、保護された文書のコンテンツを消費する登録システム・コンポーネントのセットを記憶する。検証可能な情報は、登録されたシステム及びアプリケーションについて、ＢＩＰ遵守の証明で使用される検証テスト・ケースを含むことができる。
【００６０】
このようにして、コンテンツ・プロバイダ３００から完全性プロファイルの要求を受け取ると、完全性証明及び検証デバイス２００は、コントローラ２１０の指令及びメモリ２２０の助けにより、コンポーネント・データベース２６０及びプロファイル・データベース２７０を探索し、サービス要求の中の情報に対応する認証情報が既に存在するかどうかを決定する。
【００６１】
更なる例示的実施形態において、完全性証明及び検証デバイス２００は、オンライン検証サービスを実行することができる。オンライン検証サービスは、完全性証明及び検証デバイス２００の中で、オンラインで、例えば、リアルタイムの、又はリアルタイムに近い完全性検証を実行するために提供される。このサービスを開始するため、完全性オーセンティケータ（ａｕｔｈｅｎｔｉｃａｔｏｒ）と呼ばれる１つのソフトウェアが、ユーザ・システム４００へ回送可能である。完全性オーセンティケータは、ローカル・ソフトウェア及び／又はハードウェア・コンポーネントの情報収集を許可する。
【００６２】
他の例示的実施形態において、完全性オーセンティケータは、専用デバイス、例えば、図２で示される完全性認証デバイス４５０などであってよい。ローカル・ソフトウェア及び／又はハードウェア・コンポーネントに関して集められた情報は、完全性プロファイル識別子と共に完全性証明及び検証デバイス２００へ返却され、オンライン完全性検証が実行可能になる。コンポーネント登録デバイス２５０は、それぞれの提供者からのソフトウェア／ハードウェア・コンポーネントを検査し、識別情報をコンポーネント・データベース２６０の中に記憶する。ソフトウェア／ハードウェア・コンポーネントに関する情報は、例えば、ハッシュ可能であり、ハッシュ値は、真正なソフトウェア／ハードウェア識別子として使用可能である。しかし、各々のソフトウェア／ハードウェア・コンポーネントを識別する情報は、更なる例示的実施形態に従って、１つの真正なハードウェア及び／又はソフトウェアの識別を考慮する任意の適切な既知又は後に開発されるスキームであってよいことを理解すべきである。
【００６３】
例示的実施形態において、特定のソフトウェア及び／又はハードウェア・コンポーネントの登録は、識別及び証明検証デバイス２００と通信して登録サービスを要求するコンテンツ消費システム／アプリケーション・プロバイダ５００によって達成可能である。更なる例示的実施形態において、識別及び証明検証デバイス２００は、認証情報を安全にするため、コンテンツ消費システム／アプリケーション・プロバイダ５００と通信することができる。コントローラ５１０、メモリ５２０、及びＩ／Ｏコントローラ５３０と協力する登録アプリケーション・デバイス５４０は、１つ以上のアプリケーション・データベース５５０及びシステム・データベース５６０を探索し、特定のソフトウェア及び／又はハードウェアに関する情報を安全にする。その情報の中には、提供者名、コンポーネント識別子、例えば、一連番号、バージョン番号、組立番号など、アプリケーション自体などが含まれる。
【００６４】
例示的動作シナリオにおいて、特定のコンテンツ消費システム／アプリケーション・プロバイダ５００から認証情報を獲得する代わりに、完全性証明及び検証デバイス２００は、コンテンツ消費システム／アプリケーション・プロバイダ５００から特定のアプリケーション、例えば、ソフトウェア・プログラムなどを直接要求することができる。このようにして、完全性証明及び検証デバイス２００は認証情報を使用する必要はない。なぜなら、完全性証明及び検証デバイス２００は、コンテンツ消費システム／アプリケーション・プロバイダ５００から特定のソフトウェア・アプリケーションを直接確保することができるからである。
【００６５】
コンポーネント登録デバイス２５０は、コンポーネントの情報を検証し、任意的に、例えば、ハッシュ値を計算する。このハッシュ値は、例えば真正なソフトウェア及び／又はハードウェア識別子として使用可能である。次に、コンポーネント登録デバイス２５０は、コンポーネント情報、及び、例えば、ハッシュ値をコンポーネント・データベース２６０の中に記憶する。
【００６６】
システム／アプリケーション・プロバイダがＢＩＰ証明のためにアプリケーション／システムを登録する場合、コンポーネント登録デバイス２５０は、更に、機能的及びシステム検証を実行して、ＢＩＰに関連したアプリケーション／システムの遵守状況を決定する。次に、コンポーネント登録デバイス２５０は、アプリケーション／システムに関する詳細な識別情報と一緒に、遵守状況をコンポーネント・データベース２６０の中に記録する。
【００６７】
更なる例示的実施形態において、ソフトウェア及び／又はハードウェア・コンポーネントを登録アプリケーション・デバイス５４０へ送る代わりに、コンテンツ消費システム／アプリケーション・プロバイダ５００は、更に、コンポーネント登録デバイス２５０へ接続して、小さなソフトウェア・アプリケーション、例えば、登録アプリケーション、プラグイン、アプレットなどをダウンロードし、それをローカルで実行させることができる。この登録アプリケーションは、目標のソフトウェア／ハードウェア・コンポーネントを審査し、このソフトウェア／ハードウェア・コンポーネントに関する情報を、可能性として完全性値、例えば、ハッシュ値などと一緒にコンポーネント登録デバイス２５０へ送る。デバイス２５０は、コンポーネントに関する認証情報をコンポーネント・データベース２６０の中に記憶することができる。
【００６８】
他の例示的実施形態において、プロファイル作成デバイス２８０は、ソフトウェアのために完全性プロファイルを組み立てる。例えば、各々のソフトウェア・アプリケーションの完全性値、例えば、ハッシュ値などは、コンポーネント・データベースから検索及び記憶可能である。コンポーネント間の任意的な対話関係も、プロファイルに含むことができる。この関係は、他のコンポーネントとの意図的でない対話を防止するため、コンポーネントの呼び出し及び返却シーケンスを識別するために使用される。次に、完全性プロファイルのコンテンツは、例えば、ディジタル署名され、結果の署名は、完全性プロファイルへ添付される。各々の完全性プロファイルは一意の識別子に関連付けられる。
【００６９】
プロファイル作成デバイス２８０は、更に、ＢＩＰ証明のために登録されて成功裏に合格したシステム及びアプリケーションについてＢＩＰを組み立てることができる。プロファイル作成デバイス２８０は、コンポーネント・データベース２６０から各々のアプリケーションのＢＩＰ遵守状況を検索することができ、成功した遵守証明を遵守状況が示すならば、アプリケーションのためにＢＩＰを作成することができる。プロファイル作成デバイスは、任意的に、遵守状況をＢＩＰの中に記録することができる。各々のＢＩＰは、更に、ＢＩＰ指定に関連付けられた一意のＢＩＰ識別子及びアプリケーション／システム識別情報を含むことができる。次に、完全性プロファイルのコンテンツは、例えば、ディジタル署名され、結果の署名がＢＩＰへ添付される。
【００７０】
図３は、完全性証明及び検証デバイス２００によって提供される入力、出力、サービス、及び動作の例示的ワークフローを示す。例示的実施形態において、コンポーネント登録サービスのために、コンポーネント識別子、及び、任意的に、特定のコンポーネントに関するメタ情報が、コンポーネント登録デバイス２５０へ回送される。コンポーネント登録デバイス２５０は、例えば、意図された特性、目的、及び振る舞いと一緒に、コンポーネントをコンポーネント・データベースの中に登録する。次に、コンポーネント登録デバイス２５０は、例えば、コンテンツ消費システム／アプリケーション・プロバイダへ、登録されたコンポーネントの識別子を返却し、その識別子を、例えば、コンテンツ・プロバイダ３００で利用できるようにする。
【００７１】
プロファイルを作成するため、プロファイル作成デバイス２８０は、登録されたコンポーネントの識別子を受け取る。次に、登録されたコンポーネントの識別子は、あるとすれば関連コンポーネントに関する情報と組み合わせられたとき、ディジタル署名され、プロファイル・データベースの中に記憶される。次に、完全性プロファイル識別子は要求者へ返却される。
【００７２】
プロファイル作成デバイス２８０は、更に、ＢＩＰ証明のために登録されて成功裏に合格したＢＩＰ指定及びシステム／アプリケーションを含む各々のペアについて、別々のＢＩＰを作成することができる。ＢＩＰは、ＢＩＰ指定に関連付けられた一意のＢＩＰ識別子を含むことができる。登録されたコンポーネントの識別子は、関連付けられたコンポーネントに関する情報、例えば、ＢＩＰ指定への遵守状況と組み合わせられたとき、ＢＩＰの中に記録され、ディジタル署名され、プロファイル・データベースの中に記憶される。一意のＢＩＰ識別子及びアプリケーション／システム識別情報は、主たる鍵として役立ち、プロファイル・データベースの中で特定のＢＩＰを一意に識別する。
【００７３】
同様に、プロファイル配布デバイス２９０は、完全性プロファイル識別子を受け取る。次に、プロファイル・データベース２７０が問い合わされ、完全性プロファイル識別子に対応する完全性プロファイルが利用可能であるかどうかを決定する。完全性プロファイルが利用可能であれば、完全性プロファイルは要求者へ返却される。そうでなければ、プロファイル作成デバイス２８０の助けを借りて完全性プロファイルを決定することができる。
【００７４】
プロファイル検証デバイス２９５は、１つ以上のコンポーネントを識別する情報及び完全性プロファイル識別子を受け取る。プロファイル検証デバイス２９５は、コンポーネント識別子、完全性プロファイル識別子、及び対応する完全性プロファイルを比較し、検証データを決定する。プロファイル及びコンポーネント及び識別子がマッチすれば、システムの完全性が検証される。そうでなければ、システムは、完全性プロファイルの中で指定されたものでないか、システムが何らかの方法で変更されたことが決定される。
【００７５】
ＢＩＰ検証の場合、プロファイル検証デバイス２９５は、１つ以上のコンポーネントを識別する情報及び一意のＢＩＰ識別子を受け取る。そのような識別子を使用して、プロファイル検証デバイス２９５は、プロファイル・データベース２７０から適切なＢＩＰを検索する。次に、検証デバイス２９５は、コンポーネントの遵守状況を検査し、ＢＩＰ遵守の証拠を決定する。遵守状況は、アプリケーション／システムの振る舞いがＢＩＰの中の指定を遵守するかどうかを示す。
【００７６】
図４Ａは、例示的な完全性プロファイルを示す。例示的な完全性プロファイルは、プロファイル作成デバイス２８０によって作成可能である。認証されたコンテンツ・プロバイダのために完全性プロファイルを組み立てるため、完全性プロファイルを作成する要求が開始される。例えば、提供者は完全性証明及び検証デバイス２００と接触し、完全性プロファイルの作成を要求することができる。次に、提供者は、ソフトウェア及び／又はハードウェア・コンポーネントの名前のリストを完全性証明及び検証デバイス２００へ送る。次に、プロファイル作成デバイス２８０は、コンポーネント・データベース２６０から、各々のコンポーネントの識別子、例えば、完全性値、ハッシュ値などを検索する。次に、プロファイル作成デバイス２８０は、完全性プロファイルを決定する。完全性プロファイルは、各々のコンポーネントの認証情報、例えば、完全性値、ハッシュ値などを、他の情報、例えば、完全性プロファイル識別子、バージョン番号、作成日、組立日、コンテンツ提供者名など、及び任意的に、ソフトウェア及び／又はハードウェア・コンポーネントの間の対話関係と一緒に含むことができる。
【００７７】
プロファイル作成デバイス２８０は、決定された完全性プロファイルをディジタル署名者２４０へ回送する。次に、ディジタル署名者２４０はプロファイルのコンテンツに署名する。次に、プロファイル作成デバイス２８０は、署名されたプロファイルをプロファイル・データベース２７０の中に記憶し、プロファイル識別子をコンテンツ・プロバイダ３００へ返却する。
【００７８】
図４Ｂは、例示的なＢＩＰを示す。システム／アプリケーション・プロバイダがそのシステム／アプリケーションを登録し、ＢＩＰ指定への遵守の証明に合格したとき、プロファイル作成デバイス２８０はＢＩＰを作成する。プロファイル作成デバイスは、コンポーネント・データベース２６０から、遵守状況及びシステム／アプリケーションに対応するアプリケーション識別情報を検索することによって、ＢＩＰを組み立てる。例示的なＢＩＰは、ＢＩＰ識別子、ＢＩＰのバージョン番号、ＢＩＰの作成日付、ＢＩＰを作成した組織の名前、ＢＩＰ識別子に関連付けられた指定のＵＲＬ、登録されたシステム／アプリケーションのアプリケーション識別情報、ＢＩＰのディジタル署名など、及び任意的に、登録されたシステム、アプリケーションの遵守状況などを含むことができる。ＢＩＰが複数のＢＩＰ識別子を含むとき、システム／アプリケーションは、指定されたＢＩＰ識別子に関連付けられた全ての適切なＢＩＰ指定を遵守しなければならない。
【００７９】
例えば、保護された文書のコンテンツについて使用ライセンスを作成するとき、コンテンツ・プロバイダ３００は、完全性プロファイル識別子を使用ライセンスの中に任意的に含むことができる。ユーザ・システム４００では、完全性プロファイルを使用して、環境コール（呼び出し）・スタックの中の全ての適切なソフトウェア／ハードウェア・コンポーネントを検証することができる。これは、極秘情報が、許可されたソフトウェア／ハードウェア・コンポーネント又はその任意の組み合わせによってのみ消費可能であることを保証する。更なる例示的実施形態において、コンテンツ・プロバイダ３００は、任意的に、ＢＩＰ指定に対応する完全性プロファイル識別子を含むことができる。この場合、前述したプロセスと同じく、特定のアプリケーションに関連付けられた完全性プロファイルが、ユーザ・システム４００で最初に使用され、環境コール・スタックの中の全てのソフトウェア／ハードウェア・コンポーネントを検証する。一度、システム／アプリケーションの完全性が確認されると、ＢＩＰが使用されて、システム／アプリケーションの振る舞いが、ＢＩＰ指定によって識別されるＢＩＰ指定を遵守することを立証する。
【００８０】
プロファイル配布デバイス２９０は、完全性プロファイルを取得する要求を受け入れ、それらのプロファイルをプロファイル・データベース２７０から検索し、完全性プロファイルをそれぞれの要求者へ返却する。同様に、プロファイル検証デバイス２９５は、１つ以上のシステム環境についてユーザ・システムを検証する要求を受け入れる。プロファイル検証デバイス２９５は、完全性プロファイルに従ってソフトウェア／ハードウェア・コンポーネントに関する情報を集め、情報をプロファイルに対して検証し、検証結果を要求者へ返却する。プロファイル検証デバイス２９５は、更に、ＢＩＰ検証要求に応答して、ＢＩＰから遵守状況を引き出す。
【００８１】
ユーザ・システム４００は、完全性認証デバイス４５０を含むことができる。完全性認証デバイス４５０は、例えば、任意の適切なコンテンツ消費アプリケーションに続いて実行する。
【００８２】
従って、図５は、システム完全性を検証するユーザ・デバイス４００の上の例示的システム環境スタックを示す。例示的実施形態において、ユーザ・システム環境スタックは、完全性オーセンティケータ、１つ以上のシステム・コンポーネントなどを含むことができる。
【００８３】
図６は、環境スタックの例を示す。環境スタックは、完全性オーセンティケータ、プラグイン、レンダリング・アプリケーション、オペレーティング・システム、オペレーティング・システム（ＯＳ）ブートストラップ、それぞれのハードウェアなどを含む。
【００８４】
例示的動作環境において、完全性認証デバイス４５０は、それ自体の暗号化／復号鍵のペア、及び識別証明及び検証デバイスの検証鍵を含むことができる。これらの鍵は、改ざん防止を提供するため、完全性認証デバイス４００の中に隠され、及び／又は埋め込まれる。ユーザの秘密情報の使用を要求するか、極秘の文書及びデータを含むアプリケーションのために、完全性認証デバイス４５０は、関連付けられた完全性プロファイルを使用して、ユーザ・システム環境内のコール・スタック上のソフトウェア／ハードウェア・コンポーネントを検証することができる。
【００８５】
完全性認証デバイス４５０は、完全性証明及び検証デバイスの検証鍵を使用して、プロファイルの署名を検証することができる。図７〜図９で示されるように、一度署名が検証されると、完全性認証デバイス４５０は、現在のコール・スタックを審査し、完全性プロファイルの中で提供された情報を使用してコール・スタック上の各々のソフトウェア／ハードウェア・コンポーネントの認証を開始することができる。コール・スタックは、連続したメモリ・ブロックとして構成可能である。このメモリ・ブロックは、メモリ・イメージ、関連機能又は手続きなどを含むことができる。スタックは後入れ先出しベースで動作することができ、スタック動作はスタック「プッシュ」及びスタック「ポップ」を含むことができる。プッシュは、イメージをスタックの上に記憶してスタックの最上部の位置へ進めるために使用可能である。ポップは、スタックからデータを除去してスタックの最上部を前の位置へ回復するために使用可能である。
【００８６】
コール・スタックの場合、現在実行された機能のイメージは、スタックの最上部にある。現在実行された機能が次の機能を起動又は呼び出すとき、次の機能のメモリ・イメージは、コール・スタックの最上部へプッシュされ、コール・スタックの最上部は、次の機能のイメージを指し示す。積み重ねられたイメージの各々の部分は、呼び出された機能がその実行を終了した後のアドレス又はリターン（戻り）命令を含むことができる。
【００８７】
図１０は、実行環境がどのようにして保護されるかを示す。例示的実施形態において、完全性オーセンティケータ（ＩＡ）を保護するため、ＩＡの実行は、ＩＡの一部分である信頼性アプリケーションによって監視される。監視プロセス、例えば、アプリケーションなどは、ＩＡがシステム内の任意の他の適切なプロセス又はアプリケーションによって監視されることを防止できるデバッガ、特殊プロセスなどを含むことができる。プロセスが１つだけのプロセスによってデバッグされるだけの環境において、信頼性監視プログラムは、デバッガなどとして実現可能である。監視プログラムは信頼性アプリケーションであるため、監視プログラムの完全性は、現在の完全性プロファイルの中に含むことが可能である。したがって、ＩＡは、ローディング及び実行の前に信頼性アプリケーションの完全性を検証する。信頼性監視アプリケーションの機能は、ＩＡが他のプロセスによって監視及び制御及び捕獲されることを防止することである。信頼性監視アプリケーションの他の機能は、現在の環境を監視して環境内の変化が有効であるかどうかを決定することである。しかし、ＩＡと同じく、信頼性監視アプリケーションも保護可能であり、ＩＡは監視者（モニター）として行動し、他のアプリケーションによって監視、捕獲、及び／又は制御されることから信頼性監視アプリケーションを保護することができる。この二重の保護メカニズムは、他のアプリケーションが完全性オーセンティケータの実行を監視しないようにするクローズド・システムを作り出す。
【００８８】
図１１Ａは、完全性証明及び検証デバイスの例示的動作方法を示す。例示的実施形態において、制御はステップＳ１００で始まり、ステップＳ１１０へ続く。ステップＳ１１０では、完全性プロファイルが決定される。次に、ステップＳ１２０では、完全性プロファイルが証明される。次に、ステップ１３０では、完全性プロファイルがユーザへ回送される。次に、制御はＳ１４０へ続く。
【００８９】
ステップＳ１４０では、ユーザ・システムの完全性が検証される。次に、ステップＳ１５０では、ユーザ・システムが真正であるかどうかの決定が行われる。ユーザ・システムが真正であれば、制御はステップＳ１６０へ続く。そこでは、ユーザが、選択されたコンテンツへのアクセスを許可される。ユーザ・システムが真正でなければ、制御はステップＳ１７０へジャンプする。そこでは、コンテンツへのアクセスが拒否又は不能にされる。次に、制御はステップＳ１８０へ続く。そこでは、制御シーケンスが終了する。
【００９０】
図１１Ｂは、ＡＩＰと組み合わせてＢＩＰを使用する完全性証明及び検証デバイスの例示的動作方法を示す。例示的実施形態において、制御はステップＳ８００で始まり、ステップＳ８１０へ続く。ステップＳ８１０では、ＡＩＰが決定される。次に、ステップＳ８２０では、ＡＩＰが証明される。次に、ステップＳ８３０では、ＡＩＰがユーザへ回送される。次に、制御はステップＳ８４０へ続く。
【００９１】
ステップＳ８４０では、ユーザ・システムの完全性が検証される。次に、ステップＳ８５０では、ユーザ・システムが真正であるかどうかが決定される。ユーザ・システムが真正でなければ、制御はステップＳ９３０へジャンプする。そこでは、コンテンツへのアクセスが拒否又は不能にされる。次に、制御はステップＳ９４０へ続く。そこでは、制御シーケンスが終了する。しかし、ステップＳ８５０において、ユーザ・システムが真正であれば、制御はステップＳ８６０へ続き、ＢＩＰ結合検証フラグが明示的に指定されているかどうかを決定する。
【００９２】
ＢＩＰ結合検証フラグが指定されていれば、制御はＳ８７０へ行く。そこでは、指定されたＢＩＰ指定をユーザ・システムが遵守するかを検証する。ステップＳ８８０では、ユーザ・システムがＢＩＰを遵守するかどうかの証拠をユーザ・システムが有するかどうかを決定する。ユーザ・システムが遵守の証拠を有するならば、制御はステップＳ８９０へ続く。そこでは、選択されたコンテンツへのアクセスをユーザが許可される。ユーザ・システムが証拠を有さなければ、制御はステップＳ９３０へジャンプする。そこでは、コンテンツへのアクセスが拒否又は不能にされる。次に、制御はステップＳ９４０へ続く。そこでは、制御シーケンスが終了する。
【００９３】
しかし、ステップＳ８６０において、ＢＩＰ結合検証フラグが指定されていなければ、制御はＳ９１０へ行く。そこでは、指定されたＢＩＰ指定の任意の１つを遵守することについてユーザ・システムが検証される。ステップＳ９２０では、ユーザ・システムがＢＩＰの１つを遵守する証拠を有するかどうかが決定される。ユーザ・システムが遵守の証拠を有するならば、制御はステップＳ８９０へ続く。そこでは、選択されたコンテンツへのアクセスをユーザが許可される。証拠を有さなければ、制御はステップＳ９３０へジャンプする。そこでは、コンテンツへのアクセスが拒否又は不能にされる。次に、制御はステップＳ９４０へ続く。そこでは、制御シーケンスが終了する。
【００９４】
図１１Ｃは、ＢＩＰを使用する完全性証明及び検証デバイスの例示的動作方法を示す。具体的には、制御はステップＳ１０００で始まり、ステップＳ１０１０へ続く。ステップＳ１０１０では、ＢＩＰ結合検証フラグが検査され、それが明示的に指定されているかどうかを決定する。ＢＩＰ結合検証フラグが指定されていれば、制御はＳ１０２０へ行く。そこでは、指定されたＢＩＰ指定を遵守することについてユーザ・システムが検証される。ステップＳ１０３０では、ユーザ・システムがＢＩＰを遵守する証拠を有するかどうかが決定される。ユーザ・システムが遵守の証拠を有するならば、制御はステップＳ１０８０へ続く。そこでは、選択されたコンテンツへのアクセスをユーザが許可される。証拠を有さないならば、制御はステップＳ１０４０へジャンプする。そこでは、コンテンツへのアクセスが拒否又は不能にされる。次に、制御はステップＳ１０５０へ続く。そこでは、制御シーケンスが終了する。
【００９５】
しかし、ステップＳ１０１０において、ＢＩＰ結合検証フラグが指定されていなければ、制御はＳ１０６０へ行く。そこでは、指定されたＢＩＰ指定の任意の１つを遵守することについてユーザ・システムが検証される。ステップＳ１０７０では、ユーザ・システムがＢＩＰの１つを遵守する証拠をユーザ・システムが有するかどうかが決定される。ユーザ・システムが遵守の証拠を有するならば、制御はステップＳ１０８０へ続く。そこでは、選択されたコンテンツへのアクセスをユーザが許可される。証拠を有さないならば、制御はステップＳ１０９０へジャンプする。そこでは、コンテンツへのアクセスが拒否又は不能にされる。次に、制御はステップＳ１０５０へ続く。そこでは、制御シーケンスが終了する。
【００９６】
図１２は、コンポーネント／ハードウェア及び／又はソフトウェアを登録する例示的方法を示す。例示的実施形態において、制御はステップＳ２００で始まり、ステップＳ２１０へ続く。ステップＳ２１０では、登録サービスが開始される。次に、ステップＳ２２０において、コンポーネント供給者は、特定のコンポーネント／ハードウェア及び／又はソフトウェアに関する認証情報を提供する。次に、ステップＳ２３０では、特定のコンポーネント／ハードウェア及び／又はソフトウェアに関する情報が検証される。次に、制御はステップＳ２４０へ続く。
【００９７】
ステップＳ２４０では、完全性値を決定すべきかどうかが決定される。完全性値を決定すべきであれば、制御はステップＳ２５０へ続く。そこでは、完全性値が決定される。決定すべきでなければ、制御はステップＳ２６０へジャンプする。そこでは、コンポーネント／ハードウェア及び／又はソフトウェアに関する認証情報が記憶される。
【００９８】
次に、ステップＳ２７０では、完全性値を記憶すべきかどうかの決定が行われる。完全性値を記憶すべきであれば、制御はステップＳ２８０へ続く。そこでは、完全性値が記憶される。そうでなく、完全性値を記憶すべきでなければ、制御はステップＳ２９０へジャンプする。そこでは、制御シーケンスが終了する。
【００９９】
図１３は、プロファイルを決定する例示的方法を示す。例示的実施形態において、制御はステップＳ３００で始まり、ステップＳ３１０へ続く。ステップＳ３１０では、完全性プロファイルの決定が開始される。次に、ステップＳ３２０では、コンポーネント及び／又はハードウェア又はソフトウェアの名前、例えば、識別子などが取得される。次に、ステップＳ３３０では、コンポーネント／ハードウェア又はソフトウェアの識別子が検索される。次に、制御はステップＳ３４０へ続く。
【０１００】
ステップＳ３４０では、完全性プロファイルが決定される。次に、ステップＳ３５０では、完全性プロファイルがディジタル署名される。次に、ステップＳ３６０では、ディジタル署名された完全性プロファイルが記憶される。次に、制御はステップＳ３７０へ続く。
【０１０１】
ステップＳ３７０では、次に、署名された完全性プロファイルが要求者、例えば、コンテンツ消費システム／アプリケーション・プロバイダなどへ回送される。次に、制御はステップＳ３８０へ続く。そこでは、制御シーケンスが終了する。
【０１０２】
図１４は、完全性オーセンティケータの完全性を検証する例示的方法を示す。例示的実施形態において、制御はステップＳ４００で始まり、ステップＳ４１０へ続く。ステップＳ４１０では、完全性オーセンティケータの完全性が検証される。次に、ステップＳ４２０では、完全性オーセンティケータが有効であるかどうかが決定される。完全性オーセンティケータが有効であれば、制御はステップＳ４３０へ続く。そうでなければ、制御はステップＳ５４０へジャンプする。
【０１０３】
ステップＳ４３０では、改ざん防止環境が確立される。次に、ステップＳ４４０では、完全性プロファイルが検証される。次に、ステップＳ４５０では、完全性プロファイルが有効であるかどうかが決定される。完全性プロファイルが有効であれば、制御はステップＳ４６０へ続く。そうでなければ、制御はステップＳ５４０へジャンプする。
【０１０４】
ステップＳ４６０では、完全性プロファイルがロードされる。次に、ステップＳ４７０では、図６に関連して説明したような、現在の実行環境のコール・スタックが構築される。コール・スタックの最下部には、ハードウェア及び／又はデバイスのセットがあり、ソフトウェア・コンポーネントはスタックの上部の方にある。スタック内のコンポーネントの関係は、低い方のコンポーネントが、すぐ上のコンポーネントを呼び出すことである。一度、コール・スタックが構築されると、最後に実行されたコンポーネントの実行イメージを含むコール・スタックの最上部が突き止められる。このようにして、スタック上の各々のコンポーネントの実行イメージは、コール・コンポーネントの識別を助ける。次に、ステップＳ４８０では、識別子コール・コンポーネントが検索される。次に、制御はステップＳ４９０へ続く。
【０１０５】
ステップＳ４９０では、コンポーネントの完全性が、完全性プロファイルと比較して検証される。次に、ステップＳ５００では、コンポーネントが有効であるかどうかが決定される。コンポーネントが有効であれば、制御はステップＳ５１０へ続く。そうでなければ、制御はステップＳ５４０へジャンプする。
【０１０６】
ステップＳ５１０では、スタックが空であるかどうかが決定される。スタックが空であれば、制御はステップＳ５２０へジャンプする。そうでなければ、制御はステップＳ５３０へジャンプする。ステップＳ５２０では、スタック内の次のコンポーネントが突き止められ、該次のコンポーネントが現在のスタック・フレームとして設定される。次に、制御は検証のためにステップＳ４８０へ戻る。
【０１０７】
ステップＳ５３０では、完全性が検証され、制御はステップＳ５５０へ続く。そこでは、制御シーケンスが終了する。ステップＳ５４０では、完全性検査が失敗し、制御はステップＳ５５０へ続く。そこでは、制御シーケンスが終了する。
【０１０８】
このようにして、コンテンツ・プロバイダ、例えば、文書出版者又は配布者は、信頼されたユーザ環境の中で消費するため、保護されたコンテンツをユーザへ提供する。完全性証明及び検証サービスを提供することによって、コンテンツ消費環境の真正が検証可能である。コンテンツ・プロバイダはディジタル・コンテンツの保護されたバージョンをユーザへ回送する。ディジタル・コンテンツの保護されたバージョンは、例えば、ライセンス契約及び完全性プロファイル識別子を含む。プロファイルは、例えば、保護されたコンテンツと組み合わせた使用を許可されるアプリケーション及びシステム・コンポーネントを含む。更に、コンテンツ・プロバイダは、完全性プロファイルの要求を開始する。完全性プロファイルのこの要求は、完全性証明及び検証デバイスへ回送される。要求されたアプリケーション及び／又はシステム・コンポーネントについて完全性プロファイルが既に存在していなければ、完全性証明及び検証デバイスは、例えば、システム・コンポーネントをユーザへ供給したコンテンツ消費システム／アプリケーション・プロバイダに問い合わせることができる。コンテンツ消費システム／アプリケーション・プロバイダは、完全性証明及び検証デバイスへ、特定のアプリケーション又はシステム・コンポーネントに関する認証情報を返却する。認証情報は、ユーザ・システム上のアプリケーション及び／又はシステム・コンポーネントと、コンテンツ消費システム／アプリケーション・プロバイダによって配布された元のアプリケーション又はシステム・コンポーネントとの間で、比較又は完全性検証が行われることを許可する。
【０１０９】
更なる例示的実施形態において、コンテンツ・プロバイダはディジタル・コンテンツの保護されたバージョンをユーザへ回送する。ディジタル・コンテンツの保護されたバージョンは、例えば、ライセンス契約及びＢＩＰ識別子を含む。アプリケーション完全性プロファイル識別子は、保護されたコンテンツに関連付けられないが、コンテンツ消費システム／アプリケーション・プロバイダによって、アプリケーション及びシステム・コンポーネントの中に埋め込まれる。特定のアプリケーションへ結び付けられるアプリケーション完全性プロファイルとは異なり、ＢＩＰは、振る舞いのセット及び／又は全ての遵守アプリケーションが守る消費条件を指定する標準指定へ結び付けられる。アプリケーション完全性プロファイル識別子を使用して、完全性証明及び検証サービスは、先ずコンテンツ消費システム、アプリケーションなどの真正を検証する。コンテンツ消費システム／アプリケーションの完全性が確認され、それが改ざんされていないことが決定されると、完全性証明及び検証デバイスは、アプリケーションが実際にＢＩＰ指定を遵守する証拠が存在することを検証することによって、コンテンツ消費システム／アプリケーションがＢＩＰを遵守することを確かめる。次に、完全性証明及び検証デバイスは、コンテンツ消費システム／アプリケーションが、保護されたコンテンツを消費することを可能にする。ＢＩＰ識別子に基づいてアプリケーション及びシステムを証明することによって、消費者は、保護されたコンテンツを消費するためコンテンツ・プロバイダによって命令されたＢＩＰ指定を遵守する任意の適切なコンテンツ消費システム又はアプリケーションを使用することができる。このようにして、特定のアプリケーション又はシステムへの消費を制限することなく、コンテンツの使用を制御することができる。
【０１１０】
図１〜図１４の例示的実施形態の完全性証明及び検証方法及びシステムは、単一のプログラムされた汎用コンピュータの上、又は別々にプログラムされた複数の汎用コンピュータの上で実現可能である。図１〜図１４の例示的実施形態は、更に、特殊目的コンピュータ、プログラムされたマイクロプロセッサ又はマイクロコントローラ及び周辺集積回路素子、ＡＳＩＣ又は他の集積回路、ディジタル信号プロセッサ、ハードワイヤード電子又は論理回路、例えば、離散素子回路、プログラム可能論理デバイス、例えば、ＰＬＡ、ＰＬＤ、ＦＰＧＡ、ＰＡＬなどの上で実現可能である。一般的に、図１〜図１４の例示的実施形態のプロセスを実現できる任意の適切なシステム、デバイス、ソフトウェア、これらの組み合わせなどが、（例えば、有限状態機械などを介して）使用可能である。
【０１１１】
図１〜図１４の例示的実施形態は、多様なコンピュータ又はワークステーション・ハードウェア・プラットフォームで使用できる移植性ソースコードを提供する環境において、オブジェクト又はオブジェクト指向ソフトウェア開発手法を使用してソフトウェアで容易に実現可能である。図１〜図１４の例示的実施形態は、更に、標準論理回路又はＶＬＳＩ設計を使用して一部又は全部をハードウェアで実現することができる。例示的システム及び方法を実現するため、ソフトウェア及び／又はハードウェアを使用するか使用しないかは、システムの速度及び／又は効率要件、特定の機能、及び使用されている特定のハードウェア又はソフトウェア・システム又はマイクロプロセッサ又はマイクロコンピュータ・システムに依存する。しかし、前述した完全性証明及び検証デバイス及び方法は、コンピュータ技術の一般的知識と共に、既知又は後に開発される任意のシステム又は構造、デバイス、及び／又はソフトウェアを使用して、本明細書で提供される機能の説明から過度の実験なしに当業者によってハードウェア又はソフトウェアで容易に実現可能である。更に、開示された本方法は、プログラムされた汎用コンピュータ、特殊目的コンピュータ、マイクロプロセッサ、サーバなどの上で実行されるソフトウェアとして容易に実現可能である。この場合、例示的実施形態の方法及びシステムは、パーソナル・コンピュータ又はサーバ上に埋め込まれたルーチン、例えば、ＪＡＶＡ（登録商標）又はＣＧＩスクリプトとして、サーバ又はグラフィックス・ワークステーション上に存在するリソースとして、専用の完全性証明及び検証デバイス、ウェブ・ブラウザ、ウェブＴＶインタフェース、ＰＤＡインタフェース、マルチメディア・プレゼンテーション・デバイスなどの中に埋め込まれたルーチンとして、実現可能である。完全性証明及び検証デバイスは、ソフトウェア及び／又はハードウェア・システム、例えば、グラフィックス・ワークステーション又は専用の完全性証明及び検証デバイスのハードウェア及びソフトウェア・システムの中へシステム又は方法を物理的に組み込むことによっても実現可能である。
【０１１２】
したがって、図１〜図１４の例示的実施形態の前述したデバイス及びサブシステムは、例えば、任意の適切なサーバ、ワークステーション、ＰＣ、ラップトップ・コンピュータ、ＰＤＡ、インターネット機器、ハンドヘルド・デバイス、携帯電話、無線デバイス、図１〜図１４の例示的実施形態のプロセスを実行できる他のデバイスなどを含むことができる。図１〜図１４の例示的実施形態のデバイス及びサブシステムは、任意の適切なプロトコルを使用して相互に通信することができ、１つ以上のプログラムされたコンピュータ・システム又はデバイスを使用して実現可能である。
【０１１３】
１つ以上のインタフェース・メカニズムが、図１〜図１４の例示的実施形態と共に使用可能である。そのようなメカニズムの中には、例えば、インターネット・アクセス、任意の適切な形態（例えば、音声、モデムなど）の電気通信、無線通信メディアなどが含まれる。例えば、使用される通信ネットワーク又はリンクは、１つ以上の無線通信ネットワーク、携帯電話通信ネットワーク、Ｇ３通信ネットワーク、公衆電話回線網（ＰＳＴＮ）、パケット・データ・ネットワーク（ＰＤＮ）、インターネット、イントラネット、これらの組み合わせ、などを含むことができる。
【０１１４】
図１〜図１４の例示的実施形態のデバイス及びサブシステムは、例示を目的とすることは理解すべきである。なぜなら、当業者によって理解されるように、例示的実施形態を実現するために使用される特定のハードウェアの多くの変形が可能だからである。例えば、図１〜図１４の例示的実施形態の１つ以上のデバイス及びサブシステムの機能は、１つ以上のプログラムされたコンピュータ・システム又はデバイスを介して実現可能である。
【０１１５】
そのような変形及び他の変形を実現するため、単一のコンピュータ・システムをプログラムして、図１〜図１４の例示的実施形態の１つ以上のデバイス及びサブシステムの特殊目的の機能を実行することができる。他方、図１〜図１４の例示的実施形態のデバイス及びサブシステムの任意の１つを、２つ以上のプログラムされたコンピュータ・システム又はデバイスで置換することができる。したがって、分散処理の原理及び利点、例えば、冗長性、複製なども、所望に応じて実現し、図１〜図１４の例示的実施形態のデバイス及びサブシステムのロバストネス及びパフォーマンスを増加することができる。
【０１１６】
図１〜図１４の例示的実施形態のデバイス及びサブシステムは、本明細書で説明された様々なプロセスに関連した情報を記憶することができる。この情報は、図１〜図１４の例示的実施形態のデバイス及びサブシステムの１つ以上のメモリ、例えば、ハードディスク、光ディスク、光磁気ディスク、ＲＡＭなどの中に記憶可能である。図１〜図１４の例示的実施形態のデバイス及びサブシステムの１つ以上のデータベースは、本発明の例示的実施形態を実現するために使用される情報を記憶することができる。データベースは、本明細書で列挙された１つ以上のメモリ又は記憶デバイスの中に含まれるデータ構造（例えば、レコード、表、配列、フィールド、グラフ、木、リストなど）を使用して組織可能である。図１〜図１４の例示的実施形態に関して説明されたプロセスは、図１〜図１４の例示的実施形態の１つ以上のデータベースの中に、例示的実施形態のデバイス及びサブシステムのプロセスによって収集及び／又は生成されたデータを記憶する適切なデータ構造を含むことができる。
【０１１７】
図１〜図１４の例示的実施形態のデバイス及びサブシステムの全部又は一部は、コンピュータ及びソフトウェア技術者によって理解されるように、本発明の例示的実施形態の教示に従ってプログラムされた１つ以上の汎用コンピュータ・システム、マイクロプロセッサ、ディジタル信号プロセッサ、マイクロコントローラなどを使用して便利に実現可能である。適切なソフトウェアは、ソフトウェア技術者によって理解されるように、例示的実施形態の教示に基づいて通常の技術のプログラマによって容易に準備可能である。更に、図１〜図１４の例示的実施形態のデバイス及びサブシステムは、ワールド・ワイド・ウェブ上で実現可能である。更に、図１〜図１４の例示的実施形態のデバイス及びサブシステムは、電気技術者によって理解されるように、アプリケーション特定集積回路を準備することによって、又は通常のコンポーネント回路の適切なネットワークを相互接続することによって、実現可能である。このようにして、例示的実施形態はハードウェア回路及び／又はソフトウェアの特定の組み合わせに限定されない。
【０１１８】
コンピュータ読み取り可能メディアの任意の１つ又は組み合わせの上に記憶されて、本発明の例示的実施形態は、図１〜図１４の例示的実施形態のデバイス及びサブシステムを制御し、図１〜図１４の例示的実施形態のデバイス及びサブシステムを駆動し、図１〜図１４の例示的実施形態のデバイス及びサブシステムを動作可能にして、人間のユーザなどと対話するソフトウェアを含むことができる。そのようなソフトウェアは、非限定的に、デバイスドライバ、ファームウェア、オペレーティング・システム、開発ツール、アプリケーション・ソフトウェアなどを含むことができる。そのようなコンピュータ読み取り可能メディアは、更に、本発明の実施形態のコンピュータ・プログラムプロダクトを含むことができる。このコンピュータ・プログラムプロダクトは、本発明を実現するときに実行される処理の全部又は一部（処理が分散されるならば）を実行する。本発明の例示的実施形態のコンピュータ・コード・デバイスは、任意の適切な解釈可能又は実行可能コード・メカニズムを含むことができる。そのようなコード・メカニズムの中には、非限定的に、スクリプト、解釈可能プログラム、ダイナミック・リンク・ライブラリ（ＤＬＬ）、Ｊａｖａ（登録商標）クラス及びアプレット、完全実行可能プログラム、共通オブジェクト要求ブローカ・アーキテクチャ（ＣＯＲＢＡ）オブジェクトなどが含まれる。更に、本発明の例示的実施形態の処理の一部分は、より良好なパフォーマンス、信頼性、コストなどを目的として分散可能である。
【０１１９】
前述したように、図１〜図１４の例示的実施形態のデバイス及びサブシステムは、コンピュータ読み取り可能メディア又はメモリを含むことができる。これらのコンピュータ読み取り可能メディア又はメモリは、本発明の教示に従ってプログラムされた命令を保持し、本明細書で説明されたデータ構造、表、レコード、及び／又は他のデータを保持する。コンピュータ読み取り可能メディアは、命令をプロセッサへ提供して実行することに参加する任意の適切なメディアを含むことができる。そのようなメディアは、多くの形態を採ることができる。そのような形態の中には、非限定的に、不揮発性メディア、揮発性メディア、伝送メディアなどが含まれる。不揮発性メディアは、例えば、光ディスク又は磁気ディスク、光磁気ディスクなどを含むことができる。揮発性メディアは、ダイナミックメモリなどを含むことができる。伝送メディアは、同軸ケーブル、銅線、光ファイバなどを含むことができる。伝送メディアは、更に、音、光、電磁波など、例えば、無線周波（ＲＦ）通信、赤外線（ＩＲ）データ通信などで生成される波の形態を取ることができる。コンピュータ読み取り可能メディアの普通の形態は、例えば、フロッピー（登録商標）ディスク、フレキシブル・ディスク、ハードディスク、磁気テープ、任意の他の適切な磁気メディア、ＣＤ−ＲＯＭ、ＣＤＲＷ、ＤＶＤ、任意の他の適切な光学メディア、パンチカード、紙テープ、光学マークシート、穴又は他の光認識可能インディシアのパターンを有する任意の他の適切な物理メディア、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、任意の他の適切なメモリ・チップ又はカートリッジ、搬送波、又はコンピュータによって読み取り可能な任意の他の適切なメディアを含むことができる。
【０１２０】
本発明は、多数の例示的実施形態及び実現形態に結び付けて説明されたが、本発明はそのようなものに限定されず、むしろ添付の特許請求の範囲に入る様々な修正、及び等価の配置を対象とする。
【図面の簡単な説明】
【０１２１】
【図１Ａ】本発明に従った完全性証明及び検証システムの例示的実施形態を示す機能的概略図である。
【図１Ｂ】本発明に従ってＡＩＰと組み合わせたＢＩＰを使用する完全性証明及び検証システムの例示的実施形態を示す機能的概略図である。
【図１Ｃ】本発明に従ってＢＩＰを使用する完全性証明及び検証システムの例示的実施形態を示す機能的概略図である。
【図２】本発明に従った完全性証明及び検証システムの例示的実施形態を示す機能的ブロック図である。
【図３】本発明に従った例示的完全性証明及び検証デバイスのワークフロー図である。
【図４Ａ】本発明に従った完全性プロファイルの例示的構造を示す。
【図４Ｂ】本発明に従ったＢＩＰの例示的構造を示す。
【図５】本発明に従った例示的環境スタックを示す。
【図６】本発明に従った他の例示的環境スタックを示す。
【図７】本発明に従った例示的環境スタックの例示的ワークフローを示す。
【図８】本発明に従った例示的環境スタックの他の例示的ワークフローを示す。
【図９】本発明に従って環境スタックを操作する例示的方法を示す。
【図１０】本発明に従ってデバッグの使用により動的改ざんを防止する例示的方法を示す。
【図１１Ａ】本発明に従った完全性証明及び検証方法の例示的実施形態を略述するフローチャートである。
【図１１Ｂ】本発明に従ってＡＩＰと組み合わせたＢＩＰを使用する完全性証明及び検証方法の例示的実施形態を略述するフローチャートである。
【図１１Ｃ】本発明に従ってＢＩＰを使用する完全性証明及び検証方法の例示的実施形態を略述するフローチャートである。
【図１２】本発明に従ってアプリケーション及び／又はシステムを登録する方法の例示的実施形態を略述するフローチャートである。
【図１３】本発明に従って完全性プロファイルを決定する方法の例示的実施形態を略述するフローチャートである。
【図１４】本発明に従って完全性オーセンティケータの完全性を検証する方法の例示的実施形態を略述するフローチャートである。
【図１Ａ】
2008539502.tif 000002
【図１Ｂ】
2008539502.tif 000003
【図１Ｃ】
2008539502.tif 000004
【図２】
2008539502.tif 000005
【図３】
2008539502.tif 000006
【図４Ａ】
2008539502.tif 000007
【図４Ｂ】
2008539502.tif 000008
【図５】
2008539502.tif 000009
【図６】
2008539502.tif 000010
【図７】
2008539502.tif 000011
【図８】
2008539502.tif 000012
【図９】
2008539502.tif 000013
【図１０】
2008539502.tif 000014
【図１１Ａ】
2008539502.tif 000015
【図１１Ｂ】
2008539502.tif 000016
【図１１Ｃ】
2008539502.tif 000017
【図１２】
2008539502.tif 000018
【図１３】
2008539502.tif 000019
【図１４】
2008539502.tif 000020
【国際調査報告】
2008539502.tif 000021