Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
kl-security-key — Autenticador FIDO2/WebAuthn experimental para RP2040 com atestação empacotada e interoperabilidade documentada com Windows/Entra | Kitploit
Ferramentas/GitHubGitHub/karaaslanlabs/kl-security-key
Segurança de Sistemas EmbarcadosSegurança IoTCriptografiaSegurança de HardwareSegurança de Hardware e IoTGerenciamento de Identidade e Acesso (IAM)AutenticaçãoPapers e PesquisaAprendizado e Educação
GitHubkaraaslanlabs/kl-security-key

kl-security-key

Autenticador FIDO2/WebAuthn experimental para RP2040 com atestação empacotada e interoperabilidade documentada com Windows/Entra

81110há 7 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver RepositórioSite

KL Security Key

Publication hygiene License: AGPL-3.0

Projeto experimental de engenharia e interoperabilidade de autenticador FIDO2/WebAuthn RP2040 de código aberto da Karaaslan Labs.

Status: projeto de engenharia/pesquisa. Não certificado pela FIDO Alliance. Não é um token de segurança comercial de alta garantia.

Limite de evidências: as observações em dispositivo real abaixo pertencem à v5.2 congelada. O trabalho de endurecimento da v5.3 é apenas fora do dispositivo e não foi instalado nem verificado na referência física.

O KL Security Key é um derivado curado do polhenarejos/pico-fido. Ele explora até onde uma placa RP2040 de baixo custo pode ser levada como autenticador WebAuthn físico, mantendo explícitos a identidade, a atestação, as evidências de validação e os limites de confiança.

Visão geral

ÁreaReferência física v5.2 congelada
HardwarePlaca de desenvolvimento USB RP2040
TransporteUSB FIDO HID
Versões CTAP/GetInfoFIDO_2_0, FIDO_2_1, FIDO_2_3
Presença / verificação do usuárioBotão físico + suporte a PIN/UV
AtestaçãoPacked ES256, x5c, certificado específico do dispositivo
AAGUIDd9359dc7-6938-5822-b951-006507247d8f
InteroperabilidadeWebAuthn do Windows + validação local ao tenant no Microsoft Entra
DistribuiçãoPrioridade ao código-fonte; nenhuma versão de binário de firmware KL
Elemento seguroNenhum
CertificaçãoNão certificado pela FIDO Alliance

Escopo de placa e tamanho de flash

A compilação de referência do código-fonte em main seleciona -DPICO_BOARD=pico em scripts/build-kl-reference.sh, visando a configuração padrão da placa Raspberry Pi Pico com 2 MiB de flash externa. O construtor isolado fora do dispositivo da v5.3 também seleciona -DPICO_BOARD=pico; seu validador de saída UF2 verifica a janela de endereço de flash de 2 MiB da Pico. Estas são restrições de código-fonte/compilação, não validação física de todas as placas RP2040.

Outras placas RP2040 podem ter capacidade de flash ou configurações de placa diferentes. A issue #278 do Pico FIDO upstream documenta uma falha na primeira operação WebAuthn em uma placa com flash maior quando o limite de flash em tempo de compilação do firmware não correspondia ao seu layout em tempo de execução. Essa descoberta upstream não é uma falha reproduzida do KL Security Key, mas ilustra por que corresponder apenas ao chip RP2040 não é evidência suficiente de compatibilidade.

Não presuma que o firmware de referência KL funciona em placas RP2040 arbitrárias, nem grave um dispositivo apenas com base em uma compilação bem-sucedida ou em um enquadramento UF2 válido. Nenhuma compatibilidade com placas alternativas, novo teste de hardware ou distribuição de binário de firmware é alegada aqui. A referência física v5.2 congelada não foi alterada.

Por que este projeto existe

O projeto começou com uma pergunta prática: uma placa de desenvolvimento barata pode se tornar uma chave de segurança física utilizável para login WebAuthn real, sem esconder os compromissos de engenharia?

O trabalho interessante acabou não sendo simplesmente fazer o RP2040 executar FIDO2. As partes mais difíceis foram a identidade do autenticador, a presença física do usuário, a atestação, o comportamento no Windows, as mudanças reproduzíveis no código-fonte, a interoperabilidade com relying parties e saber exatamente o que as evidências provam — e o que não provam.

Verificado na referência física v5.2 congelada

Os resultados nesta seção foram obtidos com o dispositivo v5.2 preservado e não devem ser atribuídos a compilações posteriores de código-fonte ou de firmware experimental. Consulte docs/validation-evidence.md para o SHA-256 do UF2 congelado e os limites dos testes.

  • Registro WebAuthn novo: PASS.
  • Autenticação / GetAssertion com a mesma credencial: PASS.
  • Provedor Windows: MicrosoftCtapHidProvider.
  • Caminho CTAP2 observado com U2fProtocol=false.
  • Presença física do usuário exigida para registro e login.
  • Caminho de PIN/verificação do usuário validado.
  • Assinatura de atestação Packed: PASS.
  • Verificação da folha de atestação → KL Security Key Root CA: PASS.
  • Concordância do AAGUID entre os dados do autenticador e a extensão do certificado: PASS.
  • Registro vinculado ao dispositivo local do tenant do Microsoft Entra e login novo com chave física: PASS com a aplicação de atestação desativada.

O resultado do Entra é um resultado de interoperabilidade, não uma certificação Microsoft nem um reconhecimento global de autenticador. Consulte docs/interoperability-case-study.md para o limite exato.

Desenvolvimento da v5.3 — apenas fora do dispositivo

O endurecimento atual de HID/APDU/OTP está registrado no Draft PR #7. Ele inclui um caminho de integração do SDK baseado em patches, testes de regressão no host e evidências de build ARM isolado local. Essas verificações não são um teste em dispositivo real, um teste completo de conformidade FIDO, uma certificação ou uma versão de produção. O GitHub Actions executa testes de host/código-fonte e verificações de publicação; builds ARM completos foram verificados localmente, não no GitHub Actions.

O branch main e seu build de referência não incluem automaticamente os patches não mesclados da v5.3. Para evidências experimentais atuais e bloqueios pendentes, use o PR #7 em vez de tratar hashes UF2 históricos ou aprovações individuais de testes como o status mais recente do hardware. Nenhum binário de firmware deste trabalho é oferecido para download ou gravação.

Arquitetura

flowchart LR
    RP["Relying party / Microsoft Entra"] --> WA["Browser + Windows WebAuthn"]
    WA --> CTAP["CTAP2 over USB HID"]
    CTAP --> KEY["KL Security Key<br/>RP2040"]
    KEY --> AT["Packed ES256 attestation<br/>device-specific key + x5c"]
    AT --> ROOT["KL Security Key Root CA"]

O runtime validado é intencionalmente restrito: FIDO HID é a interface de chave de segurança; interfaces de runtime não relacionadas, do tipo teclado/CCID, não fazem parte do perfil de referência KL.

Construir o perfil de referência de origem main

git clone --recurse-submodules https://github.com/karaaslanlabs/kl-security-key.git
cd kl-security-key
export PICO_SDK_PATH=/path/to/pico-sdk
export PICO_TOOLCHAIN_PATH=/path/to/arm-none-eabi-toolchain
./scripts/build-kl-reference.sh

A build main habilita a aplicação de presença física do usuário, o perfil de runtime somente FIDO e o caminho de atestação empacotada; ela não é uma build das alterações v5.3 não mescladas. Material válido de chave/certificado de atestação deve ser provisionado separadamente; chaves de atestação privadas não são publicadas nem provisionadas automaticamente por este repositório. Compilar um UF2 não autoriza gravar um dispositivo.

Limites de confiança e não-afirmações

Este repositório não afirma:

Baixar ferramenta