implementing-hardware-security-key-authentication
Implementa autenticação com chaves de segurança de hardware FIDO2/WebAuthn. Cobre registro, autenticação e fluxos de trabalho de credenciais residentes (senhas).
O que ela faz
Esta ferramenta ajuda a criar um sistema de login seguro usando chaves de segurança físicas (como YubiKey) ou recursos do seu dispositivo (como impressão digital). Ela substitui ou complementa senhas, tornando o acesso mais difícil para hackers.
Quando usar
- ✓Quando você quer proteger contas importantes com um método extra de segurança.
- ✓Ao construir um site ou aplicativo que precisa de logins mais seguros.
- ✓Para permitir que as pessoas façam login sem senhas, usando apenas a chave de segurança.
Exemplo do que pedir para a IA
“Configure um login seguro para meu site usando chaves de segurança.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta configura o servidor para se comunicar com a chave de segurança. Ela gerencia o registro de novas chaves e a verificação delas durante o login, garantindo que apenas o dono da chave possa acessar.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill implementing-hardware-security-key-authenticationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/implementing-hardware-security-key-authentication/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Implementando Autenticação com Chave de Segurança de Hardware
Quando Usar
- Implementando autenticação multifator (MFA) resistente a phishing usando chaves de segurança de hardware FIDO2 para contas de alto valor (administradores, desenvolvedores, usuários privilegiados)
- Construindo um servidor de parte confiável (relying party) WebAuthn que suporte tanto autenticadores itinerantes (chaves de segurança USB/NFC) quanto autenticadores de plataforma (Windows Hello, Touch ID, biometria Android)
- Migrando um sistema de autenticação existente baseado em senha para suportar senhas (credenciais detectáveis) como um fator de autenticação primário ou secundário
- Registrando dispositivos YubiKey para a força de trabalho de uma organização, incluindo configuração de PIN, registro de credenciais e provisionamento de chaves de backup
- Implementando fluxos de autenticação sem senha que estejam em conformidade com os requisitos NIST SP 800-63B AAL3 (nível de garantia do autenticador 3)
Não use sem HTTPS em produção (WebAuthn requer uma origem segura), para sistemas onde os usuários não podem acessar fisicamente uma porta USB/NFC, ou como o único fator de autenticação sem um mecanismo de recuperação para chaves perdidas.
Pré-requisitos
- Python 3.10+ com
fido2(python-fido2 >= 2.0.0),flaskecryptographybibliotecas instaladas - Servidor web com HTTPS ativado (API WebAuthn requer contexto seguro; localhost é isento para desenvolvimento)
- Chave de segurança de hardware compatível com FIDO2 (YubiKey Série 5, SoloKeys, Titan Security Key) ou autenticador de plataforma
- Navegador web moderno que suporte a API WebAuthn (Chrome 67+, Firefox 60+, Safari 14+, Edge 79+)
- Compreensão de criptografia de chave pública, protocolos de desafio-resposta e gerenciamento de sessão HTTP
Fluxo de Trabalho
Etapa 1: Configuração do Servidor da Parte Confiável
Configure a identidade e o servidor da parte confiável (RP) WebAuthn:
- Definir identidade da RP: Crie uma
PublicKeyCredentialRpEntitycom o nome da parte confiável (nome de exibição mostrado aos usuários) e o ID da RP (o domínio efetivo do aplicativo). O ID da RP deve ser um sufixo de domínio registrável da origem -- por exemplo,example.comé válido parahttps://auth.example.com, masother.comnão é. - Inicializar Fido2Server: Instancie a classe
Fido2Serverda biblioteca python-fido2 com a entidade RP. O servidor lida com a geração de desafios, verificação de atestado e validação de asserção. - Configurar preferência de atestado: Defina a preferência de transporte de atestado para controlar se o servidor solicita prova da identidade do autenticador:
none: Nenhum atestado solicitado (mais simples, recomendado para a maioria das implementações)indirect: O atestado pode ser fornecido, mas a CA pode anonimizá-lodirect: Cadeia completa de atestado do fabricante do autenticadorenterprise: Atestado que identifica o dispositivo para ambientes gerenciados
- Gerenciamento de sessão: Configure sessões do lado do servidor para armazenar o estado WebAuthn entre as fases de início e conclusão das cerimônias de registro/autenticação. Use cookies seguros, httponly com SameSite=Strict.
- Armazenamento de credenciais: Projete o esquema do banco de dados para armazenar registros de credenciais:
credential_id(binário),public_key(chave COSE),sign_count(uint32 para detecção de clone),user_id,created_at,last_used,display_nameetransports(USB, NFC, BLE, interno).
Etapa 2: Cerimônia de Registro (Criação de Credencial)
Implemente o fluxo de registro WebAuthn para criar novas credenciais:
- Iniciar registro: Chame
server.register_begin()com a entidade do usuário (PublicKeyCredentialUserEntitycontendo ID do usuário, nome de usuário e nome de exibição), a lista de credenciais existentes para o usuário (para evitar registro duplicado) e opções parauser_verificationeauthenticator_attachment. - Critérios de seleção do autenticador:
authenticator_attachment: cross-platformrestringe a autenticadores itinerantes (chaves USB/NFC)authenticator_attachment: platformrestringe a autenticadores integrados (Touch ID, Windows Hello)- Omitir este campo permite ambos os tipos
resident_key: requiredforça a criação de uma credencial detectável (senha) armazenada no autenticadoruser_verification: requiredimpõe PIN ou verificação biométrica no autenticador
- Cerimônia do lado do cliente: O navegador chama
navigator.credentials.create()com as opções do servidor. O autenticador gera um novo par de chaves, armazena a chave privada em seu elemento seguro e retorna a chave pública, o ID da credencial, o objeto de atestado e o JSON dos dados do cliente.
…
Perguntas frequentes
Preciso de uma chave de segurança física?
Não necessariamente. Você pode usar chaves físicas (como YubiKey) ou recursos do seu computador/celular, como Windows Hello ou Touch ID.
O que é 'phishing-resistant'?
Significa que o sistema é muito mais difícil de enganar por meio de e-mails ou sites falsos, pois depende de um dispositivo físico ou biometria que o hacker não possui.
Posso usar isso em qualquer site?
É ideal para sites e aplicativos que você está construindo ou administrando. Para sites que você apenas usa, você pode ativar essa opção se o site oferecer.
Detalhes
Descrição original do autor
Builds a FIDO2/WebAuthn relying party server with the python-fido2 library, covering registration and authentication ceremonies, YubiKey enrollment, resident key (discoverable credential/passkey) workflows, and user verification policies. Use when implementing phishing-resistant MFA with hardware security keys, building a WebAuthn relying party, enrolling YubiKeys for a workforce, or migrating pas
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #5888
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
django-security
Ajuda seu agente a implementar práticas de segurança em aplicações Django. Ele foca em autenticação, autorização e prevenção contra ataques comuns, garantindo um código mais seguro.
affaan-m/ECC
laravel-security
Ajuda seu agente a proteger aplicações Laravel contra ameaças. Implementa práticas de segurança para autenticação, autorização e prevenção de ataques comuns.
affaan-m/ECC
module-regression
Ajuda seu agente a gerenciar mudanças em projetos grandes. Garante que alterações em uma parte do código não quebrem outras partes.
affaan-m/ECC