999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于區塊鏈的云鏡像完整性監測方法

2023-07-13 02:28:26馬威曹劉洋菅朋朋
關鍵詞:方法

馬威,曹劉洋,菅朋朋

(1.華北水利水電大學 信息工程學院,鄭州 450046;2.重慶理工大學 兩江人工智能學院,重慶 401135)

近年來,云計算由于低成本、高可靠、高可用以及彈性可伸縮的優勢,在各行各業得到廣泛應用[1-2].快速部署是云計算中的關鍵技術之一,這一技術能夠按需動態組織云環境中的軟件、硬件資源,同時能及時響應用戶動態的、多樣化的計算需求.在當前的快速部署技術中,往往需要一個預定義的模板,其中包含了組織好的軟件資源,這一模板被稱為云鏡像.當用戶發起部署請求時,快速部署機制能夠基于云鏡像快速實例化用戶所需的云計算資源[3].例如在IaaS(Infrastructure as a Service)中,用戶獲得的是一個基于模板實例化的虛擬主機;在PaaS(Platform as a Service)中,用戶獲取的是一個基于模板實例化的容器.快速部署隨著這些年來云計算技術自身的發展而發展,如虛擬機克隆技術,能夠從運行態的父虛擬機中動態克隆得到一個新的虛擬機[4],或是運用fork函數的思想,利用父虛擬機并行克隆出大量子虛擬機,提高部署效率[5-6];Copy-On-Write技術也被運用在虛擬機的快速部署中,它僅傳輸模板中需要修改的數據塊,因此能夠極大提高部署的速度[7-8];有方法進一步將云鏡像的存儲也分布式化和虛擬化,使用存儲池和并行傳輸來進一步提高部署的速度[3,9-10].

關于快速部署的研究進展主要集中在效率方面[11],即如何使部署速度更快,以便更快捷地響應用戶的服務請求,而云鏡像則在快速部署中始終扮演不可或缺的核心角色.但是,云鏡像往往會成為攻擊者的攻擊目標.例如篡改云鏡像,在其中注入惡意代碼,進而構建僵尸網絡[12],最近幾年中,又頻繁出現攻擊者篡改云鏡像,植入挖礦軟件從而獲得經濟利益的事件[13].因此,對云鏡像的保護應當是云計算安全的重要一環.

對云鏡像的保護,主要體現在防止云鏡像被篡改,即確保云鏡像的數據完整性不會遭到破壞.而云計算環境中數據完整性的保護一直是研究重點之一,最普遍采用的方法是使用鏡像文件或數據文件的散列值對數據完整性進行監控,但這種傳統方法的效率低下,面對云計算環境中海量的鏡像數據處理速度無法滿足云環境的需求.在使用散列值的基礎上,引入了哈希鏈來確保數據完整性.文獻[14-15]使用了哈希鏈,并結合了其他密碼學技術提出了在分布式系統上的證書撤銷機制,能夠檢測到對數據塊修改和刪除的動機.但是基于哈希鏈的方法與傳統的基于散列值的方法類似,需要大量的驗證工作,難以適應數據量巨大的云環境.另一類廣泛運用的檢測數據完整性的方法是使用Merkel樹,Merkel樹是一種樹形結構,其中每個葉結點是數據塊的哈希,每個非葉子結點是其子結點的哈希.文獻[16-18]使用Merkel樹對云存儲中的數據進行了動態驗證,文獻[19-20]使用Merkel樹實現了云數據的保護和驗證.相比較于哈希鏈和傳統散列值的完整性驗證方法,Merkel樹最大的優點在于它可以通過對根節點的單次哈希運算實現對所有葉子節點(即對應的數據)的完整性驗證,能夠有效提高驗證效率,因此Merkel樹在完整性驗證中有著十分廣泛的應用.但是,由于Merkel樹是靜態構建的,與云計算環境中動態性的要求難以匹配.

近年來,區塊鏈技術的發展為完整性檢測提供了新的方法和思路.區塊鏈是隨著加密數字貨幣出現的一種數據結構,具有去中心化、時序性、安全可信等特點[21].在每一個區塊中,將不同的事務/交易進行哈希運算后,使用Merkel樹的形式進行存儲,確保了事務/交易的完整性;使用鏈式結構將區塊進行組織,讓信息可以動態追溯.從本質上而言,區塊鏈是一種不可篡改的賬本,保障數據完整性的核心內容相匹配,因此區塊鏈在數據完整性保護方面具有很強的研究意義[22].

在本文中,結合區塊鏈技術提出了一種云鏡像完整性監測方法.首先,對云環境中可用的云鏡像進行哈希運算,形成一棵Merkel樹并記錄在一個區塊中,該Merkel樹記錄了所有鏡像的哈希信息,通過對它根節點的驗證即可實現對所有鏡像的完整性驗證;然后,以一個固定的時間間隔重復上一步,并形成區塊鏈;最后,實時監控最新區塊中Merkel樹的根節點,發現變化則意味著有鏡像的完整性遭到了破壞,進而迅速定位被篡改的鏡像文件.方法的創新點主要體現在:(1)引入Merkel樹作為存儲云鏡像完整性信息的靜態數據結構;(2)使用區塊鏈機制實現云鏡像完整性的動態存證和可追溯;(3)通過實驗證明,本文提出的方法能夠帶來3%以上的性能提升.

1 云鏡像完整性問題分析及模型

1.1 問題分析

在云計算環境中,云鏡像主要用來快速實例化所需的虛擬機實例,單個云鏡像的生命周期如圖1所示.

云鏡像是云計算快速部署機制的核心.一般情況下,云鏡像會集中存儲在云鏡像服務器中,當收到用戶發起的部署請求后,云中的調度機制會尋找有足夠空閑資源的主機,然后將相應云鏡像復制(全部復制或使用Copy-On-Write機制部分復制)到目標主機,并使用該鏡像實例化虛擬機.云鏡像也支持云用戶之間和云服務提供商之間的共享.此外,云鏡像還會根據需求(軟件升級、安裝補丁等)進行更新.基于某個云鏡像實例化的虛擬機,其中必定包含和運行云鏡像中預置的軟件程序,因此對云鏡像進行篡改,在其中注入惡意軟件、僵尸程序或挖礦軟件,是針對云計算環境的一種有效攻擊手段,保護云鏡像的完整性至關重要.

1.2 攻擊者模型

首先分析攻擊者的目的.對于攻擊者而言,其目的主要在于:(1)利用云計算平臺可觀的算力來進行發起于網絡內或者網絡之間的惡意攻擊;(2)浪費云計算資源,直接損害云計算供應商的利益;(3)惡意占用云計算平臺算力資源,對云計算用戶造成間接的危害;(4)利用云計算海量的網絡資源和數據資源非法獲取云計算平臺中用戶的隱私數據,給云計算平臺企業、用戶和與之互聯的網絡主機帶來直接和間接的危害.攻擊者能力如表1所示.

表1 攻擊者能力

這一攻擊者模型的定義旨在明確攻擊者的目標、能力范圍,進而在這些基礎上設計方法.

2 基于區塊鏈的云鏡像監測方法

本文提出的方法可用算法1中的偽代碼描述.

算法1 云鏡像監測輸入:鏡像文件M(1)t,M(2)t,…,M(n)t輸出:被篡改的文件編號i1:if no New Block then2: MTt←MerkelTree(M(1)t,M(2)t,…,M(n)t)3: Build New Block with MTt4:end if5:MTt+δ←MerkelTree(M(1)t+δ,M(2)t+δ,…,M(n)t+δ)6:Nodet←MTt. RootNode7:Nodet+δ←MTt+δ.RootNode8:while Diff (Nodet,Nodet+δ)=TRUE do9: if Nodet is Leaf Node then10: return id of Nodet11: else12: Nodet←Nodet.ChildNode13: Nodet+δ←Nodet+δ.ChildNode14: end if15:end while

在這一方法中,主要包括以下幾個步驟:鏡像完整性度量步驟、區塊鏈構造步驟、鏡像完整性監測步驟和鏡像篡改檢測步驟.

2.1 鏡像完整性度量

方法的第一步,需要對鏡像進行完整性度量并構成區塊鏈所需的Merkel樹.在這一步所產生的Merkel樹中,其葉子節點與云環境中的鏡像一一對應,即每個葉子節點存放的是鏡像文件的哈希值.用M1,M2,…,Mn表示云環境中的n個鏡像,H(M)表示其對應的哈希值,則Merkel樹的葉子節點的內容分別為H(M1),H(M2),…,H(Mn).Merkel樹中非葉子節點中存放的哈希值,則由對其左右孩子節點的哈希值進行二次哈希得到,如M1和M2所對應的父節點中存放的內容為H(H(M1)‖H(M2)).最終產生的Merkel樹的結構如圖2所示.

由于Merkel樹是一棵完全二叉樹,而鏡像文件的數量未必滿足這一要求,因此在生成Merkel樹時,需要對樹的高度加以考慮.用h表示完整性度量得到的Merkel樹的高度,那么在n個云鏡像的情況下,必然有n≤2(h-1).為了生成高度最小的Merkel樹,需要遵循以下步驟:

(1)計算鏡像M1至Mn的哈希值,在Merkel樹的2(h-1)-1至2h-1+n-2葉子節點中存儲;

(2)使用空白值填充Merkel樹2h-1+n-1至2h-1-2的葉子節點;

(3)除葉子結點外的所有非葉子結點按照從最大非葉子結點遞減的順序遞歸地從其左右孩子的哈希值中計算出新的等長哈希值,逐層向上遞歸計算哈希值,最終計算到Root結點的哈希值.

經過這一過程構造的Merkel樹,其根節點中存儲的哈希值對所有鏡像的完整性敏感,即任何鏡像的修改都會導致根節點哈希的變化.

2.2 區塊鏈的構成

為鏡像文件生成相應的完整性度量Merkel樹后,可以進一步構造區塊鏈.在t0時刻,系統生成創世區塊;每隔一段時間,系統會重新為每個鏡像進行完整性度量,重構Merkel樹,并將新的Merkel樹打包到區塊鏈中.區塊及區塊鏈的結構如圖3所示.

每個區塊包含區塊頭和區塊體,其中區塊頭中包含當前的Merkel樹的根節點,以及指向前一個和后一個區塊的指針、時間戳和一個隨機數;區塊體則包含了當前Merkel樹的根節點以外的其他節點.系統在t0時刻生成創世區塊后,會在t1,t2,…,tm時刻生成區塊1,區塊2,區塊m等,其時間戳tk,k∈[1,m]被記錄在區塊頭中,區塊體則是在這個時刻重構的Merkel樹.為了防止TOCTOU(Time-Of-Check-Time-Of-Use)攻擊,系統通過調整隨機數的計算難度來控制區塊產生的速度,即區塊產生的時間間隔δ=t1-t0=t2-t1=…=tm-tm-1是一個恒定值,且需要根據云鏡像的具體情況確定其具體取值.

在本文提出的方法中,Merkel樹保存了靜態的云鏡像完整性信息,區塊鏈則實現了信息的動態存證.

2.3 鏡像完整性監測

在構造了相應Merkel樹和區塊鏈的基礎上,可以對當前時刻鏡像庫中的云鏡像完整性進行監測.監測的目的在于確認云鏡像沒有被篡改,由于區塊鏈中Merkel樹的存在,因此對所有鏡像完整性的監測主要在于對Merkel樹根節點的監測.首先,方法依據時間戳檢查當前區塊的生成時間,即檢查最新區塊是否生成:如果最新區塊尚未生成,則生成最新區塊;如果最新區塊已經生成,則從最新區塊中讀取當前Merkel樹中根節點中存儲的哈希值,監測最新區塊中的一根哈希與前一個區塊相比是否變化;當監測到根哈希變化時,由于Merkel樹的特性,即可認為是某個鏡像被篡改,進而啟動檢測機制對篡改進行檢測.

2.4 鏡像篡改檢測

當監測機制發現了鏡像篡改后,會啟動檢測機制定位被篡改的鏡像.首先,依據現有鏡像構建新的Merkle樹,將其根結點與當前區塊中Merkle樹的根節點進行對應比較,如果這兩結點的哈希值相同的話,則認為沒有發生篡改;如果這兩結點的哈希值不同的話,則需要進行進一步的判斷:先判斷此結點是否為Merkle樹的葉子結點,如是,則該節點對應的鏡像文件已經遭到篡改;如果此結點不是葉子結點,則分別對此結點的左孩子結點和右孩子結點進行以上判斷.通過這種遞歸式的判斷,進而定位到被篡改的鏡像文件所對應的葉子節點.

3 性能分析及討論

3.1 時間復雜度分析

本文從遍歷、監測和監測3個角度分析時間復雜度.在有n個云鏡像的云環境中,之前的方法中使用傳統哈希值或文獻[10-11]中使用的哈希鏈方法對云鏡像的完整性驗證時,由于兩者均為線性結構,因此遍歷需要逐一處理,其時間復雜度為O(n);監測鏡像完整性時,需要逐一比對,因此監測的時間復雜度也是O(n);檢測被篡改的鏡像文件時,同樣需要逐一處理,因此時間復雜度是O(n).而本文提出的方法,在遍歷時,首先需要為每個鏡像進行完整性計算并建立Merkel樹,因此時間復雜度是O(n);在監測鏡像文件是否被篡改時,由于Merkle 樹的良好性質,僅需比對根結點處的哈希值,因此在鏡像文件的監測階段時間復雜度僅為O(1).當發現根節點的變化,即需要檢測和定位具體的被篡改鏡像時,會依據上述流程執行遞歸操作:

