A autenticação sem senha do Yahoo! JAPAN's autenticação sem senha reduziu as consultas em 25% e acelerou o tempo de login em 2,6 vezes

Saiba mais sobre como o Yahoo! Japan criou um sistema de identidade sem senha.

Campanha do Yahoo! Japan é uma das maiores empresas de mídia do Japão e oferece serviços como pesquisa, notícias, comércio eletrônico e e-mail. Mais de 50 milhões de usuários fazem login no Yahoo! Japan todos os meses.

Ao longo dos anos, houve muitos ataques a contas de usuários e problemas que levaram à perda de 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 mudar da autenticação baseada em senha para a sem senha.

Por que usar a conta sem senha?

Como o Yahoo! JAPAN oferece e-commerce e outros serviços relacionados a dinheiro, há um risco de danos significativos aos usuários em caso de acesso não autorizado ou perda de conta.

Os ataques mais comuns relacionados a senhas foram os de listas de senhas e os golpes de phishing. Um dos motivos por que os ataques à lista de senhas são comuns e eficazes é o hábito de muitas pessoas usarem a mesma senha em vários aplicativos e sites.

As figuras a seguir são resultados de uma pesquisa realizada pelo Yahoo! Japão.

    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 principal forma de fazer login

Os usuários geralmente esquecem a senha, o que é responsável pela maioria das consultas relacionadas a senhas. Também havia solicitações de usuários que esqueceram os IDs de login, além das senhas. No pico, essas consultas representaram mais de um terço de todas as consultas relacionadas à conta.

Ao deixar de usar senhas, o Yahoo! JAPAN 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 de ataques baseados em lista. Além disso, de uma perspectiva de usabilidade, fornecer um método de autenticação que não depende do memorizar senhas evita situações em que um usuário não consegue fazer login porque esqueceu a senha.

Campanha do Yahoo! JAPAN sem senha

Campanha do Yahoo! Japan estão adotando várias medidas para promover a autenticação sem senha, que podem ser amplamente divididas em três categorias:

  1. Oferecer um meio alternativo de autenticação para senhas.
  2. Desativação da senha.
  3. Registro de conta sem senha.

As duas primeiras iniciativas são voltadas para usuários atuais, enquanto o registro sem senha é destinado a novos usuários.

1. Fornecer um meio alternativo de autenticação para senhas

Campanha do Yahoo! JAPAN oferece as seguintes alternativas às senhas.

  1. Autenticação por SMS
  2. FIDO com WebAuthn

Além disso, também oferecemos métodos de autenticação, como autenticação de 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 recebe o SMS, ele pode inserir o código de autenticação no app ou site.

Há muito tempo, a Apple permite que o iOS leia mensagens SMS e sugira códigos de autenticação no corpo do texto. Recentemente, foi possível usar sugestões com a especificação de um "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 foram criadas para evitar phishing ao incluir o domínio no corpo do SMS e fornecer 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 de formulário de OTP por SMS.

FIDO com WebAuthn

O FIDO com a WebAuthn usa um autenticador de hardware para gerar um par de criptografia de chave pública e provar 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 em 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.

No diagrama a seguir, mostramos 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 em um local semelhante. Um provedor de serviços que usa a FIDO é chamado de RP (parte confiável).

Depois que o usuário realiza a autenticação (geralmente com uma verificação biométrica ou um PIN), o autenticador usa uma chave privada para enviar um sinal de verificação assinado ao navegador. Em seguida, o navegador compartilha esse sinal com o site da parte restrita.

O site da RP envia o sinal de verificação assinado para o servidor da RP, que verifica a assinatura em relação à chave pública para concluir a autenticação.

Para mais informações, leia as diretrizes de autenticação da FIDO Alliance.

Campanha do Yahoo! JAPAN no Android (app para dispositivos móveis e Web), iOS (app para dispositivos móveis e Web), Windows (Edge, Chrome, Firefox) e macOS (Safari e Chrome). Como um serviço para o consumidor, o FIDO pode ser usado em quase todos os dispositivos, o que o torna uma boa opção para promover a autenticação sem senha.

Sistema operacional Suporte para FIDO
Android Apps, navegador (Chrome)
iOS Apps (iOS 14 ou mais recente), navegador (Safari 14 ou mais recente)
Windows Navegador (Edge, Chrome, Firefox)
Mac (Big Sur ou mais recente) Navegador (Safari e Chrome)
Exemplo de contas do Yahoo! Japan para autenticar com o FIDO.

