Firmware security

US2020202002A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2020202002-A1
Application numberUS-201716481879-A
CountryUS
Kind codeA1
Filing dateSep 18, 2017
Priority dateSep 18, 2017
Publication dateJun 25, 2020
Grant date

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.

Examples associated with firmware security are described. One example includes dividing a firmware image into a set of chunks. The chunks are sized to fit into memory blocks of a firmware memory of a device. Members of the set of chunks are assigned to respective memory blocks based on a first security value associated with the device. Members of the set of chunks are stored in their respective memory blocks to create a firmware content. The firmware content is obfuscated.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method, comprising: dividing a firmware image into a set of chunks sized to fit into memory blocks of a firmware memory of a device; assigning members of the set of chunks to respective memory blocks based, on a first security value associated with the device; storing the members of the set of chunks in their respective memory blocks to create a firmware content; and obfuscating the firmware content. 2 . The method of claim 1 where the first security value is a value unique to the device. 3 . The method of claim 2 , where the first security value is one of, a serial number of the device, a media access control address, a universally unique identifier (UUID) of a system processor of the device, a serial number of a subcomponent of the device, a global system for mobile communications (GSM) radio identifier, and a security processor identifier. 4 . The method of claim 1 , where the firmware content is obfuscated using a salt function. 5 . The method of claim 1 , where obfuscating the firmware content includes using a one-way hash function on a second security value to generate a bit stream, applying an XOR operation between the bit stream and the firmware content to generate an obfuscated firmware content, and storing the obfuscated firmware content in the firmware memory. 6 . A device, comprising: a firmware data store for storing firmware instructions having a first ordering, where the firmware data store is divided into a s addressable blocks, where the firmware instructions are segmented into a set of chunks, where the chunks are stored in respective blocks of the firmware memory according to an assignment scheme based on a first security value associated with the device, and where the chunks are obfuscated based on a second security value associated with the device. a de-obfuscation module to use the second security value to de-obfuscate the chunks of firmware instructions; and a firmware reconstruction module to load the firmware instructions for execution by accessing the chunks from their respective blocks in an order determined based on the first security value so that the chunks are accessed in the first ordering. 7 . The device of claim 6 where the chunks have been at least one of individually obfuscated and collectively obfuscated. 8 . The device of claim 6 , further comprising: a private memory for storing a copy of the firmware instructions; and a verification module for verify the firmware instructions loaded for execution using the copy of the firmware instructions prior to execution of the firmware instructions loaded for execution. 9 . The device of claim 8 , where the copy of the firmware instructions are stored in reordered, obfuscated chunks, where the reordering is based on a third security value, and where the obfuscation is based on a fourth security value. 10 . The device of claim 9 , where the third security value is the same as the first security value and where the fourth security value is the same as the second security value. 11 . The device of claim where the firmware data store is a member of a set of firmware data stores, each storing a respective set of firmware instructions that have been segmented into chunks that are assigned, according to respective assignment schemes, to blocks of the member of the set of firmware data stores in which the respective set of firmware in ructions is stored. 12 . The device of claim 11 , where, the respective assignment schemes are based on the first security value. 13 . The device of claim 11 , where the respective assignment schemes are based on security values associated with respective components of the device for which the member of the set of firmware provides instructions. 14 . A method, comprising: accessing an assignment scheme that maps a set of ordered chunks of a firmware image to a set of memory blocks of a firmware memory into which the ordered chunks have been stored, where the assignment scheme is based on a first security value associated with a device in which the firmware memory is embedded; loading, based on the assignment scheme, a first chunk of the firmware image to a system memory of the device; successively loading, based on the assignment scheme, subsequent chunks of the firmware image into the system memory of the device until the firmware image has been reconstructed in the system memory; and executing the firmware image. 15 . The method of claim 14 , where the firmware image is stored in the firmware memory in an obfuscated state and where the method further comprises de-obfuscating the firmware image.

Assignees

Inventors

Classifications

  • Secure boot · CPC title

  • Assessing vulnerabilities and evaluating computer system security · CPC title

  • G06F21/14Primary

    against software analysis or reverse engineering, e.g. by obfuscation · CPC title

  • G06F21/572Primary

    Secure firmware programming, e.g. of basic input output system [BIOS] · CPC title

  • Test or assess software · 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 US2020202002A1 cover?
Examples associated with firmware security are described. One example includes dividing a firmware image into a set of chunks. The chunks are sized to fit into memory blocks of a firmware memory of a device. Members of the set of chunks are assigned to respective memory blocks based on a first security value associated with the device. Members of the set of chunks are stored in their respective…
Who is the assignee on this patent?
Hewlett Packard Development Co
What technology area does this patent fall under?
Primary CPC classification G06F21/14. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jun 25 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).