(1)讀取根結點的內容;

(2)判斷根結點內容是否發生了變化,若沒有變化則結束,若有變化則執行(3);

(3)若此節點為葉子結點,則此結點對應鏡像文件遭到篡改,否則將此結點的左右孩子結點分別帶入(2)中進行判斷.

圖4描述了一個定位兩個被篡改鏡像的示例.在圖4所示的例子中,鏡像和被篡改了.重構Merkel樹后,首先,方法會發現根結點的哈希值變化;然后,方法會尋找根結點的孩子結點即A結點和B結點,比對其值與當前區塊中的對應節點的值,發現A結點的值發生了變化而B結點的值并未改變,這意味著篡改發生在A 結點的子孫結點;然后,方法再進一步比對A結點的孩子結點,即C結點和D結點.這樣逐步遞歸,可以最終定位到被篡改的鏡像文件.這一檢測過程實質上是完全二叉樹的查找過程,其時間復雜度為O(log2n).表2總結了之前文獻中使用哈希值或哈希鏈的方法與本文提出方法的時間復雜度的對比.

表2 時間復雜度對比

3.2 實驗測試

本文實現了一套原型系統以進一步驗證所提出方法的性能.原型系統使用以太坊構建私有區塊鏈,部署5個結點完成共識,選用PoA(Proof of Authority)共識機制.其中創世區塊文件中的period參數被設置為300,即區塊產生的時間間隔被設置為5 min(300 s).因此,當前的云鏡像每5 min會進行一次完整性檢查,構造Merkel樹并生成一個新的區塊.原型系統中準備了3種不同的云鏡像文件:(1)Windows鏡像文件,可用于快速部署Windows虛擬機;(2)RedHat Linux鏡像文件,可用于快速部署Linux虛擬機;(3)CentOS鏡像,其中內置了LAMP程序,可用于快速部署LAMP環境.這些云鏡像文件的大小各不相同,通過組合這3種云鏡像,實驗在原型系統中模擬了3種應用場景,以檢驗方法的性能,其中場景1包含兩個CentOS鏡像以及RedHat鏡像和Winows鏡像各1;場景2包含兩個CentOS鏡像和5個RedHat鏡像;場景3包含4個CentOS鏡像、10個RedHat鏡像以及4個Windows鏡像.實驗分別計算了在這3種場景下構建Merkel樹和定位被篡改的鏡像文件時的時間開銷,以驗證方法的性能,實驗結果如圖5所示.

圖5中的實驗結果顯示,當云鏡像規模的增長時,構建Merkel樹的時間還是定位篡改文件的時間開銷都會隨之增加.而在所有的場景下,本文提出的方法的性能表現都要優于之前基于哈希值或哈希鏈的方法,并且云鏡像的規模越大,本文方法所表現出來的優越性越強,例如在構建Merkel樹的時間開銷上,在場景1即云鏡像總規模為10.2 GB時,本文方法相對于之前的方法有約0.5%的性能優勢,而在場景3即云鏡像總規模為50 GB時,本文方法則表現出了約3.25%的性能優勢.這表明了本文提出的方法更適用于大規模存儲的環境,例如云鏡像的集中存儲環境.此外,在原型系統的區塊鏈環境中,5個參與結點僅用于完成PoA共識,將鏡像的哈希信息記錄在Merkel樹中并在新生成的區塊中存儲,并不涉及代幣的交易或智能合約的運行,同時也沒有PoW(Proof of Work)共識機制下的“挖礦”活動,因此不會產生區塊鏈系統內部資源(如gas)的消耗.

3.3 討論

下面從安全性、可追溯性和可擴展性三方面對本文提出的方法進行討論.

安全性:本文提出方法的監測與檢測過程都依賴于預先構建的Merkel樹,該Merkel樹存放在區塊鏈數據結構中,而區塊鏈防篡改的特性決定了這一Merkel樹是無法被非法修改的.同時,方法可以通過調整δ的取值來規避TOCTOU攻擊,確保無法在區塊生成的間隙實施攻擊.此外,根據1.2中定義的攻擊者模型,攻擊者不具有攻擊區塊鏈機制的知識和能力.因此,本文所提出方法的安全性是可以保證的.

可追溯性:本文提出的方法中,區塊是依據同樣的時間間隔逐一生成的,這種時序特性賦予了方法可追溯性.當檢測到當前區塊的完整性變化時,表明攻擊行為發生在當前區塊建立之前,前一個區塊建立之后,因此能夠通過完整性檢測確定系統遭受攻擊的時間.此外,鏡像的完整性信息按照時間順序被保存在區塊鏈中,作為存證便于系統在遭受攻擊后恢復被篡改的鏡像.

可擴展性:區塊鏈去中心化的特性使得本文提出的方法具有可擴展性.在真實的云環境中,云鏡像往往采用分布式儲存的方法進行部署.在這種情況下,本文的方法可以調整為:各個存儲節點共同維護一個區塊鏈,單個存儲節點為自己維護的鏡像文件構建Merkel樹,獲取區塊鏈的記賬權,生成新的區塊并最終組成區塊鏈;其中,對單個存儲節點而言,其所維護的云鏡像所對應的區塊按照固定時間間隔生成,記作δ1;對于整個區塊鏈而言,兩個相鄰區塊的生成時間間隔也是固定值,記作δ2.通過調整δ1和δ2的取值,可以確保區塊鏈有序地對所有存儲節點中存儲的鏡像文件進行完整性存證,同時也支持新存儲節點的動態加入和動態離開,即實現了擴展性.

4 結 論

本文研究了一種云鏡像完整性監測方法,基于Merkel樹技術和區塊鏈技術對云鏡像文件的完整性實施動態監測和篡改檢測.其中,借助于Merkel樹的特性,本文提出的方法實現了高效率的完整性監測;區塊鏈在本文提出的方法中,體現出了時序性、分布式和防篡改的特性,借助于這些特性,使得本文提出的方法是一種安全、可追溯及可擴展的方法.通過實驗和分析,驗證了本文提出的方法在效率上優于傳統方法.在未來的工作中,將著力于解決方法在動態性方面尚存的不足.

猜你喜歡
方法
中醫特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數學教學改革的方法
河北畫報(2021年2期)2021-05-25 02:07:46
化學反應多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 中文字幕 欧美日韩| 91外围女在线观看| 免费毛片全部不收费的| 啪啪免费视频一区二区| 国产乱人免费视频| 亚洲天堂视频在线观看免费| 国产亚洲精品资源在线26u| 久久婷婷色综合老司机| 国产午夜不卡| 国产精品lululu在线观看| 亚洲丝袜第一页| 日本免费福利视频| 国产精品第三页在线看| 国产微拍一区二区三区四区| 91成人在线观看| 四虎国产精品永久在线网址| 久久精品国产国语对白| 国产又黄又硬又粗| 国产成人欧美| 成人福利在线视频免费观看| 久久夜色精品国产嚕嚕亚洲av| 自拍偷拍欧美| 69视频国产| 精品久久国产综合精麻豆| 亚洲香蕉久久| 色有码无码视频| 中国精品自拍| 91毛片网| 毛片大全免费观看| 91免费在线看| 国产综合精品一区二区| 亚洲福利视频网址| 国产成人a在线观看视频| 国产成人亚洲毛片| 18黑白丝水手服自慰喷水网站| 亚洲第一福利视频导航| 午夜久久影院| 国产人妖视频一区在线观看| 久久久久免费看成人影片| 国产精品成人AⅤ在线一二三四| 国产精品永久久久久| 日韩天堂网| 欧美一区国产| 国产精品林美惠子在线播放| 青青草一区二区免费精品| 亚洲天堂啪啪| 91福利片| 日韩在线视频网| 亚洲精品波多野结衣| 亚洲国产天堂在线观看| 2021国产精品自产拍在线| 国产超薄肉色丝袜网站| 亚洲综合欧美在线一区在线播放| 亚洲中文字幕国产av| 亚洲人成网站18禁动漫无码| 波多野结衣中文字幕久久| 国产伦精品一区二区三区视频优播 | 久久久久久久久18禁秘| 欧美α片免费观看| 日韩在线观看网站| 国产在线自乱拍播放| 凹凸精品免费精品视频| 色综合天天综合中文网| 国产精品毛片一区视频播| 搞黄网站免费观看| 中文字幕有乳无码| 亚洲视频在线网| 九九热在线视频| 婷婷色中文网| 中文字幕av无码不卡免费| 亚洲无码久久久久| 在线看片免费人成视久网下载| 91探花在线观看国产最新| 在线观看欧美精品二区| 2048国产精品原创综合在线| lhav亚洲精品| 538国产在线| 欧美日韩国产成人高清视频| 亚洲精品爱草草视频在线| 亚洲久悠悠色悠在线播放| 99久久成人国产精品免费| 东京热一区二区三区无码视频|