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

?

基于ECC和AES的區(qū)塊鏈云存儲框架設計

2022-06-23 10:59藍永勝馮文健
計算機工程與設計 2022年6期
關鍵詞:密鑰加密框架

藍永勝,馮文健,黃 力

(1.桂林航天工業(yè)學院 網(wǎng)絡與信息化管理中心,廣西 桂林 541004;2.柳州鐵道職業(yè)技術(shù)學院 基礎教育學院,廣西 柳州 545616;3.廣西科技大學 計算機與通信工程學院,廣西 柳州 545002)

0 引 言

隨著科學技術(shù)的迅猛發(fā)展,互聯(lián)網(wǎng)中新的安全問題不斷出現(xiàn),雖然云環(huán)境為人們帶來很大便利性,但需要通過隱私保護技術(shù)確保數(shù)據(jù)安全,防止來自外部和內(nèi)部的篡改和攻擊[1,2]。通常,信息安全機制一旦出現(xiàn)漏洞會造成巨大損失,因此,在客戶端和云服務之間建立的隱私機制迫切需要更新和完善。

針對這些隱私安全問題,有必要研究去中心化技術(shù)[3]。云環(huán)境可從區(qū)塊鏈中獲得收益,是因為區(qū)塊鏈具有防篡改性,支持數(shù)據(jù)審核,在保持隱私性的同時保存數(shù)字資產(chǎn)[4]。相關研究也表明[5,6],身份驗證是安全機制的基礎,采用區(qū)塊鏈技術(shù)能夠提高證書授權(quán)的安全性,有助于抵御分布式拒絕服務(DDOS),并防止用戶數(shù)據(jù)被操縱。如Darwish等[7]提出一種基于區(qū)塊鏈的訪問控制系統(tǒng),解決了數(shù)據(jù)的定制訪問問題。Sartekin等[8]提出了一種隱式數(shù)據(jù)安全方案,以處理云環(huán)境中不安全連接通信和數(shù)據(jù)收集所引發(fā)的隱私問題。Wang等[9]提出了去中心化的區(qū)塊鏈信息管理方案來實現(xiàn)醫(yī)療數(shù)據(jù)的安全存儲。由于集中式架構(gòu)難以透明安全地處理海量數(shù)據(jù),Zhao等[10]提出了使用區(qū)塊鏈技術(shù)的智能IoT網(wǎng)絡的保護方案,通過區(qū)塊鏈進行無縫的數(shù)據(jù)處理。Wei等[11]利用區(qū)塊鏈確保正確的交易授權(quán)和審核,維護數(shù)據(jù)完整性,減少外部攻擊威脅。

為確保數(shù)據(jù)完整性和可靠性,提高用戶隱私性,本文提出一種混合算法進行數(shù)據(jù)加密,利用區(qū)塊鏈技術(shù)來保持數(shù)據(jù)完整性。實驗結(jié)果表明,該方法具有較好的安全性和實用性。本文主要創(chuàng)新總結(jié)如下:①將橢圓曲線加密(ECC)和高級加密標準(AES)進行混合,并引入了使用用戶憑證的密鑰生成技術(shù);②將混合算法與定制化區(qū)塊鏈相結(jié)合,解決了云存儲架構(gòu)中的主要隱私問題。

1 本文系統(tǒng)基本框架

1.1 框架說明

一般云存儲架構(gòu)如圖1所示,其中,可信第三方作為用戶和云服務器之間的媒介而存在,用于保障數(shù)據(jù)完整性和隱私性。很多研究表明,任何隱私保護方法都應該考慮4個隱私概念/標準[12]:①數(shù)據(jù)私密性;②信任;③性能高效;④驗證。

圖1 一般云存儲服務架構(gòu)

本文框架結(jié)構(gòu)如圖2所示。本文在云結(jié)構(gòu)內(nèi)引入了一個新的層,建立在虛擬機上,作為云基礎設施的一個虛擬層,提高用戶和企業(yè)在使用云服務時的隱私性。虛擬機采用去中心結(jié)構(gòu),創(chuàng)建多個節(jié)點以利用事務ID與數(shù)據(jù)中心進行記錄認證。區(qū)塊鏈的作用是驗證數(shù)據(jù)的正確性,并針對簽名和加密數(shù)據(jù)之間的匹配準確度生成審核報告。區(qū)塊鏈網(wǎng)絡基于TCP/IP協(xié)議,由加密的分布式共享賬本和P2P網(wǎng)絡實現(xiàn),本文的區(qū)塊鏈實際網(wǎng)絡結(jié)構(gòu)如圖2下方所示。

