亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于全同態(tài)加密的ORAM方案

        2018-11-19 02:27:04宋寧寧
        關(guān)鍵詞:同態(tài)加密算法密文

        宋寧寧

        (中國電子信息產(chǎn)業(yè)集團(tuán)有限公司第六研究所,北京 100083)

        0 引言

        大數(shù)據(jù)時代信息總量以驚人的速度增長[1],云存儲可為用戶提供按需、彈性、高效、可擴(kuò)展、低成本的存儲服務(wù)。用戶將數(shù)據(jù)存儲在云端,這使數(shù)據(jù)的歸屬權(quán)和管理權(quán)分離,在云服務(wù)提供商不可信的情況下,用戶需要對敏感數(shù)據(jù)進(jìn)行加密保證其機(jī)密性。用戶可以將敏感數(shù)據(jù)進(jìn)行加密后將密文傳到服務(wù)器端進(jìn)行存儲,需要使用時進(jìn)行下載并用密鑰解密,進(jìn)而得到明文數(shù)據(jù),但云端密文數(shù)據(jù)的檢索、處理等可用性受到影響。因此,如何在保證存儲安全的同時,實(shí)現(xiàn)密文檢索是大數(shù)據(jù)安全存儲需要解決的關(guān)鍵問題[2]。

        除了保證密文機(jī)密性,檢索關(guān)鍵詞的安全性,本文對密文檢索在訪問模式方面的安全性提出了新的要求。訪問模式指的是用戶訪問云端數(shù)據(jù)的模式,包括訪問類型是讀操作還是寫操作、訪問概率等信息。通常密文檢索算法考慮密文檢索中的密文機(jī)密性和檢索關(guān)鍵詞的安全性,忽略訪問模式帶來的隱私泄露。但是,不完全可信的云端通過長時間地觀察用戶的訪問模式,通過復(fù)雜的統(tǒng)計分析獲得關(guān)于用戶查詢數(shù)據(jù)的隱私信息,造成用戶的隱私泄露。不經(jīng)意隨機(jī)存儲機(jī)(ORAM)機(jī)制[3]能夠允許用戶對云端進(jìn)行讀操作或?qū)懖僮鳎贫藷o法對讀操作和寫操作進(jìn)行區(qū)分,同時云端也無法獲取用戶對某個密文的訪問概率,從而達(dá)到保護(hù)密文檢索訪問模式的目的。

        現(xiàn)有的ORAM方案主要有平方根方案、分層方案[4]和二叉樹方案[5]。其他ORAM實(shí)現(xiàn)方案都是基于這三種方案的改進(jìn)或變形?,F(xiàn)有的ORAM方案,數(shù)據(jù)的加密和解密均在用戶端進(jìn)行,且均沒有將數(shù)據(jù)的加密和解密造成的復(fù)雜度放入算法復(fù)雜度的計算中。由于數(shù)據(jù)的加密和解密均在客戶端執(zhí)行,盡管保證了數(shù)據(jù)的機(jī)密性,但是大量的數(shù)據(jù)加密和解密操作對用戶端的計算負(fù)載和通信負(fù)載造成了巨大的負(fù)擔(dān),特別是為了實(shí)現(xiàn)不經(jīng)意性,用戶和云端存在大量的I/O操作,這會造成效率的降低和資源的浪費(fèi),不能夠完全發(fā)揮云端高性能、分布式的特點(diǎn)。全同態(tài)加密[6]可以實(shí)現(xiàn)在不對密文數(shù)據(jù)解密的情況下操作密文數(shù)據(jù),對計算后的密文進(jìn)行解密的結(jié)果與直接對明文數(shù)據(jù)操作的結(jié)果一致。因此,本文引入全同態(tài)加密算法來構(gòu)建ORAM,在保證檢索安全、訪問模式安全的前提下,能夠提高云端計算和存儲資源的利用率,盡可能地減少用戶端負(fù)擔(dān)。

        1 密文檢索模型

        目前,云存儲密文檢索模型通常由用戶和云端兩部分組成,檢索模型分為初始化階段和檢索執(zhí)行階段,用戶和云端在初始化和檢索這兩個階段相互作用,實(shí)現(xiàn)用戶的密文檢索。在初始化階段,假設(shè)用戶有n個文件F={F1,…,Fn}。在云端不完全可信的情況下,為了保證數(shù)據(jù)的機(jī)密性,用戶必須在本地完成對數(shù)據(jù)的加密。假設(shè)加密算法采用對稱加密機(jī)制AES算法[7],其對稱密鑰為k。用戶使用密鑰k對文件集合F進(jìn)行加密生成密文集合C={C1,…,Cn},其中Ci=ENk(Di)。用戶將密文集合C={C1,…,Cn}上傳至云端,初始化階段結(jié)束。

        在初始化階段,用戶在本地將數(shù)據(jù)加密后再上傳至云端,云端沒有相應(yīng)的密鑰,因此,基于加密算法的安全性,云端無法獲知用戶的明文信息內(nèi)容,從而保證了用戶信息的機(jī)密性。

        在檢索階段,假設(shè)用戶需要云端查找并返回所有與關(guān)鍵字w相關(guān)的加密文件,為了保證檢索關(guān)鍵字的安全性,用戶使用檢索關(guān)鍵字w構(gòu)建一個安全令牌token,要保證該令牌token不會泄露任何關(guān)于關(guān)鍵字w的信息。用戶將此令牌上傳至云端,云端利用令牌token在加密數(shù)據(jù)庫中找到用戶想要的加密文件,并返回給用戶。用戶接收密文文件并在本地進(jìn)行解密獲得文件明文。

        至此,定義了密文檢索通用模型,通過模型可以看出,為了保證用戶數(shù)據(jù)的機(jī)密性和檢索關(guān)鍵字的安全性,模型分別采用了數(shù)據(jù)加密和構(gòu)建安全令牌機(jī)制。隨著信息安全、攻擊等信息技術(shù)的發(fā)展,對密文檢索的安全有了更高等級的定義。在對比現(xiàn)有密文檢索機(jī)制之前,先對密文檢索安全進(jìn)行定義。一個密文檢索算法需要具備以下安全屬性:

        (1)文件密文集合不能夠泄露任何關(guān)于文件明文集合的信息;

        (2)用戶生成的令牌token不能泄露任何關(guān)于明文關(guān)鍵詞w的信息;

        (3)密文的檢索不能夠泄露用戶的訪問模式[8]。

        2 不經(jīng)意隨機(jī)存儲機(jī)(ORAM)模型

        一個安全的ORAM模型包括三個算法[9-10],分別是初始化算法setup,讀操作read和寫操作write。下面分別定義這三個算法。

        (1)setup:初始化算法具體為:首先用戶生成一個安全參數(shù)1k,一個擁有N個數(shù)據(jù)文件的RAM集合和原始文件索引i;執(zhí)行初始化算法后,輸出一個密鑰K(可以采用對稱加密算法或公鑰加密算法),一個經(jīng)過加密后的ORAM以及密文索引EN(i)。

        (2)read:讀操作是一個兩方協(xié)議,在用戶和云端同時執(zhí)行。用戶希望獲得原始索引為i所對應(yīng)的RAM文件,用戶執(zhí)行讀操作兩方協(xié)議,輸入為密鑰K和密文索引EN(i);與此同時,云端執(zhí)行讀操作兩方協(xié)議,輸入為ORAM。讀操作兩方協(xié)議分別在用戶端和云端執(zhí)行后,用戶收到原始索引i對應(yīng)的元素RAM[i],同時云端得到重新加密后的ORAM′和⊥,其中⊥為空信息,表示云端無法獲知用戶讀取的經(jīng)意隨機(jī)存儲機(jī)ORAM的具體位置。讀操作兩方協(xié)議總結(jié)公式為:

        read((K,EN(i)),ORAM)=

        (1)

        (3)write:寫操作同樣是一個在用戶和云端同時執(zhí)行的兩方協(xié)議。用戶希望將云端保存的原始索引i對應(yīng)的數(shù)據(jù)文件更新為新的文件值v,用戶執(zhí)行寫操作兩方協(xié)議,輸入密鑰K,索引EN(i)和新的文件值v;同時云端執(zhí)行寫操作兩方協(xié)議,輸入為ORAM。寫操作兩方協(xié)議執(zhí)行后,用戶端得到⊥,同時,云端得到一個更新的ORAM′和⊥,存儲在ORAM中的索引為i的元素被更新為值v,用戶完成原始索引i對應(yīng)的數(shù)據(jù)文件的更新。讀操作兩方協(xié)議總結(jié)公式為:

        write((K,EN(i),v),ORAM)=

        (2)

        根據(jù)以上定義可以看出,ORAM模型首先利用數(shù)據(jù)加密和索引加密保證了用戶數(shù)據(jù)的機(jī)密性和索引的安全性。用戶和云端執(zhí)行讀操作和寫操作的兩方協(xié)議,實(shí)現(xiàn)用戶對數(shù)據(jù)的讀取、存儲或更新,而云端得到的都是一個經(jīng)過更新后的ORAM′。因此,在云端看來,用戶的讀操作和寫操作是同樣的過程,云端無法分辨。此外,云端得到⊥,也就是說云端無法獲取用戶的讀取或?qū)懭氲臄?shù)據(jù)位置的訪問概率。

        3 基于全同態(tài)加密的不經(jīng)意隨機(jī)存儲機(jī)方案

        全同態(tài)加密[6]是對同態(tài)加密算法的發(fā)展和延伸,其最主要的特性是,對密文數(shù)據(jù)進(jìn)行一系列的加法操作和乘法操作后經(jīng)過解密得到的數(shù)據(jù),與直接對原文數(shù)據(jù)進(jìn)行上述操作得到的數(shù)據(jù)一樣。首先,對全同態(tài)加密[6]算法方案由四個多項式時間復(fù)雜度的子算法組成FHE=(FKeyGen,FEnc,FDec,FEval),分別是:全同態(tài)密鑰生成算法FKeyGen,全同態(tài)加密算法FEnc,全同態(tài)解密算法FDec和全同態(tài)賦值算法FEval。假設(shè),構(gòu)建全同態(tài)加密方案的安全參數(shù)為1k,四個子算法定義如下:

        (1)全同態(tài)加密算法FKeyGen:系統(tǒng)根據(jù)用戶輸入的安全參數(shù)1k,生成全同態(tài)加密公私鑰對(pk,sk)=FKeyGen(1k)。

        (2)全同態(tài)加密算法FEnc:用戶輸入數(shù)據(jù)明文m,使用全同態(tài)加密公鑰pk進(jìn)行加密得到相應(yīng)的密文c=FEnc(pk,m,r),其中r為隨機(jī)數(shù),保證使用相同的密鑰對相同的明文加密能夠得到不同的密文。

        (3)全同態(tài)解密算法FDec:用戶輸入數(shù)據(jù)密文c,使用全同態(tài)加密私鑰sk進(jìn)行解密得到相應(yīng)的明文m=FDec(sk,c)。

        (4)全同態(tài)賦值算法FEval:用戶輸入全同態(tài)加密公鑰pk,n個密文集合c={c1,c2,…,cn}(對應(yīng)的明文集合為m={m1,m2,…,mn})和一個由加法門和乘法門構(gòu)成的多入多出的計算電路f,根據(jù)用戶對密文的操作需來確定計算電路的形式,如fn|1表示輸入n個密文經(jīng)過計算后輸出1個密文,fn|n表示輸入n個密文經(jīng)過計算后輸出n個密文。運(yùn)行賦值算法FEval輸出計算的密文c′=FEval(c,f,pk),其中c′是根據(jù)原密文集合c={c1,c2,…,cn}和某些參數(shù)經(jīng)過計算電路f計算后得到的新密文集合,且集合元素順序隨機(jī)變化。明文集合m和計算后的密文c′滿足公式f(m)=FDec(sk,FEval(pk,f,c′))。

        通過上述定義可以看出,本文設(shè)計的全同態(tài)加密算法與傳統(tǒng)全同態(tài)加密算法在全同態(tài)密鑰生成算法FKeyGen、全同態(tài)加密算法FEnc、全同態(tài)解密算法FDec這三個算法上保持一致。對于全同態(tài)賦值算法FEval進(jìn)行了擴(kuò)展,將傳統(tǒng)全同態(tài)加密算法的賦值算法FEval定義為一個多入多出的計算電路。為了完成特定的計算功能,用戶設(shè)計相應(yīng)的計算電路,實(shí)現(xiàn)不解密密文直接對密文進(jìn)行操作,多對一或者多對多的輸入和輸出關(guān)系。使用全同態(tài)加密算法構(gòu)建ORAM的方法如下:

        (1)setup(1k,RAM):初始化階段,用戶通過計算(pk,sk)=FKeyGen(1k),生成一個用于全同態(tài)加密算法的公私鑰對(pk,sk)。用戶生成隨機(jī)數(shù)r,并使用公鑰pk加密RAM和索引i,可以得到密文數(shù)據(jù)c=FEnc(pk,RAM,r)和密文索引EN(i)=FEnc(pk,i,r),輸出一個ORAM并上傳到云端。

        (3)write((K,EN(i),v),ORAM):寫操作,用戶使用公鑰pk重新加密需要寫入的文件的索引i得到EN(i)=FEnc(pk,i,r),并發(fā)送給云端。云端執(zhí)行全同態(tài)賦值算法,輸入ORAM,計算cEN(i)=FEval((ORAM,EN(i)),fn|1,pk),并將cEN(i)返回給用戶。用戶收到cEN(i)后直接丟棄,然后用戶加密待寫入的值cv=FHE.encK(v),并將cv上傳至云端,云端再次執(zhí)行全同態(tài)賦值算法ORAM′=FEval((ORAM,cv,EN(i)),fn|1,pk),其中云端將ORAM′代替原來的ORAM。

        4 安全性分析

        分析FHE-ORAM方案的檢索安全性。在ORAM初始化階段,用戶使用全同態(tài)加密對RAM進(jìn)行加密,向云端發(fā)送ORAM時不會泄露任何關(guān)于RAM的信息,因此符合密文檢索安全定義中(1)的要求。用戶在執(zhí)行讀操作和寫操作時向云端發(fā)送的令牌token為文件索引的加密值ci,不會泄露關(guān)于索引i的信息,因此,符合密文檢索安全定義的要求。用戶在執(zhí)行讀操作和寫操作時,運(yùn)行兩次全同態(tài)賦值算法,利用全同態(tài)加密的性質(zhì),直接對密文進(jìn)行操作。第一次賦值算法使用戶從云端獲取索引i對應(yīng)的新密文數(shù)據(jù),新密文數(shù)據(jù)經(jīng)過全同態(tài)加密處理,和ORAM中索引i對應(yīng)的密文數(shù)據(jù)在密碼學(xué)上無法分辨其聯(lián)系,從而保證云端無法獲知用戶“讀”或“寫”的位置。第二次賦值算法用戶上傳索引i對應(yīng)的經(jīng)過重新加密原明文或加密新明文的密文數(shù)據(jù),更新整個ORAM。因此,云端同樣無法獲知用戶“讀”或“寫”的位置。通過讀操作和寫操作的定義可知,在云端看來,用戶的讀操作和寫操作都是執(zhí)行兩次賦值算法,具體包括返回給用戶一個密文、用戶上傳一個密文以及云端更新整個ORAM這三個過程,云端無法分辨用戶的“讀”或“寫”,從而對用戶的訪問模式進(jìn)行了保護(hù),因此符合密文檢索安全定義的要求。綜上所述,本文設(shè)計的基于全同態(tài)加密的不經(jīng)意隨機(jī)存儲機(jī)方案滿足檢索安全的定義。

        5 結(jié)論

        在云服務(wù)提供商不完全可信的情況下,為了保護(hù)數(shù)據(jù)的機(jī)密性,用戶將數(shù)據(jù)在本地進(jìn)行加密后傳到云端,導(dǎo)致無法靈活地對存儲在云端的數(shù)據(jù)進(jìn)行查詢、更新等操作,云數(shù)據(jù)可用性較低?,F(xiàn)有密文檢索機(jī)制在保護(hù)用戶數(shù)據(jù)、檢索關(guān)鍵詞安全的基礎(chǔ)上實(shí)現(xiàn)密文的檢索,但是并不能保護(hù)密文訪問模式隱私安全。本文在研究現(xiàn)有密文檢索機(jī)制的基礎(chǔ)上,構(gòu)建了基于全同態(tài)加密的不經(jīng)意隨機(jī)存儲機(jī)方案,保護(hù)用戶數(shù)據(jù)、檢索關(guān)鍵詞的同時,基于其“不經(jīng)意”性實(shí)現(xiàn)訪問模式的隱藏保護(hù)。目前全同態(tài)方案算法復(fù)雜度高,加解密效率相對較低,下一步將研究降低方案的復(fù)雜度,提高可用性。

        猜你喜歡
        同態(tài)加密算法密文
        一種針對格基后量子密碼的能量側(cè)信道分析框架
        一種支持動態(tài)更新的可排名密文搜索方案
        基于模糊數(shù)學(xué)的通信網(wǎng)絡(luò)密文信息差錯恢復(fù)
        關(guān)于半模同態(tài)的分解*
        拉回和推出的若干注記
        一種基于LWE的同態(tài)加密方案
        HES:一種更小公鑰的同態(tài)加密算法
        基于小波變換和混沌映射的圖像加密算法
        云存儲中支持詞頻和用戶喜好的密文模糊檢索
        Hill加密算法的改進(jìn)
        无码视频一区二区三区在线播放| 精品免费看国产一区二区白浆| 无码午夜剧场| 太大太粗太爽免费视频| 伊人久久大香线蕉av色婷婷| 亚洲情久久久精品黄色| 青青草免费视频一区二区| 日本中文字幕婷婷在线| 漂亮丰满人妻被中出中文字幕| 亚洲妇熟xxxx妇色黄| 草草久久久无码国产专区| 国产福利酱国产一区二区| JIZZJIZZ国产| 国产乱老熟视频乱老熟女1| 人妻少妇中文字幕av| 91亚洲免费在线观看视频| 中文字幕精品一区二区的区别| 澳门蜜桃av成人av| 精品国产麻豆免费人成网站| 色播久久人人爽人人爽人人片av| 九九久久国产精品大片| 国产福利小视频91| 国产伦奸在线播放免费| 国产精品视频亚洲二区| 色偷偷偷久久伊人大杳蕉| a级大胆欧美人体大胆666| 国产精品亚洲A∨天堂| av天堂手机在线免费| 中文字幕亚洲综合久久综合| 亚洲精品宾馆在线精品酒店| 国产成人亚洲精品青草天美| 国产成人精品免费久久久久| 免费无遮挡毛片中文字幕| 毛片av在线尤物一区二区| 国产精品女同一区二区软件| 国产熟妇疯狂4p交在线播放| 亚洲精品无码乱码成人| 亚洲第一区无码专区| va精品人妻一区二区三区| 国产极品视觉盛宴| 日韩欧美成人免费观看|