The invention discloses a cloud storage efficient ciphertext KCB tree and bloom filter based retrieval method, an efficient retrieval of encrypted data for keywords completely two forks tree and bloom filter based on. Because the data in the completely two forks tree query and update the time complexity and tree height, so as to ensure the operation time at O (log n), equivalent to the existing scheme of optimal efficiency. On this basis, the invention uses bloom filter again to optimize the structure of the index, while maintaining the query efficiency and the existing optimal solution is, reduce the storage overhead of data on the server. The plan aims to great advantage with the keyword completely two forks tree in time and space in the bloom filter, this paper proposes an efficient searchable encryption index structure, in the realization of efficient retrieval of key storage overhead at the same time, reduce the encryption index on the server.
【技術實現步驟摘要】
一種云存儲中基于KCB樹和布隆過濾器的高效密文檢索方法
本專利技術屬于云存儲中數據安全
,應用于高效檢索密文數據。具體地講,是一種云存儲中基于KCB樹和布隆過濾器的高效密文檢索方法。
技術介紹
云存儲是以云計算為基礎逐漸發展起來的,通過將加密數據存儲在云服務器上而為用戶提供更便捷、更高效的訪問與管理。因此,云存儲被廣泛的應用在各個領域,具有十分廣闊的市場應用前景,但其中的安全問題也引起了用戶的關注。對于用戶而言,云服務器并不是完全可信的。為了保護數據的隱私,用戶通常會在數據傳輸到云服務器之前對重要數據進行加密。這樣一來,利用明文的關鍵字搜索技術就失效了。因此如何對云服務器上存儲的密文文件進行關鍵字檢索就成為了一個難題。為了解決這一問題,可搜索加密(SearchableEncryption,SE)技術便應運而生。SE是一個新的密碼學原語,在保護存儲在不可信第三方實體上的數據機密性的同時,還能對密文數據進行高效地檢索。SE可描述為如下過程:數據擁有者利用關鍵字集合生成加密關鍵字索引,并將所有的加密文件和加密關鍵字索引上傳到云服務器;當用戶需要檢索關鍵字時,利用陷門函數為關鍵字生成查詢令牌,并發送給云服務器;服務器使用該令牌對加密關鍵字索引進行檢索;服務器將包含該關鍵字的密文集合返回給用戶,用戶利用密鑰解密返回的密文文件。從安全性而言,利用該技術進行關鍵字檢索,除了會暴露用戶的“搜索模式”(即猜測出任意兩個搜索語句是否包含相同的關鍵字)、“訪問模式”(即每次檢索的結果)、文件密文信息和一些搜索憑證之外,不會暴露任何有關文檔和關鍵字的信息。從訪問效率而言,利 ...
【技術保護點】
一種云存儲中基于KCB樹和布隆過濾器的高效密文檢索方法,其特征在于,包括以下幾個步驟:(1)、初始化方案所需的密鑰利用密鑰生成算法Gen(1
【技術特征摘要】
1.一種云存儲中基于KCB樹和布隆過濾器的高效密文檢索方法,其特征在于,包括以下幾個步驟:(1)、初始化方案所需的密鑰利用密鑰生成算法Gen(1k)→K,初始化本發明所需的密鑰K1和K2,其中1k是系統安全參數,在安全參數1k下,生成偽隨機函數的密鑰K1以及對稱加密算法的密鑰K2;(2)、利用算法BuildIndex(F,W,K)為明文文件集構造文件索引樹T文件索引樹T實質是一顆未加密的KCB樹(KeywordCompleteBinaryTree),輸入明文文件集合F={f1,…,fn}和關鍵字集合W={w1,w2,…,wm},其中,n是文件集合中文件的個數,m是關鍵字集合中關鍵字的個數,n和m的個數均可增減,我們通過如下步驟構造KCB樹:a)、KCB樹的葉節點對應文件集合F中的所有文件,因此KCB樹的層數l可由文件個數n決定,即完全二叉樹的葉節點個數為若則用空節點填充剩余葉節點;b)、定義KCB樹的節點為uab(1≤a≤l,1≤b≤2(a-1)),其中a為節點uab所在的層數,b為節點uab在第a層的序號,在節點uab上存儲二元組(id(uab),dataab),id(uab)為節點標識符,dataab為一個長度為m的數組,dataab的第i位定義為dataab[i],其中i∈{1,…,m};若節點uab是葉子節點:將id(uab)定義為該節點對應的文檔fj的文檔標識符IDj,定義dataab[i]=11(1≤i≤m),當且僅當文件fj中包含關鍵字wi,定義dataab[i]=00,當且僅當文件fj中不包含該關鍵字wi,若該葉節點為填充節點,則設置dataab[i]=10;若節點uab是非葉子節點:若其左孩子和右孩子都存在包含關鍵字wi的葉節點,則將該內部節點數組dataab的對應位置dataab[i]置為11,若只有其左孩子存在包含關鍵字wi的葉節點,則將該內部節點數組dataab的對應位置dataab[i]置為10,若只有其右孩子存在包含關鍵字wi的葉節點,則將該內部節點數組dataab的對應位置dataab[i]置為01,若其左孩子和右孩子都不存在包含關鍵字wi的葉節點,則將該內部節點數組dataab的對應位置dataab置為00;KCB樹能保證在最差的情況下操作時間為O(logn),盡管KCB樹高效查找的優勢能夠實現關鍵字的快速檢索,但若將完全二叉樹T的2n-1個節點都存儲到云服務器上,又將給服務器帶來巨大的存儲開銷,因此本發明利用布隆過濾器再次對索引結構進行優化,加快關鍵字的檢索效率,降低服務器的存儲開銷;(3)、由文件索引樹T生成加密索引I利用布隆過濾器將文件索引樹T生成加密索引I,輸入密鑰K,文件集合F={f1,…,fn},文件索引T,之后執行以...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。