一、TEE 的定义
论述完 TEE 的概念后,接下来进一步解析 TEE 的深层定义。目前对于 TEE 的定义有很多种形式,针对于不同的安全性需求和平台,TEE 的定义也不尽相同,但在所有 TEE 的定义中都会包含两个最关键的点:独立执行环境和安全存储。在 GlobalPlatform, TEE System Architecture, 2011 中,GlobalPlatform 将 TEE 定义如下:TEE 是一个与设备操作系统并行,但相互隔离的执行环境。TEE 可以保护其中的数据免受一般的软件攻击,TEE 可以使用多种技术实现,在不同的技术实现下 TEE 的安全性等级也会有所不同。
在 IEEE International Conference on Trust 2015 上,Mohamed Sabt 等人使用分离核(separation kernel)对 TEE 进行了崭新的更一般化的定义。分离核最早用于模拟分布式系统,其需要满足以下安全性准则:
数据独立(data separation).储存在某个分区中的数据不能被其他的分区读取或篡改。
时间隔离(temporal separation).公共资源区域中的数据不会泄露任意分区中的数据信息。
信息流控制(Control of information flow).除非有特殊的允许,否则各个分区之间不能进行通信。
故障隔离(Fault isolation).一个分区中的安全性漏洞不能传播到其他分区。
二、TEE 在联邦学习中的应用
可信执行环境(Trusted Execution Environment,TEE),通过软硬件方法在中央处理器中构建一个安全区域,保证其内部加载的程序和数据在机密性和完整性上得到保护。可信的中央处理器一般是指可信执行控制单元已被预置集成的商用CPU计算芯片,无法后置,因此,只有新研发的部分芯片支持TEE。目前主流的TEE技术以X86指令集架构的Inter SGX和ARM指令集架构的TrustZone为代表,国产芯片厂商如兆芯、海光、飞腾、鲲鹏起步稍晚,芯片处理性能略差。
TEE 作为基于硬件的隐私计算技术,可通过与联邦学习相结合来保障计算效率和安全性。
联邦学习是近年来兴起的一种崭新的机器学习技术,类似于隐私保护下的分布式学习,多个参与方利用自己的数据联合训练一个模型,但每个参与方的数据都不会被暴露。其核心理念是:数据不动模型动,数据可用不可见。
在横向联邦学习中,需要每个参与方(party)独立地根据自己手中的数据训练模型,然后将梯度等模型参数上传到服务端(server)并由服务端进行聚合操作,接着生成新的模型分发给各个参与方。在这一过程中,虽然原始数据仍然只保存在每个参与方手中,但实际上攻击者可从梯度信息恢复出原始数据。为解决上述问题,在实际应用中大多通过加噪或同态加密的方式对梯度信息进行保护。
此外,也可由 TEE 来替代上述场景中的参数服务器,即在可信执行环境中进行联邦学习的参数聚合,假设 TEE 是可信的,则可以通过简单的数字信封的形式实现可信执行环境与计算节点之间的交互,由此省略了复杂的同态加密计算过程,使联邦学习训练的效率大幅提升。
本文以 FLATEE 框架为例,简要介绍 TEE 技术在联邦学习中的应用。如下图所示,在 FLATEE 中,TEE 可以生成用于传输数据和代码的对称加密密钥和公钥。参与方在 TEE 中根据自己的数据训练模型,然后使用这些密钥对模型参数进行加密,并上传至服务端。接收到加密的模型参数后服务端在 TEE 中对加密的模型进行解密,接着通过聚合操作得到新的模型。如果新模型的损失函数在阈值之下,便可宣布算法完成,并把新模型通过 TEE 生成的密钥加密后发送给各个参与方,否则就再进行新一轮的迭代训练,直至到达迭代次数上限或模型训练成功为止。在这个模型中,TEE 同时承担了加解密和隔离计算的功能,可以在不损失计算效率的前提下有效地保障联邦学习算法的安全性。
优势:
可信硬件部分可支持多层次、高复杂度的算法逻辑实现
运算效率高,相较于明文计算仅有 3-4 倍损耗,而 MPC 等技术具有上百倍的计算损耗
能够抵御恶意敌手
劣势:
方案实现依赖底层硬件架构
更新升级需要同步进行软硬件升级
不同厂商的 TEE 技术各异,需要形成统一的行业标准
根据 TEE 技术的优势和劣势,可以总结出 TEE 技术适用于以下应用场景:
计算逻辑相对复杂的计算场景
数据量大,数据传输和加解密的成本较高
性能要求较高,要求在较短时间内完成运算并返回结果
需要可信第三方参与的隐私计算场景,且数据(部分或间接)可被可信第三方获取或反推
数据的传输与使用环境与互联网直接接触,需要防范来自外部的攻击
数据协作的各方不完全互信,存在参与各方恶意攻击的可能