[personal profile] mjg59
There's a decent number of laptops with fingerprint readers that are supported by Linux, and Gnome has some nice integration to make use of that for authentication purposes. But if you log in with a fingerprint, the moment you start any app that wants to access stored passwords you'll get a prompt asking you to type in your password, which feels like it somewhat defeats the point. Mac users don't have this problem - authenticate with TouchID and all your passwords are available after login. Why the difference?

Fingerprint detection can be done in two primary ways. The first is that a fingerprint reader is effectively just a scanner - it passes a graphical representation of the fingerprint back to the OS and the OS decides whether or not it matches an enrolled finger. The second is for the fingerprint reader to make that determination itself, either storing a set of trusted fingerprints in its own storage or supporting being passed a set of encrypted images to compare against. Fprint supports both of these, but note that in both cases all that we get at the end of the day is a statement of "The fingerprint matched" or "The fingerprint didn't match" - we can't associate anything else with that.

Apple's solution involves wiring the fingerprint reader to a secure enclave, an independently running security chip that can store encrypted secrets or keys and only release them under pre-defined circumstances. Rather than the fingerprint reader providing information directly to the OS, it provides it to the secure enclave. If the fingerprint matches, the secure enclave can then provide some otherwise secret material to the OS. Critically, if the fingerprint doesn't match, the enclave will never release this material.

And that's the difference. When you perform TouchID authentication, the secure enclave can decide to release a secret that can be used to decrypt your keyring. We can't easily do this under Linux because we don't have an interface to store those secrets. The secret material can't just be stored on disk - that would allow anyone who had access to the disk to use that material to decrypt the keyring and get access to the passwords, defeating the object. We can't use the TPM because there's no secure communications channel between the fingerprint reader and the TPM, so we can't configure the TPM to release secrets only if an associated fingerprint is provided.

So the simple answer is that fingerprint unlock doesn't unlock the keyring because there's currently no secure way to do that. It's not intransigence on the part of the developers or a conspiracy to make life more annoying. It'd be great to fix it, but I don't see an easy way to do so at the moment.

Re: Apple devices also need PIN/password

Date: 2023-12-05 07:54 am (UTC)
From: (Anonymous)
Also not entirely true. Afaik at least iPhones are very happy to let you login with only biometrics if you set it that way. Granted, that makes it less secure but the reason is still the same as in the OP. (I don’t want to check right now if it also unlocks passwords, but assume it does)

Re: Apple devices also need PIN/password

Date: 2023-12-05 08:05 am (UTC)
From: (Anonymous)
This is wrong. iPhone SE 2020 user here—rebooting the phone will not let me unlock the phone until the PIN is entered correctly.

Touch ID simply doesn’t work until the PIN is entered at least once after booting up.

Re: Apple devices also need PIN/password

Date: 2023-12-05 08:07 am (UTC)
From: (Anonymous)
Reboot an iPhone, and try to unlock it with your fingerprint. It'll always pop up the keypad with a message saying that entering your PIN is required after the iPhone is restarted.

Re: Apple devices also need PIN/password

Date: 2023-12-07 04:45 pm (UTC)
lovingboth: (Default)
From: [personal profile] lovingboth
Same with a Google Pixel. It will let you do without a PIN / password / drawn shape almost of the rest of the time, but will insist on you do it after about a week or two of use. Usually when you need to unlock your phone quickly.

Profile

Matthew Garrett

About Matthew

Power management, mobile and firmware developer on Linux. Security developer at Aurora. Ex-biologist. [personal profile] mjg59 on Twitter. Content here should not be interpreted as the opinion of my employer. Also on Mastodon.

Page Summary

Expand Cut Tags

No cut tags