湯偉
摘 要:本文介紹了IPSec vpn使用的技術(shù)及協(xié)議,講述了企業(yè)利用IPSec 部署VPN的形式和方法。
關(guān)鍵詞:VPN;隧道技術(shù);加密技術(shù);IPSec
隨著信息化技術(shù)的發(fā)展,信息技術(shù)也應(yīng)用到企業(yè)生產(chǎn)活動(dòng)的各個(gè)方面。越來(lái)越多的信息系統(tǒng)開(kāi)始上線運(yùn)行,如ERP,LES系統(tǒng),MRO系統(tǒng),辦公自動(dòng)化系統(tǒng)等。不光是企業(yè)內(nèi)部員工,出差員工、眾多分支企業(yè)及合作伙伴也需要訪問(wèn)上述系統(tǒng)。這些應(yīng)用需求都要求有一種網(wǎng)絡(luò)技術(shù)能夠?qū)崿F(xiàn)遠(yuǎn)程接入到企業(yè)內(nèi)網(wǎng)。這種網(wǎng)絡(luò)技術(shù)不但要保證網(wǎng)絡(luò)的聯(lián)通性,還要保證數(shù)據(jù)傳輸過(guò)程中的安全性,和解決方案的經(jīng)濟(jì)性。
傳統(tǒng)租用線路或通道的方式使用費(fèi)用高、鏈路速率低、開(kāi)通過(guò)程繁瑣;近年來(lái)出現(xiàn)的IPSEC VPN(虛擬專用網(wǎng))技術(shù)提供了一種更好的解決方案。它只需要用戶開(kāi)通Internet就能夠?qū)崿F(xiàn)與總部的連接,并通過(guò)多種安全技術(shù),如身份認(rèn)證、隧道技術(shù)、加密技術(shù)等保證數(shù)據(jù)傳輸?shù)陌踩?。由于VPN的開(kāi)通與電信運(yùn)營(yíng)商無(wú)關(guān),VPN的開(kāi)通和撤銷都由企業(yè)用戶自己控制,使用也比較靈活。
1.vpn中的關(guān)鍵技術(shù)
vpn關(guān)鍵技術(shù)包括:隧道技術(shù),身份認(rèn)證技術(shù),和數(shù)據(jù)加密技術(shù)。
隧道技術(shù):為了使企業(yè)網(wǎng)內(nèi)一個(gè)局域網(wǎng)的數(shù)據(jù)透明的穿過(guò)公用網(wǎng)到達(dá)另一個(gè)局域網(wǎng),虛擬專用網(wǎng)采用一種稱之為隧道的技術(shù)。隧道技術(shù)(Tunneling Technology)在計(jì)算機(jī)網(wǎng)絡(luò)和數(shù)據(jù)通信領(lǐng)域有著十分重要的作用。它是一種通過(guò)使用互聯(lián)網(wǎng)絡(luò)的基礎(chǔ)設(shè)施在網(wǎng)絡(luò)之間傳遞數(shù)據(jù)的方式。利用它可在一條廣域網(wǎng)鏈路上,從數(shù)據(jù)源到目的節(jié)點(diǎn)之間建立一條隧道。使用隧道傳遞的數(shù)據(jù)(或負(fù)載)可以是不同協(xié)議的數(shù)據(jù)幀或包。
隧道技術(shù)包含了數(shù)據(jù)封裝、傳輸和解包在內(nèi)的全過(guò)程。如果將加密技術(shù)引人隧道協(xié)議,即數(shù)據(jù)包經(jīng)過(guò)加密后按隧道協(xié)議進(jìn)行封裝,沿隧道傳輸,就可以確保其安全性,從而在一條不安全的共享鏈路上建立一條能確保數(shù)據(jù)安全的有效通道,達(dá)到延伸網(wǎng)絡(luò)的目的。
身份認(rèn)證技術(shù): 用戶認(rèn)證技術(shù)(User Authentication Technology)是指在隧道連接正式開(kāi)始之前確認(rèn)用戶的身份,以便系統(tǒng)進(jìn)一步實(shí)施資源訪問(wèn)控制或用戶授權(quán)(Authorization)。認(rèn)證協(xié)議一般都要采用一種稱為摘要的技術(shù)。摘要技術(shù)主要是采用HASH函數(shù)將一段長(zhǎng)度可變的長(zhǎng)報(bào)文通過(guò)函數(shù)變換,映射為一段長(zhǎng)度固定的段報(bào)文即摘要。由于HASH函數(shù)的特性,使得要找到兩個(gè)不同的報(bào)文具有相同的摘要是非常困難的。該特性使得摘要技術(shù)在VPN中有兩個(gè)用途:
驗(yàn)證數(shù)據(jù)的完整性。
用戶認(rèn)證。
常用的HASH函數(shù)有MD5,SHA-1等。在IPSec VPN中缺省的認(rèn)證算法HMAC-MD5和HAC-SHAI。
數(shù)據(jù)加密技術(shù):當(dāng)數(shù)據(jù)包傳遞時(shí),數(shù)據(jù)加密技術(shù)用來(lái)隱藏?cái)?shù)據(jù)包。如果數(shù)據(jù)包通過(guò)不安全的Internet ,那么即使一級(jí)建立了用戶認(rèn)證,VPN也不完全是安全的。因?yàn)槿绻麤](méi)有加密的話,普通的嗅探技術(shù)也能捕獲數(shù)據(jù)包,甚至更改信息流。所以在隧道的發(fā)送端,認(rèn)證用戶要先加密,再傳送數(shù)據(jù):在接收端,認(rèn)證用戶后再解密。同時(shí),大多數(shù)的隧道協(xié)議沒(méi)有指出使用那種加密和認(rèn)證技術(shù),這使得在加密 和認(rèn)證技術(shù)上存在著許多不同的算法。
在IPSec VPN中可選算法包括3DES(Triple-DES),RCS,IDEA,CAST,BLOWFISH,RC4,RSA和橢圓曲線算法等,缺省的加密算法是DES-CBC。
2.IPSec的協(xié)議組成
IPSec安全體系結(jié)構(gòu)把多種安全技術(shù)集合到一起,可以建立一個(gè)安全、可靠的隧道。IPSec由IETF的IPSec工作組制訂,是一個(gè)開(kāi)放性的標(biāo)準(zhǔn)框架。
IPSec為保障IP數(shù)據(jù)包的安全,定義了一個(gè)特殊的方法,它規(guī)定了要保護(hù)什么通道、如何保護(hù)它以及通信數(shù)據(jù)發(fā)給任何人。IPSec可保障主機(jī)之間、網(wǎng)絡(luò)安全網(wǎng)關(guān)(如路由器或防火墻)之間或主機(jī)與安全網(wǎng)關(guān)之間的數(shù)據(jù)包的安全。
IPSec 協(xié)議主要由三個(gè)部分組成:驗(yàn)證包頭協(xié)議AH(Authentication Header)、封裝安全載荷協(xié)議ESP(Encapsulating Security Payload),Internet 密鑰交換協(xié)議IKE(Interne Key Exchange)。
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ù)包。AH的作用是為IP數(shù)據(jù)流提供高強(qiáng)度的數(shù)碼認(rèn)證,以確保被修改的數(shù)據(jù)包可以被檢查出來(lái)。AH使用消息認(rèn)證碼(MAC)對(duì)IP進(jìn)行認(rèn)證。
AH的工作機(jī)制如下:利用單向的信息摘要算法,對(duì)整個(gè)IP分組或上層協(xié)議計(jì)算一個(gè)摘要并作為該IP分組的一部分一起轉(zhuǎn)發(fā)出去,在分組的接收端,重新計(jì)算摘要并與原摘要進(jìn)行比較,如果分組在傳輸過(guò)程中被修改過(guò),則會(huì)由于摘要不一致而被丟棄,從而實(shí)現(xiàn)數(shù)據(jù)源鑒別和數(shù)據(jù)的完整性保護(hù)。 AH頭的位置依賴于AH 的操作模式。AH有兩種操作模式:傳輸模式和隧道模式。
ESP
封裝安全載荷ESP(Encapsulating Security Payload)是一種IPSec協(xié)議,用于確保IP數(shù)據(jù)包的機(jī)密性、數(shù)據(jù)的完整性以及數(shù)據(jù)源的身份驗(yàn)證。此外,它也要負(fù)責(zé)對(duì)重播攻擊的抵抗。RFC2406定義了最新版本的ESP,而RFC1827還定義了一個(gè)早期版本的ESP。該版本的ESP沒(méi)有提供對(duì)數(shù)據(jù)完整性的支持,IPSec工作組現(xiàn)已明確不再推薦對(duì)它提供支持。
ESP可以在隧道模式和傳輸模式兩種模式下運(yùn)行。在隧道模式下,ESP對(duì)整個(gè)IP數(shù)據(jù)包進(jìn)行封裝和加密,隱蔽了源和目的IP地址,從外部看不到數(shù)據(jù)包的路由過(guò)程;在傳輸模式下,ESP只對(duì)IP有效數(shù)據(jù)載荷進(jìn)行封裝和加密,IP源和目的IP地址不加密傳送,安全程度相對(duì)隧道模式較低。傳輸模式下,ESP頭插在IP頭和上層協(xié)議頭(如TCP或UDP頭)之間;隧道模式下,要對(duì)整個(gè)IP包封裝,ESP頭位于內(nèi)外IP頭之間。
Internet 密鑰交換
IPSec默認(rèn)的自動(dòng)密鑰管理協(xié)議是IKE(Internet 密鑰交換)。IKE是Oakley(由亞利桑那大學(xué)的一名安全專家Hilarie Orman 開(kāi)發(fā)的一種密鑰交換協(xié)議)和SKEME(由加密專家Hugo Krawczyk涉及的密鑰交換協(xié)議)協(xié)議的一種混合,并在由ISAKMP規(guī)定的框架內(nèi)運(yùn)行。
Intenet密鑰交換(IKE)用于動(dòng)態(tài)建立SA。IKE代表IPSec對(duì)SA進(jìn)行協(xié)商,并對(duì)安全關(guān)聯(lián)庫(kù)SAD進(jìn)行填充。ISAKMP提供了Internet密鑰管理框架,并為專用協(xié)議提供支持,包括格式、安全屬性的協(xié)商。
IKE 使用了兩個(gè)階段的ISAKMP。在第一階段,通信各方彼此建立一個(gè)已通過(guò)身份驗(yàn)證和安全保護(hù)的通道,即建立IKE安全聯(lián)盟。在第二階段,利用這個(gè)既定的安全聯(lián)盟,為IPSec協(xié)商具體的安全聯(lián)盟。
3.IPSec VPN在企業(yè)的應(yīng)用
企業(yè)網(wǎng)絡(luò)可以用IPsec 建立兩種形式的vpn,為不同的用戶提供接入服務(wù)。一種是點(diǎn)對(duì)點(diǎn)vpn,為分支機(jī)構(gòu),合作伙伴提供網(wǎng)絡(luò)接入;一種是客戶端vpn,為個(gè)人提供網(wǎng)絡(luò)接入。
3.1 點(diǎn)對(duì)點(diǎn)VPN
點(diǎn)對(duì)點(diǎn)vpn主要是采用設(shè)備對(duì)聯(lián)的方式,在企業(yè)網(wǎng)絡(luò)邊緣部署ipsec vpn的集中設(shè)備,作為與分支機(jī)構(gòu)網(wǎng)絡(luò)互聯(lián)的核心;在各分支機(jī)構(gòu)使用防火墻或?qū)iT的vpn設(shè)備與企業(yè)核心設(shè)備互聯(lián)。網(wǎng)絡(luò)結(jié)構(gòu)使用星形結(jié)構(gòu)。連接拓?fù)鋱D如圖1。
企業(yè)內(nèi)部設(shè)備與分支機(jī)構(gòu)做互聯(lián)時(shí),正常情況下,雙方設(shè)備都配置公網(wǎng)地址,兩端設(shè)備都使用公網(wǎng)地址協(xié)商隧道。此種情況下雙方都可以向?qū)Ψ桨l(fā)起協(xié)商請(qǐng)求,建立連接。協(xié)商過(guò)程如圖2 所示。
由于外網(wǎng)接入的環(huán)境不同,部分分支機(jī)構(gòu)使用撥號(hào)方式連接到Internet ,外網(wǎng)出口設(shè)備使用動(dòng)態(tài)IP地址,或分支機(jī)構(gòu)出口設(shè)備存在NAT的情況,此時(shí)只能由分支機(jī)構(gòu)端發(fā)起連接,建立隧道。協(xié)商過(guò)程如圖3所示。
點(diǎn)對(duì)點(diǎn)模式下遠(yuǎn)端設(shè)備與中心設(shè)備建立VPN隧道后,遠(yuǎn)端設(shè)備相當(dāng)于企業(yè)內(nèi)網(wǎng)的一個(gè)節(jié)點(diǎn),故遠(yuǎn)端設(shè)備的內(nèi)網(wǎng)均使用與企業(yè)內(nèi)網(wǎng)的私網(wǎng)網(wǎng)段;為了保證地址劃分的統(tǒng)一、規(guī)范,邏輯拓?fù)浜侠?,所有點(diǎn)對(duì)點(diǎn)VPN連接的對(duì)端地址均由總部統(tǒng)一指定。在保證帶寬的前提下,IPSec VPN能夠滿足日常的訪問(wèn)需求。
3.2 客戶端 VPN應(yīng)用
客戶端 VPN主要為個(gè)人網(wǎng)絡(luò)接入提供服務(wù),是ipsec vpn的一種應(yīng)用形式??蛻艨梢园惭b客戶端軟件,或者直接使用操作系統(tǒng)自帶的vpn接入客戶端。客戶端安裝完成后,個(gè)人用戶只要在具備訪問(wèn)Internet的網(wǎng)絡(luò)環(huán)境下,就可以通過(guò)撥號(hào)認(rèn)證的方式接入到企業(yè)內(nèi)網(wǎng)。與點(diǎn)對(duì)點(diǎn)VPN不同的是,遠(yuǎn)端對(duì)等體不是專用的VPN設(shè)備,而是裝有專門客戶端軟件的終端設(shè)備,如計(jì)算機(jī)、智能手機(jī)、平板電腦等。拓?fù)鋱D如圖4所示。
個(gè)人使用客戶端vpn時(shí),由于網(wǎng)絡(luò)環(huán)境的不確定性,為了保證用戶的正常接入,在企業(yè)端設(shè)備上應(yīng)開(kāi)放vpn客戶端連接時(shí)的NAT穿越功能。
由于客戶端vpn采用用戶認(rèn)證的方式,為了保證網(wǎng)絡(luò)安全,可以與第三方的認(rèn)證平臺(tái)結(jié)合,采用認(rèn)令牌,USB KEY等更安全的認(rèn)證方式。同時(shí)還可以通過(guò)第三方認(rèn)證平臺(tái)對(duì)用戶的登錄信息進(jìn)行審計(jì),保證用戶信息的安全性。
4 結(jié)論
隨著網(wǎng)絡(luò)設(shè)備廠家的支持,IPsec vpn已經(jīng)成為安全設(shè)備一種標(biāo)準(zhǔn)配置。IPsec vpn 也成為遠(yuǎn)程接入企業(yè)網(wǎng)絡(luò)方便快捷的接入方式,為企業(yè)提供了極大的方便。隨著技術(shù)的發(fā)展近年來(lái),SSL vpn 成為了新的企業(yè)網(wǎng)個(gè)人網(wǎng)絡(luò)接入方式。