今天打开百度首页,突然发现,百度的网址变为 https://www.baidu.com/,如下图:

好嘛,以后再也不怕别人使用抓包工具查看我在百度的搜索数据了。当年的Duck Duck Go就是因为是https,还尝试过几次呢。

现在百度也变为全站https了,但是对于HTTPS的认识仅仅局限于是:https比http更安全,因为https的数据是经过加密后在网络上传输的,即使他人抓取了到你传输的信息,也无法看到你里面信息的内容。这就更以前谍战时,加密后的电波谁都可以搜到,但是你无法解密,那么就是无用的。

百度都进步了,咱也该具体了解下啥事https了。

https,全称“Hypertext Transfer Protocol Secure”,翻译为“超文本传输安全协议”(来自维基百科)。

HTTPS的主要思想是在不安全的网络上创建一安全信道,并可在使用适当的加密包和服务器证书可被验证且可被信任时,对于窃听和中间人攻击提供合理的防护。

有三个重点“适当的加密包”、“服务器证书可被验证”、“服务器证书可被信任”,那么一个一个来看看。

一个服务器证书可被验证和服务器证书可被信任是基于预先安装在浏览器中的证书颁发机构的。那么一个服务前要想被信任,那么它就必须从CA(Certificate Authority)处申请用于证明服务器用途类型的证书。该证书只有用于对应的服务器时,客户端才信任此主机。具体参考维基百科。

那我们看看百度是怎么被信任的:

第一幅是火狐浏览器的,显示百度服务器被一个叫"VeriSign"的公司认证了,第2幅图是谷歌浏览器的除了验证机构还给出了采用的加密技术(具体的不懂)。

与http的差异

http起始且默认端口为80,https的默认端口为443

再谈加密

SSL(安全套接层)及其继任者传输安全层(TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS和SSL在传输层对网络连接进行加密。

SSL协议是位于TCP/IP协议与各种应用层协议之间,为数据通信提供安全支持。SSL协议可分为两层:(1)SSL记录协议,他建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。(2)SSL握手协议,他建立在SSL记录协议的基础上,用于在实际的传输开始前,通信双方进行身份认真、协商机密算法、交换加密密钥等。

SSL协议提供的服务:

(1)认证用户和服务器,确保数据发送到正确的客户机和服务器;

(2)加密数据以防止数据中途被窃取;

(3)维护数据的完整性,确保数据传输过程中不被改变。

SSL协议的工作流程:

①客户端的浏览器向服务器传送客户端SSL 协议的版本号,加密算法的种类,产生的随机数,以及其他服务器和客户端之间通讯所需要的各种信息。

②服务器向客户端传送SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器还将向客户端传送自己的证书。
③客户利用服务器传过来的信息验证服务器的合法性,服务器的合法性包括:证书是否过期,发行服务器证书的CA 是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。如果合法性验证没有通过,通讯将断开;如果合法性验证通过,将继续进行第四步。
④用户端随机产生一个用于后面通讯的“对称密码”,然后用服务器的公钥(服务器的公钥从步骤②中的服务器的证书中获得)对其加密,然后将加密后的“预主密码”传给服务器。
⑤如果服务器要求客户的身份认证(在握手过程中为可选),用户可以建立一个随机数然后对其进行数据签名,将这个含有签名的随机数和客户自己的证书以及加密过的“预主密码”一起传给服务器。
⑥如果服务器要求客户的身份认证,服务器必须检验客户证书和签名随机数的合法性,具体的合法性验证过程包括:客户的证书使用日期是否有效,为客户提供证书的CA 是否可靠,发行CA 的公钥能否正确解开客户证书的发行CA 的数字签名,检查客户的证书是否在证书废止列表(CRL)中。检验如果没有通过,通讯立刻中断;如果验证通过,服务器将用自己的私钥解开加密的“预主密码”,然后执行一系列步骤来产生主通讯密码(客户端也将通过同样的方法产生相同的主通讯密码)。
⑦服务器和客户端用相同的主密码即“通话密码”,一个对称密钥用于SSL 协议的安全数据通讯的加解密通讯。同时在SSL 通讯过程中还要完成数据通讯的完整性,防止数据通讯中的任何变化。
客户端服务器端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知服务器客户端的握手过程结束。
⑨服务器向客户端发出信息,指明后面的数据通讯将使用的步骤⑦中的主密码为对称密钥,同时通知客户端服务器端的握手过程结束。
⑩SSL 的握手部分结束,SSL 安全通道的数据通讯开始,客户和服务器开始使用相同的对称密钥进行数据通讯,同时进行通讯完整性的检验。
 
转载请注明出处:http://www.cnblogs.com/acode/p/4355168.html

百度全站变https的更多相关文章

  1. 百度全站 https FAQ:技术宅告诉你如何搜索更安全

    百度从 14 年开始对外开放了 https 的访问,并于 3 月初正式对全网用户进行了 https 跳转. 你也许会问,切换就切换呗,和我有啥关系?我平常用百度还不是照常顺顺当当的,没感觉到什么切换. ...

  2. 为什么非全站升级HTTPS不可?

    升级HTTPS已经是大势所趋,但仍有大量互联网企业犹豫是否要全站升级HTTPS,为此本文梳理了全站升级HTTPS与部分升级HTTPS的优劣势对比,来判断是否真的有必要进行全站HTTPS升级. HTTP ...

  3. 我是如何将网站全站启用Https的?-记录博客安装配置SSL证书全过程

    评论»   文章目录 为什么要Https 如何选择Https 安装部署SSL证书 平滑过渡Https 搜索引擎的响应 启用Https小结 正如大家所看到的,部落全站已经启用了Https访问了,连续几天 ...

  4. 百度优先收录HTTPS网站?你的网站https还在等什么

    2015年5月25日,百度站长平台发布的公告,称将正式开放对HTTPS站点的收录.开始优先抓取HTTPS站点.所有事情都有两面性,这个消息对于已 经到HTTPS的网站来说是个喜大普奔的好消息.对于需要 ...

  5. 百度站长平台HTTPS认证所遇到的坑

    坑1: 百度站长平台https认证失败,提示:请确保您网站的所有链接均支持https访问,且未使用不安全协议(如:SSL2.SSL3等协议). 解决办法: 1.  友情链接检查, 要检查所有的友情链接 ...

  6. 百度地图支持https

    百度地图SDK,  支持https <script src="http://api.map.baidu.com/api?v=3.0&ak=nbnttGGI6lilllgy2zn ...

  7. 记一次全站升级https引发的一系列问题

    中秋假期,闲来无事.花了一下午折腾了下https,说实话这年头还有网站不上https显然是折腾精神不够啊~ 1.SSL证书评估 看了市面上各种类型的证书,有收费的也有免费的,但是最终还是选择了腾讯云提 ...

  8. 百度地图对https的支持

    在使用百度地图时,如果直接使用其提供的js地址,在通过https的方式请求时,是不支持的 <script type="text/javascript" src="h ...

  9. 百度分享实现https

    什么是百度分享,看下面两个图. 还要自己写js,css吗?那不存在的,百度已经给出了解决方案并分享了出来 http://share.baidu.com/code/advance 缺陷是不支持 http ...

随机推荐

  1. HTTP知识点总结

    参考: HTTP协议详解:http://blog.csdn.net/gueter/article/details/1524447 图解HTTP学习笔记——简单的HTTP协议:http://networ ...

  2. Lombok介绍及使用方法

    lombok简介 lombok是暑假来到公司实习的时候发现的一个非常好用的小工具,刚见到的时候就感觉非常惊艳,有一种相见恨晚的感觉,用了一段时间之后感觉的确挺不错,所以特此来推荐一下. lombok的 ...

  3. 判断直线与线段相交 POJ 3304 Segments

    题意:在二维平面中,给定一些线段,然后判断在某直线上的投影是否有公共点. 转化,既然是投影,那么就是求是否存在一条直线L和所有的线段都相交. 证明: 下面给出具体的分析:先考虑一个特殊的情况,即n=1 ...

  4. AS 自动生成选择器 SelectorChapek

    简介 https://github.com/inmite/android-selector-chapek 设计师给我们提供好了各种资源,每个按钮都要写一个selector是不是很麻烦? 这么这个插件就 ...

  5. BlockingQueue接口

    BlockingQueue接口定义了一种阻塞的FIFO queue,每一个BlockingQueue都有一个容量,让容量满时往BlockingQueue中添加数据时会阻塞,当容量为空时取元素操作会阻塞 ...

  6. 关于在repeater中的checkbox实行多选和全选

    今天项目中用到这一块,是一个b2b商城,业务是别人给客户留言后,客户从会员中心的留言管理中查看,用checkbox实行多选和全选后进行批量审核 首先在checkbox后加个hidden,作用见代码: ...

  7. android-Activity的执行流程

    概述 The following diagram shows the important state paths of an Activity. The square rectangles repre ...

  8. egrep和grep有什么区别

    grep默认不支持正则表达式,egrep默认支持正则表达式,egrep 等于 grep -E 命令.

  9. php访问方法外变量

    class Capture { private static $_CapSite = 222; function dd() { echo self::$_CapSite; } } $cc=new Ca ...

  10. 删除Excel中的打印预览留下的打印线

    Excel 工作表打印后,会留有几条虚线打印线.如下图所示:     不少同学反映,他们尝试了很多操作却仍然无法消除.难道除了重新打开就没有别的办法了? 可以这样做: 在 Excel 2010 中,单 ...