《計(jì)算機(jī)網(wǎng)絡(luò) 》課件第10章_第1頁(yè)
《計(jì)算機(jī)網(wǎng)絡(luò) 》課件第10章_第2頁(yè)
《計(jì)算機(jī)網(wǎng)絡(luò) 》課件第10章_第3頁(yè)
《計(jì)算機(jī)網(wǎng)絡(luò) 》課件第10章_第4頁(yè)
《計(jì)算機(jī)網(wǎng)絡(luò) 》課件第10章_第5頁(yè)
已閱讀5頁(yè),還剩265頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第10章網(wǎng)絡(luò)安全與網(wǎng)絡(luò)管理10.1網(wǎng)絡(luò)安全的基本概念10.2數(shù)據(jù)加密10.3認(rèn)證技術(shù)10.4數(shù)字證書與密鑰管理10.5虛擬專用網(wǎng)10.6防火墻10.7網(wǎng)絡(luò)管理系統(tǒng)10.8網(wǎng)絡(luò)管理標(biāo)準(zhǔn)10.9網(wǎng)絡(luò)管理工具習(xí)題互聯(lián)網(wǎng)正在迅速地改變著人們的生活方式和工作效率。個(gè)人和商業(yè)機(jī)構(gòu)都將越來(lái)越多地通過(guò)互聯(lián)網(wǎng)處理銀行帳務(wù),納稅和購(gòu)物。這無(wú)疑給社會(huì)生活帶來(lái)了前所未有地便利,同時(shí)也不可避免地要求互聯(lián)網(wǎng)運(yùn)行得更加便捷和安全。本章介紹網(wǎng)絡(luò)安全方面存在的問(wèn)題及其相應(yīng)的解決方案,同時(shí)也介紹了網(wǎng)絡(luò)管理系統(tǒng)的體系結(jié)構(gòu)和一些實(shí)用的網(wǎng)絡(luò)管理方法。10.1網(wǎng)絡(luò)安全的基本概念10.1.1網(wǎng)絡(luò)安全威脅網(wǎng)絡(luò)安全威脅是對(duì)網(wǎng)絡(luò)安全缺陷的潛在利用,這些缺陷可能導(dǎo)致非授權(quán)訪問(wèn)、信息泄露、資源耗盡、資源被竊取或者破壞。具體地說(shuō),網(wǎng)絡(luò)安全面臨的威脅有:

(1)竊聽:在廣播網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)都可以讀取網(wǎng)上傳輸?shù)臄?shù)據(jù),例如搭線竊聽或者安裝通信監(jiān)視器獲取網(wǎng)上傳播的信息。

(2)假冒:一個(gè)實(shí)體假扮成另一個(gè)合法實(shí)體訪問(wèn)網(wǎng)絡(luò)資源。

(3)重放:重復(fù)發(fā)送一份報(bào)文或報(bào)文的一部分,以便產(chǎn)生一個(gè)期望的結(jié)果。

(4)流量分析:通過(guò)對(duì)網(wǎng)上信息流的觀察和分析,可以推斷出有關(guān)網(wǎng)絡(luò)活動(dòng)的情況,諸如有無(wú)信息傳輸、傳輸?shù)臅r(shí)間、數(shù)量、方向、頻率等。

(5)破壞數(shù)據(jù)完整性:有意或無(wú)意地修改或破壞信息系統(tǒng),或者在非授權(quán)的方式下對(duì)網(wǎng)絡(luò)信息進(jìn)行修改。

(6)拒絕服務(wù):授權(quán)實(shí)體無(wú)法進(jìn)行正常的網(wǎng)絡(luò)訪問(wèn)或者正常的網(wǎng)絡(luò)操作被延遲。

(7)資源的非授權(quán)訪問(wèn):違反安全策略非法地使用網(wǎng)絡(luò)資源。10.1.2網(wǎng)絡(luò)攻擊的類型任何非授權(quán)的行為都可能構(gòu)成對(duì)網(wǎng)絡(luò)的安全攻擊,攻擊的程度從使系統(tǒng)無(wú)法提供正常服務(wù)到完全控制或破壞網(wǎng)絡(luò)系統(tǒng)。在網(wǎng)絡(luò)上成功實(shí)施攻擊的可能性依賴于用戶采取的安全措施的完善程度。網(wǎng)絡(luò)攻擊可以分為以下幾類:

(1)被動(dòng)攻擊:攻擊者通過(guò)監(jiān)視所有信息流以獲得某些機(jī)密數(shù)據(jù),這種攻擊可以是基于網(wǎng)絡(luò)的(監(jiān)視網(wǎng)絡(luò)通信鏈路),或者是基于系統(tǒng)的(用特洛伊木馬代替系統(tǒng)功能部件)。被動(dòng)攻擊很難被檢測(cè),對(duì)付這種攻擊的基本方法是預(yù)防,例如采用數(shù)據(jù)加密措施等。

(2)主動(dòng)攻擊:攻擊者試圖突破網(wǎng)絡(luò)的安全防線,這種攻擊涉及到數(shù)據(jù)流的修改或者創(chuàng)建錯(cuò)誤的數(shù)據(jù)流,主要攻擊形式有假冒、重放、欺騙、消息篡改、拒絕服務(wù)等。這種攻擊無(wú)法預(yù)防但卻易于檢測(cè),對(duì)付的重點(diǎn)是測(cè)而不是防,主要手段有防火墻、入侵檢測(cè)技術(shù)等。

(3)物理臨近攻擊:在物理臨近攻擊中未經(jīng)授權(quán)者可在物理上接近網(wǎng)絡(luò)系統(tǒng),并實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)資源的修改或者收集網(wǎng)絡(luò)中的機(jī)密信息。

(4)內(nèi)部人員攻擊:這種攻擊的實(shí)施者處于網(wǎng)絡(luò)信息系統(tǒng)的物理范圍之內(nèi),并且獲得了網(wǎng)絡(luò)信息系統(tǒng)的訪問(wèn)權(quán)限。這種攻擊可能是出于惡意的,也可能是非惡意的(不小心的操作或無(wú)知的用戶)。

(5)病毒:所有的惡意程序都可以看作是一種病毒,這種病毒程序能夠在網(wǎng)絡(luò)中自行傳播,潛入用戶電腦,對(duì)網(wǎng)絡(luò)資源進(jìn)行竊取和破壞。

(6)特洛伊木馬:通過(guò)替換系統(tǒng)中的合法程序,或者在合法程序中插入惡意代碼,與外界的惡意程序里應(yīng)外合,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)資源的非授權(quán)訪問(wèn),或者利用用戶電腦實(shí)施網(wǎng)絡(luò)攻擊。10.1.3網(wǎng)絡(luò)安全技術(shù)分類任何形式的互聯(lián)網(wǎng)絡(luò)服務(wù)都會(huì)導(dǎo)致安全方面的風(fēng)險(xiǎn),問(wèn)題是如何將風(fēng)險(xiǎn)降低到最低程度,目前的網(wǎng)絡(luò)安全措施主要有:

(1)訪問(wèn)控制:確保網(wǎng)絡(luò)訪問(wèn)者(人或計(jì)算機(jī))具有合法的訪問(wèn)權(quán)限。

(2)數(shù)據(jù)加密:加密是通過(guò)對(duì)信息的重新組合,使得只有收發(fā)雙方才能解碼并還原信息的一種手段。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,加密功能正在逐步被集成到系統(tǒng)和網(wǎng)絡(luò)中。

(3)身份認(rèn)證:確保會(huì)話對(duì)方(人或計(jì)算機(jī))身份的真實(shí)性。有多種方法來(lái)認(rèn)證一個(gè)用戶的有效身份,例如密碼技術(shù)、人體生物特征(如指紋)識(shí)別、智能IC卡和專用的USB盤等。

(4)數(shù)據(jù)完整性認(rèn)證:確保接受到的信息與發(fā)送的信息一致,防止在信息傳輸過(guò)程中被惡意篡改。

(5)數(shù)字簽名:數(shù)字簽名可以用來(lái)證明消息確實(shí)是由發(fā)送者簽發(fā)的,也可以用來(lái)驗(yàn)證數(shù)據(jù)或程序的完整性。

(6)安全審計(jì):這是一種事后驗(yàn)證手段,以確保任何發(fā)生過(guò)的交易都可以被證實(shí),發(fā)信者和收信者都不可抵賴曾經(jīng)發(fā)生過(guò)的交易。

(7)防火墻:它是建立在內(nèi)部網(wǎng)絡(luò)(可信賴的網(wǎng)絡(luò))和外部網(wǎng)絡(luò)(不可信賴的網(wǎng)絡(luò))之間的由軟硬件構(gòu)成的屏障,按照預(yù)先定義好的規(guī)則控制數(shù)據(jù)包的通過(guò)。

(8)內(nèi)容過(guò)濾:這是防火墻的一種功能,通過(guò)對(duì)網(wǎng)絡(luò)內(nèi)容的過(guò)濾實(shí)現(xiàn)家長(zhǎng)控制功能,對(duì)不同用戶的訪問(wèn)權(quán)限進(jìn)行不同的管理。10.2數(shù)據(jù)加密數(shù)據(jù)加密是防止未經(jīng)授權(quán)的用戶訪問(wèn)敏感信息的手段,是人們通常理解的安全措施,也是其他安全方法的基礎(chǔ)。研究數(shù)據(jù)加密的科學(xué)叫做密碼學(xué)(Cryptography),它又分為設(shè)計(jì)密碼體制的密碼編碼學(xué)和破譯密碼的密碼分析學(xué)。密碼學(xué)有著悠久而光輝的歷史,古代的軍事家已經(jīng)用密碼傳遞軍事情報(bào)了,而現(xiàn)代計(jì)算機(jī)的應(yīng)用和計(jì)算機(jī)科學(xué)的發(fā)展又為這一古老的科學(xué)注入了新的活力?,F(xiàn)代密碼學(xué)是經(jīng)典密碼學(xué)的進(jìn)一步發(fā)展和完善,由于加密和解密此消彼長(zhǎng)的斗爭(zhēng)永遠(yuǎn)不會(huì)停止,這門科學(xué)還在發(fā)展之中。10.2.1經(jīng)典加密技術(shù)所謂經(jīng)典加密方法主要是使用了三種加密技術(shù):

(1)替換加密(substitution):用一個(gè)字母替換另一個(gè)字母,例如凱撒(Caesar)密碼是用D替換a,用E替換b……。這種方法保留了明文的順序,可根據(jù)自然語(yǔ)言的統(tǒng)計(jì)特性(例如字母出現(xiàn)的頻率)進(jìn)行破譯。

(2)換位加密(transposition):按照一定的規(guī)律重排字母順序。例如以CIPHER作為密鑰(僅表示順序),對(duì)明文attackbeginsatfour加密,得到密文abacnuaiotettgfksr,如圖10-1所示。偷聽者得到密文后檢查字母出現(xiàn)的頻率即可確定加密方法是換位密碼,然后若能根據(jù)其他情況猜測(cè)出一段明文,就可確定密鑰的列數(shù),再重排密文的順序來(lái)進(jìn)行破譯。圖10-1換位加密的例

(3)一次性填充(one-timepad):把明文變?yōu)楸忍卮?例如用ASCII編碼),選擇一個(gè)等長(zhǎng)的隨機(jī)比特串作為密鑰,對(duì)二者進(jìn)行按位異或,得到密文。這樣的密碼理論上是不可破解的,但是這種密碼有實(shí)際的缺陷。首先是密鑰無(wú)法記憶,必須寫在紙上,這在實(shí)踐上是最不可取的;其次是密鑰長(zhǎng)度有限,有時(shí)可能不夠使用;最后是這個(gè)方法對(duì)插入或丟失字符的敏感性,如果發(fā)送者與接收者在某一點(diǎn)上失去同步,以后的報(bào)文全都無(wú)用了。10.2.2信息加密原理現(xiàn)代加密技術(shù)主要依賴于加密算法和密鑰這兩個(gè)要素。一般的保密通信模型如圖10-2所示。在發(fā)送端,把明文P用加密算法E和密鑰K加密,變換成密文C,即

C?=?E(K,P)在接收端利用解密算法D和密鑰K對(duì)C解密得到明文P,即

P=?D(K,C)這里加/解密函數(shù)E和D是公開的,而密鑰K(加解密函數(shù)的參數(shù))是秘密的。在傳送過(guò)程中偷聽者得到的是無(wú)法理解的密文,而他/她又得不到密鑰,這就達(dá)到了對(duì)第三者保密的目的。圖10-2保密通信模型如果不論偷聽者獲取了多少密文,但是密文中沒(méi)有足夠的信息,使得可以確定對(duì)應(yīng)的明文,則這種密碼體制是無(wú)條件安全的,或稱為是理論上不可破解的。在無(wú)任何限制的條件下,幾乎目前所有的密碼體制都不是理論上不可破解的。能否破解給定的密碼,取決于可使用的計(jì)算資源和其他非技術(shù)手段,所以密碼專家們研究的核心問(wèn)題就是要設(shè)計(jì)出在給定計(jì)算費(fèi)用的條件下,計(jì)算上(而不是理論上)安全的密碼體制。各種加密方法的核心思想都是利用替換和換位機(jī)制把原來(lái)表示信息的明文充分弄亂,使得第三者無(wú)法理解。替換和換位機(jī)制可以用簡(jiǎn)單的電路來(lái)實(shí)現(xiàn)。圖10-3(a)所示的設(shè)備稱為P盒(Permutationbox),用于改變8位輸入線的排列順序,可以看出,左邊輸入端經(jīng)P盒變換后的輸出順序?yàn)?6071245。圖10-3(b)所示的設(shè)備稱為S盒(Substitutionbox),起到了置換的作用,從左邊輸入的3bit首先被解碼,選擇8根P盒輸入中的1根,將其置1,其他線置0,經(jīng)編碼后在右邊輸出,可以看出,如果01234567依次輸入,其輸出為24506713。把一串盒子連接起來(lái),可以實(shí)現(xiàn)復(fù)雜的乘積密碼(Priductcipher),如圖10-3(c)所示,它可以對(duì)12比特進(jìn)行有效的置換。P1的輸入有12根線,P1的輸出有212?=?4096根線,由于第二級(jí)使用了4個(gè)S盒,所以每個(gè)S的輸入只有1024根線,這就簡(jiǎn)化了S盒的復(fù)雜性。在乘積密碼中配置足夠多的設(shè)備,可以實(shí)現(xiàn)非常復(fù)雜的置換函數(shù),下面介紹的DES算法就是用類似的方法實(shí)現(xiàn)的。圖10-3乘積密碼的實(shí)現(xiàn)10.2.3現(xiàn)代加密技術(shù)現(xiàn)代密碼體制采用復(fù)雜的加密算法和簡(jiǎn)單的密鑰,而且增加了對(duì)付主動(dòng)攻擊的手段,例如加入隨機(jī)的冗余信息,以防止制造假消息;加入時(shí)間控制信息,以防止舊消息重放。

1.?DES

1977年1月NSA(NationalSecurityAgency)根據(jù)IBM的專利技術(shù)Lucifer制定了數(shù)據(jù)加密標(biāo)準(zhǔn)DES(DataEncryptionStandard)。明文被分成64位的塊,對(duì)每個(gè)塊進(jìn)行19次變換(替代和換位),其中16次變換由56位的密鑰的不同排列形式控制(IBM使用的是128位的密鑰),最后產(chǎn)生64位的密文塊。如圖10-4所示。圖10-4DES加密算法由于NSA減少了密鑰,而且對(duì)DES的制定過(guò)程保密,甚至為此取消了IEEE計(jì)劃的一次密碼學(xué)會(huì)議,人們懷疑NSA的目的是保護(hù)自己的解密技術(shù)。因而對(duì)DES從一開始就充滿了懷疑和爭(zhēng)論。

1977年Diffie和Hellman設(shè)計(jì)了DES解密機(jī)。只要知道一小段明文和對(duì)應(yīng)的密文,該機(jī)器可以在一天之內(nèi)窮試256種不同的密鑰(這叫做窮舉攻擊),這個(gè)機(jī)器估計(jì)當(dāng)時(shí)的造價(jià)為2千萬(wàn)美元,同樣的機(jī)器今天的造價(jià)是1百萬(wàn)美元,4個(gè)小時(shí)就可完成同樣的工作。

2.三重DES這種方法是DES的改進(jìn)算法,它使用兩把密鑰對(duì)報(bào)文作三次DES加密,其效果相當(dāng)于將DES密鑰的長(zhǎng)度加倍,克服了DES密鑰長(zhǎng)度較短的缺點(diǎn)。本來(lái)應(yīng)該使用三個(gè)不同的密鑰進(jìn)行三次加密,這樣就可以把密鑰的長(zhǎng)度加長(zhǎng)到3?×?56?=?168位。但許多密碼設(shè)計(jì)者認(rèn)為168位的密鑰已經(jīng)超過(guò)實(shí)際需要了,所以在第一層和第三層中使用相同的密鑰,產(chǎn)生一個(gè)有效長(zhǎng)度為112位的密鑰。之所以沒(méi)有采用兩重DES,是因?yàn)榈诙覦ES不是十分安全,它對(duì)“中間可遇”的密碼分析攻擊極為脆弱,所以最終采用了通過(guò)兩個(gè)密鑰進(jìn)行三重DES加密操作的方案。假設(shè)兩個(gè)密鑰分別是K1和K2,其算法的步驟如下:

(1)用密鑰K1進(jìn)行DES加密;

(2)用K2對(duì)步驟(1)的結(jié)果進(jìn)行DES解密;

(3)對(duì)步驟(2)的結(jié)果使用密鑰K1進(jìn)行DES加密。

這種方法的缺點(diǎn)是要花費(fèi)原來(lái)三倍的時(shí)間,但從另一方面來(lái)看,三重DES的112位密鑰長(zhǎng)度是足夠“強(qiáng)壯”的加密方式。

3.?IDEA

1990年瑞士聯(lián)邦技術(shù)學(xué)院的來(lái)學(xué)嘉和Massey建議了一種新的加密算法IDEA(InternationalDataEncryptionAlgorithm),這種算法使用128位的密鑰,把明文分成64位的塊,進(jìn)行8輪迭代加密。IDEA可以用硬件或軟件實(shí)現(xiàn),并且比DES快,在蘇黎世技術(shù)學(xué)院用25MHz的VLSI芯片,加密速率是177Mb/s。IDEA經(jīng)歷了大量的詳細(xì)審查,對(duì)密碼分析具有很強(qiáng)的抵抗能力,在多種商業(yè)產(chǎn)品中得到應(yīng)用,已經(jīng)成為全球通用的加密標(biāo)準(zhǔn)。

4.高級(jí)加密標(biāo)準(zhǔn)AES

1997年1月,美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)局(NIST)為高級(jí)加密標(biāo)準(zhǔn)(AdvancedEncryptionStandard,AES)征集新算法。最初從許多響應(yīng)者中挑選了15個(gè)候選算法,經(jīng)過(guò)了世界密碼共同體的分析,選出了其中的5個(gè)。經(jīng)過(guò)用ANSIC和Java語(yǔ)言對(duì)5個(gè)算法的加/解密速度、密鑰和算法的安裝時(shí)間以及對(duì)各種攻擊的攔截程度等進(jìn)行了廣泛的測(cè)試后,2000年10月,NIST宣布Rijndael算法為AES的最佳候選算法,并于2002年5月26日發(fā)布了正式的AES加密標(biāo)準(zhǔn)。

AES支持128、192和256位3種密鑰長(zhǎng)度,能夠在世界范圍內(nèi)免版稅使用,提供的安全級(jí)別足以保護(hù)未來(lái)20至30年內(nèi)的數(shù)據(jù),它可以通過(guò)軟件或硬件實(shí)現(xiàn)。

5.流加密算法和RC4所謂流加密就是將數(shù)據(jù)流與密鑰生成的二進(jìn)制比特流進(jìn)行異或運(yùn)算的加密過(guò)程。這種算法采用兩個(gè)步驟:

(1)利用密鑰K生成一個(gè)密鑰流KS(偽隨機(jī)序列);

(2)用密鑰流KS與明文P進(jìn)行“異或”運(yùn)算,產(chǎn)生密文C解密過(guò)程則是用密鑰流與密文C進(jìn)行“異或”運(yùn)算,產(chǎn)生明文P為了安全起見(jiàn),對(duì)不同的明文必須使用不同的密鑰流,否則容易被破解。

RonaldL.Rivest是MIT的教授,用他的名字命名的流加密算法有RC2~RC6系列算法,其中RC4是最常用的。RC代表“RivestCipher”或“Ron’sCipher”,RC4是Rivest在1987年設(shè)計(jì)的,其密鑰長(zhǎng)度可選擇64位或128位。

RC4是RSA公司的商業(yè)機(jī)密,1994年9月,被人匿名發(fā)布在互聯(lián)網(wǎng)上,從此得以公開。這個(gè)算法非常簡(jiǎn)單,就是256內(nèi)的加法、置換和異或運(yùn)算。由于簡(jiǎn)單,所以速度極快,其加密的速度可達(dá)到DES的10倍。

.公鑰加密算法以上加密算法中使用的加密密鑰和解密密鑰是相同的。1976年斯坦福大學(xué)的Diffie和Hellman提出了使用不同的密鑰進(jìn)行加密和解密的公鑰加密算法。設(shè)P為明文,C為密文,E為公鑰控制的加密算法,D為私鑰控制的解密算法,這些參數(shù)滿足下列三個(gè)條件:

(1)?D(E(P))=P;

(2)不能由E導(dǎo)出D;

