智能网联汽车有哪些信息安全场景

news2024/11/24 10:42:34

目录

1.车内安全通信

2.车云安全通信

3.安全启动

4.车载应用程序保护

5.入侵检测防御与日志管理系统

 


       在聊完车载信息安全需求之后,势必要去看看​应用场景有哪些。根据之前的开发经验简单聊一下我知道的,还有很多没有讲,比如说车云之间具体如何进行信息安全防护,SOC上不同操作系统的虚拟化安全边界等等,所以这里抛砖引玉,聊聊之前​做过的一些内容。

1.车内安全通信

       目前整车的网络通信仍然以CAN/CANFD和车载以太网通信为主,通信架构如下:

       CAN/CANFD在设计之初就没有考虑其安全设计,通信交互主要靠ID Filter,报文有效性主要靠checksum和rollingcounter,没有身份认证和通信加密机制;黑客可以很轻松地通过OBD口或者T-Box伪装CAN 报文,对车辆进行控制,造成人身财产安全损失。

        基于此,AUTOSAR提出了SecOC通信,其整体框架如下:

        以安全PDU接收为例,CAN FD报文通过If层经由PduR路由到SecOC模块,SecOC调用CSM服务对数据进行AES-CMAC校验,校验成功通知SecOC -> PduR ->Com。

        SecOC MAC值的生成和验证原理如下:

        原始PDU经过SecOC模块的处理后,形成完整的安全PDU,其组成如下:

        原始PDU数据+截取的新鲜度值(图上CNT)+截取的MAC值。

        引入新鲜度值Freshness以防止重放攻击,引入MAC值以保证身份认证,总线的安全PDU仍采用明文传输。

        车内的车载以太网OSI参考模型如下:

传输层:在TCP/UDP级别上的以太网通信使用TLS来建立安全传输:

网络层:使用IPsec,保护任意参与IP网络的双方链接,如下图所示:

链路层:MKA机制实现在MAC层的数据加密、完整性真实性检查、重放保护以及密钥管理,MKA涵盖了IEEE802.1AE-2018和IEEE-802.1X-2020两个协议规范,前者定义了以太帧的数据封装、认证和加密的数据格式;后者定义了密钥管理和交换的协议。

如下所示:


2.车云安全通信

车云通信包括近端通信、远程通信和云端通信三类,如下图所示:

  • 近端通信:是指蓝牙、NFC等移动设备与车辆进行通信,针对蓝牙的入侵手段有:漏洞攻击、劫持、窃听等方式;针对NFC入侵手段有复制车辆钥匙等。常见保护方式为使用PIN码认证;

  • 远程、云端通信:常见入侵手段包括:伪基站、伪装中断、数据篡改\窃听\重放等,常见手段为加固车端硬件防火墙和云端访问控制,对OTA下发升级固件进行加固、加密认证等方式;采用TLS和证书管理,实现车端、云端的身份双向认证、通信数据加密、完整性保护等。


3.安全启动

        安全启动主要是通过建立信任链,保证每个程序在加载运行前均通过数据完整性真实性验证。同样的,安全启动分为MCU启动和SOC两种。

  • MCU安全启动

        以英飞凌TC3xx安全启动为例,芯片厂在兼顾启动速度和身份认证的情况下,提供了三种启动方式:顺序启动、并行启动、混合启动。

        Tricore首先启动触发HSM CPU进行启动,并在跳转至用户代码之前选择是否等待HSM对APP、Data和OS等程序的校验结果,从而实现了顺序、并行等启动方式。

  • SOC安全启动

        以Intel 某SOC的安全启动为例:

        BootROM作为信任根是整个系统最先启动,初始化完成后用于后续验证镜像文件的公钥,并对其进行自检。确认公钥的合法性后,BootRom 使用公钥对 Bootloader验签。验签完成并确认 Bootloader 完整性后,将BootLoader加载至RAM运行;Bootloader进一步对OS或者APP进行验签,从而实现安全启动。

        SOC除了安全启动,还存在可信启动;可信启动依赖安全启动的验签,主要是用于验证当前固件版本信息是否授信;在可信启动的过程中,通常将使用度量的概念,将度量值保存至TPM的PCR中,由平台裁决当前固件的版本信息是否在白名单内,以此达到版本管理的作用。


