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

Một phần của tài liệu an toàn mạng riêng ảo (Trang 72 - 77)

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 thực người gửi cũng như tính toàn vẹn của thông điệp.

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 là đượ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)

1. Khuôn dạng gói tin

Khuông dạng của gói tin theo giao thức AH được minh hoạ như trong hình 3.4. 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).

- Payload Length: Trường này chỉ định độ dài của thông điệp gắn sau tiêu đề AH.

- 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.

2. 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ế độ

Authentication Data (Integrity Check Value)

Next Header PayloadLength Reserved Security Parameter Index(SPI)

Sequence Number

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 3.5. 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 3.6: 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.

3. Các thuật toán xác thực

Các thuật toán xác thực để tính ICV được xác định bởi các liên kết bảo mật (SA). Các thuật toán xác thực thích hợp là các thuật toán hàm băm một chiều MD5 và SHA1 (Các thuật toán này bắt buộc một ứng dụng AH phải hỗ trợ).

IP Hdr Payload

IP Hdr AH Payload Hdr (adsbygoogle = window.adsbygoogle || []).push({});

Gói tin IP ban đầu

Gói tin với tiêu đề AH trong chế độ transport

IP Hdr Payload

OuterIP

Hdr AH Hdr Inner IPHdr Payload Gói tin IP ban đầu

Inc phát minh, tính giá trị Hash 128 bit từ một bản tin nhị phân có độ dài tuỳ ý. SHA được phát triển bởi NIST và NSA, SHA-1 tính giá trị Hash 160 bit từ một bản tin nhị phân có độ dài tuỳ ý. SHA-1 tương tự như MD5 nhưng an toàn hơn do kích thước băm lớn hơn.

4. 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ỏ.

5. 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ẽ giữ nguyên giá trị.

- 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 an toàn mạng riêng ảo (Trang 72 - 77)