Autosar信息安全入门系列01-SecOC基础介绍

发布时间:2024年01月19日

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值

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

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中,对外完成发送。

3.2 SecOC报文的接收

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

文章来源:https://blog.csdn.net/initiallizer/article/details/135660548
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。