Giao thức đóng gói tải bảo mật(ESP ):

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 33 - 38)

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

5.3.2.Giao thức đóng gói tải bảo mật(ESP ):

Mục đích chính của ESP là cung cấp sự tin cậy thêm vào xác thực người gửi và xác minh tính toàn vẹn của dữ liệu trong khi truyền. ESP mã hoá nội dung của gói dữ liệu bằng cách dùng các thuật toán mã hoá, như đã xác định bởi SA. Một số thuật toán được sử dụng bởi ESP bao gồm: DES-CBG, NULL, CAST-128, IDEA và 3DES. Các thuật toán xác thực thường được dùng tương tự như trong AH là HMAC-MD5 và HMAC- SHA. AH mang lại tính xác thực và toàn vẹn dữ liệu đối với gói dữ liệu IP. ESP không bảo vệ toàn bộ gói dữ liệu, chỉ có payload được bảo vệ. Tuy nhiên, ESP rất mạnh trong nhóm mã hoá. Nó cũng không chiếm dụng nhiều CPU. Kết quả là nó nhanh hơn AH. Nhưng 24 byte mà nó thêm vào gói dữ liệu có thể làm chậm xuống việc phân đoạn và tính toán thông lượng.

a. Khuôn dạng gói dữ liệu dựa trên ESP

Khuôn dạng của gói ESP phức tạp hơn so với khuôn dạng của AH, nó không chỉ gồm ESP header mà còn ESP trailer và ESP Authentication data. Dữ liệu tải(Payload) được định vị giữa header và trailer.

Hình 1.18 : Khuôn dạng ESP

Các trường trong ESP đều là bắt buộc:

- SPI: Là một số 32 bit bất kỳ, cùng với địa chỉ IP đích và giao thức an ninh, ESP cho phép nhận dạng duy nhất SA cho gói dữ liệu này. Các giá trị SPI từ 1 đến255 được dành riêng để sử dụng trong tương lai. Giá trị SPI = 0 để chỉ ra chưa có SA nào tồn tại.

- SN: Giống như AH, trường SN chứa một giá trị đếm tăng dần để chống lặp lại. Mỗi SA được lựa chọn thì giá trị của trường này bắt đầu là 0. - Payload Data: Trường có độ dài biến đổi chứa dữ liệu mô tả trong Next Header. Payload Data là trường bắt buộc, được mã hoá bởi các thuật toán mã hoá, các thuật toán mã hoá này được lựa chọn ngay khi thiết lập SA. Trường này có độ dài bằng một số nguyên lần 1 byte.

- Padding: Trường này được thêm vào để đoạn được mã hoá là một số nguyên lần của một khối các byte. Ngoài ra trường còn dùng để che dấu độ dài thực của Payload.

- Pad Length: Trường này xác định số byte padding đã thêm vào (0 đến 225)

- Next Header: Là trường 8 bit bắt buộc, nó chỉ ra kiểu dữ liệu trong Payload Data. Ví dụ một giao thức bậc cao hơn như TCP. Giá trị của trường được chọn trong chuẩn IP Protocol Number được đưa ra bởi IANA.

- Authentication Data: Trường có độ dài biến đổi chứa giá trị ICV được tính cho gói ESP từ SPI đến Next Header. Authentication là trường không bắt buộc, được thêm vào nếu dịch vụ Authentication được lựa chọn cho SA đangxét. Các thuật toán để tính ICV là các thuật toán hàm băm một chiều MD5 hoặc SHA giống với AH.

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

Hình 1.19 : Gói ESP trong chế độ Transport

ESP cũng được sử dụng ở hai chế độ: Transport và Tunnel

- Chế độ Transport: Chế độ Transport cho phép bảo vệ các giao thức lớp trên nhưng không bảo vệ IP Header. Các gói tin IP cũ được cắt phần tiêu đề ra, sau đó tiêu đề ESP được đưa vào giữa. ESP trailer sẽ được đưa vào cuối gói tin, cuối cùng là Authentication Data được đưa thêm vào. Chế độ Transport không mã hoá cũng không xác thực IP Header, tuy nhiên nó có chi phí xử lý thấp, chỉ được dùng

Hình 1.20 : Gói ESP trong chế độ Tunnel

