TEE极简介绍

Trusted Execution Environment(TEE),中文翻译为“可信执行环境”,是近些年隐私计算方面提出的一个“比较新”的概念(早在2006年ARM就提出了类似TEE的TrustZone概念),不过直到最近几年,Intel SGX技术的推广应用才让TEE备受瞩目。尽管只言片语中看起来TEE只是隐私计算的一部分,但得益于其可以形成极高安全性的代码执行空间,在区块链领域可以有效解决智能合约执行时的代码泄露等问题,因此许多区块链项目开始研究并探索TEE的实际应用。考虑到这门较新的技术,中文网络上鲜有对它的简单介绍,这里我们就稍稍了解下什么是TEE,以及TEE应用方面的代表技术Intel SGX。

 

什么是TEE?

 

TEE可信执行环境是芯片层面上单独划分出来的一片“区域”,这片区域并不一定会占有芯片的物理位置,也许只是在逻辑上占用了一定的执行空间。这片空间,在Intel SGX中被称作Enclave,而在ARM TrustZone中则被称为Secure World。这片区域负责为代码的执行和数据的储存提供一个更加安全的地方,以此确保其机密性和不可篡改性。

在没有TEE的情况下,芯片执行代码,要么将代码储存在芯片内部缓存中,要么储存在芯片外部的“内存”或者硬盘里。但不论是在缓存还是内存,所有的代码和执行过程都能被其它程序所读取,这就导致代码执行不存在隐私性,这对于某些需要隐藏代码以及代码流程的应用而言相当致命。而TEE通过在芯片层面为代码执行提供一片独立区域,这片独立区域无法从软件和硬件层面被其它程序所获取,以此确保了在这片区域中执行的代码的机密和安全。
TEE这种不受外部影响的代码执行区域,通过将敏感信息,例如支付密码放入到TEE中,密码的验证通过TEE提供的接口进行,这样只要TEE内部的数据没有被覆盖,或者包含TEE的芯片没有被丢失,TEE就可以一直提供支付密码的验证,而支付密码却几乎不能被外界的程序所获取。另一方面,TEE也会定期通过API接口提供数据完整性证明,确保外部环境能够得知TEE内部的所储存的值没有发生变化。

如果要形象地说,TEE就像是一座大使馆。我们以设立在美国的中国大使馆为例子,大使馆作为一片界外域,美国可以看到中国大使馆所做的任何事情,包括销毁资料等,但却无法得知大使馆销毁资料的详细信息,并且也无权去干涉大使馆的一切行为。

Intel SGX

 

Intel SGX(Intel Software Guard Extensions)是Intel提供的TEE实现,由于过去十年Intel在市场上的主流位置,Intel SGX也自然而然地成为了最常用的TEE方案之一。在SGX中,用于执行代码的TEE环境被称为Enclave(飞地),在Enclave中的数据可以确保其机密性和完整性;而Intel也提供了一个用于验证某个结果是否由SGX所执行出来,以此确保恶意者伪装成SGX来窃取信息;最后SGX方案提供了更广阔的安全边界,内存数据,包括Bios都无法获取到SGX中的加密数据。
除了Intel SGX外,几乎所有主流的芯片企业都提供了TEE解决方案。在ARM中是TrustZone方案,而在AMD中则是 PSP方案。其它手机端芯片例如联发科,高通等也广泛采取了TEE技术。
 

Wisdom Chain能用吗?

 

答案是肯定的。
TEE技术作为一种隐私技术,同样适用于通过加密学确保隐私的区块链领域。在Wisdom Chain中,尽管采用了混合共识获得了更高的交易处理效率,但只要作为一个去中心化网络,对于保存全局账本的区块链节点而言,产块节点越多,网络的效率反而会下降(因为网路全体状态同步时间延长),也就是经典的CAP定理。不过,使用TEE技术,可以将一部分的事务执行以加密代码形式注入到TEE空间中,这样全网就可以省略掉对TEE执行步骤的验证,甚至在极度乐观情况下也可以省略对结果的验证,这样就可以弥补网络产块节点数量上升带来的效率下降问题。
此外,由于TEE也可以机密地执行智能合约,将TEE引入Wisdom Chain还能让其具备隐私计算的能力,不仅代币交易可以获得隐私,事务的执行逻辑和过程也能确保隐私,并且这个隐私对于利益相关方是可验证的。通过TEE,Wisdom Chain也能成为一个拥有极高隐私能力的公有链
但是,TEE并非是一个没有缺点的技术。首先,目前最广泛采用的Intel SGX方案,除了更换设备需要大量成本外,由于需要对SGX进行验证,而验证却是向由Intel所维护的中心服务器发起,这显然是不满足区块链“去中心化”理论的行为,且这种方式还存在中间人攻击和Intel作恶的风险。其次,TEE的空间有限,这导致TEE无法执行非常复杂的事务逻辑,像Uniswap类交易所就很难迁移到单个TEE环境中;最后,目前常用的TEE方案,各个可信空间之间是无法相互通信的,如何跨设备进行TEE通信还需要等待技术人员的努力。
不过,可以肯定的是,未来将会有更多的区块链项目采取TEE方案来保护隐私,TEE方案更是已经在手机上推广应用了。TEE在区块链领域的大规模应用也不会只是纸上谈兵了。

写评论,请先登录