JP2010033563A - マルチパーティ検証のプラットフォームに基づく信用検証サービスに関する方法およびシステム - Google Patents

マルチパーティ検証のプラットフォームに基づく信用検証サービスに関する方法およびシステム Download PDF

Info

Publication number
JP2010033563A
JP2010033563A JP2009153641A JP2009153641A JP2010033563A JP 2010033563 A JP2010033563 A JP 2010033563A JP 2009153641 A JP2009153641 A JP 2009153641A JP 2009153641 A JP2009153641 A JP 2009153641A JP 2010033563 A JP2010033563 A JP 2010033563A
Authority
JP
Japan
Prior art keywords
service provider
platform
integrity
integrity manifest
manifest
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.)
Granted
Application number
JP2009153641A
Other languages
English (en)
Other versions
JP5212870B2 (ja
Inventor
Sunder Divya Naidu Kolar
サンダー、ディヴァ ナーイドゥ コラー
Hormuzd Khosravi
コスラビ、ホルムズド
David Durham
ダーハム、デービッド
Dan Dahle
ダール、ダン
Prashant Dewan
デューアン、パラシャント
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2010033563A publication Critical patent/JP2010033563A/ja
Application granted granted Critical
Publication of JP5212870B2 publication Critical patent/JP5212870B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • H04L63/126Applying verification of the received information the source of the received data
    • 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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/2129Authenticate client device independently of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (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

【課題】WWW上に多くの悪意あるユーザがおり、多くのデバイスが提供する情報が完全に信頼が置けることはなく、サービスプロバイダがコンシューマに対して配信するサービスが危険に曝されないシステムを提供する。
【解決手段】ネットワークを介してサービスプロバイダにアクセスするクライアントプラットフォームを含み、クライアントプラットフォームは、サービスプロバイダから、プラットフォーム査定および検証の要求を受信する。クライアントプラットフォームは、プラットフォームの情報を集め、査定および検証を行う。クライアントプラットフォームはその後、サービスプロバイダからサービスを受信してもよい。インテグリティマニフェスト比較によりクライアントプラットフォームの状態が良好でない場合、クライアントプラットフォームは、クライアントプラットフォームが危険に曝されてきたことを示す不良通知をサービスプロバイダに送る。
【選択図】図1A

Description

本発明は、概して、ネットワークにより可能になるコンピュータデバイスのセキュリティに関する。より詳しくは、本発明は、マルチパーティ検証のプラットフォームに基づく信用検証サービスに関する方法および装置に係る。
WWW(World Wide Web)は、サービスモデルに移行しつつある。WWWのサービスプロバイダは、サービスのサブセットを制御して、契約の範囲内の配信機能1式を利用してコンシューマに配信する。今日では、WWW上に多くの悪意あるユーザがおり、様々な理由から多くのデバイスが提供する情報が完全に信頼が置けることはない。コンシューマのプラットフォームが危険に曝されている場合、プラットフォームで実行される悪意あるコードにより、またはその他の理由により、サービスプロバイダおよび/または彼らがコンシューマに対して配信するサービスが危険に曝されていることがある。
添付図面は、明細書に組み込まれ、明細書の一部を形成しているが、本発明の実施形態を示しており、さらに、記載とともに、本発明の原理を説明する役割を果たし、当業者に対して本発明を行わせる、および利用させる。図面においては、同様の参照番号は、概して同一の、機能的に類似した、および/または構造的に類似した部材を表す。部材が最初に現れる図面は、対応する参照番号の一番左の桁により表す。
本発明の実施形態による、アクティブ管理モジュールを有する例示的なホストコンピューティングプラットフォームを示すブロック図である。
本発明の実施形態による、例示的な仮想化技術(VT)により可能になるホストコンピューティングプラットフォームを示すブロック図である。
本発明の一実施形態による、プラットフォームに基づく信用検証サービスに関するホストプロセッサおよびホストオペレーティングシステムを示す例示的なブロック図である。
本発明の一実施形態による、プラットフォームに基づく信用検証サービスに関する例示的なエージェント実行環境(AEE)を示すブロック図である。
本発明の一実施形態による、プラットフォームに基づく信用検証サービスに関する例示的な方法を記すフロー図である。
本発明を特定の用途向けの例示的な実施形態を参照しながら記載するが、本発明はそれに限定されないことを理解されたい。ここに提供する教示を読んだ当業者は、その範囲内および本発明の実施形態が重要な利便性を有する追加的な分野内において、さらなる変形例、用途、および実施形態について想到するであろう。
本明細書における「一実施形態(one embodiment)」、「1つの実施形態(an embodiment)」、「別の実施形態(another embodiment)」といった記載は、実施形態との関連で記載されている特定のフィーチャ、構造、または性質が、本発明の少なくとも1つの実施形態に含まれることを示す。故に、「一実施形態においては」または「1つの実施形態においては」等の言い回しは明細書の随所に見られるが、これは、必ずしも同じ実施形態について言及しているとは限らない。
本発明の実施形態は、マルチパーティ検証のプラットフォームに基づく信用検証サービスに関する方法およびシステムに係る。これは、プラットフォームハードウェアフィーチャにレバレッジを与えて、プラットフォームの脆弱性を特定することにより達成される。インターネット上の、または保護コンテンツまたは他のプライベートサービスを配信する任意の他のネットワーク上の多数のパーティは、プラットフォームにさらなるオーバヘッドを加えずにプラットフォームの状態(posture)を、信頼性をもって確認することができる。
本発明の実施形態は、クライアントホストとサービスプロバイダとの間の取引の元となるソフトウェアおよびハードウェアコンポーネントのインテグリティに関するクライアントホストのプラットフォーム属性の査定および検証を、公認のサービスプロバイダが要求することを可能とする。故に、公認のサービスのみが、プラットフォームの状態(つまり、状態に関する報告)の正当性を確認することができる。本発明の実施形態は、例えばフィンガプリントリーダまたは他のセンサなどのプラットフォーム上でハードウェアにより情報を入手するソフトウェアエージェントを含む、サービスプロバイダのサーバにデータを伝達するソフトウェアエージェントのインテグリティを、クライアント実体が保証することを可能ならしめる。この、ソフトウェアエージェントを含むプラットフォームのインテグリティを保証する機能は、例えばオンライン広告サービス、位置に基づくサービス、プレミアムコンテンツ配信サービス等のオンラインサービスを提供するビジネスにおいては非常に重要である、というのも、これらサービスは、これらサービスを提供するソフトウェアエージェントが配信するデータの正確性に依存するからである。
本発明の実施形態は、プラットフォームの悪意ある公認オーナおよびプラットフォーム上の悪意あるコードからの保護を可能とするOS(オペレーティングシステム)にとらわれない機能も提供する。
本発明はインターネットに適用可能であるとして記載されているが、本発明はインターネットに限定されない。当業者であれば、本発明が、例えば企業のIT(情報技術)ネットワークまたは保護コンテンツまたは他のプライベートサービスを配信する商業ネットワーク等のプライベートネットワークを介したサービスにも同様に適用可能であることに思い至るであろう。
図1Aは、本発明の実施形態による、アクティブ管理モジュールを有する例示的なホストプラットフォーム100を示すブロック図である。ホストプラットフォーム100は、プログラムを実行するコンピューティングプラットフォームを表す。本発明の実施形態においては、ホストプラットフォーム100は、クライアントプラットフォームであってよい。ホストプラットフォーム100は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレット型コンピュータ、セットトップボックス、携帯情報端末(PDA)、電話機、スマートフォン、MID(モバイルインターネットデバイス)、ゲーム機器、ヘルスモニタデバイス、および他の接続されたデジタル消費者機器を含みうる。ホストプラットフォーム100は、特に、ホストプロセッサ102、アクティブ管理モジュール106を有するサービスプロセッサ104、メモリ108、記憶装置110、入出力デバイス112、および通信インタフェース114を含む。各コンポーネント102、104、106、108、110、112、および114は、互いに、1以上のバスを表すシステムバス116を介して連結される。マルチバス(multiple buses)の場合には、バス同士が1以上のバスブリッジ(不図示)によりブリッジされてもよい。
ホストプロセッサ102は、プロセッサ、マイクロコントローラ、中央処理装置(CPU)等を表しうる。図1Aではホストプロセッサ102は単一の部材として示されているが、ホストプロセッサ102は、並列処理機能を提供しうる1以上のコアまたは処理部を含みうる。ホストプロセッサ102については、図2を参照しながらより詳細に後述する。
サービスプロセッサ104は、ホストプロセッサ102外のタスクを実行するプロセッサ/制御ロジックを表す。一実施形態では、サービスプロセッサ104は、「補助プロセッサ(adjunct processor)」と称されることもあり、ホストプロセッサ102のパーティンション、エンベデッドデバイス、チップセットコンポーネント等であってもよい。サービスプロセッサ104はさらに、セキュアな/信頼されたパーティンション上でまたはシステム管理モードにおいて、管理コードを実行するときに、ホストプロセッサ102により実装されうる。一実施形態においては、サービスプロセッサ104はアクティブ管理モジュール106を含みうる。または、アクティブ管理モジュール106は、サービスプロセッサ104と協働するホストプラットフォーム100上の別個の実体として存在してもよい。アクティブ管理モジュール106は、ホストプラットフォーム100上で実行されるプログラムのインテグリティを判断するのに利用されうるエージェント実行環境(AEE)118を含んでよい。AEE118は、図3を参照しながらより詳細に後述する。
本発明の一実施形態においては、サービスプロセッサ104は、帯域外(OOB)管理120を含みうる。OOB管理120は、ホストプロセッサ102上で実行されるオペレーティングシステム(OS)にアクセス不可能な通信リソースの管理および/または制御のことである。OOB管理120は、例えば、例えばネットワーク124のようなネットワークを介した遠隔サーバ122のようなホストプラットフォーム100の外部の実体との間の通信リンク126を含みうる。通信リンク126は、有線リンクまたは無線リンクであってよい。有線リンクは、例えばツイストペア、Cat−5、同軸ケーブル、ファイバ等の物理導体を含みうる。無線リンクは、WiFi(IEEE802.11プロトコルファミリによる架空ネットワーク通信に共通の名称である「ワイヤレスフィデリティ」)、3G(j第三世代携帯通信技術)、WiMax(Worldwide Interoperability for Microwave Access、IEEE802.16規格に基づくブロードバンド技術である)等を含みうるが、それらに限定されない。一実施形態においては、遠隔サーバ122は、遠隔OOB管理120に接続されうる。
メモリ108を利用して、直接動作の実行および/またはホストプロセッサ102の機能実行のために利用される命令および/またはデータを格納/提供してよい。メモリ108は、ランダムアクセスメモリ(RAM)、エスラム(SRAM)、ダイナミックRAM(DRAM)、同期型DRAM(SDRAM)、デュアルデータレートRAM(DDRRAM)等を含みうる。メモリ108は、1以上のコードシーケンスおよび/またはデータが記憶されていてもよく、オペレーティングメモリとも称されうる。コードシーケンスは、1以上の機能呼び出し、1以上のサブルーチン、または1以上の動作を表す1式または1群の機械命令のことであってよい。プログラムは、ここで、これらのいずれか単体のことであってもよく、これらのうち1以上の組み合わせであってもよい。記憶装置110は、永続データ(persistent data)を格納する不揮発性記憶装置であってよい。不揮発性記憶装置は、記憶デバイスから電源供給がなくなっても自身の値を保持する記憶媒体のことである。永続データとは、ホストプラットフォーム100に電源が供給されなくなっても、保持されることが望ましいデータのことであり、例えば、システムファイル、オペレーティングシステム、プログラムファイル、コンフィギュレーションファイル等のことである。記憶装置110は、ディスクおよび関連ドライブ(例えば磁気、光学)、USB(universal serial bus)記憶デバイスおよび関連ポート、フラッシュメモリ、読み出し専用メモリ(ROM)、不揮発性半導体ドライブ等を含みうる。
ホストプラットフォーム100は、さらに、入出力デバイス112を含みうる。入出力デバイス112は、キーボード、カーソル制御等を含みうるが、それらに限定されない。
ホストプラットフォーム100はさらに、通信インタフェース114を含む。通信インタフェース114は、ホストプラットフォーム100と他の実体とを、例えばネットワーク124などのネットワークを介して通信させるネットワークインタフェースカード、モデム等を含みうるが、それらに限定されない。
図1Bは、本発明の実施形態による、例示的な仮想化技術(VT)ホストコンピューティングプラットフォーム130を示すブロック図である。本発明の実施形態においては、AEE118用にセキュア且つ分離されたパーティションが必要となる。VTコンピューティングプラットフォームを実装するにあたっては、AEE118用に分離されたパーティションを作成してよい。
ホストプラットフォーム100で示したように、ホストプラットフォーム130は、プログラムを実行するコンピューティングプラットフォームである。本発明の実施形態においては、ホストプラットフォーム130は、クライアントプラットフォームまたはサーバプラットフォームとして利用することができる。ホストプラットフォーム130は、例えば、デスクトップコンピュータ、ラップトップコンピュータ、タブレット型コンピュータ、携帯情報端末(PDA)、または他のハンドヘルドコンピューティングまたは通信デバイス等を含みうる。
ホストプラットフォーム130は、特に、直接VMM管理コンポーネント132上で実行されるVMM134を有する複数の仮想マシンモニタ(VMM)管理コンポーネント132を含む。VMM管理コンポーネント132は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせにより実装されうる。VMM管理コンポーネント132は、プロセッサ102、メモリ108、記憶装置110、I/Oデバイス112、および通信インタフェース114を含みうる。ホストプラットフォーム130はさらに、少なくとも1つの仮想マシン(VM)136を含む。VM136は、図2を参照して後述するオペレーティングシステム200を含む。ホストプラットフォーム130は、さらに、ゲストオペレーティングシステムおよびVTインテグリティサービス(VIS)モジュール140を有する補助VM138を含む。VTインテグリティサービス(VIS)モジュール140はAEE118を含む。図1Bは2つのVMを有するとして示されているが(つまり、VM136および補助VM138)、プラットフォーム130は2つのVMのみを有することに限定されない。当業者であれば、本発明の範囲および精神を逸脱することなくプラットフォーム130にこれ以上の数のVMを含めてよいことを理解しよう。
仮想マシンモニタ(VMM)134は、各OSがソフトウェア実行用に銘々分離した環境(つまりVM136および補助VM138)を有するように、多数のゲストオペレーティングシステム(OS)を、同時におよび独立して実行させることをホストプラットフォーム130に可能ならしめる。VMM134は、例えばプロセッサ102、メモリ108、記憶装置110、I/Oデバイス112、通信インタフェース114、等のVTにより可能になるハードウェア(VMM管理コンポーネント132)の上で直接実行され、プラットフォーム130のリソース全てに対するフルアクセスを有する。VMM134は、VTにより可能になるハードウェア(132)の多数の表示を、独立して動作するVM136および補助VM138に対して提示してよい。VMM134は、ソフトウェア、ハードウェア、ファームウェア、および/またはそれらの組み合わせにより実装されうる。
先に示したように、VM136および補助VM138は、VMM134上で実行されるゲストオペレーティングシステム(OS)を含む。VM136および補助VM138は、VM136および補助VM138が互いからセキュアに分離されるよう、独立してコードを実行するようコンフィギュレーションされる。つまり、VM136および補助VM138で動作するコンポーネントは、各々、仮想マシンではなくて専用コンピュータ上で実行されているかのように動作してよい。これらVM上のコンポーネントは様々なイベントを制御して、VTにより可能になるハードウェア(132)に対するフルアクセスを有してよい。VMM114は、VTにより可能になるハードウェア(132)に対するVMアクセスを管理してよい。
補助VM138は、VTインテグリティサービス(VIS)モジュール140を含み、さらなるセキュリティ向上を図ってよい。VISモジュール140と協働して、補助VM138は、コードを独立して実行するようコンフィギュレーションされてよく、VM136からセキュアに分離されてよく、且つ、VM136のコンポーネントが、補助VM138のコンポーネントを変更、修正、読み出し、またはそれに影響を与えかねない動作をすることを阻止してよい。故に、AEE118がVISモジュール140上に常駐することで、AEE118は、VM136上に実装されるOS200から、よりセキュアに分離されることができる。本実施形態においては、AEE118は、通信リンクAおよびVMM134を介してOS200と通信する。
図1Aを参照して先に示したように、図1Bではホストプロセッサ102は単一の部材として示されているが、ホストプロセッサ102は、1以上の処理コアまたは処理部を含んでよい。
図1Aおよび1Bは、本発明の実施形態の例示的なアクティブ管理およびVT実装を記す。本発明はこれら実装例に限定されない。当業者であれば、本発明の実施形態の機能をサポートする他の実装例を利用することができることに思い至るであろう。このような実装例には、トラステッドコンピューティングモジュール実装(Trusted Computing Module implementation)またはアドバンストRISCマシンのトラストゾーン実装(Advanced RISC Machine's (ARM's) Trust Zone implementation)が含まれうるが、それらに限られない。
図2は、本発明の一実施形態による、プラットフォームに基づく信用検証サービスに関するホストプロセッサ102およびホストオペレーティングシステム200を示す例示的なブロック図である。先に示したように、ホストプロセッサ102は、例えば、プロセッサ、マイクロコントローラ、中央処理装置(CPU)等であってよい。ホストプロセッサ102は、ホストオペレーティングシステム200を含む。ホストオペレーティングシステム200は、アクティビティの管理および調整、およびホストプラットフォーム100または300のリソース共有を担当するソフトウェアコンポーネントである。ホストオペレーティングシステム200は、特に、ユーザアプリケーション202、ポリシーマネージャ204、および第三者コード206を含む。
ユーザアプリケーション202は、サービスプロバイダ固有であり、それらのサービス配信をサポートする任意のアプリケーションを含みうるが、それらに限定されない。例えば、インターネット上でサービスプロバイダのサービス配信をサポートする今日最も一般的なユーザアプリケーションは、例えばマイクロソフト(登録商標)のインターネットエクスプローラまたは現在AOLの系列会社であるネットスケープコミュニケーションズコーポレーションのネットスケープナビゲータ等のブラウザアプリケーションでありうる。サービスプロバイダのサービス配信をサポートする、あるいは、クライアントとサービスプロバイダとの間のインタフェースとして機能する他の種類のユーザアプリケーションを利用することもできる。例えば、映画および他の種類のメディアを提供するオンライン映画レンタルサービスであるNetflixにおいては、ユーザが映画およびテレビ番組をユーザのパソコン(PC)で視聴するのに、ユーザとNetflixウェブサイトとの間のインタフェースとしてNetflixメディアプレーヤアプリケーションが必要となる。
本発明の実施形態は、クライアント上で実行されるユーザアプリケーションが傍受されていた旨または危険に曝されていた旨をサービスプロバイダに知らせる情報を、サービスプロバイダに提供する。ポリシーマネージャ204は、ホストオペレーティングシステム200の一部として、ホストプラットフォームの状態およびユーザアプリケーションの状態を定義するポリシーを提供する。故に、ポリシーマネージャ204は、ユーザおよびサービスプロバイダによりアクセス可能であってよく、ユーザ/サービスプロバイダに対して、ホストプラットフォームの状態およびサービスプロバイダを表すユーザアプリケーションの状態を定義するのに利用されうるプラットフォームおよびユーザアプリケーションのデフォルトパラメータおよび属性をコンフィギュレーションする機能を与える。
ホストオペレーティングシステム200はさらに、第三者コード206を含む。第三者コード206は、公認のサービスプロバイダおよび/または他の公認の独立ソフトウェアベンダ(ISV)からのコードを含む。第三者コード206は、エージェントと称されてもよく、より具体的には、査定ダウンロード可能なエージェント(measurement downloadable agent)208と称されてよい。サービスプロバイダは、標準SDK(ソフトウェアデベロッパキット)を与えられて、自身の査定ダウンロード可能なエージェント208を第三者コード206のメモリ領域に実装およびインストールする。故に、査定ダウンロード可能なエージェント208は、サービスプロバイダ固有であってよい。それらは、サービスプロバイダ固有のユーザアプリケーションを査定するのに利用される。例えば、先に示したように、Netflix用のユーザアプリケーションインタフェースは、Netflixメディアプレーヤである。Netflix用の第三者コードは、Netflixメディアプレーヤを査定する査定ダウンロード可能なエージェントである(つまり、修正されることなくまたは危険に曝されることなく、Netflixメディアプレーヤコードが適切に動作していることを確かめる目的のNetflixメディアプレーヤ用のチェッカコードである)。査定ダウンロード可能なエージェントも、例えば、OSバージョン、ウィルス対策ソフトウェアバージョン情報、および適切に機能しているハードウェアなどの、特定のプラットフォームに固有の属性を査定するのに利用され、および、データをサービスプロバイダのサーバに伝達するエージェントのインテグリティを保証するのに利用される。
図3は、本発明の一実施形態による、プラットフォームに基づく信用検証サービスに関する例示的なエージェント実行環境(AEE)118を示すブロック図である。本発明の実施形態においては、エージェント実行環境(AEE)118は、例えばホストプラットフォーム100で実行されているユーザアプリケーションおよび第三者コードのような、保護されているホストソフトウェアエージェントをモニタおよび査定して、これらソフトウェアプログラムを修正および/または悪意ある終了から保護できるようにする。AEE118はさらに、オペレーティングシステム全体の状態およびそれが提供するサービスを示す重要なオペレーティングシステムコンポーネントを査定する。AEE118は、例えばプラットフォームにインストールされたオペレーティングシステムバージョン、ウィルス対策プログラムバージョン、および他のソフトウェアプログラムバージョン等の特定のプラットフォーム固有の属性を査定してよい。
本発明の実施形態においては、ソフトウェアプログラムおよび第三者コード206は、エージェント実行環境(AEE)118により直接モニタされてよい。本発明の実施形態は、AEE118を用いて第三者コードエージェント206をチェックすることにより、「チェッカをチェックする」方法を採用している。例えば、ウィルス対策ソフトウェアは今日では、プラットフォーム上のスパイウェアおよびウィルスを検出、削除、および阻止するのに利用されているが、ウィルス対策ソフトウェアのインテグリティをチェックする機構はない。本発明の実施形態においては、AEE118を利用してウィルス対策ソフトウェアのインテグリティをチェックすることができる。故にこの場合、ウィルス対策ソフトウェアがチェッカであり、AEE118が「チェッカをチェックする」のに利用されるチェックである。
先に示したように、AEE118はオペレーティングシステム200から分離されて、高性能の査定をオペレーティングシステム200の外で行い、サービスプロバイダからのソフトウェアコンポーネントを含むホストプラットフォーム(100または130)上の任意のソフトウェアコンポーネントを検証することのできる閉ざされた査定システムを提供することができる。故に、AEE118は、OS200から分離されて、AEE118に対して、OS200とは異なる独自のプライベート領域を与え、OS200により危険に曝されはならないデータおよびランタイム情報を格納することが肝要である。
AEE118は、格納されているインテグリティマニフェストをランタイムインテグリティマニフェストと比較することで、第三者コード206を含む任意のソフトウェアコンポーネントのインテグリティを保証する。ソフトウェアプログラムのIDは、2つの属性により定義されてよく、2つの属性とは、1つ目がプログラムがメモリにロードされるときに起こる再配置フィックスアップ(relocation fix-ups)のリストであり、2つ目がエージェントの署名である。エージェントの署名は、プラグラムの実行可能コード記憶、静的コンフィギュレーションデータ、動的コンフィギュレーションデータ、および再配置フィックスアップのリストを網羅しうるインテグリティチェック値(ICV)またはテスト値/識別テスト/検証値を含む。再配置フィックスアップは、プログラムがロードされるメモリの位置に基づく可変位置を有するプログラム/ルーチン/機能を参照するプログラムのソースの1位置に適応されるオフセットを参照するとして記述されうる。総称して再配置フィックスアップおよびICVをソフトウェアプログラムのIDと称してよい。それらが一緒に格納または利用されるとき、それらはソフトウェアプログラムの「インテグリティマニフェスト」と称されてよい。
一実施形態においては、インテグリティチェックは、エージェントまたはソフトウェアプログラムのIDを表す全ての領域に亘る暗号ハッシュを生成することを含んでよい。エージェントまたはソフトウェアプログラムのIDは、実行可能コード、静的コンフィギュレーションデータ、および再配置フィックスアップを含みうる。エージェントの、またはソフトウェアプログラムの様々なコンポーネントを利用して、特定のインテグリティチェック値(ICV)を生成しうる。ICVはエージェントの、またはソフトウェアプログラムのインテグリティマニフェストに含まれており、エージェント/ソフトウェアプログラムのIDおよびインテグリティを判断する目的で検証されうる。計算されたハッシュは、エージェントの製造時に生成されていたかもしれないエージェント/ソフトウェアプログラムの既知値/予期値(つまり原インテグリティマニフェスト)と比較される。
一実施形態においては、ICVは暗号ハッシュアルゴリズムにより生成されうる。アルゴリズムを利用してエージェント/ソフトウェアプログラムのインテグリティマニフェストに格納されている1以上のICVを生成することができる。エージェントの/ソフトウェアプログラムのインテグリティマニフェストに格納されているICVを、「原ICV」と称してよい。原ICVも、ここでは「既知の良好な」ICVと称してよい。AEE118は、ICVを生成して、原ICVを作成するのに利用されたのと同じ暗号ハッシュアルゴリズムで原ICVと比較してよい。計算されたICVは既知の良好なICVまたは原ICVと比較される。ICV同士が整合する場合には、エージェント/ソフトウェアプログラムは修正されていないことになる。もしも計算されたICVに差異が生じている場合には、AEE118はエージェント/ソフトウェアプログラムが修正されていると判断して、それら差異を報告してよい。
ICVに加えて、インテグリティマニフェストはICVに亘る暗号署名を含みうる。インテグリティマニフェスト署名は、ソフトウェア製造業者/開発業者により作成され、ソフトウェアの一部であるインテグリティマニフェストとともに格納されてよい。署名はまた、ソフトウェアプログラムのインストール時に製造業者が生成および/または製造業者から受け取り、プログラムの一部として格納されてもよい。署名は、ソフトウェアプログラムの様々な部分から生成されたICVの暗号ハッシュであってよい。一実施形態においては、暗号ハッシュは、公開鍵および秘密鍵の対のうちの秘密鍵によりソフトウェア開発業者が行ってもよい。故に、ソフトウェア開発業者は、インテグリティマニフェストの署名を作成および格納し、後で別の実体(例えばAEE118)がその署名をソフトウェア開発業者の公開鍵を利用して検証することができる。インテグリティマニフェストの署名を検証することで、AEE118は、インテグリティマニフェストの全ての値が正確であり、インテグリティマニフェストのICVをAEE118または別の実体が検証の際の期待値として利用してよいと仮定できる。
AEE118はさらに、例えば、System Service Descriptor Table、Interrupt Descriptor Table、およびImport Address Tableなどの重要なテーブルに対するアクセスを有する。これらテーブルへのアクセス権限を与えられることにより、AEE118は、第三者の行うシステム呼び出しが、ルートキットコードがフックした機能呼び出しにではなく、正しいカーネルコードにトランスレーションされたことを確かめることができる。
AEE118は、エージェント実行インテグリティチェッカ302、証書マネージャ306、および取引マネージャ308を含む。
エージェント実行インテグリティチェッカ302は、ホストオペレーティングシステム200上の第三者コード206のメモリ領域を、その領域にインストールされているソフトウェアコンポーネントとともに、継続的にモニタする。エージェント実行インテグリティチェッカ302は、マニフェストマネージャ304を含む。マニフェストマネージャ304は、第三者コード206のハッシュのレポジトリおよびその領域のソフトウェアエージェントを維持する。マニフェストマネージャ304はさらに、例えば遠隔サーバ122等の遠隔サーバとの間にセキュアなチャネルを構築して、インテグリティマニフェストが局所的に格納されていない場合、その第三者コードのインテグリティマニフェストを取り出す。サービスプロバイダにより査定および検証の要求が発された場合、エージェント実行インテグリティチェッカ306は、マニフェストマネージャ304と協働して、クライアントプラットフォームの動作状態を査定して、ランタイムインテグリティマニフェストを判断し、上述したインテグリティマニフェスト比較を行うことで、査定および検証を行う。
証書マネージャ306は、証書記憶を維持する。証書マネージャ306が維持する鍵/証書のリストには、(1)AEE118用の公開鍵対(ハードウェア(AEEPK)生成中に利用されうる、または顧客による起動の後生成されうる)、および(2)クライアントとサービスプロバイダとの間の契約が成立していて、第三者コード206で実行されているエージェントを認証する際に利用されることを確かめるべく、サービスプロバイダにより発行されるサービス証書鍵(SCK)が含まれる。証書マネージャ306はさらに、証書の無効化処理および更新処理を行う。
取引マネージャ308は、AEE118と、ホストプロセッサ102が行う取引との間の結合を形成するさらなる動作を行うようホストプロセッサ102に指示する。
一実施形態においては、取引マネージャ308とホストプロセッサ102との間の通信リンクAは、既存のプロセッサマイクロコードへの延長を伴いうる。ホストメモリ(例えばMemory Type Range Registers(MTRR))の特定の領域を監視するのに利用されうる新たなプロセッサレジスタが定義されてよく、これら領域が修正されている場合には、AEE118に警告を送ってよい。
先に示したように、本発明の実施形態は、サービスプロバイダがクライアントプラットフォームの査定および検証を要求することを可能として、クライアントプラットフォームで実行されているサービスプロバイダのユーザアプリケーションが危険に曝されておらず、それらのサービスが盗用される可能性がないことを保証することができる。多くのオンラインビジネスは、それらの提供するサービスのサイバー盗用を阻止するようなサービスを必要としている。例えば、ユーザはNetflix.comから映画をレンタルして、ユーザのクライアントプラットフォーム上でNetflixメディアプレーヤで映画を視聴する。しかし、ユーザが映画を視聴するユーザのクライアントプラットフォーム(つまり、Netflixメディアプレーヤ)が悪意あるビデオリッパーの危険に曝されている場合、映画は、Netflix.comからレンタルされずに、Netflixメディアプレーヤから盗用される虞がある。本発明の実施形態では、サービスプロバイダのユーザアプリケーションの査定を含むクライアントプラットフォームの査定および検証に必要な全てのコンポーネントを提供して、ユーザアプリケーションが危険に曝されていないことを確かめる。例えば、本発明の実施形態においては、Netflix.comが査定および検証を要求して、映画が再生されているNetflixメディアプレーヤが危険に曝されてきておらず、故に、映画が悪意あるビデオリッパにより盗用されていないことを確かめることができる。
故に、本発明の実施形態では、インターネット上の、またはサービスが提供される任意の他のネットワーク上の多数のパーティが、プラットフォームにさらなるオーバヘッドを加えずにプラットフォームの状態を、信頼性をもって確認することができる。図4を参照して後述するように、本発明の実施形態では、公認サービスは、状態の報告の正当性の確認のみが可能であってもよい。本発明の実施形態はさらに、OSにとらわれず、プラットフォームの悪意ある公認オーナおよびプラットフォーム上の悪意あるコードからの保護を可能とする。
図4は、本発明の一実施形態による、プラットフォームに基づく信用検証サービスに関する例示的な方法を記すフロー400である。本発明は、フロー400に関して記載する実施形態に限定されない。本教示を読んだ当業者にとっては、他の機能フロー図も本発明の範囲に含まれることが明らかであろう。処理は402から始まり、処理はすぐに404に進む。
信用は先ず、検証前に構築される必要がある。つまり、AEEがチェッカ(第三者エージェント)をチェックできるようになる前に、信用がAEEと第三者エージェントとの間に構築されている必要がある。信用を構築するには、第三者エージェントの証書をAEEに提供する必要がある。このため404において、AEEは証書を提供する。証書提供は公知技術である。先に示したように、証書マネージャは証書記憶を維持する。サービスプロバイダはサービス証書鍵(SCK)を発行し、サービスプロバイダがクライアントにサービスを提供する前にサービスプロバイダとクライアントとの間で契約が成立していることを確認する。サービスプロバイダが既に提供を行っている場合、サービス証書鍵は既に証書マネージャとともに格納されているはずである。サービス証書鍵(SCK)は、その後、第三者エージェントを認証するのに利用されてよい。
ホストプラットフォームがサービスプロバイダからのインターネットサービスにアクセスすると(406)、ホストプラットフォームは、プラットフォーム査定および検証に対応するサービスプロバイダからの要求を受け取る(408)。サービスプロバイダは、ホストが危険に曝されていない場合ホストプラットフォームにより危険に曝されたくないので、ホストプラットフォームにサービスを提供する前にこの要求を行う。
サービスプロバイダからの要求を受けて、ホストプラットフォーム査定エージェントは(つまり、サービスプロバイダに関する第三者コードは)、AEEに対して、サービスプロバイダのプラットフォーム査定および検証を行うよう要求する(410)。プラットフォーム査定および検証には、オペレーティングシステム全体の状態およびそれが提供するサービスを示す重要なオペレーティングシステムコンポーネントの査定に加えて、第三者コードの状態の査定が含まれる。
412において、AEEのマニフェストマネージャは、サービスプロバイダに関する第三者コードのインテグリティマニフェスト比較を行う。マニフェスト比較を行う際、マニフェストマネージャは先ず、上述のように第三者コードのランタイムインテグリティマニフェスト計算を行う必要がある。ランタイムインテグリティマニフェストは、マニフェストマネージャに格納されている原インテグリティマニフェストと比較される。一実施形態においては、原インテグリティマニフェストがマニフェストマネージャに格納されていない場合、原インテグリティマニフェストは、上述のようにサービスプロバイダから取得される。
原インテグリティマニフェストおよびランタイムインテグリティマニフェストが等価でない場合、または、クライアントプラットフォームのオペレーティングシステム全体の状態が不良である場合、ホストプラットフォームの状態は良好ではないとみなされ(414)、AEEはサービスプロバイダに不良通知をする(416)。不良通知により、サービスプロバイダは、ホストプラットフォームが危険に曝されてきたことを知る。通知を受け取ってから、サービスプロバイダはとるべき対策を決定する必要がある。
原インテグリティマニフェストおよびランタイムインテグリティマニフェストが等価な場合、および、クライアントプラットフォームのオペレーティングシステム全体の状態が良好である場合、ホストプラットフォームの状態が良好であるとみなされ(414)、AEEはプラットフォームの状態に署名して、サービスプロバイダに承認を送る(418)。
サービスプロバイダにおけるホストプラットフォームのオペレーティングシステムの状態およびサービスプロバイダの第三者コードが危険に曝されていない旨が確認されたので、420において、ホストプラットフォームが該サービスプロバイダからサービスを受け取ってよい。
本発明の実施形態の側面によっては、ハードウェア、ソフトウェア、またはそれらの組み合わせにより実装されうるものがあり、1以上のコンピュータシステムまたは他の処理システムで実装されうるものがある。現実的には、一実施形態において、方法は、携帯型または据置型のコンピュータ、携帯情報端末(PDA)、セットトップボックス、携帯電話機およびページャ、および少なくとも1つのプロセッサ、プロセッサ読み取り可能な記憶媒体(揮発性および不揮発性メモリおよび/または記憶素子を含む)、少なくとも1つの入力デバイス、および1以上の出力デバイスを含みうる他の電子デバイスなどのプログラム可能な機械上で実行されるプログラムに実装されうる。プログラムコードは、入力デバイスを利用して入力されたデータに適用され、上述の機能を果たし、出力情報を生成する。出力情報は1以上の出力デバイスに適用されうる。当業者であれば、本発明の実施形態が、マルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ等を含む様々なコンピュータシステムコンフィギュレーションにより実施可能であることを理解しよう。
各プログラムは、処理システムと通信すべく、ハイレベルプロシージャまたはオブジェクト指向のプログラミング言語で実装されうる。しかし、プログラムは、所望の場合にはアセンブリ言語または機械言語で実装されることもできる。いずれにしても、言語はコンパイルされ解釈されうる。
プログラム命令を利用して、命令でプログラミングされる汎用または専用処理システムにここで記載した方法を行わせることができる。または、方法は、方法を行うハードワイヤロジックを含む専用ハードウェアコンポーネントにより実行可能であり、または、プログラミングされたコンピュータコンポーネントおよびカスタムハードウェアコンポーネントの任意の組み合わせにより実行可能である。ここで記載した方法は、処理システムまたは他の電子デバイスをプログラミングして方法を行わせるのに利用されうる命令を記憶する機械読み取り可能な媒体を含みうる物品またはコンピュータプログラムプロダクトとして提供されうる。ここで利用される「機械読み取り可能な媒体」または「機械アクセス可能な媒体」といった用語は、機械による実行用に命令シーケンスの記憶またはエンコードが可能であり、機械にここで記載した方法のいずれかを行わせることのできる任意の媒体を含む。故に、「機械読み取り可能な媒体」または「機械アクセス可能な媒体」といった用語は、固体メモリ、光学および磁気ディスク、およびデータ信号をエンコードする搬送波を含むが、それらに限定されない。さらに、本技術分野では、ソフトウェアといえば、様々な形式において(例えばプログラム、プロシージャ、処理、アプリケーション、モジュール、ロジック等)、動作を行い、結果を生じることである。このような表現は、ソフトウェアの実行を、処理システムがプロセッサに動作を行わせ、結果を生じさせる、ということを短縮しているに過ぎない。
本発明の様々な実施形態を上述したが、それらが例示目的で提示され、限定として提示されたのではないことを理解されたい。当業者でれば、添付請求項で定義される本発明の精神および範囲から逸脱することなく形態および詳細において様々な変更を加えることができることを理解しよう。故に、本発明の範囲は、上述の例示的な実施形態のいずれに限定されるべきものではなく、以下の請求項およびその均等物によって定義されるべきである。

Claims (26)

  1. 信用検証方法であって、
    サービスプロバイダにアクセスする段階と、
    前記サービスプロバイダから、プラットフォーム査定および検証の要求を受信する段階と、
    プラットフォームの情報を集め、査定および検証を既知の良好な値と比較する段階と、
    前記比較によりプラットフォームの状態が良好であると示される場合、前記サービスプロバイダに対して承認を送り、前記サービスプロバイダからサービスを受信する段階と、を備える、方法。
  2. 前記比較によりプラットフォームの状態が良好でないと示される場合、前記サービスプロバイダに不良通知を送る段階を備え、
    前記不良通知により、前記サービスプロバイダは前記プラットフォームが危険に曝されてきたことを知る、請求項1に記載の方法。
  3. サービスプロバイダにアクセスする前に、前記サービスプロバイダを提供する(provision)段階を備える、請求項1に記載の方法。
  4. 前記サービスプロバイダに承認を送る前に、プラットフォームの状態に署名をして承認を示す段階を備える、請求項1に記載の方法。
  5. プラットフォーム査定および検証には、オペレーティングシステム全体の状態および提供されるサービスを示す重要なオペレーティングシステムコンポーネントおよびアプリケーションの査定と、インテグリティマニフェスト比較とが含まれる、請求項1に記載の方法。
  6. インテグリティマニフェスト比較は、
    前記サービスプロバイダを表す第三者コードについてランタイムインテグリティマニフェストを計算することと、
    前記ランタイムインテグリティマニフェストを、前記サービスプロバイダについて格納されているインテグリティマニフェストと比較することと、を含む、請求項5に記載の方法。
  7. 格納されているインテグリティマニフェストが存在しない場合、
    前記第三者コードについて前記サービスプロバイダからインテグリティマニフェストを取得する段階と、
    前記ランタイムインテグリティマニフェストを、前記取得されたインテグリティマニフェストと比較する段階と、を備える、請求項6に記載の方法。
  8. 前記インテグリティマニフェスト比較はエージェント実行環境が行う、請求項5に記載の方法。
  9. 前記サービスプロバイダにアクセスする前に、前記サービスプロバイダのための第三者コードを認証する段階を備える、請求項1に記載の方法。
  10. プラットフォームの情報を集め、査定および検証を既知の良好な値と比較する段階は、OSにとらわれず行われる、請求項1に記載の方法。
  11. 前記サービスプロバイダは、公認のサービスプロバイダを含む、請求項1に記載の方法。
  12. 複数の機械アクセス可能な命令を有する記憶媒体を備える物品であって、
    前記命令は、プロセッサにより実行されると、
    公認のサービスプロバイダにアクセスさせ、
    前記公認のサービスプロバイダから、プラットフォーム査定および検証の要求を受信させ、
    前記要求が対象とするクライアントプラットフォームのオペレーティングシステムの状態を査定させ、
    前記公認のサービスプロバイダの第三者コードのインテグリティマニフェストを比較させ、
    前記比較によりプラットフォームの状態が良好であると示される場合、前記プラットフォームの状態に署名をして、前記公認のサービスプロバイダに承認を送り、前記公認のサービスプロバイダからサービスを受信させる、物品。
  13. 前記比較によりプラットフォームの状態が良好でないと示される場合、前記命令は、
    前記公認のサービスプロバイダに不良通知を送らせ、
    前記不良通知により、前記公認のサービスプロバイダは前記プラットフォーム上の悪意あるコードから前記公認のサービスプロバイダを保護する必要があることを知る、請求項12に記載の物品。
  14. 公認のサービスプロバイダにアクセスさせる前に、前記命令は、
    前記公認のサービスプロバイダを提供させる、請求項12に記載の物品。
  15. 前記インテグリティマニフェストを比較を行させる命令は、
    前記公認のサービスプロバイダを表す第三者コードについてランタイムインテグリティマニフェスト計算を行わせる命令と、
    前記ランタイムインテグリティマニフェストを、前記公認のサービスプロバイダについて格納されているインテグリティマニフェストと比較させる命令と、を有する、請求項13に記載の物品。
  16. 格納されているインテグリティマニフェストが存在しない場合、前記命令はさらに、
    前記公認のサービスプロバイダからインテグリティマニフェストを取得させ、
    前記ランタイムインテグリティマニフェストを、前記取得されたインテグリティマニフェストと比較させる、請求項15に記載の物品。
  17. エージェント実行環境はOSにとらわれず、前記クライアントプラットフォームの重要なオペレーティングシステム(OS)コンポーネントおよびアプリケーションを査定して、前記オペレーティングシステム全体の状態を判断して、前記インテグリティマニフェストを比較する、請求項12に記載の物品。
  18. 前記公認のサービスプロバイダにアクセスさせる前に、前記命令は、
    前記公認のサービスプロバイダの前記第三者コードを認証させる、請求項12に記載の物品。
  19. プラットフォームの状態が良好であることは、前記クライアントプラットフォームが危険に曝されてこなかったことを示す、請求項12に記載の物品。
  20. クライアントプラットフォームを備える信用検証システムであって、
    前記クライアントプラットフォームは少なくとも1つのプロセッサを有し、
    前記少なくとも1つのプロセッサはオペレーティングシステムを含み、
    前記オペレーティングシステムは1以上のユーザアプリケーション、ポリシーマネージャ、および複数の第三者コードを含み、
    前記複数の第三者コードは、サービスプロバイダそれぞれに固有の査定ダウンロード可能なエージェントを含み、
    前記クライアントプラットフォームは、前記少なくとも1つのプロセッサから分離されたエージェント実行環境をさらに有し、
    前記エージェント実行環境は、前記クライアントプラットフォームのオペレーティングシステム全体の状態を示す重要なオペレーティングシステムコンポーネントをモニタおよび査定し、前記複数の第三者コードのうち少なくとも1つのインテグリティマニフェスト比較を行って、サービスプロバイダに対して、前記サービスプロバイダに関する第三者コードと前記クライアントプラットフォームとが危険に曝されてきたか否かを知らせる、システム。
  21. 前記エージェント実行環境は、前記インテグリティマニフェスト比較を行うマニフェストマネージャを含む、請求項20に記載のシステム。
  22. 前記エージェント実行環境は、前記複数の第三者コードをモニタするエージェント実行インテグリティチェッカを含み、
    前記エージェント実行インテグリティチェッカは、前記複数の第三者コードのそれぞれについてハッシュのレポジトリを維持するマニフェストマネージャを含む、請求項20に記載のシステム。
  23. 前記エージェント実行環境は、証書記憶を維持する証書マネージャを含み、
    前記証書記憶は、複数のサービスプロバイダが発行した複数のサービス証書鍵(SCK)を含み、前記クライアントプラットフォームと、前記複数のサービスプロバイダそれぞれとの間に契約が成立しており、前記クライアントプラットフォームで実行されているサービスプロバイダ第三者コードエージェントを認証するときに利用されることを確かめる、請求項20に記載のシステム。
  24. 前記エージェント実行環境は取引マネージャを含み、
    前記取引マネージャは、前記エージェント実行環境と、前記クライアントプラットフォームおよび複数のサービスプロバイダの間で行われる取引との間の結合を形成するさらなる動作を行うようホストプロセッサに指示する、請求項20に記載のシステム。
  25. 前記エージェント実行環境はOSにとらわれず、前記プラットフォームの悪意ある公認オーナおよび/または前記プラットフォーム上の悪意あるコードからの保護を提供する、請求項20に記載のシステム。
  26. 前記エージェント実行環境は、前記プラットフォームからさらなるオーバヘッドなく、前記プラットフォームの状態を、信頼性をもって確認する、請求項20に記載のシステム。
JP2009153641A 2008-06-30 2009-06-29 マルチパーティ検証のプラットフォームに基づく信用検証サービスに関する方法およびシステム Expired - Fee Related JP5212870B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/215,907 2008-06-30
US12/215,907 US8572692B2 (en) 2008-06-30 2008-06-30 Method and system for a platform-based trust verifying service for multi-party verification

Publications (2)

Publication Number Publication Date
JP2010033563A true JP2010033563A (ja) 2010-02-12
JP5212870B2 JP5212870B2 (ja) 2013-06-19

Family

ID=41349329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009153641A Expired - Fee Related JP5212870B2 (ja) 2008-06-30 2009-06-29 マルチパーティ検証のプラットフォームに基づく信用検証サービスに関する方法およびシステム

Country Status (5)

Country Link
US (1) US8572692B2 (ja)
EP (1) EP2146300A1 (ja)
JP (1) JP5212870B2 (ja)
KR (1) KR101106851B1 (ja)
CN (2) CN101621520B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014525105A (ja) * 2011-07-29 2014-09-25 マイクロソフト コーポレーション Arm(登録商標)トラストゾーン実施のためのファームウェア基盤トラステッドプラットフォームモジュール(tpm)
JP2016510960A (ja) * 2013-03-04 2016-04-11 アマゾン テクノロジーズ インコーポレイテッド 信頼されるプロバイダによるコンフィギュレーションおよび検証
JP2016111410A (ja) * 2014-12-02 2016-06-20 パナソニックIpマネジメント株式会社 情報端末、情報処理方法及び制御プログラム

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321926B1 (en) * 2008-12-02 2012-11-27 Lockheed Martin Corporation System and method of protecting a system that includes unprotected computer devices
US8826013B1 (en) * 2009-09-23 2014-09-02 Trend Micro Incorporated Protection of customer data in cloud virtual machines using a central management server
JP5457564B2 (ja) 2010-03-05 2014-04-02 インターデイジタル パテント ホールディングス インコーポレイテッド 機器にセキュリティを提供する方法および装置
US8893033B2 (en) * 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
KR20130030132A (ko) * 2011-09-16 2013-03-26 한국전자통신연구원 컴퓨팅 시스템의 보안기능 제공장치 및 제공방법
US9177129B2 (en) * 2012-06-27 2015-11-03 Intel Corporation Devices, systems, and methods for monitoring and asserting trust level using persistent trust log
US9135446B2 (en) * 2012-09-28 2015-09-15 Intel Corporation Systems and methods to provide secure storage
US8763085B1 (en) 2012-12-19 2014-06-24 Trend Micro Incorporated Protection of remotely managed virtual machines
US9275242B1 (en) 2013-10-14 2016-03-01 Trend Micro Incorporated Security system for cloud-based emails
US9197419B1 (en) 2013-10-14 2015-11-24 Trend Micro Incorporated Security system for data stored in the cloud
GB201413836D0 (en) 2014-08-05 2014-09-17 Arm Ip Ltd Device security apparatus and methods
US10803175B2 (en) * 2015-03-06 2020-10-13 Microsoft Technology Licensing, Llc Device attestation through security hardened management agent
DE102015005071A1 (de) * 2015-04-21 2016-10-27 G Data Software Ag System und Verfahren zur Überwachung der Integrität einer von einem Serversystem an ein Clientsystem ausgelieferten Komponente
US10374805B2 (en) * 2015-07-20 2019-08-06 Intel Corporation Technologies for trusted I/O for multiple co-existing trusted execution environments under ISA control
US10248791B2 (en) * 2015-07-20 2019-04-02 Intel Corporation Technologies for secure hardware and software attestation for trusted I/O
GB2540965B (en) 2015-07-31 2019-01-30 Arm Ip Ltd Secure configuration data storage
GB2540961B (en) 2015-07-31 2019-09-18 Arm Ip Ltd Controlling configuration data storage
KR102446384B1 (ko) * 2015-09-18 2022-09-22 삼성전자주식회사 사용자 단말 및 서버 장치
CN107241306B (zh) * 2017-01-06 2020-11-06 深圳市九州安域科技有限公司 一种人机识别方法、服务端、客户端及人机识别系统
CN108683669B (zh) * 2018-05-19 2021-09-17 深圳市图灵奇点智能科技有限公司 数据验证方法和安全多方计算系统
WO2020143906A1 (en) * 2019-01-08 2020-07-16 Huawei Technologies Co., Ltd. Method and apparatus for trust verification
EP3696698A1 (en) * 2019-02-18 2020-08-19 Verimatrix Method of protecting a software program against tampering
CN110096887B (zh) 2019-03-22 2020-06-30 阿里巴巴集团控股有限公司 一种可信计算方法及服务器
US11799857B2 (en) * 2021-08-31 2023-10-24 Cisco Technology, Inc. Software posture for zero trust access

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002536756A (ja) * 1999-02-15 2002-10-29 ヒューレット・パッカード・カンパニー コンピューティング装置のモジュール間通信
JP2004118433A (ja) * 2002-09-25 2004-04-15 Nec Corp 外部プログラムの動作制御方法、動作制御プログラム、動作制御装置、及び、動作制御プログラム提供装置
JP2005159905A (ja) * 2003-11-27 2005-06-16 Ntt Docomo Inc データ保存装置及び通信端末装置
JP2006178936A (ja) * 2004-12-21 2006-07-06 Microsoft Corp 仮想マシンまたは強化オペレーティングシステムなどにおけるコンピュータのセキュリティ管理
EP1689145A1 (en) * 2005-02-04 2006-08-09 NTT DoCoMo INC. Method and apparatuses for verifying operation and configuration of a client by using a service-specific policy
WO2007124091A1 (en) * 2006-04-21 2007-11-01 Interdigital Technology Corporation Apparatus and methods for performing trusted computing integrity measurement reporting
WO2008016489A2 (en) * 2006-07-27 2008-02-07 Hewlett-Packard Development Company, L.P. Methods and systems for modifying an integrity measurement based on user athentication

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2464430A1 (en) * 2003-04-16 2004-10-16 Wms Gaming Inc. Layered security methods and apparatus in a gaming system environment
US8332652B2 (en) * 2003-10-01 2012-12-11 International Business Machines Corporation Computing device that securely runs authorized software
US7143314B2 (en) * 2003-10-01 2006-11-28 General Motors Corporation Method and apparatus for ensuring integrity of critical RAM variables
US7594224B2 (en) * 2003-10-10 2009-09-22 Bea Systems, Inc. Distributed enterprise security system
JP4064914B2 (ja) 2003-12-02 2008-03-19 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、サーバ装置、情報処理装置のための方法、サーバ装置のための方法および装置実行可能なプログラム
US20060101047A1 (en) * 2004-07-29 2006-05-11 Rice John R Method and system for fortifying software
US20070006175A1 (en) * 2005-06-30 2007-01-04 David Durham Intra-partitioning of software components within an execution environment
US7953980B2 (en) * 2005-06-30 2011-05-31 Intel Corporation Signed manifest for run-time verification of software program identity and integrity
US7669242B2 (en) * 2005-06-30 2010-02-23 Intel Corporation Agent presence monitor configured to execute in a secure environment
CN101035346B (zh) * 2006-03-06 2010-09-08 中兴通讯股份有限公司 一种分组数据业务大话务仿真测试的方法及装置
US7904278B2 (en) * 2006-05-02 2011-03-08 The Johns Hopkins University Methods and system for program execution integrity measurement
US20080005560A1 (en) * 2006-06-29 2008-01-03 Microsoft Corporation Independent Computation Environment and Provisioning of Computing Device Functionality
KR100882354B1 (ko) 2006-12-01 2009-02-12 한국전자통신연구원 플랫폼 무결성 정보를 이용한 네트워크 인증 장치 및 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002536756A (ja) * 1999-02-15 2002-10-29 ヒューレット・パッカード・カンパニー コンピューティング装置のモジュール間通信
JP2004118433A (ja) * 2002-09-25 2004-04-15 Nec Corp 外部プログラムの動作制御方法、動作制御プログラム、動作制御装置、及び、動作制御プログラム提供装置
JP2005159905A (ja) * 2003-11-27 2005-06-16 Ntt Docomo Inc データ保存装置及び通信端末装置
JP2006178936A (ja) * 2004-12-21 2006-07-06 Microsoft Corp 仮想マシンまたは強化オペレーティングシステムなどにおけるコンピュータのセキュリティ管理
EP1689145A1 (en) * 2005-02-04 2006-08-09 NTT DoCoMo INC. Method and apparatuses for verifying operation and configuration of a client by using a service-specific policy
WO2007124091A1 (en) * 2006-04-21 2007-11-01 Interdigital Technology Corporation Apparatus and methods for performing trusted computing integrity measurement reporting
JP2009534749A (ja) * 2006-04-21 2009-09-24 インターデイジタル テクノロジー コーポレーション トラステッドコンピューティングの完全性測定の通知を実行する装置および方法
WO2008016489A2 (en) * 2006-07-27 2008-02-07 Hewlett-Packard Development Company, L.P. Methods and systems for modifying an integrity measurement based on user athentication

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014525105A (ja) * 2011-07-29 2014-09-25 マイクロソフト コーポレーション Arm(登録商標)トラストゾーン実施のためのファームウェア基盤トラステッドプラットフォームモジュール(tpm)
US9489512B2 (en) 2011-07-29 2016-11-08 Microsoft Technology Licensing, Llc Trustzone-based integrity measurements and verification using a software-based trusted platform module
JP2016510960A (ja) * 2013-03-04 2016-04-11 アマゾン テクノロジーズ インコーポレイテッド 信頼されるプロバイダによるコンフィギュレーションおよび検証
JP2016111410A (ja) * 2014-12-02 2016-06-20 パナソニックIpマネジメント株式会社 情報端末、情報処理方法及び制御プログラム

Also Published As

Publication number Publication date
EP2146300A1 (en) 2010-01-20
CN103763331A (zh) 2014-04-30
US20090328164A1 (en) 2009-12-31
CN101621520A (zh) 2010-01-06
KR101106851B1 (ko) 2012-01-19
CN101621520B (zh) 2014-03-05
US8572692B2 (en) 2013-10-29
JP5212870B2 (ja) 2013-06-19
KR20100003234A (ko) 2010-01-07
CN103763331B (zh) 2017-04-12

Similar Documents

Publication Publication Date Title
JP5212870B2 (ja) マルチパーティ検証のプラットフォームに基づく信用検証サービスに関する方法およびシステム
US10318336B2 (en) Posture assessment in a secure execution environment
De Benedictis et al. Integrity verification of Docker containers for a lightweight cloud environment
US8893279B1 (en) Certification of virtual machine images in cloud computing environments
US9690498B2 (en) Protected mode for securing computing devices
Garriss et al. Trustworthy and personalized computing on public kiosks
US8549592B2 (en) Establishing virtual endorsement credentials for dynamically generated endorsement keys in a trusted computing platform
US10547626B1 (en) Detecting repackaged applications based on file format fingerprints
US20090172814A1 (en) Dynamic generation of integrity manifest for run-time verification of software program
Ciardo et al. SMART: Simulation and Markovian analyzer for reliability and timing
JP2016534460A (ja) 動的アプリケーションセキュリティ検証
KR20150028837A (ko) 단일 신뢰 플랫폼 모듈을 가진 플랫폼 컴포넌트의 측정
US10771477B2 (en) Mitigating communications and control attempts
CN110390201A (zh) 计算机系统以及初始化计算机系统的方法
US11909882B2 (en) Systems and methods to cryptographically verify an identity of an information handling system
US10019577B2 (en) Hardware hardened advanced threat protection
KR20220090537A (ko) 정책 적용을 위한 가상 환경 유형 검증
US11640469B2 (en) Method and system for cloud-based software security vulnerability diagnostic assessment
US20080133639A1 (en) Client Statement of Health
Pourali et al. Hidden in plain sight: exploring encrypted channels in android apps
US20210334380A1 (en) Trusted firmware verification
Galanou et al. Matee: Multimodal attestation for trusted execution environments
CN113966510A (zh) 可信设备和计算系统
Song et al. TZ-IMA: Supporting Integrity Measurement for Applications with ARM TrustZone
Feng et al. Using mobile phones to enhance computing platform trust

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120516

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120814

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20121212

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130109

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130129

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130215

R150 Certificate of patent or registration of utility model

Ref document number: 5212870

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160308

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees