JP2016164785A - セキュア・リカバリ装置及び方法 - Google Patents

セキュア・リカバリ装置及び方法 Download PDF

Info

Publication number
JP2016164785A
JP2016164785A JP2016061906A JP2016061906A JP2016164785A JP 2016164785 A JP2016164785 A JP 2016164785A JP 2016061906 A JP2016061906 A JP 2016061906A JP 2016061906 A JP2016061906 A JP 2016061906A JP 2016164785 A JP2016164785 A JP 2016164785A
Authority
JP
Japan
Prior art keywords
boot
secure
image
code
boot image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016061906A
Other languages
English (en)
Other versions
JP6198876B2 (ja
Inventor
タボネ,ライアン
Tabone Ryan
スパングラー,ランドール,アール.
R Spangler Randall
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2016164785A publication Critical patent/JP2016164785A/ja
Application granted granted Critical
Publication of JP6198876B2 publication Critical patent/JP6198876B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】セキュアな場所からブート・イメージを回復するためのシステム及び方法を提供する。【解決手段】ハードウェア命令は、コンピュータ使用可能デバイス上でコンピュータ・オペレーティング・システムを立ち上げるためのブート・サイクルのシーケンスを開始する。ブート・サイクル中に、複数のブート・コードのレベルが検証され、それぞれのレベルがデバイスによって使用可能であるかどうかの判断が行われる。1つのブート・コードのレベルが使用不能であると判断された場合、セキュアな読み取り専用の場所からブート・コードのセキュア・コピーがロードされ、使用不能なコードを修復して、コンピュータ・オペレーティング・システムを立ち上げる。【選択図】図3

Description

主題技術は、一般に、コンピュータ・リカバリ・システム及び方法、すなわち、オペレ
ーティング・システムまたはファームウェアを回復することに関する。
一部のコンピュータ(たとえば、ノートブック)は、リカバリ・モードをサポートして
おり、このモードは、コンピュータの書き換え可能なオペレーティング・システムあるい
はファームウェアまたはその両方が破損した状態または破壊された状態になったときにそ
のコンピュータを良好な状態に復元することができる。一般に、ユーザは、コンピュータ
の立ち上げ(boot-up)時にキーストロークを介してリカバリ・モードを開始する。場合
によっては、そのファームウェアあるいはオペレーティング・システムまたはその両方に
問題があると判断した場合に、ノートブックが独自にリカバリ・モードを開始することが
できる。上記の解決策は主流の手法であったが、それにもかかわらず、ユーザは別個のリ
カバリ・デバイスを必要としている。ユーザは、リカバリ・デバイス(SDカードまたは
USBスティック)を持っていない場合、第2のコンピュータ上でインストーラをダウン
ロードし実行することにより、リカバリ・デバイスを作成しなければならない。リカバリ
・デバイスを挿入した後、システムはリカバリ・デバイスからブートし、それ自体を修復
しようと試みる。古いリカバリ・デバイスを持っている場合、ユーザは、まず手動でそれ
を更新しなければならない。
主題技術は、セキュアな場所からブート・イメージ(boot image)をロードするための
装置、システム、及び方法を提供する。
一態様の装置は、プロセッサと、1つのブート・イメージならびにそのブート・イメー
ジに対応し、それに対して冗長な1つまたは複数のブート・イメージを含む1つまたは複
数のブート・メモリ(boot memory)と、少なくとも1つのセキュア・ブート・イメージ
を含むセキュアな読み取り専用の場所(secure read-only location)と、コンピューテ
ィング・デバイスの立ち上げを開始するための開始及びリカバリ・ソフトウェア(initia
tion and recovery software)を含むメモリとを含む。この開始及びリカバリ・ソフトウ
ェアは、プロセッサによって実行されたときに、ブート・イメージの検証をロードして実
行することと、そのブート・イメージが検証によって使用不能であると判断された場合に
、冗長ブート・イメージの第2の検証をロードして実行することと、その冗長ブート・イ
メージが第2の検証によって使用不能であると判断された場合に、セキュアな読み取り専
用の場所からセキュア・ブート・イメージをロードすることをプロセッサに実行させる。
その他の諸態様は、対応するシステム、装置、及びコンピュータ・プログラム・プロダク
トを含む。
前述の装置及びその他の諸態様は、以下の特徴のうちの1つまたは複数を含むことがで
きる。たとえば、ブート・イメージの検証を実行することは、リカバリ・ソフトウェアが
、実行されたときに、それぞれのレベルがブート・コードのコア・トラステッド部分(co
re trusted piece)から上に検証される複数のブート・コード・レベルでブート・コード
の検証を実行することをプロセッサに実行させることを含むことができる。ブート・イメ
ージ、冗長ブート・イメージ、及びセキュア・ブート・イメージはそれぞれ、単一ブート
・レベルに関するブート・コードのコピーを含むことができる。複数のブート・コード・
レベルはブート・サイクルを含むことができ、ブート・イメージを使用不能であると判断
することは、リカバリ・ソフトウェアが、実行されたときに、ブート・サイクルを停止す
ることと、それぞれのブート・コードをロードして修復するためにセキュアな読み取り専
用の場所にアクセスすることと、最後に把握された検証可能なレベルでブート・サイクル
を再開することをプロセッサに実行させることを含むことができる。この方法は、ブート
障害の検出時またはユーザによる指示を受けて(たとえば、機械またはコンピュータの立
ち上げ時に専用のボタンまたはキーストロークを介して)自動的に開始することができる
前述の装置及びその他の諸態様は、以下の特徴のうちの1つまたは複数を含むことがで
きる。たとえば、ブート・イメージ及び冗長ブート・イメージの検証を実行することは、
暗号鍵を使用してブート・コードをチェックすることを含むことができる。リカバリ・ソ
フトウェアは、実行されたときに、ロードされたセキュア・ブート・イメージの検証を実
行することをプロセッサにさらに実行させることができる。ロードされたセキュア・ブー
ト・イメージの検証を実行することは、暗号鍵を使用してブート・コードをチェックする
ことを含むことができる。セキュアな読み取り専用の場所は、コンピューティング・デバ
イスに関連するシステム制御ボード上に位置する集積回路チップを含むことができる。メ
モリは、コンピューティング・デバイスに関連するメモリ媒体上の分離された隠しパーテ
ィションを含むことができる。セキュア・ブート・イメージは、ユーザが開始したキース
トロークに応答してロードすることができる。セキュア・ブート・イメージは、コンピュ
ーティング・デバイスのオペレーティング・システムをインストールするのに十分な情報
を含むことができ、リカバリ・ソフトウェアは、実行されたときに、ネットワーク・アク
セシビリティを含むデフォルト状態にオペレーティング・システムを復元することと、オ
ペレーティング・システムを最新バージョンに更新するためにネットワーク・ソースから
更新を取得するための所定の定義シーケンスを開始することをプロセッサにさらに実行さ
せることができる。
他の態様の機械可読媒体は命令を含み、その命令は、機械またはコンピューティング・
デバイスによって実行されたときに、それぞれのサイクルがメモリ媒体から1つのブート
・コードのレベルをロードする、ブート・サイクルのシーケンスを開始することと、1つ
のブート・コードのレベルが使用不能であると判断することと、セキュアな読み取り専用
の場所からそのブート・コードのレベルのセキュア・コピーをロードすることであって、
そのセキュアな読み取り専用の場所がメモリ媒体に関連付けられていないことを含む、ブ
ート・イメージをロードする方法を機械またはコンピューティング・デバイスに実行させ
る。その他の諸態様は、コンピュータで実行される方法の実現のための対応するシステム
、装置、及びコンピュータ・プログラム・プロダクトを含む。
前述の方法及びその他の諸態様は、以下の特徴のうちの1つまたは複数を含むことがで
きる。たとえば、この方法は、そのブート・コードのレベルが使用不能であると判断する
前に最後に把握された検証可能なコードのレベルを検証することと、そのブート・コード
のレベルが使用不能であると判断したときにブート・サイクルのシーケンスを停止するこ
とと、セキュア・コピーを使用して使用不能なブート・コードのレベルを修復することと
、最後に把握された検証可能なレベルでブート・サイクルを再開することをさらに含むこ
とができる。この方法は、セキュア・コピーをロードする前に、そのブート・コードのレ
ベルの冗長コピーが使用不能であると判断することをさらに含むことができる。この方法
は、ロードされたセキュア・ブート・イメージの検証を実行することをさらに含むことが
できる。セキュアな読み取り専用の場所は、コンピューティング・デバイスに関連するシ
ステム制御ボード上に位置する集積回路チップを含むことができる。セキュア・コピーま
でのブート・サイクルのシーケンスは、コンピューティング・デバイスのオペレーティン
グ・システムをインストールするためのブート・コードを含むことができ、この方法は、
ネットワーク・アクセシビリティを含むデフォルト状態にオペレーティング・システムを
復元することと、オペレーティング・システムを最新バージョンに更新するためにネット
ワーク・ソースから更新を取得するための所定の定義シーケンスを開始することをさらに
含む。
他の一態様のコンピュータで実行される方法は、メモリ媒体上に保存されているブート
・プログラム内の使用不能なブート・コードのセクションを決定することと、セキュアな
読み取り専用集積回路からのブート・コードのセキュア・コピーにアクセスすることと、
使用不能なブート・コードのセクションをブート・コードのセキュア・コピーで置き換え
てメモリ媒体上のブート・プログラムを修復することと、修復されたブート・プログラム
を使用してメモリ媒体からデフォルト・オペレーティング・システムをロードすることを
含む。これに関して、デフォルト・オペレーティング・システムは、オペレーティング・
システムを最新バージョンに更新するためにネットワーク・ソースから更新を取得するた
めの動作の所定の定義シーケンスを開始するために必要十分な機能性を含むことができる
。このコンピュータで実行される方法は、使用不能なブート・コードのセクションをブー
ト・コードのセキュア・コピーで置き換える前に使用不能なブート・コードのセクション
に対応するブート・コードの冗長セクションも使用不能であると判断することと、ブート
・コードの冗長セクションをブート・コードのセキュア・コピーで置き換えることをさら
に含むことができる。
さらに他の一態様のコンピュータで実行される方法は、メモリ媒体上に保存されている
使用不能なブート・イメージを決定することと、セキュアな読み取り専用集積回路からの
ブート・イメージのセキュア・コピーにアクセスすることと、セキュア・コピーを使用し
てオペレーティング・システムをロードすることを含む。これに関して、このコンピュー
タで実行される方法は、使用不能なブート・イメージをセキュア・コピーで置き換えて、
メモリ媒体上に保存されているブート・イメージを修復することをさらに含むことができ
、セキュア・コピーを使用してデフォルト・オペレーティング・システムをロードするこ
とは、修復されたブート・イメージを使用してメモリ媒体からオペレーティング・システ
ムをロードすることを含む。このオペレーティング・システムは、オペレーティング・シ
ステムを最新バージョンに更新するためにネットワーク・ソースから更新を取得するため
の動作の所定の定義シーケンスを開始するために必要十分な機能性を含むデフォルト・オ
ペレーティング・システムにすることができる。さらにまたは代替例として、このコンピ
ュータで実行される方法は、使用不能なブート・イメージをセキュア・ブート・イメージ
で置き換える前に使用不能なブート・イメージに対応する冗長ブート・イメージも使用不
能であると判断することと、冗長ブート・イメージをセキュア・ブート・イメージで置き
換えることを含むことができる。
主題技術の様々な構成が例示として示され記載されている以下の詳細な説明から主題技
術のその他の構成が当業者にとって容易に明らかになることは言うまでもない。認識され
るように、主題技術はその他の種々の構成が可能であり、そのいくつかの詳細は、いずれ
も主題技術の範囲を逸脱せずに、様々なその他の点で変更可能である。したがって、図面
及び詳細な説明は、限定的なものとしてではなく、本質的に例示的なものと見なすべきで
ある。
添付図面に関連して詳細な説明を行う。
主題技術の一態様により、ファームウェア及びセキュアなメモリ場所を含む、ブート・イメージをロードするための装置及びシステムの典型的な図である。 主題技術の一態様により、ネットワークによってオペレーティング・システムを復元するための装置及びシステムの典型的な図である。 主題技術の一態様により、セキュアな場所からブート・イメージをロードするための典型的なプロセスを示すフローチャートである。 主題技術の一態様により、プロセッサ及びその他の内部コンポーネントを含み、セキュアな場所からブート・イメージをロードするための典型的なサーバ・システムを示す図である。
現代のコンピュータは、様々なバックアップ及びリカバリ・メカニズムを含んでいる可
能性がある。データ破損(たとえば、悪意のあるソフトウェアまたはハードウェア障害の
結果として発生する)により、ブート可能なハード・ドライブまたはその他の記憶メカニ
ズム上のファームウェアのイメージまたはオペレーティング・システムを置換または修復
することが望ましい場合がある。しかし、リカバリ・イメージを使用してそのイメージを
復元することは、難しいプロセスではない場合でも複雑なプロセスである可能性があり、
リカバリ・イメージ自体もデータ破損の影響を受けている可能性がある。したがって、破
損したイメージを回復することは、必然的に、相当な費用でコンピュータ技術者による介
入を必要とする可能性がある。主題技術は、他のすべてのものが故障したときにユーザが
頼ることができるセキュアなデータ・バンクを提供し、ユーザまたはコンピュータ技術者
による介入の必要性を軽減する。
図1は、主題技術の一態様により、ファームウェア及びセキュアなメモリ場所を含む、
ブート・イメージをロードするための装置及びシステムの典型的な図である。一態様によ
れば、コンピュータ・システム100は、プロセッサ102及び1つまたは複数のファー
ムウェア103を含むシステム・ボード101(たとえば、マザーボード)と、ハード・
ドライブ104とを含むことができる。システム100は、ファームウェア、カーネル・
パーティション、あるいはオペレーティング・システムのルート・ファイル・システム、
またはこれらの組み合わせに及ぶ1つまたは複数のブート・イメージ105を使用して動
作を始動するように構成することができ、それぞれのブート・イメージは複数のブート・
コードのレベルを含む。たとえば、ブート・イメージ105はハード・ドライブ104上
に保存することができる。その他の諸態様では、ブート・イメージ105に対応し、それ
に対して冗長で、ブート・イメージ105が故障した場合にそのコピーを提供する、1つ
または複数の冗長ブート・イメージ106を(たとえば、ハード・ドライブ104の隠し
パーティションまたはその他の書き換え可能なメモリ上に)含めることができる。
システム100は、システム・ボード101に関連するかまたはその上に位置するセキ
ュアなメモリ場所107も含むことができる。たとえば、セキュアなメモリ場所107は
、システム制御ボード101上に位置するかまたはそれと統合された集積回路チップとし
て実現することができる。このセキュアなデータ・バンクは、コンピュータ使用可能デバ
イス(computer-enabled device)のブート・パスの全部または一部分を復元するための
トラステッド・ブート・コードを含む、1つまたは複数のセキュア・イメージ108を保
存するセキュアな読み取り専用メモリ・ハードウェアとして実現することができる。一態
様では、セキュア・イメージ108は、ブート・イメージ105のコピーを提供すること
ができる。これは、既知の良好なイメージの読み取り専用コピーであり、カーネルあるい
はハード・ディスクまたはその両方から分離されているので、その中のブート・コードは
トラステッドであると見なすことができる。いくつかの態様では、ブート障害の際に、ハ
ードウェア・スイッチによってまたはブート・サイクル中の一連のキーストロークによっ
て、セキュア・イメージ108を使用するリカバリをトリガすることができる。その他の
態様では、以下に記載するように、ブート障害の際にシステム100によってセキュアな
メモリ場所107に自動的にアクセスすることができる。
ファームウェア103は、プロセッサによって実行されたときに、ブート・イメージの
検証をロードして実行することをプロセッサに実行させるように動作可能である、開始及
びリカバリ命令109を含むことができる。検証によってブート・イメージ105あるい
はその1つまたは複数の部分が使用不能である(たとえば、破損している)と判断された
場合、命令109はセキュアな場所107にアクセスし、セキュア・イメージ108を使
用してオペレーティング・システムをロードすることができる。代わって、ブート・イメ
ージ105を検証できないかまたはそれが使用不能であると判断した際に、命令109は
、冗長ブート・イメージ106の第2の検証をロードして実行しようと試みることができ
る。第2の検証によって冗長ブート・イメージ106も使用不能であると判断された場合
、ソフトウェアはセキュア・ブート・イメージ108をロードして実行することができる
システム100がブートされるときに、暗号鍵を使用して、ブート・イメージまたはブ
ート・イメージの一部分を検証することができる。これに関して、システム100は、ブ
ート・コードのコア・トラステッド部分から上にそれぞれのレベルでチェックサムを実行
することができ、コード異常あるいはブート障害またはその両方が決定された場合、その
イメージの冗長コピーあるいはその1つまたは複数の部分をロードして、ブート・パスを
回復することができる。冗長イメージ106(及びセキュア・イメージ108)は、イメ
ージ全体のコピーあるいは1つまたは複数のブート・コードのレベルを含むことができ、
暗号鍵で検証することもできる。前述のように、冗長コピーが使用不能であると判断され
た場合、システム100はセキュアなメモリ場所107からそのブート・コードのレベル
を回復することができる。
ブート・イメージ105、冗長ブート・イメージ106、及びセキュア・ブート・イメ
ージ108は、単一のブート・レベルに関するブート・コードを含む場合もあれば、複数
のレベルにパーティション化されたコードを含む場合もある。ブート・コードはレベルご
とに復元することができるので、使用不能なイメージまたはその一部分が決定されると、
プロセスは、ブート・サイクルを停止し、冗長コピー106あるいはセキュア・コピー1
08またはその両方にアクセスして、コードのその部分を修復し、次に、最後に把握され
た検証可能なレベルでブート・サイクルを再開するように動作可能である。たとえば、フ
ァームウェア・レベルで(ECから読み取り専用ないし書き換え可能に)障害が発生して
いる場合、プロセスは次のファームウェア・レベルで再始動することができる。しかし、
カーネルが故障した場合、ファームウェア・レベルの終わりでブート検証プロセスを再始
動することができる。リカバリ・プロセス中に、たとえば、ハード・ドライブのリカバリ
・パーティション上に保存された冗長ブート・コードも使用不能であることが判明した場
合、システムは(自動的にまたはユーザ開始のキーストロークまたはスイッチを受けて)
セキュア・イメージ108の関連部分をセキュアな場所107からハード・ドライブ10
4などへコピーし、使用不能な冗長ブート・コードを置換することができる。冗長ブート
・コードは、暗号鍵を使用して、セキュア・イメージが正しくコピーされたことあるいは
いかなるハードウェア・エラーも存在しないことまたはその両方を検証することにより、
さらにチェックすることができる。
前述のように、セキュアな場所107は、取り外し不能なチップ、たとえば、eMMC
、EEPROM、NANDフラッシュなどを含むことができる。代わって、セキュア・リ
カバリ・イメージは、オペレーティング・システムから隠された、ソリッドステート・ド
ライブのホストで保護されたエリア内に保存することができる。たとえば、セキュア・リ
カバリ・イメージ108は、そのドライブのeMMCの書き込み禁止パーティション上に
保存することができる。他の態様では、セキュア・リカバリ・イメージ108は、セキュ
ア・デジタル(SD)またはマイクロSDカード上に保存することができる。システム1
00のコンピュータ実現例は、デバイス内に、たとえば、電池室内に、隠しスロットを含
むことができる。リカバリ・イメージは、それをコンピュータから取り外し、別個のコン
ピュータ上でそれをプログラミングすることにより(またはデバイス自体の通常のSDカ
ード・スロットにそれを挿入することにより)更新することができる。一例では、SDま
たはマイクロSDリカバリ・イメージはデバイスのメイン・メモリ媒体から分離して保持
することができ、システム100はオペレーティング・システムに対するメモリ媒体の書
き込み禁止スイッチのアドバタイズメントを無視するように構成されている。
一態様によれば、侵入を防止するためにSDデバイスに追加の回路を提供することがで
きる。この回路は、使用可能状態または使用不可状態のいずれかにラッチすることができ
る。ある状態が選択されると、システムがリセットされるまで、それがアクティブのまま
になる可能性がある(たとえば、変更することができない)。その回路が使用可能である
場合、システム100がそれからブートできるように、SDカードを電気的に接続するこ
とができる。その回路が使用不可である場合、SDカードは電気的に切断することができ
、システムはそれからブートするかまたはそれに書き込むことができず、誤動作している
オペレーティング・システムまたはリモート・アタッカによって変更されないようにそれ
を保護する。一態様では、回路状態は読み取り専用ブート・スタブ・ファームウェア(た
とえば、ファームウェア103内)を介して選択することができる。システム100は、
リカバリ・モードが選択されたと判断した場合、その回路を使用可能にすることができる
。一方で、システムは、ファームウェアが書き換え可能でなければならないと判断した場
合、その回路を使用不可にすることができる。一例では、システム100に関連するハー
ドウェア上でリカバリ・ボタンがアクティブにされた場合、その回路状態を選択すること
ができる。
また、前述の追加の回路は、チップがリカバリ・モードでのみ動作可能になるように、
集積回路あるいは完全なチップ保護の実装あるいはその両方に含めることもできる。これ
に関して、追加の回路は、チップがリカバリ・モードでは書き込み可能であるが、その他
のモードでは読み取り専用になるように、チップの書き込み禁止状態を制御することがで
きる。この目的のために、チップは、通常のブート中の偶発的なまたは悪意のある変更か
ら保護することができるが、依然としてリカバリ・モードではリカバリ・イメージの更新
を可能にすることができる。
図2は、主題技術の一態様により、ネットワークによってオペレーティング・システム
を復元するための装置及びシステムの典型的な図である。いくつかの態様では、前述のリ
カバリ・メカニズムは、オペレーティング・システムを既知の良好な状態にするのに十分
な情報をインストールすることができるだけであり、コア・イメージの残りはその他のソ
ースから取得することができる。たとえば、コンピュータ使用可能デバイス200は、オ
ペレーティング・システムをデフォルト・バージョンに復元するために(たとえば、図1
に関連して述べた通り)、ファームウェア201、メモリ媒体202(たとえば、ハード
・ドライブ)、あるいはセキュア・メモリ203、またはこれらの組み合わせの上に1つ
または複数のブート・イメージを含むことができる。一態様では、この1つまたは複数の
ブート・イメージは、デフォルト・オペレーティング・システムのネットワーク・リカバ
リ・イメージを含み、ネットワーク・アクセシビリティを有する限られた特徴セットを含
むことができる。インストール後、デフォルト・オペレーティング・システムは、自動的
にまたはユーザ・アクションを受けて、オペレーティング・システムを最新バージョンに
更新するためにネットワーク204によって更新を取得するための所定の定義シーケンス
を開始することができる。オペレーティング・システムに対する更新は、1つまたは複数
のリモート・サーバ205によって提供することができる。このように、リカバリ・プロ
セスは、まず、搭載されているリカバリ・プロセスを使用して、短い時間(たとえば、高
速ブート・パスの場合は30秒)内にコンピュータを使用可能な場所に復元し、次に1つ
または複数のバックグラウンド・プロセスでオペレーティング・システムを更新し、次に
ユーザがコンピュータをリブートするときに使用するために最新のオペレーティング・シ
ステムを提供することができる。
いくつかの態様では、さらにオペレーティング・システム及びファームウェアの更新が
リリースされると、セキュア・イメージ108を自動的に更新することができる。このよ
うに、システムが回復する必要がある場合、オペレーティング・システムあるいはファー
ムウェアまたはその両方は、そのデバイスが工場から出荷されたときに使用可能であった
状態の代わりに、更新された状態に回復することができる。これは、元の工場出荷ソフト
ウェアがそのリリースの時点でセキュリティ上の脆弱性を持っていた可能性があるので、
重要なことである可能性がある。他の一態様では、システム100は、セキュア・イメー
ジより古いオペレーティング・システムのインストールを防止するように構成することが
できる。これに関して、オペレーティング・システムをインストールしようと試みると、
そのオペレーティング・システムが少なくともそのイメージと同じ程度に古いものである
ことを検証するために、ブート・イメージ105、冗長イメージ106、またはセキュア
・イメージ107と照らし合わせてチェックを実行することができる。また、リカバリ・
イメージは、それが含むオペレーティング・システム及びファームウェアをインストール
できるようにオペレーティング・システム保護を使用不可にできる場合もあれば、ネット
ワークを介して現行のオペレーティング・システム及びファームウェアをフェッチできる
ように前述のネットワーク・リカバリ・イメージを含む場合もある。
図3は、主題技術の一態様により、セキュアな場所からブート・イメージをロードする
ための典型的なプロセスを示すフローチャートである。ステップ301で、システム10
0は、それぞれのサイクルがメモリ媒体から1つのブート・コードのレベルをロードする
、ブート・サイクルのシーケンスを開始する。ステップ302で、システム100は、1
つのブート・サイクルに関するブート・コードをロードして実行しようと試み、ステップ
303で、そのブート・コードが使用可能であるかどうかを判断する。一態様では、その
コードがデバイスをブートするために使用可能であるかどうかを判断するために、そのコ
ードの検証を実行することができる。他の態様では、その判断は、ブート・サイクルが完
全に実行されなかったこと、故障していたかまたはエラーを発生したこと、破損していた
ことなどの検証から得られる可能性がある。
ブート・コードが使用可能である場合、それは実行される。そうではない場合、任意選
択のステップ304で、検証によりブート・イメージが使用不能であると判断されたとき
に、システム100はブート・コードの冗長コピーをロードしようと試みる。前述のよう
に、このコピーはハード・ドライブ104またはその他のメモリ媒体上の隠しパーティシ
ョンからロードすることができる。いくつかの態様では、冗長コピーを含む、ブート・コ
ードの1つまたは複数のサイクルは、ファームウェア、たとえば、読み取り/書き込みフ
ァームウェアからロードすることができる。システム100がブート・コードの冗長コピ
ーをロードしようと試みる場合、ステップ305で、システム100は、冗長コピーも使
用不能であるかどうかについて判断を行う。冗長ブート・コードが使用可能である場合、
それは実行され、プロセスは終了する。そうではない場合、ステップ306で、元のブー
ト・イメージと冗長ブート・イメージの両方が使用不能であると判断されたときに、シス
テム100はセキュアな場所からブート・コードのセキュア・コピーをロードしようと試
みる。いくつかの態様では、セキュア・イメージをロードするために使用されるセキュア
な場所はメモリ媒体に関連付けられていない。この目的のために、冗長コピーがハード・
ドライブまたはメモリ・スティックなどの1つのメモリ媒体上に保存されている場合、そ
のセキュアな場所は、たとえば、集積回路内に読み取り専用ファームウェアとして実現す
ることができる。
図4は、主題技術の一態様により、プロセッサ及びその他の内部コンポーネントを含み
、セキュアな場所からブート・イメージをロードするための模範的なサーバ・システムを
示す図である。いくつかの態様では、コンピュータ化されたデバイス400(たとえば、
コンピュータ・システム100など)は、プロセッサ401、システム・バス402、読
み取り専用メモリ403、システム・メモリ404、ネットワーク・インターフェース4
05、入出力インターフェース406などのいくつかの内部コンポーネントを含む。一態
様では、プロセッサ401は、入出力インターフェース406を介して記憶媒体407(
たとえば、ハード・ドライブ、データベース、またはデータ・クラウド)と連絡している
可能性もある。いくつかの態様では、デバイス400のこれらの要素のすべてを単一のデ
バイスに統合することができる。その他の態様では、これらの要素を別個のコンポーネン
トとして構成することができる。
プロセッサ401は、本明細書に記載された動作及び機能を実行するためのコードまた
は命令を実行し、要求フロー及びアドレス・マッピングを管理し、計算を実行してコマン
ドを生成するように構成することができる。プロセッサ401は、サーバ400内のコン
ポーネントの動作をモニターし制御するように構成される。このプロセッサは、汎用マイ
クロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途
向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)
、プログラム可能論理デバイス(PLD)、コントローラ、状態機械、ゲーテッド・ロジ
ック、個別ハードウェア部品、または上記のものの組み合わせにすることができる。複数
命令からなる1つまたは複数のシーケンスは、プロセッサ401内のROM上にファーム
ウェアとして保存することができる。同様に、複数命令からなる1つまたは複数のシーケ
ンスは、システム・メモリ405、ROM403に保存されそこから読み出されるか、記
憶媒体407から(たとえば、入出力インターフェース406を介して)受信されるソフ
トウェアにすることができる。ROM403、システム・メモリ405、及び記憶媒体4
07は、そこで命令/コードがプロセッサ401によって実行可能である、機械またはコ
ンピュータで読み取り可能な媒体の例を表している。機械またはコンピュータで読み取り
可能な媒体は一般に、システム・メモリ404またはプロセッサ401内のバッファに使
用されるダイナミック・メモリなどの揮発性媒体と、電子媒体、光媒体、及び磁気媒体な
どの不揮発性媒体の両方を含み、プロセッサ401に命令を提供するために使用される任
意の媒体またはメディアを指すことができる。
いくつかの態様では、プロセッサ401は、1つまたは複数の外部装置と(たとえば、
入出力インターフェース406を介して)連絡するように構成される。プロセッサ401
は、システム・メモリ404あるいは記憶媒体407またはその両方に保存されたデータ
を読み取り、1つまたは複数の外部装置からの要求に応答して1つまたは複数の外部装置
に読み取ったデータを転送するようにさらに構成される。読み取ったデータは、1つまた
は複数の外部装置上に描画すべき1つまたは複数のウェブ・ページあるいはその他のソフ
トウェア・プレゼンテーションまたはその両方を含むことができる。1つまたは複数の外
部装置は、パーソナル・コンピュータ、サーバ、ワークステーション、ラップトップ・コ
ンピュータ、PDA、スマートフォンなどのコンピューティング・システムを含むことが
できる。
いくつかの態様では、システム・メモリ404は、デバイス400を管理するために使
用されるデータ及び情報を一時的に保存するために使用される揮発性メモリを表している
。主題技術の一態様によれば、システム・メモリ404は、ダブル・データレート(DD
R)RAMなどのランダム・アクセス・メモリ(RAM)である。システム・メモリ50
4を実現するために、その他のタイプのRAMも使用することができる。メモリ404は
、単一のRAMモジュールまたは複数のRAMモジュールを使用して実現することができ
る。システム・メモリ404はデバイス400の一部として描写されているが、当業者で
あれば、システム・メモリ404が主題技術の範囲を逸脱せずにデバイス400から分離
できることを認識するであろう。代わって、システム・メモリ404は、磁気ディスク、
フラッシュ・メモリ、周辺SSDなどの不揮発性メモリにすることができる。
入出力インターフェース406は、1つまたは複数の外部装置に結合し、1つまたは複
数の外部装置からデータを受信し、1つまたは複数の外部装置にデータを送信するように
構成することができる。入出力インターフェース406は、たとえば、バス402を介し
て、入出力インターフェース406をプロセッサ401に動作可能に結合するための電気
接続及び物理接続の両方を含むことができる。入出力インターフェース406は、バス4
02に取り付けられた内部コンポーネント(たとえば、プロセッサ401)と1つまたは
複数の外部装置(たとえば、ハード・ドライブ)との間でデータ、アドレス、及び制御信
号を伝達するように構成される。入出力インターフェース406は、シリアルアタッチド
SCSI(SAS)、ファイバ・チャネル・インターフェース、PCIエクスプレス(P
CIe)、SATA、USBなどの標準的なインターフェースを実現するように構成する
ことができる。入出力インターフェース406は、1つのインターフェースのみを実現す
るように構成することができる。代わって、入出力インターフェース406は、ユーザに
よって選択されるかまたは組み立て時にプログラミングされた構成パラメータを使用して
個別に選択可能な複数のインターフェースを実現するように構成することもできる。入出
力インターフェース406は、1つまたは複数の外部装置とバス402あるいはそれに動
作可能に取り付けられた内部デバイスまたはその両方との間の伝送をバッファリングする
ための1つまたは複数のバッファを含むことができる。
当業者であれば、本明細書に記載されている様々な例示的なブロック、モジュール、エ
レメント、コンポーネント、方法、及びアルゴリズムは電子ハードウェア、コンピュータ
・ソフトウェア、またはその両方の組み合わせとして実現できることを認識するであろう
。ハードウェアとソフトウェアのこの互換性を例証するために、様々な例示的なブロック
、モジュール、エレメント、コンポーネント、方法、及びアルゴリズムは、その機能性に
関して上記で一般的に記載されている。このような機能性がハードウェアとして実現され
るかまたはソフトウェアとして実現されるかは、システム全体に課せられた特定の適用及
び設計上の制約によって決まる。当業者であれば、それぞれの特定の適用例のために様々
な方法で上記の機能性を実現することができる。様々なコンポーネント及びブロックは、
いずれも主題技術の範囲を逸脱せずに、異なる配置にする(たとえば、異なる順序で配置
するかまたは異なる方法でパーティション化する)ことができる。
開示されているプロセスにおける諸ステップの特定の順序または階層は模範的な手法の
例示であることは言うまでもない。設計上の好みに基づいて、プロセスにおける諸ステッ
プの特定の順序または階層を再編成できることは言うまでもない。諸ステップのうちのい
くつかは同時に実行することができる。付随する方法請求項は、サンプル順序で様々なス
テップの諸要素を提示しており、提示されている特定の順序または階層に限定されるもの
ではない。
上記の説明は、当業者が本明細書に記載された様々な態様を実践できるように提供され
たものである。上記の説明は主題技術の様々な例を提供しており、主題技術はこれらの例
に限定されない。これらの態様に対する様々な変更は当業者にとって容易に明らかになり
、本明細書に定義された包括的原理はその他の態様に適用することができる。したがって
、特許請求の範囲は本明細書に示されている諸態様に限定するためのものではなく、請求
項の表現と一致した全範囲が授与されるべきであり、その請求項においては単数形の要素
に対する言及は、特にそのように指定されない限り、「唯一のもの(one and only one)
」を意味するものではなく、むしろ「1つまたは複数(one or more)」を意味するもの
である。特に他の指定がない限り、「いくつかの(some)」という用語は1つまたは複数
を指している。男性形の代名詞(たとえば、彼の(his))は女性形及び中性形(たとえ
ば、彼女の(her)及びそれの(its))を含み、逆もまた同様である。見出し及び小見出
しがある場合、便宜上使用されているだけであり、主題技術を限定するものではない。
「ように構成される(configured to)」、「ように動作可能である(operable to)」
、及び「ようにプログラミングされる(programmed to)」という述語は、主題に関する
有形または無形の特定の変更を意味するものではなく、むしろ、交換可能に使用されるも
のである。たとえば、ある動作またはコンポーネントをモニターし制御するように構成さ
れたプロセッサは、そのプロセッサがその動作をモニターし制御するようにプログラミン
グされていることまたはそのプロセッサがその動作をモニターし制御するように動作可能
であることも意味することができる。同様に、コードを実行するように構成されたプロセ
ッサは、コードを実行するようにプログラミングされたかまたはコードを実行するように
動作可能であるプロセッサとして解釈することもできる。
「態様(aspect)」などの語句は、このような態様が主題技術にとって不可欠であるこ
とまたはこのような態様が主題技術のすべての構成に適用されることを意味するものでは
ない。一態様に関連する開示内容はすべての構成に適用される場合もあれば、1つまたは
複数の構成に適用される場合もある。一態様は1つまたは複数の例を提供することができ
る。一態様などの語句は1つまたは複数の態様を指す可能性があり、逆もまた同様である
。「実施形態(embodiment)」などの語句は、このような実施形態が主題技術にとって不
可欠であることまたはこのような実施形態が主題技術のすべての構成に適用されることを
意味するものではない。一実施形態に関連する開示内容はすべての実施形態に適用される
場合もあれば、1つまたは複数の実施形態に適用される場合もある。一実施形態は1つま
たは複数の例を提供することができる。「一実施形態」などの語句は1つまたは複数の実
施形態を指す可能性があり、逆もまた同様である。「構成(configuration)」などの語
句は、このような構成が主題技術にとって不可欠であることまたはこのような構成が主題
技術のすべての構成に適用されることを意味するものではない。一構成に関連する開示内
容はすべての構成に適用される場合もあれば、1つまたは複数の構成に適用される場合も
ある。一構成は1つまたは複数の例を提供することができる。「一構成」などの語句は1
つまたは複数の構成を指す可能性があり、逆もまた同様である。
「模範的(exemplary)」という単語は、「一例または例示として機能すること」を意
味するために本明細書で使用されている。「模範的」として本明細書に記載されている任
意の態様または設計は必ずしも他の態様または設計より好ましいかまたは有利であると解
釈すべきではない。
本発明全体を通して記載されている様々な態様の諸要素と構造上及び機能上同等であっ
て、当業者にとって既知であるかまたは後で既知のものになるものはいずれも、参照によ
り明白に本明細書に組み込まれ、特許請求の範囲によって包含されるものである。その上
、本明細書に開示されているものはいずれも、このような開示が特許請求の範囲に明示的
に列挙されているかどうかにかかわらず、世間一般に提供されたものではない。いかなる
請求要素も、その要素が「ための手段」という表現を使用して明白に列挙されていないか
または方法の請求項の場合にその要素が「ためのステップ」という表現を使用して列挙さ
れていない限り、米国特許法第112節第6項の規定に基づいて解釈されるべきではない
。さらに、「含む(comprise)」という用語は請求項内で移行語として使用されるときに
解釈されるので、「含む(include)」、「有する(have)」などの用語は、説明または
特許請求の範囲において使用される範囲で、「含む(comprise)」と同様に包括的なもの
である。

