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

TÌM HIỂU VỀ GIAO THỨC AH/ESP(IPSEC): ĐỒ ÁN MÔN BẢO MẬT THÔNG TIN

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 (2.38 MB, 38 trang )

TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ
KHOA CÔNG NGHỆ THÔNG TIN
ĐỒ ÁN MÔN BẢO MẬT THÔNG TIN
TÌM HIỂU VỀ GIAO THỨC
AH/ESP(IPSEC)
Giáo Viên : Ths. Văn Thiên Hoàng
Sinh viên thực hiện :
Nguyễn Trí Dũng: 1081020017
Nguyễn Bá Ngọc: 1081020069
Kha Ứng Hòa : 1081020038
Lê Hoàng Long : 1081020063
TP. Hồ Chí Minh, 05/2012
MỤC LỤC
Chương I : Tổng quan về AH/ESP (IPSEC
1. Lịch sử phát triển
2. Nhu cầu ứng dụng
a. AH
b. ESP
3. Các giải pháp công nghệ hiện có và liên quan
4. Các giải pháp, mô hình triển khai
Chương II : Phương thức hoạt động của AH/ESP (IPSEC)
1. Authentication Header (AH)
a. AH Mode
b. AH xác thực và đảm bảo tính toàn vẹn dữ liệu
c. AH Header
d. Hoạt động của giao thức AH
e. AH version 3
f. Tổng kết về AH
2. Encapsulaton Secutity Payload (ESP)
a. ESP Mode
b. ESP Packet Fields


c. Quá trình mã hoá và hoạt động của giao thức ESP
d. ESP Version 3
e. Tổng kết về ESP
Chương III : Demo VPN L2TP/IPSEC sử dụng Certificate
Chương I : Tổng quan về AH/ESP (IPSEC)
1. Lịch sử phát triển:
IPsec ban đầu được phát triển tại Phòng thí nghiệm Nghiên cứu Hải quân như là một
phần của một dự án nghiên cứu DARPA do tài trợ. ESP đã được bắt nguồn trực tiếp
từ giao thức SP3D, chứ không phải được bắt nguồn từ lớp ISO Security Network
Protocol (NLSP). Các đặc điểm kỹ thuật giao thức SP3D được ban hành bởi NIST ,
nhưng được thiết kế bởi các dự án hệ thống dữ liệu bảo mật mạng của Cơ quan An
ninh Quốc gia (NSA), IPsec AH bắt nguồn một phần từ công việc trước đó các tiêu
chuẩn IETF để xác thực của Simple Network Management Protocol (SNMP).
2. Nhu cầu ứng dụng:
a. 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.
b. 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.

3. Các giải pháp công nghệ hiện có và liên quan
Một số hệ thống bảo mật Internet khác sử dụng rộng rãi, chẳng hạn như Secure
Sockets Layer (SSL), Transport Layer Security (TLS) và Secure Shell (SSH), hoạt
động trong các lớp trên của mô hình TCP / IP. Trong quá khứ, việc sử dụng của
TLS / SSL đã được thiết kế vào một ứng dụng để bảo vệ các giao thức ứng dụng.
Ngược lại, kể từ ngày một, các ứng dụng không cần phải được đặc biệt thiết kế để sử
dụng IPsec. Do đó, IPsec bảo vệ bất kỳ lưu lượng truy cập ứng dụng trên một mạng
IP. Điều này đúng cho SSL cũng như với sự nổi lên của cách mạng VPN dựa trên
SSL với việc triển khai như OpenVPN .
4. Các giải pháp, mô hình triển khai:
- 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.
Chương II : Phương thức hoạt động của AH/ESP (IPSEC)
1. 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 .
b. AH xác thực và đảm bảo tính toàn vẹn dữ liệu
Bước 1: 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.
Bước 2: 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.
Bước 3: 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ố.
Bước 4: 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 :
-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.
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á.
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. Tổng kết về AH :
-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.
2. 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.
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.
b. 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. Tổng kết về ESP :
-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
Chương III : Demo VPN L2TP/IPSEC sử dụng Certificate
Các bước thực hiện:
- Cài đặt và cấu hình VPN Server

- VPN Server cài đặt Certificate Services
- VPN Server và VPN Client xin Certificate
- CA cấp Certificate cho VPN Server và Client
- VPN Server và VPN Client cài đặt Certificate
- VPN Client tạo Connection
Bước 1: Cài đặt và cấu hình VPN Server
VPN Server mở Routing & Remote Access -> Chuột phải PC03 -> Configure and Enable
Chọn Custom Configuration
Check ô VPN Access -> Next -> Finish
Cấu hình cấp IP cho VPN Client khi kết nối thành công:
Chuột phải lên tên máy tính -> Properties
Qua tab IP -> Chọn Static Address Pool -> click Add
Cấp địa chỉ từ : 192.168.1.1 -> 192.168.1.20 (20 kết nối) -> OK)
Chọn Port, quan sát thấy VPN Server mặc định cho phép kết nối cả PPTP lẫn L2TP. Cấu hình VPN
Server ko cho phép kết nối PPTP, chỉ cho phép kết nối L2TP: Chuột phải lên Port -> Properties
Chọn WAN Miniport (PPTP) -> click Configure
Bỏ check ô Remote Access và ô Demand-dial -> OK
Bước 2: VPN Server cài đặt Certificate Services
Đầu tiên tiến hành cài đặt ASP.NET
Sau đó cài Certificate Services
Màn hình cảnh báo chọn YES để tiếp tục cài đặt
Chọn Stand-alone root CA
Nhập tên CA (vd: CA01)
Màn hình Certificate Database -> Next
Màn hình cảnh báo về Security chọn YES
Chọn Finish để hoàn tất.
Bước 3: VPN Server và VPN Client xin Certificate -VPN Server xin Certificate
Mở Web Browser nhập: Địa chỉ CA/Certsrv (ở đây VPN Server cũng chính là CA nên có thể nhập
localhost/certsrv). Sau đó chọn Request a certificate

Chọn Advanced Certificate request
Chọn Create and submit
phần NAME nhập tên máy VPN Server (ở đây là PC01.ahesplab.local), phần Type of Certificate
bung ra và chọn IPSec Certificate
Check ô Store certificate và click Submit
Cửa sô cảnh báo chọn YES

×