#安全密钥 #U2F #FIDO #FIDO2 #硬件 #OpenSK #标准

无需std 程序+库 google/ctap2

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

2个版本 (1个稳定版)

1.0.0 2020年12月16日
0.1.0 2020年1月30日

认证中排名第239

2,902颗星 & 91个关注者

Apache-2.0

1.5MB
37K SLoC

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中,以实现硬件加速的加密。同时,有2种加密实现方式可供选择

  • 我们自己的占位符实现。代码是研究质量的,不提供恒定时间的保证。
  • 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

依赖项

~145–720KB
~14K SLoC