跳到主要內容

IKE 協定深度解析:IPsec 安全關聯建立、DH 金鑰交換與身分驗證機制全解

在 IPsec 架構中,IKE(Internet Key Exchange)扮演「金鑰協商大腦」的角色。它在不安全的公開網路上,動態建立安全通道所需的所有參數,讓 ESP 與 AH 得以安全運作。

IKE 的兩階段架構與安全關聯

IKE 運作分為兩個明確階段。Phase 1 建立 IKE SA(管理通道),雙方透過 Diffie-Hellman(DH)演算法交換公開值,在不傳遞私鑰的前提下,各自推導出相同的共享金鑰(Shared Secret)。此共享金鑰再衍生出加密與完整性保護用的多把對稱金鑰。Phase 1 有兩種模式:Main Mode(六訊息交換,身分隱藏,安全性高)與 Aggressive Mode(三訊息,速度快但身分曝露)。Phase 2(Quick Mode)則在受保護的 IKE SA 內,協商出實際用於資料傳輸的 IPsec SA,包含 AH 或 ESP 的演算法、SPI 值及金鑰材料,通常雙向各建立一條獨立 SA。IKEv2 將此流程簡化為 IKE_SA_INIT 與 IKE_AUTH 兩次交換,大幅減少來回次數並強化可靠性。

身分驗證機制:PSK、憑證與 EAP

DH 金鑰交換解決了金鑰配送問題,但無法防止中間人攻擊(MITM),因此身分驗證是不可或缺的第二道防線。IKE 支援三種主流驗證方式。PSK(Pre-Shared Key)部署最簡便,雙方共享同一把對稱秘密字串,適合小型或固定對等端環境,但金鑰管理風險高。數位憑證(X.509 Certificate)透過 PKI 架構,以 RSA 或 ECDSA 私鑰簽署認證資料,對等端持公鑰驗簽,可擴展性強,是企業 VPN 的主流選擇。EAP(Extensible Authentication Protocol)僅於 IKEv2 支援,允許將驗證委派給 RADIUS 等後端系統,適合遠端使用者的 username/password 情境。三種方式皆在 DH 完成後執行,確保驗證訊息本身受到加密保護。

# Linux strongSwan IKEv2 基本設定(/etc/ipsec.conf 片段)
conn ikev2-psk
    keyexchange=ikev2          # 指定使用 IKEv2
    authby=psk                 # 使用 PSK 身分驗證
    ike=aes256-sha256-modp2048 # Phase 1:加密-完整性-DH群組
    esp=aes256-sha256          # Phase 2:ESP 演算法
    auto=start

💡 重點整理

  • DH 金鑰交換:雙方僅交換公開值,共享金鑰從不在網路上傳遞。
  • 兩階段分工:Phase 1 保護協商通道本身,Phase 2 產生資料加密用的 IPsec SA。
  • IKEv2 優勢:更少來回次數、內建 NAT 穿越(NAT-T)、支援 EAP 驗證。
  • 憑證驗證最安全:PKI 架構可防 MITM,並支援大規模對等端擴展。

IKE 將金鑰協商、身分驗證與 SA 管理整合為一套自動化流程,是現代 IPsec VPN 能夠安全且彈性運作的核心基石。理解其兩階段機制與驗證選項,是部署企業級加密通道的必備知識。

📚 參考文獻

留言