生成用于SSL认证的CSR和密钥文件是否重要?


18

我必须为通配符SSL证书创建CSR。SSL提供商的一些常见问题解答说我应该在要安装证书的计算机上生成CSR文件?我的理解是,只要稍后将文件移到正确的位置,我在哪里生成CSR或密钥文件都没有关系。

所以我的问题是:生成SSL认证的CSR和密钥文件是否重要?

Answers:


21

您的理解是正确的。其他所有条件都是平等的,没关系;但有皱纹。

在相关服务器上生成密钥的一个优势是,它最大程度地减少了密钥在传输过程中受到破坏的机会。只要您使用安全的计算机来生成它们,并使用安全的方法(不受MITM攻击)将它们移至服务器,您就可以避免这种情况。除非您有意保留副本并进行相应保护,否则请不要忘记在生成系统上安全擦除它们。

在单独的计算机上生成的一个优点:通常,这将是您的桌面。台式机上的熵池几乎总是比无人照管的服务器更深,因为台式机通过键盘和鼠标电缆(例如,您!)连接了大量随机性源。熵的不足可能导致密钥生成花费很长时间,或者使密钥生成使用/dev/urandomPRNG输出,这取决于生成工具的偏执程度,这可能导致密钥更弱。台式机通常不会出现此问题。

以后的编辑:根据此处链接的其他讨论,提出了两点。首先,您可以通过在桌面上生成来进行半途而废,例如dd if=/dev/random bs=1k count=10 of=/tmp/entropy.dat,将复制到远程服务器,然后直接将其馈送到密钥生成过程,或者通过加深远程服务器的熵池。我还没有找到一种方法来做前者,而后者通常需要施加特权,如果您和远程服务器之间的通道不安全(这是整个异议的重点),那么这也是不安全的。

其次,可估计的mjg59引发了硬件安全模块的问题-即您放入或在其中创建私钥的设备,然后在执行这些私钥操作时却始终不放开密钥。这是一个很好的观点,但是超出了这个问题的范围。

但是,线程的更一般的结果-您应该具有精确的威胁模型,并适当选择响应-是一个很好的结果。我的威胁模型是我的通信通道很安全,但是我的端点受到了智能攻击。这意味着我将在本地生成熵强的SSL密钥对并将其分发。如果事实证明我的模型不正确,并且我的通信很容易受到攻击,那么我将立即知道我的所有SSL密钥对均已受损。 如果威胁模型不同,则应相应地调整实践。


我不确定在virtualbox服务器上生成的CSR代码是否会带来大量随机性。您对此有任何想法吗?
刘易斯

正如我的回答所说,@ Tresdin是在桌面上本地生成它,然后将其复制。
MadHatter

在Linux上,可以通过写入/ dev / random向现有的熵池添加其他熵。不知道这是否适用于其他* nixes。
CVn

7

这有点重要。

如果在另一台计算机上生成它们,则密钥在生成计算机上然后在服务器上容易受到攻击。如果使用受感染的计算机来生成它们,则某些病毒可能会窃取密钥,甚至在将密钥移至安全服务器之前也是如此。

如果在安全的服务器上生成它们,并且仅移动CSR /证书,则某人/某物获得私钥的机会会比第一种情况小,因为私钥仅位于一台计算机上。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.