IPSec的定義
IPSec(Internet Protocol Security)即Intenet安全協議,是IETF提供Internet安全通信的一系列規范,它提供私有信息通過公用網的安全保障。IPSec適用于目前的版本IPv4和下一代IPv6。IPSec規范相當復雜,規范中包含大量的文檔。由于IPSec在TCP/IP協議的核心層——IP層實現,因此可以有效地保護各種上層協議,并為各種安全服務提供一個統一的平臺。IPSec也是被下一代Internet 所采用的網絡安全協議。IPSec協議是現在VPN開發中使用的最廣泛的一種協議,它有可能在將來成為IPVPN的標準。
IPSec的基本目的是把密碼學的安全機制引入IP協議,通過使用現代密碼學方法支持保密和認證服務,使用戶能有選擇地使用,并得到所期望的安全服務。IPSec是隨著IPv6的制定而產生的,鑒于IPv4的應用仍然很廣泛,所以后來在IPSec的制定中也增加了對IPv4的支持。IPSec在IPv6中是必須支持的。
IPSec協議體系結構
IPSec將幾種安全技術結合形成一個完整的安全體系,它包括安全協議部分和密鑰協商部分。
(1)安全關聯和安全策略:安全關聯(Security Association,SA)是構成IPSec的基礎,是兩個通信實體經協商建立起來的一種協定,它們決定了用來保護數據包安全的安全協議(AH協議或者ESP協議)、轉碼方式、密鑰及密鑰的有效存在時間等。
(2)IPSec協議的運行模式:IPSec協議的運行模式有兩種,IPSec隧道模式及IPSec傳輸模式。隧道模式的特點是數據包最終目的地不是安全終點。通常情況下,只要IPSec雙方有一方是安全網關或路由器,就必須使用隧道模式。傳輸模式下,IPSec主要對上層協議即IP包的載荷進行封裝保護,通常情況下,傳輸模式只用于兩臺主機之間的安全通信。
(3)AH(Authentication Header,認證頭)協議:設計AH認證協議的目的是用來增加IP數據報的安全性。AH協議提供無連接的完整性、數據源認證和抗重放保護服務,但是AH不提供任何保密性服務。IPSec驗證報頭AH是個用于提供IP數據報完整性、身份認證和可選的抗重傳攻擊的機制,但是不提供數據機密性保護。驗證報頭的認證算法有兩種:一種是基于對稱加密算法(如DES),另一種是基于單向哈希算法(如MD5或SHA-1)。 驗證報頭的工作方式有傳輸模式和隧道模式。傳輸模式只對上層協議數據(傳輸層數據)和IP頭中的固定字段提供認證保護,把AH插在IP報頭的后面,主要適合于主機實現。隧道模式把需要保護的IP包封裝在新的IP包中,作為新報文的載荷, 然后把AH插在新的IP報頭的后面。隧道模式對整個IP數據報提供認證保護。
(4)ESP(Encapsulate Security Payload,封裝安全載荷)協議:封裝安全載荷(ESP)用于提高Internet協議(IP)協議的安全性。它可為IP提供機密性、數據源驗證、抗重放以及數據完整性等安全服務。ESP屬于IPSec的機密性服務。其中,數據機密性是ESP的基本功能,而數據源身份認證、數據完整性檢驗以及抗重傳保護都是可選的。ESP主要支持IP數據包的機密性,它將需要保護的用戶數據進行加密后再重新封裝到新的IP數據包中。
(5)Internet密鑰交換協議(IKE):Internet密鑰交換協議(IKE)是IPSec默認的安全密鑰協商方法。IKE通過一系列報文交換為兩個實體(如網絡終端或網關)進行安全通信派生會話密鑰。IKE建立在Internet安全關聯和密鑰管理協議(ISAKMP)定義的一個框架之上。IKE是IPSec目前正式確定的密鑰交換協議,IKE為IPSec的AH和ESP協議提供密鑰交換管理和SA管理,同時也為ISAKMP提供密鑰管理和安全管理。IKE具有兩種密鑰管理協議(Oakley和SKEME安全密鑰交換機制)的一部分功能,并綜合了Oakley和SKEME的密鑰交換方案,形成了自己獨一無二的受鑒別保護的加密材料生成技術。
雖然IPSec協議目前應用比較廣泛,性能比較穩定。但是IPSec協議是一個比較新的安全協議,而且非常復雜,作為一個還沒有完全成熟的協議,IPSec在理論上和實踐上都有一些問題有待改進。其不足之處主要是由其復雜性和靈活性引起的,IPSec包括了太多的選項,提供了過多可以變通的地方。相信隨著IP技術的發展,IPSec協議會日臻完善!
(作者單位:長江大學)