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

google/libtock_drivers

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

1 个不稳定版本

0.1.0 2020年8月7日

#1200硬件支持

2,902 星 & 91 关注者

MIT/Apache

46KB
1K 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,使用任意协议创建的非可发现凭证与另一方兼容。

⚠️ 免责声明

本项目是 概念验证和研究平台。它 不适用于日常使用。本分支处于开发中,因此比编号分支的测试更加严格。

我们正在将嵌入在 ARM® CryptoCell-310 中的Nordic nRF52840 芯片集成到 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

依赖