nghiŒncÙum¸ts¨gi…iph†p …
TRANSCRIPT
ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KHOA HỌC
LƯƠNG THÁI NGỌC
NGHIÊN CỨU MỘT SỐ GIẢI PHÁP
NÂNG CAO AN NINH TRÊN MẠNG MANET
LUẬN ÁN TIẾN SĨ KHOA HỌC MÁY TÍNH
HUẾ, 2020
ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KHOA HỌC
LƯƠNG THÁI NGỌC
NGHIÊN CỨU MỘT SỐ GIẢI PHÁP
NÂNG CAO AN NINH TRÊN MẠNG MANET
Ngành: Khoa học máy tính
Mã số: 9480101
LUẬN ÁN TIẾN SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học
PGS.TS. Võ Thanh Tú
HUẾ, 2020
LỜI CAM ĐOAN
Tôi cam đoan các kết quả trình bày trong luận án này dựa trên quá trình nghiên
cứu của riêng tôi, không sao chép bất kỳ kết quả nghiên cứu nào của các tác giả khác.
Nội dung của luận án có tham khảo và sử dụng một số thông tin từ các nguồn sách,
tạp chí và luận án đã công bố, tất cả được liệt kê trong danh mục tài liệu tham khảo.
Thừa thiên Huế, ngày ... tháng ... năm 2019
Nghiên cứu sinh
Lương Thái Ngọc
i
LỜI CẢM ƠN
Nội dung luận án tiến sĩ “Nghiên cứu một số giải pháp nâng cao an ninh
trên mạng MANET” được hoàn thành trong thời gian học tập, nghiên cứu tại Khoa
Công nghệ Thông tin, Trường Đại học Khoa học, Đại học Huế. Để đạt được kết quả
này, trước tiên tôi xin gửi lời cảm ơn chân thành đến PGS.TS. Võ Thanh Tú, người
đã đưa ra các định hướng nghiên cứu và trực tiếp hướng dẫn, giúp đỡ tôi trong suốt
thời gian thực hiện luận án. Tiếp theo, xin gửi lời cảm ơn đến GS. Hoàng Bằng Đoàn,
Trường Đại học Công nghệ Sydney (UTS), người đã cho phép tôi sử dụng công trình
nghiên cứu để báo cáo trong luận án này.
Ngoài ra, tôi xin được gửi lời cảm ơn chân thành tới Ban giám đốc Đại học Huế,
Ban giám hiệu Trường Đại học Khoa học, lãnh đạo Trường Đại học Đồng Tháp, ban
chủ nhiệm Khoa đã tạo điều kiện thuận lợi cho tôi trong thời gian thực hiện nghiên
cứu của mình. Rất cảm ơn tất cả quý Thầy, Cô khoa Công nghệ Thông tin, Trường
Đại học Khoa học, Đại học Huế đã truyền đạt kiến thức cho tôi trong thời gian học
tập, nghiên cứu tại Đơn vị. Cảm ơn các nhà khoa học trong hội đồng nghiệm thu luận
án và tất cả quý Thầy, Cô đã tham gia vào quá trình góp ý, phản biện nhằm nâng cao
chất lượng của luận án.
Cuối cùng, tôi xin bày tỏ lòng cảm ơn tới tất cả đồng nghiệp, gia đình, đặc biệt
là Vợ tôi người đã gánh vác những khó khăn thay tôi và luôn động viên, khích lệ tinh
thần cho tôi để hoàn thành luận án này.
Thừa thiên Huế, ngày ... tháng ... năm 2019
ii
MỤC LỤC
Lời cam đoan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
Lời cảm ơn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ii
Mục lục . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii
Danh mục từ viết tắt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Danh mục ký hiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Danh mục hình ảnh và đồ thị . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii
Danh mục bảng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii
Mở đầu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Chương 1. AN NINH TRÊN MẠNG MANET . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.Mạng tùy biến di động . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.1. Ứng dụng của mạng MANET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.1.2. Một số thách thức thường gặp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.1.3. Công nghệ truyền thông . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.Định tuyến trên mạng MANET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.1. Một số vấn đề quan tâm về định tuyến. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.2.2. Phân tích ưu và nhược điểm của các loại giao thức . . . . . . . . . . . . . . . . . . . . . . . 121.2.3. Tiêu chí và phương pháp đánh giá hiệu quả định tuyến . . . . . . . . . . . . . . . . . . 14
1.3.Giao thức định tuyến AODV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.1. Thuật toán khám phá tuyến . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.3.2. Quản lý bảng định tuyến . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181.3.3. Duy trì tuyến . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191.3.4. Tránh lặp tuyến . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.3.5. Minh họa quá trình khám phá tuyến . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.4.Một số hình thức tấn công trên mạng MANET . . . . . . . . . . . . . . . . 24
1.4.1. Tấn công lỗ sâu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261.4.2. Tấn công ngập lụt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.5.Đánh giá tác hại của tấn công lỗ sâu và ngập lụt . . . . . . . . . . . . . . . 31
1.5.1. Tác hại của tấn công lỗ sâu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321.5.2. Tác hại của tấn công ngập lụt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
iii
1.6.Phương pháp kiểm tra an ninh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.7.Một số giải pháp an ninh liên quan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.8.Tiểu kết Chương 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Chương 2. GIẢI PHÁP PHÁT HIỆN VÀ NGĂN CHẶN
TẤN CÔNG LỖ SÂU. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.1.Giới thiệu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.2.Phân tích ưu và nhược điểm của một số giải pháp an ninh
trước tấn công lỗ sâu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.2.1. Giải pháp DelPHI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422.2.2. Giải pháp WADT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442.2.3. Giải pháp TTHCA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452.2.4. Giải pháp EEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.3.Cơ chế xác thực đa mức . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.3.1. Chữ ký số trên mạng MANET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492.3.2. Ba bước xác thực an ninh của MLA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512.3.3. Giao thức an ninh MLAMAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532.3.4. Cấp chứng chỉ thành viên . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572.3.5. Đánh giá hiệu năng của giao thức MLAMAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.4.So sánh các giải pháp an ninh chống tấn công lỗ sâu . . . . . . . . . . . 66
2.5.Tiểu kết Chương 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Chương 3. GIẢI PHÁP PHÁT HIỆN VÀ NGĂN CHẶN
TẤN CÔNG NGẬP LỤT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.1.Giới thiệu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
3.2.Phân tích ưu và nhược điểm của một số giải pháp an ninh
trước tấn công ngập lụt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.2.1. Giải pháp FAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693.2.2. Giải pháp EFS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703.2.3. Giải pháp BI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.3.Giải pháp an ninh sử dụng thuật toán phân lớp . . . . . . . . . . . . . . . . 72
3.3.1. Mô hình tổng quát của giải pháp FADA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.3.2. Thuật toán phân lớp kNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.3.3. Véc-tơ tần suất khám phá tuyến . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 753.3.4. Xây dựng tập dữ liệu huấn luyện. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763.3.5. Bộ phân lớp kNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793.3.6. Giao thức an ninh FAPRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803.3.7. Đánh giá hiệu năng của giao thức FAPRP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.4.So sánh các giải pháp an ninh chống tấn công ngập lụt . . . . . . . . . 87
iv
3.5.Tiểu kết Chương 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Chương 4. GIẢI PHÁP BẢO MẬT ĐỊNH TUYẾN
TRÊN MẠNG MANET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.1.Giới thiệu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.2.Phân tích ưu và nhược điểm của một số giải pháp bảo mật
định tuyến . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.2.1. Giao thức SAODV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904.2.2. Giao thức ARAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 934.2.3. Tác hại của tấn công lỗ sâu chế độ ẩn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.3.Cơ chế xác thực tin cậy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.3.1. Ba bước xác thực an ninh của TAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974.3.2. Giao thức an ninh TAMAN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004.3.3. Cơ chế quản lý chứng thư số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034.3.4. So sánh các giải pháp bảo mật định tuyến . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.4.Đánh giá hiệu năng của giao thức TAMAN . . . . . . . . . . . . . . . . . . . 114
4.4.1. Ảnh hưởng của DCMM đến hiệu năng của TAMAN . . . . . . . . . . . . . . . . . . . . 1144.4.2. Hiệu quả an ninh trước hình thức tấn công lỗ đen. . . . . . . . . . . . . . . . . . . . . . . 117
4.5.Tiểu kết Chương 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
KẾT LUẬN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
DANH MỤC CÔNG TRÌNH CỦA TÁC GIẢ. . . . . . . . . . . . . . . . . 122
TÀI LIỆU THAM KHẢO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
v
DANH MỤC TỪ VIẾT TẮT
Viết tắt Thuật ngữ Tiếng Anh Diễn giải Tiếng Việt
ATM Automated Teller Machine Máy rút tiền tự độngAODV Ad hoc On demand Distance Vector Giao thức định tuyến véc-tơ
khoảng cách theo yêu cầu trongmạng Ad hoc
AOMDV Ad hoc On demand Distance Vector Giao thức định tuyến véc-tơ khoảngcách đa đường theo yêu cầu trongmạng Ad hoc
ASDF Address Spoofing based Data Flooding Tấn công ngập lụt Data dựa trênAttack địa chỉ giả mạo
ASHF Address Spoofing based Hello Tấn công ngập lụt Hello dựa trênFlooding Attack địa chỉ giả mạo
ASRRF Address Spoofing based Route Request Tấn công ngập lụt yêu cầu tuyếnFlooding Attack dựa trên địa chỉ giả mạo
BAN Body Area Networks Mạng diện tích cơ thểBH Blackhole Lỗ đenCA Certificate Authority Cơ quan cấp chứng thưCV Checking Value Giá trị kiểm traDC Digital Certification Chứng thư sốDCMM Digital Certification Management Cơ chế quản lý chứng thư số
MechanismsDelPHI Delay Per Hop Indication Độ trễ mỗi chặng chỉ địnhDP Data Packet Gói dữ liệuDPH Delay Per Hop Độ trễ trên chặngDRDTS Diagram of Route Discovery Biểu đồ khe thời gian khám
Time-Slot phá tuyếnDS Digital Signature Chữ ký sốDSDV Destination Sequence Distance Vector Giao thức định tuyến véc-tơ
khoảng cách theo thứ tự đíchDSN Destination Sequence Number Số thứ tự của nút đíchDSR Dynamic Source Routing Giao thức định tuyến nguồn độngDYMO Dynamic MANET On-demand Routing Giao thức định tuyến theo yêu
cầu động cho mạng MANETEE End-End Đầu-cuốiEEP End-to-End protocol Giao thức Đầu-CuốiEFS Effective Filtering Scheme Lược đồ lọc hiệu quảEtE End-to-End Delay Trễ đầu-cuốiFADA Flooding Attacks Detection Algorithm Thuật toán phát hiện tấn công
ngập lụt
vi
Viết tắt Thuật ngữ Tiếng Anh Diễn giải Tiếng Việt
FAP Flooding Attack Prevention Ngăn ngừa tấn công ngập lụtFANET Flying Ad-Hoc Networks Mạng tùy biến của các thiết
bị bayFD Flooding Ngập lụtFE Fake Entry Thông tin tuyến giả mạoFRREP Fake Route Reply Trả lời tuyến giả mạoGPS Global Positioning System Hệ thống định vị toàn cầuGH Grayhole Lỗ xámHC Hop Count Số chặngHM Hidden Mode Chế độ ẩnHbH Hop-by-hop Từng chặngIDS Intrusion Detection System Hệ thống phát hiện xâm nhậpIEEE Institute of Electrical and Viện kỹ thuật Điện và Điện tử
Electronics EngineersLAN Local Area Network Mạng nội bộLH Last Hop Chặng cuối cùngLBK Local Broadcast Key Quảng bá khóa cục bộLTE Long-Term Evolution Sự tiến hóa dài hạnMANET Mobile Adhoc Network Mạng tùy biến di độngMC Member Certification Chứng chỉ thành viênMD Maximum Delay Độ trễ tối đaMLA Multi-Level Authentication Xác thực đa mứcMLAMAN MLA on Mobile Ad hoc Network Giao thức định tuyến xác thực
Routing Protocol đa mức cho mạng MANETMN Malicious Node Nút độc hạiMPD Multi Path Discovery Khám phá nhiều tuyếnMS Maximum Speeds Vận tốc tối đaNASDF Non-Address Spoofing based Data Tấn công ngập lụt Data dựa
Flooding Attack trên địa chỉ cố địnhNASHF Non-Address Spoofing based Hello Tấn công ngập lụt Hello dựa
Flooding Attack trên địa chỉ cố địnhNASRRF Non-Address Spoofing based Route Request Tấn công ngập lụt yêu cầu
Flooding Attack tuyến dựa trên địa chỉ cố địnhNC Number of connections Số lượng kết nốiNH Next Hop Chặng kế tiếpNS2 Network Simulator 2 Hệ mô phỏng NS2OLSR Optimized Link State Routing Định tuyến trạng thái liên kết
tối ưuOSI Open Systems Interconnection Kết nối hệ thống mởOTP One-Time Password Mật khẩu sử dụng một lầnPM Participation Mode Chế độ tham giaPDR Packet Delivery Ratio Tỷ lệ gửi gói tin thành công
vii
Viết tắt Thuật ngữ Tiếng Anh Diễn giải Tiếng Việt
PKDB Public Key Database Cở sở dữ liệu khóa công khaiPKI Public Key Infrastructure Hạ tầng khóa công khaiPN Preceding Node Nút liền trướcPTT Packet Traversal Time Thời gian truyền tải gói tinQoS Quality of Service Chất lượng dịch vụRWP Random Waypoint Tọa độ điểm ngẫu nhiênRCP Route Control Packet Gói tin điều khiển tuyếnRDH Route Discovery History Lịch sử khám phá tuyếnRERR Route Error Lỗi tuyếnRDP Route Discovery Packet Gói tin khám phá tuyếnRDFV Route Discovery Frequency Vector Véc-tơ tần suất khám phá tuyếnREP Reply Packet Gói tin trả lờiRL Routing Load Phụ tải định tuyếnRREQ Route Request Yêu cầu tuyếnRREP Route Reply Trả lời tuyếnRSA Rivest, Shamir and Adleman Hệ mã khóa công khai RSART Routing Table Bảng định tuyếnRTT Round Trip Time Thời gian truyền khứ hồi của góiSAODV Secure Ad hoc On demand Distance Giao thức định tuyến véc-tơ
Vector khoảng cách theo yêu cầu trongmạng Ad hoc đảm bảo an ninh
SH Sinkhole Lỗ chìmSVM Support Vector Machine Máy vec-tơ hỗ trợSN Sequence Number Số thứ tựSSN Source Sequence Number Số thứ tự nguồnTAM Trust Authentication Mechanisms Cơ chế xác thực tin cậyTCP Transmission Control Protocol Giao thức điều khiển truyền dẫnTL Tunnel Length Chiều dài đường hầmTTHCA Traversal Time and Hop Count Analysis Phân tích chi phí và
thời gian truyền tảiUAV Unmanned Aerial Vehicle Phương tiện bay không người láiUDP User Datagram Protocol Giao thức gói dữ liệu người dùngVANET Vehicular Ad Hoc Network Mạng tùy biến giao thôngWADT Wormhole Attacks Detection Technique Kỹ thuật phát hiện tấn công
lỗ sâuWAN Wide Area Network Mạng diện rộngWARP Wormhole Avoidance Routing Protocol Giao thức định tuyến tránh lỗ sâuWH Wormhole Lỗ sâuWRP Wireless Routing Protocol Giao thức định tuyến không dâyWSN Wireless Sensor Network Mạng cảm biến không dâyZRP Zone Routing Protocol Giao thức định tuyến theo vùngkNN k-Nearest Neighbor Thuật toán k láng giềng gần nhất
viii
DANH MỤC KÝ HIỆU
Ký hiệu Diễn giải
DCNδ Chứng thư số của nút Nδ
De(v, k) Giải mã giá trị v sử dụng khóa k
En(v, k) Mã hóa giá trị v sử dụng khóa k
GPSNδ Vị trí của nút Nδ
H(v) Băm giá trị v bằng hàm băm H
IPNδ Địa chỉ của nút Nδ
IPsrc, IPdst Địa chỉ nút nguồn và nút đích
MCNδ Chứng chỉ thành viên của nút Nδ
Nδ Nút có nhãn là δ
RNδ Bán kính phát sóng tối đa của nút Nδ
TMC Thời gian kiểm tra cấp MC
TDC Thời gian kiểm tra cấp DC
kNδ -, kNδ+ Bộ khóa bí mật và công khai của nút Nδ
[v]KA− Dữ liệu v được ký số bởi nút A [74]
V ji Véc-tơ RDFV của nút nguồn Ni được ghi nhận tại nút Nj
T ji Khe thời gian thứ i của nút nguồn Nj
TSimin Khe thời khám phá tuyến tối thiểu của hệ thống do Ni ghi nhận
Th Ngưỡng phát hiện tấn công ngập lụt
k Số lượng láng giềng gần nhất trong thuật toán kNN
m Kích thước véc-tơ tần suất khám phá tuyến
n Số lượng nút mạng trong hệ thống
pkt Gói tin
ix
DANH MỤC HÌNH ẢNH VÀ ĐỒ THỊ
1.1 Mô hình mạng MANET . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Ứng dụng của mạng MANET trong lĩnh vực quân sự . . . . . . . . . . . . 8
1.3 Ứng dụng của mạng MANET trong lĩnh vực dân sự . . . . . . . . . . . . . 9
1.4 Mô tả truyền thông 1-chặng và đa-chặng giữa hai nút Ni và Nj . . . . . . . 10
1.5 Mô tả phân tầng trong mô hình kết nối hệ thống mở [7] . . . . . . . . . . . 11
1.6 Cấu trúc gói điều khiển tuyến của giao thức AODV [64] . . . . . . . . . . . 16
1.7 Sơ đồ thuật toán quảng bá gói yêu cầu tuyến của giao thức AODV [76] . . 17
1.8 Mô tả cấu trúc bảng định tuyến của AODV tại nút nguồn NS . . . . . . . 19
1.9 Mô tả việc duy trì tuyến tại nút N10 . . . . . . . . . . . . . . . . . . . . . 20
1.10 Mô tả tuyến có xuất hiện chu trình . . . . . . . . . . . . . . . . . . . . . . 20
1.11 Mô tả hiệu quả tránh lặp tuyến của giao thức AODV . . . . . . . . . . . . 21
1.12 Mô tả quá trình khám phá tuyến của giao thức AODV . . . . . . . . . . . 22
1.13 Mô tả tấn công lỗ sâu trong giao thức AODV . . . . . . . . . . . . . . . . 26
1.14 Mô tả tấn công ngập lụt gói RREQ . . . . . . . . . . . . . . . . . . . . . . 29
1.15 Mô tả tấn công ngập lụt gói HELLO . . . . . . . . . . . . . . . . . . . . . 30
1.16 Mô tả tấn công ngập lụt gói DATA . . . . . . . . . . . . . . . . . . . . . . 30
1.17 Phân loại hành vi của nút độc hại khi tấn công ngập lụt . . . . . . . . . . 31
1.18 Vị trí nút độc hại thực hiện tấn công lỗ sâu . . . . . . . . . . . . . . . . . 32
1.19 Tác hại tấn công lỗ sâu đến hiệu năng của giao thức AODV . . . . . . . . 33
1.20 Vị trí nút độc hại thực hiện tấn công ngập lụt . . . . . . . . . . . . . . . . 34
1.21 Tác hại tấn công ngập lụt gói RREQ đến hiệu năng của giao thức AODV . 36
1.22 Tổng hợp các giải pháp an ninh trên mạng MANET đã công bố . . . . . . 37
2.1 Mô tả tấn công lỗ sâu sử dụng đường hầm kết nối giữa M1 và M2 . . . . . 41
2.2 Một số giải pháp phát hiện và ngăn chặn tấn công lỗ sâu đã công bố . . . 42
2.3 Mô tả cách tính độ trễ tối đa của giải pháp WADT [44] . . . . . . . . . . . 44
2.4 Mô hình phát hiện tấn công lỗ sâu của TTHCA [42] . . . . . . . . . . . . . 46
2.5 Mô tả giải pháp phát hiện và ngăn chặn tấn công lỗ sâu EEP . . . . . . . 47
2.6 Sơ đồ mô tả quá trình nút nguồn ký và nút đích xác thực chữ ký . . . . . . 50
2.7 Mô tả phát hiện tấn công lỗ sâu ở chế độ ẩn . . . . . . . . . . . . . . . . . 53
2.8 Cấu trúc gói tin điều khiển của giao thức MLAMAN . . . . . . . . . . . . 53
2.9 Sơ đồ thuật toán quảng bá gói yêu cầu tuyến của giao thức MLAMAN . . 54
x
2.10 Sơ đồ thuật toán trả lời tuyến của giao thức MLAMAN . . . . . . . . . . . 56
2.11 Mô tả các bước cấp MC cho nút thành viên Nδ . . . . . . . . . . . . . . . 58
2.12 Cấu trúc gói tin điều khiển cho việc cấp chứng chỉ thành viên . . . . . . . 59
2.13 Hiệu quả an ninh của EEP dựa trên vận tốc và chiều dài đường hầm . . . 62
2.14 Hiệu quả an ninh của MLA dựa trên vận tốc và chiều dài đường hầm . . . 62
2.15 Số lượng gói tin hao phí phải xử lý để cấp MC của MLAMAN . . . . . . . 63
2.16 Ảnh hưởng của cơ chế cấp MC đến tỷ lệ gửi gói thành công của MLAMAN 64
2.17 Hiệu quả an ninh của giao thức MLAMAN khi bị tấn công lỗ sâu . . . . . 65
3.1 Mô tả nút độc hại tấn công ngập lụt gói RREQ [24] . . . . . . . . . . . . . 68
3.2 Một số giải pháp phát hiện và ngăn chặn tấn công ngập lụt đã công bố . . 69
3.3 Mô tả DRDTS của nút bình thường và độc hại được ghi nhận tại NA . . . 73
3.4 Mô hình tổng quát của giải pháp FADA . . . . . . . . . . . . . . . . . . . 74
3.5 Mô tả ảnh hưởng của giá trị k trong thuật toán kNN . . . . . . . . . . . . 75
3.6 Mô tả RDFV của 5 nút bình thường và 5 nút độc hại . . . . . . . . . . . . 76
3.7 Giao diện của tô-pô mạng trong giai đoạn huấn luyện của giải pháp FADA 77
3.8 Mô tả nút trung gian xử lý mỗi khi nhận được gói RREQ và RREP . . . . 78
3.9 Tập dữ liệu huấn luyện MVC (4) và NVC (+), kích thước của véc-tơ là 60 79
3.10 Sơ đồ thuật toán quảng bá gói yêu cầu tuyến của giao thức FAPRP . . . . 82
3.11 Mô tả lịch sử khám phá tuyến của nút nguồn được nghi nhận tại Ni . . . . 84
3.12 Hiệu quả phát hiện nút độc hại của giải pháp FADA . . . . . . . . . . . . 84
3.13 Tỷ lệ phát hiện nút độc hại thành công của FADA và BI . . . . . . . . . . 85
3.14 Hiệu năng của BAODV và FAPRP khi bị tấn công ngập lụt . . . . . . . . 86
4.1 Một số giao thức định tuyến an ninh đã công bố . . . . . . . . . . . . . . . 90
4.2 Cấu trúc gói tin điều khiển tuyến của giao thức SAODV [91] . . . . . . . . 90
4.3 Mô tả quá trình ký và xác thực của giao thức SAODV . . . . . . . . . . . 92
4.4 Mô tả cấu trúc bảng định tuyến của giao thức SAODV . . . . . . . . . . . 93
4.5 Mô tả quá trình ký và xác thực của giao thức ARAN . . . . . . . . . . . . 95
4.6 Mô tả tấn công lỗ sâu chế độ ẩn gây hại đến SAODV và ARAN . . . . . . 96
4.7 Mô hình xác thực tin cậy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.8 Cấu trúc chứng thư số theo chuẩn X.509 [58] . . . . . . . . . . . . . . . . . 98
4.9 Cấu trúc gói tin điều khiển tuyến của giao thức TAMAN . . . . . . . . . . 100
4.10 Sơ đồ thuật toán khám phá tuyến của giao thức TAMAN . . . . . . . . . . 101
4.11 Mô tả quá trình ký và xác thực của giao thức TAMAN . . . . . . . . . . . 103
4.12 Mô tả quá trình cung cấp DC cho nút Nδ . . . . . . . . . . . . . . . . . . . 105
4.13 Cấu trúc gói tin điều khiển để cung cấp chứng thư số . . . . . . . . . . . . 105
4.14 Sơ đồ thuật toán cung cấp chứng thư số của cơ chế DCMM . . . . . . . . . 106
4.15 Cấu trúc gói tin điều khiển sử dụng trong DCMM . . . . . . . . . . . . . . 109
4.16 Minh họa khả năng ngăn chặn tấn công mạo danh của TAMAN . . . . . . 112
xi
4.17 Minh họa khả năng ngăn chặn tấn công lỗ sâu của TAMAN . . . . . . . . 113
4.18 Minh họa khả năng ngăn chặn tấn công ngập lụt của TAMAN . . . . . . . 113
4.19 Số lượng gói tin hao phí để cấp DC của DCMM . . . . . . . . . . . . . . . 115
4.20 Ảnh hưởng của DCMM đến hiệu năng của TAMAN . . . . . . . . . . . . . 116
4.21 Hiệu năng của TAMAN, SAODV và ARAN khi bị tấn công lỗ đen . . . . . 118
xii
DANH MỤC BẢNG
1.1 Đặc điểm của một số giao thức định tuyến trên mạng MANET . . . . . . . 12
1.2 Kết quả khám phá tuyến trong môi trường mạng bình thường . . . . . . . 23
1.3 Tổng hợp các hình thức tấn công mạng MANET . . . . . . . . . . . . . . . 24
1.4 Đặc điểm của một số loại tấn công trên mạng MANET . . . . . . . . . . . 25
1.5 Kết quả khám phá tuyến khi bị tấn công lỗ sâu (OB-PM) . . . . . . . . . 27
1.6 Kết quả khám phá tuyến khi bị tấn công lỗ sâu (En-PM) . . . . . . . . . . 28
1.7 Thông số cơ bản được sử dụng để mô phỏng . . . . . . . . . . . . . . . . . 32
2.1 Cơ sở dữ liệu khóa công khai . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.2 Đặc điểm các giải pháp phát hiện tấn công lỗ sâu . . . . . . . . . . . . . . 66
3.1 So sánh đặc điểm các giải pháp phát hiện tấn công ngập lụt . . . . . . . . 88
4.1 Mô tả cơ sở dữ liệu chứng thư số . . . . . . . . . . . . . . . . . . . . . . . 104
4.2 Đặc điểm của TAMAN và một số nghiên cứu liên quan . . . . . . . . . . . 111
4.3 Hiệu quả an ninh của TAMAN và một số nghiên cứu liên quan . . . . . . . 111
xiii
MỞ ĐẦU
1. Tính cấp thiết của luận án
Lịch sử phát triển của mạng tùy biến di động (MANET [34]) bắt đầu từ dự án
mạng DARPA năm 1972. Mạng MANET có ưu điểm là tính di động, khả năng hoạt
động độc lập, không phụ thuộc vào hạ tầng mạng cố định và khả năng mở rộng linh
hoạt. Vì vậy, MANET đã nhận được sự quan tâm, nghiên cứu và phát triển của nhiều
tổ chức từ dân sự đến quân sự. Ngày nay, nhờ sự phát triển mạnh mẽ của các thiết bị
và các ứng dụng trên nền tảng di động, mạng MANET đã không ngừng phát triển với
nhiều biến thể khác nhau nhằm ứng dụng vào thực tế, tiêu biểu là hệ thống giao thông
thông minh, cứu hộ thiên tai, quản lý thông tin sức khỏe bệnh nhân và thu thập thông
tin tình báo [16, 33, 37]. Mặc dù mạng MANET đã được ứng dụng nhiều trong thực
tế trên nhiều lĩnh vực khác nhau. Tuy nhiên, MANET phải đối mặt với nhiều thách
thức cần tiếp tục nghiên cứu [34, 36], trong đó thách thức về an ninh là chủ đề rất thú
vị và được nhiều nhà khoa học quan tâm nghiên cứu [11, 52, 79].
Quá trình truyền thông trên mạng máy tính được thiết kế theo mô hình kết nối
hệ thống mở (OSI [7]). Mô hình OSI gồm 7 tầng, mỗi tầng đảm trách nhiệm vụ riêng
và hỗ trợ nhau trong quá trình truyền thông. Định tuyến là một dịch vụ được cung
cấp tại tầng “mạng”, còn gọi là tầng “định tuyến di động” trên mạng MANET. Hầu hết
các giao thức định tuyến được thiết kế với giả thuyết rằng không tồn tại nút độc hại
trong mạng [59]. Vì vậy, chúng tồn tại nhiều lỗ hổng an ninh bị tin tặc khai thác để
thực hiện hành vi tấn công mạng. Giao thức định tuyến tùy biến theo yêu cầu dựa vào
véc-tơ khoảng cách (AODV [63]) được thiết kế để vận hành trên mạng MANET. Tuy
nhiên, AODV tồn tại một số lỗ hổng an ninh. Thứ nhất, AODV sử dụng thuật toán
định tuyến véc-tơ khoảng cách nên chi phí định tuyến dựa vào số chặng (HC). Tuyến
được chọn là tuyến có số chặng nhỏ nhất. Một nút độc hại có thể quảng cáo bản thân
có tuyến đến đích với chi phí nhỏ nhất, mục đích là để đánh lừa nút nguồn định tuyến
dữ liệu qua nút độc hại. Khi nhận được gói dữ liệu, nút độc hại thực hiện hành vi phá
hoại bằng việc hủy gói hoặc nghe trộm, phân tích luồng thông tin. Một số hình thức
tấn công tiêu biểu dựa trên lỗ hổng này là: Tấn công lỗ đen (BH - Blackhole [78]), lỗ
chìm (SH - Sinkhole [11]), lỗ xám (GH - Grayhole [26]) và lỗ sâu (WH - Wormhole
[42, 44]). Thứ hai, AODV là giao thức định tuyến phản ứng, sử dụng gói tin điều khiển
tuyến (RCP) để khám phá và duy trì tuyến, nhưng AODV không có cơ chế kiểm tra,
bảo vệ phù hợp. Vì vậy, tin tặc có thể thực hiện hành vi tấn công ngập lụt (FD -
Flooding [24]) bằng cách gửi gói tin điều khiển tuyến vào mạng với tần suất cao gây
1
nghẽn mạng, tăng hao phí truyền thông, tăng thời gian trễ trung bình, giảm hiệu năng
mạng, lãng phí tài nguyên do phải xử lý quá nhiều gói tin không cần thiết.
Nghiên cứu giải pháp an ninh trên mạng MANET là chủ đề có tính thời sự và
ý nghĩa thực tế, trong đó an ninh định tuyến đã được nhiều nhà khoa học quan tâm.
Hiện tại, đã có một số giải pháp an ninh công bố và được thiết kế theo hai hướng tiếp
cận [41, 52, 57], bao gồm: Hệ thống phát hiện xâm nhập (IDS) và bảo mật định tuyến.
Giải pháp phát hiện xâm nhập có ưu điểm là đơn giản, phát hiện chính xác từng hình
thức tấn công và dễ dàng áp dụng trên các thiết bị có cấu hình phần cứng thấp, nhưng
hiệu quả an ninh hạn chế hơn các giải pháp bảo mật định tuyến. Tiêu biểu là IDS phát
hiện và ngăn chặn tấn công lỗ sâu dựa trên độ trễ của mỗi chặng (DPH) [17, 42, 44]
hoặc vị trí mỗi nút [72]; Ngoài ra, một số IDS sử dụng giá trị ngưỡng cố định [67, 75]
hoặc linh động [24] để phát hiện và ngăn chặn tấn công ngập lụt; Hướng tiếp cận học
máy [49, 62] cũng được sử dụng tạo giải pháp an ninh trước hình thức tấn công ngập
lụt nhằm cải thiện hiệu quả của các IDS dựa trên ngưỡng. Ngược lại, giải pháp bảo
mật định tuyến có thể phát hiện và ngăn chặn nhiều hình thức tấn công, nhưng giải
pháp phức tạp và yêu cầu cấu hình thiết bị phần cứng cao để vận hành các thuật toán
mã hóa dữ liệu [74, 91] hoặc sử dụng thuật toán băm [21, 48]. Ý tưởng chính của các
giải pháp bảo mật định tuyến là sử dụng chữ ký số (DS) hoặc cơ chế xác thực mật
khẩu sử dụng một lần (OTP). Nhờ vào cơ chế ký và xác thực chữ ký mà các giải pháp
này có khả năng bảo mật rất tốt, có thể phát hiện và ngăn chặn nhiều hình thức tấn
công mạng. Tuy nhiên, theo thời gian tin tặc đã thay đổi hành vi tấn công nhằm vượt
qua các cơ chế an ninh, tiêu biểu là như: hành vi tấn công lỗ sâu ở chế độ ẩn (HM),
tấn công lỗ sâu ở chế độ tham gia (PM) bằng cách thay đổi thông tin của gói tin điều
khiển tuyến, tấn công ngập lụt với tần suất thấp, tấn công bằng việc sử dụng bộ khóa
giả mạo. Những thay đổi trong hành vi tấn công đã làm xuất hiện hạn chế trong các
giải pháp an ninh đã công bố, cần tiếp tục nghiên cứu hoàn thiện.
Như vậy, ưu điểm nổi bật của mạng MANET là tính di động, tự tổ chức và khả
năng mở rộng. Nhờ vậy mà mạng MANET được ứng dụng trong nhiều lĩnh vực khác
nhau của đời sống. Tuy nhiên, thách thức về an ninh lại xuất phát từ các đặc điểm
vốn có của mạng MANET. Theo thời gian, tin tặc không ngừng thay đổi hành vi tấn
công nhằm qua mặt các giải pháp an ninh đã công bố. Vì vậy, việc nghiên cứu để nâng
cao an ninh trên mạng MANET là chủ đề có tính thời sự và thực tiễn cao để góp phần
nâng cao chất lượng dịch vụ định tuyến.
2. Động lực nghiên cứu
Hiện tại, đã có nhiều giải pháp an ninh công bố nhằm nâng cao khả năng an
ninh trên mạng MANET. Tuy nhiên, vẫn còn một số tồn tại cần tiếp tục nghiên cứu
hoàn thiện, cụ thể như sau:
• Các IDS [17, 42, 44, 72] phát hiện và ngăn chặn tấn công lỗ sâu có ưu điểm là
ít ảnh hưởng đến hiệu năng của giao thức gốc, dễ dàng triển khai trên các thiết
2
bị không yêu cầu cao về phần cứng. Tuy nhiên, độ trễ mỗi chặng phụ thuộc vào
thời gian truyền khứ hồi của gói tin (RTT) hoặc thời gian truyền tải gói (PTT).
Hai tham số này bị ảnh hưởng bởi độ trễ trong quá trình xử lý gói và môi trường
mạng di động. Vì vậy, chúng rất dễ bị sai lầm khi kiểm tra an ninh trong môi
trường di động. Ngoài ra, hầu hết các IDS sử dụng phương pháp kiểm tra đầu–
cuối nên nút trung gian không có cơ sở để kiểm tra nút tiền nhiệm và khó phát
hiện vị trí của kẻ tấn công. Cuối cùng, chúng không hỗ trợ cơ chế kiểm tra toàn
vẹn gói tin nên nút độc hại có thể vượt qua cơ chế an ninh bằng cách thay đổi
giá trị của các trường trên gói tin điều khiển tuyến.
• Các IDS phát hiện và ngăn chặn tấn công ngập lụt dựa trên giá trị ngưỡng
[24, 67, 75] có ưu điểm là đơn giản, giảm thiểu tác hại của tấn công ngập lụt.
Tuy nhiên, ngưỡng cố định sẽ thiếu mềm dẻo do ngưỡng tối ưu trong các kịch
bản khác nhau sẽ khác nhau; Một nút bình thường có thể bị hiểu nhầm là độc
hại nếu thực hiện khám phá tuyến với tần suất cao tại một thời điểm bất kỳ;
Nút độc hại có thể qua mặt cơ chế an ninh bằng cách tấn công với tần suất thấp
hơn giá trị ngưỡng. Hai giải pháp dựa trên hướng tiếp cận học máy [49, 62] đã
cải thiện phần nào hạn chế của giải pháp dựa trên ngưỡng. Tuy nhiên, thuộc tính
của các véc-tơ biểu diễn cho các nút vẫn còn dựa trên tần suất phát gói RREQ
nên dễ xuất hiện sai lầm trong môi trường di động. Ngoài ra, chúng được đề xuất
để hoạt động trong mạng có tô-pô tương đối ổn định là mạng cảm biến không
dây (WSN) nên không phù hợp với đặc điểm di động của mạng MANET.
• Giải pháp bảo mật định tuyến [21, 48, 74, 91] có ưu điểm là khả năng an ninh
rất tốt. Tuy nhiên, SAODV [91] chỉ hỗ trợ kiểm tra đầu–cuối nên nút trung gian
không thể kiểm tra nút liền trước và chưa có cơ chế quản lý khóa công khai nên
nút độc hại có thể sử dụng bộ khóa giả mạo để tấn công. ARAN [74] đã khắc
phục hạn chế này bằng cách sử dụng hạ tầng khóa công khai (PKI) và cơ chế xác
thực từng–chặng. Nhưng, ARAN không đảm bảo tuyến được chọn có chi phí tốt
nhất do gói RCP có trường lưu HC. Ngoài ra, MANET không có hạ tầng mạng
nên việc triển khai PKI sẽ gặp khó khăn. Cuối cùng, hai giải pháp sử dụng cơ
chế xác thực OTP [21, 48] có điểm hạn chế là không kiểm tra toàn vẹn gói tin
nên hiệu quả an ninh hạn chế. Đặc biệt, tất cả đều không thể phát hiện tấn công
lỗ sâu ở chế độ ẩn [15, 57], đây là hạn chế cần nghiên cứu hoàn thiện.
Từ những tồn tại đã phân tích ở trên, cùng với sự phát triển của công nghệ định
vị toàn cầu (GPS [30]), chữ ký số [70] và hướng tiếp cận học máy [73] chính là động
lực để luận án nghiên cứu, cải tiến các cơ chế an ninh đã công bố. Mục đích là nâng
cao hơn nữa hiệu quả an ninh của các giải pháp đã công bố nhằm nâng cao chất lượng
dịch vụ định tuyến và an toàn thông tin trên mạng MANET.
3
3. Mục tiêu luận án
Mục tiêu tổng quát của luận án là nghiên cứu, đề xuất giải pháp an ninh đối
với hình thức tấn công lỗ sâu, tấn công ngập lụt và giải pháp bảo mật định tuyến. Cải
tiến giao thức AODV thành giao thức an ninh nhằm giảm thiểu tối đa mất gói tin do
tấn công mạng, nâng cao tỷ lệ gửi gói tin thành công, giảm thời gian trễ trung bình
và phụ tải định tuyến khi bị tấn công ngập lụt. Cụ thể là:
(1) Nghiên cứu, đề xuất giải pháp an ninh trước hình thức tấn công lỗ sâu ở hai chế
độ ẩn và tham gia. Cải tiến giao thức AODV thành giao thức an ninh có khả
năng phát hiện và ngăn chặn nút độc hại thực hiện hành vi tấn công lỗ sâu.
(2) Nghiên cứu, đề xuất giải pháp an ninh trước hình thức tấn công ngập lụt. Cải
tiến giao thức AODV thành giao thức an ninh có khả năng phát hiện và ngăn
chặn nút độc hại thực hiện hành vi tấn công ngập lụt.
(3) Nghiên cứu, đề xuất giải pháp bảo mật định tuyến và cơ chế quản lý chứng thư
số. Cải tiến giao thức AODV thành giao thức an ninh trước các hình thức tấn
công mạng hiện tại, bao gồm tấn công lỗ sâu ở chế độ ẩn.
4. Đối tượng và phạm vi nghiên cứu
An ninh trên mạng tùy biến di động là chủ đề rất rộng và phức tạp. Để hoàn
thành mục tiêu nghiên cứu, luận án xác định đối tượng và phạm vi như sau:
a) Đối tượng: Giao thức định tuyến AODV, hàm băm SHA [60], hệ mã RSA [70],
chứng thư số theo chuẩn X.509 [58], công nghệ GPS [30], tấn công lỗ sâu [42, 44]
và ngập lụt [24, 27].
b) Phạm vi: Giải pháp an ninh tại tầng mạng hay tầng định tuyến di động, áp dụng
cho thuật toán định tuyến phẳng.
5. Phương pháp nghiên cứu
Để thực hiện mục tiêu nghiên cứu đã đề ra, luận án sử dụng phương pháp nghiên
cứu lý thuyết và mô phỏng, cụ thể như sau:
a) Nghiên cứu lý thuyết: Luận án nghiên cứu và tổng hợp các công trình liên quan
đến việc nâng cao an ninh đã công bố trong và ngoài nước. Đồng thời, luận án
tập trung phân tích chi tiết ưu và nhược điểm để phát hiện vấn đề còn tồn tại
nhằm đề xuất giải pháp cải tiến phù hợp.
b) Mô phỏng: Luận án đánh giá kết quả bằng mô phỏng sử dụng phần mềm NS2
tương tự các tác giả [1, 2, 3, 4]. Để kết quả được khách quan, luận án mô phỏng
trên nhiều kịch bản với nhiều tham số khác nhau. Dựa trên kết quả thống kê,
luận án đánh giá hiệu quả an ninh của giải pháp đề xuất so với một số nghiên
cứu liên quan, đưa ra nhận định ưu điểm và nhược điểm của giải pháp đề xuất.
4
6. Bố cục luận án
Luận án được bố cục gồm 3 phần là Mở đầu, Nội dung và phần Kết luận. Trong
đó phần quan trọng nhất là nội dung được chia thành 4 Chương, cụ thể như sau:
• Chương 1: “An ninh trên mạng MANET” trình bày tổng quan về giao thức
định tuyến và an toàn định tuyến trên mạng MANET. Chương này tập trung
phân tích giao thức định tuyến AODV và một số hình thức tấn công trên mạng
MANET tại tất cả các tầng của mô hình OSI, tập trung mô tả chi tiết hai hình
thức tấn công gồm: Tấn công lỗ sâu và tấn công ngập lụt. Ngoài ra, chương này
cũng thiết kế một số kịch bản mô phỏng để đánh giá tác hại của tấn công lỗ sâu
và ngập lụt bằng mô phỏng trên NS2.
• Chương 2: “Giải pháp phát hiện và ngăn chặn tấn công lỗ sâu” trình bày một
số giải pháp an ninh trước hình thức tấn công lỗ sâu đã công bố trong thời gian
qua như: DelPHI, WADT, TTHCA và EEP. Ngoài ra, chương này cũng trình bày
giải pháp đề xuất MLA nhằm phát hiện và ngăn chặn tấn công lỗ sâu, cải tiến
giao thức AODV thành giao thức an ninh MLAMAN. Đồng thời, đánh giá hiệu
quả an ninh của MLA trên phần mềm NS2 và so sánh với giải pháp EEP. [CT1]
• Chương 3: “Giải pháp phát hiện và ngăn chặn tấn công ngập lụt” trình bày một
số giải pháp an ninh trước hình thức tấn công ngập lụt đã công bố trong thời
gian qua như: FAP, EFS, BI và kNNAODV. Ngoài ra, chương này cũng trình bày
giải pháp đề xuất FADA nhằm phát hiện và ngăn chặn tấn công ngập lụt, cải
tiến giao thức AODV thành giao thức an ninh FAPRP. Đồng thời, đánh giá hiệu
quả an ninh của FADA bằng phần mềm NS2 và so sánh với giải pháp BI. [CT2]
• Chương 4: “Giải pháp bảo mật định tuyến trên mạng MANET” trình bày hai
giải pháp bảo mật định tuyến sử dụng chữ ký số đã công bố là SAODV và ARAN.
Ngoài ra, chương này cũng trình bày cơ chế xác thực tin cậy (TAM) và cơ chế
quản lý chứng thư số (DCMM). Đồng thời, tích hợp hai cơ chế TAM và DCMM
vào giao thức AODV để tạo giao thức cải tiến TAMAN và đánh giá hiệu quả an
ninh của TAMAN trên phần mềm NS2. [CT3, CT4]
7. Đóng góp của luận án
Thông qua tổng hợp, phân tích ưu và nhược điểm của các nghiên cứu trước đây,
luận án đề xuất một số giải pháp cải tiến nhằm phát huy ưu điểm, khắc phục những
hạn chế. Sau đây là một số đóng góp chính của luận án:
(1) Luận án đã đề xuất giải pháp MLA nhằm phát hiện và ngăn chặn tấn công lỗ
sâu. Đồng thời, cải tiến giao thức AODV thành giao thức an ninh MLAMAN
bằng cách tích hợp giải pháp MLA vào giao thức AODV. [CT1]
5
(2) Luận án đã đề xuất giải pháp FADA nhằm phát hiện và ngăn chặn tấn công
ngập lụt. Đồng thời, cải tiến giao thức AODV thành giao thức an ninh FAPRP
cách tích hợp giải pháp FADA vào giao thức AODV. [CT2]
(3) Luận án đã đề xuất cơ chế quản lý chứng thư số (DCMM [CT3]) theo chuẩn
X.509 và mô hình xác thực tin cậy (TAM [CT4]). Đồng thời, tích hợp DCMM và
TAM vào giao thức AODV tạo giao thức an ninh TAMAN.
Kết quả nghiên cứu của luận án đã cho thấy an ninh trên mạng tùy biến di động
là vấn đề phức tạp. Một số hình thức tấn công mạng có thể thay đổi cách thức tấn
công để qua mặt các giải pháp phát hiện xâm nhập. Hướng tiếp cận trên học máy, chữ
ký số đã cho thấy hiệu quả và tiềm năng ứng dụng để giải quyết bài toán an ninh trên
mạng MANET.
6
Chương 1
AN NINH TRÊN MẠNG MANET
Chương này giới thiệu về mạng MANET và đặc điểm của một số loại giao thức
định tuyến. Luận án tập trung phân tích cơ chế hoạt động của giao thức AODV, mô
tả chi tiết một số hình thức tấn công mạng MANET. Ngoài ra, luận án thiết kế một
số kịch bản mô phỏng trên NS2 để đánh giá tác hại của tấn công lỗ sâu và ngập lụt.
1.1 Mạng tùy biến di động
Mạng tùy biến di động (gọi tắt là MANET [36]) được phát triển nhằm đáp ứng
nhu cầu trao đổi thông tin giữa các thiết bị trong khi di chuyển, hoạt động không phụ
thuộc vào cơ sở hạ tầng mạng cố định. Mỗi thiết bị (gọi là nút) đóng vai trò là thiết
bị đầu cuối, có chức năng định tuyến và có thể di chuyển độc lập theo mọi hướng. Tất
cả các nút kết nối với nhau sử dụng môi trường truyền thông không dây, nút nguồn có
thể gửi gói tin đến nút đích bất kỳ trong mạng nhờ vào các nút trung gian.
N1 N2 N3 N4 N5
N6 N7 N8
N9 N10 N11
Nút Vùng phát sóng
Hình 1.1. Mô hình mạng MANET
Hình 1.1 minh họa mạng MANET gồm 11 nút, hai nút N1 và N2 gọi là nút láng
giềng vì cả hai nằm trong phạm vi phát sóng của nhau. Nút N1 có thể truyền dữ liệu
đến N4 qua hai nút trung gian là N2 và N3. Tiếp theo đây, luận án giới thiệu khả năng
ứng dụng, một số thách thức và công nghệ truyền thông trên MANET.
7
1.1.1 Ứng dụng của mạng MANET
Đặc điểm ưu việc của mạng MANET là tính di động, khả năng tự tổ chức và
hoạt động không phụ thuộc vào hạ tầng mạng cố định [53](pp. 4–5). Đã có nhiều biến
thể khác nhau của mạng MANET được phát triển, tiêu biểu gồm: WSN [11], BAN
[16], VANET [33] và FANET [37]. Vì vậy, MANET được ứng dụng vào nhiều lĩnh vực
của đời sống từ quân sự đến dân sự.
a) Quân sự: Trong khu vực chiến đấu, đội hình tác chiến có thể được thiết lập
để trao đổi thông tin dựa vào công nghệ mạng MANET như Hình 1.2(a). Mỗi người
lính hoặc phương tiện chiến đấu (xe tăng, máy bay, tàu chiến) có thể xem như một nút
trong mạng. Chúng kết nối với nhau để trao đổi thông tin về trạm chỉ huy một cách
linh động trong khi chiến đấu. Do tính độc lập của mỗi nút và cơ chế hoạt động ngang
hàng nên việc truyền thông không bị ảnh hưởng khi một trong các nút không may bị
tiêu diệt trong lúc chiến đấu [40][53](pp. 6–7). Ngoài ra, FANET [37, 87] được phát
triển từ mạng MANET nhằm ứng dụng trong quân sự (Hình 1.2(b)). Mỗi nút trong
mạng FANET là một phương tiện bay không người lái (UAV). Mỗi UAV có thể trao
đổi thông tin với nhau để phục vụ các nhiệm vụ như: thu thập thông tin tài nguyên
rừng, tài nguyên nước, biến đổi khí hậu, thông tin tình báo và xây dựng bản đồ khu
vực. Công nghệ mạng này rất phù hợp triển khai ở những nơi mà việc lưu thông bằng
đường bộ gặp khó khăn.
(a) MANET
(b) FANET [87]
Hình 1.2. Ứng dụng của mạng MANET trong lĩnh vực quân sự
b) Dân sự: Dựa trên những thành tựu trong lĩnh vực quân sự, MANET đã được
triển khai ứng dụng trong lĩnh vực dân sự, bao gồm: Y tế và giao thông. Về y tế, một
biến thể của mạng MANET được ứng dụng với tên gọi là mạng BAN [16] như Hình
1.3(a). Mỗi nút trong mạng BAN là các cảm biến gắn trên cơ thể người nhằm thu thập
thông tin tình trạng sức khỏe của người bệnh. Mạng BAN có thể được kết nối đến một
mạng khác để trao đổi thông tin với cơ sở dữ liệu bệnh nhân tại cơ sở y tế [12]. Nhờ
vậy mà bác sĩ có thể quản lý tình trạng sức khỏe của bệnh nhân để có những cảnh báo
8
phù hợp. Về giao thông, một biến thể khác của MANET là VANET [33] đã được phát
triển để ứng dụng trong lĩnh vực giao thông như Hình 1.3(b). Công nghệ mạng này
hướng đến xây dựng các hệ thống giao thông tự động tại các đô thị thông minh trong
tương lai. Mỗi nút trong mạng là một phương tiện giao thông, kết nối với nhau để trao
đổi thông tin đến phương tiện ở xa. Mỗi phương tiện giao thông có thể quản lý thông
tin về lưu lượng xe, những nguy hiểm cần tránh hoặc tai nạn giao thông. Mục đích là
giúp cho người sử dụng phương tiện thuận lợi và an toàn khi tham gia giao thông.
Cảm biến xử lý thông tin
INTERNET
Cảm biến trung tâm
(a) BAN [16]
Cảm biến xử lý thông tin
(b) VANET [33]
Hình 1.3. Ứng dụng của mạng MANET trong lĩnh vực dân sự
1.1.2 Một số thách thức thường gặp
Bên cạnh những ưu điểm, MANET phải đối mặt với nhiều thách thức khi ứng
dụng vào thực tế [34, 36, 66]. Thách thức này xuất phát từ đặc điểm vốn có của mạng
MANET là sử dụng môi trường không dây, môi trường mạng di động, bán kính phát
sóng ngắn và tài nguyên hạn chế. Cụ thể là:
• Thứ nhất, các nút trong mạng sử dụng môi trường truyền thông không dây nên
kém bảo mật kém hơn so với môi trường truyền có dây. Nút độc hại có thể ẩn
mình trong phạm vi phát sóng của nút nguồn hoặc nút trung gian để thu thập
thông tin và rất khó bị phát hiện.
• Thứ hai, các nút mạng thường xuyên gia nhập và rời khỏi mạng nên tô-pô mạng
MANET thay đổi thường xuyên. Điều này đòi hỏi các giao thức định tuyến phải
liên tục cập nhật thông tin đường đi bằng cách phát quảng bá gói điều khiển
tuyến, dẫn đến mất an toàn thông tin. Ngoài ra, tài nguyên hạn chế và tô-pô
mạng liên tục thay đổi nên gây khó khăn khi triển khai các giải pháp an ninh.
• Thứ ba, bán kính phát sóng ngắn nên các nút trong mạng phải sử dụng cơ chế
truyền thông đa chặng (multi-hop). Nút nguồn muốn giao tiếp với nút đích phải
qua các nút trung gian trên tuyến có chi phí tốt nhất. Đây là lỗ hổng bị nút độc
9
hại khai thác để tấn công bằng cách đánh lừa nút nguồn rằng nó có tuyến đến
đích với chi phí tốt.
• Thứ tư, tài nguyên của thiết bị hạn chế. Hầu hết các thiết bị di động có bộ nhớ
nhỏ và sử dụng nguồn năng lượng là pin nên khả năng xử lý bị hạn chế. Điều
này ảnh hưởng đến hiệu quả định tuyến và rất khó để triển khai các giải pháp
an ninh yêu cầu về cấu hình thiết bị.
Những thách thức trên đã thúc đẩy nhiều nhà khoa học nghiên cứu khắc phục.
Đầu tiên là nâng cao chất lượng dịch vụ (QoS) định tuyến tùy thuộc vào yêu cầu của
các ứng dụng [13, 50, CT6]. Tiếp theo là nâng cao hiệu quả định tuyến nhằm thích
nghi với tính di động của mạng [10, 55, 88], sử dụng năng lượng hiệu quả [56, 77, 83],
ứng dụng công nghệ tác tử di động nhằm nâng cao hiệu quả định tuyến [1, 14]. Cuối
cùng là đảm bảo an ninh truyền thông giữa các thiết bị trong môi trường kết nối mở
[52, 57, 86]. Ngoài ra, công nghệ tác tử di động cũng được sử dụng để cải tiến giao thức
định tuyến nhằm mục đích an ninh [CT7]. Mỗi tác tử có khả năng thu thập thông tin
và cộng tác cùng nhau để thực hiện nhiệm vụ xác nhận lộ trình an toàn trước khi định
tuyến, cảnh báo người dùng khi xuất hiện tấn công mạng.
1.1.3 Công nghệ truyền thông
Công nghệ giao tiếp không dây cung cấp khả năng kết nối một cách đơn giản
và linh hoạt giữa các thiết bị. Đã có nhiều chuẩn giao tiếp không dây ra đời để đáp
ứng nhu cầu truyền thông [34]. Tất cả công nghệ IEEE sử dụng sóng điện từ để truyền
thông. Hai nút Ni và Nj nằm trong vùng phủ sóng của nhau thì chúng có thể trao đổi
thông tin trực tiếp với nhau, gọi là truyền thông 1-chặng như mô tả trong Hình 1.4(a).
Ngoài ra, các chuẩn khác nhau có phạm vi phủ sóng khác nhau, nhưng cũng hạn chế.
Do vậy, một nút muốn truyền thông với nút khác nằm ngoài vùng phủ sóng thì nút
nguồn phải truyền dữ liệu qua một (hoặc nhiều) nút trung gian khác, gọi là truyền
thông đa-chặng. Các nút trung gian đóng vai trò là bộ định tuyến, giúp định tuyến gói
tin đến đích như mô tả trong Hình 1.4(b).
NiRNi
d(Ni, Nj)
NjRNj
Khoảng cách Vùng phủ sóng (R)
(a) Một chặng (1hop)
d(Ni, N1)
NiRNi
N1 N2 Nj
Khoảng cách Vùng phủ sóng (R)
(b) Đa chặng (multi-hop)
Hình 1.4. Mô tả truyền thông 1-chặng và đa-chặng giữa hai nút Ni và Nj
10
1.2 Định tuyến trên mạng MANET
Trong mạng máy tính, việc kết nối các thiết bị tham gia truyền thông phải tuân
thủ theo mô hình chuẩn là OSI. Mô hình này được thiết kế dựa vào nguyên lý phân
tầng như Hình 1.5(a), mục đích để thuận lợi cho việc giải thích các kỹ thuật kết nối
truyền thông giữa các thiết bị và thiết kế giao thức trên mạng. Khi ứng dụng vào mạng
MANET, OSI đã được tinh giản từ 7 tầng xuống 5 tầng nhờ sự kết hợp giữa 3 tầng
trên cùng (phiên, trình bày và ứng dụng) thành tầng ứng dụng như Hình 1.5(b). Ngoài
ra, tầng mạng được chuyển đổi thành tên mới là “định tuyến di động” để phù hợp môi
trường mạng MANET, tầng này chịu trách nhiệm khám phá và định tuyến dữ liệu [7].
Luận án tập trung nghiên cứu vấn đề an ninh cho các giao thức định tuyến hoạt động
tại tầng này nhằm nâng cao chất lượng dịch vụ mạng MANET.
ỨNG DỤNG
TRÌNH BÀY
PHIÊN
VẬN CHUYỂN
MẠNG
LIÊN KẾT DỮ LIỆU
VẬT LÝ
(a) OSI
ỨNG DỤNG
VẬN CHUYỂN
ĐỊNH TUYẾN DI ĐỘNG
LIÊN KẾT DỮ LIỆU
VẬT LÝ
(b) MANET
Hình 1.5. Mô tả phân tầng trong mô hình kết nối hệ thống mở [7]
1.2.1 Một số vấn đề quan tâm về định tuyến
Đặc điểm của MANET là tính tự trị và di động cao nên tài nguyên bị hạn chế,
băng thông thấp và tỷ lệ lỗi cao. Vì vậy, theo [1, 8] khi thiết kế giao thức định tuyến,
một số tiêu chí sau đây thường được các nhà nghiên cứu quan tâm:
a) Tối thiểu phụ tải định tuyến: Tất cả giao thức đều phải sử dụng gói tin điều
khiển để yêu cầu hoặc cung cấp thông tin về trạng thái của mạng. Mục đích là để thiết
lập lộ trình từ nguồn đến đích với chi phí tối thiểu. Do vậy, một lượng băng thông
bị chiếm dụng. Phụ tải định tuyến là tiêu chí để đánh giá mức độ chiếm dụng băng
thông. Phụ tải định tuyến được hiểu là số lượng gói tin điều khiển tuyến cần phải xử
lý để định tuyến thành công một gói tin dữ liệu đến đích. Đây là tham số quan trọng
để đánh giá hiệu quả định tuyến. Một giao thức định tuyến hiệu quả phải đảm bảo
phụ tải định tuyến phù hợp bằng cách giảm tối đa các gói tin điều khiển hao phí.
b) Xử lý tối thiểu: Mô hình mạng thường xuyên thay đổi nên giao thức định
tuyến phải thường xuyên khám phá, cập nhật tuyến. Một thuật toán khám phá tuyến
phức tạp sẽ ảnh hưởng đến khả năng xử lý của các thiết bị, tiêu hao tài nguyên. Ngược
lại, thuật toán đơn giản nhưng hiệu quả sẽ giúp nâng cao thời gian và hiệu quả hoạt
động của các thiết bị trong mạng.
11
c) Hỗ trợ định tuyến đa chặng: Thiết bị di động trong mạng MANET có bán
kính phát sóng hạn chế. Vì vậy, gói tin phải được định tuyến qua nhiều nút trung gian
trước khi đến đích. Một giao thức định tuyến tốt phải đảm bảo hỗ trợ truyền thông
đa chặng. Ngoài ra, giao thức định tuyến phải đảm bảo loại bỏ chu trình trong thuật
toán khám phá tuyến.
d) Đảm bảo độ tin cậy: Do môi trường mạng di động nên tô-pô của mạng MANET
rất thường xuyên thay đổi. Các nút thường xuyên gia nhập và rời khỏi mạng nên giao
thức định tuyến phải có khả năng cập nhật tuyến kịp thời với những thay đổi của
mạng. Ngoài ra, giao thức định tuyến phải đảm bảo an ninh định tuyến nhằm đảm
bảo không bị tin tặc thực hiện hành vi phá hoại.
e) Hỗ trợ định tuyến đơn và đa đường: Các giao thức định tuyến đơn đường có
ưu điểm là khám phá ra tuyến có chi phí tốt nhất và duy nhất, nên gói tin được định
tuyến trên con đường có số chặng đến đích là ít nhất. Tuy nhiên, việc định tuyến đơn
đường sẽ rất dễ dẫn đến tình trạng nghẽn mạng, nguyên nhân là các tuyến được khám
phá có khuynh hướng gần tâm của mạng làm xuất hiện nút thắt cổ chai. Giao thức hỗ
trợ định tuyến đa đường sẽ mang lại hiệu quả tốt khi truyền thông với mật độ cao.
1.2.2 Phân tích ưu và nhược điểm của các loại giao thức
Định tuyến là một dịch vụ được cung cấp tại tầng mạng của mô hình OSI. Nút
nguồn sử dụng tuyến được khám phá và duy trì nhờ vào các giao thức định tuyến. Đã
có nhiều giao thức định tuyến được đề xuất để hoạt động trên mạng MANET. Một số
giao thức tiêu biểu được tổng hợp và phân loại theo các tiêu chí như Bảng 1.1. Luận
án tập trung nghiên cứu cơ chế hoạt động của giao thức AODV, các giải pháp an ninh
đã công bố và đề xuất giải pháp cải tiến trên giao thức này. [9, 22, 28]
Bảng 1.1. Đặc điểm của một số giao thức định tuyến trên mạng MANET
Phân loại giao thức định tuyến dựa vàoCơ chế
khám phá tuyếnVùng
định tuyếnPhương phápđịnh tuyến
Kiểuđịnh tuyến
Chủđộng
Phảnứng
Lai PhẳngPhâncấp
Địnhtuyếnnguồn
Từngchặng
Đơnđường
Đađường
AODV[63] • • • •DSR[39] • • • •
DSDV[65] • • • •ZRP[29] • • • •
AOMDV[51] • • • •
a) Dựa trên cơ chế khám phám tuyến: Gồm định tuyến chủ động, phản ứng và
lai. Định tuyến chủ động (hay định tuyến theo bảng) rất hiệu quả với mạng có cấu
hình ổn định. Mỗi nút lưu tuyến đến tất cả các nút còn lại vào bảng định tuyến (RT)
12
nhờ vào việc nhận và gửi các gói tin hệ thống định kỳ. Khi cấu hình mạng thay đổi,
thông tin cập nhật được lan truyền nhằm thông báo đến các nút còn lại. Ưu điểm là
gói tin được chuyển tiếp nhanh nên độ trễ khi truyền thấp, nhưng chi phí định tuyến
lớn bởi vì tất cả các tuyến phải được xác định trước.
Định tuyến phản ứng (hay theo yêu cầu) thực hiện khi có nhu cầu truyền thông.
Nút nguồn muốn gửi dữ liệu đến nút khác phải thực hiện quá trình khám phá tuyến
bằng cách quảng bá gói yêu cầu tuyến và nhận gói trả lời tuyến. Ưu điểm là phí định
tuyến thấp, phù hợp với hệ thống mạng không ổn định. Tuy nhiên, độ trễ truyền gói
tin cao do quá trình khám phá tuyến trước khi truyền dữ liệu. Định tuyến lai phù hợp
với mô hình mạng hỗn hợp nhờ kết hợp các ưu điểm của các giao thức định tuyến chủ
động và phản ứng.
b) Dựa trên vùng định tuyến: Gồm định tuyến phẳng và phân cấp. Định tuyến
phẳng phù hợp với các mạng nhỏ, mọi nút trong mạng hoạt động ngang hàng và có vai
trò như nhau. Hạn chế của định tuyến phẳng là tất cả các nút thuộc một vùng quảng
bá, nên khi sử dụng với mạng có nhiều nút sẽ lãng phí tài nguyên và băng thông do
phải xử lý các gói tin hệ thống.
Định tuyến phân cấp cải thiện hạn chế của định tuyến phẳng. Tô-pô mạng được
tổ chức thành nhiều khu vực nhỏ hơn, mỗi khu vực có thể chia tiếp thành các vùng
con theo kiểu cây phân cấp. Trong một khu vực, các nút hoạt động ngang hàng, việc
quảng bá gói tin chỉ ảnh hưởng đến những nút cùng khu vực. Nút nguồn giao tiếp với
nút ở khu vực khác phải thông qua các nút có thẩm quyền. Chỉ những gói tin điều
khiển tuyến cần thiết mới được truyền qua lại giữa các vùng nhằm giảm hao phí định
tuyến. Các nút trong vùng định tuyến dữ liệu đến nút khác thuộc vùng bằng thuật
toán định tuyến chủ động. Định tuyến liên vùng sử dụng cơ chế định tuyến theo yêu
cầu hoặc định tuyến lai.
c) Dựa trên phương pháp định tuyến: Gồm định tuyến nguồn và từng chặng.
Định tuyến nguồn có ưu điểm là nguồn biết chính xác các nút trên tuyến đến đích.
Điểm hạn chế là phần đầu (header) của gói dữ liệu lớn để chứa danh sách các nút đến
đích. Vì vậy, các giao thức loại này chỉ phù hợp với môi trường mạng nhỏ và tương đối
ổn định.
Định tuyến từng chặng khắc phục hạn chế của định tuyến nguồn. Nút nguồn chỉ
thêm địa chỉ nút gửi và nút nhận vào phần đầu của gói dữ liệu. Nút trung gian sử dụng
thông tin trong bảng định tuyến để định tuyến gói dữ liệu đến đích. Ưu điểm là tuyến
đến đích có thể thay đổi tại các nút trung gian và kích thước phần đầu của gói nhỏ và
cố định. Giao thức loại này phù hợp với môi trường mạng di động như MANET. Tuy
nhiên, nút nguồn không biết thông tin đầy đủ trên tuyến đến đích nên thuật toán định
tuyến phải đảm bảo không tồn tại chu trình.
d) Dựa trên kiểu định tuyến: Gồm định tuyến đơn đường và đa đường. Định
tuyến đơn đường cho phép nút nguồn chuyển gói dữ liệu đến nút đích trên một tuyến
13
đường duy nhất. Một khi xuất hiện tuyến bị lỗi, nút phải bắt đầu tiến trình khám phá
tuyến mới để thay thế. Giao thức định tuyến đa đường khắc phục được nhược điểm
này, nó cho phép gửi gói dữ liệu trên tuyến chính. Một khi tuyến chính bị sự cố, tuyến
dự phòng sẽ được sử dụng để chuyển tiếp gói tin. Ngoài ra, một số giao thức thuộc loại
này cho phép gói dữ liệu đến đích trên nhiều luồng, mỗi luồng thuộc một tuyến khác
nhau nhằm giải quyết bài toán cân bằng tải.
1.2.3 Tiêu chí và phương pháp đánh giá hiệu quả định tuyến
Việc xác định tiêu chí và phương pháp đánh giá có ý nghĩa quan trọng, đây là
tham số để đánh giá tác hại của tấn công mạng đến hiệu năng của giao thức định
tuyến và hiệu quả của các giải pháp an ninh đề xuất.
a) Tiêu chí đánh giá: Dựa trên các nghiên cứu gần đây [27, 42, 44], luận án sử
dụng một số tiêu chí đánh giá hiệu quả định tuyến là: Tỷ lệ gửi gói thành công, trễ
đầu–cuối (hay thời gian trễ trung bình) và phụ tải định tuyến. Ngoài ra, tiêu chí tỷ lệ
phát hiện tấn công thành công được sử dụng để đánh giá hiệu quả an ninh của giao
thức cải tiến.
– Tỷ lệ gửi gói thành công (PDR): Là tiêu chí quan trọng để đánh giá độ tin cậy
của giao thức định tuyến. PDR được tính dựa vào Công thức (1.1).
PDR =Số lượng gói dữ liệu nhận thành công
Tổng số gói dữ liệu đã gửi× 100% (1.1)
– Trễ đầu–cuối (EtE): Là tiêu chí đo trung bình thời gian trễ để định tuyến
thành công một gói tin dữ liệu đến đích. EtE được tính dựa vào Công thức (1.2).
EtE =Tổng thời gian của các gói dữ liệu đã gửi thành công
Số lượng gói dữ liệu gửi thành công(1.2)
– Phụ tải định tuyến (RL): Là tiêu chí để đánh giá lượng gói tin điều khiển tuyến
hao phí cần phải xử lý (gói được gửi hoặc chuyển tiếp) để định tuyến thành công một
gói dữ liệu đến đích. RL được tính dựa vào Công thức (1.3), trong đó gói tin điều khiển
tuyến của giao thức AODV bao gồm: RREQ, RREP, HELLO và RERR. Ngoài ra, các
giao thức cải tiến sẽ có thêm một số gói tin hệ thống mới, giao thức MLAMAN có thêm
gói: MCP,MCACK , giao thức TAMAN có thêm gói: DCP,DCACK , DCR,DCRACK .
Đặc biệt, khi mô phỏng tấn công ngập lụt, gói điều khiển tuyến hao phí sẽ bao gồm
gói RREQ giả mạo do nút độc hại phát ra.
RL =Tổng số gói tin điều khiển tuyến hao phí đã xử lý
Số gói dữ liệu nhận được(1.3)
– Tỷ lệ phát hiện tấn công thành công (ADR): Tất cả các giải pháp an ninh dựa
trên việc kiểm tra gói tin RCP để phát hiện tấn công mạng. Kết quả sau khi kiểm
14
tra là gói RCP được chấp nhận hoặc loại bỏ. Nếu gói RCP bị loại bỏ đến từ nút độc
hại hoặc gói RCP được chấp nhận đến từ nút bình thường thì giải pháp đã phát hiện
thành công. Ngược lại, giải pháp phát hiện thất bại trong trường hợp chấp nhận gói
RCP đến từ nút độc hại hoặc hủy gói RCP đến từ nút bình thường. ADR là tiêu chí
đánh giá hiệu quả của giải pháp an ninh, được tính dựa vào Công thức (1.4), trong đó
AT là số lượng gói RCP được chấp nhận đến từ nút bình thường; DT là số lượng gói
RCP bị loại bỏ đến từ nút độc hại; AF là số lượng gói RCP được chấp nhận đến từ
nút độc hại; DF là số lượng gói RCP bị loại bỏ đến từ nút bình thường.
ADR =AT + DT
AT + AF + DT + DF× 100% (1.4)
b) Phương pháp đánh giá: Các phương pháp đánh giá hiệu năng mạng máy tính
thuộc 3 nhóm chính: Sử dụng mô hình giải tích, phương pháp thực nghiệm và mô
phỏng. Đối với mô hình giải tích, các kĩ thuật thường áp dụng là quá trình ngẫu nhiên,
lý thuyết hàng đợi hay lý thuyết đồ thị. Phương pháp thực nghiệm cho phép đánh giá
hiệu năng bằng cách đo hiệu năng trên mạng thực. Mục đích là giám sát hiệu năng của
mạng, thu thập số liệu và kiểm chứng kết quả. Phương pháp này phù hợp trong giai
đoạn lắp đặt và vận hành hệ thống, để chọn các tham số cấu hình phù hợp làm cho
hệ thống đạt được hiệu năng tốt nhất. Đối với phương pháp mô phỏng, người dùng sử
dụng các phần mềm mô phỏng để đánh giá hiệu năng, quá trình mô phỏng đơn thuần
chỉ là sự bắt chước hoạt động của mạng thực trên một mô hình ảo. Trong các phương
pháp đánh giá hiệu năng mạng thì đánh giá bằng phương pháp mô phỏng được sử
dụng nhiều do tiết kiệm chi phí, tính mềm dẻo trong thiết kế. [1](pp.18–19)
Để đánh hiệu năng mạng, cả 3 phương pháp trên đều có thể được sử dụng. Tuy
nhiên, vấn đề là việc xây dựng các mô hình giải tích với mạng MANET là phức tạp và
khó có thể giải được nếu không dùng các giả thiết đơn giản hóa bài toán hoặc sử dụng
phương pháp chia nhỏ bài toán thành các mô hình nhỏ. Vì vậy, mô hình mạng có thể
giải được sẽ rất khác biệt so với mô hình mạng thực tế [1](pp. 20–21). Sử dụng phương
pháp đo trên mạng thực thì tốn kém và khó thực hiện, các công cụ đo đạc cũng là
vấn đề gặp phải khi thực nghiệm. Phương pháp mô phỏng có ưu điểm là không tốn
chi phí, nhờ vậy mà người dùng có thể mô phỏng nhiều lần đến khi đạt yêu cầu. Với
những ưu điểm như vậy, nên phương pháp mô phỏng thường được sử dụng khi đánh
giá hiệu năng mạng [31](pp. 5–6). Hiện nay, nhiều hệ mô phỏng mạng được khuyến
nghị sử dụng rộng rãi trong cộng đồng nghiên cứu về lĩnh vực mạng và truyền thông,
tiêu biểu là OPNET, QualNet, GloMoSim, OMNET++ và NS2. Trong đó, NS2 được
sử dụng rộng rãi trong cộng đồng các nhà nghiên cứu hoạt động mạng [54].
Trong khuôn khổ nghiên cứu, luận án tập trung đánh giá tác hại của tấn công
mạng và hiệu quả của giải pháp an ninh đề xuất. Do điều kiện khó khăn về cơ sở hạ
tầng mạng nên phương pháp thực nghiệm chưa thể thực hiện được. Vì vậy, tương tự
các tác giả [1, 2, 3, 4], luận án sử dụng phương pháp mô phỏng để đánh giá kết quả
nghiên cứu với phần mềm NS2.
15
1.3 Giao thức định tuyến AODV
Giao thức AODV được phát triển theo chuẩn RFC 3561 [63] nên phù hợp với
đặc điểm di động của mạng MANET, được sử dụng trong nhiều nghiên cứu gần đây
nhằm nâng cao hiệu quả an ninh [10, 50, 77, 78]. Đây là giao thức thuộc nhóm định
tuyến phẳng, đơn đường và sử dụng cơ chế khám phá tuyến chủ động. Nút nguồn chỉ
khám phá tuyến khi cần định tuyến dữ liệu. Mỗi lần khám phá tuyến, nút nguồn thiết
lập tuyến duy nhất đến đích và có chi phí tốt nhất. Chi phí định tuyến của giao thức
AODV được xác định dựa trên số chặng đến đích, đây là tham số cho phép nút nguồn
chọn tuyến đến đích.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type JRGDU Reserved HC| | |ID_Broadcast
Destination IP Address
Destination Sequence NumberSource IP Address
Source Sequence Number
(a) RREQ
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type |RA| Reserved | HC|Pre Sz
Destination IP Address
Destination Sequence Number
Source IP Address
Life time
(b) RREP
Hình 1.6. Cấu trúc gói điều khiển tuyến của giao thức AODV [64]
Cơ chế khám phá tuyến của AODV sử dụng gói yêu cầu tuyến (RREQ) và gói trả
lời tuyến (RREP), gói HELLO và gói báo lỗi tuyến (RERR) được sử dụng để duy trì
tuyến. Hình 1.6 mô tả cấu trúc gói tin RREQ và RREP của giao thức AODV. Trường
Type (1byte): Qui định loại gói tin; Trường J (1bit) và R (1bit): Cờ qui định chế độ
làm việc là gia nhập và hiệu chỉnh, được dự phòng để phát triển cơ chế định tuyến đa
đường; Trường D (1bit): Qui định chỉ nút đích trả lời RREP; Trường U (1bit): Cờ được
bật nếu nút không biết số thứ tự của nút đích; ID_Broadcast (4bytes): Định danh của
lần khám phá tuyến, nút trung gian sử dụng giá trị này kết hợp với địa chỉ nút nguồn
để xác định gói RREQ đã được xử lý hoặc chưa; Source and Destination IP Address
(4bytes): Địa chỉ nút nguồn và đích (IPsrc, IPdst); Source (hoặc Destination) Sequence
Number (4bytes): Số thứ tự của nút nguồn và đích (SSN, DSN), giá trị này để xác định
“độ tươi” của tuyến đường khám phá, với mục đích là tránh lặp tuyến; HC (1bytes):
Số lượng chặng đến đích, đây là chi phí định tuyến; Life Time (4bytes): Thời gian sống
của gói trả lời tuyến; Reserved (11bits): Kích thước còn lại của gói để dự phòng.
1.3.1 Thuật toán khám phá tuyến
Quá trình khám phá tuyến của giao thức AODV được thực hiện qua 2 giai đoạn:
(1) Yêu cầu tuyến và (2) Trả lời tuyến. Nút nguồn thực hiện yêu cầu tuyến bằng cách
quảng bá gói RREQ, nút đích (hoặc nút trung gian) trả lời tuyến bằng cách gửi đơn
hướng gói RREP. Lưu đồ thuật toán quảng bá gói yêu cầu tuyến và gửi gói trả lời
tuyến được trình bày trong Hình 1.7.
16
Nút nguồn (NS)Núttrunggianhoặcđích(N
i)
Bắt đầu
Kết thúc
Khởi tạo gói RREQ;Thiết lập giá trị của các trường;
Quảng bá gói RREQ;
Xác định nút liền trước (Nj) đã gửi gói RREQ;
Tăng chi phíQuảng bá RREQ
Hủy gói RREQ
no
yesĐã xử lý RREQ
Thêm tuyến về NS qua NH là Nj ;Ghi nhận đã xử lý gói RREQ vào L;
đủ “tươi”tuyến đến đích
Có no
Khởi tạo và gửi góiRREP về nguồn
yes
no
Đây lànút đích
yes
(a) Yêu cầu tuyến
Nút đích (ND)
Núttrunggianhoặcnguồn(N
i)
Bắt đầu
Kết thúc
Khởi tạo gói RREP;Thiết lập giá trị của các trường;
Gửi gói RREP về nguồn;
Xác định nút liền trước (Nj) đã gửi gói RREP;
Tăng chi phíChuyển tiếp RREP
Hủy gói RREP
Thêm tuyến đến ND thôngqua NH là Nj ;
về nguồnCó tuyến
yesno
Khám phá thành côngGửi DP từ hàng đợi
no
Đây lànút nguồn
yes
(b) Trả lời tuyến
Hình 1.7. Sơ đồ thuật toán quảng bá gói yêu cầu tuyến của giao thức AODV [76]
a) Yêu cầu tuyến: Khi nút nguồn (NS) muốn gửi dữ liệu đến nút đích (ND) mà
không có tuyến đến đích, NS tiến hành khám phá tuyến bằng cách phát quảng bá
gói yêu cầu tuyến RREQ đến các nút láng giềng. Gói RREQ được thiết lập giá trị
là [NS, ND, 0] tương ứng là địa chỉ nút nguồn, địa chỉ nút đích và chi phí định tuyến.
Ngoài ra, mỗi nút khởi tạo định danh của lần quảng bá gói yêu cầu tuyến và lưu vào
trường id_broadcast của gói RREQ. Khi nhận được gói yêu cầu tuyến, nút trung gian
(Ni) xử lý gói RREQ như sau:
– Đầu tiên, nút trung gian Ni xác định nút liền trước (Nj) đã gửi hoặc chuyển
tiếp gói RREQ;
– Tiếp theo, Ni lưu danh sách (L) trạng thái xử lý của gói RREQ, mỗi phần tử
của danh sách có hai thông tin là định danh của lần khám phá tuyến (id_broadcast)
và địa chỉ nguồn (src_add). Nếu thông tin định danh của lần khám phá tuyến và địa
chỉ nguồn trong gói RREQ thuộc L thì gói RREQ nhận được đã xử lý rồi, Ni hủy gói
RREQ và thuật toán kết thúc;
17
– Ngược lại, đây là gói RREQ đầu tiên nhận được, nút trung gian Ni lưu tuyến
ngược về nguồn NS bằng cách thêm vào bảng định tuyến một tuyến mới qua chặng
kế tiếp là Nj hoặc cập nhật lại tuyến nếu tuyến mới có chi phí tốt hơn tuyến hiện có;
Đồng thời, Ni ghi nhận gói RREQ đã xử lý bằng cách lưu thông tin id_broadcast và
src_add vào L. Cuối cùng, Ni kiểm tra nếu nó là nút đích hoặc có tuyến đủ “tươi” đến
đích thì Ni khởi tạo gói trả lời tuyến (RREP) và gửi về nguồn; ngược lại, Ni tăng chi
phí định tuyến trong gói RREQ lên 1 trước khi tiếp tục quảng bá để khám phá tuyến.
Quá trình xử lý và quảng bá gói RREQ lặp lại tại tất cả các nút trung gian, cho
đến khi nút đích (ND) nhận được gói RREQ hoặc nút trung gian có tuyến đủ “tươi”
đến đích. Nút nguồn khám phá tuyến thất bại khi nút đích ND không tồn tại hoặc ND
nằm ngoài vùng phủ sóng của các nút khác.
Độ phức tạp: Theo [71], thuật toán yêu cầu tuyến của giao thức định tuyến
AODV có độ phức tạp là O(n), với n là số lượng nút mạng.
b) Trả lời tuyến: Nút đích trả lời tuyến bằng cách gửi gói RREP về nguồn theo
hình thức đơn hướng. Để trả lời tuyến, nút đích sử dụng thông tin tuyến ngược đã
lưu trong giai đoạn xử lý gói RREQ. Nội dung gói RREP được thiết lập là [ND, NS, 0]
tương ứng với địa chỉ nút đích, địa chỉ nút nguồn và chi phí định tuyến. Khi nhận được
gói RREP, nút trung gian (Ni) xử lý gói RREP như sau:
– Đầu tiên, nút trung gian Ni xác định nút liền trước (Nj) đã gửi hoặc chuyển
tiếp gói RREP;
– Tiếp theo, Ni lưu tuyến đến đích ND vào bảng định tuyến với chặng kế tiếp là
Nj hoặc cập nhật lại tuyến nếu tuyến mới có chi phí tốt hơn;
– Cuối cùng, nếu Ni là nút nguồn thì quá trình khám phá tuyến thành công,
thuật toán kết thúc, nút nguồn gửi gói dữ liệu đang chờ trong hàng đợi đến đích; ngược
lại, Ni tìm tuyến về nguồn, nếu tìm thấy thì Ni tăng chi phí định tuyến trong trường
HC của gói RREP lên 1, tiếp tục chuyển tiếp gói RREP về nguồn; ngược lại, gói RREP
bị huỷ, thuật toán kết thúc.
Độ phức tạp: Theo [71], thuật toán yêu cầu tuyến của giao thức định tuyến
AODV có độ phức tạp là O(n), với n là số lượng nút mạng.
1.3.2 Quản lý bảng định tuyến
Giao thức AODV sử dụng phương pháp định tuyến từng chặng nên nút nguồn
không biết thông tin đầy đủ trên tuyến đến đích. Để định tuyến dữ liệu, nút sử dụng
thông tin định tuyến được lưu trữ trong bảng định tuyến. Mỗi dòng dữ liệu của bảng
định tuyến chứa thông tin định tuyến (được gọi là entry). AODV là giao thức định
tuyến đơn đường nên không tồn tại hai entry trong bảng định tuyến chỉ đường đến
cùng 1 nút đích. Mỗi thông tin định tuyến có các trường cơ bản như: Địa chỉ nút đích
(node), địa chỉ chặng kế tiếp (NH), chi phí định tuyến (HC) và số thứ tự (SN) là thông
18
số nhận biết “độ tươi” của tuyến. Ngoài ra, mỗi entry còn một số trường khác để lưu
trữ trạng thái và thời gian hiệu lực của mỗi entry. Dữ liệu trong bảng định tuyến tại
Hình 1.8 cho thấy rằng nút nguồn có thông tin đường đi đến 4 nút khác là N5, N1, N7
và N6. Ngoài ra, nút N5 chính là láng giềng của nút nguồn do chi phí định tuyến đến
N5 là 1. Entry3 [N7, N8, 5, 14] cho thấy rằng để định tuyến dữ liệu đến nút N7, nút
nguồn phải chuyển dữ liệu đến chặng kế tiếp là N8 với chi phí đến đích là 5 chặng.Bảng định tuyến
Node NH HC SNEntry1 N5 N5 1 15
N1 N2 3 13Entry3 N7 N8 5 14
N6 N5 4 18
Hình 1.8. Mô tả cấu trúc bảng định tuyến của AODV tại nút nguồn NS
Do đặc điểm di động của mạng nên tuyến đến đích thường xuyên thay đổi. Vì
vậy, thông tin trong bảng định tuyến của mỗi nút được cập nhật rất thường xuyên, dựa
vào một số sự kiện: (1) Trong quá trình khám phá tuyến, nút lưu tuyến về nút nguồn
(hoặc nút đích) bằng cách thêm mới một entry khi nhận gói RREQ (hoặc RREP); (2)
Nếu xuất hiện tuyến mới có cùng địa chỉ đích với một entry trong bảng định tuyến thì
entry được cập nhật theo tuyến mới nếu tuyến mới tươi hơn tuyến hiện tại hoặc có
cùng độ tươi nhưng chi phí định tuyến thấp hơn; (3) Nếu xuất hiện nút láng giềng Ni
di động qua ngoài vùng phủ sóng thì nút loại bỏ entry đến nút Ni ra khỏi bảng định
tuyến; (4) Nếu nhận được gói thông báo lỗi tuyến RERR thì tất cả entry có liên quan
đến địa chỉ nút đích trong gói RERR bị loại bỏ. [2, 63]
1.3.3 Duy trì tuyến
Duy trì tuyến là việc loại bỏ các tuyến đường không hợp lệ do sự thay đổi thường
xuyên của tô-pô mạng. Giao thức AODV hỗ trợ khả năng duy trì tuyến bằng cách sử
dụng gói HELLO và RERR. Mỗi nút luôn thông báo sự tồn tại của nó với nút láng
giềng bằng cách phát gói HELLO định kỳ sau khoảng thời gian HELLO_INTERVAL.
Nếu nút Ni lần đầu nhận gói HELLO từ nút láng giềng Nj thì liên kết giữa hai nút
được thiết lập, hai nút có thể trao đổi thông tin với nhau. Tuy nhiên, nếu sau khoảng
thời gian (ALLOWED_HELLO_LOSS × HELLO_INTERV AL) giây kể từ lần
nhận gói HELLO trước đó mà Ni không nhận được gói HELLO tiếp theo thì Ni biết
rằng Nj đã ra ngoài vùng phủ sóng, tất cả entry trong bảng định tuyến liên quan đến
Nj bị loại bỏ; Ni khởi tạo gói RERR chứa địa chỉ Nj và quảng bá đến các nút khác để
thông báo rằng liên kết đến Nj không còn tồn tại. Khi nhận được gói RRER, nút loại
bỏ các entry liên quan đến Nj trong bảng định tuyến.
Ví dụ 1.1: Hình 1.9 mô tả việc duy trì tuyến tại N10. Khi phát hiện liên kết
với nút N5 không còn hiệu lực, N10 loại bỏ tất cả các tuyến liên quan đến N5 trong
19
bảng định tuyến của nó. Đồng thời, N10 phát quảng bá gói RERR chứa nút N5 đến
láng giềng để loại bỏ các tuyến đến N5 qua chặng kế tiếp là N10.
N5
N10[N5, N5, 1][N1, N2, 3][N7, N8, 5][N6, N5, 4]
Hình 1.9. Mô tả việc duy trì tuyến tại nút N10
1.3.4 Tránh lặp tuyến
Định tuyến từng chặng có ưu điểm hơn so với định tuyến nguồn là kích thước
phần đầu của gói dữ liệu cố định và nhỏ hơn định tuyến nguồn. Nguyên nhân là do gói
dữ liệu của giao thức định tuyến nguồn phải chứa tất cả các nút từ nguồn đến đích.
Tuy nhiên, khuyết điểm của định tuyến từng chặng là nút nguồn không biết đầy đủ
thông tin trên tuyến đến đích. Vì vậy, có thể xuất hiện chu trình trong tuyến mà nút
nguồn khám phá. Hình 1.10 cho thấy xuất hiện lặp tuyến trong quá trình nút nguồn
N1 định tuyến dữ liệu đến nút đích N7. Đầu tiên, dựa vào thông tin trong bảng định
tuyến, nút nguồn thấy rằng để chuyển gói dữ liệu đến đích N7 thì N1 phải chuyển gói
qua chặng kế tiếp là N3 với chi phí đến đích là 3 chặng. Tiếp theo, nút trung gian N3
kiểm tra trong bảng định tuyến của nó và thấy rằng để định tuyến gói dữ liệu đến N7
thì N3 phải chuyển gói qua chặng kế tiếp là N4 với chi phí đến đích là 2. Tương tự, nút
N4 chuyển tiếp gói dữ liệu qua nút N2 bằng cách sử dụng thông tin trong bảng định
tuyến của nó. Cuối cùng, N2 chuyển tiếp gói dữ liệu đến đích qua chặng kế tiếp là N3
dựa vào thông tin trong bảng định tuyến của nó. Kết quả là tất cả gói dữ liệu bị cuốn
vào một vòng lặp và tự mất do hết thời gian sống. Việc lặp tuyến sẽ ảnh hưởng rất lớn
đến dịch vụ mạng, tất cả các ứng dụng sử dụng giao thức TCP bị kết thúc do không
nhận được tính hiệu ACK. Các ứng dụng sử dụng giao thức UDP sẽ bị cuốn vào một
vòng xoáy dữ liệu gây ra mất gói và nghẽn mạng.
N1
Nguồn DP
[N7, N3, 3]
N2
[N7, N3, 3] DP
N3
DP
[N7, N4, 2]
DP
[N7, N2, 2]
N4
N5
N6
N7
Đích
Hình 1.10. Mô tả tuyến có xuất hiện chu trình
20
Giao thức AODV có khả năng tránh lặp tuyến hiệu quả. Giải pháp tránh lặp
tuyến của AODV là mỗi nút duy trì số thứ tự (SN) để làm cơ sở xác định độ “tươi”
của tuyến vừa khám phá. Giá trị SN của mỗi nút sẽ tăng trước khi gửi gói RREQ hoặc
trước khi gửi gói RREP. Dựa vào giá trị SSN và DSN trong gói RREQ hoặc gói RREP,
nút cập nhật tuyến mới nếu thỏa điều kiện là tuyến vừa khám phá “tươi” hơn tuyến
hiện có (giá trị SN trong gói tin > giá trị SN của entry) hoặc nếu hai tuyến có độ “tươi”
như nhau (giá trị SN trong gói tin = giá trị SN của entry) thì tuyến có chi phí thấp
hơn được chọn. Để minh họa hiệu quả tránh lặp tuyến của giao thức AODV, luận án
sử dụng lại tô-pô mạng bị lặp tuyến tại Hình 1.10. Giả sử rằng tại thời điểm nút nguồn
N1 khám phá tuyến thì trong mạng đã xuất hiện chu trình. Nút nguồn N1 quảng bá
gói RREQ đến các nút láng giềng để khám phá tuyến đến N7, giá trị SN tăng lên và
gửi kèm theo gói RREQ để đảm bảo tuyến vừa khám phá là tươi nhất. Khi nhận được
gói RREQ, các nút láng giềng N2, N3 và N5 thêm tuyến ngược về nguồn với nút kế là
N1 và chi phí là 1 chặng vào bảng định tuyến của mỗi nút. Khi nhận gói RREQ, hai
nút trung gian N4 và N6 thiết lập tuyến ngược về nguồn lần lượt qua nút N2 và N3
với chi phí là 2 chặng. Ngoài ra, hai nút N4 và N6 cũng nhận được gói RREQ đến từ
N3, N5 và hủy gói này do đã xử lý rồi. Cuối cùng, nút đích N7 thêm tuyến ngược về
nguồn qua N6 với chi phí là 3 chặng khi nhận gói RREQ từ N6.
N1
Nguồn
[N7, N3, 3]
N2
[N1, N1, 1][N7, N3, 3]
N3
[N1, N1, 1][N7, N4, 2][N7, N6, 2]
[N7, N2, 2]
[N1, N2, 2]
N4
N5
[N1, N1, 1]
N6
[N1, N3, 2][N7, N7, 1]
N7
Đích[N1, N6, 3]
Hình 1.11. Mô tả hiệu quả tránh lặp tuyến của giao thức AODV
Khi nhận được gói RREQ, nút đích trả lời gói RREP về nguồn qua tuyến ngược
đã lưu trước đó. Trước khi gửi, nút đích tăng giá trị SN để đảm bảo tuyến đang khám
phá là tươi nhất và gửi kèm với gói RREP. Gói RREP được chuyển tiếp về nguồn trên
tuyến {N7 → N6 → N3 → N1}. Nút N6 thiết lập tuyến đến N7 với chi phí là 1 chặng
vào bảng định tuyến khi nhận gói RREP và chuyển tiếp gói về nguồn qua nút trung
gian N3. Khi nhận gói RREP, nút N3 kiểm tra trong bảng định tuyến và thấy rằng
đang có entry đến đích N7. Tuy nhiên, do tuyến hiện tại cũ hơn tuyến mới (DSN của
entry < DSN của gói RREP) nên N3 cập nhật lại tuyến đến đích qua N6 với chi phí
là 2 chặng trước khi chuyển tiếp RREP về nguồn qua nút N1. Nút nguồn N1 nhận
được gói RREP và thêm tuyến mới đến đích N7 qua chặng kế tiếp là N3 với chi phí
21
đến đích là 3 chặng. Kết quả là nút nguồn định tuyến gói dữ liệu đến đích trên tuyến
{N1 → N3 → N6 → N7}, chu trình đã bị loại bỏ như Hình 1.11.
1.3.5 Minh họa quá trình khám phá tuyến
Để minh họa quá trình khám phá tuyến của giao thức AODV, luận án sử dụng
tô-pô mạng gồm 11 nút như Hình 1.12. Địa chỉ của các nút lần lượt là N1, N2, ... và
N11, giá trị SN của mỗi nút được thiết lập dưới mỗi nút, giá trị ID_Broadcast hiện tại
của nút N1 là 10.
a) Giai đoạn quảng bá gói RREQ: Nút nguồn (N1) khám phá tuyến đến đích
(N8) bằng cách gửi quảng bá gói RREQ đến hai nút láng giềng {N2, N6}, trường của
gói RREQ được thiết lập như sau: ID_Broadcast = 11, Source IP = N1, Destination
IP = N8, SSN = SSN + 1 = 35, DSN = 0, HC = 0. Khi nhận được gói RREQ từ N1,
hai nút trung gian N2 và N6 thấy rằng đây là gói đầu tiên nhận được và cả hai không
phải nút đích nên chúng xử lý gói như sau: Đầu tiên, nút N2 thêm một thông tin định
tuyến vào bảng định tuyến để biểu diễn tuyến ngược về N1, thông tin của entry là
[Node = N1, NH = N1, HC = RREQ.HC + 1 = 1, SN = 35]. Điều này có nghĩa rằng
để định tuyến gói tin đến N1, nút N2 phải chuyển gói tin đến chặng kế tiếp là N1 với
chi phí định tuyến là 1. Tiếp theo, N2 lưu thông tin ID_Broadcast và địa chỉ nguồn
N1 vào bộ nhớ để đánh dấu rằng gói RREQ đã được xử lý. Mục đích là loại bỏ gói này
nếu tiếp tục nhận được từ nút trung gian khác; Đồng thời, N2 cập nhật lại địa chỉ nút
cuối cùng (Last Hop - LH) của tuyến vào gói RREQ là địa chỉ của nó, tăng HC lên 1
và tiếp tục quảng bá gói RREQ để khám phá tuyến. Tương tự N2, nút N6 cũng thêm
một entry [Node = N1, NH = N1, HC = RREQ.HC + 1 = 1, SN = 35] vào bảng định
tuyến để biểu diễn tuyến ngược về N1; lưu thông tin ID_Broadcast và địa chỉ nguồn
vào bộ nhớ; cập nhật lại địa chỉ của LH trong phần đầu đề của gói RREQ là N6, tăng
HC lên 1 trước khi tiếp tục quảng bá gói RREQ để khám phá tuyến.
N1 N2 N3 N4 N5
N6 N7 N8
N9 N10 N11
Đích
Nguồn34 17 19 12 40
11 23 4432 18 11
RREQ RREP Nút Vùng phát sóng
Hình 1.12. Mô tả quá trình khám phá tuyến của giao thức AODV
Khi nhận được gói RREQ từ N2, hai nút trung gian N3 và N7 thấy rằng đây là
gói đầu tiên nhận được và cả hai không phải nút đích nên chúng thêm một entry [Node
= N1, NH = N2, HC = RREQ.HC + 1 = 2, SN = 35] vào bảng định tuyến để biểu
diễn tuyến ngược về nguồn. Thông tin định tuyến này có ý nghĩa rằng để định tuyến
22
gói tin đến N1, nút N3 (hoặc N7) phải chuyển gói tin đến chặng kế tiếp là N2 với chi
phí định tuyến là 2 chặng. Tiếp tục, N3 và N7 đánh dấu gói RREQ đã được xử lý và
cập nhật lại trường LH trong phần đầu đề của gói RREQ là địa chỉ nút hiện tại, tăng
chi phí định tuyến lên 1 trước khi quảng bá gói RREQ. Ngoài ra, N7 cũng nhận được
gói RREQ đến từ N6, dựa vào ID_Broadcast và địa chỉ nguồn trong bộ nhớ, N7 biết
rằng gói RREQ đã được xử lý rồi nên đã hủy gói này. Gói RREQ được quảng bá đến
các nút trung gian còn lại là N3, N4, N9, N10, và N11 trước khi đến đích N8, giá trị HC
tăng 1 mỗi khi gói RREQ được chuyển tiếp tại mỗi nút trung gian. Mỗi nút lưu tuyến
ngược về N1 với chi phí định tuyến và chặng kế tiếp tương ứng giá trị HC và LH trong
gói RREQ. Khi nhận được gói RREQ từ N11, nút N8 lưu tuyến ngược về nguồn bằng
cách thêm entry vào bảng định tuyến, thông tin của entry gồm [Node = N1, NH =
N11, HC = RREQ.HC + 1 = 6, SN = 35]. Đồng thời, nút N8 trả lời tuyến bằng cách
gửi đơn hướng gói RREP về nguồn qua chặng kế tiếp là N11.
Bảng 1.2. Kết quả khám phá tuyến trong môi trường mạng bình thường
Gửi gói NútThông tin của gói
[LH][IPsrc, IPdst, HC, SSN/DSN ]
Bảng định tuyếnNode NH HC SN
RREQ
N1 [N1][N1, N8, 0, 35] NULLN2 [N2][N1, N8, 1, 35] N1 N1 1 35 †N3 [N3][N1, N8, 2, 35] N1 N2 2 35 †N4 [N4][N1, N8, 3, 35] N1 N3 3 35 †N5 Không nhận được gói RREQN6 [N6][N1, N8, 1, 35] N1 N1 1 35 †N7 [N7][N1, N8, 2, 35] N1 N2 2 35 †N8 [N8][N1, N8, 6, 35] N1 N11 6 35 †N9 [N9][N1, N8, 3, 35] N1 N7 3 35 †N10 [N10][N1, N8, 4, 35] N1 N9 4 35 †N11 [N11][N1, N8, 5, 35] N1 N10 5 35 †
RREP
N8 Tạo gói RREP [N8][N8, N1, 0, 45]
N11 [N11][N8, N1, 1, 45] N8 N8 1 45 ‡N10 [N10][N8, N1, 2, 45] N8 N11 2 45 ‡N9 [N9][N8, N1, 3, 45] N8 N10 3 45 ‡N7 [N7][N8, N1, 4, 45] N8 N9 4 45 ‡N2 [N2][N8, N1, 5, 45] N8 N7 5 45 ‡N1 [N1][N8, N1, 6, 45] N8 N2 6 45 *
(*) Tuyến khám phá; (†) Tuyến về nguồn; (‡) Tuyến đến đích
b) Giai đoạn gửi gói RREP: Để trả lời tuyến về nguồn, N8 khởi tạo và gửi gói
RREP về nguồn thông qua N11, các trường của gói RREP được thiết lập giá trị như
sau: Source IP = N8, Destination IP = N1, HC = 0, DSN = DSN + 1 = 45. Khi nhận
được gói RREP từ N8, nút trung gian N11 xử lý gói RREP. Đầu tiên, N11 thêm một
thông tin định tuyến mới vào bảng định tuyến để biểu diễn tuyến đến đích N8, thông
23
tin của entry là [Node = N8, NH = N8, HC = RREQ.HC + 1 = 1, SN = 45]. Tiếp
theo, N11 cập nhật lại trường LH trong phần đầu đề của gói RREP là N11, tìm tuyến
về nguồn N1 và xác định chặng tiếp theo là N10, tăng chi phí định tuyến lên 1 và tiếp
tục gửi gói RREP qua nút N10.
Khi nhận được gói RREP từ N11, nút trung gian N10 thêm một entry mới vào
bảng định tuyến để biểu diễn tuyến đến N8, thông tin của entry là [Node = N8, NH
= N11, HC = RREQ.HC + 1 = 2, SN = 45]. Đồng thời, N10 cập nhật lại trường LH
trong phần đầu đề của gói RREP là N10, tăng chi phí định tuyến lên 1 trước khi gửi
gói RREP qua chặng kế tiếp là N9. Quá trình xử lý gói RREP được thực hiện tương
tự tại các nút trung gian khác như {N9, N7, N2} cho đến khi nút nguồn N1 nhận được
gói RREP. Khi nhận được gói RREP từ nút N2, nút nguồn thêm một entry [Node =
N8, NH = N2, HC = RREQ.HC + 1 = 6, SN = 45] vào bảng định tuyến, đây chính là
tuyến vừa được nút nguồn khám phá thành công. Thông tin gói RREQ và bảng định
tuyến tại mỗi nút được trình bày trong Bảng 1.2. Kết quả khám phá tuyến cho thấy
nút nguồn N1 muốn định tuyến dữ liệu đến đích N8 phải chuyển qua chặng kế tiếp là
N2 với chi phí là 6 chặng, theo hướng {N1 → N2 → N7 → N9 → N10 → N11 → N8}.
1.4 Một số hình thức tấn công trên mạng MANET
Quá trình truyền thông trong mạng MANET dựa trên cấu trúc phân tầng như
Hình 1.5(b). Vì vậy, tin tặc có thể thực hiện tấn công ở tất cả các tầng với phương
pháp và mục đích khác nhau như Bảng 1.3.
Bảng 1.3. Tổng hợp các hình thức tấn công mạng MANET
Tầng Tên Phương pháp Mục đích
Ứngdụng
Viruses [18]Sử dụng mã độc trong cácứng dụng
Phá hoại, gây lỗi, thu thậpthông tin
Vậnchuyển
Flooding [5, 25] Phát ngập lụt gói SYN Từ chối dịch vụTrả lời ngập lụt gói ACK
Địnhtuyếndi
động
Blackhole [78]Thông tin đường đi giảmạo đến nguồn
Phá hoại thông tin
Grayhole [26]Thông tin đường đi giảmạo đến nguồn
Phá hoại thông tin
Sinkhole [11]Thông tin đường đi giảmạo đến nguồn
Phá hoại thông tin
Wormhole [42, 44]Sử dụng đường hầm thôngqua 2 nút độc hại
Nghe trộm hoặc phá hoạithông tin
Flooding [24, 27]Phát ngập lụt gói RREQ,HELLO và DATA
Tăng hao phí truyền thôngvà thời gian trễ
Liên kếtdữ liệu
Selfish [82] Giả mạo MACPhá hoại thông tin, ngănchặn chia sẻ băng thông
Vật lý Jamming [32] Gây nhiễu tần số thiết bị Phá hoại
24
Tại tầng ứng dụng, một số hình thức tấn công như virus, sâu và mã độc nhằm
gây lỗi hoặc thu thập thông tin qua các ứng dụng [18]. Tầng vận chuyển có các hình
thức tấn công ngập lụt gói SYN [25], bão ACK [5] nhằm làm cạn kiệt hoặc đạt giá trị
tối đa số lượng tài nguyên kết nối. Tiếp theo là tầng định tuyến đi động, tin tặc đã
lợi dụng lỗ hổng của giao thức định tuyến để thực hiện hành vi tấn công lỗ đen [78]/
lỗ chìm [11], lỗ xám [26], lỗ sâu [42, 44] và ngập lụt [24, 27]. Ngoài ra, tầng liên kết
dữ liệu và vật lý có hình thức tấn công ích kỷ (Selfish [82]) và gây nhiễu (Jamming
[32]) nhằm phá hoại tần số giao tiếp của các thiết bị. Trong các hình thức tấn công thì
tấn công tại tầng mạng là rất nguy hại. Nguyên nhân là do nút độc hại chiếm dụng
các luồng dữ liệu nhằm nghe trộm thông tin hoặc phá hoại. Các nghiên cứu gần đây
[44, 84] cho thấy giao thức AODV [63] là mục tiêu của các hình thức tấn công này.
Đặc điểm của các hình thức tấn công được tổng hợp trong Bảng 1.4.
Bảng 1.4. Đặc điểm của một số loại tấn công trên mạng MANET
Đặc điểmCác loại tấn công
Blackhole Grayhole Wormhole Flooding
Mục đíchPhá hoại • • ◦ •Nghe trộm •
Vị tríBên ngoài • • • •Bên trong
Hình thứcChủ động • • • •Bị động ◦
Mất gói doNút độc hại • • • •Hết thời gian sống
(•) Thực hiện; (◦) Tuỳ chọn.
Mục đích của các hình thức tấn công là phá hoại, riêng tấn công lỗ sâu nhằm
mục đích nghe trộm. Đôi khi tin tặc thiết lập tấn công lỗ sâu nhằm mục đích phá hoại
thông tin [44]. Tất cả các hình thức tấn công thực hiện bên ngoài mạng và là hình thức
tấn công chủ động. Tấn công lỗ đen, lỗ chìm và lỗ xám có đặc điểm chung là chủ động
thay đổi thông tin gói khám phá tuyến để đánh lừa nút nguồn nhằm tham gia vào
tuyến. Tấn công lỗ xám tương tự tấn công lỗ đen, nhưng gây hại thấp hơn tấn công
lỗ đen và có thể được thiết lập theo hình thức bị động. Tấn công ngập lụt nhằm mục
đích phá hoại bằng cách sử dụng các gói tin điều khiển để làm tăng hao phí truyền
thông. Một khi nút độc hại tấn công với tần suất cao sẽ cản trở quá trình khám phá
tuyến và làm giảm hiệu năng mạng. Gói dữ liệu bị hủy do nút độc hại trong tấn công
lỗ đen, lỗ xám và lỗ sâu hoặc do nút độc hại cản trở quá trình khám phá tuyến trong
tấn công ngập lụt. Luận án tập trung vào hai hình thức tấn công lỗ sâu và ngập lụt
cùng các giải pháp an ninh trên hai hình thức tấn công này. Tiếp theo đây, luận án
mô tả chi tiết quá trình thực hiện tấn công lỗ sâu và ngập lụt để làm cơ sở cho các
giải pháp an ninh đề xuất trong các Chương tiếp theo.
25
1.4.1 Tấn công lỗ sâu
Tấn công lỗ sâu nhằm mục đích nghe trộm thông tin, đôi khi tin tặc thiết lập
tấn công nhằm mục đích phá hoại sẽ ảnh hưởng đến hiệu năng mạng [44]. Để tấn công,
tin tặc sử dụng hai nút độc hại kết nối với nhau qua một liên kết riêng (OB) còn gọi
là đường hầm hoặc sử dụng cơ chế đóng gói (En). Tấn công lỗ sâu có thể thực hiện ở
hai chế độ là: Chế độ ẩn và chế độ tham gia. Ở chế độ ẩn, nút độc hại chuyển tiếp gói
tin điều khiển tuyến đến nút láng giềng mỗi khi nhận được từ nút liền trước. Vì vậy,
các giải pháp an ninh sử dụng cơ chế kiểm tra toàn vẹn gói tin sẽ thất bại do thông tin
của gói điều khiển tuyến không thay đổi mỗi khi chuyển tiếp qua nút độc hại. Ở chế
độ tham gia, nút độc hại xử lý gói như nút bình thường. Chế độ này thất bại trước các
giải pháp an ninh sử dụng cơ chế kiểm tra toàn vẹn gói tin, nhưng sẽ rất nguy hiểm
cho các IDS dựa trên thông tin của gói tin điều khiển. [42]
N1 N2 N3 N4 N5
N6 N7 N8
N9 N10 N11
M1
M2
Đích
Nguồn34
17 19 34 40
11 23 44
32 18 11
RREQ RREP Nút Đường hầm
1924
(a) Sử dụng đường hầm
N1 N2 N3 N4 N5
N6N7
N8
N9 N10 N11
M1
M2
RREQ RREP Nút Nút độc hại
19
24 Đích
Nguồn34
17 19 34 40
11 23 44
32 1811
(b) Sử dụng cơ chế đóng gói
Hình 1.13. Mô tả tấn công lỗ sâu trong giao thức AODV
a) Sử dụng liên kết riêng: Để thực hiện tấn công, tin tặc sử dụng 2 nút độc hại
(M1,M2) kết nối với nhau qua một liên kết riêng gọi là đường hầm. Khi nhận gói yêu
cầu tuyến RREQ, nút độc hại M1 chuyển tiếp gói RREQ đến M2 qua đường hầm,
M2 tiếp tục chuyển tiếp RREQ đến đích. Khi nhận được gói RREQ, nút đích gửi gói
RREP qua đường hầm về nguồn. Kết quả là nút nguồn xác lập tuyến qua đường hầm
vì tuyến có chi phí thấp hơn tuyến thực tế.
Ví dụ 1.2: Hình 1.13(a) là một ví dụ mô tả quá trình nút nguồn N1 khám phá
tuyến đến đích N8 trong tô-pô mạng có hai nút độc hại (M1,M2) kết nối thông qua
đường hầm. Nút nguồn N1 quảng bá gói RREQ để khám phá tuyến đến nút đích N8.
Gói RREQ đầu tiên đến đích trên tuyến chứa đường hầm là {N1 →M1 →M2 → N8}.Khi nhận được gói RREQ, nút độc hại M1 thêm một entry mới vào bảng định tuyến
để biểu diễn tuyến về nguồn N1, thông tin của entry là: Node = N1, NH = N1, HC
= RREQ.HC + 1 = 1, SN = 35. Tương tự, nút độc hại M2 thêm một entry mới vào
bảng định tuyến để biểu diễn tuyến về nguồn N1 qua chặng kế tiếp là M1, thông tin
của entry là: Node = N1, NH = M1, HC = RREQ.HC + 1 = 2, SN = 35. Cuối cùng,
26
khi nhận được gói RREQ, nút đích N8 thêm một entry mới vào bảng định tuyến để
biểu diễn tuyến về nguồn N1 qua chặng kế tiếp là M2, thông tin của entry là: Node
= N1, NH = M2, HC = RREQ.HC + 1 = 3, SN = 35; đồng thời, nút đích N8 trả lời
tuyến bằng cách gửi gói RREP theo hướng {N8 → M2 → M1 → N1}. Ngoài ra, góiRREQ thứ hai cũng đến đích trên tuyến {N1 → N2 → N7 → N9 → N10 → N11 → N8}.Nhưng, nút đích N8 hủy gói RREQ thứ hai nhận được vì đã xử lý rồi. Khi nhận gói
RREP, M2 thêm một entry mới vào bảng định tuyến để biểu diễn tuyến đến N8, thông
tin bao gồm: Node = N8, NH = N8, HC = RREP.HC + 1 = 1, SN = 45. Tương tự,
M1 thêm một entry mới vào bảng định tuyến để biểu diễn tuyến đến đích N8, thông
tin của entry là: Node = N8, NH = M2, HC = RREP.HC + 1 = 2, SN = 45. Ngoài ra,
nút nguồn N1 cũng thêm một entry mới vào bảng định tuyến để biểu diễn tuyến đến
đích N8 qua chặng kế tiếp là M1, thông tin của entry là: Node = N8, NH = M1, HC
= RREP.HC + 1 = 3, SN = 45. Kết quả là nút nguồn N1 xác lập tuyến đến đích qua
chặng kế tiếp là M1 với chí phí là 3 chặng, tuyến này chứa hai nút độc hại. Chi tiết
gói tin điều khiển và bảng định tuyến được liệt kê trong Bảng 1.5.
Bảng 1.5. Kết quả khám phá tuyến khi bị tấn công lỗ sâu (OB-PM)
Gửi gói NútThông tin của gói[LH][IPsrc, IPdst, HC, SN ]
Bảng định tuyếnNode NH HC SN
RREQ
N1 [N1][N1, N8, 0, 35] NULLN2 [N2][N1, N8, 1, 35] N1 N1 1 35N3 [N3][N1, N8, 2, 35] N1 N2 2 35N4 [N4][N1, N8, 3, 35] N1 N3 3 35N5 Không nhận được gói RREQN6 [N6][N1, N8, 1, 35] N1 N1 1 35N7 [N7][N1, N8, 2, 35] N1 N2 2 35N8 [N8][N1, N8, 3, 35] N1 M2 3 35N9 [N9][N1, N8, 3, 35] N1 N7 3 35N10 [N10][N1, N8, 4, 35] N1 N9 4 35N11 [N11][N1, N8, 5, 35] N1 N10 5 35M1 [M1][N1, N8, 1, 35] N1 N1 1 35M2 [M2][N1, N8, 2, 35] N1 M1 2 35
RREP
N8 Tạo gói RREP [N8][N8, N1, 0, 45]
M2 [M2][N8, N1, 1, 45] N8 N8 1 45M1 [M1][N8, N1, 2, 45] N8 M2 2 45N1 [N1][N8, N1, 3, 45] N8 M1 3 45*
(*) Tuyến được thiết lập tại nút nguồn khi nhận gói RREP
b) Sử dụng cơ chế đóng gói: Phương pháp này sử dụng hai nút độc hại xuất hiện
trong mạng như nút bình thường. Khi nhận được gói RREQ, nút độc hại đóng gói
trước khi chuyển gói RREQ đến đích qua các nút trung gian khác. Quá trình đóng gói
cũng được thực hiện tương tự khi nhận gói RREP. Mục đích là giảm chi phí của gói
27
điều khiển tuyến bằng cách gán giá trị của trường HC = 0. Ngoài ra, nút độc hại còn
tăng giá trị của trường ID_broadcast của gói RREQ để nút láng giềng chấp nhận xử
lý gói này nếu nó đã nhận được gói tương tự từ một láng giềng khác. Mục đích là để
nút nguồn xác lập đường đi qua tuyến chứa nút độc hại vì có chi phí thấp hơn tuyến
thực tế. Tuỳ thuộc vào vị trí xuất hiện mà tuyến chứa một hoặc hai nút độc hại.
Bảng 1.6. Kết quả khám phá tuyến khi bị tấn công lỗ sâu (En-PM)
Gửi gói NútThông tin của gói
[LH][IPsrc, IPdst, HC, SSN/DSN ]
Bảng định tuyếnNode NH HC SN
RREQ
N1 [N1][N1, N8, 0, 35] NULLN2 [N2][N1, N8, 1, 35] N1 N1 1 35N3 [N3][N1, N8, 2, 35] N1 N2 2 35N4 [N4][N1, N8, 3, 35] N1 N3 3 35N5 Không nhận được gói RREQN6 [N6][N1, N8, 1, 35] N1 N1 1 35M1 [M1][N1, N8, 0, 35] N1 N6 2 35N7 [N7][N1, N8, 2, 35] N1 N2 2 35N8 [N8][N1, N8, 6, 35] N1 N11 6 35
N1 M2 1 35N9 [N9][N1, N8, 3, 35] N1 N7 3 35
N1 M1 1 35N10 [N10][N1, N8, 4, 35] N1 N9 4 35N11 [N11][N1, N8, 5, 35] N1 N10 5 35M2 [M2][N1, N8, 0, 35] N1 N10 3 35
RREP
N8 Tạo gói RREP [N8][N8, N1, 0, 45]
M2 [M2][N8, N1, 0, 45] N8 N8 1 45N10 [N10][N8, N1, 1, 45] N8 M2 1 45N9 [N9][N8, N1, 2, 45] N8 N10 2 45M1 [M1][N8, N1, 0, 45] N8 N9 3 45N6 [N6][N8, N1, 1, 45] N8 M1 1 45N1 [N1][N8, N1, 2, 45] N8 N2 2 45*
(*) Tuyến được thiết lập tại nút nguồn khi nhận gói RREP
Ví dụ 1.3: Hình 1.13(b) mô tả hai nút độc hại M1 và M2 sử dụng cơ chế
đóng gói để tấn công mạng. Nút N9 nhận được hai gói RREQ từ nguồn N1 trên tuyến
{N1 → N2 → N7} và {N1 → N6 →M1}. Nút N9 thấy rằng chi phí về nguồn qua chặng
kế tiếp là N7 là 3 chặng, trong khi chi phí về nguồn qua chặng kế tiếp là M1 là 1 chặng
vì giá trị HC của gói RREQ được khởi tạo lại khi chuyển tiếp qua M1. Như vậy, N9
thiết lập tuyến về nguồn qua chặng kế tiếp là M1 bằng cách thêm một entry mới vào
bảng định tuyến, thông tin của entry là: Node = N1, NH = M1, HC = RREQ.HC + 1
= 1, SN = 35; gói RREQ đến từ N7 không được chấp nhận do có chi phí lớn hơn. Nút
đích N8 nhận được hai gói RREQ đến từ nút N11 và M2, gói đến là từ N11 có chi phí là
28
3 chặng do phải chuyển tiếp qua 3 nút trung gian gồm {N9, N10 và N11}, trong khi gói
RREQ đến từ M2 có chi phí là 1 chặng. Vì vậy, nút đích thiết lập tuyến về nguồn qua
chặng kế tiếp là M2 bằng cách thêm một entry mới vào bảng định tuyến, thông tin của
entry là: Node = N1, NH =M2, HC = RREQ.HC + 1 = 1, SN = 35; gói RREQ đến từ
N11 không được chấp nhận do có chi phí lớn hơn. Nút đích N8 trả lời tuyến về nguồn
bằng cách gửi gói RREP theo hướng {N8 → M2 → N10 → N9 → M1 → N6 → N1}.Tất cả các nút trung gian lưu tuyến đến đích N8 mỗi khi nhận được gói RREP, đồng
thời chuyển tiếp gói RREP về nguồn nhờ vào entry trong bảng định tuyến. Khi nhận
được gói RREP từ nút N6, nút nguồn N1 thêm một entry mới vào bảng định tuyến để
biểu diễn tuyến đến đích N8 qua chặng kế tiếp là N6, thông tin của entry là: Node =
N8, NH = N6, HC = RREP.HC + 1 = 2, SN = 45. Kết quả là nút nguồn N1 xác lập
tuyến đến đích qua chặng kế tiếp là N6 với chí phí đến đích là 2 chặng, tuyến này chứa
hai nút độc hại M1 và M2, xem chi tiết trong Bảng 1.6.
1.4.2 Tấn công ngập lụt
Tấn công ngập lụt được thực hiện bằng cách nút độc hại gửi tràn ngập các gói
hệ thống cho các nút không tồn tại trong mạng, hoặc truyền một lượng lớn các gói
dữ liệu vô ích để gây nghẽn mạng. Kết quả là tạo ra bão quảng bá gói tin trên mạng,
làm tăng hao phí truyền thông, giảm khả năng đáp ứng tại mỗi nút vì phải xử lý các
gói tin không cần thiết. Tấn công ngập lụt sử dụng gói tin điều khiển (gồm RREQ và
HELLO) hoặc sử dụng gói DATA. [24, 27]
a) Ngập lụt gói RREQ: Gói yêu cầu tuyến RREQ được sử dụng để thực hiện
khám phá tuyến khi cần thiết, vì thế tin tặc lợi dụng gói này để phát quảng bá quá
mức làm tràn ngập lưu lượng không cần thiết trên mạng. Hình 1.14 cho thấy nút NM
thực hiện hành vi tấn công ngập lụt gói RREQ đã gây hại đến tất cả các nút trong hệ
thống do cơ chế truyền quảng bá.
N1
NS
N5
N2 N3
N4 ND
N9
N7
NM
N8
Hướng chuyển của gói RREQ
RREQ
RREQ RREQ
RREQ
RREQ
RREQ
RREQ RREQ
RREQ
RREQ RREQ
RREQ
RREQ
Hình 1.14. Mô tả tấn công ngập lụt gói RREQ
b) Ngập lụt gói HELLO: Gói HELLO được phát định kỳ để thông báo sự tồn tại
của nút với láng giềng trong mạng không dây, đây là điểm yếu bị tin tặc lợi dụng để
29
phát tràn ngập gói HELLO buộc tất cả các nút láng giềng phải tiêu tốn tài nguyên và
thời gian xử lý gói tin không cần thiết. Hình thức tấn công này chỉ gây hại đến các nút
láng giềng của nút độc hại. Hình 3 cho thấy bốn nút N1, N5, N7 và N8 bị ảnh hưởng
khi nút độc hại NM thực hiện tấn công ngập lụt gói HELLO.
N1
NS
N5
N2 N3
N4 ND
N9
N7
NM
N8
Hướng chuyển của gói HELLO
HELLO HELLO
HELLO
HELLO
Hình 1.15. Mô tả tấn công ngập lụt gói HELLO
c) Ngập lụt gói DATA: Hình thức tấn công này chỉ gây hại tại một số nút trong
mạng. Để thực hiện tấn công, nút độc hại phát quá mức gói DATA đến một nút bất
kỳ trên mạng, điều này ảnh hưởng đến khả năng xử lý của các nút tham gia định
tuyến dữ liệu, tăng hao phí băng thông không cần thiết, gây nghẽn mạng và rớt gói.
Hình 1.16 cho thấy nút độc hại NM gửi tràn ngập gói DATA đến nút N3 trên tuyến
{NM → N1 → N2 → N3}.
N1
NS
N5
N2 N3
N4 ND
N9
N7 NM
N8
Hướng chuyển của gói DATA
DATA
DATA DATA
Hình 1.16. Mô tả tấn công ngập lụt gói DATA
Hành vi tấn công ngập lụt: Theo [27], hành vi tấn công ngập lụt có thể thực
hiện trên giao thức định tuyến theo yêu cầu AODV được mô tả trong Hình 1.17. Nút
độc hại tấn công bằng cách phát gói điều khiển tuyến hoặc gói dữ liệu một cách liên
tục hoặc có chọn lọc. Ngoài ra, nút độc hại có thể tấn công kết hợp bằng cách sử dụng
cả hai gói điều khiển tuyến và gói dữ liệu. Đặc biệt, trong khi tấn công, nút độc hại có
thể sử dụng cùng địa chỉ hoặc sử dụng địa chỉ giả mạo khác nhau nhằm đánh lừa các
giải pháp an ninh. Trong trường hợp tấn công ngập lụt có chọn lọc, nút độc hại đôi
30
khi thể hiện hành vi như nút bình thường (không tấn công). Sau đây là một số loại
hành vi tấn công ngập lụt mà nút độc hại có thể thực hiện:
• ASRRF: Nút độc hại thực hiện tấn công ngập lụt bằng cách sử dụng gói tin
RREQ và địa chỉ giả mạo trong khi tấn công;
• ASHF: Nút độc hại thực hiện tấn công ngập lụt bằng cách sử dụng gói tin HELLO
và địa chỉ giả mạo trong khi tấn công;
• ASDF: Nút độc hại thực hiện tấn công ngập lụt bằng cách sử dụng gói tin DATA
và địa chỉ giả mạo trong khi tấn công;
• NASRRF: Nút độc hại thực hiện tấn công ngập lụt bằng cách sử dụng gói tin
RREQ và địa chỉ cố định trong khi tấn công;
• NASHF: Nút độc hại thực hiện tấn công ngập lụt bằng cách sử dụng gói tin
HELLO và địa chỉ cố định trong khi tấn công;
• NASDF: Nút độc hại thực hiện tấn công ngập lụt bằng cách sử dụng gói tin
DATA và địa chỉ cố định trong khi tấn công.
Tấn công liên tục Tấn công chọn lọc
Tấn công ngập lụt
Gói điều khiển Gói dữ liệu
HELLO Lai
ASDF NASDF ASRRF NASRRF ASHF NASHF
RREQ
Hình 1.17. Phân loại hành vi của nút độc hại khi tấn công ngập lụt
Tương tự các nghiên cứu gần đây [24, 27, 67, 75], luận án tập trung vào giải
pháp phát hiện và ngăn chặn tấn công ngập lụt với hành vi NASRRF. Tấn công ngập
lụt chọn lọc với địa chỉ thay đổi rất khó phát hiện. Đây là một chủ đề rất thú vị và
cần có những nghiên cứu tiếp theo để khắc phục. Tương lai, luận án tiếp tục nghiên
cứu các giải pháp an ninh trước tấn công ngập lụt với các hành vi khác.
1.5 Đánh giá tác hại của tấn công lỗ sâu và ngập lụt
Luận án sử dụng phần mềm mô phỏng NS2 [94] để đánh giá tác hại của tấn công
lỗ sâu, ngập lụt và hiệu quả của các giải pháp an ninh đề xuất. Kịch bản mô phỏng
31
gồm các nút di động ngẫu nhiên theo mô hình Random Way Point (RWP [90]). Đây là
mô hình tổng quát nhất để đánh giá hiệu năng của mạng MANET [85], được sử dụng
phổ biến trong các nghiên cứu gần đây [24, 27, 44]. Để tạo kịch bản mạng mô phỏng
theo mô hình này, luận án sử dụng công cụ “setdest” được hỗ trợ sẵn trên NS2, các
thông số cơ bản như mô tả trong Bảng 1.7. Thông số cơ bản này cũng được sử dụng để
đánh giá hiệu quả an ninh của các giải pháp đề xuất trong những Chương tiếp theo.
Bảng 1.7. Thông số cơ bản được sử dụng để mô phỏng
Tham số Thiết lập
Chuẩn mạng không dây IEEE 802.11Băng thông 11MbpsBán kính phát sóng 250mGiao thức vận chuyển UDPMô hình di động Random WaypointLoại nguồn phát CBR (Constant Bit Rate)Hàng đợi FIFO (DropTail)
1.5.1 Tác hại của tấn công lỗ sâu
Để đánh giá tác hại của tấn công lỗ sâu đến hiệu năng của giao thức AODV,
luận án sử dụng mã nguồn tấn công lỗ sâu được chia sẽ tại [93], 5 tô-pô mạng được sử
dụng, mỗi tô-pô có 100 nút hoạt động trong phạm vi là 2000m x 2000m, theo tác giả
[42] thì phạm vi này đủ để các nút truyền thông đa chặng, tất cả các nút di chuyển
ngẫu nhiên với vận tốc từ 1 đến 30m/s (108km/h). Số lượng nguồn phát dữ liệu lần
lượt là 10CBR và 20CBR, nguồn phát đầu tiên bắt đầu phát tại giây thứ 0, các nguồn
tiếp theo cách nhau 5s, tốc độ phát 2pkt/s, kích thước gói là 512bytes. Hai nút độc hại
đứng yên và chiều dài đường hầm (TL) lần lượt là 1, 2, 3, 4 và 5 chặng (250m/chặng),
băng thông đường hầm là 1Gbps tương tự [6](pp.327–328). Hai nút độc hại thực hiện
hành vi ngay khi bắt đầu mô phỏng, vị trí của chúng được bố trí như Hình 1.18. Tiêu
chí đánh giá gồm: Tỷ lệ gửi gói tin thành công, phụ tải định tuyến và thời gian trễ
trung bình. Kết quả thống kê sau khi thực hiện 60 lần mô phỏng với các tham số đầu
vào khác nhau được trình bày trong Hình 1.19.
(1000, 1025)
(1000, 775)
2000m
2000m
(a) TL=1
(1000, 1150)
(1000, 650)
2000m
2000m
(b) TL=2
(1000, 1275)
(1000, 525)
2000m
2000m
(c) TL=3
(1000, 1400)
(1000, 400)
2000m
2000m
(d) TL=4
(1000, 1525)
(1000, 275)
2000m
2000m
(e) TL=5
Hình 1.18. Vị trí nút độc hại thực hiện tấn công lỗ sâu
32
a) Tỷ lệ gửi gói thành công: Kết quả mô phỏng tại Hình 1.19(a) cho thấy rằng
tấn công lỗ sâu nhằm mục đích phá hoại đã ảnh hưởng đến hiệu năng của AODV. Tác
hại lớn nhất khi chiều dài của đường hầm là 3 chặng do việc chuyển hướng tuyến qua
nút độc hại được thực hiện thành công nhất. Sau 1000s mô phỏng, PDR của giao thức
AODV là 78.36% và 76.07% tương ứng 10CBR và 20CBR trong môi trường mạng bình
thường (TL=0), độ lệch chuẩn lần lượt là 0.72% và 2.45%. Tuy nhiên, khi bị tấn công
lỗ sâu thì PDR giảm xuống rất nhiều, đạt thấp nhất là 40.28% và 40.11% tương ứng
với 10CBR và 20CBR khi TL=3, độ lệch chuẩn lần lượt là 4.03% và 3.75%.
30
40
50
60
70
80
0 1 2 3 4 5
Tỷ
lệ gửi
gói
thàn
h cô
ng (
%)
Chiều dài đường hầm (hop)
10CBR 20CBR
(a) Tỷ lệ gửi gói tin thành công
5
10
15
20
25
0 1 2 3 4 5
Phụ
tải địn
h tu
yến
(pkt
)
Chiều dài đường hầm (hop)
10CBR 20CBR
(b) Phụ tải định tuyến
0
0.2
0.4
0.6
0.8
1
1.2
0 1 2 3 4 5
Thờ
i gia
n trễ
trun
g bì
nh (
sec)
Chiều dài đường hầm (hop)
10CBR 20CBR
(c) Thời gian trễ trung bình
Hình 1.19. Tác hại tấn công lỗ sâu đến hiệu năng của giao thức AODV
33
b) Phụ tải định tuyến: Hình 1.19(b) cho thấy tấn công lỗ sâu đã làm tăng phụ
tải định tuyến của AODV ở tất cả kịch bản do số lượng gói tin chuyển thành công
đến đích giảm. Kết quả mô phỏng trong môi trường mạng bình thường cho thấy giao
thức AODV có phụ tải định tuyến là 13.81pkt khi số lượng nguồn phát là 10CBR và
13.90pkt với 20CBR, độ lệch chuẩn lần lượt là 1.46pkt và 1.82pkt. Tuy nhiên, khi bị
tấn công lỗ sâu thì phụ tải định tuyến tăng lên rất nhiều, đạt 16.34pkt và 17.75pkt
tương ứng với 10CBR và 20CBR nếu chiều dài đường hầm là 3, độ lệch chuẩn lần lượt
là 1.59pkt và 3.39pkt.
c) Thời gian trễ trung bình: Hình 1.19(c) cho thấy rằng thời gian trễ trung bình
của AODV giảm dần theo chiều dài đường hầm. Nguyên nhân là do hầu hết các gói
dữ liệu chuyển thành công đến đích trên tuyến ngắn đã làm giảm thời gian trễ, các gói
tin trên tuyến dài bị hủy trước khi đến đích. Kết quả mô phỏng cho thấy trong môi
trường mạng bình thường, thời gian trễ trung bình để định tuyến thành công một gói
dữ liệu của AODV là 0.794s và 0.934s tương ứng 10CBR và 20CBR, độ lệch chuẩn lần
lượt là 0.056s và 0.081s. Khi xuất hiện nút độc hại thì thời gian trễ trung bình giảm
xuống thấp nhất là 0.556s và 0.629s khi độ dài đường hầm là 5 chặng, độ lệch chuẩn
lần lượt là 0.067s và 0.083s.
1.5.2 Tác hại của tấn công ngập lụt
Luận án sử dụng các thông số cơ bản tại Bảng 1.7 để đánh giá tác hại của tấn
công ngập lụt đến hiệu năng của giao thức AODV. Tổng số 15 tô-pô di động được sử
dụng, gồm 5 tô-pô mạng có các nút di động với vận tốc từ 1 đến 10m/s; 5 tô-pô mạng
có các nút di động với vận tốc từ 1 đến 20m/s và 5 tô-pô mạng có các nút di động với
vận tốc từ 1 đến 30m/s. Mỗi tô-pô mạng có 50 nút hoạt động trong phạm vi là 1000m
x 1000m, thời gian mô phỏng là 500s, 20 nguồn phát dữ liệu, mỗi nguồn phát 2pkt/s,
kích thước gói là 512bytes, nguồn phát đầu tiên bắt đầu phát tại giây thứ 0, các nguồn
tiếp theo cách nhau 5s. Số lượng nút độc hại tấn công lần lượt là 1 hoặc 2 nút, vị trí
các nút độc hại được bố trí như Hình 1.20, thực hiện hành vi tấn công với tần suất
10pkt/s và 20pkt/s ngay khi bắt đầu mô phỏng. Tiêu chí đánh giá gồm: Tỷ lệ gửi gói
tin thành công, phụ tải định tuyến và thời gian trễ trung bình.
(500, 500)
1000m
1000m
(a) Một nút
(500, 700)
(500, 300)
1000m
1000m
(b) Hai nút
Hình 1.20. Vị trí nút độc hại thực hiện tấn công ngập lụt
34
Kết quả thống kê sau khi thực hiện 75 lần mô phỏng với các tham số đầu vào
khác nhau được trình bày trong Hình 1.21,bao gồm: 25 lần mô phỏng giao thức AODV
với vận tốc là 1..10m/s trong môi trường bình thường và có nút độc hại tấn công với số
lượng và tần suất khác nhau; 25 lần mô phỏng giao thức AODV với vận tốc là 1..20m/s
trong môi trường bình thường và có nút độc hại tấn công với số lượng và tần suất khác
nhau; 25 lần mô phỏng giao thức AODV với vận tốc là 1..30m/s trong môi trường bình
thường và có nút độc hại tấn công với số lượng và tần suất khác nhau.
a) Tỷ lệ gửi gói thành công: Tấn công ngập lụt không nhằm mục đích hủy gói
tin, mục đích của tấn công ngập lụt là làm tăng hao phí truyền thông. Tuy nhiên, nếu
tần suất phát gói RREQ đủ lớn sẽ cản trở quá trình khám phá tuyến và ảnh hưởng
đến hiệu năng của mạng. Hình 1.21(a) cho thấy tỷ lệ gửi gói tin thành công của AODV
giảm dần theo vận tốc di động, số lượng nút độc hại và tần suất tấn công. Sau 500s
mô phỏng trong môi trường mạng bình thường (Normal), tỷ lệ gửi gói tin thành công
đạt 95.8%, 93.92% và 93.52% tương ứng vận tốc di động là 10m/s, 20m/s và 30m/s, độ
lệch chuẩn lần lượt là 1.52%, 0.72% và 0.97%. Khi bị hai nút độc hại tấn công (2MN)
với tần suất 20pkt/s thì tỷ lệ gửi gói tin thành công giảm từ 93.52% xuống còn 9.56%
tại kịch bản di động với vận tốc di động 30m/s, độ lệch chuẩn là 4.08%. Như vậy, tấn
công ngập lụt đã làm giảm hiệu quả định tuyến dữ liệu của giao thức AODV, mức độ
giảm tỷ lệ thuận với tần suất tấn công và số lượng nút độc hại.
b) Phụ tải định tuyến: Hình 1.21(b) cho thấy tấn công ngập lụt đã làm tăng phụ
tải định tuyến của AODV theo vận tốc di động, số lượng nút độc hại và tần suất tấn
công. Sau 500s mô phỏng trong môi trường mạng bình thường, phụ tải định tuyến của
AODV là 2.18pkt, 3.08pkt và 3.80pkt tương ứng vận tốc di động là 10m/s, 20m/s và
30m/s, độ lệch chuẩn lần lượt là 0.48pkt, 0.31pkt và 0.75pkt. Tuy nhiên, khi xuất hiện
tấn công thì phụ tải định tuyến tăng lên rất cao, từ 2.18pkt lên 17.37pkt khi bị một
nút độc hại tấn công (1MN) với tần suất 10pkt/s trong kịch bản di động với vận tốc
10m/s, độ lệch chuẩn là 0.75pkt. Khi bị hai nút độc hại tấn công với tần suất 20pkt/s
thì phụ tải định tuyến tăng cao nhất, từ 3.8pkt lên 829.79pkt trong kịch bản di động
với vận tốc 30m/s.
c) Thời gian trễ trung bình: Hình 1.21(c) cho thấy tấn công ngập lụt đã làm
tăng thời gian trễ trung bình để định tuyến thành công một gói dữ liệu đến đích của
giao thức AODV. Nguyên nhân là do tấn công ngập lụt đã cản trở quá trình khám phá
tuyến của tất cả các nút vì phải xử lý các gói tin vô ích do nút độc hại phát ra. Sau
500s mô phỏng trong môi trường bình thường, thời gian trễ trung bình của AODV là
0.171s, 0.232s và 0.217s tương ứng vận tốc di động là 10m/s, 20m/s và 30m/s, độ lệch
chuẩn lần lượt là 0.062s, 0.039s và 0.033s. Tuy nhiên, khi xuất hiện một nút độc hại
tấn công với tần suất 10pkt/s thì thời gian trễ trung bình tăng từ 0.171s lên 0.299s
trong kịch bản di động với vận tốc 10m/s, độ lệch chuẩn là 0.043. Trường hợp hai nút
độc hại tấn công với tần suất 20pkt/s và nút di động với vận tốc 30m/s thì thời gian
trễ trung bình tăng từ 0.217s lên 4.043s, độ lệch chuẩn là 1.276s.
35
0
10
20
30
40
50
60
70
80
90
100
v1-10 v1-20 v1-30
Tỷ
lệ gửi
gói
tin
thàn
h cô
ng (
%)
Vận tốc di động (m/s)
Normal 1MN-10pkt/s 1MN-20pkt/s 2MN-10pkt/s 2MN-20pkt/s
(a) Tỷ lệ gửi gói tin thành công
0
200
400
600
800
1000
1200
1400
v1-10 v1-20 v1-30
Phụ
tải địn
h tu
yến
(pkt
)
Vận tốc di động (m/s)
Normal 1MN-10pkt/s 1MN-20pkt/s 2MN-10pkt/s 2MN-20pkt/s
(b) Phụ tải định tuyến
0
1
2
3
4
5
6
v1-10 v1-20 v1-30
Thờ
i gia
n trễ
trun
g bì
nh (
sec)
Vận tốc di động (m/s)
Normal 1MN-10pkt/s 1MN-20pkt/s 2MN-10pkt/s 2MN-20pkt/s
(c) Thời gian trễ trung bình
Hình 1.21. Tác hại tấn công ngập lụt gói RREQ đến hiệu năng của giao thức AODV
1.6 Phương pháp kiểm tra an ninh
Các giải pháp an ninh đã công bố trong thời gian qua sử dụng hai phương pháp
là kiểm tra đầu-cuối (EE) và kiểm tra tại mỗi–chặng (HbH). Điểm khác biệt giữa hai
phương pháp là thông tin được sử dụng trong quá trình kiểm tra an ninh là do nút
nguồn hoặc nút liền trước cung cấp.
36
– Kiểm tra đầu–cuối: Nút trung gian (hoặc đích) sử dụng thông tin của nút
nguồn trong gói điều khiển để kiểm tra tuyến. Ưu điểm là hạn chế tiêu hao tài nguyên
hệ thống, nhưng nút trung gian không có cơ sở để kiểm tra nút liền trước, nút chỉ xác
định được tuyến độc hại mà không biết chính xác địa chỉ của nút độc hại.
– Kiểm tra tại mỗi–chặng: Mỗi nút sử dụng thông tin của nút liền trước trong
gói điều khiển tuyến để kiểm tra tuyến. Ưu điểm là nút trung gian có cơ sở để kiểm
tra nút liền trước nên nút biết chính xác địa chỉ của nút độc hại và tuyến chứa nút
độc hại, tỷ lệ sai lầm thấp hơn kiểm tra đầu–cuối. Tuy nhiên, cơ chế kiểm tra này sẽ
làm tăng chi phí định tuyến và tiêu hao tài nguyên mạng do việc kiểm tra được thực
hiện tại mỗi nút.
1.7 Một số giải pháp an ninh liên quan
Hầu hết các giải pháp an ninh liên quan đã công bố theo hai hướng tiếp cận là:
(1) Phát hiện xâm nhập và (2) Bảo mật định tuyến như Hình 1.22. Giải pháp phát
hiện xâm nhập có ưu điểm là đơn giản, phát hiện chính xác từng hình thức tấn công
và dễ dàng áp dụng trên các thiết bị có cấu hình phần cứng thấp, nhưng hiệu quả an
ninh hạn chế hơn giải pháp bảo mật định tuyến. Ngược lại, giải pháp bảo mật định
tuyến có thể phát hiện và ngăn chặn nhiều hình thức tấn công, nhưng phức tạp và yêu
cầu cấu hình thiết bị phần cứng cao để vận hành các thuật toán mã hóa dữ liệu.
Blackhole/Sinkhole
DelPHI [17]
Grayhole Wormhole Flooding
PH
ÁT
HIỆ
N X
ÂM
NH
ẬP
WADT [44]
TTHCA [42]
EEP [72]
Thời gian
Vị trí
BẢ
O M
ẬT
ĐỊN
H T
UY
ẾN
FAP [67]
EFS [75]
BI [24]
SVMT [62]
kNNAODV [49]
Ngưỡng
Chữ ký số
SAODV [91]
ARAN [74]
H(AODV) [48]
OTP_AODV [21]
OTP
Học máy
Hình 1.22. Tổng hợp các giải pháp an ninh trên mạng MANET đã công bố
37
a) Phát hiện xâm nhập: Đầu tiên là một số IDS phát hiện tấn công lỗ sâu dựa
trên thời gian [17, 42, 44] và vị trí [72]. Thời gian truyền gói tin trên một tuyến tỷ lệ
thuận với HC, tuyến dài tương ứng HC lớn thì thời gian tăng tương ứng, nên DPH của
các tuyến bình thường là gần giống nhau. Ngược lại, tuyến có nút lỗ sâu sẽ có DPH
cao hơn tuyến bình thường, nguyên nhân là do gói khám phá tuyến phải truyền qua
liên kết giữa hai nút độc hại với một khoảng cách xa. Đây là ý tưởng chính được áp
dụng trong giải pháp DelPHI [17], TTHCA [42] và WADT [44] để phát hiện tấn công
lỗ sâu. Ngoài ra, đặc điểm của tấn công lỗ sâu là hai nút độc hại kết nối qua một đường
hầm. Vì vậy, tác giả [72] đã đề xuất giao thức đầu–cuối (EEP). Giải pháp đơn giản,
nhưng hiệu quả trong việc phát hiện tấn công lỗ sâu bằng cách sử dụng vị trí của mỗi
nút để tính chiều dài tuyến (len). Nếu số chặng đến đích nhỏ hơn dlen/Re thì tuyếncó chứa nút lỗ sâu, ngược lại thì tuyến là bình thường, trong đó len là độ dài tuyến
và R là bán kính phát sóng tối đa của nút. Tuy nhiên, các giải pháp đã công bố vẫn
còn một số hạn chế: (1) Thời gian DPH được tính dựa vào thời gian RTT hoặc PTT,
chúng bị ảnh hưởng bởi môi trường di động và độ trễ trong quá trình xử lý tại mỗi nút
nên ảnh hưởng đến độ chính xác của thuật toán kiểm tra; (2) Sử dụng phương pháp
kiểm tra đầu-cuối nên tỷ lệ sai lầm cao. Nút nguồn hoặc đích không nhận biết chính
xác địa chỉ nút độc hại. Để phát hiện nút độc hại, nút nguồn phải sử dụng thêm các
gói tin điều khiển mới (tiêu biểu là TTHCA [42]), nhưng điều này sẽ làm tăng hao phí
truyền thông. Ngoài ra, tin tặc có thể giả mạo gói tin điều khiển mới để tấn công nếu
không có giải pháp bảo mật phù hợp; (3) Do không hỗ trợ cơ chế kiểm tra toàn vẹn
gió tin nên nút độc hại có thể thay đổi thông tin của gói tin RCP nhằm qua mặt các
giải pháp an ninh.
Tiếp theo là một số IDS phát hiện tấn công ngập lụt. Ý tưởng chính của các
IDS là dựa vào tần suất phát gói RREQ để làm giá trị “ngưỡng” phát hiện tấn công
mạng. Một nút thực hiện yêu cầu tuyến vượt quá giá trị ngưỡng sẽ được xác định là
độc hại. Điểm khác biệt của các IDS đã công bố là giá trị ngưỡng được thiết lập cố
định [67, 75] hoặc linh động [24, 27]. Tuy nhiên, tồn tại trong các giải pháp đã công
bố là: (1) Việc xác định giá trị ngưỡng cố định sẽ thiếu tính linh hoạt, nguyên nhân là
ngưỡng tối ưu trong các môi trường mạng khác nhau sẽ khác nhau; (2) Tỷ lệ sai lầm
cao nếu tin tặc thực hiện hành vi tấn công với tần suất thấp (nhỏ hơn 10pkt/s); (3)
Đặc biệt, tin tặc có thể qua mặt các giải pháp an ninh bằng cách thiết lập nút độc
hại phát gói RREQ với tần suất thấp hơn giá trị ngưỡng. Ngoài ra, một số giải pháp
[49, 62] dựa trên hướng tiếp cận khác là học máy, các giải pháp này sử dụng thuật
toán máy học véc-tơ hỗ trợ (SVM) và k-láng giềng gần nhất (kNN) để phát hiện nút
độc hại. Tuy nhiên, thuật toán của giải pháp SVMT [62] vẫn dựa trên ngưỡng cố định
nên hiệu quả an ninh hạn chế. Giải pháp kNNAODV [49] dựa trên số lượng phát gói
RREQ phân biệt nút độc hại hoặc bình thường. Ngoài ra, kNNAODV được thiết kế để
sử dụng cho mạng cảm biến không dây gồm các nút mạng cố định. Vì vậy, giải pháp
kNNAODV bị hạn chế khi sử dụng trong mạng MANET do các nút mạng di động với
vận tốc cao.
38
b) Bảo mật định tuyến: Mặc dù các IDS có thể phát hiện và ngăn chặn tấn công
mạng hiệu quả, nhưng chúng dễ bị sai lầm nếu tin tặc thay đổi hành vi tấn công. Một
số giải pháp theo hướng tiếp cận bảo mật định tuyến có thể cải thiện hạn chế này. Ý
tưởng chính của các giải pháp là sử dụng OTP hoặc chữ ký số để xác thực trong quá
trình khám phá tuyến. Đầu tiên là giải pháp an ninh sử dụng OTP. Đây là hướng tiếp
cận mới với khả năng an ninh tốt, đã được ứng dụng trong thực tế như an ninh trong
mạng LTE [35], giao dịch ATM [43]. Trong quá trình khám phá tuyến, OTP được gửi
kèm các gói tin điều khiển tuyến cho phép nút trung gian kiểm tra nút liền trước. Cơ
chế xác thực OTP cho phép phát hiện hầu hết các hình thức tấn công mạng hiện tại với
chi phí định tuyến phù hợp và ít ảnh hưởng đến giao thức gốc. Tuy nhiên, H(AODV)
[48] chưa hỗ trợ tạo OTP cho các nút, dữ liệu của bảng “Hash Tables” được cài đặt thủ
công tại mỗi nút. Đây là điểm yếu vì các nút mạng phân tán và di động thì việc chia
sẻ “Hash Tables” sao cho an toàn là một thách thức. Ngoài ra tác giả chưa mô phỏng
trên môi trường có nút độc hại để đánh giá hiệu quả. Giao thức OTP_AODV [21]
được đề xuất đã khắc phục được các nhược điểm này. Cơ chế tạo OTP trong giao thức
OTP_AODV không yêu cầu một kênh truyền riêng, nhưng tác giả đã yêu cầu nhiều
điều kiện giả thuyết khác. Trong đó yêu cầu về “mỗi nút trong mạng có một chứng thư
số và được xác thực bởi cơ quan có thẩm quyền” là quá lý tưởng. Nếu giả thuyết này
được đáp ứng thì các nút trong mạng có thể xác thực nút liền trước dựa vào chứng
thư số mà không cần phải dựa vào OTP. Ngoài ra, do thiếu cơ chế kiểm tra toàn vẹn
gói tin nên nút độc hại có thể thay đổi thông tin của gói điều khiển tuyến nhận được
và chuyển tiếp chúng mà không bị phát hiện.
Mặc dù các giải pháp sử dụng OTP có hiệu quả an ninh tốt, nhưng hướng tiếp
cận này tồn tại hạn chế là không có cơ chế xác thực toàn vẹn gói tin. Để cải thiện hạn
chế này, các giải pháp an ninh trên nền tảng chữ ký số đã được đề xuất như SAODV
[91] và ARAN [74]. Để đảm bảo an ninh, cả hai giao thức sử dụng chữ ký số để bảo
vệ các trường không thay đổi. Chi phí định tuyến HC thay đổi mỗi khi chuyển tiếp,
nên SAODV sử dụng chuỗi băm để bảo vệ trường này. Hạn chế của SAODV chỉ hỗ
trợ phương pháp kiểm tra đầu-cuối nên nút trung gian không thể kiểm tra nút liền
trước. Ngoài ra, SAODV chưa có cơ chế quản lý khóa công khai nên nút độc hại có
thể sử dụng bộ khóa giả mạo để tấn công mạng mà không bị phát hiện. Vấn đề này
được khắc phục trong ARAN bằng cách bổ sung cơ chế cấp chứng thư số dựa trên hạ
tầng khóa công khai (PKI). ARAN giả định rằng gói điều khiển tuyến được ký tại nút
nguồn trước khi gửi đi, bất kỳ sự thay đổi thông tin của gói trong quá trình chuyển
tiếp đều bị nút trung gian xem là không hợp lệ và bị hủy bỏ, từ đó giúp phát hiện tấn
công. Do đặc điểm này mà ARAN không thể tích hợp thông số HC vào gói điều khiển
tuyến để tính chi phí, bao gồm gói khám phá tuyến RDP và trả lời tuyến REP. Vì vậy,
ARAN không thể nhận biết chi phí tuyến đến đích và nút trung gian không thể trả lời
tuyến đã làm giảm hiệu quả định tuyến của giao thức gốc. Cả hai giao thức đều không
thể phát hiện tấn công lỗ sâu ở chế độ ẩn [15, 57, 92].
39
1.8 Tiểu kết Chương 1
Chương này của luận án đã trình bày cơ chế hoạt động của giao thức AODV,
phân tích chi tiết hình thức tấn công lỗ sâu và ngập lụt trên mạng MANET. Ngoài
ra, chương này cũng thiết kế kịch bản, đánh giá tác hại của 2 hình thức tấn công này
bằng mô phỏng trên NS2. Đây là cơ sở để kiểm tra hiệu quả của các giải pháp an ninh
được đề xuất tại các chương tiếp theo. Kết quả mô phỏng đã cho thấy rằng:
(1) Tấn công lỗ sâu nhằm mục đích phá hoại đã ảnh hưởng đến hiệu năng mạng.
Mức độ gây hại tùy thuộc vào chiều dài đường hầm, vị trí nút độc hại. Khi 2
nút độc hại ở vị trí trung tâm và độ dài đường hầm là 3 chặng thì tỷ lệ gửi gói
tin thành công của giao thức AODV giảm từ 78.38% và 76.07% xuống 40.28%
và 40.11%, tương ứng 10 và 20 nguồn phát dữ liệu.
(2) Tấn công ngập lụt làm tăng rất lớn phụ tải định tuyến, không nhằm mục đích
hủy gói tin. Tuy nhiên, nếu tần suất phát gói RREQ đủ lớn sẽ cản trở quá trình
khám phá tuyến và ảnh hưởng đến hiệu quả định tuyến. Kết quả mô phỏng khi
bị hai nút độc hại tấn công với tần suất 20pkt/s thì tỷ lệ gửi gói tin thành công
giảm từ 93.52% xuống còn 9.56% tại kịch bản di động với vận tốc di động 30m/s,
độ lệch chuẩn là 4.08%.
Như vậy, cả hai hình thức tấn công lỗ sâu và tấn công ngập lụt đều gây ảnh
hưởng đến hiệu năng của giao thức AODV trên mạng MANET. Trong các Chương
tiếp theo, luận án sẽ phân tích một số giải pháp an ninh đã công bố và đề xuất giải
pháp phát hiện, ngăn chặn các hình thức tấn công này.
40
Chương 2
GIẢI PHÁP PHÁT HIỆN VÀ NGĂN CHẶN
TẤN CÔNG LỖ SÂU
Chương này phân tích chi tiết một số giải pháp phát hiện và ngăn chặn tấn công
lỗ sâu đã được công bố. Qua đó, luận án chỉ ra các điểm tồn tại và đề xuất giải pháp
xác thực đa mức (MLA) nhằm phát hiện và ngăn chặn tấn công lỗ sâu. Luận án cũng
đã tích hợp giải pháp MLA vào AODV tạo giao thức cải tiến tên là MLAMAN. Đồng
thời, đánh giá hiệu quả an ninh của giải pháp MLA và EEP trong môi trường mạng
di chuyển ngẫu nhiên và có nút độc hại.
2.1 Giới thiệu
Mục đích của tấn công lỗ sâu là nghe trộm, đôi khi tin tặc thiết lập tấn công
nhằm mục đích phá hoại [44]. Để tấn công, tin tặc sử dụng hai nút độc hại kết nối với
nhau thông qua đường hầm. Khi nhận được gói tin, hai nút độc hại phối hợp để gửi
gói đến đích và chuyển tiếp gói về nguồn. Mục đích để nút nguồn xác lập tuyến qua
đường hầm do chi phí thấp hơn tuyến thực tế. Hình 2.1 mô tả hai nút độc hại M1 và
M2 kết nối với nhau qua một đường hầm để thực hiện tấn công lỗ sâu. Có ba tuyến
từ nguồn (NS) đến đích (ND). Trong đó tuyến qua đường hầm có chi phí là 3 chặng
(hoặc 1 chặng nếu ở chế độ ẩn), thấp hơn hai tuyến bình thường có chi phí lần lượt là
4 và 6 chặng. Vì vậy, tất cả gói dữ liệu từ NS đến ND được chuyển qua đường hầm.
HC=4
HC=6 HC=1 (HM)
HC=3 (PM)
Đường hầm
M1
M2
NS
ND
N1
Hình 2.1. Mô tả tấn công lỗ sâu sử dụng đường hầm kết nối giữa M1 và M2
41
Tấn công lỗ sâu rất nguy hại và khó phát hiện do gói tin không bị thay đổi khi
chuyển tiếp qua nút độc hại ở chế độ ẩn. Chương này của luận án sẽ giải quyết nhược
điểm các giải pháp đã công bố bằng cơ chế xác thực đa mức (MLA [CT1]).
2.2 Phân tích ưu và nhược điểm của một số giải pháp an ninh
trước tấn công lỗ sâu
Một số giải pháp an ninh đã công bố được liệt kê như Hình 2.2. Đầu tiên là một
số giải pháp dựa vào thời gian, tiêu biểu là DelPHI, TTHCA, WADT. Hạn chế của
các giải pháp này là thời gian trễ trên mỗi chặng phụ thuộc vào nhiều yếu tố như môi
trường di động, lưu lượng dữ liệu và độ trễ xử lý. Vì vậy, hiệu quả an ninh phụ thuộc
vào độ dài đường hầm. Giải pháp dựa trên vị trí cải thiện được hạn chế này, nhưng
EEP sử dụng phương pháp kiểm tra đầu-cuối nên xuất hiện sai lầm nếu độ dài đường
hầm nhỏ. Phần này phân tích ưu, nhược điểm của các giải pháp này để làm cơ sở cho
hai đề xuất của luận án.
DelPHI [17] WADT [44] TTHCA [42] EEP [72]
Thời gian Vị trí
Wormhole
MLA [CT1]
Hình 2.2. Một số giải pháp phát hiện và ngăn chặn tấn công lỗ sâu đã công bố
2.2.1 Giải pháp DelPHI
Tác giả [17] và cộng sự đã đề xuất giải pháp tên là DelPHI nhằm phát hiện và
ngăn chặn tấn công lỗ sâu. DelPHI sử dụng thời gian RTT để tính độ trễ mỗi chặng
như Công thức (2.1). Độ trễ trên mỗi chặng của các tuyến bình thường là gần giống
nhau, nhưng thấp hơn tuyến chứa đường hầm. Nguyên nhân là do gói tin phải truyền
qua liên kết giữa hai nút độc hại với một khoảng cách xa hơn bán kính phát sóng. Do
vậy, nếu DPH của tuyến Pi lớn hơn DPH của tuyến Pj giá trị ngưỡng (Th) thì Pi chứa
nút độc hại.
DPH = RTT/(2 ∗HC) (2.1)
Giao thức DelPHI được cải tiến từ AODV. DelPHI sử dụng gói yêu cầu tuyến
(DREQ) và trả lời tuyến (DREP) thay cho gói RREQ và RREP của giao thức gốc.
Điểm cải tiến của giao thức DelPHI so với AODV là:
• Nút trung gian luôn quảng bá gói DREQ đến đích. Nút đích chấp nhận tất cả gói
DREQ để trả lời tuyến. Mục đích là cho phép nút nguồn nhận gói DREP trên
nhiều tuyến khác nhau;
42
• Khi nhận được gói DREP, nút nguồn kiểm tra và chỉ chấp nhận gói DREP trên
tuyến bình thường, các gói DREP trên tuyến chứa nút độc hại bị loại bỏ.
Giả sử rằng nút nguồn nhận được các gói DREP từ nút đích trên q tuyến đường
khác nhau gồm P0, P1, P2, P3, ..., Pq−1. Thuật toán 2.1 cho phép nút nguồn xác định các
tuyến bình thường và tuyến chứa nút độc hại. Trong trường hợp xấu nhất, nút đích sẽ
gửi gói DREP về nguồn trên n-2 tuyến đường, tất cả các tuyến đường có độ dài là 2
chặng. Như vậy, giải pháp DelPHI có độ phức tạp thuật toán là O((n− 2)2) = O(n2),
với n là số lượng nút mạng.
Algorithm 2.1: Thuật toán kiểm tra tuyến của DelPHI [17]
Input: RL = {P0, P1, P2, P3, ..., Pq−1} và giá trị ngưỡng Th
Output: ML = {các tuyến độc hại} và NL = {các tuyến bình thường}
1 Begin
2 for i = 0 to q - 1 do RL[i].DPH ← RL[i].RTT/RL[i].HC;
3 for i = 0 to q - 2 do
4 for j = 0 to q - i - 1 do
5 if (RL[j].DPH < RL[j + 1].DPH) then Swap(RL[j], RL[j+1]);
6 ind← q − 1;
7 while (RL[ind− 1].DPH −RL[ind].DPH 6 Th) and (ind > 1) do
8 NL← NL ∪ {RL[ind]};9 ind← ind− 1;
10 while (ind > 1) do
11 ML←ML ∪ {RL[ind]};12 ind← ind− 1;
13 return ML và NL;
14 End;
Nhận xét: Kết quả mô phỏng trên NS2 cho thấy hiệu quả an ninh của DelPHI
phụ thuộc vào giá trị ngưỡng (Th) (xem thêm [17], Bảng 1). Khi thiết lập Th là 1ms,
tỷ lệ phát hiện tuyến chứa đường hầm đúng tối đa là 97.6% (sai lầm 2.4%). Tuy nhiên,
tỷ lệ đúng của DelPHI khi kiểm tra tuyến bình thường chỉ đạt 85.8% (sai lầm 14.2%).
Ngoài ra, DelPHI còn tồn tại một số nhược điểm như sau:
• Thời gian RTT phụ thuộc vào nhiều yếu tố như: môi trường di động, lưu lượng
dữ liệu và độ trễ xử lý tại mỗi nút. Vì vậy, giá trị ngưỡng tối ưu trong môi trường
khác nhau sẽ khác nhau. Việc thiết lập giá trị ngưỡng thủ công dẫn đến thuật
toán thiếu mềm dẻo khi ứng dụng vào thực tế;
• Nút trung gian luôn quảng bá gói DREQ đến đích mà không trả lời tuyến cho
dù nó có tuyến hợp lệ đến đích. Vì vậy, DelPHI đã làm giảm hiệu quả khám phá
tuyến và tăng hao phí truyền thông so với giao thức gốc;
43
• DelPHI không hiệu quả trong trường hợp tất cả gói DREP về nguồn trên tuyến
chứa đường hầm hoặc nguồn chỉ nhận được gói DREP duy nhất một tuyến. Nút
trung gian không tham gia vào việc kiểm tra an ninh. Vì vậy, nút nguồn chỉ phát
hiện tuyến có chứa đường hầm, không xác định được địa chỉ của nút độc hại.
2.2.2 Giải pháp WADT
Để cải thiện hạn chế của DelPHI, tác giả [44] và cộng sự đã đề xuất giải pháp
WADT nhằm phát hiện và ngăn chặn tấn công lỗ sâu. WADT sử dụng độ trễ tối đa
(MD) như là giá trị ngưỡng nhằm phát hiện tuyến chứa đường hầm hoặc bình thường.
Độ trễ tối đa giữa nút nguồn NS và nút láng giềng NA như mô tả trong Hình 2.3.
NS
NATRREQ
TRREP
R
d− 1
R
Hình 2.3. Mô tả cách tính độ trễ tối đa của giải pháp WADT [44]
Công thức (2.2) cho phép tính độ trễ tối đa từ nút nguồn NS và nút láng giềng
NA, trong đó T là thời gian đi từ nguồn NS đến nút láng giềng NA, R là bán kính phát
sóng của nguồn NS, d là khoảng cách Euclid của hai nút NS và NA. Nếu nút nguồn
NS có nhiều láng giềng thì ngưỡng là giá trị lớn nhất trong các MD tương ứng mỗi
láng giềng. Tuyến được xác định là chứa nút độc hại nếu DPH lớn hơn ngưỡng MD.
MD = TRREQ + TRREP + 2× (T × (R
d− 1)) (2.2)
Tác giả [44] trình bày giao thức cải tiến từ AODV, giao thức này sử dụng giải
pháp WADT hoạt động như sau:
• Mỗi khi khởi động quá trình khám phá tuyến, nút nguồn tính độ trễ tối đa (MD)
trên 1 chặng để làm giá trị ngưỡng;
• Nút đích chấp nhận tất cả gói RREQ nhận được để trả lời tuyến, mục đích là
cho phép nút nguồn nhận gói RREP trên nhiều tuyến khác nhau;
• Khi nhận được gói RREP, nút nguồn tính DPH theo Công thức (2.1) trên mỗi
tuyến và so sánh với ngưỡng MD. Nếu DPH của tuyến Pi lớn hơn ngưỡng MD
thì Pi chứa nút độc hại, gói RREP bị loại bỏ.
44
Thuật toán 2.2 cho phép nút nguồn xác định các tuyến bình thường và tuyến
chứa nút độc hại. Giả sử rằng nút nguồn nhận được các gói RREP từ nút đích trên
q tuyến đường P0, P1, P2, P3, ..., Pq−1. Nút nguồn duyệt qua tất cả các tuyến đường để
tính độ trễ trên mỗi chặng. Nếu tuyến đường Pi có độ trễ trên mỗi chặng > ngưỡng
MD thì Pi được xác định là chứa nút độc hại. Tương tự giải pháp DelPHI, số lượng
tuyến đường mà nút nguồn nhận được gói RREP tối đa là n-2. Như vậy, độ phức tạp
thuật toán của giải pháp WADT là O(n), với n là số lượng nút mạng.
Algorithm 2.2: Thuật toán kiểm tra tuyến của WADT [44]
Input: RL = {P0, P1, P2, P3, ..., Pq−1} và giá trị ngưỡng MD
Output: ML = {các tuyến độc hại} và NL = {các tuyến bình thường}
1 Begin
2 for i = 0 to q - 1 do RL[i].DPH ← RL[i].RTT/RL[i].HC;
3 for i = 0 to q - 1 do
4 if (RL[i].DPH > MD) then
5 ML←ML ∪ {RL[i]}
6 else
7 NL← NL ∪ {RL[i]};
8 return ML và NL;
9 End;
Nhận xét: Hiệu quả an ninh của WADT được so sánh với DelPHI bằng mô
phỏng trên NS2. Kết quả cho thấy WADT hiệu quả hơn DelPHI dựa trên tỷ lệ gửi gói
tin thành công đến đích (theo [44]). Tuy nhiên, WADT tồn tại hạn chế như sau:
• Gói điều khiển tuyến RREQ và RREP có thể được chờ lâu trong hàng đợi trước
khi xử lý. Dẫn đến DPH của tuyến bình thường có thể cao hơn MD. Vì vậy,
WADT có tỷ lệ lỗi cao nếu độ dài của đường hầm nhỏ;
• WADT không cho phép các nút trung gian kiểm tra an ninh. Vì vậy, nút nguồn
chỉ phát hiện tuyến có chứa nút độc hại, không xác định được chính xác địa chỉ
của nút độc hại.
2.2.3 Giải pháp TTHCA
Hiệu quả an ninh của DelPHI và WADT bị hạn chế trong môi trường mạng di
động do độ trễ trên mỗi chặng được tính dựa trên thời gian RTT. Để khắc phục nhược
điểm này, tác giả [42] và cộng sự đã đề xuất giải pháp phát hiện và ngăn chặn tấn
công lỗ sâu bằng cách phân tích chi phí và thời gian tuyền tải (TTHCA). Thời gian
truyền tải gói tin (PTT) được sử dụng thay cho thời gian RTT, được tính như Công
thức (2.3), trong đó ∆TTOT là tổng độ trễ để xử lý gói tin điều khiển tuyến tại các
45
nút trung gian. Điểm khác biệt của TTHCA so với DelPHI và WADT là phương pháp
tính giá trị ngưỡng để phát hiện tấn công mạng. Giá trị ngưỡng (Th) của TTHCA là
tỷ số giữa bán kính phát sóng (R) và vận tốc truyền tín hiệu (V) được thiết lập là
300,000,000m/s, được tính như Công thức (2.4).
PTT = (RTT −∆TTOT )/2 (2.3)
Th = R/V (2.4)
Hình 2.4 là mô hình phát hiện tấn công lỗ sâu của giải pháp TTHCA. Nút
nguồn ghi nhận thời điểm khám phá tuyến để tính thời gian RTT trước khi quảng bá
gói RREQ. Khi nhận được gói RREQ, nút trung gian tính thời gian trễ để xử lý gói
RREQ (∆TRREQ) và lưu vào bộ nhớ của nó trước khi tiếp tục quảng bá. Khi nhận
được gói RREQ, nút đích tính thời gian trễ xử lý gói RREQ và RREP (∆TRREQ và
∆TRREP ). Kết quả được lưu vào trường ∆TTOT của gói RREP trước khi gửi về nguồn.
Khi nhận được gói RREP, nút trung gian tính độ trễ xử lý gói RREP (∆TRREP ) cộng
với ∆TRREQ. Kết quả được cộng vào trường ∆TTOT của gói RREP trước khi chuyển
tiếp về nguồn. Nút nguồn chỉ chấp nhận tuyến có PTT/HC không vượt quá ngưỡng
Th; ngược lại, tuyến chứa nút độc hại. Nút đích nhận gói RREP trên nhiều tuyến
đường để loại bỏ tuyến có nút độc hại. Số lượng tuyến đường mà nút nguồn nhận được
gói RREP tối đa là n-2. Như vậy, độ phức tạp thuật toán của giải pháp TTHCA là
O(n), với n là số lượng nút mạng.
Khám phá tuyếnNút nguồn
Quảng bá gói RREQKhởi tạo thời gian RTT
Quảng bá gói chứa GrayListKhởi tạo lại thời gian RTT
Tính thời gian RTTPTT = (RTT - ∆TTOT )/2
PTT/HC > Th
no
Khám phá thành công
yes
Nút trung gian
Tính giá trị ∆TRREQTiếp tục quảng bá gói RREQ
Tính giá trị ∆TRREP∆TTOT += ∆TRREQ + ∆TRREP
Nút đích
Tính giá trị ∆TRREQ và ∆TRREPTính ∆TTOT = ∆TRREQ + ∆TRREP
Gửi gói RREP kèm ∆TTOT
Hình 2.4. Mô hình phát hiện tấn công lỗ sâu của TTHCA [42]
46
Nhận xét: Hiệu quả an ninh của TTHCA được so sánh với DelPHI và MHA.
Kết quả cho thấy rằng giải pháp TTHCA hiệu quả tốt hơn DelPHI và MHA [38]. Tuy
nhiên, TTHCA vẫn tồn tại một số nhược điểm như sau:
• Hiệu quả an ninh của TTHCA vẫn còn phụ thuộc nhiều vào chiều dài đường
hầm. Kết quả mô phỏng [42] cho thấy rằng TTHCA có hiệu quả tốt nếu độ dài
đường hầm lớn hơn 4 chặng;
• TTHCA sử dụng vận tốc truyền tín hiệu V theo lý thuyết. Khi triển khai thực
tế, V sẽ bị tác động bởi nhiễu do điều kiện thời tiết nên ảnh hưởng đến hiệu quả
an ninh;
• Giải pháp TTHCA sử dụng phương pháp kiểm tra đầu-cuối nên nút nguồn không
phát hiện được nút độc hại. Để xác định địa chỉ nút độc hại, nút nguồn phải
quảng bá gói tin hệ thống mới chứa danh sách xám. Điều này làm tăng hao phí
truyền thông và không an toàn vì tin tặc có thể lợi dụng để tấn công mạng.
2.2.4 Giải pháp EEP
Hiệu quả an ninh của các giải pháp dựa trên thời gian trễ mỗi chặng bị ảnh
hưởng bởi vận tốc di động và chiều dài đường hầm. Để cải thiện hạn chế này, tác giả
[72] và cộng sự đã đề xuất giao thức đầu-cuối (EEP) nhằm phát hiện và ngăn chặn
tấn công lỗ sâu. Giải pháp EEP sử dụng vị trí của nút thông qua tín hiệu GPS (tương
tự [30, 47]) để tính độ dài tuyến (len). Khi nhận gói RREQ, nút đích kiểm tra nếu chi
phí định tuyến (HC) đến đích nhỏ hơn dlen/Re thì tuyến chứa đường hầm, trong đó R
là bán kính phát sóng của nút. Tương tự giải pháp DelPHI, nút đích nhận gói RREP
trên nhiều tuyến đường để loại bỏ tuyến có nút độc hại. Số lượng tuyến đường mà nút
nguồn nhận được gói RREP tối đa là n-2. Độ phức tạp thuật toán của EEP là O(n),
n là số lượng nút mạng.
HC=4
HC=6 HC=1 (HM)
HC=3 (PM)
Đường hầm
M1
M2
NS
ND
N1
RREQ
RREQ
RREQ
N2 N3
N4
N5
N8 N6
N7
Hình 2.5. Mô tả giải pháp phát hiện và ngăn chặn tấn công lỗ sâu EEP
Ví dụ 2.1: Hình 2.5 là một ví dụ mô tả giải pháp phát hiện và ngăn chặn
tấn công lỗ sâu EEP. Nút nguồn NS khám phá tuyến đến đích ND bằng cách quảng
47
bá gói RREQ, vị trí của NS được gán vào gói RREQ trước khi quảng bá. Mỗi khi
nhận gói RREQ, nút trung gian (Ni) tính độ dài tuyến (len) bằng cách sử dụng GPS
của nút liền trước trong gói RREQ. GPS của nút Ni được gán vào gói RREQ trước
khi được quảng bá đến láng giềng. Nút đích nhận được 3 gói RREQ trên 3 tuyến là
P1(NS → N5 → N4 → N3 → N2 → N1 → ND); P2(NS → N8 → N7 → N6 → ND)
và P3(NS → M1 → M2 → ND). Mỗi khi nhận gói RREQ, nút đích ND tính vi =
dlen(Pi)/Re, ∀i = 1..3. Nếu HC(Pi) < vi thì Pi là tuyến chứa đường hầm, gói RREQ
bị loại bỏ; ngược lại, Pi là tuyến bình thường.
Nhận xét: EEP là giải pháp đơn giản để phát hiện tấn công lỗ sâu. Tuy nhiên,
EEP vẫn tồn tại một số nhược điểm cần phải tiếp tục nghiên cứu, cải tiến như sau:
• Giải pháp EEP sử dụng phương pháp kiểm tra đầu-cuối nên hiệu quả phát hiện
tuyến độc hại bị hạn chế. Nguyên nhân là do chiều dài tuyến bị thay đổi trong
môi trường di động cao. Vì vậy, theo [72] thì giải pháp sẽ bị sai lầm nếu độ dài
đường hầm nhỏ hơn (HC/2 + 2)×R;
• Nút nguồn không kiểm tra tuyến khi nhận gói trả lời tuyến RREP. Vì vậy, giải
pháp EEP có thể bị sai lầm trong trường hợp nút trung gian trả lời tuyến về
nguồn qua đường hầm. Quan sát Hình 2.5, ta thấy rằng N1 có thể gửi gói RREP
về nguồn theo hướng {N1 →M2 →M1 → NS}, kết quả là nút nguồn khám phá
ra tuyến chứa đường hầm.
2.3 Cơ chế xác thực đa mức
Điểm hạn chế của các giải pháp phát hiện và ngăn chặn tấn công lỗ sâu đã công
bố là không hỗ trợ cơ chế kiểm tra toàn vẹn gói tin. Vì vậy, tin tặc có thể khai thác để
vượt qua cơ chế an ninh TTHCA và EEP khi thực hiện tấn công lỗ sâu ở chế độ tham
gia. Nguyên nhân là do:
• Giải pháp TTHCA dựa trên thông tin của trường ∆TTOT trong gói tin điều khiển
tuyến để tính giá trị thời gian PTT như Công thức (2.3). Mỗi khi nhận gói tin
điều khiển tuyến, nút độc hại chỉ cần hiệu chỉnh giá trị ∆TTOT = 2 ∗ TTL, TTLlà thời gian sống của gói tin. Dẫn đến giá trị PTT/HC của tuyến qua đường hầm
nhỏ hơn tuyến bình thường và nhỏ hơn ngưỡng. Kết quả là nút nguồn chấp nhận
tuyến qua đường hầm như là tuyến bình thường;
• Giải pháp EEP sử dụng trường len trong gói tin điều khiển tuyến để lưu độ dài
tuyến. Một khi nhận được gói điều khiển tuyến, nút độc hại chỉ cần thiết lập giá
trị trường len = 0, tương ứng không xuất hiện đường hầm trên tuyến. Kết quả
là HC trên tuyến chứa đường hầm lớn hơn dlen/Re, nút đích chấp nhận tuyến
qua đường hầm do thỏa điều kiện kiểm tra.
48
Để khắc phục hạn chế này, luận án đề xuất cơ chế xác thực đa mức (MLA) dựa
trên nền tảng chữ ký số. Ngoài ra, MLA sử dụng trên vị trí của mỗi nút thông qua
tín hiệu GPS tương tự các nghiên cứu [30, 47, 72]. Giao thức MLAMAN [CT1] được
cải tiến từ giao thức AODV bằng cách tích hợp cơ chế MLA. MLAMAN có thể phát
hiện và ngăn chặn tấn công lỗ sâu hiệu quả ở cả hai chế độ ẩn và tham gia. Tương tự
các giải pháp đã công bố [21, 74, 91], MLA giả định rằng: (1) Mỗi nút (Nδ) được thiết
lập một bộ khóa bí mật và công khai (kNδ -, kNδ+); (2) Tất cả các nút đều biết khóa
công khai của Ncenter. Giải pháp MLA không hỗ trợ chức năng cấp phát khóa bí mật
và công khai một cách tự động và an toàn cho tất cả các nút thành viên, vấn đề này
sẽ được trình bày trong các nghiên cứu tiếp theo.
2.3.1 Chữ ký số trên mạng MANET
Hệ mã khóa công khai RSA [70] (còn gọi là mã hóa bất đối xứng) được công bố
vào năm 1976 bởi tác giả Ron Rivest, Adi Shamir và Len Adleman tại học viện MIT.
RSA có thể xem là một bước đột phá quan trọng trong lĩnh vực mã hóa, là nền tảng
cho chữ ký số được ứng dụng rộng rãi. Trên mạng MANET, chữ ký số là một thông
tin gửi kèm theo gói tin nhằm mục đích xác định chính xác nút nguồn đã gửi gói tin.
Mỗi nút mạng sử dụng một cặp khóa công khai và bí mật (KU , KR). Khóa công khai
được công bố rộng rãi gắn liền với mỗi nút, khóa bí mật của mỗi nút phải được giữ
kín. Quá trình tạo khóa [68] trong hệ mã RSA được thực hiện theo các bước sau:
Bước 1: Chọn 2 số nguyên tố p và q và tính N = p × q. Cần chọn p và q sao
cho M < 2i−1 < N < 2i; i được gọi là kích thước khóa.
Bước 2: Tính Φ = (p− 1)× (q − 1);
Bước 3: Tìm một số e là nguyên tố cùng nhau với Φ (e < Φ);
Bước 4: Tìm một số d, sao cho e× d = 1 mod Φ (d là nghịch đảo của e trong
phép modulo Φ);
Bước 5: Hủy giá trị Φ, p và q, chọn khóa công khai KU là (e,N), khóa bí mật
KR là (d,N).
a) Mã hóa và giải mã: Việc mã hóa gói tin (M) trong quá trình định tuyến có
thể thực hiện theo hai hướng là (1) mã hóa bảo mật và (2) mã hóa xác thực. Nếu
nút nguồn muốn bảo mật thông tin của gói thì sử dụng khóa công khai (KU) để mã
hóa, ngược lại khi sử dụng khóa bí mật (KR) để mã hóa thì nút nguồn đang sử dụng
phương pháp mã hóa xác thực.
– Mã hóa bảo mật: C = En(M,KU) = M e mod N
– Mã hóa xác thực: C = En(M,KR) = Md mod N
Tương ứng với mỗi phương án mã hóa ta có phương án giải mã phù hợp. Nếu
nút nguồn mã hóa bảo mật thông tin thì phải sử dụng khóa bí mật để giải mã, ngược
49
lại phải sử dụng khóa công khai (KU) để giải mã.
– Giải mã bảo mật: M = De(C,KR) = Cd mod N
– Giải mã xác thực: M = De(C,KU) = Ce mod N
b) Ký và xác thực chữ ký: Nút nguồn (NS) sử dụng khóa bí mật để ký gói tin
trước khi gửi đến đích (ND) nhằm mục đích an ninh. Nút đích kiểm tra chữ ký của nút
nguồn bằng cách sử dụng khóa công khai tương ứng. Tuy nhiên, tốc độ mã hoá của hệ
mã khoá công khai là rất chậm, nên việc ký trên gói tin là khó khăn và làm tăng dung
lượng của gói khi đính kèm chữ ký. Vì vậy, chữ ký số được tạo ra bằng cách sử dụng
khóa bí mật để mã hóa giá trị băm của gói tin, hàm băm được sử dụng là MDx [69]
hoặc SHAx [60]. Hàm băm nhận giá trị vào là nội dung của gói tin và kết quả là một
dãy có độ dài xác định gọi là mã băm. Một tính chất rất quan trọng của hàm băm là
rất “nhạy” đối với các thay đổi của gói tin. Vì vậy, mã băm có tính đặc trưng rất cao,
được xem là đặc trưng của gói tin. Hai gói tin khác nhau ở một điểm rất nhỏ cũng sẽ
cho ra mã băm khác nhau. Ngoài ra, hàm băm có tính một chiều, nghĩa là không thể
tạo ra nội dung của gói tin từ mã băm, do đó không thể tạo ra một gói tin giả từ mã
băm. Đặc điểm này cho phép nút đích kiểm tra tính toàn vẹn của gói tin, gói tin nhận
được là toàn vẹn khi mã băm của thông điệp không bị thay đổi.
Gói tin P
DS Mã hóa
M
Băm M HM1
M DS
Gói tin P kèm chữ ký
KRs
(a) Nút nguồn NS ký gói tin trước khi gửi
DS Giải mã M
Băm M HM2
DS
Gói tin P kèm chữ ký KUs
HM1
Chữ ký đúng
Chữ ký sai yes
no
HM1=HM2
(b) Nút đích ND xác thực chữ ký
Hình 2.6. Sơ đồ mô tả quá trình nút nguồn ký và nút đích xác thực chữ ký
Hình 2.6(a) mô tả quá trình nút nguồn ký gói tin P trước khi gửi. Đầu tiên, NS
băm thông tin (M) của gói P thành mã băm là HM1; Tiếp theo, NS sử dụng khoá bí
50
mật (KRS) để mã hoá giá trị băm HM1. Kết quả sau khi mã hóa là chữ ký số (DS)
của nút nguồn trên gói tin P. Chữ ký số được đính kèm vào gói P trước khi gửi đến
nút đích (ND). Hình 2.6(b) mô tả quá trình nút đích kiểm tra chữ ký số khi nhận được
gói P từ nút nguồn. Đầu tiên, ND băm thông tin M của gói P thành mã băm là HM2;
Tiếp theo, ND sử dụng khoá công khai của nút nguồn (KUS) để giải mã chữ ký số DS
thu được giá trị HM1. Nếu kết quả sau khi giải mã trùng khớp với giá trị băm của gói
tin (HM1 = HM2) thì chứng tỏ rằng gói tin P nhận được chính xác là do nút nguồn
NS ký và thông tin của gói không bị thay đổi.
2.3.2 Ba bước xác thực an ninh của MLA
Giải pháp MLA cho phép mỗi nút kiểm tra nút liền trước mỗi khi nhận được gói
tin điều khiển với 3 bước: (1) Xác thực toàn vẹn gói tin (PI); (2) Xác thực chứng chỉ
thành viên (MC) và (3) Kiểm tra láng giềng thật sự (AN).
a) Xác thực toàn vẹn gói tin: Nút độc hại tấn công lỗ sâu ở chế độ tham gia sẽ
xử lý gói tin điều khiển như các nút bình thường. Do vậy, nó có thể thay đổi thông tin
của gói điều khiển tuyến để phục vụ mục đích tấn công mạng. Cơ chế xác thực toàn
vẹn gói tin cho phép một nút phát hiện sự thay đổi trong gói tin nhận được từ nút liền
trước, nhờ vậy mà MLA có thể phát hiện tấn công lỗ sâu ở chế độ tham gia. Đầu tiên,
nút Nj sử dụng hàm H để băm thông tin của gói P. Kết quả băm được mã hóa bằng
khóa bí mật (kNj−) của Nj như Công thức (2.5). Kết quả sau mã hóa được lưu vào
trường CV của gói P trước khi gửi đến nút láng giềng Ni.
P.CV = En(H(P.AllF ields \ {CV }), kNj−) (2.5)
Tiếp theo, khi nhận được gói tin điều khiển tuyến P từ nút liền trước Nj, nút
trung gian Ni sử dụng khóa công khai của nút Nj được gửi kèm theo để giải mã giá
trị của trường CV trong gói P. Kết quả giải mã được so sánh với giá trị băm của gói
P, nếu hai giá trị này bằng nhau thì gói tin được toàn vẹn; ngược lại, gói P đã bị thay
đổi thông tin. Hàm sau cho phép kiểm tra toàn vẹn gói tin P nhận được từ Nj, kết
quả trả về True nếu P toàn vẹn, ngược lại trả về False.
Bool IsPacketIntegrity(Packet P, Public_Key kNj+){
val1 ← De(P.CV, kNj+);
val2 ← H(P.AllF ields\{CV });return (val1 == val2);
}
b) Xác thực nút thành viên: Điểm yếu của cơ chế xác thực toàn vẹn gói tin là
nút trung gian không có cơ sở để xác thực tính hợp lệ của khóa công khai trong gói
tin P đến từ nút liền trước. Một nút độc hại có thể tham gia vào quá trình khám phá
tuyến bằng cách sử dụng bộ khóa không hợp lệ để mã hóa giá trị băm của gói P trước
khi gửi. Để khắc phục được điểm yếu này, mỗi nút phải cung cấp chứng chỉ thành viên
51
để xác thực mỗi khi gửi hoặc chuyển tiếp gói tin điều khiển. MC được cấp từ một nút
mạng tin cậy, chi tiết được trình bày trong mục 2.3.4.
Định nghĩa 2.1 (Chứng chỉ thành viên). Chứng chỉ thành viên của một nút được sử
dụng để xác thực trong quá trình khám phá tuyến. MC của nút Nδ được tính bằng cách
mã hóa giá trị băm của địa chỉ IP và khóa công khai của nút Nδ lần lượt với khóa bí
mật của Ncenter và Nδ như Công thức (2.6).
MCNδ = En(En(H(IPNδ , kNδ+), kNcenter−), kNδ−) (2.6)
Chứng chỉ thành viên được gửi kèm với gói tin điều khiển P trong quá trình
khám phá tuyến. Khi nhận được gói P từ nút liền trước Nδ, nút trung gian giải mã giá
trị MC bằng cách lần lượt sử dụng khóa công khai của Nδ và Ncenter. Kết quả được so
sánh với giá trị băm của địa chỉ IP và khóa công khai của nút Nδ. Nếu hai giá trị này
giống nhau thì MC là hợp lệ; ngược lại, MC của nút liền trước là không hợp lệ. Hàm
sau cho phép kiểm tra MC khi nhận gói tin P từ Nδ, kết quả trả về True nếu MC hợp
lệ, ngược lại trả về False.
Bool IsValidMC(Packet P, Public_Key kNδ+){
if (!IsPacketIntegrity(P, kNδ+)) return False;
val1 ← De(De(P.MC, kNδ+), kNcenter+);
val2 ← H(IPNδ , kNδ+);
return (val1 == val2);
}
c) Kiểm tra láng giềng thật sự: Nút độc hại tấn công lỗ sâu ở chế độ ẩn chỉ đơn
giản là chuyển tiếp gói tin mà không thay đổi thông tin. Vì vậy, hai cơ chế xác thực
toàn vẹn gói tin và nút thành viên thất bại trước hình thức tấn công này. Dựa trên ý
tưởng rằng hai nút không thể giao tiếp với nhau nếu chúng nằm ngoài vùng phát sóng
của nhau. Luận án đề xuất cơ chế kiểm tra láng giềng thật sự nhằm phát hiện nút liền
trước đã chuyển tiếp gói tin, từ đó phát hiện tấn công lỗ sâu chế độ ẩn. Hàm sau cho
phép kiểm tra láng giềng thật sự khi nhận gói P từ Nj, GPS và R của Nj được lưu
vào P trước khi gửi. Kết quả là False nếu khoảng cách giữa Ni và Nj lớn hơn R, Nj
không phải láng giềng thật sự của Ni vì đã chuyển tiếp gói tin; ngược lại trả về True.
Bool IsActualNeighbor(Packet P, Public_Key kNj+){
if (!IsPacketIntegrity(P, kNj+)) then return False;
g ← getGPS(); //Vị trí của nút Ni
dis← Distance(P.GPS, g);
return (dis 6Min(P.R,RNi));
}
52
Ví dụ 2.2: Hình 2.7 là ví dụ mô tả nút N2 phát hiện nút độc hại M thực hiện
hành vi tấn công lỗ sâu ở chế độ ẩn. Trường hợp a, nút N2 nhận được gói P từ nút N1,
do khoảng cách từ N1 đến N2 nhỏ hơn (hoặc bằng) R nên N2 xác định nút liền trước
N1 là nút bình thường. Trường hợp b, khi nhận được gói yêu cầu tuyến P đến từ N1,
nút độc hại M chuyển tiếp gói P đến nút N2. Khoảng cách (d) từ N1 đến N2 lớn hơn
R nên N2 phát hiện nút độc hại M đã chuyển tiếp gói tin.
d(N1, N2) d(N1, N2)
N1
RN1
N2
RN2
Khoảng cách Bán kính phát sóng
a) Bình thường b) Tấn công lỗ sâu chế độ ẩn
N1
RN1
N2
RN2
M
Nút độc hại
Hình 2.7. Mô tả phát hiện tấn công lỗ sâu ở chế độ ẩn
2.3.3 Giao thức an ninh MLAMAN
Luận án đề xuất giao thức MLAMAN cải tiến từ AODV sử dụng giải pháp MLA.
Thuật toán khám phá tuyến của MLAMAN sử dụng hai gói SecRREQ và SecRREP,
cấu trúc gói được mô tả như Hình 2.8. Cả hai được bổ sung thêm 5 trường mới (5NF)
là: GPS (2 x 4bytes) để lưu vị trí, R (1byte) lưu bán kính phát sóng tối đa, KEY
(4bytes) lưu khóa công khai. Hai trường MC và CV được thiết kế như SAODV để lưu
MC và kiểm tra toàn vẹn gói tin, độ lớn của mỗi trường là 128bytes. [15]
RREQ
GPS (x , y)Radio range (R)
Member Certification (MC)Public Key (KEY)
Checking Value (CV)
(a) SecRREQ
RREP
GPS (x , y)Radio range (R)
Member Certification (MC)Public Key (KEY)
Checking Value (CV)
(b) SecRREP
Hình 2.8. Cấu trúc gói tin điều khiển của giao thức MLAMAN
53
Quá trình khám phá tuyến của giao thức MLAMAN được thực hiện qua 2 giai
đoạn: (1) Yêu cầu tuyến bằng cách quảng bá gói SecRREQ như lưu đồ thuật toán tại
Hình 2.9 và (2) Trả lời tuyến bằng cách gửi đơn hướng gói SecRREP như lưu đồ thuật
toán tại Hình 2.10.
MLA
Nút nguồn NS
Núttrunggian/đíchNi
Cập nhật lại giá trị của 5NF
trong gói SecRREQ sử dụng
thông tin của nút hiện tại
vàSecRREQ.HC++;
Quảng bá gói SecRREQ;
no Có tuyến
đủ tươi
đến đích
noĐây là
nút đích
ghi nhận đã xử lý gói SecRREQ;
nếu tuyến có chi phí tốt hơn và
Thêm tuyến về NS hoặc cập nhật
Là láng giềng
thật sự
no
yes
Xuất hiện tấn công HM;
Hủy gói SecRREQ;
Đây là
thành viên
yes
no
yesGóiSecRREQ là
toàn vẹn
Nút trung gian (Ni)
nhận gói SecRREQ
MC không hợp lệ;
Hủy gói SecRREQ;
Xuất hiện tấn công PM;
Hủy gói SecRREQ;
no
Khởi tạo và gửi gói SecRREP
để trả lời tuyến về nguồn
yesyes
Khởi tạo và thiết lập 5NF cho gói SecRREQ
sử dụng thông tin của nguồn;
Quảng bá gói SecRREQ;
Bắt đầu
Kết thúc
Hình 2.9. Sơ đồ thuật toán quảng bá gói yêu cầu tuyến của giao thức MLAMAN
a) Yêu cầu tuyến: Khi nút nguồn (NS) muốn gửi thông điệp đến nút đích (ND)
mà không có tuyến trong bảng định tuyến, NS tiến hành khám phá tuyến bằng cách
phát quảng bá gói SecRREQ như mô tả trong (2.7), trong đó RREQ* là gói yêu cầu
tuyến của giao thức gốc, 5NF là các trường mới nhằm mục đích kiểm tra an ninh được
thiết lập như sau: SecRREQ.GPS = Vị trí của NS; SecRREQ.R = getRadioRange();
SecRREQ.MC = MCNS ; SecRREQ.KEY = Khóa công khai kNS+; SecRREQ.CV =
Mã hóa giá trị băm của (SecRREQ.fields \ {CV}) sử dụng khóa bí mật kNS−.
NSbrdcast : SecRREQ← {RREQ∗ ⊕ 5NF} (2.7)
54
Khi nhận được gói yêu cầu tuyến, nút trung gian Ni hủy gói SecRREQ nếu nó
chưa được cấp MC hoặc gói SecRREQ đã được xử lý rồi; ngược lại, Ni sử dụng MLA
để kiểm tra nút liền trước dựa vào thông tin của gói SecRREQ như sau:
• Nếu gói SecRREQ không toàn vẹn thông tin thì Ni hủy gói SecRREQ bởi vì
tuyến đường vừa khám phá xuất hiện nút độc hại thực hiện tấn công lỗ sâu ở
chế độ tham gia, kết thúc thuật toán;
• Nếu chứng chỉ thành viên của nút liền trước là không hợp lệ thì Ni hủy gói
SecRREQ, kết thúc thuật toán;
• Nếu nút liền trước không là láng giềng thật sự thì Ni hủy gói SecRREQ bởi vì
tuyến đường vừa khám phá xuất hiện nút độc hại thực hiện tấn công lỗ sâu ở
chế độ ẩn, kết thúc thuật toán;
Nếu nút liền trước thỏa tất cả các điều kiện thì Ni chấp nhận gói SecRREQ
để thiết lập tuyến ngược về nguồn NS, ghi nhận đã xử lý gói SecRREQ vào bộ nhớ
bằng cách lưu giá trị broadcast_id và src_add. Đồng thời, trước khi tiếp tục quảng
bá gói SecRREQ, Ni cập nhật lại thông tin của 5NF như sau: SecRREQ.GPS = Vị
trí của Ni; SecRREQ.R = getRadioRange(); SecRREQ.MC = MCNi ; SecRREQ.KEY
=Khóa công khai của kNi+; SecRREQ.CV = Mã hóa giá trị băm của (SecRREQ.fields
\ {CV}) sử dụng khóa bí mật kNi−.
Độ phức tạp: Thuật toán quảng bá gói yêu cầu tuyến của giao thức MLAMAN
hoàn toàn tương tự với giao thức AODV ngoại trừ việc sử dụng MLA để kiểm tra an
ninh. Giải pháp MLA gọi 3 hàm để kiểm tra toàn vẹn gói tin, chứng chỉ thành viên
và láng giềng thật sự, tất cả hoạt động độc lập nhau. Nếu cả 3 điều kiện kiểm tra là
hợp lệ thì thuật toán hoạt động tiếp tục như giao thức gốc. Để tính độ phức tạp thuật
toán quảng bá gói yêu cầu tuyến của giao thức MLAMAN, ta tính độ phức tạp của
giải pháp MLA như sau:
• Hàm băm SHA1 có độ phức tạp là O(d), d là số lần sử dụng các hàm logic trong
quá trình băm, tương ứng với tỉ số giữa kích thước dữ liệu (bit) và kích thước
mỗi khối (512bit). [23]
• Thuật toán mã hóa (hoặc giải mã) RSA có độ phức tạp là O(p3), p là độ lớn của
khóa. [68, 80]
• Khối xác thực toàn vẹn gói tin và khối kiểm tra MC có độ phức tạp giống nhau
là O(p3) +O(d), và khối kiểm tra láng giềng thật sự có độ phức tạp là O(1).
Như vậy, độ phức tạp của giải pháp MLA là 2O(p3)+2O(d)+O(1), loại bỏ hằng
số ta thu được độ phức tạp của MLA là O(p3) + O(d); Độ phức tạp của thuật toán
quảng bá gói yêu cầu tuyến của giao thức MLAMAN là O(p3) + O(d) + O(n), trong
đó O(n) là độ phức tạp của thuật toán gốc với n là số lượng nút mạng.
55
MLA
Nút đích ND
Núttrunggian/nguồnNi
Cập nhật lại giá trị của 5NF
trong gói SecRREP sử dụng
thông tin của nút hiện tại;
vàSecRREP.HC++;
Gửi gói SecRREP;
found Tìm thông tin
định tuyến về
nút nguồn
no Đây là
nút nguồn
có chi phí tốt hơn
hoặc cập nhật nếu tuyến
Thêm tuyến đến đích
Là láng giềng
thật sự
no
yes
Xuất hiện tấn công HM;
Hủy gói SecRREP;
Đây là
thành viên
yes
no
yesGói
SecRREP là
toàn vẹn
Nút trung gian (Ni)
nhận gói SecRREP
MC không hợp lệ;
Hủy gói SecRREP;
Xuất hiện tấn công PM;
Hủy gói SecRREP;
no
Hủy gói SecRREP Gửi gói dữ liệu từ hàng đợi
yesnot found
Khởi tạo và thiết lập 5NF cho gói SecRREP
sử dụng thông tin của nút đích;
Gửi gói SecRREP về nguồn;
Bắt đầu
Kết thúc
Hình 2.10. Sơ đồ thuật toán trả lời tuyến của giao thức MLAMAN
b) Trả lời tuyến: Quá trình trả lời tuyến được thực hiện khi một nút trung gian
(Ni) có tuyến đủ tươi đến đích hoặc nút đích nhận được gói yêu cầu tuyến. Để trả lời
tuyến, nút đích ND gửi gói SecRREP về nguồn qua chặng kế tiếp trong bảng định tuyến
như mô tả trong (2.8), trong đó RREP* là gói trả lời tuyến của giao thức gốc, 5NF là
các trường mới nhằm mục đích kiểm tra an ninh được thiết lập như sau: SecRREP.GPS
= Vị trí của nút đích ND hoặc nút trung gian Ni; SecRREP.R = getRadioRange();
SecRREP.MC = MCND hoặc MCNi ; SecRREP.KEY = Khóa công khai kND+ hoặc
kNi+; SecRREP.CV = Mã hóa giá trị băm của (SecRREP.fields \ {CV}) sử dụng khóa
bí mật của nút đích kND− hoặc nút trung gian kNi−.
ND(orNi)unicasts : SecRREP ← {RREP ∗ ⊕ 5NF} (2.8)
56
Khi nhận được gói trả lời tuyến, nút trung gian Ni hủy gói SecRREP nếu nó
chưa được cấp chứng chỉ thành viên; ngược lại, Ni sử dụng MLA để kiểm tra nút liền
trước dựa vào thông tin của gói SecRREP như sau:
• Nếu gói SecRREP không toàn vẹn thông tin thì Ni hủy gói SecRREP bởi vì tuyến
đường vừa khám phá xuất hiện nút độc hại thực hiện tấn công lỗ sâu ở chế độ
tham gia, kết thúc thuật toán;
• Nếu chứng chỉ thành viên của nút liền trước là không hợp lệ thì Ni hủy gói
SecRREP, kết thúc thuật toán;
• Nếu nút liền trước không là láng giềng thật sự thì Ni hủy gói SecRREP bởi vì
tuyến đường vừa khám phá xuất hiện nút độc hại thực hiện tấn công lỗ sâu ở
chế độ ẩn, kết thúc thuật toán;
Nếu nút liền trước thỏa tất cả các điều kiện thì Ni chấp nhận gói SecRREP để
thiết lập tuyến đến ND. Đồng thời, trước khi tiếp tục chuyển tiếp gói SecRREP về
nguồn, Ni cập nhật lại thông tin của 5NF của gói như sau: SecRREP.GPS = Vị trí
của Ni; SecRREP.R = getRadioRange(); SecRREP.MC = Chứng chỉ thành viên của
Ni; SecRREP.KEY = Khóa công khai của Ni; SecRREP.CV = Mã hóa giá trị băm của
(SecRREP.fields \ {CV}) sử dụng khóa bí mật kNi−.
Độ phức tạp: Thuật toán trả lời tuyến của giao thức MLAMAN hoàn toàn
tương tự với giao thức AODV ngoại trừ việc sử dụng MLA để kiểm tra an ninh. Ta
có độ phức tạp của giải pháp MLA là O(p3) + O(d). Như vậy, độ phức tạp của thuật
toán trả lời tuyến của giao thức MLAMAN là O(p3) +O(d) +O(n), trong đó O(n) là
độ phức tạp của thuật toán gốc với n là số lượng nút mạng.
2.3.4 Cấp chứng chỉ thành viên
Tiến trình cấp MC cho nút Nδ được mô tả như Hình 2.11. Đầu tiên, quản trị
viên cập nhật tất cả các khóa của nút thành viên vào cơ sở dữ liệu khóa công khai
(PKDB) lưu tại nút Ncenter. Sau khoảng thời gian TMC , Ncenter kiểm tra nếu tồn tại
nút chưa được cấp MC thì Ncenter sẽ phát quảng bá gói MCP để cấp MC. Khi nhận
gói MCP, Nδ sẽ phát gói trả lời MCACK về Ncenter để khẳng định rằng đã nhận thành
công MC. Khi nhận được MCACK , Ncenter ghi nhận lại việc cấp MC thành công cho
Nδ vào PKDB.
Chứng chỉ thành viên được cấp cho mỗi nút trước khi chúng tham gia vào quá
trình khám phá tuyến nhằmmục đích kiểm tra an ninh. Do đặc điểm của mạng MANET
là phi cấu trúc, tự trị và truyền thông không dây. Vì vậy, giải pháp cấp MC phải phù
hợp với đặc điểm của mạng và đảm bảo an ninh, cụ thể là: (1) Tin tặc không thể giả
mạo nút Ncenter hoặc Nδ để gửi gói MCP hoặc MCACK giả mạo; (2) Thông tin của
gói MCP và MCACK không thể bị thay đổi trong quá trình truyền thông.
57
Khi nhận gói MCACK , Ncenter kiểm tra: Nếu MCACK do Nδ gửi thìNcenter lưu cấp MC thành công cho Nδ; ngược lại, tiến trình thất bại.
4
MCACK
Khi nhận MCP, nút Nδ kiểm tra: Nếu MCP không phải của Ncenter
thì hủy MCP. Ngược lại, MC được khởi tạo và lưu vào Cache; Nδ gửigói MCACK về nút Ncenter để khẳng định là đã nhận MC.
3
MCP
Sau khoảng thời gian TMC : Nếu Nδ chưa được cấp MC, thì Ncenter
quảng bá gói MCP để cấp MC cho Nδ.2
1 Quản trị viên cập nhật khóa công khai của thành viên vào PKDBNcenter
Ncenter
Nδ
Hình 2.11. Mô tả các bước cấp MC cho nút thành viên Nδ
2.3.4.1 Cơ sở dữ liệu khóa công khai
Cơ sở dữ liệu khóa công khai (PKDB) lưu trữ thông tin các nút đã được cấp
MC. Chỉ quản trị viên được phép cập nhật thông tin vào PKDB, mục đích là đảm bảo
chỉ có nút “thân thiện” mới được cấp MC. Một nút mạng tin cậy tên là Ncenter được
sử dụng để lưu trữ PKDB và cấp MC cho thành viên, cấu trúc như Bảng 2.1. Mỗi
dòng của PKDB gồm ba trường: Địa chỉ của nút (Nodes); Khóa công khai (Key+); và
Completed là trường để nghi nhận xem nút được cấp MC thành công hoặc chưa. Hai
trường Nodes và Key+ được quản lý bởi quản trị viên. MLA yêu cầu điều kiện rằng
thông tin trong PKDB tại Ncenter phải đảm bảo an toàn.
Bảng 2.1. Cơ sở dữ liệu khóa công khai
Nodes Key+ Completed
IPN1 kN1+ yes
IPN2 kN2+ yes
IPN3 kN3+ no
IPN4 kN4+ no
... ... ...
IPNn kNn+ yes
2.3.4.2 Quá trình cấp MC của giao thức MLAMAN
Quá trình cấp MC của giao thức MLAMAN được thực hiện qua 2 giai đoạn: (1)
Quảng bá gói MCP và (2) nhận phản hồi thông qua gói MCACK như sau:
a) Quảng bá gói MCP và lưu MC: Nút Ncenter cung cấp MC cho nút thành viên
Nδ bằng cách phát quảng bá gói MCP. Thuật toán quảng bá gói MCP tương tự quảng
58
bá gói RREQ của giao thức AODV. Vì vậy, cấu trúc gói MCP tương tự gói RREQ và
được bổ sung thêm 2 trường mới (2NF) là: CER (128bytes) để lưu MC và CV(128bytes)
để lưu giá trị kiểm tra toàn vẹn gói tin, như mô tả trong Hình 2.12.
RREQ
Certification (CER)
Checking Value (CV)
(a) MCP
RREP
Acknowledge (ACK)
Public Key (KEY)
Checking Value (CV)
(b) MCACK
Hình 2.12. Cấu trúc gói tin điều khiển cho việc cấp chứng chỉ thành viên
– Khởi tạo gói MCP: Sau khoảng thời gian TMC , Ncenter kiểm tra nếu tồn tại
nút chưa được cấp MC thì Ncenter sẽ phát quảng bá gói MCP để cấp MC như mô tả
trong (2.9). Trong đó RREQ* là gói RREQ của giao thức gốc, 2NF là các trường mới
gồm: CER được tính theo Công thức (2.10) và CV được tính bằng cách mã hóa giá trị
băm của gói MCP sử dụng khóa bí mật kNcenter−.
Ncenterbrdcast : MCP ← {RREQ∗ ⊕ 2NF} (2.9)
CER = En(En(H(IPNδ , kNδ+), kNcenter−), kNδ+) (2.10)
Nhận xét: Giá trị của trường CER trong gói MCP chỉ có thể được giải mã bằng
cách sử dụng khóa công khai của nút Ncenter và khóa bí mật của nút được cấp MC là
Nδ. Điều này có nghĩa là: (1) Tin tặc cũng không thể giả mạo nút Ncenter để cấp MC
bởi vì không có khóa bí mật của Ncenter; (2) Một nút thành viên khác không thể biết
được MC của Nδ vì phải cần khóa bí mật của Nδ; (3) Thông tin của gói MCP không
thể bị thay đổi trong quá trình chuyển tiếp từ Ncenter đến Nδ nhờ vào cơ chế kiểm tra
toàn vẹn gói tin.
– Xử lý gói MCP: Khi nhận được gói MCP, nút trung gian kiểm tra để đảm bảo
toàn vẹn gói tin MCP dựa vào khóa công khai của Ncenter. Nếu thỏa điều kiện thì nút
trung gian tiếp tục quảng bá gói MCP ; ngược lại, gói MCP bị hủy. Khi Nδ nhận được
gói MCP, nút Nδ kiểm tra để đảm bảo rằng gói MCP nhận được gửi từ Ncenter, và gói
này để cấp MC cho Nδ bằng việc lần lượt sử dụng khóa bí mật kNδ− và khóa công
khai kNcenter+ để giải mã giá trị của trường CER. Nếu điều kiện thỏa mãn, Nδ lưu MC
vào bộ nhớ và gửi trả lời gói MCACK về cho nút Ncenter; ngược lại, gói MCP bị hủy.
Hàm sau mô tả chi tiết việc kiểm tra và lưu MC khi nhận được gói MCP, kết quả trả
về True nếu lưu MC thành công; ngược lại, trả về False.
59
Bool TestAndSaveMC(MCP P){
if (!IsPacketIntegrity(P, kNcenter+)) {
Dispose(P) and return False;
} else {
val1← De(P.CER, kNδ−); //val1 = En(H(IPNδ , kNδ+), kNcenter−)
val2← De(val1, kNcenter+);
if (val2 6= H(IPNδ , kNδ+)) {
Dispose(P) and return False;
} else {
MC ← En(val1, kNδ−); //MC đã được tính như Công thức (2.6)
SaveToCache(MC);
CreateAndSend(MCACK , Ncenter);
return True;
}
}
}
b) Trả lời gói MCACK: Để đảm bảo độ tin cậy của cơ chế cấp chứng chỉ thành
viên, việc gửi xác nhận về Ncenter là bắt buộc mỗi khi một nút thành viên nhận được
MC. Cấu trúc góiMCACK như Hình 2.12(b), tương tự gói RREP, được bổ sung thêm 3
trường mới (3NF) là: ACK (128bytes) để lưu giá trị phản hồi, KEY (4bytes) lưu khóa
công khai của Nδ và CV (128bytes) lưu giá trị kiểm tra toàn vẹn gói tin.
– Khởi tạo gói MCACK: Sau khi lưu MC thành công, nút Nδ gửi gói MCACKngược về Ncenter để thông báo rằng Nδ đã nhận được MC như mô tả trong (2.11).
Trong đó RREP* là gói RREP của giao thức gốc, 3NF là các trường mới gồm ACK
được tính theo Công thức (2.12), KEY là khóa công khai của nút Nδ và CV được tính
bằng cách mã hóa giá trị băm của gói MCACK sử dụng khóa bí mật kNδ−.
Nδunicasts : MCACK ← {RREP ∗ ⊕ 3NF} (2.11)
ACK = En(En(H(IPNcenter), kNδ−), kNcenter+) (2.12)
Nhận xét: Giá trị của trường ACK trong gói MCACK chỉ có thể được giải mã
bằng cách sử dụng khóa công khai của nút được cấp MC là Nδ và khóa bí mật của
nút Ncenter. Điều này có nghĩa là: (1) Tin tặc cũng không thể giả mạo nút Nδ để gửi
gói MCACK giả mạo vì không có khóa bí mật của Nδ; (2) Thông tin của gói MCACKkhông thể bị thay đổi trong quá trình chuyển tiếp từ Nδ về Ncenter nhờ vào cơ chế kiểm
tra toàn vẹn gói tin.
– Xử lý gói MCACK: Khi nhận được gói MCACK , nút trung gian kiểm tra để
đảm bảo toàn vẹn gói tin dựa vào khóa công khai của Nδ được gửi kèm theo. Nếu thỏa
điều kiện thì nút trung gian tiếp tục chuyển tiếp gói MCACK về nguồn dựa vào thông
60
tin trong bảng định tuyến; ngược lại, gói MCACK bị hủy. Gói MCACK được kiểm tra
và chuyển tiếp tại các nút trung gian khác trước khi về Ncenter. Nút Ncenter kiểm tra
để đảm bảo rằng gói MCACK nhận được gửi từ Nδ, và gói này gửi trả lời cho Ncenter
bằng việc lần lượt sử dụng khóa bí mật kNcenter− và khóa công khai kNδ+ để giải mã
trường ACK. Nếu điều kiện thỏa mãn, Ncenter cập nhật vào PKDB rằng việc cấp MC
cho nút thành viên Nδ là thành công (Completed=Yes); ngược lại gói MCACK bị hủy.
Hàm sau mô tả chi tiết việc kiểm tra và cập nhật PKDB khi nhận được gói MCACK ,
kết quả trả về True nếu MC đã được cấp thành công; ngược lại, trả về False.
Bool TestAndUpdatePKDB(MCACK P){
if (!IsPacketIntegrity(P, P.KEY)) {
Dispose(P) and return False;
} else {
val1← De(P.ACK, kNcenter−); //val1 = En(H(IPcenter), kNδ−)
val2← De(val1, P.KEY );
if (val2 6= H(IPNcenter)) {Dispose(P) and return False;}
else {
if (IPNδ exists in PKDB) {
PKDB.Rows[IPNδ ].Completed ← Yes;
return True;
} else { Dispose(P) and return False; }
}
}
}
2.3.5 Đánh giá hiệu năng của giao thức MLAMAN
Trong chương 1, luận án đã đánh giá tác hại của tấn công lỗ sâu đến hiệu năng
giao thức AODV. Giao thức MLAMAN được cải tiến từ giao thức AODV bằng cách
sử dụng cơ chế an ninh MLA. Vì vậy, để thấy được hiệu quả an ninh, luận án sử dụng
cùng thông số như đã đánh giá trên giao thức AODV tại mục 1.5.1. Hai nút độc hại
đứng yên tại vị trí trung tâm và kết nối với nhau qua một đường hầm có chiều dài
lần lượt là 1, 2, 3, 4 và 5 chặng (250m/chặng) như Hình 1.18. Ngoài ra, luận án bổ
sung thêm tham số liên quan đến vận tốc di động, tất cả các nút mạng di chuyển ngẫu
nhiên với vận tốc tối đa lần lượt là 10, 20, 30 và 40m/s.
a) Tỷ lệ phát hiện nút độc hại thành công: Đầu tiên, luận án đánh giá hiệu quả
phát hiện nút độc hại của giải pháp MLA và so sánh với giải pháp EEP. Kết quả thống
kê sau khi thực hiện 200 lần mô phỏng với các tham số đầu vào khác nhau (Hình 2.13)
cho thấy giải pháp EEP có tỷ lệ phát hiện tuyến chứa đường hầm thành công tối đa
là 94.31%, độ lệch chuẩn là 0.25%. Tỷ lệ phát hiện tuyến chứa đường hầm thành công
của EEP phụ thuộc chiều dài đường hầm, thấp nhất khi TL=3.
61
86
87
88
89
90
91
92
93
94
95
1 2 3 4 5
Tỷ
lệ p
hát h
iện
thàn
h cô
ng (
%)
Chiều dài đường hầm (hop)
MS=10m/s,HM MS=20m/s,HM
MS=30m/s,HM MS=40m/s,HM
MS=10m/s,PM MS=20m/s,PM
MS=30m/s,PM MS=40m/s,PM
Hình 2.13. Hiệu quả an ninh của EEP dựa trên vận tốc và chiều dài đường hầm
Hiệu quả an ninh của MLA phụ thuộc vào 3 cơ chế: Xác thực toàn vẹn gói tin,
thành viên và láng giềng thật sự. Hai cơ chế xác thực toàn vẹn gói tin và thành viên
không phụ thuộc vào vị trí. Tuy nhiên, cơ chế xác thực láng giềng thật sự lại phụ thuộc
nhiều vào vị trí của nút thông qua tín hiệu GPS. Vì vậy, MLA có thể bị sai lầm khi
các nút mạng di động. MLA có 2 trường hợp dẫn đến sai lầm. Thứ nhất, nút N2 nhận
được gói P từ nút bình thường N1, do phải xử lý nhiều gói tin nên N2 đưa gói P vào
hàng đợi chờ đến lượt xử lý. Tại thời điểm xử lý gói P được lấy ra từ hàng đợi, vị trí
của N2 đã thay đổi và do sai số GPS, dẫn đến khoảng cách giữa hai nút N1 và N2 lớn
hơn R. Kết quả là gói P bị hủy và nút liền trước được xác định là độc hại (hủy sai).
Thứ hai, nút N2 nhận được gói P được chuyển tiếp từ một nút độc hại M, do phải xử
lý nhiều gói tin nênP được thêm vào hàng đợi trước khi xử lý. Tại thời điểm xử lý P
từ hàng đợi, vị trí của N2 đã thay đổi và do sai số GPS, dẫn đến khoảng cách giữa N2
và M nhỏ hơn (hoặc bằng) bán kính phát sóng. Kết quả là gói P được chấp nhận, nút
M được xác định là bình thường (chấp nhận sai).
99.5
99.6
99.7
99.8
99.9
100
1 2 3 4 5
Tỷ
lệ p
hát h
iện
thàn
h cô
ng (
%)
Chiều dài đường hầm (hop)
MS=10m/s,HM MS=20m/s,HM
MS=30m/s,HM MS=40m/s,HM
MS=10m/s,PM MS=20m/s,PM
MS=30m/s,PM MS=40m/s,PM
Hình 2.14. Hiệu quả an ninh của MLA dựa trên vận tốc và chiều dài đường hầm
62
Kết quả thống kê sau khi thực hiện 200 lần mô phỏng với các tham số đầu vào
khác nhau (Hình 2.14) cho thấy MLA phát hiện nút độc hại ở chế độ PM tốt hơn chế
độ HM. Kết quả mô phỏng dựa trên vận tốc di động và độ dài đường hầm khác nhau
cho thấy MLA phát hiện nút độc hại thành công tối đa 99.98% ở chế độ PM, độ lệch
chuẩn là 0.003%. Ở chế độ HM, MLA phát hiện nút độc hại thành công tối đa 99.87%,
độ lệch chuẩn là 0.018%. Kết quả này cho thấy giải pháp MLA có hiệu quả an ninh
tốt hơn giải pháp EEP [72].
b) Hao phí truyền thông để cấp MC: Tiếp theo, luận án đánh giá số lượng gói tin
điều khiển (MCP và MCACK) hao phí cần phải xử lý để cấp MC cho tất cả nút thành
viên trong các môi trường mạng với vận tốc di động khác nhau. Kịch bản 1 (100-nodes)
gồm 100 nút mạng sử dụng giao thức MLAMAN, tất cả các nút được thêm vào PKDB;
Kịch bản 2 (80-nodes) có 80 nút, được cài đặt vào PKDB; Kịch bản 3 (80-20-nodes) có
80 nút, được cài đặt vào PKDB và 20 nút còn lại được thêm vào PKDB tại giây 200.
0
10000
20000
30000
40000
50000
60000
0 50 100 150 200 250
Số
lư
ợn
g g
ói
tin
hao
ph
í (p
kt)
Thời gian để hoàn thành cấp MC (sec)
100nodes 80nodes 80-20nodes
(a) Đứng yên
0
10000
20000
30000
40000
50000
60000
0 50 100 150 200 250 300
Số
lư
ợn
g g
ói
tin
hao
ph
í (p
kt)
Thời gian để hoàn thành cấp MC (sec)
100nodes 80nodes 80-20nodes
(b) 1-10 (m/s)
0
10000
20000
30000
40000
50000
60000
0 50 100 150 200 250 300
Số
lư
ợn
g g
ói
tin
hao
ph
í (p
kt)
Thời gian để hoàn thành cấp MC (sec)
100nodes 80nodes 80-20nodes
(c) 1-20 (m/s)
0
10000
20000
30000
40000
50000
60000
0 50 100 150 200 250 300
Số
lư
ợn
g g
ói
tin
hao
ph
í (p
kt)
Thời gian để hoàn thành cấp MC (sec)
100nodes 80nodes 80-20nodes
(d) 1-30 (m/s)
Hình 2.15. Số lượng gói tin hao phí phải xử lý để cấp MC của MLAMAN
Kết quả mô phỏng trong môi trường mạng đứng yên (Hình 2.15(a)) cho thấy
MLAMAN cần 30s và phải xử lý 20,830pkt để hoàn thành cấp MC cho 100 nút thành
viên. Khi PKDB có 80 nút thì MLAMAN cần 25s và phải xử lý 12,718pkt để hoàn
63
thành cấp MC cho 80 nút thành viên. Khi thêm 20 nút còn lại vào PKDB, số lượng gói
điều khiển bắt đầu tăng tại giây 200 để cấp MC và hoàn thành sau 210s và phải xử lý
14,925pkt. Hình 2.15(d) trình bày kết quả mô phỏng trong môi trường mạng di động
với vận tốc tố đa 30m/s. MLAMAN cần 190s và phải xử lý 57,534pkt để hoàn thành
cấp MC cho 100 nút thành viên. Khi PKDB có 80 nút trong PKDB thì MLAMAN cần
130s và phải xử lý 39,698pkt để hoàn thành cấp MC cho 80 nút thành viên. Khi thêm
20 nút còn lại vào PKDB, số lượng gói điều khiển bắt đầu tăng tại giây 200 để cấp
MC và hoàn thành sau 300s và phải xử lý 47,657pkt. Như vậy, kết quả mô phỏng cho
thấy rằng số lượng gói tin hao phí để cấp MC tăng dần theo vận tốc di động.
c) Ảnh hưởng của cơ chế cấp MC đến MLAMAN: Ngoài ra, luận án đánh giá
ảnh hưởng của cơ chế cấp MC đến hiệu năng của MLAMAN. Kịch bản 1 gồm 100 nút
sử dụng giao thức AODV; Kịch bản 2 (100-nodes) gồm 100 nút mạng sử dụng giao
thức MLAMAN, tất cả các nút được thêm vào PKDB; Kịch bản 3 (80-nodes) có 80
nút, được cài đặt vào PKDB; Kịch bản 4 (80-20-nodes) có 80 nút, được cài đặt vào
PKDB và 20 nút còn lại được thêm vào PKDB tại giây 200. Hình 2.16 là kết quả thống
kê sau khi thực hiện 20 lần mô phỏng với các tham số đầu vào khác nhau, vận tốc
di động tối đa 30m/s. Kết quả cho thấy tỷ lệ gửi gói tin thành công của giao thức
MLAMAN thấp hơn AODV. Kết thúc 1000s mô phỏng, giao thức AODV có tỷ lệ gửi
gói tin thành công là 76.07% với độ lệch chuẩn là 2.45%. Giao thức MLAMAN-100 có
tỷ lệ gửi gói tin thành công là 69.48% với độ lệch chuẩn là 3.26%, thấp hơn 6.59% so
với AODV. Nguyên nhân là do các nút thành viên không tham gia vào mạng nếu chưa
nhận được MC và MLAMAN cần 90s để hoàn thành việc cấp MC cho 100 nút thành
viên. Hơn nữa, cơ chế an ninh đã ảnh hưởng đến hiệu quả định tuyến dữ liệu của giao
thức MLAMAN so với AODV.
Hình 2.16. Ảnh hưởng của cơ chế cấp MC đến tỷ lệ gửi gói thành công của MLAMAN
64
Luận án đã sử dụng tổng cộng 20 nguồn phát dữ liệu đến 20 nút đích khác
nhau, mỗi nguồn phát cách nhau 5s. Trong 45s đầu, tỷ lệ gửi gói tin thành công của
MLAMAN-80 tăng dần, nguyên nhân là do gói tin của 10 nguồn phát dữ liệu đầu tiên
được định tuyến thành công đến đích. Sau giây thứ 45, 10 nguồn phát dữ liệu còn lại
bắt đầu truyền gói tin, nhưng các nút trung gian không thể định tuyến được đến đích.
Nguyên nhân là do có 50% nút đích chưa được cấp MC. Vì vậy, tỷ lệ gửi gói tin thành
công của giao thức MLAMAN-80 giảm từ giây 50 do xuất hiện mất gói tin, đạt 34.66%
khi kết thúc mô phỏng, độ lệch chuẩn là 2.87%. Tại giây 200, 20 nút thành viên còn
lại được cấp MC nên tỷ lệ gửi gói thành công của MLAMAN-80-20 bắt đầu phục hồi
và đạt 64.43% khi kết thúc mô phỏng, độ lệch chuẩn là 3.39%.
d) Hiệu năng của MLAMAN: Cuối cùng, luận án đánh giá hiệu quả an ninh của
MLAMAN trong môi trường mạng bị tấn công lỗ sâu (TL=3), 20 nguồn phát CBR,
vận tốc di động là 30m/s. Kết quả tại Hình 2.17(a) cho thấy rằng tỷ lệ gửi gói tin
thành công giao thức AODV giảm từ 76.07% xuốn còn 40.11% khi bị tấn công lỗ sâu.
Giao thức MLAMAN có tỷ lệ gửi gói thành công và ổn định trong môi trường mạng
bị tấn công lỗ sâu. Trong môi trường bình thường, tỷ lệ gửi gói tin thành công của
MLAMAN đạt 69.48%, độ lệch chuẩn là 3.26%. Khi bị tấn công lỗ sâu tỷ lệ gửi gói
tin thành công của MLAMAN giảm 0.23% (đạt 69.48%), độ lệch chuẩn là 3.26%. Như
vậy, giải pháp MLA hoạt động hiệu quả trong môi trường mạng có nút độc hại. Kết
quả mô phỏng tại Hình 2.17(b) cho thấy rằng cơ chế an ninh và cơ chế cấp MC đã
ảnh hưởng đến thời gian trễ trung bình của giao thức MLAMAN. Kết thúc 1000s mô
phỏng, MLAMAN có thời gian trễ trung bình để định tuyến thành công một gói dữ
liệu đến đích là 1.517s (độ lệch chuẩn là 0.327s), cao hơn so với giao thức AODV là
0.934s (độ lệch chuẩn là 0.081s). Nguyên nhân là do để đảm bảo an ninh, mỗi nút xác
thực từng chặng nút liền trước với 3 cơ chế kiểm tra gồm: xác thực toàn vẹn gói tin,
xác thực thành viên và xác thực láng giềng thật sự.
0
10
20
30
40
50
60
70
80
90
400 600 800 1000
Tỷ
lệ gử
i gó
i th
ành
công
(%
)
Thời gian mô phỏng (sec)
AODV-Normal AODV-TL=3 MLAMAN-Normal MLAMAN-TL=3
(a) Tỷ lệ gửi gói thành công
0
0.5
1
1.5
2
2.5
400 600 800 1000
Thờ
i gi
an t
rễ t
rung
bìn
h (s
ec)
Thời gian mô phỏng (sec)
AODV-Normal AODV-TL=3 MLAMAN-Normal MLAMAN-TL=3
(b) Thời gian trễ trung bình
Hình 2.17. Hiệu quả an ninh của giao thức MLAMAN khi bị tấn công lỗ sâu
65
2.4 So sánh các giải pháp an ninh chống tấn công lỗ sâu
Luận án tổng hợp các giải pháp đã công bố trong thời gian qua trong Bảng 2.2.
Giải pháp MLA dựa vào vị trí để phát hiện nút độc hại tương tự giải pháp EEP, trong
khi các giải pháp khác dựa trên thời gian. Phương pháp kiểm tra đầu-cuối được tất cả
các giải pháp đã công bố sử dụng, chỉ có nút đích hoặc nguồn tham gia kiểm tra nên
hiệu quả an ninh bị hạn chế. Nút nguồn hoặc đích chỉ phát hiện được tuyến chứa nút
độc hại, không biết chính xác địa chỉ của nút độc hại.
Bảng 2.2. Đặc điểm các giải pháp phát hiện tấn công lỗ sâu
Đặc điểmGiải pháp
DelPHI TTHCA WADT EEP MLA
1. Kỹ thuật sử dụng Thời gian Thời gian Thời gian Vị trí Vị trí2. Phương pháp kiểm tra EE EE EE EE HbH3. Nút tham gia kiểm tra Nguồn Nguồn Nguồn Đích Tất cả4. Mô-đun mở rộng No No GPS GPS GPS5. Gói tin điều khiển tuyến Nguyên Thêm Đổi Đổi Thêm6. Xác định chính xác địachỉ nút độc hại
No Yes No No Yes
7. Thay đổi cơ chế khámphá tuyến
Yes Yes Yes No No
8. Kích thước tăng thêmcủa gói tin điều khiển
0byte 4bytes 8bytes 12bytes 273bytes
9. Ngăn chặn nút độc hạithay đổi gói điều khiển
No No No No Yes
10. Mô phỏng kết quả NS2 NS2 NS2 NS2 NS211. Độ phức tạp thuật toán O(n2) O(n) O(n) O(n) O(p3) + O(d)
Giải pháp đề xuất MLA sử dụng phương pháp xác thực từng chặng, tất cả các
nút tham gia kiểm tra nút liền trước dựa vào vị trí nên hiệu quả phát hiện nút độc hại
tốt hơn các giải pháp đã công bố. Riêng giải pháp TTHCA có thể nhận biết nút độc
hại, nhưng phải sử dụng gói tin hệ thống mới làm tăng hao phí truyền thông và kém
an toàn do tin tặc có thể lợi dụng gói này để gây hại cho hệ thống. Tương tự giải pháp
WADT và EEP, MLA yêu cầu mô-đun mở rộng là GPS trong quá trình sử dụng. Ngoài
ra, MLA cần gói tin điều khiển mới tương tự TTHCA để cấp MC nên làm tăng hao
phí truyền thông. Các giải pháp trước đây đã làm thay đổi cơ chế khám phá tuyến của
giao thức gốc, MLA và EEP không làm thay đổi cơ chế khám phá tuyến nên hiệu quả
khám phá tuyến không bị ảnh hưởng. Ngoại trừ MLA, tất cả các giải pháp đã công bố
không thể ngăn chặn nút độc hại thay đổi dữ liệu của gói tin. Tuy nhiên, hạn chế của
giải pháp MLA là kích thước của gói tin điều khiển và độ phức tạp của MLA lớn hơn
nhiều so với giao thức gốc.
66
2.5 Tiểu kết Chương 2
Chương này của luận án đã phân tích chi tiết và chỉ ra một số tồn tại của các
giải pháp phát hiện và ngăn chặn tấn công lỗ sâu, tiêu biểu như: DelPHI, WADT,
TTHCA và EEP. Trên cơ sở ưu điểm và tồn tại của các giải pháp đã công bố, luận án
đã đề xuất giải pháp an ninh tên là MLA [CT1] với những ưu điểm sau:
(1) MLA có tỷ lệ phát hiện nút độc hại thành công tốt hơn nhiều so với EEP ở cả
hai chế độ ẩn và tham gia.
(2) Nhờ vào cơ chế kiểm tra toàn vẹn gói tin, MLA có thể ngăn chặn nút độc hại tấn
công bằng cách thay đổi các trường trên gói tin điều khiển tuyến.
(3) Nhờ vào cơ chế quản lý và cấp MC nên MLA có thể phát hiện nút độc hại tấn
công bằng cách sử dụng khóa giả mạo.
Tuy nhiên, hạn chế của MLA là tín hiệu GPS có thể bị sai số do nhiễu hoặc môi
trường di động cao nên ảnh hưởng đến hiệu quả phát hiện nút độc hại. Kết quả mô
phỏng trong môi trường di động cao (144km/h) đã cho thấy MLA có tỷ lệ phát hiện
nút độc hại sai lầm dưới 1% ở cả hai chế độ PM và HM. Tương tự SAODV và ARAN,
do sử dụng chữ ký số nên MLAMAN có độ phức tạp và kích thước gói điều khiển tuyến
lớn hơn nhiều so với giao thức gốc. Ngoài ra, MLAMAN chưa hỗ trợ cơ chế quản lý,
thu hồi MC của thành viên, hạn chế này sẽ được khắc phục trong giao thức TAMAN
được trình bày tại Chương 4 của luận án.
67
Chương 3
GIẢI PHÁP PHÁT HIỆN VÀ NGĂN CHẶN
TẤN CÔNG NGẬP LỤT
Chương này phân tích chi tiết một số giải pháp phát hiện và ngăn chặn tấn công
ngập lụt đã được công bố. Qua đó, luận án chỉ ra một số tồn tại trong các giải pháp
dựa trên giá trị ngưỡng và đề xuất giải pháp phát hiện, ngăn chặn tấn công ngập lụt
tên là FADA. Đồng thời, luận án đã tích hợp vào giao thức AODV tạo giao thức cải
tiến FAPRP có thể phát hiện và ngăn chặn tấn công ngập lụt hiệu quả.
3.1 Giới thiệu
Điểm hạn chế của các giao thức định tuyến theo yêu cầu là các gói điều khiển
tuyến không được thiết kế nhằm mục đích an ninh. Vì vậy, nút độc hại có thể tấn công
mạng bằng cách phát liên tục gói tin với tần suất cao, được gọi là tấn công ngập lụt.
Tin tặc có thể sử dụng gói RREQ, HELLO và gói DATA để tấn công, trong đó tấn
công ngập lụt gói RREQ là gây hại nặng nhất do tạo ra bão quảng bá gói tin trên
mạng, gây lãng phí tài nguyên và tăng hao phí truyền thông. Hình 3.1 mô tả hai nút
độc hại M1 và M2 thực hiện tấn công ngập lụt gói RREQ, các nút còn lại là nút bình
thường nên chúng khám phá tuyến thấp hơn rất nhiều so với hai nút M1 và M2.
M1 M2
A
B
C
D
E
F
G
Hình 3.1. Mô tả nút độc hại tấn công ngập lụt gói RREQ [24]
68
Các nghiên cứu gần đây tập trung vào giải pháp phát hiện hình thức tấn công
ngập lụt gói RREQ [27]. Nguyên nhân là do tấn công ngập lụt gói RREQ là nguy hại
nhất vì nó dễ dàng tạo ra bão quảng bá. Chương này đề xuất giải pháp FADA dựa trên
lịch sử khám phá tuyến và thuật toán kNN để phát hiện, ngăn chặn tấn công ngập lụt.
3.2 Phân tích ưu và nhược điểm của một số giải pháp an ninh
trước tấn công ngập lụt
Các nghiên cứu gần đây tập trung vào giải pháp phát hiện hình thức tấn công
ngập lụt gói RREQ theo hai hướng tiếp cận là dựa trên ngưỡng và học máy như Hình
3.2. Giải pháp sử dụng ngưỡng [24, 67, 75] dựa vào số lượng gói RREQ mỗi giây. Điều
này dẫn đến một số nhược điểm: (1) Ngưỡng cố định sẽ thiếu tính mềm dẻo trong
thuật toán phát hiện tấn công. Nguyên nhân là giá trị ngưỡng tối ưu khác nhau trong
mỗi kịch bản; (2) Một nút bình thường có thể bị hiểu nhầm là độc hại nếu thực hiện
khám phá tuyến với tần suất cao tại một thời điểm bất kỳ; (3) Nút độc hại có thể qua
mặt cơ chế an ninh bằng cách phát gói RREQ với tần suất thấp hơn giá trị ngưỡng.
Để cải thiện hạn chế của các giải pháp dựa trên giá trị ngưỡng, hai giải pháp dựa trên
hướng tiếp cận học máy là SVMT [62] và kNNAODV [49]. Chúng sử dụng thuật toán
SVM và kNN để nhận biết nút độc hại hoặc bình thường. Tuy nhiên, thuộc tính của
các véc-tơ biểu diễn cho các nút vẫn còn dựa trên tần suất phát gói RREQ nên hiệu
quả còn hạn chế. Ngoài ra, kNNAODV được đề xuất để hoạt động trong mạng WSN
nên không phù hợp cho môi trường mạng di động MANET. Phương pháp xây dựng
tập dữ liệu huấn luyện của kNNAODV chưa được trình bày cụ thể. Phần này phân
tích ưu nhược điểm của các giải pháp liên quan để làm cơ sở cho đề xuất của luận án.
Flooding
FAP [67] EFS [75] BI [24] SVMT [62] kNNAODV [49]
Học máy Ngưỡng
FADA [CT2]
Hình 3.2. Một số giải pháp phát hiện và ngăn chặn tấn công ngập lụt đã công bố
3.2.1 Giải pháp FAP
Tác giả [67] và cộng sự đã trình bày giải pháp ngăn chặn tấn công ngập lụt (FAP)
sử dụng ngưỡng cố định (Th). FAP lưu số lần yêu cầu tuyến của mỗi nút vào bảng
Rate-RREQ, lưu danh sách nút độc hại vào BlackList. Cấu trúc của bảng Rate-RREQ
có hai trường gồm: Node-ID để lưu địa chỉ, RREQ-time để lưu số lần khám phá tuyến.
Trong giao thức AODV, tần suất phát gói RREQ của mỗi nút được qui định tối đa
là 10pkt/s trong tham số RREQ_RATELIMIT [63]. Dựa vào ý tưởng này, FAP thiết
69
lập giá trị ngưỡng Th là 15. Một nút thực hiện yêu cầu tuyến quá 15pkt/s sẽ được xác
định là độc hại và được đưa vào BlackList như Thuật toán 3.1, độ phức tạp là O(n)
với n là số lượng nút mạng. Thuật toán vận hành định kỳ sau mỗi giây, nút độc hại
bị phát hiện sẽ được đưa vào BlackList. Khi nhận gói yêu cầu tuyến từ một nút thuộc
BlackList, nút trung gian sẽ hủy gói ngay lập tức; ngược lại, gói sẽ được chấp nhận.
Algorithm 3.1: Thuật toán phát hiện tấn công ngập lụt FAP [67]
Input: Bảng Rate-RREQ, ngưỡng Th
Output: Danh sách BlackList chứa các nút độc hại
1 Begin
2 for i = 0 to n - 1 do
3 if Rate-RREQ[i].RREQ-time > Th then
4 InsertToBlackList(Rate-RREQ[i].Node-ID);
5 Rate-RREQ[i].RREQ-time = 0;
6 End;
Nhận xét: FAP là giải pháp đơn giản nhất trong các giải pháp dựa trên giá trị
ngưỡng. FAP có thể giảm thiểu tác hại của tấn công ngập lụt. Tuy nhiên, FAP còn tồn
tại một số hạn chế là:
• Giá trị ngưỡng cố định làm cho thuật toán thiếu mềm dẻo và độ tin cậy. Nguyên
nhân là do ngưỡng tối ưu để phát hiện tấn công lệ thuộc vào tần suất tấn công
do tin tặc thiết lập; Đặc biệt, tin tặc có thể qua mặt giải pháp FAP bằng cách
thiết lập nút độc hại phát gói RREQ với tần suất thấp hơn 15pkt/s;
• Thuật toán kiểm tra thực hiện định kỳ sau mỗi giây đã làm hạn chế hiệu quả
phát hiện tấn công. Giả sử nút độc hại tấn công với tần suất là 100pkt/s, trường
hợp xấu nhất là giải pháp FAP chỉ phát hiện tấn công mạng sau khi nút độc hại
đã phát hết 100 gói vào mạng.
3.2.2 Giải pháp EFS
Dựa trên ý tưởng của giải pháp FAP, tác giả [75] và cộng sự đã đề xuất lược
đồ lọc hiệu quả (EFS) nhằm giảm thiểu tác hại của tấn công ngập lụt. Giải pháp
EFS theo dõi tần suất yêu cầu tuyến của mỗi nút bằng cách đếm số lượng gói RREQ
nhận được. Điểm khác biệt so với FAP là giải pháp EFS sử dụng hai giá trị ngưỡng là
RATE_LIMIT và BLACKLIST_LIMIT. Giá trị ngưỡng RATE_LIMIT được thiết lập
là 10 để phát hiện những nút nghi ngờ là độc hại. Giá trị ngưỡng BLACKLIST_LIMIT
được thiết lập là 15 (bằng với giá trị ngưỡng của giải pháp FAP) để phát hiện và loại
bỏ gói RREQ từ nút độc hại. Trong khi vận hành, một nút nguồn bất kỳ phát gói yêu
cầu tuyến với tần suất lớn hơn BLACKLIST_LIMIT sẽ được xác định là độc hại và
được đưa vào BlackList. Trong trường hợp nút nguồn phát gói yêu cầu tuyến với tần
70
suất lớn hơn RATE_LIMIT sẽ bị nghi ngờ là nút độc hại và được đưa vào hàng đợi
để phục vụ sau. Thuật toán 3.2 trả về True nếu nút nguồn là bình thường; ngược lại,
trả về False, độ phức tạp của thuật toán là O(n), n là số lượng nút mạng.
Algorithm 3.2: Thuật toán phát hiện tấn công ngập lụt EFS [75]
Input: Gói RREQ, thời gian mô phỏng Tm, hai ngưỡng RATE_LIMIT và
BLACKLIST_LIMIT
Output: True nếu nút nguồn là bình thường, ngược lại False
1 Begin
2 id_src ← RREQ.src_add; //Địa chỉ nút nguồn đã gửi gói RREQ
3 RREQ_Counts[id_src]++;
4 rate ← RREQ_Counts[id_src] / Tm;
5 if rate > BLACKLIST_LIMIT then
6 InsertToBlackList(id_src);
7 return False;
8 if rate > RATE_LIMIT then
9 InsertPacketToQueue(RREQ);
10 return False;
11 return True;
12 End;
Nhận xét: Giải pháp EFS được cải tiến từ FAP nên có hiệu quả an ninh tốt
hơn nhờ vào việc kiểm tra ngay lập tức mỗi khi nhận được gói RREQ. Ngoài ra, việc
bổ sung giá trị ngưỡng BLACKLIST_LIMIT đã làm hạn chế khả năng tấn công của
nút độc hại. Tuy nhiên, tương tự giải pháp FAP, việc thiết lập giá trị ngưỡng cố định
là thiếu tính linh hoạt và dễ bị sai lầm. Ngoài ra, tin tặc có thể qua mặt cơ chế an
ninh bằng cách thiết lập nút độc hại tấn công với tần suất thấp hơn giá trị ngưỡng
RATE_LIMIT.
3.2.3 Giải pháp BI
Mặc dù giải pháp EFS tiến bộ hơn FAP, nhưng FES vẫn tồn tại nhược điểm là
giá trị ngưỡng cố định làm cho thuật toán không hiệu quả khi triển khai vào thực tế.
Để cải thiện hạn chế này, tác giả [24] và cộng sự đã đề xuất giải pháp sử dụng chỉ mục
cân bằng (BI) dựa trên thống kê làm ngưỡng phát hiện tấn công ngập lụt. Giao thức
an ninh BAODV được cải tiến từ giao thức AODV sử dụng giải pháp BI để phát hiện
và ngăn chặn tấn công ngập lụt. Mỗi khi nhận được gói RREQ từ nút nguồn bất kỳ
Ni, nút sẽ tính giá trị bi và so sánh với số lần khám phá tuyến của nút Ni. Nếu một
nút nguồn phát gói yêu cầu tuyến với số lượng (xi) lớn hơn giá trị ngưỡng bi sẽ được
xác định là nút độc hại, gói RREQ bị hủy. Thuật toán 3.3 cho phép thống kê tần suất
phát gói RREQ của tất cả nút nguồn và kiểm tra nút độc hại. Kết quả trả về True nếu
71
nút nguồn là bình thường; ngược lại, trả về False. Độ phức tạp thuật toán là O(n), với
n là số lượng nút mạng.
Algorithm 3.3: Thuật toán phát hiện tấn công ngập lụt BI [24]
Input: Gói RREQ
Output: True nếu nút nguồn là bình thường, ngược lại False
1 Begin
2 i← RREQ.ID_SRC; //Địa chỉ nút nguồn đã gửi gói RREQ;
3 xi ← xi + 1; //Tăng số lượng gói RREQ của nút Ni;
4 x←∑n
i=1
xin; //Tính trung bình mẫu
5 sd←
√∑ni=1
(xi − x)2
(n− 1); // Tính độ lệch chuẩn
6 bi← 2 ∗ x ∗ x
sd+ 1; //Tính chỉ mục cân bằng, đây là giá trị ngưỡng
7 if xi > bi then
8 Hủy gói RREQ;
9 Nút Ni đã gửi gói RREQ là độc hại;
10 if xi > 4 ∗ x+ 1 then xi ← xi − 1;
11 return False;
12 return True;
13 End;
Nhận xét: Giải pháp BI có hiệu quả an ninh tốt hơn FAP và EFS nhờ vào việc
xây dựng giá trị ngưỡng động để phát hiện tấn công ngập lụt. Tuy nhiên, tương tự giải
pháp dựa trên giá trị ngưỡng, BI cũng tồn tại nhược điểm:
• BI có thể mắc sai lầm trong môi trường di động. Nguyên nhân là do chỉ mục cân
bằng bi được tính dựa trên thống kê số lần phát gói RREQ của tất cả các nút
trong mạng. Trong môi trường di động cao, các nút trung gian không ghi nhận
đầy đủ trạng thái khám phá tuyến của nút nguồn.
• Do sử dụng ngưỡng nên hiệu quả an ninh bị hạn chế. Nguyên nhân là do tin tặc
có thể qua mặt cơ chế an ninh bằng cách thiết lập nút độc hại tấn công với tần
suất thấp hơn ngưỡng bi.
3.3 Giải pháp an ninh sử dụng thuật toán phân lớp
Qua phân tích tại phần trên, luận án thấy rằng hạn chế của các giải pháp an
ninh sử dụng ngưỡng cố định [67, 75] là thiếu linh hoạt. Nguyên nhân là do ngưỡng
tối ưu trong các môi trường mạng khác nhau sẽ khác nhau. Giải pháp BI [24] đã khắc
phục được nhược điểm bằng giải pháp xây dựng ngưỡng động tùy thuộc vào trạng thái
hoạt động của mạng. Tuy nhiên, ngưỡng bi rất nhạy cảm với các sai lầm trong quá
72
trình kiểm tra an ninh. Hai giải pháp dựa trên hướng tiếp cận học máy là SVMT [62]
và kNNAODV [49] đã cải thiện hạn chế của các giải pháp dựa trên giá trị ngưỡng. Tuy
nhiên, thuộc tính của các véc-tơ biểu diễn cho các nút vẫn còn dựa trên tần suất phát
gói RREQ nên hiệu quả còn hạn chế.
Trong mạng MANET sử dụng giao thức định tuyến theo yêu cầu, nút chỉ khám
phá tuyến đến đích khi cần thiết. Vì vậy, tần suất phát gói RREQ thấp nên khe thời
gian giữa các lần khám phá tuyến sẽ cao rất khác biệt. Tuy nhiên, nút độc hại có tần
suất khám phá tuyến dày đặc nên khe thời gian khám phá tuyến gần giống nhau và
nhỏ hơn khe thời gian khám phá tuyến của nút bình thường như mô tả tại Hình 3.3.
Biểu đồ cho thấy rằng hầu hết các khe thời gian khám phá tuyến của nút độc hại nhỏ
hơn khe thời gian khám phá tuyến của nút bình thường. Nguyên nhân là do nút độc
hại thực hiện quảng bá gói yêu cầu tuyến rất nhiều hơn so với nút bình thường.
Thời gian
tN1sN1 eN1
TN1tN2
sN2 eN2
TN2tN3
sN3 eN3
TN3tN4
sN4 eN4
TN4tNm
sNm eNm
TNm
(a) Nút bình thường (NN )
Thời gian
tM1sM1 eM1
TM1tM2
sM2 eM2
TM2tM3
sM3 eM3
TM3tM4
sM4 eM4
TM4tM5
sM5 eM5
TM5tM6
sM6 eM6
TM6tM7
sM7 eM7
TM7tM8
sM8 eM8
TM8tMm
sMm eMm
TMm
(b) Nút độc hại (NM )
Hình 3.3. Mô tả DRDTS của nút bình thường và độc hại được ghi nhận tại NA
Biểu đồ khe thời gian khám phá tuyến (DRDTS) của nút bình thường và độc
hại được ghi nhận tại nút NA được mô tả tại Hình 3.3. Trong đó, tji là thời gian khám
phá tuyến lần thứ i của nút nguồn Nj, tji được tính theo Công thức (3.1); T ji là khe
thời gian khám phá tuyến lần thứ i của nút nguồn Nj, được tính theo Công thức (3.2);
eji là thời điểm nhận trả lời tuyến thứ i của nguồn Nj; sji+1 thời điểm thực hiện khám
phá tuyến tiếp theo của nguồn Nj.
tji = eji − sji (3.1)
T ji = sji+1 − eji (3.2)
Thuật toán kNN là một trong những thuật toán phân lớp của lĩnh vực học máy,
sử dụng phương pháp học giám sát. Ý tưởng chính của thuật toán kNN là bầu chọn
theo số đông. Đây là thuật toán đơn giản và dễ cài đặt, nhưng vẫn cho kết quả phân
lớp tốt với độ chính xác cao [73]. Tác giả [49] đã ứng dụng thuật toán này vào lĩnh vực
an ninh trên mạng MANET và cho thấy hiệu quả tích cực. Vì vậy, trên cở sở này, luận
án đã ứng dụng thuật toán kNN để xây dựng giải pháp FADA. Giải pháp này dựa trên
lịch sử khám phá tuyến để phát hiện và ngăn chặn tấn công ngập lụt.
73
3.3.1 Mô hình tổng quát của giải pháp FADA
Luận án đề xuất thuật toán phát hiện tấn công ngập lụt (FADA) và tích hợp vào
AODV để tạo giao thức ngăn chặn tấn công ngập lụt (FAPRP [CT2]). Mô hình tổng
quát của FADA như Hình 3.4. Đầu tiên, luận án biểu diễn lịch sử khám phá tuyến của
mỗi nút bằng một véc-tơ tần suất khám phá tuyến (VRDF). Tiếp theo, luận án mô tả
phương pháp xây dựng tập dữ liệu huấn luyện gồm hai lớp véc-tơ MVC và NVC. MVC
biểu diễn hành vi của các nút độc hại và NVC biểu diễn cho nút bình thường. Cuối
cùng, luận án xây dựng bộ phân lớp để nhận biết nút bình thường và nút độc hại dựa
trên véc-tơ tần suất khám phá tuyến của nút và hai lớp véc-tơ MVC và NVC. FADA
sử dụng thông tin lịch sử khám phá tuyến (RDH) để biểu diễn hành vi của nút độc
hại hoặc bình thường. Vì vậy, FADA có thể phát hiện nút độc hại với độ chính xác tốt
hơn một số giải pháp trước đây.
1. Huấn luyện (Offline)
Dữ liệu trạng thái khám phá tuyến
của nút bình thường và nút độc hại
sử dụng nhiều tần suất tấn công,
vận tốc di động khác nhau
Kết quả
Lớp véc-tơ NVC
Lớp véc-tơ MVC
INPUT
OUTPUT
2. Quyết định (Online)
Thu thập thông tin khe thời gian
khám phá tuyến của nút nguồn (NS)
Tạo véc-tơ tần suất khám phá tuyến
(VNs) của nút nguồn
Sử dụng kNN-Classifier
để phân lớp VNs
Bị tấn công Bình thường
Sử dụng thuật toán huấn luyện PROCESS
S
No Yes VNs NVC
Hình 3.4. Mô hình tổng quát của giải pháp FADA
3.3.2 Thuật toán phân lớp kNN
Thuật toán kNN dựa trên ý tưởng là bầu chọn theo số đông. Đây là một trong
những thuật toán phân lớp của lĩnh vực học máy, sử dụng phương pháp học giám sát.
Quyết định phân lớp một đối tượng dữ liệu mới được suy ra trực tiếp từ k đối tượng
dữ liệu gần nhất của các lớp trong tập dữ liệu huấn luyện. Đối tượng dữ liệu có thể
là các giá trị đơn trong không gian một chiều, khoảng cách giữa hai đối tượng dữ liệu
là trị tuyệt đối của hiệu hai giá trị. Tuy nhiên, trong không gian nhiều-chiều thì đối
tượng dữ liệu được biểu diễn bằng một véc-tơ, khoảng cách giữa hai đối tượng dữ liệu
được tính bằng khoảng cách giữa hai véc-tơ. Giá trị k ảnh hưởng rất lớn đến hiệu quả
phân lớp của thuật toán kNN. Chưa có cơ sở khẳng định chọn giá trị k là bao nhiêu
để thuật toán kNN đạt hiệu quả tốt nhất, k được chọn dựa vào kinh nghiệm.
Ví dụ 3.1: Hình 3.5 là một ví dụ mô tả hoạt động của thuật toán kNN. Mỗi
điểm dữ liệu được biểu diễn bằng một véc-tơ vì đây là không gian 2-chiều. Giả sử rằng
74
lớp A có 13 véc-tơ được biểu diễn bằng các điểm màu đen, lớp B có 13 véc-tơ được
biểu diễn bằng các điểm màu trắng, dữ liệu mới được biểu diễn bằng điểm màu đỏ.
Khi k được thiết lập là 3 như Hình 3.5(a) thì có 2 véc-tơ thuộc lớp B và 1 véc-tơ thuộc
lớp A. Kết quả là điểm dữ liệu mới thuộc lớp B. Tuy nhiên, khi thiết lập k là 5 như
Hình 3.5(b), ta thấy rằng có 3 véc-tơ thuộc lớp A và 2 véc-tơ thuộc lớp B. Kết quả là
đối tượng dữ liệu mới thuộc lớp A.
Đặc trưng 2
Đặc
trư
ng
1
A
B
k=3
(a) k=3
Đặc trưng 2
Đặc
trư
ng
1
A
B
k=5
(b) k=5
Hình 3.5. Mô tả ảnh hưởng của giá trị k trong thuật toán kNN
Mỗi đối tượng dữ liệu trong Hình 3.5 được biểu diễn bởi 2 đặc trưng. Vấn đề
chính của giải pháp FADA là xác định các “đặc trưng” của véc-tơ để biểu diễn trạng
thái khám phá tuyến của mỗi nút. Đây là cơ sở quan trọng ảnh hưởng đến hiệu quả
phát hiện nút độc hại, được trình bày trong phần tiếp theo.
3.3.3 Véc-tơ tần suất khám phá tuyến
Luận án sử dụng lịch sử khám phá tuyến của mỗi nút và biểu diễn chúng dưới
dạng một véc-tơ được gọi là véc-tơ tần suất khám phá tuyến. Hành vi của nút bình
thường rất khác biệt so với nút độc hại nên lịch sử khám phá tuyến của chúng sẽ khác
nhau. Vì vậy, véc-tơ tần suất khám phá tuyến của nút bình thường rất khác biệt so
với nút độc hại. Gọi V jS [a0, a1, a2, a3, a4, a5, ..., am−1] là véc-tơ tần suất khám phá tuyến
của nút nguồn NS được ghi nhận tại nút Nj, m là kích thước của véc-tơ. V jS là véc-tơ
m-chiều, mỗi thành phần của véc-tơ là khe thời gian khám phá tuyến của nút nguồn,
ai là khe thời gian khám phá tuyến lần thứ i của nút nguồn NS (tương ứng T Si ).
Hình 3.6 là một ví dụ mô tả véc-tơ tần suất khám phá tuyến của 5 nút bình
thường từ N1 đến N5 và nút độc hại từ M1 đến M5. Nút độc hại thực hiện tấn công
ngập lụt với tần suất lần lượt là 2, 5, 10, 50 và 100 gói mỗi giây. Ta thấy rằng khe thời
gian khám phá tuyến của nút bình thường lớn hơn 2s, trong khi giá trị này của nút độc
hại là nhỏ hơn 2s. Tuy nhiên, có xuất hiện nhiễu giữa các véc-tơ bình thường và độc
75
hại. Nguyên nhân là do trong môi trường di chuyển ngẫu nhiên, nút giám sát có thể
không nhận được gói RREQ của nút độc hại cho đến khi trạng thái kết nối được thiết
lập. Ngoài ra, gói RREQ có thể chờ lâu trong hàng đợi trước khi tiếp tục được chuyển
tiếp đã làm tăng khe thời gian khám phá tuyến. Điều này dẫn đến sai lầm trong thuật
toán FADA và đã được chứng minh thông qua kết quả mô phỏng tại mục 3.3.7.
0
5
10
15
20
0 5 10 15 20 25 30 35 40
Khe
thời
gia
n kh
ám p
há tu
yến
(sec
)
Kích thước của véc-tơ (m)
N1N2
N3N4
N5M1
M2M3
M4M5
Hình 3.6. Mô tả RDFV của 5 nút bình thường và 5 nút độc hại
3.3.4 Xây dựng tập dữ liệu huấn luyện
Luận án sử dụng hệ mô phỏng NS2.35 để tạo tập dữ liệu huấn luyện gồm hai
lớp véc-tơ MVC và NVC. Tô-pô mạng có 100 nút mạng di chuyển ngẫu nhiên theo mô
hình RWP [90], thời gian mô phỏng là 1000s, phạm vi mô phỏng 2000m x 2000m. Mỗi
kịch bản có p nguồn phát (50 nguồn) dữ liệu CBR, nguồn phát đầu tiên bắt đầu tại
giây thứ 0, các nguồn còn lại cách nhau 5s. Một nút độc hại (NM) được thiết lập tại vị
trí trung tâm (1000m, 1000m) như Hình 3.7. Kết quả huấn luyện ảnh hưởng đến hiệu
quả phát hiện nút độc hại của giải pháp FADA. Đầu tiên luận án xác định giá trị của
2 tham số ảnh hưởng đến kết quả huấn luyện là: Vận tốc di động và tần suất tấn công
của nút độc hại.
a) Vận tốc di động: Các nút trong mạng có thể đứng yên hoặc di động với vận
tốc tối đa trong thực tế là 40m/s. Vì vậy, luận án sử dụng các kịch bản mô phỏng với
vận tốc tối đa lần lượt là 0m/s, 10m/s, 20m/s, 30m/s và 40m/s.
b) Tần suất tấn công: Các nghiên cứu đã công bố trong thời gian gần đây [27,
49, 67] cho thấy rằng tần suất tối đa của nút độc hại là 100pkt/s. Việc thiết lập tần
suất lớn hơn sẽ khó thực hiện do khả năng xử lý của các thiết bị di động hiện tại.
Ngoài ra, công trình [CT5] của luận án đã cho thấy rằng tấn công ngập lụt rất ít ảnh
76
hưởng đến hiệu năng mạng nếu nút độc hại tấn công với tần suất thấp hơn 1pkt/s. Vì
vậy, luận án thiết lập nút độc hại tấn công ngập lụt với tần suất lần lượt là 2, 5, 10,
50 và 100pkt/s trong giai đoạn huấn luyện.
Hình 3.7. Giao diện của tô-pô mạng trong giai đoạn huấn luyện của giải pháp FADA
Quá trình mô phỏng xây dựng tập dữ liệu huấn luyện được thực hiện thông qua
5 bước. Chi tiết các bước theo mô tả như sau:
Bước 1: Xác định kích thước (m) của mỗi véc-tơ cần tạo;
Bước 2: Thiết lập tần suất tấn công (f) của nút độc hại (NM) là 2 gói mỗi giây;
Bước 3: Tiến hành mô phỏng với tô-pô mạng di động lần lượt là 0m/s, 10m/s,
20m/s, 30m/s và 40m/s. Trong quá trình mô phỏng, mỗi nút (Nj,∀j = 1..100) ghi
nhận khe thời gian khám phá tuyến của tất cả nút nguồn (Ns, ∀s = 1..p). T si được
thêm vào véc-tơ tần suất khám phá tuyến của nút nguồn (V js ). Một khi véc-tơ V j
s đầy
thì tất cả các phần tử của véc-tơ được tịnh tiến về trước 1 phần tử và T si được thêm
vào vị trí cuối. Kết thúc thời gian mô phỏng, nếu nút nguồn là nút độc hại thì V js
được thêm vào lớp MVC; ngược lại, V js được thêm vào lớp NVC. Với mỗi tô-pô mạng
di động thu được kết quả gồm:
– 100 véc-tơ độc hại: V jM(TM1 , TM2 , TM3 , ..., TMm );∀j = 1..100
– 100 véc-tơ bình thường: V j
(∑pi=1 T
i1
p,
∑pi=1 T
i2
p, ...,
∑pi=1 T
in
p
); ∀j = 1..100
77
Bước 4: Bằng cách tính véc-tơ trung bình sau khi thực hiện 5 tô-pô mạng di
động, ta thu được 100 véc-tơ độc hại và 100 bình thường;
Bước 5: Tiếp tục thực hiện từ bước 2 đến bước 4 bằng cách thiết lập nút độc
hại tấn công với tần suất lần lượt là f = 5, 10, 50 và 100. Kết quả của mỗi lần huấn
luyện được 100 véc-tơ độc hại của lớp MVC và 100 bình thường của lớp NVC.
Trong giao thức AODV, gói RREQ được truyền dưới hình thức quảng bá, trong
khi gói RREP được truyền dưới hình thức đơn hướng. Một nút trung gian (Ni) có thể
nhận gói RREQ từ nút nguồn (NS), nhưng có thể không nhận gói RREP tương ứng
từ nút đích (ND). Điều này dẫn đến Ni ghi nhận được thời điểm khám phá tuyến của
NS, nhưng không thể biết được thời điểm NS nhận gói trả lời tuyến. Để giải quyết
trường hợp này, giải pháp của bài báo là ghi nhận thời điểm nhận gói RREP trùng với
thời điểm nhận gói RREQ (tương ứng ti = 0) như mô tả trong (3.3). Nguyên nhân là
do các giao thức định tuyến theo yêu cầu chỉ thực hiện khám phá tuyến khi cần thiết
nên giá trị của ti rất nhỏ hơn so với giá trị Ti. Vì vậy, việc ghi nhận thời điểm nhận
gói RREP trùng với thời điểm nhận gói RREQ sẽ ảnh hưởng rất ít đến hiệu quả phát
hiện nút độc hại.
ti =
{0 nếu Ni không nhận được gói RREP
ei − si ngược lại(3.3)
Ví dụ 3.2: Hình 3.8 mô tả nút trung gian (Ni) xử lý mỗi khi nhận được gói
RREQ và RREP. Đầu tiên, khi nhận được gói RREQ tại thời điểm p1, Ni ghi nhận
s1 = e1 = p1. Tiếp theo, khi nhận gói RREP tại thời điểm p2, Ni cập nhật e1 = p2.
Tiếp theo, Ni nhận được gói RREQ tại thời điểm p3, Ni ghi nhận s2 = e2 = p3. Tương
tự, khi nhận gói RREQ tại thời điểm p4, Ni ghi nhận s3 = e3 = p4. Cuối cùng, khi
nhận gói RREP tại thời điểm p5, Ni cập nhật e3 = p5.
(s1 e1) (s2,e2) (s3 e3)
T1>0 T2>0 Thời gian
t1>0 t2=0
p1 p2 p3 p4 p5
t3>0
Hình 3.8. Mô tả nút trung gian xử lý mỗi khi nhận được gói RREQ và RREP
Sau 1000s mô phỏng, kết quả thu được 500 véc-tơ của NVC và 500 véc-tơ của
lớp MVC được biểu diễn như Hình 3.9. Ta thấy rằng lớp véc-tơ NVC gồm các véc-tơ
có khe thời gian khám phá tuyến lớn hơn 4s, trong khi khe thời gian khám phá tuyến
của các véc-tơ thuộc lớp MVC là nhỏ hơn 1s. Có xuất hiện nhiễu trong đoạn từ 1s đến
4s giữa các véc-tơ bình thường và độc hại.
78
0
1
2
3
4
5
6
7
8
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
Khe
thời
gia
n kh
ám p
há tu
yến
(sec
)
Kích thước của véc-tơ (m)
Hình 3.9. Tập dữ liệu huấn luyện MVC (4) và NVC (+), kích thước của véc-tơ là 60
3.3.5 Bộ phân lớp kNN
Tương tự tác giả [49], luận án thiết kế bộ phân lớp kNN (kNN-Classifier) dựa
trên thuật toán phân lớp kNN [73]. kNN-Classifier cho phép phân lớp véc-tơ tần suất
khám phá tuyến (VNS) của nút nguồn NS dựa vào hai tập dữ liệu là MVC và NVC.
Để xác định VNS thuộc lớp MVC hay NVC, kNN dựa vào k láng giềng gần nhất của
VNS trong hai lớp véc-tơ MVC và NVC. Nếu số lượng véc-tơ tần suất khám phá tuyến
trong k láng giềng gần nhất thuộc lớp MVC nhiều hơn NVC thì VNS thuộc lớp MVC;
ngược lại, VNS thuộc lớp NVC. Giá trị k trong thuật toán kNN ảnh hưởng rất lớn đến
hiệu quả phân lớp. Việc chọn giá trị k sao cho phù hợp là dựa vào kinh nghiệm, chưa
có cơ sở khẳng định giá trị k để thuật toán kNN đạt hiệu quả tốt nhất. Luận án đã
mô phỏng với nhiều giá trị k khác nhau và kích thước m của véc-tơ khác nhau. Mục
đích là tìm giá trị k và m phù hợp để hiệu quả phát hiện nút độc hại đạt cao nhất.
d (V1, V2) =
√√√√ m∑i=1
(V1[i]− V2[i])2 (3.4)
Khoảng cách giữa hai véc-tơ là yếu tố rất quan trọng để xác định véc-tơ VNS“gần” với lớp MVC hay NVC. Có nhiều phương pháp tính khoảng cách giữa hai véc-tơ
[81], luận án đã sử dụng khoảng cách Euclid như Công thức (3.4). Hàm sau cho phép
xác định véc-tơ V thuộc lớp MVC hoặc NVC sử dụng thuật toán phân lớp kNN. Độ
phức tạp thuật toán của bộ phân lớp phụ thuộc vào hàm sắp xếp được sử dụng. Luận
án sử dụng thuật toán nổi bọt (Bubble Sort) nên hàm phân lớp có độ phức tạp là
O(g + m) + O(g2) + O(k). Giá trị k là rất nhỏ hơn so với g, giá trị m rất nhỏ hơn so
với g. Vì vậy, bộ phân lớp kNN có độ phức tạp là O(g2), với g là số lượng véc-tơ của
mỗi lớp trong tập dữ liệu huấn luyện.
79
Bool kNNClassfication(Vector V, int k, int m){
float disMVC [MAX_VECTOR];
float disNVC [MAX_VECTOR];
for (vt = 0; vt <= MAX_VECTOR - 1; vt++){
disMVC[vt] ← Euclid (V, MVC[vt], m);
disNVC[vt] ← Euclid (V, NVC[vt], m);
}
Sort (disMVC, ASC); // Sắp xếp mảng tăng dần
Sort (disNVC, ASC); // Sắp xếp mảng tăng dần
k1← k2← 0;
while ((k1 + k2) < k){
if (disNVC[k1] < disMVC[k2]) k1++;
else k2++;
}
return (k1 > k2);
}
3.3.6 Giao thức an ninh FAPRP
Luận án đề xuất giao thức FAPRP bằng cách tích hợp FADA vào thuật toán
yêu cầu tuyến của AODV. Chi tiết thuật toán được trình bày trong Hình 3.10. Cấu
trúc gói tin RCP không thay đổi so với giao thức AODV. Tương tự giao thức AODV,
FAPRP là giao thức định tuyến đơn hướng. Để khám phá tuyến đến nút đích ND, nút
nguồn (NS) quảng bá gói RREQ đến tất cả láng giềng của nó, gói RREQ được xử lý
tại nhiều nút trung gian trước khi đến đích. Mỗi khi nhận gói RREQ từ nút liền trước
(Nj), nút trung gian (Ni) xử lý gói RREQ theo các bước sau:
– Đầu tiên là loại bỏ gói RREQ trùng lặp. Nút trung gian (Ni) có thể nhận nhiều
gói RREQ đến từ các nút láng giềng của nó, nhưng Ni chỉ xử lý gói RREQ đầu tiên
nhận được. Sử dụng hai thông số là broadcast_id và src_add (địa chỉ nguồn) trong
gói RREQ, Ni có thể xác định gói RREQ đã được xử lý hoặc chưa. Nếu gói RREQ đầu
tiên nhận được (tương ứng gói chưa được xử lý) thì Ni chấp nhận gói RREQ; ngược
lại, Ni hủy gói RREQ vì gói đã được xử lý rồi.
– Tiếp theo là thêm thông tin vào lịch sử khám phá tuyến của nút nguồn. Mỗi
nút trung gian lưu bộ đếm số lần khám phá tuyến của tất cả nút nguồn. Counters[src]
= x, có nghĩa là nút src đã thực hiện khám phá tuyến x lần. Ban đầu, nút trung gian
thiết lập Counters[i]=0, ∀i = 1..n., n là số lượng nút mạng. Mỗi khi nhận được gói
RREQ đến từ nút nguồn NS, nút Ni tăng giá trị Counters[NS] lên 1 và ghi nhận thời
điểm khám phá tuyến của NS (si) và thời điểm trả lời tuyến (ei), với i=Counters[NS].
Nếu lịch sử khám phá tuyến của nút nguồn đầy (Counters[NS]>m) thì loại bỏ phần tử
đầu tiên, tịnh tiến m-1 phần tử lên 1 vị trí, thông tin mới được thêm vào RDH vị trí
cuối cùng.
80
– Cuối cùng, Ni kiểm tra an ninh nếu nó là láng giềng của nguồn. FAPRP là
giao thức định tuyến đa chặng, nút nguồn sẽ bị cô lập nếu tất cả các nút láng giềng
không định tuyến gói tin nhận được [67]. Vì vậy, FAPRP chỉ thực hiện kiểm tra tấn
công ngập lụt tại các nút láng giềng của nguồn tương tự giải pháp FAP. Nếu Ni là láng
giềng của nguồn NS thì Ni sử dụng FADA để kiểm tra an ninh như Bước 1; ngược lại,
Ni không kiểm tra an ninh và thực hiện các lệnh như AODV tại Bước 2.
Bước 1: Trong trường hợp Ni là láng giềng của nút nguồn, Ni sử dụng FADA
để kiểm tra an ninh như sau:
• Nút trung gian Ni sử dụng thông tin lịch sử khám phá tuyến để tính VNS của NS
gồm tất cả khe thời gian khám phá tuyến T Si , ∀i = 1..m.
• Nếu VNS chưa đủ thông tin (chưa đầy) thì Ni chấp nhận gói RREQ, bỏ qua kiểm
tra an ninh và đến Bước 2 để thực hiện các lệnh tương tự AODV.
• Ngược lại, Ni sử dụng bộ phân lớp kNN để nhận biết NS là độc hại hoặc bình
thường.
– Nếu VNS thuộc lớp NVC thì nút nguồn là bình thường, Ni chấp nhận gói
RREQ và đến Bước 2 để thực hiện các lệnh tương tự AODV.
– Ngược lại, nút nguồn là độc hại đã thực hiện hành vi tấn công ngập lụt, gói
RREQ bị hủy, thuật toán kết thúc.
Bước 2: Trong trường hợp Ni không là láng giềng của nguồn hoặc VNS chưa đủ
thông tin hoặc nút nguồn được xác định là bình thường, Ni thực hiện các lệnh tương
tự AODV, bao gồm:
• Nút trung gian Ni lưu tuyến ngược về nguồn và ghi nhận đã xử lý gói RREQ vào
bộ nhớ bằng cách ghi nhận giá trị broadcast_id và src_add.
• Nếu Ni là nút đích hoặc nó có tuyến hợp lệ đến đích thì Ni gửi gói RREP về
nguồn để trả lời tuyến thông qua nút Nj, thuật toán kết thúc; Ngược lại, Ni tăng
chi phí định tuyến lên 1 và tiếp tục quảng bá gói RREQ, thuật toán kết thúc.
Khi nhận được gói RREQ, nút đích cập nhật lại thời điểm trả lời tuyến (ei) vào
lịch sử khám phá tuyến của nút nguồn và gửi gói RREP về nguồn để trả lời tuyến.
Không có thông tin thứ tự trả lời tuyến trong gói RREP của giao thức AODV. Ni
giả định rằng gói RREP nhận được là gói trả lời tuyến cho lần khám phá tuyến cuối
cùng. Vì vậy, mỗi khi nhận gói RREP, nút trung gian cập nhật tại thời điểm trả lời
tuyến (ei), với i=Counters[NS]. Tiếp tục, Ni tăng giá trị của trường HC lên 1 trước
khi chuyển tiếp gói RREP về nguồn.
81
FADA
Quảng bá gói RREQ để khám phá tuyến
Phân lớp VNs sử dụng kNN-Classifier; VNs đầy
Nú
t n
gu
ồn
(N
s)
Nú
t tr
un
g g
ian
/ đ
ích
(N
i)
no
Tính tất cả Ti của VNs sử dụng RDH của nút nguồn;
yes
Xuất hiện tấn công; Hủy gói RREQ;
Nút Ns bình thường; Chấp nhận RREQ;
Counters[NS]++; i = Counters[NS]; si = ei = CURRENT_TIME;
Thêm si và ei vào RDH của NS;
Tạo và gửi gói RREP về nguồn;
VNs MVC
Là láng giềng của nút nguồn
Ni nhận gói RREQ từ nút liền trước (Nj);
yes
Ni là nút đích
Có tuyến đến nút đích
yes
no
yes
Quảng bá RREQ;
no
Đã xử lý gói RREQ
yes
Hủy gói RREQ;
no
Thêm broadcast_id và src_add vào Cache; Thêm tuyến ngược về nguồn vào bảng định tuyến;
no
yes
no
(2)
(1)
(3)
(4) (5)
(6)
(8)
(7)
Kết thúc
Bắt đầu
Hình 3.10. Sơ đồ thuật toán quảng bá gói yêu cầu tuyến của giao thức FAPRP
82
Độ phức tạp: Điểm cải tiến của giao thức FAPRP so với thuật toán AODV
nằm ở các khối lệnh (1), (2), (3), (4), (5), (6), (7) và (8). Khối lệnh (2) cho phép thêm
một thông tin lần khám phá tuyến cuối cùng của nút nguồn. Nếu khối lệnh (1) cho kết
quả là False thì FAPRP hoạt động bình thường như giao thức gốc. Ngược lại, khối lệnh
(3) hoạt động để tính tất cả các khe thời gian khám phá tuyến của VNS . Khối lệnh (4)
hoạt động cho phép kiểm tra VNS đã đủ thông thông tin hoặc chưa. Trong trường hợp
VNS chưa đủ thông tin thì thuật toán thực hiện tiếp tục như giao thức gốc. Ngược lại,
khối lệnh (5) và (6) thực hiện để kiểm tra VNS thuộc MVC hoặc NVC. Nếu VNS thuộc
MVC thì nút nguồn là độc hại, khối lệnh (8) thực hiện để hủy gói RREQ, thuật toán
kết thúc; ngược lại, khối lệnh (7) thực hiện và thuật toán tiếp tục như giao thức gốc.
Khối lệnh (1), (4), (6), (7) và (8) có độ phức tạp là O(1). Khối lệnh (2) cho phép thêm
thông tin vào RDH có độ phức tạp O(m). Khối lệnh (3) có độ phức tạp là O(m), khối
lệnh (5) sử dụng thuật toán phân lớp kNN nên độ phức tạp là O(g2). Ngoài ra, FADA
cần khởi tạo bộ đếm số lần khám phá tuyến của tất cả các nút trong mạng trước khi
hoạt động với độ phức tạp là O(n).
Kết quả là giải pháp FADA có độ phức tạp là O(n) + O(g2) + O(m + m), g là
số lượng véc-tơ trong tập dữ liệu huấn luyện, m là độ lớn véc-tơ tần suất khám phá
tuyến và n là số lượng nút mạng. Vì hai giá trị m và g là hằng số nên giải pháp FADA
có độ phức tạp là O(n).
Giao thức FAPRP được phát triển từ giao thức AODV sử dụng giải pháp FADA.
Độ phức tạp thuật toán của giao thức FAPRP là O(n + n), gồm tổng độ phức tạp
thuật toán của giao thức AODV và độ phức tạp thuật toán của giải pháp FADA. Như
vậy, giao thức FAPRP có độ phức tạp thuật toán là O(n), n là số lượng nút mạng.
Ví dụ 3.3: Sử dụng tô-pô mạng có n nút, giả sử rằng NS đã thực hiện 7 lần
khám phá tuyến đến 3 nút đích gồm ND1, ND2 và ND3. Do môi trường di động và
nhiễu nên 3 gói RREQ bị thất lạc, Ni chỉ nhận được 4 gói RREQ tại các thời điểm
lần lượt là p1, p2, p3 và p4. Giá trị Counters[NS] tại Ni là 4, điều này có nghĩa là Ni ghi
nhận NS đã thực hiện khám tuyến 4 lần. Kết quả là lịch sử khám phá tuyến của nút
nguồn NS được ghi nhận tại Ni như Hình 3.11a. Tiếp theo, Ni nhận thêm 2 gói trả lời
tuyến RREP về nguồn tại hai thời điểm khác nhau là p5 và p6. Khi nhận RREP tại
thời điểm p5, Ni cập nhật lại giá trị e4 = p5, Ni tiếp tục cập nhật e4 = p6 khi nhận gói
RREP tại thời điểm p6. Hình 3.11b mô tả lịch sử khám phá tuyến của nút nguồn NS
sau khi nhận thêm hai gói RREP. Cuối cùng, Ni nhận được 1 gói RREQ từ NS tại thời
điểm p7 và 1 gói RREP tại thời điểm p8. Khi nhận gói RREQ, Ni tăng Counters[NS]
lên 1 (Counters[NS]=5) và gán s5 = e5 = p7, tiếp tục cập nhật e5 = p8 khi nhận gói
RREP. Hình 3.11c mô tả lịch sử khám phá tuyến của nút nguồn NS khi nhận thêm 1
gói RREQ và 1 gói RREP. Như vậy, dựa vào lịch sử khám phá tuyến của nút nguồn,
Ni có thể tính tất cả Ti trong VNS và sử dụng bộ phân lớp kNN để xác định nút nguồn
là bình thường hoặc độc hại. Ngoài ra, tất cả Ti đều mang giá trị dương và không phụ
thuộc vào thứ tự phát gói RREQ và số lượng nút đích.
83
a) Ni nhận 4 gói RREQ
b) Ni nhận thêm 2 gói RREP
c) Ni tiếp tục nhận 1 gói RREQ và 1 gói RREP
(s1,e1) (s2,e2)
Thời gian
t1=0 t2=0
p1 p2 p3 p4
(s3,e3) (s4,e4)
t3=0 t4=0
T1>0 T2>0 T3>0
RREQ RREQ RREQ RREQ
(s1,e1) (s2,e2)
Thời gian
t1=0 t2=0
p1 p2 p3 p4 p5 p6
(s3,e3) (s4 e4)
t3=0 t4>0
T1>0 T2>0 T3>0
RREQ RREQ RREQ RREQ RREP RREP
(s1,e1) (s2,e2)
Thời gian
t1=0 t2=0
p1 p2 p3 p4 p5 p6 p7 p8
(s3,e3) (s4 e4)
t3=0 t4>0
T1>0 T2>0 T3>0 T4>0
(s5,e5)
t5>0
RREQ RREQ RREQ RREQ RREP RREP RREQ RREP
Hình 3.11. Mô tả lịch sử khám phá tuyến của nút nguồn được nghi nhận tại Ni
3.3.7 Đánh giá hiệu năng của giao thức FAPRP
Trong chương 1, luận án đã đánh giá tác hại của tấn công ngập lụt đến hiệu
năng giao thức AODV. Giao thức FAPRP và BAODV được cải tiến từ giao thức AODV
bằng cách sử dụng cơ chế an ninh FADA và BI. Vì vậy, để thấy được hiệu quả an ninh,
luận án sử dụng cùng thông số như đã đánh giá trên giao thức AODV tại mục 1.5.2.
Nút độc hại đứng yên tại vị trí trung tâm như Hình 1.20.
97
97.5
98
98.5
99
99.5
100
10 15 20 25 30 35 40 60
Tỷ
lệ p
hát h
iện
nút đ
ộc h
ại (
%)
Kích thước của véc-tơ (m)
k=10 k=15 k=20 k=25 k=30 k=35 k=40 k=45 k=50
Hình 3.12. Hiệu quả phát hiện nút độc hại của giải pháp FADA
84
a) Xác định tham số k và m: Hiệu quả an ninh của giải pháp FADA phụ thuộc
vào hệ số k và độ lớn véc-tơ (m). Vì vậy, luận án mô phỏng với m lần lượt là 10, 15,
20, 25, 30, 35, 40 và 60; giá trị k lần lượt là 10, 15, 20, 25, 30, 35, 40, 45 và 50; vận tốc
di động lần lượt là 10m/s, 20m/s và 30m/s. Mục đích là xác định giá trị k và m phù
hợp để đạt hiệu quả phát hiện nút độc hại cao nhất. Mỗi tô-pô mạng có hai nút độc
hại được bố trí như Hình 1.20(b) và thực hiện hành vi tấn công với tần suất 20pkt/s
ngay khi bắt đầu mô phỏng. Kết quả thống kê sau khi thực hiện 216 lần mô phỏng với
các tham số đầu vào khác nhau như Hình 3.12. Kết quả cho thấy FADA phát hiện nút
độc hại thành công trên 99% khi m lớn hơn (hoặc bằng) 25. Tỷ lệ phát hiện nút độc
hại thành công cao nhất của FADA là 99.77% khi k = 25 và m = 60, tương ứng với tỷ
lệ phát hiện sai là 0.23%.
b) So sánh hiệu năng của FAPRP và BAODV: Tiếp theo, luận án thiết lập giá
trị k = 25 và m = 60 để đánh giá hiệu quả an ninh và hiệu năng của giao thức FAPRP
và BAODV trong môi trường bị tấn công ngập lụt, nút độc hại tấn công với tần suất
10pkt/s và 20pkt/s được bố trí như Hình 1.20, vận tốc di động lần lượt là 10m/s,
20m/s và 30m/s.
90
92
94
96
98
100
v1-10 v1-20 v1-30
Tỷ
lệ p
hát h
iện
thàn
h cô
ng (
%)
Vận tốc di động
BI-1MN-10pkt/sBI-1MN-20pkt/s
BI-2MN-10pkt/sBI-2MN-20pkt/s
FADA-1MN-10pkt/sFADA-1MN-20pkt/s
FADA-2MN-10pkt/sFADA-2MN-20pkt/s
Hình 3.13. Tỷ lệ phát hiện nút độc hại thành công của FADA và BI
– Tỷ lệ phát hiện nút độc hại: Luận án đã thực hiện 120 lần mô phỏng với các
tham số đầu vào khác nhau. Sau 500s mô phỏng, kết quả tại Hình 3.13 cho thấy giải
pháp FADA có hiệu quả phát hiện nút độc hại ổn định và lệ thuộc rất ít vào vận tốc
di động và số lượng nút độc hại. Với cùng kịch bản thì tỷ lệ phát hiện nút độc hại
thành công của giải pháp BI giảm dần theo vận tốc di động và số lượng nút độc hại.
Ngoài ra, khi nút độc hại thể hiện hành vi tấn công với tần suất thấp thì giải pháp BI
bộc lộ nhược điểm với tỷ lệ sai lầm cao. Cụ thể là tỷ lệ phát hiện nút độc hại thành
công của giải pháp BI cao nhất là 98.36% và thấp nhất là 93.22%, độ lệch chuẩn tối
đa là 2.59%. Tỷ lệ phát hiện nút độc hại thành công của giải pháp FADA cao nhất là
99.94% và thấp nhất là 99.83% (độ lệch chuẩn là 0.05%), tương ứng với tỷ lệ phát hiện
sai thấp nhất là 0.06% và cao nhất là 0.17%. Như vậy, giải pháp FADA có tỷ lệ phát
85
hiện nút độc hại thành công cao và ổn định hơn giải pháp BI. Nguyên nhân là do giải
pháp FADA dựa vào lịch sử khám phá tuyến của mỗi nút, ngược lại giải pháp BI dựa
trên giá trị ngưỡng nên tỷ lệ sai lầm cao dẫn đến giảm hiệu quả định tuyến.
50
60
70
80
90
100
v1-10 v1-20 v1-30
Tỷ
lệ gửi
gói
thàn
h cô
ng (
%)
Vận tốc di động (m/s)
AODV-Normal FAPRP-10pkt/s FAPRP-20pkt/s BAODV-10pkt/s BAODV-20pkt/s
(a) Tỷ lệ gửi gói tin thành công
0
1
2
3
4
5
6
v1-10 v1-20 v1-30
Phụ
tải địn
h tu
yến
(pkt
)
Vận tốc di động (m/s)
AODV-Normal BAODV-10pkt/s BAODV-20pkt/s FAPRP-10pkt/s FAPRP-20pkt/s
(b) Phụ tải định tuyến
0
0.2
0.4
0.6
0.8
1
1.2
1.4
v1-10 v1-20 v1-30
Thờ
i gia
n trễ
trun
g bì
nh (
sec)
Vận tốc di động (m/s)
AODV-Normal FAPRP-10pkt/s FAPRP-20pkt/s BAODV-10pkt/s BAODV-20pkt/s
(c) Thời gian trễ trung bình
Hình 3.14. Hiệu năng của BAODV và FAPRP khi bị tấn công ngập lụt
86
– Tỷ lệ gửi gói thành công: Luận án đã thực hiện 90 lần mô phỏng với các tham
số đầu vào khác nhau. Kết quả trong biểu đồ Hình 3.14(a) cho thấy giao thức FAPRP
có tỷ lệ gửi gói tin thành công cao hơn BAODV. Tỷ lệ gửi gói tin thành công của AODV
đạt 95.80%, 93.92% và 93.52% trong môi trường mạng di động tối đa 10m/s, 20m/s và
30m/s. Khi bị hai nút độc hại tấn công với tần suất là 10pkt/s và 20pkt/s, giao thức
BAODV có tỷ lệ gửi gói thành công tối đa là 80.79% (độ lệch chuẩn là 4.04%), thấp
hơn rất nhiều so với AODV trong môi trường bình thường. Giao thức FAPRP có tỷ lệ
gửi gói thành công cao và ổn định hơn rất nhiều so với BAODV, nguyên nhân là do
hiệu quả phát hiện nút độc hại của giải pháp FADA tốt hơn giải pháp BI. Kết thúc
500s mô phỏng, giao thức FAPRP có tỷ lệ gửi gói thành công tối đa là 95.27% (độ lệch
chuẩn là 1.73%). Ngoài ra, trong môi trường mạng bình thường thì giao thức FAPRP
có tỷ lệ gửi thành công giảm nhẹ so với AODV, điều này cho thấy rằng cơ chế an ninh
FADA ảnh hưởng rất ít đến hiệu năng của giao thức gốc.
– Phụ tải định tuyến: Hình 3.14(b) cho thấy tấn công ngập lụt đã làm tăng rất
lớn phụ tải định tuyến của hai giao thức BAODV và FAPRP so với giao thức gốc.
Trong kịch bản di động với vận tốc tối đa là 30m/s, phụ tải định tuyến của BAODV là
5.61pkt và FAPRP là 6.22pkt khi bị hai nút độc hại tấn công với tần suất là 20pkt/s,
độ lệch chuẩn lần lượt là 0.55pkt và 0.72pkt. Phụ tải định tuyến của BAODV thấp
hơn FAPRP do giải pháp BI có tỷ lệ phát hiện nút độc hại sai lầm cao hơn giải pháp
FADA. Vì vậy, một lượng lớn gói RREQ bị hủy đã làm giảm phụ tải định tuyến của
giao thức BAODV. Đây cũng là nguyên nhân dẫn đến giao thức BAODV có tỷ lệ gửi
gói tin thành công của thấp hơn giao thức FAPRP.
– Thời gian trễ trung bình: Hình 3.14(c) cho thấy tấn công ngập lụt đã làm tăng
thời gian trễ trung bình của giao thức BAODV và FAPRP so với giao thức gốc. Trong
môi trường bị tấn công mạng, giao thức FAPRP có thời gian trễ trung bình thấp hơn
so với giao thức BAODV ở tất cả kịch bản mô phỏng. Nguyên nhân là do hiệu quả
phát hiện nút độc hại của FADA tốt đã làm tăng hiệu quả khám phá tuyến và giảm
thời gian xử lý tại các nút trung gian. Ngược lại, giải pháp BI thường xuyên bị sai
lầm nên gói tin bị hủy, buộc nút khám phá tuyến lại đã làm tăng thời gian xử lý tại
mỗi nút, dẫn đến tăng thời gian trễ trung bình. Kết thúc 500s mô phỏng, thời gian
trễ trung bình cao nhất của BAODV là 0.959s, độ lệch chuẩn là 0.282s. Thời gian trễ
trung bình cao nhất của FAPRP là 0.244s, độ lệch chuẩn là 0.045s. Như vậy, giao thức
FAPRP hoặc động tốt và ổn định hơn giao thức BAODV do độ lệch chuẩn thấp hơn
rất nhiều.
3.4 So sánh các giải pháp an ninh chống tấn công ngập lụt
Luận án tổng hợp một số đặc điểm của các giải pháp đã công bố trong thời gian
qua trong Bảng 3.1. Tất cả các giải pháp đã công bố sử dụng cơ chế kiểm tra an ninh
dựa trên ngưỡng nên hiệu quả an ninh còn hạn chế. Hai giải pháp FAP và EFS sử
dụng ngưỡng cố định, BI sử dụng ngưỡng động và được cập nhật theo điều kiện mạng.
Vì vậy, giải pháp BI hiệu quả hơn hai giải pháp FAP và EFS. Giải pháp FADA sử
87
dụng hướng tiếp cận khác biệt so với các nghiên cứu trước đó. FADA dựa trên lịch sử
khám phá tuyến của mỗi nút được biểu diễn bằng RDFV để xác định độc hại hoặc
bình thường. Vì vậy, FADA cải thiện được hạn chế của các giải pháp dựa trên ngưỡng.
Tất cả giải pháp đều xác định được địa chỉ nút độc hại. Tương tự giải pháp FAP, nút
tham gia kiểm tra của giải pháp FADA là láng giềng của nút độc hại nhằm giảm quá
trình xử lý không cần thiết tại các nút.
Bảng 3.1. So sánh đặc điểm các giải pháp phát hiện tấn công ngập lụt
Đặc điểmGiải pháp
FAP EFS BI FADA1. Phát hiện dựa vào Ngưỡng Hai ngưỡng Ngưỡng RDFV2. Giá trị ngưỡng Cố định Cố định Động *3. Xác định nút độc hại Yes Yes Yes Yes4. Nút kiểm tra Láng giềng Tất cả Tất cả Láng giềng5. Mô phỏng kết quả NS2 NS2 NS2 NS26. Độ phức tạp thuật toán O(n) O(n) O(n) O(n)
* Không sử dụng ngưỡng
3.5 Tiểu kết Chương 3
Chương này của luận án đã phân tích chi tiết và chỉ ra một số tồn tại của các
giải pháp phát hiện và ngăn chặn tấn công ngập lụt, tiêu biểu như FAP, EFS và BI.
Trên cơ sở ưu điểm và tồn tại của các giải pháp đã công bố, luận án đề xuất giải pháp
an ninh tên là FADA [CT2] với những ưu điểm sau:
(1) Giải pháp FADA dựa trên lịch sử khám phá tuyến của nút để nhận biết một nút
là độc hại hoặc bình thường. Dữ liệu huấn luyện cài đặt vào mỗi nút trước khi
vận hành nên nút có thể phát hiện tấn công mạng ngay khi bắt đầu hoạt động.
Kết quả mô phỏng cho thấy FADA có tỷ lệ phát hiện nút độc hại thành công
trên 99% khi m lớn hơn (hoặc bằng) 25, tốt hơn giải pháp BI.
(2) Hiệu năng của giao thức FAPRP được cải thiện rất nhiều trong môi trường bị tấn
công ngập lụt. Đặc biệt, tỷ lệ gửi gói thành công của giao thức cải tiến FAPRP
thấp hơn một ít so với giao thức AODV trong môi trường mạng bình thường.
Điều này cho thấy giải pháp an ninh FADA ít ảnh hưởng đến hiệu năng của giao
thức gốc.
Tuy nhiên, hạn chế của giao thức cải tiến FAPRP là phụ tải định tuyến cao hơn
so với giao thức AODV. Ngoài ra, do cơ chế an ninh nên thời gian trễ trung bình của
FAPRP bị ảnh hưởng và tăng nhẹ giao thức gốc.
88
Chương 4
GIẢI PHÁP BẢO MẬT ĐỊNH TUYẾN
TRÊN MẠNG MANET
Chương này phân tích những hạn chế của hai giải pháp bảo mật định tuyến
dựa trên chữ ký số là SAODV và ARAN. Để khắc phục tồn tại của hai giải pháp này,
luận án đề xuất cơ chế xác thực tin cậy (TAM [CT4]) và cơ chế quản lý chứng thư số
(DCMM [CT3]) theo chuẩn X.509. Đồng thời, luận án tích hợp hai giải pháp đề xuất
vào thuật toán khám phá tuyến của AODV để tạo giao thức an ninh TAMAN.
4.1 Giới thiệu
Các giải pháp phát hiện và ngăn chặn tấn công mạng chỉ hiệu quả riêng lẻ trước
mỗi hình thức tấn công và có thể bị sai lầm nên hiệu quả an ninh hạn chế. Trong thời
gian qua, đã có một số nghiên cứu công bố theo hướng bảo mật định tuyến. Ý tưởng
là dựa vào mật khẩu sử dụng một lần (OTP [20]) hoặc chữ ký số để kiểm tra an ninh,
tiêu biểu là: H(AODV) [48], OTP_AODV [21], SAODV [91] và ARAN [74]. Ưu điểm
của các giải pháp theo hướng tiếp cận này là phát hiện hầu hết các hình thức tấn công
hiện tại. Tuy nhiên, hạn chế của H(AODV) và OTP_AODV là không hỗ trợ kiểm tra
toàn vẹn gói tin nên không thể phát hiện gói tin bị thay đổi. SAODV không hỗ trợ cơ
chế quản lý khóa nên nút độc hại có thể tấn công bằng cách sử dụng khóa giả mạo.
ARAN cải thiện được hạn chế này, nhưng ARAN không hỗ trợ cơ chế xác định chi phí
định tuyến. Đặc biệt, SAODV và ARAN không thể phát hiện và ngăn chặn tấn công
lỗ sâu ở chế độ ẩn [15, 45]. Chương này của luận án sẽ giải quyết hạn chế của SAODV
và ARAN bằng cơ chế xác thực tin cậy (TAM) dựa trên chứng thư số (DC) theo chuẩn
X509 [58] và cơ chế DCMM để quản lý, cung cấp và thu hồi DC cho nút thành viên.
4.2 Phân tích ưu và nhược điểm của một số giải pháp bảo mật
định tuyến
Một số giải pháp bảo mật định tuyến đã công bố trong thời gian qua được thống
kê trong Hình 4.1. Phần này phân tích ưu và nhược điểm của các giải pháp an ninh
trên nền tảng chữ ký số để làm cơ sở cho những đề xuất của luận án.
89
Bảo mật định tuyến
SAODV [91] ARAN [74] H(AODV) [48] OTP_AODV [21]
Chữ ký số OTP
TAM [CT3], DCMM [CT4]
Hình 4.1. Một số giao thức định tuyến an ninh đã công bố
4.2.1 Giao thức SAODV
Giao thức SAODV được cải tiến từ AODV nhằm mục đích an ninh. SAODV sử
dụng hai cơ chế kiểm tra an ninh (1) Xác thực chữ ký số và (2) Kiểm tra chi phí định
tuyến. Nút chỉ chấp nhận gói điều khiển tuyến (RREQ hoặc RREP) nếu chữ ký số của
nguồn là hợp lệ và chi phí định tuyến không bị thay đổi. Cấu trúc gói tin điều khiển
tuyến của giao thức SAODV như mô tả trong Hình 4.2, chức năng của các trường được
mô tả cụ thể trong [91].
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type Length Hash Function Max HC| | |
RA| Reserved |Prefix Sz
Top Hash
Signature
Signature for RREP
Hash
(a) RREQ
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type Length Hash Function Max HC| | |
Top Hash
Signature
Old Lifetime
Signature of the new Lifetime
Hash
(b) RREP
Hình 4.2. Cấu trúc gói tin điều khiển tuyến của giao thức SAODV [91]
a) Xác thực chữ ký số: Cơ chế xác thực chữ ký số cho phép nút nhận kiểm tra
chữ ký số của nút nguồn (hoặc đích) trong gói tin RREQ (hoặc RREP). Mỗi nút mạng
(Ni) được thiết lập một bộ khóa bí mật (kNi−) và công khai (kNi+). Nút nguồn (NS)
băm thông tin của gói RREQ, kết quả băm được mã hóa bằng khóa bí mật của nguồn
như Công thức (4.1), đây là chữ ký số của nguồn. Một số trường của gói RREQ có
thông tin bị thay đổi mỗi khi chuyển tiếp qua nút trung gian, vì vậy nút nguồn chỉ băm
những trường không thay đổi trước khi ký. Chữ ký số được lưu vào trường signature
trước khi quảng bá gói RREQ để yêu cầu tuyến.
RREQ.Signature = En(H(RREQ.Fields), kNS−) (4.1)
Khi nhận gói RREQ, nút trung gian (hoặc đích) sử dụng khóa công khai của
nút nguồn được gửi kèm theo để giải mã chữ ký số như Công thức (4.2). Kết quả giải
90
mã (value_de) được so sánh với giá trị băm của các trường không thay đổi trong gói
RREQ (như lúc nút nguồn ký). Nếu hai giá trị này bằng nhau thì chữ ký số của nút
nguồn là hợp lệ, nút chấp nhận gói RREQ và tiếp tục quảng bá cho đến khi nút đích
nhận được gói RREQ.
value_de = De(RREQ.Signature, kNS+) (4.2)
Tương tự, trước khi gửi gói RREP để trả lời tuyến, nút đích ký lên giá trị băm
của các trường không thay đổi trong gói RREP bằng khóa bí mật (kND−) sử dụng
Công thức (4.3). Kết quả sau khi ký được lưu vào trường Signature của gói RREP.
RREP.Signature = En(H(RREP.F ields), kND−) (4.3)
Khi nhận gói RREP, nút trung gian (hoặc nguồn) sử dụng khóa công khai (kND+)
của nút đích để giải mã như Công thức (4.4). Kết quả giải mã (value_de) được so sánh
với giá trị băm của các trường không thay đổi của gói RREP. Nếu hai giá trị này bằng
nhau thì chữ ký của nút đích là hợp lệ, nút trung gian chấp nhận gói RREP và tiếp
tục chuyển tiếp gói RREP cho đến khi về đến nguồn.
value_de = De(RREP.Signature, kND+) (4.4)
b) Kiểm tra chi phí định tuyến: Cơ chế xác thực chữ ký số chỉ cho phép kiểm tra
toàn vẹn thông tin của những trường không thay đổi trong gói tin điều khiển tuyến.
Do giá trị của trường HC thay đổi mỗi khi chuyển tiếp qua nút trung gian để tính chi
phí định tuyến. Nên cơ chế xác thực chữ ký số không thể ngăn chặn một nút độc hại
tấn công bằng cách giảm giá trị của trường HC. Vì vậy, SAODV sử dụng giải pháp
chuỗi băm để bảo vệ trường HC. Một nút nguồn (hoặc đích) khởi tạo gói khám phá
tuyến RREQ (hoặc gói RREP), để bảo vệ trường HC, nút thực hiện như sau:
• Đầu tiên, nút khởi tạo một giá trị ngẫu nhiên seed và lưu vào trường Hash của
gói điều khiển. Thiết lập vào trường Hash_Function tên hàm băm đã sử dụng.
• Tiếp theo, nút băm giá trị ngẫu nhiên đã khởi tạo tại bước trên MAX_HOP_COUNT
lần như Công thức (4.5), kết quả băm được lưu vào trường Top_Hash.
Top_Hash = HMAX_HOP_COUNT (seed) (4.5)
Khi một nút trung gian nhận gói điều khiển tuyến, nút thực hiện theo các bước
sau để kiểm tra chi phí định tuyến lưu trong trường HC:
• Đầu tiên, nút sử dụng hàm băm được lưu trong trường Hash_Function để băm
(MAX_HOP_COUNT - HC) lần giá trị của biến ngẫu nhiên được lưu trong
trường Hash như Công thức (4.6).
value_hash = HMAX_HOP_COUNT−HC(Hash) (4.6)
91
• Tiếp theo, nút kiểm tra nếu giá trị băm value_hash bằng với giá trị của trường
Top_Hash thì chi phí định tuyến là hợp lệ; ngược lại, chi phí định tuyến đã bị
thay đổi do nút độc hại.
Trước khi tiếp tục quảng bá gói RREQ (hoặc gửi gói RREP), nút trung gian
băm giá trị của trường Hash và lưu kết quả lại chính nó như Công thức (4.7).
Hash = H(Hash) (4.7)
Ví dụ 4.1: Hình 4.3 là một ví dụ mô tả quá trình xác thực gói RREQ của giao
thức SAODV. Nút nguồn NS khám phá tuyến bằng cách ký lên gói RREQ trước khi
quảng bá. Nút trung gian N1 xác thực chữ ký của NS và kiểm ra HC khi nhận gói
RREQ. Nếu cả 2 điều kiện hợp lệ, N1 tiếp tục quảng bá gói RREQ. Tương tự, N2 xác
thực chữ ký của NS và kiểm ra HC khi nhận gói RREQ. Nếu cả 2 điều kiện hợp lệ, N2
tiếp tục quảng bá gói RREQ. Khi nhận gói RREQ, nút đích ND xác thực chữ ký của
NS và kiểm ra HC. Nếu cả 2 điều kiện hợp lệ, ND chấp nhận gói RREQ.
NS ND N1 N2
Ký và gửi RREQ Xác thực chữ ký NS
và kiểm tra HC;
OK: gửi RREQ
Else, huỷ RREQ
Xác thực chữ ký NS
và kiểm tra HC;
OK: gửi RREQ
Else, huỷ RREQ
Xác thực chữ ký NS và
kiểm tra HC;
OK: chấp nhận RREQ
Else, huỷ RREQ
RREQ RREQ
RREQ
Hình 4.3. Mô tả quá trình ký và xác thực của giao thức SAODV
Cơ chế khám phá tuyến của SAODV cho thấy rằng nút trung gian không thể
trả lời tuyến một khi nó có tuyến hiệu lực đến đích. Nguyên nhân là do nút trung gian
không có khóa bí mật của nút đích để ký. Hạn chế này được tác giả khắc phục trong
phiên bản tiếp theo bằng cách sử dụng chữ ký đôi. Ý tưởng là khi quảng bá gói yêu
cầu tuyến, nút nguồn thêm chữ ký số thứ 2 vào gói RREQ. Khi nhận gói RREQ, nút
trung gian lưu thông tin định tuyến về nguồn kèm với chữ ký số thứ 2 vào bảng định
tuyến như Hình 4.4. Một khi nhận được gói yêu cầu tuyến, nút trung gian có thể gửi
gói trả lời tuyến về nguồn kèm với chữ ký số và khóa công khai của nút đích trong
bảng định tuyến. Gói RREQ được bổ sung thêm trường Signature_2 để lưu chữ ký
thứ hai của nguồn, gói RREP cũng được bổ sung thêm trường Signature_2 để lưu chữ
ký số của nút đích khi nút trung gian trả lời tuyến. Trong trường hợp nút đích trả lời
tuyến thì gói RREP không cần thêm chữ ký số thứ hai.
92
Bảng định tuyến
Node NH HC SN Chữ ký KhóaN5 N5 1 15 SigN5 kN5+
N1 N2 3 13 SigN1 kN1+
N7 N8 5 14 SigN7 kN7+
N6 N5 4 18 SigN6 kN6+
Hình 4.4. Mô tả cấu trúc bảng định tuyến của giao thức SAODV
Nhận xét: Giao thức SAODV có thể phát hiện và ngăn chặn hầu hết các hình
thức tấn công hiện tại nhờ vào cơ chế xác thực chữ ký số và kiểm tra chi phí định
tuyến. Tuy nhiên, SAODV tồn tại một số nhược điểm sau:
• Cơ chế an ninh của SAODV chỉ bảo vệ các trường không thay đổi của gói điều
khiển tuyến. Nút độc hại có thể cập nhật thông tin của các trường không được
bảo vệ để tấn công mạng.
• SAODV chỉ hỗ trợ cơ chế xác thực đầu-cuối nên nút trung gian không thể xác
thực nút liền trước (xem thêm trong [89], trang 478). Vì vậy, SAODV không thể
phát hiện tấn công lỗ sâu ở chế độ ẩn. Do nút độc hại có thể chuyển tiếp gói tin
đến chặng kế tiếp và không làm tăng chi phí định tuyến. [57]
• SAODV không hỗ trợ cơ chế quản lý khóa công khai. Một nút độc hại có thể tấn
công bằng việc sử dụng bộ khóa giả mạo. Để thực hiện tấn công ngập lụt trên
giao thức này, nút độc hại sử dụng bộ khóa giả mạo để ký trên giá trị băm của
gói RREQ, khởi tạo chuỗi băm và phát liên tục vào mạng.
4.2.2 Giao thức ARAN
Giao thức ARAN [74] cải thiện hơn SAODV ở hai điểm là: (1) Hỗ trợ cơ chế
quản lý khóa công khai bằng cách sử dụng một máy chủ T để quản lý và cấp chứng
thư số của nút; (2) ARAN sử dụng phương pháp xác thực tại mỗi chặng, điều này cho
phép nút xác thực được nút liền trước khi nhận gói điều khiển tuyến. Hai gói tin RDP
và REP được ký tại nút nguồn và đích trước khi gửi đi. Thông tin của gói không thay
đổi khi chuyển tiếp qua các nút trung gian. Bất kỳ sự thay đổi thông tin của gói trong
quá trình chuyển tiếp đều bị nút trung gian xem là không hợp lệ và bị hủy bỏ, từ đó
giúp ngăn chặn tấn công.
Giao thức ARAN giả định rằng mỗi nút được cấp một chứng thư (Cert) trước
khi tham gia vào mạng. Chứng thư số bao gồm địa chỉ (IPA), khóa công khai (KA+),
thời gian chứng thư số được khởi tạo (t), thời gian chứng thư số hết hiệu lực (e) như
mô tả trong (4.8).
T → A : certA = [IPA, KA+, t, e]KT− (4.8)
93
a) Quảng bá gói yêu cầu tuyến: Nút nguồn (A) khởi động quá trình khám phá
tuyến đến nút đích (X) bằng cách phát quảng bá gói khám phá tuyến (RDP) như mô
tả trong (4.9). Gồm địa chỉ nút đích (IPX), chứng thư số của nút nguồn (certA), thời
gian hiện tại (t) và bộ đếm (NA) tự tăng sau mỗi lần khám phá tuyến. Bộ giá trị IPXvà NA được nút sử dụng để loại bỏ các gói RDP đã xử lý rồi.
A→ brdcast : [RDP, IPX , certA, NA, t]KA− (4.9)
Khi nhận được gói RDP, nút sử dụng khóa công khai của nút nguồn (KA+)
trong chứng thư số certA để xác thực chữ ký và hiệu lực của chứng thư số. Ngoài ra,
nút sử dụng bộ giá trị IPX , NA để loại bỏ các gói RDP đã xử lý rồi. Nếu gói RDP được
xác nhận là hợp lệ thì nút ký nội dung của gói RDP nhận được và thêm chứng thư số
của nó vào gói RDP trước khi tiếp tục quảng bá. Điều này, cho phép nút nhận gói xác
thực chữ ký của nút liền trước. Giả sử B là nút láng giềng nhận được gói RDP từ A,
sau khi xác thực thành công gói RDP được tiếp tục quảng bá như mô tả trong (4.10).
B → brdcast : [[RDP, IPX , certA, NA, t]KA−]KB−, certB (4.10)
Khi nhận được gói RDP từ nút B, nút C sử dụng khóa công khai của nút liền
trước (KB+) trong chứng thư số certB để xác thực chữ ký. Nếu gói RDP được xác
nhận là hợp lệ thì C thay chứng thư số của B thành chứng thư số của C, ký lại nội
dung của gói RDP do nguồn gửi trước khi tiếp tục quảng bá như mô tả trong (4.11).
C → brdcast : [[RDP, IPX , certA, NA, t]KA−]KC−, certC (4.11)
Sau khi được nút C quảng bá, gói RDP tiếp tục được xử lý tại các nút trung
gian khác cho đến khi đến đích nhận được. Mỗi nút xử lý gói RDP theo các bước tương
tự tại C gồm: xác thực chữ ký của nút liền trước, thay chứng thư số của nút liền trước
thành chứng thư số của nút hiện tại và ký nội dung của gói RDP do nguồn gửi trước
khi tiếp tục quảng bá.
b) Trả lời tuyến: Khi nhận gói RDP, nút đích gửi gói REP để trả lời tuyến về
nguồn. Nút đích tìm entry trong bảng định tuyến của nó để biết thông tin định tuyến
về nguồn. Giả sử X cần định tuyến gói REP về nguồn thông qua D, X sẽ gửi gói REP
như mô tả trong (4.12). Gồm địa chỉ nút nguồn (IPA), chứng thư số của nút đích
(certX), thời gian hiện tại (t) và bộ đếm (NA) do nguồn gửi đến trong gói RDP.
X → D : [REP, IPA, certX , NA, t]KX− (4.12)
Khi nhận được gói REP đến từ nút đích X, nút trung gian D tìm entry trong
bảng định tuyến của nó để biết thông tin định tuyến về nguồn. Đồng thời, D ký gói
REP bằng khóa bí mật (KD−) của nó và thêm chứng thư số (certD) vào gói REP trước
94
khi chuyển tiếp về nguồn. Giả sử D cần chuyển tiếp gói REP về nguồn thông qua NH
là C, nút D sẽ gửi gói REP đến C như mô tả trong (4.13).
D → C : [[REP, IPA, certX , NA, t]KX−]KD−, certD (4.13)
Khi nhận được gói REP, nút trung gian C xác thực chữ ký của nút D. Nếu chữ
ký là hợp lệ, C tìm entry trong bảng định tuyến của nó để biết thông tin định tuyến về
nguồn. Đồng thời, C ký gói REP do nút đích gửi bằng khóa bí mật (KC−) của nó và
thay chứng thư số của nút liền trước thành chứng thư số của nó (certC) vào gói REP
trước khi chuyển tiếp về nguồn. Giả sử C cần chuyển tiếp gói REP về nguồn thông
qua NH là B, nút C sẽ gửi gói REP đến B như mô tả trong (4.14).
C → B : [[REP, IPA, certX , NA, t]KX−]KC−, certC (4.14)
Sau khi được C chuyển tiếp, gói REP tiếp tục được xử lý tại các nút trung gian
khác cho đến khi về nguồn. Mỗi nút xử lý gói REP theo các bước tương tự tại C gồm:
xác thực chữ ký của nút liền trước, thay chứng thư số của nút liền trước thành chứng
thư số của nút hiện tại và ký nội dung của gói REP trước khi tiếp tục chuyển tiếp gói
REP về nguồn thông qua NH của entry trong bảng định tuyến. Khi nút nguồn A nhận
được gói REP, A sẽ xác thực chữ ký số của nút liền trước và nút đích X trước khi thiết
lập tuyến đến đích.
NS ND N1 N2
Ký và gửi RDP
kèm theo CertNs
Xác thực chữ ký NS
OK: Ký và gửi RDP
kèm theo CertN1
Else, huỷ RDP
RDP RDP
RDP
Xác thực chữ ký N1
OK: Ký và gửi RDP
kèm theo CertN2
Else, huỷ RDP
Xác thực chữ ký N2 và
NS trong gói RDP
OK: chấp nhận RDP
Else, huỷ RDP
Hình 4.5. Mô tả quá trình ký và xác thực của giao thức ARAN
Ví dụ 4.2: Hình 4.5 là một ví dụ mô tả cơ chế xác thực của giao thức ARAN.
Nút nguồn NS khám phá tuyến bằng cách ký lên gói RDP trước khi quảng bá kèm
CertNS . Nút trung gian N1 xác thực chữ ký của NS. Nếu chữ ký hợp lệ, N1 tiếp tục
ký lên gói RDP trước tiếp tục quảng bá kèm với CertN1 . Tương tự, N2 xác thực chữ
ký của N1. Nếu chữ ký hợp lệ, N2 loại bỏ CertN1 và thay bằng CertN2 trước khi tiếp
tục quảng bá gói RDP. Khi nhận gói RDP, nút đích ND xác thực chữ ký của N2 và
của NS. Nếu cả 2 điều kiện hợp lệ, ND chấp nhận gói RDP.
Nhận xét: ARAN giả định rằng mỗi nút được cấp chứng thư số và sử dụng
phương pháp xác thực tại mỗi chặng. Nhờ vậy mà nút trung gian có thể xác thực nút
95
liền trước khi nhận gói điều khiển tuyến và ngăn chặn nút độc hại tấn công bằng cách
sử dụng khóa giả mạo. Do đó, hiệu quả an ninh của giao thức ARAN tốt hơn SAODV.
Tuy nhiên, ARAN tồn tại một số nhược điểm sau:
• Nút nguồn không xác định được chi phí định tuyến đến đích do không hỗ trợ
trường HC trong gói tin điều khiển. Điều này ảnh hưởng đến hiệu quả định tuyến
do tuyến khám phá có thể không phải là ngắn nhất.
• Không cho phép nút trung gian trả lời tuyến về nguồn cho dù nó có tuyến hợp
lệ đến đích. Nguyên nhân là nút trung gian không có khóa bí mật của nút đích
để ký gói REP trước khi gửi về nguồn. Đây là nguyên nhân làm tăng hao phí
truyền thông do nút trung gian phải luôn quảng bá gói điều khiển tuyến.
• Tương tự SAODV, ARAN không thể phát hiện và ngăn chặn tấn công lỗ sâu ở
chế độ ẩn. Nguyên nhân là do ở chế độ ẩn, nút độc hại chỉ đơn giản là chuyển
tiếp gói tin đến chặng kế tiếp mà không thay đổi thông tin. [15, 57, 92]
4.2.3 Tác hại của tấn công lỗ sâu chế độ ẩn
Cơ chế xác thực chữ ký của giao thức SAODV và ARAN chỉ phát huy hiệu quả
nếu gói tin bị thay đổi thông tin khi chuyển tiếp qua nút độc hại. Trong tấn công lỗ
sâu ở chế độ ẩn, nút độc hại chỉ đơn giản là chuyển tiếp gói tin nhận được đến đích mà
không thay đổi thông tin. Vì vậy, cả hai giao thức SAODV và ARAN thất bại trước
hình thức tấn công này.
NS ND N1 N2
Ký và gửi P kèm
theo CertNs
P P
Xác thực chữ ký NS
OK: Ký và gửi P
kèm theo CertN1
Else, huỷ P
M1 M2
Xác thực chữ ký N1
OK: Ký và gửi P
kèm theo CertN2
Else, huỷ P
Xác thực chữ ký N2
và NS
Chấp nhận P
Hai nút M1 và M2 chuyển tiếp gói P
(không thay đổi nội dung của P)
Hình 4.6. Mô tả tấn công lỗ sâu chế độ ẩn gây hại đến SAODV và ARAN
Ví dụ 4.3: Hình 4.6 là một ví dụ mô tả tấn công lỗ sâu gây hại đến hai giao
thức SAODV và ARAN. Nút nguồn NS khám phá tuyến bằng cách ký lên gói P trước
96
khi quảng bá kèm CertNS . Nút trung gian N1 xác thực chữ ký của NS. Nếu chữ ký
hợp lệ, N1 tiếp tục ký lên gói P trước tiếp tục quảng bá kèm với CertN1 . Khi nhận
được gói P, cả hai nút độc hại M1 và M2 chuyển tiếp gói P đến đích mà không thay
đổi thông tin. Khi nhận gói P, N2 xác thực chữ ký của N1. Nếu chữ ký hợp lệ, N2 loại
bỏ CertN1 và thay bằng CertN2 trước khi tiếp tục quảng bá gói P đến đích. Khi nhận
gói P, nút đích ND xác thực chữ ký của N2 và của NS. Nếu cả 2 điều kiện hợp lệ, ND
chấp nhận gói RDP. Vì N1 là nút bình thường và có chứng thư hợp lệ nên N2 chấp
nhận gói P. Kết quả là nút đích ND chấp nhận gói P mà không hề biết tuyến có chứa
đường hầm.
4.3 Cơ chế xác thực tin cậy
Giao thức MLAMAN [CT1] có thể phát hiện hiệu quả hình thức tấn công lỗ
sâu ở hai chế độ HM và PM. Tuy nhiên, điểm tồn tại của MLAMAN là cấu trúc của
chứng thư thành viên thiếu thông tin cần thiết khi sử dụng trong thực tế, tiêu biểu
như: Thời gian hiệu lực của chứng thư, nút cấp chứng thư. Để cải thiện điểm yếu này
và phát huy hơn nữa hiệu quả an ninh của MLAMAN trước một số hình thức tấn công
khác, luận án đề xuất cơ chế xác thực tin cậy (TAM [CT4]) và cơ chế quản lý chứng
thư số (DCMM [CT3]). Đồng thời, luận án cải tiến giao thức AODV thành giao thức
an ninh TAMAN sử dụng cơ chế TAM và DCMM. Điểm cải tiến của TAMAN so với
MLAMAN là:
(1) Mỗi nút được cấp một chứng thư số theo chuẩn X.509;
(2) Cơ chế TAM có thể phát hiện và ngăn chặn hầu hết các hình thức tấn công mạng
hiện tại (như liệt kê trong Bảng 1.4);
(3) Cơ chế DCMM cho phép lưu trữ, cấp phát và thu hồi chứng thư số an toàn trong
môi trường mạng di động và phi cấu trúc.
Tương tự MLAMAN, TAMAN giả định rằng: (1) Mỗi nút (Nδ) được thiết lập
một bộ khóa bí mật và công khai (kNδ -, kNδ+); (2) Tất cả các nút đều biết khóa công
khai của NCA. Giải pháp TAM không hỗ trợ chức năng cấp phát khóa bí mật và công
khai một cách tự động và an toàn cho tất cả các nút thành viên, vấn đề này sẽ được
trình bày trong các nghiên cứu tiếp theo.
4.3.1 Ba bước xác thực an ninh của TAM
Cơ chế TAM được phát triển dựa trên ý tưởng của MLA. Ba bước xác thực an
ninh trong cơ chế TAM được mô tả trong Hình 4.7. TAM cho phép một nút xác thực
nút liền trước mỗi khi nhận được gói yêu cầu tuyến và gói trả lời tuyến thông qua 3
bước gồm: (1) Xác thực chứng thư số; (2) Kiểm tra láng giềng thật sự và (3) Xác thực
toàn vẹn gói tin.
97
Nútliền
trước(N
j)
Núttrunggian(N
i)
Bắt đầu
Gửi/ chuyển tiếpGói RREQ hoặc RREP
DC hợp lệyes
no
Kết thúc
Phát hiện tấn công
Tiêu biểu như:- BH, SH, GH, FD
- Lỗ sâu ở chế độ tham gia
Láng giềngthật sự
Toàn vẹngói tin
Phát hiện tấn côngLỗ sâu ở chế độ ẩn
Hủy gói tinReturn False
yes
no
Phát hiện tấn công
Sử dụng khóa giả mạo
no
yes
Chấp nhận gói
RREQ/ RREP
Return True
Hình 4.7. Mô hình xác thực tin cậy
a) Xác thực chứng thư số: Mỗi nút trong mạng MANET được cấp một chứng
thư số (hay còn gọi là chứng minh thư điện tử) dựa trên chuẩn X.509 như Hình 4.8,
gồm thông tin định danh và khóa công khai của nút sở hữu. Chữ ký trong chứng thư
thuộc về nhà cung cấp chứng thư số (CA). Chữ ký trong chứng thư số đảm bảo mối
quan hệ của người ký về mối liên hệ giữa chìa khóa công khai và thực thể được CA
chứng nhận.
1. Version2. Serial Number
3. Signature Algorithm4. Issuer Name
5. Validity Period6. Subject Name7. Public Key
8. Certificate Signature (CS)
Hình 4.8. Cấu trúc chứng thư số theo chuẩn X.509 [58]
Trong các nghiên cứu gần đây [19, 61], CA tham gia vào quá trình xác thực DC
từ nút thành viên. Dẫn đến một số nhược điểm là: (1) Hao phí truyền thông tăng cao
do phải sử dụng gói tin điều khiển mới để gửi DC đến CA và nhận phản hồi từ CA;
(2) Do tính di động của mạng MANET, CA có thể bị cô lập với nút thành viên nên
quá trình xác thực DC có thể bị gián đoạn. Để cải thiện hạn chế này, cơ chế TAM cho
phép xác thức DC mà không cần CA. Khi nhận gói điều khiển tuyến SeRQ hoặc SeRP,
nút thành viên xác thực DC từ nút liền trước bằng cách sử dụng khóa công khai của
CA. Hàm sau cho phép kiểm tra DC của nút liền trước đã gửi gói tin P. Nút trung
gian giải mã giá trị trường CS của DC trong gói P với khóa công khai của NCA. Kết
98
quả được so sánh với giá trị băm của DC trong gói P. Nếu hai giá trị này giống nhau
thì DC là hợp lệ; ngược lại, DC của nút liền trước là không hợp lệ. Hàm sau cho phép
kiểm tra chứng thư số khi nhận gói tin P từ nút liền trước, kết quả trả về True nếu
DC là hợp lệ; ngược lại, trả về False.
Bool IsValidDC(Packet P){
val1 ← De(P.DC.CS, kNCA+);
val2 ← H(P.DC.AllF ields\{CS});return (val1 == val2);
}
b) Xác thực láng giềng thật sự: Hai cơ chế xác thực chứng thư số và toàn vẹn
gói tin không thể phát hiện được tấn công lỗ sâu ở chế độ ẩn. Nguyên nhân là nút độc
hại chỉ đơn giản là chuyển tiếp gói yêu cầu tuyến đến nút láng giềng mà không thay
đổi thông tin. Vì vậy, TAM sử dụng cơ chế xác thực láng giềng thật sự để phát hiện
tấn công lỗ sâu ở chế độ ẩn. Nội dung cơ chế xác thực láng giềng thật sự tương tự giao
thức MLAMAN, được trình bày trong mục 2.3.2.
c) Xác thực toàn vẹn gói tin: Nút độc hại có thể thu thập DC hợp lệ của nút
khác trong mạng khi nhận gói yêu cầu tuyến. Nhờ vậy mà nút độc hại có thể vượt qua
cơ chế xác thực chứng thư số một cách dễ dàng. Ngoài ra, bằng cách thay đổi giá trị
của trường GPS của gói điều khiển tuyến, nút độc hại có thể vượt qua cơ chế xác thực
nút láng giềng thật sự. Để vượt qua cơ chế xác thực toàn vẹn gói tin, nút độc hại tiến
hành băm gói P và sử dụng khóa bí mật của riêng nó (gọi là khóa giả mạo) để mã
hóa giá trị băm rồi lưu vào trường CV trước khi gửi đến láng giềng. Khi nhận được
gói P, nút trung gian sử dụng khóa công khai của DC trong gói P để giải mã giá trị
của trường CV và so sánh với giá trị băm của P. Kết quả là nút trung gian phát hiện
gói P không toàn vẹn thông tin. Nguyên nhân là do khóa bí mật của nút độc hại và
nút thật sự sở hữu DC là khác nhau. Ngoài ra, nút độc hại không thể sử dụng khóa
công khai giả mạo vì khóa này thuộc DC đã được CA xác nhận. Cơ chế kiểm tra toàn
vẹn gói tin cho phép phát hiện nút độc hại sử dụng khóa giả mạo. Để thực hiện cơ chế
này, nút NS sử dụng hàm băm H để băm thông tin của gói khám phá tuyến P, kết
quả băm được mã hóa bằng khóa bí mật (kNS−) của NS như Công thức (4.15), kết
quả được lưu vào trường CV của gói P trước khi gửi đến nút láng giềng Ni.
P.CV ← En(H(P.AllF ields\{CV }), kNs−) (4.15)
Tiếp theo, khi nhận được gói tin điều khiển tuyến P từ nút liền trước NS, nút
trung gian Ni sử dụng khóa công khai trong trường DC để giải mã giá trị của trường
CV của gói P. Kết quả giải mã được so sánh với giá trị băm của gói P, nếu hai giá trị
này bằng nhau thì gói tin được toàn vẹn; ngược lại, gói P đã bị thay đổi thông tin.
Hàm sau cho phép kiểm tra toàn vẹn gói tin P từ nút liền trước, kết quả trả về True
nếu P là toàn vẹn; ngược lại, trả về False.
99
Bool IsPacketIntegrity(Packet P){
val1 ← De(P.CV,DCNS .PK);
val2 ← H(P.AllF ields\{CV });return (val1 == val2);
}
4.3.2 Giao thức an ninh TAMAN
Luận án đề xuất giao thức an ninh sử dụng giải pháp TAM cho mạng tùy biến di
động (TAMAN). Thuật toán khám phá tuyến của TAMAN được cải tiến từ thuật toán
khám phá tuyến của giao thức AODV như Hình 4.10. Để sử dụng cơ chế TAM, hai gói
tin điều khiển tuyến của TAMAN là SeRQ và SeRP được bổ sung thêm 4 trường mới
(4NF) gồm: Hai trường GPS và R để lưu vị trí và bán kín phát sóng sử dụng trong cơ
chế kiểm tra láng giềng thật sự, DC lưu chứng thư số và CV để kiểm tra toàn vẹn gói
tin (Hình 4.9).
RREQ
GPS (x , y)Radio range (R)
Digital Certification (DC)Checking Value (CV)
(a) SeRQ
RREP
GPS (x , y)Radio range (R)
Digital Certification (DC)Checking Value (CV)
(b) SeRP
Hình 4.9. Cấu trúc gói tin điều khiển tuyến của giao thức TAMAN
Quá trình khám phá tuyến của giao thức TAMAN được thực hiện qua 2 giai
đoạn: (1) Yêu cầu tuyến bằng cách quảng bá gói SeRQ và (2) Trả lời tuyến bằng cách
gửi đơn hướng gói SeRP, chi tiết như sau:
a) Yêu cầu tuyến: Khi nút nguồn NS muốn gửi thông tin đến nút đích ND mà
không có tuyến trong bảng định tuyến, NS tiến hành khám phá đường đi bằng cách
phát quảng bá gói yêu cầu tuyến SeRQ đến tất cả các nút láng giềng như mô tả trong
(4.16), trong đó RREQ* là gói yêu cầu tuyến của giao thức gốc, 5NF là các trường mới
nhằm mục đích kiểm tra an ninh được thiết lập như sau: SeRQ.GPS = Vị trí của NS;
SeRQ.R = getRadioRange(); SeRQ.DC = DCNS ; SeRQ.CV = Mã hóa giá trị băm của
(SeRQ.AllFields \ {CV}) sử dụng khóa bí mật kNS−.
NSbrdcast : SeRQ← {RREQ∗ ⊕ 4NF} (4.16)
100
Đã xử lý SeRQ
Bắt đầu
Kết thúc
Nút nguồn (NS)
Núttrunggian/đích(N
i)
Khởi tạo gói SeRQ;Thiết lập giá trị GPS, R, DC và CV;
Quảng bá gói SeRQ;
Ni sử dụng TAM để kiểm tra SeRQthông qua 3 bước: DC, AN and PI;Kiểm tra thời gian trong DC của gói;
Quảng bá SeRQHủy gói (SeRQ)
yes
no Điều kiệnhợp lệ
Thêm tuyến ngược về nguồn hoặc cậpnhật tuyến cũ nếu có chi phí tốt hơn
Cập nhật: GPS,R, DC và CV
Cótuyến đến
đích
Khởi tạo và gửigói SeRP về nguồn
Là nút đích
yes
no
Có DC vàDC hợp lệ
yes no
no
yes
yes
no
(a) Quảng bá gói yêu cầu tuyến SeRQ
Bắt đầu
Kết thúc
Nút đích (ND)
Núttrunggian/nguồn(N
i)
Khởi tạo gói SeRP;Thiết lập GPS, R, DC và CV;
Gửi gói SeRP;
Ni sử dụng TAM để kiểm tra SeRPthông qua 3 bước: DC, AN và PI;
Kiểm tra thời gian trong DC của gói;
Chuyển tiếpgói SeRP
Hủy gói (SeRP)
yesyes
no Điều kiệnhợp lệ
Thêm tuyến ngược về nguồn hoặc cậpnhật tuyến cũ nếu có chi phí tốt hơn
Cập nhật: GPSR, DC, CV
Tìm tuyếnvề nguồn
foundnot found
Gửi gói dữ liệutừ hàng đợi
no
Là nút nguồnyes
Có DC vàDC hợp lệ
no
yes
(b) Gửi gói trả lời tuyến SeRP
Hình 4.10. Sơ đồ thuật toán khám phá tuyến của giao thức TAMAN
Khi nhận được gói yêu cầu tuyến, nút trung gian Ni hủy gói SeRQ nếu nó chưa
được cấp chứng thư số; ngược lại, Ni sử dụng TAM để kiểm tra nút liền trước dựa vào
thông tin của gói SeRQ như sau:
• Nếu chứng thư số của nút liền trước là không hợp lệ thì xuất hiện tấn công mạng,
Ni hủy gói SeRQ, kết thúc thuật toán;
• Nếu nút liền trước không là láng giềng thật sự thì Ni hủy gói SeRQ bởi vì tuyến
đường vừa khám phá xuất hiện nút độc hại thực hiện tấn công lỗ sâu ở chế độ
ẩn, kết thúc thuật toán;
• Nếu gói SeRQ không toàn vẹn thông tin thì xuất hiện nút độc hại tấn công mạng
bằng cách sử dụng khóa giả mạo, Ni hủy gói SeRQ, kết thúc thuật toán;
101
Nếu TAM xác nhận nút liền trước thỏa tất cả các điều kiện thì Ni chấp nhận
gói SeRQ để thiết lập tuyến ngược về nguồn NS và ghi nhận đã xử lý gói SeRQ vào
bộ nhớ bằng cách lưu giá trị broadcast_id và src_add. Đồng thời, trước khi tiếp tục
quảng bá gói SeRQ, Ni cập nhật lại thông tin của 4NF như sau: SeRQ.GPS = Vị trí
của Ni; SeRQ.R = getRadioRange(); SeRQ.DC = DCNi ; SeRQ.CV = Mã hóa giá trị
băm của (SeRQ.fields \ {CV}) sử dụng khóa bí mật kNi−.
Độ phức tạp: Thuật toán yêu cầu tuyến của giao thức TAMAN hoàn toàn
tương tự với giao thức MLAMAN ngoại trừ việc sử dụng TAM thay cho MLA để kiểm
tra an ninh. Giải pháp TAM gọi 3 hàm để kiểm tra chứng thư số của nút liền trước,
láng giềng thật sự và toàn vẹn gói tin, tất cả hàm hoạt động độc lập nhau. Nếu cả
3 điều kiện kiểm tra là hợp lệ thì thuật toán hoạt động tiếp tục như giao thức gốc.
Tương tự giải pháp MLA, độ phức tạp của giải pháp TAM là O(p3)+O(d), thuật toán
yêu cầu tuyến giao thức TAMAN có độ phức tạp là O(p3) + O(d) + O(n), trong đó
O(n) là độ phức tạp của thuật toán gốc với n là số lượng nút mạng.
b) Trả lời tuyến: Tương tự AODV, quá trình trả lời tuyến được thực hiện khi
một nút trung gian (Ni) có tuyến đủ tươi đến đích hoặc nút đích nhận được gói yêu cầu
tuyến. Để trả lời tuyến, nút đích ND gửi gói SeRP về nguồn qua chặng kế tiếp trong
bảng định tuyến như mô tả trong (4.17), trong đó RREP* là gói trả lời tuyến của giao
thức gốc, 4NF là các trường mới nhằm mục đích kiểm tra an ninh được thiết lập như
sau: SeRP.GPS = Vị trí của ND hoặc nút trung gian Ni; SeRP.R = getRadioRange();
SeRP.DC = DCND hoặc DCNi ; SeRP.CV = Mã hóa giá trị băm của (SeRP.AllFields
\ {CV}) sử dụng khóa bí mật của nút đích kND− hoặc nút trung gian kNi−.
ND(orNi)unicasts : SeRP ← {RREP ∗ ⊕ 4NF} (4.17)
Khi nhận được gói trả lời tuyến, nút trung gian Ni hủy gói SeRP nếu nó chưa
được cấp chứng thư số; ngược lại, Ni sử dụng TAM để kiểm tra nút liền trước dựa vào
thông tin của gói SeRP như sau:
• Nếu chứng thư số của nút liền trước là không hợp lệ thì xuất hiện tấn công mạng,
Ni hủy gói SeRP, kết thúc thuật toán;
• Nếu nút liền trước không là láng giềng thật sự thì Ni hủy gói SeRP bởi vì tuyến
đường vừa khám phá xuất hiện nút độc hại thực hiện tấn công lỗ sâu ở chế độ
ẩn, kết thúc thuật toán;
• Nếu gói SeRP không toàn vẹn thông tin thì xuất hiện nút độc hại tấn công mạng
bằng cách sử dụng khóa giả mạo, Ni hủy gói SeRP, kết thúc thuật toán;
Nếu TAM xác nhận nút liền trước thỏa tất cả các điều kiện thì Ni chấp nhận
gói SeRP để thiết lập tuyến đến đích ND. Đồng thời, trước khi tiếp tục chuyển tiếp gói
SeRP về nguồn, Ni cập nhật lại thông tin của 4NF như sau: SeRP.GPS = Vị trí của
102
Ni; SeRP.R = getRadioRange(); SeRP.DC = DCNi ; SeRP.CV = Mã hóa giá trị băm
của (SeRP.fields \ {CV}) sử dụng khóa bí mật kNi−.
Độ phức tạp: Thuật toán trả lời tuyến của giao thức TAMAN hoàn toàn tương
tự với giao thức MLAMAN ngoại trừ việc sử dụng TAM thay cho MLA để kiểm tra
an ninh. Ta có độ phức tạp của giải pháp TAM là O(p3) +O(d). Như vậy, độ phức tạp
của thuật toán trả lời tuyến của giao thức TAMAN là O(p3) +O(d) +O(n), trong đó
O(n) là độ phức tạp của thuật toán gốc với n là số lượng nút mạng.
NS ND N1 N2
Thiết lập:
GPS, R và DC;
Ký và gửi SeRQ;
Xác thực: DC, AN và
PI của NS;
OK: Thiết lập lại
GPS, R và DC; Ký
và gửi SeRQ;
Else, huỷ SeRQ;
SeRQ SeRQ
SeRQ
Xác thực: DC, AN và
PI của N1;
OK: Thiết lập lại
GPS, R và DC; Ký
và gửi SeRQ;
Else, huỷ SeRQ;
Xác thực: DC, AN và
PI của N2;
OK: Thiết lập lại
GPS, R và DC; Ký
và gửi SeRQ;
Else, huỷ SeRQ;
Hình 4.11. Mô tả quá trình ký và xác thực của giao thức TAMAN
Ví dụ 4.4: Hình 4.11 là một ví dụ mô tả cơ chế xác thực của giao thức TAMAN.
Nút nguồn NS khám phá tuyến bằng cách khởi tạo gói SeRQ kèm GPS, R và DC. Gói
SeRQ được NS ký và gán vào CV trước khi quảng bá nhằm mục đích kiểm tra toàn
vẹn gói tin. Khi nhận được gói SeRQ, nút trung gian N1 xác thực DC của NS, AN và
PI. Nếu 3 điều kiện hợp lệ, N1 thiết lập lại giá trị GPS, R và DC của N1. Gói SeRQ
tiếp tục được N1 ký và gán vào CV trước khi quảng bá. Tương tự, nút trung gian N2
xác thực DC của N1, AN và PI khi nhận được gói SeRQ. Nếu 3 điều kiện hợp lệ, N2
thiết lập lại giá trị GPS, R và DC của N2. Gói SeRQ tiếp tục được N2 ký và gán vào
CV trước khi quảng bá. Khi nhận được gói SeRQ đến từ N2, nút đích ND xác thực DC
của N2, AN và PI. Nếu 3 điều kiện hợp lệ, ND chấp nhận gói SeRQ và trả lời tuyến
về nguồn bằng cách gửi gói SeRP. Quá trình kiểm tra an ninh mỗi khi nhận gói SeRP
được thực hiện tương tự gói SeRQ.
4.3.3 Cơ chế quản lý chứng thư số
Mạng MANET là phi cấu trúc, các nút trong mạng có thể gia nhập hoặc rời khỏi
mạng linh động. Vì vậy, việc cấp và thu hồi DC gặp khó khăn nếu thực hiện một cách
thủ công. Để giải quyết vấn đề này, luận án đề xuất cơ chế DCMM có các chức năng
chính là (1) Lưu trữ; (2) cung cấp; và (3) thu hồi chứng thư số. DCMM hoạt động tại
tầng mạng với các chức năng tương tự một PKI và đảm bảo an toàn trong môi trường
mạng di động.
103
4.3.3.1 Lưu trữ chứng thư số
Cơ chế DCMM sử dụng một nút mạng tin cậy (NCA) đóng vai trò như là CA để
quản lý chứng thư số. Nút NCA lưu trữ một cơ sở dữ liệu chứng thư số (DCDB) có cấu
trúc như Bảng 4.1. Mỗi dòng của DCDB gồm các trường: Node lưu địa chỉ của nút sở
hữu chứng thư số; Prov lưu giá trị nhận biết chứng thư số được cấp cho nút thành viên
hoặc chưa; Revo lưu trạng thái của chứng thư số, nếu giá trị là 0 tương ứng chứng thư
số hợp lệ, giá trị 1 tương ứng chứng thư số cần được thu hồi và giá trị 2 là chứng thư
số đã được thu hồi thành công.
Bảng 4.1. Mô tả cơ sở dữ liệu chứng thư số
Node Prov Revo Ver S_Num S_Alg I_Nam V_Per S_Nam P_Key
IPN1 yes 0 1 CA001 1 IPNCA T1, T2 IPN1 kN1+
IPN2 no 1 1 CA002 1 IPNCA T1, T2 IPN2 kN2+
IPN3 yes 1 1 CA003 1 IPNCA T1, T2 IPN3 kN3+
IPN4 yes 2 1 CA004 1 IPNCA T1, T2 IPN4 kN4+
IPN5 yes 2 1 CA005 1 IPNCA T1, T2 IPN5 kN5+
... ...IPNn no 2 1 CA00n 1 IPNCA T1, T2 IPNn kNn+
Ngoài ra, các trường khác để lưu DC theo chuẩn X.509 là: Ver lưu phiên bản
của chứng thư số; S_Num lưu định danh của chứng thư số, được gán bởi CA; S_Alg
lưu hàm băm được sử dụng để CA ký chứng thư số, SHA1 nếu giá trị là 1 hoặc MD5
nếu giá trị là 2; I_Nam lưu tên tổ chức phát hành chứng thư số; V_Per lưu thời gian
hiệu lực của chứng thư số; S_Nam lưu tên đối tượng được cấp chứng thư số; P_Key
lưu khoá công khai của đối tượng được cấp chứng thư số.
CS = En(H(DC.AllF ields\{CS}), kNCA−) (4.18)
Đặc biệt, trường CS (Certificate Signature) lưu chữ ký số của CA trên chứng
thư số. CS được tính bằng cách sử dụng khóa bí mật của CA để mã hóa giá trị băm
thông tin trong chứng thư số như công thức (4.18). Trong DCDB tại NCA không lưu
trữ trường CS để đảm bảo an ninh. Giá trị của trường CS chỉ được tính ngay khi khởi
động việc cấp DC cho nút thành viên.
Về lý thuyết thì chứng thư số (DC) dùng theo X.509 có thể từ 2000 đến 8000
bit. Tuy nhiên, để tối ưu hóa kích thước gói tin điều khiển, luận án đã tổ chức trong
chứng thư số có điểm khác biệt. Thay vì lưu tên của nút CA hoặc tên nút sở hữu chứng
chỉ vào trường Iss_Nam hoặc Iss_Nam, luận án chỉ lưu ID của nút CA và nút sở hữu
chứng chỉ. Điều này đã giúp làm giảm đi kích thước của gói điều khiển. Trong giải
pháp TAM, DC có kích thước là 172 bytes, tương ứng 1376 bits, thấp hơn kích thước
DC theo lý thuyết.
104
4.3.3.2 Cung cấp chứng thư số
Mạng MANET không có cơ sở hạ tầng riêng nên không hỗ trợ kênh truyền an
toàn cho việc cung cấp DC. Điều này đòi hỏi giải pháp cung cấp DC phải đảm bảo
an toàn và phù hợp với đặc đính của mạng MANET. Đầu tiên, thông tin định danh
chứng thư số của tất cả nút hợp lệ được quản trị viên cập nhật vào DCDB tại nút
NCA. Tiếp theo, sau khoảng thời gian TDC , hệ thống kiểm tra trong DCDB để tìm nút
thành viên chưa được cấp DC dựa vào giá trị tại trường (Prov = no). Nếu tồn tại nút
Nδ chưa được cấp DC, NCA cấp DC cho Nδ bằng cách quảng bá gói DCP và nhận gói
xác nhận DCACK như mô tả trong Hình 4.12.
DCDB NCA
N
DCP
DCP
DCP
DCP
DCP
DCP
DCP
DCP
DCP
DCP
DCP
DCACK
DCACK
DCACK
Hình 4.12. Mô tả quá trình cung cấp DC cho nút Nδ
Để cung cấp chứng thư số, DCMM sử dụng thêm hai gói tin điều khiển mới là
DCP và DCACK trong quá trình cung cấp DC , cấu trúc như mô tả trong Hình 4.13.
Cấu trúc các gói này được cải tiến từ gói RREQ và RREP bằng cách thêm một số
trường mới như: DC lưu thông tin chứng thư số cấp cho nút thành viên, CV (128bytes)
lưu thông tin để xác thực toàn vẹn gói tin, KEY (4bytes) lưu khóa công khai, ACK
(128bytes) lưu giá trị được dùng để xác thực nút gửi gói phản hồi.
RREQ
Digital Certificate (DC)Checking Value (CV)
(a) DCP
RREP
Acknowledge (ACK)Public Key (KEY)
Checking Value (CV)
(b) DCACK
Hình 4.13. Cấu trúc gói tin điều khiển để cung cấp chứng thư số
Lưu đồ thuật toán tại Hình 4.14 mô tả chi tiết quá trình cung cấp DC cho nút
thành viên Nδ. Quá trình này được thực hiện qua hai giai đoạn: (1) Gửi chứng thư số
105
cho nút thành viên và (2) nhận phản hồi từ nút thành viên nếu cấp chứng thư số được
cấp thành công.
a) Gửi chứng thư số: Định kỳ, sau khoảng thời gian TDC , NCA duyệt qua DCDB.
Nếu tồn tại nút Nδ chưa được cấp DC (Prov = no), NCA tiến hành khởi tạo gói DCP
như mô tả trong (4.19). Trong đó RREQ∗ lưu thông tin tương tự như giao thức AODV,
DC lưu thông tin chứng thư số, giá trị của trường CS được tính như Công thức (4.20),
CV lưu kết quả mã hóa giá trị băm của gói DCP bằng cách sử dụng khóa bí mật của
NCA để kiểm tra toàn vẹn gói tin như mô tả tại mục 2.3.2.
NCAbrdcast : DCP ← {RREQ∗ ⊕DCNδ ⊕ CV } (4.19)
DCP.DC.CS ← En(En(H(DC.AllF ields\{CS}), kNCA−), kNδ+) (4.20)
Bắt đầu
Kết thúc
Nútcấp
chứngthưNCA
Núttrunggian/đích(N
i)
Tạo gói DCP ; Thiết lậpDCNδ và CV vào gói DCP ;
Quảng bá DCP ;
Ni nhận gói DCP ; Nó kiểm tra: DCP được gửitừ NCA và gói tin toàn vẹn;
Tiếp tục quảng
bá gói DCP
Hủy gói(DCP)
yes
no Tất cả điềukiện hợp lệ
Thêm tuyến về NCA hoặc cập nhậtnếu tuyến mới tốt hơn tuyến hiện có
Tạo và gửi gói
DCACK về CA
Đây là nút Nδno
yes
(a) Gửi chứng thư số cho nút thành viên
Bắt đầu
Kết thúc
Nút thành viên (Nδ)Núttrunggian/nguồn(N
i)
Tạo gói DCACK ; Thiết lậpgiá trị ACK, KEY và CV;
Gửi gói DCACK ;
Ni nhận gói DCACK ; Nó kiểm tra DCACKđược gửi từ Nδ và gói tin toàn vẹn;
Chuyển tiếpDCACK
Hủy gói(DCACK)
yesyes
no Tất cả điềukiện hợp lệ
Thêm tuyến về Nδ hoặc cập nhậtnếu tuyến mới tốt hơn tuyến hiện có
Tìm tuyếnvề nguồn
foundnot found
Cấp DC thành công,lưu vếch vào DCDB
no
Nút là NCAyes
(b) Nhận phản hồi từ nút thành viên
Hình 4.14. Sơ đồ thuật toán cung cấp chứng thư số của cơ chế DCMM
Khi nhận được gói DCP, nút trung gian kiểm tra để đảm bảo toàn vẹn gói tin
DCP dựa vào khóa công khai của NCA. Nếu thỏa điều kiện thì nút trung gian tiếp tục
quảng bá gói DCP ; ngược lại, gói DCP bị hủy. Sau quá trình chuyển tiếp tại một số
nút trung gian, nút Nδ cũng nhận được gói DCP. Nút Nδ kiểm tra để đảm bảo rằng gói
DCP được gửi từ NCA, và gói này để cấp DC cho Nδ bằng việc lần lượt sử dụng khóa
106
bí mật kNδ− và khóa công khai kNCA+ để giải mã giá trị của trường CS trong chứng
thư số. Nếu điều kiện thỏa mãn, Nδ lưu DC vào bộ nhớ và gửi trả lời gói DCACK về
cho nút NCA; ngược lại, gói DCP bị hủy. Hàm sau cho phép kiểm tra và lưu DC khi
nhận gói DCP, kết quả trả về True nếu lưu DC thành công, ngược lại trả về False.
Bool TestAndSaveDC(DCP P){
if (!IsPacketIntegrity(P, kNCA+)) {
Dispose(P) and Return False;
} else {
val1 ← De(P.DC.CS, kNδ−);
if (IPNδ 6= P.DC.S_Nam) {
Dispose(P) and return False;
} else {
P.DC.CS ← val1;
SavetoCache(P.DC);
CreateAndSend(DCACK , NCA);
return True;
}
}
}
Độ phức tạp: Thuật toán gửi chứng thư số của DCMM được phát triển từ
thuật toán quảng bá gói yêu cầu tuyến của giao thức AODV. Mỗi khi nhận được gói
MCP, nút kiểm tra toàn vẹn gói tin và kiểm tra gói được gửi từ CA. Nếu cả 2 điều
kiện kiểm tra là hợp lệ thì thuật toán hoạt động tiếp tục như giao thức gốc. Giá trị
của trường CS trong DC chỉ có thể được giải mã bằng cách sử dụng khóa bí mật của
nút Nδ và khóa công khai của NCA. Điều này có nghĩa là: (1) Một nút thành viên khác
không thể biết được DC của Nδ vì phải cần khóa bí mật của Nδ để giải mã; (2) tin tặc
cũng không thể giả mạo nút NCA để cấp DC bởi vì không có khóa bí mật của NCA;
(3) Thông tin của gói DCP không thể bị thay đổi trong quá trình chuyển tiếp từ NCA
đến Nδ nhờ vào cơ chế kiểm tra toàn vẹn gói tin. Tương tự thuật toán yêu cầu tuyến,
thuật toán gửi chứng thư số có độ phức tạp là O(p3) +O(d) +O(n), trong đó O(n) là
độ phức tạp của thuật toán gốc với n là số lượng nút mạng.
b) Nhận phản hồi từ thành viên: Để đảm bảo độ tin cậy của cơ chế cấp chứng
thư số, việc gửi xác nhận về NCA là bắt buộc mỗi khi một nút thành viên nhận được
DC. Sau khi lưu thành công DC, nút Nδ gửi gói DCACK ngược về NCA để thông báo
rằng Nδ đã nhận được DC như mô tả trong (4.21). Trong đó RREP* là gói RREP của
giao thức gốc, ACK được tính theo Công thức (4.22), KEY là khóa công khai của nút
Nδ và CV là kết quả mã hóa giá trị băm của gói DCACK sử dụng khóa kNδ−.
Nδunicasts : DCACK ← {RREP ∗ ⊕ ACK ⊕KEY ⊕ CV } (4.21)
DCACK .ACK ← En(En(H(IPNCA), kNδ−), kNCA+)) (4.22)
107
Khi nhận được gói DCACK , nút trung gian kiểm tra để đảm bảo toàn vẹn gói
tin DCACK dựa vào khóa công khai của Nδ được gửi kèm theo. Nếu thỏa điều kiện
thì nút trung gian tiếp tục chuyển tiếp gói DCACK về nguồn dựa vào thông tin trong
bảng định tuyến của nó; ngược lại, gói DCACK bị hủy. Gói DCACK đến nút NCA sau
quá trình chuyển tiếp qua một số nút trung gian. NCA kiểm tra để đảm bảo rằng gói
DCACK được gửi từ Nδ, và gói này gửi trả lời cho NCA bằng việc lần lượt sử dụng khóa
bí mật kNCA− và khóa công khai kNδ+ để giải mã giá trị của trường ACK. Nếu kết
quả giải mã tương ứng với giá trị băm IPNCA thì NCA cập nhật vào DCDB rằng việc
cấp DC cho nút thành viên Nδ là thành công; ngược lại gói DCACK bị hủy. Hàm sau
mô tả chi tiết việc kiểm tra và cập nhật DCDB khi nhận được gói DCACK , kết quả trả
về True nếu DC được cấp thành công, ngược lại trả về False.
Bool TestAndUpdateDCDB(DCPACK P){
if (!IsPacketIntegrity(DCACK , DCACK .KEY )) {
Dispose(DCACK) and return False;
} else {
val1 ← De(DCACK .ACK, kNCA−);
val2 ← De(val1, DCACK .KEY );
if (val2 6= H(IPNCA)) {
Dispose(DCACK) and return False;
} else {
if (IPNδ exists in DCDB) {
DCDBRow row ← DCDB.Rows[IPNδ ];
row.Prov ← Yes;
return True;
} else {Dispose(DCACK) and return False;}
}
}
}
Độ phức tạp: Thuật toán phản hồi chứng thư số của DCMM được phát triển
từ thuật toán trả lời tuyến của giao thức AODV. Mỗi khi nhận được gói MCACK , nút
kiểm tra toàn vẹn gói tin và kiểm tra gói được gửi từ Nδ. Nếu cả 2 điều kiện kiểm tra
là hợp lệ thì thuật toán hoạt động tiếp tục như giao thức gốc. Giá trị của trường ACK
trong gói DCACK chỉ có thể được giải mã bằng cách sử dụng khóa công khai của nút
được cấp DC là Nδ và khóa bí mật của nút NCA. Điều này có nghĩa là: (1) tin tặc cũng
không thể giả mạo nút Nδ để gửi gói DCACK giả mạo vì không có khóa bí mật của Nδ;
(2) Thông tin của gói DCACK không thể bị thay đổi trong quá trình chuyển tiếp từ
Nδ về Nδ nhờ vào cơ chế kiểm tra toàn vẹn gói tin. Tương tự thuật toán trả lời tuyến,
thuật toán phản hồi chứng thư số có độ phức tạp là O(p3) + O(d) + O(n), trong đó
O(n) là độ phức tạp của thuật toán gốc với n là số lượng nút mạng.
108
4.3.3.3 Thu hồi chứng thư số
Một khi CA cung cấp chứng thư số cho thành viên, chứng thư số này chỉ được sử
dụng giới hạn trong khoảng thời gian qui định trong trường V_Per. Chứng thư số sẽ
bị thu hồi nếu hết thời gian sử dụng hoặc ngay cả khi thời gian sử dụng còn hợp lệ do
những nguyên nhân khác. DCMM hỗ trợ cơ chế thu hồi DC bằng cách sử dụng hai gói
tin hệ thống mới là DCR và DCRACK . Cấu trúc hai gói như mô tả trong Hình 4.15.
Trường SeNu (10bytes) lưu số định danh chứng thư số bị thu hồi, KEY (4bytes) lưu
khóa công khai, ACK (128bytes) lưu giá trị được dùng để xác thực nút gửi gói phản
hồi và CV (128bytes) lưu thông tin để xác thực toàn vẹn gói tin.
RREQ
Serial Number (SeNu)Checking Value (CV)
(a) DCR
RREP
Acknowledge (ACK)Public Key (KEY)
Checking Value (CV)
(b) DCRACK
Hình 4.15. Cấu trúc gói tin điều khiển sử dụng trong DCMM
Sau khoảng thời gian TDC , hệ thống kiểm tra trong DCDB để tìm các chứng thư
số cần phải thu hồi. Nếu tồn tại chứng thư số cần thu hồi (Revo = 1 ) thì nút NCA
quảng bá gói DCR chứa số định danh của chứng thư số đến nút sở hữu nó là Nδ như
mô tả trong (4.23). Trong đó RREQ∗ lưu thông tin tương tự như giao thức AODV,
SeNu số định danh của chứng thư số, CV lưu kết quả mã hóa giá trị băm của gói DCR
bằng cách sử dụng khóa bí mật của NCA để kiểm tra toàn vẹn gói tin.
NCAbrdcast : DCR← {RREQ∗ ⊕ SeNu⊕ CV } (4.23)
Khi nhận được gói DCR, nút trung gian kiểm tra để đảm bảo toàn vẹn gói tin
DCR dựa vào khóa công khai của NCA. Nếu thỏa điều kiện thì nút trung gian tiếp tục
quảng bá gói DCR; ngược lại, gói DCR bị hủy. Sau quá trình chuyển tiếp qua một số
nút trung gian gói DCR đến nút Nδ. Nδ kiểm tra để đảm bảo rằng gói DCR được gửi
từ NCA bằng cách kiểm tra toàn vẹn gói tin DCR. Nếu điều kiện thỏa mãn, Nδ ghi
nhận việc chứng thư số bị thu hồi và gửi gói DCRACK để xác nhận về NCA như mô tả
trong (4.24). Trong đó RREP* là gói RREP của giao thức gốc, ACK được tính theo
Công thức (4.25), KEY là khóa công khai của nút Nδ và CV được tính bằng cách mã
hóa giá trị băm của gói DCRACK sử dụng khóa bí mật kNδ−.
Nδunicasts : DCRACK ← {RREP ∗ ⊕ ACK ⊕KEY ⊕ CV } (4.24)
DCRACK .ACK ← En(En(H(IPNCA), kNδ−), kNCA+)) (4.25)
109
Khi nhận được gói DCRACK , nút trung gian kiểm tra để đảm bảo toàn vẹn gói
tin DCRACK dựa vào khóa công khai của Nδ được gửi kèm theo. Nếu thỏa điều kiện
thì nút trung gian tiếp tục chuyển tiếp gói DCRACK về nguồn dựa vào thông tin trong
bảng định tuyến của nó; ngược lại, gói DCRACK bị hủy. Gói DCRACK đến nút NCA
sau quá trình chuyển tiếp qua một số nút trung gian. NCA kiểm tra để đảm bảo rằng
gói DCRACK nhận được gửi từ Nδ, và gói này gửi trả lời cho NCA bằng việc lần lượt sử
dụng khóa bí mật kNCA− và khóa công khai kNδ+ để giải mã giá trị của trường ACK.
Nếu kết quả giải mã tương ứng với giá trị băm IPNCA thì NCA cập nhật vào DCDB
giá trị trường “Revo” là 2 tại dòng có địa chỉ là IPNδ . Mục đích là để nhận biết việc
thu hồi DC của nút thành viên Nδ thành công; ngược lại, gói DCRACK bị hủy.
4.3.4 So sánh các giải pháp bảo mật định tuyến
Trong thời gian qua, đã có một số công bố trên nền tảng chữ ký số nhằm mục
đích an ninh trên mạng MANET, tiêu biểu là SAODV và ARAN. Phần này so sánh
TAMAN và một số nghiên cứu liên quan sử dụng hai tiêu chí là đặc điểm và hiệu quả
an ninh của mỗi giải pháp.
4.3.4.1 Đặc điểm
Giao thức TAMAN được cải tiến từ AODV tương tự SAODV và ARAN. Một số
đặc điểm của TAMAN so với hai giao thức liên quan được tổng hợp trong Bảng 4.2.
Khác với SAODV là hỗ trợ xác thực đầu-cuối, TAMAN hỗ trợ xác thực tại mỗi-chặng
tương tự giao thức ARAN. Giao thức ARAN cho phép nút trung gian loại bỏ chữ ký
của nút liền trước và thay thế bằng chữ ký riêng nó. Một nút độc hại có thể thấy được
khuyết điểm này để tấn công bằng cách chuyển tiếp gói tin mà không thay đổi chữ ký.
Vì vậy, nút nhận gói tin không thể phát hiện ra tấn công mạng bởi vì chữ ký trong gói
là hợp lệ. Giao thức TAMAN đã khắc phục được hạn chế này bằng cơ chế xác thực
nút láng giềng thật sự. Ngoài ra, TAMAN cho phép nút xác thực nút liền trước với 3
mức độ, trong khi giao thức ARAN xác thực nút liền trước thông qua chữ ký số. Giao
thức SAODV chỉ bảo vệ những trường không thay đổi của gói điều khiển tuyến, ARAN
loại bỏ HC vì trường này thay đổi khi chuyển tiếp qua mỗi nút, SAODV bảo vệ HC
bằng giải pháp chuỗi băm. TAMAN bảo vệ tất cả trường của gói điều khiển tuyến bao
gồm cả HC bằng cơ chế xác thực toàn vẹn gói tin. Giao thức TAMAN có thể trả lời
tuyến một khi nút trung gian có tuyến đủ tươi đến đích, giao thức ARAN loại bỏ cơ
chế này, giao thức SAODV hỗ trợ cơ chế này nhưng phải sử dụng chữ ký đôi. Đặc biệt,
TAMAN hỗ trợ cơ chế quản lý và cung cấp chứng thư số cho nút một cách an toàn,
phù hợp với môi trường mạng MANET mà không cần PKI. Giao thức SAODV cần bổ
sung 2 chữ ký số vào gói điều khiển khi sử dụng chữ ký đôi, ARAN bổ sung 1 chữ ký
số và 2 chứng thư nhằm mục đích kiểm tra từng–chặng và đầu–cuối, TAMAN bổ sung
trường lưu R và GPS, 1 chữ ký và 1 chứng thư nhằm mục đích kiểm tra an ninh. Như
vậy, gói RCP của giao thức TAMAN có kích thước lớn hơn SAODV, nhưng thấp hơn
ARAN. Tuy nhiên, TAMAN sử dụng thêm gói tin điều khiển tuyến mới để cấp DC,
110
đây là nguyên nhân làm tăng hao phí truyền thông. Mặc dù giao thức TAMAN hỗ trợ
cả hai cơ chế TAM và DCMM, nhưng độ phức tạp bằng với cả hai giao thức SAODV
và ARAN.
Bảng 4.2. Đặc điểm của TAMAN và một số nghiên cứu liên quan
Đặc điểmGiao thức
SAODV ARAN TAMAN
1. Xác thực đầu-cuối • •2. Xác thực tại mỗi-chặng • •3. Xác thực nút liền trước • •4. Sử dụng HC để tính chi phí định tuyến • •5. Nút trung gian có thể trả lời tuyến • •6. Hỗ trợ quản lý khóa công khai • •7. Hỗ trợ cơ chế quản lý chứng thư •8. Bảo vệ toàn vẹn trường không thay đổi • • •9. Bảo vệ toàn vẹn gói tin • •10. Xác thực nút láng giềng thật sự •11. Sử dụng gói điều khiển tuyến mới •12. Thuộc tính cần thêm vào gói RCP 2DS DS, 2DC R, GPS, DS, DC13. Độ phức tạp thuật toán O(p3) + O(d) + O(n)
4.3.4.2 Hiệu quả an ninh
Khả năng an ninh của TAMAN và một số nghiên cứu liên quan được tổng hợp
trong Bảng 4.3. Cả hai giao thức SAODV và ARAN không thể phát hiện tấn công lỗ
sâu ở chế độ ẩn, SAODV không thể phát hiện nút độc hại sử dụng khóa giả mạo vì
thiếu cơ chế quản lý khóa công khai. TAMAN có thể phát hiện và ngăn chặn tất cả
các hình thức tấn công mạng bao gồm cả tấn công lỗ sâu ở chế độ ẩn.
Bảng 4.3. Hiệu quả an ninh của TAMAN và một số nghiên cứu liên quan
Phát hiện và ngăn chặnGiao thức
SAODV ARAN TAMAN
1. Tấn công lỗ đen/ lỗ chìm • • •2. Tấn công lỗ xám • • •3. Tấn công lỗ sâu:
- Chế độ ẩn •- Chế độ tham gia • • •
4. Tấn công ngập lụt • • •5. Nút độc hại sử dụng khóa giả mạo • •
a) Ngăn ngừa tấn công mạo danh: Điểm chung của các hình thức tấn công lỗ đen,
lỗ chìm và lỗ xám là nút độc hại sử dụng lỗ hổng trong cơ chế khám phá tuyến của giao
111
thức AODV. Nút độc hại có thể gia nhập vào tuyến bằng cách tự quảng cáo cho nút
nguồn biết rằng nó có tuyến đến đích với chi phí tốt nhất mỗi khi nhận được gói yêu cầu
tuyến. Hình 4.16(a) mô tả nút nguồn N1 khám phá tuyến đến nút đích N5 bằng cách
quảng bá gói RREQ và nhận gói trả lời tuyến RREP từ nút đích. Kết quả là nút nguồn
khám phá tuyến đến đích có chi phí là 4 trên hướng {N1 → N2 → N3 → N4 → N5}.
Tuy nhiên, khi mạng xuất hiện nút độc hại M là láng giềng của N3, nút nguồn khám
phá tuyến đến đích trên hướng {N1 → N2 → N3 → M}. Nguyên nhân là do N3 cho
rằng M có tuyến đến đích với chi phí tốt nhất N4. Hình 4.16(b) mô tả khả năng ngăn
chặn tấn công mạo danh của TAMAN, khi nhận gói tin trả lời tuyến giả mạo (FSeRP)
từ nút độc hại, N3 loại bỏ gói tin này do DC không hợp lệ, N3 không thiết lập tuyến
qua nút độc hại. Kết quả là nút độc hại bị cô lập và không bao giờ xuất hiện trong
tuyến mà nút nguồn khám phá. Như vậy, mọi sự thay đổi trong gói tin điều khiển đều
bị phát hiện nên TAMAN có thể ngăn chặn tất cả các hình thức tấn công mạo danh.
N1
Nguồn
N2 N3 N4 N5
Đích
M
RREQRREPFRREP
(a) AODV
N1
Nguồn
N2 N3 N4 N5
Đích
M
SeRQSeRPFSeRP
(b) TAMAN
Hình 4.16. Minh họa khả năng ngăn chặn tấn công mạo danh của TAMAN
b) Ngăn ngừa tấn công lỗ sâu: Để tấn công lỗ sâu, hai nút độc hại kết nối với
nhau thông qua một kênh truyền riêng được gọi là đường hầm, độ dài đường hầm đủ
lớn (>R) để tuyến đến đích thông qua đường hầm sẽ có chi phí thấp hơn tuyến thực
tế. Mục đích là cho phép hai nút độc hại gia nhập vào tuyến mà nút nguồn khám phá.
Hình 4.17(a) mô tả hình thức tấn công lỗ sâu thông qua đường hầm với hai nút độc
hại là M1 và M2. Nút nguồn N1 khám phá tuyến đến đích N5 bằng cách quảng bá
gói yêu cầu tuyến RREQ thông qua hai hướng là {N1 → N2 → N3 → N4 → N5} và
{N1 →M1 →M2 → N5}. Nút đích chấp nhận gói RREQ trên tuyến chứa nút độc hại
do đến trước, đồng thời trả lời gói RREP trên tuyến này theo hướng ngược lại. Kết
quả là hai nút độc hại đã gia nhập thành công vào tuyến mà nút nguồn vừa khám phá.
Hình 4.17(b) mô tả khả năng phát hiện tấn công lỗ sâu sử dụng đường hầm ở
hai chế độ tham gia và ẩn. Ở chế độ tham gia, khi nhận được gói SeRQ từ nút độc hại
M2, nút N5 kiểm tra và phát hiện DC của M2 là không hợp lệ, gói SeRQ bị hủy. Nếu
ở chế độ ẩn, nút độc hại chỉ chuyển tiếp gói SeRQ đến đích nên TAMAN không thể
phát hiện bằng cơ chế xác thực DC. Tuy nhiên, do khoảng cách từ N1 đến N5 lớn hơn
bán kính phát sóng R nên N5 phát hiện ra nút độc hại đã chuyển tiếp gói tin bằng cơ
chế xác thực nút láng giềng thật sự, gói SeRQ đến từ M2 bị hủy. Nút đích chấp nhận
gói SeRQ đến từ nút N4 để trả lời tuyến. Kết quả là nút nguồn khám phá thành công
tuyến đến đích không chứa nút độc hại.
112
Nguồn ĐíchN1 N2 N3 N4 N5
M1 M2
RREQ RREP Tunnel
(a) AODV
Nguồn ĐíchN1 N2 N3 N4 N5
M1 M2
SeRQ SeRP Tunnel
(b) TAMAN
Hình 4.17. Minh họa khả năng ngăn chặn tấn công lỗ sâu của TAMAN
Ngoài ra, TAMAN có thể phát hiện và ngăn chặn tấn công lỗ sâu sử dụng cơ chế
đóng gói ở hai chế độ tham gia và ẩn. Xem lại Hình 1.13(b) tại Chương 1, ở chế độ
tham gia, khi nhận được gói SeRQ từ nút độc hại M1, nút N9 kiểm tra và phát hiện
DC của M1 là không hợp lệ, gói SeRQ bị hủy. Nếu ở chế độ ẩn, nút độc hại chỉ chuyển
tiếp gói SeRQ đến đích nên TAMAN không thể phát hiện bằng cơ chế xác thực DC.
Tuy nhiên, do khoảng cách từ N6 đến N9 lớn hơn bán kính phát sóng R nên N9 phát
hiện ra M1 đã chuyển tiếp gói tin bằng cơ chế xác thực nút láng giềng thật sự, gói
SeRQ đến từ M1 bị hủy. Tương tự, nút đích N8 cũng phát hiện ra nút độc hại M2 và
loại bỏ gói SeRQ đến từ nút M2. Kết quả là nút nguồn khám phá thành công tuyến
đến đích không chứa nút độc hại. Như vậy, TAMAN có thể phát hiện và ngăn chặn tấn
công lỗ sâu sử dụng đường hầm hoặc ơ chế đóng gói ở cả hai chế độ ẩn và tham gia.
c) Ngăn ngừa tấn công ngập lụt: Tấn công ngập lụt được thực hiện đơn giản
nhưng là thách thức trong mạng MANET. Hành vi của nút độc hại tương tự như nút
bình thường ngoài việc phát gói tin điều khiển tuyến với tần suất cao. Kết quả là tạo
ra bão quảng bá gói tin trên mạng gây hao phí truyền thông, và ảnh hưởng đến hiệu
quả định tuyến dữ liệu nếu tần suất tấn công đủ lớn. Hình 4.18(a) mô tả hình thức
tấn công ngập lụt gói RREQ đã ảnh hưởng đến tất cả các nút trong mạng do hình
thức truyền quảng bá. TAMAN có thể ngăn chặn tất cả hình thức tấn công này bởi
việc kiểm tra gói tin SeRQ. Khi nhận được gói SeRQ từ nút độc hại M, cả ba nút láng
giềng là N1, N3 và N5 đều loại bỏ gói này vì DC của M không hợp lệ.
N1
N2 N3 N4
N5M
RREQ
RREQ RREQ
RREQ
RREQ
(a) AODV
N1
N2 N3 N4
N5M
SeRQ
SeRQ
SeRQ
(b) TAMAN
Hình 4.18. Minh họa khả năng ngăn chặn tấn công ngập lụt của TAMAN
113
d) Ngăn ngừa nút độc hại sử dụng khóa giả mạo: Nút độc hại có thể vượt qua
cơ chế xác thực chứng thư số bằng cách sử dụng DC hợp lệ của nút khác, vượt qua cơ
chế kiểm tra láng giềng thật sự bằng cách thay đổi giá trị trường GPS của gói điều
khiển. Để vượt qua cơ chế xác thực toàn vẹn gói tin, nút độc hại băm gói SeRQ và sử
dụng khóa bí mật của riêng nó (gọi là khóa giả mạo) để mã hóa giá trị băm. Kết quả
được lưu vào trường CV của gói tin trước khi gửi đến láng giềng. Khi nhận gói SeRQ,
nút trung gian sử dụng khóa công khai của DC trong gói SeRQ để giải mã giá trị của
trường CV và so sánh với giá trị băm của gói SeRQ. Vì khóa bí mật của nút độc hại
và nút sở hữu DC khác nhau nên gói SeRQ không toàn vẹn thông tin. Nhờ vào cơ chế
kiểm tra toàn vẹn gói tin, nút trung gian có thể phát hiện nút độc hại đã thực hiện
hành vi tấn công mạng.
4.4 Đánh giá hiệu năng của giao thức TAMAN
Trong chương 1, luận án đã đánh giá tác hại của tấn công lỗ sâu đến hiệu năng
giao thức AODV. Giao thức TAMAN được cải tiến từ giao thức AODV bằng cách bổ
sung cơ chế an ninh TAM. Vì vậy, để thấy được hiệu quả an ninh, luận án sử dụng
cùng thông số như đã đánh giá trên giao thức AODV tại mục 1.5.1. Hai nút độc hại
đứng yên tại vị trí trung tâm và kết nối với nhau qua một đường hầm có chiều dài lần
lượt là 1, 2, 3, 4 và 5 chặng (250m/chặng) như Hình 1.18. Tất cả các nút di chuyển
ngẫu nhiên với vận tốc từ 1 đến 30m/s (108km/h), thời gian mô phỏng là 1000s. Tiêu
chí đánh giá gồm: Ảnh hưởng của cơ chế an ninh DCMM đến hiệu năng của giao thức
TAMAN, hiệu quả an ninh trước hình thức tấn công lỗ đen.
4.4.1 Ảnh hưởng của DCMM đến hiệu năng của TAMAN
Đầu tiên, luận án đánh giá số lượng gói tin hao phí (gồm DCP , DCACK , DCR
và DCRACK) cần phải xử lý để cấp và thu hồi DC trong môi trường mạng với vận tốc
di động khác nhau. Kịch bản 1 (100-nodes) gồm 100 nút mạng, tất cả các nút được
thêm vào DCDB; Kịch bản 2(60-40-nodes) gồm 100 nút mạng, 60 nút được cài đặt vào
DCDB ngay khi bắt đầu mô phỏng và 40 nút còn lại được thêm vào DCDB tại giây
500; Kịch bản 3(100-20-nodes) gồm 100 nút mạng được cài đặt vào DCDB ngay khi
bắt đầu mô phỏng, 20 nút mạng bị thu hồi DC tại giây 700. Có 4 tô-pô mạng được sử
dụng gồm 1 tô-pô đứng yên và 3 tô-pô mạng có các nút di chuyển ngẫu nhiên với vận
tốc tối đa là 10m/s, 20m/s và 30m/s.
Kết quả mô phỏng tại Hình 4.19(a) cho thấy TAMAN cần 110s và phải xử lý
21,922pkt để hoàn thành cấp DC cho 100 nút thành viên trong môi trường mạng đứng
yên. Khi DCDB có 60 nút thì TAMAN cần 70s và phải xử lý 15,202pkt để hoàn thành
cấp DC cho 60 nút thành viên. Khi thêm 40 nút còn lại vào DCDB, số lượng gói điều
khiển bắt đầu tăng tại giây 500 để cấp DC và hoàn thành sau 560s và phải xử lý
20,928pkt. Kịch bản 100-20-nodes cho thấy TAMAN phải xử lý thêm 2,572pkt kể từ
giây 700 và kết thúc sau 40s.
114
Kết quả mô phỏng trong môi trường mạng di động với vận tốc tố đa 30m/s
(Hình 4.19(d)) cho thấy TAMAN cần 270s và phải xử lý 65,809pkt để hoàn thành cấp
DC cho 100 nút thành viên. Khi DCDB có 60 nút thì TAMAN cần 210s và phải xử lý
28,556pkt để hoàn thành cấp DC cho 60 nút thành viên. Khi thêm 40 nút còn lại vào
DCDB, số lượng gói điều khiển bắt đầu tăng tại giây 500 để cấp DC và hoàn thành
sau 700s và phải xử lý 39,473pkt. Kịch bản 100-20-nodes cho thấy TAMAN phải xử
lý thêm 5,148pkt kể từ giây 700 và kết thúc sau 160s. Như vậy, kết quả mô phỏng cho
thấy rằng số lượng gói tin hao phí để cấp DC tăng dần theo vận tốc di động.
0
10000
20000
30000
40000
50000
60000
70000
80000
0 100 200 300 400 500 600 700 800
Số l
ượ
ng g
ói
tin h
ao p
hí
(pkt)
Thời gian cấp DC (sec)
100nodes 60-40nodes 100-20nodes
(a) Đứng yên
0
10000
20000
30000
40000
50000
60000
70000
80000
0 100 200 300 400 500 600 700 800
Số l
ượ
ng g
ói
tin h
ao p
hí
(pkt)
Thời gian cấp DC (sec)
100nodes 60-40nodes 100-20nodes
(b) 1-10m/s
0
10000
20000
30000
40000
50000
60000
70000
80000
0 100 200 300 400 500 600 700 800
Số l
ượ
ng g
ói
tin h
ao p
hí
(pkt)
Thời gian cấp DC (sec)
100nodes 60-40nodes 100-20nodes
(c) 1-20m/s
0
10000
20000
30000
40000
50000
60000
70000
80000
0 100 200 300 400 500 600 700 800 900
Số l
ượ
ng g
ói
tin h
ao p
hí
(pkt)
Thời gian cấp DC (sec)
100nodes 60-40nodes 100-20nodes
(d) 1-30m/s
Hình 4.19. Số lượng gói tin hao phí để cấp DC của DCMM
Tiếp theo, luận án đánh giá ảnh hưởng của DCMM đến hiệu năng của TAMAN.
Tất cả các nút sử dụng giao thức TAMAN không tham gia vào quá trình định tuyến dữ
liệu nếu chưa được cấp DC từ NCA. Vì vậy, hiệu quả định tuyến của TAMAN bị ảnh
hưởng nếu tích hợp DCMM. Kết quả thống kê sau khi thực hiện 15 kịch bản mô phỏng
(Hình 4.20(a)) cho thấy DCMM đã ảnh hưởng đến hiệu năng của giao thức TAMAN.
Sau 1000s mô phỏng, tỷ lệ gửi gói tin thành công của AODV là 76.07%, TAMAN là
69.80% và TAMAN (DCMM) là 67.65%, độ lệch chuẩn lần lượt là 2.45%, 2.71% và
4.37%. Kết quả cho thấy tỷ lệ gửi gói tin thành công của TAMAN thấp hơn AODV
6.28%. Ngoài ra, tỷ lệ gửi gói tin thành công của TAMAN bị giảm 2.14% khi được tích
115
hợp thêm DCMM. Nguyên nhân là do tất cả các nút không tham gia vào quá trình
khám phá tuyến nếu nút chưa nhận được DC từ NCA, DCMM cần thời gian để hoàn
thành cấp DC cho 100 nút.
40
50
60
70
80
90
200 400 600 800 1000
Tỷ
lệ g
ửi g
ói th
ành
công
(%
)
Thời gian mô phỏng (sec)
AODV TAMAN TAMAN (DCMM)
(a) Tỷ lệ gửi gói tin thành công
0
5
10
15
20
25
30
35
200 400 600 800 1000
Phụ
tải đ
ịnh
tuyế
n (p
kt)
Thời gian mô phỏng (sec)
AODV TAMAN TAMAN (DCMM)
(b) Phụ tải định tuyến
0
0.5
1
1.5
2
2.5
3
200 400 600 800 1000
Thờ
i gia
n tr
ễ tr
ung
bình
(se
c)
Thời gian mô phỏng (sec)
AODV TAMAN TAMAN (DCMM)
(c) Thời gian trễ trung bình
Hình 4.20. Ảnh hưởng của DCMM đến hiệu năng của TAMAN
116
Kết quả mô phỏng tại Hình 4.20(b) cho thấy rằng sau 1000s mô phỏng, phụ
tải định tuyến của AODV là 13.90pkt, TAMAN là 15.26pkt và TAMAN (DCMM) là
17.13pkt, độ lệch chuẩn lần lượt là 1.82pkt, 2.05pkt và 2.02pkt. Phụ tải định tuyến của
TAMAN (DCMM) tăng 1.87pkt so với TAMAN và tăng 3.23pkt so với AODV. Như
vậy, cơ chế DCMM đã làm tăng phụ tải định tuyến của giao thức TAMAN. Tuy nhiên,
phụ tải định tuyến giảm dần theo thời gian. Nguyên nhân là do DCMM phải sử dụng
thêm nhiều gói tin hệ thống cho việc cấp và thu hồi DC. Hình 4.20(c) cho thấy sau
1000s mô phỏng, thời gian trễ trung bình của AODV là 0.934s, TAMAN là 1.545s và
TAMAN (DCMM) là 1.737s, độ lệch chuẩn lần lượt là 0.08s, 0.27s và 0.32s. Thời gian
trễ của TAMAN (DCMM) cao hơn TAMAN là 0.192s và cao hơn AODV là 0.803s.
Như vậy, thời gian trễ trung bình của TAMAN tăng khi được tích hợp thêm DCMM
và lớn hơn AODV. Nguyên nhân là do TAM sử dụng chữ ký số để xác thực đã làm
tăng thời gian xử lý tại mỗi nút.
4.4.2 Hiệu quả an ninh trước hình thức tấn công lỗ đen
Luận án tiếp tục mô phỏng giao thức TAMAN, SAODV và ARAN khi bị tấn
công lỗ đen. Một nút độc hại đứng yên tại vị trí trung tâm (1000m, 1000m) và thực
hiện hành vi tấn công lỗ đen từ giây thứ 500. Kết quả thống kê sau khi thực hiện 15
kịch bản mô phỏng (Hình 4.21(a)) cho thấy tấn công lỗ đen nhằm mục đích phá hoại
đã ảnh hưởng rất lớn đến hiệu quả định tuyến của SAODV. Tỷ lệ gửi gói tin thành
công của TAMAN và ARAN ổn định trong môi trường mạng bị nút độc hại tấn công.
Nhưng, tỷ lệ gửi gói tin thành công của SAODV bắt đầu giảm sau giây 500 khi bị nút
độc hại tấn công lỗ đen. Kết thúc 1000s mô phỏng, tỷ lệ gửi gói tin thành công của
TAMAN đạt 69.22%, ARAN đạt 62.28% và SAODV đạt 35%, độ lệch chuẩn lần lượt
là 2.79%, 2.99% và 2.46%. Tỷ lệ gửi gói tin thành công của hai giao thức TAMAN và
ARAN không bị ảnh hưởng nhiều trong môi trường mạng bị tấn công lỗ đen. Nguyên
nhân là do cả hai giao thức có thể ngăn chặn nút độc hại sử dụng khóa giả mạo. Tỷ lệ
gửi gói thành công của TAMAN cao hơn ARAN vì ARAN không đảm bảo khám phá
ra tuyến có chi phí thấp nhất và nút trung gian không trả lời tuyến. Cả hai giao thức
TAMAN và ARAN có tỷ lệ gửi gói thành công thấp hơn AODV do cơ chế an ninh.
Biểu đồ phụ tải định tuyến (Hình 4.21(b)) cho thấy phụ tải định tuyến của
TAMAN là 15.26pkt, ARAN là 16.67pkt và SAODV là 20.11pkt, độ lệch chuẩn lần
lượt là 2.36pkt, 1.81pkt và 2.86pkt. Như vậy, phụ tải định tuyến của TAMAN thấp
nhất so với hai giao thức an ninh SAODV và ARAN. Nguyên nhân là do tỷ lệ gửi gói
tin thành công của TAMAN cao hơn so với hai giao thức SAODV và ARAN, ngoài ra,
nút trung gian sử dụng giao thức ARAN luôn luôn quảng bá gói RREQ đến đích đã
làm tăng gói tin hao phí.
Biểu đồ thời gian trễ trung bình (Hình 4.21(c)) cho thấy rằng thời gian trễ trung
bình của tất cả giao thức an ninh đều lớn hơn giao thức gốc. Nguyên nhân là do chúng
phải sử dụng hàm băm và hệ mã RSA nhằm mục đích an ninh. Kết thúc 1000s mô
phỏng, thời gian trễ trung bình để định tuyến thành công 1 gói dữ liệu của giao thức
117
AODV là 0.934s, ARAN là 1.541s và SAODV là 2.167s, độ lệch chuẩn lần lượt là 0.29s,
0.25s và 0.54s. Giao thức TAMAN có thời gian trễ cao hơn ARAN do mỗi nút sử dụng
TAM và xác thực nút liền trước nên tăng độ trễ xử lý.
30
40
50
60
70
80
90
200 400 600 800 1000
Tỷ
lệ g
ửi g
ói th
ành
công
(%
)
Thời gian mô phỏng (sec)
AODV-Normal TAMAN-BH ARAN-BH SAODV-BH
(a) Tỷ lệ gửi gói tin thành công
10
12
14
16
18
20
22
24
200 400 600 800 1000
Phụ
tải đ
ịnh
tuyế
n (p
kt)
Thời gian mô phỏng (sec)
AODV-Normal TAMAN-BH ARAN-BH SAODV-BH
(b) Phụ tải định tuyến
0
0.5
1
1.5
2
2.5
3
200 400 600 800 1000
Thờ
i gia
n tr
ễ tr
ung
bình
(se
c)
Thời gian mô phỏng (sec)
AODV-Normal TAMAN-BH ARAN-BH SAODV-BH
(c) Thời gian trễ trung bình
Hình 4.21. Hiệu năng của TAMAN, SAODV và ARAN khi bị tấn công lỗ đen
118
4.5 Tiểu kết Chương 4
Chương này của luận án đã phân tích chi tiết hai giao thức an ninh SAODV và
ARAN. Trên cơ sở ưu điểm và tồn tại, luận án đề xuất cơ chế xác thực tin cậy TAM
[CT4] và cơ chế quản lý chứng thư số DCMM [CT3]. Đồng thời, luận án tích hợp TAM
và DCMM vào giao thức AODV tạo giao thức an ninh TAMAN có những ưu điểm sau:
(1) TAMAN có thể phát hiện và ngăn chặn hầu hết các hình thức tấn công hiện tại
như: Lỗ đen/ lỗ chìm, lỗ xám, lỗ sâu và ngập lụt. Ngoài ra, TAMAN có thể phát
hiện nút độc hại sử dụng khóa giả mạo, cải thiện tồn tại của SAODV. Đặc biệt,
TAMAN có thể phát hiện và ngăn chặn tấn công lỗ sâu ở chế độ ẩn, cải thiện
hạn chế của ARAN, SAODV, H(AODV) và OTP_AODV;
(2) Cơ chế DCMM của TAMAN có các chức năng như một PKI là: (1) Lưu trữ chứng
thư số; (2) cung cấp; và (3) thu hồi chứng thư. Kết quả này đã khắc phục hạn
chế của một số nghiên cứu đã công bố là yêu cầu điều kiện giả thuyết về hạ tầng
khóa công khai hỗ trợ để quản lý, cung cấp và thu hồi chứng thư số.
Tuy nhiên, do sử dụng chữ ký số nên kích thước gói tin điều khiển tuyến và độ
phức tạp thuật toán của TAMAN lớn hơn nhiều so với AODV. Hạn chế này là tương
tự với SAODV và ARAN.
119
KẾT LUẬN
Vấn đề nâng cao an ninh trên mạng MANET là cần thiết và có ý nghĩa thực tế.
Qua thời gian nghiên cứu, luận án đã đạt được một số kết quả mới, nhưng cũng còn
một số hạn chế cần tiếp tục phát triển.
a) Kết quả đạt được:
Luận án đã nghiên cứu đặc điểm của các hình thức tấn công trên mạng MANET,
một số giải pháp an ninh liên quan và cài đặt đánh giá tác hại của các hình thức tấn
công này. Qua đó, luận án đã đề xuất một số giải pháp an ninh sử dụng công nghệ
GPS, chữ ký số và học máy. Kết quả nghiên cứu đã khắc phục được một số tồn tại
trong các giải pháp an ninh đã công bố trước đây, cụ thể là:
(1) Luận án đã đề xuất giải pháp xác thực đa mức (MLA) và cải tiến AODV thành
giao thức an ninh MLAMAN [CT1]. MLA có thể phát hiện và ngăn chặn tấn
công lỗ sâu ở chế độ ẩn nhờ sử dụng công nghệ GPS. Ngoài ra, nhờ vào cơ chế
kiểm tra toàn vẹn gói tin, MLA có thể ngăn chặn nút độc hại tấn công bằng cách
thay đổi các trường trên gói tin điều khiển tuyến khi ở chế độ tham gia.
(2) Luận án đã đề xuất giải pháp FADA theo hướng tiếp cận học máy và cải tiến
AODV thành giao thức an ninh FAPRP [CT2]. FADA dựa trên tập tính khám
phá tuyến của một nút để nhận biết là nút độc hại hoặc bình thường. Vì vậy,
FADA có thể phát hiện tấn công ngập lụt thành công trên 99% ngay cả khi nút
độc hại tấn công với tần suất thấp.
(3) Luận án đã đề xuất cơ chế xác thực tin cậy (TAM [CT4]) và cơ chế quản lý chứng
chỉ số (DCMM [CT3]) theo chuẩn X.509. Đồng thời, tích hợp TAM và DCMM
vào AODV tạo giao thức an ninh TAMAN. TAMAN có hiệu quả an ninh trước
hầu hết các hình thức tấn công hiện tại như lỗ đen, lỗ xám, lỗ sâu và ngập lụt.
Đặc biệt, TAMAN hỗ trợ cơ chế DCMM có chức năng như một PKI là: (1) Lưu
trữ chứng chỉ số; (2) cung cấp; và (3) thu hồi chứng chỉ.
b) Hạn chế và hướng phát triển:
Bên cạnh kết quả đạt được, luận án vẫn còn tồn tại một số hạn chế cần tiếp tục
nghiên cứu trong thời gian tới nhằm nâng cao hiệu quả an ninh của các giải pháp đề
xuất, cụ thể là:
(1) Tín hiệu GPS có thể bị sai số do nhiễu hoặc môi trường di động. Vì vậy, hiệu quả
an ninh của MLA bị ảnh hưởng trong môi trường di động cao. Ngoài ra, MLA
chưa hỗ trợ cơ chế quản lý và thu hồi MC của thành viên nên sẽ khó khăn khi
triển khai vào thực tế.
120
(2) Giải pháp FADA sử dụng khoảng cách “Euclid” để tính khoảng cách giữa hai
véc-tơ. Vì vậy, cần tiếp tục mô phỏng FADA với nhiều độ đo khoảng cách khác
nhau để tìm độ đo phù hợp hơn nhằm nâng cao hiệu quả an ninh.
(3) Cơ chế DCMM phụ thuộc vào kích thước mạng, khi phạm vi mạng lớn hơn sẽ
làm giảm hiệu quả và tăng hao phí truyền thông. Vì vậy, cần tiếp tục cải tiến
DCMM hoạt động theo mô hình phân cấp nhằm nâng cao hiệu quả hoạt động
của giao thức TAMAN trong môi trường mạng có kích thước lớn.
(4) Ứng dụng logic mờ vào giải pháp an ninh đã công bố nhằm tăng độ mềm của
thuật toán phát hiện tấn công, ứng dụng thư viện TLS [95] để nâng cao hiệu quả
an ninh của giao thức TAMAN.
(5) Tương tự SAODV và ARAN, do sử dụng chữ ký số nên kích thước gói tin điều
khiển tuyến và độ phức tạp thuật toán của MLAMAN và TAMAN lớn hơn nhiều
so với giao thức gốc. Ngoài ra, vấn đề bảo vệ khóa bí mật tại mỗi nút và xác định
kích thước khóa phù hợp để vừa đảm bảo an ninh vừa đảm bảo hiệu quả định
tuyến cần được tiếp tục nghiên cứu.
121
DANH MỤC CÔNG TRÌNH CỦA TÁC GIẢ
Tạp chí khoa học
[CT1] Tu T. Vo, Ngoc T. Luong, Doan Hoang (2019), “MLAMAN: A Novel Multi-
Level Authentication Model and Protocol for Preventing Wormhole Attack in
Mobile Ad hoc Network,” Wireless Networks (SCI, Q2, 2.405 IF, Springer),
vol. 25(7), pp. 4115–4132. doi: 10.1007/s11276-018-1734-z
[CT2] Ngoc T. Luong, Tu T. Vo, Doan Hoang (2019), “FAPRP: AMachine Learning
Approach to Flooding Attacks Prevention Routing Protocol in Mobile Ad Hoc
Networks,” Wireless Communications and Mobile Computing (SCIE, Q3, 1.396
IF, Wiley and Hindawi), vol. 2019, pp. 1–17. doi: 10.1155/2019/6869307
[CT3] Luong Thai Ngoc, Vo Thanh Tu (2018), “A Digital Certification Manage-
ment Mechanisms in Mobile Ad hoc Network,” Journal of Computer Science
and Cybernetics, vol. 34(3), pp. 199–217. doi: 10.15625/1813-9663/34/3/12259
[CT4] Luong Thai Ngoc, Vo Thanh Tu (2017), “A Novel Algorithm based on Trust
Authentication Mechanisms to detect and prevent malicious nodes in Mobile
Ad hoc Network,” Journal of Computer Science and Cybernetics, vol. 33(4),
pp. 357–378. doi: 10.15625/1813-9663/33/4/10759
[CT5] Lương Thái Ngọc, Võ Thanh Tú (2017), “Giải pháp cải tiến giao thức AODV
nhằm giảm thiểu tác hại của tấn công ngập lụt trên mạng MANET,” Tạp chí
Khoa học và Công nghệ, Trường Đại học Khoa học, Đại học Huế, Tập 11(1),
Trang 13–26.
[CT6] Lương Thái Ngọc, Võ Thanh Tú (2016), “Giải pháp nâng cao hiệu quả khám
phá tuyến của giao thức AODV trên mạng Tùy biến di động,” Tạp chí Khoa
học, Đại học Huế, Tập 121(7A), Trang 71–80.
Hội nghị khoa học
[CT7] Lương Thái Ngọc, Võ Thanh Tú (2016), “Giải pháp phát hiện tấn công ngập
lụt trên mạng MANET,” Toàn văn Hội nghị FAIR – 9, Trang 165–172. doi:
10.15625/vap.2016.00021
122
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Cung Trọng Cường (2015), “Luận án tiến sĩ Nghiên cứu nâng cao hiệu năng giao thứcđịnh tuyến cho mạng MANET,” Trường Đại học Bách khoa Hà Nội, 135 trang.
[2] Đỗ Đình Cường (2017), “Luận án tiến sĩ Nghiên cải tiến hiệu năng giao thức định tuyếnAODV và AOMDV trong mạng MANET,” Học viện Khoa học và Công nghệ, 127 trang.
[3] Nguyễn Kim Quốc (2015), “Luận án tiến sĩ Nghiên cứu cải tiến cơ chế điều khiển tạicác nút mạng,” Trường Đại học Khoa học, Đại học Huế, 157 trang.
[4] Nguyễn Hồng Quốc (2017), “Luận án tiến sĩ Nghiên cứu một số phương pháp lập lịchtrong mạng chuyển mạch chùm quang,” Trường Đại học Khoa học, Đại học Huế, 103trang.
Tiếng Anh
[5] Abramov R., Herzberg A. (2013), “TCP Ack storm DoS attacks,” Computers and Se-curity, vol. 33, pp. 12–27.
[6] Ahmad A., Naveed U. H. (2016), “Smart Grid as a Solution for Renewable and EfficientEnergy,” IGI Global, 362 pages.
[7] Alex A. H. (2003), A Study of Internet Connectivity for Mobile Ad Hoc Networks inNS2, Lund University, 64 pages.
[8] Ali H.A.B. (2009), “Security Management for Mobile Ad hoc Network of Networks(MANoN),” PhD Thesis of De Montfort University, 216 pages.
[9] Ali M., Abdallah B. (2015), “A survey of routing protocols based on link-stability inmobile ad hoc networks,” Journal of Network and Computer Applications, vol. 47, pp.1–10.
[10] Ansuman B., Koushik S. (2017), “An efficient protocol for load-balanced multipathrouting in mobile ad hoc networks,” Ad Hoc Networks, vol. 63, pp. 104–114.
[11] Aqeel-ur R., Sadiq U., RehmanHaris R. (2019), “Sinkhole Attacks in Wireless SensorNetworks: A Survey,” Wireless Personal Communications, vol. 106(4), pp. 2291–2313.
[12] Attia R., Rizk R., Ali H.A. (2015), “Internet connectivity for mobile ad hoc network: asurvey based study,” Wireless Networks, vol. 21(7), pp. 2369–2394.
[13] Basarkod P.I., Manvi S.S. (2015), “Mobility and QoS aware anycast routing in Mobilead hoc Networks,” Computers & Electrical Engineering, vol. 48, pp. 86–99.
123
[14] Binh L.H., Tu V.T., Tam N.V. (2016), “Quality of transmission aware routing in Adhoc Networks based on Cross-Layer Model combined with the Static Agent,” Journalof Computer Science and Cybernetics, vol. 32(4), pp. 351–366.
[15] Celia L., Zhuang W., Cungang Y. (2010), “SEAODV: A Security Enhanced AODVRouting Protocol for Wireless Mesh Networks,” Transactions on Computational ScienceXI, vol. 6480, pp. 1–16.
[16] Chen M., Gonzalez S., Vasilakos A., Cao H, Leung V.C.M. (2011), “Body Area Net-works: A Survey,” Mobile Networks and Applications, vol. 16(2), pp. 171–193.
[17] Chiu H.S., Wong L.K.S. (2006), “DelPHI: Wormhole detection mechanism for Ad hocWireless Networks,” 1st International Symposium on Wireless Pervasive Computing,Phuket, Thailand, pp. 6–11.
[18] Dagon D., Martin T., Starner T. (2004), “Mobile phones as computing devices: Theviruses are coming!,” IEEE Pervasive Computing, vol. 3(4), pp. 11–15.
[19] Dong Y., Sui A.F., Yiu S., Li V.O., Hui L.C. (2007), “Providing distributed certificateauthority service in cluster-based mobile ad hoc networks,” Computer Communications,vol. 30. (11), pp. 2442–2452.
[20] Dongdong Z., Wenjian L. (2017), “One-time password authentication scheme based onthe negative database,” Engineering Applications of Artificial Intelligence, vol. 62, pp.396–404.
[21] Douss A.B.C., Abassi R., Fatmi S.G.E. (2014), “A Novel Secure Ad hoc Routing Pro-tocol Using One Time Password,” International Conference on Advanced Logistics andTransport, Hammamet, Tunisia, pp. 41–46.
[22] Eiman A., Biswanath M. (2012), “A survey on routing algorithms for Wireless Ad-Hocand Mesh Networks,” Computer Networks, vol. 56 (2), pp. 940–965.
[23] Elkeelany O., Matalgah M.M., Sheikh K.P., Thaker M., Chaudhry G., Mehi D., Qad-douri J. (2002), “Performance Analysis of IPSec Protocol: Encryption and Authentica-tion,” IEEE International Conference on Communications, New York: IEEE ComputerSociety, pp. 1164–1168.
[24] Faghihniya M. J., Hosseini S. M., Tahmasebi M. (2017), “Security upgrade againstRREQ flooding attack by using balance index on vehicular ad hoc network,” WirelessNetworks, vol. 23(6), pp. 1863–1874.
[25] GeethaEmail K., Sreenath N. (2016), “Detection of SYN Flooding Attack in Mobile Adhoc Networks with AODV Protocol,” Arabian Journal for Science and Engineering, vol41(3), pp. 1161–1172.
[26] Gurung S., Chauhan S. (2018), “A novel approach for mitigating gray hole attack inMANET,” Wireless Networks, vol. 24(2), pp. 565–579.
[27] Gurung S., Chauhan S. (2017), “A novel approach for mitigating route request floodingattack in MANET,” Wireless Networks, vol 24(8), pp. 2899–2914.
124
[28] Gyanappa A.W., Rajashekar C.B. (2017), “A survey on hybrid routing mechanisms inmobile ad hoc networks,” Journal of Network and Computer Applications, vol. 77, pp.48–63.
[29] Haas Z.J., Pearlman M. (2002), “The Zone Routing Protocol (ZRP) for Ad-Hoc net-works,” IETF Internet draft. Available: https://tools.ietf.org
[30] Hassan C., Timothy P., Shukor A.R., Abdul H.A., Shaharuddin S. (2014), “Local cov-erage measurement algorithm in GPS-free wireless sensor networks,” Ad Hoc Networks,vol. 23. pp. 1–17.
[31] Issariyakul T., Hossain E. (2012), Introduction to Network Simulator NS2, Second Edi-tion, Springer, 535 pages.
[32] Hamieh A., Ben-Othman J. (2009), “Detection of Jamming Attacks in Wireless Ad HocNetworks Using Error Distribution,” IEEE International Conference on Communica-tions (ICC’09), Dresden, pp. 4831–4836.
[33] Hamssa H., Abed E.S., Carole B., Anis L. (2017), “VANET security challenges andsolutions: A survey,” Vehicular Communications, vol. 7, pp. 7–20.
[34] Hoebeke J., Moerman I., Dhoedt B., Demeester P. (2004), “An Overview of Mobile AdHoc Networks: Applications and Challenges,” Journal of the Communications Network,vol. 3(3), pp. 60–66.
[35] Holtmanns S., Oliver I. (2017), “SMS and one-time-password interception in LTE net-works,” IEEE International Conference on Communications, Paris, France, pp. 1–6.
[36] Imrich C., Marco C., Jennifer J.N.L. (2003), “Mobile ad hoc networking: imperativesand challenges,” Ad Hoc Networks, vol. 1(1), pp. 13–64.
[37] Ilker B., Ozgur K.S., Samil T. (2013), “Flying Ad-Hoc Networks (FANETs): A survey,”Ad Hoc Networks, vol. 11(3), pp. 1254–1270.
[38] Jen S.M., Laih C.S., Kuo W.C. (2009), “A Hop-Count Analysis Scheme for AvoidingWormhole Attacks in MANET,” Sensors, vol. 9, pp. 5022–5039.
[39] Johnson D.B., Maltz D.A. (1996), “Dynamic Source Routing in Ad Hoc Wireless Net-works,” The Kluwer International Series in Engineering and Computer Scienc, vol. 353,pp. 153–181.
[40] Jormakka J., Jormakka H., Vare J. (2008), “A Lightweight Management System for aMilitary Ad Hoc Network,” Information Networking. Towards Ubiquitous Networkingand Services, Berlin, Heidelberg, vol. 5200, pp. 533–543.
[41] Kannhavong B., Nakayama H., Nemoto Y., N. Kato, A. Jamalipour (2007), “A surveyof routing attacks in mobile ad hoc networks,” IEEE Wireless Communications, vol.14(5), pp. 85–91.
[42] Karlsson J., Dooley L.S., Pulkkis G. (2011), “A New MANET Wormhole DetectionAlgorithm Based on Traversal Time and Hop Count Analysis,” Sensors, vol. 11(12),pp. 11122–11140.
125
[43] Karovaliya M., Karedia S., Oza S., Kalbande D.R. (2015), “Enhanced security for ATMmachine with OTP and facial recognition features,” Procedia Computer Science, vol.45, pp. 390–396.
[44] Kaur P., Kaur D., Mahajan R. (2017), “Wormhole Attack Detection Technique in Mo-bile Ad Hoc Networks,” Wireless Personal Communications, vol. 97(2), pp. 2939–2950.
[45] Khabbazian M., Mercier H., Bhargava V. K. (2006), “Wormhole Attack in WirelessAd Hoc Networks: Analysis and Countermeasure,” IEEE Globecom 2006, vol. 8(2), pp.736–745.
[46] Lan N.H., Trang N.U. (2008), “A study of different types of attacks on multicast inmobile ad hoc networks,” Ad Hoc Networks, vol. 6(1), pp. 32–46.
[47] Lazos L., Poovendran R., Meadows C., Syverson P., Chang L.W. (2005), “Prevent-ing Wormhole Attacks on Wireless Ad Hoc Networks: A Graph Theoretic Approach,”Wireless Communications and Networking Conference, New Orleans, LA, USA, pp.1193–1199.
[48] Lee C.S. (2015), “A Study on Effective Hash Routing in MANET,” Advanced Scienceand Technology Letters, vol. 95, pp. 47–54.
[49] Li W., Yi P., Wu Y., Pan L., Li J. (2014), “A new intrusion detection system basedon KNN classification algorithm in wireless sensor network,” Journal of Electrical andComputer Engineering, vol. 2014, pp. 1–8.
[50] Mandhare V.V., Thool V.R., Manthalkar R.R. (2016), “QoS Routing enhancement usingmetaheuristic approach in mobile ad-hoc network,” Computer Networks, vol. 110, pp.180–191.
[51] Marina M.K., Das S.R. (2001), “Ad-Hoc On-demand Multipath Distance Vector Rout-ing,” Proceedings Ninth International Conference on Network Protocols, Riverside, CA,USA, pp. 14–23.
[52] Mitchell R., Chen I.R. (2014), “A survey of intrusion detection in wireless networkapplications,” Computer Communications, vol. 42, pp. 1–23.
[53] Mohapatra P., Krishnamurthy S. (2005), Ad Hoc Networks: Technologies and Protocols,Springer US, 268 pages.
[54] Mota V.F.S., Cunha F.D., Macedo D.F., Nogueira J.M.S., Loureiro A.A.F. (2014),“Protocols, mobility models and tools in opportunistic networks: A survey,” ComputerCommunications, vol. 48, pp. 5–19.
[55] Muhammad O., Thomas K., Cormac J.S., Kenneth N.B. (2016), “Evaluation of avail-able bandwidth as a routing metric for delay-sensitive IEEE 802.15.4-based ad-hocnetworks,” Ad Hoc Networks, vol. 37(2), pp. 526–542.
[56] Muhammad S.R., Saeid I., Raad R. (2017), “A novel Energy-Efficient Video Streamingmethod for decentralized Mobile Ad-hoc Networks,” Pervasive and Mobile Computing,vol. 40, pp. 301–323.
126
[57] Mulert J. V., Welch I., Seah W. K. G. (2012), “Security threats and solutions inMANETs: A case study using AODV and SAODV,” Journal of Network and Com-puter Applications, vol. 35(4), pp. 1249–1259.
[58] Myers M., Ankney R., Malpani A., Galperin A., Adams C. (1999), “X.509 Internet Pub-lic Key Infrastructure Online Certificate Status Protocol - OCSP,” Internet EngineeringTask Force. Available: https://tools.ietf.org
[59] Nadeem A., Howarth M. P. (2013), “ Survey of MANET Intrusion Detection & Pre-vention Approaches for Network Layer Attacks,” IEEE Communications Surveys &Tutorials, vol. 15(4), pp. 2027–2045.
[60] National Institute of Standards and Technology (1995), “Secure hash standard,” FIPSPUB 180-1. Available: https://tools.ietf.org
[61] Omar M., Challal Y., Bouabdallah A. (2012), “Certification-based trust models in mo-bile ad hoc networks: A survey and taxonomy,” Journal of Network and ComputerApplications, vol. 35(1), pp. 268–286.
[62] Patel M., Sharma S., Sharan D. (2013), “Detection and Prevention of Flooding At-tack Using SVM,” International Conference on Communication Systems and NetworkTechnologies, Gwalior, Gwalior, India, pp. 533–537.
[63] Perkins C.E., Royer E.M. (1999), “Ad-hoc On-Demand Distance Vector Routing,” Pro-ceedings of the Second IEEE Workshop on Mobile Computer Systems and Applications,pp. 90–100.
[64] Perkins C.E., Royer E.M., Das S. (2003), “Ad hoc On-Demand Distance Vector (AODV)Routing,” Network Working Group. Available: https://tools.ietf.org
[65] Perkins C.E., Bhagwat P. (1994), “Highly dynamic Destination Sequenced Distance-Vector routing (DSDV) for mobile computers,” SIGCOMM’94, pp. 234–244.
[66] Pietro R.D., Guarino S., Verde N.V., Ferrer J.D. (2014), “Security in wireless ad-hocnetworks – A survey,” Computer Communications, vol. 51, pp. 1–20.
[67] Ping Y., Ya F.H., Yiping Z., Shiyong Z., Zhoulin D. (2006), “Flooding attack anddefence in Ad hoc networks,” Journal of Systems Engineering and Electronics, vol.17(2), pp. 410–41.
[68] Ravi S.D., Amit K.G (2012), “Modified RSA Encryption Algorithm (MREA),” SecondInternational Conference on Advanced Computing & Communication Technologies, Ro-htak, Haryana, IEEE, pp. 426-429.
[69] Rivest R. (1992), “The MD5 message-digest algorithm,” Internet Request For Comments1321, April 1992. Available: https://www.ietf.org
[70] Rivest R.L., Shamir A., Adleman L. (1978), “A Method for Obtaining Digital Signaturesand Public–Key Cryptosystems,” Communications of the ACM, vol. 21(2), pp. 120–126.
127
[71] Royer E.M, Toh C.K. (1999), “A Review of Current Routing Protocols Ad Hoc MobileWireless Networks,” IEEE PersonalCommunication, vol. 6(2), pp. 46–55.
[72] Sandhya K., Neelima G. (2011), “End-to-end protocol to secure ad hoc networks againstwormhole attacks,” Security and Communication Networks, vol. 4 (9), pp. 994–1002.
[73] Sanjib K.S., Pankaj K.A., Singh P. (2018), “Modified K-NN algorithm for classificationproblems with improved accuracy,” International Journal of Information Technology,vol. 10(1), pp. 65–70.
[74] Sanzgiri K., Dahill B., Levine B.N., Shields C., Royer E.M.B. (2002), “A secure rout-ing protocol for Ad hoc Networks,” 10th IEEE International Conference on NetworkProtocols, Paris, France, pp. 78–87.
[75] Song J. H., Hong F, Zhang Y (2006), “Effective filtering scheme against RREQ floodingattack in mobile ad hoc networks,” Parallel and Distributed Computing, Applicationsand Technologies Proceedings, pp. 497–502.
[76] Son T.T., Hoa L.M., Graham S., Nauman A. (2014), A novel encounter-based metricfor mobile ad-hoc networks routing,” Ad Hoc Networks, vol. 14, pp. 2–14.
[77] Shadi S.B., Marina D.V., Julian P., Yusheng J., Tim L., Simon A. (2015), “Energyefficient zone based routing protocol for MANETs,” Ad Hoc Networks, vol. 25, pp.16–37.
[78] Shahabi S., Ghazvini M., Bakhtiarian M. (2016), “A modified algorithm to improvesecurity and performance of AODV protocol against black hole attack,” Wireless Net-works, vol. 22(5), pp. 1505–1511.
[79] Shashi G, Siddhartha C. (2019), “A survey of black-hole attack mitigation techniquesin MANET: merits, drawbacks, and suitability,” Wireless Networks, First Online: 27February 2019, pp. 1–31.
[80] Shelley K. (2013), “A Survey of Cryptographic Algorithms,” Lawrence University,59pages.
[81] Shirkhorshidi A.S., Aghabozorgi S., Wah T.Y. (2015), “A Comparison Study on Similar-ity and Dissimilarity Measures in Clustering Continuous Data”, PloS One, vol. 10(12),pp. 1–20.
[82] Sina K.N., Javad M.N. (2015), “Robust mitigation of selfish misbehavior in wirelessnetworks,” Security and Communication Networks, vol. 8(9), pp. 1772–1779.
[83] Sushanta K., Paraschos K., Aris P., Dimitris S. (2017), “Energy-efficient broadcastingin ad hoc wireless networks,” Journal of Discrete Algorithms, vol. 42, 2017, pp. 2–13.
[84] Thillaikarasi R., Bhanu S.M.S. (2017), “An Efficient DSR Protocol to Detect BlackholeAttacks in WMN Using Cross Layer Approach,” Wireless Personal Communications,vol. 95(3), pp. 3477–3492.
128
[85] Tracy C., Jeff B., Vanessa D. (2002), “A survey of mobility models for ad hoc networkresearch,” Wireless Communications and Mobile Computing, vol. 2(5), pp. 483–502.
[86] Tseng F.H., Chou L., Chao H.C. (2011), “A survey of black hole attacks in wirelessmobile ad hoc networks,” Human-centric Computing and Information Sciences, vol.1(1), pp. 1–16.
[87] Vasily A.M., Leonov V.A., Volkov A.D. (2016), “Experimental estimate of using the antcolony optimization algorithm to solve the routing problem in FANET,” InternationalSiberian Conference on Control and Communications, Moscow, Russia, pp. 1–10.
[88] Wilder E.C., Juan C.G., Pau A. (2015), “A QoS-aware routing protocol with adaptivefeedback scheme for video streaming for mobile networks,” Computer Communications,vol. 77, pp. 10–25.
[89] Yan Z., Honglin H., Masayuki F. (2006), Resource, Mobility, and Security Managementin Wireless Networks and Mobile Communications, CRC Press, 618 pages.
[90] Yoon J., Liu M., Noble B. (2003), “Random waypoint considered harmful,” in IEEEINFOCOM 2003 (IEEE Cat. No.03CH37428), vol. 2, 2003, pp. 1312–1321.
[91] Zapata M.G., Asokan N. (2002), “Securing ad hoc routing protocols,” In Proceedings ofthe 1st ACM workshop on Wireless security, ACM, New York, NY, USA, pp. 1-10.
[92] Zaw T, Aung H.M. (2008), “Wormhole Attack Detection in Wireless Sensor,” Engineer-ing and Technology, vol. (46), pp. 545–550.
Website
[93] NJIT, Womrhole source code. Available: https://web.njit.edu
[94] DARPA, The Network Simulator NS2. Available: http://www.isi.edu
[95] TLS-Library, RSA source code. Available: https://tls.mbed.org/rsa-source-code
129