《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 面向隱私保護(hù)機(jī)器學(xué)習(xí)的同態(tài)加密轉(zhuǎn)換器設(shè)計(jì)與實(shí)現(xiàn)
面向隱私保護(hù)機(jī)器學(xué)習(xí)的同態(tài)加密轉(zhuǎn)換器設(shè)計(jì)與實(shí)現(xiàn)
網(wǎng)絡(luò)安全與數(shù)據(jù)治理 7期
鐘志威
(中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽合肥230027)
摘要: 傳統(tǒng)機(jī)器學(xué)習(xí)技術(shù)可以充分挖掘數(shù)據(jù)價(jià)值但是無法保護(hù)數(shù)據(jù)隱私?;谕瑧B(tài)加密的隱私保護(hù)機(jī)器學(xué)習(xí)是對(duì)于該問題的有效解決方案。當(dāng)前將同態(tài)加密應(yīng)用于隱私保護(hù)機(jī)器學(xué)習(xí)任務(wù)中的主要挑戰(zhàn)在于缺少高層次的編程工具,尤其是缺少對(duì)于矩陣運(yùn)算的抽象。采用CKKS同態(tài)加密方案,針對(duì)隱私保護(hù)場(chǎng)景設(shè)計(jì)了一種易于使用的同態(tài)加密轉(zhuǎn)換器,其可將機(jī)器學(xué)習(xí)算法的明文程序轉(zhuǎn)換為同態(tài)加密程序,同時(shí)保證矩陣的編碼、加密和計(jì)算過程對(duì)用戶透明。在五種醫(yī)療數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,該轉(zhuǎn)換器可在保證密態(tài)矩陣運(yùn)算的安全性、正確性和高效性的同時(shí),兼顧易用性。
中圖分類號(hào):TP309
文獻(xiàn)標(biāo)識(shí)碼:A
DOI:10.19358/j.issn.2097-1788.2023.07.005
引用格式:鐘志威.面向隱私保護(hù)機(jī)器學(xué)習(xí)的同態(tài)加密轉(zhuǎn)換器設(shè)計(jì)與實(shí)現(xiàn)[J].網(wǎng)絡(luò)安全與數(shù)據(jù)治理,2023,42(7):31-36.
Design and implementation of hmomorphic ecryption transformer for privacy-preserving machine learning
Zhong Zhiwei
(School of Computer Science and Technology, University of Science and Technology of China, Hefei 230027, China)
Abstract: Traditional machine learning techniques can exploit the full value of data but cannot protect data privacy. Privacypreserving machine learning based on homomorphic encryption is an effective solution to this problem. The main challenge in applying homomorphic encryption to privacy-preserving machine learning tasks is the lack of high-level programming tools, in particular, the lack of abstraction for matrix operations. Using the CKKS homomorphic encryption scheme, an easy-to-use homomorphic encryption transformer is designed for privacy-preserving scenarios, which converts the plaintext program of a machine learning algorithm into a homomorphic encryption program while ensuring that the encoding, encryption and computation of the matrix are transparent to the user. Experimental results on five medical datasets show that the transformer is easy to use while ensuring the security, correctness and efficiency of the cryptomorphic matrix operations.
Key words : privacy preservation; machine learning;homomorphic encryption;matrix arithmetic

0    引言

數(shù)據(jù)被認(rèn)為是大數(shù)據(jù)時(shí)代最寶貴的資源,而機(jī)器學(xué)習(xí)成為挖掘數(shù)據(jù)價(jià)值的有力工具。近些年來隨著云計(jì)算的廣泛普及,人們?cè)絹碓蕉嗟貙?shù)據(jù)保存在云端,并將計(jì)算也外包至云端。然而,異地存儲(chǔ)和計(jì)算帶來了潛在的數(shù)據(jù)泄露風(fēng)險(xiǎn)。隨著各國(guó)數(shù)據(jù)安全法的頒布和實(shí)施,人們對(duì)于數(shù)據(jù)安全的重視程度不斷提高,一些持有敏感數(shù)據(jù)的機(jī)構(gòu)對(duì)于數(shù)據(jù)托管和外包計(jì)算產(chǎn)生了較大的疑慮。業(yè)界的這種擔(dān)憂極大地阻礙了數(shù)據(jù)的共享和流通,數(shù)據(jù)價(jià)值難以得到充分利用。隱私計(jì)算是解決這一問題的有效途徑,可在保護(hù)數(shù)據(jù)本身不泄露的前提下對(duì)數(shù)據(jù)進(jìn)行分析計(jì)算,達(dá)到數(shù)據(jù)可用不可見的目的,實(shí)現(xiàn)數(shù)據(jù)價(jià)值的轉(zhuǎn)化和釋放。

在現(xiàn)有隱私計(jì)算技術(shù)中,同態(tài)加密(Homomorphic Encryption,HE)是一類具有特殊數(shù)學(xué)性質(zhì)的加密方法。利用同態(tài)加密技術(shù),無密鑰的計(jì)算方可以對(duì)密文進(jìn)行計(jì)算,在整個(gè)計(jì)算過程中無須與密鑰方交互,具有極高的安全性。自2009年Gentry提出第一個(gè)可行的全同態(tài)加密方案以來,經(jīng)過多年演進(jìn),同態(tài)加密逐漸從理論走向現(xiàn)實(shí)?,F(xiàn)在,得益于底層理論的進(jìn)步、更高效的軟件實(shí)現(xiàn)以及專用硬件(如GPU)的支持,同態(tài)加密已經(jīng)越來越實(shí)用。特別是現(xiàn)代同態(tài)加密方案引入了批量編碼特性,能夠?qū)⒍鄠€(gè)明文值編碼到單個(gè)密文中,進(jìn)一步提高了數(shù)據(jù)吞吐量和計(jì)算并行性。

由于同態(tài)加密可對(duì)加密數(shù)據(jù)進(jìn)行計(jì)算,基于同態(tài)加密的隱私計(jì)算解決方案引起了越來越多的關(guān)注。Cheon等人提出了一種支持實(shí)數(shù)運(yùn)算和批量編碼的加密方案CKKS,其特別適合于機(jī)器學(xué)習(xí)應(yīng)用,目前已被應(yīng)用于邏輯回歸以及支持向量機(jī)等任務(wù)中。盡管將同態(tài)加密應(yīng)用于機(jī)器學(xué)習(xí)前景光明,但是目前缺乏一種通用方式讓開發(fā)者在不了解底層加密方案細(xì)節(jié)的情況下,為特定隱私保護(hù)機(jī)器學(xué)習(xí)算法編寫高效的同態(tài)加密應(yīng)用程序。具體來說,將同態(tài)加密應(yīng)用于隱私保護(hù)機(jī)器學(xué)習(xí)時(shí)面臨以下兩個(gè)挑戰(zhàn)。

第一,選擇最優(yōu)的加密參數(shù)是一個(gè)難題。使用同態(tài)加密時(shí)需要設(shè)置合適的加密參數(shù)(Encryption Parameters),才能保證密文的安全性和解密的正確性。一方面,較大的加密參數(shù)會(huì)產(chǎn)生非常大的密文,增加計(jì)算和存儲(chǔ)密文的成本;另一方面,較小的加密參數(shù)可能導(dǎo)致達(dá)不到期望的安全級(jí)別,甚至無法解密。最優(yōu)的加密參數(shù)應(yīng)在保證密態(tài)計(jì)算的安全性和正確性的同時(shí),最小化加密程序的內(nèi)存占用和執(zhí)行時(shí)間。

第二,選擇合適的數(shù)據(jù)編碼方案是一個(gè)難題。機(jī)器學(xué)習(xí)算法主要涉及矩陣和向量運(yùn)算,為充分利用同態(tài)加密的批量編碼特性提升計(jì)算效率,可將一個(gè)矩陣編碼在若干個(gè)密文中,并配合相應(yīng)的算法實(shí)現(xiàn)對(duì)密文的高效計(jì)算,這需要熟悉加密方案的專家設(shè)計(jì)合理的數(shù)據(jù)編碼方案。如何針對(duì)不同的機(jī)器學(xué)習(xí)應(yīng)用設(shè)計(jì)合理的數(shù)據(jù)編碼方案是一個(gè)難題。

近年來,同態(tài)加密編譯器的研究試圖解決以上問題。EVA(Encrypted Vector Arithmetic)編譯器是一種領(lǐng)域特定語言的編譯器,其基于CKKS方案,配合其前端 PyEVA 可以方便地編寫同態(tài)加密應(yīng)用程序。然而,EVA 編譯器在實(shí)際中應(yīng)用仍然存在兩個(gè)問題需要解決。首先,EVA作為一種向量算術(shù)編譯器,其計(jì)算邏輯建立在向量表達(dá)式之上,需要手動(dòng)將輸入數(shù)據(jù)分解為多個(gè)向量并提前指定EVA編譯器輸入向量的大小,程序性能非常依賴于手工調(diào)優(yōu)。其次,當(dāng)前以數(shù)據(jù)為中心的機(jī)器學(xué)習(xí)算法的數(shù)學(xué)本質(zhì)是矩陣運(yùn)算,但EVA尚未提供矩陣層次的抽象,不足以應(yīng)對(duì)矩陣運(yùn)算帶來的挑戰(zhàn)。

從系統(tǒng)設(shè)計(jì)的角度來看,EVA編譯器的不足之處在于缺少從向量算術(shù)到矩陣算術(shù)的抽象層,需要用戶手動(dòng)將矩陣算術(shù)映射為向量算術(shù)。本文設(shè)計(jì)的同態(tài)加密轉(zhuǎn)換器研究可以填補(bǔ)這一抽象層的空白,其可以將用高級(jí)語言Python編寫的代碼轉(zhuǎn)換為能夠處理加密輸入的等效代碼。本文充分利用了機(jī)器學(xué)習(xí)算法的批量計(jì)算和同態(tài)加密方案的批量編碼特性,首次提出了對(duì)用戶透明的同態(tài)加密轉(zhuǎn)換器,實(shí)現(xiàn)了矩陣計(jì)算邏輯與底層密文計(jì)算的完全分離。使用轉(zhuǎn)換器實(shí)現(xiàn)安全高效的隱私保護(hù)機(jī)器學(xué)習(xí)算法時(shí),不需要考慮矩陣數(shù)據(jù)的編碼和計(jì)算細(xì)節(jié)。



本文詳細(xì)內(nèi)容請(qǐng)下載:http://ihrv.cn/resource/share/2000005417




作者信息:

鐘志威

(中國(guó)科學(xué)技術(shù)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽合肥230027)

微信圖片_20210517164139.jpg

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。