Claims (24)

  1. プロセッサと、
    1つのブート・イメージならびに当該ブート・イメージに対応し、当該ブート・イメー
    ジに対して冗長な1つまたは複数のブート・イメージを含む1つまたは複数のブート・メ
    モリと、
    少なくとも1つのセキュア・ブート・イメージを含むセキュアな読み取り専用の場所と

    コンピューティング・デバイスの立ち上げを開始するための開始及びリカバリ・ソフト
    ウェアを含んだメモリとを含み、
    前記開始及びリカバリ・ソフトウェアは、前記プロセッサによって実行されたときに、
    ブート・イメージの検証をロードして実行することと、
    前記ブート・イメージが前記検証によって使用不能であると判断された場合に、冗長
    ブート・イメージの第2の検証をロードして実行することと、
    前記冗長ブート・イメージが前記第2の検証によって使用不能であると判断された場
    合に、前記セキュアな読み取り専用の場所からセキュア・ブート・イメージをロードする
    こと
    を前記プロセッサに実現させる、コンピューティング・デバイス。
  2. ブート・イメージの検証を実行することは、前記リカバリ・ソフトウェアが、実行され
    たときに、
    複数のブート・コード・レベルでブート・コードの検証を実行し、それぞれの前記レベ
    ルがブート・コードのコア・トラステッド部分から上に検証されること
    を前記プロセッサに実現させることを含む、請求項1記載のコンピューティング・デバイ
    ス。
  3. 前記ブート・イメージ、冗長ブート・イメージ、及びセキュア・ブート・イメージがそ
    れぞれ、単一ブート・レベルに関するブート・コードのコピーを含む、請求項2記載のコ
    ンピューティング・デバイス。
  4. 前記複数のブート・コード・レベルが1つのブート・サイクルを含み、前記ブート・イ
    メージを使用不能であると判断することは、前記リカバリ・ソフトウェアが、実行された
    ときに、
    前記ブート・サイクルを停止することと、
    それぞれのブート・コードをロードして修復するために前記セキュアな読み取り専用の
    場所にアクセスすることと、
    最後に把握された検証可能なレベルで前記ブート・サイクルを再開すること
    を前記プロセッサに実現させることを含む、請求項2記載のコンピューティング・デバイ
    ス。
  5. 前記ブート・イメージ及び前記冗長ブート・イメージの検証を実行することは、暗号鍵
    を使用してブート・コードをチェックすることを含む、請求項1記載のコンピューティン
    グ・デバイス。
  6. 前記リカバリ・ソフトウェアは、実行されたときに、
    ロードされた前記セキュア・ブート・イメージの検証を実行すること
    を前記プロセッサにさらに実行させる、請求項1記載のコンピューティング・デバイス。
  7. ロードされた前記セキュア・ブート・イメージの検証を実行することは、暗号鍵を使用
    してブート・コードをチェックすることを含む、請求項6記載のコンピューティング・デ
    バイス。
  8. 前記セキュアな読み取り専用の場所が、前記コンピューティング・デバイスに関連する
    システム制御ボード上に位置する集積回路チップを含む、請求項1記載のコンピューティ
    ング・デバイス。
  9. 前記メモリが、前記コンピューティング・デバイスに関連するメモリ媒体上の分離され
    た隠しパーティションを含む、請求項1記載のコンピューティング・デバイス。
  10. 前記セキュア・ブート・イメージが、ユーザが開始したキーストロークに応答してロー
    ドされる、請求項1記載のコンピューティング・デバイス。
  11. 前記セキュア・ブート・イメージが、前記コンピューティング・デバイスのオペレーテ
    ィング・システムをインストールするのに十分な情報を含み、前記リカバリ・ソフトウェ
    アは、実行されたときに、
    ネットワーク・アクセシビリティを含むデフォルト状態に前記オペレーティング・シス
    テムを復元することと、
    前記オペレーティング・システムを最新バージョンに更新するためにネットワーク・ソ
    ースから更新を取得するための所定の定義シーケンスを開始すること
    を前記プロセッサにさらに実行させる、請求項1記載のコンピューティング・デバイス。
  12. 機械で実行可能な命令が保存されている機械可読媒体であって、前記命令が、機械また
    はコンピュータによって実行されたときに、
    ブート・サイクルのシーケンスを開始し、それぞれのサイクルがメモリ媒体から1つの
    ブート・コードのレベルをロードすることと、
    1つのブート・コードのレベルが使用不能であると判断することと、
    セキュアな読み取り専用の場所から前記ブート・コードのレベルのセキュア・コピーを
    ロードすることであって、前記セキュアな読み取り専用の場所が前記メモリ媒体に関連付
    けられていないこと
    を含む、ブート・イメージをロードする方法を前記機械またはコンピュータに実行させる
    、機械可読媒体。
  13. 前記方法が、
    前記ブート・コードのレベルが使用不能であると判断する前に最後に把握された検証可
    能なコードのレベルを検証することと、
    前記ブート・コードのレベルが使用不能であると判断したときに前記ブート・サイクル
    のシーケンスを停止することと、
    前記セキュア・コピーを使用して前記使用不能なブート・コードのレベルを修復するこ
    とと、
    前記最後に把握された検証可能なレベルで前記ブート・サイクルを再開すること
    をさらに含む、請求項12記載の機械可読媒体。
  14. 前記方法が、
    前記セキュア・コピーをロードする前に、前記ブート・コードのレベルの冗長コピーが
    使用不能であると判断すること
    をさらに含む、請求項12記載の機械可読媒体。
  15. 前記方法が、
    ロードされた前記セキュア・ブート・イメージの検証を実行すること
    をさらに含む、請求項12記載の機械可読媒体。
  16. 前記セキュアな読み取り専用の場所が、前記コンピューティング・デバイスに関連する
    システム制御ボード上に位置する集積回路チップを含む、請求項12記載の機械可読媒体
  17. 前記セキュア・コピーまでの前記複数ブート・サイクルのシーケンスが、前記コンピュ
    ーティング・デバイスのオペレーティング・システムをインストールするためのブート・
    コードを含み、前記方法が、
    ネットワーク・アクセシビリティを含むデフォルト状態に前記オペレーティング・シス
    テムを復元することと、
    前記オペレーティング・システムを最新バージョンに更新するためにネットワーク・ソ
    ースから更新を取得するための所定の定義シーケンスを開始すること
    をさらに含む、請求項12記載の機械可読媒体。
  18. ブート・イメージを回復する、コンピュータで実行される方法であって、
    ブート・プログラム内の使用不能なブート・コードのセクションを決定することであっ
    て、前記ブート・プログラムがメモリ媒体上に保存されていることと、
    セキュアな読み取り専用集積回路からのブート・コードのセキュア・コピーにアクセス
    することと、
    前記使用不能なブート・コードのセクションをブート・コードの前記セキュア・コピー
    で置き換えて前記メモリ媒体上の前記ブート・プログラムを修復することと、
    前記修復されたブート・プログラムを使用して前記メモリ媒体からデフォルト・オペレ
    ーティング・システムをロードすること
    を含む、コンピュータで実行される方法。
  19. 前記デフォルト・オペレーティング・システムが、前記オペレーティング・システムを
    最新バージョンに更新するためにネットワーク・ソースから更新を取得するための動作の
    所定の定義シーケンスを開始するために必要十分な機能性を含む、請求項18記載のコン
    ピュータで実行される方法。
  20. 前記使用不能なブート・コードのセクションをブート・コードの前記セキュア・コピー
    で置き換える前に前記使用不能なブート・コードのセクションに対応するブート・コード
    の冗長セクションも使用不能であると判断することと、
    ブート・コードの前記冗長セクションをブート・コードの前記セキュア・コピーで置き
    換えること
    をさらに含む、請求項18記載のコンピュータで実行される方法。
  21. ブート・イメージを回復するためのコンピュータで実行される方法であって、
    メモリ媒体上に及びされている使用不能なブート・イメージを決定することと、
    セキュアな読み取り専用集積回路からの前記ブート・イメージのセキュア・コピーにア
    クセスすることと、
    前記セキュア・コピーを使用してオペレーティング・システムをロードすること
    を含む、コンピュータで実行される方法。
  22. 前記使用不能なブート・イメージを前記セキュア・コピーで置き換えて、前記メモリ媒
    体上に保存されている前記ブート・イメージを修復すること
    をさらに含み、
    前記セキュア・コピーを使用して前記デフォルト・オペレーティング・システムをロー
    ドすることが、前記修復されたブート・イメージを使用して前記メモリ媒体から前記オペ
    レーティング・システムをロードすることを含む、請求項21記載のコンピュータで実行
    される方法。
  23. 前記オペレーティング・システムが、前記オペレーティング・システムを最新バージョ
    ンに更新するためにネットワーク・ソースから更新を取得するための動作の所定の定義シ
    ーケンスを開始するために必要十分な機能性を含むデフォルト・オペレーティング・シス
    テムである、請求項21記載のコンピュータで実行される方法。
  24. 前記使用不能なブート・イメージを前記セキュア・ブート・イメージで置き換える前に
    前記使用不能なブート・イメージに対応する冗長ブート・イメージも使用不能であると判
    断することと、
    前記冗長ブート・イメージを前記セキュア・ブート・イメージで置き換えること
    をさらに含む、請求項21記載のコンピュータで実行される方法。