- Chế độ Tunnel: Trong chế độ này, gói IP mới được xây dựng cùng với một IP Header mới. Các IP Header bên trong mang địa chỉ nguồn và đích cuối cùng, còn IP Header bên ngoài mang địa chỉ định tuyến qua Internet. Ở chế độ này, ESP sẽ bảo vệ cả gói tin IP ban đầu bao gồm: Payload và IP header. Đối với gói IP bên ngoài thì vị trí của ESP giống như trong chế độ Transport.

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

Quá trình xử lý gói đầu ra bao gồm các bước sau:

- Tìm kiếm SA: Giống như AH, ESP được thực hiện trên một gói tin chỉ khi nào bộ điều khiển IPSec đã xác định gói tin đó được liên kết với một SA.

- Mã hoá gói tin: Tuỳ thuộc vào chế độ Tunnel hay Transport mà ESP thực hiện đóng gói toàn bộ gói tin hay chỉ đóng gói phần Payload. Thêm Padding nếu cần thiết, mã hoá các trường Payload Data, Padding, PadLength, Next Header theo các thuật toán đã được chỉ ra bởi SA. Nếu dịch vụ xác thực được lựa chọn thì việc mã hoá được thực hiện trước, quá trình mã hoá không bao gồm trường Authentication Data. Và quá trình xác thực được thực hiện sau. Thứ tự xử lý này cho phép nhanh chóng xác định và loại bỏ các gói lỗi hoặc lặp lại mà không cần phải giải mã gói tin, đồng thời cho phép phía thu xử lý song song cả hai việc: giải mã và xác thực.

- Tính ICV: Nếu dịch vụ xác thực được lựa chọn thì phía phát sẽ tính các giá trị ICV trên gói dữ liệu ESP gồm các trường sau: SPI, SequenceNumber, Payload Data, Padding, PadLength và Next Header. Trong đó 4 trường cuối ở dạng đã mã hoá. ICV được tính dựa vào các thuật toán xác thực dùng hàm băm một chiều như MD5 và SHA-1.

- Phân mảnh: Nếu cần thiết thì phân mảnh sẽ được thực hiện sau khi đã xử lý ESP.

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

Quá trình xử lý gói đầu vào gồm các bước ngược với quá trình xử lý gói tin đầu ra.

- Ghép mảnh: Ghép mảnh được thực hiện trước khi xử lý ESP. Nếu một gói tin cần xử lý ESP ở dạng phân mảnh thì phía thu phải loại bỏ gói tin đó.

- Tìm kiếm SA: Khi nhận được một gói tin chứa ESP Header, phía thu sẽ xác định một SA phù hợp dựa trên địa chỉ đích, giao thức bảo mật và SPI. Nếu không thể tìm thấy một SA nào phù hợp cho phiên truyền dẫn này thì phía thu sẽ loại bỏ gói tin.

- Kiểm tra SN: Giống với kiểm tra SN trong AH.

- Kiểm tra ICV: Nếu dịch vụ xác thực được lựa chọn phía thu sẽ tính ICV của gói ESP ngoại trừ trường Authentication Data rồi so sánh với ICV của gói tin nhận được. Nếu hai giá trị ICV này trùng nhau thì gói tin là hợp lệ, nếu không gói tin sẽ bị loại bỏ. Việc kiểm tra được tiến hành như sau: Trước tiên trường Authentication Data được tách ra khỏi ESP và lưu lại, sau đó kiểm tra độ dài gói ESP còn lại, nếu Padding đã được ngầm định thì các byte 0 được thêm vào sau trường Next Header sau đó sẽ tính ICV và so sánh với giá trị ICV được lưu trong trường Authentication Data.

- Giải mã gói tin: Đầu tiên là giải mã ESP bao gồm các trường Payload Data, Padding, Padlength, NextHeader sử dụng khoá, thuật toán mật mã đã

loại bỏ nó trước khi đưa lên các lớp trên. Cuối cùng là xây dựng lại gói tin IP ban đầu tuỳ thuộc vào chế độ Transport hay Tunnel. Nếu là Transport, xây dựng lại gói tin ban đầu từ IP Header và thông tin giao thức lớp trên trong Payload của ESP. Nếu là Tunnel, xây dựng lại gói tin ban đầu từ IP Header của gói bên ngoài và toàn bộ gói IP bên trong. (adsbygoogle = window.adsbygoogle || []).push({});

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 33 - 38)