彭思喜,彭 鵬
(1.華南農業大學經濟管理學院,廣東 廣州 510642;2.深圳職業技術學院汽車與交通學院,廣東 深圳 518055)
B/S結構管理信息系統能夠有效地克服C/S結構“信息封閉、效率低下和難以協同”的缺點[1].B/S結構管理信息系統具有如下優點[2]:(1)共享性,能夠在多部門之間實現有效信息共享和傳遞;(2)多向性,能夠提供各項業務、各個部門、各個環節、各項工作、各類人員、以及各種要素之間信息共享和傳遞通道;(3)高效性,隨著通信技術發展,國家信息高速公路建設,網絡帶寬越來越高,能夠實現全面快速準確可靠的處理;(4)及時性,因特網能夠克服時間和空間的限制,能夠以最快的速遞共享和傳遞相關信息.因此B/S結構管理信息系統比C/S結構更適應多部門信息化協同管理的需要.
然而由于B/S結構軟件體系的開放性,B/S結構管理信息系統存在嚴重安全隱患,包括病毒入侵、黑客攻擊和業務數據的安全訪問控制等[3].病毒入侵和黑客攻擊可以通過日益成熟的殺毒軟件、防火墻技術和入侵檢測技術進行防范.而如何在業務流程有序控制的條件下,實現開放網絡中業務數據的安全訪問控制和靈活授權管理,則成為B/S結構管理信息系統亟需解決的關鍵問題[4].針對此問題,本文設計了一種基于雙角色控制的安全機制來實現的.
在B/S結構中,用戶界面由www瀏覽器實現,部分無關緊要業務處理也在瀏覽器前端實現,主要邏輯業務則由Web服務器處理實現,形成了瀏覽器、web服務器和數據庫三層結構的體系(見圖1).第一層:客戶層,主要由客戶端瀏覽器組成,客戶端電腦需連入網絡.第二層:服務層,提供系統管理平臺、接口系統、查詢統計等功能服務.第三層:數據層,包含系統所需的各種數據庫.

圖1 B/S結構管理信息系統模式
B/S結構管理信息系統,優點在于它的開放性,客戶端無需專門軟件,可通過瀏覽器隨時隨地方便訪問系統,同時也給系統帶來嚴重安全隱患:一者,讓病毒入侵和黑客攻擊變得容易;二者,讓業務數據安全性訪問控制變得困難;三者,由于B/S結構的Web服務器一般情況需要24 h不停運轉,容易使軟硬件設施損壞,甚至造成數據庫文件丟失.因此,B/S結構管理信息系統面臨不同層次的安全需求,包括物理安全、網絡接入安全、網絡數據傳輸安全和業務數據處理安全等.
隨著殺毒軟件、防火墻技術和入侵檢測技術的日益成熟,病毒入侵和黑客攻擊能夠得到較好的防范.而如何實現業務數據的安全訪問控制和授權管理,目前主流的技術是基于角色的訪問控制RBAC模型.
如何實現業務數據的訪問控制和授權管理,傳統方式有自主訪問控制(DAC)和強訪問控制(MAC)兩種技術[5].自主訪問控制(DAC)是指用戶有權訪問自身創建的訪問對象(文件、數據表等),并可自主地將該對象的訪問權限授予其他用戶或者收回其授予的權限.強訪問控制(MAC)是指由系統對用戶創建的對象統一進行強制性控制,按照系統設定的規則決定用戶可訪問對象及操作權限,因此存在哪怕對象創建者也無權訪問該對象的情況.
自主訪問控制(DAC)雖然授權靈活但因“授權”自由傳遞易引發“授權泄漏”導致非信任用戶取得合法權限[6].強訪問控制(MAC)能有效地防止“授權泄漏”,但“授權僵化”不能滿足業務流程需要[7].因此DAC和MAC在授權管理方面都存在較大缺陷,逐漸被基于角色的訪問控制RBAC技術有效替代[8].RBAC在授權管理方面具有靈活、便于管理和策略中立等優點,降低了授權的復雜度和管理成本,因而得到普遍應用,成為當前研究熱點[9,10].
RBAC模型(見圖2)通過引入“角色”中介實現了權限與用戶的邏輯關聯.用戶根據自身責任和資格被委派角色,并通過角色獲得相應的授權信息,既克服了自主訪問控制“權限泄漏”問題,也不像MAC那樣會限制信息流向[11-12].RBAC模式優點在于不再將用戶和權限直接綁定,而是將權限賦予角色,再將角色委派給用戶,從而實現靈活的授權管理,在簡化授權管理復雜度同時,能夠靈活支持企業安全策略,具有高度的擴展性和伸縮性[13].系統管理員根據不同的角色進行權限設置,從而使角色獲得相應的權限.角色的產生或取消,由系統管理員根據系統的實際需要決定.登錄到系統的用戶也可以根據需要動態激活自己所扮演的角色.

圖2 基于角色權限訪問控制RBAC模型
RBAC模型通過“用戶-角色-權限”授權機制實現業務數據的安全訪問控制和靈活授權管理,但在模型中可以看到,其沒有提供業務流程控制機制[14-15],因而難以應用到有嚴格業務流程次序操作要求的實體信息系統中.在實現業務數據的安全訪問控制和靈活授權管理條件下,如何滿足業務流程的嚴格次序操作要求,成為B/S結構管理信息系統亟需解決的難題.為了嘗試解決此難題,下文對RBAC模式進行改進,提出了一種基于雙角色的權限控制DRBAC模型.
在DRBAC模型(見圖3)中,雙角色分別為業務角色和權限角色.一方面,所有的用戶,都扮演了某一個業務角色;根據用戶所扮演的業務角色,控制用戶能夠訪問的功能模塊,從而確保業務流程的控制與運行.另一方面,所有業務角色,同時扮演了某一個權限角色,每一個權限角色,對各功能模塊都有相應的訪問控制權限.不同的用戶通過身份認證后,就登錄到該用戶所扮演的業務角色能夠訪問的功能模塊,同時按照該用戶的業務角色所扮演的權限角色對該用戶訪問的功能模塊所具有的權限進行相關的數據操作.相比RBAC模型,DRBAC模型通過“用戶-業務角色-功能模塊”實現業務流程的控制,同時通過“用戶-業務角色-權限角色-功能模塊”實現用戶權限的授權與管理,在簡化授權管理的同時,實現操作順序的控制.

圖3 基于雙角色權限控制DRBAC模型
DRBAC模型通過“用戶-業務角色-功能模塊”實現業務流程的控制(見圖4).首先,所有的用戶都扮演了某種特定的業務角色,根據用戶扮演的業務角色,控制用戶能夠訪問的功能模塊.而所有的功能模塊都是根據業務流程進行設計的,各功能模塊的邏輯關系也是根據業務流程次序進行設計.系統在讀取特定業務角色的功能模塊時,會自動依據各功能模塊的邏輯關系進行業務流程的控制.

圖4 DRBAC模型的業務流程控制
在實現業務流程控制的基礎上,DRBAC模型通過“用戶-業務角色-權限角色-功能模塊”實現開放網絡條件下業務數據的安全訪問控制和靈活授權管理(見圖5).首先,用戶根據自己扮演的業務角色,按照業務流程運行相應的功能模塊.其次,系統預先規定了各權限角色對各功能模塊的訪問控制權限.再次,每一個業務角色都扮演了某一個權限角色,該權限角色規定業務角色對應的功能模塊的訪問控制權限.因而,業務角色根據自己扮演的權限角色實現了對自己運行的功能模塊的權限控制.

圖5 DRBAC模型的訪問權限控制
(1)授權管理復雜度.DRBAC跟RBAC一樣,將訪問權限與角色相關聯,用戶通過自己扮演的角色獲得自己的授權信息,擺脫了用戶與權限的直接綁定,使得用戶和權限相分離,用戶職能的變動,不會產生授權操作,只需要重新設置用戶角色就可以實現用戶權限變更,從而使得授權管理變得簡單高效,降低了授權管理的復雜度和管理成本.
(2)業務流程適應性.DRBAC通過“用戶-業務角色-功能模塊”實現業務流程的控制,根據用戶扮演業務角色,用戶登錄到業務角色對應的功能模塊特定界面,并按照業務流程需要進行特定操作,實現了業務流程的適應性和多部門多用戶間的業務協同.
(3)訪問控制安全性.DRBAC通過業務角色對應的權限角色獲得用戶授權信息,根據授權信息實現用戶對業務角色對應的功能模塊的訪問控制,從而保證了業務數據的安全性,同時避免“授權泄漏”問題的產生.

表1 DRBAC與主流訪問控制技術比較
B/S結構管理信息系統能夠有效地克服C/S結構“信息封閉、效率低下和難以協同”的缺點,比C/S結構更適應多部門信息化協同的需要,但因為B/S結構的開放性,導致存在嚴重安全隱患.如何在開放網絡和業務流程優化有序的限制下,實現業務數據的安全訪問控制和靈活授權管理,是B/S結構管理信息系統安全機制的關鍵所在.傳統的DAC和MAC技術因為授權管理方面的缺陷逐漸被RBAC技術替代.RBAC通過“用戶-角色-權限”授權機制實現了業務數據的安全訪問控制和靈活授權管理,但RBAC沒有提供業務流程控制機制,因而難以應用到有嚴格的業務流程次序操序要求的實體信息系統.基于對RBAC模型的改進,本文設計了一種“基于雙角色”的權限授權機制,在實現業務數據的安全訪問控制和靈活授權管理的同時,提供了一種操作順序控制機制,能夠較好地適應具有嚴格操作次序要求的B/S結構實體信息系統.