+

JP6304837B2 - Authenticated launch of virtual machines and nested virtual machine managers - Google Patents

Authenticated launch of virtual machines and nested virtual machine managers Download PDF

Info

Publication number
JP6304837B2
JP6304837B2 JP2016052569A JP2016052569A JP6304837B2 JP 6304837 B2 JP6304837 B2 JP 6304837B2 JP 2016052569 A JP2016052569 A JP 2016052569A JP 2016052569 A JP2016052569 A JP 2016052569A JP 6304837 B2 JP6304837 B2 JP 6304837B2
Authority
JP
Japan
Prior art keywords
vmm
processor
lcpm
launch
lcp
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.)
Active
Application number
JP2016052569A
Other languages
Japanese (ja)
Other versions
JP2016146195A (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.)
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
Priority to JP2016052569A priority Critical patent/JP6304837B2/en
Publication of JP2016146195A publication Critical patent/JP2016146195A/en
Application granted granted Critical
Publication of JP6304837B2 publication Critical patent/JP6304837B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Description

「ランチコントロール」またはランチコントロールポリシー(LCP:launch control policy)は、総合的なエンドポイント保護ソルーションの一部である。従来のアンチウイルススキャンは、既知の「悪い」ソフトウェアを特定することを目的とする「ブラックリスト作成」技法を使用する。スキャンエンジンがプラットフォームリソースを検索する際には、攻撃シグネチャーがスキャンエンジンの指針となる。感染したリソースは修復のためにフラグを立てられる。「ホワイトリスト作成」は、既知の「善い」ソフトウェアのリストを作り出すことを含む。このリストはスキャンエンジンに供給され、スキャンエンジンはリストに載っていないリソースに修復のためのフラグを立てる。ブラックリスト作成およびホワイトリスト作成は、一緒に機能することでシステムのすべてのリソースを仕分けすることができる。ランチコントロールは、ホワイトリストスキャンエンジンをシステムランチ手順に統合して、マルウェアがシステムで実行される機会を獲得しないようにする。たとえば、ホワイトリストは、実行環境(たとえば動的にランチされる環境)をブートまたはランチするために用いられるコードおよびデータ(たとえばハッシュ)の参照測定を含んでよい。したがって、ランチコントロールは、「トラステッドブート」が行われることを確実にするために用いることができる。   A “launch control” or launch control policy (LCP) is part of a comprehensive endpoint protection solution. Conventional anti-virus scanning uses a “blacklisting” technique that aims to identify known “bad” software. When the scan engine searches for platform resources, the attack signature serves as a guide for the scan engine. Infected resources are flagged for repair. “Whitelisting” involves creating a list of known “good” software. This list is supplied to the scan engine, which flags resources that are not on the list for repair. Blacklisting and whitelisting work together to sort all the resources of the system. Launch Control integrates the whitelist scan engine into the system launch procedure to prevent malware from getting an opportunity to run on the system. For example, the whitelist may include reference measurements of code and data (eg, hashes) that are used to boot or launch an execution environment (eg, a dynamically launched environment). Thus, the launch control can be used to ensure that a “trusted boot” takes place.

トラステッドブート使用は、ブートフローのすべての段階に影響を及ぼしてよく、「ルートオブトラスト(roots−of−trust)」としても知られるトラステッドハードウェアにもとづいてよい。トラステッド実行テクノロジー(TXT:Trusted Execution Technology)は、仮想環境のためのトラステッドブート使用を実装するために用いることができるランチコントロールおよびルートオブトラストテクノロジーの一例である。ハードウェアルートオブトラストの助けにより、トラステッドブート使用がマルウェアが上のレイヤに対して正当なハードウェアを偽装する可能性を取り除くかまたは低くする。TXTは、ランチコントロールポリシーを使用してトラステッド環境だけがランチされることを確実にする動的な測定のためのルートオブトラスト(RTM:root of trust for measurement)を実装する。言い換えると、TXTは、プラットフォーム内のさまざまな実行環境について実行される一連の完全性チェックにおける出発点であってよい。従って、TXTは、マイクロコードにおけるセキュアな出発点を提供してよい。たとえば、さまざまなランチコントロール、たとえばTXTランチコントロールは、仮想マシンマネージャ(VMM:virtual machine manager)ランチャーが信頼に値することを確実にする。   Trusted boot usage may affect all stages of the boot flow and may be based on trusted hardware, also known as “roots-of-trust”. Trusted Execution Technology (TXT) is an example of a launch control and route of trust technology that can be used to implement trusted boot usage for virtual environments. With the help of the hardware root of trust, trusted boot use eliminates or reduces the likelihood that malware will disguise legitimate hardware for the upper layers. TXT implements a root of trust for measurement (RTM) for dynamic measurements to ensure that only the trusted environment is launched using a launch control policy. In other words, TXT may be the starting point in a series of integrity checks performed for various execution environments within the platform. Thus, TXT may provide a secure starting point in microcode. For example, various launch controls, such as the TXT launch control, ensure that a virtual machine manager (VMM) launcher is trustworthy.

VMMは、コンピュータが複数の実行環境をサポートすることを可能にするホストプログラムを含んでよい。たとえば、VMMは、単一の物理マシン(たとえばサーバ)を分割し、複数のオペレーティングシステムが同じCPU上でセキュアに実行され、CPU利用率を増加させることを可能にする手段をエミュレーションによって提供してよい。VMMは、VMを管理することができる。VMは、命令を物理マシンのように実行する、マシン(すなわちコンピュータ)のソフトウェア実装を含んでよい。   The VMM may include a host program that allows the computer to support multiple execution environments. For example, a VMM provides a means through emulation that divides a single physical machine (eg, a server) and allows multiple operating systems to run securely on the same CPU and increase CPU utilization. Good. The VMM can manage the VM. A VM may include a software implementation of a machine (ie, a computer) that executes instructions like a physical machine.

再びTXTランチコントロールに関して、そのようなランチコントロールは、後に続いてランチされるVMMインフラストラクチャ(たとえば仮想マシン(VM:virtual machine)、ネストにされたVMM、ネストにされたVM、およびオペレーティングシステム(OS:operating system)環境)も信頼に値することを確実にするわけではない。従って、ランチコントロールは、実際には単一のVMMをランチするために用いることができる。しかし、VMMが実行されると、TXTモデル固有レジスタ(MSR:model specific register)は、VMXルート(VMX−root)を用いるVMMがアクティブである間はTXTが呼び出されないように設定される。従って、ネストにされたVMMがランチされると、TXTは利用可能でなく(たとえばGETSEC(SENTER)コマンドは無効である)、ネストにされたVMMはセキュアにランチされない。このときVMおよびネストにされたVMMは、ランチコントロールポリシーを適用しないでロードされ、それによってセキュリティ侵害の機会の可能性が生まれる。
本発明の実施形態の特徴および利点は、添付の特許請求の範囲、以下の1つ以上の例示実施形態の詳細な記載、および対応する図面から自明となる。
With respect to TXT launch control again, such launch control may include a VMM infrastructure (eg, virtual machine (VM), nested VMM, nested VM) and operating system (OS) that is subsequently launched. : Operating system) environment) is not necessarily reliable. Thus, the launch control can actually be used to launch a single VMM. However, when the VMM is executed, the TXT model specific register (MSR) is set so that TXT is not invoked while the VMM using the VMX root (VMX-root) is active. Thus, when a nested VMM is launched, TXT is not available (eg, the GETSEC (SENTER) command is invalid) and the nested VMM is not securely launched. At this time, VMs and nested VMMs are loaded without applying the launch control policy, thereby creating a potential security breach opportunity.
Features and advantages of embodiments of the present invention will become apparent from the appended claims, the following detailed description of one or more exemplary embodiments, and the corresponding drawings.

本発明の実施形態の概略フローチャートを含む。1 includes a schematic flowchart of an embodiment of the present invention. 本発明の実施形態のさまざまな側面の組織を示すブロック図を含む。1 includes a block diagram illustrating the organization of various aspects of embodiments of the present invention. FIG. 本発明の実施形態で用いられるシステムを含む。Includes systems used in embodiments of the present invention.

以下の記載においては、多数の特定の詳細が示されるが、本発明の実施形態はこれらの特定の詳細を用いずに実施されてよい。本記載の理解が不明瞭にならないように、周知の回路、構造物および技法は詳しくは示されない。「実施形態」、「さまざまな実施形態」などは、そう記載される実施形態が特定の特徴、構造物または特性を含んでよいことを示すが、必ずしもすべての実施形態が特定の特徴、構造物または特性を含むわけではない。いくつかの実施形態が他の実施形態について記載された特徴の一部、すべてを有してよく、あるいはまったくもたなくてよい。「第1の」、「第2の」、「第3の」などは共通のオブジェクトを記載し、同様なオブジェクトの異なるインスタンスが参照されることを示す。そのような形容詞はそう記載されるオブジェクトが、時間的に、空間的に、順位的に、または他の任意の様式的に所定のシークエンスでなければならないことを意味しない。「接続された」は、要素が互いに物理的または電気的に直接接触していることを示してよく、「結合された」は、要素が互いに協力するかまたは相互作用するが、要素は物理的または電気的に直接接触していてもいなくてもよいことを示してよい。また、異なる図の中で同じまたは類似の部品を示すために類似の数字または同じ数字が用いられてよいが、そうすることは類似の数字または同じ数を含むすべての図が単一の実施形態または同じ実施形態を構成することを意味するわけではない。   In the following description, numerous specific details are set forth, but embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure an understanding of this description. “Embodiments”, “various embodiments” and the like indicate that the embodiments so described may include particular features, structures or characteristics, but not all embodiments may include particular features, structures. Or it does not include characteristics. Some embodiments may have some, all, or none of the features described for other embodiments. “First”, “second”, “third”, etc. describe common objects and indicate that different instances of similar objects are referenced. Such an adjective does not mean that the object so described must be in a predetermined sequence in time, space, order, or any other manner. “Connected” may indicate that the elements are in direct physical or electrical contact with each other, and “coupled” means that the elements cooperate or interact with each other, but the elements are physically Or it may indicate that it may or may not be in direct electrical contact. Also, similar numerals or the same numerals may be used to indicate the same or similar parts in different figures, but doing so does not restrict all figures containing similar numerals or the same number to a single embodiment. It does not mean that the same embodiment is constituted.

