I've posted recommendations on how to add hardware drive encryption on top of Qubes' software encryption on this list before, so I won't repost that.
In summary,
Use an SSD that supports T13 ATA SANITIZE and TCG OPAL, and also remember to enable trim in dom0 ( https://www.qubes-os.org/doc/disk-trim/ ). Enable HW encryption (but also enable QUBES' software encryption).
Bonus: using SSDs with the above features, when you are done with the system you can instantly (< 2s) erase all user data on the SSD by issuing either an ATA SANITIZE - CRYPTO SCRAMBLE EXT command or an OPAL PSID REVERT command (the latter requires the code printed on the drive label).
Brendan
I just wish it had Heads support :(
http://osresearch.net/
Qubes 4.0 encrypts /boot by default or I must do something for that?
Agreed.
I'll just add a few bullet points on why it is wise to use the hardware encryption that comes with your OPAL-supporting SED SSD (via ATA Password or OPAL). This only applies to OPAL-supporting SED SSDs (e.g. Samsung 840 EVO/850 PRO and later; Crucial M500 and later):
Read/Write user data denial:
1. ATA Password locked drive cannot be read from or written to until unlocked.
2. OPAL locked drive cannot be written to and on boot only presents a very small volume with generic read-only boot code that loads the tool to authenticate the user to the drive and decrypt the DEK.
Flash firmware denial:
1. The OPAL standard requires that securely-configured drives (having enabling OPAL or ATA Password and importantly, whether currently locked or unlocked) shall block firmware updates or, if they do not fully block, the unlocking credential used to unlock the drive at boot must also be sent to initiate firmware updates.
2. IMPORTANTLY: when not securely-configured (as they come from the factory), firmware updates are not blocked at all. Enabling the locking of the drive at power on is also the way to block firmware changes.
Don't be fooled by past analysis of the flaws of ATA Password, some no longer apply. For example, OPAL supporting drives are required to encrypt the DEK using the ATA Password and not store either the DEK or the Password in cleartext on the drive when ATA Password (or OPAL) is enabled. The old trick of using manufacturer-specific commands (either via the (S)ATA interface or using the jumper pinouts) to disable or rewrite the ATA Password cannot work with OPAL drives to get to the data on them.
Don't like the DEK that was generated by the manufacturer? Change it (and wipe the drive) using ATA Sanitize Crypto Scramble Ext.
> > In terms of encrypting boot that is generally impossible without the use
> > of coreboot
>
> Encrypting boot is one use case for SEDs when only light security is
> required. Will your average evil maid (or some thief who steals your
> laptop) have access to tools needed to defeat OPAL, assuming it's
> backdoored?
And if your OPAL drive is backdoored by the manufacturer for a government, your drive is backdoored whether you're using OPAL or not and depending on what you wanted to keep private, you're already screwed.
No security mechanism exists in a vacuum. Layer them as necessary. I want to prevent both remote firmware tampering and out-of-sight boot tampering. So I utilize the SED hardware security. I also enable software volume encryption, when available, as well.
Brendan