1.隱私保護(hù)的安全位置服務(wù)范圍查詢外包方法,其特征是,包括步驟:
步驟1,位置服務(wù)提供商對POI數(shù)據(jù)進(jìn)行預(yù)處理;
本步驟進(jìn)一步包括子步驟:
1.1根據(jù)POI數(shù)據(jù)集獲得整個空間區(qū)域,并進(jìn)一步獲得整體空間區(qū)域的最小外接矩形區(qū)域;
1.2將該最小外接矩形區(qū)域劃分為4個子矩形區(qū)域,該4個子矩形區(qū)域記為第1層的子矩形區(qū)域;按照預(yù)設(shè)的構(gòu)造規(guī)則,用三條線段將該4個子矩形區(qū)域的中心點順次連接,獲得第1層的子型曲線;所述的構(gòu)造規(guī)則包括Hilbert曲線的起點、方向、縮放因子和階數(shù),起點選擇該4個子矩形區(qū)域的中心點之一,方向為順時針方向或逆時針方向,起點和方向隨機(jī)設(shè)置,縮放因子和階數(shù)根據(jù)實際安全需要定制,縮放因子和階數(shù)越大安全性越強(qiáng);
1.3逐層構(gòu)造子型曲線,獲得Hilbert曲線,具體為:
1.3a對第m層的各子矩形區(qū)域分別進(jìn)行如下操作,其中,m的初始值為1:
將第m層的子矩形區(qū)域劃分為第(m+1)層的4個子矩形區(qū)域,按照預(yù)設(shè)的構(gòu)造規(guī)則,用三條線段將該第(m+1)層的4個子矩形區(qū)域的中心點順次連接,獲得該第m層的子矩形區(qū)域的子型曲線;
1.3b沿著第m層的子型曲線的走向,連接第m層的各子矩形區(qū)域的子型曲線,得第(m+1)層的子型曲線;
1.3c令m=m+1,重復(fù)執(zhí)行子步驟1.3a~1.3c,直至獲得第M層的子型曲線,第M層的子型曲線即最終的Hilbert曲線;M為預(yù)設(shè)的層數(shù),根據(jù)經(jīng)驗取值;
1.4沿著Hilbert曲線對Hilbert曲線穿過的最小子矩形區(qū)域順序編碼,該編碼即Hilbert值;
1.5根據(jù)POI數(shù)據(jù)集中各POI對象的位置獲得各POI對象的Hilbert值,即將各POI對象位置所落入的最小子矩形區(qū)域的編碼作為該POI對象的Hilbert值;
1.6按照Hilbert值從大到小對POI數(shù)據(jù)密文Ci’進(jìn)行排序,得到排序后的POI數(shù)據(jù)密文集其中,n為POI數(shù)據(jù)集中POI對象的總數(shù),Ci’包含第i個POI對象的Hilbert值及密文,該密文即使用對稱加密算法對第i個POI對象的位置信息及數(shù)據(jù)內(nèi)容進(jìn)行加密后生成的密文;
1.7對排序后的POI數(shù)據(jù)密文集構(gòu)造Merkle哈希樹,具體為:
1.7a判斷n是否為2的冪數(shù),若是,執(zhí)行子步驟1.7b;否則,執(zhí)行子步驟1.7c;
1.7b構(gòu)造深度為d的二叉樹,d和n存在數(shù)學(xué)關(guān)系n=2d;二叉樹中,每個葉子節(jié)點對應(yīng)一個POI數(shù)據(jù)密文Ci’,且按Hilbert值從小到大的順序?qū)⒏鱌OI數(shù)據(jù)密文Ci’順次賦給各葉子節(jié)點;葉子節(jié)點的哈希值通過對POI數(shù)據(jù)密文Ci’進(jìn)行哈希運算獲得,每一個非葉子節(jié)點的哈希值為它的兩個直接子節(jié)點的哈希值所串接;
1.7c構(gòu)造深度為d'的二叉樹,d'和n'存在數(shù)學(xué)關(guān)系n'=2d',n'為所有大于n的2的冪數(shù)中的最小值;二叉樹中,前n個葉子節(jié)點分別對應(yīng)一個POI數(shù)據(jù)密文Ci’,且按Hilbert值從小到大的順序?qū)⒏鱌OI數(shù)據(jù)密文Ci’順次賦給前n個葉子節(jié)點;其他葉子節(jié)點為冗余葉子節(jié)點;每一個非葉子節(jié)點的哈希值為它的兩個直接子節(jié)點的哈希值所串接;
1.7d使用Ci’和Ti計算樹根的哈希值,將樹根哈希值進(jìn)行簽名,Ti為所有被用來驗證葉子節(jié)點Ci’的最小中間節(jié)點集合;
1.8將POI數(shù)據(jù)密文集和簽名發(fā)送給云服務(wù)提供商;
步驟2,位置服務(wù)提供商對用戶位置信息進(jìn)行預(yù)處理;
本步驟具體為:
根據(jù)用戶位置信息確定用戶所需要查詢的區(qū)域范圍Q,區(qū)域范圍Q內(nèi)所有最小子矩形區(qū)域的編碼構(gòu)成Hilbert值范圍Q',將Hilbert值范圍Q'發(fā)送給云服務(wù)提供商;
步驟3,云服務(wù)提供商將Hilbert值范圍Q'與POI數(shù)據(jù)密文集中各POI數(shù)據(jù)密文的Hilbert值一一比對,將與Hilbert值范圍Q'中所包含Hilbert值相同的POI數(shù)據(jù)密文以及用來恢復(fù)出簽名的最小中間節(jié)點集合、簽名返還給用戶;
步驟4,用戶驗證返回的POI數(shù)據(jù)密文的Hilbert值與Hilbert值范圍Q'中的Hilbert值在數(shù)量和數(shù)值上是否一致,若不一致,拋棄本次返回的數(shù)據(jù);若一致,采用返回的POI數(shù)據(jù)密文和最小中間節(jié)點集合恢復(fù)出樹根的簽名,并驗證與位置服務(wù)提供商的簽名是否一致,若一致,則對本次返回的POI數(shù)據(jù)密文進(jìn)行解密,否則,拋棄本次返回的數(shù)據(jù)。
2.如權(quán)利要求1所述的隱私保護(hù)的安全位置服務(wù)范圍查詢外包方法,其特征是:
子步驟1.2中,將該最小外接矩形區(qū)域劃分為4個子矩形區(qū)域,具體為:
采用過該最小外接矩形區(qū)域中心點的兩條相互垂直的直線,將該最小外接矩形區(qū)域劃分為4個子矩形區(qū)域。