Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
kl-security-key — Experimenteller RP2040 FIDO2/WebAuthn-Authenticator mit gepackter Attestierung und dokumentierter Windows/Entra-Interoperabilität | Kitploit
Tools/GitHubGitHub/karaaslanlabs/kl-security-key
Embedded-System-SicherheitIoT-SicherheitKryptographieHardware-SicherheitHardware- & IoT-SicherheitIdentitäts- & Zugriffsmanagement (IAM)AuthentifizierungPapers & ForschungLernen & Bildung
GitHubkaraaslanlabs/kl-security-key

kl-security-key

Experimenteller RP2040 FIDO2/WebAuthn-Authenticator mit gepackter Attestierung und dokumentierter Windows/Entra-Interoperabilität

81110vor 7 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigenWebseite

KL Security Key

Publication hygiene License: AGPL-3.0

Experimentelles Open-Source-Projekt von Karaaslan Labs für Engineering und Interoperabilität eines RP2040-FIDO2/WebAuthn-Authenticators.

Status: Engineering-/Forschungsprojekt. Nicht FIDO-Alliance-zertifiziert. Kein kommerzieller Security-Token mit hoher Assurance.

Evidenzgrenze: Die untenstehenden Beobachtungen am realen Gerät gehören zum eingefrorenen v5.2. Die Härtungsarbeiten in v5.3 finden ausschließlich außerhalb des Geräts statt und wurden nicht auf der physischen Referenz installiert oder verifiziert.

KL Security Key ist eine kuratierte Ableitung von polhenarejos/pico-fido. Das Projekt lotet aus, wie weit sich ein kostengünstiges RP2040-Board als physischer WebAuthn-Authenticator treiben lässt, während Identität, Attestierung, Validierungsnachweise und Vertrauensgrenzen explizit bleiben.

Auf einen Blick

BereichEingefrorene physische Referenz v5.2
HardwareRP2040-USB-Entwicklungsboard
TransportUSB FIDO HID
CTAP/GetInfo-VersionenFIDO_2_0, FIDO_2_1, FIDO_2_3
Nutzerpräsenz / -verifikationPhysische Taste + PIN/UV-Unterstützung
AttestierungPacked ES256, x5c, gerätespezifisches Zertifikat
AAGUIDd9359dc7-6938-5822-b951-006507247d8f
InteroperabilitätWindows WebAuthn + mandantenlokale Microsoft-Entra-Validierung
DistributionSource-first; keine KL-Firmware-Binärveröffentlichung
Secure ElementKeines
ZertifizierungNicht FIDO-Alliance-zertifiziert

Board- und Flash-Größen-Geltungsbereich

Der main-Source-Referenz-Build wählt -DPICO_BOARD=pico in scripts/build-kl-reference.sh und zielt damit auf die Standardkonfiguration des Raspberry Pi Pico mit 2 MiB externem Flash. Der isolierte v5.3-Off-Device-Builder wählt ebenfalls -DPICO_BOARD=pico; sein UF2-Ausgabe-Validator prüft das 2-MiB-Flash-Adressfenster des Pico. Dies sind Source-/Build-Einschränkungen, keine physische Validierung jedes RP2040-Boards.

Andere RP2040-Boards können eine andere Flash-Kapazität oder Board-Konfiguration aufweisen. Das Upstream-Pico-FIDO-Issue #278 dokumentiert einen Fehler bei der ersten WebAuthn-Operation auf einem Board mit größerem Flash, als das zur Kompilierzeit festgelegte Flash-Limit der Firmware nicht zum Laufzeit-Layout passte. Dieser Upstream-Befund ist kein reproduzierter Fehler des KL Security Key, verdeutlicht aber, warum die bloße Übereinstimmung des RP2040-Chips kein ausreichender Kompatibilitätsnachweis ist.

Gehen Sie nicht davon aus, dass die KL-Referenz-Firmware auf beliebigen RP2040-Boards funktioniert, und flashen Sie ein Gerät nicht allein aufgrund eines erfolgreichen Builds oder einer gültigen UF2-Rahmung. Es wird hier weder Kompatibilität mit alternativen Boards noch ein neuer Hardware-Test noch eine Firmware-Binärverteilung beansprucht. Die eingefrorene physische Referenz v5.2 wurde nicht verändert.

Warum dieses Projekt existiert

