ecdhe秘钥交换/TLS1.2/TLS1.3

#、ecdhe秘钥交换过程
1)dh秘钥交换缺点:大数乘法运算,很慢
2)ecdh:基于椭圆曲线(ecc)的秘钥交换,基于“加”运算,速度快。
##第一步:client hello
客户单吧所有秘钥套件发给服务器
在这里插入图片描述
##第二步:server hello
服务器选择 TSL_ECDHE_RSA_AES_128_GCM_SHA256秘钥套件
ECDHE:秘钥交换算法
RSA:签名算法
AES_128_GCM:使用AES堆成秘钥加密,强度128,模式GCM
SHA256:MAC/prf

在这里插入图片描述

##第三步:server hello done
可以看到椭圆曲线插件:curve type等,,
同时服务器生成一对公私钥,将公钥发给客户端
注意:此时发送的公钥是服务器根据ecdh随机生成的公私钥,非服务器公钥证书
在这里插入图片描述
##第四步:client key excenge
客户端根据自己的信息将生成的公钥发给服务器
在这里插入图片描述
##第五步,
客户端和服务器就可以根据已知信息,各自生成相同的秘钥加密数据传输了。

#二、TLS1.3优点
##1、TLS1.3使用升级版的ecc
使用的是x25519
在这里插入图片描述##2 tls1.3握手
1)tls1.2握手如下图
① client:client heloo
②:server hello 四步骤,一个包完成
server hello 选择秘钥套件
server certificates:发送服务器端证书
serverkey exchge: 发送随机生成的公钥给客户端
server hello done
③:客户端 clientkey exchge
客户端发送随机生成的公钥给服务器
第⑦步生成秘钥,两边加密通讯
整个握手过程需要2个rtt
在这里插入图片描述

2)TLS 1.3支持套件
安全套件支持减少,安全性增加

在这里插入图片描述
3)tls1.3 握手
和tls1.2不同,tls1.3client hello就把publickey发送给server了。(五种公钥都生成,由服务器选择)
server 回包发送自己的pubic key,
实现了 1RTT握手

在这里插入图片描述

##3 tls 1.3seesion 缓存(session 复用)
session缓存:第一次握手后服务器会生成seesion id,传给客户端。一定时间内,客户端携带session id访问服务器,服务器取到对应的加密秘钥,服务器就可以和客户端协商使用上次的秘钥加密数据,
如下图:第二次访问百度,是有seesionid的,第一次没有
在这里插入图片描述
蓝色标记,服务器表示 使用上次的key
在这里插入图片描述
##4 TLS1.3 0rtt如何实现
第一次握手的时候,就携带数据
实际握手没有占用任何rtt叫0 rtt
基于seesion id缓存来实现。
在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在安装SSL/TLS 1.2之前,需要先确保您的操作系统和Web服务器支持SSL/TLS 1.2协议。在此之前,您需要了解您所使用的操作系统和Web服务器的版本和类型,以便正确地安装SSL/TLS 1.2。 下面是一些通用的步骤,用于在Linux系统上安装SSL/TLS 1.2: 1. 安装OpenSSL库:在Linux系统上,OpenSSL是一个常用的加密库,用于支持SSL/TLS协议。您可以使用您的发行版的软件包管理器来安装OpenSSL库。例如,在Debian和Ubuntu上,您可以使用以下命令: ``` sudo apt-get update sudo apt-get install openssl ``` 2. 配置Web服务器:一旦安装了OpenSSL库,您需要配置Web服务器以启用SSL/TLS 1.2协议。具体来说,您需要在Web服务器的配置文件中添加以下行,以启用SSL/TLS 1.2协议: ``` SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE- RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128- GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128- SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA- AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE- RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA- AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS- AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES: !MD5:!PSK ``` 这些配置将禁用不安全的SSL/TLS协议版本和密码套件,并启用仅支持SSL/TLS 1.2的密码套件。 3. 重新启动Web服务器:一旦您完成了Web服务器的配置文件,您需要重新启动Web服务器以应用更改。例如,在Apache服务器上,您可以使用以下命令重启服务器: ``` sudo service apache2 restart ``` 通过以上步骤,您可以在Linux系统上安装SSL/TLS 1.2,并启用更安全的加密套件。请注意,这只是通用的步骤,不同的操作系统和Web服务器可能需要不同的安装和配置步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值