Como montar uma chave FIDO2 caseira com Raspberry Pi Pico: projeto DIY para aprender WebAuthn e segurança física

A autenticação por hardware deixou de ser uma tecnologia restrita a ambientes corporativos. Com a popularização das passkeys, do FIDO2 e do WebAuthn, dispositivos físicos passaram a ocupar um papel cada vez mais importante na proteção contra phishing e roubo de credenciais.

Mas será que é possível construir uma chave FIDO2 em casa usando uma placa barata como o Raspberry Pi Pico?

Sim — e o projeto ficou mais interessante do que parecia inicialmente.

Existem projetos open source capazes de transformar placas baseadas em microcontroladores como o RP2040 em autenticadores compatíveis com FIDO2, WebAuthn e U2F. Um dos projetos mais completos atualmente é o Pico FIDO, que implementa CTAP 2.1/CTAP 1, WebAuthn, U2F, PIN, credenciais residentes e outros recursos.

Neste artigo do HobbyTestLab, vamos analisar o projeto de forma prática: qual hardware é necessário, como funciona o firmware, quais são suas limitações, como testar a chave e, principalmente, se uma solução DIY deve realmente ser usada para proteger contas importantes.

Importante: uma chave FIDO2 DIY é excelente para aprendizado, laboratório e experimentação. Para contas críticas, uma chave comercial com recursos de segurança e certificação conhecidos continua sendo a opção mais prudente.

Resumo Rápido

CaracterísticaPico FIDO DIY
ProjetoPico FIDO
HardwareRaspberry Pi Pico/RP2040 ou placas compatíveis
ProtocoloFIDO2/WebAuthn, CTAP e U2F
PINSuportado
Credenciais residentesSuportadas
Botão físicoSuporte a presença do usuário
NFCNão faz parte da montagem básica
Certificação FIDO
Uso recomendadoLaboratório, aprendizado e testes
Uso em contas críticasNão recomendado como única chave

O projeto Pico FIDO atualmente lista suporte a CTAP 2.1/CTAP 1, WebAuthn, U2F, PIN, credenciais descobertas/residentes, gerenciamento de credenciais, diferentes curvas criptográficas e mecanismos de proteção do dispositivo.

O que é uma chave FIDO2?

Uma chave FIDO2 é um autenticador físico utilizado para realizar autenticação criptográfica.

Ela não funciona como um pendrive que simplesmente guarda um arquivo com uma senha. Em uma arquitetura FIDO2, o autenticador participa de um protocolo criptográfico no qual o serviço consegue verificar uma resposta sem precisar receber a chave privada do dispositivo.

FIDO2 combina duas tecnologias principais:

  • WebAuthn, especificado pelo W3C;
  • CTAP, definido pela FIDO Alliance para comunicação entre clientes e autenticadores externos.

A própria FIDO Alliance descreve FIDO2 como a combinação de WebAuthn e CTAP, permitindo autenticação por autenticadores externos via USB, NFC ou Bluetooth, dependendo do dispositivo.

Um fluxo simplificado pode ser entendido assim:

Usuário
   │
   ▼
Navegador / Sistema operacional
   │
   ▼
Solicitação WebAuthn
   │
   ▼
Chave FIDO2
   │
   ├── PIN, quando configurado
   │
   └── Presença do usuário
   │
   ▼
Resposta criptográfica
   │
   ▼
Servidor verifica a credencial

Uma característica importante do modelo é que as credenciais são vinculadas ao serviço. A FIDO Alliance destaca que as passkeys utilizam criptografia de chave pública e são vinculadas ao domínio do serviço, ajudando a impedir ataques de phishing e reutilização entre sites.

É possível construir uma FIDO2 caseira?

É possível construir um autenticador funcional utilizando hardware de desenvolvimento.

O projeto Pico FIDO, desenvolvido por Pol Henarejos, transforma Raspberry Pi Pico ou ESP32 em um autenticador USB. O projeto atualmente oferece recursos bastante mais avançados do que simplesmente “simular” uma chave de segurança: inclui CTAP 2.1, WebAuthn, U2F, PIN, credenciais residentes, gerenciamento de credenciais, HMAC-Secret, CredProtect e diferentes algoritmos criptográficos.

Isso muda bastante a percepção sobre o projeto.

Não estamos falando apenas de acender um LED quando alguém pressiona um botão. Existe uma implementação real de protocolos de autenticação.

Ao mesmo tempo, funcionar tecnicamente não significa oferecer o mesmo nível de segurança física de um autenticador comercial certificado.

Essa distinção é fundamental.

Qual hardware comprar?

Para o protótipo básico, a montagem pode ser bastante simples.

Componentes básicos

ItemQuantidade
Raspberry Pi Pico baseado em RP20401 (AliExpress)
Push button1
Protoboard1
JumpersAlguns
Cabo USB1

Opcionalmente, você pode acrescentar:

ItemFunção
LEDIndicação visual
ResistorLimitação de corrente do LED
Caixa impressa em 3DProteção e acabamento
PCB própriaTransformar o protótipo em dispositivo dedicado

O ponto interessante é que o projeto pode começar como uma experiência de bancada e posteriormente evoluir para um dispositivo muito mais organizado.

Por que usar o Raspberry Pi Pico?

O RP2040 é particularmente interessante para projetos desse tipo porque possui USB nativo e um ecossistema muito amplo de desenvolvimento.

Entre as características que tornam a plataforma interessante estão:

  • baixo custo relativo;
  • documentação disponível;
  • USB nativo;
  • facilidade para gravar firmware;
  • ampla comunidade;
  • disponibilidade de placas compatíveis.

O próprio Pico FIDO atualmente suporta diferentes placas e microcontroladores além do Raspberry Pi Pico original, incluindo famílias mais recentes.

Para quem está começando, porém, o Pico/RP2040 tradicional continua sendo uma escolha interessante justamente por manter o projeto simples.

Esquema básico do projeto

A montagem inicial pode ser extremamente simples:

Raspberry Pi Pico

GPIO15 ────────┐
               │
             [BOTÃO]
               │
GND ───────────┘

O botão é utilizado para indicar presença do usuário.

Na prática, quando o navegador solicita uma operação que exige interação física, o usuário pressiona o botão do dispositivo.

É importante não confundir isso automaticamente com um segundo fator do tipo “algo que você faz”. A classificação depende do fluxo de autenticação.

A chave física representa principalmente algo que você possui. Um PIN, quando utilizado para desbloquear operações do autenticador, adiciona um elemento de conhecimento.

Como funciona internamente?

O funcionamento interno é mais interessante do que a aparência do circuito sugere.

Um fluxo simplificado seria:

Registro
   │
   ▼
Criação da credencial
   │
   ▼
Chave criptográfica
   │
   ▼
Credencial armazenada
   │
   ▼
Autenticação futura
   │
   ▼
Assinatura criptográfica

O serviço não precisa receber a chave privada.

Durante a autenticação, o servidor fornece um desafio e o autenticador produz uma resposta criptográfica que pode ser verificada utilizando a informação pública correspondente.

É justamente essa arquitetura que torna FIDO2 resistente a muitos ataques de phishing.

Firmware: o verdadeiro cérebro da chave

O hardware sozinho não transforma o Raspberry Pi Pico em uma chave FIDO2.

O componente fundamental é o firmware.

O Pico FIDO atualmente implementa uma quantidade considerável de funcionalidades, incluindo:

  • CTAP 2.1;
  • CTAP 1;
  • WebAuthn;
  • U2F;
  • PIN;
  • credenciais residentes;
  • gerenciamento de credenciais;
  • HMAC-Secret;
  • CredProtect;
  • ECDSA;
  • EdDSA;
  • diferentes curvas criptográficas;
  • configuração do autenticador;
  • mecanismos de proteção contra dump da memória.

O projeto continua recebendo desenvolvimento. A versão 7.6, por exemplo, trouxe melhorias de segurança, atualização de componentes criptográficos, alterações no sistema de proteção das chaves e correções de problemas relacionados ao funcionamento do firmware.

