背景
车载以太网系列文章“当DoIP遇上TLS当DoIP遇上TLS-面包板社区 (eet-china.com)”介绍了新版ISO13400-2规范变化点、TLS简介以及CANoe TLS demo工程的数据流,其中TLS DoIP数据流分为4部分,1.建立TCP连接,2.TLS握手流程,3.路由激活,4.诊断数据交互。接下来小编结合北汇已执行的项目,分享下TLS DoIP测试开发经验。

101046ktu24kk1uurx6tgi.png
图1 简易TLS握手流程
TLS DoIP测试实践
1.测试配置
TLS协议可以为信息传输提供三个基本保证:加密、身份验证、数据完整性,上篇文章介绍过TLS借助密码学中的非对称加密和对称加密来协商秘钥以及应用数据加密,防止数据泄露以及篡改,通过证书机制做身份验证,防止第三方伪造通讯节点。在执行测试前需要确认OEM对控制器TLS的配置要求,比如认证类型、支持的密码套件等信息。Vector CANoe软件的Security Manager模块具备安全相关测试配置功能,测试人员基于此模块完成证书、密码套件配置工作。

101047qwotwyb4y4l9nn24.jpeg
101047poee9hzlgp8lde38.jpeg
图2 CANoe安全管理配置界面

依据被测控制器的特性,为测试模块选择相应的安全配置文件,完成测试配置。

101047kkvzs8rhg0v69gzi.jpeg
图3:配置文件的选择

2.测试仿真节点开发
为实现TLS DoIP的测试,需开发仿真节点以实现与DUT的交互,如下为针对某控制器 TLS DoIP交互过程及交互数据流。
TCP连接:使用3496端口号与控制器建立TCP连接
TLS握手流程:采用双向认证方案的TLS握手流程
DoIP路由激活数据:TCP连接建立后,两秒内完成路由激活(加密传输-测试模块知晓协商过的秘钥,故可解析DoIP数据)
诊断数据:诊断数据加密传输

101048yh6myygqvvv5wq5w.jpeg
图4 TLS DoIP数据流1

101048yg6eqmszq6nsschg.jpeg
图5 TLS DoIP数据流2

3.TLS DoIP测试内容和测试工程
测试内容包括TLS流程测试、证书测试、协议版本测试、密码套件测试、端口号测试等等,其测试工程北汇通过Vector CANoe.CAPL结合其他第三方编程语言定制实现。
如下为一典型测试用例的示例,该用例是为了完成TLS DoIP正向流程测试。

101048y3bk6kcclv9v9r3c.png
图6 测试用例示例

如下为TLS DoIP测试工程和测试报告的示例。

101048wjlz1zz11p1bb0ax.jpeg
图7 TLS DoIP测试工程

101048uuu9unknnaeegbkb.jpeg
图8 某控制器TLS DoIP诊断报文测试报告

总结
北汇信息时刻关注汽车电子测试的前沿技术,包括DDS、TSN、OTA、自驾和网联等领域,为客户提供完整交钥匙工程服务,包括:设计需求规范的审核完善、测试规范开发、测试脚本定制开发和测试实施服务。目前,北汇信息已经完成TLS DoIP测试方案的落地,感兴趣的朋友请联系我们。
参考文献:
【1】ISO13400-2