a .Tấn công do th́m
e. Virus, Trojan Horse, Worm, mã độc hại
2.3 Một số giải pháp bảo vệ mạng
2.3.1.3.2 Giao thức xác thực AH
a. Giới thiệu giao thức
Giao thức AH được định nghĩa trong RFC 1826 và sau đó được phát triển trong RFC 2402. AH cung cấp khả năng xác thực nguồn gốc dữ liệu, kiểm tra tính toàn vẹn dữ liệu và dịch vụ chống phát lại. Toàn vẹn dữ liệu là kiểm tra những thay đổi của từng gói tin IP, không quan tâm đến vị trí các gói trong luồng lưu lượng. Còn dịch vụ chống
AH cho phép xác thực tiêu các trường tiêu đề của gói IP cũng như gói dữ liệu của các giao thức lớp trên. AH không cung cấp bất kỳ xử lý nào để bảo mật dữ liệu của lớp các lớp trên, tất cả đều được truyền dưới dạng văn bản rõ. Xử lý trong AH nhanh hơn ESP, nên có thể chọn AH trong trường hợp cần yêu cầu cao hơn về nguồn gốc và tính toàn vẹn của dữ liệu, còn tính bảo mật dữ liệu thì không yêu cầu cao.
Giao thức AH cung cấp chức năng xác thực bằng cách thực hiện hàm băm một chiều đối với dữ liệu của gói để tạo ra một đoạn mã xác thực. Đoạn mã này được chèn vào thông tin của gói truyền đi. Khi đó bất cứ thay đổi nào đối với dữ liệu của gói trong quá trình truyền đi đều được phía thu phát hiện khi nó thực hiện cùng một hàm băm một chiều đối với gói dữ liệu nhận được và đối chiếu với giá trị mã hóa xác thực truyền cùng với gói dữ liệu.
b. Cấu trúc gói tin AH
Các thiết bị sử dụng AH sẽ chèn một tiêu đề AH vào giữa lưu lượng cần quan tâm của gói IP, ở giữa phần tiêu đề IP và tiêu đề lớp 4. Quá trình xử lý chèn tiêu đề AH được minh họa như hình 2.3.
Hình 2.3 Cấu trúc tiêu đề AH cho gói IPSec.
Ý nghĩa của các trường trong tiêu đề AH như sau:
• Next Header (tiêu đề tiếp theo). Có độ dài 8 bit để nhận dạng loại dữ liệu của phần tải tin theo sau AH.
• Payload Length (độ dài tải tin). Có độ dài 8 bit và chứa độ dài của tiêu đề AH được biểu diễn trong các từ 32 bit, trừ đi 2. Ví dụ, trong trường hợp của thuật tốn tồn vẹn mang lại một giá trị xác minh 128 bit (4 x 32 bit) (MD5 cho 128 bit), cộng với 3 (từ 32 bit cố định) rồi trừ đi 2 thì trường độ dài này có giá trị là 5.
• Reserved ( dự trữ). Trường 16 bit này dự trữ cho ứng dụng trong tương lai. Giá trị của trường này có thể đặt bằng 0 và có tham gia trong việc tính dữ liệu nhận thực.
• Security Parameters Index ( SPI-chỉ số thơng số an ninh). Trường này có độ dài 32 bit, cùng với địa chỉ IP đích cho phép nhận dạng duy nhất SA cho gói dữ liệu. Các giá trị SPI từ 1 đến 255 được dành riêng để sử dụng trong tương lai. SPI là trường bắt buộc và thường được lựa chọn bởi phía thu khi thiết lập SA. Giá trị SPI bằng 0 được sử dụng cục bộ và có thể dùng để chỉ ra rằng chưa có SA nào tồn tại.
• Sequence Number (số thứ tự). Đây là trường 32 bit không dấu chứa một giá trị mà khi mỗi gói được gửi đi thì tăng một đơn vị. Trường này là bắt buộc và luôn được đưa vào bởi bên gửi ngay cả khi bên nhận không sử dụng dịch vụ chống phát lại. Bộ đếm bên gửi và bên nhận được khởi tạo ban đầu là 0, gói đầu tiên có số thứ tự là 1. Nếu dịch vụ chống phát lại được sử dụng thì chỉ số này khơng thể lặp lại. Khi đó, để tránh trường hợp bộ đếm bị tràn và lặp lại các số thứ tự, sẽ có u cầu kết thúc phiên truyền thơng và một SA mới được thiết lập trước khi truyền gói thứ 2 của SA hiện hành.
• Authentication Data (dữ liệu nhận thực). Cịn được gọi là giá trị kiểm tra tính tồn vẹn ICV (Integrity Check Value), có độ dài thay đổi và bằng số nguyên lần của 32 bit đối với IPv4 hay 64 bit đối với IPv6. Nó có thể chứa đệm để lấp đầy cho đủ là bội số của các khối bit như trên. ICV được tính toán sử dụng thuật toán nhận thực, bao gồm mã nhận thực bản tin (MAC-Message Authentication Code). MAC đơn giản có thể là thuật tốn mã hóa MD5 hoặc SHA-1. Các khóa dùng cho mã hóa AH là khóa nhận thực bí mật được chia sẻ giữa các đối tượng tryền thơng, có thể là một số ngẫu nhiên, khơng thể đốn trước được. Tính tốn ICV được thực hiện đối với gói tin mới đưa vào. Bất kì trường nào có thể biến đổi của tiêu đề IP đều được cài đặt bằng 0, dữ liệu lớp trên được giả sử là không biến đổi. Mỗi bên đầu cuối VPN sẽ tính tốn giá trị ICV này một cách độc lập. Nếu ICV tính tốn được ở phía thu và ICV do phía phát truyền đến so sánh với nhau mà khơng phù hợp thì gói tin bị loại bỏ. Bằng cách như vậy sẽ bảo đảm rằng gói tin khơng bị giả mạo.
b. Xử lý AH trong chế đợ trùn tải và đường hầm
AH đảm bảo tính xác thực dựa trên hàm băm. Hoạt động AH được thực hiện qua các bước sau:
• Bước 2: Mã băm thu được dùng để xây dựng một tiêu đề AH, đưa tiêu đề này
vào gói dữ liệu ban đầu.
• Bước 3: Gói dữ liệu sau khi thêm tiêu đề AH được truyền tới đới tác IPsec.
• Bước 4: Bên thu thực hiện hàm băm với tiêu đề và tải tin IP, kết quả thu được
mợt mã băm.
• Bước 5: Bên thu tách mã băm trong tiêu đề AH.
• Bước 6: Bên thu so sánh mã băm mà nó tính được với mã băm tách ra từ tiêu
đề AH. Hai mã này phải hoàn toàn giống nhau. Nếu như chúng khác nhau, bên thu lập tức phát hiện được tính không toàn vẹn của dữ liệu.
Việc xử lý AH phụ thuộc vào chế độ hoạt động của IPsec và phiên bản sử dụng của giao thức IP. Khuôn dạng của gói tin Ipv4 trước và sau khi xử lý AH trong hai chế độ truyền tải và đường hầm được thể hiện trong hình 2.4.
Hình 2.4 Khn dạng gói tin IPv4 trước và sau khi xử lý AH
Khuôn dạng của gói tin Ipv6 trước và sau khi xử lý AH được thể hiện trong hình 2.5.