




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第四篇 信息平安技術(shù)第8章 數(shù)據(jù)庫系統(tǒng)平安技術(shù) .本章學習目的數(shù)據(jù)庫系統(tǒng)的平安框架和平安性要求數(shù)據(jù)庫的死鎖、活鎖和可串行化數(shù)據(jù)庫的備份與恢復方法攻擊數(shù)據(jù)庫的常用方法Oracle數(shù)據(jù)庫的平安管理.引言數(shù)據(jù)庫系統(tǒng)擔負著存儲和管理數(shù)據(jù)信息的義務(wù),是計算機運用技術(shù)的一個重要分支,從20世紀70年代后期開場開展,雖然起步較晚,但近30年來曾經(jīng)構(gòu)成為一門新興學科。數(shù)據(jù)庫運用涉及面很廣,幾乎一切領(lǐng)域都要用到數(shù)據(jù)庫系統(tǒng)。因此,如何保證和加強其平安性和嚴密性,已成為目前迫切需求處理的搶手課題。.8.1數(shù)據(jù)庫系統(tǒng)平安概述8.1.1 數(shù)據(jù)庫系統(tǒng)的組成數(shù)據(jù)庫系統(tǒng)的組成 數(shù)據(jù)庫:按一定的規(guī)那么和方式存取數(shù)據(jù)的集合體。數(shù)
2、據(jù)庫管理系統(tǒng)DBMS:專門擔任數(shù)據(jù)庫管理和維護的計算機軟件系統(tǒng) 。DBMS的功能 有正確的編譯功能,能正確執(zhí)行規(guī)定的操作。能正確執(zhí)行數(shù)據(jù)庫命令。能保證數(shù)據(jù)的平安性、完好性,能抵御一定程度的物理破壞,能維護和提交數(shù)據(jù)庫內(nèi)容。能識別用戶、分配授權(quán)和進展訪問控制,包括身份識別和驗證。順利執(zhí)行數(shù)據(jù)庫訪問,保證網(wǎng)絡(luò)通訊功能。 DBA的職責 決議數(shù)據(jù)庫的信息內(nèi)容和構(gòu)造 ;決議數(shù)據(jù)庫的存儲構(gòu)造和存取戰(zhàn)略 ;定義數(shù)據(jù)的平安性要求和完好性約束條件 ;確保數(shù)據(jù)庫的平安性和完好性 ;監(jiān)視和控制數(shù)據(jù)庫的運用和運轉(zhuǎn) 。.8.1.2數(shù)據(jù)庫系統(tǒng)平安的含義數(shù)據(jù)庫系統(tǒng)運轉(zhuǎn)平安 數(shù)據(jù)庫系統(tǒng)運轉(zhuǎn)平安包括法律、政策的維護,如用戶能否
3、有合法權(quán)益,政策能否允許等;物理控制平安,如機房加鎖等;硬件運轉(zhuǎn)平安;操作系統(tǒng)平安,如數(shù)據(jù)文件能否維護等;災(zāi)禍、缺點恢復;防止和解除死鎖;防止電磁信息走漏。數(shù)據(jù)庫系統(tǒng)信息平安 數(shù)據(jù)庫系統(tǒng)信息平安包括用戶口令鑒別,用戶存取權(quán)限控制,數(shù)據(jù)存取權(quán)限、方式控制,審計跟蹤,數(shù)據(jù)加密。 .8.1.3 數(shù)據(jù)庫系統(tǒng)的平安性要求安全問題注釋物理上的數(shù)據(jù)庫完整性 預防數(shù)據(jù)庫數(shù)據(jù)物理方面的問題。如掉電,以及當被災(zāi)禍破壞后能重構(gòu)數(shù)據(jù)庫 邏輯上的數(shù)據(jù)庫完整性 保持數(shù)據(jù)的結(jié)構(gòu)。如一個字段的值的修改不至于影響其他字段元素的完整性 包含在每個元素中的數(shù)據(jù)是準確的 可審計性 能夠追蹤到誰訪問修改過數(shù)據(jù)的元素 訪問控制 允許用戶
4、只訪問被批準的數(shù)據(jù),以及限制不同的用戶有不同的訪問模式,如讀或?qū)?用戶認證 確保每個用戶被正確地識別,既便于審計跟蹤,也為了限制對特定的數(shù)據(jù)進行訪問 可獲(用)性 用戶一般可以訪問數(shù)據(jù)庫以及所有被批準訪問的數(shù)據(jù) .數(shù)據(jù)庫管理系統(tǒng)對完好性的要求 數(shù)據(jù)庫的完好性數(shù)據(jù)庫的完好性是DBMS和計算系統(tǒng)管理者的責任。整個數(shù)據(jù)庫的一種維護方式是對系統(tǒng)上的一切文件做周期性備份。元素的完好性數(shù)據(jù)庫元素的完好性是指它們的正確性和準確性。字段檢查 經(jīng)過訪問控制來維護數(shù)據(jù)庫的完好性和一致性維護數(shù)據(jù)庫的更改日志。 可審計性.數(shù)據(jù)庫管理系統(tǒng)對嚴密性和可獲性的要求訪問控制數(shù)據(jù)庫經(jīng)常根據(jù)用戶訪問權(quán)限進展邏輯分割。 數(shù)據(jù)庫管理
5、系統(tǒng)DBMS必需實施訪問控制戰(zhàn)略,指定哪些數(shù)據(jù)允許被訪問或者制止訪問;指定允許誰訪問哪些數(shù)據(jù),這些數(shù)據(jù)可以是字段或記錄,或者甚至是元素。 對數(shù)據(jù)庫的訪問控制和操作系統(tǒng)的訪問控制有根本區(qū)別。 經(jīng)過推理訪問數(shù)據(jù)能夠不需求有對平安目的的直接訪問權(quán)。 操作系統(tǒng)和數(shù)據(jù)庫的訪問控制目的在規(guī)模上是不同的。 用戶認證DBMS在操作系統(tǒng)之外作為一個運用程序被運轉(zhuǎn),這意味著它沒有互操作系統(tǒng)的可信任途徑,因此必需疑心它所收到的任何數(shù)據(jù),包括用戶認證。 可獲性DBMS的可獲性。問題之一來自于對兩個用戶懇求同一記錄的仲裁;問題之二是為了防止暴露被維護的數(shù)據(jù)而需求扣發(fā)某些非維護的數(shù)據(jù).8.1.4 數(shù)據(jù)庫系統(tǒng)的平安框架數(shù)據(jù)
6、庫系統(tǒng)的平安除依賴本身內(nèi)部的平安機制外,還與外部網(wǎng)絡(luò)環(huán)境、運用環(huán)境、從業(yè)人員素質(zhì)等要素息息相關(guān)。因此,從廣義上講,數(shù)據(jù)庫系統(tǒng)的平安框架可以劃分為三個層次,分別為:網(wǎng)絡(luò)系統(tǒng)層次、操作系統(tǒng)層次、數(shù)據(jù)庫管理系統(tǒng)層次。.網(wǎng)絡(luò)系統(tǒng)層次的平安網(wǎng)絡(luò)系統(tǒng)是數(shù)據(jù)庫運用的外部環(huán)境和根底,數(shù)據(jù)庫系統(tǒng)要發(fā)揚其強大作用離不開網(wǎng)絡(luò)系統(tǒng)的支持,數(shù)據(jù)庫系統(tǒng)的用戶如異地用戶、分布式用戶也要經(jīng)過網(wǎng)絡(luò)才干訪問數(shù)據(jù)庫的數(shù)據(jù)。所以,數(shù)據(jù)庫的平安首先依賴于網(wǎng)絡(luò)系統(tǒng),網(wǎng)絡(luò)系統(tǒng)的平安是數(shù)據(jù)庫平安的第一道屏障,外部入侵首先就是從入侵網(wǎng)絡(luò)系統(tǒng)開場的。網(wǎng)絡(luò)系統(tǒng)層次的平安防備技術(shù)有很多種,主要有防火墻、入侵檢測技術(shù)等。.操作系統(tǒng)層次的平安操作系統(tǒng)是
7、大型數(shù)據(jù)庫系統(tǒng)的運轉(zhuǎn)平臺,為數(shù)據(jù)庫系統(tǒng)提供一定程度的平安維護。目前操作系統(tǒng)平臺大多數(shù)集中在NT和UNIX,平安級別通常為C1、C2級。主要平安技術(shù)有操作系統(tǒng)平安戰(zhàn)略、平安管理戰(zhàn)略、數(shù)據(jù)平安等方面。其中操作系統(tǒng)平安戰(zhàn)略用于配置本地計算機的平安設(shè)置,包括密碼戰(zhàn)略、賬戶鎖定戰(zhàn)略、審核戰(zhàn)略、IP平安戰(zhàn)略、用戶權(quán)益指派、加密數(shù)據(jù)的恢復代理及其他平安選項,詳細可以表達在用戶賬戶、口令、訪問權(quán)限、審計等方面。平安管理戰(zhàn)略是指網(wǎng)絡(luò)管理員對系統(tǒng)實施平安管理所采取的方法及戰(zhàn)略。針對不同的操作系統(tǒng)、網(wǎng)絡(luò)環(huán)境,需求采取的平安管理戰(zhàn)略普通也不盡一樣,其中心是保證效力器的平安和分配好各類用戶的權(quán)限。數(shù)據(jù)平安主要包括:數(shù)據(jù)
8、加密技術(shù)、數(shù)據(jù)備份、數(shù)據(jù)存儲的平安性、數(shù)據(jù)傳輸?shù)钠桨残缘???梢圆捎玫募夹g(shù)很多,主要有Kerberos認證,IPSec,SSL,TLS,VPN等技術(shù)。.數(shù)據(jù)庫管理系統(tǒng)層次的平安當前面兩個層次曾經(jīng)被突破的情況下,數(shù)據(jù)庫管理系統(tǒng)在一定程度上能保證數(shù)據(jù)庫數(shù)據(jù)的平安。目前市場上流行的關(guān)系數(shù)據(jù)庫管理系統(tǒng)的平安性功能都很弱,所以,數(shù)據(jù)庫的平安不能得到保證,這就要求數(shù)據(jù)庫管理系統(tǒng)必需有一套強有力的平安機制。數(shù)據(jù)庫管理系統(tǒng)本身提供的用戶名/口令識別,視圖、運用權(quán)限控制,審計等管理措施,大型數(shù)據(jù)庫管理系統(tǒng)Oracle,Sybase,Ingress等均有此功能。運用程序設(shè)置的控制管理,如運用較普遍的FoxBASE,
9、FoxPro等。作為數(shù)據(jù)庫用戶,最關(guān)懷本身數(shù)據(jù)資料的平安,特別是用戶的查詢權(quán)限問題。.8.1.5數(shù)據(jù)庫系統(tǒng)的平安特性 1數(shù)據(jù)獨立性數(shù)據(jù)獨立于運用程序之外。實際上數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)獨立性分為兩種:物理獨立性。數(shù)據(jù)庫的物理構(gòu)造的變化不影響數(shù)據(jù)庫的運用構(gòu)造,從而也就不影響其相應(yīng)的運用程序。這里的物理構(gòu)造是指數(shù)據(jù)庫的物理位置、物理設(shè)備等。邏輯獨立性。數(shù)據(jù)庫邏輯構(gòu)造的變化不會影響用戶的運用程序。數(shù)據(jù)類型的修正、添加、改動各表之間的聯(lián)絡(luò)都不會導致運用程序的修正。這兩種數(shù)據(jù)獨立性都要靠DBMS來實現(xiàn)。到目前為止,物理獨立性曾經(jīng)能根本實現(xiàn),但邏輯獨立性實現(xiàn)起來非常困難,數(shù)據(jù)構(gòu)造一旦發(fā)生變化,普通情況下,相應(yīng)的運
10、用程序都要作或多或少的修正。追求這一目的也成為數(shù)據(jù)庫系統(tǒng)構(gòu)造復雜的一個重要緣由。.2數(shù)據(jù)平安性一個數(shù)據(jù)庫能否防止無關(guān)人員得到他不應(yīng)該知道的數(shù)據(jù),是數(shù)據(jù)庫能否適用的一個重要目的。假設(shè)一個數(shù)據(jù)庫對一切的人都公開數(shù)據(jù),那么這個數(shù)據(jù)庫就不是一個可靠的數(shù)據(jù)庫。完好的數(shù)據(jù)庫對數(shù)據(jù)平安性采取了以下措施:將數(shù)據(jù)庫中需求維護的部分與其他部分相隔離。運用授權(quán)規(guī)那么。這是數(shù)據(jù)庫系統(tǒng)經(jīng)常運用的一個方法,數(shù)據(jù)庫給用戶ID號和口令、權(quán)限。當用戶用此ID號和口令登錄后,就會獲得相應(yīng)的權(quán)限。不同的用戶或操作會有不同的權(quán)限。比如,對于一個表,某人有修正權(quán),而其他人只需查詢權(quán)。將數(shù)據(jù)加密,以密碼的方式存于數(shù)據(jù)庫內(nèi)。.3數(shù)據(jù)的完好
11、性數(shù)據(jù)完好性這一術(shù)語用來泛指與損壞和喪失相對的數(shù)據(jù)形狀。它通常闡明數(shù)據(jù)在可靠性與準確性上是可信任的,同時也意味著數(shù)據(jù)有能夠是無效的或不完好的。數(shù)據(jù)完好性包括數(shù)據(jù)的正確性、有效性和一致性。正確性。數(shù)據(jù)在輸入時要保證其輸入值與定義這個表時相應(yīng)的域的類型一致。如表中的某個字段為數(shù)值型,那么它只能允許用戶輸入數(shù)值型的數(shù)據(jù),否那么不能保證數(shù)據(jù)庫的正確性。有效性。在保證數(shù)據(jù)正確的前提下,系統(tǒng)還要約束數(shù)據(jù)的有效性。如對于月份字段,假設(shè)輸入值為17,那么這個數(shù)據(jù)就是無效數(shù)據(jù),這種無效輸入也稱為“渣滓輸入。當然,假設(shè)數(shù)據(jù)庫輸出的數(shù)據(jù)是無效的,相應(yīng)地稱為“渣滓輸出。一致性。當不同的用戶運用數(shù)據(jù)庫,應(yīng)該保證他們?nèi)〕?/p>
12、的數(shù)據(jù)必需一致。由于數(shù)據(jù)庫系統(tǒng)對數(shù)據(jù)的運用是集中控制的,因此數(shù)據(jù)的完好性控制還是比較容易實現(xiàn)的。.4并發(fā)控制假設(shè)數(shù)據(jù)庫運用要實現(xiàn)多用戶共享數(shù)據(jù),就能夠在同一時辰多個用戶要存取數(shù)據(jù),這種事件叫做并發(fā)事件。當一個用戶取出數(shù)據(jù)進展修正,修正存入數(shù)據(jù)庫之前如有其他用戶再取此數(shù)據(jù),那么讀出的數(shù)據(jù)就是不正確的。這時就需求對這種并發(fā)操作施行控制,排除和防止這種錯誤的發(fā)生,保證數(shù)據(jù)的正確性。.5缺點恢復當數(shù)據(jù)庫系統(tǒng)運轉(zhuǎn)時出現(xiàn)物理或邏輯上的錯誤時,如何盡快將它恢復正常,這就是數(shù)據(jù)庫系統(tǒng)的缺點恢復功能。數(shù)據(jù)庫的缺點主要包括:事務(wù)內(nèi)部的缺點系統(tǒng)范圍內(nèi)的缺點介質(zhì)缺點計算機病毒與黑客等。.事務(wù)內(nèi)部的缺點 事務(wù)Trans
13、action是指并發(fā)控制的單位,它是一個操作序列。在這個序列中的一切操作只需兩種行為,要么全都執(zhí)行,要么全都不執(zhí)行。因此,事務(wù)是一個不可分割的單位。事務(wù)用COMMIT語句提交給數(shù)據(jù)庫,用ROLLBACK語句撤銷曾經(jīng)完成的操作。事務(wù)內(nèi)部的缺點多發(fā)生于數(shù)據(jù)的不一致性,主要表現(xiàn)為以下幾種:喪失修正。兩個事務(wù)T1和T2讀入同一數(shù)據(jù),T2提交的結(jié)果破壞了T1提交的結(jié)果,T1對數(shù)據(jù)庫的修正喪失,呵斥數(shù)據(jù)庫中數(shù)據(jù)錯誤。不能反復讀。事務(wù)T1讀取某一數(shù)據(jù),事務(wù)T2讀取并修正了同一數(shù)據(jù),T1為了對讀取值進展校正再讀取此數(shù)據(jù),便得到了不同的結(jié)果。例如,T1讀取數(shù)據(jù)B=200,T2也讀取B并把它修正為300,那么T1
14、再讀取數(shù)據(jù)B得到300,與第一次讀取的數(shù)值不一致?!芭K數(shù)據(jù)的讀出,即不正確數(shù)據(jù)的讀出。T1修正某一數(shù)據(jù),T2讀取同一數(shù)據(jù),但T1由于某種緣由被撤銷,那么T2讀到的數(shù)據(jù)為“臟數(shù)據(jù)。例如,T1讀取數(shù)據(jù)B值100修正為200,那么T2讀取B值為200,但由于事務(wù)T1被撤銷,其所做的修正宣布無效,B值恢復為100,而T2讀到的數(shù)據(jù)是200,就與數(shù)據(jù)庫內(nèi)容不一致了。.系統(tǒng)范圍內(nèi)的缺點 數(shù)據(jù)庫系統(tǒng)缺點又稱為數(shù)據(jù)庫軟缺點,是指系統(tǒng)忽然停頓運轉(zhuǎn)時呵斥的數(shù)據(jù)庫缺點。如CPU缺點、忽然斷電、操作系統(tǒng)缺點,這些缺點不會破壞數(shù)據(jù)庫,但會影響正在運轉(zhuǎn)的一切事務(wù),由于數(shù)據(jù)庫緩沖區(qū)的內(nèi)容會全部喪失,運轉(zhuǎn)的事務(wù)非正常終止,從
15、而呵斥數(shù)據(jù)庫處于一種不正確的形狀。這種缺點對于一個需求不停運轉(zhuǎn)的數(shù)據(jù)庫來講,損失是不可估量的?;謴妥酉到y(tǒng)必需在系統(tǒng)重新啟動時讓一切非正常終止事務(wù)ROLLBACK,把數(shù)據(jù)庫恢復到正確的形狀。.介質(zhì)缺點。介質(zhì)缺點又稱硬缺點,主要指外存缺點,如磁盤磁頭碰撞,瞬時的強磁場干擾。這類缺點會破壞數(shù)據(jù)庫或部分數(shù)據(jù)庫,并影響正在運用數(shù)據(jù)庫的一切事務(wù)。所以,這類缺點的破壞性很大。 計算機病毒與黑客。計算機病毒的內(nèi)容詳見第8章。病毒發(fā)作后呵斥的數(shù)據(jù)庫數(shù)據(jù)的損壞必需求求操作者本人去恢復。對于黑客,更需求計算機數(shù)據(jù)庫加強平安管理。這種平安管理對于那些性的數(shù)據(jù)庫顯得尤為重要。.8.2數(shù)據(jù)庫的維護隨著計算機越來越深化的運
16、用,一些大型數(shù)據(jù)庫中存儲著大量嚴密性的信息,如國防、金融、軍事等方面。假設(shè)這些數(shù)據(jù)庫中的數(shù)據(jù)遭到破壞,呵斥的損失難以估量。所以數(shù)據(jù)庫的維護是數(shù)據(jù)庫運轉(zhuǎn)過程中一個不可忽視的方面。數(shù)據(jù)庫系統(tǒng)必需建立本人的維護機制,提供數(shù)據(jù)維護功能。數(shù)據(jù)庫的維護主要包含數(shù)據(jù)庫的平安性、完好性、并發(fā)控制和數(shù)據(jù)庫恢復等內(nèi)容。.8.2.1數(shù)據(jù)庫的平安性平安性問題是一切計算機系統(tǒng)共有的問題,并不是數(shù)據(jù)庫系統(tǒng)特有的,但由于數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)量龐大且多用戶存取,平安性問題就顯得尤其突出。由于平安性問題有系統(tǒng)問題與人為問題,所以一方面用戶可以從法律、政策、倫理、品德等方面控制約束人們對數(shù)據(jù)庫的平安運用;另一方面還可以從物理設(shè)備、操作
17、系統(tǒng)等方面加強維護,保證數(shù)據(jù)庫的平安;另外,也可以從數(shù)據(jù)庫本身實現(xiàn)數(shù)據(jù)庫的平安性維護。.數(shù)據(jù)庫平安控制模型 用戶標識和鑒定經(jīng)過核對用戶的名字或身份ID,決議該用戶對系統(tǒng)的運用權(quán)訪問控制 給不同的用戶對象授予不同的操作權(quán)益 數(shù)據(jù)分級 為每一數(shù)據(jù)對象文件、記錄或字段等賦予一定的嚴密級 數(shù)據(jù)庫加密 對數(shù)據(jù)庫文件進展加密處置是處理數(shù)據(jù)平安問題的最有效方法用戶DBMSOSDB用戶標識和鑒定存取控制操作系統(tǒng)平安維護密碼存儲.1用戶標識和鑒定經(jīng)過核對用戶的名字或身份ID,決議該用戶對系統(tǒng)的運用權(quán)。數(shù)據(jù)庫系統(tǒng)不允許一個未經(jīng)授權(quán)的用戶對數(shù)據(jù)庫進展操作。用戶用身份和口令登錄時,系統(tǒng)用一張用戶口令表去驗證用戶身份。
18、表中只需兩個字段:用戶名和口令。并且用戶輸入的口令并不顯示在屏幕上,而只是以某種符號替代,如“*號。系統(tǒng)根據(jù)用戶的輸入驗證此用戶能否為合法用戶。這種方法簡便易行,但嚴密性不是很高。另外一種標識鑒定的方法是用戶先標識本人,系統(tǒng)提供相應(yīng)的口令表,這個口令表不是簡單地與用戶輸入的口令比較,而是系統(tǒng)給出一個隨機數(shù),用戶按照某個特定的過程或函數(shù)進展計算后給出結(jié)果值,系統(tǒng)同樣按照這個過程或函數(shù)對隨機數(shù)進展計算,假設(shè)與用戶輸入的相等那么證明此用戶為合法用戶,可以再接著為用戶分配權(quán)限;否那么,系統(tǒng)以為此用戶根本不是合法用戶,回絕進入數(shù)據(jù)庫系統(tǒng)。.2訪問控制數(shù)據(jù)庫系統(tǒng)中,不同的用戶對象有不同的操作權(quán)益。對數(shù)據(jù)庫
19、的操作權(quán)限普通包括查詢權(quán)、記錄的修正權(quán)、索引的建立權(quán)、數(shù)據(jù)庫的創(chuàng)建權(quán)。把這些權(quán)益按一定的規(guī)那么授予用戶,以保證用戶的操作在本人的權(quán)限范圍之內(nèi)。授權(quán)規(guī)那么可以見下表。數(shù)據(jù)庫的授權(quán)由SQL的GRANT授權(quán)和REVOKE回收來完成。關(guān)系S關(guān)系S關(guān)系SC用戶1NONESELECTALL用戶2SELECTUPDATESELECT DELETE UPDATE用戶3NONENONESELECT用戶4NONEINSERT SELECTNONE用戶5ALLNONENONE.3數(shù)據(jù)分級有些數(shù)據(jù)庫系統(tǒng)對平安性的處置是把數(shù)據(jù)分級。這種方案為每一數(shù)據(jù)對象文件、記錄或字段等賦予一定的嚴密級。如絕密級、級、級和公用級。對于
20、用戶,也分成類似的級別。系統(tǒng)便可規(guī)定兩條規(guī)那么:用戶I只能查看比他級別低的或同級的數(shù)據(jù)。用戶I只能修正和他同級的數(shù)據(jù)。在第2條中,用戶I顯然不能修正比他級別高的數(shù)據(jù),但同時也不能修正比他級別低的數(shù)據(jù),這是為了管理上的方便。假設(shè)用戶I要修正比他級別低的數(shù)據(jù),那么首先要降低用戶I的級別或提高數(shù)據(jù)的級別使得兩者之間的級別相等才干進展修正操作。數(shù)據(jù)分級法是一種獨立于數(shù)值的一種簡單的控制方式,它的優(yōu)點是系統(tǒng)能執(zhí)行“信息流控制。 .4數(shù)據(jù)庫加密1數(shù)據(jù)庫加密的特點:數(shù)據(jù)庫密碼系統(tǒng)應(yīng)采用公開密鑰。由于數(shù)據(jù)庫的數(shù)據(jù)是共享的,有權(quán)限的用戶隨時需求運用密鑰來查詢數(shù)據(jù)。因此,數(shù)據(jù)庫密碼系統(tǒng)宜采用公開密鑰的加密方法。多
21、級密鑰構(gòu)造。數(shù)據(jù)庫關(guān)系運算中參與運算的最小單位是字段,查詢途徑依次是庫名、表名、記錄名和字段名。因此,字段是最小的加密單位。也就是說當查得一個數(shù)據(jù)后,該數(shù)據(jù)所在的庫名、表名、記錄名、字段名都應(yīng)是知道的。對應(yīng)的庫名、表名、記錄名、字段名都應(yīng)該具有本人的子密鑰,這些子密鑰組成了一個可以隨時加、解密的公開密鑰。加密體制。 加密算法。 .4數(shù)據(jù)庫加密2不同層次的加密。可以在三個不同層次實現(xiàn)對數(shù)據(jù)庫數(shù)據(jù)的加密,這三個層次分別是OS層、DBMS內(nèi)核層和DBMS外層。在OS層加密。在OS層無法識別數(shù)據(jù)庫文件中的數(shù)據(jù)關(guān)系,從而無法產(chǎn)生合理的密鑰,對密鑰合理的管理和運用也很難。所以,對大型數(shù)據(jù)庫來說,在OS層對
22、數(shù)據(jù)庫文件進展加密很難實現(xiàn)。在DBMS內(nèi)核層實現(xiàn)加密。這種加密是指數(shù)據(jù)在物理存取之前完成加/解密任務(wù)。這種加密方式的優(yōu)點是加密功能強,并且加密功能幾乎不會影響DBMS的功能,可以實現(xiàn)加密功能與數(shù)據(jù)庫管理系統(tǒng)之間的無縫耦合。其缺陷是加密運算在效力器端進展,加重了效力器的負載,而且DBMS和加密器之間的接口需求DBMS開發(fā)商的支持。在DBMS外層實現(xiàn)加密。比較實踐的做法是將數(shù)據(jù)庫加密系統(tǒng)做成DBMS的一個外層工具,根據(jù)加密要求自動完成對數(shù)據(jù)庫數(shù)據(jù)的加/解密處置。采用這種加密方式進展加密,加/解密運算可在客戶端進展,它的優(yōu)點是不會加重數(shù)據(jù)庫效力器的負載并且可以實現(xiàn)網(wǎng)上傳輸?shù)募用埽瑢?shù)據(jù)庫的最終用戶是
23、完全透明的,不會影響數(shù)據(jù)庫效力器的效率。缺陷是加密功能會遭到一些限制,與數(shù)據(jù)庫管理系統(tǒng)之間的耦合性稍差。.4數(shù)據(jù)庫加密3數(shù)據(jù)庫加密的范圍。經(jīng)過加密的數(shù)據(jù)庫須經(jīng)得起來自O(shè)S和DBMS的攻擊;另一方面,DBMS要完成對數(shù)據(jù)庫文件的管理和運用,必需具有可以識別部分數(shù)據(jù)的條件。因此,只能對數(shù)據(jù)庫中的數(shù)據(jù)進展部分加密。數(shù)據(jù)庫中不能加密的部分包括:索引字段不能加密。為了到達迅速查詢的目的,數(shù)據(jù)庫文件需求建立一些索引,它們的建立和運用必需是明文形狀,否那么將失去索引的作用。關(guān)系運算的比較字段不能加密。DBMS要組織和完成關(guān)系運算,參與并、差、積、商、投影、選擇和銜接等操作的數(shù)據(jù)普通都要經(jīng)過條件挑選,這種“條
24、件選擇項必需是明文,否那么DBMS將無法進展比較挑選。表間的銜接碼字段不能加密。數(shù)據(jù)模型規(guī)范化以后,數(shù)據(jù)庫表之間存在著親密的聯(lián)絡(luò),這種相關(guān)性往往是經(jīng)過“外部編碼聯(lián)絡(luò)的,這些編碼假設(shè)加密就無法進展表與表之間的銜接運算。.4數(shù)據(jù)庫加密4數(shù)據(jù)庫加密對數(shù)據(jù)庫管理系統(tǒng)原有功能的影響。數(shù)據(jù)庫數(shù)據(jù)加密以后,DBMS的一些功能將無法運用。無法實現(xiàn)對數(shù)據(jù)制約要素的定義。Sybase數(shù)據(jù)庫系統(tǒng)的規(guī)那么定義了數(shù)據(jù)之間的制約要素。數(shù)據(jù)一旦加密,DBMS將無法實現(xiàn)這一功能,而且,值域的定義也無法進展。值得留意的是,數(shù)據(jù)庫中的每個字段的類型、長度都有詳細的限定。數(shù)據(jù)加密時,數(shù)值類型的數(shù)據(jù)只能在數(shù)值范圍內(nèi)加密,日期和字符類
25、型的數(shù)據(jù)也都只能在各自的類型范圍內(nèi)加密,密文長度也不能超越字段限定的長度,否那么DBMS將無法接受這些加密過的數(shù)據(jù)。密文數(shù)據(jù)的排序、分組和分類。select語句中的group by,order by,having子句分別完成分組、排序、分類等操作。這些子句的操作對象假設(shè)是加密數(shù)據(jù),那么解密后的明文數(shù)據(jù)將失去原語句的分組、排序、分類作用,顯然這不是用戶所需求的。SQL言語中的內(nèi)部函數(shù)將對加密數(shù)據(jù)失去作用。DBMS對各種類型數(shù)據(jù)均提供了一些內(nèi)部函數(shù),這些函數(shù)不能直接作用于加密數(shù)據(jù)。DBMS的一些運用開發(fā)工具的運用遭到限制。.8.2.2數(shù)據(jù)庫中數(shù)據(jù)的完好性數(shù)據(jù)的完好性主要是指:防止數(shù)據(jù)庫中存在不符合
26、語義的數(shù)據(jù),防止錯誤信息的輸入和輸出。數(shù)據(jù)完好性包括數(shù)據(jù)的正確性、有效性和一致性。數(shù)據(jù)類型與值域的約束 關(guān)鍵字約束 數(shù)據(jù)聯(lián)絡(luò)的約束.8.2.3數(shù)據(jù)庫并發(fā)控制目前,多數(shù)數(shù)據(jù)庫都是大型多用戶數(shù)據(jù)庫,所以數(shù)據(jù)庫中的數(shù)據(jù)資源必需是共享的。為了充分利用數(shù)據(jù)庫資源,應(yīng)允許多個用戶并行操作數(shù)據(jù)庫。數(shù)據(jù)庫必需能對這種并行操作進展控制,即并發(fā)控制,以保證數(shù)據(jù)在不同的用戶運用時的一致性。并發(fā)控制的主要方法是封鎖技術(shù)Locking。當某事務(wù)修正數(shù)據(jù)時,將數(shù)據(jù)封鎖,這樣在這個事務(wù)讀取和修正數(shù)據(jù)時,其他的事務(wù)就不能對數(shù)據(jù)進展讀取和修正,直到此事務(wù)解除封鎖。.8.3死鎖、活鎖和可串行化8.3.1死鎖與活鎖某個事務(wù)永遠處于
27、等待形狀稱為活鎖 。處理活鎖的最常見方法是對事務(wù)進展排隊,按“先入先出的原那么進展調(diào)度。兩個或兩個以上的事務(wù)永遠無法終了,彼此都在等待對方解除封鎖,結(jié)果呵斥事務(wù)永遠等待,這種封鎖叫死鎖。.呵斥事務(wù)永遠等待的死鎖過程時刻事務(wù)1事務(wù)2t1讀取數(shù)據(jù)A(對A進行封鎖) t2讀取數(shù)據(jù)B(對B進行封鎖) t3讀取數(shù)據(jù)B(等待) t4讀取數(shù)據(jù)A(等待) .處理死鎖問題的主要方法每個事務(wù)一次就將一切要運用的數(shù)據(jù)全部加鎖,否那么就不能執(zhí)行。 預先規(guī)定一個封鎖順序,一切的事務(wù)都必需按這個順序?qū)?shù)據(jù)執(zhí)行封鎖。 不預防死鎖的發(fā)生,而是讓系統(tǒng)用某種方法判別當前系統(tǒng)中能否有死鎖景象。假設(shè)發(fā)生死鎖再設(shè)法解除,使事務(wù)再繼續(xù)運
28、轉(zhuǎn)。.8.3.2可串行化并行事務(wù)執(zhí)行時,系統(tǒng)的調(diào)度是隨機的,因此,需求一個尺度去判別事務(wù)執(zhí)行的正確性。當并行操作的結(jié)果與串行操作的結(jié)果一樣時,我們就以為這個并行事務(wù)處置結(jié)果是正確的。這個并行操作調(diào)度稱為可串行化調(diào)度??纱谢遣⑿惺聞?wù)正確性的準那么。這個準那么規(guī)定,一個給定的交叉調(diào)度,當且僅當它是可串行化的,才以為是正確的。.8.3.3時標技術(shù)時標技術(shù)是防止因出現(xiàn)數(shù)據(jù)不一致而呵斥的破壞數(shù)據(jù)庫完好性的另外一種方法。由于它不是采用封鎖的方法,所以,不會產(chǎn)生死鎖的問題。時標和封鎖技術(shù)之間的根本區(qū)別是:封鎖是使一組事務(wù)的并發(fā)執(zhí)行即交叉執(zhí)行同步,使它等價于這些事務(wù)的某一串行操作;時標法也是使一組事務(wù)的交
29、叉執(zhí)行同步,但是它等價于這些事務(wù)的一個特定的串行執(zhí)行,即由時標的時序所確定的一個執(zhí)行。假設(shè)發(fā)生沖突,那么經(jīng)過撤銷并重新啟動一個事務(wù)處理。假設(shè)事務(wù)重新啟動,那么賦予新的時標。.8.4攻擊數(shù)據(jù)庫的常用方法突破Script的限制對SQL口令的突破利用多語句執(zhí)行破綻SQL Server的安裝破綻數(shù)據(jù)庫的利用數(shù)據(jù)庫掃描工具.8.5數(shù)據(jù)庫的恢復恢復也稱為重載或重入,是指當磁盤損壞或數(shù)據(jù)庫解體時,經(jīng)過將備份的內(nèi)容轉(zhuǎn)儲或卸載,使數(shù)據(jù)庫前往到原來形狀的過程.數(shù)據(jù)庫的恢復方法 周期性地如三天一次對整個數(shù)據(jù)庫進展轉(zhuǎn)儲,把它復制到備份介質(zhì)中如磁帶中,作為后備副本,以備恢復之用。靜態(tài)轉(zhuǎn)儲是指轉(zhuǎn)儲期間不允許對數(shù)據(jù)庫進展任
30、何存取、修正活動 動態(tài)轉(zhuǎn)儲是指在存儲期間允許對數(shù)據(jù)庫進展存取或修正對數(shù)據(jù)庫的每次修正,都記下修正前后的值,寫入“運轉(zhuǎn)日志數(shù)集中。它與后備副本結(jié)合,可有效地恢復數(shù)據(jù)庫。.利用日志文件恢復事務(wù)登記日志文件logging事務(wù)運轉(zhuǎn)過程中,系統(tǒng)把事務(wù)開場、事務(wù)終了包括COMMIT和ROLLBACK以及對數(shù)據(jù)庫的插入、刪除、修正等每一個操作作為一個log記錄存放到日志文件中。 登記的次序嚴厲按并行事務(wù)執(zhí)行的時間次序。同時遵照“先寫日志文件的規(guī)那么。 事務(wù)恢復 從頭掃描日志文件,找出哪些事務(wù)在缺點發(fā)生時曾經(jīng)終了,哪些事務(wù)尚未終了。對尚未終了的事務(wù)進展撤銷也稱為UNDO處置,對曾經(jīng)終了的事務(wù)進展重做REDO處
31、置。 .總之,利用轉(zhuǎn)儲和日志文件可以有效地恢復數(shù)據(jù)庫。當數(shù)據(jù)庫本身被破壞時如硬盤缺點和病毒破壞可重裝轉(zhuǎn)儲的后備副本,然后運轉(zhuǎn)日志文件,執(zhí)行事務(wù)恢復,這樣就可以重建數(shù)據(jù)庫;當數(shù)據(jù)庫本身沒有被破壞,但內(nèi)容曾經(jīng)不可靠時如發(fā)惹事務(wù)缺點和系統(tǒng)缺點可利用日志文件恢復事務(wù),從而使數(shù)據(jù)庫回到某一正確形狀。這時不用重裝后備副本。.8.6Oracle數(shù)據(jù)庫的平安管理在Oracle多用戶數(shù)據(jù)庫系統(tǒng)中,平安機制做以下任務(wù):防止非授權(quán)的數(shù)據(jù)庫存取。防止非授權(quán)的對方式對象的存取??刂拼疟P運用??刂葡到y(tǒng)資源運用。審計用戶動作。Oracle用以下機制管理數(shù)據(jù)庫的平安性:數(shù)據(jù)庫用戶和方式。權(quán)限。角色。存儲設(shè)置和空間份額。資源限
32、制。審計。.8.6.1 Oracle的平安性戰(zhàn)略系統(tǒng)平安性戰(zhàn)略管理數(shù)據(jù)庫用戶。用戶身份確認。操作系統(tǒng)平安性。用戶平安性戰(zhàn)略普通用戶的平安性 終端用戶的平安性數(shù)據(jù)庫管理者的平安性戰(zhàn)略 維護作為SYS和SYSTEM用戶的銜接。維護管理者與數(shù)據(jù)庫的銜接。運用角色對管理者權(quán)限進展管理。運用程序開發(fā)者的平安性戰(zhàn)略運用程序開發(fā)者和他們的權(quán)限。 運用程序開發(fā)者的環(huán)境。運用程序開發(fā)者的空間限制。 .8.6.2 Oracle的用戶管理存取控制Oracle運用多種不同的機制管理數(shù)據(jù)庫平安性,最主要有兩種機制:方式和用戶。用戶的存取權(quán)益受用戶平安域的設(shè)置所控制。每一個用戶有一個平安域,它是一組特性。用戶鑒別 為了防
33、止非授權(quán)的數(shù)據(jù)庫用戶的運用,Oracle提供了三種確認方法:操作系統(tǒng)確認、Oracle數(shù)據(jù)庫確認和網(wǎng)絡(luò)效力確認。用戶的表空間設(shè)置和定額用戶的默許表空間。用戶的暫時表空間。數(shù)據(jù)庫表空間的空間運用定額。.用戶資源限制和環(huán)境文件用戶資源限制 會話級的用戶資源限制 調(diào)用級的用戶資源限制用戶環(huán)境文件用戶環(huán)境文件是指定資源限制的命名集,可以賦給Oracle數(shù)據(jù)庫的有成效戶。利用用戶環(huán)境文件可以容易地管理資源限制。 .8.6.3 權(quán)限和角色權(quán)限系統(tǒng)權(quán)限:執(zhí)行一些特殊動作或者在對象類型上執(zhí)行一種特殊動作的權(quán)益 對象權(quán)限:在指定的表、視圖、序列、過程、函數(shù)或包上執(zhí)行特殊動作的權(quán)益角色一個角色可以授予系統(tǒng)權(quán)限或?qū)?/p>
34、象權(quán)限。一個角色可以授權(quán)給其他角色,但不能循環(huán)授權(quán)。任何角色可以授權(quán)給任何數(shù)據(jù)庫用戶。授權(quán)給用戶的每一個角色可以是可用的也可以是不可用的。一個用戶的平安域僅包含當前對該用戶可用的全部角色的權(quán)限。一個間接授權(quán)角色對用戶可以顯式地使其可用或不可用。在一個數(shù)據(jù)庫中,每一個角色名必需獨一。角色名與用戶不同,角色不包含在任何方式中,所以建立角色的用戶被刪除時不影響該角色。.普通,建立角色效力有兩個目的:為數(shù)據(jù)庫運用管理權(quán)限和為用戶組管理權(quán)限。相應(yīng)的角色稱為運用角色和用戶角色。運用角色是授予的運轉(zhuǎn)數(shù)據(jù)庫運用所需的全部權(quán)限。一個運用角色可以授權(quán)給其他角色或指定用戶。一個運用可以有幾種不同角色,具有不同權(quán)限組的每一個角色在運用運用時可以進展不同的數(shù)據(jù)存取。留意:用戶角色是為具有公開權(quán)限需求的一組數(shù)據(jù)庫用戶建立
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國家飾布藝品數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國低溫雙門食具消毒柜數(shù)據(jù)監(jiān)測研究報告
- 內(nèi)科三基培訓試題及答案
- 江蘇省南京師范大學附屬中學2024-2025學年高一上學期期末考試化學試卷(含答案)
- 河北省部分學校2024-2025學年高三下學期3月聯(lián)考思想政治試題(含答案)
- 施工類承包商部門級環(huán)境培訓試題
- 2025年消防設(shè)施操作員之消防設(shè)備高級技能能力提升試卷A卷附答案
- 2024廣東省中考英語真題【原卷版】
- 采購與項目執(zhí)行分包合同(2篇)
- 鋼管腳手架分包合同
- 醫(yī)療器械醫(yī)療器械研發(fā)合同
- 2025年岳陽職業(yè)技術(shù)學院單招職業(yè)技能測試題庫及參考答案
- (二模)2024-2025學年佛山市順德區(qū)高三教學質(zhì)量檢測 (二)歷史試卷(含答案)
- 2024初級會計職稱考試題庫(附參考答案)
- 國家安全教育大學生讀本高教社2024年8月版教材講義-第一章完全準確領(lǐng)會總體國家安全觀
- 2024年01月河北2024年唐山銀行社會招考筆試歷年參考題庫附帶答案詳解
- 【高++中語文++】《記念劉和珍君》課件+統(tǒng)編版高中語文選擇性必修中冊
- 2025年湖南信息職業(yè)技術(shù)學院高職單招職業(yè)技能測試近5年??及鎱⒖碱}庫含答案解析
- 2025年江西環(huán)境工程職業(yè)學院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 2024年世界職業(yè)院校技能大賽高職組“研學旅行組”賽項參考試題庫(含答案)
- 《金融科技概論》完整全套課件
評論
0/150
提交評論