相信这些经历你一定不陌生,浏览网页时,动不动就被插了个“屠龙宝刀”游戏广告小窗口;明明下载的是文件解压软件,下载到本地就变成了杀毒、浏览器、播放器软件;点击的网页链接是某企业官网,打开的却是澳门博彩网站…..
这些现象其实都与网络流量劫持有关,而背后更是隐藏了一场没有硝烟的战争。在长达30多年的互联网发展史中,围绕HTTP的保卫战从来没有停止过。
“裸奔”的HTTP世界
1982年,Internet(互联网)这个名词,第一次出现在人类社会的定义中。
1993年,在大洋彼岸的美国,“互联网”开始如野草般无预兆地疯狂生长,并先后诞生了如网景(NetScape)、雅虎(Yahoo)这样的互联网公司。
那时候的互联网,建立在底层协议HTTP之上,一切都是明文传输,信息如汪洋大海般自由流淌,这种盛况无疑是令人悸动的。
然而,在HTTP明文传输的世界里,所有传输的数据,包括个人信息,邮箱密码、银行账号等机密数据都在无形中“裸奔”,这使得“坏人”窃取也变得轻而易举。
不仅如此,在过去的30多年中,劫持网页流量一直是各路黑客们的钟爱,HTTP协议使得流量在传输途中可以随心所欲地被黑客控制。
面对肆无忌惮的黑客入侵,互联网公司们显然不愿坐以待毙。
加密的SSL协议
1994年,NetScape公司设计了SSL协议(Secure Sockets Layer)的1.0版,但未发布,其基本思路是利用数据加密技术,确保数据在客户端和服务器之间的传输过程中,不被截取及窃听。
然而,NetScape随后发布的SSL2.0版本很快被发现有严重漏洞,直到1996年,SSL3.0版本才通过验证,从此得以大规模应用,越来越多的互联网公司加入到SSL协议的行列中。
1999年,互联网标准化组织ISOC接替NetScape公司,发布了SSL的升级版TLS 1.0版。
2006年和2008年,TLS进行了两次升级,分别为TLS 1.1和TLS 1.2。目前,主流浏览器都已实现了TLS 1.2的支持。
SSL/TLS协议的出现,主要解决了HTTP的三大风险:
(1) 所有信息都是加密传输,第三方无法窃听。
(2) 具有校验机制,一旦被篡改,通信双方会立刻发现。
(3) 配备身份证书,防止身份被冒充
其实,我们会发现部分网址的显示已经从Http://变成了Https://,多出来的这个字母“S”,正是代表该网页采用了SSL协议,可以进行加密传输,并确保其信息数据安全。
简单来说,HTTPS=HTTP+SSL。有了SSL的加持,HTTPS比HTTP协议更安全。
那么,HTTPS到底是如何在网站加密传输中发挥作用的呢?
“公证”的CA机构及证书
HTTPS使用SSL协议,是通过加密的方式将明文变成密文,并在客户端和服务器之间传递,这就如同一封投递出去的“密码情报”,加密和解密需要发送方和接受方通过交换共知的密钥来实现。
当然,还有一个非常重要的前提,“密码情报”必须传递给“对的人”。
举个例子,如果我向一个陌生人证明“我就是我”,对方不一定相信。但是如果我拿出自己的身份证,对方立刻就能确认“我就是我”。原因很简单,身份证是由国家执法机构颁发的认证文件,具有权威性和公信力。
同样,在互联网世界,也有这样一个权威的“公证人”角色,全名叫“数字证书认证机构(Certificate Authority)”,简称CA机构,由它颁发的SSL认证文件,被称为“SSL证书”。
由权威CA机构颁发的SSL证书,就类似于互联网世界的通行证,将其部署到网站服务器上,即可实现网站的身份认证和信息加密传输。
目前,全球主流的CA机构有Symantec、GeoTrust、DigiCert、Thawte、GlobalSign、RapidSSL等。
在中国,获得工信部设立许可,能够提供数字证书的CA机构总共有43家,不管对于企业还是个人用户而言,安装由权威CA机构颁发的SSL证书,访问HTTPS加密网站,才是网站的“正确打开方式”。