(3)選擇明文攻擊不能破解E。加密時(shí)計(jì)算C?=?E(P),解密時(shí)計(jì)算P?=?D(C)。加密和解密是互逆的,用公鑰加密,私鑰解密,可實(shí)現(xiàn)保密通信;用私鑰加密,公鑰解密,可實(shí)現(xiàn)數(shù)字簽名。

RSA算法是由Rivest、Shamir和Adleman在1978年提出的公鑰加密算法,并以3人的名字命名。這種方法是按照下面的要求選擇公鑰和密鑰:

(1)選擇兩個(gè)大素?cái)?shù)p和q(大于10100);

(2)令n?=?p*q和z?=?(p?-?1)*(q?-?1);

(3)選擇d與z互質(zhì);

4)選擇e,使e*d?=?1(modz)。明文P被分成k位的塊,k是滿足2k<n的最大的整數(shù),于是有0≤P<n。加密時(shí)計(jì)算C?=?Pe(modn),這樣公鑰為(e,n)。解密時(shí)計(jì)算P?=?Cd(modn),即私鑰為(d,n)。我們用例子說(shuō)明這個(gè)算法。設(shè)p?=?3,q?=?11,n?=?33,z?=?20,d?=?7,e?=?3,C?=?P3(mod33),P?=?C7(mod33),則有C?=?23(mod33)?=?8(mod33)?=?8P?=?87(mod33)?=?2097152(mod33)?=?2

RSA算法的安全性是基于大素?cái)?shù)分解的困難性。攻擊者可以分解已知的n,得到p和q,然后可得到z;最后用Euclid算法,由e和z得到d。然而要分解200位的數(shù),需要40億年;分解500位的數(shù)則需要1025年。10.3認(rèn)證技術(shù)認(rèn)證又分為實(shí)體認(rèn)證和報(bào)文認(rèn)證。實(shí)體認(rèn)證是識(shí)別通信對(duì)方的身份,防止假冒,可以使用基于共享密鑰或基于公鑰的認(rèn)證方法,也可以使用數(shù)字簽名的方法。報(bào)文認(rèn)證是驗(yàn)證消息在傳送或存儲(chǔ)過(guò)程中有沒(méi)有被篡改,通常使用報(bào)文摘要的方法。10.3.1基于共享密鑰的認(rèn)證如果通信雙方有一個(gè)共享的密鑰,則可以確認(rèn)對(duì)方的真實(shí)身份。這種算法采用了密鑰分發(fā)中心KDC,如圖10-5所示。其中的A和B分別代表發(fā)送著和接收者,KA和KB分別表示A和B與KDC之間的共享密鑰。圖10-5基于共享密鑰的認(rèn)證認(rèn)證過(guò)程是這樣的,A向KDC發(fā)出消息{A,KA(B,KS)},說(shuō)明自己要和B通信,并指定了與B會(huì)話的密鑰KS。注意這個(gè)消息中的一部分(B,KS)是用KA加密了的,所以第三者不能了解消息的內(nèi)容。KDC解密后知道了A的意圖,然后就構(gòu)造了一個(gè)消息{KB(A,KS)}發(fā)給B,B用KB解密后就得到了A和KS,然后就可以與A用KS進(jìn)行會(huì)話了。然而,主動(dòng)攻擊者對(duì)這種認(rèn)證方式可能進(jìn)行重放攻擊。例如A代表顧主,B代表銀行,第三者C為A工作,通過(guò)銀行轉(zhuǎn)帳取得報(bào)酬。如果C為A工作了一次,得到了一次報(bào)酬,并偷聽和拷貝了A和B之間就轉(zhuǎn)帳問(wèn)題交換的報(bào)文,那么貪婪的C就可以按照原來(lái)的次序向銀行重發(fā)報(bào)文2,冒充A與B之間的會(huì)話,以便得到第二次、第三次……報(bào)酬。在重放攻擊中攻擊者不需要知道會(huì)話密鑰KS,只要能猜測(cè)密文的內(nèi)容對(duì)自己有利或是無(wú)利就可以達(dá)到攻擊的目的。10.3.2基于公鑰算法的認(rèn)證這種認(rèn)證協(xié)議如圖10-6所示。A給B發(fā)出EB(A,RA),該報(bào)文用B的公鑰加密;B返回EA(RA,RB,KS),用A的公鑰加密。這兩個(gè)報(bào)文中分別有A和B指定的隨機(jī)數(shù)RA和RB,因此能排除重放的可能性。通信雙方都用對(duì)方的公鑰加密,用各自的私鑰解密,所以應(yīng)答比較簡(jiǎn)單,其中的KS是B指定的會(huì)話鍵。這個(gè)協(xié)議的缺陷是假定了雙方都知道對(duì)方的公鑰,但如果這個(gè)條件不成立呢?如果有一方的公鑰是假的呢?圖10-6基于公鑰算法的認(rèn)證10.3.3數(shù)字簽名與人們手寫簽名的作用一樣,數(shù)字簽名系統(tǒng)向通信雙方提供服務(wù),使得A向B發(fā)送簽名的消息P,以便

(1)?B可以驗(yàn)證消息P確實(shí)來(lái)源于A;

(2)?A以后不能否認(rèn)發(fā)送過(guò)P;

(3)?B不能編造或改變消息P。下面介紹兩種數(shù)字簽名系統(tǒng)。

1.基于密鑰的數(shù)字簽名這種系統(tǒng)如圖10-7所示。設(shè)BB是A和B共同信賴的仲裁人,KA和KB分別是A和B與BB之間的密鑰,而KBB是只有BB掌握的密鑰,P是A發(fā)給B的消息,t是時(shí)間戳。BB解讀了A的報(bào)文{A,KA(B,RA,t,P)}以后產(chǎn)生了一個(gè)簽名的消息KBB(A,t,P),并裝配成發(fā)給B的報(bào)文{KB(A,RA,t,P,KBB(A,t,P))}。B可以解密該報(bào)文,閱讀消息P,并保留證據(jù)KBB(A,t,P)。由于A和B之間的通信是通過(guò)中間人BB的,所以不必懷疑對(duì)方的身份。又由于證據(jù)KBB(A,t,P)的存在,A不能否認(rèn)發(fā)送過(guò)消息P,B也不能改變得到的消息P,因?yàn)锽B仲裁時(shí)可能會(huì)當(dāng)場(chǎng)解密KBB(A,t,P),得到發(fā)送人、發(fā)送時(shí)間和原來(lái)的消息P。圖10-7基于密鑰的數(shù)字簽名

2.基于公鑰的數(shù)字簽名利用公鑰加密算法的數(shù)字簽名系統(tǒng)如圖10-8所示。如果A方否認(rèn)了,B可以拿出DA(P),并用A的公鑰EA解密得到P,從而證明P是A發(fā)送的;如果B把消息P篡改了,當(dāng)A要求B出示原來(lái)的DA(P)時(shí),B拿不出來(lái)。圖10-8基于公鑰的數(shù)字簽名10.3.4報(bào)文摘要用于差錯(cuò)控制的報(bào)文校驗(yàn)碼是根據(jù)冗余位檢查報(bào)文是否受到信道干擾的影響,與之類似的報(bào)文摘要方案是計(jì)算密碼檢查和,即固定長(zhǎng)度的認(rèn)證碼,附加在消息后面發(fā)送,根據(jù)認(rèn)證碼檢查報(bào)文是否被篡改。設(shè)M是可變長(zhǎng)的報(bào)文,K是發(fā)送者和接收者共享的密鑰,令MD?=?CK(M),這就是算出的報(bào)文摘要(MessageDigest),如圖10-9所示。圖10-9報(bào)文摘要方案通常的實(shí)現(xiàn)方案是對(duì)任意長(zhǎng)的明文M進(jìn)行單向Hash變換,計(jì)算固定長(zhǎng)度的比特串,作為報(bào)文摘要。對(duì)Hash函數(shù)h?=?H(M)的要求如下:

(1)可用于任意大小的數(shù)據(jù)塊;

(2)能產(chǎn)生固定大小的輸出;

(3)軟/硬件容易實(shí)現(xiàn);

(4)對(duì)于任意m,找出x,滿足H(x)?=?m,是不可計(jì)算的;

(5)對(duì)于任意x,找出y?≠?x,使得H(x)?=?H(y),是不可計(jì)算的;

(6)找出(x,y),使得H(x)?=?H(y),是不可計(jì)算的。前3項(xiàng)要求顯而易見(jiàn)是實(shí)際應(yīng)用和實(shí)現(xiàn)的需要。第4項(xiàng)要求就是所謂的單向性,這個(gè)條件使得攻擊者不能由偷聽到的m得到原來(lái)的x。第5項(xiàng)要求是為了防止偽造攻擊,使得攻擊者不能用自己制造的假消息y冒充原來(lái)的消息x。第6項(xiàng)要求是為了對(duì)付生日攻擊的。

1.?MD5算法使用最廣的報(bào)文摘要算法是MD5,這是RonRivest設(shè)計(jì)的一系列Hash函數(shù)中的第5個(gè)。其基本思想就是用足夠復(fù)雜的方法把報(bào)文比特充分“弄亂”,使得每一個(gè)輸出比特都受到每一個(gè)輸入比特的影響。具體的操作分成下列步驟:

(1)分組和填充:把明文報(bào)文按512位分組,最后要填充一定長(zhǎng)度的1000…,使得報(bào)文長(zhǎng)度?=?448(mod512)

(2)附加:最后加上64bit的報(bào)文長(zhǎng)度字段,整個(gè)明文恰好為512的整數(shù)倍

(3)初始化:置4個(gè)32bit長(zhǎng)的緩沖區(qū)ABCD分別為

A?=?01234567B?=?89ABCDEFC?=?FEDCBA98D?=?76543210

(4)處理:用4個(gè)不同的基本邏輯函數(shù)(F,G,H,I)進(jìn)行4輪處理,每一輪以ABCD和當(dāng)前的512位的塊為輸入,處理后送入ABCD(128位)。產(chǎn)生128位的報(bào)文摘要,參見(jiàn)圖10-10。圖10-10MD5的處理過(guò)程關(guān)于MD5的安全性可以解釋如下。由于算法的單向性,所以求具有相同Hush值的兩個(gè)不同報(bào)文是不可計(jì)算的。如果采用強(qiáng)力攻擊,尋找具有給定Hush值的報(bào)文的計(jì)算復(fù)雜性為2128,若每秒試驗(yàn)10億個(gè)報(bào)文,需要1.07*1022年;采用生日攻擊法(見(jiàn)生日悖論),尋找有相同Hush值兩個(gè)報(bào)文的計(jì)算復(fù)雜性為264,用同樣的計(jì)算機(jī),需要585年。從實(shí)用性考慮,MD5用32位軟件可高速實(shí)現(xiàn),所以有廣泛應(yīng)用。

