新闻详情

新闻详情

首页 / 资讯中心 / 详情

【2018-04-28】TLS简单笔记-SSL中的RSA、DHE、ECDHE、ECDH流程与区别

发布时间:2026/9/30 7:16:51来源:尧图网络
【2018-04-28】TLS简单笔记-SSL中的RSA、DHE、ECDHE、ECDH流程与区别
[历史归档]本文原发布于 cstriker1407.info 个人博客内容为历史存档仅供参考。发布时间2018-04-28 标题TLS简单笔记-SSL中的RSA、DHE、ECDHE、ECDH流程与区别分类编程 标签tlsTLS简单笔记-RSA/DHE/ECDHE/ECDH1RSA密钥交换算法2DHE密钥交换算法3ECDHE密钥交换算法4ECDHE与ECDH算法的区别5ECDHE与RSA的区别转自《 https://blog.csdn.net/mrpre/article/details/78025940 》在不安全信道上构建安全信道这是SSL的核心所谓安全包括身份认证、数据完整性、数据加密性。而非对称算法在SSL中的运用就是为了协商一个密钥密钥的目的就是为了后续数据能够被加密而加密密钥有且只有通信双方知道。通常网络上传输的数据一般都被认为是可见的。端对端传输的数据不仅经过交换机、路由器还经过各种DPI、IPS、WAF等审计安全设备甚至可能经过负载均衡等反向代理设备只要在任何一个环节抓包都可以轻松获取网络上传输的数据。所以如果A和B需要加密通信即通信的内容需要使用有且只有A和B知道的“密钥”加密那么必然需要传输这个“密钥”也就是说“密钥”本身需要在不安全传输的信道传输如果简单的传输“密钥”那么这个“密钥”就不再保密任何第三方都能获取“密钥”即任何第三方都能解密A和B发出来的密文数据。非对称算法就是为了解决“密钥”传输A和B共享的问题。1RSA密钥交换算法详细原理请参考我的这篇博客http://blog.csdn.net/mrpre/article/details/52609087本篇不讲解具体原理而是讲解交互过程。RSA的核心涉及公钥私钥的概念1使用公钥加密的数据只有私钥能解密2使用私钥加密的数据只有公钥能解密我们构建这么一种场景服务器配置有公钥私钥客户端是离散的。RSA算法流程文字描述如下1任意客户端对服务器发起请求服务器首先发回复自己的公钥到客户端公钥明文传输。2客户端使用随机数算法生成一个密钥S使用收到的公钥进行加密生成C把C发送到服务器。3服务器收到C使用公钥对应的私钥进行解密得到S。4上述交换步骤后客户端和服务器都得到了SS为密钥预主密钥。我们来看看上述过程中为何第三方无法得到S。首先第一步后客户端有公钥服务器有公钥和私钥。由于公钥是明文传输的所以可以假设第三方也有公钥。第二步后客户端发送C服务器能够使用自己的私钥进行解密而第三方只有公钥无法解密。即第三方无法计算得到S。上述中服务器发送的公钥在SSL中是通过certificate报文发送的certificate中的包含了公钥。C是通过Client key exchange报文发送的。其实在实际SSL实际设计中S其实并没有直接被当成密钥加密这里为了描述原理省去了对S后续进行KDF等操作并不影响实际理解RSA。RSA有一个问题就是如果私钥泄漏即私钥被第三方知道那么第三方就能从C中解密得到S即只要保存所有的A和B的报文等到私钥被泄漏的那一天或者有办法快从C中计算S的方法出现量子计算机分解大素数那么A和B就没有什么私密性可言了。这就是所谓的前向不安全私钥参与了密钥交换安全性取决于私钥是否安全保存。2DHE密钥交换算法详细原理请参考我的这篇博客http://blog.csdn.net/mrpre/article/details/52608867本篇不讲解具体原理而是讲解交互过程。DHE算法流程文字描述如下1客户端计算一个随机值Xa使用Xa作为指数即计算Pa q^Xa mod p其中q和p是全世界公认的一对值。客户端把Pa发送至服务器Xa作为自己私钥仅且自己知道。2服务器和客户端计算流程一样生成一个随机值Xb使用Xb作为指数计算Pb q^Xb mod p将结果Pb发送至客户端Xb仅自己保存。3客户端收到Pb后计算Sa Pb ^Xa mod p服务器收到Pa后计算Sb Pa^Xb mod p4算法保证了Sa Sb S故密钥交换成功S为密钥预主密钥。DHE密钥交换握手流程图上述图中Sa和Sb得到的结果是相同的即记为S。上述密钥交换流程中和RSA密钥交换有较大不同DHE密钥交换时服务器私钥没有参与进来。也就是说私钥即使泄漏也不会导致会话加密密钥S被第三方解密。实际使用过程中私钥的功能被削弱到用来身份认证上图中没有画出。上图中DHE参数和Pb都是通过server key exchange发送给客户端Pa通过client key exchange发送给服务器。server key exchange的结尾处需要使用服务器私钥对该报文本身进行签名以表明自己拥有私钥图中为了表明私钥没有参与密钥计算没有画出但不影响理解DHE算法。3ECDHE密钥交换算法详细原理请参考我的这几片篇博客http://blog.csdn.net/mrpre/article/details/72850486http://blog.csdn.net/mrpre/article/details/72850598http://blog.csdn.net/mrpre/article/details/72850644本篇不讲解具体原理而是讲解交互过程。只要理解DHE密钥交换原理那么理解ECDHE密钥交换原理其实并不难如果不想深究的话。ECDHE的运算是把DHE中模幂运算替换成了点乘运算速度更快可逆更难。ECDHE算法流程文字描述如下1客户端随机生成随机值Ra计算Pa(x, y) Ra * Q(x, y)Q(x, y)为全世界公认的某个椭圆曲线算法的基点。将Pa(x, y)发送至服务器。2服务器随机生成随机值Rb计算Pb(x,y) Rb * Q(x, y)。将Pb(x, y)发送至客户端。3客户端计算Sa(x, y) Ra * Pb(x, y)服务器计算Sb(x, y) Rb *Pa(x, y)4算法保证了Sa Sb S提取其中的S的x向量作为密钥预主密钥。ECDHE密钥交换握手流程图SSL协议中上图中椭圆曲线名和Pb通过server key exchange报文发送Pa通过client key exchange报文发送。4ECDHE与ECDH算法的区别字面少了一个EE代表了“临时”即在握手流程中作为服务器端ECDH少了一步计算Pb的过程Pb用证书中的公钥代替而证书对应的私钥就是Xb。由此可见使用ECDH密钥交换算法服务器必须采用ECC证书服务器不发送server key exchange报文因为发送certificate报文时证书本身就包含了Rb信息。5ECDHE与RSA的区别ECDHEDHE算法属于DH类密钥交换算法 私钥不参与密钥的协商故即使私钥泄漏客户端和服务器之间加密的报文都无法被解密这叫 前向安全forward secrity。由于ECDHE每条会话都重新计算一个密钥Ra、Rb故一条会话被解密后其他会话仍旧安全。然而ECDH算法服务器端的私钥是固定的即证书的私钥作为Rb故ECDH不被认为前向安全因为私钥泄漏相当于Rb泄漏Rb泄漏导致会话密钥可被第三方计算。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

C++模板元编程:从看懂到敢在生产环境使用 2026/9/30 8:15:46

C++模板元编程:从看懂到敢在生产环境使用

“C模板元编程”这几个字,放在任何技术社区里都能劝退一半人,剩下的另一半里还有一大半是“看过教程但一写就废”。这玩意儿可能是整个 C 里最反直觉的一块——你写的不是程序,而是让编译器替你写程序;你调的不是运行时栈&#xf…

阅读更多 →
计算机网络实验报告模板:Wireshark抓包与TCP三次握手实战指南 2026/9/30 8:15:46

计算机网络实验报告模板:Wireshark抓包与TCP三次握手实战指南

简介:这份中北大学计算机网络实验报告面向高校计算机相关专业学生,用于完成课程实验与撰写规范报告,覆盖网络命令、抓包分析与以太网帧结构三大实验模块。包内共1个doc文档,压缩包约5.04MB,内容按实验一至实验四依次编…

阅读更多 →
手写STL list:深入理解双向循环链表、迭代器与内存管理 2026/9/30 8:15:46

手写STL list:深入理解双向循环链表、迭代器与内存管理

1. 先聊清楚:list在STL里到底是什么角色,为什么值得手动模拟凡是学过一点C的人,都会接触到vector和list这两个容器。很多人一开始根本分不清它们的区别,觉得都是"存东西的数组",直到某天面试被问到"vec…

阅读更多 →
单链表回文判断:快慢指针定位与后半段反转详解 2026/9/30 8:15:45

单链表回文判断:快慢指针定位与后半段反转详解

单链表回文判断这个问题,我在面试实战里遇到的次数不少,工作后也常拿它来给组里的新人练手。它不像红黑树、图算法那么唬人,但恰恰是这种“看起来简单、写起来全是坑”的问题,最能看出你对链表指针操作是否真的熟练。判断一个单链…

阅读更多 →
华为云数据中心方案落地指南:从57页PPT到机房改造与云平台搭建 2026/9/30 8:15:45

华为云数据中心方案落地指南:从57页PPT到机房改造与云平台搭建

简介:这份PPT面向企业IT架构师、云计算运维人员及数据中心规划者,系统梳理华为云数据中心的整体解决方案。内容从云数据发展趋势切入,剖析传统数据中心在资源利用率、能耗、业务上线周期等方面的瓶颈,进而展开华为云数据中心解决方…

阅读更多 →
Model-Optimizer:打通训练到部署的模型压缩与推理加速实战指南 2026/9/30 8:15:32

Model-Optimizer:打通训练到部署的模型压缩与推理加速实战指南

手头这个“Model-Optimizer”项目,是我基于日常推理部署需求攒的一个模型优化工具集。模型训练完只是第一步,真正棘手的是怎么把它塞进生产环境,还要跑得快、省显存、不崩精度。这个项目解决的就是训练到部署之间的那段空白:不折腾…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