Giao thức trao đổi khoá Internet

Một phần của tài liệu tìm hiểu về mạng riêng ảo VPN trên nền IPSec (Trang 56 - 65)

2.2.1. Giới thiệu chung và các chuẩn

Bản thân giao thức IPSec không có khả năng thiết lập SA. Do đó quá trình được chia làm 2 phần: IPSec cung cấp xử lý ở mức gói và giao thức quản lý trao đổi khoá

Internet thoả thuận các SA, IKE được chọn làm giao thức chuẩn để thiết lập các SA cho IPSec. IKE tạo ra một đường hầm được xác thực và mã hoá, sau đó là thoả thuận SA cho IPSec. Quá trình này yêu cầu hai hệ thống xác thực lẫn nhau và thiết lập các khoá sử dụng chung.

Được biết đến đầu tiên là ISAKMP/Oakley, trong đó ISAKMP là viết tắt của Internet Security Association and Key Management Protocol (Liên kết bảo mật Internet và Giao thức quản lý khoá).

IKE trợ giúp các nhóm liên lạc thương lượng các tham số bảo mật và các khoá xác thực trước khi một phiên IPSec an toàn được thực thi. Các tham số bảo mật được thương lượng này sẽ được định nghĩa một lần trong SA. Ngoài việc thương lượng và thiết lập các tham số bảo mật và các khoá mật mã, IKE cũng thay đổi các tham số và

khoá khi được yêu cầu trong một phiên làm việc, IKE cũng chịu trách nhiệm xoá các khoá và các SA này sau khi một phiên truyền tin được hoàn tất.

Những ưu điểm chính của IKE bao gồm:

- IKE không phục thuộc vào công nghệ. Vì vậy nó có thể được dùng với bất kỳ cơ chế bảo mật nào.

- IKE mặc dù không nhanh, nhưng hiệu quả cao vì một số lượng lớn các SA được thương lượng với một số thông điệp vừa phải.

Theo cấu trúc làm việc của ISAKMP. IKE làm việc qua hai pha.

Hai pha trao đổi khoá sẽ tạo ra IKE SA và một đường hầm an toàn giữa hai hệ thống. Một phía sẽ đưa ra một trong các thuật toán, phía kia sẽ chấp nhận hoặc loại bỏ kết nối. Khi hai bên đã thống nhất được các thuật toán sẽ sử dụng thì chúng sẽ tạo khoá cho IPSec. IPSec sử dụng một khoá dùng chung khác với khoá của IKE, khoá này có được nhờ sử dụng thuật toán Diffie-Hellman một lần nữa hoặc sử dụng lại khoá dùng chung có được từ trao đổi Diffie-Hellman ban đầu. Sau khi quá trình được hoàn tất thì IPSec SA được thiết lập. Quá trình thực hiện IKE gồm 2 pha, đó là : IKE Phase I và IKE Phasse II

2.2.2. Các yêu cầu quản lý khoá đối với IPSec

Các giao thức IPSec AH và ESP yêu cầu là các chia sẻ bí mật được biết với tất cả các nhóm tham gia có yêu cầu khoá một cách thủ công hoặc phân phối khoá. Vấn đề đặt ra là các khoá có thể bị mất, bị tổn hại hoặc đơn giản là bị hết hạn. Kỹ thuật thủ công không mềm dẻo khi có nhiều liên kết an toàn được quản lý. Một cơ chế trao đổi khoá tinh vi cho IPSec phải đáp ứng các yêu cầu sau:

- Độc lập với các thuật toán mật mã cụ thể - Độc lập với các giao thức trao đổi khoá cụ thể - Xác thực các thực thể quản lý khoá

- Thiết lập SA qua tầng vận tải “không đảm bảo” - Sử dụng hiệu quả các tài nguyên

Giao thức IKE được thiết kế để đáp ứng các yêu cầu đó. Nó dựa trên các liên kết bảo mật Internet và cấu trúc của giao thức quản lý khoá và giao thức phân phối khoá Oakley. IKE có các đặc trưng sau:

- Có các thủ thục tạo khoá và xác thực danh tính - Tự động làm tươi khoá

- Giải quyết bải toán “khoá đầu tiên”

