0

从安全的角度来看,是否可以让网络服务访问站点的 SSL 证书私钥?

编辑:为问题添加一些上下文在此链接中,在“使用 RSA 加密 cookie”步骤 4 部分下,代码使用“serviceCertificate”来加密和签署 cookie。此处需要访问证书的私钥。

4

3 回答 3

2

如果你的意思是像apache这样的服务......你别无选择。另一种方法是在每次启动时输入密码——但即使这样,软件也可以访问密钥。

于 2012-10-23T07:17:51.273 回答
2

好吧,如果有人设法破解您的 Web 脚本(通过 SQL 注入或其他方式),从而使邪恶的黑客下载了私钥副本,那么该黑客将能够建立假冒您的 SSL 服务器。然而,要想真正成功,黑客还需要注入伪造的 DNS 记录,以便伪造的服务器具有匹配的主机名。

话虽如此,很难不开放对 Web 服务器本身的私钥的访问 - 否则每次重新启动 Web 服务器时都必须输入私钥密码。

于 2012-10-23T07:18:33.360 回答
1

最安全的做法是不要有任何超出绝对必要的访问权限。访问密钥和私钥在密钥管理中非常重要。为了确保您没有引入漏洞,不要在其用例之外使用私钥也非常重要(例如,SSL 中的身份验证与签名数据不同)。

安全性是关于层的。您可以引入的安全层越多越好,您就越安全。限制访问是非常好的。因此,如果可以避免,请不要将传输层和应用层混为一谈。

在我们公司,我们总是为不同的用途创建单独的证书。我们尝试在不同的服务器上保持 SSL 处理和应用程序处理。应用程序服务器只获取身份验证详细信息。

也就是说,我受雇于一家专注于安全的公司。您显然可以使用不太严格的安全性,但如果您围绕它制定一些经过深思熟虑的安全策略,那将是一件好事。如果您不确定,请聘请顾问。

于 2012-10-23T21:46:45.947 回答