Isso é uma vantagem para quem quer estudar o assunto, mas também mostra por que um projeto DIY exige acompanhamento.

Como gravar o firmware?

O processo básico do Raspberry Pi Pico continua bastante simples:

  1. Desconecte a placa do computador.
  2. Pressione o botão BOOTSEL.
  3. Conecte o cabo USB.
  4. O Pico será apresentado como uma unidade USB.
  5. Copie o firmware .UF2 apropriado.
  6. Aguarde a reinicialização da placa.

A partir desse momento, dependendo da versão e da configuração escolhida, o dispositivo poderá ser reconhecido pelo computador como um autenticador compatível.

Antes de instalar qualquer firmware, entretanto, é importante verificar a documentação e o arquivo correspondente exatamente à placa utilizada.

Primeiro teste: não comece pela sua conta principal

Esse é provavelmente o conselho mais importante de todo o projeto.

Não registre imediatamente sua conta principal do Google, Microsoft ou outro serviço no dispositivo.

Primeiro faça testes controlados.

Um fluxo adequado seria:

Pico FIDO
     │
     ▼
Windows / Linux
     │
     ▼
Chrome / Edge
     │
     ▼
Página de teste WebAuthn
     │
     ▼
Registrar credencial
     │
     ▼
Remover credencial
     │
     ▼
Registrar novamente
     │
     ▼
Testar autenticação

O objetivo é descobrir como o dispositivo se comporta antes de confiar nele.

Isso é particularmente importante porque o próprio projeto possui issues abertas relacionadas a compatibilidade e comportamento do fluxo WebAuthn. Em junho de 2026, por exemplo, foi registrada uma issue relatando travamento no fluxo CTAP2/WebAuthn após a entrada do PIN em determinadas versões do firmware.

Isso não significa que o projeto seja ruim. Significa que ele deve ser tratado como aquilo que realmente é: um projeto de software e hardware em evolução.

Posso usar no Google, Microsoft e GitHub?

Em princípio, um autenticador que implemente corretamente os padrões necessários pode ser reconhecido por serviços compatíveis com FIDO2/WebAuthn.

Mas existe uma diferença entre:

“o protocolo é compatível”

e

“o dispositivo é certificado e apropriado para uma determinada utilização”.

O Pico FIDO implementa os protocolos necessários para funcionar como autenticador, mas isso não deve ser interpretado automaticamente como equivalência a uma chave comercial certificada.

A FIDO Alliance mantém um processo formal de certificação que inclui testes de conformidade, interoperabilidade e requisitos adicionais de segurança para autenticadores.

DIY ou chave comercial?

Aqui está a principal decisão do projeto.

CaracterísticaPico FIDO DIYYubico Security Key C NFCGoogle Titan Security Key
FIDO2/WebAuthnSimSimSim
USB-CSim, dependendo da placaSimSim
NFCNão na montagem básicaSimSim
PINSimSim
Projeto abertoSimNãoNão
Secure element dedicadoSimSim
Certificação FIDOFIDO L2
Objetivo principalAprendizadoUso diárioUso diário
ManutençãoUsuário/projetoFabricanteFabricante

A Security Key C NFC da Yubico suporta FIDO2, CTAP1, CTAP2 e CTAP2.1, além de NFC. A página oficial também informa certificação FIDO L2 para o modelo.

O Google Titan Security Key utiliza um secure element dedicado e firmware desenvolvido para verificar a integridade da chave. A versão atual oferece USB-C/NFC ou USB-A/NFC, dependendo do modelo.

A diferença não está simplesmente em “uma funciona e outra não”.

A diferença está no nível de confiança que você deposita no dispositivo.

O que a certificação FIDO realmente muda?

Esse ponto merece atenção.

A certificação FIDO não significa simplesmente que o produto “tem FIDO2”.

A FIDO Alliance possui níveis de certificação de segurança para autenticadores. Atualmente existem níveis como L1, L1+, L2, L3 e L3+, com requisitos progressivamente maiores.

Nos níveis mais altos entram questões relacionadas à proteção contra ataques de software e hardware.

