国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種最小化安全多方計(jì)算任務(wù)的方法

2022-08-03 02:42姚友罡
計(jì)算機(jī)測量與控制 2022年7期
關(guān)鍵詞:參與方節(jié)點(diǎn)算法

姚友罡,肖 錚,2

(1.成都東軟學(xué)院 保衛(wèi)部,成都 611844;2.四川工商職業(yè)技術(shù)學(xué)院 信息工程系, 成都 611830)

0 引言

大數(shù)據(jù)分析是企業(yè)對外決策的關(guān)鍵環(huán)節(jié)之一,決策的數(shù)據(jù)往往來自不同的數(shù)據(jù)源。例如,從企業(yè)自身數(shù)據(jù)到城市數(shù)據(jù)、從基因數(shù)據(jù)到網(wǎng)絡(luò)數(shù)據(jù)等,跨數(shù)據(jù)實(shí)體(數(shù)據(jù)源)分析是數(shù)據(jù)分析的迫切需求。然而,隱私數(shù)據(jù)或機(jī)密數(shù)據(jù)泄露已成為跨數(shù)據(jù)源分析的主要障礙,工業(yè)界、學(xué)術(shù)界致力于尋找跨數(shù)據(jù)源分析的實(shí)用技術(shù)。安全多方計(jì)算(MPC)作為一種密碼技術(shù),允許獨(dú)立的參與方在不泄露自身私有輸入的情況下聯(lián)合執(zhí)行所需的計(jì)算,是跨數(shù)據(jù)源分析的常用技術(shù)之一。自20世紀(jì)70年代末提出MPC概念[1-3],到如今的30多年歷史里,一直是密碼學(xué)研究的活躍領(lǐng)域。近年來,MPC的研究取得了重大進(jìn)展[4-6],然而,由于以下四方面的原因,使得MPC的研究仍局限于概念驗(yàn)證階段[7]:

1)因涉及密碼學(xué)相關(guān)技術(shù),MPC應(yīng)用、部署較難。

2)MPC無法利用現(xiàn)有的成熟算法,需要從頭開始部署。

3)現(xiàn)有的MPC引擎是孤立設(shè)計(jì)的,不適應(yīng)如MapReduce之類的云編程范式。

4)MPC開發(fā)所需的編程/工程專業(yè)知識(shí)異于在敏感數(shù)據(jù)集上評估隱私泄露所需的專業(yè)知識(shí)。

與專注于MPC協(xié)議原語的實(shí)現(xiàn)不同,從MPC技術(shù)在云計(jì)算環(huán)境中的實(shí)際應(yīng)用與企業(yè)項(xiàng)目開發(fā)角度考慮如何處理這些問題,即將MPC集成到云計(jì)算的編程范式中。更具體地說,同時(shí)擴(kuò)展了MPC的MapReduce實(shí)現(xiàn)技術(shù),允許多方利用自己的計(jì)算資源,支持多方計(jì)算(MPC)和MapReduce的混合編程。本文的創(chuàng)新點(diǎn)和主要貢獻(xiàn)如下:

首先構(gòu)建了MPC最小化的基本思想及實(shí)現(xiàn)步驟;其次,以線性聚類為例,提出了一種在確保安全性的同時(shí)最小化MPC實(shí)用計(jì)算的方法。該方法允許將計(jì)算劃分為MPC計(jì)算部分和非MPC計(jì)算部分,其中非MPC計(jì)算部分在本地簇完成,無需多方通信,可并發(fā)執(zhí)行,從而提高計(jì)算效率。最后,本文構(gòu)建了一個(gè)實(shí)驗(yàn)原型系統(tǒng),并以UCI數(shù)據(jù)集為例,驗(yàn)證了提出技術(shù)的可行性與正確性。

基于以上目標(biāo),全文的結(jié)構(gòu)安排為。第1節(jié)討論了大數(shù)據(jù)相關(guān)技術(shù),特別是MapReduce編程基礎(chǔ),常用的MPC實(shí)現(xiàn)技術(shù)以及MPC與非MPC相關(guān)的劃分技術(shù)。本文的技術(shù)創(chuàng)新性工作在第2節(jié)中展示,以線性聚類為例,分析MPC與非MPC劃分方法及與MapReduce混合編程技術(shù)。第3節(jié)展示了以UCI機(jī)器學(xué)習(xí)數(shù)據(jù)集為基礎(chǔ)的實(shí)驗(yàn)及實(shí)驗(yàn)結(jié)果數(shù)據(jù)。最后,第5節(jié)為結(jié)論以及對下一步工作的展望。

1 相關(guān)工作

文中主要討論提高M(jìn)PC計(jì)算效率的技術(shù)與方法,即如何有效地將MPC技術(shù)融入大數(shù)據(jù)處理流程,不涉及MPC協(xié)議原語的實(shí)現(xiàn)或大數(shù)據(jù)處理等技術(shù)問題。與本文相關(guān)的工作包括Pyspark數(shù)據(jù)分析技術(shù)、MPC技術(shù)以及提高M(jìn)PC運(yùn)行效率的現(xiàn)有方法與實(shí)踐等。

1.1 Pyspark數(shù)據(jù)分析技術(shù)

Pyspark源自Apache的Spark項(xiàng)目,是為實(shí)現(xiàn)用Python語言編寫Spark應(yīng)用程序而對Spark的封裝。作為Hadoop中MapReduce的改進(jìn)與替代方案,Spark引入了彈性分布式數(shù)據(jù)集(RDD, Resilient Distributed Datasets)這一基于內(nèi)存的數(shù)據(jù)結(jié)構(gòu),以適應(yīng)交互式、實(shí)時(shí)、分布式與容錯(cuò)的低延時(shí)應(yīng)用。Spark使應(yīng)用開發(fā)人員專心于業(yè)務(wù)邏輯的開發(fā)而無需擔(dān)心基礎(chǔ)架構(gòu)、環(huán)境等問題。文中利用Spark的并行處理能力,提高非MPC類計(jì)算的效率(完成的主要計(jì)算任務(wù)是矩陣乘法,該部分的內(nèi)容在2.3節(jié))。

1.2 MPC技術(shù)

安全多方計(jì)算作為一種通用的加密原語,在保護(hù)個(gè)人或組織數(shù)據(jù)隱私的同時(shí)實(shí)現(xiàn)多方私有數(shù)據(jù)的分析與挖掘。常借助電路 (布爾電路或算術(shù)電路)的概念以建立MPC的形式化定義。通用的安全多方計(jì)算的定義如定義1所示。

定義1:安全多方計(jì)算

在n個(gè)互不信任的參與方之間的安全多方計(jì)算(函數(shù))F,常用是一個(gè)三元組來表示:

F=(C,Ti,To}

(1)

其中:C表示電路,是用戶需求、功能、算法的抽象;Ti表示輸入方及其輸入數(shù)據(jù)的集合;To表示輸出方及其輸出數(shù)據(jù)的集合。在F的計(jì)算過程中,要求任意參與方pi除獲得自身的輸出信息外,均不能獲得其他參與方的任何輸入或輸出信息。MPC的這一定義是較為嚴(yán)格的,實(shí)際應(yīng)用中往往放寬某些限制,以提高效率。

已有一些基本子協(xié)議(技術(shù))用于構(gòu)建MPC協(xié)議:這些子協(xié)議(技術(shù))主要包括:1)不經(jīng)意傳輸(OT,oblivious transfer)協(xié)議;2)加密電路(GC,garbled circuit)技術(shù);3)同態(tài)加密(HE,homomorphic encryption)技術(shù)以及秘密共(SS,secret sharing)協(xié)議。從這些基礎(chǔ)協(xié)議構(gòu)建MPC實(shí)用程序不是易事,需要了解密碼學(xué)的相關(guān)知識(shí)。目前業(yè)界已提出MPC的實(shí)可編程式現(xiàn)框架,這些框架主要包括Obliv-C、ObliVM、SPDZ、Sharemind等。在實(shí)際應(yīng)用中,借助于技術(shù)實(shí)現(xiàn)框架,即便是不具備密碼學(xué)專業(yè)知識(shí)的應(yīng)用程序開發(fā)人員也能編寫實(shí)現(xiàn)數(shù)據(jù)安全分析的任務(wù)。另一方面,雖然這些框架都是基于MPC技術(shù)獨(dú)立實(shí)現(xiàn)的,但各自擁有不同的特性及優(yōu)缺點(diǎn)。因ObliVM及SPDZ不再維護(hù)或更新,本文的實(shí)驗(yàn)部分,采用了Obliv-c及Sharemind的作為MPC的評估版。為此,表1列出了這兩種框架的特點(diǎn)差異。

表1 常用MPC實(shí)現(xiàn)框架特點(diǎn)對比

1.3 現(xiàn)有方法

在本小節(jié)中,先后簡要描述了加速M(fèi)PC計(jì)算的方法,以提高多方計(jì)算高效可行。目前,有兩種互補(bǔ)的提高M(jìn)PC計(jì)算效率的方法。其一是直接提高M(jìn)PC計(jì)算協(xié)議并發(fā)度;其二采用混合MPC計(jì)算。前者從MPC協(xié)議角度出發(fā),通過并發(fā)實(shí)現(xiàn)茫然計(jì)算。這種對MPC效率的改進(jìn)有限,特別是不適應(yīng)大數(shù)據(jù)處理需求。后者將安全計(jì)算按照一定的規(guī)則劃分為不安全的非MPC類計(jì)算及少量的安全MPC類計(jì)算,通過提高非MPC類計(jì)算的效率間接提高計(jì)算的整體效率。兩種方式都基于到MapReduce編程范式的基本思想,文中著眼于第二種實(shí)現(xiàn)方式。

文獻(xiàn)[9-10]先后提出并證明“并行有助于不經(jīng)意”以及流式MapReduce的概念以及任何在流式MapReduce抽象中編寫的程序都可以被轉(zhuǎn)換為高效的不經(jīng)意的算法,并利用這一想法涉及了網(wǎng)絡(luò)ORAM方案。Liu等人[11]等人則基于MapReduce編程抽象構(gòu)建MPC實(shí)現(xiàn)框架,即ObliVM 同年,Kartik等[4]設(shè)計(jì)并實(shí)現(xiàn)的GraphSC框架都屬于提高M(jìn)PC計(jì)算協(xié)議并發(fā)度的范疇。

Rastogi[12]等首先提出了混合MPC計(jì)算方法,其中非MPC的計(jì)算,各參與方在本地獨(dú)立完成作業(yè),類似普通的應(yīng)用程序。MPC計(jì)算部分由各參與方協(xié)同,共同完成。然而,在Rastogi等人的設(shè)計(jì)中,需要程序設(shè)計(jì)人員手動(dòng)標(biāo)注非MPC類及MPC類計(jì)算。雖然這些標(biāo)注是精細(xì)化的,但程序設(shè)計(jì)人員需要具備專業(yè)的MPC知識(shí),使其應(yīng)用受到限制。在此基礎(chǔ)上,文獻(xiàn)[12]進(jìn)一步將MapReduce編程范式融入到本地非MPC計(jì)算中。在他們的設(shè)計(jì)中,參與計(jì)算的節(jié)點(diǎn)可以分為兩種類型:控制節(jié)點(diǎn)和工作節(jié)點(diǎn)。其中,控制器節(jié)點(diǎn)作為任務(wù)分配器、作業(yè)監(jiān)督器以及任務(wù)同步器并作為節(jié)點(diǎn)間共享公共數(shù)據(jù)的存儲(chǔ)介質(zhì);工作節(jié)點(diǎn)跨參與方完成MPC任務(wù),如訪問參與方自身的私有數(shù)據(jù),充當(dāng)本地MapReduce任務(wù)的執(zhí)行器。文獻(xiàn)[14-15]借助有向無環(huán)圖(DAG)研究與查詢相關(guān)的MPC計(jì)算及其可擴(kuò)展性問題。與上述工作不同,文中以線性回歸問題及其擴(kuò)展為主要研究目標(biāo)。

2 實(shí)現(xiàn)方法

本節(jié)首先介紹了最小化安全多方計(jì)算的基本思想及步驟,然后以線性回歸模型為例具體討論相關(guān)技術(shù)及方法。

2.1 基本思想及步驟

本文提出的最小化安全多方計(jì)算(下文常稱為計(jì)算)的基本思想是使MPC類的計(jì)算盡可能少,只實(shí)現(xiàn)必要的MPC,即能不用MPC實(shí)現(xiàn)的盡可能不采用。如何能最小化MPC類的計(jì)算,本文提出將計(jì)算分解、轉(zhuǎn)換為有向圖,進(jìn)而簡化MPC,重構(gòu)MPC算法。步驟總結(jié)如下:

