?

云計算環境下基于全同態加密的神經網絡分類預測研究

2024-04-15 16:06楊雄徐慧華
關鍵詞:隱私保護神經網絡

楊雄 徐慧華

文章編號? 1000-5269(2024)01-0089-05

DOI:10.15958/j.cnki.gdxbzrb.2024.01.14

收稿日期:2022-11-06

基金項目:福建省社科規劃青年資助項目(FJ2021C026)

作者簡介:楊? 雄(1986—),男,副教授,碩士,研究方向:信息安全,E-mail:83789047@qq.com.

*通訊作者:徐慧華,E-mail:61853918@qq.com.

摘? 要:在云計算環境下,數據挖掘應用中的數據共享和服務外包在產生巨大財富的同時,也帶來了隱私泄漏的風險,其信息安全問題亟待解決。對云計算環境下神經網絡預測分類服務外包中存在的風險以及全同態加密算法的應用進行了分析,使用平方函數作為神經網絡中的非線性激活函數,設計并實現了一種密文域的數據分類預測方案,并對該方案運行過程中的5個主要步驟:模型訓練、模型加密、數據加密、密文計算和解密結果進行詳細描述。設計的測試實驗結果驗證了該方案的可行性,保證了模型和數據在整個神經網絡處理過程中不被泄漏,可有效保障數據和模型的安全與隱私。

關鍵詞:神經網絡;全同態加密;隱私保護

中圖分類號:TP309

文獻標志碼:A

云計算的快速發展和數據挖掘任務的廣泛應用,可以將神經網絡模型部署在云服務器中來解決本地計算能力不足和資源消耗過多的問題,在降低IT服務成本,提升IT資源利用率的同時,實現服務外包,但是云計算平臺在提供便利的同時也帶來了隱私泄漏的風險。神經網絡模型所處理的數據往往是敏感的、涉及用戶私密的信息,一旦用戶數據或算法模型被竊取,將造成嚴重后果。因此,數據和模型的機密性必須得到保證。隨著信息安全和隱私保護要求的不斷提升,針對云計算環境下的數據分類預測外包服務設計一種安全的隱私保護方案顯得尤其重要。

當前應用于數據挖掘任務中的隱私保護主要有安全多方計算[1]、可檢索加密[2]、差分隱私[3]和全同態加密技術[4]。與差分隱私和安全多方計算相比,全同態加密技術允許對密文直接進行計算,更具有普適性,其不僅是一種較好的隱私保護計算的解決方案,而且在保證數據安全性的同時,能夠兼顧預測結果的準確性。但全同態加密算法僅支持對密文進行無限次數的加法、乘法運算,而不支持神經網絡模型中激活函數所涉及的非線性操作。

為此,一些學者相繼提出了解決方案。例如:XIE等[5]設計了一種基于同態加密技術的隱私保護神經網絡模型Cryptonets,其可以直接在密文上進行預測并返回加密預測結果,但存在運算效率較低的問題。MOHASSEL等[6]提出了一種基于秘密共享的機器學習訓練模型,但是服務器能夠獲得神經網絡部分權重信息,存在模型參數泄漏的風險。YANG等[7]提出了一種基于梯度共享的線性模型,其可有效降低集中式機器學習產生的隱私數據泄露風險,但在多次迭代后可能會泄露計算參與方的信息。ZHANG等[8]提出了一種基于BGV全同態加密的深度計算模型,雖然其能有效提高大數據特征學習的效率,但存在通信復雜度較高的缺點。CHABANNE等[9]提出了一種基于ReLU激活函數的多項式逼近與批處理規范化相結合的深度神經網絡分類方案,其可有效減少實際訓練模型和轉換模型之間的精度差距,但存在模型參數泄漏的風險。CHILLOTTI等[10]使用離散化的神經網絡設計了一種FHE-DiNN框架,該框架雖然可有效提高計算速度,但預測精度較低。

本文設計了一種基于全同態加密的神經網絡預測方案,使用低次多項式的平方函數作為神經網絡的激活函數,并利用批處理方法解決了平方函數運算效率低的問題,實現了云計算環境下基于全同態加密的神經網絡能夠在保護數據和模型隱私的前提下對使用者提供的數據進行分類預測。

1? 全同態加密技術

同態加密技術根據對密文數據操作支持的種類和次數,可分為半同態加密、部分同態加密和全同態加密。其中,半同態加密(partially homomorphic encryption,PHE)[11]僅支持加法或乘法(其中一種)無限次的同態運算;部分同態加密(somewhat homomorphic encryption,SWHE)[12]雖然可以同時支持加法和乘法同態運算,但是同態運算的次數有限;全同態加密(fully homomorphic encryption,FHE)[13]則支持無限次數的加法和乘法同態運算。前2種同態方案在實際應用中受到一定的限制,而全同態加密支持的密文運算門類較為齊全,諸如數據挖掘、密文檢索、外包計算等密集型運算,都可以基于全同態加密算法對密文數據進行計算,因此全同態加密有著廣泛的應用前景。

一個完整的全同態加密方案由密鑰生成算法KeyGen、加密算法Encrypt、解密算法Decrypt和密文運算算法Eval這4個算法組成。密鑰生成算法KeyGen的輸入參數為安全參數λ,輸出為一對公私鑰(pk, sk),pk為公鑰,sk為私鑰。安全參數和密鑰的長度相關聯,足夠大的安全參數λ能夠保證算法的安全性。加密算法Encrypt的輸入參數是明文消息m和加密公鑰pk,輸出為密文c。解密算法Decrypt的輸入參數為密文c和私鑰sk,輸出則是密文c解密后得到的明文m。密文運算算法Eval的輸入參數包括3個部分:公鑰pk、電路和密文列表,其中,電路是任意計算算法的形式化描述,密文列表中的所有密文均使用公鑰pk加密。密文運算算法是實現全同態性質的關鍵。Eval的結果必須能夠正確解密才能使得加密的同態性成立,即

Decrypt(Eval(pk,C,c1,c2,…,cn),sk)

=C(m1,m2,…,mn)(1)

式中:ci為通過公鑰pk加密明文消息mi所得到的密文;C為給定的處理方法。

2? 神經網絡

本文方案中使用的神經網絡為前向人工神經網絡。一個M層的多層前向網絡包含一個輸入層、M-1個隱藏層和一個輸出層,其中輸入層的節點數與實例的特征值數量一致,每個隱藏層都包含多個神經元節點,每個神經元的值都由與之相連的上一層各個神經元的輸出值通過函數計算得到。神經元的計算過程如圖1所示。

每個神經元上的計算主要包括2個步驟:

求和操作輸出:xi=∑nj=1wijuj+βi 。

激活函數輸出:yi=f(xi)。

其中,激活函數常采用Sigmoid函數:

f(x)=11+e-x

式中:xi為神經元的凈輸入值;wij為神經元的權值;uj為上一層網絡中與該神經元相連接的各神經元輸出值;βi為神經元的偏置值;yi為神經元的輸出值;f(xi)為神經元的激活函數。

由于全同態加密所支持的運算僅為加法、乘法,上述第一個操作僅包含加法和向量乘法,因此可基于全同態加密快速實現;而激活函數是非線性操作,它是實現全同態神經網絡的難點。

綜合考慮神經網絡算法對非線性轉換的需求和同態加密的計算效率需求,本文選擇使用多項式來近似計算Sigmoid函數。平方函數不僅多項式次數低,而且具有非線性特性,是替換Sigmoid的理想選擇[14]。

3? 基于全同態加密的神經網絡

3.1? 方案設計

為了解決激活函數的非線性問題,部分全同態神經網絡在訓練階段和預測階段使用了不同的激活函數,但它們會損失預測精度。本文方案在訓練和預測階段使用了相同的神經網絡結構。主流的全同態加密庫HElib[15]支持2種加密方案:整數BFV[16]方案和浮點數CKKS[17]方案。由于神經網絡模型參數通常為浮點數,而且神經網絡運算也使用浮點數,因此采用CKKS方案。

本文方案基于全同態算法實現一個輕量級的加密神經網絡,并對方案的可用性和對數據的保護效果進行了驗證,其分類預測過程如圖2所示。

