Unified broadcast encryption system
US-9729316-B2 · Aug 8, 2017 · US
US10262141B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10262141-B2 |
| Application number | US-201615395809-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 30, 2016 |
| Priority date | Dec 4, 2009 |
| Publication date | Apr 16, 2019 |
| Grant date | Apr 16, 2019 |
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.
A computing device includes a secure storage hardware to store a secret value and processing hardware comprising at least one of a cache or a memory. During a secure boot process the processing hardware loads untrusted data into at least one of the cache or the memory of the processing hardware, the untrusted data comprising an encrypted data segment and a validator, retrieves the secret value from the secure storage hardware, derives an initial key based at least in part on an identifier associated with the encrypted data segment and the secret value, verifies, using the validator, whether the encrypted data segment has been modified, and decrypts the encrypted data segment using a first decryption key derived from the initial key to produce a decrypted data segment responsive to verifying that the encrypted data segment has not been modified.
Opening claim text (preview).
What is claimed is: 1. A secure processor comprising: a secure non-volatile storage to store a secret value; a cache; and a cryptographic hardware component operatively coupled to the secure non-volatile storage and the cache, wherein the cryptographic hardware component protects against leakage of sensitive data and against differential power analysis by performing the following for the sensitive data received from an unsecure memory, wherein the sensitive data comprises an encrypted data segment and a validator: derives an initial key based at least in part on an identifier associated with the encrypted data segment and the secret value, wherein the initial key is derived using a path through a key tree that is based at least in part on the identifier and on the secret value; verifies, using the validator, whether the encrypted data segment has been modified without re-using the secret value; derives a first decryption key from the initial key; responsive to verifying that the encrypted data segment has not been modified, decrypts the encrypted data segment using the first decryption key to produce a decrypted data segment; applies an entropy distribution operation to the first decryption key to derive a second decryption key; and decrypts an additional encrypted data segment of the sensitive data with the second decryption key. 2. The secure processor of claim 1 , further comprising: a central processing unit (CPU) operatively coupled to the secure non-volatile storage and the cache, wherein the CPU is to process the decrypted data segment. 3. The secure processor of claim 1 , wherein the path through the key tree identifies a plurality of entropy distribution operations used to derive the initial key. 4. The secure processor of claim 3 , wherein the cryptographic hardware component is further to: divide the identifier into a plurality of parts, where each of the plurality of parts determines a leg of the path, and where each leg of the path is associated with a particular entropy distribution operation of the plurality of entropy distribution operations. 5. The secure processor of claim 1 , wherein the encrypted data segment comprises at least one of software or firmware, and wherein the cryptographic hardware component is further to: determine a minimum acceptable version number for the software or firmware; and verify that the software or firmware has a version number that is equal to or greater than the minimum acceptable version number. 6. The secure processor of claim 1 , wherein the sensitive data comprises a plurality of encrypted data segments. 7. The secure processor of claim 1 , wherein the sensitive data comprises a plurality of encrypted data segments, and wherein the cryptographic hardware component is further to: receive and decrypt the plurality of encrypted data segments using hash chaining operations comprising: decrypting a first encrypted data segment of the plurality of encrypted data segments to produce a first plaintext segment comprising a first decrypted data segment and a first hash value; validating a second encrypted data segment of the plurality of encrypted data segments using the first hash value; and responsive to validating the second encrypted data segment, decrypting the second encrypted data segment to produce a second plaintext segment comprising a second decrypted data segment and a second hash value. 8. The secure processor of claim 1 , wherein to verify that the encrypted data segment has not been modified the cryptographic hardware component is to: compute a hash of the encrypted data segment; generate an expected validator based on performing a plurality of entropy distribution operations on the initial key using a key tree, wherein the hash indicates a path through the key tree, the path identifying the plurality of entropy distribution operations; and compare the expected validator to the validator. 9. The secure processor of claim 1 , wherein the sensitive data comprises a plurality of encrypted data segments, and wherein hash chaining operations are performed to decrypt the plurality of encrypted data segments, the hash chaining operations comprising: cryptographically transforming a first encrypted data segment of the plurality of encrypted data segments to produce a first derived value; comparing the first derived value with a first expected value; responsive to determining that the first derived value matches the first expected value, decrypting the first derived value using the first decryption key to produce a first decrypted data segment and a second derived value; comparing the second derived value with a second expected value; and responsive to determining that the second derived value matches the second expected value, decrypting the second derived value using a second decryption key derived from the initial key to produce a second decrypted data segment. 10. The secure processor of claim 1 , wherein the unsecure memory comprises a flash memory or a random access memory. 11. A system on a chip (SoC), comprising: a secure non-volatile memory that stores a secret value; a volatile memory; a processor operatively coupled to the secure non-volatile memory and the volatile memory; and a cryptographic hardware component operatively coupled to the secure non-volatile memory and the volatile memory, wherein the cryptographic hardware component protects against leakage of sensitive data and against differential power analysis by performing the following for the sensitive data received from an unsecure memory, wherein the sensitive data comprises an encrypted data segment of a sensitive message and a validator: derives an initial key based at least in part on an identifier associated with the encrypted data segment and the secret value, wherein the initial key is derived using a path through a key tree that is based at least in part on the identifier and on the secret value; verifies, using the validator, whether the encrypted data segment has been modified without re-using the secret value; derives a first decryption key from the initial key; responsive to verifying that the encrypted data segment has not been modified, decrypts the encrypted data segment using the first decryption key to produce a decrypted data segment; applies an entropy distribution operation to the first decryption key to derive a second decryption key; and decrypts an additional encrypted data segment of the sensitive data with the second decryption key.
with measures against power attack · CPC title
Providing cryptographic facilities or services · CPC title
Secret sharing or secret splitting, e.g. threshold schemes · CPC title
Configuring for program initiating, e.g. using registry, configuration files · CPC title
Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.