Giao thức xác thực tiêu đề(AH ):

Một phần của tài liệu Tìm hiểu về công nghệ mạng riêng ảo VPN và mô phỏng mô hình VPN Extranet (Trang 28 - 33)

5. Giao thức IP (IPSec ): 1 Khái niệm :

5.3.1. Giao thức xác thực tiêu đề(AH ):

Giao thức xác thực tiêu đề thêm một tiêu đề vào gói IP. Như tên gọi của nó, tiêu đề này phục vụ cho việc xác thực gói dữ liệu IP gốc tại người nhận cuối cùng, tiêu đề này giúp nhận biết bất kỳ sự thay đổi nào về nội dung của gói dữ liệu bởi người dùng không mong muốn trong khi đang truyền, tuy nhiên AH không đảm bảo tính tin cậy. Để tạo một AH, một giá trị mã thông điệp cần xác thực qua hàm băm (HAMC) được tạo tại người gửi. Giá trị băm này được tạo trên cơ sở của SA, cái xác định trình tự giao dịch sẽ được áp dụng cho gói dữ liệu. Mã kết quả được gắn kèm vào gói dữ liệu sau tiêu đề IP gốc. Tại người nhận cuối, HAMC được giải mã và được dùng để thiết lập việc xác

AH không mang lại sự tin cậy trong một giao dịch. Nó chỉ thêm một tiêu đề vào gói IP, phần còn lại của nội dung gói dữ liệu được để mặc. Hơn nữa, AH không bảo vệ bất kỳ trường nào trong tiêu đề IP vì một trong số đó có thể thay đổi trong quá trình truyền, chỉ các trường nào không thay đổi trong quá trình truyền được bảo vệ bởi AH. Địa chỉ IP nguồn và địa chỉ IP đích là những trường như vậy và vì thế được bảo vệ bởi AH. Tóm lại, giao thức AH có các đặc trưng cơ bản như sau:

- Cung cấp tính toàn vẹn dữ liệu và bảo vệ chống phát lại

- Sử dụng mã xác thực thông điệp được băm(HMAC), dựa trên chia sẻ bí mật

- Nội dung các gói tin không được mã hoá

- Không sử dụng các trường changeable IP header để tính toán giá trị kiểm tra tính toàn vẹn(IVC)

a. Khuôn dạng gói tin :

Khuôn dạng của gói tin theo giao thức AH

Hình 1.14 : Khuôn dạng gói tin AH

Các trường trong AH header đều là bắt buộc.

- Next Header: Trường này nhận biết giao thức bảo mật, có độ dài 8 bít để xác định kiểu dữ liệu của phần Payload phía sau AH. Giá trị của trường này được chọn từ các giá trị của IP Protocol number được định nghĩa bởi IANA (Internet Assigned Numbers Authority).

- Reserved: Trường 16 bit dự trữ để sử dụng cho tương lai, giá trị của trường này bằng 0.

- SPI: Là một số 32 bit bất kì, cùng với địa chỉ IP đích và giao thức an ninh mạng cho phép nhận dạng một thiết lập an toàn duy nhất cho gói dữ liệu. SPI thường được lựa chọn bởi phía thu.

- Sequence Number(SN): Trường gồm 32 bit không dấu đếm tăng dần để sử dụng cho việc chống trùng lặp. Chống trùng lặp là một lựa chọn nhưng trường này là bắt buộc đối với phía phát. Bộ đếm của phía phát và thu khởi tạo 0 khi một liên kết an toàn (SA) được thiết lập, giá trị SN mỗi gói trong một SA phải hoàn toàn khác nhau để tránh trùng lặp. Nếu số gói vượt quá con số 232 thì một SA khác phải được thiết lập.

- Authentication Data: Trường có độ dài biến đổi chứa một giá trị kiểm tra tính toàn vẹn (ICV) cho gói tin, ICV được tính bằng thuật toán đã được chọn khi thiết lập SA. Độ dài của trường này là số nguyên lần của 32 bit, chứa một phần dữ liệu đệm để đảm bảo độ dài của AH là n*32 bit. Giao thức AH sử dụng một hàm băm và băm toàn bộ gói tin trừ trường Authentication Data để tính ICV.

b. Chế độ hoạt động :

AH có thể sử dụng ở hai chế độ: Chế độ truyền tải (Transport) và chế độ đường hầm(Tunnel).

- Chế độ Transport: Chế độ Transport cho phép bảo vệ các giao thức lớp trên cùng với một số trường trong IP Header. Trong chế độ này, AH được chèn vào sau IP Header và trước một giao thức lớp trên như TCP hoặc UDP. Chế độ Transport thường được sử dụng bởi các Host chứ không được sử dụng bởi Gateway. Ưu điểm của chế độ này là đỡ tốn kém chi phí xử lý nhưng nó có khuyết điểm là các trường có thể thay đổi không được xác thực.

