
[历史归档]本文原发布于 cstriker1407.info 个人博客内容为历史存档仅供参考。发布时间2019-12-21 标题可信执行环境TEE介绍分类操作系统 / 安全 标签tee可信执行环境TEE介绍TEE是什么为什么TEE更安全TEE的发展历程本文参考【 https://www.jianshu.com/p/15602021acc1 】【 https://blog.csdn.net/braveheart95/article/details/8882322 】有删改。随着移动设备的发展移动设备的功能越来越强大移动设备会存储用户的资产处理支付等操作。目前移动端的系统运行环境叫做REERich Execution Environment在其中运行的系统叫做Rich OSOperating System包含Android、IOS和LinuxRich OS的特点是功能强大开放和扩展性好可以给上层应用提供设备的所有功能比如摄像头触摸屏等这样才有了我们现在看到的各种各样的应用。但Rich OS存在很多的安全隐患比如经常会发现bugOS可以获得应用所有的数据很难验证OS是否被篡改这些对于用户资产有很大的安全隐患那如何解决这些问题呢这时候就需要TEE帮忙了。TEE是什么TEE的全称trusted execution environment它是移动设备智能手机、平板电脑、智能电视CPU上的一块区域。这块区域的作用是给数据和代码的执行提供一个更安全的空间并保证它们的机密性和完整性。为什么TEE更安全因为TEE提供了一个与REE隔离的环境保存用户的敏感信息TEE可以直接获取REE的信息而REE不能获取TEE的信息。当用户付款时通过TEE提供的接口来进行验证以保证支付信息不会被篡改密码不会被劫持指纹信息不会被盗用。在TEE上运行的应用叫做可信应用Trusted Application简称TA可信应用之间通过密码学技术保证它们之间是隔离开的不会随意读取和操作其它可信应用的数据。另外可信应用在执行前需要做完整性验证保证应用没有被篡改。可信应用可以和触摸屏摄像头还有指纹传感器等外设进行直接交互不需要通过REE提供的接口所以更加保证了安全。TEE的发展历程**TEE的前身。Open Mobile Terminal Platform (OMTP)**于2006年提出一种双系统解决方案即在同一个智能终端下除了多媒体操作系统外再提供一个隔离的安全操作系统这一运行在隔离的硬件之上的隔离安全操作系统用来专门处理敏感信息以保证信息的安全。该方案即TEE的前身。**TEE标准正式提出。**OMTP于2009年提出了TEE标准”Advanced Trusted Environment:OMTP TR1”其中说明了TEE同时包含了硬件和软件目标是为应用程序提供必要的支持。其中对安全定义了两个级别第一个级别是可以应对软件方面的攻击第二个级别是可以同时应对软件和硬件攻击。TEE的实现。基于OMTP的方案ARM公司提出了一种硬件虚拟化技术TrustZone及其相关硬件实现方案。TrustZone即是支持TEE技术的产品。作为针对消费电子设备设计的一种硬件架构其目的是为消费电子产品构建一个安全框架来抵御各种可能的攻击。TrustZone在概念上将SoC的硬件和软件资源划分为安全(Secure World)和非安全(Normal World)两个世界所有需要保密的操作在安全世界执行如指纹识别、密码处理、数据加解密、安全认证等其余操作在非安全世界执行如用户操作系统、各种应用程序等安全世界和非安全世界通过一个名为Monitor Mode的模式进行转换。如下图**TEE当前的标准。GlobalPlatform(全球最主要的智能卡多应用管理规范的组织简称为GP)**从2011年起开始起草制定相关的TEE规范标准并联合一些公司共同开发基于GP TEE标准的可信操作系统。因此如今大多数基于TEE技术的Trust OS都遵循了GP的标准规范。TEE是与Rich OS并存的如下图TEE所能访问的软硬件资源是与Rich OS分离的。TEE提供了授权安全软件可信应用TA的安全执行环境同时也保护TA的资源和数据的保密性完整性和访问权限。为了保证TEE本身的可信根TEE在安全启动过程中是要通过验证并且与Rich OS隔离的。在TEE中每个TA是相互独立的而且不能在未授权的情况下不能互相访问。