http和https加密过程

在这里插入图片描述

http和https加密过程
Step1:客户端向服务端发送“ client hello ”消息,并按客户端设置的优先级列出客户端支持的所有加密套件,并发送一个随机数(用于后续生成会话密钥)

Step2:服务端向客户端发送“ server hello ”消息,并根据自己的优先级从客户端提供的加密套件中选取最佳匹配项,并向客户端发送会话 ID、服务端证书和又一个随机数。如果需要双向认证的话,服务端还会像客户端发送一个请求客户端证书的申请

Step3:客户端验证服务端证书

Step4:客户端从服务端证书中提取服务端的公钥,并用公钥加密一个随机数发送给服务端

Step5:如果是双向认证,客户端需要再发送用客户端私钥加密的一个随机数,以及客户端证书

Step6:如果需要双向认证,服务端验证客户端的证书

Step7:根据先前生成的多个共享的随机数,客户端和服务端各自生成会话密钥(正常情况下是一样的),然后通过密钥交换算法交换会话密钥,客户端先向服务端发送一个使用会话密钥加密的“ finished ”消息,此时客户端部分的 SSL/TLS 握手已经完成

Step8:服务端向客户端发送一个使用会话密钥加密的“finished”消息,此时服务端部分的 SSL/TLS 握手也完成了

Step9:开始 SSL/TLS 会话,通信中的所有数据都是使用批量加密算法和会话密钥加密的

完整性检验算法的运用:
在 SSL/TLS 会话中的数据会被分为一个个分片,每个分片经过压缩后会通过 MAC 算法计算一个哈希值并附加在尾部,用于接收方确定数据的完整性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值