林果園,賀 珊
(中國礦業大學計算機學院 徐州 221008)
一種云計算環境下的安全模型*
林果園,賀 珊
(中國礦業大學計算機學院 徐州 221008)
本文針對當前流行的云計算技術,分析了其所面臨的安全問題。以中國墻模型(簡稱BN模型)為基礎提出了保護云端服務器私有云中敏感數據完整性和保密性的CCBN(cloud computing BN)模型,并給出了該模型的基本原理和在云環境中應用該模型的配置方案。
云計算;中國墻模型;CCBN模型
* 江蘇省自然科學基金資助項目(No.BK2007035),中國礦業大學青年基金資助項目(No.0D061035,No.2007A047)
云計算[1](cloud computing)作為一個新的網絡應用模式被提出,是一種新興的計算模式。云計算也是一種分布式計算,是在網格計算的基礎上發展而來的。
在云計算時代,數據存儲方式打破傳統模式,所有數據以托管的方式存儲在云端服務器中,用戶只需通過云服務商提供的API(應用程序編程接口),通過瀏覽器就可以隨時隨地獲取所需要的數據和服務。服務模式的改變也帶來了諸多云計算信息系統的安全問題,如開放的接口為非法訪問提供了可能,非法用戶會進入信息系統竊取企業和用戶機密數據,數據完整性和保密性受到巨大威脅。
為了解決上述安全問題,近幾年提出了公有云與私有云的概念。公有云即云計算可以作為一種共用設施,提供社會服務;私有云即云計算可以為企業提供信息化的集中計算平臺。為確保數據的完整性和保密性,一般將企業的敏感數據存放在私有云中。
本文主要以中國墻模型為基礎,提出了保護云端服務器私有云中敏感數據的完整性和保密性的CCBN模型。
云計算是分布式計算技術的一種,其最基本的概念是透過網絡將龐大的計算處理程序自動分拆成無數個較小的子程序,再交由多部服務器所組成的龐大系統經搜尋、計算分析之后將處理結果回傳給用戶。透過這項技術,網絡服務提供者可以在數秒之內,達成處理數以千萬計甚至億計的信息,達到和“超級計算機”同樣強大效能的網絡服務。
云計算的定義關鍵在于“云”這個詞。對我們而言,云是一組數量眾多的互聯在一起的計算機。這些計算機可以是個人電腦或網絡服務器,它們可以是公有的或私有的。這種計算機云能夠延伸到單獨的公司或企業之外。云所提供的應用和數據可廣泛用于許多用戶,可跨企業和跨平臺。對云的訪問是通過互聯網完成的,任何被授權的用戶都可以從任何一臺計算機上通過互聯網連接訪問這些文檔和應用。

云計算平臺是一個強大的“云”網絡,連接了大量并發的網絡計算和服務,可以利用虛擬化技術擴展每一個服務器的能力,將各自的資源通過云計算平臺結合起來,提供超級計算和存儲能力。通用的云計算體系結構如圖1所示。
中國墻模型是商業環境中一種典型的訪問控制模型,這種模型最初來源于證券咨詢業務的安全需求。根據有關法律法規要求,證券公司的咨詢人員不能在知道一個企業的競爭對手的內部信息后為該企業咨詢,以防止“利益沖突”。根據這些規定,Brewer和Nash等人[2]提出了一種類似于多級強制策略BLP(bell lapudula)模型[3]實施中國墻策略的安全模型(簡稱BN模型),該模型提出后受到高度的重視,被認為是商業領域的BLP模型,BN模型中每個公司的數據屬于一個公司數據集,具有競爭關系的公司數據集構成一個利益沖突類,該模型的簡單安全性要求一個用戶不能同時訪問同一個利益沖突類中不同公司的數據集,簡單安全性直接反映了相關規則的要求,即根據主體已具有的訪問權力來確定是否可以訪問當前數據。
中國墻模型既繼承了BLP模型的保密性策略,又承接了Biba模型[4]和CW模型[5]的完整性策略,模型中提出了中國墻的概念,設計了一個規則集主體不能訪問“墻”另一邊的客體。另外,BN模型還支持清潔信息(sanitized information),所有的用戶都可以讀取清潔信息(所謂清潔信息指所有可以公開的信息)。
BN模型由以下基本元素組成:O、S、G和T分別表示對象集合、主體集合、公司數據集的集合、利益沖突類集合。
s∈S,表示一個主體;o∈O,表示一個客體;
group(o):O→G(o∈O),把對象映射到公司數據集的函數;
type:G→T,把公司數據集映射到利益沖突類的函數。
BN模型滿足以下兩個安全性質[6]。
(1)BN—簡單安全性質
一個主體s可以訪問(讀、寫)數據對象o的條件是滿足下列兩條件之一:
·主體s已經訪問過與對象o屬于同一個公司數據集的對象 o’,即 group(o)=group(o’);
· 對于主體s訪問過的每一個對象o’,它屬于的公司數據集都和對象o的公司數據集不在同一個利益沖突類中,即 type(group(o))≠type(group(o’))。
(2)BN—特性
一個主體s可以寫數據對象o的條件是下面兩個條件都滿足:
· 據BN—簡單安全性質,主體s可以訪問該對象o;
· 對于所有的對象o’,如果主體s訪問過該對象o’,則該對象必須與主體s將要寫的對象o在同一個公司數據集中,或者是清潔數據,即group(o)=group(o’)。
為了保護云計算私有云中敏感數據的保密性和完整性,我們提出CCBN模型,該模型結合了中國墻模型的特點,可以有效地防止數據在云中的流失。
該模型的基本思想是只允許云用戶訪問與其所擁有的信息沒有利益沖突的云內信息。云用戶第一次選擇可以自由選擇任何一個云中的數據,這是因為云用戶中沒有任何有關云端服務器數據集中的數據,所以不存在任何沖突。但是,云用戶一旦做出選擇并且訪問了某個云中的數據,它的訪問權限就會被限定,不能再對這個利益沖突云中的其他云中的數據進行訪問,只能對這個限定的云中的信息數據或其他利益沖突云中的數據進行訪問。

如圖2所示,云端服務器數據集中有多個不同企業的私有云,每個相同行業的私有云中又存放各個企業的數據集。最初的時候,云用戶可以訪問云端服務器數據集中的任何一組數據,如果云用戶訪問了信息A1中的某個數據,那么它以后將不能再對信息A2和信息A3中的數據進行訪問,由于證券公司和企業不是一個利益沖突,所以它可以繼續訪問信息B1、信息B2和信息B3。如果云用戶訪問了信息B1中的某個數據集,它將不能再訪問其他證券公司的數據(如信息B2)。這里就指出了CCBN模型的意義,剛開始時云用戶是自由的,沒有墻的存在,可以訪問任何云端數據集中的數據,但當云用戶做出選擇后,中國墻就建立起來了。
CCBN模型由以下5部分組成:
(1)O、S、T、D、CRd、CRH、CUA 分別表示云用戶集合、云端服務器數據集合、利益沖突云、信息數據集、角色集合、角色體系和約束(注:CRH角色體系和CUA約束將在下節中詳細介紹)。
(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),把云用戶映射到信息數據集的函數。
(5)type:D→T,把信息數據集的集合映射到利益沖突云的函數。
CCBN模型繼承了中國墻模型的安全特性。
(1)CCBN—簡單安全屬性
一個云用戶o(o∈O)可以訪問云端服務器數據集中的某個企業的數據集d(d∈D),并且具有讀寫權限,需滿足以下兩個條件之一:
·云用戶o已經訪問過與數據集d屬于同一個信息數據集中的單個數據集d',即 group(d)=group(d’);
·對于云用戶o訪問過的每一個數據集d,它屬于的信息數據集都和數據集d'的信息數據集不在同一個利益沖突云中,即 type(group(d))≠type(group(d’))。
(2)CCBN—特性
一個云用戶o(o∈O)可以寫云端服務器數據集中的某個企業的數據集d(d∈D),必須滿足以下兩個條件:
· 根據CCBN—簡單安全屬性,o可以訪問d;
·對于所有的數據集d,如果云用戶o訪問過該數據集d,則該數據集必須與云用戶o將要寫的數據集d’在同一個信息數據集中,即 group(d)=group(d’)。
在云計算中實際應用CCBN模型的主要思想是:允許每個云用戶都擁有可以授予自己任何角色的管理特權。一個用戶在訪問一個數據集對象時,如果它不具備相應的訪問權限,就要先授予自己相應的角色從而獲得訪問權限。
為了在云計算中實際應用CCBN模型,要求每一個云用戶一定要遵守“必須原則”,即每一個云用戶只有在必須的時候才授予自己相關的角色。如果一個云用戶不需要訪問某個信息數據集中的數據,云端服務器就不會授予相應的角色,該要求是合理的,因為安全系統一般都基于合法云用戶而不是惡意的假設,而且即使某一個云用戶不遵守“必須原則”要求,那么只會導致限制該云用戶的自主訪問權限,但不會導致在競爭公司間形成非法的信息流。因此,任何狀態下,一個云用戶是否訪問過某個公司私有云中的數據集就與擁有對應權限的角色是否被授予了該云用戶等價,所以云用戶—角色關系CUA的狀態變化就等價于云用戶對信息數據集的扁平訪問歷史特性[7];另一方面,通過允許云用戶擁有授予自己角色的管理權限(自主性),并通過對CUA關系進行限制的策略 (強制性)來實際應用CCBN模型的自主和強制兩種特征。

在云計算中應用CCBN模型的配置方案:
假設:CCBN模型中有n個信息數據集 {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)在云計算中角色管理權限的配置。每個云用戶都擁有授予自己角色的管理權限,并且要求云用戶在訪問數據對象時如果沒有相應的權限才會給自己授予相應的角色,所有的云用戶可以取消自己所擁有的D中的角色。
根據定義,如果從訪問控制模型的初始狀態開始,對于任何一組訪問請求序列,兩個訪問控制模型的訪問控制決策序列都是相同的,則稱這兩個模型是一致的。其中一個訪問請求是三元組(云端服務器S,云用戶o,訪問模式P),一個訪問決策是允許或拒絕。
證明:
s∈S;r表示讀請求;w表示寫請求;r/w表示讀寫請求;
A(o,N)表示CCBN中的訪問歷史矩陣(o∈O;N是自然數集合,對應信息數據集的編號)。
例如:A(o,i)=true表示云用戶o訪問信息數據集Di的數據;
(1)訪問序列長度為1,即只有一個訪問請求(s,o,r/w)時,顯然,不論是對哪個數據的讀、寫請求,CCBN模型的訪問決策都是允許的,而對于假設,云用戶對應的云端服務器可以根據訪問請求授予相應的訪問權限,如果是讀請求,就授予云用戶CRd中一個相應角色Ri,如果是寫請求,就授予云用戶相應的D中和CRd中的一個角色{Ri,Di},顯然,這樣授予的角色是符合CUA約束的。云用戶激活角色就可以獲得相應的訪問權限,所以CCBN模型的配置和假設的訪問決策此時是一致的。另外,訪問導致狀態轉移,有A(o,i)=true,(o,Ri)哿CUA,因此CCBN模型的配置和假設兩者的狀態也是一致的。
(2)假設訪問序列長度不大于k時,CCBN模型的配置和假設的決策是一致的,并且狀態也是一致的。那么此時需要證明的是訪問序列長度不大于k+1時,兩者也是一致的。顯然,由于訪問序列中后面的訪問請求不能影響對前面的訪問情況的訪問決策,所以根據假設,前k個訪問請求的訪問決策是一致的,下面只需要考慮對訪問序列中第k+1個請求的訪問決策是否一致。下面我們根據不同的情況,分別討論兩者的一致性。
如果第k+1個請求讀某個信息數據集i的數據 (i≠1)。根據該云用戶是否訪問過同一個利益沖突云中的其他信息數據集,CCBN模型必須作出允許或者拒絕的訪問決策。相應的,根據假設中CUA約束,云端服務器不能或者可以把角色Ri授予該云用戶。這是因為,如果云用戶o訪問過同一個利益沖突云中的其他信息數據集j,則A(o,j)=true,(o,Rj)哿CUA。根據CRH的定義,又因為Di和Dj屬于同一個利益沖突云,所以Ri和Rj都受到T中同一角色的支配。而根據CUA約束,一個云用戶不能同時擁有這樣的兩個角色,所以云用戶o擁有角色Rj時就不能同時授予角色Ri。
如果某云用戶o沒有訪問過同一個利益沖突云中的其他信息數據集j,那么云端服務器可以把角色Ri授予該云用戶。如果該云用戶還擁有一個角色Dc(c≠i)時,根據CUA約束,它最多可同時再擁有角色Rj和Dc,所以該云用戶必須先取消角色Dc,云端服務器才可以把角色Ri授予該云用戶。
如果第k+1個請求是寫某個信息數據集i的數據(i≠1)。根據云用戶是否訪問過任何其他的信息數據集,CCBN模型作出拒絕或者允許的訪問決策。
如果某云用戶o沒有訪問過任何其他信息數據集j(j≠i),則 A(o,j)=false,(o,Rj)埭CUA。并且注意到根據CUA約束有(O,Dj)哿CUA圯(o,Dj)哿CUA,所以這時必然有(o,Dj)埭CUA。那么云端服務器S可以把角色{Di,Ri}(如果在這以前云用戶o沒有這兩個角色)或者Di(如果在這以前云用戶o只有角色Ri)授予該云用戶且不違反CUA約束。
如果某云用戶o訪問過某個公司數據集j,則A(o,j)=true,(o,Rj)哿CUA,那么云端服務器把角色{Di,Ri}或者 Di授予該云用戶就會違反CUA約束規定 (當一個云用戶擁有Di,那么它就不能擁有{R1,Ri}之外的角色Rj)。
綜上所述,假設和CCBN模型的配置都是一致的,以此上述假設可以在云計算環境中得到實際應用。
云計算中數據信息的安全問題是云計算中的核心問題之一。云計算時代,安全設備和安全措施的部署位置有所不同,安全責任的主體發生了變化。本文主要結合云計算時代所面臨的安全問題,在中國墻模型的基礎上,提出了保證云計算過程中私有云中的敏感數據的完整性和保密性的CCBN模型,并闡述了該模型的基本思想以及定義。該模型的優點在于繼承了中國墻模型的簡單安全屬性和特性,加強了對敏感數據的嚴格保密性以及完整性,但是該模型在取消授權后是否可以繼續訪問利益沖突云中的其他信息數據集未加以限制,在此方面仍有待研究。
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實施中國墻模型及其變種的研究.計算機研究與發展,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)