數(shù)據(jù)作為信息的重要載體,其安全問題在信息安全中占有非常重要的地位。數(shù)據(jù)的保密性、可用性、可控性和完整性是數(shù)據(jù)安全技術的主要研究內(nèi)容。數(shù)據(jù)保密性的理論基礎是密碼學,而可用性、可控性和完整性是數(shù)據(jù)安全的重要保障,沒有后者提供技術保障,再強的加密算法也難以保證數(shù)據(jù)的安全。與數(shù)據(jù)安全密切相關的技術主要有以下幾種,每種相關但又有所不同。
1)訪問控制: 該技術主要用于控制用戶可否進入系統(tǒng)以及進入系統(tǒng)的用戶能夠讀寫的數(shù)據(jù)集;
2)數(shù)據(jù)流控制:該技術和用戶可訪問數(shù)據(jù)集的分發(fā)有關,用于防止數(shù)據(jù)從授權范圍擴散到非授權范圍;
3)推理控制:該技術用于保護可統(tǒng)計的數(shù)據(jù)庫,以防止查詢者通過精心設計的查詢序列推理出機密信息;
4)數(shù)據(jù)加密:該技術用于保護機密信息在傳輸或存儲時被非授權暴露;
5)數(shù)據(jù)保護:該技術主要用于防止數(shù)據(jù)遭到意外或惡意的破壞,保證數(shù)據(jù)的可用性和完整性。
在上述技術中,訪問控制技術占有重要的地位,其中1)、2)、3)均屬于訪問控制范疇。訪問控制技術主要涉及安全模型、控制策略、控制策略的實現(xiàn)、授權與審計等。其中安全模型是訪問控制的理論基礎,其它技術是則實現(xiàn)安全模型的技術保障。本文側(cè)重論述訪問控制技術,有關數(shù)據(jù)保護技術的其它方面,將逐漸在其它文章中進行探討。
1.訪問控制
信息系統(tǒng)的安全目標是通過一組規(guī)則來控制和管理主體對客體的訪問,這些訪問控制規(guī)則稱為安全策略,安全策略反應信息系統(tǒng)對安全的需求。安全模型是制定安全策略的依據(jù),安全模型是指用形式化的方法來準確地描述安全的重要方面(機密性、完整性和可用性)及其與系統(tǒng)行為的關系。建立安全模型的主要目的是提高對成功實現(xiàn)關鍵安全需求的理解層次,以及為機密性和完整性尋找安全策略,安全模型是構(gòu)建系統(tǒng)保護的重要依據(jù),同時也是建立和評估安全操作系統(tǒng)的重要依據(jù)。
自20世紀70年代起,Denning、Bell、Lapadula等人對信息安全進行了大量的理論研究,特別是1985年美國國防部頒布可信計算機評估標準《TCSEC》以來,系統(tǒng)安全模型得到了廣泛的研究,并在各種系統(tǒng)中實現(xiàn)了多種安全模型。這些模型可以分為兩大類:一種是信息流模型;另一種是訪問控制模型。
信息流模型主要著眼于對客體之間信息傳輸過程的控制,它是訪問控制模型的一種變形。它不校驗主體對客體的訪問模式,而是試圖控制從一個客體到另一個客體的信息流,強迫其根據(jù)兩個客體的安全屬性決定訪問操作是否進行。信息流模型和訪問控制模型之間差別很小,但訪問控制模型不能幫助系統(tǒng)發(fā)現(xiàn)隱蔽通道,而信息流模型通過對信息流向的分析可以發(fā)現(xiàn)系統(tǒng)中存在的隱蔽通道并找到相應的防范對策。信息流模型是一種基于事件或蹤跡的模型,其焦點是系統(tǒng)用戶可見的行為。雖然信息流模型在信息安全的理論分析方面有著優(yōu)勢,但是迄今為止,信息流模型對具體的實現(xiàn)只能提供較少的幫助和指導。
訪問控制模型是從訪問控制的角度描述安全系統(tǒng),主要針對系統(tǒng)中主體對客體的訪問及其安全控制。訪問控制安全模型中一般包括主體、客體,以及為識別和驗證這些實體的子系統(tǒng)和控制實體間訪問的參考監(jiān)視器。通常訪問控制可以分自主訪問控制(DAC)和強制訪問控制(MAC)。自主訪問控制機制允許對象的屬主來制定針對該對象的保護策略。通常DAC通過授權列表(或訪問控制列表ACL)來限定哪些主體針對哪些客體可以執(zhí)行什么操作。如此可以非常靈活地對策略進行調(diào)整。由于其易用性與可擴展性,自主訪問控制機制經(jīng)常被用于商業(yè)系統(tǒng)。
目前的主流操作系統(tǒng),如UNIX、Linux和Windows等操作系統(tǒng)都提供自主訪問控制功能。自主訪問控制的一個最大問題是主體的權限太大,無意間就可能泄露信息,而且不能防備特洛伊木馬的攻擊。強制訪問控制系統(tǒng)給主體和客體分配不同的安全屬性,而且這些安全屬性不像ACL那樣輕易被修改,系統(tǒng)通過比較主體和客體的安全屬性決定主體是否能夠訪問客體。強制訪問控制可以防范特洛伊木馬和用戶濫用權限,具有更高的安全性,但其實現(xiàn)的代價也更大,一般用在安全級別要求比較高的軍事上。
隨著安全需求的不斷發(fā)展和變化,自主訪問控制和強制訪問控制已經(jīng)不能完全滿足需求,研究者提出許多自主訪問控制和強制訪問控制的替代模型,如基于柵格的訪問控制、基于規(guī)則的訪問控制、基于角色的訪問控制模型和基于任務的訪問控制等。其中最引人矚目的是基于角色的訪問控制 (RBAC)。其基本思想是:有一組用戶集和角色集,在特定的環(huán)境里,某一用戶被指定為一個合適的角色來訪問系統(tǒng)資源;在另外一種環(huán)境里,這個用戶又可以被指定為另一個的角色來訪問另外的網(wǎng)絡資源,每一個角色都具有其對應的權限,角色是安全控制策略的核心,可以分層,存在偏序、自反、傳遞、反對稱等關系。與自主訪問控制和強制訪問控制相比,基于角色的訪問控制具有顯著優(yōu)點:首先,它實際上是一種策略無關的訪問控制技術。其次,基于角色的訪問控制具有自管理的能力。
此外,基于角色的訪問控制還便于實施整個組織或單位的網(wǎng)絡信息系統(tǒng)的安全策略。目前,基于角色的訪問控制已在許多安全系統(tǒng)中實現(xiàn)。例如,在億賽通文檔安全管理系統(tǒng)SmartSec(見“文檔安全加密系統(tǒng)的實現(xiàn)方式”一文)中,服務器端的用戶管理就采用了基于角色的訪問控制方式,從而為用戶管理、安全策略管理等提供了很大的方便。
隨著網(wǎng)絡的深入發(fā)展,基于Host-Terminal環(huán)境的靜態(tài)安全模型和標準已無法完全反應分布式、動態(tài)變化、發(fā)展迅速的Internet的安全問題。針對日益嚴重的網(wǎng)絡安全問題和越來突出的安全需求,“可適應網(wǎng)絡安全模型”和“動態(tài)安全模型”應運而生?;陂]環(huán)控制的動態(tài)網(wǎng)絡安全理論模型在90年代開始逐漸形成并得到了迅速發(fā)展,1995年12月美國國防部提出了信息安全的動態(tài)模型,即保護(Protection)—檢測(Detection)—響應(Response)多環(huán)節(jié)保障體系,后來被通稱為PDR模型。隨著人們對PDR模型應用和研究的深入,PDR模型中又融入了策略(Policy)和恢復(Restore)兩個組件,逐漸形成了以安全策略為中心,集防護、檢測、響應和恢復于一體的動態(tài)安全模型,PDR模型是一種基于閉環(huán)控制、主動防御的動態(tài)安全模型,在整體的安全策略控制和指導下,在綜合運用防護工具(如防火墻、系統(tǒng)身份認證和加密等手段)的同時,利用檢測工具(如漏洞評估、入侵檢測等系統(tǒng))了解和評估系統(tǒng)的安全狀態(tài),將系統(tǒng)調(diào)整到“最安全”和“風險最低”的狀態(tài)。保護、檢測、響應和恢復組成了一個完整的、動態(tài)的安全循環(huán),在安全策略的指導下保證信息的安全。
2.訪問控制策略
訪問控制策略也稱安全策略,是用來控制和管理主體對客體訪問的一系列規(guī)則,它反映信息系統(tǒng)對安全的需求。安全策略的制定和實施是圍繞主體、客體和安全控制規(guī)則集三者之間的關系展開的,在安全策略的制定和實施中,要遵循下列原則:
1)最小特權原則:最小特權原則是指主體執(zhí)行操作時,按照主體所需權利的最小化原則分配給主體權力。最小特權原則的優(yōu)點是最大程度地限制了主體實施授權行為,可以避免來自突發(fā)事件、錯誤和未授權使用主體的危險。
2)最小泄漏原則:最小泄漏原則是指主體執(zhí)行任務時,按照主體所需要知道的信息最小化的原則分配給主體權力。
3)多級安全策略:多級安全策略是指主體和客體間的數(shù)據(jù)流向和權限控制按照安全級別的絕密、秘密、機密、限制和無級別五級來劃分。多級安全策略的優(yōu)點是避免敏感信息的擴散。具有安全級別的信息資源,只有安全級別比他高的主體才能夠訪問。
訪問控制的安全策略有以下兩種實現(xiàn)方式:基于身份的安全策略和基于規(guī)則的安全策略。目前使用的兩種安全策略,他們建立的基礎都是授權行為。就其形式而言,基于身份的安全策略等同于DAC安全策略,基于規(guī)則的安全策略等同于MAC安全策略。
2.1.基于身份的安全策略
基于身份的安全策略(IDBACP:Identification-based Access Control Policies)的目的是過濾主體對數(shù)據(jù)或資源的訪問,只有能通過認證的那些主體才有可能正常使用客體資源?;谏矸莸牟呗园ɑ趥€人的策略和基于組的策略?;谏矸莸陌踩呗砸话悴捎媚芰Ρ砘蛟L問控制列表進行實現(xiàn)。
2.1.1基于個人的策略
基于個人的策略(INBACP:Individual-based Access Control Policies)是指以用戶為中心建立的一種策略,這種策略由一組列表組成,這些列表限定了針對特定的客體,哪些用戶可以實現(xiàn)何種操作行為。
2.1.2基于組的策略:
基于組的策略(GBACP:Group-based Access Control Policies)是基于個人的策略的擴充,指一些用戶(構(gòu)成安全組)被允許使用同樣的訪問控制規(guī)則訪問同樣的客體。
2.2.基于規(guī)則的安全策略
基于規(guī)則的安全策略中的授權通常依賴于敏感性。在一個安全系統(tǒng)中,數(shù)據(jù)或資源被標注安全標記(Token)。代表用戶進行活動的進程可以得到與其原發(fā)者相應的安全標記?;谝?guī)則的安全策略在實現(xiàn)上,由系統(tǒng)通過比較用戶的安全級別和客體資源的安全級別來判斷是否允許用戶可以進行訪問。
3.訪問控制的實現(xiàn)
由于安全策略是由一系列規(guī)則組成的,因此如何表達和使用這些規(guī)則是實現(xiàn)訪問控制的關鍵。由于規(guī)則的表達和使用有多種方式可供選擇,因此訪問控制的實現(xiàn)也有多種方式,每種方式均有其優(yōu)點和缺點,在具體實施中,可根據(jù)實際情況進行選擇和處理。常用的訪問控制有以下幾種形式。
3.1.訪問控制表
訪問控制表(ACL:Access Control List)是以文件為中心建立的訪問權限表,一般稱作ACL。其主要優(yōu)點在于實現(xiàn)簡單,對系統(tǒng)性能影響小。
它是目前大多數(shù)操作系統(tǒng)(如Windows、Linux等)采用的訪問控制方式。同時,它也是信息安全管理系統(tǒng)中經(jīng)常采用的訪問控制方式。例如,在億賽通文檔安全管理系統(tǒng)SmartSec中,客戶端提供的“文件訪問控制”模塊就是通過ACL方式進行實現(xiàn)的。
3.2.訪問控制矩陣
訪問控制矩陣(ACM:Access Control Matrix)是通過矩陣形式表示訪問控制規(guī)則和授權用戶權限的方法;也就是說,對每個主體而言,都擁有對哪些客體的哪些訪問權限;而對客體而言,有哪些主體可對它實施訪問;將這種關聯(lián)關系加以描述,就形成了控制矩陣。訪問控制矩陣的實現(xiàn)很易于理解,但是查找和實現(xiàn)起來有一定的難度,特別是當用戶和文件系統(tǒng)要管理的文件很多時,控制矩陣將會呈幾何級數(shù)增長,會占用大量的系統(tǒng)資源,引起系統(tǒng)性能的下降。
3.3.訪問控制能力列表
能力是訪問控制中的一個重要概念,它是指請求訪問的發(fā)起者所擁有的一個有效標簽(Ticket),它授權標簽表明的持有者可以按照何種訪問方式訪問特定的客體。與ACL以文件為中心不同,訪問控制能力表(ACCL:Access Control Capabilities List)是以用戶為中心建立訪問權限表。
3.4.訪問控制安全標簽列表
安全標簽是限制和附屬在主體或客體上的一組安全屬性信息。安全標簽的含義比能力更為廣泛和嚴格,因為它實際上還建立了一個嚴格的安全等級集合。訪問控制標簽列表(ACSLL:Access Control Security Labels List)是限定用戶對客體目標訪問的安全屬性集合。
4.訪問控制與授權
授權是資源的所有者或控制者準許他人訪問這些資源,是實現(xiàn)訪問控制的前提。對于簡單的個體和不太復雜的群體,我們可以考慮基于個人和組的授權,即便是這種實現(xiàn),管理起來也有可能是困難的。當我們面臨的對象是一個大型跨地區(qū)、甚至跨國集團時,如何通過正確的授權以便保證合法的用戶使用公司公布的資源,而不合法的用戶不能得到訪問控制的權限,這是一個復雜的問題。授權是指客體授予主體一定的權力,通過這種權力,主體可以對客體執(zhí)行某種行為,例如登陸,查看文件、修改數(shù)據(jù)、管理帳戶等。
授權行為是指主體履行被客體授予權力的那些活動。因此,訪問控制與授權密不可分。授權表示的是一種信任關系,一般需要建立一種模型對這種關系進行描述,才能保證授權的正確性,特別是在大型系統(tǒng)的授權中,沒有信任關系模型做指導,要保證合理的授權行為幾乎是不可想象的。例如,在億賽通文檔安全管理系統(tǒng)SmartSec中,服務器端的用戶管理、文檔流轉(zhuǎn)等模塊的研發(fā),就是建立在信任模型的基礎上研發(fā)成功的,從而能夠保證在復雜的系統(tǒng)中,文檔能夠被正確地流轉(zhuǎn)和使用。
5.訪問控制與審計
審計是對訪問控制的必要補充,是訪問控制的一個重要內(nèi)容。審計會對用戶使用何種信息資源、使用的時間、以及如何使用(執(zhí)行何種操作)進行記錄與監(jiān)控。審計和監(jiān)控是實現(xiàn)系統(tǒng)安全的最后一道防線,處于系統(tǒng)的最高層。審計與監(jiān)控能夠再現(xiàn)原有的進程和問題,這對于責任追查和數(shù)據(jù)恢復非常有必要。
審計跟蹤是系統(tǒng)活動的流水記錄。該記錄按事件從始至終的途徑,順序檢查、審查和檢驗每個事件的環(huán)境及活動。審計跟蹤記錄系統(tǒng)活動和用戶活動。系統(tǒng)活動包括操作系統(tǒng)和應用程序進程的活動;用戶活動包括用戶在操作系統(tǒng)中和應用程序中的活動。通過借助適當?shù)墓ぞ吆鸵?guī)程,審計跟蹤可以發(fā)現(xiàn)違反安全策略的活動、影響運行效率的問題以及程序中的錯誤。
審計跟蹤不但有助于幫助系統(tǒng)管理員確保系統(tǒng)及其資源免遭非法授權用戶的侵害,同時還能提供對數(shù)據(jù)恢復的幫助。例如,在億賽通文檔安全管理系統(tǒng)SmartSec中,客戶端的“文件訪問審核日志”模塊能夠跟蹤用戶的多種日?;顒樱貏e是能夠跟蹤記錄用戶與工作相關的各種活動情況,如什么時間編輯什么文檔等。
?