AES256 Encryption and SATA Solid State Drives (SSD)
The Advanced Encryption Standard (AES) was established by the US National Institute of Standards and Technology (NIST) in 2001. There are several versions of AES encryption based on the key size used.
AES128 uses a 128-bit key, AES192, a 192-bit key and finally AES256, a 256-bit key. The larger the key used, the more secure the data.
The purpose of AES Encryption is to convert standard input data known as plaintext to an unintelligible output known as cipher text. The encryption algorithm also decrypts the cipher text back to plaintext with the proper key.
So, why is AES256 Encryption used on SSD? Is it just for Data protection or does it have other uses?
The latest generations of NAND flash require data randomization in order to reduce cross coupling noise errors, an AES256 engine provides a convenient way to achieve this randomizer while encrypting user data at the same time.
If AES256 Encryption on SSD used for data randomization function only, does it provide any data protection?
It provides some data protection in the sense that if the controller is damaged, a 3rd party would not be able to read the data on the flash. In normal usage, however, there is no data protection as any party that is in possession of the drive can read the data.
Methods of using AES256 on SATA SSD to Secure Data
Generally, key management is handled by proprietary software and is therefore, Operating System specific. In these schemes, after the OS boots up, the user is requested to enter a password to access the encrypted drive.
Another option is to use BitLocker feature in Windows to enable/disable encryption. Obviously, this will work only for Windows machines.
Some vendors choose to piggy back on ATA Security Feature and use that password to enable/disable encryption.
The most secure way of key management is via TCG OPAL build into the system hardware. TCG OPAL is a standard defined by the Trusted Computing Group and is targeted for client drive. This standard allows for pre-boot authentication, meaning that the key exchange is done before the OS is booted. For this to work, the system must have TCG BIOS and the device must have firmware that supports TCG OPAL. Some SSDs have TCG OPAL firmware but when used in system without TCG OPAL BIOS, they still use software to manage the key; in this case, these drives are not 100% secure.
Cactus can assist OEMs with design of the host utility required to implement AES256 encryption on our SATA III SSD. For more details, please contact us.