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

Fast DDS Security--两方秘钥存在的问题

上篇中介绍了Fast DDS Security中秘钥交换算法--DH算法。但是DH算法在实际应用中却存在一个问题:算力浪费以及带宽浪费。

原因是:DH算法是一个两方秘钥算法,即每两个Participant之间必须协商一个秘钥。假设现在有一个Participant A 作为Publisher, 有三个Participant(分别为B C D)作为Subscriber。那么根据DH算法,A必须与B C D分别协商秘钥,记分SAB, SAC, SAD。 如下所示:

那么假设现在A正在发布某个Topic的数据,发给Subscriber B的数据将用SAB进行加密。因为DDS实际上是通过广播的方式发送,那么在网络上,Subscriber C以及Subscriber D也都将收到用SAB加密的数据(带宽浪费!)。但是对于Subscriber C以及Subscriber D来说,它们会尝试着去解密这个数据包,但是解密失败(算力浪费!)。同理,对于Publisher往Subscriber C, Subscriber D发送时,也各自会有两份数据的浪费。如下图所示(实线代表真正有用的数据包,虚线代表浪费的数据包):

那么,出于对算力的节约以及带宽的解决角度,期望的应该是所有Participant之间共享一个通信秘钥。秘钥只用协商一次,如下所示:

如果是这样,数据总共也只需要发3份,而不是9份,不存在带宽和算力的浪费。如下图所示:

那么具体应该如何实现呢?下一篇介绍。

http://www.dtcms.com/a/61189.html

相关文章:

  • 【Linux系统】进程状态:一个进程的轮回史
  • 技术聚焦:Debezium 如何将数据库数据精准注入 Kafka
  • Ubuntu 22.04 升级到 Ubuntu 24.04 全流程指南
  • 群晖DS223 Docker搭建为知笔记
  • 【每日八股】Golang篇(三):关键字(下)
  • 【论文解读】《START: Self-taught Reasoner with Tools》
  • 2025年网络安全(黑客技术)120天自学手册
  • 面向高质量视频生成的扩散模型方法-算法、架构与实现【附核心代码】
  • SQLAlchemy系列教程:如何执行原生SQL
  • 【网络安全 | 漏洞挖掘】$15,000——通过持久token获取个人身份信息(PII)
  • 小智智能体语言大模型硬件软件开发
  • Linux 使用 docker 安装 Gogs 公司私有 Git 仓库
  • vue打包编译【自动删除node_modules下的.cache缓存文件夹】
  • Linux 系统负载过高的排查思路
  • 【10】单片机编程核心技巧:指令周期与晶振频率
  • SSTI注入笔记
  • QT系列教程(20) Qt 项目视图便捷类
  • Spring Boot基础使用详解
  • Oracle 数据库基础入门(七):触发器与事务的深度探究
  • JVM 类加载原理之双亲委派机制(JDK8版本)
  • spring boot3.4.3+MybatisPlus3.5.5+swagger-ui2.7.0
  • Qt 加载插件:实现可扩展应用的秘诀
  • halcon机器人视觉(二)固定相机抓取hand_eye_stationarycam_grasp_nut
  • 【Mastering Vim 2_12】(完结篇)第九章:以终为始 —— Vim 推荐编辑习惯与相关学习资源整理
  • mapbox高阶,结合threejs(threebox)添加管道
  • vscode(cursor)配置python环境,含远程调试
  • MATLAB并行计算加速,用 parfor 和 spmd 榨干多核CPU性能
  • Jeinkins配置sonarqube
  • 网络安全之数据加密(DES、AES、RSA、MD5)
  • PPO算法 - AI学习记录