Khi chạy chƣơng trình mô phỏng trƣớc tiên ta khởi tạo môi trƣờng cho robot hoạt động, và vị trí 6 con robot nhƣ hình 3.5. Các giá trị khởi tạo ban đầu của các robot nhƣ sau:
Cổng giao tiếp Tọa độ ban đầu Khóa chọn Khóa công khai Robot 0 8000 [6.79, 8.85] 18978 127381354419147 Robot 1 8001 [-7.74, 8.09] 22111 124378812846446 Robot 2 8002 [-3.36, 6.00] 5139 3429832805892 Robot 3 8003 [-0.19, 8.51] 16250 78828927581322 Robot 4 8004 [3.01, 10.73] 3120 102721701704753 Robot 5 8005 [-0.05, -10.97] 21641 9311422108781 Bảng 3.2: Bảng các giá trị khởi tạo ban đầu của các robot mô phỏng cliques-I Ta sẽ lần lƣợt chạy các kịch bản mô phỏng nhƣ đã nói ở phần 3.1
[+] Kịch bản 1: Mô phỏng quá trình khởi tạo nhóm, ta mặc định 5 nút ban đầu trong căn phòng đã tạo thành một nhóm.
Hình 3.6: Mô phỏng quá trình khởi tạo nhóm của cliques I Group 1 contain 0:1:2:3:4:
Robot listen with port : 8001 Robot 1 listen: true
Key robot 0 store : 127381354419147
Key robot 0 send to robot 1 : 127381354419147 Key robot 1 received : 127381354419147
Robot listen with port : 8002 Robot 2 listen: true
Key robot 1 store : 127381354419147,1
Key robot 1 send to robot 2 : 97001860024613, 124378812846446, 127381354419147
Key robot 2 received : 97001860024613, 124378812846446, 127381354419147 ---
Robot listen with port : 8003 Robot 3 listen: true
Key robot 2 store : 97001860024613, 124378812846446, 127381354419147 Key robot 2 send to robot 3 : 114742596317564, 158999241865982,
70698566571636, 97001860024613.
Key robot 3 received : 114742596317564, 158999241865982, 70698566571636, 97001860024613
--- Robot listen with port : 8004 Robot 4 listen: true
Key robot 3 store : 114742596317564, 158999241865982, 70698566571636, 97001860024613
Key robot 3 send to robot 4 : 96502880949489, 157009743138350, 23205218247592, 48396995222308, 114742596317564.
Key robot 4 received : 96502880949489, 157009743138350, 23205218247592, 48396995222308, 114742596317564
--- Key robot 4 store :
96502880949489,157009743138350,23205218247592,48396995222308,114742 596317564
Key robot 4 compute : 125231949408807, 78312682324881, 148267107982549, 161678703539942, 18831737254544, 96502880949489
Robot listen with port : 8000
Robot 4 send to robot 0 key 78312682324881 Key robot 0 received : 78312682324881 Group key robot 0 : 125231949408807
---
Robot 4 send to robot 1 key 148267107982549 Key robot 1 received : 148267107982549 Group key robot 1 : 125231949408807
---
Robot 4 send to robot 2 key 161678703539942 Key robot 2 received : 161678703539942
Group key robot 2 : 125231949408807
---
Robot 4 send to robot 3 key 18831737254544 Key robot 3 received : 18831737254544 Group key robot 3 : 125231949408807
---
Time init Key of Group 1 : [ 21,6275 ] milliseconds Khóa cuối cùng nhóm : 125231949408807
Hình 3.7: Thông tin các robot khi hình thành nhóm ban đầu
Hình 3.8: Sau khi hình thành nhóm ban đầu
[+] Kịch bản 2: Mô phỏng quá trình gia nhập nhóm, một robot sẽ gia nhập vào nhóm 5 robot ban đầu và hình thành nên nhóm mới gồm 6 robot.
Hình 3.9: Mô phỏng quá trình gia nhập nhóm của cliques I Command: join
Count member join 1 is robot 5
Count memeber old group 5 Contain 0:1:2:3:4 Count memeber new group 6 Contain 0:1:2:3:4:5 ---
Robot listen with port : 8005
Key robot 4 store : 96502880949489, 157009743138350, 23205218247592, 48396995222308, 114742596317564
Key robot 4 send : 159137322641226, 76329858954097, 25930285889760, 84706578239164, 21529229872350, 96502880949489
Key robot 5 received : 159137322641226, 76329858954097, 25930285889760, 84706578239164, 21529229872350, 96502880949489
Robot 5 listen: true ---
Key robot 5 store : 159137322641226, 76329858954097, 25930285889760, 84706578239164, 21529229872350, 96502880949489
Key robot 5 compute : 98802232696185, 159538956264937, 42714343275570, 139692382988661, 50457825884310, 122700729830772, 159137322641226 Robot 5 send to robot 0 key 159538956264937
Key robot 0 received : 159538956264937 Group key robot 0 : 98802232696185
---
Robot 5 send to robot 1 key 42714343275570 Key robot 1 received : 42714343275570 Group key robot 1 : 98802232696185
---
Robot 5 send to robot 2 key 139692382988661 Key robot 2 received : 139692382988661 Group key robot 2 : 98802232696185
---
Robot 5 send to robot 3 key 50457825884310 Key robot 3 received : 50457825884310 Group key robot 3 : 98802232696185
---
Robot 5 send to robot 4 key 122700729830772 Key robot 4 received : 122700729830772 Group key robot 4 : 98802232696185
---
Time join Key : [ 18,26 ] milliseconds Khóa cuối cùng nhóm : 98802232696185
Hình 3.10: Quá trình gia nhập nhóm của cliques I
[+] Kịch bản 3: Mô phỏng quá trình rời nhóm, một robot trong nhóm 6 robot vừa hình thành sẽ rời khỏi nhóm.
Hình 3.11: Mô phỏng quá trình rời nhóm của cliques I Command: leave
Count member leave 1 is robot 1
Count member old group 6 Contain 0:1:2:3:4:5 Count member new group 5 Contain 0:2:3:4:5
Key robot 5 store : 159137322641226, 76329858954097, 25930285889760, 84706578239164, 21529229872350, 96502880949489
Key robot 5 compute againt : 145340969909085, 105311201572639,
126143943184999, 21301257019381, 139505233886503, 159137322641226 Robot 5 send to robot 0 key 105311201572639
Key robot 0 received : 105311201572639 Group key robot 0 : 145340969909085
---
Robot 5 send to robot 2 key 126143943184999 Key robot 2 received : 126143943184999 Group key robot 2 : 145340969909085
---
Robot 5 send to robot 3 key 21301257019381 Key robot 3 received : 21301257019381 Group key robot 3 : 145340969909085
---
Robot 5 send to robot 4 key 139505233886503 Key robot 4 received : 139505233886503 Group key robot 4 : 145340969909085
---
Khóa cuối cùng nhóm : 145340969909085 3.2.3. Mô phỏng giao thức Cliques-II
Mô phỏng quá trình khởi tạo nhóm, ta mặc định 4 nút ban đầu trong căn phòng đã tạo thành một nhóm.
Hình 3.12: Mô phỏng quá trình khởi tạo nhóm của cliques II
Cổng giao tiếp Tọa độ ban đầu Khóa chọn Khóa công khai
Robot 0 8000 [6.79, 8.85] 6683 86252321194572 Robot 1 8001 [-7.74, 8.09] 4739 19633096178323 Robot 2 8002 [-3.36, 6.00] 33336 116019365796988 Robot 3 8003 [-0.19, 8.51] 24824 53455567095257 Robot 4 8004 [3.01, 10.73] 27975 137582237379799 Robot 5 8005 [-0.05, -10.97] 28698 928822970511
Bảng 3.3: Bảng các giá trị khởi tạo ban đầu của các robot mô phỏng cliques-II Group contain 1:2:3:4:
Robot listen with port : 8002 Robot 2 listen: true
Key robot 1 send to robot 2 : 19633096178323 Key robot 2 received : 19633096178323 ---
Robot listen with port : 8003 Robot 3 listen: true
Key robot 2 store : 19633096178323
Key robot 2 send to robot 3 : 165470500369745 Key robot 3 received : 165470500369745
--- Robot listen with port : 8004 Robot 4 listen: true
Key robot 3 store : 165470500369745
Key robot 3 send to robot 4 : 150332302970184 Key robot 4 received : 150332302970184
---
Key robot 4 store : 150332302970184 Key robot 4 compute : 73956755137094
=============Robot send broadcast to member 0 -> n-2========= Robot listen with port : 8001
Key robot 3 send to robot 1 : 150332302970184 Key robot 1 received : 150332302970184
Key robot 1 send to robot 4 : 74124019987819 Key robot 4 received : 74124019987819 ---
Key robot 3 send to robot 2 : 150332302970184 Key robot 2 received : 150332302970184
Key robot 2 send to robot 4 : 4637410331617 Key robot 4 received : 4637410331617 ---
Key robot 3 send to robot 4 : 165470500369745 Key robot 4 received : 165470500369745
150332302970184,74124019987819,4637410331617,165470500369745,
73956755137094,75551328773008,27970262221908,76813884725643,15033230297 0184,
Robot 4 send to robot 1 key 75551328773008 Key robot 1 received : 75551328773008 Group key robot 1 : 73956755137094
---
Robot 4 send to robot 2 key 27970262221908 Key robot 2 received : 27970262221908 Group key robot 2 : 73956755137094
---
Robot 4 send to robot 3 key 76813884725643 Key robot 3 received : 76813884725643 Group key robot 3 : 73956755137094
---
Time init Key CLIQUES.II of Group 2 : [ 24,2039 ] milliseconds Khóa cuối cùng nhóm : 73956755137094
3.2.4. So sánh thời gian khởi tạo nhóm khóa của cliques-I và cliques-II
Mô phỏng quá trình khởi tạo nhóm của cả hai giao thức cliques-I và cliques-II với số nút lần lƣợt là 2,4,6,8,10 để rút ra đƣợc thời gian hội tụ khóa của cả hai giao thức.
Do trong giao thức cliques-I có số tin gửi đi trên đƣờng truyền it hơn so với cliques-II, nhƣng kích thƣớc gói tin lại lớn hơn Cliques-II, vì vậy đối với những máy trạm có khả năng tính toán cao thì giao thức cliques-I sẽ có thời gian hội tụ khóa nhanh hơn. Ta có thể thấy rõ qua bảng so sánh 3.4.
2 nút 4 nút 6 nút 8 nút 10 nút
Cliques-I 9,0309 ms 18,165 ms 23,36199 ms 31,61199 ms 43,94499 ms
Cliques-II 8,0443 ms 19,1599 ms 30,2769 ms 42.3969 ms 51,513 ms Bảng 3.4: Bảng thời gian hội tụ khóa trong khởi tạo khóa ban đầu của cliques I-II
0 10 20 30 40 50 60 Cliques-I Cliques-II Cliques-I 9.0309 18.165 23.36199 31.61199 43.94499 Cliques-II 8.0443 19.1599 30.2769 42.3969 51.513 2 nút 4 nút 6 nút 8 nút 10 nút
Hình 3.13: Biểu đồ thời gian hội tụ khóa trong khởi tạo khóa ban đầu của cliques I-II
2 nút 4 nút 6 nút 8 nút 10 nút
Cliques-I 32 bytes 168 bytes 369 bytes 618 bytes 946 bytes
Cliques-II 42 bytes 156 bytes 274 bytes 387 bytes 516 bytes
Bảng 3.5: Tổng kích thƣớc gói tin gửi đi trong khởi tạo khóa ban đầu của cliques I-II
0 200 400 600 800 1000 by te s Cliques-I Cliques-II Cliques-I 32 168 369 618 946 Cliques-II 42 156 274 387 516 2 nút 4 nút 6 nút 8 nút 10 nút
KẾT LUẬN Kết quả đạt được
Mục tiêu của luận văn đã đƣa ra:
- Tìm hiểu khái niệm, đặc điểm của mạng ad hoc và các vấn đề an ninh trong mạng ad-hoc.
- Tìm hiểu các giao thức thỏa thuận khóa trong mạng ad hoc và đánh giá các giao thức.
- Mô phỏng đƣợc các giao thức thỏa thuận khóa trong mạng ad hoc. Kết quả luận văn đạt đƣợc:
- Tìm hiểu mạng ad hoc và các vấn đề an ninh trong mạng ad hoc.
Các khái niệm và đặc điểm của mạng ad hoc
Các thách thức và mục tiêu an toàn trong mạng ad hoc - Tìm hiểu các giao thức thỏa thuận khóa trong mạng ad hoc
Tìm hiểu bộ giao thức Asokan-Ginzboorg cho mạng ad hoc tĩnh.
Mở rộng của giao thức Diffie-Hellman với giao thức Cliques I-II
Quản lý khóa trong mạng ad hoc dựa trên cây khóa với hai giao thức STR và TGDH
So sánh, đánh giá các giao thức trên phƣơng diện chi phí truyền thông và chi phí tính toán
- Xây dựng chƣơng trình mô phỏng giao thức thỏa thuận khóa Cliques I-II và chạy thử các kịch bản mô phỏng để chứng minh tính đúng đắn của thuật toán Việc áp dụng các giao thức thỏa thuận khóa giúp cho khả năng bảo mật trong mạng ad-hoc đƣợc nâng cao hơn do các khóa luôn đƣợc thay đổi và làm mới mỗi khi có sự thay đổi về thành viên trong nhóm, đồng thời đảm bảo tính bí mật về khóa giữa các thành viên trong nhóm do khóa chính của nhóm đều đƣợc hình thành do sự đóng góp khóa của tất cả các thành viên.
Hiện nay giải pháp an ninh trong mạng ad hoc dựa trên giao thức thỏa thuận khóa đã đƣợc sử dụng nhiều trong các ứng dụng nhóm khác nhau bao gồm cả điện thoại và video hội nghị, tƣ vấn từ xa, hệ thống chẩn đoán cho y tế… và hứa hẹn trong tƣơng lai sẽ còn phát triển hơn nữa do đặc tính tiện dụng và bảo mật của nó.
Hướng phát triển
Hƣớng phát triển tiếp theo của luận văn sẽ tập trung vào nghiên cứu các giải pháp bảo đảm an ninh khác nhƣ bảo mật tầng liên kết, bảo mật routing trong mạng ad hoc để có thế xây dựng một giải pháp toàn diện đảm bảo an toàn truyền thông trong mạng ad hoc.
TÀI LIỆU THAM KHẢO Tiếng Việt
[1] TS. Nguyễn Đại Thọ (2008), Giáo trình: An ninh mạng, ĐH Công nghệ,
ĐHQG HN.
Tiếng Anh
[2] Hong Tang, Liehuang Zhu, Zijian Zhang, “Efficient ID-Based Two Round
Authenticated Group Key Agreement Protocol”, In Proceeding of 2008
InternationalConference on Wireless Communications, Networking and Mobile Computing(WiCOM08), pp.1-4, 2008.
[3] Klas Fokin, “Key management in Ad hoc networks”, Linköpings University, Master Dissertation, 2002.
[4] L. Ji and M. S. Corson, “Differential Destination Multicast (DDM)”, Specification. Internet draft (work in progress), draft-ietf-manet-ddm-00.txt, July 2000. [5] L. Zhou and Z.J. Haas, “Securing Ad hoc Networks”, IEEE Networks, 13(6): 24-30, Nov/Dec 1999
[6] L. Zhou and Z. Haas, “Securing ad hoc networks”, IEEE Network Magazine, vol. 13, no. 6, pp. 24-30, Nov./Dec. 1999.
[7] M. Steiner, “Secure Group Key Agreement. PhD thesis”,
Naturwissenschaftlich-Technischen Fakultat I der Universitat des Saarlandes, December 2001.
[8] N. Asokan and P. Ginzboorg, ”Key Agreement in Ad-hoc Networks”, Communication Systems Labo-ratory, Nokia Research Center, February 2001.
[9] W. Diffie and M. E. Hellman, “New Directions in Cryptography”, IEEE Transactions on Information Theory, IT-22(6):644–654, November 1976.
[10] Wang Wei, “Group key management: theory and key technologies”, XiDian University, PhD Dissertation, 2008.
[11] Yongdae Kim, Adrian Perrig, Gene Tsudik, “Tree-based group key agreement”, ACM Transactions on Information and System Security, ACM, vol. 7, no. 1, pp.60-96, 2004.
[12] Zhou Fucai, Xu Jian, Xu Haifeng, “Research of STR multicast key management
protocol based on bilinear pairing in ad hoc network”, Journal on Communications, Editorial Board of Journal on Communications, vol. 29, no. 10, pp.117-125, 2008.