# TEE

By [Mu](https://paragraph.com/@lastshot) · 2022-03-21

---

写于 2021-08-16，因要换电脑，爬丢失，因此上传至Mirror。

我们都知道在PHA挖矿中，矿工群体有个特殊的名字，叫TEE矿工。

  

今天我们就来一起分析一下这个TEE到底是什么？

基本概念
====

TEE 即“可信执行环境”-Trusted Execution Environment。

  

可信计算是通过硬件CPU芯片实现TEE可信执行环境，从而构建了一个受保护的Enclave（飞地-数据运行的安全环境）。对于应用程序（APP）来说，Enclave是安全系数极高的内容容器，主要存放应用程序中产生的敏感数据和代码，同时能够保证数据的机密性与完整性。

  

目前，TEE的应用场景实现虽然也包括ARM平台的TrustZone、AMD下 的SEV等。但在隐私计算领域中，还是以Intel SGX的应用更为成熟。以Intel SGX为例, Enclave的内存由CPU默认加密，并且只能被同一个Enclave中的代码访问，即便是外部拥有高权限的程序（例如BIOS、SMM）也无法访问。目前，PHA能使用的只有Intel CPU，ARM和AMD都无法给予支持。

  

**可信计算是融合了安全硬件和密码学的一种隐私计算方案，针对使用软件来形成解决的方案**。其出色性能，通用性、易操作性让它脱颖而出。但由于可信计算也属于TCB，并且有可信方——芯片厂商 的存在，所以侧信道攻击也是有可能发生，但概率极低。（TCB——实现计算机系统安全保护的所有安全保护机制的集合）

  

TCB安全保护机制是以硬件、固件和软件的形式呈现的。一旦进行可信计算的机器的某个构件出现程序错误或者安全隐患，就有可能对整个系统的安全造成危害。如果在可信计算运行过程中，计算机器在最重要的环节出现问题，从而导致参与不了后续的PHA挖矿，就会造成不必要的损失。所以，在采购矿机和置办机器的时候，一定要选择信得过的机构。

功能
==

在可信计算的过程里，TEE主要功能是哪些？

  

**远程证明环节**：这是在使用TEE进行隐私计算过程中证明环节的必备步骤。

比如当一项计算任务存在多方协作时，A要将数据传递给B，首先要做的是检验B的程序是不是在TEE中正在运行。在满足运行的情况下，B需要能够提供“证明”，来证明自己符合A的要求。同时，在验证这一运行状态除了TEE环境信息以外，也会进一步核验所运行程序代码的相关信息。

  

**可信信道**：在A收到B发回来的证明后，A验证了B的身份和计算环境，这时候，A便开始可以建立一条安全的可信信道（比如也可以基于B有的证书来建立加密信道）， 用于后续的数据传输。

  

**数据密封**：TEE本身支持的是一种密钥的映射机制。继续以Intel SGX为例，当需要使用数据密封功能的时候，会由CPU发起指令对入参进行计算，生成一个密封密钥。 数据密封保证了Enclave对数据的加密和解密过程，但是这一过程只能在同一Enclave内进行，而密封数据的存放，可以在Enclave外落盘储存，进而实现可信存储。

  

未来
==

我想挑两点和你分享：

  

首先，可信计算的开发和部署成本很高，为了满足实现各种各样的业务要求，同时又能向使用方提供简单、便宜、有效的服务，现在各大厂商都在选择平台化和容器化。例如通过将远程、本地证明、可信信道的建立、数据密封在内的可信功能整合在TEE基础平台。由此可见，实现对于隐私计算任务的无差别工作流程正在成为业界的主流路径。

  

第二点则是硬件架构的切换。这是实现可信计算落地应用场景在未来有更多可能性的必要条件。完善TEE隐私计算能力的一个关键点就是要实现对底层硬件架构的灵活切换。比如说，将现有的TEE隐私计算平台进行适配，通过HAL（硬件抽象层），使其同时兼容Intel 、ARM 、AMD等多重CPU架构。我们致力于将其实现，可预见性的腾起必将势不可挡。然后再拓展可信计算的计算场景，将TEE功能由CPU延伸到GPU、FPGA等等计算平台，从而满足更多在不同运算场景下的安全需求。

  

很巧的是，以上这两点TEE未来，都是PHA在探索并已经实施试验了的，就因为可信计算的开发和部署成本很高，所以在结合了区块链后，将这一难题迎刃而解，然后再加上有实力有信誉的矿商对市场前沿的把握的精准，以及专业人才在添加减少甚至置换硬件时更快更精准在切换时具备实用性以满足未来PHA有大概率有可能的升级（个人真的很难把握这些操作）。这都将是推动PHA走向成功的内驱动力！

---

*Originally published on [Mu](https://paragraph.com/@lastshot/tee)*
