5

尽管您收到一个红色的威胁警告,告诉您证书尚未由其中一个证书颁发机构验证或已过期,但与仅使用 HTTP 相比,它有什么不好的呢?是不是更糟?

根据 Google Chrome ( http://www.sslshopper.com/assets/images/chrome-beta-ssl-2.png ) «攻击者可能试图拦截您的通信»。是什么让这个浏览器和几乎所有其他浏览器在自签名/过期证书的情况下(我没有写一个明确验证为无效的证书)而不是在使用 HTTP 浏览的情况下发出这个警告?同样,它是否比使用 HTTP 浏览更安全?

显然,使用自签名 HTTPS 证书浏览网站比使用 HTTP 浏览完全相同的网站更具威胁性,那么,这些现代浏览器行为是否是骗局,让诚实的公司购买他们可能不需要的 SSL 证书?

4

5 回答 5

7

自签名证书严格来说并不比信誉良好的 CA 签名的证书差,而且在所有技术方面它们都比普通的 HTTP 更好。

从签名和加密的角度来看,它们是相同的。两者都可以对流量进行签名和加密,因此其他人无法窥探或进行修改。

不同之处在于证书被指定为受信任的方式。使用 CA 签名证书,用户信任他们在浏览器/操作系统中安装的一组受信任的 CA。如果他们看到由其中一个签名的证书,他们会接受它,一切都很好。如果不是(例如自签名时),您会收到一个可怕的警告。

自签名证书显示此警告的原因是浏览器不知道谁控制证书。浏览器信任的 CA 以验证它们仅签署网站所有者的证书而闻名​​。因此,浏览器通过扩展信任证书的相应私钥由网站运营商控制(希望如此)。使用自签名证书,浏览器无法知道证书是由网站所有者生成的,还是中间某个想要读取您的流量的人生成的。为了安全起见,浏览器会拒绝证书,除非它被证明是有效的......并且你会收到一个大的红色警告。

此警告的重要之处在于它为您提供了一种获取证书信息的方法。如果您知道您希望获得什么证书,您可以信任该证书,并且您的浏览器会让您非常愉快地连接。如果您知道您希望获得的证书,这当然很棒。如果您愿意,它甚至允许您不信任任何 CA(任何受信任的 CA 都可以生成受信任的证书并拦截您的流量)。

如果您不验证证书,您将无法通过未加密的 HTTP 获得任何收益,因为您和服务器之间的任何人都可以生成自己的证书,而您将一无所知。这可能被认为比普通的 HTTP 更糟糕,因为我们人类情绪低落可能会被误导以为我们的连接是安全的,但 HTTP 唯一的技术缺点是一些浪费的 CPU 周期。

因此,对于只有几个人访问并且您可以分发证书的私人站点,自签名实际上比受信任的证书更好。但是,对于公共互联网,您不能指望用户验证证书(无论如何您将如何安全地传输详细信息),如果明智的话,他们可能会转身并运行。

至于过期证书,它们并不比有效证书差。证书过期的原因是它们在破解它们变得可行(希望如此)时失效。因此,明天到期的证书与昨天到期的证书之间的差异可以忽略不计。但是,我会非常担心几年前过期的证书。

机会加密

如果您想提供一点额外的安全性,有一个新标准(目前仅在 Firefox中实现)。

机会加密在支持客户端和服务器之间提供加密,无需身份验证。它允许您使用自签名证书而不会产生任何警告。

机会加密比使用自签名证书和 HTTPS 更好的原因是它没有向用户提供连接安全的建议。对用户而言,该连接似乎是一个常规的未加密 HTTP 连接,但实际上,SSL 连接被用来阻止被动攻击者。

同样,如果您实际上是在验证最好的自签名 SSL 证书。但是,如果您只是试图提供未经身份验证的加密来阻止流量嗅探,机会性加密提供了好处,而不会诱使用户认为他们正在使用安全连接。

于 2013-12-14T00:20:21.847 回答
2

在所有的评论和进一步的研究之后,我添加了我自己的答案。

我认为自签名和/或过期的 HTTPS 证书(在浏览器中引发警告)比仅使用 HTTP更糟糕,原因如下:

当用户使用 HTTPS 浏览时,他/她假定它是安全的,然后网站应该返回一个有效的证书。如果不是这种情况(自签名和/或过期的 HTTPS 证书),则它不安全。这可能是证书配​​置/部署中的真正威胁或简单问题,但仍然是一个问题,如果用户没有有关此站点的更多信息,则应停止浏览。

然而,有一种情况,我今天发现自己,用户有更多关于网站的信息。假设有一家小公司,其中只有两名员工需要访问网站管理平台。如果这两名员工知道该平台没有任何 CA(证书颁发机构)签署的证书,那么通过这种不安全的 HTTPS 进行通信仍然比通过不安全的 HTTP 进行通信更好,因为至少通信是加密的。这样做会减少攻击的可能性,即使它不能阻止它。

也就是说,即使今天 HTTPS 证书可以自由快速地交付,在证书成本高昂的时代,在 HTTP 和 HTTPS 之间拥有一个中间协议也将是一件好事。一种不比 HTTP 更安全的协议,其中没有 SSL 证书之类的身份验证,但数据是加密的。

于 2013-01-23T16:51:25.993 回答
2

自签名和证书颁发机构签名的证书仅提供加密和 HTTPS 连接,这就是安全性的相似之处。不幸的是,对于自签名数字证书,只有从自己的服务器创建证书的人才知道有关它的任何信息。例如......这个人将密钥对存储在哪里?还有谁可以访问密钥对?访问者如何知道这是域的合法所有者?关键是,在不了解该过程的情况下,站点访问者(即使是技术熟练的访问者)也不知道如何处理创建该 HTTPS 连接的密钥对。例如,当站点访问者看到由信誉良好的证书颁发机构(例如 thawte(赛门铁克拥有))签署的 HTTPS 连接时,至少访问者知道域所有权已经过验证,并且签名凭据受到受信任机构的高度保护。

于 2013-02-15T02:05:38.180 回答
1

自签名证书在功能上等同于签名证书(假设密钥长度相同)。固有的安全性是一样的。但是,这并不是说它为最终用户提供了相同级别的安全性,因为他们无法知道谁签署了证书或者它是否应该被信任。

ISP(或任何一个)读取自签名发送的通信并不容易,因为它与证书颁发机构签名的通信相同。

于 2013-01-22T17:54:23.787 回答
0

是的,使用自签名证书的网站没有注册或验证 - 攻击者可以交换证书并伪装成网站 - 被用来点击这些警告你不会注意到差异。

SSL 证书现在是免费的,每个不使用这些服务的“网站管理员”都是......无能,实际上您应该避免使用这些网站。

那些现代浏览器行为是让诚实的公司购买 SSL 证书的骗局吗

就像我说的:证书是免费的,网站管理员只需要注册-不到20分钟就完成了。

同样,它是否比使用 HTTP 浏览更安全?

在某些方面:是的,因为它“训练”用户忽略非常重要的警告

于 2013-01-22T16:40:17.587 回答