Linux - Reddit
947 subscribers
4.52K photos
207 videos
1 file
41.8K links
Stay up-to-date with everything Linux!
Content directly fetched from the subreddit just for you.

Powered by : @r_channels
Download Telegram
I got Howdy face unlock to also unlock my keyring, using the TPM — because a face can't be an encryption key

Howdy gives you face login on Linux. What it doesn't give you is a password — and gnome-keyring, KWallet and friends want one. So you get recognised by your face, and then asked for your password anyway. Which rather defeats the point.



I spent a while trying to fix this the obvious way and it can't work, so I want to explain why before the actual solution, because the why is the interesting part.



Why you can't just hash your face

The obvious idea is: take the face encoding, hash it, use that as the key.



Face encodings are fuzzy. Here are six enrolments of my own face, captured seconds apart on the same camera, compared pairwise:



encoding 0 vs 1 : 0.0829

encoding 0 vs 4 : 0.3609

encoding 1 vs 4 : 0.3846

encoding 2 vs 5 : 0.3166 (identical vectors would be 0.0000)

Every capture is a different 128-float vector. That's why face matching uses a distance threshold rather than equality — Howdy accepts anything under \~0.57. A hash of one encoding is unrelated to a hash of the next, so there's nothing stable to derive a key from.



And even if you solved the noise: your face isn't secret, and the model file sits on disk right next to whatever it would be protecting.



What actually works

The biometric doesn't become the key. It authorises the TPM to release one.



face match -> authorises -> TPM unseals -> a real, stable secret

(fuzzy) (hardware) (exact)

Seal your keyring password to the TPM, and have a PAM module unseal it after Howdy authenticates and hand it to the stack as PAM_AUTHTOK. gnome-keyring picks it up and unlocks. No prompt.



That's it. \~250 lines of C.



https://github.com/jibsta210/howdy-tpm



Face at the greeter, straight to desktop, keyring unlocked, nothing typed.

https://redd.it/1vh8ija
@r_linux
WinBoat is alpha testing the GPU acceleration
https://redd.it/1vhugz4
@r_linux
Linux keeps getting better the more I use it

The longer I use linux, the more I appreciate it. I switched from windows a while ago, and I honestly haven't regretted it for a second.I'm a developer, and every time I learn a new command or discover another tool that makes my workflow easier, I realize how powerful and well-designed this operating system is. It feels like there's always something new to learn, and instead of making me frustrated, it just makes me enjoy using it even more. At this point, going back to windows for my daily development work would feel like a huge step backward.

https://redd.it/1vi62gs
@r_linux
PULS DiskInfo - Disk Monitoring and Benchmark Project for Linux
https://redd.it/1vi0iae
@r_linux
Just read “Just for fun”

Thank you Linus and David. I know this book is from 2001. I tend to be a late bloomer is all respects. Linux included. Books like this help fill in the gaps and provide excellent context. My favorite: “I don’t proactively delegate as much as I wait for people to come forward and volunteer to take over things.”

https://redd.it/1viiw05
@r_linux
Trying Linux as my daily desktop after years of macOS and Windows
https://redd.it/1vipmts
@r_linux
Thoughts from someone who just got into Linux.

TLDR: Pick your desktop environment first. Distros do not matter until you know what UI you like.
Currently running base Arch with CachyOS kernel and GNOME.

Day 9 on Linux. After all the distro hopping and agonizing over which one to choose, I came to a pretty surprising conclusion, the distro doesn’t matter at all until you know what DE you want.

Linux users are always quick to recommend a distro, but they rarely suggest a DE, terminal, or daily driver software, at least, that was my experience as a beginner.

The more I learned, the more I realized you can make almost every distro function identically at a surface level. Distros and kernels really only come into play after you figure out your interface and workflow preferences first. Linux is taught completely backwards.

Just some random midnight thoughts from a new user. Anyway this is what I ended up with for a primarily gaming rig.

My Current Setup.

I eventually landed on base Arch, running the CachyOS repositories and kernel, with GNOME as my DE. I originally tried CachyOS directly, but swapped to base Arch to cut down on package bloat, my current install sits at around \~950 packages, whereas a fresh CachyOS GNOME install was sitting at around \~1,800 on first boot.

https://redd.it/1viqo0g
@r_linux
PULS Linux Kernel/GRUB Management Tool
https://redd.it/1vityel
@r_linux