VPN中的隧道技術詳解
一 VPN概述
為了使(shi)得遠程(cheng)的(de)企業員工可以與(yu)總部(bu)實時的(de)交換(huan)數據信息。企業得向ISP租用網(wang)絡(luo)提供(gong)服(fu)務(wu)。但公用網(wang)容易遭(zao)受(shou)各種安全攻(gong)擊(比如(ru)拒絕服(fu)務(wu)攻(gong)擊來堵(du)塞正常的(de)網(wang)絡(luo)服(fu)務(wu),或竊取(qu)重要的(de)企業內部(bu)信息)
VPN這(zhe)(zhe)個(ge)概念的(de)(de)(de)引(yin)進(jin)就(jiu)(jiu)是用來(lai)(lai)解決這(zhe)(zhe)個(ge)問題。它是利用公用網(wang)絡來(lai)(lai)連接到企(qi)業私有網(wang)絡。但在VPN中,用安全機(ji)制(zhi)來(lai)(lai)保障機(ji)密型,真實可靠行,完整性嚴格(ge)的(de)(de)(de)訪(fang)問控(kong)制(zhi)。這(zhe)(zhe)樣(yang)就(jiu)(jiu)建立了一個(ge)邏輯上虛(xu)擬的(de)(de)(de)私有網(wang)絡。虛(xu)擬局域網(wang)提供了一個(ge)經濟有效的(de)(de)(de)手段來(lai)(lai)解決通(tong)過公用網(wang)絡安全的(de)(de)(de)交換私有信息。
二 VPN特性
一般VPN所具備的優(you)點有以下幾點:
a) 最(zui)小(xiao)成(cheng)本:無(wu)須購買(mai)網(wang)絡(luo)設(she)備和專用線路覆蓋(gai)所有遠程用戶
b) 責(ze)任共享:通過購(gou)買公用網的資源,部分維護責(ze)任遷移至provider(更專業,有經驗(yan),是操作(zuo),維護成本降低)。
c) 安全性:
d) 保障Qos
e) 可靠性:如果一(yi)個VPN節(jie)點壞了,可以一(yi)個替換VPN建立起來繞過(guo)他,這種恢復(fu)工作是得(de)VPN操(cao)作可以盡可能的延(yan)續
f) 可擴(kuo)展(zhan)性:可以(yi)通過(guo)從(cong)公用網申請(qing)更(geng)多得(de)資源(yuan)達到(dao)非常容易的(de)擴(kuo)展(zhan)VPN,或者協商重構VPN
其中安全(quan)性(xing)是(shi)vpn最(zui)重要(yao)的一個特(te)性(xing),也是(shi)各類(lei)vpn產品所必須具備和支持的要(yao)素.
三 VPN的安全技術
目前(qian)VPN主要(yao)采用(yong)四項技(ji)(ji)(ji)術(shu)(shu)來保證(zheng)安全,這四項技(ji)(ji)(ji)術(shu)(shu)分(fen)別(bie)是(shi)隧道(dao)技(ji)(ji)(ji)術(shu)(shu)(Tunneling)、加解密技(ji)(ji)(ji)術(shu)(shu)(Encryption & Decryption)、密鑰管理(li)技(ji)(ji)(ji)術(shu)(shu)(Key Management)、使用(yong)者與設備身份認(ren)證(zheng)技(ji)(ji)(ji)術(shu)(shu)(Authentication)。
加解密技(ji)(ji)(ji)術(shu)是數(shu)據通信中一(yi)項較(jiao)成熟的(de)技(ji)(ji)(ji)術(shu),VPN可直接(jie)利用(yong)現有技(ji)(ji)(ji)術(shu)。
密鑰管(guan)理技術的主要任務是如何在公(gong)用(yong)數據(ju)網(wang)(wang)上(shang)安(an)全地(di)傳遞(di)密鑰而(er)不(bu)被(bei)竊取。現行密鑰管(guan)理技術又分(fen)為SKIP與(yu)ISAKMP/OAKLEY兩種。SKIP主要是利用(yong)Diffie-Hellman的演(yan)算法則,在網(wang)(wang)絡上(shang)傳輸(shu)密鑰;在ISAKMP中,雙方都(dou)有(you)兩把密鑰,分(fen)別用(yong)于公(gong)用(yong)、私用(yong)。
身份認證(zheng)技術最常用(yong)的是使用(yong)者名稱與密碼或(huo)卡片式認證(zheng)等方式。
隧(sui)道指的是利(li)用一(yi)種(zhong)網(wang)(wang)絡協(xie)(xie)議(yi)來傳(chuan)輸另一(yi)種(zhong)網(wang)(wang)絡協(xie)(xie)議(yi),它主要利(li)用網(wang)(wang)絡隧(sui)道協(xie)(xie)議(yi)來實現這種(zhong)功(gong)能。網(wang)(wang)絡隧(sui)道技術(shu)涉及了三種(zhong)網(wang)(wang)絡協(xie)(xie)議(yi),即網(wang)(wang)絡隧(sui)道協(xie)(xie)議(yi)、隧(sui)道協(xie)(xie)議(yi)下面的承(cheng)載協(xie)(xie)議(yi)和隧(sui)道協(xie)(xie)議(yi)所承(cheng)載的被(bei)承(cheng)載協(xie)(xie)議(yi)。網(wang)(wang)絡隧(sui)道技術(shu)是個關鍵(jian)技術(shu),這項vpn的基本(ben)技術(shu)也是本(ben)文要詳細和闡述的.
四 網絡隧道協議
網(wang)(wang)絡(luo)(luo)隧(sui)(sui)(sui)道(dao)(dao)是(shi)(shi)指在公用網(wang)(wang)建立(li)一(yi)條(tiao)數(shu)據通道(dao)(dao)(隧(sui)(sui)(sui)道(dao)(dao)),讓數(shu)據包通過這條(tiao)隧(sui)(sui)(sui)道(dao)(dao)傳(chuan)(chuan)輸(shu)。現(xian)有兩種類型的(de)網(wang)(wang)絡(luo)(luo)隧(sui)(sui)(sui)道(dao)(dao)協(xie)議,一(yi)種是(shi)(shi)二層(ceng)隧(sui)(sui)(sui)道(dao)(dao)協(xie)議,用于(yu)(yu)傳(chuan)(chuan)輸(shu)二層(ceng)網(wang)(wang)絡(luo)(luo)協(xie)議,它主要應用于(yu)(yu)構(gou)建遠(yuan)程訪(fang)問虛(xu)(xu)擬(ni)(ni)專網(wang)(wang)(AccessVPN);另一(yi)種是(shi)(shi)三(san)層(ceng)隧(sui)(sui)(sui)道(dao)(dao)協(xie)議,用于(yu)(yu)傳(chuan)(chuan)輸(shu)三(san)層(ceng)網(wang)(wang)絡(luo)(luo)協(xie)議,它主要應用于(yu)(yu)構(gou)建企(qi)業(ye)內(nei)部虛(xu)(xu)擬(ni)(ni)專網(wang)(wang)(IntranetVPN)和(he)擴(kuo)展的(de)企(qi)業(ye)內(nei)部虛(xu)(xu)擬(ni)(ni)專網(wang)(wang)(Extranet VPN)。
二層隧道協議
第(di)(di)二(er)層(ceng)(ceng)隧(sui)道協(xie)議(yi)是先把各種(zhong)(zhong)網絡協(xie)議(yi)封裝(zhuang)(zhuang)到PPP中,再把整(zheng)個數據包(bao)裝(zhuang)(zhuang)入隧(sui)道協(xie)議(yi)中。這種(zhong)(zhong)雙(shuang)層(ceng)(ceng)封裝(zhuang)(zhuang)方(fang)法形成的數據包(bao)靠第(di)(di)二(er)層(ceng)(ceng)協(xie)議(yi)進行傳輸。第(di)(di)二(er)層(ceng)(ceng)隧(sui)道協(xie)議(yi)主要有以(yi)下三種(zhong)(zhong):第(di)(di)一種(zhong)(zhong)是由微軟、Ascend、3COM 等公司(si)支持的 PPTP(Point to Point Tunneling Protocol,點對點隧(sui)道協(xie)議(yi)),在(zai)WindowsNT4.0以(yi)上版本中即有支持。
第二種是Cisco、北方電信等公司支持的L2F(Layer2Forwarding,二層轉發協議),在 Cisco 路由(you)器中有支持。
第三種由 IETF 起草,微(wei)軟 Ascend 、Cisco、 3COM 等公司參與的 L2TP(Layer 2TunnelingProtocol,二層隧道協(xie)議(yi))結合了上述兩個協(xie)議(yi)的優點,L2TP協(xie)議(yi)是目前(qian)IETF的標準,由IETF融合PPTP與L2F而形成。這(zhe)里就主要介紹一下(xia) L2TP 網(wang)絡協(xie)議(yi)。
其中(zhong),LAC 表示(shi) L2TP 訪問集中(zhong)器(L2TPAccessConcentrator),是(shi)附屬在交換(huan)網(wang)(wang)絡上的(de)(de)具有 PPP 端(duan)(duan)系統(tong)和 L2TP 協議處理能力的(de)(de)設備,LAC 一般就是(shi)一個網(wang)(wang)絡接(jie)入服務(wu)器 NAS(Network Access Server)它用于(yu)為用戶通(tong)過 PSTN/ISDN 提供網(wang)(wang)絡接(jie)入服務(wu);LNS 表示(shi) L2TP 網(wang)(wang)絡服務(wu)器(L2TP Network Server),是(shi) PPP 端(duan)(duan)系統(tong)上用于(yu)處理 L2TP 協議服務(wu)器端(duan)(duan)部分的(de)(de)軟(ruan)件。
在(zai)(zai)一(yi)個(ge)LNS和LAC對之(zhi)間存(cun)在(zai)(zai)著兩種(zhong)類(lei)型的(de)(de)連接,一(yi)種(zhong)是(shi)隧(sui)道(dao)(tunnel)連接,它定義了一(yi)個(ge)LNS和LAC對;另(ling)一(yi)種(zhong)是(shi)會話(hua)(session)連接,它復(fu)用在(zai)(zai)隧(sui)道(dao)連接之(zhi)上,用于表示承載在(zai)(zai)隧(sui)道(dao)連接中的(de)(de)每個(ge) PPP 會話(hua)過程。
L2TP連接(jie)的(de)(de)(de)(de)維(wei)(wei)護(hu)(hu)以(yi)及PPP數據的(de)(de)(de)(de)傳(chuan)送都(dou)是通過L2TP消(xiao)(xiao)息(xi)(xi)的(de)(de)(de)(de)交(jiao)換來完成的(de)(de)(de)(de),這些消(xiao)(xiao)息(xi)(xi)再通過 UDP的(de)(de)(de)(de)1701端口(kou)承(cheng)載(zai)于(yu)TCP/IP之(zhi)上。L2TP消(xiao)(xiao)息(xi)(xi)可以(yi)分為兩(liang)種(zhong)類(lei)型,一種(zhong)是控制消(xiao)(xiao)息(xi)(xi),另一種(zhong)是數據消(xiao)(xiao)息(xi)(xi)。控制消(xiao)(xiao)息(xi)(xi)用于(yu)隧道連接(jie)和會(hui)話連接(jie)的(de)(de)(de)(de)建立與(yu)維(wei)(wei)護(hu)(hu)。數據消(xiao)(xiao)息(xi)(xi)用于(yu)承(cheng)載(zai)用戶的(de)(de)(de)(de) PPP 會(hui)話數據包。 L2TP 連接(jie)的(de)(de)(de)(de)維(wei)(wei)護(hu)(hu)以(yi)及 PPP 數據的(de)(de)(de)(de)傳(chuan)送都(dou)是通過 L2TP 消(xiao)(xiao)息(xi)(xi)的(de)(de)(de)(de)交(jiao)換來完成的(de)(de)(de)(de),這些消(xiao)(xiao)息(xi)(xi)再通過UDP的(de)(de)(de)(de)1701端口(kou)承(cheng)載(zai)于(yu) TCP/IP 之(zhi)上。
控制(zhi)(zhi)(zhi)消(xiao)(xiao)(xiao)息(xi)(xi)中的(de)(de)(de)(de)參數用(yong)AVP值對(AttributeValuePair)來表示(shi),使(shi)得協(xie)議具有很好的(de)(de)(de)(de)擴展(zhan)性(xing);在控制(zhi)(zhi)(zhi)消(xiao)(xiao)(xiao)息(xi)(xi)的(de)(de)(de)(de)傳(chuan)輸(shu)過(guo)(guo)程(cheng)中還應(ying)用(yong)了消(xiao)(xiao)(xiao)息(xi)(xi)丟失(shi)重(zhong)傳(chuan)和定時檢測通(tong)道連通(tong)性(xing)等機制(zhi)(zhi)(zhi)來保證了 L2TP 層(ceng)傳(chuan)輸(shu)的(de)(de)(de)(de)可靠(kao)性(xing)。數據消(xiao)(xiao)(xiao)息(xi)(xi)用(yong)于承載(zai)用(yong)戶的(de)(de)(de)(de) PPP 會話數據包(bao)。L2TP 數據消(xiao)(xiao)(xiao)息(xi)(xi)的(de)(de)(de)(de)傳(chuan)輸(shu)不(bu)(bu)采(cai)(cai)用(yong)重(zhong)傳(chuan)機制(zhi)(zhi)(zhi),所以(yi)它無法(fa)保證傳(chuan)輸(shu)的(de)(de)(de)(de)可靠(kao)性(xing),但這一點可以(yi)通(tong)過(guo)(guo)上層(ceng)協(xie)議如TCP等得到保證;數據消(xiao)(xiao)(xiao)息(xi)(xi)的(de)(de)(de)(de)傳(chuan)輸(shu)可以(yi)根據應(ying)用(yong)的(de)(de)(de)(de)需(xu)要靈活地采(cai)(cai)用(yong)流(liu)控或不(bu)(bu)流(liu)控機制(zhi)(zhi)(zhi),甚至可以(yi)在傳(chuan)輸(shu)過(guo)(guo)程(cheng)中動態地使(shi)用(yong)消(xiao)(xiao)(xiao)息(xi)(xi)序列(lie)號(hao)從而動態地激活消(xiao)(xiao)(xiao)息(xi)(xi)順序檢測和流(liu)量控制(zhi)(zhi)(zhi)功能;在采(cai)(cai)用(yong)流(liu)量控制(zhi)(zhi)(zhi)的(de)(de)(de)(de)過(guo)(guo)程(cheng)中,對于失(shi)序消(xiao)(xiao)(xiao)息(xi)(xi)的(de)(de)(de)(de)處理采(cai)(cai)用(yong)了緩存(cun)重(zhong)排序的(de)(de)(de)(de)方法(fa)來提高數據傳(chuan)輸(shu)的(de)(de)(de)(de)有效(xiao)性(xing)。
L2TP 還具有適用于VPN 服務的以下幾個特性:
· 靈活的身份驗證機制以及高(gao)度(du)的安全性
L2TP 可(ke)以(yi)(yi)選擇多種身份驗證機制(CHAP、PAP等),繼承了(le)PPP的(de)(de)所(suo)有安全(quan)特(te)性(xing),L2TP 還(huan)可(ke)以(yi)(yi)對(dui)隧道(dao)端(duan)點進行驗證,這(zhe)使得通(tong)過L2TP所(suo)傳輸的(de)(de)數據(ju)(ju)更加(jia)(jia)難以(yi)(yi)被攻擊。而(er)且根(gen)據(ju)(ju)特(te)定(ding)的(de)(de)網絡(luo)安全(quan)要(yao)求還(huan)可(ke)以(yi)(yi)方便地在L2TP之上(shang)采(cai)用(yong)隧道(dao)加(jia)(jia)密(mi)、端(duan)對(dui)端(duan)數據(ju)(ju)加(jia)(jia)密(mi)或應用(yong)層(ceng)數據(ju)(ju)加(jia)(jia)密(mi)等方案來(lai)提高數據(ju)(ju)的(de)(de)安全(quan)性(xing)。
· 內(nei)部地(di)址(zhi)分配支持
LNS可(ke)以(yi)放置于(yu)企業(ye)(ye)網的(de)(de)防火(huo)墻之后,它可(ke)以(yi)對于(yu)遠端用(yong)戶的(de)(de)地(di)(di)址(zhi)(zhi)進行動態的(de)(de)分(fen)配(pei)和管理(li),可(ke)以(yi)支持DHCP和私有地(di)(di)址(zhi)(zhi)應用(yong)(RFC1918)等方案。遠端用(yong)戶所分(fen)配(pei)的(de)(de)地(di)(di)址(zhi)(zhi)不是Internet地(di)(di)址(zhi)(zhi)而(er)是企業(ye)(ye)內部的(de)(de)私有地(di)(di)址(zhi)(zhi),這(zhe)樣(yang)方便了地(di)(di)址(zhi)(zhi)的(de)(de)管理(li)并可(ke)以(yi)增加安全性。
· 網(wang)絡計費(fei)的靈活性(xing)
可(ke)以在LAC和LNS兩處(chu)同(tong)時計(ji)費,即ISP處(chu)(用于產生帳單(dan))及(ji)企業(ye)處(chu)(用于付費及(ji)審記(ji))。L2TP能夠提供(gong)數(shu)據(ju)傳輸(shu)的(de)出入包數(shu),字節(jie)數(shu)及(ji)連接的(de)起始(shi)、結束時間等計(ji)費數(shu)據(ju),可(ke)以根(gen)據(ju)這些數(shu)據(ju)方(fang)便(bian)地進行網絡計(ji)費。
· 可靠性
L2TP 協議可(ke)以(yi)支持(chi)備(bei)份 LNS,當一個主 LNS 不可(ke)達之(zhi)后(hou),LAC(接入服務器)可(ke)以(yi)重新與備(bei)份 LNS 建立連接,這樣增(zeng)加了(le) VPN 服務的可(ke)靠(kao)性(xing)和(he)容(rong)錯性(xing)。
· 統一的網絡管理
L2TP協(xie)議將很(hen)快(kuai)地(di)成為標(biao)準的(de)RFC協(xie)議,有關(guan)L2TP的(de)標(biao)準MIB也將很(hen)快(kuai)地(di)得(de)到(dao)制定,這樣可(ke)以統一地(di)采(cai)用 SNMP 網絡(luo)管理(li)方案進行方便的(de)網絡(luo)維護(hu)與管理(li)。
三層隧道協議
第三(san)層(ceng)隧(sui)道(dao)(dao)協(xie)(xie)(xie)議(yi)是(shi)(shi)把各(ge)種(zhong)網絡(luo)協(xie)(xie)(xie)議(yi)直接裝入(ru)隧(sui)道(dao)(dao)協(xie)(xie)(xie)議(yi)中,形成的(de)(de)數據(ju)包(bao)依(yi)靠第三(san)層(ceng)協(xie)(xie)(xie)議(yi)進行傳輸。三(san)層(ceng)隧(sui)道(dao)(dao)協(xie)(xie)(xie)議(yi)并(bing)非是(shi)(shi)一種(zhong)很新(xin)的(de)(de)技術,早已出(chu)現的(de)(de) RFC 1701 Generic Routing Encapsulation(GRE)協(xie)(xie)(xie)議(yi)就是(shi)(shi)個三(san)層(ceng)隧(sui)道(dao)(dao)協(xie)(xie)(xie)議(yi)。新(xin)出(chu)來(lai)的(de)(de) IETF 的(de)(de) IP 層(ceng)加密標準協(xie)(xie)(xie)議(yi) IPSec 協(xie)(xie)(xie)議(yi)也是(shi)(shi)個三(san)層(ceng)隧(sui)道(dao)(dao)協(xie)(xie)(xie)議(yi)。
IPSec(IPSecurity)是由一(yi)組(zu)RFC文(wen)檔組(zu)成,定(ding)(ding)義了(le)一(yi)個(ge)系(xi)統來(lai)提供(gong)安全(quan)(quan)協(xie)議(yi)選擇(ze)、安全(quan)(quan)算(suan)法(fa),確定(ding)(ding)服(fu)務所使用密鑰等服(fu)務,從而在IP層提供(gong)安全(quan)(quan)保障。 它(ta)不是一(yi)個(ge)單獨的(de)協(xie)議(yi),它(ta)給出了(le)應用于IP層上網(wang)(wang)絡(luo)數據安全(quan)(quan)的(de)一(yi)整套體系(xi)結構,它(ta)包括網(wang)(wang)絡(luo)安全(quan)(quan)協(xie)議(yi) Authentication Header(AH)協(xie)議(yi)和 Encapsulating Security Payload(ESP)協(xie)議(yi)、密鑰管(guan)理協(xie)議(yi)Internet Key Exchange (IKE)協(xie)議(yi)和用于網(wang)(wang)絡(luo)驗證及加密的(de)一(yi)些算(suan)法(fa)等。下(xia)面就IPSec的(de)認證與加密機(ji)制和協(xie)議(yi)分(fen)別做一(yi)些詳(xiang)細說明。
1. IPSec認證包頭(tou)(AH):
它是(shi)一個用(yong)于提(ti)供IP數(shu)據報(bao)完(wan)(wan)整(zheng)性和認證的(de)(de)機(ji)制。其完(wan)(wan)整(zheng)性是(shi)保證數(shu)據報(bao)不(bu)被無(wu)意(yi)的(de)(de)或惡(e)意(yi)的(de)(de)方(fang)式改變,而認證則驗證數(shu)據的(de)(de)來源(識別主(zhu)機(ji)、用(yong)戶、網絡等(deng))。AH本身其實(shi)并(bing)不(bu)支持任何形(xing)式的(de)(de)加(jia)密,它不(bu)能保證通過Internet發(fa)送的(de)(de)數(shu)據的(de)(de)可(ke)信程度。AH只是(shi)在加(jia)密的(de)(de)出口、進口或使用(yong)受到(dao)當地(di)政府限制的(de)(de)情況下(xia)(xia)可(ke)以提(ti)高(gao)全球Intenret的(de)(de)安(an)全性。當全部(bu)功能實(shi)現(xian)后,它將通過認證IP包(bao)(bao)并(bing)且減少基于IP欺騙(pian)的(de)(de)攻擊機(ji)率來提(ti)供更好的(de)(de)安(an)全服務(wu)。AH使用(yong)的(de)(de)包(bao)(bao)頭(tou)放在標準的(de)(de)IPv4和IPv6包(bao)(bao)頭(tou)和下(xia)(xia)一個高(gao)層(ceng)協議幀(zhen)(如TCP、UDP、ICMP等(deng))之間。
AH協議通過(guo)在(zai)(zai)(zai)整(zheng)個(ge)(ge)IP數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)(ju)報(bao)中實施一(yi)(yi)個(ge)(ge)消(xiao)息(xi)(xi)(xi)文(wen)摘(zhai)(zhai)(zhai)(zhai)計算(suan)來提供完(wan)整(zheng)性和(he)認(ren)(ren)證(zheng)(zheng)(zheng)服(fu)務。一(yi)(yi)個(ge)(ge)消(xiao)息(xi)(xi)(xi)文(wen)摘(zhai)(zhai)(zhai)(zhai)就是(shi)(shi)一(yi)(yi)個(ge)(ge)特(te)(te)定的(de)(de)(de)(de)單向數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)(ju)函數(shu)(shu),它能夠創建數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)(ju)報(bao)的(de)(de)(de)(de)唯一(yi)(yi)的(de)(de)(de)(de)數(shu)(shu)字指紋。消(xiao)息(xi)(xi)(xi)文(wen)摘(zhai)(zhai)(zhai)(zhai)算(suan)法(fa)(fa)的(de)(de)(de)(de)輸出結果(guo)(guo)放到AH包頭的(de)(de)(de)(de)認(ren)(ren)證(zheng)(zheng)(zheng)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)(ju)(Authentication_Data)區。消(xiao)息(xi)(xi)(xi)文(wen)摘(zhai)(zhai)(zhai)(zhai)5算(suan)法(fa)(fa)(MD5)是(shi)(shi)一(yi)(yi)個(ge)(ge)單向數(shu)(shu)學函數(shu)(shu)。當應用到分(fen)組(zu)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)(ju)中時,它將(jiang)(jiang)整(zheng)個(ge)(ge)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)(ju)分(fen)割成若干個(ge)(ge)128比特(te)(te)的(de)(de)(de)(de)信(xin)息(xi)(xi)(xi)分(fen)組(zu)。每個(ge)(ge)128比特(te)(te)為一(yi)(yi)組(zu)的(de)(de)(de)(de)信(xin)息(xi)(xi)(xi)是(shi)(shi)大分(fen)組(zu)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)(ju)的(de)(de)(de)(de)壓縮(suo)或摘(zhai)(zhai)(zhai)(zhai)要的(de)(de)(de)(de)表示。當以(yi)(yi)這種(zhong)方(fang)(fang)式使(shi)用時,MD5只提供數(shu)(shu)字的(de)(de)(de)(de)完(wan)整(zheng)性服(fu)務。一(yi)(yi)個(ge)(ge)消(xiao)息(xi)(xi)(xi)文(wen)摘(zhai)(zhai)(zhai)(zhai)在(zai)(zai)(zai)被發(fa)送之前和(he)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)(ju)被接(jie)(jie)收(shou)(shou)到以(yi)(yi)后(hou)都可(ke)以(yi)(yi)根據(ju)(ju)(ju)(ju)(ju)(ju)一(yi)(yi)組(zu)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)(ju)計算(suan)出來。如(ru)(ru)果(guo)(guo)兩次計算(suan)出來的(de)(de)(de)(de)文(wen)摘(zhai)(zhai)(zhai)(zhai)值是(shi)(shi)一(yi)(yi)樣的(de)(de)(de)(de),那(nei)(nei)么分(fen)組(zu)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)(ju)在(zai)(zai)(zai)傳(chuan)輸過(guo)程(cheng)中就沒有被改變。這樣就防止了無意或惡意的(de)(de)(de)(de)竄改。在(zai)(zai)(zai)使(shi)用HMAC-MD5認(ren)(ren)證(zheng)(zheng)(zheng)過(guo)的(de)(de)(de)(de)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)(ju)交(jiao)換(huan)(huan)中,發(fa)送者使(shi)用以(yi)(yi)前交(jiao)換(huan)(huan)過(guo)的(de)(de)(de)(de)密鑰來首(shou)次計算(suan)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)(ju)報(bao)的(de)(de)(de)(de)64比特(te)(te)分(fen)組(zu)的(de)(de)(de)(de)MD5文(wen)摘(zhai)(zhai)(zhai)(zhai)。從一(yi)(yi)系列的(de)(de)(de)(de)16比特(te)(te)中計算(suan)出來的(de)(de)(de)(de)文(wen)摘(zhai)(zhai)(zhai)(zhai)值被累加(jia)成一(yi)(yi)個(ge)(ge)值,然后(hou)放到AH包頭的(de)(de)(de)(de)認(ren)(ren)證(zheng)(zheng)(zheng)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)(ju)區,隨后(hou)數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)(ju)報(bao)被發(fa)送給接(jie)(jie)收(shou)(shou)者。接(jie)(jie)收(shou)(shou)者也必須知道密鑰值,以(yi)(yi)便計算(suan)出正(zheng)確的(de)(de)(de)(de)消(xiao)息(xi)(xi)(xi)文(wen)摘(zhai)(zhai)(zhai)(zhai)并且將(jiang)(jiang)其與(yu)接(jie)(jie)收(shou)(shou)到的(de)(de)(de)(de)認(ren)(ren)證(zheng)(zheng)(zheng)消(xiao)息(xi)(xi)(xi)文(wen)摘(zhai)(zhai)(zhai)(zhai)進行適(shi)配(pei)。如(ru)(ru)果(guo)(guo)計算(suan)出的(de)(de)(de)(de)和(he)接(jie)(jie)收(shou)(shou)到的(de)(de)(de)(de)文(wen)摘(zhai)(zhai)(zhai)(zhai)值相等,那(nei)(nei)么數(shu)(shu)據(ju)(ju)(ju)(ju)(ju)(ju)報(bao)在(zai)(zai)(zai)發(fa)送過(guo)程(cheng)中就沒有被改變,而且可(ke)以(yi)(yi)相信(xin)是(shi)(shi)由只知道秘密密鑰的(de)(de)(de)(de)另一(yi)(yi)方(fang)(fang)發(fa)送的(de)(de)(de)(de)。
2. 封(feng)包(bao)(bao)安全(quan)協議(yi)(ESP)包(bao)(bao)頭:
它提供IP數(shu)據(ju)(ju)報(bao)(bao)的(de)(de)(de)(de)(de)完整性和(he)可信(xin)性服務ESP協(xie)議是設計以兩(liang)種模(mo)式工(gong)作的(de)(de)(de)(de)(de):隧道(Tunneling)模(mo)式和(he)傳輸(Transport)模(mo)式。兩(liang)者的(de)(de)(de)(de)(de)區(qu)別在(zai)(zai)于IP數(shu)據(ju)(ju)報(bao)(bao)的(de)(de)(de)(de)(de)ESP負載(zai)部分的(de)(de)(de)(de)(de)內容不(bu)(bu)同。在(zai)(zai)隧道模(mo)式中,整個IP數(shu)據(ju)(ju)報(bao)(bao)都(dou)在(zai)(zai)ESP負載(zai)中進行(xing)封裝和(he)加密(mi)。當(dang)這(zhe)完成以后,真正(zheng)的(de)(de)(de)(de)(de)IP源地址(zhi)和(he)目(mu)的(de)(de)(de)(de)(de)地址(zhi)都(dou)可以被(bei)隱(yin)藏(zang)(zang)為(wei)Internet發(fa)(fa)送的(de)(de)(de)(de)(de)普通數(shu)據(ju)(ju)。這(zhe)種模(mo)式的(de)(de)(de)(de)(de)一種典型用法就是在(zai)(zai)防火(huo)(huo)墻-防火(huo)(huo)墻之間通過虛擬專(zhuan)用網的(de)(de)(de)(de)(de)連接時進行(xing)的(de)(de)(de)(de)(de)主(zhu)機(ji)或拓撲隱(yin)藏(zang)(zang)。在(zai)(zai)傳輸模(mo)式中,只有(you)更高層協(xie)議幀(TCP、UDP、ICMP等(deng))被(bei)放到加密(mi)后的(de)(de)(de)(de)(de)IP數(shu)據(ju)(ju)報(bao)(bao)的(de)(de)(de)(de)(de)ESP負載(zai)部分。在(zai)(zai)這(zhe)種模(mo)式中,源和(he)目(mu)的(de)(de)(de)(de)(de)IP地址(zhi)以及(ji)所有(you)的(de)(de)(de)(de)(de)IP包頭域都(dou)是不(bu)(bu)加密(mi)發(fa)(fa)送的(de)(de)(de)(de)(de)。
IPSec要(yao)求在(zai)所(suo)有(you)(you)的(de)(de)(de)ESP實(shi)現(xian)中使用(yong)一(yi)個(ge)(ge)通用(yong)的(de)(de)(de)缺省(sheng)算法(fa)(fa)即DES-CBC算法(fa)(fa)。美國數據(ju)(ju)(ju)加(jia)(jia)(jia)密(mi)(mi)(mi)(mi)(mi)(mi)標準(DES)是(shi)(shi)(shi)一(yi)個(ge)(ge)現(xian)在(zai)使用(yong)得非常普(pu)遍(bian)的(de)(de)(de)加(jia)(jia)(jia)密(mi)(mi)(mi)(mi)(mi)(mi)算法(fa)(fa)。它(ta)最早是(shi)(shi)(shi)在(zai)由美國政(zheng)府公布(bu)的(de)(de)(de),最初是(shi)(shi)(shi)用(yong)于(yu)商(shang)業應用(yong)。到現(xian)在(zai)所(suo)有(you)(you)DES專(zhuan)利的(de)(de)(de)保護期(qi)都已經到期(qi)了,因此(ci)全(quan)球都有(you)(you)它(ta)的(de)(de)(de)免費實(shi)現(xian)。IPSecESP標準要(yao)求所(suo)有(you)(you)的(de)(de)(de)ESP實(shi)現(xian)支持密(mi)(mi)(mi)(mi)(mi)(mi)碼分(fen)組(zu)鏈方式(shi)(CBC)的(de)(de)(de)DES作為(wei)(wei)缺省(sheng)的(de)(de)(de)算法(fa)(fa)。DES-CBC通過對組(zu)成一(yi)個(ge)(ge)完整的(de)(de)(de)IP數據(ju)(ju)(ju)包(隧道模(mo)式(shi))或下一(yi)個(ge)(ge)更(geng)高的(de)(de)(de)層(ceng)協議幀(傳輸模(mo)式(shi))的(de)(de)(de)8比(bi)特(te)數據(ju)(ju)(ju)分(fen)組(zu)中加(jia)(jia)(jia)入一(yi)個(ge)(ge)數據(ju)(ju)(ju)函(han)數來(lai)工作。DES-CBC用(yong)8比(bi)特(te)一(yi)組(zu)的(de)(de)(de)加(jia)(jia)(jia)密(mi)(mi)(mi)(mi)(mi)(mi)數據(ju)(ju)(ju)(密(mi)(mi)(mi)(mi)(mi)(mi)文(wen)(wen))來(lai)代(dai)替(ti)8比(bi)特(te)一(yi)組(zu)的(de)(de)(de)未加(jia)(jia)(jia)密(mi)(mi)(mi)(mi)(mi)(mi)數據(ju)(ju)(ju)(明文(wen)(wen))。一(yi)個(ge)(ge)隨(sui)機的(de)(de)(de)、8比(bi)特(te)的(de)(de)(de)初始化(hua)向量(IV)被(bei)用(yong)來(lai)加(jia)(jia)(jia)密(mi)(mi)(mi)(mi)(mi)(mi)第一(yi)個(ge)(ge)明文(wen)(wen)分(fen)組(zu),以保證即使在(zai)明文(wen)(wen)信息開頭相(xiang)同時也能保證加(jia)(jia)(jia)密(mi)(mi)(mi)(mi)(mi)(mi)信息的(de)(de)(de)隨(sui)機性。DES-CBC主要(yao)是(shi)(shi)(shi)使用(yong)一(yi)個(ge)(ge)由通信各方共享的(de)(de)(de)相(xiang)同的(de)(de)(de)密(mi)(mi)(mi)(mi)(mi)(mi)鑰(yao)(yao)。正因為(wei)(wei)如此(ci),它(ta)被(bei)認為(wei)(wei)是(shi)(shi)(shi)一(yi)個(ge)(ge)對稱的(de)(de)(de)密(mi)(mi)(mi)(mi)(mi)(mi)碼算法(fa)(fa)。接收方只(zhi)有(you)(you)使用(yong)由發送者用(yong)來(lai)加(jia)(jia)(jia)密(mi)(mi)(mi)(mi)(mi)(mi)數據(ju)(ju)(ju)的(de)(de)(de)密(mi)(mi)(mi)(mi)(mi)(mi)鑰(yao)(yao)才能對加(jia)(jia)(jia)密(mi)(mi)(mi)(mi)(mi)(mi)數據(ju)(ju)(ju)進(jin)行解密(mi)(mi)(mi)(mi)(mi)(mi)。因此(ci),DES-CBC算法(fa)(fa)的(de)(de)(de)有(you)(you)效性依賴于(yu)秘密(mi)(mi)(mi)(mi)(mi)(mi)密(mi)(mi)(mi)(mi)(mi)(mi)鑰(yao)(yao)的(de)(de)(de)安(an)全(quan),ESP使用(yong)的(de)(de)(de)DES-CBC的(de)(de)(de)密(mi)(mi)(mi)(mi)(mi)(mi)鑰(yao)(yao)長(chang)度是(shi)(shi)(shi)56比(bi)特(te)。
3. Internet 密鑰(yao)交換協議(IKE):
用于在(zai)兩個通信(xin)實體(ti)協商和建(jian)立(li)安(an)(an)全(quan)相(xiang)(xiang)關(guan),交(jiao)(jiao)換密(mi)(mi)鑰(yao)。安(an)(an)全(quan)相(xiang)(xiang)關(guan)(SecurityAssociation)是(shi)IPSec中(zhong)的(de)(de)一個重要概念。一個安(an)(an)全(quan)相(xiang)(xiang)關(guan)表示(shi)兩個或多(duo)個通信(xin)實體(ti)之間(jian)經過(guo)了身份認(ren)證(zheng),且這些通信(xin)實體(ti)都能支持相(xiang)(xiang)同的(de)(de)加密(mi)(mi)算(suan)法(fa)(fa),成(cheng)功地交(jiao)(jiao)換了會話密(mi)(mi)鑰(yao),可(ke)以開始利用 IPSec 進(jin)行安(an)(an)全(quan)通信(xin)。IPSec協議(yi)本(ben)身沒有提供在(zai)通信(xin)實體(ti)間(jian)建(jian)立(li)安(an)(an)全(quan)相(xiang)(xiang)關(guan)的(de)(de)方法(fa)(fa),利用 IKE建(jian)立(li)安(an)(an)全(quan)相(xiang)(xiang)關(guan)。IKE定義了通信(xin)實體(ti)間(jian)進(jin)行身份認(ren)證(zheng)、協商加密(mi)(mi)算(suan)法(fa)(fa)以及生(sheng)成(cheng)共(gong)享的(de)(de)會話密(mi)(mi)鑰(yao)的(de)(de)方法(fa)(fa)。IKE中(zhong)身份認(ren)證(zheng)采用共(gong)享密(mi)(mi)鑰(yao)和數字簽名兩種方式(shi)(shi),密(mi)(mi)鑰(yao)交(jiao)(jiao)換采用 Diffie Hellman 協議(yi)。安(an)(an)全(quan)相(xiang)(xiang)關(guan)也可(ke)以通過(guo)手工方式(shi)(shi)建(jian)立(li),但是(shi)當(dang) VPN 中(zhong)結點增多(duo)時(shi),手工配置將非(fei)常(chang)困難(nan)。
由此,IPSec 提供(gong)了以下(xia)幾(ji)種網絡(luo)安全服務:
· 私(si)有(you)性 - IPsec 在傳輸數據(ju)包之(zhi)前(qian)將其加密,以保證(zheng)數據(ju)的私(si)有(you)性
· 完整性 - IPsec在目的地要驗證數據(ju)(ju)包(bao),以保證該數據(ju)(ju)包(bao)在傳(chuan)輸過(guo)程(cheng)中沒有被替換
· 真實性 - IPsec 端要(yao)驗證所有受(shou) IPsec 保護的(de)數據包
· 反重(zhong)復(fu) -IPsec防(fang)止了數據包被撲(pu)捉并重(zhong)新投放(fang)到網上,即目的地會拒(ju)絕老的或重(zhong)復(fu)的數據包;它通過與 AH 或 ESP 一起工作的序(xu)列號(hao)實現
五 小結
VPN綜合了(le)專(zhuan)用(yong)(yong)和公(gong)用(yong)(yong)網(wang)絡(luo)(luo)的優點(dian),允許有多個(ge)站點(dian)的公(gong)司(si)擁有一(yi)個(ge)假想的完全(quan)(quan)(quan)專(zhuan)有的網(wang)絡(luo)(luo),而使(shi)用(yong)(yong)公(gong)用(yong)(yong)網(wang)絡(luo)(luo)作(zuo)為其站點(dian)之(zhi)間交流的線路,它通過(guo)可(ke)靠的加密技術方(fang)(fang)法保(bao)證其安全(quan)(quan)(quan)性。I P s e c是VPN隧道協議中一(yi)個(ge)相當新(xin)的標(biao)(biao)準,是實(shi)現I n t e r n e t的I P協議級安全(quan)(quan)(quan)可(ke)靠的一(yi)種方(fang)(fang)法,必將成為各個(ge)VPN產品所支持的業界標(biao)(biao)準。

