【问题标题】:Access to private key of SSL cert [closed]访问 SSL 证书的私钥 [关闭]
【发布时间】:2012-10-24 05:46:45
【问题描述】:

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

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

【问题讨论】:

    标签: asp.net security cryptography ssl-certificate wif


    【解决方案1】:

    如果您指的是 apache 之类的服务...您将别无选择。另一种方法是在每次启动时输入密码 - 但即使这样,软件也可以访问密钥。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

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

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

        【讨论】: