国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于可信硬件的隱私數(shù)據(jù)可搜索加密加速方法研究

2021-04-06 00:39:34楊光遠(yuǎn)楊大利馬利民
信息安全研究 2021年4期
關(guān)鍵詞:令牌關(guān)鍵字管理器

楊光遠(yuǎn) 楊大利 張 羽 馬利民 張 偉

1(北京信息科技大學(xué)計(jì)算機(jī)學(xué)院 北京 100101)

2(國家信息中心信息網(wǎng)絡(luò)安全部 北京 100045)

(guangyuany86@163.com)

可搜索加密(searchable encryption, SE)[1-2]的設(shè)計(jì)是使用戶能夠?qū)⒆约旱臄?shù)據(jù)安全地外包到服務(wù)器,同時(shí)保留查詢和搜索功能.SE被認(rèn)為是建立加密數(shù)據(jù)庫,防止隱私數(shù)據(jù)泄露最有前途的解決方案.通用的解決方案如全同態(tài)加密、安全多方計(jì)算等,雖然增強(qiáng)了數(shù)據(jù)的安全性,但增加了大量的計(jì)算和通信開銷.屬性保留加密,如確定性加密是有效的,但這些解決方案在實(shí)際應(yīng)用[3]中并不安全.近年來,SE方案的快速發(fā)展具備了更多的功能和更高的安全性[4-5].

在動(dòng)態(tài)SE中,前向隱私的概念是指新添加的數(shù)據(jù)和之前發(fā)布的搜索查詢之間的鏈接應(yīng)該隱藏在服務(wù)器上,后向隱私的概念是指刪除的數(shù)據(jù)和刪除后的搜索查詢之間的鏈接應(yīng)該隱藏.現(xiàn)有的前向和后向隱私SE方案[6-7]在客戶端和服務(wù)器端都引入了大量的存儲(chǔ)和計(jì)算開銷,增加了客戶端和服務(wù)器之間的交互.為了提高SE的效率,一種方法是采用硬件輔助的方案,例如Intel SGX,它可以在受信任且隔離的執(zhí)行環(huán)境中執(zhí)行本機(jī)代碼和數(shù)據(jù),從而減輕客戶端存儲(chǔ)和計(jì)算的開銷,并減少客戶端和服務(wù)器之間的通信成本.

Amjad等人[8]提出了第1個(gè)使用SGX的前向和后向隱私SE方案.方案中數(shù)據(jù)的添加和刪除對(duì)服務(wù)器是完全不知情的.但是,由于SGX和服務(wù)器之間的高I/O復(fù)雜性,這種方法仍然是低效的.后來他們?cè)诎踩院透叩男手g進(jìn)行權(quán)衡,提出了Bunker-B[8].文獻(xiàn)[8]中給出了Bunker-B的理論構(gòu)造,但是它是不可擴(kuò)展的,尤其是在處理大型數(shù)據(jù)集時(shí).首先,刪除操作是通過插入操作實(shí)現(xiàn)的,這將導(dǎo)致2個(gè)問題:1)導(dǎo)致SGX與服務(wù)器之間的通信成本較高;2)由于所有刪除的數(shù)據(jù)都需要從搜索結(jié)果中檢索、解密和過濾掉,這就會(huì)增加搜索延遲.

為了避免SGX的引入而導(dǎo)致的潛在性能瓶頸, 本文利用SGX enclave充分發(fā)揮客戶端的作用,enclave將同時(shí)緩存關(guān)鍵字狀態(tài)和刪除操作,以減少SGX與服務(wù)器之間在搜索、添加和刪除操作中的通信成本和往返次數(shù),并使客戶端幾乎沒有任何計(jì)算和存儲(chǔ)上的額外消耗.1)本文設(shè)計(jì)并實(shí)現(xiàn)了前向和后向隱私SE方案,稱為TSE.TSE利用SGX套件跟蹤關(guān)鍵字狀態(tài)和數(shù)據(jù)刪除,以最大程度地減少SGX和不受信任的內(nèi)存之間的通信開銷.2)我們?cè)跀?shù)據(jù)集上進(jìn)行實(shí)驗(yàn)并對(duì)數(shù)據(jù)進(jìn)行了分析,結(jié)果表明提出的技術(shù)相較于之前的技術(shù)降低了通信成本,查詢效率有所提高.向數(shù)據(jù)庫中插入106條數(shù)據(jù)時(shí)的ecall/ocall調(diào)用次數(shù)僅為Bunker-B方案的10%.

1 相關(guān)工作

可搜索加密:Song等人[1]提出了第1個(gè)可搜索加密(SE),可以對(duì)加密的數(shù)據(jù)進(jìn)行搜索.古宜平等人[2]和Kamara等人[9]分別對(duì)靜態(tài)和動(dòng)態(tài)SE的安全定義進(jìn)行相關(guān)研究,并提出了具有次線性搜索時(shí)間的方案.自從SE研究以來,一系列的相關(guān)研究開始致力于提高查詢效率[10]和支持表達(dá)性查詢[11].

可信執(zhí)行環(huán)境中的密文搜索: 文獻(xiàn)[8,12-14]的研究是利用可信執(zhí)行環(huán)境(TEE).通常,TEE(例如Intel SGX)可以減少客戶端和服務(wù)器之間的網(wǎng)絡(luò)通信,并增加加密數(shù)據(jù)庫功能.Fuhry等人[14]提出了HardIDX,它以B+樹結(jié)構(gòu)構(gòu)建數(shù)據(jù)庫索引,并利用enclave遍歷樹節(jié)點(diǎn)的子集進(jìn)行搜索.文獻(xiàn)[8]提出了3種方案來啟用具有不同搜索泄露(即服務(wù)器可以從中獲悉有關(guān)查詢和數(shù)據(jù)的信息)的單關(guān)鍵字查詢.但是,他們尚未研究這些方案的實(shí)際性能.同時(shí),Ren等人[15]提出了一種通過SGX的隱藏范圍查詢方案.

2 相關(guān)知識(shí)

2.1 Intel SGX

Intel SGX是一組x86指令集,旨在提高應(yīng)用程序代碼和數(shù)據(jù)的安全性[16-17].在啟用SGX的平臺(tái)上,需要將應(yīng)用程序劃分為受信任部分和不受信任部分.受信任的部分稱為enclave,位于物理RAM的專用內(nèi)存部分中,由SGX實(shí)施強(qiáng)保護(hù).不受信任的部分作為普通進(jìn)程執(zhí)行,并且只能通過名為ecall的明確定義的接口調(diào)用enclave,而enclave可以加密明文數(shù)據(jù)并通過名為ocall的接口發(fā)送給不受信任的代碼.此外,當(dāng)將數(shù)據(jù)加載到enclave內(nèi)時(shí),將執(zhí)行解密和完整性檢查.所有其他軟件,包括操作系統(tǒng)、特權(quán)軟件、虛擬機(jī)管理程序和固件,都無法訪問enclave的內(nèi)存.在enclave中用于存儲(chǔ)數(shù)據(jù)的實(shí)際內(nèi)存最多只有96 MB[18].在此之上,SGX將自動(dòng)應(yīng)用頁面交換. SGX還具有遠(yuǎn)程認(rèn)證功能,該功能允許在遠(yuǎn)程服務(wù)器上驗(yàn)證enclave的創(chuàng)建,并創(chuàng)建與enclave的安全通信通道.

2.2 動(dòng)態(tài)搜索對(duì)稱加密

動(dòng)態(tài)SE中的前向和后向隱私:按照文獻(xiàn)[4-5]中的表達(dá),DB代表數(shù)據(jù)庫,每條具有唯一標(biāo)識(shí)符id的數(shù)據(jù)是一個(gè)可變長度的唯一關(guān)鍵字集.我們使用DB(w)來顯示出現(xiàn)關(guān)鍵字w的數(shù)據(jù)集. 關(guān)鍵字-數(shù)據(jù)對(duì)的總數(shù)用N表示,W是DB中不同關(guān)鍵字的總數(shù).indexMI是一種字典結(jié)構(gòu),用來存儲(chǔ)所有N個(gè)關(guān)鍵字-數(shù)據(jù)對(duì),將每個(gè)唯一關(guān)鍵字w映射到DB(w)中的匹配列表.名為EDB的加密數(shù)據(jù)庫是加密數(shù)據(jù)的集合.動(dòng)態(tài)SE方案Σ=(Setup,Search,Update)由客戶端和服務(wù)器之間的3個(gè)協(xié)議組成,如下所示:

1) Setup(1λ,DB).協(xié)議輸入1個(gè)安全參數(shù)λ,輸出1個(gè)密鑰K,1個(gè)客戶端狀態(tài)ST和1個(gè)加密數(shù)據(jù)庫EDB.

2) Search(K,w,ST;EDB).協(xié)議允許在客戶端根據(jù)狀態(tài)ST、密鑰K和狀態(tài)ST查詢w,在服務(wù)器端根據(jù)加密數(shù)據(jù)庫EDB查詢w.然后輸出搜索結(jié)果Res.

3) Update(K,(op,in),ST;EDB).該協(xié)議接收K、ST、一個(gè)與客戶端操作op相關(guān)的輸入以及EDB,其中op∈{add,del},in由數(shù)據(jù)標(biāo)識(shí)符id和該數(shù)據(jù)中的一組關(guān)鍵字組成.然后,協(xié)議執(zhí)行op操作時(shí)從EDB插入或刪除數(shù)據(jù).

3 問題分析及算法設(shè)計(jì)

3.1 問題分析

Amjad等人[8]提出了3種采用SGX支持的向后隱私的方案:Type-I方案Fort,Bunker-B和Bunker-A.Fort是最安全的,但是由于其開銷較大,本文不對(duì)其進(jìn)行研究.Bunker-A不執(zhí)行重新加密和重新插入,只實(shí)現(xiàn)向后隱私.因此,本文主要分析Bunker-B的局限性,Bunker-B協(xié)議總結(jié)如下所示.

協(xié)議1.Bunker-B: update和search協(xié)議.

① Update(op,in):

/*op∈{add,del},in=(w,id)*/

② client從st檢索stw=(version,

count);

③ 發(fā)送(w,version,count,op,id)到

enclave;

④ client更新st中的stw=(version,

count+1);

⑤ enclave生成update令牌utk=(u,v):

uFK1(w‖version‖count+1),

vEnc(K2,id‖op);

⑥ enclave發(fā)送sutk到server;

⑦ server從enclave中檢索sutk=(u,v);

⑧ server更新mapMI[u]=v

⑨ Search(w):

⑩ client從st檢索stw=(version,count);

enclave的st;

count);

count);

qtk=(u1,u2,…,ui,…,ucount),其中:

v2),…,(uc,vc)}到enclave;

鍵字-數(shù)據(jù)對(duì);

∈L}過濾未刪除的ids;

Bunker-B的性能分析:對(duì)于每個(gè)(w,id),Bunker-B讓enclave遵循相同的例程來生成用于添加和刪除的令牌,并使用生成的令牌來更新服務(wù)器上的MI(協(xié)議1中的⑤).然而,它會(huì)導(dǎo)致高計(jì)算復(fù)雜度,并且在搜索過程中涉及到大量的數(shù)據(jù)傳輸.在Search協(xié)議中,Bunker-B的核心思想是讓enclave讀取MI中與關(guān)鍵字對(duì)應(yīng)的所有記錄(與add或del相關(guān)).然后,enclave對(duì)它們進(jìn)行解密,并根據(jù)操作過濾被刪除的id.查詢之后,enclave重新加密未刪除的id,并將新生成的令牌發(fā)送到服務(wù)器進(jìn)行更新.這些步驟總結(jié)在協(xié)議1的第~行中.本文復(fù)現(xiàn)了Bunker-B(見第4節(jié)的實(shí)驗(yàn)),發(fā)現(xiàn)該方案在實(shí)踐中還存在以下局限性:1)密集ecall/ocall調(diào)用.將具有標(biāo)識(shí)符id和M條唯一關(guān)鍵字的數(shù)據(jù)提供給服務(wù)器,Bunker-B通過使用M次ecall,然后使用相同數(shù)量的ocall重復(fù)執(zhí)行更新協(xié)議,以將令牌插入索引映射MI.2)搜索延遲.每次搜索都會(huì)對(duì)未刪除的id重新加密,這使得Bunker-B效率降低.

3.2 系統(tǒng)概述

通過分析Bunke-B具有的一些限制,我們?cè)O(shè)計(jì)了TSE,TSE的整體架構(gòu)如圖1所示:

圖1 TSE系統(tǒng)整體架構(gòu)及工作流程

TSE方案涉及3個(gè)實(shí)體:客戶端(數(shù)據(jù)所有者,因此是受信任的)、不受信任的服務(wù)端和服務(wù)器內(nèi)受信任的SGX enclave,系統(tǒng)工作流程包括11個(gè)步驟.

在步驟1中,客戶端使用SGX認(rèn)證功能對(duì)enclave進(jìn)行身份驗(yàn)證,并與enclave建立安全通道. 然后,客戶端通過此通道將密鑰K提供給enclave. 這樣就完成了協(xié)議中的Setup協(xié)議.

在步驟2中,為客戶提供具有唯一標(biāo)識(shí)符id的數(shù)據(jù),客戶端管理器使用密鑰K加密數(shù)據(jù),并將數(shù)據(jù)的加密版本發(fā)送到服務(wù)器管理器(步驟3).然后將帶有id的加密版本插入到EDB中.客戶管理器通過安全通道將原始數(shù)據(jù)發(fā)送到位于enclave的狀態(tài)管理器(步驟4).在此步驟中,狀態(tài)管理器執(zhí)行加密操作以生成將被發(fā)送到服務(wù)端管理器的更新令牌(步驟5).令牌用于更新位于服務(wù)端管理器中的動(dòng)態(tài)SE的加密索引.動(dòng)態(tài)SE MI的索引位于服務(wù)器管理器中,而加密數(shù)據(jù)存儲(chǔ)于加密數(shù)據(jù)庫EDB中.要?jiǎng)h除具有給定id的數(shù)據(jù)(步驟6),客戶端管理器直接將數(shù)據(jù)id發(fā)送給狀態(tài)管理器(步驟7).

在步驟8中,客戶端想要搜索包含給定查詢關(guān)鍵字w的數(shù)據(jù).客戶端管理器將關(guān)鍵字w發(fā)送給狀態(tài)管理器(步驟9).然后,狀態(tài)管理器計(jì)算查詢令牌并排除標(biāo)記為刪除數(shù)據(jù).之后,狀態(tài)管理器將它們發(fā)送到服務(wù)器管理器(步驟10).服務(wù)器管理器將搜索接收到的令牌,并將加密的匹配數(shù)據(jù)列表返回給客戶端管理器,并用K解密加密的數(shù)據(jù).

3.3 系統(tǒng)的假設(shè)和威脅模型分析

對(duì)Intel SGX的假設(shè):本文假設(shè)SGX是可信的(即沒有硬件錯(cuò)誤或后門),并且enclave內(nèi)的預(yù)置代碼和數(shù)據(jù)是受到保護(hù)的.此外,客戶端和enclave之間的通信依賴于SGX認(rèn)證期間創(chuàng)建的安全通道.和其他SGX應(yīng)用程序[19]一樣,對(duì)SGX的[20]的側(cè)邊通道攻擊不在我們的范圍內(nèi).拒絕服務(wù)(DoS)攻擊也不在我們的關(guān)注范圍之內(nèi),也就是說,enclave總是在客戶端調(diào)用或查詢時(shí)可用.最后,我們假設(shè)SGX使用的所有加密原語和庫都是可信的.

威脅模型:根據(jù)文獻(xiàn)[17],我們認(rèn)為服務(wù)器端有一個(gè)半誠實(shí)但強(qiáng)大的攻擊者.盡管攻擊者不會(huì)偏離協(xié)議,但可以通過enclave之外的軟件堆棧、操作系統(tǒng)和管理程序,以及服務(wù)器中的硬件組件(處理器包除外)獲得完全訪問權(quán).攻擊者可以在內(nèi)存總線上、內(nèi)存中或EDB中觀察內(nèi)存地址和(加密的)數(shù)據(jù),以生成數(shù)據(jù)訪問模式.此外,攻擊者可以記錄這些內(nèi)存操作發(fā)生時(shí)的時(shí)間.

3.4 TSE算法思想及偽代碼

