繁体   English   中英

自签名和/或过期的HTTPS证书是否比仅使用HTTP更糟糕?

[英]Is self-signed and/or expired HTTPS certificates worse than just using HTTP?

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

根据谷歌浏览器( http://www.sslshopper.com/assets/images/chrome-beta-ssl-2.png )«攻击者可能试图拦截你的通信»。 是什么让这个浏览器和几乎所有其他人在自签名/过期证书的情况下提出此警告(我没有写明确证明为无效的证书)而不是在使用HTTP浏览的情况下? 再次,它不如使用HTTP浏览安全吗?

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

自签名证书并不严格比信誉良好的CA签署的证书更糟糕 ,并且在所有技术方面它们都优于普通HTTP。

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

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

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

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

如果你没有验证证书,那么你和服务器之间的任何人都可以生成他们自己的证书,你就不会得到任何更好的证据。 这可能被认为比普通的HTTP更糟糕,因为我们人类的虚弱情绪可能误导我们认为我们的连接是安全的,但HTTP的唯一技术缺点是一些浪费的CPU周期。

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

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

机会加密

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

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

机会加密比使用自签名证书和HTTPS更好的原因是它没有向用户提供连接是安全的建议 对于用户来说,连接似乎是一个常规的未加密HTTP连接,但是在引擎盖下,正在使用SSL连接来阻止被动攻击者。

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

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

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

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

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

也就是说,即使今天的HTTPS证书可以自由而快速地交付,在昂贵的证书时,在HTTP和HTTPS之间建立中间协议也会很棒。 一种非常安全的协议而不是HTTP,其中没有SSL证书之类的身份验证,但数据是加密的。

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

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

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

是的,使用自签名证书的网站未经注册或验证 - 攻击者只能交换证书并伪装成网站 - 用于点击这些警告您不会注意到差异。

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

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

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

再次,它不如使用HTTP浏览安全吗?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM