JP2008539502A - 検証 - Google Patents

検証 Download PDF

Info

Publication number
JP2008539502A
JP2008539502A JP2008508812A JP2008508812A JP2008539502A JP 2008539502 A JP2008539502 A JP 2008539502A JP 2008508812 A JP2008508812 A JP 2008508812A JP 2008508812 A JP2008508812 A JP 2008508812A JP 2008539502 A JP2008539502 A JP 2008539502A
Authority
JP
Japan
Prior art keywords
bip
applications
systems
integrity
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008508812A
Other languages
English (en)
Inventor
タ、タン
ワン、シン
ティウ、ビンセント
ファン、ジョセフ、ズィー.ワイ.
トラン、ドゥク
ベンカトラマン、ベヌゴパル
ロメロ−ロボ、ホセ
チェン、エディー、ジェイ.
ギリアム、チャールズ、ピー.
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Contentguard Holdings Inc
Original Assignee
Contentguard Holdings Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Contentguard Holdings Inc filed Critical Contentguard Holdings Inc
Publication of JP2008539502A publication Critical patent/JP2008539502A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

1つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いを特性及び振る舞いのプロファイルと比較することに基づいて、コンピュータ環境で完全性を証明及び検証する方法及びシステムであって、本方法及びシステムは、1つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いを指定する振る舞い完全性プロファイル(BIP)を決定し、BIPに基づいて、1つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いが、振る舞い完全性プロファイル指定の中に定められた特性及び振る舞いを遵守するかどうかを決定し、遵守を決定するステップに基づいて、1つ以上のアプリケーション、システム、又はシステム・コンポーネントへのアクセス権を決定することを含む。

Description

本発明は完全性の証明及び検証に関する。具体的には、本発明は、アプリケーション完全性プロファイル(AIP)及び振る舞い完全性プロファイル(BIP)を含むプロファイルの使用に関する。
電子商取引を介するディジタル文書及び電子サービスの広範な配布及び他の使用を可能にする上で、最も重要な問題の1つは、コンテンツの所有者及び提供者(プロバイダ)の知的財産権の保護の必要性である。この問題に対処する努力は、知的財産権管理(Intellectual Property Rights Management)(IPRM)、ディジタル財産権管理(Digital Property Rights Management)(DPRM)、知的財産権管理(Intellectual Property Management)(IPM)、ディジタルライツ管理(Digital Rights Management)(DRM)、権利管理(Rights Management)(RM)、及び電子著作権管理(Electronic Copyright Management)(ECM)と呼ばれてきた。
しかし、コンテンツの提供者としては、コンテンツが所望の特性及び/又は振る舞いを有する証明済みアプリケーション及びシステムによって消費される必要性が存在する。更に、アプリケーション、サービス、及びコンピューティング・システムの提供者としては、アプリケーション、サービス、システムが所望の特性及び/又は振る舞いを有するアプリケーション及びシステムによってのみアクセス又は使用される必要性が存在する。
公開鍵基盤(public key infrastructure)(PKI)の直接使用は、アプリケーション及びシステムの提供者が自分自身の製品を証明することを可能にし、またコンテンツ及びサービスの提供者が、それらのコンテンツ及びサービスを消費するために使用されるアプリケーション及びシステムの完全性を検証することを可能にする。しかし、PKIの直接使用は、ベンダと提供者との間に多数対多数の関係を作り出す。多数対多数の関係は、他の問題の間では良好な基準にならない。したがって、そのような関係を管理し、効率的及びリアルタイムの、又はリアルタイムに近い完全性検証を実行する方法及びシステムの必要性が存在する。
したがって、上記及び他の必要性及び問題に対処する方法及びシステムの必要性が存在する。上記及び他の必要性及び問題は、本発明の例示的な実施形態によって対処される。これらの例示的実施形態は、完全性を証明及び検証する方法及びシステムを提供する。
したがって、本発明の例示的態様では、1つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いと、特性及び振る舞いプロファイルとの比較に基づいて、コンピュータ環境で完全性を証明及び検証する方法及びシステムが提供される。例示的な方法及びシステムは、1つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いを指定する振る舞い完全性プロファイル(BIP)を決定し、1つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いが、振る舞い完全性プロファイル指定の中に定められた特性及び振る舞いを遵守するかどうかを、BIPに基づいて決定し、遵守を決定するステップに基づいて、1つ以上のアプリケーション、システム、又はシステム・コンポーネントへのアクセス権を決定することを含むことができる。
更に、本発明の他の態様、特徴、及び利点は、多数の例示的実施形態及び実現形態を単純に示すことによって、下記の詳細な説明から容易に明らかである。多数の例示的実施形態及び実現形態の中には、本発明を実施するために検討される最良の形態が含まれる。本発明は、他の異なる実施形態としても可能であり、そのいくつかの詳細部分は、本発明の趣旨及び範囲から逸脱することなく様々な点で修正可能である。したがって、図面及び説明は、実質的に例と見なされるべきであり、限定と見なされるべきではない。
本発明の実施形態は、添付の図面の図で例として示され、限定としては示されない。添付の図面において、類似の参照数字は類似の要素を意味する。
本発明は、多くの場合、提供者のコンテンツ及びサービスが、所望の特性及び振る舞いを有する証明済みアプリケーション及びシステムによって消費されることを、提供者が欲するという認識を含む。消費環境のこれらの態様を制御することによって、コンテンツ・プロバイダは、例えば、使用、例えば、複写、印刷、埋め込み、配布などを制限することができる。
例えば、コンテンツ又はサービスの提供者は、コンテンツを消費するシステムが、或るレベルのセキュリティ及び権利管理能力を有さなければならないことを要求することによって、コンテンツを悪用から保護したいと欲することがある。コンテンツ・プロバイダは、更に、「よそ者」アプリケーション、例えば、デバッガ、ウイルス、傍受ルーチンなどが、ユーザ・システム上のコンテンツ消費アプリケーションと対話したり、コンテンツ又は他の極秘情報を没収又は「略奪」したりしないことを確実にしたいと欲するかもしれない。例えば、参照によって全体を本明細書に組み込まれる2000年8月28日に出願された「標準レンダリング・エンジンを使用する文書配布管理方法及び装置、及び標準レンダリング・エンジンを制御する方法及び装置」(「Document Distribution Management Method and Apparatus Using a Standard Rendering Engine and a Method and Apparatus for Controlling a Standard Rendering Engine」)と題するラーレイ(Raley)の米国特許出願第09/649,841号は、ユーザ・システムの機能の管理を可能にし、文書へのユーザ・アクセスを制限する。これらの考慮は、アプリケーション、サービス、及びコンピューティング・システムの提供者、及び消費されているコンテンツをサービス、アプリケーション、又はシステムとして所有する者へ同じように適用される。
所与のアプリケーション及びシステムが所望の特性及び振る舞いを有することを証明するため、コンテンツを消費し、サービスにアクセスし、又は他のどのような適切な方法であれ他のシステム、アプリケーション、及びコンポーネントと対話する必要がある全ての適切なアプリケーション及びシステム・コンポーネントの検証が、検証アプリケーションによって確認される必要がある。検証アプリケーションは1つ以上の完全性プロファイルを使用してアプリケーション及びシステム・コンポーネントを検証する。これらの完全性プロファイルは同一又は異なるタイプであってよい。更に、同一又は異なるタイプの2つ以上の完全性プロファイルは、結合又は分離して使用可能である。
完全性プロファイルは、様々なタイプであってよい。例示的実施形態において、完全性プロファイルは、アプリケーション完全性プロファイル(AIP)、振る舞い完全性プロファイル(BIP)などを含むことができる。アプリケーション完全性プロファイルは、アプリケーションに特定された検証可能情報及び特性を含むことができる。したがって、AIPは特定のアプリケーションに結び付けられる。振る舞い完全性プロファイルは、アプリケーションの振る舞いが、BIP指定の中で指定された振る舞いを遵守するかどうかを示す情報を含むことができる。有利には、BIPはBIP識別子を含むことができる。BIP識別子はBIP指定を示す。BIP指定は、全ての適切な遵守アプリケーションが守る振る舞い及び/又は消費条項のセットを指定する。例えば、BIP指定は、BIPを遵守する全ての適切なアプリケーションが、再生(play)は許されるが他の行動は許されない再生限定アプリケーションであることを指定することができる。機能又は行動に加えて、更なる例示的実施形態は、例えば、地形、場所、時間、パフォーマンス、サービス・レベル、他の適切な規準などに基づいて他のタイプのBIPを提供し、アプリケーション、システム、デバイス、コンポーネントなどを検証する。
例示的実施形態は、コンピュータ環境のために証明及び検証を提供するシステム及び方法を含む。そのような例示的システムの中で、これらのサービスを提供する完全性証明及び検証デバイスは、コンテンツ又はサービスの提供者とシステム、アプリケーションなどの提供者との間に導入可能である。この証明デバイスは、それぞれの提供者からの個々のアプリケーション及び/又はシステムを登録することができ、所定の選択に従って、これらのアプリケーション及び/又はシステムの完全性を証明することができる。このサービスの使用によって、ユーザは完全性証明及び検証デバイスを「信頼する」ことができる。この信頼によって、提供者は、そのコンテンツ及びサービスの消費を許可されるアプリケーション及びシステムのセットから成るプロファイルを確立し、プロファイルに従って、ユーザ・システムの上で、アプリケーション及びシステムから成るユーザのセットが真正であることを検証する。
有利には、例示的実施形態は、コンテンツ、例えば、文書、他のコンテンツなどの消費環境の完全性について証明及び検証するサービスの提供を含む。そのような例示的システムの中で、これらのサービスを提供する完全性証明及び検証デバイスは、コンテンツ・プロバイダとコンテンツ消費システム及びアプリケーション・プロバイダとの間に導入される。コンテンツ消費システム及びアプリケーション・プロバイダは、例えば、パーソナル・コンピュータ、ハンドヘルド・コンピュータ、PDA、マルチメディア表示デバイス、DVDプレーヤ、分散ネットワーク動作可能電話、及びアプリケーション、例えば、ワードプロセッサ、コンテンツ・ビューア、マルチメディア・プレーヤなどを配布することができる。完全性証明及び検証デバイスは、コンテンツ消費システム/アプリケーション・プロバイダからの個々のアプリケーション及び/又はシステムを登録し、コンテンツ・プロバイダに対して、これらのアプリケーション及びシステムより成るセットを証明する。このサービスを使用することによって、コンテンツ・プロバイダは、完全性証明及び検証デバイスを選択又は信頼し、そのコンテンツの消費を許可されるアプリケーション及びシステムのセットから成るプロファイルを確立し、ユーザ・システムの上で、プロファイルに従って、ユーザ・システム上のアプリケーション及びシステムのセットが真正であることを検証することができる。このようにして、要求又は提出されたコンテンツへのユーザ・アクセス又は制御の範囲が、制御及び決定可能となる。
例示的実施形態は、BIPを使用して証明及び検証するサービスを含む。1つの例示的実施形態において、完全性証明及び検証デバイスは、コンテンツ及びサービス消費システム/アプリケーション・プロバイダからの個々のアプリケーション及び/システムを登録及び証明し、アプリケーションの振る舞いがBIP指定を遵守することを検証し、遵守状況の証拠を提供する。消費者は、任意の適切なコンテンツ又はサービス消費システム又はアプリケーションを使用して、提供者によって命令されたBIPを遵守するコンテンツ又はサービスを消費することができる。このようにして、コンテンツ又はサービスの使用は、特定のアプリケーション又はシステムへ消費を限定することなく制御可能である。同様に、消費者は任意の適切なコンピューティング・システム又はアプリケーションを使用して、BIPを遵守する他のシステム又はアプリケーションと対話することができる。
セキュリティを追加するため、アプリケーション、システムなどの検証は、AIPと組み合わせたBIPを使用して実行可能である。例示的実施形態において、完全性証明及び検証デバイスは、コンテンツ及びサービス消費システム/アプリケーション・プロバイダからの個々のアプリケーション及び/又はシステムを登録及び証明し、アプリケーション及びシステム・コンポーネントに関連付けられた完全性プロファイルに従ってアプリケーションが真正であることを検証し、アプリケーションの振る舞いがBIP指定を遵守することを検証し、そのような遵守の証拠を提供する。
本明細書で使用される用語としての文書は、配布又は移転に供される任意の適切な情報単位を含むことができる。そのような情報単位の中には、通信文、本、雑誌、機関誌、新聞、他の定期刊行物、ソフトウェア、プラグイン、写真及び他の画像、オーディオ及びビデオのクリップ、マルチメディア・プレゼンテーションなどが含まれる。文書は、紙の上の印刷形態、記憶メディアの上のディジタル・データ、又は任意の適切な既知又は後に開発される多様なメディア又はソフトウェアの中に具体化可能である。そのようなメディア又はソフトウェアの中には、コンパクトディスク(CD)、ディジタル・ビデオ・ディスク(DVD)、レーザディスク、磁気及び光磁気メディアなどが含まれる。本明細書で使用される用語としての消費及びコンシュームは、任意の適切な行動形態を包含することができる。そのような行動形態の中には、コンテンツ及びサービスの使用、又はコンピュータ・システムへのアクセス又は対話が含まれる。これらの中には、アクセス、レンダリング、編集、操作、実行、複写、記憶、転送、発行、取得、配布などが含まれる。本明細書で使用される用語としてのコンテンツは、名詞によって呼ぶことのできる任意の適切な事物、例えば、エンティティ、リソース、品質、イベント、状態、概念、実体などを包含することができる。例示的なリソースは、文書、マルチメディア・ファイル、ウェブ又は他のサービス、名前、eメールアドレスなどを含むことができる。
例示的実施形態のシステム及び方法は、完全性証明及び検証サービスを提供する。例示的実施形態は、コンテンツ消費システム環境のために完全性を証明及び検証するサービスのシステム及び方法を別々に提供することができる。例示的実施形態は、更に、システム及びアプリケーションの標準振る舞いを証明及び検証するシステム及び方法を提供することができる。例示的実施形態は、更に、完全性プロファイルを決定するシステム及び方法を別々に提供することができる。例示的実施形態は、更に、1つ以上のシステム環境の完全性を検証するシステム及び方法を提供することができる。例示的実施形態は、更に、完全性プロファイル、システム及びシステム・コンポーネント情報を管理するシステム及び方法を提供することができる。例示的実施形態は、更に、完全性プロファイルの使用によって、ユーザ・システムの上で完全性検査を実行するシステム及び方法を提供することができる。例示的実施形態は、更に、BIPの使用によって、ユーザ・システムの上で遵守検査を実行するシステム及び方法を提供することができる。
例示的実施形態において、例えば、ユーザ、システム、デバイスなどによる消費のためにコンテンツを提供するコンテンツ・プロバイダ、例えば、コンテンツ出版者又は配布者(ディストリビュータ)などは、完全性プロファイルの要求を開始することができる。完全性プロファイルのこの要求は、完全性証明及び検証デバイスへ回送される。完全性証明及び検証デバイスは、完全性プロファイルが、要求されたアプリケーション及びシステム・コンポーネントについて既に存在していなければ、様々なシステム・コンポーネント及び/又はアプリケーションをユーザへ供給したコンテンツ消費システム/アプリケーション・プロバイダに問い合わせる。コンテンツ消費システム/アプリケーション・プロバイダは、特定のアプリケーション又はシステム・コンポーネントに関する認証情報を完全性証明及び検証デバイスへ返却する。認証情報へのアクセスを有する完全性証明及び検証デバイスは、ユーザ・システムの上のアプリケーション又はシステム・コンポーネントと、コンテンツ消費システム/アプリケーション・プロバイダによって配布された元のアプリケーション又はシステム・コンポーネントとの間で、比較又は完全性検証を行うことができる。
システム・アプリケーション及びコンポーネントの認証情報は、コンポーネント・データベースの中に記憶可能である。コンテンツ・プロバイダのプロファイルは、プロファイル・データベースの中に記憶可能である。代替として、コンテンツ消費システム/アプリケーション・プロバイダは認証情報のデータベースを維持することができる。このデータベースは完全性証明及び検証デバイスのそれぞれのデータベースへ直接回送可能であり、完全性検証及び証明デバイスが完全性プロファイルを決定する必要性がなくなる。次に、決定された完全性プロファイルに対応する完全性プロファイル識別子は、コンテンツ・プロバイダへ返却される。
コンテンツ・プロバイダ、例えば、コンテンツ・ディストリビュータなどは、例えば、保護されたコンテンツをユーザへ提供する。コンテンツ・プロバイダはディジタル・コンテンツの保護されたバージョンをユーザへ回送する。このバージョンは、例えば、ライセンス契約及び完全性プロファイル識別子を含む。完全性プロファイル識別子は、例えば、保護されたコンテンツと組み合わせて使用されることを許可されるアプリケーション及びシステム・コンポーネント、及びそれらのシステム、アプリケーションなどの完全性プロファイルの識別情報を含む。
コンテンツ消費システム/アプリケーション・プロバイダから認証情報を受け取ると、完全性証明及び検証デバイスは、例えば、ユーザ・システムの要求によって、完全性プロファイルをユーザ・システムへ回送する。この完全性プロファイルを使用して、ユーザ・システムの完全性検証が実行可能である。ユーザ・システムのコンポーネント/アプリケーションが真正であると決定されるならば、次に、コンテンツ・プロバイダから提供されたディジタル・コンテンツは、例えば、追加のプロファイル情報に従ってユーザのアプリケーション及びシステムからアクセス可能である。
有利には、コンテンツ・プロバイダは1つ以上のBIP識別子をディジタル・コンテンツに関連付けることができる。例えば、音楽コンテンツを再生だけ及び1回だけの複写デバイスによって消費させたい音楽コンテンツ・プロバイダは、再生だけのBIP識別子及び1回だけの複写のBIP識別子の双方をコンテンツに関連付けることができる。AIP識別子は、保護されたコンテンツに関連付けられないが、システム/アプリケーション・プロバイダによってアプリケーション及びシステム・コンポーネントの中へ埋め込まれるか関連付けられてよい。例えば、コンテンツ・プロバイダがサービスを提供している場合、コンテンツ・プロバイダは、安全なブラウザが使用されているときにのみ顧客がサービスを消費できるように欲してよい。
BIP識別子を使用して、完全性証明及び検証デバイスは、そのプロファイル検証デバイスからBIP遵守の証拠を検索する。AIP識別子を使用して、完全性証明及び検証デバイスは、完全性プロファイルを検索し、それをユーザ・システムへ回送する。この完全性プロファイルを使用して、ユーザ・システムの完全性検証を実行し、ユーザ・システムのコンポーネント/アプリケーションが改ざんされなかったことを確かめることができる。ユーザ・システムのコンポーネント/アプリケーションが真正であると決定され、BIP遵守の証拠が存在すれば、コンテンツ・プロバイダによって提供されたディジタル・コンテンツは、ユーザのアプリケーション及びシステムによって消費可能である。同様に、コンポーネント/アプリケーションが真正であると決定され、BIP遵守の証拠が存在するならば、サービスは消費可能であるか、アプリケーション又はコンピューティング・リソースはアクセス可能である。
しかし、完全性証明の要求はコンテンツ・プロバイダのところで発生する必要はないことを理解すべきである。例えば、証明の要求は、保護されたコンテンツと一緒にコンテンツ・プロバイダからユーザのシステムへ回送されるプロファイル識別情報の中に埋め込まれたソフトウェア・アプリケーションによって開始されてよい。
更なる例示的実施形態において、コンテンツ・プロバイダは、更に、完全性検証及び証明システムとして奉仕することができる。例えば、コンテンツ・プロバイダは、適切な認証情報を集め、コンテンツ・プロバイダ自身で使用するための完全性プロファイルを決定することによって、完全性証明及び検証サービスそれ自体を実行することができる。
更なる例示的実施形態において、コンテンツ又はサービス消費アプリケーション/システム・プロバイダは、更に、完全性証明及び検証デバイスとして行動することができる。例えば、コンテンツ又はサービス消費アプリケーション/システム・プロバイダは、更に、関連付けられたアプリケーション及び/又はシステム・コンポーネントと一緒に完全性プロファイルを供給することができる。
例示的実施形態のシステム及び方法は、証明及び検証サービスを提供して、ディジタル・コンテンツ及びサービスの消費及びコンピューティング・システムの使用又は他の対話のために、環境の完全性を決定する。例えば、コンシューマ・メディア、例えば、オーディオ、ビデオ、オンライン・サービスなどを含むコンテンツ及びサービスを消費する例示的システムが提供される。コンテンツを消費する例示的システムは、1つ以上のコンテンツ・プロバイダと1つ以上のコンテンツ消費システム及びアプリケーション・プロバイダとの間に導入された完全性証明及び検証デバイスを含むことができる。完全性証明及び検証デバイスは、コンテンツ消費アプリケーション及び/又はシステム・プロバイダから認証情報を取得する。この認証情報は、コンテンツが提供される環境をコンテンツ・プロバイダが信頼することを許可する。このようにして、コンテンツ消費アプリケーション及びシステム・プロバイダから受け取られた認証情報に基づいて、完全性プロファイルが確立される。次に、このプロファイルは、ユーザ・システムへ回送され、コンテンツ・プロバイダによって提供されたディジタル・コンテンツをユーザが変更、修正しなかったか、又は許可されない方法で可能性として干渉しないかを確認する。
ここで図面を参照する。同様の参照数字は、いくつかの図面の全体で同一又は対応する部分を示す。具体的に図1Aを参照すると、そこには完全性証明及び検証を実行する例示的システム100が示される。例示的実施形態において、完全性証明及び検証システム100は、完全性証明及び検証デバイス200、コンテンツ・プロバイダ及び/又はディストリビュータ300、ユーザ・システム400、コンテンツ消費システム/アプリケーション・プロバイダ500、コンポーネント・データベース260、プロファイル・データベース270などを含むことができる。
例示的動作環境において、コンテンツ消費システム/アプリケーション・プロバイダ500は、アプリケーション、システム、及び/又はソフトウェア/ハードウェア・コンポーネントをユーザへ提供する。ユーザ・システム400は、コンテンツ・プロバイダ及びディストリビュータ300によって供給されるディジタル・コンテンツ、例えば、文書の消費を許可する。ユーザ・システム400の完全性を検証するため、完全性証明及び検証デバイス200は、コンテンツ消費システム/アプリケーション・プロバイダ500から、個々のアプリケーション、システム、及び/又はソフトウェア/ハードウェア・コンポーネントに関する認証情報を収集及び登録する。この認証情報を使用して、完全性証明及び検証デバイス200は、コンテンツ・プロバイダ300からのサービス要求20に基づいて1つ以上のアプリケーション、システム、及び/又はシステム・コンポーネントの完全性プロファイルを決定及び証明する。次に、この決定された完全性プロファイル50はユーザ・システム400へ回送され、ユーザ・システム400の完全性が決定可能になる。
動作において、コンテンツ・プロバイダ及びディストリビュータ300は、ディジタル・コンテンツ、例えば、文書などをユーザ・システム400へ提供する。ユーザ・システム400は、1つ以上のシステム・コンポーネント、例えば、ハードウェア・コンポーネント及び/又は様々なソフトウェア・アプリケーションなどを含むことができる。これらのアプリケーション及びハードウェア/ソフトウェア・コンポーネントは、通常、1つ以上のコンテンツ消費システム/アプリケーション・プロバイダ、例えば、コンピュータ供給者、ソフトウェア卸売商、アプリケーション・プロバイダなどからユーザによって取得される。次に、これらのアプリケーション及びハードウェア及びソフトウェア・コンポーネントは、適当に、既にアセンブルされていなければ、ユーザによってアセンブルされ、インストールされる。それは、ユーザがコンテンツ、例えば、文書などの消費を許可されるためである。
したがって、ユーザ環境のアプリケーション及びハードウェア/ソフトウェアの使用の過程で、ユーザは、保護されたコンテンツ、例えば、文書を閲覧したいと望んでよい。このようにして、ユーザ400は、コンテンツ・プロバイダ300から、1つ以上のコンテンツ、例えば、電子ブック、マルチメディア・ファイル、プレゼンテーション、フォーム・テンプレートなどを要求することができる。この要求を受け取ると、コンテンツ・プロバイダ及びディストリビュータ300は、プロファイル識別子10と一緒に、要求されたコンテンツを保護された形式でエンドユーザ400へ提供することができる。このプロファイル識別子10は、例えば、保護されたコンテンツをどのアプリケーションの中で閲覧できるかの詳細、また例えば、提供されたコンテンツを特定のソフトウェア/ハードウェア環境の中で操作できる範囲を含む。
更に、コンテンツ・プロバイダ300は、サービス要求20を完全性証明及び検証デバイス200へ回送することができる。サービス要求20は、例えば、コンテンツ・プロバイダ300が、配布及び保護されたコンテンツの消費をユーザ・システム400に許可したいと望むコンポーネント及び/又はソフトウェア・アプリケーションのリストを含む。完全性証明及び検証デバイス200は、サービス要求の中で識別されたコンポーネント及びアプリケーション/ソフトウェアが、コンポーネント・データベース260及び/又はプロファイル・データベース270の中に記憶された対応認証情報を有するかどうかを決定する。完全性証明及び検証デバイスが、サービス要求20の中で指定された認証情報へのアクセスを有さないならば、完全性証明及び検証デバイス200は、1つ以上のコンテンツ消費システム/アプリケーション・プロバイダ500から、特定のアプリケーション、システム、ハードウェア/ソフトウェア・コンポーネントなどに関する認証情報を要求することができる。この認証情報へのアクセスを取得すると、完全性証明及び検証デバイス200は、アプリケーション及びシステム・コンポーネントに関する情報をコンポーネント・データベース260の中に記憶する。更なる例示的実施形態において、完全性証明及び検証デバイス200は、1つ以上のアプリケーションについて完全性プロファイルを展開することができる。アプリケーション、システム、及びシステム・コンポーネントの真正を確認するこの情報を使用して、完全性証明及び検証デバイス200は、完全性プロファイル50をユーザ・システム400へ回送する。この完全性プロファイル50は、ユーザ・システム400のシステム、システム・コンポーネント、及び/又はアプリケーションの真正を確認するために使用される。ユーザのシステム・コンポーネント及び/又はアプリケーションが真正であると決定されるならば、保護されたコンテンツ10は非保護にされ、ユーザ・システム400は、完全性プロファイルに従って、保護されたコンテンツを閲覧し、又は操作などを行うことができる。
図1Bは、完全性証明及び検証を実行する他の例示的システムを示す。このシステムは、AIP検証と組み合わせてBIP検証を使用する。図1Aで示された例示的システムと同じように、ユーザ・システム400は、コンテンツ・プロバイダ300から、1つ以上のコンテンツ、例えば、電子ブック、マルチメディア・ファイル、プレゼンテーション、フォーム・テンプレートなどを受け取る。コンテンツ・プロバイダ及びディストリビュータ300は、1つ以上のBIP識別子、任意的なBIP結合検証フラグ、及び任意的にエンドユーザ・システム400への使用ライセンスと一緒に、保護された形態のコンテンツを提供することができる。BIP識別子は、具体的なBIP指定を示す。このBIP指定は、振る舞い又は項目の周知のセット、又は保護されたコンテンツをユーザ・システム400が消費するために遵守する条件を指定する。BIP結合検証フラグは、複数のBIP識別子が指定されたとき、BIP遵守を結合して検証するかどうかを示す。BIP結合検証フラグが明示的に指定されていなければ、完全性証明及び検証デバイスは、その検証をデフォルトの非結合検証にすることができる。例えば、コンテンツ・プロバイダ及びディストリビュータ300が、保護されたコンテンツについて再生だけのBIP識別子及び1回だけの転送BIP識別子の双方を指定し、BIP結合検証フラグが指定されるならば、再生だけのBIP及び1回だけの転送BIPの双方を遵守するシステム、アプリケーションなどだけが、保護されたコンテンツを消費することができる。他方、BIP結合検証フラグが指定されなければ、再生だけのBIP又は1回だけの転送BIP又は双方のBIPを遵守するシステム、アプリケーションなどが、保護されたコンテンツを消費することができる。他の例示的システムにおいて、ユーザ・システム400は、コンテンツ・プロバイダ300からコンテンツを直接受け取ることなく、1つ以上のBIP識別子、任意的なBIP結合検証フラグ、及び任意的な使用ライセンスをコンテンツ・プロバイダ300から受け取る。このシナリオのもとで、コンテンツはユーザ・システム400の中に存在してよい。このコンテンツは、任意的な使用ライセンスによって参照されるか、他の手段によって暗示又は参照される。更に他の例において、「コンテンツ」は、ユーザ・システム300からアクセスできる任意の適切なコンテンツ、サービス、コンピューティング環境などを含むことができる。
ユーザ・システム400が、保護されたコンテンツを消費できる前に、完全性証明及び検証デバイス200は、アプリケーション/システムの完全性を検証し、それらが真正であって、それらの振る舞いがBIP指定を遵守することを確かめる。ユーザのシステム・コンポーネント及び/又はアプリケーションが双方の規準を満足させると決定されるならば、保護されたコンテンツ10は非保護となり、ユーザ・システム400は、BIP指定に従って、保護されたコンテンツを消費することができる。有利には、アプリケーション及びシステムの所望の特性及び振る舞いに基づいて、それらアプリケーション及びシステムを証明することによって、同じ保護されたコンテンツが、既存の証明済みアプリケーション及びシステム、これから開発及び証明されるアプリケーション及びシステム、又は将来証明されたときの既存のアプリケーション及びシステムによって消費可能である。
ユーザ・システム400の完全性を検証するため、完全性証明及び検証デバイス200は、コンテンツ消費システム/アプリケーション・プロバイダ500からの個々のアプリケーション、システム、及び/又はソフトウェア/ハードウェア・コンポーネントに関する認証情報を収集及び登録する。この認証情報を使用して、完全性証明及び検証デバイス200は、1つ以上のアプリケーション、システム、及び/又はシステム・コンポーネントの完全性プロファイルを決定及び証明する。次に、AIP50がユーザ・システム400へ回送され、ユーザ・システム400の完全性が決定可能となる。一度、システムの完全性が確認され、システムが改ざんされていないことが決定されると、完全性証明及び検証デバイス200は、アプリケーションが、実際に、BIP識別子によって識別されたBIP指定を遵守する証拠が存在することを検証することによって、アプリケーションがBIP指定を遵守することを確かめる。完全性証明及び検証デバイス200は、保護されたコンテンツ10の中に指定されたBIP識別子を取得し、AIPからの情報に基づいてアプリケーション識別情報を構築し、この情報を使用して、BIP遵守の証拠を取得する。完全性証明及び検証デバイス200は、そのプロファイル検証デバイスを起動し、BIP識別子及びアプリケーション識別情報に関連付けられた遵守状況を検索することによって、BIP遵守の証拠を動的に取得することができる。システムの完全性及びシステムの振る舞いの双方が、対応するAIP及びBIPを使用して成功裏に検証されたとき、ユーザ・システム400は、保護されたコンテンツの消費を許可される。
図1Cは、更に、完全性証明及び検証を実行する他の例示的システムを示す。このシステムは、BIP検証の使用のみを必要とする。本実施形態において、ユーザ・システム400が、保護されたコンテンツを消費できる前に、完全性証明及び検証デバイス200は、アプリケーション/システムの完全性を検証し、それらの振る舞いがBIP指定を遵守することを確かめる。ユーザのシステム・コンポーネント及び/又はアプリケーションがBIP指定を遵守すると決定されるならば、保護されたコンテンツ10は非保護となり、ユーザ・システム400は、BIP指定に従って、保護されたコンテンツを消費することができる。このアプローチの利点は、パフォーマンスが速くなることである。なぜなら、AIP検証ステップが実行される必要はないからである。しかし、BIP遵守の証拠がユーザ・システム400について存在しても、ユーザ・システム400が改ざんされなかった保証はない。例えば、クローズド・システムの中の或る一定のアプリケーションについては、アプリケーション完全性検証を使用する必要はない。
図1Cによれば、完全性証明及び検証デバイス200は、アプリケーションが、実際に、BIP識別子によって識別されたBIP指定を遵守する証拠が存在することを検証することによって、アプリケーションがBIP指定を遵守することを確かめる。完全性証明及び検証デバイス200は、保護されたコンテンツ10の中に指定されたBIP識別子を取得し、ユーザ・システム400からの情報に基づいてアプリケーション識別情報を構築し、この情報を使用してBIP遵守の証拠を取得する。完全性証明及び検証デバイス200は、そのプロファイル検証デバイスを起動し、BIP識別子及びアプリケーション識別情報に関連した遵守状況を検索することによって、BIP遵守の証拠を動的に取得することができる。アプリケーションの振る舞いが、BIPを使用して成功裏に検証されたとき、ユーザ・システム400は、保護されたコンテンツへのアクセス又は消費を許可される。
アプリケーション、システム、及び/又はソフトウェア/ハードウェア・コンポーネントがBIPを遵守することを確かめるため、完全性証明及び検証デバイス200は、機能及び/又はシステム・レベルで厳格な検証を実行し、アプリケーション/システムの振る舞いが、BIPの中の指定を遵守することを検証することができる。
機能レベルにおいて、検証プロセスは、アプリケーション/システムによって提供された全ての適切な機能が、BIP指定によって定められた境界の中で動作することを確かめることができる。機能レベルにおける検証プロセスは、特徴の実行を目的とする自動及び/又は手作業テストを利用することができる。例えば、再生だけのBIPが与えられるならば、検証プロセスは、アプリケーション/システムが、再生だけの特徴、例えば、ユーザへのコンテンツ表示などを提供することを確かめることができる。したがって、アプリケーション/システムによって提供され、再生だけの振る舞いに違反する特徴、例えば、編集、複写などは、アプリケーション/システムが非遵守と見なされる結果を生じるであろう。
システム・レベルにおいて、検証プロセスは、アプリケーション/システムが、BIPに違反する意図的又は意図的でない効果を有さないことを確かめることができる。例えば、アプリケーション/システムは、一時ファイルを使用してコンテンツを平文でキャッシュすること、大量の平文コンテンツをメモリへ書き込み、次にそれをスワップ・ファイルへ転送すること、平文コンテンツ情報をレジストリ又は環境変数へ書き込むことなどによって、意図的でない効果を有するかもしれない。したがって、システム・レベルにおける検証プロセスは、低レベルの監視ソフトウェアを利用して、ファイルI/O、ネットワークI/O、メモリ追跡、及び他の効果を検出して、BIP遵守を決定することができる。
機能及びシステム検証は、システム/アプリケーション・プロバイダ500が、証明のためにそのアプリケーション/システムを登録するときに実行可能である。検証は、完全性証明及び検証デバイスのコンポーネント登録デバイス・サブコンポーネントによって実行可能であるが、実行される必要がある。一度、コンポーネント登録デバイスが、BIPと関連付けられたアプリケーション/システムの遵守状況を決定すると、コンポーネント登録デバイスは、アプリケーション/システムに関する詳細な識別情報と一緒に、状況をコンポーネント・データベースへ記録する。アプリケーション/システムを正確に識別するために必要な識別情報のタイプの例は、アプリケーション/システム製品名又は一意の識別番号及び/又は完全なバージョン番号などを含むことができる。アプリケーション/システムの識別情報及びBIP識別子を使用して、プロファイル検証デバイスは、完全性証明及び検証デバイスからの検証要求に応答して遵守状況を検索することができる。理解されるように、上記の例示的BIP証明モデルは、必要に応じて変更可能である。更に理解されるように、例示的検証モデルは、コンテンツ消費環境以外のために、必要に応じて変更可能である。
一般的に、BIP指定は、組織、例えば、標準団体、商業グループ、政府団体などによって作成可能であり、産業界の中のベンダなどによって採用可能である。各々のBIP指定は、アプリケーションの振る舞い又は特徴、セキュリティ要件、及びベンダがそれらのシステム、アプリケーションなどにプロファイルを遵守させるため何を行うことができるかの詳細情報から成るセットを記述する。有利には、各々のBIP指定は、それに関連付けられた一意のBIP識別子を有することができる。
図2は、完全性証明及び検証環境100のコンポーネントの例示的概観を示す。図2において、完全性証明及び検証環境100は、1つ以上のコンテンツ・プロバイダ300、1つ以上のユーザ・システム400、1つ以上の完全性証明及び検証デバイス200、1つ以上のコンテンツ消費システム/アプリケーション・プロバイダ500などを含むことができる。
コンテンツ・プロバイダ300は、コントローラ310、メモリ320、I/Oコントローラ330、コンテンツ・データベース340などを含むことができる。更なる例示的実施形態において、コンテンツ・プロバイダ300は、更に、より伝統的な方法でコンテンツを配布することができる。例えば、コンテンツ・プロバイダ300は、コンテンツを含むコンパクトディスクなどを配布することができる。コンパクトディスクは、例えば、郵便サービスなどを介してユーザへ配達可能である。一般的に、配布及び流布プロセスの適切なタイプを、例示的実施形態のシステム及び方法で等しく良好に使用することができる。
完全性証明及び検証デバイス200は、コントローラ210、メモリ220、I/Oコントローラ230、ディジタル署名デバイス240、コンポーネント登録デバイス250、コンポーネント・データベース260、プロファイル・データベース270、プロファイル作成デバイス280、プロファイル配布デバイス290、プロファイル検証デバイス295などを含むことができる。完全性証明及び検証デバイス200は、コンポーネント登録サービス、振る舞い完全性プロファイル(BIP)証明サービス、完全性プロファイル・サービスなどを提供することができる。登録サービスは、それぞれの提供者からのアプリケーション、システム、及び/又はソフトウェア/ハードウェア・コンポーネントを、意図された特性、目的、及び/又は振る舞いと一緒に、真正なものとして登録させる。
BIP証明サービスは、システム、アプリケーションなどがBIPを遵守することを証明し、またBIP遵守状況の証拠を提供するために提供される。システム/アプリケーションの登録中に、完全性証明及び検証デバイス200は、コンポーネント登録デバイス250を使用して、システム監視プロセス及びプロファイル・データベース270の中に記憶された検証テスト・ケースを実行し、コンポーネント・データベース260の中に登録されたシステム/アプリケーションのBIP遵守状況を決定する。システム/アプリケーションを成功裏に証明したとき、BIP証明サービスは、BIPを作成及び発行して、証明されているシステム/アプリケーションにBIPを関連付ける。遵守状況は、アプリケーション/システム識別情報と一緒に、コンポーネント・データベース260の中に記録及び記憶される。BIP証明サービスの一部分として、プロファイル検証デバイス295は、アプリケーション/システム識別情報に関連付けられた遵守状況を検索することによって、遵守の証拠を提供する。
例示的実施形態において、BIP証明サービスは、完全性証明及び検証デバイス200のコンポーネントを使用して実現可能である。代替的に、BIP証明サービスは、別個のBIP証明サービス・プロバイダとして実現可能である。そのような場合、コンテンツ消費システム/アプリケーション・プロバイダ500は、BIP証明サービス・プロバイダによる直接のBIP証明のため、そのアプリケーションを登録することができる。続いて、アプリケーションの検証中に、完全性証明及び検証デバイス200は、BIP識別子及びアプリケーション情報をオンラインBIP証明サービス・プロバイダへ送ることによって、BIP遵守の証拠を動的に取得することができる。
完全性プロファイル・サービスは、完全性プロファイルを組立及び検索するためにユーザへ提供可能である。完全性プロファイルは、任意的にディジタル署名された文書などの形態であってよく、検証可能な情報、及び保護された文書のコンテンツを消費する登録システム・コンポーネントのセットを含むことができる。一度、完全性プロファイルが作成されると、完全性プロファイルの識別子がユーザへ返却される。コンテンツ・プロバイダは、完全性プロファイル識別子を含むことができ、有利には、任意的に、保護された文書と一緒に使用ライセンスを提供することができる。保護された文書のコンテンツが消費され、ユーザのシステム及び環境のローカル完全性検証を実行する必要性が存在するとき、完全性プロファイルは、ユーザ・システムのために完全性証明及び検証デバイス200から検索可能である。
ユーザ・システム400は、コントローラ410、メモリ420、I/Oコントローラ430、記憶デバイス440、完全性認証デバイス450、プロファイル記憶デバイス460などを含むことができる。したがって、そのような例示的ユーザ・システムは、コンピュータのモデルに基づくことを理解すべきである。しかし、更に、例示的ユーザ・システムのコンポーネントは、更なる例示的実施形態に従って、例えば、消費されているコンテンツ又はサービスのタイプ、アクセスされているコンピューティング環境のタイプ、従事されている活動のタイプなどに依存して、変更可能であることを理解すべきである。一般的に、完全性を検証できる1つ以上の部分を有する任意の適切なユーザ・システムは、例示的実施形態のシステム及び方法と一緒に等しく良好に使用可能である。
システム/アプリケーション・プロバイダ500は、コントローラ510、メモリ520、I/Oコントローラ530、登録アプリケーション・デバイス540、アプリケーション・データベース550、システム・データベース560などを含むことができる。しかし、コンテンツ・プロバイダ300と同じく、システム/アプリケーション・プロバイダは、更なる例示的実施形態に従って、システム/アプリケーション・プロバイダが供給するシステム及び/又はアプリケーションのタイプに依存して、いくつかの異なる形態を有することができる。例えば、システム/アプリケーション・プロバイダ500が特定のハードウェア・コンポーネントを供給するならば、システム/アプリケーション・プロバイダ500はアプリケーション及びシステム・データベースを維持する必要はない。更なる例示的実施形態において、システム/デバイス・コンポーネント供給者は、例えば、ディスクなどの上で、認証情報を完全性証明及び検証デバイス200へ直接送ることができる。
他の例示的実施形態において、システム/アプリケーション・プロバイダ500は、コンテンツ・プロバイダ300とエフォート(effort)を調整して、完全性プロファイルの決定を促進することができる。一般的に、システム/アプリケーション・プロバイダは、ハードウェア又はソフトウェア及びそれらに関する認証情報を供給できる任意の適切なエンティティを含むことができる。
例示的実施形態において、システム/アプリケーション・プロバイダ500は、様々なシステム・コンポーネントを含むことができる。しかし、システム/アプリケーション・プロバイダ500は、更なる例示的実施形態に従って、コンピュータ・ディストリビュータ、ソフトウェア開発者、ソフトウェア・プロバイダ、ソフトウェア・ディストリビュータなどを含むことができることを理解すべきである。このようにして、システム/アプリケーション・プロバイダ500は、コンテンツ・プロバイダ300によって提供されるコンテンツの消費を考慮するデバイス及び/又はソフトウェアを供給することができる。
完全性証明及び検証環境100の様々なコンポーネントは、リンク5を介して相互に通信することができる。リンク5は、有線又は無線リンク、又は接続された要素の間で電子データを供給できる他の適切な既知又は後に開発される要素であってよい。例えば、リンク5は1つ以上の分散ネットワークを含むことができる。分散ネットワークは1つ以上の追加の完全性証明及び検証環境100へ接続可能であるか、代替として、1つ以上のコンテンツ・プロバイダ300、ユーザ・システム400、コンテンツ消費システム/アプリケーション・プロバイダ500、完全性証明及び検証デバイス200などの複数のインスタンス(instance)へ接続可能である。
例示的動作環境において、コンテンツ消費システム/アプリケーション・プロバイダ500は、アプリケーション、ソフトウェア、及び/又はハードウェアをユーザへ供給する。これらのアプリケーション、ソフトウェア、及び/又はハードウェアは、コンテンツの消費、例えば、文書の閲覧などを行うため、ユーザによって使用される。
コンテンツ・プロバイダ300は、例えば、ユーザ・システム400に位置するユーザ
の要求により、コンテンツ、例えば、文書などをユーザ・システム400へ配布する。例示的実施形態において、要求は、ユーザ・システム400からコンテンツ・プロバイダ300によって受け取られてよい。I/Oコントローラ330を介して受け取り可能なこの要求は、メモリ320と協調するコントローラ310によって処理され、要求されたコンテンツをコンテンツ・データベース340から検索する。例示的実施形態において、コンテンツ・プロバイダ300は、オンライン・コンテンツ・プロバイダ、ブックストア、ソフトウェア・プロバイダ、コンテンツ、例えば、文書などをユーザなどへ提供したいと望む任意の他の適切なコンテンツ・プロバイダなどを含むことができる。
ユーザ・システム400からコンテンツ要求を受け取ると、コンテンツ・プロバイダ300は、要求されたコンテンツ、及び保護されたコンテンツに関連付けられた追加情報、例えば、プロファイル識別子などをユーザ・システムへ返却する。更なる実施形態において、追加情報は、コンテンツを動作可能にする前に、プロファイル、したがって完全性証明の要求をユーザ・システムに指示する情報を含むことができる。追加情報は、更に、要求されたコンテンツを閲覧又は対話するとき、どのようなシステム・コンポーネント及び/又はハードウェア/ソフトウェアがユーザ・マシンの上で実行及び/又は使用可能であるかを識別する情報を含むことができる。このようにして、1つ以上の要求されたコンテンツ、追加情報、プロファイル識別子などが、I/Oコントローラ430を介してユーザ・システム400によって受け取られ、コントローラ410の指令で1つ以上のメモリ420及び記憶デバイス440の中に記憶される。
例示的実施形態において。コンテンツ・プロバイダ300は、完全性証明及び検証デバイス260からのサービス要求20、例えば、完全性プロファイルの要求を開始することができる。完全性証明及び検証デバイス260は、I/Oコントローラ230を介して、またコントローラ210及びメモリ220と協力して、コンテンツ・プロバイダ300からのサービス要求を受け取る。
前述したように、完全性証明及び検証デバイス200は、コンポーネント・データベース260及びプロファイル・データベース270を含むことができる。コンポーネント・データベース260は、1つ以上のコンテンツ消費システム/アプリケーション・プロバイダ500によって配布されるシステム及びシステム・コンポーネントに関する認証情報へのアクセスを提供する。同様に、プロファイル・データベース270は、検証可能な情報、及び1つ以上の個々のコンテンツ・プロバイダ300のために、保護された文書のコンテンツを消費する登録システム・コンポーネントのセットを記憶する。検証可能な情報は、登録されたシステム及びアプリケーションについて、BIP遵守の証明で使用される検証テスト・ケースを含むことができる。
このようにして、コンテンツ・プロバイダ300から完全性プロファイルの要求を受け取ると、完全性証明及び検証デバイス200は、コントローラ210の指令及びメモリ220の助けにより、コンポーネント・データベース260及びプロファイル・データベース270を探索し、サービス要求の中の情報に対応する認証情報が既に存在するかどうかを決定する。
更なる例示的実施形態において、完全性証明及び検証デバイス200は、オンライン検証サービスを実行することができる。オンライン検証サービスは、完全性証明及び検証デバイス200の中で、オンラインで、例えば、リアルタイムの、又はリアルタイムに近い完全性検証を実行するために提供される。このサービスを開始するため、完全性オーセンティケータ(authenticator)と呼ばれる1つのソフトウェアが、ユーザ・システム400へ回送可能である。完全性オーセンティケータは、ローカル・ソフトウェア及び/又はハードウェア・コンポーネントの情報収集を許可する。
他の例示的実施形態において、完全性オーセンティケータは、専用デバイス、例えば、図2で示される完全性認証デバイス450などであってよい。ローカル・ソフトウェア及び/又はハードウェア・コンポーネントに関して集められた情報は、完全性プロファイル識別子と共に完全性証明及び検証デバイス200へ返却され、オンライン完全性検証が実行可能になる。コンポーネント登録デバイス250は、それぞれの提供者からのソフトウェア/ハードウェア・コンポーネントを検査し、識別情報をコンポーネント・データベース260の中に記憶する。ソフトウェア/ハードウェア・コンポーネントに関する情報は、例えば、ハッシュ可能であり、ハッシュ値は、真正なソフトウェア/ハードウェア識別子として使用可能である。しかし、各々のソフトウェア/ハードウェア・コンポーネントを識別する情報は、更なる例示的実施形態に従って、1つの真正なハードウェア及び/又はソフトウェアの識別を考慮する任意の適切な既知又は後に開発されるスキームであってよいことを理解すべきである。
例示的実施形態において、特定のソフトウェア及び/又はハードウェア・コンポーネントの登録は、識別及び証明検証デバイス200と通信して登録サービスを要求するコンテンツ消費システム/アプリケーション・プロバイダ500によって達成可能である。更なる例示的実施形態において、識別及び証明検証デバイス200は、認証情報を安全にするため、コンテンツ消費システム/アプリケーション・プロバイダ500と通信することができる。コントローラ510、メモリ520、及びI/Oコントローラ530と協力する登録アプリケーション・デバイス540は、1つ以上のアプリケーション・データベース550及びシステム・データベース560を探索し、特定のソフトウェア及び/又はハードウェアに関する情報を安全にする。その情報の中には、提供者名、コンポーネント識別子、例えば、一連番号、バージョン番号、組立番号など、アプリケーション自体などが含まれる。
例示的動作シナリオにおいて、特定のコンテンツ消費システム/アプリケーション・プロバイダ500から認証情報を獲得する代わりに、完全性証明及び検証デバイス200は、コンテンツ消費システム/アプリケーション・プロバイダ500から特定のアプリケーション、例えば、ソフトウェア・プログラムなどを直接要求することができる。このようにして、完全性証明及び検証デバイス200は認証情報を使用する必要はない。なぜなら、完全性証明及び検証デバイス200は、コンテンツ消費システム/アプリケーション・プロバイダ500から特定のソフトウェア・アプリケーションを直接確保することができるからである。
コンポーネント登録デバイス250は、コンポーネントの情報を検証し、任意的に、例えば、ハッシュ値を計算する。このハッシュ値は、例えば真正なソフトウェア及び/又はハードウェア識別子として使用可能である。次に、コンポーネント登録デバイス250は、コンポーネント情報、及び、例えば、ハッシュ値をコンポーネント・データベース260の中に記憶する。
システム/アプリケーション・プロバイダがBIP証明のためにアプリケーション/システムを登録する場合、コンポーネント登録デバイス250は、更に、機能的及びシステム検証を実行して、BIPに関連したアプリケーション/システムの遵守状況を決定する。次に、コンポーネント登録デバイス250は、アプリケーション/システムに関する詳細な識別情報と一緒に、遵守状況をコンポーネント・データベース260の中に記録する。
更なる例示的実施形態において、ソフトウェア及び/又はハードウェア・コンポーネントを登録アプリケーション・デバイス540へ送る代わりに、コンテンツ消費システム/アプリケーション・プロバイダ500は、更に、コンポーネント登録デバイス250へ接続して、小さなソフトウェア・アプリケーション、例えば、登録アプリケーション、プラグイン、アプレットなどをダウンロードし、それをローカルで実行させることができる。この登録アプリケーションは、目標のソフトウェア/ハードウェア・コンポーネントを審査し、このソフトウェア/ハードウェア・コンポーネントに関する情報を、可能性として完全性値、例えば、ハッシュ値などと一緒にコンポーネント登録デバイス250へ送る。デバイス250は、コンポーネントに関する認証情報をコンポーネント・データベース260の中に記憶することができる。
他の例示的実施形態において、プロファイル作成デバイス280は、ソフトウェアのために完全性プロファイルを組み立てる。例えば、各々のソフトウェア・アプリケーションの完全性値、例えば、ハッシュ値などは、コンポーネント・データベースから検索及び記憶可能である。コンポーネント間の任意的な対話関係も、プロファイルに含むことができる。この関係は、他のコンポーネントとの意図的でない対話を防止するため、コンポーネントの呼び出し及び返却シーケンスを識別するために使用される。次に、完全性プロファイルのコンテンツは、例えば、ディジタル署名され、結果の署名は、完全性プロファイルへ添付される。各々の完全性プロファイルは一意の識別子に関連付けられる。
プロファイル作成デバイス280は、更に、BIP証明のために登録されて成功裏に合格したシステム及びアプリケーションについてBIPを組み立てることができる。プロファイル作成デバイス280は、コンポーネント・データベース260から各々のアプリケーションのBIP遵守状況を検索することができ、成功した遵守証明を遵守状況が示すならば、アプリケーションのためにBIPを作成することができる。プロファイル作成デバイスは、任意的に、遵守状況をBIPの中に記録することができる。各々のBIPは、更に、BIP指定に関連付けられた一意のBIP識別子及びアプリケーション/システム識別情報を含むことができる。次に、完全性プロファイルのコンテンツは、例えば、ディジタル署名され、結果の署名がBIPへ添付される。
図3は、完全性証明及び検証デバイス200によって提供される入力、出力、サービス、及び動作の例示的ワークフローを示す。例示的実施形態において、コンポーネント登録サービスのために、コンポーネント識別子、及び、任意的に、特定のコンポーネントに関するメタ情報が、コンポーネント登録デバイス250へ回送される。コンポーネント登録デバイス250は、例えば、意図された特性、目的、及び振る舞いと一緒に、コンポーネントをコンポーネント・データベースの中に登録する。次に、コンポーネント登録デバイス250は、例えば、コンテンツ消費システム/アプリケーション・プロバイダへ、登録されたコンポーネントの識別子を返却し、その識別子を、例えば、コンテンツ・プロバイダ300で利用できるようにする。
プロファイルを作成するため、プロファイル作成デバイス280は、登録されたコンポーネントの識別子を受け取る。次に、登録されたコンポーネントの識別子は、あるとすれば関連コンポーネントに関する情報と組み合わせられたとき、ディジタル署名され、プロファイル・データベースの中に記憶される。次に、完全性プロファイル識別子は要求者へ返却される。
プロファイル作成デバイス280は、更に、BIP証明のために登録されて成功裏に合格したBIP指定及びシステム/アプリケーションを含む各々のペアについて、別々のBIPを作成することができる。BIPは、BIP指定に関連付けられた一意のBIP識別子を含むことができる。登録されたコンポーネントの識別子は、関連付けられたコンポーネントに関する情報、例えば、BIP指定への遵守状況と組み合わせられたとき、BIPの中に記録され、ディジタル署名され、プロファイル・データベースの中に記憶される。一意のBIP識別子及びアプリケーション/システム識別情報は、主たる鍵として役立ち、プロファイル・データベースの中で特定のBIPを一意に識別する。
同様に、プロファイル配布デバイス290は、完全性プロファイル識別子を受け取る。次に、プロファイル・データベース270が問い合わされ、完全性プロファイル識別子に対応する完全性プロファイルが利用可能であるかどうかを決定する。完全性プロファイルが利用可能であれば、完全性プロファイルは要求者へ返却される。そうでなければ、プロファイル作成デバイス280の助けを借りて完全性プロファイルを決定することができる。
プロファイル検証デバイス295は、1つ以上のコンポーネントを識別する情報及び完全性プロファイル識別子を受け取る。プロファイル検証デバイス295は、コンポーネント識別子、完全性プロファイル識別子、及び対応する完全性プロファイルを比較し、検証データを決定する。プロファイル及びコンポーネント及び識別子がマッチすれば、システムの完全性が検証される。そうでなければ、システムは、完全性プロファイルの中で指定されたものでないか、システムが何らかの方法で変更されたことが決定される。
BIP検証の場合、プロファイル検証デバイス295は、1つ以上のコンポーネントを識別する情報及び一意のBIP識別子を受け取る。そのような識別子を使用して、プロファイル検証デバイス295は、プロファイル・データベース270から適切なBIPを検索する。次に、検証デバイス295は、コンポーネントの遵守状況を検査し、BIP遵守の証拠を決定する。遵守状況は、アプリケーション/システムの振る舞いがBIPの中の指定を遵守するかどうかを示す。
図4Aは、例示的な完全性プロファイルを示す。例示的な完全性プロファイルは、プロファイル作成デバイス280によって作成可能である。認証されたコンテンツ・プロバイダのために完全性プロファイルを組み立てるため、完全性プロファイルを作成する要求が開始される。例えば、提供者は完全性証明及び検証デバイス200と接触し、完全性プロファイルの作成を要求することができる。次に、提供者は、ソフトウェア及び/又はハードウェア・コンポーネントの名前のリストを完全性証明及び検証デバイス200へ送る。次に、プロファイル作成デバイス280は、コンポーネント・データベース260から、各々のコンポーネントの識別子、例えば、完全性値、ハッシュ値などを検索する。次に、プロファイル作成デバイス280は、完全性プロファイルを決定する。完全性プロファイルは、各々のコンポーネントの認証情報、例えば、完全性値、ハッシュ値などを、他の情報、例えば、完全性プロファイル識別子、バージョン番号、作成日、組立日、コンテンツ提供者名など、及び任意的に、ソフトウェア及び/又はハードウェア・コンポーネントの間の対話関係と一緒に含むことができる。
プロファイル作成デバイス280は、決定された完全性プロファイルをディジタル署名者240へ回送する。次に、ディジタル署名者240はプロファイルのコンテンツに署名する。次に、プロファイル作成デバイス280は、署名されたプロファイルをプロファイル・データベース270の中に記憶し、プロファイル識別子をコンテンツ・プロバイダ300へ返却する。
図4Bは、例示的なBIPを示す。システム/アプリケーション・プロバイダがそのシステム/アプリケーションを登録し、BIP指定への遵守の証明に合格したとき、プロファイル作成デバイス280はBIPを作成する。プロファイル作成デバイスは、コンポーネント・データベース260から、遵守状況及びシステム/アプリケーションに対応するアプリケーション識別情報を検索することによって、BIPを組み立てる。例示的なBIPは、BIP識別子、BIPのバージョン番号、BIPの作成日付、BIPを作成した組織の名前、BIP識別子に関連付けられた指定のURL、登録されたシステム/アプリケーションのアプリケーション識別情報、BIPのディジタル署名など、及び任意的に、登録されたシステム、アプリケーションの遵守状況などを含むことができる。BIPが複数のBIP識別子を含むとき、システム/アプリケーションは、指定されたBIP識別子に関連付けられた全ての適切なBIP指定を遵守しなければならない。
例えば、保護された文書のコンテンツについて使用ライセンスを作成するとき、コンテンツ・プロバイダ300は、完全性プロファイル識別子を使用ライセンスの中に任意的に含むことができる。ユーザ・システム400では、完全性プロファイルを使用して、環境コール(呼び出し)・スタックの中の全ての適切なソフトウェア/ハードウェア・コンポーネントを検証することができる。これは、極秘情報が、許可されたソフトウェア/ハードウェア・コンポーネント又はその任意の組み合わせによってのみ消費可能であることを保証する。更なる例示的実施形態において、コンテンツ・プロバイダ300は、任意的に、BIP指定に対応する完全性プロファイル識別子を含むことができる。この場合、前述したプロセスと同じく、特定のアプリケーションに関連付けられた完全性プロファイルが、ユーザ・システム400で最初に使用され、環境コール・スタックの中の全てのソフトウェア/ハードウェア・コンポーネントを検証する。一度、システム/アプリケーションの完全性が確認されると、BIPが使用されて、システム/アプリケーションの振る舞いが、BIP指定によって識別されるBIP指定を遵守することを立証する。
プロファイル配布デバイス290は、完全性プロファイルを取得する要求を受け入れ、それらのプロファイルをプロファイル・データベース270から検索し、完全性プロファイルをそれぞれの要求者へ返却する。同様に、プロファイル検証デバイス295は、1つ以上のシステム環境についてユーザ・システムを検証する要求を受け入れる。プロファイル検証デバイス295は、完全性プロファイルに従ってソフトウェア/ハードウェア・コンポーネントに関する情報を集め、情報をプロファイルに対して検証し、検証結果を要求者へ返却する。プロファイル検証デバイス295は、更に、BIP検証要求に応答して、BIPから遵守状況を引き出す。
ユーザ・システム400は、完全性認証デバイス450を含むことができる。完全性認証デバイス450は、例えば、任意の適切なコンテンツ消費アプリケーションに続いて実行する。
従って、図5は、システム完全性を検証するユーザ・デバイス400の上の例示的システム環境スタックを示す。例示的実施形態において、ユーザ・システム環境スタックは、完全性オーセンティケータ、1つ以上のシステム・コンポーネントなどを含むことができる。
図6は、環境スタックの例を示す。環境スタックは、完全性オーセンティケータ、プラグイン、レンダリング・アプリケーション、オペレーティング・システム、オペレーティング・システム(OS)ブートストラップ、それぞれのハードウェアなどを含む。
例示的動作環境において、完全性認証デバイス450は、それ自体の暗号化/復号鍵のペア、及び識別証明及び検証デバイスの検証鍵を含むことができる。これらの鍵は、改ざん防止を提供するため、完全性認証デバイス400の中に隠され、及び/又は埋め込まれる。ユーザの秘密情報の使用を要求するか、極秘の文書及びデータを含むアプリケーションのために、完全性認証デバイス450は、関連付けられた完全性プロファイルを使用して、ユーザ・システム環境内のコール・スタック上のソフトウェア/ハードウェア・コンポーネントを検証することができる。
完全性認証デバイス450は、完全性証明及び検証デバイスの検証鍵を使用して、プロファイルの署名を検証することができる。図7〜図9で示されるように、一度署名が検証されると、完全性認証デバイス450は、現在のコール・スタックを審査し、完全性プロファイルの中で提供された情報を使用してコール・スタック上の各々のソフトウェア/ハードウェア・コンポーネントの認証を開始することができる。コール・スタックは、連続したメモリ・ブロックとして構成可能である。このメモリ・ブロックは、メモリ・イメージ、関連機能又は手続きなどを含むことができる。スタックは後入れ先出しベースで動作することができ、スタック動作はスタック「プッシュ」及びスタック「ポップ」を含むことができる。プッシュは、イメージをスタックの上に記憶してスタックの最上部の位置へ進めるために使用可能である。ポップは、スタックからデータを除去してスタックの最上部を前の位置へ回復するために使用可能である。
コール・スタックの場合、現在実行された機能のイメージは、スタックの最上部にある。現在実行された機能が次の機能を起動又は呼び出すとき、次の機能のメモリ・イメージは、コール・スタックの最上部へプッシュされ、コール・スタックの最上部は、次の機能のイメージを指し示す。積み重ねられたイメージの各々の部分は、呼び出された機能がその実行を終了した後のアドレス又はリターン(戻り)命令を含むことができる。
図10は、実行環境がどのようにして保護されるかを示す。例示的実施形態において、完全性オーセンティケータ(IA)を保護するため、IAの実行は、IAの一部分である信頼性アプリケーションによって監視される。監視プロセス、例えば、アプリケーションなどは、IAがシステム内の任意の他の適切なプロセス又はアプリケーションによって監視されることを防止できるデバッガ、特殊プロセスなどを含むことができる。プロセスが1つだけのプロセスによってデバッグされるだけの環境において、信頼性監視プログラムは、デバッガなどとして実現可能である。監視プログラムは信頼性アプリケーションであるため、監視プログラムの完全性は、現在の完全性プロファイルの中に含むことが可能である。したがって、IAは、ローディング及び実行の前に信頼性アプリケーションの完全性を検証する。信頼性監視アプリケーションの機能は、IAが他のプロセスによって監視及び制御及び捕獲されることを防止することである。信頼性監視アプリケーションの他の機能は、現在の環境を監視して環境内の変化が有効であるかどうかを決定することである。しかし、IAと同じく、信頼性監視アプリケーションも保護可能であり、IAは監視者(モニター)として行動し、他のアプリケーションによって監視、捕獲、及び/又は制御されることから信頼性監視アプリケーションを保護することができる。この二重の保護メカニズムは、他のアプリケーションが完全性オーセンティケータの実行を監視しないようにするクローズド・システムを作り出す。
図11Aは、完全性証明及び検証デバイスの例示的動作方法を示す。例示的実施形態において、制御はステップS100で始まり、ステップS110へ続く。ステップS110では、完全性プロファイルが決定される。次に、ステップS120では、完全性プロファイルが証明される。次に、ステップ130では、完全性プロファイルがユーザへ回送される。次に、制御はS140へ続く。
ステップS140では、ユーザ・システムの完全性が検証される。次に、ステップS150では、ユーザ・システムが真正であるかどうかの決定が行われる。ユーザ・システムが真正であれば、制御はステップS160へ続く。そこでは、ユーザが、選択されたコンテンツへのアクセスを許可される。ユーザ・システムが真正でなければ、制御はステップS170へジャンプする。そこでは、コンテンツへのアクセスが拒否又は不能にされる。次に、制御はステップS180へ続く。そこでは、制御シーケンスが終了する。
図11Bは、AIPと組み合わせてBIPを使用する完全性証明及び検証デバイスの例示的動作方法を示す。例示的実施形態において、制御はステップS800で始まり、ステップS810へ続く。ステップS810では、AIPが決定される。次に、ステップS820では、AIPが証明される。次に、ステップS830では、AIPがユーザへ回送される。次に、制御はステップS840へ続く。
ステップS840では、ユーザ・システムの完全性が検証される。次に、ステップS850では、ユーザ・システムが真正であるかどうかが決定される。ユーザ・システムが真正でなければ、制御はステップS930へジャンプする。そこでは、コンテンツへのアクセスが拒否又は不能にされる。次に、制御はステップS940へ続く。そこでは、制御シーケンスが終了する。しかし、ステップS850において、ユーザ・システムが真正であれば、制御はステップS860へ続き、BIP結合検証フラグが明示的に指定されているかどうかを決定する。
BIP結合検証フラグが指定されていれば、制御はS870へ行く。そこでは、指定されたBIP指定をユーザ・システムが遵守するかを検証する。ステップS880では、ユーザ・システムがBIPを遵守するかどうかの証拠をユーザ・システムが有するかどうかを決定する。ユーザ・システムが遵守の証拠を有するならば、制御はステップS890へ続く。そこでは、選択されたコンテンツへのアクセスをユーザが許可される。ユーザ・システムが証拠を有さなければ、制御はステップS930へジャンプする。そこでは、コンテンツへのアクセスが拒否又は不能にされる。次に、制御はステップS940へ続く。そこでは、制御シーケンスが終了する。
しかし、ステップS860において、BIP結合検証フラグが指定されていなければ、制御はS910へ行く。そこでは、指定されたBIP指定の任意の1つを遵守することについてユーザ・システムが検証される。ステップS920では、ユーザ・システムがBIPの1つを遵守する証拠を有するかどうかが決定される。ユーザ・システムが遵守の証拠を有するならば、制御はステップS890へ続く。そこでは、選択されたコンテンツへのアクセスをユーザが許可される。証拠を有さなければ、制御はステップS930へジャンプする。そこでは、コンテンツへのアクセスが拒否又は不能にされる。次に、制御はステップS940へ続く。そこでは、制御シーケンスが終了する。
図11Cは、BIPを使用する完全性証明及び検証デバイスの例示的動作方法を示す。具体的には、制御はステップS1000で始まり、ステップS1010へ続く。ステップS1010では、BIP結合検証フラグが検査され、それが明示的に指定されているかどうかを決定する。BIP結合検証フラグが指定されていれば、制御はS1020へ行く。そこでは、指定されたBIP指定を遵守することについてユーザ・システムが検証される。ステップS1030では、ユーザ・システムがBIPを遵守する証拠を有するかどうかが決定される。ユーザ・システムが遵守の証拠を有するならば、制御はステップS1080へ続く。そこでは、選択されたコンテンツへのアクセスをユーザが許可される。証拠を有さないならば、制御はステップS1040へジャンプする。そこでは、コンテンツへのアクセスが拒否又は不能にされる。次に、制御はステップS1050へ続く。そこでは、制御シーケンスが終了する。
しかし、ステップS1010において、BIP結合検証フラグが指定されていなければ、制御はS1060へ行く。そこでは、指定されたBIP指定の任意の1つを遵守することについてユーザ・システムが検証される。ステップS1070では、ユーザ・システムがBIPの1つを遵守する証拠をユーザ・システムが有するかどうかが決定される。ユーザ・システムが遵守の証拠を有するならば、制御はステップS1080へ続く。そこでは、選択されたコンテンツへのアクセスをユーザが許可される。証拠を有さないならば、制御はステップS1090へジャンプする。そこでは、コンテンツへのアクセスが拒否又は不能にされる。次に、制御はステップS1050へ続く。そこでは、制御シーケンスが終了する。
図12は、コンポーネント/ハードウェア及び/又はソフトウェアを登録する例示的方法を示す。例示的実施形態において、制御はステップS200で始まり、ステップS210へ続く。ステップS210では、登録サービスが開始される。次に、ステップS220において、コンポーネント供給者は、特定のコンポーネント/ハードウェア及び/又はソフトウェアに関する認証情報を提供する。次に、ステップS230では、特定のコンポーネント/ハードウェア及び/又はソフトウェアに関する情報が検証される。次に、制御はステップS240へ続く。
ステップS240では、完全性値を決定すべきかどうかが決定される。完全性値を決定すべきであれば、制御はステップS250へ続く。そこでは、完全性値が決定される。決定すべきでなければ、制御はステップS260へジャンプする。そこでは、コンポーネント/ハードウェア及び/又はソフトウェアに関する認証情報が記憶される。
次に、ステップS270では、完全性値を記憶すべきかどうかの決定が行われる。完全性値を記憶すべきであれば、制御はステップS280へ続く。そこでは、完全性値が記憶される。そうでなく、完全性値を記憶すべきでなければ、制御はステップS290へジャンプする。そこでは、制御シーケンスが終了する。
図13は、プロファイルを決定する例示的方法を示す。例示的実施形態において、制御はステップS300で始まり、ステップS310へ続く。ステップS310では、完全性プロファイルの決定が開始される。次に、ステップS320では、コンポーネント及び/又はハードウェア又はソフトウェアの名前、例えば、識別子などが取得される。次に、ステップS330では、コンポーネント/ハードウェア又はソフトウェアの識別子が検索される。次に、制御はステップS340へ続く。
ステップS340では、完全性プロファイルが決定される。次に、ステップS350では、完全性プロファイルがディジタル署名される。次に、ステップS360では、ディジタル署名された完全性プロファイルが記憶される。次に、制御はステップS370へ続く。
ステップS370では、次に、署名された完全性プロファイルが要求者、例えば、コンテンツ消費システム/アプリケーション・プロバイダなどへ回送される。次に、制御はステップS380へ続く。そこでは、制御シーケンスが終了する。
図14は、完全性オーセンティケータの完全性を検証する例示的方法を示す。例示的実施形態において、制御はステップS400で始まり、ステップS410へ続く。ステップS410では、完全性オーセンティケータの完全性が検証される。次に、ステップS420では、完全性オーセンティケータが有効であるかどうかが決定される。完全性オーセンティケータが有効であれば、制御はステップS430へ続く。そうでなければ、制御はステップS540へジャンプする。
ステップS430では、改ざん防止環境が確立される。次に、ステップS440では、完全性プロファイルが検証される。次に、ステップS450では、完全性プロファイルが有効であるかどうかが決定される。完全性プロファイルが有効であれば、制御はステップS460へ続く。そうでなければ、制御はステップS540へジャンプする。
ステップS460では、完全性プロファイルがロードされる。次に、ステップS470では、図6に関連して説明したような、現在の実行環境のコール・スタックが構築される。コール・スタックの最下部には、ハードウェア及び/又はデバイスのセットがあり、ソフトウェア・コンポーネントはスタックの上部の方にある。スタック内のコンポーネントの関係は、低い方のコンポーネントが、すぐ上のコンポーネントを呼び出すことである。一度、コール・スタックが構築されると、最後に実行されたコンポーネントの実行イメージを含むコール・スタックの最上部が突き止められる。このようにして、スタック上の各々のコンポーネントの実行イメージは、コール・コンポーネントの識別を助ける。次に、ステップS480では、識別子コール・コンポーネントが検索される。次に、制御はステップS490へ続く。
ステップS490では、コンポーネントの完全性が、完全性プロファイルと比較して検証される。次に、ステップS500では、コンポーネントが有効であるかどうかが決定される。コンポーネントが有効であれば、制御はステップS510へ続く。そうでなければ、制御はステップS540へジャンプする。
ステップS510では、スタックが空であるかどうかが決定される。スタックが空であれば、制御はステップS520へジャンプする。そうでなければ、制御はステップS530へジャンプする。ステップS520では、スタック内の次のコンポーネントが突き止められ、該次のコンポーネントが現在のスタック・フレームとして設定される。次に、制御は検証のためにステップS480へ戻る。
ステップS530では、完全性が検証され、制御はステップS550へ続く。そこでは、制御シーケンスが終了する。ステップS540では、完全性検査が失敗し、制御はステップS550へ続く。そこでは、制御シーケンスが終了する。
このようにして、コンテンツ・プロバイダ、例えば、文書出版者又は配布者は、信頼されたユーザ環境の中で消費するため、保護されたコンテンツをユーザへ提供する。完全性証明及び検証サービスを提供することによって、コンテンツ消費環境の真正が検証可能である。コンテンツ・プロバイダはディジタル・コンテンツの保護されたバージョンをユーザへ回送する。ディジタル・コンテンツの保護されたバージョンは、例えば、ライセンス契約及び完全性プロファイル識別子を含む。プロファイルは、例えば、保護されたコンテンツと組み合わせた使用を許可されるアプリケーション及びシステム・コンポーネントを含む。更に、コンテンツ・プロバイダは、完全性プロファイルの要求を開始する。完全性プロファイルのこの要求は、完全性証明及び検証デバイスへ回送される。要求されたアプリケーション及び/又はシステム・コンポーネントについて完全性プロファイルが既に存在していなければ、完全性証明及び検証デバイスは、例えば、システム・コンポーネントをユーザへ供給したコンテンツ消費システム/アプリケーション・プロバイダに問い合わせることができる。コンテンツ消費システム/アプリケーション・プロバイダは、完全性証明及び検証デバイスへ、特定のアプリケーション又はシステム・コンポーネントに関する認証情報を返却する。認証情報は、ユーザ・システム上のアプリケーション及び/又はシステム・コンポーネントと、コンテンツ消費システム/アプリケーション・プロバイダによって配布された元のアプリケーション又はシステム・コンポーネントとの間で、比較又は完全性検証が行われることを許可する。
更なる例示的実施形態において、コンテンツ・プロバイダはディジタル・コンテンツの保護されたバージョンをユーザへ回送する。ディジタル・コンテンツの保護されたバージョンは、例えば、ライセンス契約及びBIP識別子を含む。アプリケーション完全性プロファイル識別子は、保護されたコンテンツに関連付けられないが、コンテンツ消費システム/アプリケーション・プロバイダによって、アプリケーション及びシステム・コンポーネントの中に埋め込まれる。特定のアプリケーションへ結び付けられるアプリケーション完全性プロファイルとは異なり、BIPは、振る舞いのセット及び/又は全ての遵守アプリケーションが守る消費条件を指定する標準指定へ結び付けられる。アプリケーション完全性プロファイル識別子を使用して、完全性証明及び検証サービスは、先ずコンテンツ消費システム、アプリケーションなどの真正を検証する。コンテンツ消費システム/アプリケーションの完全性が確認され、それが改ざんされていないことが決定されると、完全性証明及び検証デバイスは、アプリケーションが実際にBIP指定を遵守する証拠が存在することを検証することによって、コンテンツ消費システム/アプリケーションがBIPを遵守することを確かめる。次に、完全性証明及び検証デバイスは、コンテンツ消費システム/アプリケーションが、保護されたコンテンツを消費することを可能にする。BIP識別子に基づいてアプリケーション及びシステムを証明することによって、消費者は、保護されたコンテンツを消費するためコンテンツ・プロバイダによって命令されたBIP指定を遵守する任意の適切なコンテンツ消費システム又はアプリケーションを使用することができる。このようにして、特定のアプリケーション又はシステムへの消費を制限することなく、コンテンツの使用を制御することができる。
図1〜図14の例示的実施形態の完全性証明及び検証方法及びシステムは、単一のプログラムされた汎用コンピュータの上、又は別々にプログラムされた複数の汎用コンピュータの上で実現可能である。図1〜図14の例示的実施形態は、更に、特殊目的コンピュータ、プログラムされたマイクロプロセッサ又はマイクロコントローラ及び周辺集積回路素子、ASIC又は他の集積回路、ディジタル信号プロセッサ、ハードワイヤード電子又は論理回路、例えば、離散素子回路、プログラム可能論理デバイス、例えば、PLA、PLD、FPGA、PALなどの上で実現可能である。一般的に、図1〜図14の例示的実施形態のプロセスを実現できる任意の適切なシステム、デバイス、ソフトウェア、これらの組み合わせなどが、(例えば、有限状態機械などを介して)使用可能である。
図1〜図14の例示的実施形態は、多様なコンピュータ又はワークステーション・ハードウェア・プラットフォームで使用できる移植性ソースコードを提供する環境において、オブジェクト又はオブジェクト指向ソフトウェア開発手法を使用してソフトウェアで容易に実現可能である。図1〜図14の例示的実施形態は、更に、標準論理回路又はVLSI設計を使用して一部又は全部をハードウェアで実現することができる。例示的システム及び方法を実現するため、ソフトウェア及び/又はハードウェアを使用するか使用しないかは、システムの速度及び/又は効率要件、特定の機能、及び使用されている特定のハードウェア又はソフトウェア・システム又はマイクロプロセッサ又はマイクロコンピュータ・システムに依存する。しかし、前述した完全性証明及び検証デバイス及び方法は、コンピュータ技術の一般的知識と共に、既知又は後に開発される任意のシステム又は構造、デバイス、及び/又はソフトウェアを使用して、本明細書で提供される機能の説明から過度の実験なしに当業者によってハードウェア又はソフトウェアで容易に実現可能である。更に、開示された本方法は、プログラムされた汎用コンピュータ、特殊目的コンピュータ、マイクロプロセッサ、サーバなどの上で実行されるソフトウェアとして容易に実現可能である。この場合、例示的実施形態の方法及びシステムは、パーソナル・コンピュータ又はサーバ上に埋め込まれたルーチン、例えば、JAVA(登録商標)又はCGIスクリプトとして、サーバ又はグラフィックス・ワークステーション上に存在するリソースとして、専用の完全性証明及び検証デバイス、ウェブ・ブラウザ、ウェブTVインタフェース、PDAインタフェース、マルチメディア・プレゼンテーション・デバイスなどの中に埋め込まれたルーチンとして、実現可能である。完全性証明及び検証デバイスは、ソフトウェア及び/又はハードウェア・システム、例えば、グラフィックス・ワークステーション又は専用の完全性証明及び検証デバイスのハードウェア及びソフトウェア・システムの中へシステム又は方法を物理的に組み込むことによっても実現可能である。
したがって、図1〜図14の例示的実施形態の前述したデバイス及びサブシステムは、例えば、任意の適切なサーバ、ワークステーション、PC、ラップトップ・コンピュータ、PDA、インターネット機器、ハンドヘルド・デバイス、携帯電話、無線デバイス、図1〜図14の例示的実施形態のプロセスを実行できる他のデバイスなどを含むことができる。図1〜図14の例示的実施形態のデバイス及びサブシステムは、任意の適切なプロトコルを使用して相互に通信することができ、1つ以上のプログラムされたコンピュータ・システム又はデバイスを使用して実現可能である。
1つ以上のインタフェース・メカニズムが、図1〜図14の例示的実施形態と共に使用可能である。そのようなメカニズムの中には、例えば、インターネット・アクセス、任意の適切な形態(例えば、音声、モデムなど)の電気通信、無線通信メディアなどが含まれる。例えば、使用される通信ネットワーク又はリンクは、1つ以上の無線通信ネットワーク、携帯電話通信ネットワーク、G3通信ネットワーク、公衆電話回線網(PSTN)、パケット・データ・ネットワーク(PDN)、インターネット、イントラネット、これらの組み合わせ、などを含むことができる。
図1〜図14の例示的実施形態のデバイス及びサブシステムは、例示を目的とすることは理解すべきである。なぜなら、当業者によって理解されるように、例示的実施形態を実現するために使用される特定のハードウェアの多くの変形が可能だからである。例えば、図1〜図14の例示的実施形態の1つ以上のデバイス及びサブシステムの機能は、1つ以上のプログラムされたコンピュータ・システム又はデバイスを介して実現可能である。
そのような変形及び他の変形を実現するため、単一のコンピュータ・システムをプログラムして、図1〜図14の例示的実施形態の1つ以上のデバイス及びサブシステムの特殊目的の機能を実行することができる。他方、図1〜図14の例示的実施形態のデバイス及びサブシステムの任意の1つを、2つ以上のプログラムされたコンピュータ・システム又はデバイスで置換することができる。したがって、分散処理の原理及び利点、例えば、冗長性、複製なども、所望に応じて実現し、図1〜図14の例示的実施形態のデバイス及びサブシステムのロバストネス及びパフォーマンスを増加することができる。
図1〜図14の例示的実施形態のデバイス及びサブシステムは、本明細書で説明された様々なプロセスに関連した情報を記憶することができる。この情報は、図1〜図14の例示的実施形態のデバイス及びサブシステムの1つ以上のメモリ、例えば、ハードディスク、光ディスク、光磁気ディスク、RAMなどの中に記憶可能である。図1〜図14の例示的実施形態のデバイス及びサブシステムの1つ以上のデータベースは、本発明の例示的実施形態を実現するために使用される情報を記憶することができる。データベースは、本明細書で列挙された1つ以上のメモリ又は記憶デバイスの中に含まれるデータ構造(例えば、レコード、表、配列、フィールド、グラフ、木、リストなど)を使用して組織可能である。図1〜図14の例示的実施形態に関して説明されたプロセスは、図1〜図14の例示的実施形態の1つ以上のデータベースの中に、例示的実施形態のデバイス及びサブシステムのプロセスによって収集及び/又は生成されたデータを記憶する適切なデータ構造を含むことができる。
図1〜図14の例示的実施形態のデバイス及びサブシステムの全部又は一部は、コンピュータ及びソフトウェア技術者によって理解されるように、本発明の例示的実施形態の教示に従ってプログラムされた1つ以上の汎用コンピュータ・システム、マイクロプロセッサ、ディジタル信号プロセッサ、マイクロコントローラなどを使用して便利に実現可能である。適切なソフトウェアは、ソフトウェア技術者によって理解されるように、例示的実施形態の教示に基づいて通常の技術のプログラマによって容易に準備可能である。更に、図1〜図14の例示的実施形態のデバイス及びサブシステムは、ワールド・ワイド・ウェブ上で実現可能である。更に、図1〜図14の例示的実施形態のデバイス及びサブシステムは、電気技術者によって理解されるように、アプリケーション特定集積回路を準備することによって、又は通常のコンポーネント回路の適切なネットワークを相互接続することによって、実現可能である。このようにして、例示的実施形態はハードウェア回路及び/又はソフトウェアの特定の組み合わせに限定されない。
コンピュータ読み取り可能メディアの任意の1つ又は組み合わせの上に記憶されて、本発明の例示的実施形態は、図1〜図14の例示的実施形態のデバイス及びサブシステムを制御し、図1〜図14の例示的実施形態のデバイス及びサブシステムを駆動し、図1〜図14の例示的実施形態のデバイス及びサブシステムを動作可能にして、人間のユーザなどと対話するソフトウェアを含むことができる。そのようなソフトウェアは、非限定的に、デバイスドライバ、ファームウェア、オペレーティング・システム、開発ツール、アプリケーション・ソフトウェアなどを含むことができる。そのようなコンピュータ読み取り可能メディアは、更に、本発明の実施形態のコンピュータ・プログラムプロダクトを含むことができる。このコンピュータ・プログラムプロダクトは、本発明を実現するときに実行される処理の全部又は一部(処理が分散されるならば)を実行する。本発明の例示的実施形態のコンピュータ・コード・デバイスは、任意の適切な解釈可能又は実行可能コード・メカニズムを含むことができる。そのようなコード・メカニズムの中には、非限定的に、スクリプト、解釈可能プログラム、ダイナミック・リンク・ライブラリ(DLL)、Java(登録商標)クラス及びアプレット、完全実行可能プログラム、共通オブジェクト要求ブローカ・アーキテクチャ(CORBA)オブジェクトなどが含まれる。更に、本発明の例示的実施形態の処理の一部分は、より良好なパフォーマンス、信頼性、コストなどを目的として分散可能である。
前述したように、図1〜図14の例示的実施形態のデバイス及びサブシステムは、コンピュータ読み取り可能メディア又はメモリを含むことができる。これらのコンピュータ読み取り可能メディア又はメモリは、本発明の教示に従ってプログラムされた命令を保持し、本明細書で説明されたデータ構造、表、レコード、及び/又は他のデータを保持する。コンピュータ読み取り可能メディアは、命令をプロセッサへ提供して実行することに参加する任意の適切なメディアを含むことができる。そのようなメディアは、多くの形態を採ることができる。そのような形態の中には、非限定的に、不揮発性メディア、揮発性メディア、伝送メディアなどが含まれる。不揮発性メディアは、例えば、光ディスク又は磁気ディスク、光磁気ディスクなどを含むことができる。揮発性メディアは、ダイナミックメモリなどを含むことができる。伝送メディアは、同軸ケーブル、銅線、光ファイバなどを含むことができる。伝送メディアは、更に、音、光、電磁波など、例えば、無線周波(RF)通信、赤外線(IR)データ通信などで生成される波の形態を取ることができる。コンピュータ読み取り可能メディアの普通の形態は、例えば、フロッピー(登録商標)ディスク、フレキシブル・ディスク、ハードディスク、磁気テープ、任意の他の適切な磁気メディア、CD−ROM、CDRW、DVD、任意の他の適切な光学メディア、パンチカード、紙テープ、光学マークシート、穴又は他の光認識可能インディシアのパターンを有する任意の他の適切な物理メディア、RAM、PROM、EPROM、FLASH−EPROM、任意の他の適切なメモリ・チップ又はカートリッジ、搬送波、又はコンピュータによって読み取り可能な任意の他の適切なメディアを含むことができる。
本発明は、多数の例示的実施形態及び実現形態に結び付けて説明されたが、本発明はそのようなものに限定されず、むしろ添付の特許請求の範囲に入る様々な修正、及び等価の配置を対象とする。
本発明に従った完全性証明及び検証システムの例示的実施形態を示す機能的概略図である。 本発明に従ってAIPと組み合わせたBIPを使用する完全性証明及び検証システムの例示的実施形態を示す機能的概略図である。 本発明に従ってBIPを使用する完全性証明及び検証システムの例示的実施形態を示す機能的概略図である。 本発明に従った完全性証明及び検証システムの例示的実施形態を示す機能的ブロック図である。 本発明に従った例示的完全性証明及び検証デバイスのワークフロー図である。 本発明に従った完全性プロファイルの例示的構造を示す。 本発明に従ったBIPの例示的構造を示す。 本発明に従った例示的環境スタックを示す。 本発明に従った他の例示的環境スタックを示す。 本発明に従った例示的環境スタックの例示的ワークフローを示す。 本発明に従った例示的環境スタックの他の例示的ワークフローを示す。 本発明に従って環境スタックを操作する例示的方法を示す。 本発明に従ってデバッグの使用により動的改ざんを防止する例示的方法を示す。 本発明に従った完全性証明及び検証方法の例示的実施形態を略述するフローチャートである。 本発明に従ってAIPと組み合わせたBIPを使用する完全性証明及び検証方法の例示的実施形態を略述するフローチャートである。 本発明に従ってBIPを使用する完全性証明及び検証方法の例示的実施形態を略述するフローチャートである。 本発明に従ってアプリケーション及び/又はシステムを登録する方法の例示的実施形態を略述するフローチャートである。 本発明に従って完全性プロファイルを決定する方法の例示的実施形態を略述するフローチャートである。 本発明に従って完全性オーセンティケータの完全性を検証する方法の例示的実施形態を略述するフローチャートである。

