IKE trong phaI được xác thực bằng mã hóa khóa công khai

Một phần của tài liệu Kỹ thuật VPN sử dụng IPSEC (Trang 28 - 30)

Khi sử dụng mã hóa khóa công khai để xác thực trao đổi thì các thông tin bắt buộc được trao đổi là các nonce mã. Khả năng của mỗi bên để xây dựng lại hàm hash (chứng minh rằng bên kia giải mã được nonce đó) xác thực quá trình trao đổi.

Để thực hiện mã hóa khóa công khai, bên khởi tạo phải có trước khóa công khai của bên đáp ứng. Trong trường hợp mà bên đáp ứng có nhiều khóa công khai, thì hàm hash của certificate mà bên khởi tạo sử dụng để mã thông tin bắt buộc được chuyển đi như là một phần của thông báo thứ 3. Theo cách này, bên đáp ứng có thể quyết định khóa riêng tương ứng để giải mã các payload mã và sự bảo vệ định danh vẫn được duy trì. Hơn nữa, định danh (ID) của các bên (IDii và IDir) và các nonce payload cũng được mã bằng khóa công khai của bên kia.

Bên khởi tạo Bên đáp ứng HDR, SA   HDR, SA HDR, KE, [HASH(1)], <IDii_b>pubkey_r, <Ni_b>pubkey_r   HDR, KE, <IDir_b>pubkey_i, <Nr_b>pubkey_i HDR*, HASH_I   HDR*, HASH_R

Bước đầu tiên bên khởi tạo gửi bên đáp ứng một thông báo gồm một ISAKMP header (HDR) và một SA payload. Trong SA payload chứa các DOI, tình huống và một số các đề nghị. Khi nhận được thông báo trên, thì bên đáp ứng cũng gửi lại bên khởi tạo một thông báo gồm một ISAKMP header và một SA payload. Lúc này cả hai bên đã thống nhất được với nhau thuật toán mã hóa, hàm HASH, nhóm để thực hiện Diffie – Hellman.

Tiếp đó bên khởi tạo gửi đến bên đáp ứng một thông báo gồm một ISAKMP header; một KE payload (chứa thông tin công khai Diffie – Hellman của bên khởi tạo); hàm HASH(1) là hàm hash (đã được thỏa thuận) của certificate mà bên khởi tạo dùng để mã nonce và ID; định danh của bên khởi tạo và giá trị nonce được mã hóa bằng khóa công khai của bên đáp ứng. Khi nhận được thông báo, bên đáp ứng tính giá trị bí mật Diffie – Hellman, các giá trị SKEYID, SKEYID_a, SKEYID_e, SKEYID_d, và khóa mã sử dụng để mã các thông báo. Bên đáp ứng gửi lại bên khởi tạo một thông báo gồm ISAKMP header, KE payload (chứa thông tin công khai Diffie - Hellman

của bên đáp ứng và khóa mã đã tính được ở trên), cùng với định danh của bên đáp ứng, giá trị nonce của bên đáp ứng được mã bằng khóa công khai của bên khởi tạo.

Sau khi đã trao đổi được khóa mã, bên đáp ứng gửi đến bên khởi tạo một thông báo gồm một ISAKMP header và một hàm HASH_I. Thông báo này được mã hóa bằng khóa mã đã được trao đổi ở trên. Khi nhận được bên đáp ứng sẽ giải mã thông báo và nhận được HASH_I. Bên đáp ứng dựa vào các thông tin nhận được từ bên khởi tạo trước đó sẽ tính được hàm hash và đem so sánh với HASH_I vừa nhận được để xác thực bên khởi tạo. Tiếp đó bên đáp ứng cũng gửi đến bên khởi tạo một thông báo gồm một ISAKMP header và hàm HASH_R. Quá trình xác thực cũng diễn ra tương tự như ở bên đáp ứng.

Một phần của tài liệu Kỹ thuật VPN sử dụng IPSEC (Trang 28 - 30)