车载通信与DDS标准解读系列(5):DDS-Security

       DDS-Security协议与DDS协议、DDSI-RTPS协议、DDS-XTypes协议共同作为DDS协议簇中的核心协议。本协议基于其它三份核心协议,对系统中各交互环节的认证加密等措施进行规范化,保障用户发现和数据传递的安全性。协议于2016年发布v1.0,目前最新版本为2018年发布的v1.1。

       目前车载环境中实现的安全机制能够根据不同层级的需求实现一些认证或者加密操作,但现有密钥分配往往是以控制器为颗粒度,针对某个控制器的全部收发数据大包大揽,同时对于控制器的性能也提出了更高的要求。DDS-Security的实现依据其独有的DCPS模型,能够实现针对某一控制器的某个应用数据进行安全保护,或者针对同一应用不同安全级别的数据进行选择加密等操作,很大程度上能够提升计算处理效率并避免资源浪费。本文将从DDS系统安全风险分析切入,对系统的实现的认证、访问控制、加密环节等安全机制做介绍。

DDS系统安全风险分析及解决措施

图1 风险行为

       在以Topic为中心进行数据发布订阅的DDS模型中,图1中A~E的用户角色分别定位为某个域中的域参与者(Domain Participant,DP),同一域内的DP在相互发现阶段就已经确认了自身及可交互DP的发布订阅权限,虽然图中A为授权发布的DP,C和D为授权订阅的DP,但仍有可能存在非法的DP在接入网络后执行非法的风险行为。主要涉及风险包括:

  • 未授权订阅(E):未对Topic数据进行加密的情况下,组播场景中E(具有相同的组播接收地址)可能获取关于Topic T的相关数据,造成Topic T数据泄露风险。
  • 未授权发布(B):在未对Topic数据进行加密的情况下,B若伪造身份(修改RTPS报文中的GUID等内容)发布关于Topic T的相关数据,则干扰其余订阅DP针对此数据的判断。
  • 数据篡改(D):D作为合法订阅者,能够获取一定的加密信息,但是其本身没有发布权限,在有加密措施的情况下,也能可能伪造发送身份造成数据污染。

       为了避免上述风险,DDS-Security规范中引入服务插件接口(Service Plugin Interface,SPI),从而实现:

  • 对传输数据进行加密 
  • 保证数据样本及其包含报文的完整性
  • 提供发布订阅双方认证及授权机制
  • 提供报文源及数据源身份验证机制

DDS-Security新增定义

       DDS-Security中为保证系统安全性引入的认证机制、加密机制也需要通过DP间的RTPS报文收发实现认证及加密信息交互,因此,基于DDSI-RTPS新增了子报文类型及内置Topic定义。

图2 DDS-Security新增报文定义

图3 DDS-Security新增内置Topic及节点

服务插件

       DDS-Security中定义了一系列服务插件,包括:认证插件(Authentication)、访问控制插件(AccessControl)、加密插件(Cryptography)、日志插件(Logging)、数据标记插件(DataTagging)。每个插件都定义了协议栈内部实现的一组接口,执行对应的认证、访问控制等功能,插件之间的实现通过变量传递互为依赖关系。

图4 服务插件结构图

  • 认证插件

       认证插件提供了一组验证Domain中已发起单参与者发现协议(Simple Participant Discovery Protocol,SPDP)的DP身份的接口,其验证颗粒度为DP,为SPDP阶段匹配的DP之间的相互认证和建立共享密钥提供设施。对于身份验证和密钥交换,使用非对称加密算法RSA或DSA以及Diffie-Hellman算法。

图5 认证插件接口示例

图6 认证报文交互流程示意图

       SPDP中新增定义PID携带有DP的身份信息,完成SPDP匹配后,由一组Best-Effort内置节点发送DCPSParticipantStatelessMessage Topic进行认证交互的握手环节。如图1中,A、C、D三者之间可以通过认证环节,识别对方身份。

  • 访问控制插件

       访问控制插件提供一组对经过身份验证的用户可以执行的DDS相关操作的策略决策手段,能够配置DP的入域权限、对于不同Topic的发布订阅权限、Domain安全配置规则及Topic的安全配置规则等,上述配置均为XML文件,设计人员需要根据协议中规定的标准文件格式进行设计输出。

图7 访问控制插件接口示例

  • 加密插件

       加密插件是提供了一组针对不同对象进行加密操作的接口,其功能包括加密、解密、哈希、数字签名等。如图1中,通过加密插件,可以实现A、C、D之间的数据加密传输,避免B和E的非法发布订阅行为造成的数据泄露。涉及主要对称加密算法包括:AES128_GMAC、AES128_GCM、AES256_GMAC、AES256_GCM。

