• 元宇宙:本站分享元宇宙相关资讯,资讯仅代表作者观点与平台立场无关,仅供参考.

面向TEE的开发者指南

  • 2025年1月25日 23:12

作者:prateek,roshan,siddhartha&linguine(Marlin),krane(Asula)编译:Shew,仙壤GodRealmX

自从Apple宣布推出私有云以及NVIDIA在GPU中提供机密计算以来,可信执行环境(TEE)变得越来越流行。它们的机密性保证有助于保护用户数据(可能包括私钥),而隔离性确保部署在其上的程序的执行不会被篡改——无论是人类、其他程序还是操作系统。因此,CryptoxAI领域大量使用TEE构建产品也不足为奇。

与任何新技术一样,TEE正在经历一段乐观的实验期。本文希望为开发人员和一般读者提供基础的概念指南,让他们了解什么是TEE、TEE的安全模型、常见的漏洞和安全使用TEE的最佳实践方式。(注意:为了使文本易于理解,我们有意识地用更简单的等价词替换了TEE术语)。

什么是TEE

TEE是处理器或数据中心中的隔离环境,程序可以在其中运行,而不会受到系统其余部分的任何干涉。为了避免TEE被其他部分干涉,我们需要一系列的设计,主要包括严格的访问控制,即控制系统其他部分对TEE内程序和数据的访问。目前TEE在手机、服务器、PC和云环境中无处不在,因此非常易于访问且价格合理。

上面的内容听起来可能很模糊和抽象,实际上不同的服务器和云供应商实施TEE的方式不同,但其根本目的是为了避免TEE被其他程序干涉。

开发人员:用于准备EIF的代码到底有什么作用?EIF代码可能并不符合项目方对外宣传的业务逻辑,可能会窃取用户的隐私数据

服务器:TEE服务器是否运行与预期一致的EIF文件?或者EIF是否真的在TEE内被执行?服务器也可能在TEE内运行其他程序

供应商:TEE的设计是否安全?是否有后门将TEE内所有数据泄露给供应商?

值得庆幸的是,现在的TEE已经有了消除上述风险的方案,即可重复构建(ReproducibleBuilds)和远程证明(RemoteAtteststations)。

那么什么是可重复构建?现代软件开发往往需要导入大量依赖,比如外部工具、库或框架等,这些依赖文件也可能存在隐患。现在npm等方案使用了依赖文件对应的代码哈希作为唯一标识符。当npm发现某个依赖文件与记录的哈希值不一致时,就可以认为该依赖文件已被修改。

远程证明是来自TEE平台(受信任方)的签名消息,其中包含程序的代码度量值、TEE平台版本等。远程证明让外部观察者知道,某个程序正在任何人都无法访问的安全位置(xx版本的真实TEE)中执行。

即TEE将相关交易分别交给不同的MPC服务器,MPC服务器签名后进行聚合签名并将交易最终上链。这种方法的灵活性要低得多,不能用于保存API密钥、密码或任意数据(没有受信任的第三方存储服务)。

展望未来

TEE显然已成为一个非常令人兴奋的领域。如前所述,AI的无处不在及其对用户敏感数据的持续访问意味着Apple和NVIDIA等大型科技公司正在其产品中使用TEE,并将TEE作为其产品的一部分提供。

另一方面,加密社区一直非常注重安全。随着开发人员尝试扩展链上应用程序和用例,我们已经看到TEE作为一种在功能和信任假设之间提供正确权衡的解决方案而变得流行。虽然TEE不像完整的ZK解决方案那样信任最小化,但我们预计TEE将成为首次慢慢融合Web3公司和大型科技公司产品的途径。

Copyright © 2021.Company 元宇宙YITB.COM All rights reserved.元宇宙YITB.COM