一種陷門無法識別的模糊關鍵字公鑰搜索加密方案的制作方法
【技術領域】
[0001] 本發明涉及云計算及密碼學領域,具體講的是一種在云環境下進行公鑰加密文件 的搜索方案,該方案不僅支持模糊關鍵字的搜索,而且也支持精確關鍵字的搜索,同時可以 抵抗關鍵字猜測攻擊,滿足陷門無法識別性。
【背景技術】
[0002] 最早的公鑰加密系統是在2004年被Boneh等人中提出來的,用戶可以發送給服務 器一個密鑰,使服務器可以識別包含被搜索關鍵字所有的數據文件,而且服務器不能識別 有關數據文件的任何信息,但是這個搜索加密方案是必須建立在安全信道里面的,而且這 個搜索加密方案只允許精確關鍵字的搜索加密。
[0003] 在2008年,Baek等人提出了一種無安全信道的方案,這個方案里的基本觀點就 是服務器有自己的公私鑰,數據擁有者使用服務器的公鑰和自己的公鑰加密創建一個PEKS 密文,數據擁有者就可以通過公共傳輸信道直接將陷門發送給服務器,即使外部攻擊者截 獲了該密文,沒有服務器的密鑰,它也不能獲得該密文任何相關的信息,但是Rhee等人指 出這個無安全信道的公鑰加密搜索方案容易遭到關鍵字的猜測攻擊,他們提出了一個方案 滿足陷門無法識別的性質,但是必須靠安全信道支撐。
[0004] Zhuhui等人中提出了一種全新的陷門無法識別性的方案,這個方案也不需要安 全信道,但是只能支持精確關鍵字的搜索。
[0005] 在2010年,Wang等人提出了一種模糊關鍵字的搜索方案,用通配符的方法建立模 糊關鍵字集合這樣能大大節約存儲空間,這個方案里,用編輯距離來量化關鍵字的相似度, 通過關鍵字的索引比較來返回相似關鍵字的文件ID,從而恢復文件,但是這個模糊關鍵字 搜索方案里的陷門是不安全的,容易遭受到關鍵字猜測攻擊。
【發明內容】
[0006] 為了克服上述現有公鑰加密搜索方案技術的不足,本發明提供了一種陷門無法識 別的模糊關鍵字公鑰加密搜索方案,滿足三個要求,一是利用服務器的公鑰來加密關鍵字 和數據文件,外部攻擊者沒有服務器密鑰就不能從中得到任何信息,也就可以不用安全信 道來傳輸;二是提出了 一種陷門無法識別性的方案,這樣外部攻擊者不能用關鍵字猜測攻 擊來攻擊陷門;三是方案不僅支持精確關鍵字搜索加密,當輸入的關鍵字有任何拼寫錯誤 或格式不一致的情況時,該方案也支持搜索。
[0007] 本發明所采用的技術方案是:使用通配符技術和編輯距離生成模糊關鍵字集合, 然后用公鑰加密方案(數據擁有者和服務器的公鑰)加密模糊關鍵字集合里的每一個關鍵 字,接著用數據擁有著的私鑰生成陷門后發送給服務器,服務器來進行匹配。
[0008] 與現有技術相比,本發明的有益效果是方案里面構建對于關鍵字w的搜索請求是 用了公鑰關鍵字加密方法進行的,搜索請求是一個基于Sw,k的陷門集,而不是像精確關鍵字 搜索的單一的一個關鍵字陷門,這些陷門是不可分辨的,一個外部攻擊者,給予BDH問題的 困難性,他不能計算出妒11,的值,所以這就是說只 有服務器才能執行以上的算法,而且根據字符Z選擇的不同,所以hi(Z)是時刻更新的,外 部攻擊者不會知道PEKS()算法是加密的哪一個關鍵字,最后這個方案加密關鍵字時用了 服務器的公鑰,數據擁有者就可以通過公共傳輸信道直接將該密文寄給服務器,即使外部 攻擊者截獲了該密文,沒有服務器的密鑰,它也不能獲得該密文任何相關的信息,而且該方 案不僅支持精確關鍵字的搜索,同時也支持模糊關鍵字的搜索。
【具體實施方式】
[0009] 本發明的實施方案一共包括以下幾個算法。
[0010] 算法1 :取:產生素數階q彡2k的一個群gi,一個gl的隨機產生器 P,構建雙線性映射蒼igiXgi-g2.指定哈希函數h1: {0,1}* -g^h2:g2 - {0,1} k,返回 在祕為(為錢_::麵::.雜):作為公共參數。
[0011] 算法2 ::麵纖態:隨機選擇然后計算X=xF>,隨機選擇:酵返回 公鑰PS= (cp,Q,X)和私鑰SS= (cp,X)作為服務器的公私鑰對。
[0012] 算法3 一::|_i丨:隨機選擇然后計算Y=yP,返回公鑰PR= (PR, Y)和私鑰SR= (cp,y)作為接收者的公私鑰對。
[0013] 假設編輯距離為玫:,數據擁有者為了對每一個關鍵字Wl建立一個索引,首先使用 通配符技術建立一個模糊關鍵字的索引集c,、前面已有介紹,這里不再贅述,索引集Sw, ,里面每一個元素都是用通配符表示的關鍵字,其中每一個通配符表示一個編輯距離,然后 數據擁有者就開始加密每一個辦
[0014]算法4: :隨機選擇《,數據擁有者計算R= (D,N, s,m) = (rP,rY,s,m),其中湊碎.1 犠:,微詮:_齡_ R作為一個PEKS密文。
[0015] 最后數據擁有者就可以把這個關鍵字密文和加密過的文件發送給服務器,數據接 收者想要執行搜索就輸入(w,k),首先計算所有的陷門,其中是w的基于通配 符模糊關鍵字集合,以下是計算每個基于通配符關鍵字的陷門算法。
[0016] 法r):rr辦:隨機選擇zg{〇, 1}%數據接收者陷門 和陷門Tw,eyhjz)egl,這個算法返回關鍵字W' 陷門數據接收者執行模糊關鍵字搜索就把這些陷門集合_|:|__ :發送 給服務器,服務器就執行搜索,以下是服務器的匹配比較算法。
[0017]算法6:1681:(〇?,1\,33,1〇:服務器首先計算 接著測試=?、%(?''功,如果等式相等,返回E= "Correct〃,否則返回E= ''Incorrect"。
[0018] 服務器接收到Test()算法返回的結果E,如果E= "Correct",則返回所有可能加 密的文件識別號m=Enc(PR,FIDW| |w);如果E= "Incorrect",則返回相關匹配失敗的提 示語,數據接收者可以用自己的密鑰解密所有返回的結果查找恢復自己感興趣的文件。
[0019] 本發明的安全性分析如下。
[0020] 理論本文的方案是滿足陷門無法識別的性質的。
[0021] 證明:首先因為z的選擇不同,方案的陷門是時刻更新的,而且基于 SR松:#|計算的困難性,外部攻擊者就算得到了陷門也不能得到里面的任何東西,假如 說外部攻擊者知道了這兩個哈希函數的值,他就可以決定兩個陷門里的關鍵詞是不是相同 的。
[0022] 首先他可以通過這兩個的值來計算Tw=yXOO+hJz),如果得到了服務器的公 鑰X=xP和接收者的公鑰Y=yP,攻擊者就可以通過Tw推導出兩個陷門里的關鍵字是否 是相等的;第一步先計算
.第二步再 計算
[0023] 所以如果兩個陷門來自同一個關鍵字,通過比較和 的大小就可以得到,但是基于BDH問題計算的困難性, 足小能被計算出來的,所以外部攻擊者不能決定兩個陷門是不是來自同一個 關鍵字。
【主權項】
1. 一種陷口無法識別的模糊關鍵字公鑰捜索加密方案,其特征在于,包括: -用服務器的公鑰來加密關鍵字和數據文件,外部攻擊者沒有服務器密鑰就不能從中 得到任何信息,也就可W不用安全信道來傳輸; -提出了一種陷口無法識別性的方案,運樣外部攻擊者不能用關鍵字猜測攻擊來攻擊 陷口; -方案不僅支持精確關鍵字捜索加密,當輸入的關鍵字有任何拼寫錯誤或格式不一致 的情況時,該方案也支持捜索,運大大提高了系統的可用性。2. 根據權利要求1所述的陷口無法識別的模糊關鍵字公鑰捜索加密方案,其特征在 于:該方案分為W下幾個算法: (1) 、參數產生:為該算法產生必要的公共參數; (2) 、產生數據擁有者公私鑰:為數據擁有者和數據使用者生成公鑰和私鑰; (3) 、產生服務器公私鑰:為云服務器生成公鑰和私鑰; (4) 、加密關鍵字:用通配符和編輯距離的方法為每一個關鍵字產生一個模糊關鍵字集 合,然后用服務器的公鑰和數據擁擁有者的公鑰共同加密模糊關鍵字集合里面每一個關鍵 字; 巧)、陷口產生:用通配符和編輯距離的方法為輸入捜索的關鍵字產生一個模糊關鍵字 集合,然后用數據擁有者的私鑰為每一個模糊關鍵字生成一個陷口; 化)、關鍵字測試匹配:服務器匹配加密關鍵字和陷口里的關鍵字是否是相等的,如果 相等就返回加密的數據文件。3. 根據權利要求1、2所述的陷口無法識別的模糊關鍵字加密方案,其特征在于,包括: 具體算法實施方案如下: 算法1:KeyGenp。^化):產生素數階q>2k的一個群g1,一個gi的隨機產生器P, 構建雙線性映射務鑛糸媒。妹纔指定哈希函數hi: {0,1} *一g1,h2:g2- nk,返回 凌H義;隸*漏減終餐酵作為一個公共參數; 算法2 :KeyGense"er(邱):隨機選擇》玄9>然后計算X=xP,隨機選擇發,返回公鑰PS =(CP,Q,訝和私鑰SS= (CP,X)作為服務器的公私鑰對; 算法3 :IfeyGenpccdvei^(cp):隨機選擇《4,然后計算Y=yP,返回公鑰PR= (PS,Y)和 私鑰SR= (cp,y)作為接收者的公私鑰對; 假設編輯距離為d,數據擁有者為了對每一個關鍵字Wi建立一個索引,首先使用通配符 技術建立一個模糊關鍵字的索引集C,%邊1前面已有介紹,運里不再寶述,索引集^遂J里 面每一個元素都是用通配符表示的關鍵字,其中每一個通配符表示一個編輯距離,然后數 據擁有者就開始加密每一個微/eSwf逆= 加密關鍵字算法如下: 算法4 :陽KS(CP,PS,PR,W'1,FIDJ:隨機選擇f€ 1:^',數據擁有者計算 R=值,N,s,m)=腫,巧,s,m),其中;-夢滿(墻方巧跨、益J),溝&惡徽(聲知您\IH), 運個算法返回R作為一個PEKS密文; 最后數據擁有者就可W把運個關鍵字密文和加密過的文件發送給服務器,數據接收者 想要執行捜索就輸入(w,k),首先計算所有的陷口 其中S",k是W的基于通配符 模糊關鍵字集合,W下是計算每個基于通配符關鍵字的陷口算法: 算法5 :Trapdoo;r(cp,SR,W'):隨機選擇ZG{0,1}%數據接收者陷口 護終")*、¥詞0嚷魏燦砍)!)和陷口Tw' 2=74似Ggi,運個算法返回關鍵字W' 陷口胃數據接收者執行模糊關鍵字捜索就把運些陷口集合發送給 服務器,服務器就執行捜索,W下是服務器的匹配比較算法: 算法6 :Test(cp,T",SS,時:服務器首先計算發聲p{:堿賊)],容聲I;啥按), 験議鑛最后計算r-滅蹲iii纖,接著測試賺園#1撤if、1|,如果等式相 等,返回E="Correct",否則返回E="Incorrect"; 服務器接收到TestO算法返回的結果E,如果E= "Correct",則返回所有可能加密 的文件識別號m=Enc(PR,FIDj|w);如果E= "Incorrect",則返回相關匹配失敗的提 示語,數據接收者可W用自己的密鑰解密所有返回的結果查找恢復自己感興趣的文件。
【專利摘要】本發明公開了一種陷門無法識別的模糊關鍵字公鑰加密搜索方案,該方案用服務器的公鑰來加密關鍵字和數據文件,外部攻擊者沒有服務器密鑰就不能從中得到任何信息,也就可以不用安全信道來傳輸;同時也是一種陷門無法識別性的方案,這樣外部攻擊者不能用關鍵字猜測攻擊來攻擊陷門;方案不僅支持精確關鍵字搜索加密,當輸入的關鍵字有任何拼寫錯誤或格式不一致的情況時,該方案也支持搜索,這大大提高了系統的可用性。
【IPC分類】H04L9/30
【公開號】CN105007161
【申請號】CN201510323115
【發明人】秦志光, 趙洋, 包文意, 陳陽, 任化強, 岳峰, 吳世坤, 王士雨
【申請人】電子科技大學
【公開日】2015年10月28日
【申請日】2015年6月12日