HTTPS 的概念、原理及工作机制

2018-12-24  本文已影响27人  christian_zs

本文主要介绍 HTTPS 概念、原理已经具体的交互方式。可以先了解一下相关知识HTTPS 基础知识(密钥、对称加密、非对称加密、数字签名、数字证书)

HTTPS 概念

HTTPS 工作原理

客户端和服务器端通过协商机制得到一个对称加密算法,就此双方使用该算法进行加密解密。从而解决了客户端与服务器端之间的通信安全问题。

SSL/TLS 交互过程

下面内容摘于 HTTPS 协议原理和流程深入理解HTTPS协议

目标访问地址 github 抓出包如下, TLSv1 就是加密层。

DK_BurNIng

1. 双方协商交互参数

客户端发送 ClientHello 消息,组成部分如下:

图片来源:DK_BurNIng

服务端响应 ServerHello 消息,组成部分如下:

图片来源:DK_BurNIng

2. 双方交换并验证证书

服务端和客户端都可以有证书(客户端证书只出现在对安全性要求极高的情形,比如银行向用户提供的U盾里就包含有客户端证书),以证明自己身份的真实性。
证书包含自己的名称、受信任的证书颁发机构(CA)和自己的公钥,这些证书通常基于 X.509
证书验证的依据是:双方都预先安装公信的根证书颁发机构证书,可使用它们来验证双方的证书的有效性。
需要注意的是,握手阶段的通信都是明文的。

双方生成 主密钥

图片来源:DK_BurNIng 生成主密钥

完成握手并开始交互

双方都使用“主密钥”作为加密和解密的密钥,完成握手。
此后,数据传输的记录层 (Record layer) 数据可以被随意压缩、加密,对方可以还原为普通的 HTTP 请求,进行交互。


图片来源:DK_BurNIng

主题流程

图片来源:王克锋

参考文章:
HTTPS 协议原理和流程
深入理解HTTPS协议
也许,这样理解HTTPS更容易

上一篇下一篇

猜你喜欢

热点阅读