A autenticação FIDO usa criptografia de chave pública (PKC) para gerar um par de chaves criptográficas exclusivo associado à conta de um usuário. Esse par de chaves, chamado de "chave de acesso", 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 pede ao usuário que se autentique por meio de um PIN ou uma 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 usará a chave pública para verificar se a chave privada correta foi usada e, em caso afirmativo, concede ao usuário o acesso à 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 chave de acesso para sua conta de e-mail em seu dispositivo móvel, ainda poderá fazer login nessa conta em um notebook. O usuário completaria o desafio de autenticação no dispositivo móvel registrado.
O FIDO também é compatível com o uso de chaves de segurança, também chamadas de "tokens", como método de autenticação. As chaves de segurança FIDO são dispositivos físicos pequenos e dedicados que podem criar pares de chaves e desafios de assinatura. Eles se conectam a outros dispositivos por meio de Bluetooth, protocolos de comunicação de campo próximo (NFC) ou uma porta USB. Uma chave de segurança FIDO pode tomar o lugar de dados biométricos ou de um PIN no processo de autenticação: a posse da chave autentica o usuário.
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.