0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通过无线方式实施安全软件更新的架构考虑因素

星星科技指导员 来源:嵌入式计算设计 作者:Bjoern Steurich,Mar 2022-06-16 16:57 次阅读

随着人们越来越认识到我们的汽车正在演变为滚动数据中心,制造商面临着保持软件最新的挑战。部分需求是由经济驱动的;召回行动成本的上升使得自动升级变得至关重要。与此同时,消费者开始期待他们的计算机和移动设备会自动升级。因此,一个明显的步骤是使用移动连接进行软件无线 (SOTA) 更新。在汽车信息娱乐系统中使用 SOTA 更新已变得相对普遍,但在汽车的关键功能区域实施之前,需要考虑安全性、安全性和便利性因素。必须保护车辆免受篡改并且更新过程是可靠的,

IHS 的研究人员预测,向 SOTA 更新的运动 将加速,在最近的一份汽车报告中估计,通过 SOTA 节省的潜在成本将从 2015 年的约 27 亿美元增长到 2022 年的超过 350 亿美元(图 1)。降低召回成本、加快功能更新和提高客户满意度是汽车制造商 (OEM) 引入 SOTA 的充分理由。

pYYBAGKq8JOAP-gKAAD50mLRG_w833.png

【图1 | 显着的成本节约是 SOTA 的主要动力]

电子控制单元 (ECU) 实施 SOTA 比信息娱乐应用要求更高。通常,带有嵌入式闪存的微控制器用于控制汽车中的实时应用程序。执行更新时,必须遵守质量、安全和安保标准。车辆安全绝不能因数据安全性差而受到影响。

如果没有有效的安全性,SOTA 更新很容易受到旨在操纵车辆安全关键应用程序的攻击。这可能会危及整个车辆的安全,在最坏的情况下会危及车内乘客的生命。需要一种支持使用证书和私钥以及加密操作的复杂安全架构来防止这种情况。合适的密码学基于标准算法,例如 RSA、ECC、AES 和 SHA。安全微控制器具有此类安全功能和特性。

SOTA 流程和必要的安全架构

除了 SOTA 集成的安全性和安全性方面,对于汽车制造商来说,将车辆现有系统架构的影响降到最低并保证最大可用性(即车辆必须保持静止的更新时间最小化)是极其重要的。在这方面特别感兴趣的是现有的车载网络架构和 ECU 级别的特殊要求。这些将在下面讨论。

以前,对 ECU(或整车)进行重新编程意味着要去车库。此类更新使用插入车载诊断 (OBD) 插座的诊断工具。诊断工具管理完整的更新过程(特别是新软件或服务包的下载)、分发到目标 ECU 以及最终验证。如果可能,OEM 希望为 SOTA 保留类似的机制。因此,对于 SOTA,诊断工具的功能需要转移到车载网络架构的中心点,并为附加 SOTA 过程提供所需的功能。

SOTA 更新通常在连续的步骤中执行。一旦一个新的软件包被生产出来并被赋予一个安全“包装”(加密和签名),与目标车辆的通信就会发生。在车辆(作为客户端)和 OEM 更新服务器之间建立安全连接。车辆与服务器平台进行相互认证,并建立一个具有传输层安全性(TLS)的安全加密传输通道,将新的软件包交付给车辆。在初始验证后,更新存储在中央存储器中。此更新阶段在后台进行,不会通知驾驶员或影响车辆在驾驶时的行为。实际的更新过程要等到车辆安全停放后由驾驶员启动后才会开始。

SOTA 架构

SOTA 的车辆架构基本上可以细分为三个 ECU 模块,其中不同的安全微控制器执行不同的安全功能:远程信息处理控制器、中央网关和目标控制单元(图 2)。

pYYBAGKq8JuAI2RnAAHawJ1DxfQ055.png

【图2 | SOTA实现的主要功能块:远程信息处理单元、中央网关和目标ECU]

远程信息处理单元通过其移动无线电接口连接到 OEM 服务器并执行服务认证。出于安全原因,建议为此关键身份验证功能实施专用安全控制器(即可信平台模块或 TPM)。除了实际的应用控制器之外,还使用了一个独立的微控制器 (MCU),以实现与车辆网络的安全连接。

