百度从2014年开始对外开放了https的访问,并于3月初正式对全网用户进行了https跳转。你也许会问,切换就切换呗,和我有啥关系?我平常用百度还不是照常顺顺当当的,没感觉到什么切换。
话说,平常我们呼吸空气也顺顺溜溜的,没有什么感觉,但要是没有了空气,那就没法愉快的生活了。https对于互联网安全的重要性,正如空气对于我们人类的重要性一样。百度全站切换到https之后,我们才可以愉快的搜索,愉快的上网。
https究竟是如何实现让我们更加安全呢?让百度技术宅来个深度揭秘:
问题1:https是什么?我有没有用到https?
https是httpoverssl(SecureSocketLayer),简单讲就是http的安全版本,在http的基础上通过传输加密和身份认证保证了传输过程中的安全性。你通常访问的网站大部分都是http的,最简单的方法可以看看网址是以http://开头还是https://开头。
以下几个截图就是chrome,firefox,IE10在使用https时的效果。
注意图中绿色的部分, 我们后面详细说说。
问题2:https为什么比http安全?https加密是不是需要我在电脑上安装证书/保存密码?
不带“s”的http不安全,主要是因为它传输的是明文内容,也不对传输双方进行身份验证。只要在数据传输路径的任何一个环节上,都能看到传输的内容,甚至对其进行修改。例如一篇文章“攻下隔壁女生路由器后,我都做了些什么”中,很多攻击的环节,都是通过分析http的内容来进行。而在现实生活中呢,你很有可能泄露你的论坛高级会员账号/密码,游戏vip账号/密码,隐私的聊天内容,邮件,在线购物信息,等等。实在是太可怕的有木有!
https之所以安全,是因为他利用ssl/tls协议传输。举个简单的例子,电影风语者中,美军发现密码经常被日本窃听和破解,就征召了29名印第安纳瓦霍族人作为译电员,因为这语言只有他们族人懂。即使日本人窃听了电文,但是看不懂内容也没用;想伪造命令也无从下手,修改一些内容的话,印第安人看了,肯定会说看(shen)不(me)懂(gui)。看到这里,你肯定发现了,这是基于两边都有懂这个语言(加密解密规则)的人才行啊,那么我的电脑上需要安装什么密钥或者证书吗?一般情况作为普通用户是不用考虑这些的,我们有操作系统,浏览器,数学家,安全和网络工程师等等,帮你都做好了,放心的打开浏览器用就好啦。
如果你实在好奇,想知道双方不用相同的密钥如何进行加密的,可以搜索下”公钥加密”(非对称加密),”RSA”,”DH密钥交换”,“ssl原理”“数字证书”等关键词。
有朋友会想了,不就是加密吗,我wifi密码都能破,找个工具分分钟就破解了。这个想法可不对,虽然没有绝对的安全,但是可以极大增加破解所需要的成本,https目前使用的加密方式是需要巨大的计算量(按照目前计算机的计算能力)才可能破解的,你会用世界上最强的超级计算机花费100年(只是一个比喻)去解密,看看100年前隔壁老王在百度上搜什么吗。
问题3:百度为什么要上https?
我们每天会处理用户投诉,比如说:页面出现白页/出现某些奇怪的东西;返回了403的页面;搜索不了东西;搜索url带了小尾巴,页面总要闪几次;页面弹窗广告;搜索个汽车就有人给我打电话推销4s店和保险什么的…
各种千奇百怪的情况碰到过的请举手。查来查去,很大一部分原因是有些坏人在数据的传输过程中修改百度的页面内容,窃听用户的搜索内容。悄悄告诉你,https就是能解决这样问题的技术哦。
从方向上来说,HTTPS也是未来的趋势,目前大家使用的HTTP还是1.1/1.0版本的,新的HTTP2.0版本的标准已经发布了。标准中涉及了加密的规范,虽然标准中没有强制使用,但是已经有很多浏览器实现声称他们只会支持基于加密连接的HTTP2.0(https://http2.github.io/faq/#does-http2-require-encryption)。
问题4:https不就是在http后面加个s,很难么?
难,又不难。
它包含证书,卸载,流量转发,负载均衡,页面适配,浏览器适配,refer传递等等等等。反正我指头肯定不够数。
对于一个超小型个人站点来说,技术宅1天就能搞定从申请证书到改造完成。如果是从零开始建设,会更容易。
但是对于百度搜索这种大胖纸来说,可就难了。
1,它一开始并不是为https设计的
2,内容丰富(内容本身的表现形式很多:图片,视频,flash,form等等),种类丰富(页面上除了自然结果,有视频,图片,地图,贴吧,百科,第三方的内容,app等等)。
3,数据来源复杂,有几十个内部产品线的内容,几百个域名,成千上万个开发者的内容
4,百度在全国,甚至世界范围都有很多idc和cdn节点,都得覆盖到。
5,还不能因此拖慢了百度的速度(国内使用https的银行,在线交易的站点,有没有觉得很慢?)
6,上https本来就是为了更好的体验,可不能导致大家使用不稳定。
…
Google部署https花费了1-2年,13年将证书从1024位升级到2048位花了3个月。百度也是去年就开放了入口和小流量,但是今年3月才进行全量上线,可以想像整体的复杂性。
问题5:如何看待百度搜索支持全站https?
国外的几个大型站点都https化了,这是未来互联网的趋势(有兴趣的同学可以搜索下’http/2’)。
对百度自身来说,https能够保护用户体验,减少劫持/隐私泄露对用户的伤害。
很多人会有疑惑,我没有被劫持,百度上https有什么作用,反而让我变慢了一些。从我们的第一手数据可以看到,劫持的影响正越来越大,在法制不健全的环境下,它被当成一个产业,很多公司以它为生,不少以此创业的团队还拿到了风投。等它真正伤害到你的时候,你可能又会问我们为什么不做些什么。所以,我们宁愿早一些去面对它。
https在国内的大型站点目前还只用在部分账户的登陆和支付等环节。百度也是国内第一个全站https的大型站点,它的用户非常多,流量也很大。百度能够上线https会打消大家的疑虑,对其他国内的站点是很好的示范,这个带头作用会显著加速国内互联网https的进程,有助于中国互联网的网络安全建设。百度作为搜索引擎,是流量的入口和分发的渠道,后续如果对https的站点内容的抓取,标记,权值倾斜,那么更能引导互联网的网站向https进行迁移。
文章评论 本文章有个评论