IP Library › Granted Patent US 11,113,424
Granted Patent B2
US 11,113,424 · App. 16/405,454 · Granted Sep 7, 2021

Device, system and method for installing encrypted data

Inventors: Brian W. Pruss (Streamwood, IL); Ellis A. Pinder (Davie, FL); Thomas S. Messerges (Schaumburg, IL)
Assignee: MOTOROLA SOLUTIONS, INC.
G06F21/78H04L9/0822H04L9/0894H04L63/0442H04L63/062G06F21/57
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 11,113,424
App. No.
16/405,454
Filed
May 7, 2019
Granted
Sep 7, 2021
Kind
B2
Art Unit
2437
USPC
713/160
Abstract

A device, system and method for installing encrypted data are provided. A device includes a processor comprising: immutable memory storing preconfigured trust anchor data; and a module storing preconfigured non-exportable data. The processor is configured to: receive an encrypted common protection key, encrypted using a manufacturing protection key, and an encrypted distribution private key, encrypted using a common protection key; obtain the manufacturing protection key using the preconfigured trust anchor data and the preconfigured non-exportable data; decrypt the encrypted common protection key using the manufacturing protection key to obtain the common protection key; decrypt the encrypted distribution private key using the common protection key to obtain a distribution private key; receive an encrypted data package including image-at-rest data encrypted with an image-at-rest key, the encrypted data package including encryption data for obtaining the image-at-rest key using the distribution private key; and install the encrypted data package at the memory.

Claims (65)

1. A device comprising:

a communication unit;

a memory;

a processor including: an immutable memory portion storing preconfigured trust anchor data; and a module storing preconfigured non-exportable data for obtaining a manufacturing protection key using the preconfigured trust anchor data;

the processor configured to:

receive, via the communication unit: an encrypted common protection key, encrypted using the manufacturing protection key; and an encrypted distribution private key, encrypted using a common protection key corresponding to the encrypted common protection key;

obtain the manufacturing protection key using the preconfigured trust anchor data and the preconfigured non-exportable data;

decrypt the encrypted common protection key using the manufacturing protection key to obtain the common protection key;

decrypt the encrypted distribution private key using the common protection key to obtain a distribution private key;

receive, via the communication unit, an encrypted data package including image-at-rest data encrypted with an image-at-rest key, the encrypted data package including encryption data for obtaining the image-at-rest key using the distribution private key; and

install the encrypted data package at the memory.

2. The device of claim 1 , wherein the encryption data is derived using at least a distribution public key complementary to the distribution private key.

3. The device of claim 1 , wherein the processor is further configured to:

obtain the image-at-rest key using the encryption data and the distribution private key; and

store, at the memory, the image-at-rest key as a wrapped image-at-rest key.

4. The device of claim 3 , wherein the processor is further configured to install the encrypted data package at the memory by:

decrypting the image-at-rest data using the image-at-rest key obtained from the wrapped image-at-rest key; and

installing the image-at-rest data at the memory.

5. The device of claim 3 , wherein the processor is further configured to, at one or more of a boot-time and a run-time:

decrypt the image-at-rest data using the image-at-rest key obtained from the wrapped image-at-rest key; and

process the image-at-rest data.

6. The device of claim 1 , wherein the encrypted data package comprises:

a header comprising the encryption data and further encryption data for obtaining an image-distribution key using the distribution private key; and

distribution image data encrypted using the image-distribution key, the distribution image data comprising image-at-rest data encrypted using the image-at-rest key.

7. The device of claim 6 , wherein the processor is further configured to obtain the image-at-rest data by:

obtaining the image-distribution key using the further encryption data and the distribution private key;

decrypting the distribution image data using the image-distribution key to obtain the image-at-rest data as encrypted by the image-at-rest key;

obtaining the image-at-rest key using the encryption data and the distribution private key; and

decrypting the image-at-rest data using the image-at-rest key.

8. The device of claim 1 , wherein the processor is further configured to:

store the common protection key at the immutable memory portion as a wrapped common protection key; and

decrypt the encrypted distribution private key using the common protection key obtained from the wrapped common protection key.

9. The device of claim 1 , wherein the common protection key is stored as a wrapped common protection key at the immutable memory portion, and the preconfigured trust anchor data and the wrapped common protection key are stored in the immutable memory portion as fused bits.

10. The device of claim 1 , wherein the encrypted common protection key is received, via the communication unit, in a flashloader application which, when processed by the processor, causes the processor to at least:

obtain the manufacturing protection key and the common protection key; and

store the common protection key as a wrapped common protection key in the immutable memory portion.

11. A method comprising:

receiving, at a processor of a device: an encrypted common protection key, encrypted using a manufacturing protection key; and an encrypted distribution private key, encrypted using a common protection key corresponding to the encrypted common protection key;

obtaining, at the processor, the manufacturing protection key using preconfigured trust anchor data, stored at an immutable memory portion of the processor, and preconfigured non-exportable data, stored at a module of the processor;

decrypting, at the processor, the encrypted common protection key using the manufacturing protection key to obtain the common protection key;

decrypting, at the processor, the encrypted distribution private key using the common protection key to obtain a distribution private key;

receiving, at the processor, an encrypted data package including image-at-rest data encrypted with an image-at-rest key, the encrypted data package including encryption data for obtaining the image-at-rest key using the distribution private key; and

installing, using the processor, the encrypted data package at a memory of the device.

12. The method of claim 11 , wherein the encryption data is derived using at least a distribution public key complementary to the distribution private key.

13. The method of claim 11 , further comprising:

obtaining the image-at-rest key using the encryption data and the distribution private key; and

storing, at the memory, the image-at-rest key as a wrapped image-at-rest key.

14. The method of claim 13 , wherein the installing the encrypted data package at the memory comprises:

decrypting the image-at-rest data using the image-at-rest key obtained from the wrapped image-at-rest key; and

installing the image-at-rest data at the memory.

15. The method of claim 13 , further comprising, at one or more of a boot-time and a run-time:

decrypting the image-at-rest data using the image-at-rest key obtained from the wrapped image-at-rest key; and

processing the image-at-rest data.

16. The method of claim 11 , wherein the encrypted data package comprises:

a header comprising the encryption data and further encryption data for obtaining an image-distribution key using the distribution private key; and

distribution image data encrypted using the image-distribution key, the distribution image data comprising image-at-rest data encrypted using the image-at-rest key.

17. The method of claim 16 , further comprising obtaining the image-at-rest data by:

obtaining the image-distribution key using the further encryption data and the distribution private key;

decrypting the distribution image data using the image-distribution key to obtain the image-at-rest data as encrypted by the image-at-rest key;

obtaining the image-at-rest key using the encryption data and the distribution private key; and

decrypting the image-at-rest data using the image-at-rest key.

18. The method of claim 11 , further comprising:

store the common protection key at the immutable memory portion as a wrapped common protection key; and

decrypt the encrypted distribution private key using the common protection key obtained from the wrapped common protection key.

19. The method of claim 11 , wherein the common protection key is stored as a wrapped common protection key at the immutable memory portion, and the preconfigured trust anchor data and the wrapped common protection key are stored in the immutable memory portion as fused bits.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2019
From: PRUSS, BRIAN W.; PINDER, ELLIS A.; MESSERGES, THOMAS S.
To: MOTOROLA SOLUTIONS, INC.
Reel/Frame 049102/0752 →
Continuity (1)
Related Publication 20200356701A1 · Nov 12, 2020
Cited By (1)
US 12,626,214