Claims (87)

  1. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いを、特性及び振る舞いのプロファイルと比較することに基づいて、コンピュータ環境における完全性を証明及び検証する方法であって、
    1つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いを指定する振る舞い完全性プロファイル(BIP)を決定し、
    BIPに基づいて、1つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いが、振る舞い完全性プロファイル指定の中で定められた特性及び振る舞いを遵守するかどうかを決定し、
    遵守を決定するステップに基づいて、1つ以上のアプリケーション、システム、又はシステム・コンポーネントへのアクセス権を決定する、
    方法。
  2. アプリケーション完全性プロファイル(AIP)を決定し、
    AIPに基づいて、1つ以上のアプリケーション、システム、又はシステム・コンポーネントの真正を決定し、
    真正の決定に基づいて、アクセス権を決定する、
    ことをさらに含む、請求項1に記載の方法。
  3. 1つ以上のアプリケーション完全性プロファイル及び1つ以上の振る舞い完全性プロファイルを結合して利用することをさらに含む、請求項2に記載の方法。
  4. 完全性証明及び検証デバイスを提供することをさらに含み、
    完全性証明及び検証デバイスがアプリケーション完全性プロファイルにアクセスして、1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する認証情報を決定する、
    請求項2に記載の方法。
  5. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いをBIP指定に対して検証することによって、コンポーネント登録デバイスを介してBIP遵守状況を決定することをさらに含む、請求項1に記載の方法。
  6. BIPが、BIP識別子、登録されたアプリケーション、システム、又はシステム・コンポーネントの識別子、及び遵守状況の少なくとも1つを含む、請求項2に記載の方法。
  7. プロファイル・データベースを介して、BIP識別子及び登録されたアプリケーション、システム、又はシステム・コンポーネントの識別子と一緒にBIPを維持することをさらに含む、請求項6に記載の方法。
  8. BIPが発行されたアプリケーション、システム、又はシステム・コンポーネントの遵守状況を検査することによって、プロファイル検証デバイスを介してBIP遵守の証拠を検証することをさらに含む、請求項1に記載の方法。
  9. アプリケーション、システム、又はシステム・コンポーネント・プロバイダからの1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する認証情報を、登録アプリケーション・デバイスを介して取得することをさらに含む、請求項1に記載の方法。
  10. 配布された情報と結合してBIP識別子を使用することをさらに含む、請求項6に記載の方法。
  11. コンテンツ・プロバイダを介して、BIPに関連付けられたコンテンツ情報を配布することをさらに含む、請求項1に記載の方法。
  12. アプリケーション、システム、又はシステム・コンポーネント・プロバイダを提供することをさらに含む、請求項1に記載の方法。
  13. BIP識別子が、配布された情報と結合して使用されるとき、1つ以上のアプリケーション、システム、又はシステム・コンポーネントが真正でないかBIP指定を遵守しないことをプロファイル検証デバイスが決定するならば、1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられたコンテンツへのアクセスが拒否される、請求項10に記載の方法。
  14. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントに対応する遵守状況及びアプリケーション識別情報をコンポーネント・データベースから引き出すことによって、BIP作成デバイスを介してBIPを組み立てることをさらに含む、請求項1に記載の方法。
  15. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いが、BIP指定の中に定められた特性を遵守するかどうかの決定を許可するためBIPを評価し、
    評価ステップに基づいてアクセス権を決定する、
    ことをさらに含む、請求項1に記載の方法。
  16. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントのBIP遵守状況を検証することをさらに含む、請求項15に記載の方法。
  17. アクセス権が、1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられたコンテンツへのアクセスを許可又は拒否することの少なくとも1つの権利を含む、請求項15に記載の方法。
  18. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントの少なくとも1つに関する認証情報を取得することをさらに含む、請求項15に記載の方法。
  19. BIPにディジタル署名することをさらに含む、請求項1に記載の方法。
  20. ディジタル署名されたBIPを消費者のシステムへ回送することをさらに含む、請求項19に記載の方法。
  21. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられた完全性オーセンティケータの完全性を検証することをさらに含む、請求項1に記載の方法。
  22. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する認証情報へのアクセスを有する完全性証明及び検証デバイスを提供し、
    1つ以上のアプリケーション、システム、又はシステム・コンポーネントの真正を決定するために使用されるAIPを提供する、
    ことをさらに含む、請求項2に記載の方法。
  23. コンポーネント登録デバイスを介して認証情報からAIPを決定することをさらに含み、
    AIPが検証可能情報及び登録されたアプリケーション、システム、又はシステム・コンポーネントの識別子の少なくとも1つを含む、
    請求項22に記載の方法。
  24. AIP及び登録されたアプリケーション、システム、又はシステム・コンポーネントの識別子を、プロファイル・データベースを介して維持することをさらに含む、請求項22に記載の方法。
  25. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントの識別子、1つ以上のアプリケーション、システム、又はシステム・コンポーネント、AIP、及び/又はAIP識別子を比較することによって、プロファイル検証デバイスにより真正を検証することをさらに含む、請求項22に記載の方法。
  26. アプリケーション、システム、又はシステム・コンポーネント・プロバイダからの1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する認証情報を、登録アプリケーション・デバイスを介して取得することをさらに含む、請求項22に記載の方法。
  27. 配布された情報と結合して使用できる1つ以上のアプリケーション、システム、又はシステム・コンポーネントの識別子をAIPが含む、請求項22に記載の方法。
  28. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられたコンテンツ情報を、コンテンツ・プロバイダを介して配布することをさらに含む、請求項22に記載の方法。
  29. アプリケーション、システム、又はシステム・コンポーネント・プロバイダを提供することをさらに含む、請求項22に記載の方法。
  30. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントが真正でないことをプロファイル検証デバイスが決定するならば、1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられた1つ以上の文書へのアクセスが拒否される、請求項22に記載の方法。
  31. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する検証可能な情報に基づいて、プロファイル作成デバイスを介してAIPを決定することをさらに含む、請求項22に記載の方法。
  32. AIPを証明することをさらに含む、請求項2に記載の方法。
  33. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントの真正を検証することをさらに含む、請求項2に記載の方法。
  34. アクセス権が、1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられたコンテンツへのアクセスを許可又は拒否することの少なくとも1つの権利を含む、請求項2に記載の方法。
  35. 少なくとも1つのアプリケーション、システム、又はシステム・コンポーネントに関する認証情報を取得することをさらに含む、請求項2に記載の方法。
  36. AIPにディジタル署名することをさらに含む、請求項2に記載の方法。
  37. ディジタル署名された完全性プロファイルを消費者のシステムへ回送することをさらに含む、請求項36に記載の方法。
  38. AIPに関連付けられた完全性オーセンティケータの完全性を検証することをさらに含む、請求項2に記載の方法。
  39. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられた改ざん防止環境を確立することをさらに含む、請求項1に記載の方法。
  40. AIPを検証することをさらに含む、請求項2に記載の方法。
  41. 有効なAIPをロードすることをさらに含む、請求項2に記載の方法。
  42. 完全性オーセンティケータが、監視、制御、又は記録されていることの少なくとも1つではないことを確立することを検証ステップが含む、請求項38に記載の方法。
  43. コンピュータ読み取り可能メディアに埋め込まれ、列挙されたステップを1つ以上のコンピュータ・プロセッサに実行させるように構成された1つ以上のコンピュータ読み取り可能命令として実現される、請求項1に記載の方法。
  44. 列記されたステップを実行するように構成された1つ以上のコンピュータ・ソフトウェア及び/又はハードウェア・デバイスとして実現される、請求項1に記載の方法。
  45. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いを、特性及び振る舞いのプロファイルと比較することに基づいて、コンピュータ環境における完全性を証明及び検証するシステムであって、
    1つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いを指定する振る舞い完全性プロファイル(BIP)を決定する手段と、
    BIPに基づいて、1つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いが、振る舞い完全性プロファイル指定の中で定められた特性及び振る舞いを遵守するかどうかを決定する手段と、
    遵守の決定に基づいて、1つ以上のアプリケーション、システム、又はシステム・コンポーネントへのアクセス権を決定する手段と
    を含むシステム。
  46. アプリケーション完全性プロファイル(AIP)を決定する手段と、
    AIPに基づいて、1つ以上のアプリケーション、システム、又はシステム・コンポーネントの真正を決定する手段と、
    真正の決定に基づいて、アクセス権を決定する手段と
    をさらに含む、請求項45に記載のシステム。
  47. 1つ以上のアプリケーション完全性プロファイル及び1つ以上の振る舞い完全性プロファイルを結合して利用する手段をさらに含む、請求項46に記載のシステム。
  48. 完全性証明及び検証デバイスをさらに含み、
    完全性証明及び検証デバイスがアプリケーション完全性プロファイルへのアクセスを有して、1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する認証情報を決定する、
    請求項46に記載のシステム。
  49. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いをBIP指定に対して検証することによってBIP遵守状況を決定するコンポーネント登録デバイスをさらに含む、請求項45に記載のシステム。
  50. BIP識別子、登録されたアプリケーション、システム、又はシステム・コンポーネントの識別子、及び遵守状況の少なくとも1つをBIPが含む、請求項46に記載のシステム。
  51. BIP識別子及び登録されたアプリケーション、システム、又はシステム・コンポーネントの識別子と一緒にBIPを維持するプロファイル・データベースをさらに含む、請求項6に記載のシステム。
  52. BIPが発行されたアプリケーション、システム、又はシステム・コンポーネントの遵守状況を検査することによってBIP遵守の証拠を検証するプロファイル検証デバイスをさらに含む、請求項45に記載のシステム。
  53. アプリケーション、システム、又はシステム・コンポーネント・プロバイダからの1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する認証情報を取得する登録アプリケーション・デバイスをさらに含む、請求項45に記載のシステム。
  54. 配布された情報と結合してBIP識別子を使用する手段をさらに含む、請求項50に記載のシステム。
  55. BIPに関連付けられたコンテンツ情報を配布するコンテンツ・プロバイダをさらに含む、請求項45に記載のシステム。
  56. アプリケーション、システム、又はシステム・コンポーネント・プロバイダをさらに含む、請求項45に記載のシステム。
  57. プロファイル検証デバイスをさらに含み、
    配布された情報と結合してBIP識別子が使用されるとき、1つ以上のアプリケーション、システム、又はシステム・コンポーネントが真正でないか、BIP指定を遵守しないことをプロファイル検証デバイスが決定するならば、1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられたコンテンツへのアクセスが拒否される、
    請求項54に記載のシステム。
  58. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントに対応する遵守状況及びアプリケーション識別情報をコンポーネント・データベースから引き出すことによってBIPを組み立てるBIP作成デバイスをさらに含む、請求項45に記載のシステム。
  59. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントの特性及び振る舞いが、BIP指定の中に定められた特性を遵守するかどうかの決定を許可するためにBIPを評価する手段と、
    評価に基づいてアクセス権を決定する手段と
    をさらに含む、請求項45に記載のシステム。
  60. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントのBIP遵守状況を検証する手段をさらに含む、請求項59に記載のシステム。
  61. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられたコンテンツへのアクセスを許可又は拒否することの少なくとも1つの権利をアクセス権が含む、請求項59に記載のシステム。
  62. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントの少なくとも1つに関する認証情報を取得する手段をさらに含む、請求項59に記載のシステム。
  63. BIPにディジタル署名する手段をさらに含む、請求項45に記載のシステム。
  64. ディジタル署名されたBIPを消費者のシステムへ回送する手段をさらに含む、請求項63に記載のシステム。
  65. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられた完全性オーセンティケータの完全性を検証する手段をさらに含む、請求項45に記載のシステム。
  66. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する認証情報へのアクセスを有する完全性証明及び検証デバイスと、
    1つ以上のアプリケーション、システム、又はシステム・コンポーネントの真正を決定するために使用されるAIPを提供する手段と
    をさらに含む、請求項46に記載のシステム。
  67. 認証情報からAIPを決定するコンポーネント登録デバイスをさらに含み、
    AIPが検証可能情報及び登録されたアプリケーション、システム、又はシステム・コンポーネントの識別子の少なくとも1つを含む、
    請求項66に記載のシステム。
  68. AIP及び登録されたアプリケーション、システム、又はシステム・コンポーネントの識別子を維持するプロファイル・データベースをさらに含む、請求項66に記載のシステム。
  69. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントの識別子、1つ以上のアプリケーション、システム、又はシステム・コンポーネント、AIP、及び/又はAIP識別子を比較することによって真正を検証するプロファイル検証デバイスをさらに含む、請求項66に記載のシステム。
  70. アプリケーション、システム、又はシステム・コンポーネント・プロバイダからの1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する認証情報を取得する登録アプリケーション・デバイスをさらに含む、請求項66に記載のシステム。
  71. 配布された情報と結合して使用できる1つ以上のアプリケーション、システム、又はシステム・コンポーネントの識別子をAIPが含む、請求項66に記載のシステム。
  72. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられたコンテンツ情報を配布するコンテンツ・プロバイダをさらに含む、請求項66に記載のシステム。
  73. アプリケーション、システム、又はシステム・コンポーネント・プロバイダをさらに含む、請求項66に記載のシステム。
  74. プロファイル検証デバイスをさらに含み、
    1つ以上のアプリケーション、システム、又はシステム・コンポーネントが真正でないことをプロファイル検証デバイスが決定するならば、1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられた1つ以上の文書へのアクセスが拒否される、
    請求項66に記載のシステム。
  75. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関する検証可能な情報に基づいてAIPを決定するプロファイル作成デバイスをさらに含む、請求項66に記載のシステム。
  76. AIPを証明する手段をさらに含む、請求項46に記載のシステム。
  77. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントの真正を検証する手段をさらに含む、請求項46に記載のシステム。
  78. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられたコンテンツへのアクセスを許可又は拒否することの少なくとも1つの権利をアクセス権が含む、請求項46に記載のシステム。
  79. 少なくとも1つアプリケーション、システム、又はシステム・コンポーネントに関する認証情報を取得する手段をさらに含む、請求項46に記載のシステム。
  80. AIPにディジタル署名する手段をさらに含む、請求項46に記載のシステム。
  81. ディジタル署名された完全性プロファイルを消費者のシステムへ回送する手段をさらに含む、請求項80に記載のシステム。
  82. AIPに関連付けられた完全性オーセンティケータの完全性を検証する手段をさらに含む、請求項46に記載のシステム。
  83. 1つ以上のアプリケーション、システム、又はシステム・コンポーネントに関連付けられた改ざん防止環境を確立する手段をさらに含む、請求項45に記載のシステム。
  84. AIPを検証する手段をさらに含む、請求項46に記載のシステム。
  85. 有効なAIPをロードする手段をさらに含む、請求項46に記載のシステム。
  86. 検証する手段が、完全性オーセンティケータが、監視、制御、又は記録されていることの少なくとも1つではないことを確立する手段を含む、請求項82に記載のシステム。
  87. 前記システムが、1つ以上のコンピュータ・ソフトウェア及び/又はハードウェア・デバイスとして実現される、請求項45に記載のシステム。
