安全三方计算网络推理与训练
动机与挑战
- 参与方数据或外包数据隐私问题,本文考虑三方设置下的加性秘密共享,任何一方均不知道隐私信息(仍然存在任意两方不能共谋的问题,OT可以解决克服局限性但开销不能忍受);
- 两方计算效率问题,以及GC、OT等效率(算术编码和二进制编码不兼容,需要额外地转换;且GC的开销与安全参数成正比,开销巨大)问题,本文扩展为三方计算设置,且设计的安全计算协议与固有的计算过程兼容;
- 在半可信模型假设基础上,如何应对恶意敌手模型?(就安全三方计算而言,任意两方可以恢复秘密,因此有且仅允许一个参与方被恶意敌手腐蚀)
- 针对复杂的神经网络层类型,如何针对性地设计安全三方计算协议,并保证协议正确性(就整体的隐私保护推理或训练框架而言,采用测试或验证准确率等指标验证与明文模型的差异)、计算和通信效率(运行时间和通信开销)、以及安全性(信息论安全,即假设敌手计算能力无限)。
系统模型
M个参与方随机拆分N份秘密分别上传给N台服务器(本文考虑N=3),服务器协同执行密文模型推理以及训练,在特定安全模型假设下,任意一台服务器均不能获知上传数据和模型参数。
基础知识
- 安全三方计算中,参与方P0和P1拥有2-out-of-2份秘密用于执行交互计算,P2用于提供相关的随机数,即在安全协议中扮演助手角色,不拥有实际的输入或输出。
- ReLU:计算max(x, 0)。
- ReLU的导数(ReLU’):若x≥0,意味着最高符号位MSB(x)=0,ReLU’=1;否则(x<0, MSB(x)=1),ReLU’=0。
- 计算MSB需要额外的安全(符号)位提取协议,本文将计算MSB转化为LSB求解;考虑奇数环下(n为奇数),MSB(x) =LSB(2x) 。
- 通用可组合框架:若某些子协议是安全的,则组合这些子协议构成的新协议或框架也是安全的。
- 协议安全定义:现实执行中的敌手,对应理想执行中的模拟器,若已知任何输入,不存在任何一个环境可以让敌手在计算上区分这两者执行情况,则认为现实执行中的协议可以模拟理想执行中的既定函数功能,即认为该协议是计算安全的。
- 在半可信模型下,本文框架可以保证计算正确性和安全性;在恶意模型下(至多一个服务器被腐蚀),本文框架仅能保证计算安全性,并不能保证恶意敌手具备的行为能力不破坏计算正确性。
安全计算协议设计
- 安全矩阵乘法
- 选择共享,安全计算z =(1-α)x+αy = x+α·(y-x),其中 α ∈ {0, 1},即根据选择的共享比特α选择输出x或y。针对于后者表达式,调用安全乘法协议计算α与(y-x)的乘积。
- 隐私比较:安全比较输入整数x与公共整数r的大小。
- 共享转换:环
Z
L
\mathbb{Z}_L
ZL上的共享转换至奇数环
Z
L
−
1
\mathbb{Z}_{L-1}
ZL−1上的共享(用于计算MSB至计算LSB的转换)。
- 计算MSB
安全比较协议(即计算MSB协议以及执行的子协议)有点复杂,构建实数域的安全比较协议是否可行?
SecureNN框架
- 线性全连接层和卷积层可以直接调用安全矩阵乘法协议。
- ReLU的导数(DReLU,即ReLU‘):若
a
≥
0
a \ge 0
a≥0,则MSB(a)=LSB(c=2a)=α=0,
γ
=
1
−
α
=
1
\gamma=1-\alpha=1
γ=1−α=1,即ReLU‘(a)=1;否则ReLU‘(a)=0。
- ReLU:
- 除法协议(用于归一化):按位迭代计算(因此通信轮数与二进制位长有关,通信开销有点大),每一次迭代中,比较被除数与除数的倍数,以确定商的第i位比特取值为1或0。
- 最大池化,若池化区域包含n个特征值,则顺序执行n-1次比较协议(DReLU),每次都需要判断两个输入的大小,用较大的输入替换输出,直至选择出n个特征值中的最大特征值。
- 最大池化的导数:调用安全最大池化协议输出池化区域的最大值及其索引,然后P0和P1协同执行将最大值的索引位置赋值为1,其它索引位置赋值为0;当然,此处的1和0分配给P0和P1表现为1和0的两份非零共享。
理论分析(通信复杂度)
实验结果
-
数据集:MINIST
-
三种网络模型:
①网络A:三层DNN(SecureML、SecureNN);
(1,28,28)=784 -> FC+ReLU -> 256 -> FC -> 10 -> Normlize -> 10
②网络B:四层CNN(MiniONN、SecureNN);
(1,28,28) -> conv(16,5,5)+ReLU -> (16,24,24) -> max-pool(2,2) -> (16,12,12) -> conv(16,5,5)+ReLU -> (16,8,8) -> max-pool(2,2) -> (16,4,4)=256 -> FC+ReLU -> 100 -> FC -> 10 -> Normlize -> 10
③网络C:四层CNN(LeNet、SecureNN);
(1,28,28) -> conv(20,5,5)+ReLU -> (20,24,24) -> max-pool(2,2) -> (20,12,12) -> conv(50,5,5)+ReLU -> (50,8,8) -> max-pool(2,2) -> (50,4,4)=800 -> FC+ReLU -> 500 -> FC -> 10 -> Normlize -> 10
④网络D:三层CNN -
安全计算协议的计算开销
-
网络模型隐私保护推理的计算开销
-
网络模型隐私保护训练的计算开销
参考文献
- 2018_IACR_SecureNN Efficient and Private Neural Network Training (SecureNN)
- 2017_SP_SecureML A System for Scalable Privacy-Preserving Machine Learning (SecureML)
- 2017_CCS_Oblivious Neural Network Predictions via MiniONN Transformations (MiniONN)
- Gradient-based learning applied to document recognition(LeNet)