1 引言
數據資源作為企業的核心資產,直接關系到企業的經濟利益,因此對數據資源訪問的安全性保障工作尤為重要。產品數據管理PDM(Product Dato Management)系統是設計生產型企業的重要信息系統,管理著所有與產品相關的信息(包括產品的零部件信息、結構配置、文件等)和所有與產品相關的過程(包括審批/發放、工程更改、一般流程、配置管理等)。
目前已有一些PDM系統,如TeamCenter、Windchill、e-Matrix、SmartTeam,在航空、能源、船舶制造等領域有著廣泛的應用。但是,實踐過程中發現這些系統中存在一個普遍的問題,即文檔訪問的速度慢,其主要原因在于大型企業對數據細粒度的訪問控制造成了大量的計算。同時,用戶層次多、產品數據量大也增加了權限配置管理上的難度。
本文針對這一問題,結合在某企業PDM系統設計和實現中的實踐,給出了一種PDM-RBAC訪問控制模型,并設計了基于權限位的訪問控制算法,以在滿足訪問控制需求的前提下減少計算時間,提高文檔訪問效率。
本文第2節介紹了典型的訪問控制模型,第3節結合某企業PDM系統對訪問控制的需求,提出了一種PDM-RBAC(PDM Role-Based Access Control)模型;第4節在PDM-RBAC模型的基礎上給出了一種基于權限位的訪問控制判斷算法,并通過對比實驗,說明了本文算法和模型的有效性;最后對本文進行了總結。
2 典型的訪問控制模型
訪問控制技術是保障信息系統安全的一種重要技術,它是通過某種途徑顯式地準許或限制主體對客體訪問能力及范圍的一種方法,通過對資源的限制訪問,防止非法用戶侵入或因為合法用戶的不慎操作而造成的破壞,從而保證系統資源受控地、合法地使用。
傳統的訪問控制有自主訪問控制DAC(Discretionary Access Control)和強制訪問控制MAC(Mandatory Access Control)。自主訪問控制是在確認主體身份以及主體所屬組的基礎上對訪問進行限制的一種方法。DAC中具有某種訪問權的主體能夠自行決定將其訪問權直接或間接地授予其他主體,它具有很大的靈活性,但是,這種靈活性可能會導致權限的傳遞出現失控而導致信息泄露。強制訪問控制是強加給主體的一種訪問控制方式。MAC為所有的主體和客體分配了敏感標簽,利用敏感標簽來確定主體是否可以訪問客體的特定信息,如只有當主體的敏感等級高于或等于客體的敏感等級時,才允許主體訪問客體。MAC的主要缺點在于實現工作量較大,管理不便,對系統連續工作能力和授權的可管理性方面考慮不足。基于角色的訪問控制RBAC是當前應用最為廣泛的訪問控制模型,其中引入了角色的概念,用戶與權限通過角色相關聯,使得授權管理變得簡單。
企業的環境與需求不同,對訪問控制的要求也不同,國內外的計算機學者和技術人員不斷對訪問控制模型進行完善和擴展,提出了一些新的模型,如UCON、Privacy-aware role-based access contro、WRPTAC等。其中,使用控制(UCON)模型基于授權、責任、條件三大決策因素及主客體屬性實現動靜結合的授權策略,包含了DAC、MAC、RBAC、信任管理等,被稱為下一代訪問控制模型;Privacy-aware role-based access control提出了一種支持隱私信息訪問控制機制的框架,擴展了RBAC模型;WRPTAC是RBAC在工作流中的具體應用,是一種新工作流系統的帶權角色與周期時間訪問模型;空間矢量數據細粒度強制查詢訪問控制模型針對敏感空間地理矢量數據形狀不規則、跨多級敏感區域分布的特點,對強制訪問控制模型進行空間擴展,將空間數據查詢與安全策略檢索相結合。本文將要介紹的PDM-RBAC訪問控制模型也是對RBAC模型的一種擴展。
3 PDM-RBAC訪問控制模型
企業內不同層次的用戶在同一個PDM集成環境下工作。產品過程的每一個步驟涉及到各種人員,他們在產品生命周期中對數據文檔有不同的操作,需要被授予不同的權限。
結合在某企業的實踐,我們發現,PDM系統訪問控制需求的復雜性主要表現在以下三個方面:
(1)主體的復雜性:企業的用戶層次多、組織結構龐大,導致用戶權限管理的難度大。
(2)客體的復雜性:企業的數據資源龐大,制造一個產品可產生幾十萬個文檔,這些文檔具有多個屬性,如安全標識、生命周期等。
(3)控制過程的復雜性:
①用戶和數據資源具有安全標識,且用戶不能訪問高于自己安全等級的數據資源。
②用戶對數據資源的權限隨著數據資源的生命周期變化而變化,如文檔創建者可以修改處于創建狀態的文檔,但不能修改處于已發布狀態的文檔。
為了實現上述PDM系統訪問控制的需求,本文在RBAC模型的基礎上,使用用戶組層次替代RBAC訪問控制模型中的角色層次,并引入了權限層次結構來組織權限,得到了PDM-RBAC模型。圖1和圖2分別展示了PDM-RBAC控制模型的結構和權限的層次結構。
圖1 PDM-RBAC訪問控制模型
圖2 權限組織結構
下面詳細描述PDM-RBAC模型的元素和元素間的關系:
(1)主體User。
用戶是具有某些屬性的實體,并且持有部分權限。用戶的屬性決定其是否具有訪問某類資源的能力,如組名、角色、安全標識等。
(2)客體Resource。
訪問控制的核心功能是保護系統資源,在PDM系統中受保護的資源有系統功能和數據資源。系統功能有產品配置管理、產品文檔管理、電子倉庫管理、權限管理等。PDM系統中的數據資源多種多樣,如設計圖紙、施工圖紙、財務文檔等,為了更好地管理如此種類繁多的數據資源,具有類似操作權限的數據資源客體可組織成文件夾。
(3)安全標識Security Level。
PDM系統中的部分資源包含敏感信息。安全標識用來標識具有敏感信息的數據資源,用戶不能讀取高于其安全標識的數據資源。數據資源的安全級別可分為絕密、機密、普通等級別。
(4)操作Operation。
PDM系統中的權限操作可以分為兩類:第一類操作為讀、寫等基本操作,第二類操作為完全控制等組合操作。PDM-RBAC模型中引入了拒絕權限,例如“拒絕讀”、“拒絕寫”等,它的優先級最高,給權限的配置帶來了很多方便。例如,要實現某用戶組除用戶Bob外其他人都有A權限,安全管理員只需先簡單地給Bob設定拒絕A權限,再設定組內所有成員擁有A權限則可實現上述功能。如果不存在拒絕權限,那么就必須給組內其他成員一一賦權才能實現,由此可見,引入拒絕權限簡化了系統管理,減少了授權數據量。
(5)角色Role。
角色是一種有利于安全管理員組織權限的方式,如將一個用戶分配給另外一個項目,安全管理員可以簡單地讓這個用戶分配到一個新的角色。PDM系統的角色有系統管理員、安全管理員、業務管理員、設計人員、總工程師等。
(6)用戶組User Group和用戶組層次結構User Group Hierarchy。
用戶組依據企業的組織結構劃分,用戶組層次結構定義企業的職能繼承關系。如果用戶組u1包含了用戶組u2,則用戶組u2繼承用戶組u1的所有權限。采用用戶組層次結構代替角色層次結構有利于安全管理部門和人力資源部門的職責分離。例如,人力資源部門管理企業的組織結構,如果企業要建立一個新的部門,人力資源部門負責部門的建立,安全管理員只需給該部門分配某些角色,而無需建立新的角色層次來體現企業結構的變化。同時,采用用戶層次結構可以簡化授權工作,PDM系統中包含大量的用戶和角色,如果給每個用戶分配角色,授權數據庫必須記錄每一條用戶角色關系數據,而現在只需記錄一條用戶組和角色對應的數據,大大減少了授權數據量。
(7)權限Permission和權限層次結構Permission Hierarchy。
權限是對PDM系統中受保護的一個或多個客體對象執行操作的許可,由操作、客體以及客體屬性(包括生命周期、客體類型)組成。權限層次結構定義了PDM系統中數據資源之間的繼承語義結構,如產品與產品設計文檔的關系。在權限分配時,給上層權限賦權即針對該上層權限所有的子權限賦權,而對子權限賦權只是針對子權限本身賦權。在PDM實際應用中,對用戶賦權即指派用戶去完成一系列的組合權限,安全管理員可以給用戶分配上層權限,即可實現用戶對所有下層權限的配置,簡化了授權工作。圖2是產品數據權限層次結構的例子,產品包含了設計數據、財務數據,項目、產品、產品設計文檔、CAD圖紙等,這些數據資源都處于不同的權限層次,項目對象的權限適用于下層各個對象,如產品、產品設計文檔等。
(8)會話SESSION。
會話(SESSIONS)是用戶與激活的角色集合之間的映射,一個用戶建立一個會話時,可以激活不同的角色。
用戶組角色分配(UGA)、角色權限分配(PA)、用戶與用戶組分配、會話角色、用戶會話是PDM-RBAC模型元素間的重要關系。在PDM系統中,用戶組與角色,角色和權限是多對多的關系。例如,一個用戶組可以擁有一個或多個角色,而一個角色也可以被分配給一個或多個用戶組;一個角色可以訪問一個或多個資源,而一個資源也可以被一個或多個角色訪問。這種方式帶來了給角色分配權限和給角色分配用戶組時的靈活性和細粒度。
4 基于權限位的訪問控制判斷算法
上述PDM-RBAC模型存在正負權限(賦予為正權限,拒絕為負權限),系統權限配置中會出現相同主體對客體具有互斥的權限。例如,某項配置要求主體執行某項操作,而另一項配置卻禁止主體執行此項操作。為了解決正負權限的策略沖突問題,并實現某用戶各種角色權限的合并計算,本節給出權限操作位的定義和基于權限位的計算方法。
4.1 權限操作定義
PDM系統中可獨立賦予的數據權限操作有讀取、修改、刪除、設定安全標識。每個權限操作有三種狀態:有、無、拒絕。本文采用兩位二進制編碼來表示操作狀態。由于“拒絕”權限具有優先否決權,在整個運算過程中拒絕的狀態保持不變,二進制代碼11與其它兩位二進制碼(00,01,10)進行按位或運算后的結果仍然是11,狀態不發生改變,所以我們取11為“拒絕”權限的狀態標識。由此得出以下權限操作的狀態設置:
(1)11:拒絕操作權限狀態;
(2)00:沒有配置操作權限狀態;
(3)01:具有操作權限狀態。
表1列出了各種權限操作的二進制代碼值。
表1 權限操作代碼
其中,“讀取”操作狀態為1、2位;“修改”操作狀態為3、4位;“刪除”操作狀態為5、6位;“設定安全標識”操作狀態為7、8位。由此得出全部控制為01010101,拒絕設定安全標識為11000000,設定安全標識為01000000,讀取為00000001。
4.2 基于權限位的訪問權限計算
PDM系統中一個用戶可以有多個角色,用戶所屬的用戶組又可能有新的角色分配,這些角色對某個資源可能都有權限配置,因此需要對這些權限配置進行合并計算。基于上述權限位操作定義下的某用戶訪問權限計算方法,如算法1所示:
算法1基于權限位的訪問權限計算
4.3 實驗結果
基于PDM-RBAC模型和基于權限位的訪問控制判斷算法,本文以某企業為例,設定PDM系統中用戶100 000個、用戶組1 000個、角色200個,并參照企業的安全管理策略,就RBAC和PDM-RBAC兩種訪問控制方法對PDM系統性能影響,實施了隨著數據資源的增加,授權數據量和訪問時間變化的實驗。實驗結果如圖3和圖4所示。圖3顯示,隨著數據資源規模的增加,PDM-RBAC的授權數據量遠小于RBAC中的授權數據量。圖4顯示,不同的訪問控制方法所花費的時間不一樣,其中PDM-RBAC隨著數據規模的增加,訪問權限的計算時間趨向穩定,且保持在3.5秒以下;RBAC模型中的計算時間隨著數據規模的增加線性增長。由此可以看出,PDM-RBAC模型和基于權限位的訪問權限計算在大型信息系統的權限管理中具有高效性。
圖3 授權數據量對比圖
圖4 運行時間對比圖
5 結束語
本文分析了某企業的PDM訪問控制需求,針對其復雜性,在已有的RBAC模型基礎上,提出了PDM-RBAC模型。該模型的用戶組層次有利于企業的職責分離,簡化了安全管理員的管理工作;權限層次結構可以有效地組織數據權限和減少授權數據量。同時,針對系統中存在的正負權限沖突,引入了權限位的訪問決策合并算法。實驗結果表明,該模型和算法在大型信息系統的權限管理中具有高效性。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/