3 ms·
No, you don't. Only user data needs to be encrypted. There's no value in encrypting the OS or any apps. None. By definition, they must ship on unencrypted media
by ryannielsen 16y ago
No, you don't. Only user data needs to be encrypted. There's no value in encrypting the OS or any apps. None. By definition, they must ship on unencrypted media. Why pay any encryption/decryption cost for information that exists unencrypted?
Assuming a perfect implementation, whole disk encryption costs money and power. Any additional logic on the drives will raise their cost (at no benefit if there's already CPU provided acceleration for the same operations) and will raise power consumption.
The biggest benefit comes from truly segregated, properly and completely encrypted user volumes, where all user-created is always encrypted with their private key at all times. Chrome OS does exactly this, and all OSs should strive to do the same. [1]
Opal solves a single use case. Flexible per-user encryption solves all cases and offers better performance.
[1] http://www.chromium.org/chromium-os/chromiumos-design-docs/protecting-cached-user-data http://www.chromium.org/chromium-os/chromiumos-design-docs/p...
- kogir 16y agoWithout WDE, how can you verify that the OS and apps haven't been altered? If a laptop with WDE is left in my control for days and then returned, you know you're still safe. Without WDE, you have to completely wipe the unencrypted portion lest modified apps upload your encrypted user data once the system boots.
- borism 16y agoYou can compare unencrypted system files to those on your Time Machine back-up or installation media. What if system and program files were modified from within the system? WDE doesn't help in this case. WDE doesn't solve integrity or availability problems. It's primary goal is confidentiality.
- ryannielsen 16y agoArguably, all binaries comprising the OS and installed apps should be individually signed to ensure they're never modified, even by a malicious user who can access the encrypted disk. Whole disk encryption guarantees nothing more than your disk is encrypted. On pure single-user systems that are never accessible by other users, that might be fine. The second you allow more that one user, remote or local, to access the disk, you may as well treat the disk as unencrypted. At that point, you need to rely on per-user data encryption and OS and app signature validation to prevent malicious attacks.
- tptacek 16y agoYes! WDE only makes sense for single-user systems (ie, most systems). Yes! WDE does nothing about malicious software. You are correct on both counts.
- tptacek 16y agoYou don't understand. You're thinking about this like a systems programmer. The problem is not that anyone cares about your OS binaries. The problem is that it is theoretically possible that customer data could have wound up in /sbin (maybe a script broke and did something stupid as root). Obviously customer data could routinely end up in /. Unless you can promise that there is no customer data in any unencrypted volume --- not assure that it is extremely unlikely, but promise --- then the assumption is going to be that the data was compromised, and stakeholder disclosure has to happen. WDE solves that problem. If your disk is block-level encrypted and you carry your laptop around powered off, you can make an attestation-level promise that a stolen laptop didn't compromise customer data. Along with an audit regime that makes sure it's configured properly, WDE allows you to promise that not one block of data on a device is readable without a key.
- ryannielsen 16y ago> You're thinking about this like a systems programmer. Indeed, yes, I am. My experience in shipping systems used by tens of millions leads to that line of thinking. > The problem is not that anyone cares about your OS binaries. The problem is that it is theoretically possible that customer data could have wound up in /sbin (maybe a script broke and did something stupid as root). Obviously customer data could routinely end up in /. Unless you can promise that there is no customer data in any unencrypted volume --- not assure that it is extremely unlikely, but promise --- then the assumption is going to be that the data was compromised, and stakeholder disclosure has to happen. I agree 100%. No one cares about OS or app binaries, as long as those binaries can be cryptographically guaranteed to be unmodified. Given that, no one cares about them. So, set that aside. Once that's a given, why can't you entirely isolate all user data into individual per-user containers? I can think of numerous ways that can be implemented. Chrome OS has done one such implementation themselves. Hell, union mount an encrypted per-user volume over the unencrypted OS volume. If you don't like that, find some other way. The bottom line: it's software. Implement some way to promise user data is always isolated and encrypted. It can be done and if you think it can't, you're thinking too small. WDE guarantees one thing – whole disk encryption. That buys you nothing when one single malicious user gains access to that volume. And keep in mind: that malicious user could have been benign and even friendly to begin with. You really do want per-user data encryption.