IP Library › Granted Patent US 10,992,453
Granted Patent B2
US 10,992,453 · App. 15/158,314 · Granted Apr 27, 2021

System architecture for encrypting external memory

Inventors: John B. Geagan (San Jose, CA); Dulce B. Ponceleon (San Jose, CA)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
H04L9/002G06F21/75G06F21/78G06F2221/034
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,992,453
App. No.
15/158,314
Granted
Apr 27, 2021
Kind
B2
Abstract

A system architecture providing memory encryption suitable for protection against liquid nitrogen and trace probe attacks. In one embodiment, a method of and system for memory encryption are provided. A write request is received at a memory controller. The write request includes first data and a first address. The memory controller is embedded in a CPU and is operatively coupled to memory external to the CPU. The first data are encrypted at the memory controller to generate encrypted first data. The encrypted first data are written to the memory.

Claims (48)

1. A method comprising:

receiving at a memory controller a write request, the write request comprising first data and a first address, the memory controller being embedded in a CPU and operatively coupled to memory external to the CPU, said memory controller contained within a case;

encrypting, at the memory controller, the first data to generate encrypted first data, wherein encrypting the first data comprises:

reading at the memory controller a first cryptographic key from a volatile memory within the memory controller, and

applying the first cryptographic key to the first data;

writing the encrypted first data to the memory;

detecting a physical intrusion of the case; and

deleting the first cryptographic key and one or more encryption parameters upon detection of the physical intrusion.

2. The method of claim 1 , further comprising:

receiving at the memory controller a read request, the read request comprising a second address;

reading encrypted second data from the memory;

decrypting, at the memory controller, the encrypted second data to generate second data.

3. The method of claim 1 , further comprising:

determining a first translated address from the first address, and wherein the encrypted first data are written to the memory at the first translated address.

4. The method of claim 2 , further comprising:

determining a second translated address from the second address, and wherein the encrypted second data are read from the memory at the second translated address.

5. The method of claim 1 , further comprising:

generating the first cryptographic key upon powering of the memory controller.

6. The method of claim 3 , wherein determining the first translated address comprises:

applying a cryptographic function.

7. The method of claim 4 , wherein determining the second translated address comprises:

applying a cryptographic function.

8. The method of claim 1 , wherein encrypting the first data comprises:

reading at the memory controller a first cryptographic key of a plurality of cryptographic keys, the first cryptographic key being selected on the basis of the first address; and

applying the first cryptographic key to the first data.

9. A system comprising:

a case;

a memory controller contained within the case, the memory controller being embedded in a CPU and being operatively coupled to a memory external to the CPU, the memory controller adapted to:

receive a write request, the write request comprising first data and a first address;

encrypt the first data to generate encrypted first data, wherein encrypting the first data comprises:

reading at the memory controller a first cryptographic key from a volatile memory within the memory controller, and

applying the first cryptographic key to the first data;

write the encrypted first data to the memory;

detect a physical intrusion of the case; and

delete the first cryptographic key and one or more encryption parameters upon detection of the physical intrusion.

10. The system of claim 9 , wherein the memory controller is further adapted to:

receive a read request, the read request comprising a second address;

read encrypted second data from the memory;

decrypt at the memory controller the encrypted second data to generate second data.

11. The system of claim 9 , wherein the memory controller is further adapted to:

determine a first translated address from the first address, and wherein the encrypted first data are written to the memory at the first translated address.

12. The system of claim 10 , wherein the memory controller is further adapted to:

determine a second translated address from the second address, and wherein the encrypted second data are read from the memory at the second translated address.

13. The system of claim 9 , wherein the memory controller is further adapted to:

generate the first cryptographic key upon powering of the memory controller.

14. The system of claim 9 , wherein encrypting the first data comprises:

reading a first cryptographic key of a plurality of cryptographic keys, the first cryptographic key being selected on the basis of the first address; and

applying the first cryptographic key to the first data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 19, 2016
From: GEAGAN, JOHN B.; PONCELEON, DULCE B.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038651/0524 →
Continuity (1)
Related Publication 20170337141A1 · Nov 23, 2017
Cited By (2)
US 12,627,480 US 12,712,724