网络安全:关于SecOC及测试开发实践简介

前言


我们知道,在车载网络中,大部分的数据都是以明文方式广播发送且无认证接收。这种方案在以前有着低成本、高性能的优势,但是随着当下智能网联化的进程,这种方案所带来的安全问题越来越被大家所重视。


为了提高车载通信的安全性,各OEM已经采用针对敏感数据增加诸如RollingCounter和Checksum的信息,但其能实现的安全性十分有限。


而随着车载网络技术的发展,我们有了更多的方式来实现网络安全。之前我们曾介绍过E2E(End to End)的技术,本期我们将介绍SecOC方案。


SecOC简介


SecOC全称Secure Onboard Communication,主要用于对车内敏感信息进行认证。


其数据结构如下:Authentic I-PDU是需要被保护的数据;Authenticator为认证信息(通常使用消息认证码,即Message Authentication Code,简称MAC,后文以MAC来简称此内容);Secured I-PDU Header为可选用的报头;Freshness Value为可选用的新鲜度值。


图1 Secured I-PDU结构


而在实际使用中,新鲜度值和MAC可能会使用较多长度的数据来提高安全性,但这又会消耗大量的带宽等资源,所以常使用截取的方式做平衡处理。新鲜度值和MAC都按照完整的值来生成,但是在发送和认证的时候只会截取一部分,如下图所示:

在汽车网络安全测试中,SecOC(Secure Onboard Communication)是一种用于保护车载通信的安全机制,其核心功能包括新鲜度值(Freshness Value)管理、消息认证码(MAC)生成与验证等。测试这些功能时,通常需要使用专业的工具来模拟真实环境并验证ECU的行为是否符合预期。 同星(Tongstar)工具是一类常用于汽车总线通信测试的设备,支持CAN、CAN FD、以太网等多种通信协议。利用同星工具可以实现对SecOC相关功能的测试,包括MAC生成与验证、Freshness Value同步、异常处理等。 ### 测试SecOC功能的步骤如下: #### 1. 配置SecOC通信环境 在测试之前,需要配置SecOC通信所需的参数,包括: - 密钥管理:预共享密钥(PSK)或基于安全管理器的密钥分发机制。 - Freshness Value同步机制:确保发送方与接收方之间的新鲜度值保持同步。 - MAC生成算法:如AES-CMAC或HMAC等。 同星工具可以通过其配置界面或脚本语言(如CAPL)设置这些参数,并模拟发送端与接收端的行为。 #### 2. 模拟SecOC报文发送 使用同星工具的CANoe或CANalyzer环境,结合CAPL脚本,可模拟发送带MAC的Secured I-PDU。例如: ```capl on message CanMsg1 { // 生成MAC并填充到Secured I-PDU中 byte secI_PDU[16]; secI_PDU[0] = 0x12; // 示例数据 secI_PDU[1] = 0x34; // 调用MAC生成函数 GenerateMAC(secI_PDU, elcount(secI_PDU)); output(secI_PDU); } ``` #### 3. 验证接收端的SecOC处理 在接收端,可通过同星工具监听并解析Secured I-PDU,验证以下内容: - MAC是否正确验证。 - Freshness Value是否更新且未重复。 - 是否能够正确处理无效或篡改的报文。 例如,使用CAPL脚本监听并检查MAC验证结果: ```capl on message SecuredMsg { if (VerifyMAC(this.data, this.dlc)) { write("MAC验证通过"); } else { write("MAC验证失败"); } } ``` #### 4. 异常场景测试 为了验证SecOC的鲁棒性,可使用同星工具模拟以下异常情况: - 篡改MAC值或数据内容。 - 重放攻击(Replay Attack):发送已过期的Freshness Value。 - 高负载通信环境下测试SecOC性能。 #### 5. 性能与安全性测试 通过同星工具的自动化测试功能,可对SecOC进行以下测试: - **时效性测试**:测量MAC生成与验证的延迟。 - **吞吐量测试**:评估单位时间内处理Secured I-PDU的能力。 - **连接成功概率测试**:在不同网络条件下测试SecOC通信稳定性。 这些测试有助于评估SecOC在实际车载网络中的表现,并确保其满足功能安全与信息安全的要求。 [^1]: 北汇信息关于SecOC测试开发实践简介 [^2]: DTLS / TLS / IPsec测试内容 [^3]: SecOC的数据结构说明 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值