2 个不稳定版本
0.1.0 | 2023 年 6 月 24 日 |
---|---|
0.0.1 | 2023 年 6 月 15 日 |
#6 在 #piv
28KB
487 行
openpgp-piv-sequoia
一个用于在 OpenPGP 环境中使用 PIV 设备的库。
PIV ("个人身份验证",也称为 FIPS 201) 是美国联邦政府标准加密智能卡。
PIV 设备广泛可用,并且可以使用它们在 OpenPGP 环境中执行加密操作。
支持的算法
PIV 标准指定使用 RSA 2048、NIST P-256 或 NIST P-384。其他非对称算法不是官方标准的一部分。
一些设备实现了额外的加密机制。然而,这些目前是专有扩展。
YubiKey 4/5
广泛可用的 YubiKey 4 和 5 设备支持多个协议,其中包括 PIV。
YubiKey 设备上的 PIV 应用程序独立于设备提供的 OpenPGP 卡应用程序(即,两个应用程序是分开的,可以包含不同的密钥材料)。
YubiKey PIV 应用程序的一个特点是它提供了 20 个额外的“退休”解密密钥插槽。
PIV 与 YubiKey 4/5 的 PKCS #11 的比较
可以通过两种不同的接口访问 YubiKey 4/5 上的 PIV 应用程序
- 直接使用 PIV 协议,或
- 通过 PKCS #11 驱动模块(使用
ykcs11
库)。
两种接口允许使用相同的密钥材料。从某种意义上说,这些接口是可以互换的。
软件 PIV 实现
这些实现是
PivApplet
https://github.com/arekinath/PivApplet
Canokey
可以在主机计算机上作为模拟器运行 Canokey 安全密钥
https://github.com/canokeys/canokey-core/
OpenFIPS201
https://github.com/makinako/OpenFIPS201 https://github.com/makinako/OpenFIPS201-jc22
用于 CI 测试的虚拟 PIV 设备
一个 配套项目 提供了容器化的软件 PIV 实现,用于 CI 测试。
PIV 规范
https://csrc.nist.gov/Projects/piv/piv-standards-and-supporting-documentation
依赖关系
~29–40MB
~703K SLoC