YubiKey: Usando uma chave física para liberar acesso a ambientes virtuais

Uma YubiKey 5 NFC junto a um molho de chaves comuns, em cima de um tecido grosso e colorido (amarelo, vermelho e laranja).

Faz algum tempo que segurança digital deixou de ser uma preocupação de especialistas e grandes empresas para se tornar algo presente no dia a dia de qualquer pessoa, reflexo da crescente digitalização das nossas vidas. Nessa, as fraquezas das senhas em texto foram expostas e, não por acaso, impulsionou a popularização de soluções de segurança mais robustas, ainda que complementares. Vamos falar de uma das melhores: as chaves de segurança físicas.

Faz algumas semanas que, como parte dos preparativos de lançamento da Cipher Host1, passei a usar uma Yubikey 5 NFC, um dos modelos mais completos desse tipo de chave. Embora ela tenha sido cedida para esse uso específico, não há qualquer prejuízo em estendê-lo a contas pessoais. Por isso, assim o fiz.

A breve explicação que se segue não pretende ser técnica — até porque o conhecimento detalhado dessa parte me escapa. Falarei mais da parte prática, ou seja, de como é usar essas chaves e quais as suas vantagens frente a senhas simples e outros métodos de autenticação em duas etapas.

Em vídeo

Chaves de segurança: É de comer?

Uma chave de segurança é, na realidade, um dispositivo de autenticação. Sua principal função é validar autenticações, ou seja, comprovar que a pessoa tentando acessar um ambiente virtual (site, aplicativo, sistema) é quem ela diz ser. É, pois, como uma chave comum — a única diferença é que em vez de girá-la para liberar uma trava, você só a espeta ou encosta em seus dispositivos conectados, como computadores e celulares.

Embora uma chave de segurança possa ser o único meio de autenticação, seu uso mais comum ainda é complementar, como uma espécie de reforço à senha tradicional.

A senha, o método de autenticação mais conhecido e usado, é algo que só você sabe (guarde este verbo, “saber”). Um procedimento de autenticação mediante senha é simples: insira a senha e ganhe acesso. E é aí que mora o perigo, porque se essa senha vazar ou um terceiro descobri-la, outras pessoas poderão acessar locais que, idealmente, deveriam ser acessíveis somente a você.

Esquema, desenhado, de uma senha. Boneco à esquerda, com uma seta escrito “senha” no meio, apontando para uma caixa de seleção marcada com um tique verde.
Ilustração: Rodrigo Ghedin/Manual do Usuário.

Para mitigar esse risco, surgiu a autenticação em dois passos, ou em dois fatores, ou, ainda, em duas etapas — “2FA” na sigla em inglês, para simplificar. Como o próprio nome diz, ela gera um passo extra antes de liberar o acesso ao dono da senha.

Esquema, desenhado, da autenticação com senha e 2FA. Boneco à esquerda, com uma seta escrito “senha” no meio, apontando para uma caixa de seleção com uma placa de alerta dentro. Depois, outra seta, escrito “2FA” em cima, apontando para uma caixa de seleção com um tique verde dentro.
Ilustração: Rodrigo Ghedin/Manual do Usuário.

Esse passo consiste em algo que você tem, do verbo “ter”, daí sua natureza complementar à senha, algo que você “sabe”. Se num sistema devidamente configurado faltar um dos dois verbos, o acesso não é liberado.

Boneco segurando um celular com setas apontando para sua cabeça (“Senha (você sabe)”) e celular (“2FA (você tem)”).
Ilustração: Rodrigo Ghedin/Manual do Usuário.

Talvez o exemplo de 2FA mais próximo de quem ainda não adotou essa prática no digital seja o daqueles tokens de bancos, que vinham em cartões plásticos ou numa espécie de chaveiro digital. (Hoje, a maioria está… no celular.)

O método mais básico de 2FA, e um ainda muito comum, é o por mensagem de texto (SMS). Nele, após inserir a senha, o sistema envia outra senha temporária/descartável para o seu celular via SMS e a exige para liberar o acesso.

O problema da 2FA por SMS é que esse meio é perigosamente frágil. Elas podem ser interceptadas ou, caso o seu número seja “clonado” ou seu celular roubado/furtado, serem acessadas por terceiros sem qualquer obstáculo.

Aplicativos OTP (“One-time password”, ou senhas descartáveis) mitigam esse risco. Eles funcionam na mesma lógica, mas assumem a forma de um aplicativo para celular, o que reforça a natureza do “ter” porque, ao contrário de um número de celular (SMS), o celular em si é mais… único — não dá para “cloná-lo” e ele conta com barreiras de segurança, como bloqueio por senha e/ou biometria.

Existem vários apps do tipo, como o Google Authenticator e o Authy. Após configurá-lo no sistema que se deseja proteger, em vez de receber uma mensagem SMS com a senha temporária, esta aparece no próprio aplicativo, o que significa que é preciso ter acesso físico ao celular para obter as senhas da 2FA.

