IP Library › Granted Patent US 12,169,588
Granted Patent B2
US 12,169,588 · App. 17/439,368 · Granted Dec 17, 2024

Securing external data storage for a secure element integrated on a system-on-chip

Inventors: Olivier Jean Benoit (San Diego, CA); Osman Koyuncu (San Diego, CA)
Assignee: Google LLC
G06F21/79G06F21/6209
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,169,588
App. No.
17/439,368
Granted
Dec 17, 2024
Kind
B2
Abstract

Techniques and apparatuses are described that implement the secure external data storage. A computing system may include a system-on-chip as a main processing complex and one or more secure elements that execute specialized functions related to sensitive information. While the secure element may use an external flash for storage for performance reasons, storing sensitive information on an external flash may expose the sensitive information if the external flash is ever compromised. The disclosed techniques and apparatuses provide an integrated secure element, of a system-on-chip, which leverages a secure channel with a secure flash to manage a cryptographic key for securing sensitive information stored on an unsecured external flash to prevent the exposure of sensitive information.

Claims (63)

1. A method for securing sensitive information in a flash memory of a computing system, the method comprising:

communicating, by an integrated secure element (ISE) of a system-on-chip of the computing system and over a dedicated channel between the ISE and a secure flash memory external to the system-on-chip, information for determining a shared secret key useful to enable secure communication between the ISE of the system-on-chip and the secure flash memory over the dedicated channel, the information based on a first public key and private key pair preprogrammed into the ISE and a second public key and private key pair preprogrammed into the secure flash memory;

securing, based on the shared secret key, the dedicated channel between the ISE of the system-on-chip and the secure flash memory external to the system-on-chip to establish a secure dedicated channel to provide the ISE with exclusive access to a flash cryptographic key stored by the secure flash memory external to the system-on-chip;

accessing, via the secure dedicated channel, the flash cryptographic key stored by the secure flash memory external to the system-on-chip; and

cryptographically protecting, using the flash cryptographic key obtained from the secure flash memory, sensitive information written to the flash memory of the computing system via an interface between the system-on-chip and the flash memory that is separate from the dedicated channel between the ISE and the secure flash memory, the flash memory external to the system-on-chip.

2. The method of claim 1 , wherein the sensitive information is first sensitive information written to the flash memory and the flash cryptographic key is a first flash cryptographic key, the method further comprising:

prior to writing second sensitive information to the flash memory of the computing system, obtaining a second flash cryptographic key; and

cryptographically protecting, using the second flash cryptographic key, the second sensitive information prior to writing the second sensitive information to the flash memory of the computing system.

3. The method of claim 2 , wherein obtaining the second flash cryptographic key further comprises:

generating the second flash cryptographic key prior to sharing the second flash cryptographic key with the secure flash memory; or

receiving the second flash cryptographic key after the secure flash memory generates the second flash cryptographic key.

4. The method of claim 1 , wherein cryptographically protecting the sensitive information written to the flash memory further comprises:

encrypting the sensitive information using the flash cryptographic key; and

after encrypting the sensitive information, writing the sensitive information to the flash memory of the computing system.

5. The method of claim 1 , wherein cryptographically protecting the sensitive information written to the flash memory further comprises:

reading the sensitive information from the flash memory of the computing system; and

after reading the sensitive information from the flash memory, decrypting and authenticating the sensitive information using the flash cryptographic key.

6. The method of claim 1 , wherein communicating the information for determining the shared secret key is implemented as part of an Electronic Communication Diffie-Hellman key exchange protocol.

7. The method of claim 1 , wherein accessing the flash cryptographic key further comprises obtaining other security information stored by the secure flash memory with the flash cryptographic key, the other security information comprising an anti-replay counter or time-stamp information for validating the flash cryptographic key.

8. The method of claim 1 , wherein the flash cryptographic key is a first flash cryptographic key, the method further comprising:

after encrypting the sensitive information using the first flash cryptographic key, writing the sensitive information to the flash memory;

determining a modification to the sensitive information to provide modified sensitive information;

obtaining, via the dedicated channel, a second flash cryptographic key automatically generated by the secure flash memory;

validating the second flash cryptographic key by computing a message authentication code;

responsive to validating the second flash cryptographic key, encrypting, using the second flash cryptographic key, the modified sensitive information; and

replacing, on the flash memory, the sensitive information encrypted using the first flash cryptographic key with the modified sensitive information encrypted using the second flash cryptographic key.

9. The method of claim 1 , wherein securing the dedicated channel further comprises communicating with the secure flash memory in secret to prevent another secure element of the system-on-chip that is communicating with the secure flash memory from accessing the flash cryptographic key.

10. The method of claim 1 , wherein the flash memory is not integrated into the system-on-chip and is a shared flash memory accessible to the system-on-chip and to other components of the computing system.

11. The method of claim 1 , wherein the dedicated channel between the ISE and the secure flash memory comprises an exclusive, physical link between the ISE and the secure flash memory.

12. The method of claim 1 , wherein the sensitive information comprises at least one of: cryptographic keys, network access credentials, security keys, financial data, or user data.

13. A computing system comprising:

a flash memory;

a secure flash memory; and

a system-on-chip comprising an integrated secure element (ISE) and computer-readable storage media having stored thereon instructions that, responsive to execution by a processor of the system-on-chip, direct the ISE to:

communicate, over a dedicated channel between the ISE and the secure flash memory that is external to the system-on-chip, information to determine a shared secret key useful to secure communication between the ISE and the secure flash memory over the dedicated channel, the information based on a first public key and private key pair preprogrammed into the ISE and a second public key and private key pair preprogrammed into the secure flash memory;

secure, based on the shared secret key, the dedicated channel between the ISE of the system-on-chip and the secure flash memory external to the system-on-chip to establish a secure dedicated channel to provide the ISE with exclusive access to a flash cryptographic key stored by the secure flash memory external to the system-on-chip;

access, via the secure dedicated channel, the flash cryptographic key stored by the secure flash memory external to the system-on-chip; and

use the flash cryptographic key obtained from the secure flash memory to cryptographically protect sensitive information written by the system-on-chip to the flash memory of the computing system via an interface between the system-on-chip and the flash memory that is separate from the dedicated channel between the ISE and the secure flash memory, the flash memory external to the system-on-chip.

14. The computing system of claim 13 , wherein:

the sensitive information is first sensitive information and the flash cryptographic key is a first flash cryptographic key, and

the execution of the instructions further directs the ISE to, before second sensitive information is written to the flash memory, obtain a second flash cryptographic key from the secure flash memory, and use the second flash cryptographic key to cryptographically protect the second sensitive information.

15. The computing system of claim 14 , wherein to obtain the second flash cryptographic key from the secure flash memory, the execution of the instructions further directs the ISE to:

generate the second flash cryptographic key; or

receive the second flash cryptographic key after the secure flash memory generates the second flash cryptographic key.

16. The computing system of claim 13 , wherein to use the flash cryptographic key obtained from the secure flash memory to cryptographically protect the sensitive information written to the flash memory, the execution of the instructions further directs the ISE to:

use the flash cryptographic key to encrypt the sensitive information; and

after the sensitive information is encrypted, write the sensitive information to the flash memory of the computing system.

17. The computing system of claim 13 , wherein to use the flash cryptographic key obtained from the secure flash memory to cryptographically protect the sensitive information written to the flash memory, the execution of the instructions further directs the ISE to:

read the sensitive information from the flash memory; and

use the flash cryptographic key to decrypt and authenticate the sensitive information after the sensitive information is read from the flash memory.

18. The computing system of claim 13 , wherein the communication of the information to determine the shared secret key is implemented as part of an Electronic Communication Diffie-Hellman key exchange protocol.

19. The computing system of claim 13 , wherein to access the flash cryptographic key stored by the secure flash memory, the execution of the instructions further directs the ISE to:

obtain other security information stored by the secure flash memory with the flash cryptographic key,

wherein the other security information comprises at least one of:

an anti-replay counter; or

time-stamp information for validation of the flash cryptographic key.

20. The computing system of claim 13 , wherein the flash cryptographic key is a first flash cryptographic key, and the execution of the instructions further directs the ISE to:

use the first flash cryptographic key to write the sensitive information to the flash memory after encryption of the sensitive information;

determine a modification to the sensitive information to provide modified sensitive information;

obtain, via the dedicated channel, a second flash cryptographic key automatically generated by the secure flash memory;

compute a message authentication code to validate the second flash cryptographic key;

responsive to the validation of the second flash cryptographic key, use the second flash cryptographic key to encrypt the modified sensitive information; and

replace, on the flash memory, the sensitive information encrypted with the first flash cryptographic key with the modified sensitive information encrypted with the second flash cryptographic key.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2021
From: BENOIT, OLIVIER JEAN; KOYUNCU, OSMAN
To: GOOGLE LLC
Reel/Frame 057482/0062 →
Continuity (1)
Related Publication 20220156411A1 · May 19, 2022