4 security ssl https ssl-certificate
尽管您收到一个红色威胁警告,告诉您证书尚未经过其中一个证书颁发机构的验证或已过期,但与仅使用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证书.但是,如果您只是尝试提供未经身份验证的加密来阻止流量嗅探机会加密提供了好处而不会诱使用户认为他们正在使用安全连接.
小智 2
经过所有评论和进一步研究后,我添加了自己的答案。
\n\n我认为自签名和/或过期的 HTTPS 证书(在浏览器中发出警告)更糟糕,原因如下:
\n\n当用户使用 HTTPS 浏览时,他/她认为它是安全的,然后网站应该返回有效的证书。如果不是这种情况(自签名和/或过期的 HTTPS 证书),那么它是不安全的。这可能是一个真正的威胁,也可能是证书配置/部署中的一个简单问题,但这仍然是一个问题,如果用户不\xe2\x80\x99有有关此站点的更多信息,则应停止浏览。
\n\n然而,我今天发现自己有一种情况,用户拥有有关该网站的更多信息。想象一下一家小公司,其中只有两名员工需要访问网站管理平台。如果这两名员工知道该平台没有任何 CA(证书颁发机构)签署的证书,那么通过这种不安全的 HTTPS 进行通信仍然比通过不安全的 HTTP 更好,因为至少通信是经过加密的。这样做即使不能阻止攻击,也会减少攻击的可能性。
\n\n也就是说,即使今天 HTTPS 证书可以免费、快速地交付,但在证书昂贵的时代,在 HTTP 和 HTTPS 之间有一个中间协议就太好了。一种不比 HTTP 安全的协议,其中没有像 SSL 证书那样的身份验证,但数据经过加密。
\n