本発明の実施形態は、VMおよび/またはネストにされたVMMの認証されたランチを提供する。実施形態は、VMおよびネストにされたVMMのためのVMM保護されたランチコントロール機構を呼び出すインタフェースを用いてそのようにしてよい。インタフェースは、アーキテクチャとしてジェネリックであってよい。いくつかの実施形態は、VMおよびVMMを包含するように拡張されたTXTランチコントロールポリシーを用いてよい。   Embodiments of the present invention provide authenticated lunches of VMs and / or nested VMMs. Embodiments may do so using an interface that invokes a VMM protected launch control mechanism for VMs and nested VMMs. The interface may be generic as an architecture. Some embodiments may use a TXT launch control policy that has been extended to include VMs and VMMs.

図1は、本発明の実施形態の概略フローチャートを含む。図2は、本発明の実施形態のさまざまな側面の組織を示すブロック図を含む。図1および図2は、互いに関連させられて下記で考察されるが、各図の実施形態は必ずしも互いに一緒に機能するようには限定されない。   FIG. 1 includes a schematic flowchart of an embodiment of the present invention. FIG. 2 includes a block diagram illustrating the organization of various aspects of embodiments of the present invention. Although FIGS. 1 and 2 are discussed below in relation to each other, the embodiments of each figure are not necessarily limited to functioning together.

図2は組織図200を含む。簡潔には、組織図200は、イメージ201と、イメージ201に対応する代表ホワイトリストを有するランチコントロールポリシー211と、候補コードイメージ201をホワイトリスト211中の測定と対比して認証するコードを含む検証コードモジュール(たとえばランチコントロールモジュール(LCPM:launch control module))221と、の集まりを含む。組織図200は、下記でもっと十分に説明される。実施形態において、LCPMは、ルートVMM特権で実行される動的なモジュール式コードオブジェクトである。プラットフォーム構成レジスタ(PCR:platform configuration register)231がイメージ測定を記憶する。   FIG. 2 includes an organization chart 200. Briefly, the organization chart 200 includes a verification that includes an image 201, a launch control policy 211 having a representative whitelist corresponding to the image 201, and a code that authenticates the candidate code image 201 against the measurements in the whitelist 211. A collection of code modules (e.g., launch control module (LCPM) 221). The organization chart 200 is described more fully below. In an embodiment, LCPM is a dynamic modular code object that executes with root VMM privileges. A platform configuration register (PCR) 231 stores image measurements.

最初にルートVMM(VMM0)155がブートされる。このブートは、任意の数のセキュアなブート機構によって実装されたセキュアなブートであってよい。上記で取り上げられた1つのそのような機構はTXTランチコントロールを含む。TXTランチコントロールに関する情報は、http://software-intel-com/en-us/articles/intel-trusted-execution-technology-a-primer/, http://download-intel-com/technology/security/downloads/315168-pdfならびに他の一般に利用可能なロケーションにおいて最小限利用可能である。   First, the root VMM (VMM0) 155 is booted. This boot may be a secure boot implemented by any number of secure boot mechanisms. One such mechanism taken up above includes the TXT launch control. Information about TXT launch control can be found at http: // software-intel-com / en-us / articles / intel-trusted-execution-technology-a-primer /, http: // download-intel-com / technology / security / It is minimally available at downloads / 315168-pdf as well as other publicly available locations.

ルートVMM(VMM0)をセキュアにランチすることは、いくつかのアクションを含んでよい。TXT 226は、特定のイメージ、たとえばSINIT ACM 206が真正であることを確実にするランチコントロールポリシーとして動作してよい。SINIT ACMは、セキュアなブートプロセスにおいて用いられる認証されたコードモジュールに関係する。SINIT ACM 206の測定は、PCR 17(236)に記憶される。PCRは、セキュリティ関連情報の暗号ハッシュ(たとえばVMMのようなトラステッド実行環境によって実行されるコードおよびそれをランチするために用いられるローダコードのハッシュ)を含むトラステッドプラットフォームモジュール(TPM:trusted platform module)レジスタである。   Launching the root VMM (VMM0) securely may involve several actions. TXT 226 may operate as a launch control policy to ensure that a particular image, eg, SINIT ACM 206 is authentic. SINIT ACM relates to the authenticated code module used in the secure boot process. SINIT ACM 206 measurements are stored in PCR 17 (236). The PCR is a trusted platform module (TPM) register that contains a cryptographic hash of security-related information (for example, a code executed by a trusted execution environment such as a VMM and a loader code hash used to launch it). It is.

VMM0のセキュアなランチ時に、ブロック225においてSINIT ACMを用いてLCP0 215がルートVMM0 205イメージと比較されてよい。LCP0 215およびSINIT ACM 225は、LCPM1、LCPM2、LCPM3 205イメージを認証するためにも用いられてよい。これらのイメージの一部は、下記で考察される後の段階(たとえばネストにされたVMMブート)において用いられてよい。これらの測定は、VMM0についてはPCR18に、LCPM1、LCPM2、LCPM3についてはPCR19、20、21にそれぞれ記憶される。   During a secure launch of VMMO, LCP0 215 may be compared to the root VMMO 205 image using SINIT ACM at block 225. LCP0 215 and SINIT ACM 225 may also be used to authenticate LCPM1, LCPM2, and LCPM3 205 images. Some of these images may be used in later stages (eg, nested VMM boots) discussed below. These measurements are stored in PCR 18 for VMM0 and in PCRs 19, 20, and 21 for LCPM1, LCPM2, and LCPM3, respectively.

少々横道に逸れると、ストレージのために用いられる正確なPCRが構成可能であり、他の実施形態においては変化してよい。たとえば、PCRアロケーション指針は、仕様に概略が記載されてよい。そのような仕様は、トラステッドコンピューティンググループ(TCG)PCクライアント仕様およびTPM仕様を含む。これらの仕様は、PCR17、18、19、20、および21を動的ルートオブトラスト(たとえばTXT)による使用のために予約する。PCR17は、SENTERによってACMを測定するために用いられてよい。ACMは、VMMランチャーを測定するためにPCR18を用いてよい。VMMランチャーは、VMMを測定するためにPCR18を用いてよく、任意選択としてPCR19を用いてよい。VMMはTPMを仮想化してよく、したがってVM(およびそれに関連付けられるLCPM)を測定するために他のPCRを用いてよい。VMMは、PCR20および21も利用可能であってよい。さらに、複数のLCPM測定が同じPCRに含まれてよい。したがって、PCRの使用は構成可能であり、実施形態の変化とともに変化してよい。   With a slight diversion, the exact PCR used for storage can be configured and may vary in other embodiments. For example, the PCR allocation guidelines may be outlined in the specification. Such specifications include the Trusted Computing Group (TCG) PC client specification and the TPM specification. These specifications reserve PCRs 17, 18, 19, 20, and 21 for use by dynamic root of trust (eg, TXT). PCR 17 may be used to measure ACM by SENTER. ACM may use PCR 18 to measure the VMM launcher. The VMM launcher may use the PCR 18 to measure the VMM and optionally use the PCR 19. The VMM may virtualize the TPM and therefore use other PCRs to measure the VM (and its associated LCPM). The VMM may also be available for PCRs 20 and 21. Furthermore, multiple LCPM measurements may be included in the same PCR. Thus, the use of PCR is configurable and may change with changes in embodiments.

図1に戻り、ブートストラップされたローダ、たとえばVM0 105がブロック110によって仮想ブートされる。ブロック115は、仮想マシンVM1 104(図2の要素204にある)のような実体(Entity)をブートするプロセスを開始する。(「実体」は、ネストにされたVMMでもあってよいが、この例においては説明を目的としてVM1が用いられる。)VM1 104がランチされると、ブートストラップローダVM0 105は命令、たとえばVM1 104をランチするLCPM1 124(図2の224)に至るリーフを指定するVMFUNCインタフェース命令を呼び出す。VMFUNCインタフェースは、割り込みを防止するかまたはVMコントロールビットをセットしてよく、したがってLCPM1 224は、測定プロセスの割り込みをまったく受けずに実行することが許可される。このインタフェースは、システム上の他のプロセッサも静止させてよく、その結果、測定は他のプロセッサから干渉されずに行われることができる。さらに、VMFUNCは、たとえばTXTの使用にもとづいてマイクロコードが完全性チェックおよび完全性チェッキングコントロールを実行する安全な場所と既にみなされることを承認してよい。VMFUNCは下記でさらに考察される。   Returning to FIG. 1, a bootstrapped loader, such as VM 0 105, is virtual booted by block 110. Block 115 begins the process of booting an entity, such as virtual machine VM1 104 (in element 204 of FIG. 2). (The “entity” may be a nested VMM, but in this example VM1 is used for illustration purposes.) When VM1 104 is launched, the bootstrap loader VM0 105 is instructed, eg, VM1 104. Call a VMFUNC interface instruction that specifies the leaf leading to LCPM1 124 (224 in FIG. 2). The VMFUNC interface may prevent interrupts or set the VM control bit, so LCPM1 224 is allowed to run without any interruption of the measurement process. This interface may also quiesce other processors on the system so that measurements can be made without interference from other processors. Further, VMFUNC may approve that the microcode is already considered a safe place to perform integrity checks and integrity checking controls, eg, based on the use of TXT. VMFUNC is discussed further below.

したがって、実行管理は、ブロック130によってLCPM1 124(図2の要素224)に渡される。実施形態において、LCPM1はVM1上で実行されるVMとして動作する。LCPM1 124は、メモリ中のVM1 104の位置を特定し、LCP1 114(図2の要素214)にもとづいてLCPM1のために意図される完全性測定を実行し、計算された測定がLCP1のポリシーの1つによって受け入れられることを検証する。LCPはホワイトリストを含んでよく、ホワイトリストはおそらくはトラステッドサーバに確保された、予測されるソフトウェアイメージを記載する。詳しくは、実施形態において、LCPM1はLCP1をメモリ、たとえば拡張ページテーブル(EPT:extended page table)に配置された保護メモリに読み込む。EPTは、下記でVMFUNCインタフェースに関してもっと詳しく考察される。   Accordingly, execution management is passed by block 130 to LCPM1 124 (element 224 of FIG. 2). In the embodiment, LCPM1 operates as a VM executing on VM1. LCPM1 124 locates VM1 104 in memory, performs the integrity measurement intended for LCPM1 based on LCP1 114 (element 214 in FIG. 2), and the calculated measurement is the policy of LCP1. Verify that it is accepted by one. The LCP may include a whitelist, which describes the expected software image, possibly reserved on the trusted server. Specifically, in the embodiment, the LCPM 1 reads the LCP 1 into a memory, for example, a protection memory arranged in an extended page table (EPT). EPT is discussed in more detail below with respect to the VMFUNC interface.

ブロック140において、VM1の測定はPCR(たとえばPCR8)234に拡張される。PCR234はTPM145または他のそのようなハードウェア証明モジュールに含まれる。TPMは、セキュアなストレージおよびセキュアなレポーティングに関連付けられるさまざまなセキュリティ機能を実装するセキュリティコプロセッサである。TPMのような暗号プロセッサに関する詳細は、少なくともサンディープ・バジカ(Sundeep Bajikar)による「ノートブックPCのトラステッドプラットフォームモジュール(TPM)利用セキュリティ 白書("Trusted Platform Module (TPM) based Security on Notebook PCs − White Paper")」、http://www-intel-com/design/mobile/platform/downloads/Trusted_Platform_Module_White_Paper-pdfにある。ブロック160において、PCRログが更新される。実施形態は、VMFUNC、TPM等を用いる動作に限定されないが、そのような要素は例を示す目的のため用いられているだけである。次に、ルートVMM 155(図2の要素205に含まれる)による実行のためにVM1がスケジュールされる。ブロック165においてVMFUNC(エグジット)が実行される。   At block 140, the measurement of VM1 is extended to PCR (eg, PCR8) 234. PCR 234 is included in TPM 145 or other such hardware certification module. A TPM is a security coprocessor that implements various security functions associated with secure storage and secure reporting. For more information on cryptographic processors such as TPM, see “Trusted Platform on Notebook PCs-W ebook PCs -While PCs -Written Security Modules (TPMs) using the Trusted Platform Module (TPM) for Notebook PCs at least by Sundeep Bajikar. ")", Http: // www-intel-com / design / mobile / platform / downloads / Trusted_Platform_Module_White_Paper-pdf. At block 160, the PCR log is updated. Embodiments are not limited to operations using VMFUNC, TPM, etc., but such elements are only used for example purposes. Next, VM1 is scheduled for execution by root VMM 155 (included in element 205 of FIG. 2). In block 165, VMFUNC (exit) is executed.

上記のプロセス実施形態(図1および図2に関する)は、説明を目的として用いられたVM1の代わりに、ネストにされたVMMにも適用可能である。この趣旨に沿って、図2のブロック204にはVM(たとえばVM1)とネストにされたVMMとの両方が含まれる。言い換えると、図1は、VM1のセキュアなブートを記載しているが、ネストにされたVMMをセキュアにブートするために同じプロセスを用いることができるであろう。   The above process embodiment (with respect to FIGS. 1 and 2) is applicable to nested VMMs instead of VM1 used for illustration purposes. In line with this, block 204 of FIG. 2 includes both a VM (eg, VM1) and a nested VMM. In other words, FIG. 1 describes a secure boot of VM1, but the same process could be used to securely boot a nested VMM.

図2に示されるように、追加の仮想化レイヤがセキュアにされてよい。たとえば、ネストにされたVM203がLCPM2 223によって測定され、LCP2 213に含まれる測定と比較されてよい。測定は、PCR233によって記憶されてよい。さらに、LCPM3 221によって、ドライバ、ライブラリおよび実行可能コード202が測定され、LCP3 212に含まれる測定と比較されてよい。測定は、PCR232によって記憶されてよい。   As shown in FIG. 2, an additional virtualization layer may be secured. For example, nested VM 203 may be measured by LCPM2 223 and compared to measurements included in LCP2 213. Measurements may be stored by PCR 233. In addition, drivers, libraries and executable code 202 may be measured by LCPM3 221 and compared to measurements included in LCP3 212. Measurements may be stored by PCR 232.

ネストにされたVMに関するより具体的な例として、ブートストラップされたローダVM0 105がブロック110によって仮想的にブートされる。ネストにされたVM2 203をブートするプロセスをブロック115が開始する。VM2 203がランチされると、ブートストラップローダVM0 105は、命令、たとえば、VM2 203をランチするLCPM2 223に至るリーフを指定するVMFUNCインタフェース命令を呼び出す。ブロック130によって、実行管理はLCPM2 223に渡される。LCPM2 223はメモリ内のVM2 203の位置を特定し、LCPM2のために意図されたLCP2 213にもとづいて完全性測定を実行し、計算された測定がLCP2内のポリシーの1つによって受け入れられることを検証する。ブロック140において、VM2の測定は、TPMに含まれるPCR233に拡張される。ブロック160において、PCRログが更新される。次に、ブロック155において、VM2の実行がルートVMM155によってスケジュールされる。ブロック165において、VMFUNC(エグジット)が実行される。   As a more specific example for a nested VM, bootstrapped loader VM0 105 is virtually booted by block 110. Block 115 begins the process of booting the nested VM2 203. When VM2 203 is launched, the bootstrap loader VM0 105 calls an instruction, eg, a VMFUNC interface instruction that specifies a leaf leading to LCPM2 223 that launches VM2 203. Through block 130, execution management is passed to LCPM2 223. LCPM2 223 locates VM2 203 in memory, performs an integrity measurement based on LCP2 213 intended for LCPM2, and confirms that the calculated measurement is accepted by one of the policies in LCP2. Validate. In block 140, the measurement of VM2 is extended to PCR 233 included in the TPM. At block 160, the PCR log is updated. Next, at block 155, execution of VM2 is scheduled by the root VMM 155. In block 165, VMFUNC (exit) is executed.

すぐ上で(図1および図2に関して)記載されたプロセス実施形態は、別の実体内にさらにネストにされた、ネストにされたVMMにも適用可能である。   The process embodiments described immediately above (with respect to FIGS. 1 and 2) are also applicable to nested VMMs that are further nested within another entity.

したがって、ブロック110は、LCPM(225)をランチするルートVMM(105)に通じる。LCPMは、保護されたメモリにロードされるVMのためのイメージを用いてLCPを評価するためにある。同様に、ネストにされたVMMのためのLCPMも(これは図1には特に示されていないが)ロードされてよい。ルートVMM LCPは、LCPMの完全性を検証するために用いられる。さらに、VMまたはネストにされたVMMは、VMまたはネストにされたVMMが、セキュアにブートされたルートVMMであってもルートVMMからランチされるときより、セキュアにランチされる。その代わり、ルートVMMは直接依存されず(すなわちバイパスされ)、その代わり、VMまたはネストにされたVMMをブートするためにTXTハードウェア利用シークエンス(または他のハードウェア証明モジュール利用方法)が依存される。一実施形態において、通常はルートVMMとともに機能するように限定されるランチコントロール機構、ツールおよびインフラストラクチャがVMおよびVMMとともに働くように拡張される。たとえば、次に、ランチコントロールがTXTおよび同様なセキュリティ技法を超えて拡張される。実施形態は、たとえばTXTランチコントロールおよび/またはBIOSトラステッドブート機構によってキックオフされたホワイトリストチェッキングプロセスをネストにされたVMMおよびVM環境に続行する。トラステッドシステムブート、トラステッドルートVMMブート、およびネストにされたトラステッドVMMおよび/またはVMブートにもとづいて、実施形態は、さかのぼってルートオブトラストに達する途切れのないチェーンオブトラストを有するトラステッドブローカーサービスを提供してよい。このチェーンオブトラストは、たとえばPCRログの内容にもとづいて構築されてよい。   Thus, block 110 leads to a root VMM (105) that launches LCPM (225). LCPM is for evaluating LCP with images for VMs loaded into protected memory. Similarly, an LCPM for a nested VMM (which is not specifically shown in FIG. 1) may also be loaded. The root VMM LCP is used to verify the integrity of the LCPM. Further, the VM or nested VMM is launched more securely than when the VM or nested VMM is launched from the root VMM, even if it is a securely booted root VMM. Instead, the root VMM is not directly dependent (ie, bypassed), but instead depends on the TXT hardware usage sequence (or other hardware certification module usage method) to boot the VM or nested VMM. The In one embodiment, launch control mechanisms, tools and infrastructure that are normally limited to work with the root VMM are extended to work with VMs and VMMs. For example, launch control is then extended beyond TXT and similar security techniques. Embodiments continue the whitelist checking process kicked off by, for example, TXT launch control and / or BIOS trusted boot mechanism to nested VMM and VM environments. Based on the trusted system boot, the trusted root VMM boot, and the nested trusted VMM and / or VM boot, the embodiments provide a trusted broker service with an unbroken chain of trust that goes back to the root of trust. It's okay. This chain of trust may be constructed based on the contents of the PCR log, for example.

VMFUNC命令に関して、通常、VMおよびネストにされたVMMは、ランチコントロールポリシーを適用されずにロードされる。さらに、VMMベンダーは、ランチコントロールのための普通のアーキテクチャインタフェースに依存しない。しかし、本発明のさまざまな実施形態では、ルートVMMは、上記のように、ランチコントロールポリシーモジュールを呼び出すVMFUNCコール(またはその機能均等物)を用いることができる。LCPMは、LCPポリシーに含まれるホワイトリストをどのようにパースし、検証するかを理解している。LCPポリシーは、ロードされるイメージの種類(たとえばVMまたはネストにされたVMM)に固有であってよい。LCPMは、ルートVMMを適切に保護して実行される。VMFUNCコールは、VMおよびネストにされたVMMがベンダーに依存しない確実な方法によって呼び出されることを確実にし、これによって、LCPオーサーはVMMおよびVMのさまざまなベンダー実装を網羅するかまたはさまざまなベンダー実装にわたって確実に機能するLCPを構築することができる。したがって、VMMベンダーは、ルートVMMまたはネストにされたVMMのどちらかとして機能するVMMのために、顕著に異なる製品/装置の最小在庫管理単位(SKU:stock keeping unit)を維持しなくてよい。   With respect to the VMFUNC instruction, normally VMs and nested VMMs are loaded without applying the launch control policy. Furthermore, VMM vendors do not rely on the usual architectural interface for launch control. However, in various embodiments of the present invention, the root VMM may use a VMFUNC call (or its functional equivalent) that invokes the launch control policy module, as described above. LCPM understands how to parse and validate whitelists included in LCP policies. The LCP policy may be specific to the type of image being loaded (eg, VM or nested VMM). LCPM is performed with the root VMM properly protected. VMFUNC calls ensure that VMs and nested VMMs are invoked in a vendor-independent manner, so that LCP authors can cover different vendor implementations of VMM and VMs, or different vendor implementations LCPs that function reliably over time can be constructed. Thus, the VMM vendor does not have to maintain a significantly different product / device stock keeping unit (SKU) for a VMM that functions as either a root VMM or a nested VMM.

さらに、VMFUNCに関して、VMFUNCは、EPTメモリ保護を用いるアーキテクチャインタフェースである。EPTは、メモリ管理ユニット(MMU:memory management unit)のための仮想化技術である。この特徴がアクティブであるとき、普通のIA−32ページテーブル(コントロールレジスタCR3によって参照される)は、線形アドレスからゲスト物理アドレスに翻訳される。別個の組のページテーブル(すなわちEPTテーブル)は、ゲスト物理アドレスからメモリにアクセスするために用いられるホスト物理アドレスに翻訳される。その結果、ゲストソフトウェアがそれ自体のIA−32ページテーブルを変更し、ページフォールトを直接取り扱うことが可能になり得る。これによって、EPTを用いない仮想化オーバーヘッドの主なソースであるページテーブル仮想化と関連付けられたVMエグジットをVMMが回避することが可能になる。VMFUNCは、たとえばEPTを用いてLCP1(114)およびLCPM1(124)を分離することによってEPTを利用する。その際に、LCPM1は、VMFUNCエントリポイントの外部に由来する書き込み動作から保護される。そのとき、測定は、TPM内に含まれるレジスタに記憶されることができる。さらに、EPTは、特定のハードウェアスレッド上だけでアクティブであってよく、したがって、他のハードウェアスレッド上で実行され得る他のソフトウェアがLCP1の測定を不正に変更するか又は妨げることを許さない。   Furthermore, with respect to VMFUNC, VMFUNC is an architectural interface that uses EPT memory protection. EPT is a virtualization technology for a memory management unit (MMU). When this feature is active, the normal IA-32 page table (referenced by control register CR3) is translated from a linear address to a guest physical address. A separate set of page tables (ie, EPT tables) are translated from guest physical addresses to host physical addresses that are used to access memory. As a result, it may be possible for guest software to modify its own IA-32 page table and handle page faults directly. This allows the VMM to avoid the VM exit associated with page table virtualization, which is the main source of virtualization overhead without using EPT. VMFUNC utilizes EPT by separating LCP1 (114) and LCPM1 (124) using, for example, EPT. In doing so, LCPM1 is protected from write operations originating from outside the VMFUNC entry point. The measurement can then be stored in a register included in the TPM. Furthermore, the EPT may be active only on a particular hardware thread, and therefore does not allow other software that can run on other hardware threads to tamper with or prevent LCP1 measurements. .

実施形態において、EPTは、LCPMのためのメモリ内の境界を指定するために用いられてよい。VMがロードされるときにLCPMコードを再チェックする(すべてのVMMコードをチェックすることなく)と有利なことがある。たとえばLCPMコードはポリシーエンフォースメントルールを固有に実装するからである。このチェックは、VMMコードを再ロードしない。その代わりに、チェックはインメモリチェックである(たとえばEPT内のメモリページが再ハッシュされ、インメモリイメージに対応するホワイトリストと比較される)。これらの再測定のためにPCR19、20、21が用いられ得る。それらのPCRは(PCR18に含まれてよい)VMMの全測定を含まないからである。   In embodiments, EPT may be used to specify boundaries in memory for LCPM. It may be advantageous to recheck the LCPM code when the VM is loaded (without checking all VMM code). This is because, for example, LCPM code uniquely implements policy enforcement rules. This check does not reload the VMM code. Instead, the check is an in-memory check (eg, a memory page in the EPT is rehashed and compared to a whitelist corresponding to the in-memory image). PCR 19, 20, 21 can be used for these remeasurements. Because those PCRs do not include all measurements of VMM (which may be included in PCR 18).

より詳しくは、実施形態において、特別なプロパティおよび/または用途を有するメモリページの群を定義するためにEPTが用いられる。この実施形態は、LCPM(たとえばコード)およびLCP(たとえばデータ)機能を実装するVMMコードおよびデータページのサブセットを構築するためにEPTを用いる。VMFUNCが制御をVMMに向けると、LCPMを含むEPTを検証するためにVMFUNCの新しいリーフが用いられることができ、LCPページは最初にランチされてから変化していない。実施形態は、これをアドレス範囲に類似した方法で実装してよい。LCPMページは、それらが移動されず、長くされず、および/または短くされていないことを確実とするためにチェック/検証されてよい。完全性ポリシーを強制するためにVMFUNCが用いられると、予測されるLCPMおよびLCP測定は、新しいリーフへのパラメータとしてVMFUNCに渡されることができる。次に、VMFUNCは、LCPMコードに実行を渡す前にEPT測定を比較することができる。VMFUNCは、比較が一致しなければフォールトを示してよい。   More particularly, in an embodiment, EPT is used to define groups of memory pages that have special properties and / or uses. This embodiment uses EPT to build a subset of VMM code and data pages that implement LCPM (eg, code) and LCP (eg, data) functions. When VMFUNC directs control to the VMM, the VMFUNC's new leaf can be used to validate the EPT containing the LCPM, and the LCP page has not changed since it was first launched. Embodiments may implement this in a manner similar to address ranges. LCPM pages may be checked / verified to ensure that they have not been moved, lengthened, and / or shortened. When VMFUNC is used to enforce the integrity policy, the predicted LCPM and LCP measurements can be passed to VMFUNC as parameters to the new leaf. The VMFUNC can then compare the EPT measurements before passing execution to the LCPM code. VMFUNC may indicate a fault if the comparison does not match.

実施形態において、ルートVMM機能は、VMFUNCの呼出しがRing0において行われ、LCPMの実行がRing1において行われるように、CPUリング構造にしたがって配分されてよい。VMM機能の残りは、Ring2およびRing3において実装されることができる。この実装によって、ハードウェア機構がLCPMおよびVMFUNC呼出しを保護/堅固化することが可能になる。LCPMをサポートするためのVMFUNCリーフは、この特定のリーフがring0においてゲストVMMによってだけ呼び出されることができるように強制してよい。実施形態において、ルートVMMはTXTを用いるであろう。たとえば、VMM/VMMランチャーをランチするためにTXTが用いられるであろう。ランチされたら、ゲストをランチするためにVMM内のLCPMが用いられるであろう。したがって、リングは、ランチ機能をVMMおよびVMMインフラストラクチャ内のセキュリティに関連しない他の機能からさらに分離し、孤立させるために用いられることができるであろう。   In an embodiment, the root VMM function may be distributed according to the CPU ring structure such that a VMFUNC call is made at Ring0 and an LCPM execution is made at Ring1. The rest of the VMM functionality can be implemented in Ring2 and Ring3. This implementation allows the hardware mechanism to protect / harden LCPM and VMFUNC calls. The VMFUNC leaf to support LCPM may force this particular leaf to be invoked only by the guest VMM at ring0. In an embodiment, the root VMM will use TXT. For example, TXT may be used to launch a VMM / VMM launcher. Once lunched, the LCPM in the VMM will be used to lunch the guest. Thus, the ring could be used to further isolate and isolate the launch function from the VMM and other non-security related functions within the VMM infrastructure.

