La autenticación FIDO emplea criptografía de clave pública (PKC) para generar un par de claves criptográficas únicas asociadas a la cuenta de un usuario. Este par de claves, denominado “clave de paso”, consiste en una clave pública que permanece con el 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 (normalmente una cadena aleatoria de caracteres) al dispositivo del usuario. El dispositivo le da la instrucción al usuario que se autentique mediante un PIN o autenticación biométrica.
Si el usuario se autentica correctamente, 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 Verify que se utilizó la clave privada correcta y, si es así, otorga 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, aún puede iniciar sesión en esa cuenta en una computadora portátil. El usuario completará el reto de autenticación en el dispositivo móvil registrado.
FIDO también soporta el uso de claves de seguridad, también llamadas “tokens”, como método de autenticación. Las llaves de seguridad FIDO son pequeños dispositivos físicos dedicados que pueden crear pares de claves y firmar desafíos. Se conectan a otros dispositivos a través de Bluetooth, protocolos de comunicación de campo cercano (NFC) o un puerto USB. Una llave de seguridad FIDO puede ocupar el lugar de los datos biométricos o un PIN en el proceso de autenticación: la posesión de la clave autentica al usuario.
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.