启用全站HTTPS加密保护隐私的重要性

随着互联网日益复杂化和安全问题频出的常态化,注重用户隐私和保护网站数据意识正在逐渐觉醒。可是对比国内外明显感觉到目前国内互联网对HTTPS并不是很重视,其实也就是对用户隐私和网络安全不重视。因此我将简单描述现在存在的用户隐私泄露和流量劫持现象,然后进一步说明为什么HTTPS能够保护用户安全以及HTTPS使用过程中需要注意的地方。httpslogo国外很多网站包括google,facebook,twitter都支持了全站HTTPS,而国内目前还仅有很少全站支持HTTPS(PC端的微信全部使用了HTTPS,但是PC端用户应该不多)。而百度也是前几个月才刚刚启用了全站HTTPS。但是新浪微博却迟迟不见任何动作。甚至一些大型网站明显存在很多HTTPS使用不规范或者过时的地方。HTTP协议简单方便,易于部署,并且设计之初也没有考虑安全性,所有内容都是明文传输,也就为现在的安全问题埋下了隐患。用户在基于HTTP协议的WEB应用上的传输内容都可以被中间者轻易查看和修改。比如你在百度搜索了一个关键词“https“,中间者通过tcpdump或者wireshark等工具就很容易知道发送请求的全部内容。

这里所谓的中间者是指网络传输内容需要经过的网络节点,既有硬件也有软件,比如中间代理服务器、路由器、小区WIFI热点、公司统一网关出口等。这里面最容易拿到用户内容的就是各种通信服务运营商和二级网络带宽提供商。而最有可能被第三方黑客动手脚的就是离用户相对较近的节点。

中间者为什么要查看或者修改用户真实请求内容呢?很简单,为了利益。常见的几种危害比较大的中间内容劫持形式如下:

  1. 获取无线用户的手机号和搜索内容并私下通过电话广告骚扰用户。为什么能够获取用户手机号?呵呵,因为跟运营商有合作。
  2. 获取用户帐号cookie,盗取帐号有用信息。
  3. 在用户目的网站返回的内容里添加第三方内容,比如广告、钓鱼链接、植入木马等。

总结来讲,由于HTTP明文传输,同时中间内容劫持的利益巨大,所以用户隐私泄露的风险非常高。httpsprocessHTTPS就等于HTTP加上TLS(SSL),HTTPS协议的目标主要有三个:

  1. 数据保密性。保证内容在传输过程中不会被第三方查看到。就像快递员传递包裹时都进行了封装,别人无法知道里面装了什么东西。
  2. 数据完整性。及时发现被第三方篡改的传输内容。就像快递员虽然不知道包裹里装了什么东西,但他有可能中途掉包,数据完整性就是指如果被掉包,我们能轻松发现并拒收。
  3. 身份校验。保证数据到达用户期望的目的地。就像我们邮寄包裹时,虽然是一个封装好的未掉包的包裹,但必须确定这个包裹不会送错地方。

通俗地描述上述三个目标就是封装加密,防篡改掉包,防止身份冒充。

流式加密现在常用的就是RC4,不过RC4已经不再安全,微软也建议网站尽量不要使用RC4流式加密。一种新的替代RC4的流式加密算法叫ChaCha20,它是google推出的速度更快,更安全的加密算法。目前已经被android和chrome采用,也编译进了google的开源openssl分支—boring ssl,并且nginx 1.7.4也支持编译boringssl

现在互联网上HTTPS的中文资料相对较少,同时由于HTTPS涉及到大量协议、密码学及PKI体系的知识,学习门槛相对较高。另外在具体的实践过程中还有很多坑和待持续改进的地方。

最后,为了防止流量劫持,保护用户隐私,大家都使用HTTPS吧,全网站支持。事实上,HTTPS并没有那么难用和可怕,只是你没有好好优化。

推荐SSL检查器(快速有效):https://www.websiteplanet.com/zh-hans/webtools/ssl-checker/

感谢@Fabiola Mesber

 

发布者

Javen

一個喜歡折騰的自由散漫又帶有幽默感的處女座完美型浪漫主義豪放派人士。

《启用全站HTTPS加密保护隐私的重要性》有13个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注