系統(tǒng)安全性培訓學習培訓模板課件_第1頁
系統(tǒng)安全性培訓學習培訓模板課件_第2頁
系統(tǒng)安全性培訓學習培訓模板課件_第3頁
系統(tǒng)安全性培訓學習培訓模板課件_第4頁
系統(tǒng)安全性培訓學習培訓模板課件_第5頁
已閱讀5頁,還剩135頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、第九章系 統(tǒng) 安 全 性 9.1系統(tǒng)安全的基本概念9.2數(shù)據(jù)加密技術9.3認證技術9.4訪問控制技術 9.5 計算機病毒 9.1系統(tǒng)安全的基本概念 9.1.1系統(tǒng)安全性的內(nèi)容和性質1系統(tǒng)安全性的內(nèi)容(1) 數(shù)據(jù)機密性(Data Secrecy):指將機密的數(shù)據(jù)置于保密狀態(tài),僅允許被授權的用戶訪問計算機系統(tǒng)中的信息(訪問包括顯示和打印文件中的信息)。 (2) 數(shù)據(jù)完整性(Data Integrity):指未經(jīng)授權的用戶不能擅自修改系統(tǒng)中所保存的信息,且能保持系統(tǒng)中數(shù)據(jù)的一致性。這里的修改包括建立和刪除文件以及在文件中增加新內(nèi)容和改變原有內(nèi)容等。(3) 系統(tǒng)可用性(System Availabil

2、ity):指授權用戶的正常請求能及時、正確、安全地得到服務或響應?;蛘哒f,計算機中的資源可供授權用戶隨時進行訪問,系統(tǒng)不會拒絕服務。但是系統(tǒng)拒絕服務的情況在互聯(lián)網(wǎng)中卻很容易出現(xiàn),因為連續(xù)不斷地向某個服務器發(fā)送請求就可能會使該服務器癱瘓,以致系統(tǒng)無法提供服務,表現(xiàn)為拒絕服務。 2系統(tǒng)安全的性質系統(tǒng)安全問題涉及面較廣,它不僅與系統(tǒng)中所用的硬、軟件設備的安全性能有關,而且也與構造系統(tǒng)時所采用的方法有關,這就導致了系統(tǒng)安全問題的性質更為復雜,主要表現(xiàn)為如下幾點:(1) 多面性。在較大規(guī)模的系統(tǒng)中,通常都存在著多個風險點,在這些風險點處又都包括物理安全、邏輯安全以及安全管理三方面的內(nèi)容,其中任一方面出現(xiàn)

3、問題,都可能引起安全事故。 (2) 動態(tài)性。由于信息技術的不斷發(fā)展和攻擊者的攻擊手段層出不窮,使得系統(tǒng)的安全問題呈現(xiàn)出動態(tài)性。例如,在今天還是十分緊要的信息,到明天可能就失去了作用,而同時可能又產(chǎn)生了新的緊要信息;又如,今天還是多數(shù)攻擊者所采用的攻擊手段,到明天卻又較少使用,而又出現(xiàn)了另一種新的攻擊手段。這種系統(tǒng)安全的動態(tài)性,導致人們無法找到一種能將安全問題一勞永逸地解決的方案。 (3) 層次性。系統(tǒng)安全是一個涉及諸多方面、且相當復雜的問題,因此需要采用系統(tǒng)工程的方法來解決。如同大型軟件工程一樣,解決系統(tǒng)安全問題通常也采用層次化方法,將系統(tǒng)安全的功能按層次化方式加以組織,即首先將系統(tǒng)安全問題劃

4、分為若干個安全主題(功能)作為最高層;然后再將其中一個安全主題劃分成若干個子功能作為次高層;此后,再進一步將一個子功能分為若干孫功能;其最低一層是一組最小可選擇的安全功能,它不可再分解。這樣,利用多個層次的安全功能來覆蓋系統(tǒng)安全的各個方面。 (4) 適度性。當前幾乎所有的企、事業(yè)單位在實現(xiàn)系統(tǒng)安全工程時,都遵循了適度安全的準則,即根據(jù)實際需要,提供適度的安全目標加以實現(xiàn)。這是因為:一方面,由于系統(tǒng)安全的多面性和動態(tài)性,使得對安全問題的全面覆蓋難于實現(xiàn);另一方面,即使是存在著這樣的可能,其所需的資源和成本之高,也是難以令人接受的。這就是系統(tǒng)安全的適度性。 9.1.2系統(tǒng)安全威脅的類型(1) 假冒

5、(Masquerading)用戶身份。這種類型也稱為身份攻擊,指用戶身份被非法竊取,亦即,攻擊者偽裝成一個合法用戶,利用安全體制所允許的操作去破壞系統(tǒng)安全。在網(wǎng)絡環(huán)境下,假冒者又可分為發(fā)方假冒和收方假冒兩種。為防止假冒,用戶在進行通信或交易之前,必須對發(fā)方和收方的身份進行認證。 (2) 數(shù)據(jù)截取(Data Interception)。未經(jīng)核準的人可能通過非正當途徑截取網(wǎng)絡中的文件和數(shù)據(jù),由此造成網(wǎng)絡信息的泄漏。截取方式可以是直接從電話線上竊聽,也可以是利用計算機和相應的軟件來截取信息。(3) 拒絕服務(Denial of Server)。這是指未經(jīng)主管部門的許可,而拒絕接受一些用戶對網(wǎng)絡中的資

6、源進行訪問。比如,攻擊者可能通過刪除在某一網(wǎng)絡連接上傳送的所有數(shù)據(jù)包的方式,使網(wǎng)絡表現(xiàn)為拒絕接收某用戶的數(shù)據(jù);還可能是攻擊者通過修改合法用戶的名字,使之成為非法用戶,從而使網(wǎng)絡拒絕向該用戶提供服務。 (4) 修改(Modification)信息。未經(jīng)核準的用戶不僅可能從系統(tǒng)中截獲信息,而且還可以修改數(shù)據(jù)包中的信息,比如,可以修改數(shù)據(jù)包中的協(xié)議控制信息,使該數(shù)據(jù)包被傳送到非指定的目標;也可修改數(shù)據(jù)包中的數(shù)據(jù)部分,以改變傳送到目標的消息內(nèi)容;還可能修改協(xié)議控制信息中數(shù)據(jù)包的序號,以攪亂消息內(nèi)容。(5) 偽造(Fabrication)信息。未經(jīng)核準的人可將一些經(jīng)過精心編造的虛假信息送入計算機,或者在

7、某些文件中增加一些虛假的記錄,這同樣會威脅到系統(tǒng)中數(shù)據(jù)的完整性。 (6) 否認(Repudiation)操作。這種類型又稱為抵賴,是指某人不承認自己曾經(jīng)做過的事情。如某人在向某目標發(fā)出一條消息后卻又矢口否認;類似地,也指某人在收到某條消息或某筆匯款后不予承認的做法。(7) 中斷(Interruption)傳輸。這是指系統(tǒng)中因某資源被破壞而造成信息傳輸?shù)闹袛?。這將威脅到系統(tǒng)的可用性。中斷可能由硬件故障引起,如磁盤故障、電源掉電和通信線路斷開等;也可能由軟件故障引起。 (8) 通信量分析(Traffic Analysis)。攻擊者通過竊聽手段竊取在線路中傳輸?shù)男畔?,再考察?shù)據(jù)包中的協(xié)議控制信息,可

8、以了解到通信者的身份、地址;通過研究數(shù)據(jù)包的長度和通信頻度,攻擊者可以了解到所交換數(shù)據(jù)的性質。 9.1.3信息技術安全評價公共準則1CC的由來對一個安全產(chǎn)品(系統(tǒng))進行評估,是件十分復雜的事,它對公正性和一致性要求很嚴。因此,需要有一個能被廣泛接受的評估標準。為此,美國國防部在20世紀80年代中期制定了一組計算機系統(tǒng)安全需求標準,共包括20多個文件,每個文件都使用了彼此不同顏色的封面,統(tǒng)稱為“彩虹系列”。其中最核心的是具有橙色封皮的“可信任計算機系統(tǒng)評價標準(TCSEC)”,簡稱為“橙皮書”。 該標準中將計算機系統(tǒng)的安全程度劃分為8個等級,有D1、C1、C2、B1、B2、B3、A1和A2。在橙

9、皮書中,對每個評價級別的資源訪問控制功能和訪問的不可抵賴性、信任度及產(chǎn)品制造商應提供的文檔作了一系列的規(guī)定,其中以D1級為安全度最低級,稱為安全保護欠缺級。常見的無密碼保護的個人計算機系統(tǒng)便屬于D1級。C1級稱為自由安全保護級,通常具有密碼保護的多用戶工作站便屬于C1級。C2級稱為受控存取控制級,當前廣泛使用的軟件,如UNIX操作系統(tǒng)、ORACLE數(shù)據(jù)庫系統(tǒng)等,都能達到C2級。從B1級開始,要求具有強制存取控制和形式化模型技術的應用。B3、A1級進一步要求對系統(tǒng)中的內(nèi)核進行形式化的最高級描述和驗證。一個網(wǎng)絡所能達到的最高安全等級,不超過網(wǎng)絡上其安全性能最低的設備(系統(tǒng))的安全等級。 2CC的組

10、成CC由兩部分組成,一部分是信息技術產(chǎn)品的安全功能需求定義,這是面向用戶的,用戶可以按照安全功能需求來定義“產(chǎn)品的保護框架(PP)”,CC要求對PP進行評價以檢查它是否能滿足對安全的要求;CC的另一部分是安全保證需求定義,這是面向廠商的,廠商應根據(jù)PP文件制定產(chǎn)品的“安全目標文件”(ST),CC同樣要求對ST進行評價,然后根據(jù)產(chǎn)品規(guī)格和ST去開發(fā)產(chǎn)品。 CC的安全功能需求部分包括一系列的安全功能定義,它們是按層次式結構組織起來的,其最高層為類(Class)。CC將整個產(chǎn)品(系統(tǒng))的安全問題分為11類,每一類側重于一個安全主題。中間層為簇(Family),在一類中的若干個簇都基于相同的安全目標,

11、但每個簇各側重于不同的方面。最低層為組件(Component),這是最小可選擇的安全功能需求。安全保證需求部分同樣是按層次式結構組織起來的。必須指出的是,保障計算機和系統(tǒng)的安全性將涉及到許多方面,其中有工程問題、經(jīng)濟問題、技術問題、管理問題,甚至涉及到國家的立法問題。但在此,我們僅限于介紹用來保障計算機和系統(tǒng)安全的基本技術,包括認證技術、訪問控制技術、密碼技術、數(shù)字簽名技術、防火墻技術等等。 9.2數(shù)據(jù)加密技術 9.2.1數(shù)據(jù)加密的基本概念1數(shù)據(jù)加密技術的發(fā)展密碼學是一門既古老又年輕的學科。說它古老,是因為早在幾千年前,人類就已經(jīng)有了通信保密的思想,并先后出現(xiàn)了易位法和置換法等加密方法。到了1

12、949年,信息論的創(chuàng)始人香農(nóng)(C.E.Shannon)論證了由傳統(tǒng)的加密方法所獲得的密文幾乎都是可攻破的,這使得密碼學的研究面臨著嚴重的危機。 2數(shù)據(jù)加密模型一個數(shù)據(jù)加密模型如圖9-1 所示。它由下述四部分組成。(1) 明文(plain text)。準備加密的文本,稱為明文P。(2) 密文(cipher text)。加密后的文本,稱為密文Y。(3) 加密(解密)算法E(D)。用于實現(xiàn)從明文(密文)到密文(明文)轉換的公式、規(guī)則或程序。(4) 密鑰K。密鑰是加密和解密算法中的關鍵參數(shù)。 圖9-1數(shù)據(jù)加密模型 加密過程可描述為:在發(fā)送端利用加密算法EKe和加密密鑰Ke對明文P進行加密,得到密文Y=

13、EKe(P)。密文Y被傳送到接收端后應進行解密。解密過程可描述為:接收端利用解密算法DKd和解密密鑰Kd對密文Y進行解密,將密文恢復為明文P=DKd(Y)。在密碼學中,把設計密碼的技術稱為密碼編碼,把破譯密碼的技術稱為密碼分析。密碼編碼和密碼分析合起來稱為密碼學。在加密系統(tǒng)中,算法是相對穩(wěn)定的。為了加密數(shù)據(jù)的安全性,應經(jīng)常改變密鑰,例如,在每加密一個新信息時改變密鑰,或每天、甚至每個小時改變一次密鑰。 3加密算法的類型1) 按其對稱性分類(1) 對稱加密算法。在這種方式中,在加密算法和解密算法之間存在著一定的相依關系,即加密和解密算法往往使用相同的密鑰;或者在知道了加密密鑰Ke后,就很容易推導

14、出解密密鑰Kd。該算法中的安全性在于雙方能否妥善地保護密鑰,因而把這種算法稱為保密密鑰算法。該算法的優(yōu)點是加密速度快,但密鑰的分配與管理復雜。 (2) 非對稱加密算法。這種方式的加密密鑰Ke和解密密鑰Kd不同,而且難以從Ke推導出Kd來。可以將其中的一個密鑰公開而成為公開密鑰,因而把該算法稱為公開密鑰算法。用公開密鑰加密后,能用另一把專用密鑰解密;反之亦然。該算法的優(yōu)點是密鑰管理簡單,但加密算法復雜。2) 按所變換明文的單位分類(1) 序列加密算法。該算法是把明文P看做是連續(xù)的比特流或字符流P1,P2,P3,在一個密鑰序列K=K1,K2,K3,的控制下,逐個比特(或字符)地把明文轉換成密文。具

