IP Library Granted Patent US 11,368,299
Granted Patent B2
US 11,368,299 · App. 16/708,203 · Granted Jun 21, 2022

Self-encryption drive (SED)

Inventors: Minda Zhang (Westford, MA); Ke Du (Fremont, CA)
Assignee: Marvell Asia Pte, Ltd.
H04L9/0891G06F21/78H04L9/083H04L9/088H04L9/0863H04L9/0872H04L9/0894H04L9/3247H04L9/3297H04L2209/38
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,368,299
App. No.
16/708,203
Granted
Jun 21, 2022
Kind
B2
Abstract

A self-encryption drive (SED) opens a communication session between the SED and a key management server. An identifier of the SED is sent to the key management server, where the identifier uniquely identifies a data structure in a database associated with the key management server and the data structure comprises a timestamp and a media encryption key (MEK). The data structure is received from the key management server, the data structure being wrapped with a shared session key associated with the communication session. The data structure is unwrapped with the shared session key and the MEK is stored only in the volatile memory of the SED based on the timestamp. Data is encrypted for storage in the non-volatile storage media of the SED based on the MEK stored only in the volatile memory of the self-encryption drive (SED). The MEK stored only in the volatile memory of the SED is erased to crypto-erase the SED.

Claims (41)

1. A method for storing a media encryption key (MEK) in a self-encryption drive (SED) and crypto-erasing the self-encryption drive (SED) by deleting all instances of the media encryption key (MEK) stored by the self-encryption drive (SED), wherein the self-encryption drive (SED) comprises (i) a volatile memory and (ii) non-volatile storage media, the method comprising:

sending an identifier of the self-encryption drive (SED) to a key management server over a communication session between the self-encryption drive (SED) and the key management server; wherein the identifier uniquely identifies a data structure in a database associated with the key management server, wherein the data structure comprises a timestamp and the media encryption key (MEK);

receiving the data structure from the key management server, the data structure being wrapped with a shared session key associated with the communication session;

unwrapping the data structure with the shared session key;

storing the media encryption key (MEK) only in the volatile memory of the self-encryption drive (SED) based on the timestamp;

encrypting data for storage in the non-volatile storage media of the self-encryption drive (SED) based on the media encryption key (MEK) stored only in the volatile memory of the self-encryption drive (SED);

erasing the media encryption key (MEK) stored only in the volatile memory of the self-encryption drive (SED) to crypto-erase the self-encryption drive (SED),

wherein the timestamp corresponds to a time when the key management server sends the data structure to the SED; and

determining whether a difference between the timestamp associated with the MEK and a current timestamp is less than a certain duration and wherein storing the MEK only in the volatile memory of the SED comprises storing the MEK if the difference is less than the certain duration.

2. The method of claim 1 , wherein unwrapping the data structure with the shared session key comprises verifying in the data structure a digital signature signed with a key management server signing key.

3. The method of claim 1 , further comprising unwrapping the MEK stored in the data structure with a unique data secret (UDS) associated with the SED.

4. The method of claim 3 , wherein the stored MEK in the volatile memory of the SED is wrapped with a wrapping key based on a password of a user of the SED and unwrapped with the wrapping key when the user provides the password to the SED.

5. The method of claim 1 , wherein unwrapping the data structure with the shared session key comprises determining, by the SED, the shared session key based on a key management server public key received from the key management server, an SED private key, and a random salt.

6. The method of claim 1 , further comprising accessing a block chain which stores an indication of whether the SED is decommissioned and wherein the MEK is stored only in the volatile memory of the SED if the indication indicates that the SED is not decommissioned.

7. A non-transitory computer-readable medium storing instructions for storing a media encryption key (MEK) in a self-encryption drive (SED) and crypto-erasing the self-encryption drive (SED) by deleting all instances of the media encryption key (MEK) stored by the self-encryption drive (SED), wherein the self-encryption drive (SED) comprises (i) a volatile memory and (ii) non-volatile storage media, the instructions when executed by one or more processors, cause the one or more processors to at least:

