当前位置: 首页 > news >正文

车联网OTA安全实践

摘要:

近年来,智能汽车已成为全球汽车产业发展的战略方向,汽车技术与工程核心逐渐从传统硬件层面转移到软件层面,汽车行业已经踏上了软件定义汽车(SDV)的变革之路。

在SDV的大趋势下,汽车零部件智能化水平不断提高,车辆内部搭载的软件也越来越多。毫无疑问,车辆复杂度的提高必将带来维护上的困难,车企要如何面对更新迭代速度越来越快的软件、固件系统?OTA(over the air)技术在软件定义汽车中扮演了核心角色,帮助车企远程实现车辆功能升级、性能优化、缺陷修复,为用户带来更好的服务和体验。车企也得以和用户建立更好、更深远的联系。

OTA安全风险

作为车企修复软件固件漏洞、迭代改进软件功能的重要途径,OTA的快速普及让其成为黑客的重点研究对象。总体上OTA常见的安全风险包括以下几个:

身份假冒

攻击者伪装OTA通信中的发送方或接收方身份。

窃听攻击

攻击者在OTA传输过程中窃取数据包,从而获取升级包内的敏感信息。

数据篡改

攻击者可能会对OTA升级包进行篡改,通过植入恶意软件、病毒等方式,对车辆进行攻击。

OTA安全实践

为了防范以上这些安全风险,OTA通信需要采取一系列安全措施,如加密传输、数字签名验证、数据完整性检测等,确保OTA通信的安全可靠。

当然,所有的加密都是有代价的,所以对于加密的使用需要综合我们的安全需求以及硬件和业务情况决定。帆一尚行采取了对称加密和基于PKI技术的非对称组合的数字信封技术,来作为OTA安全中的加密和签名方案。下面分享下我们在OTA过程中安全流程。

首先是我们的升级包制作过程 :1、OTA平台激活,通过PKI获取公私钥。2、对原始包用签名算法进行签名。3、使用对称算法对原始升级包进行加密。4、将加密升级包分发至CDN网络。

接下来是车端的升级流程:

1、车载终端通过预设流程激活从PKI获取终端证书,包含终端公私钥。

2、OTA平台基于PKI验证车载终端合法性并采用终端的公钥对对称密钥进行加密。

3、车载终端使用私钥解密加密后的对称密钥。

4、车载终端从CDN网络下载加密升级包。

5、车载终端利用对称密钥对加密升级包进行解密。

6、车载终端基于PKI平台能力进行验签。

以上过程在具体实施过程中采用了一系列散列、数据压缩、对称加密及非对称加密算法,可以归结如下:

1、在身份认证和完整性检查方面,使用数字签名来保证接收者收到的信息一定来自于信息所声明的发送者。

2、在消息加密方面,同时使用了对称加密和非对称加密的方法对消息明文进行加密操作。

以上流程使用PKI进行设备接入、密钥的分发和设备认证,完成信任体系构建。结合PKI技术和数字信封的思路,我们形成一个车云通信场景下的OTA基本轮廓。在保证OTA升级包安全性的同时,利用对称加密具有计算量小、加密速度快、加密效率高的特点,减小了对终端资源的消耗,规避了非对称加密由于算法自身的强度过高而导致加解密速度和对称加密相比不够理想的问题,利用了公钥算法加密对称会话密钥提高安全性和加解密的效率。

后记

以上过程可以从概念上描述基于PKI的OTA过程。OTA的安全工作是个体系化工程,除了通过PKI保障OTA传输安全(管端安全),云端和车端安全同样需要重视。例如在云端,需要采取的安全产品有云主机安全加固、应用防护、WAF、DDOS攻击防护等;在车端需要结合TEE、安全芯片等手段来保证密钥的安全存储、安全使用。

欢迎朋友们在后台留言,和我们一起讨论OTA安全话题。

帆一尚行是上汽集团为数字化转型而设立的创新平台,以“消融产业边界,释放数据价值”为己任,聚焦安全云、自动驾驶云、智能制造及产业互联网技术领域,赋能行业数字化转型,加速产业数字化、数字产业化进程,积极推动社会数字经济发展。作为一家深耕汽车行业云计算,同时发展多元化业务的科技公司,帆一尚行为企业、开发者和政府机构等提供安全、可靠的数据计算与处理能力、专属云产品与服务。

帆一尚行具备完整的车联网安全服务能力,支持用户全方位构建车联网架构体系。为了服务车企提供以下方面的能力输出:1.基于PKI的安全通信和身份认证与访问控制,2.基于云和端的数据安全以及脱敏方案,3.成熟可用的OTA能力,4.车辆安全检测与威胁预警VSOC系统,通过以上方案产品助力解决安全和合规问题。

帆一OTA产品已商用至多个车企的不同车型中,为车企提供零件、车辆、策略、任务等全方面的OTA管理能力,支持车企针对零件或者零件组进行升级刷写,并通过引入PKI体系,保证OTA全过程的安全。OTA产品有效提高车企软件修复和交付能力,帮助车企聚焦业务,加速数字化转型。

来源|焉知汽车

参考文献:

1.https://marcuseddie.github.io/2019/PGP-Introduction.html

2.http://www.catarc.org.cn/upload/202109/22/202109221135079397.pdf

相关文章:

车联网OTA安全实践

摘要: 近年来,智能汽车已成为全球汽车产业发展的战略方向,汽车技术与工程核心逐渐从传统硬件层面转移到软件层面,汽车行业已经踏上了软件定义汽车(SDV)的变革之路。 在SDV的大趋势下,汽车零部件…...

智融合·共未来丨智合同携手百融云创打造合同智能化应用服务平台

人工智能技术是当今社会的热议话题之一。近年来,众多企业在人工智能领域持续布局,相关技术已在社会生产各环节极大地提高了生产效率。如果把过去信息技术产业的发展比喻为“手工时代”,那么人工智能技术的出现则将把信息技术产业推向“自动化…...

iOS ARC

iOS ARC是自动引用计数的缩写,是一种内存管理技术。它是由苹果公司在iOS 5中引入的,用于自动管理对象的内存生命周期。在ARC中,开发者不再需要手动管理对象的内存,这大大简化了开发过程,同时也减少了内存泄漏的风险。 …...

【代码随想录】刷题Day13

1.deque使用 239. 滑动窗口最大值 deque的介绍在C语法(12)---- 模拟实现queue和stack_哈里沃克的博客-CSDN博客 其实deque就是一个两头都能进出数据的数据结构,我们之所以使用它就是因为他的结构特点就是两边出,这样我们既可以判…...

playwright连接已有浏览器操作

文章目录 playwright连接已有浏览器操作前置准备打开本地已有缓存的Chrome(理解)指定端口打开浏览器连接指定端口已启动浏览器(推荐) playwright连接已有浏览器操作 前置准备 pip install playwright # 安装playwright的python…...

深度学习模型评估简单介绍

文章目录 深度学习模型评估介绍训练集、验证集和测试集应用场景准确率和误差率精确率和召回率F1 分数ROC 曲线和 AUC总结 深度学习模型评估介绍 本教程将介绍深度学习模型的基本评估方法及它们的应用场景。我们主要关注监督学习模型。 训练集、验证集和测试集 在深度学习中&…...

PyTorch——利用Accelerate轻松控制多个CPU/GPU/TPU加速计算

PyTorch——利用Accelerate轻松控制多个CPU/GPU/TPU加速计算 前言官方示例单个程序内控制多个CPU/GPU/TPU简单说一下设备环境导包加载数据 FashionMNIST创建一个简单的CNN模型训练函数-只包含训练训练函数-包含训练和验证训练 多个服务器、多个程序间控制多个CPU/GPU/TPU参考链…...

4个很多人都不知道的现代JavaScript技巧

JavaScript在不断的进化和升级,越来越多的新特性让我们的代码变得更加简洁。因此,今天这篇文章,我将跟大家分享 4 个不常用的 JavaScript 运算符。让我们一起研究它们。 1.可选的链接运算符 这个功能非常好用,它可以防止我的代码…...

【Java笔试强训 19】

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、选择题 二、编程题 🔥汽水瓶 …...

JPA整合达梦数据库

陈老老老板🦸 👨‍💻本文专栏:国产数据库-达梦数据库(主要讲一些达梦数据库相关的内容) 👨‍💻本文简述:本文讲一下SpringBoot整合JPA与达梦数据库,就是简单&…...

制药专业转行软件测试,带我的师傅在这干了两年半,最终还是跑路了......

故事的开始 最近这几天有点忧伤,因为带我的师傅要跑路了,嗯,应该说已经跑路了,他是制药专业的,已经在这个公司干了两年半了。其实今年3月份的时候他就跟我说他要跑路了,然后我说,要不你先把五一…...

「SQL面试题库」 No_53 项目员工II

🍅 1、专栏介绍 「SQL面试题库」是由 不是西红柿 发起,全员免费参与的SQL学习活动。我每天发布1道SQL面试真题,从简单到困难,涵盖所有SQL知识点,我敢保证只要做完这100道题,不仅能轻松搞定面试&#xff0…...

Ruby适用于什么类型的开发

Ruby是一种开源的、解释型的、面向对象的编程语言,由松本行弘(Yukihiro Matsumoto)于1993年首次发布。Ruby语言的设计理念是追求简洁优美,使编程更加人性化,其语法简单、易读、易写,被誉为“程序员的最佳朋…...

Mysql数据库的备份恢复

最近正在做一个异地数据的定期同步汇总工作,涉及到的数据库主要是Mysql数据库,用于存储现场的一些IOT采集的实时数据,所以做了以下备份恢复测试,现场和总部网络可定期联通,但速度有限,因此计划采用备份恢复…...

C++ 使用动态内存创建一个类

使用动态内存的一个常见原因是允许多个对象共享相同的状态。 例如,假定我们希望定义一个名为Blob 的类,保存一组元素。与容器不同,我们希望Blob对象的不同拷贝之间共享相同的元素。即,当我们拷贝一个Blob时,原Blob对象…...

2023年华中杯选题人数公布

2023年华中杯选题人数公布 经过一晚上代码的编写,论文的写作,C题完整版论文已经发布, 注:蓝色字体为说明备注解释字体,不能出现在大家的论文里。黑色字体为论文部分,大家可以根据红色字体的注记进行摘抄。…...

【黑马旅游案例记录(结合ES)】

黑马旅游案例记录 11.9.黑马旅游案例11.9.1.酒店搜索和分页11.9.1.1.需求分析11.9.1.2.定义实体类11.9.1.3.定义controller11.9.1.4.实现搜索业务 11.9.2.酒店结果过滤11.9.2.1.需求分析11.9.2.2.修改实体类11.9.2.3.修改搜索业务 11.9.3.我周边的酒店11.9.3.1.需求分析11.9.3.…...

基于 A* 搜索算法来优化无线传感器节点网络的平均电池寿命(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 A*(念做:A Star)算法是一种很常用的路径查找和图形遍历算法。它有较好的性能和准确度。本文…...

三款自研AI应用引领未来,重塑行业新风尚

在这个科技日新月异的时代,AI技术已经渗透到我们生活的方方面面。今天,我们将向您推荐三款领域独具特色的AI应用,它们分别是AI律师、AI小红书文案提示词、以及AI Midjourney提示词。这些应用都具有独特的内涵,让我们一起走进这些智…...

Kafka的命令行操作

一、topic命令 下面Windows命令需要把cmd路径切换到bin/windows下。 而Linux命令只需要在控制台切换到bin目录下即可。 下面都以Windows下的操作为例,在Linux下也是一样的。 1.1 查看主题命令的参数 kafka-topics.bat # Windows kafka-topics.sh # Linux输…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录

ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...

23-Oracle 23 ai 区块链表(Blockchain Table)

小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...