実施形態は、検証されたブート環境および測定されたブート環境を含むいくつかの環境に適している。   Embodiments are suitable for several environments including verified boot environments and measured boot environments.

検証されたブートは、予測されるソフトウェアイメージを記載するホワイトリストをトラステッドサーバから受け取る。クライアントプラットフォームのトラステッドコンポーネントは、実行される前のソフトウェアイメージを検査し、ホワイトリストと比較する。一致すれば、コンポーネントは実行することを許可される。一致しなければ、修復アクションが実行される。この動作を行うコンポーネントは、ときに検証用ルートオブトラストと呼ばれる。これは、ハードウェア証明モジュール(たとえばTPM)を必要としないことがある。   The verified boot receives a white list from the trusted server describing the expected software image. The trusted component of the client platform examines the software image before execution and compares it with the whitelist. If there is a match, the component is allowed to execute. If they do not match, a repair action is performed. A component that performs this operation is sometimes referred to as a verification route of trust. This may not require a hardware certification module (eg, TPM).

しかし、測定されたブートは、実行される前のソフトウェアイメージを検査し、セキュアなストレージロケーションに保存する。測定されたブートは、ブートを制約するかまたは変化させるホワイトリストを有さなくてよい。その代わりに、ホワイトリストは、クライアントがアクセスすることを望むリソースをホストするサーバに保持される。サーバがアクセスを許可する前提条件として、ソフトウェアの完全性レポートがサーバに送達される。サーバへのレポートの提示は、ときに証明(Attestation)と呼ばれる。サーバは、クライアントが顕著なリスクをもたらすかを判断するために証明レポートをホワイトリストと比較する。クライアントがリスクをもたらすなら、ネットワーク接続は閉じられる。これは、ハードウェア証明モジュール(たとえばTPM)を利用してよい。   However, the measured boot examines the software image before execution and saves it in a secure storage location. The measured boot may not have a whitelist that constrains or changes the boot. Instead, the whitelist is maintained on a server that hosts the resources that the client wishes to access. As a prerequisite for the server to grant access, a software integrity report is delivered to the server. Presentation of a report to the server is sometimes called attestation. The server compares the certification report with the whitelist to determine if the client poses a significant risk. If the client poses a risk, the network connection is closed. This may utilize a hardware certification module (eg, TPM).

さらに詳しくは、さまざまな実施形態において、検証されたブートは完全性ポリシーを直接強制する(すなわち、完全性ポリシーを満たさないコードの実行を妨げてよい)。しかし、測定されたブートは完全性ポリシーを満たさないコードの実行を可能にしてよい。たとえば、完全性ポリシーは実際にはリモートサーバにあってよく、クライアントに知られていないことがあるからである。したがって、クライアントは測定をセキュアに記憶(たとえばTPM PCRに)してよく、測定は、後で「引用され」、「証明」の一部としてサーバに送達される。サーバは、証明において見いだされる測定をホワイトリストのそのローカルコピー上の測定と比較することができる。ネットワーク接続を切断することによって、または更新サービスがクライアント(たとえばPC)を再構成しようとする修復ネットワークにクライアントを配置することによって、エンフォースメントはサーバにより適用されることができる。   More particularly, in various embodiments, a verified boot directly enforces an integrity policy (ie, may prevent execution of code that does not meet the integrity policy). However, measured boot may allow execution of code that does not meet the integrity policy. For example, the integrity policy may actually reside on the remote server and may not be known to the client. Thus, the client may securely store the measurement (eg, in a TPM PCR) and the measurement is later “quoted” and delivered to the server as part of the “proof”. The server can compare the measurements found in the proof with the measurements on its local copy of the whitelist. Enforcement can be applied by the server by disconnecting the network connection or by placing the client in a remediation network where the update service attempts to reconfigure the client (eg, PC).

したがって、実施形態は、第1のVMMをランチし、第2のVMMのランチを認証し、第1のVMMの内部で第2のVMMをネストにする。ネストにされたVMMの認証されたブートの代わりに、またはネストにされたVMMの認証されたブートに加えて、実施形態は、第1のVMのランチを認証し、第1のVMM(たとえばルートVMM)またはネストにされたVMMを用いて第1のVMを管理してよい。直前のシナリオのうちのどちらかにおいて、ルートVMM、または別のVMMをホストするVMM、あるいはVM、そのルートVMMまたはホストVMMは、リエントラントでないセキュアなブートによって(たとえばTXTランチによって)ブートされてよい。   Accordingly, embodiments launch the first VMM, authenticate the launch of the second VMM, and nest the second VMM within the first VMM. In place of or in addition to the authenticated boot of the nested VMM, in addition to the authenticated boot of the nested VMM, the embodiment authenticates the launch of the first VM and the first VMM (eg, root VMM) or nested VMMs may be used to manage the first VM. In either of the previous scenarios, the root VMM, or the VMM that hosts another VMM, or the VM, its root VMM or host VMM may be booted by a non-reentrant secure boot (eg, by a TXT launch).

実施形態は、(a)第2のLCPMを呼び出すことと、(b)ハードウェアセキュリティ証明モジュール(例えばTPMであるがこれに限定されない)を用いることとの両方を行いながらルートVMMを迂回することによって第2のVMMのランチを認証してよい。   Embodiments bypass the root VMM while both (a) invoking the second LCPM and (b) using a hardware security certification module (e.g., but not limited to a TPM). To authenticate the second VMM lunch.

ルートVMMを「迂回する」ための例に関して、ルートVMMは、ネストにされたVMMをあたかもVMであるかのように処理してよい。したがって、VMとVMMとの両方のランチコントロールは、ルートVMMから見れば同様であろう。ネストにされたVMMに焦点を合わせる。ネストにされたVMMが実行されると、それはロードするVMを特定する。ネストにされたVMMを測定するためのLCPMコードは、ネストにされたVMMページ範囲に含まれる。したがって、VMFUNCは、ネストにされたVMMを記載するEPTがルートVMMを記載するEPTと異なることを確実にしてよい。従って、ルートVMMが受諾(opt−in)すれば、ルートVMMは、この動作についてはある程度迂回されることができる。これは、たとえばEPT使用ならびにVMFUNCおよびネストにされたVMMをブートするためのブートストラップされたVM0(図1参照)の使用にもとづいてよい。   With respect to the example for “bypassing” the root VMM, the root VMM may process the nested VMM as if it were a VM. Thus, both VM and VMM launch controls will be similar from the root VMM. Focus on the nested VMM. When a nested VMM is executed, it identifies the VM to load. The LCPM code for measuring the nested VMM is included in the nested VMM page range. Thus, VMFUNC may ensure that the EPT that describes the nested VMM is different from the EPT that describes the root VMM. Thus, if the root VMM accepts (opt-in), the root VMM can be circumvented to some extent for this operation. This may be based, for example, on the use of EPT and the use of bootstrapped VM0 (see FIG. 1) to boot VMFUNC and nested VMM.

実施形態は、ネストにされた第2のVMMと関連付けられる第2のLCPを第2のLCPMによって評価してよい。実施形態は、第2のLCPMによって第2のVMMの完全性測定を行い、第2のLCPによって測定を認証してよい。実施形態は、測定をTPMまたは他のハードウェア証明モジュールに含まれるPCRに拡張し、測定をPCRに拡張することにもとづいてログを更新してよい。   Embodiments may evaluate a second LCP associated with a nested second VMM with a second LCPM. Embodiments may perform an integrity measurement of the second VMM with the second LCPM and authenticate the measurement with the second LCP. Embodiments may extend the measurement to a PCR included in the TPM or other hardware certification module and update the log based on extending the measurement to the PCR.

実施形態は、第2のLCPMを保護されたメモリ(たとえばEPT)にロードし、第2のLCPMを実行してよく、第2のLCPMはルートVMM特権を有する。実施形態は、システムが第2のLCPに含まれるホワイトリストを第2のLCPMによって認証することを可能にしてよく、第2のLCPはVMMに固有であるがVMに固有ではない。実施形態は、第1のVMMと関連付けられる第1のLCPにもとづいて第1のVMMをブートしながら第2のLCPも認証してよい。さらに、実施形態は、第2のVMMのために特に構成されたわけではなく(例えばアーキテクチャ的に中立またはベンダー中立)、VMMとネストにされたVMMとの両方とインタフェース接続するように構成されたセキュアなインタフェースによって、第2のVMMのランチを認証してよい。   Embodiments may load the second LCPM into protected memory (eg, EPT) and execute the second LCPM, which has the root VMM privilege. Embodiments may allow the system to authenticate the white list contained in the second LCP with the second LCPM, which is specific to the VMM but not specific to the VM. Embodiments may also authenticate the second LCP while booting the first VMM based on the first LCP associated with the first VMM. Further, embodiments are not specifically configured for the second VMM (eg, architecturally or vendor-neutral), but are securely configured to interface with both the VMM and the nested VMM. The second VMM launch may be authenticated by a simple interface.

実施形態は、多数の異なるシステム型において実装されてよい。次に図3を参照すると、本発明の実施形態によるシステムのブロック図が示される。マルチプロセッサシステム500は、ポイントツーポイント相互接続システムであり、ポイントツーポイント相互接続550によって結合された第1のプロセッサ570および第2のプロセッサ580を含む。プロセッサ570および580のそれぞれは、マルチコアプロセッサであってよい。用語「プロセッサ」は、レジスタおよび/またはメモリからの電子的なデータを処理してその電子的なデータをレジスタおよび/またはメモリに記憶されてよい他の電子的なデータに変換する任意のデバイスまたはデバイスの一部を指してよい。第1のプロセッサ570は、メモリコントローラハブ(MCH:memory controller hub)およびポイントツーポイント(P−P:point−to−point)インタフェースを含んでよい。同様に、第2のプロセッサ580は、MCHおよびP−Pインタフェースを含んでよい。MCHは、プロセッサをそれぞれのメモリ、すなわちメモリ532およびメモリ534と結合させてよい。メモリ532およびメモリ534は、それぞれのプロセッサに局所的に取り付けられたメインメモリ(たとえばダイナミックランダムアクセスメモリ(DRAM:dynamic random access memory))の一部であってよい。第1のプロセッサ570および第2のプロセッサ580は、P−P相互接続によってチップセット590にそれぞれ結合されてよい。チップセット590は、たとえばRSAアクセラレータ、乱数発生器、キー、証明書、PCR、スタティックRAM、フラッシュメモリ、モノトニックカウンタ、デジタルシグネチャーアルゴリズム等を含むTPMまたは暗号プロセッサを含んでよい。そのようなチップセットの一例に関する詳細は、少なくともhttp://www-intel-com/design/mobile/platform/downloads/Trusted_Platform_Module_White_Paper-pdfにおいて入手可能である。実施形態は、いずれか一種類のセキュリティエンジンまたは暗号プロセッサとともに機能することに限定されるわけではなく、その代わりに、さまざまなベンダーからのさまざまなアーキテクチャを有するさまざまな離散型および/または統合型セキュリティエンジンとともに機能してよい。チップセット590は、P−Pインタフェースを含んでよい。さらに、チップセット590は、インタフェースによって第1のバス516に結合されてよい。第1のバス516を第2のバス520に結合させるバスブリッジ518とともに、さまざまな入力/出力(I/O:input/output)デバイス514が第1のバス516に結合されてよい。たとえば一実施形態において、キーボード/マウス522、通信デバイス526、および、コード530を含んでよいディスクドライブまたは他のマスストレージデバイスのようなデータストレージユニット528、を含むさまざまなデバイスが第2のバス520に結合されてよい。さらに、オーディオI/O524が第2のバス520に結合されてよい。   Embodiments may be implemented in a number of different system types. Referring now to FIG. 3, a block diagram of a system according to an embodiment of the present invention is shown. Multiprocessor system 500 is a point-to-point interconnect system and includes a first processor 570 and a second processor 580 coupled by a point-to-point interconnect 550. Each of processors 570 and 580 may be a multi-core processor. The term “processor” refers to any device or device that processes electronic data from a register and / or memory and converts the electronic data into other electronic data that may be stored in the register and / or memory. May refer to part of the device. The first processor 570 may include a memory controller hub (MCH) and a point-to-point (PP) interface. Similarly, the second processor 580 may include MCH and PP interfaces. The MCH may couple the processor with respective memories, namely memory 532 and memory 534. Memory 532 and memory 534 may be part of main memory (eg, dynamic random access memory (DRAM)) that is locally attached to each processor. The first processor 570 and the second processor 580 may each be coupled to the chipset 590 by PP interconnection. Chipset 590 may include a TPM or cryptographic processor including, for example, an RSA accelerator, random number generator, key, certificate, PCR, static RAM, flash memory, monotonic counter, digital signature algorithm, and the like. Details regarding an example of such a chipset are available at least at http: // www-intel-com / design / mobile / platform / downloads / Trusted_Platform_Module_White_Paper-pdf. Embodiments are not limited to functioning with any one type of security engine or cryptographic processor, but instead various discrete and / or integrated security with various architectures from various vendors. May work with the engine. Chipset 590 may include a PP interface. Further, chipset 590 may be coupled to first bus 516 by an interface. Various input / output (I / O) devices 514 may be coupled to the first bus 516 along with a bus bridge 518 that couples the first bus 516 to the second bus 520. For example, in one embodiment, various devices including a keyboard / mouse 522, a communication device 526, and a data storage unit 528, such as a disk drive or other mass storage device that may include code 530, may be connected to the second bus 520. May be combined. Further, an audio I / O 524 may be coupled to the second bus 520.

実施形態は、コードに実装されてよく、命令を記憶してある非一時的ストレージ媒体に記憶されてよい。命令は、命令を実行するようにシステムをプログラムするために用いられることができる。ストレージ媒体は、フロッピー(登録商標)ディスク、光ディスク、ソリッドステートドライブ(SSD:solid state drive)、読み取り専用コンパクトディスク(CD−ROM:compact disk read−only memory)、繰り返し書き込み可能コンパクトディスク(CD−RW:compact disk rewritable)、および光磁気ディスクを含む任意の種類のディスク、半導体デバイス、たとえば読み取り専用メモリ(ROM:read−only memory)、ランダムアクセスメモリ(RAM:random access memory)、たとえばダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM:static random access memory)、消去可能なプログラマブル読み取り専用メモリ(EPROM:erasable programmable read−only memory)、フラッシュメモリ、電気的に消去可能なプログラマブル読み取り専用メモリ(EEPROM:electrically erasable programmable read−only memory)、磁気カードまたは光カード、あるいは電子的な命令を記憶するのに適している任意の他の種類の媒体を含んでよいが、これに限定されるものではない。本発明の実施形態は、データ、たとえば命令、ファンクション、手続き(procedure)、データ構造、アプリケーションプログラム、構成セッティング、コード等への参照とともに本明細書に記載されてよい。データがマシンによってアクセスされると、マシンは、本明細書により詳しく記載されるように、タスクを実行し、抽象データ型を定義し、低レベルハードウェアコンテキストを規定し、および/または他の動作を実行することによって応答してよい。データは、揮発性および/または不揮発性データストレージに記憶されてよい。用語「コード」または「プログラム」は、アプリケーション、ドライバ、プロセス、ルーチン、メソッド、モジュール、およびサブプログラムを含む広い範囲のコンポーネントおよびコンストラクトを包含し、処理システムによって実行されると所望の1または複数の動作を実行する命令のいずれかの集まりを指してよい。さらに、代替実施形態は、開示された動作のすべてより数の少ない動作を用いるプロセス、追加の動作を用いるプロセス、同じ動作群を異なる順番で用いるプロセス、および本明細書に開示される個々の動作が組み合わされるか、再分割されるか、または他の変化を施されるプロセスを含んでよい。コンポーネントまたはモジュールは、望みに応じて組み合わされるかまたは分離され、デバイスの1つ以上の部分に配置されてよい。   Embodiments may be implemented in code and stored in a non-transitory storage medium that stores instructions. The instructions can be used to program the system to execute the instructions. The storage medium includes a floppy (registered trademark) disk, an optical disk, a solid state drive (SSD), a read-only compact disk (CD-ROM), a compact writable compact disk (CD-RW). : Compact disk rewriteable), and any type of disk, including magneto-optical disks, semiconductor devices such as read-only memory (ROM), random access memory (RAM), such as dynamic random access memory (DRAM), static random access memory (SRAM: static r) and erasable programmable read-only memory (EPROM), flash memory, electrically erasable programmable read-only memory (EEPROM), and electrically erasable programmable read-only memory (EEPROM) Or may include, but is not limited to, an optical card, or any other type of medium suitable for storing electronic instructions. Embodiments of the present invention may be described herein with reference to data, such as instructions, functions, procedures, data structures, application programs, configuration settings, code, and the like. When data is accessed by a machine, the machine performs tasks, defines abstract data types, defines low-level hardware contexts, and / or other operations as described in more detail herein. You may respond by performing: Data may be stored in volatile and / or non-volatile data storage. The term “code” or “program” encompasses a wide range of components and constructs, including applications, drivers, processes, routines, methods, modules, and subprograms, and, when executed by a processing system, the desired one or more It may refer to any collection of instructions that perform an action. Further, alternative embodiments include processes that use fewer than all of the disclosed actions, processes that use additional actions, processes that use the same group of actions in a different order, and individual actions disclosed herein. May be combined, subdivided, or subjected to other changes. Components or modules may be combined or separated as desired and placed in one or more portions of the device.

本発明を、限られた数の実施形態に関して記載してきたが、実施形態からの多数の変更形および変化形が当業者には自明である。添付の特許請求の範囲はそのようなすべての変更形および変化形を本発明の真の技術思想および適用範囲に属するとして包含するものとする。
本実施形態の例を下記の各項目として示す。
[項目1]
実行されるとシステムが、
第1の仮想マシンマネージャ(VMM)をランチすること、
第2のVMMのランチを認証すること、および、
前記第1のVMMの内部で前記第2のVMMをネストにすること、
ができるようにする命令を含むプログラム。
[項目2]
前記システムが、
第1の仮想マシン(VM)のランチを認証すること、および
前記第1のVMMおよび前記第2のVMMの1つを用いて前記第1のVMを管理すること、 ができるようにする命令を含む、項目1に記載のプログラム。
[項目3]
前記第1のVMMは、リエントラントでないセキュアなブートによってランチされるルートVMMである、項目1又は2に記載のプログラム。
[項目4]
前記第2のVMMの前記ランチを認証することは、(a)第2のランチコントロールポリシーモジュール(LCPM)を呼び出すことと、(b)ハードウェアセキュリティ証明モジュールを用いることとの両方を行いながら、前記第1のVMMを迂回することを含む、項目1から3のいずれか1項に記載のプログラム。
[項目5]
前記ハードウェアセキュリティ証明モジュールは、トラステッドプラットフォームモジュール(TPM)を含む、項目4に記載のプログラム。
[項目6]
前記システムが、前記第2のVMMと関連付けられる第2のランチコントロールポリシー(LCP)を第2のランチコントロールポリシーモジュール(LCPM)によって評価することができるようにする命令を含む、項目1から5のいずれか1項に記載のプログラム。
[項目7]
前記システムが、前記第2のLCPMによって前記第2のVMMの完全性測定を実行し、前記第2のLCPによって前記測定を認証することができるようにする命令を含む、項目6に記載のプログラム。
[項目8]
前記システムが、
前記測定をトラステッドプラットフォームモジュール(TPM)に含まれるプラットフォーム構成レジスタ(PCR)に拡張すること、および
前記測定を前記PCRに拡張することにもとづいてログを更新すること
ができるようにする命令を含む、項目7に記載のプログラム。
[項目9]
前記システムが、前記第2のLCPMを保護されたメモリにロードすること、および前記第2のLCPMを実行することができるようにする命令を含み、前記第2のLCPMはルートVMM特権を有する、項目6に記載のプログラム。
[項目10]
前記システムが、前記第2のLCPに含まれるホワイトリストを前記第2のLCPMによって認証することができるようにする命令を含み、前記第2のLCPはVMMに固有であるがVMに固有でない、項目6に記載のプログラム。
[項目11]
前記システムが、前記第1のVMMと関連付けられる第1のLCPにもとづいて前記第1のVMMをブートしながら、前記第2のLCPを認証することができるようにする命令を含む、項目6に記載のプログラム。
[項目12]
前記システムが、特に前記第2のVMMのために構成されてはおらずかつVMMとネストにされたVMMとの両方とインタフェース接続するように構成されたセキュアなインタフェースによって、前記第2のVMMの前記ランチを認証することができるようにする命令を含む、項目1から11のいずれか1項に記載のプログラム。
[項目13]
第1の仮想マシンマネージャ(VMM)をランチすること、
第2のVMMのランチを認証すること、および、
前記第1のVMMの内部で前記第2のVMMをネストにすること
を含む方法。
[項目14]
第1の仮想マシン(VM)のランチを認証すること、および
前記第1のVMMおよび前記第2のVMMの1つを用いて前記第1のVMを管理すること、
を含む、項目13に記載の方法。
[項目15]
前記第2のVMMの前記ランチを認証することは、(a)第2のランチコントロールポリシーモジュール(LCPM)を呼び出すことと、(b)ハードウェアセキュリティ証明モジュールを用いることとの両方を行いながら、前記第1のVMMを迂回することを含む、項目13又は14に記載の方法。
[項目16]
前記第2のVMMと関連付けられる第2のランチコントロールポリシー(LCP)を第2のランチコントロールポリシーモジュール(LCPM)によって評価することを含む、項目13から15のいずれか1項に記載の方法。
[項目17]
前記第2のLCPMによって前記第2のVMMの完全性測定を実行すること、および前記第2のLCPによって前記測定を認証することを含む、項目16に記載の方法。
[項目18]
メモリ、及び、
前記メモリに結合され、(a)第1の仮想マシンマネージャ(VMM)をランチし、(b)第2のVMMのランチを認証し、(c)前記第1のVMMの内部で前記第2のVMMをネストにするプロセッサ、
を含むシステム。
[項目19]
前記プロセッサは、
第1の仮想マシン(VM)のランチを認証し、
前記第1のVMMおよび前記第2のVMMの1つを用いて前記第1のVMを管理する、
項目18に記載のシステム。
[項目20]
前記プロセッサは、前記第2のVMMと関連付けられる前記第2のランチコントロールポリシー(LCP)を第2のランチコントロールポリシーモジュール(LCPM)によって評価する、項目18又は19に記載のシステム。
[項目21]
前記プロセッサは、前記第2のLCPMによって前記第2のVMMの完全性測定を実行し、前記第2のLCPによって前記測定を認証する、項目20に記載のシステム。
Although the present invention has been described with respect to a limited number of embodiments, many variations and modifications from the embodiments will be apparent to those skilled in the art. The appended claims are intended to cover all such modifications and changes as fall within the true spirit and scope of the invention.
Examples of this embodiment are shown as the following items.
[Item 1]
When executed, the system
Launching the first virtual machine manager (VMM);
Authenticating the lunch of the second VMM; and
Nesting the second VMM within the first VMM;
A program that contains instructions that allow you to
[Item 2]
The system is
Authenticating a launch of a first virtual machine (VM) and managing the first VM using one of the first VMM and the second VMM; The program according to item 1, including.
[Item 3]
The program according to item 1 or 2, wherein the first VMM is a root VMM that is launched by a non-reentrant secure boot.
[Item 4]
Authenticating the launch of the second VMM includes both (a) invoking a second launch control policy module (LCPM) and (b) using a hardware security certification module, The program according to any one of items 1 to 3, including bypassing the first VMM.
[Item 5]
The program according to item 4, wherein the hardware security certification module includes a trusted platform module (TPM).
[Item 6]
Items 1-5 including instructions that allow the system to evaluate a second launch control policy (LCP) associated with the second VMM by a second launch control policy module (LCPM). The program according to any one of the above items.
[Item 7]
7. The program of item 6, comprising instructions that allow the system to perform an integrity measurement of the second VMM by the second LCPM and authenticate the measurement by the second LCP. .
[Item 8]
The system is
Including instructions to extend the measurement to a platform configuration register (PCR) included in a trusted platform module (TPM) and to update a log based on extending the measurement to the PCR; Item 8. The program according to item 7.
[Item 9]
The system includes instructions to load the second LCPM into protected memory and to execute the second LCPM, the second LCPM having root VMM privileges; Item 6. The program according to item 6.
[Item 10]
The system includes instructions that allow a whitelist contained in the second LCP to be authenticated by the second LCPM, the second LCP being specific to the VMM but not specific to the VM; Item 6. The program according to item 6.
[Item 11]
Item 6. includes instructions that allow the system to authenticate the second LCP while booting the first VMM based on a first LCP associated with the first VMM. The listed program.
[Item 12]
The system of the second VMM is configured with a secure interface that is not specifically configured for the second VMM and configured to interface with both a VMM and a nested VMM. 12. A program according to any one of items 1 to 11, comprising instructions for enabling a lunch to be authenticated.
[Item 13]
Launching the first virtual machine manager (VMM);
Authenticating the lunch of the second VMM; and
Nesting the second VMM within the first VMM.
[Item 14]
Authenticating a first virtual machine (VM) launch and managing the first VM using one of the first VMM and the second VMM;
14. The method according to item 13, comprising:
[Item 15]
Authenticating the launch of the second VMM includes both (a) invoking a second launch control policy module (LCPM) and (b) using a hardware security certification module, 15. A method according to item 13 or 14, comprising bypassing the first VMM.
[Item 16]
16. The method of any of items 13-15, comprising evaluating a second launch control policy (LCP) associated with the second VMM by a second launch control policy module (LCPM).
[Item 17]
17. The method of item 16, comprising performing an integrity measurement of the second VMM with the second LCPM and authenticating the measurement with the second LCP.
[Item 18]
Memory and
Coupled to the memory; (a) launching a first virtual machine manager (VMM); (b) authenticating a launch of a second VMM; and (c) inside the first VMM the second Processor to nest VMM,
Including system.
[Item 19]
The processor is
Authenticate the first virtual machine (VM) lunch,
Managing the first VM using one of the first VMM and the second VMM;
Item 19. The system according to Item 18.
[Item 20]
20. The system of item 18 or 19, wherein the processor evaluates the second launch control policy (LCP) associated with the second VMM by a second launch control policy module (LCPM).
[Item 21]
21. The system of item 20, wherein the processor performs an integrity measurement of the second VMM with the second LCPM and authenticates the measurement with the second LCP.

Claims (16)