TSE的基本思想是讓enclave存儲(chǔ)關(guān)鍵字的最新狀態(tài)ST,并保留已刪除數(shù)據(jù)的數(shù)據(jù)id的列表d,方便后期搜索使用.然后,enclave僅在2次刪除操作之間加載用于第1次搜索的被刪除的數(shù)據(jù),以便于更新刪除的id和查詢的關(guān)鍵字之間的映射.在2次刪除更新之間的后續(xù)搜索不需要再次加載刪除的數(shù)據(jù).我們注意到,enclave在第1個(gè)查詢中檢索到d后顯然需要?jiǎng)h除d,以保存enclave的存儲(chǔ).一旦enclave知道查詢關(guān)鍵字和已刪除數(shù)據(jù)之間的映射,它就會(huì)推斷查詢關(guān)鍵字與其余未刪除數(shù)據(jù)的映射,以便生成查詢令牌. 之后,服務(wù)器根據(jù)接收到的令牌檢索數(shù)據(jù),并將數(shù)據(jù)結(jié)果列表返回給客戶端.接下來將結(jié)合協(xié)議偽代碼進(jìn)一步解釋協(xié)議,Setup協(xié)議如下所示:

協(xié)議2.Setup(1λ).

client:

①kΣ,kf←{0,1}λ;

② 啟動(dòng)遠(yuǎn)程認(rèn)證;

③ 建立安全的渠道;

④ 發(fā)送K=(kΣ,kf)到enclave;

enclave:

⑤ 初始化ST和D:

⑥ 初始化一個(gè)列表d;

⑦ 初始化T1和T2;

⑧ 接收K=(kΣ,kf);

server:

⑨ 初始化MI和Mc;

⑩ 初始化存儲(chǔ)庫R.

在Setup過程中,客戶端在建立的安全通道上與enclave通信,以提供K=(kΣ,kf),其中kΣ使enclave域能夠生成更新/查詢令牌,而kf是用于數(shù)據(jù)加密/解密的對(duì)稱密鑰.enclave維護(hù)映射ST和D以及列表d,其中ST存儲(chǔ)關(guān)鍵字的狀態(tài),D表示關(guān)鍵字和已刪除數(shù)據(jù)之間的映射,d是已刪除id的數(shù)組.服務(wù)器保存1個(gè)加密索引MI、加密狀態(tài)Mc的映射、帶有R[id]的存儲(chǔ)庫R存儲(chǔ)數(shù)據(jù)標(biāo)識(shí)符id的加密數(shù)據(jù).

如下為TSE的Update協(xié)議流程:

協(xié)議3.Update(op,in).

client:

① ifop=add then

②f←Enc(kf,data);

③ 發(fā)送(id,f)到server;

④ end if

⑤ 發(fā)送(op,id)到enclave;

enclave:

⑥ ifop=add then

⑦f←R[id];

⑧ {(w,id)}←Parse(Dec(kf,f));

⑨ foreach (w,id) do

⑩kw‖kc←F(kΣ,w);

server:

如下為TSE的Search流程:

協(xié)議4.Search(w).

client:

① 發(fā)送w到enclave;

enclave:

②stwc←{?},Qw←{?};

③kw‖kc←F(kΣ,w);

④ foreachidiinddo

⑤fi←R[idi];

⑥datai←Dec(kf,fi);

⑦ ifwindataithen

⑧D[w]←idi∪D[w];

⑨ 刪除R[idi];

⑩ end if

server:

client:

4 實(shí)驗(yàn)及數(shù)據(jù)分析

4.1 實(shí)驗(yàn)設(shè)置

實(shí)驗(yàn)設(shè)置與實(shí)現(xiàn):本文選擇了Enron電子郵件數(shù)據(jù)集(1.4 GB),使用C++和Intel SGX SDK4構(gòu)建了TSE原型,此外,實(shí)現(xiàn)了Bunker-B的原型作為比較的基準(zhǔn),因?yàn)槠鋵?shí)現(xiàn)是不公開的,原型利用SGX SDK中的內(nèi)置加密原語進(jìn)行相關(guān)加密操作.它還使用SDK中的設(shè)置和API來創(chuàng)建、管理和訪問為SGX設(shè)計(jì)的應(yīng)用程序(enclave).實(shí)驗(yàn)環(huán)境部署在具備SGX功能的Intel i7 1.8 GHz和8 GB內(nèi)存的主機(jī).

