林果園,賀 珊
(中國礦業(yè)大學計算機學院 徐州 221008)
一種云計算環(huán)境下的安全模型*
林果園,賀 珊
(中國礦業(yè)大學計算機學院 徐州 221008)
本文針對當前流行的云計算技術,分析了其所面臨的安全問題。以中國墻模型(簡稱BN模型)為基礎提出了保護云端服務器私有云中敏感數(shù)據(jù)完整性和保密性的CCBN(cloud computing BN)模型,并給出了該模型的基本原理和在云環(huán)境中應用該模型的配置方案。
云計算;中國墻模型;CCBN模型
* 江蘇省自然科學基金資助項目(No.BK2007035),中國礦業(yè)大學青年基金資助項目(No.0D061035,No.2007A047)
云計算[1](cloud computing)作為一個新的網(wǎng)絡應用模式被提出,是一種新興的計算模式。云計算也是一種分布式計算,是在網(wǎng)格計算的基礎上發(fā)展而來的。
在云計算時代,數(shù)據(jù)存儲方式打破傳統(tǒng)模式,所有數(shù)據(jù)以托管的方式存儲在云端服務器中,用戶只需通過云服務商提供的API(應用程序編程接口),通過瀏覽器就可以隨時隨地獲取所需要的數(shù)據(jù)和服務。服務模式的改變也帶來了諸多云計算信息系統(tǒng)的安全問題,如開放的接口為非法訪問提供了可能,非法用戶會進入信息系統(tǒng)竊取企業(yè)和用戶機密數(shù)據(jù),數(shù)據(jù)完整性和保密性受到巨大威脅。
為了解決上述安全問題,近幾年提出了公有云與私有云的概念。公有云即云計算可以作為一種共用設施,提供社會服務;私有云即云計算可以為企業(yè)提供信息化的集中計算平臺。為確保數(shù)據(jù)的完整性和保密性,一般將企業(yè)的敏感數(shù)據(jù)存放在私有云中。
本文主要以中國墻模型為基礎,提出了保護云端服務器私有云中敏感數(shù)據(jù)的完整性和保密性的CCBN模型。
云計算是分布式計算技術的一種,其最基本的概念是透過網(wǎng)絡將龐大的計算處理程序自動分拆成無數(shù)個較小的子程序,再交由多部服務器所組成的龐大系統(tǒng)經(jīng)搜尋、計算分析之后將處理結(jié)果回傳給用戶。透過這項技術,網(wǎng)絡服務提供者可以在數(shù)秒之內(nèi),達成處理數(shù)以千萬計甚至億計的信息,達到和“超級計算機”同樣強大效能的網(wǎng)絡服務。
云計算的定義關鍵在于“云”這個詞。對我們而言,云是一組數(shù)量眾多的互聯(lián)在一起的計算機。這些計算機可以是個人電腦或網(wǎng)絡服務器,它們可以是公有的或私有的。這種計算機云能夠延伸到單獨的公司或企業(yè)之外。云所提供的應用和數(shù)據(jù)可廣泛用于許多用戶,可跨企業(yè)和跨平臺。對云的訪問是通過互聯(lián)網(wǎng)完成的,任何被授權(quán)的用戶都可以從任何一臺計算機上通過互聯(lián)網(wǎng)連接訪問這些文檔和應用。
云計算平臺是一個強大的“云”網(wǎng)絡,連接了大量并發(fā)的網(wǎng)絡計算和服務,可以利用虛擬化技術擴展每一個服務器的能力,將各自的資源通過云計算平臺結(jié)合起來,提供超級計算和存儲能力。通用的云計算體系結(jié)構(gòu)如圖1所示。
中國墻模型是商業(yè)環(huán)境中一種典型的訪問控制模型,這種模型最初來源于證券咨詢業(yè)務的安全需求。根據(jù)有關法律法規(guī)要求,證券公司的咨詢?nèi)藛T不能在知道一個企業(yè)的競爭對手的內(nèi)部信息后為該企業(yè)咨詢,以防止“利益沖突”。根據(jù)這些規(guī)定,Brewer和Nash等人[2]提出了一種類似于多級強制策略BLP(bell lapudula)模型[3]實施中國墻策略的安全模型(簡稱BN模型),該模型提出后受到高度的重視,被認為是商業(yè)領域的BLP模型,BN模型中每個公司的數(shù)據(jù)屬于一個公司數(shù)據(jù)集,具有競爭關系的公司數(shù)據(jù)集構(gòu)成一個利益沖突類,該模型的簡單安全性要求一個用戶不能同時訪問同一個利益沖突類中不同公司的數(shù)據(jù)集,簡單安全性直接反映了相關規(guī)則的要求,即根據(jù)主體已具有的訪問權(quán)力來確定是否可以訪問當前數(shù)據(jù)。
中國墻模型既繼承了BLP模型的保密性策略,又承接了Biba模型[4]和CW模型[5]的完整性策略,模型中提出了中國墻的概念,設計了一個規(guī)則集主體不能訪問“墻”另一邊的客體。另外,BN模型還支持清潔信息(sanitized information),所有的用戶都可以讀取清潔信息(所謂清潔信息指所有可以公開的信息)。
BN模型由以下基本元素組成:O、S、G和T分別表示對象集合、主體集合、公司數(shù)據(jù)集的集合、利益沖突類集合。
s∈S,表示一個主體;o∈O,表示一個客體;
group(o):O→G(o∈O),把對象映射到公司數(shù)據(jù)集的函數(shù);
type:G→T,把公司數(shù)據(jù)集映射到利益沖突類的函數(shù)。
BN模型滿足以下兩個安全性質(zhì)[6]。
(1)BN—簡單安全性質(zhì)
一個主體s可以訪問(讀、寫)數(shù)據(jù)對象o的條件是滿足下列兩條件之一:
·主體s已經(jīng)訪問過與對象o屬于同一個公司數(shù)據(jù)集的對象 o’,即 group(o)=group(o’);
· 對于主體s訪問過的每一個對象o’,它屬于的公司數(shù)據(jù)集都和對象o的公司數(shù)據(jù)集不在同一個利益沖突類中,即 type(group(o))≠type(group(o’))。
(2)BN—特性
一個主體s可以寫數(shù)據(jù)對象o的條件是下面兩個條件都滿足:
· 據(jù)BN—簡單安全性質(zhì),主體s可以訪問該對象o;
· 對于所有的對象o’,如果主體s訪問過該對象o’,則該對象必須與主體s將要寫的對象o在同一個公司數(shù)據(jù)集中,或者是清潔數(shù)據(jù),即group(o)=group(o’)。
為了保護云計算私有云中敏感數(shù)據(jù)的保密性和完整性,我們提出CCBN模型,該模型結(jié)合了中國墻模型的特點,可以有效地防止數(shù)據(jù)在云中的流失。
該模型的基本思想是只允許云用戶訪問與其所擁有的信息沒有利益沖突的云內(nèi)信息。云用戶第一次選擇可以自由選擇任何一個云中的數(shù)據(jù),這是因為云用戶中沒有任何有關云端服務器數(shù)據(jù)集中的數(shù)據(jù),所以不存在任何沖突。但是,云用戶一旦做出選擇并且訪問了某個云中的數(shù)據(jù),它的訪問權(quán)限就會被限定,不能再對這個利益沖突云中的其他云中的數(shù)據(jù)進行訪問,只能對這個限定的云中的信息數(shù)據(jù)或其他利益沖突云中的數(shù)據(jù)進行訪問。
如圖2所示,云端服務器數(shù)據(jù)集中有多個不同企業(yè)的私有云,每個相同行業(yè)的私有云中又存放各個企業(yè)的數(shù)據(jù)集。最初的時候,云用戶可以訪問云端服務器數(shù)據(jù)集中的任何一組數(shù)據(jù),如果云用戶訪問了信息A1中的某個數(shù)據(jù),那么它以后將不能再對信息A2和信息A3中的數(shù)據(jù)進行訪問,由于證券公司和企業(yè)不是一個利益沖突,所以它可以繼續(xù)訪問信息B1、信息B2和信息B3。如果云用戶訪問了信息B1中的某個數(shù)據(jù)集,它將不能再訪問其他證券公司的數(shù)據(jù)(如信息B2)。這里就指出了CCBN模型的意義,剛開始時云用戶是自由的,沒有墻的存在,可以訪問任何云端數(shù)據(jù)集中的數(shù)據(jù),但當云用戶做出選擇后,中國墻就建立起來了。
CCBN模型由以下5部分組成:
(1)O、S、T、D、CRd、CRH、CUA 分別表示云用戶集合、云端服務器數(shù)據(jù)集合、利益沖突云、信息數(shù)據(jù)集、角色集合、角色體系和約束(注:CRH角色體系和CUA約束將在下節(jié)中詳細介紹)。
(2)CUA∈o×CR(o∈O,CR∈CRd)表示用戶-角色的多對多的關系。
(3)CRH∈CR×CR(CR∈CRd)表示角色集合上的偏序關系。如果(r1,r2)∈CRH,則稱角色r1支配角色 r2,記為r1≥r2。
(4)group(o):O→D(o∈O),把云用戶映射到信息數(shù)據(jù)集的函數(shù)。
(5)type:D→T,把信息數(shù)據(jù)集的集合映射到利益沖突云的函數(shù)。
CCBN模型繼承了中國墻模型的安全特性。
(1)CCBN—簡單安全屬性
一個云用戶o(o∈O)可以訪問云端服務器數(shù)據(jù)集中的某個企業(yè)的數(shù)據(jù)集d(d∈D),并且具有讀寫權(quán)限,需滿足以下兩個條件之一:
·云用戶o已經(jīng)訪問過與數(shù)據(jù)集d屬于同一個信息數(shù)據(jù)集中的單個數(shù)據(jù)集d',即 group(d)=group(d’);
·對于云用戶o訪問過的每一個數(shù)據(jù)集d,它屬于的信息數(shù)據(jù)集都和數(shù)據(jù)集d'的信息數(shù)據(jù)集不在同一個利益沖突云中,即 type(group(d))≠type(group(d’))。
(2)CCBN—特性
一個云用戶o(o∈O)可以寫云端服務器數(shù)據(jù)集中的某個企業(yè)的數(shù)據(jù)集d(d∈D),必須滿足以下兩個條件:
· 根據(jù)CCBN—簡單安全屬性,o可以訪問d;
·對于所有的數(shù)據(jù)集d,如果云用戶o訪問過該數(shù)據(jù)集d,則該數(shù)據(jù)集必須與云用戶o將要寫的數(shù)據(jù)集d’在同一個信息數(shù)據(jù)集中,即 group(d)=group(d’)。
在云計算中實際應用CCBN模型的主要思想是:允許每個云用戶都擁有可以授予自己任何角色的管理特權(quán)。一個用戶在訪問一個數(shù)據(jù)集對象時,如果它不具備相應的訪問權(quán)限,就要先授予自己相應的角色從而獲得訪問權(quán)限。
為了在云計算中實際應用CCBN模型,要求每一個云用戶一定要遵守“必須原則”,即每一個云用戶只有在必須的時候才授予自己相關的角色。如果一個云用戶不需要訪問某個信息數(shù)據(jù)集中的數(shù)據(jù),云端服務器就不會授予相應的角色,該要求是合理的,因為安全系統(tǒng)一般都基于合法云用戶而不是惡意的假設,而且即使某一個云用戶不遵守“必須原則”要求,那么只會導致限制該云用戶的自主訪問權(quán)限,但不會導致在競爭公司間形成非法的信息流。因此,任何狀態(tài)下,一個云用戶是否訪問過某個公司私有云中的數(shù)據(jù)集就與擁有對應權(quán)限的角色是否被授予了該云用戶等價,所以云用戶—角色關系CUA的狀態(tài)變化就等價于云用戶對信息數(shù)據(jù)集的扁平訪問歷史特性[7];另一方面,通過允許云用戶擁有授予自己角色的管理權(quán)限(自主性),并通過對CUA關系進行限制的策略 (強制性)來實際應用CCBN模型的自主和強制兩種特征。
在云計算中應用CCBN模型的配置方案:
假設:CCBN模型中有n個信息數(shù)據(jù)集 {d1,d2,d3,…,dn},有m個利益沖突云{t1,t2,t3,…,tm},那么相應的云計算中云端服務器的配置主要有以下4點。
(1)在云端服務器中存在角色集合 R={R1,R2,R3,…,Rn,D1,D2,D3,…,Dn,T1,T2,T3,…,Tm}。
(2)在云端服務器中存在角色體系CRH的配置如圖3所示,由安全管理員配置。定義云端服務器中的角色集合CRd={R1,R2,R3,…,Rn}中的角色之間沒有任何關系,同樣的,在 D={D1,D2,D3,…,Dn}和 T={T1,T2,T3,…,Tm}集合中的角色之間也沒有任何關系。如果在CCBN模型中有type(Dj)=Ti,那么 Ti≥Dj,Dj≥Rj成立。
(3)CUA約束。每個云用戶最多可以擁有的角色包括{D1,D2,D3,…,Dn}中的一個角色和{R1,R2,R3,…,Rn}中的多個角色。而且,任何云用戶所擁有的角色中,不存在屬于{R1,R2,R3,…,Rn}中的兩個角色都受到同一個角色Ti(i∈[1,m])的支配。如果某一個云用戶擁有{D1,D2,D3,…,Dn}中的一個角色Di,那么它必須同時直接擁有角色Ri,不能擁有{R1,R2,R3,…,Rn}中的其他角色。
(4)在云計算中角色管理權(quán)限的配置。每個云用戶都擁有授予自己角色的管理權(quán)限,并且要求云用戶在訪問數(shù)據(jù)對象時如果沒有相應的權(quán)限才會給自己授予相應的角色,所有的云用戶可以取消自己所擁有的D中的角色。
根據(jù)定義,如果從訪問控制模型的初始狀態(tài)開始,對于任何一組訪問請求序列,兩個訪問控制模型的訪問控制決策序列都是相同的,則稱這兩個模型是一致的。其中一個訪問請求是三元組(云端服務器S,云用戶o,訪問模式P),一個訪問決策是允許或拒絕。
證明:
s∈S;r表示讀請求;w表示寫請求;r/w表示讀寫請求;
A(o,N)表示CCBN中的訪問歷史矩陣(o∈O;N是自然數(shù)集合,對應信息數(shù)據(jù)集的編號)。
例如:A(o,i)=true表示云用戶o訪問信息數(shù)據(jù)集Di的數(shù)據(jù);
(1)訪問序列長度為1,即只有一個訪問請求(s,o,r/w)時,顯然,不論是對哪個數(shù)據(jù)的讀、寫請求,CCBN模型的訪問決策都是允許的,而對于假設,云用戶對應的云端服務器可以根據(jù)訪問請求授予相應的訪問權(quán)限,如果是讀請求,就授予云用戶CRd中一個相應角色Ri,如果是寫請求,就授予云用戶相應的D中和CRd中的一個角色{Ri,Di},顯然,這樣授予的角色是符合CUA約束的。云用戶激活角色就可以獲得相應的訪問權(quán)限,所以CCBN模型的配置和假設的訪問決策此時是一致的。另外,訪問導致狀態(tài)轉(zhuǎn)移,有A(o,i)=true,(o,Ri)哿CUA,因此CCBN模型的配置和假設兩者的狀態(tài)也是一致的。
(2)假設訪問序列長度不大于k時,CCBN模型的配置和假設的決策是一致的,并且狀態(tài)也是一致的。那么此時需要證明的是訪問序列長度不大于k+1時,兩者也是一致的。顯然,由于訪問序列中后面的訪問請求不能影響對前面的訪問情況的訪問決策,所以根據(jù)假設,前k個訪問請求的訪問決策是一致的,下面只需要考慮對訪問序列中第k+1個請求的訪問決策是否一致。下面我們根據(jù)不同的情況,分別討論兩者的一致性。
如果第k+1個請求讀某個信息數(shù)據(jù)集i的數(shù)據(jù) (i≠1)。根據(jù)該云用戶是否訪問過同一個利益沖突云中的其他信息數(shù)據(jù)集,CCBN模型必須作出允許或者拒絕的訪問決策。相應的,根據(jù)假設中CUA約束,云端服務器不能或者可以把角色Ri授予該云用戶。這是因為,如果云用戶o訪問過同一個利益沖突云中的其他信息數(shù)據(jù)集j,則A(o,j)=true,(o,Rj)哿CUA。根據(jù)CRH的定義,又因為Di和Dj屬于同一個利益沖突云,所以Ri和Rj都受到T中同一角色的支配。而根據(jù)CUA約束,一個云用戶不能同時擁有這樣的兩個角色,所以云用戶o擁有角色Rj時就不能同時授予角色Ri。
如果某云用戶o沒有訪問過同一個利益沖突云中的其他信息數(shù)據(jù)集j,那么云端服務器可以把角色Ri授予該云用戶。如果該云用戶還擁有一個角色Dc(c≠i)時,根據(jù)CUA約束,它最多可同時再擁有角色Rj和Dc,所以該云用戶必須先取消角色Dc,云端服務器才可以把角色Ri授予該云用戶。
如果第k+1個請求是寫某個信息數(shù)據(jù)集i的數(shù)據(jù)(i≠1)。根據(jù)云用戶是否訪問過任何其他的信息數(shù)據(jù)集,CCBN模型作出拒絕或者允許的訪問決策。
如果某云用戶o沒有訪問過任何其他信息數(shù)據(jù)集j(j≠i),則 A(o,j)=false,(o,Rj)埭CUA。并且注意到根據(jù)CUA約束有(O,Dj)哿CUA圯(o,Dj)哿CUA,所以這時必然有(o,Dj)埭CUA。那么云端服務器S可以把角色{Di,Ri}(如果在這以前云用戶o沒有這兩個角色)或者Di(如果在這以前云用戶o只有角色Ri)授予該云用戶且不違反CUA約束。
如果某云用戶o訪問過某個公司數(shù)據(jù)集j,則A(o,j)=true,(o,Rj)哿CUA,那么云端服務器把角色{Di,Ri}或者 Di授予該云用戶就會違反CUA約束規(guī)定 (當一個云用戶擁有Di,那么它就不能擁有{R1,Ri}之外的角色Rj)。
綜上所述,假設和CCBN模型的配置都是一致的,以此上述假設可以在云計算環(huán)境中得到實際應用。
云計算中數(shù)據(jù)信息的安全問題是云計算中的核心問題之一。云計算時代,安全設備和安全措施的部署位置有所不同,安全責任的主體發(fā)生了變化。本文主要結(jié)合云計算時代所面臨的安全問題,在中國墻模型的基礎上,提出了保證云計算過程中私有云中的敏感數(shù)據(jù)的完整性和保密性的CCBN模型,并闡述了該模型的基本思想以及定義。該模型的優(yōu)點在于繼承了中國墻模型的簡單安全屬性和特性,加強了對敏感數(shù)據(jù)的嚴格保密性以及完整性,但是該模型在取消授權(quán)后是否可以繼續(xù)訪問利益沖突云中的其他信息數(shù)據(jù)集未加以限制,在此方面仍有待研究。
1 Michael M.Cloud computing:web-based applications that change the way you work and collaborate online,2009
2 Brewer D,Nash M.The Chinese wall security policy.In:Proc of the IEEE Symposium on Research in Security and Privacy,Los Alamitos,1989
3 BellK,LaPadula L J.Secure computersystems:unified exposition and multics interpretation.MITRE Corporation,Tech Rep:MTR-2997,1976
4 Biba K J.Integrity considerations for secure computer systems.Technical Report MTR 3153.The Mitre Corporation,1977
5 Clark D,Wilson D.A comparison of commercial and military security policies.In:Proc of the'87 IEEE Symp on Security and Privacy,1987
6 何永忠,李曉峰,馮登國.RBAC實施中國墻模型及其變種的研究.計算機研究與發(fā)展,2007,44(4):615~622
7 Philip W L Fong.Access control by tracking shallow execution history.In:Proc of the 2004 IEEE Symp on Security and Privacy,Los Alamitos,2004
A Security Model Adapted in Cloud Computing
Lin Guoyuan,He Shan
(School of Computer,China University of Mining and Technology,Xuzhou 221008,China)
In this paper,we analyzed some security problems in cloud computing.Based on Chinese wall model(BN model),a new security model named CCBN(cloud computing BN)was put forward,which can be used to protect data integrity and secrecy in private cloud.Then,we explained the elements and configuration scheme in cloud computing with CCBN model.
cloud computing,Chinese wall model,CCBN model
2010-07-28)