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