基于TLS DoIP测试开发实践

描述

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

TLS

图1  简易TLS握手流程(出自ISO13400-2规范    

01 TLS DoIP测试实践

测试配置

  TLS协议可以为信息传输提供三个基本保证:加密、身份验证、数据完整性,上篇文章介绍过TLS借助密码学中的非对称加密和对称加密来协商秘钥以及应用数据加密,防止数据泄露以及篡改,通过证书机制做身份验证,防止第三方伪造通讯节点。  

Security Manager

在执行测试前需要确认OEM对控制器TLS的配置要求,比如认证类型、支持的密码套件等信息。Vector CANoe软件的Security Manager模块具备安全相关测试配置功能,测试人员基于此模块完成证书、密码套件配置工作。

TLS

TLS

图2  CANoe安全管理配置界面  

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

TLS

图3 配置文件的选择

测试仿真节点开发

  为实现TLS DoIP的测试,需开发仿真节点以实现与DUT的交互,如下为针对某控制器 TLS DoIP交互过程及交互数据流。  

TCP连接:使用3496端口号与控制器建立TCP连接

TLS握手流程:采用双向认证方案的TLS握手流程

DoIP路由激活数据:TCP连接建立后,两秒内完成路由激活(加密传输-测试模块知晓协商过的秘钥,故可解析DoIP数据)

诊断数据:诊断数据加密传输

TLS

图4 TLS DoIP数据流1

TLS

图5 TLS DoIP数据流2

TLS DoIP测试内容和测试工程

  测试内容包括TLS流程测试、证书测试、协议版本测试、密码套件测试、端口号测试等等,其测试工程北汇通过Vector CANoe.CAPL结合其他第三方编程语言定制实现。  

如下为一典型测试用例的示例,该用例是为了完成TLS DoIP正向流程测试。  

TLS

图6 测试用例示例  

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

TLS

图7 TLS DoIP测试工程

TLS

图8 某控制器TLS DoIP诊断报文测试报告    

 

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分