send an identifier of the self-encryption drive (SED) to a key management server over a communication session between the self-encryption drive (SED) and the key management server; wherein the identifier uniquely identifies a data structure in a database associated with the key management server, wherein the data structure comprises a timestamp and the media encryption key (MEK);

receive the data structure from the key management server, the data structure being wrapped with a shared session key associated with the communication session;

unwrap the data structure with the shared session key;

store the media encryption key (MEK) only in the volatile memory of the self-encryption drive (SED) based on the timestamp;

encrypt data for storage in the non-volatile storage media of the self-encryption drive (SED) based on the media encryption key (MEK) stored only in the volatile memory of the self-encryption drive (SED);

erase the media encryption key (MEK) stored only in the volatile memory of the self-encryption drive (SED) to crypto-erase the self-encryption drive (SED); and

determine whether a difference between the timestamp associated with the MEK and a current timestamp is less than a certain duration and wherein the instructions to store the MEK only in the volatile memory of the SED comprises instructions to store the MEK if the difference is less than the certain duration.

8. The non-transitory computer-readable medium of claim 7 , wherein the instructions to unwrap the data structure with the shared session key comprises instructions to verify a digital signature in the data structure signed with a key management server signing key.

9. The non-transitory computer-readable medium of claim 7 , further comprising instructions to unwrap the MEK stored in the data structure with a unique data secret (UDS) associated with the SED.

10. The non-transitory computer-readable medium of claim 9 , wherein the stored MEK in the volatile memory of the SED is wrapped with a wrapping key based on a password of a user of the SED and unwrapped with the wrapping key when the user provides the password to the SED.

11. The non-transitory computer-readable medium of claim 7 , wherein the instructions to unwrap the data structure with the shared session key comprises instructions to determine, by the SED, the shared session key based on a key management server public key received from the key management server, an SED private key, and a random salt.

12. The non-transitory computer-readable medium of claim 7 , wherein the timestamp corresponds to a time when the key management server sends the data structure to the SED.

13. A self-encryption drive (SED) arranged to store a media encryption key (MEK) in a self-encryption drive (SED) delete all instances of a media encryption key (MEK) stored by the self-encryption drive (SED) to crypto-erase the self-encryption drive (SED), the self-encryption drive (SED) comprising:

a volatile memory;

a non-volatile storage media;

instructions stored in memory of the self-encryption drive (SED), when executed by one or more processors of the self-encryption drive (SED), cause the self-encryption drive (SED) to at least:

send an identifier of the self-encryption drive (SED) to a key management server over a communication session between the self-encryption drive (SED) and the key management server; wherein the identifier uniquely identifies a data structure in a database associated with the key management server, wherein the data structure comprises a timestamp and the media encryption key (MEK);

receive the data structure from the key management server, the data structure being wrapped with a shared session key associated with the communication session;

unwrap the data structure with the shared session key;

store the media encryption key (MEK) only in the volatile memory of the self-encryption drive (SED) based on the timestamp;

encrypting data for storage in the non-volatile storage media of the self-encryption drive (SED) based on the media encryption key (MEK) stored only in the volatile memory of the self-encryption drive (SED);

erase the media encryption key (MEK) stored only in the volatile memory of the self-encryption drive (SED) to crypto-erase the self-encryption drive (SED); and

determine whether a difference between the timestamp associated with the MEK and a current timestamp is less than a certain duration and wherein the instructions to store the MEK only in the volatile memory of the SED comprises instructions to store the MEK if the difference is less than the certain duration.

14. The SED of claim 13 , wherein the identifier is a physical security identification pin (PSID) associated with the SED.

15. The SED of claim 13 , wherein the instructions to unwrap the data structure with the shared session key comprises instructions to verify a digital signature in the data structure signed with a key management server signing key.

16. The SED of claim 13 , wherein the timestamp corresponds to a time when the key management server sends the data structure to the SED.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2020
From: MARVELL WORLD TRADE LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 051830/0139 →
Continuity (5)
Continuation 16708085 · Dec 9, 2019
Provisional Application 62777659 · Dec 10, 2018
Provisional Application 62829537 · Apr 4, 2019
Provisional Application 62934701 · Nov 13, 2019
Related Publication 20200186342A1 · Jun 11, 2020