Módulo 2 · 2.4
Passkeys e chaves de segurança
Módulo 2: Palavras-passe e início de sessão · Tempo de leitura: 10 minutos
Objetivo de aprendizagem: Após esta lição, saberá explicar por que motivo as passkeys e as chaves de segurança são resistentes a phishing, distinguir entre passkeys sincronizadas e passkeys vinculadas a um dispositivo, e determinar quando as deve utilizar.
Conceitos-chave: passkey, FIDO2, WebAuthn, chave pública e chave privada, vinculada ao domínio, chave de segurança, passkey sincronizada, passkey vinculada a um dispositivo
O problema com tudo o que se copia manualmente
Na lição 2.3 viu que um código de uma aplicação ou de uma sms não protege contra um site falso bem feito. Você introduz o código em rnijnbank.example, o burlão envia-o em poucos segundos para mijnbank.example e entra. O ponto fraco é sempre o mesmo: é você que tem de avaliar se está no site verdadeiro. Uma pessoa apressada, ou perante uma página convincente, acaba mais cedo ou mais tarde por cometer esse erro.
As passkeys e as chaves de segurança retiram essa decisão das suas mãos. Não é você que verifica o endereço, é o seu navegador e o seu dispositivo que o fazem. E não há nada para copiar ou reencaminhar.
O que é uma passkey
Uma passkey é um meio de autenticação que substitui uma palavra-passe. A FIDO Alliance, a organização responsável pela norma, descreve-a como um substituto da palavra-passe que se desbloqueia da mesma forma que o seu dispositivo: com a sua impressão digital, o seu rosto ou o seu código PIN.
Tecnicamente, uma passkey é um par de chaves:
- uma chave privada que permanece no seu dispositivo (ou no seu gestor de palavras-passe, ver mais abaixo) e nunca é enviada para o site;
- uma chave pública que o site guarda.
O que for assinado com a chave privada pode ser verificado pelo site com a chave pública. Mas com a chave pública não é possível assinar seja o que for. Se a base de dados do site for exposta, o atacante fica apenas com chaves públicas, e com isso não consegue iniciar sessão. Não há, portanto, nada para decifrar como acontecia com as palavras-passe expostas na lição 2.1.
A tecnologia chama-se FIDO2. A parte que está no seu navegador é o WebAuthn, uma norma do W3C (o consórcio que define normas para a web). A parte entre o seu computador e uma chave de segurança física chama-se CTAP.
É assim que funciona o início de sessão
- Em
mijnbank.example, escolhe "Iniciar sessão com passkey". - O site envia um desafio aleatório: um número que só é utilizado uma vez.
- O seu navegador entrega esse desafio ao seu dispositivo, juntamente com o domínio em que se encontra.
- O seu dispositivo pede-lhe para desbloquear: dedo, rosto ou código PIN. Essa verificação ocorre no seu dispositivo. A sua impressão digital nunca é enviada para o site; o site apenas é informado de que a verificação foi bem-sucedida.
- O seu dispositivo assina o desafio com a chave privada associada a
mijnbank.example. - O site verifica a assinatura com a sua chave pública. Se estiver correta, a sessão é iniciada.
Por que motivo uma passkey não funciona num site falso
Ao ser criada, uma passkey fica associada ao domínio do site. No WebAuthn, isso chama-se o Relying Party ID: a passkey pertence a mijnbank.example (e eventualmente aos seus subdomínios) e a mais nada. É o navegador que determina qual é o domínio incluído no pedido, não o site. Um site falso não consegue falsificar isso.
Se, através de um e-mail de phishing, acabar em https://rnijnbank.example ou https://mijnbank.example.inlog-check.example, acontece o seguinte:
- O site falso pede uma passkey.
- O seu navegador procura uma passkey para esse domínio específico. Não existe nenhuma.
- Recebe uma mensagem do tipo "nenhuma passkey para este site" ou uma lista de escolha vazia.
Não há nada que possa aprovar ou copiar por engano. Mesmo que não se aperceba de que está num site falso, a passkey simplesmente não funciona aí. É isto que queremos dizer com resistente a phishing. O NIST afirma o mesmo: a resistência a phishing exige autenticação criptográfica; palavras-passe, códigos copiados manualmente e aprovações por notificação não o são.
Se, num site onde normalmente inicia sessão com uma passkey, lhe aparecer de repente apenas um campo de palavra-passe, ou lhe for pedido "um código da sua aplicação"? Isso é um sinal de alerta. Verifique o endereço.
Sincronizada ou vinculada a um dispositivo
Existem dois tipos de passkeys. A diferença está em onde reside a chave privada.
| Passkey sincronizada | Passkey vinculada a um dispositivo | |
|---|---|---|
| Onde está a chave privada? | Num fornecedor de passkeys: o chaveiro do seu sistema operativo ou o seu gestor de palavras-passe, que a copia de forma encriptada para os seus outros dispositivos | Num único dispositivo, por exemplo uma chave de segurança, e não pode sair de lá |
| Telemóvel novo? | A passkey acompanha-o quando inicia sessão junto do seu fornecedor | Tem de criar uma nova passkey no novo dispositivo |
| Perdeu o dispositivo? | Sem problemas, desde que a sua conta junto do fornecedor esteja segura | Sem reserva, fica sem acesso |
| Ponto fraco | A conta junto do seu fornecedor: quem entrar nessa conta tem acesso a todas as suas passkeys | Perda do dispositivo; precisa de uma chave de reserva |
| Adequado para | Praticamente todas as contas habituais | Contas de administrador, alojamento, registo de domínios, banco, a própria conta do fornecedor |
Na norma WebAuthn, uma passkey sincronizada chama-se "multi-device credential". A FIDO Alliance considera as passkeys vinculadas a um dispositivo, numa chave de segurança, a forma com maior nível de garantia, e recomenda igualmente uma chave de segurança como meio de recuperação caso perca o acesso aos seus dispositivos sincronizados.
Se utilizar passkeys sincronizadas, proteja especialmente bem a conta do seu fornecedor: palavra-passe forte, autenticação de dois fatores (2FA) e, de preferência, uma chave de segurança própria.
Chaves de segurança
Uma chave de segurança é um pequeno dispositivo que se insere numa porta USB ou se aproxima do telemóvel (NFC). Contém passkeys vinculadas ao dispositivo. O início de sessão faz-se tocando na chave, muitas vezes com um código PIN da própria chave ou uma impressão digital na chave.
Existem vários fabricantes; ao escolher, preste atenção ao suporte de FIDO2, ao tipo de ligação de que precisa (USB-A, USB-C, NFC) e se suporta código PIN ou impressão digital.
A regra mais importante: registe sempre, pelo menos, duas chaves. A segunda é a sua chave de reserva. Associa-a a cada serviço, tal como a primeira, e guarda-a noutro local, por exemplo em casa numa gaveta ou num cofre. Se perder a chave do dia a dia, inicia sessão com a chave de reserva, remove a chave perdida das suas contas e compra uma nova segunda chave. Uma chave não pode ser copiada; é precisamente essa a ideia.
Iniciar sessão noutro computador
Quer iniciar sessão num portátil, mas a sua passkey está no telemóvel. Nesse caso, o navegador costuma oferecer a apresentação de um código QR. Faz a leitura desse código com o telemóvel e desbloqueia aí. A FIDO Alliance chama a isto cross-device authentication. O telemóvel verifica, através de Bluetooth, se está realmente perto do portátil. Por isso, alguém que apenas tenha uma fotografia do código QR não consegue utilizá-lo para iniciar sessão à distância.
Armadilhas e quando as deve utilizar
As passkeys representam um grande avanço, mas não são mágicas:
- A palavra-passe muitas vezes continua a existir. Muitos serviços permitem ainda iniciar sessão com palavra-passe mais código, além da passkey. Um burlão tentará esse caminho. Se for possível, desative as formas antigas de iniciar sessão ou torne a palavra-passe longa e única.
- A recuperação é o elo mais fraco. Se alguém conseguir contornar a sua passkey através de um e-mail de "esqueci-me da palavra-passe" ou de um telefonema para o serviço de apoio, a sua conta fica tão forte quanto esse caminho de recuperação. Verifique quais são os dados de recuperação registados (lição 2.5).
- Nem todos os serviços o suportam. Nesse caso, utilize uma aplicação de autenticação.
- As contas partilhadas adaptam-se mal a passkeys num único dispositivo pessoal. É preferível dar a cada pessoa uma conta própria com uma passkey própria (módulo 7).
- Um dispositivo desbloqueado é uma porta aberta. Proteja o seu telemóvel e portátil com um bom bloqueio de ecrã (módulo 5).
Por onde começar? Pelas contas cujo prejuízo seria maior em caso de usurpação: o seu e-mail, o seu gestor de palavras-passe ou fornecedor de passkeys, alojamento e registo de domínios, banco e contabilidade. Se algum desses serviços oferecer passkeys ou chaves de segurança, ative-as aí primeiro.
Resumo
- Uma passkey é um par de chaves: a chave privada fica consigo, o site só tem a chave pública. Uma fuga no site não dá nada para decifrar.
- O navegador associa a passkey ao domínio verdadeiro. Num site falso não existe nenhuma passkey, logo não há nada para roubar ou aprovar.
- As passkeys sincronizadas acompanham-no para os seus outros dispositivos; as passkeys vinculadas a um dispositivo (chave de segurança) permanecem num único dispositivo.
- Registe sempre uma chave de reserva e guarde-a noutro local.
- Uma passkey é tão forte quanto o caminho de recuperação e as formas antigas de iniciar sessão que ainda estejam ativas.
Questionário
Exercício
Exercício D2.4: A sua primeira passkey ou chave de segurança. Descubra quais das suas contas mais importantes suportam passkeys ou chaves de segurança, configure pelo menos uma e organize uma reserva. Assinale a lista de verificação e responda às perguntas de reflexão.
Exercício D2.4: A sua primeira passkey ou chave de segurança
Faça assim: (1) Veja nas suas contas mais importantes (e-mail, gestor de palavras-passe ou fornecedor de passkeys, alojamento, registo de domínio, banco, contabilidade) nas definições de segurança se suportam passkeys ou chaves de segurança. (2) Escolha por conta: passkey sincronizada (no seu sistema operativo ou gestor de palavras-passe) ou associada a um dispositivo (chave de segurança). Para a gestão do alojamento, domínios e do seu fornecedor de passkeys, prefira uma chave de segurança. (3) Configure uma passkey ou chave em pelo menos uma conta. (4) Garanta uma reserva: uma segunda chave registada e guardada noutro local, ou, no caso de uma passkey sincronizada, um segundo dispositivo e boa proteção da conta do fornecedor. (5) Verifique se a forma de início de sessão antiga (palavra-passe com SMS ou código) ainda está ativa. Desative-a se possível, ou torne a palavra-passe longa e única. (6) Teste uma vez o início de sessão num segundo dispositivo (por exemplo, com o código QR e o seu telemóvel).
As suas marcações e notas ficam apenas neste navegador; não as enviamos para lado nenhum. Se tiver sessão iniciada, guardamos em Os meus cursos apenas que concluiu o exercício.
Para saber mais
- FIDO Alliance, Passkeys (em inglês): https://fidoalliance.org/passkeys/
- W3C, Web Authentication Level 3 (em inglês, a norma): https://www.w3.org/TR/webauthn-3/
- passkeys.dev, Terms (em inglês, glossário de membros da FIDO Alliance e do W3C): https://passkeys.dev/docs/reference/terms/
- NIST SP 800-63B-4, secção sobre resistência a phishing e autenticadores sincronizáveis (em inglês): https://pages.nist.gov/800-63-4/sp800-63b.html
- O centro nacional de cibersegurança dos Países Baixos, Como escolher um método de MFA? (em neerlandês): https://www.ncsc.nl/multifactor-authenticatie/hoe-kies-je-een-mfa-methode
