Thay khoá khi có thành viên mới tham gia trong OFT

Một phần của tài liệu Nghiên cứu vấn đề quản lý và phân phối khóa nhóm trong việc đảm bảo an toàn dữ liệu Multicast (Trang 56)

Khi có một thành viên tham gia, GCKS tạo ra một vị trí mới trong cây bằng cách phân đối một nút. Lưu ý rằng khóa OFT tính toán yêu cầu của mỗi nút trong để có được 2 nút con. Do đó nó có thể chon phân chia tốt nhất cho một nút lá. Như vậy sẽ tạo ra một vị trí trống duy nhất cho thành viên mới. Nút trong và nút gốc thực hiện phân chia không được hiệu quả lắm. Để sửa đổi cân bằng và tạo ra một cây khóa hiệu quả, điều mong muốn là GCKS phân chia nút lá gần nhất tính tù gốc. Sau khi thành viên mới dễ dàng được sắp xếp trong cây, GCKS chia sẻ khóa mật với thành viên mới. GCKS sẽ thay đổi

khóa nút lá của anh em liền kề với thành viên mới và tính toán tất cả các khóa nút trong mới. Nó sẽ gửi các khóa ―blinded ‖ thành viên mới mà được quyền cho phép, sau khi đã bảo mật chúng với khóa mật duy nhất của mỗi thành viên. Các thành viên có sẵn như vậy cần cập nhập khóa ―blinded ‖ thay đổi, khi thêm thành viên tới cây khóa. Có thể nói rằng tất cả các khóa ―blinded ‖ trong đường dẫn từ vị trí thành viên mới đến gốc thay đổi. GCKS mã hoá mỗi khóa này với khóa ―unblinded ‖ của anh em liền kề tương ứng và gửi tới nhóm.

Chúng ta minh họa tham gia thay khóa trong hình 3.11. Trong hình này E tham gia và chúng ta có thể phân đôi nút lá tương ứng tới D để tạo ra nút lá trống cho E. GCKS sinh ra Ke và thay đổi khóa Kold

d thành Kd. Lưu ý rằng C hiểu K‘d sẽ vi phạm luật phân phối khóa OFT. Như vậy, GCKS thay đổi Kd và tính toán khóa mới. Khi đó nó gửi:

+ Khóa nút lá mới ―unblinded‖, Kd và K‘e được mã hóa với khóa Koldd cho D

+ K‘ab, K‘c và K‘d được mã hóa với Ke cho E

+ Khóa mới ―blinded ‖ K‘c.e và K‘de được mã hóa với khóa Kab va Kc một cách tương ứng

Tất cả các thành viên khi đó tính toán các KEK khác bao gồm khóa nhóm mới

Hình 3.11: Tham gia thay khóa trong OFT.

Độ phức tạp thuật toán khi thêm mới thành viên trong OFT

Xem xét một thành viên tham gia cây nhị phân cân bằng OFT với n thành viên (sau khi tham gia). GCKS cần gửi log2n khóa ―blinded‖ thành viên mới. Điều này tương ứng với số thành viên không thuộc nút lá từ thành viên tới nút gốc. Dẫn tới

GCKS cần gửi log2(n-1) khóa nút trong từ thành viên mới đến gốc sẽ thay đổi. Như vậy về tổng thể GCKS cần tính toán log2(n+1) khóa ―blinded‖ mới khi một thành viên tham gia. Số lượng này tương ứng với log2(n+1) phép tính toán hàm một chiều (one-way function).

Một phần của tài liệu Nghiên cứu vấn đề quản lý và phân phối khóa nhóm trong việc đảm bảo an toàn dữ liệu Multicast (Trang 56)