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

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

Info

Publication number
JP5909264B2
JP5909264B2 JP2014173491A JP2014173491A JP5909264B2 JP 5909264 B2 JP5909264 B2 JP 5909264B2 JP 2014173491 A JP2014173491 A JP 2014173491A JP 2014173491 A JP2014173491 A JP 2014173491A JP 5909264 B2 JP5909264 B2 JP 5909264B2
Authority
JP
Japan
Prior art keywords
boot
boot code
computing device
secure
level
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.)
Active
Application number
JP2014173491A
Other languages
English (en)
Other versions
JP2015008005A (ja
Inventor
タボネ,ライアン
スパングラー,ランドール,アール.
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 JP2015008005A publication Critical patent/JP2015008005A/ja
Application granted granted Critical
Publication of JP5909264B2 publication Critical patent/JP5909264B2/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

Description

主題技術は、一般に、コンピュータ・リカバリ・システム及び方法、すなわち、オペレーティング・システムまたはファームウェアを回復することに関する。
一部のコンピュータ(たとえば、ノートブック)は、リカバリ・モードをサポートしており、このモードは、コンピュータの書き換え可能なオペレーティング・システムあるいはファームウェアまたはその両方が破損した状態または破壊された状態になったときにそのコンピュータを良好な状態に復元することができる。一般に、ユーザは、コンピュータの立ち上げ(boot-up)時にキーストロークを介してリカバリ・モードを開始する。場合によっては、そのファームウェアあるいはオペレーティング・システムまたはその両方に問題があると判断した場合に、ノートブックが独自にリカバリ・モードを開始することができる。上記の解決策は主流の手法であったが、それにもかかわらず、ユーザは別個のリカバリ・デバイスを必要としている。ユーザは、リカバリ・デバイス(SDカードまたはUSBスティック)を持っていない場合、第2のコンピュータ上でインストーラをダウンロードし実行することにより、リカバリ・デバイスを作成しなければならない。リカバリ・デバイスを挿入した後、システムはリカバリ・デバイスからブートし、それ自体を修復しようと試みる。古いリカバリ・デバイスを持っている場合、ユーザは、まず手動でそれを更新しなければならない。
主題技術は、セキュアな場所からブート・イメージ(boot image)をロードするための装置、システム、及び方法を提供する。
一態様の装置は、プロセッサと、少なくとも1つのセキュア・ブート・イメージを保存するためのセキュアな読み取り専用の場所と、コンピューティング・デバイスのブート・サイクルを開始するための開始及びリカバリ命令を含んだメモリとを含むコンピューティング・デバイスである。開始及びリカバリ命令が、プロセッサによって実行されたときに、ブート・イメージのロードを開始することであって、ブート・イメージが複数のブート・コードのレベルを含むことと、ブート・サイクル中に、複数のブート・コードのレベルのそれぞれが使用可能であるか使用不能であるかを判断することと、それぞれのブート・コードのレベルが使用不能であると判断したことに応じて、ブート・サイクルを停止し、セキュアな読み取り専用の場所から対応するセキュアなブート・コードのレベルをロードし、それぞれのブート・コードのレベルをセキュアなブート・コードのレベルで置き換え、最後に把握された、使用可能と判断されたブート・コードのレベルでブート・サイクルを再開することをコンピューティング・デバイスに実現させる。その他の諸態様は、対応するシステム、装置、及びコンピュータ・プログラム・プロダクトを含む。
前述の装置及びその他の諸態様は、以下の特徴のうちの1つまたは複数を含むことができる。たとえば、命令が、プロセッサによって実行されたときに、ブート・サイクルを停止する前に、それぞれの冗長なブート・コードのレベルをロードし、冗長なブート・コードのレベルが使用不能であると判断することであって、対応するセキュアなブート・コードのレベルは、冗長なブート・コードのレベルが使用不能であると判断することに応じてロードされることをさらに実現することができる。
前述の装置及びその他の諸態様は、以下の特徴のうちの1つまたは複数を含むことができる。たとえば、複数のブート・コードのレベルのそれぞれがブート・コードのコア・トラステッド部分(core trusted piece)から上に検証されることができる。複数のブート・コードのレベルのそれぞれが使用可能であるか使用不能であるかを判断することは、暗号鍵を使用して複数のブート・コードのレベルのそれぞれをチェックすることを含むことができる。命令が、プロセッサによって実行されたときに、セキュアなブート・コードのレベルを検証することをさらに実現することができる。セキュアな読み取り専用の場所が、コンピューティング・デバイスに関連するシステム制御ボード上に位置する集積回路チップを含むことができる。セキュアな読み取り専用の場所が、コンピューティング・デバイスに関連する記憶デバイスの隠しパーティションを含み、隠しパーティションがコンピューティング・デバイスのオペレーティング・システムから隠されていることができる。セキュアな読み取り専用の場所が、コンピューティング・デバイスに関連するソリッドステート・ドライブのホスト保護エリアを含むことができる。セキュアなブート・コードのレベルが、ユーザが開始したキーストロークに応答してロードされることができる。命令が、プロセッサによって実行されたときに、ネットワーク・アクセシビリティを含むデフォルト状態にオペレーティング・システムを復元することと、コンピューティング・デバイスのオペレーティング・システムをリモート・ネットワーク・ソースから最新バージョンに更新することをさらに実現することができる。
他の態様のコンピュータで実行される方法は、コンピューティング・デバイス上のオペレーティング・システムをロードするためにブート・サイクルを開始することと、ブート・サイクル中に、第1のブート・コードのレベルを検証することと、ブート・サイクル中に、コンピューティング・デバイスによって、第2のブート・コードのレベルが使用不能であると判断することと、第2のブート・コードのレベルが使用不能であると判断されたことに応じて、ブート・サイクルを停止し、セキュアな読み取り専用の場所からセキュアなブート・コードのレベルを取得することと、ブート・サイクルを修復するために、第2のブート・コードのレベルをセキュアなブート・コードのレベルで置き換えることと、検証された第1のブート・コードのレベルの最後でブート・サイクルを再開することとを含む。その他の諸態様は、コンピュータで実行される方法の実現のための対応するシステム、装置、及びコンピュータ・プログラム・プロダクトを含む。
前述の方法及びその他の諸態様は、以下の特徴のうちの1つまたは複数を含むことができる。この方法は、使用不能な第2のブート・コードのレベルをセキュアなブート・コードのレベルで置き換える前に、使用不能な第2のブート・コードのレベルに対応する冗長なブート・コードのレベルも使用不能であると判断することをさらに含むことができる。この方法は、修復されたブート・サイクルを用いてコンピューティング・デバイスに関連するメモリ媒体からデフォルト・オペレーティング・システムをロードすることをさらに含むことができる。
この方法は、それぞれのブート・コードのレベルをブート・コードのコア・トラステッド部分から上に検証することをさらに含むことができる。この方法は、暗号鍵を使用してそれぞれのブート・コードのレベルの検証を実行することをさらに含むことができる。セキュアな読み取り専用の場所が、コンピューティング・デバイスに関連するシステム制御ボード上に位置する集積回路チップを含むことができる。セキュアな読み取り専用の場所が、コンピューティング・デバイスに関連する記憶デバイスの隠しパーティションを含み、隠しパーティションがコンピューティング・デバイスのオペレーティング・システムから隠されていることができる。セキュアな読み取り専用の場所が、コンピューティング・デバイスに関連するソリッドステート・ドライブのホスト保護エリアを含むことができる。セキュアなブート・コードのレベルが、ユーザが開始したキーストロークに応答して置き換えられることができる。
他の態様の機械可読媒体は、機械で実行可能な命令が保存されている非一時的な機械可読媒体であって、命令が、機械またはコンピュータによって実行されたときに、コンピューティング・デバイスのメモリ媒体からブート・サイクルの実行を開始することであって、ブート・サイクルが複数のブート・コードのレベルを含むことと、ブート・サイクル中に、複数のブート・コードのレベルのそれぞれが使用可能であるか使用不能であるかを判断することと、それぞれのブート・コードのレベルが使用不能であると判断したことに応じて、ブート・サイクルを停止し、コンピューティング・デバイスのセキュアな読み取り専用の場所から対応するセキュアなブート・コードのレベルをロードし、複数のブート・コードのレベルのそれぞれをセキュアなブート・コードのレベルで置き換え、最後に把握された、使用可能と判断されたブート・コードのレベルでブート・サイクルを再開することとを含む方法を機械またはコンピュータに実現させる。その他の諸態様は、コンピュータで実行される方法の実現のための対応するシステム、装置、及びコンピュータ・プログラム・プロダクトを含む。
主題技術の様々な構成が例示として示され記載されている以下の詳細な説明から主題技術のその他の構成が当業者にとって容易に明らかになることは言うまでもない。認識されるように、主題技術はその他の種々の構成が可能であり、そのいくつかの詳細は、いずれも主題技術の範囲を逸脱せずに、様々なその他の点で変更可能である。したがって、図面及び詳細な説明は、限定的なものとしてではなく、本質的に例示的なものと見なすべきである。
添付図面に関連して詳細な説明を行う。
主題技術の一態様により、ファームウェア及びセキュアなメモリ場所を含む、ブート・イメージをロードするための装置及びシステムの典型的な図である。 主題技術の一態様により、ネットワークによってオペレーティング・システムを復元するための装置及びシステムの典型的な図である。 主題技術の一態様により、セキュアな場所からブート・イメージをロードするための典型的なプロセスを示すフローチャートである。 主題技術の一態様により、プロセッサ及びその他の内部コンポーネントを含み、セキュアな場所からブート・イメージをロードするための典型的なサーバ・システムを示す図である。
現代のコンピュータは、様々なバックアップ及びリカバリ・メカニズムを含んでいる可能性がある。データ破損(たとえば、悪意のあるソフトウェアまたはハードウェア障害の結果として発生する)により、ブート可能なハード・ドライブまたはその他の記憶メカニズム上のファームウェアのイメージまたはオペレーティング・システムを置換または修復することが望ましい場合がある。しかし、リカバリ・イメージを使用してそのイメージを復元することは、難しいプロセスではない場合でも複雑なプロセスである可能性があり、リカバリ・イメージ自体もデータ破損の影響を受けている可能性がある。したがって、破損したイメージを回復することは、必然的に、相当な費用でコンピュータ技術者による介入を必要とする可能性がある。主題技術は、他のすべてのものが故障したときにユーザが頼ることができるセキュアなデータ・バンクを提供し、ユーザまたはコンピュータ技術者による介入の必要性を軽減する。
図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あるいはセキュア・コピー108またはその両方にアクセスして、コードのその部分を修復し、次に、最後に把握された検証可能なレベルでブート・サイクルを再開するように動作可能である。たとえば、ファームウェア・レベルで(ECから読み取り専用ないし書き換え可能に)障害が発生している場合、プロセスは次のファームウェア・レベルで再始動することができる。しかし、カーネルが故障した場合、ファームウェア・レベルの終わりでブート検証プロセスを再始動することができる。リカバリ・プロセス中に、たとえば、ハード・ドライブのリカバリ・パーティション上に保存された冗長ブート・コードも使用不能であることが判明した場合、システムは(自動的にまたはユーザ開始のキーストロークまたはスイッチを受けて)セキュア・イメージ108の関連部分をセキュアな場所107からハード・ドライブ104などへコピーし、使用不能な冗長ブート・コードを置換することができる。冗長ブート・コードは、暗号鍵を使用して、セキュア・イメージが正しくコピーされたことあるいはいかなるハードウェア・エラーも存在しないことまたはその両方を検証することにより、さらにチェックすることができる。
前述のように、セキュアな場所107は、取り外し不能なチップ、たとえば、eMMC、EEPROM、NANDフラッシュなどを含むことができる。代わって、セキュア・リカバリ・イメージは、オペレーティング・システムから隠された、ソリッドステート・ドライブのホストで保護されたエリア内に保存することができる。たとえば、セキュア・リカバリ・イメージ108は、そのドライブのeMMCの書き込み禁止パーティション上に保存することができる。他の態様では、セキュア・リカバリ・イメージ108は、セキュア・デジタル(SD)またはマイクロSDカード上に保存することができる。システム100のコンピュータ実現例は、デバイス内に、たとえば、電池室内に、隠しスロットを含むことができる。リカバリ・イメージは、それをコンピュータから取り外し、別個のコンピュータ上でそれをプログラミングすることにより(またはデバイス自体の通常の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で、システム100は、それぞれのサイクルがメモリ媒体から1つのブート・コードのレベルをロードする、ブート・サイクルのシーケンスを開始する。ステップ302で、システム100は、1つのブート・サイクルに関するブート・コードをロードして実行しようと試み、ステップ303で、そのブート・コードが使用可能であるかどうかを判断する。一態様では、そのコードがデバイスをブートするために使用可能であるかどうかを判断するために、そのコードの検証を実行することができる。他の態様では、その判断は、ブート・サイクルが完全に実行されなかったこと、故障していたかまたはエラーを発生したこと、破損していたことなどの検証から得られる可能性がある。
ブート・コードが使用可能である場合、それは実行される。そうではない場合、任意選択のステップ304で、検証によりブート・イメージが使用不能であると判断されたときに、システム100はブート・コードの冗長コピーをロードしようと試みる。前述のように、このコピーはハード・ドライブ104またはその他のメモリ媒体上の隠しパーティションからロードすることができる。いくつかの態様では、冗長コピーを含む、ブート・コードの1つまたは複数のサイクルは、ファームウェア、たとえば、読み取り/書き込みファームウェアからロードすることができる。システム100がブート・コードの冗長コピーをロードしようと試みる場合、ステップ305で、システム100は、冗長コピーも使用不能であるかどうかについて判断を行う。冗長ブート・コードが使用可能である場合、それは実行され、プロセスは終了する。そうではない場合、ステップ306で、元のブート・イメージと冗長ブート・イメージの両方が使用不能であると判断されたときに、システム100はセキュアな場所からブート・コードのセキュア・コピーをロードしようと試みる。いくつかの態様では、セキュア・イメージをロードするために使用されるセキュアな場所はメモリ媒体に関連付けられていない。この目的のために、冗長コピーがハード・ドライブまたはメモリ・スティックなどの1つのメモリ媒体上に保存されている場合、そのセキュアな場所は、たとえば、集積回路内に読み取り専用ファームウェアとして実現することができる。
図4は、主題技術の一態様により、プロセッサ及びその他の内部コンポーネントを含み、セキュアな場所からブート・イメージをロードするための模範的なサーバ・システムを示す図である。いくつかの態様では、コンピュータ化されたデバイス400(たとえば、コンピュータ・システム100など)は、プロセッサ401、システム・バス402、読み取り専用メモリ403、システム・メモリ404、ネットワーク・インターフェース405、入出力インターフェース406などのいくつかの内部コンポーネントを含む。一態様では、プロセッサ401は、入出力インターフェース406を介して記憶媒体407(たとえば、ハード・ドライブ、データベース、またはデータ・クラウド)と連絡している可能性もある。いくつかの態様では、デバイス400のこれらの要素のすべてを単一のデバイスに統合することができる。その他の態様では、これらの要素を別個のコンポーネントとして構成することができる。
プロセッサ401は、本明細書に記載された動作及び機能を実行するためのコードまたは命令を実行し、要求フロー及びアドレス・マッピングを管理し、計算を実行してコマンドを生成するように構成することができる。プロセッサ401は、サーバ400内のコンポーネントの動作をモニターし制御するように構成される。このプロセッサは、汎用マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、プログラム可能論理デバイス(PLD)、コントローラ、状態機械、ゲーテッド・ロジック、個別ハードウェア部品、または上記のものの組み合わせにすることができる。複数命令からなる1つまたは複数のシーケンスは、プロセッサ401内のROM上にファームウェアとして保存することができる。同様に、複数命令からなる1つまたは複数のシーケンスは、システム・メモリ405、ROM403に保存されそこから読み出されるか、記憶媒体407から(たとえば、入出力インターフェース406を介して)受信されるソフトウェアにすることができる。ROM403、システム・メモリ405、及び記憶媒体407は、そこで命令/コードがプロセッサ401によって実行可能である、機械またはコンピュータで読み取り可能な媒体の例を表している。機械またはコンピュータで読み取り可能な媒体は一般に、システム・メモリ404またはプロセッサ401内のバッファに使用されるダイナミック・メモリなどの揮発性媒体と、電子媒体、光媒体、及び磁気媒体などの不揮発性媒体の両方を含み、プロセッサ401に命令を提供するために使用される任意の媒体またはメディアを指すことができる。
いくつかの態様では、プロセッサ401は、1つまたは複数の外部装置と(たとえば、入出力インターフェース406を介して)連絡するように構成される。プロセッサ401は、システム・メモリ404あるいは記憶媒体407またはその両方に保存されたデータを読み取り、1つまたは複数の外部装置からの要求に応答して1つまたは複数の外部装置に読み取ったデータを転送するようにさらに構成される。読み取ったデータは、1つまたは複数の外部装置上に描画すべき1つまたは複数のウェブ・ページあるいはその他のソフトウェア・プレゼンテーションまたはその両方を含むことができる。1つまたは複数の外部装置は、パーソナル・コンピュータ、サーバ、ワークステーション、ラップトップ・コンピュータ、PDA、スマートフォンなどのコンピューティング・システムを含むことができる。
いくつかの態様では、システム・メモリ404は、デバイス400を管理するために使用されるデータ及び情報を一時的に保存するために使用される揮発性メモリを表している。主題技術の一態様によれば、システム・メモリ404は、ダブル・データレート(DDR)RAMなどのランダム・アクセス・メモリ(RAM)である。システム・メモリ504を実現するために、その他のタイプのRAMも使用することができる。メモリ404は、単一のRAMモジュールまたは複数のRAMモジュールを使用して実現することができる。システム・メモリ404はデバイス400の一部として描写されているが、当業者であれば、システム・メモリ404が主題技術の範囲を逸脱せずにデバイス400から分離できることを認識するであろう。代わって、システム・メモリ404は、磁気ディスク、フラッシュ・メモリ、周辺SSDなどの不揮発性メモリにすることができる。
入出力インターフェース406は、1つまたは複数の外部装置に結合し、1つまたは複数の外部装置からデータを受信し、1つまたは複数の外部装置にデータを送信するように構成することができる。入出力インターフェース406は、たとえば、バス402を介して、入出力インターフェース406をプロセッサ401に動作可能に結合するための電気接続及び物理接続の両方を含むことができる。入出力インターフェース406は、バス402に取り付けられた内部コンポーネント(たとえば、プロセッサ401)と1つまたは複数の外部装置(たとえば、ハード・ドライブ)との間でデータ、アドレス、及び制御信号を伝達するように構成される。入出力インターフェース406は、シリアルアタッチドSCSI(SAS)、ファイバ・チャネル・インターフェース、PCIエクスプレス(PCIe)、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 (21)

  1. プロセッサと、
    少なくとも1つのセキュア・ブート・イメージを保存するためのセキュアな読み取り専用の場所と、
    コンピューティング・デバイスのブート・サイクルを開始するための開始及びリカバリ命令を含んだメモリと
    を含み、
    前記開始及びリカバリ命令が、前記プロセッサによって実行されたときに、
    ブート・イメージのロードを開始することであって、前記ブート・イメージが複数のブート・コードのレベルを含むことと、
    前記ブート・サイクル中に、前記複数のブート・コードのレベルのそれぞれが使用可能であるか使用不能であるかを判断することと、
    それぞれのブート・コードのレベルが使用不能であると判断したことに応じて、前記ブート・サイクルを停止し、前記セキュアな読み取り専用の場所から対応するセキュアなブート・コードのレベルをロードし、前記それぞれのブート・コードのレベルを前記セキュアなブート・コードのレベルで置き換え、最後に把握された、使用可能と判断されたブート・コードのレベルで前記ブート・サイクルを再開することと
    を実現させる、コンピューティング・デバイス。
  2. 前記命令が、前記プロセッサによって実行されたときに、
    前記ブート・サイクルを停止する前に、それぞれの冗長なブート・コードのレベルをロードし、前記冗長なブート・コードのレベルが使用不能であると判断することであって、前記対応するセキュアなブート・コードのレベルは、前記冗長なブート・コードのレベルが使用不能であると判断することに応じてロードされること
    をさらに実現させる、請求項1記載のコンピューティング・デバイス。
  3. 前記複数のブート・コードのレベルのそれぞれがブート・コードのコア・トラステッド部分から上に検証される、請求項1記載のコンピューティング・デバイス。
  4. 前記複数のブート・コードのレベルのそれぞれが使用可能であるか使用不能であるかを判断することは、暗号鍵を使用して前記複数のブート・コードのレベルのそれぞれをチェックすることを含む、請求項1記載のコンピューティング・デバイス。
  5. 前記命令が、前記プロセッサによって実行されたときに、前記セキュアなブート・コードのレベルを検証することをさらに実現させる、請求項1記載のコンピューティング・デバイス。
  6. 前記セキュアな読み取り専用の場所が、前記コンピューティング・デバイスに関連するシステム制御ボード上に位置する集積回路チップを含む、請求項1記載のコンピューティング・デバイス。
  7. 前記セキュアな読み取り専用の場所が、前記コンピューティング・デバイスに関連する記憶デバイスの隠しパーティションを含み、前記隠しパーティションが前記コンピューティング・デバイスのオペレーティング・システムから隠されている、請求項1記載のコンピューティング・デバイス。
  8. 前記セキュアな読み取り専用の場所が、前記コンピューティング・デバイスに関連するソリッドステート・ドライブのホスト保護エリアを含む、請求項1記載のコンピューティング・デバイス。
  9. 前記セキュアなブート・コードのレベルが、ユーザが開始したキーストロークに応答してロードされる、請求項1記載のコンピューティング・デバイス。
  10. 前記命令が、前記プロセッサによって実行されたときに、
    ネットワーク・アクセシビリティを含むデフォルト状態にオペレーティング・システムを復元することと、
    前記コンピューティング・デバイスの前記オペレーティング・システムをリモート・ネットワーク・ソースから最新バージョンに更新する
    ことをさらに実現させる、請求項1記載のコンピューティング・デバイス。
  11. コンピューティング・デバイス上のオペレーティング・システムをロードするためにブート・サイクルを開始することと、
    前記ブート・サイクル中に、第1のブート・コードのレベルを検証することと、
    前記ブート・サイクル中に、前記コンピューティング・デバイスによって、第2のブート・コードのレベルが使用不能であると判断することと、
    前記第2のブート・コードのレベルが使用不能であると判断されたことに応じて、前記ブート・サイクルを停止し、セキュアな読み取り専用の場所からセキュアなブート・コードのレベルを取得することと、
    前記ブート・サイクルを修復するために、前記第2のブート・コードのレベルを前記セキュアなブート・コードのレベルで置き換えることと、
    検証された前記第1のブート・コードのレベルの最後で前記ブート・サイクルを再開すること
    を含む、コンピュータで実行される方法。
  12. 使用不能な前記第2のブート・コードのレベルを前記セキュアなブート・コードのレベルで置き換える前に、使用不能な前記第2のブート・コードのレベルに対応する冗長なブート・コードのレベルも使用不能であると判断することをさらに含む、請求項11記載のコンピュータで実行される方法。
  13. 修復された前記ブート・サイクルを用いて前記コンピューティング・デバイスに関連するメモリ媒体からデフォルト・オペレーティング・システムをロードすることをさらに含む、請求項11記載のコンピュータで実行される方法。
  14. それぞれのブート・コードのレベルをブート・コードのコア・トラステッド部分から上に検証することをさらに含む、請求項11記載のコンピュータで実行される方法。
  15. 暗号鍵を使用してそれぞれのブート・コードのレベルの検証を実行することをさらに含む、請求項11記載のコンピュータで実行される方法。
  16. 前記セキュアな読み取り専用の場所が、前記コンピューティング・デバイスに関連するシステム制御ボード上に位置する集積回路チップを含む、請求項11記載のコンピュータで実行される方法。
  17. 前記セキュアな読み取り専用の場所が、前記コンピューティング・デバイスに関連する記憶デバイスの隠しパーティションを含み、前記隠しパーティションが前記コンピューティング・デバイスのオペレーティング・システムから隠されている、請求項11記載のコンピュータで実行される方法。
  18. 前記セキュアな読み取り専用の場所が、前記コンピューティング・デバイスに関連するソリッドステート・ドライブのホスト保護エリアを含む、請求項11記載のコンピュータで実行される方法。
  19. 前記セキュアなブート・コードのレベルが、ユーザが開始したキーストロークに応答して置き換えられる、請求項11記載のコンピュータで実行される方法。
  20. 機械で実行可能な命令が保存されている非一時的な機械可読媒体であって、前記命令が、機械またはコンピュータによって実行されたときに、
    コンピューティング・デバイスのメモリ媒体からブート・サイクルの実行を開始することであって、前記ブート・サイクルが複数のブート・コードのレベルを含むことと、
    前記ブート・サイクル中に、前記複数のブート・コードのレベルのそれぞれが使用可能であるか使用不能であるかを判断することと、
    それぞれのブート・コードのレベルが使用不能であると判断したことに応じて、前記ブート・サイクルを停止し、前記コンピューティング・デバイスのセキュアな読み取り専用の場所から対応するセキュアなブート・コードのレベルをロードし、前記複数のブート・コードのレベルのそれぞれを前記セキュアなブート・コードのレベルで置き換え、最後に把握された、使用可能と判断された前記ブート・コードのレベルで前記ブート・サイクルを再開することと
    を含む方法を前記機械またはコンピュータに実現させる、機械可読媒体。
  21. 請求項11〜19のいずれかに記載の方法をコンピュータに実行させる、プログラム。
JP2014173491A 2011-08-16 2014-08-28 セキュア・リカバリ装置及び方法 Active JP5909264B2 (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
JP2014526040A Division JP5607863B2 (ja) 2011-08-16 2012-07-26 セキュア・リカバリ装置及び方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016061906A Division JP6198876B2 (ja) 2011-08-16 2016-03-25 セキュア・リカバリ装置及び方法

Publications (2)

Publication Number Publication Date
JP2015008005A JP2015008005A (ja) 2015-01-15
JP5909264B2 true JP5909264B2 (ja) 2016-04-26

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 (1)

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

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016061906A Active JP6198876B2 (ja) 2011-08-16 2016-03-25 セキュア・リカバリ装置及び方法

Country Status (6)

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

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
AU2014254276B2 (en) * 2013-04-15 2016-11-17 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
US9594638B2 (en) * 2013-04-15 2017-03-14 Amazon Technologies, Inc. Host recovery using a secure store
CN105144185B (zh) 2013-04-23 2018-06-05 惠普发展公司,有限责任合伙企业 验证控制器代码和系统启动代码
EP2989579B1 (en) * 2013-04-23 2018-06-06 Hewlett-Packard Development Company, L.P. Redundant system boot code in a secondary non-volatile memory
US9880908B2 (en) 2013-04-23 2018-01-30 Hewlett-Packard Development Company, L.P. Recovering from compromised system boot code
CN105308609B (zh) * 2013-04-23 2017-12-29 惠普发展公司,有限责任合伙企业 存储事件数据的系统和方法
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
WO2016172883A1 (zh) * 2015-04-29 2016-11-03 华为技术有限公司 数据恢复方法、装置以及终端
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 晶睿通訊股份有限公司 影像回補方法及其影音管理伺服器
US10977022B2 (en) 2017-03-21 2021-04-13 Hewlett-Packard Development Company, L.P. Operating system retrieval
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 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
CN111386518B (zh) * 2017-11-28 2023-09-19 惠普发展公司,有限责任合伙企业 经由电子设备的操作系统修复
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 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム
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 東芝テック株式会社 処理装置及び起動方法
JP7374780B2 (ja) 2020-01-20 2023-11-07 キヤノン株式会社 情報処理装置および情報処理装置の制御方法
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 合肥康芯威存储技术有限公司 一种失效硬盘的恢复方法及系统

Family Cites Families (35)

* 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
CN1277211C (zh) 2003-05-06 2006-09-27 联想(北京)有限公司 一种计算机操作系统的修复方法
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在线烧录系统
US7725703B2 (en) 2005-01-07 2010-05-25 Microsoft Corporation Systems and methods for securely booting a computer with a trusted processing module
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
US8254568B2 (en) * 2007-01-07 2012-08-28 Apple Inc. Secure booting a computing device
JP4840605B2 (ja) 2007-10-24 2011-12-21 日本電気株式会社 Osの起動方法
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
JP2011053984A (ja) * 2009-09-02 2011-03-17 Fuji Electric Holdings Co Ltd ファームウェア保護装置、そのプログラム
US8464038B2 (en) 2009-10-13 2013-06-11 Google Inc. Computing device with developer mode
US8812854B2 (en) 2009-10-13 2014-08-19 Google Inc. Firmware verified boot
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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP5909264B2 (ja) セキュア・リカバリ装置及び方法
TWI627527B (zh) 基板管理控制器的回復方法及基板管理控制器
US7765393B1 (en) Method and system of embedding a boot loader as system firmware
CN103718165B (zh) Bios闪存攻击保护和通知
TWI514408B (zh) 於裝置開機期間處置來自非揮發性記憶體之錯誤
US9292277B2 (en) Methods and devices for updating firmware of a component using a firmware update application
US9785596B2 (en) Redundant system boot code in a secondary non-volatile memory
US9852298B2 (en) Configuring a system
US20150199190A1 (en) System and method for updating firmware
US20200250313A1 (en) Bios recovery and update
US11226811B2 (en) Power safe offline download
US20230069169A1 (en) Information processing apparatus and control method of the same
TWI826287B (zh) 管理平台系統及其映像檔修復與除錯方法
JP2012216033A (ja) 情報処理装置および情報処理装置の起動方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151006

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20151022

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160106

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: 20160126

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160325

R150 Certificate of patent or registration of utility model

Ref document number: 5909264

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250