No caso do L3+, por exemplo, a FIDO Alliance descreve requisitos que incluem elementos seguros de nível de smart card e proteção contra técnicas como injeção de falhas, microprobing e análise avançada de canais laterais.

Isso ajuda a entender por que uma placa de desenvolvimento com firmware open source não deve ser automaticamente considerada equivalente a uma chave profissional.

Vantagens do projeto DIY

1. Aprendizado

Esse é provavelmente o maior benefício.

Você consegue estudar:

  • WebAuthn;
  • CTAP;
  • FIDO2;
  • criptografia de chave pública;
  • credenciais;
  • autenticação sem senha;
  • firmware;
  • USB HID;
  • segurança de hardware.

2. Baixo custo de entrada

Você pode começar utilizando uma placa de desenvolvimento que já possua.

Não é necessário comprar imediatamente uma chave comercial apenas para entender como a tecnologia funciona.

3. Transparência

O código do projeto está disponível publicamente.

Isso permite estudar sua implementação, acompanhar alterações e observar problemas reportados pela comunidade. O repositório público atualmente possui dezenas de issues e pull requests, mostrando que existe atividade contínua de desenvolvimento.

4. Personalização

É possível experimentar diferentes placas, LEDs, caixas, interfaces e configurações.

Para um laboratório de tecnologia, isso é extremamente interessante.

Desvantagens

1. Não é automaticamente uma chave certificada

O fato de o firmware implementar FIDO2 não transforma a placa em um produto certificado.

A certificação envolve processos específicos de conformidade, interoperabilidade e avaliação de segurança.

2. Firmware pode apresentar problemas

Projetos open source evoluem.

Novas versões podem corrigir problemas, modificar comportamentos ou introduzir alterações de compatibilidade.

As releases recentes do Pico FIDO mostram exatamente esse cenário: correções, alterações internas e melhorias continuam sendo publicadas.

3. Segurança física

Esse é provavelmente o maior ponto de atenção.

Uma placa de desenvolvimento não deve ser confundida com um autenticador projetado desde o início para resistir a ataques físicos.

4. Você é responsável pela manutenção

Se uma versão do firmware apresentar um problema, a responsabilidade por acompanhar a situação é sua.

Uma chave comercial transfere boa parte dessa responsabilidade para o fabricante.

Para quem é indicado?

✔ Excelente para

  • estudantes de segurança;
  • entusiastas de Raspberry Pi;
  • makers;
  • profissionais de TI;
  • pesquisadores;
  • laboratórios de segurança;
  • pessoas interessadas em passkeys;
  • quem quer aprender WebAuthn;
  • quem gosta de projetos DIY.

✖ Não é a melhor escolha para

  • proteger uma conta extremamente importante;
  • ambientes corporativos críticos;
  • sistemas que exigem certificação formal;
  • pessoas que não querem lidar com firmware;
  • quem precisa de suporte oficial do fabricante.

Vale a pena em 2026?

Para aprender, sim. Para substituir completamente uma chave comercial, não.

Essa é a conclusão mais equilibrada.

O Pico FIDO evoluiu bastante e hoje oferece um conjunto de recursos muito mais interessante do que o projeto básico apresentado em muitos tutoriais antigos. O suporte a CTAP 2.1, WebAuthn, PIN, credenciais residentes e outros recursos torna o projeto uma verdadeira plataforma de experimentação com autenticação moderna.

Por outro lado, o desenvolvimento ativo também demonstra que ainda existem questões de compatibilidade e manutenção a acompanhar.

Para o HobbyTestLab, isso é justamente o que torna o projeto interessante.

Você não está apenas comprando um dispositivo pronto.

Está desmontando mentalmente a tecnologia e entendendo como ela funciona.

O cenário ideal: DIY + chave comercial

Existe uma estratégia ainda melhor.

Em vez de escolher entre DIY e comercial, você pode usar os dois.

              AUTENTICAÇÃO
                   │
        ┌──────────┴──────────┐
        │                     │
        ▼                     ▼
   Pico FIDO DIY       Chave comercial
        │                     │
        ▼                     ▼
    Laboratório          Contas críticas
        │                     │
        └──────────┬──────────┘
                   ▼
             Aprendizado

