2 ms·
Lately I've been experimenting with storing my kernel+initrd in an encrypted usb thumbdrive w/integrated keypad [0]. My laptop now has no bootable disks and si
by pengaru 5y ago
Lately I've been experimenting with storing my kernel+initrd in an encrypted usb thumbdrive w/integrated keypad [0].
My laptop now has no bootable disks and simply enters the BIOS boot menu when powered on without something bootable on usb, everything internal is just a dmcrypt volume.
This is just a way for me to help ensure my boot bits haven't been replaced or otherwise tampered with, while still letting me still trivially build/modify kernels and initrds just by unlocking the thumbdrive and inserting it.
It also has the nice side effect of not leaving the boot storage attached continuously, I have to explicitly make it available when I intend to update those components. When booting, I generally yank it the moment I see systemd's version print on the console.
It's also trivial to use a keyfile on the encrypted usb drive, so once the usb is unlocked and inserted, the laptop just boots to login. But then you're really relying on the black box thumbdrive for protecting secrets, vs. uninteresting boot bits you're just trying to prevent from getting replaced.
Another kind of interesting UX with the DT2000 is since it has a battery, you can unlock the drive anywhere (perhaps with more privacy, or just less visibility of doing something interesting), then bring it to the laptop.
I'm not saying this is a super secure solution or anything, it's just a somewhat interesting way to boot (and unlock if using a keyfile) a FDE machine which has proven to at least not be super annoying.
[0] https://www.kingston.com/unitedstates/us/usb-flash-drives/datatraveler-2000-encrypted-usb-flash-drive https://www.kingston.com/unitedstates/us/usb-flash-drives/da...
- pengaru 5y agoToo late to edit, but forgot to mention the DT2000 also supports a read-only mode. So if desired, in regular usage for boot purposes, it's not writable. It then needs to explicitly be switched to read-write via the keypad when performing kernel/initrd updates, if configured as such.
- vinsci 5y agoAh, paranoia is a good motivator to learn more. You might want to see this[1], for example. I think his solution is likely to be a trap, ie. not actually safe, but the presentation is at least a good example of how complicated it is to get security right. [1] Open Source is Insufficient to Solve Trust Problems in Hardware [video] https://media.ccc.de/v/36c3-10690-open_source_is_insufficient_to_solve_trust_problems_in_hardware https://media.ccc.de/v/36c3-10690-open_source_is_insufficien...