Publicado em 13 de novembro de 2024
A partir do Chrome 132, o Chrome para computador (macOS, Windows, Linux e ChromeOS) oferece suporte à API Signal, que pode manter as chaves de acesso nos provedores de chaves de acesso consistentes com as credenciais de chave pública no servidor da parte confiável.
Quando uma chave de acesso (uma credencial detectável) é criada, metadados como um nome de usuário e um nome de exibição são salvos no provedor de chaves de acesso (como um gerenciador de senhas) junto com a chave privada, e a credencial de chave pública é salva no servidor da parte confiável (RP). Salvar o nome de usuário e o nome de exibição ajuda o usuário a identificar qual chave de acesso usar para fazer login, porque ele precisa selecionar uma chave de acesso ao fazer login. Isso é especialmente útil quando eles têm mais de duas chaves de acesso de provedores de chaves de acesso diferentes.
No entanto, há alguns casos em que as diferenças entre a lista de chaves de acesso no provedor de chaves de acesso e a lista de credenciais no servidor podem causar confusões.
O primeiro caso é quando um usuário exclui uma credencial no servidor, deixando a chave de acesso no provedor de chaves de acesso intacta. Na próxima vez que o usuário tentar fazer login com a chave de acesso, ela ainda será apresentada ao usuário pelo provedor. No entanto, a tentativa de fazer login vai falhar porque o servidor não poderá verificar com a chave pública excluída.
O segundo caso é quando um usuário atualiza o nome de usuário ou o nome de exibição no servidor. Na próxima vez que o usuário tentar fazer login, a chave de acesso no provedor continuará mostrando o nome de usuário e o nome de exibição antigos, mesmo que eles tenham sido atualizados no servidor. O ideal é que eles estejam sincronizados.
API Signal
A API WebAuthn Signal permite que os RPs sinalizem credenciais existentes para provedores de chaves de acesso conectados. Isso permite que um provedor de chave de acesso compatível atualize ou remova chaves de acesso incorretas ou revogadas do armazenamento para que elas sejam consistentes com o servidor.
Por exemplo, quando um usuário não consegue fazer login em um RP porque a credencial associada no servidor do RP não existe mais, o RP pode usar a API Signal para indicar que a credencial excluída não é mais válida para o provedor de chaves de acesso. Assim, o provedor de chaves de acesso pode excluir a chave de acesso associada.
Outro exemplo é quando um usuário acessa a página de configurações do RP e exclui a credencial atual. O RP pode usar a API Signal para sinalizar uma lista de credenciais disponíveis ao provedor de chaves de acesso, para que ele possa manter as chaves de acesso associadas sincronizadas.
Ele também pode sinalizar o nome de usuário e o nome de exibição atualizados para que os metadados da chave de acesso armazenados para o mesmo usuário possam ser atualizados.
Por exemplo, quando um usuário atualiza o nome de usuário ou o nome de exibição no RP, o RP pode usar a API Signal para sinalizar as informações do usuário atualizadas ao provedor de chaves de acesso, para que ele possa manter as informações de usuário das chaves de acesso associadas em sincronia.
O Gerenciador de senhas do Google no Chrome para computador implementa o AP do Signal. Para provedores de chave de acesso baseados em extensões do Chrome, cabe a eles refletir o sinal ou não.
Planejamos oferecer suporte à API Signal no Chrome para Android no futuro.
Para saber como integrar a API WebAuthn Signal, leia Manter a lista de chaves de acesso sincronizada com o servidor usando a API Signal.