陳倬 雷波

1前言
在以往的安全技術措施中,通過硬件和軟件的配置管理對安全目標都具有直接或間接作用。因此,研究電子政務中訪問控制技術具有現實且積極的意義。
伴隨著電子政務的高速發展發展,硬件方面:對防火墻技術的選擇、內外網間配置防火墻、IDS等;軟件方面:選擇更為安全的國產操作系統等。這一系列的技術措施對保障電子政務內網的安全、預防來自外網的威脅發揮著極為重要的作用。不過,越來越多的政務業務通過Web應用實現傳遞,政務信息在政府間、政府與企業間、政府與公眾間交互。
訪問控制技術通過不同的手段和策略實現對網絡資源的訪問控制,而這些僅靠應用安全操作系統、配置防火墻是無法達到的。訪問控制規定了主體(訪問請求者)對客體(被訪問資源)限制數據的訪問,同時通過訪問用戶的權限控制訪問資源的類別?,F在,使用穩定、可靠的安全訪問控制技術已逐漸成為政府、企業構造網絡安全防范體系所采用的主要技術之一[1]。所以,要實現政務信息Web頁面的安全訪問控制,通過主流的Web安全訪問控制策略實現對電子政務多級保護、提供安全解決方案是電子政務建設中的一個重要內容。
2訪問控制系統組成
訪問控制系統(圖1)一般包括:要求訪問電子政務系統的用戶或者某一個進程程序(主體)以及被訪問的政務系統提供程序、數據、各種信息和相應的網絡設備(客體)。安全的訪問策略就是:為合理的管理維護主體訪問客體提供的一套安全規則。
訪問控制的關鍵是采用何種訪問控制策略,即如何向主體授權。目前主要有三種不同類型的訪問控制策略:MandatoryAccessControl(強制訪問控制);DiscretionaryAccessControl(自主訪問控制);RoleBasedAccessControl(基于角色的訪問控制)。
3強制訪問控制(MAC)
強制訪問控制是“強加”給訪問主體的,即系統強制主體服從訪問控制策略。一個進程作為訪問的主體,需要訪問對象提供相關數據資源以及網絡設備。每當主體嘗試訪問電子政務網站時,都會由網絡操作系統進行主體訪問權限授予,從而決定主體是否有權限訪問客體。MAC最開始應用于多層次安全級別的軍事行動中。MAC的運行邏輯是:首先定義安全級別,當用戶請求訪問網絡資源或信息時,系統就訪問客體的合法性進行權威性對比和完整性約束。比如,禁止將危險信息向下寫入或者禁止低級別用戶向上訪問高級別數據信息等。
MAC訪問控制策略主要體現在網絡操作系統(OperatingSystem)對主體訪問權限的控制方面,其制定相關的強制安全策略以及主體訪問客體而進行的權限鑒定。其中,鑒定方式有很多種,具體采用何種鑒定方式,需要根據訪問策略而定。
管理員制定的安全策略強制對所有用戶實施,通過權限鑒定從而決定用戶能否訪問以及具體能訪問哪些網絡資源,其中包括各種網絡設備和政務網站中所需要的相關重要數據信息。毫無疑問,沒通過授權將拒絕訪問網絡資源。每次主體訪問客體候,管理員將這個過程定義一個標記,通過這個標記鑒定這次訪問是否安全,這是一種行之有效的手段。
因為最早MAC是應用在軍事、國防領域,所以涉及多層安全MLS。多層安全的核心思想就是將訪問主體定義為不同的安全保密級別。比如,普通級別、機密級別和絕密級別等。通過對訪問主體進行級別劃分,從而決定訪問權限。那么,MAC所具有的具體功能就相當明了。比如,當你是低級別用戶時,作為訪問主體才能高效、穩定的訪問高級別客體———安全的使用里面的共享信息以及網絡資源。當然,與此相對的就是只有高級別主體才能向目標對象寫入相關數據信息。
MAC能保證操作系統的相對安全,MAC對操作系統的各種客體(如socket、文件、系統FIFO、IPC、SCD等)進行細粒度的訪問控制。目前,幾乎所有的操作系統都采用強制安全處理機制,因為這是一種相對穩妥的處理方式。主體嘗試訪問電子政務網站時,都會由網絡操作系統進行主體訪問權限授予,從而決定主體是否有權限訪問客體,這是一種強制性處理機制,其目的是使訪問過程達到更高的安全級別,從而保護系統數據的安全性。這一點與DAC不同的。
MAC的缺點在于同級別之間缺乏控制機制,訪問級別的劃分不夠細致。
4自主訪問控制(DAC)
自主訪問控制因為其穩定可靠的性能,成為目前計算機網絡管理系統中,處理網絡資源訪問使用得最多的一種安全訪問控制機制。DAC的工作原理是,對某個客體具有擁有權(或控制權)的主體,能夠將對該客體的一種訪問權限或多種訪問權限自主地授予其他主體,并在隨后的任何時刻將這些權限回收。
這種訪問方式是一種自主行為,在DAC系統中,某一個擁有訪問權限的主體(用戶或某一個進程)具有將權限轉移給其他主體的能力,這是對訪問權限進行限定的一種特定方法。這種轉移是自主的、安全的、高效的。實際上,DAC訪問控制就是一個矩陣,可用一個三元組來描述(S,O,A)。其中,S為主體集合;O為客體集合;A為屬性集合。
對于任意一個si∈S,oj∈O,那么相應地存在一個aij∈A。而aij=P(si,oj),aij就決定了si對oj可進行什么樣的訪問操作。用矩陣描述如下。
矩陣的第i行Si表示主體si對所有客體的操作權限;矩陣的第j列Oj表示客體oj允許主體可進行的操作權限。其在具體實現時是基于矩陣的行或列來制定訪問控制策略,而不是將矩陣整個保存起來,因為那樣做效率太低。下面分別介紹這兩種方法。
4.1基于行的自主訪問控制
密碼(Passwords):每個客體就不同的訪問方式提供不同的訪問密碼,密碼是機密的,毋庸置疑知道密碼才能訪問。缺點:為了保證系統安全,密碼需經常更新,并且密碼多,用戶難以記憶,而且哪些用戶享有密碼也很難受到控制。
前綴表(Profiles):每個用戶都擁有前綴表文件,前綴表文件列出了所有能夠訪問其客體的權限列表。缺點:如果主體能夠訪問多個客體,其訪問權限就非常多,那么所對應的權限列表就非常長,非常復雜,容易出現冗余現象。而且在管理權限表方面也會非常麻煩,比如刪除、創建、更改前綴表文件等操作。
權利表(CapabilitlesList):只有當一個主體擁有準許訪問的“Capabilitles”時,通過將訪問的主體和被訪問的客體進行約束,此表才能約束客體。
以上述三種方法都是針對某一個主體的訪問權限。但是,在一個完整的安全控制系統中,正是客體本身需要得到可靠的保護。要知道從主體這個方面對約束進行修飾的話,那么想知道哪一些訪問對象被讀取將會很困難。所以,控制訪問服務這個功能將會控制主體的集合,那么如何控制就是在賦予權力和收回權利這兩個方面上進行,所以重心就偏向于客體方面。
4.2基于列的自主訪問控制
在每個要訪問的客體上附加要訪問的主體明細表,通過兩種形式:保護位(ProtectionBits)和訪問控制列表(ACL)來實現。保護位是對所有主體指明一個訪問模式集合,通常用bit位來表達訪問權限,其表達的方式多種多樣,與訪問的主體相互匹配、協同工作,對于多用戶多任務操作系統特別合適,因此被廣泛使用。
在局域網中,節點設備用來對數據包進行轉發、傳送,諸如路由器、交換機等。那么,其中都具有一張比較詳細的指令訪問列表,依據這些列表,可以對網絡中特定資源進行訪問控制,控制其能否被訪問、能否被讀取、能否被寫入等。在這個過程中,我們不但能控制某一個具體資源的訪問權限,還能將具有相同訪問該資源權限的主體用戶整合在一起,進行按組別集中授權訪問、集中管理。例如,針對文件fileAAA,通過ACL訪問控制列表(nicky和linda是私人用戶也就是主體,array是規定的一個主體訪問用戶集合)。FileAAA:(nicky,{r,w}),(linda,{r}),(array,{w})
這條ACL表明,nicky可以讀入數據,同時也可以寫入數據fileAAA。而linda這個用戶只能讀取數據,array則因為是劃定好的一個成員集合,因此里面的所有成員用戶都能向文件fileAAA中寫入數據。
因為ACL獨有的性能特點,其優勢是將用戶進行分組集中管理,能夠比較客觀的查找出哪些用戶具有哪些資源的訪問權限。隨著時代的發展,ACL的功能也得到了進一步的擴充,伴隨著網絡規模逐漸變大,企業內部網絡拓撲結構越來越復雜,ACL運行起來就越來越吃力,弊端盡顯。
因為ACL獨特的工作模式,用戶都按組進行授予訪問權限。在一個網絡中,資源變得越來越多的時候,ACL就會新建越來越多的主體訪問明細表,這些表重復冗長,同時管理員還要管理訪問權限,無疑加大了管理人員的工作強度和難度。同時,因為局域網錯綜復雜,且服務器服務于各自局域網、各自設置主體訪問控制列表。那么,列表眾多也進一步加大了ACL的復雜度和整體控制策略的精確度。否則就會造成各部門工作行動不一致,協調失敗而導致訪問失敗、出現丟包、錯包的情況。
由于Web管理員在服務器上要對每個資源的ACL進行維護,而每個ACL都包含用戶和組列表、受控資源的訪問方式等信息。因此,授權管理成本高,且容易發生錯誤。
由于把權限最終授予給用戶,或造成“用戶/許可”數據量十分龐大,而且用戶在企業中的地位隨時可能變動,相應的訪問權限也都要修改,因此維護稍具規模的企業網絡可能導致災難性后果。
5RBAC
RBAC(Role?BasedAccessControl)是對DAC和MAC機制的改進。在RBAC中,權限與角色一一對應,用戶通過扮演某種角色而獲得與之匹配的客體訪問權限。它具有三種授權管理的控制途徑:改變主體所擔任的角色;改變角色的訪問權限;改變客體的訪問權限。
RBAC提供了層次化的管理結構,具有責任分離的能力和提供最小權限的能力,極大地簡化了權限的管理。在一個組織中,角色是為了完成各種工作而出現,用戶則依據自身責任和資格被指派相應的角色,用戶可以很容易地從一個角色被指派到另一個角色[2]。角色可依據新的需求和系統的合并而賦予新的權限,且權限也可根據需要從某角色中進行回收。角色與角色可以建立聯系,以囊括更廣泛的客觀情況。因此,RBAC明顯的優勢就是降低管理成本,支持高級別的訪問策略。