新闻动态
NEWS FEED
您现在的位置:
首页
-
-
SoC中的安全卫士——安全AHB控制器

SoC中的安全卫士——安全AHB控制器

  • 分类:新闻中心
  • 作者:Liu Hao@NXP
  • 来源:恩智浦MCU加油站
  • 发布时间:2023-03-03 17:05
  • 访问量:

【概要描述】  一、Cortex-M33 TrustZone Cortex M33内置了Arm设计的TrustZone技术,可以实现安全(Secure/S)与非安全(Non-Secure/NS)之间的隔离,提高系统的安全等级。 恩智浦MCU加油站中已经有若干文章为大家介绍了TrustZone:   通过上面的文章,想必大家对TrustZone已经有了一些基本的理解。 TrustZone是内置在Cortex M33内核中的一个功能。安全是一个系统工程,可是,MCU也是一个麻雀虽小但五脏俱全的SoC(System on Chip),内核具备安全的隔离能力,是否能够满足我们对于整个SoC系统的安全隔离要求呢? 本文以LPC55S69(CPU0为Cortex M33且支持TrustZone)为例,为大家简要介绍安全AHB控制器。   二、解剖总线上的主从设备 我们可以简单地把MCU理解为由内核+多种外设构成的芯片,软件工程师编写的代码最终运行在内核中,通过操作外设实现各种各样的功能。 毫无疑问,内核是总线上的一种主设备,它不仅具有自己的寄存器,还会在运行中主动地向总线上的其他设备(例如内存,flash等)发起访问。 而大部分外设,都是从设备,例如USART和SPI等外设,只能被动地等待内核或其他主设备的配置,然后实现相应的功能。在运行中,从设备并不具备操作其他设备的能力。 有一些特殊的外设,例如DMA,USB等外设,与内核类似,它们具有自己的寄存器,并且在运行中,会主动地访问内存、flash甚至是其他外设的寄存器。   三、只有TrustZone就够了吗? 那么,在MCU中,通过TrustZone功能,内核可以在运行中从安全状态切换至非安全状态。转移至非安全状态后,内核是无法访问安全区域的资源的。 如上节所述,总线上有很多主设备和从设备。但是,由于TrustZone是集成在内核中的,TrustZone不能限制内核之外的其他主设备的行为,总线上的其他主设备仍然可以访问安全区和非安全区的所有资源。 因此,DMA等其他总线上的主设备,仍然可以访问整个地址空间,即使Cortex M33内核被转移至非安全状态,此时Cortex M33内核没有安全区资源的访问权限,仍然可以通过利用其他主设备(例如DMA),访问任意资源。那么此时,DMA等其他主设备就像是一个可以被利用的“漏洞”,这是安全系统不能接受的。 这时的系统如下图所示,即使Cortex M33被TrustZone的SAU和IDAU严格限制,但其他主设备在总线上仍然是畅通无阻。   四、安全AHB控制器 安全AHB控制器的英文名称是Secure AHB Controller。 其实,产生前文所述问题的原因有两个:   总线上,只有Cortex M33内核CPU0具有TrustZone功能,而其他的主设备没有此功能。站在总线的角度看,只能判断出CPU0 Cortex M33发出的请求和访问是否是安全,却无法判断出其他主设备的访问请求是安全或非安全。 对于总线上的从设备来说,从设备无法判断来自总线的访问是安全还是非安全的,因此也就无法通过以设置访问规则的方式,拒绝违背访问规则的非法请求和访问。   安全AHB控制器是NXP LPC55Sxx系列MCU的一个特殊外设。 安全AHB控制器提供了MSW(Master Security Wrapper),MSW为总线上除CPU0之外的其他主设备,提供了一种简易的类似于TrustZone的功能。总线上除CPU0外的每一个主设备都有一个MSW。 例如,我们可以通过MSW,将某个主设备DMA0配置为安全主设备,那么在运行中,DMA0发出的所有访问请求,都是安全请求;我们也可以将另一个主设备DMA1配置为非安全主设备,在运行中,DMA1发出的所有访问请求,都是非安全请求。 有了MSW,从总线的角度看,我们就可以分辨出每一个主设备发出的请求是安全还是非安全。 安全AHB控制器还为每一个从设备(外设)提供了一个“保安”PPC(Peripheral Protection Checkers),PPC将会恪尽职守,严格检查访问请求是否符合设置的规定章程,并拒绝非法的访问。 例如,我们可以将位于USART之前的PPC检查规则设置为仅允许安全访问,那么所有非安全访问都被视为非法,并被PPC拒之门外,上文所述被配置为非安全主设备的DMA1也就无法访问和操作USART。 同时,安全AHB控制器也为内部存储介质(包括RAM,Flash和ROM)提供了类似PPC的“保安”-MPC(Memory Protection Checkers),MPC可以分块地保护各种内部存储介质。 此时总线的架构图如上图所示。 有了安全AHB控制器的MSW,总线上的所有主设备不仅支持安全侧带信号HNONSEC(安全访问)作为给定访问的安全属性的指示,也支持HPRIV(特权)信号作为特权与非特权属性的指示。(注:本文重点介绍了HNONSEC信号相关的安全与非安全属性,并未详细介绍与HPRIV相关的特权与非特权,这与Cortex M3/M4等内核中的特权与非特权相同)。 安全AHB总线处理HNONSEC信号,并将其与安全AHB控制器中为从设备的PPC/MPC所设置的安全属性进行比较。如果请求访问的安全属性不违反被访问从设备的安全属性,则允许访问。如果在访问中违反规则发生冲突,则会引发安全冲突中断。CPU0切换到安全模式以处理违规。 安全是个系统工程,有了安全AHB控制器这个安全守卫,我们的SoC系统才能被滴水不漏地划分为安全世界和非安全世界。 与此同时,安全AHB控制器还提供了很多功能,可以用来设置SoC安全相关的配置,并且还提供了一些寄存器,用于调试和处理违规访问。关于安全AHB控制器的更多信息,请参考LPC55Sxx用户手册(User Manual)中Trusted Execution Environment相关章节。    

SoC中的安全卫士——安全AHB控制器

【概要描述】 




一、Cortex-M33 TrustZone




Cortex M33内置了Arm设计的TrustZone技术,可以实现安全(Secure/S)与非安全(Non-Secure/NS)之间的隔离,提高系统的安全等级。

恩智浦MCU加油站中已经有若干文章为大家介绍了TrustZone:

 

通过上面的文章,想必大家对TrustZone已经有了一些基本的理解。

TrustZone是内置在Cortex M33内核中的一个功能。安全是一个系统工程,可是,MCU也是一个麻雀虽小但五脏俱全的SoC(System on Chip),内核具备安全的隔离能力,是否能够满足我们对于整个SoC系统的安全隔离要求呢?

本文以LPC55S69(CPU0为Cortex M33且支持TrustZone)为例,为大家简要介绍安全AHB控制器。

 

二、解剖总线上的主从设备

我们可以简单地把MCU理解为由内核+多种外设构成的芯片,软件工程师编写的代码最终运行在内核中,通过操作外设实现各种各样的功能。

毫无疑问,内核是总线上的一种主设备,它不仅具有自己的寄存器,还会在运行中主动地向总线上的其他设备(例如内存,flash等)发起访问。

而大部分外设,都是从设备,例如USART和SPI等外设,只能被动地等待内核或其他主设备的配置,然后实现相应的功能。在运行中,从设备并不具备操作其他设备的能力。

有一些特殊的外设,例如DMA,USB等外设,与内核类似,它们具有自己的寄存器,并且在运行中,会主动地访问内存、flash甚至是其他外设的寄存器。

 




三、只有TrustZone就够了吗?




那么,在MCU中,通过TrustZone功能,内核可以在运行中从安全状态切换至非安全状态。转移至非安全状态后,内核是无法访问安全区域的资源的。

如上节所述,总线上有很多主设备和从设备。但是,由于TrustZone是集成在内核中的,TrustZone不能限制内核之外的其他主设备的行为,总线上的其他主设备仍然可以访问安全区和非安全区的所有资源。

因此,DMA等其他总线上的主设备,仍然可以访问整个地址空间,即使Cortex M33内核被转移至非安全状态,此时Cortex M33内核没有安全区资源的访问权限,仍然可以通过利用其他主设备(例如DMA),访问任意资源。那么此时,DMA等其他主设备就像是一个可以被利用的“漏洞”,这是安全系统不能接受的。

这时的系统如下图所示,即使Cortex M33被TrustZone的SAU和IDAU严格限制,但其他主设备在总线上仍然是畅通无阻。



 




四、安全AHB控制器




安全AHB控制器的英文名称是Secure AHB Controller。

其实,产生前文所述问题的原因有两个:

 



总线上,只有Cortex M33内核CPU0具有TrustZone功能,而其他的主设备没有此功能。站在总线的角度看,只能判断出CPU0 Cortex M33发出的请求和访问是否是安全,却无法判断出其他主设备的访问请求是安全或非安全。


对于总线上的从设备来说,从设备无法判断来自总线的访问是安全还是非安全的,因此也就无法通过以设置访问规则的方式,拒绝违背访问规则的非法请求和访问。



 

安全AHB控制器是NXP LPC55Sxx系列MCU的一个特殊外设。

安全AHB控制器提供了MSW(Master Security Wrapper),MSW为总线上除CPU0之外的其他主设备,提供了一种简易的类似于TrustZone的功能。总线上除CPU0外的每一个主设备都有一个MSW。

例如,我们可以通过MSW,将某个主设备DMA0配置为安全主设备,那么在运行中,DMA0发出的所有访问请求,都是安全请求;我们也可以将另一个主设备DMA1配置为非安全主设备,在运行中,DMA1发出的所有访问请求,都是非安全请求。

有了MSW,从总线的角度看,我们就可以分辨出每一个主设备发出的请求是安全还是非安全。

安全AHB控制器还为每一个从设备(外设)提供了一个“保安”PPC(Peripheral Protection Checkers),PPC将会恪尽职守,严格检查访问请求是否符合设置的规定章程,并拒绝非法的访问。

例如,我们可以将位于USART之前的PPC检查规则设置为仅允许安全访问,那么所有非安全访问都被视为非法,并被PPC拒之门外,上文所述被配置为非安全主设备的DMA1也就无法访问和操作USART。

同时,安全AHB控制器也为内部存储介质(包括RAM,Flash和ROM)提供了类似PPC的“保安”-MPC(Memory Protection Checkers),MPC可以分块地保护各种内部存储介质。



此时总线的架构图如上图所示。

有了安全AHB控制器的MSW,总线上的所有主设备不仅支持安全侧带信号HNONSEC(安全访问)作为给定访问的安全属性的指示,也支持HPRIV(特权)信号作为特权与非特权属性的指示。(注:本文重点介绍了HNONSEC信号相关的安全与非安全属性,并未详细介绍与HPRIV相关的特权与非特权,这与Cortex M3/M4等内核中的特权与非特权相同)。

安全AHB总线处理HNONSEC信号,并将其与安全AHB控制器中为从设备的PPC/MPC所设置的安全属性进行比较。如果请求访问的安全属性不违反被访问从设备的安全属性,则允许访问。如果在访问中违反规则发生冲突,则会引发安全冲突中断。CPU0切换到安全模式以处理违规。

安全是个系统工程,有了安全AHB控制器这个安全守卫,我们的SoC系统才能被滴水不漏地划分为安全世界和非安全世界。

与此同时,安全AHB控制器还提供了很多功能,可以用来设置SoC安全相关的配置,并且还提供了一些寄存器,用于调试和处理违规访问。关于安全AHB控制器的更多信息,请参考LPC55Sxx用户手册(User Manual)中Trusted Execution Environment相关章节。

 

 

  • 分类:新闻中心
  • 作者:Liu Hao@NXP
  • 来源:恩智浦MCU加油站
  • 发布时间:2023-03-03 17:05
  • 访问量:
详情

 

一、Cortex-M33 TrustZone

Cortex M33内置了Arm设计的TrustZone技术,可以实现安全(Secure/S)与非安全(Non-Secure/NS)之间的隔离,提高系统的安全等级。
恩智浦MCU加油站中已经有若干文章为大家介绍了TrustZone:

 

通过上面的文章,想必大家对TrustZone已经有了一些基本的理解。
TrustZone是内置在Cortex M33内核中的一个功能。安全是一个系统工程,可是,MCU也是一个麻雀虽小但五脏俱全的SoC(System on Chip),内核具备安全的隔离能力,是否能够满足我们对于整个SoC系统的安全隔离要求呢?
本文以LPC55S69(CPU0为Cortex M33且支持TrustZone)为例,为大家简要介绍安全AHB控制器。

 

二、解剖总线上的主从设备

我们可以简单地把MCU理解为由内核+多种外设构成的芯片,软件工程师编写的代码最终运行在内核中,通过操作外设实现各种各样的功能。
毫无疑问,内核是总线上的一种主设备,它不仅具有自己的寄存器,还会在运行中主动地向总线上的其他设备(例如内存,flash等)发起访问。
而大部分外设,都是从设备,例如USART和SPI等外设,只能被动地等待内核或其他主设备的配置,然后实现相应的功能。在运行中,从设备并不具备操作其他设备的能力。
有一些特殊的外设,例如DMA,USB等外设,与内核类似,它们具有自己的寄存器,并且在运行中,会主动地访问内存、flash甚至是其他外设的寄存器。
 

三、只有TrustZone就够了吗?

那么,在MCU中,通过TrustZone功能,内核可以在运行中从安全状态切换至非安全状态。转移至非安全状态后,内核是无法访问安全区域的资源的。
如上节所述,总线上有很多主设备和从设备。但是,由于TrustZone是集成在内核中的,TrustZone不能限制内核之外的其他主设备的行为,总线上的其他主设备仍然可以访问安全区和非安全区的所有资源。
因此,DMA等其他总线上的主设备,仍然可以访问整个地址空间,即使Cortex M33内核被转移至非安全状态,此时Cortex M33内核没有安全区资源的访问权限,仍然可以通过利用其他主设备(例如DMA),访问任意资源。那么此时,DMA等其他主设备就像是一个可以被利用的“漏洞”,这是安全系统不能接受的。
这时的系统如下图所示,即使Cortex M33被TrustZone的SAU和IDAU严格限制,但其他主设备在总线上仍然是畅通无阻。
 

四、安全AHB控制器

安全AHB控制器的英文名称是Secure AHB Controller。
其实,产生前文所述问题的原因有两个:

 

  1. 总线上,只有Cortex M33内核CPU0具有TrustZone功能,而其他的主设备没有此功能。站在总线的角度看,只能判断出CPU0 Cortex M33发出的请求和访问是否是安全,却无法判断出其他主设备的访问请求是安全或非安全。
  2. 对于总线上的从设备来说,从设备无法判断来自总线的访问是安全还是非安全的,因此也就无法通过以设置访问规则的方式,拒绝违背访问规则的非法请求和访问。

 

安全AHB控制器是NXP LPC55Sxx系列MCU的一个特殊外设。
安全AHB控制器提供了MSW(Master Security Wrapper),MSW为总线上除CPU0之外的其他主设备,提供了一种简易的类似于TrustZone的功能。总线上除CPU0外的每一个主设备都有一个MSW。
例如,我们可以通过MSW,将某个主设备DMA0配置为安全主设备,那么在运行中,DMA0发出的所有访问请求,都是安全请求;我们也可以将另一个主设备DMA1配置为非安全主设备,在运行中,DMA1发出的所有访问请求,都是非安全请求。
有了MSW,从总线的角度看,我们就可以分辨出每一个主设备发出的请求是安全还是非安全。
安全AHB控制器还为每一个从设备(外设)提供了一个“保安”PPC(Peripheral Protection Checkers),PPC将会恪尽职守,严格检查访问请求是否符合设置的规定章程,并拒绝非法的访问。
例如,我们可以将位于USART之前的PPC检查规则设置为仅允许安全访问,那么所有非安全访问都被视为非法,并被PPC拒之门外,上文所述被配置为非安全主设备的DMA1也就无法访问和操作USART。
同时,安全AHB控制器也为内部存储介质(包括RAM,Flash和ROM)提供了类似PPC的“保安”-MPC(Memory Protection Checkers),MPC可以分块地保护各种内部存储介质。
此时总线的架构图如上图所示。
有了安全AHB控制器的MSW,总线上的所有主设备不仅支持安全侧带信号HNONSEC(安全访问)作为给定访问的安全属性的指示,也支持HPRIV(特权)信号作为特权与非特权属性的指示。(注:本文重点介绍了HNONSEC信号相关的安全与非安全属性,并未详细介绍与HPRIV相关的特权与非特权,这与Cortex M3/M4等内核中的特权与非特权相同)。
安全AHB总线处理HNONSEC信号,并将其与安全AHB控制器中为从设备的PPC/MPC所设置的安全属性进行比较。如果请求访问的安全属性不违反被访问从设备的安全属性,则允许访问。如果在访问中违反规则发生冲突,则会引发安全冲突中断。CPU0切换到安全模式以处理违规。
安全是个系统工程,有了安全AHB控制器这个安全守卫,我们的SoC系统才能被滴水不漏地划分为安全世界和非安全世界。
与此同时,安全AHB控制器还提供了很多功能,可以用来设置SoC安全相关的配置,并且还提供了一些寄存器,用于调试和处理违规访问。关于安全AHB控制器的更多信息,请参考LPC55Sxx用户手册(User Manual)中Trusted Execution Environment相关章节。

 

