安全差异
首先,让我们谈谈 SSL(现在顺便称为 TLS),它在 HTTP S的末尾添加了“S” ,负责“保护通信”。回答这个问题的线索确实是要充分理解我们所说的“保护通信”是什么意思。
SSL,无论是正在使用的自签名证书还是由受信任的 CA 签名的证书,都将确保您与远程主机之间的通信保持机密,并且没有人可以篡改任何交换的数据。
因此,警告与此无关。
但是,您如何确定响应您请求的远程主机确实是您所期望的呢?对于公共网站,您无法直接通过自己的方式验证证书,这是不可能的。这是外部受信任的 CA:通过信任一个 CA,您假设由他签名的所有证书仅用于合法目的,以保护证书中明确提到的服务器的流量。
这就是警告的全部内容:您的浏览器警告您,虽然通信本身是安全的,但它没有自动验证证书的方式,因此依赖于您接受或拒绝它。
如果自签名证书与您的其中一台服务器相关联,您应该能够继续进行此手动身份验证:您应该能够检查证书指纹,或者至少您应该知道证书最近是否已更改.
完成此手动身份验证后,您的浏览器会为您提供“记住”此证书的可能性:这意味着浏览器会将这个自签名证书与 URL 主机相关联,并且以后不会提供任何警告,因为现在,浏览器具有自动验证证书的方法。
但是,一旦服务器上的自签名证书发生更改,浏览器将再次显示警告,最终用户将再次确定此证书更改是否正常以及是否提供了新证书经服务器确实是正品。
用户体验差异
到目前为止,我的回答并未涵盖您问题的浏览器用户界面方面。
我发现浏览器通知用户当前安全性的默认方式大多是无效的。用户只是不关心挂锁,也不会注意到 SSL 安全性何时丢失。即使是关心的用户也无法访问正确的信息(没有什么可以阻止显示扩展验证证书的网站将其网站配置为使用劣质和弱加密系统或依赖安全性较低的第三方内容:默认浏览器的界面仍然是对此感到高兴并显示“一流的安全性”绿色条)。
希望根据所使用的浏览器,可能会有一些插件试图纠正这种情况。在 Firefox 上,您有SSLeuth,默认情况下会在左侧或 URL 栏添加一个新的通知区域(如果有挂锁,则在挂锁旁边)
这个新的通知区域具有以下属性:
- 背景颜色范围从红色(无安全性:HTTP)到橙色(安全设置差)到蓝色和绿色(根据当前最佳实践的良好和最佳安全性)。
- 一个选项允许将此颜色扩展到整个 URL 栏,因此 HTTP 网站现在将显示一个全红色的 URL 栏,
- 最后会显示一个分数(介于 0 和 10 之间),以显示对当前 SSL/TLS 安全级别的估计。它考虑了几个标准,其中包括证书类型(自签名、CA 签名、扩展验证证书)、使用的加密配置、第三方内容安全等。单击通知区域提供所有分数详细信息,主要是当结果不是预期的结果时很有用(又名“为什么我的银行网站被授予橙色 URL 栏? ”)。