《網(wǎng)絡(luò)信息安全技術(shù)》課件第8章_第1頁(yè)
《網(wǎng)絡(luò)信息安全技術(shù)》課件第8章_第2頁(yè)
《網(wǎng)絡(luò)信息安全技術(shù)》課件第8章_第3頁(yè)
《網(wǎng)絡(luò)信息安全技術(shù)》課件第8章_第4頁(yè)
《網(wǎng)絡(luò)信息安全技術(shù)》課件第8章_第5頁(yè)
已閱讀5頁(yè),還剩128頁(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)介

第8章Internet的基礎(chǔ)設(shè)施安全8.1Internet安全概述8.2DNS的安全性8.3安全協(xié)議IPSec8.4電子郵件的安全性8.5Web的安全性8.6虛擬專用網(wǎng)及其安全性8.1Internet安全概述

隨著政府網(wǎng)、海關(guān)網(wǎng)、企業(yè)網(wǎng)、電子商務(wù)、網(wǎng)上娛樂(lè)等一系列網(wǎng)絡(luò)應(yīng)用的蓬勃發(fā)展,Internet正在越來(lái)越多地離開(kāi)原來(lái)單純的學(xué)術(shù)環(huán)境,融入到社會(huì)的各個(gè)方面。一方面,網(wǎng)絡(luò)用戶成分越來(lái)越多樣化,出于各種目的的網(wǎng)絡(luò)入侵和攻擊也越來(lái)越頻繁;另一方面,網(wǎng)絡(luò)應(yīng)用越來(lái)越深入地滲透到金融、商務(wù)、國(guó)防等關(guān)鍵要害領(lǐng)域。換言之,Internet網(wǎng)的安全,包括網(wǎng)上的信息數(shù)據(jù)安全和網(wǎng)絡(luò)設(shè)備服務(wù)的運(yùn)行安全,日益成為與國(guó)家、政府、企業(yè)、個(gè)人的利益休戚相關(guān)的“大事情”。然而,由于在早期網(wǎng)絡(luò)協(xié)議設(shè)計(jì)上對(duì)安全問(wèn)題的忽視,以及在使用和管理方面的無(wú)政府狀態(tài),使Internet自身的安全受到嚴(yán)重威脅,與它有關(guān)的安全事故屢有發(fā)生。這就要求我們對(duì)與Internet互連所帶來(lái)的安全性問(wèn)題予以足夠重視。

網(wǎng)絡(luò)面臨的安全威脅可分為兩種:一是對(duì)網(wǎng)絡(luò)數(shù)據(jù)的威脅;二是對(duì)網(wǎng)絡(luò)設(shè)備的威脅。這些威脅可能來(lái)源于各種各樣的因素:可能是有意的,也可能是無(wú)意的;可能是來(lái)源于企業(yè)外部的,也有可能是內(nèi)部人員造成的;可能是人為的,也可能是自然力造成的??偨Y(jié)起來(lái),大致有下面幾種主要威脅:

(1)非人為、自然力造成的數(shù)據(jù)丟失、設(shè)備失效、線路阻斷;

(2)人為但屬于操作人員無(wú)意的失誤造成的數(shù)據(jù)丟失;

(3)來(lái)自外部和內(nèi)部人員的惡意攻擊和入侵。圖8.1已經(jīng)實(shí)現(xiàn)的各種網(wǎng)絡(luò)安全機(jī)制8.2DNS的安全性

域名系統(tǒng)(DNS)是一種用于TCP/IP應(yīng)用程序的分布式數(shù)據(jù)庫(kù),它提供主機(jī)名字和IP地址之間的轉(zhuǎn)換信息。通常,網(wǎng)絡(luò)用戶通過(guò)UDP協(xié)議與DNS服務(wù)器進(jìn)行通信,而服務(wù)器在特定的53端口監(jiān)聽(tīng),并返回用戶所需的相關(guān)信息,這是“正向域名解析”的過(guò)程。“反向域名解析”也是一個(gè)查詢DNS的過(guò)程。當(dāng)客戶向一臺(tái)服務(wù)器請(qǐng)求服務(wù)時(shí),服務(wù)器方一般會(huì)根據(jù)客戶的IP反向解析出該IP對(duì)應(yīng)的域名。8.2.1目前DNS存在的安全威脅

1.DNS的安全隱患(1)防火墻一般不會(huì)限制對(duì)DNS的訪問(wèn);(2)DNS可以泄漏內(nèi)部的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);(3)DNS存在許多簡(jiǎn)單有效的遠(yuǎn)程緩沖溢出攻擊;(4)幾乎所有的網(wǎng)站都需要DNS;(5)DNS的本身性能問(wèn)題是關(guān)系到整個(gè)應(yīng)用的關(guān)鍵。

2.DNS的安全威脅

(1)拒絕服務(wù)攻擊。

(2)設(shè)置不當(dāng)?shù)腄NS會(huì)泄漏過(guò)多的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。如果你的DNS服務(wù)器允許對(duì)任何人都進(jìn)行區(qū)域傳輸?shù)脑?,那么你的整個(gè)網(wǎng)絡(luò)架構(gòu)中的主機(jī)名、主機(jī)IP列表、路由器名、路由器IP列表,甚至包括你的機(jī)器所在的位置等等都可以被輕易竊取。(3)利用被控制的DNS服務(wù)器入侵整個(gè)網(wǎng)絡(luò),破壞整個(gè)網(wǎng)絡(luò)的安全完整性。當(dāng)一個(gè)入侵者控制了DNS服務(wù)器后,他就可以隨意篡改DNS的記錄信息,甚至使用這些被篡改的記錄信息來(lái)達(dá)到進(jìn)一步入侵整個(gè)網(wǎng)絡(luò)的目的。例如,將現(xiàn)有的DNS記錄中的主機(jī)信息修改成被攻擊者自己控制的主機(jī),這樣所有到達(dá)原來(lái)目的地的數(shù)據(jù)包將被重定位到入侵者手中。在國(guó)外,這種攻擊方法有一個(gè)很形象的名稱,被稱為DNS毒藥,因?yàn)镈NS帶來(lái)的威脅會(huì)使得整個(gè)網(wǎng)絡(luò)系統(tǒng)中毒,破壞完整性。(4)利用被控制的DNS服務(wù)器,繞過(guò)防火墻等其它安全設(shè)備的控制。現(xiàn)在一般的網(wǎng)站都設(shè)置有防火墻,但是由于DNS服務(wù)的特殊性,在UNIX機(jī)器上,DNS需要的端口是UDP53和TCP53,它們都是需要使用root執(zhí)行權(quán)限的。這樣防火墻很難控制對(duì)這些端口的訪問(wèn),入侵者可以利用DNS的諸多漏洞獲取到DNS服務(wù)器的管理員權(quán)限。如果內(nèi)部網(wǎng)絡(luò)的設(shè)置不合理,例如DNS服務(wù)器上的管理員密碼和內(nèi)部主機(jī)管理員密碼一致,那么,DNS服務(wù)器和內(nèi)部其它主機(jī)就處于同一個(gè)網(wǎng)段,DNS服務(wù)器也就處于防火墻的可信任區(qū)域內(nèi),這就相當(dāng)于給入侵者提供了一個(gè)打開(kāi)系統(tǒng)大門(mén)的捷徑。8.2.2Windows下DNS欺騙局域網(wǎng)內(nèi)的網(wǎng)絡(luò)安全是一個(gè)值得大家關(guān)注的問(wèn)題,往往容易發(fā)起各種欺騙攻擊,這是局域網(wǎng)自身的屬性所決定的——網(wǎng)絡(luò)共享。這里所說(shuō)的DNS欺騙是基于ARP欺騙之上的網(wǎng)絡(luò)攻擊,如果在廣域網(wǎng)上,則比較麻煩。

1.DNS欺騙的原理讓我們換個(gè)思路,如果客戶機(jī)在進(jìn)行DNS查詢時(shí),能夠允許它給出我們的應(yīng)答信息,結(jié)果會(huì)怎樣呢?這就是著名的DNSID欺騙(DNSSpoofing)。

在DNS數(shù)據(jù)報(bào)頭部的ID(標(biāo)識(shí))是用來(lái)匹配響應(yīng)和請(qǐng)求數(shù)據(jù)報(bào)的。現(xiàn)在,讓我們來(lái)看看域名解析的整個(gè)過(guò)程??蛻舳耸紫纫蕴囟ǖ臉?biāo)識(shí)向DNS服務(wù)器發(fā)送域名查詢數(shù)據(jù)報(bào),在DNS服務(wù)器查詢之后以相同的ID號(hào)給客戶端發(fā)送域名響應(yīng)數(shù)據(jù)報(bào)。這時(shí)客戶端會(huì)將收到的DNS響應(yīng)數(shù)據(jù)報(bào)的ID和自己發(fā)送的查詢數(shù)據(jù)報(bào)ID相比較,如果匹配則表明接收到的正是自己等待的數(shù)據(jù)報(bào),如果不匹配則丟棄之。

假如我們能夠偽裝DNS服務(wù)器提前向客戶端發(fā)送響應(yīng)數(shù)據(jù)報(bào),那么客戶端的DNS緩存里域名所對(duì)應(yīng)的IP就是我們自定義的IP了,同時(shí)客戶端也就被帶到了我們希望的網(wǎng)站。條件只有一個(gè),那就是我們發(fā)送的ID匹配的DNS響應(yīng)數(shù)據(jù)報(bào)在DNS服務(wù)器發(fā)送的響應(yīng)數(shù)據(jù)報(bào)之前到達(dá)客戶端。欺騙原理見(jiàn)圖8.2所示。圖8.2DNS欺騙原理

2.DNS欺騙的實(shí)現(xiàn)現(xiàn)在我們知道了DNSID欺騙的實(shí)質(zhì)了,那么如何才能實(shí)現(xiàn)呢?這要分兩種情況。

(1)本地主機(jī)與DNS服務(wù)器,本地主機(jī)與客戶端主機(jī)均不在同一個(gè)局域網(wǎng)內(nèi),方法有以下幾種:向客戶端主機(jī)隨機(jī)發(fā)送大量DNS響應(yīng)數(shù)據(jù)報(bào),命中率很低;向DNS服務(wù)器發(fā)起拒絕服務(wù)攻擊,太粗魯;BIND漏洞,使用范圍比較窄。(2)本地主機(jī)至少與DNS服務(wù)器或客戶端主機(jī)中的某一臺(tái)處在同一個(gè)局域網(wǎng)內(nèi)。我們可以通過(guò)ARP欺騙來(lái)實(shí)現(xiàn)可靠而穩(wěn)定的DNSID欺騙,下面我們將詳細(xì)討論這種情況。首先我們進(jìn)行DNSID欺騙的基礎(chǔ)是ARP欺騙,也就是在局域網(wǎng)內(nèi)同時(shí)欺騙網(wǎng)關(guān)和客戶端主機(jī)(也可能是欺騙網(wǎng)關(guān)和DNS服務(wù)器,或欺騙DNS服務(wù)器和客戶端主機(jī))。我們以客戶端的名義向網(wǎng)關(guān)發(fā)送ARP響應(yīng)數(shù)據(jù)報(bào),不過(guò)其中將源MAC地址改為我們自己主機(jī)的MAC地址;同時(shí)以網(wǎng)關(guān)的名義向客戶端主機(jī)發(fā)送ARP響應(yīng)數(shù)據(jù)報(bào),同樣將源MAC地址改為我們自己主機(jī)的MAC地址。這樣一來(lái),網(wǎng)關(guān)看到的客戶端的MAC地址就是我們主機(jī)的MAC地址;客戶端也認(rèn)為網(wǎng)關(guān)的MAC地址是我們主機(jī)的MAC地址。由于在局域網(wǎng)內(nèi)數(shù)據(jù)報(bào)的傳送是建立在MAC地址之上的,因此網(wǎng)關(guān)和客戶端之間的數(shù)據(jù)流通必須先通過(guò)本地主機(jī)。

在監(jiān)視網(wǎng)關(guān)和客戶端主機(jī)之間的數(shù)據(jù)報(bào)時(shí),如果發(fā)現(xiàn)了客戶端發(fā)送的DNS查詢數(shù)據(jù)報(bào)(目的端口為53),那么我們可以提前將自己構(gòu)造的DNS響應(yīng)數(shù)據(jù)報(bào)發(fā)送到客戶端。注意,我們必須提取由客戶端發(fā)送來(lái)的DNS查詢數(shù)據(jù)報(bào)的ID信息,因?yàn)榭蛻舳耸峭ㄟ^(guò)它來(lái)進(jìn)行匹配認(rèn)證的,這就是一個(gè)我們可以利用的DNS漏洞。這樣客戶端會(huì)先收到我們發(fā)送的DNS響應(yīng)數(shù)據(jù)報(bào)并訪問(wèn)我們自定義的網(wǎng)站,雖然客戶端也會(huì)收到DNS服務(wù)器的響應(yīng)報(bào)文,不過(guò)已經(jīng)來(lái)不及了。

如果你不幸被欺騙了,先禁用本地連接,然后啟用本地連接就可以清除DNS緩存。不過(guò)也有一些例外情況,如果IE中使用代理服務(wù)器,那么欺騙就不能進(jìn)行,因?yàn)檫@時(shí)客戶端并不會(huì)在本地進(jìn)行域名請(qǐng)求;如果你訪問(wèn)的不是網(wǎng)站主頁(yè),而是相關(guān)子目錄的文件,這樣你在自定義的網(wǎng)站上不會(huì)找到相關(guān)的文件,登陸會(huì)以失敗告終。8.2.3拒絕服務(wù)攻擊

BIND(BerkeleyInternetNameDomain)是我們所熟知的域名軟件,它具有廣泛的使用基礎(chǔ),Internet上的絕大多數(shù)DNS服務(wù)器都是基于這個(gè)軟件的。來(lái)自DIMAP/UFRN(計(jì)算機(jī)科學(xué)和應(yīng)用數(shù)學(xué)系/北格蘭德聯(lián)邦大學(xué))的CAIS/RNP(BrazilianResearchNetworkCSIRT)和VagnerSacramento對(duì)BIND的幾種版本進(jìn)行了測(cè)試,證明了在BIND版本4和版本8上存在缺陷,攻擊者利用這個(gè)缺陷能成功地進(jìn)行DNS欺騙攻擊。

如果攻擊者以不同的IP源地址,相同的域名同時(shí)向目標(biāo)DNS服務(wù)器發(fā)送若干個(gè)解析請(qǐng)求時(shí),目標(biāo)DNS服務(wù)器為了解析這些請(qǐng)求,會(huì)將接收到的請(qǐng)求全部發(fā)送到其它DNS服務(wù)器。由于這些解析請(qǐng)求都被單獨(dú)進(jìn)行處理,并分配了不同的ID,因此在目標(biāo)服務(wù)器等待這些不同ID的回復(fù)時(shí),攻擊者可嘗試使用不同ID向目標(biāo)DNS服務(wù)器發(fā)送回復(fù),通過(guò)猜測(cè)或窮舉得到正確的回復(fù)ID,以便進(jìn)行DNS欺騙攻擊。在BIND4和BIND8中猜測(cè)成功的機(jī)率是: (n是同時(shí)向目標(biāo)DNS服務(wù)器發(fā)送請(qǐng)求的數(shù)目)。許多Internet的正常服務(wù)都必須依賴于DNS服務(wù)。因此,如果此缺陷被成功利用,將會(huì)影響網(wǎng)絡(luò)中的其它服務(wù)。攻擊者可使用DNS欺騙進(jìn)行拒絕服務(wù)攻擊或者偽裝成一個(gè)受信任的系統(tǒng)。受影響版本:BIND4.9.11以及之前的版本(4.9.x)BIND8.2.7以及之前的版本(8.2.x)BIND8.3.4以及之前的版本(8.3.x)解決方案:建議用戶立即升級(jí)到版本BIND9.2.1:/products/BIND/bind9.html臨時(shí)解決方案:(1)配置DNS服務(wù)器僅僅允許在自己的域內(nèi)使用遞歸;(2)在防火墻或邊界路由器上進(jìn)行防欺騙配置;(3)將DNS服務(wù)器放置在DMZ內(nèi)。8.3安全協(xié)議IPSec8.3.1IP協(xié)議簡(jiǎn)介

IP協(xié)議是位于ISO七層協(xié)議中網(wǎng)絡(luò)層的協(xié)議,它實(shí)現(xiàn)了Internet中自動(dòng)路由的功能,即尋徑的功能。IP維系著整個(gè)TCP/IP協(xié)議的體系結(jié)構(gòu)。除了數(shù)據(jù)鏈路層外,TCP/IP協(xié)議棧的所有協(xié)議都是以IP數(shù)據(jù)報(bào)的形式傳輸?shù)摹P允許主機(jī)直接向數(shù)據(jù)鏈路層發(fā)送數(shù)據(jù)包,這些數(shù)據(jù)包最終會(huì)進(jìn)入物理網(wǎng)絡(luò),然后可能通過(guò)不同的網(wǎng)絡(luò)傳送到目的地。IP提供無(wú)連接的服務(wù),在無(wú)連接的服務(wù)中,每個(gè)數(shù)據(jù)報(bào)都包含完整的目的地址并且路由相互獨(dú)立,這樣,使用無(wú)連接的服務(wù)時(shí),數(shù)據(jù)報(bào)到達(dá)目的地的順序可能與發(fā)送方發(fā)送的順序不同。TCP/IP協(xié)議有兩種IP版本:版本4(IPv4)和版本6(IPv6)。我們現(xiàn)在使用的是IPv4,最新的IPv6可以解決地址緊缺的問(wèn)題,而IPSec技術(shù)則為保護(hù)IP通信的安全提供了一個(gè)可行的解決方案,它適合上面的兩種IP版本。8.3.2下一代IP-IPv6

近年來(lái)隨著通信業(yè)的高速發(fā)展,中國(guó)已經(jīng)成為通信技術(shù)和應(yīng)用發(fā)展的主要市場(chǎng)。2002年11月30日,中國(guó)移動(dòng)電話用戶已達(dá)到了2億,固定電話的普及率為31.99%,互聯(lián)網(wǎng)用戶則為4829萬(wàn)。由此,我國(guó)現(xiàn)有的IPv4已經(jīng)不能滿足網(wǎng)絡(luò)市場(chǎng)對(duì)地址空間、端到端的IP連接、服務(wù)質(zhì)量、網(wǎng)絡(luò)安全和移動(dòng)性能的要求。因此,以IPv6為核心技術(shù)的下一代網(wǎng)絡(luò)在中國(guó)正越來(lái)越受到重視。IPv6(InternetProtocolVersion6,Internet協(xié)議版本6)如表6.1所示,它是Internet協(xié)議的最新版本,已作為IP的一部分并被許多主要的操作系統(tǒng)所支持。IPv6也被稱為“IPng”(下一代IP),它對(duì)現(xiàn)行的IP(版本4)進(jìn)行了重大的改進(jìn)。使用IPv4和IPv6的網(wǎng)絡(luò)主機(jī)和中間結(jié)點(diǎn)可以處理IP協(xié)議中任何一層的包。用戶和服務(wù)商可以直接安裝IPv6而不用對(duì)系統(tǒng)進(jìn)行什么重大的修改。相對(duì)于版本4新版本的最大改進(jìn)在于將IP地址從32位改為128位,這一改進(jìn)是為了適應(yīng)網(wǎng)絡(luò)快速的發(fā)展對(duì)IP地址的需求,也從根本上改變了IP地址短缺的問(wèn)題??梢灶A(yù)見(jiàn),IPv6可以為未來(lái)10~15年左右分配足夠的IP地址。IPv6的改進(jìn)有:簡(jiǎn)化IPv4首部字段,被刪除或者成為可選字段,減少了一般情況下包的處理開(kāi)銷(xiāo)以及IPv6首部占用的帶寬。IP首部選項(xiàng)編碼方式的修改導(dǎo)致了更加高效的傳輸,在選項(xiàng)長(zhǎng)度方面少了更多的限制,在將來(lái)引入新的選項(xiàng)時(shí)有了更強(qiáng)的適應(yīng)性。加入一個(gè)新的能力,使得那些發(fā)送者要求特殊處理的傳輸流的包能夠貼上標(biāo)簽,比如非缺省質(zhì)量的服務(wù)或者實(shí)時(shí)服務(wù)。為支持認(rèn)證、數(shù)據(jù)完整性以及(可選的)數(shù)據(jù)保密的擴(kuò)展都在IPv6中說(shuō)明。IPv6定義在RFC2373(IPVersion6AddressingArchitecture,1998.7),RFC2374(AnIPv6,AggregatableGlobalUnicastAddressFormat1998.7),RFC2375(IPv6MulticastAddressAssignments,1998.7)和RFC2492(IPv6OverATMNetwork,1999)中。很顯然IPv6(128位)和IPv4(32位)是有區(qū)別的,因?yàn)樗?個(gè)16位地址段,而IPv4有4個(gè)8位地址。除了這個(gè)明顯區(qū)別外,IPv6使用了一個(gè)不同的方式來(lái)表示它的編碼。表8.1IPv6地址表示方法

請(qǐng)記住,可以使用一套雙冒號(hào)(::)來(lái)替代許多組的16位0,從而可以避免在一個(gè)IPv6地址的一部分位置輸入一整串0。同樣這套雙冒號(hào)在一個(gè)地址中只能使用一次,一般用來(lái)壓縮開(kāi)始或者結(jié)尾部分的0,因此,不會(huì)有這樣的地址::10::(假如你想表示0:0:0:0:0:0:10:0:0:0)。

IPv6推廣的復(fù)雜性來(lái)自于路由器和其它的網(wǎng)絡(luò)設(shè)備?,F(xiàn)在的路由器要么只支持IPv4,要么只支持IPv6,從來(lái)不會(huì)支持兩種。所以在網(wǎng)絡(luò)技術(shù)有了新的發(fā)現(xiàn)和發(fā)明或者大規(guī)模部署IPv6路由設(shè)備之前,要廣泛使用IPv6仍然需要幾年的時(shí)間。8.3.3IP安全協(xié)議IPSec的用途

IP數(shù)據(jù)包本質(zhì)上是不安全的。偽造IP地址,篡改IP數(shù)據(jù)報(bào)的內(nèi)容,重放舊的內(nèi)容,監(jiān)測(cè)傳輸中的數(shù)據(jù)包的內(nèi)容都是比較容易的。因此,既不能保證一個(gè)IP數(shù)據(jù)報(bào)確實(shí)來(lái)自它聲稱的來(lái)源,也不能保證IP數(shù)據(jù)報(bào)在從發(fā)源到目的地的傳輸過(guò)程中沒(méi)有被第三方篡改或者窺視。

設(shè)計(jì)IPSec是為了給IPv4和IPv6數(shù)據(jù)提供高質(zhì)量的、可互操作的、基于密碼學(xué)的安全性。它可以防止IP地址欺騙,防止任何形式的IP數(shù)據(jù)報(bào)篡改和重放,并為IP數(shù)據(jù)報(bào)提供保密性和其它的安全服務(wù)。IPSec在網(wǎng)絡(luò)層提供這些服務(wù),該層是在TCP/IP協(xié)議棧中包含IP協(xié)議的那一層。IPSec所提供的安全服務(wù)是通過(guò)使用密碼協(xié)議和安全機(jī)制來(lái)聯(lián)合實(shí)現(xiàn)的。IPSec能夠讓系統(tǒng)選擇所需的安全協(xié)議,和它一起使用密碼算法,同時(shí)生成為提供這些請(qǐng)求的服務(wù)所必需的密鑰,并將它們放在核心的位置。IPSec提供的安全服務(wù)包括對(duì)網(wǎng)絡(luò)單元的訪問(wèn)控制、數(shù)據(jù)源認(rèn)證、提供用于無(wú)連接服務(wù)的協(xié)議(協(xié)議)的無(wú)連接完整性、重放數(shù)據(jù)報(bào)的監(jiān)測(cè)和拒絕、使用加密來(lái)提供保密性和有限的數(shù)據(jù)流保密性。由于IPSec服務(wù)是在網(wǎng)絡(luò)層提供的,任何上層協(xié)議,如TCP、UDP、ICMP和IGMP,或者任何應(yīng)用層協(xié)議都可以使用這些服務(wù)。8.3.4IPSec的結(jié)構(gòu)

IPSec通過(guò)使用兩種通信安全協(xié)議:認(rèn)證頭(AH,AuthenticationHeader)、封裝安全載荷(ESP,EncryptionServicePayload),并使用像Internet密鑰交換(IKE,InternetKeyExchange)協(xié)議來(lái)共同實(shí)現(xiàn)安全性。

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

設(shè)計(jì)認(rèn)證頭(AH)協(xié)議的目的是用來(lái)增加IP數(shù)據(jù)報(bào)的安全性。AH協(xié)議提供無(wú)連接的完整性、數(shù)據(jù)源認(rèn)證和防重放保護(hù)服務(wù)。然而,AH不提供任何保密性服務(wù),它不加密所保護(hù)的數(shù)據(jù)包,如圖6.3所示。AH的作用是為IP數(shù)據(jù)流提供高強(qiáng)度的密碼認(rèn)證,以確保被修改過(guò)的數(shù)據(jù)包可以被檢查出來(lái)。圖8.3AH認(rèn)證和完整性AH使用消息驗(yàn)證碼(MAC)對(duì)IP進(jìn)行認(rèn)證。MAC是一種算法,它接收一個(gè)任意長(zhǎng)度的消息和一個(gè)密鑰,生成一個(gè)固定長(zhǎng)度的輸出,成為消息摘要或指紋。如果數(shù)據(jù)報(bào)的任何一部分在傳送過(guò)程中被篡改,那么,當(dāng)接收端運(yùn)行同樣的MAC算法,并與發(fā)送端發(fā)送的消息摘要值進(jìn)行比較時(shí),就會(huì)被檢測(cè)出來(lái)。最常見(jiàn)的MAC是HMAC,HMAC可以和任何迭代密碼散列函數(shù)(如MD5,SHA-1,RIPEMD-160或者Tiger)結(jié)合使用,而不用對(duì)散列函數(shù)進(jìn)行修改。AH被應(yīng)用于整個(gè)數(shù)據(jù)包,除了任何在傳輸中易變的IP報(bào)頭域(例如被沿途的路由器修改的TTL域)。AH的工作步驟如下:

(1)IP報(bào)頭和數(shù)據(jù)負(fù)載用來(lái)生成MAC;

(2)MAC被用來(lái)建立一個(gè)新的AH報(bào)頭,并添加到原始的數(shù)據(jù)包上;

(3)新的數(shù)據(jù)包被傳送到IPSec對(duì)端路由器上;

(4)對(duì)端路由器對(duì)IP報(bào)頭和數(shù)據(jù)負(fù)載生成MAC,并從AH報(bào)頭中提取出發(fā)送過(guò)來(lái)的MAC信息,且對(duì)兩個(gè)信息進(jìn)行比較。MAC信息必須精確匹配,即使所傳輸?shù)臄?shù)據(jù)包有一個(gè)比特位被改變,對(duì)接收到的數(shù)據(jù)包的散列計(jì)算結(jié)果都將會(huì)改變,AH報(bào)頭也將不能匹配。

2.封裝安全載荷(ESP)

封裝安全載荷(ESP)可以被用來(lái)提供保密性、數(shù)據(jù)來(lái)源認(rèn)證(鑒別)、無(wú)連接完整性、防重放服務(wù),以及通過(guò)防止數(shù)據(jù)流分析來(lái)提供有限的數(shù)據(jù)流加密保護(hù)。實(shí)際上,ESP提供和AH類(lèi)似的服務(wù),但是增加了兩個(gè)額外的服務(wù):數(shù)據(jù)保密和有限的數(shù)據(jù)流保密服務(wù)。保密服務(wù)由通過(guò)使用密碼算法加密IP數(shù)據(jù)報(bào)的相關(guān)部分來(lái)實(shí)現(xiàn)。數(shù)據(jù)流保密由隧道模式下的保密服務(wù)來(lái)提供,如圖8.4所示。圖8.4封裝完全載荷ESPESP中用來(lái)加密數(shù)據(jù)報(bào)的密碼算法都毫無(wú)例外地使用了對(duì)稱密鑰體制。公鑰密碼算法采用計(jì)算量非常大的大整數(shù)模指數(shù)運(yùn)算,大整數(shù)的規(guī)模超過(guò)300位十進(jìn)制數(shù)字。而對(duì)稱密碼算法主要使用初級(jí)操作(異或、逐位與、位循環(huán)等),無(wú)論以軟件還是硬件方式執(zhí)行都非常有效。所以相對(duì)公鑰密碼系統(tǒng)而言,對(duì)稱密鑰系統(tǒng)的加、解密效率要高得多。ESP通過(guò)在IP層對(duì)數(shù)據(jù)包進(jìn)行加密來(lái)提供保密性,它支持各種對(duì)稱的加密算法。對(duì)于IPSec的缺省算法是56比特的DES。該加密算法必須被實(shí)施,以保證IPSec設(shè)備間的互操作性。ESP通過(guò)使用消息認(rèn)證碼(MAC)來(lái)提供認(rèn)證服務(wù)。

ESP可以單獨(dú)應(yīng)用,也可以以嵌套的方式使用,或者和AH結(jié)合使用。

3.IKE協(xié)議與其它任何一種類(lèi)型的加密一樣,在交換經(jīng)過(guò)IPSec加密的數(shù)據(jù)之前,必須先建立起一種關(guān)系,這種關(guān)系被稱為“安全關(guān)聯(lián)(SA,SecurityAssociation)”。在一個(gè)SA中,兩個(gè)系統(tǒng)就如何交換和保護(hù)數(shù)據(jù)要預(yù)先達(dá)成協(xié)議。IKE過(guò)程是一種IETF標(biāo)準(zhǔn)的安全關(guān)聯(lián)和密鑰交換解析的方法。

IKE實(shí)行集中化的安全關(guān)聯(lián)管理,并生成和管理授權(quán)密鑰,授權(quán)密鑰是用來(lái)保護(hù)要傳送的數(shù)據(jù)的。除此之外,IKE還使得管理員能夠定制密鑰交換的特性。例如,可以設(shè)置密鑰交換的頻率,這可以降低密鑰受到侵害的機(jī)會(huì),還可以降低被截獲的數(shù)據(jù)被破譯的機(jī)會(huì)。Internet密鑰交換(IKE)是一種混合協(xié)議,它為IPSec提供實(shí)用服務(wù)(IPSec雙方的鑒別、IKE和IPSec安全關(guān)聯(lián)的協(xié)商),以及為IPSec所用的加密算法建立密鑰。它使用了三個(gè)不同協(xié)議的相關(guān)部分:Internet安全關(guān)聯(lián)和密鑰交換協(xié)議(ISAKMP)、Oakley密鑰確定協(xié)議和SKEME。

IKE為IPSec雙方提供用于生成加密密鑰和認(rèn)證密鑰的密鑰信息。同樣,IKE使用ISAKMP為其它IPSec(AH和ESP)協(xié)議協(xié)商SA(安全關(guān)聯(lián))。8.4電子郵件的安全性8.4.1PGPPGP最早出現(xiàn)在1990年,是一種長(zhǎng)期在學(xué)術(shù)圈和技術(shù)圈內(nèi)得到廣泛使用的安全郵件標(biāo)準(zhǔn)。其特點(diǎn)是通過(guò)單向散列算法對(duì)郵件內(nèi)容進(jìn)行簽名,保證信件內(nèi)容無(wú)法修改,使用公鑰和私鑰技術(shù)來(lái)保證郵件內(nèi)容保密且不可否認(rèn)。發(fā)信人與收信人的公鑰發(fā)布在公開(kāi)的地方,如FTP站點(diǎn)。公鑰本身的權(quán)威性由第三方,特別是收信人所熟悉或信任的第三方進(jìn)行簽名認(rèn)證,但它沒(méi)有統(tǒng)一的集中的機(jī)構(gòu)進(jìn)行公鑰/私鑰的簽發(fā)。在PGP系統(tǒng)中,更多的信任是來(lái)自于通信的雙方。PGP(PrettyGoodPrivacy)是一個(gè)基于RSA公鑰加密體系的郵件加密軟件。它可以對(duì)你的郵件保密以防止非授權(quán)者閱讀,它還能對(duì)你的郵件加上數(shù)字簽名從而使收信人可以確信郵件是你發(fā)來(lái)的。它讓你可以安全地和你從未見(jiàn)過(guò)的人們通信,事先并不需要任何保密的渠道用來(lái)傳遞密鑰。它采用了審慎的密鑰管理,一種RSA和傳統(tǒng)加密的雜合算法,用于數(shù)字簽名的郵件文摘算法,加密前壓縮等,還有一個(gè)良好的人機(jī)工程設(shè)計(jì)。它的功能強(qiáng)大,有很快的速度,而且它的源代碼是免費(fèi)的。

實(shí)際上PGP的功能不止上面說(shuō)的可以用來(lái)加密文件,還可以用PGP代替UUencode生成RADIX64格式(就是MIME的BASE64格式)的編碼文件。

PGP的創(chuàng)始人是美國(guó)的PhilZimmermann。他的創(chuàng)造性在于他把RSA公鑰體系的方便和傳統(tǒng)加密體系的高速度結(jié)合起來(lái),并且在數(shù)字簽名和密鑰認(rèn)證管理機(jī)制上有巧妙的設(shè)計(jì),因此PGP成為幾乎最流行的公鑰加密軟件包。1.加密原理

PGP是一種供大眾使用的加密軟件。在現(xiàn)代社會(huì)里,電子郵件和網(wǎng)絡(luò)上的文件傳輸已經(jīng)成為生活的一部分。郵件的安全問(wèn)題就日益突出了,大家都知道在Internet上傳輸?shù)臄?shù)據(jù)是不加密的。如果你自己不保護(hù)自己的信息,第三者就會(huì)輕易獲得你的隱秘。還有一個(gè)問(wèn)題就是信息認(rèn)證,如何讓收信人確信郵件沒(méi)有被第三者篡改,就需要數(shù)字簽名技術(shù)。RSA公鑰體系的特點(diǎn)可滿足上述兩個(gè)要求:保密性(Privacy)和認(rèn)證性(Authentication)。RSA(RivestShamirAdleman)算法是一種基于素因子分解假設(shè)的公鑰體系。簡(jiǎn)單地說(shuō)就是找兩個(gè)很大的質(zhì)數(shù),一個(gè)公開(kāi)給外界,一個(gè)不告訴任何人。一個(gè)稱為“公鑰”,另一個(gè)稱為“私鑰”(Publickey&SecretkeyorPrivatekey)。這兩個(gè)密鑰是互補(bǔ)的,就是說(shuō)用公鑰加密的密文可以用私鑰解密,反過(guò)來(lái)也一樣。假設(shè)甲要寄信給乙,他們互相知道對(duì)方的公鑰。甲用乙的公鑰加密郵件寄出,乙收到后可以用自己的私鑰解密出甲的原文。由于沒(méi)別人知道乙的私鑰,因此即使是甲本人也無(wú)法解密那封信,這就解決了信件保密的問(wèn)題。另一方面由于每個(gè)人都知道乙的公鑰,他們都可以給乙發(fā)信,那么乙就無(wú)法確信是不是甲的來(lái)信。認(rèn)證的問(wèn)題就出現(xiàn)了,這時(shí)候數(shù)字簽名就有用了。

在說(shuō)明數(shù)字簽名前先要解釋一下什么是“郵件文摘”(MessageDigest),簡(jiǎn)單地講就是對(duì)一封郵件用某種算法算出一個(gè)最能體現(xiàn)這封郵件特征的數(shù)來(lái),一旦郵件有任何改變,這個(gè)數(shù)都會(huì)變化,那么這個(gè)數(shù)加上作者的名字(實(shí)際上在作者的密鑰里)還有日期等等,就可以作為一個(gè)簽名了。確切地說(shuō)PGP是用一個(gè)128位的二進(jìn)制數(shù)作為“郵件文摘”的,用來(lái)產(chǎn)生它的算法叫MD5(messagedigest5),MD5的提出者是RonRivest,PGP中使用的代碼是由ColinPlumb編寫(xiě)的,MD5本身是公用軟件,所以PGP的法律條款中沒(méi)有提到它。MD5是一種單向散列算法,它不像CRC校驗(yàn)碼,很難找到一份替代的郵件與原件具有同樣的MD5特征值。

回到數(shù)字簽名上來(lái),甲用自己的私鑰將上述的128位的特征值加密,附加在郵件后,再用乙的公鑰將整個(gè)郵件加密。(注意這里的次序,如果先加密再簽名的話,別人可以將簽名去掉后簽上自己的簽名,從而篡改了簽名)。這樣這份密文被乙收到以后,乙用自己的私鑰將郵件解密,得到甲的原文和簽名,乙的PGP也從原文計(jì)算出一個(gè)128位的特征值來(lái)和用甲的公鑰解密簽名所得到的數(shù)比較,如果符合就說(shuō)明這份郵件確實(shí)是甲寄來(lái)的,這樣兩個(gè)安全性要求都得到了滿足。PGP還可以只簽名而不加密,這適用于公開(kāi)發(fā)表聲明時(shí),聲明人為了證實(shí)自己的身份(在網(wǎng)絡(luò)上只能如此),可以用自己的私鑰簽名,這樣就可以讓收件人能確認(rèn)發(fā)信人的身份,也可以防止發(fā)信人抵賴自己的聲明,這一點(diǎn)在商業(yè)領(lǐng)域有很大的應(yīng)用前途,它可以防止發(fā)信人抵賴和信件被途中篡改。

那么為什么說(shuō)PGP用的是RSA和傳統(tǒng)加密的雜合算法呢?因?yàn)镽SA算法計(jì)算量極大,在速度上不適合加密大量數(shù)據(jù),所以PGP實(shí)際上用來(lái)加密的不是RSA本身,而是采用了一種叫IDEA的傳統(tǒng)加密算法。傳統(tǒng)加密,簡(jiǎn)單地說(shuō)就是用一個(gè)密鑰加密明文,然后用同樣的密鑰解密。這種方法的代表是DES(USFederalDataEncryptionStandard),也就是乘法加密,它的主要缺點(diǎn)就是密鑰的傳遞渠道解決不了安全性問(wèn)題,不適合網(wǎng)絡(luò)環(huán)境郵件加密需要。IDEA是一個(gè)有專利的算法,專利持有者是ETH和一個(gè)瑞士公司(AscomTechAG)。非商業(yè)用途的IDEA實(shí)現(xiàn)不用向他們交納費(fèi)用。因?yàn)?,IDEA的加(解)密速度比RSA快得多,所以實(shí)際上PGP是以一個(gè)隨機(jī)生成密鑰(每次加密不同)用IDEA算法對(duì)明文加密,然后用RSA算法對(duì)該密鑰加密。這樣收件人同樣是用RSA解密出這個(gè)隨機(jī)密鑰,再用IDEA解密郵件本身。這樣的鏈?zhǔn)郊用芫妥龅搅思扔蠷SA體系的保密性,又有IDEA算法的快捷性。PGP的創(chuàng)意有一半就在這一點(diǎn)上了,為什么RSA體系自20世紀(jì)70年代提出以來(lái),一直沒(méi)有被推廣應(yīng)用呢?速度太慢,那么PGP創(chuàng)意的另一半在哪兒呢?下面再談PGP的密鑰管理。

2.密鑰管理機(jī)制一個(gè)成熟的加密體系必然要有一個(gè)成熟的密鑰管理機(jī)制配套。公鑰體制的提出就是為了解決傳統(tǒng)加密體系中密鑰分配過(guò)程難以保密的缺點(diǎn)。比如網(wǎng)絡(luò)黑客們常用的手段之一就是“監(jiān)聽(tīng)”,如果密鑰是通過(guò)網(wǎng)絡(luò)傳送就太危險(xiǎn)了。舉個(gè)例子在NovellNetware的老版本中,用戶的密碼是以明文在線路中傳輸?shù)模@樣監(jiān)聽(tīng)者就輕易獲得了他人的密碼。當(dāng)然Netware4.1中數(shù)據(jù)包頭的用戶密碼現(xiàn)在加密了,對(duì)PGP來(lái)說(shuō)公鑰本來(lái)就要公開(kāi),就不存在防監(jiān)聽(tīng)的問(wèn)題。但公鑰的發(fā)布中仍然存在安全性問(wèn)題,例如公鑰被篡改就是公鑰密碼體系中最大的漏洞,因?yàn)榇蠖鄶?shù)新手不能很快發(fā)現(xiàn)這一點(diǎn)。

防止這種情況出現(xiàn)的最好辦法是避免讓任何其他人有機(jī)會(huì)篡改公鑰,比如直接從Alice手中得到她的公鑰,然而當(dāng)她在千里之外或無(wú)法見(jiàn)到時(shí),這是很困難的,PGP發(fā)展了一種公鑰介紹機(jī)制來(lái)解決這個(gè)問(wèn)題。舉例來(lái)說(shuō),如果你和Alice有一個(gè)共同的朋友David,而David知道他手中的Alice的公鑰是正確的(關(guān)于如何認(rèn)證公鑰,PGP還有一種方法,后面會(huì)談到,這里假設(shè)David已經(jīng)和Alice認(rèn)證過(guò)她的公鑰)。這樣David可以用他自己的私鑰在Alice的公鑰上簽名(就是用上面講的簽名方法),表示他擔(dān)保這個(gè)公鑰屬于Alice。當(dāng)然你需要用David的公鑰來(lái)校驗(yàn)他給你的Alice的公鑰,同樣David也可以向Alice認(rèn)證你的公鑰,這樣David就成為你和Alice之間的“介紹人”。這樣Alice或David就可以放心地把David簽過(guò)字的Alice的公鑰上載到BBS上讓你去拿,沒(méi)人可能去篡改它而不被你發(fā)現(xiàn),即使是BBS的管理員也不行。這就是從公共渠道傳遞公鑰的安全手段。

那怎么能安全地得到David的公鑰呢?也有可能你拿到的David的公鑰也是假的。PGP對(duì)這種可能也有預(yù)防的建議,那就是由一個(gè)大家普遍信任的人或機(jī)構(gòu)擔(dān)當(dāng)這個(gè)角色。他被稱為“密鑰侍者”或“認(rèn)證權(quán)威”,每個(gè)由他簽字的公鑰都被認(rèn)為是真的,這樣大家只要有一份他的公鑰就行了,認(rèn)證這個(gè)人的公鑰是方便的,因?yàn)樗麖V泛提供這個(gè)服務(wù),假冒他的公鑰是很困難的,因?yàn)樗墓€流傳廣泛。這樣的“權(quán)威”適合由非個(gè)人控制組織或政府機(jī)構(gòu)充當(dāng),現(xiàn)在已經(jīng)有等級(jí)認(rèn)證制度的機(jī)構(gòu)存在。