JP2016061906A 2011-08-16 2016-03-25 セキュア・リカバリ装置及び方法 Active JP6198876B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/211,271 US8732527B2 (en) 2011-08-16 2011-08-16 Secure recovery apparatus and method
US13/211,271 2011-08-16

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014173491A Division JP5909264B2 (ja) 2011-08-16 2014-08-28 セキュア・リカバリ装置及び方法

Publications (2)

Publication Number Publication Date
JP2016164785A true JP2016164785A (ja) 2016-09-08
JP6198876B2 JP6198876B2 (ja) 2017-09-20

Family

ID=47713538

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2014526040A Active JP5607863B2 (ja) 2011-08-16 2012-07-26 セキュア・リカバリ装置及び方法
JP2014173491A Active JP5909264B2 (ja) 2011-08-16 2014-08-28 セキュア・リカバリ装置及び方法
JP2016061906A Active JP6198876B2 (ja) 2011-08-16 2016-03-25 セキュア・リカバリ装置及び方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2014526040A Active JP5607863B2 (ja) 2011-08-16 2012-07-26 セキュア・リカバリ装置及び方法
JP2014173491A Active JP5909264B2 (ja) 2011-08-16 2014-08-28 セキュア・リカバリ装置及び方法

Country Status (6)

Country Link
US (3) US8732527B2 (ja)
EP (2) EP2745228B1 (ja)
JP (3) JP5607863B2 (ja)
CN (2) CN107092537A (ja)
CA (1) CA2845523C (ja)
WO (1) WO2013025321A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021114173A (ja) * 2020-01-20 2021-08-05 キヤノン株式会社 情報処理装置、情報処理装置の処理方法およびプログラム

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110055841A (ko) * 2009-11-20 2011-05-26 삼성전자주식회사 시스템의 복구 방법 및 이를 지원하는 장치
US10394570B2 (en) * 2010-02-26 2019-08-27 Hp Printing Korea Co., Ltd. Method of generating boot image for fast booting and image forming apparatus for performing the method, and method of performing fast booting and image forming apparatus for performing the method
US8732527B2 (en) * 2011-08-16 2014-05-20 Google Inc. Secure recovery apparatus and method
JP2013235345A (ja) * 2012-05-07 2013-11-21 Fujitsu Ltd 起動方法、プログラム及びコンピュータ
US9207871B2 (en) * 2013-02-11 2015-12-08 Hewlett-Packard Development Company, L.P. Internal notebook microSD reader with read-only switch
US9594638B2 (en) * 2013-04-15 2017-03-14 Amazon Technologies, Inc. Host recovery using a secure store
US9619238B2 (en) 2013-04-15 2017-04-11 Amazon Technologies, Inc. Remote attestation of host devices
AU2014254276B2 (en) * 2013-04-15 2016-11-17 Amazon Technologies, Inc. Host recovery using a secure store
CN105308609B (zh) * 2013-04-23 2017-12-29 惠普发展公司,有限责任合伙企业 存储事件数据的系统和方法
CN105122261B (zh) 2013-04-23 2020-04-24 惠普发展公司,有限责任合伙企业 从遭到破坏的系统启动代码中恢复的方法以及计算装置
WO2014175867A1 (en) 2013-04-23 2014-10-30 Hewlett-Packard Development Company, L.P. Verifying controller code and system boot code
WO2014175862A1 (en) * 2013-04-23 2014-10-30 Hewlett-Packard Development Company, L.P. Redundant system boot code in a secondary non-volatile memory
US9218253B2 (en) * 2013-05-30 2015-12-22 Hewlett-Packard Development Company, L.P. Embedded restoration memory
US9329931B2 (en) * 2013-07-24 2016-05-03 Seagate Technology Llc Solid state drive emergency pre-boot application providing expanded data recovery function
JP6090057B2 (ja) * 2013-08-15 2017-03-08 富士ゼロックス株式会社 状態情報記録装置及びプログラム
US9354816B2 (en) 2014-04-08 2016-05-31 Seagate Technology Llc Read policy for system data of solid state drives
GB2527569B (en) 2014-06-26 2016-06-08 Ibm Booting a computer from a user trusted device with an operating system loader stored thereon
US9720855B2 (en) 2014-08-19 2017-08-01 Samsung Electronics Co., Ltd. Virtual device based systems with access to parts other than data storage elements through the virtual device
US9632879B2 (en) * 2014-09-22 2017-04-25 Hewlett-Packard Development Company, L.P. Disk drive repair
US9569622B2 (en) * 2014-11-20 2017-02-14 Micron Technology, Inc. Self-measuring nonvolatile memory device systems and methods
US10360051B2 (en) * 2014-12-22 2019-07-23 International Business Machines Corporation Emulated device firmware testable by native operating system tools
JP6073854B2 (ja) * 2014-12-26 2017-02-01 京セラドキュメントソリューションズ株式会社 電子機器及びファームウェア復旧プログラム
US9524158B2 (en) * 2015-02-23 2016-12-20 Apple Inc. Managing firmware updates for integrated components within mobile devices
US9575797B2 (en) * 2015-03-20 2017-02-21 International Business Machines Corporation Virtual machine migration between hypervisor virtual machines and containers
EP3291092B1 (en) * 2015-04-29 2020-01-08 Huawei Technologies Co. Ltd. Data recovery method, device and terminal
US10191811B2 (en) * 2015-08-13 2019-01-29 Quanta Computer Inc. Dual boot computer system
KR101709116B1 (ko) 2015-10-01 2017-02-22 한국전자통신연구원 가상 머신 부팅 장치 및 방법
US10025600B2 (en) * 2015-10-02 2018-07-17 Google Llc NAND-based verified boot
US20170111388A1 (en) * 2015-10-20 2017-04-20 Mcafee, Inc. Centralized and Automated Recovery
CN105279046A (zh) * 2015-11-04 2016-01-27 研华科技(中国)有限公司 一种提高嵌入式系统可靠性的方法
CN105426750A (zh) * 2015-12-03 2016-03-23 致象尔微电子科技(上海)有限公司 一种嵌入式系统的启动方法及嵌入式装置
US10586048B2 (en) * 2016-06-23 2020-03-10 Vmware, Inc. Efficient reboot of an operating system
KR101968382B1 (ko) * 2016-07-14 2019-04-11 경희대학교 산학협력단 Tpm 기반의 사용자 장치 및 이를 이용한 부팅 방법
JP6740789B2 (ja) * 2016-08-03 2020-08-19 富士通株式会社 ストレージ制御装置および記憶装置管理プログラム
US10133637B2 (en) * 2016-08-04 2018-11-20 Dell Products L.P. Systems and methods for secure recovery of host system code
TWI615024B (zh) * 2017-03-10 2018-02-11 晶睿通訊股份有限公司 影像回補方法及其影音管理伺服器
CN110192191B (zh) * 2017-03-21 2023-06-20 惠普发展公司,有限责任合伙企业 操作系统取回
US10997296B2 (en) * 2017-03-22 2021-05-04 Oracle International Corporation System and method for restoration of a trusted system firmware state
US10754765B2 (en) * 2017-05-17 2020-08-25 Google Llc Operating system validation
KR101920866B1 (ko) * 2017-05-18 2018-11-21 김덕우 독립된 복원영역을 갖는 보조기억장치
US10540501B2 (en) * 2017-06-02 2020-01-21 Dell Products, L.P. Recovering an information handling system from a secure boot authentication failure
CN107391304B (zh) * 2017-07-26 2020-06-16 四川秘无痕科技有限责任公司 一种获取日立硬盘可用nv-ram的方法
JP6942601B2 (ja) * 2017-10-18 2021-09-29 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
JP6898527B2 (ja) * 2017-11-28 2021-07-07 ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. 電子装置を介したオペレーティングシステムの修復
US10664351B2 (en) * 2017-12-12 2020-05-26 Google Llc Automated recovery of unstable mobile devices
KR102552463B1 (ko) 2018-04-20 2023-07-06 삼성전자 주식회사 어플리케이션 프로세서, 시스템 온 칩 및 장치의 부팅 방법
US10984107B2 (en) * 2018-04-24 2021-04-20 Mellanox Technologies, Ltd. Secure boot
CN110874183A (zh) * 2018-08-31 2020-03-10 深圳市安信达存储技术有限公司 一种可销毁和恢复数据的固态硬盘及方法
JP7152920B2 (ja) * 2018-09-28 2022-10-13 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム
US11100228B2 (en) * 2018-10-25 2021-08-24 Dell Products, L.P. System and method to recover FPGA firmware over a sideband interface
KR20200089482A (ko) 2019-01-17 2020-07-27 주식회사 엘지화학 메모리, 상기 메모리의 에러 복구 방법, 및 상기 메모리를 포함하는 배터리 장치
US11418335B2 (en) 2019-02-01 2022-08-16 Hewlett-Packard Development Company, L.P. Security credential derivation
WO2020167283A1 (en) 2019-02-11 2020-08-20 Hewlett-Packard Development Company, L.P. Recovery from corruption
US11423152B2 (en) * 2019-06-11 2022-08-23 Facebook Technologies, Llc Randomized clock cycle lengths for boot sequences
JP7320415B2 (ja) 2019-09-13 2023-08-03 東芝テック株式会社 処理装置及び起動方法
CN111414612B (zh) * 2020-06-05 2020-10-16 腾讯科技(深圳)有限公司 操作系统镜像的安全保护方法、装置及电子设备
US11734018B2 (en) * 2020-07-17 2023-08-22 Western Digital Technologies, Inc. Parallel boot execution of memory devices
JP2022077803A (ja) * 2020-11-12 2022-05-24 株式会社オートネットワーク技術研究所 車載ecu、プログラム及び情報処理方法
IT202000028874A1 (it) * 2020-11-27 2022-05-27 F&F S R L Metodo, sistema, dispositivo e uso anti-ransomware di restore and data protection per endpoint
US11741232B2 (en) 2021-02-01 2023-08-29 Mellanox Technologies, Ltd. Secure in-service firmware update
EP4075266A1 (de) 2021-04-12 2022-10-19 Elektrobit Automotive GmbH Verfahren, computerprogramm und vorrichtung zum durchführen eines bootvorgangs eines systems
US20220398320A1 (en) * 2021-06-14 2022-12-15 Dell Products, L.P. Data sharing system and method for a multi-boot baseboard management controller (bmc)
US11954333B2 (en) * 2021-06-23 2024-04-09 Western Digital Technologies, Inc. Secured firmware with anti-malware
CN115904820B (zh) * 2023-02-21 2023-06-16 合肥康芯威存储技术有限公司 一种失效硬盘的恢复方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006527423A (ja) * 2003-05-06 2006-11-30 聯想(北京)有限公司 コンピュータオペレーションシステムの修復方法
JP2006323814A (ja) * 2005-01-07 2006-11-30 Microsoft Corp 信頼できる処理モジュールを有するコンピュータを安全にブートするためのシステムおよび方法
JP2009104443A (ja) * 2007-10-24 2009-05-14 Nec Corp Osの起動方法
JP2010515966A (ja) * 2007-01-07 2010-05-13 アップル インコーポレイテッド コンピューティング・デバイスの安全なブート
JP2011053984A (ja) * 2009-09-02 2011-03-17 Fuji Electric Holdings Co Ltd ファームウェア保護装置、そのプログラム

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625754B1 (en) * 2000-03-16 2003-09-23 International Business Machines Corporation Automatic recovery of a corrupted boot image in a data processing system
US6665813B1 (en) * 2000-08-03 2003-12-16 International Business Machines Corporation Method and apparatus for updateable flash memory design and recovery with minimal redundancy
US7069431B2 (en) * 2001-07-31 2006-06-27 Lenovo ( Singapore) Pte Ltd. Recovery of a BIOS image
US6934873B2 (en) * 2002-02-28 2005-08-23 Dell Products L.P. Automatic BIOS recovery in a multi-node computer system
US6715085B2 (en) * 2002-04-18 2004-03-30 International Business Machines Corporation Initializing, maintaining, updating and recovering secure operation within an integrated system employing a data access control function
US7328340B2 (en) * 2003-06-27 2008-02-05 Intel Corporation Methods and apparatus to provide secure firmware storage and service access
US7590837B2 (en) * 2003-08-23 2009-09-15 Softex Incorporated Electronic device security and tracking system and method
US20050081090A1 (en) * 2003-09-29 2005-04-14 Giga-Byte Technology Co., Ltd. Method for automatically and safely recovering BIOS memory circuit in memory device including double BIOS memory circuits
US7809836B2 (en) * 2004-04-07 2010-10-05 Intel Corporation System and method for automating bios firmware image recovery using a non-host processor and platform policy to select a donor system
CN100462946C (zh) * 2004-07-07 2009-02-18 鸿富锦精密工业(深圳)有限公司 Bios在线烧录系统
WO2007076627A1 (en) * 2005-12-30 2007-07-12 Intel Corporation System backup and recovery solution based on bios
JP4829618B2 (ja) * 2006-01-16 2011-12-07 Okiセミコンダクタ株式会社 マイクロコンピュータ
EP2124151B1 (en) * 2006-12-18 2012-06-27 International Business Machines Corporation Information processing system and method for starting/recovering the system
US7900036B2 (en) * 2006-12-18 2011-03-01 International Business Machines Corporation System and method for implementing boot/recovery on a data processing sysem
US8291480B2 (en) * 2007-01-07 2012-10-16 Apple Inc. Trusting an unverified code image in a computing device
CN101500330A (zh) * 2008-02-02 2009-08-05 德信智能手机技术(北京)有限公司 一种快速安全的更新智能手机操作系统的工具
JP2010026650A (ja) * 2008-07-16 2010-02-04 Mitsubishi Electric Corp 制御装置
US7877639B2 (en) * 2008-11-06 2011-01-25 Dell Products L.P. Systems and methods to provide failover support for booting embedded hypervisor from an internal non-volatile memory card
CN101420326B (zh) * 2008-12-02 2011-02-16 华为技术有限公司 实现故障恢复和数据备份的方法、系统和装置
TW201030518A (en) * 2009-02-11 2010-08-16 Inventec Corp BIOS, computer device and BIOS recovery
CN101499027A (zh) * 2009-03-06 2009-08-05 赵晓宇 一种基于独立内核和分布式构架的智能存储系统
TWI467375B (zh) * 2009-05-21 2015-01-01 Asustek Comp Inc 具有修復毀損bios資料功能之電腦系統及其修復方法
US8712968B1 (en) * 2009-07-15 2014-04-29 Symantec Corporation Systems and methods for restoring images
US8812854B2 (en) * 2009-10-13 2014-08-19 Google Inc. Firmware verified boot
US8464038B2 (en) 2009-10-13 2013-06-11 Google Inc. Computing device with developer mode
TWI399647B (zh) * 2009-10-15 2013-06-21 Wistron Corp 回復電腦系統之基本輸出入系統之方法及相關電腦系統
US8161322B2 (en) * 2009-12-07 2012-04-17 Intel Corporation Methods and apparatus to initiate a BIOS recovery
US20120011393A1 (en) * 2010-07-06 2012-01-12 Roberts Richard B Bios recovery
US8732527B2 (en) * 2011-08-16 2014-05-20 Google Inc. Secure recovery apparatus and method
US8386763B1 (en) * 2012-01-04 2013-02-26 Google Inc. System and method for locking down a capability of a computer system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006527423A (ja) * 2003-05-06 2006-11-30 聯想(北京)有限公司 コンピュータオペレーションシステムの修復方法
JP2006323814A (ja) * 2005-01-07 2006-11-30 Microsoft Corp 信頼できる処理モジュールを有するコンピュータを安全にブートするためのシステムおよび方法
JP2010515966A (ja) * 2007-01-07 2010-05-13 アップル インコーポレイテッド コンピューティング・デバイスの安全なブート
JP2009104443A (ja) * 2007-10-24 2009-05-14 Nec Corp Osの起動方法
JP2011053984A (ja) * 2009-09-02 2011-03-17 Fuji Electric Holdings Co Ltd ファームウェア保護装置、そのプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021114173A (ja) * 2020-01-20 2021-08-05 キヤノン株式会社 情報処理装置、情報処理装置の処理方法およびプログラム
JP7374780B2 (ja) 2020-01-20 2023-11-07 キヤノン株式会社 情報処理装置および情報処理装置の制御方法