As chaves de segurança físicas são o próximo nível dessa escala. Em vez de digitar ou colar um código/senha temporária, a própria chave serve de segundo fator de autenticação graças a um protocolo aberto chamado FIDO U2F (de “Universal 2nd Factor”), desenvolvido por um consórcio de empresas chamado Aliança FIDO.

YubiKey 5 NFC em cima de uma mesa de madeira.
YubiKey 5 NFC. Foto: Rodrigo Ghedin/Manual do Usuário.

Em computadores, você espeta a chave em uma porta USB; em celulares, toca o aparelho na chave para que eles se comuniquem por NFC, um padrão de comunicação sem fios. Em ambos os casos, há uma troca de dados criptografados entre a chave e o dispositivo, num mecanismo de desafio–resposta, que libera o acesso se executado com sucesso. Parece complexo (e é!), mas para o usuário final, como veremos a seguir, o procedimento não poderia ser mais simples.

Chaves de segurança também podem ser usadas como único meio de autenticação graças a uma evolução do protocolo, chamado FIDO2. Das chaves da Yubico, a talvez maior fabricante de chaves de segurança, as linhas Yubikey 5 e Security Key funcionam com FIDO2.

Dúvidas comuns

Antes de prosseguirmos à prática, vale a pena pontuar alguns detalhes que podem gerar dúvidas (eu as tinha):

  • Evite 2FA por SMS. É um método frágil e não é mais fácil de configurar do que um aplicativo OTP. Infelizmente, alguns serviços só oferecem 2FA por SMS. Nesses casos, é melhor adotá-lo — antes uma 2FA mambembe que nenhuma.
  • Não é preciso usar a 2FA toda vez que você for logar em um site ou aplicativo. A maioria deles permite definir um dispositivo (celular, computador) como confiável, de modo que no próximo login apenas a senha seja exigida ou nem isso. Certifique-se, porém, de blindar o dispositivo — de nada adianta ter 2FA no seu e-mail, por exemplo, se o seu celular ou computador não estiver criptografado.
  • Chaves de segurança como a Yubikey são únicas. Isso tem duas implicações: 1) Se você perdê-la, não tem como manter as configurações feitas com ela substituindo-a por outra; e 2) Elas não têm qualquer vínculo formal com você, como nome de usuário ou senha — o vínculo existe somente com as contas que dependem dela para liberarem acesso. É como uma chave de portas: ela protege sua propriedade, mas a chave em si não está ligada a você de maneira alguma.
  • “E se eu perder meu celular/minha chave de segurança?” Há duas saídas: 1) Ter outro dispositivo marcado com confiável ou logado nas contas. Nesse caso, basta entrar nas configurações desses serviços/aplicativos e desativar a 2FA; ou 2) Ter salvo os códigos de backup, que a maioria dos serviços gera. Imprima-os ou copie-os em um papel e guarde em um local extremamente seguro, nível neurótico mesmo. A preocupação justifica-se por esta ser uma opção nuclear: basta esse código para recuperar o acesso à sua conta, independentemente de qualquer outra coisa.
  • É possível ter dois métodos de 2FA paralelos, como uma chave de segurança e um aplicativo OTP. Isso pode ser necessário caso você tenha algum dispositivo que não tem porta USB compatível nem chip NFC, como o iPad e vários celulares Android mais simples.

Configurando uma chave de segurança

A configuração de uma chave de segurança (ou aplicativo OTP) varia de serviço para serviço, mas varia pouco. Em geral, consiste em escolher a opção desejada e confirmá-la inserindo a chave ou uma senha descartável (OTP) gerada pelo aplicativo.

A título de exemplo, vejamos como configurar uma chave de segurança no site do Twitter.

Clique na aba Mais, depois em Configurações e privacidade. Na tela que se abre, entre em Segurança e acesso à conta e, em seguida, clique em Segurança. Por fim, clique em Autenticação em duas etapas. Ou clique aqui para ir direto.

Nesta tela, o Twitter mostrará os três métodos de 2FA que oferece: Mensagem de texto (SMS), Aplicativo de autenticação e Chave de segurança. Para iniciar a configuração de qualquer um deles, clique na caixa de seleção ao lado da opção desejada — no nosso caso, Chave de segurança.

A título de segurança (!), o Twitter pedirá a senha novamente. Depois disso, um popup pedirá que a chave seja inserida no computador. Faça isso e ative-a. “Ativar” uma chave de segurança significa tocar com o dedo no local correspondente. Essa é outra medida de segurança da chave, feita para garantir que há um ser humano presente e, assim, mitigar ataques remotos.

Em seguida, o Twitter pede um nome para a chave recém-cadastrada e, por fim, exibe aquele “código nuclear”, de backup, que permite o acesso direto sem 2FA, caso você perca sua chave.

