Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable user verification (UV), make it configurable #68

Open
brynwhyman opened this issue Nov 22, 2019 · 2 comments
Open

Disable user verification (UV), make it configurable #68

brynwhyman opened this issue Nov 22, 2019 · 2 comments

Comments

@brynwhyman
Copy link

brynwhyman commented Nov 22, 2019

Overview

We've had some reports of operating systems requiring a PIN to be entered before a Yubikey can be used for authentication. Any subsequent use of the Yubikey then appears to force a PIN before use.

Reading some documentation, this appears to be defined by a feature called user verification (UV) - something only applicable to FIDO2 and WebAuthn.

Yubico recommend explicitly enabling or disabling user verification to avoid unintended, or unexpected user interaction: "For second factor flows, we recommended to set UV to discouraged to prevent a PIN prompt when using a YubiKey for authentication."

Expected outcome

  • UV is configured to be set to discouraged by default.
  • The UV type can be configured by a Developer via yaml
  • Documentation is created to explain the purpose of the default option being set to discouraged; and when a Developer might want to change this.

When might a Developer want to change this? From Yubico:
the reason we say it should be discouraged when used in 2FA is because the user has already provided username + password and thus an additional PIN will be a very clunky UX. The PIN should be prompted for only in a FIDO2 usernameless/passwordless flow for example, because then it will itself act as the 2F in addition to the user having possession of the YubiKey itself.

Notes

See spec: https://www.w3.org/TR/webauthn/#userVerificationRequirement

Yubico summary: https://developers.yubico.com/WebAuthn/WebAuthn_Developer_Guide/User_Presence_vs_User_Verification.html which outlines the broad scenarios that this could kick off: "User verification can take various forms, such as password, PIN, fingerprint, public key credential, etc."

@brynwhyman
Copy link
Author

Note, Yubico has provided this recommendation in a document sent directly to the module maintainers.

@robbieaverill
Copy link
Contributor

Good find. Maybe it can be disabled by default but configurable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants