特許第6130050号(P6130050)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アマゾン・テクノロジーズ、インコーポレイテッドの特許一覧

<>
  • 特許6130050-安全な記憶装置を用いたホストリカバリ 図000002
  • 特許6130050-安全な記憶装置を用いたホストリカバリ 図000003
  • 特許6130050-安全な記憶装置を用いたホストリカバリ 図000004
  • 特許6130050-安全な記憶装置を用いたホストリカバリ 図000005
  • 特許6130050-安全な記憶装置を用いたホストリカバリ 図000006
  • 特許6130050-安全な記憶装置を用いたホストリカバリ 図000007
  • 特許6130050-安全な記憶装置を用いたホストリカバリ 図000008
  • 特許6130050-安全な記憶装置を用いたホストリカバリ 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6130050
(24)【登録日】2017年4月21日
(45)【発行日】2017年5月17日
(54)【発明の名称】安全な記憶装置を用いたホストリカバリ
(51)【国際特許分類】
   G06F 21/57 20130101AFI20170508BHJP
   G06F 21/64 20130101ALI20170508BHJP
【FI】
   G06F21/57 350
   G06F21/64
【請求項の数】14
【全頁数】28
(21)【出願番号】特願2016-508981(P2016-508981)
(86)(22)【出願日】2014年4月11日
(65)【公表番号】特表2016-519827(P2016-519827A)
(43)【公表日】2016年7月7日
(86)【国際出願番号】US2014033882
(87)【国際公開番号】WO2014172205
(87)【国際公開日】20141023
【審査請求日】2015年12月15日
(31)【優先権主張番号】13/862,923
(32)【優先日】2013年4月15日
(33)【優先権主張国】US
(31)【優先権主張番号】13/863,296
(32)【優先日】2013年4月15日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】506223509
【氏名又は名称】アマゾン・テクノロジーズ、インコーポレイテッド
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100075672
【弁理士】
【氏名又は名称】峰 隆司
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100140176
【弁理士】
【氏名又は名称】砂川 克
(74)【代理人】
【識別番号】100124394
【弁理士】
【氏名又は名称】佐藤 立志
(74)【代理人】
【識別番号】100112807
【弁理士】
【氏名又は名称】岡田 貴志
(74)【代理人】
【識別番号】100111073
【弁理士】
【氏名又は名称】堀内 美保子
(72)【発明者】
【氏名】ポトラパリー、ナチケス・ラオ
(72)【発明者】
【氏名】チャウラ、ラチト
(72)【発明者】
【氏名】ボルクマン、ジェレミー・ライアン
(72)【発明者】
【氏名】マー、マイケル・デイビッド
【審査官】 宮司 卓佳
(56)【参考文献】
【文献】 特開2008−226158(JP,A)
【文献】 特開2006−323814(JP,A)
【文献】 特表2004−520651(JP,A)
【文献】 米国特許出願公開第2006/0161769(US,A1)
【文献】 特開2012−009938(JP,A)
【文献】 米国特許出願公開第2013/0047031(US,A1)
【文献】 特開2011−113294(JP,A)
【文献】 国際公開第2011/046731(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F21/00−21/88
(57)【特許請求の範囲】
【請求項1】
全な記憶装置に格納された1つ以上の認証情報を利用できるリカバリイメージを含有するホストコンピューティングデバイス上で、前記ホストコンピューティングデバイスの前記安全な記憶装置に1つ以上の前記認証情報を格納すること、ここにおいて、前記ホストコンピューティングデバイスは、前記ホストコンピューティングデバイスをネットワーク通信を通して、1つ以上の遠隔デバイスに認証するための前記1つ以上の認証情報を使用するように構成され、
前記ホストコンピューティングデバイスを再起動すること、
前記再起動中に、前記ホストコンピューティングデバイスを再起動する前に不具合がホストコンピューティングデバイス上で起こり得たことを判断すること、
前記ホストコンピューティングデバイス上に前記リカバリイメージを読み込むこと、
前記ホストコンピューティングデバイスで動作する前記リカバリイメージが、前記ホストコンピューティングデバイス上で1つ以上のサービスを開始するために使用される、前記安全な記憶装置に格納された前記1つ以上の認証情報にアクセスできるようにすることとを含む、コンピューター実装された方法。
【請求項2】
前記安全な記憶装置に格納された前記認証情報は、さらに、第二暗号化キーを解読するために使用できる第一暗号化キーを含み、前記第二暗号化キーはリカバリイメージを解読するために使用できる、請求項1に記載のコンピューター実装された方法。
【請求項3】
前記安全な記憶装置に格納された前記認証情報は、さらに、前記リカバリイメージを解読するために使用される暗号化キーを含む、請求項1に記載のコンピューター実装された方法。
【請求項4】
不具合が前記ホストコンピューティングデバイス上で起こり得たことを判断することは、1セットの状態を分析して、前記1セットの状態の少なくとも一部に基づき、前記ホストコンピューティングデバイスが異常終了したことを判断するために構成された、前記ホストコンピューティングデバイス上で動作するファームウェアによって実行される、請求項1に記載のコンピューター実装された方法。
【請求項5】
前記リカバリイメージを読み込むことは、
前記ホストコンピューティングデバイス上で動作する前記ファームウェアの起動ファームウェア測定を取得すること、
前記起動ファームウェア測定と前記安全な記憶装置に格納された参照ファームウェア測定を比較することで、前記ホストコンピューティングデバイス上で動作する前記ファームウェアを検証すること、
暗号化キーを用いて前記リカバリイメージを解読するよう構成された前記ファームウェアを、前記安全な記憶装置に格納された前記暗号化キーにアクセスできるようにすること、
解読した前記リカバリイメージをホストコンピューティングデバイス上に読み込むこと、とを含む、請求項4に記載のコンピューター実装された方法。
【請求項6】
前記ホストコンピューティングデバイス上で動作する前記リカバリイメージを前記安全な記憶装置に格納された前記1つ以上の認証情報にアクセスできるようにすることは、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得すること、
取得した前記起動ファームウェア測定に基づき、前記リカバリイメージの正しいバージョンが読み込まれたことを検証すること、
前記リカバリイメージの正しいバージョンが読み込まれたことの検証に応じて、前記リカバリイメージを前記1つ以上の認証情報にアクセスできるようにすること、
とをさらに含む、請求項1に記載のコンピューター実装された方法。
【請求項7】
前記ホストコンピューティングデバイスは、
遠隔ホストコンピューティングデバイスから前記1つ以上の認証情報を受け取ること、
受け取った前記1つ以上の認証情報を前記安全な記憶装置に格納すること、
とをさらに含む、請求項1に記載のコンピューター実装された方法。
【請求項8】
前記安全な記憶装置は、ホストコンピューティングデバイス上のトラステッド・プラットフォーム・モジュール(TPM)である、請求項1に記載のコンピューター実装された方法。
【請求項9】
前記ホストコンピューティングデバイスは、ユーザーのためにプロビジョニングされた1つ以上の仮想マシンをホストし、前記1つ以上の仮想マシンは、ネットワーク上のユーザーがアプリケーション・プログラミング・インターフェース(API)を用いることでアクセスが可能な少なくとも1つのアプリケーションを実行する、請求項1に記載のコンピューター実装された方法。
【請求項10】
安全な記憶装置と、
少なくとも1つのプロセッサと、
メモリとを含むコンピューティングデバイスであって、
前記メモリは命令を含有し、
前記命令は、前記少なくとも1つのプロセッサによって実行された時に前記コンピューティングデバイスに、
前記安全な記憶装置内に1つ以上の認証情報を格納させ、ここにおいて、前記コンピューティングデバイスは、前記コンピューティングデバイスをネットワーク通信を通して、1つ以上の遠隔デバイスに認証するための前記1つ以上の認証情報を使用するように構成され、
前記コンピューティングデバイスを起動させ、
起動中に、1セットの状態に基づき前記コンピューティングデバイスの起動前にコンピューティングデバイスに不具合が起こり得たことを判断させ、
リカバリイメージを前記コンピューティングデバイスの前記メモリへ読み込ませ、
前記リカバリイメージを、前記コンピューティングデバイス上で1つ以上のサービスを開始するために使用する、前記安全な記憶装置に格納された1つ以上の認証情報にアクセスできるようにさせる、コンピューティングデバイス。
【請求項11】
不具合が前記コンピューティングデバイス上で起こり得たことを判断することは、1セットの状態を分析して、前記1セットの状態の少なくとも一部に基づき、前記コンピューティングデバイスが異常終了したことを判断するために構成された、前記コンピューティングデバイス上で動作するファームウェアによって実行される、請求項10に記載のコンピューティングデバイス。
【請求項12】
前記リカバリイメージを読み込むことは、
前記コンピューティングデバイス上で動作する前記ファームウェアの起動ファームウェア測定を取得すること、
前記起動ファームウェア測定と前記安全な記憶装置に格納された参照ファームウェア測定を比較することで、前記コンピューティングデバイス上で動作する前記ファームウェアを検証すること、
暗号化キーを用いて前記リカバリイメージを解読するよう構成された前記ファームウェアを、前記安全な記憶装置に格納された前記暗号化キーにアクセスできるようにすること、
解読した前記リカバリイメージを前記コンピューティングデバイス上に読み込むこと、とを含む請求項11に記載のコンピューティングデバイス。
【請求項13】
前記コンピューティングデバイス上で動作する前記リカバリイメージを前記安全な記憶装置に格納された前記1つ以上の認証情報にアクセスできるようにすることは、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得すること、
取得した前記起動ファームウェア測定に基づき、前記リカバリイメージの正しいバージョンが読み込まれたことを検証すること、
前記リカバリイメージの正しいバージョンが読み込まれたことの検証に応じて、前記リカバリイメージを前記1つ以上の認証情報にアクセスできるようにすること、
とをさらに含む、請求項10に記載のコンピューティングデバイス。
【請求項14】
前記メモリは、前記少なくとも1つのプロセッサによって実行されて、前記コンピューティングデバイスに、
遠隔ホストコンピューティングデバイスから前記1つ以上の認証情報を受け取らせ、
受け取った前記認証情報を前記安全な記憶装置に格納させる命令を、
さらに包含する、請求項10に記載のコンピューティングデバイス。
【発明の詳細な説明】
【技術分野】
【0001】
増えつつあるアプリケーションおよびサービスはインターネットといったネットワークで利用可能なので、増えつつあるコンテンツ、アプリケーション及び/またはサービスプロバイダは、クラウドコンピューティングといった技術に変わろうとしている。クラウドコンピューティングは、概して、ウェブサービスといったサービスを通じて電子資料へのアクセスを提供するための手引であり、それらのサービスをサポートするために用いられるハードウェア及び/またはソフトウェアはいつでもサービスのニーズに応える動的拡張性がある。ユーザーまたは顧客は一般的に、クラウドを通じて資料にアクセスするために借りたり、リースしたり、またはその他の方法で支払いを行うので、必要なハードウェア及び/またはソフトウェアを購入及び保持する必要はない。従って、ユーザーのアプリケーション及びサービスはしばしばサービスプロバイダのホストサービス上または環境の他のオペレーター上で提供される。そのようなシナリオでは、ユーザーのサービスが確実に途切れることなく運営を継続することを保障するために、起こり得る様々な停電、ネットワーク故障及び他の予期せぬ事象からの保護を提供することがサービスプロバイダまたは他のオペレーターにとって重要になる。生じ得る特定の論点の1つは、広く起こるネットワーク障害及び/または停電といった大規模事象の事象中ですみやかにかつ安全にホストをリカバーする能力である。
【0002】
本開示に従う様々な実施形態は図面を参照して記述される。
【図面の簡単な説明】
【0003】
図1】様々な実施形態に従い、ホストコンピューティングデバイス上のTPMまたは他の安全な記憶装置のプロビジョニングの実施例を説明する図である。
図2】様々な実施形態に従い、リカバリモードのホストコンピューティングデバイスの実施例を説明する図である。
図3】様々な実施形態に従い、遠隔コンピューティングデバイスへ向けてホストコンピューティングデバイスの遠隔認証をTPMが行う実施例を説明する図である。
図4】様々な実施形態に従い、サービスプロバイダまたはホストコンピューティングデバイスを含むマルチテナント・コンピューティング環境のその他のオペレーターのリソースセンター環境の実施例を説明する図である。
図5】様々な実施形態に従い、ホストコンピューティングデバイスをリカバーするために用いられるTPM上での認証情報保存のための過程の実施例を説明する図である。
図6】様々な実施形態に従い、TPMがホストコンピューティングデバイスの遠隔認証を行うための過程の実施例を説明する図である。
図7】様々な実施形態に従い、利用されるコンピューティングデバイスの実施例における1セットの一般的なコンポーネントの論理的配置を説明する図である。
図8】様々な実施形態に従い、態様を実行するための環境の実施例を説明する図である。
【発明を実施するための形態】
【0004】
以下の説明では、様々な実施形態が実施例として説明され、かつ添付図面の図内に制限されないものとして説明される。本開示の様々な実施形態への参照は必ずしも同じ実施形態ではなく、このような参照は少なくとも1つを指す。特定の実装及び他の詳細が論じられる一方で、単に例示を目的とするためにこれが行われることが理解されるべきである。請求される主題の範囲及び主旨から逸れることなく構成要素及び形態が用いられることを当業者は認識するであろう。
【0005】
本開示の様々な実施形態に従うシステム及び方法は、コンピューティングデバイスが不具合及び/または予期せぬ事象からリカバリした時に役立つであろうセキュリティ情報管理のための従来の取り組みの中で経験した1つ以上の前述の、または他の欠陥を打開するかもしれない。具体的には、様々な実施形態はホストコンピューティングデバイスが安全な記憶装置内に、ホストコンピューティングデバイス上のトラステッド・プラットフォーム・モジュール(TPM)といった認証情報(及び/またはホストコンピューティングデバイスの状態をリカバリするために役立つその他のセキュリティ情報)を格納することを可能にする。ホストコンピューティングデバイスが不具合の事象(例えば停電、ネットワーク障害など)からリカバリする時、ホストコンピューティングデバイスは安全な記憶装置から必要な認証情報を得ることができ、かつ様々なサービスを起動し、ホストの状態を修復し、他の様々な機能を実行するためにそれらの認証情報を使用することができる。さらに、リカバーしたホストがネットワーク上の他のデバイスとの通信を必要とするなどといった場合、安全な記憶装置(例えばTPM)はネットワーク上の他のデバイスへホストコンピューティングデバイスの起動ファームウェア測定及び遠隔認証を提供してもよい。
【0006】
ホストコンピューティングデバイスのリカバリに必要な様々な認証情報を格納するためのTPMの使用は、ホストの不具合及び他の壊滅的事象に備えて、向上した平均修復時間を提供することができる。ホストを作業状態にするために必要な重要情報(例えば認証情報)は、ホスト上でローカルに保護されているので(例えばTPM内のキーによって保護される)、ホストコンピューティングデバイスはネットワークを通じて遠隔コンピューティングデバイスから認証情報を得る必要がなく、その結果、待ち時間を短縮しリカバリする時間を向上する。マルチテナント型のコンピューティング環境(例えばクラウドコンピューティング環境)では、ホストコンピューティングデバイスが、非常に多くの仮想マシン及び多数のユーザーに提供されるアプリケーション/サービスをホストする場合があり、これは大規模な災難及び他の予期せぬ事象からリカバーする際に重要な要因になるかもしれない。
【0007】
1つの実施形態に従って、ホストコンピューティングデバイスは、不具合の事象にあるホストコンピューティングデバイスによって使用される暗号化キー、デジタル証明書、トークン、または他のセキュリティ情報といった1つ以上の認証情報を格納するために設定されるTPM(または他の安全な記憶装置)を含む。ホストコンピューティングデバイスはさらに、非対称または対称暗号を用いて暗号化されるかもしれないリカバリイメージを含む。リカバリイメージは、ホストが不具合後に再起動する際にホストコンピューティングデバイスをリカバーするために必要な機能性(例えばオペレーティング・システム、ネットワーク機能、など)を含んでいてもよい。リカバリイメージは基本入出力システム(BIOS)の暗号化された部分またはホストコンピューティングデバイスの他のファームウェアであってもよい。リカバリイメージを暗号化するために使用される暗号化キーは、ホストコンピューティングデバイスのTPM上に安全に格納(例えば保護)されてもよい。いくつかの実施形態では、TPMに格納されたキーは他のキーを暗号化するために使用されてもよく、他のキーはリカバリイメージを暗号化するために使用される。他の実施形態では、TPMに格納されたキーはリカバリイメージを直接暗号化するために使用される場合がある。停電、ネットワーク障害、または他の災難といった大規模事象の間に、ホストコンピューティングデバイスがさもなければ通常動作時に実行されるシャットダウン手順を円滑に行うことができないように異常終了または突然終了するかもしれない。そのような事象の後でホストコンピューティングデバイスを起動(例えば再起動)する時、基本入出力システム(BIOS)またはホストコンピューティングデバイス上の他のファームウェアは1セットの状態を分析して、予期せぬ不具合が起こり得たことを判断してもよい。もしそのような障害が検知された場合、ファームウェアはTPMに格納された(前に記述のあるように)暗号化キーを用いてリカバリイメージを解読し、ホストコンピューティングデバイスのメモリにリカバリイメージを読み込んでもよい。一度リカバリイメージがアップロードされ起動すると、TPMは、TPM上に安全に格納された1つ以上の認証情報にアクセス可能なリカバリイメージを提供してもよい。リカバリイメージはその後ホストコンピューティングデバイス上で様々なサービスを起動するためにそれらの認証情報を使用し、ネットワーク上の他のデバイスにホストコンピューティングデバイスを認証し、機能性及びホストコンピューティングデバイスの状態を復元するために他のタスクを実行してもよい。
【0008】
他の実施形態に従って、一度リカバリイメージがホストコンピューティングデバイス上に読み込まれると、TPMはリカバリイメージの起動ファームウェア測定を実行してもよい。起動ファームウェア測定はTPM内に格納されてもよい。その後ホストコンピューティングデバイスの遠隔認証を実行するために記録された起動ファームウェア測定を使用してもよい。例えば、ホストコンピューティングデバイスがリカバリモードの時、様々な外部デバイス(例えば中央管理サーバーなど)が、ホストの機能性を正常に戻すためにホストコンピューティングデバイスとの通信を必要とする場合がある。これらの通信はしばしば認証情報及び信頼できない環境に漏洩されるべきでないその他の機密情報を含む。従って、遠隔デバイスは信頼できるリカバリモードソフトウェアがホストに読み込まれているか、かつそれがリカバリイメージとしてなりすましている悪意あるソフトウェア(例えばマルウェア)でないか、ということを確実にする必要がある場合がある。よって、リカバリイメージを証明するようTPMに要求する遠隔デバイス(例えば中央サーバーなど)からクエリが届いた時、TPMは公開鍵基盤(PKI)を用いてリカバリイメージの起動ファームウェア測定を保護(例えば暗号化、サイン、など)し、起動ファームウェア測定を遠隔デバイス(例えば中央管理サーバーなど)に安全に送信してもよい。遠隔デバイスは起動ファームウェア測定を受け取り、ホストに読み込まれたリカバリイメージが破損していなかったことを証明することができるよう期待される基準値と比較してもよい。一度遠隔デバイスがリカバリイメージを証明することができると、ホストコンピューティングデバイスのリカバリを実行するために、機密認証情報を含む様々な情報をホストに送信し始めてもよい。
【0009】
図1は、様々な実施形態に従い、ホストコンピューティングデバイス上のTPMまたは他の安全な記憶装置のプロビジョニングの実施例100を示す。図に示されるように、ホストコンピューティングデバイス上のTPMといった安全な記憶装置を設定するために、分散コンピューティング環境101にて動作する遠隔サーバー102(例えば信頼されたホストコンピューティングデバイス、中央管理サーバー、など)は、環境101にある全てのホストコンピューティングデバイス(103、104、105)のために主要データを分配してもよい。認証情報の分配はホストコンピューティングデバイスの通常動作中に行ってもよい。あるいは、ホストコンピューティングデバイスはホスト上のTPMを設定するためにインターネット接続を遮断して実行してもよい。示された実施形態では、各ホストコンピューティングデバイス(103、104、105)は、ホスト上のトラステッド・プラットフォーム・モジュール(TPM)と情報をやりとりするローカルホスト上で動作するファームウェア・コンポーネント(例えばBIOS)を含む。例えば、ホストコンピューティングデバイス103はTPM109と情報をやりとりするファームウェア・コンポーネント106を含み、同時にホストコンピューティングデバイス104はTPM110と情報をやりとりするファームウェア・コンポーネント107を含み、ホストコンピューティングデバイス105はTPM111と情報をやりとりするファームウェア・コンポーネント108を含む。
【0010】
様々な実施形態では、ステージを設定するTPMはTPMへと機密(認証情報、キーなど)を実際に配置するTPMのオーナー(すなわち、パスワードを介してTPM上に認証情報を格納することを許可された者)を含む。このステージの間に、(リカバリ段階の間に使用される)認証情報はTPMへ設定される。TPMが設定された後、ホストをリカバリする間に使用される認証情報はTPM内で保護される。
【0011】
示された実施形態では、ファームウェア・コンポーネントと各ホストコンピューティングデバイス上のTPMの間に認証プロセスがあってもよい。さらに、遠隔サーバー102は、例えばホスト上のファームウェアとセッションする安全な通信の確立などによってホストコンピューティングデバイス上で動作するファームウェアへ遠隔サーバー102自身を認証してもよい。一度認証が成功すると、遠隔サーバー102は認証情報(112、113、114)または他のセキュリティデータをホストコンピューティングデバイス上のファームウェア・コンポーネントに送信してもよく、ファームウェア・コンポーネントは認証情報をホスト上のTPM内にローカルに格納させてもよい。例えば、遠隔サーバー102はファームウェア・コンポーネント106に認証情報112を送信してもよく、それにより認証情報112をTPMに格納させる(例えばTPM上に保護させる)。同様に、遠隔サーバー102は、ファームウェア107に認証情報113を、ファームウェア108に認証情報114を送信し、それにより認証情報をTPM110と111にそれぞれ格納させる。
【0012】
様々な実施形態では、認証情報はホストコンピューティングデバイス上に格納されてもよく、TPMモジュールがホストコンピューティングデバイス上の適切な場所にあった場合に限り認証情報が解読されるように暗号化される。TPMに格納された認証情報は、任意の暗号化キー、暗号化/復号キー、デジタル証明書、およびリカバリモード時にホストコンピューティングデバイスが使用する他のセキュリティトークンを含んでもよい。少なくともいくつかの実施形態では、TPMに格納された認証情報は、不具合発生時にホストコンピューティングデバイス上に格納されるリカバリイメージを解読するために使用される1セットのキーを含んでもよい。
【0013】
一度認証情報がホストコンピューティングデバイス上のTPMにローカルに安全に保護されると、それらの認証情報は大規模事象(停電、ネットワーク障害など)からホストコンピューティングデバイスをリカバーするために使用されてもよい。これはホストコンピューティングデバイスが、ホストの状態を再構成し機能を正常に開始するためにネットワーク上の他のホストと通信可能になることをホストが信頼しなければならないように、TPMに格納された機密情報からホストコンピューティングデバイスの状態(またはその一部)を再構成することを有効にする。その代わりに、各ホストコンピューティングデバイスはその機密情報をローカルにTPMに保護されて格納でき、ローカルホスト上で動作するロジックは、停電などによって失われた状態を再構成するために構成されてもよい。いくつかの実施形態では、ホストコンピューティングデバイスにおける状態の再構成は基本的重大機能性を再構成してもよく、例えばホストコンピューティングデバイスが遠隔管理サーバー等他のホストコンピューティングデバイスと通信することを可能にするネットワーク機能などである。
【0014】
いくつかの実施形態では、TPM内に保護された認証情報を用いることによってリカバーされる場合のあるホストコンピューティングデバイスは、他のネットワークデバイスを監視する責任のあるホストである。これらのホストはスイッチ及びルーターと通信してトラフィック・フロー等を評価するために認証情報が必要な場合がある。よって、ホストコンピューティングデバイスは様々なエンティティに対してそれらの正常機能を実行するためにホストコンピューティングデバイス自身を証明する必要がある場合がある。いくつかの実施形態では、ホストコンピューティングデバイスは、リカバリモード時にネットワーク上の当該認証を実行するために、TPM内に保護された認証情報を使用してもよい。
【0015】
さらに、または別の方法では、ホストコンピューティングデバイスは不具合からリカバーする場合に限らず、通常動作中であってもTPM上にローカルに保護されたキー/認証情報を同様に使用してもよい。従って、ホストコンピューティングデバイスはTPM内に保護された認証情報を使用してネットワーク上の他のホスト(ルーター、記憶ホストなど)に自分自身を証明し、それらの通常機能性を実行することができる。
【0016】
図2は様々な実施形態に従い、リカバリモードにおけるホストコンピューティングデバイスの実施例200を示す。図に示されるように、ホストコンピューティングデバイス201は、基本入出力システム(BIOS)またはホストコンピューティングデバイス201が通常動作モードとリカバリモードのどちらであるべきかを決定する他のファームウェア・コンポーネント202を含む。いくつかの実施形態では、ホストコンピューティングデバイス202がリカバリモードであるべきかどうかを決定する、ファームウェア202に組み込まれた1セットの状態208があってもよい。ファームウェアは最近異常な電力事象等があったかどうかを確認してみるためにそれらの状態を分析できた。例えば、ファームウェア202は事前設定された1組の他のホストコンピューティングデバイスに対してネットワーク接続確認を試みてもよく、接続が確認されない場合、ファームウェア202はなんらかの大規模な不具合があったと仮定し、リカバリモードに入ることができる。あるいは、ファームウェア202は環境に不可欠だと見なされる特定の遠隔システムにコンタクトすることを試みてもよく、コンタクトが確立できない場合、ファームウェア202は大規模な不具合があったと仮定してもよい。さらに、ホストコンピューティングデバイスは大規模な事象が起きた際に検知するようにネットワーク上の他のホストコンピューティングデバイスによって提供されるハートビート情報を聴取してもよい。
【0017】
一度ホストコンピューティングデバイスがリカバリモードになると、ファームウェア202はリカバリイメージ204を解読するためにTPM203内の復号キーを使用することができ、ホストコンピューティングデバイス201のメモリにリカバリイメージ204を読み込むことができる。いくつかの実施形態では、復号キー206は、ホストコンピューティングデバイス201上のリカバリイメージ204を解読するために同様に使用される他のキー(例えば中間復号キー)を解読するために使用されてもよい。他の実施形態では、復号キー206はリカバリイメージ204を解読するために直接使用されてもよい。リカバリイメージ204は、不具合を受けたホストコンピューティングデバイス201の状態を修復するために必要な機能性を含むファームウェア202の暗号化された一部であり得る。通常動作の間、リカバリイメージ204は解読されず、ファームウェア202が停電、異常終了または他の事象があったことを検知した場合に限り、リカバリイメージ204はTPM203内に保護された復号キー206を用いることによって解読される。
【0018】
いくつかの実施形態では、TPM203は起動ファームウェア測定205を得るため及びTPM203上に起動ファームウェア測定205を記録するための機能をさらに含む。起動ファームウェア測定は、所定のメモリアドレスレンジのハッシングにより、及びTPM203内にハッシュを格納することにより、実行されてもよい。例えば、起動ファームウェア測定205は、ファームウェア202またはリカバリイメージ204等に関連するメモリアドレスのために得られてもよい。その後、起動ファームウェア測定205は、ファームウェア202の正しいバージョンまたはリカバリイメージ204がデバイス上に読み込まれること及びそれらがマルウェアや他のセキュリティ脅威により破損されていないことを検証するために使用されてもよい。
【0019】
1つの実施形態では、リカバリモード時にリカバリイメージ204を解読するために、ホストコンピューティングデバイスは以下のプロセスを実行する。ホストコンピューティングデバイス202がリカバリモードにあるとファームウェア202が検知した場合、TPM203はファームウェア202の起動ファームウェア測定205を最初に取得し、ファームウェア202が破損していないことを検証する。一度ファームウェア202が検証されたら、TPM203は認証情報(例えば復号キー206)の第一セットをファームウェア202へ開放し、そこで認証情報の第一セットは暗号化されたリカバリイメージ204を解読するために使用される。ファームウェア202は復号キー206を取得し、リカバリイメージ204を解読し、ホストコンピューティングデバイスのメモリへリカバリイメージ204を読み込む。その後、TPM203はデバイス上で読み取られたリカバリイメージ204の起動ファームウェア測定を取得してもよく(例えばリカバリイメージに関連するメモリアドレスのハッシングによって)、リカバリイメージ204が破損していないことを検証してもよい。リカバリイメージ204が、自身の起動ファームウェア測定を確認することによって検証される場合、TPM203は、リカバリイメージがネットワーク上の他のデバイスに自身を認証することによって使用される場合がある認証情報207の第二セットを開放することができ、ホストコンピューティングデバイス201上で様々な他のサービスを起動でき、またはさもなければホストコンピューティングデバイス201の機能性を修復することができる。
【0020】
このように、示された実施形態では、TPM203は、(a)ファームウェア202及び/またはリカバリイメージ204の起動ファームウェア測定205;(b)ホストコンピューティングデバイスがリカバリモード時にリカバリイメージ204を解読するために使用される1セットの認証情報207;(c)他のデバイスと通信し、ホストコンピューティングデバイス201へ機能性を修復するようにホストコンピューティングデバイス201及びリカバリイメージ204によって使用される場合がある認証情報207の第二セット、を格納してもよい。
【0021】
図3は様々な実施形態に従い、遠隔コンピューティングデバイスへホストコンピューティングデバイスの遠隔認証を実行するTPMの実施例300を示す。
【0022】
大規模事象の後で、ホストコンピューティングデバイスのリカバリ実行を試みる時、リカバリイメージ302を用いてホストコンピューティングデバイス301を起動し、リカバリイメージ302が遠隔ホストコンピューティングデバイス305といったネットワーク上の遠隔デバイスと通信できるように、正常に実装された信頼のおけるセキュリティアクセスコントロールを控える必要がある場合がある。しかしながら、リカバリイメージ302が信頼のおけないマシンに読み込まれた場合、信頼のおけないマシンに与えられるべきでない権限を与える場合がある。
【0023】
様々な実施形態では、TPM303は、起動ファームウェア測定及び遠隔認証機能を含み、かつ、この認証機能は、リカバリイメージが読み込まれるホストコンピューティングデバイス301を検証するために使用できる。これは、いかなる未承認ホストも、リカバリイメージになりすましたり、機密認証情報または他の個人情報へのアクセスを可能にすることができないことを保証できる。一度TPM303が遠隔でホストコンピューティングデバイス301を証明すると、遠隔ホストコンピューティングデバイス305は、ホストコンピューティングデバイス301にそういった認証情報及び他の機密情報を含むメッセージを送信し始めてもよい。
【0024】
示された実施形態では、ホストコンピューティングデバイス301の遠隔認証を実行するために、TPM303は、ホストコンピューティングデバイス301上に読み込まれたリカバリイメージ302の起動ファームウェア測定304を最初に取得してもよい。このリカバリイメージ302は認証情報を有してもよく、及び/または通常のオペレーティング・システム・イメージが実行することを許可されない信頼できる機能を実行できてもよい。ホストコンピューティングデバイス301がリカバリモードにあり、リカバリイメージ301を起動する時、起動ファームウェア測定304(例えばリカバリイメージに関連するハッシュ値測定)は、TPM303へ記録されることができる。その後、遠隔ホストコンピューティングデバイス305といったネットワーク上のいかなるホストもリカバリモードのホストコンピューティングデバイス301との通信を望む時は、遠隔ホストコンピューティングデバイス305は、ホストコンピューティングデバイス301の遠隔認証を要求するため、TPM303へクエリを行う。TPM303は、ホストコンピューティングデバイス301が実際にリカバリイメージ304を実行していることを遠隔ホストコンピューティングデバイス305が確認するために、TPM303の遠隔認証機能を使用するだろう。例えば、遠隔認証を実行するように、TPM303は、公開鍵基盤(PKI)を用いて起動ファームウェア測定304を保護してもよく(例えば起動ファームウェア測定を暗号化することやそれにサインすることなどによって)、遠隔ホストコンピューティングデバイス305へ保護された測定304を送信してもよい。遠隔ホストコンピューティングデバイス305は、起動ファームウェア測定304を受け取り、測定の署名を解読及び/または検証し、それから測定304が有効なリカバリイメージの参照値に適合することを検証してもよい。検証が成功した場合、その結果遠隔ホストコンピューティングデバイス305は、ホストコンピューティングデバイス301がリカバリイメージ301を実行していることの確度を持つことができる。一度証明が済めば、遠隔ホストコンピューティングデバイス305は、ホストコンピューティングデバイス301へ機密情報を送信し始めてもよい。
【0025】
図1〜3における各実施例は、トラステッド・プラットフォーム・モジュール(TPM)を利用するものとして示されるが、これは、ここに記載される実施形態の全てで要求しないということに注意する。様々な代替の実施形態では、他のタイプの安全な記憶装置は、ホストコンピューティングデバイスのための認証情報(例えば暗号化キー、デジタル証明書など)を格納するために利用されてもよい。例えば、ホストコンピューティングデバイスのプロセッサは、認証情報格納専用のプロセッサ内に1つ以上の安全なレジスタを実装することなどによって安全な記憶装置を含むことができる。
【0026】
図4は様々な実施形態に従い、サービスプロバイダのリソースセンター環境またはホストコンピューティングデバイスを含む場合のあるマルチテナント・コンピューティング環境の他のオペレーターの実施例400を示す。示された実施形態では、サービスプロバイダ(例えばクラウドコンピューティングリソースプロバイダ)は、サービスプロバイダの物理リソース(例えばホストコンピューティングデバイスなど)を格納する1つ以上のリソースセンター423(例えばデータセンター、サーバーファームなど)を維持できる。これらの物理リソースは、インターネットといったネットワーク402上のユーザー401に供給され得る、多数の仮想マシン・インスタンスまたは仮想サーバーをホストするために使用されてもよい。例えば、ユーザーがサービスプロバイダの物理リソースを用いてアプリケーションを実行したい時は、アプリケーションの展開及び実行に使用される仮想マシンをユーザーに提供することをサービスプロバイダに要求してもよい。ユーザーのアプリケーション要求が増加するので、ユーザーは、負荷のバランスを取るために提供される仮想マシンをより多く要求し、1つ以上の仮想プライベート・ネットワーク(VPN)等の作成を要求できる。ユーザー(例えば顧客)に提供されるこれらのリソースの全てへのアクセスは、前に記述の通り、ユーザーが指定した1つ以上のセキュリティポリシーを用いることによってコントロールされてもよい。
【0027】
示された実施例では、サービスプロバイダのリソースセンター423はホストコンピューティングデバイス(406、407,408,409,410)の1つ以上のラック421、422を含んでもよく、そこにおいて特定のラック上の各ホストコンピューティングデバイスは、単一のトップ・オブ・ラック(TOR)スイッチ(404、405)に接続する。これらのTORスイッチは、ホストコンピューティングデバイスをネットワークに接続させる1つ以上の他のスイッチ(424、425)にさらに接続されてもよい。この開示の全てで使用する時は、ネットワークは、互いに通信することができるデバイスの任意の有線または無線ネットワークであり得、限定はされないが、インターネットまたは他の広域ネットワーク(WAN)、セルラーネットワーク、ローカルエリア・ネットワーク(LAN)ストレージ・エリア・ネットワーク(SAN)、インターネット、エクストラネット等を含む。リソースセンターは、データセンター、サーバーファーム、コンテンツ配信ネットワーク(CDN)ポイント・オブ・プレゼンス(POP)等といったリソースの任意の物理または論理グループをも含むことができる。
【0028】
1つの実施形態に従って、各ホストコンピューティングデバイスは、顧客のための様々なアプリケーション及びサービスを実行するためにサービスプロバイダの顧客に提供されてきた1つ以上の仮想マシン・インスタンス(413、414、415、416、417、418、419、420)をホストすることができる。各仮想マシンは、カーネル、ドライバ、プロセス管理等を含む仮想マシン自身のオペレーティング・システム(OS)を提供されることができる。
【0029】
顧客が仮想マシン・インスタンスを取得することを望む時は、顧客は、使用を望むVMのタイプを示すサービスプロバイダへの要求を最初に提示できる。サービスプロバイダは、サービスプロバイダの物理リソース(例えばホストコンピューティングデバイス)上にホストされる仮想マシン・インスタンスをプロビジョニングするプロセスを実行してもよい。仮想マシン・インスタンスは、その後、サービスプロバイダのリソースを利用して、顧客のために様々なアプリケーション及びサービスを実行するために使用されることができる。
【0030】
前に記述の通り、少なくとも(または全ての)ホストコンピューティングデバイス(406、407、408、409、410、411)は不具合の事象にあるホストコンピューティングデバイスをリカバーするために使用される認証情報の格納を可能にするTPMを含んでもよい。それらの認証情報は、ホストコンピューティングデバイスが他のホストコンピューティングデバイスに自分自身を認証し、様々なサービスを起動し、さもなければ各ホストコンピューティングデバイスの状態及び機能性を安全に修復できるよう使用されてもよい。
【0031】
図5は様々な実施形態に従い、ホストコンピューティングデバイスをリカバーするために使用されるTPM上に認証情報を格納するための実施例プロセス500を示す。この図は特定の順番での機能的動作を描写しているかもしれないが、プロセスは、示された特定の順序または動作に限定する必要はない。当業者は、ここまたは他の図で描かれた様々な動作を同時に変更でき、再配置でき、実行でき、または様々な方法で適応できることを理解するであろう。さらに、様々な実施形態の要旨を逸脱しない範囲で、特定の動作または動作の順番をプロセスに追加またはプロセスから除外できることが理解されるべきである。加えて、ここに含まれるプロセス図は、当業者に、コード実行の実際の順番を明記するよりも、プロセスフローのアイデアを明示することを目的としており、それらは異なるフローまたは順番として実装され、性能を最適化し、または様々な方法で他の修正をされてもよい。
【0032】
動作501では、ホストコンピューティングデバイス上のTPMは1つ以上の認証情報を格納するためにプロビジョニングされる。TPMのプロビジョニングは、ホストコンピューティングデバイスの通常動作中に起きてもよい。あるいは、TPMのプロビジョニングは、ホストコンピューティングデバイスをオフラインにし、TPMをプロビジョニングすることによって実行されてもよい。この認証情報は、ホストコンピューティングデバイスがリカバリモードに入る事象中にホストコンピューティングデバイス上のリカバリイメージを解読するために使用される場合がある暗号化キーを含んでもよい。加えて、TPM上に格納された認証情報は、他の暗号化キー、証明書、及びホストコンピューティングデバイスに自身の機能性及び状態のリカバリを実行可能にさせる他のセキュリティ情報を含んでもよい。
【0033】
動作502では、ホストコンピューティングデバイスが起動される。例えば、ホストコンピューティングデバイスの起動は、ホストコンピューティングデバイスを異常終了させる停電やその他の壊滅的事象の後で実行されてもよい。動作503では、ホストコンピューティングデバイス起動の間に、ホストコンピューティングデバイス上で動作するファームウェア(例えばBIOS)は、1セットの状態を分析して、最近(すなわちホストコンピューティングデバイスの起動前に)不具合が起こり得たことを判断してもよい。
【0034】
動作504では、ホストコンピューティングデバイス上で動作するファームウェアは、ホストコンピューティングデバイス上のTPMから受け取った復号キーを用いてホストコンピューティングデバイス上のリカバリイメージを解読する。前に記述の通り、TPMから回収した復号キーは、他のキー(例えば暗号化された中間キー)を解読するために使用されてもよく、他のキーはリカバリイメージを解読するために使用される。リカバリイメージは、状態修復、ネットワーク上の他のデバイスとの通信等といったホストコンピューティングデバイスのリカバリを実行するために必要な機能性を含むシステムイメージであってもよい。1つの実施形態では、ファームウェアに復号キーを提供する前に、TPMは、ファームウェアが破損していないことを証明するためにホストコンピューティングデバイス上で動作するファームウェアの起動ファームウェアイメージを最初にチェックしてもよい。ファームウェアが検証された場合、TPMは、ファームウェアに復号キーを提供し、ファームウェアは、リカバリイメージを解読するためにキーを利用してもよい。
【0035】
動作505では、一度リカバリイメージが解読されると、リカバリイメージはホストコンピューティングデバイスのメモリへと読み込まれる。一度リカバリイメージが読み込まれると、TPMは、リカバリイメージがTPM内に保護された1つ以上の認証情報へアクセスすることを可能にする。リカバリイメージは、ホストコンピューティングデバイスのリカバリを実行するためにそれらの認証情報を使用してもよい。いくつかの実施形態では、リカバリイメージに認証情報を提供するより前に、TPMは、前に記述の通り、読み込まれたリカバリイメージの起動ファームウェア測定を証明してもよい。
【0036】
図6は様々な実施形態に従い、TPMによってホストコンピューティングデバイスの遠隔認証を実行するための実施例プロセス600を示す。動作601では、リカバリイメージは、上に記述の通り、ホストコンピューティングデバイスのメモリへと読み込まれる。動作602では、TPMは、ホストコンピューティングデバイス上で実行するリカバリイメージの起動ファームウェア測定を取得してもよい。例えば、起動ファームウェア測定は、リカバリイメージに関連するメモリアドレスのハッシングによって取得されてもよい。起動ファームウェア測定はその後、動作603に示されるように、TPM上に記録される。
【0037】
動作604では、TPMはホストコンピューティングデバイス上で動作するリカバリイメージの認証を行うためのクエリを受け取る。クエリは、信頼されたホスト、中央サーバー等といった遠隔ホストコンピューティングデバイスから受け取られてもよい。要求に応じて、TPMはホストコンピューティングデバイスの認証を行ってもよい。例えば、動作605で示されるように、TPMに格納された起動ファームウェア測定は、ホストコンピューティングデバイスの認証に使用されるために遠隔デバイスに送信されてもよい。いくつかの実施形態では、起動ファームウェア測定は秘密鍵を用いてのみ解読できる公開鍵を用いて暗号化される。他の実施形態では、起動ファームウェア測定は、秘密鍵を用いて署名されてもよく、そこで起動ファームウェア測定の署名は公開鍵を用いて検証されてもよい。いずれにしても、遠隔ホストコンピューティングデバイスは、起動ファームウェア測定を受け取り、ホストコンピューティングデバイス上で動作するリカバリイメージが破損していないことを証明するために起動ファームウェア測定を検証/解読し、使用してもよい。
【0038】
本開示の実施形態は以下の項目を考慮して記述できる。
1.実行可能な命令により構成された1つ以上のコンピューターシステムの制御下で、
暗号化キーを含む1つ以上の認証情報を格納するために、ホストコンピューティングデバイスを再起動する前記暗号化キーを用いて解読することができる、暗号化されたリカバリイメージを含む前記ホストコンピューティングデバイス上のトラステッド・プラットフォーム・モジュール(TPM)をプロビジョニングすること、
前記ホストコンピューティングデバイスを再起動すること、
再起動中に、1セットの状態に基づき、前記ホストコンピューティングデバイスを再起動する前に前記ホストコンピューティングデバイス上で起こり得た不具合を判断すること、
前記暗号化キーを用いることで前記ホストコンピューティングデバイス上の前記リカバリイメージを解読すること、
前記ホストコンピューティングデバイス上に前記リカバリイメージを読み込むこと、
前記ホストコンピューティングデバイス上で動作する前記リカバリイメージが、前記ホストコンピューティングデバイス上で1つ以上のサービスを開始するために使用される、前記TPMに格納された前記1つ以上の認証情報にアクセスできるようにすること、
前記安全な記憶装置に格納された前記情報を用いてホストリカバリを実行すること、とを含むコンピューター実装された方法。
2.前記ホストコンピューティングデバイス上の前記TPMをプロビジョニングすることは、さらに、前記ホストコンピューティングデバイス上で動作するファームウェアによって、遠隔ホストコンピューティングデバイスから前記1つ以上の認証情報を受け取ること、
前記ホストコンピューティングデバイス上で動作する前記ファームウェアから前記TPM内へ前記1つ以上の認証情報を格納すること、
とを含む項1に記載の方法。
3.前記ホストコンピューティングデバイス上で動作する前記リカバリイメージがTPMに格納された前記1つ以上の認証情報へのアクセスを可能にすることは、
前記TPMによって読み込まれた前記リカバリイメージの起動ファームウェア測定を取得すること、
取得された前記起動ファームウェア測定に基づいて、前記リカバリイメージの正しいバージョンが読み込まれたことをTPMによって検証すること、
前記リカバリイメージの正しいバージョンが読み込まれたことの検証に応じて、前記リカバリイメージが前記1つ以上の認証情報にアクセスできるようにすること、
とをさらに含む、項1に記載の方法。
4.実行可能な命令により構成された1つ以上のコンピューターシステムの制御下で、
安全な記憶装置に格納された1つ以上の認証情報を利用できるリカバリイメージを含有するホストコンピューティングデバイス上で、前記ホストコンピューティングデバイスの前記安全な記憶装置に前記1つ以上の認証情報を格納すること、
前記ホストコンピューティングデバイスを再起動すること、
再起動中に、前記ホストコンピューティングデバイスを再起動する前に前記ホストコンピューティングデバイス上で不具合が起こり得たかを判断すること、
前記ホストコンピューティングデバイス上に前記リカバリイメージを読み込むこと、
前記ホストコンピューティングデバイスで動作する前記リカバリイメージが、前記ホストコンピューティングデバイス上で1つ以上のサービスを開始するために使用される、前記安全な記憶装置に格納された前記1つ以上の認証情報にアクセスできるようにすること、とを含むコンピューター実装された方法。
5.前記安全な記憶装置に格納された前記認証情報は、
第二暗号化キーを解読するために使用できる第一暗号化キー、
リカバリイメージを解読するために使用できる前記第二暗号化キー、
とをさらに含む、項4に記載の方法。
6.前記安全な記憶装置に格納された前記認証情報はさらに、前記リカバリイメージを解読するために使用される暗号化キーからなる、項4に記載の方法。
7.不具合が前記ホストコンピューティングデバイス上で起こり得たかを判断することは、1セットの状態を分析して、前記1セットの状態の少なくとも一部に基づき、前記ホストコンピューティングデバイスが異常終了したことを判断するために構成された、前記ホストコンピューティングデバイス上で動作する前記ファームウェアによって実行される、項4に記載の方法。
8.前記リカバリイメージを読み込むことは、
前記ホストコンピューティングデバイス上で動作する前記ファームウェアの起動ファームウェア測定を取得すること、
前記起動ファームウェア測定と前記安全な記憶装置に格納された参照ファームウェア測定を比較することで、ホストコンピューティングデバイス上で動作するファームウェアを検証すること、
前記暗号化キーを用いて前記リカバリイメージを解読するよう構成された前記ファームウェアを、前記安全な記憶装置に格納された前記暗号化キーにアクセスできるようにすること、
解読した前記リカバリイメージを前記ホストコンピューティングデバイス上に読み込むこととをさらに含む、項7に記載の方法。
9.前記ホストコンピューティングデバイス上で動作する前記リカバリイメージを前記安全な記憶装置に格納された前記1つ以上の認証情報にアクセスできるようにすることは、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得することと、
取得した前記起動ファームウェア測定に基づき、前記リカバリイメージの正しいバージョンが読み込まれたことを検証すること、
前記リカバリイメージの正しいバージョンが読み込まれたことの検証に応じて、前記リカバリイメージを前記1つ以上の認証情報にアクセスできるようにすること、
とをさらに含む、項4に記載の方法。
10.前記ホストコンピューティングデバイスは、
遠隔ホストコンピューティングデバイスから前記1つ以上の認証情報を受け取ること、
受け取った前記1つ以上の認証情報を前記安全な記憶装置に格納すること、
とをさらに含む、項4に記載の方法。
11.前記安全な記憶装置は、前記ホストコンピューティングデバイス上のトラステッド・プラットフォーム・モジュール(TPM)である、項4に記載の方法。
12.前記ホストコンピューティングデバイスは、ユーザーのためにプロビジョニングされた1つ以上の仮想マシンをホストし、前記1つ以上の仮想マシンは、ネットワーク上のユーザーがアプリケーション・プログラミング・インターフェース(API)を用いることでアクセスが可能な少なくとも1つのアプリケーションを実行する、項4に記載の方法。
13.前記ホストコンピューティングデバイスは、前記ホストコンピューティングデバイスをネットワーク通信を通して、1つ以上の遠隔デバイスに認証するための前記1つ以上の認証情報を使用するように構成される、項4に記載の方法。
14.安全な記憶装置と、
少なくとも1つのプロセッサと、
メモリとを含むコンピューティングデバイスであって、前記メモリは命令を含有し、前記命令は、前記少なくとも1つのプロセッサによって実行される時に前記コンピューティングデバイスに、
前記安全な記憶装置内に1つ以上の認証情報を格納させ、
前記コンピューティングデバイスを起動させ、
起動中に、1セットの状態に基づき前記コンピューティングデバイスの再起動前にコンピューティングデバイスに不具合が起こり得たかを判断させ、
前記リカバリイメージを前記コンピューティングデバイスの前記メモリへ読み込ませ、
前記リカバリイメージを、前記コンピューティングデバイス上で1つ以上のサービスを開始するために使用する、前記安全な記憶装置に格納された1つ以上の認証情報にアクセスできるようにさせる、コンピューティングデバイス。
15.不具合が前記コンピューティングデバイス上で起こり得たかを判断することは、1セットの状態を分析して、前記1セットの状態の少なくとも一部に基づき、前記コンピューティングデバイスが異常終了したことを判断するために構成された、前記コンピューティングデバイス上で動作するファームウェアによって実行される、項14に記載のコンピューティングデバイス。
16.前記リカバリイメージを読み込むことは、
前記コンピューティングデバイス上で動作する前記ファームウェアの起動ファームウェア測定を取得すること、
前記起動ファームウェア測定と前記安全な記憶装置に格納された参照ファームウェア測定を比較することで、前記コンピューティングデバイス上で動作する前記ファームウェアを検証すること、
暗号化キーを用いて前記リカバリイメージを解読するよう構成された前記ファームウェアを、前記安全な記憶装置に格納された前記暗号化キーにアクセスできるようにすること、
解読した前記リカバリイメージを前記コンピューティングデバイス上に読み込むこと、とを含む、15に記載のコンピューティングデバイス。
17.前記コンピューティングデバイス上で動作する前記リカバリイメージを前記安全な記憶装置に格納された前記1つ以上の認証情報にアクセスできるようにすることは、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得すること、
取得した前記起動ファームウェア測定に基づき、前記リカバリイメージの正しいバージョンが読み込まれたことを検証すること、
前記リカバリイメージの正しいバージョンが読み込まれたことの検証に応じて、前記リカバリイメージを前記1つ以上の認証情報にアクセスできるようにすること、
とをさらに含む、項14に記載のコンピューティングデバイス。
18.前記メモリは、少なくとも1つ以上のプロセッサによって実行されて、
前記コンピューティングデバイスに、遠隔ホストコンピューティングデバイスから前記1つ以上の認証情報を受け取らせ、
受け取った前記認証情報を前記安全な記憶装置に格納させる命令を、
さらに包含する、項14に記載のコンピューターデバイス。
19.前記安全な記憶装置は、コンピューティングデバイス上のトラステッド・プラットフォーム・モジュール(TPM)である、項14に記載のコンピューターデバイス。
20.1つ以上のプロセッサが、
安全な記憶装置に格納された1つ以上の認証情報を利用できるリカバリイメージを含むホストコンピューティングデバイス上の安全な記憶装置内に1つ以上の認証情報を格納し、
ホストコンピューティングデバイスを再起動し、
起動中に、ホストコンピューティングデバイスの再起動前に不具合が起こり得るかを判断し、
リカバリイメージをホストコンピューティングデバイスに読み込み、かつ、
ホストコンピューティングデバイス上で動作するリカバリイメージをホストコンピューティングデバイス上で1つ以上のサービスを開始するために使用される、安全な記憶装置に格納された1つ以上の認証情報にアクセスできるようにするよう、1つ以上のプロセッサが実行する、1つ以上の命令シーケンスを格納する、非一時的なコンピューター可読メディア。
21.不具合が前記コンピューティングデバイス上で起こり得たかを判断することは、1セットの状態を分析して、前記1セットの状態の少なくとも一部に基づき、前記ホストコンピューティングデバイスが異常終了したことを判断するために構成された、前記ホストコンピューティングデバイス上で動作するファームウェアによって実行される、項20に記載の非一時的なコンピューター可読メディア。
22.前記リカバリイメージを読み込むことは、
前記コンピューティングデバイス上で動作する前記ファームウェアの起動ファームウェア測定を取得すること、
前記起動ファームウェア測定と前記安全な記憶装置に格納された参照ファームウェア測定を比較することで、前記ホストコンピューティングデバイス上で動作する前記ファームウェアを検証すること、
暗号化キーを用いて前記リカバリイメージを解読するよう構成された前記ファームウェアを、前記安全な記憶装置に格納された前記暗号化キーにアクセスできるようにすること、
解読した前記リカバリイメージを前記ホストコンピューティングデバイス上に読み込むこと、とをさらに含む、項19に記載の非一時的なコンピューター可読メディア。
23.ホストコンピューティングデバイス上で動作するリカバリイメージを前記安全な記憶装置に格納された前記1つ以上の認証情報にアクセスできるようにすることは、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得すること、
取得した前記起動ファームウェア測定に基づき、前記リカバリイメージの正しいバージョンが読み込まれたかを検証すること、
前記リカバリイメージの正しいバージョンが読み込まれたという判断に応じてリカバリイメージを1つ以上の認証情報にアクセスできるようにすること、とをさらに含む、項20に記載の非一時的なコンピューター可読メディア。
24.1つ以上のプロセッサによって実行された時に、前記1つ以上のプロセッサによって、前記ホストコンピューティングデバイスが、遠隔ホストコンピューティングデバイスから前記1つ以上の認証情報を受け取り、受け取った前記1つ以上の認証情報を前記安全な記憶装置へ格納する命令をさらに含む、項20に記載の非一時的なコンピューター可読メディア。
25.ホストコンピューティングデバイスを検証するために、実行可能な指示により構成された1つ以上のコンピューターシステムの制御下で、
起動時間より前に前記ホストコンピューティングデバイスに異常な不具合が起こり得たかを検知するために、ホストコンピューティングデバイスの起動時間中に1つ以上の状態を分析すること、
異常な不具合が起こり得たことの検知に応じて、ホストコンピューティングデバイス上の状態の少なくとも一部分を修復するために構成された前記リカバリイメージを前記ホストコンピューティングデバイス上に読み込むこと、
ホストコンピューティングデバイス上のトラステッド・プラットフォーム・モジュール(TPM)によって、読み込まれた前記リカバリイメージの起動ファームウェア測定を取得すること、
ホストコンピューティングデバイス上のTPMに前記起動ファームウェア測定を記録すること、
ホストコンピューティングデバイス上に読み込まれた前記リカバリイメージの認証を実行する要求を、遠隔ホストコンピューティングデバイスからTPMへ受け取ること、
TPMに記録された前記起動ファームウェア測定の少なくとも一部分に基づき前記リカバリイメージを前記遠隔コンピューティングデバイスに認証すること、とを含むコンピューター実装された方法。
26.前記リカバリイメージの認証は、
少なくとも1つの暗号化キーを用いてTPMによって前記起動ファームウェア測定を暗号化すること、
前記暗号化した起動ファームウェア測定を前記遠隔コンピューティングデバイスに送信すること、とをさらに含み、
前記遠隔コンピューティングデバイスは、前記起動ファームウェア測定を解読し、前記起動ファームウェア測定を使用して、前記リカバリイメージの破損していないバージョンが前記ホストコンピューティングデバイスに読み込まれたことを検証するよう構成される、項25に記載の方法。
27.リカバリイメージの認証に応じて、前記リカバリイメージに埋め込まれた前記1つ以上の認証情報が、前記遠隔コンピューティングデバイスによって信頼される、項25に記載の方法。
28.実行可能な命令により構成された1つ以上のコンピューターシステムの制御下で、
コンピューティングデバイスの状態の少なくとも一部分を修復するよう構成されたリカバリイメージを、前記コンピューティングデバイスの起動時間中に前記コンピューティングデバイス上へ読み込むこと、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得すること、
前記コンピューティングデバイス上の安全な記憶装置に前記起動ファームウェア測定を記録すること、
前記コンピューティングデバイス上に読み込まれた前記リカバリイメージの認証を実行する要求を、遠隔コンピューティングデバイスから受け取ること、
前記起動ファームウェア測定の少なくとも一部分に基づき、読み込んだ前記リカバリイメージを前記遠隔コンピューティングデバイスに証明すること、とを含むコンピューター実装された方法。
29.前記コンピューティングデバイスに読み込まれた前記リカバリイメージの認証は、
公開鍵基盤(PKI)を使用して記録された前記起動ファームウェア測定を保護すること、
前記リカバリイメージの破損していないバージョンが前記コンピューティングデバイスに読み込まれたことを検証するため前記起動ファームウェア測定を調査する遠隔コンピューティングデバイスに、起動ファームウェア測定を送信すること、とをさらに含む、項28に記載の方法。
30.読み込んだ前記リカバリイメージの認証は、前記起動ファームウェア測定と格納された参照値とを比較して、前記起動ファームウェア測定が格納された参照値と一致するかを検証することにより実行される、項28に記載の方法。
31.前記コンピューティングデバイス上の前記リカバリイメージを読み込むことは、
前記コンピューティングデバイスの起動時間中に1つ以上の状態を分析すること、
前記1つ以上の状態の少なくとも一部分に基づき、前記コンピューティングデバイスを異常終了させる不具合が起きたことを検知すること、
前記コンピューティングデバイスに起きた不具合の検知に応じて、前記コンピューティングデバイス上の前記リカバリイメージを読み込むこと、とをさらに含む、項28に記載の方法。
32.前記リカバリイメージが暗号化され、前記コンピューティングデバイス上の前記リカバリイメージを読み込むことは、少なくとも、
前記コンピューティングデバイス上の前記安全な記憶装置に格納された第一暗号化キーを用いて前記リカバリイメージを解読すること、または
前記安全な記憶装置に格納された前記第一暗号化キーを用いて第二暗号化キーを解読し、前記第二暗号化キーを用いて前記リカバリイメージを解読すること、のどちらか1つをさらに含む、項28に記載のコンピューター実装された方法。
33.前記リカバリイメージの認証に応じて、前記リカバリイメージに埋め込まれた1つ以上の認証情報が、前記遠隔コンピューティングデバイスによって信頼される、項28に記載の方法。
34.前記安全な記憶装置とは、前記コンピューティングデバイス上のトラステッド・プラットフォーム・モジュール(TPM)である、項28に記載の方法。
35.前記コンピューティングデバイスはさらに通常のオペレーティング・システム・イメージを含有し、前記リカバリイメージがコンピューティングデバイスの状態の少なくとも一部分を修復し終わった後、前記コンピューティングデバイスが再起動し、前記通常のオペレーティング・システム・イメージが前記コンピューティングデバイス上に読み込まれる、項28に記載の方法。
36.前記コンピューティングデバイスは、ユーザーにプロビジョニングされた1つ以上の仮想マシンをホストし、前記1つ以上の仮想マシンは、ユーザーがアプリケーション・プログラミング・インターフェース(API)を用いることでネットワークを通してアクセスが可能な1つ以上のアプリケーションを実行する、項28に記載の方法。
37.安全な記憶装置、
少なくとも1つのプロセッサ、
命令を含むメモリとを含むコンピューティングデバイスであり、命令は、少なくとも1つのプロセッサによって実行される時にコンピューティングデバイスに、
前記コンピューティングデバイスの状態の少なくとも一部分を修復するために構成されたリカバリイメージを、前記コンピューティングデバイスの起動時間中に前記コンピューティングデバイスの前記メモリへと読み込ませ、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得させ、
前記起動ファームウェア測定を前記安全な記憶装置へ記録させ、
前記コンピューティングデバイス上に読み込まれた前記リカバリイメージの認証を実行するための要求を、遠隔コンピューティングデバイスから受け取らせ、
前記安全な記憶装置に格納された前記起動ファームウェア測定の少なくとも一部分に基づき、読み込んだ前記リカバリイメージを前記遠隔コンピューティングデバイスに証明させる、コンピューティングデバイス。
38.前記コンピューティングデバイス上に読み込まれた前記リカバリイメージの証明は、
公開鍵基盤(PKI)を使用して前記安全な記憶装置に記録された前記起動ファームウェア測定を保護すること、かつ、
前記リカバリイメージの破損していないバージョンが前記コンピューティングデバイスに読み込まれたことを検証するために前記起動ファームウェア測定を調査する遠隔コンピューティングデバイスに、前記起動ファームウェア測定を送信すること、とをさらに含む、項37に記載のコンピューティングデバイス。
39.前記コンピューティングデバイス上の前記リカバリイメージを読み込むことは、
前記コンピューティングデバイスの起動時間中に1つ以上の状態を分析すること、
前記1つ以上の状態の少なくとも一部分に基づき、前記コンピューティングデバイスを異常終了させる不具合が起きたことを検知すること、
前記コンピューティングデバイスに起きた不具合の検知に応じて、前記リカバリイメージを前記コンピューティングデバイスに読み込むこと、とをさらに含む、項37に記載のコンピューティングデバイス。
40.前記リカバリイメージが暗号化され、前記リカバリイメージを前記コンピューティングデバイスに読み込むことは、少なくとも、
前記コンピューティングデバイス上の前記安全な記憶装置に格納された第一暗号化キーを用いて前記リカバリイメージを解読すること、
前記安全な記憶装置に格納された第一暗号化キーを用いて第二暗号化キーを解読し、 前記第二暗号化キーを用いて前記リカバリイメージを解読することのどちらか1つを実行することを含む、項37に記載のコンピューティングデバイス。
41.前記リカバリイメージの証明に応じて、前記リカバリイメージに埋め込まれた1つ以上の認証情報が、前記遠隔コンピューティングデバイスによって信頼される、項37に記載のコンピューティングデバイス。
42.前記安全な記憶装置とは、コンピューティングデバイス上のトラステッド・プラットフォーム・モジュール(TPM)である、項37に記載のコンピューティングデバイス。
43.1つ以上のプロセッサが実行して、
コンピューティングデバイスの状態の少なくとも一部分を修復するために構成されたリカバリイメージを、前記コンピューティングデバイスの起動時間中に前記コンピューティングデバイスに読み込ませ、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得させ、
前記コンピューティングデバイス上の安全な記憶装置に前記起動ファームウェア測定を記録させ、
前記コンピューティングデバイス上の読み込まれた前記リカバリイメージの認証を実行するための要求を遠隔コンピューティングデバイスから受け取らせ、
前記起動ファームウェア測定の少なくとも一部分に基づき、読み込んだ前記リカバリイメージを前記遠隔コンピューティングデバイスに対して認証させる、命令の1つ以上のシーケンスを格納する、非一時的なコンピューター可読メディア。
44.コンピューティングデバイス上に読み込まれた前記リカバリイメージの認証は、
公開鍵基盤(PKI)を使用して前記安全な記憶装置に記録された前記起動ファームウェア測定を保護すること、
前記遠隔コンピューティングデバイスによって起動ファームウェア測定を調査して、前記リカバリイメージの破損していないバージョンが前記コンピューティングデバイスに読み込まれたことを検証するため、前記遠隔コンピューティングデバイスに前記起動ファームウェア測定を送信すること、とをさらに含む、項43に記載の非一時的なコンピューター可読メディア。
45.前記コンピューティングデバイス上のリカバリイメージを読み込むことは、
前記コンピューティングデバイスの起動時間中に1つ以上の状態を分析すること、
前記1つ以上の状態の少なくとも一部分に基づき、前記コンピューティングデバイスを異常終了させる不具合が起きたことを検知すること、
前記コンピューティングデバイスに起きた不具合の検知に応じて、前記コンピューティングデバイス上の前記リカバリイメージを読み込むこととをさらに含む、項43に記載の非一時的なコンピューター可読メディア。
46.前記リカバリイメージが暗号化され、前記コンピューティングデバイス上の前記リカバリイメージを読み込むことは、少なくとも、
前記コンピューティングデバイス上の前記安全な記憶装置に格納された第一暗号化キーを用いて前記リカバリイメージを解読すること、
前記安全な記憶装置に格納された第一暗号化キーを用いて第二暗号化キーを解読するし、前記第二暗号化キーを用いて前記リカバリイメージを解読すること、どちらか1つを実行することを含む、項43に記載の非一時的なコンピューター可読メディア。
47.前記リカバリイメージの証明に応じて、前記リカバリイメージに埋め込まれた1つ以上の認証情報は、前記遠隔コンピューティングデバイスによって信頼される、項43に記載の非一時的なコンピューター可読メディア。
48.コンピューティングデバイスはさらに通常のオペレーティング・システム・イメージを含有し、前記リカバリイメージが前記コンピューティングデバイスの状態の少なくとも一部分を修復し終わった後、前記コンピューティングデバイスは再起動し、前記通常のオペレーティング・システム・イメージが前記コンピューティングデバイス上に読み込まれる、項43に記載の非一時的なコンピューター可読メディア。
【0039】
図7はコンピューティングデバイス700の実施例における1セットの一般的なコンポーネントの論理的配置を説明する。この実施例では、デバイスは、メモリデバイスまたはエレメント704に格納できる命令を実行するために、プロセッサ702を含む。当業者に明らかであるように、デバイスは、多くのタイプのメモリ、データストレージ、またはプロセッサ702により実行されるプログラム命令のための第一データストレージ、画像またはデータのための別個のストレージ、他のデバイスと情報共有するための着脱式メモリ等、といった非一時的なコンピューター可読記憶メディアを含むことができる。ポータブル・メディア・プレーヤーといったデバイスは音声スピーカーを通すといったその他の手段を介して情報を伝達するが、デバイスは一般的に、タッチスクリーンまたは液晶ディスプレイ(LCD)といったディスプレイエレメント706のいくつかのタイプを含む。論じられたように、多くの実施形態においてデバイスは、ユーザーから従来の入力を受けることができる少なくとも1つの入力エレメント708を含む。この従来の入力は、例えば、プッシュボタン、タッチパッド、タッチスクリーン、ホイール、ジョイスティック、キーボード、マウス、キーパッド、またはユーザーがデバイスにコマンド入力できる他の当該デバイスまたはエレメントを含む。しかしながらいくつかの実施形態では、当該デバイスはいかなるボタンをも全く含まなくてもよく、視覚または音声コマンドの組み合わせを通じてのみコントロールされよもよく、それによりユーザーはデバイスに触れる必要なくデバイスをコンロトールできる。いくつかの実施形態では、図7のコンピューティングデバイス700は、Wi−Fi、ブルートゥース(登録商標)、RF、有線または無線通信システム、といった様々なネットワーク上で通信するために1つ以上のネットワーク・インターフェース・エレメント708を含むことができる。多くの実施形態においてデバイスは、インターネットといったネットワークと通信でき、他の当該デバイスと通信することができてもよい。
【0040】
論じられたように、様々な実施形態に従って、異なる取り組みが様々な環境に実装できる。例えば、図8は様々な実施形態に従って、態様を実行するための環境800の実施例を説明する。説明の目的のためにウェブ・ベースの環境が使用されるが、理解しやすいように、様々な実施形態を実行するために必要に応じて異なる環境が使用されてもよい。システムは、適切なネットワーク804上で要求、メッセージ、または情報を送受信し、デバイスのユーザーに情報を送り返すことが可能な適切なデバイスを含むことのできる電子クライアントデバイス802含む。そのようなクライアントデバイスの実施例は、パーソナル・コンピューター、携帯電話、ハンドヘルド・メッセージング・デバイス、ラップトップ・コンピューター、セットトップボックス、パーソナル・データ・アシスタント、電子ブックリーダー、等を含む。ネットワークは、イントラネット、インターネット、セルラーネットワーク、ローカルエリア・ネットワーク、またはあらゆるその他のそのようなネットワークまたはそれらの組み合わせを含む、あらゆる適切なネットワークを含むことができる。当該システムに使用されるコンポーネントは、ネットワーク及び/または選択された環境のタイプの少なくとも一部分に依存できる。そのようなネットワークを介して通信するためのプロトコル及びコンポーネントは既知であり、ここでは詳細を論じない。ネットワークを通じた通信は、有線または無線接続及びその組み合わせを介して利用可能である。当業者に明らかであるように、他のネットワークのために類似の目的を果たす代わりのデバイスが使用可能であるが、この実施例では、ネットワークはインターネットを含み、要求を受けること及びウェブサーバーに応じたコンテンツを供給することのために環境はウェブサーバー806を含む。
【0041】
実例となる環境は少なくとも1つのアプリケーション・サーバー808及びデータ記憶装置810を含む。理解されるべきは、連鎖されるかまたはそうでなければ構成されるかもしれなく、適切なデータ記憶装置からデータを取得するといったタスクを実行するために作用できる、いくつかのアプリケーション・サーバー、レイヤーまたはその他のエレメント、プロセスまたはコンポーネントがあり得ることである。ここでいう「データ記憶装置」は、任意のデバイスまたは格納、アクセス、データ回収できるデバイスの組み合わせを指し、いかなる標準、分散または集合環境においても、任意の組み合わせ及び多数のデータサーバー、データベース、データ記憶デバイス、データ記憶メディアを含んでもよい。アプリケーション・サーバーは、クライアントデバイスのための1つ以上のアプリケーションの態様を実行するため、必要に応じてデータ記憶装置と統合するための任意の適切なハードウェア及びソフトウェアを含むことができ、アプリケーションのための大多数のデータアクセスとビジネス・ロジックを扱う。アプリケーション・サーバーは、データ記憶装置と連携してアクセス・コントロール・サービスを提供し、ユーザーに提供されるテキスト、図、音声及び/またはビデオといったユーザーに送信されるコンテンツを生成することができる。これらは、HTML、XMLまたはこの実施例にあるその他の適切な構造化言語の形式でウェブサーバーによって提供される。クライアントデバイス802とアプリケーション・サーバー808間のコンテンツの配信だけでなく全ての要求及び応答の扱いは、ウェブサーバー806によって扱われる。ウェブ及びアプリケーション・サーバーは、単に実施例としてのコンポーネントであり、ここに論じた構造化コードが、別の個所で論じたように、任意の適切なデバイスやホストマシンで実行できるときには必要というわけではないことが理解されるべきである。
【0042】
データ記憶装置810は、いくつかの分離データ・テーブル、データベースまたは特定の態様に関連するデータ格納のためのその他のデータ格納機構およびメディアを含むことができる。例えば、図示されたデータ記憶装置は、製作側にコンテンツを提供するために使用される製作データ812及びユーザー情報816を含む。データ記憶装置は、ログまたはセッションデータ814を格納するための機構を含むために同様に示される。理解されるべきことは、データ記憶装置810における適切なまたは追加の機構として上記にリストされた任意の機構に格納されるページ・イメージ情報およびアクセス権情報といった、データ記憶装置に格納される必要のある多くのその他の態様があり得る、ということである。データ記憶装置810はアプリケーション・サーバー808からの命令を受け取り、命令に応じてデータを取得、アップデートまたは処理するために、データ記憶装置810に関連するロジックを通じて操作可能である。1つの実施例では、ユーザーはある種のアイテムの検索要求を提示してもよい。このケースでは、データ記憶装置はユーザーの識別を検証するためにユーザー情報にアクセスしてもよく、そのタイプのアイテムについての情報を取得するためにカタログ詳細情報にアクセスできる。結果がユーザーデバイス802上のブラウザを介して見ることのできるウェブページ上にリストされるように、情報はその後ユーザーに戻される。特定の興味深いアイテムの情報は専用ページまたはブラウザのウインドウにて見ることができる。
【0043】
各サーバーは一般的に、一般管理及びそのサーバーの動作のための実行可能なプログラム命令を提供するオペレーティング・システムを含み、一般的に、サーバーのプロセッサが実行する時にサーバーにその計画された機能を実行させる命令を格納するコンピューター可読メディアを含む。オペレーティング・システム及びサーバーの一般機能性のための適切な実装は、既知または市販のものであり、とりわけこの開示を踏まえて当業者によって容易に実行されるものである。
【0044】
1つの実施形態における環境とは、1つ以上のコンピューター・ネットワークまたは直接接続を用いる通信リンクを介して相互接続される、いくつかのコンピューターシステム及びコンポーネントを利用する分散コンピューティング環境である。しかしながら、当該システムが、図8に示されるより少ない数または多い数のコンポーネントを有するシステムで同様に良く動作できることは当業者によって理解されるであろう。よって、図8におけるシステム800の描写は、事実上実例となるものとして受け取られるべきであり、本開示の範囲に限定されない。
【0045】
ここに論じられまたは提案された様々な実施形態は、いくつかのケースで、任意の数のアプリケーションを動作するために使用される、1つ以上のユーザーコンピューター、コンピューティングデバイスまたは処理デバイスを含むことができる多種多様の動作環境にて実装することができる。ユーザーまたはクライアントデバイスは、標準のオペレーティング・システムを実行するデスクトップまたはラップトップ・コンピューターといった任意の数の汎用パーソナル・コンピューターを含むことができ、同様に、モバイル・ソフトウェアを実行し多数のネットワーキングまたはメッセージング・プロトコルをサポートできる、セルラー、無線、かつハンドヘルドなデバイスを含むことができる。当該システムは同様に、任意の様々な市販のオペレーティング・システムを実行する多数のワークステーション及び、開発及びデータベース管理といった目的のための他の既知のアプリケーションを含むことができる。これらのデバイスは同様に、ダミー・ターミナル、シン・クライアント、ゲーミング・システム、及びネットワークを介して通信可能な他のデバイスを含むことができる。
【0046】
ほとんどの実施形態は、TCP/IP、OSI、FTP、UPnP、NFS、CIFS、アップルトークといった任意の様々な市販のプロトコルを用いて通信をサポートするための当業者によく知られているネットワークを少なくとも1つ利用する。例えば、ネットワークは、ローカルエリア・ネットワーク、広域ネットワーク、仮想プライベート・ネットワーク、インターネット、イントラネット、エクストラネット、公衆交換電話網、赤外線ネットワーク、無線ネットワーク、及びそれらの任意の組み合わせであってもよい。
【0047】
ウェブサーバーを利用する実施形態において、ウェブサーバーは、HTTPサーバー、FTPサーバー、CGIサーバー、データサーバー、Java(登録商標)サーバー、及びビジネス・アプリケーション・サーバーを含む任意の様々なサーバーまたは、中層アプリケーションを実行できる。サーバーは同様に、Java(登録商標)、C、C#またはC++、といった任意のプログラミング言語、またはパール、Python、TCL、またはそれらの組み合わせといった任意のスクリプト言語によって書かれた1つ以上のスクリプトまたはプログラムを実装する1つ以上のウェブアプリケーションを実行することなどによってユーザーデバイスからの要求に応じてプログラムまたはスクリプトの実行が可能であってもよい。サーバーは同様に、Oracle(登録商標)、Microsoft(登録商標)、Sybase(登録商標)、IBM(登録商標)から市販されるものを含むデータベースサーバーを含むが、これに限定されるものではない。
【0048】
環境は、様々なデータ記憶装置及びその他のメモリ、及び上に論じられたような記憶メディアを含むことができる。それらは、1つ以上のコンピューターの近く(及び/または内在する)、またはネットワーク上の任意の、または全てのコンピューターから離れた記憶メディアといった、様々な位置に存在することができる。特定の実施形態のセットでは、情報は、当業者によく知られているストレージ・エリア・ネットワーク(「SAN」)に存在してもよい。同様に、コンピューター、サーバー、または他のネットワークデバイスに起因する機能を実行するために必要などんなファイルも、必要に応じてローカルに及び/またはリモートに格納されてもよい。システムがコンピューター化されたデバイスを含む場合は、各当該デバイスはバスを介して電気的に結合されたハードウェア・エレメントを含むことができ、エレメントは例えば、少なくとも1つの中央処理装置(CPU)、少なくとも1つの入力装置(例えばマウス、キーボード、コントローラー、タッチスクリーン、キーパッド)、少なくとも1つの出力装置(例えばディスプレイ装置、プリンター、スピーカー)を含む。当該システムは同様に、ディスクドライブ、光学記憶デバイスといった1つ以上の記憶デバイス、ランダム・アクセス・メモリ(「RAM」)またはリード・オンリー・メモリ(「ROM」)、同様に、リムーバブル・メディア・デバイス、メモリカード、フラッシュカード等といった1つ以上の半導体記憶デバイスを含んでもよい。
【0049】
当該デバイスは同様に、コンピューター可読記憶メディアリーダー、通信デバイス(例えばモデム、(無線または有線)ネットワークカード、赤外線通信デバイスなど)、及び上に記述されたようなワーキングメモリを含むことができる。コンピューター可読記憶メディアリーダーは、リモート、ローカル、固定の、及び/またはリムーバブルな記憶デバイスを意味するコンピューター可読記憶メディアと、同様にコンピューター可読情報を一時的に及び/またはさらに永久的に含み、格納し、送信し、回収するための記憶メディアに接続または受け取るよう構成されることができる。システム及び様々なデバイスは同様に、少なくとも1つのワーキングメモリデバイス内に多数のソフトウェアアプリケーション、モジュール、サービス、例えば、オペレーティング・システム及びクライアントアプリケーションまたはウェブブラウザといったアプリケーションプログラムを一般的に含む。代わりの実施形態は上に記述のものより大きな変化があることは理解されるべきである。例えば、カスタマイズされたハードウェアは同様に使用され、及び/または特定のエレメントはハードウェア、ソフトウェア(アプレットといったポータブルソフトウェアを含む)、またはその両方に実装されてもよい。
【0050】
コードまたはコードの一部分を含むための記憶メディア及びコンピューター可読メディアは、記憶メディア及び通信メディアを含む当技術分野において既知の、または使用されている適切なメディアを含むことができる。記憶メディア及び通信メディアは、例えば情報の格納及び/または送信のために任意の方法または技術に実装される、揮発性及び非揮発性でリムーバブル及びノンリムーバブルメディアであるが、これに限るものではない。格納及び/または送信する情報とは、コンピューター可読命令、データ構造、プログラムモジュールまたは他のデータである。メディアはRAM、ROM、EEPROM(登録商標)、フラッシュメモリ、または他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)、または他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、または任意の他のメディアであり、これらはシステムデバイスによってアクセスされて、所望情報を格納するために使用される。本開示及びここに提供された教示に基づき、当業者は様々な実施形態を実装するための他の手段及び/または方法を理解するであろう。
【0051】
明細書及び図面は、結果的に限定的意味よりも実例的であるという点を注意されたい。しかしながら、請求項に説明のあるような本発明の広範囲な主旨及び範囲から逸脱せずに、様々な修正及び変更がそこに行われてもよいことは明らかである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]実行可能な命令で構成された1つ以上のコンピューターシステムの制御下で、
安全な記憶装置に格納された1つ以上の認証情報を利用できるリカバリイメージを含有するホストコンピューティングデバイス上で、前記ホストコンピューティングデバイスの前記安全な記憶装置に1つ以上の前記認証情報を格納すること、
前記ホストコンピューティングデバイスを再起動すること、
前記再起動中に、前記ホストコンピューティングデバイスを再起動する前に不具合がホストコンピューティングデバイス上で起こり得たかを判断すること、
前記ホストコンピューティングデバイス上に前記リカバリイメージを読み込むこと、
前記ホストコンピューティングデバイスで動作する前記リカバリイメージが、前記ホストコンピューティングデバイス上で1つ以上のサービスを開始するために使用される、前記安全な記憶装置に格納された前記1つ以上の認証情報にアクセスできるようにすることとを含む、コンピューター実装された方法。
[2]前記安全な記憶装置に格納された前記認証情報は、さらに、第二暗号化キーを解読するために使用できる第一暗号化キーを含み、前記第二暗号化キーはリカバリイメージを解読するために使用できる、[1]に記載のコンピューター実装された方法。
[3]前記安全な記憶装置に格納された前記認証情報は、さらに、前記リカバリイメージを解読するために使用される暗号化キーを含む、[1]に記載のコンピューター実装された方法。
[4]不具合が前記ホストコンピューティングデバイス上で起こり得たかを判断することは、1セットの状態を分析して、前記1セットの状態の少なくとも一部に基づき、前記ホストコンピューティングデバイスが異常終了したことを判断するために構成された、前記ホストコンピューティングデバイス上で動作するファームウェアによって実行される、[1]に記載のコンピューター実装された方法。
[5]前記リカバリイメージを読み込むことは、
前記ホストコンピューティングデバイス上で動作する前記ファームウェアの起動ファームウェア測定を取得すること、
前記起動ファームウェア測定と前記安全な記憶装置に格納された参照ファームウェア測定を比較することで、前記ホストコンピューティングデバイス上で動作する前記ファームウェアを検証すること、
暗号化キーを用いて前記リカバリイメージを解読するよう構成された前記ファームウェアを、前記安全な記憶装置に格納された前記暗号化キーにアクセスできるようにすること、
解読した前記リカバリイメージをホストコンピューティングデバイス上に読み込むこと、とを含む、[4]に記載のコンピューター実装された方法。
[6]前記ホストコンピューティングデバイス上で動作する前記リカバリイメージを前記安全な記憶装置に格納された前記1つ以上の認証情報にアクセスできるようにすることは、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得すること、
取得した前記起動ファームウェア測定に基づき、前記リカバリイメージの正しいバージョンが読み込まれたことを検証すること、
前記リカバリイメージの正しいバージョンが読み込まれたことの検証に応じて、前記リカバリイメージを前記1つ以上の認証情報にアクセスできるようにすること、
とをさらに含む、[1]に記載のコンピューター実装された方法。
[7]前記ホストコンピューティングデバイスは、
遠隔ホストコンピューティングデバイスから前記1つ以上の認証情報を受け取ること、
受け取った前記1つ以上の認証情報を前記安全な記憶装置に格納すること、
とをさらに含む、[1]に記載のコンピューター実装された方法。
[8]前記安全な記憶装置は、ホストコンピューティングデバイス上のトラステッド・プラットフォーム・モジュール(TPM)である、[1]に記載のコンピューター実装された方法。
[9]前記ホストコンピューティングデバイスは、ユーザーのためにプロビジョニングされた1つ以上の仮想マシンをホストし、前記1つ以上の仮想マシンは、ネットワーク上のユーザーがアプリケーション・プログラミング・インターフェース(API)を用いることでアクセスが可能な少なくとも1つのアプリケーションを実行する、[1]に記載のコンピューター実装された方法。
[10]前記ホストコンピューティングデバイスは、前記ホストコンピューティングデバイスをネットワーク通信を通して、1つ以上の遠隔デバイスに認証するための前記1つ以上の認証情報を使用するように構成される、[1]に記載のコンピューター実装された方法。
[11]安全な記憶装置と、
少なくとも1つのプロセッサと、
メモリとを含むコンピューティングデバイスであって、
前記メモリは命令を含有し、
前記命令は、前記少なくとも1つのプロセッサによって実行された時に前記コンピューティングデバイスに、
前記安全な記憶装置内に1つ以上の認証情報を格納させ、
前記コンピューティングデバイスを起動させ、
起動中に、1セットの状態に基づき前記コンピューティングデバイスの起動前にコンピューティングデバイスに不具合が起こり得たかを判断させ、
リカバリイメージを前記コンピューティングデバイスの前記メモリへ読み込ませ、
前記リカバリイメージを、前記コンピューティングデバイス上で1つ以上のサービスを開始するために使用する、前記安全な記憶装置に格納された1つ以上の認証情報にアクセスできるようにさせる、コンピューティングデバイス。
[12]不具合が前記コンピューティングデバイス上で起こり得たかを判断することは、1セットの状態を分析して、前記1セットの状態の少なくとも一部に基づき、前記コンピューティングデバイスが異常終了したことを判断するために構成された、前記コンピューティングデバイス上で動作するファームウェアによって実行される、[11]に記載のコンピューティングデバイス。
[13]前記リカバリイメージを読み込むことは、
前記コンピューティングデバイス上で動作する前記ファームウェアの起動ファームウェア測定を取得すること、
前記起動ファームウェア測定と前記安全な記憶装置に格納された参照ファームウェア測定を比較することで、前記コンピューティングデバイス上で動作する前記ファームウェアを検証すること、
暗号化キーを用いて前記リカバリイメージを解読するよう構成された前記ファームウェアを、前記安全な記憶装置に格納された前記暗号化キーにアクセスできるようにすること、
解読した前記リカバリイメージを前記コンピューティングデバイス上に読み込むこと、とを含む[12]に記載のコンピューティングデバイス。
[14]前記コンピューティングデバイス上で動作する前記リカバリイメージを前記安全な記憶装置に格納された前記1つ以上の認証情報にアクセスできるようにすることは、
読み込んだ前記リカバリイメージの起動ファームウェア測定を取得すること、
取得した前記起動ファームウェア測定に基づき、前記リカバリイメージの正しいバージョンが読み込まれたことを検証すること、
前記リカバリイメージの正しいバージョンが読み込まれたことの検証に応じて、前記リカバリイメージを前記1つ以上の認証情報にアクセスできるようにすること、
とをさらに含む、[11]に記載のコンピューティングデバイス。
[15]前記メモリは、前記少なくとも1つのプロセッサによって実行されて、前記コンピューティングデバイスに、
遠隔ホストコンピューティングデバイスから前記1つ以上の認証情報を受け取らせ、
受け取った前記認証情報を前記安全な記憶装置に格納させる命令を、
さらに包含する、[11]に記載のコンピューティングデバイス。
図1
図2
図3
図4
図5
図6
図7
図8