当我们谈论HTTPS时,我们在谈什么(一)协议本质

389 阅读4分钟

这是我参与8月更文挑战的第4天,活动详情查看:8月更文挑战

当我们的浏览器显示网址Https:// 的时候,我们总会有一种安全感和踏实,这是因为我们知道这个网站是真实的,和它的通信是安全的。那么HTTPS到底是什么呢?

HTTPS的目的

HTTPS(Secure Hypertext Transfer Protocol)安全超文本传输协议,是HTTP的升级版,主要针对HTTP的三大缺点:

  1. 安全性是最大的短板,报文内容大部分都是明文,没有加密机制,如果被截获就完全没有秘密可言;
  2. 缺少身份验证,你不知道和你会话的是google还是社会我谷哥, 会到中间人攻击或是钓鱼网站的欺骗;
  3. 缺少完整性校验手段,无法证明报文在传输过程中是否被篡改,因为HTTP协议允许中间代理,这些代理可能就玩坏你的HTTP报文,而浏览器却很难自动去校验他们。

那么HTTPS是如何解决这3个问题的呢?

HTTPS 协议的主要功能基本都依赖于 TLS/SSL 协议,TLS/SSL 的功能实现主要依赖于三类基本算法:

  1. 散列函数 ,基于散列函数验证信息的完整性。
  2. 非对称加密,利用非对称加密实现身份认证和密钥协商。
  3. 对称加密,利用对称加密算法和协商的密钥对应用数据进行加密传输。

image.png

HTTPS协议栈

知道了HTTPS协议存在的目的和意义,让我们来具体了解一下它的主要内容

HTTPS旨在提高HTTP协议的安全性,把技能点都点在了“安全”上。

它是基于传输层协议SSL/TLS协议来实现安全通信的,以下是HTTPS 的协议栈:应用层依然由 HTTP 进行通信,但在TCP层之上增加了SSL/TLS协议,来增强安全属性。

image.png

HTTPS流程(基于TLS1.2)

在TLS1.2版本中,客户端和服务器想通过HTTPS协议建立链接,需要follow以下流程:

HTTPS连接建立信令流程

可以看到这比HTTP建立链接要复杂的多,我会用接下去几篇文章详细介绍这里面的内容。

在这里,我先概括的介绍以下HTTPS的工作流程:

  1. 依然是建立客户端到服务器的TCP链接

  2. 客户端发送本机信息+支持的加密算法等信息,给服务器

  3. 服务器根据客户端信息,确定加密算法,并发送服务器信息。

  4. 服务器根据加密算法,发送CA证书(certificate Authority)和公钥,并发送服务器加密参数,与客户端协商pre-master-key

  5. 客户端根据公钥与数字签名,验证服务器证书和加密协商信息真伪,并发送客户端加密参数给服务器

  6. 双方根据加密参数,算法,以及随机数等信息,各自生成一致的master key,并在此基础上计算session key,使用该密钥对应用数据进行对称加密

每个步骤具体内容我在之后文章中详细讲。

根据外媒Netmarketshare发布的数据显示,截止到2019年10月全球使用HTTPS加密的Web流量的比例已经超过了九成。当下网站接入HTTPS加密传输协议,在全球已经基本成为一种普及的趋势。 而且各个浏览器都预置了“防泄漏警告”来提示用户那些没有使用HTTPS协议的网站,这就更导致用户会选择不登陆那些没有安全证书的网站。

image.png

然而申请证书并不是免费的,而且一个证书只能对应一个host,如果你一个域名下有多个host就需要多个证书,一年下来也不便宜。

最后,总结一下HTTP 与 HTTPS 区别:

  1. HTTPS应用数据传输过程是加密的,安全性更好,HTTP 明文传输,数据都是未加密的。
  2. HTTPS需要使用第三方的证书和公钥,以确定服务器的身份,而HTTP没有这个机制。
  3. HTTPS的页面响应速度比 HTTP慢,主要是因为 HTTP只需要 TCP 三次握手,而HTTPS还需要TLS握手流程;
  4. https服务器端默认使用443端口,而HTTP服务器默认使用80端口。
  5. HTTPS是建构在 SSL/TLS 之上的 HTTP 协议,这里面涉及到了加密,密钥协商,session管理等功能,所以HTTPS 比 HTTP 要更耗费服务器资源。



感谢阅读,如有不准确或错误请留言指正,我会及时修正

总结不易,请勿私自转载,否则别怪老大爷不客气

欢迎喜欢技术的小伙伴和我交流,微信1296386616

参考资料:

为什么HTTPS比HTTP更安全? blog.fundebug.com/2019/04/26/… 浪里行舟

HTTPS 与 SSL 证书概要 www.runoob.com/w3cnote/htt… 菜鸟教程

你的网站还没HTTPS加密?全球加密流量比例已超九成 数安时代 www.163.com/dy/article/…