Bug 3218 - Support biometric user validation
Summary: Support biometric user validation
Status: NEW
Alias: None
Product: Portable OpenSSH
Classification: Unclassified
Component: ssh-keygen (show other bugs)
Version: 8.4p1
Hardware: All All
: P5 enhancement
Assignee: Assigned to nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-03 03:39 AEST by Andreas
Modified: 2021-01-08 23:20 AEDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas 2020-10-03 03:39:43 AEST
I'm using a Trustkey G310. On Webauthn enabled sites (e.g. Bitwarden), the key requires a valid fingerprint to authenticate, effectively making the key two factors at once.

While -O verify-required does validate against the key's PIN, it doesn't request fingerprint verification.

I'd like to see the fingerprint user validation to be supported.
Comment 1 Damien Miller 2020-11-20 14:01:25 AEDT
I'd like to see this too - I'm trying to obtain hardware to help implement it.
Comment 2 Damien Miller 2021-01-08 14:39:20 AEDT
I have tested against a pre-release Yubikey bio and the biometric authentication does work - it will set the "user verified" flag in the signature without needing a PIN.

Assuming your device works similarly, then simply adding "verify-required" to your key lines in ~/.ssh/authorized_keys should be sufficient.
Comment 3 Damien Miller 2021-01-08 14:41:31 AEDT
Just to clarify: you don't need to set verify-required when *generating* the key
Comment 4 Andreas 2021-01-08 20:56:32 AEDT
Tested "verify-required" as option in authorized_keys, but get "Permission denied" then. 

The key is blinking light-blue, indicating FIDO2 mode without fingerprint verification, while it should blink dark-blue, using FPV.

Taken from earlier conversation with trustkey, it appears that ssh doesn't request the key to fp-verify. I'd expect the ssh client to request FPV when the server has the option verify-required present.
Comment 5 Damien Miller 2021-01-08 23:20:16 AEDT
AFAIK there is no FIDO flag that we can set to request biometric verification. There is a concept of "user verification", but that is commingled with PIN verification.

If you can figure out what flags your webauthn endpoint is setting then it might be possible to replicate them. It is possible that it is using a vendor extension for your key in particular...