Hình 1.15 : Gói tin IP trước và sau khi xử lý AH trong chế độ Transport

- Chế độ Tunnel: Trong chế độ Tunnel, một gói tin IP khác được thiết lập dựa trên các gói tin IP cũ. Header của gói IP cũ (bên trong) mang địa chỉ nguồn và đích cuối cùng, còn Header của gói IP mới (bên ngoài) mang địa chỉ để định tuyến trên Internet. Trong chế độ này, AH bảo vệ toàn bộ gói tin bên trong bao gồm cả Header. Đối với gói tin IP bên ngoài thì vị trí của AH như là trong chế độ

transport.

Hình 1.16 : Khuôn dạng gói tin AH trong chế độ Tunnel.

Ưu điểm của chế độ Tunnel là bảo vệ toàn bộ gói IP và các địa chỉ cá nhân trong IP Header, tuy nhiên có nhược điểm là tốn chi phí hơn nhiều để xử lý các gói tin.

c. Xử lý gói đầu vào :

Quá trình xử lý gói đầu vào được thực hiện ngược với quá trình xử lý gói đầu ra

- Ghép mảnh: Nếu cần thiết, sẽ tiến hành ghép mảnh trước khi xử lý AH.

- Tìm kiếm SA: Khi đã nhận được một gói tin chứa AH Header, phía thu sẽ xác định một SA phù hợp với địa chỉ IP đích, AH và SPI. Thông tin trong SA sẽ cho biết có cần kiểm tra trường Sequence Number(SN) hay không, có cần thêm trường Authentication Data hay không, các thuật toán và khoá để giải mã ICV. Nếu không có SA nào phù hợp thì phía thu sẽ loại bỏ gói tin.

- Kiểm tra SN: Nếu bên thu không chọn dịch vụ chống lặp thì không cần kiểm tra trường SN. Nếu phía thu có sử dụng dịch vụ chống lặp cho một SA thì bộ đếm gói thu phải được khởi tạo = 0 khi thiết lập SA. Với mỗi gói tin vào khi phía thu tiếp nhận, sẽ kiểm tra có chứa số SN không lặp lại của bất kỳ gói nào trong thời gian tồn tại của SA đó. Nếu bị lặp, gói tin đó sẽ bị loại bỏ.

d. Xử lý gói đầu ra :

- Tìm SA: AH được thực hiện trên một gói tin khi đã xác định gói tin đó được liên kết với một SA, SA đó sẽ yêu cầu xử lý gói tin.

- Tạo SN: Bộ đếm phía phát khởi tạo giá trị 0 khi một SA được thiết lập. Khi truyền một gói tin, bộ đếm sẽ tăng lên 1 và chèn giá trị này vào trường SN. Nếu phía phát lựa chọn dịch vụ AntiReplay sẽ kiểm tra để đảm bảo không bị lặp trước khi chèn một giá trị mới vào trường SN. - Tính ICV: AH ICV được tính dựa trên các dữ liệu sau:

+ Các trường trong IP Header có giá trị không đổi hoặc có giá trị không dự đoán được trong quá trình truyền tới điểm cuối.

+ Bản thân AH Header: Next Header, Payload, Length, Reserved, SPI, SN, Authentication Data (được đặt bằng 0), và explicit padding (nếu có).

+ Dữ liệu của các giao thức lớp trên.

+ Các trường có giá trị thay đổi sẽ được coi bằng 0 trong phép tính ICV các trường có giá trị thay đổi nhưng có thể dự đoán được thì sẽ

- Padding: Có hai loại chèn padding là Authenticaiton Data và Implicit Packet Padding (chèn dữ liệu ngầm định).

+ Authenticaiton Data Padding: Nếu đầu ra của thuật toán xác thực là 96 bit thì không cần chèn thêm dữ liệu. Nhưng nếu ICV có kích thước khác thì phải chèn thêm, nội dung của phần chèn thêm là tuỳ chọn và được đặt sau Authentication Data.

+ Implicit Packet Padding: Đối với một số thuật toán xác thực, chuỗi byte để tính ICV phải là một số nguyên lần của khối n byte. Nếu độ dài gói IP không thoả mãn điều kiện đó thì Implicit Packet Padding sẽ được thêm vào phía cuối của gói. Các byte này bằng 0 và không được truyền đi cùng gói.

- Phân mảnh: Khi cần thiết, phân mảnh sẽ được thực hiện

Một phần của tài liệu Tìm hiểu về công nghệ mạng riêng ảo VPN và mô phỏng mô hình VPN Extranet (Trang 28 - 33)

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

(69 trang)
w