fbpx

FIDO2: Resolvendo o problema da necessidade de senhas

Introdução

As senhas são um problema e é difícil encontrar um profissional de segurança que discorde. De acordo com o Relatório de investigação de violação de dados de 2019 da Verizon, 62% das violações envolviam o uso de credenciais roubadas, brute force ou phishing. O Relatório de Segurança da Conta do Consumidor da TeleSign 2016 afirma que 71% das contas são protegidas por senhas usadas em vários sites. Outro relatório mostra que 86% dos usuários gostariam de substituir senhas relacionadas ao trabalho pela tecnologia de reconhecimento de impressão digital, se assim fosse possível. Além disso, de acordo com um relatório da Forrester, existe um consenso sobre a necessidade de se afastar das senhas. A Kaspersky afirma que a grande maioria das violações de dados é causada por credenciais roubadas ou fracas.

Relatório após relatório detalha o mesmo problema, senhas. Neste post, analisamos uma solução em potencial para o problema da senha e analisamos o FIDO2.

Se você possui uma Trezor model T, além de ser a carteira de Bitcoin e Altcoins mais segura do mundo, saiba que este dispositivo também é um autenticador FIDO2, saiba mais aqui.

O problema com as senhas

As senhas são o meio padrão de autenticação há décadas. No entanto, existem muitos problemas com a autenticação baseada em senha, a saber:

  • Os usuários podem ter problemas para se lembrar de senhas, para usar senhas curtas ou senhas com base em informações pessoais ou públicas. Senhas curtas podem ser rapidamente serem violadas por ataques de força bruta. As senhas baseadas em informações pessoais ou públicas podem ser adivinhadas e podem ser vulneráveis ​​a ataques de dicionário.

  • Os usuários reutilizam a mesma senha em vários sites. Vazamentos de senha são comuns. Se uma senha reutilizada vazou, todas as contas em que essa senha é reutilizada ficam vulneráveis ​​à pulverização de senha.

  • Políticas estritas de senha podem ser contraproducentes. De fato, eles podem forçar os usuários a usar caracteres especiais. No entanto, uma senha longa é mais segura do que uma senha curta com caracteres especiais. Além disso, a senha longa pode não conter caracteres especiais e pode ser mais fácil de lembrar do que a senha mais curta, porém mais complicada.

  • Os ataques de phishing são comuns e geralmente permitem que os invasores obtenham senhas.

  • Mesmo que as senhas não sejam reutilizadas e sejam longas o suficiente, lembrar-se de uma senha diferente para cada serviço rapidamente se torna um problema. Os gerenciadores de senhas resolvem parcialmente o problema, mas deixam espaço para melhorias. De fato, alguns gerenciadores de senhas exigem que você confie no provedor que armazena as senhas para você. Os gerenciadores de senhas locais também existem, mas geralmente são menos fáceis de usar e podem não ser executados em todas as plataformas, como em um smartphone.

Esses problemas são especialmente preocupantes se a senha é o único fator de autenticação usado para proteger uma conta. Hoje, esse ainda é o caso da maioria dos usuários. Muito poucos usuários habilitam a autenticação de dois fatores. Isso pode ser explicado por alguns motivos. O primeiro é a falta de comunicação com os usuários finais sobre esses recursos. Algumas pessoas conhecem apenas uma maneira de se autenticar: senhas. A segunda razão é que a autenticação de dois fatores é mais complicada. Demora mais tempo para fazer login e, em alguns casos, pode exigir a compra de um dispositivo adicional.

O FIDO2 vem em socorro e apresenta novas maneiras de autenticar, na esperança de resolver a maioria dos problemas mencionados acima.

O que é o FIDO2?

O FIDO2 usa criptografia de chave pública para fornecer autenticação sem senha forte aos usuários finais. Além disso, o FIDO2 não apenas habilita a autenticação sem senha, mas também vários fluxos de autenticação, incluindo autenticação de fator único (1FA), dois fatores (2FA) e autenticação de fator múltiplo (MFA).

A hardware wallet Trezor T  possui estas três propriedades, toda vez que você for usar o model T, é solicitado o código PIN.

Para ser mais específico, FIDO2 é o nome dado à combinação de duas especificações. Essas especificações são:

  • WebAuthn (autenticação da Web) e
  • CTAP (protocolo cliente para autenticador)

