本篇文章,是近期閱讀《資訊通訊技術與政策》2021年第6期的一些有關隱私計算的文章時,記錄的筆記,記錄在此。
隱私計算髮展綜述(閆樹)
不經意傳輸(OT)
不經意傳輸,也稱茫然傳輸,提出了一種在數 據傳輸與互動過程中保護隱私的思路。 在不經意傳輸 協議中,資料傳送方同時傳送多個訊息,而接收方僅獲 取其中之一。 傳送方無法判斷接收方獲取了具體哪個訊息,接收方也對其他訊息的內容一無所知。
混淆電路(GC)
混淆電路,是一種將計算任務轉化為布林電路並對真值表進行加密打亂等混淆操作以保護輸入隱 私的思路。 利用計算機程式設計將目標函式轉化為布林電 路後,對每一個門輸出的真值進行加密,參與方之間在 互相不掌握對方私有資料的情況下共同完成計算。 混淆電路是姚期智院士針對百萬富翁問題提出的解決方 案,因此又稱姚氏電路。
祕密分享(SS)
祕密分享,也稱祕密分割或祕密共享,給出了 一種分而治之的祕密資訊管理方案。 祕密分享的原理 是將祕密拆分成多個分片(Share),每個分片交由不同 的參與方管理。 只有超過一定門限數量的若干個參與 方共同協作才能還原祕密資訊,僅通過單一分片無法 破解祕密。
同態加密 (HE)
同態加密,是一類實現在基礎的加密操作之 上直接完成密文資料間運算的加密演算法。 資料經過同 態加密後進行計算得到的結果與用同一方法在明文計 算下得到的結果保持一致,即先計算後解密等價於先 解密後計算。
橫向聯邦學習
資料矩陣(也可以是表格,例如,Excel表格)的橫向的一行表示一條訓練樣本,縱向的一列表示一個資料特徵(或者標籤)。通常用表格檢視資料(例如,病例資料),用一行表示一條訓練樣本比較好,因為可能有很多條資料。參考
適用於參與者的資料特徵重疊較多,而樣本ID重疊較少的情況,例如,兩家不同地區的銀行的客戶資料。“橫向”二字來源於資料的“橫向劃分(horizontal partitioning, a.k.a. sharding)”。如圖所示例,聯合多個參與者的具有相同特徵的多行樣本進行聯邦學習,即各個參與者的訓練資料是橫向劃分的,稱為橫向聯邦學習。
橫向聯邦學習也稱為特徵對齊的聯邦學習(Feature-Aligned Federated Learning),即橫向聯邦學習的參與者的資料特徵是對齊的。
下圖給出了一個橫向劃分表格的示例,橫向聯邦使訓練樣本的總數量增加。
縱向聯邦學習
適用於參與者訓練樣本ID重疊較多,而資料特徵重疊較少的情況,例如,同一地區的銀行和電商的共同的客戶資料。“縱向”二字來源於資料的“縱向劃分(vertical partitioning)”。如圖所示例,聯合多個參與者的共同樣本的不同資料特徵進行聯邦學習,即各個參與者的訓練資料是縱向劃分的,稱為縱向聯邦學習。縱向聯邦學習需要先做樣本對齊,即找出參與者擁有的共同的樣本,也就叫“資料庫撞庫(entity resolution, a.k.a. entity alignment)”。只有聯合多個參與者的共同樣本的不同特徵進行縱向聯邦學習,才有意義。縱向聯邦使訓練樣本的特徵維度增多。
樣本對齊,就是資料求交
縱向聯邦學習也稱為樣本對齊的聯邦學習(Sample-Aligned Federated Learning),即縱向聯邦學習的參與者的訓練樣本是對齊的。
下圖給出了一個縱向劃分表格的示例。
遷移學習
聯邦遷移學習則適用於資料集間樣本和特徵重合均較少的場景。 在這樣的場景中,不再對資料進行切分,而是利用遷移學習來彌補資料或標籤的不足。 以不同地區、不同行業機構之間進行聯合建模為例,使用者群體和特徵維度的交集都很小,聯邦遷移學習即用來針對性解決單邊資料規模小、標籤樣本少的問題。
關鍵技術對比
隱私計算開源產品
開源庫
1、 Concrete:是AI 公司 Zama 開源的基於全同態加密的軟體庫,支援TFHE方案的一個自定義變體,基於的是GSW方案。
2、 Private Join and Compute:谷歌開源的新型多方安全計算開源庫,結合了隱私求交和同態加密兩種基本的加密技術,實現對求交資訊計算。
能求出交集對應label的和!
隱私計算關鍵技術與創新(符芳誠)
PSI
PSI,就是隱私資訊求交,它要求參與方在互相不公開本地集合的前提下,共同計算得出多個參 與方的集合的交集,且不能向任何參與方洩露交集以外的資訊。
在縱向聯邦學習場景中, PSI 也被稱為樣本對齊( Sample Alignment) 或者資料庫撞庫,即各參與方需要首先求出各自的訓練樣本ID 集合之間的交集,基於計算得到的訓練樣本 ID 交集進行後續的縱向聯邦模型訓練。
多方PSI
計算多方時,計算複雜度會變大,一般還是兩兩求交,代替多方求交。
(1)最早的PSI,是基於DH,基於盲簽名的和基於OT的,但進行兩兩求交時,會洩露那些屬於兩方交集但不屬於多方交集的資料。
(2)然後提出真正的多方的PSI,主要思想是將樣本 ID 集合編碼 成特殊的資料結構,即不經意多項式,其中每一個樣本 ID 均為不經意多項式的根【進行編碼】;然後利用半同態加密演算法對 多項式引數進行保護,使多個參與方可以在密文空間下進行多項式求值,同時又無法讀取多項式引數的明 文。 然而,大整數多項式係數展開和求值的計算複雜 度均為 O(n3 )。(APSI中的Partition)
(3)優化方法:分塊。具體來說利用雜湊分桶技 術將 ID 集合均勻對映到若干 ID 分桶中,這裡要求各 參與方使用相同的雜湊函式,以便確保相同的樣本 ID 被對映到相同的分桶中。 這樣一來,只需要進行“桶內 計算、桶間合併”即可得到完整的多方 ID 集合的交集。 將單個桶內樣本數量視為一個常數,演算法的計算複雜 度可以優化到 O(n)。(APSI中的cuckoo hash)
Unbalanced-PSI
即一個參與方 A 的樣本量 遠遠小於另一參與方 B,這裡稱擁有樣本量少的 A 為 弱勢方,稱擁有樣本量多的 B 為強勢方。 此 時,PSI 的計算結果可能非常接近弱勢方的真實樣本 ID 集合,存在一定的資料洩露風險。
解決辦法:
混淆。在 PSI 流程中,提 出從強勢方的 ID 集合中隨機抽取部分密文 ID 資料混 入最終交集中。
雙方都有輸出。
(1)最終計算得到的 PSI 交集由真實交集和混淆 集合組成,其中混淆集合全部來自強勢方的樣本 ID。
(2)弱勢方可以獲得 PSI 交集,同時可以通過對比 本地 ID 集合和 ID 交集得到真實的樣本 ID 交集,但是 無法獲取混淆交集部分的樣本 ID(由密文保護),保護 了強勢方的資料安全。
(3)強勢方可以獲得 PSI 交集,但是無法判斷哪些 樣本屬於真實 ID 交集。
(4)在實際場景中,當弱勢方和強勢方資料量之 比在 1:100 時,只需要取真實交集與強勢方集合資料 量之比為 1: 10, 即可將弱勢方資料的安全性 提 升 10 倍。
斜向聯邦學習
在斜向聯邦學習場景裡,參與方 A 和參與方 B 各擁有 一部分特徵,且兩個參與方分別擁有一部分由兩方 PSI 獲得的交集中的樣本的標籤資訊,具體參見圖。
兩方斜向聯邦學習適用的場景是聯邦學習的兩個 參與方 A 和 B 的訓練資料有重疊的資料樣本,兩方擁 有的資料特徵卻不同,兩方資料特徵空間形成互補,類似於縱向聯邦學習場景。 與縱向聯邦學習不同的是, 在兩方斜向聯邦學習裡,參與方 A 和參與方 B 各擁有 一部分 PSI 交集裡的樣本對應的標籤資訊,甚至參與 方 A 和參與方 B 可能同時擁有一部分樣本的標籤信 息。
PowerFL平臺
騰訊 Angel PowerFL(簡稱 PowerFL) 安全聯合計算平臺是通用型隱私計算平臺。PowerFL 平臺提供多種隱私保 護機制,包括半同態加密、祕密分享、差分隱私、TEE 等。
其他
1、Angel 機器學習平臺
騰訊AI開源專案Angel,地址
2、 Spark
Apache Spark是一個開源叢集運算框架,允許使用者將資料載入至叢集儲存器,並多次對其進行查詢,非常適合用於機器學習演算法。
3、 Pulsar
Pulsar 是一個用於伺服器到伺服器的訊息系統,具有多租戶、高效能等優勢。用於叢集。