一種基于私有信息提取的云計算私有范圍的查詢方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及信息安全技術(shù)領(lǐng)域,特別是涉及一種基于私有信息提取的云計算私有范圍的查詢方法。
【背景技術(shù)】
[0002]隨著云計算技術(shù)的出現(xiàn)與發(fā)展,數(shù)據(jù)擁有者可以將自己的數(shù)據(jù)外包至云服務(wù)器端,利用云服務(wù)器強大的存儲與計算能力來協(xié)助管理數(shù)據(jù),從而給數(shù)據(jù)擁有者帶來極大的便利。然而,由于用戶數(shù)據(jù)集中可能會包含關(guān)于自身的敏感信息,為了避免諸如醫(yī)療記錄、經(jīng)濟收入等方面隱私信息泄露所會帶來的不可預(yù)知的危害,用戶在上傳這些數(shù)據(jù)之前必須將它們加密。然而,這樣無疑會極大的降低數(shù)據(jù)的使用性。具體而言如圖1所示,如何設(shè)計安全協(xié)議使得用戶與云服務(wù)器能夠高效的協(xié)作完成對用戶密文數(shù)據(jù)的查詢工作,并同時保證安全協(xié)議查詢出來的結(jié)果與用戶在原始明文上查詢結(jié)果一致是目前云計算中的研究熱點與難點。
[0003]為了能夠有效支持在密文數(shù)據(jù)上的不同查詢功能,目前已經(jīng)存在多種可查詢加密方案。然而,這些方案中的絕大多數(shù)僅僅能夠支持相當(dāng)簡單的查詢工作,例如關(guān)鍵字查詢以及單維范圍查詢,而對密文數(shù)據(jù)上的多維范圍查詢并不適用??紤]到在現(xiàn)實中數(shù)據(jù)集一般情況下均是多維的,而且常用的數(shù)據(jù)庫SQL查詢?nèi)蝿?wù)也可以有效的轉(zhuǎn)化為多維范圍查詢問題。因此,如何設(shè)計出一種高效而又安全的多維范圍查詢協(xié)議在實際生活中具有相當(dāng)重要的意義。
[0004]Boneh 提出了隱向量加密(D.Boneh.Funct1nal Encrypt1n: A New Vis1nfor Public Key Cryptography.Communicat1ns of the ACM, 55 (11):56 - 64, 2012.),這是一種預(yù)測加密方案,在理論上可以被用作支持密文上的多維范圍查詢操作。然而,該種方案基于公鑰方法,直接利用這兩種方案去實現(xiàn)多維范圍查詢工作必然會帶來線性的查詢復(fù)雜度??紤]到現(xiàn)實數(shù)據(jù)集中的數(shù)據(jù)點數(shù)量一般而言都非常之大(百萬量級甚至更大)。Wang等人利用一種新穎的方式將隱向量加密融入至安全多維范圍查詢中(Wang,B.Maple: Scalable Mult1-Dimens1nal Range Search over Encrypted Cloud Data withTree-based Index.ACM ASIACCS,2014.),并由此實現(xiàn)了首個不會泄露任何單維信息并且能夠在對數(shù)計算復(fù)雜度內(nèi)完成多維范圍查詢的安全系統(tǒng)Maple。盡管Maple相對于以前的工作而言具備更強的安全性保證,然而,這項工作在密碼學(xué)領(lǐng)域來說仍然不是完全安全的。比如,云服務(wù)器可以在每次查詢中清晰得知用戶的查詢路徑以及查詢結(jié)果的密文形式。利用這些信息,云服務(wù)器仍能夠利用統(tǒng)計分析對用戶數(shù)據(jù)分布做出準(zhǔn)確的預(yù)測。更為嚴(yán)重的是,云服務(wù)器可以通過用戶多次查詢的查詢路徑與結(jié)果來計算出用戶所采用加密密鑰的私鑰,從而解密出用戶的所有數(shù)據(jù)內(nèi)容。
[0005]綜上所述,對于云計算中私有范圍查詢這一關(guān)鍵問題,目前已有的相關(guān)研究成果并不完備,主要體現(xiàn)在所提出的查詢方案安全隱患大以及運行效率低兩個方面的問題。因此,如何針對云計算范圍查詢的問題特征,給出安全而又高效的私有范圍查詢方法仍然是目前需要研究的重點內(nèi)容。
【發(fā)明內(nèi)容】
[0006]本發(fā)明主要解決的技術(shù)問題是提供一種基于私有信息提取的云計算私有范圍的查詢方法,通過采用基于私有信息提取技術(shù)來完成下層節(jié)點的遍歷,實現(xiàn)用戶可以在不向服務(wù)器泄露任何關(guān)于自身所持有的鍵值的前提下,高效的得到服務(wù)器上所存儲的此鍵值所對應(yīng)的實際內(nèi)容,采用群編碼技術(shù)可以有效地改進私有信息提取協(xié)議,從而極大地提升采用PIR的私有范圍查詢的效率,在基于私有信息提取的云計算私有范圍的查詢方法的普及上有著廣泛的市場前景。
[0007]為解決上述技術(shù)問題,本發(fā)明提供一種基于私有信息提取的云計算私有范圍的查詢方法,包括以下步驟:
(1)初始化:
(a)云用戶首先產(chǎn)生加密密鑰,將自身待存儲的數(shù)據(jù)通過塊加密后,上傳到云服務(wù)器,同時刪除本地數(shù)據(jù),
(b)云服務(wù)器對加密樹上的高層節(jié)點與其孩子節(jié)點構(gòu)造拓?fù)浣Y(jié)構(gòu)關(guān)系,并對低層的節(jié)點進行群編碼;
(2)協(xié)作查詢:
(C)當(dāng)需要進行范圍查詢時,云用戶向云服務(wù)器提供查詢請求,
(d)云服務(wù)器將加密樹中的高層節(jié)點以及這些節(jié)點之間的拓?fù)浣Y(jié)構(gòu)關(guān)系發(fā)送給數(shù)據(jù)擁有者,同時還發(fā)送在高層結(jié)構(gòu)中的底層節(jié)點的孩子節(jié)點的索引標(biāo)號,
(e)云用戶從根節(jié)點開始解密,并判斷根節(jié)點中哪些數(shù)據(jù)項與查詢區(qū)域存在交集,從而決定在下一層中哪些節(jié)點被選中,
(f)云用戶得知下層節(jié)點中的哪些節(jié)點需要遍歷后,通過與云服務(wù)器協(xié)作運行PIR協(xié)議,從而可以在不向云服務(wù)器提供任何私有信息的前提下獲取這些所需節(jié)點的密文值,
(g)云用戶對這些節(jié)點的密文值進行解密并判斷下層節(jié)點中的哪些節(jié)點可能會與查詢區(qū)域存在交集,若未到最底層葉子節(jié)點,則返回步驟(f)繼續(xù)查詢,直至查詢到最底層葉子節(jié)點,
(h )云用戶查詢到最底層葉子節(jié)點,獲取到所查范圍的查詢結(jié)果,查詢結(jié)束。
[0008]在本發(fā)明一個較佳實施例中,步驟(a)中的所述塊加密方式為AES加密方式的計數(shù)器模式。
[0009]在本發(fā)明一個較佳實施例中,步驟(a)中的所述塊加密方式的加密密鑰長度為128比特。
[0010]在本發(fā)明一個較佳實施例中,步驟(b)中的所述群編碼的分段數(shù)為1-13。
[0011]本發(fā)明的有益效果是:本發(fā)明基于私有信息提取的云計算私有范圍的查詢方法基于私有信息提取技術(shù)來完成下層節(jié)點的遍歷,實現(xiàn)用戶可以在不向服務(wù)器泄露任何關(guān)于自身所持有的鍵值的前提下,高效的得到服務(wù)器上所存儲的此鍵值所對應(yīng)的實際內(nèi)容,在保證查詢方案安全的同時,能夠大幅降低云計算中私有范圍查詢的開銷、提升私有范圍查詢效率,有著很好的實際應(yīng)用價值,在基于私有信息提取的云計算私有范圍的查詢方法的普及上有著廣泛的市場前景。
【附圖說明】
[0012]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖,其中:
圖1是現(xiàn)有技術(shù)云計算查詢方法的結(jié)構(gòu)示意圖;
圖2是本發(fā)明基于私有信息提取的云計算私有范圍的查詢方法一較佳實施例的流程圖;
圖3是本發(fā)明基于私有信息提取的云計算私有范圍的查詢方法一較佳實施例的群編碼的分段數(shù)的關(guān)于時間復(fù)雜度的實驗統(tǒng)計圖;
圖4是本發(fā)明基于私有信息提取的云計算私有范圍的查詢方法一較佳實施例的群編碼的分段數(shù)的關(guān)于通信復(fù)雜度的實驗統(tǒng)計圖。
【具體實施方式】
[0013]下面將對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明的一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
[0014]參閱圖2-圖4,本發(fā)明實施例包括:
一種基于私有信息提取的云計算私有范圍的查詢方法,包括以下步驟:
(1)初始化:
(a)云用戶首先產(chǎn)生加密密鑰,將自身待存儲的數(shù)據(jù)通過塊加密后,上傳到云服務(wù)器,同時刪除本地數(shù)據(jù),
(b)云服務(wù)器對加密樹上的高層節(jié)點與其孩子節(jié)點構(gòu)造拓?fù)浣Y(jié)構(gòu)關(guān)系,并對低層的節(jié)點進行群編碼;
(2)協(xié)作查詢:
(C)當(dāng)需要進行范圍查詢時,云用戶向云服務(wù)器提供查詢請求,當(dāng)數(shù)據(jù)擁有者想進行一次范圍查詢時,他并不向云服務(wù)器提供關(guān)于查詢范圍的任何信息,取而代之的是,他僅僅需要向云服務(wù)器提供查詢請求,
(d)云服務(wù)器將加密樹中的高層節(jié)點以及這些節(jié)點之間的拓?fù)浣Y(jié)構(gòu)關(guān)系發(fā)送給數(shù)據(jù)擁有者,同時還發(fā)送在高層結(jié)構(gòu)中的底層節(jié)點的孩子節(jié)點的索引標(biāo)號,
(e)云用戶從根節(jié)點開始解密,并判斷根節(jié)點中哪些數(shù)據(jù)項與查詢區(qū)域存在交集,從而決定在下一層中哪些節(jié)點被選中,
(f)云用戶得知下層節(jié)點中的哪些節(jié)點需要遍歷后,通過與云服務(wù)器協(xié)作運行PIR協(xié)議,從而可以在不向云服務(wù)器提供任何私有信息的前提下獲取這些所需節(jié)點的密文值,云用戶和云服務(wù)器協(xié)同運行PIR協(xié)議,使得用戶可以在不向服務(wù)器泄露所需數(shù)據(jù)的同時,得到服務(wù)器上所存儲的內(nèi)容,從而可以保證云用戶的數(shù)據(jù)隱私安全,
(g)云用戶對這些節(jié)點的密文值進行解密并判斷下層節(jié)點中的哪些節(jié)點可能會與查詢區(qū)域存在交集,若未到最底層葉子節(jié)點,則返回步驟(f)繼續(xù)查詢,直至查詢到最底層葉子節(jié)點,
(h)云用戶查詢到最底層葉子節(jié)點,獲取到所查范圍的查詢結(jié)果,查詢結(jié)束。
[0015]優(yōu)選地,步驟(a)中的所述塊加密方式為AES加密方式的計數(shù)器模式,云用戶對自身數(shù)據(jù)加密的采用塊加密方式來完成對用戶私有數(shù)據(jù)的加密,具體而言,將選用計數(shù)器模型下的AES加密方式,這與之前所有工作所采用的加密方案均不同,因為AES加密不具有任何同態(tài)性質(zhì),從而導(dǎo)致云服務(wù)器端并不能夠獨立完成查詢?nèi)蝿?wù)。
[0016]優(yōu)選地,步驟(a)中的所述塊加密方式的加密密鑰長度為128比特。
[0017]優(yōu)選地,步驟(b)中的所