智能终端信息安全概念(三):硬件安全技术—主芯片安全技术(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芯片都会进行相应的权限控制。

目录
打赏
0
0
0
0
76
分享
相关文章
网络堡垒的构建者:深入网络安全与信息安全的核心
在数字化时代,每一次点击、每一条信息的传递都可能成为安全威胁的载体。本文将探讨网络安全漏洞的本质,加密技术的进展以及提升个人和企业的安全意识的重要性。我们将深入分析如何通过技术手段和教育措施,构筑起防御网络攻击的坚固防线,确保信息传输的安全性和隐私保护。
数字堡垒之下:网络安全漏洞与加密技术的较量
【9月更文挑战第12天】在数字化时代的浪潮中,网络安全成为了保护信息资产的盾牌。本文将深入探讨网络安全中的漏洞问题、加密技术的重要性以及提升个人和组织的安全意识。通过分析近期的网络安全事件,揭示安全威胁的现实面貌,并分享实用的防护措施。让我们一起构筑起数字世界的安全防线。
信息安全:物理与环境安全技术.
信息安全:物理与环境安全技术.
173 5
数字堡垒之下:网络安全与信息安全的现代解读
【8月更文挑战第10天】在信息时代的洪流中,网络安全和信息安全成为保护个人隐私和企业资产的关键防线。本文将深入探讨网络安全漏洞的成因与对策、加密技术的原理与应用,以及提升安全意识的重要性。我们不仅需要了解技术层面的防御手段,更应培养一种持续的安全文化,以适应不断变化的网络威胁景观。
数字堡垒之下:网络安全漏洞、加密技术与安全意识的三位一体
【7月更文挑战第26天】在数字化时代的浪潮中,网络安全成为维护信息资产的重要关卡。本文将深入探讨网络空间的安全漏洞,分析当前加密技术的应用与限制,并强调培养全民网络安全意识的重要性。文章旨在揭示网络安全的脆弱环节,提供防御策略,并呼吁社会各界共同构建更为坚固的数字防线。
34 1
数字堡垒之下:网络安全漏洞、加密技术与安全意识的协同演进
在数字化浪潮的推动下,网络安全成为维护信息资产的关键战线。本文将深入探讨网络安全漏洞的内在机制与外在表现,分析当前加密技术的发展态势,以及提升个人与企业的安全意识在防范网络威胁中的重要性。通过案例分析和数据统计,我们旨在揭示网络安全领域的复杂性及其对策的多维性,为读者提供一套综合性的网络安全防护知识体系。
云端防御线:构筑云计算环境下的网络安全堡垒
【5月更文挑战第29天】 在数字化时代,云计算以其灵活性、效率和成本优势成为企业IT架构的核心。然而,随之而来的安全挑战也日益严峻。本文深入探讨了云计算环境中的网络与信息安全问题,分析了云服务模型(IaaS, PaaS, SaaS)所面临的安全威胁,并提出了相应的防护策略。通过强化身份认证机制、数据加密技术以及实施持续的安全监控,我们旨在为组织提供一套全面的安全框架,以保护其在云端的资产和数据不受网络攻击的影响。
云端之盾:构建云计算环境下的多层网络安全防御体系
【5月更文挑战第20天】 在数字化转型的时代,云计算已成为企业IT架构的核心。然而,随着云服务的广泛应用,如何确保数据和应用程序的安全性成为了一个挑战。本文将探讨云计算环境中的网络安全问题,并提出一个多层次的安全防御策略。该策略涵盖了从物理安全到应用层的多个层面,旨在为云服务用户提供一个全面的安全保障。
构筑安全之盾:云计算环境中的网络安全与信息保护策略
【5月更文挑战第21天】 随着企业逐渐将数据和服务迁移到云端,云计算的安全性成为不容忽视的核心议题。本文深入探讨了在动态且复杂的云计算环境中,如何通过一系列创新和实用的技术和管理措施来增强网络安全和信息安全。文章首先概述了云计算服务模型及其固有的安全挑战,然后分析了当前面临的主要网络威胁以及它们对信息系统的潜在影响。接着,文中详细介绍了一系列防御机制,包括加密技术、身份认证、访问控制、入侵检测系统和安全事件管理等,并讨论了如何在确保云服务灵活性和可扩展性的同时,维护数据的机密性、完整性和可用性。最后,文章强调了制定综合网络安全策略的重要性,并提出了未来发展趋势的一些预测。
云端之盾:构建云计算环境下的网络安全防线
【5月更文挑战第3天】 在数字化转型的浪潮中,云计算作为企业IT架构的核心,提供了弹性、可扩展的资源和服务。然而,随着数据和应用不断向云端迁移,网络安全威胁也随之增加,给企业带来了前所未有的挑战。本文将探讨在云计算环境下,如何通过综合安全策略和先进技术手段来构建坚固的网络安全防线,确保云服务的安全性和数据的机密性、完整性与可用性。
114 5

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等