中央网关中的 MCU 支持对接收到的软件进行验证和中间存储。还可以将安全关键的身份验证功能从远程信息处理单元转移到网关中。在这种情况下,建议将 TPM 放置在网关中,然后网关可以承担其他重要的安全功能,例如中央密钥管理。

实际更新是在驱动程序初始化后在目标 ECU 中执行的。数据包从内存传输到目标 ECU,在那里它被解密、再次验证并最终“刷新”。如今,汽车级 MCU 支持所有这些与安全相关的功能。

使用“信任锚”进行安全身份验证和验证

如上所述,被称为“信任锚”的安全控制器执行专门的安全功能以防止操纵和故障,尤其是在更新关键安全相关应用程序期间。TPM 是一种基于标准、经过认证的安全控制器,可专门用于关键身份验证功能。它的任务是确保只有经过授权的设备才能向车辆发送数据。

TPM 执行所有加密算法以进行身份​​验证。为此,它将长期证书和私钥保存在受保护的域中。TPM 2.0 支持最新的算法,如 ECC、RSA、AES 和 SHA 256。TPM 可以加密链接到应用程序处理器。TPM 的密钥存储器是可扩展的,可以安全地加载到应用处理器的外部存储器中。因此,OEM 能够保存更多的身份验证证书。

TPM 是在经过安全认证的制造过程中生产的,其中第一个密钥安全地保存在 TPM 中。与安全硬件扩展 (SHE) 模块或硬件安全模块 (HSM) 相比,TPM 中的保护级别(例如针对硬件或侧信道攻击)要高得多。但是,所有相关的 MCU 都应具有这些集成安全模块之一,以确保端到端保护。

典型的网络攻击以执行非指定操作的方式操纵系统。为了防止这种情况,系统通常被分解为不同的、隔离的安全域。TPM 是隔离安全域的示例,它将非对称密钥存储在单独的受保护环境中,并将它们用于加密过程。汽车微控制器还定义了隔离的安全域。HSM 可以将安全功能与应用程序域隔离开来。第一个重要步骤是通过安全启动对在驾驶周期开始时涉及的微控制器中的程序存储器进行完整性检查;SHE 和 HSM 都使用加密校验和检查内存内容。

具有嵌入式 HSM 的 MCU 还对接收到的软件进行重要验证。验证过程受益于 HSM 强大的加密加速器和快速通信总线。此验证由网关 MCU 使用 HSM 执行。由于固件验证仅使用公共证书,因此安全要求低于身份验证过程。

在 SOTA 上下文中,HSM 也可用于按需完整性检查。在我们的示例中,远程信息处理单元和网关都安全地交换其完整性状态,然后才开始软件更新。可以在目标 ECU 上实施类似的程序。目标 ECU 也使用 HSM,但安全闪存引导加载程序 (SFBL) 负责接收和验证更新。闪存引导加载程序 (FBL) 和 SFBL 之间的区别在于后者实现了额外的加密算法。引导加载程序本身应从任何 SOTA 更新过程中排除。由于车辆在行驶过程中可能会受到攻击,因此动态检查应用软件的能力是 HSM 优于 SHE 模块的关键优势。

专为最大可用性而设计

身份验证和相关的安全功能通常在网关 ECU 内部执行,新软件包从 OEM 服务器下载后临时存储在中央存储器中。由于新软件必须从网关的中央存储器传输到目标 ECU,因此必须考虑相应的网络拓扑,因为它在 OEM 之间有所不同。本质上存在三种不同的方法(图 3)。

pYYBAGKq8KWAN3X6AAHaW4Adbf8681.png

【图3 | 用于安全 OTA 固件更新的各种方法:使用中央网关内存的传统方法、使用两个闪存块的 A/B 交换以及具有额外本地内存的方法]

