(57)【要約】      （修正有）【課題】仮想化コンピューティング環境でデータを保護するためのコンピュータ実現方法及びコンピューティングシステムを提供する。【解決手段】ハイパーバイザーまたはカーネルの特権操作の結果を保護する例示１００は、保護されたアプリケーションプログラミングインターフェース（ＡＰＩ）１０８を備える。ＡＰＩ１０８は、ハイパーバイザー１０２及び／またはカーネル１０６で特権操作を行うための要求１０７に公開鍵１０４を含めることを可能にする。要求１０７が向けられたハイパーバイザー１０２及び／またはカーネル１０６は、特権操作を実行して結果を生成し、結果がハイパーバイザー１０２及び／またはカーネル１０６を出る前に、要求１０７内に含まれる公開鍵１０４を使用して結果を暗号化する。要求１０７自体もまた暗号化することができ、一切の中間の関係者は、要求１０７のパラメータ及び他の情報を読み取ることができない。【選択図】図１
2018081705.tif 000002
【特許請求の範囲】
【請求項１】
実行可能な命令で構成された１つ以上のコンピュータシステムの制御下で、
ホストコンピューティングデバイスの仮想化層で特権操作を行うための要求を生成することと、
情報を暗号化するために使用することができる公開鍵であって、前記公開鍵を使用して暗号化された前記情報を解読するために使用することができる対応する秘密鍵を有する、前記公開鍵を取得し、かつ前記公開鍵を前記要求内に含めることと、
前記公開鍵を含む前記要求を前記ホストコンピューティングデバイスの前記仮想化層であって、前記特権操作を実行して結果を生成するように構成される、前記仮想化層に提出することと、を含み、
前記仮想化層が、前記要求と共に提供された前記公開鍵を使用することにより、前記特権操作の前記結果を暗号化するように構成される、コンピュータ実現方法。
【請求項２】
前記ホストコンピューティングデバイスの前記仮想化層の外部に前記結果が通信される前に、前記仮想化層が、前記結果を暗号化するように構成される、請求項１に記載のコンピュータ実現方法。
【請求項３】
前記仮想化層が、前記暗号化された結果を前記ホストコンピューティングデバイスに対して外部にある場所に通信するように構成され、前記暗号化された結果が、秘密鍵を使用することにより前記場所で解読される、請求項１に記載のコンピュータ実現方法。
【請求項４】
前記特権操作を行うための前記要求が、第２の鍵を使用して暗号化され、前記要求が、前記仮想化層によって解読可能である、請求項１に記載のコンピュータ実現方法。
【請求項５】
前記特権操作を行うための前記要求が、サービスの秘密鍵を使用して署名され、前記要求の署名が、サービス公開鍵を使用して前記仮想化層によって確認可能である、請求項１に記載のコンピュータ実現方法。
【請求項６】
証明機関（ＣＡ）から前記サービス公開鍵を含む証明書を取得することをさらに含む、請求項５に記載のコンピュータ実現方法。
【請求項７】
前記公開鍵を取得することが、
前記公開鍵の所有権を証明する少なくとも１つの証明書を、証明機関（ＣＡ）を使用して取得することをさらに含む、請求項１に記載のコンピュータ実現方法。
【請求項８】
前記要求が、複数のホストコンピューティングデバイスを監視する監視サービスによって生成される、請求項１に記載のコンピュータ実現方法。
【請求項９】
前記複数のホストコンピューティングデバイスの少なくとも１つに関連付けられたプロファイルに少なくとも部分的に基づいて、前記複数のホストコンピューティングデバイスの前記少なくとも１つが異常に動作していることを、前記監視サービスによって検出することをさらに含む、請求項８に記載のコンピュータ実現方法。
【請求項１０】
前記要求が、指定された期間に拘束される、請求項１に記載のコンピュータ実現方法。
【請求項１１】
前記特権操作が、前記ホストコンピューティングデバイスの前記仮想化層の実行中のメモリイメージを変更する、請求項１に記載のコンピュータ実現方法。
【請求項１２】
前記特権操作が、
前記ホストコンピューティングデバイスのメモリ内の場所であって、前記仮想化層に関連付けられた場所を読み取ることを、さらに含む、請求項１に記載のコンピュータ実現方法。
【請求項１３】
少なくとも１つのプロセッサを備える第１のコンピュータシステムと、
前記少なくとも１つのプロセッサによって実行されると、
ホストコンピューティングデバイスの仮想化層で特権操作を行うための要求であって、公開鍵を含み、前記公開鍵が、情報を暗号化するために使用することができ、前記公開鍵を使用して暗号化された前記情報を解読するために使用することができる対応する秘密鍵を有する、要求を信頼できる関係者から受け取ることと、
前記ホストコンピューティングデバイスのアプリケーションプログラミングインターフェース（ＡＰＩ）に前記要求を発行することと、を前記コンピューティングシステムに行わせる命令を含むメモリと、を備え、前記仮想化層が、前記特権操作を実行して、結果を生成し、かつ前記要求と共に提供された前記公開鍵を使用して前記結果を暗号化する、システム。
【請求項１４】
前記ホストコンピューティングデバイスであって、少なくとも１つのプロセッサと、実行されると、
前記特権操作を実行することと、
前記要求と共に提供される前記公開鍵を使用して前記結果を暗号化することと、
前記暗号化された結果を所定の場所に格納することと、を前記ホストコンピューティングデバイスに行わせる命令を含むメモリと、を備える前記ホストコンピューティングデバイスをさらに備える、請求項１３に記載のシステム。
【請求項１５】
前記特権操作を行うための要求が、第２の鍵を使用して暗号化され、前記要求が、前記仮想化層によって解読される、請求項１３に記載のコンピューティングシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
インターネットのようなネットワーク上で利用可能となるアプリケーション及びサービスの数が増加するにつれて、クラウドコンピューティングのような技術に目を向けるコンテンツ、アプリケーション、及び／またはサービスプロバイダの数が増加している。クラウドコンピューティングは、概して、ウェブサービスのようなサービスを介して電子リソースへのアクセスを提供する手法であり、そのようなサービスをサポートするために使用されるハードウェア及び／またはソフトウェアは、任意の所与の時点でサービスのニーズを満たすために、動的にスケラーブルである。ユーザまたは顧客は、一般に、クラウドを介するリソースへのアクセスをレンタルする、リースする、またはその他の方法で支払うので、必要とされるハードウェア及び／またはソフトウェアを購入し、維持する必要がない。
【０００２】
多くのクラウドコンピューティングプロバイダは、仮想化を利用して、基礎となるハードウェア及び／またはソフトウェアリソースを複数のユーザが共有することを可能にする。仮想化は、コンピューティングサーバー、ストレージデバイス、または他のリソースを、特定のユーザによってそれぞれが所有される複数の分離されたインスタンス（例えば、仮想マシン）に分割することを可能にすることができる。これらの仮想マシンは、多くの場合、ホストコンピューティングデバイスで実行されるハイパーバイザーを使用してホストされる。このような場合には、ハイパーバイザー及びゲストオペレーティングシステムのカーネルは、セキュリティ実施機構として動作する。例えば、ハイパーバイザーは、一般に、ホスト上の様々な仮想マシンを制御し、カーネルは、仮想マシン上の様々なプロセスを制御する。セキュリティ上の理由から、ハイパーバイザー及びカーネルの両方は、変更または改変することが困難である。しかしながら、時には、ソフトウェアパッチを適用する、セキュリティ監視を行う、などの理由で、ハイパーバイザーまたはカーネルのコードを実行時に変更することが望まれる場合がある。
【０００３】
本開示に従った様々な実施形態を、図面を参照して説明する。
【図面の簡単な説明】
【０００４】
【図１】様々な実施形態に従って、ハイパーバイザーまたはカーネルの特権操作の結果を保護する例示を示す。
【図２】様々な実施形態に従って、非対称の暗号を使用してカーネルまたはハイパーバイザーに提出される要求を暗号化する例示を示す。
【図３】様々な実施形態に従って、証明機関を利用する例示を示す。
【図４】様々な実施形態に従って、サービスプロバイダのリソースセンタ環境の例示を示す。
【図５】様々な実施形態に従って、ハイパーバイザーまたはカーネルで特権操作を実行するための要求の結果を保護するための例示のプロセスを示す。
【図６】様々な実施形態に従って、ハイパーバイザーまたはカーネルで、特権操作を実行するために使用することができるＡＰＩを提供するための例示のプロセスを示す。
【図７】様々な実施形態に従って、要求の暗号化を利用するための例示のプロセスを示す。
【図８】様々な実施形態に従って、利用することができる例示のコンピューティングデバイスの一般的な構成要素のセットの論理的配設を示す。
【図９】様々な実施形態に従って、態様を実現するための環境の例示を示す。
【発明を実施するための形態】
【０００５】
以下の説明では、様々な実施形態が、添付の図面の図において、限定としてでなく、例示として示される。本開示における様々な実施形態への参照は、必ずしも同じ実施形態に対してではなく、そのような参照は、少なくとも１つを意味する。特定の実現形態及び他の詳細が説明されるが、これは実例の目的のみのために行われることを理解されたい。関連技術の当業者は、特許請求の主題の範囲及び趣旨から逸脱することなく、他の構成要素及び構成が使用できることを認識するであろう。
【０００６】
本開示の様々な実施形態によるシステム及び方法は、特権的システム（例えば、オペレーティングシステムのカーネル、ハイパーバイザーなど）でオペレーションを行うことによって取得される結果などのデータを保護するために、従来の手法で経験する上記のまたは他の欠点の１つ以上を克服することができる。具体的には、様々な実施形態は、非対称（または対称）の暗号などのセキュリティスキームを利用し、ハイパーバイザー及び／またはカーネルの特権操作を行うための要求に鍵（例えば、公開鍵）を含めることにより、データを保護する。カーネル及び／またはハイパーバイザーは、要求に含まれる鍵を使用して特権操作の結果を暗号化することができる。いくつかの実施形態では、要求自体もまた、暗号化する、または署名する、ことができ、一切の中間の関係者は、それらの関係者が、要求を見ること、及び／または要求を解読する、またはそうでなければ要求を改ざんする、ために使用される鍵のコピーまたは他の機構を有することが承認されない限り、要求のパラメータ及び他の情報を読むことができない。実施形態によれば、要求は、コードがオペレーティングシステム（ＯＳ）のカーネル及び／またはハイパーバイザーに確実に追加される、かつ／または変更される、ことを可能にするインターフェース（例えば、アプリケーションプログラミングインターフェース（ＡＰＩ））の正式なセットを使用して、カーネル／ハイパーバイザーに提出される。これらのインターフェースは、起動されて、実行時にセキュリティ監視、フォレンシックキャプチャ、及び／パッチソフトウェアシステムを行うことができる。様々な実施形態では、ＡＰＩ要求の結果は、ＡＰＩ要求にパラメータとして含まれていた公開鍵を使用して暗号化される。
【０００７】
様々な実施形態では、本明細書に記載のセキュリティスキームは、ホストコンピューティングデバイスのハイパーバイザー及び／またはＯＳのカーネルで特権操作を行うとき、マルチテナント共有リソース環境（例えば、クラウドコンピューティング環境）で利用することができる。従来、このタイプの環境では、ホストコンピューティングデバイスは、仮想化技術を利用し、サービスプロバイダ（例えば、クラウドコンピューティングプロバイダ）の異なる顧客に関連する１つ以上の仮想マシンのインスタンスをプロビジョニングする。これらの仮想マシンのインスタンスは、ハイパーバイザー（または、他の仮想化技術）を使用してコンピューティングデバイスでホストされ、各仮想マシンのインスタンスは、カーネル、デバイスドライバ、及び他のＯＳ構成要素を備えるゲストオペレーティングシステムを含むことができる。仮想マシンをホストするためのホストコンピューティングデバイス及び他の物理リソースは、通常、サービスプロバイダによって提供され、データセンタ、サーバーファーム、コンテンツ配信ネットワーク（ＣＤＮ）ポイントオブプレゼンス（ＰＯＰ）などのリソースセンタに存在する。
【０００８】
そのようなマルチタレント共有リソース環境では、様々なホストマシン及びその上で動作する仮想マシンインスタンスの間で、イントロスペクション及び／または他のデータ収集を行うのにしばしば有用である。例えば、ハイパーバイザーまたはカーネルを異常状態にする原因となるソフトウェアバグまたは他の異常が存在する場合がある。いくつかの場合では、この異常状態は潜在的不良の可能性があり、この状況を解決するために何も行われない場合、ホストデバイスまたは仮想マシンのインスタンスは最終的に不良となる。これらのエラーの一部を検出すること、または解決することは、ホストデバイスの実行されているハイパーバイザー及び／またはカーネルのメモリを検査することを要求し得る。しかしながら、これらの構成要素（例えば、ハイパーバイザー／カーネル）は、通常、リソースの所有者に対して安全かつ私的に維持することが重要である非常に機密性の高い情報を含む。
【０００９】
様々な実施形態において、そのような機密性の高い情報へのアクセスを保護するために、本明細書に記載のアプリケーションプログラミングインターフェース（ＡＰＩ）を使用して、仮想マシンのハイパーバイザー及び／またはカーネルの特権操作（例えば、機密性の高いデータを抽出する、更新を行う、など）を行うための要求を提出することができる。承認されていない関係者（例えば、データ技術者など）が要求へのアクセスを獲得することを防ぐために、要求は、署名する、かつ／または暗号化する、ことができる。また、要求は、要求の任意の結果を暗号化するためにハイパーバイザー／カーネルが使用することができる公開鍵を（例えば、パラメータとして）含むことができる。したがって、公開鍵に対応する秘密鍵を有する関係者は、要求の結果を解読することができる。その結果、要求を扱う、または傍受する、ことができる一切の中間の関係者（例えば、データ技術者）は、要求を読む、または要求の結果を解読する、ことができなくなる。要求が署名されている場合、要求する者の公開鍵は、要求に対するパラメータであり、署名でカバーされており、公開鍵は、要求を仲介者として扱う何人によっても、削除される、または交換される、ことができない。
【００１０】
いくつかの実施形態では、結果を解読できる秘密鍵を有する関係者は、要求を遂行し、かつ結果を収集することを中間の関係者に元々命令した関係者である。例えば、管理者は、技術者に要求を起動して、結果を収集することを命令することができ、管理者は、結果を解読することができる秘密鍵を所有する（すなわち、技術者は、結果を読むことができない）。代替の実施形態では、秘密鍵を有する関係者は、結果を収集することを中間の関係者に承認した関係者と異なる関係者である。例えば、サービスプロバイダの管理者は、技術者が要求を発行し、結果を収集することを承認することができる。別のパーティ（例えば、調査者）は、結果を解読するために使用される秘密鍵を所有することができる。技術者は、要求を発行することができるが、技術者は、結果を解読するための秘密鍵を所有していないので、結果を読むことができない。同様に、この例示では、管理者は、要求を実行することも、その要求の結果を読むことも、承認されない。そのような鍵の所有権についての様々な他の例示は、様々な実施形態の範囲内であることが可能である。
【００１１】
いくつかの実施形態では、セキュリティスキームは、サービスプロバイダのネットワーク上で実行される様々な仮想マシンのインスタンスに関する機密性の高いデータを収集するために使用することができる。一実施形態では、信頼できる中央のサービスは、リソースセンタ内のホストデバイスの全てについての要求を生成することができ、中央のサービスは、それらの要求内にその公開鍵を含めることができる。信頼されていない構成要素（例えば、中間の関係者）は、次にそれらの要求をホストデバイスに配信し、要求をローカルで発行することができる。いくつかの実施形態では、信頼されていない同じ構成要素は、結果を収集し、それらを中央のサービスへの配信のために受け取ることができる。この結果は、それらが中央のサービスに到達すると、解読することができる。
【００１２】
一実施形態では、サービスプロバイダは、セキュリティスキームを利用してスペキュレーティブデータ収集を行う、例えば、顧客の信頼を侵害せずに、不正行為または不正使用のケースを検出する、ことができる。例えば、不正行為の調査者は、特定のホストマシンを疑わしいものとしてフラグ付けし、そのマシンの監視を開始することができる。監視が開始されると、要求は、詳細なカーネルまたはハイパーバイザー情報（すなわち、結果）の収集を開始することをハイパーバイザーに行わせることができる。次に、結果は、要求内に含まれる公開鍵を使用して暗号化することができる。続いて、秘密鍵を所有する承認された関係者は、収集されたデータを解読し、分析を行ってサービスなどの不正行為、不正使用を決定することができる。
【００１３】
別の実施形態では、セキュリティスキームを利用して、連続的なヘルスチェックサービスを実現することができる。例えば、特定のホストマシンが性能の異常を示しているとき、ヘルスサービスは、機密性の高い顧客データを含み、オペレーションの結果を暗号化することができるカーネル／ハイパーバイザーのメモリのスナップショットをキャプチャするための要求を提出することができる。要求の結果が暗号化されるので、情報が不正にアクセスされる可能性が少なくなる。いくつかの実施形態では、ヘルスサービスはまた、ホストマシンまたは仮想マシンのインスタンスをランダムに、サンプリングする、かつ／またはプロファイリングする、ことができる。例えば、サービスは、性能データのベースラインを取得し、後でそのベースラインに少なくとも部分的に基づいて、異常を検出することができる。様々な実施形態では、プロファイルは、顧客ベースまたはマシンベースであることができ、絶対的な閾値を含むことができる、またはランダム化することができる（例えば、周期的に複数のホストマシンをスナップショットのためにランダムに選択することができる）。
【００１４】
様々な実施形態では、解読鍵（例えば、秘密鍵）は、安全な場所に格納される。例えば、鍵は、サービスプロバイダのセキュリティチームによって維持することができる。このように、データを収集する人及び収集の結果を読むことができる人は、異なる関係者であり、さらには秘密鍵へのアクセス権を持たないこともある。一実施形態では、データが暗号化される鍵（例えば、公開鍵）は、要求の一部である。代替の実施形態では、全てのホストマシンが信頼する単一の鍵が存在する場合もあり、この鍵は、カーネル内にコンパイルすることができる。別の実施形態では、信頼できる証明機関（ＣＡ）が存在することができ、各ホストマシンは、信頼できるＣＡから証明をフェッチする。
【００１５】
いくつかの実施形態では、顧客は、鍵を指定し、この鍵を使用して顧客のＶＭインスタンスのメモリの暗号化された画像化ダンプを顧客に提供することをサービスプロバイダに命令することができる。メモリのダンプを取り出すための要求は、ウェブサービスＡＰＩのようなＡＰＩを使用して、ホストコンピューティングデバイス（例えば、ホストコンピューティングデバイスのカーネルまたはハイパーバイザー）に提出することができる。一実施形態では、ＡＰＩ要求は、顧客指定鍵を含むことができる。ホストコンピューティングデバイスのカーネルまたはハイパーバイザーが、ホストコンピューティングデバイスの外部にメモリのダンプを通信する前に、メモリのダンプは、顧客が指定した鍵を使用して暗号化される。
【００１６】
図１は、様々な実施形態に従って、ハイパーバイザーまたはカーネルの特権操作の結果を保護する例示１００を示す。示された実施形態では、要求１０７は、ホストコンピューティングデバイス１０１のカーネル１０６またはハイパーバイザー１０２上の特権操作を行うために、アプリケーションプログラミングインターフェース（ＡＰＩ）１０８のセットを使用して、提出することができる。この実施形態では、ホストコンピューティングデバイス１０１は、ハイパーバイザー１０２及び特権的ドメイン（ＤＯＭ−０）１０５の組合せとして示された仮想化層を含む。次に、Ｄｏｍ０  １０５及びハイパーバイザー１０２は、ゲスト１１５のような複数のゲストに作用することができる。ゲストは、仮想マシンのインスタンスであることができ、各々が独自のそれぞれのオペレーティングシステム（ＯＳ）、カーネル、デバイスドライバ、スケジューラなどを有する。Ｄｏｍ−０  １０５は、ホストコンピューティングデバイス１０１上の他のゲストドメインを起動し、管理するために使用される。仮想化層は、この図では別々の構成要素として示されているが、仮想化層の他の実現形態も、可能であり、かつ本開示の範囲内である。例えば、Ｄｏｍ０の機能、またはその機能のサブセット、ならびにハイパーバイザー１０２によって影響されるものは、単一の構成要素に統合することができる。
【００１７】
実施形態によれば、要求１０７は、例えばハイパーバイザー／カーネルのメモリ位置を読み取る、ハイパーバイザー／カーネルのコードのセクションを変更するなどの任意の特権操作を実行するために、データ技術者、監視サービス、アプリケーション、顧客、または他の構成要素によって、開始することができる。以下の図２及び３を参照して説明されるように、要求は、署名する、かつ／または暗号化する、ことができる。
【００１８】
実施形態によれば、要求１０７は、情報、ならびに例えば、要求及びデジタル署名を提出する原則の識別子、を暗号化するために使用することができる公開鍵１０４を（例えば、パラメータとして）含む。要求がカーネル１０６に向けられると、カーネルは、特権操作を実行し、結果を生成した後、結果１０９を要求に含まれる公開鍵１０４を使用して暗号化することができる。結果１０９は、カーネル１０６及び／またはホストコンピューティングデバイス１０１の外部に通信される前に、暗号化される。同様に、要求がハイパーバイザーに向けられると、ハイパーバイザーは、特権操作を実行して、結果を生成し、結果がハイパーバイザーを出る前に、結果１１０を公開鍵１９４を使用して暗号化することができる。
【００１９】
いくつかの実施形態では、要求は、特定のホストマシンに拘束される必要がない。しかしながら、他の実施形態では、要求は、選択されたマシンに拘束されてもよい。少なくとも１つの実施形態では、要求は、特定の時間窓（例えば、日、週など）に拘束することができ、サービスプロバイダは、その期間中に、要求を様々なホストマシンに発行することができる複数の人を採用することができる。データは、それがカーネルまたはハイパーバイザーを出る前に暗号化される、またはそれがホストコンピューティングデバイス１０１上に永続的な方法で格納されている場合に暗号化される、ので、セキュリティスキームは、データ技術者または他の中間の関係者１１２（信頼できない可能性がある人）が非常に機密性の高いコールを発行し、高度に機密性の高い情報をハイパーバイザー／カーネル及び／または他の保護された構成要素から収集することを可能にする。これらの要求の結果は、それらがカーネル／ハイパーバイザーを出る前に、暗号化されるので、中間の関係者１１２は、それらの結果に含めることができる機密性の高い情報へのアクセス権を持たない。様々な実施形態では、得られたデータの全ては、安全に収集され、格納することができ、安全な場所１０３内の承認された、または信頼された、関係者のみが、安全に維持された秘密鍵１１１を使用することにより、その情報を解読することができる。
【００２０】
図２は、様々な実施形態に従って、非対称な暗号を使用してカーネルまたはハイパーバイザーに提出された要求を署名する例示２００を示す。この実施形態では、ホストコンピューティングデバイス２０１は、少なくとも１つの仮想化層（ハイパーバイザー２０２及びＤｏｍ０  ２０５の組合せとして示されている）及び１つ以上のゲスト２１１を備える。ゲストは、仮想マシンのインスタンスであることができ、各々がそれら独自のそれぞれのオペレーティングシステム（ＯＳ）、カーネル、デバイスドライバ、スケジューラなどを有する。
【００２１】
実施形態によれば、ホストコンピューティングデバイス２０１は、カーネル（例えば、Ｄｏｍ−０カーネル）またはハイパーバイザー２０２上の特権操作を行うために、署名された、かつ／または暗号化された、要求を提出するために使用することができるＡＰＩ２０８のセットを提供する。特権操作は、メモリ内の位置を読むことができ、１つ以上の結果を生成することをハイパーバイザー２０２及び／またはカーネル２０６に行わせることができる。ＡＰＩ要求は暗号化することができるので、カーネル／ハイパーバイザーの外部の中間の関係者は、暗号化された要求を秘密鍵を所有せずに読むことができず、要求が行うことを意図しているものを知ることがない。また、暗号化された要求は、結果がカーネル／ハイパーバイザーの外部に送信される前に、要求の結果を暗号化するために使用することができる公開鍵を含むことができる。
【００２２】
示された実施形態によれば、ＡＰＩの要求は、秘密鍵及び公開鍵を含む非対称の鍵対を使用して、署名される、かつ確認する、ことができる。一実施形態では、ＡＰＩコール（例えば、結果を暗号化するための公開鍵を含む）に対する引数の少なくとも一部（または全部）は、標準化され、かつシリアル化されて、署名文字列を得る。この文字列は、次にハッシュベースメッセージ承認コード（ＨＭＡＣ）または非対称の暗号のいずれかを介して署名され、ＡＰＩ２０８に送ることができる。ＡＰＩへのパラメータが署名内に含まれているので、要求（例えば、要求を行ったコード）を取得した潜在的攻撃者は、要求を変えることができない、また要求から公開鍵を取り出すこと、またはそれを別の鍵と交換すること、ができない。
【００２３】
いくつかの実施形態によれば、要求は、タイムスタンプを含むことができ、時間窓ベース再生保護を提供し、要求は、制限された期間のみにわたって有効である。いくつかの実施形態では、要求は、ホストコンピューティングデバイス２０１に特別に関連付けられた一意の値、例えばシリアル番号、またはホストマシン識別子（ＩＤ）、を含むことができる。これらの値は、秘密ではないかもしれないが、それらを含むことは、要求を特定のホストコンピューティングデバイス２０１に拘束することができる。その場合、潜在的攻撃者が異なるホストコンピューティングデバイスに対する要求を再生することを防止する。いくつかの実施形態では、要求は、ホストコンピューティングデバイス２０１への拘束の強度を増加するために、ホストコンピューティングデバイス２０１内のトラステッドプラットフォームモジュール（ＴＰＭ）（図示せず）によって承認することができる。
【００２４】
示された実施形態では、ＡＰＩ要求に署名するために使用される秘密鍵２０４は、要求がアドレス指定されるホストコンピューティングデバイス２０１に存在しない。その代わりに、秘密鍵２０４は、サービスプロバイダのネットワーク２０２の安全な場所２０３に、または別の信頼できる場所に、格納することができる。結果として、悪意のあるエージェントがホストコンピューティングデバイス２０１に存在した場合、それらは、秘密鍵２０４を使用して要求を偽造することができない。
【００２５】
ホストコンピューティングデバイス２０１は、秘密鍵２０４を使用して署名された要求の署名を確認するために使用することができる公開鍵を含むことができる。一実施形態では、公開鍵２０７は、ホストコンピューティングデバイス２０１のカーネル２０６にコンパイルすることができる。別の実施形態では、公開鍵２０９は、ハイパーバイザー２０２にコンパイルすることができる。いくつかの実施形態では、カーネル２０６は、ハイパーバイザー２０２に格納された公開鍵２０９と異なる公開鍵２０７を格納することができる、一方、他の実施形態では、同じ公開鍵を使用してハイパーバイザー２０２及びカーネル２０６の両方で要求を確認することができる。さらに他の実施形態では、ホストコンピューティングデバイス２０１に実際の公開鍵を格納するのではなく、ホストコンピューティングデバイス２０１は、代わりに特定の証明機関（ＣＡ）によって証明される任意の公開鍵を信頼するように構成することができる。これらの実施形態では、ホストコンピューティングデバイス２０１は、要求を要求者から受け取ることができ、要求は、公開鍵を含む証明を伴う。ホストコンピューティングデバイス２０１は、ＣＡの証明を信頼し、したがって要求の一部として受け取る公開鍵を信頼する。公開鍵が、ホストコンピューティングデバイスに格納されているか、または証明と一緒に提供されているか、に関わらずに、公開鍵を使用して、秘密鍵２０４を使用して署名されたＡＰＩ要求を確認することができる。例えば、ユーザ（例えば、顧客、サービスプロバイダの技術者、第三者など）が、カーネル２０６上のコードの一部に更新を適用することを望んだ場合、彼らは、秘密鍵２０４へのアクセスを取得し、その秘密鍵を使用してＡＰＩ要求に署名し、コードの適当な部分を変更することができる。要求を受け取ると、カーネル２０６は、公開鍵を使用して要求を確認することを試み、確認が成功した場合、必要な特権操作を実行することができる。
【００２６】
代替の実施形態（図示せず）では、ＨＭＡＣ及び対称な鍵が利用された場合、秘密鍵は、カーネル２０６またはハイパーバイザー２０２にコンパイルすることができる。その場合、秘密鍵は、難読化して、ビルド毎に変えることができるが、この鍵は、実際には、ホストコンピューティングデバイス２０１に存在することができる。任意選択的に、要求全体は、カーネルにコンパイルされる鍵に暗号化することができ、要求自体は、それを発行するコードに対して不透明である。
【００２７】
いくつかの実施形態では、１つ以上の制約は、要求に設けられた特定の鍵に従って（または、鍵を所有する関係者に従って）適用することができる。例えば、いくつかのアクターによって署名された要求は、ホストコンピューティングデバイスでゲスト仮想マシンを開始／停止することを可能にすることができるだけである。他のアクター（例えば、サービスプロバイダのＯＳチーム）によって保持された鍵を使用して署名された要求は、仮想マシンまたはハイパーバイザーのメモリを読み取ることを可能にすることができる。一実施形態では、ホストコンピューティングデバイス２０１は、そこに格納された複数の異なる公開鍵を有することができ、各公開鍵は、異なるエンティティ（例えば、ユーザ、チームなど）に関連付けられた秘密鍵に関連付けられる。どのエンティティの秘密鍵が要求に署名するために使用されたかに依存して、要求されたオペレーションが、許可される、または拒否される、場合がある。代替の実施形態では、ホストコンピューティングデバイス２０１は、１つの秘密鍵に関連付けられた１つだけの公開鍵を格納することができ、しかしながら、要求は、要求を提出するユーザの識別を含むことができる。この識別に基づいて、ホストコンピューティングデバイス２０１は、要求されたオペレーションの実行に異なる制約を適用することができる。例えば、ホストコンピューティングデバイス２０１は、１人のユーザがゲストを停止／開始することを可能にすることができ、一方、別のユーザは、ハイパーバイザーのコードの変更または更新をすることができる。そのような制約（例えば、鍵毎または関係者毎の基準で）の任意の数が可能であり、本明細書に記載の実施形態の範囲内である。
【００２８】
図３は、様々な実施形態に従って、証明機関を利用する例示３００を示す。示された実施形態では、ホストコンピューティングデバイス（例えば、ホストコンピューティングデバイス３０１上のカーネル３０６及び／またはハイパーバイザー３０２）は、ブート時に非対称の鍵対からなる暗号化識別を生成する。例えば、ホストコンピューティングデバイス３０１がブートするとき、ハイパーバイザー３０２は、秘密鍵３０７及び公開鍵３０９を含む鍵対を生成する。同様に、Ｄｏｍ０  ３０５がロードされると、カーネル３０６は、秘密鍵３１３及び公開鍵３１４からなる鍵対を生成する。
【００２９】
様々な実施形態では、公開鍵（３０９、３１３）は、同じ様式で発行することができる。例えば、公開鍵は、証明機関３１０に提供することができる。あるいは、公開鍵は、要求する関係者に直接提供することができる。この公開鍵は、収集することができ、要求は、この鍵を使用して暗号化することができる。この実施形態では、ホストコンピューティングデバイス３０１によって生成された秘密鍵（３０７、３１４）は、決してホストコンピューティングデバイスから離れることがなく、他のどこにも存在しない。要求する関係者が、公開鍵をホストコンピューティングデバイス３０１から確実に得ることができる場合、それは、公開鍵を使用して署名された要求が、そのホストコンピューティングデバイス３０１（かつ、そのホストコンピューティングデバイスのみ）に向かうことを保証することができ、その理由は、要求が、ホストコンピューティングデバイスを決して離れない秘密鍵（３０７、３１３）によって唯一解読することができる公開鍵（３０９、３１４）を使用することによって、署名されているからである。図３は、カーネル３０６及び仮想化層３０２の両方がそれら自体のそれぞれの鍵対を発行する例示を示しているが、これは全ての実施形態に対する要件または制限ではないことに留意されたい。いくつかの実施形態では、ハイパーバイザーだけが鍵対を発行する。他の実施形態では、カーネルだけが鍵対を発行する。さらに他の実施形態では、ハイパーバイザー及びカーネルが、鍵対を共有することができる。
【００３０】
いくつかの実施形態では、ホストコンピューティングデバイス３０１は、証明機関（ＣＡ）３１０への要求に署名するために使用される公開鍵３０９を提供することができる。ＣＡ３１０は、１つ以上のデジタル証明（３１２、３１５）を適切な要求する関係者（例えば、署名する関係者３１１）に発行するエンティティであることができる。デジタル証明は、関係者が、ＡＰＩ要求に署名するために使用することができる公開鍵を適切に所有することを証明する。この実施形態では、ＣＡの使用により、要求する関係者が、秘密鍵が実際にホストコンピューティングデバイス３０１のためのものであることを信じることが、ある確実性の程度で可能になる。一実施形態では、ＣＡは、サービスプロバイダのためのＣＡであり、サービスプロバイダのリソースセンタ内で実行される。リソースセンタは、以下の図４を参照してさらに詳細に説明する。別の実施形態では、ＣＡ３１０は、証明に依存している要求する関係者３１１及びホストコンピューティングデバイス３０１の両方によって信頼される信頼できる第三者機関である。証明機関は、従来技術で公知であり、多くの公開鍵インフラストラクチャ（ＰＫＩ）スキームで使用されている。
【００３１】
この実施形態では、ＣＡ３１０が証明３１２を要求する関係者３１１に一旦発行すると、要求する関係者３１１は、証明を使用して、カーネル３０６またはハイパーバイザー３０２との関連で特権操作を実行するためのＡＰＩ要求を行うことができる。ハイパーバイザー３０２またはカーネル３０６は、次に、特定の関係者に発行された特定のＣＡによって署名された任意の証明が有効であることを確認することができ、それに応じて特権操作を実行することができる。
【００３２】
いくつかの実施形態では、証明機関３１０はまた、前述のように、要求の結果に署名するために使用される公開鍵のための証明を提供することができる。例えば、サービスプロバイダの従業員（例えば、データ技術者）は、ホストコンピューティングデバイス３０１上のカーネル／ハイパーバイザーに機密性の高い要求を提出する必要があるとき、データ技術者は、証明をＣＡ３１０から最初に取得することができる。この証明は、次にデータ技術者によって公開鍵の所有権を証明するために使用することができる。同様な様式で、監視サービスのような自動化構成要素はまた、本明細書に記載のように、ＣＡ３１０を利用して１つ以上の証明を取得することができる。
【００３３】
その様々な実施形態では、図３に示された技術は、図２に示された技術と一緒に使用することができる。例えば、図３の要求する関係者３１１は、それ自身の秘密鍵を有することができ、要求する関係者が、それを使用して特権操作を実行するための要求に署名することができる。この実施形態では、要求は、真正性を保証するために署名される（すなわち、ホストコンピューティングデバイスは、要求する関係者が要求を生成したことを確実に知ることになる）だけではなく、プライバシーを保証するために暗号化される（すなわち、外部の関係者は要求に含まれる情報を解読することができない）。
【００３４】
図４は、様々な実施形態に従う、サービスプロバイダのリソースセンタ環境の例示４００を示す。示された実施形態では、サービスプロバイダ（例えば、クラウドコンピューティングリソースプロバイダ）は、サービスプロバイダの物理的リソース（例えば、ホストサーバーなど）を記憶する１つ以上のリソースセンタ４２３（例えば、データセンタ、サーバーファームなど）を維持することができる。それらの物理的リソースは、インターネットのようなネットワーク４０２を介してユーザ４０１に提供することができる複数の仮想マシンのインスタンスまたは仮想サーバーをホストするために使用することができる。例えば、ユーザが、サービスプロバイダの物理的リソースを使用してアプリケーションを実行したい場合、彼または彼女は、アプリケーションを展開して実行するために使用されるユーザのための仮想マシンをプロビジョニングすることを、サービスプロバイダに要求することができる。ユーザのアプリケーションに対する要求が高まるにつれて、ユーザは、負荷のバランスをとるためにより多くの仮想マシンがプロビジョニングされることを要求し、１つ以上の仮想プライベートネットワーク（ＶＰＮ）などの作成を要求することができる。
【００３５】
示された例示では、サービスプロバイダのリソースセンタ４２３は、特定のラック上の各ホストコンピューティングデバイスが、単一のトップオブラック（ＴＯＲ）スイッチ（４０４、４０５）に接続されたホストコンピューティングデバイス（４０６、４０７、４０８、４０９、４１０）の１つ以上のラック４２１、４２２を備えることができる。これらのＴＯＲスイッチは、ホストコンピューティングデバイスをネットワークに接続することを可能にする１つ以上の他のスイッチ（４２４、４２５）にさらに接続することができる。本開示全体を通して使用されるように、ネットワークは、互いに通信することができるデバイスの任意の有線または無線のネットワークであることができ、制限するものではないが、インターネットまたは他のワイドエリアネットワーク（ＷＡＮ）、セルラーネットワーク、ローカルエリアネットワーク（ＬＡＮ）、ストレージエリアネットワーク（ＳＡＮ）、イントラネット、エクストラネットなどを含む。リソースセンタは、任意の物理的または論理的リソースのグループ、例えばデータセンタ、サーバーファーム、コンテンツ配信ネットワーク（ＣＤＮ）ポイントオブプレゼンス（ＰＯＰ）などを含むことができる。
【００３６】
実施形態によれば、各ホストコンピューティングデバイスは、顧客に代わって様々なアプリケーション及びサービスを実行するためにサービスプロバイダの顧客にプロビジョニングされた１つ以上の仮想マシンのインスタンス（４１３、４１４、４１５、４１６、４１７、４１８、４１９）をホストすることができる。各仮想マシンは、カーネル、ドライバ、プロセス管理などを含む独自のオペレーティングシステム（ＯＳ）をプロビジョニングすることができる。
【００３７】
顧客が、仮想マシンのインスタンスを取得したいとき、顧客は、最初に彼らが使用したいＶＭのタイプを示す要求をサービスプロバイダに提出することができる。サービスプロバイダは、プロセスを遂行し、サービスプロバイダの物理的リソース（例えば、ホストコンピューティングデバイス）でホストされる仮想マシンのインスタンスをプロビジョニングすることができる。仮想マシンのインスタンスは、次に、サービスプロバイダのリソースを利用し、顧客に代わって、様々なアプリケーション及びサービスを実行するために使用することができる。
【００３８】
実施形態によれば、仮想マシンのインスタンスが一旦アップされて実行されると、変更は、ＶＭのハイパーバイザーまたはカーネルのコードに適用する必要がある場合がある。例えば、サービスプロバイダは、ホストマシン上でＶＭをホストするハイパーバイザーのコードにパッチまたは更新を適用したい場合がある。あるいは、顧客（またはある他の第三者）は、ＶＭのカーネルのコードに更新を適用したい場合がある。様々な実施形態では、本開示を通して説明されるＡＰＩは、非対称（または対称）の暗号を利用することにより、ユーザが安全な様式でコードを変更することを可能にする。さらに、そのようなＡＰＩ要求の結果は、本明細書に記載の方式のセキュリティを使用することにより、結果がカーネル／ハイパーバイザーの外部に通信される前に、暗号化することができる。
【００３９】
図５は、様々な実施形態に従って、ハイパーバイザーまたはカーネルで特権操作を実行するための要求の結果を保護するための例示のプロセス５００を示す。この図は、特定のシーケンスで機能的オペレーションを示しているが、プロセスは、示された特定の順序またはオペレーションに必ずしも限定されるものではない。当業者は、この図または他の図に描かれた様々なオペレーションが、変えられる、再配列される、並列で実行される、または様々な方法で適合化される、ことができることを理解するであろう。さらに、特定のオペレーションまたはオペレーションのシーケンスは、様々な実施形態の範囲から逸脱することなく、プロセスに追加する、またはそこから省略する、ことができる。また、本明細書に含まれるプロセスの実例は、コードの実行の実際のシーケンスを指定することではなく、当業者にプロセスフローの概念を実証することを意図し、異なるフローまたはシーケンスとして実現される、性能が最適化される、またはそうでなければ様々な仕方で変更される場合もある。
【００４０】
オペレーション５０１では、インターフェース（例えば、ＡＰＩ）が、ホストコンピューティングデバイスによって設けられる。インターフェースは、署名されたかつ／または暗号化された要求を、ハイパーバイザー及びカーネルを有する１つ以上の仮想マシンのインスタンスのような保護された構成要素を含むことができるホストコンピューティングデバイスに、提出するために使用することができる。
【００４１】
オペレーション５０２では、公開鍵は、ハイパーバイザー及び／またはカーネルで特権操作を行うための要求（例えば、ＡＰＩ要求）にパラメータとして含められる。公開鍵は、要求の結果を暗号化するために使用される。いくつかの実施形態では、要求は、それ自体が暗号化される。要求全体が暗号化されるこれらの実施形態では、鍵は、実際の要求を暗号化するために使用される公開鍵と異なることができる。他の実施形態では、鍵は、要求を暗号化するために使用される鍵と同じ鍵であることができる。いずれの場合でも、要求に含まれる鍵は、カーネル／ハイパーバイザーによって実行される特権操作の結果を暗号化するために使用することができる。
【００４２】
オペレーション５０３では、パラメータとして含まれる鍵を有する要求は、ホストコンピューティングデバイスのハイパーバイザーまたはカーネルに提出される。オペレーション５０４では、ハイパーバイザー及び／またはカーネルは、要求を解読し、特権操作を実行し、ホストコンピューティングデバイスに結果のセットを生成する。例えば、ＡＰＩがウェブサービスＡＰＩである実施形態では、ホストコンピューティングデバイスで、例えば仮想化層で、実行されるウェブサーバーは、この特定の例ではウェブサービスＡＰＩコールであるＡＰＩコールを受け取ることができる。ウェブサーバーは、要求を承認し、特権操作を起動することができる。
【００４３】
オペレーション５０５では、カーネル／ハイパーバイザーによって生成される結果は、その結果がカーネル／ハイパーバイザーの外部に通信される前に、要求に含まれる公開鍵を使用して暗号化される。例えば、結果がデータ技術者または監視サービスに提供される前に、結果は暗号化され、それにより、データ技術者または監視サービスは、それらが正しい秘密鍵へのアクセス権を持たない限り、要求の結果を読むことが妨げられる。
【００４４】
オペレーション５０６では、結果は、サービスプロバイダの内部ネットワーク上の遠隔のネットワーク場所のような保護された場所に配信される。実施形態によれば、保護された場所は、公開鍵を使用して暗号化された結果を解読するために使用することができる秘密鍵を格納する。オペレーション５０７では、結果は、秘密鍵を使用する承認された関係者によって、解読される。
【００４５】
図５では、要求が暗号化されているが、これは、本明細書に記載の実施形態の全てに対して限定するものではないことに留意されたい。いくつかの代替の実施形態では、要求は、承認されたエンティティの秘密鍵を使用して唯一署名することができる。これらの実施形態では、要求に含まれる公開鍵は、要求に関連付けられた署名の一部であり、したがって、承認されていないエンティティによって除去することができない。他の実施形態では、要求は、証明されない、または暗号化されない。
【００４６】
図６は、様々な実施形態に従って、ハイパーバイザーまたはカーネルで特権操作を行うために使用することができるＡＰＩを提供するための例示のプロセス６００を示す。
【００４７】
オペレーション６０１では、１つ以上のアプリケーションプログラミングインターフェース（ＡＰＩ）が設けられ、これは、署名された要求をホストコンピューティングデバイスに提出するために使用することができる。ホストコンピューティングデバイスは、仮想化層（例えば、仮想マシンモニター、またはハイパーバイザーと一緒に動作するＤｏｍ０）及び１つ以上のゲスト（例えば、オペレーティングシステムのカーネルを有する仮想マシンが実行されているゲストオペレーティングシステム）を備えることができる。
【００４８】
オペレーション６０２では、秘密鍵及び対応する公開鍵を備える非対称の鍵対が生成される。秘密鍵は、情報を暗号化するために使用することができ、公開鍵は、秘密鍵を使用して暗号化された情報を解読するために使用することができる。
【００４９】
オペレーション６０３では、公開鍵をホストコンピューティングデバイスに格納する。例えば、公開鍵は、オペレーティングシステムのカーネル、またはハイパーバイザーにコンパイルすることができる。あるいは、鍵は、ホストコンピューティングデバイスのトラステッドプラットフォームモジュール（ＴＰＭ）に格納することができる。
【００５０】
オペレーション６０４では、秘密鍵は、ホストコンピューティングデバイスに対して外部にある安全な場所に格納する。この実施形態では、秘密鍵は、ホストコンピューティングデバイスに存在せず、その上に存在する一切の悪意のあるエージェントは、秘密鍵へのアクセス権を持っていない。
【００５１】
オペレーション６０５では、ホストコンピューティングデバイスは、ハイパーバイザー及び／またはオペレーティングシステムのカーネルで特権操作を実行することを要求する要求を、ＡＰＩを介して受け取る。実施形態によれば、受け取った要求に秘密鍵を使用して署名する。
【００５２】
オペレーション６０６では、ホストコンピューティングデバイス（例えば、カーネルまたはハイパーバイザー）が、ホストコンピューティングデバイスに格納された公開鍵を使用して、要求の署名を確認することを試みる。オペレーション６０７に示されるように、要求の署名が正常に確認される場合、特権操作は、ハイパーバイザー／カーネルで実行することができる。署名が公開鍵を使用して正常に確認されない場合、特権操作が失敗する（すなわち、実行されない）。
【００５３】
図７は、様々な実施形態に従って、要求の暗号化を利用するための例示のプロセス７００を示す。オペレーション７０１では、ホストコンピューティングデバイスは、非対称の鍵対を生成する。例えば、ホストコンピューティングデバイスのブートプロセスは、公開鍵及び対応する秘密鍵を生成することができる。オペレーション７０２では、公開鍵は、信頼できるソースに公開されている。一実施形態では、公開鍵は、要求を暗号化するために公開鍵を使用する要求する関係者に直接提供することができる。別の実施形態では、公開鍵は、証明機関に提供することができ、証明機関は、カーネルまたはハイパーバイザーで特権操作を行うことを望む承認された関係者に証明を与えることができる。この実施形態では、証明機関は、証明に公開鍵を埋め込み、それ自体の秘密鍵を使用して証明に署名することができる。したがって、証明を受け取る関係者は、公開鍵が、実際にホストコンピューティングデバイスからのものであるとＣＡによって証明されていることを確認することができる。
【００５４】
オペレーション７０３では、ホストコンピューティングデバイスは、特権操作を行うための要求を受け取ることができる。オペレーション７０４に示されるように、ホストコンピューティングデバイスは、次にホストコンピューティングデバイスに格納された秘密鍵を使用して要求を解読することを試みる。オペレーション７０５に示されるように、要求が、秘密鍵を使用することにより解読される場合、ホストコンピューティングデバイスは、カーネル／ハイパーバイザーで特権操作を実行することができる。
【００５５】
本開示の種々の実施形態は、以下の付記を考慮して説明することができる。  
付記１．仮想化コンピューティング環境でデータを保護するためのコンピュータ実現方法であって、
実行可能な命令で構成される１つ以上のコンピュータシステムの制御下で、
ホストコンピューティングデバイスであって、ハイパーバイザーまたはカーネルの少なくとも１つを備えるホストコンピューティングデバイスにＡＰＩ要求を受け取るインターフェースを設けることと、
ホストコンピューティングデバイスによって、ハイパーバイザーまたはカーネルで特権操作を行うための要求であって、第１の鍵を使用して暗号化されており、第２の鍵をパラメータとして要求と共に含み、第２の鍵が情報を暗号化するために使用され、ハイパーバイザーまたはカーネルが、要求を解読し、特権操作を実行してホストコンピューティングデバイスで結果のセットを生成するように構成される、要求を受け取ることと、
ハイパーバイザーまたはカーネルによって、要求と共に提供された第２の鍵を使用することにより、結果のセットであって、ハイパーバイザーまたはカーネルの外の外部の場所に通信される前に暗号化される結果のセットを暗号化することと、を含む、方法。  
付記２．第２の鍵を使用して暗号化された結果のセットを、ホストコンピューティングデバイスに対して外部にある場所に通信することと、
秘密鍵を使用して結果のセットを解読することと、をさらに含む、付記１に記載のコンピュータ実現方法。  
付記３．要求が、複数のホストコンピューティングデバイスを監視するように構成された監視サービスによって発行され、各ホストコンピューティングデバイスが、１つ以上の仮想マシンのインスタンスを管理するハイパーバイザーを含む、付記１に記載のコンピュータ実現方法。  
付記４．特権操作が、
ホストコンピューティングデバイスのメモリ内の場所を読み取り、その場所が仮想マシンマネージャーまたはカーネルのうちの少なくとも１つに関連付けられている、ことを含む、付記１に記載のコンピュータ実現方法。  
付記５．実行可能な命令で構成された１つ以上のコンピュータシステムの制御下で、
ホストコンピューティングデバイスの仮想化層で特権操作を行うための要求を生成することと、
情報を暗号化するために使用することができる公開鍵であって、公開鍵を使用して暗号化された情報を解読するために使用することができる対応する秘密鍵を有する、公開鍵を取得し、かつ公開鍵を要求内に含めることと、
公開鍵を含む要求をホストコンピューティングデバイスの仮想化層であって、特権操作を実行して結果を生成するように構成される、仮想化層に提出することと、を含み、
前記仮想化層が、前記要求と共に提供された前記公開鍵を使用することにより、前記特権操作の前記結果を暗号化するように構成される、コンピュータ実現方法。  
付記６．ホストコンピューティングデバイスの前記仮想化層の外部に結果が通信される前に、仮想化層が、結果を暗号化するように構成される、付記５に記載のコンピュータ実現方法。  
付記７．仮想化層が、暗号化された結果をホストコンピューティングデバイスに対して外部にある場所に通信するように構成され、暗号化された結果が、秘密鍵を使用することによりその場所で解読される、付記５に記載のコンピュータ実現方法。  
付記８．特権操作を行うための要求が、第２の鍵を使用して暗号化され、要求が、仮想化層によって解読可能である、付記５に記載のコンピュータ実現方法。  
付記９．特権操作を行うための要求が、サービスの秘密鍵を使用して署名され、要求の署名が、サービス公開鍵を使用する仮想化層によって確認可能である、付記５に記載のコンピュータ実現方法。  
付記１０．サービス公開鍵を含む証明を証明機関（ＣＡ）から取得することをさらに含む、付記９に記載のコンピュータ実現方法。  
付記１１．公開鍵を取得することが、
証明機関（ＣＡ）を使用して、公開鍵の所有権を証明する少なくとも１つの証明を取得することをさらに含む、付記５に記載のコンピュータ実現方法。  
付記１２．要求が、複数のホストコンピューティングデバイスを監視する監視サービスによって生成される、付記５に記載のコンピュータ実現方法。  
付記１３．監視サービスによって、複数のホストコンピューティングデバイスの少なくとも１つに関連するプロファイルに少なくとも部分的に基づいて、複数のホストコンピューティングデバイスのうちの少なくとも１つが、異常に動作していることを検出することをさらに含む、付記１２に記載のコンピュータ実現方法。  
付記１４．要求が、指定された期間に拘束される、付記５に記載のコンピュータ実現方法。  
付記１５．特権操作が、ホストコンピューティングデバイスの仮想化層の実行中のメモリイメージを変更する、付記５に記載のコンピュータ実現方法。  
付記１６．特権操作が、
ホストコンピューティングデバイスのメモリ内の場所を読み取り、その場所が仮想化層に関連付けられている、ことをさらに含む、付記５に記載のコンピュータ実現方法。  
付記１７．少なくとも１つのプロセッサを備える第１のコンピュータシステムと、
前記少なくとも１つのプロセッサによって実行されると、
ホストコンピューティングデバイスの仮想化層で特権操作を行うための要求であって、公開鍵を含み、公開鍵が、情報を暗号化するために使用することができ、公開鍵を使用して暗号化された情報を解読するために使用することができる対応する秘密鍵を有する、要求を信頼できる関係者から受け取ることと、
要求をホストコンピューティングデバイスのアプリケーションプログラミングインターフェース（ＡＰＩ）に発行し、仮想化層が、特権操作を実行して、結果を生成し、かつその結果を要求と共に提供された公開鍵を使用して暗号化するように構成される、ことと、をコンピューティングシステムに行わせる命令を含むメモリと、を備える、システム。  
付記１８．ホストコンピューティングデバイスであって、少なくとも１つのプロセッサと、実行されると、
特権操作を実行することと、
要求と共に提供される公開鍵を使用して結果を暗号化することと、
暗号化された結果を所定の場所に格納することと、をホストコンピューティングデバイスに行わせる命令を含むメモリと、を備えるホストコンピューティングデバイスをさらに備える、付記１７に記載のシステム。  
付記１９．ホストコンピューティングデバイスが、仮想化層の外に結果が通信される前に、仮想化層内で結果を暗号化するように構成される、付記１８に記載のシステム。  
付記２０．特権操作を行うための要求が、第２の鍵を使用して暗号化され、要求が、仮想化層によって解読される、付記１７に記載のコンピューティングシステム。  
付記２１．少なくとも１つのプロセッサと、
少なくとも１つのプロセッサによって実行されると、
ホストコンピューティングデバイスの仮想化層で特権操作を行うための要求であって、公開鍵を含み、公開鍵が、情報を暗号化するために使用することができ、公開鍵を使用して暗号化された情報を解読するために使用することができる対応する秘密鍵を有する、要求を受け取ることと、
ホストコンピューティングデバイスの仮想化層で要求を実行して結果を生成することと、
要求と共に提供された公開鍵を使用することにより特権操作の結果を暗号化することと、をコンピューティングシステムに行わせる命令を含むメモリと、を備えるコンピューティングシステム。  
付記２２．メモリが、
暗号化された結果を、ホストコンピューティングデバイスに対して外部にある場所であって、秘密鍵を格納する場所に通信すること、をコンピューティングシステムに行わせる命令をさらに含み、
結果が、秘密鍵を使用することにより解読可能である、付記２１に記載のコンピューティングシステム。  
付記２３．特権操作を行うための要求が、第２の鍵を使用して暗号化され、要求が、仮想化層によって解読される、付記２１に記載のコンピューティングシステム。  
付記２４．１つ以上のプロセッサによって、
ホストコンピューティングデバイスの仮想化層で特権操作を行うための要求であって、公開鍵を含み、公開鍵が、情報を暗号化するために使用することができ、公開鍵を使用して暗号化された情報を解読するために使用することができる対応する秘密鍵を有する、要求を受け取ることと、ホストコンピューティングデバイスの仮想化層で要求を実行して結果を生成することと、
要求と共に提供された公開鍵を使用することにより特権操作の結果を暗号化することと、が実行可能である命令の１つ以上のシーケンスを格納する非一時的コンピュータ可読記憶媒体。  
付記２５．１つ以上のプロセッサに、
暗号化された結果を、ホストコンピューティングデバイスに対して外部の場所であって、秘密鍵を格納する場所に通信することと、
結果をその場所で秘密鍵を使用することにより解読することと、を行わせる命令をさらに含む、付記２４に記載の非一時的コンピュータ可読記憶媒体。  
付記２６．特権操作を行うための要求が、第２の鍵を使用して暗号化され、要求が、仮想化層によって解読可能である、付記２４に記載の非一時的コンピュータ可読記憶媒体。  
付記２７．結果がホストコンピューティングデバイスから外部の場所に通信される前に、結果が仮想化層で暗号化される、付記２４に記載の非一時的コンピュータ可読記憶媒体。
【００５６】
図８は、例示のコンピューティングデバイス８００の一般的な構成要素のセットの論理的配設を示す。この例示では、デバイスは、メモリデバイスまたは要素８０４に格納することができる命令を実行するためのプロセッサ８０２を備える。当業者には明らかであるが、このデバイスは、多くのタイプのメモリ、データストレージ、または非一時的コンピュータ可読記憶媒体、例えば、プロセッサ８０２によって実行されるプログラム命令のための第１のデータストレージ、画像またはデータのための別個のストレージ、他のデバイスと情報を共有するための取り外し可能なメモリなどを備えることができる。このデバイスは、通常、タッチスクリーンまたは液晶ディスプレイ（ＬＣＤ）のようなあるタイプの表示要素８０６を備えることができるが、携帯型メディアプレーヤーのようなデバイスは、オーディオスピーカーを介するような他の手段によって、情報を搬送することができる。記載のように、多くの実施形態において、デバイスは、従来の入力をユーザから受け取ることができる少なくとも１つの入力要素８０８を含む。この従来の入力は、例えば、プッシュボタン、タッチパッド、タッチスクリーン、ホイール、ジョイスティック、キーボード、マウス、キーパッド、または任意の他のそのようなデバイスもしくは要素を含むことができ、それによって、ユーザは、コマンドをデバイスに入力することができる。しかしながら、いくつかの実施形態では、そのようなデバイスは、一切のボタンを備えることがなく、視覚的コマンド及び音声コマンドの組合せを介してのみ制御することができ、ユーザは、デバイスに接触することなく、デバイスを制御することができる。いくつかの実施形態では、図８のコンピューティングデバイス８００は、Ｗｉ−Ｆｉ（登録商標）、ブルートゥース（登録商標）、ＲＦ、有線または無線通信システムのような様々なネットワークを介して通信するための１つ以上のネットワークインターフェース８０８を備えることができる。多くの実施形態において、デバイスは、インターネットなどのネットワークと通信することができ、他のそのようなデバイスと通信することができる。
【００５７】
記載のように、記載された実施形態に従って、異なる手法を様々な環境で実現することができる。例えば、図９は、様々な実施形態に従って、態様を実現するための環境９００の例示を示す。理解されることであるが、ウェブベースの環境は、説明の目的のために使用されたが、異なる環境は、様々な実施形態を実現するために、適宜、使用することができる。このシステムは、電子クライアントデバイス９０２を備え、これは、適切なネットワーク９０４上で要求、メッセージ、または情報を送信及び受信し、情報をデバイスのユーザに搬送して戻すように動作可能な任意の適切なデバイスを備えることができる。このようなクライアントデバイスの例示は、パーソナルコンピュータ、携帯電話、携帯型メッセージングデバイス、ラップトップ型コンピュータ、セットトップボックス、個人データ端末、電子ブックリーダ等を含む。ネットワークは、イントラネット、インターネット、セルラーネットワーク、ローカルエリアネットワーク、または任意の他のそのようなネットワークもしくはそれらの組合せを含む、任意の適切なネットワークを含むことができる。そのようなシステムに用いられる構成要素は、ネットワークのタイプ及び／または選択された環境に少なくとも部分的に依存することができる。そのようなネットワークを介する通信のためのプロトコル及び構成要素は、公知であり、本明細書では詳細に議論されない。ネットワークを介した通信は、有線または無線接続、及びそれらの組合せによって可能にすることができる。この例示では、ネットワークは、インターネットを含み、環境は、要求を受信し、かつそれに応答してコンテンツを提供するためのウェブサーバー９０６を含むが、他のネットワークの場合、当業者には明らかであるように、同様の目的を果たす代替のデバイスを使用することができる。
【００５８】
実例の環境は、少なくとも１つのアプリケーションサーバー９０８及びデータストア９１０を含む。適切なデータストアからデータを取得する等のタスクを行うように相互作用することが可能である、連結またはそうでなければ構成することができる、複数のアプリケーションサーバー、層もしくは他の要素、プロセス、または構成要素が存在できることを理解されたい。本明細書で使用されるように、「データストア」という用語は、データを記憶し、それにアクセスし、それを取り出すことが可能な任意のデバイスまたはデバイスの組合せを指し、これは、任意の標準的な分散型またはクラスタ型環境において、データサーバー、データベース、データ記憶デバイス、及びデータ記憶媒体の任意の組合せ及び数を備えることができる。アプリケーションサーバーは、必要に応じてデータストアと統合してクライアントデバイスの１つ以上のアプリケーションの態様を実行し、アプリケーションのデータアクセス及びビジネス論理の大部分を処理するための任意の好適なハードウェア及びソフトウェアを備えることができる。アプリケーションサーバーは、データストアと連携してアクセス制御サービスを提供し、ユーザに転送されるテキスト、グラフィックス、オーディオ及び／またはビデオのようなコンテンツを生成することができ、この例示では、これらは、ＨＴＭＬ、ＸＭＬ、または別の適切な構造化言語の形態でウェブサーバーによってユーザに提供することができる。全ての要求及び応答の処理、ならびにクライアントデバイス９０２とアプリケーションサーバー９０８との間のコンテンツの配信は、ウェブサーバー９０６によって処理することができる。本明細書で議論される構造化されたコードは、本明細書の他の箇所で議論される任意の適切なデバイスまたはホストマシンで実行することができるので、ウェブサーバー及びアプリケーションサーバーは、必須ではなく、単に例示の構成要素であることを理解されたい。
【００５９】
データストア９１０は、複数の別個のデータテーブル、データベースまたは他のデータ記憶機構、及び特定の態様に関するデータを記憶するための媒体を含むことができる。例えば、示されたデータストアは、製造データ９１２及びユーザ情報９１６を格納する機構を備え、製造側にコンテンツを提供するために使用することができる。データストアはまた、ログまたはセッションデータ９１４を格納するための機構を備えるように示される。ページの画像情報及びアクセス権情報等、データストアに格納する必要もある多くの他の態様が存在することができ、これは、必要に応じて上に列挙された機構のいずれか、またはデータストア９１０内の追加の機構に記憶することができることを理解されたい。データストア９１０は、それに関連する論理を介して動作可能であり、アプリケーションサーバー９０８から命令を受け取り、それに応じて、データを取得し、更新するまたはそうでなければ処理する。一例示では、ユーザは、あるタイプのアイテムのための検索の要求を提出することもある。この場合、データストアは、ユーザ情報にアクセスしてユーザの識別を確認することができ、カタログの詳細情報にアクセスして、そのタイプのアイテムについての情報を取得することができる。この情報は、次に、ユーザがユーザデバイス９０２のブラウザを介して見ることができるウェブページ上の結果一覧等で、ユーザに返すことができる。関心のある特定のアイテムの情報を、ブラウザの専用ページまたはウィンドウで見ることができる。
【００６０】
各サーバーは、サーバーの全般的な管理及び操作のための実行可能なプログラム命令を提供するオペレーティングシステムを備え、またサーバーのプロセッサによって実行されると、意図された機能をサーバーが行うことを可能にする命令を格納するコンピュータ可読媒体を備える。サーバーのオペレーティングシステム及び全体的な機能のための適切な実現形態は、公知であり、または市販されており、具体的に本明細書の本開示に照らして、当業者によって容易に実現される。
【００６１】
一実施形態における環境は、１つ以上のコンピュータネットワークまたは直接接続を使用し、通信リンクを介して相互接続された複数のコンピュータシステム及び構成要素を利用する、分散型コンピューティング環境である。しかしながら、当業者であれば、そのようなシステムが、図９に示されたよりも少ない数または多い数の構成要素を有するシステムで同等にうまく動作できることを理解されたい。したがって、図９のシステム９００の図示は、本質的に実例としてみなされるべきであり、本開示の範囲を制限するものではない。
【００６２】
本明細書で議論された、または示唆された、様々な実施形態は、多種多様の動作環境で実現することができ、これらは、ある場合には、いくつかのアプリケーションのうちのいずれかを動作するために使用することができる１つ以上のユーザコンピュータ、コンピューティングデバイス、またはプロセッシングデバイスを含むことができる。ユーザまたはクライアントデバイスは、標準的なオペレーティングシステムを実行するデスクトップ型またはラップトップ型コンピュータ、ならびに、モバイルソフトウェアを実行し、多数のネットワーク及びメッセージプロトコルをサポートすることが可能な携帯電話、無線、及び携帯型デバイスなどの、任意の多数の汎用パーソナルコンピュータを備えることができる。このようなシステムはまた、開発及びデータベース管理などの目的のために、様々な市販のオペレーティングシステム及び他の公知のアプリケーションのうちのいずれかを実行する多数のワークステーションを備えることができる。これらのデバイスはまた、ダミーターミナル、シンクライアント、ゲーミングシステム、及びネットワークを介して通信することができる他のデバイスなどの他の電子デバイスを備えることができる。
【００６３】
ほとんどの実施形態は、ＴＣＰ／ＩＰ、ＯＳＩ、ＦＴＰ、ＵＰｎＰ、ＮＦＳ、ＣＩＦＳ、及びＡｐｐｌｅＴａｌｋなどの、多様な市販のプロトコルのいずれかを使用して通信をサポートするために、当業者によく知られているであろう少なくとも１つのネットワークを利用する。ネットワークは、例えば、ローカルエリアネットワーク、ワイドエリアネットワーク、仮想プライベートネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及びそれらの任意の組合せであることができる。
【００６４】
ウェブサーバーを利用する実施形態においては、ウェブサーバーは、ＨＴＴＰサーバー、ＦＴＰサーバー、ＣＧＩサーバー、データサーバー、Ｊａｖａ（登録商標）サーバー、及びビジネスアプリケーションサーバーを含む、あらゆる種類のサーバーまたは中間層アプリケーションを実行することができる。サーバー（複数可）はまた、例えば、Ｊａｖａ（登録商標）、Ｃ、Ｃ＃、もしくはＣ＋＋等の任意のプログラミング言語、またはＰｅｒｌ、Ｐｙｔｈｏｎ、もしくはＴＣＬなどの任意のスクリプト言語、ならびにそれらの組合せで書かれる１つ以上のスクリプトまたはプログラムとして実現することができる１つ以上のウェブアプリケーションを実行することなどによって、ユーザデバイスからの要求に応答してプログラムまたはスクリプトを実行することができる。サーバー（複数可）はまた、制限するものではないが、Ｏｒａｃｌｅ（登録商標）、Ｍｉｃｒｏｓｏｆｔ（登録商標）、Ｓｙｂａｓｅ（登録商標）、及びＩＢＭ（登録商標）から市販のものを含むデータベースサーバーも備えることができる。
【００６５】
環境は、上述のように様々なデータストアと、他のメモリと、記憶媒体と、を備えることができる。これらは、様々な場所、例えば、コンピュータのうちの１つ以上に対してローカルである（かつ／もしくはそこに存在する）、またはネットワーク上のコンピュータのうちのいずれかもしくは全てから遠隔である、記憶媒体上に存在することができる。実施形態の特定のセットにおいて、情報は、当業者に熟知されたストレージエリアネットワーク（「ＳＡＮ」）内に存在することができる。同様に、コンピュータ、サーバー、または他のネットワークデバイスに属する機能を行うために必要な任意のファイルを、必要に応じてローカル及び／または遠隔で格納することができる。システムがコンピュータ化されたデバイスを含む場合、それぞれのそのようなデバイスは、バスを介して電気的に結合することができるハードウェア要素を備えることができ、これらの要素は、例えば、少なくとも１つの中央処理ユニット（ＣＰＵ）、少なくとも１つの入力デバイス（例えば、マウス、キーボード、コントローラ、タッチスクリーン、またはキーパッド）、及び少なくとも１つの出力デバイス（例えば、表示デバイス、プリンタ、またはスピーカー）を含む。このようなシステムはまた、ディスクドライブ、光学的記憶デバイス、及びランダムアクセスメモリ（ＲＡＭ）または読み出し専用メモリ（ＲＯＭ）などのソリッドステート記憶デバイス、ならびに取り外し可能記憶デバイス、メモリカード、フラッシュカードなどのような１つ以上の記憶デバイスを備えることができる。
【００６６】
そのようなデバイスはまた、上述のように、コンピュータ可読記憶媒体リーダ、通信デバイス（例えば、モデム、ネットワークカード（無線または有線）、赤外線通信デバイスなど）、及びワーキングメモリを備えることができる。コンピュータ可読記憶媒体リーダは、コンピュータ可読情報を一時的及び／またはより恒久的に収容し、格納し、送信し、かつ読み出すための、遠隔、ローカル、固定、及び／または取り外し可能な記憶デバイスならびに記憶媒体を表すコンピュータ可読記憶媒体に、接続する、またはそれを受け取るように構成する、ことができる。システム及び様々なデバイスはまた、通常、多数のソフトウェアアプリケーション、モジュール、サービス、またはクライアントアプリケーションまたはウェブブラウザなどのオペレーティングシステム及びアプリケーションプログラムを含む少なくとも１つのワーキングメモリデバイス内に位置する他の要素を備える。代替の実施形態が、上述のものからの多数の変形を有し得ることを理解されたい。例えば、カスタマイズされたハードウェアも使用され得、かつ／または特定の要素が、ハードウェア、ソフトウェア（アプレット等のポータブルソフトウェアを含む）、もしくはこれらの両方に実装され得る。さらに、ネットワーク入力／出力デバイスなどの他のコンピューティングデバイスへの接続を用いることができる。
【００６７】
コードまたはコードの部分を収容するための記憶媒体及びコンピュータ可読媒体は、限定するものではないが、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の記憶及び／または送信のための任意の方法または技術で実現される、揮発性及び不揮発性、取り外し可能及び取り外し不能の媒体などの記憶媒体及び通信媒体を含む、従来技術で公知である、または使用されている任意の適切な媒体を含むことができ、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）もしくは他の光学的記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または所望の情報を格納するために使用することができ、かつシステムデバイスによってアクセスすることができる任意の他の媒体を含む。本明細書に提供される本開示及び教示に基づいて、当業者であれば、様々な実施形態を実現する他の仕方及び／または方法を理解するであろう。
【００６８】
明細書及び図面は、したがって、限定的な意味ではなく実例としてみなされるべきである。しかしながら、特許請求の範囲に記載のように本発明のより広い趣旨及び範囲から逸脱することなく、様々な変更及び改変を行うことができることは明らかであろう。
【図１】
2018081705.tif 000003
【図２】
2018081705.tif 000004
【図３】
2018081705.tif 000005
【図４】
2018081705.tif 000006
【図５】
2018081705.tif 000007
【図６】
2018081705.tif 000008
【図７】
2018081705.tif 000009
【図８】
2018081705.tif 000010
【図９】
2018081705.tif 000011
【手続補正書】
【提出日】平成30年1月12日(2018.1.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コンピュータ実現方法において、
ホストコンピューティングデバイスの仮想化層で特権操作を行うための要求を生成することと、ここにおいて、前記仮想化層はハイパーバイザーまたはカーネルの少なくとも1つを含み、前記仮想化層で前記特権操作を行うための前記要求は、ユーザによって開始され、アプリケーションプログラミングインターフェースを使用して前記仮想化層に提出され、
公開鍵を取得し、かつ前記公開鍵を前記要求内に含めることであって、前記公開鍵は、前記仮想化層によって情報を暗号化するために使用することができ、前記公開鍵は、前記仮想化層によって前記公開鍵を使用して暗号化された前記情報を解読するために使用することができる対応する秘密鍵を有し、ここにおいて、前記特権操作を行うための前記要求は第２のカギを使用して暗号化され、
前記公開鍵を含む前記要求を前記ホストコンピューティングデバイスの前記仮想化層に提出すること、を含み、前記仮想化層は、結果を生成するために前記特権操作を実行するように構成され、
ここにおいて、前記仮想化層が、前記要求と共に提供された前記公開鍵を使用することにより、前記結果が前記ホストコンピューティングデバイスの前記仮想化層の外部に送信される前に、前記特権操作を行うための前記要求を解読し、および、前記特権操作の前記結果を暗号化するように構成され、前記結果は異常状態の情報を含むハイパーバイザーまたはカーネルの情報を備える、
コンピュータ実現方法。
【請求項２】
前記ホストコンピューティングデバイスの前記仮想化層の外部に前記結果が通信される前に、前記仮想化層が、前記結果を暗号化するように構成される、請求項１に記載のコンピュータ実現方法。
【請求項３】
前記仮想化層が、前記暗号化された結果を前記ホストコンピューティングデバイスに対して外部にある場所に通信するように構成され、前記暗号化された結果が、秘密鍵を使用することにより前記場所で解読される、請求項１に記載のコンピュータ実現方法。
【請求項４】
前記特権操作を行うための前記要求が、第２の鍵を使用して暗号化され、前記要求が、前記仮想化層によって解読可能である、請求項１に記載のコンピュータ実現方法。
【請求項５】
前記特権操作を行うための前記要求が、サービスの秘密鍵を使用して署名され、前記要求の署名が、サービス公開鍵を使用して前記仮想化層によって確認可能である、請求項１に記載のコンピュータ実現方法。
【請求項６】
証明機関（ＣＡ）から前記サービス公開鍵を含む証明書を取得することをさらに含む、請求項５に記載のコンピュータ実現方法。
【請求項７】
前記公開鍵を取得することが、
前記公開鍵の所有権を証明する少なくとも１つの証明書を、証明機関（ＣＡ）を使用して取得することをさらに含む、請求項１に記載のコンピュータ実現方法。
【請求項８】
前記要求が、複数のホストコンピューティングデバイスを監視する監視サービスによって生成される、請求項１に記載のコンピュータ実現方法。
【請求項９】
前記複数のホストコンピューティングデバイスの少なくとも１つに関連付けられたプロファイルに少なくとも部分的に基づいて、前記複数のホストコンピューティングデバイスの前記少なくとも１つが異常に動作していることを、前記監視サービスによって検出することをさらに含む、請求項８に記載のコンピュータ実現方法。
【請求項１０】
前記要求が、指定された期間に拘束される、請求項１に記載のコンピュータ実現方法。
【請求項１１】
前記特権操作が、前記ホストコンピューティングデバイスの前記仮想化層の実行中のメモリイメージを変更する、請求項１に記載のコンピュータ実現方法。
【請求項１２】
前記特権操作が、
前記ホストコンピューティングデバイスのメモリ内の場所であって、前記仮想化層に関連付けられた場所を読み取ることを、さらに含む、請求項１に記載のコンピュータ実現方法。
【請求項１３】
コンピューティングシステムであって、
少なくとも１つのプロセッサと、
メモリであって、前記少なくとも１つのプロセッサによって実行されると、
ホストコンピューティングデバイスの仮想化層で特権操作を行うための要求を受け取ることと、ここにおいて、前記仮想化層はハイパーバイザーまたはカーネルの少なくとも1つを含み、前記仮想化層で前記特権操作を行うための前記要求はユーザによって開始され、アプリケーションプログラミングインターフェースを使用して前記仮想化層に提出され、前記要求は公開鍵を含み、前記公開鍵は、前記仮想化層によって情報を暗号化するために使用することができ、前記公開鍵は、前記仮想化層によって前記公開鍵を使用して暗号化された前記情報を解読するために使用することができる対応する秘密鍵を有し、
前記ホストコンピューティングデバイスのアプリケーションプログラミングインターフェース（ＡＰＩ）に前記要求を発行することと、を前記少なくとも１つのプロセッサに行わせる命令を含むメモリと、を備え、前記仮想化層は、結果を生成するために前記特権操作を実行するように構成され、
ここにおいて、前記仮想化層は、前記結果が前記ホストコンピューティングデバイスの前記仮想化層の外部に送信される前に、前記特権操作を実行するための前記要求を解読し、および、前記要求と共に提供された前記公開鍵を使用して前記結果を暗号化するように構成され、前記結果は異常状態の情報を含むハイパーバイザーまたはカーネルの情報を備える、
コンピューティングシステム。
【請求項１４】
前記ホストコンピューティングデバイスであって、少なくとも１つのプロセッサと、実行されると、
前記特権操作を実行することと、
前記要求と共に提供される前記公開鍵を使用して前記結果を暗号化することと、
前記暗号化された結果を所定の場所に格納することと、を前記ホストコンピューティングデバイスに行わせる命令を含むメモリと、を備える前記ホストコンピューティングデバイスをさらに備える、請求項１３に記載のコンピューティングシステム。
【請求項１５】
前記特権操作を行うための要求が、第２の鍵を使用して暗号化され、前記要求が、前記仮想化層によって解読される、請求項１３に記載のコンピューティングシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
明細書及び図面は、したがって、限定的な意味ではなく実例としてみなされるべきである。しかしながら、特許請求の範囲に記載のように本発明のより広い趣旨及び範囲から逸脱することなく、様々な変更及び改変を行うことができることは明らかであろう。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］実行可能な命令で構成された１つ以上のコンピュータシステムの制御下で、
ホストコンピューティングデバイスの仮想化層で特権操作を行うための要求を生成することと、
情報を暗号化するために使用することができる公開鍵であって、前記公開鍵を使用して暗号化された前記情報を解読するために使用することができる対応する秘密鍵を有する、前記公開鍵を取得し、かつ前記公開鍵を前記要求内に含めることと、
前記公開鍵を含む前記要求を前記ホストコンピューティングデバイスの前記仮想化層であって、前記特権操作を実行して結果を生成するように構成される、前記仮想化層に提出することと、を含み、
前記仮想化層が、前記要求と共に提供された前記公開鍵を使用することにより、前記特権操作の前記結果を暗号化するように構成される、コンピュータ実現方法。
［２］前記ホストコンピューティングデバイスの前記仮想化層の外部に前記結果が通信される前に、前記仮想化層が、前記結果を暗号化するように構成される、［１］に記載のコンピュータ実現方法。
［３］前記仮想化層が、前記暗号化された結果を前記ホストコンピューティングデバイスに対して外部にある場所に通信するように構成され、前記暗号化された結果が、秘密鍵を使用することにより前記場所で解読される、［１］に記載のコンピュータ実現方法。
［４］前記特権操作を行うための前記要求が、第２の鍵を使用して暗号化され、前記要求が、前記仮想化層によって解読可能である、［１］に記載のコンピュータ実現方法。
［５］前記特権操作を行うための前記要求が、サービスの秘密鍵を使用して署名され、前記要求の署名が、サービス公開鍵を使用して前記仮想化層によって確認可能である、［１］に記載のコンピュータ実現方法。
［６］証明機関（ＣＡ）から前記サービス公開鍵を含む証明書を取得することをさらに含む、［５］に記載のコンピュータ実現方法。
［７］前記公開鍵を取得することが、
前記公開鍵の所有権を証明する少なくとも１つの証明書を、証明機関（ＣＡ）を使用して取得することをさらに含む、［１］に記載のコンピュータ実現方法。
［８］前記要求が、複数のホストコンピューティングデバイスを監視する監視サービスによって生成される、［１］に記載のコンピュータ実現方法。
［９］前記複数のホストコンピューティングデバイスの少なくとも１つに関連付けられたプロファイルに少なくとも部分的に基づいて、前記複数のホストコンピューティングデバイスの前記少なくとも１つが異常に動作していることを、前記監視サービスによって検出することをさらに含む、［８］に記載のコンピュータ実現方法。
［１０］前記要求が、指定された期間に拘束される、［１］に記載のコンピュータ実現方法。
［１１］前記特権操作が、前記ホストコンピューティングデバイスの前記仮想化層の実行中のメモリイメージを変更する、［１］に記載のコンピュータ実現方法。
［１２］前記特権操作が、
前記ホストコンピューティングデバイスのメモリ内の場所であって、前記仮想化層に関連付けられた場所を読み取ることを、さらに含む、［１］に記載のコンピュータ実現方法。
［１３］少なくとも１つのプロセッサを備える第１のコンピュータシステムと、
前記少なくとも１つのプロセッサによって実行されると、
ホストコンピューティングデバイスの仮想化層で特権操作を行うための要求であって、公開鍵を含み、前記公開鍵が、情報を暗号化するために使用することができ、前記公開鍵を使用して暗号化された前記情報を解読するために使用することができる対応する秘密鍵を有する、要求を信頼できる関係者から受け取ることと、
前記ホストコンピューティングデバイスのアプリケーションプログラミングインターフェース（ＡＰＩ）に前記要求を発行することと、を前記コンピューティングシステムに行わせる命令を含むメモリと、を備え、前記仮想化層が、前記特権操作を実行して、結果を生成し、かつ前記要求と共に提供された前記公開鍵を使用して前記結果を暗号化する、システム。
［１４］前記ホストコンピューティングデバイスであって、少なくとも１つのプロセッサと、実行されると、
前記特権操作を実行することと、
前記要求と共に提供される前記公開鍵を使用して前記結果を暗号化することと、
前記暗号化された結果を所定の場所に格納することと、を前記ホストコンピューティングデバイスに行わせる命令を含むメモリと、を備える前記ホストコンピューティングデバイスをさらに備える、［１３］に記載のシステム。
［１５］前記特権操作を行うための要求が、第２の鍵を使用して暗号化され、前記要求が、前記仮想化層によって解読される、［１３］に記載のコンピューティングシステム。
【外国語明細書】
2018081705000001.pdf