hertg,

Question about implementation of . As I understand it, having a user login with passkey but without UV (User Verification) is not necessarily MFA as it could just be a stolen security key (Something you have).

How is (or should) with Passkeys implemented in practice? By setting UV as "required"? Or by setting UV as "preferred" and then based on the user response prompt for another factor (eg. ) in case there was no UV? I am a bit confused about how to fit Passkeys into the current logic.

tbroyer,
@tbroyer@piaille.fr avatar

@hertg The website says you should use "preferred" and check whether UV was actually used.

https://passkeys.dev/docs/use-cases/bootstrapping/#a-note-about-user-verification

See also this FAQ, but it's about supporting either passkeys or password+mfa:
https://fido-alliance.github.io/how-to-fido/HowToFIDO.html#71-phishing-resistant-account-bootstrapping-with-optional-passwordless-sign-in

iamkale,

@tbroyer @hertg Hello, one of the maintainers of passkeys.dev here 👋

You're correct that "preferred" can sometimes mean UV is not performed during auth, and that it is indeed single-factor auth if the user isn't also verified. It's a trade off an RP can make between user experience and security, and here's a scenario demonstrating that:

On macOS, when a user's device is in clamshell mode (closed but connected to external KB+M and monitor) they can't use Touch ID. If UV is "required" during auth then these users must always enter their local system password on the typical OS "use Touch ID" prompt instead. If UV is "preferred" then the OS skips this password prompt instead, and UV would return "false" in the response.

If the MacBook is open, then for the same "preferred" option the user would tap Touch ID and UV would be "true" in the response.

For "passwordless" authentication it can seem weird to laypeople that "a password is still required to log in." Is it worth sacrificing consistent multi-factor authentication to streamline login for users without an available biometric sensor? That depends entirely on your security modeling.

I would suggest it's okay to go with "preferred" and occasionally be okay with UV coming back false when you recognize the access device. If needed you can always step up to "required", for example when the user appears to be logging in from a new device, or for other privileged operations within your system.

nsa,
@nsa@hachyderm.io avatar
  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • DreamBathrooms
  • everett
  • ethstaker
  • magazineikmin
  • cubers
  • rosin
  • thenastyranch
  • Youngstown
  • mdbf
  • slotface
  • khanakhh
  • kavyap
  • InstantRegret
  • cisconetworking
  • anitta
  • GTA5RPClips
  • tester
  • Leos
  • tacticalgear
  • osvaldo12
  • Durango
  • ngwrru68w68
  • megavids
  • provamag3
  • normalnudes
  • modclub
  • JUstTest
  • lostlight
  • All magazines