Also Published As

Publication number Publication date
EP2745228A4 (en) 2014-09-03
US8732527B2 (en) 2014-05-20
JP5909264B2 (ja) 2016-04-26
CN103858107B (zh) 2017-02-15
US20140223163A1 (en) 2014-08-07
JP6198876B2 (ja) 2017-09-20
JP2014522070A (ja) 2014-08-28
CN107092537A (zh) 2017-08-25
US9189340B2 (en) 2015-11-17
US20130047031A1 (en) 2013-02-21
JP2015008005A (ja) 2015-01-15
WO2013025321A1 (en) 2013-02-21
US9836606B2 (en) 2017-12-05
US20160063253A1 (en) 2016-03-03
EP2745228A1 (en) 2014-06-25
CA2845523C (en) 2015-02-17
EP2745228B1 (en) 2016-09-14
EP3093765A1 (en) 2016-11-16
CN103858107A (zh) 2014-06-11
JP5607863B2 (ja) 2014-10-15
CA2845523A1 (en) 2013-02-21

Similar Documents

Publication Publication Date Title
JP6198876B2 (ja) セキュア・リカバリ装置及び方法
US9858066B2 (en) Updating firmware of a hardware component
CN103718165B (zh) Bios闪存攻击保护和通知
US9785596B2 (en) Redundant system boot code in a secondary non-volatile memory
US7765393B1 (en) Method and system of embedding a boot loader as system firmware
US9852298B2 (en) Configuring a system
TWI514408B (zh) 於裝置開機期間處置來自非揮發性記憶體之錯誤
US9703635B2 (en) Method, computer program, and computer for restoring set of variables
TW201715395A (zh) 基板管理控制器的回復方法及基板管理控制器
WO2014175861A1 (en) Recovering from compromised system boot code
TWI754221B (zh) 軟體存留性關閉技術

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170704

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170822

R150 Certificate of patent or registration of utility model

Ref document number: 6198876

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250