Page 398 - 《软件学报》2026年第2期
P. 398

李鲍 等: 基于  TEE  安全高效的细粒度统计分析与可验证数据聚合方案                                            877


                 包括  ODMT-BGN  算法的设计、系统模型、威胁模型与方案详细描述. 第                  4  节给出了方案的正确性证明和安全性
                 分析. 第  5  节是该方案的实验分析. 第      6  节总结全文.

                  1   相关工作

                  1.1   Intel SGX
                    可信执行环境      (TEE) 是一种安全的计算环境, 确保其内部敏感数据和代码的安全性和隐私性. TEE                      通常是由
                 硬件和软件组成的, 可以在普通的操作系统上提供一种安全的运行环境, 使得恶意软件无法获取或篡改                                 TEE  中的
                 数据和代码. 例如, Intel SGX (software guard extension).
                    英特尔软件防护扩展 (Intel SGX/TDX)     [27–29] 于  2015  年首次在第  6  代 Intel Core 处理器上实现, 是一组添加在
                 Intel 架构处理器内一组     x86  内存访问指令和机制. 被保护的内存区域称飞地 (enclave) 驻留在应用程序的地址空
                 间, 旨在为应用程序代码和数据提供基于硬件的内存加密和隔离, 保证了代码和数据机密性与完整性. 此外, Intel
                 SGX  提供了内存隔离、远程认证以及数据封装等功能. 如图                 1  所示.

                                Enclave 2
                                                  1. 飞地认证质询       4. 发送签名报告
                  应用1    应用2               7. 验证                                 5. 验证  Enclave EGETKEY  应用
                                安全服务                                              签名   飞地   Seal key
                                                                   6. 签名验证结果
                                               用户        SGX 运行平台        IAS 认证服务
                                操作系统                                                             操作系统
                                                 2. MRENCLAVE
                                                            Quoting                                硬件
                                   硬件                       enclave
                                                             QE
                      (1) SGX 内存隔离                      (2) SGX 远程隔离                       (3) SGX 封装
                                                 图 1 可信执行环境      Intel SGX

                    (1) 内存隔离: 飞地的内存被映射到一个称为            EPC (enclave page cache) 的特殊的物理内存区域. EPC  内的数据
                 是由内存加密引擎       MEE (memory encryption engine) 来进行加密维护的, 进而保证了数据不被运行其飞地的不可
                 信系统、超级管理员以及系统固件所访问. 然而, 这种保护也会受到飞地内存的受限, 例如: SGX1                          代预留   128 MB
                                                            ®
                                                        ®
                 或  256 MB  加密保护的内存, 现如今第三代英特尔 至强 可扩展处理器开始内置英特尔软件防护扩展, 其安全飞
                 地的容量最多可达单核 CPU 512 GB, 双路共计         1 TB  容量, 可满足更大执行空间需求.
                    (2) 远程认证: Intel SGX  远程认证允许远程用户 (验证者) 验证飞地 (证明者) 是否被正确创建且安全运行在
                 SGX  平台上. 在此认证中, 主要涉及注册开发飞地用户             ISV (independent software vendor)、验证飞地的英特尔认证
                 服务验证者    IAS (Intel attestation service) 以及运行  SGX  飞地的平台证明者. 其过程如下.
                    1) ISV  发送飞地认证质询.
                    2) 运行  SGX  飞地平台生成包含其飞地度量值            (MRENCLAVE) 的验证报告, 此报告可由          Intel 签名的  QE
                 (quoting enclave) 通过本地认证生成. 同时, QE  通过验证密钥对其签名并发送至           IAS.
                    3) IAS  验证该签名并利用    Intel 私钥对验证结果进行签名.
                    4) ISV  通过对比验证结果的签名与飞地的度量值来判断飞地是否可信, 如签名值与飞地度量值不等则验证失
                 败, ISV  将拒绝加载飞地, 反之加载.
                    (3) 数据封装: 因  SGX  内存受到严格限制, 飞地一旦被创建且实例化, 就会将数据保存在飞地. 当飞地关闭时,
                 飞地内部的敏感信息就会丢失, 这期间必须保存这些敏感数据以便将来使用. 因此, SGX 提供一种封装技术将其
                 敏感数据封装到飞地之外. 此封装特性是一种只允许检索该飞地平台上生成密钥的机制, 飞地可以使用该密钥对
                 飞地内部敏感数据加密和解密. 如数据需要存储在飞地外时, 则需利用                     CPU  硬件派生密钥对数据进行封装.
                  1.2   数据聚合
                    数据聚合不仅为用户提供全面且准确的数据统计分析, 还能提高系统分析的效率. 数据拥有者通过加密的方
   393   394   395   396   397   398   399   400   401   402   403