安全多方計算 是什麼?

MPC:安全多方計算 的完整解釋

安全多方計算(Multi-Party Computation,MPC)是一種密碼學協議,允許多方在不揭露各自私有輸入資料的前提下,共同計算某個函數的結果,廣泛應用於聯邦學習、隱私保護 AI 推論等場景

核心概念

安全多方計算(Multi-Party Computation,MPC)解決的是一個基礎問題:如何讓互不信任的多方共同完成計算,同時保護各方的私有輸入不被洩露?

這個問題的起源可追溯到 1982 年 Andrew Yao 提出的「百萬富翁問題(Millionaires' Problem)」:兩位富翁想知道誰更富有,但都不想透露自己的實際財富。MPC 提供了一個密碼學上嚴格的解法:讓雙方能比較大小,但無法推導出對方的具體金額。

MPC 的安全性定義建立在理想模型(Ideal Model)vs. 現實模型(Real Model)的對比上:若現實協議與一個理想的「可信第三方」在計算上不可區分,則協議被認為是安全的。這個定義覆蓋兩種攻擊者:

  • 半誠實(Semi-Honest / Honest-but-Curious)攻擊者:遵守協議規則,但試圖從觀察到的訊息推導其他方的私密資料
  • 惡意(Malicious)攻擊者:可能任意偏離協議,嘗試破壞計算結果或竊取資料

運作原理

MPC 有幾種主要的技術實現路徑:

祕密分享(Secret Sharing)

Shamir 祕密分享是最常用的 MPC 基礎工具。概念:將秘密 s 拆分成 n 個份額(Shares),分配給 n 方,任意 t 方聚合可恢復秘密,少於 t 方則無任何資訊。

以加法祕密分享為例:方 1 持有 s1,方 2 持有 s2,s1 + s2 = s(在有限域上)。計算 f(s_A, s_B)(如 s_A + s_B)時,各方在秘密份額上直接做對應運算,無需揭露原始值。

加密電路(Garbled Circuit)

由 Yao 提出,將任意布林電路「加密」成一個亂碼表,讓評估方(Evaluator)在不知道輸入的情況下執行電路並得到輸出。核心思想是將電路的每個閘(Gate)用對稱加密包裹,只有正確的輸入能解鎖正確的輸出加密值。

同態加密(Homomorphic Encryption, HE)

允許在密文上直接執行加法或乘法,計算結果解密後等同於在明文上計算。全同態加密(Fully Homomorphic Encryption, FHE)支援任意計算,但計算開銷極大;部分同態加密(如 Paillier 只支援加法)效能較高,適合特定場景。

在 AI 場景中的 MPC 協議

聯邦學習(Federated Learning)中的梯度聚合是 MPC 的典型應用:各個設備(如手機)在本地訓練後,將梯度以祕密分享形式上傳,伺服器在密文上聚合,設備只獲得最終更新後的模型,伺服器無法推導個別設備的梯度。

實際應用

聯合信用評分:多家銀行各持有客戶的不同財務資料(存款、貸款、交易記錄),透過 MPC 共同訓練信用評分模型,但不共享原始客戶資料,滿足 GDPR 等法規要求。

醫療聯合研究:不同醫院的病患資料因隱私法規無法共享,MPC 允許多家醫院聯合分析病患資料(如計算統計量、訓練診斷模型),各醫院的病患個資不離開本機。

隱私保護推論(Private Inference):用戶不願意向 AI 服務商揭露查詢內容(如敏感醫療問題),同時服務商不願意揭露模型權重。MPC 可讓雙方在各自保密的情況下完成推論,即「blind inference」。

台灣應用背景:隨著《個人資料保護法》修正草案加強資料跨境及共用規範,MPC 技術受到金融業與醫療業的關注,作為合規的多方協作分析手段。

常見誤區

誤區一:MPC 等於聯邦學習

聯邦學習(Federated Learning)是一種分散式訓練架構,強調資料不離本地;MPC 是密碼學協議,提供數學上的隱私保證。兩者解決的問題層次不同:聯邦學習即使沒有 MPC 也能運作(但可能面臨梯度洩露風險),MPC 可以作為聯邦學習的隱私增強層。業界常見「MPC + 聯邦學習」的組合方案。

誤區二:MPC 完全無洩露風險

MPC 保護「計算過程」中的輸入隱私,但最終輸出可能洩露資訊。例如,若協議允許查詢「某客戶的信用分數是否超過 700」,惡意方可能透過大量查詢推導出接近真實值的估計。需要搭配差分隱私(Differential Privacy)等機制限制資訊洩露量。

誤區三:MPC 效能問題已被解決

通訊開銷是 MPC 的主要瓶頸。加密電路和祕密分享需要大量的通訊輪次,在網路延遲高的環境下效能顯著下降。在大規模神經網路推論場景中,MPC 的計算和通訊成本可能是明文推論的數十倍到數百倍,實際部署需要謹慎評估。

與相關技術的比較

技術 核心保護 效能開銷 適用場景
安全多方計算(MPC) 計算過程中的輸入隱私 高(通訊密集) 多方協同計算,資料不共享
聯邦學習(FL) 原始資料不離本地 中(網路傳輸梯度) 分散式訓練
差分隱私(DP) 統計輸出中的個體隱私 低(加噪音) 發布統計資料、訓練模型
同態加密(HE) 密文上的計算 很高(計算密集) 單方加密資料外包計算
零知識證明(ZKP) 聲明真實性,不揭露原因 高(生成證明) 身份驗證、合規證明

在 AI 隱私計算生態中,MPC、聯邦學習、差分隱私是三大主幹,實際部署通常組合使用,形成多層次的隱私保護架構。

常見問題