前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >TLS加密套件之密钥交换

TLS加密套件之密钥交换

原创
作者头像
西门呀在吹雪
发布于 2023-08-10 06:28:50
发布于 2023-08-10 06:28:50
9580
举报
文章被收录于专栏:架构之巅架构之巅
套件组成
套件组成

TLS是固定格式,一般在ng配置的时候是不需要配置TLS_这一部分的,直接从密钥交换开始算。

第一部分是密钥交换算法,常见的有DH、DHE、ECDHE等,目前支持前向加密的只有ECDHE和DHE算法,很多安全扫描里面提到的不支持AEAD就是在说这个套件。

DH 算法:

DH 交换密钥时就只有客户端的公钥是变化,而服务端公钥是不变的,那么随着时间延长,黑客就会截获海量的密钥协商过程的数据,因为密钥协商的过程有些数据是公开的,黑客就可以依据这些数据暴力破解出服务器的私钥,然后就可以计算出会话密钥了,于是之前截获的加密数据会被破解

DHE 算法

既然固定一方的私钥有被破解的风险,那么干脆就让双方的私钥在每次密钥交换通信时,都是随机生成的、临时的,这个方式也就是 DHE 算法,E 全称是 ephemeral(临时性的)。

所以,即使有个牛逼的黑客破解了某一次通信过程的私钥,其他通信过程的私钥仍然是安全的,因为每个通信过程的私钥都是没有任何关系的,都是独立的,这样就保证了「前向安全」

ECDHE 算法

DHE 算法由于计算性能不佳,因为需要做大量的乘法,为了提升 DHE 算法的性能,所以就出现了现在广泛用于密钥交换算法 —— ECDHE 算法。

ECDHE 算法是在 DHE 算法的基础上利用了 ECC 椭圆曲线特性,可以用更少的计算量计算出公钥,以及最终的会话密钥。

因为加密套件的第二个部分是针对证书的要求,所以

当服务器配置ECC证书时,加密套件只能选择ECDSA_XXX或者ECDH_XXX。

当服务器配置RSA证书时,只能选择RSA_XXX或者ECDHE_RSA_XXX形式的加密套件。

(这里解释下原因:如果RSA证书,那么密钥交换方式也是RSA的,肯定可以。密钥交换模式是ECDHE的话,由于ECDHE的密钥交换过程无需证书的实质性参与,所以RSA证书也可以和ECDHE一起工作;ECDHE的密钥交换方式可以参考我的另一篇博客;交换过程主要是client和server按照协商好的椭圆曲线去生成会话密钥,无需使用证书)

如果加密套件选择ECDH_RSA或者ECDH_ECDSA时:

由于ECDH加密套件默认表明了握手需要ECC证书(即ECC证书的公钥充当握手中server key exchange中的公钥,证书的私钥同样也是握手过程中的私钥,握手过程不需要server key exchange)

第二部分_RSA或者_ECDSA表明的是想要的服务器证书签名类型。

比如说服务器选择了ECDH_RSA加密套件,但是发送的证书却是ECDSA签名的证书,虽然说证书签名类型不影响整个握手,但是对于校验严格的客户端,这种情况可能会导致客户端断开链接。详见 RFC:https://tools.ietf.org/html/rfc4492#section-2.3

像ECDHE-RSA,表示证书必须是RSA签名的,证书里的公钥必须是RSA的公钥,可以用来给serve key exchange的内容进行RSA签名用。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
面试官你不要说我不懂TLS握手了
非对称加密主要用来保护对称加密密钥交换的安全性,一旦客户端和服务端交换密钥完成,即可使用密钥采用对称加密的方式进行通信。
shysh95
2021/11/25
7000
面试官你不要说我不懂TLS握手了
一文读懂https中密钥交换协议的原理及流程
http与https区别:HTTP 由于是明文传输,所以在安全性上存在以下三个风险:
绿盟科技研究通讯
2022/06/06
8.1K0
一文读懂https中密钥交换协议的原理及流程
基于 TLS 1.3的微信安全通信协议 mmtls 介绍(上)
张绍文
2017/07/20
19.8K1
基于 TLS 1.3的微信安全通信协议 mmtls 介绍(上)
【RSA】HTTPS中SSL/TLS握手时RSA前后端加密流程
SSL/TLS层在网络模型的位置,它属于应用层协议。接管应用层的数据加解密,并通过网络层发送给对方。
天天Lotay
2023/03/16
1.4K0
【RSA】HTTPS中SSL/TLS握手时RSA前后端加密流程
真正“搞”懂HTTPS协议18之TLS特性解析
  上一篇,我们讲了TLS的握手过程,我们参照的版本其实是TLS1.2。这个协议是2008年的老协议了,虽然它的价值不言而喻,但是毕竟年纪大了,不太能跟得上时代了。所以,经历了诸多磨难的TLS1.3在2018年也登场了,再次确立了信息安全领域的新标准。那我们先来看看TLS1.3有哪些改进。
