邢文凱
(1. 鄭州大學 西亞斯國際學院, 河南 新鄭 451150; 2. 商丘職業技術學院 計算機系,河南 商丘 476100)
云計算具有超強的數據處理能力,并且能夠實現大容量數據的有效存儲,逐漸受到企業和個人數據管理的青睞.通過云端處理平臺,用戶能夠有效降低本地資源投入,節約日常維護時間成本,并且能夠在大數據統計和計算后為決策支持提供幫助[1].與保存于本地相比,用戶數據保存于云端更容易出現數據泄露或被破壞的可能[2],所以云計算服務器數據資源的管理和隱私保護顯得尤為重要.當前數據擁有者外包數據給云端管理的模式仍處于初級階段,大部分數據仍由數據擁有者運行維護.
云計算數據量大且內容豐富,用戶訪頻率高,在用戶查詢讀取數據過程中,如何保證用戶既能通過云端獲取需求信息,又能隱藏其他數據,防止關聯數據隱私泄露,是當前云計算數據管理需要亟待解決的問題.文獻[3]從云計算數據安全架構方面對云計算與大數據時代下的隱私保護提出了策略;文獻[4]從用戶屬性著手,進行多項授權的安全云端登陸.當前云計算加密方法主要有內容感知加密和格式加密,前者是對關鍵信息設置加密策略,后者是對整段數據進行加密.兩者共同點是均需要采用加密算法完成數據加密,比如橢圓加密,DES密鑰生成等,兩者差異主要表現在數據加密的范圍,前者針對關鍵數據,后者針對整個數據文本.這些加密手段都將重點放在數據傳輸及通信過程中,或者在云計算服務器端對數據采取加密保護.本文以數據查詢的索引構建作為切入點,將相似子圖查詢與哈希多關鍵字索引相結合,旨在提高用戶數據檢索過程中的數據安全性,在安全索引策略制定過程中,還需考慮云計算數據的查詢效率及數據管理的存儲成本.
云計算數據類型豐富,數據量大,對應的數據操作方法也呈多樣化特點.考慮到圖狀數據在結構化復雜數據方面的獨特優點[5],本文采用圖狀數據對云計算數據進行部署,對圖狀數據進行操作和處理來挖掘云計算數據的關聯性,提高數據使用價值,具體查詢系統模型如圖1所示.

圖1 云計算數據查詢系統模型Fig.1 Model for data query system in cloud computing
在數據查詢過程中,不論是圖狀數據本身還是查詢關鍵字及索引,都是云平臺需要保護的數據.在用戶訪問圖狀數據時,如何保證用戶數據不被竊取和替換是研究人員需要重點關注的問題,本文從索引構建方面提高數據的安全性.
圖狀數據對結構化復雜數據進行部署,在用戶訪問云平臺進行數據查詢過程中,提高了用戶獲取有效數據的效率.云平臺需要對龐大的圖狀數據建立合適的索引結構,利用索引關鍵字進行相似性計算.圖狀數據查詢過程中,節點之間的關聯性與約束節點的可達性是云臺數據保護的另一關鍵點.
本文從相似子查詢過程中分析可能出現的數據泄露問題,并在數據建立索引過程中采取策略對這些問題進行規避.
相似子圖查詢的定義如下:給定查詢圖Q和圖狀數據集合G=(G1,G2,…,Gm),然后在G中找出所有近似包含Q的圖狀數據[5],具體算法步驟如下:
1) 抽取需要查詢數據樣本的圖狀數據特征子結構,對結構進行歸一化聚合處理得到FG=(f1,f2,…,fn),然后將圖狀數據的特征向量表示為gi=(gi,1,gi,2,…,gi,n).特征子結構主要分為兩類,頻繁子結構和一般子結構,劃分標準參考文獻[6-7],則圖狀數據的索引向量可表示為I=(g1,g2,…,gm).
2) 采用圖狀數據的邊向量和被查詢量Q進行模擬對比,找出兩者差異,然后對圖狀數據的邊向量進行一系列邊操作,得到與被查詢量Q最接近的圖狀結構.在模擬對比過程中,由于對圖狀數據向量進行了放松邊操作才能模擬得到與Q最相似的圖狀結構.放松邊操作是在距離計算過程中對Q的邊進行添加、刪除、修改權值等操作[8],在放松邊的操作過程中,必然造成圖狀數據與被查詢向量存在特征結構差.在此將結構差記為dmax,將dmax作為判斷查詢門限值標準,其值可通過遞歸函數求解.
3) 計算被查詢量Q與圖狀數據集合G中的結構差異,具體計算為
(1)
式中,i和j取值范圍為1≤i≤m,1≤j≤n.當qj≤gi,j時,表示圖狀數據集合G是包含被查詢數據對象Q的,則將兩者差異性記為0;當qj>gi,j時,需要計算兩者特征子結構的差異,還需要計算整體差異,計算規則為
(2)
當d(Q,Gi)≤dmax時,則表示圖像數據集合G包含查詢數據對象集合Q,需要通過索引找到用戶查詢結果.如果用戶發現此次查詢結果并不全面,可以繼續重復上述操作,對圖狀數據進行邊操作,但這種操作必然導致dmax的增大,造成相似誤差增大.
以上方法可以滿足云計算數據的相似查詢,但是對于安全性和隱私保護未采取任何方法規避,下文將對數據查詢的隱私保護制定策略.
為了方便描述查詢過程的隱私問題,需要對計算機陷門這個概念進行說明.陷門是指在登陸系統時繞過口令檢查的登陸操作[9],也可以理解為非授權訪問.這種非授權訪問對于云端數據泄露有很大影響,而且在數據查詢過程中,一旦攻擊者對圖狀數據的特征子結構種類和數量進行破解,那整個圖狀數據集合就很有可能會被解密,云端數據對于攻擊者變得透明.
對于圖狀數據集合G中的一個圖狀數據Gi,將其特征向量和隨機向量分別用gi和λi表示,然后運用ASM-PH加密得到加密向量EK(gi)和EK(λi),接著計算安全向量,即
EK(ψi)=EK(gi)EK(λi)
(3)
EK(ψi)是特征向量和隨機向量的乘積,形成密文數據,則有圖狀數據加密后的集合為
EK(ψ)={EK(ψ1),EK(ψ2),…,EK(ψm)}
(4)
在陷門處理方面,當云平臺檢測到登錄信息后,將安全和查詢向量進行對比,即
EK(α(qj,gi,j))=EK(qj)EK(λi)-EK(ψi)
(5)
然后根據EK(α(qj,gi,j))計算兩個圖的差異性,防止無授權訪問,最后對EK(d(Q,Gi))進行判斷計算,其計算表達式為
EK(d(Q,Gi))=EK(dmax)EK(λi)-EK(gi)
(6)
若d(Q,Gi)≥0,表示圖狀數據集合G包含被查詢對象Q;若d(Q,Gi)<0,表示查詢對象Q不在圖狀數據集合G中.
哈希函數作為一種壓縮映射,廣泛用于數據加密算法中[10-11],本文利用哈希函數將圖狀數據單個數據集的可達節點進行哈希運算,作為數據索引的第一級.設數據集合K={η,M1,M2,ξ,β},M1、M2和β={β1,β2,…,βt}分別為(n+1)×(n+1)維可逆矩陣和隨機數.
將查詢的路徑標簽進行向量轉換,向量轉換過程中引入隨機數[12-13],然后計算查詢指示向量,其表達式為
(7)
式中:ξk為k維隨機向量;γi,j,k為圖狀數據向量γi,j的路徑標簽值.

(8)
將得到的標簽集合作為圖狀數據單集安全檢索的第二級檢索,即
Hi=(T1,T2,…,TK)
(9)
最后,結合哈希函數構造的一級檢索和標簽集合的二級檢索[14],得到本文所構建的安全索引為
I=(I1,I2,…,Im)
(10)
式中,Ii=(Ki,Hi).
本文采用8 GBit內存,64位處理器作為云端服務器,采用Matlab進行實例仿真.為了驗證算法的通用性,實例仿真的5組圖狀數據集合均來自于隨機數發生器,為了保證樣本的差異性,5組數據集合的數量分別為2 000,4 000,6 000,8 000,10 000.被查詢對象數據選擇邊分別為8,16,20,24,32,頻繁子結構(Struct A)和一般子結構(Struct B)作為特征子結構的兩個類型[6-7],將不同子結構規模、不同數據樣本及不同查詢對象情況的性能進行實例仿真.首先,考慮到云計算數據量大的特點,分析了本文安全索引構建方法的存儲成本,對5組圖狀數據集合仿真,其特征數量規模和所占內存情況分別如圖2、3所示.

圖2 特征對象規模圖Fig.2 Scale of query objects
圖2是不同數量的圖狀數據集合進行安全索引帶來的特征子結構種類數量的變化情況.從圖2中可以看出,Struct A相對于Struct B在相同數量集合的條件下,種類數量更豐富,因此更耗存儲成本.隨著圖狀數據集合數量的增加,Struct A的種類緩慢增加,而Struct B的種類數量基本保持穩定,這表明該索引構建方法在大數據量情況下,存儲成本開銷并不大,而且增長比較慢.

圖3 不同規模圖狀數據集合索引所占內存Fig.3 Memory occupied by index of graphdata set with different scales
由圖3可以看出,隨著圖狀數據量的增加,安全索引所占內存呈線性增加,Struct A相比于Struct B增加速度較快.當圖狀數據量達到10 000個時,Struct A約占用900 MBit的存儲空間,Struct B大約需要400 MBit,圖狀數據量越大,安全索引所占空間也越大,增大趨勢明顯.
在相似子圖查詢過程中,對圖狀數據進行邊操作,然后對圖狀數據與被查詢對象進行相似子圖比較,判斷該圖狀數據集合中是否包含被查詢對象.圖4為不同放松邊數的相似查詢結果,在放松1條邊的情況下,不論被查詢對象的結構大小,幾乎可以得到確切的相似比較匹配答案,表明經過加密和哈希等操作的安全索引并未增加相似匹配的難度和誤差.隨著放松邊數增加,相似誤差變大,圖狀數據集合中與被查詢對象匹配的子圖呈線性增加.在放松同樣邊數的情況下,特征子結構結構規模越大,相似匹配得到的結果越多,從這點來看,此方法更適合于模糊查詢.

圖4 不同放松邊數的相似查詢結果Fig.4 Similar query results of different relaxation edges
考慮了存儲成本和查詢效果之后,對時間成本進行仿真.云計算數據量大且訪問用戶眾多,查詢效率也是索引構建必須考慮的重要因素,圖5的橫坐標表示查詢對象圖結構規模大小,圖的規模大小按邊數個數來衡量,邊分別為8,16,20,24,32,即Q8、Q16、Q20、Q24、Q32.從圖5可以看出,Struct B并不隨著查詢對象規模的擴大增加查詢時間,時間成本一直保持在3.2 s左右,而Struct A也保持在6~7 s之間,這表明查詢的時間成本并不隨著查詢對象規模的擴大而增加.

圖5 不同規模查詢對象的查詢時間Fig.5 Query time for query objects with different scales
雖然被查詢對象的規模并不影響查詢時間,但隨著圖狀數據集合個數的增加,查詢時間逐漸增大.圖6為不同圖狀數據集數量下的查詢時間,從圖6可以看出,不同種類、不同規模的查詢對象在不同數量圖狀數據集合下查詢所消耗的時間差別較大.Struct A所耗時間比Struct B高,對于Struct B類查詢對象來說,結構規模越大,時間成本越高,但時間成本的增加非常慢,即使圖狀樣本數據加倍,時間也增加非常少.

圖6 不同圖狀數據集數量下的查詢時間Fig.6 Time-consuming of query objects undergraph data set with different scales
本文利用相似子圖查詢和哈希函數構建云計算數據安全索引,在構建過程中,通過相似誤差判斷被查詢對象是否在圖狀數據集合中;在索引構造中,引入ASM-PH加密算法對索引圖狀數據進行加密.對圖狀集合數據可達節點進行哈希散列作為一級檢索目錄,而標簽集合作為二級檢索目錄,以該方法作為云計算數據的索引構建,不論是在時間成本、存儲成本及查詢準確度方面均有一定的優勢,可廣泛用于大數據的云端寄存和管理.
[1] 劉艷秋,王浩,張穎,等.大數據背景下物流服務訂單分配 [J].沈陽工業大學學報,2016,38(2):190-195.
(LIU Yan-qiu,WANG Hao,ZHANG Ying,et al.Order allocation of logistics service under background of big data [J].Journal of Shenyang University of Technology,2016,38(2):190-195.)
[2] Boru D,Kliazovich D,Granelli F,et al.Energy-efficient data replication in cloud computing datacenters [J].Cluster Computing,2015,18(1):385-402.
[3] 歐萍.數據庫索引技術應用[J].電子科技,2011,24(9):146-148.
(OU Ping.Database index technology application[J].Electronic Science and Technology,2011,24(9):146-148.)
[4] Chen Y,Song L,Yang G.Attribute-based access control for multi-authority systems with constant size ciphertext in cloud computing [J].Communications China,2016,13(2):146-162.
[5] 馬靜,王浩成.基于路徑映射的相似子圖匹配算法 [J].計算機科學,2012,39(11):137-141.
(MA Jing,WANG Hao-cheng.Similarity subgraph matching algorithm based on path mapping [J].Computer Science,2012,39(11):137-141.)
[7] 張煥生,崔炳德,王政峰,等.基于圖的頻繁子結構挖掘算法綜述 [J].微型機與應用,2009,28(10):5-9.
(ZHANG Huan-sheng,CUI Bing-de,WANG Zheng-feng,et al.A survey of algorithms for mining frequent subgraph structures based on graphs [J].Microcomputer and Applications,2009,28(10):5-9.)
[8] 馬茜,谷峪,李芳芳,等.順序敏感的多源感知數據填補技術 [J].軟件學報,2016,27(9):2332-2347.
(MA Qian,GU Yu,LI Fang-fang,et al.Order-sensitive missing value imputation technology for multi-source sensory data [J].Journal of Software,2016,27(9):2332-2347.)
[9] 彭天強,栗芳.基于深度卷積神經網絡和二進制哈希學習的圖像檢索方法 [J].電子與信息學報,2016,38(8):2068-2075.
(PENG Tian-qiang,LI Fang.Image retrieval based on deep convolutional neural networks and binary hashing learning [J].Journal of Electronics and Information Technology,2016,38(8):2068-2075.)
[10]閆建華.格基簽密關鍵技術研究 [D].北京:北京郵電大學,2015.
(YAN Jian-hua.Lattice signcryption key technology research [D].Beijing:Beijing University of Posts and Telecommunications,2015.)
[11]倪劍兵.關鍵字搜索公鑰加密方案的分析與設計 [D].成都:電子科技大學,2014.
(NI Jian-bing.Analysis and design of keyword search public key encryption scheme [D].Chengdu:University of Electronic Science and Technology of China,2014.)
[12]阮林林.基于局部線性嵌入和局部保持投影的圖像哈希算法 [D].桂林:廣西師范大學,2015.
(RUAN Lin-lin.Image hashing algorithm based on locally linear embedding and locality preserving projections [D].Guilin:Guangxi Normal University,2015.)
[13]余純武,郭飛,張健.輕量哈希函數HBL [J].計算機工程與應用,2016,52(20):1-4.
(YU Chun-wu,GUO Fei,ZHANG Jian.Lightweight hash function HBL [J].Computer Engineering and Applications,2016,52(20):1-4.)
[14]孫德才,王曉霞.一種基于Bigram二級哈希的中文索引結構[J].電子設計工程,2014(12):1-4.
(SUN De-cai,WANG Xiao-xia.A chinese index structure based on Bigram two level Hash[J].Electronic Design Engineering,2014(12):1-4.)