Kỷ yếu Hội nghị KHCN Quốc gia lần thứ XI về Nghiên cứu cơ bản và ứng dụng Công nghệ thơng tin (FAIR); Hà Nội, ngày 09-10/8/2018
DOI: 10.15625/vap.2018.00054
PHÂN TÍCH HIỆU QUẢ AN NINH CỦA HAI GIAO THỨC SAODV VÀ ARAN
TRÊN MẠNG MANET
Lương Thái Ngọc 1,2, Lê Vũ 1,3, Võ Thanh Tú 1
1
Khoa Công nghệ Thông tin, Trường Đại học Khoa học, Đại học Huế
2
Khoa Sư phạm Toán - Tin, Trường Đại học Đồng Tháp
3
Trường Đại học Sư phạm Kỹ thuật, Đại học Đà Nẵng
, ,
TÓM TẮT: Một trong những thách thức của mạng MANET là vấn đề an toàn định tuyến. Nguyên nhân là các giao thức định tuyến
nguyên bản (tiêu biểu là AODV) không được thiết kế nhằm mục đích an ninh. Để nâng cao an ninh, một số cải tiến từ AODV được
đề xuất là SAODV và ARAN bằng cách sử dụng chữ ký số. Bài báo phân tích ưu và nhược điểm trong cơ chế an ninh của hai giao
thức này. Từ đó, đề xuất một hình thức tấn cơng lỗ đen mở rộng (eBH) có thể gây hại cho giao thức SAODV. Kết quả mô phỏng cho
thấy tấn công eBH làm giảm rất lớn tỷ lệ gửi gói tin thành cơng của giao thức SAODV.
Từ khóa: AODV; ARAN, SAODV, chữ ký số, mạng tùy biến di động.
I. GIỚI THIỆU
Mạng tùy biến di động (MANET [1]) do các thiết bị di động kết nối với nhau không cần cơ sở hạ tầng. Mỗi thiết
bị trong mạng có thể di chuyển theo mọi hướng, chúng kết hợp với nhau để gửi dữ liệu tới nút nằm ở xa khu vực kết
nối. Định tuyến là một dịch vụ tại tầng mạng, gói tin được định tuyến đến đích dựa vào thông tin đường đi tại mỗi nút.
Chúng được khám phá và duy trì nhờ vào các giao thức định tuyến. Do đặc tính di động mà các giao thức định tuyến
theo yêu cầu rất phù hợp với mạng MANET, tiêu biểu là AODV (Ad hoc On-demand Distance Vector [2]) và DSR
(Dynamic Source Routing [3]). Tuy nhiên, vấn đề là hai giao thức này được thiết kế để hoạt động với niềm tin rằng tất
cả các nút láng giềng đều “thân thiện”. Chúng chủ yếu tập trung vào chức năng quan trọng là khám phá tuyến phục vụ
cho việc định tuyến dữ liệu, mà không quan tâm đến vấn đề an ninh. Vì vậy, tin tặc đã khai thác một số lỗ hỏng an ninh
để thực hiện nhiều hình thức tấn công mạng, tiêu biểu như: Blackhole [4], Sinkhole [5], Grayhole [6], Wormhole [7],
Flooding [8] và Whirlwind [9]. Tấn cơng lỗ đen (Blackhole) nhằm mục đích phá hoại thực hiện với một hoặc nhiều nút
độc hại, nếu sử dụng hai nút độc hại kết nối với nhau thì ta gọi là cộng tác tấn công [10]. Tấn công lỗ đen nhằm mục
đích gây hại nên ảnh hưởng rất lớn đến hiệu năng mạng. Giao thức định tuyến theo yêu cầu là mục tiêu gây hại của
hình thức thức tấn công này [11, 12]. Để ngăn chặn tấn công lỗ đen, hai giao thức là SAODV [13] và ARAN [14] đã
được đề xuất. Tuy nhiên, cơ chế an ninh của chúng cịn có điểm hạn chế, lỗ hỏng này có thể bị tin tặc khai thác để thực
hiện hành vi tấn cơng mạng, tiêu biểu như hình thức tấn cơng eBH được đề xuất trong bài báo này.
Cấu trúc của bài báo như sau: Phần II trình bày giao thức AODV và phương pháp tấn công lỗ đen truyền thống.
Phần III trình bày chi tiết hai giải pháp an ninh là SAODV và ARAN. Phần IV trình bày giải pháp tấn cơng eBH trên
trên giao thức SAODV. Phần V trình bày việc sử dụng NS2 để cài đặt, mô phỏng và đánh giá tác hại của tấn công lỗ
đến đến tỷ lệ gửi gói thành cơng của hai giao thức AODV và SAODV. Cuối cùng là kết luận và hướng phát triển.
II. KIẾN THỨC NỀN
Phần này trình bày chi tiết thuật toán khám phá tuyến của giao thức định tuyến AODV và hình thức tấn cơng lỗ
đen giao thức định tuyến AODV.
2.1. Giao thức AODV
Giao thức định tuyến AODV là tiêu biểu trên mạng MANET, được sử dụng trong nhiều nghiên cứu gần đây.
Đây là giao thức định tuyến đa chặng, nên AODV phải thực hiện việc khám phá và duy trì tuyến trước khi định tuyến
gói tin dữ liệu đến đích. Tuyến được chọn là tuyến có chi phí tốt nhất tương ứng số chặng (HC) nhỏ nhất. Để khám phá
tuyến, AODV sử dụng thuật toán yêu cầu tuyến như Hình 1a) và thuật tốn trả lời tuyến như Hình 1b).
a) Yêu cầu tuyến
Khi nút nguồn (NS) muốn gửi 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. Ngồ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:
Bằng cách kiểm tra định danh của lần khám phá tuyến và địa chỉ nguồn (id_broadcast, src_address) trong gói
RREQ. Nút Ni có thể nhận biết gói RREQ đã xử lý rồi hoặc chưa. Nếu gói RREQ nhận được đã xử lý rồi thì N i hủy gói
RREQ và thuật tốn kết thúc;
414
PHÂN TÍCH HIỆU QUẢ AN NINH CỦA HAI GIAO THỨC SAODV VÀ ARAN TRÊN MẠNG MANET
Ngược lại, đây là gói RREQ đầu tiên nhận được, Ni lưu đường đi ngược về nguồn NS bằng cách thêm vào bảng
định tuyến một thông tin định tuyến mới hoặc cập nhật lại tuyến nếu tuyến mới có chi phí tốt hơn; Tiếp theo, N i ghi
nhận gói RREQ đã xử lý bằng cách lưu (id_broadcast và src_add) vào bộ nhớ; tăng chi phí định tuyến lên 1 trước khi
tiếp tục quảng bá gói RREQ. Ngồi ra, Ni có thể trả lời tuyến về nguồn nếu nó có tuyến đi đủ “tươi” đến đích.
Q 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 khác, cho đến khi nút đích ND nhận
được gói RREQ hoặc nút đích khơng tồn tại. Trong trường hợp nút đích nhận được gói RREQ, ND gửi gói trả lời tuyến
(RREP) về nguồn, ngược lại quá trình khám phá tuyến thất bại do ND khơng tồn tại hoặc ND nằm ngồi vùng phủ sóng
của các nút khác.
a) u cầu tuyến
b) Trả lời tuyến
Hình 1. Thuật toán khám phá tuyến của giao thức AODV
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 (unicast). Để 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 trả lời tuyến, nút
trung gian (Ni) xử lý gói RREP như sau:
Nút trung gian Ni lưu tuyến đến đích ND vào bảng định tuyến hoặc cập nhật lại tuyến nếu tuyến mới có chi phí
tốt hơn;
Nếu Ni là nút nguồn thì q trình khám phá tuyến thành cơng, thuật tốn kết thúc, nút nguồn gửi gói dữ liệu
(DP) đang chờ trong hàng đợi đến đích; Ngược lại, Ni tăng chi phí định tuyến trong trường hợp_count của gói RREP
lên 1, tiếp tục chuyển tiếp gói RREP về nguồn dựa vào thơng tin trong bảng định tuyến của nó;
Trong trường hợp nút trung gian Ni khơng tìm thấy tuyến ngược về nguồn thì gói RREP sẽ bị hủy nếu hết thời
gian sống, q trình khám phá tuyến thất bại.
2.2. Tấn cơng lỗ đen
Tấn cơng lỗ đen nhằm mục đích hủy hoại các gói tin dữ liệu của các luồng UDP, cịn luồng TCP thì bị gián
đoạn vì khơng nhận được tính hiệu ACK từ nút đích. Để thực hiện tấn cơng lỗ đen, nút độc hại thực hiện qua hai giai
đoạn: Giai đoạn 1, nút độc hại tự quảng cáo cho nút nguồn rằng bản thân nó có tuyến đường đến đích với chi phí tốt
nhất, nhờ vậy mà nút độc hại có thể đánh lừa nút nguồn thiết lập tuyến đến nút đích thơng qua chính nó. Giai đoạn 2,
nút độc hại nhận tất cả gói tin từ nguồn chuyển đến và huỷ tất cả nên đây được gọi là hình thức tấn cơng phá hoại.
Trong cộng tác tấn cơng lỗ đen thì gói tin dữ liệu được chuyển tiếp đến nút thứ hai và bị huỷ tại nút này nhằm tránh bị
phát hiện. Để thực hiện được ý đồ là đánh lừa nút nguồn rằng bản thân nó có tuyến đường đến đích với chi phí tốt nhất,
Lương Thái Ngọc, Lê Vũ, Võ Thanh Tú
415
nút độc hại thay đổi thơng số của gói trả lời tuyến RREP gồm: Chi phí định tuyến nhỏ nhất (HC = 1); và số thứ tự nút
đích (DSN) phải đủ lớn để tuyến là mới nhất.
III. GIAO THỨC CẢI TIẾN AN NINH
Để ngăn chặn tấn công lỗ đen, hai giao thức tiêu biểu dựa trên chữ ký số đã được đề xuất là SAODV và ARAN.
Cả hai giao thức sử dụng chữ ký số để bảo vệ các trường không thay đổi. Do HC thay đổi mỗi khi chuyển tiếp qua một
nút trung nên SAODV sử dụng giải pháp chuỗi băm để bảo vệ trường HC. ARAN loại bỏ HC trong gói khám phá
tuyến và loại bỏ chức năng trả lời tuyến tại nút trung gian.
3.1. Giao thức SAODV
Giao thức SAODV [13] được cải tiến từ AODV nhằm mục đích an ninh bằng cách sử dụng hệ mã khóa cơng
khai RSA kết hợp hàm băm. 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 (gói RREQ và RREP) nếu chữ ký của nguồn 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 2a) và
2b).
a) RREQ
b) RREP
Hình 2. Gói tin điều khiển tuyến của giao thức AODV [13]
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 băm thông
tin các trường không thay đổi 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 1,
đây là chữ ký số của nguồn. Chữ ký số được lưu vào trường sign trước khi quảng bá gói RREQ để yêu cầu tuyến.
RREQ.Sign = En (h (RREQ.Fields), kNs−)
(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 2. 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 trong gói RREQ. 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.Sign, kNs+)
(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 3. Kết quả sau khi ký được lưu vào trường Sign của gói
RREP.
RREP.Sign = En(h(RREP.Fields), kND-)
(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. 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 chấp nhận gói RREP và tiếp tục chuyển tiếp về
nguồn cho đến khi nút nguồn nhận được gói RREP.
value_de = De(RREP.Sign, kND+)
(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 tồ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 thay đổi giá trị của trường HC. Vì vậy, SAODV sử
dụng chuỗi băm để bảo vệ trường HC. Nút nguồn (hoặc đích) bảo vệ trường HC của gói RREQ (hoặc gói RREP) 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 tuyến. Đồng thời, thiết
lập vào trường Hash_Function tên hàm băm đã sử dụng.
416
PHÂN TÍCH HIỆU QUẢ AN NINH CỦA HAI GIAO THỨC SAODV VÀ ARAN TRÊN MẠNG MANET
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 5, kết quả băm
được lưu vào trường Top_Hash.
Top_Hash = hMAX_HOP_COUNT(seed)
(5)
Khi 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 giá trị của 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 giá trị của biến ngẫu nhiên được lưu
trong trường Hash (MAX_HOP_COUNT - HC) lần như công thức 6.
val_hsh = hMAX_HOP_COUNT - HC(Hash)
(6)
Tiếp theo, nút kiểm tra nếu giá trị băm val_hsh 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.
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 7.
Hash = h(Hash)
(7)
Quan sát cơ chế khám phá tuyến của giao thức SAODV, chúng ta 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. Ngun 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 [13, 15]. Ý 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 3. Một khi nhận được gói 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.
Node
N5
N2
N7
N6
Bảng định tuyến
NH HC SN Chữ ký
N5 1
15 SigN5
N2 3
13 SigN1
N8 5
14 SigN7
N5 4
18 SigN6
Khóa
kN5+
kN1+
kN7+
kN6+
Hình 3. Mơ tả cấu trúc bảng định tuyến của giao thức SAODV
Như vậy, giao thức SAODV có thể ngăn ngừa 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:
Giao thức SAODV chỉ hỗ trợ xác thực đầu-cuối nên nút trung gian không thể xác thực nút tiền nhiệm ([16],
trang 478). Vì vậy, SAODV khơng thể phát hiện một nút độc hại chuyển tiếp gói tin và khơng làm tăng chi phí định
tuyến (tấn cơng lỗ sâu ở chế độ ẩn [17]).
Đặc biệt, SAODV khơng có cơ chế quản lý khóa cơng khai. Một nút độc hại có thể tấn cơng mạng bằng việc
sử dụng bộ khóa giả mạo.
3.2. Giao thức ARAN
Giao thức ARAN [14] nhằm mục đích nâng cao an ninh sử dụng chữ ký số. ARAN 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 chỉ số
của nút; (2) ARAN sử dụng phương pháp xác thực tại mỗi nút (HbH), điều này cho phép nút xác thực được nút tiền
nhiệm (PN) khi nhận gói điều khiển tuyến.
Ý tưởng của giao thức ARAN là trước khi tham gia vào mạng, mỗi nút phải được cấp một chứng chỉ số. Chứng
chỉ số bao gồm địa chỉ (IPA), khóa cơng khai (KA+), thời gian chứng chỉ được khởi tạo (t), thời gian chứng chỉ hết hiệu
lực (e), tất cả thơng tin được ký (ký hiệu là [thơng tin]khóa bí mật) bằng khóa bí mật của T(KT-) như mơ tả trong (8).
T
A : certA = [IPA, KA+, t, e] KT-
(8)
a) Quảng bá gói yêu cầu tuyến
Nút nguồn (A) khởi động q trình khám phá tuyến đến nút đích (X) bằng cách quảng bá gói khám phá tuyến
(RDP) như mơ tả trong (9). Chi tiết gói RDP gồm địa chỉ nút đích (IPX), chứng chỉ 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ị IPX và NA được nút sử dụng để loại bỏ các
gói RDP đã xử lý rồi.
Abroacdcast :[RDP, IPX, certA, NA, t] KA-
(9)
Lương Thái Ngọc, Lê Vũ, Võ Thanh Tú
417
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 chỉ số certA để xác thực
chữ ký và hiệu lực của chứng chỉ. 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 chỉ 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 PN. 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 10.
Bbroadcast: [[RDP, IPX, certA, NA, t] KA-]KB-, certB
(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 PN (K B+) trong chứng chỉ 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 chỉ của B thành chứng 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 (11).
Bboardcast: [[RDP, IPX, certA, NA, t] KA-]KC-, certC
(11)
Sau khi được 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. Mỗi nút
xử lý gói RDP theo các bước tương tự tại C gồm: chứng thực chữ ký của nút PN, thay chứng chỉ của nút PN thành
chứng chỉ 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 trả lời tuyến (REP) 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 (12). Gồm địa chỉ nút nguồn (IPA), chứng chỉ 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-
(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 chỉ (certD) vào
gói REP trước 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 (13).
D
C : [[REP, IPA, certX, NA, t]KX-]KD-, certD
(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 chỉ của nút PN thành chứng chỉ 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
(14).
C
B: [[REP, IPA, certX, NA, t]KX-]KC-, certC
(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: chứng thực chữ ký của nút PN, thay chứng chỉ của nút PN thành
chứng chỉ của nút hiện tại và ký nội dung của gói REP do đích gửi trước khi tiếp tục chuyển tiếp gói REP về nguồn
thơng qua NH. 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 PN và nút đích X trước khi thiết
lập tuyến đến đích.
Như vậy, giao thức ARAN hỗ trợ cơ chế quản lý khóa cơng khai bằng cách cấp chứng chỉ số cho mỗi nút và sử
dụng phương pháp xác thực HbH. Nhờ vậy mà nút có thể xác thực nút PN 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:
Giao thức ARAN, bất kỳ sự thay đổi thơng tin của gói trong q 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. Do đó, ARAN khơng thể tích hợp HC vào gói RDP và REP
để tính chi phí vì HC sẽ tăng mỗi khi được chuyển tiếp qua một nút.
Giao thức ARAN không cho phép nút trung gian trả lời tuyến về nguồn cho dù nó tuyến hợp lệ đến đích.
Ngun nhân là nút trung gian khơng thể ký trên gói REP trước khi gửi về nguồn do nó khơng có khóa bí mật của nút
đích.
Tương tự SAODV, ARAN khơng thể ngăn ngừa 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 nút kế tiếp mà không thay đổi thông tin. [18, 19]
IV. TẤN CÔNG LỖ ĐEN GIAO THỨC SAODV
Bài báo để xuất một hình thức tấn cơng lỗ đen mở rộng (eBH) nhằm mục đích tấn cơng giao thức SAODV.
Điểm khác biệt so với tấn công lỗ đen là tại giai đoạn nút độc hại đánh lừa nút nguồn rằng bản thân nút độc hại có
tuyến đường đến đích với chi phí tốt nhất. Để làm được điều này, khi nhận được gói yêu cầu tuyến, nút độc hại ngay
lập tức gửi gói trả lời tuyến RREP về nguồn. Gói RREP được thiết lập các giá trị như sau:
418
PHÂN TÍCH HIỆU QUẢ AN NINH CỦA HAI GIAO THỨC SAODV VÀ ARAN TRÊN MẠNG MANET
Tương tự tấn công lỗ đen, giá trị HC = 1 cho biết tuyến có chi phí tốt nhất và DSN = 4294967295 cho biết
tuyến tươi nhất;
Khởi tạo bộ khóa giả mạo gồm (fe, fN) và (fd, fN), lưu khóa cơng khai giả mạo kèm theo gói trả lời tuyến;
Khởi tạo giá trị ngẫu nhiên (seed) và lưu giá trị của biến seed vào trường hash;
Sử dụng hàm băm mà nút nguồn đã sử dụng được quy định trong trường hash_function của gói RREQ, băm giá
trị biến seed MAX_HOP_COUNT lần và lưu vào trường top_hash của gói RREP;
Băm thơng tin của các trường khơng thay đổi của gói trả lời tuyến, mã hóa giá trị băm bằng khóa bí mật giả mạo
(fd, fN), lưu kết quả vào trường Sign của gói RREP trước khi gửi về nguồn.
Mã lệnh được cài đặt trong thủ tục trả lời tuyến sendReply() như Hình 4. Trong đó: getRdmKey() là hàm khởi
tạo giá trị ngẫu nhiên, BHSAODV_MAX_HC là MAX_HOP_COUNT của giao thức SAODV, fSHA() là hàm băm
SHA1, HashRREP() là hàm cho phép băm thơng tin của gói RREP sử dụng SHA1, encryption() là hàm mã hóa trong
hệ mã RSA.
Hình 4. Mã lệnh thiết lập cho gói RREP giả mạo
V. ĐÁNH GIÁ KẾT QUẢ BẰNG MÔ PHỎNG
Bài báo sử dụng NS-2.35 [20] để đánh giá tác hại của hình thức tấn công eBH trước giao thức SAODV. Phạm
vi mô phỏng 2000m*2000m, thời gian mơ phỏng là 1000 giây, tơ-pơ mạng có 100 nút di chuyển ngẫu nhiên theo mơ
hình Random Way Point [21]. Vận tốc di chuyển tối đa là 30m/s, nút độc hại đứng yên tại vị trí trung tâm (1000m,
1000m) như Hình 5 và thực hiện hành vi tấn công từ giây thứ 500. Giao thức định tuyến là AODV và SAODV, giao
thức vận chuyển UDP, mỗi tô pô mạng sử dụng 10 nguồn phát CBR, nguồn đầu tiên bắt đầu phát tại giây thứ 0, các
nguồn phát tiếp theo cách nhau 5 giây, chi tiết thông số trong Bảng 1.
Bảng 1. Thông số mô phỏng
Thông số
Khu vực địa lý
Thời gian mô phỏng
Tổng số nút mạng
Vận tốc di chuyển (m/s)
Dạng truyền thơng
Số kết nối
Kích thước gói tin
Hàng đợi
Giao thức định tuyến
Số nguyên tố (p, q)
Hàm băm
Hình 5. Giao diện mô phỏng trên NS2
Giá trị
2000m x 2000m
1000s
101 (1 nút độc hại)
1..30
CBR (Constant Bit Rate)
10 UDP
512(bytes)
FIFO (DropTail)
AODV, SAODV
31, 37
SHA1 [22]
Lương Thái Ngọc, Lê Vũ, Võ Thanh Tú
419
Biểu đồ tỷ lệ gửi gói tin thành cơng tại Hình 6 cho thấy rằng sau 1000 giây mô phỏng trong môi trường mạng
bình thường thì tỷ lệ gửi gói tin thành cơng (PDR) của giao thức AODV là 71.04% và SAODV là 62.91%, do cơ chế
an ninh nên PDR của SAODV thấp hơn giao thức gốc 8.13%. Tấn công lỗ đen đã ảnh hưởng đến hiệu quả định tuyến
của cả hai giao thức, PDR của hai giao thức giảm xuống rất nhanh kể từ sau giây thứ 500. Kết thúc mô phỏng thì PDR
của AODV là 35.54% và SAODV là 34.33%, lần lượt thấp hơn 35.50% và 28.58% so với môi trường mạng bình
thường. Điều này cho thấy rằng hình thức tấn cơng eBH đã gây hại thành cơng giao thức SAODV.
Hình 6. Biểu đồ tỷ lệ gửi gói tin thành cơng
Biểu đồ tại Hình 7 cho thấy rằng phụ tải định tuyến (RL) của giao thức SAODV cao hơn AODV trong cả hai
mơi trường bình thường và bị tấn cơng lỗ đen. Kết thúc 1000 giây mô phỏng trong môi trường mạng bình thường thì
RL của AODV là 16.98 gói và SAODV là 17.17 gói, trong mơi trường bị tấn cơng lỗ đen thì RL của AODV là 20.73
gói và SAODV 22.33 gói. Kết quả cho thấy rằng, trong mơi trường mạng bình thường, để định tuyến thành cơng một
gói dữ liệu đến đích thì giao thức AODV phải xử lý trung bình 20.73 gói, thấp hơn SAODV 0.19 gói. Trong mơi
trường bị tấn cơng lỗ đen thì RL của AODV thấp hơn 1.6 gói.
Hình 7. Biểu đồ phụ tải định tuyến
Biểu đồ Hình 8 cho thấy rằng trong mơi trường mạng bình thường thì thời gian trễ trung bình (EtE) để định
tuyến thành cơng một gói dữ liệu đến đích của AODV là 0.927 giây và SAODV là 1.81 giây. Trong mơi trường bị tấn
cơng lỗ đen thì EtE của SAODV là 1.931 giây và AODV là 0.891 giây. Điều này cho thấy rằng cơ chế an ninh của giao
thức SAODV đã ảnh hưởng đến EtE của giao thức gốc.
Hình 8. Biểu đồ thời gian trễ trung bình
420
PHÂN TÍCH HIỆU QUẢ AN NINH CỦA HAI GIAO THỨC SAODV VÀ ARAN TRÊN MẠNG MANET
VI. KẾT LUẬN
Bài báo đã phân tích chi tiết hai giao thức định tuyến an ninh dựa trên chữ ký số là SAODV và ARAN. Cơ chế
an ninh của hai giao thức chỉ bảo vệ các trường khơng thay đổi của gói điều khiển tuyến, SAODV bảo vệ HC bằng
chuỗi băm, ARAN loại bỏ HC nên khơng thể xác định được chi phí đến đích và nút trung gian không thể trả lời tuyến.
Một số trường thay đổi của gói điều khiển tuyến đã khơng được bảo vệ, đây là điểm yếu có thể bị tin tặc lợi dụng để
thực hiện hành vi tấn công mạng. Giải pháp tấn cơng lỗ đen sử dụng khóa giả mạo đã gây hại đến PDR của giao thức
SAODV, nhưng không gây hại được giao thức ARAN. Nguyên nhân là ARAN có thể phát hiện nút độc hại sử dụng
khóa giả mạo bằng cách so sánh với khóa cơng khai trong chứng chỉ số. Kết quả mô phỏng đã cho thấy rằng PDR của
AODV giảm 35.5% khi bị tấn công lỗ đen và SAODV giảm 28.58% khi bị tấn công lỗ đen mở rộng.
VII. TÀI LIỆU THAM KHẢO
[1]
Hoebeke J., Moerman I., Dhoedt B., Demeester P.. “An Overview of Mobile Ad Hoc Networks: Applications and
Challenges”. Journal of the Communications Network, Vol. 3(3), pp. 60-66, 2004.
[2]
Perkins C. E. and Royer E. M.. “Ad-hoc On-Demand Distance Vector Routing”. Proceedings of the Second IEEE
Workshop on Mobile Computer Systems and Applications, pp. 90-100, 1999.
[3]
Johnson D. B., Maltz D. A.. “Dynamic Source Routing in Ad Hoc Wireless Networks”. The Kluwer International
Series in Engineering and Computer Scienc, Vol. 353, pp. 153-181,1996.
[4]
Nagrath P., Aneja S., Gupta N., Madria S.. “Protocols for mitigating Blackhole attacks in delay tolerant
networks”. Wireless Networks, Vol. 22(1), pp. 235-246, 2016.
[5]
Tomar S. P. S., Chaurasia B. K.. “Detection and Isolation of Sinkhole Attack from AODV Routing Protocol in
MANET”. International Conference on Computational Intelligence and Communication Networks, pp. 799-802,
2014.
[6]
Gurung S., Chauhan S.. “A novel approach for mitigating gray hole attack in MANET”. Wireless Networks, Vol.
24(2), pp. 565 - 579, 2018.
[7]
Tu T. Vo, Ngoc T. Luong, Doan Hoang. “MLAMAN: a novel multi-level authentication model and protocol for
preventing wormhole attack in mobile ad hoc network”. Wireless Networks, pp. 1-18, 2018.
/>
[8]
Vo Thanh Tu, Luong Thai Ngoc, “SMA2AODV: Routing protocol reduces the harm of Flooding attacks in
Mobile Ad hoc Network”, Journal of Communications, Vol. 12(6), pp. 371-378, 2017.
[9]
Luong Thai Ngoc, Vo Thanh Tu. “Whirlwind: A new method to attack Routing Protocol in Mobile Ad hoc
Network”. International Journal of Network Security, Vol. 19(5), pp. 832-838, 2017.
[10] Weerasinghe H., Fu H.. “Preventing Cooperative Black Hole Attacks in Mobile Ad Hoc Networks: Simulation
Implementation and Evaluation”. Future Generation Communication and Networking (FGCN 2007), Vol. 2, pp.
362-367, 2007.
[11] Shahabi S., Ghazvini M., Bakhtiarian M.. “A modified algorithm to improve security and performance of AODV
protocol against black hole attack”. Wireless Networks, Vol. 22(5), pp. 1505-1511, 2016.
[12] Thillaikarasi R., Bhanu S. M. S.. “An Efficient DSR Protocol to Detect Blackhole Attacks in WMN Using Cross
Layer Approach”. Wireless Personal Communications, Vol. 95(3), pp. 3477-3492, 2017.
[13] Zapata M. G., Asokan N.. “Securing ad hoc routing protocols”. In Proceedings of the 1st ACM workshop on
Wireless security (WiSE ’02). ACM, New York, NY, USA, 1-10, 2002.
[14] Sanzgiri K., Dahill B., Levine B. N., Shields C., Royer E. M. B.. “A secure routing protocol for Ad hoc
Networks”. 10th IEEE International Conference on Network Protocols, pp. 78-87, 2002.
[15] Zapata M. G.. “Secure Ad hoc On-Demand Distance Vector (SAODV) Routing”. Mobile Ad Hoc Networking
Working Group, 2004.
[16] Yan Z., Honglin H., Masayuki F.. Resource, Mobility, and Security Management in Wireless Networks and
Mobile Communications. CRC Press, 618 pages, 2006.
[17] Mulert J. V., Welch I., Seah W. K. G.. “Security threats and solutions in MANETs: A case study using AODV
and SAODV”. Journal of Network and Computer Applications, Vol. 35(4), pp. 1249-1259, 2012.
[18] Celia L., Zhuang W., Cungang Y.. “SEAODV: A Security Enhanced AODV Routing Protocol for Wireless Mesh
Networks”. Transactions on Computational Science XI, Vol. 6480, pp. 1-16, 2010.
[19] Khabbazian M., Mercier H., Bhargava V. K.. “Wormhole Attack in Wireless Ad Hoc Networks: Analysis and
Countermeasure”. IEEE Globecom 2006, Vol. 8(2), pp. 736 - 745, 2006.
[20] DARPA, The Network Simulator NS2. Available: .
Lương Thái Ngọc, Lê Vũ, Võ Thanh Tú
421
[21] Bettstetter C., Resta G., Santi P.. “The node distribution of the random waypoint mobility model for wireless ad
hoc networks”. IEEE Transactions on Mobile Computing, Vol. 2(3), pp. 257-269, 2003.
[22] National Institute of Standards and Technology. “Secure hash standard”. FIPS PUB 180-1, 1995. Available:
.
EVALUATION PERFORMANCE OF SAODV AND ARAN ROUTING PROTOCOLS
IN MOBILE AD HOC NETWORK
Luong Thai Ngoc, Le Vu, Vo Thanh Tu
ABSTRACT: One of the challenges of the MANET network is the routing security. The cause is that the original routing protocols
in MANET are not designed for security purposes, typically AODV. For enhanced security, there are some improved protocols from
AODV using digital signatures including SAODV and ARAN. In this paper, we analyze their security mechanisms detaily and shows
the security vulnerabilities. We describe an extended black hole (eBH) attack type that it can harm to the SAODV protocol. The
simulation results show that the packet delivery ratio of the SAODV protocol is reduced by eBH attack type.
Keywords: AODV, ARAN, MANET, SAODV, routing protocol, security.