對(duì)于那些非常分散的人們,PGP更贊成使用私人方式的密鑰轉(zhuǎn)介方式,因?yàn)榉枪俜酵緩礁芊从吵鋈藗冏匀坏纳鐣?huì)交往,而且人們也能自由地選擇信任的人來(lái)介紹??傊筒徽J(rèn)識(shí)的人們之間的交往一樣,每個(gè)公鑰至少有一個(gè)“用戶名”(UserID),并請(qǐng)盡量用自己的全名,最好再加上本人的E-mail地址,以免混淆。注意,你所必須遵循的規(guī)則是,在你使用任何一個(gè)公鑰之前,一定要首先認(rèn)證它。同樣你也不要隨便為別人簽字認(rèn)證他們的公鑰,就和你在現(xiàn)實(shí)生活中一樣,家里的鑰匙只能交給十分信任的人。

下面講述如何通過(guò)電話認(rèn)證密鑰。每個(gè)密鑰有它們自己的標(biāo)識(shí)(KeyID),KeyID是一個(gè)八位十六進(jìn)制數(shù),兩個(gè)密鑰具有相同KeyID的可能性是幾十億分之一,而且PGP還提供了一種更可靠的標(biāo)識(shí)密鑰的方法,即“密鑰指紋”(Key’sfingerprint)。每個(gè)密鑰對(duì)應(yīng)一串?dāng)?shù)字(16個(gè)兩位十六進(jìn)制數(shù)),這個(gè)指紋重復(fù)的可能就更微乎其微了。而且任何人無(wú)法指定生成一個(gè)具有某個(gè)指紋的密鑰,密鑰是隨機(jī)生成的,從指紋也無(wú)法反推出密鑰來(lái)。這樣你拿到某人的公鑰后就可以和他在電話上核對(duì)這個(gè)指紋,從而認(rèn)證他的公鑰。如果你無(wú)法和Alice通電話,你可以和David通電話認(rèn)證David的公鑰,從而通過(guò)David認(rèn)證了Alice的公鑰,這就是直接認(rèn)證和間接介紹的結(jié)合。

這樣又引出一種方法,就是把具有不同人簽名的自己的公鑰收集在一起,發(fā)送到公共場(chǎng)合,這樣希望大部分人至少認(rèn)識(shí)其中一個(gè)人,從而間接認(rèn)證了你的公鑰。同樣你簽了朋友的公鑰后應(yīng)該寄回給他,這樣就可以讓他通過(guò)你的其它朋友所認(rèn)證。有點(diǎn)意思吧,和現(xiàn)實(shí)社會(huì)中人們的交往一樣,PGP會(huì)自動(dòng)為你找出你拿到的公鑰中有哪些是你的朋友介紹來(lái)的,哪些是你朋友的朋友介紹來(lái)的,哪些則是朋友的朋友的朋友介紹的……,PGP會(huì)幫你把它們分為不同的信任級(jí)別,讓你參考決定對(duì)他們的信任程度。你可以指定某人有幾層轉(zhuǎn)介公鑰的能力,這種能力是隨著認(rèn)證的傳遞而遞減的。

轉(zhuǎn)介認(rèn)證機(jī)制具有傳遞性,這是個(gè)有趣的問(wèn)題。PGP的作者PhilZimmermann說(shuō)過(guò)一句話:“信賴不具有傳遞性。我有個(gè)我相信決不撒謊的朋友,可是他是個(gè)認(rèn)定總統(tǒng)決不撒謊的傻瓜,很顯然我并不認(rèn)為總統(tǒng)不撒謊?!?/p>

關(guān)于公鑰的安全性問(wèn)題是PGP安全的核心,和傳統(tǒng)單密鑰體系一樣,私鑰的保密也是決定性的。相對(duì)公鑰而言,私鑰不存在被篡改的問(wèn)題,但存在被泄露的問(wèn)題。RSA的私鑰是很長(zhǎng)的一個(gè)數(shù)字,用戶不可能將它記住,PGP的辦法是讓用戶為隨機(jī)生成的RSA私鑰指定一個(gè)口令(passphase)。只有通過(guò)給出口令才能將私鑰釋放出來(lái)使用,所以私鑰的安全性問(wèn)題實(shí)際上是對(duì)用戶口令的保密。當(dāng)然私鑰文件本身失密也很危險(xiǎn),因?yàn)槠谱g者所需要的只是用窮舉法試探出你的口令了,雖說(shuō)很困難但畢竟是損失了一層安全性。在這里只需簡(jiǎn)單地記住一點(diǎn),要像任何隱私一樣保密你的私鑰,不要讓任何人有機(jī)會(huì)接觸到它,最好只在大腦中保存它,不要寫(xiě)在紙上。PGP在安全性問(wèn)題上的審慎考慮體現(xiàn)在PGP的各個(gè)環(huán)節(jié),比如每次加密的實(shí)際密鑰是個(gè)隨機(jī)數(shù),大家都知道計(jì)算機(jī)是無(wú)法產(chǎn)生真正的隨機(jī)數(shù)的。PGP程序?qū)﹄S機(jī)數(shù)的產(chǎn)生是很審慎的,關(guān)鍵的隨機(jī)數(shù)像RSA密鑰的產(chǎn)生是從用戶敲鍵盤(pán)的時(shí)間間隔上取得隨機(jī)數(shù)種子的。對(duì)于磁盤(pán)上的randseed.bin文件是采用和郵件同樣強(qiáng)度來(lái)加密的,這有效地防止了他人從你的randseed.bin文件中分析出你的加密實(shí)際密鑰的規(guī)律來(lái)。PGP內(nèi)核使用PKZIP算法來(lái)壓縮加密前的明文,對(duì)電子郵件而言,壓縮后加密再經(jīng)過(guò)7bits編碼密文有可能比明文更短,這就節(jié)省了網(wǎng)絡(luò)傳輸?shù)臅r(shí)間。另一方面,明文經(jīng)過(guò)壓縮,實(shí)際上相當(dāng)于經(jīng)過(guò)一次變換,信息更加雜亂無(wú)章,對(duì)明文攻擊的抵御能力更強(qiáng)。PGP中使用的PKZIP算法是經(jīng)過(guò)原作者同意的。PKZIP算法是一個(gè)公認(rèn)的壓縮率和壓縮速度都相當(dāng)好的壓縮算法。在PGP中使用的是PKZIP2.0版本兼容的算法。8.4.2S/MIME

對(duì)一般用戶來(lái)說(shuō),PGP和S/MIME郵件加密專用協(xié)議,在使用上幾乎沒(méi)有什么差別。但是事實(shí)上它們是完全不同的,主要體現(xiàn)在格式上,這有點(diǎn)像GIF和JPEG兩種圖形文件,對(duì)用戶來(lái)說(shuō),查看圖片是沒(méi)有區(qū)別,但它們是兩種完全不一樣的文件。這也就意味著,由于格式的不同,一個(gè)使用PGP的用戶不能與另一個(gè)使用S/MIME的用戶通信,且他們也不能共享證書(shū)。兩者比較如表6.2所示。PGP/MIME和OpenPGP都是基于PGP的,現(xiàn)已經(jīng)得到許多重要的郵箱提供商支持,PGP的通信和認(rèn)證的格式是隨機(jī)生成的,使用簡(jiǎn)單的二進(jìn)制代碼。PGP的主要提供商是美國(guó)NAI的子公司PGP,在中國(guó),由于PGP的加密超過(guò)128位,受到美國(guó)出口限制,因此商用的比較少。表8.2S/MIMEv3和OpenPGP的對(duì)比S/MIME是一個(gè)新協(xié)議,最初版本來(lái)源于私有的商業(yè)社團(tuán)RSA數(shù)據(jù)安全公司。S/MIMEV2版本已經(jīng)廣泛地使用在安全電子郵件上。但是它并不是IETF的標(biāo)準(zhǔn),因?yàn)樗枰褂肦SA的密鑰交換,這就受限于美國(guó)RSA數(shù)據(jù)安全公司的專利(不過(guò),2001年12月該專利到期)。S/MIME是從PEM(PrivacyEnhancedMail)和MIME(Internet郵件的附件標(biāo)準(zhǔn))發(fā)展而來(lái)的。同PGP一樣,S/MIME也利用單向散列算法和公鑰與私鑰的加密體系,但它與PGP主要有兩點(diǎn)不同:它的認(rèn)證機(jī)制依賴于層次結(jié)構(gòu)的證書(shū)認(rèn)證機(jī)構(gòu),所有下一級(jí)的組織和個(gè)人的證書(shū)由上一級(jí)的組織負(fù)責(zé)認(rèn)證,而最上一級(jí)的組織(根證書(shū))之間相互認(rèn)證,整個(gè)信任關(guān)系基本是樹(shù)狀的,這就是所謂的TreeofTrust。還有,S/MIME將信件內(nèi)容加密簽名后作為特殊的附件傳送,它的證書(shū)格式采用X.509,但與一般瀏覽器網(wǎng)上使用的SSL證書(shū)有一定差異。

國(guó)內(nèi)眾多的認(rèn)證機(jī)構(gòu)基本都提供一種叫“安全電子郵件證書(shū)”的服務(wù),其技術(shù)對(duì)應(yīng)的就是S/MIME技術(shù),平臺(tái)使用的基本上是美國(guó)Versign的。主要提供商有北京的天威誠(chéng)信()和TrustAsia上海(),它們一個(gè)是Versign的中國(guó)區(qū)合作伙伴,一個(gè)是Versign亞太區(qū)分支機(jī)構(gòu)。8.5Web的安全性8.5.1Web的安全性要求計(jì)算機(jī)的安全性歷來(lái)都是人們討論的主要話題之一。而計(jì)算機(jī)安全主要研究的是計(jì)算機(jī)病毒的防治和系統(tǒng)的安全。在計(jì)算機(jī)網(wǎng)絡(luò)日益擴(kuò)展和普及的今天,計(jì)算機(jī)安全的要求更高,涉及面更廣,不但要求防治病毒,還要提高系統(tǒng)抵抗外來(lái)非法黑客入侵的能力,還要提高對(duì)遠(yuǎn)程數(shù)據(jù)傳輸?shù)谋C苄?,避免在傳輸途中遭受非法竊取。

1.主要的幾方面漏洞對(duì)于系統(tǒng)本身安全性,主要考慮服務(wù)器自身穩(wěn)定性、健壯性,增強(qiáng)自身抵抗能力,杜絕一切可能讓黑客入侵的渠道,避免造成對(duì)系統(tǒng)的威脅。

Web服務(wù)器的漏洞主要有下面幾個(gè)方面:

(1)Web服務(wù)器上的秘密文件、目錄或重要數(shù)據(jù)。

(2)從遠(yuǎn)程用戶向服務(wù)器發(fā)送信息時(shí),特別是信用卡之類(lèi)東西時(shí),中途遭不法分子的非法攔截。(3)Web服務(wù)器本身存在的一些漏洞,使得一些人能侵入到主機(jī)系統(tǒng)破壞一些重要的數(shù)據(jù),甚至造成系統(tǒng)癱瘓。

