03-SecOC介绍

本文框架
1. 概述
2. SecOC基本概念
2.1 SecOC是什么?
2.2 新鲜度值与MAC值
2.2.1 新鲜值FV
2.2.2 MAC计算
2.3 SecOC报文格式
3. SecOC报文发送及接收逻辑
3.1 SecOC报文的发送
3.2 SecOC报文的接收
1. 概述
本文为Autosar通信入门系列介绍,如您对AutosarMCAL配置,通信,诊断等实战有更高需求,可以参见AutoSar 实战进阶系列专栏,快速链接:AutoSar实战进阶系列导读

本篇我们一起看下SecOC,全文大纲如下:


2. SecOC基本概念
2.1 SecOC是什么?
在车载网络中,大部分的数据都是以明文方式广播发送且无认证接收,例如应用最广的CAN通讯设计之初是没有考虑过信息安全问题,其明文传输、报文广播传输、极少网络分段等特性,让进入整车网络的黑客可以轻松伪造报文对车辆进行控制,为了提升CAN网络的安全性,BOSCH在AUTOSAR标准中补充了SecOC标准,为传统CAN通讯引入了通讯认证机制。

SecOC在其全称是Security Onboard Communication,即板端加密通讯,是AUTOSAR标准中关于ECU间通讯安全提出的标准,在Autosar架构中的位置如下图,其中PduR负责将传入和传出的安全相关I-PDU路由到SecOC模块,SecOC模块对路由来的I-PDU进行添加或处理安全相关信息后,将结果再传播回PduR,再由PduR进一步路由I-PDU。

在SecOC标准中,AUTOSAR主要基于两种手段来实现数据的真实性和完整性的校验:
基于MAC的身份验证和基于Freshness的放重放攻击。

2.2 新鲜度值与MAC值
2.2.1 新鲜值FV
新鲜度值(Freshness Value):传达了信息的实时性,可由时间戳校验和帧计数器校验两种模式生成。
时间戳检验的挑战在于多个ECU间需要进行时间同步,以消除各ECU振荡器自身产生的偏差。目前,只有TTCAN和更先进的Flexray总线支持这种机制,因此帧计数器模式被选用。新鲜度值的主要作用是防止重放攻击。

新鲜度值的组成如下图所示:由同步计数器,重置计数器,消息计数器及重置低位组成。

新鲜值中的各组成计数器变化增加条件,初始化条件,初始值及Counter长度说明如下。

counter的变化趋势图如下:

对于新鲜值管理采用一主多从的方式,发送新鲜值同步报文的为主节点,接收新鲜值同步报文的ECU为从节点,一般在车载网络中,主节点为网关。

同步报文
对于Master节点在上电后会向从节点发送同步报文,实现新鲜值同步收发;
在运行中,主节点的RstCnt会周期性(ResetCycle)增加,即重置计数器,增加后会向从节点发送同步报文,使从节点的MsgCnt完成重置。同步报文的格式。

同步报文由主节点发送,SecOC报文由发送从节点发送给接收从节点,报文格式也不同,对应SecOC报文的格式如下章节介绍。

同步报文的验证:
CANID+同步计数器+重置计数器再基于AES128算法生成认证结果后,做高有效相应长度的截取,与接收的认证信息对比,看是否相同。

2.2.2 MAC计算
MAC(Message Authentication Code):是保障信息完整性和认证的密码学方法之一。
CMAC(Cipher–based Message Authentication Code)通常用于对称加密。整车厂可以选择在车辆下线刷写程序时静态分配密钥,或者使用云端服务器动态地给车辆分配密钥。例如,对于一个具体的I-PDU,其需要认证的数据和完整的新鲜度值会与Data ID进行拼接,然后进行加密运算以得到实际的MAC。

2.3 SecOC报文格式
如下图,SecOC报文格式如下由三部分组成:PDU+新鲜度值+MAC值。其中新鲜度是截取低字节,MAC值是截取高字节部分拼接而成。


3. SecOC报文发送及接收逻辑


3.1 SecOC报文的发送
SecOC通过CMAC算法生成相关的MAC值,并截取有效MAC数据及新鲜值数据填充到报文PDU中,对外完成发送。
对应加密过程:密钥+CanID+PduData+新鲜度值→MAC值(身份认证信息)。再对新鲜值及MAC值进行切片填充到Pdu中

3.2 SecOC报文的接收
SecOC提取接收报文PDU中包含的截取的MAC信息,通过本地CMAC算法和PDU以及新鲜值数据,生成本地MAC信息,与接收的MAC信息比对,如果正确则路由到上层且更新本地的该报文的新鲜度值,如果错误则会拿接收的MAC信息与默认码比对,如果默认码比对也不正确则该PDU数据无效。
————————————————

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值