Hệ thống P2PRep

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 58 - 61)

Một trong những vấn đề lớn nhất trong hệ thống chia sẻ file P2P là các nút xấu có thể lợi dụng hệ thống để phát tán nội dung độc hại như spyware hoặc virus. P2PRep là một giao thức dựa vào uy tín sử dụng để xác định các nút xấu trong các hệ thống như vậy. Giao thức này chính là một phần mở rộng của giao thức Gnutella để quản lý sự tin cậy. Ý tưởng cở bản của P2PRep đó là: một người dùng cần tìm kiếm một tài nguyên thì người đó cần phải kiểm tra sự uy tín của tất cả các người dùng có thể cung cấp tài nguyên như người đó yêu cầu trước khi tải tài nguyên về. Uy tín của một người dùng hoặc là tốt hoặc là xấu, điều đó có thể được xác minh bằng cách hỏi các người dùng khác, những người

dùng đã thực hiện giao tiếp với người dùng đó từ trước. Có hai phiên bản của P2PRep: bỏ phiếu cơ bản và bỏ phiếu nâng cao. Sự khác nhau duy nhất giữa hai phiên bản này là giao thức bỏ phiếu cở bản xử lý tất cả các ý kiến từ các người dùng khác về uy tín của một người dùng như nhau trong khi giao thức bỏ phiếu nâng cao không xét độ tin cậy dựa vào ý kiến các người dùng. Lưu ý rằng, để đảm bảo tính chính xác khi trao đổi thông điệp, P2PRep sử dụng cặp khóa bí mật/công khai để giải mã/mã hóa thông điệp.

3.4.1.1. Giao thức bỏ phiếu cơ bản

Giao thức bỏ phiếu cơ bản được miêu tả trong hình 3.4. Bao gồm 5 giai đoạn: Tìm kiếm tài nguyên, lựa chọn tài nguyên và bỏ phiếu đánh giá, bỏ phiếu đánh giá, kiểm tra người dùng tốt nhất, và cuối cùng là giai đoạn tải tài nguyên về.

Hình 3.4: Giao thức bỏ phiếu cơ bản

- Tìm kiếm tài nguyên: giai đoạn này được xử lý giống như cách xử lý tìm kiếm trong hệ thống Gnutella. Ban đầu người dùng tìm kiếm nguồn tài nguyên sẽ gửi một yêu

cầu truy vấn đến nút láng giềng của họ, sau đó lần lượt chuyển đến các người dùng khác. Mỗi truy vấn có một thời gian sống nhất định được sử dụng để kiểm soát số lượng các bước chuyển tiếp xâu truy vấn. Khi một người dùng nhận được một yêu cầu truy vấn, nếu nó chứa các tài nguyên đáp ứng các điều kiện tìm kiếm, nó sẽ trả về kết quả cho người dùng yêu cầu bởi một thông điệp QueryHit. Các thông điệp trả về có chứa số lượng các thông tin và tài liệu thỏa mãn để tải tài nguyên về.

- Lựa chọn tài nguyên và bỏ phiếu bình chọn: trong giai đoạn này, đầu tiên người dùng yêu cầu lựa chọn trong danh sách các người dùng từ kết quả trả về trong giai đoan trước. Sau đó người dùng đó gửi quảng bá các thông điệp đánh giá đến các người dùng trong hệ thống để thu thập uy tín của các người dùng cung cấp nguồn tài nguyên. Các người dùng nhận được thông báo Poll sẽ kiểm tra kiến thức của chúng về các yêu cầu của các người dùng, và gửi thông tin phản hồi PoolReply về cho người dùng yêu cầu.

- Đánh giá bình chọn: vì những người dùng xấu luôn cố gắng can thiệp vào quá trình bỏ phiếu bình chọn, trước khi đánh giá bình chọn, người dùng yêu cầu sẽ phân tích các lá phiếu để xác minh và loại bỏ các lá phiếu đáng nghi (tức lá phiếu đến từ các IP xấu). Ngoài ra, người dùng yêu cầu sẽ chọn một số “cử tri” để gửi thông điệp TrueVote để kiểm tra xem chúng có phải đích thực gửi phiếu hay không. Cử tri đích thực sẽ trả lời thông điệp này với một thông điệp TrueVoteReply. Sau khi tính chính xác của một lá phiếu được xác thực, người dùng yêu cầu có thể lựa chọn người dùng cung cấp uy tín nhất để tải tài nguyên họ cần.

- Kiểm tra người dùng tốt nhất: trước khi tải tài nguyên, người dùng yêu cầu làm một bước cuối cùng để xác minh: kiểm tra tính chính xác của người dùng cung cấp tài nguyên đã được chọn. Xác minh này được thực hiện bằng cách gửi thông điệp thách thức đến người dùng cung cấp để yêu cầu xác minh lại định danh của họ. Nếu người dùng yêu cầu nhận được một thông điệp thỏa mãn sự chính xác từ người dùng cung cấp, họ có thể chuyển đến bước cuối cùng để tải tài nguyên họ cần. Nếu thông điệp nhận được là không chính xác họ cũng có thể quay lại bước trước đó để lựa chọn một người dùng cung cấp khác tốt hơn.

- Tải tài nguyên về: tài nguyên cần thiết sẽ được tải ở giai đoạn này. Sau đó người dùng yêu cầu sẽ cập nhật kinh nghiệm của họ về uy tín của người dùng đã cung cấp tài nguyên.

3.4.1.2. Giao thức bỏ phiếu nâng cao

Như chúng ta đã đề cập, giao thức bỏ phiếu cơ bản coi ý kiến của tất cả các người dùng là như nhau. Kết quả là nó không thể phản ánh tầm quan trọng của các người dùng có uy tín để so sánh với các người dùng xấu hoặc người dùng chưa xác định danh tính. Giao thức bỏ phiếu nâng cao cải thiện giao thức trước bởi việc xem xét độ tin cậy của các người dùng trong bỏ phiếu đánh giá. Để làm được điều đó, mỗi người dùng phải duy trì một giá trị tin cậy của các người dùng khác để bổ sung độ uy tín của họ. Tương tự như quản lý uy tín, độ tin cậy của các người dùng được tích lũy sau mỗi giao dịch: nếu kết quả giao dịch phù hợp với ý kiến của một người dùng, độ tin cậy của họ sẽ được tăng lên. Nếu không, độ tin cậy của họ sẽ giảm xuống. Giao thức bỏ phiếu nâng cao thực sự giống giao thức bỏ phiếu cơ bản trừ quá trình bỏ phiếu đánh giá: người dùng yêu cầu tài nguyên đo trọng số ý kiến các người dùng khác dựa vào độ tin cậy của họ.

Một điểm hạn chế của P2PRep là nó phải chịu chi phí cao trong quá trình bỏ phiếu, bởi vì nó cần quảng bá thông điệp để hỏi ý kiến các người dùng trong hệ thống về các người dùng cung cấp tài nguyên. Ngoài ra, các giải pháp để kiểm tra và loại bỏ lá phiếu đáng nghi từ các người dùng xấu dường như không thực tế bởi nó không dễ dàng để xác định các người dùng xấu để loại bỏ các phiếu bầu của họ. Những gợi ý để nhận biết các người dùng xấu bằng cách đơn giản là kiểm tra IP của họ xem có luôn luôn hoạt động hay không. Đó là bởi vì các người dùng xấu có thể đối phó với giải pháp này bằng cách thay đổi hoặc ẩn IP của họ (thực ra, nếu có thể xác định các nút xấu từ IP của chúng, quá trình bỏ phiếu có thể không cần thiết bởi vì các người dùng xấu có thể được xác định trực tiếp khi họ cung cấp tài nguyên).

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 58 - 61)