JP2008508812A 2005-04-29 2005-04-29 検証 Pending JP2008539502A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2005/014741 WO2006118561A1 (en) 2005-04-29 2005-04-29 Systems and methods for integrity certification and verification

Publications (1)

Publication Number Publication Date
JP2008539502A true JP2008539502A (ja) 2008-11-13

Family

ID=37308255

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008508812A Pending JP2008539502A (ja) 2005-04-29 2005-04-29 検証

Country Status (5)

Country Link
EP (1) EP1884052A4 (ja)
JP (1) JP2008539502A (ja)
KR (1) KR101034127B1 (ja)
CN (1) CN101167290A (ja)
WO (1) WO2006118561A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2345977B1 (en) * 2008-11-28 2017-04-05 International Business Machines Corporation Client computer for protecting confidential file, server computer therefor, method therefor, and computer program
KR101590188B1 (ko) * 2009-05-08 2016-01-29 삼성전자주식회사 휴대단말기에서 소프트웨어 패키지의 무결성을 검증하는 방법
CN102480472B (zh) * 2010-11-22 2015-07-22 英业达股份有限公司 企业内网络的应用程序整合登录方法及其验证服务器
KR101370266B1 (ko) * 2012-07-20 2014-03-06 한국항공우주산업 주식회사 Crc tool을 이용한 ofp 무결성 입증 방법
CN104008351B (zh) * 2014-05-06 2017-03-15 武汉天喻信息产业股份有限公司 Windows应用程序完整性校验系统、方法及装置
US10313206B1 (en) * 2015-12-23 2019-06-04 Apstra, Inc. Verifying service status
US11075805B1 (en) 2019-04-24 2021-07-27 Juniper Networks, Inc. Business policy management for self-driving network
CN110086828B (zh) * 2019-05-14 2021-09-21 长讯通信服务有限公司 基于网页云服务的通信工程项目生命周期可信管理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004507845A (ja) * 2000-08-28 2004-03-11 コンテントガード ホールディングズ インコーポレイテッド コンテンツ使用環境の完全性の認証及び検証システム及びその方法
US20040102923A1 (en) * 2002-11-27 2004-05-27 Tracy Richard P. Enhanced system, method and medium for certifying and accrediting requirements compliance utilizing continuous risk assessment
US20050027657A1 (en) * 2003-08-01 2005-02-03 Yuri Leontiev Distinguishing legitimate hardware upgrades from unauthorized installations of software on additional computers

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
CA2464788A1 (en) * 2003-04-16 2004-10-16 Wms Gaming Inc. A gaming software distribution network in a gaming system environment
US9064364B2 (en) 2003-10-22 2015-06-23 International Business Machines Corporation Confidential fraud detection system and method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004507845A (ja) * 2000-08-28 2004-03-11 コンテントガード ホールディングズ インコーポレイテッド コンテンツ使用環境の完全性の認証及び検証システム及びその方法
US20040102923A1 (en) * 2002-11-27 2004-05-27 Tracy Richard P. Enhanced system, method and medium for certifying and accrediting requirements compliance utilizing continuous risk assessment
US20050027657A1 (en) * 2003-08-01 2005-02-03 Yuri Leontiev Distinguishing legitimate hardware upgrades from unauthorized installations of software on additional computers

