我们生活中更多的内容现在在手机、笔记本电脑和云端上运行。这使得保护秘密变得更加困难。可信执行环境(TEE)通过在计算机芯片内部充当一个小型安全房间来帮助。只有经过批准的代码才能进入。房间内发生的事情保持私密和完整。在三分钟内,本指南解释了TEE是什么,为什么值得信赖,它在哪里使用,以及如何明智地使用它。
什么是TEE?
想象一下处理器内部的一个锁定的、隔音的房间。那个房间就是TEE。它提供了两个强有力的承诺:
-
保密性:外部人员无法阅读数据。
-
完整性:外部人员无法更改代码或数据。
“外部人员”包括操作系统、其他应用程序和云管理工具。硬件隔离强制执行这些规则,因此常规软件攻击很难进入。
快速场景:您的应用程序需要检查一个私钥并签署一条消息。在TEE内部,密钥永远不会离开房间。签名被生成,但密钥保持隐藏。
为什么您可以信任它
TEE层叠了几个控制:
-
安全启动:在启动时,TEE验证其自身代码和微小安全操作系统上的数字签名。如果检查失败,它将不运行。
-
仅批准的应用程序:TEE在启动之前验证应用程序是否经过授权。
-
强隔离:多个受信任的应用程序可以共享主机,但每个应用程序只能看到自己的数据。
-
保密内存:TEE内存是加密的,并且对主操作系统和虚拟机监视程序隐藏。
-
远程证明:TEE可以生成一个确切运行的软件的加密证明,以便远程用户可以验证它。
TEE出现在哪里
TEE支持保密计算,即使在处理数据时也可以保护数据。
-
移动安全:将生物特征和支付密钥存储在受保护区域。
-
云计算:在机密虚拟机中运行工作负载。例如,Azure 机密计算使用 AMD SEV-SNP 和 Intel TDX 对虚拟机内存进行加密,以及 Intel SGX 用于需要强隔离而无需大规模代码更改的飞地式应用程序。
-
物联网设备:保护传感器群中的固件更新和机密信息。
-
区块链系统:处理私有订单、医疗保健或金融数据,而不将其暴露给节点运营商。这使得私有订单簿和私有 AI 代理运行成为可能。
-
加密货币钱包:将私钥和签名逻辑保留在 TEE 内,使密钥永远不会离开安全边界。
-
可信 AI:较新的 GPU 添加了类似 TEE 的功能;结合 CPU 机密虚拟机,它们有助于在训练和推理过程中保持模型和数据的私密性。
为什么不只使用密码学?纯密码学方法如 全同态加密(FHE) 和 安全多方计算(MPC) 也能保护数据,但往往成本高或需要大规模代码更改。TEE 通常能更快地运行当今的软件,并且减少更改,同时仍然提高隐私性。
重要限制
没有完美的工具。事先了解这些限制:
-
不是万能解决方案: TEE 保护发生在内部的事情。如果恶意软件在输入进入之前更改了输入,或者在输出离开之后篡改了输出,TEE 将无法检测到。如果数据在上游被更改,TEE 可能会签署错误的交易。
-
物理攻击: 非常熟练的攻击者可以通过实际接触芯片尝试入侵方法。
-
侧信道: CPU 缺陷如 Spectre 和 Meltdown 显示出时间和缓存模式可能泄漏线索。供应商增加了防御措施,但风险并非为零。
-
供应商信任: 设计来自 Intel(SGX、TDX)、AMD(SEV)和 ARM(CCA)。您必须信任他们的硬件和更新。
-
验证差距: 验证证明“此二进制正在运行”,但不会在没有额外步骤的情况下证明它与公共源代码匹配。
如何降低风险
将 TEE 作为分层计划的一部分:
-
设计以失败为前提: 假设存在漏洞是可能的。更喜欢使用 TEE 保护隐私和限制损害,而不是作为您唯一的系统完整性防护。
-
保护访问模式: 使用Oblivious RAM (ORAM) 来隐藏触及哪些内存位置,减少观察者可以推断的内容。
-
轮换密钥: 使用短期会话密钥和定期轮换,以便任何泄漏具有较小的影响范围。
-
关闭构建差距: 在 TEE 中构建和验证软件,以便您可以将公共源代码与稍后运行的确切二进制文件进行关联。例如:dstack 的 “In-ConfidentialContainer (In-CC) Build” 声称提供这种端到端路径[澄清:确认供应商名称和功能名称]。
要点
TEE 将安全空间带到您的设备或云 VM。在执行过程中,它保持数据私密和代码完整。它并不消除对安全输入、谨慎输出和良好密钥卫生的需求。结合分层防御和清晰验证,TEE 是跨手机、云端、物联网、区块链、钱包和人工智能工作负载的机密计算的实用基础。
please login with NEAR
Updated: 26 9 月, 2025