一、隐私计算与可信执行环境
1. 背景:
- 随着云计算和大数据的普及,用户之间需要进行隐私数据的共享与协作,这些数据被上传到云端进行计算和处理。
- 但是,由于隐私数据交由不可信的第三方存储和管理,用户隐私数据面临被泄露的风险,公民的生命和财产安全乃至国家的安全都受到不利影响。
- 让多个数据拥有者,在不暴露数据本身的前提下,实现数据的共享、互通、计算、建模,最终产生超出自身数据的价值,同时保证数据不泄露给其他参与方。
2. 威胁与防护:
- 数据存储
- 明文存储、存储泄露、备份暴露
- 加密存储、访问控制、定期审计
- 数据传输
- 明文传输、流量分析、中间人攻击
- 信道加密、数据混淆、签名认证
- 数据使用
- 安全漏洞(内存泄漏、缓冲区溢出 ...)、物理攻击(片外总线探测、内存冷启动 ...)、测信道攻击(缓存测信道、幽灵、熔断 ...)
- 隐私计算、机密计算(广义:一种保护处于使用中的数据安全的计算范式。)
3. 隐私计算与隐私数据保护:
- 目的:隐私数据保护 数据可用不可见
- 数据本体(数据所有者手里的那些未脱敏、未加密的数据)不可见
- 数据价值、计算结果得到(多个数据共享方)充分利用
- 基于密码学算法的——安全多方计算(Secure Multi-Party Computation, SMC/MPC)
- 允许多个参与方合作计算一个函数,并且这个过程中每个参与方的输入数据保持私密。
- 通过设计特殊的加密算法和协议,基于密码学原理实现在无可信第三方情况下,在多个参与方输入的加密数据之上直接进行计算,得到的结果对应真实结果的密文。
- 例如:
明文[密文]
—— $$1[dsef3we4t34ytgw435]+2[ertdfgaahdggrdffhe]=3[hgtjhehsdrger4whrt]$$
- 例如:
- 主要技术有同态加密、混淆电路、秘密分享、零知识证明等。
- 基于机器学习的——联邦学习(Federated Learning, FL)
- 机器学习的一种训练策略,参与训练的每一方,都有各自的私有数据,各自根据本地数据训练模型的一部分,然后发送到中心服务器。中心服务器会整合这些局部模型,生成完整的全局模型。
- 能有效帮助多个机构在满足用户隐私保护、数据安全和政府法规的要求下,进行数据使用和机器学习建模。
- 主要技术有横向联邦学习、纵向联邦学习、联邦迁移学习等。
- 基于硬件辅助隔离的——可信执行环境(Trusted Execution Environment, TEE)
- 可信执行环境基于可信硬件的隐私计算技术
- 依赖于专门的硬件,性能较高,适用的场景也比较广泛。它像一个强力的保险箱,数据在这个安全的环境里,进行全密态处理,做到
“可用而不可见”
。 - 该技术主要打造一个区域,负责为代码的执行和数据的储存提供一个更加安全的地方,以此确保其机密性和不可篡改性。例如:Intel 的 SGX,采用一套面向 CPU 的指令,支持应用创建一个安全区,在该区域内通过指令进行相关的算法逻辑运算;而 ARM 的 TrustZone 则是将硬件与软件划分为两个环境,分别为安全环境和普通环境,安全环境能够进行一些保密操作,且普通环境无法访问,以此实现隔离。
- 基于可信执行环境的隐私计算技术又被称为
机密计算
(狭义:基于硬件的可信执行环境中执行计算来保护使用中的数据)。
技术手段 | 安全性与假设 | 计算精度 | 通用性 | 性能 | 实现方式 | 趋势 | 安全模式 |
---|---|---|---|---|---|---|---|
安全多方计算、全同态加密、零知识证明 | 安全性可证明 | 接近无损 | 通用计算 | 低 | 软件 | 长期看好 | |
联邦学习、差分隐私、拆分学习 | 存在数据泄露风险,信息泄露上线可度量 | 有损 | 机器学习为主 | 高 | 软件 | 随AIGC热潮快速发展 | |
可信执行环境 | 依赖可信硬件 | 无损 | 通用计算 | 高 | 软硬一体 | 成熟实用 |
二、机密计算与可信执行环境
1.背景
- 云计算、大数据、人工智能等新型信息技术的发展与应用,数据安全与隐私保护成为亟待解决的重要安全问题。
- 用户(包含个人、企业以及政府组织)将重要数据和关键应用部署到云计算平台上,因此云平台中的数据安全就显得尤为重要。
- 数据的安全存储和传输,已经有大量相对成熟的安全机制,然而
保护云计算平台使用中的数据安全
面临巨大的技术挑战。
2.机密计算技术
机密计算是一种旨在保护使用中的数据安全的计算范式,通过 硬件级系统隔离 -> (TEE)
,实现对数据和代码的安全保障,尤其适用于多方协同的数据保护场景。目前,机密计算主要围绕以下技术路线展开:
- 打造机密计算平台,包括硬件基础:(1)基础硬件可信、静态可信执行环境、硬件固件安全(Titan、FPR等),基于硬件的可信执行环境提供3方面的安全功能,即隔离(isolation)、硬件信任根(hardware root of trust)和证明(attestation);(2)硬件高级特性: 系统动态可信执行环境实现,如Apple SE(Secure Element)、Intel SGX、内存加密等;(3)虚拟化技术:安全Hypervisor,不可信的Hype运行可信的OS等问题,主流的平台,用户是完全信任Hype的;(4)虚拟机和应用安全:机密虚拟机容器/“飞地”等,提供容器中的微服务安全(microservice security)。
- 发展可信执行环境的技术实现方式,最常见的是英特尔 SGX 可信执行环境,但可信执行环境不仅仅在英特尔硬件平台中可用,还有多种技术实现路线,包括Intel SGX、ARM TrustZone、RISC-V TEE、Microsoft VSM等:OP-TEE基于ARM TrustZone,是运行在Cortex-A内核上的Linux TEE;Keystone TEE:Keystone是一个运行在RSIC-V平台上的开源TEE;虚拟安全模式(VSM):VSM是微软在Hyper-V(Windows系统Hypervisor)上实现的基于软件的TEE,在Windows 10和Windows Server 2016中实现。
- 推进机密计算的应用,包括人工智能安全(confidential AI)、模型、算法、训练等;机密数据库和分析,如同态加密数据库等;机密多方计算和协作;机密超级账本(hyperledger),如可信执行环境运行可验证的账本。
- 新进展——弹性机密计算(Resilient CC, RCC)旨在保障机密计算环境在面对各种攻击和漏洞时仍能保证安全性和可靠性,其核心思想是在可信执行环境信任根攻击免疫的前提下,即使机密计算平台系统固件、虚拟机监控器、主机操作系统或部分TEE应用系统受到攻击或控制,整个机密计算系统依然能够保持高安全性和运行效率,
+ 硬件信任根:硬件信任根是整个信任链的基础,负责为系统提供最底层的安全保障。通常CPU内部的安全协处理器充当TEE的信任根,确保TEE环境的可信性。可信平台模块TPM/TCM则作为主机系统的信任根,提供计算机硬件级别的信任基础。此外,随着异构计算的发展,GPU TEE作为主要的异构计算环境的信任根也日趋重要,确保海量AI数据在GPU机密计算环境中训练和推理的计算安全性。
+ TEE基础防护:TEE基础防护层旨在保护TEE的初始环境,确保其在启动和运行时的安全性。该层级的防护措施包括系统隔离、内存加密、侧信道攻击防护等。系统隔离确保TEE与非可信环境之间的严格分离,防止未经授权的访问;内存加密保护敏感数据在内存中的机密性;侧信道攻击防护机制通过防御物理层面和微架构层面的攻击,进一步提升TEE的安全性。
+ 软硬件协同防护:TEE软硬件协同防护层通过软硬件结合的方式,确保TEE系统的代码和关键数据的安全性。该层级的安全机制包括完整性度量、远程证明和封装存储等。完整性度量通过对TEE系统关键组件的度量,确保其未被篡改;远程证明允许远程实体验证TEE的可信状态;封装存储则确保敏感数据在存储和传输过程中的机密性和完整性。这些机制共同作用,确保TEE在运行过程中始终处于可信状态。
+ 可信状态监控:可信状态监控层负责对TEE内部的工作负载进行持续的监控,确保应用负载代码和数据的安全性。该层级的防护措施包括运行状态证明、完整性状态监控以及TEE系统恢复机制。运行状态证明确保TEE在运行时的可信性;完整性状态监控持续监测系统的关键组件,防止篡改或恶意修改;TEE系统恢复机制在检测到异常时,能够使系统快速恢复至可信状态。
通过这四个层级的互相协作,弹性机密计算最终可实现启动时初始可信、计算时数据安全、互联时信道保护、运行时动态监控的机密计算安全目标。
3.可信执行环境
四、可信计算 | 机密计算 | 隐私计算
可信计算与机密计算是两个既有区别又有联系的概念。可信计算是机密计算的平台基础,可信计算与机密计算都包括可信执行环境,但可信计算实现静态可信执行环境,而机密计算可以动态创建、调整、销毁可信执行环境。
参考文献
[1] 张涵,于航,周继威,等.面向隐私计算的可信执行环境综述[J/OL].计算机应用,1-14[2024-12-24]
[2] 李建华,银鹰,李思源,等.大数据安全与隐私计算技术综述[J/OL].网络空间安全科学学报,1-15[2024-12-24]
[3] AIGC大模型为什么需要可信执行环境(TEE)?
[4] Enclave Research
[5] 漫画科普丨隐私计算如何实现数据可用不可见?
[6] 趣味科普丨《大宅门》涂二爷教你啥是隐私计算?
[7] 隐私计算知识库丨抽丝剥茧可信执行环境(TEE)
[8] 可信执行环境业界资料
[9] 可信执行环境(TEE)学习笔记
[10] MOOC 第9讲 :「隐私计算基础理论」机密计算与可信执行环境
[11] 冯登国:从可信计算到机密计算
[12] 机密计算:进展与展望
[13] 张锋巍,周雷,张一鸣,等.可信执行环境:现状与展望[J].计算机研究与发展,2024,61(01):243-260
[14] 开放隐私计算-TEE数据安全新范式
[15] 名词解释:机密计算、可信根、可信固件、可信链、可信认证、可信度量...