xé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. 2. Chế độ hoạt động Hình 3.8 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 cho các Host. Hình 3.9 Gói ESP trong chế độ Tunnel IP Hdr Payload Gói tin IP ban đầu New IP Hdr IP Hdr Payload New IP IP Hdr Payload Hdr ESP Hdr ESP Trl ESP Auth Mã hoá Định danh Gói tin được tạo đường hầm IP Hdr P ayload ESP Hdr ESP Trl ESP Auth Mã hoá Định danh Gói tin IP ban đầu IP Hdr Payload Gói ESP trong chế độ transport - 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. 3. Các thuật toán sử dụng trong ESP Các thuật toán bắt buộc bao gồm: - Các thuật toán mật mã: DES ở chế độ CBC, AES, NULL. Thuật toán mã hoá được xác định bởi SA. ESP làm việc với các thuật toán mã hoá đối xứng. Với sự có mặt của trường Padding, các thuật toán mã hoá có thể có đặc tính khối hoặc luồng. - Các thuật toán xác thực: Mã xác thực bản tin MAC sử dụng MD5, mã xác thực bản tin MAC sử dụng SHA, NULL (Không sử dụng mã xác thực) 4. 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ạo SN: Quá trình này được thực hiện giống với AH. - 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. 5. 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ã đã xác định bởi SA. Sau đó xử lý phần Padding theo đặc điểm của thuật toán, 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. 3.1.4. Các chế độ IPSec Các giao thức của IPSec có thể thực hiện các liên kết an toàn trong hai chế độ: Transport và Tunnel. Như được mô tả trong hình 3.10, cả AH và ESP đều có thể hoạt động cả trong hai chế độ Hình 3.10 Hai chế độ IPSec 3.1.4.1. Chế độ Transport Chế độ Transport bảo vệ các giao thức tầng trên và các ứng dụng. Trong chế độ này, tiêu đề IPSec được chèn vào giữa tiêu đề IP và tiêu đề của giao thức tầng trên như được minh họa trong hình 3.11 Hình 3.11 IPSec – chế độ Transport Trong giao thức ESP, ESP trailer và dữ liệu xác thực ESP được thêm vào sau phần dữ liệu gốc được tải. Tiêu đề mới được chèn vào trước phần dữ liệu được tải Chế độ Transport được dùng bởi các host, không được dùng bởi các getway. Các Getway thậm chí không yêu cầu hỗ trợ chế độ Transport. Ưu điểm của chế độ Transport là xử lý ít Overhead, vì vậy nó nhanh hơn. Một nhược điểm của nó là các trường hay thay đổi không được xác thực. ESP trong chế độ Transport không cung cấp tính năng xác thực và mã hóa với các tiêu đề IP. Đây là một nhược điểm vì các gói tin sai (tấn công giả mạo) có thể vẫn được phân phối cho quá trình xử lý ESP. Một nhược điểm khác là địa chỉ gói IP gốc phải được dùng để phân phối. Điều này có thể là một vấn đề nới địa chi IP riêng được dùng, hoặc nơi cấu trúc địa chỉ mạng bên trong cần được dấu trong mạng công cộng. 3.1.4.2. Chế độ Tunnel Không giống như chế độ Transport, chế độ Tunnel bảo vệ toàn bộ gói IP. Toàn bộ gói IP được đóng gói vào trong một gói IP khác và tiêu đề IPSec được chèn vào giữa tiêu đề IP gốc và tiêu đề IP mới. Trong chế độ này, khái niệm đường hầm được áp dụng. Với giao thức ESP thì gói dữ liệu gốc trở thành gói dữ liệu tải cho gói ESP mới và kết quả là cả mã hóa cũng như xác thực được thực thi nếu được chọn. Tuy nhiên, tiêu đề IP mới vẫn không được bảo vệ. Hình 3.12 IPSec – chế độ Tunnel Chế độ Tunnel được sử dụng bởi các Getway. Như vậy, giữa 2 firewall chế độ Tunnel luôn được dùng cho luồng thông tin đang lưu chuyển qua các firewall giữa các mạng an toàn qua một đường hầm IPSec. Mặc dù các Getway được hỗ trợ chỉ với chế độ Tunnel, thông thường chúng vẫn có thể làm việc được trong chế độ Transport. Chế độ này được cho phép khi Getway hoạt động như một Host, đó là trường hợp luồng thông tin được giành riêng cho chính nó. Ví dụ: các lệnh SNMP, hoặc các yêu cầu báo lại ICMP. Trong chế độ Tunnel các địa chỉ IP của tiêu đề ngoài không cần phải giống với các địa chỉ của tiêu đề bên trong. Ví dụ, hai getway bảo mật có thể thực hiện một đường hầm AH có xác thực tất cả các luồng thông tin giữa các mạng chúng kết nối cùng nhau. . cho phép phía thu xử lý song song cả hai việc: giải mã và xác thực. - Tạo SN: Quá trình này được thực hiện giống với AH. - 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. 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. 5. 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ý. dùng, hoặc nơi cấu trúc địa chỉ mạng bên trong cần được dấu trong mạng công cộng. 3.1.4.2. Chế độ Tunnel Không giống như chế độ Transport, chế độ Tunnel bảo vệ toàn bộ gói IP. Toàn bộ gói