2个版本 (1个稳定版)
1.0.0 | 2020年12月16日 |
---|---|
0.1.0 | 2020年1月30日 |
在认证中排名第239
2,902颗星 & 91个关注者
1.5MB
37K SLoC
新闻
- 2023-08-24: PQC论文参考
OpenSK
本存储库包含了一个FIDO2安全密钥的Rust实现。安全密钥是外部设备,可以用于在网站上登录。您可以在YouTube上的这个视频中看到OpenSK的实际应用!
我们旨在将安全密钥的完整开源体验带到应用程序和操作系统层面。您甚至可以3D打印自己的开源外壳!
您可以将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。
硬件
您需要以下支持的板子之一
- Nordic nRF52840-DK开发套件。由于JTAG探头已集成在板上,因此该板在开发和调试场景中更为方便。
- Nordic nRF52840 Dongle,以获得更实用的外形。
- Makerdiary nRF52840-MDK USB板子.
- Feitian OpenSK板子.
安装
要安装OpenSK,
- 请按照通用设置步骤进行操作,
- 然后继续按照您特定硬件的说明进行操作
要测试安装是否成功,请访问演示网站并尝试注册和登录。如果您在安装过程或开发过程中遇到问题,请参阅我们的故障排除和调试部分。要了解您可以使用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