When a server already has a secure connection, it can send a random challenge for the client to sign. FIDO2 applies this asymmetric-key approach to user authentication, specifically targeting phishing; replaying an old signature does not answer the new challenge. section 11.2.4
FIDO2 divides the authentication system into two cooperating specifications:
- CTAP lets clients communicate with roaming authenticators, such as external hardware connected to a main device. section 11.2.4
- WebAuthn lets web browsers and web applications authenticate users with hardware authenticators. section 11.2.4
- Authenticators generate and store signing keys, then sign challenges when requested. section 11.2.4
Figure 11.12 To authenticate without using a password, applications can allow users to either use symmetric keys via OTP-based protocols or use asymmetric keys via the FIDO2 standard. FIDO2 supports different types of authenticators, roaming authenticators (via the CTAP standard) or built-in authenticators.
Compare passwordless authentication choices: one-time passwords use symmetric keys, while FIDO2 uses asymmetric keys and supports roaming or built-in authenticators. section 11.2.4
Roaming and built-in authenticators
A YubiKey represents a roaming authenticator, while Touch ID represents a built-in authenticator. Both can provide hardware-backed signing for FIDO2 authentication. section 11.2.4
