对不受信任的 SSL 证书发出巨大警告而对普通 HTTP 连接没有警告的威胁模型?

信息安全 tls 网页浏览器
2021-09-06 20:10:45

为什么不受信任/过期的 SSL 证书在现代浏览器中会收到如此巨大的警告,即使是“请勿访问此站点!” 消息,而更容易受到窃听和 MITM 攻击的常规 HTTP 连接甚至没有得到一个明显可见的警告?小图标中的锁与世界当然无法与巨大的请勿进入此处的标志相提并论。

什么是对不受信任的 SSL 证书发出巨大警告而对纯 HTTP 没有警告(或非常小的警告)的威胁模型?

4个回答

它不是威胁模型,而是商业模型Web 浏览器不能对纯 HTTP 发出警告,因为那将是对整个 Internet的警告(确实不是一个糟糕的警告,但用户很快就会忽略)。Web 浏览器确实会警告 SSL 的证书问题,因为成功的网络钓鱼尝试是非常糟糕的宣传。浏览器供应商必须能够证明他们“对此有所作为”,这就是可怕的警告。

理论上的理由是,用户显然受过培训,并且知道在没有(臭名昭著的)“挂锁图标”的情况下没有安全性。所以他们不需要普通 HTTP 的警告;没有挂锁就足够了。

(需要一些训练才能在不偷笑的情况下说出这句话。)

我认为这与人们的行为以及互联网的发展方式有关。

我确实记得,每当第一次通过普通 HTTP 连接提交表单时,IE 和 Netscape 中都会出现模式警告框,并且有一个复选框说“不要再次警告我”。

随着互联网用户已经习惯了 HTTPS,他们更关心防止网络钓鱼,这些大的 RED 警告试图实现什么。一家英国商业街零售商是网络钓鱼诈骗的受害者,第一个警告来自客户,他们在 SSL 中看到了可疑的东西——“锁”图标。这是在 RED 屏幕警告之前 - 大约 3 年前。

因此,威胁模型是相同的。普通互联网用户(和购物者)对它的看法和反应正在发生变化。

尽管我认为其他答案关于供应商的财务动机是有道理的,但我仍然认为在不受信任的 SSL 证书的情况下显示“可怕的警告”是有正当理由的。

也许最危险的事情不是期望没有安全性的人(普通的 http 连接,尽管如果公众知道这一点是有争议的),而是期望安全性的人 - 并且没有得到它。

是的,很多时候过期的证书可能不是超级危险的,但这些警告可能是中间人攻击正在进行的指标,所以当它发生在我期望安全的银行网站上时,我当然想要一个强烈的警告。

摘要 - 鉴于事情可能被分解为不安全 (http) 连接和安全 (https) 连接,我认为当您认为安全未按预期工作时,向人们发出更高程度的警告是合理的,而不是(据说)首先使用不安全连接的知识选择。

我也在问自己同样的问题。让我首先总结(并解决)我在这里和其他地方找到的原因,然后解释我迄今为止找到的唯一充分理由。

  1. 首先,自签名证书不能防止中间人攻击,因为它们不能证明您正在连接的网站的身份。也就是说,它们本质上毫无意义/仅证明您每次都在与同一个站点交谈

    的确如此,但在很多场景下,那种弱安全已经足够了不是每个人都在运行网上银行网站。我在虚拟服务器上运行一个小型论坛社区,与我的其他托管费用相比,ssl 证书将是一笔可观的成本。因此,我现在根本不使用加密,例如,在公共 WiFi 上,任何人都可以在登录时读取我的用户的密码或会话 cookie。

    在这里使用自签名证书可以显着提高安全性,但浏览器警告会吓跑人们。

    安全至关重要的站点需要受信任的证书。但是,加密提供的弱安全性对于现在根本不使用加密的低安全需求的站点仍然是一种改进。

  2. 向用户显示连接已加密而没有警告会产生错误的安全感。网络钓鱼网站可以使用它来伪造“安全登录页面”。

    然后不要向用户显示连接已加密。与未加密的连接没有明显区别。如果用户以某种方式查询连接详细信息(例如单击 Chrome 中的图标),请向他显示连接已加密,但警告它不安全,当前显示在警告屏幕中的信息。

  3. 但是用户可能仍然期望仅从https://协议前缀获得安全连接

    这是迄今为止我发现的唯一一个好的论点,而且实际上很难解决。也许我们可以为加密但不安全的连接创建一个新的协议前缀,例如cttp(密文传输协议)。也许删除 https 并向用户显示一些信息丰富的鼠标悬停消息就足够了,例如“不安全的连接。请勿输入机密信息”。- 但后来我们又回到了警告地带。

我希望这对于一个答案来说已经足够好了,因为它描述了为什么需要警告,尽管我写它主要是为了自己思考问题。:)