Guides / Stolen laptop, not a magic veil

Disk encryption

At rest is the disk. In transit is the path. Full-disk (FileVault, BitLocker, LUKS) protects a machine that left the building. It does not hide data from the running OS.

Encryption at rest versus in transitIn transit is TLS on the path. At rest is the disk: FileVault, BitLocker, or LUKS. Full-disk encryption is stolen-laptop protection, not a veil over a running OS.TLSIn transitTLS on the wireDISKAt restFileVault / BitLocker / LUKSHVHypervisor unwrapthe host can still readAPPApplication-levelthe app holds the keyIN TRANSIT IS THE PATH. AT REST IS THE DISK.Full-disk protects a stolen laptop. It does not hide data from the OS.The hypervisor can often unwrap a guest disk. That is not the bag-theft story.

In transit protects the path: TLS on the wire. At rest protects the store: FileVault, BitLocker, or LUKS on the disk. Full-disk encryption is stolen-laptop protection. When the machine is on and unlocked, the OS sees cleartext. On a virtual machine the hypervisor can often unwrap the guest disk. Application-level encryption is the next layer when the threat is the platform, not the bag.

First principles

Encryption in transit protects a path: TLS, SSH, a VPN. Encryption at rest protects a store: a disk, an object, a database file. They answer different thefts. A packet sniffer on the path does not get a TLS session. A thief with the laptop in a bag does not get a FileVault volume. Mixing the two sentences up is how people 'encrypt' a disk and then serve the files in clear over HTTP.

When the machine is off (or the volume is locked), the thief has a brick. That is the design. It is stolen-laptop protection, not protection from malware that is already running as you.

Who can unwrap the key

On a laptop, the key is wrapped by the user's credential and usually a TPM. On a virtual machine, the hypervisor often holds a key that can unwrap the guest disk: snapshots, live migration, backup agents. That is still useful against the stolen-hosting-drive story. It is not useful against the hypervisor admin. Application-level encryption — the app wraps the data with a key the hypervisor does not have — is the next layer when the threat is the platform, not the bag.

What an admin actually does

  • Turn on FileVault, BitLocker, or LUKS for every portable and every workstation that leaves a desk. Escrow recovery keys in a vault, not in a spreadsheet.
  • Servers: encrypt volumes if the threat includes stolen disks or recycled hardware. Know whether the hypervisor can unwrap them.
  • Do not confuse full-disk with 'the database is encrypted'. If the app can read it, so can anyone the app will talk to.
  • In transit still needs TLS. Disk encryption does not cover the wire.

Informed by ASD's ACSC — ISM.