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

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

3天内不再提示

利用安全闪存保护嵌入式系统解决网联汽车和工业应用中安全问题

454398 来源:电子产品世界 作者:SandeepKrishnegowda 2020-09-25 15:28 次阅读

I.引言

在一个日益趋于嵌入式和互联的世界中,安全问题正在变得举足轻重。每一个嵌入式系统都扩大了攻击面,从设备和车辆到办公室和工厂,其中的一切都更加容易受到攻击。在汽车电子工业系统等应用中,功能安全上升到了至关重要的位置。

设计工程师深知,对安全和隐私与日俱增的关注已成为影响购买决策的一个主要因素。消费者和企业轻易采用新技术的日子已经一去不复返。如今,慎重取代了信任,这促使每个供应商都必须在某种程度上保证其产品和服务的安全性。政府也有着同样的担忧,因此推出法规,要求供应商执行各项安全规定,若未能执行有时候还会受到处罚。

设计工程师还意识到,保障嵌入式系统的安全将变得越来越困难。原因是,随着SOC/MCU在应对复杂的实时应用方面越来越强大,它们开始向较小尺寸的CMOS技术(例如:16纳米或7纳米)过渡,以加快速度和降低功耗。但是在较小尺寸的条件下,目前还没有可用的可重编程非易失性存储器(NVM)技术。这就导致了eFlash(MCU的嵌入式闪存)的去集成,需要一种天然安全的架构,并且支持外置闪存。这就需要制定特殊的规则以确保其安全运行。

本文的第II章和第III章还分析了设计安全嵌入式系统的挑战,包括嵌入式闪存的去集成所造成的挑战。第四章则探讨了利用安全闪存保护嵌入式系统的新一代架构。

II.嵌入式闪存面临去集成

为了应对日益增长的安全问题,芯片供应商将硬件安全模块(HSM)功能集成于MCU。HSM位于安全的处理环境中,其中含有一个基于硬件的信任根,用于保护敏感数据、处理器状态、启动加载程序、加密密钥和应用安全服务代码。嵌入式存储(eFlash和RAM)也是安全处理环境可信边界的重要组成部分,因此足以抵御常见威胁。

片外存储(例如:外置闪存)并非天然可信,并且容易受到持续攻击。应对措施一般是对外置闪存中的数据进行加密,然后在执行代码之前,将其从外置闪存下载至MCU内置的RAM进行解密和验证。这种方法尽管足够强大,可以抵御大多数攻击,但是会导致性能下降(启动时有可能会出现问题)和成本上升(需要更多的内置RAM和更高的功率),甚至有可能仍然容易受到持续攻击(例如:回滚攻击)。

随着MCU逐步应用于先进的技术节点以提升性能、提高性价比和降低功耗,闪存的去集成有可能带来更大的威胁,以前被eFlash全部或部分克服的某些可信存储挑战也许会卷土重来。此外,由于嵌入式系统的普及所造成的威胁性环境也会带来新的挑战,而使用外置闪存则会让这些挑战变得更加难以克服。

为了确保外置闪存的安全,需要解决的主要威胁包括:

  • 模拟闪存芯片的授权数据访问
  • 篡改闪存芯片存储的内容
  • 重放通讯指令以解析闪存芯片的内容
  • 在不安全环境进行设置以获取密钥
  • 在闪存芯片通讯时进行窥探(中间人)攻击
  • 通过旁路攻击或故障注入来公开(获取或观察)闪存芯片的内容和密钥
  • 电子方式损害闪存芯片的完整性
  • 克隆闪存芯片

为了解决上述及其他对外置闪存的威胁,有效地使其成为安全处理环境可信边界的组成部分,该设备必须提供以下三种功能:

基于硬件的信任根,可防止攻击对存储的代码和/或数据造成的修改、操纵、复制或其他潜在影响

通过MCU或云端提供安全更新,综合利用各种措施进行端到端保护,包括通过总线的加密验证,通过读/写访问方法实现的安全区域,安全密钥存储空间,以及非易失性防回滚计数器

低成本,无需额外的安全设备(例如:可信平台模块),也无需更改电路板,包括支持x4SPI和x8HyperBus标准.

图1显示了专门设计的安全闪存(见第IV章)如何提供上述三种功能。实际上,安全闪存通过标准总线从外部扩展了MCU嵌入式闪存集成的HSM功能。还请注意,图一也同时展示了安全闪存如何取代普通的NOR闪存,从而继续使用现有的电路板。

值得一提的是,使用外置闪存还具有一些其他优势,首先是它能够更加轻松地适应不断增加的代码长度。嵌入式系统常用的标准闪存容量规格可以支持1Gbit甚至更大的存储空间,远高于eFlash。外置闪存还可以容纳更多的CPU内核/负载,以应对机器学习人工智能等复杂技术所需的更密集、更实时的处理。这些变化有助于简化设计工作并加快产品上市,从而提供不同的型号以便更好地满足价格、性能或其他标准方面的需求。

III.利用外置闪存设计安全的嵌入式系统

无论是使用eFlash还是外置闪存,设计安全的嵌入式系统都是一项越来越繁重的工作。本章重点介绍一些重要的注意事项,以帮助指导设计和开发工作。

通常,针对端到端安全而设计的系统必须具备三大要素:

  • 保护机制,用于保护代码和关键数据的完整性,防止各种方式的删除、更改或破坏
  • 检测机制,用于揭示代码和/或关键数据何时被以某些未经授权的方式更改
  • 恢复机制,用于恢复被以某些未经授权的方式更改的代码和/或关键数据的完整性

工程师设计的系统应能够应对STRIDE模型已验证的所有威胁。下表概述了此模型,它提供了一种实用的方法,以了解各种潜在的威胁以及如何使用各种安全措施来应对各种威胁。

安全产品设计需要建立基于信任根的可信执行环境(TEE)。在使用所有组件和子系统之前,TEE提供了验证真实性和完整性的方法。创建这种安全设计的部分最佳方法如下:

  • 实施硬件信任根以创建安全基础
  • 通过验证和加密巩固这一基础
  • 保护所有连接、网络和云组件的端到端价值链
  • 提供防御旁路攻击和故障注入技术的能力
  • 对系统进行独立的漏洞和风险评估
  • 持续实时监控异常情况
  • 实施应对流程(例如:安全更新)

图2显示在系统中实施信任根时如何权衡风险和成本。可以预料,基于软件的设计成本最低,而安全性也最低。图2没有显示不安全嵌入式系统的间接成本,而这些非常实际的成本可以轻松地证明,基于硬件的设计可以将安全性最大化。

美国国家标准技术研究院计算机安全资源中心解释了在硬件中实施信任根的优势:“信任根是执行特定关键安全功能的高度可靠的硬件、固件和软件组件。因为信任根天然可信,所以必须通过设计来确保它们的安全。为此,许多信任根都在硬件中实施,这样恶意软件便无法篡改其提供的功能。”

技术的进步不断推动IC成本下降,集成新一代IC的系统成本也随之降低。外置闪存也是这种情况,安全“智能闪存”的出现,减少了在硬件中实施信任根并纳入其他必要功能所需的工作。

IV.安全闪存:新一代智能存储

半导体厂商想方设法寻求小尺寸的嵌入式闪存,但是还没有可行的解决方案出现。小尺寸RRAM和MRAM技术已作为eFlash的替代品得到了广泛研究,但由于数据完整性和成本方面的挑战,它们目前都还不可行,尤其是不适合要求高温高可靠性的关键任务应用。截至本文撰写之时,尚不能确定这些技术或其他相关技术何时(或是否)能够交付批量生产的嵌入式存储。

尺寸缩小导致变化不可避免,因此产生了对新型安全信道的需求。在这种信道中,信息交换发生在MCU内部的HSM和外置存储设备的加密安全区之间。一种前景不错的解决方案是舍弃目前的做法,不将各种类型的存储集成于处理器,而将处理器集成于存储IC,是为智能存储。图3显示了安全闪存如何与主机MCU建立经过验证和加密的安全处理环境。

新一代智能存储的这种发展趋势有可能为电子行业带来革命性的变化。就嵌入式系统而言,技术发展将集中体现在NOR闪存上。NOR闪存是一种理想的非易失性存储,存储代码具有持久性,并具备快速随机读取性能。

安全NOR闪存,或更简单的安全闪存,可为安全密钥、证书、哈希密码、特定应用数据、配置数据、代码版本信息和生物识别传感器数据提供硬件保护的安全存储,以便用于验证。安全闪存还支持经过验证和加密的交易,以防止未经授权的访问和其他安全威胁。

相比之下,当前基于状态机的存储架构则无法提供与嵌入式处理器相同的多功能性和性能。例如,强大的安全需要强大的加密,进而需要强大的处理能力。嵌入式处理器还支持其他安全要求,包括HMAC密钥生成和存储以及防回滚计数器,并可保护固件、启动镜像和系统参数免受攻击。

