我正在寻找一个低成本的硬件安全模块,发现 YubiKey 有一个 HSM 模式。
我不完全清楚这种 HSM 模式是否是我的想法,但如果可能的话,我想将它用作离线根 CA。
鉴于我以前从未使用过 HSM,并且缺乏关于它通常如何使用的概念,我为同一目的寻找“更便宜的捷径”的努力可能会导致更多的痛苦而不是它的价值。
有人可以告诉我这种 HSM 模式以及使其与 CA 兼容所需的一般步骤,无论是 Microsoft CA,还是任何其他可以获得的。
我正在寻找一个低成本的硬件安全模块,发现 YubiKey 有一个 HSM 模式。
我不完全清楚这种 HSM 模式是否是我的想法,但如果可能的话,我想将它用作离线根 CA。
鉴于我以前从未使用过 HSM,并且缺乏关于它通常如何使用的概念,我为同一目的寻找“更便宜的捷径”的努力可能会导致更多的痛苦而不是它的价值。
有人可以告诉我这种 HSM 模式以及使其与 CA 兼容所需的一般步骤,无论是 Microsoft CA,还是任何其他可以获得的。
从技术上讲不是,尽管这取决于您所说的“安全”是什么意思。
通常,当将HSM用于 CA 时,我们的意思是:在 HSM 中生成、存储和使用 CA私钥(通常是 RSA),并且 HSM 将光荣地自杀,而不是让该密钥退出其内脏。取决于 HSM 的防篡改功能及其固件的无漏洞程度,这确保即使主机被攻击者完全劫持和/或攻击者可以物理访问 CA 机器,攻击者也不会获取私钥的副本。充其量他将能够使用 HSM 生成任意签名,但如果 HSM 被物理恢复,那么攻击者可以知道更长的时间使用私钥。
YubiHSM不执行 RSA 或 DSA 或任何其他与非对称加密相关的算法。YubiHSM 仅是对称的(AES ...)。因此,如果您将它用于 CA 私钥,那么它必须遵循以下原则:RSA 私钥将被加密存储,而对称密钥将存储在 YubiHSM 中。但是,当必须使用私钥时,它会首先在主机的 RAM 中加载和解密,然后该机器将使用其 CPU 生成签名。
我不知道有任何现有的驱动程序(Windows CSP、PKCS#11 驱动程序...)可以制作必要的胶水,但是,无论如何,它会消除使用“HSM”的大部分兴趣,因为它,通过自然,允许私钥存在于防篡改硬件之外。
YubiHSM 旨在支持一次性密码之类的东西,而不是 X.509 证书颁发机构。完整 HSM 的廉价替代品宁愿是智能卡:这种硬件包括加密加速器,允许高效生成、存储和使用非对称密钥对。
正如一些评论所说,yubikey 可以用作智能卡,并且取决于其防篡改的安全性,您当然可以将其用作小型 CA。
小,原因很简单,yubi“只是”智能卡而不是“成熟的”HSM,这意味着它可能非常慢(关键词:相比之下)。
当您检查其他 HSM 系统时,它们通常要么像 PCI 卡,要么本质上看起来像刀片服务器或类似的东西,换句话说,它们与 yubikey 相比是巨大的,如果 yubico 的话是真的,其他 HSM 会像 300 瓦或所以,虽然 Yubi 在 USB 上运行并且它不能(根据 USB 规范)拉动超过 2.5W(0.5A*5V),尽管它可能拉动的甚至更少。
您应该注意的一件事是,如果您有 Yubikey 4,您应该在生成任何 RSA 密钥之前检查您的固件版本。 https://www.yubico.com/keycheck/
还请记住,您无法从 yubi 读取密钥,这意味着如果它损坏或您通过输入 pin 或 puk 2often 将其锁定,您的私钥将永远丢失。
根据具体情况,我会使用完全离线的计算机来生成密钥,将其备份到安全的地方(当然,离线,例如在纸上,但先加密它)然后将其放在 yubi 上以实际使用它。不要忘记擦除 PC,或者更好地制作它,这样就不需要擦除任何东西(移除任何硬盘和其他存储介质,并且只能在带有 live CD 的 RAM 上工作。)
如果根 CA 委托签名并且它处于脱机状态,我不确定您想要保护什么。而且我不认为这个 YubiHSM 可以开箱即用地保护 x.509,但是,您可能想与您的架构师谈谈您对 CA 基础架构的担忧,并阅读手册中的一些限制和功能。
Yubikey HSM 手册 http://static.yubico.com/var/uploads/pdfs/YubiHSM%20Manual_1_0_4.pdf