文獻(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.
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)