Skip to content

WebAuthn + Atomic Authentication #136

Open
@joepio

Description

@joepio

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    authenticationrelated to key management, signin processes

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions