部署隐私集合求交方案
1概述
本文介绍在Intel® SGX使能的平台,基于Anolis OS部署隐私集合求交方案。
2背景信息
隐私集合求交(Private Set Intersection,PSI)是多方安全计算的应用热点,其目的是通过安全方案计算两方之间的交集,而不暴露交集之外的其他信息。我们采用了基于Intel SGX技术的隐私保护计算解决方案。
Intel® SGX (Software Guard Extension) 技术,提供了SGX加密计算能力,打造了基于硬件级别的更高安全等级的可信机密环境,保障关键代码和数据的机密性与完整性不受恶意软件的破坏。
本实践为开发者使用Anolis OS提供了参考实现,您可以通过本文获取以下信息:
• 对基于SGX加密技术实现的端到端的全数据生命周期安全方案有整体了解。
• 对于使用Anolis OS的开发者,可直接参照本实践部署和开发脚本。
• 为使用安全增强型云服务器SGX开发者提供可行性参考框架和脚本,开发者可根据本实践步骤快速了解安全增强型裸金属云服务器及环境搭建部署流程,轻松上手使用。
3 实践架构
本实践涉及了两种角色:客户端(Client)和服务端(Server)。
• 服务端:部署在Anolis OS安全增强型云服务器中,提供SGX机密计算环境,隐私求交服务运行在此环境中。当隐私求交启动后,服务端会等待客户端发送远程认证请求,证明当前SGX环境的可信性。所有客户端验证成功后,服务端会等待客户端上传待求交数据,待所有数据上传成功后,服务端计算交集并将结果发送回各个客户端。
• 客户端:客户端向服务端请求远程验证服务,远程验证通过后,客户端将本地待求交数据上传到服务端,并等待服务端完成求交并将结果发送回客户端。
说明:为了方便开发者部署,本实践将隐私集合求交方案参与方部署在同一台云服务器中。
本实践使用到的主要组件:
• LibOS:Gramine是一款轻量级LibOS,结合Intel SGX加密保护技术,提供了内核能力定制,运行资源消耗少,具备非常好的ABI兼容性,极大降低了原生应用移植到SGX环境的成本,做到了应用程序不修改或者极少的修改便能运行在SGX环境中。更多信息,请参考Gramine。
• Docker容器引擎:为了方便部署推理,本实践将参与方运行在Docker容器中,通过Docker的命令方式运行推理服务。
本实践架构说明: Anolis OS SGX端需要向Intel证书缓存服务(Provisioning Certifificate Caching Service,PCCS)获取PCK(Provisioning Certifification Key)证书。Intel SGX拥有一个密钥用于Enclave签名
,该密钥对于处理器或者平台是唯一的,密钥的公开部分就是PCK公钥。另外客户端也会向PCCS获取一些信息
,比如TCB信息、Quote Enclave认证的信息、CRL信息等用于对SGX Enclave的认证。
训练阶段可以分为以下几个步骤:
① 所有参与者都在SGX环境中运行。每个客户端通过RA-TLS与服务端完成双向认证,以互相确认身份。
② 客户端通过RA-TLS增强型gRPC将数据安全传输到服务器。
③ 服务端等待所有客户端的数据上传完成后,计算上传数据的交集。
④ 服务端通过RA-TLS增强型gRPC将计算结果回传给每个参与的客户端。
由于客户端和参数服务器运行在内存加密的Enclave环境中,同时RA-TLS通信方案保证了传输过程中的数据安全,因此该方案可以保证在完整的训练周期中的数据安全。
《云原生机密计算最佳实践白皮书》——07解决方案——Intel Confidential Computing Zoo: Intel机密计算开源解决方案——部署隐私集合求交方案(2) https://developer.aliyun.com/article/1230741?groupCode=aliyun_linux