4.车载应用程序保护

        车内应用程序敏感信息包括程序代码本身、车主个人信息、汽车里程数据、VIN码、车型控制码、加密\解密密钥等。

        对于MCU来说,通过芯片内部独立安全岛(即HSM)建立Secure Domain和Non-Secure Domain进行保护:

  • Secure Domain建立存储区,存储敏感信息

  • 对程序本身进行真实性完整性验证,

  • 使用OTP或者受保护Flash的方式对上述数据进行保护。

一般来讲,对于SOC来说,需在REE建立多层安全防护:

  • Kernel使用对象访问控制、MMU技术,

  • 中间件采用应用签名认证、权限管理或是沙盒等

  • 除此之外,采用ARM TrustZone建立TEE,为REE提供安全服务。


5.入侵检测防御与日志管理系统

        入侵检测与防御系统主要是负责收集信息安全相关数据、文件系统完整性检测、报文流量监测、防火墙以及信息安全日志等。

        结合CP的入侵检测及AP的入侵检测、防火墙、日志管理,总结出架构如下:

CP中的IdsM负责Eth和CAN帧的流量检测,AP侧的防火墙和IDS事件可通过SPI、核间通信告知日志管理系统收集和分析安全事件日志。

日志系统中的log和trace的完整性、机密性和完整性就显得尤为重要。

  • 因此需要采用访问控制机制,管理日志写入权限;
  • 采用加密的形式保证log的机密性,
  • 日志传输到云端需要采用加密和签名的保证保证其数据的完整性和真实性。

往期回顾:

汽车标定合集

AUTOSAR专项

汽车信息安全合集

英飞凌TC3xx分析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1187092.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Data JPA 项目配置与QueryDSL集成

一、说明 Spring Data JPA通过Spring Initializer创建时勾选相关依赖即可引入,QueryDSL需要单独引入。Spring JPA针对QueryDSL有比较好的兼容性,可以实现优雅的SQL构建。 二、设置JPA默认配置(yaml格式) spring:jpa:hibernate:…

08.Diffusion Model数学原理分析(上)

文章目录 Diffusion Model回顾Diffusion Model算法TrainingInference 图像生成模型的本质目标MLE vs KLVAE计算 P θ ( x ) P_\theta(x) Pθ​(x)Lower bound of log ⁡ P ( x ) \log P(x) logP(x) DDPM计算 P θ ( x ) P_\theta(x) Pθ​(x)Lower bound of log ⁡ P ( x ) \…

Vue el-table序号与复选框hover切换

效果图下&#xff1a; <template><div class"container"><el-tableref"multipleTable"id"multipleTable":data"person.tableData"cell-mouse-enter"cellEnter"cell-mouse-leave"cellLeave"selecti…

Hive3 on Spark3配置

1、软件环境 1.1 大数据组件环境 大数据组件版本Hive3.1.2Sparkspark-3.0.0-bin-hadoop3.2 1.2 操作系统环境 OS版本MacOSMonterey 12.1Linux - CentOS7.6 2、大数据组件搭建 2.1 Hive环境搭建 1&#xff09;Hive on Spark说明 Hive引擎包括&#xff1a;默认 mr、spark、…

【C++】详解 void*

文章目录 1. void *是什么&#xff1f;2. void*详解3. 和void的区别4. 应用场景4.1 函数传参时不确定类型&#xff0c;或者要支持多类型的传参&#xff1b;4.2 当函数的返回值不考虑类型指关心大小的时候 5. 总结 今天看到一段代码&#xff0c;觉得非常有意思。 void* say_hell…

人车实时精准管控!北斗让换流站作业更安全

换流站是高压直流输电系统的核心组成部分&#xff0c;对促进电网稳定运行、保障电力行业的可持续发展有着重要作用。长期以来&#xff0c;随着电网主变改扩建设工程的开展&#xff0c;站内作业人员安全管控压力随之增大&#xff0c;仅依靠传统的“人盯人”和“自主”管控模式较…

【Linux基础IO篇】用户缓冲区、文件系统、以及软硬链接

【Linux基础IO篇】用户缓冲区、文件系统、以及软硬链接 目录 【Linux基础IO篇】用户缓冲区、文件系统、以及软硬链接深入理解用户缓冲区缓冲区刷新问题缓冲区存在的意义 File模拟实现C语言中文件标准库 文件系统认识磁盘对目录的理解 软硬链接软硬链接的删除文件的三个时间 作者…

20 _ 散列表(下):为什么散列表和链表经常会一起使用?

有两种数据结构,散列表和链表,经常会被放在一起使用。 例如,如何用链表来实现LRU缓存淘汰算法,但是链表实现的LRU缓存淘汰算法的时间复杂度是O(n),当时我也提到了,通过散列表可以将这个时间复杂度降低到O(1)。 Redis的有序集合是使用跳表来实现的,跳表可以看作一种改进…

