您的位置:首页 > 新闻 > 热点要闻 > 桂平网站设计_国家企业信息公示网官网(中国)_精准的搜索引擎优化_百度网络小说排行榜

桂平网站设计_国家企业信息公示网官网(中国)_精准的搜索引擎优化_百度网络小说排行榜

2025/1/5 17:38:26 来源:https://blog.csdn.net/qq_62097431/article/details/144217480  浏览:    关键词:桂平网站设计_国家企业信息公示网官网(中国)_精准的搜索引擎优化_百度网络小说排行榜
桂平网站设计_国家企业信息公示网官网(中国)_精准的搜索引擎优化_百度网络小说排行榜
简单来说

HTTPS也就是在HTTP基础上加上了SSL/TLS,SSL是TLS的前身,

在建立TCP三次握手后,建立SSL/TLS四次握手,也是主要的加密认证过程。

1、首先客户端先向服务端打招呼,并发送自己支持的TLS版本,选择的加密套件(支持的加密算法列表),以及随机生成的第1个随机数。对应1

2、接着服务端也向客户端打招呼,也发送自己支持的TLS版本,选择的加密套件,以及随机生成的第2个随机数。对应2

3、接着服务端再发送证书和公钥给客户端,{这里注意的是,服务器会把自己的公钥注册到CA(第三方证书机构),然后CA拿自己的私钥对服务器的公钥进行处理并颁发数字证书。}都发送完毕,就告知客户端。对应3,4,5

4、客户端收到服务端一系列响应后,确认数字证书和公钥,没有问题后向服务端发送,随机生成第三个随机数,称为预主密钥,不会直接发送,而是用刚刚收到的公钥进行加密后在发送出去。(发送握手结束通知,表示客户端的握手结束)对应6

5、服务端收到加密后的预主密钥,用自己的私钥解密,这样就只有客户端和服务端知道预主密钥(除非服务端私钥)

6、双方利用预主密钥,第1随机数,第2随机数,计算出会话密钥,上述的就是非对称性加密,而后面就是对称性加密,都是用会话密钥,一直使用非对称性加密消耗大。

7、最后双方就用该密钥进行通信。

  • 如果在这个过程中,有人截获了通信内容,但由于没有会话密钥,所以无法解密。

    当通信结束后,连接会被关闭,会话密钥也会被销毁,下次通信会重新生成一个会话密钥。

SSL/TLS四次握手再理解

SSL/TLS握手通常需要4次来完成,以下是具体的握手过程:

  1. 客户端发送Client Hello消息:客户端向服务器发起连接请求,发送Client Hello消息。此消息中包含客户端支持的TLS协议版本、一个随机数(Client Random)以及客户端支持的加密方法列表,如RSA公钥加密等。

  2. 服务器发送Server Hello消息:服务器收到客户端请求后,回应Server Hello消息。消息中包含确认使用的TLS协议版本、一个随机数(Server Random)、从客户端提供的加密方法列表中选择的加密方法以及服务器的数字证书。数字证书是由专业的证书服务机构CA颁发,证书中包含服务器的公钥,CA机构使用自己的私钥将服务器公钥进行加密 。

  3. 客户端发送密钥交换信息和握手结束通知:客户端收到服务器回应以后,首先验证服务器证书,如果证书受信任,或者是用户接受了不受信的证书,浏览器会生成一串新的随机数(Pre-Master Secret),并用证书中提供的公钥加密,发送给服务器。同时,客户端会根据前面的三个随机数,通过一定的算法来生成“会话密钥”,这个会话密钥就是接下来双方进行对称加密使用的密钥。最后,客户端还会发送握手结束通知,通知消息中会把之前所有内容的数据做个摘要,用来供服务端校验。

  4. 服务器发送握手结束通知:服务器收到客户端的回复后,通过协商的加密算法将客户端的第三个随机数解密出来,然后使用跟客户端同样的算法,根据前面的三个随机数计算出“会话密钥”。同时,服务器也会发送握手结束通知,通知消息中会把之前所有内容的数据做个摘要,用来供客户端校验。 至此,整个SSL/TLS握手阶段全部结束,接下来客户端与服务器进入加密通信阶段,使用协商好的会话密钥对数据进行对称加密传输.

摘要算法

也就是验证上述交互的信息,与对方发送过来的消息是否一致。

客户端在向服务器端发送明文的时候,会通过摘要算法计算出明文的摘要,为了通俗来讲,我们将计算出的摘要比喻成身份证。然后客户端将明文和身份证通过密钥进行加密传给服务器端。服务器端会通过密钥解密客户端发来的数据,此时明文已经被解密出来,身份证呢?服务器端也会使用摘要算法计算出传来数据的身份证,然后将计算出的身份证和传过来的身份证进行比较,如果身份证相同,那么就说明数据是完整的。