圖2 本文框架

所提框架的關鍵之處是建立了服務器端的加密和用戶管理密鑰,針對每個用戶生成唯一密鑰對。不同于客戶端處用戶憑證的其它密鑰,該用戶密鑰以遠離云服務提供商的方式完成,從而提高了用戶隱私性,集成的去中心化方法確保了可擴展性、數(shù)據(jù)完整性和隱私性。

1.2 前 端

用戶接口是一個web應用,使用戶可以訪問并利用各種類型的云服務。當用戶從云服務模型中請求軟件服務時,SaaS確認請求,帶回所請求的服務,并向IaaS發(fā)送請求以獲得軟件實例[13]。IaaS提供商與SaaS提供商可能相同,也可能不同。一旦請求得到確認,本文框架即選擇提供隱私服務,在云上存儲數(shù)據(jù)之前,先在服務器端部署一個加密層,該程序在客戶端執(zhí)行。用戶選擇隱私選項后,用戶憑證自動生成一個密鑰作為種子,并使用用戶的憑證參數(shù)作為隨機引擎的輸入以生成密鑰對。

在SaaS中部署隱私層,由此在發(fā)起服務請求時,從軟件層將其推送到基礎設施層。本文在將數(shù)據(jù)外包到第三方云端之前,先利用增強AES和ECC進行數(shù)據(jù)加密。同理,要下載數(shù)據(jù)時,先利用私鑰進行數(shù)據(jù)解密,再將數(shù)據(jù)存儲在本地數(shù)據(jù)。

1.3 后 端

后端是本文系統(tǒng)的核心,建立虛擬機作為云基礎設施的虛擬層,并實施區(qū)塊鏈。在將加密數(shù)據(jù)散列為固定長度后,將加密數(shù)據(jù)存儲到區(qū)塊中。將包含區(qū)塊散列值、時間戳和工作量證明的所有事務存儲到服務器端的區(qū)塊中,區(qū)塊中的每個記錄屬于一個特定數(shù)據(jù)持有者。為此,本文開發(fā)了一個云審核器,以模擬云內(nèi)的事務,將加密數(shù)據(jù)散列出的簽名與事務元數(shù)據(jù)相比較(周期性地進行數(shù)據(jù)和簽名的匹配),檢查鏈中的數(shù)據(jù)完整性,從而確保數(shù)據(jù)完整。

在虛擬機中采用去中心結(jié)構(gòu),這樣就可以創(chuàng)建多個節(jié)點以利用事務ID(TX-ID)與數(shù)據(jù)中心進行記錄認證。最后,在下載數(shù)據(jù)時,區(qū)塊鏈驗證數(shù)據(jù)的正確性,并針對簽名和加密數(shù)據(jù)之間的匹配準確度生成審核報告。前端和后端部分按順序執(zhí)行,首先將數(shù)據(jù)上傳到云引擎,利用密鑰管理分發(fā)來創(chuàng)建簽名,最后將數(shù)據(jù)下載到數(shù)據(jù)持有者的設備中。

在IaaS服務模型中納入由增強AES和ECC算法組成的隱私層,用戶通過向平臺請求特定服務與SaaS層進行交互。建立隱私層后,虛擬機被觸發(fā),在客戶端生成一對密鑰,使得客戶能夠利用自身的憑證對其密鑰進行管理。隱私層將在生成密鑰后啟動,從而在云數(shù)據(jù)中心對上傳數(shù)據(jù)進行加密。該階段將對密鑰對進行加密;但AES密鑰保持隱藏狀態(tài),以便利用ECC算法對密鑰進行秘密分發(fā)。

最后,利用散列函數(shù)將加密數(shù)據(jù)散列為數(shù)字簽名,并保存在區(qū)塊中。云審核器能夠始終自動檢查數(shù)據(jù)完整性。下文給出了在云存儲基礎設施上建立區(qū)塊鏈的混合算法的步驟。