在“传统”方法中,为了更新单个 ECU,相关的新软件包通过板载网络从中央存储器加载到目标 ECU 微控制器中的嵌入式闪存中。这是一步完成的——无需对 ECU 进行任何硬件更改。主要限制是总线速度,它决定了更新需要多长时间。表 1 显示了常见总线系统的数据速率。让我们假设一个 4 MB 的服务包,如表中所示。在这种情况下,通过 CAN 总线更新单个 ECU 大约需要 5 分钟;带有 20 个 ECU 的车辆将停止运行超过 1.5 小时。尽管有多种方法可以提高吞吐量(集群 CAN 总线子域或数据压缩),但它们都会导致复杂性和成本增加。

poYBAGKq8LOAJjPsAAJBAhT6yDI768.png

[表 1 | 各种总线系统的数据传输率比较]

另一种方法是 A/B 交换。闪存中有两个块(A 和 B)用于执行微控制器内部的代码。软件从中央存储器下载到目标 ECU 并重新编程空闲的内存块(例如块 B)可以在车辆使用时在后台进行,并且需要尽可能长的时间。同时,块 A 不受影响,可以继续用于执行当前代码。一旦所有 ECU 都以这种方式“预编程”,控制器就会将代码执行从块 A 切换到块 B。交换过程在重新启动后完成。这种方法具有几乎不存在停机时间的巨大优势。缺点在于更大的闪存成本更高,并且需要额外的验证机制来排除对功能安全的任何影响。此外,

第三种方法旨在结合前两种方法的优点: 提供额外的“ECU 级别的外部存储器”。新服务在车辆使用时在后台加载到此外部存储器中,并在此处等待实际更新过程。这种方法利用了这样一个事实,即现代微控制器可以非常快速地擦除和重新编程其闪存。例如,可以通过 SPI 接口在 8 秒内从外部本地存储器擦除和重新编程 4 MB。这种方法的主要好处是对现有系统设计的干预最少、可管理的额外成本以及附加存储元件的小尺寸。表 2 对所讨论的三种方法进行了比较。

poYBAGKq8LqAWYraAAG8-uxP2NM536.png

[表 2 | SOTA固件更新的各种方法的优缺点]

结论

汽车软件的无线更新功能有望为汽车行业节省大量资金,并改善客户的拥有体验。但是,需要制定足够的安全规定,以防止非法访问车辆及其安全关键应用程序。适当的微控制器和关键点的额外专用安全控制器提供优化的功能来保护 SOTA。除了具体的安全措施外,OEM 还需要考虑如何通过优化的网络架构和内存策略,最大限度地减少更新过程中的车辆停机时间,从而减少对驾驶员的影响。

作者:Bjoern Steurich,Martin Klimke,Ines Pedersen

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7469

    浏览量

    150940
  • 控制器
    +关注

    关注

    112

    文章

    16150

    浏览量

    177208
  • 存储器
    +关注

    关注

    38

    文章

    7444

    浏览量

    163548
