Saiba mais sobre como o Yahoo! Japan criou um sistema de identidade sem senha.
Grupos de anúncios do JAPAN é uma das maiores empresas de mídia do Japão, fornecendo serviços como pesquisa, notícias, e-commerce e e-mail. Mais de 50 milhões de usuários fazem login no Yahoo! JAPAN todos os meses.
Ao longo dos anos, vários ataques a contas de usuário e problemas resultaram na perda do acesso às contas. A maioria desses problemas estava relacionada ao uso de senhas para autenticação.
Com os recentes avanços na tecnologia de autenticação, o Yahoo! JAPAN decidiu migrar da autenticação baseada em senha para a sem senha.
Por que não usar senha?
Como o Yahoo! JAPAN oferece serviços de e-commerce e outros serviços monetários. Há risco de danos significativos aos usuários em caso de acesso não autorizado ou perda da conta.
Os ataques mais comuns relacionados a senhas foram ataques de listas de senhas e golpes de phishing. Um dos motivos pelos quais os ataques de listas de senhas são comuns e eficazes é o hábito de muitas pessoas usarem a mesma senha para vários aplicativos e sites.
Os números a seguir são resultados de uma pesquisa realizada pelo Yahoo! Japan.
50 %
usam o mesmo ID e senha em seis ou mais sites
60 %
Usar a mesma senha em vários sites
70 %
usar uma senha como a principal maneira de fazer login
Muitas vezes, os usuários esquecem as senhas, o que representa a maioria das consultas relacionadas a senhas. Também houve consultas de usuários que esqueceram os IDs de login e as senhas. No pico, essas consultas corresponderam a mais de um terço de todas as consultas relacionadas a contas.
Ao deixar de usar senha, o Yahoo! JAPAN, que buscava melhorar não só a segurança, mas também a usabilidade, sem sobrecarregar os usuários.
Do ponto de vista da segurança, eliminar senhas do processo de autenticação do usuário reduz os danos causados por ataques baseados em lista e, do ponto de vista de usabilidade, oferecer um método de autenticação que não dependa do lembrete de senhas evita situações em que um usuário não consegue fazer login por ter esquecido a senha.
Grupos de anúncios do JAPAN
Grupos de anúncios do Japan está tomando uma série de medidas para promover a autenticação sem senha, que pode ser amplamente dividida em três categorias:
- Fornecem um meio de autenticação alternativo para as senhas.
- Desativação da senha.
- Registro de conta sem senha.
As duas primeiras iniciativas são destinadas aos usuários atuais, enquanto o registro sem senha é destinado a novos usuários.
1. Como fornecer um meio de autenticação alternativo para as senhas
Grupos de anúncios do JAPAN oferece as seguintes alternativas para senhas.
Além disso, também oferecemos métodos de autenticação, como autenticação por e-mail, senha combinada com OTP por SMS (senha única) e senha combinada com OTP por e-mail.
Autenticação por SMS
A autenticação por SMS é um sistema que permite que um usuário registrado receba um código de autenticação de seis dígitos por SMS. Depois que o usuário receber o SMS, ele poderá inserir o código de autenticação no app ou site.
![](https://web.dev/static/case-studies/yahoo-japan-identity/image/h08m9uzVJg9uNzM3LE5k.jpg?authuser=6&hl=pt)
Há muito tempo, a Apple permite que o iOS leia mensagens SMS e sugira códigos de
autenticação a partir do corpo do texto. Recentemente, é possível usar sugestões
especificando "código único" no atributo autocomplete
do elemento
de entrada. O Chrome no Android, Windows e Mac pode oferecer a mesma experiência
usando a API WebOTP.
Exemplo:
<form>
<input type="text" id="code" autocomplete="one-time-code"/>
<button type="submit">sign in</button>
</form>
if ('OTPCredential' in window) {
const input = document.getElementById('code');
if (!input) return;
const ac = new AbortController();
const form = input.closest('form');
if (form) {
form.addEventListener('submit', e => {
ac.abort();
});
}
navigator.credentials.get({
otp: { transport:['sms'] },
signal: ac.signal
}).then(otp => {
input.value = otp.code;
}).catch(err => {
console.log(err);
});
}
Ambas as abordagens são projetadas para evitar phishing por meio da inclusão do domínio no corpo do SMS e da oferta de sugestões apenas para o domínio especificado.
Para mais informações sobre a API WebOTP e o autocomplete="one-time-code"
,
consulte as práticas recomendadas para formulários de OTP por SMS.
![](https://web.dev/static/case-studies/yahoo-japan-identity/image/Szaf3C0hfjLNkTWAVf9B.png?authuser=6&hl=pt)
FIDO com WebAuthn
O FIDO com WebAuthn usa um autenticador de hardware para gerar um par de criptografia de chave pública e comprovar a posse. Quando um smartphone é usado como autenticador, ele pode ser combinado com a autenticação biométrica (como sensores de impressão digital ou reconhecimento facial) para realizar a autenticação de dois fatores de uma etapa. Nesse caso, apenas a assinatura e a indicação de sucesso da autenticação biométrica são enviadas ao servidor. Portanto, não há risco de roubo de dados biométricos.
O diagrama a seguir mostra a configuração servidor-cliente para o FIDO. O autenticador do cliente autentica o usuário com biometria e assina o resultado usando criptografia de chave pública. A chave privada usada para criar a assinatura é armazenada com segurança em um ambiente de execução confiável (TEE) ou local semelhante. Um provedor de serviços que usa FIDO é chamado de RP (parte confiável).
![](https://web.dev/static/case-studies/yahoo-japan-identity/image/PkFYWnOZABjPu7Zc7rXN.png?authuser=6&hl=pt)
Depois que o usuário realiza a autenticação, normalmente com verificação biométrica ou PIN, o autenticador usa uma chave privada para enviar um sinal de verificação assinado ao navegador. O navegador, então, compartilha esse sinal com o site da parte restrita.
Em seguida, o site da RP envia o sinal de verificação assinado ao servidor da RP, que compara a assinatura com a chave pública para concluir a autenticação.
Para mais informações, leia as diretrizes de autenticação da FIDO Alliance.
Grupos de anúncios do JAPAN é compatível com FIDO no Android (Web e app para dispositivos móveis), iOS (Web e app para dispositivos móveis), Windows (Edge, Chrome, Firefox) e macOS (Safari, Chrome). Como um serviço do consumidor, o FIDO pode ser usado em quase qualquer dispositivo, o que o torna uma boa opção para promover a autenticação sem senha.
![](https://web.dev/static/case-studies/yahoo-japan-identity/image/iq0dODcbp3WcPUGTwHkl.png?authuser=6&hl=pt)
Grupos de anúncios do JAPAN recomenda que os usuários se registrem no FIDO com o WebAuthn, caso ainda não tenham sido autenticados por outros meios. Quando um usuário precisa fazer login com o mesmo dispositivo, ele pode se autenticar rapidamente usando um sensor biométrico.
Os usuários precisam configurar a autenticação FIDO com todos os dispositivos que usam para fazer login no Yahoo! Japan.
Para promover a autenticação sem senha e considerar os usuários que estão deixando de usar senhas, oferecemos vários meios de autenticação. Isso significa que usuários diferentes podem ter configurações de método de autenticação distintas, e os métodos de autenticação que eles podem usar podem variar de acordo com o navegador. Acreditamos que a experiência será melhor se os usuários fizerem login todas as vezes com o mesmo método de autenticação.
Para atender a esses requisitos, é necessário rastrear métodos de autenticação anteriores e vincular essas informações ao cliente, armazenando-as na forma de cookies etc. Assim, podemos analisar como diferentes navegadores e aplicativos são usados para autenticação. O usuário é solicitado a fornecer a autenticação adequada com base nas configurações do usuário, nos métodos de autenticação anteriores usados e no nível mínimo de autenticação necessário.
2. Desativação de senha
Grupos de anúncios do JAPAN solicita que os usuários configurem um método de autenticação alternativo e desativem a senha para que ele não possa ser usado. Além de configurar uma autenticação alternativa, a desativação da autenticação por senha (impossibilitando, assim, fazer login apenas com uma senha) ajuda a proteger os usuários contra ataques baseados em lista.
Tomamos as seguintes medidas para incentivar os usuários a desativar as senhas.
- Promover métodos alternativos de autenticação quando os usuários redefinirem as senhas.
- incentivar os usuários a configurar métodos de autenticação fáceis de usar (como FIDO) e desativar senhas para situações que exigem autenticação frequente;
- Incentivar os usuários a desativar as senhas antes de usar serviços de alto risco, como pagamentos de comércio eletrônico.
Se um usuário esquecer a senha, ele poderá executar uma recuperação de conta. Antes, isso envolvia uma redefinição de senha. Agora, os usuários podem optar por configurar um método de autenticação diferente, e nós os incentivamos a fazer isso.
3. Registro de conta sem senha
Novos usuários podem criar grupos de anúncios do Yahoo! Japan. Os usuários precisam primeiro se registrar com uma autenticação por SMS. Depois de fazer login, incentivamos o usuário a configurar a autenticação FIDO.
Como o FIDO é uma configuração por dispositivo, pode ser difícil recuperar uma conta caso o dispositivo fique inoperante. Portanto, exigimos que os usuários mantenham os números de telefone registrados, mesmo depois de configurarem outras autenticações.
Principais desafios da autenticação sem senha
As senhas dependem da memória humana e não dependem de dispositivos. Por outro lado, os métodos de autenticação introduzidos até agora na nossa iniciativa sem senha dependem do dispositivo. Isso traz vários desafios.
Quando vários dispositivos são usados, existem alguns problemas relacionados à usabilidade:
- Ao usar a autenticação por SMS para fazer login em um PC, os usuários precisam verificar se há mensagens SMS recebidas no smartphone. Isso pode ser inconveniente, porque exige que o smartphone do usuário esteja disponível e fácil de acessar a qualquer momento.
- Com o FIDO, especialmente com autenticadores de plataforma, um usuário que tem vários dispositivos não poderá se autenticar em dispositivos não registrados. O registro de cada dispositivo que ele pretende usar precisa ser concluído.
A autenticação FIDO está vinculada a dispositivos específicos, o que exige que eles permaneçam ativos e sob a posse do usuário.
- Se o contrato de serviço for cancelado, não será mais possível enviar mensagens SMS para o número de telefone registrado.
- O FIDO armazena chaves privadas em um dispositivo específico. Se o dispositivo for perdido, essas chaves não poderão ser usadas.
Grupos de anúncios do JAPAN está tomando várias medidas para resolver esses problemas.
A solução mais importante é incentivar os usuários a configurar vários métodos de autenticação. Isso fornece acesso alternativo à conta quando os dispositivos são perdidos. Como as chaves FIDO dependem do dispositivo, também é uma prática recomendada registrar chaves privadas FIDO em vários dispositivos.
Como alternativa, os usuários podem usar a API WebOTP para transmitir códigos de verificação por SMS de um smartphone Android para o Chrome em um PC.
Acreditamos que abordar esses problemas se tornará ainda mais importante à medida que a autenticação sem senha se espalhar.
Como promover a autenticação sem senha
Grupos de anúncios do JAPAN trabalha nessas iniciativas sem senha desde 2015. Isso começou com a aquisição da certificação de servidor FIDO em maio de 2015, seguida da introdução da autenticação por SMS, de um recurso de desativação de senhas e da compatibilidade com o FIDO para cada dispositivo.
Hoje, mais de 30 milhões de usuários ativos por mês já desativaram as senhas e usam métodos de autenticação sem senha. Grupos de anúncios do O suporte do JAPAN começou com o Chrome no Android, e agora mais de 10 milhões de usuários configuraram a autenticação do FIDO.
Como resultado da mudança do Yahoo! JAPAN, a porcentagem de consultas envolvendo IDs de login ou senhas esquecidos diminuiu 25% em comparação com o período em que o número de consultas foi o mais alto. Também confirmamos que o acesso não autorizado diminuiu devido ao aumento no número de contas sem senha.
Como o FIDO é muito fácil de configurar, ele tem uma taxa de conversão particularmente alta. Na verdade, o Yahoo! JAPAN descobriu que a FIDO tem uma CVR maior do que a autenticação por SMS.
25 %
Redução no número de solicitações de credenciais esquecidas
74 %
Usuários bem-sucedidos com a autenticação FIDO
65 %
A verificação por SMS foi concluída
O FIDO tem uma taxa de sucesso maior do que a autenticação por SMS e tempos médios e
médios de autenticação mais rápidos. Quanto às senhas, alguns grupos têm
tempos de autenticação curtos, e suspeitamos que isso se deva ao
autocomplete="current-password"
do navegador.
![Comparação em gráfico do tempo de autenticação para senhas, SMS e FIDO.](https://web.dev/static/case-studies/yahoo-japan-identity/image/graph-comparison-authent-4d76bf7a092f7.png?authuser=6&hl=pt)
A maior dificuldade para oferecer contas sem senha não é a adição de métodos de autenticação, mas popular o uso de autenticadores. Se a experiência de usar um serviço sem senha não for fácil de usar, a transição não será fácil.
Acreditamos que, para melhorar a segurança, é preciso primeiro melhorar a usabilidade, o que exigirá inovações exclusivas em cada serviço.
Conclusão
A autenticação por senha é arriscada em termos de segurança e também apresenta desafios em termos de usabilidade. Agora que as tecnologias com suporte a autenticação sem senha, como a API WebOTP e o FIDO, estão mais amplamente disponíveis, é hora de começar a trabalhar para a autenticação sem senha.
No Yahoo! Japan, essa abordagem teve um efeito claro na usabilidade e na segurança. No entanto, muitos usuários ainda usam senhas. Por isso, continuaremos incentivando mais usuários a mudar para métodos de autenticação sem senha. Também continuaremos melhorando nossos produtos para otimizar a experiência do usuário com métodos de autenticação sem senha.
Foto de olieman.eth no Unsplash (links em inglês)