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