IPSec VPN的詳細介紹
IPSec (IP SECURITY)是為實現(xiàn)VPN 功能而最普遍使用的協(xié)議。通過相應(yīng)的隧道技術(shù),可實現(xiàn)VPN。IPSec有兩種模式:隧道模式和傳輸模式。
IPSec 不是一個單獨的協(xié)議,它給出了應(yīng)用于IP 層上網(wǎng)絡(luò)數(shù)據(jù)安全的一整套體系結(jié)構(gòu)。該體系結(jié)構(gòu)包括認證頭協(xié)議(Authentication Header,簡稱為AH)、封裝安全負載協(xié)議(EncapsulatingSecurity Payload,簡稱為ESP)、密鑰管理協(xié)議(Internet Key Exchange,簡稱為IKE)和用于網(wǎng)絡(luò)認證及加密的一些算法等。
IPSec 規(guī)定了如何在對等體之間選擇安全協(xié)議、確定安全算法和密鑰交換,向上提供了訪問控制、數(shù)據(jù)源認證、數(shù)據(jù)加密等網(wǎng)絡(luò)安全服務(wù)。
認證頭協(xié)議(AH):IPsec 體系結(jié)構(gòu)中的一種主要協(xié)議,它為IP 數(shù)據(jù)包提供無連接完整性與數(shù)據(jù)源認證,并提供保護以避免重播情況。AH 盡可能為IP頭和上層協(xié)議數(shù)據(jù)提供足夠多的認證。
IPsec 封裝安全負載(ESP):IPsec 體系結(jié)構(gòu)中的一種主要協(xié)議。ESP 加密需要保護的數(shù)據(jù)并且在IPsec ESP 的數(shù)據(jù)部分進行數(shù)據(jù)的完整性校驗,以此來保證機密性和完整性。ESP 提供了與AH 相同的安全服務(wù)并提供了一種保密性(加密)服務(wù),ESP 與AH 各自提供的認證根本區(qū)別在于它們的覆蓋范圍。
密鑰管理協(xié)議(IKE):一種混合型協(xié)議,由Internet 安全聯(lián)盟(SA)和密鑰管理協(xié)議(ISAKMP)這兩種密鑰交換協(xié)議組成。IKE 用于協(xié)商AH 和ESP所使用的密碼算法,并將算法所需的必備密鑰放到恰當位置。
IPSec工作時,首先兩端的網(wǎng)絡(luò)設(shè)備必須就SA(security association)達成一致,這是兩者之間的一項安全策略協(xié)定。
安全聯(lián)盟(Security Association)
IPSec 在兩個端點之間提供安全通信,兩個端點被稱為IPSec ISAKMP 網(wǎng)關(guān)。安全聯(lián)盟(簡稱為SA)是IPSec 的基礎(chǔ),也是IPSec 的本質(zhì)。SA 是通信對等體間對某些要素的約定,例如使用哪種協(xié)議、協(xié)議的操作模式、加密算法(DES、3DES、AES-128、AES-192 和AES-256)、特定流中保護數(shù)據(jù)的共享密鑰以及SA 的生存周期等。
安全聯(lián)盟是單向的,在兩個對等體之間的雙向通信,最少需要兩個安全聯(lián)盟來分別對兩個方向的數(shù)據(jù)流進行安全保護。
SA 建立方式
建立安全聯(lián)盟的方式有兩種,一種是手工方式(Manual),一種是IKE 自動協(xié)商(ISAKMP)方式。
手工方式配置比較復(fù)雜,創(chuàng)建安全聯(lián)盟所需的全部信息都必須手工配置,而且IPSec 的一些高級特性(例如定時更新密鑰)不能被支持,但優(yōu)點是可以不依賴IKE而單獨實現(xiàn)IPSec 功能。該方式適用于當與之進行通信的對等體設(shè)備數(shù)量較少的情況,或是在小型靜態(tài)環(huán)境中。IKE 自動協(xié)商方式相對比較簡單,只需要配置好IKE 協(xié)商安全策略的信息,由IKE 自動協(xié)商來創(chuàng)建和維護安全聯(lián)盟。該方式適用于中、大型的動態(tài)網(wǎng)絡(luò)環(huán)境中。
該方式建立SA 的過程分兩個階段。第一階段,協(xié)商創(chuàng)建一個通信信道(ISAKMP SA),并對該信道進行認證,為雙方進一步的IKE 通信提供機密性、數(shù)據(jù)完整性以及數(shù)據(jù)源認證服務(wù);第二階段,使用已建立的ISAKMP SA 建立IPsec SA。分兩個階段來完成這些服務(wù)有助于提高密鑰交換的速度。
第一階段SA
第一階段SA 為建立信道而進行的安全聯(lián)盟。第一階段協(xié)商的步驟是:
1. 參數(shù)配置。包括:
認證方法:選擇預(yù)共享密鑰或數(shù)字證書認證
Diffie-Hellman 組的選擇
2. 策略協(xié)商。包括:
加密算法:選擇DES、3DES、AES-128、AES-192 或AES-256
hash 算法:選擇MD5 或SHA
3. DH 交換。雖然名為“密鑰交換”,但事實上在任何時候,兩臺通信主機之間都不會交換真正的密鑰,它們之間交換的只是一些DH 算法生成共享密鑰所需要的基本材料信息。DH 交換,可以是公開的,也可以受保護。在彼此交換過密鑰生成“材料”后,兩端主機可以各自生成出完全一樣的共享“主密鑰”,保護緊接其后的認證過程。
4. 認證 。DH 交換需要得到進一步認證,如果認證不成功,通信將無法繼續(xù)下去。“主密鑰”結(jié)合在第一步中確定的協(xié)商算法,對通信實體和通信信道進行認證。在這一步中,整個待認證的實體載荷,包括實體類型、端口號和協(xié)議,均由前一步生成的“主密鑰”提供機密性和完整性保證。#p#
第二階段SA
第二階段SA 為快速SA,為數(shù)據(jù)傳輸而建立的安全聯(lián)盟。這一階段協(xié)商建立IPsec SA,為數(shù)據(jù)交換提供IPSec 服務(wù)。第二階段協(xié)商消息受第一階段SA 保護,任何沒有第一階段SA 保護的消息將被拒收。第二階段協(xié)商(快速模式協(xié)商)步驟是:
1. 策略協(xié)商,雙方交換保護需求:
使用哪種IPSec 協(xié)議:AH 或ESP
是否使用hash 算法:MD5、SHA 或NULL
是否要求加密,若是,選擇加密算法:DES 或3DES、AES-128、NULL、AES-192 或AES-256
在上述三方面達成一致后,將建立起兩個SA,分別用于入站和出站通信。
2. 會話密鑰“材料”刷新或交換。
在這一步中,將通過DH 交換生成加密IP 數(shù)據(jù)包的“會話密鑰”。
3. 將SA 遞交給IPSec 驅(qū)動程序。
在第二階段協(xié)商過程中,如果響應(yīng)超時,則自動嘗試重新進行第二階段SA 協(xié)商。
驗證算法
AH 和ESP 都能夠?qū)P 報文的完整性進行驗證,以判別報文在傳輸過程中是否被篡改。驗證算法的實現(xiàn)主要是通過雜湊函數(shù)。雜湊函數(shù)是一種能夠接受任意長的消息輸入,并產(chǎn)生固定長度輸出的算法,該輸出稱為消息摘要。IPSec 對等體計算摘要,如果兩個摘要是相同的,則表示報文是完整未經(jīng)篡改的。一般來說IPSec 使用兩種驗證算法:
MD5:MD5 輸入任意長度的消息,產(chǎn)生128bit 的消息摘要。
SHA-1:SHA-1 輸入長度小于2 的64 次方比特的消息,產(chǎn)生160bit 的消息摘要。SHA-1 的摘要長于MD5,因而是更安全的。
加密算法
ESP 能夠?qū)P 報文內(nèi)容進行加密保護,防止報文內(nèi)容在傳輸過程中被窺探。加密算法實現(xiàn)主要通過對稱密鑰系統(tǒng),它使用相同的密鑰對數(shù)據(jù)進行加密和解密。
StoneOS 實現(xiàn)了三種加密算法:
DES(Data Encryption Standard):使用56bit 的密鑰對每個64bit 的明文塊進行加密。
3DES(Triple DES):使用三個56bit 的DES 密鑰(共168bit 密鑰)對明文進行加密。
AES(Advanced Encryption Standard):StoneOS 實現(xiàn)了128bit、192bit 和256bit 密鑰長度的AES 算法。
IPSec VPN 的應(yīng)用
SA 系列安全網(wǎng)關(guān)通過“基于策略的VPN”和“基于路由的VPN”兩種方式把配置好的VPN 隧道應(yīng)用到安全網(wǎng)關(guān)上,實現(xiàn)流量的加密解密安全傳輸。
基于策略的VPN:將配置成功的VPN 隧道名稱引用到策略規(guī)則中,使符合條件的流量通過指定的VPN 隧道進行傳輸。
基于路由的VPN:將配置成功的VPN 隧道與隧道接口綁定;配置靜態(tài)路由時,將隧道接口指定為下一跳路由。
【編輯推薦】