15、體可表達成: EK(P)=EK1(P1),EK2(P2),EK3(P3), 這種算法可用于對明文進行實時加密。 (2) 分組加密算法。該算法是將明文P劃分成多個固定長度的比特分組,然后,在加密密鑰的控制下,每次變換一個明文分組。最著名的DES算法便是以64位為一個分組進行加密的。 4基本加密方法1) 易位法易位法是指按照一定的規(guī)則,重新安排明文中的比特或字符的順序來形成密文,而字符本身保持不變。按易位單位的不同又可分成比特易位和字符易位兩種易位方式。前者的實現(xiàn)方法簡單易行,并可用硬件實現(xiàn),主要用于數(shù)字通信中;而后者即字符易位法則是利用密鑰對明文進行易位后形成密文。字符易位的具體方法是:假定有一

16、密鑰MEGABUCK,其長度為8,則其明文是以8個字符為一組寫在密鑰的下面,如圖9-2 所示。按密鑰中字母在英文字母表中的順序來確定明文排列后的列號。如密鑰中的A所對應的列號為1,B為2,C為3,E為4等。然后再按照密鑰所指示的列號,先讀出第1列中的字符,讀完第1列之后,再讀出第2列中的字符。這樣,即完成了將明文Please transfer 轉換為密文AFLLSKSOSELAWAIA 的加密過程。 圖9-2按字符易位加密算法 2) 置換法置換法是按照一定的規(guī)則,用一個字符去置換(替代)另一個字符來形成密文。最早由朱葉斯凱撒(Julius Caeser)提出的算法非常簡單,它是將字母a,b,c

17、,x,y,z循環(huán)右移三位后,形成d,e,f,a,b,c字符序列,再利用移位后的序列中的字母去分別置換未移位序列中對應位置的字母,即利用d置換a,用e置換b等。凱撒算法的推廣是移動K位。單純移動K位的置換算法很容易被破譯,比較好的置換算法是進行映像。例如,將26個英文字母映像到另外26個特定字母中,見圖9-3所示。利用置換法可對attack進行加密,使其變?yōu)镼ZZQEA。 圖9-326個字母的映像 9.2.2對稱加密算法與非對稱加密算法1對稱加密算法現(xiàn)代加密技術所用的基本手段,仍然是易位法和置換法,但它們與古典方法的重點不同。在古典法中通常采用的算法較簡單,而密鑰則較長;現(xiàn)代加密技術則采用十分復

18、雜的算法,將易位法和置換法交替使用多次而形成乘積密碼。最有代表性的對稱加密算法是數(shù)據(jù)加密標準DES(Data Eneryption Standard)。該算法原來是IBM公司于19711972年研制成功的,它旨在保護本公司的機密產(chǎn)品,后被美國國家標準局選為數(shù)據(jù)加密標準,并于1977年頒布使用。ISO現(xiàn)在已將DES作為數(shù)據(jù)加密標準。隨著VLSI的發(fā)展,現(xiàn)在可利用VLSI芯片來實現(xiàn)DES算法,并用它做成數(shù)據(jù)加密處理器DEP。 在DES中所使用的密鑰長度為64位,它由兩部分組成,一部分是實際密鑰,占56位;另一部分是8位奇偶校驗碼。DES屬于分組加密算法,它將明文按64位一組分成若干個明文組,每次利

19、用56位密鑰對64位的二進制明文數(shù)據(jù)進行加密,產(chǎn)生64位密文數(shù)據(jù)。DES算法的總框圖如圖9-4(a)所示。整個加密處理過程可分為四個階段(共19步),見圖9-4(b)所示。 圖9-4DES加密標準 第一階段:先將明文分出64位的明文段,然后對64位明文段做初始易位處理,得到X0,將其左移32位,記為L0,右移32位,記為R0。第二階段:對初始易位結果X0進行16次迭代處理(相應于第217步),每一次使用56位加密密鑰Ki。第217步的迭代過程如圖9-4(b)所示。由圖可以看出,輸出的左32位Li是輸入右32位Ri-1的拷貝;而輸出的右32位Ri,則是在密鑰Ki的控制下,對輸入右32位Ri-1做

20、函數(shù)f的變換后的結果,再與輸入左32位Li-1進行異或運算而形成的,即 Li=Ri-1Ri=f(Ri-1,Ki)Li-1 第三階段:把經(jīng)過16次迭代處理的結果(64位)的左32位與右32位互易位置。第四階段:進行初始易位的逆變換。 2非對稱加密算法DES加密算法屬于對稱加密算法。加密和解密所使用的密鑰是相同的。DES的保密性主要取決于對密鑰的保密程度。加密者必須用非常安全的方法(如通過個人信使)將密鑰送給接收者(解密者)。如果通過計算機網(wǎng)絡傳送密鑰,則必須先對密鑰本身予以加密后再傳送,通常把這種算法稱為對稱保密密鑰算法。 1976年美國的Diffie和Hallman提出了一個新的非對稱密碼體制

21、。其最主要的特點是:在對數(shù)據(jù)進行加密和解密時,使用不同的密鑰。每個用戶都保存著一對密鑰,每個人的公開密鑰都對外公開。假如某用戶要與另一用戶通信,他可用公開密鑰對數(shù)據(jù)進行加密,而收信者則用自己的私用密鑰進行解密。這樣就可以保證信息不會外泄。 公開密鑰算法的特點如下:(1) 設加密算法為E、加密密鑰為Ke,可利用它們對明文P進行加密,得到EKe(P)密文。設解密算法為D,解密密鑰為Kd,可利用它們將密文恢復為明文,即 DKd(EKe(P)=P (2) 要保證從Ke推出Kd是極為困難的,或者說,從Ke推出Kd實際上是不可能的。(3) 在計算機上很容易產(chǎn)生成對的Ke和Kd。(4) 加密和解密運算可以對

22、調(diào),即利用DKd對明文進行加密形成密文,然后用EKe對密文進行解密,即 EKe(DKd(P)=P 在此情況下,將解密密鑰或加密密鑰公開也無妨。因而這種加密方法稱為公開密鑰法(Public Key)。在公開密鑰體制中,最著名的是RSA體制,它已被ISO推薦為公開密鑰數(shù)據(jù)加密標準。 9.2.3數(shù)字簽名和數(shù)字證明書1數(shù)字簽名在金融和商業(yè)等系統(tǒng)中,許多業(yè)務都要求在單據(jù)上加以簽名或加蓋印章,以證實其真實性,備日后查驗。在利用計算機網(wǎng)絡傳送報文時,可將公開密鑰法用于電子(數(shù)字)簽名,來代替?zhèn)鹘y(tǒng)的簽名。而為使數(shù)字簽名能代替?zhèn)鹘y(tǒng)的簽名,必須滿足下述三個條件:(1) 接收者能夠核實發(fā)送者對報文的簽名。(2) 發(fā)

23、送者事后不能抵賴其對報文的簽名。(3) 接收者無法偽造對報文的簽名。 1) 簡單數(shù)字簽名在這種數(shù)字簽名方式中,發(fā)送者A可使用私用密鑰Kda對明文P進行加密,形成DKda(P)后傳送給接收者B。B可利用A的公開密鑰Kea對DKda(P)進行解密,得到EKea(DKda(P)=P,如圖9-5(a)所示。 圖9-5數(shù)字簽名示意圖 我們按照對數(shù)字簽名的三點基本要求進行分析后可以得知:(1) 接收者能利用A的公開密鑰Kea對DKda(P)進行解密,這便證實了發(fā)送者對報文的簽名。(2) 由于只有發(fā)送者A才能發(fā)送出DKda(P)密文,故不容A進行抵賴。(3) 由于B沒有A所擁有的私用密鑰,故B無法偽造對報文

24、的簽名。由此可見,圖9-5(a)所示的簡單方法可以實現(xiàn)對傳送的數(shù)據(jù)進行簽名,但并不能達到保密的目的,因為任何人都能接收DKda(P),且可用A的公開密鑰Kea對DKda(P)進行解密。為使A所傳送的數(shù)據(jù)只能為B所接收,必須采用保密數(shù)字簽名。 2) 保密數(shù)字簽名為了實現(xiàn)在發(fā)送者A和接收者B之間的保密數(shù)字簽名,要求A和B都具有密鑰,再按照圖9-5(b)所示的方法進行加密和解密。(1) 發(fā)送者A可用自己的私用密鑰Kda對明文P加密,得到密文DKda(P)。(2) A再用B的公開密鑰Keb對DKda(P)進行加密,得到EKeb(DKda(P)后送B。(3) B收到后,先用私用密鑰Kdb進行解密,即DK

25、db(EKeb(DKda(P)=DKda(P)。(4) B再用A的公開密鑰Kea對DKda(P)進行解密,得到EKea(DKda(P)=P。 2數(shù)字證明書(Certificate)雖然可以利用公開密鑰方法進行數(shù)字簽名,但事實上又無法證明公開密鑰的持有者是合法的持有者。為此,必須有一個大家都信得過的認證機構CA(Certification Authority),由該機構為公開密鑰發(fā)放一份公開密鑰證明書,又把該公開密鑰證明書稱為數(shù)字證明書,用于證明通信請求者的身份。在網(wǎng)絡上進行通信時,數(shù)字證明書的作用如同司機的駕駛執(zhí)照、出國人員的護照、學生的學生證。在ITU制定的X.509標準中,規(guī)定了數(shù)字證明書

26、的內(nèi)容應包括:用戶名稱、發(fā)證機構名稱、公開密鑰、公開密鑰的有效日期、證明書的編號以及發(fā)證者的簽名。下面通過一個具體的例子來說明數(shù)字證明書的申請、發(fā)放和使用過程。 (1) 用戶A在使用數(shù)字證明書之前,應先向認證機構CA申請數(shù)字證明書,此時A應提供身份證明和希望使用的公開密鑰A。(2) CA在收到用戶A發(fā)來的申請報告后,若決定接受其申請,便發(fā)給A一份數(shù)字證明書,在證明書中包括公開密鑰A和CA發(fā)證者的簽名等信息,并對所有這些信息利用CA的私用密鑰進行加密(即對CA進行數(shù)字簽名)。(3) 用戶A在向用戶B發(fā)送報文信息時,由A用私用密鑰對報文加密(數(shù)字簽名),并連同已加密的數(shù)字證明書一起發(fā)送給B。 (4

27、) 為了能對所收到的數(shù)字證明書進行解密,用戶B須向CA機構申請獲得CA的公開密鑰B。CA收到用戶B的申請后,可決定將公開密鑰B發(fā)送給用戶B。(5) 用戶B利用CA的公開密鑰B對數(shù)字證明書加以解密, 以確認該數(shù)字證明書確系原件,并從數(shù)字證明書中獲得公開密鑰A,并且也確認該公開密鑰A確系用戶A的密鑰。(6) 用戶B再利用公開密鑰A對用戶A發(fā)來的加密報文進行解密,得到用戶A發(fā)來的報文的真實明文。 9.2.4網(wǎng)絡加密技術1鏈路加密(Link Encryption)鏈路加密,是對在網(wǎng)絡相鄰結點之間通信線路上傳輸?shù)臄?shù)據(jù)進行加密。鏈路加密常采用序列加密算法,它能有效地防止由搭線竊聽所造成的威脅。兩個數(shù)據(jù)加密

28、設備分別置于通信線路的兩端,它們使用相同的數(shù)據(jù)加密密鑰。 如果在網(wǎng)絡中只采用了鏈路加密,而未使用端端加密,那么,報文從最高層(應用層)到數(shù)據(jù)鏈路層之間,都是以明文的形式出現(xiàn)的,只是從數(shù)據(jù)鏈路層進入物理層時,才對報文進行了加密,并把加密后的數(shù)據(jù)通過傳輸線路傳送到對方結點上。為了防止攻擊者對網(wǎng)絡中的信息流進行分析,在鏈路加密方式中,不僅對正文做了加密,而且對所有各層的控制信息也進行了加密。 接收結點在收到加密報文后,為了能對報文進行轉發(fā),必須知道報文的目標地址。為此,接收結點上的數(shù)據(jù)加密設備應對所接收到的加密報文進行解密,從中找出目標地址并進行轉發(fā)。當該報文從數(shù)據(jù)鏈路層送入物理層(轉發(fā))時,須再次

29、對報文進行加密。由上所述得知,在鏈路加密方式中,在相鄰結點間的物理信道上傳輸?shù)膱笪氖敲芪?,而在所有中間結點中的報文則是明文,這給攻擊者造成了可乘之機,使其可從中間結點上對傳輸中的信息進行攻擊。這就要求能對所有各中間結點進行有效的保護。 圖9-6鏈路加密方式 2端端加密(End to End Encryption)在單純采用鏈路加密方式時,所傳送的數(shù)據(jù)在中間結點中將被恢復為明文,因此,鏈路加密方式尚不能保證通信的安全性;而端端加密方式是在源主機或前端機FEP中的高層(從傳輸層到應用層)對所傳輸?shù)臄?shù)據(jù)進行加密。在整個網(wǎng)絡的傳輸過程中,不論是在物理信道上,還是在中間結點中,報文的正文始終是密文,直至

30、信息到達目標主機后才被譯成明文,因而這樣可以保證在中間結點不會出現(xiàn)明文。圖9-7 示出了端端加密的情況。 圖9-7端端加密方式 9.3認 證 技 術 9.3.1基于口令的身份認證1口令當一個用戶要登錄某臺計算機時,操作系統(tǒng)通常都要認證用戶的身份。而利用口令來確認用戶的身份是當前最常用的認證技術。通常,每當用戶要上機時,系統(tǒng)中的登錄程序都首先要求用戶輸入用戶名,登錄程序利用用戶輸入的名字去查找一張用戶注冊表或口令文件。在該表中,每個已注冊用戶都有一個表目,其中記錄有用戶名和口令等。登錄程序從中找到匹配的用戶名后,再要求用戶輸入口令,如果用戶輸入的口令也與注冊表中用戶所設置的口令一致,系統(tǒng)便認為該

