HTTPS RSA握手和ECDHE握手解析

HTTPS密钥交换算法

HTTPS RSA握手解析

TLS握手过程

HTTPS引入SSL/TLS协议解决了HTTP不安全的问题:易被窃听,易被篡改,易被冒充.具体解决过程参考[HTTP面试题:HTTPS与HTTP:HTTPS解决了HTTP的哪些问题]

不同的密钥交换算法,TLS的握手过程也会发生一些变化.常见的密钥交换算法有RSA,ECDHE.

RSA握手过程

  1. TLS第一次握手

    客户端会发送一个[Client Hello]的消息,消息里面有随机数(用于之后会话密钥的生成),客户端支持的TLS版本号,支持的密码套件列表.

  2. TLS第二次握手

    服务器收到客户端的[Client Hello]消息,会确认消息中的TLS版本号是否支持,从密码套件列表中选出一个密码套件,并生成一个随机数,服务器会向客户端发送响应报文,报文中的消息包括生成的随机数(用于之后会话密钥的生成),选择的版本号和选择的密码套件以及用于验证自身身份的身份证书.

    密码套件的基本形式:[密钥交换算法+签名算法+对称加密算法+摘要算法]

    如:“Cipher Suite: TLS_RSA_WITH_AES_128_GCM_SHA256”,表示的含义是密钥交换算法和签名算法采用RSA,对称加密算法选择AES,生成的密钥长度为128位,摘要算法为SHA256.

    这个随机数也是经过公钥加密发送的.这个公钥时客户端的公钥

    具体过程:首先客户端是拥有服务器的公钥1的,然后随机生成一对公钥2和私钥2,然后客户端用公钥1加密公钥2发送给服务器,服务器用私钥1解密得到客户端的公钥2,随机数就是用公钥2加密发送的,客户端可以用私钥2解密得到随机数

  3. 客户端验证证书

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

囚蕤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值