车载以太网系列文章“当DoIP遇上TLS”介绍了新版ISO13400-2规范变化点、TLS简介以及CANoe TLS demo工程的数据流,其中TLS DoIP数据流分为4部分,1.建立TCP连接,2.TLS握手流程,3.路由激活,4.诊断数据交互。接下来小编结合北汇已执行的项目,分享下TLS DoIP测试开发经验。
图1 简易TLS握手流程(出自ISO13400-2规范)
01 TLS DoIP测试实践
测试配置
TLS协议可以为信息传输提供三个基本保证:加密、身份验证、数据完整性,上篇文章介绍过TLS借助密码学中的非对称加密和对称加密来协商秘钥以及应用数据加密,防止数据泄露以及篡改,通过证书机制做身份验证,防止第三方伪造通讯节点。
Security Manager
在执行测试前需要确认OEM对控制器TLS的配置要求,比如认证类型、支持的密码套件等信息。Vector CANoe软件的Security Manager模块具备安全相关测试配置功能,测试人员基于此模块完成证书、密码套件配置工作。
图2 CANoe安全管理配置界面
依据被测控制器的特性,为测试模块选择相应的安全配置文件,完成测试配置。
图3 配置文件的选择
测试仿真节点开发
为实现TLS DoIP的测试,需开发仿真节点以实现与DUT的交互,如下为针对某控制器 TLS DoIP交互过程及交互数据流。
TCP连接:使用3496端口号与控制器建立TCP连接
TLS握手流程:采用双向认证方案的TLS握手流程
DoIP路由激活数据:TCP连接建立后,两秒内完成路由激活(加密传输-测试模块知晓协商过的秘钥,故可解析DoIP数据)
诊断数据:诊断数据加密传输
图4 TLS DoIP数据流1
图5 TLS DoIP数据流2
TLS DoIP测试内容和测试工程
测试内容包括TLS流程测试、证书测试、协议版本测试、密码套件测试、端口号测试等等,其测试工程北汇通过Vector CANoe.CAPL结合其他第三方编程语言定制实现。
如下为一典型测试用例的示例,该用例是为了完成TLS DoIP正向流程测试。
图6 测试用例示例
如下为TLS DoIP测试工程和测试报告的示例。
图7 TLS DoIP测试工程
图8 某控制器TLS DoIP诊断报文测试报告
全部0条评论
快来发表一下你的评论吧 !