好记性不如铅笔头

安全, 操作系统

可信执行环境TEE介绍

本文参考【 https://www.jianshu.com/p/15602021acc1 】【 https://blog.csdn.net/braveheart95/article/details/8882322 】,有删改。
随着移动设备的发展,移动设备的功能越来越强大,移动设备会存储用户的资产,处理支付等操作。目前移动端的系统运行环境叫做REE(Rich Execution Environment),在其中运行的系统叫做Rich OS(Operating System),包含Android、IOS和Linux,Rich OS的特点是功能强大,开放和扩展性好,可以给上层应用提供设备的所有功能,比如摄像头,触摸屏等,这样才有了我们现在看到的各种各样的应用。但Rich OS存在很多的安全隐患,比如经常会发现bug,OS可以获得应用所有的数据,很难验证OS是否被篡改,这些对于用户资产有很大的安全隐患,那如何解决这些问题呢?这时候就需要TEE帮忙了。

CONTENTS

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是相互独立的,而且不能在未授权的情况下不能互相访问。

发表评论

4 × 2 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据