Tải bản đầy đủ (.doc) (14 trang)

Cơ chế hoạt động của giao thức AH và ESP pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (483.47 KB, 14 trang )

Cơ chế hoạt động của giao thức AH và ESP
Tác giả: Vi Thị Mưu
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
Trong 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
B1: 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).
-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á.
Figure 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 packet 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.
Figure 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 lê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).
Hì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.
-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.
Figure 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
Figure 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 .
Figure 3-18: IPSec Tunnel Mode – a generic representation
-Toàn bộ gói IP ban đầu sẽ bị đóng gói bởi AH hoặc ESP và một IP header mới sẽ được
bao bọc xung quanh gói dữ liệu. Toàn bộ gói IP sẽ được mã hoá và trở thành dữ liệu mới
của gói IP mới. chế độ này cho phép các thiết bị mạng, chẳng hạn như Router, hoạt động
như một IPSec proxy thực hiện chức năng mã hóa thay cho host. Router nguồn sẽ mã hóa
các packets và truyền chúng dọc theo tunnel. Router đích sẽ giải mã gói IP ban đầu và
chuyển nó về hệ thống cuối.
-với tunnel hoạt động giữa hai security gateway, địa chỉ nguồn và đích có thể được mã

hóa.
Ví dụ : Luồng gói tin được gởi từ host A2 đến host B3:
Figure 3-19: Packet Flow from Host A2 to Host B3
-Giả sử rằng host A2 gửi TCP segment đến host B3. IP datagram rời khỏi host A2 đi đến
host B3. khi IP datagram rời khỏi host A2, nó có địa chỉ nguồn là 10.0.1.2 và địa chỉ đích
là 10.0.2.3. Trường giao thức trong IP header là 6 (chỉ rằng giao thức lớp dưới là TCP).
Host A2 có default route đến GWA hoặc định tuyến đến mạng 10.0.2.0/24 với GWA là
next hop, thì datagram được định tuyến đến GWA.
-Khi datagram đến GWA, gateway kiểm tra SPD của nó và thông báo nó chỉ rõ chính
sách để bất kỳ datagram từ mạng 10.0.1.0/24 đến mạng 10.0.2.0/24 nên được đóng gói
với mode-tunnel ESP và gửi đến GWB tại 2.2.2.2. Sau khi GWA đóng gói IP datagram,
IP header bên ngoài có địa chỉ nguồn 1.1.1.1 (GWA) và địa chỉ đích 2.2.2.2 (GWB).
trường giao thức của IP header bên ngoài là 50 (để chỉ rõ giao thức ESP được dùng).
Trường giao thức của gói tin ESP là 4 (để chỉ ra gói tin ESP đang đóng gói IP datagram).
Và IP header bên trong không thay đổi.
-Khi đóng gói IP datagram đến tại GWB, gateway thấy rằng nó chứa gói tin ESP và xác
thực lại và key mã hoá từ SA thích hợp, thực hiện kiểm tra xác thực và giải mã ESP
Payload. IP header bên ngoài, ESP header và Trailer, và ICV đã được tách ra khỏi, và IP
datagram bên trong được forward đến đích của nó (10.0.2.3).
Bảng so sánh giữa giao thức AH và ESP

×