Quá trình gia nhập nhóm trong giao thức TGDH

Một phần của tài liệu Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm (Trang 47)

Giả sử có thành viên Mn+1 gia nhập vào nhóm có n thành viên {M1,…,Mn}. Thành viên mới sẽ gửi broadcasts cho toàn mạng thông điệp gia nhập nhóm cùng khóa bkeys của nó. Sau khi nhận đƣợc thông điệp của thành viên mới, các thành viên cũ sẽ xác định điểm sẽ chèn nút thành viên mới trên cây TGDH. Nếu cây hoàn toàn cân bằng tức n=2h

(với h là chiều cao của cây) thì thành viên mới sẽ gia nhập vào nút gốc, ngƣợc lại nút mới sẽ đƣợc chèn vào lá ngoài cùng bên phải. Lý do ta chọn nhƣ vậy để giữ cho cây TGDH cân bằng nhất có thể.

Khi cây cập nhật nút mới, giống nhƣ giao thức STR ta chọn nút “bảo đảm” sẽ là lá ngoài cùng bên phải của cây con tại nút mới chèn vào. Một nút nội bộ mới sẽ đƣợc tạo ra. Thành viên mới gia nhập sẽ trở thành cây con phải và nút tại điểm chèn sẽ trở thành cây con trái của nút nội bộ mới.

Hình 2.18: Quá trình gia nhập nhóm trong giao thức TGDH

Hình 2.19: Cây TGDH sau khi thành viên mới gia nhập

Sau khi thành viên mới gia nhập quá trình tính toán lại khóa sẽ theo thuật toán sau: [+] Thành viên mới sẽ gửi broadcasts cho toàn mạng thông điệp gia nhập nhóm cùng khóa bkeys của nó

 Cập nhật lại cây

 Loại bỏ tất cả khóa của các nút trên đƣờng dẫn từ nút “bảo đảm” đến nút gốc (0,0)

Đối với nút “bảo đảm” Ms :

 Chọn lại khóa và tính bkeys của mình

 Tính toán toàn bộ khóa và bkeys của các nút trên đƣờng dẫn từ nút “bảo đảm” đến nút gốc (0,0)

 Gửi broadcast đến toàn bộ các thành viên trong nhóm toàn bộ giá trị bkeys của các nút trên đƣờng dẫn từ nút “bảo đảm” và nút mới đến nút gốc (0,0)

[+] Tất cả các thành viên sau khi nhận đƣợc giá trị bkeys ở bƣớc trên sẽ tính lại toàn bộ khóa.

Bảng 2.16: Bảng tính độ phức tạp tính toán quá trình gia nhập nhóm của TGDH Ví dụ: Trong hình dƣới đây nút M4 gia nhập vào nhóm, M3 sẽ đƣợc chọn làm nút “bảo đảm”.

Hình 2.20: Quá trình gia nhập nhóm trong giao thức TGDH

M3 sẽ tính và gửi broadcasts cho các thành viên trong nhóm giá trị bk(2,2), bk(1,1) và bk(1,0). M1, M2 và M4 sau khi nhận đƣợc các giá trị bkeys sẽ tính toán ra

khóa chung cả nhóm. Lúc này bkeys mà M1 và M2 sẽ lƣu trữ là bk(2,0), bk(2,1), bk(1,1), còn bkeys mà M3 và M4 sẽ lƣu trữ là bk(2,2), bk(2,3), bk(1,0).

Một phần của tài liệu Xây dựng giải pháp an ninh trong mạng AD HOC đa trạm (Trang 47)