一、摘要的含义与作用

在 SSL/TLS 握手中提到的 “摘要”,准确来说是一种基于哈希(Hash)算法生成的数据摘要(也常被称为消息摘要、数字摘要等)。哈希算法是一种单向的、将任意长度的数据转换为固定长度的哈希值(摘要)的函数,常见的哈希算法有 MD5(已逐渐不推荐使用,安全性存在一定问题)、SHA-1(也存在安全性隐患,使用场景受限)、SHA-256 等。

例如,将一段较长的文本内容通过 SHA-256 算法处理后,会得到一个 256 位的二进制数据,通常以十六进制字符串表示,这个就是对应的摘要。其主要作用在于验证数据的完整性,即确保在数据传输过程中数据没有被篡改。因为只要原始数据哪怕有一点点变化,重新计算出来的摘要就会和原来的摘要有很大不同。

在 SSL/TLS 握手过程中,客户端和服务器在发送握手结束通知时生成的摘要,是对之前整个握手过程交互的所有消息内容进行哈希运算得到的结果,它代表了这些消息数据的一个 “指纹” 特征。

二、客户端校验服务器信息及过程

  • 校验时机与内容:

    • 客户端在校验服务器信息时,主要在收到服务器发送的 Server Hello 消息以及后续的数字证书阶段开始进行相关操作。它需要验证服务器返回的 TLS 协议版本是否是自身支持且符合安全要求的,确认服务器选择的加密方法是否能被自己处理,最重要的是对服务器的数字证书进行验证。

  • 校验步骤:

    • 证书合法性验证:客户端会首先查看证书的颁发机构(CA)是否是自己信任的权威机构。操作系统、浏览器等通常会内置一些知名 CA 的根证书,通过这些根证书对应的公钥,可以验证服务器证书是否是由合法的 CA 颁发的(验证证书上的数字签名,数字签名是 CA 用自己的私钥对服务器公钥等信息加密后的内容,客户端用 CA 公钥解密后能对比验证其真实性)。如果证书不是来自信任的 CA,可能会提示用户是否继续信任该证书等情况。

    • 证书有效期验证:检查证书是否在有效期内,证书有明确的起始时间和截止时间,若当前时间不在这个区间内,客户端会认为证书无效,拒绝继续连接。

    • 证书主体信息验证:确认证书中所标识的服务器域名等主体信息是否与实际连接的服务器相符,防止出现中间人利用其他服务器的证书来冒充的情况。例如,客户端请求的是 www.example.com 网站,服务器返回的证书主体名称必须也是 www.example.com 才能通过验证。

    • 证书吊销检查(可选):有些情况下,客户端还可能会检查证书是否已经被证书颁发机构吊销,通过查询在线的证书吊销列表(CRL)或者使用更先进的在线证书状态协议(OCSP)等方式来确认,不过这一步并非在所有场景下都会严格执行,因为涉及额外的网络查询等成本。

三、服务器校验客户端信息及过程

  • 校验时机与内容:

    • 服务器在校验客户端信息主要是在收到客户端发送的密钥交换信息以及握手结束通知之后进行。重点是对客户端生成的握手结束通知里包含的摘要以及整个交互过程的完整性进行确认。

  • 校验步骤:

    • 摘要验证:服务器收到客户端的握手结束通知后,会根据之前双方交互的所有消息内容(从客户端最初的 Client Hello 开始,到客户端发来的密钥交换信息等),按照同样的哈希算法重新计算一个摘要,然后将这个重新计算的摘要和客户端发送过来的摘要进行对比。如果二者一致,说明客户端收到的消息和服务器发送的消息在传输过程中是完整且没有被篡改的;如果不一致,则说明数据可能出现了问题,连接可能会被拒绝。

    • 随机数验证与会话密钥确认:服务器通过验证客户端发来的经过公钥加密的第三个随机数(Pre-Master Secret)能否成功解密,以及根据三个随机数(自身生成的 Server Random、客户端发来的 Client Random、解密后的 Pre-Master Secret)按照约定算法能否生成和客户端一致的会话密钥来进一步确认客户端的合法性以及整个握手过程的准确性。如果这些环节都能匹配上,说明客户端和服务器之间完成了安全可靠的握手流程,后续就可以进入加密通信阶段。

通过上述在 SSL/TLS 握手中客户端和服务器相互校验对方信息以及对摘要的运用,确保了通信双方身份的真实性、数据传输的完整性以及后续加密通信所使用密钥的一致性,从而建立起安全可靠的加密通信连接。

参考:

HTTPS是什么?加密原理和证书。SSL/TLS握手过程_哔哩哔哩_bilibili

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com