徐 鵬, 陳天陽(yáng) 金 海服務(wù)計(jì)算技術(shù)與系統(tǒng)教育部重點(diǎn)實(shí)驗(yàn)室 集群與網(wǎng)格計(jì)算湖北省重點(diǎn)實(shí)驗(yàn)室 計(jì)算機(jī)學(xué)院 華中科技大學(xué), 武漢 中國(guó) 430074 深圳華中科技大學(xué)研究院, 深圳 中國(guó) 58057
云郵件系統(tǒng)是一種以軟件即服務(wù)模式向各公司或機(jī)構(gòu)提供郵件服務(wù)的云計(jì)算系統(tǒng)。它的基本架構(gòu)如圖1所示。在云郵件系統(tǒng)中, 云郵件服務(wù)提供商提供已經(jīng)配置好的郵件系統(tǒng)供用戶租用, 用戶只需要自己架設(shè)管理服務(wù)器, 對(duì)云郵件系統(tǒng)進(jìn)行參數(shù)設(shè)置及管理系統(tǒng)用戶等。云郵件廠商通常會(huì)在一臺(tái)物理服務(wù)器上部署多臺(tái)虛擬服務(wù)器, 同時(shí)對(duì)外提供服務(wù)。
近年來, 云郵件系統(tǒng)的發(fā)展十分迅速, 如圖2所示為Radicati對(duì)云郵件企業(yè)總營(yíng)收的預(yù)測(cè)結(jié)果。由圖可以看到, 從 2014年, 云郵件系統(tǒng)的市場(chǎng)規(guī)模以每年大約 42%的比例高速發(fā)展; 而到2018年, 所有云郵件企業(yè)的總營(yíng)收會(huì)增長(zhǎng)到 16.9億美元。另?yè)?jù)DataMotion的調(diào)查, 有 50%的企業(yè)用戶正在使用云郵件系統(tǒng), 或者有使用云郵件系統(tǒng)的計(jì)劃。除此之外,Gartner還預(yù)計(jì), 在2017年底, 至少33%的企業(yè)用戶會(huì)使用云郵件系統(tǒng)來為自己提供郵件服務(wù)。這一切都說明了云郵件系統(tǒng)發(fā)展受到廣泛關(guān)注。
云郵件系統(tǒng)受到企業(yè)青睞的主要因素是租用云平臺(tái)所帶來的低廉成本。如表 1所示為 Proofpoint發(fā)起的一項(xiàng)關(guān)于云郵件服務(wù)節(jié)省成本數(shù)量調(diào)查的結(jié)果。從表中可以看到, 雖然用戶數(shù)量越多, 云郵件系統(tǒng)能節(jié)省的成本也越高, 但是當(dāng)用戶數(shù)量比較少的時(shí)候, 云郵件系統(tǒng)節(jié)省的成本總數(shù)也是不小的數(shù)字。除了成本之外, 企業(yè)使用云郵件系統(tǒng)還有另外一個(gè)重要原因, 就是不需要去關(guān)注郵件系統(tǒng)中軟件的更新、系統(tǒng)的漏洞以及數(shù)據(jù)的備份等。這些重要但瑣碎的事務(wù)都由云郵件服務(wù)提供商提供解決方案。同時(shí), 如果云郵件系統(tǒng)中的數(shù)據(jù)出現(xiàn)了問題, 企業(yè)或者機(jī)構(gòu)可以向云郵件服務(wù)提供商尋求賠償, 從這一點(diǎn)上來說, 使用云郵件系統(tǒng), 公司的郵件數(shù)據(jù)也有了一定保障。
雖然云郵件系統(tǒng)的發(fā)展如此迅速, 但是因?yàn)閾?dān)憂安全問題, 還是有大量用戶對(duì)于云郵件系統(tǒng)顧慮重重。用戶的擔(dān)憂不是沒有道理, 畢竟電子郵件承載了用戶太多的隱私甚至機(jī)密信息, 并且近年來電子郵件服務(wù)器的泄露事故層出不窮。比如2016年美國(guó)大選期間的郵件泄露事件; 2013年沃爾瑪內(nèi)部郵件泄露事件; 2012年敘利亞總統(tǒng)辦公室郵件泄露事件以及 2009年哥本哈根氣候變化會(huì)議郵件泄露事件等。這些郵件泄漏事件都對(duì)當(dāng)事人或者當(dāng)事國(guó)家造成了不小的損失, 從這些案例可以看出, 郵件服務(wù)器的安全非常重要。而在云郵件系統(tǒng)中, 常常是一臺(tái)物理服務(wù)器為多個(gè)公司或者機(jī)構(gòu)提供服務(wù), 這也意味著在云郵件系統(tǒng)廠商的單臺(tái)服務(wù)器上, 往往有多個(gè)公司或者機(jī)構(gòu)的郵件信息。如果這些服務(wù)器上的郵件被泄露出去, 將會(huì)影響到不止一家公司, 造成的損失也會(huì)因?yàn)椴胺秶臄U(kuò)大而變得無(wú)法估量,甚至可能對(duì)云郵件系統(tǒng)的發(fā)展造成毀滅性的影響。因此, 將加密技術(shù)應(yīng)用在云郵件系統(tǒng)上去是很有必要的。雖然傳統(tǒng)加密技術(shù)可以保證郵件的安全性, 但是在商用云郵件系統(tǒng)上, 安全性僅僅是最基礎(chǔ)的要求。本文將以云郵件系統(tǒng)為背景介紹加密技術(shù)的發(fā)展, 并且分析這些加密技術(shù)依然存在的科學(xué)問題。
表1 Proofpoint關(guān)于云郵件服務(wù)節(jié)省企業(yè)成本數(shù)量的調(diào)查結(jié)果[2]Table 1 Survey about the cost saved through Cloud Mail for enterprises producted by Proofpoint[2]
圖1 云郵件系統(tǒng)的具體架構(gòu)Figure 1 Architecture of Cloud Mail System
圖2 Redicati對(duì)云郵件市場(chǎng)的預(yù)測(cè)[1]Figure 2 Redicati`s prediction on market of the Cloud Mail[1]
基于安全套接字層(Secure Socket Layer, SSL)的云郵件系統(tǒng)是使用SSL協(xié)議來傳遞郵件。SSL協(xié)議的運(yùn)行原理如圖3所示, 其具體運(yùn)行步驟為:
1. 用戶與服務(wù)器通訊, 以協(xié)商一個(gè)用于對(duì)通信鏈路進(jìn)行加密的對(duì)稱密鑰(或稱會(huì)話密鑰);
2. 用戶使用會(huì)話密鑰加密郵件, 然后將加密后的郵件傳遞給郵件服務(wù)器;
3. 收到加密的郵件后, 服務(wù)器會(huì)將郵件解密,再將其存儲(chǔ)到用戶的發(fā)件箱, 并投遞給對(duì)應(yīng)的收件人。目前, 提供 SSL技術(shù)的郵件公司有 Voltage、DataMotion、Proofpoing、EdgeWave、Symantec、Sophos、LuxSci和Privato等。
從SSL協(xié)議的運(yùn)行方式中, 我們可以發(fā)現(xiàn), 基于SSL的云郵件系統(tǒng)中, 用戶的郵件在服務(wù)器端和客戶端都是明文保存的, 只有在傳輸鏈路上才是加密的。這種的技術(shù)的好處是實(shí)現(xiàn)簡(jiǎn)單, 運(yùn)行起來效率高,用戶群發(fā)郵件和群轉(zhuǎn)發(fā)郵件的操作簡(jiǎn)單, 占用客戶端的帶寬和計(jì)算資源小, 并且在云郵件服務(wù)器上對(duì)郵件進(jìn)行內(nèi)容檢索也很簡(jiǎn)單。但是, 這種加密技術(shù)只能防止攻擊者對(duì)通信鏈路的竊聽, 而不能保證郵件保存時(shí)的安全。如果云郵件服務(wù)器遭到攻擊, 用戶郵件泄露, 那么攻擊者會(huì)獲得用戶的全部明文郵件。2011年Gmail便發(fā)生了這種郵件泄露事故。除此之外, 這種加密技術(shù)也不能避免郵件服務(wù)器對(duì)用戶郵件的掃描與窺探, 造成用戶隱私泄露, 比如2013年,Gmail就承認(rèn)其掃描用戶郵件內(nèi)容, 不尊重用戶隱私。因此, 這種加密技術(shù)的安全性是不足的。
圖3 SSL協(xié)議的運(yùn)行原理Figure 3 SSL Procotol
PGP(Pretty Good Privacy, 一種基于RSA公鑰加密體系的郵件加密協(xié)議)協(xié)議與基于身份加密[3](Identity-Based Encryption, IBE)均屬于公鑰加密體制,在運(yùn)行原理上比較相似。圖4為PGP協(xié)議的運(yùn)行原理, 其具體運(yùn)行步驟為:
1. 發(fā)件人請(qǐng)求CA證書, 驗(yàn)證收件人公鑰;
2. 發(fā)件人利用收件人公鑰加密郵件, 并發(fā)送給服務(wù)器;
3. 收件人從服務(wù)器接收解密郵件, 解密出明文。
圖5為IBE的運(yùn)行原理, 其具體運(yùn)行步驟為:
1. 發(fā)件人用收件人ID加密郵件, 并發(fā)送給服務(wù)器;
2. 收件人從服務(wù)器接收加密的郵件, 用私鑰解密并查看。
目前, 提供 PGP技術(shù)的郵件公司有 Voltage、DataMotion、Cryptzone、Symantec、Sophos和 Privato等; 提供 IBE技術(shù)的郵件公司有 Voltage、DataMotion、Proofpoint和Trendmicro等。
圖4 PGP協(xié)議的運(yùn)行原理Figure 4 PGP Protocol
圖5 IBE協(xié)議的運(yùn)行原理Figure 5 IBE Protocol
相比于SSL協(xié)議, PGP/IBE協(xié)議的優(yōu)點(diǎn)是更加安全。因?yàn)檫@兩種協(xié)議是用接收者的公鑰對(duì)郵件內(nèi)容進(jìn)行加密, 而加密后的密文只有擁有私鑰的接收者才能解密。也就是說, 使用這種加密方式, 用戶無(wú)需擔(dān)心自己的郵件被攻擊者攔截獲取或者被服務(wù)器偷窺掃描, 因?yàn)樗麄兌紱]有私鑰, 無(wú)法獲得明文。雖然這兩種加密方式提高了郵件系統(tǒng)的安全性, 有效保障了用戶的隱私, 但是它們也有自己的缺點(diǎn)。
首先在發(fā)送郵件時(shí), 如果用戶要將一份郵件發(fā)送給多個(gè)收件人, 那么有多少個(gè)收件人, 用戶的客戶端就要將用戶的郵件加密多少次, 然后將這些密文再分別傳送到云郵件服務(wù)器上。因此, 對(duì)于群發(fā)郵件, 客戶端的加密運(yùn)算會(huì)消耗用戶過多的時(shí)間; 上傳郵件到服務(wù)器的過程也會(huì)消耗用戶的時(shí)間與帶寬資源; 另外, 如果用戶在發(fā)送郵件時(shí)使用的是移動(dòng)設(shè)備, 那么用戶的電量也會(huì)因?yàn)榧用軙r(shí)的運(yùn)算開銷與上傳文件時(shí)的通信開銷而快速消耗, 降低用戶設(shè)備的續(xù)航。
除了上面兩點(diǎn)之外, PGP與IBE更嚴(yán)重的問題是,它們不支持群轉(zhuǎn)發(fā)功能。也就是說, 如果這兩種加密體制下的云郵件系統(tǒng)用戶在云郵件服務(wù)器上有一封早先發(fā)送過的郵件想要轉(zhuǎn)發(fā)給其他用戶, 那么他就必須先從云郵件服務(wù)器上將要轉(zhuǎn)發(fā)的郵件下載到本地, 將其解密后再重新加密發(fā)送出去。這樣的郵件轉(zhuǎn)發(fā)過程既復(fù)雜又浪費(fèi)用戶的時(shí)間, 當(dāng)然也存在上面所說的消耗用戶電量的問題。因此, 從上面所說的缺點(diǎn)來看, PGP與IBE并不能很好的滿足用戶需要。
從上述SSL、PGP與IBE協(xié)議的介紹可以看出,傳統(tǒng)加密技術(shù)使得云郵件的安全性與用戶使用時(shí)的友好性無(wú)法兼顧。
針對(duì)傳統(tǒng)公鑰加密技術(shù)無(wú)法有效實(shí)現(xiàn)加密郵件的群發(fā)和群轉(zhuǎn)發(fā)問題, 代理重加密[4](Proxy Re-Encryption, PRE)成為解決思路之一。PRE技術(shù)可以讓云端直接對(duì)密文進(jìn)行計(jì)算, 將僅某用戶可以解密的密文直接轉(zhuǎn)化成另一個(gè)用戶可以解密的密文,從而節(jié)省大量網(wǎng)絡(luò)資源, 也充分利用了云端的計(jì)算資源, 減少了用戶的負(fù)擔(dān)。
稍具體地說, PRE的主要流程有:
1. 用戶 A用自己的公鑰加密數(shù)據(jù), 并將密文存放到云端, 此密文數(shù)據(jù)只能由用戶 A用自己的私鑰解密, 從而實(shí)現(xiàn)數(shù)據(jù)的云存儲(chǔ)保密性;
2. 當(dāng)用戶A需要將此密文數(shù)據(jù)共享給用戶B時(shí),用戶A可以生成一個(gè)重加密密鑰, 并將其發(fā)送給云端;
3. 云端使用該重加密密鑰對(duì)密文進(jìn)行計(jì)算, 將僅可以由用戶A解密的密文轉(zhuǎn)化為用戶B可以解密的密文, 且在轉(zhuǎn)化的過程中不會(huì)泄露明文的任何信息。
PRE的思想是由Blaze, Bleumer和Strauss在文獻(xiàn)[4]中提出的, 并在文獻(xiàn)[5]中進(jìn)行了規(guī)范的形式化定義。由于 PRE在密文共享方面的優(yōu)越性, 研究人員近幾年來對(duì) PRE開展了大量的研究, 主要的工作如下。
3.1.1 傳統(tǒng)公鑰體制的PRE方案
在沒有使用雙線性映射的情況下,文獻(xiàn)[6]提出的PRE方案實(shí)現(xiàn)了選擇密文攻擊(Chosen Ciphertext Attacks, CCA)下的安全性?;谑褂米顝V泛的RSA簽名, 文獻(xiàn)[7]構(gòu)造了PRE方案。文獻(xiàn)[8]所提出了單向并具有CCA安全性的PRE方案, 其中“單向”是指接收者的加密數(shù)據(jù)不會(huì)被同時(shí)共享給發(fā)送者。文獻(xiàn)[9-11]提出的 PRE方案在實(shí)現(xiàn)安全性的同時(shí)也實(shí)現(xiàn)了匿名性。在傳統(tǒng)的公鑰體制中, 每個(gè)用戶的公鑰為一個(gè)隨機(jī)數(shù), 因此用戶公鑰與用戶本身并沒有天然的綁定關(guān)系, 可能會(huì)發(fā)生由于公鑰與用戶不相符引起的數(shù)據(jù)泄露問題。因此, 在實(shí)際應(yīng)用中需要權(quán)威的 CA為每一個(gè)用戶生成一個(gè)證書從而綁定用戶及其公鑰。每次執(zhí)行加密算法時(shí), 發(fā)送方都要從CA下載證書, 并驗(yàn)證用戶及其公鑰是否匹配; 當(dāng)用戶數(shù)量較大時(shí), 整個(gè)系統(tǒng)的證書管理、下載和驗(yàn)證過程會(huì)帶來很大開銷[12]。為了解決傳統(tǒng)公鑰體制所面臨的問題, 出現(xiàn)了一種特殊的公鑰體制, 即 IBE, 進(jìn)而也提出了基于身份加密體制的PRE方案。
3.1.2 基于身份加密體制的PRE方案
文獻(xiàn)[13]所提方案在隨機(jī)預(yù)言機(jī)(Random Oracle,RO)模型下具有可證明安全性。文獻(xiàn)[3]所提方案在標(biāo)準(zhǔn)模型下具有可證明安全性, 比RO模型下的方案具有更強(qiáng)的安全性。文獻(xiàn)[14,15]所提方案在標(biāo)準(zhǔn)模型下具有CCA安全性。文獻(xiàn)[3]所提方案中的初始密文、重加密密鑰和重加密密文都具有常數(shù)級(jí)長(zhǎng)度, 使其傳輸效率更高, 并且將此方案運(yùn)用到了醫(yī)療健康領(lǐng)域, 在應(yīng)用上做了很大的突破。
在上述基于傳統(tǒng)公鑰體制的代理重加密方案和基于身份的代理重加密方案中, 代理方為每個(gè)接收者生成一條密文, 在多接收者請(qǐng)求一條數(shù)據(jù)的情況下, 需要為每一個(gè)接收者生成一個(gè)重加密密鑰, 代理方使用此重加密密鑰為每一個(gè)接收者執(zhí)行重加密算法生成一條重加密密文。因此執(zhí)行此步驟的次數(shù)與接收者人數(shù)成正比, 在這種情況下會(huì)造成大量的計(jì)算資源和網(wǎng)絡(luò)資源消耗。在實(shí)際的應(yīng)用場(chǎng)景中, 多接收者請(qǐng)求一條數(shù)據(jù)的情況非常常見, 熱門資源經(jīng)常被大批量地分享, 這樣上述問題在這種場(chǎng)景下會(huì)非常明顯。
為了解決這個(gè)問題, 一般會(huì)使用廣播加密(Broadcast Encryption, BE)。BE是指為多接收者加密一條數(shù)據(jù), 生成一條密文, 此密文可被所有指定的接收者用自己的私鑰解密, 非指定的接收者無(wú)法解密。在這種方法中, 批量的用戶請(qǐng)求可以只進(jìn)行一次加密。為了具有廣播的特點(diǎn), 文獻(xiàn)[15]提出了廣播代理重加密(Broadcast PRE, BPRE)方案。BPRE的工作模式和常規(guī)的代理重加密很相似, 但是它有更強(qiáng)大的功能。在BPRE中, 發(fā)送者可以為一個(gè)接收者集合生成一條初始密文, 而不用為每一個(gè)接收者生成一條初始密文。而且, 發(fā)送者可以為另一個(gè)收者集合生成一個(gè)代理重加密密鑰, 發(fā)送給代理方做計(jì)算, 然后只生成一條重加密密文, 這條重加密密文可以由這個(gè)接收者集合中的每個(gè)成員解密。廣播代理重加密方案很好地解決了多用戶請(qǐng)求初始密文所面臨的效率問題, 在運(yùn)行過程中由于發(fā)送方只需要生成一個(gè)重加密密鑰, 因此會(huì)節(jié)省大量的計(jì)算和網(wǎng)絡(luò)資源。
在以上提出的這些代理重加密方案中, 在代理收到發(fā)送者的重加密密鑰后, 可以將發(fā)送者的所有初始密文進(jìn)行重加密運(yùn)算, 這樣發(fā)送方也因此失去了共享的細(xì)粒度控制能力, 使得云端重加密的密文范圍超出用戶的預(yù)期。為了解決這個(gè)問題, 文獻(xiàn)[16]提出了基于類型的代理重加密(Type-based PRE,PRE)方案, 使得代理方只能對(duì)具有指定類型的初始密文做重加密計(jì)算。文獻(xiàn)[17]中提出了一個(gè)相似的概念,即帶條件的代理重加密(Conditional PRE, CPRE)。在這種方法中, 當(dāng)且僅當(dāng)初始密文具有的條件與重加密密鑰所具有的條件相同時(shí), 云端才可以對(duì)該初始密文進(jìn)行重加密計(jì)算。上述兩種方案都在RO模型下具有可證明安全性。之后, 更多的 CPRE方案被提出。文獻(xiàn)[3,14,18]所提方案均實(shí)現(xiàn)了對(duì)密文的細(xì)粒度控制。文獻(xiàn)[19]所提方案實(shí)現(xiàn)了基于身份體制、細(xì)粒度控制和代理重加密的有效結(jié)合, 并且提出的方案在標(biāo)準(zhǔn)模型下具有 CCA安全性。文獻(xiàn)[20]提出了具有CCA安全性的CPRE方案, 并且使其運(yùn)算過程更高效。文獻(xiàn)[21]提出了具有匿名性的帶條件的廣播代理重加密方案, 并且提出的方案在標(biāo)準(zhǔn)模型下具有可證明安全性。
文獻(xiàn)[22]所提方案可以允許發(fā)送者控制對(duì)自己初始密文做重加密運(yùn)算的時(shí)間。當(dāng)發(fā)送者為重加密一條初始密文生成一個(gè)重加密密鑰時(shí), 發(fā)送者需要將這條初始密文的接收者作為輸入。在實(shí)際情況中,這意味著發(fā)送者需要保存他所發(fā)送的所有初始密文的接收者, 這對(duì)存儲(chǔ)資源的限的終端(例如移動(dòng)設(shè)備)來說, 有很大的限制。
文獻(xiàn)[23,24]所提方案具有多用戶間雙向重加密的特性, 這種特性使一條密文可被多次重加密, 也就是說一個(gè)重加密密鑰可被兩方共享。舉例來說, 如果Alice為Bob生成了一個(gè)重加密密鑰, 代理方可使用此重加密密鑰將Alice的密文計(jì)算生成一個(gè)可以由Bob解密的密文, 此重加密密鑰也可以用做將Bob的密文為Alice生成重加密密文。這兩個(gè)方案分別在隨機(jī)預(yù)言機(jī)模型和標(biāo)準(zhǔn)模型下具有抵抗密文攻擊的安全性。文獻(xiàn)[25]所提方案具有在云計(jì)算環(huán)境下可撤銷的基于身份代理重加密的特性, 這種特性支持用戶可以授權(quán)或撤銷對(duì)密文的解密權(quán)。
上述 PRE方案, 在易用性和高效性方面依然存在問題: 1. 用戶生成重加密密鑰發(fā)送給云端后, 云端可以使用此重加密密鑰將發(fā)送者的所有密文數(shù)據(jù)進(jìn)行轉(zhuǎn)化, 因此用戶無(wú)法對(duì)云端轉(zhuǎn)化的密文數(shù)據(jù)進(jìn)行粒度控制; 2. 傳統(tǒng)的公鑰體制在運(yùn)行過程中, 需要認(rèn)證中心將用戶與證書進(jìn)行綁定, 用戶需要進(jìn)行證書管理和證書認(rèn)證, 造成管理消耗; 3. 當(dāng)需要向多用戶分享時(shí), 只能為一個(gè)接收者生成一個(gè)重加密密鑰, 因此需要生成的密文數(shù)目與接收者人數(shù)成正比, 會(huì)造成時(shí)間和網(wǎng)絡(luò)資源的大量消耗。
針對(duì)這些問題, 我們提出了帶條件的基于身份廣播代理重加密(Conditional Identity-based Broadcast Proxy Re-Encryption, CIBPRE)方案[19]。
CIBPRE方案有三個(gè)特點(diǎn): 基于身份加密、廣播加密和帶條件的代理重加密。它們的作用如下:
1. 基于身份加密, 意味著 CIBPRE加密體制的運(yùn)行不需要公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure,PKI)的支持, 因?yàn)橛脩舻泥]件地址就是加密時(shí)所需的公鑰, 只需要密鑰生成中心(Key Generation Centre,KGC)為每個(gè)用戶生成私鑰即可。而 KGC的運(yùn)行成本比 PKI要低許多, 并且客戶端在加密時(shí)免去了獲取公鑰證書的開銷。因此 CIBPRE加密體制運(yùn)行所需要的成本比較小;
2. 廣播加密, 意味著用戶可以方便地群發(fā)郵件。用戶在使用廣播加密技術(shù)群發(fā)加密郵件時(shí), 只要將明文郵件使用所有收件人的郵箱地址加密一次,產(chǎn)生的密文就可以被所有收件人使用自己的私鑰解密。廣播加密技術(shù)克服了PGP協(xié)議和IBE協(xié)議在群發(fā)郵件時(shí)加密開銷與通信開銷大的問題, 節(jié)約了用戶的時(shí)間和帶寬, 提升了移動(dòng)設(shè)備用戶的續(xù)航;
3. 帶條件的代理重加密, 意味著用戶可以方便地群轉(zhuǎn)發(fā)自己保存在云郵件服務(wù)器上面的郵件。當(dāng)用戶想要轉(zhuǎn)發(fā)一封已經(jīng)存在于服務(wù)器上的郵件給其他一組接收者的時(shí)候, 他只需要在本地生成一個(gè)重加密密鑰文件再將其提交給服務(wù)器。服務(wù)器在收到重加密密鑰后就可以對(duì)用戶指定的郵件進(jìn)行重加密操作, 完成后再將重加密后的郵件轉(zhuǎn)發(fā)給用戶新指定的一組接收者。新的接收者在收到重加密后的郵件后, 便可以使用自己的私鑰解密出明文來查閱了。同時(shí), 由于使用了帶條件的代理重加密技術(shù), 云服務(wù)器也不可能和某接收者合謀, 利用用戶的重加密密鑰重加密用戶的所有郵件, 造成用戶隱私泄露。
圖6 基于CIBPRE體制的郵件系統(tǒng)運(yùn)行原理Figure 6 CIBPRE-Based Cloud Mail system
CIBPRE加密體制的核心算法有7個(gè), 它們分別為SetupPRE、ExtractPRE、EncPRE、RKExtractPRE、ReEncPRE、Dec-1PRE和Dec- 2PRE。它們的作用如下:
1.SetupPRE: 初始化CIBPRE系統(tǒng)并生成系統(tǒng)運(yùn)行所必要的參數(shù);
2.ExtractPRE: 根據(jù)用戶ID為用戶生成私鑰;
3.EncPRE: 對(duì)用戶的文件進(jìn)行加密操作, 產(chǎn)生的密文可被一組接收者解密;
4.RKExtractPRE: 生成重加密密鑰, 用于重加密已有郵件;
5.ReEncPRE: 利用重加密密鑰對(duì)用戶的郵件進(jìn)行重加密操作, 產(chǎn)生的重加密郵件可被另一組接
收者解密;
6.Dec- 1PRE: 利用私鑰解密EncPRE算法加密的郵件;
7.Dec- 2PRE: 利用私鑰解密ReEncPRE算法重加密后的郵件。
如圖6所示為基于CIBPRE加密體制的云郵件系統(tǒng)的運(yùn)行原理。
基于 CIBPRE的云郵件系統(tǒng)運(yùn)行時(shí), 其具體的運(yùn)行步驟為:
1. 密鑰生成中心運(yùn)行SetupPRE算法, 初始化并生成主公開參數(shù)與主秘密參數(shù);
2. 密鑰生成中心運(yùn)行ExtractPRE算法, 為系統(tǒng)中的用戶生成私鑰;
3. 發(fā)送者運(yùn)行EncPRE算法, 使用第一組接收者的ID加密郵件, 并將其上傳到郵件服務(wù)器;
4. 第一組接收者上線時(shí), 從郵件服務(wù)器下載加密郵件到本地, 并在本地運(yùn)行Dec- 1PRE算法, 解密并查看郵件密文;
5. 發(fā)送者要將已發(fā)送的郵件轉(zhuǎn)發(fā)給第二組接收者時(shí), 會(huì)在本地運(yùn)行RKExtractPRE算法, 生成重加密密鑰, 并上傳到云郵件服務(wù)器;
6. 云郵件服務(wù)器收到發(fā)送者的重加密密鑰后,利用重加密密鑰對(duì)指定的郵件運(yùn)行ReEncPRE算法,并將重加密后的郵件轉(zhuǎn)發(fā)給指定的接收者;
7. 第二組接收者上線時(shí), 從郵件服務(wù)器下載重加密的郵件到本地, 并在本地運(yùn)行Dec- 2PRE算法,解密并查看郵件明文。
表2 CIBPRE方案與現(xiàn)有郵件加密技術(shù)的對(duì)比Table 2 Comparisons between CIBPRE and the existing email-encryption schemes
圖7 初始密文加解密性能開銷與用戶數(shù)量關(guān)系[19]Figure 7 The decryption cost of an initial cipher[19]
如圖7所示為加密生成初始密文(折線Enc)和解密初始密文(折線Dec-1)時(shí), CIBPRE方案性能開銷與用戶數(shù)量的關(guān)系; 如圖 8所示為對(duì)密文進(jìn)行重加密操作(折線 ReEnc)與解密重加密密文(折線 Dec-2)時(shí),CIBPRE方案性能開銷與用戶數(shù)量的關(guān)系。如表3所示為測(cè)試的環(huán)境。從測(cè)試結(jié)果可以看出, CIBPRE方案運(yùn)算所需時(shí)間與系統(tǒng)中支持的收件人數(shù)量大致成正比, 并且當(dāng)收件人數(shù)量不是特別高時(shí), 對(duì)初始密文以及重加密密文的加解密操作所耗費(fèi)的時(shí)間都在可以接受的范圍內(nèi)。
圖8 重加密密文加解密性能開銷與用戶數(shù)量關(guān)系[19]Figure 8 The decryption cost of a re-encrypted cipher[19]
如表 2所示為 CIBPRE方案與 SSL、PGP/IBE方案的綜合對(duì)比。從表中可以看出, CIBPRE方案既擁有SSL協(xié)議的便捷性, 又擁有PGP/IBE協(xié)議的安全性。再加上其可接受的性能開銷, 可以得出CIBPRE加密體制非常適合應(yīng)用在云郵件系統(tǒng)的結(jié)論。
表3 性能測(cè)試環(huán)境[19]Table 3 Configurations and parameters[19]
雖然上面介紹的 CIBPRE方案可以在保障安全性的條件下有效提高用戶體驗(yàn), 但它還是擺脫不了加密郵件系統(tǒng)普遍都有的缺點(diǎn), 即在云郵件服務(wù)器上無(wú)法按照內(nèi)容來檢索所需郵件。這個(gè)缺點(diǎn)產(chǎn)生的原因也很直接, 即加密后的郵件密文通常不支持搜索。假設(shè)用戶在云服務(wù)器存儲(chǔ)了幾百封密文郵件, 用戶想要取回特定的一封郵件時(shí), 由于云端沒有檢索功能, 不能找到用戶想要的郵件, 只能將全部郵件都返回給用戶, 用戶解密后自行檢索才能得到想要的數(shù)據(jù)。很顯然, 這種處理方法在實(shí)際應(yīng)用中是不能被接受的, 所以如何實(shí)現(xiàn)用戶提交檢索請(qǐng)求時(shí), 云服務(wù)器能高效率檢索并返回指定的密文是云郵件系統(tǒng)的重要問題和需求之一。
為了解決該問題, 可搜索加密(Searchable Encryption, SE)被提出??偟膩碚f, 可搜索加密方案允許數(shù)據(jù)擁有者用加密密鑰生成可搜索密文, 并將密文存放在云端; 當(dāng)數(shù)據(jù)擁有者需要委托云端檢索含有指定關(guān)鍵字的密文時(shí), 數(shù)據(jù)擁有者用解密密鑰和被檢索關(guān)鍵字生成對(duì)應(yīng)的檢索陷門, 并將該陷門發(fā)送給云端; 收到陷門后, 云端可以檢索匹配的密文, 并返還給數(shù)據(jù)擁有者; 最后, 數(shù)據(jù)擁有者解密出明文。在上述過程中, 可搜索加密方案可以保障被檢索關(guān)鍵字的保密性。
可搜索加密方案有兩種: 可搜索對(duì)稱加密(Searchable Semantic Encryption, SSE)[26]與可搜索公鑰加密(Public-Key Encryption with Keyword Search,PEKS)[27], 其中, 因?yàn)榭伤阉鲗?duì)稱加密需要與其他用戶共享秘密消息的天然缺陷, 不適合應(yīng)用在主要為收件人提供云檢索服務(wù)的云郵件系統(tǒng)中。因此在這里不討論可搜索對(duì)稱加密。
可搜索公鑰加密由Dan Boneh在文獻(xiàn)[27]首次提出, 之后其相關(guān)研究受到了廣泛的關(guān)注。針對(duì)PEKS的概念存在的一些缺陷, Abdalla等人[28]進(jìn)一步完善了PEKS的一致性定義, 并且解決了PEKS與基于身份加密間的通用轉(zhuǎn)換問題。圍繞PEKS的檢索多樣性問題, 文獻(xiàn)[29-35]實(shí)現(xiàn)了關(guān)鍵字的合取檢索; 文獻(xiàn)[36-38]實(shí)現(xiàn)了關(guān)鍵字的范圍檢索; 文獻(xiàn)[37]實(shí)現(xiàn)了關(guān)鍵字的子集檢索; 文獻(xiàn)[31, 39]實(shí)現(xiàn)了時(shí)間范圍檢索;文獻(xiàn)[39, 40]實(shí)現(xiàn)了關(guān)鍵字的相似度檢索。針對(duì)不可信的關(guān)鍵字檢索陷門生成者, Camenisch等人[41]提出了“不經(jīng)意的”關(guān)鍵字陷門生成算法, 從而保護(hù)關(guān)鍵字在其檢索陷門生成過程中的隱私性。
雖然上述文獻(xiàn)都為 PEKS的研究與發(fā)展作出了重要貢獻(xiàn), 但是所有上述PEKS方案均存在安全性高(具有語(yǔ)義安全性)但是檢索效率低下問題, 即檢索復(fù)雜度與所有密文的數(shù)目線性相關(guān)。為了實(shí)現(xiàn)關(guān)鍵字的高效檢索, Bellare等人[42]引入了“確定的公鑰加密”這一概念, 并且形式化地定義其安全性。該安全性比單向性強(qiáng), 但是比語(yǔ)義安全性弱。在檢索效率方面, 確定的公鑰加密使得關(guān)鍵字的檢索十分高效,其檢索效率就如同關(guān)鍵字沒有進(jìn)行加密一般。Bellare等人[42]同時(shí)也提出了一個(gè)確定的公鑰加密方案(即RSA-DOAEP方案), 和一個(gè)在RO模型下將概率的公鑰加密方案轉(zhuǎn)化成確定的公鑰加密的通用方法。針對(duì)文獻(xiàn)[42]中確定的公鑰加密方案存在的安全性不足, Bellare等人[43]和Boldyreva等人[44]分別在標(biāo)準(zhǔn)模型下提出了確定的公鑰加密方案。前者基于通用的難題假設(shè)給出了通用的構(gòu)造方法, 后者基于具體的難題假設(shè)給出了效率更高的實(shí)例化方案。進(jìn)一步地,Brakerski等人[45]提出了具有更好安全性的確定的公鑰加密方案。由于在理論上, 只有當(dāng)明文空間具有先驗(yàn)高熵時(shí), 確定的公鑰加密方案才可能具有語(yǔ)義安全性, 否則攻擊者只需要發(fā)起加密并且測(cè)試這種簡(jiǎn)單的暴力攻擊就可以提取出加密的內(nèi)容。因此, 由于關(guān)鍵字空間通常不具有先驗(yàn)高熵, 因此由確定的公鑰加密實(shí)現(xiàn)的關(guān)鍵字可搜索公鑰加密無(wú)法實(shí)現(xiàn)語(yǔ)義安全性。
Camenisch等人[41]非正式地描述了一種方法, 使得具有相同關(guān)鍵字的密文形成一條隱式鏈。如果服務(wù)器正確查找到第一條匹配的密文, 他們的方法將會(huì)提高檢索的效率。然而, 他們并沒有解決如何找到第一段匹配密文的問題。同時(shí), 他們的加密方案不具備語(yǔ)義安全性。在每一條鏈中, 第一段密文和后邊的密文是平凡可區(qū)分的。這種平凡可區(qū)分性使得在這個(gè)方案中很難正確定義語(yǔ)義安全性。實(shí)際上, 他們并沒有提供任何正式的安全性定義。
Boneh等人[27]在公鑰加密開山作中給出了明確的安全性定義, 即選擇關(guān)鍵字攻擊下的語(yǔ)義安全性(Semantic Security under Chosen Keyword Attacks,SS-CKA)。此安全性定義意味著如果服務(wù)器沒有得到關(guān)鍵字檢索的自陷門, 那么服務(wù)器就不會(huì)獲取含有對(duì)應(yīng)關(guān)鍵字的密文段中的任何信息。但是選擇關(guān)鍵字攻擊下的語(yǔ)義安全性并沒有論述當(dāng)關(guān)鍵字檢索自陷門被知曉的情況下是否依舊能保障關(guān)鍵字的機(jī)密性。
Byun等人[46]首次提出了關(guān)鍵字猜測(cè)攻擊(Keyword Guessing Attacks, KGA)這個(gè)概念。Jeong等人[47]證明了任何至少滿足計(jì)算不可區(qū)分的一致性的PEKS方案都容易遭受KGA這種攻擊。KGA的攻擊模式, 即攻擊者產(chǎn)生所有對(duì)應(yīng)關(guān)鍵字的密文。如果關(guān)鍵字空間是多項(xiàng)式規(guī)模, 那么這種攻擊模式非常容易實(shí)現(xiàn)。為了抵抗外部攻擊者發(fā)起的KGA攻擊,文獻(xiàn)[48,49]分別提出兩種方法: 一種是為關(guān)鍵字檢索陷門建立安全性的傳輸信道; 另一種是PEKS的發(fā)送方和接收方通過協(xié)商關(guān)鍵字的別名實(shí)現(xiàn)關(guān)鍵字的匿名性。但是, 由于PEKS的主要優(yōu)點(diǎn)在于發(fā)送方和接收方不需要同時(shí)在線即可以完成可搜索密文的生成, 因此文獻(xiàn)[49]提出的方案在實(shí)際應(yīng)用失去了PEKS天生的優(yōu)勢(shì)。解決這個(gè)問題的一個(gè)簡(jiǎn)單方法就是通過允許發(fā)送者自定義關(guān)鍵字實(shí)現(xiàn)增大關(guān)鍵字的空間。然而, 正如文獻(xiàn)[50]所示, 這種方式使得接收者很難去生成對(duì)應(yīng)的關(guān)鍵字檢索陷門。并且如果不同的發(fā)送者使用不同的關(guān)鍵字來表達(dá)同一個(gè)意思,那么接收者就必須生成多個(gè)關(guān)鍵字檢索陷門來檢索匹配的密文, 由此帶來巨大的計(jì)算開銷。因此, 很有必要拓展傳統(tǒng)的 PEKS模型來實(shí)現(xiàn)在關(guān)鍵字空間很小的情況下, 保證在KGA攻擊模式下關(guān)鍵字的機(jī)密性[51]。文獻(xiàn)[52]拓展了 PEKS, 將靜態(tài)索引以及動(dòng)態(tài)索引結(jié)合起來構(gòu)造了混合索引密文檢索方案, 利用靜態(tài)索引將關(guān)鍵字的首次檢索復(fù)雜度從 O(n)降低到O(n*w), 利用動(dòng)態(tài)索引將關(guān)鍵字的非首次檢索復(fù)雜度從O(n)降低到O(w)。
根據(jù)上面的國(guó)內(nèi)外研究現(xiàn)狀的闡述可以看出,在可搜索對(duì)稱加密領(lǐng)域, “結(jié)構(gòu)化”的思想已經(jīng)被用來實(shí)現(xiàn)了高安全的和檢索高效的關(guān)鍵字可搜索對(duì)稱加密, 并進(jìn)一步實(shí)現(xiàn)結(jié)構(gòu)化數(shù)據(jù)的對(duì)稱加密。但是,在可搜索公鑰加密領(lǐng)域, “結(jié)構(gòu)化”的思想僅在文獻(xiàn)[41]中出現(xiàn), 但是這篇文章完全沒有討論其提出方案的高安全性, 而且很明顯的該方案不具有高安全性。進(jìn)一步地, 該文獻(xiàn)也沒有正式地和形式化地討論和定義結(jié)構(gòu)化可搜索公鑰加密及其安全性。僅針對(duì)PEKS的低檢索效率, 有一些文獻(xiàn)[42-45]雖然提出了高檢索效率的方法, 但同時(shí)也大幅降低了安全性。由此可見, 有關(guān)“結(jié)構(gòu)化可搜索公鑰加密”及其相關(guān)領(lǐng)域的研究幾乎是沒有的, 結(jié)構(gòu)化數(shù)據(jù)的公鑰加密研究更是難覓蹤跡。
由于 PEKS具有的高安全性使得即使含有相同關(guān)鍵字的兩個(gè)密文, 它們之間也相互獨(dú)立, 因此PEKS的檢索復(fù)雜度似乎必須是線性級(jí)(即與密文的總量線性相關(guān))。而且, 現(xiàn)有的高安全的 PEKS實(shí)例化方案也都是這種線性級(jí)的檢索復(fù)雜度。為了解決這個(gè)問題, 我們提出了一種帶隱藏結(jié)構(gòu)的可搜索公鑰加密方案[53](Searchable Public-key Ciphertext with Hidden Structures, SPCHS)。
SPCHS首次在保證語(yǔ)義安全性的條件下實(shí)現(xiàn)了亞線性級(jí)的檢索復(fù)雜度, 降低了PEKS方案的檢索開銷。除此之外, 通過采用我們提出的一種特殊的基于身份密鑰封裝機(jī)制[53], 提出了新的匿名基于身份廣播加密方案[54], 該方案具備基于標(biāo)準(zhǔn)模型常數(shù)級(jí)解密效率、抗適應(yīng)性攻擊以及強(qiáng)匿名性這四種特性。SPCHS方案的核心思路是, 為同一個(gè)關(guān)鍵字的所有可搜索密文構(gòu)造一個(gè)隱藏的鏈?zhǔn)浇Y(jié)構(gòu), 再將所有的鏈?zhǔn)浇Y(jié)構(gòu)的頭部與一個(gè)公共頭部連接起來, 形成一個(gè)星型結(jié)構(gòu), 如圖9所示。
圖9 SPCHS方案為可搜索密文構(gòu)造的星型結(jié)構(gòu)[50]Figure 9 Star-like structure of ciphers in SPCHS[50]
SPCHS方案的核心算法有 5個(gè), 它們分別是參數(shù)初始化算法SystemSetup、隱藏結(jié)構(gòu)初始化算法StructureInitialization、可搜索密文生成算法StructuredEncryption、關(guān)鍵字檢索陷門生成算法Trapdoor和結(jié)構(gòu)化密文檢索算法StructuredSearch,它們的作用是:
1.SystemSetup: 初始化 SPCHS方案運(yùn)行所需的參數(shù), 包括主公開信息和主秘密信息;
2.StructureInitialization: 本算法接收 SPCHS的主公開信息, 生成并初始化隱藏結(jié)構(gòu)的私有部分與公有部分;
3.StructuredEncryption: 本算法接收SPCHS的主公開信息、關(guān)鍵字和隱藏結(jié)構(gòu)的私有部分, 生成SPCHS的可搜索密文;
4.Trapdoor: 本算法接收 SPCHS的主秘密信息和關(guān)鍵字, 生成關(guān)鍵字檢索陷門;
5.StructuredSearch: 本算法接收系統(tǒng)公鑰、隱藏結(jié)構(gòu)的公有部分、可搜索密文集合和關(guān)鍵字搜索陷門, 查找到關(guān)鍵字對(duì)應(yīng)的密文。
如圖10所示為基于SPCHS的內(nèi)容可搜索加密郵件系統(tǒng)的運(yùn)行原理。
圖10 基于SPCHS可搜索加密的郵件系統(tǒng)運(yùn)行原理Figure 10 SPCHS-Based mail system
它的具體運(yùn)行步驟為:
1. 接收者輸入安全參數(shù), 運(yùn)行SystemSetup算法,生成系統(tǒng)主公開信息和主秘密信息;
2. 接收者將主公開信息傳遞給發(fā)送者, 發(fā)送者運(yùn)行StructureInitialization算法, 生成隱藏結(jié)構(gòu)的公有部分和私有部分; 發(fā)送者將在步驟 2中生成的隱藏結(jié)構(gòu)的公有部分上傳至云郵件服務(wù)器;
3. 發(fā)送者為接收者生成可搜索密文時(shí), 輸入系統(tǒng)主公開信息、密文的關(guān)鍵字和隱藏結(jié)構(gòu)的私有部分, 運(yùn)行StructuredEncryption算法, 生成可搜索密文, 并上傳到服務(wù)器保存;
4. 接收者要根據(jù)某關(guān)鍵字查找發(fā)送者發(fā)送給自己的文件時(shí), 輸入系統(tǒng)主秘密信息和待檢索的關(guān)鍵字, 運(yùn)行Trapdoor算法生成關(guān)鍵字檢索陷門, 并上傳至服務(wù)器;
5. 服務(wù)器收到接收者的關(guān)鍵字檢索陷門后, 對(duì)每一個(gè)發(fā)送可搜索密文給接收者的發(fā)送者, 輸入系統(tǒng)主公開信息、發(fā)送者隱藏結(jié)構(gòu)的公有部分、可搜索密文和檢索陷門, 運(yùn)行StructuredSearch算法, 找到所有滿足條件的密文;
6. 將第5步找到的滿足條件的密文返回給接收者。
如圖11所示為SPCHS方案性能開銷與含有指定關(guān)鍵字的密文數(shù)量的關(guān)系圖像; 如表 4所示為測(cè)試環(huán)境??梢钥吹? SPCHS方案的檢索用時(shí)與包含指定關(guān)鍵字的密文的數(shù)量成正比關(guān)系。如果不考慮極端情況, 如檢索的關(guān)鍵字正好被云存儲(chǔ)服務(wù)器上所有密文都包含, 那么相比PEKS方案, SPCHS方案能夠節(jié)省的時(shí)間將會(huì)非??捎^。
圖11 檢索耗時(shí)與指定關(guān)鍵字密文數(shù)量關(guān)系[50]Figure 11 The search cost[50]
SPCHS方案在保證了可搜索公鑰加密安全性的基礎(chǔ)上, 提高了密文檢索效率, 如果能夠應(yīng)用在云郵件系統(tǒng)上, 可以極大地提升用戶體驗(yàn), 提高用戶的使用效率。
在使用上述技術(shù)提高云郵件系統(tǒng)的安全性和易用性的同時(shí), 也帶來了另一個(gè)問題, 即兩個(gè)使用不同加密體制的云郵件系統(tǒng)的用戶間該如何互相轉(zhuǎn)發(fā)郵件的問題。這個(gè)問題具有重要的實(shí)用意義, 現(xiàn)代社會(huì), 企業(yè)間的合作司空見慣, 而兩個(gè)不同企業(yè)的員工之間也大多使用email進(jìn)行通信交流。如果這兩個(gè)企業(yè)的同時(shí)使用了云郵件系統(tǒng), 并且這兩個(gè)企業(yè)的云郵件系統(tǒng)使用的加密體制不一樣, 那兩個(gè)企業(yè)的員工間如何互相轉(zhuǎn)發(fā)郵件便成為問題。對(duì)于SSL協(xié)議, 解決這個(gè)問題比較簡(jiǎn)單, 因?yàn)镾SL協(xié)議中, 云平臺(tái)上的郵件以明文形式保存, 在進(jìn)行郵件轉(zhuǎn)發(fā)時(shí)云郵件系統(tǒng)直接將郵件投遞到另一個(gè)云郵件系統(tǒng)即可。雖然很便捷, 但是SSL協(xié)議的安全性不足, 無(wú)法阻止郵件明文的泄露。對(duì)于PGP/IBE協(xié)議, 解決這個(gè)問題便很困難了, 因?yàn)?PGP/IBE只有在指定的密碼體制下使用私鑰才能解密, 直接轉(zhuǎn)發(fā)到另一個(gè)體制的云郵件系統(tǒng)中, 接收者是沒有辦法解密出明文的。同樣的, 基于PRE的云郵件系統(tǒng)也存在同樣的問題。針對(duì)異構(gòu)PRE方案之間的安全郵件發(fā)送問題, 學(xué)術(shù)界提出了混合代理重加密(Hybrid Proxy Re-Encryption,HPRE)。
表4 性能測(cè)試環(huán)境[50]Table 4 Configurations and parameters[50]
近幾年來, 為了滿足加密云數(shù)據(jù)的多樣化共享功能, 國(guó)內(nèi)外已經(jīng)涌現(xiàn)出多種多樣的 PRE方案。這些方案在具備代理重加密的基本功能基礎(chǔ)上, 還具有很多其他的特性, 從而使之能夠滿足不同應(yīng)用場(chǎng)景的要求。從密鑰類型方面來看, 有傳統(tǒng)的基于證書的 PRE方案、基于身份的 PRE方案和基于屬性的PRE方案等; 從功能性方面來看, 有帶條件的 PRE方案[15,21]能夠?qū)崿F(xiàn)以細(xì)粒度的方式安全共享用戶的云端數(shù)據(jù); 廣播PRE方案[15,22]可同時(shí)向多個(gè)用戶共享數(shù)據(jù)。
這些種類繁多的PRE方案有利于用戶共享他們?cè)谠贫说臄?shù)據(jù)。然而, 帶來便利的同時(shí)也產(chǎn)生了一個(gè)新的問題: 假設(shè)有兩個(gè)加密云存儲(chǔ)平臺(tái)分別使用了不同的 PRE方案, 那么這兩個(gè)云存儲(chǔ)平臺(tái)之間就無(wú)法安全共享數(shù)據(jù)。這個(gè)問題同樣存在于同一個(gè)云平臺(tái)中, 當(dāng)兩個(gè)企業(yè)租用了同一云平臺(tái), 但是了不同的 PRE方案來實(shí)現(xiàn)它們的云存儲(chǔ)服務(wù)時(shí), 也無(wú)法實(shí)現(xiàn)安全的數(shù)據(jù)共享。
為了實(shí)現(xiàn)異構(gòu) PRE方案之間的安全數(shù)據(jù)共享,學(xué)者們提出了混合代理重加密方案(Hybrid PRE,HPRE)。2007年, Matsuo在 Pairing-Based Cryptography會(huì)議上首次提出了HPRE的概念[55], 并提出了CB-PRE到IB-PRE的密文轉(zhuǎn)換HPRE方案。Niu 等人[56]在Matsuo的基礎(chǔ)上做了改進(jìn), 解決了其存在的密鑰托管問題。Wang等人[57]提出了 IB-PRE到CB-PRE的HPRE方案, 但存在密鑰托管問題。針對(duì)該問題, Zhang等人[58]提出了解決方案。Wei等人[59]和 Mizuno等人[60]分別提出了 CL-PRE到 AB-PRE,和AB-PRE到IB-PRE的HPRE方案。Tang等人[61]研究了跨域的 PRE問題, 即授權(quán)方與被授權(quán)方分別處于不同的兩個(gè)域中(部署了不同 IB-PRE方案), 并提出了跨域的IB-PRE到IB-PRE的HPRE方案來解決該場(chǎng)景的問題。Xu等人[62]提出了安全的 IB-PRE到CB-PRE的HPRE方案, 并且該方案實(shí)現(xiàn)了數(shù)據(jù)的細(xì)粒度共享。
現(xiàn)有的 HPRE方案均是針對(duì)特定的 PRE方案,無(wú)法通用地解決異構(gòu) PRE方案之間的的數(shù)據(jù)轉(zhuǎn)換,因而, 我們提出了通用混合代理重加密[63](Generally HPRE, GHPRE)來更好地解決異構(gòu)PRE方案間的數(shù)據(jù)共享。
GHPRE提供了一種在任意兩個(gè)不同的 PRE體制間, 或者由 PRE體制向傳統(tǒng)公鑰加密體制(Public Key Encryption, PKE)進(jìn)行文件分享的通用方案。由于GHPRE方案的通用性極強(qiáng), 在兩個(gè)加密體制不同的云郵件系統(tǒng)間部署 GHPRE方案時(shí)不需要對(duì)已部署的加密體制進(jìn)行太多修改, 只要按照GHPRE的定義添加代碼即可。因此GHPRE方案非常適合應(yīng)用在兩個(gè)已有的加密體制不同的云郵件系統(tǒng)之間。
這里, 首先給出PRE和PKE的定義。PKE由以下算法組成:
1.Setupa: 初始化并生成PKE系統(tǒng)運(yùn)行所需的參數(shù);
2.Extracta: 為系統(tǒng)中的每個(gè)用戶生成一對(duì)公私鑰;
3.Enca: 利用用戶公鑰對(duì)數(shù)據(jù)進(jìn)行加密, 加密后的文件能且僅能被公鑰對(duì)應(yīng)的私鑰解密;
4.Deca: 利用用戶的私鑰解密使用用戶公鑰加密的數(shù)據(jù)。
PRE由以下算法組成:
1.Setupb: 初始化并生成PRE系統(tǒng)運(yùn)行所需的參數(shù);
圖12 GHPRE算法的核心流程Figure 12 GHPRE scheme
2.Extracta: 為系統(tǒng)中的每個(gè)用戶生成一對(duì)公私鑰;
3.Encb: 利用用戶公鑰將明文數(shù)據(jù)進(jìn)行加密,生成 PRE系統(tǒng)的初始密文, 生成的密文能且僅能利用公鑰對(duì)應(yīng)的私鑰被Dec-1b解密出明文;Dec-1b:利用用戶的私鑰, 解密使用用戶公鑰加密的密文,生成明文;
4.RKb: 生成密文的重加密密鑰。用戶將重加密密鑰上傳到云端, 云端利用重加密密鑰, 使用ReEncb算法對(duì)用戶指定的密文進(jìn)行重加密, 生成重加密密文。重加密密文可以被在重加密密鑰生成過程中指定的一個(gè)用戶解密;
5.ReEncb: 利用重加密密鑰, 對(duì)用戶指定的文件進(jìn)行重加密操作, 生成重加密密文。重加密密文可以被在重加密密鑰生成過程中指定的一個(gè)用戶解密;
6.Dec-2b: 使用用戶的私鑰解密ReEncb算法生成的重加密密文, 生成對(duì)應(yīng)的明文。
GHPRE是一套通用的算法, 它的核心算法流程如圖12所示。假設(shè)一個(gè)PRE體制的用戶A要向另外一個(gè)PKE體制的用戶B轉(zhuǎn)發(fā)一封郵件Mail, 且郵件Mail是使用用戶A的公鑰PKA加密存儲(chǔ)在云端的。用戶A首先從自身的密鑰生成中心KGCA獲取一對(duì)臨時(shí)公私密鑰(PKTemp,SKTemp), 隨后使用自己的私鑰SKA和臨時(shí)公鑰PKTemp在本地生成用于在用戶A所在的PRE體制內(nèi)部進(jìn)行加密文件共享的重加密密鑰RKA。之后, 用戶A向其所在的云郵件系統(tǒng)提交生成的重加密密鑰RKA, 由云端使用RKA將用戶原本的密文郵件EncMail重加密, 得到重加密后的密文郵件ReEncMail。其中,ReEncMail可以使用臨時(shí)私鑰SKTemp進(jìn)行解密。用戶A查詢獲得用戶B的公鑰PKB, 隨后使用公鑰PKB將可以解密郵件的臨時(shí)私鑰SKTemp加密為密文EncSK待用。云郵件服務(wù)器CloudA再將(EncSK,ReEncMail)一起傳輸給用戶B所屬的云郵件服務(wù)器CloudB。傳輸完畢后, 用戶B只需要從云服務(wù)器CloudB上下載(EncSK,ReEncMail), 再使用自己的私鑰從EncSK中解密出臨時(shí)私鑰SKTemp, 使用SKTemp解密ReEncMail就可以順利獲得用戶A的郵件明文Mail。
由GHPRE算法的核心流程可以看出, 算法很巧妙地申請(qǐng)了一對(duì)臨時(shí)的公私鑰, 發(fā)送者在跨密碼體制轉(zhuǎn)發(fā)郵件時(shí), 相當(dāng)于把自己的郵件轉(zhuǎn)發(fā)給了臨時(shí)的公鑰, 再用接收者的公鑰將臨時(shí)私鑰加密。這樣一來, 接收者就可以先解密出臨時(shí)私鑰, 再使用臨時(shí)私鑰解密出明文了。
接下來闡述如何使用 GHPRE方案來進(jìn)行解決異構(gòu)密碼算法的加密云郵件系統(tǒng)間的郵件轉(zhuǎn)發(fā)問題。假設(shè)部署了基于PKE的a和基于PRE的b兩個(gè)加密云郵件系統(tǒng), 下面詳細(xì)闡述如何部署GHPRE方案(稱為g), 實(shí)現(xiàn)b系統(tǒng)中的用戶 Alice發(fā)送郵件給a系統(tǒng)中的用戶 Carl, 其中令b=(Setupb,Extractb,Encb,Dec-1b,RKb,ReEncb,Dec- 2b)和a= (Setupa,Extracta,Enca,Deca)。
假設(shè)Alice想要發(fā)送郵件給Carl。令g=(Setupg,Extractg,Encg,Dec-1g,RKg,ReEncg,Dec-2g),g是一個(gè)GHPRE方案, 采用了PRE方案b和PKE方案a作為構(gòu)造模塊。方案g的主公開參數(shù)MPg=(MPa,MPb)。b系統(tǒng)中的用戶發(fā)送郵件給與a系統(tǒng)中的用戶由以下幾個(gè)步驟組成:
1. 系統(tǒng)初始化階段:b加密云和a加密云均生成它們各自的主公開和主秘密參數(shù), 從而初始化各自的系統(tǒng)。令KGCb和KGCa分別是b加密云和a加密云的密鑰生成中心。令(K,SE,SD)為一個(gè)對(duì)稱加密方案, 其中K是對(duì)稱密鑰空間,SE和SD分別是對(duì)稱加密和解密算法。KGCb執(zhí)行算法Setupb生成主公開和主秘密參數(shù)(MPb,MSb), 并選擇一個(gè)安全的對(duì)稱加密方案(K,SE,SD), 比如 AES算法。類似地,KGCa執(zhí)行算法Setupa生成主公開和主秘密參數(shù)(MPa,MSa) 。最后,KGCb發(fā)布 (MPb,K)給b加密云Cloudb,KGCa發(fā)布MPa給a加密云Clouda。這一步驟如圖13中點(diǎn)虛線所示;
圖13 GHPRE系統(tǒng)初始化與密鑰分發(fā)過程Figure 13 System setup and key publish in GHPRE
2. 密鑰分發(fā)階段:KGCb和KGCa為各自系統(tǒng)中的用戶生成一對(duì)真實(shí)的公私鑰。Alice想要加入b加密云時(shí), 然后KGCb執(zhí)行算法Extractb生成一對(duì)真實(shí)的公私鑰(PKAlice,SKAlice)并通過一個(gè)安全信道將(MPb,K,PKAlice,SKAlice)發(fā)送給 Alice。同樣的, Bob通過同樣的方式獲取他的真實(shí)公私鑰(PKBob,SKBob)。當(dāng)Carl加入a加密云時(shí),KGCa執(zhí)行算法Extracta生成一對(duì)真實(shí)公私鑰(PKCarl,SKCarl)并通過安全信道將(MPa,PKCarl,SKCarl)發(fā)送給Carl。這一步驟如圖13的虛線所示;
3. Alice生成一個(gè)重加密密鑰RKg,Alice?Carl?RKg并將其發(fā)送給Cloudb。在這一步, 首先 Alice從KGCb獲取一對(duì)臨時(shí)公私鑰(PKTemp,SKTemp)以及a系統(tǒng)的主公開參數(shù)MPa;接著, Alice執(zhí)行算法RKb生成b系統(tǒng)的重加密密鑰RKb,Alice?PKTemp, 并執(zhí)行算法Enca, 用Carl的公鑰將臨時(shí)私鑰加密得到EncSKCarl; 最后, Alice將g的重
加 密 密 鑰RKg,Alice?Carl= (RKb,Alice?PKTemp,EncSKCarl)發(fā)送給b郵件系統(tǒng)。這一步驟如圖14中的點(diǎn)虛線所示;
4.b郵件系統(tǒng)得到重加密密鑰RKg,Alice?Carl=(RKb,Alice?PKTemp,EncSKCarl), 執(zhí)行重加密算法ReEncg將 Alice的密文EncMailAlice重加密得到新密文ReEncMailPKTemp, 并將(ReEncMailPKTemp,EncSK)發(fā)送給Clouda。這一步驟如圖14中的虛線所示;
5. 當(dāng) Carl上線時(shí), 他從Clouda收到郵件密文(ReEncMailPKTemp,EncSK), 然后先執(zhí)行Dec-2g得到用于解密郵件的對(duì)稱密鑰KAlice, 再執(zhí)行SD得到明文數(shù)據(jù)Mail。在一步中, Carl先執(zhí)行Deca得到臨時(shí)私鑰SKTemp, 接著執(zhí)行Dec-2b得到對(duì)稱密鑰KAlice, 最后執(zhí)行SD得到郵件明文。這一過程如圖14中的實(shí)線所示。
從上述g的應(yīng)用可以看出,g可以非常便利地部署到正在運(yùn)行的PRE系統(tǒng)b中。Alice需要重加密原密文時(shí), 并不需要修改存在云端的密文。另外, 用戶與KGC之間的通信量與數(shù)據(jù)共享的請(qǐng)求量呈線性關(guān)系。要降低通信開銷, 用戶在共享數(shù)據(jù)給同一個(gè)人時(shí)可以使用同樣的公私鑰對(duì)。這就使得用戶與KGC之間的通信量?jī)H與數(shù)據(jù)消費(fèi)者的數(shù)量線性相關(guān)了。這個(gè)方法的唯一缺陷就是會(huì)增加用戶管理臨時(shí)密鑰的負(fù)擔(dān)。
CIBPRE提供了從一個(gè)PRE體系向另一個(gè)PRE體系, 或由PRE體系向PKE體系進(jìn)行安全文件共享的解決方案。雖然在目前的PKI體系下, 本方案并不具有很高的實(shí)用性, 但是它清除了 PRE加密體系間安全文件共享的障礙, 為未來 PRE加密體系做了重要的鋪墊。
圖14 GHPRE分享文件過程Figure 14 File sharing in GHPRE
加密技術(shù)的發(fā)展提升了郵件系統(tǒng)用戶的安全性和用戶體驗(yàn), 同時(shí)也提高了垃圾郵件的隱蔽性。關(guān)于垃圾郵件的危害, 人們已經(jīng)討論了很長(zhǎng)時(shí)間了, 其最主要的危害就是浪費(fèi)用戶時(shí)間、降低用戶體驗(yàn)、占用服務(wù)器帶寬與存儲(chǔ)空間以及可能攜帶惡意軟件等。
現(xiàn)在防范垃圾郵件的主要方式是根據(jù)發(fā)件地址攔截和在郵件系統(tǒng)上根據(jù)郵件內(nèi)容過濾。其中, 根據(jù)發(fā)件地址攔截的方式很容易誤傷正常用戶的郵件,并且垃圾郵件的發(fā)送者也可以很容易地偽造或更換發(fā)件地址, 因此根據(jù)發(fā)件地址攔截的方式有一定局限性。根據(jù)內(nèi)容過濾垃圾郵件的方法可以很好地工作在無(wú)加密的或以SSL作為加密技術(shù)的云郵件系統(tǒng)上, 因?yàn)猷]件服務(wù)器可以直接掃描郵件的明文。但是在基于PGP/IBE/PRE的郵件系統(tǒng)上無(wú)法發(fā)揮作用。在這些云郵件系統(tǒng)上, 只有接收者才能看到郵件的明文, 服務(wù)器無(wú)法分辨哪些郵件是垃圾郵件。目前,還沒有一種方法可以基于郵件內(nèi)容解決加密郵件的垃圾過濾問題。
本文從云郵件系統(tǒng)上的郵件安全開始, 討論了傳統(tǒng)的 SSL協(xié)議在安全性上的缺陷, 以及 PGP和IBE協(xié)議在群發(fā)和群轉(zhuǎn)發(fā)功能上的不足。接著, 介紹了既能保證用戶郵件的安全性, 又可以讓用戶便捷地群發(fā)郵件和群轉(zhuǎn)發(fā)郵件的 CIBPRE方案, 并介紹了 CIBPRE方案在云郵件系統(tǒng)上的典型應(yīng)用。接下來, 討論了可以實(shí)現(xiàn)在云郵件服務(wù)器進(jìn)行加密郵件檢索的可搜索加密方案, 介紹了在保證檢索關(guān)鍵字安全的基礎(chǔ)上, 提升了傳統(tǒng) PEKS檢索效率的SPCHS方案。以上都是在同一個(gè)云郵件系統(tǒng)下, 提高用戶安全性和用戶體驗(yàn)的方法, 這些方案對(duì)在兩個(gè)異構(gòu)加密云郵件系統(tǒng)之間進(jìn)行郵件轉(zhuǎn)發(fā)的情況則無(wú)能為力。此時(shí)就需要使用GHPRE方案實(shí)現(xiàn)異構(gòu)密碼算法的云郵件系統(tǒng)之間的郵件轉(zhuǎn)發(fā)功能。最后, 介紹了加密云郵件系統(tǒng)中解決難度最大的加密垃圾郵件的過濾問題。要想徹底解決這個(gè)問題, 我們面臨的挑戰(zhàn)還非常多。
[1] “Cloud business email market, 2014-2018”, Radicati Group, http://www.radicati.com/wp/wp-content/uploads/2014/10/Cloud-Busines s-Email-Market-2014-2018-Executive-Summary.pdf, Oct, 2014
[2] “Cloud-based archiving vs. on-premises legacy archiving”, Proofpoint Group. (2012), http://video.proofpoint.com/id/cloud-basedarchiving-vs.-on-premises-legacy-archiving-TCO-white-paper, Jun,2012.
[3]L. Ibraimi, Q. Tang, P. Hartel, and W. Jonker, “A type-and- identity-based proxy re-encryption scheme and its appli-cation in healthcare,” in Proc. 5th VLDB Conf. Secure Data Manage, pp.185–198, 2008.
[4]M. Blaze, G. Bleumer, and M. Strauss, “Divertible protocols and atomic proxy cryptography,” in Proc. Int. Conf. Theory Appl. Crytographic Techn.: Adv. Cryptol., pp. 127–144, 1998.
[5]G. Ateniese, K. Fu, M. Green, and S. Hohenberger, “Improved proxy re-encryption schemes with applications to secure distributed storage,” ACM Trans. Inf. Syst. Security, vol. 9, pp. 1–30, 2006.
[6]R. H. Deng, J. Weng, S. Liu, and K. Chen, “Chosen-ciphertext secure proxy re-encryption without pairings,” Cryptol. Netw. Security,vol. 5339, pp. 1–17, 2008.
[7]V. Kirtane and C. P. Rangan, “RSA-TBOS signcryption with proxy re-encryption,” in Proc. 8th ACM Workshop Digital Rights Manage, pp. 59–66, 2008.
[8]B. Libert and D. Vergnaud, “Unidirectional chosen-ciphertext secure proxy re-encryption,” in Proc. 11th Int. Workshop Practice Theory, pp. 360–379, 2008.
[9]J. Shao and Z. Cao, “CCA-secure proxy re-encryption without pairings,” in Proc. 12th Int. Conf. Practice Theory Public Key Cryptography, pp. 357–376, 2009.
[10]G. Ateniese, K. Benson, and S. Hohenberger, “Key-private proxy re-encryption,” in Proc. Cryptographers’ Track RSA Conf. Topics Cryptol, pp. 279–294., 2009.
[11]J. Shao, P. Liu, G. Wei, and Y. Ling, “Anonymous proxy reencryption,” Security Commun. Netw., vol. 5, no. 5,pp. 439–449, 2012.
[12]A. Boldyreva, M. Fischlin, A. Palacio, and B. Warinschi, “A closer look at PKI: Security and efficiency,” in Proc. 10th Int. Conf. Practice Theory Public-Key Cryptography, pp. 458–475, 2007.
[13]M. Green and G. Ateniese, “Identity-based proxy re-encryption,” in Proc. 5th Int. Conf. Appl. Cryptography Netw. Security, pp.288–306, 2007.
[14]C.-K. Chu and W.-G. Tzeng, “Identity-based proxy re-encryption without random oracles,” in Proc. 10th Int. Conf. Inf. Security, pp.189–202, 2007.
[15]C.-K. Chu, J. Weng, S. S. M. Chow, J. Zhou, and R. H. Deng,“Conditional proxy broadcast re-encryption,” in Proc. 14th Australasian Conf. Inf. Security Privacy, pp. 327–342, 2009.
[16]Q. Tang, “Type-based proxy re-encryption and its construction,” in Proc. 9th Int. Conf. Cryptol. India: Progress Cryptol, pp. 130–144,2008.
[17]J. Weng, R. H. Deng, X. Ding, C.-K. Chu, and J. Lai, “Conditional proxy re-encryption secure against chosen-ciphertext attack,” in Proc. 4th Int. Symp. Inf., Comput. Commun.Security, pp. 322–332,2009.
[18]J. Shao, G. Wei, Y. Ling, and M. Xie, “Identity-based conditional proxy re-encryption,” in Proc. IEEE Int. Conf. Commun, pp. 1–5,2011.
[19]P. Xu, T. Jiao, Q. Wu, W. Wang and J. Hai, “Conditional Identity-Based Broadcast Proxy Re-Encryption and Its Application to Cloud Email”IEEE Transactions on Computers, vol. 65, no. 1, pp.66-78, Jan. 2016.
[20]J. Weng, Y. Yang, Q. Tang, R. H. Deng, and F. Bao, “Efficient conditional proxy re-encryption with chosen-ciphertext security,” in Proc. 12th Int. Conf. Inf. Security, pp. 151–166 , 2009.
[21]L. Fang, W. Susilo, and J. Wang, “Anonymous conditional proxy re-encryption without random oracle,” in Proc. 3rd Int. Conf.Provable Security, pp. 47–60, 2009.
[22]K. Liang, Q. Huang, R. Schlegel, D. S. Wong, and C. Tang, “A conditional proxy broadcast re-encryption scheme supporting timedrelease,” in Proc. 9th Int. Conf. Inf. Security Practice Experience, pp. 132–146, 2013.
[23]R. Canetti and S. Hohenberger, “Chosen-ciphertext secure proxy reencryption,” in Proc. 14th ACM Conf. Comput. Commun. Security, pp. 185–194, 2007.
[24]T. Matsuda, R. Nishimaki, and K. Tanaka, “CCA proxy re-encryption without bilinear maps in the standard model,” in Proc.13thInt. Conf. Practice Theory Public Key Cryptography, pp.261–278, 2010.
[25]K. Liang, J. K. Liu, D. S. Wong, and W. Susilo, ” An efficient cloudbased revocable identity-based proxy re-encryption scheme for public clouds data sharing,” in Proc. Eur. Symp. Res. Comput.Security, pp. 257–272, 2014.
[26]D. X. Song, D. Wagner, and A. Perrig, “Practical techniques for searches on encrypted data,” inProc. IEEE S&P, pp. 44–55,May.2000.
[27]D. Boneh, G. D. Crescenzo, R. Ostrovsky, and G. Persiano, “Public key encryption with keyword search,” inAdvances in Cryptology—EUROCRYPT(Lecture Notes in Computer Science), vol. 3027, C.Cachin and J. L. Camenisch, Eds. Berlin, Germany:Springer-Verlag, pp. 506–522, 2004.
[28]M. Abdallaet al., “Searchable encryption revisited: Consistency properties, relation to anonymous IBE, and extensions,” inAdvances in Cryptology—CRYPTO(Lecture Notes in Computer Science), vol. 3621, V. Shoup, Ed. Berlin, Germany: Springer- Verlag,pp. 205–222, 2005.
[29]D. J. Park, K. Kim, and P. J. Lee, “Public key encryption with conjunctive field keyword search,” inInformation Security Applications(Lecture Notes in Computer Science), vol. 3325, C. H. Lim and M. Yung, Eds. Berlin, Germany: Springer-Verlag, pp. 73–86,2005.
[30]P. Golle, J. Staddon, and B. Waters, “Secure conjunctive keyword search over encrypted data,” inApplied Cryptography and Network Security(Lecture Notes in Computer Science), vol. 3089, M. Jakobsson, M. Yung, and J. Zhou, Eds. Berlin, Germany:Springer-Verlag, pp. 31–45, 2004.
[31]L. Ballard, S. Kamara, and F. Monrose, “Achieving efficient conjunctive keyword searches over encrypted data,” inInformation and Communications Security(Lecture Notes in Computer Science), vol. 3783, S. Qing, W. Mao, J. López, and G. Wang, Eds.Berlin, Germany: Springer-Verlag, pp. 414–426, 2005.
[32]J. Baek, R. Safavi-Naini, W. Susilo, Public Key Encryption with Keyword Search Revisited, ICCSA 2008, LNCS, vol. 5072, pp.1249-1259, Springer, Heidelberg (2008)
[33]Y. H. Hwang and P. J. Lee, “Public key encryption with conjunctive keyword search and its extension to a multi-user system,” inPairingBased Cryptography—Pairing(Lecture Notes in Computer Science), vol. 4575, T. Takagi, T. Okamoto, E. Okamoto, and T.Okamoto, Eds. Berlin, Germany: Springer-Verlag, pp. 2–22, 2007.
[34]E.-K. Ryu and T. Takagi, “Efficient conjunctive keyword-searchable encryption,” inProc. 21st Int. Conf. Adv. Inf. Netw.Appl. Workshops, pp. 409–414, May 2007.
[35]Mitsuhiro Hattori, Takato Hirano, Takashi Ito, Nori Matsuda, Takumi Mori, Yusuke Sakai, Kazuo Ohta, “Ciphertext-Policy Delegatable Hidden Vector Encryption and Its Application to Searchable Encryption in Multi-user Setting”, IMA Int. Conf., pp.190-209, 2011.
[36]J. Bethencourt, T.-H. H. Chan, A. Perrig, E. Shi, and D. Song,“Anonymous multi-attribute encryption with range query and conditional decryption,” School Comput. Sci., Carnegie Mellon Univ.,Pittsburgh, PA, USA, Tech. Rep. CMU-CS-06-135, 2006.
[37]E. Shi, J. Bethencourt, T.-H. H. Chan, D. Song, and A. Perrig,“Multidimensional range query over encrypted data,” inProc.IEEE S&P, vol. 4392, S. P. Vadhan, Ed. Berlin, Germany:Springer-Verlag, pp. 350–364, May 2007.
[38]D. Boneh and B. Waters, “Conjunctive, subset, and range queries on encrypted data,” inTheory of Cryptography(Lecture Notes in Computer Science), pp. 535–554, 2007.
[39]D. W. Cheung, N. Mamoulis, W. K. Wong, S. M. Yiu, and Y. Zhang,“Anonymous fuzzy identity-based encryption for similarity search,” inAlgorithms and Computation(Lecture Notes in Computer Science), vol. 6506, O. Cheong, K.-Y. Chwa, and K. Park,Eds. Berlin, Germany: Springer-Verlag, pp. 61–72, 2010.
[40]Saeed Sedghi, Peter van Liesdonk, Svetla Nikova, Pieter H. Hartel,Willem Jonker, “Searching Keywords with Wildcards on Encrypted Data,” SCN 2010, pp. 138-153, 2010.
[41]J. Camenisch, M. Kohlweiss, A. Rial, and C. Sheedy, “Blind and anonymous identity-based encryption and authorised private searches on public key encrypted data,” inPublic Key Cryptogra-phy— PKC(Lecture Notes in Computer Science), vol. 5443, S. Jarecki and G. Tsudik, Eds. Berlin, Germany: Springer-Verlag,pp.196–214, 2009.
[42]M. Bellare, A. Boldyreva, and A. O’Neill, “Deterministic and efficiently searchable encryption,” inAdvances in Cryptology—CRYPTO(Lecture Notes in Computer Science), vol. 4622, A. Menezes, Ed. Berlin, Germany: Springer-Verlag, pp. 535–552, 2007.
[43]M. Bellare, M. Fischlin, A. O’Neill, and T. Ristenpart, “Deterministic encryption: Definitional equivalences and constructions without random oracles,” inAdvances in Cryptology—CRYPTO(Lecture Notes in Computer Science), vol. 5157, D. Wagner, Ed.Berlin, Germany: Springer-Verlag, pp. 360–378, 2008.
[44]A. Boldyreva, S. Fehr, and A. O’Neill, “On notions of security for deterministic encryption, and efficient constructions without random oracles,” inAdvances in Cryptology—CRYPTO(Lecture Notes in Computer Science), vol. 5157, D. Wagner, Ed. Berlin,Germany: Springer-Verlag, pp. 335–359, 2008.
[45]Z. Brakerski and G. Segev, “Better security for deterministic public-key encryption: The auxiliary-input setting,” inAdvances in Cryptology—CRYPTO(Lecture Notes in Computer Science), vol.6841, P. Rogaway, Ed. Berlin, Germany: Springer-Verlag, pp.543–560, 2011.
[46]J.W. Byun et al., “Offline Keyword Guessing Attacks on Recent Keyword Search Schemes over Encrypted Data,” Proc. Third VLDB Int’l Conf. Secure Data Management, pp. 75-83, 2006.
[47]I.R. Jeong et al., “Constructing PEKS Schemes Secure against Keyword Guessing Attacks Is Possible?,” Computer Comm, vol.32, no. 2, pp. 394-396, 2009.
[48]Liming Fang, Willy Susilo, Chunpeng Ge, Jiandong Wang, “A Secure Channel Free Public Key Encryption with Keyword Search Scheme without Random Oracle,” CANS 2009, pp. 248-258, 2009.
[49]Qiang Tang, Liqun Chen, “Public-Key Encryption with Registered Keyword Search,” EuroPKI 2009, pp. 163-178, 2009.
[50]W. Harrower, “Searching Encrypted Data,” Technical report, Dept.of Computing, Imperial College London, 2009.
[51]P. Xu, H. Jin, Q. Wu, and W. Wang, “Public-key encryption with fuzzy keyword search: A provably secure scheme under keyword guessing attack,”IEEE Trans. Comput., vol. 62, no. 11, pp.2266–2277, Nov. 2013.
[52]Wei Wang, Peng Xu, Hui Li, Laurence Tianruo Yang, “Secure Hybrid-Indexed Search for High Efficiency over Keyword Searchable Ciphertexts,” Future Generation Computer Systems, 55, pp.353-361, Feb. 2016.
[53]P. Xu, Q. Wu, W. Wang, W. Susilo, J. Domingo-Ferrer, “Generating Searchable Public-Key Ciphertexts With Hidden Structures for Fast Keyword Search”IEEE Trans. Inf. Forensics Security, vol. 10, no.9, pp. 1667-1680, Sep. 2015.
[54]Peng Xu, Jingnan Li, Wei Wang, Hai Jin, “Anonymous Identity-Based Broadcast Encryption with Constant Decryption Complexity and Strong Security,” ASIACCS 2016, pp. 223-233, 2016.
[55]T. Matsuo, “Proxy re-encryption systems for identity-based encryption,” in Proc. 1st Int. Conf. Pairing-Based Cryptography, pp.247–267, 2007.
[56]K. Niu, X. A. Wang, and M. Zhang. “How to Solve Key Escrow-Problem in Proxy Re-encryption from CBE to IBE,” InProceedings of DBTA 2009, pages 95-98. IEEE, 2009
[57]X. A. Wang, X. Yang, and M. Zhang. “Proxy Re-encryption Scheme from IBE to CBE,” InProceedings of DBTA 2009, pages 99-102. IEEE, 2009.
[58]J. D. Zhang, X.A. Wang and X.Y. Yang. Hybrid proxy re-encryption between IBE and CBE. Journal of Computers, vol. 8,no. 7, pp 1873-1881, 2013.
[59]P. Wei, X.A. Wang and X.Y. Yang. Proxy Re-Encryption from CLE to CBE. in: Proceedings of International Conference on Computational Intelligence and Security, Nanning China, pp 339-342, 2010.
[60]T. Mizuno and H. Doi. Hybrid Proxy Re-encryption Scheme for Attribute-Based Encryption. in: Proceedings of 5thInternational Conference on Information Security and Cryptology, Beijing,China, pp 288~302, 2009.
[61]Q. Tang, P. H. Hartel, and W. Jonker. “Inter-domain Identity-Based Proxy Re-encryption,” InProceedings of Inscrypt 2008, LNCS, Vol.5487, pages 332-347. Springer, 2009.
[62]P. Xu, H. Chen, D. Zou, and H. Jin. “Fine-grained and heterogeneous proxy re-encryption for secure cloud storage,”Chinese Science Bulletin,59(32): 4201-4209, 2014.
[63]P. Xu, J. Xu, W. Wang, H. Jin, W. Susilo, D. Zou, “Generally Hybrid Proxy Re-Encryption: A Secure Data Sharing among Cryptographic Clouds” in Proc. 11thACM on Asia Conference on Computer and Communications Security, pp. 913-918, 2016.