La autenticación FIDO2 utiliza criptografía de clave pública para generar un par de claves criptográficas únicas, denominadas "clave de acceso", asociadas con la cuenta de un usuario. El par de claves consta de una clave pública que permanece en poder del proveedor de servicios y una clave privada que reside en el dispositivo del usuario.
Cuando el usuario inicia sesión en su cuenta, el proveedor de servicios envía un desafío, por lo general, una cadena aleatoria de caracteres, al dispositivo del usuario. El dispositivo solicita al usuario que se autentique introduciendo un PIN o utilizando la autenticación biométrica.
Si el usuario se autentica exitosamente, el dispositivo utiliza la clave privada para firmar el desafío y enviarlo de vuelta al proveedor de servicios. El proveedor de servicios utiliza la clave pública para verificar que se ha utilizado la clave privada correcta y, de ser así, concede al usuario acceso a su cuenta.
Una clave de acceso almacenada en un dispositivo se puede utilizar para iniciar sesión en un servicio en otro dispositivo. Por ejemplo, si un usuario configura una clave de acceso para su cuenta de correo electrónico en su dispositivo móvil, podrá seguir accediendo a su cuenta de correo electrónico en una computadora portátil. El usuario completaría el desafío de autenticación en el dispositivo móvil registrado.
FIDO2 también admite el uso de claves de seguridad, como YubiKey o Google Titan, como método de autenticación.
Las claves de seguridad, también llamadas "tokens", son pequeños dispositivos físicos que transmiten información de autenticación directamente a un servicio. Pueden conectarse a través de Bluetooth, protocolos de comunicación de campo cercano (NFC) o un puerto USB. Los usuarios pueden utilizar una clave de seguridad FIDO2 en lugar de datos biométricos o un PIN para autenticarse y firmar un reto.
Debido a que la clave privada se almacena en el dispositivo del usuario, y nunca sale, se minimiza la posibilidad de una violación de seguridad. Los hackers no pueden robarlo irrumpiendo en una base de datos o interceptando las comunicaciones. La clave pública que reside en el proveedor de servicios no contiene información confidencial y es de poca utilidad para los hackers.