IKE (Internet Key Exchange) คืออะไร?
IKE (Internet Key Exchange) เป็นโปรโตคอลมาตรฐานที่ใช้ใน IPsec (Internet Protocol Security) เพื่อจัดการ Key Exchange (การแลกเปลี่ยนคีย์) และ Security Association (SA) ระหว่างสองฝ่าย (Peer) เพื่อสร้าง VPN Tunnel ที่ปลอดภัย IKE ทำงานร่วมกับ IPsec เพื่อให้ได้:
- Confidentiality - ความลับ (Encryption)
- Integrity - ความสมบูรณ์ (Hash/HMAC)
- Authentication - การยืนยันตัวตน (PSK, Certificate, EAP)
- Anti-replay - ป้องกันการส่งซ้ำแพ็กเก็ต
IKE Version 1 vs Version 2
| คุณสมบัติ | IKEv1 | IKEv2 (RFC 7296) |
|---|---|---|
| จำนวนข้อความ (Messages) | 6 ข้อความ (Main Mode) หรือ 3 ข้อความ (Aggressive Mode) | 4 ข้อความ (Request/Response) - เรียบง่ายกว่า |
| NAT Traversal (NAT-T) | ต้องใช้ Extension แยก | รองรับ built-in (UDP 4500) |
| EAP Authentication | ไม่รองรับโดยตรง | รองรับ EAP (สำหรับ RADIUS, Certificate, Token) |
| Keep Alive / DPD | ต้องใช้ DPD แยก | มี IKEv2 DPD built-in |
| Mobility (MOBIKE) | ไม่รองรับ | รองรับ MOBIKE (RFC 4555) - เปลี่ยน IP ได้ไม่หลุด Tunnel |
| Performance | ช้ากว่า ใช้ CPU มากกว่า | เร็วกว่า ใช้ทรัพยากรน้อยกว่า |
ข้อสรุป: IKEv2 ดีกว่า IKEv1 ในทุกมิติ ควรใช้ IKEv2 เป็นหลัก
โครงสร้าง IKE: 2 Phases
Phase 1: IKE SA (ISAKMP SA) - สร้าง Secure Channel
- วัตถุประสงค์: Authenticate Peer ทั้งสอง และสร้าง Secure Channel สำหรับการสื่อสาร IKE เอง
- Authentication Methods:
- Pre-Shared Key (PSK)
- Digital Certificates (RSA/ECDSA)
- EAP (IKEv2 only)
- Diffie-Hellman Key Exchange → ได้ Shared Secret
- Derive Keys สำหรับ Encryption, Integrity, PRF ของ IKE SA
- Mode: Main Mode (6 msg, Identity Protection) หรือ Aggressive Mode (3 msg, เร็วกว่าแต่ไม่ปกป้อง Identity)
Phase 2: IPsec SA (Child SA) - สร้าง Data Tunnel
- วัตถุประสงค์: Negotiate IPsec SA สำหรับการส่งข้อมูลจริง (Data Plane)
- Quick Mode (IKEv1) / CHILD_SA CREATE (IKEv2)
- Negotiate:
- Protocol: ESP (Protocol 50) หรือ AH (Protocol 51)
- Mode: Tunnel Mode (ปกติสำหรับ Site-to-Site) หรือ Transport Mode
- Encryption: AES-GCM, AES-CBC, ChaCha20-Poly1305
- Integrity: HMAC-SHA256/384/512 (หรือ integrated ใน AES-GCM)
- PFS (Perfect Forward Secrecy) - DH Group ใหม่ (Optional แต่อยากให้มี)
- ผลลัพธ์: ได้ คู่ IPsec SA (Inbound + Outbound) แต่ละคู่มี SPI, Keys แยกกัน
IKE vs IPsec: ความแตกต่าง
| คุณสมบัติ | IKE | IPsec |
|---|---|---|
| หน้าที่ | Control Plane - จัดการ Key, SA, Auth | Data Plane - เข้ารหัส/ถอดรหัสข้อมูลจริง |
| Protocol/Port | UDP 500 (IKE), UDP 4500 (NAT-T) | IP Protocol 50 (ESP), 51 (AH) |
| การทำงาน | สร้างและจัดการ SA | ใช้ SA ที่ IKE สร้างให้ เพื่อปกป้องข้อมูล |
IKEv2 กับ OpenVPN / WireGuard
- IKEv2/IPsec: มาตรฐาน Enterprise, รองรับ Native ใน Windows/macOS/iOS/Android, เร็ว, รองรับ MOBIKE (เหมาะ Mobile)
- OpenVPN: TLS-based, ยืดหยุ่น ผ่าน Firewall/Proxy ได้ง่าย (TCP 443), Open Source
- WireGuard: โค้ดน้อย เร็วที่สุด สมัยใหม่ แต่ยังใหม่กว่า รองรับ Native ใน Kernel Linux 5.6+
การตั้งค่า IKE บน Cisco (ตัวอย่าง)
crypto ikev2 proposal MY_PROPOSAL
encryption aes-gcm-256
integrity sha384
group 21
crypto ikev2 policy MY_POLICY
proposal MY_PROPOSAL
crypto ikev2 profile MY_PROFILE
match identity remote address 0.0.0.0
authentication remote rsa-sig
authentication local rsa-sig
pki trustpoint MY_TRUSTPOINT
dpd 30 5 on-demand
สรุป
IKE เป็น "สมอง" ของ IPsec ที่จัดการการแลกเปลี่ยนคีย์และยืนยันตัวตน IKEv2 เป็นเวอร์ชันที่แนะนำให้ใช้ในปัจจุบัน เนื่องจากปลอดภัย เร็ว รองรับ Mobile/NAT-T/MOBIKE และ EAP Authentication ทำให้เหมาะกับสภาพแวดล้อม Enterprise และ Remote Access VPN อย่างยิ่ง