分享 · 2019-10-09 1

可信执行环境TEE介绍及在区块链领域的应用

10-1575338994
8-1575338995
6-1575338995
4-1575338997

可信执行环境TEE介绍及在区块链领域的应用

随着移动设备的发展,移动设备的功能越来越强大,移动设备会存储用户的资产,处理支付等操作。目前移动端的系统运行环境叫做REE(Rich Execution Environment),在其中运行的系统叫做Rich OS(Operating System),包含Android、IOS和Linux,Rich OS的特点是功能强大,开放和扩展性好,可以给上层应用提供设备的所有功能,比如摄像头,触摸屏等,这样才有了我们现在看到的各种各样的应用。

但Rich OS存在很多的安全隐患,比如经常会发现bug,OS可以获得应用所有的数据,很难验证OS是否被篡改,还会受到各种各样的攻击(如上图),这些对于用户资产有很大的安全隐患,那如何解决这些问题呢?

这时候就需要TEE帮忙了。

TEE是什么

TEE的全称trusted execution environment,即可信执行环境,它是CPU上的一块区域。这块区域的作用是给数据和代码的执行提供一个更安全的空间,并保证它们的机密性和完整性。

为啥说TEE更安全可信呢?

因为TEE提供了一个与REE隔离的环境保存用户的敏感信息,TEE可以直接获取REE的信息,而REE不能获取TEE的信息。当用户付款时,通过TEE提供的接口来进行验证,以保证支付信息不会被篡改,密码不会被劫持,指纹信息不会被盗用。

在TEE上运行的应用叫做可信应用(Trusted Application,简称TA),可信应用之间通过密码学技术保证它们之间是隔离开的,不会随意读取和操作其它可信应用的数据。另外,可信应用在执行前需要做完整性验证,保证应用没有被篡改。

可信应用可以和触摸屏,摄像头还有指纹传感器等外设进行直接交互,不需要通过REE提供的接口,所以更加保证了安全。

各方对于TEE的态度

对于个人来讲,可以保证个人数据和资产的安全。

对于应用开发者来讲,有了更安全的应用,用户才更放心使用他们提供的服务。

对于操作系统提供商,设备生产厂商来讲也是非常重要,因为当前的设备和系统越来越复杂,很难保证用户的信息和资产的安全,如果出问题,会极大的影响自身的品牌,甚至会遭受巨额的罚款。

所以整个链条的参与者都希望TEE标准付诸实践。

TEE的发展历程

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

2. TEE标准正式提出。OMTP于2009年提出了TEE标准”Advanced Trusted Environment:OMTP TR1”,其中说明了TEE同时包含了硬件和软件,目标是为应用程序提供必要的支持。其中对安全定义了两个级别,第一个级别是可以应对软件方面的攻击,第二个级别是可以同时应对软件和硬件攻击。

3. TEE的实现。基于OMTP的方案,ARM公司提出了一种硬件虚拟化技术TrustZone及其相关硬件实现方案。TrustZone即是支持TEE技术的产品。作为针对消费电子设备设计的一种硬件架构,其目的是为消费电子产品构建一个安全框架来抵御各种可能的攻击。

可信执行环境TEE介绍及在区块链领域的应用

TrustZone在概念上将SoC的硬件和软件资源划分为安全(Secure World)和非安全(Normal World)两个世界,所有需要保密的操作在安全世界执行(如指纹识别、密码处理、数据加解密、安全认证等),其余操作在非安全世界执行(如用户操作系统、各种应用程序等),安全世界和非安全世界通过一个名为Monitor Mode的模式进行转换。

4. TEE当前的标准。GlobalPlatform(全球最主要的智能卡多应用管理规范的组织,简称为GP)从2011年起开始起草制定相关的TEE规范标准,并联合一些公司共同开发基于GP TEE标准的可信操作系统。因此,如今大多数基于TEE技术的Trust OS都遵循了GP的标准规范。

TEE适合哪些场景

数字内容保护。我们先抛开有争议的版权和自由知识之间的争论,单从技术能力上来说,TEE可以用来做数字版权管理(Digital Rights Management,简称DRM),通过TEE可以很容易的与连接的设备进行加密信息的传输,之所以容易是因为TEE不允许用户直接读取TEE中存储的数据,只有拥有特定秘钥或者经过应用开发商同意(比如你付费了)才可以获取到解密后的数据(例如播放电影)。

移动金融服务。TEE可以配合手机的NFC,安全元素(Secure Element,如SIM卡)以及可信后台系统来给用户提供安全的操作环境,让金融交易可以安全的进行。

认证。TEE可以很好的支持生物ID认证,比如面部识别,指纹传感器和声音验证,这种方式很难被窃取信息,比PIN和密码的认证方式要安全很多。

区块链。我们之后会讲解。

TEE如何应用在区块链领域

通过TEE,可以更好的帮助区块链改进安全,性能和隐私。

对于安全,大多数公链项目都无法保证每个节点运行环境的安全,因此需要大量的节点一起达成共识来提高安全,而节点的数量显然与性能成反比,给公链带来严重的性能瓶颈。通过TEE提供的可信环境,保证了机器中运行的代码没有被篡改,可以按照区块链协议指定的方式运行,从而为整个网络提供了安全。

对于性能,因为我们可以相信TEE中的代码不会被篡改并且按照期望的方式执行,所以区块链可以将一部分计算挪到TEE环境中来执行,这样减少了全局共识的成本,增加了区块链的性能。

对于隐私,TEE可以提供端到端的隐私保护,从数据到计算结果都只能被用户自己看到。

TEE Hackathon

伦敦时间2019年10月9日17:30,Trias将举办TEE Hackathon,主题是《如何使用可信计算和Layer -1优化以太坊》,首站在牛津大学开启。本届黑客松聚焦可信计算、“-1”层网络与以太坊的优化应用,并面向全球开发者线上征集技术解决方案,详情请访问https://hackathon.trias.one

无论你是否熟悉TEE,Rebase都建议开发者积极的参与到这样的活动中来,通过这个活动你可能会获得以下收获:

利用TEE解决当前区块链面临的重要问题了解到TEE目前的发展程度和在区块链的应用范围认识一些志同道合的伙伴,参与全球协作像全球优秀开发者学习的机会和区块链领域牛人交流的机会

报名请点击下部的原文链接或访问 https://hackathon.trias.one

可信执行环境TEE介绍及在区块链领域的应用


参考文献

https://en.wikipedia.org/wiki/Trusted_execution_environmenthttps://globalplatform.org/wp-content/uploads/2018/05/Introduction-to-Trusted-Execution-Environment-15May2018.pdfhttps://www.securetechalliance.org/wp-content/uploads/TEE-101-White-Paper-FINAL2-April-2018.pdfhttp://www.vonwei.com/post/TEESurvey.htmlhttps://mp.weixin.qq.com/s/SZ4eBQSLIG3MeNSbB1-IKQ