2.5.3 安全多方计算在联邦学习中的应用
在安全多方计算发展初期,绝大多数工作致力于安全多方计算存在性的验证,因此方案的效率都不容乐观。经过不断的发展,目前基于混淆电路的方案和基于秘密分享的方案都已经有了高效的实现。其中,基于混淆电路的方案更适合进行逻辑运算或者数字的比较等运算,而基于秘密分享的方案则更适合进行算术运算。因此,为了进一步提高安全多方计算的效率,目前设计了通用的安全多方计算框架,将基于混淆电路和秘密分享的方案进行融合,让它们分别负责不同类型的运算。在文献[68]中,作者列举了当前主流的11个安全多方计算框架,感兴趣的读者可以进行进一步的探索。
高效的安全多方计算作为兼顾数据隐私性和可用性的有效工具,在机器学习领域也受到了广泛关注。其中,文献[69,70]提出的SecureML方案便使用上述计算加法和乘法的思想,将用户的隐私数据分发给两个不会合谋的服务器,两个服务器使用各自的数据碎片进行线性回归和逻辑回归的模型训练。在具体实现中,使用基于秘密分享的安全多方计算进行矩阵和向量的乘法等算术操作,在需要进行数值的大小比较时,便使用ABY框架[69],将基于秘密分享的安全多方计算转化为基于混淆电路的协议对数值进行比较,在完成比较之后再通过该框架转化为基于秘密分享的协议进行后续计算。此方案大大地提高了安全多方计算在实际应用中的效率。
联邦学习作为一种保护用户数据隐私的机器学习通用解决方案,固然离不开安全多方计算的辅助。在横向联邦学习的安全聚合阶段,大规模的客户端在向服务器上传模型参数时,为了保护各个客户端的隐私,便可以通过安全多方计算进行安全的聚合。Bonawitz等人提出了一种在联邦学习中进行安全聚合的方法mask-then-encrypt,并被后续多个工作进行了扩展[70]。该方法的主要思想是在各个客户端之间共享一些随机值,每个客户端在上传参数值之前,将真实的参数值与随机值相加或者相减,从而掩盖真实的参数值,但聚合过程又会将这些随机值抵消,从而得到正确的聚合结果。当然,安全多方计算在联邦学习中的应用研究并未止步于此,后续仍有很多工作致力于安全多方计算的优化,比如降低方案的时间开销和解决客户端掉线或者不诚实的问题。