IPSec Phân tích quá trình ISAKMP và giải mã gói tin ESP IPSec Phân tích quá trình ISAKMP và giải mã gói tin ESP
Trang 1Khoa Mạng máy tính và Truyền thông
TÌM HIỂU VỀ IPSec ( INTERNET PROTOCOL
SECURITY)
Nhóm14
13520067 : Huỳnh Ngọc Cảnh
13520287 : Nguyễn Cao Hòa
13520849 : Nguyễn Văn Thông
13520024 : Nguyễn Thị Lan Anh
I/Phân tích quá trình Security Association (ISAKMP)
IPSec (Internet Protocol Security) là một giao thức được IETF phát triển IPSec được định nghĩa là một giao thức trong tầng mạng cung cấp các dịch vụ bảo mật, nhận thực, toàn vẹn dữ liệu và điều khiển truy cập Nó là một tập hợp các tiêu chuẩn mở làm việc cùng nhau giữa các phần thiết bị.[1]
Quản lý khóa với Internet Key Exchange – IKE :
IPSec dùng một giao thức thứ ba Internet Exchange Key (IKE) thực hiện tính năng thứ ba là quản lý khóa để thỏa thuận các giao thức bảo mật và các thuật toánmã hóa trước và tron suốt quá trình giao dịch
Cơ chế hoạt động của IKE :
- Giao thức IKE sẽ có chức năng trao đổi key giữa các thiết bị tham gia VPN và trao đổi chính sách an ninh giữa các thiết bị
- Nếu không có giao thức này thì người quản trị phải cấu hình thủ công, và những chính sách an ninh trên những thiết bị này được gọi là SA (Security Associate) Do đó các thiết bị trong quá trình IKE sẽ trao đổi với nhau tất cả những SA mà nó có Các thiết bị này sẽ tự tìm ra cho mình những SA phù hợp với đối tác nhất
- Những key được trao đổi trong quá trình IKE cũng được mã hóa và những key này sẽ thay đổi theo thời gian (Generate Key) để tránh tình trạng BruteForce của Attacker
Trang 2+ Có 2 giai đoạn tạo nên phiên làm việc dựa trên IKE, hình bên dưới trình
bày một số đặc điểm chung của hai giai đoạn Trong một phiên làm việc IKE, nó giả sử đã có một kênh bảo mật được thiết lập sẵn Kênh bảo mật này phải được thiết lập trước khi có bất kỳ thỏa thuận nào xảy ra
+ Có 4 chế độ IKE phổ biến thường được triển khai :
- Chế độ chính – Main mode
- Chế độ linh hoạt – Aggressive mode
- Chế độ nhanh – Quick mode
- Chế độ nhóm mới – New Group mode
- Ngoài 4 chế độ IKE phổ biến trên, còn có thêm Informational mode Chế
độ này cung cấp cho các bên có liên quan một số thông tin thêm, xuất phát từ những thất bại trong quá trình thỏa thuận Ví dụ, nếu việc giải mã thất bại tại người nhận hoặc chữ ký không được xác minh thành công, Informational mode được dùng để thông báo cho các bên khác biết
Phân tích gói tin [2]
- Ở đây Main mode sử dụng 6 gói tin để thiết lập Tạm gọi Bên A: 10.0.0.1
; Bên B 10.0.0.2
Giai đoạn 1
- Hai bên tiến hành đàm phán về các thông tin sau :
o Hashing (hàm băm)
o Authentication (chứng thực )
o DH (Diffie Hellman) group
o Lifetime
o Encryption
Trang 32 Message đầu tiên được dùng để thỏa thuận các chính sách bảo mật IKE bao gồm: thuật toán mã hóa, độ dài key, thuật toán hash, phương pháp chứng thực, thời gian bao lâu trao đổi key
+Message 1.
Ở message 1 .Bên A sẽ gửi message đầu tiên , sử dụng UDP port
500 Trong message này có chuỗi SPI (Security Parameter Index), đây là
giá trị duy nhất để xác định trong SA Phiên bản sử dụng ở đây là ver1 và ở
chế độ Main mode Chúng ta có thể thấy được các thuộc tính(thuật toán mã hóa, hàm băm , các phương pháp xác nhận bảo vệ mã khóa.) sử dụng trong
quá trình SA này ở phần Type Payload: transform
+Message 2
Trang 4Sau khi bên B nhận được message từ bên A thì bên B tiến hành phản hồi lại Message này nhầm thông báo cho bên A về việc đồng ý các thuộc tính trong payload transform như : thuật toán mã hóa, hash nào?, giải mã , chiều dài của key Và bên B cũng đã tự thiết lập SPI cho riêng mình
2 message tiếp theo được dùng để trao đổi key Diffire-Hellman và Nonce Những key thực hiện một vai trò quan trọng trong cơ chế mã hóa
+ Message 3
Trang 5 Sau khi cơ chế mã hóa và hàm băm đã được đồng ý ở trên, một khóa sẽ bí mật phát sinh.Bên A tiến hành dùng Diffie-Hellman để trao đổi.Những thông tin được dùng để phát sinh khóa bí mật: giá trị Diffie-Hellman, SPI của ISAKMP SA ở dạng cookies, số ngẫu nhiên known as nonces (dùng ký xác nhận)
+ Message 4
Trang 6 Bên B cũng sẽ gửi Diffie Hellman nonces cho Bên A Hai bên bắt đầu tính toán trong việc Diffie Hellman shared key
2 message cuối cùng được dùng để xác nhận lại các giao dịch đã sử dụng với sự giúp đỡ của chữ ký, các hàm băm và tùy chọn các chứng thực
+ Message 5
Message 5 và 6 đã được mã hóa nên không thể xem được nội dung của chúng nữa.Cả 2 message cuối dùng để nhận dạng và xác thực của mỗi bên
+ Message 6
Trang 7 Bên B sẽ phản hồi các thông tin nhận dạng và xác thực của nó
Giai đoạn 2
- Ở giai đoạn 2 dữ liệu người dùng sẽ được bảo vệ vì thế chỉ có 1 chế độ
Cũng giống như giai đoạn 1 , ở giai đoạn 2 các Bên sẽ tiến hành thỏa thuận các thông tin bảo mật IPSec như :
o IPsec Protocol : ESP hoặc AH
o IPSec mode: Tunnel hoặc transport
o Trao đổi khóa Diffie-Hellman
o Encryption
o Authentication
o IPSec SA lifetime: dùng để thỏa thuận lại SA IPSec sau một khoảng thời gian mặc định hoặc được chỉ định
o (Optional) DH exchange
o Session key được làm mới hoặc thay đổi, các SAs, key và SPI được thông qua cho IPSec
SA IPSec của phase 2 hoàn toàn khác với SA IKE ở phase 1, SA IKE chứa các thông số để tạo nên kênh truyền bảo mật, còn SA IPSec chứa các thông số để đóng gói dữ liệu theo ESP hay AH, hoạt động theo tunnel mode hay transport mode
- Ở giai đoạn này các thỏa thuận sẽ xảy ra trong phạm vi bảo vệ của giai đoạn 1 vì vậy chúng ta sẽ không thấy bất cứ gì
+ Message 7
Trang 8+ Message 8
+ Message 9
II/ Giải mã các gói tin ESP
Ta tiến hành giải mã các gói tin ESP dựa vào cơ chế giải mã của WireShark [3] Trong wireshark , chọn Edit -> Preferences->Protocols->ESP ra được bảng như hình:
Trang 9Tiếp theo ta dựa vào các thông tin trong file readname để điền vào:
Trang 10So sánh trước và sau khi giải mã các gói tin:
Trước giải mã thì chỉ có 2 trường trong Encapsulating Security Payload là ESP
SPI Security parameters index (chỉ dẫn thông số an ninh, trường này bắt buộc phải có) và ESP Sequence (đơn giản chỉ là số thứ tự)
Trang 11Và
Trang 12Sau khi giải mã :
Trang 13Ta thấy sau khi giải mã các gói tin ESP thì những trường nằm trong
Encapsulating Security Payload sẽ xuất hiện như :
- Payload Data (trường dữ liệu tải tin): Đây là trường bắt buộc Nó bao gồm một số lượng biến đổi các byte dữ liệu gốc hoặc một phần dữ liệu yêu cầu bảo mật đã được mô tả trong trường Next Header
- Padding (0->255 bytes): cần thiết để đảm bảo phần dữ liệu mật mã (ciphertext) sẽ kết thúc ở biên giới 4 byte để phân biết rõ ràng với trường Authentication Data
- Pad Length chiều dài của Pad
- Authentiaction data (bội số của 32 bits):Thông tin xác thực được tình trên toàn bộ gói ESP ngoại trừ phần authentiaction data
Nguồn:
[1] Wikipedia IPSec [Online] Available:
https://en.wikipedia.org/wiki/IPsec
[2] Wikipedia IPsec (Internet Protocol Security) [Online] Available:
https://networklessons.com/security/ipsec-internet-protocol-security/
[3] Wikipedia ESP_Preferences [Online] Available:
https://wiki.wireshark.org/ESP_Preferences