基于安全多方計算的兩方推理
摘要:數字基礎設施的發展加速了個人隱私數據在機器學習中的應用。隨著機器學習即服務的市場規模逐步擴大,服務提供商和用戶在雙向獲利的同時也面臨著嚴重的隱私泄露風險。因此,安全推理作為隱私保護機器學習的一個分支,成為科學界和工業界的研究熱點。安全多方計算是安全推理最重要的密碼學工具。從機器學習推理中潛在的隱私問題出發,引入安全多方計算技術,進一步對基于安全多方計算實現的安全推理框架進行分析研究,重點分析和評估了業界先進且實用的技術框架。最后進行了總結與展望,給出了隱私保護機器學習及安全推理的未來發展的思考與建議。
人工智能是引領科技創新與產業變革的重要驅動力量,隨著人工智能技術的飛速發展以及在不同行業領域的深化應用,世界各國均將人工智能列為提升國家競爭力、維護國家安全的重大戰略。機器學習(Machine Learning,ML)是實現人工智能的重要環節,為了提升機器學習效能,大數據應用是關鍵。
近年來,全球信息泄露事件頻頻發生。2018 年,美國 Facebook 被第三方公司的應用程序惡意收集了5 000 萬用戶的個人信息,該數據是美國選民人數的 1/4;2020 年,巴西衛生部官網存在的嚴重漏洞導致 2.43 億巴西人的個人信息被泄露;2021 年,中國初創公司 Socialarks(笨鳥社交)泄露了總計408 GB 超過 3.18 億條用戶記錄。信息泄露時常發生在各行各業,各國紛紛從法律法規層面引導數據安全和隱私保護,個人對隱私保護的需求也愈發強烈。同樣,基于大數據的機器學習也面臨著嚴峻的隱私安全問題,科學界和工業界為解決機器學習中的隱私安全問題掀起了隱私保護機器學習(Privacy-Preserving Machine Learning,PPML)研究的浪潮,密碼學技術在其中扮演了至關重要的角色。
目前,關于 PPML 的研究主要基于安全多方計算(Secure Multi-party Computation,MPC) 和 聯 邦學習(Federated Learning,FL)兩條路線,分別適用于安全性和性能要求較高的場景。為探索高安全、高性能的實用性 PPML,MPC 技術是最有效的密碼學工具。PPML 框架一般涉及復雜且多樣的運算類型,根據參與方數量、安全模型、計算能力和網絡帶寬等方面的不同,可以結合實際場景進行多種MPC 技術的組合來實現,從而安全地完成訓練和推理任務,并且保證了訓練數據、推理數據和模型參數的隱私。
本文針對機器學習推理階段的隱私保護問題,對近幾年關注度比較高的基于 MPC 實現的安全推理框架進行比對分析,主要從方案的系統架構、技術對比、算子協議和理論評估等方面進行歸納總結,并對梳理出的兩項先進且實用的技術框架進行仿真驗證與應用評估,最后進行總結與展望。
1、背景概述
1.1 機器學習推理及其存在的隱私問題
機器學習是當今發展最快的技術領域之一,位于計算機科學和統計學的交叉點,也是人工智能和數據科學的核心。1959 年,Arthur Samuel 將 ML 定義為計算機在不需要被顯式編程的情況下而具備自主學習的能力。ML 的主要流程包括數據收集、數據預處理、模型訓練與測試、預測或推理這 4 個階段。
機器學習即服務(Machine Learning as a Service,MLaaS)是一項以 ML 推理預測為基礎的在線服務,近年來發展迅速且應用廣泛。然而,MLaaS 給機器學習模型持有者和數據持有者均帶來了安全挑戰。數據持有者擔心數據隱私泄露給 MLaaS 平臺,同時 MLaaS 平臺持有者擔心模型被冒充客戶的對手竊取。在 MLaaS 這種商業模式下,PPML 主要表現為推理階段的隱私威脅,需保證推理數據和模型數據的隱私。
為解決 ML 推理階段的隱私問題,安全推理研究應運而生。近年來,有許多安全推理工作取得了較大的進展,它們主要采用密碼技術與 ML 相結合的方式,常用的密碼技術包括 MPC、FL 和差分隱私(Differential Privacy,DP)。MPC 是基于密碼學原理的、具備可證明安全性的技術,本文將重點研究和分析基于 MPC 的兩方推理。
1.2 MPC 密碼技術MPC 理論
在 1982 年由姚期智為解答百萬富翁問題而提出,是指多個參與方在不泄露各自隱私數據的前提下,共同完成某個函數計算的過程。MPC 集成了復雜的密碼學原語,其包含的關鍵 基 礎 技 術 有 不 經 意 傳 輸(Oblivious Transfer,OT)、混淆電路(Garbled Circuit,GC)、秘密共享(Secret Sharing,SS)和同態加密(HomomorphicEncryption,HE)。
OT 由 Rabin于 1981 年提出,是一個安全的兩方通信協議,數據發送方同時發送多個信息,而數據接收方只收到其中部分信息,發送方無法判斷接收方具體獲得了哪些信息,接收方也不知道其他信息的內容。當前先進的 OT 技術包括 IKNP類型的 OT 擴展和矢量不經意線性評估(Vector Oblivious Linear Evaluation,VOLE) 類 型 的 OT 擴展,后者較前者在通信量上有顯著降低。
GC 是姚期智于 1986 年針對百萬富翁問題提出的解決方案,其核心技術是利用計算機編程,將多方參與的計算函數編譯為布爾電路,并將每一個門對應的真值表加密打亂,在不泄露參與方私有數據的情況下實現電路的正確輸出。GC 的實現僅需要簡單的對稱加密方案,其優點是可以在恒定輪數內完成計算。然而,GC 中涉及的通信量與電路大小呈線性相關,因此更適用于簡單的邏輯運算。
SS 由 Shamir和 Blakley于 1979 年分別提出,其原理是將秘密拆分為多個秘密份額,并分發給不同的參與方,只有滿足一定數量的擁有秘密份額的參與方共同協作才能恢復出秘密。在 MPC 中通常利用計算開銷較少的加性秘密共享,但參與方基于秘密份額的交互輪數與電路深度有關。
HE 由 Rivest 等人于 1978 年提出,它是一種具有特殊性質的加密算法。原始數據經同態加密后,允許用戶直接對密態數據進行運算(通常是加法、乘法運算),對運算結果再進行同態解密,得到的明文與對原始數據進行相同運算得到的結果一致。同態加密的優點是能夠設計通信交互輪數較少的 MPC 協議,缺點是乘法同態占用的計算和存儲開銷較大,而目前基于格的同態加密在一定程度上降低了計算開銷。
上述 4 種 MPC 密碼技術的類型各不相同,在計算性能、通信開銷和存儲成本等方面都有各自的優劣勢。面對 ML 推理中存在的隱私問題,往往需要結合多種 MPC 密碼技術,以滿足計算各種機器學習復雜函數的需求,實現性能均衡的隱私保護安全推理方案。
根據 MPC 參與方的可信程度,可以將 MPC 的安全模型分為半誠實模型和惡意模型。在半誠實模型中,每個參與方會嚴格遵守協議的流程執行計算,保證最終結果的正確輸出。但在協議執行過程中,某些參與方會根據自己產生的過程數據以及其他參數方的輸出數據來挖掘更多的信息。如果 MPC 方案在半誠實模型中除計算結果外不會泄露任何參與方的隱私信息,則稱該方案滿足半誠實安全。在惡意模型中,存在惡意的參與方不按照協議的流程執行計算,試圖發送錯誤數據或者終止協議的執行來挖掘其他參與方的私有信息。如果 MPC 方案不會因為惡意參與方偏離協議的行為泄露隱私數據,則稱該方案滿足惡意安全。
2、兩方安全推理研究
2.1 兩方安全推理模型架構
安全推理方案主要基于服務器-客戶端架構模式。如圖 1 所示,服務器持有公開機器學習網絡 F的權重 w,客戶端持有隱私輸入 x。在標準的機器學習推理任務中,客戶端的目標是獲得在服務器模型上對輸入數據 x 進行推理的結果 F(w,x)。在安全推理中需保證服務器對 x 沒有任何了解,并且客戶端除了從 F(w,x) 和 x 推斷,對服務器的模型 w 沒有任何了解。

