大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是ARM Cortex-M功能模块,不过侧重点是三款安全特性处理器。

  ARM Cortex-M处理器家族发展至今(2020),已有8代产品,除了上一篇 《Cortex-M功能模块看差异》 介绍过的CM0/CM0+、CM1、CM3、CM4、CM7,还有主打安全特性的CM23、CM33、CM35P。

1.Cortex-M安全特性

  近几年来, 物联网成为了嵌入式系统开发者们的热门话题。当你提及物联网,安全是每个人都十分关注的话题。嵌入式系统产品需要更好的方案来保证系统的安全。鉴于此,ARM发布了全新ARMv8-M架构,以及基于该架构的三款处理器ARM Cortex-M23/33/35P,引入了如下安全特性:

1.1 TrustZone

  ARMv8-M架构包含了一个叫做TrustZone的安全扩展,这项安全加密技术诞生于2004年,之后随着移动应用的普及在Cortex-A系列处理器上发扬光大。而在物联网的嵌入式领域中,一直都使用功耗比更加优秀的Cortex-M处理器并不具有此功能,直到现在Cortex-M23/33的出现,才将这种技术带到了物联网底层中。
  TrustZone导入了安全和非安全状态的正交划分,非安全状态的软件只能访问非安全状态的存储空间和外围设备,安全软件可以访问两种状态下的所有资源。TrustZone安全机制可以阻止黑客控制整个设备,限制了攻击的影响,还可以实现系统远程恢复。此外ARMv8-M架构也引入了堆栈边界检查和增强的MPU设计,促使额外安全措施的采用。

1.2 Anti-tampering

  物理攻击的定义可分为侵入式及非侵入式攻击等两大类,侵入式攻击需要拆除芯片封装,利用芯片层级的漏洞发动攻击,而非侵入式攻击,则如旁路攻击(Side-Channel Attacks,简称SCA),在距离芯片很近的情况下,侦测如芯片的耗电或在操作密码时放射出的电磁场等外洩的信息。这两种攻击的目标不外乎在装置植入恶意程序,或是取得内部敏感信息。
  ARM推出的全新Cortex-M35P,是Cortex-M产品线中首款具备防窜改以及防御物理攻击能力的处理器。Cortex-M35P搭载与SC000、SC300等SecurCore处理器相同的防窜改技术,可帮助嵌入式安全开发人员阻止物理篡改并实现更高级别的安全认证。

2.Cortex-M功能模块差异

  由于CM23是CM0/CM0+的升级,CM33是CM3/CM4的升级,故我们仅针对性地比较原版与升级版内核。

2.1 CM0+ vs CM23

  那么CM23到底改进了什么?

  • ARMv8-M Baseline CPU内核:ARM公司于2016年推出的内核。相比ARMv6-M新增了32-bit硬件除法器。
  • NVIC嵌套向量中断控制器:最大支持240个外部中断,但保持4级抢占优先级(2bit)不变。
  • AHB5总线:一条32bit AMBA-5标准的高性能system总线负责所有Flash、SRAM指令和数据存取。。
  • MPU存储器保护单元:最大可将内存分为16*8个region。
  • 调试模块:最大4个硬件断点Breakpoint保持不变,数据监测点Watchpoint最大增为4个。
  • ETM跟踪单元:ETM提供实时指令和数据跟踪。
  • Systick定时器:定时器个数增大到2个。

  那么CM23到底增加了什么?

  • TrustZone软件安全特性:,TrustZone导入了安全和非安全状态的正交划分,非安全状态的软件只能访问非安全状态的存储空间和外围设备,安全软件可以访问两种状态下的所有资源。

2.2 CM4 vs CM33

  前面比较完了CM0+与CM23,再来看看CM33比CM4增强在了哪里:

  那么CM33到底改进了什么?

  • ARMv8-M Mainline CPU内核:ARM公司于2016年推出的内核。相比ARMv7E-M去除了指令分支预测。
  • NVIC嵌套向量中断控制器:最大支持480个外部中断,但保持8-256级优先级(8bit)不变。
  • 2x AHB5总线:2条AHB5总线,其中AHB-P外设接口完成原来system总线功能, AHB-S从属接口负责外部总线控制器(如DMA)功能。
  • MPU存储器保护单元:最大可将内存分为16*8个region。
  • Systick定时器:定时器个数增大到2个。

  那么CM33到底增加了什么?

  • TrustZone软件安全特性:TrustZone导入了安全和非安全状态的正交划分,非安全状态的软件只能访问非安全状态的存储空间和外围设备,安全软件可以访问两种状态下的所有资源。

2.3 CM33 vs CM35P

  前面比较完了CM33与CM4,再来看看CM35P比CM33增强在了哪里:

  那么CM35P到底改进了什么?

  额,CM35P相比CM33并没有改进什么现有模块。

  那么CM35P到底增加了什么?

  • I-Cache缓存区:即是我们通常理解的L1 Cache,Cache大小为2-16KB。
  • Anti-tampering物理安全特性:具备抵御各种物理攻击的设计,能够透过嵌入式安全机制协助开发者防御物理窜改攻击,让产品取得更高层级的安全认证。

欢迎订阅

文章会同时发布到我的 博客园主页、CSDN主页、微信公众号 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

