亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

使用部分同態(tài)加密和掩碼的隱私保護嶺回歸的制作方法

文檔序號:11815261閱讀:583來源:國知局
使用部分同態(tài)加密和掩碼的隱私保護嶺回歸的制作方法與工藝
本申請要求于2013年3月4日提交的美國臨時申請No.61/772,404的權(quán)益,將其以全文引用的方式并入本文中。本申請還涉及同時提交的題為“隱私保護嶺回歸”和“使用掩碼的隱私保護嶺回歸”的申請,將其以全文引用的方式并入本文中。
技術(shù)領(lǐng)域
本發(fā)明一般地涉及數(shù)據(jù)挖掘,更具體地,涉及使用嶺回歸(ridgeregression)在數(shù)據(jù)挖掘期間保護隱私。
背景技術(shù)
:推薦系統(tǒng)通過收集很多用戶對不同物品的偏好和評價并對數(shù)據(jù)運行學(xué)習(xí)算法來工作。學(xué)習(xí)算法產(chǎn)生可以用于預(yù)測新用戶將如何評價某些物品的模型。具體地,在給定一用戶對某些物品提供的評價的情況下,該模型可以預(yù)測該用戶對其他物品將如何評價。存在用于產(chǎn)生這種預(yù)測模型的海量算法,且很多算法被積極地用在大型網(wǎng)站如亞馬遜(Amazon)和網(wǎng)飛(Netflix)上。學(xué)習(xí)算法還被用在大型醫(yī)療數(shù)據(jù)庫、金融數(shù)據(jù)和很多其他領(lǐng)域中。在當(dāng)前實現(xiàn)中,為了構(gòu)建預(yù)測模型,學(xué)習(xí)算法必須以明文(intheclear)看到所有用戶數(shù)據(jù)。在本公開中,確定學(xué)習(xí)算法是否可以在數(shù)據(jù)不處于明文狀態(tài)下工作,由此允許用戶保留對其數(shù)據(jù)的控制。對于醫(yī)療數(shù)據(jù),這允許在不影響用戶隱私的情況下構(gòu)建模型。對于書籍和電影偏好,讓用戶保持對其數(shù)據(jù)的控制降低了將來在服務(wù)提供商處發(fā)生數(shù)據(jù)泄漏的情況下意外處于窘境的風(fēng)險。大致說來,存在對私有用戶數(shù)據(jù)進行數(shù)據(jù)挖掘的三種現(xiàn)有方案。第一種方案讓用戶使用秘密共享將其數(shù)據(jù)分割在多個服務(wù)器上。然后,這些服務(wù)器使用分布式協(xié)議來運行學(xué)習(xí)算法,且只要大多數(shù)服務(wù)器不進行串通,就確保了隱私。第二種方案基于全同態(tài)加密(fullyhomomorphicencryption),在全同態(tài)加密中,針對加密數(shù)據(jù)執(zhí)行學(xué)習(xí)算法,且僅受信第三方被托付來對最終加密模型進行解密。在第三種方案中,Yao氏混淆(garbled)電路構(gòu)造可以用于針對加密數(shù)據(jù)進行計算,并獲得最終模型,而不了解與用戶數(shù)據(jù)有關(guān)的任何其它信息。然而,基于Yao的方案之前從未被應(yīng)用到回歸(regression)類算法中。技術(shù)實現(xiàn)要素:提出了用于隱私保護嶺回歸的混合方案,其既使用同態(tài)加密也使用Yao混淆電路。系統(tǒng)中的用戶提交其在線性同態(tài)加密系統(tǒng)(例如,Paillier或Regev)下加密的數(shù)據(jù)。評估方使用線性同態(tài)來執(zhí)行算法的僅要求線性運算的第一階段。該階段產(chǎn)生加密數(shù)據(jù)。在該第一階段中,系統(tǒng)需要處理大量記錄(正比于系統(tǒng)中的用戶數(shù)目n)。在該第一階段中的處理對數(shù)據(jù)進行準(zhǔn)備,使得算法的第二階段獨立于n。在第二階段中,評估方對Yao混淆電路進行評估,Yao混淆電路首先實現(xiàn)同態(tài)解密,然后進行回歸算法的其余部分(如圖所示,優(yōu)化實現(xiàn)可以避免混淆電路中的解密)。回歸算法的該步驟要求快速的線性系統(tǒng)求解器,并且是高度非線性的。對于該步驟,Yao混淆電路方案遠(yuǎn)快于當(dāng)前的全同態(tài)加密方案。因此,通過使用線性同態(tài)來處理大數(shù)據(jù)集并且將混淆電路用于繁重的非線性計算部分,可以同時獲得兩種方案的優(yōu)點。由于將計算分為兩個階段,第二階段還獨立于n。在一個實施例中,提供了用于隱私保護嶺回歸的方法。該方法包括以下步驟:向加密服務(wù)提供商請求混淆電路(garbledcircuit);從多個用戶收集被格式化且使用部分同態(tài)加密(partiallyhomomophicencryption)來加密的數(shù)據(jù);對被格式化且使用部分同態(tài)加密來加密的數(shù)據(jù)進行求和;對求和后的數(shù)據(jù)應(yīng)用準(zhǔn)備好的掩碼;使用不經(jīng)意傳輸(oblivioustransfer)從加密服務(wù)提供商接收與準(zhǔn)備好的掩碼相對應(yīng)的混淆輸入;以及使用混淆輸入和被掩碼的數(shù)據(jù)對來自加密服務(wù)提供商的混淆電路進行評估。在另一實施例中,提供了用于隱私保護嶺回歸的計算設(shè)備。該計算設(shè)備包括:存儲設(shè)備、存儲器和處理器。該存儲設(shè)備用于存儲用戶數(shù)據(jù)。該存儲器用于存儲用于處理的數(shù)據(jù)。該處理器被配置為:向加密服務(wù)提供商請求混淆電路;從多個用戶收集被格式化且使用同態(tài)加密來加密的數(shù)據(jù);對被格式化且使用同態(tài)加密來加密的數(shù)據(jù)進行求和;對求和后的數(shù)據(jù)應(yīng)用準(zhǔn)備好的掩碼;使用不經(jīng)意傳輸從加密服務(wù)提供商接收與準(zhǔn)備好的掩碼相對應(yīng)的混淆輸入;以及使用混淆輸入和被掩碼的數(shù)據(jù)對來自加密服務(wù)提供商的混淆電路進行評估。目標(biāo)和優(yōu)點將借助權(quán)利要求中具體指出的要素和結(jié)合來實現(xiàn)和達(dá)成。重要的是注意到:所公開的實施例僅是本文中創(chuàng)新教導(dǎo)的許多有利用途的示例。應(yīng)當(dāng)理解,前面的總體描述和以下具體實施方式均是示例性和解釋性的,而非對所要求保護的發(fā)明的限制。此外,一些聲明可以適用于某些創(chuàng)造性特征,而不適用于其他創(chuàng)造性特征??傮w上,除非另行指示,否則在不失一般性的情況下,單數(shù)要素可以是復(fù)數(shù)個。在附圖中,相同標(biāo)號在若干副圖中始終表示相同部分。附圖說明圖1示出了根據(jù)實施例的隱私保護嶺回歸系統(tǒng)的示意框圖。圖2示出了根據(jù)實施例的計算設(shè)備的示意框圖。圖3示出了根據(jù)實施例的示例混淆電路。圖4示出了根據(jù)實施例的用于提供隱私保護嶺回歸的方法的高級流程圖。圖5示出了根據(jù)實施例的用于提供隱私保護嶺回歸的第一協(xié)議的操作。圖6示出了根據(jù)實施例的用于提供隱私保護嶺回歸的第一協(xié)議的操作。圖7示出了根據(jù)實施例的Cholesky分解算法的示例實施例。具體實施方式本公開關(guān)注于在很多學(xué)習(xí)算法中使用的基礎(chǔ)機制,即嶺回歸。在給定高維中的大量點的情況下,回歸算法產(chǎn)生穿過這些點的最佳擬合曲線。目標(biāo)是在不暴露用戶數(shù)據(jù)或關(guān)于用戶數(shù)據(jù)的任何其他信息的情況下執(zhí)行計算。這通過使用圖1所示的系統(tǒng)來實現(xiàn)。在圖1中,提供了用于實現(xiàn)隱私保護嶺回歸的系統(tǒng)100的實施例的框圖。該系統(tǒng)包括彼此通信的評估方110、一個或多個用戶120和加密服務(wù)提供商(CSP)130。評估方110實現(xiàn)在計算設(shè)備如服務(wù)器或個人計算機(PC)上。CSP130類似地實現(xiàn)在計算設(shè)備如服務(wù)器或個人計算機上,并通過網(wǎng)絡(luò)(例如,以太網(wǎng)或Wi-Fi網(wǎng)絡(luò))與評估方110通信。一個或多個用戶120經(jīng)由計算設(shè)備(例如,個人計算機、平板電腦、智能電話等)與評估方110和CSP130通信。用戶120(從例如PC)向(在例如服務(wù)器上)運行學(xué)習(xí)算法的評估方110發(fā)送加密數(shù)據(jù)。在某些方面,評估方可以與被相信不會與評估方110串通的(另一服務(wù)器上的)加密服務(wù)提供商130交互。最終結(jié)果是明文預(yù)測模型β140。圖2示出了示例計算設(shè)備200,例如服務(wù)器、PC、平板電腦或智能電話,其可用于實現(xiàn)用于隱私保護嶺回歸的各種方法和系統(tǒng)元件。計算設(shè)備200包括一個或多個處理器210、存儲器(內(nèi)存)220、存儲設(shè)備230和網(wǎng)絡(luò)接口240。這些元件中的每一個將在下面詳細(xì)討論。處理器210控制電子服務(wù)器200的操作。處理器200運行軟件,該軟件操作該服務(wù)器并提供冷啟動(coldstart)推薦功能。處理器210連接到存儲器220、存儲設(shè)備230以及網(wǎng)絡(luò)接口240,并負(fù)責(zé)這些元件之間信息的傳輸和處理。處理器210可以是通用處理器或者專門用于特定功能的處理器。在某些實施例中,可以存在多個處理器。存儲器220是存儲要由處理器執(zhí)行的指令和數(shù)據(jù)的地方。存儲器210可以包括易失性存儲器(RAM)、非易失性存儲器(EEPROM)或者其他合適的介質(zhì)。存儲設(shè)備230是存儲處理器在執(zhí)行本公開的冷存儲(coldstorage)推薦方法時所使用和產(chǎn)生的數(shù)據(jù)的地方。存儲設(shè)備可以是磁介質(zhì)(硬盤驅(qū)動器)、光介質(zhì)(CD/DVD-Rom)或基于閃存的存儲設(shè)備。網(wǎng)絡(luò)接口240處理服務(wù)器200通過網(wǎng)絡(luò)與其他設(shè)備的通信。合適網(wǎng)絡(luò)的示例是以太網(wǎng)。在給定本公開的教益的情況下,本領(lǐng)域技術(shù)人員將清楚其他類型的合適家庭網(wǎng)絡(luò)。應(yīng)當(dāng)理解,圖2中闡述的元件是示例性的。服務(wù)器200可以包括任意數(shù)目的元件,且某些元件可以提供其他元件的部分或全部功能。在給定本公開的教益的情況下,本領(lǐng)域技術(shù)人員將清楚其他可能的實現(xiàn)。設(shè)置和威脅模型A、架構(gòu)和實體返回圖1,系統(tǒng)100被設(shè)計為供很多用戶120向被稱為評估方110的中央服務(wù)器貢獻數(shù)據(jù)。評估方110針對所貢獻的數(shù)據(jù)執(zhí)行回歸,并產(chǎn)生模型β140,其稍后可以用于預(yù)測或推薦任務(wù)。更具體地,每個用戶i=1;…;n具有包括兩個變量和在內(nèi)的私有記錄,且評估方希望計算——即,模型——使得目標(biāo)是確保評估方了解不到除了β140所揭示的信息(回歸算法的最終結(jié)果)以外的關(guān)于用戶記錄的任何信息。為了初始化該系統(tǒng),需要第三方,其在本文中被稱為“加密服務(wù)提供商”,該第三方以離線方式進行其大部分工作。更具體地,系統(tǒng)中的各方如下,如圖1所示?!裼脩?20:每個用戶i具有以加密方式向評估方110發(fā)送的私有數(shù)據(jù)xi和yi?!裨u估方110:對加密數(shù)據(jù)運行回歸算法,并以明文獲得學(xué)習(xí)模型β140?!窦用苄畔⑻峁┥?CSP)130:通過向用戶120和評估方110給出設(shè)置參數(shù)來初始化系統(tǒng)100。在用戶120向評估方110貢獻其數(shù)據(jù)之前很久,CSP130以離線方式進行其大部分工作。在最高效的設(shè)計中,當(dāng)評估方110計算模型β140時,一輪短的在線步驟也需要CSP130。B、威脅模型目標(biāo)是確保評估方110和CSP130不能了解到由學(xué)習(xí)算法的最終結(jié)果揭示的信息以外的關(guān)于用戶120所貢獻的數(shù)據(jù)的任何信息。在評估方110與某些用戶120串通的情況下,用戶120應(yīng)當(dāng)不能了解到由學(xué)習(xí)算法的結(jié)果揭示的信息以外的關(guān)于其他用戶120所貢獻的數(shù)據(jù)的信息。在本示例中,假定評估方110最感興趣的是產(chǎn)生正確的模型β140。因此,本實施例不關(guān)心嘗試破壞計算以希望產(chǎn)生不正確結(jié)果的惡意評估方110。然而,評估方110有動機進行不當(dāng)行為并了解到關(guān)于用戶120所貢獻的私有數(shù)據(jù)的信息,因為該數(shù)據(jù)可以潛在地被賣給其他方,例如廣告商。因此,即使是惡意評估方110,也應(yīng)當(dāng)不能了解到由學(xué)習(xí)算法的結(jié)果揭示的信息以外的關(guān)于用戶數(shù)據(jù)的任何信息。本文中闡述了僅針對“誠實但是好奇的評估方”安全的基本協(xié)議。無威脅:該系統(tǒng)并未被設(shè)計為抵御以下攻擊:●假定評估方110和CSP130不串通。其各自可能如上所述嘗試破壞系統(tǒng),但是獨立進行。更具體地,當(dāng)討論安全性時,假定這兩方之中最多一方是惡意的(這是本質(zhì)要求,沒有該要求則不可能實現(xiàn)安全性)。●假定設(shè)置正確工作,即所有用戶120從CSP130獲得正確的公鑰。這在實際中可以通過對證書機構(gòu)的恰當(dāng)使用來執(zhí)行。背景A、學(xué)習(xí)線性模型簡要地回顧“嶺回歸(ridgeregression)”,其是評估方110在系統(tǒng)110中進行的用于學(xué)習(xí)β140的算法。下面討論的所有結(jié)果是經(jīng)典的,且可以在大多數(shù)統(tǒng)計學(xué)和機器學(xué)習(xí)教科書中找到。線性回歸:給定n個輸入變量的集合,和輸出變量的集合,學(xué)習(xí)函數(shù)使得的問題被稱為回歸。例如,輸入變量可以是人的年齡、體重、體重指數(shù)等,而輸出可以是其患病的可能性。根據(jù)實際數(shù)據(jù)來學(xué)習(xí)這種函數(shù)具有很多有趣的應(yīng)用,這些應(yīng)用使得回歸在數(shù)據(jù)挖掘、統(tǒng)計學(xué)和機器學(xué)習(xí)中無處不在。一方面,函數(shù)本身可以用于預(yù)測,即預(yù)測新輸入的輸出值y。此外,f的結(jié)構(gòu)可以幫助識別不同的輸入如何影響輸出——例如,確定體重(而非年齡)與疾病更強烈相關(guān)。線性回歸基于以下前提:f由線性映射很好地近似,即對于某個i∈[n]≡{1,…,n}線性回歸是在科學(xué)研究中用于推理和統(tǒng)計分析的最廣泛使用的方法之一。此外,其是統(tǒng)計分析和機器學(xué)習(xí)中若干種更高級方法(例如,核(kernel)方法)的基本構(gòu)成單元。例如,學(xué)習(xí)作為2次多項式的函數(shù)化簡為在xikxik′(1≤k,k′≤d)上的線性回歸;可以歸納相同的原理,以學(xué)習(xí)由基函數(shù)的有限集合所張成的任何函數(shù)。如上所述,除了顯而易見的預(yù)測用途之外,向量β=(βk)k=1,…,d是令人感興趣的,因為其揭示了y如何依賴于輸入變量。具體地,系數(shù)βk的符號指示了與輸出的正或負(fù)相關(guān)性,而量值捕捉到相對重要性。為了確保這些系數(shù)是可比的,而且也為了數(shù)值穩(wěn)定性,輸入xi被重新縮放到相同的有限域(例如,[-1;1])中。計算系數(shù):為了計算向量該向量通過在上最小化以下二次函數(shù)而擬合到數(shù)據(jù):F(β)=Σi=1R(yi-βTxi)2+λ||β||22---(1)]]>最小化(1)的過程被稱為嶺回歸;目標(biāo)F(β)并入了懲罰項其有利于簡約解(parsimonioussolution)。直觀地,對于λ=0,最小化(1)對應(yīng)于求解簡單的最小二乘問題。對于正的λ>0,項對具有高范數(shù)的解進行懲罰:在同樣擬合數(shù)據(jù)的兩個解之間,傾向于具有較少大系數(shù)的解。請回憶β的系數(shù)是對“輸入如何影響輸出”的指示符,這充當(dāng)了“奧卡姆剃刀”的形式:傾向于具有少量大系數(shù)的較簡單解。事實上,與基于最小二乘的解相比,λ>0在實踐中基于新輸入給出了更好的預(yù)測。令為輸出的向量且為包括輸入向量在內(nèi)的矩陣(每行一個輸入向量);即y=(yi)i=1,...,n=y1y2···yn]]>以及X=(xiT)i=1,...,n=x11x12...x1dx21x22...x2d·········xn1xn2...xnd]]>可以通過求解以下線性系統(tǒng)來計算(1)的最小解(minimizer):Aβ=b(2)其中,A=XTX+λI且b=XTy。對于λ>0,矩陣A是對稱正定的,且可以使用下面概述的Cholesky分解找到有效解。B、Yao氏混淆電路在其基本版本中,Yao氏協(xié)議(也稱為混淆電路)允許在存在半誠實對手的情況下對函數(shù)f(x1;x2)進行兩方評估。該協(xié)議在輸入擁有者之間運行(ai代表用戶i的私有輸入)。在協(xié)議結(jié)束時,獲得f(a1;a2)的值,但是沒有一方了解到除了該輸出值揭示的信息之外的任何信息。協(xié)議如下進行。第一方(稱為混淆方)構(gòu)建計算f的電路的“混淆”版本。然后混淆方向第二方(稱為評估方)給出(且僅給出)混淆電路以及與a1相對應(yīng)的混淆電路輸入值。注記GI(a1)用于表示這些輸入值?;煜竭€提供混淆電路輸出值和實際比特值之間的映射。在接收到該電路時,評估方與混淆方參與2中取1的不經(jīng)意傳輸協(xié)議(1-out-of-2oblivioustransferprotocol),扮演選擇方的角色,以不經(jīng)意地獲得與其私有輸入a2相對應(yīng)的混淆電路輸入值GI(a2)。根據(jù)GI(a1)和GI(a2),評估方可以因此計算f(a1;a2)。更詳細(xì)地,該協(xié)議通過如圖3所示的布爾電路300來評估函數(shù)f?;煜綄⑴c比特值bi=0和bi=1分別對應(yīng)的兩個隨機加密密鑰和與電路的每條線wi310、320相關(guān)聯(lián)。接下來,對于具有輸入線(wi,wj)310、320和輸出線wk330的每個二進制門g(例如,或門),混淆方計算四條密文:Enc(Kwibi,Kwjbj)(Kwkg(bi,bj))]]>對于bi,bj∈{0,1}由這四個隨機排序的密文組成的集合定義了混淆門。需要讓通過密鑰對來加密的對稱加密算法Enc在選定明文攻擊下具有不可區(qū)別的加密。還需要在給定密鑰對的情況下,對應(yīng)的解密過程從構(gòu)成混淆門的四條密文中明確地恢復(fù)出的值。值得注意的是:對的了解僅得到的值,且不能從該門中恢復(fù)出其他輸出值。因此,評估方可以逐門評估整個混淆電路,使得沒有任何附加信息泄漏中間計算?;旌戏桨刚埢貞洠涸谠撛O(shè)置中,每個輸入和輸出變量xi,yi,i∈[n]是私有的,且由不同用戶持有。評估方110希望了解確定輸入和輸出變量之間線性關(guān)系的β,如在給定λ>0的情況下通過嶺回歸所獲得的一樣。如上所述,為了獲得β,需要如等式(2)中定義的矩陣和向量一旦獲得這些值,評估方110可以對等式(2)的線性系統(tǒng)求解并提取β。存在若干種以隱私保護方式來解決該問題的方法。例如,可以依賴于秘密共享或依賴于全同態(tài)加密。當(dāng)前,這些技術(shù)似乎不適合當(dāng)前的設(shè)置,因為它們導(dǎo)致大量(在線)通信或計算開銷。因此,如上所述,利用Yao氏方案。一種使用Yao氏方案的簡單方式是設(shè)計具有輸入xi,yi,i∈[n]和λ>0的單一電路,其計算矩陣A和b,且隨后對系統(tǒng)Aβ=b求解。這種方案過去已被用于計算來自多個用戶的輸入的簡單函數(shù)(例如,拍賣贏家)。將實現(xiàn)問題放在一旁(例如,如何設(shè)計對線性系統(tǒng)求解的電路),這種解決方案的主要缺點在于:得到的混淆電路依賴于用戶數(shù)目n、以及β和輸入變量的維度d。在實際應(yīng)用中,通常n較大,且可以達(dá)到百萬用戶的量級。相反,d相對較小,數(shù)量級為10。因此優(yōu)選地降低或甚至消除混淆電路對n的依賴性,以獲得可擴展的解決方案。為此,可以如下所述來重新表述該問題。A、重新表述問題注意:可以如下所述用迭代方式來計算矩陣A和向量b。假定每個xi和對應(yīng)的yi由不同用戶持有,每個用戶i可以本地計算矩陣和向量bi=y(tǒng)ixi。然后容易驗證對部分貢獻進行求和得到:A=Σi=1nAi+λI]]>且b=Σi=1nbi---(3)]]>等式(3)重要地示出了A和b是一系列加法的結(jié)果。評估方的回歸任務(wù)因此可以分為兩個子任務(wù):(a)收集Ai和bi,以構(gòu)造矩陣A和向量b,以及(b)使用這些通過求解線性系統(tǒng)(2)來獲得β。當(dāng)然,用戶不能以明文向評估方發(fā)送其本地份額(Ai;bi)。然而,如果使用公鑰加性同態(tài)加密(additivehomomorphicencryption)方案對本地份額(Ai;bi)加密,則評估方110可以根據(jù)(Ai;bi)的加密版本來重構(gòu)A和b的加密版本。剩下的問題是在CSP130的幫助下在不(向評估方110或CSP130)揭示除了β之外的任何附加信息的情況下對等式(2)求解;下面描述通過使用Yao氏混淆電路來這樣做的兩種不同方式。更具體地,令為以公鑰pk為索引的語義安全加密方案,其以消息空間中的對(Ai;bi)為輸入且返回在pk下(Ai;bi)的加密版本ci。然后對于某個公共二元運算符,以下等式必須對任何pk以及任何兩對(Ai;bi)、(Aj;bj)成立:這種加密方案可以通過對Ai和bi的項進行逐分量加密,根據(jù)任何語義安全的加性同態(tài)加密方案來構(gòu)造。示例包括Regev方案和Paillier方案?,F(xiàn)在介紹協(xié)議。在圖4中提供了高級流程圖400。流程圖400包括準(zhǔn)備階段410、第一階段(階段1)420以及第二階段(階段2)430。聚合用戶份額的階段被稱為階段1420,且注意到其涉及的加法線性依賴于n。后續(xù)階段(即根據(jù)A和b的加密值來計算等式(2)的解)被稱為階段2430。注意:階段2430不具有對n的依賴性。下面將結(jié)合具體協(xié)議來討論這些階段。注意:下面假定存在可以對系統(tǒng)Aβ=b求解的電路;在本文中討論了可以如何高效地實現(xiàn)這種電路。B、第一協(xié)議可以在圖5中看到第一協(xié)議的操作的高級圖示500。第一協(xié)議如下工作。如上所述,第一協(xié)議包括三個階段:準(zhǔn)備階段510、階段1520和階段2530。將清楚,僅階段2530真正需要在線處理。準(zhǔn)備階段(510)。評估方110向CSP130提供規(guī)范,例如輸入變量的維度(即,參數(shù)d)及其取值范圍。CSP130為階段2530中描述的電路提供Yao混淆電路并且使得該混淆電路可用于評估方110。CSP130還生成公鑰pkcsp和私鑰skcsp,用于同態(tài)加密方案而評估方110生成公鑰pkev和私鑰skev,用于加密方案ε(不需要是同態(tài)的)。階段1(520)。每個用戶i本地計算她的部分矩陣Ai和向量bi。然后在CSP130的加密公鑰pkcsp下使用加性同態(tài)加密方案對這些值加密;即為了避免CSP130獲得對該值的訪問,用戶i在評估方110的加密公鑰pkev下對ci的值進行超加密(super-encrypt);即Ci=ϵpkev(ci)]]>并向評估方110發(fā)送Ci。評估方110計算其隨后收集所有接收到的Ci,并使用其解密私鑰skev對它們進行解密,以恢復(fù)ci;即ci=Dskev(Ci)]]>對于1≤i≤n然后其聚合這樣獲得的值,并且得到:階段2(530)。在準(zhǔn)備階段510中由CSP130提供的混淆電路是對以GI(c)為輸入的電路的混淆,且進行以下兩個步驟:1)使用skcsp對c解密,以恢復(fù)A和b(此處,skcsp被嵌入到混淆電路中);以及2)對等式(2)求解并返回β。在該階段2530中,評估方110僅需要獲得與c相對應(yīng)的混淆電路輸入值;即GI(c)。這些是使用評估方110和CSP130之間的標(biāo)準(zhǔn)不經(jīng)意傳輸(OT)來獲得的。上面的混合計算在混淆電路中執(zhí)行對加密輸入的解密。由于這可能是要求嚴(yán)格的,建議使用例如Regev同態(tài)加密方案作為的構(gòu)成單元,因為Regev方案具有非常簡單的解密電路。C、第二協(xié)議可以在圖6中看到第二協(xié)議的操作的高級圖示600。第二協(xié)議提出了以下修改:使用隨機掩碼避免在混淆電路中解密(A;b)。階段1610大體保持相同。從而,將著重描述階段2(以及對應(yīng)的準(zhǔn)備階段)。想法是利用同態(tài)屬性以使用加性掩碼來掩蓋輸入。注意:如果(μA;μb)代表(即,同態(tài)加密的消息空間)中的元素,則根據(jù)等式(4)其滿足:因此,假定評估方110選擇中的隨機掩碼(μA;μb),如上所述掩蓋c,并向CSP130發(fā)送得到的值。然后,CSP130可以應(yīng)用其解密密鑰并恢復(fù)加掩碼的值A(chǔ)^=A+μA]]>和b^=b+μb]]>因此,可以應(yīng)用前一節(jié)的協(xié)議,其中,由掩碼移除來替換解密。更具體地,其涉及:準(zhǔn)備階段(610)。與之前一樣,評估方110設(shè)置評估。評估方110向CSP130提供規(guī)范,以構(gòu)造支持其評估的混淆電路。CSP130準(zhǔn)備該電路并使其可用于評估方110,且都生成公鑰和私鑰。評估方110選擇隨機掩碼并進行與CSP130的不經(jīng)意傳輸(OT)協(xié)議,以獲得與(μA;μb)相對應(yīng)的混淆電路輸入值;即GI(μA;μb)。階段1(620)。這類似于第一協(xié)議。此外,評估方110將c掩碼為:階段2(630)。評估方110向CSP130發(fā)送CSP130對其解密以獲得明文的然后CSP130向評估方110發(fā)回混淆輸入值在準(zhǔn)備階段中由CSP130提供的混淆電路是對以和GI(μA;μb)為輸入的電路的混淆,且進行以下兩個步驟:1)從中減去掩碼(μA;μb),以恢復(fù)A和b;2)對等式(2)求解并返回β?;煜娐芬约芭c(μA;μb)相對應(yīng)的混淆電路輸入值GI(μA;μb)是在準(zhǔn)備階段610期間獲得的。在該階段中,評估方110僅需要從CSP130接收與相對應(yīng)的混淆電路輸入值注意:在該階段中不存在不經(jīng)意傳輸(OT)。對于該第二實現(xiàn),解密不作為電路的一部分來執(zhí)行。因此,不受限于選擇可以高效實現(xiàn)為電路的同態(tài)加密方案。取代Regev方案,建議使用Paillier方案或者由和Jurik對其的歸納作為的構(gòu)成單元。這些方案具有比Regev短的密文擴展,且要求較小的密鑰。D、第三協(xié)議對于一些應(yīng)用,當(dāng)同態(tài)加密方案僅具有部分同態(tài)屬性時,相關(guān)思想適用。該觀念在以下定義中變得明確。定義1:部分同態(tài)加密方案是使得有可能在不需要加密私鑰的情況下將常數(shù)與已加密的明文相加(如果部分同態(tài)是加性的)或相乘(如果部分同態(tài)是乘性的)的加密方案。此處是一些示例?!窳畲硭財?shù)域,且令G=〈g〉是由g生成的乘法群的循環(huán)子群。令g代表G的階。對于普通(plain)ElGamal加密,消息空間是加密公鑰是y=gx,而私鑰是x。對中消息m的加密由(R;c)給出,且對于某個隨機R=gr和c=myr。使用密鑰x來恢復(fù)明文m為m=c/Rx。-上述系統(tǒng)對于中的乘法是部分同態(tài)的:對于任何常數(shù)C′=(R;Kc)是對消息m′=Km的加密。●對于某個參數(shù)k,所謂的散列ElGamal加密系統(tǒng)額外要求散列函數(shù)H,該散列函數(shù)H將來自G的群元素映射到消息空間是密鑰生成與普通ElGamal一樣。對消息的加密由(R;c)給出,且對于某個隨機R=gr和c=m+H(yr)。然后使用密鑰x來恢復(fù)明文m為m=c+H(Rx)。注意:“+”對應(yīng)于中的加法(即,其可以等價地被視為針對k比特串的異或)。-上述系統(tǒng)對于異或是部分同態(tài)的:對于任何常數(shù)C′=(R;K+c)是對消息m′=K+m的加密。作為非限制性示例,現(xiàn)在假定c是在部分同態(tài)加密方案(例如)下對(A;b)的加密,則如果(μA;μb)代表(即,部分同態(tài)加密的消息空間)中的元素,則對于某個運算符,根據(jù)等式(4)其滿足:(在上面的描述中,同態(tài)被表示為加性的;這對于以乘性形式的同態(tài)也成立。)因此,假定評估方110選擇中的隨機掩碼(μA;μb),如上所述掩蓋c,并向CSP130發(fā)送得到的值。然后,CSP130可以應(yīng)用其解密密鑰并恢復(fù)被掩碼的值A(chǔ)^=A+μA]]>和b^=b+μb]]>因此,可以應(yīng)用前一節(jié)的協(xié)議,其中,由掩碼移除來替換解密。最終,注意:按照第二或第三協(xié)議來使用掩碼的技巧不限于嶺回歸的情況。其可以在將同態(tài)加密(相應(yīng)地部分同態(tài)加密)與混淆電路以混合方式加以組合的任何應(yīng)用中使用。E、討論所提出的協(xié)議具有若干長處,這些長處使得它們在真實世界場景中高效且實用。首先,不需要讓用戶在處理期間保持在線。由于階段1420是增量式的,每個用戶可以提交其加密輸入,并離開系統(tǒng)。此外,系統(tǒng)100可以容易地適用于多次執(zhí)行嶺回歸。假定評估方110希望執(zhí)行次估計,其可在準(zhǔn)備階段410期間從CSP130獲取個混淆電路??梢允褂枚啻喂烙媮磉m應(yīng)新用戶120的到來。具體地,由于公鑰是長存的,它們不需要被過度頻繁地刷新,意味著當(dāng)新用戶向評估方110提交更多的對(A;b)時,評估方110可以將它們與在先的值求和,并計算更新的β。盡管該處理要求使用新的混淆電路,但是已經(jīng)提交了其輸入的用戶不需要重新提交輸入。最后,所需通信量顯著小于秘密共享方案中的通信量,且僅評估方110和CSP130使用不經(jīng)意傳輸(OT)來進行通信。還注意到:用戶可以使用任何手段來建立與評估方110的安全通信,例如SSL,而不是在階段1420中使用公鑰加密方案ε。F、進一步優(yōu)化請回憶矩陣A在中且向量b在中。因此,令k代表用于對實數(shù)進行編碼的比特大小,則矩陣A和向量b分別需要d2k個比特和dk個比特用于其表示。第二協(xié)議要求中的隨機掩碼(μA;μb)。假定同態(tài)加密方案基于Paillier方案構(gòu)建,其中,A和b的每個項被單獨Paillier加密。在該情況下,對于某個RAS模數(shù)N,的消息空間由中的(d2+d)個元素構(gòu)成。但是由于這些元素是具有k比特的值,不需要在整個范圍中抽取對應(yīng)掩碼值。對于某個(相對短)安全長度l,任何(k+l)比特的值將適用,只要它們在統(tǒng)計學(xué)意義上隱藏了對應(yīng)項即可。在實際中,這導(dǎo)致了準(zhǔn)備階段中更少的不經(jīng)意傳輸以及更小的混淆電路。另一種提升效率的方式是經(jīng)由標(biāo)準(zhǔn)批處理技術(shù),即將A和b的多個明文項打包到單一Paillier密文中。例如,將20個明文值打包到單個Paillier密文中(由充分多的0來間隔)將20倍地降低階段1的運行時間。實現(xiàn)為了評價該隱私保護系統(tǒng)的實用性,針對人造數(shù)據(jù)集和真實數(shù)據(jù)集來實現(xiàn)和測試該系統(tǒng)。實現(xiàn)了上面提出的第二協(xié)議,因為其不要求在混淆電路中解密,且其允許對階段1使用高效的同態(tài)加密(其僅涉及求和)。A、階段1實現(xiàn)如上所述,對于同態(tài)加密,使用具有與80比特安全級別相對應(yīng)的1024比特長模數(shù)的Paillier方案。為了加速階段1,還實現(xiàn)了如上所述的批處理。給定貢獻其輸入的n個用戶,可以被批處理到一個1024比特的Paillier密文中的元素數(shù)目是1024=(b+log2n),其中,b是用于表示數(shù)的比特總數(shù)。如稍后所述,b被確定為所需精確度的函數(shù),從而在該試驗中,對15和30個之間的元素進行批處理。B、電路混淆框架該系統(tǒng)基于FastGC來構(gòu)建,F(xiàn)astGC是使得開發(fā)人員能夠使用基本的“異或”門、“或”門和“與”門來定義任意電路的基于Java的開源框架。一旦構(gòu)造了電路,該框架處理混淆、不經(jīng)意傳輸以及對混淆電路的完整評估。FastGC包括若干優(yōu)化。第一,使用“無異或”技術(shù)來大幅減少電路中“異或”門的通信和計算成本。第二,使用混淆行減少技術(shù),F(xiàn)astGC將k扇入(k-fan-in)“非異或”門的通信成本減少1=2k,給出了25%的通信節(jié)約,這是因為在該框架中僅定義了2扇入門。第三,F(xiàn)astGC實現(xiàn)了OT擴展,該OT擴展可以用k個OT和針對每個附加OT的若干對稱密鑰運算為代價來執(zhí)行實際不限次數(shù)的傳輸。最后,最后一個優(yōu)化是簡明的“3比特加法”電路,其定義了具有4個“異或”門(它們在通信和計算的意義上都是“無(free)”的)和僅1個“與”門的電路。FastGC使得混淆和評估能夠并發(fā)進行。更具體地,按電路結(jié)構(gòu)定義的順序,CSP130在混淆表產(chǎn)生時向評估方110發(fā)送混淆表。然后評估方110基于可用的輸出值和表來確定接下來評估哪個門。一旦評估了某一門,立即拋棄其對應(yīng)的表。這相當(dāng)于與離線預(yù)先計算所有混淆電路一樣的計算和通信成本,但是將存儲器消耗變?yōu)槌?shù)。C、在電路中對線性系統(tǒng)求解本方案的主要挑戰(zhàn)之一是設(shè)計對等式(2)中定義的線性系統(tǒng)Aβ=b求解的電路。當(dāng)將函數(shù)實現(xiàn)為混淆電路時,優(yōu)選地使用數(shù)據(jù)不可知(data-agnostic)的運算,即其執(zhí)行路徑不依賴于輸入的運算。例如,由于輸入被混淆,評估方110需要執(zhí)行“if-then-else”語句的所有可能路徑,這在存在嵌套條件語句的情況下,導(dǎo)致電路大小和執(zhí)行時間都呈指數(shù)增長。這使得要求選主元(pivoting)的用于求解線性系統(tǒng)的任何傳統(tǒng)算法(例如高斯消元法)都不現(xiàn)實。為了簡單,該系統(tǒng)實現(xiàn)了下述標(biāo)準(zhǔn)Cholesky算法。然而注意到:使用類似的技術(shù),可以將其復(fù)雜度進一步降低到與逐塊反轉(zhuǎn)相同的復(fù)雜度。存在用于求解線性系統(tǒng)的若干可能分解方法。Cholesky分解是用于求解線性系統(tǒng)的數(shù)據(jù)不可知方法,其僅適用于矩陣A是對稱正定時。Cholesky的主要優(yōu)點在于:其是數(shù)值魯棒的,而不需要選主元。具體地,其非常適用于定點數(shù)(fixedpointnumber)表示。由于事實上對于λ>0是正定矩陣,在本實現(xiàn)中選擇Cholesky作為求解Aβ=b的方法。下面簡要概述Cholesky分解的主要步驟。該算法構(gòu)造下三角矩陣L,使得A=LTL:則求解系統(tǒng)Aβ=b化簡為求解以下兩個系統(tǒng):LTy=b和Lβ=y(tǒng)由于矩陣L和LT是三角陣,這些系統(tǒng)可以使用回代(backsubstitution)法來容易地求解。此外,由于矩陣A是正定的,矩陣L必然具有對角線上的非零值,因此不需要選主元。在圖7所示的算法1中描述了分解A=LTL。其涉及Θ(d3)個加法、Θ(d3)個乘法、Θ(d2)個除法和Θ(d)個平方根運算。此外,通過后向消除法(backwardelimination)對上面兩個系統(tǒng)求解涉及Θ(d2)個加法、Θ(d2)個乘法和Θ(d)個除法。下面討論將這些運算實現(xiàn)為電路。D、表示實數(shù)為了對線性系統(tǒng)(2)求解,必須以二進制形式精確地表示實數(shù)。考慮用于表示實數(shù)的兩種可能方案:浮點和定點。實數(shù)a的浮點表示由以下公式給出:[a]=[m;p];其中a≈1.m·2p浮點表示具有適應(yīng)實際上任意量值的數(shù)的優(yōu)點。然而,針對浮點表示的基本運算(例如,加法)難以以數(shù)據(jù)不可知的方式來實現(xiàn)。最重要的是:使用Cholesky保證了使用實現(xiàn)起來要容易得多的定點表示。給定實數(shù)a,其定點表示由以下公式給出:其中指數(shù)p是固定的。如本文所述,需要執(zhí)行的很多運算可以用數(shù)據(jù)不可知的方式針對定點數(shù)來實現(xiàn)。這樣,針對定點表示所生成的電路要小得多。此外,請回憶嶺回歸的輸入變量xi通常被重新縮放到相同域中(在-1和1之間),以確保系數(shù)β是可比較的,并且是為了數(shù)值穩(wěn)定性。在這種設(shè)置下,已知可以在不導(dǎo)致溢出的情況下針對具有定點數(shù)的A執(zhí)行Cholesky分解。此外,給定yi的邊界和矩陣A的條件數(shù),在該方法中對最后兩個三角系統(tǒng)求解的同時,可以計算為了避免溢出所必需的比特。因此,使用定點表示來實現(xiàn)系統(tǒng)??梢詫⒂糜谛?shù)部分的比特數(shù)p選擇為系統(tǒng)參數(shù),并在系統(tǒng)的精確度和所生成的電路的大小之間進行平衡。然而,可以基于所需精確度以有原則的方式來選擇p。使用標(biāo)準(zhǔn)的二進制補碼表示來表示負(fù)數(shù)。本文所公開的各種實施例可以實現(xiàn)為硬件、固件、軟件或其任意組合。此外,軟件優(yōu)選地實現(xiàn)為在程序存儲單元或計算機可讀介質(zhì)上以有形方式體現(xiàn)的應(yīng)用程序。應(yīng)用程序可以上傳到包括任何合適架構(gòu)的機器并由其執(zhí)行。優(yōu)選地,該機器實現(xiàn)在具有硬件(例如,一個或多個中央處理單元(“CPU”)、存儲器以及輸入/輸出接口)的計算機平臺上。該計算機平臺還可以包括操作系統(tǒng)和微指令代碼。本文描述的各種處理和功能可以是微指令代碼的一部分或者應(yīng)用程序的一部分、或其任意組合,其可以由CPU執(zhí)行,不管這種計算機或處理器是否被明確示出。此外,各種其他外圍單元可以連接到計算機平臺,例如附加數(shù)據(jù)存儲單元和打印單元。本文記載的所有示例和條件語言意在用于示范目的,以幫助讀者理解實施例的原理和發(fā)明人為了推進技術(shù)而貢獻出的構(gòu)思,且應(yīng)被理解為不限于這種具體記載的示例和條件。此外,本文中記載本發(fā)明的原理、方案和各種實施例的所有聲明及其具體示例意在同時包含其結(jié)構(gòu)和功能等價物。此外,這種等價物應(yīng)包括當(dāng)前已知的等價物以及將來開發(fā)出來的等價物,即被開發(fā)的執(zhí)行相同功能的任何要素,而無論結(jié)構(gòu)如何。當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1