外包云環(huán)境下面向多數(shù)據(jù)擁有者的安全最近鄰查詢方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種本發(fā)明涉及安全查詢處理領(lǐng)域,具體涉及一種外包云環(huán)境下面向 多數(shù)據(jù)擁有者的安全最近鄰查詢方法。
【背景技術(shù)】
[0002] 隨著云計(jì)算技術(shù)的興起,人們對(duì)數(shù)據(jù)外包業(yè)務(wù)越來越感興趣。通過外包模式將數(shù) 據(jù)擁有者從繁重的維護(hù)和查詢工作中解放出來,使其不再受限于有限的本地設(shè)備資源,更 重要的是可以借助云服務(wù)提供商(cloud service provider,CSP)強(qiáng)大的存儲(chǔ)和計(jì)算能力 進(jìn)一步拓展核心業(yè)務(wù),擴(kuò)大服務(wù)規(guī)模。Green等人考慮到云計(jì)算這一新型服務(wù)模式,在密鑰 策略的屬性加密方案(Key-policy attribute-based encrypt ion, KP-ABE)和密文策略的 屬性加密方案(ciphertext-policy attribute-based encryption,CP_ABE)的基礎(chǔ)上提出 了外包屬性密碼機(jī)制并構(gòu)造了具體方案。外包屬性密碼機(jī)制可以看作是在原有ABE方案的 基礎(chǔ)上添加外包解密功能。然而,由于CSP是半可信的,即誠實(shí)但好奇的,數(shù)據(jù)擁有者(data 〇wner,D0)將所屬的數(shù)據(jù)及服務(wù)外包會(huì)引發(fā)了一系列的安全問題。
[0003] 其中,安全最近鄰查詢由于其是基于位置的服務(wù)(LBS)、空間數(shù)據(jù)庫、多媒體數(shù)據(jù) 庫等的基礎(chǔ)性操作,成為了近年來的研究熱點(diǎn)。以往方案常用的方法是數(shù)據(jù)擁有者將數(shù)據(jù) 外包至CSP之前對(duì)數(shù)據(jù)進(jìn)行加密處理,而用戶發(fā)送查詢前也同樣進(jìn)行加密。通過這種方法, 數(shù)據(jù)擁有者的數(shù)據(jù)隱私及用戶的查詢隱私可以得到較好的保護(hù),并且由于空間劃分方法的 引入,使得查詢效率也有了顯著提升。
[0004] 然而,現(xiàn)有的這些工作均假設(shè)數(shù)據(jù)擁有者是單一可信的,而CSP上匯聚的位置大數(shù) 據(jù)通??勘姸嗟臄?shù)據(jù)所有者上傳,在這種情況下,單個(gè)的數(shù)據(jù)所有者變節(jié)會(huì)導(dǎo)致較大的安 全隱患。最近的研究表明,即使是在數(shù)據(jù)加密存儲(chǔ)的情況下,通過跟蹤數(shù)據(jù)訪問模式同樣可 以得到用戶的敏感信息,然而大多數(shù)方案也忽視了訪問模式的泄露這一問題。
【發(fā)明內(nèi)容】
[0005] 發(fā)明目的:本發(fā)明的目的在于解決現(xiàn)有技術(shù)中存在的不足,提供一種外包云環(huán)境 下面向多數(shù)據(jù)擁有者的安全最近鄰查詢方法。
[0006] 技術(shù)方案:本發(fā)明的一種外包云環(huán)境下面向多數(shù)據(jù)擁有者的安全最近鄰查詢方 法,依次包括以下步驟:
[0007] (1)管理服務(wù)器根據(jù)外包屬性密碼機(jī)制生成公鑰PK及主密鑰MSK,將公鑰公開,并 將主密鑰由管理服務(wù)器自己保留;
[0008] (2)數(shù)據(jù)擁有者對(duì)數(shù)據(jù)集進(jìn)行劃分后得到多個(gè)數(shù)據(jù)塊,將加密處理后的邊界索引 上傳至管理服務(wù)器,同時(shí)將加密后的數(shù)據(jù)塊密鑰和數(shù)據(jù)塊上傳至云服務(wù)器;
[0009] (3)用戶使用保序加密機(jī)制對(duì)二維查詢點(diǎn)的橫縱坐標(biāo)進(jìn)行加密處理,并發(fā)送查詢 至管理服務(wù)器,管理服務(wù)器使用外包屬性密碼機(jī)制更新用戶查詢請(qǐng)求后發(fā)送至云服務(wù)器;
[0010] (4)管理服務(wù)器匹配到相應(yīng)的索引集合后將外包屬性密碼中生成的私鑰z發(fā)送給 用戶;
[0011] (5)云服務(wù)器接收到查詢請(qǐng)求后使用外包屬性密碼機(jī)制對(duì)對(duì)稱密鑰密文進(jìn)行部分 解密處理,并將對(duì)稱密鑰部分解密密文和數(shù)據(jù)塊重加密密文發(fā)送給用戶;
[0012] (6)用戶獲取加密后包含所述真實(shí)查詢點(diǎn)的數(shù)據(jù)塊,并解密后計(jì)算出最近鄰。
[0013] 進(jìn)一步的,所述步驟(2)的具體過程為:
[0014] (21)數(shù)據(jù)擁有者生成二維數(shù)據(jù)點(diǎn)集的voronoi圖,對(duì)其進(jìn)行劃分后得到多個(gè)矩形 數(shù)據(jù)塊;
[0015] (22)數(shù)據(jù)擁有者使用保序加密機(jī)制對(duì)數(shù)據(jù)塊邊界左下角點(diǎn)和右上角點(diǎn)的橫縱坐 標(biāo)進(jìn)行保序加密處理,并將得到的索引密文發(fā)送給管理服務(wù)器;
[0016] (23)數(shù)據(jù)擁有者使用對(duì)稱密碼機(jī)制對(duì)數(shù)據(jù)塊進(jìn)行加密處理,使用屬性加密機(jī)制對(duì) 對(duì)稱密鑰進(jìn)行加密處理,并將數(shù)據(jù)塊密文及密鑰密文發(fā)送到云服務(wù)器。
[0017] 進(jìn)一步的,所述步驟(23)的具體方法為:
[0018] 數(shù)據(jù)擁有者根據(jù)數(shù)據(jù)塊數(shù)目,利用安全的單射哈希函數(shù)產(chǎn)生一條對(duì)應(yīng)數(shù)目的對(duì)稱 密鑰鏈,并利用對(duì)稱密鑰對(duì)數(shù)據(jù)塊進(jìn)行加密生成密文,每個(gè)數(shù)據(jù)塊的加密密鑰不同;數(shù)據(jù)擁 有者將公鑰PK、作為數(shù)據(jù)塊屬性集的左下角點(diǎn)和右上角點(diǎn)的橫縱坐標(biāo)密文及對(duì)稱密鑰作為 輸入,采用外包屬性密碼機(jī)制對(duì)對(duì)稱密鑰進(jìn)行加密,以生成對(duì)稱密鑰密文;數(shù)據(jù)擁有者數(shù)據(jù) 塊密文及對(duì)應(yīng)的對(duì)稱密鑰密文作為一個(gè)數(shù)據(jù)包,整體上傳至云服務(wù)器,然后從本地刪除對(duì) 稱密鑰及其密文。
[0019] 進(jìn)一步的,所述步驟(3)的具體過程為:
[0020] (31)用戶使用保序加密機(jī)制對(duì)二維查詢點(diǎn)橫縱坐標(biāo)進(jìn)行加密處理;
[0021] (32)用戶將可支持的數(shù)據(jù)處理空間的大小和查詢點(diǎn)密文發(fā)送給管理服務(wù)器;
[0022] (33)管理服務(wù)器根據(jù)查詢點(diǎn)密文和數(shù)據(jù)塊索引密文匹配到相應(yīng)數(shù)據(jù)塊,使用線性 秘密共享模式生成相應(yīng)的樹形訪問結(jié)構(gòu)(M,P);
[0023] (34)管理服務(wù)器將該訪問結(jié)構(gòu)、隨機(jī)產(chǎn)生的私鑰z和系統(tǒng)主密鑰MSK作為輸入,采 用外包屬性密碼機(jī)制生成轉(zhuǎn)換密鑰TK;
[0024] (35)管理服務(wù)器將匹配到的數(shù)據(jù)塊標(biāo)識(shí)符、隨機(jī)選取的若干個(gè)干擾標(biāo)識(shí)符和轉(zhuǎn)換 密鑰TK作為更新后的查詢請(qǐng)求,發(fā)送至云服務(wù)器;
[0025] 其中,所述樹形訪問結(jié)構(gòu)(M,P)是矩形數(shù)據(jù)塊左下角點(diǎn)和右上角點(diǎn)的橫縱坐標(biāo)密 文由與門連接形成的樹形訪問結(jié)構(gòu)。
[0026]進(jìn)一步的,所述步驟(5)的具體過程為:
[0027] (51)云服務(wù)器接收到查詢請(qǐng)求后,使用轉(zhuǎn)換密鑰TK對(duì)包含真實(shí)所述查詢點(diǎn)數(shù)據(jù)塊 及若干干擾數(shù)據(jù)塊的對(duì)稱密鑰密文進(jìn)行部分解密處理,該轉(zhuǎn)換密鑰TK僅可正確地對(duì)包含真 實(shí)所述查詢點(diǎn)數(shù)據(jù)塊的對(duì)稱密鑰密文完成部分解密處理;
[0028] (52)云服務(wù)器對(duì)對(duì)稱密鑰部分解密密文進(jìn)行哈希運(yùn)算,將得到的結(jié)果作為重加密 密鑰對(duì)數(shù)據(jù)塊密文進(jìn)行重加密;
[0029] (53)云服務(wù)器將所得到的若干個(gè)數(shù)據(jù)塊的對(duì)稱密鑰部分解密密文和數(shù)據(jù)塊重加 密密文發(fā)送給用戶。
[0030] 進(jìn)一步的,所述步驟(6)的具體過程為:
[0031] (61)用戶將自己持有的私鑰z和接收到的各對(duì)稱密鑰部分解密密文作為輸入,采 用外包屬性密碼機(jī)制對(duì)密鑰部分解密密文進(jìn)行解密處理;當(dāng)數(shù)據(jù)塊包含所述真實(shí)查詢點(diǎn) 時(shí),該私鑰Z可正確解密出相應(yīng)對(duì)稱密鑰并轉(zhuǎn)入步驟6.2;否則重新選擇其他對(duì)稱密鑰部分 解密密文進(jìn)行運(yùn)算,直至嘗試完所有返回的對(duì)稱密鑰的部分解密密文;
[0032] (62)用戶對(duì)相應(yīng)數(shù)據(jù)塊的對(duì)稱密鑰的部分解密密文進(jìn)行哈希運(yùn)算得到重加密密 鑰;
[0033] (63)使用重加密密鑰和對(duì)稱密鑰對(duì)相應(yīng)的數(shù)據(jù)塊密文進(jìn)行二次解密得到數(shù)據(jù)塊 明文;
[0034] (64)用戶在包含所述真實(shí)查詢點(diǎn)的數(shù)據(jù)塊上執(zhí)行最近鄰操作,獲取結(jié)果點(diǎn)。
[0035] 有益效果:與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
[0036] (1)本發(fā)明在SVD算法的基礎(chǔ)上,數(shù)據(jù)擁有者分別采用屬性加密和保序加密對(duì)數(shù)據(jù) 塊密鑰及索引進(jìn)行加密,保護(hù)數(shù)據(jù)隱私的同時(shí)又保護(hù)了用戶的查詢隱私。更重要的是,由于 使用了外包屬性密碼機(jī)制,降低了查詢過程中用戶端的開銷。
[0037] (2)本發(fā)明考慮了在多數(shù)據(jù)擁有者的外包環(huán)境下單個(gè)數(shù)據(jù)擁有者變節(jié)可能帶來的 隱私保護(hù)問題。數(shù)據(jù)擁有者在本地對(duì)數(shù)據(jù)集的voronoi圖進(jìn)行劃分之后得到若干數(shù)據(jù)塊,對(duì) 各個(gè)數(shù)據(jù)塊進(jìn)行加密的對(duì)稱密鑰是一條單射的密鑰鏈,且數(shù)據(jù)主傳輸完每塊密文后即刪除 先前的對(duì)稱密鑰及相應(yīng)的密鑰密文,因而數(shù)據(jù)主的變