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

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

根据谷歌Chrome(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周期.

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

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

机会加密

如果你想提供一点额外的安全性,那就是new standard(目前只有implemented in Firefox).

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

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

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

转载注明原文:ssl – 自签名和/或过期的HTTPS证书是否比使用HTTP更糟糕? - 代码日志