Hi! I want to try out fedora workstation in the near future (once 39 is out) and was wondering if systemd-homed is ready for everyday use yet.
I’m a bit paranoid and really need my private data encrypted. However, I don’t think that full disk encryption is practical for my daily use. Therefore I was really looking forward to the encryption possibilities of systemd-homed.
However, after reading up on it, I was a bit discouraged. AFAIK, there’s no option to setup systemd-homed at installation (of fedora). I was an Arch then Manjaro, then Endeavour user for years but don’t have the time/patience anymore to configure major parrts of my system anymore. Also, the documentation doesn’t seem too noob-friendly to me, which also plays into the time/patience argument.
Is it ready? Can anyone seriously recommend it for a lazy ex-Arch user who doesn’t want to break another linux installation?
Thank you in advance. :)
To go back to basics, why is FDE not suitable for your needs?
I second this.
Full disk encryption is entirely practical for everyday use. If you don’t already have a dedicated TPM, your motherboard/CPU may provide a software TPM (fTPM?). If so, you don’t even have to interact with the machine during boot. It’s just a bit slower to start up (by a few seconds), which really isn’t a big issue for your average user.
Pardon my ignorance here, but I don’t get it how is the whole thing still safe with unlocking from TPM instead of me providing the password at boot time?
Considering now anyone can just boot the machine into the installed system then bruteforce/exploit something to get login/get read permissions and make a plain copy of the data?
Where, without tpm, as long as I do not type in the encryption password myself I have a pretty high guarantee that the data is safe, especially when I am not at the (powered down) computer.This is what I don’t understand either. It seems like with tpm it only protects the data from someone taking or copying the hard drive, but the bigger risk seems like what you describe
plus, using an encryption password and then automatically logging in the user prevents needing to enter two passwords while still keeping the data secure as long as the machine is off
You have a competent grasp of the situation
The idea behind it is that the files are stored encrypted at rest, which is really what you want, because once a system is booted, you have to play by the computer’s rules (respect file permissions, policies, etc.).
The TPM provides a secure mechanism to provide a decryption key to the computer during boot, eliminating the need for direct interaction.
Could it be compromised? Probably, but it would take considerably more effort than a man-in-the-middle on your keyboard via a logic analyzer.
This is a common misunderstanding insofar as how encryption works. You can’t flick a bit and TURN your storage unencrypted nor can you plausibly make your computer obey restrictions.
If your storage is encrypted it remains encrypted always including the file you have open right now. Your takes a plausibly length usable string and uses it to compute or retrieve the long binary number actually needed to decrypt your files. This number is stored in memory such that encrypted files can be decrypted when read into memory.
Once that key is loaded in memory anyone with 10 minutes and access to google could trivially unlock your computer in several different ways. It is virtually exactly like having no security whatsoever.
If you don’t actually enter a passphrase to unlock you have no meaningful security against anything but the most casual unmotivated snooping.
Your little sister might not be motivated enough to read your diary but the dipstick that stole your laptop will definitely be spending your money.
Once that key is loaded in memory anyone with 10 minutes and access to google could trivially unlock your computer in several different ways. It is virtually exactly like having no security whatsoever.
I highly doubt it.
If you have any tips for how I can personally bypass my computer’s encryption in 10 minutes without being able to login, I’d love to try my hand at it.
You aren’t actually asking to how to bypass encryption because the key is already in memory. You are asking about the much simpler task of compromising a computer with physical access to same. Depending on configuration this can be as ridiculous as killing the lockscreen process or as hard as physically opening the case chilling the contents of ram enough that data survives transfer to different physical hardware. See also the massive attack surface of the USB stack.
That doesn’t sound trivial at all.
deleted by creator
How so? The data is still encrypted on the drive after boot, so unless your machine also automatically logs you in, there shouldn’t be anything to worry about.
deleted by creator
Very true, which is why it’s important to run as few services and have a locked down firewall. Maintaining a minimal attack surface is everything.
If the attack involves stealing the machine it has been demonstrated that you can ice the ram and swap it into another machine without data loss, recover the keys, and access the drive.
If we’re talking apt adversaries it’s also possible to just build a ram sniffer
While true, I think most people’s concern is that their laptop is stolen and along with it all the access details for their email, online banking and so on.
If you’re doing things that mean you’re going to be the target of people with the knowledge, time, and technology to freeze the RAM and attempt to recover the data, you’re presumably already well aware of those (and other) dangers anyway.
As others explained: If the FDE key is in RAM, I’m vulnerable. My thread model includes a stolen Laptop with the attackers able to freeze my RAM and reading out the keys.
Thank you for mentioning TPM though. Didn’t know of that before. :)
There are plenty of reasons to not want FDE or not want just FDE alone. Shared computer, your data isn’t safe if you share the FDE password with another user who needs to share the system. He said he’s paranoid, so he is wanting his data encrypted above all. Home directory encryption, especially on top of FDE, while a performance hit, would do well for that. But most importantly, he said FDE isn’t practical for him, end of FDE story.
That’s a very absolutist way to look at a situation. It’s equally likely (in fact, much more likely) that OP is missing a detail or two about FDE, and we won’t know for sure until we discuss it.
The question was specific to systemd-homed. Jumping to why isn’t FDE good enough for you isn’t even logical. Sure they changed direction later, but it is not what was originally asked. In answering the primary question, additional questions from the OP may have arisen, which is fine. What is not fine is to assume incompetence from the start, which is what ya’ll were doing.
Simple convenience. I usually don’t have the time to wait one or two minutes until my full disk is decrypted (I am often late and the only person in a group meeting who brought a laptop for taking minutes).
I also use a weird keyboard layout (Neo 2) and I never got grub to load with that layout. Typing a 40+ passphrase in QWRETZ is just cumbersome to me.
Also: I hate to admit it, but I am a bit vain and simply would like a nice gui for entering my password.
Edit: I forgot to add that I’m playing with the idea of getting a surface tablet and installing linux on it. Then I couldn’t count on awlays having a usb keyboard with me.
You can setup FDE that utilizes TPM like Windows does with bitlocker, in such a way that your backup phrase is only necessary if something about your hardware changes.
Last I set it up however, there wasn’t any easy/automatic way. Searching “luks TPM” should get you started.
I’ve been using this guide for ages.
https://fedoramagazine.org/automatically-decrypt-your-disk-using-tpm2/
I need more than data security at rest. Reading out the keys from ram is well within my threat model.
In that case systemd won’t help you either.
Care to elaborate why? I thought that systemd can encrypt your home partition when locking your device.
When locking the device sure, but you could achieve a higher level of security by turning off the machine, or using hibernate with encrypted swap. Boot on my machine with FDE and an NVME sad literally takes seconds anyway…
Haha are you serious? In that case nothing short of full disk encryption and secure boot with your own keys is remotely adequate. Do you realize, that just encrypting your /home is at most a mild obscurity measure? If an attacker has potentially access to your computer and parts of it are unencrypted or unsigned, they could easily install a keylogger that sends out your data and/or password the next time you use your computer?!
If your situation is not just a psychological case of paranoia, but a real threat, then you absolutely need to work on your security knowledge a good amount!
I don’t really hppreciate your tone. Could you be a little less of a dick, please?
Keyloggers aren’t in my threat model (i.e.: they aren’t in the MO of my potential attackers).
I have a LUKS-encrypted laptop (1GB SSD), it takes about 10 seconds between typing in the password and the start of the boot process.
Good for you. I have the same setup and it feels too slow to me.
Would a FDE with FIDO2 hardware key meet your needs?
I don’t think so. There’s a high likelihood of both laptop and key ending in the same hands if the laptop is stolen.
The concept of hardware key is precisely to be removed as soon as you are not in front of the device.
In my case, I’m using one this way. It is tethered to myself with a metal chain, so as soon as I’m not in front of my computer, they are separated and my sensitive data protected. Of course it won’t prevent someone from threatening to harm me in order to get access to said key, but he might as well do the same to get access to any kind of password.
Keys can be confiscated. But in most juristicions you can’t legally be forced to give up a password.
Please take the threat modelling of other people seriously without second guessing it. If people explain openly why they have a certain threat model, I might already give them away to potential attackers.
Unfortunately I’m in one of those jurisdiction where you have to give password if asked by a competent authority (France). If confiscation during transit is a threat in any place I go, my FIDO2 key take another route than I do.
That wouldn’t help if they search your home.
I’m appalled that France is already so anti-privacy. But unfortunately, I can’t say that I’m surprised.
deleted by creator
I am pretty sure, you can as easily have encryption only on a single logical partition of that disk, considering you first create a luks partition, unlock it and then format the mapped device with the target filesystem (and install the OS on there).
Or have an entire LVM volume group on that one encrypted partition / mapped device. And have as many logical volumes inside as you want.
You could potentially run Windows in a VM, then you can get rid of the Windows partition and have it all sit within LUKS.
That’s not answering his question.
I’d like to tell you why you get downvoted:
https://en.wikipedia.org/wiki/XY_problem
X Y problems exist. And are fairly common in IT. That’s why it’s a good idea to ask questions like this.
He doesn’t need to explain why he doesn’t like FDE, there are plenty of reasons. Shared device, or maybe 2nd level of encryption, whatever. He already said it wasn’t what he wanted, the why is none of your business. If you can answer his question, do. If you can’t, just say you can’t. His preference is his preference. Now, you going to help the guy or not?
Also, I honestly don’t give a flying f if I get downvoted for telling you what you did wrong. Being in the right is all I need, thanks. Won’t be seeing your reply, blocking you before you try to be more of a smug ass.
Short interception here: I actually appreciate the question. I think I didn’t thoroughly explain what bugged me with FDE. And the X Y problem is something I’d like to be aware of.
The implied problems with FDE might actually not fit my situation or threat model, why I think it was important to elaborate.
Edit: Just thought of it in this way: In this context, I’d rather be asked than have things inferred about me.
Wow. This is not going well… Thanks for trying but I guess we left the realm of reason somehow. I’m glad neither of us wants to continue.
Wth kid. I stick up for you against someone assuming you don’t know anything, and then you stick your hand up and say you actually don’t? Fine, you deserve one another.
For the record, if you can afford the performance hit and are on SSD, I recommend either LUKS FDE or filesystem based encryption (ZFS, for example) + Home directory encryption. Don’t forget to encrypt the swap, too. That way if you ever have to share the FDE passphrase with someone you share a computer with, your data in your home directory is still safe, and it can encrypt the filenames, too. If you’re on spinning disk, you can still go that hard, but it’ll be noticeably slower.
FDE is fine for most work computers. Home directory encryption is for shared computers, or to stack on FDE if you’re sufficiently paranoid.
Works for me on arch linux. No hickups or anything and I am using it since it was first announced.
Never used systemd-homed, but i know an alternative to full disk encryption is having the root partition unencrypted, and the home partition unlocked at boot. For a single user machine at least, i don’t see any difference when using it than unlocking at login. But then having 2 partitions is mandatory, and that may be a problem when running out of space.
I read from your answers on other comments, that you do want to have even protection if someone forces you to give up your password and at the same time have the convenience of a quick boot process and avoid full disk encryption? (Not provoking, just want to make sure I get you right). Please consider, that if you don’t make your thread-model clear it will be really hard to give a proper advice.
Please be aware that it’s often a trade between usability and comfort on the one hand and proper security on the other hand. I’m not really sure if you want to target both at the same priority, that might not work out. You will not achieve Maximum convenience and maximum security at the same time.
If you want to actually commit to high security, there’s a thing with LUKS or VeraCrypt supporting plausible deniability. Main concept is, you have one key that decrypts sort of a mock up file system with uncritical data (or misleading, slightly compromising stuff, however you want to play it). Then you have a way longer key, that unlocks the actual data. This can cover your ass for the thread model of some actor forcing you to give up you password. Have a look at the VeraCrypt documentation on plausible deniability.
Another great read for me was hitchhikers guide to online anonymity. Might be off topic, but there are some great advices and guides to increase your anonymity and considerations about online security too. If you want to go fully paranoid on a Snowden level, that might be you way to go. Took it as a inspiration to get myself a QubesOS setup and got a lot of insights with that one.
I really don’t want to discourage you, it’s the opposite! I appreciate everyone thinking about how to secure their stuff properly, but be aware that you might need to dig yourself deep into it, if you want to achieve the goals you mentioned.
Wow! Thank you for the thorough answer!
You misunderstood one thing, though: I don’t consider someone forcing me to give up my password to be a valid attack vector. My devices can be stolen and all hardware keys with them. But I woun’t get blackmailed to give anything up. Maybe plausible deniability is a good backup, though.
I’d like to go into further detail, but I feel like I already said too much for a non-throwaway account.
I do realize that convenience and security are a two ends of a see-saw. Thank you for the Vera.crypt hint. Even though I don’t know if I would use it, it sure sounds interesting.