楊照峰, 張睿哲,趙偉艇
(1.平頂山學院 軟件學院,河南 平頂山,467002;2.平頂山學院 計算機科學與技術學院,河南 平頂山,467002)
一般來講,云端由多個云計算服務提供商共同組建.從系統(tǒng)構成上看,云計算系統(tǒng)由多種類型的計算機、存儲設備、通訊設備和在這些設備上運行的軟件系統(tǒng)組成[1].
云計算的數據安全不僅集中在數據傳輸過程中,還包括云端中存儲數據的系統(tǒng)安全和數據保護.云運營商必須注意可能發(fā)生的問題,并具備完善的數據庫和文件管理能力,特別是當有很多云用戶在客戶端上訪問相同的文件時[2].在云計算領域,有關云安全的研究工作是重要分支.很多研究機構致力于發(fā)展云安全解決方案和相關標準的制定[3].這些研究針對云計算的特點和系統(tǒng)架構,提出了各自的安全模型.Forrester根據大量公司云服務的實際經驗,建立了基于服務質量評估的統(tǒng)計模型,用于評估云安全的質量.他指出,一個典型的云安全架構,至少可以同時容納5至15個應用程序運行[4].VPN-Cubed模型也是一個典型的云安全框架.在它的機制下,無論是單一的云或者多個云形成的混合系統(tǒng),都可以限定在一個基于基礎設施的安全邊界內[5].Vertica在Amazon EC2云端布置數據庫,并設置VPN鏈接和防火墻保護,實現了較好的數據庫安全保護性能[6].Zetta從數據完整性的角度出發(fā),建立了滿足服務需求的云數據存儲安全系統(tǒng).他認為,數據的完整性意味著的系統(tǒng)不損壞和數據的不丟失,即使在巨大的云端或者很長的服務時間內[7].為了充分達成這種完整性,Zetta利用冗余陣列的6個結點,實現了云端主要數據的服務托管.本文從進一步提高云數據存儲安全性能的角度出發(fā),提出了一種基于多Agent的云數據存儲安全框架.
為了保證云數據存儲的安全性真正得到落實,需要切實注意以下幾個重要屬性,包括保密性、正確性、可用性和完整性[8-12].
1) 保密性.在云計算中,保密性扮演一個非常重要的角色.特別是在分布式云服務器或云計算存儲器對組織數據進行控制維護時,保密性顯得尤為關鍵;
2) 正確性.在安全性要求層面,云數據應該保存完整并正確保存.即便是在云用戶修改、刪除或追加云服務需求的時候,也應該采用相同級別的云數據存儲正確性標準;
3) 可用性.在云計算中,可用性是最關鍵的信息安全要求之一.因為在云供應商之間時完成供需交付時,可用性是有關云服務能否建立的決定性因素;
4) 完整性.在云計算領域,完整性要求確保云計算中數據的原子性、一致性、隔離性和持久性,是達成云安全的重要因素.
實際上云服務在很大程度上,是通過在網絡上交換消息的代理實現的.而整個云服務的質量和安全性能,又在很大程度上取決于各個服務結點的交互性、協(xié)調性、反應性和學習能力.云服務的這些性能,和當前比較流行的多Agent具有較好的對應性.每一個Agent都應該是具有一定適應性和自主能力的主體.
一個Agent單元的能力是有限的,但當多個Agent形成一個Agent系統(tǒng)時,其能力會十分強大并可持續(xù)增強.當多個Agent一起工作時,又通過良好的協(xié)同性實現有機連接.多Agent系統(tǒng)和云存儲、云計算乃至整個云服務的情形非常相似,每一個Agent單元都可以解決一類問題,也可以向其它Agent請求服務.正是受到多Agent系統(tǒng)和云服務的這種對應性啟發(fā),才形成了本文云數據存儲體系結構的設想.
為了更好地達成用戶上傳數據和請求服務的安全性,本文建立了一種兩層云安全框架,一層是云數據存儲層,一層是基于多Agent的代理服務層.如圖1所示.
1) 云數據存儲層.云數據存儲層中有2類實體可以確定:一是云服務用戶,他們將數據存儲在云中,依靠云進行數據計算,云用戶又分為個人用戶和組織用戶;二是云服務提供商,他們負責建設和管理分布式云存儲服務,擁有大量的資源和專業(yè)知識,并掌管云計算系統(tǒng);
2) 基于多Agent的代理服務層.這一層的核心結構應包括用戶界面,用戶界面實現了用戶和各個功能Agent單元的溝通.其內部的詳細結構如下節(jié)所述.
在基于多Agent的代理服務層中共設置了5種類型的Agent:供應商Agent、保密性Agent、正確性Agent、可用性Agent、完整性Agent.整個多Agent服務層的體系結構如圖2所示.
2.2.1 供應商Agent
供應商Agent與云服務系統(tǒng)通過接口連接,并允許云用戶與安全服務環(huán)境進行交互.供應商Agent為云用戶提供圖形化界面,來方便系統(tǒng)和云計算用戶之間的交互.供應商Agent的行為需要在實際的云服務供應商控制下進行,其承擔的任務如下:
1) 接收提供安全服務的任務,根據授權服務協(xié)議向保密性Agent、正確性Agent、可用性Agent、完整性Agent發(fā)送信息;
2) 顯示供應商Agent和系統(tǒng)其余部分所指定的安全政策;
3) 接收安全報告,并通知其它Agent;
4) 翻譯襲擊的目標;
5) 監(jiān)測有關的云數據存儲器或特定云用戶的活動;
6) 創(chuàng)建安全報告并形成警報.
2.2.2 保密性Agent
保密性Agent主要負責為云數據存儲器設置有關保密的安全策略,尤其是在建立新的訪問控制時,此Agent將負責授權認證的訪問控制列表.保密性Agent還要為每個云用戶提供來自供應商定義的接口和數據結構.為了達成這一目的,在保密性Agent中要設置一種基于云的數據訪問控制策略,它能夠為每個用戶的訪問結構定義相應的數學公式.保密性Agent還可以通過安全性報告或安全警報的方式,通知供應商Agent所發(fā)生的技術故障.
把由數據訪問控制策略形成的公式,定義為安全公式.這個公式的得出,需要根據整個云服務的多Agent架構,而不是服務商的主觀臆斷.它的具體設置通過要用戶完成.安全公式是系統(tǒng)使用的一個額外的保密性層,以驗證云用戶的登錄和操作是否正常.如果你是一個云的用戶,在第一次登錄時,需要先注冊到系統(tǒng)中,并填寫有效的電子郵件和輸入安全公式.安全公式將被發(fā)送到你的電子郵件,以備后續(xù)的一系列安全保護所用.需要指出的是,安全公式不是密碼.以登陸為例,施加安全公式的登陸步驟為:
1) 輸入你的云用戶ID;
2) 驗證安全公式是否正確;
3) 輸入密碼確認.
保密性Agent保證的是,即使密碼是正確的,但安全公式不正確,那么將不能夠登錄.保密性Agent的體系結構由5個模塊組成,如圖3所示.
云通信模塊負責保密性Agent和其它Agent的信息交互,云注冊模塊負責保密性Agent的登記功能,云需求管理模塊允許保密性Agent充當請求調度中心,云資源管理模塊負責管理云資源的使用,云推理模塊是保密性Agent的指揮中樞.當需求管理模塊接收請求時,它們通過資源模塊利用從知識庫中獲得的信息和可信度評判準則將這些請求傳遞到推理模塊.
2.2.3 正確性Agent
正確性Agent負責云數據存儲的安全政策的正確性保證.它可以執(zhí)行不同的塊級操作,并生成正確性保障.當云用戶執(zhí)行更新操作、刪除操作、添加操作、修改操作或插入操作并出現錯誤時,正確性Agent通知供應商Agent發(fā)送安全性報告或報警.正確性Agent的體系結構由4個模塊組成,如圖4所示.
云通信模塊保證正確性Agent與供應商Agent之間的信息交互.云推理模塊在所需的服務級別協(xié)議上,計算出必要數量的云資源來完成服務,通過利用從知識中所獲得的信息和正確性準則確保正確性的實現.當云用戶執(zhí)行更新、刪除、追加、插入操作時,云服務模塊執(zhí)行塊級的加密和解密操作.云協(xié)調模塊掌控一系列協(xié)調機制,具體如下:
1) 如果數據被更新,執(zhí)行數據加密操作;
2) 如果數據被刪除,執(zhí)行數據加密操作;
3) 如果數據被追加,執(zhí)行數據加密操作;
4) 如果數據被插入,執(zhí)行數據加密操作.
云協(xié)調模塊還為更新、刪除、追加、插入設置了對應的優(yōu)先級,分別是00、01、10、11.
2.2.4 可用性Agent
可用性Agent負責云數據存儲器的可用性安全策略,它通過文件分發(fā)和文件檢索技術,保持和供應商Agent的聯系,并發(fā)送安全報告和報警.在可用性Agent的保護下,惡意用戶對于云資源的調度將無法執(zhí)行.不僅如此,可用性Agent可以用于解決分布于各個云結點的故障.
為了進一步增強可用性Agent的功能,本文為其設置了本地云攻擊和全球云攻擊的預防.全球云攻擊一般會被分解到云結點,形成本地云攻擊.從一般的云安全保障機制來說,只能抵御本地云的攻擊.通過可用性Agent,試圖突破云數據存儲器的范圍界限,形成對本地云攻擊和全球云攻擊的雙重抵御能力.為此,我們將來自全球云攻擊的風險概率設置為1,而本地云攻擊的風險概率設置為(0,1)之間的數.
可用性Agent的體系結構如圖5所示,它包括3個模塊.其中,云通信模塊負責可用性Agent和供應商Agent之間的交互.云服務模塊將分散冗余的數據文件,可以重建為用戶可用的數據矢量.云推理模塊結合知識庫信息和可用性評判準則,可以處理服務器的異常行為以及來自云外的合謀攻擊.
2.2.5 完整性Agent
完整性Agent負責云數據存儲安全策略的完整性.它用來保證云用戶從服務器下載數據的完整性,或者利用分散的數據進行數據重建.它還會定期向供應商Agent發(fā)送安全性報告和報警.報警一般在以下情況發(fā)生:
1) 云數據輸入時的人為錯誤;
2) 云數據從一臺計算機傳輸到另一臺計算機時發(fā)生的錯誤;
3) 軟件錯誤或病毒;
4) 硬件故障,例如磁盤崩潰.
完整性Agent的體系結構,一般包括3個模塊.云通信模塊負責完整性Agent和其它Agent的信息交互.云資源管理模塊負責數據備份的手動操作.云推理模塊根據知識庫和完整性規(guī)則,檢查數據備份失敗的原因.
云計算興起的時間比較短暫,因此有關云安全的研究尚未形成統(tǒng)一的測試方法和流程.另外,云計算平臺本身就是一種服務性質的平臺,對其各種評價往往需要借助用戶的感受,即主觀評價.為了測評本文設計的基于多Agent云數據存儲框架的性能,實驗構建了相應的云服務模擬程序(包括安全性,保密性,正確性,可用性,完整性),并邀請經常使用云服務的 1 500 位用戶進行實際使用,進而通過這些用戶對使用效果的評價來判別本文云安全框架的效果.為了增加評價過程的科學性和可信性,實驗為每位用戶設置了相同的提問項.這些問項涵蓋了對云安全框架性能的考察,每項問題的分值設置為1、2、3、4、5五個等級.具體的問項及 1 500 個用戶的得分統(tǒng)計結果如表1所示.
表1 問項統(tǒng)計結果
從表1的統(tǒng)計結果可以看出,1 500位云用戶對于本文基于多Agent的云安全框架給與了較高的評價.
為了驗證這種主觀評價的可靠性和可信性,本文采用了統(tǒng)計學當中常用的信度分析和因子分析,執(zhí)行平臺選用了SPSS軟件.統(tǒng)計數據的信度分析基本理論認為,利用同樣的方法對同一數據反復測量,如果能得到接近一致的結果,即證明了統(tǒng)計數據對真實情況具有較好的反映.這種信度分析的早期方法是系數檢測法,一般認為:系數在0.5以上時統(tǒng)計數據具有可信的信度,在0.35以下為不可信.經過信度分析后,再利用KMO分析和巴氏球體檢測進行因子分析.對于KMO分析而言,KMO系數在0.6以上為可靠,在0.5以下為不可靠.以此理論作為基礎,本文對5個分級指標進行了信度分析和因子分析.相關結果表明,安全評價的各分級指標:安全性、保密性、正確性、可用性、完整性的系數都大于0.6,從而證實了表1的統(tǒng)計結果具有較高的可信性,可以用于因子分析.具體分析結果如表2所示.
表2 信度分析結果
進一步進行因子分析,其KMO系數為0.930,可以進行巴氏球體檢測.巴氏球體檢測的顯著概率低于0.01,從而證實了本文統(tǒng)計結果的可靠性.經過以上一系列的統(tǒng)計分析,充分證實了我們對1 500個云用戶問項數據的可靠性和可信性,也間接地證實了本文所設計的云數據存儲安全框架的有效性.
本文借助多Agent系統(tǒng)靈活方便、交互性強、學習性強的特點,建立了基于多Agent的云數據存儲安全體系框架.結果表明,本文設計的云數據存儲安全框架具有良好的安全性能.
參考文獻:
[1] ARMBRUST M, FOX A, GRIFFITH R, et al. A view of cloud computing[J]. Communications of the ACM, 2010, 53(4):50-58.
[2] STILLWELL M, SCHANZENBACH D, VIVIEN F, et al. Resource allocation algorithms for virtualized service hosting platforms[J]. Journal of Parallel and Distributed Computing, 2010, 70(9):962-974.
[3] 楊娜娜, 王楊, 陳付龍, 等. 基于移動Agent的云計算身份認證機制研究[J]. 計算機應用研究, 2012, 29(10):3812-3815.
[4] 馮登國, 張敏. 云計算安全研究[J]. 軟件學報, 2011, 22(1):71-83.
[5] 羅長遠, 霍士偉. 普適環(huán)境中基于身份的跨域認證方案[J]. 通信學報, 2011, 32(9):111-115.
[6] WANG C. A close look at cloud computing security Issues [J]. IEEE Transaction on SMC, 2009, 12(9):544-551.
[7] TALIB A M, ATAN R, ABDULLAH R, et al. Towards new data access control technique based on multi agent system architecture for cloud computing[M]//Digital Information Processing and Communications. Berlin Springer, 2011:268-279.
[8] TALIB A M, ATAN R, ABDULLAH R, et al. Multi agent system architecture oriented prometheus methodology design to facilitate security of cloud data storage[J]. Journal of Software Engineering, 2011, 5(3):78-90.
[9] WARNEKE D, KAO O. Exploiting dynamic resource allocation for efficient parallel data processing in the cloud [J]. IEEE Transactions on Parallel and Distributed Systems, 2011, 22(6):1045-9219
[10] XUA B, GUANB Q, CHENA K. Multi-agent coalition formation based on quantum-behaved particle swarm optimization [J]. Journal of Information & Computational Science, 2010,7(5):1059-1064
[11] KONG X, LIN C, JIANG Y, et al. Efficient dynamic task scheduling in virtualized data centers with fuzzy prediction[J]. Journal of network and Computer Applications, 2011, 34(4):1068-1077.
[12] 吳建國.基于電子商務協(xié)同平臺的云計算模式分析[J].云南師范大學學報:自然科學版,2012,32(4):43-46.