上期文章“聊聊网络安全的5W1H”对网络安全知识体系和技术脉络做了深入浅出的介绍,提到AUTOSAR所定义的网络和通信安全相关的技术,本期我们将介绍其中的E2E策略(严格来说属于Safety的范围),并分享在项目中的测试实践。
答案是否定的。在AUTOSAR的架构中,最上层为包含SW-C(Software Component)的应用层,类似于手机应用程序中的各种APP。对于E2E来说,数据的传递不是针对ECU到ECU的层级而是SW-C到SW-C层级。
图1 AUTOSAR软件概貌
在车载网络中,信息交换通常是从一个ECU发送信号,另一个ECU接收信号。对E2E而言,通常是从源SW-C生成信号,经过RTE(Run-Time Environment)、BSW(Basic Software)并在物理总线上传输后到达目标SW-C。
图2 错误来源的示意
不同于上文介绍的发送端/接收端的通信模式,以太网中将会广泛应用基于SoA的客户端/服务器的通信模式,将涉及诸如客户端及其操作的序列号变化、超时检测等问题,对此应该如何定义E2E机制?
除了E2E保护机制外,AUTOSAR还定义了针对PDU(Protocol Data Unit)的保护策略,即SecOC(Secure Onboard Communication)。
图3 SecOC与E2E简要对比图
图4 E2E报头
在E2E Profile 1中,发送到RTE的数据需要包含3个部分:
4个bit的Counter
1个字节的CRC
需要被保护的原数据
其中Counter为计数器,每发送一次值就增加;CRC按照E2E Profile 1的计算方式,对Data ID、Counter和原数据进行CRC计算,并将结果填入CRC字节:
图5 E2E Profile 1配置示意图
图6 E2E流程示例
图7 E2E接收行为示例
典型的E2E发送测试是将ECU发送的包含E2E信息的数据源按照E2E Profile 1的方式,计算一个CRC,如果与原始发送的CRC相等则验证通过,反之亦然。
E2E接收测试包括正向和逆向测试,逆向测试主要是验证ECU在接收到错误的E2E时的行为(如丢弃该数据信息,记录E2E错误DTC等)以及再次接收到正确E2E时的行为测试。此类测试需软件层面的支持,比如定义相关的DTC方可实现黑盒测试,或提供相关的内部数据的访问接口和方法,或与功能测试相结合,总之依赖特定的条件。
本文将主要介绍E2E发送测试。以CAN总线为例,当接收到总线上发送的一帧包含E2E信息的报文时,首先获取该E2E对应的所有信号的值,然后将信号组成数据位流进行CRC计算,在这个过程需要注意以下几点:
信号的打包
信号排序方式(取决于OEM需求)
信号位置的排序规则(取决于OEM需求),本例中的规则在ARXML中做了属性定义,包括CRC信号和Counter信号位置
图8 信号位置的排序规则在ARXML中的属性定义
可得到待校验的数据为04 00 00 01 00 00 01 81 04h
在ARXML中获取该E2E的DATA ID=34
使用AUTOSAR_SWS_E2ELibrary定义的算法,计算得到CRC的值为0xE6,与发送的CRC一致,则该E2E发送是正确的
但是,当网络中有多个ECU,每个ECU又有多个E2E时,手动测试验证显然不是明智之举。那么,如何进行自动化测试呢?首先需要解决以下技术难点:
图9 ARXML文件E2E信息
E2E属性信息是在ARXML中定义的,为了实现测试环境的仿真,可能需加载DBC、LDF、FIBEX等不同格式通信数据库。此时,不同数据库之间信号名称的一致性问题就突显出来。为此,开发了“位流”的解析方案,解决了数据库的兼容问题。
技术难点已被攻克,自动化测试不再是难事。我们基于Vector的 CANoe软件,开发了一套自动化在线测试脚本,已经支持了CAN、LIN、CAN FD、FlexRay总线E2E测试。
图10 CANoe E2E测试工程和自动生成报告
但是,在线测试也有无法解决的场景:
并行分析,发现潜在的或偶发的问题
针对OEM而言,ECU尚未交样的情况下进行提前验证,或多样件同时交样并进行接收测试的资源占用问题
图11 E2E离线测试流程
通过ARXML文件解析软件,提取出E2E测试对象,作为E2E测试的输入文件。
该离线工具支持CAN、CAN FD、LIN、FlexRay等报文的解析,可实现对BLF文件的解析,同时支持多总线多ECU同时测试,根据实车记录的数据,在软件中进行通道和总线的映射,实现一次性测试。
图12 E2E离线测试配置
导入E2E测试对象文件、通道映射文件和实车BLF log文件,执行测试。该离线软件支持高并发处理,1GB的log数据可在几分钟内完成测试。
图13 E2E离线测试执行及测试结果分析
小结
注:文中部分图片来源于AUTOSAR
参考文献
[1] AUTOSAR_SWS_E2ELibrary
[2] AUTOSAR_SWS_SecureOnboardCommunication
往期精彩
如需了解如上内容更多信息,
可以随时联系北汇信息!
电话:021-34716271
邮箱:info@polelink.com
微信ID:Polelink_Info
北汇信息|专注电控、新能源、MES技术
长按二维码关注北汇信息
看都看完了,不如点这里试试