Tự xác thực dữ liệu với mã Erasure

Một phần của tài liệu LUẬN VĂN: BẢO MẬT TÍNH RIÊNG TƯ CỦA DỮ LIỆU TRONG MẠNG NGANG HÀNG P2P pdf (Trang 34 - 35)

Weatherspoon [23] tích hợp các khái niệm về một cây băm Merkle và mã erasure

để thiết kế một chương trình tự thẩm tra cho dữ liệu lưu trữ trong một môi trường P2P. Dữ liệu có thể là một tài liệu, một đối tượng hoặc một khối. Chúng ta sẽ sử dụng đối tượng dữ liệu ở đây. Với mã erasure [24], một đối tượng dữ liệu có thể được chia thành m

mảnh nhỏ và sau đó mã hóa lại vào n mảnh nhỏ (n > m) sao cho nó có thể tái tạo lại đối tượng dữ liệu gốc từ sự kết hợp bất kỳ m mảnh vỡ nào. Trong môi trường P2P, mỗi mảnh được lưu giữ trong một nút, nơi đó cũng có thể là một nút độc hại. Trong trường hợp đó, các nút độc hại có thể sửa đổi các mảnh để làm hỏng nó (một bộ phận bị hỏng được gọi là

erasure). Rõ ràng, nếu hệ thống không thể nhận ra các mảnh vỡ bị hư hỏng, quá trình xây dựng tính toán trở nên phức tạp, nghĩa là chúng ta cần thử tổ hợp của  n

m .

Một giải pháp cho vấn đề này là xây dựng một cây băm Merkle cho các đối tượng dữ liệu và các phân mảnh của nó, tức là các đối tượng dữ liệu và các phân mảnh của nó tạo thành lá của cây. Hình 2.4(a) cho thấy một ví dụ về một cây băm Merkle cho đối tượng dữ liệu với 4 phân mảnh. Ở đây, mảnh Fi có giá trị băm Hi và đối tượng dữ liệu có giá trị băm Hd. GUID là định danh duy nhất mà có thể được dùng để nhận biết và xác nhận đối tượng. Mỗi phân mảnh được thực hiện tự kiểm chứng bằng cách lưu trữ trong mỗi mảnh tất cả các thông tin cần thiết để xác minh giá trị băm của các phân mảnh, tức là giá trị băm của các nút sibling trong đường đi từ mảnh lá đến gốc. Hình 2.4(b) cho thấy tự

kiểm chứng nội dung của phân mảnh cho ví dụ trong hình 2.4(a). Khi một nút nhận được một phân mảnh để tái tạo đối tượng, nút đó xác minh phân mảnh đó bằng cách đầu tiên tính giá trị băm của phân mảnh đó, sau đó lặp lại quá trình băm kết quả tính toán ở bước trước với giá trị băm tương ứng trong cây Merkle cho đến khi thu được giá trị băm của nút gốc. Nếu giá trị băm cuối cùng phù hợp với GUID, phân mảnh đó là phân mảnh hợp lệ và có thể sử dụng để tái tạo đối tượng; nếu không, néo là một phiên bản đã bị hỏng và cần phải tìm kiếm một phân mảnh khác.

Hình 2.4: Chương trình tự xác minh

Một phần của tài liệu LUẬN VĂN: BẢO MẬT TÍNH RIÊNG TƯ CỦA DỮ LIỆU TRONG MẠNG NGANG HÀNG P2P pdf (Trang 34 - 35)