O Pico pode ficar no laboratório para testes, desenvolvimento e aprendizado.

Uma chave comercial pode ficar responsável pelas contas realmente importantes.

Essa abordagem reduz o risco de transformar um projeto experimental no único mecanismo de recuperação de suas contas.

Perguntas Frequentes

1. O Pico FIDO funciona mesmo?

O projeto implementa protocolos como CTAP, WebAuthn e U2F e foi desenvolvido para funcionar como um autenticador USB. Isso significa que ele é muito mais do que uma simples simulação de chave física.

2. É igual a uma YubiKey?

Não.
O Pico FIDO pode implementar funcionalidades semelhantes, mas uma chave comercial é um produto desenvolvido, testado e, em determinados modelos, certificado para oferecer um nível específico de segurança.

3. Posso usar minha chave DIY na minha conta principal?

Tecnicamente pode ser possível em serviços compatíveis, mas não é a recomendação mais prudente.
Para contas críticas, prefira um autenticador comercial confiável e mantenha métodos de recuperação adequados.

5. Preciso de um PIN?

O Pico FIDO possui suporte a PIN.
Entretanto, o comportamento exato depende da versão do firmware e da configuração utilizada.

6. Posso armazenar passkeys no Pico?

O projeto suporta credenciais descobertas/residentes, que são uma das funcionalidades importantes dos autenticadores FIDO2 modernos.

7. O projeto está abandonado?

Não parece estar abandonado. O repositório apresenta releases recentes, issues e pull requests ativos.

8. Existem problemas conhecidos?

Sim. Como qualquer projeto em desenvolvimento, existem issues abertas. Uma delas documentou problemas no fluxo CTAP2/WebAuthn envolvendo PIN em determinadas versões do firmware.
Por isso, testar antes de confiar uma conta importante ao dispositivo é essencial.

9. Existe alternativa melhor?

Para laboratório, o Pico FIDO é uma alternativa muito interessante.
Para uso diário, uma chave comercial como a Yubico Security Key C NFC ou Google Titan oferece uma experiência mais próxima do conceito de produto pronto para uso. A Yubico, por exemplo, informa FIDO L2 para sua Security Key C NFC.

10. Compensa investir no projeto?

Se o objetivo for aprender, definitivamente é um projeto interessante.
Se o objetivo for simplesmente proteger suas contas da maneira mais prática possível, comprar uma chave comercial provavelmente será uma decisão melhor.

Conclusão

Montar uma chave FIDO2 caseira com Raspberry Pi Pico é um daqueles projetos que parecem simples por fora, mas escondem uma quantidade enorme de conceitos interessantes.

Você começa com uma pequena placa, um botão e um cabo USB.

Depois descobre que por trás daquele circuito existem WebAuthn, CTAP, criptografia de chave pública, credenciais residentes, PIN, autenticação resistente a phishing e segurança de hardware.

E é justamente isso que torna o projeto tão interessante para o HobbyTestLab.

O Pico FIDO atualmente já oferece uma implementação bastante completa para quem deseja estudar e experimentar FIDO2 em hardware próprio.

Mas existe uma diferença importante entre construir uma chave que funciona e construir uma chave na qual você deve confiar sua conta mais importante.

Para laboratório, aprendizado e experimentação: vale muito a pena.

Para contas críticas: use uma chave comercial certificada e mantenha uma segunda chave ou método de recuperação seguro.

Na prática, o melhor cenário não é escolher entre DIY e comercial.

É usar o DIY para entender a tecnologia e o dispositivo comercial para proteger aquilo que realmente importa.

E esse é exatamente o tipo de experimento que combina com a proposta do HobbyTestLab: aprender, testar e entender a tecnologia na prática.


Deseja melhorar a sua segurança e proteger as suas contas?

Leia mais artigos sobre Segurança e Privacidade →

Deixe um comentário

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


Rolar para cima