Mô hình mô phỏng:
Nút gửi muốn gửi bản tin đến nút nhận trong mạng cảm biến không dây sẽ sử dụng Public Key dùng để mã hóa bản tin kết hợp với thuật toán mã hóa chuyển bản tin thành dạng bản tin đã được mã hóa. Để nhận và đọc được bản tin, nút nhận cần dùng thuật toán và Private Key tương ứng để giải mã bản tin về bản tin ban đầu.
Hình 3. 6 Mô hình mô phỏng truyền tin giữa 2 nút mạng IoT
Kịch bản mô phỏng
Khi hai node muốn truyền dữ liệu với nhau bằng phương pháp trao đổi khóa động, trước tiên phải thực hiện việc mã hóa. Cụ thể như sau:
Bước 1: Trao đổi khóa công khai cho nhau. Vì đây là khóa công khai nên
Bước 2: Bản tin của 2 node sẽ được mã hóa bằng thuật toán chung.
Bước 3: Node A gửi bản tin đã mã hóa của mình cho node B và ngược lại,
node B cũng gửi bản tin đã mã hóa của mình cho node A.
Bước 4: Node A sẽ dùng Private Key của mình để giải mã bản tin mà node B
vừa gửi. Tương tự như vậy, node B cũng sẽ dùng Private Key của mình để giải mã bản tin node A gửi sang.
Bước 5: Bản tin thu được sau khi dùng khóa giải mã của 2 node là như nhau.
Quá trình truyền tin bắt đầu được thực hiện mà không sợ việc bị nghe lén hoặc đánh cắp thông tin.
Mô phỏng trên ứng dụng Cooja:
Như đã phân tích ở trên, ta sẽ sử dụng phương pháp trao đổi khóa động RPL bao gồm thuật toán mã hóa công khai RSA, thuật toán bao gồm 2 khóa là public key và private key được dùng để mô tả quá trình trao đổi khóa động, mã hóa, giải mã giữa 2 node.
Mô phỏng nhiều lần với số lượng node lần lượt là 6 node, 8 node, 16 node, 32 node.
Đối với mỗi số lượng node, ta chạy 30 lần mô phỏng với vị trí các node trong mạng khác nhau.
Đối với mỗi lần chạy, kết quả sẽ được lấy ngay sau khi các node được kết nối kênh truyền với nhau.
Hình 3. 13 Mô phỏng với 32 node
Hình 3. 15 Quá trình trao đổi khóa giữa các node