IP Library Granted Patent US 9,811,478
Granted Patent B2
US 9,811,478 · App. 15/077,106 · Granted Nov 7, 2017

Self-encrypting flash drive

Inventors: Ashwin Kamath (Cedar Park, TX); Paul E. Prince (Lago Vista, TX); Trevor Smith (Austin, TX)
Assignee: Mangstor, Inc.
G06F12/1408G06F12/0246H04L9/0618H04L9/0637H04L9/0894H04L9/0897H04L9/3242G06F2212/1052G06F2212/2022G06F2212/402G06F2212/7201G06F2212/7207
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 9,811,478
App. No.
15/077,106
Granted
Nov 7, 2017
Kind
B2
Abstract

Exemplary methods are provided for storing data in a flash storage device to facilitate subsequent detection of tampering, comprising receiving a plaintext; reading first metadata associated with a device sector; encrypting the plaintext based on the first metadata to generate a cipher text and first authentication data; storing the cipher text in the sector; and storing the first authentication data as second metadata associated with the sector. Exemplary methods are also provided for detecting tampering with data stored in a flash storage device, comprising determining a physical location in a device sector; reading cipher text from the physical location; reading first authentication data and maintenance metadata associated with the sector; decrypting the cipher text based on a user key and the maintenance metadata to generate second authentication data; and determining the occurrence of tampering based on the first and second authentication data. Memory devices embodying said methods are also provided.

Claims (62)

1. A method for storing data in a flash storage device to facilitate subsequent detection of tampering, comprising:

receiving a plaintext comprising user data;

reading first metadata associated with a sector of the flash storage device;

encrypting the plaintext based on the first metadata to generate a cipher text and first authentication data;

storing the cipher text in the sector of the flash storage device; and

storing the first authentication data as second metadata associated with the sector of the flash storage device.

2. The method of claim 1 , further comprising:

receiving a logical address for storing the at least a portion of the user data;

mapping the logical address to a physical location in the sector of the flash storage device; and

generating an initialization vector based at least partly on the physical location.

3. The method of claim 2 , wherein generating the initialization vector is further based on at least one attribute of the flash storage device associated with the physical location.

4. The method of claim 3 , wherein the at least one attribute comprises at least one of an age attribute, utilization information, and erase count.

5. The method of claim 1 , wherein:

the first metadata relates to flash storage device maintenance functions; and

the first authentication data is usable to detect tampering of the cipher text and the first metadata.

6. The method of claim 1 , further comprising:

receiving an initialization vector and a user key; and

encrypting the plaintext further based on the initialization vector and the user key.

7. A method for detecting occurrence of tampering with data stored in a flash storage device, comprising:

determining a physical location in a sector of the flash storage device;

reading cipher text from the physical location;

reading metadata associated with the sector of the flash storage device, the metadata comprising first authentication data and sector maintenance metadata; and

decrypting the cipher text based on a user key and the sector maintenance metadata to generate a plaintext and second authentication data;

determining the occurrence of tampering based on the first authentication data and the second authentication data.

8. The method of claim 7 , wherein determining a physical location comprises:

receiving a logical address corresponding to encrypted user data to be read; and

mapping the logical address to the physical location.

9. The method of claim 7 , further comprising generating an initialization vector based on at least one attribute associated with the physical location, wherein the cipher text is decrypted further based on the initialization vector.

10. The method of claim 9 , wherein generating an initialization vector is further based on the physical location.

11. The method of claim 9 , wherein the one or more attributes comprise at least one of age, utilization information, and erase count, and physical location associated with one or more sectors of the flash storage device.

12. A memory device comprising:

a memory configured in a plurality of sectors, each sector comprising storage for user data and for first and second metadata associated with the particular sector;

an encryption machine configured to:

receive plaintext, a user key, and first metadata associated with a sector of the memory; and

encrypt the plaintext based on the user key and the first metadata to generate a cipher text and an authentication tag; and

a memory controller configured to:

store the cipher text as user data in the sector of the flash storage device; and

store the authentication tag as second metadata associated with the sector of the flash storage device.

13. The memory device of claim 12 , the memory controller is further configured to:

receive a logical address corresponding to user data to be stored; and

map the logical address to a physical location associated with the sector of the flash storage device.

14. The memory device of claim 12 , wherein:

the memory controller is further configured to generate an initialization vector based on a function of one or more attributes of the flash storage device; and

the encryption machine is further configured to encrypt the plaintext based on the initialization vector.

15. The memory device of claim 14 , wherein the one or more attributes comprises at least one of an age attribute; utilization information, and erase count.

16. A memory device comprising:

a memory configured in a plurality of sectors, each sector comprising storage for user data and for first and second metadata associated with the particular sector;

a memory controller configured to:

read cipher text from a physical location in a sector of the flash storage device;

read metadata associated with the sector of the flash storage device, the metadata comprising first authentication data and sector maintenance metadata; and

a decryption machine configured to:

receive the cipher text, a user key, and the metadata associated with the sector of the flash storage device;

decrypt the cipher text based on the user key and the sector maintenance data to generate a plaintext and second authentication data; and

determine the occurrence of tampering based on the first authentication data and the second authentication data.

17. The memory device of claim 16 , wherein the memory controller is further configured to determine the physical location by:

receiving a logical address corresponding to encrypted user data to be read; and

mapping the logical address to the physical location associated with the sector of the flash storage device.

18. The memory device of claim 17 , wherein

the memory controller is further configured to generate an initialization vector based on a function of one or more attributes of the flash storage device; and

the decryption machine is further configured to decrypt the cipher text based on the initialization vector.

19. The memory device of claim 18 , wherein the memory controller is further configured to generate the initialization vector based on the physical location.

20. The memory device of claim 16 , wherein the memory controller is further configured to provide a flash translation layer.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2020
From: EXTEN TECHNOLOGIES, INC.
To: OVH US LLC
Reel/Frame 054013/0948 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2018
From: KAMATH, ASHWIN; PRINCE, PAUL E.; SMITH, TREVOR
To: MANGSTOR, INC.
Reel/Frame 046646/0435 →
CHANGE OF NAME Recorded Jul 25, 2018
From: MANGSTOR, INC.
To: EXTEN TECHNOLOGIES, INC.
Reel/Frame 046628/0576 →
Continuity (2)
Continuation 14191687 · Feb 27, 2014
Related Publication 20160204931A1 · Jul 14, 2016