天天看點

《聯邦學習》——個人筆記(二)

第二章 隐私、安全及機器學習

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中的應用

    在釋出這個資料集的過程中,為了防止攻擊者對這些敏感資料的準确擷取而導緻的隐私洩露問題,我們首先想到的是要給每一個資料點加噪音,使釋出值在真實值的基礎上産生随機擾動.

    很容易我們首先想到的是拉普拉斯機制,即在每個真實資料值後面加上一個服從拉普拉斯分布的随機噪音.又考慮到每一條記錄都可以看作一個不相交的資料集,由差分隐私的并行組合性質可知,當每一條記錄都符合ϵ-差分隐私時,整體資料集也就滿足ϵ-差分隐私了.

    但是對于同一條記錄,有身高和體重兩個屬性,由差分隐私的序列組合性質可知,我們需要把ε 隐私保護預算分為兩個部分分别加到這兩個屬性上.

    這是傳統的拉普拉斯機制.

繼續閱讀