关注威旺达网站及微信公众号,了解 NXP MCU更多信息。

关键词:

扫二维码用手机看

相关新闻

无创血糖仪的优势与挑战:解读新技术的前景与限制

无创血糖仪的优势与挑战:解读新技术的前景与限制

在中国,改革开放以来,人们的生活水平逐步提高,从吃饱到吃好,现在更多数人选择吃的健康。因为现在的人类基本都在得“富贵病”,肥胖,高血压,高血脂,高血糖等。其中,血糖监测是糖尿病管理的重要组成部分,《中国血糖监测临床应用指南(2021版)》显示,临床常用的血糖监测方法包括毛细血管血糖监测、糖化血红蛋白(HbA1c)、糖化白蛋白(GA)和持续葡萄糖(CGM)监测等。
2023-07-12
恩智浦发布新一代安全高能效i.MX 91系列,为广泛的边缘应用扩展Linux功能!

恩智浦发布新一代安全高能效i.MX 91系列,为广泛的边缘应用扩展Linux功能!

恩智浦半导体正式发布i.MX 91应用处理器系列。凭借恩智浦二十多年来在开发多市场应用处理器方面的领先优势,i.MX 91系列提供了安全、多功能、高能效的优化组合,可满足下一代基于Linux的物联网和工业应用的需求。 
2023-06-15
恩智浦人工智能创新实践平台正式启动!

恩智浦人工智能创新实践平台正式启动!

  恩智浦半导体宣布,设于天津的人工智能应用创新中心二期项目——人工智能创新实践平台(以下称“创新实践平台”)正式启动。天津市科学技术局副局长梅志红,天津经济技术开发区管理委员会副主任金香花;恩智浦全球销售执行副总裁Ron Martino,恩智浦资深副总裁兼大中华区主席李廷伟博士出席活动,共同见证恩智浦进一步深耕中国市场、服务中国客户的决心和切实行动。
2023-05-26
MCU在烟感传感器上如何选型

MCU在烟感传感器上如何选型

独立烟感全称独立式光电感烟火灾探测报警器,是烟雾报警器系列产品中的一种,报警器采用的光电式感烟器件具有优良的生产工艺,工作稳定,抗辐射性好,当烟雾进入报警器探头,烟雾改变了探头感知的光线强度,继而触发报价;故障自检,自动上报,无需人工检修;此外无需外部供电,单独9V电池供电,搭载低功耗广域网物联网模块,如NBIOT,Lora,RF射频模块后,省去了繁琐的布线,施工成本低,安装简单;发生火灾时除了自身报警外,还可以通过无线上传到消防预警中心,并通过语音电话,app等形式通知安全责任人,第一时间处理火情;再加上传统的消防设备安装和出现故障维修极其不便,传统的烟感大部分年久失灵,必须进行设备的升级;故独立烟感可广泛用于工厂,商场,宾馆、门店、饭店、住宅等场所进行火灾安全监测及其传统消防设备的改造上,普通用户也可自行采购放置在家中作为火灾监控预警。
2023-05-26

20多年专注半导体

为国内各行业广大用户提供高品质的NXP半导体产品

SINCE 1997

 为您量身定制解决方案

联系我们

电话

全国统一服务热线

地址:北京市朝阳区广渠路15号金茂府小区23号院

公众号

威旺达公众号

Copyright © 2022  北京威旺达电子科技有限责任公司  All rights reserved