TEE(Trusted Execution Environment)简介【转】

转自:https://blog.csdn.net/fengbingchun/article/details/78657188

TEE(Trusted Execution Environment),可信执行环境,该环境可以保证不被常规操作系统干扰的计算,因此称为”可信”。这是通过创建一个可以在TrustZone的”安全世界”中独立运行的小型操作系统实现的,该操作系统以系统调用(由TrustZone内核直接处理)的方式直接提供少数的服务。另外,TrustZone内核可以安全加载并执行小程序”Trustlets”,以便在扩展模型中添加”可信”功能。Trustlets程序可以为不安全(普通世界)的操作系统(如Android)提供安全的服务。

TEE通常用于运行关键的操作:(1)、移动支付:指纹验证、PIN码输入等;(2)、机密数据:私钥、证书等的安全存储;(3)、内容包括:DRM(数字版权保护)等。

TEE已经成为生物识别设备的标配:使用TEE来隔离指纹的采集、存储、验证等过程。即使手机被越狱或Root,攻击者也无法获取指纹数据。

TEE内部运行一个完整的操作系统,与REE(如Android)隔离运行,TEE与REE通过共享内存进行交互:OS间/应用间。

TEE内部也分为内核态与用户态,TEE的用户态可以运行多个不同的安全应用(TA)。

TEE包含:Secure SO+ 中间件 + 安全应用 + 外部交互。

TEE三层架构:TA(Trusted Application)层:可信钱包、TUI;TEE层:安全操作系统,对上层TA提供的库;硬件层:CPU状态隔离、内存隔离、外设隔离,如下图:

TEE并不仅仅是指纹保护,指纹目前是TEE推广的强大动力,解锁、手机支付是主要应用场景。

TEE并不仅仅在手机端,从手机端到云端都有TEE:ARM:TrustZone; X86: VT-x和SGX。TEE并不是全新的概念,本质就是一种基于硬件的隔离。

TEE并不是100%都安全,关于TEE的CVE开始出现,各家实现的TEE良莠不齐。

TEE的目的是增强移动设备的安全特性,包括软件编程接口、硬件IP在内的一整套方案。芯片在软件和硬件上,有REE和TEE两个区域,分别对应富执行环境和可信执行环境。其主要思想就是在同一个CPU芯片上,通过硬件配置方式实现不同IP组件的访问控制,从而提供一个完全隔离的运行空间。ARM在芯片IP设计中已经全面支持了TEE,包括高通、联发科、三星、海思、展讯等都纷纷采用,成为基于硬件安全的主流方案。

TEE是和REE(Rich Execution Environment)相对应的,一般称TEE和REE为Secure World和Normal World。Linux跑在Normal World上,但是有些安全性要求比较高的行为,例如指纹的比对,支付时候用私钥签名的动作等,需要放到Secure World里面去。

TEE具有其自身的执行空间,也就是说在TEE的环境下也要有一个操作系统。TEE环境比Rich OS(普通操作系统)的安全级别更高,但是比起安全元件(SE,通常是智能卡)的安全性要低一些;另一方面,加入TEE的成本增加比较低,SE的成本则更高。TEE所能访问的软硬件资源是与Rich OS分离的。TEE提供了授权安全软件(TrustApp可信应用,简称TA)的安全执行环境,同时也保护TA的资源和数据的保密性、完整性和访问权限。为了保证TEE本身的可信根,TEE在安全启动过程中是要通过验证并且与Rich OS隔离的。在TEE中,每个TA是相互独立的,而且不能在未授权的情况下互相访问。简而言之就是在TEE环境的操作系统上同样有相应的应用程序(TA),除了TEE的运行环境与普通操作系统相互独立外,TEE里的每一个TA也是需要授权并相互独立运行的。

基于TEE环境的操作系统由不同的企业在推行,例如华为海思有自己的TrustZone的操作系统,高通的QSEE、ARM的Trustonic、还有Linaro开源的OPTEE等。

TEE最早出于OMTP规范,ARM是TEE技术的主导者之一,其TrustZone即是支持TEE技术的产品。

2006年,OMTP (Open Mobile Terminal Platform,开放移动终端平台)工作组智能终端的安全率先提出了一种双系统解决方案:即在同一个智能终端下,除了多媒体操作系统外再提供一个隔离的安全操作系统,这一运行在隔离的硬件之上的隔离安全操作系统用来专门处理敏感信息以保证信息的安全。该方案即TEE的前身。

基于OMTP的方案,ARM公司(嵌入式处理器的全球最大方案供应商,它们架构的处理器约占手机市场95%以上的份额)于2006年提出了一种硬件虚拟化技术TrustZone及其相关硬件实现方案。TrustZone即是支持TEE技术的产品,TrustZone是所有Cortex-A类处理器的基本功能,是通过ARM架构安全扩展引入的,而ARM也成为了TEE技术的主导者之一。

ARM后将其TrustZoneAPI提供给GlobalPlatform,该API已发展为TEE客户端API。GlobalPlatform(全球最主要的智能卡多应用管理规范的组织,简称为GP)是Visa、MasterCard等国际银行卡组织主导的国际标准化组织,从2011年起开始起草制定相关的TEE规范标准,并联合一些公司(ARM等)共同开发基于GP TEE标准的可信操作系统。因此,如今大多数基于TEE技术的Trust OS都遵循了GP的标准规范。

移动设备使用TrustZone的最主要的原因之一是它可以提供”可信执行环境(TEE)”。2003年,ARM公司提出TrustZone。

ARM TrustZone技术:(1)、ARMv6版本开始的安全硬件特性,包括ARM11及Cortex A系列,目前大部分手机芯片均有该硬件特性。(2)、同时运行一个安全的OS和一个普通的OS:两个系统之间互相隔离运行,安全的OS具有更多的权限。(3)、TrustZone是一个全系统级别的安全架构:处理器、内存和外设的安全隔离。

手机内部分为硬件、操作系统、应用软件三层。安全技术和解决方案的演进顺序依次为应用软件层安全技术、操作系统层安全技术和硬件层安全技术。从抗攻击的角度来讲,越是基于底层的安全防护越是抗攻击。目前很多手机厂商推出的指纹,都是基于硬件的安全方案来进行保护的,通过一个硬件隔离区来保护指纹数据和敏感操作,这种硬件隔离技术就是TEE技术。TEE是存在于智能手机(或任何移动设备)主处理器内的安全区,确保敏感数据在可信的环境里得到存储、处理和保护。TEE有能力对经授权的安全软件(所谓的”可信应用程序”)进行安全的执行,因此可通过实施保护、保密性、完整性和数据访问权限,提供端到端的安全性。目前在国内市场苹果、华为、三星等手机共同选择了TEE技术。

目前,ARM在芯片IP设计中已全面支持了TEE,包括高通、联发科、三星、海思、展讯等企业已采用,成为基于硬件安全的方案。

可信终端具有以下三个基本的安全功能:

(1)、基于硬件隔离的安全执行环境:TEE提供了基于硬件隔离的安全世界来保护敏感数据的安全和程序正确执行。实现TEE需要将设备的硬件和软件资源全部划分成安全世界和非安全世界,两个世界具有独立的系统资源,包括寄存器、物理内存和外设,不能随意进行数据交换。安全世界中的代码和资源受到严格的访问控制策略保护,非安全世界的进程禁止访问安全世界,以保证存储在安全世界的敏感资源不被非法访问或窃取,能够有效减少安全系统漏洞的披露、外界的攻击和病毒的入侵。

(2)、基于信任链的平台完整性:为了保证整个系统的安全,TEE从系统引导启动开始逐步验证以保证TEE平台的完整性。设备加电后,加载ROM中的安全引导程序,并利用根密钥验证其完整性。然后,该引导程序进入TEE 初始化阶段并启动安全操作系统,逐级核查安全操作系统启动过程中的各个阶段的关键代码以保证安全操作系统的完整性,同时防止未授权或经过恶意篡改软件的运行;安全操作系统启动后,运行非安全世界的引导程序并启动普通操作系统。至此基于信任链,完成了移动终端整个系统的安全启动,能够有效抵御TEE启动过程中的非法篡改、代码执行等恶意行为。

(3)、基于安全存储的数据机密性:用户的身份、密钥和证书等敏感信息需要高度保护,TEE依靠加密和完整性保护技术来保护数据和密钥。TEE将用户的身份、密钥和证书等敏感信息存储在安全区域中,这些敏感信息只能由TEE授权的可信应用访问或修改,并且TEE为这些敏感信息的操作处理提供了加密和完整性保护机制。同时,可利用TEE中存储的密钥对普通执行环境下用户的信息,如通讯录、短信等敏感信息进行加密,保证存储在普通执行环境下敏感信息的安全性。

注:以上内容均整理自网络。
---------------------
作者:fengbingchun
来源:CSDN
原文:https://blog.csdn.net/fengbingchun/article/details/78657188
版权声明:本文为博主原创文章,转载请附上博文链接!

原文地址:https://www.cnblogs.com/sky-heaven/p/10968633.html

时间: 2024-10-10 06:47:35

TEE(Trusted Execution Environment)简介【转】的相关文章

Android—SDCard数据存取&Environment简介

