IP Library Granted Patent US 10,530,568
Granted Patent B2
US 10,530,568 · App. 15/457,004 · Granted Jan 7, 2020

Encryption interface

Inventors: Eugene M. Kishinevsky (Hillsboro, OR); Uday R. Savagaonkar (Portland, OR); Alpa T. Narendra Trivedi (Hillsboro, OR); Siddhartha Chhabra (Hillsboro, OR); Baiju V. Patel (Portland, OR); Men Long (Beaverton, OR); Kirk S. Yap (Westborough, MA); David M. Durham (Beaverton, OR)
Assignee: Intel Corporation
H04L9/0631G06F12/1408G06F12/1425G06F21/602G06F21/85G09C1/00G06F2212/1052G06F2212/402H04L2209/125Y02D10/13
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,530,568
App. No.
15/457,004
Granted
Jan 7, 2020
Kind
B2
Abstract

Encryption interface technologies are described. A processor can include a system agent, an encryption interface, and a memory controller. The system agent can communicate data with a hardware functional block. The encryption interface can be coupled between the system agent and a memory controller. The encryption interface can receive a plaintext request from the system agent, encrypt the plaintext request to obtain an encrypted request, and communicate the encrypted request to the memory controller. The memory controller can communicate the encrypted request to a main memory of the computing device.

Claims (62)

1. A system on a chip (SoC) comprising:

a system agent to communicate plaintext request with a hardware functional block;

an encryption interface coupled between the system agent and a memory controller, wherein the encryption interface comprises:

a first interface to receive the plaintext request from the system agent;

a tweak generator to generate a tweak, wherein the tweak is a unique address indicating a location of data in a main memory of a computing device;

an encryption engine to encrypt the plaintext request using the tweak to obtain an encrypted request; and

a tweak buffer to store the tweak for decrypting an encrypted response received from the main memory of the computing device; and

a second interface to communicate the encrypted request to the memory controller, wherein the encryption interface to structure the encrypted request in a format used by the system agent in order to emulate the system agent when communicating with the memory controller; and

the memory controller to communicate the encrypted request to the main memory of the computing device.

2. The SoC of claim 1 , wherein the encryption interface further comprises:

a decryption engine to decrypt the encrypted request using the tweak to obtain a decrypted response.

3. The SoC of claim 2 , wherein:

a width of a first datapath to the encryption engine or the decryption engine is half a width of a second datapath between the encryption interface and the system agent or the memory controller; and

a clock rate of the encryption engine or the decryption engine is twice a clock rate of the encryption interface.

4. The SoC of claim 3 , wherein:

the width of the first datapath to the encryption engine or the decryption engine is 16 bytes (B); and

the width of the second datapath between the encryption interface and the system agent or the memory controller is 32 B.

5. The SoC of claim 1 , wherein a clock rate of the tweak generator is double a clock rate of the encryption interface.

6. The SoC of claim 1 , wherein the encryption interface to emulate the system agent when communicating with the memory controller by structuring the encrypted request to be a same structure as messages sent directly from the system agent to the memory controller.

7. The SoC of claim 1 , wherein the encryption interface is further to:

receive the encrypted response from the memory controller;

decrypt the encrypted response using the tweak to obtain a decrypted response; and

communicate the decrypted response to the memory controller.

8. The SoC of claim 1 , wherein the hardware functional block is at least one of a processor core, a graphics core, a cache agent, a second system agent, or a memory agent.

9. A system on a chip (SoC) comprising:

a system agent to communicate a plaintext request with a hardware functional block;

a tweak generator coupled to the system agent, the system agent to generate a tweak, wherein the tweak is a unique address indicating a location of data for the plaintext request in a main memory;

a tweak buffer coupled to the tweak generator, the tweak buffer to store the tweak for decrypting an encrypted response received from the main memory;

the encryption interface coupled between the system agent and a memory controller, wherein the encryption interface is to:

receive the plaintext request from the system agent;

encrypt the plaintext request using the tweak to obtain an encrypted request; and

communicate the encrypted request to the memory controller, wherein the encryption interface to structure the encrypted request in a format used by the system agent in order to emulate the system agent when communicating with the memory controller; and

the memory controller to communicate the encrypted request to the main memory.

10. The SoC of claim 9 , wherein the encryption interface further comprises:

an encryption engine to encrypt the plaintext request using the tweak to obtain the encrypted request; and

a decryption engine to decrypt the encrypted request using the tweak to obtain a decrypted request.

11. The SoC of claim 10 , wherein a width of a first datapath to the encryption engine or the decryption engine is the same as a width of a second datapath between the encryption interface and the system agent or the memory controller.

12. The SoC of claim 11 , wherein the width of the first datapath is 16 bytes (B) and the width of the second datapath is 16 B.

13. The SoC of claim 10 , wherein a width of a first datapath to the encryption engine or the decryption engine is half a width of a second datapath between the encryption interface and the system agent.

14. The SoC of claim 13 , wherein:

the width of the first datapath to the encryption engine or the decryption engine is 16 bytes (B); and

the width of the second datapath between the encryption interface and the system agent or the memory controller is 32 B.

15. The SoC of claim 9 , wherein the encryption interface is to emulate the system agent when communicating with the memory controller by structuring the encrypted request to be a same structure as messages sent directly from the system agent to the memory controller.

16. A system comprising:

a system memory;

a processing device coupled to the system memory, the processing device comprising:

a system agent to communicate plaintext request with a processor core;

an encryption interface coupled between the system agent and a memory controller, wherein the encryption interface comprises:

a first interface to receive the plaintext request from the system agent;

a tweak generator to generate a tweak, wherein the tweak is a unique address indicating a location of data in a main memory of a computing device;

an encryption engine to encrypt the plaintext request using the tweak to obtain an encrypted request;

a tweak buffer to store the tweak for decrypting an encrypted response received from the main memory of the computing device; and

a second interface to communicate the encrypted request to the memory controller, wherein the encryption interface to structure the encrypted request in a format used by the system agent in order to emulate the system agent when communicating with the memory controller; and

the memory controller to communicate the encrypted request to the system memory of a computing device.

17. The system of claim 16 ,

wherein a width of a first datapath to the encryption engine is half a width of a second datapath between the encryption interface and the system agent or the memory controller; and

wherein the encryption interface further comprises:

a decryption engine to decrypt the encrypted request using the tweak to obtain a decrypted request.

18. The system of claim 17 , wherein a clock rate of the encryption engine or the decryption engine is twice a clock rate of the encryption interface.

19. The system of claim 17 , wherein:

the width of the first datapath to the encryption engine or the decryption engine is 16 bytes (B); and

the width of the second datapath between the encryption interface and the system agent or the memory controller is 32 B.

Continuity (2)
Division 14581946 · Dec 23, 2014
Related Publication 20170185809A1 · Jun 29, 2017