31、用戶是合法用戶,于是允許該用戶進入系統(tǒng);否則將拒絕該用戶登錄。 口令是由字母或數(shù)字、或字母和數(shù)字混合組成的,它可由系統(tǒng)產(chǎn)生,也可由用戶自己選定。系統(tǒng)所產(chǎn)生的口令不便于用戶記憶,而用戶自己規(guī)定的口令則通常是很容易記憶的字母、數(shù)字,例如生日、住址、電話號碼,以及某人或寵物的名字等。這種口令雖便于記憶,但也很容易被攻擊者猜中。 2對口令機制的基本要求1) 口令長度適中通常的口令是由一串字母和數(shù)字組成。如果口令太短,則很容易被攻擊者猜中。例如,一個由四位十進制數(shù)所組成的口令,其搜索空間僅為104,在利用一個專門的程序來破解時,平均只需5000次即可猜中口令。假如每猜一次口令需花費0.1 ms的時間,則

32、平均每猜中一個口令僅需0.5 s。而如果采用較長的口令,假如口令由ASCII碼組成,則可以顯著地增加猜中一個口令的時間。例如,口令由7位ASCII碼組成,其搜索空間變?yōu)?57(95是可打印的ASCII碼),大約是71013,此時要猜中口令平均需要幾十年。因此建議口令長度不少于7個字符,而且在口令中應包含大寫和小寫字母及數(shù)字,最好還能引入特殊符號。 2) 自動斷開連接為了給攻擊者猜中口令增加難度,在口令機制中還應引入自動斷開連接的功能,即只允許用戶輸入有限次數(shù)的不正確口令,通常規(guī)定35次。如果用戶輸入不正確口令的次數(shù)超過了規(guī)定的次數(shù),系統(tǒng)便自動斷開該用戶所在終端的連接。當然,此時用戶還可能重新?lián)?/p>

33、號請求登錄,但若在重新輸入指定次數(shù)的不正確口令后仍未猜中,系統(tǒng)會再次斷開連接。這種自動斷開連接的功能,無疑又會給攻擊者增加猜中口令的難度,從而會增加猜中口令所需的時間。 3) 隱蔽回送顯示在用戶輸入口令時,登錄程序不應將該口令回送到屏幕上顯示,以防止被就近的人發(fā)現(xiàn)。在Windows 2000系統(tǒng)中,將每一個輸入字符顯示為星號;在UNIX系統(tǒng)中,在輸入口令時沒有任何顯示。從保密角度看,攻擊者可從Windows 2000的回送顯示了解到口令的長度,而在UNIX中則什么也看不出。還有另一種情況值得注意,在有的系統(tǒng)中,只要看到非法登錄名就禁止登錄,這樣攻擊者就知道登錄名是錯誤的。而有的系統(tǒng),即使看到非

34、法登錄名后也不作任何表示,仍要求其輸入口令,等輸完口令才顯示禁止登錄信息。這樣攻擊者只是知道登錄名和口令的組合是錯誤的。 4) 記錄和報告該功能用于記錄所有用戶登錄進入系統(tǒng)和退出系統(tǒng)的時間;也用來記錄和報告攻擊者非法猜測口令的企圖,以及所發(fā)生的與安全性有關的其它不軌行為,這樣便能及時發(fā)現(xiàn)有人在對系統(tǒng)的安全性進行攻擊。 3一次性口令(One Time Password)為了把由于口令泄露所造成的損失減到最小,用戶應當經(jīng)常改變口令。例如,一個月改變一次,或者一個星期改變一次。一種極端的情況是采用一次性口令機制,即口令被使用一次后,就換另一個口令。在采用該機制時,用戶必須提供記錄有一系列口令的一張表

35、,并將該表保存在系統(tǒng)中。系統(tǒng)為該表設置一指針用于指示下次用戶登錄時所應使用的口令。這樣,用戶在每次登錄時,登錄程序便將用戶輸入的口令與該指針所指示的口令相比較,若相同,便允許用戶進入系統(tǒng),并將指針指向表中的下一個口令。在采用一次性口令的機制時,即使攻擊者獲得了本次用戶上機時所使用的口令,他也無法進入系統(tǒng)。必須注意,用戶所使用的口令表要妥善保存好。 4口令文件通常在口令機制中,都配置有一份口令文件,用于保存合法用戶的口令和與口令相聯(lián)系的特權。該文件的安全性至關重要,一旦攻擊者成功地訪問了該文件,攻擊者便可隨心所欲地訪問他感興趣的所有資源,這對整個計算機系統(tǒng)的資源和網(wǎng)絡將無安全性可言。顯然,如何保

36、證口令文件的安全性,已成為系統(tǒng)安全性的頭等重要問題。 保證口令文件安全性的最有效的方法是,利用加密技術,其中一個行之有效的方法是選擇一個函數(shù)來對口令進行加密,該函數(shù)f(x)具有這樣的特性:在給定了x值后,很容易算出f(x);然而,如果給定了f(x)的值,卻不能算出x的值。利用f(x)函數(shù)去編碼(即加密)所有的口令,再將加密后的口令存入口令文件中。當某用戶輸入一個口令時,系統(tǒng)利用函數(shù)f(x)對該口令進行編碼,然后將編碼(加密)后的口令與存儲在口令文件中的已編碼的口令進行比較,如果兩者相匹配,便認為是合法用戶。順便說明一下,即使攻擊者能獲取口令文件中的已編碼口令,他也無法對它們進行譯碼,因而不會影

37、響到系統(tǒng)的安全性。圖9-8示出了一種對加密口令進行驗證的方法。 圖9-8對加密口令的認證方法 盡管對口令進行加密是一個很好的方法,但它也不是絕對的安全可靠。其主要威脅來自于兩個方面:(1) 當攻擊者已掌握了口令的解密密鑰時,就可用它來破譯口令。(2) 利用加密程序來破譯口令,如果運行加密程序的計算機速度足夠快,則通常只要幾個小時便可破譯口令。因此,人們還是應該妥善保管好已加密的口令文件,來防止攻擊者輕意地獲取該文件。 5挑戰(zhàn)響應驗證在該方法中,由用戶自己選擇一個算法,算法可以很簡單,也可以比較復雜,如X2運算。該算法也需告知服務器。每當用戶登錄時,服務器就給用戶發(fā)來一個隨機數(shù),如12,用戶收到

38、后便對該數(shù)據(jù)進行平方運算得到144,用戶就用它作為口令。服務器將所收到的口令與自己計算(利用X2算法)的結果進行比較,如相同,則允許用戶上機,否則,拒絕用戶登錄。由于該方法所使用的口令不是一個固定數(shù)據(jù),而是基于服務器隨機產(chǎn)生的數(shù)據(jù),再經(jīng)過計算得到的,因此攻擊者難于猜測。如果再頻繁地改變算法,就會令攻擊者更加難于猜測。 9.3.2基于物理標志的認證技術1基于磁卡的認證技術根據(jù)數(shù)據(jù)記錄原理,可將當前使用的卡分為磁卡和IC卡兩種。磁卡是基于磁性原理來記錄數(shù)據(jù)的,目前世界各國使用的信用卡和銀行現(xiàn)金卡等,都普遍采用磁卡。這是一塊其大小和名片大小相仿的塑料卡,在其上貼有含若干條磁道的磁條。一般在磁條上有三

39、條磁道,每條磁道都可用來記錄不同標準和不同數(shù)量的數(shù)據(jù)。磁道上可有兩種記錄密度,一種是每英寸含有15 bit信息的低密度磁道;另一種是每英寸含有210 bit信息的高密度磁道。如果在磁條上記錄了用戶名、用戶密碼、賬號和金額,這就是金融卡或銀行卡;而如果在磁條上記錄的是有關用戶的信息,則該卡便可作為識別用戶身份的物理標志。 在磁卡上所存儲的信息,可利用磁卡讀寫器將之讀出:只要將磁卡插入或劃過磁卡讀寫器,便可將存儲在磁卡中的數(shù)據(jù)讀出,并傳送到相應的計算機中。用戶識別程序便利用讀出的信息去查找一張用戶信息表(該表中包含有若干個表目,每個用戶占有一個表目,表目中記錄了有關該用戶的信息)。若找到匹配的表目

40、,便認為該用戶是合法用戶;否則便認為是非法用戶。為了保證持卡者是該卡的主人,通常在基于磁卡認證技術的基礎上,又增設了口令機制,每當進行用戶身份認證時,都先要求用戶輸入口令。 2基于IC卡的認證技術IC卡即集成電路卡的英文縮寫。在外觀上IC卡與磁卡并無明顯差異,但在IC卡中可裝入CPU和存儲器芯片,使該卡具有一定的智能,故又稱為智能卡或靈巧卡。IC卡中的CPU用于對內(nèi)部數(shù)據(jù)的訪問和與外部數(shù)據(jù)進行交換,還可利用較復雜的加密算法,對數(shù)據(jù)進行處理,這使IC卡比磁卡具有更強的防偽性和保密性,因而IC卡會逐步取代磁卡。根據(jù)在磁卡中所裝入芯片的不同可把IC卡分為以下三種類型: (1) 存儲器卡。在這種卡中只

41、有一個E2PROM(可電擦、可編程只讀存儲器)芯片,而沒有微處理器芯片。它的智能主要依賴于終端,就像IC電話卡的功能是依賴于電話機一樣。由于此智能卡不具有安全功能,故只能作為儲值卡,用來存儲少量金額的現(xiàn)金與信息。常見的這類智能卡有電話卡、健康卡,其只讀存儲器的容量一般為420 KB。 (2) 微處理器卡。它除具有E2PROM外,還增加了一個微處理器。只讀存儲器的容量一般是數(shù)千字節(jié)至數(shù)萬字節(jié);處理器的字長多為8位。在這種智能卡中已具有一定的加密設施,增強了IC卡的安全性,因此有著更為廣泛的用途,被廣泛用作信用卡。用戶可以在商場把信用卡插入讀卡機后,授權進行一定數(shù)額的轉賬,信用卡將一段加密后的信息

42、發(fā)送到商場,商場再將該信息轉發(fā)到銀行,從用戶在該銀行中的賬戶中扣除所需付出的金額。 (3) 密碼卡。在這種卡中又增加了加密運算協(xié)處理器和RAM。之所以把這種卡稱為密碼卡,是由于它能支持非對稱加密體制RSA;所支持的密鑰長度可長達1024位,因而極大地增強了IC卡的安全性。一種專門用于確保安全的智能卡,在卡中存儲了一個很長的用戶專門密鑰和數(shù)字證明書,完全可以作為用戶的數(shù)字身份證明。當前在Internet上所開展的電子交易中,已有不少密碼卡使用了基于RSA的密碼體制。 9.3.3基于生物標志的認證技術1常用于身份識別的生理標志被選用的生理標志應具有這樣三個條件:(1) 足夠的可變性,系統(tǒng)可根據(jù)它來

43、區(qū)別成千上萬的不同用戶;(2) 被選用的生理標志應保持穩(wěn)定,不會經(jīng)常發(fā)生變化;(3) 不易被偽裝。 1) 指紋指紋有著“物證之首”的美譽。盡管目前全球已有近60億人口,但絕對不可能找到兩個完全相同的指紋,而且它的形狀不會隨時間而改變,因而利用指紋來進行身份認證是萬無一失的。又因為它不會像其它一些物理標志那樣出現(xiàn)用戶忘記攜帶或丟失等問題,而且使用起來也特別方便,因此,指紋驗證很早就用于契約簽證和偵查破案,既準確又可靠。人的手指的紋路可分為兩大類,一類是環(huán)狀,另一類是渦狀,每一類又可進一步分為50200種不同的圖樣。以前是依靠專家進行指紋鑒別,隨著計算機技術的發(fā)展,人們已成功地開發(fā)出指紋自動識別系

44、統(tǒng)。利用指紋來進行身份識別是有廣闊前景的一種識別技術,世界上已有愈來愈多的國家開展了對指紋識別技術的研究和應用。 2) 視網(wǎng)膜組織視網(wǎng)膜組織通常又簡稱為眼紋。它與指紋一樣,世界上也絕對不可能找到兩個人有完全相同的視網(wǎng)膜組織,因而利用視網(wǎng)膜組織來進行身份認證同樣是非??煽康?。用戶的視網(wǎng)膜組織所含的信息量遠比指紋復雜,其信息需要用256個字節(jié)來編碼。利用視網(wǎng)膜組織進行身份驗證的效果非常好,如果注冊人數(shù)不超過200萬,其出錯率為0,所需時間也僅為秒級,現(xiàn)已在軍事部門和銀行系統(tǒng)中采用,目前成本還比較高。但是這種身份驗證方式也還存著抗欺騙能力問題。在早期的系統(tǒng)中,用戶的視網(wǎng)膜組織是由一米外的照相機對人眼

45、進行拍攝來認證的,如果有人戴上墨鏡,在墨鏡上貼上別人的視網(wǎng)膜,這樣便可以蒙混過關。但如果改用攝像機,它可以拍下視網(wǎng)膜的震動影像,就不易被假冒。 3) 聲音每個人在說話時都會發(fā)出不同的聲音,人對語音非常敏感,即使在強干擾的環(huán)境下,也能很好地分辨出每個人的語音。事實上,人們主要依據(jù)聽對方的聲音來確定對方的身份?,F(xiàn)在又廣泛采用與計算機技術相結合的辦法來實現(xiàn)身份驗證,其基本方法是,對一個人說話的錄音進行分析,將其全部特征存儲起來,通常把所存儲的語音特征稱為語聲紋。然后再利用這些聲紋制作成語音口令系統(tǒng)。該系統(tǒng)的出錯率在1%1,制作成本較低,為數(shù)百到數(shù)千美元。 4) 手指長度由于每個人的五個手指的長度并不

