(thuật toán mật mã kiểu CBC cho ESP)
CBC 10/1998
3.2 Đóng gói thông tin của IPSec3.2.1 Các kiểu sử dụng 3.2.1 Các kiểu sử dụng
IPSec có hai kiểu cung cấp nhận thực và mã hóa mức cao để thực hiện đóng gói thông tin, đó là kiểu Transport (truyền tải) và kiểu Tunnel (đường ngầm). Sau đây chúng ta sẽ xét đến hai kiểu này trước khi tìm hiểu về các giao thức AH và ESP:
3.2.1.1 Kiểu Transport
Trong kiểu này, vấn đề an ninh được cung cấp bởi các giao thức lớp cao hơn (từ lớp 4 trở lên). Kiểu này bảo vệ phần tải tin của gói nhưng vẫn để phần IP header ban đầu ở dạng bản rõ. Địa chỉ IP ban đầu được sử dụng để định tuyến gói qua Internet.
Authenticated Encrypted
Authenticated Original Header AH Header Payload Original Header ESP Header Payload
AH- kiểu Transport ESP- kiểu Transport
Hình 3.1 Gói tin IP ở kiểu Transport
Kiểu Transport có ưu điểm là chỉ thêm vào gói IP ban đầu một số it byte. Nhược điểm là kiểu này cho phép các thiết bị trong mạng nhìn thấy địa chỉ nguồn và đích của gói tin và có thể thực hiện một số xử lý (ví dụ như phân tích lưu lượng) dựa trên các thông tin của IP header. Tuy nhiên nếu được mật mã bởi ESP thì sẽ không biết được dữ liệu cụ thể bên trong gói IP là gì. Theo như IETF thì kiểu Transport chỉ có thể được sử dụng khi hai hệ thống đầu cuối IP- VPN có thực hiện IPSec.
3.1.1.2 Kiểu Tunnel
Kiểu này bảo vệ toàn bộ gói IP. Gói IP ban đầu (bao gồm cả IP header) được xác thực hoặc mật mã. Sau đó, gói IP đã mã hóa được đóng gói vào một IP header mới. Địa chỉ IP bên ngoài được sử dụng cho định tuyến gói IP truyền qua Internet.
Authenticated Encrypted Authenticated Original Header AH Header Payload Original Header ESP Header Payload
AH- kiểu Tunnel ESP- kiểu Tunnel New Header New Header
Hình 3.2: Gói tin IP ở kiểu Tunnel
Trong kiểu Tunnel, toàn bộ gói IP ban đầu được đóng gói và trở thành Payload của gói IP mới. Kiểu này cho phép các thiết bị mạng như router thực hiện xử lý IPSec thay cho các trạm cuối (host). Hình 3.3 là ví dụ: Router A xử lý các gói từ host A, gửi chúng vào đường ngầm. Router B xử lý các gói nhận được trong đường ngầm, đưa về dạng ban đầu và chuyển hóa chúng tới host B. Như vậy, các trạm cuối không cần thay đổi nhưng vẫn có được tính an toàn dữ liệu của IPSec. Ngoài ra, nếu sử dụng kiểu Tunnel, các thiết bị trung gian trong mạng sẽ chỉ có thể nhìn thấy được các địa chỉ hai điểm cuối của đường hầm (ở đây là các router A và B). Khi sử dụng kiểu Tunnel, các đầu cuối của IP-VPN không cần phải thay đổi ứng dụng hay hệ điều hành.
Hình 3.3: Thiết bị mạng thực hiện IPSec kiểu Tunnel
3.2.2 Giao thức tiêu đề xác thực AH3.2.2.1 Giới thiệu 3.2.2.1 Giới thiệu
Giao thức AH (Authentication Header) được định nghĩa trong RFC 1826 và sau đó là phát triển lại trong RFC 2402. AH cung cấp xác thực nguồn gốc dữ liệu (data origin authentication), kiểm tra tính toàn vẹn dữ liệu (data integrity), và dịch vụ chống phát lại (anti-replay service). Đến đây, cần phải phân biệt được hai khái niệm toàn vẹn dữ liệu và chống phát lại: toàn vẹn dữ liệu là kiểm tra những thay đổi của từng gói tin IP, không quan tâm đến vị trí các gói trong luồng lưu lượng; còn dịch vụ chống phát lại là kiểm tra sự phát lặp lại một gói tin tới địa chỉ đích nhiều hơn một lần. AH cho phép xác thực các trường của IP header cũng như dữ liệu của các giao thức lớp trên, tuy nhiên do một số trường của IP header thay đổi trong khi truyền và phía phát có thể không dự đoán trước được giá trị của chúng khi tới phía thu, do đó giá trị của các trường này không bảo vệ được bằng AH. Có thể nói AH chỉ bảo vệ một phần của IP header mà thôi. AH không cung cấp bất cứ xử lý nào về bảo mật dữ liệu của các lớp trên, tất cả đều được truyền dưới dạng văn bản rõ. AH nhanh hơn ESP, nên có thể chọn AH trong trường hợp chắc chắn về nguồn gốc và tính toàn vẹn của dữ liệu nhưng tính bảo mật dữ liệu không cần được chắc chắn. Giao thức AH cung cấp chức năng xác thực bằng cách thực hiện một hàm băm một chiều (one-way hash function) đối với dữ liệu của gói để tạo ra một đoạn mã xác thực (hash hay message digest). Đoạn mã đó được chèn vào thông tin của gói truyền đi. Khi đó, bất cứ thay đổi nào đối với nội dung của gói trong quá trình truyền đi đều được phía thu phát hiện khi nó thực hiện cùng với một hàm băm một chiều đối với gói dữ liệu thu được và đối chiếu nó với giá trị hash đã truyền đi. Hàm băm được thực hiện trên toàn bộ gói dữ liệu, trừ một số trường trong IP header có giá trị bị thay đổi trong quá trình truyền mà phía
thu không thể dự đoán trước được (ví dụ trường thời gian sống của gói tin bị các router thay đổi trên đường truyền dẫn).
3.2.2.2 Cấu trúc gói tin AH
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ởi vì AH được liên kết với IPSec, IP-VPN có thể định dạng để chọn lưu lượng nào cần được an toàn và lưu lượng nào không cần phải sử dụng giải pháp an toàn giữa các bên. Ví dụ như bạn có thể chọn để xử lý lưu lượng email nhưng không đối với các dịch vụ web. Quá trình xử lý chèn AH header được diễn tả như trong hình 3.4.
Hình 3.4: Cấu trúc tiêu đề AH cho IPSec Datagram
Giải thích ý nghĩa các trường trong AH header: