#security-key #fido2 #open-sk #u2f #fido #standards #hardware

app google/heapviz

OpenSK 是一个用 Rust 编写的开源安全密钥实现,支持 FIDO U2F 和 FIDO2 标准

1 个不稳定版本

0.1.0 2020年7月10日

#881硬件支持

2,902 个星标 & 91 个关注者

Apache-2.0

8KB
156

OpenSK logo

markdownlint Coverage Status

新闻

OpenSK

此仓库包含一个 FIDO2 安全密钥的 Rust 实现。安全密钥是外部设备,可用于在网站上登录。您可以在 YouTube 上的此 视频 中看到 OpenSK 的实际应用!

我们打算将完整的开源体验带给安全密钥,从应用程序到操作系统。您甚至可以3D打印自己的开源外壳!

OpenSK Enclosure

您可以将 OpenSK 作为 Tock OS 应用程序运行,或使用库将 OpenSK 带到您自己的硬件。

您正在查看 CTAP 2.1 版本。此分支修复了错误,但未实现新功能。如果您想贡献,请访问 develop 分支

FIDO2

OpenSK 实现 CTAP 2.0 的版本已由 FIDO 协会认证。

此分支实现了CTAP规范的2.1版本。此分支未获得FIDO认证。OpenSK支持U2F,使用这两种协议创建的非可发现凭证与另一种协议兼容。

⚠️ 声明

本项目是一个原型设计和研究平台。它不适用于日常使用。此分支仍在开发中,因此比编号分支测试较少。

我们仍在将嵌入在Nordic nRF52840芯片中的ARM® CryptoCell-310集成到OpenSK中,以实现硬件加速的加密。在此期间,有两种加密实现选项:

  • 我们自己的占位符实现。代码是研究质量的,不提供恒时保证。
  • RustCrypto接口。使用--rust-crypto部署。请注意,我们自己的ECC实现速度更快,二进制大小更小,因此并非所有板都支持RustCrypto。

硬件

您需要以下支持之一的板:

安装

要安装OpenSK,

  1. 请遵循一般设置步骤
  2. 然后继续执行您特定硬件的说明

要测试安装是否成功,请访问演示网站并尝试注册和登录。如果您在安装过程或开发过程中遇到问题,请查看我们的故障排除和调试部分。要了解您可以使用OpenSK做什么,请参阅自定义

研究

我们在OpenSK上实现了后量子密码学。代码在hybrid-pqc标签下发布。我们的论文在2023年ACNS安全密码学实现研讨会上发表,并获得了最佳论文奖。

Bibtex引用
@InProceedings{Ghinea2023hybrid,
    author= {Diana Ghinea and Fabian Kaczmarczyck and Jennifer Pullman and Julien Cretin and Rafael Misoczki and Stefan Kölbl and Luca Invernizzi and Elie Bursztein and Jean-Michel Picod},
    title=  {{Hybrid Post-Quantum Signatures in Hardware Security Keys}},
    booktitle=  {{4th ACNS Workshop on Secure Cryptographic Implementation, Kyoto, Japan}},
    month=  {June},
    year=   {2023},
}

贡献

请参阅Contributing.md

报告漏洞

请参阅SECURITY.md

依赖项

~3–4.5MB
~68K SLoC