全同態加密數據分類預測由模型訓練、模型加密、數據加密、密文計算和解密結果5個步驟組成,其流程如圖3所示。其中,模型訓練是用神經網絡模型進行訓練,得到較優的網絡模型參數,主要是權重和偏置值;模型加密是基于模型參數構建全同態加密神經網絡;數據加密是對數據使用全同態加密;密文計算是利用加密神經網絡對加密文的數據進行計算,實現分類預測;解密結果是對計算得到的結果進行解密得到分類預測值。

訓練好的神經網絡模型由同態加密技術加密后部署在云計算平臺,同時將數據密文上傳至云計算平臺,然后在云計算平臺中通過對加密數據執行同態計算得到預測結果密文并返回給用戶,最終由用戶解密得到明文的預測結果。因為云計算平臺全程只處理密文,并不會接觸到相關明文信息,所以該方案可以保證數據和模型的機密性。

3.2? 實例流程

3.2.1? 模型訓練

在Credit Card Fraud數據集上,以平方函數作為激活函數,設計了含有3個全連接層的隱藏層,各個全連接層的神經元個數分別為:256、128和64,關鍵代碼為:

model=Sequential()

model.add(Dense(256,activation=sqrt,input_dim=29))

model.add(Dense(128,activation=sqrt))

model.add(Dense(64,activation=sqrt))

model.add(Dense(1,activation=sqrt))

批量大小為128,迭代次數為10,關鍵代碼為:

model.fit(x_train,y_train,batch_size=128, epochs=10)

print(predictmodeln(model))

訓練結果如圖4所示:

將訓練好的模型參數保存為h5文件。模型參數主要包含了每個神經元與上一層連接的權重和偏置值。

3.2.2? 模型加密

使用HElib庫對模型和數據進行加密。首先是對CKKS加密方案的參數進行選擇,其中最重要的參數是影響同態加密方案安全性的多項式模次數m。m的取值為2的次冪。m越大方案的安全性就越高,密文也相應加大,會導致計算效率下降。在仿真實驗中,m取值512,加密context生成的關鍵代碼為:

hePtr=HelibContext::create(HELIB_NOT_SECURE_CKKS_512_FAST);

hePtr->saveToFile(secretContext,true);

hePtr->saveToFile(publicContext,false);

代碼執行完生成一對公私鑰后,使用公鑰對訓練好的神經網絡模型進行加密。模型加密的具體過程是使用公鑰對神經網絡模型參數各個神經元的權值和偏置值進行加密,將各個神經元的n維的權值向量進行整體加密,然后將它們以矩陣格式封裝在文件中保存至云服務器。模型加密的關鍵代碼為:

he=HeContext::loadHeContextFromFile(publicContext);

plainNet.loadh5(parser, std::vector{"dense_1", "dense_2", "dense_3","dense_4"}, std::vector{29, 256, 128, 64, 1}, batchSize);

SimpleNeuralNet netHe(*he);

netHe.initFromNet(plainNet);

netHe.saveToFile(encryptedModelFile);

云服務端的初始化操作主要是加載加密后的神經網絡模型,關鍵代碼為:

ifstream ifs(encryptedModelFile, ios::in | ios::binary);

SimpleNeuralNet net;

net.load(ifs);

encryptedNet=make_shared(net);

3.2.3? 數據加密

使用加密的神經網絡模型對預測數據進行預測時,先要使用公鑰對預測數據進行加密得到數據密文,關鍵代碼為:

const DoubleMatrixArray& plainSamples=ts->getSamples(batch);

CipherMatrix encryptedSamples(*he);

encoder.encodeEncrypt(encryptedSamples, plain-Samples.getTensor());

3.2.4? 密文計算

加密神經網絡模型中的密文計算類似于普通神經網絡模型的明文預測,但是在密文下進行計算。將加密后的待預測數據密文發送至云服務器,在云服務器中將加密數據輸入加密神經網絡,在密文下執行神經網絡的分類任務,得到加密后的預測結果。關鍵代碼為:

CipherMatrix encryptedPredictions();

encryptedNet->predict(encryptedSamples, encryptedPredictions);

其中predict預測函數的具體實現為:

utput=sal.forward(fcl4.forward(sal.forward(fcl3.forward(sal.forward(fcl2.forward(sal.forward(fcl1.forward(input))))))));

fcl1、flc2、fcl3和fcl4為隱藏層的各層全連接層。其中的forward函數即為前向的計算過程,即在密文中通過矩陣計算得到加密后的各個神經元節點的輸出值。隱藏層中的第一層結點的輸入input即為加密后的待預測數據,隱藏層forward的關鍵代碼為:

DoubleMatrixArray res=weights.getMatrixMultiply(lastInput);

res.add(bias);

sal為激活函數類的實現,將神經元的求和操作值作為激活函數的輸入,得到的結果即為該神經元的輸出,激活函數類中forward的關鍵代碼為:

CipherMatrix res=inVec.getSquare();

3.2.5? 解密結果

客戶端在收到云服務器加密神經網絡模型計算得到的結果密文后,使用秘鑰進行解密得到明文的預測結果,關鍵代碼如下:

he=HeContext::loadHeContextFromFile(secretContext);

CipherMatrix encryptedPredictions(*he);

DoubleMatrixArray plainPredictions(encoder.decryptDecodeDouble(encryptedPredictions));

實現的方案中包含2個角色:客戶端和服務端??蛻舳素撠熓褂萌瑧B加密算法對明文模型和明文數據進行加密,只有客戶端能夠接觸到未加密的數據。服務端加載加密后的模型密文后,對加密數據進行分類預測,整個計算過程在密域中進行。最后,客戶端能夠使用密鑰解密從服務器獲得預測結果。因此,在整個過程中,只有受信任的客戶端才具有明文訪問權限,神經網絡模型和數據都受到了完全保護。

4? 實驗結果與分析

4.1? 實驗環境與數據集

為了評估方案的準確性和效率,在測試實驗中,主要對Credit Card Fraud數據集中93 986條數據進行實驗測試,CPU配置為Intel(R) Core(TM) i5-10400F CPU@2.90GHz,內存為8 GiB。

4.2? 結果分析

4.2.1? 性能分析

表1給出了加密模型分類預測各個階段的運算時間。由于加密模型分類預測運算中包含多次的密文乘法運算,因此需要耗費較長時間。

4.2.2? 準確率分析

隨機選擇Credit Card Fraud數據集中80%的數據作為訓練集,剩余20%的數據作為測試集。將加密模型對測試集的分類預測結果進行解密后,與對應的明文標簽進行比較,發現密文預測精度為91.18%,能夠達到未加密數據的水準,因此該方案能夠保持原生算法的預測準確率。

4.2.3? 安全性分析

在整個方案中,模型和數據分別采用了FHE進行加密,云服務器中的神經網絡模型和計算過程數據都以密文形式存儲,使得云計算服務提供商無法獲得任何數據的原始信息,因此該方案能夠確保模型和數據在整個外包計算過程中的安全性。

5? 結語

針對云環境下數據挖掘應用服務外包存在的隱私數據泄露問題,本文提出了一種基于全同態加密的神經網絡預測方案,保護了外包計算過程中的數據隱私。該方案包括模型訓練、模型加密、數據加密、密文計算和解密結果5個部分,通過使用平方函數代替非線性激活函數,解決了同態運算中的復雜運算;在一個輕量級的人工神經網絡上實現了對Credit Card Fraud數據集的分類預測,得到了與明文模型一致的準確率,保持了原生算法的準確性。未來將在提升模型復雜率和算法效率上進行深入研究。

參考文獻:

[1]閻允雪, 馬銘, 蔣瀚. 基于秘密分享的高效隱私保護四方機器學習方案[J]. 計算機研究與發展, 2022, 59(10): 2338-2347.

[2] 季琰, 戴華, 姜瑩瑩, 等. 面向混合云的可并行多關鍵詞Top-k密文檢索技術[J]. 計算機科學, 2021, 48(5): 320-327.

[3] 白伍彤, 陳蘭香. 基于差分隱私的健康醫療數據保護方案[J]. 計算機應用與軟件, 2022, 39(8): 304-311.

[4] 徐慧華, 楊雄, 張曉惠. 云計算環境下基于全同態加密的人臉信息保護[J]. 貴州大學學報(自然科學版), 2021, 38(3): 83-91.

[5] XIE P T, BILENKO M, FINLEY T, et al. Crypto-nets: Neural networks over encrypted data[DB/OL]. (2014-12-18)[2022-11-06]. https://arxiv.org/abs/1412.6181.

