芯片信息安全,不同ISA架构的实现思路

2024-4-18 9:11:00
  • 芯片信息安全,不同ISA架构的实现思路

芯片信息安全,不同ISA架构的实现思路

随着信息安全受到的重视程度越来越高,不少国家和组织都推出了对应的法律和标准来规范芯片在个人数据隐私上的安全性。比如在汽车行业有ISO 21434,物联网领域有ISO/IEC 27400:2022等。然而对于不同的芯片架构而言,实现安全的方式往往也不尽相同,比如Arm和RISC-V。

Arm TrustZone技术

经过多年的发展,Arm的TrustZone技术已经被应用在数十亿颗应用处理器上,可以说这一安全设计保护着我们身边各类设备的代码和资料。因为该技术将硬件强制隔离技术集成在CPU中,所以为各大Arm处理器提供了系统级的高效安全方案,并利用该技术打造TEE(可信执行环境)。

通过TrustZone,可将SoC上的软硬件资源分为安全和非安全两个分区,需要保密的安全操作在安全分区执行,而一些OS、应用程序等操作则在非安全分区执行。在处理器的设计上,每个物理处理器核心都被分为一个安全核和非安全核两个虚拟核。

得益于这一硬件隔离机制,Arm处理器可以将生物信息等敏感信息存储在TrustZone内,比如指纹信息等,通过软件管理程序来管理隔离分区。对于可信执行环境而言,需要满足三个目标,包括数据保密性、数据完整性和代码完整性。

RISC-V PMP技术

传统的RISC-V处理器并没有提供像Arm TrustZone这样的隔离技术,但还是为开发者提供了安全拓展的能力,可以使用PMP、IOPMP等方式进一步加强RISC-V处理器对物理内存的保护。

PMP作为一种内存保护机制,可以用于M模式和S/U模式下的内存访问,但只有M模式下才有权限配置PMP。通过至多16个CSR寄存器,可以配置至多16个Zone的内存访问权限。如此一来,在操作系统中,PMP可以实现不同进程之间的内存隔离,避免一个进程访问另一个进程的敏感数据。相比起Arm TrustZone的两个分区,其软件安全方案要更加灵活。

然而,PM只是对于CPU核心存取的一个保护机制,通常一个硬件平台内,总线上还存在其他的I/O Agent,比如DSP/GPU、DMA、NIC等。攻击者通过控制某个I/O Agent的软件或者固件,可以避开PMP来窃取数据。

所以为了解决这个安全威胁,RISC-V需要通过增加IOPMP来完成对内存访问的保护,不同的主设备与总线之间都需要增加一个IOPMP。IOPMP可以像PMP一样定义访问权限,检查读写传输是否符合访问规则。

写在最后业内对于处理器信息安全设计的探索,从来没有止步过。得益于RISC-V架构的拓展性,不少厂商也都推出了自己的安全设计解决方案,此外也有单独的硬件IP模块,也有OpenTtitan、OP-TEE这样的开源项目提供统一的芯片安全设计参考。未来随着AI计算、量子计算的普及,芯片信息安全注定会面临更大的挑战,即便是现有的设计方案也要做好迭代的准备。