HTTPS究竟是啥?这篇文章带你快速了解HTTPS

在讲什么是 HTTPS 之前,我们先来看个漫画。
HTTPS究竟是啥?这篇文章带你快速了解HTTPS
HTTPS究竟是啥?这篇文章带你快速了解HTTPS
△ 图片来源于网络
漫画中其实就是 HTTPS 的握手过程,但是我相信大段的英文你看着也不怎么流畅,下面就由我简单讲解下吧。
HTTPS 是在 HTTP 的基础上增加了 SSL 或 TLS 安全协议,这些协议有众多的套件,这些套件则是由加密算法和哈希算法组成,而这些算法最后则涉及到了数学。
数学是我上学时期最头痛的学科,还记得上数学课时,我传纸条给坐在我后面的班花……咦,好像有点跑偏了,拉回来,坐好了,开始我们的 HTTPS 之旅。

HTTPS 是什么

HTTPS 是为了安全的使用 HTTP ,缩写展开:Hyper Text Transfer Protocol over Secure Socket Layer 。从英文释义可以看出,HTTPS 就是 HTTP + SSL 或者 HTTP + TLS 。
“我读书少,你可不要骗我,上面的英文缩写不是 HTTP over SSL 吗?”呃…是这样的,HTTPS 最初使用的加密协议的确是 SSL,SSL 最近的三个版本是:SSL 1.0 、SSL 2.0 、SSL 3.0 ,不过随着加密算法的发展和人们对传输安全性要求的提高。
截止目前已经长江后浪推前浪依次推出了 TLS 的四个版本,分别是:TLS 1.0 、TLS 1.1 、TLS 1.2 以及前不久刚推出的 TLS 1.3 。实际上,业内也有人把 TLS 1.0 叫做 SSL 3.1 ,事实上,TLS 是在 SSL 的基础上发展起来的更安全的加密协议。

为什么要使用 HTTPS

这个问题要从为什么逐渐的抛弃 HTTP 说起。
HTTP 从 1991 年的 HTTP/0.9 一直发展到 1999 年的 HTTP/1.1 ,虽然功能不断增加,性能也不断提高,但是随着互联网技术和网络设备的迅速普及,导致信息大爆炸,众多的网民们对网络传输的速度和安全性有了越来越高的要求。
2012 年,谷歌推出了 SPDY 方案,优化了 HTTP/1.x 的请求延迟和安全性问题,进一步普及了 HTTPS,截止到 2015 年,HTTP/2 已经成为标准,更是进一步推动了全网 HTTPS 的进程。用户体验咨询
全网 HTTPS 是大势所趋,那么为什么抛弃 HTTP 呢?最重要的原因就是安全问题,因为 HTTP 是明文传输的,这对于目前从娃娃就开始玩智能手机,学习 python 编程的新一代来说,抓个包估计是不在话下,更别提浸淫网络多年的“黑客”了。是时候跑步进入 HTTPS 加密时代的了。

HTTPS 为什么安全

上文已经有提到,HTTPS 就是 HTTP + SSL or TLS ,除了 HTTPS 传输标准严格和规范外,主要是 SSL 或者 TLS 对传输的信息有一整套的加解密和校验方案。这套方案主要从下面三个方面确保传输的安全。
1. 身份认证
传输之前首先通过数字证书来确认身份,各大 CA 厂商干的就是这个事情。这里涉及到一个名词:数字证书。数字证书分为公钥和私钥,CA 厂商会用自己的私钥来给证书申请者签发一套包含私钥和公钥的客户证书,客户的公钥证书谁都可以获取,里面包含了客户站点和证书的基本信息,用来确保访问者访问的就是他想要访问的站点。
这个证书不可以伪造吗?答案是真的不可以。
原因一:系统早已内置了各大 CA 厂商的公钥来校验证书是否是对应的站点的证书,如果不是,就会给出证书不匹配的提示,除非你给别人的设备强行植入假的 CA 公钥。
原因二:这个证书是 CA 厂商通过哈希并加密得到的,基本无法逆向破解并伪造一个新的,除非是你黑进 CA 获取了 CA 的私钥,那这家 CA 也基本可以倒闭了。
2. 数据保密
数据保密包括对话秘钥传输时候的保密和数据的加密传送。
对话秘钥:以 TLS 1.2 使用的套件之一 DHE-RSA-AES256-SHA256 为例:该套件是以 DHE 、RSA 作为秘钥交换算法,这两种秘钥交换算法都是使用的非对称加密,数学原理分别依赖于计算离散对数的难度和大数分解的难度。
也就是在建立 HTTPS 链接的过程中,刚开始是有一些明文出现的,不过想要根据这些已知的明文推算出“对话秘钥”却非常困难。
对话加密:客户端和和服务端协商并成功获取到对话秘钥后就开始用对话秘钥进行对称加密会话,上面的套件我们可以看到使用的是 AES256 加密算法。
那么为什么“对话秘钥”的交换使用非对称加密,正式对话数据的传输使用对称加密?因为非对称加密虽然安全性比较高,但是它的效率比较低,速度比较慢,所以我们一般只使用它们来交换一下对话秘钥,后面的对话加密则使用速度更快,效率更高的对称加密。
3. 数据完整
身份认证成功后,到了数据加密传输的阶段,所有数据都以明文(HTTP)收发,只不过收发的是加密后的明文。这时候也遇到了一个问题,虽然中间人很难破解加密后的数据,但是如果他对数据进行了篡改,那该怎么办?优化用户体验
此时加密套件验证数据一致性的哈希算法就派上用场了,哈希算法有多种,比如 MD5 ,SHA1 或者 SHA2 等,上面举例的加密套件使用的是 SHA2 中的 SHA256 来对数据进行哈希计算。这样就使得任何的数据更改都会导致通信双方在校验时发现问题,进而发出警报并采取相应的措施。
以上主要从使用 HTTPS 的必要性及 HTTPS 能安全传输的原理进行了简单的阐述,HTTPS 的实现不仅仅是网络技术的集中应用,底层还涉及到了大量的算法以及密码学的众多知识,小编也无法一下子概述完整(笑哭)。
另外,不论是 PFS,或是国际互联网组织正在推行的 HSTS 安全传输协议,他们的主要目的就是避免中间人攻击,使信息在传输过程中更安全,更快速
 
来源:网络

谷歌浏览器最新版宣布取消“安全”标识

编者注:全站HTTPS时代的已经到来,在电子商务、互联网金融、银行及政府机构、保险证券、医疗机构、系统与软件开发商等领域,深受业界的持续关注和广泛认可。
9 月 5 日,谷歌Chrome浏览器最歌新版(69)已经正式面向Mac,Windows和Linux推出。
7 月 24 日,Chrome68 在安全方面再创里程碑,即所有没有采用HTTPS协议的网站都会在地址栏上明确标记为“Not Secure”(不安全)。
而今天,Chrome69 的发布,宣布移除“Secure”标识,不会再特地将HTTPS网站标记为“安全”,而是改在采用HTTP标准协议的网站旁标注“不安全”。这么做的目的是让用户了解不安全的网站,从而进一步推进全网加密。
谷歌浏览器最新版宣布取消“安全”标识
Chrome 浏览器已经堪比小型杀毒软件
早在今年年初,谷歌爸爸就在其博文中表明:
自从我们在Chrome中引入安全标识,网络上的HTTPS使用情况变得十分显著。既然那么顺,我们决定顺水推舟移除这个标识。因为用户的体验应当建立于网络默认情况下是安全的,而在出现问题时才会被警告。鉴于我们马上要着手标记所有HTTP网页为“不安全”,我们将逐步移除Chrome的积极安全标识,以便默认未被标记的网站才是安全的。这个计划预计从今年 9 月的Chrome69 开始执行。
尽管Chrome的“安全”标识UI总被人津津乐道,但也存在着很多弊端。毕竟这年头霸屏使用的HTTPS的网站里,有很多是钓鱼网站。明明是钓鱼网站,却偏偏因为用了HTTPS而被标记成了安全,显然是不合理的。
此前,由于 HTTP 使用率过高,为所有 HTTP 网页加红色警告标识很难实现。然而随着Chrome70 即将在 10 月份发布,当用户输入数据时,HTTP 站点将显示一个红色的“不安全”警告。
谷歌浏览器最新版宣布取消“安全”标识
Chrome 70 针对含用户输入的HTTP 网页的处理
为了营造安全的上网环境,Google一直在努力。毫不浮夸地讲,对于 HTTPS的全面普及,Google 绝对是头号功臣。在很长一段时间里,谷歌和Mozilla等公司,一直在推动HTTPS普及,以解决HTTP中的缺陷和安全问题。
下图是Chrome浏览器加载HTTPS网站的增长趋势,最上面这条线是美国,从 2015 年的不到50%,目前已经超过80%,最下面这条是日本,2015- 2016 年比较平稳的维持在25%左右,目前已经超过60%。从网络公开数据估算,国内HTTPS的加载占比在40% 左右,可以预见到未来一两年,会有越来越多的国内网站将切换到HTTPS。

谷歌浏览器最新版宣布取消“安全”标识

总体上看,这样的新规定做到了默认安全,而强化不安全的效果,让用户在思维上有一个大转变。这么做的原因是,谷歌认为“用户应该默认 Web 是安全的,Chrome 应该只会在网页有问题时才发出警告”,同时这也是谷歌“HTTPS 100%”计划的一部分,最终目的是让加载到 Chrome 中页面都通过 HTTPS 协议。

 
来源:网络

百度工程师回答SEO有关问题

编者注:参加了 2017 年MADCon大会,收获良多。 20 号下午参加了百度专场,并主持了一个圆桌对话,问了一些征集到的SEO有关问题,趁现在还没忘记,记录一下。百度方面回答问题的主要是百度搜索主任架构师谭待和搜索产品架构师荣蓉。征集的问题比较多,由于时间关系,没能全部问到,挑比较有代表意义的问了下面这些问题。下面总结的有些回答是私下交流的,并不全部是圆桌对谈里的。 (更多…)

浅谈关于HTTPS中间人攻击与证书校验那些事

编者注:随着安全的普及,https通信应用越发广泛,但是由于对https不熟悉导致开发人员频繁错误的使用https建站,例如最常见的是未校验https证书从而导致“中间人攻击”,并且由于修复方案也一直是个坑,导致修复这个问题时踩各种坑,故谨以此文简单的介绍相关问题。本文主要讲述网站优化https的握手过程,第二节主要讲述常见的“https中间人攻击”场景,第三节主要介绍证书校验修复方案,各位看官可根据自己口味浏览。 (更多…)

怎样把网站从http转换成https

编者注:近两年的情况表明,网站启用https已是大势所趋。用https加密目前看有利有弊。利,首先是安全,减少被劫持、篡改的机会。弊,主要是速度上的,由于证书验证、多次握手、CPU消耗等原因,https页面速度会被拖慢一点。但https无疑是未来趋势。 (更多…)