安全推理之Sphinx论文理解
针对云训练下隐私计算和隐私保护难以平衡的问题,作者设计了一个⾼效且具有隐私保护性的在线深度学习框架,将HD和DP结合,为训练和推理阶段引入了混合隐私保护协议,核心是⽤HE 加密所有偏置分量,并⽤DP扰乱线性分量。
论文:《Sphinx: Enabling Privacy-Preserving Online Learning over the Cloud》
作者:Han Tian Chaoliang Zeng Zhenghang Ren Di Chai Junxue Zhang Kai Chen Qiang Yang
Hong Kong University of Science and Technology Clustar
主要从以下角度思考:
1.作者为什么做这项工作?(做这项工作的背景和目的)
为了缓解深度学习计算开销,模型的训练和推理会被委托给云服务商,这也带来了隐私保护的问题。现有的隐私保护在线学习方案要么假设服务器有一个明文模型,聚焦于通过加密数据提供推理服务,要么聚焦于加密模型的训练过程,却会导致低效的推理,要么做出不切实际的假设,例如多个非共谋服务器或受信任的聚合器。
所以作者思考:能否设计一个⾼效且具有隐私保护性的在线深度学习框架,⽽⽆需额外的第三⽅要求?最后提出了Sphinx。
2.针对这项工作,以往的研究者做过了哪些工作,有哪些缺陷?
神经⽹络上的隐私保护:
特点:
专注于推理;
模型要么是公共的,要么是服务提供商专有的,它以明⽂形式存储和评估,只涉及加密数据与明文参数的乘法。
代表工作:
Gazelle 引⼊了一种混合安全推理算法,其中线性层使⽤打包加性同态加密 (PAHE) 进行评估,⾮线性层使⽤混淆电路进行评估
Delphi 通过将重量级密码计算提前到预处理阶段(作者idea的来源之一)并开发基于神经架构搜索 (NAS) 的规划器来搜索满⾜⽬标精度的最有效近似模型,改善了推理延迟
缺陷:⽆法转移到在线学习环境中,因为训练算法需要对模型参数和梯度进行加密,以保护训练数据免受云端攻击
神经⽹络隐私保护训练
集中式:
HE方案:对模型权重和⽤⼾数据进行同态加密,将训练外包给服务提供商
缺点:大量密文与密文之间的运算,速度极慢;没有考虑推理,只评估了训练阶段
DP方案:引入随机量。例如DPSGD(高斯噪声自加的随机梯度下降)、DP-FTRL(前者的树聚合改进)、其他一些将随机量加入目标函数、激活特征和标签的工作
缺点:模型性能和隐私级别难以平衡,难以兼顾;不能实现MLaaS下针对服务商的数据保护;需要假设一个可信数据聚合者
分布式:基于MPC算法,隐私数据计算分布在多个服务器上
- 代表工作:SecureML、ABY3、ScureNN、FLASH
- 缺点:都假设多方非共谋服务器或大多数诚实的环境,不切实际
联邦学习:多个数据拥有者在不暴露隐私的情况下协作训练他们的本地模型
- 代表工作:Shokri的selective SGD并对上传梯度DP;Sinem采用HE进行FL学习
- 因为作者重点在MLaaS环境,所以不作讨论
3.作者大概是怎么做这项工作的?(一两句话概括)
- 将HD和DP结合,为训练和推理阶段引入了混合隐私保护协议,核心是⽤HE 加密所有偏置分量,并⽤DP扰乱线性分量。
- 此外,通过同态乘法加速和客户端-服务器通信加速进行了系统优化。
4.这项工作突出优势在哪里?
有如下突出点:
很好地结合了DP和HE,实现了两者的互补互惠:
DP提高运算效率:利用DP将参数保持为明文,将纯HE密文* 密文的复杂计算,转化为更简便的密文* 明文
HE加密,不需可信聚合器:利用HE加密偏置,一边保护隐私,一边还可以进行有意义的运算,无需可信聚合器即可训练算法
对训练和推理两阶段都有很好的隐私保护性
- 训练阶段采用DPSGD的同态版提供隐私保护,可以在没有受信任的服务器的情况下实现集 中式训练
- 推理阶段采⽤基于秘密共享的隐私推理技术,服务提供者⽆法推断出任何有⽤的信息。
高效的系统优化
- 快速同态乘法:巧妙设计了神经网络层中模型参数、输⼊特征和梯度之间的乘法。线性分量作为明⽂,可以消除训练过程中的大部分重新缩放和重新线性化操作,使其能够采⽤较小的
加密参数和较浅的乘法深度,从⽽ - 加速客⼾端-服务器通信:
- 前向传播缓存:在前向传播中预先计算加密激活函数更有效,可以避免重复计算和通信。客⼾端将每个非线性层的梯度本地缓存为明⽂,稍后可以在反向传播阶段使⽤。
- 零解密和零加密:在离线预处理阶段,客⼾端通过加密 0 准备零密⽂流,作为一次性密⽂密文⼯作。 客⼾端一旦需要对消息进行加密,就直接将明⽂加零密⽂加密后发送给服务器,从而缩短上线阶段的加密时间。
- 快速同态乘法:巧妙设计了神经网络层中模型参数、输⼊特征和梯度之间的乘法。线性分量作为明⽂,可以消除训练过程中的大部分重新缩放和重新线性化操作,使其能够采⽤较小的
5.这项工作缺陷在哪里?
在Sphinx推理阶段,采用秘密共享技术加速推理,但需要更新的模型参数重新运行预处理,导致计算资源浪费
6.他们的这项工作做的好,为啥好呢?他们是用啥理论证明的呢?(可能涉及方法正确性、性能、安全性)
- 结合了DP和HE,设计了⾼效且兼容的训练和推理协议以满⾜其特定要求
- 对训练和推理两阶段都有很好的隐私保护性
- 为了加速 HE 方案下的训练过程, 进行了多项系统优化
- 即使与 DP 解决⽅案相比,隐私成本相似,Sphinx 在实际场景中也可以实现明显更强的攻击防御
7.作者如何设计实验的?
在两台相同的物理机上,使用MNIST、CIFAR数据集,从四个方面的对比实验来证明Sphinx的优势:
- 训练上:展示了Sphinx 在训练时间和通信成本⽅⾯相对于纯 HE ⽅法的提升。Sphinx 在 MNIST 和 CIFAR-10 数据集上的神经⽹络的训练时间减少了 35 倍,通信成本降低了 5 倍。
- 推理上:Sphinx 实现了实时推理(MNIST 为 0.05 秒,CIFAR-10 为 0.08秒),与纯 HE ⽅法相⽐,分别快5.8* 104 倍和 4.2* 105 倍。此外,对于这两个任务,Sphinx 的通信成本分别低 1.9 * 105×和 3.6 * 104×
- 隐私成本上:给定相同的隐私预算,Sphinx 与纯 DP 训练算法 DPSGD 相⽐,在没有可信服务器的情况下实现了相当的模型精度。
- 抵抗攻击上:与纯DP 算法相比,通过屏蔽偏差分量,Sphinx 有效地保护了重构攻击,免受暴露梯度的影响。
8. 针对这项工作,作者未来还打算怎么做呢?有一些“展望”吗?
- 作者将在未来探索和评估不同 DP 机制和 HE ⽅案之间的组合。例如,Kairouz 等⼈提出了一种在线学习 DP 机制,该机制允许更灵活的数据访问模式 ,当训练数据为⾮ IID 时,可以在 Sphinx 中采用这种机制。
- 对于推理阶段的预处理造成计算资源浪费的问题,作者设想了一种保护隐私的在线学习⽅法,一旦模型更新,其先前的预处理结果可以与新的模型参数保持一致,⽽⽆需额外计算。
9.这项工作的idea与哪些论文有一脉相承的关系呢?或者说,你感觉这篇论文的作者是看了哪些论文,才想到这项工作的idea呢?
P. Mishra, R. Lehmkuhl, A. Srinivasan, W. Zheng, and R. A. Popa, “Delphi: A cryptographic inference service for neural networks,” in 29th {USENIX} Security Symposium ({USENIX} Security 20), 2020,pp. 2505–2522.
Delphi 通过将重量级密码计算提前到预处理阶段的论文,我感觉作者或许由此想到了前向传播缓存、离线预处理等idea
C. Juvekar, V. Vaikuntanathan, and A. Chandrakasan, “{GAZELLE}: A low latency framework for secure neural network inference,” in 27th {USENIX} Security Symposium ({USENIX} Security 18), 2018, pp.1651–1669.
Gazelle 引⼊混合安全推理算法的论文,作者或许受它启发为训练和推理阶段引入了混合隐私保护协议
10.这篇论文的核心参考文献是?这些参考文献都起到了什么作用呢?
- [55] J. H. Cheon, A. Kim, M. Kim, and Y. Song, “Homomorphic encryption for arithmetic of approximate numbers,” in International Conference on the Theory and Application of Cryptology and Information Security.Springer, 2017, pp. 409–437.
提出了CKKS 这种可行的同态加密算法,⽀持有限数量的密⽂加法和乘法,是本文同态加密的基础
[56] H. Chen, W. Dai, M. Kim, and Y. Song, “Efficient multi-key homomorphic encryption with packed ciphertexts with application to oblivious neural network inference,” in Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security, 2019, pp. 395–412.
提供了重缩放、重线性化等同态加密运算优化操作
[57] S. Goryczka, L. Xiong, and V. Sunderam, “Secure multiparty aggregation with differential privacy: A comparative study,” in Proceedings of the Joint EDBT/ICDT 2013 Workshops, 2013, pp. 155–163.
证明了通过 HE,用户可以在将数据发送到聚合器之前对其进行加密 。 HE 允许聚合器执行安全聚合以获得有意义的统计结果。
[5]P. Mishra, R. Lehmkuhl, A. Srinivasan, W. Zheng, and R. A. Popa, “Delphi: A cryptographic inference service for neural networks,” in 29th {USENIX} Security Symposium ({USENIX} Security 20), 2020,pp. 2505–2522.
提供了基于线性操作的私有推理协议,为推理阶段的协议奠定了基础
[15]M. Abadi, A. Chu, I. Goodfellow, H. B. McMahan, I. Mironov, K. Talwar, and L. Zhang, “Deep learning with differential privacy,” in Proceedings of the 2016 ACM SIGSAC conference on computer and communications security, 2016, pp. 308–318
作者的训练协议可以看作是[15] 提出的DPSGD 的同态版本,没有受信任的服务器。它采⽤采样⾼斯机制(SGM)从数据集中采样小批量,并在线性分量的聚合梯度上添加⾼斯噪声。
11.这项工作,可以拆分为哪些子工作,就是哪些步骤。每个步骤,或者每个子工作使用了哪些工具或者方法去完成的呢?
Sphinx架构图:
对于 DNN 模型,线性分量 W 受到 DP 的扰动,偏置分量Bias⽤ HE 加密。 F 表示非线性层。
Sphinx训练算法步骤图: