gpt4 book ai didi

security - ARM TrustZone 的安全/普通世界与操作系统的内核/用户模式还是 x86 的 Ring0/1/2/3?

转载 作者:行者123 更新时间:2023-12-03 22:19:30 30 4
gpt4 key购买 nike

我读过这样的文件TrustZone Security Whitepaper .

说明CPU、内存等所有资源都除以安全世界 正常世界 . Normal World 中的程序无法访问 Secure World 中的资源。您必须调用一个特殊的委托(delegate) SMC 从正常世界切换到安全世界(通过监控模式)。

据我所知,像 Linux 这样的现代操作系统提供了 内核模式用户模式 ​​ .用户进程不能访问位于内核空间的资源,但可以调用系统调用。

我也知道x86的响铃0/1/2/3 可以保护资源免受较低特权级进程的无效访问。

我的问题是 ARM TrustZone 的 有什么区别?安全/正常世界内核/用户模式 .或者 TrustZone 和 x86 的 ring0/1/2/3 有什么区别?

谢谢

编辑问题:将保护模式替换为 响铃0/1/2/3 在我的问题中。

谢谢你的帮助。我花了一些时间来理解和阅读更多的文件。总结,TZ 通过总线、外围设备和 CPU 上的 NS 位标志提供资源隔离。

最佳答案

你在这里混淆了 3 种完全不同的东西。

内核模式/用户模式大约是execution privilege :x86 使用“环”的术语,而 ARM 在其处理器模式中具有特权级别 - 您可以在环 3 和 USR 模式以及环 0 和 SVC 模式之间进行粗略的比较(显然,架构差异意味着它远没有那么简单真的)。

Memory protection是一个不同的概念,涉及将硬件固定到 CPU 以将其内存和 MMIO 访问限制在定义的映射内,否则会引发故障(然后可以进行进一步的开发,例如按需分页的虚拟内存)。在这方面,x86 上的“保护模式”与“实模式”几乎等同于打开或关闭 MMU/MPU。显然,将这​​个想法与第一个想法结合起来是很有意义的,以允许特权/非特权内存的概念,但是 x86 架构及其进化遗产使得这种耦合人为地强 - 在 ARM 上,当 MMU 时,您仍然拥有所有处理器模式已关闭。

另一方面,TrustZone 是关于完全不同级别的安全和身份验证 - 在系统供应商/运营商和用户之间。在 x86 系统上,您通常可能有一个硬件 TPM,用于安全 key 存储或启动验证等 - 主处理器可以访问的任何内容都不能被认为是安全的,因为用户可以替换在那里运行的任何软件(正常的执行权限机制没有帮助,因为用户可以简单地将整个内核切换为恶意内核)。 TrustZone 的重点是整个系统的硬件支持,它支持虚拟化,在“正常”系统之上保护处理器/内存/外围设备,而不是需要为其塞入大量额外的硬件。例如,您可以简单地将一 block RAM 分区,使其在物理上*无法从正常世界访问,并将“TPM”纯粹作为经过验证的安全世界软件,即使是最高特权的正常世界代码也无法干扰。

在 x86 世界中,您应该查看 Intel 的 Trusted Execution Technology作为最相关的东西,它解决了(给定外部 TPM 支持)在 ARM SoC 中使用 TrustZone 的一些用例。请注意,这不是直接比较——TXT 以 CPU 为中心的性质意味着它实际上只是一个安全启动解决方案。 TrustZone 是系统范围的,更像是一个基本构建 block - 您可以在其上构建安全启动解决方案和/或 TPM,但您也可以构建诸如端到端安全内容路径之类的东西,这是一种以 CPU 为中心的方法不能。

*请注意,从软件的角度来看,我的意思是“物理” - 即它在硬件中,如果正确实现,软件无法绕过它。 TrustZone 明确为 不是 一个实际的物理安全解决方案——它没有也无意提供任何保护,以防止有决心的人将封装从芯片上取下并直接探测硅。

关于security - ARM TrustZone 的安全/普通世界与操作系统的内核/用户模式还是 x86 的 Ring0/1/2/3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27360019/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com