HTTPS数据传输过程简介

Posted pyqb

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTPS数据传输过程简介相关的知识,希望对你有一定的参考价值。

HTTPS数据传输过程

①客户端发起HTTPS连接握手

②服务端收到HTTPS握手连接请求,与客户建立握手过程,和TCP的三次握手类似,并发送一系列的加密算法组合给客户端,与客户端协商加密算法组合

③客户端收到这一系列的组合,从中选择一个自己能够支持的并且加密级别最高的加密算法组合,通告给服务端

④服务端收到并确认客户端选择的加密组合,并将公钥证书发送给客户端,(这个公钥证书使用了非对称加密算法,使用这个公钥加密的信息只能由私钥解开,而这个私钥只有公钥的颁布者也就是服务端拥有,也就是说客户端用公钥加密的信息,只能有拥有私钥的服务端解开)

⑤客户端收到公钥证书之后,临时随机生成一个对称密钥用来对数据加密,用公钥对生成的对称密钥进行加密得到对称密钥加密密文,这个对称密钥加密密文只能通过服务端的私钥解开

⑥服务端收到对称密钥加密密文,用私钥解开得到对称密钥

⑦客户端开始对数据加密,先用对称密钥加密数据得到数据密文,再对数据密文进行hash计算得到一个hash值,再将这个hash值用公钥加密得到hash值密文,然后将数据密文、hash值、hash值密文这三个部分一起发送给服务端

⑧服务端收到数据密文、hash值、hash值密文,首先用私钥解开hash值密文,结果和收到的hash值对比验证hash值是否在传输的过程中被篡改,然后对数据密文进行hash计算,结果和收到的hash值对比验证数据密文在传输过程中被篡改。通过这两步验证传输数据没有被改变,再用对称加密密钥对数据密文加密得到原数据内容

以上是关于HTTPS数据传输过程简介的主要内容,如果未能解决你的问题,请参考以下文章

Nginx HTTPS协议简介

https请求过程

网络安全HTTPS为什么比较安全

https原理:证书传递验证和数据加密解密过程解析

MapReduce简介和过程浅析

关于HTTPS的使用简介