專(zhuān)利名稱:基于隱私保持的分布式Top-k查詢方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于隱私保持的分布式Top-k查詢方法,確切地說(shuō),涉及一種在匯聚計(jì)算過(guò)程中對(duì)處理的數(shù)據(jù)對(duì)是經(jīng)過(guò)本發(fā)明處理過(guò)的非真實(shí)值,但是最終獲得的查詢結(jié)果是真實(shí)、正確的,從而保護(hù)數(shù)據(jù)提供方的數(shù)據(jù)隱私;屬于計(jì)算機(jī)網(wǎng)絡(luò)中的網(wǎng)絡(luò)管理、安全監(jiān)控、數(shù)據(jù)挖掘隱私保護(hù)、分布式計(jì)算等多項(xiàng)技術(shù),特別是分布式計(jì)算和數(shù)據(jù)挖掘、數(shù)據(jù)隱私保護(hù)的技術(shù)領(lǐng)域。
背景技術(shù):
本發(fā)明處理的數(shù)據(jù)對(duì)象為分布在不同地理位置的數(shù)據(jù)列表,該參見(jiàn)圖1,分布式Top-k(前k項(xiàng))查詢是由中心計(jì)算節(jié)點(diǎn)通過(guò)匯聚分布在不同地理位置的數(shù)據(jù)列表,計(jì)算出全局匯聚值最大的前k個(gè)對(duì)象及匯聚值;其中數(shù)據(jù)列表的每一項(xiàng)都是一個(gè)數(shù)據(jù)對(duì) < 對(duì)象,對(duì)象值 >,數(shù)據(jù)對(duì)中的對(duì)象和對(duì)象值都包含有數(shù)據(jù)提供方的敏感信息。分布式Top-k查詢計(jì)算在網(wǎng)絡(luò)和系統(tǒng)監(jiān)控、信息采集、傳感器網(wǎng)絡(luò)、P2P系統(tǒng)以及數(shù)據(jù)流控制系統(tǒng)等技術(shù)領(lǐng)域都有廣泛的應(yīng)用。傳統(tǒng)的分布式Top-k查詢算法需要中心計(jì)算節(jié)點(diǎn)收集分布在不同地理位置的眾多數(shù)據(jù)提供方提供的數(shù)據(jù)列表,通過(guò)匯聚排序后,再返回查詢的結(jié)果,計(jì)算過(guò)程中數(shù)據(jù)提供方的數(shù)據(jù)隱私全部暴露給中心節(jié)點(diǎn),中心計(jì)算節(jié)點(diǎn)信息的泄露就會(huì)導(dǎo)致數(shù)據(jù)提供方數(shù)據(jù)隱私的泄露。三階段統(tǒng)一閥值算法(TPUT)是將分布式Top-k查詢分為三個(gè)階段第一階段,中心計(jì)算節(jié)點(diǎn)匯聚計(jì)算各數(shù)據(jù)列表的前k項(xiàng),計(jì)算出一個(gè)統(tǒng)一的閥值。第二階段,各數(shù)據(jù)提供方將各自數(shù)據(jù)列表中對(duì)象值大于該閥值的數(shù)據(jù)對(duì)上傳到中心計(jì)算節(jié)點(diǎn),中心計(jì)算節(jié)點(diǎn)通過(guò)界限剪枝去除掉冗余的數(shù)據(jù)對(duì),得到Top-k候選集。第三階段,各數(shù)據(jù)提供方從各自的數(shù)據(jù)列表中找出候選集出現(xiàn)的對(duì)象,將對(duì)應(yīng)的數(shù)據(jù)對(duì)上傳到中心計(jì)算節(jié)點(diǎn),中心計(jì)算節(jié)點(diǎn)通過(guò)匯聚計(jì)算,并降序排列得到最終的Top-k查詢結(jié)果。該方法減少了數(shù)據(jù)提供方上傳的數(shù)據(jù)量,可以通過(guò)有限次數(shù)的應(yīng)答(即三次)獲得精確的Top-k查詢結(jié)果。然而,該算法沒(méi)有考慮到數(shù)據(jù)提供方的數(shù)據(jù)分布性特點(diǎn),只是假設(shè)所有數(shù)據(jù)提供方提供的數(shù)據(jù)具有相同的分布性。如果各個(gè)數(shù)據(jù)提供方擁有的數(shù)據(jù)分布差異較大時(shí),數(shù)據(jù)上傳量將大大增加,從而也會(huì)造成數(shù)據(jù)隱私的泄露。三階段自適應(yīng)閥值算法(TPAT)對(duì)TPUT算法的第一階段進(jìn)行了改進(jìn)中心計(jì)算節(jié)點(diǎn)根據(jù)數(shù)據(jù)提供方各自數(shù)據(jù)列表數(shù)據(jù)對(duì)象的直方圖進(jìn)行統(tǒng)計(jì),通過(guò)最優(yōu)化算法計(jì)算出各個(gè)數(shù)據(jù)提供方對(duì)應(yīng)的上傳數(shù)據(jù)的閥值;這樣有效減少了第一階段數(shù)據(jù)上傳的冗余,但是,當(dāng)各數(shù)據(jù)提供方數(shù)據(jù)排序變化比較大時(shí),仍會(huì)有大量數(shù)據(jù)隱私會(huì)被泄露。目前,安全多方計(jì)算研究已經(jīng)取得了一定成果。概括地說(shuō),安全多方計(jì)算是為了研究一組互不信任的參與者如何在保護(hù)各自私有信息的基礎(chǔ)上完成合作計(jì)算?;诙植檎业姆植际絋op-k查詢方法通過(guò)使用安全多方計(jì)算中的比較等原子操作,再使用二分查找計(jì)算最終的全局匯聚值最大的前K個(gè)對(duì)象及匯聚值,該計(jì)算過(guò)程中無(wú)需中心計(jì)算節(jié)點(diǎn)的參與,數(shù)據(jù)提供方在不暴露數(shù)據(jù)列表中對(duì)象值的情況下,就可以獲得最終正確的計(jì)算結(jié)果。但是,該方法計(jì)算過(guò)程中沒(méi)有對(duì)數(shù)據(jù)列表中的對(duì)象的隱私進(jìn)行處理,算法中大量的安全多方計(jì)算比較操作導(dǎo)致算法運(yùn)行時(shí)間難以部署在實(shí)際應(yīng)用環(huán)境中?;贖ash表的二分查找分布式Top-k查詢方法是首先通過(guò)使用Hash表對(duì)各個(gè)數(shù)據(jù)提供方數(shù)據(jù)列表中的對(duì)象進(jìn)行歸一化,然后使用Siamir(人名)門(mén)限秘密共享方案,對(duì)歸一化的數(shù)據(jù)進(jìn)行安全匯聚,最后通過(guò)安全的二分查找獲得最終的查詢結(jié)果。由于Hash表對(duì)數(shù)據(jù)進(jìn)行歸一化會(huì)造成數(shù)據(jù)項(xiàng)的沖突,最終的查詢結(jié)果只是一個(gè)近似結(jié)果,此外,計(jì)算過(guò)程中大量安全多方求和操作和比較操作也會(huì)使算法的運(yùn)行時(shí)間隨著Hash表的大小呈指數(shù)增長(zhǎng)。分布式Top-k查詢計(jì)算需要中心計(jì)算節(jié)點(diǎn)與各個(gè)數(shù)據(jù)提供方協(xié)同計(jì)算共同完成, 由于大多數(shù)的數(shù)據(jù)提供方分別屬于不同的組織或管理機(jī)構(gòu),分布在不同的地理位置,同時(shí)數(shù)據(jù)提供方提供的數(shù)據(jù)列表中中還包含了大量的隱私敏感信息,然而,目前已有的分布式 Top-k查詢算法在隱私保護(hù)、運(yùn)行效率方面還不能滿足實(shí)時(shí)、全面保護(hù)的要求,因此,如何在平衡算法的運(yùn)行效率和安全保護(hù)就成為當(dāng)前亟需解決的問(wèn)題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的是提供一種基于隱私保持的分布式Top-k查詢方法,該方法特點(diǎn)是在三階段閥值算法基礎(chǔ)上,使用安全多方計(jì)算操作分別對(duì)數(shù)據(jù)列表中的對(duì)象和對(duì)象值進(jìn)行隱私保護(hù)處理,從而在最大化保護(hù)數(shù)據(jù)提供方隱私的同時(shí),可以快速、精確地獲得Top-k查詢結(jié)果,使得數(shù)據(jù)提供方在不暴露自有數(shù)據(jù)隱私的前提下,就完成安全的數(shù)據(jù)匯聚查詢操作。為了達(dá)到上述發(fā)明目的,本發(fā)明提供了一種基于隱私保持的分布式TOP-K查詢方法,所述分布式Top-k查詢是中心計(jì)算節(jié)點(diǎn)通過(guò)匯聚分布在不同地理位置的數(shù)據(jù)列表,計(jì)算出全局匯聚值中最大的前k個(gè)對(duì)象及匯聚值;其特征在于中心計(jì)算節(jié)點(diǎn)先對(duì)各數(shù)據(jù)提供方數(shù)據(jù)列表中的對(duì)象進(jìn)行隱私保護(hù)處理,然后在三階段閥值算法的基礎(chǔ)上,利用安全多方計(jì)算操作對(duì)數(shù)據(jù)列表中的對(duì)象值進(jìn)行隱私保護(hù)處理,以便在最大化保護(hù)數(shù)據(jù)提供方數(shù)據(jù)隱私的同時(shí),能夠快速、精確地獲得Top-k查詢結(jié)果;所述方法包括下列操作步驟(1)中心計(jì)算節(jié)點(diǎn)與數(shù)據(jù)提供方之間運(yùn)行安全計(jì)算協(xié)議,對(duì)數(shù)據(jù)列表中的對(duì)象和對(duì)象值進(jìn)行隱私保護(hù)處理;(2)中心計(jì)算節(jié)點(diǎn)與數(shù)據(jù)提供方之間根據(jù)閥值算法計(jì)算Top-k候選集;(3)數(shù)據(jù)提供方之間對(duì)候選集中的對(duì)象進(jìn)行安全多方求和操作,中心計(jì)算節(jié)點(diǎn)通過(guò)降序排列得到經(jīng)過(guò)隱私處理后的Top-k對(duì)象集及其對(duì)應(yīng)的匯聚值。(4)中心計(jì)算節(jié)點(diǎn)還原Top-k對(duì)象集中的對(duì)象真實(shí)值,返回查詢結(jié)果。本發(fā)明方法與現(xiàn)有技術(shù)相比較,主要有兩方面的改進(jìn)首先,本發(fā)明對(duì)數(shù)據(jù)隱私保護(hù)具有全面性;其次,本發(fā)明的運(yùn)行效率和準(zhǔn)確性都比較高。傳統(tǒng)的基于閥值的分布式Top-k查詢算法,雖然能經(jīng)過(guò)有限次的交互查詢就可以得到精確或近似的查詢結(jié)果,但是,數(shù)據(jù)中涉及對(duì)象屬性和對(duì)象的數(shù)值分布完全暴露給中心計(jì)算節(jié)點(diǎn),中心計(jì)算節(jié)點(diǎn)的信息泄露會(huì)導(dǎo)致參與查詢計(jì)算的數(shù)據(jù)提供方信息的泄露?;诎踩喾接?jì)算的二分查找分布式Top-k查詢算法只對(duì)對(duì)象值進(jìn)行了隱私處理,當(dāng)各個(gè)數(shù)據(jù)提供方對(duì)象分布不均勻時(shí),會(huì)造成數(shù)據(jù)對(duì)象信息的泄露。如在網(wǎng)絡(luò)監(jiān)控應(yīng)用中,不同管理域之間進(jìn)行目的IP地址匯聚查詢計(jì)算,使用該算法可能會(huì)造成各個(gè)管理域的大部分活躍IP地址泄露,從而可能引發(fā)不必要的網(wǎng)絡(luò)攻擊行為。目前,最好的可以隱私保持的分布式Top-k查詢算法是基于Hash表和安全多方計(jì)算的的二分查找算法,該算法通過(guò)Hash表對(duì)數(shù)據(jù)對(duì)象實(shí)現(xiàn)了歸一化和隱私保護(hù),然后,再使用Siamir門(mén)限秘密共享方案對(duì)歸一化的對(duì)象值進(jìn)行安全匯聚,最后通過(guò)安全的二分查找獲得最終近似的查詢結(jié)果,從而實(shí)現(xiàn)了對(duì)數(shù)據(jù)對(duì)象和對(duì)象值的全面保護(hù)。但是,由于該算法利用hash表進(jìn)行數(shù)據(jù)對(duì)象的歸一化,在歸一化的過(guò)程中會(huì)造成數(shù)據(jù)對(duì)象遺漏,從而造成查詢結(jié)果的不準(zhǔn)確。雖然通過(guò)增加hash表的長(zhǎng)度可有效減少誤差,然而,表長(zhǎng)的增加,增加了安全多方計(jì)算比較和的求和操作,進(jìn)而影響算法的運(yùn)行效率,難以滿足實(shí)時(shí)連續(xù)查詢需求。因此,本發(fā)明在三階段閥值算法基礎(chǔ)上,使用安全多方計(jì)算操作分別對(duì)數(shù)據(jù)列表中的對(duì)象和對(duì)象值進(jìn)行隱私保護(hù)處理,從而既最大化地保護(hù)數(shù)據(jù)提供方隱私,同時(shí),能夠快速、精確地獲得Top-k查詢結(jié)果,使得數(shù)據(jù)提供方在不暴露自有數(shù)據(jù)隱私的前提下,就能夠快速、 安全地完成數(shù)據(jù)匯聚查詢操作。所以,本發(fā)明在分布式網(wǎng)絡(luò)協(xié)同安全監(jiān)控、網(wǎng)絡(luò)管理、數(shù)據(jù)挖掘隱私保護(hù)等許多領(lǐng)域具有很好的推廣應(yīng)用前景。
圖1是本發(fā)明基于隱私保持的分布式Top-k查詢方法的一種應(yīng)用場(chǎng)景系統(tǒng)結(jié)構(gòu)示意圖。圖2是本發(fā)明基于隱私保持的分布式Top-k查詢方法操作步驟流程圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。本發(fā)明基于隱私保持的分布式Top-k查詢方法是中心計(jì)算節(jié)點(diǎn)先對(duì)各數(shù)據(jù)提供方數(shù)據(jù)列表中的對(duì)象進(jìn)行隱私保護(hù)處理,然后在三階段閥值算法的基礎(chǔ)上,利用安全多方計(jì)算操作對(duì)數(shù)據(jù)列表中的對(duì)象值進(jìn)行隱私保護(hù)處理,以便在最大化保護(hù)數(shù)據(jù)提供方數(shù)據(jù)隱私的同時(shí),能夠快速、精確地獲得Top-k查詢結(jié)果。本發(fā)明中,每個(gè)數(shù)據(jù)提供方提供的數(shù)據(jù)列表中的對(duì)象是m位字符串χ = (X1. . . . . Xm),式中,下標(biāo)m的取值區(qū)間為(192,256),若字符串的長(zhǎng)度超過(guò)256,則數(shù)據(jù)提供方使用統(tǒng)一的映射函數(shù)(例如哈希函數(shù))將該字符串映射為m位字符串,然后中心計(jì)算節(jié)點(diǎn)對(duì)各數(shù)據(jù)提供方的數(shù)據(jù)列表中的對(duì)象和對(duì)象值執(zhí)行隱私處理。參見(jiàn)圖2,介紹本發(fā)明方法的下述具體操作步驟步驟1,中心計(jì)算節(jié)點(diǎn)與數(shù)據(jù)提供方之間運(yùn)行安全計(jì)算協(xié)議,對(duì)數(shù)據(jù)列表中的對(duì)象和對(duì)象值進(jìn)行隱私保護(hù)處理。該步驟包括下列操作內(nèi)容(11)中心計(jì)算節(jié)點(diǎn)隨機(jī)產(chǎn)生一個(gè)大素?cái)?shù)ρ和ρ階乘法群GP,以及(}P的生成元g,并
在整數(shù)模P乘法群《中隨機(jī)產(chǎn)生ail個(gè)隨機(jī)值Ia1,......,和Ir1,......,rm},再組成
m個(gè)數(shù)據(jù)對(duì)( , ^i),式中,自然數(shù)i的最大值為m,并計(jì)算固定值/ = g1/r^ ,并將這m 個(gè)數(shù)據(jù)對(duì)和固定值t發(fā)送給各個(gè)數(shù)據(jù)提供方;(12)數(shù)據(jù)提供方按照下述方式逐一計(jì)算數(shù)據(jù)列表中每個(gè)對(duì)象χ = (X1. . . . . I)對(duì)應(yīng)的加密值M
若\ = 0,則記為 ,否則,記為^Xri ;再計(jì)算J = (ΠΓ=1 Α) Χ (Π =1 η),則該對(duì)象
的加密值M = tA,然后將該加密值與原對(duì)象建立一一映射關(guān)系;經(jīng)過(guò)上述隱私處理后,中心計(jì)算節(jié)點(diǎn)就無(wú)法獲知各數(shù)據(jù)列表中對(duì)象的真實(shí)值,且每個(gè)數(shù)據(jù)提供方數(shù)據(jù)列表中同一個(gè)對(duì)象的加密值是相同的,每個(gè)數(shù)據(jù)提供方能夠還原加密對(duì)象的真實(shí)值;(13)數(shù)據(jù)提供方選擇一個(gè)隨機(jī)值,再將各自數(shù)據(jù)列表中所有對(duì)象的對(duì)象值減去該隨機(jī)值,數(shù)據(jù)提供方之間共同運(yùn)行Siamir門(mén)限秘密共享求和操作,計(jì)算這些隨機(jī)值的總和,以使每個(gè)數(shù)據(jù)提供方也不能獲知其他數(shù)據(jù)提供方相減后的隨機(jī)值;然后,將該總和發(fā)送給中心計(jì)算節(jié)點(diǎn);如此操作后,數(shù)據(jù)提供方與中心計(jì)算節(jié)點(diǎn)之間交互對(duì)象的對(duì)象值都是隱私處理后的非真實(shí)值。步驟2,中心計(jì)算節(jié)點(diǎn)與數(shù)據(jù)提供方之間根據(jù)閥值算法計(jì)算Top-k候選集。該步驟包括下列操作內(nèi)容(21)數(shù)據(jù)提供方只將各數(shù)據(jù)列表中加密后中降序排列的前k個(gè)對(duì)象上傳到中心計(jì)算節(jié)點(diǎn),中心計(jì)算節(jié)點(diǎn)刪除重復(fù)出現(xiàn)的對(duì)象后,將剩余的對(duì)象發(fā)送給各數(shù)據(jù)提供方,以使數(shù)據(jù)提供方再將這些對(duì)象對(duì)應(yīng)的對(duì)象值上傳給中心計(jì)算節(jié)點(diǎn);(22)假設(shè)參與查詢計(jì)算的數(shù)據(jù)提供方共有η個(gè),各數(shù)據(jù)提供方將每個(gè)需要上傳對(duì)象的對(duì)象值分成η份,該η份的和等于該對(duì)象值;再將(η-1)份發(fā)給其他數(shù)據(jù)提供方;如果該對(duì)象不在數(shù)據(jù)列表中,則認(rèn)為該對(duì)象的對(duì)象值為以前減去的隨機(jī)值,也分為η份發(fā)給其他數(shù)據(jù)提供方;其它數(shù)據(jù)提供方接收到該對(duì)象的(η-1)份數(shù)據(jù)后,重新匯聚求和,作為該對(duì)象的對(duì)象值;然后將這些對(duì)象及匯聚后的對(duì)象值上傳到中心計(jì)算節(jié)點(diǎn);(23)中心計(jì)算節(jié)點(diǎn)將上傳的對(duì)象匯聚求和后,按降序排列,選取第k個(gè)對(duì)象的匯聚值為閥值,并將該閥值均分后發(fā)送給各數(shù)據(jù)提供方;數(shù)據(jù)提供方接收到均分的閥值后,將大于該閥值的對(duì)象及對(duì)象值上傳到中心計(jì)算節(jié)點(diǎn);(24)中心計(jì)算節(jié)點(diǎn)去除重復(fù)出現(xiàn)的對(duì)象,將剩余的對(duì)象組成Top-k候選集,再將該Top-k候選集發(fā)送到各個(gè)數(shù)據(jù)提供方。步驟3,數(shù)據(jù)提供方之間對(duì)候選集中的對(duì)象進(jìn)行安全多方求和操作,中心計(jì)算節(jié)點(diǎn)通過(guò)降序排列得到經(jīng)過(guò)隱私處理后的Top-k對(duì)象集及其對(duì)應(yīng)的匯聚值。該步驟包括下列操作內(nèi)容(31)各數(shù)據(jù)提供方從各自的數(shù)據(jù)列表中找出候選集出現(xiàn)的對(duì)象,將每個(gè)對(duì)象的對(duì)象值分成η份,該η份的和等于該對(duì)象值;再將(η-1)份發(fā)送給其他數(shù)據(jù)提供方;如果候選集中的該對(duì)象不在數(shù)據(jù)列表中,則認(rèn)為該對(duì)象的對(duì)象值為以前減去的隨機(jī)值,也分為η份發(fā)送給其他數(shù)據(jù)提供方;其它數(shù)據(jù)提供方接收到該對(duì)象的(η-1)份數(shù)據(jù)后,重新匯聚求和, 作為該對(duì)象的對(duì)象值;然后將該對(duì)象值上傳到中心計(jì)算節(jié)點(diǎn);(32)中心計(jì)算節(jié)點(diǎn)再次將上傳的對(duì)象匯聚求和,并將該結(jié)果加上由步驟(13)減去隨機(jī)值的總和,進(jìn)行降序排列后,得到Top-k對(duì)象集合及匯聚值。步驟4,中心計(jì)算節(jié)點(diǎn)還原Top-k對(duì)象集中的對(duì)象真實(shí)值,返回查詢結(jié)果,查詢結(jié)束。該步驟包括下列操作內(nèi)容(41)中心計(jì)算節(jié)點(diǎn)向各數(shù)據(jù)提供方查詢Top-k對(duì)象集合中對(duì)象的真實(shí)值;(42)中心計(jì)算節(jié)點(diǎn)向各數(shù)據(jù)提供方返回真實(shí)的Top-k對(duì)象集合及對(duì)應(yīng)的匯聚值,查詢結(jié)束。 以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種基于隱私保持的分布式Top-k查詢方法,所述分布式Top-k查詢是中心計(jì)算節(jié)點(diǎn)通過(guò)匯聚分布在不同地理位置的數(shù)據(jù)列表,計(jì)算出全局匯聚值中最大的前k個(gè)對(duì)象及匯聚值;其特征在于中心計(jì)算節(jié)點(diǎn)先對(duì)各數(shù)據(jù)提供方數(shù)據(jù)列表中的對(duì)象進(jìn)行隱私保護(hù)處理,然后在三階段閥值算法的基礎(chǔ)上,利用安全多方計(jì)算操作對(duì)數(shù)據(jù)列表中的對(duì)象值進(jìn)行隱私保護(hù)處理,以便在最大化保護(hù)數(shù)據(jù)提供方數(shù)據(jù)隱私的同時(shí),能夠快速、精確地獲得 Top-k查詢結(jié)果;所述方法包括下列操作步驟(1)中心計(jì)算節(jié)點(diǎn)與數(shù)據(jù)提供方之間運(yùn)行安全計(jì)算協(xié)議,對(duì)數(shù)據(jù)列表中的對(duì)象和對(duì)象值進(jìn)行隱私保護(hù)處理;(2)中心計(jì)算節(jié)點(diǎn)與數(shù)據(jù)提供方之間根據(jù)閥值算法計(jì)算Top-k候選集;(3)數(shù)據(jù)提供方之間對(duì)候選集中的對(duì)象進(jìn)行安全多方求和操作,中心計(jì)算節(jié)點(diǎn)通過(guò)降序排列得到經(jīng)過(guò)隱私處理后的Top-k對(duì)象集及其對(duì)應(yīng)的匯聚值;(4)中心計(jì)算節(jié)點(diǎn)還原Top-k對(duì)象集中的對(duì)象真實(shí)值,返回查詢結(jié)果。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于每個(gè)數(shù)據(jù)提供方所提供的數(shù)據(jù)列表中的對(duì)象是m位字符串χ = (X1……I),式中,下標(biāo)m的取值區(qū)間為(192,256),若字符串的長(zhǎng)度超過(guò)256,則數(shù)據(jù)提供方使用統(tǒng)一的映射函數(shù)將該字符串映射為m位字符串,然后中心計(jì)算節(jié)點(diǎn)對(duì)各數(shù)據(jù)提供方的數(shù)據(jù)列表中的對(duì)象和對(duì)象值執(zhí)行隱私處理。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于所述映射函數(shù)是哈希函數(shù)。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟(1)包括下列操作內(nèi)容(11)中心計(jì)算節(jié)點(diǎn)隨機(jī)產(chǎn)生一個(gè)大素?cái)?shù)ρ和ρ階乘法群(}P,以及(^p的生成元g,并在整數(shù)模P乘法群《中隨機(jī)產(chǎn)生ail個(gè)隨機(jī)值Ia1,......,和Ir1,......,rm},再組成m個(gè)數(shù)據(jù)對(duì)(屮,屮·巧),式中,自然數(shù)i的最大值為m,并計(jì)算固定值/ =α·,并將這m個(gè)數(shù)據(jù)對(duì)和固定值t發(fā)送給各個(gè)數(shù)據(jù)提供方;(12)數(shù)據(jù)提供方按照下述方式逐一計(jì)算數(shù)據(jù)列表中每個(gè)對(duì)象χ= (X1.....xffl)對(duì)應(yīng)的加密值M 若Xi = 0,則記為否則,記為屮Xri ;再計(jì)算J = (Π Ci1) χ (Π: η),則該對(duì)象的加密值M = tA,然后將該加密值與原對(duì)象建立一一映射關(guān)系;經(jīng)過(guò)上述隱私處理后,中心計(jì)算節(jié)點(diǎn)就無(wú)法獲知各數(shù)據(jù)列表中對(duì)象的真實(shí)值,且每個(gè)數(shù)據(jù)提供方數(shù)據(jù)列表中同一個(gè)對(duì)象的加密值是相同的,每個(gè)數(shù)據(jù)提供方能夠還原加密對(duì)象的真實(shí)值;(13)數(shù)據(jù)提供方選擇一個(gè)隨機(jī)值,再將各自數(shù)據(jù)列表中所有對(duì)象的對(duì)象值減去該隨機(jī)值,數(shù)據(jù)提供方之間共同運(yùn)行Siamir門(mén)限秘密共享求和操作,計(jì)算這些隨機(jī)值的總和,以使每個(gè)數(shù)據(jù)提供方也不能獲知其他數(shù)據(jù)提供方相減后的隨機(jī)值;然后,將該總和發(fā)送給中心計(jì)算節(jié)點(diǎn);如此操作后,數(shù)據(jù)提供方與中心計(jì)算節(jié)點(diǎn)之間交互對(duì)象的對(duì)象值都是隱私處理后的非真實(shí)值。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟(2)包括下列操作內(nèi)容(21)數(shù)據(jù)提供方只將各數(shù)據(jù)列表中加密后中降序排列的前k個(gè)對(duì)象上傳到中心計(jì)算節(jié)點(diǎn),中心計(jì)算節(jié)點(diǎn)刪除重復(fù)出現(xiàn)的對(duì)象后,將剩余的對(duì)象發(fā)送給各數(shù)據(jù)提供方,以使數(shù)據(jù)提供方再將這些對(duì)象對(duì)應(yīng)的對(duì)象值上傳給中心計(jì)算節(jié)點(diǎn);(22)假設(shè)參與查詢計(jì)算的數(shù)據(jù)提供方共有η個(gè),各數(shù)據(jù)提供方將每個(gè)需要上傳對(duì)象的對(duì)象值分成η份,該η份的和等于該對(duì)象值;再將(η-1)份發(fā)給其他數(shù)據(jù)提供方;如果該對(duì)象不在數(shù)據(jù)列表中,則認(rèn)為該對(duì)象的對(duì)象值為以前減去的隨機(jī)值,也分為η份發(fā)給其他數(shù)據(jù)提供方;其它數(shù)據(jù)提供方接收到該對(duì)象的(η-1)份數(shù)據(jù)后,重新匯聚求和,作為該對(duì)象的對(duì)象值;然后將這些對(duì)象及匯聚后的對(duì)象值上傳到中心計(jì)算節(jié)點(diǎn);(23)中心計(jì)算節(jié)點(diǎn)將上傳的對(duì)象匯聚求和后,按降序排列,選取第k個(gè)對(duì)象的匯聚值為閥值,并將該閥值均分后發(fā)送給各數(shù)據(jù)提供方;數(shù)據(jù)提供方接收到均分的閥值后,將大于該閥值的對(duì)象及對(duì)象值上傳到中心計(jì)算節(jié)點(diǎn);(24)中心計(jì)算節(jié)點(diǎn)去除重復(fù)出現(xiàn)的對(duì)象,將剩余的對(duì)象組成Top-k候選集,再將該 Top-k候選集發(fā)送到各個(gè)數(shù)據(jù)提供方。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟(3)包括下列操作內(nèi)容(31)各數(shù)據(jù)提供方從各自的數(shù)據(jù)列表中找出候選集出現(xiàn)的對(duì)象,將每個(gè)對(duì)象的對(duì)象值分成η份,該η份的和等于該對(duì)象值;再將(η-1)份發(fā)送給其他數(shù)據(jù)提供方;如果候選集中的該對(duì)象不在數(shù)據(jù)列表中,則認(rèn)為該對(duì)象的對(duì)象值為以前減去的隨機(jī)值,也分為η份發(fā)送給其他數(shù)據(jù)提供方;其它數(shù)據(jù)提供方接收到該對(duì)象的(η-1)份數(shù)據(jù)后,重新匯聚求和,作為該對(duì)象的對(duì)象值;然后將該對(duì)象值上傳到中心計(jì)算節(jié)點(diǎn);(32)中心計(jì)算節(jié)點(diǎn)再次將上傳的對(duì)象匯聚求和,并將該結(jié)果加上由步驟(13)減去隨機(jī)值的總和,進(jìn)行降序排列后,得到Top-k對(duì)象集合及匯聚值。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟(4)包括下列操作內(nèi)容(41)中心計(jì)算節(jié)點(diǎn)向各數(shù)據(jù)提供方查詢Top-k對(duì)象集合中對(duì)象的真實(shí)值;(42)中心計(jì)算節(jié)點(diǎn)向各數(shù)據(jù)提供方返回真實(shí)的Top-k對(duì)象集合及對(duì)應(yīng)的匯聚值,查詢結(jié)束。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于所述方法用于分布式網(wǎng)絡(luò)的協(xié)同安全監(jiān)控、網(wǎng)絡(luò)管理和數(shù)據(jù)挖掘隱私保護(hù)。
全文摘要
一種基于隱私保持的分布式Top-k查詢方法,是由中心計(jì)算節(jié)點(diǎn)先對(duì)各數(shù)據(jù)提供方數(shù)據(jù)列表中的對(duì)象進(jìn)行隱私保護(hù)處理,然后在三階段閥值算法的基礎(chǔ)上,利用安全多方計(jì)算操作分別對(duì)各個(gè)數(shù)據(jù)列表中的對(duì)象值進(jìn)行隱私保護(hù)處理,以便在最大化保護(hù)數(shù)據(jù)提供方數(shù)據(jù)隱私的同時(shí),能夠快速、精確地獲得Top-k查詢結(jié)果,從而使得數(shù)據(jù)提供方在不暴露自有數(shù)據(jù)隱私的前提下,就完成安全的數(shù)據(jù)匯聚查詢操作。所以,本發(fā)明在分布式網(wǎng)絡(luò)協(xié)同安全監(jiān)控、網(wǎng)絡(luò)管理、數(shù)據(jù)挖掘隱私保護(hù)等許多領(lǐng)域具有很好的推廣應(yīng)用前景。
文檔編號(hào)H04L12/24GK102394784SQ20111037106
公開(kāi)日2012年3月28日 申請(qǐng)日期2011年11月21日 優(yōu)先權(quán)日2011年11月21日
發(fā)明者吳軍, 寧春雨, 張沛, 林昭文, 王振華, 蘇玉潔, 趙欽, 鄭希帆, 馬嚴(yán), 黃小紅 申請(qǐng)人:北京郵電大學(xué)