收藏 人收藏

    评论

    相关推荐

    BiCMOS ICs供电的考虑因素

    电子发烧友网站提供《BiCMOS ICs供电的考虑因素.pdf》资料免费下载
    发表于 10-23 09:34 0次下载
    BiCMOS ICs供电的<b class='flag-5'>考虑</b><b class='flag-5'>因素</b>

    Zonal架构在SDV中的主要优势

    随着软件定义汽车 (SDV) 的日益普及,Zonal架构也在不断发展。从提高效率到实现无缝扩展,这种专门针对特定功能的模块化架构有望解锁SDV的核心优势。不过,虽然实施Zonal
    的头像 发表于 10-21 15:31 182次阅读

    无线充芯片-手机无线充电芯片-无线充电芯片开发定制

    基于需求信息,进行无线充电芯片的技术研发与创新。这包括芯片架构设计、电路布局优化、算法开发等方面的工作。在研发过程中,需要充分考虑高效能量传输、兼容性与互操作性以及成本控制等因素,确
    发表于 09-27 11:32

    选择数字隔离器的考虑因素

    电子发烧友网站提供《选择数字隔离器的考虑因素.pdf》资料免费下载
    发表于 08-31 09:42 0次下载
    选择数字隔离器的<b class='flag-5'>考虑</b><b class='flag-5'>因素</b>

    8月8日在线研讨会 | 如何快速开发量产级别功能安全应用软件

    本次研讨会经纬恒润将结合自身控制器产品研发及国内外功能安全开发、集成、测试、咨询的实践经验,重点基于功能的应用监控软件,从需求定义、架构设计、单元设计及测试验证等多个环节,分享功能安全
    的头像 发表于 08-01 16:10 233次阅读
    8月8日在线研讨会 | 如何快速开发量产级别功能<b class='flag-5'>安全</b>应用<b class='flag-5'>软件</b>

    mos管的选型主要考虑哪些因素

    了MOSFET选型时需要考虑的关键因素,包括电压等级、电流承载能力、导通电阻、开关速度、热性能、封装类型、成本效益等。通过对这些因素的深入分析,帮助工程师在设计电子电路时做出明智的选型
    的头像 发表于 07-11 15:16 715次阅读

    带你走进信息安全软件架构

    经纬恒润车端信息安全解决方案整合了 MCU 端以及 MPU 端的信息安全解决方案,具体方案包括 Security Boot、安全通信、安全存储、安全
    的头像 发表于 06-12 14:36 839次阅读
    带你走进信息<b class='flag-5'>安全</b><b class='flag-5'>软件</b><b class='flag-5'>架构</b>

    艾体宝方案 | 管理开源软件更新,提升开源安全

    文章介绍了Mend.io如何通过其Smart Merge Control功能增强开源软件安全性。现代应用程序高度依赖开源软件,但这也增加了潜在的
    的头像 发表于 05-31 17:03 282次阅读

    MATLAB电路仿真时间要考虑那些因素

    MATLAB电路仿真是一种常用的工具,用于模拟和分析电子电路的性能。在进行电路仿真时,需要考虑各种因素,以确保仿真结果的准确性和可靠性。下面是一些需要考虑的主要因素: 电路拓扑结构:电
    的头像 发表于 04-21 09:27 651次阅读

    架构开发与优化咨询和实施服务

    得益于硬件平台算力的提升,汽车电子电气架构的集成度逐渐提高,多域融合成为了目前行业中软件工程的重要工作内容。经纬恒润可以为汽车电子和软件工程师在开发软件
    的头像 发表于 02-05 14:26 341次阅读
    <b class='flag-5'>架构</b>开发与优化咨询和<b class='flag-5'>实施</b>服务

    汽车软件开发CAEdge框架关键技术

    软件定义汽车中,汽车功能主要通过软件实现,不再仅仅依赖硬件。这种将软件与硬件解耦的方式使得新功能和软件
    发表于 01-24 14:16 500次阅读
    汽车<b class='flag-5'>软件</b>开发CAEdge框架关键技术

    FPGA管教分配需要考虑因素

    FPGA验证是其中的重要的组成部分,如何有效的利用FPGA 的资源,管脚分配也是必须考虑的一个重要问题。一般较好的方法是在综合过程中通过时序的一些约束让对应的工具自动分配,但是从研发的时间段上来考虑
    发表于 01-10 22:40

    AtomGit教程 | 使用AtomGit双因素验证保障您的账户安全

    在数字化时代中,信息安全显得尤为重要。账户被盗、个人信息泄露等事件时有发生,给人们的生活和工作带来了很大的风险。为了应对这些安全威胁,越来越多的服务提供商开始采用一种名为“双因素认证”的安全
    的头像 发表于 12-28 15:55 567次阅读
    AtomGit教程 | 使用AtomGit双<b class='flag-5'>因素</b>验证保障您的账户<b class='flag-5'>安全</b>

    高压放大器的考虑因素有哪些

    高压放大器 是一种重要的电子设备,用于放大高电压信号。其设计和应用需要考虑多种因素,以确保性能稳定、安全可靠。以下是设计高压放大器时需要考虑的主要
    的头像 发表于 12-25 11:50 414次阅读
    高压放大器的<b class='flag-5'>考虑</b><b class='flag-5'>因素</b>有哪些

    在配置外部接口的过程当中,需要考虑因素?

    在配置外部接口的过程中,需要考虑因素有很多,包括以下几个方面: 业务需求:首先需要明确业务需求,确定外部接口的功能和作用。这包括了解外部接口的用途、支持的业务流程以及业务数据的传输方式等。
    的头像 发表于 12-15 15:46 714次阅读