システムにおいて実行されるプログラムであって、
前記システムのプロセッサが、第1の仮想マシンマネージャ(VMM)をランチすること、
前記プロセッサが、第2のVMMのランチを認証すること、および
前記プロセッサが、前記第1のVMMの内部で前記第2のVMMをネストにすること、
を実行させ
前記第2のVMMの前記ランチを認証することは、前記プロセッサが、(a)第2のランチコントロールポリシーモジュール(LCPM)を呼び出すことと、(b)ハードウェアセキュリティ証明モジュールを用いることとの両方を行いながら、前記第1のVMMを迂回することを含む
プログラム。
A program executed in the system,
The processor of the system launches a first virtual machine manager (VMM);
The processor authenticates a launch of a second VMM, and the processor nests the second VMM within the first VMM;
Was executed,
Authenticating the launch of the second VMM is both when the processor calls (a) a second launch control policy module (LCPM) and (b) uses a hardware security certification module. A program including bypassing the first VMM while performing
前記第1のVMMは、リエントラントでないセキュアなブートによってランチされるルートVMMである、請求項1に記載のプログラム。   The program of claim 1, wherein the first VMM is a root VMM that is launched by a non-reentrant secure boot. 前記ハードウェアセキュリティ証明モジュールは、トラステッドプラットフォームモジュール(TPM)を含む、請求項1または2に記載のプログラム。 The program according to claim 1 or 2 , wherein the hardware security certification module includes a trusted platform module (TPM). 前記プロセッサが、前記第2のVMMと関連付けられる第2のランチコントロールポリシー(LCP)を第2のランチコントロールポリシーモジュール(LCPM)によって評価することを実行させるための、請求項1からのいずれか1項に記載のプログラム。 Any of claims 1 to 3 for causing the processor to perform evaluation by a second launch control policy module (LCPM) of a second launch control policy (LCP) associated with the second VMM. The program according to item 1. 前記プロセッサが、前記第2のLCPMによって前記第2のVMMの完全性測定を実行し、前記第2のLCPによって前記測定を認証することを実行させるための、請求項に記載のプログラム。 5. The program product of claim 4 , for causing the processor to perform an integrity measurement of the second VMM by the second LCPM and to authenticate the measurement by the second LCP. 前記プロセッサが、
前記測定をトラステッドプラットフォームモジュール(TPM)に含まれるプラットフォーム構成レジスタ(PCR)に拡張すること、および
前記測定を前記PCRに拡張することにもとづいてログを更新すること
を実行させるための、請求項に記載のプログラム。
The processor is
For executing the updating the log based to extend the measurement platform configuration register (PCR) contained in the Trusted Platform Module (TPM), and the measurement to be extended to the PCR, claim 5 The program described in.
前記プロセッサが、ルートVMM特権を有する前記第2のLCPMを、保護されたメモリにロードすること、および前記第2のLCPMを実行することを実行させるための、請求項4に記載のプログラム。   The program according to claim 4, for causing the processor to load the second LCPM having a root VMM privilege into a protected memory and to execute the second LCPM. 前記プロセッサが、VMMに固有であるがVMに固有でない前記第2のLCPに含まれるホワイトリストを前記第2のLCPMによって認証することを実行させるための、請求項に記載のプログラム。 The program according to claim 4 , for causing the processor to execute authentication by the second LCPM of a whitelist included in the second LCP that is unique to the VMM but not unique to the VM. 前記プロセッサが、前記第1のVMMと関連付けられる第1のLCPにもとづいて前記第1のVMMをブートしながら、前記第2のLCPを認証することを実行させるための、請求項に記載のプログラム。 The processor of claim 4 , for causing the processor to perform authentication of the second LCP while booting the first VMM based on a first LCP associated with the first VMM. program. 前記プロセッサが、特に前記第2のVMMのために構成されてはおらずかつVMMとネストにされたVMMとの両方とインタフェース接続するように構成されたセキュアなインタフェースによって、前記第2のVMMの前記ランチを認証することを実行させるための、請求項1からのいずれか1項に記載のプログラム。 The processor is configured for the second VMM with a secure interface that is not specifically configured for the second VMM and configured to interface with both the VMM and a nested VMM. The program according to any one of claims 1 to 9 , wherein execution of authenticating a lunch is executed. プロセッサが、第1の仮想マシンマネージャ(VMM)をランチすること、
前記プロセッサが、第2のVMMのランチを認証すること、および
前記プロセッサが、前記第1のVMMの内部で前記第2のVMMをネストにすること、
を含み、
前記第2のVMMの前記ランチを認証することは、前記プロセッサが、(a)第2のランチコントロールポリシーモジュール(LCPM)を呼び出すことと、(b)ハードウェアセキュリティ証明モジュールを用いることとの両方を行いながら、前記第1のVMMを迂回することを含む、
方法。
The processor launches a first virtual machine manager (VMM);
The processor authenticates a launch of a second VMM, and the processor nests the second VMM within the first VMM;
Only including,
Authenticating the launch of the second VMM is both when the processor calls (a) a second launch control policy module (LCPM) and (b) uses a hardware security certification module. Detouring the first VMM while performing
Method.
前記プロセッサが、前記第2のVMMと関連付けられる第2のランチコントロールポリシー(LCP)を第2のランチコントロールポリシーモジュール(LCPM)によって評価することを含む、請求項11に記載の方法。 The method of claim 11 , wherein the processor comprises evaluating a second launch control policy (LCP) associated with the second VMM by a second launch control policy module (LCPM). 前記プロセッサが、前記第2のLCPMによって前記第2のVMMの完全性測定を実行すること、および前記第2のLCPによって前記測定を認証することを含む、請求項12に記載の方法。 The method of claim 12 , wherein the processor includes performing an integrity measurement of the second VMM with the second LCPM and authenticating the measurement with the second LCP. メモリ、及び、
前記メモリに結合され、(a)第1の仮想マシンマネージャ(VMM)をランチし、(b)第2のVMMのランチを認証し、(c)前記第1のVMMの内部で前記第2のVMMをネストにするプロセッサ、
を含み、
前記第2のVMMの前記ランチを認証することは、前記プロセッサが、第2のランチコントロールポリシーモジュール(LCPM)を呼び出すことと、ハードウェアセキュリティ証明モジュールを用いることとの両方を行いながら、前記第1のVMMを迂回することを含む、
システム。
Memory and
Coupled to the memory; (a) launching a first virtual machine manager (VMM); (b) authenticating a launch of a second VMM; and (c) inside the first VMM the second processor to nest VMM,
Only including,
Authenticating the launch of the second VMM means that the processor performs both calling the second launch control policy module (LCPM) and using a hardware security certification module. Including bypassing one VMM,
system.
前記プロセッサは、前記第2のVMMと関連付けられる第2のランチコントロールポリシー(LCP)を第2のランチコントロールポリシーモジュール(LCPM)によって評価する、請求項14に記載のシステム。 The system of claim 14 , wherein the processor evaluates a second launch control policy (LCP) associated with the second VMM by a second launch control policy module (LCPM). 前記プロセッサは、前記第2のLCPMによって前記第2のVMMの完全性測定を実行し、前記第2のLCPによって前記測定を認証する、請求項15に記載のシステム。 The system of claim 15 , wherein the processor performs an integrity measurement of the second VMM with the second LCPM and authenticates the measurement with the second LCP.
JP2016052569A 2016-03-16 2016-03-16 Authenticated launch of virtual machines and nested virtual machine managers Active JP6304837B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016052569A JP6304837B2 (en) 2016-03-16 2016-03-16 Authenticated launch of virtual machines and nested virtual machine managers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016052569A JP6304837B2 (en) 2016-03-16 2016-03-16 Authenticated launch of virtual machines and nested virtual machine managers

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014533261A Division JP5905586B2 (en) 2011-09-30 2011-09-30 Authenticated launch of virtual machines and nested virtual machine managers

Publications (2)

Publication Number Publication Date
JP2016146195A JP2016146195A (en) 2016-08-12
JP6304837B2 true JP6304837B2 (en) 2018-04-04

Family

ID=56686436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016052569A Active JP6304837B2 (en) 2016-03-16 2016-03-16 Authenticated launch of virtual machines and nested virtual machine managers

Country Status (1)

Country Link
JP (1) JP6304837B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021030903A1 (en) * 2019-08-16 2021-02-25 Zao John Kar Kin System and method for performing trusted computing with remote attestation and information isolation on heterogeneous processors over open interconnect

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9785485B2 (en) * 2005-07-27 2017-10-10 Intel Corporation Virtualization event processing in a layered virtualization architecture
US20090204964A1 (en) * 2007-10-12 2009-08-13 Foley Peter F Distributed trusted virtualization platform
US8479196B2 (en) * 2009-09-22 2013-07-02 International Business Machines Corporation Nested virtualization performance in a computer system
US8510569B2 (en) * 2009-12-16 2013-08-13 Intel Corporation Providing integrity verification and attestation in a hidden execution environment
US20110153909A1 (en) * 2009-12-22 2011-06-23 Yao Zu Dong Efficient Nested Virtualization

Also Published As

Publication number Publication date
JP2016146195A (en) 2016-08-12

Similar Documents

Publication Publication Date Title
JP5905586B2 (en) Authenticated launch of virtual machines and nested virtual machine managers
US8321931B2 (en) Method and apparatus for sequential hypervisor invocation
JP5957004B2 (en) System, method, computer program product, and computer program for providing validation that a trusted host environment is compliant with virtual machine (VM) requirements
EP2973179B1 (en) Dynamically loaded measured environment for secure code launch
US8516481B2 (en) Virtual machine manager system and methods
JP6218859B2 (en) Memory introspection engine for virtual machine integrity protection
US9202046B2 (en) Systems and methods for executing arbitrary applications in secure environments
US9202062B2 (en) Virtual machine validation
JP5307196B2 (en) Providing a system integrated with silicon code
US20070016766A1 (en) Low cost trusted platform
CN103177212B (en) A kind of computer security input system based on light weight monitor of virtual machine and method
US11977631B2 (en) Hypervisor level signature checks for encrypted trusted execution environments
Ding et al. HyperVerify: A VM-assisted architecture for monitoring hypervisor non-control data
Kinebuchi et al. Monitoring integrity using limited local memory
Sahita et al. Security analysis of confidential-compute instruction set architecture for virtualized workloads
US11500787B2 (en) Enforcing code integrity using a trusted computing base
JP6304837B2 (en) Authenticated launch of virtual machines and nested virtual machine managers
Yehuda et al. Arm security alternatives
Gebhardt Towards trustworthy virtualisation: Improving the trusted virtual infrastructure
Vasudevan Integrity-Protected Micro-Hypervisor on x86 and ARM Hardware Virtualized Platforms
Parno et al. How Do We Make Sense of Platform State?
Wang et al. Trusted computing technology analyzing in NGSCB
Kinebuchi et al. Ensuring System Integrity using Limited Local Memory

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170613

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180302

R150 Certificate of patent or registration of utility model

Ref document number: 6304837

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载