IPSec,VPN技術(shù)的分析與研究
發(fā)布時(shí)間:2020-02-16 來源: 人生感悟 點(diǎn)擊:
摘要:本文對IPsec協(xié)議的基本數(shù)據(jù)結(jié)構(gòu)和安全特性進(jìn)行分析,討論了VPN關(guān)鍵技術(shù)和隧道協(xié)議,在此基礎(chǔ)上給出了以IPsec為隧道協(xié)議的VPN基本工作原理,通過SSL VPN與IPsec VPN比較,得出IPsec VPN 的優(yōu)缺點(diǎn)及其適用的工作場景。
關(guān)鍵詞:IPsec;AH;EPS;VPN; SSL
中圖分類號:TP393.08 文獻(xiàn)標(biāo)識碼:A
1 概述
IPSec的英文全名為“Internet Protocol Security”,中文名為“因特網(wǎng)安全協(xié)議”,這個(gè)安全協(xié)議是VPN的基本加密協(xié)議,它為數(shù)據(jù)通過公用網(wǎng)絡(luò)(如因特網(wǎng))在網(wǎng)絡(luò)層進(jìn)行傳輸時(shí)提供安全保障。通信雙方要建立IPSec通道,首先要采用一定的方式建立通信連接,因?yàn)镮PSec協(xié)議支持幾種操作模式,所以通信雙方先要確定所要采用的安全策略和使用模式,包括加密運(yùn)算法則和身份驗(yàn)證方法類型等。在IPSec協(xié)議中,一旦IPSec通道建立,所有在網(wǎng)絡(luò)層之上的協(xié)議在通信雙方都經(jīng)過加密,如TCP、UDP 、SNMP、HTTP、POP、AIM、KaZaa等,而不管這些通道構(gòu)建時(shí)所采用的安全和加密方法如何。
2IPsec原理
2.1安全特性[1]
IPSec的安全特性主要有:
2.1.1不可否認(rèn)性
“不可否認(rèn)性”可以證實(shí)消息發(fā)送方是唯一可能的發(fā)送者,發(fā)送者不能否認(rèn)發(fā)送過消息!安豢煞裾J(rèn)性”是采用公鑰技術(shù)的一個(gè)特征,當(dāng)使用公鑰技術(shù)時(shí),發(fā)送方用私鑰產(chǎn)生一個(gè)數(shù)字簽名隨消息一起發(fā)送,接收方用發(fā)送者的公鑰來驗(yàn)證數(shù)字簽名。由于在理論上只有發(fā)送者才唯一擁有私鑰,也只有發(fā)送者才可能產(chǎn)生該數(shù)字簽名,所以只要數(shù)字簽名通過驗(yàn)證,發(fā)送者就不能否認(rèn)曾發(fā)送過該消息。
2.1.2反重播性
“反重播”確保每個(gè)IP包的唯一性,保證信息萬一被截取復(fù)制后,不能再被重新利用、重新傳輸回目的地。
2.1.3數(shù)據(jù)完整性
防止傳輸過程中數(shù)據(jù)被篡改,確保發(fā)出數(shù)據(jù)和接收數(shù)據(jù)的一致性。IPSec利用Hash函數(shù)為每個(gè)數(shù)據(jù)包產(chǎn)生一個(gè)加密檢查和,接收方在打開包前先計(jì)算檢查和,若包遭篡改導(dǎo)致檢查和不相符,數(shù)據(jù)包即被丟棄。
2.1.4數(shù)據(jù)可靠性(加密)
在傳輸前,對數(shù)據(jù)進(jìn)行加密,可以保證在傳輸過程中即使數(shù)據(jù)包遭截取,信息也無法被讀。該特性在IPSec中為可選項(xiàng),與IPSec策略的具體設(shè)置相關(guān)。
2.2數(shù)據(jù)包結(jié)構(gòu)[2]
2.2.1認(rèn)證頭
認(rèn)證頭(AH)被用來保證被傳輸分組的完整性和可靠性。此外,它還保護(hù)不受重放攻擊。
表1認(rèn)證頭分組
01230 1 2 3 4 5 6 70 1 2 3 4 5 6 70 1 2 3 4 5 6 70 1 2 3 4 5 6 7下一個(gè)頭載荷長度保留安全參數(shù)索引(SPI)序列號認(rèn)證數(shù)據(jù)(可變長度)字段含義:
下一個(gè)頭:標(biāo)識被傳送數(shù)據(jù)所屬的協(xié)議。
載荷長度:認(rèn)證頭包的大小。
保留:為將來的應(yīng)用保留(目前都置為0).
安全參數(shù)索引 : 與IP地址一同用來標(biāo)識安全參數(shù)。
序列號:單調(diào)遞增的數(shù)值,用來防止重放攻
認(rèn)證數(shù)據(jù):包含了認(rèn)證當(dāng)前包所必須的數(shù)據(jù)。
2.2.2封裝安全載荷 (ESP)
封裝安全載荷(ESP)協(xié)議對分組提供了源可靠性、完整性和保密性的支持。與AH頭不同的是,IP分組頭部不被包括在內(nèi)。
字段含義:
安全參數(shù)索引:與IP地址一同用來標(biāo)識安全參數(shù)。
序列號:單調(diào)遞增的數(shù)值,用來防止重放攻擊。
載荷數(shù)據(jù):實(shí)際要傳輸?shù)臄?shù)據(jù)。
填充:某些塊加密算法用此將數(shù)據(jù)填充至塊的長度。
填充長度:以位為單位的填充數(shù)據(jù)的長度。
下一個(gè)頭 : 標(biāo)識被傳送數(shù)據(jù)所屬的協(xié)議。
認(rèn)證數(shù)據(jù):包含了認(rèn)證當(dāng)前包所必須的數(shù)據(jù)。
3VPN原理
3.1VPN的基本概念[3]
在VPN(Virtual Private Network,虛擬專用網(wǎng)絡(luò))中,任意兩個(gè)節(jié)點(diǎn)之間的連接并沒有傳統(tǒng)專網(wǎng)所需的端到端的物理鏈路,而是利用某種公眾網(wǎng)的資源動態(tài)組成的。 虛擬專用網(wǎng)對用戶端透明,用戶好像使用一條專用線路進(jìn)行通信。
3.2VPN的關(guān)鍵技術(shù)[4]
目前VPN主要采用四項(xiàng)技術(shù)來保證安全,這四項(xiàng)技術(shù)分別是隧道技術(shù)(Tunneling)、加解密技術(shù)(Encryption & Decryption)、密鑰管理技術(shù)(Key Management)、使用者與設(shè)備身份認(rèn)證技術(shù)(Authentication)。
3.2.1隧道技術(shù)
隧道是一種利用公網(wǎng)設(shè)施,在一個(gè)網(wǎng)絡(luò)之上的“網(wǎng)絡(luò)”傳輸數(shù)據(jù)的方法,被傳輸?shù)臄?shù)據(jù)可以是另一協(xié)議的幀。隧道協(xié)議用附加的報(bào)頭封裝幀,附加的報(bào)頭提供了路由信息,因此封裝后的包能夠通過中間的公網(wǎng)。封裝后的包所途經(jīng)的公網(wǎng)的邏輯路徑稱為隧道。一旦封裝的幀到達(dá)了公網(wǎng)上的目的地,幀就會被解除封裝并被繼續(xù)送到最終目的地。
3.2.2加解密技術(shù)
加解密技術(shù)是數(shù)據(jù)通信中一項(xiàng)較成熟的技術(shù),VPN可直接利用現(xiàn)有技術(shù)。用于VPN上的加密技術(shù)由IPSec的ESP (Encapsulationg Security Payload)實(shí)現(xiàn)。主要是發(fā)送者在發(fā)送數(shù)據(jù)之前對數(shù)據(jù)加密,當(dāng)數(shù)據(jù)到達(dá)接收者時(shí)由接收者對數(shù)據(jù)進(jìn)行解密的處理過程,算法主要種類包括:對稱加密(單鑰加密)算法、不對稱加密(公鑰加密)算法等。如DES (Data Encryption Standard)、IDEA (International Data Encryption Algorithm)、RSA(發(fā)明者Rivest、Shamir和Adleman名字的首字符)。
3.2.3密鑰管理技術(shù)
密鑰管理技術(shù)的主要任務(wù)是如何在公用數(shù)據(jù)網(wǎng)上安全地傳遞密鑰而不被竊取,F(xiàn)行密鑰管理技術(shù)又分為SKIP與ISAKMP/OAKLEY兩種。
SKIP主要是利用Diffie-Hellman的演算法則,在網(wǎng)絡(luò)上傳輸密鑰;在ISAKMP中,雙方都有兩把密鑰,分別用于公用、私用。
3.2.4使用者與設(shè)備身份認(rèn)證技術(shù)
使用者與設(shè)備身份認(rèn)證技術(shù)最常用的是用戶名/口令或智能卡認(rèn)證等方式。
3.3VPN隧道協(xié)議
隧道協(xié)議分為第二、三層隧道協(xié)議。它們的本質(zhì)區(qū)別再也用戶的數(shù)據(jù)包是被封裝在哪一層的數(shù)據(jù)包在隧道里傳輸。第二層隧道協(xié)議是先把各種網(wǎng)絡(luò)協(xié)議封裝到PPP中,再把整個(gè)數(shù)據(jù)包裝入隧道協(xié)議中。這種雙層封裝方法形成的數(shù)據(jù)包靠第二層協(xié)議進(jìn)行傳輸。第二層隧道協(xié)議有L2F、PPTP、L2TP等。L2TP協(xié)議是目前IETF的標(biāo)準(zhǔn),由IETF融合PPTP與L2F而形成。
3.3.1PPTP(Point to Point Tunneling Protocol,點(diǎn)到點(diǎn)隧道協(xié)議)
PPTP是VPN的基礎(chǔ)。PPTP的封裝在數(shù)據(jù)鏈路層產(chǎn)生,PPTP協(xié)議采用擴(kuò)展GRE(Generic Routing Encapsulation)頭對PPP/SLIP報(bào)進(jìn)行封裝。所謂擴(kuò)展GRE頭,即在通常GRE頭中,細(xì)化并修改了密鑰字段的利用,并增加了確認(rèn)、出現(xiàn)位和確認(rèn)號字段,從而提供了PPTP的流量控制功能。
3.3.2L2F(Layer 2 forwording)
L2F可以在多種介質(zhì)(如ATM、幀中繼、IP網(wǎng))上建立多協(xié)議的安全虛擬專用網(wǎng),將鏈路層的協(xié)議(如PPP,HDLC等)封裝起來傳送。因此,網(wǎng)絡(luò)的鏈路層完全獨(dú)立于用戶的鏈路層協(xié)議。
3.3.3L2TP(Layer 2 Tunneling Protocol)
是遠(yuǎn)程訪問型VPN今后的標(biāo)準(zhǔn)協(xié)議。它結(jié)合了PPTP協(xié)議和L2F協(xié)議的優(yōu)點(diǎn),以便擴(kuò)展功能。其格式基于L2F,信令基于PPTP。這種協(xié)議幾乎能實(shí)現(xiàn)PPTP和L2F協(xié)議能實(shí)現(xiàn)的所有服務(wù),并且更加強(qiáng)大、靈活。它定義了利用公共網(wǎng)絡(luò)設(shè)施(如IP網(wǎng)絡(luò)、ATM、幀中繼網(wǎng)絡(luò))封裝傳輸鏈路層PPP幀的方法。
3.3.4IPSec
是在IP層提供通信安全而提供的一套協(xié)議族,是一個(gè)開放性的標(biāo)準(zhǔn)框架。IPSec安全協(xié)議包括:封裝的安全負(fù)載ESP(Encapsulation Securiy Payload)和認(rèn)證報(bào)頭AH(Authentication Header)、ISAKMP(The Internet Security Association & Key Management Protocol),它對所有鏈路層上的數(shù)據(jù)提供安全保護(hù)和透明服務(wù)。
AH用于通信雙方能夠驗(yàn)證數(shù)據(jù)在傳輸過程中是否被更改并能驗(yàn)證發(fā)方的身份,實(shí)現(xiàn)訪問控制、數(shù)據(jù)完整性、數(shù)據(jù)源的認(rèn)證性和重放根據(jù)的保護(hù)的功能。
ISAKMP[5]主要用于通信雙方協(xié)商加密密鑰和加密算法,它是基于D-H的密鑰交換協(xié)議,并且用戶的公鑰和私鑰是由可信任第三方TTP(Trusted Third Party)產(chǎn)生的。
ESP 的基本思想是對整個(gè)IP包或更高層協(xié)議的數(shù)據(jù)進(jìn)行封裝,有2種模式:隧道(Tunnel)模式和傳輸(Transport)模式。在隧道模式下,IPSec把IPv4的整個(gè)IP包加密后封裝在新的安全I(xiàn)P包的數(shù)據(jù)段中,并生成一個(gè)新的IP包,在傳輸模式下只是將原IP包中的數(shù)據(jù)進(jìn)行加密后再發(fā)送出去。
通用路由封裝(GRE, Generic Routing Encapsulation):GRE規(guī)定了怎樣用一種網(wǎng)絡(luò)層協(xié)議去封裝另一種網(wǎng)絡(luò)層協(xié)議的方法。GRE的隧道由兩端的源IP地址和目的IP地址來定義。GRE只提供了數(shù)據(jù)包的封裝,它并沒有加密功能來防止網(wǎng)絡(luò)偵聽和攻擊。所有在實(shí)際環(huán)境中它常和IPSec一起使用,由IPSec提供用戶數(shù)據(jù)的加密,從而給用戶提供更好的安全性。
4SSL VPN與IPSec VPN 比較
4.1IPSec VPN 優(yōu)缺點(diǎn)
4.1.1優(yōu)點(diǎn)
。1)IPSec是與應(yīng)用無關(guān)的技術(shù),因此IPSec VPN的客戶端支持所有IP層協(xié)議;
。2)IPSec技術(shù)中,客戶端至站點(diǎn)(client-to-site)、站點(diǎn)對站點(diǎn)(site-to-site)、客戶端至客戶端(client-to-client)連接所使用的技術(shù)是完全相同的;
。3)IPSec VPN網(wǎng)關(guān)一般整合了網(wǎng)絡(luò)防火墻的功能;
4.1.2不足
。1) IPSec VPN需要安裝客戶端軟件,但并非所有客戶端操作系統(tǒng)均支持IPSec VPN的客戶端程序;
。2)IPSec VPN的連接性會受到網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)的影響,或受網(wǎng)關(guān)代理設(shè)備(proxy)的影響;
。3)IPSec VPN需要先完成客戶端配置才能建立通信信道,并且配置復(fù)雜。
4.2SSL VPN[6] 優(yōu)缺點(diǎn)
4.2.1優(yōu)點(diǎn)
(1)它的HTTPS客戶端程序,如Microsoft Internet Explorer、Netscape Communicator、Mozilla等已經(jīng)預(yù)裝在了終端設(shè)備中,因此不需要再次安裝;
(2)像Microsoft Outlook與Eudora這類流行的郵件客戶端/服務(wù)器程序所支持的SSL HTTPS功能,同樣也與市場上主要的Web服務(wù)器捆綁銷售,或者通過專門的軟硬件供貨商(例如Web存取設(shè)備)獲得;
。3)SSL VPN可在NAT代理裝置上以透明模式工作;
。4)SSL VPN不會受到安裝在客戶端與服務(wù)器之間的防火墻的影響。
4.2.2不足
SSL VPN不適用做點(diǎn)對點(diǎn)的VPN,后者通常是使用IPSec/IKE技術(shù);
SSL VPN需要開放網(wǎng)絡(luò)防火墻中的HTTPS連接端口,以使SSL VPN網(wǎng)關(guān)流量通過。5 結(jié)束語
IPsec協(xié)議的實(shí)現(xiàn)彌補(bǔ)TCP/IP參考模型設(shè)計(jì)之初的缺陷,但其本身也存在一些不足。通過SSL VPN與IPsec VPN比較,進(jìn)一步明確了IPsec VPN的特點(diǎn)及其適用的工作場合。
參考文獻(xiàn)
。1] Panos Trimintzios. A management and control architecture for providing IP differentiated services in MPLS-based networks, IEEE Communications Magazine, 2001, 39(5): pp.80-88.
[2]Intergated service in the Internet architecture: an overview.RFC1633,1994.
。3]J iang Y, Tham C, Ko C.Providing quality of service monitoring: challenges and approaches . International Journal of Network Management, 2000, 10 (6):pp.323-334.
[4] RFC 2917-2001, Muthukrishnan and amalis, a core MPLS.
。5]Steven brown著, 董曉宇,魏鴻,馬潔等譯. 構(gòu)建虛擬專用網(wǎng)[M]. 北京:人民郵電出版社, 2001.
。6]Thaddeus Fortenberry 著,陸建業(yè)譯. Windows 2000虛擬專用網(wǎng)[M].北京:清華大學(xué)出版社,2001.
。ū疚膶徃逋趸模
相關(guān)熱詞搜索:分析 研究 技術(shù) IPSec VPN技術(shù)的分析與研究 vpn ipsec怎么配置 ipsec vpn配置實(shí)例
熱點(diǎn)文章閱讀