鄭重聲明:原文參見標題,如有侵權,請聯系作者,將會撤銷發布!
Full version of a paper at the 8-th International Conference on Applications and Techniques in Information Security (ATIS 2017) [24].
Abstract
我們建立了一個隱私保護的深度學習系統,在這個系統中,許多學習參與者對組合后的數據集執行基於神經網絡的深度學習,而實際上沒有向中央服務器透露參與者的本地數據。為此,我們重新回顧了Shokri和Shmatikov(ACM CCS 2015)之前的工作,並指出本地數據信息實際上可能泄漏給誠實但好奇的服務器。然后,我們通過構建一個具有以下特性的增強系統來解決這個問題:(1)沒有向服務器泄漏任何信息;(2)與普通的深度學習系統相比,在合並的數據集上,精度保持不變。
我們的系統是深度學習和密碼學之間的橋梁:我們將異步隨機梯度下降結合加法同態加密應用於神經網絡。我們表明,加密的使用給普通的深度學習系統增加的開銷是可容忍的。
1 Introduction
1.1 Background
近年來,深度學習(又稱深度機器學習)在學術界和工業界都取得了令人振奮的成果,深度學習系統正在接近甚至超過人類水平的精確性。這要歸功於算法上的突破和在處理海量數據時應用於神經網絡的物理並行硬件。
大量的數據收集,雖然對深度學習至關重要,但也引發了隱私問題。單獨而言,收集的照片可以永久保存在公司的服務器上,不受照片所有者的控制。在法律上,隱私和保密方面的擔憂可能會妨礙醫院和研究中心共享其醫療數據集,使他們無法享受到大規模深度學習聯合數據集的優勢。
作為一項直接相關的工作,Shokri和Shmatikov(ACM CCS 2015)[26]提出了一個隱私保護的深度學習系統,允許多個參與者保留本地數據集,而參與者可以通過聯合數據集學習神經網絡模型。為了達到這個結果,在[26]中的系統需要如下:每個學習參與者,使用本地數據,首先計算神經網絡的梯度;然后,這些梯度的一部分(例如1%~10%)必須發送到參數雲服務器。服務器是誠實但好奇的:在提取個人數據時,它被假定是好奇的;然而,在操作中,它被假定是誠實的。
為了保護隱私,Shokri和Shmatikov的系統允許了一個准確性/隱私權衡(見表1):不共享本地梯度會導致完美的隱私,但不會帶來理想的准確性;另一方面,共享所有本地梯度會違反隱私,但會導致很好的准確性。為了妥協,在[26]中共享本地梯度的一部分是保持盡可能少的精度下降的主要解決方案。
1.2 Our contributions
我們證明,在Shokri和Shmatikov系統[26]中,即使是存儲在雲服務器上的一小部分梯度也可以被利用:即可以勉強地從這些梯度中提取本地數據。舉例來說,我們在第3節中展示了一些關於一小部分梯度如何泄漏有用的數據信息的樣例。
然后,我們提出了一個新的深度學習系統,使用額外的同態加密來保護誠實但好奇的雲服務器上的梯度。所有梯度都被加密並存儲在雲服務器上。加法同態屬性允許對梯度進行計算。我們的系統如第4節所述,如圖4所示,在安全性和准確性方面具有以下特點:
Security. 我們的系統不會向誠實但好奇的參數(雲)服務器泄露參與者的信息。
Accuracy. 我們的系統達到與所有參與者聯合數據集上訓練的相應深度學習系統(異步隨機梯度下降,見下文)相同的精度。
簡言之,我們的系統在這兩個方面都享有最好的優勢:安全性如密碼學,精確性如深度學習。見第4節中的定理1和定理2。
Our tradeoff. 針對雲服務器保護梯度會增加學習參與者與雲服務器之間的通信成本。我們在表2中表明,增長因子並不大:對於具體數據集MNIST[5]和SVHN[22],小於3。例如,在MNIST的情況下,如果每個學習參與者需要在每次上傳或下載時向服務器傳遞0.56MB的明文梯度;那么在我們的基於LWE的加密系統中,每次上傳或下載時相應的通信成本將變為
它需要大約8毫秒才能通過1 Gbps信道傳輸。技術細節見第5節和第6節。
在計算方面,我們估計使用神經網絡的系統在對MNIST數據集進行訓練和測試時,大約在2.25小時內完成,以獲得約97%的准確度,這與[2]中給出的相同類型神經網絡的結果一致。
Discussion on the tradeoffs. 由於我們的系統對好奇的服務器使用了額外的同態加密,我們表明[26]中的准確性/隱私之間的權衡可以轉移到我們的效率/隱私中。與普通的深度學習相比,[26]的准確性/隱私權衡可能會使隱私保護的深度學習不那么具有吸引力,因為准確性是該領域的主要吸引力。如果使用更多的處理單元和更專用的編程代碼,我們可以解決效率/隱私權衡,保持普通的深度學習准確性不變。
1.3 Technical overviews
簡單的比較見表1。下面我們將介紹基本的技術特性。
Asynchronous SGD (ASGD) [14, 25], no privacy protection. 我們的系統和[26]的系統都依賴這樣一個事實,即神經網絡可以通過一個稱為異步SGD[14,25]的SGD變體進行訓練,該變體具有數據並行性和模型並行性。具體來說,首先對神經網絡的全局權重向量Wglobal進行隨機初始化。然后,在每次迭代時,在本地數據集(數據並行性)上運行神經網絡的副本,並將相應的本地梯度向量Glocal發送到雲服務器。對於每個Glocal,雲服務器隨后更新全局參數,如下所示:
其中α是學習率。更新后的全局參數Wglobal將廣播到所有副本,然后由這些副本替換舊的權重參數。更新和廣播Wglobal的過程被重復,直到達到預先定義的成本函數(基於交叉熵或平方誤差)所需的最小值。對於模型並行,通過向量Wglobal和Glocal的分量並行計算(1)處的更新。
Shokri-Shmatikov systems. [26][第5節]中的系統可以通過以下原因稱為梯度選擇性ASGD。在[26][第5節]中,(1)處的更新規則修改如下:
其中,向量
包含選擇性(即1%~10%)的梯度Glocal。使用(2)進行的更新允許每個參與者選擇要在全局共享的梯度,以降低將參與者本地數據集上的敏感信息泄漏到雲服務器的風險。但是,如第3節所示,即使一小部分梯度也會向服務器泄漏信息。
在[26][第7節],Shokri-Shmatikov展示了一種使用差異隱私來對抗梯度間接泄漏的附加技術。他們的策略是將拉普拉斯噪聲添加到(2)中的。由於噪聲的存在,該方法降低了學習精度,那是深度學習的主要吸引力。
Our system. 我們設計的系統可以被稱為梯度加密ASGD,原因如下。在第4節的系統中,我們使用以下更新公式
其中E是同態加密,支持密文上的加法。解密密鑰只有參與者知道,而雲服務器不知道。因此,誠實但好奇的雲服務器對每個Glocal一無所知,無法獲取有關每個本地參與者數據集的信息。盡管如此,作為
通過E的加法同態屬性,每個參與者將通過解密得到正確更新的Wglobal。此外,當(1)處的原始更新在向量Wglobal和Glocal的部分中並行時,我們的系統會相應地對每個部分應用同態加密。
此外,為了確保同態密文的完整性,每個客戶端都將使用一個安全的通道,如TLS/SSL(彼此不同)來與服務器進行同態密文通信。
Extension of our system. 我們使用(3)中的加密更新規則的想法可以擴展到其他基於SGD的機器學習方法。例如,我們的系統可以很容易地與邏輯回歸一起使用,分布式學習參與者每個人都擁有一個本地數據集。在這種情況下,唯一的變化是每個參與者將運行基於SGD的邏輯回歸而不是深度學習的神經網絡。
1.4 More related works
Gilad Bacharch等人[16]提出了一種稱為CryptoNets的系統,它允許同態加密的數據對一個已經訓練過的神經網絡進行前饋。由於CryptoNets假定神經網絡中的權值事先經過訓練,因此該系統的目標是對單個數據項進行預測。
本文和[26]的目標與[16]的目標不同,因為我們的系統和Shokri-Shmatikov的目標是利用多個數據源訓練權重,而CryptoNets[16]則沒有。
我們認為雲服務器是本文的對手,而學習參與者被視為誠實的實體。這是因為在我們的場景中,學習參與者被視為金融機構或醫院等組織,依法承擔責任。我們的場景和對手模型與Hitaj等人[18]不同,調查不誠實的學習參與者。
Mohassel和Zhang[21]研究了在兩個假設不勾結的服務器上訓練線性回歸、邏輯回歸和神經網絡的隱私保護方法。這個模型和我們的不同。
在[7,8,10]中提出了僅使用加法同態加密的隱私保護線性/邏輯回歸系統。
1.5 Differences with the conference version
本文的初步版本見[24]。這個完整的版本概括了主系統,在誠實但好奇的服務器上處理多個處理單元,並允許學習參與者上傳/下載部分加密的梯度。此外,還給出了計算成本。
2 Preliminaries
2.1 On additively homomorphic encryption
Definition 1. (Homomorphic encryption) 公鑰加法同態加密(PHE)方案由以下(可能是概率的)多項式時間算法組成。
- ParamGen(1λ) 一> pp:λ是安全參數,公共參數pp在下面的算法中是隱式輸入的。
- KeyGen(1λ) 一> (pk, sk):pk是公鑰,sk是密鑰。
- Enc(pk, m) 一> c:概率加密算法產生c,即信息m的密文。
- Dec(sk, c) 一> m:解密算法返回c的明文信息m。
- Add(c, c'): 對於密文c和c‘,輸出是明文和cadd的密文。
- DecA(sk, cadd):解密cadd以獲得明文和。
密文對所選明文攻擊的不可區分性[17](以下簡稱CPA Security)確保了密文不會泄漏任何信息。
2.2 On deep machine learning
Some concepts and notations. 深度機器學習可以看作是一套應用於神經網絡的技術。圖1是一個神經網絡,有5個輸入、2個隱層和2個輸出。帶+1的節點表示偏置項。神經元節點通過權重變量連接。在神經網絡的深度學習結構中,可以有多個層,每層有數千個神經元。
每個神經元節點(除了偏置節點)都與激活函數f相關。深度學習中的函數樣例為f(z) = max{0, z}(線性整流),f(z) = (ez - e-z) / (ez + e-z)(雙曲正切),以及f(z) = (1 + e-z)-1(sigmoid)。第l+1層的輸出,表示為a(l+1),計算為a(l+1) = f(W(l)a(l) + b(l)),其中連接第l與l+1層的權重為(W(l), b(l)),a(l)是第l層的輸出。
在給定訓練數據集的情況下,學習任務是確定這些權重變量,以最小化預先定義的成本函數,如交叉熵或平方誤差成本函數[3]。成本函數可以在訓練數據集中的所有數據項上計算,也可以在訓練數據集中t個元素的子集(稱為小批量)上計算。將后一種情況下的成本函數表示為J|batch|=t。在t=1的極端情況下,對應於最大隨機性,J|batch|=1是定義在單個數據項上的成本函數。
Stochastic gradient descent (SGD). 設W為包含所有權重變量的扁平化向量,即取神經網絡中的所有權重,連續排列,形成向量W。
Asynchronous (aka. Downpour) SGD [14, 25]. 通過(4)和(5),只要可以計算梯度G,就可以更新權重W。因此,計算G時使用的數據可以是分布式的(即數據並行)。此外,可以通過考慮向量的單獨部分(即模型並行性)來並行更新過程。
具體來說,異步SGD使用神經網絡的多個副本。在每次執行之前,每個副本都將從參數服務器下載最新的權重;並且每個副本都在一個數據碎片上運行,該碎片是訓練數據集的一個子集。為了在服務器具有多個處理單元時使用並行計算的能力,異步SGD將其權重向量W和梯度G拆分為npu個部分,即
和
,因此在(5)上的梯度規則變為:
其中公式在處理單元PUi上計算。由於處理單元可以並行運行,異步SGD顯著提高了深度網絡訓練的規模和速度,如實驗所示[14]。
3 Gradients leak information
本節展示了小部分梯度可能會泄露本地數據的信息。
- 注意到ηk / η = xk。因此,如果ηk和η被共享到雲服務器,xk將完全泄漏。例如,如果按照[26]中的建議隨機選擇1%的本地梯度,共享給服務器,那么ηk和η共享的概率是(1/100)x(1/100)= 1/104,這是不可忽略的。
- 注意到梯度ηk與輸入xk成正比(對所有的1 ≤ i ≤ d)。因此,當x =(x1,…,xd)是一張圖像時,可以使用梯度生成相關的“成比例”圖像,然后通過猜測獲得真實值y。
4 Our system:privacy-preserving deep learning without accuracy decline
我們的系統如圖4所示,由一個公共雲服務器和N個(e.g.=10x)學習參與者組成。
Learning Participants. 參與者共同設置公鑰pk和密鑰sk,以實現加法同態加密方案。密鑰sk對雲服務器保密,但所有學習參與者都知道。每個參與者將建立一個彼此不同的TLS/SSL安全通道,以通信和保護同態密文的完整性。
然后,參與者在本地保存他們的數據集,運行一個基於深度學習的神經網絡副本。運行本地深度學習的初始(隨機)權重Wglobal由參與者1初始化,參與者最初也向服務器發送,其中
也是構成Wglobal第i部分的向量。將神經網絡每次執行后得到的梯度向量G分解為npu個部分,即
,然后與學習率α相乘,最后使用公鑰pk進行加密。來自每個學習參與者的加密結果
被發送到服務器的處理單元PUi。同樣值得注意的是,學習率α可以根據[14]中的描述在每個學習參與者進行本地的自適應變化。
如圖4所示,每個參與者1 ≤ k ≤ n將執行以下步驟:
- 下載服務器處理單元PUj中存儲的所有密文
(所有的
)。通常
,即參與者將下載全局權重的所有加密部分,但如果學習參與者的下載帶寬受限,則有可能出現
。
- 使用密鑰sk解密上述密文,以獲取
(所有的
),並將這些值替換到
的相應位置。
- 從本地數據集中獲取一小批數據。
- 使用步驟2和3中的Wglobal值和數據項,計算相對於變量Wglobal的梯度
。
- 加密並發送密文
回服務器的相應處理單元PUi。上傳的子集
取決於參與者k的選擇。對於完全上傳,所有加密的梯度
都將上傳到服務器。
Wglobal加密部分的下載和上傳可以在兩個方面異步進行:參與者彼此獨立;處理單元也相互獨立。
Cloud Server. 雲服務器是遞歸更新加密權重參數的常用地方。特別是,服務器上的每個處理單元PUi在接收到任何加密E(α·G(i))后,計算
Theorem 1 (Security against the cloud server). 圖4中的系統沒有向誠實但好奇的雲服務器泄露學習參與者的信息,前提是同態加密方案是CPA安全的。
Proof. 參與者只向雲服務器發送加密的梯度。因此,如果加密方案是CPA安全的,那么參與者的數據就不會泄露任何信息。
5 Instantiations of our system
在本節中,我們使用加法同態加密方案來實例化第4節中的系統。我們使用以下方案來顯示我們系統的兩個實例:基於LWE的加密(modern, potentially post-quantum)和Paillier加密(classical,smaller key sizes,not post-quantum)。
5.1 Using an LWE-based encryption
注:
1、 是長度為q,以0為中心的整數集;
2、通常p << q;
3、;
4、意味着“隨機均勻采樣”;
5、ngd:用prec位表示的梯度數量;ngradupd:雲服務器每個處理單元更新的梯度數目;npu:雲服務器處理單元的數目。
Environments. 我們的同態加密代碼是在C++中,基准是在一台Xeon CPU E5-2660 v3@ 2.60GHz服務器之上。為了估計每個學習參與者和服務器之間的通信速度,我們假設一個1 Gbps的網絡。為了測量多層感知機(MLP)的運行時間,我們在Cuda-8.0和GPU Telsa K40m上使用了TensorFlow 1.1.0庫[4]。
Time of encryption, decryption and addition. 表3給出了加密、解密和加法的時間,取決於梯度ngd的數量,使用nlwe=3000,s=8,p=248+1和q=277。圖5分別描述了使用1個線程和20個計算線程進行加密和解密的時間。
Multilayer Perceptron (MLP). 考慮采用784(輸入)— 128(隱層)— 64(隱層)— 10(輸出)形式的MLP。這個網絡的梯度數是(784+1)*128+(128+1)*64+(64+1)*10 = 109386。對於32位精度,這些梯度在明文中大約為109386*32/(8*106) ≈ 0.437 MB。根據第6.1節計算,這些梯度的密文為0.437*2.47 ≈ 1.0 MB,可通過1 Gbps通信信道在0.008秒(= 8 ms)內發送。此MLP在一批數據大小為50(MNIST圖片)上的原始運行時間為 ≈ 4.6(ms)。因此,
如定理2所示,我們的系統精度可以與異步SGD的精度相同。因此,本文提出了一種基於MNIST的異步SGD的精度估計方法,該方法包括隨機抽取的6*104張訓練圖像和104張測試圖像。如上所述,批大小為50。初始權重從均值為0,標准差為0.1的正態分布中隨機選取(通過Tensorflow中的random_normal函數)。激活函數是Tensorflow中的relu函數。Adam優化器(AdamOptimizer)用於輸入學習率為10-4的訓練,且沒有隨機失活。經過2分鍾的2*104次迭代后,我們的Tensorflow代碼在測試集中的精確度達到了97%左右。
7 Conclusion
我們表明,即使在參數雲服務器上部分共享梯度(如[26]所示),也可能泄漏數據信息。然后,我們提出了一個新的系統,該系統利用加法同態加密來保護梯度免受好奇服務器的攻擊。除了隱私保護,我們的系統還具有不降低深度學習准確性的特點。
References
1. Machine Learning Coursera's course. https://www.coursera.org/learn/machine-learning.
2. MNIST results. http://yann.lecun.com/exdb/mnist/.
3. Stanford Deep Learning Tutorial. http://deeplearning.stanford.edu.
4. Tensorflow. https://www.tensorflow.org.
5. The MNIST dataset. http://yann.lecun.com/exdb/mnist/.
6. Y. Aono, X. Boyen, L. T. Phong, and L. Wang. Key-private proxy re-encryption under LWE. In G. Paul and S. Vaudenay, editors, Progress in Cryptology - INDOCRYPT 2013. Proceedings, volume 8250 of Lecture Notes in Computer Science, pages 1-18. Springer, 2013.
7. Y. Aono, T. Hayashi, L. T. Phong, and L. Wang. Privacy-preserving logistic regression with distributed data sources via homomorphic encryption. IEICE Transactions, 99-D(8):2079-2089, 2016.
8. Y. Aono, T. Hayashi, L. T. Phong, and L. Wang. Scalable and secure logistic regression via homomorphic encryption. In Proceedings of the Sixth ACM on Conference on Data and Application Security and Privacy,CODASPY, pages 142-144, 2016.
9. Y. Aono, T. Hayashi, L. T. Phong, and L. Wang. Efficient key-rotatable and security-updatable homomorphic encryption. In Proceedings of the Fifth ACM International Workshop on Security in Cloud Computing, SCC@AsiaCCS 2017, pages 35-42, 2017.
10. Y. Aono, T. Hayashi, L. T. Phong, and L. Wang. Input and output privacy-preserving linear regression. IEICE Transactions, 100-D(10), 2017.
11. W. Banaszczyk. New bounds in some transference theorems in the geometry of numbers. Mathematische Annalen, 296(1):625-635, 1993.
12. W. Banaszczyk. Inequalities for convex bodies and polar reciprocal lattices in Rn. Discrete & Computational Geometry, 13(1):217-231, 1995.
13. I. Chillotti, N. Gama, M. Georgieva, and M. Izabachene. Faster fully homomorphic encryption: Bootstrapping in less than 0.1 seconds. In Advances in Cryptology - ASIACRYPT 2016 - 22nd International Conference on the Theory and Application of Cryptology and Information Security, Proceedings, Part I, pages 3-33, 2016.
14. J. Dean, G. Corrado, R. Monga, K. Chen, M. Devin, Q. V. Le, M. Z. Mao, M. Ranzato, A. W. Senior, P. A. Tucker, K. Yang, and A. Y. Ng. Large scale distributed deep networks. In P. L. Bartlett, F. C. N. Pereira, C. J. C. Burges, L. Bottou, and K. Q. Weinberger, editors, 26th Annual Conference on Neural Information Processing Systems 2012., pages 1232-1240, 2012.
15. J. Duchi, E. Hazan, and Y. Singer. Adaptive subgradient methods for online learning and stochastic optimization. J. Mach. Learn. Res., 12:2121-2159, July 2011.
16. R. Gilad-Bachrach, N. Dowlin, K. Laine, K. E. Lauter, M. Naehrig, and J. Wernsing. Cryptonets: Applying neural networks to encrypted data with high throughput and accuracy. In M. Balcan and K. Q. Weinberger, editors, Proceedings of the 33nd International Conference on Machine Learning, ICML 2016, New York City, NY, USA, June 19-24, 2016, volume 48 of JMLR Workshop and Conference Proceedings, pages 201-210. JMLR.org, 2016.
17. O. Goldreich. The Foundations of Cryptography - Volume 2, Basic Applications. Cambridge University Press, 2004.
18. B. Hitaj, G. Ateniese, and F. Pérez-Cruz. Deep models under the GAN: information leakage from collaborative deep learning. CoRR, abs/1702.07464, 2017.
19. R. Lindner and C. Peikert. Better key sizes (and attacks) for LWE-based encryption. In A. Kiayias, editor, Topics in Cryptology - CT-RSA 2011, volume 6558 of Lecture Notes in Computer Science, pages 319-339. Springer, 2011.
20. M. Liu and P. Q. Nguyen. Solving BDD by enumeration: An update. In E. Dawson, editor, Topics in Cryptology - CT-RSA 2013. Proceedings, volume 7779 of Lecture Notes in Computer Science, pages 293{309. Springer, 2013.
21. P. Mohassel and Y. Zhang. Secureml: A system for scalable privacy-preserving machine learning. In 2017 IEEE Symposium on Security and Privacy, pages 19-38, 2017.
22. Y. Netzer, T. Wang, A. Coates, A. Bissacco, B. Wu, and A. Y. Ng. Reading digits in natural images with unsupervised feature learning. In NIPS Workshop on Deep Learning and Unsupervised Feature Learning 2011, 2011.
23. P. Paillier. Public-key cryptosystems based on composite degree residuosity classes. In J. Stern, editor, Advances in Cryptology - EUROCRYPT '99, Proceeding, volume 1592 of Lecture Notes in Computer Science, pages 223-238. Springer, 1999.
24. L. T. Phong, Y. Aono, T. Hayashi, L. Wang, and S. Moriai. Privacy-preserving deep learning: Revisited and enhanced. In Applications and Techniques in Information Security - 8th International Conference, ATIS 2017, Proceedings, pages 100{110, 2017.
25. B. Recht, C. Ré, S. J. Wright, and F. Niu. Hogwild: A lock-free approach to parallelizing stochastic gradient descent. In J. Shawe-Taylor, R. S. Zemel, P. L. Bartlett, F. C. N. Pereira, and K. Q. Weinberger, editors, NIPS 2011, pages 693-701, 2011.
26. R. Shokri and V. Shmatikov. Privacy-preserving deep learning. In I. Ray, N. Li, and C. Kruegel, editors, Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, 2015, pages 1310-1321. ACM, 2015.
A CPA security of the LWE-based homomorphic encryption scheme
B Proof of Lemma 1