I recently installed 11.10 on a fresh disk using entire disk encryption. Can someone tell me how secure the encryption algorithm is? Has there been any recent breaches with said algorithm? I use a 36 character random passphrase so I know thats not a weak link. What are the chances my client's data could be compromised if the hard drive was stolen?
Yes, it is secure. Ubuntu uses AES-256 to encrypt the disk volume and has a cypher feedback to help protect it from frequency attacks and others attacks that target statically encrypted data.
As an algorithm, AES is secure and this has been proved by crypt-analysis testing. The weakness actually lies within the cypher and the software to pass it the keys. Specifically lies in the keystore (which is stored in the header of the volume), the keystore is secured by a passphrase. Passphrases are of course open to some attacks such as dictionary/brute force (if this was successful, it would decrypt the keystore). Using long "complex" non-word passwords would reduce the chance of this happening.
The only other possibility to decrypt is using recording devices or social engineering to determine your passphrase.
In short, your computer is reasonably safe unless you are subject to serious organised cyber crime or Government investigation!
Here are two resources about attacks on this type of file system that seem to be interesting: http://dx.eng.uiowa.edu/dave/luks.php http://www.jakoblell.com/blog/2013/12/22/practical-malleability-attack-against-cbc-encrypted-luks-partitions/
In short, the latter document describes that it is possible to inject a remote code execution backdoor into the LUKS setup created by the Ubuntu 12.04 installer. This attack only needs access to the encrypted hard drive (it does not rely on manipulating the unencrypted
/boot partition or the BIOS).
While the attack is pretty bad, it does not apply to modern LUCS setups. The attack can only be applied if the block mode is
CBC, for example if the cipher
aes-cbc-essiv is used. Modern setups use other block modes, like the cipher
aes-xts-plain64 (see this article on the ArchLinux wiki).
To check which cipher is used by your setup, run:
sudo cryptsetup status [device]
[device] is your mapping, like
I have created a Windows program that will perform a dictionary attack on Luks volumes. http://code.google.com/p/luks-volume-cracker/
Its slow by design, trying around 3 keys a second. Other dictionary attacks will be similarly slow, so unless you've chosen an easy passphrase the weakness will not be the algorithm.
Be aware of key stealing from memory, and caching of files, however.
LUKS encryption method is potentially unsafe, at least in the way it handles the encryption process. Lets give it the benefit of the doubt the algorithms are safe and we can compare them to algorithm code that has been audited. Putting that aside, as a user, you aren't allowed to create a key that encrypts your data. That's like telling someone, hey, I'll make up a password that encrypts your bank account, not you. But, I'll be so nice to let you make up a password that encrypts my password. There is the security weakness with LUKS as I see it.
LUKS uses a Master Key or what they call a Unified Key. This key is generated using the 'random' and 'urandom' programs installed on the Linux system. If these programs are compromised in some way, your Master Key becomes weak. No matter how strong your password is, the Master Key creation method creates a vulnerability.
Compare this to TrueCrypt who mysteriously shutdown during the biggest leaks against US spying. TrueCrypt volumes that have been properly encrypted according to TrueCrypts documentation, have not been broken into. The government threw all the tax payers money at TrueCrypt volumes and could not break them. This is legal record. https://en.wikipedia.org/wiki/TrueCrypt#Legal_cases (TrueCrypt is 4th Amendment Approved)
TrueCrypt allows the user to create the Master Key. During volume creation TrueCrypt allows the user to move the mouse around in the TrueCrypt interface for as long as they like which randomly manipulates the value of the Master Key being created. That puts the power of chaos in the users hand where it belongs. LUKS does not allow this easy programmatic feature.