圖 1 兩方安全推理的架構
一種可擴展到實際機器學習任務的安全推理解決方案將打開大量基于 MLaaS 的應用程序,用戶可以從機器學習服務中獲得價值而不用擔心其隱私數據的泄露,而模型所有者可以有效地將他們的服務貨幣化,而不用擔心客戶端數據被泄露。安全推理最重要的新興應用是在醫療保健領域,之前的工作探索了針對胸部疾病、糖尿病視網膜病變、瘧疾等疾病的隱私保護醫療診斷的安全推理服務。此外,一個可能的應用是隱私保護人臉識別,服務器可以不查看照片內容就從照片中識別罪犯。
安 全 推 理 是 一 個 安 全 的 兩 方 計 算(2-Party Computation,2PC)的實例,2PC 的加密安全的通用協議已發展了幾十年。然而,在實際應用中,針對機器學習任務的安全推理仍面臨很大的挑戰,特別是針對大規模網絡和復雜的數據的安全推理,主要原因有二:(1)基于 MPC 的安全推理使用了豐富的密碼學原語,在計算及通信層面均存在較大的性能開銷,特別是在計算 ML 的激活函數時代價昂貴;(2)安全推理精度面臨的挑戰表現在兩個方面,一方面是部分方案采用近似方法逼近激活函數,另一方面是采用定點算術計算浮點數。因此,安全推理較明文在性能和精度上均存在一定差距,隱私保護和機器學習等多個研究方向的學者紛紛對此積極進行探索和突破。
2.2 兩方安全推理方案概覽
機器學習推理任務是線性層的全連接、卷積、平均池化和批標準化,以及非線性層的激活函數和最大池化等一系列計算的組合,該復雜的計算最終轉化為數值的加法、乘法和比較等基本算子。在基于 MPC 的安全推理中,這些復雜的計算最終歸結為安全計算數值的加法、乘法、比較和截斷。如表1 所示,從安全模型、MPC 技術和支持的算子協議等方面對現有安全推理框架進行總體分析。
(1)安全模型。兩方的安全推理框架主要支持半誠實模型,較少研究考慮到惡意的客戶端。
(2)MPC 技術。絕大部分框架混合使用多種技術,主要采用加性秘密共享對數據進行拆分,使得推理任務在分片數據上執行達到原始數據不泄露。從最新的 PPML 框架可以看出,主要偏向于采用 HE 計算線性層和 OT 計算非線性層的混合技術。
(3)支持的算子。所有框架均支持基本的線性層算子,線性層的主要改進點是快速地進行安全矩陣乘法。對于非線性層,比較和截斷是兩個重要的支撐算子,比較算子主要采用直接計算和轉化為最高有效位(Most Significant Bit,MSB)兩種方式,截斷分為有誤差的本地截斷和無誤差的安全截斷。復雜的激活和池化函數轉化為基礎的加法、乘法和比較算子。
表 1 PPML 框架比較

2.3 兩方安全推理方案分析
2014 年,Xie 等 人提 出 了 第 一 個 使 用 HE加密的隱私保護神經網絡推理方案 CryptoNets,其主要面向云場景的安全推理功能。該方案使用類HE 友好的近似平方函數逼近激活層函數 ReLU 和Sigmoid,然而其對推理的準確性有影響且僅適用于淺層模型和小數據集。2017 年,Liu 等人通過MiniONN 變換將任意通用神經網絡轉換為一個不經意的神經網絡,該框架混合使用秘密共享、加法同態和混淆電路技術完成安全推理。在該框架中,客戶端僅需較少的計算能力,線性層使用點積三元組完成高效的矩陣乘法,其點積三元組在加法同態離線階段產生,大大減少了在線階段的計算開銷;對于非線性層函數,該框架通過一次安全的秘密重構和混淆電路的比較計算 ReLU,并使用分段函數逼近的方法計算 Sigmoid。該框架的最大啟示是將一部分操作劃分到離線預計算,但存在激活函數近似帶來的精度問題,以及計算過程中的秘密重構可能會泄露部分信息。2018 年,Riazi 等人提出了Chameleon 框架,線性層基于秘密共享和可信第三方離線生成的 Beaver 三元組來計算,使用混淆電路或 GMW 協議執行非線性層操作。在 5 層卷積深度神經網絡上的評估顯示,Chameleon 框架的運行速度比 CryptoNets 和 MiniONN 分別快 133 倍和 4.2 倍。同年,Juvekar 等人提出了低延遲的安全神經網絡推理框架 Gazelle,使用了 HE 和混淆電路的技術組合,設計了一個較快速的 HE 庫以實現 HE 矩陣向量乘法和卷積的線性運算。此外,還設計了一個HE和混淆電路編碼之間無縫轉換的加密轉換協議。該框架與 CryptoNets 方法相比在線運行時間快了3 個數量級,且在 MNIST 和 CIFAR-10 數據集上的在線推理時間較 Chameleon 減少到原來的 1/30~1/20。2020 年,Mishra 等 人提 出 的 Delphi 框 架, 將Gazelle 線性層的繁重 HE 運算前移到離線預處理階段。該框架一個最大的亮點是提出了一個采用神經結構搜索(Neural Architecture Search,NAS)和超參數優化技術的規劃器(Planner),旨在確定哪些ReLU 激活函數使用二次多項式替代,哪些保持不變,使其性能和準確性直接達到最佳平衡。
以上工作考慮的均是半誠實安全模型下的安全推理,實際情況下可能會存在惡意客戶端使用新的模型提取攻擊來獲得服務器的整個模型的攻擊,MUSE和 SIMC 框架針對以上問題,采用有條件的揭露秘密技術,使其在經過認證的加法秘密共享和混淆電路標簽之間進行轉換,以達到抵抗惡意客戶端的安全推理。
前述工作離能夠實際應用于深層次的網絡、大規模數據集和復雜分類的機器學習的安全推理仍然有一段距離。2020 年,Deevashwer 等人提出了一個實用性的 2PC 安全推理框架 Cryptflow2,其可在 SqueezeNet 網絡下 1 min 內完成一張 ImageNet 規模的安全推理。之后,又在 Cryptflow2 的基礎上,分別針對線性層和非線性層的改進提出了 GALA 和SIRNN框架。2022 年,阿里實驗室對標 Cryptflow2 提出了當前行業性能最佳的安全推理框架 Cheetah,并在諸多工業場景應用落地。此類成果極大地促進了安全兩方推理從理論研究邁向生產應用。
3、實用性兩方安全推理方案研究
本節將重點分析評估 Cryptflow2、Cheetah 兩項實用且先進的技術方案,并從應用的角度給出分析與建議。
3.1 Cryptflow2 和 Cheetah 的技術分析
Cryptflow2 框架使用不經意傳輸設計了高效的比較協議,對用于比較的兩個秘密值進行比特序列的塊劃分,并使用二叉樹逐層比較來加速協議。此外,設計了無誤差的定點算術截斷協議,準確糾正了溢出大誤差和最后一比特小誤差。Cheetah 是基于 Cryptflow2 的改進實現,在線性層和非線性層上性能提升表現為以下兩個方面:
(1)Cryptflow2 表明,深度神經網絡的非線性層函數,基于 OT 的協議在環
上的帶寬消耗比環
上少 40% ~ 60%,且環
上的模約減在標準 CPU 上幾乎是無計算開銷的。基于 HE 的線性層使 用 單 指 令 多 數 據 流(Single Instruction Multiple Data,SIMD)技術來攤銷 HE 操作的成本,由于代數要求 SIMD 需在環
上,可以使用中國剩余定理(Chinese Remainder Theorem,CRT) 使 素 數 模
但給 HE 帶來了 3~5 倍的開銷增長,且影響非線性層的消息增益。此外,由于卷積和矩陣的空間性質以及矩陣的矢量乘法,基于 HE 和 SIMD的協議不可避免地要對操作數進行多次旋轉,旋轉也是一個開銷巨大的操作。Cheetah 就以上矛盾平衡了
兩個環的使用,提出了 3 對編碼函數
將輸入的值(如張量或向量)映射到多項式的適當系數,然后使用基于格的 HE 高效地計算線性層函數,不僅消除了昂貴的 HE 旋轉,也能夠兼容
環上的秘密共享。
(2)在百萬富翁協議上,Cheetah 使用 VOLE style OT 擴展替代 Cryptflow2 中的 IKNP-style OT擴展。Cryptflow2 實現了無誤差的誠實截斷占據了協議超 50% 的開銷。Cheetah 雖然僅糾正溢出大誤差而忽略最后一比特小誤差,但是實驗表明不影響模型的預測質量。
表 2 Cryptflow2 與 Cheetah 的技術比較

3.2 Cryptflow2 和 Cheetah 的實驗分析
本 文 使 用 Cheetah 開 源 庫實 現。Cheetah是一個安全和快速的深度神經網絡(Deep Neural Network,DNN) 兩 方 推 理 系 統, 其 實 現 基 于 帶HEXL 加速 的 SEAL 同態庫、高效的多方計算工 具 包(Effificient MultiParty Computation Toolkit,EMP-toolkit) 的 OT 庫 , 在 EMP 上 還 擴 展 了Ferret 協議使其支持多實用類型的 OT。為了便于比較,Cheetah 系統集成了開源的安全和正確的推理(Secure and Correct Inference,SCI) 庫 以 實現 Cryptflow 框架。實驗環境為 Intel 至強 5218@2.3GHz 服務器上的 CentOS7.6-X64 虛擬機(16 GB 內存、500 GB 硬盤)。虛擬機上開啟兩個終端進行在線推理服務的模擬與仿真。基準測試是在預訓練的 RestNet50 DNN 模型上推理一張 230×230 像素的 Imagenet 圖像,安全推理實驗的操作分布為 53個 Conv 層、49 個批標準化(Batch Normalization,BN)層和 1 個全連接(Fully Connection,FC)層,非線性層包括 97 個 ReLU、49 個 Truncation、1 個MaxPool、1 個 AvgPool 和 1 個 ArgMax。
分別采用Cryptflow2和Cheetah框架進行Resnet50模型的安全推理,得到在兩種不同線程設置下,兩個框架的總運行時間、總通信量(發送 + 接收)和通信輪數,如表 3 所示。運行時間與系統線程數量反相關,線程數量對通信量基本沒有影響。Cheetah與 Cryptflow2 相比,計算和通信性能分別提升了2~3 倍和 7~10 倍,且通信輪數減少到原來的 1/3 左右。
表 3 運行時間與通信開銷的比較