WebAuthn

A especificação WebAuthn descreve uma API entre um cliente – por exemplo, um navegador da web – e uma terceira parte confiável (RP) – por exemplo, um servidor em example.com. O Cliente é o aplicativo/navegador da web/sistema operacional que está tentando acessar um serviço oferecido pela terceira parte confiável. A terceira parte confiável é o servidor que deseja autenticar o cliente. Os clientes se comunicam com um autenticador, um dispositivo que gera e armazena com segurança credenciais de chave pública usadas para autenticação. O algoritmo de chave pública usado depende do autenticador usado. O protocolo descreve um método para clientes e terceiros confiáveis ​​decidirem o algoritmo usado com base nas preferências do cliente e da terceira parte confiável.

O WebAuthn descreve um procedimento que os clientes e os terceiros confiáveis devem cumprir para oferecer suporte aos fluxos de autenticação FIDO2. Os casos de uso do WebAuthn incluem:

  • Registro: um usuário se registra em um novo site ou serviço usando um autenticador
  • Autenticação: um usuário registrado se autentica em um site ou serviço usando um autenticador
  • Novo registro de dispositivo: um usuário adiciona um novo autenticador à sua conta. O usuário poderá se autenticar usando qualquer um de seus autenticadores registrados.

CTAP

O protocolo CTAP define uma API entre um autenticador e uma plataforma do cliente (navegador da web, sistema operacional etc.). Em outras palavras, é um protocolo usado pelos clientes/navegadores da web/sistemas operacionais para se comunicar com um dispositivo autenticador externo. Antes de interagir com um autenticador, o cliente deve estabelecer uma conexão com o autenticador via USB, Bluetooth ou NFC.

No FIDO2, o padrão U2F anterior foi renomeado para CTAP1. Por outro lado, o CTAP2 é o padrão mais recente usado no FIDO2.

chaves de segurança

Uma chave física de segurança pode ser:

  • um autenticador móvel, que é um autenticador que pode ser conectado a vários dispositivos. Exemplos são autenticadores USB, Bluetooth ou NFC.
  • ou um autenticador de plataforma, que é um autenticador incorporado a um dispositivo, como um smartphone ou laptop, e que não pode ser desconectado do dispositivo.

Todo autenticador deve implementar o protocolo CTAP para que os clientes possam se comunicar com ele de maneira padronizada.

Exemplos

Aqui estão alguns exemplos de autenticadores.

Yubico Yubikey 5 NFC usado em um smartphone via NFC
Qualquer smartphone com Android 7.0 ou posterior pode ser usado como um autenticador FIDO2 (plataforma) . O smartphone em si é o autenticador. Nenhum dispositivo adicional é necessário.
Agora, os iPhones com iOS 13 ou posterior podem usar autenticadores FIDO2 via NFC.

O MacBook Pro com uma Touch Bar compatível com o Touch ID (reconhecimento de impressão digital) atua como um autenticador da plataforma FIDO2 no Google Chrome.

Níveis de certificação FIDO2

Os fabricantes de autenticadores têm a oportunidade de ter seus dispositivos certificados pela FIDO2 . A certificação é opcional, mas pode dar mais crédito a um dispositivo. Os fornecedores podem solicitar um determinado nível de certificação . A certificação vai do nível 1 (menos seguro) para o nível 3+ (mais seguro).

Etiqueta de certificação FIDO2

Por exemplo, um autenticador certificado para o nível 1 pode ser um autenticador que armazena chaves privadas sem nenhuma proteção especial. Para obter certificações de nível superior, o autenticador deve usar elementos mais seguros, como:

  • um keystore que é executado em um ambiente de execução confiável,
  • hardware com medidas anti-adulteração certificadas,
  • ou proteções contra ataques de falha ou outros ataques de canal lateral.

Fluxo de autenticação

Existem alguns fluxos de autenticação possíveis com o FIDO2. Nós descreveremos esses fluxos para registro e autenticação. Em todos os casos, o usuário precisa de um autenticador compatível com FIDO2, como um smartphone ou uma chave de segurança.

Cerimônia de inscrição