zaking
2023/02/17
1.5K0
真正“搞”懂HTTPS协议18之TLS特性解析
几幅图,拿下 HTTPS
我很早之前写过一篇关于 HTTP 和 HTTPS 的文章,但对于 HTTPS 介绍还不够详细,只讲了比较基础的部分,所以这次我们再来深入一下 HTTPS,用实战抓包的方式,带大家再来窥探一次 HTTPS。
小林coding
2021/01/12
7170
几幅图,拿下  HTTPS
用WireShark简单看看SSL/TLS协议
HTTPS目前是网站标配,否则浏览器会提示链接不安全,同HTTP相比比,HTTPS提供安全通信,具体原因是多了个“S”层,或者说SSL层[Secure Sockets Layer],现在一般都是TLS[Transport Layer Security],它是HTTP明文通信变成安全加密通信的基础,SSL/TLS介于应用层和TCP层之间,从应用层数据进行加密再传输。安全的核心就在加密上:
看书的小蜗牛
2022/05/26
2.2K0
用WireShark简单看看SSL/TLS协议
这 HTTPS,真滴牛逼!
其中,RSA 是比较传统的密钥交换算法,它不具备前向安全的性质,因此现在很少服务器使用的。而 ECDHE 算法具有前向安全,所以被广泛使用。
小林coding
2021/01/26
1.7K0
TLS协议分析 (五) handshake协议 证书与密钥交换
当服务器确定了CipherSuite后,根据CipherSuite里面的认证算法,如果需要发送证书给客户端,那么就发送 Server Certificate消息给客户端。Server Certificate总是在ServerHello之后立即发送,所以在同一个RTT里。
用户8964349
2021/09/07
1.7K0
HTTPS 和 SSL/TLS 协议:密钥交换(密钥协商)算法及其原理
前一篇介绍了 SSL/TLS 的身份认证机制。这个机制是为了防止攻击者通过【篡改】网络传输数据,来假冒身份,以达到“中间人攻击/MITM”的目的。   而今天要聊的“密钥协商机制”是:(在身份认证的前提下)如何规避【偷窥】的风险。   通俗地说,即使有攻击者在偷窥你与服务器的网络传输,客户端(client)依然可以利用“密钥协商机制”与服务器端(server)协商出一个用来加密应用层数据的密钥(也称“会话密钥”)。
全栈程序员站长
2021/06/17
10.1K0
为什么我强烈建议你使用ECC 证书
本文包含三部分内容:1)简单介绍 ECC 证书是什么;2)介绍如何申请 ECC 证书;3)以 Nginx 为例介绍如何使用 ECC 证书。
Bug开发工程师
2019/05/05
11.8K1
为什么我强烈建议你使用ECC 证书
传输安全HTTPS
为什么要有 HTTPS?简单的回答是:“因为 HTTP 不安全”。HTTP 怎么不安全呢?
真正的飞鱼
2023/03/13
5350
传输安全HTTPS
【腾讯TMQ】从 wireshark 抓包开始学习 https
腾讯移动品质中心TMQ
2017/02/22
6.6K0
TLS握手:回顾1.2、迎接1.3
HTTPS或者说SSL or TLS现在都是老生常谈的东西了,为什么还要写这篇文章?
FB客服
2019/05/16
1.5K0
【HTTP】HTTPS TLS 1.2
在个人过去的读书笔记中已经介绍过一次,在这一篇文章中介绍了HTTP1.1的缺点,以及SSL、TLS的历史,之后介绍了有关SSL加密的主要加密方案:公开密钥加密 和 共享密钥加密,最后简单介绍了HTTPS的交互过程,但是书中的过程比较粗,这节我们讲细一点点。
阿东
2022/09/12
1.2K0
如何建立TLS连接?TLS握手失败可能这个原因!
签前面三个案例里的HTTP都没加密,使排查工作省去不少麻烦,抓包文件里直接就看清应用层信息。
JavaEdge
2023/07/25
1.4K0
如何建立TLS连接?TLS握手失败可能这个原因!
非对称密钥沉思系列(4):密钥交换
密钥交换,也有称作密钥协商,这套机制,最主要的作用是用来得到通信双方的临时会话密钥。
bowenerchen
2023/01/04
7.1K13
非对称密钥沉思系列(4):密钥交换
HTTPS 握手会影响性能吗?废话,肯定会
由裸数据传输的 HTTP 协议转成加密数据传输的 HTTPS 协议,给应用数据套了个「保护伞」,提高安全性的同时也带来了性能消耗。
小林coding
2022/10/27
1.2K0
HTTPS 握手会影响性能吗?废话,肯定会
HTTPS:网络安全攻坚战
我们知道,明文传输和不安全是HTTP的其中一个特点,但是随着越来越多机密的业务交易转移到线上,如银行转账、证券交易、在线支付、电商等,我们对传输的安全性有了更高的要求,为此,出现了HTTP的扩展:HTTPS,Hypertext Transfer Protocol Secure,超文本传输安全协议。
用户9282069
2021/12/13
4700
HTTP与HTTPS的区别,详细介绍[通俗易懂]
超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。
全栈程序员站长
2022/07/01
4.8K0
HTTP与HTTPS的区别,详细介绍[通俗易懂]
相关推荐
面试官你不要说我不懂TLS握手了
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文