35
Full disk encryption - Hibernation and unlocking
(feddit.org)
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
Hmm, doesn't this undermine the whole purpose of encryption? If I understand that right, there will always be unencrypted stuff of me? Also when I completely shutdown?
You can do encrypted swap as well. If you use the same passphrase you can install
decrypt_keyctl
and use it as described here. It will cache the passphrase and send it to every other LUKS volume that needs decrypting so you have to type it only once. This is what I'm currently using and my root is on ZFS on LUKS.Another option which I haven't used is to have a small volume that only stores your LUKS keys as files, then your LUKS volumes reference those files as keys, then you decrypt only that volume with a passphrase upon boot.
Another option is to use a swap file. I used to run Ubuntu LTS on LUKS on LVM. That is disk > EFI and LVM partitions > LVM volume boot, LVM volume for LUKS > root filesystem inside LUKS > swapfile in that root filesystem. Upon boot, GRUB is able to read the Linux kernel straight from the boot volume on LVM. Boots the kernel. You get a prompt to decrypt the LUKS volume where the root filesystem is. Once decrypted, the kernel can access the swapfile if it needs to resume from it. If I didn't use ZFS, I'd be using this scheme as it's superbly flexible. Growing the volumes and filesystems for larger storage is easy. Adding redundancy via LVMRAID is easy. Changing the swap size is easy. Hibernation works.
I have it working with just one LUKS volume. The tricky part is, that the UUIDs of the decrypted and encrypted device differ. I would have to look at my setup to be sure (it has been more than a year I set this up and I am currently not on my computer).
Yes. Unfortunately FDE hibernation is not well supported and in fact Debian used to disable it in the kernel (though that night have changed).
IMHO is a big oversight because encrypted swap hibernation is safer than sleep.