朱春磊,楊 競,王小驥,劉星江
(1.91208 部隊,山東 青島 266102;2.中國電子科技集團公司第三十研究所,四川 成都 611041)
隨著物聯網時代的開啟,通信技術的目標變為萬物萬聯,越來越多的數據被產生。這些數據包括個人的隱私信息和公司的內部數據。通常,這些數據可以被加密存儲在云端或者數據中心。但是,隨著存儲的數據增大,數據擁有者或數據使用者不愿意下載整體數據解密得到他們想要的數據,因此設計一個可以獲得想要的數據而不需要解密整體數據的方案顯得尤為重要,這也正是可搜索加密(Searchable Encryption,SE)的概念。
數據使用者可以通過可搜索加密技術僅僅搜索關鍵詞和密鑰就可以在密文域上得到自己想要的數據。根據使用的加密算法不同,可搜索加密被分為對稱可搜索加密(Symmetric-key Searchable Encryption,SSE)和公鑰可搜索加密(Public-key Encryption with Keyword Seard,PEKS)。
自從可搜索加密概念被引入后,許多種類的可搜索加密被專家學者們提出。文獻[1]指出根據使用環境不同可搜索模型可以分為4 種模型,分別為單用戶寫入/單用戶讀取模型(Single Writer/Single Reader Model,S/S)、多用戶寫入/單用戶讀取模型(Multi Writer/Single Reader Model,M/S)、單用戶寫入/多用戶讀取模型(Single Writer/Multi Reader Model,S/M)和多用戶寫入/多用戶讀取模型(Multi Writer/Multi Reader Model,M/M)。可以根據不同的應用場景,使用不同的模型達到配置的目的。文獻[2]提出第一個可以實現的可搜索加密方案,使用特殊雙層加密算法,并且在密文中嵌入哈希值。搜索算法通過設定好的查詢關鍵詞掃描整個密文來獲得特定的密文塊。文獻[3]在文獻[2]的基礎上提出一個使用布隆過濾器建立安全索引的方案。文獻[4]提出的方案中,使用一個m 位的數組用于恢復相應關鍵詞在文檔中的位置,而不是使用布隆過濾器。
文獻[5]基于智能電網的工作模式、數據特征提出一個對稱可搜索加密在智能電網的應用研究方案。文獻[6]提出了一個簡單、實用的可搜索加密方案,目的是保護智能電網中的數據隱私方案。為了滿足智能電網的特點,該方案使用了高空間復雜度、小信息分簇的構建。物聯網的安全問題與傳統互聯網安全問題相比有很大不同,主要是因為物聯網環境中設備的存儲資源和計算資源能力有限,無法完成較復雜的安全策略[7]。
基于上述研究成果和物聯網安全環境的特點,本文提出了一種無線傳感器網絡可搜索加密方案。由于無線傳感器網絡需要多個節點網絡共同傳輸數據至數據中心,所以方案基于多用戶寫入/單用戶讀取模型進行設計。
本文中使用的符號若無特殊說明見表1。

表1 符號說明表
無線傳感器節點網絡的組建和接入可以劃分為基于單認證節點的安全接入、基于分布式的安全接入、基于身份密鑰管理的安全接入和基于證書的安全接入[8]。由于基于證書的安全接入技術具有比較高的安全性、適用性和可擴展行,本文使用此安全接入技術。整體網絡架構如圖1 所示。

圖1 無線傳感器網絡架構
圖1 中,無線傳感器網絡由n 個節點網絡組成,每個節點網絡由1 個中心節點和若干個普通節點組成。中心節點負責將普通節點搜集的數據傳遞出去。
可搜索加密的整體過程為用戶將密文文件和對應的陷門發送到數據中心,數據中心分別存儲它們,當用戶(或取得授權的其他用戶)需要使用這些數據時,再從數據中心獲得這些數據并用密鑰解密。通用流程見圖2。
步驟1:加密并傳輸。用戶使用密鑰對明文信息加密,將生產的密文傳遞至數據中心。
步驟2:生成陷門并傳輸。用戶使用密鑰生成可以查詢密文的關鍵詞陷門,將陷門發送至數據中心。
步驟3:檢索。數據中心在收到檢索請求后對索引執行檢索算法,取得對應的密文。
步驟4:解密。用戶取回密文,并使用密鑰解密。

圖2 可搜索加密過程
SWP 方案在預處理過程中根據文件長度產生偽隨機流S1,S2,…,Sn(n 為待加密文件中“單詞”個數)做雙層加密并計算關鍵詞陷門。查詢階段判斷信息是否包含關鍵詞W,只需發送陷門TK 至數據中心,數據中心采用順序遍歷密文的方法判斷其是否為需要的密文。
SWP 方案通過植入“單詞”位置信息,能夠支持受控檢索(檢索關鍵詞的同時,識別其在文件中出現的位置)。將所有“單詞”以W||α 表示,α 為W 在文件中出現的位置,按圖3 進行加密,查詢時可增加對關鍵詞出現位置的約束。
傳感器網絡劃分為若干個節點網絡,每個節點網絡由該網絡中的中心節點將搜集到的信息發送至數據中心。同時,中心節點可以根據節點網絡需要的協同數據建立關鍵詞查詢所需的數據。
(1)在無線傳感器網絡中有著不同具體應用環境的節點網絡。根據各個節點的計算能力強弱,設置計算能力最強的節點為中心節點。中心節點傳輸該節點網絡中的數據到數據中心。

圖3 SWP 方案流程
(2)在節點網絡中,單個節點傳遞數據的方向是向著中心節點的方向上最近的鄰居節點傳遞。
(3)整個無線傳感器網絡中會有一個或者多個管理員,管理員根據想要獲得數據的關鍵詞進行拓展,然后通過數據中心的索引獲得相應密文數據,再利用初始密鑰解密得到需要查詢的明文。
(4)整體方案采用對稱加密算法,并將初始密鑰預制到各個中心節點處。
方案的架構如圖4 所示。
節點網絡在搜集完該節點網絡的數據后,對明文數據提取關鍵詞集合,然后根據關鍵詞集合建立索引,同時對明文數據加密得到密文。中心節點將密文數據和對應的索引傳遞到數據中心。管理員若想取得特定的明文數據,先獲得關鍵詞并將關鍵詞擴展,隨后通過查詢語句訪問數據中心。數據中心對管理員提出的查詢語句遍歷整個索引表得到對應密文的索引,通過索引提取相應的密文并將其返回給管理員。管理員通過密鑰對密文數據解密,得到需要查詢的明文數據。

圖4 方案整體架構
(1)參數生成算法Setup(1λ)→(pp,k):輸入安全參數為λ,輸出公開參數pp 和密鑰k。
(2)加密算法Enc(I,k)→(C):輸入索引集合I={w1,…,wn}?Wλ和密鑰k,輸出可以被檢索的密文C={C1,…,Cn}。
(3)陷門算法TokenGen(w,k)→TK:輸入查詢關鍵字w ∈I 和密鑰k,輸出一個搜索陷門TK。
(4)查詢算法Query(TK,C)→E(Di)或⊥:輸入搜索陷門TK 和可被檢索的密文C=(C1,…,Cn),執行關鍵詞檢索,輸出為候選集合E(Di)或空集⊥。
(5)節點網絡將搜集到的信息匯集到中心節點,中心節點計算得到密文文件和索引陷門并存儲:

管理員在需要獲得相關數據時會發送請求給數據中心,數據中心遍歷密文:

對密文計算CiXORE(k,I)=S||T,判斷f(k,S)=T 是否為真。若為真,則Ci為管理員需要的密文,返回該密文;若為假,則繼續計算下一個密文Ci+1,管理員得到密文后使用密鑰對密文解密,得到需要的明文信息。
一個可搜索加密方案是正確的如果滿足:對于所有的安全參數λ,所有的索引集合I?Wλ,設Setup(1λ)→(pp,k),Enc(I,k,pp)→C,TokenGen(w,k,pp)→TK。
如果w ∈I,那么執行查詢算法Query(TK,C,pp)→E(Di);否 則,Pr[Query(TK,C,pp)=⊥]>1-Pr[Query(TK,C,pp)=⊥]>1-ε(λ),其中ε(λ)是一個可忽略函數。
對一個可搜索加密方案來說,最基本的正確性概念是所有的安全參數λ 和索引集合I?Wλ。如果所有算法都是正確的,那么只要檢索關鍵詞w 是在索引集合I 中,數據中心可以找到正確的對應加密文件;否則,數據中心返回一個符號⊥表示“未搜索到”或“空”。
方案中,將無線傳感器網絡劃分為n 個節點網絡,每個節點網絡中通過計算能力最強的節點作為中心節點傳遞該節點網絡的數據發送至數據中心。數據中心根據收到的數據設置關鍵詞集合并以此建立索引,同時通過一個初始密鑰對數據進行加密。最終,數據中心將整個無線傳感器網絡傳遞的數據建立一個索引和與之對應的密文數據。
作為一種快速發展的信息技術,物聯網在滿足人們“萬物萬聯”的需求的同時,也存在著許多安全問題,給物聯網技術廣泛應用帶來了挑戰。作為物聯網的重要組成部分,無線傳感器網絡的安全是當前的研究熱點。由于物聯網設備資源極其受限且物聯網應用的擴大,無線傳感器網絡安全研究有助于物聯網的應用和發展,同時也能適用于更廣泛的物聯網。因此,在此背景下提出了一種基于可搜索加密技術的無線傳感器網絡的安全架構,使無線傳感器網絡各個節點網絡專注于搜集傳輸數據節省寶貴的計算能力,可以提高整個無線傳感器網絡的效率。