Updateable encryption in self encrypting drives
AssigneeSeagate Technology LLC
InventorsHamza Jeljeli, Kian Beng Lim, Saravanan Nagarajan
Life of this patent
Estimating the term…
Abstract
A method of rotating a set of keys, having a media encryption key (MEK) and a current media encryption key encryption key (MEKEK) encrypted and stored in a self-encrypting drive (SED) having data encrypted with the MEK (MEK(data)), includes decrypting the stored MEK and the current MEKEK. A new MEK (MEK′) and a new MEKEK (MEKEK′) are generated. The MEKEK′ is encrypted to replace the current encrypted MEKEK. A concatenation of the MEK and the MEK′ is encrypted with MEKEK′. The encrypted data MEK(data) is re-encrypted with MEK′.
Claims20
A method of rotating a set of keys, having a media encryption key (MEK) and a current media encryption key encryption key (MEKEK) encrypted and stored in a self-encrypting drive (SED) having data encrypted with the MEK (MEK(data)), the method comprising:
- decrypting, in the SED, the stored MEK and the current MEKEK;
- generating, in the SED a new media encryption key (MEK′) and a new media encryption key encryption key (MEKEK′);
- encrypting, in the SED the MEKEK′ to replace the current encrypted MEKEK;
- concatenating, in the SED, the MEK and the MEK′ to obtain a concentration key;
- storing, in the SED, the encrypted concatenated key over ciphertext comprising MEK encrypted with MEKEK′;
- re-encrypting, in the SED, the already-encrypted MEK(data) in the SED with MEK′ without decrypting the MEK(data);
- and
- overwriting the MEK(data) with the re-encrypted data.
A method of updating a key in a self-encrypting drive (SED) storing encrypted data MEK(data), comprising:
- deriving, in the SED, a master key (MK) from a user password (PIN);
- decrypting, in the SED, wrapping keys comprising a media encryption key (MEK) and a media encryption key encryption key (MEKEK) from stored ciphertext MEKEK(MEK) and MK(MEKEK) using the MK;
- generating, in the SED, new wrapping keys MEK′ and MEKEK′;
- re-encrypting, in the SED, the already-encrypted data MEK(data) in the SED with MEK′ without decrypting the MEK(data) to obtain ciphertext MEK′(MEK(data));
- encrypting, in the SED, MEKEK′ with MK to obtain new ciphertext MK(MEKEK′);
- encrypting, in the SED, a concatenation of MEK and MEK′ with MEKEK′ in a MEK string to obtain new ciphertext MEKEK′(MEK′, MEK);
- and
- storing, in the SED, ciphertext MEK′(MEK(data)), ciphertext MK(MEKEK′), and ciphertext MEKEK′(MEK′, MEK) in the SED such that MEK(data) is overwritten with MEK′(MEK(data)) and MEKEK′(MEK′, MEK) replaces MEKEK(MEK).
A method of refreshing a nested concatenation of a plurality of media encryption key (MEK) iterations and a current media encryption key encryption key (MEKEK) stored in encrypted form, the media encryption key iterations used for nested encryption and re-encryption of user data without decryption in a self-encrypting drive (SED) in which previously-encrypted used data is overwritten wither-encrypted user data, the method comprising:
- decrypting the plurality of media encryption key iterations to a MEK string;
- generating a new media encryption key and a new media encryption key encryption key;
- determining, in the SED in which the previously-encrypted used data is overwritten with the re-encrypted user data a number of re-encryptions of the user data using a number of non-null MEK entries in the decrypted MEK string;
- and
- refreshing the stored MEK string in the SED when a predetermined number N of re-encryptions of the encrypted data has previously occurred, as indicated by a number of non-null MEK iterations in the MEK string.
Dependencies are inferred from the claim text.