圖2 Bunker-B與TSE查詢時(shí)間對(duì)比(刪除25%的數(shù)據(jù))

4.2 實(shí)驗(yàn)數(shù)據(jù)分析

插入和刪除:首先,比較在Bunker-B和TSE方案下插入和刪除的時(shí)間,如表1所示.測量在不同方案的加密數(shù)據(jù)庫中添加關(guān)鍵字-數(shù)據(jù)對(duì)的運(yùn)行時(shí)間.如表1所示,Bunker-B需要21 μs插入1對(duì),當(dāng)關(guān)鍵字-數(shù)據(jù)對(duì)的數(shù)量等于數(shù)據(jù)數(shù)量時(shí),這比我們的方案(23 μs)要快.原因是上述3種方案的插入時(shí)間受到不受信任的應(yīng)用程序和enclave之間的I/O(ecall/ocall)的限制.對(duì)于Bunker-B,I/O成本與關(guān)鍵字-數(shù)據(jù)對(duì)的數(shù)量成線性關(guān)系,而TSE的I/O成本與數(shù)據(jù)數(shù)量成線性關(guān)系.當(dāng)插入1×106個(gè)數(shù)據(jù)時(shí),我們的方案只需要7 μs來插入1對(duì)關(guān)鍵字-數(shù)據(jù)對(duì),速度比Bunker-B (12 μs)快了近2倍.

表1 Bunker-B與TSE插入數(shù)據(jù)時(shí)間對(duì)比

對(duì)于刪除,Bunker-B的性能與插入(12 μs)是一樣的,因?yàn)閯h除運(yùn)行相同的算法只是操作不同.對(duì)于我們的方案,刪除過程只將數(shù)據(jù)id插入到列表中,并且在查詢階段通過排除已刪除的id來執(zhí)行刪除操作.因此,我們的方案在刪除階段只需要4 μs就可以處理1個(gè)數(shù)據(jù).

查詢延遲:為了測量關(guān)鍵字頻率和刪除操作帶來的查詢延遲,我們選擇在刪除部分?jǐn)?shù)據(jù)后查詢前25個(gè)關(guān)鍵字,如圖2所示,當(dāng)插入2.5×105條數(shù)據(jù)、刪除25%的數(shù)據(jù)后.對(duì)于最頻繁的關(guān)鍵字,Bunker-B需要1.3 s的查詢時(shí)間.雖然TSE執(zhí)行第1次搜索需要5 s,但它也會(huì)在enclave中緩存已刪除的關(guān)鍵字-數(shù)據(jù)對(duì),并在第1次查詢期間對(duì)數(shù)據(jù)執(zhí)行刪除.因此,接下來的查詢速度要快得多,因?yàn)檎{(diào)用的次數(shù)大大減少.即使是第25個(gè)最常見的關(guān)鍵字,TSE(159 ms)仍然比Bunker-B(221 ms)快40%.

通信成本:接下來展示了I/O操作(ocall/ecall)對(duì)不同方案性能的影響.如表2所示,Bunker-B比本文方案多需要10倍的ecall/ ocall操作.因此,盡管Bunker-B和本文方案都在最后生成并存儲(chǔ)加密的關(guān)鍵字-數(shù)據(jù)對(duì),但是本文方案可以實(shí)現(xiàn)更好的插入性能,因?yàn)楸疚姆桨敢蕾囕^少的I/O操作.在刪除操作上,Bunker-B比本文方案多了將近30倍的I/O操作(如表3所示).而且本文方案的刪除操作只需要插入已刪除的id,不涉及任何加密操作,而Bunker-B執(zhí)行的過程和插入數(shù)據(jù)是一樣的.這表明本文方案比Bunker-B通信成本更低.

表2 Bunker-B與TSE插入數(shù)據(jù)通信成本對(duì)比

表3 Bunker-B與TSE刪除數(shù)據(jù)通信成本對(duì)比

