第17章-網(wǎng)絡(luò)安全_第1頁(yè)
第17章-網(wǎng)絡(luò)安全_第2頁(yè)
第17章-網(wǎng)絡(luò)安全_第3頁(yè)
第17章-網(wǎng)絡(luò)安全_第4頁(yè)
第17章-網(wǎng)絡(luò)安全_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)網(wǎng)絡(luò)安全本章學(xué)習(xí)目標(biāo)掌握虛擬專(zhuān)用網(wǎng)絡(luò)(VPN)技術(shù)的基本原理理解VPN的關(guān)鍵性技術(shù)——隧道技術(shù)掌握PPP、PPTP、L2F、L2TP等隧道協(xié)議熟悉IPSec協(xié)議,掌握AH協(xié)議與ESP協(xié)議的結(jié)構(gòu)特點(diǎn)掌握常用的安全技術(shù),包括加密技術(shù)、密鑰管理、認(rèn)證技術(shù)等理解網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)技術(shù)的基本原理與類(lèi)型17.1虛擬專(zhuān)用網(wǎng)VPN技術(shù)虛擬專(zhuān)用網(wǎng)(VPN)指的是依靠ISP(Internet服務(wù)提供商)和其他NSP(網(wǎng)絡(luò)服務(wù)提供商),在公用網(wǎng)絡(luò)中建立專(zhuān)用的數(shù)據(jù)通信網(wǎng)絡(luò)的技術(shù)。從定義上看,VPN首先是虛擬的,也就是說(shuō)VPN并不是某個(gè)公司專(zhuān)有的封閉線路或者是租用某個(gè)網(wǎng)絡(luò)服務(wù)商提供的封閉線路。但VPN同時(shí)又具有專(zhuān)線的數(shù)據(jù)傳輸功能,雖然VPN通訊建立在公共互聯(lián)網(wǎng)絡(luò)的基礎(chǔ)上,但是用戶(hù)在使用VPN時(shí)感覺(jué)如同在使用專(zhuān)用網(wǎng)絡(luò)進(jìn)行通信,所以稱(chēng)為虛擬專(zhuān)用網(wǎng)絡(luò)。VPN的模型由以下部分組成:(1)VPN客戶(hù):將VPN連接初始化為VPN服務(wù)器的計(jì)算機(jī)。(2)隧道:連接中封裝數(shù)據(jù)的部分。(3)VPN連接:連接中加密數(shù)據(jù)的部分。(4)隧道協(xié)議:用來(lái)管理隧道及壓縮專(zhuān)用數(shù)據(jù)的協(xié)議。包括PPTP和L2TP隧道協(xié)議。(5)隧道數(shù)據(jù):數(shù)據(jù)經(jīng)常在專(zhuān)用點(diǎn)對(duì)點(diǎn)的鏈接間發(fā)送。(6)傳輸互聯(lián)網(wǎng)絡(luò):壓縮數(shù)據(jù)所通過(guò)的共享的或公共的網(wǎng)絡(luò),通常是IP網(wǎng)絡(luò)?;诮⒌膶?duì)象,VPN可分為企業(yè)內(nèi)部VPN和企業(yè)外部VPN:(1)內(nèi)部VPN:在敏感部門(mén)的網(wǎng)絡(luò)和企業(yè)主網(wǎng)絡(luò)之間建立的VPN連接,這種VPN在通過(guò)驗(yàn)證機(jī)制提供安全性的同時(shí),還保證了連通性。該驗(yàn)證機(jī)制是在管理網(wǎng)絡(luò)連接的VPN服務(wù)器上實(shí)現(xiàn)的。(2)企業(yè)外部VPN:企業(yè)外部VPN連接的是公司網(wǎng)絡(luò)和商業(yè)伙伴,供應(yīng)商或者客戶(hù)所屬的外部網(wǎng)絡(luò)。基于建立通信的方法,VPN又可分為路由器到路由器VPN和遠(yuǎn)程訪問(wèn)VPN:(1)路由器到路由器VPN:客戶(hù)端與一個(gè)路由器相連,而路由器再和VPN服務(wù)器相連。這種連接只有在客戶(hù)端和服務(wù)器互相驗(yàn)證時(shí)才能建立。(2)遠(yuǎn)程訪問(wèn)VPN:VPN客戶(hù)端不需要使用路由器就可以和遠(yuǎn)程訪問(wèn)VPN服務(wù)器直接建立一個(gè)連接,遠(yuǎn)程訪問(wèn)VPN服務(wù)器驗(yàn)證該客戶(hù)端。客戶(hù)端被驗(yàn)證后,才被允許訪問(wèn)網(wǎng)絡(luò)以及遠(yuǎn)程訪問(wèn)服務(wù)器管理的資源。17.1虛擬專(zhuān)用網(wǎng)VPN技術(shù)17.2隧道技術(shù)隧道技術(shù)對(duì)于構(gòu)建VPN來(lái)說(shuō),是一個(gè)關(guān)鍵性技術(shù)。它是一種通過(guò)使用互聯(lián)網(wǎng)絡(luò)的基礎(chǔ)設(shè)施在網(wǎng)絡(luò)之間傳遞數(shù)據(jù)的方式。使用隧道傳遞的數(shù)據(jù)(或負(fù)載)可以是不同協(xié)議的數(shù)據(jù)幀或數(shù)據(jù)報(bào)。它的基本過(guò)程是:在源局域網(wǎng)與公網(wǎng)的接口處,將這些協(xié)議的數(shù)據(jù)幀或數(shù)據(jù)報(bào)重新封裝在新的報(bào)頭中發(fā)送。新的報(bào)頭提供了路由信息,從而使封裝的負(fù)載數(shù)據(jù)能夠通過(guò)互聯(lián)網(wǎng)絡(luò)傳遞。被封裝的數(shù)據(jù)報(bào)在隧道的兩個(gè)端點(diǎn)之間通過(guò)公共互聯(lián)網(wǎng)絡(luò)進(jìn)行路由。在目的局域網(wǎng)與公網(wǎng)的接口處將數(shù)據(jù)解封裝,取出負(fù)載,并轉(zhuǎn)發(fā)到最終目的地。注意隧道技術(shù)是指包括數(shù)據(jù)封裝、傳輸和解包在內(nèi)的全過(guò)程。被封裝的數(shù)據(jù)報(bào)在公共互聯(lián)網(wǎng)絡(luò)上傳遞時(shí)所經(jīng)過(guò)的邏輯路徑稱(chēng)為“隧道”。17.2.1隧道類(lèi)型1.自愿隧道(Voluntarytunnel)用戶(hù)或客戶(hù)端計(jì)算機(jī)可以通過(guò)發(fā)送VPN請(qǐng)求配置和創(chuàng)建一條自愿隧道。此時(shí),用戶(hù)端計(jì)算機(jī)作為隧道客戶(hù)方成為隧道的一個(gè)端點(diǎn)。自愿隧道需要有一條IP連接(通過(guò)局域網(wǎng)或撥號(hào)線路),客戶(hù)端計(jì)算機(jī)必須安裝適當(dāng)?shù)乃淼绤f(xié)議。使用撥號(hào)方式時(shí),客戶(hù)端必須在建立隧道之前創(chuàng)建與公共互聯(lián)網(wǎng)絡(luò)的撥號(hào)連接。2.強(qiáng)制隧道(Compulsorytunnel)由支持VPN的撥號(hào)接入服務(wù)器配置和創(chuàng)建一條強(qiáng)制隧道。此時(shí),用戶(hù)端的計(jì)算機(jī)不作為隧道端點(diǎn),而是由位于客戶(hù)計(jì)算機(jī)和隧道服務(wù)器之間的遠(yuǎn)程接入服務(wù)器作為隧道客戶(hù)端,成為隧道的一個(gè)端點(diǎn)。自愿隧道技術(shù)為每個(gè)客戶(hù)創(chuàng)建獨(dú)立的隧道,而強(qiáng)制隧道和隧道服務(wù)器之間建立的隧道可以被多個(gè)撥號(hào)客戶(hù)共享,不必為每個(gè)客戶(hù)建立一條新的隧道。因此,一條隧道中可能會(huì)傳遞多個(gè)客戶(hù)的數(shù)據(jù)信息,只有在最后一個(gè)隧道用戶(hù)斷開(kāi)連接之后才終止整條隧道。17.2.2隧道協(xié)議為創(chuàng)建隧道,隧道的客戶(hù)機(jī)和服務(wù)器雙方必須使用相同的隧道協(xié)議。OSI模型劃分,隧道技術(shù)可以分別以第2層或第3層隧道協(xié)議為基礎(chǔ):第2層隧道協(xié)議對(duì)應(yīng)OSI模型中的數(shù)據(jù)鏈路層,使用幀作為數(shù)據(jù)交換單位。PPTP、L2TP和L2F(第2層轉(zhuǎn)發(fā))都屬于第2層隧道協(xié)議,都是將數(shù)據(jù)封裝在點(diǎn)對(duì)點(diǎn)協(xié)議(PPP)幀中通過(guò)互聯(lián)網(wǎng)絡(luò)發(fā)送。對(duì)于像PPTP和L2TP這樣的第2層隧道協(xié)議,創(chuàng)建隧道的過(guò)程類(lèi)似于在雙方之間建立會(huì)話;隧道的兩個(gè)端點(diǎn)必須同意創(chuàng)建隧道并協(xié)商隧道各種配置變量,如地址分配、加密或壓縮等參數(shù)。絕大多數(shù)情況下,通過(guò)隧道傳輸?shù)臄?shù)據(jù)都使用基于數(shù)據(jù)報(bào)的協(xié)議發(fā)送。第3層隧道協(xié)議對(duì)應(yīng)OSI模型中的網(wǎng)絡(luò)層,使用包作為數(shù)據(jù)交換單位。IPSec隧道模式屬于第3層隧道協(xié)議,是將IP包封裝在附加的IP報(bào)頭中通過(guò)IP網(wǎng)絡(luò)傳送。第3層隧道技術(shù)通常不對(duì)隧道進(jìn)行維護(hù),而第2層隧道協(xié)議(PPTP和L2TP)必須包括對(duì)隧道的創(chuàng)建、維護(hù)和終止。1.點(diǎn)對(duì)點(diǎn)協(xié)議(PPP)

PPP為基于點(diǎn)對(duì)點(diǎn)連接的,多協(xié)議自尋址數(shù)據(jù)包的傳輸提供了一個(gè)標(biāo)準(zhǔn)方法。PPP最初設(shè)計(jì)是為兩個(gè)對(duì)等結(jié)構(gòu)之間的IP流量的傳輸提供一種封裝協(xié)議。在TCP/IP協(xié)議棧中它是一種關(guān)于同步調(diào)制連接的數(shù)據(jù)鏈路層(OSI模式中的第2層)協(xié)議。PPP主要由以下幾部分組成:(1)封裝:PPP封裝提供了不同網(wǎng)絡(luò)層協(xié)議同時(shí)通過(guò)統(tǒng)一鏈路的多路技術(shù),可以封裝多協(xié)議數(shù)據(jù)報(bào)。(2)鏈路控制協(xié)議(LCP):PPP提供的鏈路控制協(xié)議LCP用于就封裝格式選項(xiàng)自動(dòng)的達(dá)成一致,處理數(shù)據(jù)包大小的變化,探測(cè)looped-back鏈路和其他普通的配置錯(cuò)誤,以及終止鏈路。(3)網(wǎng)絡(luò)控制協(xié)議(NCP):一種擴(kuò)展鏈路控制協(xié)議,用于建立、配置、測(cè)試和管理數(shù)據(jù)鏈路連接。17.2.2隧道協(xié)議17.2.2隧道協(xié)議為了建立點(diǎn)對(duì)點(diǎn)鏈路通信,PPP鏈路的每一端必須首先發(fā)送LCP包以便設(shè)定和測(cè)試數(shù)據(jù)鏈路。在鏈路建立之后,LCP可選設(shè)備才可以被認(rèn)證。然后,PPP必須發(fā)送NCP包以便選擇和設(shè)定一個(gè)或更多的網(wǎng)絡(luò)層協(xié)議。一旦每個(gè)被選擇的網(wǎng)絡(luò)層協(xié)議都被設(shè)定好了,來(lái)自每個(gè)網(wǎng)絡(luò)層協(xié)議的數(shù)據(jù)報(bào)就能在連路上發(fā)送了。鏈路將保持通信設(shè)定不變,直到外在的LCP和NCP關(guān)閉鏈路,或者是發(fā)生一些外部事件(如休止?fàn)顟B(tài)的定時(shí)器期滿或者網(wǎng)絡(luò)管理員干涉)的時(shí)候。

PPP協(xié)議結(jié)構(gòu):(1)Flag:表示幀的起始或結(jié)束,由二進(jìn)制序列01111110構(gòu)成。(2)Address:包括二進(jìn)制序列11111111,標(biāo)準(zhǔn)廣播地址(注意:PPP不分配個(gè)人棧地址)。(3)Control:二進(jìn)制序列00000011,要求用戶(hù)數(shù)據(jù)傳輸采用無(wú)序幀。(4)Protocol:識(shí)別幀的Information字段封裝的協(xié)議。(5)Information:0或更多八位字節(jié),包含Protocol字段中指定的協(xié)議數(shù)據(jù)報(bào)。(6)FCS:幀校驗(yàn)序列(FCS)字段,通常為16位。8162440bitsVariable16-32bitsFlagAddressControlProtocolInformationFCS2.點(diǎn)對(duì)點(diǎn)隧道協(xié)議(

PointtoPointTunnelingProtocol,PPTP)

PPTP是一種支持多協(xié)議虛擬專(zhuān)用網(wǎng)絡(luò)的網(wǎng)絡(luò)技術(shù)。通過(guò)該協(xié)議,遠(yuǎn)程用戶(hù)能夠通過(guò)裝有點(diǎn)對(duì)點(diǎn)協(xié)議的系統(tǒng),安全訪問(wèn)公司網(wǎng)絡(luò),并能撥號(hào)連入本地ISP,通過(guò)Internet安全鏈接到公司網(wǎng)絡(luò)。

PPTP協(xié)議將控制包與數(shù)據(jù)包分開(kāi)??刂瓢捎肨CP控制,用于嚴(yán)格的狀態(tài)查詢(xún)及信令信息;數(shù)據(jù)包部分先封裝在PPP協(xié)議中,然后封裝到GRE(通用路由協(xié)議封裝)V2協(xié)議中。

PPTP是點(diǎn)對(duì)點(diǎn)協(xié)議(PPP)的擴(kuò)展,增強(qiáng)了PPP的身份驗(yàn)證、壓縮和加密機(jī)制。PPTP協(xié)議允許對(duì)IP或IPX數(shù)據(jù)流進(jìn)行加密,然后封裝在IP包頭中通過(guò)企業(yè)IP網(wǎng)絡(luò)或公共互聯(lián)網(wǎng)絡(luò)發(fā)送。PPTP與路由和遠(yuǎn)程訪問(wèn)服務(wù)程序一起安裝,通過(guò)使用路由和遠(yuǎn)程訪問(wèn)向?qū)?,可以為遠(yuǎn)程訪問(wèn)和請(qǐng)求撥號(hào)路由連接啟用PPTP端口。17.2.2隧道協(xié)議PPTP提供了對(duì)專(zhuān)用數(shù)據(jù)封裝和加密的VPN服務(wù):(1)封裝:使用通用路由封裝頭文件和IP頭數(shù)據(jù)包裝PPP幀。在IP頭文件中是與VPN客戶(hù)機(jī)和VPN服務(wù)器對(duì)應(yīng)的源和目標(biāo)IP地址。下圖顯示了PPP幀的PPTP封裝:

(2)加密:通過(guò)使用從MS-CHAP或EAP-TLS身份驗(yàn)證過(guò)程中生成的密匙,PPTP幀以MPPE方式進(jìn)行加密。17.2.2隧道協(xié)議17.2.2隧道協(xié)議PPTP協(xié)議結(jié)構(gòu):Length:該P(yáng)PTP信息的八位總長(zhǎng),包括整個(gè)PPTP頭。PPTPMessageType:信息類(lèi)型??赡苤涤校嚎刂菩畔?、管理信息。MagicCookie:以連續(xù)的0x1A2B3C4D進(jìn)行發(fā)送,目的是確保接收端與TCP數(shù)據(jù)流間的正確同步運(yùn)行。ControlMessageType:可能值包括開(kāi)始-控制-鏈接-請(qǐng)求,開(kāi)始-控制-鏈接-答復(fù),停止-控制-鏈接-請(qǐng)求,停止-控制-鏈接-答復(fù),回音-請(qǐng)求,回音-答復(fù)。1632bitLengthPPTPMessageTypeMagicCookieControlMessageTypeReserved0ProtocolVersionReserved1FramingCapabilityBearingCapabilityMaximumChannelsFirmwareRevisionHostName(64Octets)VendorString(64Octets)CallManagement:可能值包括導(dǎo)出-呼叫-請(qǐng)求(Outgoing-Call-Request),導(dǎo)出-呼叫-答復(fù)(Outgoing-Call-Reply),導(dǎo)入-呼叫-請(qǐng)求(Incoming-Call-Request),導(dǎo)入-呼叫-答復(fù)(Incoming-Call-Reply),導(dǎo)入-呼叫-鏈接(Incoming-Call-Connected),呼叫-清除-請(qǐng)求(Call-Clear-Request),呼叫-斷開(kāi)鏈接-通告(Call-Disconnect-Notify),廣域網(wǎng)-錯(cuò)誤-通告(WAN-Error-Notify)。PPPSessionControl:設(shè)置-鏈路-信息(Set-Link-Info)。Reserved0&1:必須設(shè)置為0ProtocolVersion:PPTP版本號(hào)FramingCapabilities:指出幀類(lèi)型,該信息發(fā)送方可以提供:異步幀支持(AsynchronousFramingSupported);同步幀支持(SynchronousFramingSupported)。BearerCapabilities:指出承載性能,該信息發(fā)送方可以提供:模擬訪問(wèn)支持(AnalogAccessSupported);數(shù)字訪問(wèn)支持(Digitalaccesssupported)。MaximumChannels:該P(yáng)AC可以支持的個(gè)人PPP會(huì)話總數(shù)。FirmwareRevision:若由PAC出發(fā),則包括發(fā)出PAC時(shí)的固件修訂本編號(hào);若由PNS出發(fā),則包括PNSPPTP驅(qū)動(dòng)版本。HostName:包括發(fā)行的PAC或PNS的DNS名稱(chēng)。VendorName:包括特定供應(yīng)商字串,指當(dāng)請(qǐng)求是由PNS提出時(shí),使用的PAC類(lèi)型或PNS軟件類(lèi)型。17.2.2隧道協(xié)議17.2.2隧道協(xié)議3.第二層轉(zhuǎn)發(fā)協(xié)議(

Level2Forwardingprotocol,L2F)

L2F用于建立跨越公共網(wǎng)絡(luò)(如Internet)的安全隧道,將ISPPOP連接到企業(yè)內(nèi)部網(wǎng)關(guān)。這個(gè)隧道建立了一個(gè)用戶(hù)與企業(yè)客戶(hù)網(wǎng)絡(luò)間的虛擬點(diǎn)對(duì)點(diǎn)連接。

L2F允許高層協(xié)議的鏈路層隧道技術(shù)。使用這樣的隧道,使得把原始撥號(hào)服務(wù)器位置和撥號(hào)協(xié)議連接終止與提供的網(wǎng)絡(luò)訪問(wèn)位置分離成為可能。L2F允許在L2F中封裝PPP/SLIP包。ISPNAS與家庭網(wǎng)關(guān)都需要共同了解封裝協(xié)議,這樣才能在Internet上成功地傳輸或接收SLIP/PPP包。L2F協(xié)議結(jié)構(gòu):1111111111111162432bitFKPS00000000CVersionProtocolSequenceMultiplexIDClientIDLengthOffsetKeyVersion:用于創(chuàng)建數(shù)據(jù)包的L2F軟件的主修版本。Protocol:協(xié)議字段,規(guī)定L2F數(shù)據(jù)包中傳送的協(xié)議。Sequence:當(dāng)L2F頭部的S位設(shè)置為1時(shí)的當(dāng)前序列號(hào)。MultiplexID:數(shù)據(jù)包MultiplexID用于識(shí)別一個(gè)隧道中的特殊鏈接。ClientID:ClientID(CLID)支持解除復(fù)用隧道中的終點(diǎn)。Length:整個(gè)數(shù)據(jù)包的長(zhǎng)度大小(八位形式),包括頭、所有字段以及有效負(fù)載。Offset:該字段規(guī)定通過(guò)L2F協(xié)議頭的字節(jié)數(shù),協(xié)議頭是有效負(fù)載數(shù)據(jù)起始位置。如果L2F頭部的F位設(shè)置為1時(shí),就會(huì)有該字段出現(xiàn)。Key:Key字段出現(xiàn)在將K位設(shè)置在L2F協(xié)議頭的情況。這屬于認(rèn)證過(guò)程。Checksum:數(shù)據(jù)包的校驗(yàn)和。Checksum字段出現(xiàn)在L2F協(xié)議頭中的C位設(shè)置為1的情況。17.2.2隧道協(xié)議4.第二層隧道協(xié)議(Layer2TunnelingProtocol,L2TP)

L2TP是國(guó)際標(biāo)準(zhǔn)隧道協(xié)議,它結(jié)合了PPTP協(xié)議以及L2F協(xié)議的優(yōu)點(diǎn),能以隧道方式使PPP包通過(guò)各種網(wǎng)絡(luò)協(xié)議(如ATM和幀中繼等)。但L2TP沒(méi)有任何加密措施,更多的是和IPSec協(xié)議結(jié)合使用,提供隧道驗(yàn)證。

PPP定義了多協(xié)議跨越第二層點(diǎn)對(duì)點(diǎn)鏈接的一個(gè)封裝機(jī)制。特別地,用戶(hù)通過(guò)使用眾多技術(shù)之一(如ISDN、ADSL等)獲得第二層連接到網(wǎng)絡(luò)訪問(wèn)服務(wù)器(NAS),然后在此連接上運(yùn)行PPP。在這樣的配置中,第二層終端點(diǎn)和PPP會(huì)話終點(diǎn)處于相同的物理設(shè)備中(如:NAS)。L2TP擴(kuò)展了PPP模型,允許第二層和PPP終點(diǎn)處于不同的由包交換網(wǎng)絡(luò)相互連接的設(shè)備來(lái)。通過(guò)L2TP,用戶(hù)在第二層連接到一個(gè)訪問(wèn)集中器(如調(diào)制解調(diào)器池、ADSLDSLAM等),然后這個(gè)集中器將單獨(dú)從PPP幀隧道到NAS。這樣,可以把PPP包的實(shí)際處理過(guò)程與L2連接的終點(diǎn)分離開(kāi)來(lái)。對(duì)于這樣的分離,其好處是L2連接可以在一個(gè)(本地)電路集中器上終止,然后通過(guò)共享網(wǎng)絡(luò)如幀中繼電路或因特網(wǎng)擴(kuò)展邏輯PPP會(huì)話,而不用在NAS上終止。

17.2.2隧道協(xié)議L2TP使用兩種信息類(lèi)型:控制信息和數(shù)據(jù)信息??刂菩畔⒂糜谒淼篮秃艚械慕?、維持和清除;數(shù)據(jù)信息用于封裝隧道所攜帶的PPP幀??刂菩畔⒗肔2TP中的一個(gè)可靠控制通道來(lái)確保發(fā)送,當(dāng)發(fā)生包丟失時(shí),不轉(zhuǎn)發(fā)數(shù)據(jù)信息。L2TP依賴(lài)于加密服務(wù)的網(wǎng)際協(xié)議安全(IPSec),基于IPSec的L2TP提供專(zhuān)用數(shù)據(jù)的封裝和加密的主要VPN服務(wù):(1)封裝:基于IPSec的L2TP數(shù)據(jù)包的封裝由兩層組成:①L2TP封裝:將PPP框架(IP數(shù)據(jù)包、IPX數(shù)據(jù)包或NetBEUI框架)包裝成L2TP。②IPSec封裝:使用IPSec封裝安全措施負(fù)載量(ESP)頭文件和尾文件、提供消息完整性和身份驗(yàn)證的IPSec身份驗(yàn)證尾文件及最后的IP頭數(shù)據(jù)包裝L2TP結(jié)果消息。在IP頭文件中有與VPN客戶(hù)機(jī)和VPN服務(wù)器對(duì)應(yīng)的源和目標(biāo)IP地址。17.2.2隧道協(xié)議17.2.2隧道協(xié)議下圖顯示了PPP數(shù)據(jù)包的L2TP和IPSec封裝:(2)加密:通過(guò)使用在IPSec身份驗(yàn)證過(guò)程中生成的密匙,使用IPSec加密機(jī)制加密L2TP消息。L2TP命令頭:

