有幸做过将近1年时间的TrustZone OS,这里对通用的TrustZone硬件技术做一点记录,来记录自己曾经工作过的领域。
TrustZone是ARM处理器特有的一个安全特性,其简介可以在ARM的官方网站上找到
https://www.arm.com/products/security-on-arm/trustzone
从最简单抽象的层面来一句话介绍TrustZone就是,将一个物理处理器分时复用为两个逻辑处理器,一半是Rich Execution Environment 另一半是Trusted Execution Environment。 所以其本质上的原理很简单,在安全界还有很多类似的想法,例如在一个虚拟化的环境中,一个虚拟机运行Rich System,另外一个虚拟机运行Trust System。这两种是同一个道理。
目前使用TrustZone技术的主要集中在机顶盒,车载设备还有最常见的只能手机,由于其硬件隔离的特性,从Rich Execution Environment很难直接操作Trust那边的代码和资源,所以能够极大的提高各种基于ARM的应用环境的安全性。 这里面有一个奇葩的例外 iOS虽然使用ARM处理器但不使用TrustZone技术,其硬件设计中有一个而外的处理器叫Secure Enclave来处理器安全相关的任务,详情请见