(阅读笔记)Falcon: Honest-Majority Maliciously Secure Framework for Private Deep Learning

本文贡献

  • 支持隐私保护前向推理和反向训练,且支持端对端的大型网络推理和训练;多种卷积神经网络,多种数据集,多种信息传输方式(LAN和WAN设置);
  • 支持安全批量归一化的前向计算和反向传播;
  • 支持半可信场景和 Honest-Majority的恶意场景,可供选择;
  • 安全协议性能提升,融合之前工作SecureNN以及安全三方计算框架ABY3协议的思想,通过简化代数实现定点算术运算,降低整数环大小,即降低数据类型,显然降低通信开销(众所周知,通信轮数和通信开销是MPC的瓶颈),使得在FALCON框架内,计算开销相比于通信开销占据主导地位;此外,设计针对可信参与方占主导的恶意敌手模型的安全计算协议,采用算术秘密共享,避免共享类型转换协议使用开销;

模型定义

  • 系统模型:
    1. 三台不共谋的计算服务器负责执行外包隐私训练和推理任务;
    2. 数据拥有者上传数据用于训练;
    3. 查询用户上传数据用于推理,服务器反馈推理结果的共享给查询用户;
    4. 数据上传均采用门限(2,3)加性秘密共享的形式,三份共享分别发送给三台计算服务器,任意两台计算服务器可以恢复出秘密;
  • 威胁模型:
    1. 在恶意模型中,诚实计算方占主导,即三台服务器至多有一台服务器是恶意的,可以任意偏离协议步骤;
    2. 本文方案并不能抵抗拒绝服务攻击,即发现恶意行为后,直接简单地终止协议计算;
    3. 采用AES作为伪随机数生成器PRNG,生成足够的公共随机数;
    4. 计算服务器之间采用点对点安全通信;
    5. 此外,联邦训练学习中的一些攻击不在本文考虑范围内,例如成员推理、属性推理、模型推理、拜占庭攻击、荼毒攻击等;也假设所有训练数据和测试数据是数据IID同分布的。

基础知识或先验理解

  1. 协议的计算对称性可以最优化计算资源;
  2. secureNN中,DReLU计算问题,计算MSB可以转化为计算LSB,采用共享转换方法将输入x转换至奇数环中,MSB(x)=LSB(2x)成立;本文采用更加简单的数学理论实现DReLU计算。
  3. 批量归一化BN的作用:①加速训练:允许更大的学习率,防止极端(极大和极小)值被激活,因此通常BN位于激活层之前;②避免过拟合:起到一点正则化的作用;
  4. 2-out-of-3 secret sharing与3-out-of-3 secret sharing的转换:利用生成的随机数α1 +α2 +α3 ≡ 0 (mod L)进行再分享;
  5. 三方计算十分符合安全乘法协议的设计理念,即不需要计算参与方进行交互;
  6. 卷积线性计算,通常将其转化为更大维度的矩阵乘法,然后计算参与方单独地执行本地计算;
  7. 秘密重构:由(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也一样;
  8. 选择共享:在这里插入图片描述
  9. 比特异或运算转化为算术表示:在这里插入图片描述
  10. 符号运算转化为算术表示:在这里插入图片描述

安全计算协议设计

  • 隐私比较
    β ⊕ β ′ = 1 \beta \oplus \beta'=1 ββ=1,则 x ≥ r + 1 x \ge r+1 xr+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 ciui+1
    β = 0 \beta=0 β=0 ( β ⊕ β ′ = 0 \beta \oplus \beta'=0 ββ=0),则 u i = x i − r i u_i = x_i - r_i ui=xiri 0 = c i ≥ x i − r i + 1 0 = c_i \ge x_i - r_i + 1 0=cixiri+1 x i ≤ r i − 1 x_i \le r_i - 1 xiri1,即 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=(xiri) 0 = c i ≥ r i − x i + 1 0 = c_i \ge r_i - x_i + 1 0=cirixi+1 x i ≥ r i + 1 x_i \ge r_i + 1 xiri+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 xr+1,则 η = 1 \eta = 1 η=1 r = a + x − L , a + x ≥ L r=a+x-L, a+x \ge L r=a+xL,a+xL;若 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)=1MSB(a)=MSB(a)1
    R e L U ( a ) = x ⋅ D R e L U ( a ) ReLU(a) = x \cdot DReLU(a) ReLU(a)=xDReLU(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ε04b1
    在这里插入图片描述
    BN函数,4轮串行迭代获得近似结果,开销大?误差收敛?
    在这里插入图片描述

理论分析

  • 安全性
    现实世界-理想世界的仿真模式:行为可模拟,视图不可区分,隐私计算均匀随机,UC通用可组合安全;

  • 复杂度
    在这里插入图片描述
    在这里插入图片描述

参考文献:

  1. Falcon: Honest-Majority Maliciously Secure Framework for Private Deep Learning, PET, 2020.
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值