OpenSK is an open-source Rust implementation of FIDO U2F and FIDO2 security keys enabling secure, hardware-based authentication.
OpenSK is an open-source implementation for security keys written in Rust that supports both FIDO U2F and FIDO2 standards.
OpenSK is designed for developers and security researchers who want to build, customize, or experiment with open-source security keys compliant with FIDO standards. It enables secure authentication on websites and services by providing a hardware-backed, passwordless login experience using supported development boards.
OpenSK is a proof-of-concept and research platform, not intended for daily production use. The develop branch is less stable and not FIDO certified. Hardware acceleration via ARM CryptoCell-310 is under integration; currently, cryptography relies on RustCrypto. Users need supported Nordic nRF52840 hardware to run OpenSK. Familiarity with embedded development and Rust is recommended.
Follow the general setup steps in docs/install.md
For Nordic nRF52840-DK, follow docs/boards/nrf52840dk.md
For Nordic nRF52840 Dongle, follow docs/boards/nrf52840_dongle.md
For Makerdiary nRF52840-MDK USB dongle, follow docs/boards/nrf52840_mdk.md
For Feitian OpenSK dongle, follow docs/boards/nrf52840_feitian.md
Test installation by registering and logging in at https://webauthn.io/
Refer to docs/debugging.md for troubleshooting and debugging
Customize OpenSK functionality via docs/customization.md