HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA VIỄN THƠNG 1
TIỂU LUẬN MƠN HỌC
“INTERNET VÀ GIAO THỨC”
Đề tài:
“Tìm hiểu cơ bản về mạng ngang hàng P2P và một số vấn
để bảo mật trong mạng ngang hàng P2P”
Giảng viên: Nguyễn Tiến Ban
Nhóm mơn học: 06
Nhóm sinh viên:
Phạm Thị Hồng Huệ - B18DCVT181
Nguyễn Tuấn Anh – B18DCVT019
Nguyễn Văn Phong – B18DCVT318
Phạm Đức Tùng – B18DCVT389
Hà Nội, 2021
Tiểu luận Internet và giao thức
MỤC LỤC
DANH MỤC HÌNH VẼ ...................................................................................... 4
DANH MỤC VIẾT TẮT .................................................................................... 4
LỜI NÓI ĐẦU ..................................................................................................... 5
CHƯƠNG I: TỔNG QUAN VỀ MẠNG NGANG HÀNG.............................. 6
1.1 Ngang hàng (P2P) là gì? ............................................................................ 6
1.2 Nguyên lý hoạt động .................................................................................. 7
1.3 Mạng ngang hàng (P2P) khơng có cấu trúc .............................................. 7
1.4 Mạng ngang hàng (P2P) có cấu trúc ........................................................ 8
1.5 Mạng ngang hàng (P2P) lai ........................................................................ 8
1.6 Phân tán so với phi tập trung ..................................................................... 8
1.7 Vai trò của P2P trong blockchain ............................................................. 9
1.8 Ưu điểm của mạng ngang hàng................................................................ 10
1.9 Hạn chế của mạng ngang hàng ................................................................ 11
CHƯƠNG II: CÁC PHƯƠNG THỨC TẤN CÔNG MẠNG NGANG
HÀNG ................................................................................................................. 11
2.1 Tấn công từ chối dịch vụ ........................................................................... 11
2.1.1 Tấn công từ chối dịch vụ DoS ........................................................ 11
2.1.2 Tấn công từ chối dịch vụ phân tán DDoS ....................................... 12
2.2 Tấn công mạo nhận (Sybil Attack) ............................................................ 13
2.3 Tấn công che khuất (Eclipse Attack) ........................................................ 14
2.4 Tấn công định tuyến ................................................................................... 16
2.4.1 Tấn công làm sai lệch đường đi trong định tuyến .......................... 16
2.4.2 Tấn công làm cập nhật sai bảng định tuyến .................................... 17
2.4.3 Phân vùng mạng định tuyến khơng chính xác ................................. 17
2.5 Tấn công lưu trữ và phục hồi ..................................................................... 17
CHƯƠNG III: CÁC GIẢI PHÁP BẢO MẬT CHO MẠNG NGANG
HÀNG ................................................................................................................. 18
3.1 Xác thực và toàn vẹn dữ liệu .................................................................... 18
3.2 Các truy vấn xác thực trong cớ sở dữ liệu quan hệ .................................. 19
3.3 Tự xác thực dữ liệu với mã Erasure .......................................................... 21
2
Tiểu luận Internet và giao thức
3.4 Xác thực tính tồn vẹn của tính tốn ........................................................ 22
3.5 Chia sẻ dữ liệu giữa các nút trong mạng .................................................. 23
3.6 Hệ thống dựa vào hạn ngạch...................................................................... 25
3.7 Hệ thống dựa vào trao đổi ......................................................................... 26
3.8 Kiểm soát và sự phân bổ ............................................................................ 27
3.9 Kỹ thuật dựa vào sự khích lệ (SLIC) ......................................................... 27
3.10 Topo,mạng phù hợp ................................................................................. 28
3.11 Bảo mật dựa vào hạ tầng cơ sở và khóa cơng khai ................................. 28
CHƯƠNG IV: KẾT LUẬN .............................................................................. 29
TÀI LIỆU THAM KHẢO ................................................................................ 30
3
Tiểu luận Internet và giao thức
DANH MỤC HÌNH VẼ
Hình 1.1 Mạng ngang hàng P2P..........................................................................6
Hình 2.1 Tấn cơng DoS………..........................................................................12
Hình 2.2 Sự khác biệt giữa tấn cơng DoS và DDoS .........................................13
Hình 2.3 Các node gây hại chia mạng xếp chồng ra làm hai mạng con….........15
Hình 3.1 Cây băm Merkle..................................................................................19
Hình 3.2 Chương trình tự xác thực.....................................................................21
Hình 3.3 Trao đổi N bước…………………………….………………………..27
DANH MỤC VIẾT TẮT
Từ viết tắt
P2P
CBS
DoD
IAS
JXTA
DS
SGL
VB
Tên đầy đủ
Peer to Peer
Commitment-Based-Samling
Denial-of-Service
Incoming Allocation Strategy
Juxtapose
Drop Strategy
Sercure Group Layer
Verifiable B
TTL
SLIC
XIS
Time-To-Live
Selfish Link-based InCentives
XenoServer Information Service
PIPE
Peer-to-peer Information Preservation and Exchange
network
Random Discovery Ping
RDP
4
Tiểu luận Internet và giao thức
LỜI NÓI ĐẦU
Bên cạnh kiến trúc mạng Client – Server truyền thống, mạng P2P hay còn gọi
là mạng ngang hàng đang phát triển ngày càng mạnh mẽ. Mạng P2P có rất nhiều
những ưu điểm như tiết kiệm chi phí cho việc th các Server, có tốc độ chia sẻ
file cao, có thể dễ dàng hợp tác và mở rộng mạng lưới.
Tính ưu việt nhất của hệ thống P2P là các phần tử được đặt ngang hàng, giúp
hệ thống của thể tận dụng được năng lực của tất cả thành viên. Nhưng cũng chính
trong thiết kế này đã tồn tại những vấn đề về mặt quản lý bảo mật. Với việc P2P
đang chiếm từ 60% - 70% lưu lượng mạng Internet, thì thật sự đây chính là một
miếng mồi béo bở cho những hacker. Vấn đề bảo mật dữ liệu trong mạng P2P trở
thành một đề tài quan trọng cần phải giải quyết.
Vì vậy, nhóm em chúng em sẽ đi tìm hiểu về mạng ngang hàng P2P và một
số vấn đề bảo mật trong P2P. Em xin gửi lời cảm ơn chân thành tới thầy giáo
Nguyễn Tiến Ban đã hướng dẫn, góp ý, giúp đỡ chúng em hồn thành bài tiểu
luận.
Với đề tài này nhóm chúng em xin được trình bày thành 3 phần chính:
Chương 1: Tổng quan về mạng ngang hàng.
Chương 2: Các phương thức tấn công mạng ngang hàng
Chương 3: Các giải pháp bảo mật cho mạng ngang hàng
Do thời gian có hạn và kiến thức cịn hạn chế nên khơng tránh khỏi những sai
sót, rất mong nhận được ý kiến đóng góp của các thầy cùng toàn thể các bạn!
Hà Nội, ngày 24, tháng 12, năm 2021
5
Tiểu luận Internet và giao thức
CHƯƠNG I: TỔNG QUAN VỀ MẠNG NGANG HÀNG
1.1 Ngang hàng (P2P) là gì?
Trong khoa học máy tính, mạng ngang hàng, hay mạng đồng đẳng (P2P) bao
gồm một nhóm các thiết bị cùng lưu trữ và chia sẻ tập tin. Mỗi người tham gia
(nút) hoạt động như một đồng đẳng riêng lẻ. Thông thường, tất cả các nút có sức
mạnh như nhau và thực hiện các nhiệm vụ giống nhau.
Trong cơng nghệ tài chính, thuật ngữ ngang hàng thường dùng để mơ tả q
trình trao đổi tiền mã hóa hoặc tài sản kỹ thuật số thơng qua mạng phân tán. Nền
tảng P2P cho phép người mua và người bán thực hiện giao dịch mà không cần
đến trung gian. Trong một số trường hợp, các trang web cũng có thể cung cấp một
mơi trường P2P để kết nối người cho vay với người vay.
Kiến trúc P2P có thể phù hợp với nhiều trường hợp sử dụng khác nhau, nhưng
nó trở nên đặc biệt phổ biến vào những năm 1990 khi các chương trình chia sẻ tệp
đầu tiên được tạo. Ngày nay, mạng P2P là yếu tố cốt lõi của hầu hết các loại tiền
mã hóa, chiếm một phần lớn trong ngành công nghiệp blockchain. Tuy nhiên,
chúng cũng được khai thác trong các ứng dụng điện toán phân tán khác, bao gồm
các cơng cụ tìm kiếm web, nền tảng phát trực tuyến, thị trường trực tuyến và giao
thức web Hệ thống tệp tin liên hành tinh (IPFS).
Hình 1.1 Mạng ngang hang P2P
6
Tiểu luận Internet và giao thức
1.2 Nguyên lý hoạt động
Về bản chất, hệ thống ngang hàng được duy trì bởi một mạng lưới người
dùng phân tán. Mạng này thường không có quản trị viên trung tâm hoặc máy chủ
vì mỗi nút lưu trữ một bản sao của các tệp và mỗi nút đóng vai trị như một máy
khách và máy chủ cho các nút khác. Do đó, mỗi nút có thể tải tệp về từ các nút
khác hoặc tải lên tệp cho các nút khác. Đây là điểm khác biệt giữa các mạng ngang
hàng với các hệ thống máy chủ-máy khách truyền thống hơn, trong đó các thiết
bị máy khách tải xuống các tệp từ một máy chủ tập trung.
Trên mạng ngang hàng, các thiết bị được kết nối chia sẻ các tệp được lưu
trữ trên ổ cứng của chúng. Sử dụng các ứng dụng phần mềm được thiết kế để làm
trung gian cho việc chia sẻ dữ liệu, người dùng có thể truy vấn các thiết bị khác
trên mạng để tìm và tải xuống các tệp. Khi người dùng đã tải xuống một tệp, họ
có thể đóng vai trị là nguồn của tệp đó.
Nói cách khác, khi một nút hoạt động như một máy khách, họ tải xuống các
tệp từ các nút khác trên mạng. Nhưng khi họ hoạt động như một máy chủ, họ là
nguồn mà các nút khác có thể tải xuống các tệp. Tuy nhiên, trên thực tế, các nút
có thể thực hiện hai chức năng cùng một lúc (ví dụ: tải xuống tệp A và tải lên tệp
B).
Vì mỗi nút đều có chức năng lưu trữ, truyền và nhận tệp, mạng ngang hàng
có xu hướng hoạt động nhanh và hiệu quả hơn khi cộng đồng người dùng của họ
phát triển lớn hơn. Ngoài ra, kiến trúc phân tán của họ làm cho các hệ thống P2P
có khả năng chống lại các cuộc tấn cơng mạng rất cao. Khơng giống như các mơ
hình truyền thống, mạng P2P khơng có sự hư hỏng tại một điểm.
Có thể phân loại các hệ thống ngang hàng theo ba kiểu kiến trúc chính là
mạng ngang hàng khơng có cấu trúc, có cấu trúc và lai.
1.3 Mạng ngang hàng (P2P) khơng có cấu trúc
Các nút trên mạng P2P khơng có cấu trúc không được tổ chức theo bất kỳ
cấu trúc cụ thể nào. Những người tham gia giao tiếp ngẫu nhiên với nhau. Các hệ
7
Tiểu luận Internet và giao thức
thống này được coi là có khả năng mạnh mẽ chống lại các các hoạt động rời bỏ
của người dùng (là việc một số nút thường xuyên tham gia và rời khỏi mạng).
Mặc dù dễ xây dựng hơn, các mạng P2P khơng có cấu trúc có thể cần sử
dụng bộ nhớ và CPU cao hơn vì các truy vấn tìm kiếm được gửi đến số lượng các
đồng đẳng cao nhất có thể. Điều này có xu hướng khiến mạng tràn ngập các truy
vấn, đặc biệt nếu chỉ có một số lượng nhỏ các nút cung cấp nội dung mong muốn.
1.4 Mạng ngang hàng (P2P) có cấu trúc
Ngược lại, các nút trên mạng P2P có một kiến trúc có tổ chức, cho phép
các nút tìm kiếm các tệp một cách hiệu quả, ngay cả khi nội dung khơng có sẵn
rộng rãi. Trong hầu hết các trường hợp, điều này đạt được thông qua việc sử
dụng cho phép tra cứu cơ sở dữ liệu.
Mặc dù các mạng có cấu trúc có thể hiệu quả hơn, nhưng chúng thường thể
hiện mức độ tập trung cao hơn và thường địi hỏi chi phí thiết lập và bảo trì cao
hơn. Ngồi ra, các mạng có cấu trúc kém mạnh mẽ hơn khi phải đối mặt với tỉ lệ
người dùng rời bỏ mạng cao.
1.5 Mạng ngang hàng (P2P) lai
Mạng P2P lai kết hợp kiến trúc máy khách-máy chủ truyền thống với một
số khía cạnh của kiến trúc ngang hàng. Ví dụ, mạng này có thể thiết kế một máy
chủ trung tâm để tạo kết nối giữa các máy tính đồng đẳng trong mạng.
So với hai kiến trúc cịn lại, các mơ hình lai thường thể hiện hiệu suất vận hành
cao hơn. Chúng kết hợp được các ưu điểm chính của từng phương pháp, mang lại
mức độ hiệu quả và phi tập trung đáng kể.
1.6 Phân tán so với phi tập trung
Mặc dù kiến trúc P2P có tính chất phân tán, nhưng điều quan trọng cần lưu
ý là có nhiều mức độ phân tán khác nhau. Vì vậy, khơng phải tất cả các mạng P2P
đều phi tập trung.
8
Tiểu luận Internet và giao thức
Trên thực tế, nhiều hệ thống dựa vào một hệ thống trung tâm để điều hành
hoạt động của mạng, khiến chúng phần nào đó mang tính tập trung. Chẳng hạn,
một số hệ thống chia sẻ tệp ngang hàng cho phép người dùng tìm kiếm và tải
xuống tệp từ những người dùng khác, nhưng người dùng đó khơng thể tham gia
vào các quy trình khác, như quản lý truy vấn tìm kiếm.
Ngồi ra, các mạng nhỏ được kiểm soát bởi một cộng đồng người dùng nhỏ
với các mục tiêu chung cũng có thể được cho là có mức độ tập trung cao hơn, mặc
dù khơng có một cơ sở hạ tầng mạng tập trung.
1.7 Vai trò của P2P trong blockchain
Trong giai đoạn đầu của Bitcoin, Satoshi Nakamoto định nghĩa nó là một
“Hệ thống tiền mặt điện tử ngang hàng” Bitcoin ban đầu được tạo ra như một dạng
tiền kỹ thuật số. Nó có thể được chuyển từ người dùng này sang người dùng khác
thông qua mạng ngang hàng, mạng này quản lý một cuốn sổ cái phân tán được
gọi là chuỗi khối (blockchain).
Trong bối cảnh này, chính kiến trúc ngang hàng, một cơng nghệ trung tâm
cuẩ blockchain cho phép người dùng có thể giao dịch Bitcoin và các loại tiền mã
hóa khác trên tồn thế giới mà không cần đến trung gian cũng như bất kỳ máy chủ
trung tâm nào. Ngoài ra, bất kỳ ai cũng có thể trở thành một nút trên mạng Bitcoin
nếu họ muốn tham gia vào quá trình xác minh và xác thực các khối.
Vì vậy, khơng có ngân hàng nào để xử lý hoặc ghi lại các giao dịch trên
mạng Bitcoin. Thay vào đó, blockchain hoạt động như một sổ cái kỹ thuật số ghi
lại công khai tất cả hoạt động. Về cơ bản, mỗi nút giữ một bản sao của blockchain
và so sánh nó với các nút khác để đảm bảo dữ liệu chính xác. Mạng nhanh chóng
từ chối mọi hoạt động độc hại hoặc khơng chính xác.
Trong bối cảnh của các blockchain của tiền mã hóa, các nút có thể đảm
nhận các vai trị khác nhau. Ví dụ, các nút đầy đủ là các nút giúp duy trì tính bảo
mật cho mạng bằng cách xác minh các giao dịch theo các quy tắc đồng thuận của
hệ thống.
9
Tiểu luận Internet và giao thức
Mỗi nút đầy đủ duy trì một bản sao hồn chỉnh, cập nhật của blockchain cho phép họ tham gia vào công việc chung để xác minh trạng thái thực của sổ cái
phân tán. Tuy nhiên, điều đáng chú ý là không phải tất cả các nút xác thực đầy đủ
đều là thợ đào.
1.8 Ưu điểm của mạng ngang hàng
Kiến trúc ngang hàng của blockchain mang lại nhiều lợi ích. Lợi ích quan
trọng nhất là các mạng ngang hàng có tính bảo mật cao hơn so với kiến trúc máy
khách-máy chủ truyền thống. Việc phân phối các chuỗi khối trên một số lượng
lớn các nút làm cho chúng hầu như có khả năng chống lại các cuộc tấn công Từ
chối Dịch vụ (DoS) đã được sử dụng để tấn công nhiều hệ thống.
Tương tự như vậy, vì phần lớn các nút phải đạt được sự đồng thuận trước
khi dữ liệu mới được thêm vào blockchain, nên kẻ tấn công gần như không thể
thay đổi dữ liệu. Điều này đặc biệt đúng đối với các mạng lớn như mạng Bitcoin.
Các blockchain nhỏ hơn dễ bị tấn cơng hơn vì một người hoặc một nhóm có thể
giành được kiểm soát đối với phần lớn các nút (điều này được gọi là một cuộc tấn
cơng 51%).
Do đó, mạng ngang hàng phân tán, khi được kết hợp với yêu cầu về sự đồng
thuận của đa số người tham gia, giúp các blockchain có khả năng cao chống lại
các hoạt động gây hại. Chính mơ hình P2P là một trong những yếu tố giúp cho
Bitcoin (và các blockchain khác) có thể đạt được cái gọi là khả năng chịu lỗi
Byzantine.
Ngoài khả năng bảo mật, việc sử dụng kiến trúc P2P trong các blockchain
tiền mã hóa cũng giúp chúng chống lại sự kiểm duyệt của các cơ quan trung ương.
Khác với các tài khoản ngân hàng tiêu chuẩn, chính phủ khơng thể đóng băng
hoặc rút sạch các ví tiền mã hóa. Ngoài ra, kiến trúc P2P cũng giúp các blockchain
chống lại sự kiểm duyệt của các nền tảng nội dung và nền tảng xử lý thanh toán
tư nhân. Một số nhà sáng tạo nội dung và các thương gia trực tuyến đã chấp nhận
phương thức thanh tốn qua tiền mã hóa như một cách để tránh bị chặn thanh toán
bởi các bên thứ ba.
10
Tiểu luận Internet và giao thức
1.9 Hạn chế của mạng ngang hàng
Mặc dù có nhiều ưu điểm, việc sử dụng mạng P2P trên blockchain cũng có
những hạn chế nhất định.
Vì sổ cái phân tán phải được cập nhật trên mỗi nút thay vì trên máy chủ
trung tâm, nên việc thêm giao dịch vào blockchain đòi hỏi một lượng lớn sức
mạnh tính tốn. Trong khi điều này giúp tăng khả năng bảo mật, nó làm giảm
đáng kể hiệu suất hoạt động và là một trong những trở ngại chính đến khả năng
mở rộng và ứng dụng mạng rộng rãi. Tuy nhiên, các nhà mật mã học và nhà phát
triển blockchain đang nghiên cứu các lựa chọn thay thế có thể được sử dụng làm
giải pháp mở rộng. Các ví dụ nổi bật bao gồm các giao thức Lightning
Network, Ethereum Plasma, và Mimblewimble.
Một hạn chế khác có thể xảy ra liên quan đến các cuộc tấn cơng có thể phát
sinh trong các sự kiện chia tách chuỗi (hard fork). Vì hầu hết các blockchain là
phi tập trung và có mã nguồn mở, nên các nhóm nút được tự do sao chép và sửa
đổi mã và tách ra khỏi chuỗi chính để tạo thành một mạng song song mới. Việc
chia tách chuỗi (hard fork) là hồn tồn bình thường và bản thân chúng không
phải là một mối đe dọa. Tuy nhiên nếu các phương thức bảo mật nhất định không
được áp dụng đúng cách, cả hai chuỗi có thể dễ dàng trở thành mục tiêu của tấn
công phát lại.
Hơn nữa, bản chất phân tán của mạng P2P khiến chúng tương đối khó kiểm
sốt và điều tiết, không chỉ trong phân khúc blockchain. Một số ứng dụng và công
ty P2P đã tham gia vào các hoạt động bất hợp pháp và vi phạm bản quyền.
CHƯƠNG II: CÁC PHƯƠNG THỨC TẤN CÔNG MẠNG
NGANG HÀNG
2.1. Tấn công từ chối dịch vụ
2.1.1. Tấn công từ chối dịch vụ DoS
11
Tiểu luận Internet và giao thức
Trong một mạng ngang hàng, các nút tham gia nên sẵn sàng đóng góp các
dữ liệu hoặc các tài nguyên của chúng cho các nút khác. Tuy nhiên, một nút có
thể trở nên khơng sẵn sàng vì lý do nó bị tấn cơng. Một trong những hình thức tấn
cơng đó là tấn cơng từ chối dịch vụ (denial-of-service – DoS)
Tấn công từ chối dịch vụ (DoS) là một hành động độc hại khiến máy chủ
hoặc tài nguyên mạng không khả dụng với người dùng, thông thường bằng cách
gián đoạn tạm thời dịch vụ của một trạm kết nối Internet.
Trong một vụ tấn công từ chối dịch vụ, một nút bị quá tải bởi các tin nhắn
vơ ích và lãng phí tài ngun của nó để thực hiện các cơng việc vơ nghĩa, do đó
nó khơng thể đáp ứng đúng mục đích. Ví dụ, một nút xấu có thể gửi liên tục các
tin nhắn đến một nút duy nhất. Bằng cách này, nó sẽ làm cho băng thông của một
nút bị tiêu thụ chỉ để chuyển tin nhắn, làm cho các tài nguyên mà nó chia sẻ (như
CPU, bộ nhớ) không sẵn sàng cho các nút khác trong mạng.
Hình 2.1: Tấn cơng DoS
2.1.2 Tấn cơng từ chối dịch vụ phân tán DDoS
Tấn công từ chối dịch vụ phân tán (Distributed Denial of Service - DDoS),
sử dụng rất nhiều thiết bị và kết nối Internet, thường phân tán tồn cầu. Khi DDoS,
kẻ tấn cơng có thể sử dụng máy tính của bạn để tấn cơng vào các máy tính khác.
Bằng cách lợi dụng những lỗ hổng về bảo mật cũng như sự khơng hiểu biết, kẻ
này có thể giành quyền điều khiển máy tính của bạn. Sau đó chúng sử dụng máy
tính của bạn để gửi số lượng lớn dữ liệu đến một website hoặc gửi thư rác đến địa
12
Tiểu luận Internet và giao thức
chỉ email nào đó. Đây là kiểu tấn cơng phân tán vì kẻ tấn cơng sử dụng nhiều máy
tính, bao gồm có cả máy tính của bạn để thực hiện tấn cơng Dos.
Do đó tấn cơng DDoS thường khó đối phó hơn, nạn nhân sẽ bị tấn công bởi
yêu cầu từ hàng trăm đến hàng ngàn nguồn khác nhau.
Hình 2.2: Sự khác biệt giữa tấn công DoS và DDoS
Tấn công DoS và DDoS ảnh hưởng rất khác nhau tới cấu trúc của mạng
P2P và rất khó để phát hiện và ngăn chặn, vì khơng có sửa đổi nào trong hệ thống
được thực hiện.
2.2. Tấn công mạo nhận (Sybil Attack)
Tấn công mạo nhận là dạng tấn công mà kẻ tấn công phá hoại hệ thống
mạng ngang hàng bằng cách tạo ra một lượng lớn các node ảo và sử dụng chúng
để tạo ra ảnh hưởng lớn trong mạng ngang hàng.
Hệ thống mạng ngang hàng có thể gặp nguy hiểm bởi quá trình khởi tạo
định danh cho mỗi node mới muốn gia nhập vào mạng. Mức độ nguy hiểm của
mạng phụ thuộc vào mức độ cho phép các đối tượng mới khơng có một liên kết
đáng tin cậy nào tham gia vào mạng.
13
Tiểu luận Internet và giao thức
Tấn công mạo nhận lợi dụng đặc tính của mạng ngay hàng, đó là mỗi node
cần duy trì liên kết tới các node hàng xóm của nó, đặc tính này giúp cho mạng
xếp chồng hình thành và duy trì. Kẻ tấn cơng có thể biết dễ dàng định danh của
một node trong mạng, từ đó nó có thể sinh ra các định danh ảo trong mạng để đưa
các định danh ảo đó vào tập hàng xóm của các node. Khi đạt được mục tiêu, tức
trong mạng có rất nhiều định danh ảo do kẻ tấn cơng sinh ra thì nó có thể kiểm
sốt lưu lượng, dữ liệu và các thông tin truyền trong mạng. Bởi mỗi node trong
mạng muốn truyền thông điệp hay dữ liệu thì các node mà nó liên hệ để gửi dữ
liệu đi đó là các node trong tập hàng xóm của nó, như vậy các node sẽ gửi dữ liệu
tới node tấn cơng mạng. Kẻ tấn cơng có quyền quyết định chuyển tiếp hay khơng
dữ liệu đó.
Sẽ rất nguy hiểm khi kẻ tấn cơng có thể nắm được một lượng lớn các định
danh trong mạng xếp chồng có cấu trúc. Nếu tỉ lệ node ảo mà nó sinh là vơ hạn
thì nó có thể chiếm tới gần như là 100% các node trong mạng, như vậy nó có thể
che khuất các node chuẩn khác trong mạng. Như vậy, chỉ cần một node gây hại
có thể khống chế tồn bộ mạng xếp chồng ngang hàng.
2.3. Tấn công che khuất (Eclipse Attack)
Đối với mạng xếp chồng ngang hàng, các máy tính tham gia có vai trị như
nhau, vừa đóng vai trị máy khách vừa có vai trị là máy chủ. Một đặc điểm quan
trọng trong mạng xếp chồng ngang hàng đó là, một node sử dụng các node khác
trong mạng như một bộ định tuyến. Do đó dữ liệu và thơng tin truyền đi giữa hai
node có sự tham gia của nhiều node khác. Sẽ rất nguy hiểm nếu một trong các
node tham gia định tuyến chuyển tiếp dữ liệu lại là một node gây hại. Sự bình
đẳng trong mạng ngang hàng giúp kẻ tấn công dễ dàng tham gia vào mạng và phá
hoại sự ổn định của mạng
Tấn công che khuất là một dạng chung của tấn công trong mạng P2P. Trong
tấn công che khuất, một kẻ tấn công điều khiển một lượng lớn các đối tượng là
thành viên trong tập hàng xóm của node chuẩn. Trong trường hợp này, một nhóm
các node gây hại liên kết với nhau để lừa các node chuẩn bằng cách đưa các node
14
Tiểu luận Internet và giao thức
gây hại vào tập hàng xóm của các node chuẩn. Bằng việc thực hiện tấn cơng che
khuất, kẻ tấn cơng có thể điều khiển một phần đáng kể của mạng xếp chồng. Hơn
nữa, một lượng lớn các node gây hại có thể che khuất nhiều node chuẩn để điều
khiển toàn bộ mạng xếp chồng. Các node xếp chồng khơng thể chuyển tiếp một
cách chính xác các thơng điệp và mạng sẽ khơng được quản lý.
Hình 2.3: Các node gây hại chia mạng xếp chồng ra làm hai mạng con
Tấn công che khuất lợi dụng tập hàng xóm của các node để tiến hành tấn
cơng mạng xếp chồng. Để có thể tấn cơng, kẻ tấn cơng nhắm tới tập hàng xóm
của các node chuẩn. Chúng tìm cách đưa các node gây hại vào tập trong các tập
hàng xóm của các node chuẩn, khi thành cơng các node chuẩn muốn gửi dữ liệu
cũng như các thông điệp đều đi qua các node gây hại trước. Như vậy, các node
gây hại có thể quyết định gửi hay khơng gửi các dữ liệu và thơng điệp đó tới node
đích.
Các node gây hại có thể đưa các node gây hại khác vào trong tập hàng xóm
của các node chuẩn nhờ dựa vào quá trình xin tham gia vào mạng của các node
mới. Nếu node mới tham gia liên hệ đầu tiên với một node gây hại, thì tập hàng
xóm mà nó có chính là tập các node do node gây hại đó đưa cho và hiển nhiên tập
này chứa các node gây hại có thơng đồng với node gây hại mà node mới liên hệ
đầu tiên. Ngoài ra, node gây hại cịn có thể xâm nhập vào tập hàng xóm của các
node trong quá trình duy trì liên kết mạng được thực hiện theo chu kì. Quá trình
15
Tiểu luận Internet và giao thức
này sẽ tìm và loại bỏ các node lỗi ra khỏi các tập hàng xóm và thay thế vào đó là
các node khác đang hoạt động. Các node gây hại lợi dụng quá trình này để làm
tăng số lượng các node gây hại trong các tập hàng xóm của các node chuẩn.
Tấn cơng che khuất cần một lượng nhất định các node gây hại thông đồng
với nhau mới có thể thực hiện thành cơng. Chúng liên kết với nhau, “che khuất”
mạng, làm cho các node chuẩn chỉ biết đến chúng và mọi liên hệ tới các node
chuẩn khác đều bị chi phối và khống chế.
Như vậy, chỉ với một kẻ thực hiện tấn công che khuất cũng có thể gây ảnh
hưởng tới hệ thống, tuy nhiên để cuộc tấn cơng đạt hiểu quả cao thì cần có nhiều
node cùng tham gia tấn cơng. Với chỉ một lượng nhỏ các node cũng có thể thực
hiện tấn công che khuất.
2.4. Tấn công định tuyến
Trong hệ thống P2P khi một nút nhận một yêu cầu truy vấn, nếu nó khơng
chứa kết quả truy vấn thì nó sẽ chuyển tiếp truy vấn tới một nút trong bảng định
tuyến mà gần hơn với nút lưu kết quả truy vấn và tiến trình kết thúc khi có một
nút phản hồi. Điều này có nghĩa, trong một mạng phủ cố định, khơng có các nút
mới tham gia và cũng khơng có các nút rời khỏi mạng, với cùng một truy vấn bắt
đầu từ cùng một nút thì ln ln theo cùng một tuyến đường nhất định (thông
qua các nút trung gian). Trong các hệ thống như thế, điều quan trọng là phải đảm
bảo tính đúng đắn của chức năng định tuyến và các trường hợp tấn công định
tuyến phải được xử lý kịp thời. Trong các cuộc tấn công định tuyến, các nút xấu
hoạt động tích cực trong hệ thống, chúng khơng chỉ tham gia định tuyến mà thơng
tin của chúng cịn được lưu ở trong các bảng định tuyến của các nút khác.
2.4.1. Tấn công làm sai lệch đường đi trong định tuyến
Một nút độc hại thực hiện vai trị tích cực trong mạng có thể thực hiện một
số hành vi nguy hiểm. Kẻ tấn công đơn giản chuyển tiếp truy vấn tìm kiếm tới địa
chỉ sai và truy vấn sẽ bị mất.
16
Tiểu luận Internet và giao thức
Tấn công làm sai lệch đường đi trong định tuyến là dạng tấn công mà một
nút xấu chuyển tiếp yêu cầu truy vấn đến một nút khơng chính xác hoặc trả về
một kết quả khơng chính xác cho nút yêu cầu truy vấn (ví dụ như: trả về một nút
ngẫu nhiên và xem như nút đó giữ kết quả truy vấn).
2.4.2. Tấn cơng làm cập nhật sai bảng định tuyến
Tấn công làm cập nhật sai bảng định tuyến là dạng tấn công mà một nút
xấu muốn làm hỏng bảng định tuyến của các nút khác bằng cách cung cấp thông
tin định tuyến sai lệch. Hậu quả gây ra từ dạng tấn công này là làm cho các nút
“tốt” trong hệ thống truy vấn sai lệch điểm đích dẫn đến kết quả trả về khơng
chính xác, hoặc truy vấn đến một nút không tồn tại.
Một cách thức tấn cơng tinh vi hơn có thể xảy ra khi hệ thống cung cấp
thêm tính linh hoạt bằng cách cho phép lựa chọn máy chủ. Cách thức tấn công
này có thể khơng ảnh hưởng đến việc định tuyến nhưng nó có thể ảnh hưởng đến
chất lượng của dịch vụ. Ví dụ, thay vì chọn nút nhanh nhất thì một nút xấu sẽ định
tuyến xâu truy vấn đến một nút mà ở đó băng thơng rất thấp và có thể độ tin cậy
vào nút đó là rất thấp.
2.4.3. Phân vùng mạng định tuyến khơng chính xác
Phân vùng định tuyến khơng chính xác xảy ra khi một nút mới gia nhập vào
mạng và hình thành một phân vùng mạng khác bằng một nhóm các nút độc hại.
Điều này có thể xảy ra bởi vì, khi một nút mới gia nhập vào hệ thống, nó cần được
kích hoạt thơng qua một vài nút trong hệ thống. Một nút như thế có thể là thành
viên của phân vùng mạng độc hại. Ngoài ra, một nút xấu ở trong một phân vùng
mạng chính đáng cũng có thể định tuyến các nút mới vào phân vùng mạng độc
hại. Các cuộc tấn công như vậy không chỉ có thể từ chối các dịch vụ đối với các
nút mới mà quan trọng là chúng cịn có thể quan sát các hành vi của các nút đó.
2.5. Tấn công lưu trữ và phục hồi
17
Tiểu luận Internet và giao thức
Hệ thống P2P (có cấu trúc và khơng có cấu trúc) được triển khai là nơi lưu
trữ dữ liệu phân tán và đó cũng là môi trường thuận lời cho các cuộc tấn công lưu
trữ và phục hồi xảy ra, bao gồm các vấn đề dưới đây:
- Một nút xấu có thể từ chối việc lưu trữ dữ liệu mà đáng lẽ ra nó phải chịu
trách nhiệm lưu trữ.
- Một nút xấu có thể thỏa thuận để lưu trữ dữ liệu nhưng sau đó nó sẽ xóa
dữ liệu. Đây là một vấn đề nghiêm trọng nếu như dữ liệu bị xóa vĩnh viễn.
- Một nút xấu có thể chấp nhận trách nhiệm lưu trữ dữ liệu nhưng có thể
nó sẽ từ chối các yêu cầu của client hoặc tệ hơn nó có thể thay thế bằng các bản
sao có sự thay đổi.
- Một nút xấu có thể hợp tác với các nút khác để cùng tấn cơng.
- Một nút xấu có thể giả mạo danh tính của một nút khác.
CHƯƠNG III: CÁC GIẢI PHÁP BẢO MẬT CHO MẠNG
NGANG HÀNG
3.1 Xác thực và toàn vẹn dữ liệu
Với sự gia tăng nhanh chóng của các tài nguyên có giá trị trên các máy tính
cá nhân hiện nay, các hệ thống P2P như Freenet, Publis, OceanStore và CFS cung
cấp giải pháp với chi phí rất thấp, việc lưu trữ sẵn sàng ở mức độ cao và không
cần đến máy chủ tập trung. Tuy nhiên, môi trường P2P là môi trường dễ phát sinh
các mối nguy hiểm chủ yếu theo nghĩa một nút có thể trở thành một nút độc hại
(ngay cả khi phần lớn các nút đều là các nút có thể tin cậy). Một nút độc hại có
thể làm hỏng nội dung, thay thế nó bằng một nội dung có hại (có chứa virus), hoặc
có thể khơng trả lại đầy đủ các câu trả lời cho nút yêu cầu.
Một giải pháp đơn giản là chỉ lưu giữ dữ liệu trên các nút tin cậy, tức là nút
đó đã được xác thực là tin cậy bởi một vài người có thẩm quyền. Một giải pháp
khả thi hơn mà có thể khơng cần đến phải tin cậy bất kỳ nút nào. Thay vào đó,
18
Tiểu luận Internet và giao thức
một nút sẽ tạo ra một số đối tượng xác minh để đáp ứng truy vấn. Các đối tượng
xác minh được sử dụng bởi các nút truy vấn để xác nhận rằng các câu trả lời là
chính xác. Hai điểm quan trọng trong một kỹ thuật như vậy là:
− Nó phải cho phép các nút truy vấn xác minh các câu trả lời được trả
về bởi nút không tin cậy thực sự thuộc về tập các câu trả lời;
− Nó phải cho phép các nút truy vấn xác minh các câu trả lời đầy đủ.
3.2 Các truy vấn xác thực trong cớ sở dữ liệu quan hệ
Devanbu đề xuất một ý tưởng mà có thể thuận lời để lưu giữ cơ sở dữ liệu
quan hệ trên các nút không tin cậy. Ý tưởng cở bản như sau:
- Người sở hữu dữ liệu gửi quảng bá một thông điệp đến các nút mà họ sẽ
truy vấn quan hệ. Thông điệp này được lấy từ gốc của một cây băm Merkle xây
dựng trên quan hệ này. Một cây băm Merkle là một cây nhị phân mà nút lá thứ i
có giá trị băm Hi thu được bằng cách áp dụng hàm băm h trên bộ thứ i. Các nút
khác trên cây cũng được tạo ra bằng cách tính giá trị băm của các nút con của nó.
Hình dưới cho thấy một ví dụ về một cây băm Merkle. Ở đây, có 4 bộ H1 đến H4
là những giá trị băm của bốn bộ tương ứng từ t1 đến t4. Nút cha của t1 và t2 có
giá trị băm được tính: H12 = h(H1|| H2). Thơng điệp cho 4 bộ là Hr.
Hình Error! No text of specified style in document..1: Cây băm Merkle
- Đối với một truy vấn, nút không tin cậy đánh giá truy vấn và trả về cùng
với bộ trả lời một đối tượng xác minh gọi là VO. Về bản chất, VO là một cây con
được tạo ra từ cây băm Merkle trên quan hệ này. Để một truy vấn chính xác được
19
Tiểu luận Internet và giao thức
trả về từ một bộ đơn cần tìm đường đi từ bộ đó đến gốc tương đương với việc tìm
các nút trung gian giữa bộ đó với nút gốc, đó là một dạng của VO.
- Khi nhận được câu trả lời và VO, nút truy vấn sẽ xác minh tính đúng đắn
của câu trả lời bằng cách tính lại thơng điệp sử dụng câu trả lời và VO. Nếu kết
quả thu được giống với kết quả cung cấp bởi chủ sở hữu, thì câu trả lời trả về bởi
nút khơng tin cậy là chính xác và đầy đủ. Tiếp tục với ví dụ trên, để xác minh t2
không bị giả mạo, client làm các công việc sau: đầu tiên nó tính H2’; với H1 và
H2’ có thể xác định được H12’; và cuối cùng, kết hợp H12’ và H34 để tính Hr’.
Nếu Hr= Hr’ thì t2 không bị giả mạo. Lưu ý ở đây là client đã được giả định là
đã có Hr từ chủ sở hữu. Ngồi ra, Hr có thể được ký bởi chủ sở hữu (với khóa
riêng của họ) và được coi như một phần của VO; trong trường hợp này, client có
thể tự xác minh xem Hr’ có giống với chữ ký Hr (với khóa cơng khai của chủ sở
hữu) hay không.
Tuy nhiên với kỹ thuật này cũng đặt ra 3 điểm hạn chế:
- Do các cách sắp xếp khác nhau của các bộ trong một bảng dẫn đến các cây
băm Merkle khác nhau, khi sự sắp xếp các bộ thay đổi, nó cần tái tạo lại cây băm
Merkle theo sự sắp xếp trong bảng. Kết quả là hệ thống phải chịu chi phí cao cho
việc cập nhật dữ liệu. Hơn nữa, nếu bảng được sắp xếp theo các cách khác nhau,
nó sẽ tạo ra các cây băm Merkle khác nhau, vì thế tổng phí để lưu trữ các cây băm
Merkle là rất lớn.
- Vì đối tượng xác minh VO cho một kết quả truy vấn chứa tất cả các nút
trong
đường đi từ nút chứa kết quả truy vấn đến nút gốc dẫn đến kích thước của VO là
tỷ lệ thuận với kích thước của kết quả truy vấn và bằng logarit kích thước của
bảng. Kết quả là nếu kích thước của kết quả truy vấn lớn thì kéo theo kích thước
của VO cũng sẽ lớn.
- Vì hàm băm được áp dụng trên tất cả các bộ, để xác định VO của một kết
quả truy vấn, nó cần gửi tất cả các bộ của kết quả truy vấn đến nơi phát ra truy
20
Tiểu luận Internet và giao thức
vấn. Do đó việc xác minh được thực hiện tại nơi phát ra truy vấn có thể gây ra sự
tiêu thụ tài nguyên rất lớn bộ lọc lọc ra các thuộc tính.
3.3 Tự xác thực dữ liệu với mã Erasure
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, 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ó. Rõ ràng, nếu hệ thống không thể nhận ra các mảnh vỡ bị hư hỏng, q
trình xây dựng tính tốn trở nên phức tạp.
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 sau 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. 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. 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 tố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, 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ó 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.
21
Tiểu luận Internet và giao thức
Hình 3.2: Chương trình tự xác thực
3.4 Xác thực tính tồn vẹn của tính tốn
Chúng ta đã chứng kiến việc triên khai thành công của cơng nghệ P2P để
phân bổ việc tính tốn. Ví dụ, số lượng người tham gia trong SETI là hơn 4,5 triệu
người. Họ đóng góp sức mạnh máy tính của họ để xử lý trung bình 65 TeraFLOPS.
Khơng chắc chắn rằng các tính tốn của các nút là đáng tin cậy. Ví dụ, một số nút
có thể chỉ thực hiện một tập nhỏ các nhiệm vụ được giao và cho rằng nó đã làm
tất cả các tính tốn. Trên thực tế, đã có báo cáo về các nhà tài trợ tài nguyên cho
SETI đã giả mạo số lượng thời gian họ đã đóng góp. Mục đích của việc giả mạo
này là để tăng thời gian đóng góp của một nút để nó được liệt kê vào một trong
những đóng góp hàng đầu cho website của SETI. Một ví dụ khác, một số nút có
thể cố ý trả lại các câu trả lời sai (ngay cả khi chúng đã thực hiện các tính tốn).
Nếu khơng bị phát hiện, hậu quả có thể nói là một thảm họa.
Một giải pháp đơn giản để phát hiện câu trả lời khơng chính xác là phân công
mỗi công việc cho nhiều nút khác nhau cùng làm, sau đó so sánh kết quả trả về.
Nhược điểm của phương pháp này là nó phải gánh chịu chi phí cao trong tính tốn
vì nó phải lãng phí một số chu trình và băng thơng để lặp lại các tính toán. Một
giải pháp cải thiện là chỉ cần kiểm tra lại các tính tốn của một số mẫu được lựa
chọn ngẫu nhiên trong các nhiệm vụ. Với sự lựa chọn đúng đắn của số lượng mẫu,
chúng ta có thể làm giảm xác suất mà một nút không tin cậy mà khơng bị phát
hiện.
Bằng cách chọn một kích thước mẫu đủ lớn, nó gần như khơng thể bỏ qua
mà khơng bị phát hiện gian lận. Tuy nhiên, kỹ thuật này vẫn cịn địi hỏi một phí
lưu thơng cao để truyền tải tất cả các kết quả.
22
Tiểu luận Internet và giao thức
Một vài công việc đã được làm để giải quyết vấn đề gian lận. Một mẫu dựa
trên cam kết (commitment-based sampling – CBS) mà có thể làm giảm phí trong
lưu thơng, thay vì phải trả về kết quả của tất cả các nhiệm vụ thì chỉ những kết
quả của mẫu mới cần được trả về. Kỹ thuật CBS hoạt động trong bốn giai đoạn
(giả sử nút A giao nhiệm vụ cho nút B):
(a) B thực hiện nhiệm vụ được giao; xây dựng một cây băm Merkle trong đó
mỗi nút lá tương ứng với mỗi cơng việc, các giá trị băm tại các nút tương ứng với
việc áp dụng một hàm băm một chiều trên các kết quả của nhiệm vụ; B truyền giá
trị băm của nút gốc của cây băm Merkle đến A.
(b) A lựa chọn ngẫu nhiên m mẫu nhiệm vụ cho B để làm bằng chứng cho
sự trung thực.
(c) Đối với mỗi nhiệm vụ (trong số m nhiệm vụ), B xác định đường P từ nút
lá tương ứng với nhiệm vụ đó đến nút. Giá trị băm của kết quả của nhiệm vụ cũng
được truyền đến A.
(d) Đối với mỗi công việc, A có thể dễ dàng xác minh liệu B có trung thực
hay khơng bởi việc tính lại các giá trị băm của nút gốc. Nếu giá trị băm của nút
gốc tính được giống với giá trị băm gốc theo cam kết thì B là trung thực đối với
nhiệm vụ này; nếu không, B là không trung thực.
3.5 Chia sẻ dữ liệu giữa các nút trong mạng
Cộng tác là thế mạnh chính của mạng ngang hàng. Các nút tham gia trong
mạng sẽ chia sẻ tài nguyên của chúng (như dữ liệu, chu trình xử lý, băng thơng,
khơng gian lưu trữ) tạo nên những ưu điểm của mạng ngang hàng. Tuy nhiên, trên
thực tế, nhiều người sử dụng các tài nguyên của hệ thống P2P mà không chia sẻ
tài nguyên của họ cho người khác sử dụng. Hơn nữa, việc cho phép một số nút
khác sử dụng tài nguyên có thể làm giảm cơng suất xử lý trên máy tính của mình.
Ví dụ, trong ứng dụng chia sẻ file Gnutella, việc cho phép upload của một nút có
thể tăng thêm sự chậm trễ trong việc download của nó. Một ví dụ khác, việc chia
sẻ chu trình xử lý của CPU trên máy tính của một người sẽ mất một thời gian lâu
hơn để chạy các cơng việc trên máy tính của người đó. Được chỉ ra bởi Feldman
và các đồng nghiệp của ông, một trở ngại cho việc hợp tác sẽ dẫn tới “tấm thảm
kịch chung” khi mà việc tự nguyện tham gia dựa trên cảm hứng cá nhân sẽ ảnh
23
Tiểu luận Internet và giao thức
hưởng tới hiệu năng chung của hệ thống (ngay cả khi việc tự nguyện tham gia này
chính là thứ làm nên ưu điểm của hệ thống). Cụ thể hơn, nghiên cứu của Feldman
đã chỉ ra ba kết quả:
−
Mức độ hợp tác tăng lên thì hiệu năng của hệ thống cũng tăng theo; tuy
nhiên chắc chắn có một “sweet-pot” nào đó mà khiến cho việc nâng cao
hiệu năng trở nên khơng cịn quan trọng.
−
Sự trở ngại cho việc chia sẻ tiềm ẩn cao tại những thành viên có băng
thơng khơng đồng nhất. Bởi vì khi những thành viên này cho phép dữ
liệu được upload thì họ phải chịu độ trễ nghiêm trọng trong việc
download.
−
Quyền ưu tiên của các gói tin TCP ack trên số gói tin dữ liệu giúp cho
loại trừ chi phí vốn tiềm ẩn của việc chia sẻ, do đó nó có thể có khả năng
tăng mức độ chia sẻ của hệ thống.
Kết quả của nghiên cứu chỉ rõ sự cần thiết của việc thiết kế các cách thức
khuyến khích nhằm khích lệ sự hợp tác. Các cơng trình trước đó đã xác định ra
những vần đề hợp tác thơng qua các trị chơi tiếp cận lý và các lý thuyết “kỹ thuật
thiết kế” có giá trị kinh tế. Tuy nhiên, một hệ thống P2P phải chấp nhận một vài
thách thức riêng cần phải nhắm tới:
−
Tính bất cân đối về quyền lợi: tính mất cân đối về quyền lợi xuất hiện
khi các nút nhận được quyền lợi khác nhau khi yêu cầu các tài nguyên từ
các nút khác. Theo cách này, nó có thể khó khăn cho server trong việc
quyết định xem có lợi cho hệ thống khơng nếu nó phục vụ các u cầu
đó.
−
Xác định nút xấu: một nút trong hệ thống P2P có thể liên tục thay đổi
định danh của nó. Như vậy, rất khó để theo dõi một nút mới gia nhập có
phải là nút thực sự muốn nhận các dịch vụ hay nó là một nút gia nhập
nhằm khai thác các lỗ hổng trong hệ thống.
−
Các dạng tấn công và sự cấu kết: các nút trong hệ thống có thể cấu kết
xác nhận cho nhau nhằm tạo ra uy tín cao (ví dụ, tuyên bố rằng chúng đã
24
Tiểu luận Internet và giao thức
chia sẻ nguồn tài nguyên giữa chúng nhưng thực tế chúng không hề chia
sẻ). Khả năng đối phó với các dạng tấn cơng là rất đáng quan tâm.
Để khai thác khả năng của công nghệ P2P mang lại thì cần có cơ chế để khuyến
khích các thành viên trong hệ thống đóng góp tài nguyên, cũng như cơ chế để thi
hành việc chia sẻ công bằng giữa các nút cần được chú ý. Các mục tiếp theo trong
phần này sẽ tìm hiểu về các phương pháp, các kỹ thuật đã được áp dụng để giải
quyết các vấn đề nêu trên.
3.6 Hệ thống dựa vào hạn ngạch
Trong các hệ thống hạn ngạch, mỗi thành viên được liên kết với một hạn ngạch
phản ánh số lượng tài nguyên mà một thành viên có thể sử dụng từ hệ thống. Khi
một thành viên cung cấp một dịch vụ, hạn ngạch của thành viên đó có thể được
tăng lên và khi thành viên đó sử dụng tài nguyên của hệ thống thì hạn ngạch của
thành viên đó sẽ giảm. Ví dụ, các thành viên chia sẻ khơng gian lưu trữ, thì hạn
ngạch có thể phản ánh được lượng khơng gian mà một thành viên có thể sử dụng
từ hệ thống. Các vấn đề quan trọng nằm trong việc quản lý thơng tin hạn ngạch.
- Một mơ hình quyền lực tập trung đáng tin cậy có thể được triển khai để quản
lý hạn ngạch. Với mơ hình này, mọi u cầu về dịch vụ sẽ tạo ra một truy vấn đến
các máy chủ tập trung. Bên cạnh các ưu điểm mà mơ hình này đem lại thì cũng
có những điểm hạn chế như: hiện tượng thắt cổ chai và đó là nguyên nhân duy
nhất khiến hệ thống sụp đổ.
- Thẻ thơng minh (smart card) có thể được sử dụng để quản lý hạn ngạch.
Trong hệ thống sử dụng thẻ thông minh, mỗi nút trong mạng có một thẻ thơng
minh riêng để quản lý việc sử dụng tài nguyên của một nút và tài nguyên cục bộ
mà nút đó chia sẻ cho các nút khác trong mạng. Cụ thể, khi một nút yêu cầu một
dịch vụ (hoặc tài nguyên) từ một nút khác, hạn ngạch của nó được giữ trong một
thẻ thông minh sẽ giảm. Ngược lại, khi nút này cung cấp một dịch vụ (hoặc tài
nguyên) cho một nút khác, hạn ngạch của nó sẽ tăng lên. Tuy nhiên, tính thực tiễn
của đề án này gặp phải vấn đề: việc cấp cho mọi người dùng một thẻ thơng minh
có thể khơng khả thi. Hơn nữa, tính tồn vẹn của dữ liệu lưu trong thẻ thơng minh
có thể bị xâm nhập bởi những người dùng xấu.
25