智能终端信息安全概念(三):硬件安全技术—主芯片安全技术(1)

简介: 智能终端信息安全概念(三):硬件安全技术—主芯片安全技术(1)

内容来自:《移动互联网时代的智能终端安全》李兴新侯玉华周晓龙郭晓花严斌峰等编著

1、TrustZone

ARM TrustZone技术是芯片级的安全解决方案,通过在CPU内核的设计中集成系统安全性扩展,同时提供安全软件平台,为安全支付、数字版权管理(DRM, Digital Rights Management)、企业服务等应用提供了安全的运行环境。

TrustZone将硬件和软件资源划分为两个执行环境:安全世界(Secure World)和普通世界(Normal World)。不同执行环境的系统软件和应用软件、内存区和外围设备等均相互独立。TrustZone的硬件逻辑,使安全世界的资源与普通世界隔离,不能被普通世界的组件访问。

把敏感资源放在安全世界,能保护绝大多数的资源免受很多潜在的攻击,包括一些很难保证安全的操作,如用键盘或者触摸屏输入密码。

普通世界和安全世界的代码以分时共享的方式在同一个物理处理器核上运行,使其不需要专用的处理器内核来执行安全代码,节省了芯片面积和能耗。

1.1 TrustZone硬件架构

TrustZone的硬件架构如下图所示,

  • 其核心包括处理器内核、
  • 直接内存访问(DMA,Direct Memory Access)、
  • 安全RAM、
  • 安全启动ROM、
  • 通用中断控制(GIC,Generic Interrupt Controller)、
  • TrustZone地址空间控制器(TZASC,Trust Zone Address Space Controller)、
  • TrustZone保护控制器、
  • 动态内存控制器(DMC,Dynamic Memory Controller)
  • DRAM(Dynamic Random Access Memory,动态内存控制器),
  • TrustZone内部组件通过AXI(Advanced eXtensible Interface,先进的可扩展接口)系统总线通信,与外设通过AXI-to-APB桥通信。

(1)系统安全性

TrustZone隔离了所有SoC(System on Chip,系统级芯片)硬件和软件资源,划分为两个执行环境,即用于安全子系统的安全区域以及用于存储其他所有内容的普通区域

TrustZone通过AXI和APB实现了硬件资源的区域分离,并通过AXI总线的硬件逻辑确保普通区域的组件无法访问安全区域的资源。

将敏感数据存储在安全区域,将安全软件运行在安全处理器内核中,确保敏感数据存储和访问免受攻击,如使用键盘或触摸屏输入密码等难以防护的攻击。

TrustZone架构的总线结构中,

  • AXI是一种面向高性能、高带宽、低延迟的片内总线,用于连接高速设备
  • APB是一种低门数、低带宽的外设总线,用于连接低速设备,APB通过AXI-to-APB桥连接到AXI系统总线上。

AMBA协议是用于连接和管理片上系统中功能块的开放标准和芯片互连规范,TrustZone使用的AXI总线和APB外设总线均遵循AMBA3协议。

为支持TrustZone技术,AMBA3 AXI系统总线在每个读写信道都增加了一个额外的控制信号,称作非安全位(NS位)

当主设备向总线提出读写事务请求时,必须将控制信号发送到总线上,总线从设备的解码逻辑解释该控制信号,**允许安全主设备对安全从设备的访问,并拒绝非安全主设备对安全从设备的访问,**依据外设的硬件设计和总线配置,从设备或总线可以产生错误访问的状态信号。

TrustZone架构通过AMBA3 APB外设总线提供了保护外设安全性的特性,**包括中断控制器、时钟及用户I/O设备。**相比仅仅保护数据安全,TrustZone架构的安全世界可以解决更广泛的安全问题。

安全中断控制器和时钟允许非中断安全任务来监控系统,安全时钟源保证了DRM的可靠性安全键盘保证用户输入密码的安全性

为了使现有AMBA2 APB外设与实现TrustZone技术的系统兼容,APB总线没有带对应的NS位,而由AXI-to-APB桥负责管理APB外设的安全。

AXI-to-APB桥会主动拒绝异常的安全设置事务请求,而不会把请求发送给外设。

(2)处理器内核安全性

通过ARM处理器内核的扩展,普通区域和安全区域的代码能够以分时的方式安全有效地运行在同一个物理处理器内核上,不需要使用专用安全处理器内核,在保证处理器内核安全的同时兼顾了芯片面积和能耗。(有点像时间片任务切换)

目前ARM主流产品,如ARM Cortex-A5、ARM Cortex-A7、ARM Cortex-A9等处理器均已支持前述处理器内核安全扩展。

在处理器架构上,每个带TrustZone安全扩展的处理器核都提供两个虚拟核:安全核和非安全核。

它们分属不同的执行环境安全区域和非安全区域,如下图所示。同时处理器引入了一个特殊的机制——监控模式,负责不同执行环境间的切换。非安全核仅能访问非安全系统资源,但安全核能访问所有资源。

ARM CP15协处理器中引入一个安全配置寄存器(SCR),该寄存器中有一个NS位,NS位表明当前处理器所处的安全状态:0代表安全态,1代表非安全态。

安全配置寄存器中的NS位是TrustZone对系统所做的关键扩展,该NS位不仅可以影响CPU内核和内存子系统,还可以影响片内外设的工作。

当ARM处理器处于特权模式工作状态,

  • 即系统模式(sys)、
  • 中断模式(irq)、
  • 快速中断模式(iq)、
  • 管理模式(svc)、
  • 数据访问终止模式(abt)或未定义指令终止模式(und)时,可以读写安全配置寄存器,而在用户模式(usr)时不允许读写。

NS位只能被运行在安全态且处于特权模式的软件改变,系统在非安全态时不能访问SCR寄存器,通过NS位的状态控制处理器安全状态的切换。

在TrustZone处理器中同时引入了一个特殊的模式——监控模式。监控模式是一种特殊的安全状态,当系统处于监控模式时,不管NS位是否为0,都可以访问安全世界的资源。

从非特权模式到特权模式只能通过异常来进行,与该过程类似的,从非安全态到监控模式也是通过异常进行的。

从非安全状态可以通过3种异常进入监控模式:执行SMC(Secure Monitor Call,安全监视调用)指令、外部中止、FIQ(Fast Interrupt Request,快速中断请求)和IRQ(Interrupt Request,中断请求)。监控模式还负责实现两个虚拟核之间切换时的上下文备份和恢复。

监控器可以在没有任何执行环境的代码帮助下直接捕获FIQ和IRQ,当执行流到达监控器的时候,监控器能将中断请求路由到相应的中断处理程序与安全中断控制器结合起来,从而让安全中断源发出的中断不被普通世界软件操作。(是不是中断管理器)

ARM推荐使用IRQ作为普通世界中断源,FIQ作为安全世界中断源。如果中断发生在相应的执行环境,则不需要进行执行环境的切换;如果中断发生在另外的执行环境,由监控器控制切换执行环境。

一般情况下在执行监控器代码的时候应该关闭中断。同时在CP15协处理器中还引入一个配置寄存器以防止普通世界的恶意软件屏蔽安全世界的中断。

内存管理是实现安全管理的另一关键技术。TrustZone技术的内存管理,通过对一个增强的内存子系统MMU(Memory Management Unit,内存管理单元)和Cache增加相应的控制逻辑实现。

ARM处理器中一级存储系统的主要部件就是内存管理单元,用来将程序和数据的虚拟地址转换为物理地址。页表描述了虚拟地址到物理地址的映射关系,以及每一页的访问权限和Cache属性。

有MMU但是没有TrustZone安全扩展的**ARM内核中,只有一个页表基地址寄存器,**通过特权模式代码重写页表基地址寄存器,使其重新指向一个新的页表来提供多个独立的地址空间。

在TrustZone安全扩展处理器中,**有两个页表基地址寄存器,不同安全状态使用不同的页表基地址寄存器,**相当于有两个虚拟MMU,每个虚拟MMU分属不同的虚拟核,使每个执行环境有一个本地页表集,各个执行环境的虚拟地址到物理地址的转换是独立的,在切换执行环境时不需要切换页表。

这样,在两种模式切换时不必刷新缓存,进而提升软件在这两种模式间通信时的性能。为了实现这种特性,L1、L2等各级处理器缓存需要为Tag域增加一个NS位,用来标识这一行的安全状态。无论Cache行的安全状态如何,只要没被锁住,都可以被换出到主存中,为新的缓冲数据留出存储空间。高性能设计能够在Cache中同时支持安全模式及普通模式的数据缓存,是一个非常有用的特性。

TrustZone技术中使用协处理器实现处理器扩展功能,ARM协处理器附属于ARM处理器,通过扩展指令集或提供配置寄存器来扩展内核功能CP15协处理器是TrustZone技术中使用的最重要的ARM协处理器,用于控制Cache、TCM和存储器管理。

协处理器通过设置某些寄存器实现普通世界和安全世界的工作协同。其中某些寄存器是有备份的,即普通世界和安全世界各有一个这样的寄存器,此时修改寄存器只会对它所在执行环境起作用;有的协处理器寄存器是没有备份的,对它的修改会影响到全局,如控制对Cache进行锁定操作的寄存器。

对这种全局寄存器的访问必须严格控制,一般只对安全世界提供读写权限,而普通世界只能读取。

(3)调试安全性

通过安全感知的调试结构对安全区域的调试进行严格控制,而不会影响普通区域的调试