图8 DataWriter子报文加密图示

  • 日志插件

      日志插件可记录所有安全事件,包括预期行为和所有安全违规或错误。通过配置LogOption可以控制日志级别、路径、是否远程分发。

图9 Logging插件结构

  • 数据标记插件

       数据标记是向数据添加安全标签或标记的能力。

       主要用途为:

      访问控制

      报文优先级

      不仅用于中间件,可直接被应用调用

       主要标记方法包括:

      DataWriter tagging——标记颗粒度为DataWriter

      Data instance tagging ——标记颗粒度为Instance

      Individual sample tagging ——标记颗粒度为Data Sample

      Per-field sample tagging ——标记颗粒度为Data Sample field

总结

       本文从DDS安全风险切入,介绍DDS-Security中新增报文类型及Topic,并对DDS-Security规范中涉及的服务插件进行介绍,包括:认证插件、访问控制插件、加密插件、日志插件、数据标记插件。从实现角度为读者介绍DDS-Security针对不同层级的报文丰富的处理机制。在车载环境中DDS-Security能够实现更灵活的加密方案,为OEM提供了除MACSec、IPSec等加密技术外的另一种选择。

       经纬恒润作为OPEN联盟会员和AUTOSAR联盟的高级合作伙伴,长期为国内外各大OEM和供应商提供涵盖TCP/IP、SOME/IP、DoIP、AVB、TSN、DDS等技术领域的设计和测试咨询服务,积极研发和探索车载网络前沿技术的工程应用。通过多个项目的实践经验,已建立了高质量、本土化的设计与测试一体化解决方案,为整车网络架构提供可靠支持。

了解更多

       请致电 010-64840808转6115或发邮件至market_dept@hirain.com(联系时请说明来自CSDN)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3249545.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

香橙派AIpro-携手华为-为AI赋能

文章目录 香橙派AIpro-携手华为-为AI赋能开箱和功能介绍开箱功能介绍 环境搭建镜像烧录进入系统 测试项目YOLOv5部署YOLOv5识别单张图片实时识别视频使用Ascend测试yolov5 产品评价 香橙派AIpro-携手华为-为AI赋能 今天新入手了一款香橙派AIPro,让我们一起跟着文章…

【Linux】线程——线程池、线程池的实现、线程安全的线程池、单例模式的概念、饿汉和懒汉模式、互斥锁、条件变量、信号量、自旋锁、读写锁

