本文贡献
- 支持隐私保护前向推理和反向训练,且支持端对端的大型网络推理和训练;多种卷积神经网络,多种数据集,多种信息传输方式(LAN和WAN设置);
- 支持安全批量归一化的前向计算和反向传播;
- 支持半可信场景和 Honest-Majority的恶意场景,可供选择;
- 安全协议性能提升,融合之前工作SecureNN以及安全三方计算框架ABY3协议的思想,通过简化代数实现定点算术运算,降低整数环大小,即降低数据类型,显然降低通信开销(众所周知,通信轮数和通信开销是MPC的瓶颈),使得在FALCON框架内,计算开销相比于通信开销占据主导地位;此外,设计针对可信参与方占主导的恶意敌手模型的安全计算协议,采用算术秘密共享,避免共享类型转换协议使用开销;
模型定义
- 系统模型:
- 三台不共谋的计算服务器负责执行外包隐私训练和推理任务;
- 数据拥有者上传数据用于训练;
- 查询用户上传数据用于推理,服务器反馈推理结果的共享给查询用户;
- 数据上传均采用门限(2,3)加性秘密共享的形式,三份共享分别发送给三台计算服务器,任意两台计算服务器可以恢复出秘密;
- 威胁模型:
- 在恶意模型中,诚实计算方占主导,即三台服务器至多有一台服务器是恶意的,可以任意偏离协议步骤;
- 本文方案并不能抵抗拒绝服务攻击,即发现恶意行为后,直接简单地终止协议计算;
- 采用AES作为伪随机数生成器PRNG,生成足够的公共随机数;
- 计算服务器之间采用点对点安全通信;
- 此外,联邦训练学习中的一些攻击不在本文考虑范围内,例如成员推理、属性推理、模型推理、拜占庭攻击、荼毒攻击等;也假设所有训练数据和测试数据是数据IID同分布的。
基础知识或先验理解
- 协议的计算对称性可以最优化计算资源;
- secureNN中,DReLU计算问题,计算MSB可以转化为计算LSB,采用共享转换方法将输入x转换至奇数环中,MSB(x)=LSB(2x)成立;本文采用更加简单的数学理论实现DReLU计算。
- 批量归一化BN的作用:①加速训练:允许更大的学习率,防止极端(极大和极小)值被激活,因此通常BN位于激活层之前;②避免过拟合:起到一点正则化的作用;
- 2-out-of-3 secret sharing与3-out-of-3 secret sharing的转换:利用生成的随机数α1 +α2 +α3 ≡ 0 (mod L)进行再分享;
- 三方计算十分符合安全乘法协议的设计理念,即不需要计算参与方进行交互;
- 卷积线性计算,通常将其转化为更大维度的矩阵乘法,然后计算参与方单独地执行本地计算;
- 秘密重构:由(P1,P2,P3)重构出(x1,x2,x3);①在半可信模型中,Pi发送xi给Pi+1,每个参与方Pi都能拥有秘密x的三个共享,即恢复出秘密x;②在恶意模型中,Pi发送xi给Pi+1,发送xi+1给Pi-1,每个参与方Pi都能恢复出秘密x;此外,例如P1发送x1给P2,P3发送x1给P2,若P2发现接收到的两个x1值不同,则终止协议;同理P1和P3也一样;
- 选择共享:
- 比特异或运算转化为算术表示:
- 符号运算转化为算术表示:
安全计算协议设计
-
隐私比较
若 β ⊕ β ′ = 1 \beta \oplus \beta'=1 β⊕β′=1,则 x ≥ r + 1 x \ge r+1 x≥r+1;否则 x < r x < r x<r;
其中 β \beta β是随机数,用来保护符号隐私;
β ′ \beta' β′泄露符号隐私,看是否存在 c i = 0 c_i=0 ci=0,具体参考SecureNN;
若存在 c i = 0 c_i=0 ci=0,则 d = 0 d=0 d=0, β ′ = 0 \beta'=0 β′=0。
此时 c i ≥ u i + 1 c_i \ge u_i + 1 ci≥ui+1;
若 β = 0 \beta=0 β=0 ( β ⊕ β ′ = 0 \beta \oplus \beta'=0 β⊕β′=0),则 u i = x i − r i u_i = x_i - r_i ui=xi−ri, 0 = c i ≥ x i − r i + 1 0 = c_i \ge x_i - r_i + 1 0=ci≥xi−ri+1, x i ≤ r i − 1 x_i \le r_i - 1 xi≤ri−1,即 x i < r i x_i < r_i xi<ri;
若 β = 1 \beta=1 β=1 ( β ⊕ β ′ = 1 \beta \oplus \beta'=1 β⊕β′=1),则 u i = − ( x i − r i ) u_i = -(x_i - r_i) ui=−(xi−ri), 0 = c i ≥ r i − x i + 1 0 = c_i \ge r_i - x_i + 1 0=ci≥ri−xi+1, x i ≥ r i + 1 x_i \ge r_i + 1 xi≥ri+1,即 x i > r i x_i > r_i xi>ri;
-
截断函数
用于求carry bit;
a = a 1 + a 2 + a 3 m o d L a=a_1 + a_2 + a_3 \mod L a=a1+a2+a3modL;
MSB(a) = MSB(a1) + MSB(a2) + MSB(a3) + c (mod 2),c表示低位的carry bit;
关于a ≡ a1 + a2 (mod L) ,则 a = a1 +a2 −wrap2(a1, a2, L)·L;
关于a ≡ a1 + a2 + a3 (mod L) ,则 a = a1 +a2 + a3 −wrap3(a1, a2, a3, L)·L;
若 x ≥ r + 1 x \ge r+1 x≥r+1,则 η = 1 \eta = 1 η=1, r = a + x − L , a + x ≥ L r=a+x-L, a+x \ge L r=a+x−L,a+x≥L;若 x < r x < r x<r,则 η = 0 \eta = 0 η=0;
(5) - (6) - (7) + (8) + (9) =(10):
各个party知道 β \beta β的share,知道 δ \delta δ(line 2重构秘密r,r也是已知),知道PC协议的符号share η \eta η,知道公共随机截断share α \alpha α,因此可以知道输出截断share θ \theta θ。
因此 W r a p 3 Wrap_3 Wrap3协议依赖于公共随机数 α \alpha α和符号share η \eta η的安全性, W r a p 2 Wrap_2 Wrap2的 β \beta β是本地计算。 -
ReLU函数
M S B ( a ) = M S B ( a 1 ) ⊕ M S B ( a 2 ) ⊕ M S B ( a 3 ) ⊕ w r a p 3 ( 2 a 1 , 2 a 2 , 2 a 3 , L ) MSB(a) = MSB(a_1) ⊕ MSB(a_2) ⊕ MSB(a_3) ⊕ wrap3(2a_1, 2a_2, 2a_3, L) MSB(a)=MSB(a1)⊕MSB(a2)⊕MSB(a3)⊕wrap3(2a1,2a2,2a3,L);
{ 2 a 1 , 2 a 2 , 2 a 3 } \{2a_1, 2a_2, 2a_3\} {2a1,2a2,2a3}是由于将MSB转换为LSB(奇数环)。
D R e L U ( a ) = 1 − M S B ( a ) = M S B ( a ) ⊕ 1 DReLU(a) = 1−MSB(a) = MSB(a) ⊕ 1 DReLU(a)=1−MSB(a)=MSB(a)⊕1;
R e L U ( a ) = x ⋅ D R e L U ( a ) ReLU(a) = x \cdot DReLU(a) ReLU(a)=x⋅DReLU(a);
-
Max-pool函数
池化尺寸为n,即将池化区域转换为n长度的向量,需要执行n-1次DReLU协议,用于比较,获得池化区域的最大特征及其索引,索引(最大值的位置索引为1,其它为0)用于反向传播。
比较次数可以优化,通过牺牲计算开销或通信开销;
-
Batch Normalization函数
Pow函数用于获得真实值x的边界,已知x的share,输出α,泄露边界值会影响x的安全性吗?毕竟让x的可能分布范围缩小了。
Div函数用于计算安全除法,已知真实值a和b的share,输出a/b的share;
首先给定边界,采用Pow函数将分母b缩小至x,位于区间[0.5,1)内,自然分子也需要做同样的处理;
ε = 2 b 2 + 2.9142 b + 1 ε=2b^2 + 2.9142b + 1 ε=2b2+2.9142b+1(开口向上的二次函数),当b位于[0.5,1)内时, ε ε ε趋近于0;
w 0 ( 1 + ε 0 ) ( 1 + ε 1 ) = 1 − ε 0 b ( 1 + ε 0 ) ( 1 + ε 0 2 ) = 1 − ε 0 4 b ≈ 1 b w_0(1 + ε_0)(1 + ε_1) = \frac{1-ε_0}{b} (1 + ε_0) (1 + ε_0^2) = \frac{1-ε_0^4}{b} \approx \frac{1}{b} w0(1+ε0)(1+ε1)=b1−ε0(1+ε0)(1+ε02)=b1−ε04≈b1;
BN函数,4轮串行迭代获得近似结果,开销大?误差收敛?
理论分析
-
安全性
现实世界-理想世界的仿真模式:行为可模拟,视图不可区分,隐私计算均匀随机,UC通用可组合安全; -
复杂度
参考文献:
- Falcon: Honest-Majority Maliciously Secure Framework for Private Deep Learning, PET, 2020.