簡介

IPsec 是一組通訊協定,一起用於在 OSI 模型的第 3 層(網路層)裝置之間設定安全連線

通訊流程

Internet Protocol Security (IPsec) 的通訊流程主要分為兩個階段:IKE(Internet Key Exchange)階段和數據傳輸階段

IKE 階段

Internet Key Exchange Protocol (IKE) 階段分為兩個子階段:IKE Phase 1 和 IKE Phase 2

IKE Phase 1

  • 目標:建立雙方之間安全的通道並驗證彼此的身份,通常稱為 IKE SA(Security Association),用來保護後續的密鑰交換。這個階段有兩種模式:主模式(Main Mode)和快速模式(Aggressive Mode)
  • 流程
    1. 協商加密和驗證參數 (IKE):雙方協商使用的加密(如 AES、3DES)、Hash(如 SHA-256)、DH(Diffie-Hellman)組、身份驗證方法(如 PSK、證書)
    2. DH 密鑰交換:通過 DH 算法交換密鑰材料,生成共享秘密
    3. 身份驗證:雙方根據約定的方法進行身份驗證
  • 主要參數
    • 加密演算法(Encryption Algorithm): 用於加密 IKE 通訊的算法,例如 AES、3DES。
    • 雜湊(Hash Algorithm): 用於確保數據完整性的算法,例如 SHA-1、SHA-256
    • DH 群組(Diffie-Hellman Group): 用於密鑰交換的 DH 群組,例如 Group 2、Group 14
    • 身份驗證方法(Authentication Method): 用於驗證對方身份的方法,例如預共享密鑰(Pre-shared Key)、數位證書(Digital Certificates)

IKE Phase 2

  • 目標:在 IKE Phase 1 建立的安全通道上協商用於保護實際數據流的參數,建立一個或多個 IPsec SA,這些 SA 將用於保護實際的數據傳輸。這個階段也稱為快速模式(Quick Mode)
  • 流程
    1. 協商 IPsec SA(Security Association):雙方協商用於保護數據流的加密和驗證參數
    2. 建立 IPsec SA:雙方確認協商的參數並建立 IPsec SA
  • 主要參數
    • 加密演算法(Encryption Algorithm): 與 IKE Phase 1 相同
    • 雜湊(Hash Algorithm): 與 IKE Phase 1 相同
    • PFS(Perfect Forward Secrecy): 確保即使長期密鑰被破解,之前的通訊也不會被解密。PFS 需要再次執行 DH 密鑰交換

數據傳輸階段

在數據傳輸階段,IPsec 使用在 IKE Phase 2 中協商的 SA 來保護實際的數據傳輸。IPsec 有兩種工作模式:傳輸模式(Transport Mode)和隧道模式(Tunnel Mode)

傳輸模式(Transport Mode)

  • 只對 IP 負載進行保護(即 IP 包的有效載荷)
  • 原始 IP 頭部保持不變,只是加密了數據部分
  • 主要用於主機間的通訊
  • 實際案例
    1. 端點到端點的通訊
      • 描述: 兩個終端設備(例如兩台伺服器或兩個工作站)之間直接進行加密通訊
      • 應用情境: 企業內部的伺服器之間需要加密通訊,確保數據在傳輸過程中不被竄改或竊取。
    2. 遠端桌面連接
      • 描述: 遠端桌面協定(RDP)使用 IPsec 傳輸模式來加密從用戶電腦到遠端伺服器的通訊。
      • 應用情境: IT 管理員通過遠端桌面連接到企業內部的伺服器進行維護和管理,需要保護傳輸過程中的敏感數據。

