一種動態(tài)可搜索公鑰加密方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明屬于密碼學(xué)和云存儲技術(shù)安全領(lǐng)域,更具體地,設(shè)及一種動態(tài)可捜索公鑰 加密方法。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)技術(shù)的迅速發(fā)展,大量的企業(yè)與個人選擇將數(shù)據(jù)存儲到云服務(wù)器上, 而云存儲技術(shù)帶來的安全問題也引起了人們的關(guān)注。為了保證數(shù)據(jù)的安全性和隱私性,防 止數(shù)據(jù)被非法用戶獲得,將數(shù)據(jù)進(jìn)行加密技術(shù)處理后W密文形式存儲在云服務(wù)器成為一種 較為有效的技術(shù)手段。然而,用戶如何在大量存儲于云服務(wù)器的密文數(shù)據(jù)中檢索并得到特 定數(shù)據(jù)成為一個難題。數(shù)據(jù)經(jīng)過加密存儲后,密文數(shù)據(jù)失去了之前的明文結(jié)構(gòu),用戶無法W 檢索明文數(shù)據(jù)的方式來檢索存儲在云服務(wù)器上的密文數(shù)據(jù)。此外,如何對存儲在云服務(wù)器 端的密文數(shù)據(jù)進(jìn)行動態(tài)更新(即密文的添加和刪除),同時保證密文數(shù)據(jù)的隱私安全也是一 個新的問題。因此,動態(tài)可捜索加密技術(shù)成為云存儲技術(shù)的一個研究重點(diǎn)。
[0003] 可捜索加密(Searchable Enc巧Ption,簡稱SE)是解決用戶在密文數(shù)據(jù)上進(jìn)行關(guān) 鍵字檢索的重要技術(shù)手段。根據(jù)加密技術(shù)的不同,可捜索加密算法分為可捜索對稱加密算 法和可捜索公鑰加密算法。對稱加密算法指的是加密和解密密鑰都是來自于同一密鑰,它 們相等或是兩者之間需要一些簡單的轉(zhuǎn)換。公鑰加密算法是指通過一種算法得到一對密鑰 對(公鑰和私鑰),公開公鑰進(jìn)行數(shù)據(jù)加密,秘密保存的私鑰進(jìn)行密文解密。
[0004] 現(xiàn)有的動態(tài)可捜索加密算法研究都是基于對稱加密算法,用戶的明文數(shù)據(jù)經(jīng)過對 稱加密后發(fā)送到云服務(wù)器。收發(fā)雙方使用同一密鑰對數(shù)據(jù)進(jìn)行加密和解密,發(fā)送方和接收 方需要在實(shí)現(xiàn)進(jìn)行密鑰的協(xié)商,通過安全信道進(jìn)行密鑰的傳輸。然而在一些無法通過安全 信道進(jìn)行密鑰協(xié)商場景中,則需要運(yùn)用動態(tài)可捜索公鑰加密。目前還沒有對基于公鑰加密 算法的動態(tài)可捜索加密算法的研究,設(shè)計一種支持物理刪除的動態(tài)可捜索公鑰加密技術(shù)將 具有重要意義。
【發(fā)明內(nèi)容】
[0005] 針對現(xiàn)有技術(shù)的W上缺陷或改進(jìn)需求,本發(fā)明提供了一種動態(tài)可捜索公鑰加密算 法,解決了現(xiàn)有的可捜索公鑰加密技術(shù)中的密文動態(tài)更新問題。本發(fā)明在公鑰加密階段,建 立關(guān)于文件關(guān)鍵字對(ID,W)的可捜索密文索引結(jié)構(gòu),運(yùn)樣密文文件與可捜索密文索引通過 具有相同的文件ID建立隱藏的內(nèi)在聯(lián)系。通過用戶提交的文件ID信息,云服務(wù)器可W對可 捜索密文和密文文件進(jìn)行動態(tài)刪除操作。
[0006] 本發(fā)明提供一種動態(tài)可捜索公鑰加密方法,該方法包括W下步驟:
[0007] 步驟1系統(tǒng)初始化參數(shù)設(shè)置。根據(jù)系統(tǒng)預(yù)設(shè)的安全參數(shù)構(gòu)建對應(yīng)的雙線性映射,并 根據(jù)該雙線性映射計算出主公共密鑰PK和私鑰SK:
[000引(1-1)根據(jù)系統(tǒng)預(yù)設(shè)的安全參數(shù)k,構(gòu)建雙線性映射e:GXG 一 Gt,其中和G和Gt為楠 圓曲線群,運(yùn)兩個楠圓曲線群的階數(shù)q的長度等于安全參數(shù)k;
[0009] (1-2)在楠圓曲線群G中隨機(jī)選取生成元g,隨機(jī)選取一個正整數(shù)S ez;,令p = gS。 選擇哈希函數(shù)如下:
[0010] 出:{0,1}*一G,出:Gt一{0,l}k
[0011] (1-3)根據(jù)上述步驟(1-1)和(1-2)的結(jié)果生成主公共密鑰PK和私鑰SK:
[0012] PK=(q,G,GT,e,g,P,Hi,出),SK = s
[0013] 步驟2可捜索密文和密文文件的生成。發(fā)送方根據(jù)主公共密鑰PK為每個待上傳文 件生成關(guān)于文件關(guān)鍵字對(ID,W)的密文,建立文件的動態(tài)可捜索密文(Lw,Lid ,Did),然后加 密待上傳文件生成帶文件ID的密文文件,最后將生成的可捜索密文索引和密文文件一起上 傳到云存儲服務(wù)器:
[0014] (2-1)隨機(jī)選取兩個正整數(shù)ri,r2 E 為關(guān)鍵字W和文件ID生成密文(ULid):
[00巧]Inv 二(Lwi 二的(eCP,Wi(W)廣),Lw,2 =巧
[00W =片化1 二化0(P,W].〇D)廣),化2 =巧巧)
[0017] (2-2)隨機(jī)選擇正整數(shù)r] e Z;;,生成文件ID的密文:
[001引Dw二(£)化1 =馬(6護(hù)化i(W)廣)?ID, 0化2二巧叫
[0019] 步驟3密文檢索。接收方根據(jù)待捜索關(guān)鍵字W生成檢索陷口 Tw并提交給云服務(wù)器, 云服務(wù)器根據(jù)該捜索陷口檢索所有可捜索密文索引得到對應(yīng)的可捜索密文,進(jìn)一步地解密 該密文得到待捜索文件ID,然后根據(jù)該文件ID找到相應(yīng)的密文文件并返回給用戶:
[0020] (3-1)接收方根據(jù)私鑰SK生成待捜索關(guān)鍵字W的檢索陷口 Tw =出(W)S,并將捜索陷 口提交給云服務(wù)器;
[0021] (3-2)云服務(wù)器根據(jù)檢索陷口 Tw檢索所有的可捜索密文,如果可捜索密文(Lw,Lid, Did)的束一部分Lw= (Lw, 1 , Lw, 2)細(xì)足
[0022] 出(e(Tw,U2))=Ui
[0023] 則所得密文為包含關(guān)鍵字W的可捜索密文;
[0024] (3-3)對檢索得到的可捜索密文,解密第;部分Did = (Did, 1,化d, 2 ),得到包含待捜 索關(guān)鍵字的文件ID:
[0025] ID = Z)w,i?/-/2(e(Tw, 〇化2^
[0026] 服務(wù)器根據(jù)所得文件ID返回相應(yīng)的密文文件。
[0027] 步驟4文件刪除。接收方根據(jù)待刪除文件ID生成文件刪除陷口 Tid并提交給云服務(wù) 器,云服務(wù)器根據(jù)文件刪除陷口 Tid檢索所有可捜索密文索引并找到對應(yīng)的可捜索密文,然 后刪除對應(yīng)的可捜索密文,同時刪除具有相同文件ID的密文文件:
[002引(4-1)接收方根據(jù)私鑰SK生成待刪除文件ID的刪除陷口 Tid= (Tid,I = Hi(ID)S, Tid,2 =ID),并將刪除陷口提交給云服務(wù)器;
[0029] (4-2)云服務(wù)器根據(jù)刪除陷口 Tid檢索所有的可捜索密文,如果可捜索密文(Lw,Lid, Did)的弟-?部分Lid二(Lid, 1,Lid,2)細(xì)足:
[0030] 也(e(TiD,i,Lid,2))二Lid,i
[0031] 則所得密文為包含文件ID的可捜索密文;
[0032] (4-3)服務(wù)器刪除檢索到的可捜索密文,更新可捜索密文索引,根據(jù)檢索陷口的文 件ID刪除對應(yīng)密文文件。
[0033] 總體而言,通過本發(fā)明所構(gòu)思的W上技術(shù)方案與現(xiàn)有技術(shù)相比,具有W下有益效 果:
[0034] (1)安全性提高:本發(fā)明在加密階段對文件標(biāo)示符進(jìn)行加密,在檢索階段通過解密 可捜索密文得到文件標(biāo)示符,通過文件標(biāo)示符進(jìn)一步找到對應(yīng)密文文件。通過隱藏文件標(biāo) 示符,降低了可捜索密文之間的關(guān)聯(lián)性,增大了可捜索密文不可區(qū)分性,密文安全性得到提 局。
[0035] (2)密文的動態(tài)更新:本發(fā)明實(shí)現(xiàn)了密文的動態(tài)更新,用戶通過提交刪除陷口可W 讓云服務(wù)器刪除對應(yīng)的可捜索密文和密文文件,W此減少系統(tǒng)的存儲開銷。
【附圖說明】
[0036] 圖1為本發(fā)明動態(tài)可捜索公鑰加密方法的應(yīng)用環(huán)境示意圖;
[0037] 圖2為本發(fā)明動態(tài)可捜索公鑰加密方法的流程圖;
[0038] 圖3為本發(fā)明動態(tài)可捜索公鑰加密方法的系統(tǒng)初始化和加密流程圖;
[0039] 圖4為本發(fā)明動態(tài)可捜索公鑰加密方法的捜索流程圖;
[0040] 圖5為本發(fā)明動態(tài)可捜索公鑰加密方法的文件刪除流程圖。
【具體實(shí)施方式】
[0041 ]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,W下結(jié)合附圖及實(shí)施例,對 本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用W解釋本發(fā)明,并 不用于限定本發(fā)明。此外,下面所描述的本發(fā)明各個實(shí)施方式中所設(shè)及到的技術(shù)特征只要 彼此之間未構(gòu)成沖突就可W相互組合。
[0042] 圖1所示為本發(fā)明支持動態(tài)可捜索公鑰加密方法的應(yīng)用環(huán)境示意圖。本發(fā)明應(yīng)用 于云存儲環(huán)境,整個系統(tǒng)包括=個主體,發(fā)送方、云存儲服務(wù)器和接收方。具體包括:
[0043] 上傳文件:根據(jù)待上傳文件及其包含的關(guān)鍵字生成文件關(guān)鍵字對(ID,W)的可捜索 密文,加密待上傳文件生成密文文件,然后上傳可捜索密文和密文文件。云服務(wù)器執(zhí)行可捜 索密文的動態(tài)更新,存儲密文文件;
[0044] 捜索請求:接收方根據(jù)待捜索關(guān)鍵字W生成檢索限口 Tw并上傳至云存儲服務(wù)器;
[0045] 返回結(jié)果:云存儲