物联网安全之ARM TrustZone® 技术
大盛唐电子 2022-09-20

物联网安全之TrustZone


ARM TrustZone® 技术是系统范围的安全方法,针对高性能计算平台上的大量应用,包括安全支付、数字版权管理 (DRM)、企业服务和基于 Web 的服务。

移动设备已发展为能够从 Internet 下载各种大型应用程序的开放软件平台。这些应用程序通常由设备 OEM 进行验证以确保质量,但并非可对所有功能进行测试,并且攻击者正在不断创建越来越多以此类设备为目标的恶意代码。同时,移动设备处理重要服务的需求日益增加。从能够支付、下载和观看某一特定时段的最新好莱坞大片,到能够通过手机远程支付帐单和管理银行帐户,这一切都表明,新的商业模式已开始出现。


这些发展趋势已使手机有可能成为恶意软件、木马和 rootkit 等病毒的下一软件攻击目标。但是,通过应用基于 ARM TrustZone 技术的高级安全技术并整合SecurCore™防篡改元素,可开发出能够提供功能丰富的开放式操作环境和强大安全解决方案的设备。


TrustZone 硬件架构旨在提供安全框架,从而使设备能够抵御将遇到的众多特定威胁。TrustZone 技术可提供允许 SoC 设计人员从大量可在安全环境中实现特定功能的组件中进行选择的基础结构,而不提供固定且一成不变的安全解决方案。

架构的主要安全目标是支持构建可编程环境,以防止资产的机密性和完整性受到特定攻击。具备这些特性的平台可用于构建一组范围广泛的安全解决方案,而使用传统方法构建这些解决方案将费时费力。


可通过以下方式确保系统安全:隔离所有 SoC 硬件和软件资源,使它们分别位于两个区域(用于安全子系统的安全区域以及用于存储其他所有内容的普通区域)中。支持 TrustZone 的 AMBA3 AXI™ 总线构造中的硬件逻辑可确保普通区域组件无法访问安全区域资源,从而在这两个区域之间构建强大边界。将敏感资源放入安全区域的设计,以及在安全的处理器内核中可靠运行软件可确保资产能够抵御众多潜在攻击,包括那些通常难以防护的攻击(例如,使用键盘或触摸屏输入密码)。通过在硬件中隔离安全敏感的外设,设计人员可限制需要通过安全评估的子系统的数目,从而在提交安全认证设备时节省成本。


物理处理器用于从普通区域进入监视模式的机制受到密切控制,并且这些机制始终被视为监视模式软件的异常。要监视的项可由执行专用指令(安全监视调用 (SMC) 指令)的软件触发,或由硬件异常机制的子集触发。可对 IRQ、FIQ、外部数据中止和外部预取中止异常进行配置,以使处理器切换到监视模式。


在监视模式中执行的软件是事先定义的,但它通常保存当前区域的状态,并还原将切换到的区域位置的状态。然后,它会执行从异常返回的操作,以在已还原区域中重新启动处理过程。TrustZone 硬件架构的最后一个方面是安全感知调试基础结构,它可控制对安全区域调试的访问,而不会削弱普通区域的调试可视化。


物联网时代的兴起使人们对物理世界与数字系统整合的认知随之提升,在日常生活的数字化带来效率提升和经济效益的同时,系统开发者也面临了新的挑战。由于安全性和低功耗为物联网应用的关键考虑,新唐科技开发了NuMicro®M2351系列,以满足物联网应用于低功耗运行的同时执行安全连网的开发设计需求。

NuMicro® M2351系列

NuMicro® M2351系列微控制器系列以Arm® Cortex®-M23为内核、内建Armv8-M架构和TrustZone®技术,可将传统的固件安全性提升至更完整的软件安全防护。


M2351系列微控制器运行频率可高达64 MHz,内建512KB双区块(Dual Bank)架构闪存 (Flash),可支持OTA (Over-The-Air)固件升级,并内建96KB SRAM。此外,M2351系列提供高性能外设接口,如UART,SPI,I2C,GPIO,USB和ISO 7816-3。其安全性与多元的功耗管理模式使得物联网应用的创新更臻便捷。

M2351 系列方块图

内建Armv8-M TrustZone® 技术

NuMicro® M2351系列内建Armv8-M架构的 TrustZone® 技术,该技术是单芯片系统 (SoC) 与CPU系统层级的安全技术。除了固件层级的安全性之外,M2351系列还提供了软件层级安全防护,以实现更高的安全性和更有效率的功耗管理。

