Nghiên cứu giải pháp cấp chứng chỉ số trong mạng không dây di động MANET

85 471 1
Nghiên cứu giải pháp cấp chứng chỉ số trong mạng không dây di động MANET

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LỜI CẢM ƠN Lời xin gửi lời cảm ơn chân thành lòng biết ơn sâu sắc PGS.TS Nguyễn Văn Tam, người bảo hướng dẫn tận tình cho đóng góp ý kiến quý báu suốt trình học tập, nghiên cứu thực luận văn Tôi xin trân trọng cảm ơn Ban giám hiệu trường đại học công nghệ thông tin truyền thông, Đại học Thái nguyên, khoa CNTT giúp đỡ tạo điều kiện cho học tập làm khóa luận cách thuận lợi Và cuối xin gửi lời cảm ơn đến gia đình, người thân bạn bè – người bên chỗ dựa giúp cho vượt qua khó khăn Họ động viên khuyến khích giúp đỡ sống công việc cho tâm hoàn thành luận văn Tuy nhiên thời gian có hạn, nỗ lực cố gắng luận văn khó tránh khỏi thiếu sót Rất mong bảo, góp ý tận tình Quý thầy cô bạn Tôi xin chân thành cảm ơn! LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Nghiên cứu giải pháp cấp chứng số mạng không dây di động MANET” tự tham khảo, nghiên cứu hoàn thành hướng dẫn PGS.TS Nguyễn Văn Tam Tôi xin chịu hoàn toàn trách nhiệm lời cam đoan Hà Nội, ngày 01 tháng 10 năm 2015 LƯU XUÂN HÀ MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG .6 DANH MỤC HÌNH VẼ I NỘI DUNG CHƯƠNG I: MẠNG KHÔNG DÂY MANET VÀ NHỮNG VẤN ĐỀ AN NINH TRONG MẠNG KHÔNG DÂY MANET 1.1 Giới thiệu mạng MANET .9 1.1.1 Giới thiệu chung .9 1.1.2 Định tuyến mạng MANET 1.2 Tổng quan số vấn đề an ninh mạng MANET 13 1.2.1 Tiêu chí an toàn mạng MANET 13 1.2.2 Thách thức an ninh mạng MANET .14 1.2.3 Các mối đe dọa an ninh mạng MANET 15 CHƯƠNG II: GIẢI PHÁP CẤP CHỨNG CHỈ SỐ TRONG MẠNG KHÔNG DÂY MANET 21 2.1 Chữ ký số - Chứng số .21 2.1.1 Chữ ký số 21 2.1.2 Chứng số 24 2.2 Hệ thống cấp chứng số (Certification Authority – CA) 33 2.2.1 Mô hình CA đơn 33 2.2.2 Mô hình phân cấp .34 2.2.3 Mô hình mắt lưới (xác thực chéo) 36 2.4.4 Mô hình Hub Spoke (Bridge CA) 38 2.2.5 Mô hình Web (Trust Lists) 39 2.2.6 Mô hình người sử dụng trung tâm (User Centric Model) 40 2.3 Giải pháp cấp chứng số xác thực thông tin định tuyến cho giao thức AODV 41 2.3.1 Giải pháp an ninh cho giao thức AODV 41 2.3.2 Định dạng gói tin giao thức xác thực AODVLV 46 2.3.3 Những thay đổi hoạt động giao thức AODVLV so với giao thức AODV 50 2.2.4 Mức độ an ninh giao thức định tuyến AODVLV .52 CHƯƠNG III: CÀI ĐẶT MÔ PHỎNG, ĐÁNH GIÁ HIỆU SUẤT CỦA GIAO THỨC AODVLV SO VỚI GIAO THỨC AODV 54 3.1 3.1.1 Giới thiệu NS-2 54 3.1.2 Kiến trúc NS-2 .54 3.2 Phân tích thiết kế 56 3.2.1 Phân tích hoạt động phương thức công blackhole 56 3.2.2 Phân tích thư viện dùng để mô 57 3.2.3 Công cụ phân tích biểu diễn kết mô .57 3.2.4 Các tham số hiệu suất cần đánh giá giao thức AODVLV 58 3.2.5 Cách thức phân tích tệp vết 58 3.3 III Công cụ nghiên cứu NS-2 54 Chương trình mô .60 3.3.1 Thiết lập mạng mô giao thức .60 3.3.2 Đánh giá ảnh hưởng giải pháp nghiên cứu đến hiệu suất giao thức định tuyến 70 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 73 Các kết luận văn 73 Hướng phát triển đề tài 74 IV V DANH MỤC CÁC TÀI LIỆU THAM KHẢO 75 PHỤ LỤC .77 Cài đặt mô công blackhole 77 Cài đặt chế xác thực chữ ký số giao thức AODVLV 77 DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT AODV Adhoc On-demand Distance IEEE Vector Institute of Electrical and Electronics Engineers ARAN Authenticated Routing for Adhoc Networks MANET Mobile Adhoc NETwork DDOS Distributed Denial of Service NS-2 Network Simulator DOS Denial of Service RREP Route Reply DSDV Destination-Sequenced Distance Vector RERR Route error DSR Dynamic Source Routing RREQ Route Request CA Certificate authority SSL Secure socket layer EDRI Extended Data Routing Information SAODV Secure Adhoc Ondemand Distance Vector DANH MỤC CÁC BẢNG Bảng 1.1: Các kiểu công MANET tầng khác 15 Bảng 1.2: Khuôn dạng chứng X509 27 Bảng 3.1: Bảng tham số cấu hình chung cho việc mô 62 Bảng 3.2: Kết tỉ lệ phân phát gói tin giao thức AODV giao thức AODVLV theo tốc độ di chuyển 63 Bảng 3.3: Kết thời gian trung bình phản ứng giao thức AODV giao thức AODVLV theo tốc độ di chuyển 64 Bảng 3.4: Kết độ trễ trung bình giao thức AODV giao thức AODVLV theo tốc độ di chuyển 65 Bảng 3.5: Kết số gói tin bị giao thức AODV giao thức AODVLV theo tốc độ di chuyển 66 Bảng 3.6: Kết Tỉ lệ phân phát gói tin thành công giao thức AODV giao thức AODVLV theo số nút blackhole 67 Bảng 3.7: Kết độ trễ trung bình gói tin CBR giao thức AODV giao thức AODVLV theo số nút blackhole 68 Bảng 3.8: Kết số gói tin bị giao thức AODV giao thức AODVLV theo số nút blackhole 69 DANH MỤC HÌNH VẼ Hình 1.1: Phân loại giao thức định tuyến mạng MANET 11 Hình 1.2: trình tìm đường AODV 11 Hình 1.3: Phân loại công giao thức định tuyến mạng MANET 16 Hình 1.4: Mô tả công sửa đổi nguồn 17 Hình 1.5: Mô tả công giả mạo 18 Hình 1.6: Mô tả công chế tạo 18 Hình 1.7: Mô tả công wormhole 19 Hình 1.8: Mô tả công black hole 20 Hình 1.9: Nội dung chứng 31 Hình 1.10: Nội dung chứng 32 Hình 2.1: Mô hình CA đơn 34 Hình 2.2 Mô hình phân cấp 35 Hình 2.3: Mô hình mắt lưới 37 Hình 2.4: Mô hình Hub Spoke (Bridge CA) 39 Hình 2.1: Cách tính hàm băm bắt đầu phát sinh RREQ hay RREP 44 Hình 2.2: Định dạng gói RREQ giao thức AODVLV 47 Hình 2.3: Định dạng gói RREP giao thức AODVLV 48 Hình 2.4: Định dạng gói RERR giao thức AODVLV 49 Hình 3.1: Tổng quan NS-2 góc độ người dùng 54 Hình 3.2: Luồng kiện cho file Tcl chạy NS 56 Hình 3.3: Hoạt động blackhole nhận gói RREQ 57 Hình 3.4: Cấu trúc tệp vết mạng không dây NS2 59 Hình 3.5: Biểu đồ thể tỉ lệ phân phát gói tin giao thức AODV so với AODVLV theo tốc độ di chuyển 64 Hình 3.6: Biểu đồ thể thời gian trung bình phản ứng giao thức AODV so với AODVLV theo tốc độ di chuyển 65 Hình 3.7: Biểu đồ thể độ trễ trung bình gói tin CBR giao thức AODV so với AODVLV theo tốc độ di chuyển 66 Hình 3.8: Biểu đồ thể số gói tin bị giao thức AODV so với AODVLV theo tốc độ di chuyển 67 Hình 3.9: Biểu đồ thể tỉ lệ phân phát gói tin thành công giao thức AODV so với AODVLV theo số nút blackhole 68 Hình 3.10: Biểu đồ thể độ trễ trung bình gói tin CBR giao thức AODV giao thức AODVLV theo số nút blackhole 69 Hình 3.11: Biểu đồ thể số gói tin bị giao thức AODV giao thức AODVLV theo số nút blackhole 70 MỞ ĐẦU Ngày với phát triển mạnh mẽ thiết bị di động cá nhân như: điện thoại thông minh, máy tính xách tay, máy tính bảng,… nhu cầu kết nối thiết bị ngày đòi hỏi cao tốc độ, khả di chuyển kết nối Mạng MANET (Mobile Ad-hoc Network) công nghệ vượt trội đáp ứng nhu cầu kết nối nhờ khả hoạt động không phụ thuộc sở hạ tầng, triển khai nhanh, linh hoạt nhiều địa hình khác Mạng MANET ngày đóng góp vị trí quan trọng Nó ứng dụng vào nhiều lĩnh vực sống lĩnh vực quân sự, truyền thông điều kiện thiên tai,… Tuy nhiên hoạt động không phụ thuộc sở hạ tầng, truyền thông không khí,… làm cho mạng MANET bộc lộ nhiều điểm yếu dễ bị công Nghiên cứu xây dựng hệ thống thông tin an toàn có tính bảo mật cao nhu cầu cấp bách Thuật toán mật mã khóa công khai, đặc biệt thuật toán RSA cho phép mã hóa, thực chữ ký số để bảo đảm tính mật, tính xác thực, tính toàn vẹn thông tin truyền mạng Chính học viên chọn đề tài: “Nghiên cứu giải pháp cấp chứng số mạng không dây di động MANET” Trong khuôn khổ luận văn, tác giả tập trung chủ yếu vào việc nghiên cứu bổ sung chế an ninh cho giao thức định tuyến Cụ thể bổ sung chế an ninh cho giao thức định tuyến AODV tạm đặt giao thức AODVLV Bố cục luận văn chia làm ba phần: Chương 1: MẠNG KHÔNG DÂY MANET VÀ NHỮNG VẤN ĐỀ AN NINH TRONG MẠNG KHÔNG DÂY MANET Giới thiệu mạng MANET, thách thức an ninh, mối đe dọa an ninh Chương 2: GIẢI PHÁP CẤP CHỨNG CHỈ SỐ TRONG MẠNG KHÔNG DÂY MANET Các vấn đề mật mã liên quan đến luận văn, đưa giải pháp xác thực thông tin định tuyến sử dụng chữ ký số - giao thức AODVLV Chương 3: CÀI ĐẶT MÔ PHỎNG, ĐÁNH GIÁ HIỆU SUẤT CỦA GIAO THỨC AODVLV SO VỚI GIAO THỨC AODV Cài đặt mô giao thức AODVLV, xây dựng kịch mô tham số hiệu suất cho giao thức AODVLV, so sánh hiệu suất với giao thức AODV qua biểu đồ I NỘI DUNG CHƯƠNG I: MẠNG KHÔNG DÂY MANET VÀ NHỮNG VẤN ĐỀ AN NINH TRONG MẠNG KHÔNG DÂY MANET 1.1 Giới thiệu mạng MANET 1.1.1 Giới thiệu chung MANET Là mạng dựa mô hình độc lập ad hoc, nút mô hình giao tiếp trực tiếp với mà không sử dụng điểm truy cập Do việc kết hợp tính di động với mạng Ad hoc nên người ta thường gọi mạng MANET (Mobile Ad-hoc-Network) Mạng MANET có đặc điểm sau: - Cấu hình mạng động: Các nút tự di chuyển theo hướng đoán trước - Băng thông hạn chế: Các liên kết không dây có băng thông thấp so với đường truyền cáp chúng chịu ảnh hưởng nhiễu, suy giảm tín hiệu mà thường nhỏ tốc độ truyền lớn sóng vô tuyến - Năng lượng hạn chế: Một số tất nút mạng MANET hoạt động phụ thuộc vào pin nên chúng bị hạn chế khả xử lý nhớ - Bảo mật kém: Do đặc điểm mạng MANET truyền sóng vô tuyến nên chế bảo mật mạng so với mạng truyền cáp Chúng tiềm ẩn nhiều nghi bị công đặc biệt nghe nén, giả mạo hay công DDOS, … 1.1.2 Định tuyến mạng MANET Các yêu cầu quan trọng giao thức định tuyến mạng MANET: - Thích ứng nhanh tô-pô thay đổi: Do nút mạng di chuyển liên tục, nhanh đoán trước nên phải tốn nhiều thời gian để tìm tuyến đường đi, dẫn tới việc phải phát lại gói tin tìm đường - Thuật toán tìm đường thông minh, tránh tình trạng lặp định tuyến - Đảm bảo chế trì tuyến mạng điều kiện bình thường - Bảo mật: truyền tín hiệu không khí dễ bị công theo phương thức nghe lén, giả mạo ddos, nên giao thức định tuyến cần phải bổ sung chế phát hiện, ngăn chặn chống lại kiểu công Các giao thức định tuyến mạng MANET: Một phương pháp phổ biến để phân loại giao thức định tuyến cho mạng MANET dựa cách thức trao đổi thông tin định tuyến nút mạng Theo phương pháp giao thức định tuyến mạng MANET chia thành loại sau: Các giao thức định tuyến theo yêu cầu, định tuyến theo bảng, định tuyến lai ghép - Các giao thức định tuyến theo yêu cầu (on-demand) Quá trình khám phá tuyến bắt đầu có yêu cầu kết thúc có tuyến đường tìm không tìm tuyến di chuyển nút Việc trì tuyến hoạt động quan trọng định tuyến theo yêu cầu So với định tuyến theo bảng, tiêu đề định tuyến ưu điểm định tuyến theo yêu cầu việc phải bắt đầu lại trình khám phá tuyến trước truyền liệu gây trễ mạng Các giao thức dạng như: giao thức định tuyến vector khoảng cách theo yêu cầu AODV (Ad hoc On-demand Distance Vector Routing) giao thức định tuyến định tuyến nguồn động DSR (Dynamic Source Routing), giao thức định tuyến theo thứ tự tạm thời TORA (Temporally Ordered Routing Algorithm) - Các giao thức định tuyến theo bảng (table-driven) Mỗi nút lưu trữ bảng định tuyến chứa tuyến đường tới nút khác mạng Định kỳ nút đánh giá tuyến tới nút mạng để trì trạng thái kết nối Khi có thay đổi cấu hình, thông báo truyền quảng bá toàn mạng để thông báo cho nút cập nhật lại bảng định tuyến Với việc lưu trữ sẵn có tuyến đường làm cho tốc độ hội tụ mạng nhanh, nhiên chế định kỳ phát quảng bá thông tin tuyến làm tăng tải mạng Các giao thức định tuyến theo bảng: giao thức định tuyến không dây WRP (Wireless Routing Protocol), giao thức định tuyến vector khoảng cách đích DSDV (Dynamic DestinationSequenced Distance-Vector Routing), giao thức định tuyến trạng thái liên kết tối ưu OLSR (Optimized Link State Routing) - Các giao thức định tuyến lai ghép (hybrid) để kết hợp ưu điểm hai loại giao thức khắc phục nhược điểm chúng 10 Hình 3.6 thể Thời gian trung bình phản ứng giao thức Từ biểu đồ ta thấy thời gian phản ứng giao thức AODV tốt so với giao thức AODVLV, điều thay đổi cấu trúc gói tin định tuyến giao thức AODVLV dẫn tới kích thước lớn hơn, gây trễ Từ biểu đồ, với tốc độ 0m/s, 10m/s, 20m/s thời gian phản ứng giao thức nhanh mức 0,036 - 0,392s Trong tốc độ 5m/s 15m/s thời gian phản ứng giao thức chậm, mức 4,736 – 6,270s Điều xảy thời gian phản ứng giao thức phụ thuộc vào tốc độ di chuyển nút mà phụ thuộc vào tô pô mạng lúc thiết lập kết nối Hình 3.7 thể độ trễ trung bình gói tin CBR Thời gian trung bình để gửi gói liệu tới đích, bao gồm thời gian trễ trình định tuyến thời gian gói liệu nằm hàng đợi Ở tốc độ 0m/s độ trễ trung bình gói tin CBR tương đương với giao thức AODV AODVLV, tốc độ bắt đầu tăng dần, độ trễ bắt đầu tăng dần giao thức AODV tăng chậm AODVLV, độ trễ lớn giao thức AODV 0,108s AODVLV 0,623s Như vậy, hiệu suất giao thức AODV AODVLV tương đương nút mạng không di chuyển, có di chuyển hiệu suất giao thức AODV tốt nhiều so với giao thức AODVLV * Phân tích, đánh giá kịch 2: Kịch sử dụng chung tô pô mạng với tốc độ di chuyển lớn nút mạng 20m/s với số nút công blackhole tăng dần từ – Hình 3.9 thể tỷ lệ phân phát gói tin thành công Khi không bị công blackhole, tỷ lệ phát thành công của giao thức AODV mức cao đạt 93%, AODVLV 72% Tuy nhiên có công blackhole tỷ lệ phân phát thành công giao thức AODV bị giảm nhanh từ 93,37 % xuống thành 42,73% có nút công tiếp tục giảm giảm xuống mức thấp tương đương 19% có nút công blackhole Trong tỷ lệ phân phát thành công giao thức AODVLV không bị ảnh hưởng giữ mức 72% Hình 3.10 thể độ trễ trung bình gói tin CBR Khi công độ trễ giao thức AODV 0,108s thấp nhiều so với AODVLV 0,632s Tuy nhiên bắt đầu có công blackhole độ trễ tăng rõ rệt từ 0,108s 71 lên 1,407s giao thức AODV, trễ giao thức AODVLV trì ổn định mức 0,629 – 0,733s Hình 3.11 thể số gói tin bị Khi công, số gói tin bị giao thức 3668 gói, AODVLV 8500 gói Khi số nút công blackhole tăng dần số gói tin bị AODV tăng từ 3668 – 21213 gói nhanh lớn so với giao thức AODVLV ổn định mức 8175 – 9238 gói Như vậy, xảy công blackhole hiệu suất giao thức AODV thấp, hiệu suất giao thức AODVLV không bị ảnh hưởng 72 III KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Các kết luận văn Luận văn tập trung nghiên cứu thách thức, mối đe dọa an ninh số giải pháp an ninh định tuyến mạng MANET ưu, nhược điểm đề từ đưa giải pháp nghiên cứu để cường an ninh cho giao thức định tuyến AODV, tạm gọi giao thức AODVLV Cụ thể đưa giải pháp nghiên cứu sau: - Luận văn giả sử tồn trung tâm chứng thực CA, nút tham gia vào mạng liên lạc với CA để cấp chứng tham gia truyền thông mạng Tất nút biết khóa công khai CA để chứng thực nút khác Nút nguồn sử dụng khóa riêng để ký vào gói tin định tuyến, mã băm sử dụng để xác thực trường hop count, sau gửi kèm chứng số với gói tin định tuyến dược ký số mã băm Các nút trung gian thực xác thực chữ ký cachs sử dụng chứng số cấp, xác thực hop count phát chuyển tiếp chữ ký hop count Quá trình tiếp tục đến nút đích Tương tự trình đáp ứng tuyến thông báo lỗi - Do việc sử dụng chữ ký số đòi hỏi nút phải gửi kèm chứng gói tin định tuyến nên dẫn tới kích thước gói tin lớn nhiều (mỗi chứng khoảng 1000 byte) Nên để giảm kích thước gói tin tác giả có sử dụng thêm kỹ thuật nén giải nén chứng Những nghiên cứu cài đặt Ngoài tác giả tiến hành phân tích cài đặt kiểu công blackhole để phục vụ mô phỏng, phân tích kết quả, vẽ biểu đồ tham số hiệu suất với kịch bản: - Kịch 1: So sánh hiệu suất giao thức AODV AODVLV tốc độ di chuyển nút mạng thay đổi - Kịch 2: So sánh hiệu suất giao thức AODV AODVLV số nút công blackhole tăng dần Kết mô cho thấy kết luận sau: - Hiệu suất giao thức AODV AODVLV tương đương nút mạng không di chuyển, có di chuyển hiệu suất giao thức AODV tốt nhiều so với giao thức AODVLV 73 - Khi xảy công blackhole hiệu suất giao thức AODV thấp, hiệu suất giao thức AODVLV không bị ảnh hưởng Giao thức AODVLV chống hoàn toàn kiểu công blackhole Mặc dù không tiến hành mô kiểu công khác luận văn tiến hành phân tích, đánh giá mức độ an ninh giải pháp dựa lập luận Hướng phát triển đề tài Do hạn chế mặt thời gian nên luận văn mô đánh giá kết giải pháp với kiểu công blackhole giao thức AODV Trong thời gian tới tác giả tiếp tục nghiên cứu mô phỏng, đánh giá kết giải pháp với nhiều kiểu công khác giao thức DSDV, DSR, OLSR,… Ngoài tác giả tập trung nghiên cứu vấn đề an ninh kết hợp với đảm bảo chất lượng dịch vụ 74 IV DANH MỤC CÁC TÀI LIỆU THAM KHẢO Tiếng Việt PGS TS Nguyễn Đình Việt (2012), Bài giảng đánh giá hiệu mạng máy tính, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội PGS.TS Trịnh Nhật Tiến (2008), Giáo trình an toàn liệu, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội Phạm Văn Tứ (2010), “Khảo sát ảnh hưởng chuyển động nút mạng đến hiệu suất số giao thức định tuyến mạng manet”, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội Tiếng Anh Dr.Satya Prakash Singh, Ramveer Singh (2012), “Security challenges in mobile adhoc network”, International Journal of Applied Engineering Research, Volume (11) Priyambada Sahu, Sukant Kishoro Bisoy, Soumya Sahoo (2013), “Detecting and isolating malicious node in aodv routing algorithm”, International Journal of Computer Applications, Volume 66 (11) Preeti Sachan, Pabitra Mohan Khilar (2011), “Securing aodv routing protocol in manet based cryptographic authentication”, International Journal of Network Security & Its Applications, Volume (5) Gagandeep, Aashima, Pawan Kumar (2012), “Analysis of different security attacks in manets on protocol stack a-review”, International Journal of Engineering and Advanced Technology, Volume (5) Jayashree.A.Patil, Nandini Sidnal, Ph.D (2013), “Servey – secure routing protocols of manet”, International Journal of Applied Information Systems, Volume (4) Amol A Bhosle, Tushar P Thosar, Snehal Mehatre (2012), “Black-hole and wormhole attack in routing protocol aodv in manet”, International Journal of Computer Science, Engineering and Applications, Volume (1) 10 Sanjay K Dhurandher, Isaac Woungang, Raveena Mathur, Prashant Khurana (2013), “GAODV: a modified aodv against single and 75 collaborative black hole attacks in mannets”, International Conference on Advanced Information Networking and Applications Workshops 11 Manisha M Jadhao (2013), “Detection of gray hole and black hole using EDRI table in manet – a review”, Alard College of Engg & Management, Pune, India 12 Vipin Khandelwal, Dinesh Goyal (2013), “Blackhole attack and detection method for aodv routing protocol in manets”, International Journal of Advanced Research in Computer Engineering & Technology, Voulume (4) 13 Durgesh Wadbude, Vineet Richariya (2012), “An efficient secure aodv routing protocol in manet”, International Journal of Engineering and Innovative Technology, Volume (4) 14 Ali Tourani, Yasin Ezatdoost, Amir Seyed Danesh (2013), “A Comparison on ARAN and SAODV Protocols of Ad-hoc Network Routing”, International Journal of Advanced Research in Computer and Communication Engineering, Volume (11) 15 Seema Mehla, Bhawna Gupta, Preeti Nagrath (2010), “Analyzing security of Authenticated Routing Protocol (ARAN)”, International Journal on Computer Science and Engineering, Volume (03) 76 V PHỤ LỤC Cài đặt mô công blackhole Như phân tích luận văn tiến hành cài đặt mô kiểu công blackhole Khi nhận gói tin RREQ, nút blackhole hủy gói RREQ gửi trả gói tin RREP với số lớn hop count nhỏ Void AODV::recvRequest(Packet *p) { struct hdr_ip *ih = HDR_IP(p); else if(malicious == true) { seqno = max(seqno, rq->rq_dst_seqno)+1000; if (seqno%2) seqno++; sendReply(rq->rq_src, // IP Destination 1, // Hop Count rq->rq_dst, seqno, MY_ROUTE_TIMEOUT, rq->rq_timestamp); // timestamp Packet::free(p); } } Void AODV::rt_resolve(Packet *p) { … if(malicious == true); else sendError(rerr, false); } Cài đặt chế xác thực chữ ký số giao thức AODVLV Khi tạo gói tin RREQ: 77 Void AODVLV::sendRequest(nsaddr_t dst) { // Allocate a RREQ packet Packet *p = Packet::alloc(); struct hdr_cmn *ch = HDR_CMN(p); struct hdr_ip *ih = HDR_IP(p); struct hdr_aodvlv_request *rq = HDR_AODVLV_REQUEST(p); aodvlv_rt_entry *rt = rtable.rt_lookup(dst);… rq->rq_type = AODVLVTYPE_RREQ; rq->rq_hop_count = 1; rq->rq_bcast_id = bid++; rq->rq_dst = dst; rq->rq_dst_seqno = (rt ? rt->rt_seqno : 0); rq->rq_src = index; seqno += 2; assert ((seqno%2) == 0); rq->rq_src_seqno = seqno; rq->rq_timestamp = CURRENT_TIME; /* * aodvlv */ rq->maxhopcount = ih->ttl_; //Get certificate info FILE* fp; char result [2000] = ""; char Cmd[200] = "openssl x509 -in "; strcat(Cmd,certfile); fp = popen(Cmd,"r"); fread(result,1,sizeof(result),fp); fclose (fp); // compress 78 strcat(rq->certificate,result); common_function->Compress_cert(p); // generate random seed u_int32_t a = common_function->genarate_seed(index); char *seed_str = (char*) malloc (32); seed_str = common_function->convert_number_to_string(a); for(int m=0; mdigest[m] = (unsigned char)seed_str[m]; } // Tophash: hash maxhopcount time(seed) unsigned char digest_tophash[SHA256_DIGEST_LENGTH] = ""; for(int w=0; wdigest[w]; } for(int j =0; j< rq->maxhopcount; j++) { SHA256_CTX ctx; SHA256_Init(&ctx); SHA256_Update(&ctx,digest_tophash,SHA256_DIGEST_LENGTH); SHA256_Final(digest_tophash, &ctx); } for(int w=0; wtophash[w] = digest_tophash[w]; } // sign common_function->sign_request (p,keyfile); 79 ch->size() = IP_HDR_LEN + rq->size(); // Tính size packet Scheduler::instance().schedule(target_, p, 0.); } Khi tạo gói RREP: Void AODVLV::sendReply(nsaddr_t ipdst, u_int32_t hop_count, nsaddr_t rpdst, u_int32_t rpseq, u_int32_t lifetime, double timestamp) { Packet *p = Packet::alloc(); struct hdr_cmn *ch = HDR_CMN(p);… rp->rp_dst = rpdst; rp->rp_dst_seqno = rpseq; rp->rp_src = index; rp->rp_lifetime = lifetime; rp->rp_timestamp = timestamp;… /* * aodvlv */ rp->maxhopcount = ih->ttl_; // Get certificate info FILE* fp; char result [2000] = ""; char Cmd[200] = "openssl x509 -in "; strcat(Cmd,certfile); fp = popen(Cmd,"r"); fread(result,1,sizeof(result),fp); fclose (fp); strcpy(rp->certificate,result); common_function->Compress_cert_reply(p); 80 ch->size() = IP_HDR_LEN + rp->size(); // Tính size packet // generate random seed u_int32_t a = common_function->genarate_seed(index); char *seed_str = (char*) malloc (32); seed_str = common_function->convert_number_to_string(a); for(int m=0; mdigest[m] = (unsigned char)seed_str[m]; } // Tophash: hash maxhopcount time(seed) unsigned char digest_tophash[SHA256_DIGEST_LENGTH] = ""; for(int w=0; wdigest[w]; } for(int j =0; j< rp->maxhopcount; j++){ SHA256_CTX ctx; SHA256_Init(&ctx); SHA256_Update(&ctx, SHA256_DIGEST_LENGTH); SHA256_Final(digest_tophash, &ctx); } for(int w=0; wtophash[w] = digest_tophash[w]; } // sign common_function->sign_reply (p,keyfile); Scheduler::instance().schedule(target_, p, 0.); } 81 digest_tophash, Khi tạo gói RERR: void AODVLV::sendError(Packet *p, bool jitter) { struct hdr_cmn *ch = HDR_CMN(p); struct hdr_ip *ih = HDR_IP(p); … /* * aodvlv */ //Get certificate info FILE* fp; char result [2000] = ""; char Cmd[200] = "openssl x509 -in "; strcat(Cmd,certfile); fp = popen(Cmd,"r"); fread(result,1,sizeof(result),fp); fclose (fp); // compress strcat(re->certificate,result); //printf("%s\n",re->certificate); common_function->Compress_cert_rerr(p); re->re_type = AODVLVTYPE_RERR; // sign common_function->sign_rerr(p,keyfile); } Khi nhận gói RREQ: Void AODVLV::recvRequest(Packet *p) { 82 struct hdr_ip *ih = HDR_IP(p); struct hdr_aodvlv_request *rq = HDR_AODVLV_REQUEST(p); aodvlv_rt_entry *rt; … // Kiểm tra chữ ký if(common_function->verify_request(p) == false){ Packet::free(p); return; } // Chứng thực hop count if(common_function->compare_hash_request(p) == false){ Packet::free(p); return; } …… else { /* * Khong cho phep thay doi rq->rq_dst_seqno * - Hop Count ++ * - hash lan truong rq->digest */ ih->saddr() = index; ih->daddr() = IP_BROADCAST; rq->rq_hop_count += 1; SHA256_CTX ctx; SHA256_Init(&ctx); SHA256_Update(&ctx, rq->digest, SHA256_DIGEST_LENGTH); SHA256_Final(rq->digest, &ctx); forward((aodvlv_rt_entry*) 0, p, AODVLV_DELAY); } 83 } Khi nhận gói RREP: Void AODVLV::recvReply(Packet *p) { struct hdr_ip *ih = HDR_IP(p); struct hdr_aodvlv_reply *rp = HDR_AODVLV_REPLY(p); aodvlv_rt_entry *rt; … // Kiểm tra chữ ký if(common_function->verify_reply(p) == false){ Packet::free(p); return; } // Xác thực chữ ký if(common_function->compare_hash_reply(p) == false){ Packet::free(p); return; } // Băm trước forward else { // Find the rt entry aodvlv_rt_entry *rt0 = rtable.rt_lookup(ih->daddr()); // If the rt is up, forward if(rt0 && (rt0->rt_hops != INFINITY2)) { assert (rt0->rt_flags == RTF_UP); rp->rp_hop_count += 1; rp->rp_src = index; // Neu thay doi thi chung chi so thay doi // Bam lan SHA256_CTX ctx; 84 SHA256_Init(&ctx); SHA256_Update(&ctx, rp->digest, SHA256_DIGEST_LENGTH); SHA256_Final(rp->digest, &ctx); forward(rt0, p, NO_AODVLV_DELAY); // Insert the nexthop towards the RREQ source to // the precursor list of the RREQ destination rt->pc_insert(rt0->rt_nexthop); // nexthop to RREQ source } else { // I don't know how to forward drop the reply #ifdef DEBUG fprintf(stderr, "%s: dropping Route Reply\n", FUNCTION ); #endif // DEBUG drop(p, DROP_RTR_NO_ROUTE); } } } Khi nhận gói RERR: Void AODVLV::recvError(Packet *p) { struct hdr_ip *ih = HDR_IP(p); struct hdr_aodvlv_error *re = HDR_AODVLV_ERROR(p);… // Kiểm tra chữ ký số if(common_function->verify_rerr(p) == false){ Packet::free(p); return; } } 85

Ngày đăng: 17/08/2016, 16:00

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan