高效鲁棒的隐私保护机器学习框架

论文发表在PoPETs20,下载链接https://eprint.iacr.org/2019/1365

0设计思想

之前介绍的有关PPML的论文,大多数还是围绕半诚实(semi-honest)模型展开的工作。核心的任务聚焦于在保证隐私的情况下尽可能的提升系统性能。除了ABY3保证了正确性(correct with abort)和ASTRA进一步保证了公平性(Fairness)。FLASH进一步实现了输出可达性(Guaranteed Output Delivery,GOD),即无论恶意敌手进行何种攻击诚实参与方都可以得到计算结果。FLASH采用了4方计算架构,在诚实大多数(最多1方是静态恶意敌手)情况下可以满足GOD安全。其核心的设计思想在于,当检测到恶意行为时可以定位到恶意方在两方之间(但是不能确定具体是哪一方),但是可以确定剩余的两方是诚实参与方。如此,则可以令诚实参与方获得数据明文,从安全计算转化为明文计算(不对诚实参与方保护隐私)。

0主要工作

1)FLASH首先基于Additive Shairing( -sharing)设计了4方下的Mirrored Sharing( -sharing)方案;

2)进一步构造了Bi-Convey原语用来在4方下将 和 共有的输入 在 的辅助下传送给 ,该过程或者成功传送( 和 没有恶意行为),或者 和 能确定敌手在( , )之间(之后 和 交换各自的share恢复明文,进行明文计算);

3)最终,关于乘法和比较等操作的构造,则是让每一次交互都可以抽象成一次Bi-Convey过程,从而使得整个系统能够满足GOD安全性要求;

4)进一步,FLASH构造了面向机器学习的计算模块,包括向量乘法、激活函数计算、截断、比特转化等,并对这些模块做了进一步优化。例如,向量乘法的通信量与向量大小无关、 函数的近似等。并和ABY3、ASTRA进行了比较。性能的理论提升如下表。

高效鲁棒的隐私保护机器学习框架

0Mirrored Sharing Semantics

  • Additive Sharing( -sharing):对于 ,在2方下可以被分享为 和 ,满足 。其中每一个参与方持有一份。

  • Mirrored Sharing( -sharing):对于 在4方下:

    • 存在 和 满足: ;

    • 被 -sharing分享在参与方 之间,即 , 。而参与方 则都持有 和 ;

    • 类似的, 被 -sharing 分享在 之间,即 , 。而 则都持有 和 。整体的语义分享如下:

      很显然,从 -sharing 的线性性质可以很容易的推导出 -sharing 的线性,即支持非交互计算加法和明文-密文乘法。

0Robust 4PC

4.1 Bi-Convey

如前所属,Bi-Convey 在4方下将 和 共有的输入 在 的辅助下传送给 ,该过程或者成功传送( 和 没有恶意行为),或者 和 能确定敌手在( , )之间(之后 和 交换各自的share恢复明文,进行明文计算)。具体来说:

  1. 和 各自将 发送给 。同时, 和 将关于 的承诺 发送给 。当然,关于承诺使用的随机数是相同的;

  2. 如果 收到的 是相等的,那么 和 均没有作恶。 接受 ,令 ,并丢弃来自 的任何信息;否则,令 ,其中 表示 的share和随机数种子;

  3. 对于 ,如果收到的承诺相同,则令 ;否则令 ;

  4. 和 互相交换msg;

  5. 如果 且 ,则 接受和 匹配的 。否则, 和 可以在本地恢复明文进行明文计算。

4.2 Input Sharing

在Input Sharing阶段,Dealer可能是恶意的敌手,那么其可能分发给不同的参与方的share不匹配。为了确认一致性,需要在share之后利用承诺进行验证。例如,如果Dealer是 ,在预计算阶段,所有的参与方根据共享的随机数种子生成( )。在线计算阶段, 计算 并把 发送给 和 。最后, 利用承诺 来进行验证,取majority为最终分享结果。Dealer是其他参与方的情况类似。具体协议如下。

高效鲁棒的隐私保护机器学习框架

4.3 Circuit Evaluation

加法和明文-密文乘法比较容易,难点在于密文-密文乘法。对于乘法 , 中两方的目标是计算

高效鲁棒的隐私保护机器学习框架

令 , ,其中 。那么根据 -sharing的语义,在预计算阶段的随机数生成基础上, 可以在本地计算 , 可以在本地计算 。但是这并不能保证 和 能够成功的被 获得。为了解决这个问题,进一步将 和 分解为 , 。其中,被 和 共有,被 和 共有, 。如此一来, , 则可以利用 成功发送给 中两方。其中 , 可以在预计算也利用共享随机数种子和原语 生成。最终, 在计算 之后便可以计算 ,并利用 将 发送给 。具体协议 如下。

高效鲁棒的隐私保护机器学习框架

高效鲁棒的隐私保护机器学习框架

4.4 Output Computation

恢复算法比较直观,因为每一方缺失的份额都被其他三方持有,所以可以令其他三方中两方发送缺失的份额,而剩下的一方直接发送对应的哈希值,最终结果取majority。具体协议 如下。

高效鲁棒的隐私保护机器学习框架

0ML Building Blocks