2.安全散列算法安全散列算法(TheSecureHashAlgorithm,SHA)由美國(guó)國(guó)家標(biāo)準(zhǔn)和技術(shù)協(xié)會(huì)(NationalInstituteofStandardsandTechnology,NIST)于1993年提出,并被定義為安全散列標(biāo)準(zhǔn)(SecureHashStandard,SHS)。SHA-1是1994年修訂的版本,糾正了SHA一個(gè)未公布的缺陷。這種算法接受的輸入報(bào)文小于264位,產(chǎn)生160位的報(bào)文摘要。該算法設(shè)計(jì)的目標(biāo)是使得找出一個(gè)能夠匹配給定的散列值的文本實(shí)際是不可能計(jì)算的。也就是說(shuō),如果對(duì)文檔A已經(jīng)計(jì)算出了散列值H(A),那么很難到一個(gè)文檔B,使其散列值H(B)?=?H(A),尤其困難的是無(wú)法找到滿足上述條件的、而且又是指定內(nèi)容的文檔B。SHA算法的缺點(diǎn)是速度比MD5慢,但是SHA的報(bào)文摘要更長(zhǎng),更有利于對(duì)抗野蠻攻擊。10.4數(shù)字證書與密鑰管理10.4.1X.509數(shù)字證書數(shù)字證書是各類終端實(shí)體和最終用戶在網(wǎng)上進(jìn)行信息交流及商務(wù)活動(dòng)的身份證明,在電子交易的各個(gè)環(huán)節(jié),交易的各方都需驗(yàn)證對(duì)方數(shù)字證書的有效性,從而取得互相信任。數(shù)字證書采用公鑰體制,每個(gè)用戶具有一個(gè)僅為本人所知的私鑰,用它進(jìn)行解密和簽名,同時(shí)具有一個(gè)公鑰,并通過(guò)數(shù)字證書公開發(fā)布,為一組用戶所共享,用于加密和認(rèn)證。數(shù)字證書中還包括密鑰的有效時(shí)間、發(fā)證機(jī)構(gòu)的名稱、證書的序列號(hào)等信息。數(shù)字證書的格式遵循ITU-TX.509國(guó)際標(biāo)準(zhǔn)。

用戶的數(shù)字證書由某個(gè)可信的的證書發(fā)放機(jī)構(gòu)(CertificationAuthority,CA)建立,并由CA或用戶將其放入公共目錄中,供其他用戶訪問(wèn)。目錄服務(wù)器(LDAP)本身并不負(fù)責(zé)為用戶創(chuàng)建數(shù)字證書,其作用僅僅是為用戶訪問(wèn)數(shù)字證書提供方便。在X.509標(biāo)準(zhǔn)中,數(shù)字證書包含的數(shù)據(jù)域有:

(1)版本號(hào):用于區(qū)分X.509的不同版本。

(2)序列號(hào):由同一發(fā)行者(CA)發(fā)放的每個(gè)證書的序列號(hào)是唯一的。

(3)簽名算法:簽署證書所用的算法及其參數(shù)。

(4)發(fā)行者:指建立和簽署證書的CA的名字。

(5)有效期:包含證書有效期限的起止時(shí)間。

(6)主體名:指證書持有者的名稱及有關(guān)信息。

(7)公鑰:有效的公鑰以及其使用方法。

(8)發(fā)行者ID:任選的名字唯一地標(biāo)識(shí)證書的發(fā)行者。

(9)主體ID:任選的名字唯一地標(biāo)識(shí)證書的持有者。

(10)擴(kuò)展域:添加的擴(kuò)充信息。

(11)認(rèn)證機(jī)構(gòu)的簽名:用CA私鑰對(duì)證書進(jìn)行簽名。10.4.2數(shù)字證書的獲取

CA為用戶產(chǎn)生的證書應(yīng)有以下特性:

(1)只要得到CA的公鑰,就能由此得到CA為用戶簽署的公鑰。

(2)除CA外,其他人不能以不被察覺(jué)的方式修改證書的內(nèi)容。因?yàn)樽C書是不可偽造的,因此無(wú)需對(duì)存放證書的目錄施加特別的保護(hù)。如果所有用戶都由同一CA簽署證書,則這一CA就必須取得所有用戶的信任。用戶證書除了能放在公共目錄中供他人訪問(wèn)外,還可以由用戶直接把證書轉(zhuǎn)發(fā)給其他用戶。用戶B得到A的證書后,可相信用A的公鑰加密的消息不會(huì)被他人獲悉,也可信任用A的私鑰簽署的消息不是偽造的。如果用戶數(shù)量很多,僅一個(gè)CA負(fù)責(zé)為所有用戶簽署證書就是不可能的,通常應(yīng)有多個(gè)CA,每個(gè)CA為一部分用戶發(fā)行和簽署證書。設(shè)用戶A從證書發(fā)放機(jī)構(gòu)X1處獲取了證書,用戶B從X2處獲取了證書。如果A不知X2的公鑰,他雖然能讀取B的證書,但卻無(wú)法驗(yàn)證用戶B證書中X2的簽名,因此B的證書對(duì)A是沒(méi)有用處的。然而,如果兩個(gè)證書發(fā)放機(jī)構(gòu)X1和X2彼此間已經(jīng)安全地交換了公開密鑰,則A可通過(guò)以下過(guò)程獲取B的公開密鑰:

(1)?A從目錄中獲取由X1簽署的X2的證書X1《X2》,因?yàn)锳知道X1的公開密鑰,所以能驗(yàn)證X2的證書,并從中得到X2的公開密鑰。

(2)?A再?gòu)哪夸浿蝎@取由X2簽署的B的證書X2《B》,并通過(guò)X2的公開密鑰對(duì)此加以驗(yàn)證,然后從中得到B的公開密鑰。以上過(guò)程中,A是通過(guò)一個(gè)證書鏈來(lái)獲取B的公開密鑰的,該證書鏈可表示為

X1《X2》X2《B》類似地,B能通過(guò)相反的證書鏈獲取A的公開密鑰,可表示為

X2《X1》X1《A》以上證書鏈中只涉及兩個(gè)證書。同樣,N個(gè)證書的鏈可表示為

X1《X2》X2《X3》……XN《B》這時(shí),任意兩個(gè)相鄰的CAXi和Xi+1已彼此為對(duì)方建立了證書,對(duì)每一CA來(lái)說(shuō),由其他CA為其建立的所有證書都應(yīng)存放于目錄中,并使得用戶知道所有證書相互之間的連接關(guān)系,從而可獲取另一用戶的公鑰證書。X.509建議將所有CA以層次結(jié)構(gòu)組織起來(lái),用戶A可從目錄中得到相應(yīng)的證書以建立到B的以下證書鏈:

X《W》W《V》V《U》U《Y》Y《Z》Z《B》并通過(guò)該證書鏈獲取B的公開密鑰。類似地,B可建立以下證書鏈以獲取A的公開密鑰:

X《W》W《V》V《U》U《Y》Y《Z》Z《A》10.4.3數(shù)字證書的吊銷從證書格式上可以看到,每一證書都有一個(gè)有效期,然而有些證書還未到截至日期就會(huì)被發(fā)放該證書的CA吊銷,這可能是由于用戶的私鑰已被泄漏,或者該用戶不再由該CA來(lái)認(rèn)證,或者CA為該用戶簽署證書的私鑰已經(jīng)泄漏。為此,每個(gè)CA還必須維護(hù)一個(gè)證書吊銷列表CRL(CertificateRevocationList),其中存放所有未到期而被提前吊銷的證書,CRL必須由該CA簽字,然后存放于目錄中以供查詢。

CRL中的數(shù)據(jù)域包括發(fā)行者CA的名稱、建立CRL的日期、計(jì)劃公布下一CRL的日期以及每一個(gè)被吊銷的證書數(shù)據(jù)域(該證書的序列號(hào)和被吊銷的日期)。每個(gè)用戶收到他人消息中的證書時(shí),必須通過(guò)目錄檢查這一證書是否已經(jīng)被吊銷。為避免搜索目錄引起的延遲以及因此而增加的費(fèi)用,用戶自己也可維護(hù)一個(gè)有效證書和被吊銷證書的局部緩存區(qū)。10.4.4密鑰管理密鑰是加密算法中的可變部分,在采用加密技術(shù)保護(hù)的信息系統(tǒng)中,其安全性取決于對(duì)密鑰的保護(hù),而不是對(duì)算法或硬件的保護(hù)。密碼體制可以公開,密碼設(shè)備可能丟失,但同一型號(hào)的密碼機(jī)仍可繼續(xù)使用。然而密鑰一旦丟失或出錯(cuò),不但合法用戶不能提取信息,而且還可能使非法用戶竊取機(jī)密信息。對(duì)密鑰的威脅有:

(1)私鑰的泄露;

(2)私鑰或公鑰的真實(shí)性(Authenticity)喪失;

(3)私鑰或公鑰未經(jīng)授權(quán)使用,例如使用失效的密鑰或違例使用密鑰。因此,密鑰的管理是信息安全中的關(guān)鍵問(wèn)題。密鑰管理涉及從密鑰的產(chǎn)生到最終銷毀的整個(gè)過(guò)程中的各種有關(guān)問(wèn)題,包括系統(tǒng)的初始化,密鑰的產(chǎn)生、存儲(chǔ)、備份、恢復(fù)、裝入、分配、保護(hù)、更新、控制、丟失、吊銷和銷毀等。美國(guó)信息保障技術(shù)框架(InformationAssuranceTechnicalFramework,IATF)定義的密鑰管理體制主要有以下兩種。

1.密鑰管理基礎(chǔ)結(jié)構(gòu)在密鑰管理基礎(chǔ)結(jié)構(gòu)(KeyManagementInfrastructure,KMI)中,假定有一個(gè)密鑰分發(fā)中心(KDC),由其負(fù)責(zé)向用戶發(fā)放密鑰。這種結(jié)構(gòu)經(jīng)歷了從靜態(tài)分發(fā)到動(dòng)態(tài)分發(fā)的發(fā)展過(guò)程,目前仍然是密鑰管理的主要手段。無(wú)論是靜態(tài)分發(fā)或是動(dòng)態(tài)分發(fā),都是基于秘密的物理通道進(jìn)行的。

1)靜態(tài)分發(fā)靜態(tài)分發(fā)就是預(yù)分配技術(shù),大致有以下幾種。

(1)點(diǎn)對(duì)點(diǎn)配置:可實(shí)現(xiàn)單鑰或雙鑰的分發(fā)。單鑰分發(fā)就是通過(guò)秘密的物理通道分配密鑰,是最簡(jiǎn)單而有效的密鑰管理技術(shù)。秘密分配的單鑰可用于身份認(rèn)證,但無(wú)法提供不可否認(rèn)服務(wù),有數(shù)字簽名需求時(shí)則用雙鑰實(shí)現(xiàn)。

(2)一對(duì)多配置:可用于實(shí)現(xiàn)單鑰或雙鑰的分發(fā),是點(diǎn)對(duì)點(diǎn)分發(fā)的擴(kuò)展,在密鑰分發(fā)中心保留所有的密鑰,而各個(gè)用戶只保留自己的密鑰。一對(duì)多的密鑰分發(fā)在銀行清算、軍事指揮、數(shù)據(jù)庫(kù)系統(tǒng)中仍為主流技術(shù),是建立秘密通道的主要方法。

(3)格狀網(wǎng)配置:可以用單鑰實(shí)現(xiàn),也可以用雙鑰實(shí)現(xiàn)。格狀網(wǎng)的密鑰配置量為全網(wǎng)n個(gè)終端用戶中選2的組合數(shù)。Kerberos曾安排過(guò)25萬(wàn)個(gè)用戶的密鑰。格狀網(wǎng)一般都要求提供數(shù)字簽名服務(wù),因此多數(shù)用雙鑰實(shí)現(xiàn),各端保留自己的私鑰和所有終端的公鑰,如果用戶量為25萬(wàn)個(gè),則每個(gè)終端用戶要保留25萬(wàn)個(gè)公鑰。

2)動(dòng)態(tài)分發(fā)動(dòng)態(tài)分發(fā)采用“請(qǐng)求—分發(fā)”機(jī)制,是與物理分發(fā)相對(duì)應(yīng)的電子分發(fā),在秘密通道的基礎(chǔ)上進(jìn)行,一般用于建立實(shí)時(shí)通信中的會(huì)話密鑰,在一定意義上緩解了密鑰管理規(guī)模化的矛盾。動(dòng)態(tài)分發(fā)有以下幾種形式:

(1)基于單鑰的單鑰分發(fā):在用單密鑰實(shí)現(xiàn)時(shí),首先在靜態(tài)分發(fā)方式下建立星狀密鑰配置,在此基礎(chǔ)上解決會(huì)話密鑰的分發(fā)。這種密鑰分發(fā)方式簡(jiǎn)單易行。

(2)基于單鑰的雙鑰分發(fā):在雙鑰體制下,可以將公私鑰都當(dāng)作秘密變量,也可以將公、私鑰分開,只把私鑰當(dāng)作秘密變量,公鑰當(dāng)作公開變量。盡管將公鑰當(dāng)作公開變量,但仍然存在被假冒或篡改的可能性,因此需要有一種公鑰傳遞協(xié)議,以證明其真實(shí)性。基于單鑰的公鑰分發(fā)的前提是密鑰分發(fā)中心(C)和各終端用戶(A、B)之間已存在單鑰的星狀配置,分發(fā)過(guò)程如下:①?A→C:申請(qǐng)B的公鑰,包含A的時(shí)間戳;②?C→A:將B的公鑰用單密鑰加密發(fā)送,包含A的時(shí)間戳;③?A→B:用B的公鑰加密A的身份標(biāo)識(shí)和會(huì)話序號(hào)N1;④?B→C:申請(qǐng)A的公鑰,包含B的時(shí)間戳;⑤?C→B:將A的公鑰用單密鑰加密發(fā)送,包含B的時(shí)間戳;⑥?B→A:用A的公鑰加密A的會(huì)話序號(hào)N1和B的會(huì)話序號(hào)N2;⑦?A→B:用B的公鑰加密N2,以確認(rèn)會(huì)話建立。

2.公鑰基礎(chǔ)結(jié)構(gòu)

在密鑰管理中,不依賴秘密信道的密鑰分發(fā)技術(shù)一直是個(gè)難題。1976年,Deffie和Hellman提出了雙鑰密碼體制和D-H密鑰交換協(xié)議,大大促進(jìn)了這一領(lǐng)域的發(fā)展進(jìn)程。但是,在雙鑰體制中只是有了公私鑰的概念,私鑰的分發(fā)仍然依賴于秘密通道。1991年,PGP首先提出了“WebofTrust”的信任模型和密鑰由個(gè)人產(chǎn)生的思路,避免了私鑰的傳遞,從而避開了秘密通道,推動(dòng)了PKI技術(shù)的發(fā)展。公鑰基礎(chǔ)結(jié)構(gòu)(PublicKeyInfrastructure,PKI)是運(yùn)用公鑰的概念和技術(shù)來(lái)提供安全服務(wù)的基礎(chǔ)設(shè)施,包括由PKI策略、軟硬件系統(tǒng)、認(rèn)證中心、注冊(cè)機(jī)構(gòu)、證書簽發(fā)系統(tǒng)和PKI應(yīng)用等構(gòu)成的安全體系,如圖10-11所示。圖10-11PKI的組成

PKI策略定義了信息安全的指導(dǎo)方針和密碼系統(tǒng)的使用規(guī)則,具體內(nèi)容包括CA之間的信任關(guān)系、遵循的技術(shù)標(biāo)準(zhǔn)、安全策略、服務(wù)對(duì)象、管理框架、認(rèn)證規(guī)則、運(yùn)作制度及涉及的法律關(guān)系等;軟硬件系統(tǒng)是PKI運(yùn)行的平臺(tái),包括認(rèn)證服務(wù)器、目錄服務(wù)器(LDAP)等;CA負(fù)責(zé)密鑰的生成和分配;注冊(cè)機(jī)構(gòu)RA(RegistrationAuthority)是用戶(subscriber)與CA之間的接口,負(fù)責(zé)對(duì)用戶的認(rèn)證;證書簽發(fā)系統(tǒng)負(fù)責(zé)數(shù)字證書的分發(fā),可以由用戶自己或通過(guò)目錄服務(wù)器進(jìn)行發(fā)放。PKI的應(yīng)用非常廣泛,包括Web通信、電子郵件、電子數(shù)據(jù)交換、電子商務(wù)、網(wǎng)上信用卡交易、虛擬專用網(wǎng)等都是PKI潛在的應(yīng)用領(lǐng)域。

3.?KMI和PKI的應(yīng)用

1990年代以來(lái),PKI技術(shù)逐漸得到了各國(guó)政府和許多企業(yè)的重視,由理論研究進(jìn)入商業(yè)應(yīng)用階段。IETF和ISO等國(guó)際組織陸續(xù)頒布了X.509、PKIX、PKCS、S/MIME、SSL、SET、IPsec、LDAP等一系列與PKI應(yīng)用有關(guān)的標(biāo)準(zhǔn),RSA和VeriSign等網(wǎng)絡(luò)安全公司紛紛推出了PKI產(chǎn)品和服務(wù),網(wǎng)絡(luò)設(shè)備制造商和軟件公司開始在網(wǎng)絡(luò)產(chǎn)品中增加PKI功能,美國(guó)、加拿大、韓國(guó)、日本和歐盟等國(guó)家相繼建立了PKI體系,銀行、證劵、保險(xiǎn)和電信等行業(yè)的用戶開始接受和使用PKI技術(shù)。

PKI解決了不依賴秘密信道進(jìn)行密鑰管理的重大課題,但這只是概念的轉(zhuǎn)變,并沒(méi)有多少新的技術(shù)含量。美國(guó)國(guó)防部(DoD)定義的KMI/PKI標(biāo)準(zhǔn)規(guī)定了用于管理公鑰證書和對(duì)稱密鑰的技術(shù)、服務(wù)和過(guò)程,KMI是提供信息保障能力的基礎(chǔ)架構(gòu),而PKI是KMI的主要組成部分,提供了生成、生產(chǎn)、分發(fā)、控制和跟蹤公鑰證書的服務(wù)框架。

KMI和PKI兩種密鑰管理體制各有其適用范圍。KMI的密鑰管理機(jī)制可形成各種封閉環(huán)境,可作為網(wǎng)絡(luò)隔離的邏輯手段,而PKI則適用于各種開放業(yè)務(wù),但卻不適應(yīng)封閉的專用業(yè)務(wù)和保密性業(yè)務(wù);KMI采用集中管理模式,為身份認(rèn)證提供直接信任和一級(jí)推理信任,但密鑰更換不靈活,PKI是依靠第三方的管理模式,只能提供一級(jí)以下推理信任,但密鑰更換非常靈活;KMI適用于保密網(wǎng)和專用網(wǎng),而PKI則適用于安全責(zé)任完全由個(gè)人或組織自行承擔(dān),安全風(fēng)險(xiǎn)不涉及他方利益的場(chǎng)合。目前流行的PKI公鑰設(shè)施解決了密鑰的規(guī)模化,但仍沒(méi)有徹底解決不依賴秘密通道的問(wèn)題,身份認(rèn)證過(guò)程(注冊(cè))還是通過(guò)面對(duì)面的物理通道來(lái)實(shí)現(xiàn)。一旦存在秘密的物理通道,就可以減少很多不必要的麻煩,但PKI沒(méi)有這樣做,將很多麻煩留給后面的應(yīng)用中,這是邏輯上的矛盾。

CA以離線方式分配密鑰,將公鑰與證書綁定在一起。由于證書必須經(jīng)過(guò)CA驗(yàn)證,因此LDAP目錄庫(kù)必須一直在線運(yùn)行,維護(hù)工作量很大,運(yùn)營(yíng)費(fèi)用很高,并且成為網(wǎng)絡(luò)攻擊的對(duì)象,增加了網(wǎng)絡(luò)安全的隱患。在PKI體制下CA必須采用多層結(jié)構(gòu),這就要求信任是可傳遞的:若A信任B,B信任C,那么A就可以信任C。然而,這種傳遞的信任關(guān)系在現(xiàn)實(shí)世界中是不可靠的,這是多層信任模型具有的先天性缺陷。隨著應(yīng)用的推廣,PKI的缺陷越發(fā)突出。PKI不僅建設(shè)成本高,而且維護(hù)費(fèi)用也高,同時(shí)CA的權(quán)威性也開始受到越來(lái)越多的質(zhì)疑。10.5虛?擬?專?用?網(wǎng)10.5.1虛擬專用網(wǎng)工作原理所謂虛擬專用網(wǎng)(VirtualPrivateNetwork,VPN)就是建立在公用網(wǎng)絡(luò)上的、由某一組織或某一群用戶專用的通信網(wǎng)絡(luò),其虛擬性表現(xiàn)在任意一對(duì)VPN用戶之間沒(méi)有專用的物理連接,而是通過(guò)ISP提供的公用網(wǎng)絡(luò)進(jìn)行通信的;其專用性表現(xiàn)在VPN之外的用戶無(wú)法訪問(wèn)VPN內(nèi)部的網(wǎng)絡(luò)資源,VPN內(nèi)部用戶之間可以實(shí)現(xiàn)安全通信;我們這里講的VPN是指在Internet上建立的、由用戶(組織或個(gè)人)自行管理的VPN,而不涉及一般電信網(wǎng)中的VPN,后者一般是指X.25、幀中繼或ATM虛擬專用線路。