M2351系列 TrustZone® 架构

除了Cortex®-M23 CPU核心之外,M2351系列中的TrustZone®组成包含有: 

●安全属性单元 (Secure Attribution Unit, SAU)

●实施定义归属单元 (Implementation Defined Attribution Unit, IDAU)

●闪存控制器 (Flash Memory Controller, FMC)

●安全配置单元 (Security Configuration Unit, SCU) 


为了使软件的安全防护更臻完善,如上图所示,部分功能于初始即被固定为纯安全属性、部分功能被设置为仅能接受安全存取。此外,亦有部份的功能被设计为透过总线主控(bus master)与总线受控(bus slave)上的功能整合来支持TrustZone®。

新唐科技研发之安全技术

除TrustZone®技术外,NuMicro® M2351系列亦内建了可提高系统安全性的相关安全技术。其中,Secure Bootloader加载程序可支持Trusted Boot功能;包含ECC算法的硬件加密加速器可降低主处理器于加解密操作的负载量;密码保护机制KPROM可用来保护闪存的写入和擦除;XOM (Execute-Only-Memory)则可定义Execute-Only存储区域以保护关键程序代码;闪存锁定功能(Flash lock bits)设计来禁止闪存的侦错接口被外界存取或写入;破坏侦测引脚(Tamper detection pins)则可用来侦测引脚上状态的改变。

M2351 系列安全技术 

创新的物联网电源管理技术

除安全性外,功耗管理对物联网的应用也至关重要。M2351提供多元的电源管理模式,使功耗管理更具效率,也使应用设计能更为弹性。M2351系列于正常运行模式(Normal Run Mode)在LDO模式下耗电为97μA/ MHz、于DC-DC模式下耗电为45μA/ MHz。待机掉电模式(Standby Power-down Mode, SPD)的电流为2.8μA,不带VBAT的 深度掉电模式(Deep Power-down Mode, DPD)的电流则小于2μA。

M2351 系列功耗比较表

支持 Arm® PSA 的 Nuvoton安全微控制器平台(NuSMP)

由 Arm®所推出的平台安全架构(PSA)是一完整的系统,从威胁模型分析、安全性分析,到硬件与固件的架构规范以及开源的固件参考设计。PSA是Arm®对物联网生态系统安全所提出的解决方案,其提供了基本设计原则与更有效益的方式,以构建更安全的物联网装置。


为了使开发者能更加便捷的将物联网安全技术实现于创新开发之中,新唐科技开发了可支持Arm® PSA的「新唐安全微控制器平台(Nuvoton Secure Microcontroller Platform, NuSMP)」。NuSMP是一系列混合硬件与软件的安全技术,用于满足通用及物联网安全之微控制器系列的安全要求。开发人员可轻松的透过NuSMP技术于M2351系列上实现具安全性的设计,包含Trusted Boot(Root of Trust)、安全的Over-The-Air (OTA)固件更新与软件下载、非安全区的电源管理应用程序编程接口与PC端的加解密软件工具。

NuSMP架构图

NuSMP以数个安全引导层(Secure Booting Layer)建构符合信任链(Chain of Trust, CoT)的架构,包含硬件层级的NuMicro® Boot Loader 1 (NuBL1)、软件层级的NuMicro® Boot Loader 2 (NuBL2),具备带OTA软件更新功能的内存分区机制、可信启动码等功能;位于安全区(Secure World)中的NuMicro® Boot Loader 32 (NuBL32),以及位于非安全区(Non-secure World)中的NuMicro® Boot Loader 33 (NuBL33)。在信任链的架构之下,NuSMP所提供的安全技术能够一定程度的满足微控制器应用的安全需求。

为了提供简便的开发体验,NuMicro®  M2351系列提供了丰富的开发辅助资源。在编译程序的部分,M2351系列可支持免费使用的Arm®  Keil MDK (Keil MDK Nuvoton Edition)、IAR Embedded Workbench以及开源的GCC。在开发工具的部分,新唐科技开发了「TrustZone模板生成器」以简便规划安全区与安全固件的布建、「加密工具」以支持M2351系列的加密需求,包含密钥生成、密钥交换、数字签名与加解密。在帮助安全性项目开发的部分,新唐科技提供了NuSMP,其系列安全技术的应用说明文件、程序代码范例、教学影片都开放给开发者参考。此外,M2351系列支持Arm®  Mbed OS以快速的创建和部署物联网项目;亦支持 Segger emWin开发平台,可简易的建构图形用户界面,满足人机接口之应用。

M2351系列开发资源



本文源自微信公众号:大盛唐电子,不代表用户或本站观点,如有侵权,请联系nick.zong@aspencore.com 删除!

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 以32位微处理器为控制核心的超级电容器组管理系统

    在传统的能量供应系统中,电池作为主要的储能单元被广泛使用。随着科学技术的发展和保护环境的需求,超级电容器因其容量大、寿命长、放电速度快、工作温度范围宽、可以串并

    09-30
  • 多节动力电池检测系统的单片机控制模块

    针对动力电池工作参数的监测,保护其安全性和使用寿命的问题,提出基于电池管理芯片 LTC6803 设计一套电池管理系统,利用 LTC6803 和 STC12C54

    09-30
  • CFS任务的负载均衡

    负载均衡的系列文章共分为三篇,第一篇为框架篇,描述负载均衡的相关原理、场景和框架。本篇作为该系列文章第二篇,主要通过对任务放置场景(task placement)的均衡分布进行分析,以便加深读者对内核调度器实现任务均衡分布的理解。 本文基于linux-5.4.24分

    09-29
  • Multi-queue 架构分析

    Linux上传统的块设备层(Block Layer)和IO调度器(如cfq)主要是针对HDD(hard disk drivers)设计的。我们知道,HDD设备的随机IO性能很差,吞吐量大约是几百IOPS(IOs per second),延迟在毫秒级,所以当时IO性能的瓶颈在硬件,而不是内核。但是,随着高速

    09-29
  • ARMv8 异常处理简介

    内核稳定性问题复杂多样,最常见的莫过于“kernel panic”,意为“内核恐慌,不知所措”。这种情况下系统自然无法正常运转,只能自我结束生命,留下死亡信息。诸如: “Unable to handle kernel XXX at virtual address XXX” “undefined instruction XXX”

    09-29
  • 新型 IO 调度器 BFQ 简介

    Linux io调度器有很多种,大多数调度器都经受住了各种市场环境的长时间验证,稳定性、性能得到各种用户的认可,但新的调度器依然展露头角,在4.12内核中出现了一个新的bfq调度器,这个调度器将取代曾经的辉煌的cfq调度器。社区对待大的改动都是很谨慎的,为什

    09-29
  • CFS任务的负载均衡(框架篇)

    我们描述负载均衡的系列文章一共三篇,第一篇是框架部分,即本文,主要描述了负载均衡相关的原理、场景和框架。后面的两篇是对均衡代码的情景分析,通过对load balance、task placement和active upmigration几个典型的负载均衡来呈现其实现细节,稍后发布,敬

    09-29
  • linux IO Block layer 解析

    早期的 Block 框架是单队列(single-queue)架构,适用于“硬件单队列”的存储设备(比如机械磁盘),随着存储器件技术的发展,支持“硬件多队列”的存储器件越来越常见(比如 NVMe SSD),传统的单队列架构也因此被改成了多队列(multi-queue)架构。早在 3.

    09-29
  • eMMC简介

    1 eMMC是什么 eMMC是embedded MultiMediaCard的简称,即嵌入式多媒体卡, 是一种闪存卡的标准,它定义了基于嵌入式多媒体卡的存储系统的物理架构和访问接口及协议,具体由电子设备工程联合委员会JEDEC订立和发布。 它是对 MMC的一个拓展,具有体积小,功耗低,

    09-29
  • 低纹波、高精度电流源设计

    低纹波、高精度电流源是一种重要的仪器设备;广泛应用于电光源、电化学、通信、测量技术、电子仪器等领域。目前,市场上的电流源不具备连续可调功能;并且输出电流范围小、

    09-29
  • Linux 电信基站系统解决方案

      自从1991年Linux第一次面世以来,任何人也不会想到这个不起眼的操作系统现在会应用得如此广泛。无论是从嵌入式领域的智能手机到大型计算服务器都可以找到它的

    09-28
  • 单片机振荡电路中如何选择晶体?

    1.单片机晶振的原理晶振一般采用三端式(考毕兹) 交流等效振荡电路;实际的晶振交流等效电路中,其中Cv是用来调节振荡频率,一般用变容二极管加上不同的反偏电压来实

    09-28
下载排行榜
更多
广告