- Mỗi giao thức bảo mật có không gian các SPI riêng của nó - Có các tính năng bảo vệ được xây dựng sẵn

+ Chống được các tấn công từ chối dịch vụ

+ Chống được tấn công chiếm quyền điều khiển phiên và kết nối - Bảo mật toàn diện

- Cách tiếp cận dựa trên 2 pha

+ Pha 1 - Thiết lập các khoá và SA cho trao đổi khoá + Pha 2 - Thiết lấp các SA cho truyền dữ liệu

- Được thực thi như ứng dụng qua UDP, cổng 500 - Hỗ trợ các chứng chỉ cho Host và người dùng - Sử dụng xác thực mạnh với trao đổi khoá ISAKMP

+ Chia sẻ trước các khoá

+ Các khoá không thực sự được chia sẻ, chỉ một thẻ bài được dùng cho việc tạo khoá cần thiết

+ Các chữ ký số

+ Hệ mật khoá công khai

Như đã đề cập, IKE yêu cầu 2 pha phải được hoàn tất trước khi luồng dữ liệu được bảo vệ với AH và ESP

2.2.3. Pha thứ nhất của IKE

Pha IKE thứ nhất xác thực người dùng cuối, sau đó thiết lập một phiên IKE bảo mật cho việc thiết lập SA. Rồi sau đó các nhóm truyền tin thương lượng một ISAKMP SA

thích hợp với nhau, nó bao gồm cả thuật toán mã hoá, hàm băm và phương thức xác thực để phục vụ cho việc bảo vệ khoá mật mã. Ở dưới khung làm việc ISAKMP sử dụng SA được thiết lập trong pha này. Sau khi cơ chế mã hoá và hàm băm được đồng ý, một khoá bảo mật chủ chia sẻ được tạo. Các thông tin sau thường được dùng để tạo khoá mật chia sẻ này bao gồm:

- Các giá trị Diffie-Hellman.

- SPI của ISAKMP SA theo dạng của Cookie. - Một số ngẫu nhiên.

- Nếu hai nhóm đồng ý sử dụng một khoá công khai dựa trên xác thực, họ cũng cần trao đổi ID của họ.

Sau khi trao đổi các thông tin cần thiết, cả hai tạo khoá của họ bằng việc dùng các khoá mật đã chia sẽ này. Theo cách thông thương, khoá mật mã được tạo mà không có bất kỳ một sự trao đổi thực sự nào qua mạng.

IKE Phase thứ nhất thoả thuận các tập chính sách IKE, xác thực đối tác và thiết lập kênh an toàn giữa các đối tác. IKE Phase1 gồm 2 chế độ: Main Mode và Aggressive mode. IKE Phase1 bao gồm các trao đổi sau:

a. Thống nhất các thuật toán mã hoá và xác thực

Trao đổi này để bảo vệ các trao đổi thông tin IKE được thoả thuận giữa các đối tác. Ban đầu bên A gửi một Message đến B ở dạng chưa mã hoá(ClearText), Message được đóng gói trong một gói tin IP thông thường và nằm trong phần UDP Payload với giao thức lớp trên là UDP.

Hình 2.16 : Message 1

- Message này thông báo và yêu cầu bên B lựa chọn các giao thức và các thuật toán được đưa ra ở các trường Proposal và Transform tương ứng, đồng thời tạo ra một giá trị ngẫu nhiên gọi là Cookie A (Initiator Cookie) đưa vào trường ISAKMP Header.

- Tương tự, bên B sẽ trả lời bên A bằng một Message có cấu trúc tương tự như trên, thông báo sẽ chọn giao thức và thuật toán nào, đồng thời đưa ra một giá trị ngẫu nhiên Cookie B (Responder Cookie) vào trường ISAKMP Header.

IP Header UDP Header ISAK MP Header Proposal

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.

- Bên A gửi:

+ 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 2.17: 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 2.18: 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.

2.2.4. Pha IKE thứ II

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 HeaderUDP ISAKMP Header Hash SA Proposal Transform … Proposal Transform KE ID

Hình 2.19: 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.

2.2.5. Các chế độ IKE

Bốn chế độ IKE: Main Mode. Aggressive mode. Quick mode. New Group mode.