这个部分之前我曾经写过关于JTAG的文章,可以在我的专栏里搜索一下JTAG;我们知道JTAG的原理和功效,就会知道JTAG的目的是为了调试,但是如果不加以控制就会成为恶意者的后门,所以一般的Soc芯片都会进行相应的权限控制。

目录
相关文章
|
8月前
|
SQL 安全 网络安全
网络堡垒的构建者:深入网络安全与信息安全的核心
在数字化时代,每一次点击、每一条信息的传递都可能成为安全威胁的载体。本文将探讨网络安全漏洞的本质,加密技术的进展以及提升个人和企业的安全意识的重要性。我们将深入分析如何通过技术手段和教育措施,构筑起防御网络攻击的坚固防线,确保信息传输的安全性和隐私保护。
|
5月前
|
存储 供应链 安全
信息安全:物理与环境安全技术.
信息安全:物理与环境安全技术.
138 5
|
8月前
|
监控 安全 网络安全
云端防御线:构筑云计算环境下的网络安全堡垒
【5月更文挑战第29天】 在数字化时代,云计算以其灵活性、效率和成本优势成为企业IT架构的核心。然而,随之而来的安全挑战也日益严峻。本文深入探讨了云计算环境中的网络与信息安全问题,分析了云服务模型(IaaS, PaaS, SaaS)所面临的安全威胁,并提出了相应的防护策略。通过强化身份认证机制、数据加密技术以及实施持续的安全监控,我们旨在为组织提供一套全面的安全框架,以保护其在云端的资产和数据不受网络攻击的影响。
|
8月前
|
存储 缓存 监控
网络安全基础之计算机硬件介绍(上
本文是关于计算机硬件的基础知识,包括计算机的发展、主要硬件组件(CPU、硬盘、内存和主板)的介绍和选购指南。强调了冯·诺依曼在计算机发展中的重要性,并分别详细解释了CPU的作用、不同类型硬盘的特点、内存的作用以及显卡的基本概念。文章还提到了各个硬件的选购指标,如CPU的主频和缓存、硬盘的容量和读写速度、内存的大小和频率、显卡的位宽等,并指出硬件故障可能导致的电脑性能下降。最后,作者分享了自己的学习感悟,鼓励读者深入理解计算机硬件之间的相互作用。
|
8月前
|
SQL 安全 算法
网络堡垒的构筑者:洞悉网络安全与信息保护
【4月更文挑战第3天】 在数字化时代的浪潮中,每个数据包的传输和每次键盘的敲击都可能成为安全威胁的切入点。本文将深入探讨网络安全漏洞的本质、加密技术的进展以及提升个体和企业的安全意识的重要性。我们将剖析常见的网络安全风险,并分享如何通过多层次防御策略来增强信息安全。读者将获得一套实用的知识框架,用于评估和应对不断演变的网络威胁。
|
8月前
|
存储 安全 算法
构筑网络堡垒:洞悉网络安全漏洞与加密技术的融合之道
【4月更文挑战第25天】在数字时代的浪潮中,网络安全已成为维护信息完整性、确保数据流通安全的关键。本文深入探讨了网络安全领域内常见的安全漏洞及其成因,并分析了现代加密技术如何作为防御工具来弥补这些漏洞。同时,文章还强调了培养全民网络安全意识的重要性,以及通过教育与实践相结合的方式来提升整体社会的网络安全防护能力。
|
8月前
|
存储 安全 网络安全
构筑安全堡垒:云计算环境中的网络安全与信息保护策略
【2月更文挑战第30天】 在数字化浪潮推动下,云计算以其弹性、可扩展和按需付费的特性成为企业IT架构的核心。然而,随之而来的是日益复杂的安全威胁,它们不断试探和突破云环境的边界防御。本文深入探讨了云计算服务模型中的固有安全挑战,并提出了综合性的网络安全防护措施和信息保护策略。通过对加密技术、身份认证机制、入侵检测系统以及合规性监管等关键技术的详细分析,我们构建了一个多层次、全方位的安全框架,旨在为云计算环境提供坚固的安全保障。
|
8月前
|
监控 安全 算法
智能终端信息安全概念(四):硬件安全技术—主芯片安全技术(2)
智能终端信息安全概念(四):硬件安全技术—主芯片安全技术(2)
128 0
|
8月前
|
存储 安全 算法
智能终端信息安全概念(五):硬件安全技术—加密芯片
智能终端信息安全概念(五):硬件安全技术—加密芯片
189 0
|
8月前
|
安全 物联网 数据安全/隐私保护
智能终端信息安全概念(八):硬件安全技术—芯片自主化与安全硬件架构
智能终端信息安全概念(八):硬件安全技术—芯片自主化与安全硬件架构
132 0