问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

HTTPS 的七次握手

发布网友 发布时间:2023-04-02 20:18

我来回答

1个回答

热心网友 时间:2024-11-24 09:34

前面就知道,HTTP是基于TCP的,而TCP建立连接需要3次握手,而印象中HTTPS建立连接需要7次握手,对这一部分比较模糊,就对HTTPS的握手过程进行了一下梳理。
HTTPS的7次握手,其实是包含TCP建立连接的三次握手,加上SSL/TLS建立连接的四次握手,且SSL/TLS建立连接是基于TCP的连接进行的。
TCP的连接建立一般都比较熟悉,这里只介绍下TLS的建立过程。

四次交互,每次交互可能会发多条消息给对方

1.1.1 ClientHello Message
客户端向服务端发送client key,TLS版本、加密组件列表、压缩算法
client key: 用于后续对称加密的计算因子
TLS 版本:告诉服务端,当前client支持的TLS协议版本,服务端会从中选择一个,在下次交互时告诉客户端。
加密组件: 告诉服务端,当前client支持的加密组件,服务端会从中选择一个,在下次交互时告诉客户端。
压缩算法:告诉服务端,当前client支持的压缩算法,服务端会从中选择一个,在下次交互时告诉客户端。

1.2.1 ServerHello Message
发送随机数server key、TLS 版本、服务端选择的加密组件、服务端选择的压缩算法
server key : 用于后续对称加密的计算因子
TLS 版本 :服务端从客户端支持TLS版本列表中选择的协议版本,一般会优先选择安全性较高的版本
加密组件 : 服务端从客户端支持加密组件列表中选择的加密组件,一般会优先选择安全性较高的组件
压缩算法 :服务端从客户端支持压缩算法列表中选择的压缩算法
1.2.2 Server Certificate
发送服务端证书
客户端在受到证书后,会对其证书的有效性进行验证,从而确认服务端身份。
1.2.3 CertificateRequest Message
发送客户端证书验证请求(可选)
对于服务端需要验证客户端身份的场景,发送此请求,让客户端将客户端证书发给服务端。
1.2.4 ServerHelloDone message
告诉客户端此次发送的内容已完成

在发送消息前,客户端会对1.2.2发送的服务端证书进行校验,校验通过后,发送后面的消息。
1.3.1 Client Certificate
发送客户端证书(可选)
如果收1.2.4的CertificateRequest Message,则将客户端证书发给对方
1.3.2 ClientKeyExchange message
发送第三个密钥 Pre-master Secret,用服务端证书公钥加密过的一个随机数
1.3.3 ChangeCipherSpec Message
告诉服务端,以后的通信都适用协商好的加密方法和密钥进行加密
1.3.4 Finished Message
客户端握手结束通知,用对称密钥加密。这个报文也是验证消息,是前面发送的所有内容的哈希值,用来供服务器校验。

1.4.1 ChangeCipherSpec message
加密约定改变通知
告诉客户端,以后的通信都适用协商好的加密方法和密钥进行加密
1.4.2 Finished Message
服务端握手结束通知,用对称密钥加密。这个报文也是验证消息,是前面发送的所有内容的哈希值,用来供客户器校验。

对称加密的加密因子通过三次交互来协调的,分别如下:
[明文]ClientHello Message中的client key
[明文]ServerHello Message中的server key
[RSA]ClientKeyExchange Message中的Pre-master Secret,客户端发送时使用服务端证书包含的公钥对其进行加密,服务端在收到此消息后使用私钥解密
两端分别通过client key,server key和Pre-master Secret生成master secret,用于加密后续通信内容。

参考文章:
Traffic Analysis of an SSL/TLS Session
对称加密算法与TLS

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 不开一次保时捷macan,就不知道它与奥迪Q5L的差距有多大 百公里加速5.3秒,有了V6的加持,这辆保时捷Macan可不简单! 哈弗F7x和保时捷Macan哪个加速更快 macan动力怎么样 哪吒的武器有哪些 恋爱七周年,送什么样的鲜花比较好 和男友恋爱7年了, 恋爱纪念日送男友什么花呀!!! 10万理财最多亏了多少 智能家居代理经销一般几折拿货 最重要用英语怎么说? 最重要的英文单词是什么? 普洱茶和绿梅花、杭白菊一起泡茶有相克吗? 中茶大红印和梅花饼哪个好 应收账款贷方表示什么意思 航空最好的5个大学 中国航空类大学排名 马鞍山农商银行有失业凤险吗 马鞍山农商行辞职违约金 马鞍山农村商业银行正规吗安全吗 《皓衣行》演员集体翻车?罗云熙干瘪显老,陈瑶老了十岁 思科CCIE 网络安全技术SSL 全面详解-ielab 网络中台主要解决哪些方面问题 那个模拟器能玩暗黑之镰 暗黑破坏神3模拟器什么意思 暗黑3模拟器版本可以升级吗 建信鑫怡90天什么时候可赎回 自动变速箱故障修理办法 嘉年华自动挡变速箱电脑故障 性激素六项包括甲状腺吗 内蒙古特岗教师报名时间多会儿? 重庆大学跟国防科技大学哪个好 国防科技大学厉害还是重庆大学厉害 重庆有国防科技大学吗 疫情期间,学生如何做到劳逸结合? qq飞车秋名山地图在哪 免费七年级外研版英语视频教程 外研版英语七年级上册M6 U2的原版课文 外研版七年级上册英语课文 急需!!!事后重赏!!! 梦见水把苹果冲坑里的预兆 谁知道威海家家悦贷款公司的电话