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 .
Trang 1TRƯỜ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
Lê Hoàng Long : 1081020063
TP Hồ Chí Minh, 05/2012
Trang 2MỤ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
Trang 3Chương I : Tổng quan về AH/ESP (IPSEC)
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
Trang 44 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
Trang 5Chươ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
Trang 6b 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 sangphí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ấpnhận gói tin
Trang 7c 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 baogiờ 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ùngchuỗ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
Trang 8d 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 Packetgồ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ứachuỗ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à 2cho 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
Trang 92 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ệtkê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
Trang 10ESP 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 Trong Transport mode không tương thích với NAT
host-to-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óitin 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
Trang 11-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ếugiao 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 12Hì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 Modethì 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
Trang 13Chươ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
Trang 14VPN Server mở Routing & Remote Access -> Chuột phải PC03 -> Configure and Enable .
Chọn Custom Configuration
Check ô VPN Access -> Next -> Finish
Trang 15Cấ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
Trang 16Cấ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
Trang 17Chọn WAN Miniport (PPTP) -> click Configure
Bỏ check ô Remote Access và ô Demand-dial -> OK
Trang 19Bướ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
Trang 20Màn hình cảnh báo chọn YES để tiếp tục cài đặt
Chọn Stand-alone root CA
Trang 21Nhập tên CA (vd: CA01)
Màn hình Certificate Database -> Next
Trang 22Màn hình cảnh báo về Security chọn YES
Chọn Finish để hoàn tất.
Trang 23Bướ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