本發明涉及訪問控制,特別涉及一種多粒度多強度訪問控制方法及系統。
背景技術:
數據安全由于其在實際應用中的基礎性地位,已經成為最亟待突破和解決的首要問題。
在研究和實踐過程中,本發明的發明人發現:傳統訪問控制模型如自主訪問控制模型,權限授予基本單位為用戶,管控粒度較粗,但管理方便,實際應用較多;分布式信息流控制模型,可管控進程級的行為,管控粒度較細,但管理復雜,實際應用相對較少,此外,信息流控制模型對信息流的管控強度比自主訪問控制模型更強,從機密性角度來說,在信息流模型中,一個進程在被授權讀取一個機密性文件的同時,也限制了該進程的寫行為,只能向相同或更高機密等級寫數據,而在傳統模型如自主訪問控制模型中,一個進程在被授權讀取一個機密性文件的同時,其寫行為并沒有受到限制,從完整性的角度來說,亦是如此,兩種模型各有優缺點,所以發明結合粗粒度低強度的訪問控制模型和細粒度高強度的信息流訪問控制模型,集成設計一種多粒度多強度的訪問控制模型來保護數據安全,該模型能擴展到云平臺的數據保護。
技術實現要素:
針對現有技術的不足,本發明提出一種多粒度多強度訪問控制方法及系統。
本發明提出一種多粒度多強度訪問控制方法,包括:
步驟1,構建多粒度多強度訪問控制模型,包括粗粒度低強度的訪問控制模型與細粒度高強度的信息流控制模型,所述多粒度多強度訪問控制模型包括的實體為客體的安全標記、主體的安全標記、全局訪問控制模式;
步驟2,設置訪問控制規則,通過所述訪問控制規則進行訪問控制。
所述粗粒度低強度的訪問控制模型為自主訪問控制模型,所述細粒度高強度的信息流控制模型為分布式信息流控制模型。
所述步驟2中所述訪問控制規則包括DAC信息流控制規則、DIFC信息流控制規則。
用p表示主體,DACInfo(p)表示p的DAC訪問控制屬性信息,PrivilegeCodeSet(p)表示p的特權碼集,用f表示客體,ACL(f)表示f的DAC訪問控制列表,PrivilegeCodeSet(f)表示f的特權碼集,所述DAC信息流控制規則為:
1)如果p與f的安全標記滿足以下關系:
DACInfo(p)滿足ACL(f)中的安全策略,則主體對客體的操作是安全的;
2)如果不滿足1)中的關系,但滿足以下關系:
PrivilegeCodeSet(p)擁有PrivilegeCodeSet(f)中特權碼,則從主體對客體的操作也是安全的。
用p,q表示主體或者客體,Sp表示p的機密性標簽集,Ip表示p的完整性標簽集,Dp表示p的雙權限標簽集,Rp表示p的可刪除標簽集,Ap表示p的可添加標簽集,所述DIFC信息流控制規則的控制規則為:
1)如果p和q的安全標記滿足以下關系
且
則從p到q的數據流動就是安全的;
2)如果不滿足1)中的關系,但滿足以下關系:
且
則從p到q的數據流動也是安全的,而且無需改變p,q的安全標記,直接進行通信;
如果不滿足1)與2)中的關系,但滿足以下關系:
且
則p和q進行通信,但在通信之前,需要將安全標記改變,以滿足如下關系:
且
本發明還提出一種多粒度多強度訪問控制系統,包括:
構建模型模塊,用于構建多粒度多強度訪問控制模型,包括粗粒度低強度的訪問控制模型與細粒度高強度的信息流控制模型,所述多粒度多強度訪問控制模型包括的實體為客體的安全標記、主體的安全標記、全局訪問控制模式;
訪問控制模塊,用于設置訪問控制規則,通過所述訪問控制規則進行訪問控制。
所述粗粒度低強度的訪問控制模型為自主訪問控制模型,所述細粒度高強度的信息流控制模型為分布式信息流控制模型。
所述訪問控制模塊中所述訪問控制規則包括DAC信息流控制規則、DIFC信息流控制規則。
用p表示主體,DACInfo(p)表示p的DAC訪問控制屬性信息,PrivilegeCodeSet(p)表示p的特權碼集,用f表示客體,ACL(f)表示f的DAC訪問控制列表,PrivilegeCodeSet(f)表示f的特權碼集,所述DAC信息流控制規則為:
1)如果p與f的安全標記滿足以下關系:
DACInfo(p)滿足ACL(f)中的安全策略,則主體對客體的操作是安全的;
2)如果不滿足1)中的關系,但滿足以下關系:
PrivilegeCodeSet(p)擁有PrivilegeCodeSet(f)中特權碼,則從主體對客體的操作也是安全的。
用p,q表示主體或者客體,Sp表示p的機密性標簽集,Ip表示p的完整性標簽集,Dp表示p的雙權限標簽集,Rp表示p的可刪除標簽集,Ap表示p的可添加標簽集,所述DIFC信息流控制規則的控制規則為:
1)如果p和q的安全標記滿足以下關系
且
則從p到q的數據流動就是安全的;
2)如果不滿足1)中的關系,但滿足以下關系:
且
則從p到q的數據流動也是安全的,而且無需改變p,q的安全標記,直接進行通信;
如果不滿足1)與2)中的關系,但滿足以下關系:
且
則p和q進行通信,但在通信之前,需要將安全標記改變,以滿足如下關系:
且
由以上方案可知,本發明的優點在于:
本發明引入訪問控制模式,集成粗粒度低強度的訪問控制模型和細粒度高強度的信息流控制模型,得到新模型具備多粒度多強度的訪問控制特點;方便全局粗粒度的數據隔離保護和細粒度的數據共享,具備了傳統訪問控制模型和分布式信息流控制模型的優點;通過設計適用于云平臺的管控類型列表,能擴展到云平臺的數據保護。
附圖說明
圖1為一種多粒度多強度訪問控制模型圖;
圖2為引入特權碼的DAC模型圖;
圖3為不同訪問控制模式下的訪問控制特征圖。
具體實施方式
本發明提出一種多粒度多強度訪問控制方法,構建多粒度多強度訪問控制模型,如圖1所示:
1)引入訪問控制模式,集成粗粒度低強度的訪問控制模型和細粒度高強度的信息流控制模型;
2)提供多粒度的訪問控制,不同全局類型的粗粒度管控和不同進程級別的細粒度管控;
3)提供多強度的訪問控制,傳統訪問控制模型的弱管控和信息流控制模型的強管控;
4)能擴展到云平臺的數據保護。
粗粒度低強度的訪問控制模型和細粒度高強度的信息流控制模型的集成。粗粒度低強度的訪問控制模型如自主訪問控制模型、基于角色訪問控制模型等,細粒度高強度的信息流控制模型如分布式信息流控制模型等。下列敘述以自主訪問控制模型和分布式信息流控制模型為例。
該模型中用于訪問控制的實體如下:
客體安全標記,包括三部分:DAC訪問控制屬性(DACAttribute)、DIFC訪問控制屬性(DIFCAttribute)和局部訪問控制模式(Local Access Control Mode,LocalACM)。
客體的DACAttribute可以是一個傳統DAC模型的訪問控制列表(ACL),在ACL中聲明了特定主體對該客體執行特定操作的權限;還包括一個特權碼集(Privilege Code Set),用于授權給某個主體一個特權碼(Privilege Code)從而授權該主體讀或寫的權限,根據操作不同有不同類型的特權碼,如讀特權碼,寫特權碼等;客體的DIFCAttribute是一個DIFC安全標記;LocalACM是適用于該客體的訪問控制模式,有五個取值Default,OnlyDAC,OnlyDIFC,DACAndDIFC,DACOrDIFC,客體的訪問控制模式決定了當主體訪問該客體時執行什么安全策略檢查:當取值為OnlyDAC時,僅執行自主訪問控制模型的策略檢查;當取值為OnlyDIFC時,僅執行分布式信息流訪問控制模型的策略檢查;當取值為DACAndDIFC時,執行自主訪問控制模型和分布式信息流訪問控制模型的策略檢查,并且只有在兩個模型均允許訪問時,才允許訪問;當取值為DACOrDIFC時,執行自主訪問控制模型和分布式信息流訪問控制模型的策略檢查,并且只有在兩個模型均拒絕訪問時,才拒絕訪問;當取值為Default時,客體訪問控制模式和全局訪問控制模式一致。客體的DIFC安全標記,包括機密性標簽和完整性標簽,表達了客體創建者對客體添加的安全屬性,用于保護客體的機密性和完整性。主體在創建客體時,可創建標簽,并向該客體添加標簽。客體的安全屬性,包括用于訪問控制的客體屬性,如客體所屬主體(客體創建者)。客體可以擁有不同LocalACM取值的多個標記,以實現靈活的訪問控制。
客體的安全標記可設計為:
[DACAttribute;DIFCAttribute;LocalACM]=[
ACL;PrivilegeCodeSet;
TagSets(IntegrityTagSet,SecurityTagSet);
LocalACM
]。
主體安全標記包括兩部分:DAC訪問控制屬性、DIFC訪問控制屬性。
主體的DACAttribute是主體的DAC訪問控制信息(DACInfo),如用戶、組等;還包括一個特權碼集(Privilege Code Set),用于授權給某個主體一個特權碼(Privilege Code)從而授權該主體讀或寫的權限;主體的DIFCAttribute是一個DIFC安全標記。主體的DIFC安全標記,包括標簽集和能力集。主體的標簽包括機密性標簽和完整性標簽,表達了主體的安全屬性,也表達了主體的操作權限。主體可通過自身能力添加標簽和刪除標簽。主體的安全能力,每個標簽對應可添加標簽和可刪除標簽,分別實現向主體添加標簽和刪除標簽,所以一共有四種能力。主體在創建客體時,可以創建標簽,同時產生可添加標簽能力和可刪除標簽能力。主體向客體添加標簽,設置客體的安全屬性和訪問要求;也可以通過能力授權,將能力分享出去,實現對客體數據共享。主體的能力可來自自己創建標簽時產生的能力,也可來自其它主體的能力授予。主體的安全屬性,包括用于訪問控制的客體屬性,如主體的用戶組,主體的角色等。主體只有一個安全標記。
主體的安全標記可設計為:
[DACAttribut;DIFCAttribute]=[
DACInfo,PrivilegeCodeSet;
TagSets(IntegrityTagSet,SecurityTagSet),CapSets(AddIntegrityTagSet,AddSecurityTagSet,RemoveIntegrityTagSet,RemoveSecurityTagSet);
]。
全局訪問控制模式(Global Access Control Mode,GlobalACM)設置全局默認的訪問控制模式,有四個取值OnlyDAC,OnlyDIFC,DACAndDIFC,DACOrDIFC。
客體是指被訪問的資源,如文件等。主體是指可訪問資源的進程或線程,同一個可執行文件運行的2個進程,認為是不同的主體,如果其屬性不同,則安全屬性也不同。全局能力表用于實現粗粒度的信息流控制;細粒度能力表用于實現細粒度的信息流控制。
多粒度多強度訪問控制模型的DAC信息流控制規則如下:
用p表示主體,DACInfo(p)表示p的DAC訪問控制屬性信息,如用戶User(p),Group(p)等;PrivilegeCodeSet(p)表示p的特權碼集;用f表示客體,ACL(f)表示f的DAC訪問控制列表,PrivilegeCodeSet(f)表示f的特權碼集。安全的信息流動規則如下:
如果p和f的安全標記滿足以下關系:
DACInfo(p)滿足ACL(f)中的安全策略,
那么p對f的操作是安全的。
如果不滿足上述關系(1),但是滿足以下關系:
PrivilegeCodeSet(p)擁有PrivilegeCodeSet(f)中特權碼,
那么從p對f的操作也是安全的。
多粒度多強度訪問控制模型的DIFC信息流控制規則如下:
用p,q表示主體或者客體,Sp表示p的機密性標簽集,Ip表示p的完整性標簽集,Dp表示p的雙權限標簽集,Rp表示p的可刪除標簽集,Ap表示p的可添加標簽集。安全的信息流動規則如下:
如果p和q的安全標記滿足以下關系
且
那么從p到q的數據流動就是安全的。
如果不滿足上述關系(1),但是滿足
且
那么從p到q的數據流動也是安全的,而且不需要改變p,q的安全標記,就可以直接進行通信。上述關系式說明p,q可以通過改變自身標記去完成安全通信,而且通信結束還可以將標記還原到通信前狀態。
如果不滿足上述關系(1)和(2),但是滿足
且
那么p和q也可以進行通信,但是在通信之前,需要通過自身能力將安全標記改變,以滿足如下關系
且
這種情況下,并不能保證通信結束后p和q能將標記還原到通信前狀態,所以要改變自身安全標記之后才能進行通信。
本發明還引入了訪問控制模式,包括全局訪問控制模式和局部訪問控制模式:
GlobalACM是設置全局默認的訪問控制模式,有四個取值OnlyDAC,OnlyDIFC,DACAndDIFC,DACOrDIFC。LocalACM是適用于該客體的訪問控制模式,有五個取值Default,OnlyDAC,OnlyDIFC,DACAndDIFC,DACOrDIFC。OnlyDAC表示實施訪問控制時只依據DACAttribute做判斷,即權利要求3中的訪問控制規則;OnlyDIFC表示實施訪問控制時只依據DIFCAttribute規則做判斷,即權利要求4中的訪問控制規則;DACAndDIFC表示實施訪問控制時需要同時滿足DACAttribute和DIFCAttribute;DACOrDIFC表示實施訪問控制時需要滿足DACAttribute或DIFCAttribute即可。
本發明在傳統DAC的基礎上引入了特權碼,實現傳統DAC的細粒度訪問控制,以方便訪問控制策略的制定,如圖2所示:
傳統DAC最小管控粒度是用戶級別的,控制特定用戶對客體的讀寫等操作的行為;在引入特權碼之后,可實現特定應用進程對客體的讀寫等操作的行為,將某個特權碼授權給某一類進程(如某個應用程序啟動的多個進程為一類進程),可實現只對該類進程的授權。
本發明提供多粒度的訪問控制,不同全局類型的粗粒度管控和不同進程級別的細粒度管控:
DACAttribute用于實現不同全局類型的粗粒度訪問控制,可用于實現對數據的全局隔離保護和數據共享。可定義不同全局類型的主體,如在傳統DAC中的不同全局類型主體有:Group,User等。在ACL中對不同全局類型主體的特定操作權限進行規定,即可實現對不同全局類型的粗粒度訪問控制。
DIFCAttribute用于實現進程級別的細粒度訪問控制,可用于實現細粒度的隔離保護和數據共享。
通過引入訪問控制模式,靈活使用不同的訪問控制模式,最終實現不同全局類型的粗粒度管控和不同進程級別的細粒度管控。客體可以擁有不同LocalACM取值的多個標記,以實現靈活的訪問控制。LocalACM取值為OnlyDAC,則實現不同全局類型的粗粒度訪問控制,如實現規定某個用戶的操作行為,實現規定某個用戶組的操作行為等。LocalACM取值為OnlyDIFC,則實現進程級別的細粒度訪問控制,如實現規定了某一特定進程的操作行為。LocalACM取值為DACAndDIFC,則實現特定全局類型種特定進程的訪問控制,如實現規定了某一用戶的某一進程的操作行為。LocalACM取值為DACOrDIFC,則實現LocalACM取值OnlyDAC或OnlyDIFC時的訪問控制。
使用本發明模型,可同時根據粗粒度管控和細粒度管控的優缺點,設計符合實際應用場景的訪問策略。
本發明提供多強度的訪問控制,傳統訪問控制模型的弱管控和信息流控制模型的強管控:
信息流控制模型對信息流的管控強度比傳統訪問控制模型如自主訪問控制模型更強,從機密性角度來說,在信息流模型中,一個進程在被授權讀取一個機密性文件的同時,也限制了該進程的寫行為,只能向相同或更高機密等級寫數據;而在傳統模型如自主訪問控制模型中,一個進程在被授權讀取一個機密性文件的同時,其寫行為并沒有受到限制,從完整性的角度來說,亦是如此。
所以,在本模型中可通過DACAttribute實現弱管控,通過DIFCAttribute實現強管控,方便根據需要制定訪問控制策略,使用本發明模型,可同時根據強管控和弱管控的優缺點,設計符合實際應用場景的訪問策略。
本發明能擴展到云平臺的數據保護:
定義管控類別列表:ControlTypeList=[ControlType1,ControlType2,…,ControlTypeN]。通過定義多個管控類別,實現對數據的不同粒度的訪問控制。在DACAttribute中實現對ControlTypList中不同管控類別的管控,最終可將該模型應用到該管控類別列表。
在不同的應用場景,可設計不同的管控類別列表,設計適應于云平臺的管控類別列表,能將現有模型擴展到云平臺的數據保護。
在DAC中,可包含的管控類別有:用戶(OSUser),用戶組(OSGroup)。則多粒度管控類別列表為OSControlTypeList=[OSUser,OSGroup]。
在RBAC中,可包含的管控類別有:用戶(OSUser),用戶組(OSGroup),角色(OSRole),則多粒度管控類別列表為OSControlTypeList=[OSUser,OSGroup,OS,Role]。
在云平臺基礎設施即服務(IaaS)中,以Openstack為例,可包含的管控類別有:云域(CloudDomain),云項目(CloudProject),云實例(CloudInstance),云組(CloudGroup),云用戶(CloudUser),云角色(CloudRole),用戶(OSUser),用戶組(OSGroup),角色(OSRole),則管控類別列表為IaaSControlTypeList=[CloudDomain,CloudProject,CloudInstance,CloudGroup,CloudUser,CloudRole,OSUser,OSGroup,OSRole]。
在云平臺軟件即服務(SaaS)中,可包含的管控類別有:云域(CloudDomain),云項目(CloudProject),云實例(CloudInstance),云組(CloudGroup),云用戶(CloudUser),云角色(CloudRole),則管控類別列表為SaaSControlTypeList=[CloudDomain,CloudProject,CloudInstance,CloudGroup,CloudUser,CloudRole]。
本發明還提出一種多粒度多強度訪問控制系統,包括:
構建模型模塊,用于構建多粒度多強度訪問控制模型,包括粗粒度低強度的訪問控制模型與細粒度高強度的信息流控制模型,所述多粒度多強度訪問控制模型包括的實體為客體的安全標記、主體的安全標記、全局訪問控制模式;
訪問控制模塊,用于設置訪問控制規則,通過所述訪問控制規則進行訪問控制。
所述粗粒度低強度訪問控制模型為自主訪問控制模型,所述細粒度高強度信息流控制模型為分布式信息流控制模型。
所述訪問控制模塊中所述訪問控制規則包括DAC信息流控制規則、DIFC信息流控制規則。
用p表示主體,DACInfo(p)表示p的DAC訪問控制屬性信息,PrivilegeCodeSet(p)表示p的特權碼集,用f表示客體,ACL(f)表示f的DAC訪問控制列表,PrivilegeCodeSet(f)表示f的特權碼集,所述DAC信息流控制規則為:
1)如果p與f的安全標記滿足以下關系:
DACInfo(p)滿足ACL(f)中的安全策略,則主體對客體的操作是安全的;
2)如果不滿足1)中的關系,但滿足以下關系:
PrivilegeCodeSet(p)擁有PrivilegeCodeSet(f)中特權碼,則從主體對客體的操作也是安全的。
用p,q表示主體或者客體,Sp表示p的機密性標簽集,Ip表示p的完整性標簽集,Dp表示p的雙權限標簽集,Rp表示p的可刪除標簽集,Ap表示p的可添加標簽集,所述DIFC信息流控制規則的控制規則為:
1)如果p和q的安全標記滿足以下關系
且
則從p到q的數據流動就是安全的;
2)如果不滿足1)中的關系,但滿足以下關系:
且
則從p到q的數據流動也是安全的,而且無需改變p,q的安全標記,直接進行通信;
如果不滿足1)與2)中的關系,但滿足以下關系:
且
則p和q進行通信,但在通信之前,需要將安全標記改變,以滿足如下關系:
且
以下為本發明的一實施例,如下所示:
本發明提出一種多粒度多強度訪問控制模型,如圖1所示:
以自主訪問控制模型和分布式信息流控制模型為例。此時可包含的管控類別有:用戶(OSUser),用戶組(OSGroup),則多粒度管控類別列表為OSControlTypeList=[OSUser,OSGroup]。
該模型中用于訪問控制的實體如下:
客體的安全標記可設計如下,其中LocalACM是適用于該客體的訪問控制模式,有五個取值Default,OnlyDAC,OnlyDIFC,DACAndDIFC,DACOrDIFC。根據LocalACM取值不同,客體可擁有4個安全標記,LocalACM的取值為OnlyDAC,OnlyDIFC,DACAndDIFC,DACOrDIFC,ACL聲明了特定主體對該客體執行特定操作的權限;其元素可設計為(subject,read,write,exec)。PrivilegeCodeSet是用于授權給某個主體一個特權碼從而授權該主體讀或寫的權限,其元素可設計為(privilegeCode,operation)。
[DACAttribute;DIFCAttribute;LocalACM]=[
ACL;PrivilegeCodeSet;
TagSets(IntegrityTagSet,SecurityTagSet);
LocalACM
]。
主體的安全標記可設計如下,其中DACInfo包括該主體的User,GroupSet;PrivilegeCodeSet元素可設計為(privilegeCode,operation);每個標簽是一個唯一的隨機整數,每個標簽對應2個能力可添加能力和可刪除能力。TagSet是一個標簽集合,其元素為標簽。
[DACAttribut;DIFCAttribute]=[
DACInfo,PrivilegeCodeSet;
TagSets(IntegrityTagSet,SecurityTagSet),CapSets(AddIntegrityTagSet,AddSecurityTagSet,RemoveIntegrityTagSet,RemoveSecurityTagSet);
]。
全局訪問控制模式(Global Access Control Mode,GlobalACM)設置全局默認的訪問控制模式,有四個取值OnlyDAC,OnlyDIFC,DACAndDIFC,DACOrDIFC。
客體是指被訪問的資源,如文件等。主體是指可訪問資源的進程或線程,同一個可執行文件運行的2個進程,認為是不同的主體,如果其屬性不同,則安全屬性也不同,全局能力表用于實現粗粒度的信息流控制;細粒度能力表用于實現細粒度的信息流控制。
該模型的DAC信息流控制規則如下:
用p表示主體,DACInfo(p)表示p的DAC訪問控制屬性信息,如用戶User(p),Group(p)等;PrivilegeCodeSet(p)表示p的特權碼集;用f表示客體,ACL(f)表示f的DAC訪問控制列表,PrivilegeCodeSet(f)表示f的特權碼集,安全的信息流動規則如下:
如果p和f的安全標記滿足以下關系:
DACInfo(p)滿足ACL(f)
那么p對f的操作是安全的。
如果不滿足上述關系(1),但是滿足
PrivilegeCodeSet(p)擁有PrivilegeCodeSet(f)中特權碼
那么從p對f的操作也是安全的。
該模型的DIFC信息流控制規則如下:
用p,q表示主體或者客體,Sp表示p的機密性標簽集,Ip表示p的完整性標簽集,Dp表示p的雙權限標簽集,Rp表示p的可刪除標簽集,Ap表示p的可添加標簽集。安全的信息流動規則如下:
如果p和q的安全標記滿足以下關系
且
那么從p到q的數據流動就是安全的。
如果不滿足上述關系(1),但是滿足
且
那么從p到q的數據流動也是安全的,而且不需要改變p,q的安全標記,就可以直接進行通信,上述關系式說明p,q可以通過改變自身標記去完成安全通信,而且通信結束還可以將標記還原到通信前狀態。
如果不滿足上述關系(1)和(2),但是滿足
且
那么p和q也可以進行通信,但是在通信之前,需要通過自身能力將安全標記改變,以滿足如下關系
且
如上關系中的個元素,分別表示p與q通過自身能力改變安全標記后的機密性標簽集和完整性標簽集:p的新機密性標簽級,q的新機密性標簽機,q的新完整性標簽集和p的新完整性標簽集。這種情況下,并不能保證通信結束后p和q能將標記還原到通信前狀態,所以要改變自身安全標記之后才能進行通信。
該模型引入了訪問控制模式,包括全局訪問控制模式和局部訪問控制模式。GlobalACM和LocalACM的取值及其含義如下,GlobalACM設置全局默認的訪問控制模式,有四個取值OnlyDAC,OnlyDIFC,DACAndDIFC,DACOrDIFC,LocalACM是適用于該客體的訪問控制模式,有五個取值Default,OnlyDAC,OnlyDIFC,DACAndDIFC,DACOrDIFC,OnlyDAC表示實施訪問控制時只依據DACAttribute做判斷,即權利要求3中的訪問控制規則;OnlyDIFC表示實施訪問控制時只依據DIFCAttribute規則做判斷,即權利要求4中的訪問控制規則;DACAndDIFC表示實施訪問控制時需要同時滿足DACAttribute和DIFCAttribute;DACOrDIFC表示實施訪問控制時需要滿足DACAttribute或DIFCAttribute即可。
該模型通過引入訪問控制模式,靈活使用不同的訪問控制模式,最終實現不同全局類型的粗粒度管控和不同進程級別的細粒度管控,LocalACM取不同值時實現的訪問控制有如下特征,如圖3所示,客體可以擁有不同LocalACM取值的多個標記,以實現靈活的訪問控制,LocalACM取值為OnlyDAC,則實現不同全局類型的粗粒度訪問控制,如實現規定某個用戶的操作行為,實現規定某個用戶組的操作行為等,LocalACM取值為OnlyDIFC,則實現進程級別的細粒度訪問控制,如實現規定了某一特定進程的操作行為,LocalACM取值為DACAndDIFC,則實現特定全局類型種特定進程的訪問控制,如實現規定了某一用戶的某一進程的操作行為,LocalACM取值為DACOrDIFC,則實現LocalACM取值OnlyDAC或OnlyDIFC時的訪問控制。
本模型中可通過DACAttribute實現弱管控,通過DIFCAttribute實現強管控,方便根據需要制定訪問控制策略。
該訪問控制模型的實現需要以下模塊。
數據存儲模塊:存儲客體安全標記、主體安全標記、審計日志及其它訪問控制信息。可采用數據庫存儲或文件存儲等方式。
攔截系統調用模塊:用于攔截系統讀寫等操作,為訪問控制策略執行做準備。
策略管理模塊:用于響應主體、客體的安全標記的讀寫,為權限授予和訪問控制策略執行等提供服務。
策略執行模塊:根據從策略管理模塊獲取的主客體安全標記,實施訪問控制。
審計模塊:負責訪問控制模型的審計工作。