有时候在浏览一些网站的时候,点进去的时候不是直接显示内容,而是弹出来一个警告的界面,告诉你此网站的安全证书有问题,浏览器是建议你不要再继续访问了,当然你也可以选择继续访问。那么,你还敢继续访问一个”不安全“的网站吗?会不会对你造成什么损失?本文从原理的角度来看看这个过程里究竟是发生了什么以及我们如何去选择?

客户端通过浏览器向服务端发起 HTTPS 请求时,被「假基站」转发到了一个「中间人服务器」,于是客户端是和「中间人服务器」完成了 TLS 握手,然后这个「中间人服务器」再与真正的服务端完成 TLS 握手。

具体过程如下:
从客户端的角度看,其实并不知道网络中存在中间人服务器这个角色。
那么中间人就可以解开浏览器发起的 HTTPS 请求里的数据,也可以解开服务端响应给浏览器的 HTTPS 响应数据。相当于,中间人能够 “偷看” 浏览器与服务端之间的 HTTPS 请求和响应的数据。
但是要发生这种场景是有前提的,前提是用户点击接受了中间人服务器的证书。
中间人服务器与客户端在 TLS 握手过程中,实际上发送了自己伪造的证书给浏览器,而这个伪造的证书是能被浏览器(客户端)识别出是非法的,于是就会提醒用户该证书存在问题。
如果用户执意点击「继续浏览此网站」,相当于用户接受了中间人伪造的证书,那么后续整个 HTTPS 通信都能被中间人监听了。
所以,这其实并不能说 HTTPS 不够安全,毕竟浏览器都已经提示证书有问题了,如果用户坚决要访问,那不能怪 HTTPS ,得怪自己手贱。那么问题来了,我还能访问吗?
答案是可以!SSL证书(或者说HTTPS)不是网站访问的必须品,仍然有相当多的网站都没有装SSL。很多高校和政务网站就没有,依然可以很好的访问。只是会提示不安全而已。
为什么好多政务网站以及高校网站没有安装SSL证书开启https?其实有免费专属SSL证书可用
不过为了安全起见,对于陌生的网站,如果显示不安全,还是不要在访问。就算坚持访问,也千万不要输入敏感信息,例如账号、密码等。
HTTPS 协议本身到目前为止还是没有任何漏洞的,即使你成功进行中间人攻击,本质上是利用了客户端的漏洞(用户点击继续访问或者被恶意导入伪造的根证书),并不是 HTTPS 不够安全。
如果你的电脑中毒了,被恶意导入了中间人的根证书,那么在验证中间人的证书的时候,由于你操作系统信任了中间人的根证书,那么等同于中间人的证书是合法的。
这种情况下,浏览器是不会弹出证书存在问题的风险提醒的。
这其实也不关 HTTPS 的事情,是你电脑中毒了才导致 HTTPS 数据被中间人劫持的。

那当然是安装正经安全可靠的SSL证书了。
站长应该还是选择随大流,开启全站的https吧。提示个不安全,直接让网站的流量收到很大损失!
免费的SSL证书现在市面上品牌有很多。但是付费的和免费的多少在安全上、服务上还是有点差距的。付费SSL证书和免费SSL证书简单对比及个人博客选购SSL建议将其进行了简单的对比。我的观点也很明确,对于企业而言,购买付费的SSL证书是非常有必要的。
我个人还是推荐一款国内公司营销的SSL证书商家——JoySSL,主要是价格比较便宜,有90天免费使用(实际上可以一直免费续签,类似证书Let’s Encrypt吧),付费版也很划算,百十来块钱一年,在付费版证书里也已经算非常便宜的了。 JoySSL品牌提供90天免费证书,包括单域名、多域名、通配符等所有适配范围。
设备完美兼容,兼容99.9%以上浏览器和智能终端设备。根据我的亲测,在主流浏览器上是完美支持的!

JoySSL品牌的优势:

免费版SSL证书申请地址:SSL证书申请_SSL证书购买_https证书申请_https证书购买-JoySSL
