https大有星火燎原之势,拥抱吧少年

自互联网问世以来,大家都是在地址栏键入网站域名,浏览器就会为我们打开这个网站。除了技术人员,很少有人注意域名前的协议,绝大多数都是http,只有少数网站的登录及支付环节使用https,但最近两年,https逐渐取代http,大有星火燎原之势。

https大有星火燎原之势

http为什么过时?

很多网民可能不明白,为什么自己的访问行为和隐私数据会被人知道,为什么域名没输错,结果却跑到了一个钓鱼网站上?
很多网站主也在疑惑,为什么自家网站并没有投放广告,为什么用户看到的确实有广告的,其实是被注入了,互联网世界暗流涌动,数据泄露、数据篡改、流量劫持、钓鱼攻击等安全事件频发。

http数据在网络中裸奔
http明文协议的缺陷,是导致数据泄露、数据篡改、流量劫持、钓鱼攻击等安全问题的重要原因。http协议无法加密数据,所有通信数据都在网络中明文“裸奔”。通过网络的嗅探设备及一些技术手段,就可还原http报文内容。

网页篡改及劫持无处不在
篡改网页推送广告可以谋取商业利益,而窃取用户信息可用于精准推广甚至电信欺诈,以流量劫持、数据贩卖为生的灰色产业链成熟完善。即使是技术强悍的知名互联网企业,在每天数十亿次的数据请求中,都不可避免地会有小部分流量遭到劫持或篡改,更不要提其它的小微网站了。

移动时代,WIFI普及
WIFI热点的普及和移动网络的加入,放大了数据被劫持、篡改的风险。一旦有人在WIFI端做拦截,所有的网页浏览行为都是透明的。

自由的网络无法验证网站身份
http协议无法验证通信方身份,任何人都可以伪造虚假服务器欺骗用户,实现“钓鱼欺诈”,用户根本无法察觉。

https又强在哪里?

我们可以通过https化极大的降低上述安全风险,你的用户在任何网络上接入,即使被监听,黑客截获的数据都是密文数据,无法在现有条件下还原出原始数据信息。
早在2014年,由网际网路安全研究组织Internet Security Research Group(ISRG)负责营运的 “Let’s Encrypt”项目就成立了,意在推动全球网站的全面https化;2015年6月,苹果也要求所有IOS Apps在2016年底全部使用https;2015年11月,Google也宣布,将在明年1月开始,对任何没有妥善加密的网站,竖起“不安全”的小红旗。
去年,淘宝、天猫也启动了规模巨大的数据“迁徙”,目标就是将百万计的页面从http切换到https,实现互联网加密、可信访问。
更安全、更可信,是http后面这个“s”最大的意义。https在http的基础上加入了SSL/TLS协议,依靠SSL证书来验证服务器的身份,并为客户端和服务器端之间建立“SSL加密通道”,确保用户数据在传输过程中处于加密状态,同时防止服务器被钓鱼网站假冒。

https提升搜索排名
谷歌早在2014年就宣布,将把https作为影响搜索排名的重要因素,并优先索引https网页。百度也公告表明,开放收录https站点,同一个域名的http版和https版为一个站点,优先收录https版。

英美强制要求所有政府网站启用https
美国政府要求所有政府网站都必须在2016年12月31日之前完成全站https化,截至2016年7月15日,已经有50%政府网站实现全站https。英国政府要求所有政府网站于2016年10月1日起强制启用全站https,还计划将service.gov.uk提交至浏览器厂商的HSTS预加载列表,只有通过https才能访问政府服务网站。

https的web应用才能使用特殊权限
采用不安全连接访问浏览器特定功能,将被谷歌Chrome浏览器禁止访问,例如地理位置应用、应用程序缓存、获取用户媒体、使用用户摄像头等。从谷歌Chrome 50版本开始,地理定位API、用户摄像头没有使用https的web应用,将无法正常使用。

全站https才是最佳方案

很多网站所有者认为,只有登录页面和交易页面才需要https保护,而事实上,全站https化才是确保所有用户数据安全可靠加密传输的最佳方案。局部部署https,在http跳转或重定向到https的过程中,仍然存在受到劫持的风险[1]。

情况一:从http页面跳转访问https页面

事实上,在 PC 端上网很少有直接进入 https 网站的。例如:支付宝网站大多是从淘宝跳转过来,如果淘宝使用不安全的 http 协议,通过在淘宝网的页面里注入 XSS,屏蔽跳转到 https 的页面访问,那么用户也就永远无法进入安全站点了。

情况二:http页面重定向到https页面

有一些用户通过输入网址访问网站,他们输入了www.alipaly.com 就敲回车进入了。然而,浏览器并不知道这是一个 https 的站点,于是使用默认的 http 去访问。不过这个 http 版的支付宝的确也存在,其唯一功能就是重定向到自己 https 站点上。劫持流量的中间人一旦发现有重定向到https站点的,于是拦下重定向的命令,自己去获取重定向后的站点内容,然后再回复给用户。于是,用户始终都是在 http 站点上访问,自然就可以无限劫持了。

那么问题来了,为什么https这么好,全世界却还有过一半的网站,还在使用http呢?

第一是https金钱成本:这个门槛在于需要权威CA颁发的SSL数字证书。从证书的选择、购买到部署,传统的模式下都会比较耗时耗力。目前,主流CSP都集成了多家证书颁发机构的SSL证书,部署过程也相对更容易一些。因“麻烦”和“门槛”而不https化的现象,预测也将有所缓解。

第二是性能:https普遍认为性能消耗要大于http。但事实并非如此,用户可以通过性能优化、把证书部署在SLB或CDN,来解决此问题。举个实际的例子,“双十一”期间,全站https的淘宝、天猫依然保证了网站和移动端的访问、浏览、交易等操作的顺畅、平滑。通过测试发现,经过优化后的许多页面性能与http持平甚至还有小幅提升,因此https经过优化之后其实并不慢。

第三是开发成本:开发 & 测试https应用的时候,对于内网域名以及本机调试都会带来一些麻烦和成本,一段时间段内需要同时支持https和http,那么可以通过架设一个代理来统一化解决这个问题,测试时候域名都映射到这个域名,成本就会降下来。

最后是安全意识:相比国内,国外互联网行业的安全意识和技术应用相对成熟,https部署趋势是由社会、企业、政府共同去推动的。不过,随着国内安全意识的普及以及政府和相关公司机构的推动,https也会造福更多网民,可以避免很多损失和纠纷。

相关阅读