atomic-data-docs icon indicating copy to clipboard operation
atomic-data-docs copied to clipboard

WebAuthn + Atomic Authentication

Open joepio opened this issue 3 years ago • 0 comments

The WebAuthn specification is a secure and user-friendly system for authentication. It uses public keys, signatures and hardware crypto linked to origins to prevent phishing attacks and skip dealing with passwords. All major browsers support it, although the UX is sometimes not ideal (e.g. on firefox we can't use MacOS fingerprints).

Here's how registration feels:

UX on safari MacOS / iOS is great:

Screenshot 2022-09-19 at 12 58 59

UX on chrome is a bit more confusing (it should provide a sensible default / big button), but more powerful:

Screenshot 2022-09-19 at 13 08 17

However, if you set the authentcation type to Platform (TPN), this screen becomes easier:

Screenshot 2022-09-19 at 13 11 15

Future

  • The big three (apple, google, microsoft) will work on expanded support for credential sharing with FIDO, which should standardize a UX for using your phone to sign in. Let's hope Mozilla also joins this!
  • Credential management API

Implementation suggestion

  • We only support the Platform (TPM) authenticator type. This means no confusing selection screens and weird UX for partial cross-browser support
  • If the client does not support this, we fall back on a less secure / less standardised alternative (e.g. store private key with web.crypto).

@adileo you'll find this interesting

joepio avatar Sep 19 '22 11:09 joepio