引言
隨著IT技術的飛速發展,人們對于高性能計算和大數據存儲的需求日益彰顯,云計算作為共享IT資源的一種方式,能夠滿足人們日益增長的需求.
根據NIST的定義,云計算包含IaaS,PaaS和SaaS 3層服務模式.在3層服務模式中,IaaS層通過虛擬化抽象整合硬件資源,對外提供虛擬資源池服務,服務屏蔽了底層硬件的細節和差異,使得虛擬化資源能夠以基礎設施即服務的方式被用戶管理和使用.因此,IaaS層是整個云計算體系結構的基礎,其安全性也決定著云計算體系的安全.
目前,CSA\\(cloud security alliance\\)組織針對云安全事故的相關研究表明,當前的IaaS環境存在復雜的資源共享架構,但缺少出于安全性考慮的設計,無法提供強有力的資源保護手段,從而導致資源管理上的漏洞.為了解決這些問題,目前的研究圍繞著資源的訪問控制展開,旨在通過規定主體對客體的訪問限制,保證組件間交互資源不被非法訪問.但是,由于IaaS層環境存在海量的組件交互協議和交互接口,這些協議和接口既面向普通租戶,也面向內部組件,租戶與組件之間產生大量的訪問請求,訪問請求頻繁且復雜,導致傳統的訪問控制策略在應用于云計算IaaS層時出現一些新的安全問題.
首先,傳統的訪問控制是靜態的,在確定主體對客體的訪問權限時,沒有考慮系統所處的當前環境.當主體擁有對客體的訪問權限時,主體就可以無數次地使用該權限.而在多任務并發的IaaS云環境下,服務內部的各種組件參與出現了很多的不確定性,組件角色不斷變化,組件部署的任務類型也不斷變化,這些情況下確定組件訪問權限是需要考慮系統當前環境的.
其次,傳統的訪問控制模型在應用于IaaS云計算時,存在無法滿足最小授權的問題,最小授權原則是設計容錯系統的一個重要原則.在IaaS云計算平臺中,用戶提交的任務往往只需要訪問有限的底層資源,但卻擁有訪問該服務所關聯的所有資源的權限,這樣就導致攻擊者可以利用上層應用攻擊底層系統平臺,從而導致系統安全無法保證.
針對傳統訪問控制在以上兩方面的不足,本文結合云環境IaaS層結構,從動態配置主客體安全屬性和細化授權對象范圍角度出發,將傳統基于任務和角色的訪問控制模型作進一步改進和擴展,以服務接口為授權節點,通過引入組件訪問消息傳遞機制和組件訪問控制中間件,實現基于服務實例的工作流模型分解和基于服務授權歷史的動態角色激活,再依據分解后的任務節點與激活后的臨時角色代理在服務內的實體約束關系作進一步的算法合成,構造最小授權單元,最終實現滿足動態授權和最小授權的云計算IaaS層訪問控制策略.
1 相關研究
訪問控制作為一種有效控制系統資源流向的策略手段,能夠通過對訪問主體身份及其所屬的預先定義的策略來限制其使用資源的能力,有效保證資源的保密性、完整性、可用性和合法使用性,是對系統不同角色訪問行為進行安全隔離、限制安全風險的關鍵策略之一.關于傳統訪問控制在解決動態授權和最小授權問題的國內外研究中,文獻[7]提出了一種基于工作流狀態的動態訪問控制,同時還給出了工作流的Petri網描述,并在此基礎上證明了采用這種動態訪問控制機制可以降低資源訪問越界的危險性;文獻[8]提出了一種面向服務的角色訪問控制技術,通過引入服務和授權遷移的概念,對實際任務和服務狀態進行管理,有效加強對用戶角色權限的控制.
上述訪問控制模型都通過工作流形式化描述,對訪問控制中的授權實體作相應的理論分析,為解決訪問控制中動態授權問題和最小授權問題提供有效的解決方案.但這些控制策略不是針對云計算IaaS作模型設計,其交互實體的約束規則并不完全適用于云環境.云環境下的訪問控制研究方面,文獻[9]借鑒了Linux安全控制模塊SELinux提出了訪問控制即服務\\(ACaaS\\)模型,將云計算訪問控制外包給ACaaS層,提出一種可熱插拔的云計算訪問控制中間件模型.
文獻[10]提出了基于使用控制\\(usage control,UCON\\)授權模型的訪問控制架構,該架構將信任評估的方法引入UCON的授權機制中,提高了使用訪問控制模型的靈活性和安全性;文獻[11]提出面向組件交互實體的服務可信協商及訪問控制策略,通過信任規則表達訪問實體的可信程度,構建服務級別協議.文獻[12]提出了基于任務和角色的云計算訪問控制模型,通過整合RBAC模型和TBAC模型的優點,將“任務”和“角色”作為訪問控制的基本要素,采用了以任務為中心的“用戶-角色-任務-權限”的四級訪問控制結構.上述文獻中,文獻[9]和[10]通過構造獨立的訪問控制模塊,有效加強了資源訪問控制的靈活性和動態性.文獻[11]和[12]通過明確組件交互約束規則,細化授權對象范圍,有效保證了訪問控制最小授權原則.
以上研究雖然針對當前云計算訪問資源的合法使用性提出了一系列的訪問控制策略方法,但是這些方法仍存在云計算環境下工作流控制節點劃分,組件角色信任度計算與組件授權管理復雜等問題.而解決這些問題是實現訪問控制動態性和授權粒度最小性的根本落腳點.因此,將IaaS模塊組件對外數據和方法的簡單封裝定義為組件服務,本文提出了一種基于任務和角色面向服務的訪問控制策略\\(task and role-based service-oriented acecess control,TRSAC\\),該策略結合上述訪問控制策略的優點,通過構造以服務為中心的任務-角色-服務三級訪問控制結構,建立彼此約束關系,達到訪問控制的目的.
2 TRSAC策略描述
傳統的TRBAC訪問控制模型中,訪問權限被定義為任務和角色的映射關系,而在TRSAC模型中表現為面向服務接口的任務節點和角色執行代理的映射關系.
定義1 TRSAC={\\(WF,Task\\),\\(Role,Ac-tor\\),\\(Service,App\\)}.
定義1描述TRSAC的組成,它由基于任務層面,基于角色層面和面向服務集三部分組成.
定義1中的符號及下文引用的符號定義如表1.【表1】
系統動態激活角色時,相應地創建臨時執行代理,執行代理所獲得的權限由工作流分解的任務節點和服務接口的匹配關系決定.
任務執行時只給當前執行代理分配所需要的權限,當權限不再使用時,執行代理將被釋放,權限將被動態收回;服務實例在虛擬機平臺根據角色執行代理的訪問權限和任務需求動態調用應用系統的服務方法,申請系統物理資源,服務完成以后,資源將被回收.其訪問控制過程中產生約束關系如圖1所示.【圖1】
由上述訪問控制實體約束關系可知,如何構造以服務為中心的任務-角色-服務3層訪問控制結構是實現TRSAC策略的核心.
本文將從基于服務實例的工作流模型分解和基于服務授權歷史的動態角色激活,以及分解后的任務節點與激活后的臨時角色代理在服務內的實體約束關系三方面作訪問控制策略描述,并在此基礎上對策略方法做形式化證明.最終實現滿足動態授權和最小授權的云IaaS層訪問控制.
2.1 基于服務實例的工作流任務分解
首先根據文獻[中對IaaS云環境以及構成云組件的形式化描述,分析組件間服務依賴關系,然后根據依賴關系對工作流進行模型分解,最終形成服務 接 口 與 任 務 節 點 映 射 關 系fmap:Task→2SERVICES.其服務間依賴關系描述如下:
1\\)并發依賴\ue02fTask1,Task2,\ue055WF\\(Task1\\)\ue03bWF\\(Task2\\),當Task1和Task2同時進入激活狀態,則Task1和Task2對應的服務間存在并發依賴關系.
2\\)順序依賴\ue02fTask1,Task2,\ue055WF\\(Task1\\)≤ WF\\(Task2\\),當Task2必須在Task1已經完成后才能進入激活狀態,則Task1和Task2間對應的服務間存在順序依賴關系.
3\\)失敗依賴\ue02fTask1,Task2,\ue055 WF\\(Task1\\)→ WF\\(Task2\\),當Task1失敗后才能觸發Task2,則Task1和Task2對應的服務間存在失敗依賴關系.
4\\)互斥依賴\ue02fTask1,Task2,\ue055WF\\(Task1\\)→ WF\\(Task2\\),Task1和Task2不能 同時被激 活 時,則Task1和Task2對應的服務間存在互斥依賴關系.
根據上述依賴關系以及文獻提出的分解算法,本文對云IaaS環境工作流作如下形式化分解,我們假定無環工作流網具有完備性,首先根據云環境工作流的形式化描述得到其基本回路;然后對基本回路,僅保留除回滾和并發之外的所有變遷動作,得到一個變遷鏈,每次變遷動作對應工作流中的一次任務執行;對于每個變遷鏈中的任務節點,根據相應的算法得到并發變遷的兄弟節點,將并發變遷的兄弟節點與其變遷鏈中涉及的變遷動作合并,生成一個并發變遷鏈;最后得到的工作流分解樹即為若干并發變遷鏈的集合,其對應一個服務實例路由\\(圖2\\).【圖2】
在圖2中,工作流分解為服務實例的集合WF={BI\\(i\\)|1≤i≤n}.其中,BI\\(i\\)是服務實例的并發任務步集合BI\\(i\\)={PTS\\(i,j\\)|1≤j≤mi},mi為服務實例BI\\(i\\)的步數,PTS\\(i,j\\)為服務實例BI\\(i\\)第j步并發執行的所有任務的集合PTS\\(i,j\\)={tijp|1≤p≤sij},sij為PTS\\(i,j\\)中并發執行的任務數.設\ue01a表示BI\\(i\\)中任務步并發執行的先后關系,顯然〈BI\\(i\\),\ue01a〉為一個擬序集〈PTS\\(i,j\\),PTS\\(i,k\\)〉∈\ue01a,記為PTS i,\\( j\\) \ue01aPTS i,\\( \\)k,表示PTS\\(i,j\\)在PTS\\(i,k\\)前執行.服務實例路由之間的節點通過組件消息傳遞機制進行動作變遷,訪問控制模塊通過hook函數對組件間的消息傳遞進行截獲,并依據角色權限做相應的訪問控制決策,從而達到訪問控制的目的.
2.2 基于服務授權歷史的動態角色激活
傳統基于任務和角色訪問控制將組件角色同訪問權限聯系起來,對訪問組件賦予相應角色的權力,組件所能訪問的資源權限就是該組件所擁有的角色權限集合的并集.每個角色代表了一個獨立的訪問權限的實體,它們之間可以有繼承、限制等關系.但是這種權限的集合是預先定義的,無法滿足動態環境的安全需求.
本文在傳統任務和角色的訪問控制模型的基礎上,通過引入組件訪問控制中間件,構造多級安全動態角色激活機制.針對服務接口和任務節點的映射關系,通過增加相應的轉換和管理模塊,對系統訪問控制中的主體角色進行有效控制.中間件包括信任度管理模塊和授權模塊.信任度管理模塊首先基于文獻的信任度評估算法計算當前實體信任度,并將它存儲在安全管理數據庫中;然后結合服務授權歷史記錄,提取信任樣本,作假設檢驗分析,獲取當前信任值的合理程度.
最后由授權模塊根據被評價實體的信任值,結合交互上下文即服務實例路由作權限仲裁,動態激活相應角色,創建角色執行代理.
根據仲裁結果,本文將訪問組件角色分為以下3類:
1\\)拒絕類角色:訪問客體拒絕被訪問,角色級別可被繼承,適合被動訪問模式.
2\\)監管類角色:訪問客體可通過主體內部方法間接訪問,角色級別不可被繼承,適合被動訪問模式.
3\\)批準類角色:訪問客體允許被直接訪問,角色級別不可被繼承,適合主動訪問模式.
設有主體S和客體O,交互上下文Context={0,1},0表示無關,1表示有關,主體的信任度為Level\\(\\),客體資源的安全訪問控制域為Type\\(\\).
若Level\\(s\\)∈Type\\(o\\),則定義客體角色為批準類角色;若Level\\(s\\)\ue05bType\\(o\\),且Context=1,則定義客體角色為監管類角色;若Level\\(s\\)\ue05bType\\(o\\),且Context=0,則定義客體角色為拒絕類角色;訪問主體角色通過動態激活中間件進行實時的角色授權,劃分角色安全等級,配置當前任務節點的安全屬性,從而實現訪問控制的時態特性.
2.3 TRSAC服務實體關系描述
在TRSAC模型中,組件的訪問控制由任務節點和角色執行代理決定,而任務節點和角色執行代理又由服務的安全訪問控制域決定,因此對組件的訪問控制最終要分解為對服務的訪問控制.
本節我們將從面向服務的角度出發,對參與服務的訪問控制實體進行狀態分析和約束分析.先根據服務實例得到粗粒度的基本授權單元,然后根據安全上下文約束規則作進一步行為約減,最后根據控制策略的合成算法得到面向服務組件的最小授權單元.
2.3.1 基本授權單元描述方法
系統的有效狀態空間StatusSpacet是貫徹于控制模型逐個實體及其間有效關系之上的一個多元關系:StatusSpacet\ue020 SERVICES× WF× VMS×ROLES×TASKS×APPS×ACTORS.定義2有效狀態空間內系統動態創建產生的實例集合r:r={rs,rwf,rvm,rr,rt,rap,rac}∈Status-Spacet定義3基本授權服務函數fParticipants:VMS×APPS→2SERVICES,其中2SERVICES是SERVICES的冪集.fParticipants\\(vm,ap\\)={s|r.rs=s,r.rvm=vm,r.rap=ap,forr∈StatusSpacet}.fpaticipants\\(vm,ap\\)計算結果ParticipatesIn為所有服務于vm管理下的應用系統ap的服務實體集合.定義4 Dependencies表示兩個服務間的依賴關系,兩者參與了同一虛擬機上的應用系統.即:\ue02fs1,\ue02fs2,s1≠s2,Dependencies\\(s1,s2\\)\ue039 \ue055vm,\ue055ap,s1∈fPaticipants\\(vm,ap\\)∧s2∈fPaticipants\\(vm,ap\\).
性質1 1,2若Dependencies\\(s1,s2\\)成立,則s1,s2所屬授權組件共同參與同一虛擬機vm,并且s1,s2同服務于該vm管理下同一任務節點Task.該性質表明如果兩個服務相互間存在依賴關系,則它們各自所屬的授權組件同時參與了某個虛擬資源,建立了彼此信任關系,并且兩者處于彼此的應用上下文.基本授權單元保證存在協作關系的服務組件間能夠進行交互.根據以上定義和性質的描述,本文將一個服務s的粗粒度基本授權單元,即可與s交互的服務集合描述為AuthUnit\\(s\\)={s′|s′∈SERVICES,De-pendencies\\(s,s′\\)}.
2.3.2 安全上下文約束規則
在TRSAC模型中,組件交互被看作是雙方平等地服務于應用系統,它們各自所具有的安全屬性應同時被作為訪問決策的依據.
本文引入“安全上下文”\\(TaskContext\\)概念描述服務在應用系統內的關聯狀態,包括其參與系統的任務節點以及連接到該任務節點上時所具有的角色權限,其表現為圖2中基于角色激活的服務實例路由的可達性:TaskContext\ue020TASKS×ROLES
通過安全上下文所表達的安全屬性,制定相應的訪問控制約束規則.該規則將服務實例與分解后的任務節點和激活后的角色執行代理相關聯,根據當前環境的上下文匹對計算結果,作訪問控制決策.
規則1 TCMatch對交互的雙方屬性考察的安全策略表達為安全上下文匹配關系集合,即對應的相容TaskContext匹配對:TCMatch\ue020SERVIC-ES×\\(TaskContext\\)2.
規則2安全上下文匹對函數定義為:fMatchTC:SERVICES× TASKS× ROLES→2ROLES×TASKS,根據TCMatcht計算與某個TaskCon-text相容TaskContext集 合.fMatchTC\\(s,\\(t,r\\)\\)={\\(t′,r′\\)|TCMatcht\\(s,\\(t,r\\),\\(t′,r′\\)\\)∨TCMatch\\(s,\\(t′,r′\\),\\(t,r\\)\\)}.
規則3一個服務在某一虛擬機內應用系統的上下文可通過計算fTaskContext:SERVICES×VM×APPS→2TASKS×ROLES即fTaskContext\\(s,vm,ap\\)={\\(t,r\\)|\\(s,vm,r,t,ap\\)∈StatusSpacet}.
2.3.3 TRSAC訪問控制策略算法描述
在基本授權單元的基礎上,將安全上下文約束規則引入授權模型中,在某一個應用系統虛擬機vm內,服務s可交互組件安全控制域Authset\\(s,vm\\)可通過以下算法計算獲得:【表】
因此,工作流中總授權服務集合為:Auth\\(s\\)= ∪vm∈VMSAuthSet\\(s,vm\\)
2.4 TRSAC策略方法安全性分析及證明
本文提出的TRSAC策略通過任務節點和角色代理在服務實體內的關系描述,以基本授權單元為基礎作安全上下文約束分析,求解授權服務集合,實現 對 服 務 的 訪 問 控 制.
為 驗 證 本 文 所 提 出 的TRSAC策略滿足最小授權原則和動態授權原則,給出如下定理,并予以證明.定理1有效空間內,s1和s2可交互的必要條件是\ue055\\(vm,a\\)∈ParticipatesIn,使得fTaskContext\\(s1,vm,a\\)∩fTaskContext\\(s2,vm,a\\)≠\ue064.證假設\ue02fr1,r2∈ROLES,\ue02ft1,t2∈TASKS,{\\(task2,role2\\)}∩fMatchTC\\(a,\\(task1,role1\\)\\)=\ue064,a∈APPS,task1,task2∈TASKS,即在服務實例中無法找到\\(task2,role2\\)的上下文,則TCMatch在應用系統a中task1,task2所連接的服務之間不存在交互,產生矛盾,定理1得證.定理2在 有 效 狀 態 空 間StatusSpacet內,\ue02fs1,\ue02fs2,s1∈AuthSet\\(s2\\)\ue039s2∈AuthSet\\(s1\\).證當s1∈AuthSet\\(s2,vm\\),由fParticipants定義知,\ue055ap∈APPS使得可以根據算法找到上 下文TContext1和TContext2分別滿足條件TContext1∈fTaskContext\\(s1,vm,ap\\)以及TContext2∈fTaskContext\\(s2,vm,ap\\),且\\(s1,TContext1,TContext2\\)∈TC-Matcht,由fParticipants\\(s1,vm,a\\)≠\ue064,存在\\(s1,vm,r,t,ap\\)∈StatusSpacet成立,再將參數\\(s1,vm,r,t,ap\\)帶入算法中,可得s2∈AuthSet\\(s1,vm\\),同理可得當s2∈AuthSet\\(s1\\)時,可得s1∈AuthSet\\(s2\\),證畢.
定理1說明在有效空間內可通過安全上下文匹配構造組件安全交互約束方法,保證組件交互對象的惟一性和動態變更性.組件作為訪問控制的客體,授權操作會根據安全上下文變化不斷更新,保證權限只在對象生命周期內有效,訪問過程完成后動態收回訪問權限,進而保證主體的動態授權原則.
定理2說明交互組件雙方實施的訪問控制不會出現重復和矛盾,保證總授權集合滿足最小性,從而使得參與服務的交互實體滿足最小授權原則.
至此,本文從理論角度對TRSAC策略進行了安全性分析,分析結果表明,基于任務和角色面向服務的訪問控制模型滿足動態授權原則和最小授權原則,進而解決了前文所提出的問題.下一步本文將從實驗角度出發,旨在證明TRSAC在運用于云計算IaaS環境時,能夠有效實現滿足最小授權和動態授權的訪問控制策略,并且該策略對云基礎設施服務不會產生性能上的影響.
3 TRSAC策略方法實現
3.1 TRSAC整體框架
本文在現有云計算IaaS層結構模型的基礎上拓展訪問控制模塊,如圖3所示,服務接口模塊存在于IaaS層的服務層中,策略管理模塊存在于服務構造層中,權限仲裁模塊存在于虛擬資源層中,而安全控制模塊存在于對資源進行抽象的虛擬化平臺中.
這樣的設計即保證了對底層資源的安全控制,也保證了IaaS云計算體系的完整性和層次性.圖3中服務層通過調用組件接口,申請物理資源;資源訪問過程通過權限仲裁結果動態配置安全屬性;資源調度層通過層中對資源調用的權限判定,控制虛擬機之間對資源的訪問?!緢D3】
3.2 TRSAC訪問控制模塊設計
根據以上關于TRSAC模型的描述,本文設計的訪問控制模塊主要分為3類:①策略管理類模塊\\(strategy management\\);②權限仲裁類模塊\\(per-mission arbitration\\);③安全控制類模塊\\(securitycontrol\\).
1\\)策略管理模塊\\(SM\\)主要接收上層接口對策略的操作,將TRSAC中的算法計算結 果轉化為XML格式存儲.并將相應訪問控制權限評測信息裝載到資源調度模塊中.
2\\)權限仲裁模塊\\(PA\\)主要通過信任度算法計算訪問實體的信任度,作假設檢驗分析,動態授權,再通過安全上下文判斷授權實體的權限信息.
3\\)安全控制模塊\\(SC\\)嵌入到資源調度層中執行訪問控制策略,通過hook函數攔截系統的資源調度并作訪問控制判斷,主要是4種hook函數:①資源調度方面的hook函數;②虛擬機綁定上的hook函數;③服務 實例管 理 方 面 的hook函 數;④獲取權限仲裁信息方面的hook函數.
策略管理模塊向上提供配置訪問控制策略的管理控制接口;權限仲裁模塊通過評估授權實體角色權限與最小授權單元作訪問控制仲裁;安全控制模塊向下提供底層資源安全屬性配置信息,實現訪問控制.其模塊實現流程如圖4所示.【圖4】
3.3 TRSAC方法實現流程
根 據 訪 問 控 制 模 塊 的 設 計,本 文 提 出 的TRSAC訪問控制實現流程如圖5所示.【圖5】
實現過程:①工作流分解,通過前面提出的算法實現基于服務實例的工作流分解;②服務接口調用,形成服務接口與任務節點的映射關系;③資源調度,根據任務需求申請底層資源;④分配虛擬資源,根據信任度計算匹配相應的角色權限;⑤任務與虛擬機綁定,通過TRSAC合成算法,構造虛擬機資源的最小授權單元,實現資源訪問控制.
4 實驗與結果分析
4.1實驗工具介紹
為了更好的說明提出策略的有效性,本文采用了云計算的仿真工具CloudSim進行試驗.CloudSim支持大型云計算基礎設施的建模與仿真,是一個自足的支持數據中心、服務代理、資源調度、分配和控制策略的平臺.CloudSim是開源的,各服務模塊均以類的方式對外封裝,其設計思想與本文所提出的面向服務組件的思想相契合.實驗可在Windows上運行,用戶可以根據自己的研究內容進行擴展,加入自己的代碼.
依據CloudSim源代碼,有幾個核心類:
1\\)Cloudlet類:構建云環境任務;2\\)DataCenterBroker類:虛擬機的管理,如創建、任務提交、虛擬機的銷毀等;3\\)VirtualMachine類:虛擬機類,運行在host上,與其他虛擬機共享資源,每臺虛擬機由一個擁有者所有,可提交任務并由VMScheduler類定制該虛擬機的調度策略;4\\)VMScheduler類:虛擬機的調度策略用來管理執行任務,實現了任務接口.
基于以上描述,本文實驗采用云計算仿真工具CloudSim3.0.2,并在Myeclipse8.5上進行編譯和發布.
4.2 實驗應用場景設計
基于TRSAC訪 問 控 制 模 塊 設 計,本 文 對Cloudsim類進行擴展,增加類AccessControl來實現安全控制功能,增加類AccessPolice來實現策略管理功能,增加類listlable實現權限仲裁功能,重寫了DataCenterBroker類 中 提 供 的bindCloudlet-ToVm方法,將任務捆綁到指定的虛擬機上運行,重寫了VmAllocationPolicySimple類 中 的allocate-HostForVm函數,增加調用資源調度hook函數,實現訪問權限判斷.
增加AccessControl類中的Role-Allocation函數模擬安全屬性配置,屬性值存儲在lable.xml中,并用listlable進行管理;實驗通過服務內資源屬性的評測,實現資源的訪問控制.實驗的應用場景為:虛擬機個數固定在100個,工作流長度在500~4 500 MI\\(million of instruc-tions\\)之間隨機產生.
任務節點總數控制在0~100之間,模擬云存儲資源訪問控制,實驗模擬的仲裁模塊組件信任度樣本值如表2所示.【表2】
4.3 有效性分析
基于上述應用場景的設計和TRSAC訪問控制實現流程,本文進行有效性分析,目標是驗證訪問控制策略中角色信任度計算策略的有效性和驗證構造服務最小授權單元方法的有效性,其效果分別如圖6和圖7所示.
圖6是本文基于服務授權歷史的動態角色激活策略的具體實現,實驗首先提取服務授權歷史的信任樣本,然后結合當前實體的信任度,作假設檢驗分析,再根據分 析結果判 斷組件安 全屬性.以圖中\\(U2,S0\\)信任值為例,將該信任值放到信任樣本\\(表2\\)中作t假設檢驗,經過計算,該值處于t檢驗的拒絕域中,故被淘汰.實驗結果表明,該策略在解決交互組件角色授權方面具有有效性.
圖7是本文TRSAC算法構造服務最小授權單元的具體實現,實驗模擬信任值為0.697 8的云存儲資源請求服務,實驗中訪問控制實現過程:首先調用Cloudsim服務接口類函數,實現任務與服務映射關系,再通過Cloudsim仲裁模塊判斷信任值為0.697 8的任務安全屬性,最后在服務內通過安全屬性與任務需求構造的安全上下文求解云存儲資源請求的最小授權單元.
實驗結果表明,在100個虛擬機綁定任務中根據算法計算求解最小授權單元后,只有10個資源請求成功,滿足了最小授權原則,證明了該策略能有效保證資源訪問有效實體在最小范圍內進行.
4.4 性能分析
性能開銷是一個很重要的評價參數,如果保護方案性能開銷過大,系統運行會受到嚴重的干擾.因此,將對訪問控制的整體機制作性能分析和評價.性能指標是仿真云平臺的總運行時間.
通過與未采用TRSAC訪問控制的仿真云平臺進行比較,得出性能分析結果.基于設計的應用場景,通過累計記載10次總運行時間,在相同任務的情況下作仿真實驗比較,測試結果如圖8所示。實驗結果表明,在虛擬機數量固定的情況下,隨著云任務的增加,安全機制的仿真運行相對于普通仿真運行的性能損耗差異較小.因此,本文安全訪問控制機制不會對系統運行造成影響.
5 結論
IaaS云計算下資源管理問題一直是不可忽略的安全問題,本文針對傳統的訪問控制在應用于云計算IaaS層資源訪問時出現的動態授權和最小授權問題,提出了一種基于任務和角色面向服務的訪問控制\\(TRSAC\\)策略.該策略利用獨立訪問控制模塊通過服務關系劃分動態分配權限,既滿足了分布式訪問控制的要求,同時也具有清晰的角色層次管理.
本文通過分析TRSAC策略對于云計算訪問控制的適用性,構建了一個面向共享安全的訪問控制機制,從策略管理、權限仲裁、安全控制3個方面解決了云計算訪問控制中的安全要求.理論分析與實驗結果表明,該方法能較好地保證訪問控制中的動態授權原則和最小授權原則,有效地增強了云計算基礎設施服務整體的安全性.但是TRSAC模型也有不足,在未來的研究工作中期望能不斷改進完善,而云計算數據除了訪問控制之外,還有如數據存儲安全等問題,同樣有待進一步的研究.