JP2014505924A - 信頼できるホスト環境が仮想計算機(vm)の要件に準拠しているという妥当性確認を提供するためのシステム、方法、コンピュータ・プログラム製品、およびコンピュータ・プログラム - Google Patents

信頼できるホスト環境が仮想計算機(vm)の要件に準拠しているという妥当性確認を提供するためのシステム、方法、コンピュータ・プログラム製品、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP2014505924A
JP2014505924A JP2013545273A JP2013545273A JP2014505924A JP 2014505924 A JP2014505924 A JP 2014505924A JP 2013545273 A JP2013545273 A JP 2013545273A JP 2013545273 A JP2013545273 A JP 2013545273A JP 2014505924 A JP2014505924 A JP 2014505924A
Authority
JP
Japan
Prior art keywords
host environment
component
trusted host
configuration data
data structure
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
JP2013545273A
Other languages
English (en)
Other versions
JP5957004B2 (ja
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2014505924A publication Critical patent/JP2014505924A/ja
Application granted granted Critical
Publication of JP5957004B2 publication Critical patent/JP5957004B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】 信頼できるホスト環境が仮想計算機(VM)の要件に準拠しているという妥当性確認を提供するためのシステム、方法、コンピュータ・プログラム製品、およびコンピュータ・プログラムを提供する。
【解決手段】 このシステムは、信頼できるホスト環境に関連する構成データを少なくとも1つの暗号データ構造に暗号で保管するための保管コンポーネントと、保管コンポーネントが構成データを保管したことに応答して、少なくとも1つの暗号データ構造を制御コンポーネントに送信するための送信コンポーネントと、制御コンポーネントが少なくとも1つの暗号データ構造を受信したことに応答して、少なくとも1つの暗号データ構造を分析するための分析コンポーネントと、分析コンポーネントが構成データを決定したことに応答して、構成データを要件と比較するための比較コンポーネントと、構成データが要件と一致すると比較コンポーネントが判断したことに応答して、VMの検証を可能にするための検証コンポーネントとを含む。
【選択図】 図3

Description

本発明は、コンピュータ仮想計算機(virtual machine)に関する。特に、本発明は、仮想計算機の妥当性確認(validation)のための装置および方法に関する。
仮想計算機(VM)は、物理的コンピュータをソフトウェアで実現したものである。物理計算機(physical machine)上で実行するように設計されたコンピュータ・プログラムは、VM上で実行されたときに同じように実行する。VMは、完全なオペレーティング・システム(OS)をサポートするための完全なシステム・プラットフォームを提供する。物理計算機は、それぞれが異なるOSを実行する異なるVMを使用する複数のユーザ間で共用することができる。
現代のプロセッサ・アーキテクチャは、複数のオペレーティング・システムおよびVMが単一の物理計算機上で実行できるようにする仮想化技法を使用可能にした。これらの技法は、物理的ハードウェアのすぐ上で実行され、それぞれの仮想計算機内で実行されるオペレーティング・システムに仮想ハードウェア層を提供することにより物理的ハードウェアへのアクセスを仲介する、ハイパーバイザ層を使用する。ハイパーバイザは、「ネイティブVM(native VM)」と連携して物理計算機上で動作することができる。代わって、ハイパーバイザは、より高いソフトウェア・レベルで動作する「ホスト型VM(hosted VM)」と連携して、物理計算機上で実行されるオペレーティング・システム内で動作することができる。
VM技術の例は以下の通りである。
●Linux(R)カーネルベース仮想計算機(KVM): KVMを実行する基本的なLinuxの上で1つまたは複数のLinuxまたはMicrosoft(R)Windows(R)の仮想計算機を実行できるようにするものである。
●Xen: Linuxの上でゲスト(仮想化)Linuxを実行できるようにするものである。
●Parallels: Mac OS Xの上でLinuxおよびWindowsを可能にするものである。
●VMWare: Mac OS X、Windows、およびLinuxシステムの上でLinuxおよびWindowsシステムを可能にするものである。
(Linuxは、米国、その他の国、またはその両方におけるLinus Torvalds氏の登録商標である。MicrosoftおよびWindowsは、米国、その他の国、またはその両方におけるMicrosoft社の商標である。)
トラステッド・プラットフォーム・モジュール(TPM:Trusted Platform Module)は、Trusted Computing Group(TCG)によって定義されたセキュリティ規格に準拠しているシステムである。これは典型的に、情報を保護する暗号鍵を提供するコンピュータ・システムのコンポーネントとして実現される。また、TPMは、コンピュータ・システムに対する変更を認定当事者によって検出できるようにする遠隔証明(remote attestation)を提供することもできる。TPMは、ハードウェア、ソフトウェア、または組み合わせとして実現することができる。
仮想TPM(vTPM)は、ハイパーバイザ上で実行されるVMにTPMサービスを提供する。vTPMはソフトウェアで実現されたTPMとして定義され、これはVMだけでなく何に対してもTPMサービスを提供することができる。VMおよびそれに関連するvTPMは、VMがある物理計算機から他の物理計算機に移行する場合でも、VMの有効期間の間、安全に維持される。vTPMは、それが関係する信頼できるコンピューティング・ベースに対する安全な関連付けも維持しなければならない。
vTPMは、VM内のユーザ・スペース内でホストとして処理されるか、安全なコプロセッサ内にあるか、またはそれ自体の個別のVM内でホストとして処理される可能性がある。
データセンタ内に配備されたVMは、それが実行される環境について多くの要件を有することになる。これらの要件は、ハードウェアのタイプから、VMの視界および制御から外れた何らかの低レベル・システム構成に及ぶ可能性がある。このような要件は、サービス・レベル・アグリーメント(SLA)に指定される可能性があり、業界規制の一部を形成する可能性がある。VMはシステムからシステムへ移行するので、このような要件の1つに反することは容易である。また、管理者は自分のシステムに対して変更を行うので、VMの要件に気付かない可能性があり、この場合も要件に反することになる。
リモート・データセンタ内にVMを配備したシステム所有者の場合、これらの要件が満たされていることを妥当性確認する際に大変な困難が発生することになる。データセンタ・システムを見ることができるシステム所有者でも、依然として、その要件が満たされていることを妥当性確認するのは不便なことであると気付く可能性がある。
VMの使用はプラットフォーム所有者に対してコスト上の利益をもたらすが、悪意のある攻撃からVMを保護する必要がある。手法の1つは、ハードウェアベースのトラステッド・プラットフォーム・モジュール(TPM)などのルート・オブ・トラスト(root of trust)を使用することであり、これは、オペレーティング・システム、ハイパーバイザ、およびVM内で実行されるアプリケーションを含む、プラットフォーム上で実行されるすべてのソフトウェアの保全性を査定するものである。TPMは、ソフトウェア・コンポーネントの暗号ハッシュにデジタル署名することにより、遠隔証明を可能にする。これに関連して、「証明」はブートされた正確なソフトウェア/ハードウェア・コンポーネントの証拠を提供することを意味し、「検証」はこれらの値が適切であるかどうかを判断することを意味し、「妥当性確認」は証明、検証、またはそれらの組み合わせの結果を意味する。
TPMおよびTrusted Computingは、サービス・レベル・アグリーメント(SLA)に反する可能性のある状況に対する保護は行わない。
したがって、当技術分野では、既知の信頼できるコンピューティング・システムの短所に対処する必要がある。
第1の態様から見ると、本発明は、信頼できるホスト環境(trusted host environment)が仮想計算機(VM)の要件に準拠しているという妥当性確認を提供するためのシステムを提供し、このシステムは、信頼できるホスト環境に関連する構成データを少なくとも1つの暗号データ構造に暗号で保管するための保管コンポーネントと、保管コンポーネントが構成データを保管したことに応答して、少なくとも1つの暗号データ構造を制御コンポーネントに送信するための送信コンポーネントと、制御コンポーネントが少なくとも1つの暗号データ構造を受信したことに応答して、少なくとも1つの暗号データ構造を分析するための分析コンポーネントと、分析コンポーネントが構成データを決定したことに応答して、構成データを要件と比較するための比較コンポーネントと、構成データが要件と一致すると比較コンポーネントが判断したことに応答して、信頼できるホスト環境内のVMの検証を可能にするための検証コンポーネントとを含む。
好ましくは、本発明は、構成データが要件と一致しないと比較コンポーネントが判断したことに応答して、信頼できるホスト環境内のVMの検証を否定するために検証コンポーネントがさらに動作可能である、システムを提供する。
好ましくは、本発明は、保管コンポーネントがハイパーバイザであり、少なくとも1つの暗号データ構造が少なくとも1つのプラットフォーム構成レジスタ(PCR)であり、少なくとも1つの暗号データ構造がVMの他の信頼できるホスト環境に関連付けられ、信頼できるホスト環境がトラステッド・プラットフォーム・モジュールを含み、このシステムが、信頼できるホスト環境を含む第1のサーバと制御コンポーネントを含む第2のサーバとをさらに含む、システムを提供する。
第2の態様から見ると、本発明は、信頼できるホスト環境が仮想計算機(VM)の要件に準拠しているという妥当性確認を提供するための方法を提供し、この方法は、信頼できるホスト環境に関連する構成データを少なくとも1つの暗号データ構造に暗号で保管するステップと、構成データを保管するステップに応答して、少なくとも1つの暗号データ構造を制御コンポーネントに送信するステップと、少なくとも1つの暗号データ構造を受信するステップに応答して、少なくとも1つの暗号データ構造を分析するステップと、構成データを決定するステップに応答して、構成データを要件と比較するステップと、構成データが要件と一致すると判断するステップに応答して、信頼できるホスト環境内のVMの検証を可能にするステップとを含む。
好ましくは、本発明は、この方法が、構成データが要件と一致しないと判断するステップに応答して、信頼できるホスト環境内のVMの検証を否定することをさらに含む、方法を提供する。
好ましくは、本発明は、信頼できるホスト環境に関連する構成データを少なくとも1つの暗号データ構造に暗号で保管するステップが、信頼できるホスト環境に関連する構成データを少なくとも1つのプラットフォーム構成レジスタ(PCR)に暗号で保管するステップを含み、この方法が、少なくとも1つの暗号データ構造をVMの他の信頼できるホスト環境に関連付けるステップをさらに含み、信頼できるホスト環境がトラステッド・プラットフォーム・モジュールを含み、この方法が、信頼できるホスト環境を含む第1のサーバを提供するステップと、制御コンポーネントを含む第2のサーバを提供するステップとをさらに含む、方法を提供する。
他の態様から見ると、本発明は、信頼できるホスト環境が仮想計算機(VM)の要件に準拠しているという妥当性確認を提供するためのコンピュータ・プログラム製品(computer program product)を提供し、このコンピュータ・プログラム製品は、処理回路によって読み取り可能であり、本発明の諸ステップを実行するための方法を実行するために処理回路による実行のための命令を保管するコンピュータ可読記憶媒体を含む。
他の態様から見ると、本発明は、コンピュータ可読媒体上に保管され、デジタル・コンピュータの内部メモリにロード可能であり、コンピュータ上で実行されるときに、本発明の諸ステップを実行するためのソフトウェア・コード部分を含む、コンピュータ・プログラムを提供する。
有利なことに、本発明は、その要件が満たされていることを検証するためにシステム所有者が遠隔検証を使用できるようにする方法を提供する。本発明は、仮想トラステッド・プラットフォーム・モジュール(vTPM)の使用を拡張して、VMソフトウェア構成だけでなくそれ以上を報告する。
有利なことに、遠隔検証の既存の方法は、依然として、システムのトラステッド・ブート(Trusted Boot)を使用して行うことができ、したがって、既知で信頼できるソフトウェア構成を実行していることを確信することができる。
有利なことに、VM所有者は、システム・ハイパーバイザによる使用のためにプラットフォーム構成レジスタ(PCR)を予約することにより、システムの環境要件をチェックすることもできる。ハイパーバイザは、仮想計算機の下に位置し、システムのハードウェアを直接制御できる。ハイパーバイザは、VM環境要件に関するシステム状況および構成について報告するのに最良の立場にある。vTPMデバイスが仮想であり、ハイパーバイザからロードされている場合、解決策は、その環境を反映するためにハイパーバイザが1つまたは複数のPCRを設定できるようにすることである。VMが実行され、検証が実行されると、VM所有者は、PCRにより環境の状態を見ることができ、したがって、その要件が満たされていることをチェックすることができる。有利なことに、VM所有者の所有者は、システム上で実行されているVMにアクセスできるときにのみ、システム設定をチェックすることができる。
有利なことに、vTPMとハイパーバイザは互いに通信する。PCR(複数も可)は、VMから見えない項目の測定値を保管するために割り当てられる。有利なことに、VMの下のコンポーネントは、関心のある項目を測定するために協力し、その測定値をvTPMのPCR(複数も可)内に伝搬する。遠隔検証は、割り当てられたPCR(複数も可)をポリシーと照らし合わせて妥当性確認することもできる。VMが証明されると、それはブートされたソフトウェアの状態だけでなく、VMが実行されているサーバに関する何らかの情報についても報告する。
有利なことに、システムがフレキシブル・サービス・プロセッサ(FSP)の「dev」ユーザなどの環境要件に準拠していることを保証するために、証明機構が、たとえば、PCR8の妥当性確認機能を含むことができるように既知のツールを拡張することができる。これは、このような要件を備えた多くのVMの管理を容易にするものである。FSPは、IBM(R)のPOWER6(R)システム上に常駐する小型の制御コンピュータ・システムである。(IBMおよびPOWER6は、米国、その他の国、またはその両方におけるInternational Business Machines社の商標である。)
現在の最新技術では、VMにはこのような構成についてFSPをチェックする方法がない。FSP、ハイパーバイザ、およびvTPMはすべて接続され、互いに測定し、割り当てられたPCRを介して測定値を報告することができるので、本発明はこの点について対処するものである。
有利なことに、そのVMが特定のタイプの中央演算処理装置(CPU)上で実行されることを要求するサービス・レベル・アグリーメント(SLA)により、PCRおよび証明を介してこのようなデータを報告することは顧客にとって価値のあることである。証明およびその後の検証は、特にVMが任意の時点で他の物理システムに移行される場合にSLAを満たしていることを証明するのに役立つであろう。
有利なことに、VM所有者は、システム上で実行されているVMにアクセスできるときにのみ、システム設定をチェックすることができる。項目の測定値を保管するために割り当てられたPCRはVMから見えない。VMの下のコンポーネントは、関心のある項目を測定するために協力し、たとえば、vTPMとハイパーバイザが互いに通信することにより、その測定値をvTPMのPCR内に伝搬する。証明および検証は、割り当てられたPCRをポリシーと照らし合わせて妥当性確認することができる。
次に、以下の図に例示されているように、好ましい諸実施形態に関連して、例としてのみ、本発明について説明する。
本発明の好ましい一実施形態を実現可能である、従来技術によるデータ処理システムを描写するブロック図である。 本発明の好ましい一実施形態を実現可能である、従来技術による2つの物理的サーバを描写するブロック図である。 本発明の好ましい一実施形態により、仮想計算機(VM)の信頼できるデータを提供するための動作方法ステップを描写する高レベルで模範的な概略流れ図である。 本発明の好ましい一実施形態により、信頼できるホスト環境がVMの要件に準拠しているという妥当性確認を提供するための動作方法ステップを描写する高レベルで模範的な概略流れ図である。 本発明の好ましい一実施形態によるプラットフォーム構成レジスタ(PCR)を描写するブロック図である。 本発明の好ましい一実施形態によるサーバを描写するブロック図である。 本発明の好ましい一実施形態により、サーバと通信状態にあるワークステーション上で動作可能な制御プログラムを描写するブロック図である。
図1は、本発明の好ましい一実施形態を実現可能である、従来技術によるデータ処理システム100を描写するブロック図である。データ処理システムは、ワークステーション120と、サーバ150、160とを含む。ワークステーション120およびサーバ150、160はネットワーク110により接続可能である。
サーバ150は、異なるオペレーティング・システムを実行している2つの仮想計算機(VM)152、156を含む。アプリケーション154、158は、それぞれ、VM152、156上で動作可能である。サーバ160は1つのVM166を含む。アプリケーション168はVM166上で動作可能である。ユーザ114は、ワークステーション120上のアプリケーション・クライアント・プログラム134と対話することにより、アプリケーション154、158、168にアクセスする。管理者114は、ワークステーション120上で動作可能な制御プログラム118によりデータ処理システム100を制御する。
図2は、本発明の好ましい一実施形態を実現可能である、従来技術による2つのサーバ150、160を描写するブロック図である。ハイパーバイザ256は、物理的サーバ150の物理的ハードウェア252上で動作可能であり、ネイティブVM152、156がその上で実行できるようにする。VM152、156は、それぞれ、互いに隔離され、実システム全体で実行されている場合のように動作可能である。ハイパーバイザ256は、VM152、156がその仮想化ハードウェア装置(たとえば、イーサネット・カード、または小型コンピュータ・システム・インターフェース(SCSI)コントローラ)にアクセスしたいと希望するときに、ハイパーバイザ256がこれらの命令をインターセプトして、それを物理的ハードウェア252へのアクセスに変換するように、それぞれのVM152、156に関するハードウェアをエミュレートする。
オペレーティング・システム(OS)264は物理的サーバ160の物理的ハードウェア262上で動作可能である。ハイパーバイザ266はOS264上で動作可能である。ゲストVM166はハイパーバイザ266上で動作可能である。VM280はOS264上で動作可能である。
システム・トランスレータ(ST)268は、ある命令セット・アーキテクチャ(ISA)(たとえば、SunのSPARC)のために設計されたシステム全体(OS264およびアプリケーション154、158)が異なるISAシステム(たとえば、IBM(R)のPOWER6(R))上で実行できるようにするソフトウェア・コンポーネントである。(IBMおよびPOWER6は、米国、その他の国、またはその両方におけるインターナショナル・ビジネス・マシーンズ社の商標である。)ST268は、VM280と物理的ハードウェア262との間の層として位置する。
図2に描写されているように、ST268はゲストVM280内のオペレーティング・システム(図示せず)内で動作可能である。この場合、システム変換機能を提供するOS264およびユーザスペース・プログラムが始動する。ST268は、物理計算機150、160上で実行される複数のVM152、156、166のためにハイパーバイザ256、266が提供する同様のサービスを単一のVM280に提供する。ST268はハイパーバイザ256、266と同じようにハードウェアをエミュレートするが、異なるアーキテクチャ用のハードウェアは除く。加えて、ST268は、VM280が実行したいと希望する命令を変換する。システム・トランスレータは典型的に、あるISAから他のISAに機械命令を変換するために動的バイナリ変換(dynamic binary translation)を使用する。また、ハードウェア・エミュレーションは、計算機全体をエミュレートし、システム・イメージ全体を変更なしで実行できるように使用される。
代替の一実施形態では、ST268はハイパーバイザ266の一部として動作可能である。代替の一実施形態では、ST268はハイパーバイザ266のすぐ上で動作可能である。この実施形態では、ST268は、VM152、156、166、280内で実行されるOSのように動作する。代替の諸実施形態では、ST268は、ネイティブOS264内で動作可能であるか、ネイティブOS264の上の層として動作可能であるか、またはVM152、156、166、280と物理的ハードウェア252、262との間で動作可能である。
通常動作におけるST268の諸機能は、命令を変換することと、ハードウェアをエミュレートすることを含む。命令の変換は、異なる物理アーキテクチャ上でVM280が必要とする命令を実行するために、動的バイナリ変換を使用する。ハードウェアのエミュレーションは、変換されたOSが存在することが期待されるハードウェアをエミュレートするためのメカニズムを提供する。これは、たとえば、ネットワーク・カード、メモリ・コントローラ、割り込みコントローラ、読み取り専用メモリ(ROM)、およびランダム・アクセス・メモリ(RAM)を含む。
図3は、図4、図5、図6、および図7に併せて読むべきものであり、本発明の好ましい一実施形態により、仮想計算機(VM)の信頼できるデータを提供するための動作方法ステップを描写する高レベルで模範的な概略流れ図300である。図4は、本発明の好ましい一実施形態により、信頼できるホスト環境がVMの要件720に準拠しているという妥当性確認を提供するための動作方法ステップを描写する高レベルで模範的な概略流れ図400である。図5は、本発明の好ましい一実施形態によるプラットフォーム構成レジスタ(PCR)505、555を描写するブロック図である。図6は、本発明の好ましい一実施形態によるサーバ150を描写するブロック図600である。図7は、本発明の好ましい一実施形態により、サーバ150と通信状態にあるワークステーション120上で動作可能な制御プログラム118を描写するブロック図である。
一例としてのみIBMのPOWER6仮想化アーキテクチャを使用して、本発明について説明する。当業者であれば、本発明が他の仮想化アーキテクチャにも等しく適用可能であることを認識するであろう。
本発明を例示するための一例として、遠隔証明は、「サンプル」ユーザ・アカウントが基本的なサーバ上で使用可能になっているかどうかという状況に関心がある。当業者であれば、遠隔証明が基本的なサーバに関する任意の数の情報項目に関心がある可能性があることを認識するであろう。たとえば、本発明によって記載されたメカニズムを介して、デバッグ・モード、ダンピング・モード、障害フラグ、ファームウェア・バージョン、ハードウェア設定、およびその他多数などのその他の構成フラグを報告することができる。
この方法はステップ301から始まり、サーバ150に電力が加えられる。ステップ305では、基本入出力システム(BIOS)がサーバ150のハードウェアを呼び出す。サーバ150は、サーバのハイパーバイザ(PHYPとしても知られている)645用のコード635および構成635が常駐する、不揮発性記憶装置(NVRAM)630も含む。フレキシブル・サービス・プロセッサ(FSP)605という小型の制御コンピュータ・システムはPOWERシステム上に常駐する。FSP605は、NVRAM630を制御し、ローダ・コード610を使用してハイパーバイザ645をロードし更新する責任がある。ハイパーバイザ645に対する制御および更新は限定的なものと見なされ(デジタル署名付き更新のみを適用することができる)、したがって、ハイパーバイザ645はコアルート・オブ・トラスト(CRT)の一部を形成し、信頼できるものと見なされる。ステップ310では、ハイパーバイザ・コード635がロードされ、ハイパーバイザ645がサーバ150のために始動する。
サーバ150が呼び出されると、トラステッド・プラットフォーム・モジュール(TPM)プロセス315が始動し、ホスト・データベース622にイベントを記録し、測定した結果を1組のPCR505内のTPM628に暗号で保管する。TPM628は、サーバ・ハードウェア620上の安全な位置に保管される。トラステッド・ブートは、コンピューティング・システム内で信頼の連鎖(chain of trust)をブートして確立するための手順である。TPMプロセス315を使用すると、ブートのコンポーネントを暗号で測定し、結果をTPM628のPCR505に暗号で保管することができる。PCR505は電源投入時に初期設定され、拡張機能を使用して変更される。それぞれのブート・コンポーネントは、次のブート・コンポーネントを表すバイト・アレイのハッシュ値を計算することにより、次のブート・コンポーネントを測定する。その結果の値は既存のPCR505と暗号で連結される。この呼び出しが完了すると、最終組のPCR505は信頼の連鎖を表す。システムが実行されると、制御プログラム118内の遠隔証明手順、たとえば、DAA(直接匿名証明)を使用してリモート・システムによる検査のために信頼の連鎖を抽出することができる。PCR505の値は、サーバを信頼できるかどうかを判断するために使用される。PCR拡張プロセスが、たとえば、BIOS、ブート・ローダ(たとえば、ハイパーバイザ・ロード)、任意のネイティブ・オペレーティング・システム(OS)264のスタートアップ、および任意のネイティブ・アプリケーションの起動を含む、ブート・プロセス全体を通過するようなプロセスが存在する。図5は、呼び出しプロセスのための異なるハッシュ値の位置を示す、模範的な1組のPCR505を描写している。たとえば、PCR_0は、フィールド510内に測定用のコアルート・オブ・トラスト(CRTM)のハッシュ値を含む。CRTMは、BIOSブート・ブロック・コードを表し、永続的に信頼できるものと見なされる。
ステップ320では、ハイパーバイザがVM152のうちの1つを呼び出す。NVRAM630は、仮想トラステッド・プラットフォーム・モジュール(vTPM)コード640も含む。それぞれのVM152、156はハイパーバイザ645の上で実行され、関連のvTPM555によりVM152、156はトラステッド・ブートおよびその後の遠隔証明を実行できるようになる。ステップ325では、vTPMコード640がロードされる。VM152はVMデータベース665内に呼び出しイベントを記録し、その呼び出し中にそのvTPM655内に1組の仮想PCR(vPCR)555も構築する。ステップ305、310、および315における初期システムの呼び出しと同様に、ソフトウェア・コンポーネントがロードされ(ステップ330)、次に続くコンポーネントが暗号で測定され(ステップ335)、結果がvPCR555に保管される(ステップ340)。ステップ345では、VM152が完全に呼び出されたかどうかの判断が行われる。ロードすべき追加のコンポーネントがある場合、ステップ330に制御が返される。追加のコンポーネントは、アプリケーション154、158、168を含むことができるであろう。好ましい一実施形態では、vPCR555の更新に関する責任がハイパーバイザ645に渡される。代替の一実施形態では、VM152がそのvPCR555を更新する。この例では、8段階のVM152の呼び出しが存在するので、vPCR_0〜vPCR_7が更新される。
vTPMは様々な位置に保管することができる。好ましい一実施形態では、それぞれのVM152、156はそれ自体の関連vTPM655を制御する。代替の一実施形態では、すべてのvTPM655が管理VMによって制御され、アクセスは対応するVM152、156から適切なvTPM655に対して行われる。当業者であれば、vTPM655を制御するためにいくつかの異なる設計を提供できることを認識するであろう。
ロードすべき追加のコンポーネントがない場合、VM152の呼び出し後、制御はステップ350に移行する。ステップ350では、ハイパーバイザ645がvPCR_8 565へのアクセスを許可される。vPCR_8 565はステップ320によって使用されない。ステップ355では、FSP605がサーバ150の「/etc/passwd」ファイルのセキュア・ハッシュ・アルゴリズム−1(SHA−1)というハッシュ関数を記録し、これはデフォルト構成では既知の測定値を有する。当業者であれば、他の暗号アルゴリムを使用できることを認識するであろう。ステップ360では、FSP605とハイパーバイザ645が協力してこの測定値を渡し、ハッシュでPCR_8 565を拡張する。信頼できるホスト環境に関連する構成データを保存するために識別されたPCR565は、この使用のみのために予約される。ステップ365では、その信頼性を危険にさらすような不注意なアクセスを行わないように保証するために、vTPM655へのアクセスが保護される。
代替の一実施形態では、ハイパーバイザ645は、VM呼び出しステップ320によって使用されない2つ以上のvPCR位置にシステム情報を記録する。
ステップ370では、サーバ150の「/etc/passwd」ファイルに対する更新が存在する場合、制御がステップ350に戻される。たとえば、管理者114は、FSP605に対する変更を行って、「dev」ユーザ・アカウントを使用可能にする。「/etc/passwd」ファイルのSHA−1ハッシュは、他の既知の値になるように変化する。この実施形態では、ハイパーバイザ645は、この新しい測定値でもう一度PCR_8 565を拡張するようvTPM655に指示し、仮想データベース665にその更新を記録するようVM152に指示し、FSPの「/etc/passwd」ファイルの状態を反映する新しくかつ固有であるが既知で予測可能な値をPCR_8 565に提供する。
ステップ399では、この方法が図4の妥当性確認方法に移行する。
ステップ405では、VM152に対する遠隔証明を実行するための要求が制御プログラム118によって受信される。ステップ410では、制御プログラム118がVM152へのアクセスを要求する。ステップ415では、制御プログラム118がVM152へのアクセスを認可されることを保証するために、制御プログラム118のリモート・マネージャ735とVM152のリモート・クライアント755との間で暗号鍵交換が行われる。
ステップ420では、VM152が制御プログラム118にメッセージ780を送信する。メッセージ780は、PCR_0〜PCR_7内の値に対応する第1の値782と、PCR_8 565に関する第2の値784と、VM152の呼び出しに対応する第1のイベントの詳細786と、「/etc/passwd」ファイル値の記録に対応する第2のイベント(複数も可)788の詳細788とを含む。ステップ425では、制御プログラム118がメッセージ780を受信する。ステップ430では、分析コンポーネント715がメッセージ780を分析して、第1の値782と、第2の値784と、第1のイベント詳細786と、第2のイベント詳細788を決定する。第1および第2の値782、784と、第1および第2のイベント詳細786、788は制御プログラム・データベース730に保管される。ステップ435では、リプレイ・コンポーネント710が第1のイベント詳細786を使用して第1のイベントをシミュレートし、シミュレートされた第1のイベントに対応する1組のPCR値714を確立する。また、リプレイ・コンポーネント710は第2のイベント詳細788を使用して第2のイベントをシミュレートし、シミュレートされた第2のイベントに対応するPCR値716を確立する。
PCR値は、その値を生成するために実行された1組のイベントに固有のものである。同じイベントのシミュレーションは、その結果、必ず、同じ1組のPCR結果が得られることになる。異なるイベントのシミュレーションは、その結果、必ず、異なる1組のPCR結果が得られることになる。したがって、2組のイベントに対するPCR結果の比較を使用して、そのイベントが同じであるかどうかについて判断することができる。両方のイベントが同じではない場合、これは、1組が改ざんされていることと、したがって、そのシステムを信頼できないことを示す可能性がある。
ステップ440では、比較コンポーネント725が、VM152から受信したPCR555のPCR_0〜PCR_7に対応する第1の値782を、1組のPCR値714と比較する。また、比較コンポーネント725は、VM152から受信したPCR555のPCR_8 565に対応する第2の値784を、1組のPCR値716と比較する。ステップ445では、1組のPCR値714が予想される第1の値782と一致しない場合、このシステムは信頼することができず、この方法はステップ470に移行する。ステップ470では、管理者114が信頼できないシステムに関連する任意のアクション、たとえば、VM152を使用不可にすることを実行する。
代わって、1組のPCR値714が予想される第1の値782と一致する場合、このシステムは条件付きで信頼することができ、この方法はステップ450に移行する。ステップ450では、第2の値784が測定される。第2の値784がゼロである場合、これは、いかなるシステム値も設定されていないことと、システムが信頼できることを示し、制御はステップ475に渡される。ステップ475では、管理者114が信頼できるシステムに関連する任意のアクション、たとえば、監査目的のために結果を記録することを実行する。第2の値784が非ゼロである場合、これは、システム値が設定されていることを示し、制御はステップ455に渡される。
ステップ455では、制御プログラム118が要件720をロードし、対応する暗号値を計算する。ステップ460では、比較コンポーネント725が暗号値を第2の値784と比較する。この暗号値と第2の値784を突き合わせることは、システム150が要件720を満たしていることを示す。ステップ465では、暗号値が第2の値784と一致する場合、要件720が満たされ、制御はステップ480に渡される。ステップ480では、検証コンポーネント728が呼び出され、VM152の満足のいく状況を把握し、SLA要件を満たす際に信頼できるホスト環境におけるVM152の満足のいく状況に関連するアクション、たとえば、監査ログに結果をロギングすることに限定されないアクションを実行することにより検証を可能にする。しかし、暗号値が第2の値784と一致しない場合、要件720が満たされず、制御はステップ485に渡される。ステップ485では、検証コンポーネント728が呼び出され、VM152の不満足な状況を把握し、SLA要件を満たすのに失敗したことに関連するアクションを実行することにより検証を否定する。たとえば、ステップ485では、管理者114がFSP605に対する変更を行って、「dev」ユーザ・アカウントを使用可能にするが、VM152は「dev」を使用不可にした状態で実行されなければならないという要件720が存在し、遠隔証明の結果としてアクション、たとえば、「dev」ユーザ・アカウントを使用不可にすることを実行することができる。これは、VM152をリブートせずにFSP「dev」ユーザが使用可能になっていることを実行済みの任意の証明が示すようにVM152が実行されている間に行われる。
この方法はステップ499で終了する。
代替の諸実施形態では、より多くの環境および構成項目が測定され、vPCR555を介して遠隔証明に報告される。
代替の一実施形態では、ハイパーバイザ645は、下位システム内のより多くのユーザ・アカウントについて報告する。測定可能な有用な項目の1つは、ハードウェアの実際の構成(たとえば、中央演算処理装置(CPU)の識別番号(ID)、タイプ、速度、メモリ量、ハードウェア製造番号)である。
代替の一実施形態では、ハイパーバイザ645は、バージョンまたはパッチ・レベルについて報告し、これらは、たとえば、何らかのセキュリティ修復が適用されたことを証明できるものである。
本発明の代替の一実施形態では、この方法は図2に記載されているシステム・アーキテクチャに使用され、ハイパーバイザの代わりにまたはハイパーバイザと連携してシステム・トランスレータによりvTPMが維持され更新される。
本発明の好ましい一実施形態では、第1のサーバ150から第2のサーバ160にVM152、156を移行するときにもこの方法を使用することができる。VM152、156の移行後(移行されたVM152、156のvTPM655とともに)、第2のサーバ160上で実行されているハイパーバイザ645は第2のサーバ160からのシステム値でPCR_8 565を拡張する。
好ましい一実施形態では、ハイパーバイザ645は、信頼できるホスト環境に関連する構成データを少なくとも1つの暗号データ構造に暗号で保管するための保管コンポーネントとして動作する。代替の一実施形態では、保管コンポーネントはVM152の外部の他のコンポーネントを含み、これはVM152のvTPM655のPCR555内に構成データを保管するためにVM152と通信する。
本発明の諸態様は、本発明の諸実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品の流れ図あるいはブロック図またはその両方に関連して記載されている。流れ図あるいはブロック図またはその両方の各ブロックおよび流れ図あるいはブロック図またはその両方内の複数ブロックの組み合わせは、コンピュータ・プログラム命令によって実現可能であることが理解されるであろう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、またはその他のプログラマブル・データ処理装置のプロセッサに提供し、コンピュータまたはその他のプログラマブル・データ処理装置のプロセッサにより実行された命令が流れ図あるいはブロック図またはその両方の1つまたは複数のブロックに指定された機能/行為を実現するための手段を作成するようなマシンを生産することができる。
当業者によって認識されるように、本発明の諸態様は、システム、方法またはコンピュータ・プログラム、あるいはコンピュータ・プログラム製品として実施することができる。したがって、本発明の諸態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、またはソフトウェアとハードウェアの諸態様を組み合わせる実施形態の形を取ることができ、いずれも本明細書では一般に「回路」、「モジュール」、または「システム」と呼ぶことができる。さらに、本発明の諸態様は、その上にコンピュータ可読プログラム・コードが実施されている1つまたは複数のコンピュータ可読媒体に実施されたコンピュータ・プログラム製品の形を取ることができる。
1つまたは複数のコンピュータ可読媒体の任意の組み合わせを使用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体にすることができる。コンピュータ可読記憶媒体は、たとえば、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、またはデバイス、あるいは上記のものの任意の適切な組み合わせにすることができるが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例(非網羅的リスト)としては、1つまたは複数のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラム可能読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD−ROM)、光学記憶装置、磁気記憶装置、あるいは上記のものの任意の適切な組み合わせを含むであろう。本明細書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによりあるいはそれに関連して使用するためのプログラムを収容または保管することができる任意の有形媒体にすることができる。
コンピュータ可読信号媒体は、たとえば、ベースバンド内でまたは搬送波の一部として、そこにコンピュータ可読プログラム・コードが実施されている伝搬データ信号を含むことができる。このような伝搬信号は、電磁、光、またはそれらの任意の適切な組み合わせを含むがこれらに限定されない様々な形のうちのいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、またはデバイスによりあるいはそれに関連して使用するためのプログラムを通信、伝搬、または輸送することができる任意のコンピュータ可読媒体にすることができる。
コンピュータ可読媒体上に実施されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、無線周波数(RF)など、あるいは上記のものの任意の適切な組み合わせを含むがこれらに限定されない任意の適切な媒体を使用して伝送することができる。
本発明の諸態様に関する動作を実行するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語ならびに「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組み合わせで作成することができる。プログラム・コードは、完全にユーザのコンピュータ上で、一部分はユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、一部分はユーザのコンピュータ上でしかも一部分はリモート・コンピュータ上で、あるいは完全にリモート・コンピュータまたはサーバ上で実行することができる。後者のシナリオでは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意のタイプのネットワークを介してリモート・コンピュータがユーザのコンピュータに接続される場合もあれば、(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに接続が行われる場合もある。
疑義を回避するため、説明および特許請求の範囲全体を通して本明細書で使用される「含む(comprising)」という用語は、「のみからなる(consisting onlyof)」を意味するものと解釈してはならない。

Claims (16)

  1. 信頼できるホスト環境が仮想計算機(VM)の要件に準拠しているという妥当性確認を提供するためのシステムであって、前記システムが、
    前記信頼できるホスト環境に関連する構成データを少なくとも1つの暗号データ構造に暗号で保管するための保管コンポーネントと、
    前記保管コンポーネントが前記構成データを保管したことに応答して、前記少なくとも1つの暗号データ構造を制御コンポーネントに送信するための送信コンポーネントと、
    前記制御コンポーネントが前記少なくとも1つの暗号データ構造を受信したことに応答して、前記少なくとも1つの暗号データ構造を分析するための分析コンポーネントと、
    前記分析コンポーネントが前記構成データを決定したことに応答して、前記構成データを前記要件と比較するための比較コンポーネントと、
    前記構成データが前記要件と一致すると前記比較コンポーネントが判断したことに応答して、前記信頼できるホスト環境内の前記VMの検証を可能にするための検証コンポーネントと
    を含む、システム。
  2. 前記構成データが前記要件と一致しないと前記比較コンポーネントが判断したことに応答して、前記信頼できるホスト環境内の前記VMの検証を否定するために前記検証コンポーネントがさらに動作可能である、請求項1記載のシステム。
  3. 前記保管コンポーネントがハイパーバイザである、請求項1ないし2のいずれか一方に記載のシステム。
  4. 前記保管コンポーネントが前記VMと通信状態にある、請求項1ないし3のいずれかに記載のシステム。
  5. 前記少なくとも1つの暗号データ構造が少なくとも1つのプラットフォーム構成レジスタ(PCR)である、請求項1ないし4のいずれかに記載のシステム。
  6. 前記少なくとも1つの暗号データ構造が前記VMの他の信頼できるホスト環境に関連付けられる、請求項1ないし5のいずれかに記載のシステム。
  7. 前記信頼できるホスト環境がトラステッド・プラットフォーム・モジュールを含む、請求項1ないし6のいずれかに記載のシステム。
  8. 前記システムが、前記信頼できるホスト環境を含む第1のサーバと前記制御コンポーネントを含む第2のサーバとをさらに含む、請求項1ないし7のいずれかに記載のシステム。
  9. 信頼できるホスト環境が仮想計算機(VM)の要件に準拠しているという妥当性確認を提供するための方法であって、前記方法が、
    前記信頼できるホスト環境に関連する構成データを少なくとも1つの暗号データ構造に暗号で保管するステップと、
    前記構成データを保管する前記ステップに応答して、前記少なくとも1つの暗号データ構造を制御コンポーネントに送信するステップと、
    前記少なくとも1つの暗号データ構造を受信する前記ステップに応答して、前記少なくとも1つの暗号データ構造を分析するステップと、
    前記構成データを決定する前記ステップに応答して、前記構成データを前記要件と比較するステップと、
    前記構成データが前記要件と一致すると判断する前記ステップに応答して、前記信頼できるホスト環境内の前記VMの検証を可能にするステップと
    を含む、方法。
  10. 前記方法が、前記構成データが前記要件と一致しないと判断する前記ステップに応答して、前記信頼できるホスト環境内の前記VMの検証を否定することをさらに含む、請求項9記載の方法。
  11. 前記信頼できるホスト環境に関連する構成データを少なくとも1つの暗号データ構造に暗号で保管する前記ステップが、前記信頼できるホスト環境に関連する構成データを少なくとも1つのプラットフォーム構成レジスタ(PCR)に暗号で保管するステップを含む、請求項9ないし10のいずれかに記載の方法。
  12. 前記方法が、前記少なくとも1つの暗号データ構造を前記VMの他の信頼できるホスト環境に関連付けるステップをさらに含む、請求項9ないし11のいずれかに記載の方法。
  13. 前記信頼できるホスト環境がトラステッド・プラットフォーム・モジュールを含む、請求項9ないし12のいずれかに記載の方法。
  14. 前記信頼できるホスト環境を含む第1のサーバを提供するステップと、前記制御コンポーネントを含む第2のサーバを提供するステップとをさらに含む、請求項9ないし13のいずれかに記載の方法。
  15. 信頼できるホスト環境が仮想計算機(VM)の要件に準拠しているという妥当性確認を提供するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品が、
    処理回路によって読み取り可能であり、請求項9ないし14のいずれかに記載の方法を実行するために前記処理回路による実行のための命令を保管するコンピュータ可読記憶媒体
    を含む、コンピュータ・プログラム製品。
  16. コンピュータ可読媒体上に保管され、デジタル・コンピュータの内部メモリにロード可能であり、コンピュータ上で実行されるときに、請求項9ないし14のいずれかに記載の方法を実行するためのソフトウェア・コード部分を含む、コンピュータ・プログラム。
JP2013545273A 2010-12-21 2011-12-19 信頼できるホスト環境が仮想計算機(vm)の要件に準拠しているという妥当性確認を提供するためのシステム、方法、コンピュータ・プログラム製品、およびコンピュータ・プログラム Active JP5957004B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10196282 2010-12-21
EP10196282.7 2010-12-21
PCT/EP2011/073259 WO2012084837A1 (en) 2010-12-21 2011-12-19 Virtual machine validation

Publications (2)

Publication Number Publication Date
JP2014505924A true JP2014505924A (ja) 2014-03-06
JP5957004B2 JP5957004B2 (ja) 2016-07-27

Family

ID=45406749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013545273A Active JP5957004B2 (ja) 2010-12-21 2011-12-19 信頼できるホスト環境が仮想計算機(vm)の要件に準拠しているという妥当性確認を提供するためのシステム、方法、コンピュータ・プログラム製品、およびコンピュータ・プログラム

Country Status (7)

Country Link
US (1) US9081600B2 (ja)
JP (1) JP5957004B2 (ja)
CN (1) CN103270518B (ja)
DE (1) DE112011104496T5 (ja)
GB (1) GB2501205A (ja)
TW (1) TW201241662A (ja)
WO (1) WO2012084837A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016526734A (ja) * 2013-07-01 2016-09-05 アマゾン・テクノロジーズ、インコーポレイテッド 仮想マシンをホスティングする暗号的に保証されたリソース
KR20190017997A (ko) * 2016-06-16 2019-02-20 구글 엘엘씨 클라우드 컴퓨팅 노드들의 보안 구성
JP2022523770A (ja) * 2019-03-08 2022-04-26 インターナショナル・ビジネス・マシーンズ・コーポレーション セキュア・インタフェース・コントロールのためのセキュア実行ゲスト所有者コントロール

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9342696B2 (en) 2010-09-22 2016-05-17 International Business Machines Corporation Attesting use of an interactive component during a boot process
US8869264B2 (en) 2010-10-01 2014-10-21 International Business Machines Corporation Attesting a component of a system during a boot process
US9489232B2 (en) * 2010-11-18 2016-11-08 International Business Machines Corporation Techniques for attesting data processing systems
TW201241662A (en) * 2010-12-21 2012-10-16 Ibm Virtual machine validation
KR20130114672A (ko) * 2011-01-19 2013-10-17 인터내셔널 비지네스 머신즈 코포레이션 소프트웨어를 업데이트하는 장치 및 방법
US8954964B2 (en) * 2012-02-27 2015-02-10 Ca, Inc. System and method for isolated virtual image and appliance communication within a cloud environment
US9471355B2 (en) * 2012-07-31 2016-10-18 Hewlett-Packard Development Company, L.P. Secure operations for virtual machines
US20140075522A1 (en) * 2012-09-07 2014-03-13 Red Hat, Inc. Reliable verification of hypervisor integrity
US9037854B2 (en) * 2013-01-22 2015-05-19 Amazon Technologies, Inc. Privileged cryptographic services in a virtualized environment
US10579405B1 (en) * 2013-03-13 2020-03-03 Amazon Technologies, Inc. Parallel virtual machine managers
US9384006B2 (en) 2013-10-11 2016-07-05 Globalfoundries Inc. Apparatus and methods for automatically reflecting changes to a computing solution into an image for the computing solution
US9354894B2 (en) 2013-10-11 2016-05-31 International Business Machines Corporation Pluggable cloud enablement boot device and method that determines hardware resources via firmware
US10031761B2 (en) 2013-10-11 2018-07-24 International Business Machines Corporation Pluggable cloud enablement boot device and method
CN104717235B (zh) * 2013-12-11 2018-01-02 铁道部信息技术中心 一种虚拟机资源检测方法
US9519498B2 (en) 2013-12-24 2016-12-13 Microsoft Technology Licensing, Llc Virtual machine assurances
US9652631B2 (en) * 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
US9652276B2 (en) 2014-09-17 2017-05-16 International Business Machines Corporation Hypervisor and virtual machine protection
US9584317B2 (en) 2014-10-13 2017-02-28 Microsoft Technology Licensing, Llc Identifying security boundaries on computing devices
US10229272B2 (en) 2014-10-13 2019-03-12 Microsoft Technology Licensing, Llc Identifying security boundaries on computing devices
US9519787B2 (en) 2014-11-14 2016-12-13 Microsoft Technology Licensing, Llc Secure creation of encrypted virtual machines from encrypted templates
US9832207B2 (en) * 2014-12-23 2017-11-28 Mcafee, Inc. Input verification
US10068092B2 (en) * 2015-01-21 2018-09-04 Microsoft Technology Licensing, Llc Upgrading a secure boot policy on a virtual machine
DE102015214385A1 (de) * 2015-07-29 2017-02-02 Robert Bosch Gmbh Verfahren und Vorrichtung zum Absichern der Anwendungsprogrammierschnittstelle eines Hypervisors
CN107533478A (zh) * 2015-07-31 2018-01-02 慧与发展有限责任合伙企业 计算机系统的迁移
US9471367B1 (en) * 2015-12-08 2016-10-18 International Business Machines Corporation Virtual machine usage data collection using securely loaded virtual firmware
EP3283996B1 (en) 2016-01-21 2021-03-03 Hewlett-Packard Enterprise Development LP Software validation for untrusted computing systems

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009107349A1 (ja) * 2008-02-25 2009-09-03 パナソニック株式会社 情報処理装置

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237668A (en) * 1989-10-20 1993-08-17 International Business Machines Corporation Process using virtual addressing in a non-privileged instruction to control the copying of a page of data in or between multiple media
US7219315B1 (en) * 2003-09-22 2007-05-15 Tenison Technology Eda Limited Comparison of semiconductor circuitry simulations
US7165201B2 (en) * 2003-09-25 2007-01-16 Hitachi Global Storage Technologies Netherlands B.V. Method for performing testing of a simulated storage device within a testing simulation environment
US7340661B2 (en) * 2003-09-25 2008-03-04 Hitachi Global Storage Technologies Netherlands B.V. Computer program product for performing testing of a simulated storage device within a testing simulation environment
US20050154573A1 (en) * 2004-01-08 2005-07-14 Maly John W. Systems and methods for initializing a lockstep mode test case simulation of a multi-core processor design
US7664965B2 (en) * 2004-04-29 2010-02-16 International Business Machines Corporation Method and system for bootstrapping a trusted server having redundant trusted platform modules
GB2424092A (en) * 2005-03-11 2006-09-13 Transitive Ltd Switching between code translation and execution using a trampoline
US9785485B2 (en) * 2005-07-27 2017-10-10 Intel Corporation Virtualization event processing in a layered virtualization architecture
US7356725B2 (en) * 2005-09-09 2008-04-08 International Business Machines Corporation Method and apparatus for adjusting a time of day clock without adjusting the stepping rate of an oscillator
US8015408B2 (en) * 2006-09-14 2011-09-06 Interdigital Technology Corporation Trust evaluation for a mobile software agent on a trusted computing platform
US8612971B1 (en) * 2006-10-17 2013-12-17 Manageiq, Inc. Automatic optimization for virtual systems
US8151262B2 (en) * 2007-03-30 2012-04-03 Lenovo (Singapore) Pte. Ltd. System and method for reporting the trusted state of a virtual machine
CN100555298C (zh) * 2007-06-08 2009-10-28 北京飞天诚信科技有限公司 虚拟个人办公环境的方法和设备
US8127292B1 (en) * 2007-06-22 2012-02-28 Parallels Holdings, Ltd. Virtualization system with hypervisor embedded in bios or using extensible firmware interface
MY145949A (en) 2007-09-20 2012-05-31 Mimos Berhad Trusted computer platform method and system without trust credential
US8259948B2 (en) 2007-12-29 2012-09-04 Intel Corporation Virtual TPM key migration using hardware keys
US8032942B2 (en) * 2007-12-31 2011-10-04 Intel Corporation Configuration of virtual trusted platform module
US8165864B2 (en) * 2008-02-08 2012-04-24 International Business Machines Corporation Method, system and computer program product for verifying address generation, interlocks and bypasses
US20100083251A1 (en) * 2008-09-12 2010-04-01 Hyper9, Inc. Techniques For Identifying And Comparing Virtual Machines In A Virtual Machine System
US20100107160A1 (en) * 2008-10-29 2010-04-29 Novell, Inc. Protecting computing assets with virtualization
US8751654B2 (en) * 2008-11-30 2014-06-10 Red Hat Israel, Ltd. Determining the graphic load of a virtual desktop
US7904540B2 (en) * 2009-03-24 2011-03-08 International Business Machines Corporation System and method for deploying virtual machines in a computing environment
US8336050B2 (en) * 2009-08-31 2012-12-18 Red Hat, Inc. Shared memory inter-process communication of virtual machines using virtual synchrony
US8631404B2 (en) * 2010-02-18 2014-01-14 Red Hat Israel, Ltd. Mechanism for downloading hypervisor updates via a virtual hardware device using existing virtual machine-host channels
US8893092B1 (en) * 2010-03-12 2014-11-18 F5 Networks, Inc. Using hints to direct the exploration of interleavings in a multithreaded program
US8812871B2 (en) * 2010-05-27 2014-08-19 Cisco Technology, Inc. Method and apparatus for trusted execution in infrastructure as a service cloud environments
US8856504B2 (en) * 2010-06-07 2014-10-07 Cisco Technology, Inc. Secure virtual machine bootstrap in untrusted cloud infrastructures
US8468007B1 (en) * 2010-08-13 2013-06-18 Google Inc. Emulating a peripheral mass storage device with a portable device
US20120054486A1 (en) * 2010-08-31 2012-03-01 MindTree Limited Securing A Virtual Environment And Virtual Machines
US8869264B2 (en) * 2010-10-01 2014-10-21 International Business Machines Corporation Attesting a component of a system during a boot process
US8819225B2 (en) * 2010-11-15 2014-08-26 George Mason Research Foundation, Inc. Hardware-assisted integrity monitor
US20120131334A1 (en) * 2010-11-18 2012-05-24 International Business Machines Corporation Method for Attesting a Plurality of Data Processing Systems
US20120151209A1 (en) * 2010-12-09 2012-06-14 Bae Systems National Security Solutions Inc. Multilevel security server framework
US10203974B2 (en) * 2010-12-20 2019-02-12 Microsoft Technology Licensing, Llc Probe insertion via background virtual machine
TW201241662A (en) * 2010-12-21 2012-10-16 Ibm Virtual machine validation
US9612855B2 (en) * 2011-01-10 2017-04-04 International Business Machines Corporation Virtual machine migration based on the consent by the second virtual machine running of the target host
US9154433B2 (en) * 2011-10-25 2015-10-06 Nicira, Inc. Physical controller
US9015025B2 (en) * 2011-10-31 2015-04-21 International Business Machines Corporation Verifying processor-sparing functionality in a simulation environment
US20130117006A1 (en) * 2011-11-07 2013-05-09 Microsoft Corporation Simulated boot process to detect introduction of unauthorized information
US9229524B2 (en) * 2012-06-27 2016-01-05 Intel Corporation Performing local power gating in a processor
KR20140134451A (ko) * 2013-05-14 2014-11-24 한국전자통신연구원 테스트 환경 설정 장치, 및 테스트 환경 설정 장치를 이용하는 네트워크 시뮬레이션 장치의 작동 방법
US9407580B2 (en) * 2013-07-12 2016-08-02 Nicira, Inc. Maintaining data stored with a packet
US9785454B2 (en) * 2013-07-25 2017-10-10 Login VSI B.V. Virtual session benchmarking tool for measuring performance and/or scalability of centralized desktop environments

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009107349A1 (ja) * 2008-02-25 2009-09-03 パナソニック株式会社 情報処理装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016526734A (ja) * 2013-07-01 2016-09-05 アマゾン・テクノロジーズ、インコーポレイテッド 仮想マシンをホスティングする暗号的に保証されたリソース
US9880866B2 (en) 2013-07-01 2018-01-30 Amazon Technologies, Inc. Cryptographically attested resources for hosting virtual machines
KR102315895B1 (ko) 2016-06-16 2021-10-20 구글 엘엘씨 클라우드 컴퓨팅 노드들의 보안 구성
JP2019522282A (ja) * 2016-06-16 2019-08-08 グーグル エルエルシー クラウドコンピューティングノードのセキュアな設定
KR102191347B1 (ko) 2016-06-16 2020-12-15 구글 엘엘씨 클라우드 컴퓨팅 노드들의 보안 구성
KR20200140943A (ko) * 2016-06-16 2020-12-16 구글 엘엘씨 클라우드 컴퓨팅 노드들의 보안 구성
KR20190017997A (ko) * 2016-06-16 2019-02-20 구글 엘엘씨 클라우드 컴퓨팅 노드들의 보안 구성
KR20210129256A (ko) * 2016-06-16 2021-10-27 구글 엘엘씨 클라우드 컴퓨팅 노드들의 보안 구성
KR102387312B1 (ko) 2016-06-16 2022-04-14 구글 엘엘씨 클라우드 컴퓨팅 노드들의 보안 구성
KR20220051274A (ko) * 2016-06-16 2022-04-26 구글 엘엘씨 클라우드 컴퓨팅 노드들의 보안 구성
KR102500737B1 (ko) 2016-06-16 2023-02-16 구글 엘엘씨 클라우드 컴퓨팅 노드들의 보안 구성
JP2022523770A (ja) * 2019-03-08 2022-04-26 インターナショナル・ビジネス・マシーンズ・コーポレーション セキュア・インタフェース・コントロールのためのセキュア実行ゲスト所有者コントロール
JP7445358B2 (ja) 2019-03-08 2024-03-07 インターナショナル・ビジネス・マシーンズ・コーポレーション セキュア・インタフェース・コントロールのためのセキュア実行ゲスト所有者コントロール

Also Published As

Publication number Publication date
GB2501205A (en) 2013-10-16
US20140025961A1 (en) 2014-01-23
DE112011104496T5 (de) 2013-10-17
JP5957004B2 (ja) 2016-07-27
TW201241662A (en) 2012-10-16
US9081600B2 (en) 2015-07-14
CN103270518A (zh) 2013-08-28
CN103270518B (zh) 2016-01-20
GB201312923D0 (en) 2013-09-04
WO2012084837A1 (en) 2012-06-28

Similar Documents

Publication Publication Date Title
JP5957004B2 (ja) 信頼できるホスト環境が仮想計算機(vm)の要件に準拠しているという妥当性確認を提供するためのシステム、方法、コンピュータ・プログラム製品、およびコンピュータ・プログラム
US9202062B2 (en) Virtual machine validation
US9311483B2 (en) Local secure service partitions for operating system security
De Benedictis et al. Integrity verification of Docker containers for a lightweight cloud environment
Ibrahim et al. Trusted cloud computing architectures for infrastructure as a service: Survey and systematic literature review
US8516481B2 (en) Virtual machine manager system and methods
US9372984B2 (en) Authenticated launch of virtual machines and nested virtual machine managers
US9319380B2 (en) Below-OS security solution for distributed network endpoints
EP2973179B1 (en) Dynamically loaded measured environment for secure code launch
US20060026418A1 (en) Method, apparatus, and product for providing a multi-tiered trust architecture
CN107704308B (zh) 虚拟平台vTPM管理系统、信任链构建方法及装置、存储介质
JP2022522678A (ja) セキュア実行ゲスト所有者環境制御
WO2020183278A1 (en) Transparent interpretation of guest instructions in secure virtual machine environment
Cheng et al. Building dynamic and transparent integrity measurement and protection for virtualized platform in cloud computing
Aw Ideler Cryptography as a service in a cloud computing environment
Ramos Security challenges with virtualization
Lioy et al. Trust in SDN/NFV environments
Vasudevan Practical Security Properties on Commodity Computing Platforms: The Uber EXtensible Micro-Hypervisor Framework
US20220300330A1 (en) Runtime Container Protection
Song et al. TZ-IMA: Supporting Integrity Measurement for Applications with ARM TrustZone
JP2016146195A (ja) 仮想マシンおよびネストにされた仮想マシンマネージャの認証されたランチ
WO2018054466A1 (en) Virtualization of a trusted computing base
Lioy et al. and Antonio Pastor
dos Santos Ramos Security challenges with virtualization
Ozga et al. Scalable Attestation of Virtualized Execution Environments in Hybrid-and Multi-Cloud

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140711

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151215

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: 20160524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160617

R150 Certificate of patent or registration of utility model

Ref document number: 5957004

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150