But what is the threat model where a TPM-stored LUKS key protects against?
I fail to see it. It doesn’t protect against any physical attacks at all, and it also doesn’t protect against attacks while the system is powered on.
It seems to only protect against the attack of someone stealing your hard drive out of your system but leaving the entire system behind. Maybe for encrypting extra data drives that will want to be resold later? But that is more a datacenter threat model
Let’s say you have LUKS with TPM enabled. Verified or Safe Boot is also on, so someone cannot access your decrypted files just with some live usb distro. And let’s say you also have a password set for changing BIOS/UEFI settings so the attacker cannot disable safe boot without a password. So the attacker might want to steal the hard drive in this case to get the data, but that’s also not possible because the hard drive is encrypted and the key is in the TPM. The way TPM also checks for integrity makes the system tamper-proof. So any attempt at tampering with the hardware will trigger the tamper protection and ask the user for a recovery passphrase to let the TPM hand over the decryption key again. So actually TPM is useless without safe boot and without a password for the user account in your OS. The only thing protecting your data from the attacker in this case is your user password… unless the user has one of these raspberry pi pico devices that are programmed to take the TPM keys sent to the CPU at boot in plaintext. Though I am pretty sure this is also fixed or will be fixed in the future. Maybe public key cryptography could help. I haven’t researched that yet.
TL;DR: TPM is pretty useless without safe boot, but is pretty decent with safe boot. TPM is not the securest thing in the world but for a regular user it’s probably the best choice without sacrificing convenience.
Just wanted to add that your BIOS password can be circumvented by taking out the CMOS battery. That will clear all your settings and allow unrestricted access. A BIOS password should absolutely never be used as a form of security, it is trivial to bypass.
Granted, I don’t believe that the TPM will give the key if secure boot were disabled, I just wanted to mention that BIOS passwords don’t do anything against any real attack.
I also want to add that the TPM will request the recovery key if the BIOS goes back to factory defaults. I also think changing the secure boot setting might trigger it. If that’s the case then a BIOS password is pretty useless.
I believe that the TPM will refuse to provide keys after secure boot is disabled, but I didn’t intend to imply that it could be used to bypass TPM decryption or anything. Just as an aside that BIOS passwords are effectively useless at preventing access to the BIOS.
Aside from the full scenarios provided in the other comments, there is another, more simple reason to still prefer it: your daily workflow is not intercepted, but if your disk dies, you can throw it out and replace it without a second thought, since it was encrypted all the time.
The threat ia that someone who uses a shitty password and then their laptop gets taken by a sophisticated actor that could crack their stupid password in an hour without the TPM wiping itself after X failed attempts.
The solution, of course, is to not use shitty passwords
You still have a scenario where the encryption key is still on your physical device, LUKS with or without TPM, or … some kind of TPM based Linux encryption solution I have never heard of?
Does Windows Secure Boot work on Linux via the TPM?
No…
Am I missing something?
Theres no point in involving TPM in securing a linux computer.
In a scenario where you’ve physically lost your computer, using TPM or not it wont matter if your pc gets into the hands of someone who can attempt to brute force the keys.
If your pc is remotely compromised to the point it has something on it that can grab your keys, it also will not matter if you are using TPM in some way.
The only practical use of full disk encryption is if your linux pc and or laptop gets stolen and falls into the hands of a non tech savvy person, and in that scenario, going through the trouble of correctly binding LUKS to TPM will have just been a waste of time.
Thus, you should probably just use LUKS and not bother routing it through TPM.
This person asked if they can make PopOS secure via TPM.
I am saying that while yes, you can, there isnt much point, because setting up LUKS to work with TPM is inconvenient, easy to fuck up, and basically offers no additional protection against all but extremely implausible security scenarios for basically everyone other than bladed server room admins worried about corporate espionage who are for some reason running bare metal PopOS on their server racks.
Like the only actual use case I can see for this is /maybe/ having a LUKS encrypted portable backup drive, but even then you can still base the encryption key in the actual main pc’s harddrive without using tpm, though at /that and only that point/ are we approaching parity between the difficulty of using or not using tpm to accomplish this.
I think it even increases the security by not asking for the passphrase. Because the moment it asks, you know your machine has been tampered with and that you should be alert.
You don’t seem to understand how TPM works at all. You cannot extract keys from the TPM, it provides protection against any attack that involves removing the hard drive from the computer it is installed in. This is not like storing an encryption key on a USB drive, as you seem to think. I recommend you actually do some reading on TPM before you attempt to talk with any authority. I don’t personally think it’s a great solution (for me, at least), but not for any of the reasons you’ve listed in your comments.
LUKS encrypted portable backup drive
You can’t use TPM-based encryption on a portable drive, that isn’t even possible. That’s exactly the point of TPM to begin with. You know, the whole Trusted Platform Module? That exists to ensure your hard drive (or whatever other use you have for the TPM) cannot boot or be read by any machine other than the one it was set up with. That’s the entire premise of establishing a root of trust. What are you on about?
deleted by creator
Ideally the key isn’t stored anywhere on the machine that contains the storage medium the key is for.
deleted by creator
But what is the threat model where a TPM-stored LUKS key protects against?
I fail to see it. It doesn’t protect against any physical attacks at all, and it also doesn’t protect against attacks while the system is powered on.
It seems to only protect against the attack of someone stealing your hard drive out of your system but leaving the entire system behind. Maybe for encrypting extra data drives that will want to be resold later? But that is more a datacenter threat model
Let’s say you have LUKS with TPM enabled. Verified or Safe Boot is also on, so someone cannot access your decrypted files just with some live usb distro. And let’s say you also have a password set for changing BIOS/UEFI settings so the attacker cannot disable safe boot without a password. So the attacker might want to steal the hard drive in this case to get the data, but that’s also not possible because the hard drive is encrypted and the key is in the TPM. The way TPM also checks for integrity makes the system tamper-proof. So any attempt at tampering with the hardware will trigger the tamper protection and ask the user for a recovery passphrase to let the TPM hand over the decryption key again. So actually TPM is useless without safe boot and without a password for the user account in your OS. The only thing protecting your data from the attacker in this case is your user password… unless the user has one of these raspberry pi pico devices that are programmed to take the TPM keys sent to the CPU at boot in plaintext. Though I am pretty sure this is also fixed or will be fixed in the future. Maybe public key cryptography could help. I haven’t researched that yet.
TL;DR: TPM is pretty useless without safe boot, but is pretty decent with safe boot. TPM is not the securest thing in the world but for a regular user it’s probably the best choice without sacrificing convenience.
Just wanted to add that your BIOS password can be circumvented by taking out the CMOS battery. That will clear all your settings and allow unrestricted access. A BIOS password should absolutely never be used as a form of security, it is trivial to bypass.
Granted, I don’t believe that the TPM will give the key if secure boot were disabled, I just wanted to mention that BIOS passwords don’t do anything against any real attack.
I also want to add that the TPM will request the recovery key if the BIOS goes back to factory defaults. I also think changing the secure boot setting might trigger it. If that’s the case then a BIOS password is pretty useless.
I believe that the TPM will refuse to provide keys after secure boot is disabled, but I didn’t intend to imply that it could be used to bypass TPM decryption or anything. Just as an aside that BIOS passwords are effectively useless at preventing access to the BIOS.
It does seem like most of the TPMs indeed do not provide the keys if secure boot is disabled. Sorry for the misunderstanding.
Aside from the full scenarios provided in the other comments, there is another, more simple reason to still prefer it: your daily workflow is not intercepted, but if your disk dies, you can throw it out and replace it without a second thought, since it was encrypted all the time.
deleted by creator
The threat ia that someone who uses a shitty password and then their laptop gets taken by a sophisticated actor that could crack their stupid password in an hour without the TPM wiping itself after X failed attempts.
The solution, of course, is to not use shitty passwords
If being able to boot unattended is more important than potential data leak if the server is physically compromised, then that’s what you have to do.
@hperrin @Dirk you can do this somehow and I even had it working at one point, but it was kinda a pain in the ass and I never redid it
https://glentomkowiak.medium.com/luks-with-tpm-in-ubuntu-df867cad9a1
Not necessarily?
Im pretty sure I used PopOS for 3 years with LUKS encryption with TPM disabled.
You don’t need TPM to enable LUKS. TPM allows you to store the LUKS keys in a secure enclave in order to automatically decrypt the drives on boot.
You also do not need TPM to automatically decrypt drives on boot, I have also done this on PopOS for 3 years, with TPM disabled.
deleted by creator
Ok… so… if you have TPM… and LUKS…
You still have a scenario where the encryption key is still on your physical device, LUKS with or without TPM, or … some kind of TPM based Linux encryption solution I have never heard of?
Does Windows Secure Boot work on Linux via the TPM?
No…
Am I missing something?
Theres no point in involving TPM in securing a linux computer.
In a scenario where you’ve physically lost your computer, using TPM or not it wont matter if your pc gets into the hands of someone who can attempt to brute force the keys.
If your pc is remotely compromised to the point it has something on it that can grab your keys, it also will not matter if you are using TPM in some way.
The only practical use of full disk encryption is if your linux pc and or laptop gets stolen and falls into the hands of a non tech savvy person, and in that scenario, going through the trouble of correctly binding LUKS to TPM will have just been a waste of time.
Thus, you should probably just use LUKS and not bother routing it through TPM.
deleted by creator
This person asked if they can make PopOS secure via TPM.
I am saying that while yes, you can, there isnt much point, because setting up LUKS to work with TPM is inconvenient, easy to fuck up, and basically offers no additional protection against all but extremely implausible security scenarios for basically everyone other than bladed server room admins worried about corporate espionage who are for some reason running bare metal PopOS on their server racks.
Like the only actual use case I can see for this is /maybe/ having a LUKS encrypted portable backup drive, but even then you can still base the encryption key in the actual main pc’s harddrive without using tpm, though at /that and only that point/ are we approaching parity between the difficulty of using or not using tpm to accomplish this.
deleted by creator
I think it even increases the security by not asking for the passphrase. Because the moment it asks, you know your machine has been tampered with and that you should be alert.
You don’t seem to understand how TPM works at all. You cannot extract keys from the TPM, it provides protection against any attack that involves removing the hard drive from the computer it is installed in. This is not like storing an encryption key on a USB drive, as you seem to think. I recommend you actually do some reading on TPM before you attempt to talk with any authority. I don’t personally think it’s a great solution (for me, at least), but not for any of the reasons you’ve listed in your comments.
You can’t use TPM-based encryption on a portable drive, that isn’t even possible. That’s exactly the point of TPM to begin with. You know, the whole Trusted Platform Module? That exists to ensure your hard drive (or whatever other use you have for the TPM) cannot boot or be read by any machine other than the one it was set up with. That’s the entire premise of establishing a root of trust. What are you on about?
Please, read about how TPM works.