文章目录 Linux线程7. 线程池7.1 线程池介绍7.2 线程池的实现7.3 线程安全的线程池7.3.1 单例模式的概念7.3.2 饿汉和懒汉模式 8. 常见锁使用汇总8.1 互斥锁(Mutex)8.2 条件变量(Condition Variable)8.3 信号量(Semaph…

PostgreSQL的逻辑架构

一、PostgreSql的逻辑架构: 一个server可以有多个database;一个database有多个schema,默认的schema是public;schema下才是对象,其中对象包含:表、视图、触发器、索引等;与user之间的关系&#x…

【信号频率估计】MVDR算法及MATLAB仿真

目录 一、MVDR算法1.1 简介1.2 原理1.3 特点1.3.1 优点1.3.2 缺点 二、算法应用实例2.1 信号的频率估计2.2 MATLAB仿真代码 三、参考文献 一、MVDR算法 1.1 简介 最小方差无失真响应(Mininum Variance Distortionless Response,MVDR)算法最…

PWM再理解(1)

前言 昨天过于劳累,十点睡觉,本来想梳理一下PWM,今天补上。 PWM内涵 PWM全称:Pulse Width Modulation,也就是脉宽调制的意思,字面意思理解就是对脉冲的宽度进行改变。准确就是通过数字输出对模拟电路进行…

Artix7系列FPGA实现SDI视频编解码+UDP以太网传输,基于GTP高速接口,提供工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本博已有的以太网方案本博已有的FPGA图像缩放方案本方案的缩放应用本方案在Xilinx--Kintex系列FPGA上的应用本方案在Xilinx--Zynq系列FPGA上的应用 3、详细设计方案设计原理框图SDI 输入设备Gv8601a 均衡…

ChaosMeta for AI:混沌工程让AI稳定性更上一层楼

作者:刘凇杉 在今天的AI时代,AI系统的架构愈发复杂,其稳定性、资源利用率以及故障自愈能力也显得尤为重要。如果我们在实际运行中遇到问题再去修复,不仅成本高,还会对用户体验造成影响。混沌工程则是通过主动暴露和解…

「Vue组件化」封装i18n国际化

前言 在Vue应用中实现国际化(i18n),通常需要使用一些专门的库,比如vue-i18n。本文主要介绍自定义封装i18n,支持Vue、uniapp等版本。 设计思路 一、预期效果 二、核心代码 2.1 i18n.xlsx文件准备 2.2 脚本执行 根目录main.js根目录locali18n.xlsxnode main.jsmain.js 文件…

昇思25天学习打卡营第15天|两个分类实验

打卡 目录 打卡 实验1:K近邻算法实现红酒聚类 数据准备 模型构建--计算距离 计算演示 模型预测 实验2:基于MobileNetv2的垃圾分类 任务说明 数据集 参数配置(训练/验证/推理) 数据预处理 MobileNetV2模型搭建 Mobile…

尚品汇-(二十一)

目录: (1)使用redis实现分布式锁 (2)优化之设置锁的过期时间 (3.)优化之UUID防误删 (4)优化之LUA脚本保证删除的原子性 (1)使用redis实现分布…

基于FPGA的多路选择器

目录 一、组合逻辑 二、多路选择器简介: 三、实战演练 摘要:本实验设计并实现了一个简单的多路选择器,文章后附工程代码 一、组合逻辑 组合逻辑是VerilogHDL设计中的一个重要组成部分。从电路本质上讲,组合逻辑电路的特点是输…

macpdf转图片 macpdf导出为图片 mac如何将pdf存为jpg

在数字化办公的今天,pdf文件因其良好的文档保存和分享特性,已成为工作生活中不可或缺的一部分。然而,在某些场景下,我们需要将pdf文件转换为图片格式,以便于分享或展示。本文将向您介绍多种pdf转图片的方法&#xff0c…

Net8 Spire最新版去水印,去页数限制,转word/pptx/ofd等

新建控制台程序,添加Spire.pdf,最新版本为2024年7月17日 try {Spire.Pdf.PdfDocument pdf new Spire.Pdf.PdfDocument();pdf.LoadFromFile("test.pdf");pdf.SaveToFile("newpdf.pdf");pdf.SaveToFile("newppx.pptx", Spi…

github上的工程如何下载子模块.gitmodules如何下载指定的模块download submodules开源项目子模块下载externals

github上的工程如何下载子模块.gitmodules如何下载指定的模块download submodules 说明(废话)解决方案无法执行下载子模块无法下载子项目 说明(废话) 今天在编译一个开源库时,该开源库依赖其他项目,并且项目还挺多的,所以有此解决方案 在编…

springboot 配置 spring data redis

1、在pom.xml引入父依赖spring-boot-starter-parent&#xff0c;其中2.7.18是最后一版支持java8的spring <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.18</…

cms wpscan使用方式--kali linux

WPScan是一个用于WordPress安全审计和漏洞扫描的工具&#xff0c;可以通过以下命令来使用WPScan&#xff1a; 扫描一个网站&#xff1a; wpscan --url http://example.com扫描一个网站并指定用户名和密码&#xff1a; wpscan --url http://example.com --useradmin --passwo…

【go】Excelize处理excel表 带合并单元格、自动换行与固定列宽的文件导出

文章目录 1 简介2 相关需求与实现2.1 导出带单元格合并的excel文件2.2 导出增加自动换行和固定列宽的excel文件 1 简介 之前整理过使用Excelize导出原始excel文件与增加数据校验的excel导出。【go】Excelize处理excel表 带数据校验的文件导出 本文整理使用Excelize导出带单元…

【微服务实战之Docker容器】第六章-复杂安装(Mysql主从Redis集群)

系列文章目录 【微服务实战之Docker容器】第一章-下载及安装 文章目录 系列文章目录安装mysql主从复制1、新建主服务器容器实例33072、新建从服务器33083. 主从复制测试 Redis篇穿插Redis面试题哈希槽分区进行亿级数据存储Hash取余分区一致性Hash算法分区Hash槽分区&#xff0…

解决TypeError: __init__() takes 1 positional argument but 2 were given

问题描述&#xff1a; 如下图&#xff0c;在使用torch.nn.Sigmoid非线性激活时报错 源代码&#xff1a; class testrelu(nn.Module):def __init__(self):super().__init__()self.sigmoid Sigmoid()def forward(self, input):output self.sigmoid(input)return outputwriter…

最新开源的解析效果非常好的PDF解析工具MinerU (pdf2md pdf2json)

毫不夸张的说 PDF解析工具MinerU是照进RAG黑暗中的一道光——这是我对它的评价。我测过太多了文档解析工具&#xff01; 最近在做文档解析的工作。看了很多的开源的文档解析的工具&#xff0c;版面分析的工具&#xff0c;其中包括paddelpaddel这样30kstar的明星工具。但是效果都…