(57)【特許請求の範囲】
【請求項１】
システムにおいて実行されるプログラムであって、
前記システムのプロセッサが、第１の仮想マシンマネージャ（ＶＭＭ）をランチすること、
前記プロセッサが、第２のＶＭＭのランチを認証すること、
前記プロセッサが、前記第１のＶＭＭの内部で前記第２のＶＭＭをネストにすること、
前記プロセッサが、第１の仮想マシン（ＶＭ）のランチを認証すること、および
前記プロセッサが、前記第１のＶＭＭおよび前記第２のＶＭＭの１つを用いて前記第１のＶＭを管理すること、
を実行させるためのプログラム。
【請求項２】
前記第１のＶＭＭは、リエントラントでないセキュアなブートによってランチされるルートＶＭＭである、請求項１に記載のプログラム。
【請求項３】
前記第２のＶＭＭの前記ランチを認証することは、前記プロセッサが、（ａ）第２のランチコントロールポリシーモジュール（ＬＣＰＭ）を呼び出すことと、（ｂ）ハードウェアセキュリティ証明モジュールを用いることとの両方を行いながら、前記第１のＶＭＭを迂回することを含む、請求項１または２に記載のプログラム。
【請求項４】
前記ハードウェアセキュリティ証明モジュールは、トラステッドプラットフォームモジュール（ＴＰＭ）を含む、請求項３に記載のプログラム。
【請求項５】
前記プロセッサが、前記第２のＶＭＭと関連付けられる第２のランチコントロールポリシー（ＬＣＰ）を第２のランチコントロールポリシーモジュール（ＬＣＰＭ）によって評価することを実行させるための、請求項１から４のいずれか１項に記載のプログラム。
【請求項６】
前記プロセッサが、前記第２のＬＣＰＭによって前記第２のＶＭＭの完全性測定を実行し、前記第２のＬＣＰによって前記測定を認証することを実行させるための、請求項５に記載のプログラム。
【請求項７】
前記プロセッサが、
前記測定をトラステッドプラットフォームモジュール（ＴＰＭ）に含まれるプラットフォーム構成レジスタ（ＰＣＲ）に拡張すること、および
前記測定を前記ＰＣＲに拡張することにもとづいてログを更新すること
を実行させるための、請求項６に記載のプログラム。
【請求項８】
前記プロセッサが、ルートＶＭＭ特権を有する前記第２のＬＣＰＭを、保護されたメモリにロードすること、および前記第２のＬＣＰＭを実行することを実行させるための、請求項５に記載のプログラム。
【請求項９】
前記プロセッサが、ＶＭＭに固有であるがＶＭに固有でない前記第２のＬＣＰに含まれるホワイトリストを前記第２のＬＣＰＭによって認証することを実行させるための、請求項５に記載のプログラム。
【請求項１０】
前記プロセッサが、前記第１のＶＭＭと関連付けられる第１のＬＣＰにもとづいて前記第１のＶＭＭをブートしながら、前記第２のＬＣＰを認証することを実行させるための、請求項５に記載のプログラム。
【請求項１１】
前記プロセッサが、特に前記第２のＶＭＭのために構成されてはおらずかつＶＭＭとネストにされたＶＭＭとの両方とインタフェース接続するように構成されたセキュアなインタフェースによって、前記第２のＶＭＭの前記ランチを認証することを実行させるための、請求項１から１０のいずれか１項に記載のプログラム。
【請求項１２】
プロセッサが、第１の仮想マシンマネージャ（ＶＭＭ）をランチすること、
前記プロセッサが、第２のＶＭＭのランチを認証すること、
前記プロセッサが、前記第１のＶＭＭの内部で前記第２のＶＭＭをネストにすること、
前記プロセッサが、第１の仮想マシン（ＶＭ）のランチを認証すること、および
前記プロセッサが、前記第１のＶＭＭおよび前記第２のＶＭＭの１つを用いて前記第１のＶＭを管理すること、
を含む方法。
【請求項１３】
前記第２のＶＭＭの前記ランチを認証することは、前記プロセッサが、（ａ）第２のランチコントロールポリシーモジュール（ＬＣＰＭ）を呼び出すことと、（ｂ）ハードウェアセキュリティ証明モジュールを用いることとの両方を行いながら、前記第１のＶＭＭを迂回することを含む、請求項１２に記載の方法。
【請求項１４】
前記プロセッサが、前記第２のＶＭＭと関連付けられる第２のランチコントロールポリシー（ＬＣＰ）を第２のランチコントロールポリシーモジュール（ＬＣＰＭ）によって評価することを含む、請求項１２または１３に記載の方法。
【請求項１５】
前記プロセッサが、前記第２のＬＣＰＭによって前記第２のＶＭＭの完全性測定を実行すること、および前記第２のＬＣＰによって前記測定を認証することを含む、請求項１４に記載の方法。
【請求項１６】
メモリ、及び、
前記メモリに結合され、（ａ）第１の仮想マシンマネージャ（ＶＭＭ）をランチし、（ｂ）第２のＶＭＭのランチを認証し、（ｃ）前記第１のＶＭＭの内部で前記第２のＶＭＭをネストにし、第１の仮想マシン（ＶＭ）のランチを認証し、前記第１のＶＭＭおよび前記第２のＶＭＭの１つを用いて前記第１のＶＭを管理するプロセッサ、
を含むシステム。
【請求項１７】
前記プロセッサは、前記第２のＶＭＭと関連付けられる第２のランチコントロールポリシー（ＬＣＰ）を第２のランチコントロールポリシーモジュール（ＬＣＰＭ）によって評価する、請求項１６に記載のシステム。
【請求項１８】
前記プロセッサは、前記第２のＬＣＰＭによって前記第２のＶＭＭの完全性測定を実行し、前記第２のＬＣＰによって前記測定を認証する、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
「ランチコントロール」またはランチコントロールポリシー（ＬＣＰ：ｌａｕｎｃｈ  ｃｏｎｔｒｏｌ  ｐｏｌｉｃｙ）は、総合的なエンドポイント保護ソルーションの一部である。従来のアンチウイルススキャンは、既知の「悪い」ソフトウェアを特定することを目的とする「ブラックリスト作成」技法を使用する。スキャンエンジンがプラットフォームリソースを検索する際には、攻撃シグネチャーがスキャンエンジンの指針となる。感染したリソースは修復のためにフラグを立てられる。「ホワイトリスト作成」は、既知の「善い」ソフトウェアのリストを作り出すことを含む。このリストはスキャンエンジンに供給され、スキャンエンジンはリストに載っていないリソースに修復のためのフラグを立てる。ブラックリスト作成およびホワイトリスト作成は、一緒に機能することでシステムのすべてのリソースを仕分けすることができる。ランチコントロールは、ホワイトリストスキャンエンジンをシステムランチ手順に統合して、マルウェアがシステムで実行される機会を獲得しないようにする。たとえば、ホワイトリストは、実行環境（たとえば動的にランチされる環境）をブートまたはランチするために用いられるコードおよびデータ（たとえばハッシュ）の参照測定を含んでよい。したがって、ランチコントロールは、「トラステッドブート」が行われることを確実にするために用いることができる。
【背景技術】
【０００２】
トラステッドブート使用は、ブートフローのすべての段階に影響を及ぼしてよく、「ルートオブトラスト（ｒｏｏｔｓ−ｏｆ−ｔｒｕｓｔ）」としても知られるトラステッドハードウェアにもとづいてよい。トラステッド実行テクノロジー（ＴＸＴ：Ｔｒｕｓｔｅｄ  Ｅｘｅｃｕｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）は、仮想環境のためのトラステッドブート使用を実装するために用いることができるランチコントロールおよびルートオブトラストテクノロジーの一例である。ハードウェアルートオブトラストの助けにより、トラステッドブート使用がマルウェアが上のレイヤに対して正当なハードウェアを偽装する可能性を取り除くかまたは低くする。ＴＸＴは、ランチコントロールポリシーを使用してトラステッド環境だけがランチされることを確実にする動的な測定のためのルートオブトラスト（ＲＴＭ：ｒｏｏｔ  ｏｆ  ｔｒｕｓｔ  ｆｏｒ  ｍｅａｓｕｒｅｍｅｎｔ）を実装する。言い換えると、ＴＸＴは、プラットフォーム内のさまざまな実行環境について実行される一連の完全性チェックにおける出発点であってよい。従って、ＴＸＴは、マイクロコードにおけるセキュアな出発点を提供してよい。たとえば、さまざまなランチコントロール、たとえばＴＸＴランチコントロールは、仮想マシンマネージャ（ＶＭＭ：ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ  ｍａｎａｇｅｒ）ランチャーが信頼に値することを確実にする。
【０００３】
ＶＭＭは、コンピュータが複数の実行環境をサポートすることを可能にするホストプログラムを含んでよい。たとえば、ＶＭＭは、単一の物理マシン（たとえばサーバ）を分割し、複数のオペレーティングシステムが同じＣＰＵ上でセキュアに実行され、ＣＰＵ利用率を増加させることを可能にする手段をエミュレーションによって提供してよい。ＶＭＭは、ＶＭを管理することができる。ＶＭは、命令を物理マシンのように実行する、マシン（すなわちコンピュータ）のソフトウェア実装を含んでよい。
【０００４】
再びＴＸＴランチコントロールに関して、そのようなランチコントロールは、後に続いてランチされるＶＭＭインフラストラクチャ（たとえば仮想マシン（ＶＭ：ｖｉｒｔｕａｌ  ｍａｃｈｉｎｅ）、ネストにされたＶＭＭ、ネストにされたＶＭ、およびオペレーティングシステム（ＯＳ：ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ）環境）も信頼に値することを確実にするわけではない。従って、ランチコントロールは、実際には単一のＶＭＭをランチするために用いることができる。しかし、ＶＭＭが実行されると、ＴＸＴモデル固有レジスタ（ＭＳＲ：ｍｏｄｅｌ  ｓｐｅｃｉｆｉｃ  ｒｅｇｉｓｔｅｒ）は、ＶＭＸルート（ＶＭＸ−ｒｏｏｔ）を用いるＶＭＭがアクティブである間はＴＸＴが呼び出されないように設定される。従って、ネストにされたＶＭＭがランチされると、ＴＸＴは利用可能でなく（たとえばＧＥＴＳＥＣ（ＳＥＮＴＥＲ）コマンドは無効である）、ネストにされたＶＭＭはセキュアにランチされない。このときＶＭおよびネストにされたＶＭＭは、ランチコントロールポリシーを適用しないでロードされ、それによってセキュリティ侵害の機会の可能性が生まれる。
本発明の実施形態の特徴および利点は、添付の特許請求の範囲、以下の１つ以上の例示実施形態の詳細な記載、および対応する図面から自明となる。
【図面の簡単な説明】
【０００５】
【図１】本発明の実施形態の概略フローチャートを含む。
【図２】本発明の実施形態のさまざまな側面の組織を示すブロック図を含む。
【図３】本発明の実施形態で用いられるシステムを含む。
【発明を実施するための形態】
【０００６】
以下の記載においては、多数の特定の詳細が示されるが、本発明の実施形態はこれらの特定の詳細を用いずに実施されてよい。本記載の理解が不明瞭にならないように、周知の回路、構造物および技法は詳しくは示されない。「実施形態」、「さまざまな実施形態」などは、そう記載される実施形態が特定の特徴、構造物または特性を含んでよいことを示すが、必ずしもすべての実施形態が特定の特徴、構造物または特性を含むわけではない。いくつかの実施形態が他の実施形態について記載された特徴の一部、すべてを有してよく、あるいはまったくもたなくてよい。「第１の」、「第２の」、「第３の」などは共通のオブジェクトを記載し、同様なオブジェクトの異なるインスタンスが参照されることを示す。そのような形容詞はそう記載されるオブジェクトが、時間的に、空間的に、順位的に、または他の任意の様式的に所定のシークエンスでなければならないことを意味しない。「接続された」は、要素が互いに物理的または電気的に直接接触していることを示してよく、「結合された」は、要素が互いに協力するかまたは相互作用するが、要素は物理的または電気的に直接接触していてもいなくてもよいことを示してよい。また、異なる図の中で同じまたは類似の部品を示すために類似の数字または同じ数字が用いられてよいが、そうすることは類似の数字または同じ数を含むすべての図が単一の実施形態または同じ実施形態を構成することを意味するわけではない。
【０００７】
本発明の実施形態は、ＶＭおよび／またはネストにされたＶＭＭの認証されたランチを提供する。実施形態は、ＶＭおよびネストにされたＶＭＭのためのＶＭＭ保護されたランチコントロール機構を呼び出すインタフェースを用いてそのようにしてよい。インタフェースは、アーキテクチャとしてジェネリックであってよい。いくつかの実施形態は、ＶＭおよびＶＭＭを包含するように拡張されたＴＸＴランチコントロールポリシーを用いてよい。
【０００８】
図１は、本発明の実施形態の概略フローチャートを含む。図２は、本発明の実施形態のさまざまな側面の組織を示すブロック図を含む。図１および図２は、互いに関連させられて下記で考察されるが、各図の実施形態は必ずしも互いに一緒に機能するようには限定されない。
【０００９】
図２は組織図２００を含む。簡潔には、組織図２００は、イメージ２０１と、イメージ２０１に対応する代表ホワイトリストを有するランチコントロールポリシー２１１と、候補コードイメージ２０１をホワイトリスト２１１中の測定と対比して認証するコードを含む検証コードモジュール（たとえばランチコントロールモジュール（ＬＣＰＭ：ｌａｕｎｃｈ  ｃｏｎｔｒｏｌ  ｍｏｄｕｌｅ））２２１と、の集まりを含む。組織図２００は、下記でもっと十分に説明される。実施形態において、ＬＣＰＭは、ルートＶＭＭ特権で実行される動的なモジュール式コードオブジェクトである。プラットフォーム構成レジスタ（ＰＣＲ：ｐｌａｔｆｏｒｍ  ｃｏｎｆｉｇｕｒａｔｉｏｎ  ｒｅｇｉｓｔｅｒ）２３１がイメージ測定を記憶する。
【００１０】
最初にルートＶＭＭ（ＶＭＭ０）１５５がブートされる。このブートは、任意の数のセキュアなブート機構によって実装されたセキュアなブートであってよい。上記で取り上げられた１つのそのような機構はＴＸＴランチコントロールを含む。ＴＸＴランチコントロールに関する情報は、http://software-intel-com/en-us/articles/intel-trusted-execution-technology-a-primer/, http://download-intel-com/technology/security/downloads/315168-pdfならびに他の一般に利用可能なロケーションにおいて最小限利用可能である。
【００１１】
ルートＶＭＭ（ＶＭＭ０）をセキュアにランチすることは、いくつかのアクションを含んでよい。ＴＸＴ  ２２６は、特定のイメージ、たとえばＳＩＮＩＴ  ＡＣＭ  ２０６が真正であることを確実にするランチコントロールポリシーとして動作してよい。ＳＩＮＩＴ  ＡＣＭは、セキュアなブートプロセスにおいて用いられる認証されたコードモジュールに関係する。ＳＩＮＩＴ  ＡＣＭ  ２０６の測定は、ＰＣＲ  １７（２３６）に記憶される。ＰＣＲは、セキュリティ関連情報の暗号ハッシュ（たとえばＶＭＭのようなトラステッド実行環境によって実行されるコードおよびそれをランチするために用いられるローダコードのハッシュ）を含むトラステッドプラットフォームモジュール（ＴＰＭ：ｔｒｕｓｔｅｄ  ｐｌａｔｆｏｒｍ  ｍｏｄｕｌｅ）レジスタである。
【００１２】
ＶＭＭ０のセキュアなランチ時に、ブロック２２５においてＳＩＮＩＴ  ＡＣＭを用いてＬＣＰ０  ２１５がルートＶＭＭ０  ２０５イメージと比較されてよい。ＬＣＰ０  ２１５およびＳＩＮＩＴ  ＡＣＭ  ２２５は、ＬＣＰＭ１、ＬＣＰＭ２、ＬＣＰＭ３  ２０５イメージを認証するためにも用いられてよい。これらのイメージの一部は、下記で考察される後の段階（たとえばネストにされたＶＭＭブート）において用いられてよい。これらの測定は、ＶＭＭ０についてはＰＣＲ１８に、ＬＣＰＭ１、ＬＣＰＭ２、ＬＣＰＭ３についてはＰＣＲ１９、２０、２１にそれぞれ記憶される。
【００１３】
少々横道に逸れると、ストレージのために用いられる正確なＰＣＲが構成可能であり、他の実施形態においては変化してよい。たとえば、ＰＣＲアロケーション指針は、仕様に概略が記載されてよい。そのような仕様は、トラステッドコンピューティンググループ（ＴＣＧ）ＰＣクライアント仕様およびＴＰＭ仕様を含む。これらの仕様は、ＰＣＲ１７、１８、１９、２０、および２１を動的ルートオブトラスト（たとえばＴＸＴ）による使用のために予約する。ＰＣＲ１７は、ＳＥＮＴＥＲによってＡＣＭを測定するために用いられてよい。ＡＣＭは、ＶＭＭランチャーを測定するためにＰＣＲ１８を用いてよい。ＶＭＭランチャーは、ＶＭＭを測定するためにＰＣＲ１８を用いてよく、任意選択としてＰＣＲ１９を用いてよい。ＶＭＭはＴＰＭを仮想化してよく、したがってＶＭ（およびそれに関連付けられるＬＣＰＭ）を測定するために他のＰＣＲを用いてよい。ＶＭＭは、ＰＣＲ２０および２１も利用可能であってよい。さらに、複数のＬＣＰＭ測定が同じＰＣＲに含まれてよい。したがって、ＰＣＲの使用は構成可能であり、実施形態の変化とともに変化してよい。
【００１４】
図１に戻り、ブートストラップされたローダ、たとえばＶＭ０  １０５がブロック１１０によって仮想ブートされる。ブロック１１５は、仮想マシンＶＭ１  １０４（図２の要素２０４にある）のような実体（Ｅｎｔｉｔｙ）をブートするプロセスを開始する。（「実体」は、ネストにされたＶＭＭでもあってよいが、この例においては説明を目的としてＶＭ１が用いられる。）ＶＭ１  １０４がランチされると、ブートストラップローダＶＭ０  １０５は命令、たとえばＶＭ１  １０４をランチするＬＣＰＭ１  １２４（図２の２２４）に至るリーフを指定するＶＭＦＵＮＣインタフェース命令を呼び出す。ＶＭＦＵＮＣインタフェースは、割り込みを防止するかまたはＶＭコントロールビットをセットしてよく、したがってＬＣＰＭ１  ２２４は、測定プロセスの割り込みをまったく受けずに実行することが許可される。このインタフェースは、システム上の他のプロセッサも静止させてよく、その結果、測定は他のプロセッサから干渉されずに行われることができる。さらに、ＶＭＦＵＮＣは、たとえばＴＸＴの使用にもとづいてマイクロコードが完全性チェックおよび完全性チェッキングコントロールを実行する安全な場所と既にみなされることを承認してよい。ＶＭＦＵＮＣは下記でさらに考察される。
【００１５】
したがって、実行管理は、ブロック１３０によってＬＣＰＭ１  １２４（図２の要素２２４）に渡される。実施形態において、ＬＣＰＭ１はＶＭ１上で実行されるＶＭとして動作する。ＬＣＰＭ１  １２４は、メモリ中のＶＭ１  １０４の位置を特定し、ＬＣＰ１  １１４（図２の要素２１４）にもとづいてＬＣＰＭ１のために意図される完全性測定を実行し、計算された測定がＬＣＰ１のポリシーの１つによって受け入れられることを検証する。ＬＣＰはホワイトリストを含んでよく、ホワイトリストはおそらくはトラステッドサーバに確保された、予測されるソフトウェアイメージを記載する。詳しくは、実施形態において、ＬＣＰＭ１はＬＣＰ１をメモリ、たとえば拡張ページテーブル（ＥＰＴ：ｅｘｔｅｎｄｅｄ  ｐａｇｅ  ｔａｂｌｅ）に配置された保護メモリに読み込む。ＥＰＴは、下記でＶＭＦＵＮＣインタフェースに関してもっと詳しく考察される。
【００１６】
ブロック１４０において、ＶＭ１の測定はＰＣＲ（たとえばＰＣＲ８）２３４に拡張される。ＰＣＲ２３４はＴＰＭ１４５または他のそのようなハードウェア証明モジュールに含まれる。ＴＰＭは、セキュアなストレージおよびセキュアなレポーティングに関連付けられるさまざまなセキュリティ機能を実装するセキュリティコプロセッサである。ＴＰＭのような暗号プロセッサに関する詳細は、少なくともサンディープ・バジカ（Ｓｕｎｄｅｅｐ  Ｂａｊｉｋａｒ）による「ノートブックＰＣのトラステッドプラットフォームモジュール（ＴＰＭ）利用セキュリティ  白書（"Ｔｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｍｏｄｕｌｅ  （ＴＰＭ）  ｂａｓｅｄ  Ｓｅｃｕｒｉｔｙ  ｏｎ  Ｎｏｔｅｂｏｏｋ  ＰＣｓ  −  Ｗｈｉｔｅ  Ｐａｐｅｒ"）」、http://www-intel-com/design/mobile/platform/downloads/Trusted_Platform_Module_White_Paper-pdfにある。ブロック１６０において、ＰＣＲログが更新される。実施形態は、ＶＭＦＵＮＣ、ＴＰＭ等を用いる動作に限定されないが、そのような要素は例を示す目的のため用いられているだけである。次に、ルートＶＭＭ １５５（図２の要素２０５に含まれる）による実行のためにＶＭ１がスケジュールされる。ブロック１６５においてＶＭＦＵＮＣ（エグジット）が実行される。
【００１７】
上記のプロセス実施形態（図１および図２に関する）は、説明を目的として用いられたＶＭ１の代わりに、ネストにされたＶＭＭにも適用可能である。この趣旨に沿って、図２のブロック２０４にはＶＭ（たとえばＶＭ１）とネストにされたＶＭＭとの両方が含まれる。言い換えると、図１は、ＶＭ１のセキュアなブートを記載しているが、ネストにされたＶＭＭをセキュアにブートするために同じプロセスを用いることができるであろう。
【００１８】
図２に示されるように、追加の仮想化レイヤがセキュアにされてよい。たとえば、ネストにされたＶＭ２０３がＬＣＰＭ２  ２２３によって測定され、ＬＣＰ２  ２１３に含まれる測定と比較されてよい。測定は、ＰＣＲ２３３によって記憶されてよい。さらに、ＬＣＰＭ３  ２２１によって、ドライバ、ライブラリおよび実行可能コード２０２が測定され、ＬＣＰ３  ２１２に含まれる測定と比較されてよい。測定は、ＰＣＲ２３２によって記憶されてよい。
【００１９】
ネストにされたＶＭに関するより具体的な例として、ブートストラップされたローダＶＭ０  １０５がブロック１１０によって仮想的にブートされる。ネストにされたＶＭ２  ２０３をブートするプロセスをブロック１１５が開始する。ＶＭ２  ２０３がランチされると、ブートストラップローダＶＭ０  １０５は、命令、たとえば、ＶＭ２  ２０３をランチするＬＣＰＭ２  ２２３に至るリーフを指定するＶＭＦＵＮＣインタフェース命令を呼び出す。ブロック１３０によって、実行管理はＬＣＰＭ２  ２２３に渡される。ＬＣＰＭ２  ２２３はメモリ内のＶＭ２  ２０３の位置を特定し、ＬＣＰＭ２のために意図されたＬＣＰ２  ２１３にもとづいて完全性測定を実行し、計算された測定がＬＣＰ２内のポリシーの１つによって受け入れられることを検証する。ブロック１４０において、ＶＭ２の測定は、ＴＰＭに含まれるＰＣＲ２３３に拡張される。ブロック１６０において、ＰＣＲログが更新される。次に、ブロック１５５において、ＶＭ２の実行がルートＶＭＭ１５５によってスケジュールされる。ブロック１６５において、ＶＭＦＵＮＣ（エグジット）が実行される。
【００２０】
すぐ上で（図１および図２に関して）記載されたプロセス実施形態は、別の実体内にさらにネストにされた、ネストにされたＶＭＭにも適用可能である。
【００２１】
したがって、ブロック１１０は、ＬＣＰＭ（２２５）をランチするルートＶＭＭ（１０５）に通じる。ＬＣＰＭは、保護されたメモリにロードされるＶＭのためのイメージを用いてＬＣＰを評価するためにある。同様に、ネストにされたＶＭＭのためのＬＣＰＭも（これは図１には特に示されていないが）ロードされてよい。ルートＶＭＭ  ＬＣＰは、ＬＣＰＭの完全性を検証するために用いられる。さらに、ＶＭまたはネストにされたＶＭＭは、ＶＭまたはネストにされたＶＭＭが、セキュアにブートされたルートＶＭＭであってもルートＶＭＭからランチされるときより、セキュアにランチされる。その代わり、ルートＶＭＭは直接依存されず（すなわちバイパスされ）、その代わり、ＶＭまたはネストにされたＶＭＭをブートするためにＴＸＴハードウェア利用シークエンス（または他のハードウェア証明モジュール利用方法）が依存される。一実施形態において、通常はルートＶＭＭとともに機能するように限定されるランチコントロール機構、ツールおよびインフラストラクチャがＶＭおよびＶＭＭとともに働くように拡張される。たとえば、次に、ランチコントロールがＴＸＴおよび同様なセキュリティ技法を超えて拡張される。実施形態は、たとえばＴＸＴランチコントロールおよび／またはＢＩＯＳトラステッドブート機構によってキックオフされたホワイトリストチェッキングプロセスをネストにされたＶＭＭおよびＶＭ環境に続行する。トラステッドシステムブート、トラステッドルートＶＭＭブート、およびネストにされたトラステッドＶＭＭおよび／またはＶＭブートにもとづいて、実施形態は、さかのぼってルートオブトラストに達する途切れのないチェーンオブトラストを有するトラステッドブローカーサービスを提供してよい。このチェーンオブトラストは、たとえばＰＣＲログの内容にもとづいて構築されてよい。
【００２２】
ＶＭＦＵＮＣ命令に関して、通常、ＶＭおよびネストにされたＶＭＭは、ランチコントロールポリシーを適用されずにロードされる。さらに、ＶＭＭベンダーは、ランチコントロールのための普通のアーキテクチャインタフェースに依存しない。しかし、本発明のさまざまな実施形態では、ルートＶＭＭは、上記のように、ランチコントロールポリシーモジュールを呼び出すＶＭＦＵＮＣコール（またはその機能均等物）を用いることができる。ＬＣＰＭは、ＬＣＰポリシーに含まれるホワイトリストをどのようにパースし、検証するかを理解している。ＬＣＰポリシーは、ロードされるイメージの種類（たとえばＶＭまたはネストにされたＶＭＭ）に固有であってよい。ＬＣＰＭは、ルートＶＭＭを適切に保護して実行される。ＶＭＦＵＮＣコールは、ＶＭおよびネストにされたＶＭＭがベンダーに依存しない確実な方法によって呼び出されることを確実にし、これによって、ＬＣＰオーサーはＶＭＭおよびＶＭのさまざまなベンダー実装を網羅するかまたはさまざまなベンダー実装にわたって確実に機能するＬＣＰを構築することができる。したがって、ＶＭＭベンダーは、ルートＶＭＭまたはネストにされたＶＭＭのどちらかとして機能するＶＭＭのために、顕著に異なる製品／装置の最小在庫管理単位（ＳＫＵ：stock keeping unit）を維持しなくてよい。
【００２３】
さらに、ＶＭＦＵＮＣに関して、ＶＭＦＵＮＣは、ＥＰＴメモリ保護を用いるアーキテクチャインタフェースである。ＥＰＴは、メモリ管理ユニット（ＭＭＵ：ｍｅｍｏｒｙ  ｍａｎａｇｅｍｅｎｔ  ｕｎｉｔ）のための仮想化技術である。この特徴がアクティブであるとき、普通のＩＡ−３２ページテーブル（コントロールレジスタＣＲ３によって参照される）は、線形アドレスからゲスト物理アドレスに翻訳される。別個の組のページテーブル（すなわちＥＰＴテーブル）は、ゲスト物理アドレスからメモリにアクセスするために用いられるホスト物理アドレスに翻訳される。その結果、ゲストソフトウェアがそれ自体のＩＡ−３２ページテーブルを変更し、ページフォールトを直接取り扱うことが可能になり得る。これによって、ＥＰＴを用いない仮想化オーバーヘッドの主なソースであるページテーブル仮想化と関連付けられたＶＭエグジットをＶＭＭが回避することが可能になる。ＶＭＦＵＮＣは、たとえばＥＰＴを用いてＬＣＰ１（１１４）およびＬＣＰＭ１（１２４）を分離することによってＥＰＴを利用する。その際に、ＬＣＰＭ１は、ＶＭＦＵＮＣエントリポイントの外部に由来する書き込み動作から保護される。そのとき、測定は、ＴＰＭ内に含まれるレジスタに記憶されることができる。さらに、ＥＰＴは、特定のハードウェアスレッド上だけでアクティブであってよく、したがって、他のハードウェアスレッド上で実行され得る他のソフトウェアがＬＣＰ１の測定を不正に変更するか又は妨げることを許さない。
【００２４】
実施形態において、ＥＰＴは、ＬＣＰＭのためのメモリ内の境界を指定するために用いられてよい。ＶＭがロードされるときにＬＣＰＭコードを再チェックする（すべてのＶＭＭコードをチェックすることなく）と有利なことがある。たとえばＬＣＰＭコードはポリシーエンフォースメントルールを固有に実装するからである。このチェックは、ＶＭＭコードを再ロードしない。その代わりに、チェックはインメモリチェックである（たとえばＥＰＴ内のメモリページが再ハッシュされ、インメモリイメージに対応するホワイトリストと比較される）。これらの再測定のためにＰＣＲ１９、２０、２１が用いられ得る。それらのＰＣＲは（ＰＣＲ１８に含まれてよい）ＶＭＭの全測定を含まないからである。
【００２５】
より詳しくは、実施形態において、特別なプロパティおよび／または用途を有するメモリページの群を定義するためにＥＰＴが用いられる。この実施形態は、ＬＣＰＭ（たとえばコード）およびＬＣＰ（たとえばデータ）機能を実装するＶＭＭコードおよびデータページのサブセットを構築するためにＥＰＴを用いる。ＶＭＦＵＮＣが制御をＶＭＭに向けると、ＬＣＰＭを含むＥＰＴを検証するためにＶＭＦＵＮＣの新しいリーフが用いられることができ、ＬＣＰページは最初にランチされてから変化していない。実施形態は、これをアドレス範囲に類似した方法で実装してよい。ＬＣＰＭページは、それらが移動されず、長くされず、および／または短くされていないことを確実とするためにチェック／検証されてよい。完全性ポリシーを強制するためにＶＭＦＵＮＣが用いられると、予測されるＬＣＰＭおよびＬＣＰ測定は、新しいリーフへのパラメータとしてＶＭＦＵＮＣに渡されることができる。次に、ＶＭＦＵＮＣは、ＬＣＰＭコードに実行を渡す前にＥＰＴ測定を比較することができる。ＶＭＦＵＮＣは、比較が一致しなければフォールトを示してよい。
【００２６】
実施形態において、ルートＶＭＭ機能は、ＶＭＦＵＮＣの呼出しがＲｉｎｇ０において行われ、ＬＣＰＭの実行がＲｉｎｇ１において行われるように、ＣＰＵリング構造にしたがって配分されてよい。ＶＭＭ機能の残りは、Ｒｉｎｇ２およびＲｉｎｇ３において実装されることができる。この実装によって、ハードウェア機構がＬＣＰＭおよびＶＭＦＵＮＣ呼出しを保護／堅固化することが可能になる。ＬＣＰＭをサポートするためのＶＭＦＵＮＣリーフは、この特定のリーフがｒｉｎｇ０においてゲストＶＭＭによってだけ呼び出されることができるように強制してよい。実施形態において、ルートＶＭＭはＴＸＴを用いるであろう。たとえば、ＶＭＭ／ＶＭＭランチャーをランチするためにＴＸＴが用いられるであろう。ランチされたら、ゲストをランチするためにＶＭＭ内のＬＣＰＭが用いられるであろう。したがって、リングは、ランチ機能をＶＭＭおよびＶＭＭインフラストラクチャ内のセキュリティに関連しない他の機能からさらに分離し、孤立させるために用いられることができるであろう。
【００２７】
実施形態は、検証されたブート環境および測定されたブート環境を含むいくつかの環境に適している。
【００２８】
検証されたブートは、予測されるソフトウェアイメージを記載するホワイトリストをトラステッドサーバから受け取る。クライアントプラットフォームのトラステッドコンポーネントは、実行される前のソフトウェアイメージを検査し、ホワイトリストと比較する。一致すれば、コンポーネントは実行することを許可される。一致しなければ、修復アクションが実行される。この動作を行うコンポーネントは、ときに検証用ルートオブトラストと呼ばれる。これは、ハードウェア証明モジュール（たとえばＴＰＭ）を必要としないことがある。
【００２９】
しかし、測定されたブートは、実行される前のソフトウェアイメージを検査し、セキュアなストレージロケーションに保存する。測定されたブートは、ブートを制約するかまたは変化させるホワイトリストを有さなくてよい。その代わりに、ホワイトリストは、クライアントがアクセスすることを望むリソースをホストするサーバに保持される。サーバがアクセスを許可する前提条件として、ソフトウェアの完全性レポートがサーバに送達される。サーバへのレポートの提示は、ときに証明（Ａｔｔｅｓｔａｔｉｏｎ）と呼ばれる。サーバは、クライアントが顕著なリスクをもたらすかを判断するために証明レポートをホワイトリストと比較する。クライアントがリスクをもたらすなら、ネットワーク接続は閉じられる。これは、ハードウェア証明モジュール（たとえばＴＰＭ）を利用してよい。
【００３０】
さらに詳しくは、さまざまな実施形態において、検証されたブートは完全性ポリシーを直接強制する（すなわち、完全性ポリシーを満たさないコードの実行を妨げてよい）。しかし、測定されたブートは完全性ポリシーを満たさないコードの実行を可能にしてよい。たとえば、完全性ポリシーは実際にはリモートサーバにあってよく、クライアントに知られていないことがあるからである。したがって、クライアントは測定をセキュアに記憶（たとえばＴＰＭ  ＰＣＲに）してよく、測定は、後で「引用され」、「証明」の一部としてサーバに送達される。サーバは、証明において見いだされる測定をホワイトリストのそのローカルコピー上の測定と比較することができる。ネットワーク接続を切断することによって、または更新サービスがクライアント（たとえばＰＣ）を再構成しようとする修復ネットワークにクライアントを配置することによって、エンフォースメントはサーバにより適用されることができる。
【００３１】
したがって、実施形態は、第１のＶＭＭをランチし、第２のＶＭＭのランチを認証し、第１のＶＭＭの内部で第２のＶＭＭをネストにする。ネストにされたＶＭＭの認証されたブートの代わりに、またはネストにされたＶＭＭの認証されたブートに加えて、実施形態は、第１のＶＭのランチを認証し、第１のＶＭＭ（たとえばルートＶＭＭ）またはネストにされたＶＭＭを用いて第１のＶＭを管理してよい。直前のシナリオのうちのどちらかにおいて、ルートＶＭＭ、または別のＶＭＭをホストするＶＭＭ、あるいはＶＭ、そのルートＶＭＭまたはホストＶＭＭは、リエントラントでないセキュアなブートによって（たとえばＴＸＴランチによって）ブートされてよい。
【００３２】
実施形態は、（ａ）第２のＬＣＰＭを呼び出すことと、（ｂ）ハードウェアセキュリティ証明モジュール（例えばＴＰＭであるがこれに限定されない）を用いることとの両方を行いながらルートＶＭＭを迂回することによって第２のＶＭＭのランチを認証してよい。
【００３３】
ルートＶＭＭを「迂回する」ための例に関して、ルートＶＭＭは、ネストにされたＶＭＭをあたかもＶＭであるかのように処理してよい。したがって、ＶＭとＶＭＭとの両方のランチコントロールは、ルートＶＭＭから見れば同様であろう。ネストにされたＶＭＭに焦点を合わせる。ネストにされたＶＭＭが実行されると、それはロードするＶＭを特定する。ネストにされたＶＭＭを測定するためのＬＣＰＭコードは、ネストにされたＶＭＭページ範囲に含まれる。したがって、ＶＭＦＵＮＣは、ネストにされたＶＭＭを記載するＥＰＴがルートＶＭＭを記載するＥＰＴと異なることを確実にしてよい。従って、ルートＶＭＭが受諾（ｏｐｔ−ｉｎ）すれば、ルートＶＭＭは、この動作についてはある程度迂回されることができる。これは、たとえばＥＰＴ使用ならびにＶＭＦＵＮＣおよびネストにされたＶＭＭをブートするためのブートストラップされたＶＭ０（図１参照）の使用にもとづいてよい。
【００３４】
実施形態は、ネストにされた第２のＶＭＭと関連付けられる第２のＬＣＰを第２のＬＣＰＭによって評価してよい。実施形態は、第２のＬＣＰＭによって第２のＶＭＭの完全性測定を行い、第２のＬＣＰによって測定を認証してよい。実施形態は、測定をＴＰＭまたは他のハードウェア証明モジュールに含まれるＰＣＲに拡張し、測定をＰＣＲに拡張することにもとづいてログを更新してよい。
【００３５】
実施形態は、第２のＬＣＰＭを保護されたメモリ（たとえばＥＰＴ）にロードし、第２のＬＣＰＭを実行してよく、第２のＬＣＰＭはルートＶＭＭ特権を有する。実施形態は、システムが第２のＬＣＰに含まれるホワイトリストを第２のＬＣＰＭによって認証することを可能にしてよく、第２のＬＣＰはＶＭＭに固有であるがＶＭに固有ではない。実施形態は、第１のＶＭＭと関連付けられる第１のＬＣＰにもとづいて第１のＶＭＭをブートしながら第２のＬＣＰも認証してよい。さらに、実施形態は、第２のＶＭＭのために特に構成されたわけではなく（例えばアーキテクチャ的に中立またはベンダー中立）、ＶＭＭとネストにされたＶＭＭとの両方とインタフェース接続するように構成されたセキュアなインタフェースによって、第２のＶＭＭのランチを認証してよい。
【００３６】
実施形態は、多数の異なるシステム型において実装されてよい。次に図３を参照すると、本発明の実施形態によるシステムのブロック図が示される。マルチプロセッサシステム５００は、ポイントツーポイント相互接続システムであり、ポイントツーポイント相互接続５５０によって結合された第１のプロセッサ５７０および第２のプロセッサ５８０を含む。プロセッサ５７０および５８０のそれぞれは、マルチコアプロセッサであってよい。用語「プロセッサ」は、レジスタおよび／またはメモリからの電子的なデータを処理してその電子的なデータをレジスタおよび／またはメモリに記憶されてよい他の電子的なデータに変換する任意のデバイスまたはデバイスの一部を指してよい。第１のプロセッサ５７０は、メモリコントローラハブ（ＭＣＨ：ｍｅｍｏｒｙ  ｃｏｎｔｒｏｌｌｅｒ  ｈｕｂ）およびポイントツーポイント（Ｐ−Ｐ：ｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔ）インタフェースを含んでよい。同様に、第２のプロセッサ５８０は、ＭＣＨおよびＰ−Ｐインタフェースを含んでよい。ＭＣＨは、プロセッサをそれぞれのメモリ、すなわちメモリ５３２およびメモリ５３４と結合させてよい。メモリ５３２およびメモリ５３４は、それぞれのプロセッサに局所的に取り付けられたメインメモリ（たとえばダイナミックランダムアクセスメモリ（ＤＲＡＭ：ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ））の一部であってよい。第１のプロセッサ５７０および第２のプロセッサ５８０は、Ｐ−Ｐ相互接続によってチップセット５９０にそれぞれ結合されてよい。チップセット５９０は、たとえばＲＳＡアクセラレータ、乱数発生器、キー、証明書、ＰＣＲ、スタティックＲＡＭ、フラッシュメモリ、モノトニックカウンタ、デジタルシグネチャーアルゴリズム等を含むＴＰＭまたは暗号プロセッサを含んでよい。そのようなチップセットの一例に関する詳細は、少なくともhttp://www-intel-com/design/mobile/platform/downloads/Trusted_Platform_Module_White_Paper-pdfにおいて入手可能である。実施形態は、いずれか一種類のセキュリティエンジンまたは暗号プロセッサとともに機能することに限定されるわけではなく、その代わりに、さまざまなベンダーからのさまざまなアーキテクチャを有するさまざまな離散型および／または統合型セキュリティエンジンとともに機能してよい。チップセット５９０は、Ｐ−Ｐインタフェースを含んでよい。さらに、チップセット５９０は、インタフェースによって第１のバス５１６に結合されてよい。第１のバス５１６を第２のバス５２０に結合させるバスブリッジ５１８とともに、さまざまな入力／出力（Ｉ／Ｏ：ｉｎｐｕｔ／ｏｕｔｐｕｔ）デバイス５１４が第１のバス５１６に結合されてよい。たとえば一実施形態において、キーボード／マウス５２２、通信デバイス５２６、および、コード５３０を含んでよいディスクドライブまたは他のマスストレージデバイスのようなデータストレージユニット５２８、を含むさまざまなデバイスが第２のバス５２０に結合されてよい。さらに、オーディオＩ／Ｏ５２４が第２のバス５２０に結合されてよい。
【００３７】
実施形態は、コードに実装されてよく、命令を記憶してある非一時的ストレージ媒体に記憶されてよい。命令は、命令を実行するようにシステムをプログラムするために用いられることができる。ストレージ媒体は、フロッピー（登録商標）ディスク、光ディスク、ソリッドステートドライブ（ＳＳＤ：ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）、読み取り専用コンパクトディスク（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、繰り返し書き込み可能コンパクトディスク（ＣＤ−ＲＷ：ｃｏｍｐａｃｔ  ｄｉｓｋ  ｒｅｗｒｉｔａｂｌｅ）、および光磁気ディスクを含む任意の種類のディスク、半導体デバイス、たとえば読み取り専用メモリ（ＲＯＭ：ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、たとえばダイナミックランダムアクセスメモリ（ＤＲＡＭ）、スタティックランダムアクセスメモリ（ＳＲＡＭ：ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、消去可能なプログラマブル読み取り専用メモリ（ＥＰＲＯＭ：ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、フラッシュメモリ、電気的に消去可能なプログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ：ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、磁気カードまたは光カード、あるいは電子的な命令を記憶するのに適している任意の他の種類の媒体を含んでよいが、これに限定されるものではない。本発明の実施形態は、データ、たとえば命令、ファンクション、手続き（ｐｒｏｃｅｄｕｒｅ）、データ構造、アプリケーションプログラム、構成セッティング、コード等への参照とともに本明細書に記載されてよい。データがマシンによってアクセスされると、マシンは、本明細書により詳しく記載されるように、タスクを実行し、抽象データ型を定義し、低レベルハードウェアコンテキストを規定し、および／または他の動作を実行することによって応答してよい。データは、揮発性および／または不揮発性データストレージに記憶されてよい。用語「コード」または「プログラム」は、アプリケーション、ドライバ、プロセス、ルーチン、メソッド、モジュール、およびサブプログラムを含む広い範囲のコンポーネントおよびコンストラクトを包含し、処理システムによって実行されると所望の１または複数の動作を実行する命令のいずれかの集まりを指してよい。さらに、代替実施形態は、開示された動作のすべてより数の少ない動作を用いるプロセス、追加の動作を用いるプロセス、同じ動作群を異なる順番で用いるプロセス、および本明細書に開示される個々の動作が組み合わされるか、再分割されるか、または他の変化を施されるプロセスを含んでよい。コンポーネントまたはモジュールは、望みに応じて組み合わされるかまたは分離され、デバイスの１つ以上の部分に配置されてよい。
【００３８】
本発明を、限られた数の実施形態に関して記載してきたが、実施形態からの多数の変更形および変化形が当業者には自明である。添付の特許請求の範囲はそのようなすべての変更形および変化形を本発明の真の技術思想および適用範囲に属するとして包含するものとする。
本実施形態の例を下記の各項目として示す。
［項目１］
実行されるとシステムが、
第１の仮想マシンマネージャ（ＶＭＭ）をランチすること、
第２のＶＭＭのランチを認証すること、および、
前記第１のＶＭＭの内部で前記第２のＶＭＭをネストにすること、
ができるようにする命令を含むプログラム。
［項目２］
前記システムが、
第１の仮想マシン（ＶＭ）のランチを認証すること、および
前記第１のＶＭＭおよび前記第２のＶＭＭの１つを用いて前記第１のＶＭを管理すること、  ができるようにする命令を含む、項目１に記載のプログラム。
［項目３］
前記第１のＶＭＭは、リエントラントでないセキュアなブートによってランチされるルートＶＭＭである、項目１又は２に記載のプログラム。
［項目４］
前記第２のＶＭＭの前記ランチを認証することは、（ａ）第２のランチコントロールポリシーモジュール（ＬＣＰＭ）を呼び出すことと、（ｂ）ハードウェアセキュリティ証明モジュールを用いることとの両方を行いながら、前記第１のＶＭＭを迂回することを含む、項目１から３のいずれか１項に記載のプログラム。
［項目５］
前記ハードウェアセキュリティ証明モジュールは、トラステッドプラットフォームモジュール（ＴＰＭ）を含む、項目４に記載のプログラム。
［項目６］
前記システムが、前記第２のＶＭＭと関連付けられる第２のランチコントロールポリシー（ＬＣＰ）を第２のランチコントロールポリシーモジュール（ＬＣＰＭ）によって評価することができるようにする命令を含む、項目１から５のいずれか１項に記載のプログラム。
［項目７］
前記システムが、前記第２のＬＣＰＭによって前記第２のＶＭＭの完全性測定を実行し、前記第２のＬＣＰによって前記測定を認証することができるようにする命令を含む、項目６に記載のプログラム。
［項目８］
前記システムが、
前記測定をトラステッドプラットフォームモジュール（ＴＰＭ）に含まれるプラットフォーム構成レジスタ（ＰＣＲ）に拡張すること、および
前記測定を前記ＰＣＲに拡張することにもとづいてログを更新すること
ができるようにする命令を含む、項目７に記載のプログラム。
［項目９］
前記システムが、前記第２のＬＣＰＭを保護されたメモリにロードすること、および前記第２のＬＣＰＭを実行することができるようにする命令を含み、前記第２のＬＣＰＭはルートＶＭＭ特権を有する、項目６に記載のプログラム。
［項目１０］
前記システムが、前記第２のＬＣＰに含まれるホワイトリストを前記第２のＬＣＰＭによって認証することができるようにする命令を含み、前記第２のＬＣＰはＶＭＭに固有であるがＶＭに固有でない、項目６に記載のプログラム。
［項目１１］
前記システムが、前記第１のＶＭＭと関連付けられる第１のＬＣＰにもとづいて前記第１のＶＭＭをブートしながら、前記第２のＬＣＰを認証することができるようにする命令を含む、項目６に記載のプログラム。
［項目１２］
前記システムが、特に前記第２のＶＭＭのために構成されてはおらずかつＶＭＭとネストにされたＶＭＭとの両方とインタフェース接続するように構成されたセキュアなインタフェースによって、前記第２のＶＭＭの前記ランチを認証することができるようにする命令を含む、項目１から１１のいずれか１項に記載のプログラム。
［項目１３］
第１の仮想マシンマネージャ（ＶＭＭ）をランチすること、
第２のＶＭＭのランチを認証すること、および、
前記第１のＶＭＭの内部で前記第２のＶＭＭをネストにすること
を含む方法。
［項目１４］
第１の仮想マシン（ＶＭ）のランチを認証すること、および
前記第１のＶＭＭおよび前記第２のＶＭＭの１つを用いて前記第１のＶＭを管理すること、
を含む、項目１３に記載の方法。
［項目１５］
前記第２のＶＭＭの前記ランチを認証することは、（ａ）第２のランチコントロールポリシーモジュール（ＬＣＰＭ）を呼び出すことと、（ｂ）ハードウェアセキュリティ証明モジュールを用いることとの両方を行いながら、前記第１のＶＭＭを迂回することを含む、項目１３又は１４に記載の方法。
［項目１６］
前記第２のＶＭＭと関連付けられる第２のランチコントロールポリシー（ＬＣＰ）を第２のランチコントロールポリシーモジュール（ＬＣＰＭ）によって評価することを含む、項目１３から１５のいずれか１項に記載の方法。
［項目１７］
前記第２のＬＣＰＭによって前記第２のＶＭＭの完全性測定を実行すること、および前記第２のＬＣＰによって前記測定を認証することを含む、項目１６に記載の方法。
［項目１８］
メモリ、及び、
前記メモリに結合され、（ａ）第１の仮想マシンマネージャ（ＶＭＭ）をランチし、（ｂ）第２のＶＭＭのランチを認証し、（ｃ）前記第１のＶＭＭの内部で前記第２のＶＭＭをネストにするプロセッサ、
を含むシステム。
［項目１９］
前記プロセッサは、
第１の仮想マシン（ＶＭ）のランチを認証し、
前記第１のＶＭＭおよび前記第２のＶＭＭの１つを用いて前記第１のＶＭを管理する、
項目１８に記載のシステム。
［項目２０］
前記プロセッサは、前記第２のＶＭＭと関連付けられる前記第２のランチコントロールポリシー（ＬＣＰ）を第２のランチコントロールポリシーモジュール（ＬＣＰＭ）によって評価する、項目１８又は１９に記載のシステム。
［項目２１］
前記プロセッサは、前記第２のＬＣＰＭによって前記第２のＶＭＭの完全性測定を実行し、前記第２のＬＣＰによって前記測定を認証する、項目２０に記載のシステム。
【図１】
0005905586.tif 000002
【図２】
0005905586.tif 000003
【図３】
0005905586.tif 000004