檔案數(shù)據(jù)庫安全
數(shù)據(jù)庫是在計算機內(nèi)的有結(jié)構(gòu)的數(shù)據(jù)集合。形象地說數(shù)據(jù)庫是存放數(shù)據(jù)的倉庫。嚴格地說,數(shù)據(jù)庫是指按照一定的數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫。數(shù)據(jù)庫可分為:關(guān)系式數(shù)據(jù)庫、網(wǎng)狀數(shù)據(jù)庫和層次數(shù)據(jù)庫。數(shù)據(jù)庫的安全性是指數(shù)據(jù)庫的任何部分都不允許受到惡意的侵害或未經(jīng)授權(quán)的存取與修改。
數(shù)據(jù)庫的破壞主要來自:系統(tǒng)故障;并發(fā)所引起的數(shù)據(jù)的不一致;轉(zhuǎn)入或更新數(shù)據(jù)庫的數(shù)據(jù)有錯誤,更新事務(wù)時未遵守保持數(shù)據(jù)庫一致的原則;人為的破壞,如數(shù)據(jù)被非法訪問,甚至被篡改或破壞。
數(shù)據(jù)庫是從操作系統(tǒng)的文件系統(tǒng)基礎(chǔ)上派生出來的用于大量數(shù)據(jù)管理的系統(tǒng)。數(shù)據(jù)庫的全部數(shù)據(jù)都記錄在存儲媒體上,并由數(shù)據(jù)庫管理系統(tǒng)( DBMS)統(tǒng)一管理。DBMS為用戶及應(yīng)用程序提供一種訪問數(shù)據(jù)的方法,并且對數(shù)據(jù)庫進行組織和管理,對數(shù)據(jù)庫進行維護和恢復(fù)。數(shù)據(jù)庫系統(tǒng)的安全策略,部分由操作系統(tǒng)來完成,部分由強化DBMS自身安全措施來完成。數(shù)據(jù)庫系統(tǒng)存放的數(shù)據(jù)往往比計算機系統(tǒng)本身的價值大得多,檔案數(shù)據(jù)庫中存放的檔案信息價值更是遠遠超過系統(tǒng)本身的價值,因此,檔案數(shù)據(jù)庫的安全及檔案數(shù)據(jù)庫系統(tǒng)的安全是絕對應(yīng)該重視和必須加以特別保護的。
1 數(shù)據(jù)庫系統(tǒng)概述
一般地講,數(shù)據(jù)庫系統(tǒng)由三部分組成:數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和用戶。數(shù)據(jù)庫采取集中存儲、集中維護的方法存放數(shù)據(jù),為多個用戶提供數(shù)據(jù)共享服務(wù)。數(shù)據(jù)庫管理系統(tǒng)是一個數(shù)據(jù)庫管理軟件,其職能是維護數(shù)據(jù)庫,接受和完成用戶程序、命令提出的數(shù)據(jù)訪問的各種請求。數(shù)據(jù)庫管理系統(tǒng)應(yīng)當為用戶及應(yīng)用程序提供一種訪問數(shù)據(jù)的方法,并且應(yīng)具有對數(shù)據(jù)庫進行組織、管理、維護和恢復(fù)的能力。
數(shù)據(jù)庫具有多用戶、高可靠性、可頻繁更新和文件大等特性,具有如下特點:結(jié)構(gòu)化,數(shù)據(jù)將按照一定的數(shù)據(jù)結(jié)構(gòu)來組織和存放;獨立性,數(shù)據(jù)的組織方式和存儲方式與應(yīng)用程序有關(guān);共享性,數(shù)據(jù)能夠為多用戶所共享;冗余度,數(shù)據(jù)的重復(fù)程度小;可擴充性,易于添加和插入新數(shù)據(jù);完整性,數(shù)據(jù)維護時易于保持數(shù)據(jù)的完整一致。
數(shù)據(jù)庫管理系統(tǒng)的主要職能為:有正確的編譯功能,能正確執(zhí)行規(guī)定的操作;能正確執(zhí)行數(shù)據(jù)庫命令;保證數(shù)據(jù)的安全性、完整性,能抵御一定程度的物理破壞,能維護和提交數(shù)據(jù)庫內(nèi)容;能識別用戶,分配授權(quán)和進行訪問控制,包括身份識別和驗證;順利執(zhí)行數(shù)據(jù)庫訪問,保證網(wǎng)絡(luò)通信功能。
形象地說,數(shù)據(jù)庫相當于圖書館中的書庫,數(shù)據(jù)庫管理系統(tǒng)相當于圖書的書卡,用戶相當于讀者。數(shù)據(jù)庫系統(tǒng)的優(yōu)點主要有:共享訪問;多個用戶可以共享公用的集中數(shù)據(jù)集;最小冗余;單個用戶不必組織并維護自己的數(shù)據(jù)集,從而避免了公用數(shù)據(jù)重復(fù)所產(chǎn)生的冗余;數(shù)據(jù)一致性;集中管理和維護數(shù)據(jù),易于達到數(shù)據(jù)的一致性。
從操作系統(tǒng)的角度看,數(shù)據(jù)庫管理系統(tǒng)只是一個大型的應(yīng)用程序。數(shù)據(jù)庫系統(tǒng)的安全策略,部分由操作系統(tǒng)來完成,部分由強化數(shù)據(jù)庫管理系統(tǒng)的自身安全措施完成。數(shù)據(jù)庫管理系統(tǒng)自身的安全措施在許多方而類似于操作系統(tǒng)的安全措施。但是,由于數(shù)據(jù)庫系統(tǒng)本身的特點,其中,信息的完整性和保密性的實現(xiàn)方法有所不同,其安全措施與操作系統(tǒng)的安全措施也有本質(zhì)區(qū)別。
2 案數(shù)據(jù)庫系統(tǒng)安全的特點
在系統(tǒng)安全方面檔案數(shù)據(jù)庫具有:數(shù)據(jù)獨立性、數(shù)據(jù)安全性、數(shù)據(jù)的完整性、并發(fā)控制和故障恢復(fù)等特點:
(1)在數(shù)據(jù)庫中要保護的客體比較多;
(2)數(shù)據(jù)庫中數(shù)據(jù)的生存期限較長,對保護的精度要求更高;
(3)數(shù)據(jù)庫的安全涉及信息在不同程度上的安全;
(4)數(shù)據(jù)庫系統(tǒng)中受保護的客體可能是復(fù)雜的邏輯結(jié)構(gòu),若干復(fù)雜的邏輯結(jié)構(gòu)可能映射到同一物理數(shù)據(jù)客體上;
(5)數(shù)據(jù)庫的安全與數(shù)據(jù)的語法有關(guān)。
數(shù)據(jù)庫的安全還應(yīng)當考慮到對推理攻擊的防范。推理攻擊是指從非敏感的數(shù)據(jù)推理得出敏感數(shù)據(jù)的攻擊方式。由于對數(shù)據(jù)庫構(gòu)成的威脅主要有篡改、損壞和竊取三種情況,所以加強對數(shù)據(jù)庫的數(shù)據(jù)保護尤為重要。
在數(shù)據(jù)庫的安全性方面要采取用戶標識和鑒定、存取控制、數(shù)據(jù)分級以及數(shù)據(jù)加密等手段。數(shù)據(jù)庫中的所有數(shù)據(jù)都必須滿足自己的完整性約束條件,這些約束包括:數(shù)據(jù)類型與值域的約束,關(guān)鍵字約束,數(shù)據(jù)聯(lián)系的約束。
對不同的數(shù)據(jù)庫,根據(jù)使用要求和安全要求有不同的控制策略。數(shù)據(jù)庫的控制方式可分為集中化控制和分散性控制兩類。集中化控制指系統(tǒng)只有一個授權(quán)者,他控制著整個數(shù)據(jù)庫系統(tǒng)的安全。分散性控制是指數(shù)據(jù)庫應(yīng)該用許多數(shù)據(jù)庫安全員,每人控制著不同的數(shù)據(jù)庫安全策略。
3 數(shù)據(jù)庫的備份與恢復(fù)
數(shù)據(jù)庫的的備份與恢復(fù)是數(shù)據(jù)庫管理員維護數(shù)據(jù)庫安全性和完整性的重要操作。備份是恢復(fù)數(shù)據(jù)庫最容易和最能防止意外的保證方法。沒有備份,所有的數(shù)據(jù)都可能會丟失。備份可以防止表和數(shù)據(jù)庫遭受破壞、介質(zhì)失效或用戶錯誤而造成數(shù)據(jù)災(zāi)難。恢復(fù)是在意外后,利用備份來恢復(fù)數(shù)據(jù)庫的操作。
數(shù)據(jù)庫的失效往往導(dǎo)致一個機構(gòu)的癱瘓,然而,任何一個數(shù)據(jù)庫系統(tǒng)總不可能不發(fā)生故障。數(shù)據(jù)庫系統(tǒng)對付故障有兩種辦法:一種辦法是盡可能提高系統(tǒng)的可靠性;另一種辦法是在系統(tǒng)發(fā)生故障后,把數(shù)據(jù)庫恢復(fù)至原來的狀態(tài)。
數(shù)據(jù)庫系統(tǒng)如果發(fā)生故障可能會導(dǎo)致數(shù)據(jù)的丟失,要恢復(fù)丟失的數(shù)據(jù),必須對數(shù)據(jù)庫系統(tǒng)作備份。在制訂數(shù)據(jù)庫備份方案之前必須對下列問題進行分析,在分析的基礎(chǔ)上作出評估:對數(shù)據(jù)庫保護的內(nèi)容;對數(shù)據(jù)被丟失的可能性分析;如數(shù)據(jù)丟失必須作出其損失的評估;備份所需的費用的評估。
常用的數(shù)據(jù)庫備份的方法有冷備份、熱備份和邏輯備份三種。提高數(shù)據(jù)庫備份性能的辦法有:升級數(shù)據(jù)庫管理系統(tǒng)、使用更快的備份設(shè)備、備份到磁盤上、使用本地備份設(shè)備以及使用原始磁盤分區(qū)備份等。
數(shù)據(jù)庫的恢復(fù)也稱為重載或重入,是指當磁盤損壞或數(shù)據(jù)庫崩潰時,通過轉(zhuǎn)儲或卸載的備份重新安裝數(shù)據(jù)庫的過程。恢復(fù)技術(shù)大致可以分為:純以備份為基礎(chǔ)的恢復(fù)技術(shù)、以備份和運行日志為基礎(chǔ)的恢復(fù)技術(shù)以及基于多備份的恢復(fù)技術(shù)等三種。
數(shù)據(jù)庫恢復(fù)技術(shù)是一種可采取的補救措施。具體可采用:利用操作系統(tǒng)提供的功能,將被錯誤刪除或修改的數(shù)據(jù)恢復(fù),或?qū)⑺偷交厥照镜臄?shù)據(jù)恢復(fù);定期地將整個數(shù)據(jù)庫復(fù)制到軟盤上保存起來,或刻錄到光盤上保存起來,當數(shù)據(jù)庫遭到破壞后,就可以利用備份將數(shù)據(jù)恢復(fù);利用各數(shù)據(jù)庫之間的關(guān)系,用未遭到破壞的數(shù)據(jù)庫恢復(fù)已遭到破壞的數(shù)據(jù)庫。良好的備份與恢復(fù)策略是保證數(shù)據(jù)庫安全運行的保證。
4 檔案數(shù)據(jù)庫系統(tǒng)的安全措施
檔案數(shù)據(jù)庫作為一種特殊的信息系統(tǒng),它的安全保密措施與普通的網(wǎng)絡(luò)信息系統(tǒng)的安全措施有許多共同之處,當然也有自身的一些特點。檔案數(shù)據(jù)庫的安全措施的主要目的在于:
(1)保證檔案數(shù)據(jù)庫的完整性。包括物理上的完整性(數(shù)據(jù)不受物理故障(如掉電)的影響,并有可能在災(zāi)難性毀壞后重組數(shù)據(jù)庫)、邏輯上的完整性(保護檔案數(shù)據(jù)庫的邏輯結(jié)構(gòu))、檔案數(shù)據(jù)庫中元素的完整性(保證每個元素所含的數(shù)據(jù)準確無誤)。
(2)保證檔案數(shù)據(jù)庫的保密性。包括用戶身份鑒別(保證每個用戶是絕對可識別的,從而可對它進行審計跟蹤,并可以保證對特定數(shù)據(jù)的訪問保護)、訪問控制(保證用戶僅能訪問授權(quán)數(shù)據(jù),并保證同一組數(shù)據(jù)的不同用戶可以被賦予不同的訪問權(quán)限)、可審計性(有能力跟蹤誰訪問了數(shù)據(jù)庫中的哪些元素)。
(3)保證檔案數(shù)據(jù)庫的可用性。檔案數(shù)據(jù)庫系統(tǒng)對用戶應(yīng)該有友好的界面,可用簡單方法訪問檔案數(shù)據(jù)庫中所有授權(quán)訪問數(shù)據(jù)。
為達到上述安全目的,檔案數(shù)據(jù)庫系統(tǒng)需要采取一系列的安全策略:
(1)為了防止檔案數(shù)據(jù)庫中的數(shù)據(jù)受到物理破壞,應(yīng)當對檔案數(shù)據(jù)庫系統(tǒng)采取定期備份系統(tǒng)中所有文件的方法來保護系統(tǒng)的完整性。
(2)為了在系統(tǒng)出錯時可以重組數(shù)據(jù)庫,檔案數(shù)據(jù)庫管理系統(tǒng)應(yīng)當維護數(shù)據(jù)庫系統(tǒng)的事務(wù)日志,以便用這種日志恢復(fù)系統(tǒng)故障時丟失的數(shù)據(jù)。
(3)如果在數(shù)據(jù)修改期間系統(tǒng)發(fā)生故障,檔案數(shù)據(jù)庫管理系統(tǒng)將會面臨嚴重的問題。此時,一個記錄甚至一個字段中,有的部分得到修改而其余部分維持原樣。為了避免這種錯誤,大多數(shù)檔案數(shù)據(jù)庫管理系統(tǒng)都采用兩階段修改技術(shù)來保護數(shù)據(jù)的完整性。兩階段修改技術(shù)的第一階段叫做準備階段。這時,檔案數(shù)據(jù)庫管理系統(tǒng)完成修改所需的信息,進行修改前的準備工作。在此階段,檔案數(shù)據(jù)庫管理系統(tǒng)收集數(shù)據(jù),建立記錄,打開文件并且封鎖其他用戶,然后計算最后結(jié)果。簡言之,檔案數(shù)據(jù)庫管理系統(tǒng)完成修改所需的一切準備工作,但未對數(shù)據(jù)庫作任何修改。第一階段的最后一步叫做“提交”,它的任務(wù)是把“提交”標志寫入數(shù)據(jù)庫。提交標志是兩階段修改技術(shù)中兩階段的分界點,它意味著一旦數(shù)據(jù)庫管理系統(tǒng)通過這個分界點后就不再返回,也就是說,一旦進入提交階段檔案數(shù)據(jù)庫管理系統(tǒng)將開始進行永久性的修改。第二階段叫做永久性修改階段。在此階段中,凡是屬于提交前的任何動作都是不可重復(fù)的,但本階段的修改活動本身則可重復(fù)多次。因此,若在第二階段系統(tǒng)發(fā)生故障,則數(shù)據(jù)庫中可能包含非完整的數(shù)據(jù),但可以重復(fù)所有第二階段的活動,使數(shù)據(jù)恢復(fù)完成。第二階段完成以后,檔案數(shù)據(jù)庫管理系統(tǒng)將把“事務(wù)完成”標志寫入系統(tǒng)的日志,并清除數(shù)據(jù)庫中的“提交”標志。
(4)為了保證數(shù)據(jù)庫元素的完整性,檔案數(shù)據(jù)庫管理系統(tǒng)應(yīng)當在數(shù)據(jù)輸入時幫助用戶發(fā)現(xiàn)錯誤和修改錯誤。常用的方法有三種:首先,檔案數(shù)據(jù)庫管理系統(tǒng)利用字段檢查,測試某一位置的值是否正確;其次,檔案數(shù)據(jù)庫管理系統(tǒng)利用訪問控制的機制來維護數(shù)據(jù)的完整性,以防止非授權(quán)用戶對主體數(shù)據(jù)的訪問;第三種辦法是檔案數(shù)據(jù)庫管理系統(tǒng)維持一個數(shù)據(jù)庫的修改日志。修改日志記錄數(shù)據(jù)庫的每次修改,既有修改前的值也有修改后的值。借助于修改日志,數(shù)據(jù)庫管理員可以在出錯時“廢除”任何修改而恢復(fù)數(shù)據(jù)的原值。
(5)檔案數(shù)據(jù)庫管理系統(tǒng)要求嚴格的用戶身份鑒別。為了進一步加強數(shù)據(jù)庫系統(tǒng)的安全性和保密性,必須對使用數(shù)據(jù)庫的時間甚至地點加以限制。有的檔案數(shù)據(jù)庫管理系統(tǒng)要求用戶只能在指定時間、指定的終端上,對數(shù)據(jù)庫系統(tǒng)進行指定的操作。因此,在指定時間、指定終端上登錄上機的用戶進行身份標識( ID)和口令的鑒別。
(6)檔案數(shù)據(jù)庫管理系統(tǒng)應(yīng)采取適當?shù)脑L問控制機制。既可以是任意訪問控制,又可以是強制訪問控制。任意訪問控制可以通過控制矩陣進行。強制訪問控制通過與軍事安全策略類似的方法來實現(xiàn)。具體地講,在檔案數(shù)據(jù)庫管理系統(tǒng)的安全控制上引入級和范圍(類別)的概念,每個主體制訂一個范圍許可級別,每個客體有相應(yīng)的保密級別。范圍許可級別和保密級別一般有四類:公開、秘密、機密和絕密。在服從強制控制的前提下,還可以結(jié)合任意控制訪問機制,形成一種比較安全又比較靈活的多級安全模型。
(7)采用多層檔案數(shù)據(jù)庫系統(tǒng),即把操作系統(tǒng)的多級安全模型引入安全數(shù)據(jù)庫系統(tǒng)設(shè)計之中。多層數(shù)據(jù)庫對訪問進行控制的一種簡單方法是“分區(qū)”。數(shù)據(jù)庫被劃分為不同的子庫(分區(qū)),每個子庫都擁有各自的安全層次。這種方法破壞了數(shù)據(jù)庫的基本優(yōu)點,增加了設(shè)計的冗余,而且在對某個字段進行修改時,可能要同時查詢并修改其他分區(qū)中的相同字段,以維持設(shè)計的一致性。
多層數(shù)據(jù)庫對訪問控制的另一種方法是利用視圖這個抽象概念。簡言之,視圖是數(shù)據(jù)庫的一個子集,它僅包含用戶有權(quán)訪問的信息。這樣單個用戶的所有查詢僅在自己的數(shù)據(jù)庫子集上進行。子集視圖保證用戶不會訪問允許范圍之外的其他設(shè)計。除了元素之外,視圖由數(shù)據(jù)庫中相應(yīng)的一系列關(guān)系構(gòu)成。用戶可以在已有的屬性元素上進行相應(yīng)的操作。
多層數(shù)據(jù)庫的第一層完成訪問控制,并進行檔案數(shù)據(jù)庫系統(tǒng)需要的用戶身份鑒別,還應(yīng)當完成數(shù)據(jù)傳輸給高層時的篩選工作。第二層完成基本的數(shù)據(jù)庫索引及其計算功能。第三層把用戶的視圖轉(zhuǎn)化為數(shù)據(jù)庫的基本關(guān)系。
與多層檔案數(shù)據(jù)庫系統(tǒng)安全有關(guān)的還有并發(fā)控制、數(shù)據(jù)恢復(fù)、審計跟蹤等技術(shù)。這些技術(shù)是一般數(shù)據(jù)庫系統(tǒng)必備的安全措施,而不是安全數(shù)據(jù)庫系統(tǒng)的特有技術(shù)。
涉及檔案信息安全的策略及安全技術(shù)還有很多,本節(jié)只做一些簡單的基本介紹。應(yīng)該說,隨著檔案信息網(wǎng)絡(luò)技術(shù)的普及和檔案信息上網(wǎng)工程的展開,各級檔案部門對網(wǎng)絡(luò)的依賴程度越來越深,高度的依賴性會使國家和檔案部門變得十分“脆弱”,萬一出現(xiàn)問題,所帶來的將是社會性和國家性的危機。
影響檔案信息安全的因素很多,保證檔案信息安全的策略也不是單一的,而是需要多種策略的綜合作用,需要多項對策和措施的協(xié)調(diào)、合作,構(gòu)成一個有機的檔案信息安全防護體系。所以,維護檔案信息安全,確保檔案信息的安全運行至關(guān)重要。檔案信息安全策略具有較強的生命周期性。因此,要注意定期根據(jù)相關(guān)因素變化,進行安全策略的修改,保證安全策略的可用性。
各級檔案部門必須加大檔案信息安全技術(shù)的投入,采用適合我國國情的安全產(chǎn)品,為國家檔案信息化進程提供強有力的安全保障。