SpringBoot中的Environment

暂且理解成整个application.properties 通过Environment 可以访问application.properties中的任何配置 这里用yml配置 具体实用

CSS 对齐、组合选择符、伪类、伪元素、导航栏

一、CSS 对齐&#xff1a; 1&#xff09;、元素居中对齐&#xff1a; 水平居中对齐一个元素&#xff0c;可以使用margin&#xff1a;auto&#xff0c;设置到元素的宽度将防止它溢出到容器的边缘。元素通过指定宽度&#xff0c;并将两边的空外边距平均分配。示例&#xff1a; …

如何快速教你看自己电脑cpu是几核几线程

目录 一、我们日常中说的电脑多少核多少线程&#xff0c;很多人具体不知道什么意思&#xff0c;下面举例4核和4线程什么意思。二、那么4线程又是怎么回事呢&#xff1f;三、那么知道了上面的介绍后怎么看一台电脑是几核&#xff0c;几线程呢&#xff1f; 一、我们日常中说的电脑…

C语言每日一题(26)移除链表元素

力扣网 203. 移除链表元素 题目描述 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 思路分析 针对如图的普通情况&#xff0c;不能简单的遍历到对应位置然后进行释放&#xff0c;一方…

Linux内核有什么之内存管理子系统有什么第三回 —— 小内存分配(1)

接前一篇文章&#xff1a;Linux内核有什么之内存管理子系统有什么第二回 —— 单刀直入 本文内容参考&#xff1a; 内存分配不再神秘&#xff1a;深入剖析malloc函数实现原理与机制 系统调用与内存管理&#xff08;sbrk、brk、mmap、munmap&#xff09; 特此致谢&#xff01;…

智安网络|探索人机交互的未来:自然语言处理的前沿技术

自然语言处理是人工智能领域中研究人类语言和计算机之间交互的一门学科。它涉及了语言的理解、生成、翻译、分类和摘要等多个方面。随着人们对自然语言处理的重视和需求不断增长&#xff0c;成为了热门的研究方向。 首先&#xff0c;我们需要了解自然语言处理的基本概念。自然…

Qt实现动态桌面小精灵(含源码)

目录 一、设计思路 二、部分源码演示 三、源码地址 🌈write in front🌈 🧸大家好,我是三雷科技.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由三雷科技原创 CSDN首发🐒 如需转载还请通知⚠️ 📝个人主页:三雷科技🧸—CSDN博客 🎁欢…

c语言贪吃蛇项目的实现

ncurse的引入 ncurse的概念 ncurse(new curses)是一套编程库&#xff0c;它提供了一系列的函数&#xff0c;以便使用者调用它们去生成基于文本的用户界面。 ncurses是一个能提供功能键定义(快捷键),屏幕绘制以及基于文本终端的图形互动功能的动态库。ncurses用得最多的地方是…

C++二分算法: 找出第 K 小的数对距离

题目 数对 (a,b) 由整数 a 和 b 组成&#xff0c;其数对距离定义为 a 和 b 的绝对差值。 给你一个整数数组 nums 和一个整数 k &#xff0c;数对由 nums[i] 和 nums[j] 组成且满足 0 < i < j < nums.length 。返回 所有数对距离中 第 k 小的数对距离。 示例 1&#x…

LeetCode-94. 二叉树的中序遍历(C++)

目录捏 一、题目描述二、示例与提示三、思路四、代码 一、题目描述 给定一个二叉树的根节点 root &#xff0c;返回 它的 中序 遍历 。 二、示例与提示 示例 1&#xff1a; 输入&#xff1a; root [1,null,2,3] 输出&#xff1a; [1,3,2] 示例 2&#xff1a; 输入&#xf…

引入依赖时,对应类能点击进入,运行时报错

引入依赖时&#xff0c;对应类能点击进入&#xff0c;运行时报错 一、问题二、解决问题的过程三、解决方式1、排除其中一个依赖的公共包2、升级旧依赖 一、问题 我的问题是这样的&#xff1a;以前引入了阿里云文字识别的依赖&#xff0c;最近要调用视频活体检测的接口&#xf…

flutter笔记:骨架化加载器

flutter笔记 骨架化加载器 - 文章信息 - Author: Jack Lee (jcLee95) Visit me at: https://jclee95.blog.csdn.netEmail: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/qq_28550263/article/details/134224135 【介绍】&#xff1a;本文介…