当前位置: 首页 > news >正文

《深入浅出HTTPS​​​​​​​​​​​​​​​​​》读书笔记(22):密钥协商算法

《深入浅出HTTPS​​​​​​​​​​》读书笔记(22):密钥协商算法

密钥的管理和分配是个难题,尤其是生成一个动态密钥更难,而密钥协商算法就可以解决密钥分配、存储、传输等问题。

在网络通信中,为了加密解密数据,可以采用动态密钥,也叫作会话密钥,这个密钥有以下一些特点:

◎会话密钥的作用就是为了加密解密通信数据
◎在加密解密通信数据之前,客户端和服务器端需要协商出会话密钥
◎会话密钥的意思就是该密钥不用存储,一旦客户端和服务器端的连接关闭,该密钥就会消失

【RSA密钥协商算法】

◎客户端初始化连接服务器端,服务器发送RSA密钥对的公钥给客户端。

◎客户端生成一个随机值,这个值必须是随机的

◎客户端使用服务器RSA密钥对的公钥加密会话密钥,并发送给服务器端,由于攻击者没有服务器的私钥,所以无法解密会话密钥。

◎服务器端用它的私钥解密出会话密钥。

◎至此双方完成连接,接下来服务器端和客户端可以使用对称加密算法和会话密钥加密解密数据。

RSA密钥协商算法有几个优点:

◎每次连接阶段的会话密钥是不同的,无须存储到设备中,连接关闭后会话密钥就会消失。

◎每次连接中的会话密钥是不同的

◎虽然RSA运算很慢,但由于会话密钥长度相对很小,计算的是数据量并不大,所以性能消耗相对可控。

HTTPS本身也是借鉴了这个方案,只是在设计上更严谨。

RSA密钥协商算法也有缺点:

◎获取会话密钥过程其实并不能称为协商,完全是由客户端决定的,只能称为密钥传输。

◎最大的问题就是不能提供前向安全性。

http://www.lryc.cn/news/514429.html

相关文章:

  • kubernetes学习-Service
  • Springcloud项目-前后端联调(一)
  • 洛谷P1525 [NOIP2010 提高组] 关押罪犯(种子并查集基础)
  • 【算法刷题指南】模拟
  • 学习笔记078——Java Properties类使用详解
  • 若依使用 Undertow 替代 Tomcat 容器
  • 多输入多输出 | Matlab实现WOA-CNN鲸鱼算法优化卷积神经网络多输入多输出预测
  • Elasticsearch:基础概念
  • Spring MVC的@ResponseBody与@RequestBody
  • 智能商业分析 Quick BI
  • LUA基础语法
  • SpringBoot的pom.xml文件中,scope标签有几种配置?
  • Leetcode729: 我的日程安排表 I
  • 青少年编程与数学 02-006 前端开发框架VUE 02课题、创建工程
  • Redis的生态系统和社区支持
  • Tomcat解析
  • UML之组合与聚合
  • 数据结构理论篇(期末突击)
  • 《一文读懂PyTorch核心模块:开启深度学习之旅》
  • 摆脱Zotero存储限制:WebDAV结合内网穿透打造个人文献管理云平台
  • Flutter封装一个三方ViewPager学习
  • 服务器数据恢复—离线盘数超过热备盘数导致raidz阵列崩溃的数据恢复
  • nginx-nginx的缓存集成
  • 【Vim Masterclass 笔记01】Section 1:Course Overview + Section 2:Vim Quickstart
  • 【数据库系列】Spring Boot 中使用 MyBatis 详细指南
  • Azure Airflow 中配置错误可能会使整个集群受到攻击
  • Python跨年烟花
  • 【代码】Python|Windows 批量尝试密码去打开加密的 Word 文档(docx和doc)
  • java开发中注解汇总​​
  • C# 设计模式(结构型模式):外观模式