OpenSK is an open-source implementation of FIDO2 (WebAuthn + CTAP) security keys, written in Rust and designed to run on affordable microcontroller boards. It provides the full authenticator stack—USB/NFC transport, CTAP protocol handling, credential management, and cryptographic operations—so you can build and audit your own hardware token. The project emphasizes defense-in-depth: memory-safe Rust, hardened crypto, isolation via an embedded OS, and explicit user presence/verification flows. Developers can flash reference hardware, customize UX (LEDs, buttons, PIN), and experiment with extensions while staying interoperable with major browsers and platforms. A test and conformance suite validates protocol behavior against the WebAuthn/CTAP specs to ensure compatibility.
Features
- Full FIDO2/WebAuthn authenticator stack in Rust
- USB and NFC transports for desktop and mobile use
- Credential storage, PIN management, and resident keys
- Hardware reference designs and flashing instructions
- Conformance tests to validate CTAP/WebAuthn behavior
- Extension points for custom UX or experimental features