楊靖世 王思源 袁博 劉嘉夕
(1. 中國信息通信研究院云計(jì)算與大數(shù)據(jù)研究所,北京 100191;2. 北京郵電大學(xué)泛網(wǎng)無線通信教育部重點(diǎn)實(shí)驗(yàn)室,北京 100876)
當(dāng)前,數(shù)據(jù)融合需求不斷增強(qiáng),數(shù)據(jù)保護(hù)要求逐步提高,作為一種數(shù)據(jù)安全流通技術(shù),隱私計(jì)算在近年來迎來了極大發(fā)展,同時(shí)《中華人民共和國數(shù)據(jù)安全法》《中華人民共和國個(gè)人信息保護(hù)法》等國家政策的出臺更是推動了隱私計(jì)算技術(shù)在數(shù)據(jù)領(lǐng)域持續(xù)發(fā)力。近年來,在算法協(xié)議不斷優(yōu)化、硬件性能逐步增強(qiáng)的背景下,隱私計(jì)算的可用性大大提升,越來越多的企業(yè)開始進(jìn)行隱私計(jì)算的技術(shù)研究和產(chǎn)品化研發(fā),已發(fā)布的產(chǎn)品數(shù)自2018年的2款產(chǎn)品爆發(fā)增長至2021年的105款產(chǎn)品[2];隱私計(jì)算應(yīng)用也在進(jìn)一步發(fā)展豐富,在金融、政務(wù)、互聯(lián)網(wǎng)、通信和醫(yī)療等領(lǐng)域逐步細(xì)分外延,并在工業(yè)、能源和物流等行業(yè)開始進(jìn)行嘗試性探索。
由于隱私計(jì)算涉及多個(gè)參與方、參與計(jì)算的數(shù)據(jù)規(guī)模量級大和計(jì)算加密等特點(diǎn),當(dāng)前性能成為其難以形成大規(guī)模應(yīng)用的主要因素之一。其龐大的技術(shù)體系,更使得衡量產(chǎn)品性能的困難性陡增。本文首先討論了隱私計(jì)算產(chǎn)品在性能標(biāo)準(zhǔn)化進(jìn)程中面臨的挑戰(zhàn),進(jìn)而提出產(chǎn)品性能評估方法的思考,最后總結(jié)了隱私計(jì)算的局限與未來發(fā)展。
隱私計(jì)算作為一種促進(jìn)數(shù)據(jù)流通合規(guī)的“技術(shù)解”,其技術(shù)體系復(fù)雜。當(dāng)前其主流技術(shù)方向有多方安全計(jì)算、聯(lián)邦學(xué)習(xí)和可信執(zhí)行環(huán)境等,各種技術(shù)的實(shí)現(xiàn)原理差異大,很難以同樣的標(biāo)準(zhǔn)進(jìn)行衡量。其次,由于隱私計(jì)算不僅要考慮計(jì)算效率,也需充分考慮安全性和準(zhǔn)確性,而這三者往往相互制約不能同時(shí)滿足,所以隱私計(jì)算性能測試標(biāo)準(zhǔn)中需要確定安全性和準(zhǔn)確性門檻。另外,當(dāng)前已有的隱私計(jì)算標(biāo)準(zhǔn)大多關(guān)于技術(shù)或產(chǎn)品功能,需要向性能測試標(biāo)準(zhǔn)拓展。
1.1.1 多方安全計(jì)算
多方安全計(jì)算(Secure Multi-party Computation,MPC)是多個(gè)參與方在無可信第三方的情況下,安全協(xié)同地計(jì)算出一個(gè)約定函數(shù)的結(jié)果,關(guān)鍵技術(shù)可分為不經(jīng)意傳輸、混淆電路、秘密分享等。在不經(jīng)意傳輸協(xié)議中,數(shù)據(jù)擁有者在同一時(shí)間發(fā)送多個(gè)消息,接收方只能從中選其一,并且不知道其他消息的情況,而數(shù)據(jù)發(fā)送方也無法獲知具體哪一條消息被選擇。經(jīng)典的二選一不經(jīng)意傳輸方案是Naor-Pinkas不經(jīng)意傳輸[5],其滿足半誠實(shí)模型要求,安全性由計(jì)算過程中的公鑰加密操作和求解離散對數(shù)困難保證,但該方案在多次執(zhí)行時(shí)由于大量的非對稱加密操作導(dǎo)致其表現(xiàn)較差。不經(jīng)意傳輸擴(kuò)展協(xié)議[8]利用少量的基礎(chǔ)不經(jīng)意傳輸,以較小代價(jià)構(gòu)造出大量的不經(jīng)意傳輸,可以有效減少多次構(gòu)造時(shí)的公鑰操作數(shù)從而提升性能,該方案因此得到廣泛應(yīng)用?;煜娐返乃枷胧菍⒂?jì)算函數(shù)轉(zhuǎn)換成電路形式來計(jì)算,電路生成方加密輸入并將順序打亂,然后發(fā)送給計(jì)算方計(jì)算,計(jì)算方通過不經(jīng)意傳輸方式得到密鑰并解密出對應(yīng)組合的密文。由于電路的生成與計(jì)算分別在不同參與方中進(jìn)行,計(jì)算方不知道生成方的實(shí)際輸入,并且使用了不經(jīng)意傳輸協(xié)議,安全性因而得到保證。
當(dāng)前,針對電路進(jìn)行優(yōu)化的方案已顯著降低了電路的計(jì)算開銷和通信開銷,通信輪數(shù)與電路規(guī)模無關(guān),但通信量仍會比較大。秘密分享是將數(shù)據(jù)或秘密分割成多個(gè)分片,然后在一組參與者共享的技術(shù),經(jīng)典的Shamir門限秘密共享規(guī)定了在N個(gè)參與方中,只有多于特定數(shù)量的參與方合作才可以恢復(fù)出完整數(shù)據(jù),安全性由特定數(shù)量參與方不合謀假設(shè)保證。秘密分享技術(shù)廣泛用于基礎(chǔ)運(yùn)算、統(tǒng)計(jì)和建模中,其缺點(diǎn)是在進(jìn)行涉及乘法運(yùn)算前,需離線生成大量的三元組,并且運(yùn)算時(shí)參與方需進(jìn)行多輪的交互,從而導(dǎo)致通信消耗較大。
1.1.2 聯(lián)邦學(xué)習(xí)
聯(lián)邦學(xué)習(xí)(Federated Learning,F(xiàn)L)是一種分布式的機(jī)器學(xué)習(xí)技術(shù)框架,多個(gè)參與方協(xié)作訓(xùn)練一個(gè)機(jī)器學(xué)習(xí)模型,數(shù)據(jù)不出域并且要求保護(hù)中間梯度。聯(lián)邦學(xué)習(xí)根據(jù)系統(tǒng)架構(gòu)可分為客戶-服務(wù)器架構(gòu)和對等網(wǎng)絡(luò)架構(gòu),在客戶-服務(wù)器架構(gòu)中存在第三方聚合或分發(fā)梯度,建模方法主要包括基于同態(tài)加密和基于差分隱私的方案,兩種方案中本地?cái)?shù)據(jù)不出域并且所有數(shù)據(jù)不需加密,各參與方通過交互中間梯度完成模型訓(xùn)練,不同點(diǎn)是同態(tài)加密方案需要對計(jì)算過程中的交互參數(shù)或梯度加密,而基于差分隱私的方法是對數(shù)據(jù)或梯度進(jìn)行混淆來達(dá)到隱私保護(hù)目的,以安全性和精度的犧牲換取更高的計(jì)算和通信效率。在對等網(wǎng)絡(luò)架構(gòu)中沒有第三方,常用基于秘密分享與同態(tài)加密結(jié)合的方案,各參與方不會泄露本地輸入數(shù)據(jù)、本地局部數(shù)據(jù)和全局中間數(shù)據(jù),往往安全性高但效率較低。
1.1.3 可信執(zhí)行環(huán)境
可信執(zhí)行環(huán)境(Trusted Execution Environment,TEE)是一種基于硬件的隱私計(jì)算技術(shù),相較于聯(lián)邦學(xué)習(xí)和多方安全計(jì)算是從軟件層面密碼學(xué)保證安全性,TEE的安全假設(shè)首先是對硬件的信任。它在中央處理器內(nèi)部物理隔離出一個(gè)代碼運(yùn)行環(huán)境,與軟件層面的保護(hù)相結(jié)合達(dá)到計(jì)算環(huán)境與外部的隔離,代碼和數(shù)據(jù)的完整性由此得到保證,并有哈希算法度量隔離環(huán)境內(nèi)的活動記錄來保證其機(jī)密性,另外每次執(zhí)行任務(wù)時(shí)TEE會進(jìn)行遠(yuǎn)程驗(yàn)證,確保運(yùn)行時(shí)的任務(wù)、數(shù)據(jù)和算法與約定的一致,安全程度進(jìn)一步提高。性能方面,實(shí)際應(yīng)用中各參與方會將數(shù)據(jù)加密發(fā)送至TEE內(nèi)部,數(shù)據(jù)在內(nèi)部解密,并以明文形式存儲和計(jì)算,所以TEE相比于聯(lián)邦學(xué)習(xí)和多方安全計(jì)算效率高。
隱私計(jì)算性能會隨著安全性的提升而下降。當(dāng)前隱私計(jì)算算法安全等級的分水嶺通常是是否支持惡意模型,算法一旦通過提升安全性來滿足惡意模型下的隱私計(jì)算需求,便會產(chǎn)生額外的通信和時(shí)間開銷。這在聯(lián)合建模等需要加法、乘法和比較多個(gè)算子的組合參與場景下更為嚴(yán)重。此外,在隱私信息檢索場景中,選擇不同的查詢不可區(qū)分度對耗時(shí)也有很大影響。
隱私計(jì)算的性能和準(zhǔn)確度也有取舍,如在某些場景下可能需要使用差分隱私的技術(shù)手段犧牲結(jié)果準(zhǔn)確性來提升性能。
1.3.1 國際標(biāo)準(zhǔn)
隱私計(jì)算相關(guān)的國際標(biāo)準(zhǔn)化項(xiàng)目主要在IEEE、ISO和ITU三大標(biāo)準(zhǔn)化組織中開展。其中,IEEE自2019—2021年發(fā)布三項(xiàng)隱私計(jì)算相關(guān)國際標(biāo)準(zhǔn),分別是《Standard for Technical Framework and Requirements of TEE-based Shared Machine Learning》《Standard for Secure Computing Based on Trusted Execution Environment》 《Guide for Architectural Framework and Application of Federated Machine Learning》。另外,ISO組織在2019年立項(xiàng)《Secure Multi-Party Computation》,而《Technical Framework for Secure Multi-Party Computation》和《Technical Framework for Shared Machine Learning System》也分別于2019年和2021年在ITU立項(xiàng)。上述標(biāo)準(zhǔn)均與隱私計(jì)算技術(shù)相關(guān),尚未有隱私計(jì)算性能評估的標(biāo)準(zhǔn)。
1.3.2 國內(nèi)標(biāo)準(zhǔn)
國內(nèi)隱私計(jì)算標(biāo)準(zhǔn)化項(xiàng)目工作主要在中國通信標(biāo)準(zhǔn)化協(xié)會和全國金融標(biāo)準(zhǔn)化技術(shù)委員會開展。其中,中國通信標(biāo)準(zhǔn)化協(xié)會從2019年起逐步制定了《基于多方安全計(jì)算的數(shù)據(jù)流通產(chǎn)品 技術(shù)要求與測試方法》《基于聯(lián)邦學(xué)習(xí)的數(shù)據(jù)流通產(chǎn)品 技術(shù)要求與測試方法》《基于可信執(zhí)行環(huán)境的數(shù)據(jù)計(jì)算平臺 技術(shù)要求與測試方法》《區(qū)塊鏈輔助的隱私計(jì)算技術(shù)工具技術(shù)要求與測試方法》等隱私計(jì)算產(chǎn)品功能標(biāo)準(zhǔn),并于2021年啟動編制《隱私計(jì)算 多方安全計(jì)算產(chǎn)品性能要求和測試方法》《隱私計(jì)算 多方安全計(jì)算產(chǎn)品安全要求和測試方法》《隱私計(jì)算 聯(lián)邦學(xué)習(xí)產(chǎn)品性能要求和測試方法》《隱私計(jì)算 聯(lián)邦學(xué)習(xí)產(chǎn)品安全要求和測試方法》等性能和安全標(biāo)準(zhǔn)。2020年,全國金融標(biāo)準(zhǔn)化技術(shù)委員會發(fā)布《安全多方計(jì)算金融應(yīng)用技術(shù)規(guī)范》,同時(shí)在2021年制定了《聯(lián)邦學(xué)習(xí)技術(shù)金融應(yīng)用規(guī)范》。
隱私計(jì)算產(chǎn)品在實(shí)現(xiàn)大規(guī)模應(yīng)用的進(jìn)程中,亟需完善統(tǒng)一的性能測試標(biāo)準(zhǔn),在算法安全性、產(chǎn)品安全性、計(jì)算準(zhǔn)確性的前提下規(guī)范性能考察指標(biāo)。以下是關(guān)于隱私計(jì)算產(chǎn)品性能測試方案的設(shè)計(jì)思路。
基于以上原因,多方安全計(jì)算、聯(lián)邦學(xué)習(xí)和可信執(zhí)行環(huán)境需制定獨(dú)立的性能測試標(biāo)準(zhǔn),雖然各個(gè)技術(shù)差異較大,但性能測試的總體思路保持一致:如何利用給定資源和條件,安全、準(zhǔn)確、高效完成特定計(jì)算任務(wù)。目的是:在特定硬件資源、特定數(shù)據(jù)集、特定算法要求和特定結(jié)果要求條件下,模擬實(shí)際需求場景,測試不同產(chǎn)品安全性、準(zhǔn)確性、耗時(shí)三類維度指標(biāo)。
基于以上思路目的,為使評估條件一致,性能測試應(yīng)設(shè)定多方面的固定變量。固定變量模擬了實(shí)際場景、具體需求和給定資源,例如固定的數(shù)據(jù)方數(shù)量、固定的硬件資源(應(yīng)設(shè)定上限)、數(shù)據(jù)集大小(分類設(shè)定)、算法要求(分類設(shè)定)、輸出結(jié)果要求、安全性要求(應(yīng)分類設(shè)定下限,包含通信安全、身份認(rèn)證、結(jié)果安全、密碼安全、算法安全、各類算法密鑰長度要求等)、準(zhǔn)確性要求(應(yīng)分類設(shè)定下限)、規(guī)范數(shù)據(jù)預(yù)處理(例如公開數(shù)據(jù)集需要現(xiàn)場隨機(jī)抽取維度,若采用生成三元組方案,三元組生成時(shí)間也需計(jì)入任務(wù)耗時(shí)等等)、任務(wù)起始狀態(tài)一致(數(shù)據(jù)已準(zhǔn)備未讀取等)、任務(wù)結(jié)束狀態(tài)一致(計(jì)算結(jié)果已生成等)等。
隱私計(jì)算產(chǎn)品應(yīng)滿足協(xié)調(diào)方安全、通信信道安全、身份認(rèn)證、計(jì)算結(jié)果安全、安全參數(shù)、密碼安全等通用安全要求以及針對每項(xiàng)被測算法的專項(xiàng)安全性要求。例如,在安全參數(shù)要求中,對于每種密碼學(xué)算法,產(chǎn)品也應(yīng)滿足該項(xiàng)算法層面的安全要求,對于對稱密碼學(xué)算法SM4、AES等和非對稱密碼學(xué)算法SM2、RSA等各類常見密碼學(xué)算法應(yīng)提出最低密鑰長度要求,如RSA密鑰長度應(yīng)至少為2048 bit,以保證在當(dāng)前安全強(qiáng)度下,產(chǎn)品在使用過程中不會泄露用戶數(shù)據(jù)隱私。
安全評估方法旨在確認(rèn)產(chǎn)品實(shí)際方案與評審內(nèi)容的一致性,通過對隱私計(jì)算產(chǎn)品使用的相關(guān)論文文獻(xiàn)、產(chǎn)品設(shè)計(jì)手冊、產(chǎn)品所采用算法的說明文檔進(jìn)行評審,并對產(chǎn)品的核心代碼、關(guān)鍵的日志記錄以及網(wǎng)絡(luò)通信報(bào)文等內(nèi)容做交叉核驗(yàn)。安全評估方法主要包括專家評審和一致性檢驗(yàn)。
在多方安全計(jì)算測試中,應(yīng)保證計(jì)算過程中沒有泄露用戶輸入數(shù)據(jù),沒有暴露各計(jì)算方本地的中間數(shù)據(jù),沒有暴露全局的中間數(shù)據(jù)。聯(lián)邦學(xué)習(xí)測試中也要對各計(jì)算方本地的梯度等進(jìn)行保護(hù),不能暴露。
鑒于隱私計(jì)算產(chǎn)品的協(xié)議多樣性與復(fù)雜性,性能測試應(yīng)基于現(xiàn)有的密碼學(xué)分析和計(jì)算分析手段對安全強(qiáng)度進(jìn)行評估,任何新發(fā)表的攻擊手段或者諸如量子計(jì)算的計(jì)算手段都可能影響安全強(qiáng)度,建議關(guān)注后量子密碼等算法的研究與標(biāo)準(zhǔn)化過程。另外需要注意的是,隱私計(jì)算產(chǎn)品通常會使用多種密碼學(xué)服務(wù)(密鑰生成、完整性保護(hù)、安全性保護(hù)等)和多種密碼學(xué)算法。一般情況下,隱私計(jì)算產(chǎn)品的安全強(qiáng)度由使用的最弱的密碼學(xué)算法決定。在實(shí)際使用過程中,安全強(qiáng)度還會被算法的具體實(shí)現(xiàn)方式和功能模塊之間的交互影響。總之,對于密碼算法的選擇和使用,應(yīng)當(dāng)相當(dāng)謹(jǐn)慎以保護(hù)整個(gè)隱私計(jì)算產(chǎn)品的安全性。
由于隱私計(jì)算產(chǎn)品所使用的某些特定算法可能會存在部分精度的丟失的情況,這會導(dǎo)致加密計(jì)算結(jié)果與明文存在一定程度的偏差。但在實(shí)際應(yīng)用中,往往存在可接受的小范圍內(nèi)的偏差。因此,應(yīng)對不同的算法的準(zhǔn)確性要求做出不同的規(guī)范,滿足該要求的計(jì)算結(jié)果即為有效結(jié)果。
在基礎(chǔ)運(yùn)算、聯(lián)合統(tǒng)計(jì)、特征工程(如WOE、IV值計(jì)算)場景中,需要核驗(yàn)產(chǎn)品通過隱私計(jì)算所得結(jié)果與明文通過本地計(jì)算所得結(jié)果的相對誤差是否保持在規(guī)定范圍內(nèi);在隱匿查詢、安全求交和聯(lián)合預(yù)測場景中,需要核驗(yàn)產(chǎn)品通過隱私計(jì)算所得結(jié)果與明文通過本地計(jì)算結(jié)果是否保持一致;在聯(lián)合建模場景中,使用隱私計(jì)算產(chǎn)品和與之相應(yīng)的機(jī)器學(xué)習(xí)算法程序在保證樣本數(shù)據(jù)集、特征選擇和訓(xùn)練參數(shù)一致的前提下分別進(jìn)行建模訓(xùn)練,若該產(chǎn)品通過隱私計(jì)算得到的模型的評價(jià)指標(biāo)(如AUC和KS值)和相對應(yīng)的明文機(jī)器學(xué)習(xí)訓(xùn)練得到的基準(zhǔn)模型的評價(jià)指標(biāo)保持在規(guī)定的誤差范圍內(nèi),則表示通過核驗(yàn)[1]。
隱私計(jì)算產(chǎn)品的耗時(shí)由可能的離線階段預(yù)處理操作和程序運(yùn)行時(shí)的在線時(shí)間組成,其中在線時(shí)間又包含計(jì)算耗時(shí)和通信耗時(shí),在不同帶寬環(huán)境中所用的方法會不同。
2.3.1 基礎(chǔ)運(yùn)算
在隱私計(jì)算產(chǎn)品(尤其是多方安全計(jì)算產(chǎn)品)中,大部分復(fù)雜算法依賴于基礎(chǔ)運(yùn)算功能,通過組合基礎(chǔ)運(yùn)算算子來實(shí)現(xiàn)。針對基礎(chǔ)運(yùn)算,具體使用場景,如某隱私計(jì)算產(chǎn)品使用者想了解一批客戶的總資產(chǎn),應(yīng)按照客戶ID對各銀行的數(shù)據(jù)進(jìn)行的聯(lián)合加法計(jì)算;或有時(shí)需要在不泄露雙方信息情況下,比較兩方數(shù)據(jù)中的客戶年齡、資產(chǎn)等個(gè)人信息。
加法、乘法和比較是隱私計(jì)算產(chǎn)品中具有代表性且能體現(xiàn)產(chǎn)品特性的三種基礎(chǔ)運(yùn)算算子,在聯(lián)合統(tǒng)計(jì)、安全求交和聯(lián)合建模等場景中常被使用,因此在檢驗(yàn)產(chǎn)品的基礎(chǔ)運(yùn)算性能時(shí),可作為主要的測試場景。實(shí)際測試中應(yīng)在限定計(jì)算方個(gè)數(shù)的前提下,記錄多方基礎(chǔ)運(yùn)算耗時(shí)。以兩方為例,每個(gè)計(jì)算方各擁有一列若干行的浮點(diǎn)數(shù),按行分別做若干次的安全計(jì)算并批量輸出結(jié)果,記錄完整的任務(wù)耗時(shí)。
加法、乘法和比較算子常用秘密分享實(shí)現(xiàn)。各參與方分別將其每一條數(shù)據(jù)拆分成隨機(jī)分片,自己持有一個(gè)分片,并將其余分片發(fā)送給其他參與方,各參與方完成本地分片計(jì)算后,再進(jìn)行匯聚得到運(yùn)算結(jié)果。在兩方乘法運(yùn)算的性能測試中,應(yīng)注意檢驗(yàn)輔助的Beaver三元組生成時(shí)間及安全性。
2.3.2 聯(lián)合統(tǒng)計(jì)
聯(lián)合統(tǒng)計(jì)是由多個(gè)基礎(chǔ)運(yùn)算算子構(gòu)成的組合運(yùn)算,包括了聯(lián)合運(yùn)算與本地運(yùn)算,能夠綜合考量產(chǎn)品面對實(shí)際統(tǒng)計(jì)應(yīng)用的計(jì)算效率。常用的聯(lián)合統(tǒng)計(jì)包括方差、中位數(shù)計(jì)算等。與基礎(chǔ)運(yùn)算要求相同,應(yīng)限定計(jì)算方個(gè)數(shù)的前提下,記錄耗時(shí)。
在測試聯(lián)合統(tǒng)計(jì)運(yùn)算的性能時(shí),為保證結(jié)果的公平性,應(yīng)確定允許的本地運(yùn)算以及可暴露的信息。方差計(jì)算時(shí)其中一方可先本地計(jì)算所有數(shù)的和以及平方和,將其連同樣本量發(fā)送給另一方,然后通過對方數(shù)據(jù)和求出所有數(shù)總平均,再根據(jù)公式求得方差。中位數(shù)計(jì)算常用方法是找到第k個(gè)大元素[8],主要思想是本地對雙方數(shù)組排序,然后比較特定位置的數(shù)值大小再進(jìn)行截?cái)噙^濾,其中比較數(shù)值大小需要基礎(chǔ)運(yùn)算中的比較算子。
2.3.3 隱匿查詢
隱匿查詢功能常用于聯(lián)合用戶畫像等場景中。隱匿查詢要求在查詢過程中保護(hù)查詢方的查詢信息,數(shù)據(jù)服務(wù)方為查詢方提供了匹配的查詢結(jié)果,卻無法獲知具體對應(yīng)的查詢對象,查詢方也無法知曉數(shù)據(jù)服務(wù)方除了匹配命中內(nèi)容以外的其他信息。
在實(shí)際的應(yīng)用過程中,產(chǎn)品通常會考慮需求場景,平衡效率和安全,將待查數(shù)據(jù)進(jìn)行分桶等操作以提升查詢效率。但是,此類操作也會減小隱匿查詢結(jié)果的不可區(qū)分度,在一定程度上犧牲了安全性。因此舉例來說,測評中可以對百級不可區(qū)分度和百萬級不可區(qū)分度的查詢?nèi)蝿?wù)分別考量。百級不可區(qū)分的查詢可滿足實(shí)時(shí)查詢?nèi)蝿?wù)的效率要求,百萬級不可區(qū)分的查詢可滿足高安全需求的查詢要求。
隱匿查詢的主要實(shí)現(xiàn)方法是基于隱私信息檢索技術(shù)(Private Information Retrieval,PIR),典型的實(shí)現(xiàn)方案如XPIR[11]、SEALPIR[12]等。此外,通常定義下的PIR只能定位到目標(biāo)行,不能完成Keyword PIR的目標(biāo)。因此,被測產(chǎn)品需使用Labeled PSI[13]等Keyword PIR方法或在PIR中加入行和關(guān)鍵字的映射過程。在實(shí)際測評中,也應(yīng)注意考慮行號和關(guān)鍵字映射過程的額外耗時(shí)以及該過程的安全性。
2.3.4 安全求交
安全求交(Private Set Intersection,PSI)用于找到多方共有人群,同時(shí)不暴露各參與方的其他用戶。具體應(yīng)用:一是作為縱向聯(lián)邦學(xué)習(xí)的前置工作,二是可以根據(jù)多個(gè)規(guī)則篩選出目標(biāo)用戶群,三是找到共有人群后可用于人群篩選前后的統(tǒng)計(jì)分析工作,如在營銷場景中,在保證本機(jī)構(gòu)和外部數(shù)據(jù)方的數(shù)據(jù)安全前提下,得到本機(jī)構(gòu)與外部數(shù)據(jù)方共有的用戶群,進(jìn)而得到與總量的比例。
考慮到當(dāng)前實(shí)際場景中經(jīng)常是兩個(gè)或三個(gè)機(jī)構(gòu)間進(jìn)行隱私集合求交,因此計(jì)算方數(shù)量設(shè)置為兩方和三方會有參考意義。其次,同一算法在參與方的數(shù)據(jù)規(guī)模差異程度不同的情況下性能表現(xiàn)也有不同,即有些算法適用于參與方數(shù)據(jù)集規(guī)模相差不大的情況下,有些算法在數(shù)據(jù)集規(guī)模相差大的情況下表現(xiàn)更好,所以設(shè)置平衡與非平衡場景更能體現(xiàn)產(chǎn)品能力。在平衡場景下,兩個(gè)或三個(gè)計(jì)算方持有的數(shù)據(jù)量相同,如均為上億級數(shù)據(jù),相交率50%,進(jìn)行安全求交。在非平衡場景下,其中一個(gè)參與方持有較小量級的數(shù)據(jù),如十萬或百萬量級的數(shù)據(jù),其他參與方持有上億數(shù)據(jù),相交率50%,進(jìn)行安全求交。
上述的兩方場景中典型的實(shí)現(xiàn)方式包括基于公鑰體系的方案和基于不經(jīng)意傳輸?shù)姆桨浮T诨诠€的體系中,主要包括基于非對稱加密的方案,如適用于非平衡場景下的RSA盲簽名的隱私集合求交,以及基于密鑰協(xié)商的方案?;诿荑€協(xié)商的隱私集合求交方案是兩方在不安全信道中共同協(xié)商出一個(gè)密鑰來用于后續(xù)數(shù)據(jù)加密,該方案的安全性依賴求解離散對數(shù)問題的困難,也有將基于橢圓曲線的加密算法和密鑰協(xié)商相結(jié)合的方案(ECDH),其效率比一般的基于密鑰協(xié)商的方案高[3]。在實(shí)際測評中,使用以上方案需核驗(yàn)算法中的安全參數(shù),如密鑰長度或密鑰協(xié)商方案中的所選質(zhì)數(shù)的長度是否符合要求。另外,在不經(jīng)意傳輸協(xié)議的方案中,基于文獻(xiàn)[14]的方案性能較高,該方案使用不經(jīng)意傳輸擴(kuò)展協(xié)議高效地構(gòu)造了大量不經(jīng)意偽隨機(jī)函數(shù),并針對布谷鳥哈希做了相關(guān)優(yōu)化,壓縮通信量,在大規(guī)模數(shù)據(jù)集上表現(xiàn)良好,缺點(diǎn)是仍比基于公鑰體系的方案通信量大,在帶寬受限的情況下不適用。不同算法的通信量和計(jì)算資源使用不同,可通過日志、報(bào)文與監(jiān)控驗(yàn)證是否與聲明算法一致。
2.3.5 特征工程
特征工程包括特征預(yù)處理、特征選擇和特征降維等。在針對隱私計(jì)算產(chǎn)品的性能測試中,應(yīng)主要檢驗(yàn)需要多方數(shù)據(jù)聯(lián)合計(jì)算的特征工程任務(wù),如數(shù)據(jù)縱向分布的WOE/IV值計(jì)算。通過計(jì)算WOE/IV值進(jìn)行特征篩選可以有效提升建模效果,所以特征工程的數(shù)據(jù)集和場景選擇與建模保持一致,場景分別為計(jì)算方兩方和三方的場景,僅一方持有標(biāo)簽信息,有標(biāo)簽方本地計(jì)算WOE/IV值,無標(biāo)簽方使用有標(biāo)簽方的標(biāo)簽以隱私保護(hù)的方式計(jì)算。
在特征工程場景的實(shí)際測試中,應(yīng)確定需要保護(hù)的信息以及可允許暴露的中間信息。例如,在多方聯(lián)合計(jì)算WOE和IV值時(shí),通常使用同態(tài)加密技術(shù),有標(biāo)簽方A使用同態(tài)加密方法加密標(biāo)簽發(fā)送給無標(biāo)簽方B,B方根據(jù)加密標(biāo)簽對變量分桶,并將每個(gè)分箱內(nèi)的正負(fù)樣本數(shù)和連同桶樣本量發(fā)送回A方,A方解密數(shù)據(jù)并結(jié)合自己每個(gè)分箱中的正負(fù)樣本數(shù)來計(jì)算WOE和IV值。在該舉例中,標(biāo)簽值是需要保護(hù)的關(guān)鍵信息,正負(fù)樣本數(shù)量情況作為可允許暴露的中間信息應(yīng)明確標(biāo)注。
2.3.6 聯(lián)合建模
聯(lián)合建模廣泛用于金融、政務(wù)和醫(yī)療等領(lǐng)域,在金融領(lǐng)域中場景包括授信風(fēng)控、廣告營銷、反洗錢和反欺詐等。銀行等金融機(jī)構(gòu)通常作為數(shù)據(jù)使用方,借助外部數(shù)據(jù),可以是縱向擴(kuò)展特征維度完成信貸、風(fēng)控或精準(zhǔn)營銷,也可以是橫向擴(kuò)展數(shù)據(jù)集提高反洗錢識別效果;在政務(wù)領(lǐng)域中,通過政務(wù)數(shù)據(jù)開放和共享的方式,可實(shí)現(xiàn)如商業(yè)選址、勞動就業(yè),電信反詐騙和人口流動分析等應(yīng)用;隱私計(jì)算在醫(yī)療領(lǐng)域,通過醫(yī)院與醫(yī)院間的數(shù)據(jù)流通、政務(wù)和企業(yè)內(nèi)部數(shù)據(jù)的開放的方式,可應(yīng)用于疫情防控、病情診斷和醫(yī)學(xué)研究等場景。
聯(lián)合建模測試的設(shè)置需充分考慮上述場景的實(shí)際情況,由于當(dāng)前縱向方式的聯(lián)合建模通常在兩個(gè)或三個(gè)機(jī)構(gòu)間進(jìn)行,所以在測試中計(jì)算方也分為兩方場景和三方場景,所有參與方均擁有數(shù)據(jù)的所有行,當(dāng)是兩方場景時(shí),每個(gè)計(jì)算方各持有一半的特征,當(dāng)有三個(gè)計(jì)算方時(shí),每個(gè)計(jì)算方持有1/3總量的特征,并且兩種場景下均是只有一個(gè)計(jì)算方持有標(biāo)簽信息。其次,建模數(shù)據(jù)集規(guī)模通常在十萬至百萬行間,特征總量在1 000維左右,因此測試中的數(shù)據(jù)集規(guī)模也在這一量級,另外考慮到特征工程會極大影響建模效果,所以測試前數(shù)據(jù)集需完成歸一化和標(biāo)準(zhǔn)化。最后,在算法上選擇應(yīng)考慮技術(shù)發(fā)展,當(dāng)前主流建模算法中易于實(shí)現(xiàn)并且表現(xiàn)良好的是邏輯回歸和XGBoost,測試中以這兩種算法為例更具代表性,在未來隨著其他算法更加普及也可將其納入考察范圍,如基于隱私保護(hù)的深度學(xué)習(xí)模型。在建模完成后使用創(chuàng)建的模型進(jìn)行離線批量預(yù)測,場景與建模一致也為兩方和三方的邏輯回歸和XGBoost。
邏輯回歸常見的方案包括縱向的聯(lián)邦學(xué)習(xí)方式,即基于同態(tài)加密的方案和基于多方安全計(jì)算的建模方案,兩種方案的安全要求不一樣,基于聯(lián)邦學(xué)習(xí)的建模由于存在第三方,第三方會解密再分發(fā)梯度導(dǎo)致中間數(shù)據(jù)泄露,而多方安全計(jì)算的建模方式要求不能泄露全局的中間數(shù)據(jù),安全要求更高,所以在多方安全計(jì)算的性能測試中應(yīng)核驗(yàn)所用算法的安全性是否達(dá)標(biāo)?;诙喾桨踩?jì)算的邏輯回歸方案通常無可信第三方,常見的方法包括僅使用同態(tài)加密的方案和秘密分享與同態(tài)加密相結(jié)合的方案,以及多方安全計(jì)算基礎(chǔ)算子組合的協(xié)議ABY[8],是一種基于算術(shù)分享、布爾分享和混淆電路分享的兩方協(xié)議,和其支持三方的ABY3協(xié)議[9]等。基于秘密分享的建模方案中需要三元組輔助計(jì)算,并且由于三元組在線計(jì)算開銷大,該步驟通常在離線階段進(jìn)行,在測試時(shí)離線時(shí)間也需被記錄在內(nèi)。另一建模算法Xgboost的常見方案是SecureBoost[10],其基于同態(tài)加密,主要思想是通過找到特征的最佳分裂點(diǎn)進(jìn)行多個(gè)樹的生成,直至滿足停止條件。由于初始模型和數(shù)據(jù)集會影響建模的效果及性能,所以上述的聯(lián)合建模測試中應(yīng)檢查模型初始權(quán)重,避免預(yù)訓(xùn)練,也需核驗(yàn)訓(xùn)練中所有數(shù)據(jù)是否至少使用一次,以及是否在數(shù)據(jù)集上做數(shù)據(jù)抽樣和特征篩選。
本文論述了隱私計(jì)算產(chǎn)品安全性、準(zhǔn)確性和性能三個(gè)維度相關(guān)影響的關(guān)系,以及在不同算法類型下各個(gè)維度的標(biāo)準(zhǔn)化測試思路。主要采用的思路是首先固定硬件資源、每個(gè)算法的數(shù)據(jù)集和每個(gè)場景的計(jì)算方數(shù)量等,然后在每個(gè)算法下分類固定其安全性和準(zhǔn)確性門檻要求,滿足在該算法下的安全性和準(zhǔn)確性門檻要求后測試其性能表現(xiàn)。由論述可知硬件資源、數(shù)據(jù)集和計(jì)算方數(shù)量等前置條件,每個(gè)算法場景的設(shè)置,以及安全性、準(zhǔn)確性和性能三大測試維度均是隱私計(jì)算產(chǎn)品性能測試需要考量的重要因素。由于不同隱私計(jì)算產(chǎn)品技術(shù)路線、實(shí)現(xiàn)原理差異較大,未來仍需探索考慮上述種種因素以及更多變量下,如何更好更準(zhǔn)確地量化衡量一個(gè)隱私計(jì)算產(chǎn)品。當(dāng)然,除去已述當(dāng)前理論問題外,很多現(xiàn)實(shí)問題和未來發(fā)展問題也會影響后續(xù)隱私計(jì)算產(chǎn)品性能測評標(biāo)準(zhǔn)化工作。
(1)隱私計(jì)算參與方的資源情況不同
隱私計(jì)算通常由多方共同參與,各參與方的通信資源和計(jì)算資源可能差異較大,當(dāng)出現(xiàn)一方因網(wǎng)絡(luò)或計(jì)算資源不足無法繼續(xù)參與的情況時(shí),可能會引起整個(gè)計(jì)算過程被迫停止。因此,保障同步性和可用性是隱私計(jì)算面臨的重要挑戰(zhàn)之一,尤其是在多參與方、數(shù)據(jù)規(guī)模大的情況下[4]。
(2)隱私計(jì)算產(chǎn)品安全邊界和等級有待形成共識
隱私計(jì)算產(chǎn)品多環(huán)節(jié)均可能存在風(fēng)險(xiǎn),包括在算法協(xié)議上各產(chǎn)品差異化較大,并依賴安全假設(shè);密碼學(xué)算法里的安全強(qiáng)度和密鑰證書的管理;以及產(chǎn)品方面的數(shù)據(jù)授權(quán)、監(jiān)管性和系統(tǒng)穩(wěn)定性等方面。在不同行業(yè)、不同技術(shù)中,隱私計(jì)算產(chǎn)品的安全邊界和等級界定也不盡相同。也要平衡實(shí)際應(yīng)用中準(zhǔn)確性和計(jì)算效率的要求,作為一項(xiàng)促進(jìn)數(shù)據(jù)合規(guī)流通的新技術(shù),隱私計(jì)算因其技術(shù)復(fù)雜性,市場尚不成熟,為了實(shí)現(xiàn)實(shí)際應(yīng)用中準(zhǔn)確性和計(jì)算效率之間的平衡,就需要深入研究討論形成安全等級統(tǒng)一劃分的共識[3]。
(3)隱私計(jì)算產(chǎn)品性能仍需提升也必然會繼續(xù)提升
隱私計(jì)算技術(shù)通過密碼學(xué)算法實(shí)現(xiàn)數(shù)據(jù)計(jì)算的隱私性,卻是一種通過“犧牲性能換取安全”的思路,雖然算法的不斷改進(jìn)、硬件的不斷優(yōu)化以及算力的不斷增強(qiáng)促進(jìn)了隱私計(jì)算的性能不斷提升,但相對于無需加密的目標(biāo)函數(shù)計(jì)算,由于其通信量和加密復(fù)雜度,在計(jì)算效率上仍存在先天劣勢。當(dāng)產(chǎn)品應(yīng)用逐步向更大數(shù)據(jù)規(guī)模、更多數(shù)據(jù)方、更復(fù)雜場景推廣時(shí),性能不足仍將成為關(guān)鍵阻礙。提升性能可以從算法層面優(yōu)化與硬件層面加速相結(jié)合。在算法層面,數(shù)據(jù)并行處理、算法并行操作或工作流水線并行進(jìn)行可以充分利用現(xiàn)有資源提升效率。另一方面,可以通過包括GPU、FPGA和ASIC等硬件將復(fù)雜運(yùn)算轉(zhuǎn)移至硬件設(shè)備執(zhí)行,以硬件加速方式縮短計(jì)算耗時(shí)。
當(dāng)前,隱私計(jì)算技術(shù)和工程化發(fā)展仍在突飛猛進(jìn),本次結(jié)合實(shí)際場景對當(dāng)前階段特定條件下的產(chǎn)品的性能表現(xiàn)進(jìn)行了初步探索。未來,行業(yè)組織、科研機(jī)構(gòu)、技術(shù)廠商、行業(yè)應(yīng)用方仍需繼續(xù)合力探索,完善測試方法和測試手段,升級完善隱私計(jì)算相關(guān)規(guī)范標(biāo)準(zhǔn),綜合考慮產(chǎn)品的性能與安全,共同促進(jìn)隱私計(jì)算行業(yè)健康高質(zhì)量發(fā)展。