用可信执行环境保护使用中数据安全
随着组织大规模采用多云、混合云、边缘计算,其应用在广泛环境中追踪、存储、分析敏感用户数据。为确保合规和应用用户隐私,数据全生命周期需受保护。
我们加密文件系统和存储驱动器,用 SSH 协议保障静止数据和传输中数据安全,即使被窃也因无加密密钥而无用。然而,使用中数据通常未加密,易受攻击和利用。
为在运行时保护应用和数据,开发者越来越多转向可信执行环境,常称“安全飞地”。
什么是可信执行环境?
可信执行环境 (TEE) 是 CPU 加密的内存内隔离私有飞地,用于在硬件层面保护使用中数据。
敏感数据在飞地内时,未授权实体无法移除、修改或添加数据。飞地内容对外部不可见、不可访问,抵御外部和内部威胁。
结果,TEE 确保:
- 数据完整性
- 代码完整性
- 数据机密性
视供应商和底层技术,TEE 可启用额外功能:
- 代码机密性 —— 保护视为知识产权的算法
- 认证启动 —— 仅授权启动经验证进程
- 可编程性 —— 从厂商或其他安全来源访问 TEE 编程代码
- 认证证明 —— 测量飞地源头和当前状态防篡改
- 可恢复性 —— TEE 受损时回滚到前一安全状态
这些功能给开发者应用安全全控制权,即使操作系统、BIOS 和应用本身被攻破,仍保护敏感数据和代码。
安全飞地如何工作?
理解 TEE 工作原理,看 Intel® Software Guard Extensions (SGX)。
Intel® SGX 将应用数据分为受信和非受信部分。受信代码部分在受保护飞地内运行应用。CPU 拒绝所有其他对飞地访问,无论请求实体权限。处理后,受信数据留在 TEE 内,提供给飞地外应用的信息再次加密。
飞地通过硬件命令创建和供给,支持内存页创建添加、飞地初始化、移除、测量。

平台固件用配置设置建立 TEE 区域。启用扩展后,CPU 预留 DRAM 部分为处理器保留内存 (PRM)。PRM 大小可通过固件工具指定。
然后 CPU 通过设置一对模型专用寄存器 (MSR) 分配配置 PRM。接着在 PRM 内创建飞地页缓存 (EPC),含基址、飞地大小、数据安全信息元数据。

最后 CPU 创建飞地初始状态加密哈希,记录后续状态。此哈希稍后用于通过加密密钥和硬件信任根做认证证明。
初始化后,飞地可托管用户应用。
可信执行环境有多安全?
最好解释 TEE 安全性,先论述 CPU特权环。

加密密钥传统存储在应用内、Ring 3 级。此模型一旦应用被攻破,危及应用内受保护秘密。
现代架构中,特权环超越内核和管理程序,延伸至系统管理模式 (SMM) 和管理引擎 (ME)。这允许 CPU 保护 TEE 使用内存,将攻击面降至最低硬件层,除最高特权级外拒绝所有访问。
TEE 功能和安全另一关键是认证证明。通过认证证明,整个平台和飞地在共享数据前被测量验证。
例如,飞地可向同平台自身或另一飞地请求本地报告,用于数据检查验证。类似,远程验证者可在请求飞地敏感数据前要求认证证明报告。建立信任后,可通过外部不可见安全通道共享会话密钥和数据。

因未加密秘密从不离开 TEE,安全飞地保护数据免受:
- 宿主上其他应用
- 宿主 OS 或管理程序
- 系统管理员
- 服务提供商
甚至基础设施所有者和有物理硬件访问权限的其他实体也无法触及数据。
机密计算中的安全飞地
为在不同云环境实现私有工作负载安全标准化处理,Linux 基金会 2019 年成立机密计算联盟 (CCC)。成立以来,CCC 成员致力加速云计算采用、推动开放协作。
得益于高水平数据保护,基于硬件的安全飞地是此倡议核心。
通过 TEE 支持的机密计算,组织可在应用使用时保护从单个加密密钥到整个工作负载的一切。
为何采用机密计算?
今日秘密远超密码,包含医疗记录、生物识别数据等高度机密不可替代信息。
机密计算通过保护此数据防止财务损失或声誉受损,给企业竞争优势。但这项演进技术还有其他用例。
多方计算
机密计算让组织处理多源数据而不向合作方暴露底层代码、知识产权、私有客户信息。竞争对手、政府机构、医疗、研究机构可利用此功能协作共享洞察,用于联邦学习。

金融与保险
利用机密计算,金融机构防范洗钱等欺诈活动。银行可与网络内外另一银行共享可疑账户审计、最小化误报。
保险公司可用类似方法防欺诈。可在彼此间共享可疑索赔做模式识别。敏感数据存飞地、数据记录跨源共享,过程无机密信息泄露即得结果。
结论
企业增强安全工具随机密计算演进持续开发。这刺激云计算采用、增长和安全,释放其全部潜力。
通过在执行期间提供前所未有的敏感数据和代码保护,可信执行环境允许组织强化安全态势、利用面向未来技术。
云计算