Campanha do Yahoo! O Japão recomenda que os usuários se registrem no FIDO com o WebAuthn, caso ainda não tenham feito a autenticação por outros meios. Quando um usuário precisa fazer login com o mesmo dispositivo, ele pode fazer a autenticação 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! Japão.

Para promover a autenticação sem senha e considerar os usuários que estão fazendo a transição das 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 usados podem variar de acordo com o navegador. Acreditamos que é uma experiência melhor se os usuários fizerem login usando sempre o mesmo método de autenticação.

Para atender a esses requisitos, é necessário acompanhar os 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 precisa fornecer a autenticação adequada com base nas configurações dele, nos métodos de autenticação anteriores usados e no nível mínimo de autenticação necessário.

2. Desativação da senha

Campanha do Yahoo! JAPAN pede aos usuários que configurem um método de autenticação alternativo e desativem a senha para que não possam ser usados. Além de configurar autenticação alternativa, desativar a autenticação por senha (impedindo o login com apenas 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 com frequência.
  • Instruir 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. Anteriormente, 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

Os novos usuários podem criar contas do Yahoo! Japan. Primeiro, os usuários precisam se registrar com uma autenticação por SMS. Depois de fazer login, recomendamos que o usuário configure a autenticação FIDO.

Como o FIDO é uma configuração específica para cada dispositivo, poderá ser difícil recuperar uma conta caso ele se torne inoperante. Portanto, exigimos que os usuários mantenham o número de telefone registrado, mesmo depois de configurar uma autenticação extra.

Principais desafios da autenticação sem senha

As senhas dependem da memória humana e são independentes 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, há 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 seja fácil de acessar a qualquer momento.
  • Com o FIDO, especialmente com autenticadores de plataforma, um usuário com vários dispositivos não pode fazer a autenticação em dispositivos não registrados. É necessário concluir o registro de cada dispositivo que eles pretendem usar.

A autenticação FIDO está vinculada a dispositivos específicos, o que exige que eles permaneçam ativos e do lado 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.
  • A FIDO armazena chaves privadas em um dispositivo específico. Se o dispositivo for perdido, essas chaves não poderão ser usadas.

Campanha do Yahoo! 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 as 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 resolver esses problemas se tornará ainda mais importante à medida que a autenticação sem senha se espalhar.

Promovendo a autenticação sem senha

Campanha do Yahoo! 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 pela introdução da autenticação por SMS, um recurso de desativação de senha e suporte à 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. Campanha do Yahoo! O Japão com o FIDO começou com o Chrome no Android, e agora mais de 10 milhões de usuários configuraram a autenticação da FIDO.

Como resultado do Yahoo! Japan, a porcentagem de consultas envolvendo senhas ou IDs de login esquecidos diminuiu 25% em comparação com o período em que o número dessas consultas estava mais alto. Também conseguimos confirmar que o acesso não autorizado diminuiu como resultado do 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! O Japão descobriu que a FIDO tem um CVR maior do que a autenticação por SMS.

    25 %

    de redução nas solicitações de credenciais esquecidas

    74 %

    Os usuários são bem-sucedidos com a autenticação FIDO

    65 %

    Sucesso com a verificação por SMS

O FIDO tem uma taxa de sucesso maior do que a autenticação por SMS e tempos de autenticação médios mais rápidos. Quanto às senhas, alguns grupos têm tempos de autenticação curtos, e suspeitamos que isso se deve ao autocomplete="current-password" do navegador.

Comparação gráfica do tempo de autenticação para senhas, SMS e FIDO.
Em média, o FIDO leva 8 segundos para autenticar, a autenticação por senha, 21 segundos e a verificação por SMS, 27.

A maior dificuldade para oferecer contas sem senha não é a adição de métodos de autenticação, mas popularização do 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 ter mais segurança, precisamos primeiro melhorar a usabilidade, o que exigirá inovações exclusivas para cada serviço.

Conclusão

A autenticação por senha é arriscada em termos de segurança e também representa desafios em termos de usabilidade. Agora que as tecnologias que oferecem 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 na autenticação sem senha.

No Yahoo! Japan, essa abordagem teve um efeito definido na usabilidade e segurança. No entanto, muitos usuários ainda usam senhas. Por isso, continuaremos incentivando mais usuários a migrar para os métodos de autenticação sem senha. Também vamos continuar 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