(4)CGI程序中存在漏洞。

(5)在防治網(wǎng)絡(luò)病毒方面,在http傳輸中HTML文件一般不會(huì)存在感染病毒的危險(xiǎn)。危險(xiǎn)在于下載可執(zhí)行軟件如:.zip.exe.arj.Z等文件過(guò)程中有可能潛伏病毒。2.安全預(yù)防措施

(1)限制在Web服務(wù)器新建帳戶,定期刪除一些短期使用的用戶。

(2)對(duì)在Web服務(wù)器上所開(kāi)的帳戶,在口令長(zhǎng)度及定期更改方面作出要求,防止被盜用。

(3)對(duì)口令和用戶名出錯(cuò)次數(shù)進(jìn)行限制,防范窮舉法攻擊。

(4)盡量使ftp,mail等服務(wù)器與之分開(kāi),去掉ftp,sendmail,tftp,NIS,NFS,finger,netstat等一些無(wú)關(guān)的應(yīng)用。(5)在Web服務(wù)器上去掉一些絕對(duì)不用的shell等之類(lèi)解釋器,即當(dāng)在你的cgi的程序中沒(méi)用到perl時(shí),就盡量把perl在系統(tǒng)解釋器中刪除掉。

(6)禁止亂用從其它網(wǎng)中下載的一些工具軟件,并在沒(méi)有詳細(xì)了解之前盡量不要用root身份注冊(cè)執(zhí)行,以防止某些程序員在程序中設(shè)下陷阱。

(7)定期查看服務(wù)器中的日志logs文件,分析一切可疑事件,及時(shí)發(fā)現(xiàn)一些非法用戶的入侵嘗試。(8)設(shè)置好Web服務(wù)器上系統(tǒng)文件的權(quán)限和屬性,對(duì)可讓人訪問(wèn)的文檔分配一個(gè)公用的組(WWW),并只分配它只讀的權(quán)利。把所有的HTML文件歸屬WWW組,由Web管理員管理WWW組。對(duì)于Web的配置文件僅對(duì)Web管理員有寫(xiě)的權(quán)利。

(9)有些Web服務(wù)器把Web的文檔目錄與FTP目錄指在同一目錄時(shí),應(yīng)該注意不要把FTP的目錄與CGI-BIN指定在一個(gè)目錄之下,這樣是為了防止一些用戶通過(guò)FTP上的perl或sh之類(lèi)程序并用Web的CGI-BIN去執(zhí)行造成不良后果。(10)通過(guò)限制用戶IP或DNS,控制訪問(wèn)許可。

(11)在選用Web服務(wù)器時(shí),應(yīng)考慮到不同服務(wù)器對(duì)安全的要求不一樣。一些簡(jiǎn)單的Web服務(wù)器就沒(méi)有考慮到安全的因素,不能把它用作商業(yè)應(yīng)用,只能被一些個(gè)人的網(wǎng)點(diǎn)所應(yīng)用。對(duì)重要商業(yè)應(yīng)用,必須加上防火墻和數(shù)據(jù)加密技術(shù)加以保護(hù)。在數(shù)據(jù)加密方面,更重要的是不斷提高和改進(jìn)數(shù)據(jù)加密技術(shù),使不法分子難有可乘之機(jī)。通過(guò)這些方法,就可以使Web服務(wù)處于相對(duì)安全的地位。8.5.2安全套接字層(SSL)

SSL(SecureSocketLayer)系由Netscape公司建議的一種構(gòu)建在TCP協(xié)議之上的保密措施通信協(xié)議,不但適用于HTTP,而且還適用于TELNET、FTP、NNTP、GOPHER等客戶/服務(wù)器模式的安全協(xié)議。NetscapeNavigator、SecureMosaic和MicrosoftInternetExplorer等客戶瀏覽器與Netscape、Microsoft、IBM、Quarterdeck、OpenMarket和O’Reilly等服務(wù)器產(chǎn)品都采用SSL協(xié)議。SSL協(xié)議允許客戶端(典型的如瀏覽器)和HTTP服務(wù)器之間能通過(guò)安全的連接來(lái)通信。SSL支持?jǐn)?shù)據(jù)的加密、來(lái)源驗(yàn)證及數(shù)據(jù)的完整性,以保護(hù)在不安全的公眾網(wǎng)絡(luò)上交換的數(shù)據(jù)。在SSL版本中,SSL3.0應(yīng)用則比較廣泛。最后,由SSL3.0改進(jìn)而來(lái)的傳輸層加密(TLS,TransportLayerSecurity)已經(jīng)成為Internet標(biāo)準(zhǔn)并應(yīng)用于幾乎所有的軟件中。在數(shù)據(jù)傳播之前,加密技術(shù)把數(shù)據(jù)轉(zhuǎn)變成看起來(lái)毫無(wú)意義的內(nèi)容來(lái)保護(hù)數(shù)據(jù)不被非法使用。其過(guò)程是,數(shù)據(jù)在一端(客戶端或者服務(wù)器端)被加密、傳輸,再在另一端被解密。

來(lái)源認(rèn)證是驗(yàn)證數(shù)據(jù)發(fā)送者身份的一種辦法。瀏覽器或者其它客戶端第一次嘗試與網(wǎng)頁(yè)服務(wù)器進(jìn)行安全連接通信時(shí),服務(wù)器會(huì)將一套信任信息以證書(shū)的形式呈現(xiàn)出來(lái)。證書(shū)由權(quán)威認(rèn)證機(jī)構(gòu)(CA)——值得信賴的授權(quán)者發(fā)行和驗(yàn)證。一個(gè)證書(shū)描述一個(gè)人的公鑰。一個(gè)簽名的文檔會(huì)作出如下保證:我證明文檔中的這個(gè)公鑰屬于在該文檔中命名的實(shí)體,簽名(權(quán)威認(rèn)證機(jī)構(gòu))。目前知名的權(quán)威認(rèn)證機(jī)構(gòu)有Verisign、Entrust和Thawte等。注意現(xiàn)在使用的SSL/TLS證書(shū)是X.509證書(shū)。SSL協(xié)議的目標(biāo)是提供兩個(gè)應(yīng)用間通信的保密和可靠性,可在服務(wù)器和客戶端同時(shí)實(shí)現(xiàn)支持。SSL可提供3種基本的安全服務(wù):信息保密、信息完整性、相互認(rèn)證,如表6.3所示。表8.3SSL的應(yīng)用SSL由兩層組成,低層是SSL記錄層,用于封裝不同的上層協(xié)議,其中一個(gè)被封裝的協(xié)議即SSL握手協(xié)議,它可以讓服務(wù)器和客戶機(jī)在傳輸應(yīng)用數(shù)據(jù)之前,協(xié)商加密算法和加密密鑰,客戶機(jī)提出自己能支持的全部算法清單,服務(wù)器選擇最適合它的算法。

SSL是名符其實(shí)的安全套接層,它的連接動(dòng)作和TCP的連接類(lèi)似,因此,你可以認(rèn)為像SSL連接就是安全的TCP連接,因?yàn)樵趨f(xié)議層次圖(圖6.5)中,SSL的位置正好在TCP之上而在應(yīng)用層之下。但是,SSL不支持某些TCP的特性,比如頻帶外數(shù)據(jù)。圖8.5SSL和TCP/IP協(xié)議的層次SSL的特性之一是為電子商務(wù)的事務(wù)提供可交流的加密技術(shù)和為驗(yàn)證算法提供標(biāo)準(zhǔn)的方法。SSL的開(kāi)發(fā)者認(rèn)識(shí)到不是所有人都會(huì)使用同一個(gè)客戶端軟件,從而不是所有客戶端都會(huì)包括任何詳細(xì)的加密算法。對(duì)于服務(wù)器也是同樣,位于連接兩端的客戶端和服務(wù)器在初始化“握手”的時(shí)候,需要交流加密和解密算法(密碼組)。如果它們沒(méi)有足夠的公用算法,連接嘗試將會(huì)失敗。注意當(dāng)SSL允許客戶端和服務(wù)器端相互驗(yàn)證的時(shí)候,典型的作法是只有服務(wù)器端在SSL層上進(jìn)行驗(yàn)證??蛻舳送ǔT趹?yīng)用層,通過(guò)SSL保護(hù)通道傳送的密碼來(lái)進(jìn)行驗(yàn)證。這個(gè)模式常用于銀行、股份交易和其它的安全網(wǎng)絡(luò)應(yīng)用中。圖8.6SSL“握手”協(xié)議

這些消息的意義如下:

(1)ClientHello發(fā)送信息到服務(wù)器的客戶端,這些信息如SSL協(xié)議版本、會(huì)話ID、密碼組信息、加密算法和能支持的密鑰的大小。

(2)ServerHello選擇最好密碼組的服務(wù)器并發(fā)送這個(gè)消息給客戶端。密碼組包括客戶端和服務(wù)器支持。

(3)Certificate服務(wù)器將包含其公鑰的證書(shū)發(fā)送給客戶端。這個(gè)消息是可選的,在服務(wù)器請(qǐng)求驗(yàn)證的時(shí)候會(huì)需要它。換句話說(shuō),證書(shū)用于向客戶端確認(rèn)服務(wù)器的身份。(4)CertificateRequest這個(gè)消息僅在服務(wù)器請(qǐng)求客戶端驗(yàn)證它自身的時(shí)候發(fā)送。多數(shù)電子商務(wù)應(yīng)用不需要客戶端對(duì)自身進(jìn)行。

(5)ServerKeyExchange如果證書(shū)包含了服務(wù)器的公鑰不足以進(jìn)行密鑰交換,則發(fā)送該消息。

(6)ServerHelloDone這個(gè)消息通知客戶端,服務(wù)器已經(jīng)完成了交流過(guò)程的初始化。

(7)Certificate僅當(dāng)服務(wù)器請(qǐng)求客戶端對(duì)自己進(jìn)行驗(yàn)證的時(shí)候發(fā)送。(8)ClientKeyExchange客戶端產(chǎn)生一個(gè)密鑰與服務(wù)器共享。如果使用Rivest-Shamir-Adelman(RSA)加密算法,客戶端將使用服務(wù)器的公鑰將密鑰加密之后再發(fā)送給服務(wù)器。服務(wù)器使用自己的私鑰或者密鑰對(duì)消息進(jìn)行解密以得到共享的密鑰?,F(xiàn)在,客戶端和服務(wù)器共享著一個(gè)已經(jīng)安全分發(fā)的密鑰。

(9)CertificateVerify如果服務(wù)器請(qǐng)求驗(yàn)證客戶端,則這個(gè)消息允許服務(wù)器完成驗(yàn)證過(guò)程。(10)ChangeCipherSpec客戶端要求服務(wù)器使用加密模式。

(11)Finished客戶端告訴服務(wù)器它已經(jīng)準(zhǔn)備好安全通信了。

(12)ChangeCipherSpec服務(wù)器要求客戶端使用加密模式。