Internet本質(zhì)上是一個(gè)開放的網(wǎng)絡(luò),沒(méi)有任何安全措施可言。隨著Internet應(yīng)用的擴(kuò)展,很多要求安全和保密的業(yè)務(wù)需要通過(guò)Internet實(shí)現(xiàn),這一需求促進(jìn)了VPN技術(shù)的發(fā)展,各個(gè)國(guó)際組織和企業(yè)都在研究和開發(fā)VPN的理論、技術(shù)、協(xié)議、系統(tǒng)和服務(wù)。實(shí)際應(yīng)用中要根據(jù)具體情況選用適當(dāng)?shù)腣PN技術(shù)。實(shí)現(xiàn)VPN的關(guān)鍵技術(shù)主要有:

(1)隧道技術(shù)(Tunneling):隧道技術(shù)是一種通過(guò)使用互聯(lián)網(wǎng)基礎(chǔ)設(shè)施在網(wǎng)絡(luò)之間秘密傳遞數(shù)據(jù)的方式。隧道協(xié)議將其他協(xié)議的數(shù)據(jù)包重新封裝在新的包頭中發(fā)送,新的包頭提供了路由信息,從而使封裝的負(fù)載能夠通過(guò)互聯(lián)網(wǎng)秘密傳遞。在Internet上建立隧道可以在不同的協(xié)議層實(shí)現(xiàn),例如數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層或傳輸層,這是VPN特有的技術(shù)。

(2)加解密技術(shù)(Encryption&Decryption):VPN可以利用已有的加解密技術(shù)實(shí)現(xiàn)保密通信,保證公司業(yè)務(wù)和個(gè)人通信的安全。

(3)密鑰管理技術(shù)(KeyManagement):建立隧道和保密通信都需要密鑰管理技術(shù)的支撐,密鑰管理負(fù)責(zé)密鑰的生成、分發(fā)、控制和跟蹤,以及驗(yàn)證密鑰的真實(shí)性等。

(4)身份認(rèn)證技術(shù)(Authentication):加入VPN的用戶都要通過(guò)身份認(rèn)證,通常使用用戶名和密碼,或者智能卡來(lái)實(shí)現(xiàn)用戶的身份認(rèn)證。10.5.2VPN解決方案

VPN的解決方案有以下三種,可以根據(jù)具體情況選擇使用。

(1)內(nèi)聯(lián)網(wǎng)VPN(IntranetVPN):企業(yè)內(nèi)部虛擬專用網(wǎng)也叫內(nèi)聯(lián)網(wǎng)VPN,用于實(shí)現(xiàn)企業(yè)內(nèi)部各個(gè)LAN之間的安全互聯(lián)。傳統(tǒng)的LAN互聯(lián)采用租用專線的方式,這種實(shí)現(xiàn)方式費(fèi)用昂貴,只有大型企業(yè)才能負(fù)擔(dān)得起。如果企業(yè)內(nèi)部各分支機(jī)構(gòu)之間要實(shí)現(xiàn)互聯(lián),可以在Internet上組建世界范圍內(nèi)的IntranetVPN,利用Internet的通信線路保證網(wǎng)絡(luò)的互聯(lián)互通,利用隧道、加密和認(rèn)證等技術(shù)保證信息在Intranet內(nèi)安全傳輸,參見(jiàn)圖10-12。圖10-12IntranetVPN

(2)外聯(lián)網(wǎng)VPN(ExtranetVPN):企業(yè)外部虛擬專用網(wǎng)也叫外聯(lián)網(wǎng)VPN,用于實(shí)現(xiàn)企業(yè)與客戶、供應(yīng)商和其他相關(guān)團(tuán)體之間的互聯(lián)互通。當(dāng)然,客戶也可以通過(guò)Web訪問(wèn)企業(yè)的客戶資源,但是外聯(lián)網(wǎng)VPN方式可以方便地提供接入控制和身份認(rèn)證機(jī)制,動(dòng)態(tài)地提供公司業(yè)務(wù)和數(shù)據(jù)的訪問(wèn)權(quán)限。一般來(lái)說(shuō),如果公司提供B2B之間的安全訪問(wèn)服務(wù),則可以考慮與相關(guān)企業(yè)建立ExtranetVPN連接,參見(jiàn)圖10-13。圖10-13ExtranetVPN

(3)遠(yuǎn)程接入VPN(AccessVPN):解決遠(yuǎn)程用戶訪問(wèn)企業(yè)內(nèi)部網(wǎng)絡(luò)的傳統(tǒng)方法是采用長(zhǎng)途撥號(hào)方式接入企業(yè)的網(wǎng)絡(luò)訪問(wèn)服務(wù)器(NAS)。NAS訪問(wèn)方式的缺點(diǎn)是通信成本高,必須支付價(jià)格不菲的長(zhǎng)途電話費(fèi),而且NAS和調(diào)制解調(diào)器的設(shè)備費(fèi)用,以及租用接入線路的費(fèi)用也是一筆很大的開銷,采用遠(yuǎn)程接入VPN就可以省去這些費(fèi)用。如果企業(yè)內(nèi)部人員有移動(dòng)或遠(yuǎn)程辦公的需要,或者商家要提供B2C的安全訪問(wèn)服務(wù),可以采用AccessVPN。

AccessVPN通過(guò)一個(gè)擁有與專用網(wǎng)絡(luò)相同策略的共享基礎(chǔ)設(shè)施,提供對(duì)企業(yè)內(nèi)部網(wǎng)或外部網(wǎng)的遠(yuǎn)程訪問(wèn)。AccessVPN能使用戶隨時(shí)隨地以其所需的方式訪問(wèn)企業(yè)內(nèi)部的網(wǎng)絡(luò)資源,最適用于公司內(nèi)部經(jīng)常有流動(dòng)人員遠(yuǎn)程辦公的情況,出差員工利用當(dāng)?shù)豂SP提供的VPN服務(wù),就可以和公司的VPN網(wǎng)關(guān)建立私有的隧道連接,參見(jiàn)圖10-14。圖10-14AccessVPN10.5.3第二層安全協(xié)議虛擬專用網(wǎng)可以通過(guò)第二層隧道協(xié)議實(shí)現(xiàn),這些隧道協(xié)議(例如PPTP和L2TP)都是把數(shù)據(jù)封裝在點(diǎn)對(duì)點(diǎn)協(xié)議(PPP)的幀中在互聯(lián)網(wǎng)上傳輸?shù)?,?chuàng)建隧道的過(guò)程類似于在通信雙方之間建立會(huì)話的過(guò)程,需要就地址分配、加密、認(rèn)證和壓縮參數(shù)等進(jìn)行協(xié)商,隧道建立后才能進(jìn)行數(shù)據(jù)傳輸。下面介紹有關(guān)的第二層隧道協(xié)議。

1.點(diǎn)對(duì)點(diǎn)隧道協(xié)議(PPTP)

PPTP(Point-to-PointTunnelingProtocol)是由Microsoft、Ascend、3Com和ECI等公司組成的PPTP論壇在1996年定義的第二層隧道協(xié)議。PPTP定義了由PAC和PNS組成的客戶機(jī)/服務(wù)器結(jié)構(gòu),從而把NAS的功能分解給這兩個(gè)邏輯設(shè)備,以支持虛擬專用網(wǎng)。傳統(tǒng)網(wǎng)絡(luò)接入服務(wù)器(NAS)根據(jù)用戶的需要提供PSTN或ISDN的點(diǎn)對(duì)點(diǎn)撥號(hào)接入服務(wù),它具有下列功能:

(1)通過(guò)本地物理接口連接PSTN或ISDN,控制外部Modem或終端適配器的撥號(hào)操作。

(2)作為PPP鏈路控制協(xié)議的會(huì)話終端。

(3)參與PPP認(rèn)證過(guò)程。

(4)對(duì)多個(gè)PPP信道進(jìn)行集中管理。

(5)作為PPP網(wǎng)絡(luò)控制協(xié)議的會(huì)話終端。

(6)在各接口之間進(jìn)行多協(xié)議的路由和橋接。

PPTP論壇定義了以下兩種邏輯設(shè)備:

(1)?PPTP接入集中器(PPTPAccessConcentrator,PAC):它可以連接一條或多條PSTN或ISDN撥號(hào)線路,能夠進(jìn)行PPP操作,并且能處理PPTP協(xié)議。PAC可以與一個(gè)或多個(gè)PNS實(shí)現(xiàn)TCP/IP通信,或者通過(guò)隧道傳送其他協(xié)議的數(shù)據(jù);

(2)?PPTP網(wǎng)絡(luò)服務(wù)器(PPTPNetworkServer,PNS):它建立在通用服務(wù)器平臺(tái)上的PPTP服務(wù)器,運(yùn)行TCP/IP協(xié)議,可以使用任何LAN和WAN接口硬件實(shí)現(xiàn)。

PAC是負(fù)責(zé)接入的客戶端設(shè)備,必須實(shí)現(xiàn)NAS的第1、2兩項(xiàng)功能,也可能實(shí)現(xiàn)第3項(xiàng)功能;PNS是ISP提供的接入服務(wù)器,可以實(shí)現(xiàn)NAS的第3項(xiàng)功能,但必須實(shí)現(xiàn)第4、5、6項(xiàng)功能,而PPTP則是在PAC和PNS之間對(duì)撥入的電路交換呼叫進(jìn)行控制和管理、并傳送PPP數(shù)據(jù)的協(xié)議。

PPTP協(xié)議只是在PAC和PNS之間實(shí)現(xiàn),與其他任何設(shè)備無(wú)關(guān),連接到PAC的撥號(hào)網(wǎng)絡(luò)也與PPTP無(wú)關(guān),標(biāo)準(zhǔn)的PPP客戶端軟件仍然可以在PPP鏈路上進(jìn)行操作。在一對(duì)PAC和PNS之間必須建立兩條并行的PPTP連接,一條是運(yùn)行在TCP協(xié)議上的控制連接,一條是傳輸PPP協(xié)議數(shù)據(jù)單元的IP隧道。控制連接可以由PNS或PAC發(fā)起建立。PNS和PAC在建立TCP連接之后就通過(guò)Start-Control-Connection-Request和Start-Control-Connection-Reply報(bào)文來(lái)建立控制連接,這些報(bào)文也用來(lái)交換有關(guān)PAC和PNS操作能力的數(shù)據(jù)。控制連接的管理、維護(hù)和釋放也是通過(guò)交換類似的控制報(bào)文實(shí)現(xiàn)的??刂七B接必須在PPP隧道之前建立。在每一對(duì)PAC-PNS之間,隧道連接和控制連接同時(shí)存在。控制連接的功能是建立、管理和釋放PPP隧道,同時(shí)控制連接也是PAC和PNS之間交換呼叫信息的通路。

PPP分組必須先經(jīng)過(guò)GRE封裝后才能在PAC-PNS之間的隧道中傳送。GRE(GenericRoutingEncapsulation)是在一種網(wǎng)絡(luò)層協(xié)議上封裝另外一種網(wǎng)絡(luò)層協(xié)議的協(xié)議,GRE封裝的協(xié)議經(jīng)過(guò)了加密處理,所以VPN之外的設(shè)備無(wú)法探測(cè)其中的內(nèi)容。對(duì)PPP分組封裝和傳送的過(guò)程表現(xiàn)在圖10-15中,其中的RRAS相當(dāng)于PAC或PNS,PPP樁是經(jīng)過(guò)加密的PPP頭??梢钥闯?,負(fù)載數(shù)據(jù)在本地和遠(yuǎn)程LAN中都是通過(guò)IP協(xié)議明文傳送的,只有在VPN中進(jìn)行了加密和封裝。圖10-15GRE封裝和隧道傳送

2.第二層隧道協(xié)議(L2TP)第二層隧道協(xié)議(Layer2TunnelingProtocol,L2TP)用于把各種撥號(hào)服務(wù)集成到ISP的服務(wù)提供點(diǎn)。PPP定義了一種封裝機(jī)制,可以在點(diǎn)對(duì)點(diǎn)鏈路上傳輸多種協(xié)議的分組。通常用戶利用各種撥號(hào)方式(例如POTS、ISDN或ADSL)接入NAS,然后通過(guò)第二層連接運(yùn)行PPP協(xié)議,這樣第二層連接端點(diǎn)和PPP會(huì)話端點(diǎn)都在同一個(gè)NAS設(shè)備中。

L2TP擴(kuò)展了PPP模型,允許第二層連接端點(diǎn)和PPP會(huì)話端點(diǎn)駐在由分組交換網(wǎng)連接的不同的設(shè)備中。在L2TP模型中,用戶通過(guò)第二層連接訪問(wèn)集中器(例如Modem,ADSL等設(shè)備),而集中器則把PPP幀通過(guò)隧道傳送給NAS,這樣就可以把PPP分組的處理與第二層端點(diǎn)的功能分離開來(lái)。這樣做的好處是NAS不再具有第二層端點(diǎn)的功能,第二層連接在本地集中器終止,從而把邏輯的PPP會(huì)話擴(kuò)展到了幀中繼或Internet這樣的公共網(wǎng)絡(luò)上。從用戶的觀點(diǎn)看,使用L2TP與通過(guò)第二層接入NAS并沒(méi)有區(qū)別。

L2TP報(bào)文分為控制報(bào)文和數(shù)據(jù)報(bào)文??刂茍?bào)文用于建立、維護(hù)和釋放隧道和呼叫。數(shù)據(jù)報(bào)文用于封裝PPP幀,以便在隧道中傳送??刂茍?bào)文使用了可靠的控制信道以保證提交,數(shù)據(jù)報(bào)文被丟失后不再重傳。在IP網(wǎng)上使用UDP和一系列的L2TP消息對(duì)隧道進(jìn)行維護(hù),同時(shí)使用UDP將L2TP封裝的PPP幀通過(guò)隧道發(fā)送,可以對(duì)封裝的PPP幀中的負(fù)載數(shù)據(jù)進(jìn)行加密或壓縮。圖10-16表示如何在傳輸之前組裝一個(gè)L2TP數(shù)據(jù)包。圖10-16L2TP數(shù)據(jù)包在IP網(wǎng)中的封裝10.5.4網(wǎng)絡(luò)層安全協(xié)議

IPsec(IPSecurity)是IETF定義的網(wǎng)絡(luò)層安全協(xié)議,用于增強(qiáng)IP網(wǎng)絡(luò)的安全性。IPsec協(xié)議集提供了下面的安全服務(wù):

(1)數(shù)據(jù)完整性(DataIntegrity):保持?jǐn)?shù)據(jù)的一致性,防止未授權(quán)地生成、修改或刪除數(shù)據(jù)。

(2)認(rèn)證(Authentication):保證接收的數(shù)據(jù)與發(fā)送的相同,保證實(shí)際發(fā)送者就是聲稱的發(fā)送者。

(3)保密性(Confidentiality):傳輸?shù)臄?shù)據(jù)是經(jīng)過(guò)加密的,只有預(yù)定的接收者知道發(fā)送的內(nèi)容。

(4)應(yīng)用透明的安全性(Application-transparentSecurity):IPsec的安全頭插入在標(biāo)準(zhǔn)的IP頭和上層協(xié)議(例如TCP)之間,任何網(wǎng)絡(luò)服務(wù)和網(wǎng)絡(luò)應(yīng)用可以不經(jīng)修改地從標(biāo)準(zhǔn)IP轉(zhuǎn)向IPsec,同時(shí)IPsec通信也可以透明地通過(guò)現(xiàn)有的IP路由器。

IPsec的功能可以劃分為下面三類:

(1)認(rèn)證頭(AuthenticationHeader,AH):用于數(shù)據(jù)完整性認(rèn)證和數(shù)據(jù)源認(rèn)證。

(2)封裝安全負(fù)荷(EncapsulatingSecurityPayload,ESP):提供數(shù)據(jù)保密性和數(shù)據(jù)完整性認(rèn)證,ESP也包括了防止重放攻擊的順序號(hào)。

(3)?Internet密鑰交換協(xié)議(InternetKeyExchange,IKE):用于生成和分發(fā)在ESP和AH中使用的密鑰,IKE也對(duì)遠(yuǎn)程系統(tǒng)進(jìn)行初始認(rèn)證。

1.認(rèn)證頭(AH)

IPsec認(rèn)證頭提供了數(shù)據(jù)完整性和數(shù)據(jù)源認(rèn)證,但是不提供保密服務(wù)。AH包含了對(duì)稱密鑰的散列函數(shù),使得第三方無(wú)法修改傳輸中的數(shù)據(jù)。IPsec支持下面的認(rèn)證算法:

(1)?HMAC-SHA1(HashedMessageAuthenticationCode-SecureHashAlgorithm1)128位密鑰。

(2)?HMAC-MD5(HMAC-MessageDigest5)160位密鑰。

IPsec有兩種模式:傳輸模式和隧道模式。在傳輸模式中,IPsec認(rèn)證頭插入原來(lái)的IP頭之后(參見(jiàn)圖10-17),IP數(shù)據(jù)和IP頭用來(lái)計(jì)算AH認(rèn)證值。IP頭中的變化字段(例如跳步計(jì)數(shù)和TTL字段)在計(jì)算之前置為“0”,所以變化字段實(shí)際上并沒(méi)有被認(rèn)證。圖10-17傳輸模式的認(rèn)證頭在隧道模式中,IPsec用新的IP頭封裝了原來(lái)的IP數(shù)據(jù)報(bào)(包括原來(lái)的IP頭),原來(lái)IP數(shù)據(jù)報(bào)的所有字段都經(jīng)過(guò)了認(rèn)證,參見(jiàn)圖10-18。圖10-18隧道模式的認(rèn)證頭

2.封裝安全負(fù)荷(ESP)

IPsec封裝安全負(fù)荷(ESP)提供了數(shù)據(jù)加密功能。ESP利用對(duì)稱密鑰對(duì)IP數(shù)據(jù)(例如TCP包)進(jìn)行加密,支持的加密算法有:

(1)?DES-CBC(DataEncryptionStandardCipherBlockChainingMode)56位密鑰。

(2)?3DES-CBC(3重DESCBC)56位密鑰。

(3)?AES128-CBC(AdvancedEncryptionStandardCBC)128位密鑰。在傳輸模式,IP頭沒(méi)有加密,只對(duì)IP數(shù)據(jù)進(jìn)行了加密,參見(jiàn)圖10-19。在隧道模式,IPsec對(duì)原來(lái)的IP數(shù)據(jù)報(bào)進(jìn)行了封裝和加密,再加上了新的IP頭,參見(jiàn)圖10-20。如果ESP用在網(wǎng)關(guān)中,外層的未加密的IP頭包含網(wǎng)關(guān)的IP地址,而內(nèi)層加密了的IP頭則包含真實(shí)的源和目標(biāo)地址,這樣可以防止偷聽者分析源和目標(biāo)之間的通信量。圖10-19傳輸模式的ESP圖10-20隧道模式的ESP

3.帶認(rèn)證的封裝安全負(fù)荷(ESP)

ESP加密算法本身沒(méi)有提供認(rèn)證功能,不能保證數(shù)據(jù)的完整性,但是帶認(rèn)證的ESP可以提供數(shù)據(jù)完整性服務(wù)。有兩種方法可提供認(rèn)證功能:

(1)帶認(rèn)證的ESP:IPsec使用第一個(gè)對(duì)稱密鑰對(duì)負(fù)荷進(jìn)行加密,然后使用第二個(gè)對(duì)稱密鑰對(duì)經(jīng)過(guò)加密的數(shù)據(jù)計(jì)算認(rèn)證值,并將其附加在分組之后,參見(jiàn)圖10-21。

(2)在AH中嵌套ESP:ESP分組可以嵌套在AH分組中,例如一個(gè)3DES-CBCESP分組可以嵌套在HMAC-MD5分組中,參見(jiàn)圖10-22。圖10-21帶認(rèn)證的ESP圖10-22在AH中嵌套ESP

4.?Internet密鑰交換協(xié)議(IKE)

IPsec傳送認(rèn)證或加密的數(shù)據(jù)之前,必須就協(xié)議、加密算法和使用的密鑰進(jìn)行協(xié)商。密鑰交換協(xié)議IKE提供這個(gè)功能,并且在密鑰交換之前還要對(duì)遠(yuǎn)程系統(tǒng)進(jìn)行初始的認(rèn)證。IKE實(shí)際上是三個(gè)協(xié)議ISAKMP(InternetSecurityAssociationandKeyManagementProtocol)、Oakley和SKEME(VersatileSecureKeyExchangeMechanismforInternetprotocol)的混合體。ISAKMP提供了認(rèn)證和密鑰交換的框架,但是沒(méi)有給出具體的定義,Oakley描述了密鑰交換的模式,而SKEME定義了密鑰交換技術(shù)。密鑰交換之前先要建立安全關(guān)聯(lián)(SecurityAssociation,SA),SA是由一系列參數(shù)(例如加密算法、密鑰和生命期等)定義的安全信道。在ISAKMP中,通過(guò)兩個(gè)協(xié)商階段來(lái)建立SA,這種方法被稱為Oakley模式。建立SA的過(guò)程是:

1)?ISAKMP第一階段(MainMode,MM)

(1)協(xié)商和建立ISAKMPSA:兩個(gè)系統(tǒng)根據(jù)D-H算法生成對(duì)稱密鑰,后續(xù)的IKE通信都使用該密鑰加密;

(2)驗(yàn)證遠(yuǎn)程系統(tǒng)的標(biāo)識(shí)(初始認(rèn)證)。

2)?ISAKMP第二階段(QuickMode,QM)使用由ISAKMP/MMSA提供的安全信道協(xié)商一個(gè)或多個(gè)用于IPsec通信(AH或ESP)的SA。通常在第二階段至少要建立兩條SA,一條用于發(fā)送數(shù)據(jù),一條用于接收數(shù)據(jù)。參見(jiàn)圖10-23。圖10-23安全關(guān)聯(lián)的建立10.5.5安全套接層(SSL)安全套接層(SecureSocketLayer,SSL)是Netscape于1994年開發(fā)的傳輸層安全協(xié)議,用于實(shí)現(xiàn)Web安全通信。1996年發(fā)布的SSL3.0協(xié)議草案已經(jīng)成為一個(gè)事實(shí)上的Web安全標(biāo)準(zhǔn),1999年IETF推出了傳輸層安全標(biāo)準(zhǔn)(TransportLayerSecurity,TLS)[RFC2246],對(duì)SSL進(jìn)行了改進(jìn),希望成為正式標(biāo)準(zhǔn)。SSL/TLS已經(jīng)在NetscapeNavigator和InternetExplorer中得到了廣泛應(yīng)用,下面介紹SSL3.0的主要內(nèi)容。

SSL的基本目標(biāo)是實(shí)現(xiàn)兩個(gè)應(yīng)用實(shí)體之間安全可靠的通信。SSL協(xié)議分為兩層,底層是SSL記錄協(xié)議,運(yùn)行在傳輸層協(xié)議TCP之上,用于封裝各種上層協(xié)議。一種被封裝的上層協(xié)議是SSL握手協(xié)議,由服務(wù)器和客戶機(jī)用來(lái)進(jìn)行身份認(rèn)證,并且協(xié)商通信中使用的加密算法和密鑰。SSL協(xié)議棧如圖10-24所示。圖10-24SSL協(xié)議棧

SSL對(duì)應(yīng)用層是獨(dú)立的,這是它的優(yōu)點(diǎn),高層協(xié)議都可以透明地運(yùn)行在SSL協(xié)議之上。SSL提供的安全連接具有以下特性:

(1)連接是保密的。用握手協(xié)議定義了對(duì)稱密鑰(例如DES、RC4等)之后,所有通信都被加密傳送。

(2)對(duì)等實(shí)體可以利用對(duì)稱密鑰算法(例如RSA、DSS等)相互認(rèn)證。

(3)連接是可靠的。報(bào)文傳輸期間利用安全散列函數(shù)(例如SHA、MD5等)進(jìn)行數(shù)據(jù)完整性檢驗(yàn)。

SSL和IPsec各有特點(diǎn)。SSLVPN與IPsecVPN一樣,都使用RSA或D-H握手協(xié)議來(lái)建立秘密隧道。SSL和IPsec都使用了預(yù)加密、數(shù)據(jù)完整性和身份認(rèn)證技術(shù),例如3-DES、128位的RC4、ASE、MD5和SHA-1等。兩種協(xié)議的區(qū)別是,IPsecVPN是在網(wǎng)絡(luò)層建立安全隧道,適用于建立固定的虛擬專用網(wǎng),而SSL的安全連接是通過(guò)應(yīng)用層的Web連接建立的,更適合移動(dòng)用戶遠(yuǎn)程訪問(wèn)公司的虛擬專用網(wǎng),原因如下:

(1)?SSL不必下載到訪問(wèn)公司資源的設(shè)備上;

(2)?SSL不需要端用戶進(jìn)行復(fù)雜的配置;

(3)只要有標(biāo)準(zhǔn)的Web瀏覽器,就可以利用SSL進(jìn)行安全通信。

SSL/TLS在Web安全通信中被稱為HTTPS,SSL/TLS也可以用在其他非Web的應(yīng)用(例如SMTP、LDAP、POP、IMAP和TELNET)中。在虛擬專用網(wǎng)中,SSL可以承載TCP通信,也可以承載UDP通信。由于SSL工作在傳輸層,所以SSLVPN的控制更加靈活,既可以對(duì)傳輸層進(jìn)行訪問(wèn)控制,也可以對(duì)應(yīng)用層進(jìn)行訪問(wèn)控制。10.6防火墻隨著Internet的廣泛應(yīng)用,人們?cè)跀U(kuò)展了信息獲取和發(fā)布能力的同時(shí)也帶來(lái)信息被污染和被破壞的危險(xiǎn)。網(wǎng)絡(luò)安全問(wèn)題主要是由網(wǎng)絡(luò)的開放性造成的,出于對(duì)安全的考慮,我們應(yīng)該把被保護(hù)的網(wǎng)絡(luò)從開放的、無(wú)邊界的網(wǎng)絡(luò)環(huán)境中孤立出來(lái),成為可管理、可控制的的內(nèi)部網(wǎng)絡(luò),實(shí)現(xiàn)網(wǎng)絡(luò)隔離的基本手段就是防火墻。防火墻作為網(wǎng)絡(luò)安全的第一道門戶,可以實(shí)現(xiàn)內(nèi)部網(wǎng)(信任網(wǎng)絡(luò))與外部網(wǎng)絡(luò)(不可信任)之間,或者是不同網(wǎng)絡(luò)安全區(qū)域之間的隔離與訪問(wèn)控制,保證網(wǎng)絡(luò)系統(tǒng)及服務(wù)的可用性,有效阻擋來(lái)自Internet的外部攻擊。10.6.1防火墻的基本概念防火墻一詞來(lái)自建筑物中的同名設(shè)施,從字面意思理解,防火墻可以防止Internet上的不安全因素蔓延到企業(yè)或組織的內(nèi)部網(wǎng)絡(luò)。早在1994年防火墻技術(shù)就被RFC1636列為信息系統(tǒng)不可或缺的安全機(jī)制之一。從狹義上說(shuō),防火墻是指安裝了防火墻軟件的主機(jī)或路由器系統(tǒng);從廣義上說(shuō),防火墻還包括整個(gè)網(wǎng)絡(luò)的安全策略和安全行為。

AT&T的兩位工程師WilliamCheswich和StevenBellovin給出了防火墻的明確定義:●所有從外部到內(nèi)部或從內(nèi)部到外部的通信都必須經(jīng)過(guò)它;●只有內(nèi)部訪問(wèn)策略授權(quán)的通信流才允許通過(guò);●系統(tǒng)本身具有很強(qiáng)的高可靠性。總而言之,防火墻是一種網(wǎng)絡(luò)安全防護(hù)手段,其主要目標(biāo)就是通過(guò)控制入/出一個(gè)網(wǎng)絡(luò)的權(quán)限,并迫使所有連接都經(jīng)過(guò)這樣的檢查,防止需要保護(hù)的網(wǎng)絡(luò)受到外界因素的干擾和破壞。在邏輯上,防火墻是一個(gè)分離器,一個(gè)限制器,也是一個(gè)分析器,能有效地監(jiān)視內(nèi)部網(wǎng)絡(luò)和Internet之間的任何活動(dòng),保證內(nèi)部網(wǎng)絡(luò)的安全;在物理實(shí)現(xiàn)上,防火墻是位于網(wǎng)絡(luò)特殊位置的一組硬件設(shè)備——路由器、計(jì)算機(jī)或其他特別配置的硬件設(shè)備。防火墻可以是一個(gè)獨(dú)立的系統(tǒng),也可以在一個(gè)經(jīng)過(guò)特別配置的路由器上實(shí)現(xiàn)防火墻。從內(nèi)部網(wǎng)絡(luò)的安全角度,對(duì)防火墻應(yīng)提出下列安全需求:

(1)防火墻應(yīng)該由多個(gè)部件組成,形成一個(gè)充分冗余的安全系統(tǒng),避免成為網(wǎng)絡(luò)中的“單失效點(diǎn)”(即這一點(diǎn)突破,則無(wú)安全可言)。

(2)防火墻的失效模式應(yīng)該是“失效—安全”型,即一旦防火墻失效、崩潰或重啟,則必須安全地阻斷內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)的聯(lián)系,以免入侵者乘機(jī)闖入。實(shí)現(xiàn)這種安全模式的簡(jiǎn)單方法是由防火墻來(lái)控制網(wǎng)絡(luò)接口的開通和阻斷。

(3)理想的防火墻應(yīng)該是網(wǎng)絡(luò)中唯一的安全控制點(diǎn),網(wǎng)絡(luò)的安全機(jī)制全部存在于防火墻系統(tǒng)之中,這樣就可以簡(jiǎn)化網(wǎng)絡(luò)的安全管理,還可以通過(guò)防火墻對(duì)網(wǎng)絡(luò)通信進(jìn)行安全監(jiān)控和審計(jì)。

(4)由于防火墻是網(wǎng)絡(luò)的安全屏障,所以就成為網(wǎng)絡(luò)黑客的主要攻擊對(duì)象,這就要求防火墻的主機(jī)操作系統(tǒng)十分安全可靠。作為網(wǎng)關(guān)服務(wù)器的主機(jī)應(yīng)該選用增強(qiáng)型安全核心的堡壘主機(jī),以增加其抗攻擊性,同時(shí)在網(wǎng)關(guān)服務(wù)器中應(yīng)禁止運(yùn)行應(yīng)用程序,嚴(yán)格杜絕非法訪問(wèn)。

(5)防火墻應(yīng)提供認(rèn)證服務(wù),外部用戶對(duì)內(nèi)部網(wǎng)絡(luò)的訪問(wèn)應(yīng)經(jīng)過(guò)防火墻的認(rèn)證檢查。TCP/IP網(wǎng)絡(luò)的任何用戶都可以產(chǎn)生一個(gè)假冒報(bào)文,這種欺騙攻擊已經(jīng)屢見(jiàn)不鮮,安全協(xié)議和身份認(rèn)證是對(duì)付網(wǎng)絡(luò)欺騙的有效手段。

(6)防火墻對(duì)內(nèi)部網(wǎng)絡(luò)應(yīng)該起到屏蔽作用,即隱藏內(nèi)部網(wǎng)絡(luò)地址和拓?fù)浣Y(jié)構(gòu),所以域名服務(wù)器也應(yīng)該包括在防火墻的保護(hù)范圍之內(nèi)。另外,防火墻應(yīng)支持通常的Internet應(yīng)用(電子郵件、FTP、WWW等),以及企業(yè)需要的特殊應(yīng)用,為這些網(wǎng)絡(luò)應(yīng)用分別提供適當(dāng)?shù)陌踩刂拼胧沟闷髽I(yè)內(nèi)部網(wǎng)絡(luò)既有充分的開放性,又有嚴(yán)密的安全性。10.6.2防火墻的體系結(jié)構(gòu)從實(shí)現(xiàn)的功能和構(gòu)成部件來(lái)劃分,防火墻可以分為以下類型。

1.過(guò)濾路由器在傳統(tǒng)路由器中增加分組過(guò)濾功能就形成了最簡(jiǎn)單的防火墻。這種防火墻的好處是完全透明、成本低、速度快、效率高,但是這種防火墻會(huì)成為網(wǎng)絡(luò)中的單失效點(diǎn)。而且由于路由器的基本功能是轉(zhuǎn)發(fā)分組,一旦過(guò)濾機(jī)制失效(例如遭遇IP欺騙),就會(huì)使得非法訪問(wèn)者進(jìn)入內(nèi)部網(wǎng)絡(luò),所以這種防火墻不是“失效—安全”模式的。另外,這種防火

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論