在存储中嵌入处理能力有助于集成逻辑,以添加特定功能和/或减轻系统主SOC/MCU的工作量。例如,嵌入式处理可以实现硬件信任根的创建,从而防止对存储的代码和数据进行修改、操纵和其他安全攻击。或者,处理器也可以对原始数据运行各种算法,包括机器学习算法,然后存储系统其他功能所需的结果。

此外,针对可以通过智能存储的嵌入式处理器运行代码而全部或部分认证的安全法规,新系统能够更加轻松地获得认证。这样,通过简化所需的设计和开发工作,我们可以极大地加快新产品的上市速度。

图4显示了内置了智能化安全的闪存如何满足嵌入式系统所需的性能、可靠性、安全性和功能安全。通过使用包括x4SPI(QSPI)和x8HyperBus在内的标准总线协议,智能安全闪存可以与主控芯片配合,以达到要求严苛的互联应用所需的安全级别,同时仍然完全兼容现有的主控芯片存储控制器

对于不允许发生故障的关键任务应用,安全闪存可以确保系统的安全启动,记录关键的信息,并扩展重要功能的工作存储。此类“故障保护”应用的示例包括:高级驾驶辅助系统(ADAS),便携式医疗设备,工厂自动化,国防级传感器,以及高级无线通信系统。

无故障的一个重要方面,是对存储的代码和数据进行加密,以防遭到更改或破坏。通过集成加密引擎和嵌入式处理器,数据能够以安全的方式进行存储。考虑到存储所增加的逻辑门数远小于CPU和专用计算引擎所需要增加的逻辑门数,因此在智能安全闪存中以相对较低的增量成本实施加密和其他高级功能更为可行。

安全闪存创建的硬件信任根,可提供一个安全环境或与安全MCU提供的TEE集成。信任根有一个至关重要的作用,就是确保系统正常启动,理想情况下应基于可信计算工作组的设备标识符组合引擎(DICE)标准。安全启动流程对闪存和主SOC/MCU进行相互验证,以确保穿越总线的所有交易的机密性,从而实现端到端的保护。而且因为闪存是智能的,所以经过验证的启动过程可以在某些应用领域需求的不到100毫秒时间内实现。

能够将代码安全地更新至最新版本,是安全启动流程的另一个重要方面。这就要求确保FOTA或其他形式的更新在没有任何篡改或损坏的情况下完成,无论是有意还是意外的损坏。如果通过版本认证或其他方式检测到任何篡改,那么可以利用备份功能还原以前已知有效版本(虽已降级)的代码。同样的功能也可用于保护非安全生产设施或服务中心可能存在的任何设备配置。

嵌入式智能使得安全闪存除了保护存储的代码和数据之外,还可以处理其他任务。例如,支持XIP功能使得作为可信环境的安全闪存可以直接执行代码,从而减轻主机MCU的负载。这样也可以减少MCU所需的片上RAM的数量,从而有助于降低成本和功耗。

在最严苛的安全性和功能安全需求推动下,汽车和工业自动化市场率先采用安全存储。因为嵌入式系统的潜在漏洞可能导致远程攻击,并最终威胁到乘客或工作人员的安全,所以,如果不能确保强大的安全性,就无法实现系统的功能安全。因此,安全关键型应用的所有半导体组件(包括外置闪存设备)都必须符合ISO26262高级驾驶员辅助系统(ADAS)标准和IEC61508工业系统标准。

持续监控现场设备状况,执行远程诊断和预防性维护,也都非常重要。闪存设备容易出现几种故障模式,包括由于电荷损耗或宇宙辐射引起的闪存单元故障、时延、功率损耗故障等,这些故障都必须即时加以解决,以确保在20年以上的使用寿命中提供较高的可靠性。

V.结论

智能安全闪存作为eFlash的替代产品已经逐步得到了人们的接受,随着它的工艺尺寸缩小到28nm以下,eFlash的使用必将变得日渐稀少,直至完全消失。芯片可以集成eFlash、但集成HSM功能的安全闪存方案更具有优势。在这两种设计中,安全闪存都可以通过行业标准总线,以加密安全的方式,在受保护区域和主机MCU的HSM之间传输代码和数据。

可以预期,采用安全闪存的设计将变得越来越普遍,对于满足不断发展的安全需求来说甚至必不可少。如今,攻击行为正在变得日渐广泛和复杂,各项法规预计将会越来越严格,自动化程度的提高也将进一步提升安全性和功能安全的重要性。为了满足这些不断发展的需求,同时最大程度地加快新功能的上市速度,设计工程师将越来越依赖仅智能安全闪存可以提供的便捷性。

关于作者

SandeepKrishnegowda是赛普拉斯半导体公司闪存业务部的产品总监。他在赛普拉斯的存储器产品部门工作了十多年,担任过各种工程、管理和营销职务。他拥有伦斯勒理工学院的电子和通信硕士学位,以及韦斯科技大学的电子和通信学士学位。

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

    评论

    相关推荐

    安全嵌入式系统设计

    江湖救急啊!!!明天要交卷了,SOS!!安全带是驾驶员和乘客生命的重要保障。为确保坐在汽车前排人员正确系好安全带,请设计一个嵌入式系统。要求
    发表于 03-25 17:48

    嵌入式系统安全问题:今天的问题,而不是明天的

    。 Vamosi认为,这种现象并不少见。援引其同事Mocana去年进行的一项研究,Vamosi指出,很多厂商在安全问题上保持沉默:25%的受访者表示他们知道其嵌入式设计存在安全问题
    发表于 12-02 13:35

    汽车嵌入式系统的许多标准

    嵌入式系统利用自身的技术特点,逐渐成为众多行业的标配产品。嵌入式系统具有可控制、可编程、成本低等,它在
    发表于 03-26 10:10

    嵌入式操作系统设计的最佳安全保护措施

    作者:Bill Graham产品营销经理风河公司本文讨论了在嵌入式系统设计需要注意的一些最佳安全保护措施,特别是那些在任务
    发表于 05-16 10:44

    汽车嵌入式系统的发展如何?

    的不断进步,在汽车电子技术得到了广泛应用。目前,从车身控制、底盘控制、发动机管理、主被动安全系统到车载娱乐、信息系统都离不开汽车
    发表于 08-02 07:35

    安全系统需要保护什么?

    、烟雾探测器、ATM、收银机等,由此看来,风险无处不在。嵌入式系统需要安全保护的原因有多种,某些应用,***部门需要对敏感数据进行
    发表于 08-06 08:01

    怎么减少嵌入式系统安全维护工作?

    嵌入式是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM嵌入
    发表于 08-16 06:11

    嵌入式系统有什么安全技巧?

    中间人攻击、黑客攻击、间谍和篡改、内存数据错误——嵌入式系统面临各种威胁。儒卓力GDPR专家团队主管兼嵌入式和无线部门营销总监Bertron Hantsche提供了六个安全技巧,以便增
    发表于 10-18 06:28

    如何提升嵌入式系统的VxWorks安全性?

    实时嵌入式系统与网络的结合以及高可信覆盖网络的发展使得嵌入式实时操作系统安全性问题日益突出。提高实时
    发表于 10-30 06:03

    嵌入式设备如何提高安全

    工程师来说,安全是又一个极其复杂的主题,在为嵌入式微控制器设计系统时,很难把握到底需要怎样的保护力度。    为了简化安全性这一讨论话题,我
    发表于 06-30 11:05

    固件漏洞安全问题的解决办法

    为各类应用保驾护航。  Sentry解决方案包括可定制化的嵌入式软件、参考设计、IP和开发工具,可加速实现符合NIST平台固件保护恢复(PFR)指南的安全系统。    固件漏洞正逐年增加,安全
    发表于 09-07 17:16

    使用安全IC保护IoT嵌入式设计

    控制,因此您可以安全地启用和禁用各种基于工厂的选项安全IC继续为现有以及新的嵌入式设计提供高级保护。使用这些设备进行设计的优点之一是,您无需成为密码专家就可以
    发表于 09-28 19:21

    嵌入式系统在行业的应用

    支持较大系统的一个或多个特定功能。嵌入式系统已成为航空航天和国防、汽车、医疗设备、通信和工业
    发表于 12-22 06:35

    自动化出现二个新要点,IoT带来的变化(第一篇:嵌入式设备安全,老兵新传,关系IIoT安全

    ,攻击者入侵一辆处于自动驾驶模式的汽车后,相当于劫持了这辆汽车,黑客就可以操控汽车将其驶离正常行驶的道路,后果不堪设想。因此,嵌入式系统安全
    发表于 07-04 10:27

    使用外部闪存安全嵌入式系统

    在本系列的第 1 部分中,我们介绍了安全性在连接的嵌入式系统中的重要性,以及强制使用外部闪存闪存的去集成。在本系列的第 2 部分中,我们介
    的头像 发表于 10-21 09:23 450次阅读
    使用外部<b class='flag-5'>闪存</b>的<b class='flag-5'>安全</b><b class='flag-5'>嵌入式</b><b class='flag-5'>系统</b>