TEE之概念解释



今天写一下TEE概念的解释,有些不准或者偏薄,望提出和指正。

TEE之概念解释

首先是由ARM的原话进行说明:

 ARM说:“TEE设备可以提供用户更高的安全和更友好的用户体验,并可以使实现简单的便捷的链接到数字网络上。并能在用户连接更加频繁,应用程序数据交换更大的情况下提供更智能,更快捷的用户安全通道。并提供同网购等一样的包括移动支付,企业生产和移动银行等程序的安全架构。

TEETrusted Execution Environment 的缩写简称,是可信执行环境的简称,在目前移动安全领域,TEE默认就是指的基于ARM trustzone技术的TEE,其实在芯片架构层面,TEE应该包含下面三部分:

1.利用intel TXTAMDSVM均可提供TEE,即基于处理器CPU的特殊指令,提供动态信任根DRTM服务,为敏感应用或数据提供可信执行环境;

2.利用ARM TrustZone机制(其中还可以包括TI M-Shield),直接在CPU硬件上提供的安全区域/非安全区域隔离机制,为敏感应用/数据提供可信执行环境;

3.利用hypervisor/VMM虚拟化机制,提供安全应用/非安全应用之间的隔离

由于现在在移动终端领域,基本上是使用的ARM架构的芯片,无论高通,MTK,三星,海思,展讯等等,基本上都是使用的ARM架构的核心,因此我们重点讨论ARM TrustZone机制。

说到ARM TrustZone,就不得不说一下ARM核心的运行模式:

1 User Mode:用户模式。操作系统的Task一般以这种模式执行。User ModeARM唯一的非特权模式,这表示如果CPU处于这种模式下,很多指令将不能够执行,因此操作系统的资源得以保护。 
    2 System Mode:这是V4及其以上版本所引入的特权模式。
    3 IRQ Mode:中断模式。中断(不包括软中断)处理函数在这种模式下执行。 
    4 FIQ Mode:快速中断模式。除了多了几个寄存器外,其他同IRQ一样。 
    5 Supervisor Mode:监视模式。软中断(SWI)处理函数在这种模式下执行。 
    6 Abort Mode:所有同内存保护相关的异常均在这种模式下执行。 
    7 Undefined Mode:处理无效指令的异常处理函数在这种模式下执行

为支持trustzone, arm 增加一种mode  : security monitor mode , 通过smc指令进入这个mode来进入security world(代表安全环境)security monitor mode本身是属于security world. 它叫security monitor modesecurity world返回 normal world 通过设置cp15中的bit 

2. 一般实现中 monitor mode 只是security world的入口, 短暂处理后,切换回SVC mode或者其他(类似linuxIRQ mode的实现),这时系统是在security SVC mode(或其他),每个mode 都对应有自己的在security state mode

3. 可以设置制定物理空间为 security, 这样在normal world不能直接访问,需要通过monitor进入security world访问,这样实现了硬件的安全性保证

ARM官方网站上对于ARM TEE架构的标准解释是这样的:

TEE之概念解释

 

这就是ARM TEE或者说ARM Trustzone的标准架构,因此在我们看到的第三方实现上,无论是Trustonic,豆荚,赛福,瓶钵,其实大体都是这个架构,只是在具体本地化实现上根据各自不同的技术特点和优势进行了细化或者优化。

更简单的一个架构表示,是这样的:

TEE之概念解释

 

TEE能够做什么?为什么会提出来TEE这个技术?

一句话,TEE可以构建一个隔离(隔离更准确,相比于独立于)于AndroidiOS的小型操作系统,让具备安全,隐私诉求的应用在隔离于这些主操作系统的应用运行于此。打个不恰当的比喻,比如女生去商场买衣服,商场就类似这个操作系统,试衣间就是TEE,隔离于大的商场,提供小型的独立的操作环境,突然想起来了优衣库。。。。。。,呃呃呃,恶趣味了点,不过这个倒是和AndroidTEE关系很像,构建的这个隔离的私有的环境的安全也是相对的,还是要有保护和安全意识。

啰嗦起来说起发展过程,我们可以从支付行业的发展说起,最早我们都是那个存折,要花钱了排长队去银行取出来现金纸币,去各大商场,超市,或者路边购物,一手交钱一手交货,那时候你要注意的是不要被小偷把你的钱包给偷了,如果被偷的时候被你觉察到了,你还可以拼命的去追上小偷,甚至拳打脚踢进行解恨。

但是后来慢慢的,我们还是去商场,超市等直接购物,但是是刷卡了,不用带一堆现金了,尤其是像作者我这样的,要是买冰棍的出身的,那一分五分的带一堆,太麻烦,你数的麻烦,人家收钱的更觉得麻烦。其实到了这一步安全就很重要了,怎么保护你卡里资金的安全,2012ARM在收购知名的安全软件公司McAFee时,就看准了这个放心进行了安全技术的布局。

到了某宝,某东,国外的亚马某等技术发展的时候,都不去超市,商场了,直接手机,电脑上点一点,就可以在线购物了,不夸张的说,想我这样懒得一定程度的人,已经两三年没有真正逛过商场了,这样支付安全就是非常重要的事情了,现在说钱包,我的第一印象已经不是物理上的那个钱包了,我在说钱包这两个词的时候,我想到的其实是支付宝钱包,微信钱包。这样就加速了TEE技术的迅速应用。

其实TEE在移动支付领域的应用,只是TEE应用里一个特定场景而已,其实在DRM,设备保护,安全协议等等方面都能够进行部署,有机会可以慢慢的探讨。

本人有幸虚拟化,TEE都曾经国内较早带领初创团队进行技术研究和项目开发,因此对此发展有着较为深刻的理解,准备在稍后的时间里,对TEE技术的发展过程以及以后的发展趋势进行探讨。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值