摘要:基于角色的訪問控制(RBAC)方法是目前公認的解決大型企業(yè)的統(tǒng)一資源訪問控制的有效方法,在對RBAC理論研究的基礎上,結(jié)合了.NET框架表單驗證技術,設計了基于RBAC的安全驗證體系,有效地解決了辦公自動化系統(tǒng)中的安全與協(xié)作的問題。
關鍵詞:RBAC;安全驗證;辦公自動化系統(tǒng)
中圖分類號:TP317文獻標識碼:A文章編號:1009-3044(2008)30-0636-02
Research and Design of the Security Authentication in the Office Automation System
ZHAO Zuo-hui
(Xuzhou Economic and Trade Branch of Jiangsu Union Techical Institute, Xuzhou 221004, China)
Abstract: Role-based access control (RBAC) is now recognized to solve large-scale enterprises of the Internet an effective way to access control, on the basis of RBAC in the theory , combining. NET Framework forms authentication technology, based on the design of the RBAC security verification system to address effectively the office automation system of security and cooperation.
Key words: RBAC; security authentication; office automation system
1 系統(tǒng)安全驗證體系的概述
辦公自動化系統(tǒng)是一種多用戶協(xié)同式系統(tǒng),而用戶的管理及權限是辦公自動系統(tǒng)各子系統(tǒng)的協(xié)同工作的紐帶,所以用戶權限的設計是系統(tǒng)設計中的核心部分。
企業(yè)環(huán)境中的訪問控制策略一般有三種:自主型訪問控制方法、強制型訪問控制方法和基于角色的訪問控制方法(RBAC. Role-Based Access Control)。其中,自主式太弱,強制式太強,二者工作量大,不便于管理。基于角色的訪問控制方法是目前公認的解決大型企業(yè)的統(tǒng)一資源訪問控制的有效方法。其顯著的兩大特征是:
1) 減小授權管理的復雜性,降低管理開銷;
2) 靈活地支持企業(yè)的安全策略,并對企業(yè)的變化有很大的伸縮性。
2 基于角色的訪問控制模型
二十世紀九十年代以來,隨著對在線的多用戶、多系統(tǒng)的研究不斷深入,角色的概念逐漸形成,并逐步產(chǎn)生了以角色為中心的訪問控制模型。美國國家標準化技術委員會NIST于90年代初提出了基于角色的訪問控制方法,實現(xiàn)了用戶與訪問權限的邏輯分離,構(gòu)造了角色之間的層次關系。
基于角色的訪問控制機制(RBAC. Role-Based Access Control)的基本特征是:依據(jù)RBAC策略,系統(tǒng)定義各種角色,每種角色可以完成一定的職能,不同的用戶根據(jù)其職能和責任被賦予不同的角色,一旦某個用戶成為某角色的成員,則此用戶可以完成該角色的職能。目前,基于角色的訪問控制模型正在逐步被理論界和工業(yè)界所接受。
在RBAC中,有四個基本實體,角色R(Role),用戶U(User),許可P(Permission),會話S(Session),引入了角色這一重要概念是RBAC最大的特點。
1) 角色:對應于企業(yè)組織結(jié)構(gòu)中一定的職能崗位,即執(zhí)行特定任務的能力或在組織中己被授予一定責任的一個工作頭銜。代表特定的權限,即用戶在特定語境中的狀態(tài)和行為的抽象,反映用戶的職責,是一個或一群用戶在組織內(nèi)可執(zhí)行的操作集合。角色的例子有:校長、處長、系主任、科長、班主任、專職教師。
2) 用戶:信息系統(tǒng)的使用者。主要是指人,也可以是機器人、計算機或網(wǎng)絡,在本研究中進行安全訪問控制設計和實現(xiàn)時,用戶指的是使用企業(yè)信息系統(tǒng)的人。用用戶與角色是多對多的關系,即一個用戶可以擁有多個角色,而一個角色可以包含不同的用戶。
3) 許可:表示操作許可的集合,即用戶對信息系統(tǒng)中的對象進行某種特定模式訪問的操作許可。在系統(tǒng)中對一個或多個客體進行特定模式訪問的操作許可,與實現(xiàn)機制密切相關。操作許可的本質(zhì)取決于其所在的應用系統(tǒng)的實現(xiàn)細節(jié),如操作系統(tǒng)中保護的是文件、目錄、設備、端口等資源,相應操作為讀、寫、執(zhí)行,而在關系數(shù)據(jù)庫管理系統(tǒng)中則保護關系、元組、屬性、視圖,相應操作為Select,Update,Delete,Insert。許可與角色是多對多的關系,即一個角色可以擁有一個或多個操作許可,而一個操作許可可以被角色使用,而且用戶對操作許可的執(zhí)行必須通過角色聯(lián)系起來,從而可以提供對信息訪問的更多控制。
4) 會話:會話是一個動態(tài)概念,用戶激活角色集時建立會話。會話是一個用戶和多個角色的映射,即一個用戶可以集合某個角色子集,此時用戶操作權限是激活角色操作許可的并集。用戶與會話是一對多的關系,一個用戶可以同時打開多個會話,會話等價于一般的主體概念,會話是一個訪問控制單元,每個會話可以擁有許多不同的操作權限。
3 辦公自動化系統(tǒng)安全驗證體系的設計
3.1 .NET框架的安全驗證體系
在.NET框架中提供了與傳統(tǒng)模型相似的,但卻是由開發(fā)人員自定義的安全模型,稱為基于角色的安全性(Role-Based Security)?;诮巧陌踩宰钪匾母拍罹褪鞘跈啵≒rincipals)和標識(Identity)。
在ASP.NET中提供了3種內(nèi)置的安全模型:
1) Windows 身份驗證:
結(jié)合了Windows身份驗證和ACL(Access Control List,訪問控件列表)授權,它與傳統(tǒng)的IIS/Windows安全機制大體相同。此方法的弊端在于它需要對服務器的配置進行實際的修改,從而使一個單服務器環(huán)境中的管理更加復雜,在一個Web FORM方案中實現(xiàn)也非常困難。其優(yōu)點在于用戶名和密碼信息會自動加密以實現(xiàn)在公共Internet上的安全傳輸,因為瀏覽器(通常是Microscoft的Internet Explorer)會主動加入身份驗證過程。
2) 基于表單(FORMS)身份驗證:
提供了一種便利的,具有高度擴展性的,而且通常是Web友好的方案,可以替代Windows的安全機制。通過該系統(tǒng)利用HTTP客戶端重定向?qū)⑽唇?jīng)身份驗證的請求重定向到某HTML窗體。用戶提供憑據(jù)并提交該窗體。如果應用程序?qū)φ埱筮M行身份驗證,系統(tǒng)會發(fā)出一個Cookies在其中包含用于重新獲取標識的憑據(jù)或密鑰。隨后發(fā)出的請求在請求頭中具有該Cookie,ASP.NET事件處理程序使用應用程序開發(fā)人員指定的任何驗證方法對這些請求進行身份驗證和授權。
3) 基于護照(PASSPORT)的身份驗證:
建立在Microsoft的PASSPORT服務之上,使應用程序可以利用一個用戶信息的全球數(shù)據(jù)庫。
在上述3種安全模型中,F(xiàn)ORMS安全模型非常靈活,因為用戶的帳戶數(shù)據(jù)存儲管理非常靈活,而且在三者中集成程度最低。在FORMS模型中可以在任何.NET可訪問的文件或數(shù)據(jù)存儲器中存儲用戶證書(通常是一個用戶名和密碼)。
ASP.NET中用戶內(nèi)置的用戶驗證支持的功能非常強大,它能夠自動在Context對象中生成一個名為User的屬性。該屬性能夠讓我們訪問各種信息,包括用戶是否已經(jīng)驗證,都可以使用由Context對象表示的當前的HttpContext實例中的User對象。
3.2 辦公自動化系統(tǒng)的安全驗證體系的設計
本系統(tǒng)的用戶是全校教職員工,用戶的角色按照學校的行政設置進行劃分,也可以自己定義角色,十分靈活。角色的權根分為兩類:一個是操作權限,如管理表單權限、文件操作權限等;一個是功能模塊權限,就是按模塊劃分的操作結(jié)點,通過這兩個權限設置可以對用戶的權限靈活的設置,兩個權限的設計都可以進行維護擴充,便于增加新的控制和功能。
相關數(shù)據(jù)表設計如下:其中三個基本表Accounts_Users(用戶信息)、Accounts_Roles(角色信息)和Accounts_Permissions(用戶許可信息)用來記錄用戶、角色和權限的基本信息。另兩個表Accounts_UserRoles(用戶角色)和表Accounts_RolePermissions(用戶角色許可)分別用來維護用戶的角色和角色擁有的相關權限。在編程時可以結(jié)合APS.NET表單驗證并對數(shù)據(jù)庫進行相應的操作,對用戶進行驗證。從而實現(xiàn)系統(tǒng)的安全驗證體系。
4 總結(jié)
本系統(tǒng)結(jié)合.NET框架的驗證體系和基于RBAC模型構(gòu)建了基于RBAC的安全驗證體系結(jié)構(gòu),這種設計方法不僅適合于本系統(tǒng),同時也具有一定的普遍性,可用于權限管理要求高的多用戶系統(tǒng)中。
參考文獻:
[1] 孫大大.基于RBAC的分布式服務兩級訪問控制[J].計算機工程與應用,2006(26):123-125.
[2] 吳浪.RBAC在基于Web信息系統(tǒng)中實現(xiàn)的一種技術方案[J].懷化學院學報,2006(5):42-44.
[3] 夏榆濱.基于RBAC的統(tǒng)一權限管理系統(tǒng)研究[J].微計算機信息,2006,22(9-3):114-146.
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文