《聯邦學習》——個人筆記(二)
第二章 隱私、安全及機器學習
2.1面向隱私保護的機器學習
Privacy-Preserving Machine Learning ,PPML
包括以下幾種方法:
-
安全多方計算(Secure Multi-party Computation, MPC)
-
供隱私保護模型訓練和預測使用的同態加密方法(Homomorphic Encryption, HE)
-
用於防止資料洩露的差分隱私方法(Differential Privacy,DP)
2.2面向隱私保護的機器學習與安全機器學習
二者區別主要在於他們被設計用來應對不同的安全威脅:
(1)在安全機器學習中,敵手被假設違反了機器學習的完整性和可用性
(2)在PPML中,敵手被假設違反了機器學習系統的隱私性和機密性
- 完整性:對完整性的攻擊可能導致機器學習系統出現檢測錯誤,例如將入侵點檢測為正常
- 可用性;可能導致系統出現分類錯誤,系統會變得不可用
- 機密性:機器學習系統中的敏感資訊(如訓練資料或訓練模型)出現洩漏
2.3威脅與安全模型
-
2.3.1隱私威脅模型
對機器學習系統的攻擊可能在任何階段發生:模型訓練、模型推理和資料釋出。
在模型訓練階段發生的攻擊叫做重構攻擊。計算方的目的是重構資料提供者的原始資料,或者學習關於資料的更多資訊。而不是最終模型所提供的資訊,這也是聯邦學習的主要隱私關注點。
在模型推理階段,一個敵對的結果方可能會使用反向工程技術來獲取模型的額外資訊,以此實施模型反演攻擊或成員推理攻擊。
資料釋出階段一般發生特徵推理攻擊。(1)重構攻擊:
敵手的目標是在模型的訓練期間抽取訓練資料或訓練資料的特徵向量。在集中式學習中,大量的資料被上傳至計算方,這就導致資料很容易受到敵手的攻擊。
(2)模型反演攻擊
敵手被假設對模型擁有白盒訪問許可權或黑盒訪問許可權。對於黑盒訪問,敵手只需要儲存特徵向量便能獲得模型的明文內容。對於白盒訪問,敵手只能查詢模型的資料和收集返回結果。擁有黑盒許可權的敵手也可能會通過實施方程求解攻擊,從回應中重構模型的明文內容,理論上,對於一個N維的線性模型,一個敵手可以通過N+1次查詢來竊取整個模型的內容(類似解方程組)。
(3)成員推理攻擊 敵手對模型至少有黑盒訪問許可權,同時擁有一個特定的樣本作為其先驗知識。敵手的目標是判斷模型的訓練集中是否包含特定的樣本。
(4)特徵推理攻擊
敵手出於惡意目的,將資料去匿名化或鎖定記錄的擁有者。在資料被髮布之前通過刪除使用者的個人可識別資訊(也稱為敏感特徵)來實現匿名化,是保護使用者隱私的一種常用方法。但此方法已被證實並不十分有效。 -
2.3.2攻擊者和安全模型
兩種型別的敵手:
半誠實的敵手(Semi-honest):敵手遵守協議,但也會試圖接收到資訊中學習更多除輸出以外的資訊。
惡意的敵手(Malicious):敵手不遵守協議,可以執行任意的攻擊行為。大多是的PPML研究中都考慮了半誠實的敵手模型,原因是在聯邦學習中,遵守協議對雙方都是有利的。
2.4隱私保護技術
-
2.4.1安全多方計算
1.安全多方計算的定義
安全多方計算允許我們計算私有輸入值的函式,從而使每一方只能得到其相應的函式輸入值,而不能得到其他方的輸入值和輸出值。例如,假設一個私有的數值x被分給n位共享方,則每一方Pi只能獲知xi的內容,所有方能夠協同計算: y1,…,yn = f(x1,…,xn)
所以,Pi只能根據自己的輸入xi來獲知輸出值yi,而不能得知任何額外的資訊。
通常情況下,安全多方計算能夠通過三種不同的框架來實現:不經意傳輸、祕密傳輸和閾值同態加密。2.不經意傳輸
是兩方計算協議,傳送方有一個“訊息-索引”對(M1,1)…(Mn,N)。在每次傳輸時,接收方選擇一個滿足1<=i<=N的索引i,並接收Mi。接收方不能得知關於資料庫的任何其他資訊,傳送方也不能瞭解關於接收方i選擇的任何資訊。(設A方有一個輸入表(x1,xn)作為輸入,B方有1<=i<=N作為輸入。A不n能學習到關於i的資訊,B只能學習到xi)。
3.祕密共享
將祕密值分割為隨機多份,並將這些份分發給不同方來隱藏祕密值的一種概念。根據具體的使用場合,需要所有或一定數量的的共享數值來重新構造原始的祕密值。
4.安全多方計算在PPML中的應用
基於安全多方計算的PPML方法利用兩階段架構,包括離線階段和線上階段。大多數密碼操作都是在離線階段執行,在離線階段生成乘法三元組。
-
2 .4.2 同態加密
1.同態加密的定義
同態加密方法H是一種通過對相關密文進行有效操作(不需獲知解密祕鑰),從而允許在加密內容上進行特定代數運算的加密方法。 一個同態加密方法H由一個四元組組成:{KeyGen,Enc,Dec,Eval}
KeyGen:表示金鑰生成函式,一個金鑰生成元g被輸入KeyGen,並輸出一個金鑰對{pk,sk} = KeyGen(g),其中pk表示用於明文加密的公鑰(public key),sk表示用於解密的金鑰(secret key)。
Enc:表示加密函式,一個加密函式以公鑰pk和明文m作為輸入,併產生一個密文c = Encpk(m)作為輸出。
Dec:表示解密函式,m= Decsk©
Eval:表示評估函式,評估函式將密文c與公共金鑰pk作為輸入,並輸出與明文對應的密文。2.同態加密的分類
(1)部分同態加密(PHE) (2)些許同態加密(SHE) (3)全同態加密(FHE)
-
2.4.3差分隱私
1.差分隱私的定義
(ϵ,δ)-差分隱私。對於只有一個記錄不同的兩個資料集D和D’,一個隨機化機制M可保護(ϵ,δ)-差分隱私,並且對於所有的S∈Range(M)有:Pr[M(d)∈S]≤Pr[M(D’)∈S]×eϵ+δ; 式中,表示ϵ隱私預算,表示δ失敗概率。
差分隱私在向資料引入噪聲的同時,權衡了實用性和隱私性。2.差分隱私在方法分類
主要有兩種方法通過給資料加上噪聲實現差分隱私。一種是根據函式的敏感性增加噪聲,一種是根據離散值的指數分佈選擇噪聲。
實值函式的敏感性可以表示為由於新增或刪除單個樣本,函式值可能發生變化的最大程度。
指數機制:給出一個質量函式q,它對該函式對計算的輸出結果進行打分,分數越高越好。對於給定的資料庫和ϵ引數,質量函式在輸出上匯出一個概率分佈,指數機制從這個概率分佈中抽取結果樣本。這種概率分佈有利於高得分的輸出結果,同時確保了ϵ-差分隱私。
3.差分隱私在PPML中的應用
在釋出這個資料集的過程中,為了防止攻擊者對這些敏感資料的準確獲取而導致的隱私洩露問題,我們首先想到的是要給每一個資料點加噪音,使釋出值在真實值的基礎上產生隨機擾動.
很容易我們首先想到的是拉普拉斯機制,即在每個真實資料值後面加上一個服從拉普拉斯分佈的隨機噪音.又考慮到每一條記錄都可以看作一個不相交的資料集,由差分隱私的並行組合性質可知,當每一條記錄都符合ϵ-差分隱私時,整體資料集也就滿足ϵ-差分隱私了.
但是對於同一條記錄,有身高和體重兩個屬性,由差分隱私的序列組合性質可知,我們需要把ε 隱私保護預算分為兩個部分分別加到這兩個屬性上.
這是傳統的拉普拉斯機制.
相關文章
- 聯邦學習:多工思想與聚類聯邦學習聯邦學習聚類
- 聯邦學習(電子工業出版社)——讀書筆記(3)聯邦學習筆記
- Linux 學習筆記(二):搭建個人Git伺服器Linux筆記Git伺服器
- ANFIS學習筆記(二)筆記
- activiti學習筆記二筆記
- Typescript學習筆記(二)TypeScript筆記
- JavaScript學習筆記(二)JavaScript筆記
- React 學習筆記【二】React筆記
- goLang學習筆記(二)Golang筆記
- vue學習筆記二Vue筆記
- vue學習筆記(二)Vue筆記
- 科二學習筆記筆記
- jQuery 學習筆記(二)jQuery筆記
- git學習筆記(二)Git筆記
- Java學習筆記二Java筆記
- TS學習筆記(二)筆記
- 開通個人學習隨筆記錄筆記
- 聯邦學習:深度學習之後,AI 安防的第二落腳點聯邦學習深度學習AI
- 烏托邦漂流者的Java學習筆記12Java筆記
- Java學習筆記記錄(二)Java筆記
- 高等數學學習筆記(二)筆記
- 多工學習分散式化及聯邦學習分散式聯邦學習
- Vue學習筆記(二)------axios學習Vue筆記iOS
- python學習筆記(二)Python筆記
- TensorFlow學習筆記(二)筆記
- TS學習筆記(二):介面筆記
- github--學習筆記(二)Github筆記
- orientDB學習筆記(二)MATCH筆記
- Hibernate學習筆記二筆記
- 智慧窗-學習筆記(二)筆記
- linux學習筆記二Linux筆記
- MySql 學習筆記二:索引MySql筆記索引
- MPAndroidChart學習筆記(二)Android筆記
- Tensorflow學習筆記二筆記
- jQuery學習系列筆記(二)jQuery筆記
- android學習筆記二Android筆記
- Spss 學習筆記(二)SPSS筆記
- Oracle學習筆記之二Oracle筆記