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

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

3天内不再提示

使用适用于v8-M的ARM信任区保护边缘

星星科技指导员 来源:嵌入式计算设计 作者:Abhijeet Rane 2022-10-20 11:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着基于 v8-M 的芯片进入市场,开发人员必须了解架构、它提供的新功能,以及如何在设计构成安全端到端系统基础的连接边缘设备中实现它。

物联网IoT) 安全问题通常是由于对连接系统边缘的设备保护不足造成的。这些往往是低功耗,廉价的基于微控制器的设备,执行单一功能,如温度监控。缺乏处理能力,内存,当然还有成本,经常被引用为无法正确保护这些资产的原因,黑客越来越多地利用这些资产作为连接到同一网络的更高价值资产的蹦床。为了保护知识产权、客户数据、用户安全和品牌声誉免受此类威胁,设备制造商已经研究了各种技术来保护易受攻击的端点,包括使用多个MCU,其中一个或多个专门用于执行加密和身份验证等安全功能。这当然会增加复杂性和成本,并向物料清单 (BOM) 添加另一个行项目。

然而,幸运的是,对于基于MCU的设备来说,这种情况将会改变。2015年,ARM宣布其基于硬件的安全技术TrustZone将凭借新的v8-M架构在Cortex-M M MCU上提供。ARMv8-M 的安全功能类似于在 Cortex-A 应用程序处理器中广泛部署的功能,可为 Cortex-M 设备带来基础安全性,并能够创建端到端安全的物联网系统。

适用于 ARMv8-M 的信任区扩展:增强的安全体系结构

ARMv8-M 架构是一种 32 位架构,它保持了与 ARMv6-M 和 ARMv7-M 的兼容性,以简化 Cortex-M 系列中的软件迁移,同时还集成了许多增强功能和新功能,尤其是在安全性方面。安全增强功能包括对受保护内存系统体系结构的改进以及前面提到的 TrustZone 安全扩展,后者允许建立安全和非安全状态,以便单个 Cortex-M 设备中可以存在多个安全域。

片上系统(SoC)通常包括多个微处理器,每个微处理器用于卸载系统管理或其他任务(例如I / O)。在此体系结构中,一个处理器通常以特权状态运行,另一个处理器在非特权状态下运行。虽然基于MCU的系统也能够通过使用内存保护单元(MPU)或内存管理单元(MMU)一段时间来建立特权和非特权状态,但v8-M TrustZone扩展提供了额外的安全级别和更有效的资源利用率,从而降低了系统设计的复杂性,从而降低了成本。

它是如何运作的

从概念上讲,v8-M 的信任区的工作方式类似于 Cortex-A 处理器的信任区。然而,与适用于 Cortex-A 级处理器的 TrustZone 技术不同,它没有安全监视器来管理两种状态之间的转换。相反,安全和非安全状态是基于内存映射的,这消除了切换开销,并有效地满足了边缘设备的能效要求。

对于 v8-M 的 TrustZone 扩展,MCU 中安全和非安全区域的定义由芯片设计人员自行决定。这是使用称为安全归因单元(SAU)的新功能完成的,SAU是一种用于定义安全和非安全内存区域的软件技术。或者,可以使用与处理器的特殊实现定义归因单元(IDAU)接口相关联的设备或系统特定控制器逻辑来实现相同的目的。两者之间的主要区别在于SAU在安全状态下是可编程的,而IDAU则创建固定的内存映射。

处理器状态取决于访问的内存区域(安全或不安全)。如果代码在安全内存区域中运行,则处理器状态是安全的,并且与传统的 TrustZone 技术类似,在安全内存区域中执行的代码可以访问非安全区域,但不能访问非安全区域。但是,适用于 v8-M 的 TrustZone 在安全区域中引入了一种称为非安全可调用 (NSC) 的其他内存类型,该类型充当在非安全内存区域中运行的代码的入口点,以访问安全区域中的服务、函数或数据。因此,存储器的NSC部分增加了安全和非安全存储器区域之间的一定程度的分离,同时促进了对安全功能的访问。需要使用 NSC 内存的应用程序开发人员必须使用 v8 体系结构中引入的新指令(称为安全网关 (SG))来执行此操作。SG 指令必须驻留在 NSC 内存中,并且必须是 API 中访问安全函数的第一条指令。任何在没有有效SG指令的情况下访问安全存储器的尝试都会导致硬故障。

此外,ARM 还增强了被定义为 AMBA 3.0 互连规范一部分的 AHB-Lite。现在,更新后的规范 AMBA 5 AHB5 添加了一条特殊指令来标记安全和非安全总线事务,允许具有 ARM v8-M 的信任区的系统与 Cortex-A 设备上的信任区进行互操作。此功能对于支持设计可扩展性和端到端的系统范围安全性至关重要。

边缘保护方案

ARMv8-M 的新信任区扩展启用了许多安全应用程序,包括:

知识产权保护:知识产权,如专有算法,与公司的内在价值直接相关。设备制造商可以使用 ARMv8-M 的 TrustZone 将知识产权存储在安全内存中,同时仍允许不安全的应用程序通过 API 访问它。

关键信息的安全存储:将用户数据、身份信息和安全密钥与系统其余部分分开,可确保机密性。

信任根实现:信任根实现为许多不同的应用程序(如安全无线 (OTA) 固件更新)提供了安全的基础。这种信任基础对于在系统中的设备之间启用相互身份验证也至关重要。

认证软件的沙盒:软件认证是一个昂贵的过程。例如,使用经过认证的加密软件,使设备制造商能够进入要求这些要求的新市场。ARMv8-M 的信任区允许将此类代码保存在安全的内存区域中,同时允许通过 NSC 内存区域中的 API 访问应用程序。

通过处理器整合降低成本:在复杂的 SoC 中,一个处理器可能专用于执行安全功能,用于 ARMv8-M 的 TrustZone 可以实现与专用处理器相同的安全功能,从而降低成本和复杂性。

端到端安全示例

让我们举一个简单的门锁示例来演示适用于 ARM v8-M 的 TrustZone 在实现端到端安全性方面的实用性。该系统由四个部分组成 : 门锁、基于 Cortex-M MCU 的摄像头单元(带有用于控制锁的 ARMv8-M 的信任区扩展)、基于 Cortex-A 微处理器的网关(采用 TrustZone 技术)和智能手机。当有人来到门口时,相机会拍摄图像并将其发送到网关,网关会将图像中继到手机应用程序。查看图像后,用户单击应用程序中的按钮以打开门。

在此示例中,边缘节点从 ARMv8-M 的 TrustZone 获得其信任根,这将成为向网关验证自身的基础。网关还通过 Cortex-A MPU 上的信任区向移动电话验证自身身份。当用户在手机上选择“打开门”命令时,电话会将其中继到网关,网关又将其中继到边缘节点以打开门。作为过程的一部分,在每个步骤中都会验证设备之间中继的命令,从而确保系统范围的完整性。

ARMv8-M 的 TrustZone 支持智能公用事业和智能城市等市场中的节能设备,如可穿戴设备或电池供电的边缘节点。TrustZone 扩展不仅能够保护边缘,而且通过降低复杂性和消除专用于执行安全功能的其他部件来改变安全经济性。虽然支持ARMv8-M的芯片的TrustZone尚未上市,但包括快速逻辑,绿山软件,IAR系统,IBM,导师图形,Micrium,实时工程师,赛门铁克和Trustonic在内的几家软件公司已宣布打算支持它。

最终,利用 ARMv8-M 功能的选择取决于设备制造商,因为 v8-M 的 TrustZone 将要求开发人员改变应用程序开发实践。将 TrustZone 用于 ARMv8-M 可以强制对需要保护哪些信息进行有纪律的思考,并且可能会导致短期学习曲线,从而影响开发过程。但是,考虑到发布不安全产品的成本,决定很简单 - ARMv8-M的TrustZone填补了物联网系统范围安全道路上的直接空白。

