共计 2104 个字符,预计需要花费 6 分钟才能阅读完成。
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 在区块链畛域的大规模利用也不会只是夸夸其谈了。