IP Library › Granted Patent US 10,819,507
Granted Patent B2
US 10,819,507 · App. 15/856,609 · Granted Oct 27, 2020

Secure key sharing between a sensor and a computing platform using symmetric key cryptography

Inventor: Prashant Dewan (Portland, OR)
Assignee: Intel Corporation
H04L9/0819G06F21/602G06F21/85H04L9/0822H04L9/0825H04L9/0861H04L9/0897H04L63/0435H04L63/0861H04L2209/805
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 10,819,507
App. No.
15/856,609
Granted
Oct 27, 2020
Kind
B2
Abstract

Technologies disclosed herein provide an apparatus comprising a sensor including a first processor configured to execute first instructions to identify, based on an index, a first encrypted key of a first set of encrypted keys, identify, based on the index, a second encrypted key of a second set of encrypted keys, and extract a first trusted symmetric key from the first encrypted key using a first decryption algorithm and a first decryption key. The apparatus further comprises a computing platform coupled to the sensor and including a memory element and a processor configured to execute second instructions stored in the memory element to receive the second encrypted key from the sensor and extract a second trusted symmetric key from the second encrypted key using a second decryption algorithm and a second decryption key, where the first trusted symmetric key matches the second trusted symmetric key.

Claims (82)

1. An apparatus, comprising:

a computing platform; and

a sensor coupled to the computing platform and including a first processor configured to execute first instructions to:

identify, based on an index, a first encrypted key of a first set of encrypted keys;

identify, based on the index, a second encrypted key of a second set of encrypted keys stored in the sensor;

extract a first trusted symmetric key from the first encrypted key using a first decryption algorithm and a first decryption key; and

send the second encrypted key to the computing platform,

wherein the computing platform includes a memory element and a second processor configured to execute second instructions stored in the memory element to:

receive the second encrypted key from the sensor;

extract a second trusted symmetric key from the second encrypted key using a second decryption algorithm and a second decryption key, wherein the first trusted symmetric key matches the second trusted symmetric key;

receive encrypted input data from the sensor; and

extract input data from the encrypted input data using a symmetric decryption algorithm and the second trusted symmetric key.

2. The apparatus of claim 1 , wherein the second processor is configured to execute the second instructions to:

randomly select the index; and

send the index to the sensor prior to receiving the second encrypted key.

3. The apparatus of claim 1 , wherein the second processor is configured to execute the second instructions to:

store the second trusted symmetric key in a protected memory area of the memory element.

4. The apparatus of claim 1 , wherein the second processor is configured to execute the second instructions to:

detect an event; and

generate a new trusted symmetric key based on detecting the event.

5. The apparatus of claim 4 , wherein the event includes one of an expiration of an interval of time, receipt of the encrypted input data from the sensor, or an indication that the second trusted symmetric key is compromised.

6. The apparatus of claim 1 , wherein the first processor is configured to execute the first instructions to:

generate a new trusted symmetric key based on receiving a new index from the computing platform.

7. The apparatus of claim 1 , wherein the second decryption algorithm is asymmetrical.

8. The apparatus of claim 7 , wherein the second processor is configured to execute the second instructions to:

identify, based on the index, an encrypted private key generated from a private key of a key pair in a set of key pairs; and

extract the second decryption encryption key from the encrypted private key by decrypting the encrypted private key using a third decryption algorithm and a third decryption key.

9. The apparatus of claim 1 , wherein the first decryption algorithm is symmetrical and the first decryption key is a unique key identifying the sensor.

10. The apparatus of claim 1 , wherein, when executed, the second instructions are stored in a protected area of the memory element.

11. The apparatus of claim 1 , wherein the first processor is configured to execute the first instructions to:

detect the input data;

encrypt the input data using a symmetric encryption algorithm and the first trusted symmetric key to generate the encrypted input data; and

send the encrypted input data to the computing platform.

12. At least one non-transitory machine readable medium having instructions stored thereon, the instructions when executed by at least one processor cause the at least one processor to:

identify a first encrypted key of a first set of encrypted keys based on an index;

identify a second encrypted key of a second set of encrypted keys based on the index, wherein the second set of encrypted keys are stored in a sensor;

send the second encrypted key from the sensor to a computing platform;

extract, at the sensor, a first trusted symmetric key from the first encrypted key using a first decryption algorithm and a first decryption key;

receive the second encrypted key at the computing platform from the sensor;

extract, at the computing platform, a second trusted symmetric key from the second encrypted key using a second decryption algorithm and a second decryption key, wherein the first trusted symmetric key matches the second trusted symmetric key;

receive encrypted input data at the computing platform from the sensor; and

extract input data from the encrypted input data using a symmetricdecryption algorithm and the second trusted symmetric key.

13. The at least one non-transitory machine readable medium of claim 12 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

randomly select the index; and

send the index to the sensor prior to receiving the second encrypted key.

14. The at least one non-transitory machine readable medium of claim 12 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

detect an event; and

generate a new trusted symmetric key to replace the second trusted symmetric key based on detecting the event.

15. The at least one non-transitory machine readable medium of claim 12 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

generate a new trusted symmetric key to replace the first trusted symmetric key based on receiving, at the sensor, a new index from the computing platform.

16. The at least one non-transitory machine readable medium of claim 12 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

identify, based on the index, an encrypted private key generated from a private key of a key pair in a set of key pairs; and

extract the second decryption key from the encrypted private key by decrypting the encrypted private key using a third decryption algorithm and a third decryption key.

17. The at least one non-transitory machine readable medium of claim 12 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

detect the input data at the sensor;

encrypt the input data at the sensor using a symmetric encryption algorithm and the first trusted symmetric key to generate the encrypted input data; and

send the encrypted input data to the computing platform.

18. A method, the method comprising:

identifying a first encrypted key of a first set of encrypted keys based on an index;

identifying a second encrypted key of a second set of encrypted keys based on the index, wherein the second set of encrypted keys are stored in a sensor;

sending the second encrypted key from the sensor to a computing platform;

extracting, at the sensor, a first trusted symmetric key from the first encrypted key using a first decryption algorithm and a first decryption key;

receiving the second encrypted key at the computing platform from the sensor;

extracting, at the computing platform, a second trusted symmetric key from the second encrypted key using a second decryption algorithm and a second decryption key, wherein the first trusted symmetric key matches the second trusted symmetric key;

receiving encrypted input data from the sensor; and

extracting input data from the encrypted input data using a symmetric decryption algorithm and the second trusted symmetric key.

19. The method of claim 18 , further comprising:

detecting an event;

selecting, by the computing platform, a new index based on detecting the event;

generating a first new trusted symmetric key to replace the first trusted symmetric key based on receiving the new index at the sensor from the computing platform; and

generating a second new trusted symmetric key to replace the second trusted symmetric key.

20. The method of claim 19 , wherein the new index is different than each index that was previously selected.

21. At least one non-transitory machine readable medium having instructions stored thereon, the instructions when executed by at least one processor cause the at least one processor to:

generate equal numbers of key pairs and symmetric keys, wherein each key pair includes a public key and a corresponding private key;

generate a first set of encrypted keys by encrypting the symmetric keys using a first encryption algorithm and, respectively, public keys of the key pairs;

generate a second set of encrypted keys by encrypting the symmetric keys using a second encryption algorithm and a second key;

cause the first and second sets of encrypted keys to be sent to a host associated with a sensor;

generate a third set of encrypted keys by encrypting the private keys of the key pairs using a third encryption algorithm and a third key; and

cause the third set of encrypted keys to be stored in a computing platform.

22. The at least one non-transitory machine readable medium of claim 21 , wherein the instructions, when executed by the at least one processor, cause the at least one processor to:

receive the second key from the host associated with the sensor.

23. The at least one non-transitory machine readable medium of claim 21 , wherein the first and second encryption algorithms are asymmetrical, and wherein the third encryption algorithm is symmetrical.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2018
From: DEWAN, PRASHANT
To: INTEL CORPORATION
Reel/Frame 046932/0419 →
Continuity (1)
Related Publication 20190044708A1 · Feb 7, 2019
Cited By (4)
US 12,261,946 US 12,530,437 US 12,587,363 US 12,639,407