Trao đổi khóa IKE là một cơ chế trao đổi khóa tự động được sử dụng để tạo thuận lợi cho việc chuyển giao kết hợp bảo mật IPSec. Cơ sở hạ tầng khóa công khai (PKI) được coi là một yếu tố quan trọng để cung cấp bảo mật cho các mạng và dịch vụ truyền thông phân tán mới.
Giao thức IKE sử dụng để xác thực và tạo khoá:
ISAKMP: xác định các thủ tục về làm thế nào để thiết lập, thoả thuận, chỉnh sửa,
và xóa các SA. Tất cả các tham số thoả thuận được xử lý thông qua ISAKMP, chẳng hạn như xác thực mào đầu và đóng gói tải trọng. ISAKMP thực hiện xác thực ngang hàng, nhưng nó không liên quan đến trao đổi khóa.
Oakley: Giao thức Oakley sử dụng thuật toán Diffie-Hellman để quản lý trao đổi
khoá thông qua các SA IPsec. Diffie-Hellman là một giao thức mật mã (cryptographic protocol) cho phép hai điểm cuối trao đổi một khoá bí mật trên một kênh không an toàn.
Giai đoạn hoạt động của IKE cũng được xem tương tự như là quá trình bắt tay trong TCP/IP. Quá trình hoạt động của IKE được chia ra làm hai phase chính: Phase 1 và Phase 2, cả hai phase này nhằm thiết lập kênh truyền an toàn giữa hai điểm. Ngoài phase 1 và phase 2 còn có phase 1,5 tùy chọn.
IKE phase 1:
Đây là giai đoạn bắt buộc phải có. Phase này thực hiện việc xác thực và thỏa thuận các thông số bảo mật, nhằm cung cấp một kênh truyền bảo mật giữa hai đầu cuối. Các thông số sau khi đồng ý giữa hai bên gọi là SA, SA trong pha này gọi là SA ISAKMP hay SA IKE. Pha này sử dụng một trong hai mode để thiết lập SA:
chế độ chính thức (main mode) và chế độ tích cực (aggressive mode) Các thông số bảo mật bắt buộc phải thỏa thuận trong phase 1 này là:
Thuật toán mã hóa: DES, 3DES, AES
Thuật toán hash: MD5, SHA
Phương pháp xác thực: Preshare-key, RSA
Nhóm khóa Diffie-Hellman (version của Diffie-Hellman)
Main mode: sử dụng 6 message để trao đổi thỏa thuận các thông số với nhau.
Hai message đầu dùng để thỏa thuận các thông số của chính sách bảo mật.
Hai message tiếp theo trao đổi khóa Diffie-Hellman.
Hai message cuối cùng thực hiện xác thực giữa các thiết bị. Aggressive mode: sử dụng 3 message.
Message đầu tiên gồm các thông số của chính sách bảo mật, khóa Diffie- Hellman
Message thứ hai sẽ phản hồi lại thông số của chính sách bảo mật được chấp nhận, khóa được chấp nhận và xác thực bên nhận.
Message cuối cùng sẽ xác thực bên vừa gửi.
IKE phase 1.5:
Là một giai đoạn IKE không bắt buộc. Giai đoạn 1,5 cung cấp thêm một lớp xác thực, được gọi là Xauth hoặc xác thực Extended. Xác thực IPsec được cung cấp trong phase 1 xác thực các thiết bị hoặc thiết bị đầu cuối sử dụng để thiết lập kết nối IPsec. Xauth bắt người sử dụng phải xác thực trước khi sử dụng các kết nối Ipsec.
IKE phase 2:
Đây là phase bắt buộc, đến phase này thì thiết bị đầu cuối đã có đầy đủ các thông số cần thiết cho kênh truyền an toàn. Qúa trình thỏa thuận các thông số ở phase 2 là để thiết lập SA IPSec dựa trên những thông số của phase 1. Quick mode là phương thức được sử dụng trong phase 2. Các thông số mà Quick mode thỏa thuận trong phase 2:
IPSec SA lifetime: dùng để thỏa thuận lại SA IPSec sau một khoảng thời gian mặc định hoặc được chỉ định.
Trao đổi khóa Diffie-Hellman
SA IPSec của phase 2 hoàn toàn khác với SA IKE ở phase 1, SA IKE chứa các thông số để tạo nên kênh truyền bảo mật, còn SA IPSec chứa các thông số để đóng gói dữ liệu theo ESP hay AH, hoạt động theo tunnel mode hay transport mode.
Các chức năng khác của IKE giúp cho IKE hoạt động tối ưu hơn bao gồm:
Dead peer detection (DPD) và Cisco IOS keepalives là chức năng bộ đếm thời gian. Nghĩa là sau khi hai thiết bị đã tạo được IPsec VPN với nhau rồi thì nó sẽ thường xuyên gửi cho nhau gói keepalives để kiểm tra tình trạng của đối tác. Mục đích chính để phát hiện hỏng hóc của các thiết bị. Thông thường các gói keepalives sẽ gửi mỗi 10s.
Hỗ trợ chức năng NAT-Traversal: Chức năng này có ý nghĩa là nếu trên đường truyền từ A tới B nếu có những thiết bị NAT hay PAT đứng giữa thì lúc này IPSec nếu hoạt động ở chế độ tunel mode và enable chức năng NAT- Trasersal sẽ vẫn chuyển gói tin đi được bình thường. Nguyên nhân tại sao phải hỗ trợ chức năng NAT-T thì các gói tin mới tiếp tục đi được? Khi thực hiện quá trình mã hóa bằng ESP thì lúc này các source IP và destination IP đều đã được mã hóa và nằm gọn trong ESP Header. Như vậy khi tất cả các thông tin IP và Port bị mã hóa thì kênh truyền IPSec không thể diễn ra quá trình NAT.
Do đó NAT-Traversal ra đời trong quá trình hoạt động của IKE nhằm phát hiện và hỗ trợ NAT cho Ipsec. Các dữ liệu sẽ không bị đóng gói trực tiếp bởi giao thức IP mà nó sẽ đóng gói thông qua giao thức UDP. Và lúc này các thông tin về IP và Port sẽ nằm trong gói UDP này.