- 联邦学习:算法详解与系统实现
- 薄列峰等
- 1584字
- 2025-02-17 23:05:08
2.6 联邦学习与计算机硬件
当前,业界从技术上解决隐私泄露和数据滥用的数据共享技术路线主要有两条:一条是基于硬件可信执行环境(Trusted Execution Environment,TEE)技术的可信计算,另一条是基于密码学的同态加密(Homomorphic Encryption,HE)和安全多方计算(Secure Multi-Party Computation,SMC),后者提供了基于理论/数学方面的隐私保证[3]。
TEE提供一种与不可信环境隔离的安全计算环境,正是这种隔离和可信验证机制使得可信计算成为可能,如图2-7所示。TEE一般是直接基于硬件实现的,比如Intel SGX、AMD SEV、ARM TrustZone以及RISC-V Keystone等。基于虚拟化技术也可以构造TEE,比如微软的VSM,Intel的Trusty for iKGT & ACRN,但它们尚不能匹敌硬件TEE的安全性。其中,Intel SGX(Software Guard Extensions,软件防护拓展)是目前商用处理器CPU中最为先进的TEE实现。它提供了一套新的指令集,使得用户可以定义被称为Enclave(飞地)的安全内存区域。CPU保证Enclave与外界隔离,从而保证其中的代码和数据的机密性、完整性和可验证性。苹果公司还设计了一个独立于主处理器的安全协处理器Secure Enclave,其中包括基于硬件的密钥管理器,可提供额外的安全保护,它还可为苹果设备中的触控ID和面容ID提供安全认证,同时保护用户生物识别数据的隐私和安全[4]。由于硬件层次的深度学习实现(例如,张量处理单元TPU或特定于机器学习的指令集)日益重要,这种内置在边缘硬件(如手机)中的基于系统的隐私保障TEE很可能会变得更加普遍。

图2-7 一个通用的可信执行环境方案示意
有的公司提出共享学习的概念,底层使用Intel的SGX技术,试图打造基于云生态的商业模式。相比于分布式的基于密码学的同态加密和安全多方计算,共享学习更倾向于集中式,即当有多个数据提供方想共享数据时,为了解决彼此不信任问题,大家会找一个共同信任的第三方平台(可信硬件执行环境TEE),把所有数据汇总到这个可信第三方平台上进行融合和计算。
SGX技术涉及两个核心概念:“Enclave”和“远程认证”(Remote Attestation)。Enclave被认为是Intel提供的一个保险箱,包括OS、VMM、BIOS、SMM均无法私自访问这里的数据,只有CPU在计算时才能通过其上的硬件进行解密。保险箱解决了SGX内部的数据和代码遭受外部攻击的问题,保证保险箱内的代码是安全、可信的,这涉及“远程认证”技术。远程认证有一个前提假设,就是保险箱内的代码对用户是开源的,用户可以通过检查代码来确认代码的行为,而远程认证只是为了确认当前保险箱中运行的确实是之前用户检查过的代码。通过Enclave和远程认证两个技术的合作,我们就可以确保通过加密通道传入SGX中的数据一定会按照用户预期的行为被处理,确保信息不被泄露。
Enclave给我们带来了前所未有的安全保障,但是目前面临较大的易用性问题。这主要体现在几个方面:第一,需要将原有应用分割成两部分,一部分是Enclave外的不可信部分,一部分在Enclave里作为可信部分;第二,需要精心设计两部分之间的接口,规划好什么时候进入Enclave,什么时候退出Enclave——这存在一定技术门槛,而且比较烦琐,容易出错;第三,即使我们做了完美的分割,Enclave里面的环境相对我们熟悉的Linux运行环境来说是非常受限的。例如,在Enclave里我们不能进行系统调用,libc、pthread不完整,没有openmp,多进程支持欠缺,等等。另一个较大的问题是为了应对大公司、机构超大规模体量的数据,势必要将机密计算从单节点向集群扩展。
针对上面提到的机密计算面临的关键问题,蚂蚁金服创新性地提出了SOFAEnclave机密计算中间件。SOFAEnclave的核心包括三部分:Enclave内核Occlum、云原生机密计算集群KubeTEE,以及安全测试和分析框架。类比操作系统内核,Occlum LibOS向Enclave内的可信应用提供完整的系统服务,应用不需要分割和修改即可得到Enclave保护。目前,Occlum可轻松支持大型人工智能框架,例如XGBoost、TensorFlow等,也可支持大型服务器应用,例如Shell、GCC、Web Server等。由此大大降低了Enclave开发应用成本。KubeTEE则是结合云原生,更高效和简洁地提供机密计算集群服务,详细内容可参考蚂蚁金服相关文章。
目前,业界对基于计算机硬件的联邦学习已经有了相关探索。相信在不久的将来,基于计算机硬件的TEE技术将会往小型化、轻量化、高效化方向发展,大大推动联邦学习的进一步落地应用。