博客 / 詳情

返回

隱語小課|兩方安全計算ABY2.0 高效的2PC協議

“隱語”是開源的可信隱私計算框架,內置 MPC、TEE、同態等多種密態計算虛擬設備供靈活選擇,提供豐富的聯邦學習算法和差分隱私機制。

開源項目:
https://github.com/secretflow
https://gitee.com/secretflow

一、介紹

ABY2.0定義了新的sharing,擴展兩輸入乘法門到多輸入乘法門,且其online階段通信量與輸入個數無關。在此基礎上,構造了各種高效的原語,如內積、矩陣乘、比較、最大/小池化、相等判斷等。
ABY2.0與ABY均是在半誠實模型下的兩方安全計算框架,分為setup和online階段,ABY2.0相比ABY提高了online階段的效率。

二、更高效的2PC

圖片
ABY2.0與ABY的區別在於Arithmetic Share和Boolean Share,而Yao Share並無區別。
Boolean Share的技術與Arithmetic Share一致,只是環圖片圖片的區別,本文只介紹Arithmetic Share。

1、Sharing Semantics
圖片:對於圖片,有圖片圖片持有圖片圖片:對於圖片,有圖片圖片
可結合下圖理解:

圖片
ABY用的是[ ]-sharing,ABY2.0用的是< >-sharing。
並且,< >可以本地轉換為[ ],比如使
圖片
[ ]轉換為< >需要通信,是通過之後講述的Sharing Protocol來實現的。
論文中某些計算就是通過把< >轉換為[ ]後,採用之前的方法計算,而後直接或者變相把[ ]轉換為< >。

2、Sharing Protocol
Setup階段:圖片生成隨機數圖片
共同生成隨機數圖片,因此,圖片知道值圖片
Online階段:
圖片
3、Reconstruction Protocol
Online階段:
圖片

4、Additional ProtocolOnline階段:
圖片

5、Multiplication Protocol
圖片
setupMULT協議用來生成乘法三元組,即根據圖片生成圖片,並且滿足圖片,有基於OT和HE兩種方式,細節見論文。

6、High level overview of Multiplication Gate
圖片
上面左圖中是ABY中的MULT,對輸入[a]、[b]使用隨機數mask後,調用Reconstruction協議恢復出圖片然後求結果[c]。
上面右圖中是ABY2.0中的MULT,圖片變為已知,本地計算即可求出[c],調用Reconstruction協議恢復出圖片,從而求出<c>。
新MULT明顯的優點是通信量減半,缺點是乘法三元組需要根據具體的電路結構提前生成好,而不能再隨便取一個乘法三元組來計算了。

7、Multi-Input Multiplication Protocol
圖片
公式的推導如下圖:
圖片
Setup階段:需要生成四個[ ]-sharing,其中的setupMULT3與setupMULT類似。與MULT相比較,生成的sharing個數從1變為了4。
Online階段:優點是Constant Communication。
圖片

圖片
Setup階段:需要生成11個[ ]-sharing,已經有點誇張了。
Online階段:優點依然是Constant Communication。
由MULT3和MULT4可看出,對於多輸入乘法,Online階段的通信量始終是Constant,只是Setup階段的預計算量會呈指數增長圖片

三、更高效的ABY Share轉換

在大多數轉換協議中,ABY需要在online階段調用OT操作,而ABY2.0只需在setup階段調用OT操作,因此提高了效率。轉換協議細節見論文,此處略去。

更高效的基本操作
在前述協議的基礎上,文中構建了多個高效的基本操作。高效的原因有兩點:

  • 新形的sharing允許合併一些計算與通信
  • 使用Multi-input MULT/AND Gate可以減少電路層數

簡要介紹如下:

1、Scalar Product

圖片
與單個MULT類似,內積其實是執行了多個MULT,並且合併圖片使得只需一次通信即可。

2、Matrix Multiplication

圖片
Setup:使用setupMULT生成矩陣相乘時兩兩元素的乘法三元組,在此基礎上構造出結果矩陣的[]-shares。
Online:對於pq矩陣與qr矩陣的乘法,結果矩陣的維度是p*r,通信量是O(pr),相比之前協議的O(pqr)有了很大的提升。

3、Depth-Optimized Circuits

圖片
通過使用多輸入門可以減少電路層數。
上圖中的8-bit PPA加法器,通過使用MULT3/MULT4,從3層電路變為了2層電路。64-bit電路、求最高位電路與此類似。

4、Comparison

為求圖片,先計算圖片,轉換圖片,再把圖片通過Share Protocol轉換為圖片,然後就可以使用Depth-optimized Circuits中的求最高位電路。

5、Truncation

< >-sharing轉換為[ ]-sharing,使用論文SecureML中的本地截斷方法,然後再轉回< >-sharing。

6、MAX2/MIN2

使用了Comparison。

7、MAX3/MIN3

使用了Comparison。

8、Non-linear Activation Functions

ReLU使用了上述的MAX: ReLU(v) = max(0, v)Sigmoid用了分段函數:
圖片

9、Maxpool and Minpool

使用了MAX3/MIN3構造三叉樹,來減少樹的層數。

10、Equality Testing

對兩操作數先求異或,再對所有位執行與操作。
使用了AND4 gate(AND4即為圖片下的MULT4)來減少樹的層數。

四、性能

文中測試了LR與NN的性能,與SecureML做了對比,性能有大幅提高,如下圖:
圖片

圖片

圖片

五、與Cheetah對比

ABY2.0 Cheetah
Semi-honest secure
Two-party computation
Mixed-Protocol
(A、B、Y)
Hybrid system
(HE-based Linear Layers and Secret Sharing-based Non-linear Layers) or (A、B、H)
Use IKNP-style OT Use Silent-OT
Function-dependent Preprocessing No Preprocessing
General Protocol for MPC
(e.g. ABY、Turbospdz 、 ABY2.0)
Special Protocol for DNN Inference
(e.g. Delphi、CryptFlow2、Cheetah)

總之,ABY2.0與Cheetah都是高效的半誠實兩方協議,實現技術不同,目標也不同,有點類似於CPU與GPU的對比。

六、總結

ABY2.0具有以下優缺點,其預計算過程需事先知道要計算的函數,這是使用時需要注意的地方。
優點:

  • Constant online cost of 2 ring elements for N-input MUL/AND Gates
  • Better mixed protocol conversions
  • Set of efficient building blocks

缺點:

  • Function-dependent preprocessing
  • More complicated preprocessing

七、參考文獻

ABY2.0
https://www.usenix.org/system/files/sec21summer_patra.pdf

ABY2.0_slides
https://www.usenix.org/system/files/sec21_slides_patra.pdf

Cheetah
https://www.usenix.org/system/files/sec22-huang-zhicong.pdf

🏠 隱語社區:
https://github.com/secretflow
https://gitee.com/secretflow
https://www.secretflow.org.cn(官網)

👇歡迎關注:
公眾號:隱語的小劇場
B站:隱語secretflow
郵箱:secretflow-contact@service.alipay.com

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.