今年年初,Google在其安全博客上已经表明,从7月开始,chrome68会将所有的HTTP网站标记为不安全。随后,Mozilla也表明,Firefox浏览器也准备将所有HTTP网站标记为不安全。
届时,我们再去访问HTTP网站的时候,可能就会在地址栏里显示大红色的惊叹号,而且会提示不安全。这时候,作为一个用户,我们在访问时心里就会不安,因为我们并不知道这网站上显示的内容是不是服务器提供的内容,我们的账号或密码是否会泄露。
image
现在,距离这个时间点已经很近了,越来越多的用户也开始上全站HTTPS。其实早在2015年,天猫淘宝已经实现了全站HTTPS,2015年底,阿里云CDN HTTPS也正式进入产品化。今天我们就来聊聊HTTPS的那些事儿~
什么是HTTPS?
HTTPS里面的“S”代表“Security”,安全的HTTP。大家都知道HTTP是一个超文本传输协议,它的优点是简单、快速、灵活,它的缺点就是不安全,直接运行在TCP层之上,数据在网络上的传输是明文的,就可以被抓包并看到传输的内容,存在非常大的安全隐患。
互联网发展越来越快,网络也越来越发达与复杂,在一些利益的驱动下,一些恶意的运营商经常对用户的HTTP请求做劫持和篡改,如果一个网站现在还在用HTTP为用户提供服务,那一定会经常遇到网站被插入广告、泄露数据等问题。
解决以上问题,我们就需要加密传输,这里有两种方法,一种方法是在HTTP的业务层做加密,这样做会非常地耦合,不通用。另一种就是用HTTPS,从网络模型上看就是在TCP层和HTTP层去做一层SSL层,由这一层来为HTTP层做数据的加解密服务:将HTTP层要发送的数据加密之后通过TCP来发送给对方,将接收到的加密数据解密之后交给HTTP,HTTP层不需关注加密和解密的细节而只需关注业务即可,这样对应用层来说是透明的,也便于客户端和服务器的实现和升级。
为什么依然有用户不使用HTTPS?
通常,用户的担忧来自于以下几个方面:
证书:不知道证书是什么东西,怎么去申请,去哪里申请,证书的费用,证书到期续签,私钥的安全管理等等问题。
性能:担心上了HTTPS性能会变差,服务器扛不住压力,客户端要做SSL握手,影响性能。
体验:因为要做SSL握手,需要握手时间,担心增加首包时间,影响用户体验。
难度:因为HTTPS需要SSL握手,SSL握手非常复杂,不像TCP那么简单,涉及到一套密码学的东西,比较有难度。而且是加密通信,出了问题不好排查,不像HTTP那样抓个包就能看出里面是什么东西。
以上的种种原因导致用户对于HTTPS还是有一点恐惧的,但是实际上,
--
FROM 223.104.3.*