1)確定數(shù)據(jù)的屬主。根據(jù)算法所屬數(shù)據(jù)屬主的差異,確定數(shù)據(jù)的“主人”。

2)確定信任標(biāo)注(可選)。根據(jù)數(shù)據(jù)屬主,確定參與者之間的信任關(guān)系。這種信任關(guān)系可能繁殖,或者終止,這些工作采用自動(dòng)以及交互的方式來實(shí)現(xiàn)。

3)算法重寫。即獲得與當(dāng)前算法等效的算法,但其需要的MPC類計(jì)算更少。區(qū)分本地計(jì)算以及多方計(jì)算等;采用的技術(shù)包括信任繁衍、組合、分割。

4)MPC優(yōu)化。MPC優(yōu)化技術(shù)包括:MPC前端(MPC操作與本地明文操作之間的邊界)下移、MPC前端上移以及混合操作(如混合聯(lián)接、公共聯(lián)接和混合聚合)等。

5)算法優(yōu)化。除了對單個(gè)計(jì)算節(jié)點(diǎn)的優(yōu)化,算法的整體性能也應(yīng)優(yōu)化。常用的方法是減少對MPC底層算法的依賴。

本節(jié)的余下部分以線性回歸預(yù)測模型為例,討論最小化MPC計(jì)算的實(shí)現(xiàn)方法。

2.2 線性回歸模型

線性回歸預(yù)測模型是一種有監(jiān)督的學(xué)習(xí)算法,是許多機(jī)器學(xué)習(xí)算法的基本組成部分。它通過擬合訓(xùn)練數(shù)據(jù)集的線性曲線來獲得目標(biāo)模型并實(shí)現(xiàn)預(yù)測,該模型的通用公式如式(2)所示。

Y=Xθ+ε

(2)

式中,Y∈Rn,是由n個(gè)元素的列向量組成的目標(biāo)變量,也稱為標(biāo)簽或因變量;X∈Rn×d,是n行d維的輸入向量,即因變量;θ∈Rn,稱為擬合參數(shù)或模型參數(shù),ε是為了平衡模型兩邊的值而添加的部分,稱為誤差項(xiàng)。

求解方程(1)中的模型參數(shù)的過程稱為模型的學(xué)習(xí),常通過最小化均方誤差來求解,如式(3)所示。

(3)

式(3)稱為線性回歸的目標(biāo)函數(shù)。更一般地,線性回歸模型的目標(biāo)函數(shù)可寫為如式(4)所示。

(4)

首先展開平方項(xiàng)得等待如下的式子:

(5)

式(5)對θ的一階偏導(dǎo)數(shù)為:

(6)

在式(6)中,令導(dǎo)數(shù)等于0,可知回歸系數(shù)滿足式(7):

(7)

如第1節(jié)所述,提高大數(shù)據(jù)分析的安全計(jì)算效率的基本思路是,盡量降低MPC類計(jì)算的需求,為此文中采用如下兩階段的優(yōu)化措施。

2.3 數(shù)據(jù)計(jì)算優(yōu)化

該階段從計(jì)算的內(nèi)在需求出發(fā),找出MPC類計(jì)算與非MPC類計(jì)算部分。為計(jì)算式(7)需考慮兩種不同的數(shù)據(jù)分布情況:1)數(shù)據(jù)在參與方間水平分割,即一個(gè)參與者有一條完美的;2)數(shù)據(jù)在參與方間垂直分割。

2.3.1 數(shù)據(jù)水平分割

該階段從計(jì)算的內(nèi)在需求出發(fā),找出MPC類計(jì)算與非MPC類計(jì)算部分。為計(jì)算式(7)需考慮兩種不同的數(shù)據(jù)分布情況:1)數(shù)據(jù)在參與方之間水平分割;2)數(shù)據(jù)在參與方之間垂直分割。

2.3.2 數(shù)據(jù)垂直分割

在垂直分割下,數(shù)據(jù)X按屬性劃分,并由各參與方持有。即X=[x1,x2,...,xi],xi∈Rn×β(β?d)由參與方i持有。特別地,考慮兩方參與的情況,即數(shù)據(jù)X被劃分成X1,X2兩個(gè)子集,并分別由參與方p1和p2方持有。變量Y由其中一方持有,這里假設(shè)Y由p2持有。則式(7)中的因子XTX可以用式(8)表示:

(8)

XTY的結(jié)果如式(9)所示:

(9)

2.4 計(jì)算流程優(yōu)化

該階段從計(jì)算需求出發(fā),使用DAG (Directed Acyclic Graph)圖來表示計(jì)算流程,并利用DAG圖的內(nèi)在聯(lián)系,進(jìn)一步降低MPC類的計(jì)算需求。在利用共軛梯度下降法求解式(7)的解時(shí),參考文獻(xiàn)[8]可得如算法1所示求解思路。

使用DAG圖表示程序流程及模板的通用性,如圖1(a)所示。圖中圓形內(nèi)的阿拉伯?dāng)?shù)字對應(yīng)算法1中的序號,圓形旁的字符是參與方的縮寫。

圖1 安全計(jì)算流程及其改進(jìn)措施

算法1:優(yōu)化的安全多方(以兩方為例)計(jì)算求解算法

參與方:數(shù)據(jù)提供者p1、p2,可信初始值設(shè)定者TI/加密服務(wù)提供商CSP、電路評估者evaluator

輸出:數(shù)據(jù)提供者共同學(xué)習(xí)到的模型參數(shù)θ

6)CSP生成重構(gòu)及求解式(6)的混淆電路C ,并將其發(fā)送給評估者evaluator。

7)數(shù)據(jù)提供者與加密服務(wù)提供商CSP之間利用茫然傳輸協(xié)議獲取其在混淆電路C中的共享輸入,并將該共享值轉(zhuǎn)發(fā)給電路評估者evaluator。

對于處理的數(shù)據(jù),為提高安全計(jì)算的效率,增加三方面的額外信息:1) 增加計(jì)算數(shù)據(jù)所有者域及數(shù)據(jù)所有者傳遞規(guī)則(某計(jì)算節(jié)點(diǎn)的數(shù)據(jù)所有者域由該節(jié)點(diǎn)的數(shù)據(jù)提供者及其輸入弧傳遞進(jìn)來的數(shù)據(jù)所有者共同確定,數(shù)據(jù)所有者沿圖結(jié)構(gòu)向下傳遞,受信任標(biāo)識(shí)集的影響而可能終止)。2) 增加計(jì)算結(jié)果數(shù)據(jù)的接收者域(由弧的終點(diǎn)確定)。3) 增加數(shù)據(jù)安全處理需求,用于表示該數(shù)據(jù)是否需要在MPC下完成計(jì)算。例如,圖1(a)中,計(jì)算節(jié)點(diǎn)①的沒有輸入弧(入度為0),即該節(jié)點(diǎn)沒有輸入數(shù)據(jù),其數(shù)據(jù)所有者域僅包含該節(jié)點(diǎn)自身,即可信初始值設(shè)定者TI。該節(jié)點(diǎn)有兩條輸出弧(出度為2),表示該節(jié)點(diǎn)有兩條輸出信息,其接收者分別是兩條弧指向的節(jié)點(diǎn),即數(shù)據(jù)提供方p1和p2。同時(shí)該節(jié)點(diǎn)數(shù)據(jù)不包含隱私信息,僅需通過安全通道傳遞給接收方即可,可見針對該節(jié)點(diǎn)的計(jì)算無需在MPC下執(zhí)行。

增加數(shù)據(jù)信任標(biāo)識(shí)集,即由數(shù)據(jù)提供者授權(quán)的可在明文狀態(tài)下(非MPC計(jì)算類)使用其數(shù)據(jù)的使用方構(gòu)成的集合。例如公共數(shù)據(jù)或多方共享數(shù)據(jù)的所有者構(gòu)成了這些數(shù)據(jù)的信任標(biāo)識(shí)集,同時(shí)信任標(biāo)識(shí)集也可以是權(quán)威數(shù)據(jù)管理機(jī)構(gòu),他們擁有參與方的原始數(shù)據(jù)。信任標(biāo)識(shí)集里的各參與方在明文狀態(tài)下使用數(shù)據(jù),降低了計(jì)算成本。

節(jié)點(diǎn)分裂與繁殖,即將復(fù)雜的MPC類計(jì)算節(jié)點(diǎn)細(xì)分成MPC類計(jì)算節(jié)點(diǎn)與非MPC類計(jì)算節(jié)點(diǎn)。目前,存在3種方式實(shí)現(xiàn)節(jié)點(diǎn)分裂與繁殖。其一是利用上述兩項(xiàng)措施,即當(dāng)節(jié)點(diǎn)計(jì)算執(zhí)行參與方是節(jié)點(diǎn)計(jì)算數(shù)據(jù)的所有者或者執(zhí)行方屬于節(jié)點(diǎn)數(shù)據(jù)的信任標(biāo)識(shí)集,該類計(jì)算可以劃分為非MPC類計(jì)算。其二是通過添加混合協(xié)議,即將部分高負(fù)載的MPC類計(jì)算在可信方完成,從而分離出非MPC計(jì)算類與輕負(fù)載的MPC計(jì)算類,其三是利用數(shù)據(jù)已有計(jì)算結(jié)果及數(shù)據(jù)混淆技術(shù)減少計(jì)算茫然性的需求。節(jié)點(diǎn)分裂與繁殖進(jìn)一步減輕了MPC計(jì)算負(fù)載。

圖1(a)的DAG圖,在經(jīng)過上述處理后步驟后的DAG圖如圖1(b)所示。其中帶方框的節(jié)點(diǎn)屬于非MPC計(jì)算類。從中可以看出MPC安全計(jì)算結(jié)點(diǎn)的數(shù)量有所降低。

3 實(shí)驗(yàn)與評估

3.1 實(shí)驗(yàn)設(shè)置

本節(jié)建立了以Python編程語言為基礎(chǔ)的實(shí)驗(yàn)開發(fā)環(huán)境。為突出實(shí)驗(yàn)效果,實(shí)驗(yàn)共設(shè)置了4個(gè)參與節(jié)點(diǎn),各節(jié)點(diǎn)都配置有4核CPU(2.4G)以及8G的內(nèi)存。其中2個(gè)作為數(shù)據(jù)提供者;一個(gè)作為可信初始值設(shè)定者TI及加密服務(wù)提供商;另一個(gè)作為數(shù)據(jù)評估者。各參與節(jié)點(diǎn)都配備有本地Pyspark組件、MPC組件、私有數(shù)據(jù)訪問與存儲(chǔ)接口以及用于與控制器節(jié)點(diǎn)通信的網(wǎng)絡(luò)接口。其中,評估節(jié)點(diǎn)以及兩個(gè)數(shù)據(jù)提供者節(jié)點(diǎn)組成了含3節(jié)點(diǎn)的Spark獨(dú)立集群。評估節(jié)點(diǎn)作為Spark的主節(jié)點(diǎn),數(shù)據(jù)提供者節(jié)點(diǎn)是Spark的工作者節(jié)點(diǎn)。MPC組件的實(shí)現(xiàn)采用的是Obliv-c,通過Python的模板替換工具Pystache,以及算法流程的DAG圖自動(dòng)生成MPC與非MPC代碼。評估用的數(shù)據(jù)集來自UCI機(jī)器學(xué)習(xí)數(shù)據(jù)集,數(shù)據(jù)集及其主要特性如表2所示。各數(shù)據(jù)集按7∶3的比例隨機(jī)選取作為訓(xùn)練數(shù)據(jù)集與測試數(shù)據(jù)集,并將數(shù)據(jù)按1∶1的比例隨機(jī)分配給數(shù)據(jù)提供者p1和p2。

表2 實(shí)驗(yàn)數(shù)據(jù)集及其主要特性

基于以上的實(shí)驗(yàn)設(shè)置,主要完成了以下兩方面的評估指標(biāo)。

運(yùn)行時(shí)間:針對不同數(shù)據(jù)集,在不同MPC優(yōu)化層次下(包括在Pyspark下的全明文技術(shù))運(yùn)行時(shí)間不同的優(yōu)化參數(shù)對MPC運(yùn)行時(shí)間的影響。

預(yù)測精度:即在各種設(shè)置下所獲得的預(yù)測值與真實(shí)值之間的根均方誤差(RMSE)。

3.2 實(shí)驗(yàn)評估

本節(jié)從運(yùn)行時(shí)間及精度兩方面討論算法的性能。

3.2.1 運(yùn)行時(shí)間

針對不同的數(shù)據(jù)集,在相同的設(shè)置(如3.1節(jié)所述)不同的安全配置(全明文Pyspark、現(xiàn)有安全多方計(jì)算Obliv-c以及文中的優(yōu)化設(shè)置)下,各重復(fù)實(shí)驗(yàn)10次,記錄其平均值,實(shí)驗(yàn)結(jié)果如表3所示。

