参考:https://baike.baidu.com/item/HTTPS/285356?fr=aladdin
https://baijiahao.baidu.com/s?id=1685474345600994715&wfr=spider&for=pc
https://blog.csdn.net/qq_45901741/article/details/119223513
介绍
https,Hyper Text Transfer Protocol over SecureSocket Layer。
HTTPS 在HTTP 的基础下加入SSL/TSL,通过传输加密和身份认证保证了传输过程的安全性。
HTTPS 原理
① 客户端将它所支持的算法列表和一个用作产生密钥的随机数发送给服务器;
② 服务器从算法列表中选择一种加密算法,并将它和一份包含服务器公用密钥的证书发送给客户端;该证书还包含了用于认证目的的服务器标识,服务器同时还提供了一个用作产生密钥的随机数 [2] ;
③ 客户端对服务器的证书进行验证(有关验证证书,可以参考数字签名),并抽取服务器的公用密钥;然后,再产生一个称作 pre_master_secret 的随机密码串,并使用服务器的公用密钥对其进行加密(参考非对称加 / 解密),并将加密后的信息发送给服务器 ;
④ 客户端与服务器端根据 pre_master_secret 以及客户端与服务器的随机数值独立计算出加密和 MAC密钥(参考 DH密钥交换算法);
⑤ 客户端将所有握手消息的 MAC 值发送给服务器;
⑥ 服务器将所有握手消息的 MAC 值发送给客户端。