1:Environment简介: Environment是android.os包下的一个类,谷歌官方文旦的解释为:Provides access to environment variables(提供访问环境的变量),由此可看出,该类是用于程序访问SDCard的一个设备访问类 Environment 常量 构造方法 方法如下: 解析:比如字段:DIRECTORY_PICTURES 是返回SDcard中Pictures目录的名字 其中的SDCardPicturesName==“Pictures”:

springboot启动流程(三)Environment简介

所有文章 https://www.cnblogs.com/lay2017/p/11478237.html 简介 上一篇文章中,我们简单了解了一下SpringApplication的run方法的代码逻辑.其中的prepareEnvironment方法正如它的方法名表示的意思一样,为当前应用准备一个Environment对象,也就是运行环境.在阅读prepareEnvironment代码之前,我们先了解一下Environment. 组成 首先,Environment是Spring3.1才提供的一个接

Trusted Execution Technology (TXT) --- 度量(Measurement)篇

版权声明:本文为博主原创文章,未经博主允许不得转载.http://www.cnblogs.com/tsec/p/8413537.html 0. 导读 TXT基本原理篇介绍了TXT安全度量的基本概念,包括静态度量和动态度量.只有确保度量是真实的.准确的和受保护的,度量代码和配置才有意义.那么构成"安全"度量需要定义信任链(Chain of Trust),并确保:1. 度量是基于硬件的:2. 度量是免受篡改受保护的.对TXT而言,信任根(Root of Trust)就是CPU,信任根是启动

PXE(preboot execution environment):【网络】预启动执行环节:引导 live光盘 ubuntu livecd 18.04+:成功

比较艰难的成功了. 艰难在于:吱吱吱吱(知知知知知):就是歌init启动参数而已! 最最艰难在于:这个nfs服务器软件有很大的关系.很多时候不是你不行,而是条件不具备 or 条件看似具备但其实有问题 default menu.c32 label ubuntu-18.04.2menu label ubuntu (version 18.04.02)kernel ub1804/casper/vmlinuzappend root=/dev/nfs netboot=nfs nfsroot=192.168.

可信执行环境(TEE)介绍 与应用

原文:http://blog.csdn.net/wed110/article/details/53894927 可信执行环境(TEE,Trusted Execution Environment) 是Global Platform(GP)提出的概念.针对移动设备的开放环境,安全问题也越来越受到关注,不仅仅是终端用户,还包括服务提供者,移动运营商,以及芯片厂商.TEE是与设备上的Rich OS(通常是Android等)并存的运行环境,并且给Rich OS提供安全服务.它具有其自身的执行空间,比Ric

Android KeyStore 存储密码

以前KeyStore的概念就是存储app签名的地方,如果你查Android KeyStore,出来的资料都是如何给app生成签名什么的,但是这里的意义却不相同.Android KeyStore系统允许你存储加密密钥,并且难以从设备中导出,并且可以指明key的使用规则,例如只有用户验证后,才可以使用key等. 防止导出的方法: Key material never enters the application process. Key material may be bound to the se

Mixin Network Whitepaper

[译] Mixin Network(网络) 看到了李笑来老师牵头的 Mixin, 也仔细查看了 Mixin 白皮书 ,决定翻译过来 单击此处查看原文 构造一个最大的,并且对开发者友好的移动区块链网络,连接现有的所有区块链,不限吞吐量. Contents(目录 ) 动机 设计 End-to-End 加密信息 基于移动端和PIN的身份标识 XIN - Token 结论 1. 动机 人们对区块链和加密货币的行情了解的越来越多,但是这些尚可以称作奇特的东西还是很难有获取的渠道,甚至对软件开发人员来说,这

Hyperledger中的共识机制

Hyperledger Consensus 共识过程 Hyperlydger中建立共识的过程由以下两个独立的过程构成: Ordering of transactions (交易排序) Validating Transactions(交易验证) 逻辑上将这个两个过程分离可以保证Hyperledger快讲可以应用任何的共识模块. 建立共识的第一步是从client端接收交易,然后由Ordering Service进行交易排序.Ordering Service 可以用多种方法实现,在开发测试阶段可以用中

什么是OPTEE-OS

1. 为什么会出现这种技术? 为了安全,例如:保护指纹虹膜的生物特征数据 2. 为了确保数据安全各家公司都做了些什么? Arm公司提出的了trustzone技术,用一根安全总线(称为NS位)来判断当前处于secure world还是non-secure world状态,状态的切换由ATF(arm trusted firmware)来完成 3. 有哪些Normal world os Linux,Android 4. 有哪些secure world os OP-TEE,Trusty,QSEE,Sie