匡 宏, 趙恩來, 郝文寧, 黃 亞, 穆新國
(解放軍理工大學工程兵工程學院,江蘇南京210007)
網(wǎng)絡信息安全問題已經(jīng)越來越重要[1],其中權限管理[2-3]和訪問控制[4-5]技術是實現(xiàn)信息系統(tǒng)安全的重要機制。權限管理和訪問控制是信息安全保障機制的核心內容,它是實現(xiàn)數(shù)據(jù)保密性和完整性的主要手段,限制訪問主體(如用戶,進程,服務等)對訪問客體(需要保護的資源)的訪問限制,從而使計算機系統(tǒng)在合法范圍內使用[6]。
訪問控制是根據(jù)一定的策略,限制主體對客體的訪問權限,目的是保證系統(tǒng)訪問資源的安全性[7]。傳統(tǒng)的自由訪問控制方法(DAC)[8]和強制訪問控制方法(MAC)[9]是由主體和訪問權限直接發(fā)生關系,根據(jù)主體/客體的安全級別來決定對客體的訪問權限。隨著信息管理系統(tǒng)向著多用戶、多應用發(fā)展,用戶可訪問的數(shù)據(jù)資源的結構日益復雜,規(guī)模日益增大,利用傳統(tǒng)的訪問控制方法來進行權限管理變得相當繁瑣[10-11]。
本文結合具體研發(fā)的某部門權限管理及訪問控制系統(tǒng),采用PKI/PMI技術,設計和實現(xiàn)了滿足某部門安全需求的權限管理及訪問控制系統(tǒng),很好的實現(xiàn)了用戶和權限的分離,便于擴展和變通,支持崗位、權限多變的需求,易于實現(xiàn)復雜安全控制。
PKI(public key infrastructure,公鑰基礎設施)[12-15]是通過使用公開密鑰技術和數(shù)字證書來確保系統(tǒng)信息安全并負責驗證數(shù)字證書持有者身份的一種體系。PKI技術采用證書管理公鑰,通過第三方的可信任機構認證中心CA(Certificate Authority),把用戶的公鑰和用戶的其他標識信息(如名稱、E-mail、身份證號等)捆綁在一起,在網(wǎng)上驗證用戶的身份。
授權管理基礎設施 (privilege management infrastructure,PMI)[16]是國家信息安全基礎設施的一個重要組成部分。PMI的目標是向用戶和應用程序提供授權管理服務,提供用戶身份到應用授權的映射功能,提供與實際應用處理模式相對應的、與具體應用系統(tǒng)開發(fā)和管理無關的授權機制,簡化具體應用系統(tǒng)的開發(fā)與維護,減少管理成本和復雜性。
PMI提出了一個新的信息保護基礎設施,它能夠與PKI和目錄服務緊密地集成,并系統(tǒng)地建立起對認可用戶的特定授權,對權限管理進行了系統(tǒng)的定義和描述,完整地提供了授權服務所需過程。PKI和PMI的結合能為用戶提供強大的服務功能。用戶的信息合理地分成了兩類:基本身份信息存放在屬性證書中,易于改變的屬性信息存放在屬性證書中,這兩類證書的發(fā)放權限可以由不同的部門來管理和執(zhí)行。PKI證明用戶是誰,為用戶頒發(fā)公鑰證書;PMI證明這個用戶有什么權限、什么屬性,為用戶頒發(fā)屬性證書。
省某某部門的權限管理及訪問控制系統(tǒng)基于PKI/PMI技術來構建,實現(xiàn)了用戶屬性(即權限)的分級管理、訪問控制的分級管理以及權限管理和應用訪問控制的分離管理,確保誰的資源誰授權、誰的用戶誰管理;確保用戶權限管理獨立于應用訪問策略的設定及實施;實現(xiàn)了嚴格的兩級訪問控制機制,上級管理員可以授權下級管理員負責具體應用系統(tǒng)的管理,但各級管理員只能設定本級系統(tǒng)的訪問控制策略,不能越權管理。系統(tǒng)建設還考慮了用戶星型網(wǎng)絡結構出現(xiàn)單點故障時可能引發(fā)的問題,采用鏡像等技術措施確保廣域網(wǎng)絡的故障不影響本地用戶對本地應用的訪問,滿足了系統(tǒng)的可用性要求。該系統(tǒng)的總體功能框架如圖1所示。
圖1 系統(tǒng)總體功能框架
詳細分析系統(tǒng)的整個流程:以大單位訪問控制建設為重點,以下詳細列出某某小單位用戶USER1訪問某某小單位應用系統(tǒng)NJAPP1中的功能模塊MODULE1的完整實現(xiàn)流程。
(1)系統(tǒng)準備
建立省CA、省RA、省AA、省ARA、省LDAP、小單位LDAP(注:小單位LDAP是省LDAP的鏡像)。
(2)用戶身份管理(注冊用戶)
在 PKI系統(tǒng)中注冊 USER1,得到 USER1的 PKI證書USER1-Pcert。
(3)分級的用戶屬性管理
省AA管理員AA-Province-Manager負責本系統(tǒng)內所有屬性類(地域,部門,職務,方向)的設置,并為屬性類設定取值范圍;AA-Province-Manager為省ARA管理員ARA-Province-Manager限定其可管理的用戶集(即限于管理本省用戶)以及限定其可為用戶分配的屬性集 (如不能注冊出一個部長用戶來);ARA-Province-Manager指定13個小單位 ARA管理員 ARACity-Manager(某某小單位ARA管理員為ARA-NJCity-Manager),賦予他們登錄省ARA管理本局用戶屬性的權力,同時限定ARA-City-Manager可設置的屬性集合 (如不能注冊出一個部長用戶來)。
ARA-NJCity-Manager登錄到省ARA上為USER1分配屬性,例如地域:某某小單位;部門:財務;職務:處長;方向:方向A,方向 B,方向C。
省AA簽發(fā)USER1的唯一的屬性證書USER1-Acert,并將其發(fā)布到省LDAP上。該證書包含USER1所有的屬性信息。
各小單位LDAP與省LDAP同步。
(4)分級的訪問控制策略制定
ARA-NJCity-Manager為某某小單位門戶PORTAL-NJCity指定門戶管理員ACL1-NJCity-Manager。
ACL1-NJCity-Manager設置某某小單位門戶 PORTALNJCity的訪問控制策略庫 ACLPolicyDB-NJCity(例如資源:NJAPP1;屬性集:部門=財務且地域是大單位;角色:合法用戶)。在某某小單位門戶 PORTAL-NJCity上添加應用系統(tǒng)NJAPP1,同時指定NJAPP1的ACL管理員為ACL2-NJAPP1-Manager。
ACL2-NJAPP1-Manager設置 NJAPP1的訪問控制策略庫ACLPolicyDB-NJAPP1(例如資源:MODULE1;屬性集:部門是財務地域是大單位且方向包含方向A;角色:管理員)。
(5)身份驗證和安全連接
代理服務器驗證用戶身份,建立安全客戶端和應用的安全SSL連接,并將用戶的訪問請求提交給PORTAL-NJCity。
(6)分級的訪問控制策略實施
PORTAL-NJCity收到用戶的訪問請求及屬性Cookies,根據(jù)某某門戶PORTAL-NJCity的訪問控制策略庫ACLPolicyDBNJCity得知USER1為合法用戶,于是允許用戶進入NJAPP1。于是USER1可以在門戶主頁上看到NJAPP1。
NJAPP1收到USER1的訪問請求及屬性Cookies后,根據(jù)NJAPP1的訪問控制策略庫 ACLPolicyDB-NJAPP1,得知USER1是MODULE1的管理員。
系統(tǒng)允許USER1進行MODULE1管理員的操作。
(7)流程結束
如圖2所示,分級的用戶屬性管理子系統(tǒng)包括以下組件:
省屬性證書簽發(fā)中心AA:負責簽發(fā)用戶屬性證書;
省屬性管理中心ARA:為省一級用戶屬性分配點及小單位ARA管理員分配點;
目錄服務系統(tǒng):用于發(fā)布用戶的PKI證書和屬性證書,同時提供驗證用戶PKI證書和屬性證書所需的信息。
圖2 分級的權限管理子系統(tǒng)
分級的用戶屬性管理子系統(tǒng)包括以下管理員:
(1)AA管理員:負責簽發(fā)用戶屬性證書;指定省級ARA管理員;設定省級ARA管理員可以分配的屬性類及屬性值全集;管理全系統(tǒng)內屬性類和屬性值(層層下發(fā));
(2)省ARA管理員:負責管理大單位用戶的屬性,指定小單位ARA管理員,并限定小單位ARA管理員可分配的用戶集和屬性集;指定大單位門戶ACL管理員;
(3)小單位ARA管理員:負責管理本小單位用戶的屬性;指定小單位門戶的ACL管理員;
(4)目錄服務系統(tǒng)管理員:發(fā)布證書。
如圖3所示,分級的訪問控制策略制定子系統(tǒng)包括以下組件:第一級ACL策略庫:包括門戶的訪問控制策略表,提供第一級訪問控制策略;第二級ACL策略庫:包括各具體應用系統(tǒng)的訪問控制策略表,提供第二級的訪問控制策略。
圖3 分級的訪問控制策略制定子系統(tǒng)
分級的訪問控制策略制定子系統(tǒng)包括以下管理員:
(1)大單位ARA管理員:負責分配大單位的門戶管理員;超級管理員由ARA管理員擔任或指定;
(2)小單位ARA管理員:負責分配各小單位的門戶管理員;
(3)大單位及各小單位門戶管理員:負責管理各自門戶的訪問控制策略,負責指定各具體應用系統(tǒng)管理員;負責添加應用;負責添加第一級訪問控制的角色;
(4)各具體應用系統(tǒng)管理員:負責管理各自應用系統(tǒng)的訪問控制策略;負責添加第二級訪問控制的角色。
分級的訪問控制策略實施子系統(tǒng)包括以下組件:
(1)代理服務器:為安全客戶端和應用建立SSL安全連接,向應用提交安全客戶端的訪問請求;
(2)第一級ACL策略庫:是第一級訪問控制決策點,包括門戶的訪問控制策略,提供第一級訪問控制決策;
(3)門戶:是第一級訪問控制實施點,它根據(jù)第一級ACL策略庫提供的訪問控制決策結果進行第一級的訪問控制;
(4)第二級ACL策略庫:是第二級訪問控制決策點,包括各具體應用系統(tǒng)的訪問控制策略,提供第二級訪問控制決策;
(5)具體應用系統(tǒng):是第二級訪問控制實施點,它根據(jù)第二級ACL策略庫中該應用系統(tǒng)的ACL策略表提供的訪問控制決策結果進行第二級的訪問控制。
本文以“分級的訪問控制策略實施子系統(tǒng)”為例,分析系統(tǒng)的安全性能。分級的訪問控制策略實施具體流程如圖4所示。
圖4 分級的訪問控制策略實施的流程
(1)安全客戶端請求訪問代理服務器;
(2)代理服務器與用戶進行身份認證;
(3)在安全客戶端和代理服務器之間建立安全SSL連接;
(4)代理服務器獲取用戶的屬性證書并驗證其合法性;
(5)代理服務器將用戶對應用系統(tǒng)的訪問請求提交給門戶;
(6)門戶根據(jù)第一級ACL策略庫提供的訪問控制決策結果決定是否允許用戶進入他想訪問的應用系統(tǒng);
(7)門戶將用戶對應用系統(tǒng)具體功能模塊的訪問請求提交給具體的應用系統(tǒng);
(8)具體的應用系統(tǒng)根據(jù)第二級ACL策略庫提供的訪問控制決策結果決定是否允許用戶訪問他想訪問的功能模塊。
權限管理和訪問控制是確保信息化時代復雜信息系統(tǒng)安全的重要基石。本文介紹了基于PKI/PMI技術的權限管理及訪問控制系統(tǒng)的設計與實現(xiàn),該系統(tǒng)具有權限分配靈活、便于使用、安全性高;權限的分級管理、訪問控制的分級管理以及權限管理和應用訪問控制的分離管理。實現(xiàn)了嚴格的兩級訪問控制機制,有效的防止了非法用戶的訪問,保護了信息和資源的安全。該系統(tǒng)已成功應用于某部門權限管理及訪問控制系統(tǒng)的設計和開發(fā)實踐,并能與其他應用系統(tǒng)很好的集成。如何將Acegi安全框架應用到本系統(tǒng)中,進一步提高信息系統(tǒng)的安全性,是作者研究的下一個方向。
[1]劉偉,劉嘉勇.一種基于擴展角色的訪問控制模型和方法[J].信息與電子工程,2009,7(1):76-80.
[2]范明虎,樊紅,伍孝金.ASP.net中基于RBAC的通用權限管理系統(tǒng)[J].計算機工程,2010,36(1):143-146.
[3]林尤舜,鐘聲.基于RBAC的權限管理系統(tǒng)的設計與實現(xiàn)[J].計算機應用,2009,29(3):59-61.
[4]楊天怡,董紅林,黃勤.應用角色和任務訪問控制的工作流動動態(tài)授權模型[J].計算機應用研究,2010,27(4):1511-1544.
[5]郭曉凱,衛(wèi)文學,黃海明.基于角色的代理訪問控制模型及其實現(xiàn)[J].山東科技大學學報自然科學版,2009,28(1):89-92.
[6]劉鵬遠,李彤.基于角色的權限管理的總體解決方案[J].計算機工程與設計,2007,28(24):6033-6036.
[7]陳泉冰,王會進.一種改進的基于任務-角色的訪問控制模型[J].暨南大學學報(自然科學版),2010,31(1):29-35.
[8]康麗珠,黃青松,劉利軍.一種改進的基于角色的分級授權訪問控制模型[J].昆明理工大學學報(理工版),2009,34(1):39-42.
[9]平震宇.擴展RBAC的安全約束實現(xiàn)強制訪問控制[J].綿陽師范學院學報,2009,28(2):86-88.
[10]饒文碧,陳丹丹,王闖.基于RBAC的權限管理系統(tǒng)的設計與實現(xiàn)[J].計算機與數(shù)字工程,2008,36(5):100-103.
[11]覃章榮,王強,歐鑌進,等.基于角色的權限管理方法的改進與應用[J].計算機工程與設計,2007,28(6):1282-1285.
[12]田仲富.公鑰基礎設施(PKI)安全性研究[J].中國安全科學學報,2009,19(2):116-120.
[13]田曉菲.基于PKI/PMI的工作流訪問控制模型研究[D].成都:西南交通大學,2008:1-50.
[14]寧紅宙,華剛,金端峰.公鑰基礎設施(PKI)應用中的信任問題與安全解決方案[J].中國安全科學學報,2007,17(10):140-144.
[15]謝慧,嚴承華,聶峰.一種分層PKI系統(tǒng)在園區(qū)網(wǎng)上的設計與實現(xiàn)[J].微計算機信息,2008,24(3):85-88.
[16]張基溫,裴浩.基于PMI的安全匿名授權體系[J].計算機工程與設計,2007,28(3):547-550.