121632bitTLXXSXOPXXXXVERLengthTunnelIDSessionIDNs(opt)Nr(opt)OffsetSize(opt)OffsetPad(opt)T:T位表示信息類(lèi)型。若是數(shù)據(jù)信息,該值為0;若是控制信息,該值為1。L:當(dāng)設(shè)置該字段時(shí),說(shuō)明Length字段存在,表示接收數(shù)據(jù)包的總長(zhǎng)。對(duì)于控制信息,必須設(shè)置該值。X:X位為將來(lái)擴(kuò)張預(yù)留使用。在導(dǎo)出信息中所有預(yù)留位被設(shè)置為0,導(dǎo)入信息中該值忽略。S:如果設(shè)置S位,那么Nr字段和Ns字段都存在。對(duì)于控制信息,S位必須設(shè)置。當(dāng)設(shè)置該字段時(shí),表示在有效負(fù)載信息中存在OffsetSize字段。對(duì)于控制信息,該字段值設(shè)為0。P:如果Priority(P)位值為1,表示該數(shù)據(jù)信息在其本地排隊(duì)和傳輸中將會(huì)得到優(yōu)先處理。Ver:Ver位的值總為002。它表示一個(gè)版本1L2TP信息。Length:信息總長(zhǎng),包括頭、信息類(lèi)型AVP以及另外的與特定控制信息類(lèi)型相關(guān)的AVPs。17.2.2隧道協(xié)議TunnelID:識(shí)別控制信息應(yīng)用的Tunnel。如果對(duì)等結(jié)構(gòu)還沒(méi)有接收到分配的TunnelID,那么TunnelID必須設(shè)置為0。一旦接收到分配的TunnelID,所有更遠(yuǎn)的數(shù)據(jù)包必須和TunnelID一起被發(fā)送。CallID:識(shí)別控制信息應(yīng)用的Tunnel中的用戶(hù)會(huì)話。如果控制信息在Tunnel中不應(yīng)用單用戶(hù)會(huì)話(例如,一個(gè)Stop-Control-Connection-Notification信息),CallID必須設(shè)置為0。Nr:期望在下一個(gè)控制信息中接收到的序列號(hào)。Ns:數(shù)據(jù)或控制信息的序列號(hào)。OffsetSize&Pad:該字段規(guī)定通過(guò)L2TP協(xié)議頭的字節(jié)數(shù),協(xié)議頭是有效負(fù)載數(shù)據(jù)起始位置。OffsetPadding中的實(shí)際數(shù)據(jù)并沒(méi)有定義。如果Offset字段當(dāng)前存在,那么L2TP頭OffsetPadding的最后八位字節(jié)后結(jié)束。17.2.2隧道協(xié)議PPTP和L2TP都使用PPP協(xié)議對(duì)數(shù)據(jù)進(jìn)行封裝,然后添加附加包頭用于數(shù)據(jù)在互聯(lián)網(wǎng)絡(luò)上的傳輸。盡管兩個(gè)協(xié)議非常相似,但是仍存在以下幾方面的不同:(1)PPTP要求互聯(lián)網(wǎng)絡(luò)為IP網(wǎng)絡(luò)。L2TP只要求隧道媒介提供面向數(shù)據(jù)包的點(diǎn)對(duì)點(diǎn)的連接。L2TP可以在IP(使用UDP)、幀中繼永久虛擬電路(PVCs)、X.25虛擬電路(VCs)或ATMVCs網(wǎng)絡(luò)上使用。(2)PPTP只能在兩端點(diǎn)間建立單一隧道。L2TP支持在兩端點(diǎn)間使用多隧道。使用L2TP,用戶(hù)可以針對(duì)不同的服務(wù)質(zhì)量創(chuàng)建不同的隧道。(3)L2TP可以提供包頭壓縮。當(dāng)壓縮包頭時(shí),系統(tǒng)開(kāi)銷(xiāo)(overhead)占用4個(gè)字節(jié),而PPTP協(xié)議下要占用6個(gè)字節(jié)。(4)L2TP可以提供隧道驗(yàn)證,而PPTP則不支持隧道驗(yàn)證。但是當(dāng)L2TP或PPTP與IPSec共同使用時(shí),可以由IPSec提供隧道驗(yàn)證,不需在第2層協(xié)議上驗(yàn)證隧道。17.2.2隧道協(xié)議17.3.1IPSec協(xié)議IPSec協(xié)議是一種由IETF設(shè)計(jì)的端到端的、確保基于IP通訊的數(shù)據(jù)安全性的機(jī)制。它支持對(duì)數(shù)據(jù)加密,為網(wǎng)絡(luò)通信提供透明的安全服務(wù),保護(hù)TCP/IP通信免遭竊聽(tīng)和篡改,同時(shí)確保數(shù)據(jù)的完整性。其基本工作原理是:發(fā)送方在數(shù)據(jù)傳輸前對(duì)數(shù)據(jù)實(shí)施加密,在整個(gè)傳輸過(guò)程中,報(bào)文都是以密文方式傳輸,直到數(shù)據(jù)到達(dá)目的節(jié)點(diǎn),才由接收端對(duì)其進(jìn)行解密。IPSec對(duì)數(shù)據(jù)的加密以數(shù)據(jù)包而不是整個(gè)數(shù)據(jù)流為單位,這不僅更靈活,也有助于進(jìn)一步提高IP數(shù)據(jù)包的安全性。通過(guò)提供強(qiáng)有力的加密保護(hù),IPSec可以有效防范網(wǎng)絡(luò)攻擊,保證專(zhuān)用數(shù)據(jù)在公共網(wǎng)絡(luò)環(huán)境下的安全性。

IPSec給出了應(yīng)用于IP層上網(wǎng)絡(luò)數(shù)據(jù)安全的一整套體系結(jié)構(gòu),它包括網(wǎng)絡(luò)安全協(xié)議AH(AuthenticationHeader)協(xié)議和ESP(EncapsulatingSecurityPayload)協(xié)議、密鑰管理協(xié)議IKE(InternetKeyExchange)協(xié)議等。IPSec規(guī)定了如何選擇安全協(xié)議、確定安全算法和密鑰交換,向上提供了訪問(wèn)控制、數(shù)據(jù)源驗(yàn)證、數(shù)據(jù)加密等網(wǎng)絡(luò)安全服務(wù)??梢园袸PSec想像成是位于TCP/IP協(xié)議棧的下層協(xié)議,該層由每臺(tái)計(jì)算機(jī)上的安全策略和發(fā)送、接收方協(xié)商的安全關(guān)聯(lián)(securityassociation,SA)進(jìn)行控制。安全策略由一套過(guò)濾機(jī)制和關(guān)聯(lián)的安全行為組成。如果一個(gè)數(shù)據(jù)包的IP地址、協(xié)議和端口號(hào)都滿足一個(gè)過(guò)濾機(jī)制,那么這個(gè)數(shù)據(jù)包將要遵守關(guān)聯(lián)的安全行為。協(xié)商安全關(guān)聯(lián)(NegotiatedSecurityAssociation):第一個(gè)滿足過(guò)濾機(jī)制的數(shù)據(jù)包將會(huì)引發(fā)發(fā)送和接收方對(duì)安全關(guān)聯(lián)進(jìn)行協(xié)商。ISAKMP/OAKLEY是這種協(xié)商采用的標(biāo)準(zhǔn)協(xié)議。在一個(gè)ISAKMP/OAKLEY交換過(guò)程中,兩臺(tái)機(jī)器對(duì)驗(yàn)證和數(shù)據(jù)安全方式達(dá)成一致,進(jìn)行相互驗(yàn)證,然后生成一個(gè)用于隨后的數(shù)據(jù)加密的共享密鑰。17.3.1IPSec協(xié)議驗(yàn)證報(bào)頭(AH):通過(guò)一個(gè)位于IP報(bào)頭和傳輸報(bào)頭之間的驗(yàn)證報(bào)頭可以提供IP負(fù)載數(shù)據(jù)的完整性和數(shù)據(jù)驗(yàn)證。驗(yàn)證報(bào)頭包括驗(yàn)證數(shù)據(jù)和一個(gè)序列號(hào),共同用來(lái)驗(yàn)證發(fā)送方身份,確保數(shù)據(jù)在傳輸過(guò)程中沒(méi)有被改動(dòng),防止受到第三方的攻擊。IPSec驗(yàn)證報(bào)頭不提供數(shù)據(jù)加密;信息將以明文方式發(fā)送。封裝安全負(fù)載(ESP):為了保證數(shù)據(jù)的保密性并防止數(shù)據(jù)被第三方竊取,封裝安全負(fù)載提供了一種對(duì)IP負(fù)載進(jìn)行加密的機(jī)制。另外,ESP還可以提供數(shù)據(jù)驗(yàn)證和數(shù)據(jù)完整性服務(wù)。IPSec是第三層的協(xié)議標(biāo)準(zhǔn),支持IP網(wǎng)絡(luò)上數(shù)據(jù)的安全傳輸。除了對(duì)IP數(shù)據(jù)流的加密機(jī)制進(jìn)行了規(guī)定之外,IPSec還制定了隧道模式的數(shù)據(jù)包格式,一般被稱(chēng)作IPSec隧道模式。一個(gè)IPSec隧道由一個(gè)隧道客戶(hù)和隧道服務(wù)器組成,兩端都配置使用IPSec隧道技術(shù),采用協(xié)商加密機(jī)制。17.3.1IPSec協(xié)議IPSec實(shí)現(xiàn)在專(zhuān)用或公共IP網(wǎng)絡(luò)上的安全傳輸,IPSec隧道模式使用安全方式封裝和加密整個(gè)IP包,然后將加密的負(fù)載再次封裝在明文IP包頭內(nèi),通過(guò)網(wǎng)絡(luò)發(fā)送到隧道服務(wù)器端。隧道服務(wù)器對(duì)收到的數(shù)據(jù)報(bào)進(jìn)行處理,在去除明文IP包頭,對(duì)內(nèi)容進(jìn)行解密之后,獲得最初的負(fù)載IP包。負(fù)載IP包在經(jīng)過(guò)正常處理之后被路由到位于目標(biāo)網(wǎng)絡(luò)的目的地。17.3.1IPSec協(xié)議IPSec隧道模式具有以下功能和局限:(1)只能支持IP數(shù)據(jù)流。(2)工作在IP棧(IPstack)的底層,因此,應(yīng)用程序和高層協(xié)議可以繼承IPSec的行為。(3)由一個(gè)安全策略(一整套過(guò)濾機(jī)制)進(jìn)行控制。安全策略按照優(yōu)先級(jí)的先后順序創(chuàng)建可供使用的加密和隧道機(jī)制以及驗(yàn)證方式。當(dāng)需要建立通信時(shí),雙方機(jī)器執(zhí)行相互驗(yàn)證,然后協(xié)商使用何種加密方式。此后的所有數(shù)據(jù)流都將使用雙方協(xié)商的加密機(jī)制進(jìn)行加密,然后封裝在隧道報(bào)頭內(nèi)。17.3.1IPSec協(xié)議

17.3.2IPSec協(xié)議類(lèi)型

IPSec協(xié)議提供了兩種安全機(jī)制:認(rèn)證和加密。認(rèn)證機(jī)制使IP通信的數(shù)據(jù)接收方能夠確認(rèn)數(shù)據(jù)發(fā)送方的真實(shí)身份以及數(shù)據(jù)在傳輸過(guò)程中是否遭篡改。加密機(jī)制通過(guò)對(duì)數(shù)據(jù)進(jìn)行編碼來(lái)保證數(shù)據(jù)的機(jī)密性,以防數(shù)據(jù)在傳輸過(guò)程中被竊聽(tīng)。IPSec協(xié)議組包含AH協(xié)議、ESP協(xié)議和IKE協(xié)議。AH協(xié)議定義了認(rèn)證的應(yīng)用方法,提供數(shù)據(jù)源認(rèn)證和完整性保證;ESP協(xié)議定義了加密和可選認(rèn)證的應(yīng)用方法,提供可靠性保證。AH和ESP都可以提供認(rèn)證服務(wù),不過(guò),AH提供的認(rèn)證服務(wù)要強(qiáng)于ESP。

17.3.2IPSec協(xié)議類(lèi)型

1.驗(yàn)證報(bào)頭(AuthenticationHeader,AH)協(xié)議結(jié)構(gòu)

AH協(xié)議為IP通信提供數(shù)據(jù)源認(rèn)證、數(shù)據(jù)完整性和反重播保證,但是不能提供數(shù)據(jù)的保密性(即沒(méi)有加密數(shù)據(jù))傳輸。AH包含一個(gè)帶密鑰的Hash散列,此Hash散列在整個(gè)數(shù)據(jù)包中計(jì)算,因此對(duì)數(shù)據(jù)的任何更改將致使散列無(wú)效,從而提供了完整性保護(hù)。下圖為AH在IP格式中的位置以及AH字段的結(jié)構(gòu):8位8位16位下一報(bào)頭有效載荷長(zhǎng)度保留安全參數(shù)索引(SPI)序號(hào)認(rèn)證數(shù)據(jù)(可變)AH報(bào)頭各字段含義:(1)下一個(gè)報(bào)頭:規(guī)定了下一個(gè)要傳輸IP數(shù)據(jù)報(bào)的類(lèi)型。例如,下一個(gè)報(bào)頭值等于“6”,表示緊接其后的是TCP報(bào)頭。下一個(gè)報(bào)頭字段的值用一個(gè)8位的二進(jìn)制值表示。(2)有效載荷長(zhǎng)度:用一個(gè)8位的二進(jìn)制值表示AH報(bào)頭長(zhǎng)度。(3)保留字段:該字段的值為0,它被保留下來(lái)留待將來(lái)使用。該字段長(zhǎng)度為8位。(4)安全參數(shù)索引(SecurityParametersIndex,SPI):這是一個(gè)為數(shù)據(jù)報(bào)識(shí)別安全關(guān)聯(lián)的32位偽隨機(jī)值。SPI值0被保留來(lái)表明沒(méi)有安全關(guān)聯(lián)存在。(5)序列號(hào):從1開(kāi)始的32位單增序列號(hào),不允許重復(fù),惟一地標(biāo)識(shí)了每一個(gè)發(fā)送數(shù)據(jù)包,為安全關(guān)聯(lián)提供反重播保護(hù)。接收端校驗(yàn)序列號(hào)為該字段值的數(shù)據(jù)包是否已經(jīng)被接收過(guò),若是,則拒收該數(shù)據(jù)包。(6)認(rèn)證數(shù)據(jù):包含進(jìn)行完整性校驗(yàn)和。接收端接收到分組后,首先執(zhí)行Hash計(jì)算,再與發(fā)送端填充的該字段值比較,若兩者相等,表示數(shù)據(jù)完整,反之,表示在傳輸過(guò)程中數(shù)據(jù)已經(jīng)被修改,則丟棄該分組。

17.3.2IPSec協(xié)議類(lèi)型

增加AH報(bào)頭需要以下幾個(gè)步驟:

1.AH報(bào)頭加到有效載荷上,但認(rèn)證數(shù)據(jù)字段要置為0。

2.對(duì)AH報(bào)頭和有效載荷進(jìn)行散列,以便產(chǎn)生認(rèn)證數(shù)據(jù)。

3.認(rèn)證數(shù)據(jù)被插入到AH報(bào)頭中。

4.加入到IP報(bào)頭,但要把協(xié)議字段值改變?yōu)?1。2.封裝安全有效載荷(ESP)協(xié)議結(jié)構(gòu)數(shù)據(jù)報(bào)在傳輸?shù)倪^(guò)程中需要經(jīng)過(guò)多個(gè)路由器,只驗(yàn)證在網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)報(bào)的可靠性和完整性還是不夠的。因?yàn)閿?shù)據(jù)報(bào)的內(nèi)容對(duì)于它所途徑的中間設(shè)備來(lái)說(shuō)是可見(jiàn)的。這就需要另一種類(lèi)型的IP安全報(bào)頭,即封裝安全有效載荷(ESP)。盡管ESP提供的安全特性和AH類(lèi)似,但AH不提供保密,它只提供完整性和報(bào)文身份驗(yàn)證。ESP為IP數(shù)據(jù)包提供完整性檢查、認(rèn)證和加密,加密使發(fā)送計(jì)算機(jī)通過(guò)修改數(shù)據(jù)報(bào)的內(nèi)容,使之變成中間設(shè)備不能理解的一種格式,可防止篡改。一般ESP不對(duì)整個(gè)數(shù)據(jù)包加密,而是只加密IP包的有效載荷部分,不包括IP頭。但在端對(duì)端的隧道通信中,ESP需要對(duì)整個(gè)數(shù)據(jù)包加密。

17.3.2IPSec協(xié)議類(lèi)型

當(dāng)實(shí)現(xiàn)ESP時(shí),IP數(shù)據(jù)報(bào)中增添了三個(gè)附加組件,它們是ESP報(bào)頭,ESP報(bào)尾(Tailer)和ESP驗(yàn)證(Auth)。在IP數(shù)據(jù)報(bào)中,ESP緊隨IP報(bào)頭之后,ESP報(bào)尾和ESP驗(yàn)證在數(shù)據(jù)組件后面。下圖為ESP在IP數(shù)據(jù)報(bào)格式中的位置,以及ESP字段的結(jié)構(gòu):

17.3.2IPSec協(xié)議類(lèi)型

ESP報(bào)頭由兩個(gè)32位字組成,分別是SecurityParametersIndex(SPI,安全參數(shù)索引)和SequenceNumber(序列號(hào))。這同AH報(bào)頭的SPI、SN是相同的。而且,如同AH一樣,ESP提供了HMAC完整性檢查,只不過(guò)檢查字段置于整個(gè)分組的最后。這是因?yàn)椴恍枰彺娣纸M就可以計(jì)算出整個(gè)分組的散列值,然后直接填充到HMAC(HashedMessageAuthenticationCode,散列的信息認(rèn)證碼)域,提高了傳輸速率。ESP過(guò)程的步驟如下:(1)有效載荷增加ESP報(bào)尾。(2)有效載荷和報(bào)尾要進(jìn)行加密。(3)增加ESP報(bào)頭。(4)ESP報(bào)頭、有效載荷以及ESP報(bào)尾都用來(lái)生成身份驗(yàn)證數(shù)據(jù)。(5)身份驗(yàn)證數(shù)據(jù)加到ESP報(bào)尾的末端。(6)加上IP報(bào)頭,但要把協(xié)議字段值改變?yōu)?0。

17.3.2IPSec協(xié)議類(lèi)型

3.ESP隧道模式和AH隧道模式

IPSec支持兩種工作模式:一種為傳輸模式,在這種模式下,IPSec報(bào)頭直接插在IP報(bào)頭的后面,同時(shí)IP報(bào)頭的協(xié)議域指明了插放的IPSec報(bào)頭類(lèi)型。另一種模式是隧道模式,在隧道模式下,整個(gè)原數(shù)據(jù)包被當(dāng)作有效載荷封裝了起來(lái),外面附上新的IP報(bào)頭。其中內(nèi)部IP報(bào)頭(原IP報(bào)頭)指定最終的信源和信宿地址,而外部IP報(bào)頭(新IP報(bào)頭)中包含的常常是做中間處理的安全網(wǎng)關(guān)地址。與傳輸模式不同,在隧道模式中,原IP地址被當(dāng)作有效載荷的一部分受到IPSec的安全保護(hù),另外,通過(guò)對(duì)數(shù)據(jù)加密,還可以將數(shù)據(jù)包目的地址隱藏起來(lái),這樣更有助于保護(hù)端對(duì)端隧道通信中數(shù)據(jù)的安全性。

17.3.2IPSec協(xié)議類(lèi)型

在傳輸模式下,AH在每一個(gè)數(shù)據(jù)包的IP層與上層之間插入一個(gè)身份驗(yàn)證報(bào)頭,并且在這個(gè)數(shù)據(jù)包的IP分組頭的協(xié)議字段用數(shù)字51指明了緊跟在IP報(bào)頭后面的是AH協(xié)議。而在隧道模式下,AH頭在新的IP報(bào)頭后面,然后才是原始的IP分組。AH在TCP/IP協(xié)議體系中的位置如下:AH頭格式如下:AH對(duì)包括IP報(bào)頭的整個(gè)分組進(jìn)行完整性檢查,但是對(duì)于IP報(bào)頭隨著路由器轉(zhuǎn)發(fā)而改變的值如TTL(TimetoLive)和協(xié)議域等不在完整性檢查范圍之內(nèi)。IP報(bào)頭AH頭TCP/UDP報(bào)頭數(shù)據(jù)新的IP報(bào)頭AH頭原始IP報(bào)頭TCP/UDP報(bào)頭數(shù)據(jù)

17.3.2IPSec協(xié)議類(lèi)型

在傳輸模式下,ESP在每一個(gè)數(shù)據(jù)包的IP層與上層之間插入一個(gè)身份驗(yàn)證報(bào)頭,并且在這個(gè)數(shù)據(jù)包的IP分組頭的協(xié)議域用數(shù)字“50”指明了緊跟在IP報(bào)頭后面的是ESP協(xié)議。而在隧道模式下,ESP頭在新的IP報(bào)頭后面,然后才是原始的IP分組。ESP在TCP/IP協(xié)議體系中的位置:ESP頭格式:與AH不同的是,ESP認(rèn)證完整性檢查部分(HMAC)包括ESP報(bào)頭、傳輸層協(xié)議報(bào)頭,應(yīng)用數(shù)據(jù)和但不包括IP報(bào)頭,因此ESP不能保證IP報(bào)頭不被篡改。ESP加密部分包括上層傳輸協(xié)議信息、數(shù)據(jù)。新的IP報(bào)頭ESP頭原始IP報(bào)頭TCP/UDP報(bào)頭數(shù)據(jù)認(rèn)證(HMAC)IP報(bào)頭ESP頭TCP/UDP報(bào)頭數(shù)據(jù)認(rèn)證(HMAC)

17.3.2IPSec協(xié)議類(lèi)型

17.4.1安全技術(shù)—加密技術(shù)VPN常常在不安全的Internet中通信,通信的內(nèi)容可能涉及企業(yè)的機(jī)密數(shù)據(jù),因此需要建立強(qiáng)大的安全功能以確保企業(yè)內(nèi)部網(wǎng)絡(luò)不受到外來(lái)攻擊,確保通過(guò)公共網(wǎng)絡(luò)傳送的企業(yè)數(shù)據(jù)的安全。VPN中的安全技術(shù)通常由加密技術(shù)、密鑰管理和認(rèn)證技術(shù)組成。認(rèn)證和加密是信息安全的兩大部分,加密是為了不讓傳送的信息泄漏出去,防止如竊聽(tīng)等的第三方的被動(dòng)攻擊;而認(rèn)證是防止第三方對(duì)傳送的文件進(jìn)行主動(dòng)攻擊,如篡改、偽造??梢?jiàn),加密和認(rèn)證是兩個(gè)獨(dú)立的過(guò)程。對(duì)需要發(fā)送的消息加密,這樣沒(méi)有經(jīng)過(guò)授權(quán)的用戶(hù)是不能提取真正的內(nèi)容的。我們把發(fā)送方要發(fā)送的數(shù)據(jù)看成是明文,明文通過(guò)加密后就叫密文。相應(yīng)的,有加密算法和解密算法,分別是使用在加密過(guò)程中的規(guī)則、解密過(guò)程的規(guī)則。而加密算法和解密算法都是在一組密鑰的控制下進(jìn)行的,稱(chēng)之為加密密鑰和解密密鑰。

1.對(duì)稱(chēng)加密技術(shù)下圖顯示了對(duì)稱(chēng)加密技術(shù)的基本思想:

最著名的對(duì)稱(chēng)加密算法是數(shù)據(jù)加密標(biāo)準(zhǔn)(DES),其基本思想是二進(jìn)制的明文分成每64bits一組,再用一個(gè)64bits密鑰(其中有56bits參與加密運(yùn)算,其余八位是用于錯(cuò)誤檢測(cè)的)對(duì)分組的明文序列進(jìn)行16輪代換和換位加密,形成密文。DES算法簡(jiǎn)單,除了順序輸入密鑰以外,其加密和解密的過(guò)程完全相同(解密過(guò)程是加密的逆過(guò)程),這樣非常利于算法的標(biāo)準(zhǔn)化和通用化。17.4.1安全技術(shù)—加密技術(shù)右圖為DES加密流程:對(duì)稱(chēng)加密算法雖然加密的速度很快,但是必須通過(guò)雙方共享密鑰才能實(shí)現(xiàn)加解密。所以,如何安全的共享密鑰,就引發(fā)了密鑰的安全管理問(wèn)題。還有一個(gè)問(wèn)題,如果不只是兩個(gè)通信實(shí)體之間進(jìn)行加密解密的安全保護(hù),而是兩個(gè)以上的實(shí)體,這就需要多個(gè)密鑰。為每?jī)蓚€(gè)實(shí)體分配一個(gè)密鑰。比如,三個(gè)實(shí)體就該有三個(gè)密鑰,四個(gè)實(shí)體就需要6個(gè)密鑰??梢钥闯觯诙鄠€(gè)實(shí)體之間進(jìn)行交流就產(chǎn)生了多個(gè)密鑰的麻煩。正是由于對(duì)稱(chēng)加密算法的這些缺陷,人們進(jìn)一步開(kāi)發(fā)了以下的公鑰體制。17.4.1安全技術(shù)—加密技術(shù)3.公鑰加密技術(shù)公鑰加密算法摒棄了對(duì)稱(chēng)加密中的基本工具:置換和代換,使用數(shù)學(xué)函數(shù)來(lái)設(shè)計(jì)密鑰算法。它是以非對(duì)稱(chēng)的思想來(lái)設(shè)計(jì)的,使用了兩個(gè)密鑰:公鑰和私鑰,不需要額外的傳送密鑰,這對(duì)密鑰的保密、分配都有深刻的作用,而這兩方面是對(duì)稱(chēng)加密算法中最為頭痛的問(wèn)題。同時(shí)也給認(rèn)證帶來(lái)了深刻的影響。公鑰體制的加解密算法,每個(gè)用戶(hù)都有一對(duì)密鑰:一個(gè)是用戶(hù)加密的公鑰,一個(gè)是用來(lái)解密的私鑰。公鑰是對(duì)外公開(kāi)的,私鑰是用戶(hù)自己擁有的。公鑰體制的一個(gè)非常重要的特點(diǎn)就是知道加密算法和公鑰,是不能推斷出用戶(hù)的私鑰的。而想要對(duì)密文進(jìn)行解密,必須使用用戶(hù)的私鑰才可以解密。17.4.1安全技術(shù)—加密技術(shù)公鑰體制的加密解密:接收者擁有一對(duì)用來(lái)加密的公鑰和解密的私鑰。他把公鑰放在一個(gè)公開(kāi)的寄存器或者文件中。私鑰為自己保密。當(dāng)發(fā)送者想要給接收者發(fā)送加密的信息時(shí),找到接收者的公鑰,用這個(gè)公鑰來(lái)加密文件,發(fā)送給接收者。雖然可能途中密文會(huì)遭受密碼分析員的竊取并分析,但是沒(méi)有接收者的私鑰是無(wú)法打開(kāi)密文的。接收者接收到加密的文件,用自己保密的私鑰解密,得到明文。下圖為公鑰體制下的加密過(guò)程:17.4.1安全技術(shù)—加密技術(shù)公鑰體制還可以使用在數(shù)字認(rèn)證中:發(fā)送方擁有自己的一對(duì)密鑰,她/他用自己的私鑰來(lái)對(duì)自己要發(fā)送的消息進(jìn)行加密,得到的密文被接收方接收到后,接收方想要對(duì)這個(gè)消息驗(yàn)證是不是那個(gè)發(fā)送者發(fā)送的,就利用公布的那個(gè)發(fā)送者的公鑰來(lái)進(jìn)行解密。其實(shí),發(fā)送者用自己的私鑰對(duì)消息進(jìn)行加密后得到的密文就等于對(duì)該明文的簽字,明確該明文就是他/她發(fā)送的。即使有密碼分析員在傳送的過(guò)程中截取到該密文,并解密看到明文的內(nèi)容,想要篡改其中的內(nèi)容都是不行的,因?yàn)槊艽a分析員沒(méi)有該發(fā)送者的私鑰,是無(wú)法再次加密并冒充發(fā)送者發(fā)送給接收者的。下圖為公鑰體制下的認(rèn)證:17.4.1安全技術(shù)—加密技術(shù)在計(jì)算機(jī)網(wǎng)絡(luò)通訊中,密鑰的產(chǎn)生、分配、存儲(chǔ)、保護(hù)都是非常重要的,它直接影響到系統(tǒng)的保密性。密鑰管理主要分為單鑰體制的密鑰管理和公鑰體制的密鑰管理。1.單鑰體制的密鑰管理單鑰體制加密算法中通信雙方必須共享一個(gè)密鑰,該密鑰如何安全的傳送不為攻擊者獲取,并且如何適當(dāng)?shù)母?,這些問(wèn)題都是密鑰分配所面臨的問(wèn)題。簡(jiǎn)單來(lái)說(shuō),單鑰體制的密鑰管理主要是共享密鑰的安全性是否足夠高。共享密鑰的方法主要有以下幾種:

1.通信雙方A和B,密鑰由A用物理方法發(fā)送給B。

2.密鑰由第三方用物理方法發(fā)送給通信的A和B。

3.在A或者B事先已經(jīng)有一密鑰的情況下,有一方要更新密鑰,要用原有的密鑰加密新的密鑰發(fā)送給另外一方。

4.通信雙方A和B,同時(shí)與第三方C有秘密信道,C為兩者選取并分別發(fā)送密鑰給通信的A和B。17.4.2安全技術(shù)—密鑰管理前兩種方法是人工手段來(lái)共享密鑰。在網(wǎng)絡(luò)的鏈路加密的情況下這種人工手段是可行的,但在端對(duì)端的加密方式中人工方法就不可靠。第三種方法在網(wǎng)絡(luò)的鏈路加密和網(wǎng)絡(luò)的端對(duì)端的情況下都是可行的,但如果攻擊者獲取一個(gè)密鑰之后整個(gè)系統(tǒng)就無(wú)任何保護(hù)而言。第四種方法被廣泛地使用在端對(duì)端的加密方式中,第三方是一個(gè)專(zhuān)門(mén)分配密鑰的密鑰分配中心。單鑰體制的密鑰管理是基于共同保守秘密來(lái)實(shí)現(xiàn)的。采用單鑰加密技術(shù)的貿(mào)易雙方必須要保證采用的是相同的密鑰,要保證彼此密鑰的交換是安全可靠的,同時(shí)還要設(shè)定防止密鑰泄密和更改密鑰的程序。這樣,對(duì)稱(chēng)密鑰的管理和分發(fā)工作將變成一件潛在危險(xiǎn)的和繁瑣的過(guò)程。通過(guò)公開(kāi)密鑰加密技術(shù)實(shí)現(xiàn)對(duì)稱(chēng)密鑰的管理使相應(yīng)的管理變得簡(jiǎn)單和更加安全,同時(shí)還解決了純對(duì)稱(chēng)密鑰模式中存在的可靠性問(wèn)題和鑒別問(wèn)題。17.4.2安全技術(shù)—密鑰管理2.公鑰體制的密鑰管理公鑰體制的密鑰管理主要是公鑰的分配問(wèn)題。公鑰分配有以下幾種方法:(1)公開(kāi)發(fā)布。用戶(hù)將自己的公鑰公開(kāi)發(fā)布給其他人。許多用戶(hù)就是將自己的公鑰附在消息上,發(fā)布到因特網(wǎng)郵件列表中的。當(dāng)然,這種方法有一個(gè)很大的弊端就是任何人都可以制造自己的公鑰公開(kāi)發(fā)布,可信度不夠。(2)公用目錄表。這是指建立一個(gè)公鑰的公鑰動(dòng)態(tài)目錄表,建立和維護(hù)的工作是由一個(gè)可信的機(jī)構(gòu)來(lái)完成。這個(gè)機(jī)構(gòu)的管理員為用戶(hù)和用戶(hù)的公鑰建立一個(gè)動(dòng)態(tài)的數(shù)據(jù)庫(kù)―目錄表。這種方法要比上面的公開(kāi)發(fā)布要安全得多。但這種方法也有缺陷,因?yàn)楣芾韱T的密鑰是否得到妥善的保護(hù)就是一個(gè)最大的隱患。如果攻擊者獲取了管理員的密鑰,自行建立一個(gè)新的目錄表,這樣的危害程度就很可怕了。17.4.2安全技術(shù)—密鑰管理(3)公鑰管理機(jī)構(gòu)。公鑰管理機(jī)構(gòu)要比公用目錄表要先進(jìn)一點(diǎn),它也是一個(gè)為用戶(hù)動(dòng)態(tài)建立目錄表的機(jī)構(gòu),但同時(shí)它讓每個(gè)用戶(hù)都可靠地知道管理機(jī)構(gòu)的公鑰,當(dāng)然,管理機(jī)構(gòu)本身知道自己的密鑰。這等于用戶(hù)和管理機(jī)構(gòu)之間有認(rèn)證的色彩。但它的缺點(diǎn)也很明顯。因?yàn)槊總€(gè)用戶(hù)和其他用戶(hù)的通信都要經(jīng)過(guò)這個(gè)公鑰管理機(jī)構(gòu),公鑰管理機(jī)構(gòu)總會(huì)存在一個(gè)瓶頸,而且,攻擊者可以利用這一點(diǎn)來(lái)干擾公鑰管理機(jī)構(gòu)的服務(wù)。(4)公鑰證書(shū)。用戶(hù)通過(guò)公鑰證書(shū)(數(shù)字證書(shū))相互之間交換自己的公鑰而無(wú)需和公鑰管理機(jī)構(gòu)進(jìn)行聯(lián)系。這個(gè)公鑰證書(shū)是由證書(shū)管理機(jī)構(gòu)(CA)―認(rèn)證中心來(lái)為用戶(hù)建立的,其中就有用戶(hù)的密鑰和與密鑰相匹配的公鑰以及用戶(hù)的身份和時(shí)戳,這些數(shù)據(jù)通過(guò)認(rèn)證中心的密鑰簽字后就形成了用戶(hù)的數(shù)字證書(shū)。用戶(hù)可以用自己的公鑰通過(guò)數(shù)字證書(shū)發(fā)送給其他的用戶(hù),接收方可以用認(rèn)證中心提供的公鑰來(lái)對(duì)該證書(shū)加以驗(yàn)證。因?yàn)橹挥姓J(rèn)證中心的公鑰才能解讀證書(shū),從而接收方也就知道了這是由認(rèn)證中心發(fā)放的數(shù)字證書(shū),同時(shí)也獲取了發(fā)送方的身份和發(fā)送方的公鑰。17.4.2安全技術(shù)—密鑰管理認(rèn)證技術(shù)防止數(shù)據(jù)的偽造和被篡改,主要包括數(shù)字簽名、身份識(shí)別和信息的完整性校驗(yàn)等技術(shù)。1.消息認(rèn)證消息認(rèn)證用于保證信息的完整性與不可否認(rèn)性,是使消息接收者能夠檢驗(yàn)收到的消息是否真實(shí)的方法。這種認(rèn)證只在相應(yīng)通信的雙方之間進(jìn)行,而不允許第三者進(jìn)行上述認(rèn)證。檢驗(yàn)內(nèi)容應(yīng)包括:(1)證實(shí)報(bào)文的源和宿。(2)報(bào)文內(nèi)容是否曾受到偶然的或有意的篡改。(3)報(bào)文的序號(hào)和時(shí)間欄。消息認(rèn)證的工作原理:通信雙方A和B之間建立共享密鑰k。A在向B發(fā)送消息m時(shí),用k將m轉(zhuǎn)換為密文c,并將m和c一同發(fā)給B。B收到報(bào)文后,用k和m計(jì)算密文,如果與c相同,證明消息確實(shí)發(fā)自知道密鑰k的人,并且中途未被修改。17.4.2安全技術(shù)—認(rèn)證技術(shù)2.身份認(rèn)證根據(jù)被認(rèn)證方賴(lài)以證明身份的秘密的不同,身份認(rèn)證可以分為兩大類(lèi):基于秘密信息的身份認(rèn)證方法和基于物理安全性的身份認(rèn)證方法。基于秘密信息的身份認(rèn)證方法:1)口令核對(duì)這種方法有如下缺點(diǎn):其安全性?xún)H僅基于用戶(hù)口令的保密性,而用戶(hù)口令一般較短且容易猜測(cè),因此這種方案不能抵御口令猜測(cè)攻擊;另外,攻擊者可能竊聽(tīng)通信信道或進(jìn)行網(wǎng)絡(luò)窺探(sniffing),口令的明文傳輸使得攻擊者只要能在口令傳輸過(guò)程中獲得用戶(hù)口令,系統(tǒng)就會(huì)被攻破。2)單向核對(duì)如果通信的雙方只需要一方被另一方鑒別身份,這樣的認(rèn)證過(guò)程就是一種單向認(rèn)證。與密鑰分發(fā)相結(jié)合的單向認(rèn)證主要有兩類(lèi)方案:一類(lèi)采用對(duì)稱(chēng)密鑰加密體制,需要一個(gè)可信賴(lài)的第三方——通常稱(chēng)為KDC(密鑰分發(fā)中心)或AS(認(rèn)證服務(wù)器),由這個(gè)第三方來(lái)實(shí)現(xiàn)通信雙方的身份認(rèn)證和密鑰分發(fā);另一類(lèi)采用非對(duì)稱(chēng)密鑰加密體制,無(wú)需第三方參與。17.4.2安全技術(shù)—認(rèn)證技術(shù)3)相互認(rèn)證在雙向認(rèn)證過(guò)程中,通信雙方需要互相認(rèn)證鑒別各自的身份,然后交換會(huì)話密鑰。為了防止會(huì)話密鑰的偽造和泄漏,會(huì)話密鑰應(yīng)該用密文形式來(lái)傳送。而且,實(shí)時(shí)性對(duì)防止信息的重放攻擊很重要,實(shí)現(xiàn)實(shí)時(shí)性的一種方法是對(duì)交換的信息加上序列號(hào),只有正確的序列號(hào)才表示接收的信息是沒(méi)有重放的。但這增加了用戶(hù)記錄序列號(hào)的麻煩。保證信息的實(shí)時(shí)性的常用方法是時(shí)戳和詢(xún)問(wèn)-應(yīng)答。前者不適用在面向連接的環(huán)境,后者不適應(yīng)在無(wú)連接的應(yīng)用環(huán)境?;谖锢戆踩缘纳矸菡J(rèn)證方法是依賴(lài)于用戶(hù)特有的某些生物學(xué)信息或用戶(hù)持有的硬件:(1)基于生物學(xué)信息的方案包括基于指紋識(shí)別的身份認(rèn)證、基于聲音識(shí)別的身份認(rèn)證以及近來(lái)流行的基于虹膜識(shí)別的身份認(rèn)證等。(2)基于智能卡的身份認(rèn)證機(jī)制在認(rèn)證時(shí)認(rèn)證方要求一個(gè)硬件——智能卡(智能卡中存有秘密信息,通常是一個(gè)隨機(jī)數(shù)),只有持卡人才能被認(rèn)證。這樣可以有效地防止口令猜測(cè),。17.4.2安全技術(shù)—認(rèn)證技術(shù)3.數(shù)字簽名數(shù)字簽名技術(shù)有兩種形式:對(duì)整個(gè)文檔簽字,或?qū)ξ臋n的摘要(壓縮的版本)簽字。1)對(duì)整個(gè)文檔簽字公鑰加密可以用來(lái)對(duì)文檔簽字。在數(shù)字簽名中,公鑰和私鑰的作用不同。私鑰用來(lái)進(jìn)行加密,而公鑰用來(lái)進(jìn)行解密。發(fā)送者使用其私鑰對(duì)報(bào)文加密(簽字),另一方面,接收者使用發(fā)送者的公鑰進(jìn)行解密2)對(duì)摘要簽名如果報(bào)文很短,那么公鑰加密就很有效。如果報(bào)文很長(zhǎng),那么用公鑰對(duì)整個(gè)報(bào)文加密就非常低效。解決這種問(wèn)題的方法是讓發(fā)送者對(duì)文檔的摘要簽名,而不是對(duì)整個(gè)文檔簽字。發(fā)送者生成文檔的一個(gè)微型版本,即報(bào)文摘要,用發(fā)送者的私鑰進(jìn)行加密(簽名);加密后的摘要附加在原始報(bào)文后面,并發(fā)送給接收者;接收者收到原始報(bào)文和已加密的摘要并檢查這個(gè)微型版本上的簽名。17.4.2安全技術(shù)—認(rèn)證技術(shù)17.5.1網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)是為了解決IP地址短缺而提出的一種方案。NAT可以將多個(gè)內(nèi)部地址映射成少數(shù)幾個(gè)甚至一個(gè)合法的公網(wǎng)IP地址,讓內(nèi)部網(wǎng)中使用私有IP地址的設(shè)備通過(guò)“偽IP”訪問(wèn)Internet等外部資源,從而更好地解決地址空間枯竭的問(wèn)題。同時(shí),NAT對(duì)內(nèi)部IP地址進(jìn)行隱藏也增強(qiáng)了網(wǎng)絡(luò)的安全性。NAT將網(wǎng)絡(luò)分成了內(nèi)部網(wǎng)和外部Internet兩部分,位于邊界處的NAT路由器,在發(fā)送和接收數(shù)據(jù)報(bào)時(shí)執(zhí)行著地址轉(zhuǎn)換的操作。來(lái)自Internet的每一個(gè)傳入數(shù)據(jù)報(bào)的目標(biāo)地址(這個(gè)NAT路由器的公共IP地址)都被NAT轉(zhuǎn)換成適當(dāng)?shù)膶?zhuān)用地址。所有從內(nèi)部網(wǎng)傳出的數(shù)據(jù)報(bào)源地址也被轉(zhuǎn)換成惟一有效的公共IP地址,而不是內(nèi)部計(jì)算機(jī)的實(shí)際網(wǎng)絡(luò)地址。就這樣,內(nèi)部資源被從Internet上封裝起來(lái)。NAT是用地址轉(zhuǎn)換表維護(hù)網(wǎng)絡(luò)地址條目。一個(gè)內(nèi)部計(jì)算機(jī)發(fā)數(shù)據(jù)報(bào)給外部服務(wù)器,在數(shù)據(jù)報(bào)到達(dá)NAT路由器之后,發(fā)送到下一跳之前,NAT取出被指定為數(shù)據(jù)報(bào)源IP地址的那個(gè)主機(jī)地址,并將這個(gè)數(shù)據(jù)作為一個(gè)條目插入到NAT轉(zhuǎn)換表中。另外,NAT用公共IP地址取代那個(gè)源IP地址。就這樣,所有傳出數(shù)據(jù)報(bào)的IP地址都被記錄下來(lái),實(shí)際的源IP地址被封裝起來(lái)。所有的傳入數(shù)據(jù)報(bào)被直接引導(dǎo)到NAT的公共IP地址,這是因?yàn)樵摰刂肥俏┮豢捎玫哪繕?biāo)IP地址。如果沒(méi)有相應(yīng)的NAT表?xiàng)l目,也就不可能將一個(gè)傳入數(shù)據(jù)報(bào)傳輸?shù)秸_的本地計(jì)算機(jī)中,因?yàn)樗械膫魅霐?shù)據(jù)報(bào)包含同樣的目標(biāo)IP地址,即NAT路由器的公共IP地址。外部服務(wù)器通過(guò)運(yùn)行域命名服務(wù)(DomainNamingService,DNS)來(lái)解決這個(gè)難題。DNS用它自己的域名來(lái)標(biāo)識(shí)內(nèi)部計(jì)算機(jī)的IP地址。當(dāng)外部DNS請(qǐng)求IP信息時(shí),位于NAT上的DNS盒將內(nèi)部計(jì)算機(jī)的名稱(chēng)轉(zhuǎn)換為正確的IP地址,然后在把NAT的公共IP地址作為對(duì)外部DNS查詢(xún)的響應(yīng)發(fā)送出去之前,把IP地址輸入到NAT轉(zhuǎn)換表中。當(dāng)傳入數(shù)據(jù)報(bào)到達(dá)NAT時(shí),它的源IP被識(shí)別出來(lái),并被鏈接到發(fā)送的DNS響應(yīng)上。于是,NAT就知道對(duì)于從某個(gè)外部服務(wù)器收到的數(shù)據(jù)報(bào)來(lái)說(shuō),某一特定內(nèi)部計(jì)算機(jī)的網(wǎng)絡(luò)地址就是正確的目標(biāo)地址。使用這種方法,傳入數(shù)據(jù)報(bào)被傳送到正確的本地地址,條目被插入到NAT表中,并且內(nèi)部網(wǎng)絡(luò)地址在探測(cè)DNS查詢(xún)(ProbingDNSQuery)中被封裝起來(lái)。17.5網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)17.5.2NAT技術(shù)的類(lèi)型1.靜態(tài)NAT

靜態(tài)NAT是將內(nèi)部地址和外部地址進(jìn)行一對(duì)一的轉(zhuǎn)換,即將內(nèi)部網(wǎng)絡(luò)中的某個(gè)地址永久地映射成外部網(wǎng)絡(luò)中的某個(gè)合法地址。在這種地址轉(zhuǎn)換類(lèi)型中,網(wǎng)絡(luò)地址不是在表中維護(hù)的,相反,每個(gè)傳入或傳出的數(shù)據(jù)報(bào)都被分配一個(gè)新的IP地址。由于采用靜態(tài)NAT的主機(jī)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論