- Kiểm tra ICV: Nếu dịch vụ xác thực được lựa chọn phía thu sẽ tính ICV c ủa gói ESP ngoại trừ trường Authentication Data rồi so sánh với ICV của gói tin
b. Trao đổi khoá
Tạo các khoá bí mật chung. IKE sẽ sử dụng thuật toán Diffie- Hellman (DH) để tạo một khoá bí mật dùng chung giữa bên A và bên B.
+ Số nguyên tố lớn N.
+ Số g là một phần tử nguyên thuỷ của Z*N .
+ Hàm f(x)= gX mod N với X là số ngẫu nhiên thuộc Z*N do A chọn và gửi f(x) cho B.
- Bên B chọn ngẫu nhiên y thuộc Z*N và tính f(y) = gY mod N rồi gửi cho A. Sau khi nhận được giá trị f(x), bên B tính SB = f(x)Y mod N. Còn A, sau khi nhận được giá trị f(y) của B, A tính: SA = f(y)X mod N.
- Dễ dàng chứng minh: SB = SA = S và do đó giá trị này được dùng làm khoá chung bí mật mà chỉ có A và B mới có được.
- Cần chứng minh: SB = SA
- Thật vậy: SB = f(x)Y mod N = (gX mod N)Y mod N = gXY mod N. Mặt khác : SA= f(y)X mod N = (gY mod N)X mod N = gXY mod N= SB
- Trao đổi khoá bí mật trình bày ở trên được gọi là trao đổi khoá Diffie- Hellman
- Như vậy, bên A và B đều có khoá chung bí mật là S.
IP Header UDP Header ISAKMP Header g x Ni
Hình 3.16 Message 2 c. Xác thực đối tác
Trong trao đổi này hai bên trao đổi các thông tin nhận dạng của nhau thông qua chữ ký số. Messeage 3 được gửi để nhận dạng.
IP Header UDP Header ISAKMP Header Identity Certificate Signature
Hình 3.17 Message 3
Các thông tin nhận dạng là các trường sau: Identity, Certificate, Signature đã được mã hóa bằng các giao thức, thuật toán được xác định tại bước trao đổi thức nhất và các khoá chung bí mật đã được thiết lập ở bước trao đổi khoá bí mật.
Trong khi pha I thương lượng việc thiết lập SA cho ISAKMP. Pha II giải quyết việc thiết lập SA cho IPSec. Trong pha này, SA được sử dụng bởi nhiều dịch vụ đã được thương lượng. Các cơ chế xác thực, hàm băm, thuật toán mã hoá được bảo vệ theo sau các gói IPSec (dùng AH và ESP) như là một phần của pha SA.
Pha II thương lượng xuất hiện thường xuyên hơn pha I. Điển hình, một thương lượng có thể lặp lại trong 4-5 phút. Sự thay đổi thường xuyên này của khoá mật mã nhằm ngăn chặn Hacker có thể bẻ các khoá này, và sau đó là nội dung của các gói dữ liệu gốc.
Oakley là một giao thức mà IKE dựa vào. Oakley lần lượt định nghĩa 4 chế độ IKE thông dụng.
Thông thường một phiên trong pha II tương đương một phiên đơn trong pha I. Tuy nhiên nhiều pha II trao đổi cũng có thể được hỗ trợ bởi một trường hợp pha I. Điều này làm cho các giao dịch IKE thường rất chậm trở nên tương đối nhanh hơn.
IKE Phase thứ hai có tác dụng:
- Thoả thuận các tham số bảo mật IPSec, các tập chuyển đổi IPSec (IPsec Transform Sets) để bảo vệ đường hầm IPSec.
- Thiết lập các thoả thuận bảo mật IPSec SA.
- Định kỳ thoả thuận lại IPSec SA để đảm bảo tính an toàn của đường hầm. - Thực hiện trao đổi Diffie-Hellman bổ sung (tạo ra các khoá mới).
Trước tiên, bên A gửi cho bên B một Message, đề xuất các SA để bên B lựa chọn, đồng thời trao đổi một khoá bằng thuật toán DH. Message được đóng gói trong gói tin có khuôn dạng như sau:
IP Header Header
UDP Header Header
ISAKMP
Header Hash SA Proposal Transform … Proposal Transform KE ID
Hình 3.18 Message 1 của phase2
Trường Hash mang mã Hash của các trường phía sau nó và các trường này cũng được mã hóa bằng các khoá và thuật toán được thoả thuận từ Phase thứ nhất. Các trường Proposal và Transform mang các thông tin về giao thức và các thuật
toán mã hoá, xác thực đề nghị để bên B lựa chọn. Trường KE mang các thông tin về trao đổi khoá bí mật theo thuật toán Diffie-Hellman.
Khi bên B nhận được message từ A và xác thực nó sau khi tính lại mã Hash, bên B sẽ trả lời lại bên A một message khác có cấu trúc tương tự như message mà bên A gửi để thông báo cho bên A biết về giao thức và các thuật toán được sử dụng, các thông tin để trao đổi khoá chung ở trường KE.
3.2.5. Các chếđộ IKE
Bốn chếđộ IKE: Main Mode. Aggressive mode. Quick mode. New Group mode.
3.2.5.1. Main Mode
Main mode xác minh và bảo vệ các định danh của các nhóm có liên quan trong giao dịch. Trong chế độ này, sáu thông điệp được trao đổi giữa các thực thể truyền thông cuối. Trong các thông điệp này:
Hai thông điệp đầu tiên được dùng để thương lượng chính sách bảo mật cho việc trao đổi.
Hai thông điệp tiếp theo được dùng để trao đổi khoá Diffie-Hellman và Nonce. Các khoá sau này đóng một vai trò quan trọng trong các cơ chế mã hoá. Nonce phải được đánh dấu bởi các nhóm ngược lại cho chức năng xác minh.
Hai thông điệp cuối cùng của chế độ này được dùng để xác thực các nhóm truyền thông có sự hỗ trợ của chữ ký, hàm băm và tuỳ chọn chứng chỉ. Hình 3.40 mô tả một giao dịch trong chế độ IKE Main