0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

北汇信息POLELINK 2022-11-22 10:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

应用层数据可以通过传输控制协议(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)

9dfed3a4-6857-11ed-b116-dac502259ad0.png

图1:OSI参考模型

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

>

模拟TLS服务器通信;

>

模拟客户端参与TLS通信;

>

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

>

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

9e0c5e7a-6857-11ed-b116-dac502259ad0.png

图2.1:CANoe解密TLS通信场景(离线)

9e34ade4-6857-11ed-b116-dac502259ad0.png

图2.2:CANoe解密TLS通信场景(在线)

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

9e3e9aac-6857-11ed-b116-dac502259ad0.png

图3: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。

9e73a71a-6857-11ed-b116-dac502259ad0.png

图4:激活TLS应用数据的观测变量

>

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

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

9e984778-6857-11ed-b116-dac502259ad0.png

图5:TLS/DTLS通信端口设置

03/

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

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

9ee316cc-6857-11ed-b116-dac502259ad0.png

图6:CAPL代码示例

04/

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

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

1.

新建Security Profile(图7)

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

9f00ecf6-6857-11ed-b116-dac502259ad0.png

图7:新建Security Profile

2.

设置参数(图8)

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

9f1f8f30-6857-11ed-b116-dac502259ad0.png

图8:Master Secret|参数设置

3.

Security Configuration配置

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

9f34196e-6857-11ed-b116-dac502259ad0.png

图9:Security Configuration配置

05/

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

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

9fb72502-6857-11ed-b116-dac502259ad0.png

图10:Master Secret Source|参数配置

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

9fd6f5f8-6857-11ed-b116-dac502259ad0.png

表1:NSSKeyLogMasterSecret格式示例

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的支持。

9fe47a16-6857-11ed-b116-dac502259ad0.png

图11:主密码配置方式及版本要求

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

    关注

    18

    文章

    6318

    浏览量

    139577
  • 网络安全
    +关注

    关注

    11

    文章

    3450

    浏览量

    62975
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    攻击逃逸测试:深度验证网络安全设备的真实防护能力

    攻击逃逸测试通过主动模拟协议混淆、流量分割、时间延迟等高级规避技术,能够深度验证网络安全设备的真实防护能力。这种测试方法不仅能精准暴露检测引擎的解析盲区和策略缺陷,还能有效评估防御体系在面对隐蔽攻击
    发表于 11-17 16:17

    天马微电子通过ISO/SAE 21434汽车网络安全管理体系认证

    近日,国际知名独立第三方检测、检验和认证机构德国莱茵TÜV集团(以下简称“TÜV莱茵”)向天马微电子股份有限公司(以下简称“天马”)颁发了ISO/SAE 21434网络安全管理体系认证证书。这标志着天马的网络安全开发及管理能力达到了国际领先水平。
    的头像 发表于 10-23 17:05 593次阅读

    华为亮相2025国家网络安全宣传周

    2025国家网络安全宣传周(以下简称“网安周”)在昆明正式开幕。今年大会主题为“网络安全为人民,网络安全靠人民”,网安周以会议、论坛、竞赛、展览等多种形式着力展示创新成果。大会期间,华为众多重磅
    的头像 发表于 09-16 15:12 843次阅读
    华为亮相2025国家<b class='flag-5'>网络安全</b>宣传周

    边聊安全 | 功能安全开发之MPU

    上海磐时PANSHI“磐时,做汽车企业的安全智库”功能安全开发之MPU写在前面:在与从事功能安全开发行业的同事以及SASETECH社区的成员讨论时,笔者经常被问及有关芯片内存保护单元(MPU
    的头像 发表于 09-05 16:21 2039次阅读
    边聊<b class='flag-5'>安全</b> | 功能<b class='flag-5'>安全开发</b>之MPU

    烽火通信荣获DEKRA德凯RED DA网络安全证书

    网络安全证书。颁证仪式在武汉举行,烽火通信科技股份有限公司国际终端产品经理郝愿愿,DEKRA德凯中国网络安全总经理罗黎及双方团队参加了此次颁证仪式。
    的头像 发表于 08-28 15:55 736次阅读

    ZeroNews 的 TLS 终止方案有何不同?

    TLS(传输层安全协议)终止是指在网络代理节点(如反向代理服务器)上结束加密连接的过程。当公网用户通过 HTTPS 访问服务时,流量首先到达代理节点,在此处完成 TLS
    的头像 发表于 08-25 12:09 436次阅读
    ZeroNews 的 <b class='flag-5'>TLS</b> 终止方案有何不同?

    DEKRA德凯在网络安全测试与认证领域实现新突破

    首家获此资质的测试实验室,服务范围涵盖工业控制、智能制造、能源、汽车及消费类物联网等多个高安全需求行业。这标志着德凯在网络安全测试与认证领域实现新突破,能够为企业提供一站式、符合国际标
    的头像 发表于 06-09 17:45 1151次阅读

    SSL/TLS的常见问题解答

    无论你是参加安全认证考试、准备技术面试,还是只想深入了解网络安全,SSL/TLS都是不可回避的核心主题。本文精选了十个最常被考察的SSL/TLS问题,提供详尽解析,帮助你建立全面的理解
    的头像 发表于 05-28 16:55 772次阅读

    芯盾时代连续十一次入选安全牛《中国网络安全行业全景图》

    近日,国内知名网络安全媒体安全牛正式发布《中国网络安全行业全景图(第十二版)》(以下简称“全景图”)。芯盾时代连续十一次上榜全景图,成功入选零信任、终端安全防护、身份认证、IDaaS、
    的头像 发表于 05-07 10:53 3359次阅读

    飞腾网络安全工控机,互联网时代的安全卫士与坚韧后盾

    网络安全工控机‌是一种专为工业环境设计的计算机系统,主要用于工业控制与网络安全。它融合了计算机技术、自动化技术和通信技术,具备高稳定性、高可靠性、强实时性以及良好的扩展性。‌
    的头像 发表于 04-30 09:15 481次阅读

    Lansweeper:强化网络安全与资产管理

    使用 Lansweeper 全面了解您的 IT 资产清单 保护任何东西的第一步是知道你拥有什么 全可见性 发现您甚至不知道的资产并消除盲点。 风险缓解 通过审计预防措施预测潜在的网络安全攻击。 威胁
    的头像 发表于 02-19 13:59 1017次阅读

    MCU在车载系统中的展望

    和实时性表现,以满足车载系统中多任务处理的需求,如自动驾驶辅助系统中同时处理多个传感器数据,信息娱乐系统中同时处理语音指令和手势动作等。此外,随着车联网技术的发展,MCU将承担更多网络通信与远程监控
    发表于 01-17 12:11

    智能网联汽车网络安全开发解决方案

    经纬恒润网络安全团队密切关注行业发展趋势,致力于为国内外客户提供优质的网络安全咨询服务。在智能网联汽车电子电气架构(EEA)开发阶段,协助客户识别到系统的薄弱点并定义网络安全目标,
    的头像 发表于 12-19 17:30 1421次阅读
    智能网联汽车<b class='flag-5'>网络安全开发</b>解决方案

    面向教学科研的车载网络系统开发测试实验室

    车载网络通讯技术是汽车行业的基础技术,是软件定义汽车的基础。网络通信设计与网络测试目的是保证各个ECUs控制器之间一致性和正确性,是整车应用
    的头像 发表于 12-18 10:35 1025次阅读
    面向教学科研的<b class='flag-5'>车载</b><b class='flag-5'>网络系统开发</b>及<b class='flag-5'>测试</b>实验室

    面向教学科研的车载网络系统开发测试实验室

    车载网络通讯技术是汽车行业的基础技术,是软件定义汽车的基础。网络通信设计与网络测试目的是保证各个ECUs控制器之间一致性和正确性,是整车应用
    的头像 发表于 12-18 09:50 61次阅读
    面向教学科研的<b class='flag-5'>车载</b><b class='flag-5'>网络系统开发</b>及<b class='flag-5'>测试</b>实验室