FIDO authentication uses public key cryptography (PKC) to generate a unique cryptographic key pair associated with a user’s account. This key pair, called a “passkey,” consists of a public key that stays with the service provider and a private key that resides on the user’s device.
When the user logs in to their account, the service provider sends a challenge—typically a random string of characters—to the user’s device. The device prompts the user to authenticate themselves through a PIN or biometric authentication.
If the user successfully authenticates, the device uses the private key to sign the challenge and send it back to the service provider. The service provider uses the public key to verify that the right private key was used and—if so—grants the user access to their account.
A passkey stored on one device can be used to log in to a service on another device. For example, if a user sets up a passkey for their email account on their mobile device, they can still log in to that account on a laptop. The user would complete the authentication challenge on the registered mobile device.
FIDO also supports the use of security keys, also called “hardware tokens,” as an authentication method. FIDO security keys are small, dedicated physical devices that can create key pairs and sign challenges. They connect to other devices through Bluetooth, near-field communication (NFC) protocols or a USB port. A FIDO security key can take the place of biometric data or a PIN in the authentication process: possession of the key authenticates the user.
Because the private key is stored on—and never leaves—the user’s device, the possibility of a security breach is minimized. Hackers cannot steal it by breaking into a database or intercepting communications. The public key that resides with the service provider contains no sensitive information and is of little use to hackers.