TGViewer
Linux - Reddit Linux - Reddit @r_linux · 1.04K subscribers
Post #42950 62
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
GitHub GitHub - jibsta210/howdy-tpm: Unlock your keyring with your face. A PAM module that releases a TPM-sealed secret as PAM_AUTHTOK… Unlock your keyring with your face. A PAM module that releases a TPM-sealed secret as PAM_AUTHTOK when Howdy authenticates, so gnome-keyring/KWallet stop asking for a password you never typed. - ji...
More from @r_linux
  1. Sep 24, 2026Canonical is speeding up Ubuntu's kernel updates because it's drowning in AI-discovered bu…
  2. Sep 11, 2026I realized something about Linux: Close to no reboots necessary! Under Win$lop I had to re…
  3. Aug 28, 2026postmarketOS Linux booted on iPhone 6S https://redd.it/1w0vkmn @r_linux
  4. Aug 28, 2026How did you first get introduced to linux? What is your story on how you became a linux us…
  5. Aug 27, 2026Linux currently has all time high market share at 7.5%, but what exactly happened in the l…
  6. Aug 27, 2026Progress Report: Linux 7.2 - Asahi Linux https://asahilinux.org/2026/08/progress-report-7-…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →