当前位置: 首页 > 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份,不存在带宽和算力的浪费。如下图所示:

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

相关文章:

  • 【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版本)
  • 看展 | 黄永玉新作展,感受赤子般的生命力
  • 广西鹿寨一水文站“倒刺扶手”存安全隐患,官方通报处理情况
  • 林诗栋/蒯曼混双取胜,国乒赢得多哈世乒赛开门红
  • 马上评|科学红毯,让科学家成为“最亮的星”
  • 新华时评:博物馆正以可亲可近替代“高冷范儿”
  • 联合国:欢迎俄乌伊斯坦布尔会谈,希望实现全面停火