系統(tǒng)安全性.ppt_第1頁(yè)
系統(tǒng)安全性.ppt_第2頁(yè)
系統(tǒng)安全性.ppt_第3頁(yè)
系統(tǒng)安全性.ppt_第4頁(yè)
系統(tǒng)安全性.ppt_第5頁(yè)
已閱讀5頁(yè),還剩105頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第九章 系統(tǒng)安全性,9.1 引言 9.2 數(shù)據(jù)加密技術(shù) 9.3 認(rèn)證技術(shù) 9.4 訪問控制技術(shù) 9.5 防火墻技術(shù),9.1 引 言,9.1.1 系統(tǒng)安全性的內(nèi)容和性質(zhì),1. 系統(tǒng)安全性的內(nèi)容 系統(tǒng)安全性包括三個(gè)方面的內(nèi)容,即物理安全、邏輯安全和安全管理。物理安全是指系統(tǒng)設(shè)備及相關(guān)設(shè)施受到物理保護(hù),使之免遭破壞或丟失;安全管理包括各種安全管理的政策和機(jī)制;而邏輯安全則是指系統(tǒng)中信息資源的安全, 它又包括以下三個(gè)方面: (1) 保密性(Secrecy)。 (2) 完整性(Integrity)。 (3) 可用性(Availability)。,2. 系統(tǒng)安全的性質(zhì) 系統(tǒng)安全問題涉及面較廣,它不僅與系統(tǒng)

2、中所用的硬、軟件設(shè)備的安全性能有關(guān),而且與構(gòu)造系統(tǒng)時(shí)所采用的方法有關(guān),從而導(dǎo)致了系統(tǒng)安全問題的性質(zhì)更為復(fù)雜,主要表現(xiàn)為如下幾點(diǎn): (1) 多面性。 (2) 動(dòng)態(tài)性。 (3) 層次性。 (4) 適度性。,9.1.2 對(duì)系統(tǒng)安全威脅的類型,假冒(Masquerading)。 (2) 數(shù)據(jù)截取(Data Interception)。 (3) 拒絕服務(wù)(Denial of Server)。 (4) 修改(Modification): (5) 偽造(Fabrication)。 (6) 否認(rèn)(Repudiation)。 (7) 中斷(Interruption)。 (8) 通信量分析(Traffic Ana

3、lysis)。,9.1.3 對(duì)各類資源的威脅,對(duì)硬件的威脅 電源掉電。 (2) 設(shè)備故障和丟失。,在Novell公司的Netware網(wǎng)絡(luò)OS中,提供了三級(jí)容錯(cuò)技術(shù),此即SFT-、SFT-和SFT-;在Windows NT網(wǎng)絡(luò)OS中所采用的是磁盤陣列技術(shù)。此外,還必須加強(qiáng)對(duì)計(jì)算機(jī)系統(tǒng)的管理和日常維護(hù),以保證硬件的正常運(yùn)行和杜絕設(shè)備被竊事件的發(fā)生。,2. 對(duì)軟件的威脅,刪除軟件。 (2) 拷貝軟件。 (3) 惡意修改。,3. 對(duì)數(shù)據(jù)的威脅,竊取機(jī)密信息。 (2) 破壞數(shù)據(jù)的可用性。 (3) 破壞數(shù)據(jù)的完整性。,4. 對(duì)遠(yuǎn)程通信的威脅,(1) 被動(dòng)攻擊方式。 對(duì)于有線信道,攻擊者可以用在通信線路上進(jìn)

4、行搭接的方法,去截獲在線路上傳輸?shù)男畔?,以了解其中的?nèi)容或數(shù)據(jù)的性質(zhì)。 這種攻擊方式, 一般不會(huì)干擾信息在通信線中的正常傳輸,因而也不易被檢測(cè)出來。 通常把這種攻擊方式稱為被動(dòng)攻擊。對(duì)付被動(dòng)攻擊的最有效方法,是對(duì)所傳輸?shù)臄?shù)據(jù)進(jìn)行加密,這樣,攻擊者只能獲得被加密過的密文,但卻無(wú)法了解密文的含義;對(duì)于無(wú)線信道, 如微波信道、 衛(wèi)星信道,防范攻擊的有效方法也同樣是對(duì)數(shù)據(jù)進(jìn)行加密處理。,(2) 主動(dòng)攻擊方式。 主動(dòng)攻擊方式通常具有更大的破壞性。這里,攻擊者不僅要截獲系統(tǒng)中的數(shù)據(jù),而且還可能冒充合法用戶, 對(duì)網(wǎng)絡(luò)中的數(shù)據(jù)進(jìn)行刪除、修改,或者制造虛假數(shù)據(jù)。主動(dòng)攻擊,主要是攻擊者通過對(duì)網(wǎng)絡(luò)中各類結(jié)點(diǎn)中的軟件

5、和數(shù)據(jù)加以修改來實(shí)現(xiàn)的,這些結(jié)點(diǎn)可以是主機(jī)、 路由器或各種交換器。,9.1.4 信息技術(shù)安全評(píng)價(jià)公共準(zhǔn)則,1. CC的由來 對(duì)一個(gè)安全產(chǎn)品(系統(tǒng))進(jìn)行評(píng)估,是件十分復(fù)雜的事。它對(duì)公正性和一致性要求很嚴(yán)。因此,需要有一個(gè)能被廣泛接受的評(píng)估標(biāo)準(zhǔn)。為此,美國(guó)國(guó)防部在80年代中期制訂了一組計(jì)算機(jī)系統(tǒng)安全需求標(biāo)準(zhǔn),共包括20多個(gè)文件, 每個(gè)文件都使用了彼此不同顏色的封面,統(tǒng)稱為“彩虹系列”。其中最核心的是具有橙色封皮的“可信任計(jì)算機(jī)系統(tǒng)評(píng)價(jià)標(biāo)準(zhǔn)(TCSEC)”,簡(jiǎn)稱為“橙皮書”。,該標(biāo)準(zhǔn)中將計(jì)算機(jī)系統(tǒng)的安全程度劃分為8個(gè)等級(jí),有D1、C1、C2、B1、B2、B3、A1和A2。在橙皮書中,對(duì)每個(gè)評(píng)價(jià)級(jí)別的

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

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

8、 但每個(gè)簇各側(cè)重于不同的方面。 最低層為組件(Component),這是最小可選擇的安全功能需求。安全保證需求部分, 同樣是按層次式結(jié)構(gòu)組織起來的。 須指出的是,保障計(jì)算機(jī)和系統(tǒng)的安全性,將涉及到許多方面, 其中有工程問題、 經(jīng)濟(jì)問題、 技術(shù)問題、 管理問題、甚至涉及到國(guó)家的立法問題。 但在此, 我們僅限于介紹用來保障計(jì)算機(jī)和系統(tǒng)安全的基本技術(shù),包括認(rèn)證技術(shù)、訪問控制技術(shù)、 密碼技術(shù)、 數(shù)字簽名技術(shù)、 防火墻技術(shù)等等。,9.2 數(shù)據(jù)加密技術(shù),9.2.1 數(shù)據(jù)加密的基本概念,直至進(jìn)入20世紀(jì)60年代,由于電子技術(shù)和計(jì)算機(jī)技術(shù)的迅速發(fā)展,以及結(jié)構(gòu)代數(shù)、可計(jì)算性理論學(xué)科研究成果的出現(xiàn),才使密碼學(xué)的研

9、究走出困境而進(jìn)入了一個(gè)新的發(fā)展時(shí)期;特別是美國(guó)的數(shù)據(jù)加密標(biāo)準(zhǔn)DES和公開密鑰密碼體制的推出,又為密碼學(xué)的廣泛應(yīng)用奠定了堅(jiān)實(shí)的基礎(chǔ)。,1. 數(shù)據(jù)加密技術(shù)的發(fā)展,2. 數(shù)據(jù)加密模型,圖9-1數(shù)據(jù)加密模型,(1) 明文(plain text)。 被加密的文本, 稱為明文P。 (2) 密文(cipher text)。 加密后的文本, 稱為密文Y。 (3) 加密(解密)算法E(D)。用于實(shí)現(xiàn)從明文(密文)到密文(明文)轉(zhuǎn)換的公式、規(guī)則或程序。 (4) 密鑰K。 密鑰是加密和解密算法中的關(guān)鍵參數(shù)。,加密過程可描述為:在發(fā)送端利用加密算法E和加密密鑰Ke對(duì)明文P進(jìn)行加密,得到密文Y=EKe(P)。密文Y被傳

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

11、鑰Kd。在該算法中的安全性在于雙方能否妥善地保護(hù)密鑰。 因而把這種算法稱為保密密鑰算法。 (2) 非對(duì)稱加密算法。 這種方式的加密密鑰Ke和解密密鑰Kd不同,而且難以從Ke推導(dǎo)出Kd來。可以將其中的一個(gè)密鑰公開而成為公開密鑰,因而把該算法稱為公開密鑰算法。 用公開密鑰加密后, 能用另一把專用密鑰解密;反之亦然。,2) 按所變換明文的單位分類 (1) 序列加密算法。該算法是把明文P看作是連續(xù)的比特流或字符流P1、 P2、P3 ,在一個(gè)密鑰序列K=K1、K2、K3的控制下,逐個(gè)比特(或字符)地把明文轉(zhuǎn)換成密文??杀磉_(dá)成: EK(P)=EK1(P1)EK2(P2)EK3(P3) 這種算法可用于對(duì)明文

12、進(jìn)行實(shí)時(shí)加密。 (2) 分組加密算法。該算法是將明文P劃分成多個(gè)固定長(zhǎng)度的比特分組,然后,在加密密鑰的控制下,每次變換一個(gè)明文分組。最著名的DES算法便是以64位為一個(gè)分組進(jìn)行加密的。,4. 基本加密方法,1) 易位法 易位法是按照一定的規(guī)則,重新安排明文中的比特或字符的順序來形成密文,而字符本身保持不變。按易位單位的不同又可分成比特易位和字符易位兩種易位方式。前者的實(shí)現(xiàn)方法簡(jiǎn)單易行,并可用硬件實(shí)現(xiàn),主要用于數(shù)字通信中;而后者即字符易位法則是利用密鑰對(duì)明文進(jìn)行易位后形成密文,具體方法是:假定有一密鑰MEGABUCK,其長(zhǎng)度為8,則其明文是以8個(gè)字符為一組寫在密文的下面,如圖 9 - 2 所示。

13、,圖 9-2 按字符易位加密算法,按密鑰中字母在英文字母表中的順序來確定明文排列后的列號(hào)。如密鑰中的A所對(duì)應(yīng)的列號(hào)為1, B為2, C為3, E為4等。然后再按照密鑰所指示的列號(hào),先讀出第一列中的字符, 讀完第1列后,再讀出第2列中的字符, , 這樣,即完成了將明文please transfer 轉(zhuǎn)換為密文AFLLSKSOSELAWAIA 的加密過程。,2) 置換法 置換法是按照一定的規(guī)則,用一個(gè)字符去置換(替代)另一個(gè)字符來形成密文。最早由朱葉斯凱撒(Julius caeser)提出的算法, 非常簡(jiǎn)單,它是將字母a、b、 c、 、 x、 y、 z循環(huán)右移三位后,形成d、 e、 f、 、 a、

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

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

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

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

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

19、對(duì)明文進(jìn)行加密形成密文,然后用EKe對(duì)密文進(jìn)行解密,即,在此情況下,解密密鑰或加密密鑰公開也無(wú)妨。因而這種加密方法稱為公開密鑰法(Publie Key)。在公開密鑰體制中, 最著名的是RSA體制, 它已被ISO推薦為公開密鑰數(shù)據(jù)加密標(biāo)準(zhǔn)。 由于對(duì)稱加密算法和非對(duì)稱加密算法各有優(yōu)缺點(diǎn),即非對(duì)稱加密算法要比對(duì)稱加密算法處理速度慢,但密鑰管理簡(jiǎn)單, 因而在當(dāng)前新推出的許多新的安全協(xié)議中,都同時(shí)應(yīng)用了這兩種加密技術(shù)。一種常用的方法是利用公開密鑰技術(shù)傳遞對(duì)稱密碼,而用對(duì)稱密鑰技術(shù)來對(duì)實(shí)際傳輸?shù)臄?shù)據(jù)進(jìn)行加密和解密,例如,由發(fā)送者先產(chǎn)生一個(gè)隨機(jī)數(shù),此即對(duì)稱密鑰, 用它來對(duì)欲傳送的數(shù)據(jù)進(jìn)行加密;然后再由接收者

20、的公開密鑰對(duì)對(duì)稱密鑰進(jìn)行加密。接收者收到數(shù)據(jù)后,先用私用密鑰對(duì)對(duì)稱密鑰進(jìn)行解密,然后再用對(duì)稱密鑰對(duì)所收到的數(shù)據(jù)進(jìn)行解密。,9.2.3 數(shù)字簽名和數(shù)字證明書,1. 數(shù)字簽名 在金融和商業(yè)等系統(tǒng)中,許多業(yè)務(wù)都要求在單據(jù)上加以簽名或加蓋印章,證實(shí)其真實(shí)性,以備日后查驗(yàn)。在利用計(jì)算機(jī)網(wǎng)絡(luò)傳送報(bào)文時(shí),可將公開密鑰法用于電子(數(shù)字)簽名來代替?zhèn)鹘y(tǒng)的簽名。為使數(shù)字簽名能代替?zhèn)鹘y(tǒng)的簽名,必須滿足下述三個(gè)條件: (1) 接收者能夠核實(shí)發(fā)送者對(duì)報(bào)文的簽名。 (2) 發(fā)送者事后不能抵賴其對(duì)報(bào)文的簽名。 (3) 接收者無(wú)法偽造對(duì)報(bào)文的簽名。,1) 簡(jiǎn)單數(shù)字簽名 在這種數(shù)字簽名方式中,發(fā)送者A可使用私用密鑰Kda對(duì)明文

21、P進(jìn)行加密,形成DKda(P)后傳送給接收者B。B可利用A的公開密鑰Kea對(duì)DKda(P)進(jìn)行解密,得到EKea(DKda(P)=P,如圖 9 - 5(a)所示。,圖 9 5 數(shù)字簽名示意圖,我們按照對(duì)數(shù)字簽名的三點(diǎn)基本要求進(jìn)行分析后可得知: (1) 接收者能利用A的公開密鑰Kea對(duì)DKda(P)進(jìn)行解密,這便證實(shí)了發(fā)送者對(duì)報(bào)文的簽名。 (2) 由于只有發(fā)送者A才能發(fā)送出DKda(P)密文,故不容A進(jìn)行抵賴。 (3) 由于B沒有A所擁有的私用密鑰,故B無(wú)法偽造對(duì)報(bào)文的簽名。 由此可見,圖9 - 5(a)所示的簡(jiǎn)單方法可以實(shí)現(xiàn)對(duì)傳送的數(shù)據(jù)進(jìn)行簽名,但并不能達(dá)到保密的目的,因?yàn)槿魏稳硕寄芙邮誅Kd

22、a(P),且可用A的公開密鑰Kea對(duì)DKda(P)進(jìn)行解密。為使A所傳送的數(shù)據(jù)只能為B所接收,必須采用保密數(shù)字簽名。,2) 保密數(shù)字簽名 為了實(shí)現(xiàn)在發(fā)送者A和接收者B之間的保密數(shù)字簽名, 要求A和B都具有密鑰,再按照?qǐng)D 9-5(b)所示的方法進(jìn)行加密和解密。 (1) 發(fā)送者A可用自己的私用密鑰Kda對(duì)明文P加密,得到密文DKda(P)。 (2) A再用B的公開密鑰Keb對(duì)DKda(P)進(jìn)行加密,得到EKeb(DKda(P)后送B。 (3) B收到后,先用私用密鑰Kdb進(jìn)行解密,即DKdb(EKeb(DKda(P)=DKda(P)。 (4) B再用A的公開密鑰Kea對(duì)DKda(P)進(jìn)行解密,得到

23、EKea(DKda(P)=P。,2. 數(shù)字證明書(Certificate),(1) 用戶A在使用數(shù)字證明書之前,應(yīng)先向認(rèn)證機(jī)構(gòu)CA申請(qǐng)數(shù)字證明書,此時(shí)A應(yīng)提供身份證明和希望使用的公開密鑰A。 (2) CA在收到用戶A發(fā)來的申請(qǐng)報(bào)告后,若決定接受其申請(qǐng), 便發(fā)給A一份數(shù)字證明書,在證明書中包括公開密鑰A和CA發(fā)證者的簽名等信息,并對(duì)所有這些信息利用CA的私用密鑰進(jìn)行加密(即CA進(jìn)行數(shù)字簽名)。 (3) 用戶A在向用戶B發(fā)送報(bào)文信息時(shí),由A用私用密鑰對(duì)報(bào)文加密(數(shù)字簽名),并連同已加密的數(shù)字證明書一起發(fā)送給B。,(4) 為了能對(duì)所收到的數(shù)字證明書進(jìn)行解密,用戶B須向CA機(jī)構(gòu)申請(qǐng)獲得CA的公開密鑰B

24、。CA收到用戶B的申請(qǐng)后,可決定將公開密鑰B發(fā)送給用戶B。 (5) 用戶B利用CA的公開密鑰B對(duì)數(shù)字證明書加以解密,以確認(rèn)該數(shù)字證明書確系原件,并從數(shù)字證明書中獲得公開密鑰A,并且也確認(rèn)該公開密鑰A確系用戶A的。 (6) 用戶B再利用公開密鑰A對(duì)用戶A發(fā)來的加密報(bào)文進(jìn)行解密,得到用戶A發(fā)來的報(bào)文的真實(shí)明文。,9.2.4 網(wǎng)絡(luò)加密技術(shù),1. 鏈路加密(Link Encryption) 鏈路加密,是對(duì)在網(wǎng)絡(luò)相鄰結(jié)點(diǎn)之間通信線路上傳輸?shù)臄?shù)據(jù)進(jìn)行加密。鏈路加密常采用序列加密算法,它能有效地防止搭線竊聽所造成的威脅。兩個(gè)數(shù)據(jù)加密設(shè)備分別置于通信線路的兩端,它們使用相同的數(shù)據(jù)加密密鑰。 如果在網(wǎng)絡(luò)中只采用

25、了鏈路加密,而未使用端端加密,那么,報(bào)文從最高層(應(yīng)用層)到數(shù)據(jù)鏈路層之間,都是以明文的形式出現(xiàn)的,只是從數(shù)據(jù)鏈路層進(jìn)入物理層時(shí),才對(duì)報(bào)文進(jìn)行了加密,并把加密后的數(shù)據(jù)通過傳輸線路傳送到對(duì)方結(jié)點(diǎn)上。為了防止攻擊者對(duì)網(wǎng)絡(luò)中的信息流進(jìn)行分析, 在鏈路加密方式中,不僅對(duì)正文做了加密,而且對(duì)所有各層的控制信息也進(jìn)行了加密。,接收結(jié)點(diǎn)在收到加密報(bào)文后,為了能對(duì)報(bào)文進(jìn)行轉(zhuǎn)發(fā),必須知道報(bào)文的目標(biāo)地址。為此,接收結(jié)點(diǎn)上的數(shù)據(jù)加密設(shè)備應(yīng)對(duì)所接收到的加密報(bào)文進(jìn)行解密,從中找出目標(biāo)地址并進(jìn)行轉(zhuǎn)發(fā)。當(dāng)該報(bào)文從數(shù)據(jù)鏈路層送入物理層(轉(zhuǎn)發(fā))時(shí),須再次對(duì)報(bào)文進(jìn)行加密。由上所述得知,在鏈路加密方式中,在相鄰結(jié)點(diǎn)間的物理信道上傳

26、輸?shù)膱?bào)文是密文,而在所有中間結(jié)點(diǎn)中的報(bào)文則是明文,這給攻擊者造成了可乘之機(jī),使其可從中間結(jié)點(diǎn)上對(duì)傳輸中的信息進(jìn)行攻擊。這就要求能對(duì)所有各中間結(jié)點(diǎn)進(jìn)行有效的保護(hù)。,此外,在鏈路加密方式中,通常對(duì)每一條鏈路都分別采用不同的加密密鑰。圖 9-6 示出了鏈路加密時(shí)的情況。在圖中,結(jié)點(diǎn)2的DEE使用密鑰Kd2將密文EKe1(P)解密為明文P后,又用密鑰Ke2將P變換為密文EKe2(P)??梢?,對(duì)于一個(gè)稍具規(guī)模的網(wǎng)絡(luò),將需要非常多的加密硬件,這是必要的。,圖 9 6 鏈路加密方式,2.端端加密(End-to-End Encryption) 在單純采用鏈路加密方式時(shí),所傳送的數(shù)據(jù)在中間結(jié)點(diǎn)將被恢復(fù)為明文,因

27、此,鏈路加密方式尚不能保證通信的安全性;而端端加密方式是在源主機(jī)或前端機(jī)FEP中的高層(從傳輸層到應(yīng)用層)對(duì)所傳輸?shù)臄?shù)據(jù)進(jìn)行加密。 在整個(gè)網(wǎng)絡(luò)的傳輸過程中,不論是在物理信道上,還是在中間結(jié)點(diǎn),報(bào)文的正文始終是密文,直至信息到達(dá)目標(biāo)主機(jī)后,才被譯成明文,因而這樣可以保證在中間結(jié)點(diǎn)不會(huì)出現(xiàn)明文。,圖 9 7 端端加密方式,在端端加密方式中,只要密鑰沒有泄漏, 數(shù)據(jù)在傳輸過程中就不怕被竊取,也無(wú)須對(duì)網(wǎng)絡(luò)中間結(jié)點(diǎn)的操作人員提出特殊要求。但在這種加密方式中,不能對(duì)報(bào)頭中的控制信息(如目標(biāo)地址、路由信息等)進(jìn)行加密,否則中間結(jié)點(diǎn)將無(wú)法得知目標(biāo)地址和有關(guān)的控制信息。顯然,報(bào)頭不能加密, 也將會(huì)直接或間接地受

28、到攻擊,比如,攻擊者可能根據(jù)報(bào)頭中的源地址和目標(biāo)地址,了解到某些部門的通信情況, 甚至還可以發(fā)起諸如篡改報(bào)文的目標(biāo)地址和路由信息之類的主動(dòng)攻擊。,上述兩種加密方式各有優(yōu)缺點(diǎn)。 一種比較好的網(wǎng)絡(luò)加密方式是,同時(shí)采用鏈路加密和端端加密,以取長(zhǎng)補(bǔ)短。如利用端端加密方式來使用戶數(shù)據(jù)以密文形式穿越各個(gè)中間結(jié)點(diǎn),以保障用戶數(shù)據(jù)的安全;而利用鏈路加密方式則可使報(bào)頭中的控制信息以密文形式在通信信道中傳輸,使之不易受到攻擊。,9.3 認(rèn) 證 技 術(shù),9.3.1 基于口令的身份認(rèn)證技術(shù),1. 口令 利用口令來確認(rèn)用戶的身份,是當(dāng)前最常用的認(rèn)證技術(shù)。通常,每當(dāng)用戶要上機(jī)時(shí),系統(tǒng)中的登錄程序都首先要求用戶輸入用戶名,

29、登錄程序利用用戶輸入的名字去查找一張用戶注冊(cè)表或口令文件。 在該表中,每個(gè)已注冊(cè)用戶都有一個(gè)表目, 其中記錄有用戶名和口令等。登錄程序從中找到匹配的用戶名后,再要求用戶輸入口令,如果用戶輸入的口令也與注冊(cè)表中用戶所設(shè)置的口令一致,系統(tǒng)便認(rèn)為該用戶是合法用戶,于是允許該用戶進(jìn)入系統(tǒng);否則將拒絕該用戶登錄。,口令是由字母或數(shù)字、或字母和數(shù)字混合組成的,它可由系統(tǒng)產(chǎn)生,也可由用戶自己選定。 系統(tǒng)所產(chǎn)生的口令不便于用戶記憶,而用戶自己規(guī)定的口令則通常是很容易記憶的字母、數(shù)字,例如生日、住址、電話號(hào)碼, 以及某人或?qū)櫸锏拿值鹊?。這種口令雖便于記憶, 但也很容易被攻擊者猜中。,2. 對(duì)口令機(jī)制的基本要求

30、 基于用戶標(biāo)識(shí)符和口令的用戶認(rèn)證技術(shù), 其最主要的優(yōu)點(diǎn)是簡(jiǎn)單易行,因此,在幾乎所有需要對(duì)數(shù)據(jù)加以保密的系統(tǒng)中, 都引入了基于口令的機(jī)制。但這種機(jī)制也很容易受到別有用心者的攻擊,攻擊者可能通過多種方式來獲取用戶標(biāo)識(shí)符和口令,或者猜出用戶所使用的口令。 為了防止攻擊者猜出口令,在這種機(jī)制中通常應(yīng)滿足以下幾點(diǎn)要求:,(1) 口令長(zhǎng)度要適中。 通常的口令是由一串字母和數(shù)字組成。 如果口令太短, 則很容易被攻擊者猜中。例如,一個(gè)由四位十進(jìn)制數(shù)所組成的口令,其搜索空間僅為104,在利用一個(gè)專門的程序來破解時(shí),平均只需5000次即可猜中口令。假如每猜一次口令需花費(fèi)0.1 ms的時(shí)間,則平均每猜中一個(gè)口令僅需

31、0.5 s。 而如果采用較長(zhǎng)的口令,假如口令由ASCII碼組成,則可以顯著地增加猜中一個(gè)口令的時(shí)間。例如,口令由7位ASCII碼組成, 其搜索空間變?yōu)?57(95是可打印的ASCII碼),大約是71013,此時(shí)要猜中口令平均需要幾十年。,(2) 自動(dòng)斷開連接。 為了給攻擊者猜中口令增加難度,在口令機(jī)制中還應(yīng)引入自動(dòng)斷開連接的功能,即只允許用戶輸入有限次數(shù)的不正確口令,通常規(guī)定35次。如果用戶輸入不正確口令的次數(shù)超過規(guī)定的次數(shù)時(shí),系統(tǒng)便自動(dòng)斷開該用戶所在終端的連接。 當(dāng)然, 此時(shí)用戶還可能重新?lián)芴?hào)請(qǐng)求登錄,但若在重新輸入指定次數(shù)的不正確口令后,仍未猜中,系統(tǒng)會(huì)再次斷開連接。這種自動(dòng)斷開連接的功能

32、,無(wú)疑又給攻擊者增加了猜中口令的難度。,(3) 不回送顯示。 在用戶輸入口令時(shí),登錄程序不應(yīng)將該口令回送到屏幕上顯示,以防止被就近的人發(fā)現(xiàn)。 (4) 記錄和報(bào)告。 該功能用于記錄所有用戶登錄進(jìn)入系統(tǒng)和退出系統(tǒng)的時(shí)間;也用來記錄和報(bào)告攻擊者非法猜測(cè)口令的企圖及所發(fā)生的與安全性有關(guān)的其它不軌行為,這樣便能及時(shí)發(fā)現(xiàn)有人在對(duì)系統(tǒng)的安全性進(jìn)行攻擊。,3. 一次性口令(One time Passward) 為了把由于口令泄露所造成的損失減到最小, 用戶應(yīng)當(dāng)經(jīng)常改變口令。例如,一個(gè)月改變一次,或者一個(gè)星期改變一次。 一種極端的情況是采用一次性口令機(jī)制。在利用該機(jī)制時(shí), 用戶必須提供記錄有一系列口令的一張表,

33、并將該表保存在系統(tǒng)中。 系統(tǒng)為該表設(shè)置一指針用于指示下次用戶登錄時(shí)所應(yīng)使用的口令。這樣,用戶在每次登錄時(shí),登錄程序便將用戶輸入的口令與該指針?biāo)甘镜目诹钕啾容^,若相同,便允許用戶進(jìn)入系統(tǒng),并將指針指向表中的下一個(gè)口令。在采用一次性口令的機(jī)制時(shí),即使攻擊者獲得了本次用戶上機(jī)時(shí)所使用的口令,他也無(wú)法進(jìn)入系統(tǒng)。必須注意,用戶所使用的口令表,必須妥善保存好。,4. 口令文件 通常在口令機(jī)制中,都配置有一份口令文件, 用于保存合法用戶的口令和與口令相聯(lián)系的特權(quán)。 該文件的安全性至關(guān)重要, 一旦攻擊者成功地訪問了該文件,攻擊者便可隨心所欲地訪問他感興趣的所有資源,這對(duì)整個(gè)計(jì)算機(jī)系統(tǒng)的資源和網(wǎng)絡(luò),將無(wú)安全性

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

35、法對(duì)它們進(jìn)行譯碼,因而不會(huì)影響到系統(tǒng)的安全性。,圖 9 8 對(duì)加密口令的驗(yàn)證方法,盡管對(duì)口令進(jìn)行加密是一個(gè)很好的方法, 但它也不是絕對(duì)的安全可靠。 其主要威脅來自于兩個(gè)方面: (1) 當(dāng)攻擊者已掌握了口令的解密密鑰時(shí), 就可用它來破譯口令。 (2) 利用加密程序來破譯口令, 如果運(yùn)行加密程序的計(jì)算機(jī)速度足夠快, 則通常只要幾個(gè)小時(shí)便可破譯口令。 因此,人們還是應(yīng)該妥善保管好已加密的口令文件,來防止攻擊者輕意地獲取該文件。,9.3.2 基于物理標(biāo)志的認(rèn)證技術(shù),1. 基于磁卡的認(rèn)證技術(shù) 根據(jù)數(shù)據(jù)記錄原理,可將當(dāng)前使用的卡分為磁卡和IC卡兩種。磁卡是基于磁性原理來記錄數(shù)據(jù)的,目前世界各國(guó)使用的信用卡

