社會進步科技發展,人工智能地位突出。機器學習面臨着巨大的隱私泄露問題。算法
機器學習隱私基礎知識
機器學習隱私泄露:安全
- 不可靠的數據收集者泄露信息(直接泄露)
- 攻擊者分析機器學習模型輸出結果,逆向推出訓練數據中的用戶敏感信息(間接泄露)
隱私保護的兩個方向:服務器
- 以同態加密和安全多方計算爲表明的加密方法
- 以差分隱私爲表明的擾動方法
兩個方向的對比:負載均衡
- 加密方法運算量大,性能開銷大,每每難以落地
- 擾動方法僅用噪音添加機制,對性能影響較小,但會對模型預測準確性產生影響。它面臨的主要挑戰是:設計合理的擾動算法,平衡隱私保護和可用性。
機器學習的分類:框架
- 【集中學習】:數據首先被數據收集者收集,再由數據分析者分析,用戶失去數據控制權
- 【分佈式學習】:訓練數據和計算負載都分佈在工做節點。各參與方穩定,負載均衡,數據獨立同分布。
- 【聯邦學習】:數據在本地的同時訓練出全局模型。各方自主決定什麼時候加入或退出,各方負載不均衡,數據可能不是獨立同分布。
補充:機器學習
聯邦學習:首先用戶抽取一組知足條件的客戶端,被選中的客戶端從服務器下載當前模型權重 參數和一個訓練程序,而後客戶端在本地計算對模型參數的更新。接着,服務器收集客戶端上傳的參數。最後,服務器更新共享模型,如此迭代,直到收斂。分佈式
間接泄露信息的攻擊者攻擊方式:函數
機器學習敵手模型性能
- 敵手目標:訓練數據隱私、模型隱私、預測結果隱私
- 敵手知識:白盒、黑盒
- 敵手能力:強敵手、弱敵手
- 敵手策略:模型逆向攻擊、模型提取攻擊、成員推斷攻擊
機器學習安全威脅及防護技術
常見安全威脅:
訓練階段的安全威脅
預測階段的安全威脅
- 對抗攻擊(敵手精心設計對抗樣本,使模型分類錯誤)
- 詢問攻擊(主要針對黑盒攻擊)
機器學習安全防護技術
- 正則化(爲代價函數添加正則項/懲罰項)
- 對抗訓練(添加對抗樣本訓練)
- 防護精餾
- 直接拒絕對抗樣本(數據清洗)
機器學習隱私威脅及保護
機器學習常見的隱私威脅
注:機器學習各階段隱私保護問題
- 數據收集階段:保護原始數據,避免因數據挖掘而泄露
- 數據預處理階段:保證數據處理各方不能泄露隱私
- 模型訓練和測試階段:多個參與方之間如何安全的完成各類不一樣的機器學習計算工做
- 預測階段:保證模型隱私性及輸出結果的隱私性
機器學習隱私保護方案分類
按機器學習模型的種類分類
- 監督學習的隱私保護
- 半監督學習的隱私保護
- 無監督學習的隱私保護
- 強化學習的隱私保護
按機器學習過程分類
按模型訓練方式分類
- 集中式學習的隱私保護
- 分佈式學習的隱私保護
- 聯邦學習的隱私保護
傳統機器學習、深度學習、聯邦學習的隱私保護
傳統機器學習隱私保護
隱私保護技術:
- 加密
擾動(表明性方法:差分隱私)
- 幾種差分隱私概念
- 敏感度:輸入數據中任意一條改變,輸出結果中變化的最大值。
全局隱私:統一收集,而後擾動
本地隱私:數據收集前,先在本地擾動。
本地化差分隱私:以上兩種均再也不適用。最新提出。
差分隱私保護的經驗風險最小化:
- 輸入擾動(分析前擾動)
- 輸出擾動(對經驗風險最小化得出的最優參數擾動)
- 目標擾動(向經驗風險最小化的目標函數表達式中加入隨機項)
- 梯度擾動(在利用梯度降低求解最優模型參數過程當中引入隨機噪音)
注:擾動後要知足差分隱私。
不足:複雜的多分類任務存在問題。深度學習的經驗風險最小化目標函數是一個非凸函數,故輸出擾動和目標擾動再也不適用
深度學習隱私保護
寬鬆差分隱私
- 絕對的差分隱私會致使天平傾向隱私,而致使系統不可用
集成模型
- 一種基於知識遷移的深度學習隱私保護框架。引入學生模型和教師模型
不足:隱私性下降,泄露風險的可能性變大。另外,差分隱私僅能實現單點的隱私保護,若不一樣記錄之間存在關聯,攻擊者仍可對知足差分隱私的算法進行攻擊。
聯邦學習隱私保護
加密
- 有一種基於祕密共享的安全多方計算協議---安全聚合
差分隱私機制
- 對上傳至服務器端的參數添加擾動。但沒法保證參數傳遞過程當中的機密性。
區塊鏈技術
- 區塊鏈技術因其去中心化、安全可信、不可篡改 等特性,可以監測服務端或設備在聯邦學習中存在 的惡意行爲,保證訓練過程的透明,從而爲隱私保護 提供一種新的解決思路
- 區塊鏈技術自己仍存在吞吐量有限、可擴展性差等問題,故此類方法在實際場景中難 以支撐大規模的應用,其有效性仍有待商榷
不足:處於起步階段,存在不少挑戰。
經常使用隱私保護密碼技術
通用安全多方計算
基礎知識
安全多方計算定義:有m個參與方,他們各自擁有各自的數據集,在無可信第第三方的狀況下,如何安全地計算一個約定函數f,同時要求每一個參與方除了計算結果外,得不到任何其餘參與方的任何輸入信息。
任何一份函數都有一個等價的電路。對任意函數的安全多方計算能夠轉換爲等價電路c的安全多方計算。
- 邏輯電路的安全多方計算:只需解決「與門」、「或門」、「非門」
- 算數電路的安全多方計算:只需解決「加法門」、「乘法門」
安全性:(通常先設計半誠實安全的協議,而後轉換爲惡意敵手安全)
通用安全多方計算協議的主流構造方法
- 基於YAO混亂電路的構造:安全兩方計算協議
- 基於祕密共享的構造:安全多方計算協議
基礎密碼協議:
OT協議:不經意傳輸協議/遺忘傳輸協議
- OT協議是一個兩方計算協議,一方是發送方,一方是接收方
- 接收方得到了一些信息,但發送方不知道接收方收到了了哪些信息。
- 惡意敵手模型下,會進行大量OT計算,這使得OT協議經常成爲兩方計算瓶頸。所以儘量少的OT調用,或者使用OT擴展技術,用少的OT計算實現大量OT實例。
- GC協議:混亂電路協議。一種通用高效的兩方計算協議
- SS協議:祕密共享,祕密分割協議
- GMW協議:一種高效的多方計算協議。與GC相似須要將計算描述爲布爾電路。與GC不一樣,GMW每一層布爾門都須要一次交互。與GC相比,GMW須要更少的數據通訊。
分析
多方計算方案只在學習過程當中保護了訓練的隱私而不能防止對結果模型的推理攻擊。
構建關鍵:
- 根據不一樣協議特色,選擇合適的基礎密碼學工具以保證安全性。
- 對機器學習模型中的非線性函數設計高效的替表明達式。
同態加密技術
若是一個加密算法可以把明文空間及其運算造成的代數系統同態映射到密文空間及對應運算造成的代數系統,則稱公該加密算法爲同態加密算法,
同臺加密算法不須要對密文解密,而可直接對密文進行運算,獲得的運算結果,等同於對應明文所做相應運算計算結果的密文。不解密而進行計算,對於隱私保護,具有得天獨厚的優點。
- 部分同態加密PHE:加法同態、乘法同態
- 類同態加密SHE:僅支持有限次加法和乘法
- 全同態加密FHE:計算開銷大,仍不能成爲實用方案
解決同態加密沒法計算非線性運算的缺陷:(形成了效率和精度的降低)
無需多項式近似的同態加密隱私保護方案。
- 同態加密安全可靠,可是它只能計算加法和乘法,不能計算非線性計算。因此一種方法是依靠數據持有者完成非線性計算。
基於多項式近似的同態加密隱私保護方案。
- 爲了解決同態加密沒法計算非線性運算的問題,另外一種解決方案是利用多項式逼近
隱私保護集合計算
使持有私有數據集合的參與方合做產生集合運算的結果,而不泄露各自私有數據集的隱私。
隱私保護集合求交協議PSI
- PSI協議容許 持有各自私有集合的兩方共同計算兩個集合的交 集,協議完成後,一方或者兩方獲得正確的交集, 且不會獲得交集之外的另外一方集合中的任何信息
- PSI協議能夠經過通用安全多方計算協議來實現,但更多的是採用特殊的算法來實現。
將來挑戰與方向
存在問題:
- 存在大多數人忽視的盲區。
- 隱私保護方法較爲單一。同態加密、安全多方、差分隱私存在固有缺陷,缺少本質創新。
可探索的方向:
- 推動無監督學習下的隱私保護研究
- 權衡差分隱私保護的模型可用性與隱私性
- 探索多種技術結合的保護方法 (差分隱私、加密方法、區塊鏈 各有優缺)
- 支持單點和全局隱私保護
- 開發機器學習隱私保護框架(目前是針對特定的攻擊,須要通用的)
研究訓練階段基於密文的高效機器學習隱私保護方法
- 目前的方法多用於預測階段,由於同態加密生成的密文大、複雜隨着運算次數增多深度增長,一旦超過閾值將得不到正確結果。另外一方面,深度學習自己運算量大,沒有加密也須要高吞吐量的計算單元。
- 設計適用於機器學習各個階段的通用隱私保護體系結構
提出針對半結構化、非結構化數據隱私的切實可行解決方案
- 現有的隱私保護幾乎都是針對結構化 數據的,而大數據不少都是非結構化。
總結:
機器學習不可分割,隱私泄露巨大威脅。
在數據隱私性、高效性、可用性的矛盾下,如何提供符合給定場景隱私保護方法,最小化隱私泄露風險,將是個長期挑戰。