Quá trình xử lý AH

Một phần của tài liệu xây dựng thiết bị bảo mật vpn dựa trên giao thức ipsec (Trang 48 - 52)

b)

3.2.1.5 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 một phần IP header và payload) được thực hiện qua một thuật toán HMAC (MD5 hay SHA-1).

 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 nhận.  Bước 4: Bên thu thực hiện lại giải thuật với một phần IP header và payload, 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 mà 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 dù 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.

a) Quá trình đóng gói gói tin AH

AH có hai kiểu hoạt động, đó là kiểu Transport và kiểu Tunnel. Kiểu Transport là kiểu được sử dụng cho kết nối đầu cuối giữa các host hoặc các thiết bị hoạt động như host và kiểu Tunnel được sử dụng cho các ứng dụng còn lại như Server-server, Gateway- To-Gateway,Server-To-Gateway .

Các thiết bị sử dụng AH sẽ chèn một tiêu đề vào giữa lưu lượng cần quan tâm của IP datagram, ở giữa phần IP header và header lớp 4. B. Quá trình xử lý chèn AH header được diễn tả như trong hình 3-5.

Hình 3-18:Quy trình đóng gói gói tin AH

Ở kiểu 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 kiểu này, AH được chèn vào sau IP header và trước một giao thức lớp trên (chẳng hạn như TCP, UDP, ICMP…) và trước các IPSec header đã được chen vào. Đối với IPv4, AH đặt sau IP header và trước giao thức lớp trên (ví dụ ở đây là TCP). Trường Next header của AH lấy thông tin TCP header(Next header=6).

Trong kiểu Tunnel, inner IP header mang địa chỉ nguồn và đích cuối cùng, còn outer IP header mang địa chỉ để định tuyến qua Internet. Trong kiểu này, AH bảo vệ toàn bộ gói tin IP bên trong, bao gồm cả inner IP header (trong khi AH Transport chỉ bảo vệ một số trường của IP header). So với outer IP header thì vị trí của AH giống như trong kiểu Transport. Tuy nhiên, trường Next header của AH mang thông tin IP header(Next header=4)

Gói IP gốc Kiểu Transport Kiểu Tunnel

In ne r h ea de r i n e r ou te r h ea de r i n e r

.b) 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 cơ sở dữ liệu kết hợp an ninh SAD (Security Association Databases). Đố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 HMAC-MD53 và HMAC-SHA-14. Đâ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ợ.

c) Xử lý gói đầu ra

Trong kiểu Transport, phía phát chèn AH header vào sau IP header và trước một header của giao thức lớp trên. Trong kiểu Tunnel, có thêm sự xuất hiện của outer IP header. Quá trình xử lý gói tin đầu ra như sau:

 Tìm kiếm SA: AH được thực hiện trên gói tin đầu ra chỉ khi quá trình IPSec đã xác định được gói tin đó được liên kết với một SA. SA đó sẽ yêu cầu AH xử lý gói tin. Việc xác định quá trình xử lý IPSec nào cần thực hiện trên lưu lượng đầu ra có thể xem trong RFC 2401.

 Tạo Sequence Number: bộ đếm phía phát được khởi tạo 0 khi một SA được thiết lập. Phía phát tăng SN cho SA này và chèn giá trị SN đó vào trường Sequence Number nhằm thực hiện dịch vụ chống phát lại gói tin.

 Tính toán ICV: bằng cách sử dụng các thuật toán (HMAC-MD5 hay HMAC-SHA-1) một phần IP header và Payload được đưa qua hàm băm tạo thành mã ICV.

 Chèn dữ liệu: có hai dạng chèn dữ liệu trong AH, đó là chèn dữ liệu xác thực (Authentication Data Padding) và chèn gói ngầm định (Implicit Packet Padding).

• Đối với chèn dữ liệu xác thực, nếu đầu ra của thuật toán xác thực là bội số của 96 bit thì không được chèn. Tuy nhiên nếu ICV có kích thước khác thì việc chèn thêm dữ liệu là cần thiết. Nội dung của phần dữ liệu chèn là tùy ý, cũng có mặt trong phép tính ICV và được truyền đi.

• Chèn gói ngầm định được sử dụng khi thuật toán xác thực yêu cầu tính ICV là số nguyên của một khối b byte nào đó và nếu độ dài gói IP không thỏa mãn điều kiện đó thì chèn gói ngầm định được thực hiện ở phía cuối của gói trước khi tính ICV. Các byte chèn này có giá trị là 0 và không được truyền đi cùng với gói.

 Phân mảnh: khi cần thiết, phân mảnh sẽ được thực hiện sau khi đã xử lý AH. Vì vậy AH trong kiểu transport chỉ được thực hiện trên toàn bộ gói IP, không thực hiện trên từng mảnh. Nếu bản thân gói IP đã qua xử lý AH bị phân mảnh trên đường truyền thì ở phía thu phải được ghép lại trước khi xử lý AH. Ở kiểu Tunnel, AH có thể thực hiện trên gói IP mà phần tải tin là một gói IP phân mảnh.

d) Xử lý gói đầu vào

Quá trình xử lý gói tin đầu vào ngược với quá trình xử lý gói tin đầu ra:  Ghép mảnh: được thực hiện trước khi xử lý AH (nếu cần).

 Tìm kiếm SA: khi nhận được gói chứa AH header, phía thu sẽ xác định một SA phù hợp dựa trên địa chỉ IP đích, giao thức an ninh (AH) và SPI. Quá trình tìm kiếm có thể xem chi tiết trong RFC 2401. Nếu không có SA nào thích hợp được tìm thấy cho phiên truyền dẫn, phía thu sẽ loại bỏ gói.

 Kiểm tra Sequence number: AH luôn hỗ trợ dịch vụ chống phát lại, mặc dù dịch vụ này được sử dụng hay không là hoàn toàn dựa vào tùy chọn phía thu. Vì vậy quá trình kiểm tra này có thể được thực hiện hoặc không tùy thuộc vào bên nhận gói tin.

o Nếu người nhận đã kích hoạt dịch vụ chống phát lạ, sequence number bên nhân cho SA phải được khởi tạo bằng 0 khi SA được thành lập. Đối với mỗi gói tin nhận được, bên nhận phải xác minh rằng các gói có chứa một số sequence number không lặp lại trong các dãy số của bất kỳ gói nào được nhận trong thời gian sống của SA này. Điều này cần được quá trình xử lý AH kiểm tra đầu tiên áp dụng cho một gói tin sau khi nó đã được kết hợp với một SA, điều này nhằm giảm thời gian xử lý gói nếu gói nhận bị trùng.

o Nếu bên nhận không cho phép chống phát lại, quá trình kiểm tra Sequence Number không được thực hiện. Tuy nhiên, bên gửi vẫn mặc định là rằng chống phát lại được kích hoạt ở bên nhận. Để tránh điều nay trong quá trình thiết lập tunnel bên gửi nhận nên thông báo bên gửi sẽ không cung câp dịch vụ chống phát lại.

1.1.15.Giao thức đóng gói an toàn tải tin ESP

3.2.1.6 Giới thiệu

ESP được định nghĩa trong RFC 1827 và sau đó được hoàn thiện thêm trong RFC 2408. Cũng như AH, giao thức này được phát triển hoàn toàn cho IPSec. Giao thức này cung cấp tính bí mật dữ liệu bằng việc mật mã hóa các gói tin. Thêm vào đó, ESP cũng cung cấp xác thực nguồn gốc dữ liệu, kiểm tra tính xác thực, tính toàn vẹn, và chống phát lại gói tin. ESP có thể được sử dụng một mình hoặc kết hợp với AH.

Một phần của tài liệu xây dựng thiết bị bảo mật vpn dựa trên giao thức ipsec (Trang 48 - 52)