36、和銀行現(xiàn)金卡等,都普遍采用磁卡。這是一塊其大小和名片大小相仿的塑料卡,在其上貼有含若干條磁道的磁條。 一般在磁條上有三條磁道,每條磁道都可用來記錄不同標(biāo)準(zhǔn)和不同數(shù)量的數(shù)據(jù)。磁道上可有兩種記錄密度,一種是每英寸含有15比特的低密度磁道;另一種是每英寸含有210比特的高密度磁道。如果在磁條上記錄了用戶名、賬號(hào)和金額,這就是金融卡或銀行卡;而如果在磁條上記錄的是有關(guān)用戶的信息,則該卡便可作為識(shí)別用戶身份的物理標(biāo)志。,在磁卡上所存儲(chǔ)的信息,可利用磁卡讀寫器將之讀出: 只要將磁卡插入或劃過磁卡讀寫器,便可將存儲(chǔ)在磁卡中的數(shù)據(jù)讀出,并傳送到相應(yīng)的計(jì)算機(jī)中。用戶識(shí)別程序便利用讀出的信息去查找一張用戶信息表(

37、該表中包含有若干個(gè)表目, 每個(gè)用戶占有一個(gè)表目,表目中記錄了有關(guān)該用戶的信息), 若找到匹配的表目,便認(rèn)為該用戶是合法用戶;否則便認(rèn)為是非法用戶。 為了保證持卡者是該卡的主人,通常在基于磁卡認(rèn)證技術(shù)的基礎(chǔ)上,又增設(shè)了口令機(jī)制,每當(dāng)進(jìn)行用戶身份認(rèn)證時(shí),都要求用戶輸入口令。,2. 基于IC卡的認(rèn)證技術(shù) IC卡即集成電路卡的英文縮寫。在外觀上IC卡與磁卡并無(wú)明顯差別,但在IC卡中可裝入CPU和存儲(chǔ)器芯片,使該卡具有一定的智能,故又稱為智能卡或靈巧卡。IC卡中的CPU用于對(duì)內(nèi)部數(shù)據(jù)的訪問和與外部數(shù)據(jù)進(jìn)行交換,還可利用較復(fù)雜的加密算法,對(duì)數(shù)據(jù)進(jìn)行處理,這使IC卡比磁卡具有更強(qiáng)的防偽性和保密性,因而IC卡

38、會(huì)逐步取代磁卡。根據(jù)在磁卡中所裝入芯片的不同可把IC卡分為以下三種類型:,(1) 存儲(chǔ)器卡。在這種卡中只有一個(gè)E2PROM(可電擦、可編程只讀存儲(chǔ)器)芯片,而沒有微處理器芯片。 它的智能主要依賴于終端,就像IC電話卡的功能是依賴于電話機(jī)一樣。由于此智能卡不具有安全功能,故只能用來存儲(chǔ)少量金額的現(xiàn)金與信息。常見的智能卡有電話卡、 健康卡,其只讀存儲(chǔ)器的容量一般為420 KB。 (2) 微處理器卡。它除具有E2PROM外,還增加了一個(gè)微處理器。只讀存儲(chǔ)器的容量一般是數(shù)千字節(jié)至數(shù)萬(wàn)字節(jié);處理器的字長(zhǎng)主要是8位的。在這種智能卡中已具有一定的加密設(shè)施, 增強(qiáng)了IC卡的安全性。,(3) 密碼卡。在這種卡中

39、又增加了加密運(yùn)算協(xié)處理器和RAM。之所以把這種卡稱為密碼卡,是由于它能支持非對(duì)稱加密體制RSA;所支持的密鑰長(zhǎng)度可長(zhǎng)達(dá)1024位,因而極大地增強(qiáng)了IC卡的安全性。一種專門用于確保安全的智能卡,在卡中存儲(chǔ)了一個(gè)很長(zhǎng)的用戶專門密鑰和數(shù)字證明書,完全可以作為一個(gè)用戶的數(shù)字身份證明。當(dāng)前在Internet上所開展的電子交易中, 已有不少密碼卡是使用了基于RSA的密碼體制。,將IC卡用于身份識(shí)別的方法,明顯地優(yōu)于使用磁卡。這一方面是因?yàn)?,磁卡是將?shù)據(jù)存儲(chǔ)在磁條上,比較易于用一般設(shè)備將其中的數(shù)據(jù)讀出、修改和進(jìn)行破壞;而IC卡則是將數(shù)據(jù)保存在存儲(chǔ)器中,使用一般設(shè)備難于讀出,這使IC卡具有更好的安全性。 另一

40、方面,在IC卡中含有微處理器和存儲(chǔ)器, 可進(jìn)行較復(fù)雜的加密處理,因此,IC卡具有非常好的防偽性和保密性; 此外,還因?yàn)镮C卡所具有的存儲(chǔ)容量比磁卡的大得多, 通??纱蟮?00倍以上,因而可在IC卡中存儲(chǔ)更多的信息, 從而做到“一卡多用”,換言之,一張IC卡,既可作為數(shù)字身份證, 又可作為信用卡、電話卡及健康卡等等。,3. 指紋識(shí)別技術(shù) (1) 指紋。 指紋有著“物證之首”的美譽(yù)。盡管目前全球已有近60億人口, 但絕對(duì)不可能找到兩個(gè)完全相同的指紋。 因而利用指紋來進(jìn)行身份認(rèn)證是萬(wàn)無(wú)一失的,而且非常方便。又因?yàn)樗粫?huì)像其它一些物理標(biāo)志那樣出現(xiàn)用戶忘記攜帶或丟失等問題,而且使用起來也特別方便,因此,

41、利用指紋來進(jìn)行身份識(shí)別是有廣闊前景的一種識(shí)別技術(shù),世界上已有愈來愈多的國(guó)家開展了對(duì)指紋識(shí)別技術(shù)的研究。,(2) 指紋識(shí)別系統(tǒng)。 早在80年代,美國(guó)及其它發(fā)達(dá)國(guó)家便開始了對(duì)指紋識(shí)別技術(shù)的研究,并取得了一定的進(jìn)展。在所構(gòu)成的指紋識(shí)別系統(tǒng)中包括:指紋輸入、指紋圖像壓縮、 指紋自動(dòng)比較等8個(gè)子系統(tǒng)。但他們的指紋識(shí)別系統(tǒng)是建立在大型計(jì)算機(jī)系統(tǒng)的基礎(chǔ)上的,而且由于系統(tǒng)的龐大、價(jià)格的昂貴, 始終使該技術(shù)難于普及;直至近幾年,隨著VLSI的迅速發(fā)展, 才使指紋識(shí)別系統(tǒng)小型化, 使該技術(shù)進(jìn)入了廣泛應(yīng)用的階段。,9.3.3 基于公開密鑰的認(rèn)證技術(shù),1. 申請(qǐng)數(shù)字證書 由于SSL所提供的安全服務(wù),是基于公開密鑰證明

