IPSec VPN快速入門
什么是IPSec VPN?IPSec VPN即指采用IPSec協(xié)議來實(shí)現(xiàn)遠(yuǎn)程接入的一種VPN技術(shù),IPSec全稱為Internet Protocol Security,是由Internet Engineering Task Force (IETF) 定義的安全標(biāo)準(zhǔn)框架,用以提供公用和專用網(wǎng)絡(luò)的端對端加密和驗(yàn)證服務(wù)。
IPsec協(xié)議不是一個單獨(dú)的協(xié)議,它給出了應(yīng)用于IP層上網(wǎng)絡(luò)數(shù)據(jù)安全的一整套體系結(jié)構(gòu),包括網(wǎng)絡(luò)認(rèn)證協(xié)議AH(Authentication Header,認(rèn)證頭)、ESP(Encapsulating Security Payload,封裝安全載荷)、IKE(Internet Key Exchange,因特網(wǎng)密鑰交換)和用于網(wǎng)絡(luò)認(rèn)證及加密的一些算法等。其中,AH協(xié)議和ESP協(xié)議用于提供安全服務(wù),IKE協(xié)議用于密鑰交換。
IPsec提供了兩種安全機(jī)制:認(rèn)證和加密。認(rèn)證機(jī)制使IP通信的數(shù)據(jù)接收方能夠確認(rèn)數(shù)據(jù)發(fā)送方的真實(shí)身份以及數(shù)據(jù)在傳輸過程中是否遭篡改。加密機(jī)制通過對數(shù)據(jù)進(jìn)行加密運(yùn)算來保證數(shù)據(jù)的機(jī)密性,以防數(shù)據(jù)在傳輸過程中被竊聽。IPsec協(xié)議中的AH協(xié)議定義了認(rèn)證的應(yīng)用方法,提供數(shù)據(jù)源認(rèn)證和完整性保證;ESP協(xié)議定義了加密和可選認(rèn)證的應(yīng)用方法,提供數(shù)據(jù)可靠性保證
一下子出現(xiàn)了三個專用名詞,這可能讓您感到十分費(fèi)解,沒關(guān)系,下面我們就來具體說一說AH、ESP和IKE它們在實(shí)現(xiàn)IPSec中分別起著什么作用。
AH協(xié)議(IP協(xié)議號為51)提供數(shù)據(jù)源認(rèn)證、數(shù)據(jù)完整性校驗(yàn)和防報文重放功能,它能保護(hù)通信免受篡改,但不能防止竊聽,適合用于傳輸非機(jī)密數(shù)據(jù)。AH的工作原理是在每一個數(shù)據(jù)包上添加一個身份驗(yàn)證報文頭,此報文頭插在標(biāo)準(zhǔn)IP包頭后面,對數(shù)據(jù)提供完整性保護(hù)。可選擇的認(rèn)證算法有MD5(Message Digest)、SHA-1(Secure Hash Algorithm)等。MD5算法的計算速度比SHA-1算法快,而SHA-1算法的安全強(qiáng)度比MD5算法高。
ESP協(xié)議(IP協(xié)議號為50)提供加密、數(shù)據(jù)源認(rèn)證、數(shù)據(jù)完整性校驗(yàn)和防報文重放功能。ESP的工作原理是在每一個數(shù)據(jù)包的標(biāo)準(zhǔn)IP包頭后面添加一個ESP報文頭,并在數(shù)據(jù)包后面追加一個ESP尾。與AH協(xié)議不同的是,ESP將需要保護(hù)的用戶數(shù)據(jù)進(jìn)行加密后再封裝到IP包中,以保證數(shù)據(jù)的機(jī)密性。常見的加密算法有DES、3DES、AES等。同時,作為可選項(xiàng),用戶可以選擇MD5、SHA-1算法保證報文的完整性和真實(shí)性。這三個加密算法的安全性由高到低依次是:AES、3DES、DES,安全性高的加密算法實(shí)現(xiàn)機(jī)制復(fù)雜,運(yùn)算速度慢。對于普通的安全要求,DES算法就可以滿足需要。
在實(shí)際進(jìn)行IP通信時,可以根據(jù)實(shí)際安全需求同時使用這兩種協(xié)議或選擇使用其中的一種。AH和ESP都可以提供認(rèn)證服務(wù),不過,AH提供的認(rèn)證服務(wù)要強(qiáng)于ESP。同時使用AH和ESP時,設(shè)備支持的AH和ESP聯(lián)合使用的方式為:先對報文進(jìn)行ESP封裝,再對報文進(jìn)行AH封裝,封裝之后的報文從內(nèi)到外依次是原始IP報文、ESP頭、AH頭和外部IP頭。IPsec有如下兩種工作模式:
tunnel和transport模式下的數(shù)據(jù)封裝形式,data為傳輸層數(shù)據(jù)
隧道(tunnel)模式:用戶的整個IP數(shù)據(jù)包被用來計算AH或ESP頭,AH或ESP頭以及ESP加密的用戶數(shù)據(jù)被封裝在一個新的IP數(shù)據(jù)包中。通常,隧道模式應(yīng)用在兩個安全網(wǎng)關(guān)之間的通訊。
傳輸(transport)模式:只是傳輸層數(shù)據(jù)被用來計算AH或ESP頭,AH或ESP頭以及ESP加密的用戶數(shù)據(jù)被放置在原IP包頭后面。通常,傳輸模式應(yīng)用在兩臺主機(jī)之間的通訊,或一臺主機(jī)和一個安全網(wǎng)關(guān)之間的通訊 。
講完了AH、ESP及數(shù)據(jù)封裝模式,接下來我們來看一下IPSec是如何實(shí)現(xiàn)數(shù)據(jù)安全傳輸?shù)摹Psec的兩個端點(diǎn)被稱為是IPsec對等體,要在兩個對等體之間實(shí)現(xiàn)數(shù)據(jù)的安全傳輸就要在兩者之間建立安全關(guān)聯(lián)(Security Association,SA)。SA是IPsec的基礎(chǔ),也是IPsec的本質(zhì)。SA是通信對等體間對某些要素的約定,例如,使用哪種協(xié)議(AH、ESP還是兩者結(jié)合使用)、協(xié)議的封裝模式(傳輸模式和隧道模式)、加密算法(DES、3DES和AES)、特定流中保護(hù)數(shù)據(jù)的共享密鑰以及密鑰的生存周期等。
SA是單向的,在兩個對等體之間的雙向通信,最少需要兩個SA來分別對兩個方向的數(shù)據(jù)流進(jìn)行安全保護(hù)。同時,如果兩個對等體希望同時使用AH和ESP來進(jìn)行安全通信,則每個對等體都會針對每一種協(xié)議來構(gòu)建一個獨(dú)立的SA。SA是具有生存周期的,且只對通過IKE協(xié)商建立的SA有效,手工方式建立的SA永不老化。IKE協(xié)商建立的SA的生存周期有兩種定義方式:基于時間的生存周期,定義了一個SA從建立到失效的時間;基于流量的生存周期,定義了一個SA允許處理的最大流量。
生存周期到達(dá)指定的時間或指定的流量,SA就會失效。SA失效前,IKE將為IPsec協(xié)商建立新的SA,這樣,在舊的SA失效前新的SA就已經(jīng)準(zhǔn)備好。在新的SA開始協(xié)商而沒有協(xié)商好之前,繼續(xù)使用舊的SA保護(hù)通信。在新的SA協(xié)商好之后,則立即采用新的SA保護(hù)通信。
到這里大家可能也就明白了IKE是什么,簡單的講IKE是一種安全機(jī)制,它提供端與端之間的動態(tài)認(rèn)證。IKE為IPsec提供了自動協(xié)商交換密鑰、建立SA的服務(wù),這能夠簡化IPsec的使用和管理,大大簡化IPsec的配置和維護(hù)工作。IKE不是在網(wǎng)絡(luò)上直接傳輸密鑰,而是通過一系列數(shù)據(jù)的交換,最終計算出雙方共享的密鑰,有了IKE,IPsec很多參數(shù)(如:密鑰)都可以自動建立,降低了手工配置的復(fù)雜度。
本文主要討論了IPsec實(shí)現(xiàn)數(shù)據(jù)安全傳輸?shù)脑恚詈笪覀儊砜偨Y(jié)一下IPsec所具有的優(yōu)點(diǎn):
1、支持IKE(Internet Key Exchange,因特網(wǎng)密鑰交換),可實(shí)現(xiàn)密鑰的自動協(xié)商功能,減少了密鑰協(xié)商的開銷。可以通過IKE建立和維護(hù)安全關(guān)聯(lián)(Security Association,SA)的服務(wù),簡化了IPsec的使用和管理。
2、所有使用IP協(xié)議進(jìn)行數(shù)據(jù)傳輸?shù)膽?yīng)用系統(tǒng)和服務(wù)都可以使用IPsec,由于IPSec工作在OSI的第3層,低于應(yīng)用程序直接涉及的層級,所以對于應(yīng)用程序來講,利用IPSec VPN所建立起來的隧道是完全透明的,無需修改既有的應(yīng)用程序,并且,現(xiàn)有應(yīng)用程序的安全解決方法也不會受到任何影響。
3、對數(shù)據(jù)的加密是以數(shù)據(jù)包為單位的,而不是以整個數(shù)據(jù)流為單位,這不僅靈活而且有助于進(jìn)一步提高IP數(shù)據(jù)包的安全性,可以有效防范網(wǎng)絡(luò)攻擊。
【編輯推薦】