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。

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

    评论

    相关推荐

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

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

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

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

    TLS协议基本原理与Wireshark分析

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

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

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

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

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

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

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

    AT32基于mbed TLS的HTTPS服务器

    AT32基于mbed TLS的HTTPS服务器介绍如何使用mbed TLS 搭建一个HTTPS 服务器,用户可以根据自己的应用去编写网页内容的同时,又简单地将传输数据加密。
    发表于 10-26 08:24

    基于以太网的车辆诊断协议DOIP系统机制

    DoIP报头一方面能够标识其为DoIP报文,另一方面通过DoIP协议中的报头处理机制,能够屏蔽错误或无法处理等情况的报文,如果报文不能被正确的处理,DoIP实体需要响应一个长度为1字节
    发表于 10-09 15:22 1507次阅读
    基于以太网的车辆诊断协议<b class='flag-5'>DOIP</b>系统机制

    DoIP网络逻辑图介绍

    DoIP网络逻辑图 一般来说,在工程师或者售后人员控制下的网络节点被称为外部测试设备(External Test Equipment),外部测试设备向车辆发送诊断请求,然后等待被诊断车辆的响应
    的头像 发表于 10-07 10:56 459次阅读
    <b class='flag-5'>DoIP</b>网络逻辑图介绍

    DoIP介绍 DoIP应用场景

    DoIP 不 用 做 独 立 的 应 用 层 协 议 , 被 ISO在ISO13400系列文档中被标准化。该协议被视为TCP/IP与更高级别协议,如ISO14229(UDS)之间的接口。换句话说
    的头像 发表于 10-07 10:52 696次阅读
    <b class='flag-5'>DoIP</b>介绍 <b class='flag-5'>DoIP</b>应用场景

    DOIP系统机制概述(一)

    DoIP 不 用 做 独 立 的 应 用 层 协 议 , 被 ISO在ISO 13400系列文档中被标准化。
    的头像 发表于 10-07 09:16 928次阅读
    <b class='flag-5'>DOIP</b>系统机制概述(一)

    使用配套安全IC保护TLS

    传输层安全性 (TLS) 协议在保护智能连接设备通过互联网的通信方面发挥着至关重要的作用。它可以帮助防止窃听和篡改传输中的数据。当然,为了使TLS协议有效,密钥和证书必须保持未公开,未修改并存
    的头像 发表于 06-29 17:26 303次阅读

    基于TLS DoIP测试开发实践

    车载以太网系列文章“当DoIP遇上TLS”介绍了新版ISO13400-2规范变化点
    的头像 发表于 06-04 15:44 631次阅读
    基于<b class='flag-5'>TLS</b> <b class='flag-5'>DoIP</b>测试开发实践

    基于TLS DoIP测试开发实践

    作者|宁国路小龙虾小编|吃不饱车载以太网系列文章“当DoIP遇上TLS”介绍了新版ISO13400-2规范变化点、TLS简介以及CANoeTLSdemo工程的数据流,其中TLSDoIP
    的头像 发表于 05-31 09:47 416次阅读
    基于<b class='flag-5'>TLS</b> <b class='flag-5'>DoIP</b>测试开发实践

    通过双向TLS保护微服务

    强化传输层至关重要,尤其是在 AWS 或 Rackspace 等共享环境中,您无法准确确定网络流量的去向或谁可能正在监听。传输层安全性 (TLS),有时仍被错误地称为 SSL(TLS 的前身
    的头像 发表于 05-25 15:14 299次阅读