2018年5月2日,Arm发布了一系列IP以保护芯片免受物理攻击,该系列扩展了Arm的安全IP产品组合,为所有物联网产品提供物理安全性。这些的全新IP产品均标有代表物理安全的字母“P”标识,包括:Cortex-M35P处理器以及一套全新的、可防侧信道攻击的安全IP(CryptoIsland-300P和CryptoCell-312P)。本文将探讨Cortex-M35P如何凭借其优势和特性,为受到支持广泛、对用户开发及其友好的Cortex-M处理器提供防范物理攻击、防范篡改的保护,从而为您的产品提供进入新市场的机会。
Cortex-M35P的主要优势
Cortex-M35P是第一款提供防物理篡改功能的Armv8-M处理器,使处理器核心有能力更容易、更快速地取得支付级或电信级的安全认证。Cortex-M35P还是一款包含了多层次安全结构的处理器,结合了使用Arm TrustZone技术实现的软件保护与SecurCore系列处理器中的物理保护。Cortex-M35P是Arm安全产品组合的延伸,遵循Arm的PSA平台安全架构原则。
让您的设计更自信
提供成熟的、经受过实战检验的、支持广泛的安全技术
让保护更灵活
提供多种高级物理安全功能供您选择
加速您的产品成功
丰富的IP产品和健全生态系统支持能有效降低产品开发成本
· 建立在经过验证的、已部署在数十亿个SecurCore处理器中的市场适应性技术之上
· 采用TrustZone技术,在数十亿个基于Cortex-A的设备中获得支持
· 将现有知识重新用于已由数百万名Cortex-M开发人员部署过的相同程序员模型之上
· 为Cortex-M系列强化市场适应性,而不会影响性能
· 可选配的高级功能(包含信号处理)提供了高度的灵活性
· 更高的安全性(Lockstep、可配置的奇偶校验、可观察性),从而实现更快速、更低成本的系统安全功能部署
· 在我们全面的Arm安全解决方案组合中进行优化
· 从Cortex-M33处理器轻松升级
· 重用基于Cortex-M设备构建的现有软件
· 由世界第一的嵌入式生态系统支持,获得全球最大的开放知识库
为什么要防范物理攻击?
我们在日常生活中会遇到越来越多的设备——比如在家中、工作场所、医院,工业场所以及城市空间等等——其中有些是连网的,有些则不是。在这其中,许多设备存储了非常有价值的个人信息,使它们成为物理攻击的目标。从成本角度来看,由于简单数据采集工具的部署和存在,这些攻击变得更具有可行性。我们越来越多地目睹到物理攻击的发生,例如侧信道攻击已成为标准安全威胁模型的一部分。对物理攻击的主要担忧来自攻击(所产生危害)的延伸效应,即通过攻击一台设备,攻击者可以提取源代码并发现漏洞,进而进行更大规模的网络攻击。
TechRepublic BGU高级讲师Yossi Oren在他的物联网安全博文中总结道:“你只需要进行一次物理访问——一旦你购买了某个设备的一个副本或某个摄像头的一款型号,并在实验室中成功对其进行攻击——你就会获得可以远程攻击相同设备或型号所需的所有信息。”
我们用一个类比来解释我们为什么要开发Cortex-M35P:这就像保护您的房子一样,既然您屋中有贵重物品,那么至关重要的是确保所有入口都受到保护,同时也需考虑到小偷闯入特定入口的困难度(见下文图1)。
(图片翻译依次为:产品的市场适应性、生命周期、通信、软件)
图1:保护设备安全就像保护房子一样——安全强度仅取决于最薄弱的环节!
例如,如果小偷要通过顶层的一扇小窗户入室行窃的话,他可能需要一把梯子和一些特殊的工具才能够得逞。因为这颇费周章且很难得手,所以您可能会认为顶层的那扇小窗不会是小偷入室行窃的首选入口,从而认为贵重物品是得到了保护的。但是,如果房子里有非常贵重的物品,或者不用那么费劲就可以进入顶层的这扇窗户,那么小偷就有可能会设法进入了。
这一概念也适用于物联网。Arm拥有广泛的安全组合,可以防御各种进入点,现在Arm正在加强对物理攻击的防范。 Cortex-M35P的开发旨满足所有需要市场适应性的嵌入式和物联网市场的需求。现在,任何面对物理安全项目要求的Cortex-M开发人员,都可以升级到这款最新的Cortex-M处理器,同时不会让之前所有的开发投入付之东流。
此外,该处理器可以与Arm IP产品组合中的其余组件相匹配,以构成强大而全面的安全解决方案,从而加速上市时间。开发人员可以从Arm广泛的生态系统中受益,该生态系统提供了最为广泛的开发工具、编译器、调试器、操作系统和软件中间件,可有效节约时间及成本。
与其它攻击类型相关的物理攻击
随着攻击平面不断增加以及物联网(IoT)规模呈指数级增长,在产品设计规划过程中可能很难根据现在的情况来确定如何保护您的下一代设备。 为了理解并应对这一状况,Arm通过针对四种不同类型的攻击目标建模来描述安全性,它们分别是:通信、产品生命周期、软件攻击以及物理攻击,如图2所示。设备面临的风险取决于应用程序和数据的价值。许多设备需要考虑更多针对系统底层的攻击,例如针对底层软件的攻击,可以借助Arm TrustZone提供的隔离来获得充分的保护。但是,还有一些其他类型的用户产品需要考虑更为复杂的攻击风险,例如各类通过物理方式攻击芯片的风险。
图片翻译:
加密
针对通信的攻击
· 中间人攻击
· 弱随机数发生器RNG
· 代码漏洞
防篡改
物理攻击
· 错误注入:时钟或电源毛刺,Alpha射线
· 侧信道攻击
· 侵入式探针攻击,FIB(集中离子束)
安全服务
针对产品生命周期的攻击
· 软件降级
· 非法的计划外产品生产
· 产品生命周期中不同阶段间存在的完整性/一致性漏洞
隔离
软件攻击
· 缓冲区溢出
· 中断
· 恶意软件
图2:对四种不同类型安全攻击的威胁系数进行评估
需要防范哪些攻击取决于您认为哪些物理攻击会对您的产品构成足够的威胁。 Arm PSA平台安全架构的建议是:安全始终始于分析,这里的分析指使用威胁建模程序进行分析。通过威胁建模,您可以评估设备的安全性以及预测可能被黑客入侵或利用的方式。如果安全领域对您而言还比较陌生,那么威胁建模可能会是一个令您略感生畏的过程,因此Arm创建了三个完全免费的威胁模型示例。
当对设备及其所面临的威胁进行评估后,紧接着的一项重要的工作就是采取适当的措施来保护您的设备。Arm建议使用分层安全法,使用正确的反制组合对您的设备实施不同层次的保护。
Arm扩展了一系列IP以应对所有类型的安全威胁,如上图所示。当物理攻击被认为具有足够大的风险时,您可以选择使用具有缓解物理攻击效果的处理器。 Cortex-M35P提供软件隔离和物理安全相结合的解决方案,可帮助设计人员实现更高级别的系统安全性,从而防御物理和软件攻击。您可能会决定需要使用硬件加速的加密机制来抵侧信道攻击(SCA) ——而CryptoIsland-300P和CryptoCell-312P正好可以在这方面提供帮助。
Arm Cortex-M35P的7大特性
Armv8-M TrustZone
支持嵌套的中断向量控制器 NVIC
唤醒中断控制器 WIC
CPU
Armv8-M Mainline处理器
内存保护单元 MPU
DSP
FPU
2×AHB5
ITM跟踪
数据断点
JTAG
指令cache
指令断点
协处理器接口
ETM跟踪
MTB跟踪
Serial Wire
当受保护的资产价值足够高时,黑客就有足够的动机对设备采取物理攻击。Cortex-M35P提供多个专门的组件以保护设备免受此类攻击的侵扰。
Cortex-M35P包含了多项防范物理攻击的安全特性。其中“无差别时序”使得任何指令操作的周期数恒定,从而防止信息泄漏。用户可以指定是否激活此项功能。
另一个例子是100%的奇偶校验覆盖。处理器中的每个触发器均使用可配置的奇偶校验进行保护,从而可检测到随机错误或有目的的错误注入。
集成cache提高了从嵌入式Flash取指令时的性能。
Flash通常无法提供RAM级别的访问时间,这也是常见的性能瓶颈。该问题可通过激活可选的内部cache得到解决。存储在cache中的信息也会得到保护从而免受物理攻击。
TrustZone强化了系统中对信息安全敏感的功能的保护。它不仅提供了对代码、内存和I/O的软件隔离,同时还满足了嵌入式应用的常见要求:实时、确定的响应,最小的上下文切换开销以及系统要易于软件开发。
搭载TrustZone的Cortex-M35P处理器具有两种安全状态——安全和非安全状态以及一些与两种状态息息相关的特性如图3所示:
(异常)处理模式
线程模式
Armv7-M
非安全(异常)处理模式
非安全线程模式
安全(异常)处理模式
安全线程模式
Armv8-M
图3:Armv8-M额外的安全状态
软件可靠性和系统安全性的提高可藉由限制每个模块——使其仅被允许访问完成功能所必需的特定存储器区域来实现。作为对TrustZone的补充,这种保护可防止意外访问覆盖关键数据。每个安全区域都可以拥有自己专用的MPU,并且这两个MPU可以拥有完全不同数量的域(Region)。相对过去,新系统对域进行编程也更为简便,这集中表现在取消了“目标地址必须对齐到2的整数次幂”的约束。
这一选配的MPU是可编程的,最多可分别为安全和非安全状态提供16个域(Region)。在多任务环境中,操作系统可以在任务上下文切换期间重新编程MPU、更新不同任务的内存访问权限,例如,用户任务可能被授予只能访问某些应用程序数据和特定外围设备的权限。通过这种方式,MPU可以保护当前任务所需资源以外的所有其它存储器和外设免受破坏或未经授权的访问,从而显着提高系统的可靠性。
Cortex-M35P内部保护架构是建立在“受保护的内存系统架构(protected memory system architecture, PMSA) ”v8版本基础之上的。该版本采用“与基地址和终止地址比较”的方式来定义作用范围,这与先前的存在“地址必须对齐到2的整数次幂”限制的方案不同。每个区域都由一个基本起始地址、结束地址、访问权限和内存属性的设置组成。其结果是可以仅使用一个域(Region)就完成对目标范围的覆盖,而不必像过去一样必须使用多个对齐到不同尺寸的域(Region)连接在一起来实现。这极大的简化了软件开发:减少了编程步骤和上下文的切换时间,从而鼓励用户相对过去更有意愿频繁的使用MPU。
对于特定应用程序,专用计算可大有作为。在实现这一扩展计算能力的同时,保持世界领先生态系统的所有优势同样至关重要——即开发工具、编译器、调试器、操作系统和中间件的最广泛选择。
Cortex-M35P处理器包含一个可选的专用总线接口,用于集成紧耦合加速器硬件。对于频繁使用的计算密集型操作,此接口提供了一种机制,通过自定义处理硬件来增强通用计算能力。最重要的是,它不会破坏生态系统。该接口控制和数据信号,支持多达8个协处理器,还可提供处理器特权和安全状态,以及指令类型、关联的寄存器和操作字段的信息。
为了加速软件开发,Arm还在CMSIS项目中提供免费的DSP库。该库包含一系列数字滤波器、转换和数学函数(如矩阵),并支持一系列数据类型。CMSIS目是开源项目,开发版本通过GitHub发布。
可供选择的整数DSP扩展增加了85条指令。在大多数情况下,DSP指令平均可将程序性能提高三倍,从而提升以数字信号控制为核心的所有应用程序的性能。
可选配的FPv5单精度浮点扩展包括额外的16个64位寄存器。该扩展增加了45个与IEEE754-2008兼容的单精度浮点指令。使用浮点指令通常会使平均性能比同等软件库提高10倍。FPU被包含在独立的电源域中,允许在未启用或未使用时关断电。
总之,物理攻击是对嵌入式或物联网设备的几种潜在攻击之一。 Arm的PSA平台安全架构为设计人员在威胁建模过程中所需通过的安全级别进行评估,以便采用适当的反制组合。物理攻击正变得愈发简单和廉价,因此先进的芯片保护技术至关重要。然而,物理安全设计则通常较为复杂。
如今,Arm全新的物理安全IP套件可为任何开发人员提供市场适应性。Arm Cortex-M35P处理器通过TrustZone技术和防篡改功能为软件和物理攻击提供了高效的安全解决方案。与Arm CryptoCell IP、Arm CryptoIsland IP或专门的定制加密解决方案相结合,并在Arm生态系统的支持下,任何嵌入式或物联网解决方案的开发人员都可以确保已拥有强大的可信基础来进行安全的物联网实施部署——因为市场适应性已成竹在胸。
欲了解有关我们全新物理安全IP套件的更多信息,欢迎: