摘要:根據(jù)繼電保護(hù)信息系統(tǒng)的特點,本文提出了基于.NET的角色訪問控制分布式系統(tǒng)模型架構(gòu),著重討論了其中的數(shù)據(jù)庫設(shè)計、身份驗證加密票證策略、角色權(quán)限檢查的具體實現(xiàn)方法、XML Web Service 的應(yīng)用及IIS、ASP.NET的具體配置方案,實現(xiàn)了基于Web服務(wù)的安全、通用和高效的訪問控制,并給出了應(yīng)用實例。
關(guān)鍵詞:基于角色的訪問控制;.NET框架;XML Web 服務(wù);繼電保護(hù);分布式應(yīng)用
中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 20-0000-02
1 引言
隨著國家信息化水平的提升,作為國家重要產(chǎn)業(yè)的電力系統(tǒng)的信息管理也逐漸升級,系統(tǒng)的信息安全至關(guān)重要。所以安全有效地實現(xiàn)訪問控制信息系統(tǒng),就成為了電力信息安全的重要保重之一。
訪問控制技術(shù)RBAC (Role Based Access Control)是一種基于角色的技術(shù)。在目前國際國內(nèi)已經(jīng)成為了主流技術(shù)之一,RBAC的優(yōu)點非常明顯,它不僅能夠?qū)⑹跈?quán)管理的復(fù)雜性大大降低,而且能夠為管理員實現(xiàn)復(fù)雜安全策略營造一個較好的環(huán)境,所以在信息系統(tǒng)的身份驗證和授權(quán)[1]得到了比較普遍的應(yīng)用。
2 基于角色的訪問控制的基本概念
所謂訪問控制就限制約束信息系統(tǒng)資源使用,用來決定訪問主體對客體的訪問是否被授權(quán),是否合法,所以對主體合法性的檢測就非??傄?。沒有通過驗證授權(quán)的用戶,是不能被授權(quán)訪問特定的系統(tǒng)資源的。
在實際應(yīng)用當(dāng)中,我們經(jīng)常用到的訪問控制模型主要有三種:自主訪問控制模型DAC (Discretionary Access Control),強(qiáng)訪問控制模型MAC (Mandatory Access Control)及基于角色的訪問控制模型RBAC。
3 基于.NET的角色訪問控制系統(tǒng)
Visual Studio.Net是微軟最新的集成開發(fā)環(huán)境,Visual Studio.Net與Xml Web Service結(jié)合起來使用,不僅通用性高,而且進(jìn)行角色訪問和控制非常安全,也可以進(jìn)行分布式管理,所以優(yōu)勢是非常明顯的。
3.1 基于角色的訪問控制系統(tǒng)的設(shè)計
用戶信息必須加密才能進(jìn)行網(wǎng)絡(luò)傳輸,加密之后的信息首先傳送到Web服務(wù)器,然后是IIS (Internet Information Service)服務(wù)器對加密信息進(jìn)行身份授權(quán),之后ASP.NET對IIS授權(quán)的身份進(jìn)行驗證,如果通過驗證,則可以配置為Windows身份驗證的SQL Server 2005,從而獲得該用戶的權(quán)限及角色。
通過這樣的訪問控制模式,系統(tǒng)的通用型可以得到替身,系統(tǒng)的開放性也可以大大加強(qiáng),而且能夠很好的滿足安全性的要求,一般情況下,我們將其用在對安全需求較高的地方。
3.1.1 數(shù)據(jù)庫的設(shè)計
在繼電保護(hù)信息系統(tǒng)中,信息都是存儲在數(shù)據(jù)庫當(dāng)中的,其中包括了用戶、角色和權(quán)限等,所有的數(shù)據(jù)都包含在數(shù)據(jù)表當(dāng)中,本系統(tǒng)當(dāng)中,應(yīng)該設(shè)置至少五張數(shù)據(jù)表:User表、Roles表、Permissions表、UsersRoles表和RolesPermission表。User表、Roles表之間的關(guān)系可以通過UsersRoles表來建立,Permissions表、Roles表的關(guān)系通過RolesPermission表來建立。基于關(guān)系模型的數(shù)據(jù)表設(shè)計,使得角色的分配更加靈活,還可以為每個角色分配更多的訪問權(quán)限并可根據(jù)需要增加新角色,具有很好的通用性和可擴(kuò)展性。其結(jié)構(gòu)及表之間的引用關(guān)系如圖1所示:
圖1. 用于身份驗證和授權(quán)的數(shù)據(jù)庫模式
3.1.2 身份驗證票證策略
當(dāng)用戶通過數(shù)據(jù)庫身份驗證后,就能靈活地利用SQL Server 2005建立的數(shù)據(jù)表及其關(guān)系查詢各自的角色,并根據(jù)角色獲得授權(quán)。這種方式進(jìn)行數(shù)據(jù)查詢和授權(quán)會使得SQL Server 2005數(shù)據(jù)庫的訪問變得更加頻繁,大量的數(shù)據(jù)訪問會降低整個系統(tǒng)性能。
.NET的窗體身份驗證技術(shù)正好為我們提過了一個解決問題的方式,對通過驗證的用戶,根據(jù)其用戶名和權(quán)限生成當(dāng)前用戶身份驗證票證(Ticket)。.Net為該票證的生成及存儲提供的方法為:
FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(…);
……
Context.Cache.Insert(…);
3.1.3 角色權(quán)限的檢查
用戶的權(quán)限是根據(jù)身份進(jìn)行分配的,在操作的過程中,必須要根據(jù)用戶的角色來進(jìn)行權(quán)限檢查,用來保證用戶操作權(quán)限的合法性。在.Net中,主要有三種檢查方法:
(1)直接檢查角色名
(2)強(qiáng)制性角色檢查
(3)聲明式檢查
在大多數(shù)情況下,我們使用第三種方法來進(jìn)行權(quán)限檢查。
3.1.4 Xml Web Service的應(yīng)用
隨著Xml Web Service技術(shù)的出現(xiàn),分布式應(yīng)用獲得了很大的發(fā)展,Xml Web Service技術(shù)中采用SOAP(Simple Object Access Protocol)技術(shù),通過各種類型的網(wǎng)絡(luò)被其他平臺或應(yīng)用程序訪問的一下分布式的業(yè)務(wù)邏輯組件。
想要高效低高度復(fù)用性的控制訪問模塊,我們必須使用Web 服務(wù)。以下是實現(xiàn)管理員權(quán)限的客戶分配,用來修改用戶信息。:
[WebMethod]
[PrincipalPermissionAttribute(SecurityAction.Demand, Role = “管理員”)]
public UsersDataSet UpdateUsers(UsersDataSet dsUser)
{ …… }
3.1.5 IIS及ASP.NET的配置
IIS(Internet Information Service)是客戶機(jī)能夠訪問Web服務(wù)的基礎(chǔ),其安全配置奠定了整個系統(tǒng)的安全基礎(chǔ)。
ASP.NET的配置是另一個重要的配置環(huán)節(jié),在Web.config文件中將身份驗證配置為窗體驗證:
同時,在該配置文件中禁止匿名訪問, 即:
4 結(jié)論
基于角色的訪問控制是目前主流的用戶權(quán)限管理方式,應(yīng)用.NET框架各種先進(jìn)的新功能,結(jié)合基于角色的訪問控制基本架構(gòu),通過對各應(yīng)用配置文件的設(shè)置,可以高效地實現(xiàn)較高的安全性能、管理用戶靈活、通用性強(qiáng)、擴(kuò)展方便簡單的控制訪問管理,在跨域式發(fā)展的電力系統(tǒng)信息化管理中,具有較好的應(yīng)用前景。
參考文獻(xiàn):
[1]楊洋,丁仁杰,閔勇(Yang yang,Deng renjie, Min Yong),基于受控對象得訪問控制模型(Object-Based Access Control Model)[J].電力系統(tǒng)自動化(Automation of Electric Power Systems ), 2003,27(7),36-40.
[2]曾高登..NET系統(tǒng)架構(gòu)與開發(fā)[M].北京:電子工業(yè)出版社,2003.
[3]葉錫君,許勇,吳國新(Ye Xijun, Xu Yong, Wu Guoxin),基于角色的訪問控制在Web中的實現(xiàn)技術(shù)(Implementation Technique Based on RBAC Used in Web)[J].計算機(jī)工程(Computer Engineering), 2002,28(1),167-169.
[4]王超,邊小凡.基于角色訪問控制機(jī)制在MIS權(quán)限管理中的應(yīng)用[J].微機(jī)發(fā)展,2004,14(5),50-52.
[5]微軟公司[美].ASP.NET安全應(yīng)用程序開發(fā)[M].北京:清華大學(xué)出版社,2003.