Also Published As

Publication number Publication date
EP1884052A1 (en) 2008-02-06
WO2006118561A1 (en) 2006-11-09
EP1884052A4 (en) 2011-03-23
KR20080006638A (ko) 2008-01-16
KR101034127B1 (ko) 2011-05-13
CN101167290A (zh) 2008-04-23

Similar Documents

Publication Publication Date Title
US20050262086A1 (en) Systems and methods for integrity certification and verification
KR101143228B1 (ko) 디지털 콘텐츠 권리 관리 아키텍처로의 drm 서버등록/부등록 방법
AU2001285298A1 (en) Systems and methods for integrity certification and verification of content consumption environments
US7788271B2 (en) Content distribution server, content distribution method, and program
CA2457291C (en) Issuing a publisher use license off-line in a digital rights management (drm) system
KR101298293B1 (ko) 제1 플랫폼으로부터 제2 플랫폼으로의 디지털 라이센스이주
US7185195B2 (en) Certificate based digital rights management
JP4939851B2 (ja) 情報処理端末、セキュアデバイスおよび状態処理方法
JP4768741B2 (ja) 少なくとも1つの保護されたコンテンツアイテムの使用権限を有効にする方法、装置、及びコンピュータプログラム製品
JP2005506627A (ja) コンテンツ配布アプリケーションでのディジタル権利管理の方法およびシステム
JP2008539502A (ja) 検証
NO332664B1 (no) Fremgangsmate for bruk av en rettighetsmal for a oppna et signert rettighetsmerke (SRL) for digitalt innhold i et digitalt rettighetsforvaltningssystem
JP2005253048A (ja) 著作権管理システムにおける柔軟性のある権利テンプレートを使用したデジタルコンテンツの署名済み権利ラベル(srl)の取得
JP2002319230A (ja) 記録媒体、情報処理装置、コンテンツ配信サーバ、方法、プログラム、その記録媒体
JP4126705B2 (ja) ソフトウェア・パッケージを再構成する方法、装置、プログラム
WO2020085226A1 (ja) 制御方法、コンテンツ管理システム、プログラム、及び、データ構造
JP5708365B2 (ja) コンテンツデータ閲覧制御方法、コンテンツデータ管理閲覧プログラム
JP2003256596A (ja) 著作権保護コンテンツ配信方法及びシステム、著作権保護管理方法、著作権保護管理端末、プログラム並びに記録媒体
JP2005084989A (ja) ソフトウェア改ざん検出システム、方法及びプログラム
JP2004185599A (ja) 仮想cdイメージファイルの不正使用防止方法
WO2015069134A1 (ru) Способ защиты интеллектуальной собственности в пиринговых сетях
JP4741219B2 (ja) 電子情報公開証明装置、電子情報公開証明方法、電子情報公開証明プログラム及び記録媒体
KR20110111988A (ko) 휴대용 단말기에 설치된 애플리케이션 실행 제어 방법 및 시스템

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110426

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110721

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110809

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110830