46、是完全相同的,因此可基于它來識別每一個用戶??赏ㄟ^把手插入一個手指長度測量設備,測出五個手指的長度,與數(shù)據(jù)庫中所保存的相應樣本進行核對。這種方式比較容易遭受欺騙,例如可利用手指石膏模型或其它仿制品來進行欺騙。 2生物識別系統(tǒng)的組成1) 對生物識別系統(tǒng)的要求生物識別系統(tǒng)是一個相當復雜的系統(tǒng),要設計出一個非常實用的生物識別系統(tǒng)并非易事,必須滿足如下三方面的要求。(1) 識別系統(tǒng)的性能必須滿足需求。這包括應具有很強的抗欺騙和防偽造能力,而且還應能防范攻擊者設置陷阱。 (2) 能被用戶接受。完成一次識別的時間不應太長,應不超過12 s;出錯率應足夠低,這隨應用場合的不同而異。對于用在極為重要場合中的識

47、別系統(tǒng),將會要求絕對不能出錯,可靠性和可維護性也要好。(3) 系統(tǒng)成本適當。系統(tǒng)成本包含系統(tǒng)本身的成本、運營期間所需的費用和系統(tǒng)維護(包含消耗性材料等)的費用。 2) 生物識別系統(tǒng)的組成生物識別系統(tǒng)通常是由注冊和識別兩部分組成的。(1) 注冊部分。在該系統(tǒng)中,配置有一張注冊表,每個注冊用戶在表中都有一個記錄。記錄中至少有兩項,其中一項用于存放用戶姓名,另一項用于存放用戶的重要特征(用戶的生物特征被數(shù)字化后形成用戶樣本,再從中提取出重要特征)。該記錄通常存放在中心數(shù)據(jù)庫中,供多個生物識別系統(tǒng)共享,但也可放在用戶的身份智能卡中。 (2) 識別部分。它可分為兩步,第一步是要求用戶輸入用戶登錄名,這樣

48、可使系統(tǒng)盡快找到該用戶在系統(tǒng)中的記錄;第二步是對用戶輸入的生物特征進行識別,即把用戶的生物特征與用戶記錄中的樣本信息特征進行比較,若相同,便允許用戶登錄,否則,拒絕用戶登錄。 3指紋識別系統(tǒng)從20世紀70年代開始,美國及其它發(fā)達國家便開始研究利用計算機進行指紋自動識別,并取得了很大的進展,到80年代指紋自動識別系統(tǒng)已在許多國家使用。在所構成的指紋識別系統(tǒng)中包括指紋輸入、指紋圖像壓縮、指紋自動比較等8個子系統(tǒng)。但他們的指紋識別系統(tǒng)是建立在中、小型計算機系統(tǒng)的基礎上的,每一個新用戶注冊大約需要四分鐘,記錄下一個人的兩個手指圖樣的時間約為2分鐘,每次識別的時間不超過5秒鐘,出錯率小于千分之一。由于系

49、統(tǒng)比較龐大,價格也昂貴,每套設備的售價約為10 000美元,因此使該技術難于普及。直至20世紀90年代中期,隨著VLSI的迅速發(fā)展,才使指紋識別系統(tǒng)小型化并進入了廣泛應用的階段。 9.3.4基于公開密鑰的認證技術1申請數(shù)字證書由于SSL所提供的安全服務是基于公開密鑰證明書(數(shù)字證書)的身份認證,因此,凡是要利用SSL的用戶和服務器,都必須先向認證機構(CA)申請公開密鑰證明書。(1) 服務器申請數(shù)字證書。首先由服務管理器生成一密鑰對和申請書。服務器一方面將密鑰和申請書的備份保存在安全之處;另一方面則向CA提交包括密鑰對和簽名證明書申請(即CSR)的加密文件,通常以電子郵件方式發(fā)送。CA接收并檢

50、查該申請的合法性后,將會把數(shù)字證書以電子郵件方式寄給服務器。 (2) 客戶申請數(shù)字證書。首先由瀏覽器生成一密鑰對,私有密鑰被保存在客戶的私有密鑰數(shù)據(jù)庫中,將公開密鑰連同客戶提供的其它信息一起發(fā)往CA。如果該客戶符合CA要求的條件,CA將會把數(shù)字證書以電子郵件方式寄給客戶。 2SSL握手協(xié)議客戶和服務器在進行通信之前,必須先運行SSL握手協(xié)議,以完成身份認證、協(xié)商密碼算法和加密密鑰。(1) 身份認證。SSL協(xié)議要求通信的雙方都利用自己的私用密鑰對所要交換的數(shù)據(jù)進行數(shù)字簽名,并連同數(shù)字證書一起發(fā)送給對方,以便雙方相互檢驗。如上節(jié)所述,通過數(shù)字簽名和數(shù)字證書的驗證可以認證對方的身份是否真實。 (2)

51、 協(xié)商加密算法。為了增加加密系統(tǒng)的靈活性,SSL協(xié)議允許采用多種加密算法??蛻艉头掌髟谕ㄐ胖?,應首先協(xié)商好所使用的某一種加密算法。通常先由客戶提供自己能實現(xiàn)的所有加密算法清單,然后由服務器從中選擇出一種最有效的加密算法,并通知客戶,此后,雙方便可利用該算法對所傳送的信息進行加密。(3) 協(xié)商加密密鑰。先由客戶機隨機地產(chǎn)生一組密鑰,再利用服務器的公開密鑰對這組密鑰進行加密后,送往服務器,由服務器從中選擇四個密鑰,并通知客戶機,將之用于對所傳輸?shù)男畔⑦M行加密。 3數(shù)據(jù)加密和檢查數(shù)據(jù)的完整性(1) 數(shù)據(jù)加密。在客戶機和服務器間傳送的所有信息,都應利用協(xié)商后所確定的加密算法和密鑰進行加密處理,以防

52、止被攻擊。(2) 檢查數(shù)據(jù)的完整性。為了保證經(jīng)過長途傳輸后所收到的數(shù)據(jù)是可信任的,SSL協(xié)議還利用某種算法對所傳送的數(shù)據(jù)進行計算,以產(chǎn)生能保證數(shù)據(jù)完整性的數(shù)據(jù)識別碼(MAC),再把MAC和業(yè)務數(shù)據(jù)一起傳送給對方;而收方則利用MAC來檢查所收到數(shù)據(jù)的完整性。 9.4訪問控制技術 9.4.1訪問矩陣1保護域(Protection Domain)1) 訪問權為了對系統(tǒng)中的對象加以保護,應由系統(tǒng)來控制進程對對象的訪問。我們把一個進程能對某對象執(zhí)行操作的權力稱為訪問權(Access Right)。每個訪問權可以用一個有序對(對象名,權集)來表示,例如,某進程有對文件F1執(zhí)行讀和寫操作的權力,這時,可將該