2 云存儲中的區(qū)塊鏈混合算法

2.1 密鑰生成

使用SHA256算法,從用戶的私鑰密碼中生成一個散列值?;谟脩魬{證,使用該散列值作為隨機數(shù)發(fā)生器的種子。種子生成用于ECC算法的密鑰對,作為硬編碼的公共指數(shù)。此外,每個用戶的用戶憑證具有唯一性,通過輸入用戶憑證就可以得到密鑰對。

2.2 AES算法

構(gòu)建隱私層時,首先利用對稱算法,基于隨機數(shù)生成器(RNB)生成密鑰,以加密上傳到云端,且該對稱算法用于數(shù)據(jù)流。雖然AES算法有著不同的密鑰大小,但本文使用了128位密鑰,數(shù)據(jù)塊大小為相同長度。使用AES進行10次迭代的數(shù)據(jù)加密,其中包含4個主要操作:①字節(jié)替換;②行移位;③混合列;④輪密鑰異或。解密過程是使用相同參數(shù)的逆過程。

2.3 ECC算法

本文使用對稱算法對AES密鑰進行加密,以生成不易泄漏且便于在用戶和云提供商之間進行密鑰分發(fā)的密鑰對。根據(jù)用戶憑證,選擇[1,n-1]之間的一個隨機數(shù)R1,該隨機數(shù)作為發(fā)送方的私鑰。設:P表示有限域的規(guī)定;R2表示基于用戶憑證的隨機數(shù);G表示發(fā)生器;A,B表示系數(shù);K表示安全密鑰;M表示曲線上的點。

ECC中的步驟如下:

步驟1 對隨機數(shù)發(fā)生器RBG進行初始化。

步驟2 發(fā)送方利用以下公式生成公鑰

PA=R1*G

(1)

步驟3 接收方選擇私鑰R2,并使用以下公式生成公鑰

PB=R2*G

(2)

步驟4 發(fā)送方生成一個安全密鑰

K=R1*PB

(3)

接收方也生成一個安全密鑰

K=R2*PA

(4)

加密階段,其步驟具體如下:

步驟1 設L為橢圓曲線上的一些點。

步驟2 發(fā)送方從[1,n-1]中選擇一個隨機數(shù)。

步驟3 生成的密文數(shù)據(jù)為一對點(B1,B2),其中

(5)

式中:q為一個素數(shù),用于限定有限域的范圍。

解密階段,主要是計算B1及其私鑰,然后提取B2,以得到原始消息

M=B2-(dB*B1)

(6)

式中:d為橢圓曲線加密的系數(shù)。

2.4 去中心化技術(shù)

區(qū)塊鏈包含按時間排序、用于存儲數(shù)據(jù)事務的區(qū)塊。每個區(qū)塊包含散列碼、時間戳、事務集和工作量證明等,并通過不可更改的散列碼與上一個區(qū)塊相鏈接,其結(jié)構(gòu)如圖3所示,且區(qū)塊鏈上的數(shù)據(jù)不可修改,可以審計。第一個區(qū)塊被稱為“創(chuàng)世”區(qū)塊,用于初始化,在軟件內(nèi)利用非先驗參考硬編碼而得到。插入到區(qū)塊鏈內(nèi)的數(shù)據(jù)需要取得大部分節(jié)點的共識,且在得到所有方的接受后數(shù)據(jù)不可被刪除或更改[14]。

圖3 區(qū)塊鏈結(jié)構(gòu)

區(qū)塊鏈的一個最重要特征是:無法通過對區(qū)塊頭的解密得到數(shù)據(jù)事務的原始數(shù)據(jù),其應用不限于加密貨幣,還可容納其它信任系統(tǒng),例如智能合約、云存儲和ID系統(tǒng)等。其關鍵特征包括[15]:①防篡改;②用戶隔離;③去中心化結(jié)構(gòu);④事務透明性;⑤散列碼不變;⑥銜接性;⑦用戶匿名性;⑧實時同步;⑨數(shù)據(jù)保護。共識機制是區(qū)塊鏈的重要模塊,目標流行的共識機制有工作量證明機制(POW)、PBFT和DPOS等。本文采用POW,其思想是分布式網(wǎng)絡中的每個節(jié)點都去競爭,由最快計算出結(jié)果的節(jié)點創(chuàng)建新塊,并進行驗證和交易。本文框架利用區(qū)塊鏈的技術(shù)優(yōu)勢,每個用戶分配一個唯一的簽名,從而將該數(shù)據(jù)與其它用戶的數(shù)據(jù)區(qū)分開,增強了云端的數(shù)據(jù)完整性。

綜上所述,在發(fā)起服務請求并發(fā)送到云端后,啟動隱私層。通過原始密鑰長度推導出的輪密鑰加入加密數(shù)據(jù)流,然后在加密過程中使用AES算法進行字節(jié)替換、混合列和行移位操作。該程序迭代10次以提供要存儲在數(shù)據(jù)中心的密文數(shù)據(jù)。同時,將ECC生成的160位密鑰與AES的密鑰合并,通過在云環(huán)境中SaaS和IaaS層之間的密鑰對交換,實現(xiàn)更高的安全等級。

ECC中的RBG基于用戶憑證,從能夠顯著提高隱私性的曲線中生成唯一性密鑰對,即私鑰Pr和公鑰Pr*G。利用公鑰對密鑰進行加密,使其無法被云服務提供商或攻擊者所讀取。此外,區(qū)塊鏈根據(jù)數(shù)據(jù)的時間戳、用戶ID和散列碼對數(shù)據(jù)進行散列,以生成存儲在事務集中的數(shù)字簽名。因此,針對一個特定用戶的一次數(shù)據(jù)事務,每個區(qū)塊鏈在散列過程后將數(shù)字簽名保存一次,作為云審核器的索引或參考,通過云審核器進行數(shù)據(jù)完整性檢驗。云存儲中的數(shù)據(jù)中心通過事務ID與公共區(qū)塊鏈的去中心化層通信,以驗證區(qū)塊,確保加密數(shù)據(jù)完整性,并在解密前進行授權(quán)。最后,在收到下載任務請求后,通過ECC私鑰對AES密鑰解密,使用密鑰對數(shù)據(jù)流解密。在該過程中,云審核器在下載前進行簽名比對,以驗證數(shù)據(jù)的正確性和可靠性。

3 實驗與分析

本文框架建立在云服務基礎設施的虛擬云上。在IaaS服務模型的虛擬機上進行整合,并部署了與實際平臺環(huán)境和屬性容器相同的網(wǎng)絡層。使用跨平臺語言創(chuàng)建虛擬環(huán)境,然后,基于虛擬數(shù)據(jù)中心,將虛擬環(huán)境分為軟件層和基礎設施服務層,以進行數(shù)據(jù)處理和外包。此外,在虛擬機中創(chuàng)建區(qū)塊集合,與混合算法共同使用。使用公共區(qū)塊鏈的Solicdity OPP、JavaSCript ES5和Hypertext Preprocessor 5.6以構(gòu)建本文系統(tǒng)。仿真環(huán)境創(chuàng)建2臺云服務器和6臺虛擬機,以模擬本文系統(tǒng),并通過反復多次實驗來驗證結(jié)果。

3.1 隱私性分析

實驗使用自動開源工具對系統(tǒng)進行1000次攻擊,模擬在面臨竊取數(shù)據(jù)或篡改加密數(shù)據(jù)時,IaaS內(nèi)的云數(shù)據(jù)狀態(tài)。實驗比較了所提系統(tǒng)與證書數(shù)字簽名解決方案[16]的結(jié)果。表1給出了針對數(shù)據(jù)中心加密數(shù)據(jù)的不同攻擊的檢測結(jié)果,這些攻擊包括內(nèi)部攻擊、外部攻擊和合并攻擊。實驗結(jié)果表明,在加密和解密程序之外,隱私層使用區(qū)塊鏈技術(shù),通過將虛假簽名與原始簽名進行比對檢驗,多次成功檢測到了風險。在100次竊取和篡改數(shù)據(jù)的攻擊中,僅3次攻擊未被檢測到。因此,通過去中心化技術(shù)實現(xiàn)了97%的成功檢測率,而文獻[16]僅實現(xiàn)95%的檢測率。

表1 針對不同類型攻擊的實驗結(jié)果

因此,本文框架能夠較好保護用戶隱私,成功防范系統(tǒng)中攻擊者97%的入侵。這得益于本文系統(tǒng)利用區(qū)塊鏈檢查散列碼,以檢測存儲數(shù)據(jù)中的變化,確保數(shù)據(jù)的完整性和隱私性。以下為實驗中使用的攻擊描述及分析:

3.1.1 中間人攻擊

中間人攻擊[17]是指攻擊者位于通信兩方(即客戶端和云服務提供商(CSP))之間,攻擊者嘗試使客戶方的數(shù)據(jù)暴露,并竊取敏感信息,并冒充第二方,建立獨立連接,嘗試欺騙第三方直接向其發(fā)送消息。本文框架能夠防御此類攻擊,因為敏感數(shù)據(jù)將使用混合密鑰系統(tǒng)(在整個過程中使用AES,在密鑰分發(fā)管理中使用ECC)進行加密。攻擊者無法將密文數(shù)據(jù)還原為原始數(shù)據(jù),區(qū)塊鏈架構(gòu)則使用事務ID,在兩方之間進行身份驗證,以保護通信安全。因此,本文框架能夠抵御各種類型的攻擊。

3.1.2 分布式拒絕攻擊

分布式拒絕服務[18](DDOS)是指攻擊者利用各種惡意木馬,入侵數(shù)據(jù)并感染系統(tǒng)。DDOS是IT領域中最常見的網(wǎng)絡威脅之一。本文框架使用區(qū)塊鏈技術(shù)作為帶智能合約的分布式數(shù)據(jù)結(jié)構(gòu),因此可以抵御此類攻擊。智能合約包括匹配散列ID,并認證TX-ID,且這些合約并不支持物理訪問。

3.1.3 云服務提供商攻擊

第三方代表用戶控制數(shù)據(jù),其可能會非法使用用戶數(shù)據(jù),例如將數(shù)據(jù)出售至其它公司。為了對數(shù)據(jù)進行惡意操作,數(shù)據(jù)在云服務器中需要表現(xiàn)為未混淆的明文形式。由于本文方案中,通過混合算法將數(shù)據(jù)以不可讀取的方式做了加密,因此,服務提供商無法獲得原始數(shù)據(jù),這樣就保證了用戶的隱私安全。

3.2 吞吐量分析

云存儲中,吞吐量是系統(tǒng)性能的重要指標之一。網(wǎng)絡吞吐量的計算公式為

TH=pt·sp/t

(7)

式中:pt表示成功發(fā)送數(shù)據(jù)包數(shù)量之和;sp表示平均數(shù)據(jù)包大?。籺表示發(fā)送數(shù)據(jù)的總時間。

實驗比較了所提框架與文獻[6]、文獻[7]方案在吞吐量方面的性能,文件大小從10 MB到100 MB,其結(jié)果如圖4所示。其中,文獻[6]在區(qū)塊鏈上構(gòu)建可問責的完整性證明,以智能合約替代第三方審計;文獻[7]將數(shù)據(jù)控制存儲在無需任何第三方參與的云環(huán)境。由圖4可知,所有方法中,文件大小均會直接影響到吞吐量。其中,文獻[6]和文獻[7]在相同大小文件情況下,其吞吐量均低于本文框架,這主要是因為本文框架通過在IaaS設置了隱私虛擬層,采用去中心結(jié)構(gòu),這樣就可以創(chuàng)建多個節(jié)點以利用事務ID,并針對簽名和加密數(shù)據(jù)之間的匹配準確度生成審核報告。虛擬層的去中心化結(jié)構(gòu)提高了數(shù)據(jù)驗證的效率。而文獻[6]和文獻[7]均屬于不帶隱私層的云存儲方案,甚至需要第三方仲裁機構(gòu)的參與,效率較低。

圖4 吞吐量比較

3.3 延遲分析

延遲是云存儲設計的另一個重要指標,其定義如下

delay=τd-τs

(8)

式中:τd表示數(shù)據(jù)以分組形式傳輸數(shù)據(jù)時到達目的地的時間戳,表示源時間戳。

實驗模擬并比較了所提框架與文獻[6]、文獻[7]的結(jié)果,區(qū)塊的大小是影響延遲的關鍵因素,實驗中的區(qū)塊大小從100 KB到800 KB,各框架的差異比較結(jié)果如圖5所示??梢钥闯?,隨著塊大小的增加,所有框架的延遲都逐步增加。一般而言,200 ms到450 ms之間的延遲都是可以接受的。因此,所比較框架的延遲都是可接受的。但本文框架的延遲最低,這主要是因為虛擬層集成在IaaS中,在發(fā)起服務請求時,從軟件層將其推送到基礎設施層,其速度更快。

圖5 延遲比較

此外,區(qū)塊并不用于將整個加密數(shù)據(jù)存儲為事務集,而是僅存儲簽名、時間、區(qū)塊散列碼和工作量證明。區(qū)塊大小的增加會影響到云基礎設施內(nèi)的延遲。由圖5可知,對于所提框架,200 KB到500 KB的曲線平坦,斜率較低,因此,可以將該區(qū)間設置為最大區(qū)塊大小的閾值區(qū)間。

3.4 關于可擴展性問題

云存儲中,可擴展性是指資源增長時的系統(tǒng)性能,或者資源使用隨負荷請求的增加情況。因此,可擴展性是衡量云環(huán)境中服務質(zhì)量(QoS)的關鍵??蓴U展性使得服務提供商可以實時評估隱私層是否有能力處理當前的用戶請求。實驗在使用3個以太坊節(jié)點的區(qū)塊鏈網(wǎng)絡上進行,當請求數(shù)量分別為0、10、20、50、70、80、90、100時,資源使用率分別為0%、50%、100%、140%、205%、230%、250%、290%。本文框架的可擴展性如圖6所示。可以看出,本文框架能夠根據(jù)不同數(shù)量的事務和資源使用情況進行擴展。

圖6 可擴展性測量結(jié)果

3.5 上傳/下載時間比較

本實驗將比較所提框架與SpiderOak云[19](版本5.1.6)在下載和上傳數(shù)據(jù)時所需時間,后者云平臺上進行數(shù)據(jù)加密和解密。使用秒表計算兩個系統(tǒng)的下載和上傳數(shù)據(jù)時間。實驗帶寬為100 Mbps,并使用了不同類型的文件(如PDF、Doc、Docx、JPG、BMP等)。實驗涉及到超過200個文件,大小從1 MB到100 MB(100 MB為虛擬化緩沖器的最大容量)。表2給出了上傳時間。下載時間的比較見表3。在相同設備和帶寬下執(zhí)行該實驗,由此進行公平比較。實驗結(jié)果表明,與當前解決方案相比,所提框架效率更高,平臺靈活度更好。

表2 上傳時間比較

表3 下載時間比較

4 結(jié)束語

本文提出了實施在基礎設施虛擬機中的基于區(qū)塊鏈的混合算法。服務實例中包含加密引擎,利用新生成的種子和散列部分,以實現(xiàn)在區(qū)塊鏈技術(shù)中保留數(shù)字簽名。通過云審核器在去中心化平臺中執(zhí)行授權(quán),可保護加密數(shù)據(jù)免受來自云服務提供商內(nèi)部的攻擊。本文基于數(shù)據(jù)隱私性、完整性等進行了性能評估。實驗結(jié)果表明,所提框架的去中心化分布式部署能夠?qū)崿F(xiàn)優(yōu)于一些以往方案的效率,具有一定可行性和有效性。未來,本文將考慮在真實數(shù)據(jù)中心和基礎服務層設施中應用所提框架,并研究與虛擬仿真結(jié)果的異同。

猜你喜歡
密鑰加密框架
有機框架材料的后合成交換
一種新型離散憶阻混沌系統(tǒng)及其圖像加密應用
幻中邂逅之金色密鑰
幻中邂逅之金色密鑰
框架
密碼系統(tǒng)中密鑰的狀態(tài)與保護*
一種基于熵的混沌加密小波變換水印算法
TPM 2.0密鑰遷移協(xié)議研究
加密與解密
關于原點對稱的不規(guī)則Gabor框架的構(gòu)造