0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

经纬恒润 2024-07-19 10:55 次阅读

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

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

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

wKgaomaZ1UqAbMwcAACvxjnMPR8825.png

图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定义。

wKgaomaZ1VOADXnQAADZsWgCUnY410.png

图2 DDS-Security新增报文定义

wKgaomaZ1VqAWRSgAAFOSshSKPw712.png

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

服务插件

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

wKgaomaZ1WCAUiDDAAGB8X1YTPE099.png

图4 服务插件结构图

  • 认证插件

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

wKgaomaZ1WeALDUkAAHsgNQIisQ798.png

图5 认证插件接口示例

wKgaomaZ1W6AMT5QAADFhZkViIk120.png

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

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

  • 访问控制插件

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

wKgZomaZ1XSACW23AAPDDY1PqMQ270.png

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

  • 加密插件

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

wKgaomaZ1XuAPfi1AADZpXpkTsM189.png

图8 DataWriter子报文加密图示

  • 日志插件

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

wKgZomaZ1YGAd4PPAAFHC1oWJ1Y278.png

图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等技术领域的设计和测试咨询服务,积极研发和探索车载网络前沿技术的工程应用。通过多个项目的实践经验,已建立了高质量、本土化的设计与测试一体化解决方案,为整车网络架构提供可靠支持。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • DDS
    DDS
    +关注

    关注

    21

    文章

    631

    浏览量

    152527
  • 安全机制
    +关注

    关注

    0

    文章

    20

    浏览量

    10249
  • 车载通信
    +关注

    关注

    0

    文章

    45

    浏览量

    13421
  • 车载以太网
    +关注

    关注

    18

    文章

    218

    浏览量

    22937
收藏 人收藏

    评论

    相关推荐

    什么是DDS车载以太网—DDS篇详解

    DDS是一系列标准,它指定了分布式应用程序可用于交换实时数据的API、协议和安全机制。
    的头像 发表于 01-09 18:23 3826次阅读
    什么是<b class='flag-5'>DDS</b>?<b class='flag-5'>车载</b>以太网—<b class='flag-5'>DDS</b>篇详解

    DDS协议测试解决方案之中间件的作用#DDS

    DDS
    北汇信息POLELINK
    发布于 :2023年05月12日 13:05:42

    DDS芯片选型,请问DDS专用芯片与基于FPGA的DDS的区别是什么?

    DDS专用芯片与基于FPGA的DDS的区别什么地方,优势在哪?关于DDS选型,DAC的位数影响DDS的什么性能,怎么选择合适DAC位数?AD995X
    发表于 08-06 09:13

    DDS的工作原理是什么?如何去设计DDS

    DDS的工作原理是什么?基于DSP Builder和DDS设计基于FPGA的DDS设计
    发表于 05-06 06:27

    什么是DDSDDS的工作原理是什么

    什么是DDSDDS的工作原理是什么?怎么做出一个DDS模块呢?
    发表于 01-26 06:31

    DDS,什么是DDS,DDS的结构

    DDS,什么是DDS,DDS的结构 DDS概述 直接数字式频率综合器DDS(Direct Digital Synthesizer),
    发表于 09-03 08:42 4530次阅读
    <b class='flag-5'>DDS</b>,什么是<b class='flag-5'>DDS</b>,<b class='flag-5'>DDS</b>的结构

    DDS是什么意思,DDS结构,DDS原理是什么

    DDS是什么意思,DDS结构,DDS原理是什么 什么叫DDS 直接数字式频率合成器DDS(Direct Digital Synthesi
    发表于 03-08 16:56 4.7w次阅读

    直接数字合成(DDS),直接数字合成(DDS)是什么意思

    直接数字合成(DDS),直接数字合成(DDS)是什么意思 直接数字合成(DDS)的概念 1971年,美国学者J.Tierncy,
    发表于 03-23 11:06 2455次阅读

    利用ADISim DDS在线工具仿真DDS产品的频谱特性

    利用ADISim DDS来仿真DDS产品的频谱特性。
    的头像 发表于 07-15 06:13 4083次阅读

    分布式实时通信——DDS技术

    近期,在汽车通信圈讨论较火的话题中,DDS绝对排得上号。而对于面向服务的通信协议,DDS与SOME/IP各自的优劣?DDS 能否替换SOM
    发表于 05-15 15:10 0次下载
    分布式实时<b class='flag-5'>通信</b>——<b class='flag-5'>DDS</b>技术

    SOME/IP与DDS对比及DDS测试策略和方案探讨

    本文对DDS以及基于DDS的SOA系统的测试策略进行探讨,并介绍DDS测试方案。
    的头像 发表于 08-04 14:52 2115次阅读
    SOME/IP与<b class='flag-5'>DDS</b>对比及<b class='flag-5'>DDS</b>测试策略和方案探讨

    【文章转载】CANoe与DDS

    DDS(DataDistributionService)是OMG组织(ObjectManagementGroup)最早在2004年发布的分布式实时通信中间件标准,旨在使用发布-订阅模式实现可靠
    的头像 发表于 01-13 09:47 1811次阅读
    【文章转载】CANoe与<b class='flag-5'>DDS</b>

    什么是通信模型DDS

    Hello,大家好,欢迎来到《ROS2入门21讲》,我是主讲人古月。 终于讲到ROS2中最为重大的变化——DDS,我们在前边课程中学习的话题、服务、动作,他们底层通信的具体实现过程,都是靠DDS
    的头像 发表于 11-24 17:50 1405次阅读

    DDS在ROS2中的应用

    5G一样,既然是标准,那大家都可以按照这个标准来实现对应的功能,所以华为、高通都有很多5G的技术专利,DDS也是一样,能够按照
    的头像 发表于 11-24 17:54 871次阅读
    <b class='flag-5'>DDS</b>在ROS2中的应用

    DDS通信中间件——DCPS规范(上)

    DDS通信中间件——DCPS规范(上)本篇文章继续和大家分享一下对DDS这套规范的理解。预期本系列文章将包括以下内容陆续更新:1.DDS规范
    的头像 发表于 09-26 08:08 314次阅读
    <b class='flag-5'>DDS</b><b class='flag-5'>通信</b>中间件——DCPS规范(上)