(13)Finished這是SSL“握手”結(jié)果的標(biāo)志。

(14)EncryptedData客戶端和服務(wù)器可以在安全通信通道上進(jìn)行加密信息的交流。8.5.3安全超文本傳輸協(xié)議從WorldWideWeb角度來(lái)看,人們提出了三種安全的HTTP協(xié)議或協(xié)議(如表8.4所示)。第一個(gè)是HTTPS,它事實(shí)上就是基于SSL來(lái)實(shí)現(xiàn)安全的HTTP。第二個(gè)是SHTTP(SecureHTTP),是CommerceNet在1994年提出的,其最初的目的是用于電子商務(wù)。該協(xié)議后來(lái)也提交給了因特網(wǎng)工程任務(wù)組IETF的Web事務(wù)安全工作組討論。像SSL一樣,SHTTP提供了數(shù)據(jù)機(jī)密性、數(shù)據(jù)完整性和身份鑒別或認(rèn)證服務(wù)。兩者的不同之處在于,SHTTP是HTTP的一個(gè)擴(kuò)展,它把安全機(jī)制嵌入到HTTP中。顯然,由于SHTTP較之SSL更面向應(yīng)用,因此實(shí)現(xiàn)起來(lái)要復(fù)雜一些。

在早期,各廠商一般只選擇支持上述兩個(gè)協(xié)議之一,但現(xiàn)在許多廠商對(duì)兩者都支持。第三個(gè)是安全電子交易(SecureElectronicTransaction)SET。這是一個(gè)龐大的協(xié)議,它主要涉及電子商務(wù)中的支付處理。它不僅定義了電子支付協(xié)議,還定義了證書(shū)管理過(guò)程。SET是由Visa和MasterCard共同提出的。表8.4SHTTP和TCP/IP的層次SHTTP(SecureHTTP)系由CommerceNet公司建議構(gòu)造在HTTP協(xié)議之上的高層協(xié)議。目前由OpenMarket公司推銷(xiāo)的OpenMarketplace服務(wù)器結(jié)合EnterpriseIntegrationTechnologies的SecureHTTPMosaic客戶瀏覽器采用。

SHTTP/HTTP可以采用多種方式對(duì)信息進(jìn)行封裝。封裝的內(nèi)容包括加密、簽名和基于MAC的認(rèn)證,并且一個(gè)消息可以被反復(fù)封裝加密。此外,SHTTP還定義了包頭信息來(lái)進(jìn)行密鑰傳輸、認(rèn)證傳輸和相似的管理功能。SHTTP可以支持多種加密協(xié)議,還為程序員提供了靈活的編程環(huán)境。

由于SSL的迅速出現(xiàn),SHTTP未能得到廣泛應(yīng)用。

SHTTP使用HTTP的MIME網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行簽名、驗(yàn)證和加密,數(shù)據(jù)加密可以采用對(duì)稱或非對(duì)稱加密。通過(guò)SHTTP,安全服務(wù)器以加密和簽名信息回答請(qǐng)求。在對(duì)客戶驗(yàn)證簽名及身份時(shí),驗(yàn)證是通過(guò)服務(wù)器的私鑰實(shí)現(xiàn),該私鑰用來(lái)產(chǎn)生服務(wù)器的數(shù)字簽名,當(dāng)信息發(fā)給客戶時(shí),服務(wù)器將其公鑰證書(shū)和簽名信息一起發(fā)往客戶,客戶便可以驗(yàn)證發(fā)送者身份,服務(wù)器也可以用同樣的過(guò)程來(lái)驗(yàn)證發(fā)自客戶的數(shù)字簽名。SHTTP的范圍覆蓋了Web客戶和服務(wù)器。SSL可使用各種類(lèi)型的加密算法和密鑰驗(yàn)證機(jī)制,與SHTTP相似,SSL提供加密HTTP網(wǎng)絡(luò)數(shù)據(jù)包的能力。SHTTP在HTTP協(xié)議層工作,SSL在套接字層工作,并能加密多種其它基于套接字的Internet協(xié)議。SSL的客戶機(jī)和服務(wù)器之間的談判與套接字談判的處理過(guò)程相似。SSL不同于SHTTP之處在于,后者是HTTP的超集,只限于Web的使用,前者則是通過(guò)Socket發(fā)送信息,SSL是一個(gè)通過(guò)Socket層對(duì)客戶和服務(wù)器間的事務(wù)進(jìn)行安全處理的協(xié)議,適用于所有TCP/IP應(yīng)用。SSL包括:客戶和服務(wù)器之間協(xié)商加密算法類(lèi)型的信息、交換證書(shū)和密鑰的信息。

目前SSL基本取代了SHTTP。大多數(shù)Web貿(mào)易均采用傳統(tǒng)的Web協(xié)議,并使用SSL加密的HTTP來(lái)傳輸敏感的賬單信息。各種Web交易應(yīng)用程序都提供相似功能,其后端系統(tǒng)正在被商品化的商用服務(wù)器產(chǎn)品所取代。較為復(fù)雜的實(shí)時(shí)支付確認(rèn)系統(tǒng)需要與商業(yè)銀行中的商業(yè)系統(tǒng)集成。復(fù)雜性較小的系統(tǒng)可延遲支付確認(rèn),直到所需的交易移到貿(mào)易商的常規(guī)帳單系統(tǒng)。8.6虛擬專用網(wǎng)及其安全性8.6.1VPN簡(jiǎn)介虛擬專用網(wǎng)(VPN)是平衡Internet的適用性和價(jià)格優(yōu)勢(shì)的最有前途的新興通信手段之一。VPN被廣泛接受的定義是:建立在公眾網(wǎng)絡(luò)上,并隔離給單獨(dú)用戶使用的任何網(wǎng)絡(luò)。依這條定義來(lái)衡量,F(xiàn)rameRelay,X.25,ATM等都可以認(rèn)為是VPN,這種VPN一般被認(rèn)為是第二層的VPN。正在蓬勃發(fā)展的VPN模式,是建立在共享的IP骨干網(wǎng)上的網(wǎng)絡(luò),它被稱為IPVPNs。利用這種共享的IP網(wǎng)建立VPN連接,可以使企業(yè)減少對(duì)昂貴租用線路和復(fù)雜遠(yuǎn)程訪問(wèn)方案的依賴性。據(jù)預(yù)測(cè),到2001年,VPN服務(wù)的市場(chǎng)數(shù)量將超過(guò)100億美元,同時(shí)每年設(shè)備的市場(chǎng)數(shù)量將達(dá)到15億美元。

與傳統(tǒng)專用網(wǎng)相比,VPN給企業(yè)帶來(lái)很多的好處,同時(shí)也給服務(wù)供應(yīng)商特別是ISP帶來(lái)很多機(jī)會(huì)。VPN給企業(yè)帶來(lái)的好處主要有以下四點(diǎn):(1)降低成本;(2)易于擴(kuò)展;(3)可隨意與合作伙伴聯(lián)網(wǎng);(4)完全控制主動(dòng)權(quán)。VPN的解決方案根據(jù)應(yīng)用環(huán)境的不同分為三類(lèi)(如圖8.7所示):

(1)AccessVPN主要提供給公司內(nèi)部在外出差和在家中辦公的人員與公司建立通信;

(2)IntranetVPN主要提供給公司內(nèi)部各分支辦公室與中心辦公室之間建立通信;

(3)ExtranetVPN主要提供給合作伙伴和重要客戶與本公司建立通信。圖8.7VPN解決方案分類(lèi)8.6.2VPN協(xié)議

1.協(xié)議分類(lèi)目前,兩種既各具特點(diǎn)又具有一定互補(bǔ)性的VPN架構(gòu)正逐漸推廣應(yīng)用。一種是二層隧道協(xié)議用于傳輸二層網(wǎng)絡(luò)協(xié)議,它主要應(yīng)用于構(gòu)建AccessVPN和ExtranetVPN;另一種是三層隧道協(xié)議用于傳輸三層網(wǎng)絡(luò)協(xié)議,它主要應(yīng)用于構(gòu)建IntranetVPN和ExtranetVPN。

二層隧道協(xié)議主要有三種:PPTP(PointtoPointTunnelingProtocol)點(diǎn)對(duì)點(diǎn)隧道協(xié)議,L2F(Layer2Forwarding)二層轉(zhuǎn)發(fā)協(xié)議和L2TP(Layer2TunnelingProtocol)二層隧道協(xié)議,其中L2TP結(jié)合了前兩個(gè)協(xié)議的優(yōu)點(diǎn),具有更優(yōu)越的特性得到了越來(lái)越多的組織和公司的支持,也是使用最廣泛的VPN二層隧道協(xié)議。用于傳輸三層網(wǎng)絡(luò)協(xié)議的隧道協(xié)議叫三層隧道協(xié)議。三層隧道協(xié)議并非是一種很新的技術(shù),其實(shí)早已出現(xiàn)的GRE(GenericRoutingEncapsulation,RFC1701)協(xié)議就是一個(gè)三層隧道協(xié)議,此外還有IETF的IPSec協(xié)議,以及最新的MPLS。IPSec和MPLS方式是正在蓬勃發(fā)展的VPN模式,是建立在共享的IP骨干網(wǎng)上的網(wǎng)絡(luò),它被稱為IPVPNs,發(fā)展前景十分廣闊。

2.IPSecVPNIPSecIPSecurity是一組開(kāi)放協(xié)議的總稱,特定的通信方之間在IP層通過(guò)加密與數(shù)據(jù)源驗(yàn)證,以保證數(shù)據(jù)包在Internet網(wǎng)上傳輸時(shí)的私有性完整性和真實(shí)性。IPSec通過(guò)AH(AuthenticationHeader)和ESP(EncapsulatingSecurityPayload)這兩個(gè)安全協(xié)議來(lái)實(shí)現(xiàn)。此實(shí)現(xiàn)不會(huì)對(duì)用戶主機(jī)或其它Internet組件造成影響,用戶還可以選擇不同的硬件和軟件加密算法,不會(huì)影響其它部分的實(shí)現(xiàn)。

傳統(tǒng)VPN基于封裝(隧道)技術(shù)以及加密模塊技術(shù),可在兩個(gè)位置間安全地傳輸數(shù)據(jù)。IPSec協(xié)議是目前VPN中最常用的。該類(lèi)型的VPN是位于IP網(wǎng)絡(luò)頂層的點(diǎn)對(duì)點(diǎn)隧道的覆蓋,它位于另一種IP網(wǎng)絡(luò)的上層。由于是一種覆蓋,在每個(gè)站點(diǎn)之間必須建立一個(gè)隧道,這就導(dǎo)致了網(wǎng)絡(luò)的低效。

