Answers:
我在一家公司的工作中,CA密钥的安全性对于业务的持续成功至关重要。为此,使用自定义协议对密钥进行了加密,该协议要求至少有2个人在场,并将物理令牌插入终端才能对其解密(这些令牌中至少有5个,任何2个组合都可以使用)。使用CA密钥将终端与实际机器物理隔离。用户对其进行解密的接口是VT220终端,该接口允许他们输入解密令牌,然后选择他们想要用密钥“签名”的内容(切勿授予他们访问解密密钥的权限)。该系统意味着至少有4个人必须共同努力才能破解密钥,两个令牌持有者,有权访问数据中心的人,
如果您对这种设置的更多细节感兴趣,布鲁斯·施耐尔(Bruce Schneier)拥有一个不错的网站,涵盖计算机安全设计和实现:
他还出版了一本非常好的书《应用密码学》,我发现它帮助我了解了此类系统的基础知识以及如何构建更安全的基础架构(不穿口袋保护套的人可以阅读):
最大的收获是将专用CA密钥保留在与网络完全隔离的专用计算机上。然后,您将在此计算机上签名并可能还会生成新证书,然后使用物理介质将新证书从CA计算机上传输出去。
这样的设置当然还包括有关机器物理可用性的考虑以及对允许的介质的限制。随身携带的USB闪存盘可能不是最佳选择。
(顺便说一下,这是在安全性和便利性之间进行权衡的一个非常明显的例子。)
我赞成其他两个答案,并对此发表评论,因为我认为它们都很出色。 如果您决定同时使用它们,那可能很合适,因此我强烈建议您在密钥的初始生成过程中多加注意,因为没有使用破坏密钥的最佳时间(可以采用许多标准的,可重复的预防措施应用),但在生成时(一次过)更容易被颠覆。
这本进行密钥生成仪式的出色指南概述了一些有助于确保密钥生成的标准协议,尽管它们主要归结为(a)由多名知识渊博的审计师见证的一切,而这些审计师正在(b)同时记录以下内容: (c)根据执行者以外的其他人编写的预定协议进行的所有操作。
根据您的认真程度,应该考虑使用FIPS 140-2(http://en.wikipedia.org/wiki/FIPS_140#Security_levels)硬件来存储CA密钥和这些密钥的备份。您应该具有一个根CA和一个中间CA,以便可以使根CA脱机并确保物理安全。根仅需要续订或签署新的中间CA,而中间CA则保持联机状态以进行日常操作。正如其他人所建议的那样,具有n个m控制的安全密钥生成和密钥管理非常重要。
VeriSign(现为Symantec)CPS是商业CA如何生成和保护其密钥的很好参考。请仔细阅读第5章和第6章:http : //www.verisign.com/repository/cps/。 (我在VeriSign工作了几年)
此外,NIST在密钥管理方面有几本不错的出版物(http://csrc.nist.gov/publications/drafts/800-57/Draft_SP800-57-Part1-Rev3_May2011.pdf)和生成,并且您的公司还应该拥有CPS指定用于管理CA的策略和实践。IETF提供了一个很好的模板:http : //www.ietf.org/rfc/rfc2527.txt
很好的问题和一些很好的答案。
请记住,仅考虑此问题,而不是盲目地冲锋,您比大多数其他人领先90%。
牢记这一点并在此采纳其他建议,我只想补充一点:不要坐立不安;密切关注与证书颁发,吊销,破解等有关的一般问题的安全性和加密新闻,并且最明确地关注易损性以及用于生成和管理密钥的特定产品的问题。
最后:物理安全。如果我只能在您的建筑物中找到合同清洁工的工作,然后将包含根证书的磁盘放到口袋里,做些“黑客证明”就没有帮助。你会惊讶地发现有这么多人想念那个。