• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于密鑰矩陣派生的云計(jì)算密鑰存儲方案

      2022-10-09 04:07:46池亞平莫崇維王志強(qiáng)梁家銘薛德凡
      信息安全研究 2022年10期
      關(guān)鍵詞:密鑰密碼客戶端

      池亞平 莫崇維 王志強(qiáng) 梁家銘 薛德凡

      1(北京電子科技學(xué)院網(wǎng)絡(luò)空間安全系 北京 100070)

      2(西安電子科技大學(xué)通信工程學(xué)院 西安 710071)

      (chiyp_besti@163.com)

      云計(jì)算被認(rèn)為是繼大型計(jì)算機(jī)、個(gè)人計(jì)算機(jī)、互聯(lián)網(wǎng)之后的第4次IT革命,云計(jì)算技術(shù)為大數(shù)據(jù)、物聯(lián)網(wǎng)、工業(yè)物聯(lián)網(wǎng)、人工智能等眾多新技術(shù)、新應(yīng)用提供了彈性可擴(kuò)展的計(jì)算能力[1].云存儲是廣泛應(yīng)用的云計(jì)算服務(wù)之一,云存儲中的數(shù)據(jù)安全問題得到廣泛關(guān)注.云環(huán)境下通常有3種不同的云服務(wù)模式:軟件即服務(wù)(software as a service, SaaS)、平臺即服務(wù)(platform as a service, PaaS)和基礎(chǔ)設(shè)施即服務(wù)(infrastructure as a Service, IaaS),相比較于傳統(tǒng)的IT環(huán)境,云密鑰管理服務(wù)模式將變得更為復(fù)雜.

      當(dāng)云存儲對文件進(jìn)行加密和完整性保護(hù)服務(wù)時(shí),通過海量密鑰的支持才能夠有效保證上述文件的機(jī)密性和完整性.當(dāng)加密文件的大小達(dá)到PB級時(shí),由于目前廣泛采用塊存儲方式,因此會產(chǎn)生海量加密密鑰,需要大量空間存儲加密密鑰[2].

      云計(jì)算環(huán)境下的用戶身份和數(shù)據(jù)來源的不同,使得云計(jì)算環(huán)境中的密鑰包含各種不同的種類,如用戶身份密鑰、授權(quán)密鑰,數(shù)據(jù)加密密鑰等.同時(shí),云存儲需要滿足用戶動態(tài)性的要求,當(dāng)用戶權(quán)限變更時(shí),需要及時(shí)更新授權(quán)用戶的密鑰,以防出現(xiàn)數(shù)據(jù)非法訪問,因此如何保證在云環(huán)境下安全的動態(tài)更新密鑰是亟待解決的問題[3].

      1 相關(guān)工作

      1.1 密鑰存儲研究進(jìn)展分析

      美國國家標(biāo)準(zhǔn)與技術(shù)研究所分析了IaaS,PaaS,SaaS云服務(wù)場景下密鑰管理存在的風(fēng)險(xiǎn),并給出了框架性建議[4].隨著云計(jì)算密鑰存儲技術(shù)的不斷研究與發(fā)展,在早期單層派生方法(single-layer derivation equation, SDE)思想的基礎(chǔ)上,產(chǎn)生了一系列云密鑰存儲方面的優(yōu)化與改進(jìn)方法[5].

      密鑰派生方法采用密鑰派生樹結(jié)構(gòu),如圖1所示.密鑰派生樹中的節(jié)點(diǎn)由密鑰映射而來,因此,生成的派生樹能夠?qū)崿F(xiàn)在單個(gè)節(jié)點(diǎn)密鑰上匯聚多個(gè)密鑰信息,密鑰存儲管理成本也隨之大幅度降低.

      圖1 密鑰派生樹結(jié)構(gòu)

      SDE密鑰派生的基本思想是先將資源訪問權(quán)限作為對用戶進(jìn)行分類的依據(jù),權(quán)限相同的用戶分為一類,每一類都生成對應(yīng)的密鑰派生樹,樹的節(jié)點(diǎn)對應(yīng)分類后的1個(gè)組;而按類對用戶劃分之后會生成多個(gè)密鑰派生樹,用戶的密鑰集合會映射到派生樹上;最后通過求解最小密鑰派生樹,減少海量密鑰的存儲數(shù)量[6].

      SDE方法也并不完美.一是它僅僅在只有1個(gè)授權(quán)者的情況下減少了需要存儲的密鑰數(shù)量,當(dāng)存在海量的授權(quán)者時(shí),用戶自己仍然要存儲和管理海量的密鑰;二是當(dāng)應(yīng)用場景的權(quán)限策略在不斷地變化時(shí),該方案也不適用.雙層派生方法(double-layer derivation equation, DDE)是在 SDE 密鑰派生基礎(chǔ)上改進(jìn)得到的[7].DDE有雙層加密機(jī)制,運(yùn)用對稱加密密鑰和密鑰派生的公鑰標(biāo)簽實(shí)現(xiàn),結(jié)果是使得權(quán)限控制更新的效益得到進(jìn)一步的優(yōu)化.雙層加密的具體描述如下:第1層為基本加密層(base encryption layer, BEL),資源數(shù)據(jù)在數(shù)據(jù)擁有者一方,在資源數(shù)據(jù)發(fā)送至服務(wù)器前,BEL將根據(jù)原始加密策略對資源數(shù)據(jù)進(jìn)行加密;第2層為表面加密層(surface encryption layer, SEL),當(dāng)資源數(shù)據(jù)發(fā)送至服務(wù)器后,服務(wù)器運(yùn)用SEL動態(tài)變化的權(quán)限策略進(jìn)行加密運(yùn)算,對象是BEL加密后發(fā)送過來的資源數(shù)據(jù).存在海量的授權(quán)者時(shí),用戶仍然需要存儲和管理海量的密鑰,該問題在DDE方案中同樣存在.

      文獻(xiàn)[8]提出了一種啟發(fā)式的密鑰管理方案,使得系統(tǒng)維護(hù)和分發(fā)給用戶的用于訪問控制的密鑰數(shù)量最小化,通過使用最小生成樹(minimum spanning tree, MST)優(yōu)化密鑰結(jié)構(gòu),目的是降低用戶認(rèn)證的代價(jià).為此,它獲得2個(gè)節(jié)點(diǎn)的公共用戶,并添加1個(gè)新的父節(jié)點(diǎn)來管理公共用戶,該方案能以最小權(quán)值生成用戶樹.文獻(xiàn)[9]提出了一種以構(gòu)造狀態(tài)密鑰樹進(jìn)行群組密鑰分發(fā)的協(xié)議,該方案給出了狀態(tài)密鑰樹的構(gòu)造方法,最終使得協(xié)議的存儲成本顯著降低,文獻(xiàn)[10]也采用密鑰派生的方法,提出了一種用于云環(huán)境中輕量級密鑰管理的方案,通過設(shè)置橋密鑰,每個(gè)用戶能派生出已授權(quán)所有資源的加密密鑰,文獻(xiàn)[11]提出使用密鑰哈希樹加密達(dá)到250量級的大文件,文件每個(gè)區(qū)域的解密都需要不同的密鑰,從而使得訪問控制粒度更細(xì),安全性得到進(jìn)一步提升.同樣基于密鑰狀態(tài)哈希樹,文獻(xiàn)[12]提出了一種密鑰存儲管理方案,該方案的密鑰運(yùn)算是結(jié)合根密鑰和密鑰派生樹共同完成的.通過使用密碼盒中存儲的根密鑰,運(yùn)用密鑰派生樹方法派生出文件加密密鑰,該密鑰生成計(jì)算操作簡單、快捷、低成本,而且存儲代價(jià)也大幅度減少.

      密鑰派生思想非常經(jīng)典,基于該思想的上述方案在密鑰存儲開銷方面作了一定程度的優(yōu)化.但隨著云計(jì)算應(yīng)用規(guī)模的不斷擴(kuò)大,密鑰存儲空間需求增大,密鑰樹的深度也在急劇增加,上述方案的存儲管理開銷將大大增加.因此,本文提出了一種基于密鑰矩陣派生的密鑰存儲管理方案.該方案采用密鑰派生樹結(jié)構(gòu),將密鑰劃分為根密鑰和數(shù)據(jù)加密密鑰.根密鑰由用戶特定且唯一的屬性生成,然后再用根密鑰派生得到可供用戶日常使用的數(shù)據(jù)加密密鑰.與文獻(xiàn)[11-12]方案相比,根密鑰將直接派生到密鑰派生樹的最底層節(jié)點(diǎn)密鑰,減少了非葉子節(jié)點(diǎn)密鑰的計(jì)算和存儲開銷.

      1.2 密鑰更新方案的研究

      文獻(xiàn)[13]設(shè)計(jì)了一種基于邏輯密鑰圖的安全組通信方案.邏輯密鑰圖是有方向但不構(gòu)成環(huán)路的圖,稱為G,圖G中k表示密鑰,u表示用戶.連接節(jié)點(diǎn)u的邊只出不入,傳出邊數(shù)大于等于1條;一般來說,連接k的邊有入有出,如果ki只入不出,那么該節(jié)點(diǎn)ki稱之為根(圖G中根的數(shù)量可以大于1個(gè)).安全組(U,K,R)是在給定的G中指定的,具體如下:

      1) 在密鑰圖中,U和節(jié)點(diǎn)u的集合是1對1的關(guān)系.同樣地,K和節(jié)點(diǎn)k的集合也存在1對1的關(guān)系.

      2) (u,k)∈R,若從u到k存在有向邊組合而成的路徑,那么該路徑對應(yīng)節(jié)點(diǎn)u到k肯定是唯一的.

      例如,圖2中的G定義了以下(U,K,R):

      K={k1,k2,k3,k4,k12,k234,k1234},

      U={u1,u2,u3,u4},

      R={(u1,k1),(u1,k12),(u1,k1234),(u2,k2),(u2,k12),(u2,k234),(u2,k1234),(u3,k3),(u3,k234),(u3,k1234),(u4,k4),(u4,k234),(u4,k1234)}.

      函數(shù)userset()和keyset()與每個(gè)安全組(U,K,R)相關(guān)聯(lián),函數(shù)的設(shè)定描述如下:

      userset(k)={u|(u,k)∈R},keyset(u)={k|(u,k)∈R}.

      userset(k)表示在集合K中用戶u所掌握的密鑰,keyset(u)表示在集合U中用戶u所掌握的密鑰.例如在圖2所示的G中,有userset(k234)={u2,u3,u4}和keyset(u4)={k4,k234,k1234}.

      圖2 密鑰圖示例

      例如該方案進(jìn)行用戶權(quán)限的變更.假設(shè)用戶u9權(quán)限失效,密鑰k1~9和k789必須重新更換.如圖3所示,由服務(wù)端將更新后的密鑰k1~8傳輸給用戶u1至u6,把k1~8和k78傳輸給用戶u7,u8.而之所以必須重新發(fā)送新的組密鑰給有權(quán)限的用戶,是因?yàn)橛脩舾髯远急仨氄莆兆约旱挠行窂缴系慕M密鑰和私鑰之后,才能保證安全通信暢順.

      圖3 密鑰更新示例

      文獻(xiàn)[14]受到平衡樹思想的啟發(fā),提出一種基于二叉樹哈希的密鑰更新方案.該方案所用的基本更新方法有2種:一種是從葉節(jié)點(diǎn)沿著會話路徑到根節(jié)點(diǎn)進(jìn)行更新;另一種是從根節(jié)點(diǎn)沿著會話路徑至葉節(jié)點(diǎn)進(jìn)行更新.不管用戶是授權(quán)加入或離開,都需要把其葉子節(jié)點(diǎn)至根節(jié)點(diǎn)經(jīng)過路徑上的所有密鑰節(jié)點(diǎn)進(jìn)行更新,以達(dá)到有效通信或阻斷通信的目的.

      圖4 密鑰分配方案

      層次結(jié)構(gòu)均被上述密鑰更新方案設(shè)計(jì)所采納,但是當(dāng)層數(shù)變多,或者應(yīng)對云環(huán)境下的海量用戶時(shí),密鑰更新的計(jì)算量和通信量是巨大的,因?yàn)橹灰渲?個(gè)用戶的密鑰需要更新,服務(wù)端就需要將路徑上的葉節(jié)點(diǎn)、根節(jié)點(diǎn)、中間節(jié)點(diǎn)上的密鑰逐一地進(jìn)行更換,并重新傳輸給用戶.

      針對層次結(jié)構(gòu)中權(quán)限頻繁變更帶來的開銷增多問題,本文提出一種基于中國剩余定理(Chinese remainder theorem, CRT)的密鑰更新方案.針對云環(huán)境中龐大數(shù)量的用戶,在對用戶權(quán)限進(jìn)行更新時(shí),首先進(jìn)行分類,同類用戶都具有相同的訪問權(quán)限,以提升密鑰樹的空間利用率,然后將同類用戶代入新的CRT方程組,失去權(quán)限的用戶將被新的Xr和秘密值Cr剔除.同類子用戶用同一組CRT方程,而不是所有用戶,只有同類子用戶共享Xr,因此,其他用戶不會受到非同類子用戶的影響,最終達(dá)到降低密鑰更新時(shí)所用計(jì)算量和通信量的目的.

      2 密鑰存儲方案設(shè)計(jì)

      按照文件自身大小進(jìn)行分塊加密存儲,各個(gè)數(shù)據(jù)塊對應(yīng)不同的密鑰,并建立安全索引是對數(shù)據(jù)加密的經(jīng)典方案.文件的分塊加密需要密鑰管理系統(tǒng)分配加密密鑰,其通過安全索引加密相應(yīng)的文件數(shù)據(jù)塊,然后再傳輸至公有云中存儲.當(dāng)文件數(shù)據(jù)塊很多時(shí),密鑰管理系統(tǒng)需要分配的加密密鑰數(shù)量增大,數(shù)據(jù)庫存儲未使用的密鑰所需空間變大,這將增加數(shù)據(jù)庫密鑰的存儲負(fù)擔(dān).為此,本文方案利用密鑰派生的原理,按需求量及時(shí)計(jì)算,動態(tài)分配所需的密鑰.

      同時(shí),目前密鑰派生方案都出現(xiàn)了深度增加帶來的開銷增大問題,基于矩陣形式派生密鑰樹深度僅為2層,將根密鑰直接派生得到密鑰樹最底層的葉子節(jié)點(diǎn),當(dāng)用戶需要海量密鑰時(shí),明顯降低計(jì)算成本.另外,存儲管理密鑰樹的派生配置矩陣和根密鑰也達(dá)到了降低密鑰存儲開銷的目的.

      2.1 應(yīng)用場景需求分析

      本文提出的密鑰存儲方案可以應(yīng)用于典型私有云環(huán)境中,如圖4所示.應(yīng)用場景主要由租戶、私有云和公有云組成.私有云主要由控制節(jié)點(diǎn)、內(nèi)部交換機(jī)和計(jì)算節(jié)點(diǎn)組成.密鑰分發(fā)服務(wù)器(key distribution server, KDS)運(yùn)行在私有云的控制節(jié)點(diǎn)上,客戶端運(yùn)行于私有云的計(jì)算節(jié)點(diǎn).數(shù)據(jù)的加解密在客戶端完成,加密后的數(shù)據(jù)存儲于公有云中.

      用戶加密數(shù)據(jù)文件并上傳需執(zhí)行以下工作步驟:

      1) 用戶A與密鑰分發(fā)服務(wù)器KDS分別公開各自的公鑰KUKDS和KUA并保存好自己的私鑰;密碼盒的配置由用戶選擇根密鑰Kr、密鑰派生矩陣的行列(MN)數(shù)以及訪問權(quán)限列表來進(jìn)行設(shè)定,然后把未加密文件與明文密碼盒傳輸至客戶端.

      2) 客戶端把接收到的明文密碼盒和密鑰請求傳輸?shù)終DS.

      3) KDS通過密碼盒配置生成密鑰并傳輸?shù)娇蛻舳?

      4) 客戶端用KDS傳輸來的密鑰對文件數(shù)據(jù)進(jìn)行加密,并使用KUKDS和公鑰KUA對密碼盒進(jìn)行非對稱加密,然后將加密后的加密文件數(shù)據(jù)和密碼盒傳輸并存儲至公有云.

      用戶下載加密文件并解密需要執(zhí)行以下的工作步驟:

      1) 客戶端首先下載加密后的文件,再向KDS申請返回解密密鑰;

      2) KDS向公有云申請返回對應(yīng)文件數(shù)據(jù)的密碼盒,并用私鑰解開密碼盒;

      3) 客戶端的訪問權(quán)限是基于密碼盒中的訪問權(quán)限列表來判斷,有訪問權(quán)限則允許訪問,通過權(quán)限后,客戶端才能接收到由根密鑰Kr和派生矩陣派生出的密鑰;

      4) 客戶端收到密鑰后解密密文,再把明文返回給用戶.

      2.2 密鑰派生過程設(shè)計(jì)

      采用密鑰矩陣的密鑰派生結(jié)構(gòu)是本文方案的關(guān)鍵設(shè)計(jì),如圖5所示.加密密鑰以矩陣的形式派生,根密鑰Kr直接計(jì)算派生出葉子節(jié)點(diǎn)的密鑰值作為密鑰矩陣中的密鑰值.密鑰矩陣中第x行第y列的密鑰值計(jì)算公式為

      K(x,y)=H(Kr,x‖y),

      (1)

      其中根密鑰為Kr,H()代表SHA-256的摘要算法,‖表示串聯(lián)的運(yùn)算符號,使用x‖y能夠保證不同數(shù)據(jù)塊對應(yīng)的加密密鑰不同.例如,圖5中K3,7由Kr計(jì)算,即K(3,7)=H(Kr,3‖7),以此類推,Kr能夠計(jì)算得到所有的分塊密鑰.密鑰需要存儲矩陣結(jié)構(gòu),即存儲行數(shù)和列數(shù),其形式為

      (2)

      圖5 密鑰矩陣派生示意圖

      根據(jù)密碼盒的配置,使用派生矩陣的M,N和根密鑰Kr進(jìn)行密鑰派生,每個(gè)派生密鑰都以相同形式直接加密對應(yīng)的數(shù)據(jù)塊.每個(gè)客戶端計(jì)算節(jié)點(diǎn)派生出不同的加密密鑰為文件加密,派生密鑰過程由該節(jié)點(diǎn)執(zhí)行,其依據(jù)文件數(shù)據(jù)的大小與塊數(shù),設(shè)置合適的密鑰派生起始參數(shù),派生一定范圍的加密密鑰.

      2.3 密鑰交換協(xié)議設(shè)計(jì)

      本文所設(shè)計(jì)的根密鑰使用文獻(xiàn)[15]所提到的密碼盒進(jìn)行存儲保護(hù),密碼盒使用非對稱密鑰加密或者對稱密鑰加密,以實(shí)現(xiàn)根密鑰的保密與文件數(shù)據(jù)的完整;通常在速度(對稱)與靈活性(公鑰)之間進(jìn)行權(quán)衡,以保證安全性及使用的高效性.根密鑰是用KDS和用戶公鑰加密后存儲在公有云中,私有云則負(fù)責(zé)加解密的過程.加密密鑰封裝成KMIP消息格式后在安全傳輸層中進(jìn)行擴(kuò)展,即利用擴(kuò)展后的TLS_KMIP協(xié)議在公有云和私有云之間實(shí)現(xiàn)端對端的密鑰傳輸.若在安全傳輸層上傳送KMIP消息,則需要擴(kuò)展TLS協(xié)議,重新定義結(jié)構(gòu)及消息格式,如圖6所示.

      KMIP協(xié)議的請求和響應(yīng)數(shù)據(jù)包中基本元素有4種,分別為標(biāo)簽(Tag)、類型(Type)、消息大小(Len)、值(Value).利用協(xié)議基本元素構(gòu)造數(shù)據(jù)包中的操作和屬性,例如“Get”和“Unique Identifier”,如圖7所示.

      圖6 TLS_KMIP協(xié)議結(jié)構(gòu)及消息格式

      圖7 KMIP消息示例

      C/S 2端實(shí)現(xiàn)KMIP協(xié)議過程如圖8所示.例如,客戶端向服務(wù)端發(fā)出申請,請求一個(gè)128 b的AES對稱密鑰.2端在安全傳輸層建立連接后,申請數(shù)據(jù)包會被封裝成KMIP容器,并填充操作和屬性.編碼器將KMIP容器信息編碼為TTLV(tag-type-length-value)信息,而解碼器則執(zhí)行相反操作.信息到達(dá)服務(wù)端后,服務(wù)器會將信息翻譯成密鑰管理系統(tǒng)可理解的互操作消息格式.

      圖8 KMIP消息交換過程

      密鑰的交換包括數(shù)據(jù)加密上傳和數(shù)據(jù)下載解密2個(gè)部分.KMIP的符號對照表如表1所示:

      表1 密鑰交換符號表

      KMIP協(xié)議流程如圖9所示,加密并上傳文件過程如下:

      ① 用戶新建明文密碼盒〈Kr,MN,P0,P1,…〉以對f進(jìn)行安全配置.

      圖9 密鑰交換協(xié)議流程

      ② KDS接收從客戶端發(fā)來的獲得文件加密密鑰請求和明文密碼盒;KDS使用客戶端公鑰和KDS公鑰對根密鑰進(jìn)行加密后,存儲至密碼盒中,再把加密密碼盒傳輸至公有云上存儲;加密后密碼盒:〈EKUKDS(Kr),EKUA(Kr),MN,P0,P1,…〉.

      ③ 客戶端接收KDS發(fā)來的加密密鑰Kf,xi,yj并對文件進(jìn)行加密,然后傳輸加密文件至公有云進(jìn)行存儲.

      客戶端申請解密存儲在公有云上的加密文件,過程如下:

      ④ KDS從公有云上獲得加密密碼盒〈EKUKDS(Kr),EKUA(Kr),MN,P0,P1,…〉.

      ⑤ 當(dāng)用戶出現(xiàn)在KDS存儲的權(quán)限列表后,客戶端被允許使用私鑰解密根密鑰;使用密鑰矩陣配置MN與解密得到的根密鑰Kr共同計(jì)算得到文件數(shù)據(jù)加密密鑰Kf,xi,yj.

      ⑥ 用戶使用KDS發(fā)來的密鑰Kf,xi,yj解密從公有云下載的加密文件.

      圖9中實(shí)線箭頭表示利用TLS_KMIP協(xié)議進(jìn)行交互.

      2.4 密鑰更新方案設(shè)計(jì)

      云租戶具有動態(tài)性,同時(shí)密鑰的使用期限也有限制,定期或動態(tài)地更新密鑰是實(shí)現(xiàn)密鑰管理安全的重要一環(huán).云服務(wù)器接收到加密的用戶數(shù)據(jù)時(shí),根據(jù)用戶對資源的訪問權(quán)限生成控制權(quán)限表.用戶訪問資源的權(quán)限會隨著用戶的授權(quán)密鑰發(fā)生改變.在云環(huán)境中用戶可以獲得海量資源,解密資源需要對應(yīng)的密鑰,因此用戶密鑰更新的消耗也很大,但不同云用戶對云資源可能具有相同的訪問權(quán)限.為降低更新密鑰的消耗,該方案將用戶與資源進(jìn)行歸類,其中統(tǒng)一子類的用戶具有相同的密鑰,設(shè)計(jì)一個(gè)基于CRT的密鑰更新方案,用以提高密鑰更新效率,降低更新密鑰帶來的資源耗費(fèi).

      1) 用戶訪問控制資源集.

      云密鑰管理系統(tǒng)提供生成用戶訪問矩陣,用于表示用戶與資源之間的訪問權(quán)限.資源集是指在用戶訪問矩陣中有相同訪問權(quán)限的單元,而資源集樹由不同用戶對應(yīng)的資源集生成,用對該資源集有訪問權(quán)限的用戶列表作為樹的葉子節(jié)點(diǎn),再使用MST方法最小化樹中邊的權(quán)重.數(shù)據(jù)所有者向用戶分配身份驗(yàn)證密鑰以用戶類為密鑰分配單位,并結(jié)合最小加權(quán)資源樹中的最小加權(quán)Rst原則.根據(jù)邏輯圖的原理,用戶與對應(yīng)的資源集連接.

      2) 基于CRT的密鑰更新方案.

      定義1.i個(gè)素?cái)?shù)(t1,t2,…,ti),秘密值為Dr,E()為加密函數(shù),Xr為同余未知數(shù).該方案加密授權(quán)用戶的對應(yīng)認(rèn)證密鑰(a1,a2,…,ai)得到i個(gè)隨機(jī)數(shù)(Ea1(Dr),Ea2(Dr),…,Eai(Dr)),再通過建立如下中國剩余定理方程式(3),解出同余未知數(shù).

      (3)

      在用戶的動態(tài)訪問權(quán)限發(fā)生變化時(shí),用戶無需接收新的認(rèn)證密鑰,而是通過計(jì)算新的Xr和Dr剔除更改權(quán)限的用戶.當(dāng)用戶數(shù)量較大時(shí),為了避免將CRT應(yīng)用于每個(gè)用戶,可根據(jù)訪問權(quán)限是否相同將用戶歸為一個(gè)子用戶類,其中每個(gè)子用戶均適用CRT,子用戶類中的所有用戶共享Xr.

      3 方案分析

      3.1 安全性分析

      密鑰傳輸過程中的完整性和保密性是由TLS_KMIP擴(kuò)展協(xié)議實(shí)現(xiàn)的.TLS_KMIP協(xié)議由KMIP協(xié)議通過安全傳輸層協(xié)議擴(kuò)展而來.私有云密鑰服務(wù)端需要挑選合適的TLS密碼套件對封裝成標(biāo)準(zhǔn)密鑰交換消息格式的密鑰信息進(jìn)行加密傳輸,從而保證通信過程的安全性.此外,本文方案的安全分析還涉及2種較為常見的攻擊.

      1) 敵手控制某些具有計(jì)算能力的客戶端節(jié)點(diǎn).本文方案中用戶只持有自己的密鑰,密鑰節(jié)點(diǎn)由哈希結(jié)果組成,敵手無法逆向推出父密鑰,因此同類子用戶得到同一層次的密鑰是十分困難的,對于非同類子用戶的文件數(shù)據(jù)更無法訪問.云環(huán)境中大量節(jié)點(diǎn)位于高性能服務(wù)集群中,而單個(gè)節(jié)點(diǎn)可訪問的某一類文件卻只占全部文件的0.1%.因此,當(dāng)敵手占領(lǐng)少部分節(jié)點(diǎn)時(shí),能獲取的數(shù)據(jù)也只能是很少的一部分.

      2) 敵手入侵公有云服務(wù)器.文件數(shù)據(jù)在云服務(wù)器上是加密存儲的,即使敵手得到云服務(wù)器上的數(shù)據(jù),也只是無法解密的“亂碼”.敵手若要解密就必須得到數(shù)據(jù)加密密鑰,而文件數(shù)據(jù)加密密鑰由根密鑰派生得到,根密鑰在密碼盒中進(jìn)行存儲.敵手若要取得根密鑰就必須使用用戶的私鑰將密碼盒打開,而海量用戶各自擁有不同的私鑰.因此敵手只獲得云端加密文件是得不到關(guān)于文件內(nèi)容的任何有效信息的.

      3.2 性能分析

      該方案采用Java語言進(jìn)行開發(fā),使用MySQL數(shù)據(jù)庫進(jìn)行存儲,節(jié)點(diǎn)間通信采用KMIP協(xié)議通信,SHA-256哈希函數(shù)為OpenSSL開源庫中,將其作為密鑰派生的哈希函數(shù);同時(shí),使用OpenSSL密鑰庫中的AES對文件進(jìn)行加密以滿足細(xì)粒度的文件數(shù)據(jù)加密要求,文件加密模式為XTS(XEX tweakable block cipher with ciphertext stealing).因?yàn)閄TS-AES可以隨機(jī)訪問,且其加密和解密可以并行化,因此適用于網(wǎng)絡(luò)存儲的加密模式.

      本文方案實(shí)驗(yàn)在個(gè)人電腦上進(jìn)行仿真實(shí)現(xiàn).其中,用戶使用電腦自帶的Windows操作系統(tǒng),私有云控制節(jié)點(diǎn)、私有云計(jì)算節(jié)點(diǎn)、公有云服務(wù)節(jié)點(diǎn)由虛擬機(jī)采用Ubuntu操作系統(tǒng),私有云節(jié)點(diǎn)功能是文件的加解密,公有云節(jié)點(diǎn)功能是文件搜索和文件存儲.仿真環(huán)境配置如表2所示:

      表2 仿真測試環(huán)境配置

      3.2.1 存儲開銷分析

      存儲開銷分析如表3所示.其中,樹的叉數(shù)為b,樹的深度為d.經(jīng)典密鑰存儲方案指的是將加密密鑰逐一進(jìn)行分塊存儲.

      表3 存儲開銷分析 b

      圖10 存儲開銷占比

      以下通過采用4種不同叉數(shù)的密鑰哈希樹對比本文方案與原始方案的存儲開銷,如圖10所示.

      從圖10可知,密鑰樹的b較小時(shí),本文方案明顯優(yōu)于原始方案的存儲開銷,隨著d的增加,存儲開銷占比曲線會趨于平穩(wěn).同時(shí),本文方案密鑰存儲最小,占比下降至0.2以下,進(jìn)一步優(yōu)化了文獻(xiàn)[12]方案.

      3.2.2 計(jì)算開銷分析

      為對本文方案的計(jì)算開銷和性能進(jìn)行量化分析,接下來將該問題降維至密鑰分發(fā)和密鑰派生的輸入輸出(IO)問題,并測量2種IO數(shù)據(jù).

      1) 密鑰分發(fā)IO.

      圖11對比了文獻(xiàn)[12]方案和本文方案的密鑰分發(fā)IO情況,2種方案基本沒有差距,原因是通信消耗比密鑰派生的消耗要大得多.

      圖11 密鑰分發(fā)IO(叉數(shù)b=4)

      圖12 密鑰派生IO對比圖

      2) 密鑰派生IO.

      從圖12可以看出,挑選的派生樹叉數(shù)分別為2,3,4,5,6,7,相同的深度在不同的叉數(shù)上表現(xiàn)出來的密鑰派生IO情況基本一致,但相同叉數(shù)在不同的深度上表現(xiàn)出的密鑰派生IO與密鑰樹深度呈負(fù)相關(guān),深度越小,密鑰派生效率越高,因此密鑰派生的效率只與深度有關(guān),與叉數(shù)無關(guān).密鑰樹深度越小,需要哈希的次數(shù)就越少,所以當(dāng)d=2時(shí),由根密鑰直接派生出密鑰,不需要產(chǎn)生中間節(jié)點(diǎn)上的密鑰,此時(shí)的密鑰派生效率最高,密鑰派生的效率比文獻(xiàn)[12]有大幅度的提升.

      4 結(jié) 語

      受到文獻(xiàn)[12]方案啟發(fā),本文提出了一種基于密鑰派生矩陣的密鑰存儲管理方案,以解決由海量用戶保存的文件數(shù)據(jù)引起的大量密鑰管理問題.借助根密鑰一次派生即可獲得數(shù)據(jù)加密密鑰,并且只需管理根密鑰和密碼盒配置,降低了對密鑰存儲管理的負(fù)擔(dān).在經(jīng)過安全性分析、性能分析、實(shí)驗(yàn)測試后,證明本文提出的密鑰派生方案省去了中間節(jié)點(diǎn)的計(jì)算消耗,在存儲開銷和計(jì)算開銷方面明顯優(yōu)于現(xiàn)有方案.

      猜你喜歡
      密鑰密碼客戶端
      探索企業(yè)創(chuàng)新密鑰
      密碼里的愛
      密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
      密碼疲勞
      英語文摘(2020年3期)2020-08-13 07:27:02
      縣級臺在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
      傳媒評論(2018年4期)2018-06-27 08:20:24
      孵化垂直頻道:新聞客戶端新策略
      傳媒評論(2018年4期)2018-06-27 08:20:16
      基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
      電子測試(2018年10期)2018-06-26 05:53:34
      一種對稱密鑰的密鑰管理方法及系統(tǒng)
      基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
      密碼藏在何處
      波密县| 合川市| 连江县| 罗山县| 肥乡县| 铁岭县| 铜山县| 汉川市| 平南县| 攀枝花市| 泾阳县| 西盟| 绥阳县| 沁水县| 蕉岭县| 惠来县| 钦州市| 济阳县| 慈利县| 修武县| 湛江市| 牙克石市| 瓦房店市| 佛坪县| 什邡市| 颍上县| 土默特左旗| 福州市| 平和县| 新安县| 余干县| 阿鲁科尔沁旗| 公主岭市| 怀安县| 米林县| 鲁甸县| 扬州市| 奎屯市| 宣城市| 报价| 抚顺市|