(阅读笔记)ABY3: A Mixed Protocol Framework for Machine Learning

ABY3 [Arithmetic-Binary-Yao; Three-party with one malicious adversaries]

代码在这里

引言

机器学习被广泛用于为图像分类、生物特征匹配等应用生成模型,越来越多的技术公司,例如微软、谷歌,为客户提供基于云的机器学习模型推理和训练服务。然而,这些数据通常是敏感的,并可能具有不同等级的隐私要求。在通用数据保护条例等法规的约束下,不同实体之间难以共享数据和协同训练模型。
基于安全多方计算的隐私保护机器学习是一个活跃的研究领域,有助于解决这些问题。探索基于三方服务器的隐私保护机器学习框架,现有工作存在的挑战包含以下几个方面:
(1)在机器学习中,参数和中间计算结果都是以小数的形式存在,不能直接应用到模运算的代数系统上,例如整数环。目前有两种解决方案,一是将小数乘上一个大因子使其成为整数,同时使用一个大的模数来避免绕环,这样的弊端就是当计算大量浮点乘法的时候将不满足结果的正确性,同时采用了更大的模数增加了计算和通信的复杂度;二是使用基于布尔电路和混淆电路的定点小数乘法方法,但是其通信轮数又大大增加。
(2)机器学习涉及大量的算术计算与布尔运算,往往使用混合协议的方式比使用单一协议的方法要更高效,例如,可以使用算术秘密共享实现加法和乘法,使用布尔秘密共享或Yao共享实现比较。然而,在不同共享类型之间进行转换的标准方法代价高昂,并很快成为主要的性能瓶颈。
(3)如果攻击者存在恶意的行为,那么有效地解决上述挑战将更加困难,因此需要考虑恶意安全模型下的安全计算协议设计。
为了解决上述问题,本文[18]作出了如下贡献。
(1)设计了一种用于共享小数的近似定点乘法协议,其计算开销接近于标准的秘密共享模乘法,可以应用于半可信模型和恶意模型(三方中有一方是恶意的)。
(2)设计了一种通用的三方计算框架,用于实现在算术共享、布尔共享、和Yao共享之间进行转换。
(3)面对半可信安全模型,甚至是恶意模型(本文考虑安全三方计算,至多存在一台服务器被腐蚀)。

三方秘密共享

算术共享

在这里插入图片描述
在这里插入图片描述

布尔共享

在这里插入图片描述

姚式共享

在这里插入图片描述
在这里插入图片描述

ABY3框架

  • 三种秘密共享类型:算术加法秘密共享;二进制秘密共享;姚式电路秘密共享;不同类型的秘密共享切换通信开销:
    在这里插入图片描述
  • 安全三方计算
    秘密 x = x 1 + x 2 + x 3 x=x_1+x_2+x_3 x=x1+x2+x3,三方分别拥有 ( x 1 , x 2 ) , ( x 2 , x 3 ) , ( x 3 , x 1 ) {(x_1, x_2), (x_2, x_3), (x_3, x_1)} (x1,x2),(x2,x3),(x3,x1),显然任意两方可以重构出秘密 x x x,且允许且仅允许一个参与方被腐蚀(即任意少于两方不能重构出秘密),相当于(3,2)门限秘密共享,3为参与方总数量,2为可重构秘密参与方数量(重构门限)。
    注意,任意一方拥有两份秘密份额!(是为了使得任意两方可以重构出秘密的前提)

共享转换

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

定点乘法与截断

  • 定点数运算:表示为k比特,固定小数位长度为d,在 Z 2 k \mathbb{Z}_{2^k} Z2k内可以执行与整数类似的运算。
    1. 定点乘法协议有两个误差来源:①第d+1位小数被截断,导致 2 − d 2^{-d} 2d的误差,可以通过增大d控制误差大小;②符号位溢出,例如负数误判为正数。
    2. ①本文方法1:分享截断值,最小化通信开销,其中 x 3 = r = x 3 ′ / 2 d x_3=r=x'_3/{2^d} x3=r=x3/2d在这里插入图片描述
      ② 借助二进制秘密共享。
      在这里插入图片描述
  • 向量化运算
  • 秘密共享类型转换
  • 混合秘密共享运算
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值