表3 不同設(shè)置下各數(shù)據(jù)集所需運(yùn)行時(shí)間

實(shí)驗(yàn)結(jié)果表明,所有不同的安全配置下運(yùn)行時(shí)間都隨記錄數(shù)的增加而增加,同時(shí)運(yùn)行時(shí)間也受數(shù)據(jù)維度的影響。總體而言,全明文分析所需的時(shí)間最少,現(xiàn)有安全多方計(jì)算(Obliv-c)所需時(shí)間最多,本文提出的方法與全明文分析所需時(shí)間十分接近。另外,可以注意到當(dāng)記錄數(shù)達(dá)到萬級以上時(shí),Obliv-c的運(yùn)行耗時(shí)迅速增加,如本例中的CT slices數(shù)據(jù)集,其運(yùn)行時(shí)間在25分鐘。當(dāng)記錄數(shù)繼續(xù)增加時(shí),該方案甚至不可接受,如本例的Gas sensor數(shù)據(jù)集。可見文中提出的方法顯著降提高了運(yùn)行效率,提高了應(yīng)用在時(shí)間的可行性。接下來分析該方案在精度上能否滿足要求。

3.2.2 精度

與3.2.1節(jié)運(yùn)行時(shí)間設(shè)置相同,同時(shí)記錄了現(xiàn)有安全多方計(jì)算Obliv-c以及文中的優(yōu)化設(shè)置兩種情況下的根均方誤差,如表4所示。

表4 不同設(shè)置下各數(shù)據(jù)集的根均方誤差

可見,各種方法在精度上的差異并不顯著,3種安全配置下的根均方誤差大致相同,即文中設(shè)計(jì)的方法(在現(xiàn)有技術(shù)條件下)滿足精度需要。

4 結(jié)束語

本文以數(shù)據(jù)分析中的常用方法——線性回歸為例討論在安全多方計(jì)算中如何提高數(shù)據(jù)分析的效率。提出的優(yōu)化措施包括:計(jì)算優(yōu)化以及執(zhí)行流程優(yōu)化。在實(shí)驗(yàn)部分,針對UCI真實(shí)數(shù)據(jù)集完成的實(shí)驗(yàn)驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,文中提出的方案在精度、時(shí)間上都是可行的。下一步準(zhǔn)備將混合MPC以及MPC并行化相結(jié)合,進(jìn)一步驗(yàn)證文中提出的方法的可行性。另一方面,如何將混合MPC技術(shù)推廣,以適應(yīng)更多的真實(shí)應(yīng)用場景也是未來工作方向之一。同時(shí)如何減少對可信初始值設(shè)定者、加密服務(wù)提供商、電路評估者的信任和依賴,從而提高系統(tǒng)可信性,也是未來應(yīng)考慮的主要工作之一。以去信任為中心的區(qū)塊鏈技術(shù)提供了相應(yīng)的解決思路。

猜你喜歡
參與方節(jié)點(diǎn)算法
分區(qū)域的樹型多鏈的無線傳感器網(wǎng)絡(luò)路由算法
一種基于能量和區(qū)域密度的LEACH算法的改進(jìn)
信托在供應(yīng)鏈金融中的運(yùn)用研究
Travellng thg World Full—time for Rree
基于點(diǎn)權(quán)的混合K-shell關(guān)鍵節(jié)點(diǎn)識(shí)別方法
基于SNA視角的PPP項(xiàng)目參與方行為風(fēng)險(xiǎn)研究
BT模式研究
學(xué)習(xí)算法的“三種境界”
算法框圖的補(bǔ)全
算法初步知識(shí)盤點(diǎn)
大宁县| 中江县| 金秀| 涡阳县| 建平县| 久治县| 惠安县| 宜川县| 依安县| 原阳县| 大关县| 黔南| 鹿泉市| 长岭县| 文昌市| 涞源县| 冀州市| 徐水县| 丰原市| 马关县| 涪陵区| 凌云县| 旌德县| 娱乐| 南充市| 浦城县| 曲阳县| 涟源市| 盘山县| 渭南市| 齐河县| 镶黄旗| 安龙县| 石楼县| 景德镇市| 和政县| 拜城县| 夏河县| 丁青县| 贞丰县| 江陵县|