Patent ID: 8312269
Filing Date: 2012-11-13
Classification: G06F

Abstract:
1. A data storage device that comprises code for providing security to data stored on the data storage device, wherein the code is stored on a computer readable medium in the data storage device, the data storage device comprising: non-volatile memory; code for generating a first public key and a secret key pair; code for encrypting data stored in the non-volatile memory using a bulk encryption key, encrypting the bulk encryption key using the first public key to generate an encrypted bulk encryption key, and storing the encrypted bulk encryption key in the non-volatile memory; code for generating a challenge and response pair, wrapping the secret key with the response to generate a wrapped secret key, and storing the challenge and the wrapped secret key in the non-volatile memory, wherein the challenge is a random number encrypted with a second public key, and wherein the response is the random number that equals the challenge decrypted with a private key; code for authenticating a host by retrieving the challenge and the wrapped secret key from the non-volatile memory, erasing the challenge and the wrapped secret key from the non-volatile memory, sending the challenge to the host after the challenge and the wrapped secret key have been erased from the non-volatile memory, receiving the response that is generated based on the challenge from the host, and unwrapping the wrapped secret key using the response from the host to regenerate the secret key; and code for decrypting the encrypted bulk encryption key using the regenerated secret key to regenerate the bulk encryption key and decrypting the data stored in the non-volatile memory using the regenerated bulk encryption key.