Tại sao luôn ưu tiên GCM thay vì CBC trong IPsec?
Khi triển khai VPN IPsec hiện đại, một trong những nguyên tắc quan trọng nhất là: Ưu tiên AES-GCM thay vì AES-CBC. AES-CBC từng là tiêu chuẩn phổ biến trong nhiều năm, tuy nhiên hiện nay phần lớn các hệ thống VPN mới đều chuyển sang sử dụng AES-GCM (Galois/Counter Mode).
Lý do nằm ở ba yếu tố chính:
1. Hiệu năng cao hơn
Với AES-CBC, thiết bị phải thực hiện:
Đặc biệt hiệu quả trên các thiết bị Cisco ISR, ASR, Catalyst Edge, SD-WAN Edge và Firewall thế hệ mới có phần cứng tăng tốc AES-GCM.
2. Bảo mật tốt hơn
AES-CBC chỉ cung cấp Tính bí mật (Confidentiality)
Nếu chúng ta muốn có tính toàn vẹn dữ liệu Integrity và xác thực Authentication thì phải kết hợp thêm HMAC-SHA.Ngược lại AES-GCM cung cấp đồng thời Confidentiality Integrity Authentication
trong cùng một thuật toán. Điều này làm giảm khả năng cấu hình sai và giảm bề mặt tấn công.
3. Là xu hướng chuẩn của ngành
Hiện nay các khuyến nghị từ Cisco, NIST, NSA CNSA và các nhà cung cấp dịch vụ Cloud Providers đều ưu tiên AES-128-GCM, AES-256-GCM thay vì AES-CBC, 3DES, DES. Trong nhiều môi trường doanh nghiệp, CBC thậm chí đã bị loại bỏ khỏi các baseline bảo mật.
Lưu ý về dòng "ESP Hashing = SHA1"
Nhiều kỹ sư nhìn vào bảng trên sẽ thắc mắc:
Nếu ESP dùng AES-GCM thì tại sao vẫn thấy SHA1?
Thực tế với AES-GCM, việc kiểm tra tính toàn vẹn đã được tích hợp sẵn trong thuật toán GCM. Do đó ESP không cần HMAC-SHA1 riêng biệt, Không cần HMAC-SHA256 riêng biệt. Một số giao diện cấu hình hoặc tài liệu vẫn hiển thị trường Hashing vì lý do tương thích hoặc kế thừa, nhưng cơ chế bảo vệ dữ liệu thực tế nằm trong GCM Authentication Tag.
Khuyến nghị thực tế cho kỹ sư mạng
Khi triển khai Site-to-Site VPN hoặc SD-WAN VPN mới, chúng ta lưu ý và chọn lựa các thuật toán sau:
Khi triển khai VPN IPsec hiện đại, một trong những nguyên tắc quan trọng nhất là: Ưu tiên AES-GCM thay vì AES-CBC. AES-CBC từng là tiêu chuẩn phổ biến trong nhiều năm, tuy nhiên hiện nay phần lớn các hệ thống VPN mới đều chuyển sang sử dụng AES-GCM (Galois/Counter Mode).
Lý do nằm ở ba yếu tố chính:
1. Hiệu năng cao hơn
Với AES-CBC, thiết bị phải thực hiện:
- Mã hóa bằng AES
- Tính toán thêm HMAC (SHA1, SHA256...) để kiểm tra tính toàn vẹn
Đặc biệt hiệu quả trên các thiết bị Cisco ISR, ASR, Catalyst Edge, SD-WAN Edge và Firewall thế hệ mới có phần cứng tăng tốc AES-GCM.
2. Bảo mật tốt hơn
AES-CBC chỉ cung cấp Tính bí mật (Confidentiality)
Nếu chúng ta muốn có tính toàn vẹn dữ liệu Integrity và xác thực Authentication thì phải kết hợp thêm HMAC-SHA.Ngược lại AES-GCM cung cấp đồng thời Confidentiality Integrity Authentication
trong cùng một thuật toán. Điều này làm giảm khả năng cấu hình sai và giảm bề mặt tấn công.
3. Là xu hướng chuẩn của ngành
Hiện nay các khuyến nghị từ Cisco, NIST, NSA CNSA và các nhà cung cấp dịch vụ Cloud Providers đều ưu tiên AES-128-GCM, AES-256-GCM thay vì AES-CBC, 3DES, DES. Trong nhiều môi trường doanh nghiệp, CBC thậm chí đã bị loại bỏ khỏi các baseline bảo mật.
Lưu ý về dòng "ESP Hashing = SHA1"
Nhiều kỹ sư nhìn vào bảng trên sẽ thắc mắc:
Nếu ESP dùng AES-GCM thì tại sao vẫn thấy SHA1?
Thực tế với AES-GCM, việc kiểm tra tính toàn vẹn đã được tích hợp sẵn trong thuật toán GCM. Do đó ESP không cần HMAC-SHA1 riêng biệt, Không cần HMAC-SHA256 riêng biệt. Một số giao diện cấu hình hoặc tài liệu vẫn hiển thị trường Hashing vì lý do tương thích hoặc kế thừa, nhưng cơ chế bảo vệ dữ liệu thực tế nằm trong GCM Authentication Tag.
Khuyến nghị thực tế cho kỹ sư mạng
Khi triển khai Site-to-Site VPN hoặc SD-WAN VPN mới, chúng ta lưu ý và chọn lựa các thuật toán sau:
- IKE Encryption: AES-256-GCM
- ESP Encryption: AES-256-GCM
- IKE Integrity: SHA-256
- DH Group: 19 hoặc 20 (Elliptic Curve DH)
- IKEv2 thay vì IKEv1
- Bật IKE Fragmentation
- Chỉ sử dụng CBC khi bắt buộc phải tương thích với thiết bị cũ