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

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

3天内不再提示

当DoIP遇上TLS

北汇信息POLELINK 2022-08-02 10:08 次阅读

DoIP规范

距离上一篇DoIP文章“DoIP测试开发实践”已经过去两年了,当时使用的规范是ISO 13400-2 2012版,随后新版规范13400-2 2019版正式释放,不过时至今日大部分OEM的以太网诊断刷写规范依然参考2012版本。DoIP协议大家已经非常熟悉,虽然对于以太网内部节点的DoIP策略各个主机厂需求不尽相同(比如有的要求内部节点支持部分DoIP报文、有的要求支持完整DoIP协议,还有的要求支持自定义DoIP报文),但对于边缘节点的要求基本符合2012版DoIP规范,那么,2019版的DoIP规范有什么特殊定义呢?

ISO 13400-2 2019版

2019版规范相较于2012版主要的变化点:

(1)更新文档结构:增加“内部诊断仪“概念,完善相关细节描述(如Tester可使用Alive Check Response报文来维持DoIP session)等。

(2)增加TLS(Transport Layer Security)内容

本文将主要介绍TLS协议,篇幅有限,具体的协议细节建议参考相关标准:

▲TLS1.2 IETF RFC 5246

▲TLS1.3 IETF RFC 8446

TLS简介

TLS Transport Layer Security,由于基于TCP协议传输数据时,数据包可能被其他人截取、篡改,这给网络信息安全带来了极大的挑战。基于此问题,网景公司提出SSL协议,IETF在标准化SSL协议时,将其命名为TLS,也就是说TLS属于SSL升级版。TLS借助密码学中的非对称加密和对称加密来协商密钥以及应用数据加密,防止数据泄露以及篡改,通过证书机制做身份验证,防止第三方伪造通信节点。

TLS组成

TLS协议是由TLS记录协议(TLS record Protocol)和TLS握手协议(TLS handshake protocol)两层协议组成的,其中TLS握手协议又分为握手协议、密码规格变更协议、警告协议、应用数据协议。

poYBAGLngSGAaO51AACPiC8Eyug825.png

握手协议负责在客户端和服务器之间协商密码算法和共享密钥,包括证书的认证操作。密码规格变更协议负责向通信对象传达变更密码方式的信号,警告协议负责在发生错误时将错误传达给对方,应用数据协议将应用数据传达给通信对象的协议,TLS记录协议负责消息的压缩、加密以及数据的认证。

基于TLS的DoIP会话流程

对于支持基于TLS的节点,DoIP安全会话流程如下图:

poYBAGLngTeAF1xjAAFlFoo6deA170.png

出自ISO 13400-2 2019版

(1)完成物理连接以及车辆发现流程

(2)建立TCP连接(注*端口号3496)

(3)完成TLS握手流程

(4)路由激活、诊断数据交互(已被加密)

基于TLS的DoIP数据流

使用Vector公司CANoe软件仿真基于TLS的DoIP通信,数据流如下图:

poYBAGLngU2AXwIbAAKnuZ-L1Hs515.png

对于支持安全DoIP会话的节点,由于诊断仪跳过TLS握手协议,直接发送路由激活请求,DoIP节点返回路由激活应答码为0x07的路由激活响应报文,路由激活失败,如下图:

poYBAGLngV-AbvF1AAGuTg9wHy8708.png

将数据保存重新导入CANoe回访数据,由于CANoe未知对称加密密钥,所以无法解析数据。

pYYBAGLngWyAF3UgAAGz6nPrYf4171.png

基于TLS的DoIP测试要点

针对支持TLS的DoIP节点,相应测试用例也需同步增加,如TLS-DoIP流程正向测试、TLS-DoIP端口号测试、握手协议跳过测试,逆向测试等,该部分测试就基于CANoe的CAPL脚本定制开发实现。

总结与思考

鉴于TLS协议的安全性、可识别性和一致性,TLS目前在IT行业被广泛使用,特别是HTTPS协议。在汽车行业,基于TLS的DoIP协议后期可能更多应用于OTA以及无线刷写场景,以增加数据传输的安全性。

但是DoIP引入TLS有些问题仍需要考虑,首先,诊断内容需要经过对称加密算法加密,即只能被通信双方解析,第三方想要解析数据必须知晓二者之间的密钥,也就是说测试工程师若分析一段基于TLS的DoIP数据,必须从诊断仪获取密钥,所以获取密钥的方式以及便利性需要评估。其次,诊断数据传输基于TCP协议,ISO 14229-5规范定义编程模式的进入或退出以及ECUReset会导致TCP重连,对于诊断协议测试,控制器可能会不断地进入退出编程模式以及执行ECU HardReset,在此期间诊断仪和控制器间的密钥可能会随之变化,那么后期测试分析如何解析整段数据?当然以上只是个人看法,网络安全重要性不言而喻,新特性的引入需结合应用场景迭代、优化。为支持OTA和远程诊断,对应技术的IT化趋势比较明显,谁将勇立潮头,且看风云变幻。

pYYBAGLngYOAKj_eAAECJPL7O-Q135.png

诊断技术的IT化 图片来源:网络

北汇信息时刻关注汽车电子的前沿技术,提供交钥匙的测试解决方案,包括:设计需求规范的审核、测试规范/用例开发、测试脚本/工程的实现和测试实施服务。

注:文中部分图片来源于Vector。

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

    评论

    相关推荐

    DoIP协议栈简介及主要功能

    的修改,使用单对双绞线即可实现稳定的100Mb/s全双工通信。正是由于车载以太网的普及应用,对应的车辆诊断协议DoIP应运而生,本文将基于ISO13400、ISO14229和求远电子在DoCAN协议栈的基础上,介绍求远电子自研DoIP协议栈。
    的头像 发表于 11-13 15:35 463次阅读
    <b class='flag-5'>DoIP</b>协议栈简介及主要功能

    恒讯科技分析:IPSec与SSL/TLS相比,安全性如何?

    IPSec和SSL/TLS都是用于保护网络通信安全的协议,但它们在实现方式、安全性侧重点、兼容性以及使用场景上存在一些显著的区别。1、安全性方面:IPSec主要关注网络层的安全性,提供端到端的保护
    的头像 发表于 10-23 15:08 308次阅读
    恒讯科技分析:IPSec与SSL/<b class='flag-5'>TLS</b>相比,安全性如何?

    谷歌Chrome浏览器抗量子加密算法被指破坏TLS握手,导致部分网站无法被访问

    谷歌自去年8月起便开始测试后量子安全TLS密钥封装机制,通过采用TLS 1.3及QUIC连接的Kyber768抗量子密钥协商算法,以提升ChromeTLS流量的安全性。
    的头像 发表于 04-30 14:22 568次阅读

    车载以太网 | TSMaster的DoIP功能操作指南

    车载以太网诊断协议,DiagnosticsoverInternetProtocol简称为DoIP,可以通过以太网协议进行汽车诊断。DoIP是一种用于在车辆之间或车辆与诊断设备之间进行通信和诊断的标准
    的头像 发表于 04-13 08:21 965次阅读
    车载以太网 | TSMaster的<b class='flag-5'>DoIP</b>功能操作指南

    什么是TLS加密?TLS加密的功能特点

    TLS(Transport Layer Security)是一种用于在网络通信中提供安全性的标准协议,旨在保障客户端(如web浏览器、移动应用程序等)与服务器(如web服务器、API服务器等)之间
    的头像 发表于 04-03 13:49 638次阅读

    鉴源实验室丨TLS协议基本原理与Wireshark分析

    TLS作为一种通用的安全通信协议,为车辆通信提供了可靠的安全保护。
    的头像 发表于 03-27 13:25 1710次阅读
    鉴源实验室丨<b class='flag-5'>TLS</b>协议基本原理与Wireshark分析

    TLS协议基本原理与Wireshark分析

    传输层安全协议(TLS)是一种加密通信协议,用于确保在网络上的数据传输过程中的安全性和隐私保护。TLS的前身是安全套接层协议(SSL),后来在标准化过程中发展成为TLS
    发表于 02-28 10:26 2125次阅读
    <b class='flag-5'>TLS</b>协议基本原理与Wireshark分析

    瑞萨RA家族 RA AWS MQTT/TLS云连接解决方案-蜂窝应用说明

    电子发烧友网站提供《瑞萨RA家族 RA AWS MQTT/TLS云连接解决方案-蜂窝应用说明.pdf》资料免费下载
    发表于 02-19 11:00 0次下载
    瑞萨RA家族  RA AWS MQTT/<b class='flag-5'>TLS</b>云连接解决方案-蜂窝应用说明

    使用TSIP驱动程序(Azure RTOS)的TLS实现示例

    电子发烧友网站提供《使用TSIP驱动程序(Azure RTOS)的TLS实现示例.pdf》资料免费下载
    发表于 01-31 10:13 3次下载
    使用TSIP驱动程序(Azure RTOS)的<b class='flag-5'>TLS</b>实现示例

    微软宣布Azure账户取消TLS1.0和1.1支持

    此举涉及到所有现有的及新创建的Azure账户。为确保业务不受影响,IT之家强烈推荐各用户尽早在2024年10月31日前完成TLS1.2的升级,并删除对TLS1.0和1.1的依赖性。实践表明,TLS1.0和1.1无法充分保护数据安
    的头像 发表于 01-11 11:47 568次阅读

    雅特力AT32 MCU基于mbed TLS的HTTPS服务器

    HTTPS概述HTTPS的安全性是基于TransportLayerSecurity(TLS),TLS是一种网络加密通信的方式,作为SecureSocketsLayer(SSL)的接续协议,TLS允许
    的头像 发表于 01-06 08:14 588次阅读
    雅特力AT32 MCU基于mbed <b class='flag-5'>TLS</b>的HTTPS服务器

    RAMQTT/TLS Azure云连接解决方案-细胞应用项目

    电子发烧友网站提供《RAMQTT/TLS Azure云连接解决方案-细胞应用项目.pdf》资料免费下载
    发表于 01-03 09:55 0次下载
    RAMQTT/<b class='flag-5'>TLS</b> Azure云连接解决方案-细胞应用项目

    RA MQTT/TLS Azure云连接解决方案-以太网

    电子发烧友网站提供《RA MQTT/TLS Azure云连接解决方案-以太网.pdf》资料免费下载
    发表于 01-03 09:54 0次下载
    RA MQTT/<b class='flag-5'>TLS</b> Azure云连接解决方案-以太网

    瑞萨RA家族RA AWS MQTT/TLS云连接解决方案-以太网

    电子发烧友网站提供《瑞萨RA家族RA AWS MQTT/TLS云连接解决方案-以太网.pdf》资料免费下载
    发表于 01-03 09:52 0次下载
    瑞萨RA家族RA AWS MQTT/<b class='flag-5'>TLS</b>云连接解决方案-以太网

    怎样使用TLS/SSL Pinning保护Android应用程序呢?

    在现代术语中,“SSL”(安全套接层)通常指的是“TLS”(传输层安全)。虽然 SSL 和 TLS 不是同一个东西,但 TLS 是 SSL 的改进和更安全的版本,并且在实践中已大部分取代了 SSL。
    的头像 发表于 12-27 13:41 1413次阅读
    怎样使用<b class='flag-5'>TLS</b>/SSL Pinning保护Android应用程序呢?