Trusted Execution Environment(TEE),中文翻译为“可信执行环境”,是近些年隐衷计算方面提出的一个“比拟新”的概念(早在2006年ARM就提出了相似TEE的TrustZone概念),不过直到最近几年,Intel SGX技术的推广应用才让TEE备受瞩目。只管只言片语中看起来TEE只是隐衷计算的一部分,但得益于其能够造成极高安全性的代码执行空间,在区块链畛域能够无效解决智能合约执行时的代码泄露等问题,因而许多区块链我的项目开始钻研并摸索TEE的理论利用。思考到这门较新的技术,中文网络上鲜有对它的简略介绍,这里咱们就稍稍理解下什么是TEE,以及TEE利用方面的代表技术Intel SGX。
01
什么是TEE?
TEE可信执行环境是芯片层面上独自划分进去的一片“区域”,这片区域并不一定会占有芯片的物理地位,兴许只是在逻辑上占用了肯定的执行空间。这片空间,在Intel SGX中被称作Enclave,而在ARM TrustZone中则被称为Secure World。这片区域负责为代码的执行和数据的贮存提供一个更加平安的中央,以此确保其机密性和不可篡改性。
在没有TEE的状况下,芯片执行代码,要么将代码贮存在芯片外部缓存中,要么贮存在芯片内部的“内存”或者硬盘里。但不论是在缓存还是内存,所有的代码和执行过程都能被其它程序所读取,这就导致代码执行不存在隐衷性,这对于某些须要暗藏代码以及代码流程的利用而言相当致命。而TEE通过在芯片层面为代码执行提供一片独立区域,这片独立区域无奈从软件和硬件层面被其它程序所获取,以此确保了在这片区域中执行的代码的秘密和平安。
TEE这种不受内部影响的代码执行区域,通过将敏感信息,例如领取明码放入到TEE中,明码的验证通过TEE提供的接口进行,这样只有TEE外部的数据没有被笼罩,或者蕴含TEE的芯片没有被失落,TEE就能够始终提供领取明码的验证,而领取明码却简直不能被外界的程序所获取。另一方面,TEE也会定期通过API接口提供数据完整性证实,确保外部环境可能得悉TEE外部的所贮存的值没有发生变化。
如果要形象地说,TEE就像是一座大使馆。咱们以设立在美国的中国大使馆为例子,大使馆作为一片界外域,美国能够看到中国大使馆所做的任何事件,包含销毁材料等,但却无奈得悉大使馆销毁材料的详细信息,并且也无权去干预大使馆的所有行为。
02
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技术。
03
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在区块链畛域的大规模利用也不会只是夸夸其谈了。