Passwordless Authentication
Passwordless is a multifactor authentication scheme that uses ownership and biometric factors, but not knowledge factors.
- FIDO2 with WebAuthn specifications provides a framework for passwordless authentication
- provides similar security to smart card authentication
- but does not require accounts to have digital certificates and PKI
- reducing the management burden
- FIDO2 WebAuthn improves on FIDO U2F by adding an API
- that allows web applications to work without a password element to authentication
- Most FIDO U2F authenticators should also support FIDO2/WebAuthn
How it Works
- The user chooses either:
- a roaming authenticator
- such as a security key
- or a platform authenticator implemented by the device OS
- such as Windows Hello or Face ID/Touch ID for macOS and iOS
- a roaming authenticator
- user configures a secure method or local gesture to confirm presence and authenticates the device
- gesture could be a fingerprint, face recognition, or PIN
- This credential is only ever validated locally by the authenticator
- user registers with a web application or service
- referred to as a relying party
- For each new relying party,
- the authenticator generates a public/private key pair
- user’s client browser obtains the public key from the authenticator and registers it to associate it with an account on the relying party
- When presented with an authentication challenge, the user performs the local gesture to unlock the private key
- private key is used to sign a confirmation that the local gesture worked
- which is then sent to the relying party
- private key is used to sign a confirmation that the local gesture worked
- The relying party uses the public key to verify the signature and authenticate the account session
Security
- For a passwordless system to be secure
- the authenticator must be trusted and resistant to spoofing or cloning attacks
- attestation is a mechanism for an authenticator device to prove that it is a root of trust
- each security key is manufactured with an attestation and model ID
- During the registration step, if the relying party requires attestation,
- the authenticator uses this key to send a report
- relying party can check the attestation report to verify that the authenticator is a known brand and model and supports whatever cryptographic properties the relying party demands
Attestation is the capability of an authenticator or other cryptographic module to prove that it is a root of trust and can provide reliable reporting to prove that a device or computer is a trustworthy platform.
Info
- The attestation key is not unique
- if it were unique, it would be easy to identify individuals and be a serious threat to privacy
- Instead, it identifies a particular brand and model.