为什么未签名的 SSL 证书比没有 SSL 证书更糟糕?

Mac*_*cha 20 browser ssl security-warning ssl-certificate

如果我查看具有未签名或自签名 SSL 证书的站点,我的浏览器会向我发出警告。然而,同一个浏览器允许跨不安全的页面发送凭据是没有问题的。

为什么自签名证书比没有证书更糟糕?

jcr*_*dor 16

有很多人觉得这个系统坏了。

当 SSL 证书无效时,您的浏览器会向您发出如此惊人的警告,这背后的逻辑是:

SSL 基础设施的最初设计目的之一是提供 Web 服务器的身份验证。基本上,如果您访问 www.bank.com,SSL 允许响应的网络服务器证明它确实属于您的银行。这会阻止冒名顶替者操纵 DNS 或使用其他方法让恶意服务器做出响应。

SSL 中的“信任”是通过让受信任的第三方(VeriSign 和 Thawte Consulting 等公司)签署证书来提供的,这表明他们已经验证了证书的所有者(理论上通过访问人或其他建立直接信任的方法,尽管有证据表明他们实际上对此相当松懈 - 获得签名的 SSL 证书通常只需要一个 800 号码和一点表演技巧)。

因此,如果您连接到提供 SSL 证书的 Web 服务器,但它没有由受信任的第三方签名,理论上这可能意味着您正在与伪装成属于不同组织的服务器的冒名顶替者进行通信.


在实践中,自签名证书通常只是意味着运行服务器的组织选择不为签名证书付费(它们可能非常昂贵,具体取决于您想要的功能),或者缺乏配置证书的技术专长(一些小型企业解决方案为自签名证书提供一键式机制,但获得可信证书需要更多技术步骤)。

我个人认为该系统已损坏,并且与不提供加密的服务器进行通信比与提供带有自签名证书的 SSL 的服务器进行通信要危险得多。浏览器不这样做的原因有以下三个:

  1. 未加密的通信是互联网上的常态,因此如果浏览器让您点击警告以查看未提供加密的网站,您很快就会生气并禁用警告。
  2. 由于对客户的可怕警告,在生产网站上看到自签名证书是不正常的。这建立了一个自我延续的系统:自签名证书之所以可疑是因为它们很少见,它们之所以罕见是因为它们是可疑的。
  3. 这听起来有点愤世嫉俗,但有些公司可以通过签署 SSL 证书(威瑞信)赚大钱,所以他们使用白皮书(一个 IT 术语,意思是“冗长乏味的广告”)和其他出版物强制执行未签名证书是危险的想法。

  • 如果没有信任链(这是您通过 CA 签名证书而非自签名证书获得的),则无法验证您所连接的服务器是否真实可信。自签名证书是危险的,因为它们没有为用户提供任何方法来验证他们正在传输的数据是否到达了他们所说的目的地。人们开始学习在进行安全交易时寻找“https”,因此对无效或自签名证书发出警告是 100% 有保证的,因为他们正在失去 SSL 的主要好处之一。 (5认同)
  • 我的观点更大的意义,NRHinkle 也直接说了,就是我们需要开始考虑加密和认证是分开的目标,并让它们分开实现。这些是目前 SSL 系统的基本缺陷: 1) 我们认为加密和身份验证密不可分——要实现一个,您必须实现另一个。只提供一个是“可疑的”。2) 必须从有限数量的主要以营利为目的的 CA 获得认证。一般来说,CA 要么非常昂贵(Verisign 等),要么非常不可靠(NameCheap 等)。 (5认同)
  • @MarkM - 我的感觉是身份验证不应被视为 SSL 的主要好处。我没有数据来支持我,但我认为更多的安全事件是由通过未加密连接传输的数据引起的(例如,密码被盗的 Facebook 安全工程师 - 他们从 wifi 网络中嗅探了密码,因为 facebook 登录没有加密)比通过中间人或冒名顶替者攻击,实现起来相对复杂得多。正如我所指出的,对 SSL 中加密身份验证的关注正是造成这种情况的原因。 (4认同)

小智 6

从页面到页面发送凭据基本上是在执行 HTTP POST。与通过 POST 发送例如搜索词相比,发送凭据并没有什么特别之处。如果向不安全页面发送任何帖子会触发警告,用户将受到毫无意义的警告的轰炸。

使用安全通道表明程序员有意保护传输。在这种情况下,使用自签名证书警告是非常正确的做法。