- ESP sử dụng IP Protocol number là 50 ESP được đóng gói bởi giao thức IP và trường protocol trong IP là 50 - AH sử dụng IP Protocol number là 51 AH được đóng gói bởi giao thức IP và tr
Trang 11 Cơ chế hoạt động của giao thức AH và ESP
1 Khái quát :
Giao thức ESP và giao thức AH là hai giao thức chính trong việc mã hoá và xác thực dữ liệu
- ESP sử dụng IP Protocol number là 50 (ESP được đóng gói bởi giao thức IP và trường protocol trong IP
là 50)
- AH sử dụng IP Protocol number là 51 ( AH được đóng gói bởi giao thức IP và trường protocol trong IP
là 51)
Bộ giao thức IPSec hoạt động trên 2 mode chính : Tunnel Mode và Transports Mode
- Khi giao thức IPSec hoạt động ở Tunnel Mode thì sau khi đóng gói dữ liệu, giao thức ESP mã hoá toàn
bộ Payload, frame Header, IP Header thì nó sẽ thêm một IP Header mới vào gói tin trước khi forward đi
- Khi giao thức IPSec hoạt động ở Transport Mode thì IP Header vẫn được giữ nguyên và lúc này giao thức ESP sẽ chèn vào giữa Payload và IP Header của gói tin
2 Tổng quan về ESP Header và AH Header
- Trong trường hợp dùng giao thức ESP : thì giao thức này sẽ làm công việc mã hóa (encryption), xác thực (authentication), bảo đảm tính toàn vẹn dữ liệu ( integrity protection) Sau khi đóng gói xong bằng ESP, mọi thông tin và mã hoá và giải mã sẽ nằm trong ESP Header
- Các thuật toán mã hoá sử dụng trong giao thức như : DES, 3DES, AES
- các thuật toán hash như : MD5 hoặc SHA-1
- Trong trường hợp dùng giao thức AH : thì AH chỉ làm công việc xác thực (Authentication), và đảm bảo tính toàn vẹn dữ liệu Giao thức AH không có tính năng mã hoá dữ liệu
3 Authentication Header (AH)
AH là một trong những giao thức bảo mật, cung cấp tính năng đảm bảo toàn vẹn packet headers và data, xác thực nguồn gốc dữ liệu Nó có thể tuỳ chọn cung cấp dịch vụ replay protection và access protection AH không mã hoá bất kỳ phần nào của các gói tin Trong phiên bản đầu của IPSec, giao thức ESP chỉ có thể cung cấp mã hoá, không xác thực Do đó, người ta kết hợp giao thức AH và ESP với nhau
để cung cấp sự cẩn mật và đảm bảo toàn vẹn dữ liệu cho thông tin
a AH Mode
AH có hai mode : Transport và Tunnel
Trong Tunnel mode, AH tạo 1 IP Header mới cho mỗi gói tin
Trong Transport mode, AH không tạo IP Header mới
Trang 2Trong cấu trúc IPSec mà sử dụng gateway , địa chỉ thật của IP nguồn và đích của các gói tin phải thay đổi thành địa chỉ IP của gateway Vì trong Transport Mode không thay đổi IP Header nguồn hoặc tạo một
IP Header mới, Transport Mode thường sử dụng trong cấu trúc host-to-host
AH cung cấp tính năng đảm bảo tính toàn vẹn cho toàn bộ gói tin, bất kỳ mode nào được sử dụng
Figure 3-3: AH Tunnel Mode Packet
Figure 3-4: AH Transport Mode Packet
a.AH xác thực và đảm bảo tính toàn vẹn dữ liệu
Trang 3B1: AH sẽ đem gói dữ liệu (packet ) bao gồm : Payload + IP Header + Key cho chạy qua giải thuật Hash
1 chiều và cho ra 1 chuỗi số và chuỗi số này sẽ được gán vào AH Header
B2: AH Header này sẽ được chèn vào giữa Payload và IP Header và chuyển sang phía bên kia
B3: Router đích sau khi nhận được gói tin này bao gồm : IP Header + AH Header + Payload sẽ được cho qua giải thuật Hash một lần nữa để cho ra một chuỗi số
B4: so sánh chuỗi số nó vừa tạo ra và chuỗi số của nó nếu giống nhau thì nó chấp nhận gói tin
C AH Header
Figure 3-5 : AH Header
-Next Header : Trường này dài 8 bits , chứa chỉ số giao thức IP Trong Tunnel Mode, Payload là gói tin
IP , giá trị Next Header được cài đặt là 4 Trong Transport Mode , Payload luôn là giao thức Transport-Layer Nếu giao thức lớp Transport là TCP thì trường giao thức trong IP là 6 Nếu giao thức lớp transport
là UDP thì trường giao thức trong IP là 17
-Payload Length : Trường này chứa chiều dài của AH Header
-Reserved : giá trị này được dành để sử dụng trong tương lai ( cho đến thời điểm này nó được biểu thị
bằng các chỉ số 0)
Trang 4-Security parameter Index (SPI) : mỗi đầu cuối của mỗi kết nối IPSec tuỳ ý chọn giá trị SPI Hoạt
động này chỉ được dùng để nhận dạng cho kết nối Bên nhận sử dụng giá trị SPI cùng với địa chỉ IP đích
và loại giao thức IPSec (trường hợp này là AH) để xác định chính sách SA được dùng cho gói tin (Có nghĩa là giao thức IPSec và các thuật toán nào được dùng để áp cho gói tin)
-Sequence Number : chỉ số này tăng lên 1 cho mỗi AH datagram khi một host gửi có liên quan đến
chính sách SA Giá trị bắt đầu của bộ đếm là 1 chuỗi số này không bao giờ cho phép ghi đè lên là 0 vì khi host gửi yêu cầu kiểm tra mà nó không bị ghi đè và nó sẽ thoả thuận chính sách SA mới nếu SA này được thiết lập Host nhận sẽ dùng chuỗi số để phát hiện replayed datagrams Nếu kiểm tra bên phía host nhận, bên nhận có thể nói cho bên gửi biết rằng bên nhận không kiểm tra chuỗi số, nhưng đòi hỏi nó phải luôn có trong bên gửi để tăng và gửi chuỗi số
-Authentication Data: Trường này chứa kết quả của giá trị Integrity Check Value (ICV) Trường này
luôn là bội của 32-bit (từ) và phải được đệm vào nếu chiều dài của ICV trong các bytes chưa đầy
d Hoạt động của giao thức AH
-Hướng tốt nhất để hiểu AH làm việc như thế nào, ta sẽ xem và phân tích các gói tin AH
Figure 3-6: Sample AH Transport Mode Packet
Hình trên cho thấy các thành phần của gói tin AH thật sự Mỗi section của AH Packet gồm : Ethernet header , IP header , AH header và Payload Dựa trên các trường của phần AH mode, ta thấy đây là gói tin ở Transport Mode vì nó chỉ chứa IP Header Trong trường hợp này, payload chứa ICMP echo request (hay là Ping) Ping gốc chứa chuỗi mẫu tự được miêu tả trong gói tin tăng dần bởi giá trị Hex ( vd : 61,
62, 63) Sau khi giao thức AH được applied, ICMP Payload không thay đổi Vì AH chỉ cung cấp dịch vụ đảm bảo toàn vẹn dữ liệu, không mã hoá
Trang 5Figure 3-7 : AH Header Fields from Sample Packet
Các trường trong AH Header từ 4 gói tin đầu tiên trong AH session giữa host A và host B Các trường trong header đầu tiên chỉ là nhãn, để đáp ứng trong việc nhận dạng AH mode
-SPI : host A sử dụng giá trị số Hex cdb59934 cho SPI trong cả các gói tin của nó Trong khi đó host B
sử dụng giá trị số Hex a6b32c00 cho SPI trong cả các gói tin Điều này phản ánh được rằng kết nối AH thật sự gồm hai thành phần kết nối một chiều
-Sequence Number : cả hai host bắt đầu thiết lập chỉ số bằng 1, và cả hai tăng lên là 2 cho gói tin thứ
hai của chúng
-Authentication information : Xác thực (đảm bảo toàn vẹn ) thông tin , là một keyed hash dựa trên
hầu như tất cả các bytes trong gói tin
e AH version 3
Một chuẩn mới của AH là Version 3, phiên bản được phát triển dựa trên phiên bản phác thảo Tính năng khác nhau giữa Version 2 và Version 3 là mối quan hệ thứ yếu để các quản trị viên IPSec và người dùng - một vài sự thay đổi đến SPI, và tuỳ chọn chỉ số dài hơn
chuẩn phác thảo version 3 cũng chỉ đến một chuẩn phác thảo khác rằng liệt kê thuật toán mã hoá yêu cầu cho AH Bản phác thảo uỷ nhiệm hỗ trợ cho HMAC-SHA1-96, giới thiệu thuật toán hỗ trợ mạnh hơn
là AES-XCBC-MAC-96, và cũng giới thiệu thuật toán : HMAC-MD5-96
f AH Summary
-AH cung cấp dịch vụ đảm bảo toàn vẹn cho tất cả các header và data gói tin Ngoại trừ một số trường
IP Header mà định tuyến thay đổi trong chuyển tiếp
-AH bao gồm địa chỉ nguồn và địa chỉ đích trong dịch vụ đảm bảo toàn vẹn AH thường không tương thích với NAT
-Hiện nay, hầu hết IPSec bổ sung hỗ trợ phiên bản thứ hai của IPSec mà ESP có thể cung cấp dịch các
vụ đảm bảo toàn vẹn dữ liệu qua sự xác thực
-AH cung cấp một lợi ích mà ESP không có, đó là : đảm bảo toàn vẹn cho outermost IP Header
4 Encapsulaton Secutity Payload (ESP)
ESP là giao thức bảo mật chính thứ hai Trong phiên bản đầu của IPSec , ESP chi cung cấp mã hoá cho
Trang 6packet payload data Khi cần, giao thức AH cung cấp dịch vụ đảm bảo toàn vẹn Trong phiên bản thứ hai của IPSec, ESP trở nên mềm dẻo hơn Nó có thể thực hiện xác thực để cung cấp dịch vụ đảm bảo toàn vẹn, mặc dù không hỗ trợ cho outermost IP header Sự mã hoá của ESP có thể bị vô hiệu hoá qua thuật toán mã hoá Null ESP algorithm Do đó, ESP có thể cung cấp chỉ mã hoá; mã hoá và đảm bảo toàn vẹn
dữ liệu; hoặc chỉ đảm bảo toàn vẹn dữ liệu
a ESP Mode
ESP có hai mode : Transport Mode và Tunnel Mode
Trong Tunnel Mode : ESP tạo một IP Header mới cho mỗi gói tin IP Header mới liệt kêt các đầu cuối của ESP Tunnel ( như hai IPSec gateway) nguồn và đích của gói tin Vì Tunnel mode có thể dùng với tất cả 3
mô hình cấu trúc VPN
Figure 3-8: ESP Tunnel Mode Packet
ESP Tunnel Mode được sử dụng thường xuyên nhanh hơn ESP Transport Mode
Trong Tunnel Mode, ESP dùng IP header gốc thay vì tạo một IP header mới
Trong Transport Mode, ESP có thể chỉ mã hoá và/hoặc bảo đảm tính toàn vẹn nội dung gói tin và một số các thành phần ESP, nhưng không có với IP header
Giao thức AH, ESP trong Transport mode thường sử dụng trong cấu trúc host-to-host Trong Transport mode không tương thích với NAT
Trang 7Figure 3-9: ESP Transport Mode Packet
b ESP Packet Fields
Figure 3-10: ESP Packet Fields
ESP thêm một header và Trailer vào xung quanh nội dung của mỗi gói tin ESP Header được cấu thành bởi hai trường : SPI và Sequence Number
-SPI (32 bits) : mỗi đầu cuỗi của mỗi kêt nối IPSec được tuỳ chọn giá trị SPI Phía nhận sử dụng giá trị SPI với địa chỉ IP đích và giao thức IPSec để xác định chính sách SA duy nhất mà nó được áp cho gói tin -Sequence Number : thưòng được dùng để cung cấp dịch vụ anti-replay Khi SA được thiết lập, chỉ số này được khởi đầu về 0 Trước khi mỗi gói tin được gửi, chỉ số này luôn tăng lên 1 và được đặt trong ESP header Để chắc chắn rằng sẽ không có gói tin nào được công nhận, thì chỉ số này không được phép ghi
Trang 8lên bằng 0 Ngay khi chỉ số 232-1 được sử dụng , một SA mới và khóa xác thực được thiết lập
Phần kế tiếp của gói tin là Payload, nó được tạo bởi Payload data (được mã hoá) và IV không được mã hoá) Giá trị của IV trong suốt quá trình mã hoá là khác nhau trong mỗi gói tin
phần thứ ba của gói tin là ESP Trailer, nó chứa ít nhất là hai trường
-Padding ( 0-255 bytes) : được thêm vào cho đủ kích thước của mỗi gói tin
-Pad length: chiều dài của Padding
-Next header : Trong Tunnel mode, Payload là gói tin IP, giá trị Next Header được cài đặt là 4 cho
IP-in-IP Trong Transport mode, Payload luôn là giao thức lớp 4 Nếu giao thức lớp 4 là TCP thì trường giao thức trong IP là 6, giao thức lớp 4 là UDP thì trường giao thức IP là 17 Mỗi ESP Trailer chứa một giá trị Next Header
-Authentication data : trường này chứa giá trị Integrity Check Value (ICV) cho gói tin ESP ICV được tính lên toàn bộ gói tin ESP công nhận cho trường dữ liệu xác thực của nó ICV bắt đầu trên ranh giới 4-byte
và phải là bội số của 32-bit (đơn vị từ)
C Quá trình mã hoá và hoạt động của giao thức ESP
ESP sử dụng mật mã đối xứng để cung cấp sự mật hoá dữ liệu cho các gói tin IPSec Cho nên, để kết nối của cả hai đầu cuối đều được bảo vệ bởi mã hoá ESP thì hai bên phải sử dụng key giống nhau mới mã hoá và giải mã được gói tin
Khi một đầu cuối mã hoá 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ã hoá nhiều lần sử dụng các block dữ liệu và key Thuật toán mã hoá hoạt động trong chiều này được
xem như blocks cipher algorithms
Khi một đầu cuối khác nhận được dữ liệu mã hoá, nó thực hiện giải mã sử 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ã hoá
Ví dụ : ESP sử dụng thuật toán mã hoá là AES-Cipher Block Chaining (AES-CBC), AES Counter Mode (AES-CTR), và Triple DES ( 3DES)
Khi so sánh với gói tin AH , gói tin ESP có dạng giống với gói tin AH chuỗi mẫu tự có thể xác định được trong AH-protected Payload nhưng không xác định được trong ESP-protected payload, vì trong ESP nó đã được mã hoá
Gói tin ESP có chứa 5 đoạn : Ethernet Header , IP Header, ESP Header, Encrypted Data (Payload và ESP Trailer), và (option) authentication information Dữ liệu được mã hoá không thể xác định được dù gói tin truyền trong Transport Mode hay Tunnel Mode Tuy nhiên, vì IP Header không được mã hoá, trường giao thức IP trong Header vẫn phát hiện được giao thức dùng cho Payload ( trong trường hợp này là ESP)
Trang 9Hình trên cho thấy, các trường ESP Header từ 4 gói tin đầu trong ESP session giữa host A và host B Các trường SPI và Sequence Number trong ESP làm việc một chiều như chúng đã thực hiện trong AH Mỗi host sử dụng một giá trị SPI khác nhau cho các gói tin của nó, tương thích với kết nối ESP gồm hai thành phần kết nối một chiều
Cả hai host cũng bắt đầu thiết lập sequence number là 1, và sẽ tăng dần lên là 2 cho gói tin thứ hai
d ESP Version 3
Một chuẩn mới cho ESP là phiên bản 3, một phiên bản vừa được bổ sung, được dựa trên chuẩn phác thảo Tìm ra được chức năng chính để cho thấy sự khác nhau giữa version 2 và version 3 , bao gồm những điều sau :
-Chuẩn ESP version 2 đòi hỏi ESP bổ sung để hỗ trợ ESP chỉ sử dụng cho mã hoá (không có tính năng bảo vệ toàn vẹn dữ liệu) Do đó, chuẩn ESP version 3 được đưa ra nhằm hỗ trợ cho sự lựa chọn này -ESP có thể dùng chuỗi số dài hơn, giống với chuẩn AH version 3
-ESP version 3 hỗ trợ trong việc sử dụng kết hợp các thuật toán ( EAS Counter với CBC-MAC [EAS-CMC] Như vậy kết quả mã hoá và tính bảo vệ toàn vẹn dữ liệu đạt được sẽ nhanh hơn là sử dụng tách rời thuật toán
e ESP Summary
-Trong Tunnel Mode, ESP cung cấp sự mã hoá và sự đảm bảo an toàn cho đóng gói IP Packet, cũng xác thực tốt giống như của ESP Header , ESP có thể tương thích với NAT
-Trong Transport Mode, ESP cung cấp sự mã hoá và đảm bảo an toàn cho Payload của gói tin IP , cũng đảm bảo an toàn tốt giống như của ESP Header Transport Mode thì không tương thích với NAT
-ESP Tunnel Mode thường sử dụng phổ biến trong IPSec , vì nó mã hoá IP Header gốc, nó có thể giấu địa chỉ source và des thật của gói tin ESP cũng có thể thêm vật đệm vào để đủ gói tin
Trang 10-ESP thường được dùng để cung cấp cho mã hoá hoặc đảm bảo an toàn ( hoặc cả hai )
5 Các mode chính của giao thức IPSec:
a Transport Mode :
-Transport mode bảo vệ giao thức tầng trên và các ứng dụng Trong transport mode, phần IPSec header được chèn vào giữa phần IP header và phần header của giao thức tầng trên
-vì vậy, chỉ có tải (IP payload) là được mã hóa và IP header ban đầu là được giữ nguyên vẹn Transport mode có thể được dùng khi cả hai host hỗ trợ IPSec
Figure 3-13: IPSec Transport-mode – a generic representation
Transport mode được dùng để bảo mật kết nối giữa hai host:
hoạt động của ESP trong Transport mode được sử dụng để bảo vệ thông tin giữa hai host cố định Bảo
vệ các giao thức lớp trên của IP datagram
Figure 3-14: Transport Mode Tunnel Trong Transport Mode, AH header được chèn vào trong IP datagram sau IP header và các tuỳ chọn
Trang 11Figure 3-15: Transport Mode Packet
-chế độ transport này có thuận lợi là chỉ thêm vào vài bytes cho mỗi packets và nó cũng cho phép các thiết bị trên mạng thấy được địa chỉ đích cuối cùng của gói
a.Tunnel mode :
Figure 3-16: A Tunne Mode – AH Tunnel
Trang 12Figure 3-17 : An ESP Tunnel – Mode VPN
-không giống như transport mode, Tunnel mode bảo vệ toàn bộ gói dữ liệu Toàn bộ gói dữ liệu IP được đóng gói trong một gói dữ liệu IP khác Và một IPSec header được chèn vào giữa phần đầu nguyên bản
và phần đầu mới của IP