网易首页 > 网易号 > 正文 申请入驻

网络安全开发测试 | CANoe解密车载TLS通信

0
分享至

应用层数据可以通过传输控制协议(TCP)在基于IP的网络上进行可靠交换,但是TCP无法保证数据传输的可靠性,应用数据的机密性及完整性。因此,实际应用中可以在TCP之上使用TLS(Transport Layer Security)建立服务器和客户端之间的安全通信(图1),从而保证数据的安全传输。

车内外通信中的下列应用层协议在安全通信时会采用TLS/DTLS加密通信:

>DoIP (Diagnostic communication over Internet Protocol)

>SOME/IP (Scalable service-Oriented MiddlewarE over IP)

>MQTT (Message Queuing Telemetry Transport)

>HTTPS (Hypertext Transfer Protocol Secure)

>SCC (Smart Charging Communication)

随着TLS在载数据通信过程中的广泛应用,给OEM和零部件供应商的开发测试工程师在开发测试分析过程中需要面临TLS服务器和客户端之间加密通信的考验。毫无疑问,作为车载产品开发验证平台的核心工具CANoe需要支撑从单板调试到实车验证中涉及TLS安全通信应用的仿真与回放分析工作:

>模拟TLS服务器通信;

>模拟客户端参与TLS通信;

>在线解密正在监听的真实服务器和客户端之间的TLS通信(图2.1);

>离线回放过程中解密记录文件中存储的TLS数据(图2.2)。

CANoe在线监听或离线回放TLS通信的过程中,接收的是加密的TLS应用数据,需要经过解密才能得到原始消息,图3为TLS一组相同数据在Trace窗口中解密前后的对比。解密前Trace窗口只有密文信息,解密后Trace窗口才能以系统变量的形式显示原始消息。如果Observer支持原始消息所属的应用层协议(如DoIP协议),Trace窗口中还会包含原始消息基于DoIP层面的解析。要完成解密的过程,需要在CANoe中进行一系列配置,本文围绕TLS Observer中最常用的解密方式“基于主密码解密”就具体配置做说明。首先概述CANoe基于主密码解密TLS通信的机制,其次介绍解密工程的环境设置,最后分别对不同的主密码配置方式进行说明。

01/CANoe基于主密码解密TLS通信的机制概述

CANoe.Ethernet工程会自动生成名为“_Security::TLSMasterSecret”的系统变量,用于存储TLS会话的客户端随机数(Client Random,32Bytes)和主密码(Master Secret,48Bytes)。待解密的TLS数据可能包含多个TLS会话,每个TLS会话都有唯一的主密码。当解密时,CANoe首先根据客户端随机数识别正确的TLS会话,然后基于主密码生成的密钥素材解密TLS应用数据,因此正确配置主密码和客户端随机数是解密TLS通信的关键。

02/解密工程环境设置

CANoe支持多种配置主密码的方式,如通过CAPL/Security Manager/UDP报文配置主密码或从CANoe参与通信的TLS记录文件中读取主密码。无论采用何种方式,都需要首先完成工程环境设置。

1.激活TLS应用数据的观测变量(图4)

点击CANoe->Options->General->File Locations->Location of application data的Open按钮,打开文件夹中的can.ini文件,配置can.ini文件中的参数EnableTlsAppDataSv=1。

>配置TLS/DTLS通信的端口号(图5)

检查CANoe Option->Bus System->Protocol Identification是否对用于TLS/DTLS通信的Port进行正确定义,避免Trace中可能出现无法解析TLS协议的情况,影响解密TLS通信的功能。

03/基于CAPL配置主密码解密TLS通信

基于CAPL配置主密码具有较高的灵活性,支持离线回放或在线监听TLS数据时解密通信。当离线回放TLS通信时,一般主密码是用户提供的静态数值,该值可以直接通过CAPL编程赋值给系统变量“_Security::TLSMasterSecret”,赋值代码如图6。当在线监听TLS数据时,主密码是由真实服务器或客户端提供的动态数值,首先通过诊断、CAN报文或者其他接口传给CANoe,然后基于CAPL编程赋值给系统变量“_Security::TLSMasterSecret”。

04/基于Security Manager配置主密码解密TLS通信

为了实现在离线回放过程中解密TLS通信,除了可通过CAPL编程配置主密码之外,还可以在CANoe->Tools->Security Manager中手动输入主密码。具体流程如下:

1.新建Security Profile(图7)

选中File based PKI,点击Add添加Security Profile,可按照需求自定义Profile名称,如TLS Observer Profile。

2.设置参数(图8)

在新建的TLS Observer Profile主配置界面上选中TLS Observer,点击Add打开参数设置对话框,选择参数类型为Master Secret并填写Random Bytes和Master Secret。

3.Security Configuration配置

打开CANoe->Simulation->Security Configuration,在TLS Observer选项卡处关联新建的Profile,如图9。

05/通过UDP报文传输主密码解密TLS通信

为了实现在线监听TLS数据过程中解密通信,除了基于CAPL配置主密码外,还可由通信参与者通过UDP报文传入主密码。如果真实服务器或客户端在完成TLS握手之后,支持从加密堆栈中读取主密码,并通过UDP报文发送出来,就可以配置CANoe接收该UDP报文,获取主密码数值,解密正在监听的TLS通信。与手动输入主密码配置过程类似,通过UDP报文传输主密码也需要基于Security Manager配置,区别在于参数设置部分,参数类型需选择Master Secret Source并配置UDP通信双方的IP和Port(图10)。

注:此种方式要求Master Secret以NSS Key Log的格式封装到UDP报文中。NSS Key Log的格式以及示例见表1。

06/离线回放CANoe参与通信的TLS记录文件

CANoe参与TLS通信时,经过TLS握手阶段,可以自动计算出主密码并将该值存储到系统变量“_Security::TLSMasterSecret”中。TLS数据可通过CANoe Logging功能进行记录,需将记录文件格式设置为BLF/ASC/MF4。这些格式的文件不仅可以保存通信数据,还可以保存系统变量(包括_Security::TLSMasterSecret)。后期离线回放时,CANoe可以从记录文件中读取主密码来解密TLS应用数据。

1.在CANoe 15/16中回放,只需将工程切换为Offline模式,添加记录文件,点击回放按钮,CANoe即可在回放过程中解密TLS应用数据;

2.在CANoe 14中回放,还需在Security Configuration配置中关联Security Profile。

上述就CANoe基于主密码解密TLS通信的过程及多种主密码的配置方式:如CAPL、Security Manager、UDP报文以及记录文件等。不同主密码配置方式的总结描述以及对CANoe版本要求见图11。CANoe为各种网络安全通信提供基础平台技术,使得开发和测试各阶段更好验证系统通信和功能,点击原文了解更多CANoe对Security的支持。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
45岁家长参加学校护学岗时突然倒地,送医后身亡!多方回应

45岁家长参加学校护学岗时突然倒地,送医后身亡!多方回应

扬子晚报
2025-12-30 14:36:52
体制内“近亲繁殖”,现阶段无解

体制内“近亲繁殖”,现阶段无解

冰川思想库
2025-12-30 11:38:23
36岁网红“卡车西施”雪天行车不幸遇难!家里有植物人父亲和两孩

36岁网红“卡车西施”雪天行车不幸遇难!家里有植物人父亲和两孩

火山詩话
2025-12-30 13:28:04
普京签令:征兵26.1万

普京签令:征兵26.1万

政知新媒体
2025-12-30 09:09:34
要动真格了?156克拉河南钻石刷新记录,美国立刻动手:全面禁止

要动真格了?156克拉河南钻石刷新记录,美国立刻动手:全面禁止

火星方阵
2025-12-29 21:30:39
说一说我国道德败坏的复方药

说一说我国道德败坏的复方药

科海识贝sci
2025-12-29 10:54:44
收评:沪指收出10连阳 机器人概念持续爆发

收评:沪指收出10连阳 机器人概念持续爆发

财联社
2025-12-30 15:02:09
一个国家正在崩塌:伊朗女孩扔掉头巾,如同大清朝开始剪辫子

一个国家正在崩塌:伊朗女孩扔掉头巾,如同大清朝开始剪辫子

老范谈史
2025-12-29 15:59:06
太突然了!解放军做大动作了!宣布即行动,再次进行“围台”军演

太突然了!解放军做大动作了!宣布即行动,再次进行“围台”军演

时时有聊
2025-12-29 10:13:57
“他说这800万是我们的后半生……”杭州55岁大姐遇“真爱”

“他说这800万是我们的后半生……”杭州55岁大姐遇“真爱”

都市快报橙柿互动
2025-12-30 08:21:38
金正恩接见女足引发争议,朝鲜高官气到踢了女足教练一脚

金正恩接见女足引发争议,朝鲜高官气到踢了女足教练一脚

大眼瞄世界
2025-12-30 09:44:08
北方家庭买PHEV最大的顾虑,被一款车系统性地解决了?

北方家庭买PHEV最大的顾虑,被一款车系统性地解决了?

汽车通讯社
2025-12-29 18:14:24
台湾,还需要几辈子?

台湾,还需要几辈子?

新民周刊
2025-12-30 09:07:20
“美国国际开发署削减资金致人死亡”?马斯克怒怼比尔・盖茨:他是个骗子

“美国国际开发署削减资金致人死亡”?马斯克怒怼比尔・盖茨:他是个骗子

环球网资讯
2025-12-30 14:15:26
解放军绕台军演,特朗普淡淡表态:不担心

解放军绕台军演,特朗普淡淡表态:不担心

扬子晚报
2025-12-30 11:02:10
成都丰田4s店爆燃原因公布!车辆配置纠纷引发,中年无业是爆点

成都丰田4s店爆燃原因公布!车辆配置纠纷引发,中年无业是爆点

火山詩话
2025-12-30 07:24:47
约基奇膝盖反向弯折痛苦倒地 结果偏向低级别伤势

约基奇膝盖反向弯折痛苦倒地 结果偏向低级别伤势

体坛周报
2025-12-30 12:50:37
美国社会“斩杀线现象”引持续热议77万“流浪者”真的存在吗?

美国社会“斩杀线现象”引持续热议77万“流浪者”真的存在吗?

封面新闻
2025-12-30 13:01:02
全明星首轮投票结果出炉:东契奇暂列票王 詹杜排名下降库里上升

全明星首轮投票结果出炉:东契奇暂列票王 詹杜排名下降库里上升

罗说NBA
2025-12-30 06:12:59
伊利拍了个“养牛爽剧”,年轻人居然追疯了?

伊利拍了个“养牛爽剧”,年轻人居然追疯了?

一点财经
2025-12-30 12:18:25
2025-12-30 15:28:49
北汇信息
北汇信息
专注汽车电子领域
609文章数 31关注度
往期回顾 全部

汽车要闻

标配华为乾崑ADS 4 Pro 华境S明年上半年上市

头条要闻

55岁大姐"收到"男友800万元财产 被夸"好漂亮好可爱"

头条要闻

55岁大姐"收到"男友800万元财产 被夸"好漂亮好可爱"

体育要闻

这个59岁的胖子,还在表演“蝎子摆尾”

娱乐要闻

林俊杰官宣文案争议!女方名字都不提

财经要闻

朱光耀:美关税政策正使WTO名存实亡

科技要闻

估值150亿的智元,开始批量"制造"小独角兽

态度原创

本地
教育
数码
亲子
公开课

本地新闻

即将过去的2025年,对重庆的影响竟然如此深远

教育要闻

速算技巧:612÷9,直接口算

数码要闻

佳达隆推出GT60 Ultra磁轴键盘内胆:上下双灯位兼容各式键帽

亲子要闻

通透!00后单身月嫂对社会感悟:我这个阶层根本没有好男人

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版