Partitioning access to system resources
US-2016182238-A1 · Jun 23, 2016 · US
US2020202002A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2020202002-A1 |
| Application number | US-201716481879-A |
| Country | US |
| Kind code | A1 |
| Filing date | Sep 18, 2017 |
| Priority date | Sep 18, 2017 |
| Publication date | Jun 25, 2020 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
Secure boot · CPC title
Assessing vulnerabilities and evaluating computer system security · CPC title
against software analysis or reverse engineering, e.g. by obfuscation · CPC title
Secure firmware programming, e.g. of basic input output system [BIOS] · CPC title
Test or assess software · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.