隧道模式(Tunnel Mode)

  • 對整個 IP 封包進行保護,將其作為新 IP 封包的負載
  • 在原始 IP 封包外包裹一個新的 IP Header
  • 主要用於網關之間的通訊
  • 實際案例
    1. 站點到站點 VPN(Site-to-Site VPN)
      • 描述: 兩個不同地理位置的網路(例如兩個分公司網路)之間通過 VPN 閘道器進行加密通訊
      • 應用情境: 公司總部與遠端分公司之間需要建立安全的通訊通道,以保護內部資料傳輸和應用程序存取
    2. 遠端存取 VPN(Remote Access VPN)
      • 描述: 遠端工作人員通過 VPN 客戶端連接到企業網路,VPN 客戶端和 VPN 伺服器之間的通訊進行加密
      • 應用情境: 員工在外出差或在家工作時,需要安全地存取公司內部的應用和資料
    3. 雲服務和數據中心之間的通訊
      • 描述: 企業內部數據中心和雲服務提供商之間使用 IPsec 隧道模式來保護數據傳輸
      • 應用情境: 企業將部分應用程序遷移到雲端,需要確保本地數據中心和雲端之間的通訊安全

主要參數

  • ESP(Encapsulating Security Payload): 提供數據加密和驗證。ESP 提供數據加密、來源驗證和數據完整性檢查。ESP 通過在數據包內部添加一個 ESP 標頭和尾部來保護數據。
  • AH(Authentication Header): 提供數據的完整性和身份驗證,但不加密數據。AH 會在數據包 header 添加 AH,用於承載身份驗證數據
  • SPI(Security Parameter Index): 用於標識不同的 IPsec SA
  • 密鑰材料(Keying Material): 由 IKE 階段產生,用於加密和驗證數據

其他補充

  • SA(Security Association):IPsec 中定義的雙方之間的安全參數集合,包括 SPI(Security Parameter Index)、加密演算法、hash 等
  • 隧道模式:指定 IPsec 工作於傳輸模式還是隧道模式
  • 生存時間(Lifetime):SA 的有效期,在到期後需要重新協商

Policy-based vs. Route-based

Policy-based IPsec

  • 特點
    • 配置方式: 基於安全策略(Security Policies)來決定哪些流量需要經過 IPSec 隧道
    • 工作原理: 通過配置安全策略,定義特定的流量(例如,特定的源 IP、目的 IP、協定、端口等)需要被加密和保護。當匹配到這些策略的流量時,流量會被引導進入 IPSec 隧道
    • 使用場景: 通常用於需要精細控制和高安全性的環境,例如企業內部的敏感數據傳輸
  • 優點
    • 精細控制:可以對特定流量進行精確控制和保護
    • 安全性高:能夠為特定的應用和數據流量提供定制的安全策略
  • 缺點
    • 複雜性:配置和管理較為複雜,需要精細設置安全策略
    • 擴展性:隨著網路規模的擴大,管理和維護策略的工作量也會增加

Route-based IPsec

  • 特點
    • 配置方式: 基於路由來決定哪些流量需要經過 IPsec 隧道。
    • 工作原理: 配置虛擬的網路介面(通常稱為 VTI,Virtual Tunnel Interface),然後通過靜態路由或動態路由協議(例如 BGP、OSPF)將流量路由到這些介面。所有經過這些介面的流量都會自動被加密和保護
    • 使用場景: 通常用於需要簡化配置和擴展性強的環境,例如大型企業的分支機構互聯
  • 優點
    • 簡化配置:通過路由表來控制流量,配置和管理相對簡單
    • 擴展性好:適合於大型網路,隨著網路規模的擴大,配置和管理相對容易
  • 缺點
    • 控制精度較低:不能像 Policy-based IPsec 一樣對特定流量進行精細控制
    • 路由依賴:需要依賴路由協議和路由表來控制流量

總結

  • Policy-based IPsec: 使用安全策略來決定哪些流量需要經過 IPsec 隧道,適用於需要精細控制和高安全性的環境
  • Route-based IPsec: 使用路由來決定哪些流量需要經過 IPsec 隧道,適用於需要簡化配置和高擴展性的環境

這兩種配置方法各有優缺點,具體選擇取決於網路的需求和規模。通常來說,Policy-based IPsec 提供更高的控制精度,而 Route-based IPsec 提供更好的擴展性和管理便利性。

參考資料