隐私计算面对不同的场景,有多种技术路线可以适配。当用户对隐私计算有需求时,可以综合结合使用多种技术来实现。
1) 安全多方计算
安全多方计算(Secure Multi-party Computation,MPC)是指在无可信第三方的情况下,多个参与方共同计算一个目标函数,并且保证每一方仅获取自己的计算结果,无法通过计算过程中的交互数据推测出其他任意一方的输入数据(除非函数本身可以由自己的输入和获得的输出推测出其他参与方的输入)。
该技术由图灵奖获得者姚期智院士于1982年通过提出和解答百万富翁问题而创立。安全多方计算是多种密码学基础工具的综合应用,除混淆电路、秘密分享、不经意传输等密码学原理构造的经典安全多方计算协议外,其它所有用于实现安全多方的密码学算法都可以构成安全多方计算协议,因此在实现安全多方计算时也应用了同态加密、零知识证明等密码学算法。
安全多方计算的定义可以通过下图描述:
2) 联邦学习
联邦学习(Federated Learning,FL)是指一种多个参与方在保证各自原始私有数据不出数据方定义的私有边界的前提下,以保护隐私数据的方式交换中间计算结果,从而协作完成某项机器学习任务的模式。
根据参与计算的数据在数据方之间分布的情况不同,可以分为横向联邦学习、纵向联邦学习和联邦迁移学习。
联邦学习通过对各参与方间的模型信息交换过程增加安全设计,使得构建的全局模型既能确保用户隐私和数据安全,又能充分利用多方数据,是解决数据孤岛和数据安全问题的重要框架,其强调的核心理念是“数据不动模型动,数据可用不可见”。
应用差分隐私下的联邦学习计算过程可以通过下图描述:
3) 可信执行环境
可信执行环境(Trusted Execution Environment,TEE)通过硬件方法在中央处理器中构建一个安全的区域,保证其内部加载的程序和数据在机密性和完整性上得到保护。TEE是一个隔离的执行环境,为在设备上运行的受信任应用程序提供了比普通操作系统更高级别的安全性以及比传统安全元件更丰富的功能。
应用TEE实现隐私计算的过程可以通过下图描述:
步骤1:各个参与方将自己的数据x通过安全链路传输给TEE。
步骤2:TEE在保证机密性和完整性的条件下完成计算任务。
步骤3:TEE通过安全链路将计算结果发送给各个参与方。
4) 隐私计算技术对比