IPSec協議那些事

贈人玫瑰-手留余香-點關注

IPSec協議產生的背景

› 用戶在互聯網上傳輸的數據容易遭受竊取

» 需要安全手段保證通信的機密性 ,即使被截獲,黑客也無法知道真實內容

› 用戶在互聯網上傳輸的數據容易遭受篡改

» 需要安全手段保證通信的完整性 ,接收端能夠檢測出數據受到了篡改

› 用戶在互聯網上傳輸的數據容易遭受身份欺騙

» 需要安全手段保證通信的合法性 ,接收端能夠判斷通信對方的身份

IPSec的相關概念

› IPSec (IP Security )是一種由IETF設計的端到端的確保IP層通信安全的機制。

» IPSec協議可以為IP網路通信提供透明的安全服務,保護TCP/IP通信免遭竊聽和篡改,保證數據的完整性和機密性,有效抵禦網路攻擊。

› IPSec不是一個單獨的協議,而是一組協議,IPSec協議的定義文件包括了12個RFC文件和幾十個Internet草案,已經成為工業標準的網路安全協議。

IPSec協議使用下面兩種協議對IP報文進行保護

› AH協議(Authentication Header ,IP協議號51 ):

可以同時提供數據完整性確認、數據來源確認、防重放等安全特性;AH常用摘要演算法HMAC-MD5和HMAC-SHA1實現該特性。

› ESP協議(Encapsulating Security Payload ,IP協議號50 )

可以同時提供數據完整性確認、數據加密、防重放等安全特性;ESP通常使用DES、3DES、AES等加密演算法實現數據加密,使用HMAC-MD5或HMAC-SHA1來實現

數據完整性。

SA概述

› 安全關聯(Security Association ,簡稱SA )是兩個IPSec實體(主機、安全網關)之間經過協商建立起來的一種協定,內容包括採用何種IPSec協議(AH還是ESP )、運行模式(傳輸模式還是隧道模式)、驗證演算法、加密演算法、加密密鑰、密鑰生存期、抗重放窗口,從而決定了保護什麼、如何保護以及誰來保護。可以說SA是構成IPSec的基礎。

› AH和ESP都使用SA中的參數來對IP數據進行保護。

› SA是單向的,入方向(inbound )SA負責處理接收到的數據包,出方向(outbound )SA負責處理要發送的數據包。因此每個通信方必須要有兩種SA , 一個入方向SA ,一個出方向SA ,這兩個SA構成了一個SA束(SA Bundle )。

兩個IPSec實體之間的IKE協商分為兩個階段

› 第一階段:建立ISAKMP SA (也可稱為IKE SA )

» 兩種模式:

– 主模式(main mode ):6條ISAKMP消息交互

– 積極模式(aggressive mode ):3條ISAKMP消息交互

ISAKMP SA可以用來保護多個第二階段IPSec SA協商的通信過程

› 第二階段:建立IPSec SA

» 一種模式:

– 快速模式(quick mode ):3條ISAKMP消息交互

IPSec SA是為IP數據提供安全保護,即前面概念中介紹的SA

IKE協商第一階段(主模式)

› 第一階段無論是使用main mode還是aggressive mode ,目的都是產生ISAKMP/IKE SA ,用ISAKMP/IKE SA為產生第二階IPSec SA的ISAKMP消息交互過程進行保護。

» 第1、2個ISAKMP報文

– IPSec實體雙方交互SA載荷,選擇相同ISAKMP消息的保護策略及認證方式,雙方必須達成一致,否則第一階段協商失敗

» 第3、4個ISAKMP報文

– IPSec實體雙方交互DH演算法的公共值及密鑰計算材料,從而雙方計算出一系列相同的密鑰

» 第5、6個ISAKMP報文

–第5、6個報文使用第3、4個報文交互后產生的相關密鑰進行驗證及加密處理。IPSec實體雙方分別對對方進行驗證,若使用pre-share key的驗證方式,即判斷對方是否擁有與本地相同的pre-share key。雙方的Key配置必須一致,否則第一階段協商失敗。

IKE協商第二階段總結(快速模式 )

› 第二階段交互的ISAKMP消息均被第一階段產生的ISAKMP/IKE SA保護。

› 確定IPSec SA的保護策略,使用AH還是ESP、傳輸模式還是隧道模式、被保護的數據是什麼等等,IPSec通信實體雙方對於這些安全策略必須達成一致,否則IKE第二階段協商將無法通過。

› 為降低密鑰之間的關聯性,第二階段採用PFS重新進行DH交換,並計算出新的共享密鑰,從而計算出IPSec SA中用於加密和驗證的密鑰。

› 第二階段協商的目標就是產生真正用於保護IP數據的IPSec SA。

IPSec協議工作流程及配置命令總結

你可能會喜歡