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

目录

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.rhkb.cn/news/185131.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单月突破20万台大关!哪些供应商正在领跑W/AR HUD前装市场

传统汽车升级,从电动化到智能化,驱动更多的增量部件进入前装市场。这些产品通常都会经历几个关键的时间节点。 其中,前装搭载率10%,被视为细分赛道处在快速成长期的关键指标之一。并且,这意味着,产品已经得…

面试题:说一下线程、线程锁与线程池

文章目录 前言一、线程1.线程概念2.线程与进程的关系3.定义4.wait()和sleep()5.线程的状态及其他API 二、线程锁1. 普通锁机制2. Lock 三、线程同步工具类1. CountDowmLatch闭锁:2. CyclicBarrier栅栏:3. Exchanger交换机:4. 信号量 四、线程…

FreeRTOS源码阅读笔记2--list.c

list.c中主要完成列表数据结构的操作,有列表和列表项的初始化、列表的插入和移除。 2.1列表初始化vListInitialise() 2.1.1函数原型 void vListInitialise( List_t * const pxList ) pxList:列表指针,指向要初始化的列表。 2.1.2函数框架…

ARMday03(寄存器读写、栈、程序状态寄存器、软中断和异常、混合编程)

单寄存器内存读写指令 将一个寄存器中的数值写入到内存,或者从内存中读取数据放在某一个指定寄存器中 指令码和功能 1.向内存中写: str{条件码} 目标寄存器,[目标地址]:将目标寄存器的4字节数值写入到目标地址为首地址的空间中 strh{条件码…

跟着森老师学React Hooks(1)——使用Vite构建React项目

Vite是一款构建工具,对ts有很好的支持,最近也是在前端越来越流行。 以往的React项目的初始化方式大多是通过脚手架create-react-app(本质是webpack),其实比起Vite来构建,启动会慢一些。 所以这次跟着B站的一个教程,使用…

JavaScript脚本操作CSS

脚本化CSS就是使用JavaScript脚本操作CSS,配合HTML5、Ajax、jQuery等技术,可以设计出细腻、逼真的页面特效和交互行为,提升用户体验,如网页对象的显示/隐藏、定位、变形、运动等动态样式。 1、CSS脚本化基础 CSS样式有两种形式&…

【Ruoyi管理后台】用户登录强制修改密码

近期有个需求,就是需要调整Ruoyi管理后台:用户如果三个月(长时间)未修改过密码,需要在登录时强制修改密码,否则不能登录系统。 一、后端项目调整 从需求来看,我们需要在用户表增加一个字段,用于标记用户最…

Ansible优化大全

文章目录 一、关闭系统信息收集二、开启加速 Ansible 执行速度修改配置文件/etc/ansible/ansible.cfg由于该功能与sudo冲突,必须关闭 requiretty 选项方法一方法二 参考文章: https://blog.csdn.net/o0o0o0D/article/details/110998873 一、关闭系统信息…

【教3妹学编程-算法题】逃离火灾

3妹:2哥,今日都立冬了, 可是天气一点都不冷。 2哥 : 立冬了,晚上要不要一起出去吃饺子?🥟 3妹:好呀好呀,2哥请吃饺子喽 2哥 : 歪歪,我说的是一起出去吃,没说我…

Python|OpenCV-图像的添加和混合操作(8)

前言 本文是该专栏的第8篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 在使用OpenCV库对图像操作的时候,有时需要对图像进行运算操作,类似于加法,减法,位操作等处理。而本文,笔者将针对OpenCV对图像的添加,混合以及位操作进行详细的介绍说明和使用。 下面,…

【慢SQL性能优化】 一条SQL的生命周期 | 京东物流技术团队

一、 一条简单SQL在MySQL执行过程 一张简单的图说明下,MySQL架构有哪些组件和组建间关系,接下来给大家用SQL语句分析 例如如下SQL语句 SELECT department_id FROM employee WHERE name Lucy AND age > 18 GROUP BY department_id其中name为索引&a…

Python算法例9 罗马数字转换为整数

1. 问题描述 给定一个罗马数字,将其转换为整数,要求返回结果的取值为1~3999。 2. 问题示例 Ⅳ→4,Ⅻ→12,ⅩⅪ→21,XCVI→99。 3. 代码实现 def roman_to_int(s):roman_map {I: 1, V: 5, X: 10, L: 50, C: 100, …

Spring Boot中使用Spring Data JPA访问MySQL

Spring Data JPA是Spring框架提供的用于简化JPA(Java Persistence API)开发的数据访问层框架。它通过提供一组便捷的API和工具,简化了对JPA数据访问的操作,同时也提供了一些额外的功能,比如动态查询、分页、排序等。 …

一体化HIS医疗信息管理系统源码:云HIS、云电子病历、云LIS

基于云计算技术的B/S架构的HIS系统,为医疗机构提供标准化的、信息化的、可共享的医疗信息管理系统,实现医患事务管理和临床诊疗管理等标准医疗管理信息系统的功能。系统利用云计算平台的技术优势,建立统一的云HIS、云病历、云LIS,…

【C++】万字一文全解【继承】及其特性__[剖析底层化繁为简](20)

前言 大家好吖,欢迎来到 YY 滴C系列 ,热烈欢迎! 本章主要内容面向接触过C的老铁 主要内容含: 欢迎订阅 YY滴C专栏!更多干货持续更新!以下是传送门! 目录 一.继承&复用&组合的区别1&…

mongodb分组查询

通过userId分组,得到结果字段为:_id和count db.my_solitaire.aggregate([{$group: {_id: "$userId", count: {$sum: 1}}}])通过userId分组得到分组字段和其他想要的字段,得到_id,userName,count userName 为…

2023年的低代码:数字化、人工智能、趋势及未来展望

本文由葡萄城技术团队发布。转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案和服务,赋能开发者。 前言 正如许多专家预测的那样,低代码平台在2023年将展现更加强劲的势头。越来越多的企业正在纷纷转向低代…

一台电脑生成两个ssh,绑定两个GitHub账号

背景 一般一台电脑账号生成一个ssh绑定一个GitHub,即一一对应的关系!我之前有一个账号也配置了ssh,但是我想经营两个GitHub账号,当我用https url clone新账号的仓库时,直接超时。所以想起了配置ssh。于是有了今天这篇…

Flutter学习:使用CustomPaint绘制路径

Flutter学习:认识CustomPaint组件和Paint对象 Flutter学习:使用CustomPaint绘制路径 Flutter学习:使用CustomPaint绘制图形 Flutter学习:使用CustomPaint绘制文字 Flutter学习:使用CustomPaint绘制图片 drawPath 绘制路…

使用数据分析,识别设备异常

设备健康监测系统在工业领域中扮演着至关重要的角色,它能够帮助企业及时发现设备异常,预防故障,提高设备使用寿命和生产效率。而异常诊断技术则是设备健康监测系统中的核心部分,能够实现对设备异常情况的准确判断。根据设备状态数…