A autenticação FIDO2 utiliza criptografia de chave pública para gerar um par de chaves criptográficas exclusivo, chamado de "senha", associado à conta do usuário. O par de chaves consiste em uma chave pública que permanece com o provedor de serviços e uma chave privada que reside no dispositivo do usuário.
Quando o usuário faz login em sua conta, o provedor de serviços envia um desafio, normalmente uma sequência aleatória de caracteres, para o dispositivo do usuário. O dispositivo solicita que o usuário se autentique inserindo um PIN ou por meio de autenticação biométrica.
Se o usuário se autenticar com êxito, o dispositivo usará a chave privada para assinar o desafio e enviá-lo de volta ao provedor de serviços. O provedor de serviços usa a chave pública para verificar se foi utilizada a chave privada correta e, caso positivo, concede ao usuário o acesso à sua conta.
Uma chave de acesso armazenada em um dispositivo pode ser usada para fazer login em um serviço em outro dispositivo. Por exemplo, se um usuário configurar uma senha de acesso para sua conta de e-mail em seu dispositivo móvel, ainda poderá fazer login em sua conta de e-mail em um notebook. O usuário completaria o desafio de autenticação no dispositivo móvel registrado.
O FIDO2 também é compatível com o uso de chaves de segurança, como um YubiKey ou Google Titan, como método de autenticação.
As chaves de segurança, também chamadas de "tokens", são pequenos dispositivos físicos que transmitem informações de autenticação diretamente para um serviço. Eles podem se conectar por meio do Bluetooth, protocolos de comunicação de campo próximo (NFC) ou uma porta USB. Os usuários podem usar uma chave de segurança FIDO2 em vez de dados biométricos ou um PIN para se autenticarem e assinarem um desafio.
Como a chave privada é armazenada no dispositivo do usuário, e nunca sai, a possibilidade de uma violação de segurança é minimizada. Os hackers não podem roubá-los invadindo um banco de dados nem interceptando comunicações. A chave pública que reside com o provedor de serviços não contém informações confidenciais e é de pouca utilidade para os hackers.