Este é o processo para um usuário registrar uma nova conta em um site / serviço.

  • O usuário visita o site com seu navegador e clica em “Inscreva-se”.
  • O usuário digita um nome de usuário ou endereço de email e clica no botão Inscrever-se.
  • O navegador da web solicita que o usuário se autentique usando seu autenticador.
  • Se o autenticador for um autenticador de plataforma, como um smartphone, geralmente solicitará ao usuário que execute um gesto de autorização definido anteriormente, como apresentar uma impressão digital ou inserir um PIN.
  • Se for um autenticador móvel, será solicitado que o usuário toque no autenticador para verificar a presença física do usuário (ativo).
  • No caso da MFA (autenticação multifatorial), o autenticador pode fazer a verificação adicional e opcional do usuário (UV), como solicitar um PIN (no caso da Trezor model T) ou reconhecimento biométrico.
  • O site diz que o usuário foi registrado com sucesso.

Esses valores de presença e verificação do usuário são enviados pelo autenticador. A especificação descreve um mecanismo de Atestado para atestar a procedência de um autenticador e os dados que ele emite. As partes confiáveis ​​podem verificar a assinatura do atestado e garantir que os dados emitidos sejam provenientes de um autenticador confiável. Assim, foi possível permitir que terceiros confiassem em autenticadores que reivindicam a verificação do usuário.

Observe que sempre que um autenticador é usado para registrar uma nova conta em uma terceira parte confiável no modo 1FA (sem senha), o autenticador gera um par de chaves (público/privado) e armazena a chave privada no próprio autenticador. Esse par de chaves cuja chave privada é armazenada no próprio autenticador é chamado de credencial residente. A chave pública associada do usuário é enviada para a terceira parte confiável, responsável por armazená-la e posteriormente usá-la para autenticar o usuário quando ele entra usando sua chave privada correspondente.

O FIDO2 tem uma noção de escopo. De fato, as credenciais geradas têm o escopo definido para um determinado ID de parte confiável (ID de RP) – na prática, esse ID de RP é o nome de domínio do site. Isso significa que a chave privada pode ser usada apenas para autenticação na mesma terceira parte confiável para a qual a chave foi gerada, eliminando completamente o problema de phishing.

Alguns autenticadores podem armazenar uma quantidade limitada de chaves e esses limites geralmente são encontrados nas especificações do autenticador. Esse número pode ser 25 (Yubikey 5), 50 (Solo Key) ou mais de 100, dependendo do produto utilizado. Quando o FIDO2 é usado no modo de 2 fatores, não há limite para o número de sites nos quais ele pode ser usado.

Cerimônia de autenticação

Esse é o processo para um usuário se autenticar em um site/serviço em que foi registrado anteriormente.

  • O usuário clica em “Entrar” no site.
  • O usuário digita seu nome de usuário ou endereço de email e clica no botão de login.
  • O navegador da Web solicita que o usuário se autentique usando seu autenticador, o mesmo que durante o registro.
  • O site diz que o usuário fez login com sucesso e concede o acesso ao site/serviço.

A autenticação sem login (isto é, sem digitar as credenciais de logins) é possível apenas com o FIDO2, o FIDO2 torna possível entrar em um site apenas conectando seu autenticador à porta USB (por exemplo) e tocando nela. Não é necessário login ou senha. Nesse caso, o cliente é responsável por exibir uma caixa de diálogo de seleção de conta para o usuário.

Quando a autenticação é realizada, o autenticador produz uma assinatura de asserção que afirma que o usuário consentiu em executar uma ação, como entrar. A asserção afirma que o autenticador que possui a chave privada acredita que o usuário que deseja entrar (ou qualquer outra ação que exija autenticação) é o mesmo usuário que se registrou em primeiro lugar com a chave pública correspondente.

Observe que Atestado e Asserção são dois conceitos diferentes. Nos dois casos, o autenticador produz uma assinatura, mas elas são usadas para diferentes propósitos. Uma assinatura de atestado é produzida quando um novo par de chaves é gerado, durante o registro. Uma assinatura de asserção é produzida quando um usuário registrado deseja entrar.

Compatibilidade com versões anteriores de U2F

