(57)【特許請求の範囲】
【請求項１】
ホストコンピュータシステムであって、
複数の仮想マシンを操作するように構成された少なくとも１つのプロセッサと、
コプロセッサ、及び前記複数の仮想マシンを管理するための第１の実行可能命令を記憶する第１のメモリを含む周辺装置であって、少なくとも第１の承認鍵及び証明機関から受信される第１の証明書を使用し、前記周辺装置を介して使用するために構成された第１の安全な暗号プロセッサをさらに含む前記周辺装置と、
第２の安全な暗号プロセッサ、及び第２の実行可能命令を記憶し、少なくとも第２の承認鍵及び前記第１の安全な暗号プロセッサから受信される第２の証明書を使用し、前記ホストコンピュータシステムと使用するために構成された第２のメモリと、
を備え、
第１の命令が、実行時に、前記周辺装置に、
前記複数の仮想マシンのカスタマ仮想マシンと関連付けられた認証要求を受信させ、前記カスタマ仮想マシンがカスタママシンイメージを使用し、起動され、
前記周辺装置のための第１の署名済み測定値を生成させ、前記第１の署名済み測定値が、前記周辺装置のための識別情報、及び前記証明機関から受信された前記第１の証明書を使用し、生成された信用証明書を含み、
前記第２の安全なプロセッサに、前記ホストコンピュータシステムのための第２の署名済み測定値を生成させ、前記第２の署名済み測定値が、前記ホストコンピュータシステムのための識別情報、前記カスタママシンイメージのための情報、及び前記第１の安全な暗号プロセッサから受信された前記第２の証明書を使用し、生成された信用証明書を含み、
前記第１の署名済み測定値、前記第２の署名済み測定値、ならびに前記第１の証明書及び前記第２の証明書のための証明書チェーンを含む認証応答をアセンブルさせ、
前記認証応答を転送させ、カスタマシステムが少なくとも前記カスタマ仮想マシンの完全性及び前記ホストコンピュータシステムのセキュリティを検証することを可能にされる、
前記ホストコンピュータシステム。
【請求項２】
第２の命令が、実行時に、前記ホストコンピュータシステムにさらに、前記ホストコンピュータシステム上でメインサブシステムを操作させ、前記メインサブシステムが前記カスタママシンイメージを使用し、前記カスタマ仮想マシンを実行することを担い、
前記第１の命令が、実行時に、前記コプロセッサに前記周辺装置を使用し、制限付きサブシステムをさらに操作させ、前記制限付きサブシステムが前記メインサブシステムのために管理タスクを実行するように構成され、前記制限付きサブシステムが、前記メインサブシステムを初期化し、前記信用証明書を前記第２の安全な暗号プロセッサに提供させるようにさらに構成される、
請求項１に記載のホストコンピュータシステム。
【請求項３】
前記第１の署名済み測定値が、前記第１の安全な暗号プロセッサに対応する第１の認証完全性鍵の対及び第１のホストアイデンティティ鍵の対をさらに含み、前記第２の署名済み測定値が、前記第２の安全な暗号プロセッサに対応する第２の認証完全性鍵の対及び第２のホストアイデンティティ鍵の対をさらに含む、請求項１に記載のホストコンピュータシステム。
【請求項４】
コンピュータによって実装される方法であって、
カスタマシステムからコンピューティングデバイスのメインサブシステムへの認証要求を受信することであって、前記コンピューティングデバイスが前記カスタマシステムと関連付けられたカスタマ仮想マシンを操作する、前記受信することと、
前記コンピューティングデバイスに物理的に接続された信頼できるハードウェアを使用し、提供された制限付きサブシステムに要求を送信することであって、前記制限付きサブシステムが前記カスタマ仮想マシンのために管理タスクを実行するように構成された、前記送信することと、
前記制限付きサブシステムから、前記制限付きサブシステムのための第１の信用証明書を含む第１の測定値を受信することであって、前記第１の信用証明書が、証明機関によって提供された第１の証明書を使用し、生成される、前記受信することと、
前記メインサブシステムのための第２の信用証明書及び前記カスタマ仮想マシンのための状態情報を含む第２の測定値を生成することであって、前記第２の信用証明書が、前記制限付きサブシステムによって提供された第２の証明書を使用し、生成される、前記生成することと、
前記カスタマシステムに認証応答を送信することであって、前記認証応答が前記第１の測定値及び前記第２の測定値を含む、前記送信することと、
を含む、前記コンピュータによって実装される方法。
【請求項５】
前記制限付きサブシステムの第１の安全な暗号プロセッサに対する前記第１の証明書を受信することと、
前記第１の安全な暗号プロセッサの前記第１の証明書及び第１の承認鍵を使用し、前記第１の信用証明書を生成することであって、前記第１の承認鍵が前記第１の安全な暗号プロセッサからエクスポートできない、前記生成することと、
をさらに含む、請求項４に記載のコンピュータによって実装される方法。
【請求項６】
前記メインサブシステムの第２の安全な暗号プロセッサに対する前記第２の証明書を受信することと、
前記第２の安全な暗号プロセッサの前記第２の証明書及び第２の承認鍵を使用し、前記第２の信用証明書を生成することであって、前記第２の承認鍵が前記第２の安全な暗号プロセッサからエクスポートできない、前記生成することと、
をさらに含む、請求項５に記載のコンピュータによって実装される方法。
【請求項７】
前記認証要求に含まれる第１の識別子を使用する前記コンピューティングデバイスのアイデンティティ、及び前記認証要求に含まれる第２の識別子を使用するカスタママシンイメージのアイデンティティを、前記要求を前記制限付きサブシステムに送信する前に検証すること、
をさらに含む、請求項４に記載のコンピュータによって実装される方法。
【請求項８】
前記第１の測定値及び前記第２の測定値の少なくとも１つを使用し、少なくとも１つのハッシュ値を生成することと、
前記少なくとも１つのハッシュ値を前記認証応答に含むことであって、前記少なくとも１つのハッシュ値が前記カスタマシステムと関連付けられる、前記含むことと、
をさらに含む、請求項４に記載のコンピュータによって実装される方法。
【請求項９】
前記第１の測定値または前記第２の測定値が、引用または暗号学的に検証可能な測定値の１つである、請求項４に記載のコンピュータによって実装される方法。
【請求項１０】
前記信頼できるハードウェアが、前記コンピューティングデバイスが動作する環境のプロバイダによって構成されたファームウェア及び命令を含むペリフェラルカードであり、前記ペリフェラルカードが前記コンピューティングデバイスよりも高いレベルの信頼を有する、請求項４に記載のコンピュータによって実装される方法。
【請求項１１】
前記認証要求に含まれる課題情報を決定することと、
前記課題情報を前記認証応答に含むことと、
をさらに含む、請求項４に記載のコンピュータによって実装される方法。
【請求項１２】
ホストコンピューティングデバイスで動作する制限付きサブシステムであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサによって実行されるときに、前記制限付きサブシステムに、
前記ホストコンピューティングデバイス上のメインサブシステムで実行中の仮想マシンに対する認証要求を受信させ、前記制限付きサブシステムが、前記ホストコンピューティングデバイスに物理的に接続された信頼できるハードウェアを使用し、提供され、前記仮想マシンのために管理タスクを実行するように構成され、
前記制限付きサブシステムのための第１の信用証明書を含む第１の測定値を生成させ、前記第１の信用証明書が、証明機関によって提供された第１の証明書を使用し、生成され、
前記ホストコンピューティングデバイスの前記メインサブシステムに、前記メインサブシステムのための第２の信用証明書及び前記仮想マシンのための状態情報を含む第２の測定値を生成させ、前記第２の信用証明書が、前記制限付きサブシステムによって提供された第２の証明書を使用し、生成され、
前記第１の測定値及び前記第２の測定値を含む認証応答を送信させる、
命令を記憶するメモリと、
を備える、前記制限付きサブシステム。
【請求項１３】
前記命令が、実行時に、前記ホストコンピューティングデバイスにさらに、
前記第２の証明書を前記メインサブシステムの第２の安全な暗号プロセッサに送信させ、
前記第２の安全な暗号プロセッサの前記第２の証明書及び第２の承認鍵を使用し、前記第２の信用証明書を生成させ、前記第２の承認鍵が前記第２の安全な暗号プロセッサからエクスポートできない、
請求項１２に記載の制限付きサブシステム。
【請求項１４】
前記命令が、実行時に、前記ホストコンピューティングデバイスにさらに、
前記認証要求に含まれる暗号ノンスを決定させ、
前記暗号ノンスを前記認証応答に含ませる、
請求項１２に記載の制限付きサブシステム。
【請求項１５】
前記命令が、実行時に、前記ホストコンピューティングデバイスにさらに、
前記認証要求に含まれる第１の識別子を使用し、前記認証要求のターゲットとして前記ホストコンピューティングデバイスを検証させる、
請求項１２に記載の制限付きサブシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
インターネット等のネットワークを介してますます多くのアプリケーション及びサービスが利用できるようになるにつれ、ますます多くのコンテンツプロバイダ、アプリケーションプロバイダ、及びサービスプロバイダがクラウドコンピューティング等の技術に注意を向けている。一般的に、クラウドコンピューティングはウェブサービス等のサービスを通じで電子リソースにアクセスを提供する手法であり、それらのサービスをサポートするために使用されるハードウェア及び／またはソフトウェアは、サービスのニーズをいつでも満たすために動的に拡張できる。カスタマは、通常、クラウドを通してリソースを賃貸する、賃借する、またはそれ以外の場合リソースに対するアクセスの代金を支払い、これによりカスタマはこれらのリソースへのアクセスを提供するためにハードウェア及びソフトウェアを購入し、維持する必要はない。係る手法の潜在的に不利な点は、少なくともカスタマの視点からは、リソースが通常それらのリソースのプロバイダの制御下にあり、したがってカスタマが直接的に制御できない点である。さらに、リソースは多くの場合他のカスタマと共用され、これによりデータ、ソフトウェア、ならびにリソースのセキュリティ及び完全性が損なわれる場合がある。
【０００２】
本開示に従った種々の実施形態を、図面を参照して説明する。
【図面の簡単な説明】
【０００３】
【図１】種々の実施形態を実装できる例の環境を示す。
【図２】種々の実施形態に従って使用できる複数のゲスト仮想マシンを実行する仮想マシンマネージャの例の構成を示す。
【図３】種々の実施形態に従って活用できる、信頼できるコプロセッサを含む例の環境を示す。
【図４】種々の実施形態に従って活用できる例の証明書発行プロセスを示す。
【図５】種々の実施形態に従って活用できる例の認証プロセスを示す。
【図６】種々の実施形態に従って活用できる例の認証プロセスを示す。
【図７】種々の実施形態に従って活用できる別の例の認証プロセスを示す。
【図８】種々の実施形態に従って活用できる別の例の認証検証プロセスを示す。
【図９】種々の実施形態に従って活用できるコンピューティングデバイスの例の構成要素を示す。
【発明を実施するための形態】
【０００４】
本開示の種々の実施形態に係るシステム及び方法は、共用コンピューティング環境においてセキュリティを管理する従来の手法で経験される上述の欠陥及び他の欠陥の１つ以上を克服し得る。特に、種々の実施形態は、遠隔環境で実行中の仮想マシンを有するカスタマに対して、これらのマシンの仮想イメージ（複数可）が原始状態にあり、信頼できる実行環境で実行中である旨の保証を提供する。特に、種々の実施形態は、環境が、制限されたサブシステム（ｌ−ｓｙｓ）及びメインサブシステム（ｍ−ｓｙｓ）等のサブシステムに論理的に分けられる段階的な証明書発行手法を活用し、ｌ−ｓｙｓはｍ−ｓｙｓで実行中の仮想マシンのために管理プロセスをホストできる。ｌ−ｓｙｓは、例えば信頼できるコプロセッサを有する周辺装置を使用して提供できる。一方、ｍ−ｓｙｓは未処理のホストコンピューティングデバイスによって提供できる。ｌ−ｓｙｓはｍ−ｓｙｓよりも高いレベルの信頼を有し、ｍ−ｓｙｓに物理的に接続されているので、ｌ−ｓｙｓは証明機関から証明書を受信することができ、ｍ−ｓｙｓに信用証明書を提供することができ、それによりｌ−ｓｙｓはｍ−ｓｙｓのための証明機関としての機能を果たす。認証段階の間、所望される認証を提供するために、例えば、各サブシステムのための関連する情報をハッシュし、証明のチェーンと結合することができる。関連情報は、サブシステムごとの信用証明書だけではなく適切な識別子も含む場合がある。情報を受信するエンティティは、それぞれのカスタママシンの仮想イメージが原始状態にあり、信頼できる実行環境で実行中である旨の保証を提供するために、適切な信用証明書を使用してシステムのために状態情報を抽出し、情報が予想通りであることを検証できる。
【０００５】
種々の他の適用、プロセス、及び用途は、種々の実施形態に関して以下に提示される。
【０００６】
図１は、種々の実施形態の態様を実施できる例の環境１００を示す。この例では、ユーザーはコンピューティングデバイス１０２を活用して、少なくとも１つのネットワーク１０４全体で、受信される呼び出しまたは要求を、他の係るオプションの中でデータセンタまたは「クラウド環境」等の共用リソース環境１０６に提出できる。コンピューティングデバイス１０２は、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージングデバイス、ラップトップコンピュータ、セットトップボックス、パーソナルデータアシスタント、電子ブックリーダー等を含んでよい任意の適切なデバイスを含む場合がある。少なくとも１つのネットワーク１０４は、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、もしくは任意の他の係るネットワーク、またはその組合せを含む、任意の適切な有線ネットワーク及び／または無線ネットワークを含む場合がある。係るシステムのために使用される構成要素は、選択されるネットワーク及び／または環境の種類に少なくとも部分的に依存する場合がある。係るネットワークを介して通信するためのプロトコル及び構成要素は周知であり、本明細書において詳細に説明されない。
【０００７】
この例のリソース環境１０６は、アプリケーションプログラミングインタフェース（ＡＰＩ)、ルータ、スイッチ、ウェブサーバ、及び既知のまたはユーザーコンピューティングデバイス１０２から環境の適切なリソースに通信の経路を決定するために使用される他の係る構成要素等の構成要素を含んでよいインタフェース層１１８を含む。この例では、リソース環境１０６はいくつかのラック１０８を含み、各ラックは、本例の実施形態での任意選択のラックサポートコンピューティングシステム１１６だけではなく、いくつかのホストコンピューティングデバイス１１０も含む。示されているラック１０８の１つの上のホストコンピューティングシステム１１０は、ホストコンピューティングシステム上の仮想マシンと関連付けられた別個の仮想マシンマネージャ１１２だけではなく、この例の１つ以上の仮想マシン１１４もそれぞれホストする。仮想マシンマネージャ（ＶＭＭ）は、それぞれのホストデバイスで仮想マシン（ＶＭ）を管理し、仮想化の種々の態様を処理するタスクを課される。各仮想マシン１１４は、ユーザーの代わりに１つ以上のタスクを実行するための独立したコンピューティングリソースとしての機能を果たすことができ、仮想マシンはユーザーの専用リソースとして機能する。また、環境は、別個の仮想マシンを含まないが、それにも関わらずそれぞれ１人以上のユーザーのためのコンピューティングリソースとしての機能を果たす追加のホストコンピューティングシステムを含む場合もある。ラックサポートコンピューティングシステム１１６は、おそらく環境１０６に位置する他のコンピューティングシステムに対してだけではなく、そのラックに対してもローカルな他のコンピューティングシステムに種々のユーティリティサービス（例えば、ラックに対してローカルな他のコンピューティングシステム等によって実行されるプログラム実行の、及び／または非ローカルブロックデータストレージアクセスの長期プログラム記憶、測定、及び他のモニタリング等）を提供してよい。また、各コンピューティングシステムは、例えば種々の他の構成要素だけではなく実行プログラムによっても作成されるまたはそれ以外の場合使用されるプログラム及び／またはデータのローカルコピーを記憶するために、１つ以上のローカル接続型記憶装置（不図示）を有してもよい。
【０００８】
図１の例が説明のために簡略化されていること、ならびにホストコンピューティングシステム及び他のデバイスの数及び組織が、図１に示されているものよりもはるかに大きい場合があることが理解される。例えば、１つの例示的な実施形態として、クラウド環境には約数万のコンピューティングシステムがあってよく、それらのコンピューティングシステムの少なくとも一部は、それぞれ複数の仮想マシンをホストしてよいホストコンピューティングシステムである。
【０００９】
所与のホストマシンで複数のゲスト仮想マシン（ＶＭ）またはゲストオペレーティングシステム（ＯＳ）を同時に操作するために、いくつかの仮想化技術を使用できる。図２は、種々の実施形態に従ってハイパーバイザ等の仮想マシンマネージャ（ＶＭＭ）を使用し、１つの仮想化技術を活用することの例２００を示す。ホストコンピューティングデバイス２０２のハードウェア２０４（例えば、中央処理装置及び他の係る構成要素）は、「地金」またはネイティブハイパーバイザの場合でのように、直接的にハードウェア２０４で実行中のＶＭＭ２０６とインタフェースをとることができる。係る目的に役立つハイパーバイザの例は、Ｘｅｎ、Ｈｙｐｅｒ−Ｖ（商標登録）等を含む。ハイパーバイザは、通常、マシン上の他のいかなるソフトウェアよりもより高く、より特権をもったプロセッサ状態で実行し、メモリ管理及びプロセッサスケジューリング等のサービスを従属する層及び／またはドメインに提供する。係る層及び／またはドメインの最も特権をもった層及び／またはドメインは、サービスドメイン層に常駐する。該サービスドメイン層は、ゲスト仮想マシン２１０、２１２、２１４のドメイン、または異機種環境にあってよい（つまり、互いと異なるオペレーティングシステムを実行する）他のオペレーティングシステム等のより低い特権のドメインの動作及び機能性だけではなく、ハイパーバイザ２０６の動作及び機能性も構成するための管理オペレーティングシステムを含んでよいホストドメイン２０８を含んでよい。ホストドメイン２０８（例えば、ＤＯＭ−０）は、ハイパーバイザ２０６を介してホストコンピューティングデバイス２０２のハードウェアリソース２０４に直接的にアクセスし得る。一方、ゲスト仮想マシンドメイン２１０、２１２、２１４は直接的にアクセスし得ない。
【００１０】
ある特定の実施形態では、種々の動作モードがある場合がある。例えば、ホストコンピューティングデバイスでマイクロコードを更新するために、ホストコンピューティングデバイスは、例えばシステム管理割り込み（ＳＭＩ）を受信して通常のハイパーバイザ実行を中断することによって、信頼できるソースから更新を受信し、システム管理モード（ＳＭＭ）に入ることができる。ＳＭＭに入ることにより、プロセッサの単一物理コア（例えば、ブートストラッピングコア）を除くすべての物理プロセッサコアの実行を、少なくとも一部の従来の設計で一時停止させる。実行中のままである単一物理コアは、更新を適用することを担う。一部の実施形態では、プロセッサが、物理コアの実行を一時停止する前にＳＭＩまたは他の割り込み信号を検出したときにプロセッサが実行していた特定の命令のための更新のすべての実行を終了することが保証されてよい。（例えば、ファームウェア、ソフトウェア、またはマイクロコードのための）受信された更新は、例えばサービスプロバイダまたはプロセッサ製造メーカ等の信頼できるソースによって署名及び／または暗号化できる。一例では、更新は、更新の真正性を保証するために秘密鍵または信頼できるソースの他の係る信用証明書を使用し、署名できる。更新が秘密鍵を使用し、署名される場合、ホストコンピューティングデバイスはパッチを適用する前に更新の署名を確証する必要がある場合がある。一部の実施形態では、署名を検証するために使用される公開鍵は、ホストコンピューティングデバイス上のトラステッドプラットフォームモジュール（ＴＰＭ）（不図示）に記憶できる。一部の実施形態では、更新は非対称暗号または対称暗号を使用し、暗号化できる。例えば、更新は、更新の秘匿性を保証するために公開鍵を使用し、暗号化されてよい。更新が暗号化される場合、次いで更新を取り扱うあらゆる中間関係者は、彼らが更新を解読するために使用される秘密鍵にアクセスできない限り、更新を読み取ることまたはその内容を確かめることはできない。更新が暗号化される場合、次いで更新を解読するための秘密鍵は、上述したように、更新を検証するための公開鍵と同様に、ＴＰＭに記憶できる。更新が認証される及び／または解読されると、更新はホストコンピューティングデバイス２０２に適用できる。更新を適用するためにＳＭＭが使用される場合、次いで更新を適用する命令はＳＭＩハンドラで実施できる、またはＳＭＩハンドラはハイパーバイザに事前設定されたパッチ機能を暗号学的に検証し、呼び出すことができる。しかしながら、係る手法の潜在的な不都合な点は、１人以上の外部ユーザーに公開されるホストマシン上の仮想マシンマネージャ（ＶＭＭ）が不正にアクセスされる場合がある点である。結果として、ホストコンピューティングデバイス２０２上のゲスト仮想マシン（ＶＭ）２１０、２１２、２１４の１つは、ハイパーバイザ２０６を通してホストハードウェア２０４のＴＰＭに潜在的にアクセスできる。
【００１１】
種々の実施形態による手法は、カスタマの秘密、鍵、安全なデータ、及び他の係るオブジェクトがその環境の中で十分に守られていること、ならびに環境の意図されないまたは予想外の修正が発生していないことを保証しつつ、係る環境におけるセキュリティを改善しようと試みることができる。図３は、係るセキュリティを提供するために使用できる例の環境３００を示す。類似する構成要素の参照番号は、説明を簡略にするために図の間で引き継ぐことができるが、特に明記しない限り、係る使用が種々の実施形態の範囲の限定として解釈されるべきではないことに留意されたい。この例では、ホストコンピューティングデバイス２０２は、信頼できるコプロセッサ３０４、つまりＶＭＭ２０６及びホストマシンの他の構成要素と通信できる安全なコプロセッサを含む（または受け入れることができる）。信頼できるコプロセッサ３０４は、例えばホストコンピューティングデバイス２０２から取り外しできるＰＣＩデバイス等の周辺装置を介して提供できる。信頼できるコプロセッサは、１つ以上のプロセッサ、メモリ、１つ以上のインタフェース、及び周辺装置または追加のプロセッサを係るシステムに提供するために既知の任意の他の構成要素または接続を含む場合がある。一実施形態では、信頼できるコプロセッサは、特定のファームウェアを含む別個のＰＣＩＥカードの形をとる独立したハードウェア構成要素である。信頼できるコプロセッサの構成により、該コプロセッサはカスタマＶＭと関連付けられた信頼境界、暗号境界、信頼範囲、または信頼できる孤立領域の中にあると論理的に見なすことができる。少なくとも一部の実施形態では、ペリフェラルカードは、リソース環境のプロバイダまたはプロバイダによって信頼されるエンティティによって製造、構成、またはそれ以外の場合提供することができ、これによりプロバイダは、ペリフェラルカードまたは他の係る追加のハードウェアもしくは取り外し可能なハードウェアのセキュリティにおいて、未処理のホストコンピューティングデバイス２０２のセキュリティにおいてよりも高いレベルの信頼を有することができる。
【００１２】
信頼できるコプロセッサ３０４、つまり他の係るハードウェアデバイスは、ホストコンピューティングデバイスがカスタマの仮想マシンのホスト、カスタマデータの処理、または他の係るタスクの実行に実質的に専念できるようにホストコンピューティングデバイス２０２から管理タスクの多くを軽減できる優位点を提供できる。カスタマ専用の計算リソースは、このようにしてホストコンピューティングデバイスによって提供することができ、カスタマのタスクのためのホストハードウェアの使用を最大限にすることができる。一方、それらのリソースの管理は信頼できるコプロセッサによって管理される。これは、すべての管理プロセスが信頼できるコンピューティング環境３０８で、またはより高いレベルのプロバイダの信頼を有するハードウェアに対応する信頼境界の中で実行されるというさらなる優位点を有する。さらなる優位点は、プロバイダアクセスが必要なリソースだけに制限され、システムが信頼できるソフトウェアを実行しているというセキュリティ保証をプロバイダが提供できる点である。
【００１３】
信頼できるコンピューティング環境３０８の中の信頼できるコプロセッサ３０４等の構成要素は、このようにしてホストデバイス上のサブシステムと論理的に見なすことができ、そのサブシステムは相対的に限られた機能を有する。この別個の「制限付き」サブシステムは、関連付けられた暗号境界の中に含まれ、本明細書では「ｌ−ｓｙｓ」と呼ばれる。ホストのハードウェアの少なくとも一部分は、次いでホストマシンで実行している仮想マシン、つまり仮想ホストを提供し、維持することに専念できる。別個の暗号境界の中に含まれるこの「メイン」サブシステムは、本明細書で「ｍ−ｓｙｓ」と呼ばれる。プロバイダアクセスは、このようにして、ｍ−ｓｙｓでホストされるゲストマシンのためのプロバイダ管理機能のために少なくともいくぶんｌ−ｓｙｓに制限される場合がある。
【００１４】
しかしながら、プロバイダアクセスの係る分離及び制限があったとしても、プロバイダは依然として、（仮想環境で実行中の仮想インスタンスを有する）カスタマに対して、カスタマインスタンスごとの仮想イメージが、予想外の修正がない「原始」つまり予想される状態にある旨、及びインスタンスが信頼できる実行環境で実行中である旨の保証を提供できる必要がある。種々の実施形態による手法は、段階的なつまりチェーン接続された証明書発行機構を使用し、係る保証を提供でき、それによりサブシステムは、サブシステムを識別し、サブシステムの上部で実行中のソフトウェア及び仮想システムを真正として検証することを可能にする独自の証明書発行機構を有することができる。少なくとも一部の実施形態での各サブシステムは、追加のファームウェア及びソフトウェアを実行する能力だけではなく、独自の暗号境界、安全な記憶装置、及び信頼できる計算機能を有する場合もある。
【００１５】
さらに、少なくとも一部のサブシステムは、信頼できるコンピューティング環境の一部として別々のメモリ及びプロセッサスペースを活用することができ、例えばトラステッドプラットフォームモジュール（ＴＰＭ）または他の係る構成要素としてモデル化されてよい。ＴＰＭは、例えばホストで実行中のシステムの真正性を遠隔で検証するために遠隔認証を実行するために使用できる。例えばＴＰＭのシリーズ、チェーン、または階層を提供することによって、サブシステムを識別することができ、それらのサブシステムの上部で実行中のソフトウェア及び仮想システムを真正として検証できる。本明細書に説明される例は、ｌ−ｓｙｓ及びｍ−ｓｙｓを含む２システムホストに関係するが、種々の他の数及び／または構成のサブシステムを種々の実施形態の範囲内で必要に応じて使用できることが理解されるべきである。
【００１６】
言及されたように、リソースプロバイダ環境で埋め込みシステムを使用し、機密タスクまたは秘密タスクを実行するカスタマは、多くの場合、遠隔埋め込みシステムが予想外に修正または改ざんされなかったこと、ならびに埋め込みシステム及び仮想マシンが予想通りに機能することを保証できることを望む。係る動作を検証するための１つの手法は遠隔認証を含む。遠隔認証は、例えば本明細書に記載される種々のサブシステム等のコンピューティング環境に対する許可されていないまたは予想外の変更の検出に備える。これらの変更は、安全対策を回避しようとする試みに対する修正を含む場合がある。従来の遠隔認証プロセスの間、ホストマシンは、ホストで現在実行中のソフトウェアを示す証明書を生成できる。証明書は、次いで環境で現在実行中のソフトウェアが修正されていないまたは予想通りであることを立証するために、カスタマまたは別の適切な関係者に提供できる。遠隔認証は、例えば、ソフトウェアに関する情報が認証を要求している関係者または適切な鍵を入手した他の関係者だけに公開されることを保証するために公開鍵暗号化を利用できる。一般的にＴＰＭは、暗号鍵をハードウェアの中にインストールすることによってハードウェアを保護できる専用のマイクロプロセッサである。ＴＰＭは、ホストのハードウェア及びソフトウェアで予想される動作を実施するためにＴＰＭの外部ではアクセスできない一意の暗号鍵を活用できる。一部の実施形態では、一意の鍵は、２０４８ビットのＲＳＡ公開鍵と秘密鍵の対等の、変更不可能であり、ＴＰＭからエクスポートできない承認鍵である。承認鍵のための公開鍵は、ＴＰＭのための証明書の中に含まれる場合がある。ＴＰＭは、対応する環境またはサブシステムのハードウェア及びソフトウェアの構成のハッシュ要約を生成することによって、一部の実施形態で遠隔認証を実行できる。ハッシュ値は、任意の適切な暗号ハッシュアルゴリズムを使用し、生成することができ、例えばＭＤ５、ＳＨＡ−１ハッシュ、ＳＨＡ−２ハッシュ、またはＳＨＡ−３ハッシュを生成してよい。
【００１７】
種々の実施形態による手法は、１−ｓｙｓの第１のＴＰＭ３０６、つまりこの例では信頼できるコプロセッサ３０４を有する周辺機器、及びｍ−ｓｙｓの第２のＴＰＭ３０２、つまりこの例ではホストコンピューティングデバイス２０２の残りを活用して、遠隔認証を実行できる。信頼できるｌ−ｓｙｓ環境３０８は、ｍ−ｓｙｓの認証を実行できるデバイス上の、ｍ−ｓｙｓ等の１つ以上の他のサブシステムの認証のための信頼の根底として機能できる。ｌ−ｓｙｓは、認証完全性鍵の対及びホストアイデンティティ鍵の対を生成することができ、公開鍵は上述したように証明機関からの証明書に結び付けられている。その情報は、認証のためのハッシュを生成するためだけではなく、インフラストラクチャの中でデバイスを一意に識別するためにも使用できる。一部の実施形態では、認証要求はなんらかの種類の質問、タスク、または課題を含み、要求を受け取るデバイスは質問、タスク、または課題とともに情報を収集し、要求元（または別の適切な関係者もしくは宛先）に返されるハッシュを生成できる。認証要求は、ＡＰＩを通して受け取ることができ、コンソールまたは他の係るインタフェースを通してトリガできる。一部の実施形態では、認証要求は、例えば仮想ＴＰＭまたは他の係る認証デバイスから等、カスタマの仮想マシンから来る場合がある。要求する関係者は、次いで課題のためのすべての情報の予想される値だけではなく、正しい課題も含まれていたことを保証するために、適切な鍵のそのコピーを使用できる。これは、ｌ−ｓｙｓのソフトウェア、ハードウェア、構成、及び／または他の態様が予想通りであり、予想外の修正が発生していないことを保証するために役立つ場合がある。ｌ−ｓｙｓが予想通りに動作していると検証されると、（プロバイダの制御下のファームウェアを含む場合がある）ｌ−ｓｙｓはｍ−ｓｙｓ、つまり上位システムをブートできる、またはそれ以外の場合初期化できる。また、ｍ−ｓｙｓは、認証完全性鍵の対及びホストアイデンティティ鍵の対を生成できるＴＰＭを有する場合もあり、公開鍵は適切な証明書に結び付けられている。その情報は、認証のためのハッシュを生成するためだけではなく、インフラストラクチャの中でデバイスを一意に識別するためにも使用できる。この例では、ｌ−ｓｙｓはｍ−ｓｙｓのための証明書発行機関である場合がある。ｌ−ｓｙｓ、つまり信頼できるコプロセッサは、このようにして証明書を発行し、副証明機関としての機能を果たし、信頼できるコプロセッサはホストに物理的な接続を有するので、ｌ−ｓｙｓがｍ−ｓｙｓのＴＰＭに物理的に接続されていることを証明することができる。係る手法は完全認証チェーンを提供できる。カスタマまたはホストを認証することを希望する他のエンティティは、ｌ−ｓｙｓにチェーンで接続される指定仮想マシンのホストに対応するｍ−ｓｙｓの証明書、及び元の証明機関にチェーンで接続されるペリフェラルカードまたは信頼できるコプロセッサを通して認証を得ることができる。
【００１８】
一例では、カスタマシステムは、リソースプロバイダ環境で仮想ホスト上で実行中のカスタマ仮想マシンと通信している。カスタマシステムは、仮想マシンを実行しているホストコンピューティングデバイスのホストＩＤだけではなく、仮想マシンに結び付けられているインスタンス識別子（ＩＤ）等の情報も知っている場合がある。カスタマシステムは、次いで認証コマンド、つまり認証要求をカスタマ仮想マシンに送信できる。仮想マシンは、一部の実施形態では周辺装置またはｌ−ｓｙｓを通して到達し得る要求を受信できる。仮想マシンはインスタンスＩＤ及びホストＩＤを受信し、仮想マシンが要求を正しく受信し、認証が提供される必要があると判断することができる。認証を提供するために、情報は信頼できるルートシステム、つまりｌ−ｓｙｓ、及びメインシステム、つまりｍ−ｓｙｓの両方のために返される必要がある。この例では、仮想マシンは、予想される情報及び認証コマンドの課題を使用し、適切なハッシュを生成できるｌ−ｓｙｓに認証コマンドを送信できる。また、ｌ−ｓｙｓは、ｍ−ｓｙｓ情報のために類似するハッシュを生成できるｍ−ｓｙｓにも認証コマンドを送信できる。ｍ−ｓｙｓのハッシュは、仮想マシンのカスタマの予想されるブートイメージのための情報を含む場合がある。仮想マシンは、例えば両方のハッシュ値を入手することができ、認証のために適切な情報を送り返すことができる。これは、例えば、ｌ−ｓｙｓ及びｍ−ｓｙｓのための証明書チェーンだけではなく、ｌ−ｓｙｓ及びｍ−ｓｙｓのハッシュ値も含む場合がある。情報を受信するカスタマシステムは、イメージが予想通りあることを検証することができ、認証チェーンを信頼できる。また、サブシステムごとに引用（または、署名される場合がある他の測定値）を得るカスタマシステムは、それらの署名の中の値だけではなく、各引用に対する署名も検証できる。また、カスタマシステムは、ｍ−ｓｙｓ証明書がｌ−ｓｙｓによって発行され、ｌ−ｓｙｓ証明書が信頼できる証明機関によって発行されたことも検証できる。カスタマが証明機関を信頼する限り、カスタマは、カスタマの仮想マシンが予想通りに動作していることを示す情報を検証できるはずである。
【００１９】
検証のためのハッシュの一部として提供される情報は、関連するサブシステムのための任意の適切な情報を含む場合がある。信頼できるコプロセッサが、例えばペリフェラルカード上にあるｌ−ｓｙｓの場合、ハッシュはＰＣＲレジスタのための値、つまり信頼できるコプロセッサのファームウェアのための情報を含む場合がある。種々の他の種類の情報も活用できる。どの情報を含むのかの決定は、システムまたは環境が予想通りに動作しているというセキュリティの強化を提供する多くの情報を含むことの有用性と、カスタマシステムが現在の状態について予想するために適切なハッシュを知るまたは決定できるように、システムまたは環境の現在の状態の知識を維持する必要性とのバランスをとることができる。認証のチェーンを使用することの優位点は、ｌ−ｓｙｓが、サブシステムの性質のためにより信頼できる環境であることに加え、より制御され、簡略な環境であり、これによりハッシュエラーまたは照合エラーの可能性が大幅に削減され、セキュリティ侵害の可能性も大幅に削減される点である。ｍ−ｓｙｓのハードウェアとソフトウェアの両方とも、リソースプロバイダ環境の外部から供給されるので、多くの場合、環境が安全であるというより少ないまたはより弱い保証がある場合がある。サブシステムの性質により、他の係る優位点の中で、ｌ−ｓｙｓに対する信頼のレベル及びｌ−ｓｙｓのｍ−ｓｙｓへの物理的な接続のために他者を認証できることは、信頼できるサブシステムにとって有益になる。
【００２０】
段階的なサブシステム手法を使用し、遠隔認証を可能にするために、証明書発行プロセスは最初に少なくとも一部の実施形態で使用されて、サブシステムが認証のために適切な信用証明書を有していることを保証する。図４は、種々の実施形態に従って活用できる段階的なサブシステムに信用証明書を提供するための例のプロセス４００を示す。本明細書に説明されるいずれのプロセスについても、別段の記載がない限り、種々の実施形態の範囲内で類似するもしくは異なる順序でまたは並行して実行される追加のステップ、より少ないステップ、または代替ステップがある場合があることが理解されるべきである。この例では、制限付きシステムがホストコンピューティングデバイス上のメインシステムを管理するために提供でき４０２、制限付きシステムは、本明細書に説明されるように信頼できるハードウェア及びソフトウェアを有する場合があり、関連付けられた暗号境界及び／または信頼境界の中に含むことができる。ｌ−ｓｙｓは、本明細書に説明もしくは示唆される、またはデジタル証明書を入手するための当技術分野で既知の種々のプロセスのいずれかを使用し、証明機関から証明書を受信できる４０４。ｌ−ｓｙｓは、認証完全性鍵の対及びホストアイデンティティ鍵の対を生成でき４０６、公開鍵はそれぞれの証明機関によって発行される証明書に結び付けられ、ｌ−ｓｙｓのＴＰＭから証明された承認鍵を使用し、生成される。種々の技術のいずれかは、証明機関を介して、既知のまたは証明された承認鍵から証明されたホスト認証鍵またはアイデンティティ鍵にブートストラップするために使用できる。ｌ−ｓｙｓの終結時、ＴＰＭは、証明機関により証明された認証完全性鍵及びホストアイデンティティ鍵を有する場合がある。これらの証明された鍵は記憶し４０８、Ｃｅｒｔｌ−ｓｙｓによって匿名で示すことができる。
【００２１】
さらに、証明書発行段階では、ｍ−ｓｙｓのＴＰＭは、ｍ−ｓｙｓからアクセス可能である場合がある。ｌ−ｓｙｓは、オフボックスネットワークトラフィックを必要とせずにｍ−ｓｙｓと通信できる。ｍ−ｓｙｓのＴＰＭは、ｌ−ｓｙｓから、証明書チェーンを生成する４１２ために使用できる信用証明書を取得させることができる４１０。証明機関はこのようにしてｌ−ｓｙｓを証明し、ｌ−ｓｙｓはｍ−ｓｙｓの鍵を証明する。ｍ−ｓｙｓの証明書発行は、証明機関がｌ−ｓｙｓの権限で証明されたホストアイデンティティ鍵によって代替される方法を活用できる。ｍ−ｓｙｓは、認証完全性鍵の対及びホストアイデンティティ鍵の対を生成する４１４ことができ、公開鍵はｌ−ｓｙｓによって発行される信用証明書に結び付けられ、ｍ−ｓｙｓのＴＰＭからの証明された承認鍵を使用し、生成される。終結時、ｍ−ｓｙｓのＴＰＭはｌ−ｓｙｓによって証明された認証完全性鍵及びｌ−ｓｙｓによって証明されたホストアイデンティティ鍵を有することができる。これらの証明された鍵は記憶し４１６、Ｃｅｒｔｍ−ｓｙｓによって匿名で示すことができる。
【００２２】
両方のサブシステム（または、２つ以上のサブシステムの場合にはすべてのサブシステム）が信用証明書を添えられると、システムで実行中のカスタマ配備を認証できる。図５は、種々の実施形態に従って活用できるカスタマ配備を認証するための例のプロセス５００を示す。係るプロセスは、少なくとも一部の実施形態で、認証要求部分及び認証応答部分を含む種々の部分に分けることができる。少なくとも一部の実施形態では、認証応答バリデーションプロセスまたは部分がある場合もある。認証要求に関係する第１の部分は、カスタマ配備の認証を要求するエンティティを含む。この例では、認証要求が受信され５０２、認証要求は、カスタマ配備のホストコンピューティングデバイスのホストアイデンティティ（ｈ−ｉｄ）等の情報を含む。本明細書の他の部分で説明されるように、制御プレーン構成要素に対する認証要求を最初に受信し、次いで他の係るオプションの中で、制限付きシステム構成要素またはインタフェースに転送できる。プロセスの一部として、ランダム暗号ノンスＮ、つまり他の任意の使い捨ての数字が、次いで少なくとも値ｈ−ｉｄ及びＮから成る認証要求で生成できる。少なくとも一部の実施形態では、ホストｈ−ｉｄに対する出力認証要求が受信できる。
【００２３】
ホストアイデンティティｈ−iｄを有する信用証明書を添えられたホストは、ｌーｓｙｓを通ってきた可能性がある要求を受信できる。信用証明書を添えられたホストは、説明されるように、ｍ−ｓｙｓ及びｌ−ｓｙｓのための値から成るアイデンティティｈ−ｉｄを有し、ｌ−ｓｙｓは証明機関によって証明されている。ｍ−ｓｙｓ、つまり要求を受信するまたは要求を通知される他の構成要素は、例えば、ｌ−ｓｙｓの認証をトリガできる５０４。認証要求に応えて、意図された認証ターゲットのためのｈ−ｉｄを検証できる。第１の認証引用、Ｑｕｏｔｅ１（つまり他の署名された測定値）は、ノンスＮ及び証明機関によって証明されたｌ−ｓｙｓの信用証明書を使用し、作成できる５０６。ｌ−ｓｙｓは、同様にｍ−ｓｙｓに対して認証要求を送信できる５０８。ｍ−ｓｙｓは、ノンスＮ及びｌ−ｓｙｓによって証明されたｍ−ｓｙｓの信用証明書を使用し、第２の認証引用Ｑｕｏｔｅ２を作成できる５１０。本明細書の他の部分で言及されるように、各引用は少なくとも一部の実施形態でそれぞれの情報のハッシュを含む場合がある。ｌ−ｓｙｓは次いでｍ−ｓｙｓからＱｕｏｔｅ２及び信用証明書Ｃｅｒｔｍ−ｓｙｓを受信し、Ｑｕｏｔｅ１、Ｑｕｏｔｅ２、ならびに証明書Ｃｅｒｔｍ−ｓｙｓ及びＣｅｒｔｌ−ｓｙｓ、つまり一部の実施形態では、認証応答として返される出力を形成する場合がある証明書チェーンを含む認証応答をアセンブルすることができる５１２。ｌ−ｓｙｓは次いで、適切な宛先またはアドレスに要求を転送できる５１４。
【００２４】
少なくとも一部の実施形態では、認証応答を受信するエンティティ（つまり関心があり、許可された別のエンティティ）であって、状態の真正性保証を有するエンティティが認証の検証を希望する場合がある。図６は、種々の実施形態に従って活用できる認証応答を検証するための例のプロセス６００を示す。この例では、認証応答は、例えばｍ−ｓｙｓサブシステムにおいて等、リソースプロバイダ環境において実行中の配備と関連付けられたカスタマ等の、認証の検証に関心があるエンティティによって受信される６０２。検証プロセスの一部として、システムについて報告された状態を判断できる６０４。状態情報は、例えばホストアイデンティティｈ−ｉｄに対する認証要求を生成するために使用されるノンスＮだけではなく、証明機関からの公開鍵の真正なコピーも含む場合がある。また、状態は、ｍ−ｓｙｓのための許容認証応答値（ＰＣＲ値）の第１の集合、ｌ−ｓｙｓのための許容認証応答値（ＰＣＲ値）の第２の集合を含む場合もある。入力は、Ｑｕｏｔｅ１、Ｑｕｏｔｅ２、ならびに証明書Ｃｅｒｔｍ−ｓｙｓ及びＣｅｒｔｌ−ｓｙｓを含む認証引用及び信用証明書を含む場合がある。検証プロセスの一部として、Ｃｅｒｔｌ−ｓｙｓがｈ−ｉｄのための証明機関からの有効な証明書である旨の第１の検証を実行できる６０６。有効な証明書ではない場合、認証不合格応答を返すことができる６０８、または他の是正措置を講じることができる。言及されたように、これらの検証は便宜上特定の順序で示されているが、これらの決定が異なる順序で、または同時に、またはそれ以外の場合種々の実施形態の範囲内で実行できることが理解されるべきである。第１の引用Ｑｕｏｔｅ１がＣｅｒｔｌ−ｓｙｓの適切なｈ−ｉｄ信用証明書を使用し、署名され、ノンスＮを含み、正しいＰＣＲ値を有する旨の第２の検証を実行できる６１０。そうではない場合、認証不合格応答を返すことができる６０８、または他の是正措置を講じることができる。Ｃｅｒｔｍ−ｓｙｓがｈ−ｉｄのためのｌ−ｓｙｓからの有効な証明書である旨の第３の検証を実行できる６１２。有効な証明書ではない場合、認証不合格応答を返すことができる６０８、または他の是正措置を講じることができる。第２の引用Ｑｕｏｔｅ２が、Ｃｅｒｔｍ−ｓｙｓの適切なｈ−ｉｄを使用し、署名され、ノンスＮを含み、正しいＰＣＲ値を有する旨の第４のバリデーションを実行できる６１４。そうではない場合、認証不合格応答を返すことができる６０８、または他の是正措置を講じることができる。すべての検証が無事に合格すると、合格つまり成功メッセージを返すことができる６１６、または認証の検証に応えて他の類似した措置を講じることができる。
【００２５】
図７は、認証であるが、この場合、特定の仮想マシンまたはシステムで実行中のカスタマインスタンスに特有である認証のための類似したプロセス７００を示す。この例では、遠隔仮想マシンに対する認証要求が受信され７０２、認証要求は仮想マシンの仮想イメージのアイデンティティ（ｖ−ｉｄ）及び仮想イメージがロードされるホストコンピューティングデバイスのホストアイデンティティ（ｈ−ｉｄ）等の情報を含む。プロセスの一部として、無作為の暗号ノンスＮ、つまり他の任意の使い捨ての数字が、そのときに少なくとも値ｖ−ｉｄ、ｈ−ｉｄ、及びＮから成る認証要求で生成できる。少なくとも一部の実施形態では、ホストｈ−ｉｄに対する出力認証要求が受信できる。
【００２６】
ホストアイデンティティｈ−ｉｄを有する信用証明書を添えられたホストは、ｌ−ｓｙｓを通ってきた可能性がある要求を受信できる。信用証明書を添えられたホストは、説明されるように、ｍ−ｓｙｓ及びｌ−ｓｙｓのための値から成るアイデンティティｈ−ｉｄを有し、ｌ−ｓｙｓは証明機関によって証明されている。ｍ−ｓｙｓ、つまり要求を受信するまたは要求を通知される他の構成要素は、例えばｌ−ｓｙｓの認証をトリガできる７０４。認証要求に応えて、意図された認証ターゲットのためのｈ−ｉｄを検証できる。第１の認証引用、Ｑｕｏｔｅ１は、ノンスＮ及び証明機関によって証明されるｌ−ｓｙｓの信用証明書を使用し、作成できる７０６。ｌ−ｓｙｓは、同様にｍ−ｓｙｓに認証要求を送信できる７０８。ｍ−ｓｙｓは、ノンスＮ及びｌ−ｓｙｓによって証明されるｍ−ｓｙｓの信用証明書を使用し、第２の認証引用、Ｑｕｏｔｅ２を作成できる７１０。一部の実施形態の第２の認証引用は、ＰＣＲレジスタの１つ以上で示される仮想イメージｖ−ｉｄをカバーする。また、例えば署名された測定値または引用等の測定値も、特定の仮想マシンまたはカスタマインスタンスについて決定または生成することができ７１２、この例では、測定値はｖ−ｉｄの形をとる。ｌ−ｓｙｓは次いでｍ−ｓｙｓからＱｕｏｔｅ２及び信用証明書Ｃｅｒｔｍ−ｓｙｓを受信し、Ｑｕｏｔｅ１、Ｑｕｏｔｅ２、ならびに証明書Ｃｅｒｔｍ−ｓｙｓ及びＣｅｒｔｌ−ｓｙｓ、つまり一部の実施形態では、認証応答として返される出力を形成する場合がある証明書チェーンを含む認証応答をアセンブルすることができる７１４。また、ｌ−ｓｙｓは、適切な宛先またはアドレスに要求を転送できる７１６。
【００２７】
少なくとも一部の実施形態では、認証応答を受信するエンティティ（つまり関心があり、許可された別のエンティティ）であって、状態の真正性保証を有するエンティティが認証の検証を希望する場合がある。図８は、種々の実施形態に従って活用できる認証応答を検証するための例のプロセス８００を示す。この例では、認証応答は、例えばｍ−ｓｙｓサブシステムにおいて等、リソースプロバイダ環境において実行中の仮想マシンと関連付けられたカスタマ等の、認証の検証に関心があるエンティティによって受信される８０２。検証プロセスの一部として、システムについて報告された状態を判断できる８０４。状態情報は、例えば仮想イメージｖ−ｉｄ及びホストアイデンティティｈ−ｉｄに対する認証要求を生成するために使用されるノンスＮだけではなく、証明機関からの公開鍵の真正なコピーも含む場合がある。また、状態は、ｍ−ｓｙｓのための許容認証応答値（ＰＣＲ値）の第１の集合、ｌ−ｓｙｓのための許容認証応答値（ＰＣＲ値）の第２の集合、及び仮想イメージｖ−ｉｄのための許容認証応答値を含む場合もある。入力は、Ｑｕｏｔｅ１、Ｑｕｏｔｅ２、ならびに証明書Ｃｅｒｔｍ−ｓｙｓ及びＣｅｒｔｌ−ｓｙｓを含む認証引用及び信用証明書を含む場合がある。検証プロセスの一部として、Ｃｅｒｔｌ−ｓｙｓがｈ−ｉｄのための証明機関からの有効な証明書である旨の第１の検証を実行できる８０６。有効な証明書ではない場合、認証不合格応答を返すことができる８０８、または他の是正措置を講じることができる。言及されたように、これらの検証は便宜上特定の順序で示されているが、これらの決定が異なる順序で、または同時に、またはそれ以外の場合種々の実施形態の範囲内で実行できることが理解されるべきである。第１の引用Ｑｕｏｔｅ１がＣｅｒｔｌ−ｓｙｓの適切なｈ−ｉｄ信用証明書を使用し、署名され、ノンスＮを含み、正しいＰＣＲ値を有する旨の第２の検証を実行できる８１０。そうでない場合、認証不合格応答を返すことができる８０８、または他の是正措置を講じることができる。Ｃｅｒｔｍ−ｓｙｓがｈ−ｉｄのためのｌ−ｓｙｓからの有効な証明書である旨の第３の検証を実行できる８１２。有効な証明書ではない場合、認証不合格応答を返すことができる８０８、または他の是正措置を講じることができる。第２の引用Ｑｕｏｔｅ２が、Ｃｅｒｔｍ−ｓｙｓの適切なｈ−ｉｄを使用し、署名され、ノンスＮを含み、正しいＰＣＲ値を有する旨の第４のバリデーションを実行できる８１４。そうでない場合、認証不合格応答を返すことができる８０８、または他の是正措置を講じることができる。Ｑｕｏｔｅ２の値が、少なくとも一部の実施形態では専用のまたは追加のＰＣＲ値である可能性が最も高い、ｖ−ｉｄのための仮想イメージの許容認証応答値を含む旨の第５の検証を実行できる８１６。含まない場合、認証不合格応答を返すことができる８０８、または他の是正措置を講じることができる。すべての検証が無事に合格すると、合格つまり成功メッセージを返すことができる８１８、または認証の検証に応えて他の類似した措置を講じることができる。
【００２８】
一部の実施形態では、ＴＰＭまたは他の信頼できる環境は、例えば証明書等の検証可能な信用証明書でセットアップされない場合がある。これらの状況の場合、ホストに対する物理アクセスを代わりに使用できる特有のプロビジョニングプロセスを活用できる。一部の実施形態では、遠隔システムの認証は特権を必要とする場合がある。要求するエンティティのための証明された信用証明書は、可能であれば確立し、認証要求の真正性を確証するために使用することができる。中でも注目すべきことに、証明された非対称鍵の対を使用することができ、認証要求に署名できる。一部の実施形態では、ホストアイデンティティｈ−ｉｄも仮想イメージ識別子ｖ−ｉｄも認証作成のために既知である必要はない。ホストアイデンティティは、認証要求生成時に必ずしも既知である必要はなく、仮想イメージ識別子は認証引用の一部として折り返し報告することができ、これにより許容値を決定できる。
【００２９】
少なくとも一部の実施形態では、引用はＴＰＭにより定義される引用機構に制限される必要はなく、システムのアイデンティティ鍵を使用し、追加で署名された情報を含んでよい。ｍ−ｓｙｓ認証応答は、複数の仮想イメージの真正性を判断するのに十分な情報を含む場合がある。これは、一部の実施形態では、複数の引用を返すこと、または複数の結果を単一の引用に結合することによって実行できる。さらに、説明のために２システム階層が提示されているが、任意の適切なツリーまたは証明機関の親ノードを有する階層構造を種々の実施形態の範囲内でも使用することができ、ツリーの各ノードは親ノードによって署名されることが言及されるべきである。同様に、少なくとも一部の実施形態では任意の数のルート証明機関がある場合がある。１つの係るシステムでは、ｌ−ｓｙｓは単一のホストの中に含まれるサブシステムのファミリのルートを形成する。
【００３０】
さらに、本開示の実施形態は、以下の条項を鑑みて説明できる。
１．ホストコンピュータシステムであって、
複数の仮想マシンを操作するように構成された少なくとも１つのプロセッサと、
コプロセッサ、及び前記複数の仮想マシンを管理するための第１の実行可能命令を記憶する第１のメモリを含む周辺装置であって、少なくとも第１の承認鍵及び証明機関から受信される第１の証明書を使用し、前記周辺装置と使用するために構成された第１の安全な暗号プロセッサをさらに含む前記周辺装置と、
第２の安全な暗号プロセッサ、及び第２の実行可能命令を記憶し、少なくとも第２の承認鍵及び前記第１の安全な暗号プロセッサから受信される第２の証明書を使用し、前記ホストコンピュータシステムと使用するために構成された第２のメモリと、
を備え、
前記第１の命令が、実行時に、前記周辺装置に、
前記複数の仮想マシンのカスタマ仮想マシンと関連付けられた認証要求を受信させ、前記カスタマ仮想マシンがカスタママシンイメージを使用し、起動され、
前記周辺装置のための第１の署名済み測定値を生成させ、前記第１の署名済み測定値が、前記周辺装置のための識別情報、及び前記証明機関から受信された前記第１の証明書を使用し、生成された信用証明書を含み、
前記第２の安全なプロセッサに、前記ホストコンピューティングシステムのための第２の署名済み測定値を生成させ、前記第２の署名済み測定値が、前記ホストコンピューティングマシンのための識別情報、前記カスタママシンイメージのための情報、及び前記第１の安全な暗号プロセッサから受信された前記第２の証明書を使用し、生成された信用証明書を含み、
前記第１の署名済み測定値、前記第２の署名済み測定値、ならびに前記第１の証明書及び前記第２の証明書のための証明書チェーンを含む認証応答をアセンブルさせ、
前記認証応答を転送させ、カスタマシステムが少なくとも前記カスタマ仮想マシンの完全性及び前記ホストコンピューティングシステムのセキュリティを検証することを可能にされる、
前記ホストコンピュータシステム。
【００３１】
２．前記第２の命令が、実行時に、前記システムに、さらに前記ホストコンピューティングデバイスでメインサブシステムを操作させ、前記メインサブシステムが前記カスタママシンイメージを使用し、前記カスタマ仮想マシンを実行することを担い、
前記第１の命令が、実行時に、前記コプロセッサに前記周辺装置を使用し、制限付きサブシステムをさらに操作させ、前記制限付きサブシステムが前記メインサブシステムのために管理タスクを実行するように構成され、前記制限付きサブシステムが、前記メインサブシステムを初期化し、前記信用証明書を前記第２の安全な暗号プロセッサに提供させるようにさらに構成される、
条項１に記載のホストコンピュータシステム。
【００３２】
３．前記第１の署名済み測定値が、前記第１の暗号プロセッサに対応する第１の認証完全性鍵の対及び前記第１のホストアイデンティティ鍵の対をさらに含み、前記第２の署名済み測定値が、前記第２の暗号プロセッサに対応する第２の認証完全性鍵の対及び第２のホストアイデンティティ鍵の対をさらに含む、条項１に記載のホストコンピュータシステム。
【００３３】
４．前記命令が、実行時に、前記システムにさらに、
前記第１の署名済み測定値の第１のハッシュ及び前記第２の署名済み測定値の第２のハッシュを生成させ、前記認証応答に前記第１のハッシュ及び前記第２のハッシュを含ませる、
条項１に記載のホストコンピュータシステム。
【００３４】
５．コンピュータによって実装される方法であって、
カスタマシステムからコンピューティングデバイスのメインサブシステムへの認証要求を受信することであって、前記コンピューティングデバイスが前記カスタマシステムと関連付けられたカスタマ仮想マシンを操作する、前記受信することと、
前記コンピューティングデバイスに物理的に接続された信頼できるハードウェアを使用し、提供された制限付きサブシステムに要求を送信することであって、前記制限付きサブシステムが前記カスタマ仮想マシンのために管理タスクを実行するように構成された、前記送信することと、
前記制限付きサブシステムから、前記制限付きサブシステムのための第１の信用証明書を含む第１の測定値を受信することであって、前記第１の信用証明書が、証明機関によって提供された第１の証明書を使用し、生成される、前記受信することと、
前記メインサブシステムのための第２の信用証明書及び前記カスタマ仮想マシンのための状態情報を含む第２の測定値を生成することであって、前記第２の信用証明書が、前記制限付きサブシステムによって提供された第２の証明書を使用し、生成される、前記生成することと、
前記カスタマシステムに認証応答を送信することであって、前記認証応答が前記第１の測定値及び前記第２の測定値を含む、前記送信することと、
を含む、前記コンピュータによって実装される方法。
【００３５】
６．前記制限付きサブシステムの第１の安全な暗号プロセッサに対する前記第１の証明書を受信することと、
前記第１の安全な暗号プロセッサの前記第１の証明書及び第１の承認鍵を使用し、前記第１の信用証明書を生成することであって、前記第１の承認鍵が前記第１の安全な暗号プロセッサからエクスポートできない、前記生成することと、
をさらに含む、条項５に記載のコンピュータによって実装される方法。
【００３６】
７．前記第１の信用証明書が、前記制限付きサブシステムと関連付けられた第１の認証完全性鍵の対及び第１のホストアイデンティティ鍵の対を含む、条項６に記載のコンピュータによって実装される方法。
【００３７】
８．前記メインサブシステムの第２の安全な暗号プロセッサに対する前記第２の証明書を受信することと、
前記第２の安全な暗号プロセッサの前記第２の証明書及び第２の承認鍵を使用し、前記第２の信用証明書を生成することであって、前記第２の承認鍵が前記第２の安全な暗号プロセッサからエクスポートできない、前記生成することと、
をさらに含む、条項６に記載のコンピュータによって実装される方法。
【００３８】
９．前記第２の信用証明書が、前記メインサブシステムと関連付けられた第２の認証完全性鍵の対及び第２のホストアイデンティティ鍵の対を含む、条項８に記載のコンピュータによって実装される方法。
【００３９】
１０．前記認証要求に含まれる第１の識別子を使用する前記ホストマシンのアイデンティティ、及び前記認証要求に含まれる第２の識別子を使用するカスタママシンイメージのアイデンティティを、前記要求を前記制限付きサブシステムに送信する前に検証すること、をさらに含む、条項５に記載のコンピュータによって実装される方法。
【００４０】
１１．前記第１の測定値及び前記第２の測定値の少なくとも１つを使用し、少なくとも１つのハッシュ値を生成することと、
前記少なくとも１つのハッシュ値を前記認証応答に含むことであって、前記少なくとも１つのハッシュ値が前記カスタマシステムと関連付けられる、前記含むことと、
をさらに含む、条項５に記載のコンピュータによって実装される方法。
【００４１】
１２．前記認証要求が、仮想インスタンスのための測定値または前記第１の証明書及び前記第２の証明書のための証明書チェーンの少なくとも１つをさらに含む、条項５に記載のコンピュータによって実装される方法。
【００４２】
１３．前記測定値が引用または暗号学的に検証可能な測定値の１つである、条項５に記載のコンピュータによって実装される方法。
【００４３】
１４．前記信頼できるハードウェアが、前記コンピューティングデバイスが動作する環境のプロバイダによって構成されたファームウェア及び命令を含むペリフェラルカードであり、前記ペリフェラルカードが前記コンピューティングデバイスよりも高いレベルの信頼を有する、条項５に記載のコンピュータによって実装される方法。
【００４４】
１５．前記認証要求に含まれる課題情報を決定することと、
前記課題情報を前記認証応答に含むことと、
をさらに含む、条項５に記載のコンピュータによって実装される方法。
【００４５】
１６．ホストコンピューティングデバイスで動作する制限付きサブシステムであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサによって実行されるときに、前記制限付きサブシステムに、
前記ホストコンピューティングデバイス上のメインサブシステムで実行中の仮想マシンに対する認証要求を受信させ、前記制限付きサブシステムが、前記ホストコンピューティングデバイスに物理的に接続された信頼できるハードウェアを使用し、提供され、前記仮想マシンのために管理タスクを実行するように構成され、
前記制限付きサブシステムのための第１の信用証明書を含む第１の測定値を生成させ、前記第１の信用証明書が、証明機関によって提供された第１の証明書を使用し、生成され、
前記ホストコンピューティングデバイスの前記メインサブシステムに、前記メインサブシステムのための第２の信用証明書及び前記カスタマ仮想マシンのための状態情報を含む第２の測定値を生成させ、前記第２の信用証明書が、前記制限付きサブシステムによって提供された第２の証明書を使用し、生成され、
前記第１の測定値及び前記第２の測定値を含む認証応答を送信させる、
命令を記憶するメモリと、
を備える、前記制限付きサブシステム。
【００４６】
１７．前記命令が、実行時に、前記ホストコンピューティングデバイスにさらに、
前記第２の証明書を前記メインサブシステムの第２の安全な暗号プロセッサに送信させ、
前記第２の安全な暗号プロセッサの前記第２の証明書及び第２の承認鍵を使用し、前記第２の信用証明書を生成させ、前記第２の承認鍵が前記第２の安全な暗号プロセッサからエクスポートできない、
条項１６に記載の制限付きサブシステム。
【００４７】
１８．前記命令が、実行時に、前記ホストコンピューティングデバイスにさらに、
前記認証要求に含まれる暗号ノンスを決定させ、
前記暗号ノンスを前記認証応答に含ませる、
条項１６に記載の制限付きサブシステム。
【００４８】
１９．前記命令が、実行時に、前記ホストコンピューティングデバイスにさらに、
前記認証要求に含まれる第１の識別子を使用し、前記認証要求のターゲットとして前記ホストコンピューティングデバイスを検証させる、
条項１６に記載の制限付きサブシステム。
【００４９】
２０．前記認証要求が前記仮想マシンの中から生成される、条項１６に記載の制限付きサブシステム。
【００５０】
図９は、例のコンピューティングデバイス９００の一般的な構成要素の論理的な配置を示す。この例では、デバイスは、メモリデバイスまたは要素９０４に記憶できる命令を実行するためのプロセッサ９０２を含む。当業者には明らかであるように、デバイスは、例えばプロセッサ９０２による実行のためのプログラム命令用の第１のデータストレージ、イメージまたはデータのための別個の記憶装置、他のデバイスと情報を共用するための取り外し可能なメモリ等の多くの種類のメモリ、データストレージ、または非一過性コンピュータ可読記憶媒体を含む場合がある。ポータブルメディアプレーヤ等のデバイスが、例えば音声スピーカを通して等、他の手段を介して情報を伝達する可能性があるが、デバイスは、例えばタッチスクリーンまたは液晶ディスプレイ（ＬＣＤ）等のなんらかの種類の表示要素９０６を含む。説明したように、デバイスは多くの実施形態において、従来の入力をユーザーから受信できる少なくとも１つの入力要素９０８を含む。この従来の入力は、例えば、プッシュボタン、タッチパッド、タッチスクリーン、ホイール、ジョイスティック、キーボード、マウス、キーパッド、または任意の他の係るデバイスもしくは要素を含む場合があり、それによって、ユーザーはコマンドをデバイスに入力できる。しかしながら、一部の実施形態では、係るデバイスはボタンを全く含まない可能性があり、ユーザーが、デバイスと接触する必要なくデバイスを制御できるように、視覚によるコマンド及び音声によるコマンドの組み合わせを介してのみ制御される可能性がある。一部の実施形態では、図９のコンピューティングデバイス９００は、例えばＷｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＲＦ、有線または無線の通信システム等の種々のネットワークを介して通信するために１つ以上のネットワークインタフェース要素９０８を含む場合がある。デバイスは多くの実施形態において、例えばインターネット等のネットワークと通信することができ、他の係るデバイスと通信できてよい。
【００５１】
種々の実施形態に従って態様を実施するための本明細書に説明される例の環境は、ウェブサービス及びクラウドコンピューティングに関するように、おもにウェブベースであるが、ウェブベースの環境が説明のために使用されるが、種々の実施形態を実施するために、必要に応じて異なる環境が使用され得ることが理解されるべきである。種々の実施形態と相互に作用するために使用されるクライアントデバイスは、適切なネットワークを介して要求、メッセージ、または情報を送信及び受信し、デバイスのユーザーに情報を折り返し伝えるよう作動する任意の適切なデバイスを含む場合がある。係るクライアントデバイスの例は、パーソナルコンピュータ、携帯電話、ハンドヘルドメッセージングデバイス、ラップトップコンピュータ、セットトップボックス、パーソナルデータアシスタント、電子ブックリーダー等を含む。ネットワークは、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、もしくは任意の他の係るネットワークまたはその組み合わせを含む、任意の適切なネットワークを含む場合がある。係るシステムのために使用される構成要素は、選択されるネットワーク及び／または環境の種類に少なくとも部分的に依存することがある。係るネットワークを介して通信するためのプロトコル及び構成要素は周知であり、本明細書において詳細に説明されない。ネットワークを介した通信は、有線接続または無線接続、及びそれらの組み合わせによって可能にできる。
【００５２】
いくつかのアプリケーションサーバ、層、もしくは他の要素、プロセス、または構成要素が存在する場合があり、これらは、チェーン接続されるまたはそれ以外の場合構成されてよく、本明細書に説明され、示唆されるようにタスクを実行するために相互に作用できることが理解されるべきである。本明細書で使用されるように、用語「データストア」は、データを記憶する、データにアクセスする、及びデータを取り出すことができる任意のデバイスまたはデバイスの組み合わせを指し、これは、任意の標準的な環境、分散環境、またはクラスタ化された環境の任意の組み合わせ及び数のデータサーバ、データベース、データストレージデバイス、及びデータ記憶媒体を含んでよい。アプリケーションサーバは、必要に応じてデータストアと統合してクライアントデバイスのための１つ以上のアプリケーションの態様を実行し、データアクセス及びアプリケーションのためのビジネスロジックの大多数を処理するための任意の適切なハードウェア及びソフトウェアを含む場合がある。アプリケーションサーバは、データストアと協働してアクセス制御サービスを提供し、ユーザーに転送されるテキスト、グラフィックス、音声、及び／またはビデオ等のコンテンツを生成することができ、これらは、この例において、ＨＴＭＬ、ＸＭＬ、または別の適切な構造化言語の形でウェブサーバによってユーザーに提供され得る。すべての要求及び応答の処理ならびにクライアントデバイスとリソースとの間のコンテンツの配信は、ウェブサーバによって処理できる。本明細書で説明される構造化されたコードは、本明細書の他の部分で説明される任意の適切なデバイスまたはホストマシンで実行できるので、ウェブサーバ及びアプリケーションサーバは必要とされず、単に例の構成要素であることが理解されるべきである。
【００５３】
データストアは、いくつかの別個のデータテーブル、データベース、または特定の態様に関するデータを記憶するための他のデータ記憶機構及びデータ記憶媒体を含む場合がある。データストアは、データストアと関連付けられたロジックを通して、サーバから命令を受信し、命令に応えてデータを入手、更新またはそれ以外の場合処理するよう作動する。一例では、ユーザーは特定のタイプの項目に対する検索要求を提出する可能性がある。この場合、データストアは、ユーザー情報にアクセスしてユーザーのアイデンティティを検証する可能性があり、カタログ詳細情報にアクセスしてその種類の項目についての情報を入手できる。情報は、次いでユーザーがユーザーデバイスのブラウザを介して見ることができるウェブページ上の結果リストで等、ユーザーに返すことができる。関心のある特定の項目の情報は、ブラウザの専用のページまたはウィンドウで見ることができる。
【００５４】
各サーバは、通常、そのサーバの一般的な管理及び操作のための実行可能プログラム命令を提供するオペレーティングシステムを含み、通常、サーバのプロセッサによって実行されるときにサーバがその意図された機能を実行するのを可能にする命令を記憶する非一過性コンピュータ可読媒体を含む。サーバのオペレーティングシステム及び一般機能のための適切な実施態様は既知であるか、または市販されており、特に本明細書の開示を鑑みて当業者によって容易に実装される。
【００５５】
一実施形態における環境は、１つ以上のコンピュータネットワークまたは直接接続を使用し、通信リンクを介して相互接続されるいくつかのコンピュータシステム及び構成要素を利用する、分散型コンピューティング環境である。しかしながら、係るシステムが、説明されるよりも少ない数または多い数の構成要素を有するシステムにおいても同等に良好に動作し得ることが当業者によって理解される。したがって、本明細書の種々のシステム及びサービスの説明は、本質的に例示であり、本開示の範囲に対して制限的ではないと見なされるべきである。
【００５６】
種々の態様は、少なくとも１つのサービスまたはウェブサービスの一部として実装することができ、例えば、サービス中心のアーキテクチャの一部であり得る。ウェブサービス等のサービスは、例えば、拡張マークアップ言語（ＸＭＬ）フォーマットの、ＳＯＡＰ（「シンプルオブジェクトアクセスプロトコル」に由来する）等の適切なプロトコルを使用して交換されるメッセージを使用して等、任意の適切な種類のメッセージングを使用し、通信できる。係るサービスによって提供または実行されるプロセスは、ウェブサービス記述言語（ＷＳＤＬ）等の任意の適切な言語で作成できる。ＷＳＤＬ等の言語の使用は、種々のＳＯＡＰフレームワークにおけるクライアント側コードの自動生成等の機能を可能にする。
【００５７】
ほとんどの実施形態は、ＴＣＰ／ＩＰ、ＦＴＰ、ＵＰｎＰ、ＮＦＳ、及びＣＩＦＳ等のさまざまな市販のプロトコルのいずれかを使用し、通信をサポートするために、当業者によく知られているであろう少なくとも１つのネットワークを活用する。ネットワークは、例えば、ローカルエリアネットワーク、広域ネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及びその任意の組合せである場合がある。
【００５８】
ウェブサーバを活用する実施形態では、ウェブサーバは、ＨＴＴＰサーバ、ＦＴＰサーバ、ＣＧＩサーバ、データサーバ、Ｊａｖａ（登録商標）サーバ、及びビジネスアプリケーションサーバを含む、さまざまなサーバまたは中間層アプリケーションのいずれかを実行できる。また、サーバ（複数可）は、例えばＪａｖａ（登録商標）、Ｃ、Ｃ＃、もしくはＣ＋＋等の任意のプログラミング言語、またはＰｅｒｌ、Ｐｙｔｈｏｎ、もしくはＴＣＬ等の任意のスクリプト言語、ならびにその組み合わせで作成された１つ以上のスクリプトまたはプログラムとして実装されてよい１つ以上のウェブアプリケーションを実行することによって、ユーザーデバイスからの応答要求でプログラムまたはスクリプトを実行できてもよい。また、サーバ（複数可）は、Ｏｒａｃｌｅ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）、Ｓｙｂａｓｅ（登録商標）、及びＩＢＭ（登録商標）から市販されるものを含むがこれに限定されるものではないデータベースサーバを含んでもよい。
【００５９】
環境は、上述のさまざまなデータストアならびに他のメモリ及び記憶媒体を含むことがある。これらは、コンピュータの１つ以上にローカルな（及び／もしくはそこに常駐する）またはネットワーク全体でのコンピュータのいずれかまたはすべてから遠く離れた記憶媒体上等のさまざまな場所に常駐することがある。実施形態の特定の一式では、情報は、当業者によく知られているストレージエリアネットワーク（「ＳＡＮ」）に常駐することがある。同様に、コンピュータ、サーバ、または他のネットワークデバイスによる機能を実行するためのあらゆる必要なファイルは、必要に応じてローカルに及び／または遠隔に記憶されてよい。システムがコンピュータ化されたデバイスを含む場合、それぞれの係るデバイスは、バスを介して電気的に結合され得るハードウェア要素を含む場合があり、該要素は、例えば少なくとも１つの中央演算処理装置（ＣＰＵ）、少なくとも１つの入力装置（例えば、マウス、キーボード、コントローラ、タッチスクリーン、またはキーパッド）、及び少なくとも１つの出力装置（例えば、表示装置、プリンタ、またはスピーカ）を含む。また、係るシステムは、例えば、ディスクドライブ、光学式記憶デバイス等の１つ以上の記憶装置、及び例えば、ランダムアクセスメモリ（「ＲＡＭ」）または読み出し専用メモリ（「ＲＯＭ」）等のソリッドステート記憶装置、ならびに取り外し可能な媒体デバイス、メモリカード、フラッシュカード等を含んでもよい。
【００６０】
また、係るデバイスは、上述のようにコンピュータ可読記憶媒体読み取り装置、通信装置（例えば、モデム、ネットワークカード（無線または有線）、赤外線通信装置等）、及び作業メモリを含む場合もある。コンピュータ可読記憶媒体読み取り装置は、遠隔記憶装置、ローカル記憶装置、固定記憶装置、及び／または取り外し可能な記憶装置を表すコンピュータ可読媒体、ならびにコンピュータ可読情報を一時的に及び／またはより恒久的に含む、記憶する、伝送する、及び取り出すための記憶媒体と接続できる、またはそれらを受け入れるように構成できる。また、システム及び種々のデバイスは、通常、いくつかのソフトウェアアプリケーション、モジュール、サービス、または少なくとも１つの作業用メモリデバイス内に位置する他の要素を含み、オペレーティングシステム及びクライアントアプリケーションまたはウェブブラウザ等のアプリケーションプログラムを含む。代替の実施形態が、上述されたものの多数の変形形態も有してよいことが理解されるべきである。例えば、カスタマイズされたハードウェアが使用される可能性もある、及び／または特定の要素がハードウェア、（アプレット等のポータブルソフトウェアを含む）ソフトウェア、または両方で実装される可能性もある。さらに、ネットワーク入力／出力装置等の、他のコンピューティングデバイスへの接続が用いられてよい。
【００６１】
コード、またはコードの部分を含むための記憶媒体及び他の非一過性コンピュータ可読媒体は、例えば、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータ等の情報の記憶のための任意の方法または技術において実装される、揮発性及び不揮発性、取り外し可能媒体及び取り外しできない媒体等であるがこれらに限定されない、記憶媒体及び通信媒体を含む、当該技術分野で既知または使用されている任意の適切な媒体を含む場合があり、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または所望の情報を記憶するために使用可能であり、システムデバイスによってアクセス可能である任意の他の媒体を含む。本開示及び本明細書に示される教示に基づいて、当業者は種々の実施形態を実装するための他の方法及び手法を理解するであろう。
【００６２】
したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で考えられるべきである。しかしながら、特許請求の範囲で述べられる本発明のより広い精神及び範囲から逸脱することなく、それに対して種々の修正及び変更がなされ得るということが明らかである。
以下に、本願の出願当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ホストコンピュータシステムであって、
複数の仮想マシンを操作するように構成された少なくとも１つのプロセッサと、
コプロセッサ、及び前記複数の仮想マシンを管理するための第１の実行可能命令を記憶する第１のメモリを含む周辺装置であって、少なくとも第１の承認鍵及び証明機関から受信される第１の証明書を使用し、前記周辺装置と使用するために構成された第１の安全な暗号プロセッサをさらに含む前記周辺装置と、
第２の安全な暗号プロセッサ、及び第２の実行可能命令を記憶し、少なくとも第２の承認鍵及び前記第１の安全な暗号プロセッサから受信される第２の証明書を使用し、前記ホストコンピュータシステムと使用するために構成された第２のメモリと、
を備え、
前記第１の命令が、実行時に、前記周辺装置に、
前記複数の仮想マシンのカスタマ仮想マシンと関連付けられた認証要求を受信させ、前記カスタマ仮想マシンがカスタママシン画像を使用し、起動され、
前記周辺装置のための第１の署名済み測定値を生成させ、前記第１の署名済み測定値が、前記周辺装置のための識別情報、及び前記証明機関から受信された前記第１の証明書を使用し、生成された信用証明書を含み、
前記第２の安全なプロセッサに、前記ホストコンピューティングシステムのための第２の署名済み測定値を生成させ、前記第２の署名済み測定値が、前記ホストコンピューティングマシンのための識別情報、前記カスタママシン画像のための情報、及び前記第１の安全な暗号プロセッサから受信された前記第２の証明書を使用し、生成された信用証明書を含み、
前記第１の署名済み測定値、前記第２の署名済み測定値、ならびに前記第１の証明書及び前記第２の証明書のための証明書チェーンを含む認証応答をアセンブルさせ、
前記認証応答を転送させ、カスタマシステムが少なくとも前記カスタマ仮想マシンの完全性及び前記ホストコンピューティングシステムのセキュリティを検証することを可能にされる、
前記ホストコンピュータシステム。
［Ｃ２］
前記第２の命令が、実行時に、前記システムにさらに、前記ホストコンピューティングデバイス上でメインサブシステムを操作させ、前記メインサブシステムが前記カスタママシン画像を使用し、前記カスタマ仮想マシンを実行することを担い、
前記第１の命令が、実行時に、前記コプロセッサに前記周辺装置を使用し、制限付きサブシステムをさらに操作させ、前記制限付きサブシステムが前記メインサブシステムのために管理タスクを実行するように構成され、前記制限付きサブシステムが、前記メインサブシステムを初期化し、前記信用証明書を前記第２の安全な暗号プロセッサに提供させるようにさらに構成される、
Ｃ１に記載のホストコンピュータシステム。
［Ｃ３］
前記第１の署名済み測定値が、前記第１の暗号プロセッサに対応する第１の認証完全性鍵の対及び第１のホストアイデンティティ鍵の対をさらに含み、前記第２の署名済み測定値が、前記第２の暗号プロセッサに対応する第２の認証完全性鍵の対及び第２のホストアイデンティティ鍵の対をさらに含む、Ｃ１に記載のホストコンピュータシステム。
［Ｃ４］
コンピュータによって実装される方法であって、
カスタマシステムからコンピューティングデバイスのメインサブシステムへの認証要求を受信することであって、前記コンピューティングデバイスが前記カスタマシステムと関連付けられたカスタマ仮想マシンを操作する、前記受信することと、
前記コンピューティングデバイスに物理的に接続された信頼できるハードウェアを使用し、提供された制限付きサブシステムに要求を送信することであって、前記制限付きサブシステムが前記カスタマ仮想マシンのために管理タスクを実行するように構成された、前記送信することと、
前記制限付きサブシステムから、前記制限付きサブシステムのための第１の信用証明書を含む第１の測定値を受信することであって、前記第１の信用証明書が、証明機関によって提供された第１の証明書を使用し、生成される、前記受信することと、
前記メインサブシステムのための第２の信用証明書及び前記カスタマ仮想マシンのための状態情報を含む第２の測定値を生成することであって、前記第２の信用証明書が、前記制限付きサブシステムによって提供された第２の証明書を使用し、生成される、前記生成することと、
前記カスタマシステムに認証応答を送信することであって、前記認証応答が前記第１の測定値及び前記第２の測定値を含む、前記送信することと、
を含む、前記コンピュータによって実装される方法。
［Ｃ５］
前記制限付きサブシステムの第１の安全な暗号プロセッサに対する前記第１の証明書を受信することと、
前記第１の安全な暗号プロセッサの前記第１の証明書及び第１の承認鍵を使用し、前記第１の信用証明書を生成することであって、前記第１の承認鍵が前記第１の安全な暗号プロセッサからエクスポートできない、前記生成することと、
をさらに含む、Ｃ４に記載のコンピュータによって実装される方法。
［Ｃ６］
前記メインサブシステムの第２の安全な暗号プロセッサに対する前記第２の証明書を受信することと、
前記第２の安全な暗号プロセッサの前記第２の証明書及び第２の承認鍵を使用し、前記第２の信用証明書を生成することであって、前記第２の承認鍵が前記第２の安全な暗号プロセッサからエクスポートできない、前記生成することと、
をさらに含む、Ｃ５に記載のコンピュータによって実装される方法。
［Ｃ７］
前記認証要求に含まれる第１の識別子を使用する前記ホストマシンのアイデンティティ、及び前記認証要求に含まれる第２の識別子を使用するカスタママシン画像のアイデンティティを、前記要求を前記制限付きサブシステムに送信する前に検証すること、
をさらに含む、Ｃ４に記載のコンピュータによって実装される方法。
［Ｃ８］
前記第１の測定値及び前記第２の測定値の少なくとも１つを使用し、少なくとも１つのハッシュ値を生成することと、
前記少なくとも１つのハッシュ値を前記認証応答に含むことであって、前記少なくとも１つのハッシュ値が前記カスタマシステムと関連付けられる、前記含むことと、
をさらに含む、Ｃ４に記載のコンピュータによって実装される方法。
［Ｃ９］
前記測定値が、引用または暗号学的に検証可能な測定値の１つである、Ｃ４に記載のコンピュータによって実装される方法。
［Ｃ１０］
前記信頼できるハードウェアが、前記コンピューティングデバイスが動作する環境のプロバイダによって構成されたファームウェア及び命令を含むペリフェラルカードであり、前記ペリフェラルカードが前記コンピューティングデバイスよりも高いレベルの信頼を有する、Ｃ４に記載のコンピュータによって実装される方法。
［Ｃ１１］
前記認証要求に含まれる課題情報を決定することと、
前記課題情報を前記認証応答に含むことと、
をさらに含む、Ｃ４に記載のコンピュータによって実装される方法。
［Ｃ１２］
ホストコンピューティングデバイスで動作する制限付きサブシステムであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサによって実行されるときに、前記制限付きサブシステムに、
前記ホストコンピューティングデバイス上のメインサブシステムで実行中の仮想マシンに対する認証要求を受信させ、前記制限付きサブシステムが、前記ホストコンピューティングデバイスに物理的に接続された信頼できるハードウェアを使用し、提供され、前記仮想マシンのために管理タスクを実行するように構成され、
前記制限付きサブシステムのための第１の信用証明書を含む第１の測定値を生成させ、前記第１の信用証明書が、証明機関によって提供された第１の証明書を使用し、生成され、
前記ホストコンピューティングデバイスの前記メインサブシステムに、前記メインサブシステムのための第２の信用証明書及び前記カスタマ仮想マシンのための状態情報を含む第２の測定値を生成させ、前記第２の信用証明書が、前記制限付きサブシステムによって提供された第２の証明書を使用し、生成され、
前記第１の測定値及び前記第２の測定値を含む認証応答を送信させる、
命令を記憶するメモリと、
を備える、前記制限付きサブシステム。
［Ｃ１３］
前記命令が、実行時に、前記ホストコンピューティングデバイスにさらに、
前記第２の証明書を前記メインサブシステムの第２の安全な暗号プロセッサに送信させ、
前記第２の安全な暗号プロセッサの前記第２の証明書及び第２の承認鍵を使用し、前記第２の信用証明書を生成させ、前記第２の承認鍵が前記第２の安全な暗号プロセッサからエクスポートできない、
Ｃ１２に記載の制限付きサブシステム。
［Ｃ１４］
前記命令が、実行時に、前記ホストコンピューティングデバイスにさらに、
前記認証要求に含まれる暗号ノンスを決定させ、
前記暗号ノンスを前記認証応答に含ませる、
Ｃ１２に記載の制限付きサブシステム。
［Ｃ１５］
前記命令が、実行時に、前記ホストコンピューティングデバイスにさらに、
前記認証要求に含まれる第１の識別子を使用し、前記認証要求のターゲットとして前記ホストコンピューティングデバイスを検証させる、
Ｃ１２に記載の制限付きサブシステム。
【図１】
0006591678.tif 000002
【図２】
0006591678.tif 000003
【図３】
0006591678.tif 000004
【図４】
0006591678.tif 000005
【図５】
0006591678.tif 000006
【図６】
0006591678.tif 000007
【図７】
0006591678.tif 000008
【図８】
0006591678.tif 000009
【図９】
0006591678.tif 000010