IPsec安全框架


IPsec 網絡安全體系

前言:
IPsec是網絡層的安全框架,不同於應用層等框架,IPSec安全服務包括訪問控制、數據源認證、無連 接數據完整性、抗重播、數據機密性和有限的通信流量機密性。

網絡安全體系

網絡安全是通過多層次的保護實現的,衍生出來的常用方式如下:

  1. 防火牆
  2. 信息加密
  3. 數字簽名
  4. PKI技術與認證
  5. IPsec安全體系

這里只簡單提一下各種方案,這其中每一項都復雜無比,然后重點說一下IPsec安全體系。

信息加密就是使用加密算法,重新組織信息,常用的加密算法分為兩類:對稱加密和非對稱加密。區別是對稱加密的加解密秘鑰相同,非對稱加密的加解密秘鑰不同。

對稱加密算法比較

名稱 秘鑰長度 運算速度 安全性 資源消耗
DES 56位 較快
3DES 112位或者168位
AES 128位,192位,256位

非對稱加密算法比較

名稱 成熟度 安全性 運算速度 資源消耗
RSA
DSA 只能用於數字簽名
ECC

對稱與非對稱加密的比較

名稱 秘鑰管理 安全性 運算速度
對稱算法 比較難,不適合互聯網,一般用於內部系統 快好幾個數量級(軟件加解密速度至少快100倍,每秒可以加解密數M比特數據),適合大數據量的加解密處理
非對稱算法 密鑰容易管理 慢,適合小數據量加解密或數據簽名

數字簽名是通過私鑰加密要發送信息的摘要,來保證信息的完整性和沒被篡改。

下面我們重點說一下IPsec安全體系。

IPsec安全框架

IPsec既然是一個安全框架,自然就不是只有一個協議,IPsec包含三個部分的協議和算法:

  1. 認證頭協議(AH協議)
  2. 封裝安全負載協議(ESP協議)
  3. 秘鑰管理協議(IKE協議)
  4. 各類加密和認證算法

認證頭協議(AH):IPsec 體系結構中的一種主要協議,它為IP 數據包提供無連接完整性與數據源認證,並提供保護以避免重播情況。AH 盡可能為IP頭和上層協議數據提供足夠多的認證。

IPsec 封裝安全負載(ESP):IPsec 體系結構中的一種主要協議。ESP 加密需要保護的數據並且在IPsec ESP 的數據部分進行數據的完整性校驗,以此來保證機密性和完整性。ESP 提供了與AH 相同的安全服務並提供了一種保密性(加密)服務,ESP 與AH 各自提供的認證根本區別在於它們的覆蓋范圍。

密鑰管理協議(IKE):一種混合型協議,由Internet 安全聯盟(SA)和密鑰管理協議(ISAKMP)這兩種密鑰交換協議組成。IKE 用於協商AH 和ESP所使用的密碼算法,並將算法所需的必備密鑰放到恰當位置。

IPsec支持兩種模式:傳輸模式和隧道模式。借助於隧道模式,經常被用於做vpn。

1.傳輸模式與隧道模式

隧道(tunnel)模式:用戶的整個IP數據包被用來計算AH或ESP頭,AH或ESP頭以及ESP加密的用戶數據被封裝在一個新的IP數據包中。通常,隧道模式應用在兩個安全網關之間的通訊。

傳輸(transport)模式:只是傳輸層數據被用來計算AH或ESP頭,AH或ESP頭以及ESP加密的用戶數據被放置在原IP包頭后面。通常,傳輸模式應用在兩台主機之間的通訊,或一台主機和一個安全網關之間的通訊。

傳輸模式與隧道模式的封裝結構如下圖:

2.認證與加密算法

(1). 認證算法

認證算法的實現主要是通過雜湊函數。雜湊函數是一種能夠接受任意長的消息輸入,並產生固定長度輸出的算法,該輸出稱為消息摘要。IPsec對等體計算摘要,如果兩個摘要是相同的,則表示報文是完整未經篡改的。IPsec使用兩種認證算法:

  • MD5:MD5通過輸入任意長度的消息,產生128bit的消息摘要。

  • SHA-1:SHA-1通過輸入長度小於2的64次方bit的消息,產生160bit的消息摘要。

MD5算法的計算速度比SHA-1算法快,而SHA-1算法的安全強度比MD5算法高。

(2). 加密算法

加密算法實現主要通過對稱密鑰系統,它使用相同的密鑰對數據進行加密和解密。目前設備的IPsec實現三種加密算法:

  • DES(Data Encryption Standard):使用56bit的密鑰對一個64bit的明文塊進行加密。

  • 3DES(Triple DES):使用三個56bit的DES密鑰(共168bit密鑰)對明文進行加密。

  • AES(Advanced Encryption Standard):使用128bit、192bit或256bit密鑰長度的AES算法對明文進行加密。

這三個加密算法的安全性由高到低依次是:AES、3DES、DES,安全性高的加密算法實現機制復雜,運算速度慢。對於普通的安全要求,DES算法就可以滿足需要。

3.IKE秘鑰交換協議

一種混合型協議,由Internet 安全聯盟(SA)和密鑰管理協議(ISAKMP)這兩種密鑰交換協議組成。

IPSec 在兩個端點之間提供安全通信,兩個端點被稱為IPSec ISAKMP 網關。安全聯盟(簡稱為SA)是IPSec 的基礎,也是IPSec 的本質。SA 是通信對等體間對某些要素的約定,例如使用哪種協議、協議的操作模式、加密算法(DES、3DES、AES-128、AES-192 和AES-256)、特定流中保護數據的共享密鑰以及SA 的生存周期等。

建立安全聯盟的方式有兩種,一種是手工方式(Manual),一種是IKE 自動協商(ISAKMP)方式。

IKE協商AH 和ESP所使用的密碼算法,並將算法所需的必備密鑰放到恰當位置。IKE為IPsec提供了自動協商交換密鑰、建立SA的服務,能夠簡化IPsec的使用和管理,大大簡化IPsec的配置和維護工作。

SA的建立過程包括兩個階段:

第一階段主要有這么幾個工作要做:

  • 參數的配置,如參數配置。包括:認證方法,選擇預共享密鑰或數字證書認證。
    Diffie-Hellman 組的選擇
  • 策略協商。包括:加密算法選擇DES、3DES、AES-128、AES-192 或AES-256。hash 算法選擇MD5 或SHA
  • DH 交換。雖然名為“密鑰交換”,但事實上在任何時候,兩台通信主機之間都不會交換真正的密鑰,它們之間交換的只是一些DH 算法生成共享密鑰所需要的基本材料信息。DH 交換,可以是公開的,也可以受保護。在彼此交換過密鑰生成“材料”后,兩端主機可以各自生成出完全一樣的共享“主密鑰”,保護緊接其后的認證過程。
  • 認證 。DH 交換需要得到進一步認證,如果認證不成功,通信將無法繼續下去。“主密鑰”結合在第一步中確定的協商算法,對通信實體和通信信道進行認證。在這一步中,整個待認證的實體載荷,包括實體類型、端口號和協議,均由前一步生成的“主密鑰”提供機密性和完整性保證。

第二階段主要的工作如下:

第二階段為快速SA,為數據傳輸而建立的安全聯盟。這一階段協商建立IPsec SA,為數據交換提供IPSec 服務。第二階段協商消息受第一階段SA 保護,任何沒有第一階段SA 保護的消息將被拒收。

  • 策略協商,雙方交換保護需求:

    • 使用哪種IPSec 協議:AH 或ESP
    • 是否使用hash 算法:MD5、SHA 或NULL
    • 是否要求加密,若是,選擇加密算法:DES 或3DES、AES-128、NULL、AES-192 或AES-256

    在上述三方面達成一致后,將建立起兩個SA,分別用於入站和出站通信。

  • 會話密鑰“材料”刷新或交換。在這一步中,將通過DH 交換生成加密IP 數據包的“會話密鑰”。

  • 將SA 遞交給IPSec 驅動程序。在第二階段協商過程中,如果響應超時,則自動嘗試重新進行第二階段SA 協商。

4.小結

IPsec作為一個安全框架,提供了2種封裝方式,傳輸模式和隧道模式,根據需要選擇合適的模式進行保護。SA作為IPsec的基礎,可以使用IKE的方式來管理交換秘鑰,協商工作參數。對於IPsec在Linux的實現可以進一步了解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM