Secure processor with resistance to external monitoring attacks

US10262141B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10262141-B2
Application numberUS-201615395809-A
CountryUS
Kind codeB2
Filing dateDec 30, 2016
Priority dateDec 4, 2009
Publication dateApr 16, 2019
Grant dateApr 16, 2019

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 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.

First claim

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.

Assignees

Inventors

Classifications

  • with measures against power attack · CPC title

  • G06F21/602Primary

    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

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 US10262141B2 cover?
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 …
Who is the assignee on this patent?
Cryptography Res Inc
What technology area does this patent fall under?
Primary CPC classification G06F21/602. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 16 2019 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).