OpenSK

OpenSK 是用 Rust 编写的安全密钥开源实现,支持 FIDO U2F 和 FIDO2 标准。「OpenSK is an open-source implementation for security keys written in Rust that supports both FIDO U2F and FIDO2 standards.」

Github星跟踪图

markdownlint
pylint
Cargo check
Cargo format
Coverage Status

OpenSK

This repository contains a Rust implementation of a
FIDO2 authenticator.
We developed OpenSK as a Tock OS application.

We intend to bring a full open source experience to security keys, from
application to operating system. You can even 3D print your own open source
enclosure!
You can see OpenSK in action in this
video on YouTube!

FIDO2

The stable branch implements the
CTAP2.0 specification
and is FIDO certified. OpenSK supports U2F, and non-discoverable credentials
created with either protocol are compatible with the other.

If you want to use features of the newer FIDO 2.1, you can try our
develop branch. This version is
NOT certified and less thoroughly tested though. If you plan to add features to
OpenSK, you should switch to develop.

:warning: Disclaimer

This project is proof-of-concept and a research platform. It is NOT
meant for a daily usage. The cryptography implementations are not resistent
against side-channel attacks.

We're still in the process of integrating the
ARM® CryptoCell-310
embedded in the
Nordic nRF52840 chip
to enable hardware-accelerated cryptography. Our placeholder implementations of required
cryptography algorithms (ECDSA, ECC secp256r1, HMAC-SHA256 and AES256) in Rust are research-quality
code. They haven't been reviewed and don't provide constant-time guarantees.

Hardware

You will need one the following supported boards:

Installation

To install OpenSK,

  1. follow the general setup steps,
  2. then continue with the instructions for your specific hardware:

To test whether the installation was successful, visit a
demo website and try to register and login.
Please check our Troubleshooting and Debugging section if you
have problems with the installation process or during development. To find out what
else you can do with your OpenSK, see Customization.

Research

We implemented post-quantum cryptography on OpenSK. The code is released under
the hybrid-pqc tag.
Our paper was published in the ACNS
Secure Cryptographic Implementation workshop 2023.

Contributing

See Contributing.md.

Reporting a Vulnerability

See SECURITY.md.

主要指标

概览
名称与所有者google/OpenSK
主编程语言Rust
编程语言Shell (语言数: 6)
平台
许可证Apache License 2.0
所有者活动
创建于2019-12-17 18:55:43
推送于2025-08-07 12:16:06
最后一次提交
发布数2
最新版本名称hybrid-pqc (发布于 2022-10-21 09:58:33)
第一版名称ctap2.0 (发布于 )
用户参与
星数3.2k
关注者数87
派生数317
提交数1.3k
已启用问题?
问题数206
打开的问题数31
拉请求数490
打开的拉请求数2
关闭的拉请求数48
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?