圖 2 展 示 了 在 單 線 程 設 置 下,Cryptflow2 和Cheetah 在線性層、非線性層包含的 8 種算子中,依 次 推 理 運 行 每 個 算 子 的 總 時 間。Cryptflow2 和Cheetah 完成安全推理的計算開銷主要集中在卷積、截斷和 ReLU 上,且 Cheetah 在卷積和截斷運算上計算性能遠遠高于 Cryptflow2。

圖 2 算子運行時間的比較
圖 3 展 示 了 在 單 線 程 設 置 下,Cryptflow2 和Cheetah 在線性層、非線性層包含的 8 種算子中,依次推理運行每個算子的總通信量。Cryptflow2 和Cheetah 完成安全推理的通信代價主要集中在卷積、 批 標 準 化、 截 斷 ReLU、 最 大 池 化 上, 且 在Cryptflow2 中截斷運算的通信開銷占據了整個推理任務總通信量的 60%。Cryptflow2 在截斷、ReLU 和最大池化運算上通信開銷遠遠高于 Cheetah。

圖 3 算子通信量的比較
從 Cryptflow2 和 Cheetah 的技術和實驗上分析,Cheeath 非線性層的百萬富翁和截斷協議的改進使得通信成本較 Cryptflow2 降低了 92% 左右,在同等可證明安全前提下速度提升了 3 倍,在多線程設置下可在數十秒內完成一張圖片的識別,向實用性更進一步。
3.3 Cryptflow2 和 Cheetah 的對比結論
Cheetah 是 基 于 Cryptflow2 的 改 進 實 現, 在算子先進性、通信性能、計算性能等方面均優于Cryptflow2,且在大模型的在線推理方面更具實用性。Cryptflow2 在中、小模型方面性能較有實用性,并且 Cryptflow2 實現了無誤差的截斷,在高精度計算場景下可以考慮應用。綜上,建議在時延敏感、中大型模型應用等場景下采用 Cheetah 技術方案,在時延要求不嚴但精度要求較高的中小型模型場景下采用 Cryptflow2 技術方案。
4、結語
在政策和個人意識的推動下,隱私保護需求愈加強烈,機器學習中的隱私保護問題也受到了科學界和工業界的廣泛關注,該問題的主流解決方法是將密碼學技術與機器學習相結合。安全兩方推理作為隱私保護機器學習的一個分支,使用該安全解決方案將更好地推動 MLaaS 平臺的廣泛應用。然而,仍存在許多急需解決的問題,有待進一步探索和突破,具體如下文所述。
(1)安全兩方推理方案的性能有待提升。長期以來,密碼技術的性能瓶頸是其與實際業務相結合的一大難點,而安全多方計算集成了豐富的密碼學原語,在計算和通信上都存在較大的開銷。安全多方計算應用于機器學習中,在通常情況下,相比于明文計算慢幾個數量級,特別是大型網絡的性能開銷更是超出計算力和網絡帶寬的承受能力。因此,安全多方計算的性能瓶頸使機器學習很難落地應用,研究更加高效的方案是未來重要的研究方向。
(2)提高方案的準確率。機器學習大部分情況下計算的是浮點型數據,而密碼技術的計算是在特定的域或環上,兩種數據類型的轉換主要采用定點算術。為防止數據膨脹而使用截斷技術帶來了一定概率的誤差,對于機器學習的多層網絡和多次迭代可能會造成嚴重的誤差。此外,激活函數的計算代價是昂貴的,許多方案采用近似方法逼近也會帶來誤差。因此,隱私保護機器學習的誤差和性能平衡是未來需要解決的問題。
(3)研究更高安全性的方案。目前絕大部分方案僅能抵抗半誠實攻擊者,然而抵抗惡意攻擊者的方案更符合實際場景。更高安全性的目標必定需要更大的性能代價,在滿足性能實用性的情況下提高安全性的方案需要進一步研究。
(4)在行業中建立統一的安全評估標準。由于技術路線的多樣性,對于安全兩方推理框架的安全性證明和評估還沒有一個統一的標準,僅有對于某項密碼技術的安全性評估。行業推崇的方式是將方案和實驗代碼開源出來,接受同行的評判。建立健全的評估標準是刻不容緩的。