痞子衡嵌入式:ARM Cortex-M内核那些事(3.2)- 安全模块看特性(M23/33/35P)相关推荐

  1. 痞子衡嵌入式:ARM Cortex-M内核那些事(5)- 一表搜罗指令集

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M指令集. 指令集 指令长度 (bits) 包含指令 Cortex M0 Cortex M0+ Cortex M1 ...

  2. 痞子衡嵌入式:ARM Cortex-M内核那些事(6)- 系统堆栈机制

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M堆栈机制. 今天给大家分享的这篇依旧是2016年之前痞子衡写的技术文档,花了点时间重新编排了一下格式.前面痞子衡 ...

  3. 痞子衡嵌入式:ARM Cortex-M内核那些事(9.1)- 存储保护(MPU - PMSAv6/7)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M存储保护模块(MPU). <ARM Cortex-M内核MCU开发那些事>的内核篇连载最早是 201 ...

  4. 痞子衡嵌入式:盘点国内Cortex-M内核MCU厂商高性能产品

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是国内Cortex-M内核MCU厂商高性能产品. 在8/16位中低端MCU领域,国内厂商的本土化产品设计以及超低价特点,使得其与国外大厂竞 ...

  5. 痞子衡嵌入式:单片机AI的春天已来,ARM Cortex-M55发布了

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是ARM Cortex-M55. 鼠年春节,大家都在时刻关心 2019nCoV 疫情发展,没太多心思搞技术,就在这个时候,ARM 不声不响 ...

  6. 痞子衡嵌入式:盘点国内Cortex-M内核MCU厂商高主频产品(2023)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是国内Cortex-M内核MCU厂商高主频产品. 在 2021 年初痞子衡写了篇 <盘点国内Cortex-M内核MCU厂商高性能产品 ...

  7. 痞子衡嵌入式:盘点国内RISC-V内核MCU厂商(2018年发布产品)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是国内RISC-V内核MCU厂商(2018). 虽然RISC-V风潮已经吹了好几年,但2019年才是其真正进入主流市场的元年,最近国内大量 ...

  8. 痞子衡嵌入式:ARM Cortex-M文件那些事(3)- 工程文件(.ewp)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家讲的是嵌入式开发里的project文件. 前面两节课里,痞子衡分别给大家介绍了嵌入式开发中的两种典型input文件:源文件(.c/.h/.s). ...

  9. 痞子衡嵌入式:盘点国内MCU级RISC-V内核IP厂商

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是国内MCU级RISC-V内核IP厂商. 自RISC-V指令集2010年诞生以来,业界普遍认为,RISC-V将会改变现有的由Arm和Int ...

  10. 痞子衡嵌入式:盘点国内RISC-V内核MCU厂商(2019年发布产品)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是国内RISC-V内核MCU厂商(2019). 虽然RISC-V风潮已经吹了好几年,但2019年才是其真正进入主流市场的元年,最近国内大量 ...

最新文章

  1. halcon算子翻译——dev_set_paint
  2. .NET Core 集成JWT认证
  3. HTTP3快来了,提前学习一下如何在Nginx中支持HTTP3.0/QUIC
  4. ios 平滑移动view_iOS 关于列表上拉(平滑加载数据)自动加载数据的问题
  5. 大数据时代,新起的数据有哪几种模型
  6. LeetCode 285. Inorder Successor in BST
  7. javascript学习之使文本框中不能输入数字
  8. Caffe编译 Mnist训练测试---基本参数学习
  9. Linux Tomcat9 控制界面及管理配置
  10. 笔记本cpu温度高怎么办_夏天面团温度高怎么办?几个技巧让面温立马降下来
  11. 关于thymeleaf 遍历 List<Map<String,Object>> 类型数据
  12. proteus元件图片_最完整的Proteus元件库元件名称及中英对照表下载
  13. 记录4 最近贺题时做的题 cf611e,cf873f,cf264d,cf1320d,cf1438c,hdu6833,hdu3602,cf1187g,cf1051e,cf925d,cf840c,etc
  14. 管家婆软件显示服务器连接失败,管家婆软件提示“连接服务器失败”怎么办
  15. Chrome浏览器升级后提示崩溃
  16. 源于《赘婿》电视剧 拼多多申请“拼刀刀”商标
  17. oracle版本区别 win7_Oracle在Win7服务管理中消失的解决方法
  18. 附解决方案,小程序用户昵称突然变成了“微信用户”,而且头像也显示不了?
  19. 面部识别科普(刷脸支付)
  20. 「需求广场」需求词更新明细(十六)

热门文章

  1. godaddy又支持支付宝支付了。今天backorder了一个域名,尝试用支付宝支付。居然可以支付了。当时的汇率结算。...
  2. java 同比环比_数据相关概念同比,环比
  3. java 界面登录界面_Java登录界面的实现(注册、登录、背景图片)
  4. Java进阶之路对标阿里P6(8)——分布式理论及框架设计Netty
  5. Oracle转换Postgres
  6. android模拟器安装教程视频教程,安卓模拟器安装教程 安卓模拟器怎么安装
  7. [2019年国庆专题训练] dp专题训练
  8. gateway中的局部过滤器_SpringCloud系列Gateway:过滤器总结
  9. 电脑怎么压缩图片大小kb?压缩图片用什么软件?
  10. android变化HOLO对话风格