数据安全实践:能力体系、产品实现与解决方案
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5.3 可信执行环境

可信执行环境(Trusted Execution Environment,TEE)是一种在相对不安全的主机环境中建立一个独立、安全、完全受控的计算环境的技术,需要特殊的CPU指令和主板硬件的支撑。ARM的Trust Zone和Intel的SGX就是这方面的代表。

在可信执行环境中,仅能运行经过认证的可信应用,而可信应用的执行过程对于可信执行环境外的主机来说是不可见的。传统意义上的机密数据,例如非对称加密体系中的私钥,就可以安全地放在可信执行环境中,这样即便主机操作系统受到攻击,位于可信执行环境中的私钥也是安全的。

可信执行环境必须有硬件的支持,如图1-6所示。因为在操作系统内核空间,运行的代码有可能被利用来访问可信应用才能使用的内存区域。换句话说,软件无法保护软件。因此,可信执行环境需要对硬件(总线、外围设备、内存区域、中断等)进行分区和隔离。只有运行在可信执行环境中的可信应用才能完全访问主处理器、外围设备和内存中受保护的资源,而硬件隔离措施可以保护这些应用不受运行在富操作系统中不可信应用的影响。

在硬件不被破解的前提下,攻击者无法直接读取可信执行环境中的隐私数据和系统密钥,数据的机密性因而得以保障。相比纯软件的隐私保护技术方案,可信执行环境在计算逻辑复杂、通信量大和性能要求高的场景中有明显的优势。

图1-6 可信执行环境示意