42、書(數(shù)字證書)的身份認(rèn)證,因此,凡是要利用SSL的用戶和服務(wù)器, 都必須先向認(rèn)證機(jī)構(gòu)(CA)申請(qǐng)公開密鑰證明書。 (1) 服務(wù)器申請(qǐng)數(shù)字證書。 首先由服務(wù)管理器生成一密鑰對(duì)和申請(qǐng)書,服務(wù)器一方面將密鑰和申請(qǐng)書的備份保存在安全之處;另一方面則向CA提交包括密鑰對(duì)和簽名證明書申請(qǐng)(即CSR)的加密文件,通常以電子郵件方式發(fā)送。 CA接收并檢查該申請(qǐng)的合法性后,將會(huì)把數(shù)字證書以電子郵件方式寄給服務(wù)器。,(2) 客戶申請(qǐng)數(shù)字證書。 首先由瀏覽器生成一密鑰對(duì),私有密鑰被保存在客戶的私有密鑰數(shù)據(jù)庫(kù)中,將公開密鑰連同客戶提供的其它信息,一起發(fā)往CA。如果該客戶符合CA要求的條件, CA將會(huì)把數(shù)字證書以電子郵

43、件方式寄給客戶。,2. SSL握手協(xié)議,(1) 身份認(rèn)證。 SSL協(xié)議要求通信的雙方都利用自己的私用密鑰對(duì)所要交換的數(shù)據(jù)進(jìn)行數(shù)字簽名,并連同數(shù)字證書一起發(fā)送給對(duì)方, 以便雙方相互檢驗(yàn)。如上節(jié)所述,通過數(shù)字簽名和數(shù)字證書的驗(yàn)證可以認(rèn)證對(duì)方的身份是否真實(shí)。,(2) 協(xié)商加密算法。 為了增加加密系統(tǒng)的靈活性,SSL協(xié)議允許采用多種加密算法??蛻艉头?wù)器在通信之前,應(yīng)首先協(xié)商好所使用的某一種加密算法。通常先由客戶提供自己能支持的所有加密算法清單,然后由服務(wù)器從中選擇出一種最有效的加密算法, 并通知客戶,此后,雙方便可利用該算法對(duì)所傳送的信息進(jìn)行加密。 (3) 協(xié)商加密密鑰。 先由客戶機(jī)隨機(jī)地產(chǎn)生一組密

44、鑰,再利用服務(wù)器的公開密鑰對(duì)這組密鑰進(jìn)行加密后,送往服務(wù)器,由服務(wù)器從中選擇4個(gè)密鑰,并通知客戶機(jī),將之用于對(duì)所傳輸?shù)男畔⑦M(jìn)行加密。,3. 數(shù)據(jù)加密和檢查數(shù)據(jù)的完整性 (1) 數(shù)據(jù)加密。 在客戶機(jī)和服務(wù)器間傳送的所有信息,都應(yīng)利用協(xié)商后所確定的加密算法和密鑰進(jìn)行加密處理,以防止被攻擊。 (2) 檢查數(shù)據(jù)的完整性。 為了保證經(jīng)過長(zhǎng)途傳輸后所收到的數(shù)據(jù)是可信任的,SSL協(xié)議還利用某種算法對(duì)所傳送的數(shù)據(jù)進(jìn)行計(jì)算, 以產(chǎn)生能保證數(shù)據(jù)完整性的數(shù)據(jù)識(shí)別碼(MAC),再把MAC和業(yè)務(wù)數(shù)據(jù)一起傳送給對(duì)方;而收方則利用MAC來檢查所收到數(shù)據(jù)的完整性。,9.4 訪問控制技術(shù),9.4.1 訪問矩陣(Access M

45、atrix),1) 訪問權(quán) 為了對(duì)系統(tǒng)中的對(duì)象加以保護(hù),應(yīng)由系統(tǒng)來控制進(jìn)程對(duì)對(duì)象的訪問。我們把一個(gè)進(jìn)程能對(duì)某對(duì)象執(zhí)行操作的權(quán)力稱為訪問權(quán)(Access right)。每個(gè)訪問權(quán)可以用一個(gè)有序?qū)?對(duì)象名, 權(quán)集)來表示,例如,某進(jìn)程有對(duì)文件F1執(zhí)行讀和寫操作的權(quán)力,這時(shí),可將該進(jìn)程的訪問權(quán)表示成(F1,R/W)。,2) 保護(hù)域 為了對(duì)系統(tǒng)中的資源進(jìn)行保護(hù)而引入了保護(hù)域的概念,保護(hù)域簡(jiǎn)稱為“域”?!坝颉笔沁M(jìn)程對(duì)一組對(duì)象訪問權(quán)的集合, 進(jìn)程只能在指定域內(nèi)執(zhí)行操作,這樣,“域”也就規(guī)定了進(jìn)程所能訪問的對(duì)象和能執(zhí)行的操作。在圖 9 - 9中示出了三個(gè)保護(hù)域。在域1中有兩個(gè)對(duì)象,即文件F1和F2,只允許進(jìn)

46、程對(duì)F1讀,而允許對(duì)F2讀和寫;而對(duì)象Printer1同時(shí)出現(xiàn)在域2和域3中,這表示在這兩個(gè)域中運(yùn)行的進(jìn)程都能使用打印機(jī)。,圖 9 9 三個(gè)保護(hù)域,3) 進(jìn)程和域間的靜態(tài)聯(lián)系方式 在進(jìn)程和域之間,可以一一對(duì)應(yīng),即一個(gè)進(jìn)程只聯(lián)系著一個(gè)域。這意味著,在進(jìn)程的整個(gè)生命期中,其可用資源是固定的,我們把這種域稱為“靜態(tài)域”。在這種情況下, 進(jìn)程運(yùn)行的全過程都是受限于同一個(gè)域,這將會(huì)使賦予進(jìn)程的訪問權(quán)超過了實(shí)際需要。 例如,某進(jìn)程在運(yùn)行開始時(shí)需要磁帶機(jī)輸入數(shù)據(jù);而在進(jìn)程快結(jié)束時(shí),又需要用打印機(jī)打印數(shù)據(jù)。在一個(gè)進(jìn)程只聯(lián)系著一個(gè)域的情況下,則需要在該域中同時(shí)設(shè)置磁帶機(jī)和打印機(jī)這兩個(gè)對(duì)象,這將超過進(jìn)程運(yùn)行的實(shí)際

47、需要。,4) 進(jìn)程和域間的動(dòng)態(tài)聯(lián)系方式 在進(jìn)程和域之間,也可以是一對(duì)多的關(guān)系,即一個(gè)進(jìn)程可以聯(lián)系著多個(gè)域。在此情況下,可將進(jìn)程的運(yùn)行分為若干個(gè)階段,其每個(gè)階段聯(lián)系著一個(gè)域,這樣便可根據(jù)運(yùn)行的實(shí)際需要,來規(guī)定在進(jìn)程運(yùn)行的每個(gè)階段中所能訪問的對(duì)象。用上述的同一個(gè)例子,我們可以把進(jìn)程的運(yùn)行分成三個(gè)階段:進(jìn)程在開始運(yùn)行的階段聯(lián)系著域D1,其中包括用磁帶機(jī)輸入; 在運(yùn)行快結(jié)束的第三階段聯(lián)系著域D3,其中是用打印機(jī)輸出; 中間運(yùn)行階段聯(lián)系著域D2,其中既不含磁帶機(jī),也不含打印機(jī)。我們把這種一對(duì)多的聯(lián)系方式稱為動(dòng)態(tài)聯(lián)系方式,在采用這種方式的系統(tǒng)中,應(yīng)增設(shè)保護(hù)域切換功能,以使進(jìn)程能在不同的運(yùn)行階段, 從一個(gè)保

