文獻標識碼:A
DOI:10.19358/j.issn.2097-1788.2023.07.005
引用格式:鐘志威.面向隱私保護機器學(xué)習(xí)的同態(tài)加密轉(zhuǎn)換器設(shè)計與實現(xiàn)[J].網(wǎng)絡(luò)安全與數(shù)據(jù)治理,2023,42(7):31-36.
0 引言
數(shù)據(jù)被認為是大數(shù)據(jù)時代最寶貴的資源,而機器學(xué)習(xí)成為挖掘數(shù)據(jù)價值的有力工具。近些年來隨著云計算的廣泛普及,人們越來越多地將數(shù)據(jù)保存在云端,并將計算也外包至云端。然而,異地存儲和計算帶來了潛在的數(shù)據(jù)泄露風(fēng)險。隨著各國數(shù)據(jù)安全法的頒布和實施,人們對于數(shù)據(jù)安全的重視程度不斷提高,一些持有敏感數(shù)據(jù)的機構(gòu)對于數(shù)據(jù)托管和外包計算產(chǎn)生了較大的疑慮。業(yè)界的這種擔憂極大地阻礙了數(shù)據(jù)的共享和流通,數(shù)據(jù)價值難以得到充分利用。隱私計算是解決這一問題的有效途徑,可在保護數(shù)據(jù)本身不泄露的前提下對數(shù)據(jù)進行分析計算,達到數(shù)據(jù)可用不可見的目的,實現(xiàn)數(shù)據(jù)價值的轉(zhuǎn)化和釋放。
在現(xiàn)有隱私計算技術(shù)中,同態(tài)加密(Homomorphic Encryption,HE)是一類具有特殊數(shù)學(xué)性質(zhì)的加密方法。利用同態(tài)加密技術(shù),無密鑰的計算方可以對密文進行計算,在整個計算過程中無須與密鑰方交互,具有極高的安全性。自2009年Gentry提出第一個可行的全同態(tài)加密方案以來,經(jīng)過多年演進,同態(tài)加密逐漸從理論走向現(xiàn)實?,F(xiàn)在,得益于底層理論的進步、更高效的軟件實現(xiàn)以及專用硬件(如GPU)的支持,同態(tài)加密已經(jīng)越來越實用。特別是現(xiàn)代同態(tài)加密方案引入了批量編碼特性,能夠?qū)⒍鄠€明文值編碼到單個密文中,進一步提高了數(shù)據(jù)吞吐量和計算并行性。
由于同態(tài)加密可對加密數(shù)據(jù)進行計算,基于同態(tài)加密的隱私計算解決方案引起了越來越多的關(guān)注。Cheon等人提出了一種支持實數(shù)運算和批量編碼的加密方案CKKS,其特別適合于機器學(xué)習(xí)應(yīng)用,目前已被應(yīng)用于邏輯回歸以及支持向量機等任務(wù)中。盡管將同態(tài)加密應(yīng)用于機器學(xué)習(xí)前景光明,但是目前缺乏一種通用方式讓開發(fā)者在不了解底層加密方案細節(jié)的情況下,為特定隱私保護機器學(xué)習(xí)算法編寫高效的同態(tài)加密應(yīng)用程序。具體來說,將同態(tài)加密應(yīng)用于隱私保護機器學(xué)習(xí)時面臨以下兩個挑戰(zhàn)。
第一,選擇最優(yōu)的加密參數(shù)是一個難題。使用同態(tài)加密時需要設(shè)置合適的加密參數(shù)(Encryption Parameters),才能保證密文的安全性和解密的正確性。一方面,較大的加密參數(shù)會產(chǎn)生非常大的密文,增加計算和存儲密文的成本;另一方面,較小的加密參數(shù)可能導(dǎo)致達不到期望的安全級別,甚至無法解密。最優(yōu)的加密參數(shù)應(yīng)在保證密態(tài)計算的安全性和正確性的同時,最小化加密程序的內(nèi)存占用和執(zhí)行時間。
第二,選擇合適的數(shù)據(jù)編碼方案是一個難題。機器學(xué)習(xí)算法主要涉及矩陣和向量運算,為充分利用同態(tài)加密的批量編碼特性提升計算效率,可將一個矩陣編碼在若干個密文中,并配合相應(yīng)的算法實現(xiàn)對密文的高效計算,這需要熟悉加密方案的專家設(shè)計合理的數(shù)據(jù)編碼方案。如何針對不同的機器學(xué)習(xí)應(yīng)用設(shè)計合理的數(shù)據(jù)編碼方案是一個難題。
近年來,同態(tài)加密編譯器的研究試圖解決以上問題。EVA(Encrypted Vector Arithmetic)編譯器是一種領(lǐng)域特定語言的編譯器,其基于CKKS方案,配合其前端 PyEVA 可以方便地編寫同態(tài)加密應(yīng)用程序。然而,EVA 編譯器在實際中應(yīng)用仍然存在兩個問題需要解決。首先,EVA作為一種向量算術(shù)編譯器,其計算邏輯建立在向量表達式之上,需要手動將輸入數(shù)據(jù)分解為多個向量并提前指定EVA編譯器輸入向量的大小,程序性能非常依賴于手工調(diào)優(yōu)。其次,當前以數(shù)據(jù)為中心的機器學(xué)習(xí)算法的數(shù)學(xué)本質(zhì)是矩陣運算,但EVA尚未提供矩陣層次的抽象,不足以應(yīng)對矩陣運算帶來的挑戰(zhàn)。
從系統(tǒng)設(shè)計的角度來看,EVA編譯器的不足之處在于缺少從向量算術(shù)到矩陣算術(shù)的抽象層,需要用戶手動將矩陣算術(shù)映射為向量算術(shù)。本文設(shè)計的同態(tài)加密轉(zhuǎn)換器研究可以填補這一抽象層的空白,其可以將用高級語言Python編寫的代碼轉(zhuǎn)換為能夠處理加密輸入的等效代碼。本文充分利用了機器學(xué)習(xí)算法的批量計算和同態(tài)加密方案的批量編碼特性,首次提出了對用戶透明的同態(tài)加密轉(zhuǎn)換器,實現(xiàn)了矩陣計算邏輯與底層密文計算的完全分離。使用轉(zhuǎn)換器實現(xiàn)安全高效的隱私保護機器學(xué)習(xí)算法時,不需要考慮矩陣數(shù)據(jù)的編碼和計算細節(jié)。
本文詳細內(nèi)容請下載:http://ihrv.cn/resource/share/2000005417
作者信息:
鐘志威
(中國科學(xué)技術(shù)大學(xué)計算機科學(xué)與技術(shù)學(xué)院,安徽合肥230027)