這里存在兩種網(wǎng)絡(luò)布局結(jié)構(gòu):中心輻射布局和全網(wǎng)絡(luò)布局。中心輻射布局是由一個(gè)中心站點(diǎn)同許多遠(yuǎn)程站點(diǎn)相連,這是IPSec網(wǎng)的最實(shí)用的布局,如圖6.8所示。位于中心站點(diǎn)位置的用戶前端設(shè)備(CPE,ClientPremisesEquipment)通常非常昂貴,其價(jià)格同相連的遠(yuǎn)程站點(diǎn)的數(shù)目有關(guān)。每個(gè)遠(yuǎn)程站點(diǎn)都會(huì)建立到中心站點(diǎn)的IPSec隧道。如果有20個(gè)遠(yuǎn)程站點(diǎn),那么就會(huì)建立20個(gè)到中心站點(diǎn)的IPSec隧道。圖8.8IPSec實(shí)際使用拓?fù)鋱D

該模式對(duì)于遠(yuǎn)程到遠(yuǎn)程之間的通信不是最優(yōu)的。任何數(shù)據(jù)包,如果從一個(gè)遠(yuǎn)程站點(diǎn)發(fā)送到另外一個(gè)遠(yuǎn)程站點(diǎn),首先需要通過(guò)中心站點(diǎn),需要中心站點(diǎn)實(shí)現(xiàn)解封、解密、判定轉(zhuǎn)發(fā)路徑、加密、封裝等一系列步驟。這對(duì)于在遠(yuǎn)程站點(diǎn)中已經(jīng)進(jìn)行的封裝/加密工作來(lái)說(shuō),是多余的。實(shí)際上,數(shù)據(jù)包經(jīng)過(guò)兩個(gè)IPSec隧道的傳輸,延遲時(shí)間大大地增加了,超過(guò)了兩個(gè)站點(diǎn)之間直接通信時(shí),數(shù)據(jù)包的延遲時(shí)間。

很顯然,解決這個(gè)問(wèn)題的方案是建立一個(gè)全網(wǎng)狀布局。但該類(lèi)型的布局存在不少缺點(diǎn),最大的缺點(diǎn)是可擴(kuò)充性。對(duì)于全網(wǎng)狀I(lǐng)PSec網(wǎng)絡(luò),需要支持的隧道的數(shù)量隨著站點(diǎn)的數(shù)目呈幾何級(jí)數(shù)增加。例如對(duì)于一個(gè)21個(gè)站點(diǎn)構(gòu)成的中心輻射布局網(wǎng)絡(luò)(一個(gè)中心站點(diǎn)和20個(gè)遠(yuǎn)程站點(diǎn)),需要建立210個(gè)IPSec隧道。每個(gè)站點(diǎn)需要配置能夠處理20個(gè)IPSec隧道的CPE,這意味著每個(gè)站點(diǎn)需要價(jià)格更為昂貴的CPE設(shè)備。從某種意義上講,建立一個(gè)全網(wǎng)狀布局是不現(xiàn)實(shí)的,想象一下由100個(gè)站點(diǎn)組成的VPN,那它將需要建立4950個(gè)隧道。

另外一個(gè)考慮的是CPE設(shè)備,一個(gè)供應(yīng)商需要確保所有的CPE之間能夠兼容。最簡(jiǎn)單的方案是在每個(gè)位置使用同一種CPE設(shè)備,但這并不總是可行。許多場(chǎng)合中,用戶打算重用自己的CPE。另外,對(duì)于DSL,同一種CPE設(shè)備并沒(méi)有在所有不同的CLEC設(shè)備之間進(jìn)行過(guò)測(cè)試,雖然兼容性目前不是個(gè)大問(wèn)題,但在使用IPSec協(xié)議時(shí)仍需要考慮。對(duì)于IPSecVPN來(lái)說(shuō),配置將成為問(wèn)題,供應(yīng)商必須配置好每個(gè)IPSec隧道。配置單一的一個(gè)IPSec隧道不成問(wèn)題,但網(wǎng)絡(luò)結(jié)點(diǎn)數(shù)量增大時(shí),問(wèn)題就來(lái)了。在建立全網(wǎng)狀的布局時(shí),情況最糟,上例中,配置一個(gè)由21個(gè)結(jié)點(diǎn)組成的網(wǎng)絡(luò)需費(fèi)時(shí)數(shù)天。對(duì)于服務(wù)供應(yīng)商來(lái)說(shuō),日常維護(hù)的難度也很大。

3.MPLSVPNMPLS(MultiprotocolLabelSwitch)多協(xié)議標(biāo)簽交換吸收了ATM的一些交換的思想,無(wú)縫地集成了IP路由技術(shù)的靈活性和二層交換的簡(jiǎn)捷性。在面向無(wú)連接的IP網(wǎng)絡(luò)中增加了MPLS這種面向連接的屬性,通過(guò)采用MPLS建立“虛連接”的方法為IP網(wǎng)增加了一些管理和運(yùn)營(yíng)的手段。

MPLSVPN中,客戶站點(diǎn)運(yùn)行的是通常的IP協(xié)議,它們并不需要運(yùn)行MPLS,IPSec或者其它特殊的VPN功能。在PE路由器中,路由識(shí)別器對(duì)應(yīng)于每個(gè)客戶站點(diǎn)的連接。這些連接可以是諸如T1、單一的幀中繼、ATM虛電路、DSL等這樣的物理連接。路由識(shí)別器在PE路由器中被配置,是設(shè)置VPN站點(diǎn)工作的一部分,它并不在客戶設(shè)備上進(jìn)行配置,對(duì)于客戶來(lái)說(shuō)是透明的。1)MPLSVPN的工作過(guò)程

(1)用戶端的路由器(CE)首先通過(guò)靜態(tài)路由或BGP將用戶網(wǎng)絡(luò)中的路由信息通知提供商路由器(PE),同時(shí)在PE之間采用BGP的Extension傳送VPN-IP的信息以及相應(yīng)的標(biāo)記(VPN的標(biāo)記,以下簡(jiǎn)稱為內(nèi)層標(biāo)記),而在PE與P路由器之間則采用傳統(tǒng)的IGP協(xié)議相互學(xué)習(xí)路由信息,采用LDP協(xié)議進(jìn)行路由信息與標(biāo)記(骨干網(wǎng)絡(luò)中的標(biāo)記,以下稱為外層標(biāo)記)的綁定。到此時(shí),CE、PE以及P路由器中基本的網(wǎng)絡(luò)拓?fù)浜吐酚尚畔⒁呀?jīng)形成。PE路由器擁有了骨干網(wǎng)絡(luò)的路由信息以及每一個(gè)VPN的路由信息。(2)當(dāng)屬于某一VPN的CE用戶數(shù)據(jù)進(jìn)入網(wǎng)絡(luò)時(shí),在CE與PE連接的接口上可以識(shí)別出該CE屬于哪一個(gè)VPN,進(jìn)而到該VPN的路由表中去讀取下一跳的地址信息,同時(shí),在前傳的數(shù)據(jù)包中打上VPN標(biāo)記(內(nèi)層標(biāo)記)。這時(shí)得到的下一跳地址為與該P(yáng)E作Peer的PE的地址,為了達(dá)到這個(gè)目的端的PE,此時(shí)在起始端PE中需讀取骨干網(wǎng)絡(luò)的路由信息,從而得到下一個(gè)P路由器的地址,同時(shí)采用LDP在用戶前傳數(shù)據(jù)包中打上骨干網(wǎng)絡(luò)中的標(biāo)記(外層標(biāo)記)。(3)在骨干網(wǎng)絡(luò)中,初始PE之后的P只讀取外層標(biāo)記的信息來(lái)決定下一跳,因此骨干網(wǎng)絡(luò)中只是簡(jiǎn)單的標(biāo)記交換。

(4)在達(dá)到目的端PE之前的最后一個(gè)P路由器時(shí),將外層標(biāo)記去掉,讀取內(nèi)層標(biāo)記,找到VPN,并送到相關(guān)的接口上,進(jìn)而將數(shù)據(jù)傳送到VPN的目的地址處。采用MPLS/BGP協(xié)議的VPN結(jié)構(gòu)如圖8.9所示。從以上工作過(guò)程可見(jiàn),MPLSVPN絲毫不改變CE和PE原有的配置,一旦有新的CE加入到網(wǎng)絡(luò)時(shí),只需在PE上作簡(jiǎn)單配置,其余的改動(dòng)信息由IGP/BGP自動(dòng)通知CE和PE。圖8.9采用MPLS/BGP協(xié)議的VPN結(jié)構(gòu)2)MPLSVPN的優(yōu)點(diǎn)

(1)VPN連接配置簡(jiǎn)單,對(duì)現(xiàn)有骨干網(wǎng)絡(luò)沒(méi)有壓力;

(2)對(duì)現(xiàn)有用戶的要求為0,用戶不需要作任何改動(dòng),用戶加入VPN的配置也很簡(jiǎn)單;

(3)網(wǎng)絡(luò)可擴(kuò)展能力很強(qiáng);

(4)VPN用戶可以延用原有的專用地址,不需要作任何修改,在骨干網(wǎng)絡(luò)采用VPN-ID,可以保持全網(wǎng)的惟一性;

(5)易于提供增值業(yè)務(wù),如不同的COS。IPSecVPN和MPLSVPN之間的一個(gè)關(guān)鍵差異是MPLS廠商在性能、可用性以及服務(wù)等級(jí)上提供了SLA(ServiceLevelAgreement)。而它對(duì)于建立在IPSec設(shè)備上的VPN來(lái)說(shuō)則是不可用的,因?yàn)镮PSec設(shè)備利用Internet接入服務(wù)直接掛接在Internet上。

MPLSVPN要求所有的站點(diǎn)都與同一服務(wù)供應(yīng)商相關(guān)聯(lián)。如果連接到VPN的所有站點(diǎn)都是由一個(gè)公司所有的,這當(dāng)然不存在什么問(wèn)題,但是需要在VPN上增加商業(yè)合作伙伴時(shí),可能就會(huì)出現(xiàn)一些問(wèn)題。如果合作伙伴使用的是其它一些服務(wù)供應(yīng)商的服務(wù),而且它還需要加入這個(gè)連接的話,那么它就必須將連接轉(zhuǎn)到MPLSVPN供應(yīng)商。另外,MPLSVPN并沒(méi)有為自己的遠(yuǎn)程撥號(hào)用戶提供遠(yuǎn)程接入。

還有的公司使用了VPN管理服務(wù),服務(wù)供應(yīng)商可為其安裝、管理、監(jiān)測(cè)和維護(hù)VPN設(shè)備,這就減少了公司在設(shè)備上的投資,公司只需考慮設(shè)備的正常運(yùn)轉(zhuǎn)和不落伍就可以了。但是它的缺點(diǎn)就是,當(dāng)技術(shù)、設(shè)備需要更新時(shí),這些公司只能等待服務(wù)供應(yīng)商來(lái)作出決定。當(dāng)前,國(guó)內(nèi)的電信運(yùn)營(yíng)商——中國(guó)電信、中國(guó)網(wǎng)通

溫馨提示

  • 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)論