Secure recovery apparatus and method

US9836606B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9836606-B2
Application numberUS-201514937838-A
CountryUS
Kind codeB2
Filing dateNov 10, 2015
Priority dateAug 16, 2011
Publication dateDec 5, 2017
Grant dateDec 5, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system and method is disclosed for recovering a boot image. Hardware instructions initiate a loading of a computer operating system on a computing device. During the loading of the operating system, multiple portions of boot code are verified and a determination is made whether each portion is valid. If a portion of boot code is determined to be invalid, a secure portion of the boot code is loaded to repair the invalid code and the loading of the operating system resumed.

First claim

Opening claim text (preview).

What is claimed is: 1. A computing device, comprising: one or more processors; a storage location for storing valid boot code; and a memory including instructions for initiating a boot cycle at, when executed by one or more processors, cause the computing device to: initiate loading of multiple portions of boot code; determine, during the boot cycle, whether each portion of boot code is valid; and in response to determining a respective portion of boot code is invalid, stop the boot cycle, load a corresponding valid portion of boot code from the storage location, replace the invalid portion of boot code using the valid portion of boot code, and resume the same boot cycle at a last known portion of boot code determined to be valid. 2. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, further causes the computing device to: load the multiple portions of boot code according to a predetermined sequence of loading; and determine whether each subsequent portion of boot code is valid based on performing a checksum on each of the multiple portions up from a core portion of boot code. 3. The computing device of claim 1 , wherein replacing the invalid portion of boot code using the valid portion of boot code comprises repairing the invalid portion based on the valid portion of boot code, and wherein the instructions, when executed by the one or more processors, further cause the computing device to provide the repaired portion of boot code for execution when the boot cycle is resumed. 4. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, further cause the computing device to: load, before stopping the boot cycle, a respective redundant portion of boot code; and determine that the redundant portion of boot code is invalid, wherein the corresponding valid portion of boot code is used in response to determining that the redundant level of boot code is invalid. 5. The computing device of claim 1 , wherein determining whether each portion of boot code is valid comprises verifying each portion of boot code based on a core trusted portion of boot code. 6. The computing device of claim 1 , wherein determining whether each portion of boot code is valid comprises checking each of the multiple portions of boot code using a cryptographic key. 7. The computing device of claim 1 , wherein determining whether each portion of boot code is valid comprises determining whether a portion of the boot code is corrupted. 8. The computing device of claim 1 , wherein the storage location is a secure read-only location. 9. The computing device of claim 8 , wherein the secure read-only location comprises a hidden partition or a host protected area of a storage drive associated with the computing device, or an integrated circuit chip located on a control board associated with the computing device. 10. The computing device of claim 1 , wherein the valid portion of boot code is loaded in response to a user-initiated command. 11. A computer-implemented method, comprising: initiating, by a computing device, loading of multiple portions of boot code; determining, by the computing device in connection with the loading of the multiple portions of boot code, whether each portion of boot code is valid; and in response to determining a respective portion of boot code is invalid, stop the loading of the multiple portions of boot code, load a corresponding valid portion of boot code from a storage location, replace the invalid portion of boot code using the valid portion of boot code, and resume the same loading of the multiple portions of boot code at a last known portion of boot code determined to be valid. 12. The computer-implemented method of claim 11 , wherein the method further comprises: loading the multiple portions of boot code according to a predetermined sequence of loading; and determining whether each subsequent portion of boot code is valid based on performing a checksum on each of the multiple portions up from a core portion of boot code. 13. The computer-implemented method of claim 11 , wherein replacing the invalid portion of boot code using the valid portion of boot code comprises repairing the invalid portion based on the valid portion of boot code, and wherein the method further comprises providing the repaired portion of boot code for execution when the loading is resumed. 14. The computer-implemented method of claim 11 , wherein the instructions, when executed by the processor, further cause the computing device to: load, before stopping the loading, a respective redundant portion of boot code; and determine that the redundant portion of boot code is invalid, wherein the corresponding valid portion of boot code is used in response to determining that the redundant level of boot code is invalid. 15. The computer-implemented method of claim 11 , wherein determining whether each portion of boot code is valid comprises verifying each portion of boot code based on a core trusted portion of boot code. 16. The computer-implemented method of claim 11 , wherein determining whether each portion of boot code is valid comprises checking each of the multiple portions of boot code using a cryptographic key. 17. The computer-implemented method of claim 11 , wherein determining whether each portion of boot code is valid comprises determining whether a portion of the boot code is corrupted. 18. The computer-implemented method of claim 11 , wherein the storage location is a secure read-only location. 19. The computer-implemented method of claim 11 , wherein the valid portion of boot code is loaded in response to a user-initiated command. 20. A non-transitory machine-readable medium having machine-executable instructions stored thereon, which when executed by a machine or computer cause the machine or computer to perform a method, comprising: initiating a loading of an operating system on a computing device; verifying a first portion of boot code during the loading of the operating system; determining, by the computing device during the loading of the operating system, that a second portion of boot code is invalid; in response to determining the second level of boot code is invalid, stopping the loading of the operating system and obtaining a valid portion of boot code from a secure location; replacing the second portion of boot code with the valid portion of boot code; and resuming the same loading of the operating system at the verified first portion of boot code.

Assignees

Inventors

Classifications

  • G06F21/57Primary

    Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities · CPC title

  • where the redundant component is memory or memory area · CPC title

  • Boot up procedures · CPC title

  • Processor initialisation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9836606B2 cover?
A system and method is disclosed for recovering a boot image. Hardware instructions initiate a loading of a computer operating system on a computing device. During the loading of the operating system, multiple portions of boot code are verified and a determination is made whether each portion is valid. If a portion of boot code is determined to be invalid, a secure portion of the boot code is l…
Who is the assignee on this patent?
Google Inc, Google Llc
What technology area does this patent fall under?
Primary CPC classification G06F21/57. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 05 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).