53、進程的訪問權表示成(F1,R/W)。 2) 保護域為了對系統(tǒng)中的資源進行保護而引入了保護域的概念,保護域簡稱為“域”?!坝颉笔沁M程對一組對象訪問權的集合,進程只能在指定域內(nèi)執(zhí)行操作,這樣,“域”也就規(guī)定了進程所能訪問的對象和能執(zhí)行的操作。在圖9-9 中示出了三個保護域。在域1中有兩個對象,即文件F1和F2,只允許進程對F1讀,而允許對F2讀和寫;而對象Printer 1同時出現(xiàn)在域2和域3中,這表示在這兩個域中運行的進程都能使用打印機。 圖9-9三個保護域 3) 進程和域間的靜態(tài)聯(lián)系方式在進程和域之間,可以一一對應,即一個進程只聯(lián)系著一個域。這意味著,在進程的整個生命期中,其可用資源是固定的,

54、我們把這種域稱為“靜態(tài)域”。在這種情況下,進程運行的全過程都是受限于同一個域,這將會使賦予進程的訪問權超過了實際需要。例如,某進程在運行開始時需要磁帶機輸入數(shù)據(jù);而在進程快結束時,又需要用打印機打印數(shù)據(jù)。在一個進程只聯(lián)系著一個域的情況下,則需要在該域中同時設置磁帶機和打印機這兩個對象,這將超過進程運行的實際需要。 4) 進程和域間的動態(tài)聯(lián)系方式在進程和域之間,也可以是一對多的關系,即一個進程可以聯(lián)系著多個域。在此情況下,可將進程的運行分為若干個階段,其每個階段聯(lián)系著一個域,這樣便可根據(jù)運行的實際需要,來規(guī)定在進程運行的每個階段中所能訪問的對象。用上述的同一個例子,我們可以把進程的運行分成三個階

55、段: 進程在開始運行的階段聯(lián)系著域D1,其中包括用磁帶機輸入;在運行快結束的第三階段聯(lián)系著域D3,其中是用打印機輸出;中間運行階段聯(lián)系著域D2,其中既不含磁帶機,也不含打印機。我們把這種一對多的聯(lián)系方式稱為動態(tài)聯(lián)系方式,在采用這種方式的系統(tǒng)中,應增設保護域切換功能,以使進程能在不同的運行階段,從一個保護域切換到另一個保護域。 2訪問矩陣我們可以利用一個矩陣來描述系統(tǒng)的訪問控制,并把該矩陣稱為訪問矩陣(Access Matrix)。訪問矩陣中的行代表域,列代表對象,矩陣中的每一項是由一組訪問權組成的。因為對象已由列顯式地定義,故可以只寫出訪問權而不必寫出是對哪個對象的訪問權,每一項訪問權acce

56、ss(i,j)定義了在域Di中執(zhí)行的進程能對對象Qj所施加的操作集。 訪問矩陣中的訪問權,通常是由資源的擁有者或者管理者所決定的。當用戶創(chuàng)建一個新文件時,創(chuàng)建者便是擁有者,系統(tǒng)在訪問矩陣中為新文件增加一列,由用戶決定在該列的某個項中應具有哪些訪問權,而在另一項中又具有哪些訪問權。當用戶刪除此文件時,系統(tǒng)也要相應地在訪問矩陣中將該文件對應的列撤消。圖9-9的訪問矩陣如圖9-10 所示。它是由三個域和8個對象所組成的。當進程在域D1中運行時,它能讀文件F1、讀和寫文件F2。進程在域D2中運行時,它能讀文件F3、F4和F5,以及寫文件F4、F5和執(zhí)行文件F4,此外還可以使用打印機1。只有當進程在域D

57、3中運行時,才可使用繪圖儀2。 圖9-10一個訪問矩陣 3具有域切換權的訪問矩陣為了實現(xiàn)在進程和域之間的動態(tài)聯(lián)系,應能夠將進程從一個保護域切換到另一個保護域。為了能對進程進行控制,同樣應將切換作為一種權力,僅當進程有切換權時,才能進行這種切換。為此,在訪問矩陣中又增加了幾個對象,分別把它們作為訪問矩陣中的幾個域;當且僅當switchaccess(i,j)時,才允許進程從域i切換到域j。例如,在圖9-11 中,由于域D1和D2所對應的項目中有一個S即Switch,故而允許在域D1中的進程切換到域D2中。類似地,在域D2和對象D3所對應的項中,也有Switch,這表示在D2域中運行的進程可以切換到

58、域D3中,但不允許該進程再從域D3返回到域D1。 圖9-11具有切換權的訪問控制矩陣 9.4.2訪問矩陣的修改1拷貝權(Copy Right)我們可利用拷貝權將在某個域中所擁有的訪問權(access(i,j)擴展到同一列的其它域中,亦即,為進程在其它的域中也賦予對同一對象的訪問權(access(k,j),如圖9-12 所示。 圖 9-12具有拷貝權的訪問控制矩陣 2所有權(Owner Right)人們不僅要求能將已有的訪問權進行有控制的擴散,而且同樣需要能增加某種訪問權,或者能刪除某種訪問權。此時,可利用所有權(O)來實現(xiàn)這些操作。如圖9-13所示,如果在access(i,j)中包含所有訪問權

59、,則在域Di上運行的進程,可以增加或刪除其在j列上任何項中的訪問權。換言之,進程可以增加或刪除在任何其它域中運行的進程對對象j的訪問權。例如,在圖9-13(a)中,在域D1中運行的進程(用戶)是文件F1的所有者,他能增加或刪除在其它域中的運行進程對文件F1的訪問權;類似地,在域D2中運行的進程(用戶)是文件F2和文件F3的擁有者,該進程可以增加或刪除在其它域中運行的進程對這兩個文件的訪問權。在圖9-13(b)中示出了在域D1中運行的進程刪除了在域D3中運行的進程對文件F1的執(zhí)行權;在域D2中運行的進程增加了在域D3中運行進程對文件F2和F3的寫訪問權。 圖9-13帶所有權的訪問矩陣 3控制權(

60、Control Right)拷貝權和所有權都是用于改變矩陣內(nèi)同一列的各項訪問權的,或者說,是用于改變在不同域中運行的進程對同一對象的訪問權??刂茩鄤t可用于改變矩陣內(nèi)同一行中(域中)的各項訪問權,亦即,用于改變在某個域中運行進程對不同對象的訪問權。如果在access(i,j)中包含了控制權,則在域Di中運行的進程可以刪除在域Dj中運行進程對各對象的任何訪問權。例如在圖9-14 中,在access(D2,D3)中包括了控制權,則一個在域D2中運行的進程能夠改變對域D3內(nèi)各項的訪問權。比較圖 9-11 和圖9-14 可以看出,在D3中已無對文件F6和Ploter 2的寫訪問權。 圖9-14具有控制權

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論