O FIDO2 substitui o antigo protocolo U2F usado para autenticação de dois fatores. De fato, um autenticador FIDO2 pode ser usado, tanto para autenticação de primeiro fator sem senha (1FA) quanto para autenticação de 2 fatores (2FA). No entanto, isso não significa que as pessoas que possuem uma chave de segurança U2F antiga devem jogá-la fora. Alguém usando uma chave de segurança que suporta o antigo padrão U2F ainda pode usá-lo para 2FA em serviços que implementam o novo padrão FIDO2.

Algoritmos de chave pública

O algoritmo de chave pública usado para o par de chaves é configurável e pode ser qualquer um dos algoritmos COSE descritos nesta página. Da mesma forma que o TLS, a Parte Confiante e o Cliente devem negociar o algoritmo enviando uma lista dos algoritmos preferidos. Um autenticador pode suportar apenas um algoritmo de chave pública. Se a terceira parte confiável não suportar esse algoritmo de chave pública, esse autenticador não poderá ser usado com esse site. Os autenticadores podem suportar, por exemplo, ECDSA com SHA-256 (valor do algoritmo de chave pública -7 na página vinculada acima).

Recursos do FIDO2

O FIDO2 tem muitas vantagens sobre senhas regulares:

  • Não há necessidade de lembrar senhas
  • Invulnerável a ataques de phishing. O FIDO2 garante que o site em que o usuário entra seja realmente o que ele pensa que é. O protocolo vincula um par de chaves a um site. Portanto, é impossível usar credenciais que foram geradas durante o registro no site A para entrar no site B.
  • O nível mais baixo de segurança do FIDO2 (autenticação de fator único) é mais seguro do que a autenticação comum somente por senha na maioria dos casos.
  • Os aplicativos que manipulam dados confidenciais podem ser protegidos com a autenticação multifator FIDO2 (biométrica ou PIN) quando o nível mais alto de segurança é necessário.
  • O nível de segurança é configurável e sob demanda por aplicativo/usuário (1FA, 2FA, MFA).
  • Detecção de clonagem de autenticador. Se alguém rouba seu autenticador e o clona, ​​o protocolo possui uma maneira integrada de detectar se o clone foi usado.

Quão seguro é 1FA/sem senha em comparação com uma senha normal?

Digamos que a credencial de residente do FIDO2 foi gerada com ECDSA com a curva elíptica NIST P-256 e hash com SHA-256. Portanto, temos 128 bits de segurança para chaves de 256 bits. Agora, digamos que uma senha comum use apenas caracteres imprimíveis que usam 7 bits cada. Isso significa que a chave sem senha/1FA FIDO2 é mais forte que uma senha longa de 18 caracteres, incluindo letras minúsculas e maiúsculas, números e caracteres especiais. Uma senha desse tamanho e complexidade levaria bilhões de anos para força bruta e pode ser considerada segura.

Além disso, o FIDO2 garante que uma chave diferente seja gerada para cada site e também para cada conta, caso você tenha várias contas em um único site. Além disso, não há necessidade de lembrar de nenhuma senha. Isso parece uma melhoria em relação às senhas regulares. Se for necessária segurança extra, os modos 2FA ou MFA do FIDO2 podem ser usados.

O que acontece se alguém encontrar sua chave privada por força bruta?

Primeiro, isso é muito improvável, porque a segurança do seu par de chaves já é muito forte. No entanto, caso isso acontecesse, apenas a conta associada a esse par de chaves seria comprometida. Todas as suas outras contas ainda estarão seguras. Como um novo par de chaves é gerado para cada nova conta, o problema de “reutilização de senha” é evitado.

O que acontece se você perder seu autenticador?

Se você perder o seu autenticador, poderá estar bloqueado na sua conta. Para evitar isso, é recomendável registrar vários autenticadores em uma única conta. Para que você tenha pelo menos um autenticador de backup, caso seu autenticador principal seja perdido.

O que acontece se o seu autenticador for roubado ou clonado?

Seu autenticador o autentica com segurança e é seguro contra ataques à rede. No entanto, se alguém roubar seu autenticador fisicamente, ele poderá se autenticar em seu lugar.

Para se proteger contra isso, é possível tomar algumas medidas:

  • Use autenticação multifatorial. Por exemplo, proteja seu autenticador com um PIN ou uma impressão digital. Os autenticadores que suportam PINs mantêm um contador de novas tentativas, indicando quantas vezes mais um PIN incorreto pode ser inserido. Após 8 PINs incorretos, o autenticador precisa ser redefinido (todas as teclas são apagadas) para ser usado novamente. Além disso, após a inserção de três PINs incorretos sucessivos, o dispositivo é bloqueado até que seja desconectado e conectado novamente. Isso impede que o malware insira automaticamente PINs errados de propósito, forçando as pessoas a redefinir seu dispositivo.
  • Revogue imediatamente o autenticador perdido/roubado dos sites em que foi registrado. Isso pode exigir o uso de um autenticador de backup registrado anteriormente.

Se o seu autenticador for clonado por um invasor, o FIDO2 implementará uma maneira de detectar clones. Isso não impedirá que o autenticador clonado seja usado uma vez, mas em algum momento, eventualmente, você ficará ciente de que outra pessoa foi autenticada usando um clone e não o deixará sem ser detectado.

Qual é a diferença entre uma senha e um PIN?

Uma senha transita na rede e pode ser interceptada. Um PIN é local e nunca sai da máquina do cliente. Portanto, um PIN não precisa ser tão complexo nem do tamanho de uma senha e não precisa ser alterado com tanta frequência.

Serviços que suportam FIDO2 sem senha

Hoje, existem alguns serviços que suportam o FIDO2. Aqui estão alguns exemplos.

  • A Microsoft, permite entrar sem usuário e senha na sua conta da Microsoft (1FA sem nome de usuário)
  • Microsoft Windows, permite entrar na sua sessão do Windows sem uma senha (1FA). Observe que o Microsoft Hello também pode atuar como um autenticador FIDO2.
  • A rede social Twitter permite entrar sem login do usuário e senha (1FA)
  • O webauthn.io, um site de demonstração do FIDO2, suporta 1FA/sem senha

Em uma nota, o Github anunciou recentemente seu suporte ao FIDO2 para cenários 2FA e está trabalhando na implementação do suporte 1FA.

Suporte ao navegador

O FIDO2 é suportado por muitos navegadores e plataformas. No entanto, é importante observar que o FIDO2 não foi projetado apenas para funcionar em navegadores da web. Também pode ser usado em aplicativos de linha de comando, clientes pesados ​​ou aplicativos móveis.

Suporte ao FIDO2 em navegadores da web a partir de março de 2019 – fonte

Conclusão

De acordo com vários relatórios, as senhas roubadas é a causa mais frequente de violações de dados. Ao fortalecer os mecanismos de autenticação, é possível obter uma redução drástica na superfície de ataque. A adoção do FIDO2 é um bom candidato para criar uma autenticação mais forte sem aumentar drasticamente o atrito.

Os autenticadores FIDO2 estão disponíveis hoje e o número de sites de suporte está crescendo. A maneira mais fácil de tentar provavelmente é usar um smartphone Android 7.0 ou superior, um PC com Windows Hello Windows configurado ou um MacBook com Touch ID configurado. Todas essas plataformas podem atuar como um autenticador FIDO2. Dessa forma, nenhum dispositivo adicional é necessário. No entanto, só será possível autenticar dessa maneira em seu dispositivo específico. Caso você não tenha acesso a essas plataformas, a compra de uma chave de segurança compatível com FIDO2, como uma Key-ID 2020 ou uma Trezor model T vendidos pela KritptoBR, é provavelmente a melhor opção. Verifique se o autenticador funcionará da maneira que você deseja usá-lo, seja por USB, NFC ou Bluetooth.

Escrito por: research.kudelskisecurity.com

VOCÊ AINDA GUARDA SUAS CHAVES DE RECUPERAÇÃO EM UM PAPEL?

Um pedaço de papel tem um tempo de vida curto e está propício as intempéries da natureza. Além disso, já pensou se um desavisado da sua família – que não sabe do que se trata – vê um pedaço de papel repleto de palavras sem sentido e joga no lixo? Afinal, para quem não vive no mundo das criptomoedas, não faz sentido algum encontrar um pedaço de papel com palavras aleatórias anotadas.

Compre já sua KriptoSteel com preço especial de Lançamento, clicando aqui.