1. Giới thiệu
Giao thức AH (Authentication Header) được định nghĩa trong RFC 1826 và sau đó là phát triển lại trong RFC 2402. AH cung cấp xác thực nguồn gốc dữ liệu (data origin authentication), kiểm tra tính toàn vẹn dữ liệu (data integrity), và dịch vụ chống phát lại (anti-replay service).
Đến đây, cần phải phân biệt được hai khái niệm toàn vẹn dữ liệu 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 phát lại là kiểm tra sự phát lặp lại một gói tin tới địa chỉ đích nhiều hơn một lần.
AH cho phép xác thực các trường của IP header cũng như dữ liệu của các giao thức lớp trên, tuy nhiên do một số trường của IP header thay đổi trong khi truyền và phía phát có thể không dự đoán trước được giá trị của chúng khi tới phía thu, do đó giá trị của các trường này không bảo vệ được bằng AH.
IP Packet được bảo vệ bởi AH
Có thể nói AH chỉ bảo vệ một phần của IP header mà thôi. AH không cung cấp bất cứ xử lý nào về bảo mật dữ liệu của các lớp trên, tất cả đều được truyền dưới dạng văn bản rõ.
AH nhanh hơn ESP, nên có thể chọn AH trong trường hợp chắc chắn về nguồn gốc và tính toàn vẹn của dữ liệu nhưng tính bảo mật dữ liệu không cần được chắc chắn.
Giao thức AH cung cấp chức năng xác thực bằng cách thực hiện một hàm băm một chiều (one-way hash function) đối với dữ liệu của gói để tạo ra một đoạn mã xác thực (hash hay message digest).
Đoạn mã đó đượ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 nội dung 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 với một hàm băm một chiều đối với gói dữ liệu thu được và đối chiếu nó với giá trị hash đã truyền đi.
Hàm băm được thực hiện trên toàn bộ gói dữ liệu, trừ một số trường trong IP header có giá trị bị thay đổi trong quá trình truyền mà phía thu không thể dự đoán trước được (ví dụ trường thời gian sống của gói tin bị các router thay đổi trên đường truyền dẫn).
2. Quá trình xử lý AH
Hoạt động của AH được thực hiện qua các bước như sau:
- Bước 1: Toàn bộ gói IP (bao gồm IP header và tải tin) được thực hiện qua một hàm băm một chiều.
- Bước 2: Mã hash thu được dùng để xây dựng một AH header, đưa header này vào gói dữ liệu ban đầu.
- Bước 3: Gói dữ liệu sau khi thêm AH header đượ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 IP header và tải tin, kết quả thu được một mã hash.
- Bước 5: Bên thu tách mã hash trong AH header.
- Bước 6: Bên thu so sánh mã hash mà nó tính được với mã hash tách ra từ AH header. Hai mã hash này phải hoàn toàn giống nhau. Nếu khác nhau chỉ một bit trong quá trình truyền thì 2 mã hash sẽ không giống nhau, bên thu lập tức phát hiện tính không toàn vẹn của dữ liệu.
3. Các thuật toán xác thực
Thuật toán xác thực sử dụng để tính ICV được xác định bởi kết hợp an ninh SA (Security Association). Đối với truyền thông điểm tới điểm, các thuật toán xác thực thích hợp bao gồm các hàm băm một chiều (MD5, SHA-1). Đây chính là những thuật toán bắt buộc mà một ứng dụng AH phải hỗ trợ.
Nguyễn Văn Vượng, Lê Hải Dương, Phạm Phú Quý – VnPro