审核编辑:郭婷

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

    关注

    68

    文章

    20154

    浏览量

    247509
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18640

    浏览量

    387950
  • 物联网
    +关注

    关注

    2939

    文章

    47355

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    适用于中高压(最高90V)系统设计:FP135/136/137 高端电流检测芯片

    适用于中高压(最高90V)输入的高端电流检测芯片。FP137适用于30V至48V的中压范围;FP135与FP136则
    的头像 发表于 10-27 16:48 155次阅读
    <b class='flag-5'>适用于</b>中高压(最高90<b class='flag-5'>V</b>)系统设计:FP135/136/137 高端电流检测芯片

    SkyOne® Ultra 3.0 前端模块,适用于 WCDMA / LTE 频段 8、12、13、20、26、27、28、29 skyworksinc

    电子发烧友网为你提供()SkyOne® Ultra 3.0 前端模块,适用于 WCDMA / LTE 频段 8、12、13、20、26、27、28、29相关产品参数、数据手册,更有SkyOne
    发表于 10-23 18:30
    SkyOne® Ultra 3.0 前端模块,<b class='flag-5'>适用于</b> WCDMA / LTE 频段 <b class='flag-5'>8</b>、12、13、20、26、27、28、29 skyworksinc

    SkyOne® Ultra 2.0 前端模块,适用于 WCDMA / LTE 频段 26、8、12、13、20、28、29 skyworksinc

    电子发烧友网为你提供()SkyOne® Ultra 2.0 前端模块,适用于 WCDMA / LTE 频段 26、8、12、13、20、28、29相关产品参数、数据手册,更有SkyOne
    发表于 10-21 18:31
    SkyOne® Ultra 2.0 前端模块,<b class='flag-5'>适用于</b> WCDMA / LTE 频段 26、<b class='flag-5'>8</b>、12、13、20、28、29 skyworksinc

    分享多款适用于锂电池产品的升压恒压芯片充电控制IC2.7V3.7V4.2V升5V9V12V24V

    1.2-2.5A。芯片恒压精度≤±4%,固定工作频率 1MHz,低待机功耗 < 0.1μA,支持过温保护功能,采用 ESOP-8 封装,适用于锂电池升压恒压电源、充电器、数码相机、手持设备等
    发表于 08-27 10:02

    用于无线 LAN 的 2.4 GHz 高效前端和适用于蓝牙®应用的端口 skyworksinc

    电子发烧友网为你提供()用于无线 LAN 的 2.4 GHz 高效前端和适用于蓝牙®应用的端口相关产品参数、数据手册,更有用于无线 LAN 的 2.4 GHz 高效前端和适用于蓝牙®应
    发表于 07-01 18:32
    <b class='flag-5'>用于</b>无线 LAN 的 2.4 GHz 高效前端和<b class='flag-5'>适用于</b>蓝牙®应用的端口 skyworksinc

    适用于 WLAN 和蓝牙®应用的 2.4 GHz 高效前端 skyworksinc

    电子发烧友网为你提供()适用于 WLAN 和蓝牙®应用的 2.4 GHz 高效前端相关产品参数、数据手册,更有适用于 WLAN 和蓝牙®应用的 2.4 GHz 高效前端的引脚图、接线图、封装手册
    发表于 06-20 18:30
    <b class='flag-5'>适用于</b> WLAN 和蓝牙®应用的 2.4 GHz 高效前端 skyworksinc

    迅为iTOP-3576开发板适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品。

    迅为iTOP-3576开发板采用瑞芯微RK3576高性能、低功耗的应用处理芯片,集成了4个Cortex-A72和4个Cortex-A53核心,以及独立的NEON协处理器。它适用于ARM PC、边缘
    发表于 06-19 10:48

    2.4 GHz、256 QAM 前端模块,用于 WLAN/ 和端口,适用于蓝牙®应用 skyworksinc

    电子发烧友网为你提供()2.4 GHz、256 QAM 前端模块,用于 WLAN/ 和端口,适用于蓝牙®应用相关产品参数、数据手册,更有2.4 GHz、256 QAM 前端模块,用于 WLAN
    发表于 06-18 18:30
    2.4 GHz、256 QAM 前端模块,<b class='flag-5'>用于</b> WLAN/ 和端口,<b class='flag-5'>适用于</b>蓝牙®应用 skyworksinc

    用于 WLAN/ 的 2.4 GHz、256 QAM 前端模块和适用于蓝牙®应用的端口 skyworksinc

    电子发烧友网为你提供()用于 WLAN/ 的 2.4 GHz、256 QAM 前端模块和适用于蓝牙®应用的端口相关产品参数、数据手册,更有用于 WLAN/ 的 2.4 GHz、256 QAM 前端
    发表于 06-18 18:30
    <b class='flag-5'>用于</b> WLAN/ 的 2.4 GHz、256 QAM 前端模块和<b class='flag-5'>适用于</b>蓝牙®应用的端口 skyworksinc

    迅为iTOP-RK3576开发板/核心板6TOPS超强算力NPU适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品

    迅为iTOP-3576开发板采用瑞芯微RK3576高性能、低功耗的应用处理芯片,集成了4个Cortex-A72和4个Cortex-A53核心,以及独立的NEON协处理器。它适用于ARM PC、边缘
    发表于 05-16 14:46

    TPS6521825 适用于 NXP i.MX 8M mini 的电源管理 IC数据手册

    TPS6521825 是一款单芯片电源管理 IC (PMIC),专门用于支持 i.MX 8M Mini 处理器和 LP873347 器件。该器件的额定温度范围为 –40°C 至 +105°C,适用于各种工业应用。
    的头像 发表于 05-04 10:44 562次阅读
    TPS6521825 <b class='flag-5'>适用于</b> NXP i.MX <b class='flag-5'>8M</b> mini 的电源管理 IC数据手册

    是否有适用于iMX 8M Plus SoC的热计算/分析表或任何功耗/消耗表?

    是否有适用于iMX8M Plus SoC的热计算/分析表或任何功耗/消耗表?
    发表于 03-27 06:21

    迅为iTOP-RK3576开发板/核心板适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品

    迅为iTOP-3576开发板采用瑞芯微RK3576高性能、低功耗的应用处理芯片,集成了4个Cortex-A72和4个Cortex-A53核心,以及独立的NEON协处理器。它适用于ARM PC、边缘
    发表于 01-23 10:26

    适用于PIC MCU的MPLAB XC8 C编译器用户指南

    电子发烧友网站提供《适用于PIC MCU的MPLAB XC8 C编译器用户指南.pdf》资料免费下载
    发表于 01-22 16:45 0次下载
    <b class='flag-5'>适用于</b>PIC MCU的MPLAB XC<b class='flag-5'>8</b> C编译器用户指南

    迅为RK3576开发板适用于ARM PC、边缘计算、个人移动互联网设备及其他多媒体产品

    迅为iTOP-3576开发板采用瑞芯微RK3576高性能、低功耗的应用处理芯片,集成了4个Cortex-A72和4个Cortex-A53核心,以及独立的NEON协处理器。它适用于ARM PC、边缘
    发表于 12-27 14:18