48、護(hù)域切換到另一個(gè)保護(hù)域。,2. 訪問矩陣 我們可以利用一個(gè)矩陣來描述系統(tǒng)的訪問控制,并把該矩陣稱為訪問矩陣(Access Matrix)。 訪問矩陣中的行代表域, 列代表對(duì)象,矩陣中的每一項(xiàng)是由一組訪問權(quán)組成的。因?yàn)閷?duì)象已由列顯式地定義,故可以只寫出訪問權(quán)而不必寫出是對(duì)哪個(gè)對(duì)象的訪問權(quán),每一項(xiàng)訪問權(quán)access(i,j)定義了在域Di中執(zhí)行的進(jìn)程能對(duì)對(duì)象Qj所施加的操作集。 訪問矩陣中的訪問權(quán),通常是由資源的擁有者或者管理者所決定的。當(dāng)用戶創(chuàng)建一個(gè)新文件時(shí),創(chuàng)建者便是擁有者,系統(tǒng)在訪問矩陣中為新文件增加一列,由用戶決定在該列的某個(gè)項(xiàng)中應(yīng)具有哪些訪問權(quán),而在另一項(xiàng)中又具有哪些訪問權(quán)。 當(dāng)用戶刪除

49、此文件時(shí), 系統(tǒng)也要相應(yīng)地在訪問矩陣中將該文件對(duì)應(yīng)的列撤消。,圖 9 - 9 的訪問矩陣如圖 9 - 10 所示。它是由三個(gè)域和8個(gè)對(duì)象所組成的。當(dāng)進(jìn)程在域D1中運(yùn)行時(shí),它能讀文件F1、 讀和寫文件F2。進(jìn)程在域D2中運(yùn)行時(shí),它能讀文件F3、F4和F5,以及寫文件F4、F5和執(zhí)行文件F4,此外還可以使用打印機(jī)1。只有當(dāng)進(jìn)程在域D3中運(yùn)行時(shí),才可使用繪圖儀2。,圖 9 10 一個(gè)訪問矩陣,3. 具有域切換權(quán)的訪問矩陣 為了實(shí)現(xiàn)在進(jìn)程和域之間的動(dòng)態(tài)聯(lián)系,應(yīng)能夠?qū)⑦M(jìn)程從一個(gè)保護(hù)域切換到另一個(gè)保護(hù)域。為了能對(duì)進(jìn)程進(jìn)行控制,同樣應(yīng)將切換作為一種權(quán)力,僅當(dāng)進(jìn)程有切換權(quán)時(shí),才能進(jìn)行這種切換。 為此,在訪問矩

50、陣中又增加了幾個(gè)對(duì)象,分別把它們作為訪問矩陣中的幾個(gè)域;當(dāng)且僅當(dāng)switchaccess(i,j)時(shí),才允許進(jìn)程從域i切換到域j。 例如, 在圖 9 CD*2 11 中,由于域D1和D2所對(duì)應(yīng)的項(xiàng)目中,有一個(gè)S即Switch,故而允許在域D1中的進(jìn)程切換到域D2中。類似地,在域D2和對(duì)象D3所對(duì)應(yīng)的項(xiàng)中, 也有Switch,這表示在D2域中運(yùn)行的進(jìn)程,可以切換到域D3中, 但不允許該進(jìn)程再?gòu)挠駾3返回到域D1。,圖 9 11 具有切換權(quán)的訪問控制矩陣,9.4.2 訪問矩陣的修改,1. 拷貝權(quán)(Copy Right),圖 9 12 具有拷貝權(quán)的訪問控制矩陣,在圖 9 - 12 中,凡是在訪問權(quán)(

51、access(i,j)上加星號(hào)(*)者,都表示在i域中運(yùn)行的進(jìn)程能將其對(duì)對(duì)象j的訪問權(quán),復(fù)制成在任何域中對(duì)同一對(duì)象的訪問權(quán)。例如,圖中在域D2中對(duì)文件F2的讀訪問權(quán)上加有*號(hào)時(shí),表示運(yùn)行在D2域中的進(jìn)程可以將他對(duì)文件F2的讀訪問權(quán)擴(kuò)展到域D3中去。又如,在域D1中對(duì)文件F3的寫訪問權(quán)上加有*號(hào)時(shí),可以使運(yùn)行在域D1中的進(jìn)程, 可以將他對(duì)文件F3的寫訪問權(quán)擴(kuò)展到域D3中去,使在域D3中運(yùn)行的進(jìn)程,也具有對(duì)文件F3的寫訪問權(quán)。 應(yīng)注意的是,把帶有*號(hào)的拷貝權(quán)如R*,由access(i,j)拷貝成access(k,j)后,其所建立的訪問權(quán)只是R而不是R*,這使在域DK上運(yùn)行的進(jìn)程,不能再將其拷貝權(quán)進(jìn)

52、行擴(kuò)散,從而限制了訪問權(quán)的進(jìn)一步擴(kuò)散。 這種拷貝方式被稱為限制拷貝。,2. 所有權(quán)(Owner Right) 人們不僅要求能將已有的訪問權(quán)進(jìn)行有控制的擴(kuò)散,而且同樣需要能增加某種訪問權(quán),或者能刪除某種訪問權(quán)。此時(shí), 可利用所有權(quán)(O)來實(shí)現(xiàn)這些操作。如果在access(i,j)中包含所有訪問權(quán),則在域Di上運(yùn)行的進(jìn)程,可以增加或刪除其在j列上任何項(xiàng)中的訪問權(quán)。換言之,進(jìn)程可以增加或刪除在任何其它域中運(yùn)行的進(jìn)程對(duì)對(duì)象j的訪問權(quán)。例如,在圖 9 -13(a)中, 在域D1中運(yùn)行的進(jìn)程(用戶)是文件F1的所有者,他能增加或刪除在其它域中運(yùn)行進(jìn)程對(duì)文件F1的訪問權(quán);類似地,在域D2中運(yùn)行的進(jìn)程(用戶)

53、是文件F2和文件F3的擁有者,該進(jìn)程可以增加或刪除在其它域中運(yùn)行的進(jìn)程對(duì)這兩個(gè)文件的訪問權(quán)。 在圖 9 -13(b)中示出了在域D1中運(yùn)行的進(jìn)程刪除了在域D3中運(yùn)行的進(jìn)程對(duì)文件F1的執(zhí)行權(quán);在域D2中運(yùn)行的進(jìn)程增加了在域D3中運(yùn)行進(jìn)程對(duì)文件F2和F3的寫訪問權(quán)。,圖 9 13 帶所有權(quán)的訪問矩陣,3. 控制權(quán)(Control Right) 拷貝權(quán)和所有權(quán)都是用于改變矩陣內(nèi)同一列中的各項(xiàng)訪問權(quán)的,或者說,是用于改變?cè)诓煌蛑羞\(yùn)行的進(jìn)程對(duì)同一對(duì)象的訪問權(quán)。控制權(quán)則可用于改變矩陣內(nèi)同一行中(域中)的各項(xiàng)訪問權(quán),亦即,用于改變?cè)谀硞€(gè)域中運(yùn)行進(jìn)程對(duì)不同對(duì)象的訪問權(quán)。如果在access(i,j)中包含了控