內(nèi)存消耗:因?yàn)榕c服務(wù)器和enclave相比,客戶機(jī)的內(nèi)存消耗可以忽略不計(jì)(即小于1 MB).如圖3所示,TSE的加密數(shù)據(jù)庫始終保持不變,因?yàn)樗鼈冊(cè)谔砑?×106條數(shù)據(jù)后保持相同的關(guān)鍵字-數(shù)據(jù)對(duì).另一方面,當(dāng)我們刪除更多的數(shù)據(jù)時(shí),Bunker-B的內(nèi)存使用量會(huì)持續(xù)增加,因?yàn)樗鼞?yīng)該在服務(wù)器上維護(hù)已刪除的關(guān)鍵字-數(shù)據(jù)對(duì).在enclave中,Bunker-B不維護(hù)任何持久的數(shù)據(jù)結(jié)構(gòu),而TSE需要存儲(chǔ)刪除所需的信息.對(duì)于TSE,它會(huì)緩存enclave中的所有數(shù)據(jù)id,這將導(dǎo)致非常高的內(nèi)存使用量,刪除25%的數(shù)據(jù)時(shí)是304 MB.

圖3 Bunker-B與TSE內(nèi)存占用對(duì)比(刪除25%的數(shù)據(jù))

5 總 結(jié)

為了解決傳統(tǒng)SE降低加密數(shù)據(jù)的查詢效率,增加了客戶端和服務(wù)器之間通信成本的問題,本文引入了硬件輔助解決方案——Intel SGX來解決這2個(gè)問題.本文通過分析當(dāng)前解決方案,發(fā)現(xiàn)當(dāng)前的解決方案存在密集ecall/ocall調(diào)用和搜索延遲的問題,提出利用Intel SGX的enclave來緩存關(guān)鍵字的狀態(tài),并且保留已刪除數(shù)據(jù)的id的列表d,為后期的數(shù)據(jù)查詢提供方便.本文的方案存在如下優(yōu)點(diǎn):

1) 由于在enclave中緩存了已刪除數(shù)據(jù)的關(guān)鍵字-數(shù)據(jù)對(duì),查詢效率相較于Bunker-B更高;

2) 數(shù)據(jù)查詢過程中依賴較少的I/O操作,因此通信開銷更低.

雖然本文的方案在查詢效率和通信開銷方面有所優(yōu)化,但是可以看到方案對(duì)enclave的內(nèi)存占用還較高,這將觸發(fā)enclave的自動(dòng)分頁機(jī)制,這個(gè)過程也會(huì)影響查詢效率,同時(shí)本文方案在大數(shù)據(jù)量時(shí)的處理表現(xiàn)還不好.因此接下來的研究工作將著力于提高方案的批處理能力,減少enclave的內(nèi)存占用,進(jìn)一步提高數(shù)據(jù)查詢效率.

猜你喜歡
令牌關(guān)鍵字管理器
履職盡責(zé)求實(shí)效 真抓實(shí)干勇作為——十個(gè)關(guān)鍵字,盤點(diǎn)江蘇統(tǒng)戰(zhàn)的2021
稱金塊
應(yīng)急狀態(tài)啟動(dòng)磁盤管理器
基于路由和QoS令牌桶的集中式限速網(wǎng)關(guān)
成功避開“關(guān)鍵字”
Windows文件緩沖處理技術(shù)概述
動(dòng)態(tài)令牌分配的TCSN多級(jí)令牌桶流量監(jiān)管算法
高集成度2.5A備份電源管理器簡化鋰離子電池備份系統(tǒng)
快速導(dǎo)出QQ群消息
電腦迷(2014年2期)2014-04-29 19:21:13
基于用戶反饋的關(guān)系數(shù)據(jù)庫關(guān)鍵字查詢系統(tǒng)
沛县| 陆河县| 哈巴河县| 富宁县| 永寿县| 怀安县| 徐汇区| 浮梁县| 达日县| 福鼎市| 台中市| 淮南市| 杂多县| 博客| 祁门县| 阳谷县| 白水县| 东乌珠穆沁旗| 三都| 武胜县| 萨迦县| 新源县| 大石桥市| 象山县| 浦江县| 武清区| 华宁县| 靖安县| 镇宁| 新余市| 尉犁县| 阿坝县| 新巴尔虎右旗| 宽甸| 龙泉市| 安宁市| 军事| 大连市| 寿阳县| 耿马| 苍溪县|