进一步构造面向ML计算的安全计算模块。

5.1 Arithmetic/Boolean Couple Sharing Primitive

在之后的计算中,会出现秘密值 只被 或者 中两方持有,持有双方试图生成 的情况。对于这种情况的sharing,可以令被另外两方完全持有的分享为0,从而减少开销。具体来说,如果 被 中两方持有,则 ;如果 被 中两方持有,则 。具体协议 如下。

高效鲁棒的隐私保护机器学习框架

注意,Case 2存在笔误:1) ;2) 。

5.2 Dot Product

对于向量内积 ,可以简单的调用乘法协议 完成,但是这会使得通信和向量大小正相关。为了使得通信量独立于向量大小,可以借鉴ABY3中的方法,即现在share上做完加法求和再对求和结果进行通信。需要改变的则是对于的计算,类似的还有关于 的计算。其余计算则没有太大改变。具体协议 如下。

高效鲁棒的隐私保护机器学习框架

5.3 MSB Extraction

对于比较u<v,其等价于提取 的最高有效位 。本文采取和ASTRA相同的设计思想:对于随机数 ,有。因此,可以令参与方在预计算阶段生成 和 ,其中 。在线计算阶段,则求调用 并公开计算结果 从而求得 ,然后计算 ,最后计算 。但是利用乘法隐藏真实值是有一定的泄露的:例如,如果 是奇数,而公开的 是偶数,那么 一定是偶数。所以,这种方法的安全性并不如one-time-pad。

高效鲁棒的隐私保护机器学习框架

5.4 Truncation

为了防止多次连续乘法造成溢出,本文截断方案采取类似ABY3中的截断方法:首先生成 的秘密分享,其中 。在线计算计算,乘法计算完成时公开 ,并截断 获得 。进一步,利用协议 生成 ,并计算最后结果 。具体协议 如下。

高效鲁棒的隐私保护机器学习框架

5.5 Bit Conversion

在5.3节中,协议 求得的是Boolean shares。但是计算得到Boolean shares之后,ML中后续的任务往往又涉及到乘法等算术计算。因此,需要将Bit的Boolean shares转化为等价的Arithmetic shares。对于比特 ,有:

高效鲁棒的隐私保护机器学习框架

其中, 和 是对应比特值的算术表示,明文持有他们的参与者( 中两方持有 , 中两方持有 )可以在本地进行转化。因此,难点在于计算最后一个乘法。利用前文设计的 协议和 ,可以完成Bit Conversion。具体协议 如下。

高效鲁棒的隐私保护机器学习框架

5.6 Bit Insertion

给定Boolean shared的比特 和Arithmetic shared的 ,求 在ML计算中是很常见的一种操作,比如 。一种直接的方法可以首先调用 实现Bit Conversion然后再调用协议 实现乘法。进一步,本文提出了如下方法减少通信量和通信轮数。具体来说,对于

高效鲁棒的隐私保护机器学习框架

其中, , 。如此,参与方可以首先对于 生成关于 和 的 -shares,对于 生成关于 和 的 -shares,如此参与方可以本地计算 , , , (每一项都被2个参与方共有)。最后,调用 实现传输并计算最终的 。具体协议 如下。

高效鲁棒的隐私保护机器学习框架

0Evaluation

本文做了关于关键模块的性能测试,进一步进行了ML模型的性能实验。对于ML中的算子,矩阵乘法、卷积可以归约到向量乘法, 可以用分段函数计算(分段方法和SecureML一样),而 则使用可以先做再求乘积。实验结果和ABY3进行比较。

6.1 模块实验

1)Dot Product:

首先在固定向量长度下比较FLASH和ABY3的Latency;

高效鲁棒的隐私保护机器学习框架

其次,比较性能在特征增加时带来的Latency变化。

高效鲁棒的隐私保护机器学习框架

2)MSB Extraction

首先比较一次协议调用的Latency:

高效鲁棒的隐私保护机器学习框架

进一步,比较多次调用的Latency增长趋势:

高效鲁棒的隐私保护机器学习框架

3)Truncation

Latency 和 Throughput 比较如下:

高效鲁棒的隐私保护机器学习框架

4)ML Evaluation

首先比较关于线性回归和Logistic回归的Latency。

高效鲁棒的隐私保护机器学习框架

接下来,比较两种回归的Throghput。

高效鲁棒的隐私保护机器学习框架

高效鲁棒的隐私保护机器学习框架

最后比较NN模型的Latency和Throghtput。

高效鲁棒的隐私保护机器学习框架

高效鲁棒的隐私保护机器学习框架

0结论

本文是比较早的一项实现GOD安全性的安全ML的工作,而且不再需要用广播。对后来的工作有很多借鉴意义。但是,也有许多需要改进之处,例如如何在实现GOD的情况下实现Privacy尚未得到很好的解决。

作者简介

董业, 本科毕业于山东大学计算机科学与技术专业,目前在中国科学院信息工程研究所攻读博士学位。 主要研究兴趣包括隐私保护、安全多方计算、同态加密和机器学习。个人主页:https://ye-d.github.io/,知乎:酸菜鱼。

编辑:李安国

声明:本文来自开放隐私计算,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。

本文转为转载文章,本文观点不代表威客安全立场。