Das Projekt begann mit einer praktischen Frage: Kann ein preisgünstiges Entwicklungsboard zu einem nutzbaren physischen Sicherheitsschlüssel für echte WebAuthn-Anmeldungen werden, ohne die technischen Kompromisse zu verbergen?

Die interessante Arbeit bestand am Ende nicht einfach darin, RP2040 dazu zu bringen, FIDO2 auszuführen. Die schwierigeren Teile waren Authenticator-Identität, physische Nutzerpräsenz, Attestierung, Windows-Verhalten, reproduzierbare Source-Änderungen, Interoperabilität mit Relying Parties und das genaue Wissen darüber, was die Evidenz beweist – und was nicht.

Verifiziert auf der eingefrorenen physischen Referenz v5.2

Die Ergebnisse in diesem Abschnitt wurden mit dem erhaltenen v5.2-Gerät erzielt und dürfen nicht späteren Source- oder experimentellen Firmware-Builds zugeschrieben werden. Siehe docs/validation-evidence.md für den eingefrorenen UF2-SHA-256 und die Testgrenzen.

  • Frische WebAuthn-Registrierung: PASS.
  • Authentifizierung / GetAssertion mit demselben Credential: PASS.
  • Windows-Provider: MicrosoftCtapHidProvider.
  • CTAP2-Pfad beobachtet mit U2fProtocol=false.
  • Physische Benutzerpräsenz für Registrierung und Anmeldung erforderlich.
  • PIN-/Benutzerverifikations-Pfad validiert.
  • Packed-Attestation-Signatur: PASS.
  • Attestation-Leaf → KL Security Key Root CA-Verifikation: PASS.
  • AAGUID-Übereinstimmung zwischen Authenticator-Daten und Zertifikatserweiterung: PASS.
  • Microsoft Entra mandantenlokale gerätegebundene Registrierung und frische Anmeldung mit physischem Schlüssel: PASS mit deaktivierter Attestation-Durchsetzung.

Das Entra-Ergebnis ist ein Interoperabilitätsergebnis, keine Microsoft-Zertifizierung oder globale Authenticator-Anerkennung. Die genaue Abgrenzung ist in docs/interoperability-case-study.md beschrieben.

v5.3-Entwicklung — nur außerhalb des Geräts

Die aktuelle HID/APDU/OTP-Härtung wird in Draft PR #7 verfolgt. Sie umfasst einen patchbasierten SDK-Integrationspfad, hostseitige Regressionstests und lokale isolierte ARM-Build-Nachweise. Diese Prüfungen sind kein Live-Gerätetest, kein vollständiger FIDO-Konformitätstest, keine Zertifizierung und kein Produktionsrelease. GitHub Actions führt Host-/Quelltests und Publikationsprüfungen aus; vollständige ARM-Builds wurden lokal verifiziert, nicht in GitHub Actions.

Der main-Branch und sein Referenz-Build enthalten die nicht zusammengeführten v5.3-Patches nicht automatisch. Für aktuelle experimentelle Nachweise und offene Blocker sollte PR #7 herangezogen werden, statt historische UF2-Hashes oder einzelne bestandene Tests als aktuellen Hardware-Status zu betrachten. Es wird kein Firmware-Binary aus dieser Arbeit zum Download oder Flashen angeboten.

Architektur

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"]

Die validierte Laufzeitumgebung ist bewusst eng gefasst: FIDO HID ist die Sicherheitsschlüssel-Schnittstelle; nicht zugehörige Tastatur-/CCID-artige Laufzeit-Schnittstellen sind nicht Teil des KL-Referenzprofils.

Das main-Quellreferenzprofil erstellen

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

Der main-Build aktiviert die Durchsetzung der physischen Benutzerpräsenz, das FIDO-only-Runtime-Profil und den Pfad für gepackte Attestierung; er ist kein Build der nicht zusammengeführten v5.3-Änderungen. Gültiges Attestierungsschlüssel-/Zertifikatsmaterial muss separat bereitgestellt werden; private Attestierungsschlüssel werden von diesem Repository weder veröffentlicht noch automatisch bereitgestellt. Das Erstellen einer UF2 autorisiert nicht das Flashen eines Geräts.

Vertrauensgrenzen und Nicht-Behauptungen

Dieses Repository erhebt nicht den Anspruch auf:

Tool herunterladen