Veja, em um vídeo curto (44s), todo o procedimento:

O computador onde o cadastro da chave de segurança foi feito está em uma sessão ativa, o que significa que a chave não será pedida até que você saia (faça logoff) e tente se se logar novamente. (Você pode ver todas as sessões ativas, e sair de todas elas de uma só vez, indo em Sessões, dentro da aba Segurança e acesso à conta.)

Quando você for logar novamente, logo após inserir a senha um popup do navegador pedirá a chave de segurança. O procedimento é o mesmo do cadastro: insira-a e ative-a. Em celulares com NFC, basta tocar o topo do celular na chave de segurança para liberar o acesso.

E quando não tem suporte a chaves de segurança?

Dois prints, lado a lado, do Yubico Authenticator para macOS mostrando o procedimento de geração de senha temporária para WordPress.
Clique duplo no item e toque na chave para ativá-la. No celular, basta encostar as costas do aparelho na YubiKey.

A Yubico, empresa que fabrica a YubiKey, também tem um aplicativo de OTP. O Yubico Authenticator tem versões para computadores e celulares e vem bem a calhar em sistemas/serviços/aplicativos que não oferecem suporte a chaves de segurança físicas, como o WordPress (usado para publicar este Manual do Usuário) e o Mercado Livre, por exemplo. Uma vantagem de usá-lo no lugar de outros é que o da Yubico se integra à YubiKey, ou seja, para acessar as senhas descartáveis, é preciso liberá-las com a chave de segurança.

Vale o investimento?

A YubiKey 5 está disponível em vários modelos: com e sem NFC, com conexão USB-A ou USB-C e em tamanhos diversos. Tem até um teste, no site da empresa, que indica qual a mais adequada ao seu perfil.

É inegável que uma chave de segurança agrega à defesa das suas identidades e acessos digitais. Não à toa, elas são obrigatórias para funcionários de empresas como Google, Facebook e Microsoft. A Yubico gaba-se de ter como clientes 9 das 10 maiores empresas de tecnologia do mundo e 2 das 3 maiores dos setores financeiro, varejista, saúde e de pesquisa.

Seis modelos da família YubiKey 5, lado a lado.
Todos os modelos da linha YubiKey 5. Foto: Yubico/Divulgação.

Embora não tenha presença oficial no Brasil, é possível comprar uma YubiKey direto da loja da Yubico — eles enviam para o nosso país. Os preços variam de US$ 45 a 60, algo em torno de R$ 225 a 300, considerando que a encomenda não seja taxada. Outro caminho é comprá-la de vendedores independentes em marketplaces como o Mercado Livre. Nesses locais, os preços giram em torno de R$ 500 por chave. Qualquer que seja o caso, não é um produto tão barato quanto deveria ser.

Para quem usa Android, desde maio de 2019 o Google permite que o próprio celular aja como uma chave de segurança compatível com o protocolo FIDO U2F. Nesse caso, a comunicação com outros dispositivos no processo de autenticação se dá por Bluetooth. É uma alternativa válida e, basicamente, gratuita.

A chave de segurança talvez seja o “Santo Graal” da autenticação em dois fatores, mas, pelo custo, talvez seja algo fora da realidade para a maioria das pessoas. (Não à toa, é mais comum vê-las em empresas, não com indivíduos.) Se as suas contas ainda não são protegidas por 2FA, pare o que estiver fazendo e vá configurar um aplicativo de OTP. É arriscado demais, com os crescentes vazamentos e a intensificação das tentativas de golpes na pandemia, confiar apenas em senhas.

Qualquer um serve, já que todos esses apps usam o mesmo protocolo e os diferenciais são quase inexistentes. O Authy, app do tipo da Twilio, tem um bacana que ajuda a manter a paz de espírito: backup criptografado na nuvem. Caso você perca seu celular, basta baixar o aplicativo em um novo e restaurar o backup (que é protegido por uma senha) para voltar a ter a 2FA. Para os demais e chaves de segurança, é preciso guardar com cuidado aquelas senhas de backup “nucleares”.

  1. A empresa que hospeda o Manual do Usuário.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

2 comentários

  1. Adorei os desenhos! :)
    Matéria muito legal – eu uso o Authy e já considerei uma chavinha dessas – mas que preço alto, hein?!
    Por enquanto, um gerenciador de senhas pra guardar e gerar senhas enormes (recomendo o Keepass, que é gratuito, offline, mas dá pra integrar com Dropbox e usar no Android com aplicativo específico), mais autenticação por dois fatores em todo lugar possível, deveria ser o “default”, mas evita bastante problema.

O site recebe uma comissão quando você clica nos links abaixo antes de fazer suas compras. Você não paga nada a mais por isso.

Nossas indicações literárias »

Manual do Usuário