I’m curious about the possible uses of the hardware Trusted Protection Module for automatic login or transfer encryption. I’m not really looking to solve anything or pry. I’m just curious about the use cases as I’m exploring network attached storage and to a lesser extent self hosting. I see a lot of places where public private keys are generated and wonder why I don’t see people mention generating the public key from TPM where the private key is never accessible at all.

38 points

Personally, I don’t see how a TPM module is more useful than full disk encryption with a password you enter on boot.

I struggle to see how it makes automatic login safer given it does nothing to protect against the really common threat of someone physically stealing your laptop or desktop.

I don’t trust any encryption or authentication system that I don’t have access to the keys for. Microsoft has also kinda made me feel it’s more for vendor lock in, like they did with secure boot.

Still, I’m probably being unreasonably pessimistic about it though - be interested to see any practical use cases of it.

permalink
report
reply
15 points

In theory, the TPM can be used to verify that the bootloader, kernel and injtamfs haven’t been tampered with, which is very very useful as FDE (in the running machine) is only good if that remains true.

permalink
report
parent
reply
9 points

I’ve heard that before, but there are two main problems that stick out to me:

  • A lot of the marketing for TPM (at least when I was setting up bitlocker on Windows) suggests that it’s used to support decrypting drives without a password on boot. But that doesn’t seem to offer any protection from the devices being stolen. The bootloader may be safe but it’s not actually verifying that I’m the one booting the device.
  • I can’t think of a situation where someone would be able to actually modify the bootloader without also having full access to the files and secrets. Especially in a single-boot environment where every time the system is running, the device is decrypted.

I’m not saying that it’s all just a scam or anything like that, but it really feels like I’m missing something important and obvious.

permalink
report
parent
reply
10 points

The bootloader is stored unencrypted on your disk. Therefore it is trivial to modify, the other person just needs to power down your PC, take the hard drive out, mount it on their own PC and modify stuff. This is the Evil Maid attack the other person talked about.

permalink
report
parent
reply
2 points

While I don’t use TPM myself (I dislike being tied to a specific hardware) the way it protects you is:

Disk is protected through encryption, so you can’t remove and inject anything/hack the password.

If boot is protected/signed/authorized only, a random person can’t load an external OS and modify the disk either.

All this together would say, even if someone acquires your computer, they can’t do anything to it without an account with access, or an exploit that works before a user logs.

In a way, the attack surface can be bigger than if you simply encrypted your disk with a key and password protect that key.

permalink
report
parent
reply
2 points

If the device is stolen, your disk is still encrypted at all time. If you believe your OS’s login system is reasonably secure, then the attacker should have no way to access your data: they cannot access the data from software because it is blocked by login screen, they cannot access the data from hardware because it is protected by FDE.

One of the misconceptions I had before is that I assumed that the disk will be decrypted when you enter the LUKS password. This is not true, the password is loaded into the ram, and only decrypts necessary parts to RAM. All the data on the disk is never decrypted, even when you are working in your OS.

permalink
report
parent
reply
1 point
*
Deleted by creator
permalink
report
parent
reply
2 points
*

The key is only released into ram, so unless the thief can read content from ram they cannot easily decrypt your disk. And most common thief probably do not have that ability.

That being said, you do need a login password to prevent the thief straight up booting into your OS and copy everything using the file manager…

One of the advantage of using TPM with FDE, is that you can use a much longer random password. If I dont use TPM I am forced to use a password I can remember, which is likely the same password I use somewhere else. This means if someone close to me stole my laptop, they will have reasonable chance of guessing my password.

permalink
report
parent
reply
0 points

Personally, I don’t see how a TPM module is more useful than full disk encryption with a password you enter on boot.

As I understand, the significant advantage of using TPM is that your private key cannot be stolen. There is no way to take the key from the machine, an attacker would need to access the target resource using your private key from your computer.

permalink
report
parent
reply
-2 points
*

You can use insecure boot and not enter the password. It can’t make stuff meaningfully more secure though, it just plain doesn’t add any protection against evil maid.

permalink
report
parent
reply
1 point
*
Deleted by creator
permalink
report
parent
reply
12 points

I use it for Data-at-rest Encryption. Not much else though.

permalink
report
reply
12 points
*
Deleted by creator
permalink
report
reply
8 points

100% Yes

  • Currently using systemd-creds to displace any secrets in env

  • Spending time getting to grips with Keylime

permalink
report
reply
8 points

The problem with this is that the key would be “machine based” and not “person”

So it’s better for “service accounts”

permalink
report
reply
4 points
*

Having read poetterings blog posts a bit and he explains that the TPM2 based encryption is entirely just for system resources (basically everything under / with exception of /home). For home he still “envisions” (its already possible and not really hard with sd-homed) that the encryption is based on the users passphrase/key/whatever and not unlockable by anyone else than the users passphrase/…

So user specific stuff is tied to user keys while system stuff is tied to the system & OS.
If you wanna read the post: https://0pointer.net/blog/fitting-everything-together.html

permalink
report
parent
reply

Linux

!linux@lemmy.ml

Create post

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.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

Community stats

  • 7.4K

    Monthly active users

  • 6.6K

    Posts

  • 180K

    Comments