[6] MOHASSEL P, ZHANG Y P. SecureML: a system for scalable privacy-preserving machine learning[C]// 2017 IEEE Symposium on Security and Privacy. Paris: IEEE, 2017: 19-38.

[7] YANG Q, LIU Y, CHEN T, et al. Federated machine learning: concept and applications[J]. ACM Transactions on Intelligent Systems and Technology (TIST), 2019, 10(2): 1-19.

[8] ZHANG Q C, YANG L T, CHEN Z K. Privacy preserving deep computation model on cloud for big data feature learning[J]. IEEE Transactions on Computers, 2016, 65(5): 1351-1362.

[9] CHABANNE H, WARGNY AD, MILGRAM J, et al. Privacy-preserving classification on deep neural network[DB/OL]. (2017-01-13) [2022-11-06]. https://eprint.iacr.org/2017/035.

[10]CHILLOTTI I, GAMMA N, GEORGIEVA M, et al. Faster fully homomorphic encryption: bootstrapping in less than 0.1 seconds[C]// International conference on the theory and application of cryptology and information security. Heidelberg: Springer, 2016: 3-33.

[11]ZHAO Q S, ZENG Q K, LIU X M, et al. Verifiable computation using re-randomizable garbled circuits[J]. Journal of Software, 2019, 30(2): 209-225.

[12]蔣林智, 許春香, 王曉芳, 等. (全)同態加密在基于密文計算模型中的應用[J]. 密碼學報, 2017, 4(6): 596-610.

[13]YU L Z, LIN G X, JIE G Y, et al. Survey on homomorphic encryption algorithm and its application in the privacy-preserving for cloud computing[J]. Journal of Software, 2018, 29(7): 1830-1851.

[14]LIVNI R, SHALEV-SHWARTZ S, SHAMIR O. On the computational efficiency of training neural networks[J]. Advances in Neural Information Processing Systems, 2014, 14(10): 855-863.

[15]宋新霞, 陳智罡, 李焱華. HEBenchmark: 全同態加密測試系統設計與實現[J]. 密碼學報, 2020, 7(6): 853-863.

[16]MERT A C, ZTRK E, SAVAS E. Design and implementation of encryption/decryption architectures for BFV homomorphic encryption scheme[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2020, 28(2): 353-362.

[17]CHEON J H, KIM A, KIM M, et al. Homomorphic encryption for arithmetic of approximate numbers[C]// International Conference on the Theory and Application of Cryptology and Information Security. Cham: Springer, 2017: 409-437.

(責任編輯:周曉南)

Research on Neural Network Classification Prediction Based on Fully

Homomorphic Encryption in Cloud Computing Environment

YANG Xiong1, XU Huihua*2

(1.Department of Computer Engineering, Zhicheng College of Fuzhou University, Fuzhou 350002, China;

2.Department of Economics and Law, Concord University College Fujian Normal University, Fuzhou 350117, China)

Abstract:

In the context of cloud computing, the data sharing and service outsourcing of data mining applications have generated enormous wealth, but they have also brought risks of privacy leaks, and their information security problems need to be urgently addressed. This article analyzes the risks existing in neural network prediction classification service outsourcing and the application of fully homomorphic encryption algorithms in the cloud computing environment. It uses the square function as the nonlinear activation function in the neural network, designs and implements a ciphertext-based data classification prediction solution, and provides a detailed description of the five main steps of the solution operation: model training, model encryption, data encryption, ciphertext computation, and decryption of results. The designed test experiment results verify the feasibility of the solution, ensuring that the model and data are not leaked during the entire neural network processing process, effectively guaranteeing the security and privacy of the data and model.

Key words:

neural network; fully homomorphic encryption; privacy protection

猜你喜歡
隱私保護神經網絡
神經網絡抑制無線通信干擾探究
基于層次和節點功率控制的源位置隱私保護策略研究
關聯規則隱藏算法綜述
大數據環境下用戶信息隱私泄露成因分析和保護對策
大數據安全與隱私保護的必要性及措施
社交網絡中的隱私關注及隱私保護研究綜述
大數據時代的隱私保護關鍵技術研究
基于神經網絡的拉矯機控制模型建立
復數神經網絡在基于WiFi的室內LBS應用
基于支持向量機回歸和RBF神經網絡的PID整定
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合