2.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 2.19 mô tả một giao dịch trong chế độ IKE Main

Hình 2.20: Trao đổi thông điệp trong chế độ Main IKE

2.2.5.2. Aggressive mode

Hình 2.21: Mô tả một phiên giao dịch trong chế độ IKE Aggressive

Được thiết lập tương tự như Main mode. Khác nhau giữa hai chế độ chỉ là trong Main mode gồm sáu thông điệp, còn trong chế độ này chỉ ba thông điệp được trao đổi. Kết quả là chế độ này nhanh hơn Main mode. Các thông điệp được trao đổi trong chế độ này như sau:

- Header: Một tiêu để ISAKMP tương ứng với chế độ được dùng - SA: Kết hợp bảo mật được thương lượng

- Nonce: Một số ngẫu nhiên gửi cho việc ký số

- KE: Khoá trao đổi dữ liệu cho trao đổi khoá Differ-Helman - Sig: Chữ ký dùng cho xác thực

- Cert: Một chứng chỉ số cho khoá công khai

- ID: Định danh (ss là của Sender, sr là của Recipient trong pha II

- Header: Một tiêu để ISAKMP tương ứng với chế độ được dùng - SA: Kết hợp bảo mật được thương lượng

- Nonce: Một số ngẫu nhiên gửi cho việc ký số

- KE: Dữ liệu trao đổi khóa với trao đổi khoá Differ-Helman - Sig: Chữ ký dùng cho xác thực

- Cert: Một chứng chỉ số cho khoá công khai

- ID: Định danh (ss là của Sender, sr là của Recipient trong pha I)

Thông điệp thứ nhất được dùng để hỗ trợ một chính sách bảo mật, cho đi qua dữ liệu cần thiết.

Thông điệp thứ hai hoạt động như để đáp lại thông điệp thứ nhất. Nó xác thực người nhận và hoàn thành chính sách bảo mật cùng với các khoá.

Thông điệp cuối cùng của chế độ này được dùng để xác thực người gửi

2.2.5.3. Quick Mode

Hình 2.22: Trao đổi thông điệp trong chế độ Quick IKE, thuộc pha thứ II

Chế độ IKE thứ ba, Quick Mode là một chế độ pha II. Nó được dùng để thương lượng với SA về các dịch vụ bảo mật IPSEc. Hơn nữa, Quick Mode cũng tạo ra các khoá mới cần thiết. Nếu chính sách bảo mật chuyển tiếp đầy đủ được thảo luận trước pha I, một quá trình trao đổi khoá Diffie-Hellman được khởi tạo. Trường hợp khác, các khoá mới được tạo bằng việc dùng các giá trị hàm băm.

Trao đổi thông điệp trong chế độ Quick mode được mô tả như trong hình 2.21.

- Header: Một tiêu để ISAKMP tương ứng với chế độ được dùng - SA: Kết hợp bảo mật được thương lượng

- Nonce: Một số ngẫu nhiên gửi cho việc ký số

- KE: Khoá trao đổi dữ liệu cho trao đổi khoá Differ-Helman - Hash: Giá trị hàm băm của dữ liệu được tải

2.2.5.4. Chế độ New Group

Chế độ này được dùng để thương lượng với một nhóm riêng mới làm cho khả năng trao đổi khoá Diffie-Hellman trở nên dễ dàng. Hình 2.22 mô tả chế độ New group. Mặc dù chế độ này xuất hiện sau pha I, nhưng nó không phải là một phần của pha II.

Hình 2.23: Trao đổi thông điệp trong chế độ Newgroup IKE

Thêm vào đó, trong bốn chế độ IKE thường được thực thi, có chế độ truyền tin, chế độ này là sự kết hợp bởi pha thứ hai và SA, chế độ này đề ra các nhóm liên quan với một số thông tin được bổ sung, và thường liên quan tới các lỗi trong thương lượng. Ví dụ, nếu việc giải mã bị lỗi tại người nhận hoặc chữ ký không được xác thực thành công. Chế độ truyền tin được dùng để thông báo tới các bên khác.

Một phần của tài liệu tìm hiểu về mạng riêng ảo VPN trên nền IPSec (Trang 56 - 65)

Tải bản đầy đủ (DOC)

(70 trang)
w