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