1. Giới thiệu về IPSec.
1.2.2. Giao thức ESP(Encapsulating security Pyload).
SVTH: Đặng Thị Cẩm Lời – Trần Văn Diệp Trang 44 Giao thức ESP cung cấp xác thực, độ toàn vẹn, đảm bảo tính bảo mật của gói tin. ESP cũng hỗ trợ tính năng cấu hình sử dụng trong tính huống chỉ cần mã hóa hay chỉ cần xác thực.
Hình 16: Cấu trúc gói tin ESP.
Ý nghĩa các thành phần:
Security paramaters index (SPI – 32Bits): nhận ra các thông số được
tích hợp với địa chỉ IP, nhận dạng liên kết SA.
Sequence number (32 Bits): Tự động tang có tác dụng phát lại.
Payload data (độ dài bất kì): Đây là gói tin IP hoặc một phần của gói tin
ban đầu tùy thuộc vào chế độ (mode) của IPSec đang được dùng. Khi dùng Tunnel Mode, trường hợp này chứa toàn bộ gói tin IP ban đầu. Trong Transport Mode, nó chỉ bao gồm phần giao thức các lớp bên trên của gói tin ban đầu. Chiều dài của pay load luôn là một số nguyên của bytes.
Padding (độ dài bất kì): và Pad Length (8 Bits): Dữ liệu chèn vào độ dài
SVTH: Đặng Thị Cẩm Lời – Trần Văn Diệp Trang 45
Next Header (8 Bits): Nhận ra giao thức được sử dụng trong quá trình
truyền thông tin. Nếu là TCP giá trị là 6, nếu là UDP giá trị là 17 khi dùng Transport Mode, khi dùng Tunnel Mode là 4 (IP-in-IP).
Authentication (Bội số của 32): bao gồm dữ liệu các thực cho gói tin, được tính trên toàn bộ gói tin ESP trừ phần Authentication data. Các thuật toán mã hóa bao gồm DES, 3DES,AES. Các thuật toán xác thực bao gồm MD5 hoặc SHA-1. ESP còn cung cấp tính năng anti-repay để bào vệ các gói tin không bị chỉnh sửa. ESP trong trạng thái vận chuyển sẽ không đóng gói thuật toán trên toàn bộ gói tin mà chỉ đóng gói phần thân IP Header. ESP có thể sử dụng độc lập hay kết hợp AH, dưới đây là mô hình của quá trình thực thi ESP trên user data để trả về giữa 2 IPSec Peers.
Hình 17: Quá trình hoạt động của ESP.
ESP sử dụng mật mã đối xứng đề cung cấp mã hóa dữ liệu cho các gói tin IPsec. Cho nên, đề kết hợp cả 2 đầu cuối để đều được bảo vệ bới ESP thì hai bên phải sử dụng khóa giống nhau mới mã hóa và giải mã được gói tin. Khi một đầu cuối mã hóa dữ liệu, nó sẽ chia dữ liệu thành các block nhỏ, và sau đó thực hiện thao tác mã hóa nhiều lần sử dụng block dữ liệu và khóa. Thuật toán mã hóa hoạt động trong chiều này được xem như Block Cipher Algorithms.
SVTH: Đặng Thị Cẩm Lời – Trần Văn Diệp Trang 46 dụng key giống nhau và quá trình thực hiện tương tự, nhưng trong bước này ngược với thao tác mã hóa. ESP có chỉ số IP Protocol là 50.
Quá trình gửi ESP.
Khi đã sẵn sang để được đặt trên hàng đợi ra, một datagram IP được kiểm tra xem có thể xử lý bằng IPSec hay không? Nếu đóng gói ESP được yêu cầu, thì cần biết chính xác SA hoạt động trong Transport Mode hay Tunnel Mode. Quá trình xử ly thực hiện các bước sau:
Bước 1: SPD tìm kiếm một SA phù hợp với các thông tin chính xác như địa
chỉ đích, cổng, giao thức… nếu SA chưa tồn tại, một cặp SA được thương lượng giữa hai bên truyền nhận.
Bước 2: Các số thứ tự từ SA tăng dần và được đặt trong tiêu đề ESP. Nếu
peer không vô hiệu hóa chức năng antireplay, số thứ tự được kiểm tra để chắc chắn rằng nó không bằng 0.
Nước 3: Nếu cần thiết, Padding sẽ được thêm vào cho đủ số bit, chiều dài
pad và next header sẽ được làm đầy. nếu thuật toán mã hóa yêu cầu, IV được thêm vào payload data(Initializanti vector – là một block tùy ý được XOR bới block dữ liệu ban đầu trước khi mã hóa, để tránh tình trạng chuỗi mã hóa giống nhau vì dữ liệu giống nhau), IV và payload data cùng ESP trailer sẽ được mã hóa, sử dụng khóa và thuật toàn mã hóa đã được chỉ định trong SA.
Bước 4: ICV được tính trên ESP header, IV, payload data, trường ESP trailer
và đặt trong trường Authentication data, sử dụng hóa và thuật toán mã hóa trong SA.
Bước 5: Nếu các gói dữ liệu kết quả yêu cầu phân mảnh, nó được thực hiện
tại thời điểm này. Trong Transport Mode, ESP chỉ được áp dụng cho toàn bộ datagram IP. Ở Tunnel Mode, ESP có thể được áp dụng cho một mảnh datagram IP.
Một lưu ý là trình tự trong quá trình mã hóa và xác thực rất quan trọng, vì xác thực được thực hiện cuối cùng, ICV sẽ tính toán trên dữ liệu mã hóa
SVTH: Đặng Thị Cẩm Lời – Trần Văn Diệp Trang 47 trước đó, có nghĩa là người nhận có thể thực hiện việc xác minh chứng thực tương đối nhanh chóng trước khi thực hiện quá trính giải mã khá chậm. Điều này có thể phần nào ngăn cản tấn công Dos bởi một loạt dữ liệu nhẫu nhiên được mã hóa gửi tới đầu nhận.
Quá trình nhận ESP.
Vì dữ liệu đến có thể bị phân mảnh do quá trình định tuyến, chúng phải được tái hợp. và sau khi tái hop, quá trình xử lý ESP sẽ được thực hiện qua các bước sau:
Bước 1: SA nhận được bằng cách so sánh địa chỉ đích, giao thức(ESP) và
SPI của gói đến. Nếu không có SA nào tồn tại, gói sẽ bị loại bỏ.
Bước 2: nếu antireplay được kích hoạt, nó sẽ thực hiện việc kiểm tra một số
sequence number.
Bước 3: Gói tin được xác định thực bằng việc tính toán ICV dựa trên ESP
Header, payload và trường ESP trailer, sử dụng thuật toán mã hóa và khóa trong SA, nếu xác thực thất bại, gói tin này sẽ bị loại bỏ. Nếu gói tin được xác thực, nó sẽ được chấp nhận và đầu nhận cập nhập lại sequence number.
Bước 4: Payload và trường ESP trailer được mã hóa bằng việc sử dụng
thuật toán và khóa trong SA. Nếu Padding đã được thệm vào, nó cần được kiểm tra để chắc chắn có những giá trị thích hộp cho thuật toán giải mã. Gói IP gốc được tái hợp bỏ đi các trường ESP, việc tái hộp này phụ thuộc vào việc sử dụng Transport Mode hay Tunnel Mode.
SVTH: Đặng Thị Cẩm Lời – Trần Văn Diệp Trang 48
Hình 18: Bảng so sánh giữa AH và ESP.