54、制權(quán),則在域Di中運(yùn)行的進(jìn)程可以刪除在域Dj中運(yùn)行進(jìn)程對(duì)各對(duì)象的任何訪問權(quán)。例如在圖 9 - 14中,在access(D2, D3)中包括了控制權(quán),則一個(gè)在域D2中運(yùn)行的進(jìn)程能夠改變對(duì)域D3內(nèi)各項(xiàng)的訪問權(quán)。比較圖 9 -11 和圖 9 - 14 可以看出,在D3中已無(wú)對(duì)文件F6和Ploter2的寫訪問權(quán)。,圖 9 14 具有控制權(quán)的訪問矩陣,9.4.3 訪問控制矩陣的實(shí)現(xiàn),1. 訪問控制表(Access Control List) 這是指對(duì)訪問矩陣按列(對(duì)象)劃分,為每一列建立一張?jiān)L問控制表ACL。在該表中,已把矩陣中屬于該列的所有空項(xiàng)刪除,此時(shí)的訪問控制表是由一有序?qū)?域, 權(quán)集)所組成。

55、由于在大多數(shù)情況下,矩陣中的空項(xiàng)遠(yuǎn)多于非空項(xiàng),因而使用訪問控制表可以顯著地減少所占用的存儲(chǔ)空間,并能提高查找速度。在不少系統(tǒng)中,當(dāng)對(duì)象是文件時(shí),便把訪問控制表存放在該文件的文件控制表中,或放在文件的索引結(jié)點(diǎn)中, 作為該文件的存取控制信息。,域是一個(gè)抽象的概念,可用各種方式實(shí)現(xiàn)。 最常見的一種情況是每一個(gè)用戶是一個(gè)域,而對(duì)象則是文件。此時(shí),用戶能夠訪問的文件集和訪問權(quán)限,取決于用戶的身份。 通常,在一個(gè)用戶退出而另一個(gè)用戶進(jìn)入時(shí),即用戶發(fā)生改變時(shí),要進(jìn)行域的切換;另一種情況是, 每個(gè)進(jìn)程是一個(gè)域,此時(shí),能夠訪問的對(duì)象集中的各訪問權(quán),取決于進(jìn)程的身份。 訪問控制表也可用于定義缺省的訪問權(quán)集, 即在

56、該表中列出了各個(gè)域?qū)δ硨?duì)象的缺省訪問權(quán)集。在系統(tǒng)中配置了這種表后,當(dāng)某用戶(進(jìn)程)要訪問某資源時(shí),通常是首先由系統(tǒng)到缺省的訪問控制表中,去查找該用戶(進(jìn)程)是否具有對(duì)指定資源進(jìn)行訪問的權(quán)力。如果找不到,再到相應(yīng)對(duì)象的訪問控制表中去查找。,2. 訪問權(quán)限(Capabilities)表 如果把訪問矩陣按行(即域)劃分,便可由每一行構(gòu)成一張?jiān)L問權(quán)限表。換言之,這是由一個(gè)域?qū)γ恳粋€(gè)對(duì)象可以執(zhí)行的一組操作所構(gòu)成的表。表中的每一項(xiàng)即為該域?qū)δ硨?duì)象的訪問權(quán)限。 當(dāng)域?yàn)橛脩?進(jìn)程)、對(duì)象為文件時(shí),訪問權(quán)限表便可用來描述一個(gè)用戶(進(jìn)程)對(duì)每一個(gè)文件所能執(zhí)行的一組操作。 圖 9 - 15 示出了對(duì)應(yīng)于圖 9 -

57、11 中域D2的訪問權(quán)限表。在表中共有三個(gè)字段。 其中類型字段用于說明對(duì)象的類型;權(quán)力字段是指域D2對(duì)該對(duì)象所擁有的訪問權(quán)限;對(duì)象字段是一個(gè)指向相應(yīng)對(duì)象的指針,對(duì)UNIX系統(tǒng)來說,它就是索引結(jié)點(diǎn)的編號(hào)。由該表可以看出,域D2可以訪問的對(duì)象有4個(gè),即文件3、4、 5和打印機(jī),對(duì)文件3的訪問權(quán)限是只讀;對(duì)文件4的訪問權(quán)限是讀、寫和執(zhí)行等。,圖 9 15 訪問權(quán)限表,訪問權(quán)限表不能允許直接被用戶(進(jìn)程)所訪問。 通常, 將訪問權(quán)限表存儲(chǔ)到系統(tǒng)區(qū)內(nèi)的一個(gè)專用區(qū)中,只允許專用于進(jìn)行訪問合法性檢查的程序?qū)υ摫磉M(jìn)行訪問,以實(shí)現(xiàn)對(duì)訪問控制表的保護(hù)。 目前,大多數(shù)系統(tǒng)都同時(shí)采用訪問控制表和訪問權(quán)限表, 在系統(tǒng)中

58、為每個(gè)對(duì)象配置一張?jiān)L問控制表。當(dāng)一個(gè)進(jìn)程第一次試圖去訪問一個(gè)對(duì)象時(shí),必須先檢查訪問控制表,檢查進(jìn)程是否具有對(duì)該對(duì)象的訪問權(quán)。如果無(wú)權(quán)訪問,便由系統(tǒng)來拒絕進(jìn)程的訪問,并構(gòu)成一例外(異常)事件;否則(有權(quán)訪問),便允許進(jìn)程對(duì)該對(duì)象進(jìn)行訪問,并為該進(jìn)程建立一訪問權(quán)限,將之連接到進(jìn)程。以后,該進(jìn)程便可直接利用這一返回的權(quán)限去訪問該對(duì)象,這樣,便可快速地驗(yàn)證其訪問的合法性。 當(dāng)進(jìn)程不再需要對(duì)該對(duì)象進(jìn)行訪問時(shí),便可撤消該訪問權(quán)限。,9.5 防 火 墻 技 術(shù),用于實(shí)現(xiàn)防火墻功能的技術(shù)可分為兩類: (1) 包過濾技術(shù)?;谠摷夹g(shù)所構(gòu)建的防火墻簡(jiǎn)單、價(jià)廉。 (2) 代理服務(wù)技術(shù)?;谠摷夹g(shù)所構(gòu)建的防火墻安全可

59、靠。 上述兩者之間有很強(qiáng)的互補(bǔ)性,因而在Intranet上經(jīng)常是同時(shí)采用這兩種防火墻技術(shù)來保障網(wǎng)絡(luò)的安全。,9.5.1 包過濾防火墻,1. 包過濾防火墻的基本原理 所謂“包過濾技術(shù)”是指:將一個(gè)包過濾防火墻軟件置于Intranet的適當(dāng)位置,通常是在路由器或服務(wù)器中,使之能對(duì)進(jìn)出Intranet的所有數(shù)據(jù)包按照指定的過濾規(guī)則進(jìn)行檢查,僅對(duì)符合指定規(guī)則的數(shù)據(jù)包才準(zhǔn)予通行,否則將之拋棄。圖 9 - 16 中示出了基于包過濾技術(shù)的防火墻的位置。,圖 9 16 包過濾防火墻,包過濾防火墻是工作在網(wǎng)絡(luò)層。在Internet和Intranet中, 由于網(wǎng)絡(luò)層所傳輸?shù)氖荌P數(shù)據(jù)包,所以包過濾器就是對(duì)IP數(shù)據(jù)包進(jìn)行檢查并加以過濾。包過濾器在收到IP數(shù)據(jù)包后, 先掃描該數(shù)據(jù)包的包頭,對(duì)其中的某些字段進(jìn)行檢查,這些字段包括數(shù)據(jù)包的類型(TCP或UDP等)、源IP地址、目標(biāo)IP地址、 目標(biāo)TCP/IP端口等。然后利用系

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論