OpenSK is an open-source implementation of a FIDO2 security key written in Rust that supports both FIDO U2F and FIDO2 standards.
Security keys are external devices used for authentication on websites, and OpenSK solves the problem of having a fully open-source security key implementation from firmware to application layer. The project implements the FIDO2 protocol in Rust and runs on embedded hardware, specifically Nordic nRF52840-based boards. It can be deployed as a Wasefire applet or used as a library. The tool currently uses RustCrypto for cryptographic operations while work continues on integrating hardware-accelerated cryptography via the ARM CryptoCell-310 embedded in the nRF52840 chip.
OpenSK is positioned as a proof-of-concept and research platform rather than a production security key for daily use. It suits developers and researchers interested in understanding security key implementation, experimenting with FIDO protocols, or building custom authentication hardware. The project explicitly states it is not meant for daily usage and that the develop branch is less rigorously tested than numbered branches tracking older CTAP versions. A previous version implementing CTAP 2.0 achieved FIDO Alliance certification, though the current develop branch tracking the latest CTAP specification is not certified. The tool supports multiple hardware platforms including Nordic development kits and dongles from various manufacturers, with installation instructions provided for each.
Development activity shows consistent automated testing across multiple dimensions including code formatting, linting, and coverage tracking. The project maintains active CI workflows for Cargo checks and format validation. Documentation is actively maintained with linting checks in place. The codebase demonstrates attention to code quality through automated format enforcement and comprehensive testing infrastructure.