一種多粒度分布式信息流控制方法及系統與流程
2023-05-31 02:35:21 3

本發明涉及訪問控制,特別涉及一種多粒度分布式信息流控制方法及系統。
背景技術:
數據安全由於其在實際應用中的基礎性地位,已經成為最亟待突破和解決的首要問題。
在研究和實踐過程中,本發明的發明人發現:傳統訪問控制模型如自主訪問控制模型,權限授予基本單位為用戶,管控粒度較粗,但管理方便,實際應用較多;分布式信息流控制模型,可管控進程級的行為,管控粒度較細,但管理複雜,實際應用相對較少。
技術實現要素:
針對現有技術的不足,本發明提出一種多粒度分布式信息流控制方法及系統。
本發明提出一種多粒度分布式信息流控制方法,包括:
步驟1,設置多粒度管控類別列表,所述多粒度管控類別列表包括多個管控類別,通過相應的管控類別,對數據進行多粒度的訪問控制,其中每個所述管控類別對應一種全局級別管控與一種全局進程級別管控;
步驟2,創建全局能力表與細粒度能力表,並設置信息流控制規則,通過所述全局能力表、所述細粒度能力表、所述信息流控制規則,對數據進行多粒度多強度訪問控制,其中所述全局能力表用於粗粒度能力授予,其與所述多粒度管控類別列表相對應。
用於訪問控制的主體為:客體標記、主體標記。
用p,q表示主體或者客體,Sp表示p的機密性標籤集,Ip表示p的完整性標籤集,Dp表示p的雙權限標籤集,Rp表示p的可刪除標籤集,Ap表示p的可添加標籤集,所述信息流控制規則為:
1)如果p和q的安全標記滿足以下關係
且
則從p到q的數據流動為安全;
2)如果不滿足1)的關係,但是滿足
且
則從p到q的數據流動為安全的,而且無需改變p,q的安全標記,直接進行通信;
3)如果不滿足1)和2)的關係,但是滿足
且
則p和q可以進行通信,但在通信之前,將安全標記改變,以滿足且
粗粒度能力授權的授權粒度為全局授權粒度,並有多種的全局粒度級別,對應各自的全局能力表;細粒度能力授權的授權粒度關聯到某一類進程,並有多種的細粒度級別,對應各自的細粒度能力表。
還包括全局能力授權方式:主體將創建的能力添加到全局能力表,實現對全局粒度級別的數據保護隔離和共享;
細粒度能力授權方式:主體將創建的能力添加到細粒度能力表,實現對細粒度級別的數據共享;
細粒度能力申請方式:主體向能力創建者申請所述能力,能力創建者判斷是否授予能力,若授予能力,則將所述能力添加到相應列表。
本發明還提出一種多粒度分布式信息流控制系統,包括:
設置多粒度管控類別列表模塊,用於設置多粒度管控類別列表,所述多粒度管控類別列表包括多個管控類別,通過相應的管控類別,對數據進行多粒度的訪問控制,其中每個所述管控類別對應一種全局級別管控與一種全局進程級別管控;
訪問控制模塊,用於創建全局能力表與細粒度能力表,並設置信息流控制規則,通過所述全局能力表、所述細粒度能力表、所述信息流控制規則,對數據進行多粒度多強度訪問控制,其中所述全局能力表用於粗粒度能力授予,其與所述多粒度管控類別列表相對應。
用於訪問控制的主體為:客體標記、主體標記。
用p,q表示主體或者客體,Sp表示p的機密性標籤集,Ip表示p的完整性標籤集,Dp表示p的雙權限標籤集,Rp表示p的可刪除標籤集,Ap表示p的可添加標籤集,所述信息流控制規則為:
1)如果p和q的安全標記滿足以下關係
且
則從p到q的數據流動為安全;
2)如果不滿足1)的關係,但是滿足
且
則從p到q的數據流動為安全的,而且無需改變p,q的安全標記,直接進行通信;
3)如果不滿足1)和2)的關係,但是滿足
且
則p和q可以進行通信,但在通信之前,將安全標記改變,以滿足且
粗粒度能力授權的授權粒度為全局授權粒度,並有多種的全局粒度級別,對應各自的全局能力表;細粒度能力授權的授權粒度關聯到某一類進程,並有多種的細粒度級別,對應各自的細粒度能力表。
還包括全局能力授權方式:主體將創建的能力添加到全局能力表,實現對全局粒度級別的數據保護隔離和共享;
細粒度能力授權方式:主體將創建的能力添加到細粒度能力表,實現對細粒度級別的數據共享;
細粒度能力申請方式:主體向能力創建者申請所述能力,能力創建者判斷是否授予能力,若授予能力,則將所述能力添加到相應列表。
由以上方案可知,本發明的優點在於:
第一、在分布式信息流模型基礎上添加多粒度能力授權方案,方便全局粗粒度的數據隔離保護和細粒度的數據共享,具備了傳統訪問控制模型和分布式信息流控制模型的優點;第二、提供全面的能力授權方式和零機密主體能力授權機制,方便了能力授權,進而方便了數據的隔離保護和共享;第三、通過設計適用於雲平臺的多粒度管控類型列表,能擴展到雲平臺的數據保護。
附圖說明
圖1為一種多粒度能力授權方案圖;
圖2為全面的能力授權方式圖;
圖3為零機密進程能力授權機製圖。
具體實施方式
本發明提出一種多粒度分布式信息流控制模型:
特徵1)提供多粒度的能力授權,包括粗粒度能力授權和細粒度能力授權;
特徵2)提供全面的能力授權方式;
特徵3)使用零機密主體實施能力授權;
特徵4)可同時實現傳統訪問控制的粗粒度管控和分布式信息流控制的細粒度管控的能力;
特徵5)能擴展到雲平臺的數據保護。
多粒度分布式信息流控制模型擁有多粒度管控類別列表:ControlTypeList=[ControlType1,ControlType2,ControlType3,…,ControlT ypeN];一個多粒度管控類別列表包含多個管控類別,通過不同的管控類別,實現對數據的不同粒度的訪問控制;每一種管控類別可對應一種全局級別管控和一種全局進程級別管控。如圖1所示,為當ControlTypeList=[OSGroup,OSRole,OSUser]時的多粒度能力授權方案。。
在傳統訪問控制模型中,可包含的管控類別有:用戶組(OSGroup),角色(OSRole),用戶(OSUser)。則多粒度管控類別列表為OSControlTypeList=[OSGroup,OSRole,OSUser]。
該模型中用於訪問控制的實體如下:
客體標記,包括安全標籤、安全屬性。客體的安全標籤,包括機密性標籤和完整性標籤,表達了客體創建者對客體添加的安全屬性,用於保護客體的機密性和完整性。主體在創建客體時,可創建標籤,並向該客體添加標籤。客體的安全屬性,包括用於訪問控制的客體屬性,如客體所屬主體(客體創建者);
客體標記可設計為:[TagSets(IntegrityTagSet,SecurityTagSet);SecurityAttribute]
主體標記,包括安全標籤、安全能力、安全屬性。主體的安全標籤,包括機密性標籤和完整性標籤,表達了主體的安全屬性,也表達了主體的操作權限。主體可通過自身能力添加標籤和刪除標籤。主體的安全能力,每個標籤對應可添加標籤和可刪除標籤,分別實現向主體添加標籤和刪除標籤,所以一共有四種能力。主體在創建客體時,可以創建標籤,同時產生可添加標籤能力和可刪除標籤能力。主體向客體添加標籤,設置客體的安全屬性和訪問要求;也可以通過能力授權,將能力分享出去,實現對客體數據共享。主體的能力可來自自己創建標籤時產生的能力,也可來自其它主體的能力授予。主體的安全屬性,包括用於訪問控制的客體屬性,如主體的用戶組,主體的角色,主體的用戶等;
主體標記可設計為:[TagSets(IntegrityTagSet,SecurityTagSet);CapSets(AddIntegrityTagSet,AddSecurityTagSet,RemoveIntegrityTagSet,RemoveSecurityTagSet);SecurityAttribute]
全局能力表,用於實現粗粒度能力授予,與多粒度控制類別列表對應;
全局能力表可包含:GlobalCapList=[ControlType1,ControlType2,ControlType3,…,ControlTypeN],即OSGlobalCapList=[OSGroupList,OSRoleList,OSUserList]
細粒度能力表,用於實現細粒度的能力授予,與多粒度控制類別列表對應;
細粒度能力表可包含:
ProcessCapList=[ControlType1,ControlType2,ControlType3,…,Contr olTypeN],即
OSProcessCapList=[OSGroupProcessList,OSRoleProcessList,OSUserProces sList]
客體是指被訪問的資源,如文件等。主體是指可訪問資源的進程或線程,同一個可執行文件運行的2個進程,認為是不同的主體,如果其屬性不同,則安全屬性也不同。全局能力表用於實現粗粒度的信息流控制;細粒度能力表用於實現細粒度的信息流控制;
該模型的信息流控制規則如下:
用p,q表示主體或者客體,Sp表示p的機密性標籤集,Ip表示p的完整性標籤集,Dp表示p的雙權限標籤集,Rp表示p的可刪除標籤集,Ap表示p的可添加標籤集。安全的信息流動規則如下:
S1,如果p和q的安全標記滿足以下關係
且
那麼從p到q的數據流動就是安全的。
S2,如果不滿足上述關係(1),但是滿足
且
那麼從p到q的數據流動也是安全的,而且不需要改變p,q的安全標記,就可以直接進行通信。上述關係式說明p,q可以通過改變自身標記去完成安全通信,而且通信結束還可以將標記還原到通信前狀態。
S3,如果不滿足上述關係(1)和(2),但是滿足
且
那麼p和q也可以進行通信,但是在通信之前,需要通過自身能力將安全標記改變,以滿足如下關係
且
這種情況下,並不能保證通信結束後p和q能將標記還原到通信前狀態,所以要改變自身安全標記之後才能進行通信。
根據數據的類別,又將信息流控制劃分為讀寫文件、進程間通信和網絡通信等。
特徵1)提供多粒度能力授權,通過粗粒度能力授權實現粗粒度的數據保護隔離及共享;通過細粒度能力授權方法實現細粒度的數據保護隔離及共享,如圖1所示:
粗粒度能力授權的授權粒度是全局授權粒度,並有不同的全局粒度級別,對應不同的全局能力表。細粒度能力授權的授權粒度關聯到某一類特定進程(如,一般一個應用啟動的多個進程屬於一類進程,每類進程中的所有進程擁有相同的能力集合,但是它們標籤集合可以不同,從而可以完成不同的任務),並有不同的細粒度級別,對應不同的細粒度能力表。
特徵2)全面的能力授權方式,包括分布式授權方式和集中式授權方式,如圖2所示:
S1-1,分布式授權方式由能力創建者實施,前兩種是分布式主動授權方式,第三種是分布式被動授權方式,包括:
全局能力授權方式:主體將創建的能力添加到全局能力表,實現對該全局粒度級別的數據保護隔離和共享。其它主體可從自身對應的全局能力表中獲取到能力。
細粒度能力授權方式:主體將創建的能力添加到細粒度能力表,實現對該細粒度級別的數據共享。其它主體可從自身對應的細粒度能力表中獲取到能力。
細粒度能力申請方式:其它主體向能力創建者申請該能力,能力創建者判斷授予能力或不授予能力,此時授予直接將能力添加到OSUserProcessList。其它主體可從自身對應的細粒度能力表中獲取到能力。
S1-2,集中式授權方式由管理員或管理進程實施,前兩種是集中式主動授權方式,第三種是集中式被動授權方式,包括:
全局能力授權方式:管理員或管理進程將創建的能力添加到全局能力表,實現對該全局粒度級別的數據保護隔離和共享。其它主體可從自身對應的全局能力表中獲取到能力。
細粒度能力授權方式:管理員或管理進程將創建的能力添加到細粒度能力表,實現對該細粒度級別的數據共享。其它主體可從自身對應的細粒度能力表中獲取到能力。
細粒度能力申請方式:其它主體向管理員或管理進程申請該能力,管理員或管理進程判斷授予能力或不授予能力,此時授予直接將能力添加到OSUserProcessList。其它主體可從自身對應的細粒度能力表中獲取到能力。
特徵3)使用零機密主體實施能力授權,以靈活的共享數據。此處主要指零機密主體實施分布式能力授權,集中式能力授權由管理員或管理進程實施。如圖3所示:
零機密主體指一個主體只擁有其自己創建的標籤。
如果一個主體擁有外來標籤(非自己創建的標籤),且該標籤是一個機密性標籤,那麼該主體可能讀取了該標籤所保護的敏感數據。如果此時主體進行能力授權,會改變授權對象的安全屬性,此時會產生隱通道,洩露機密數據。而如果此時該主體是零機密主體,即該主體沒有外來獲取到的機密性數據,則不會洩露機密數據。在集中式能力授權方式中,由管理員或管理進程實施能力授權,修改授權對象的安全屬性,其它主體無法控制這種行為,所以不會產生隱通道洩露機密數據。所以在本發明模型中如果某個主體包含外來標籤,則其不能執行能力授權等操作。每個主體在執行授權操作時,需要由對應的零機密主體實施能力授權。
一個應用程式同時執行多次,可有多個應用進程。如果進程在加載後是零機密進程,此時可以進行能力授權;在獲取外來標籤後,變成非零機密進程,不能再進行能力授權,如果此時需要進行能力授權則需要由其它零進程實施能力授權。零機密主體必須保證,該主體不能訪問到非零機密主體的數據,例如內存數據等。
特徵4)可同時實現傳統訪問控制的粗粒度管控和分布式信息流控制的細粒度管控的能力。
實現傳統訪問控制的粗粒度管控的能力:本發明的訪問控制模型是在經典分布式信息流控制模型的基礎上添加了不同粒度的能力授權,通過支持全局能力表支持粗粒度能力授權以實現粗粒度的數據保護和共享,同時支持集中式能力授權方式,所以可以實現傳統訪問控制的粗粒度管控。
實現分布式信息流控制的細粒度管控的能力:本發明的訪問控制模型是在經典分布式信息流控制模型的基礎上添加了不同粒度的能力授權,訪問控制實施是進程粒度級別,且提供了進程粒度級別的能力授權方式,所以仍具有細粒度管控能力。
使用本發明模型,可同時根據粗粒度管控和細粒度管控的優缺點,設計符合實際應用場景的訪問策略。
特徵5)能擴展到雲平臺的數據保護。在不同的應用場景,可設計不同的多粒度管控列表。設計適應於雲平臺的多粒度管控列表,能將現有模型擴展到雲平臺的數據保護。
在雲平臺基礎設施即服務中,可包含的管控類別有(以openstack為例):雲域(CloudDomain),雲項目(CloudProject),雲實例(CloudInstance),雲組(CloudGroup),雲用戶(CloudUser),雲角色(CloudRole),用戶(OSUser),用戶組(OSGroup),角色(OSRole)。則多粒度管控類別列表為IaaSControlTypeList=[CloudDomain,CloudProject,CloudInstance,CloudGroup,CloudUser,CloudRole,OSUser,OSGroup,OSRole]。此處的雲域等概念和openstack中有區別,此處是用於保護雲平臺數據的,而在openstack中用於保護雲服務的API。
在雲平臺軟體即服務中,可包含的管控類別有:雲域(CloudDomain),雲項目(CloudProject),雲實例(CloudInstance),雲組(CloudGroup),雲用戶(CloudUser),雲角色(CloudRole)。則多粒度管控類別列表為SaaSControlTypeList=[CloudDomain,CloudProject,CloudInstance,CloudGroup,CloudUser,CloudRole]。此處的雲域等概念是用於保護雲應用的數據。
本發明還提出一種多粒度分布式信息流控制系統,包括:
設置多粒度管控類別列表模塊,用於設置多粒度管控類別列表,所述多粒度管控類別列表包括多個管控類別,通過相應的管控類別,對數據進行多粒度的訪問控制,其中每個所述管控類別對應一種全局級別管控與一種全局進程級別管控;
訪問控制模塊,用於創建全局能力表與細粒度能力表,並設置信息流控制規則,通過所述全局能力表、所述細粒度能力表、所述信息流控制規則,對數據進行多粒度多強度訪問控制,其中所述全局能力表用於粗粒度能力授予,其與所述多粒度管控類別列表相對應。
用於訪問控制的主體為:客體標記、主體標記。
用p,q表示主體或者客體,Sp表示p的機密性標籤集,Ip表示p的完整性標籤集,Dp表示p的雙權限標籤集,Rp表示p的可刪除標籤集,Ap表示p的可添加標籤集,所述信息流控制規則為:
1)如果p和q的安全標記滿足以下關係
且
則從p到q的數據流動為安全;
2)如果不滿足1)的關係,但是滿足
且
則從p到q的數據流動為安全的,而且無需改變p,q的安全標記,直接進行通信;
3)如果不滿足1)和2)的關係,但是滿足
且
則p和q可以進行通信,但在通信之前,將安全標記改變,以滿足且
粗粒度能力授權的授權粒度為全局授權粒度,並有多種的全局粒度級別,對應各自的全局能力表;細粒度能力授權的授權粒度關聯到某一類進程,並有多種的細粒度級別,對應各自的細粒度能力表。
還包括全局能力授權方式:主體將創建的能力添加到全局能力表,實現對全局粒度級別的數據保護隔離和共享;
細粒度能力授權方式:主體將創建的能力添加到細粒度能力表,實現對細粒度級別的數據共享;
細粒度能力申請方式:主體向能力創建者申請所述能力,能力創建者判斷是否授予能力,若授予能力,則將所述能力添加到相應列表。
本發明通過如下技術方案實現。實例為基於Openstack雲計算平臺基礎設施即服務的訪問控制模型的具體設計。
本發明提出一種多粒度分布式信息流控制模型。
在雲平臺基礎設施即服務中,可包含的管控類別有(以openstack為例):雲域(CloudDomain),雲項目(CloudProject),雲實例(CloudInstance),雲組(CloudGroup),雲用戶(CloudUser),雲角色(CloudRole),用戶(OSUser),用戶組(OSGroup),角色(OSRole)。則多粒度管控類別列表為IaaSControlTypeList=[CloudDomain,CloudProject,CloudInstance,CloudGroup,CloudUser,CloudRole,OSUser,OSGroup,OSRole]。此處的雲域等概念和openstack中有區別,此處是用於保護雲平臺數據的,而在openstack中用於保護雲服務的API。CloudGroup,CloudRole和CloudUser提供雲平臺範圍的訪問控制,而OSGroup,CloudRole和OSUser提供具體虛擬機實例內的訪問控制。允許多個CloudUser使用不同的OSUser登錄一個虛擬機實例,同一個CloudUser在不同的虛擬機實例中可使用不同的OSUser。
該模型中用於訪問控制的安全結構有:
客體標記可設計為:[TagSets(IntegrityTagSet,SecurityTagSet);SecurityAttribute]
主體標記可設計為:[TagSets(IntegrityTagSet,SecurityTagSet);CapSets(AddIntegrityTagSet,AddSecurityTagSet,RemoveIntegrityTagSet,RemoveSecurityTagSet);SecurityAttribute]
全局能力表可設計為:IaaSGlobalCapList=[CloudDomainList,CloudProjectList,CloudInstanceList,CloudGroupList,CloudUserList,CloudRoleList,OSUserList,OSGroupList,OSRoleList]
細粒度能力表可設計為:IaaSProcessCapList=[CloudDomainProcessList,CloudProjectProcessList,CloudInstanceProcessList,CloudGroupProcessList,CloudUserProcessList,CloudRoleProcessList,OSUserProcessList,OSGroupProcessList,OSRoleProcessList]
該模型的信息流控制規則如下:
用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能將標記還原到通信前狀態,所以要改變自身安全標記之後才能進行通信。
根據數據的類別,又將信息流控制劃分為讀寫文件、進程間通信和網絡通信等。
粗粒度能力授權的不同全局粒度級別,對應不同的全局能力表,有:[CloudDomainList,CloudProjectList,CloudInstanceList,CloudGroupList,CloudUserList,CloudRoleList,OSUserList,OSGroupList,OSRoleList]
細粒度能力授權的不同的細粒度級別,對應不同的細粒度能力表,有:[CloudDomainProcessList,CloudProjectProcessList,CloudInstanceProcessList,CloudGroupProcessList,CloudUserProcessList,CloudRoleProcessList,OSUserProcessList,OSGroupProcessList,OSRoleProcessList]
可提供能力授權方式如下:
分布式全局能力授權方式:由零機密主體將創建的能力添加到全局能力表,實現對該全局粒度級別的數據保護隔離和共享。其它主體可從自身對應的全局能力表中獲取到能力。
分布式細粒度能力授權方式:由零機密主體將創建的能力添加到細粒度能力表,實現對該細粒度級別的數據共享。其它主體可從自身對應的細粒度能力表中獲取到能力。
分布式細粒度能力申請方式:由其它主體向能力創建者的零機密主體申請該能力,該零機密主體判斷授予能力或不授予能力,此時授予直接將能力添加到CloudUserProcessList。其它主體可從自身對應的細粒度能力表中獲取到能力。
集中式全局能力授權方式:由管理員將創建的能力添加到全局能力表,實現對該全局粒度級別的數據保護隔離和共享。其它主體可從自身對應的全局能力表中獲取到能力。
集中式細粒度能力授權方式:由管理員將創建的能力添加到細粒度能力表,實現對該細粒度級別的數據共享。其它主體可從自身對應的細粒度能力表中獲取到能力。
集中式細粒度能力申請方式:由其它主體向管理員申請該能力,管理員判斷授予能力或不授予能力,此時授予直接將能力添加到CloudUserProcessList。其它主體可從自身對應的細粒度能力表中獲取到能力。
結合零機密主體的機制,一種具體的能力授權方案如下:在進程啟動時,進程是零機密進程,可以進行分布式主動能力授權;在獲取到外來標籤後,由零機密進程實施分布式被動能力授權;任何時候管理員都可以進行集中式能力授權。
使用本發明的訪問控制模型,通過使用全局能力表授權能力,實現粗粒度的數據保護隔離,是粗粒度的信息流管控;通過使用細粒度能力表授權能力,實現細粒度的數據共享,結合進程級的信息流控制執行,是細粒度的信息流管控。
本模型中可通過粗粒度能力授權實現弱管控,通過細粒度能力授權實現強管控,方便根據需要制定訪問控制策略。
該訪問控制模型的實現需要以下模塊。
數據存儲模塊:可採用資料庫存儲或文件存儲等方式,存儲客體安全標記、主體安全標記、審計日誌及其它訪問控制信息。
攔截系統調用模塊:用於攔截系統讀寫等操作,為訪問控制策略執行做準備。
策略管理模塊:為權限授予和訪問控制策略執行等提供服務,獲取和更改主體和客體的安全標記。
策略執行模塊:根據主客體安全標記,實施訪問控制,決策信息流動。
審計模塊:負責審計關鍵事件和記錄日誌的工作。
管理進程或管理員:接收能力申請和實施能力授予。