司 蕾
蘇州高博軟件技術(shù)職業(yè)學(xué)院,江蘇蘇州 215163
IPSEC場(chǎng)景應(yīng)用分析
司 蕾
蘇州高博軟件技術(shù)職業(yè)學(xué)院,江蘇蘇州 215163
本文提出一種在多IPSEC隧道場(chǎng)景下查詢SA的方法,并且與常見(jiàn)的方法進(jìn)行效率對(duì)比,供技術(shù)感興趣者和相關(guān)領(lǐng)域者參考。
IPSEC;加密 ;IPSEC SA
隨著IP技術(shù)的普及,特別是在移動(dòng)通信,銀行系統(tǒng)等對(duì)安全要求比較高的領(lǐng)域,IPSEC加密技術(shù)成為運(yùn)營(yíng)商或者廠家的首選。IPSEC技術(shù)包含IKE協(xié)議、加密和認(rèn)證技術(shù)等,這些相關(guān)技術(shù)基本上都是標(biāo)準(zhǔn)組織在協(xié)議或者草案已經(jīng)定義好的,但是實(shí)際在各種應(yīng)用場(chǎng)景下還是會(huì)出現(xiàn)很多可擴(kuò)展性的技術(shù),以適應(yīng)各種IPSEC應(yīng)用場(chǎng)景。
“Internet 協(xié)議安全性 (IPSec)”是一種開(kāi)放標(biāo)準(zhǔn)的框架結(jié)構(gòu),通過(guò)使用加密的安全服務(wù)以確保在 Internet 協(xié)議 (IP) 網(wǎng)絡(luò)上進(jìn)行保密而安全的通訊。IPSEC技術(shù)常見(jiàn)的網(wǎng)絡(luò)部署場(chǎng)景一般有對(duì)稱型網(wǎng)絡(luò)和不對(duì)稱型網(wǎng)絡(luò)兩種。
對(duì)稱型網(wǎng)絡(luò)一般適用于企業(yè)的分部之間或者企業(yè)與企業(yè)之間,在互聯(lián)網(wǎng)絡(luò)上兩臺(tái)安全網(wǎng)關(guān)協(xié)商IPSEC隧道,用于加密所有流經(jīng)的機(jī)密數(shù)據(jù);不對(duì)稱型網(wǎng)絡(luò)一般適用于遠(yuǎn)端接入,例如經(jīng)常在外的企業(yè)人員需要訪問(wèn)企業(yè)內(nèi)部的網(wǎng)絡(luò),可以隨時(shí)在網(wǎng)絡(luò)上向安全網(wǎng)關(guān)發(fā)起ISPEC隧道協(xié)商,協(xié)商加密隧道后,訪問(wèn)企業(yè)內(nèi)部網(wǎng)絡(luò)。兩種網(wǎng)絡(luò)結(jié)構(gòu),最大的不同點(diǎn)在于對(duì)稱型網(wǎng)絡(luò)中兩側(cè)的客戶端不需要具有IPSEC功能,而不對(duì)稱型網(wǎng)絡(luò)中要求接入側(cè)的客戶端具有IPSEC功能。本文主要講解不對(duì)稱型網(wǎng)絡(luò)在IPSEC應(yīng)用中的各種技術(shù)點(diǎn)的分析。
隧道模式,顧名思能義是雙層IP地址的應(yīng)用類型,即外層IP地址用于路由轉(zhuǎn)發(fā),內(nèi)層IP報(bào)文是真正的用戶數(shù)據(jù)報(bào)文。如下圖所示,當(dāng)客戶端需要發(fā)出加密數(shù)據(jù)時(shí):
第一步,首先生成需要加密的數(shù)據(jù),其中Inner IP是指客戶端的內(nèi)部邏輯IP,用于與對(duì)端客戶端交互的IP(注:對(duì)端客戶端在企業(yè)內(nèi)部,不需要具有IPSEC功能);
第二步,使用外部IP地址進(jìn)行封裝,同時(shí)加上ESP頭對(duì)第一步生成的數(shù)據(jù)進(jìn)行加密
第三步,網(wǎng)絡(luò)對(duì)加密數(shù)據(jù)報(bào)文進(jìn)行轉(zhuǎn)發(fā),其中轉(zhuǎn)發(fā)的依據(jù)是外部IP目的地址是安全網(wǎng)關(guān);
第四步,安全網(wǎng)關(guān)收到數(shù)據(jù)后,對(duì)報(bào)文“剔除”外層IP頭以及ESP頭,對(duì)加密數(shù)據(jù)進(jìn)行解密后恢復(fù)原始數(shù)據(jù);
第五步,網(wǎng)絡(luò)原始數(shù)據(jù)報(bào)文進(jìn)行轉(zhuǎn)發(fā),轉(zhuǎn)發(fā)的依據(jù)是內(nèi)層IP目的地址是企業(yè)內(nèi)部的各個(gè)客戶端。
對(duì)于安全網(wǎng)關(guān)來(lái)說(shuō),需要接入成千上萬(wàn)的IPSEC客戶端,如何來(lái)區(qū)分各個(gè)IPSEC客戶端呢,使用各自的加密和認(rèn)證算法進(jìn)行加密和解密呢?
每一個(gè)客戶端接入安全網(wǎng)關(guān)都需要協(xié)商以下參數(shù)才能建立IPSEC隧道:
1)加密和認(rèn)證算法,例如3DES,ASE128以及認(rèn)證算法MD5,SHA1等;
2)需要加解密的數(shù)據(jù)流,也就是IPSEC ACl,源IP目的IP;
3)加密密鑰和認(rèn)證密鑰,每一個(gè)IPSEC的隧道密鑰必然不同。
以上數(shù)據(jù)的合集在IPSEC技術(shù)框架中的術(shù)語(yǔ)叫IPSEC SA(),即IPSEC安全聯(lián)盟,每一個(gè)IPSEC SA代表需要加密的那份數(shù)據(jù)需要的參數(shù)。如果安全網(wǎng)關(guān)無(wú)法區(qū)分客戶端,下行數(shù)據(jù)流就無(wú)法正確發(fā)到客戶端或者加解密失敗。
IKE協(xié)議交互分為兩個(gè)階段,第一階段為IKE SA的建立,第二階段為IPSEC SA的建立.IPSEC SA建立在IKE SA的基礎(chǔ)上,IPSEC SA主要目的是建立后續(xù)業(yè)務(wù)數(shù)據(jù)需要加密的密鑰以及哪些數(shù)據(jù)需要加密.如下圖所示,TSi(Traffic Selector Initiator)和TSr為Traffic Selector Responser,發(fā)起者的流量范圍與接收者的流量范圍兩者相與,便可以獲取需要加密的數(shù)據(jù)acl.
例如上述IPSEC客戶端之間的IPSEC協(xié)商時(shí),TS為必選參數(shù)。
TSi為192.168.1.0/24-192.168.2.0/27
TSr為192.168.1.0/27-192.168.2.0/24
那么最終協(xié)商的traffic selector為192.168.1.0/27-192.168.2.0/27
根據(jù)IKE協(xié)議交互我們得知,IKE協(xié)商時(shí)traffic selector是一個(gè)非常重要的參數(shù),如果客戶端與安全網(wǎng)關(guān)不一致時(shí),隧道是無(wú)法協(xié)商成功的,我們一般稱traffic selector為IPSEC ACL。
根據(jù)以上分析得知,當(dāng)安全網(wǎng)關(guān)收到需要加密的數(shù)據(jù)時(shí),可以根據(jù)內(nèi)層的數(shù)據(jù)自動(dòng)匹配IPSEC ACL選擇IPSEC SA,也就是匹配到不同的客戶端。如上圖所示。
基于ACL查詢的IPSEC場(chǎng)景適合于內(nèi)層IP地址網(wǎng)段能比較容易區(qū)分,也就是每一個(gè)IPSEC對(duì)等體的流量范圍不一致時(shí)。當(dāng)內(nèi)層網(wǎng)段無(wú)法區(qū)分每一個(gè)客戶端,并且ACL只能使用相同的ACL時(shí),如下圖所示,所有的IPSEC客戶端的內(nèi)層IP都有3個(gè)網(wǎng)段,無(wú)法進(jìn)行歸類,只能使用0.0.0.0/0通配符網(wǎng)段。
在該場(chǎng)景下安全網(wǎng)關(guān)不能再通過(guò)協(xié)商的ACL來(lái)進(jìn)行SA查詢了,因?yàn)樗锌蛻舳藚f(xié)商的ACL源地址網(wǎng)段都是0.0.0.0/0通配符。為了能正確匹配所有客戶端,安全網(wǎng)關(guān)需要為每一個(gè)客戶端配置內(nèi)層IP網(wǎng)段的路由(即需要加密的數(shù)據(jù)流的網(wǎng)段),并且每一條路由與IPSEC隧道標(biāo)示進(jìn)行關(guān)聯(lián),這樣就可以通過(guò)路由正確匹配IPSEC SA了。假設(shè)安全網(wǎng)關(guān)接入兩個(gè)客戶端,在安全網(wǎng)關(guān)上需要做如下部署:
1)IPSEC客戶端1的IPSEC隧道記錄為tunnel1
IPSEC客戶端2的IPSEC隧道記錄為tunnel2。
2)ip route 192.168.1.1/29 tunnel1;
ip route 172.16.1.1/29 tunnel1;
ip route 10.192.1.1/29 tunnel1;
ip route 192.168.2.1/29 tunnel2;
ip route 172.16.2.1/29 tunnel2;
ip route 10.192.2.1/29 tunnel2。
基于筆者的經(jīng)驗(yàn),對(duì)以上兩種IPSEC SA的查詢方式作了比較,提供給使用者以及相關(guān)技術(shù)開(kāi)發(fā)者參考。
[1]Harkins,D.and D.Carrel,"The Internet Key Exchange(IKE)",RFC 2409,1998,11.
[2]D.Maughan,and J.Turner“Internet Security Association and Key Management Protocol (ISAKMP)”,RFC 2408,1998,11.
TP39
A
1674-6708(2010)30-0222-02