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

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

3天内不再提示

将您的引导代码存储在安全的NOR闪存中

星星科技指导员 来源:嵌入式计算设计 作者:Zhi Feng 2022-10-24 15:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

安全启动是构建安全电子系统的基础。随着微控制器的工艺几何形状不断缩小,板载嵌入式闪存正逐渐被取代。

电子系统在我们的生活中起着至关重要的作用。无论是通过智能手机进行通信,还是驾驶配备高级驾驶辅助系统(ADAS)的汽车,我们都依靠电子设备来简化甚至执行我们的日常任务。这些系统容易被黑客入侵,并且它们连接的事实放大了威胁。随着可信情报采取关键活动(例如,个人医疗监控),网络攻击和破坏的后果增长到包括身体伤害甚至死亡。在这种新的现实中,建立能够抵御此类攻击的电子系统势在必行。

安全启动是构建安全电子系统的基础。随着微控制器的工艺几何形状不断缩小,板载嵌入式闪存正逐渐被外部NOR闪存所取代。这种体系结构演变通过公开的总线接口、克隆可能性等创建了更大的攻击面。解决这一日益严重的漏洞的一种方法是使用安全NOR闪存进行设计,以保护存储,并帮助MCU在启动时建立安全的信任链。

安全启动 – 安全系统的基础

每个电子系统在通电时都会启动。对于嵌入式系统,这通常通过运行存储在非易失性存储器中的引导代码来实现。要启用安全引导,系统需要建立信任根,从原始硬件存储引导,并使用原始受信任的引导代码引导(请参阅图 1)。

建立信任根

当MCU开始启动时,它必须从受信任位置运行。这通常是通过小型内部ROM或受信任的嵌入式闪存实现的。此代码必须是不可变的,以便系统可以从本质上信任它。它是信任根层次结构的基础。从这里,系统可以通过对硬件进行身份验证并验证存储内容来将信任扩展到外部存储。

非对称密钥算法

为了建立信任根,ROM代码通常依赖于预先存储的密钥。如果使用非对称密钥算法,则此密钥通常是公钥。MCU 使用此公钥来验证第二阶段引导加载程序的签名,该签名位于外部闪存设备上。与实际引导加载程序一起存储的签名是引导加载程序的摘要值,并使用与公钥以加密方式配对的私钥进行签名。如果MCU使用公钥成功验证引导加载程序签名,并从当前引导加载程序计算相同的摘要值,则可以确定引导加载程序代码未被更改。通过这种方式,建立了信任根。这个经过验证的第二阶段引导加载程序现在可以安全地执行。

对称密钥算法

通常,对称密钥算法的执行速度比对称算法慢。因此,在启动时间至关重要的应用程序中,用户通常选择对称密钥算法。使用对称密钥,主机MCU和外部闪存共享相同的密钥。在现场部署之前(即在制造过程中),可以在安全环境中提前建立此共享密钥。随后,共享密钥可用于通过在软件上使用基于密钥的哈希值来快速验证第二阶段引导加载程序。

poYBAGNWOmSAVWDyAAGtsbin1pU094.png

图 1:建立信任根

从原始硬件存储启动

如果整个引导代码存储在 MCU 内的嵌入式闪存上,则从原始硬件存储引导可能不是主要问题。这是因为在不损坏MCU主机的情况下更换嵌入式闪存是不可能的。然而,随着行业向22 nm MCU迈进,在MCU中嵌入闪存变得越来越困难。超过28nm的技术可能被迫将引导代码存储在外部闪存中。因此,要安全引导,主机必须考虑是否已更换外部闪存。

为了防止黑客克隆具有原始内存内容的硬件,主机MCU可以在制造过程中执行与引导存储设备的配对过程。之后,只有此配对的存储设备才能提供用于引导的引导代码。因此,必须在设备上使用安全的硬件标识符来提供此类配对功能。标识符可以是不能篡改或克隆的非常强的设备 ID。因此,配对后的认证过程可以基于这样的标识符。

使用受信任的原始启动代码启动

识别原始硬件存储后,下一步是验证引导代码,以确保其未被篡改或修改。有多种方法可以做到这一点,每种方法都需要不同的处理能力并提供相应的安全级别。

简单保护

与大多数传统的NOR闪存一样,用户可以在引导代码所在的内存范围内启用块或基于扇区的保护。这种保护还可以防止意外写入并从受保护区域擦除。简单保护中没有安全元素,因此这种保护对于更改代码的故意攻击很弱。黑客可以轻松发出命令来取消对区域的保护并修改启动代码。即使保护方案包含密码,也可能被复杂的攻击所破解,因为密码本质上是静态的。

校验和验证

如果校验和是根据原始引导代码计算得出的,则可以在后续引导中使用它来验证代码是否未被修改。此过程必须由主机完成;因此,它要求主机从引导设备读取整个引导代码并计算校验和,然后才能开始使用它运行。请注意,主机不能依赖内存设备来提供校验和值,因为在攻击期间可能会修改校验和值。

使用加密存储引导代码

加密的引导代码可以使用密钥存储在 NOR 闪存上。MCU内部可能有硬件,可以在启动时透明地解密数据。由于引导代码纯文本未在总线上公开,因此无法进行窃听。只要用于加密的密钥未被泄露,此方法就是安全的。但是,如果加密密钥泄露,则必须重新刷新外部闪存上的启动代码内容。这个过程可能很繁琐,甚至不可能在现场已有的设备上实施。

闪存设备辅助验证

如果器件提供此类功能,则无需MCU将整个引导加载程序读入RAM进行验证,而是将验证任务卸载到NOR闪存。在引导时间敏感型系统中,卸载验证任务可以帮助MCU更快地开始执行引导加载程序。看门狗定时器可用于在验证失败的情况下重置系统。使用这种方法,MCU可以在闪存设备验证代码时开始处理一些紧急任务。当然,在验证完成之前,只能运行不安全的函数。这意味着主机必须实现一个安全的中断处理程序,该处理程序可以通过中断事件从 NOR 闪存获取验证结果。

安全非闪存

传统的NOR闪存能够提供简单的数据保护,无论是否使用密码。这使得使用传统的NOR闪存实现安全启动功能变得困难。赛普拉斯等公司提供的下一代安全NOR闪存集成了安全功能,可实现更强级别的安全启动。

设备识别复合引擎

DICE 由可信计算组 (TCG) 指定,它提供了一种方法,用于根据每个设备的唯一设备密钥派生强大且安全的设备 ID。在存储引导代码的设备上使用 DICE,系统可以在引导时建立信任根基础。

DICE 建立在唯一设备机密 (UDS) 的基础上。UDS 是每个设备上的真正随机数,没有任何关联。UDS 在客户的设施中生成,并存储在设备上的机密位置,一旦写入,就无法读取 UDS。由证书提供的设备标识派生自 UDS。因此,一旦MCU与特定的闪存设备配对,就不可能克隆包含相同UDS的设备。

安全存储区域

安全 NOR 闪存可以配置为在设备内具有多个独立的安全区域。具有不同访问级别的区域可用于存储可能需要不同安全级别的固件或软件。还可以将单个区域配置为常规数据的不安全存储。随着安全级别的提高,由于加密措施,来自设备的读取吞吐量会降低。通过提供各种访问级别,用户可以决定系统每个部分的性能和安全性之间的权衡。

如果固件引导加载程序存储在配置为需要身份验证的区域中,则用户可以确保固件未被任何未经授权的各方修改。如果固件包含用户不希望在SPI总线上公开的敏感数据,则可以将其存储在需要加密的区域,以便仅将加密数据传输到总线上。

快速安全启动

某些应用(如汽车系统)需要及时安全启动。在现代复杂系统中,引导代码或应用软件可能非常大,以至于MCU需要大量时间来读取和验证整个软件。在这种情况下,安全NOR闪存可以在启动期间卸载MCU,以验证存储在设备上的软件。这是通过在MCU和设备之间提前存储共享的秘密信息来实现的。在启动过程中,可以快速验证此共享密钥,以确保设备和存储软件的原创性。该器件还可以在MCU开始处理一些基本任务时对软件应用代码进行身份验证。因此,可以缩短整个启动时间,以满足汽车应用的严格要求。

汽车、工业和通信领域的现代电子系统需要高度安全的闪存存储。设计人员面临着构建能够抵御网络攻击的安全可靠的系统的挑战。安全存储器,如赛普拉斯串行和并行NOR闪存,实现安全功能,使外部存储能够支持快速安全的启动。

审核编辑:郭婷

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

    关注

    48

    文章

    8250

    浏览量

    162414
  • 代码
    +关注

    关注

    30

    文章

    4941

    浏览量

    73151
  • adas
    +关注

    关注

    311

    文章

    2299

    浏览量

    211526
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FLASH代码是如何得到运行的呢

    以ARM为例: ARM-cortex-M3/4的单片机(比如STM32 等):该类单片机的代码nor flash,cortex内核可以直接运行,不需要将
    发表于 12-04 08:06

    高性能SPI NOR FLASH芯片ZB25VQ系列推荐

    嵌入式系统、物联网设备及各类存储应用,SPI NOR FLASH芯片因其接口简单、功耗低、读写速度快等特点,成为代码
    的头像 发表于 12-01 14:52 193次阅读

    华邦高性能NOR Flash用于学习平板

    华邦电子(Winbond)的NOR Flash以其卓越性能成为学习平板理想的存储解决方案。其芯片内执行(XIP)特性可实现系统秒级快速启动,高可靠性确保固件和核心代码安全,低功耗特性则
    的头像 发表于 11-10 09:48 273次阅读
    华邦高性能<b class='flag-5'>NOR</b> Flash用于学习平板

    戴尔科技全闪存存储PowerStore有何独特之处

    近日,IDC最新发布的全球企业存储系统季度跟踪报告,戴尔科技集团再度蝉联全闪存存储供应商收入榜首!
    的头像 发表于 10-15 14:19 1414次阅读

    如何触摸校准存储到 SPI 闪存

    触摸校准存储到 SPI 闪存
    发表于 09-04 07:06

    什么是Flash闪存以及STM32使用NAND Flash

    处理三个方面来比较NOR和NAND的可靠性。 耐用性 NAND闪存每个块的最大擦写次数是一百万次,而NOR的擦写次数是十万次。NAND
    发表于 07-03 14:33

    划片机存储芯片制造的应用

    划片机(DicingSaw)半导体制造主要用于晶圆切割成单个芯片(Die),这一过程在内存储存卡(如NAND闪存芯片、SSD、SD卡等
    的头像 发表于 06-03 18:11 745次阅读
    划片机<b class='flag-5'>在</b><b class='flag-5'>存储</b>芯片制造<b class='flag-5'>中</b>的应用

    昂科烧录器支持Macronix旺宏电子的串行NOR闪存存储器MX25U51245G

    近期,芯片烧录领域的领导者昂科技术推出其烧录软件的重大版本更新。新版本发布之际,公司同步宣布新增多款兼容芯片型号,其中包括旺宏电子开发的MX25U51245G串行NOR闪存存储器。该
    的头像 发表于 05-20 16:27 540次阅读
    昂科烧录器支持Macronix旺宏电子的串行<b class='flag-5'>NOR</b><b class='flag-5'>闪存</b><b class='flag-5'>存储</b>器MX25U51245G

    为什么无法MIMXRT1170-EVK上调试XIP NOR闪存

    Winbond NOR 闪存 (W25Q256JVEIQ) 安装在 RT1170 定制板上。 但是,在此状态下,使用 MCU Expresso IDE 24.9.25 进行调试写入过程
    发表于 04-14 07:32

    NXP MCU RT1166如何使用JTAG/SWD工具数据存储到内部闪存

    我需要使用 JTAG 数据存储到内部闪存。我能够使用 JTAG/SWD 工具 ARM J-Link 将它们存储
    发表于 04-01 06:54

    SMR配置后面向故障的安全引导重置了,为什么?

    我在对应用程序执行按需 SMR 验证时遇到问题。 板:S32G399RDB3 M7 内核上使用 AUTOSAR 应用程序和 NXP Boot。 我正在对引导加载程序和应用程序映像执行安全启动。我
    发表于 03-28 06:54

    华为OceanStor Dorado全闪存存储获CC最高级别安全认证

    近日,华为公司的OceanStor Dorado全闪存存储产品成功通过了SGS Brightsight荷兰代尔夫特安全评估实验室的严格评估,并荣获了由TrustCB颁发的CC EAL4+产品
    的头像 发表于 01-17 10:44 1059次阅读

    EE-132:使用VisualDSPC代码和数据模块放入SHARC存储

    电子发烧友网站提供《EE-132:使用VisualDSPC代码和数据模块放入SHARC存储.pdf》资料免费下载
    发表于 01-07 13:55 0次下载
    EE-132:使用VisualDSP<b class='flag-5'>将</b>C<b class='flag-5'>代码</b>和数据模块放入SHARC<b class='flag-5'>存储</b>器<b class='flag-5'>中</b>

    【半导体存储】关于NAND Flash的一些小知识

    单元是数据存储的最小单位,目前闪存已经由数千亿个存储单元组成,通过电子移入和移出封闭绝缘体
    发表于 12-17 17:34

    罗彻斯特电子为传统应用提供卓越的内存支持 为并行NOR Flash提供持续供货支持

    ,得以继续生产4Mb和8Mb 5V的NOR Flash产品。 闪存带给电子行业的影响是巨大的,基于并行NOR Flash技术的初始设备成为板载代码
    发表于 12-17 10:33 482次阅读