Kết nối IPSec chỉ được hình thành khi SA đã được thiết lập. Tuy nhiên bản thân IPSec không có cơ chế để thiết lập SA. Chính vì vậy, IETF đã chọn phương án chia quá trình ra làm hai phần:
1. IPSec cung cấp việc xử lý ở mức gói.
2. IKMP (Internet Key Management Protocol) chịu trách nhiệm thỏa thuận các kết hợp an ninh.
Sau khi cân nhắc các phương án, trong đó có SKIP (Simple Key Internet Protocol), và Photuis, IETF đã quyết định chọn IKE (Internet Key Exchange) là chuẩn để cấu hình SA cho IPSec.
Một đường ngầm IPSec IP-VPN được thiết lập giữa hai bên qua các bước như sau:
Bước 1: Quan tâm đến lưu lượng được nhận hoặc sinh ra từ các bên IPSec IP-
VPN tại một giao diện nào đó yêu cầu thiết lập phiên thông tin IPSec cho lưu lượng đó.
Bước 2: Thương lượng chế độ chính (Main Mode) hoặc chế độ tấn công
(Aggressive Mode) sử dụng IKE cho kết quả là tạo ra liên kết an ninh IKE (IKE SA) giữa các bên IPSec.
Bước 3: Thương lượng chế độ nhanh (Quick Mode)sử dụng IKE cho kết quả là
tạo ra 2 IPSec SA giữa hai bên IPSec.
Bước 4: Dữ liệu bắt đầu truyền qua đường ngầm mã hóa sử dụng kỹ thuật đóng
gói ESP hoặc AH (hoặc cả hai).
Bước 5: Kết thúc đường ngầm IPSec VPN. Nguyên nhân có thể là do IPSec SA
kết thúc hoặc hết hạn hoặc bị xóa.
Tuy là chia thành 4 bước, nhưng cơ bản là bước thứ 2 và bước thứ 3, hai bước này định ra một cách rõ ràng rằng IKE có tất cả 2 pha. Pha thứ nhất sử dụng chế độ chính hoặc chế độ tấn công để trao đổi giữa các bên, và pha thứ hai được hoàn thành nhờ sử dụng trao đổi chế độ nhanh.
Hình 1.: Các chế độ chính, chế độ nhanh của IKE
Sau đây chúng ta sẽ đi xem xét cụ thể các bước và mục đích của các pha IKE.
Bước thứ nhất
Việc quyết định lưu lượng nào cần bảo vệ là một phần trong chính sách an ninh của mạng VPN. Chính sách được sử dụng để quyết định cần bảo vệ lưu lượng nào (những lưu lượng khác không cần bảo vệ sẽ được gửi dưới dạng văn bản rõ).
Chính sách an ninh sẽ được phản chiếu trong một danh sách truy nhập. Các bên phải chứa danh sách giống nhau, và có thể có đa danh sách truy nhập cho những mục đích khác nhau giữa các bên. Những danh sách này được gọi là các danh sách điều khiển truy nhập (ACLs- Acess Control List). Nó đơn giản là danh sách truy nhập IP mở rộng của các routers được sử dụng để biết lưu lượng nào cần mật mã. ACLs làm việc khác nhau dựa vào mục đích các câu lệnh permit (cho phép) và denny (phủ nhận) là khác nhau. Hình 1.25 trình bày kết quả của các trạng thái khi thực hiện lệnh permit và deny của nguồn và đích:
Clear-Text Packet IPSec
Crypto ACL AH or ESP Packet AH or ESP or Clear-Text Packet
Clear-TextPacket IPSec Crypto ACL AH or ESP Packet Source Peer Destination Peer Permit Permit Deny Deny Hình 1.17: Danh sách bí mật ACL
Từ khóa permit và deny có ý nghĩa khác nhau giữa thiết bị nguồn và đích:
• Permit tại bên nguồn: cho qua lưu lượng tới IPSec để xác thực, mật mã hóa hoặc cả hai. IPSec thay đổi gói tin bằng cách chèn tiêu đề AH hoặc ESP và có thể mật mã một phần hoặc tất cả gói tin nguồn và truyền chúng tới bên đích.
• Deny tại bên nguồn: cho đi vòng lưu lượng và đưa các gói tin bản rõ tới bên nhận.
• Permit tại bên đích: cho qua lưu lượng tới IPSec để xác thực, giải mã, hoặc cả hai. ACL sử dụng thông tin trong header để quyết định. Trong logic của ACL, nếu như header chứa nguồn, đích, giao thức đúng thì gói tin đã được xử lý bởi IPSec tại phía gửi và bây giờ phải được xử lý ở phía thu.
• Deny tại bên đích: cho đi vòng qua IPSec và giả sử rằng lưu lượng đã được gửi ở dạng văn bản rõ.
Khi những từ khóa permit và deny được kết hợp sử dụng một cách chính xác, dữ liệu được bảo vệ thành công và được truyền. Khi chúng không kết hợp chính xác, dữ liệu bị loại bỏ. Bảng dưới trình bày kết hợp các lệnh permit và deny và kết quả thực hiện cho các kết hợp: