1. Trang chủ
  2. » Luận Văn - Báo Cáo

Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord kép

62 524 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 1,6 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mô hình mạng ngang hàng không có cấu trúc với ưu điểm dễ triển khai, khả mở nhưng lại tồn tại những nhược điểm cốt yếu như: không có tính định hướng, mỗi yêu cầu tìm kiếm thường được chu

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

LÊ ANH TUẤN

ĐỊNH TUYẾN AN TOÀN TRONG CẤU TRÚC BẢNG BĂM PHÂN TÁN

CHORD KÉP

Ngành: Công nghệ thông tin

Chuyên ngành: Truyền dữ liệu và Mạng máy tính

Mã số:

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Đại Thọ

Hà Nội - 2014

Trang 2

Lời cam đoan

Tôi xin cam đoan:

- Luận văn này là sản phẩm nghiên cứu của tôi

- Các số liệu, kết quả nêu trong luận văn chưa từng được cá nhân,

tổ chức nào công bố trong bất kỳ công trình nào khác

- Các thông tin trích dẫn đã được chỉ rõ nguồn gốc

Học viên

Lê Anh Tuấn

Trang 3

MỤC LỤC

DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT 5

DANH MỤC CÁC HÌNH ẢNH, ĐỒ THỊ 6

MỞ ĐẦU 8

CHƯƠNG 1: TỔNG QUAN VỀ MẠNG NGANG HÀNG 10

1.1 Khái niệm mạng ngang hàng 10

1.2 Các ứng dụng của mạng ngang hàng 10

1.3 Các mô hình mạng ngang hàng 12

1.3.1 Mạng ngang hàng không có cấu trúc 12

1.3.2 Mạng ngang hàng có cấu trúc 13

1.4 Cấu trúc chỉ mục phân tán Chord 16

CHƯƠNG 2: AN NINH CHO CẤU TRÚC CHỈ MỤC PHÂN TÁN 20

2.1 Giới thiệu 20

2.2 Tấn công dữ liệu và phương pháp phòng chống 20

2.3 Tấn công lợi dụng quá trình cấp phát định danh 21

2.3.1 Tấn công giả mạo và phương pháp phòng chống 21

2.3.2 Tấn công che khuất và phương pháp phòng chống 22

2.4 Tấn công định tuyến và phương pháp phòng chống 23

2.4.1 Định tuyến tương tác 25

2.4.2 Giá trị khoảng cách trung bình 25

2.4.3 Quá trình xác thực 26

2.4.4 Thuật toán quay lui 27

CHƯƠNG 3: CẤU TRÚC CHỈ MỤC PHÂN TÁN CHORD KÉP 29

3.1 Giới thiệu 29

3.2 Cấu trúc chỉ mục Chord kép 29

3.3 Định tuyến trong mạng Chord kép 31

3.4 Hiệu năng của mạng Chord kép 34

CHƯƠNG 4: MÔ PHỎNG VÀ ĐÁNH GIÁ HIỆU NĂNG ĐẢM BẢO AN NINH ĐỊNH TUYẾN CHO MẠNG CHORD KÉP 37

4.1 Tóm tắt những vấn đề an ninh 37

4.2 Xây dựng thủ tục định tuyến 38

4.3 Chương trình mô phỏng 42

4.3.1 Giới thiệu 42

Trang 4

4.3.2 Cấu trúc chương trình thử nghiệm 45

4.3.3 Khảo sát và đánh giá 46

4.3.3.1 Nhiễm độc có tính chất không hồi đáp truy vấn 47

4.3.3.2 Nhiễm độc có tính chất chuyển tiếp ngẫu nhiên các truy vấn 47

4.3.3.3 Các nút nhiễm độc thông đồng tạo vòng định tuyến nhỏ 49

KẾT LUẬN 52

TÀI LIỆU THAM KHẢO 54

PHỤ LỤC 56

1 Cấu trúc chương trình thử nghiệm 56

2 Một số các sửa đổi cơ bản trong chương trình mô phỏng 58

Trang 5

DANH MỤC KÝ HIỆU VÀ CHỮ VIẾT TẮT

BChord Bi-directional Routing DHT based on Chord: Chord kép CAN Content Addressable Network

DHT Distributed Hash Tables: Bảng băm phân tán

IP Internet Protocol: Giao thức liên mạng

PPLive

DOnet

GridMedia

Ứng dụng chia sẻ nội dung đa phương tiện trực tuyến

P2P Peer-to-Peer network: mạng ngang hàng

SHA-1 Secure Hash Algorithm - 1: Các thuật toán băm an toàn phiên

bản 1 TTL Time-to-live: định khoảng thời gian vòng đời

Trang 6

DANH MỤC CÁC HÌNH ẢNH, ĐỒ THỊ

Hình 1.1 Mô tả cấu trúc một mạng ngang hàng 10

Hình 1.2 Mô tả kỹ thuật tìm kiếm trong mạng Gnutella 13

Hình 1.3 Tìm kiếm và gia nhập mạng CAN 14

Hình 1.4 Trạng thái nút có định danh 10233102 trong Pastry 15

Hình 1.5 Mô hình bảng băm phân tán 16

Hình 1.6 Mô tả mạng Chord có 6-bit định danh 17

Bảng 1.1 Định nghĩa bảng chỉ mục phân tán Chord 17

Hình 1.7 Mô tả bảng chỉ mục phân tán tại một nút trên Chord 18

Hình 1.8 Mã giả thuật toán tìm successor(id) 18

Hình 1.9 Mô tả quá trình tìm successor của khóa K54 19

Hình 1.10 Mô tả quá trình nút N26 gia nhập mạng Chord 19

Hình 2.1 Một kiểu tấn công Sybil 22

Hình 2.2 Mô tả kiểu tấn công che khuất Eclipse 23

Hình 2.3 Ảnh hưởng của nút nhiễm độc đến sự thành công truy vấn 23

Hình 2.4 Mô tả một kiểu tấn công định tuyến nhắm vào bảng chỉ mục 24

Hình 2.5 Mô tả khái niệm khoảng cách trung bình giữa các nút 26

Hình 2.6 Mô tả quá trình xác định chỉ mục trỏ đến f 26

Hình 2.7 Mô tả thuật toán quay lui 28

Hình 3.1 Cấu trúc chỉ mục theo chiều ngược 30

Hình 3.2 Cấu trúc chỉ mục theo chiều thuận 30

Hình 3.3 Mô tả cấu trúc chỉ mục Chord kép của nút N8 31

Hình 3.4 Mô tả quá trình định tuyến trong Chord so với Chord kép 32

Hình 3.5 Mã giả thủ tục cho nút mới gia nhập mạng 34

Hình 3.6 So sánh pL giữa 2 giao thức trong không gian định danh m=4 34

Hình 3.7 Thông điệp quảng bá trong mạng Chord kép với n=4 35

Hình 3.8 Thông điệp quảng bá trong mạng Chord với n=4 36

Hình 4.1 Mô tả các tính chất của nút nhiễm độc 38

Trang 7

Hình 4.2 Cấu trúc chỉ mục phân tán Chord kép 39 Hình 4.3 Sơ đồ khối thủ tục định tuyến trong mô hình mạng Chord kép 40 Hình 4.4 Mô tả quá trình tìm kiếm khóa K3 và khóa K29 41 Hình 4.5 Mô tả khái niệm khoảng cách trung bình giữa các nút trong mô hình mạng Chord kép 43 Hình 4.6 Giao diện chính của chương trình mô phỏng 44 Hình 4.7 Biểu đồ mô tả mối tương quan về tỷ lệ truy vấn thành công trước (default) và sau khi áp dụng các giải pháp an ninh (secure) 47 Hình 4.8 Mô tả tỷ lệ truy vấn thành công trước và sau khi áp dụng các biện pháp an ninh với độ lệch chuẩn =3 48 Hình 4.9 Giá trị trung bình bước nhảy khi áp dụng các giải pháp an ninh 48 Hình 4.10 Mô tả tỷ lệ truy vấn thành công trong môi trường bị nhiễm độc có tính chất thông đồng với tham số độ lệch chuẩn (std.Deviation)=3 50 Hình 4.11 Sự ảnh hưởng của độ lêch chuẩn với tỷ lệ truy vấn thành công 50 Hình 4.12 Giá trị bước chuyển tiếp truy vấn trung bình dưới sự ảnh hưởng của

độ lêch chuẩn 51

Trang 8

MỞ ĐẦU

Mạng ngang hàng là mô hình mạng được ứng dụng rộng rãi trong lĩnh vực công nghệ thông tin đặc biệt là mạng diện rộng như Internet, từ các ứng dụng đơn giản như chia sẻ file, dữ liệu, truyền hình trực tuyến, trên nền Internet đến những ứng dụng phức tạp hơn như hệ thống truy vấn dữ liệu, hệ quản trị cơ sở dữ liệu,

Mô hình mạng ngang hàng không có cấu trúc với ưu điểm dễ triển khai, khả mở nhưng lại tồn tại những nhược điểm cốt yếu như: không có tính định hướng, mỗi yêu cầu tìm kiếm thường được chuyển đến một số lượng lớn các nút trong mạng gây tiêu tốn băng thông, thời gian tìm kiếm và không đảm bảo truy vấn sẽ thành công vì không có bất kỳ mối quan hệ nào giữa nút mạng với dữ liệu mà nó đang quản lý Mạng ngang hàng có cấu trúc với việc ứng dụng bảng băm phân tán định nghĩa liên kết giữa các nút trong mạng theo một nguyên tắc cụ thể, đồng thời xác định chặt chẽ mỗi nút chịu trách nhiệm đối với một phần dữ liệu chia sẻ nên đã khắc phục được những nhược điểm của mô hình mạng ngang hàng không cấu trúc Với cấu trúc chỉ mục phân tán dựa trên DHT mạng ngang hàng có cấu trúc Chord đã cho thấy một kiến trúc định tuyến hiệu quả, có tính tự tổ chức và khả

đó làm giảm độ tin cậy của toàn mạng Đã có những giải pháp khắc phục và chống lại cuộc tấn công vào quá trình định tuyến như giải pháp của Keith Needels (2008) trong bàibáo [8] hoặc phương pháp cải tiến của Nguyễn Minh Thăng (2013) trong bàibáo [10] và chúng đã được chứng minh là khá tốt và hiệu quả

Mạng ngang hàng Chord kép (BChord) [5] được thiết kế dựa trên mạng Chord, là sự mở rộng của mạng Chord về khả năng định tuyến, giờ đây các nút

Trang 9

trong mạng Chord kép có thể định tuyến theo hai chiều, cùng chiều kim đồng hồ (kế thừa từ Chord) và ngược chiều kim đồng hồ Với việc xây dựng cấu trúc chỉ mục mới, mạng Chord kép đã cho thấy khả năng định tuyến hiệu quả hơn mạng Chord Tuy nhiên cũng như các mạng ngang hàng khác, nó cũng tồn tại những vấn đề mất gây mất an toàn trong quá trình định tuyến, nút nhiễm độc có thể không hồi đáp hoặc loại bỏ các truy vấn chuyển qua nó, thay đổi đích đến của truy vấn làm sai lệch kết quả truy vấn, vì vậy khắc phục những vấn đề an ninh định tuyến trên Chord kép cũng cần phải được nghiên cứu và giải quyết

Hiện tại chưa có giải pháp an ninh định tuyến nào được xây dựng cho mạng Chord kép Mục tiêu của luận văn là xây dựng thủ tục định tuyến hiệu quả và ứng dụng các giải pháp chống tấn công định tuyến của Keith Needels trong bàibáo [8] trên Chord để áp dụng cho mạng Chord kép

Cấu trúc của luận văn bao gồm 4 chương:

- Chương 1 giới thiệu các khái niệm, tổng quan về mạng ngang hàng

- Chương 2 giới thiệu tổng quan các vấn đề an ninh và phòng chống tấn công trong cấu trúc chỉ mục phân tán

- Chương 3 trình bày cấu trúc chỉ mục trong mô hình mạng ngang hàng Chord kép

- Chương 4 giới thiệu chi tiết việc xây dụng thủ tục định tuyến trong cấu trúc chỉ mục Chord kép cùng với việc áp dụng các giải pháp an ninh theo [8] qua việc sửa đổi chương trình mô phỏng đồng thời là các đánh giá hiệu năng của các giải an ninh định tuyến đã nêu trong mạng Chord kép

Trang 10

CHƯƠNG 1: TỔNG QUAN VỀ MẠNG NGANG HÀNG

1.1 Khái niệm mạng ngang hàng

Mạng ngang hàng (peer-to-peer network) là mô hình mạng máy tính phân tán phi tập trung, các thành phần tham gia được gọi là các nút (nodes/ peers) nối với nhau qua các liên kết, có chức năng vừa là máy chủ, vừa là máy khách

Mỗi tác vụ (tra cứu, phát lại các đoạn video, tải file, ) được chia sẻ giữa các nút qua các liên kết mạng, mỗi nút lại tự đóng góp một phần tài nguyên sẵn

có (băng thông, dung lượng bộ nhớ, ) của mình cho hệ thống vì vậy thông tin được chia sẻ giữa các nút mà không cần thiết phải có máy chủ trung tâm và vẫn hoạt động tốt cả khi có một số nút gặp sự cố

Hình 1.1 Mô tả cấu trúc một mạng ngang hàng

1.2 Các ứng dụng của mạng ngang hàng

Mô hình mạng ngang hàng được ứng dụng rộng rãi trong trong thực tế từ những ứng dụng cơ bản như chia sẻ file, cung cấp các nội dung video, điện thoại trực tuyến đến những ứng dụng cho tính toán phân tán, đào tạo trực tuyến,

- Hệ thống chia sẻ tập tin (file): là một loại ứng dụng cơ bản của mô hình mạng ngang hàng, các ứng dụng này kết nối các nút tham gia cho phép phân phối

và tải về các tệp tin giữa các nút Tiêu biểu là BitTorrent (với giao thức bitTorrent), eDonkey2000 (với giao thức overnet), KaZaA (với giao thức fastTrack) và những

hệ thống tương đương, rất hiệu quả trong việc phổ biến và chia sẻ file trên mạng Internet nhất là các file lớn BitTorrent sử dụng 1 chương trình ứng dụng có gọi

là BitTorrent client, mỗi BitTorrent client có khả năng so sánh, yêu cầu và vận chuyển file trên hệ thống sử dụng giao thức bitTorrent, file có thể chứa bất kỳ thông tin nào, bao gồm cả văn bản, âm thanh, phim và nội dung đã được mã hóa Tốc độ tải về của file phụ thuộc vào số lượng các nút tham gia chia sẻ BitTorrent

Trang 11

được đánh giá cao về độ tin cậy và chi phí, theo ước tính chiếm khoảng 30% lưu lượng trên Internet (Wikipedia) Tuy nhiên, BitTorrent cũng có 1 số nhược điểm: không giúp ẩn danh địa chỉ người dùng, không khuyến khích các nút tham gia tái upload dữ liệu,

- Truyền hình trực tuyến: là các ứng dụng phân phát những nội dung đa phương tiện dựa trên mạng ngang hàng cung cấp cho người xem mọi lúc, mọi nơi

mà không cần đòi hỏi phải có thiết bị đầu cuối hoặc hệ thống mạng, thích nghi cho những mạng lớn với môi trường có tần suất vào/ ra liên tục, ví dụ các giao thức PPLive/ DOnet/ GridMedia hoạt động dựa trên phương thức kéo hoặc kéo-đẩy gói tin giữa các nút, phân phối luồng các nội dung trực tuyến hoặc đã ghi sẵn

Sự khác biệt giữa các gói tin truyền hình trực tuyến và các gói tin trong ứng dụng chia sẻ file là phải đáp ứng thời hạn phát lại, đồng thời trong hệ thống phải tồn tại những điểm nút có chức năng như máy chủ nhằm trợ giúp các nút mới tham gia vào hệ thống cũng như quản lý thành viên

- Tính toán phân tán: các ứng dụng được thiết kế nhằm tập trung nguồn lực tài nguyên từ các máy tính trong mạng Ý tưởng chính là tận dụng chu kỳ nhàn rỗi của các máy tính tham gia để phân phối tính toán cho các vấn đề lớn, như Seti@home [3] một dự án xây dựng một máy tính ảo lớn dựa trên sự nhàn rỗi của

hệ thống các máy thành phần tham gia vào một mạng ngang hàng, hệ thống gồm

có các máy chủ cơ sở dữ liệu, phân phối công việc cho mỗi nút và thu thập, tổng hợp kết quả khi tính toán xong

- Các ứng dụng trong đào tạo trực tuyến: được xây dựng như mô hình lớp học ảo, các nút tham gia vào hệ thống không hưởng thụ các bải giảng được phát trực tiếp mà còn chủ động phát lại các nội dung thu được cho các nút khác trên cùng một kênh để tận dụng tối đa băng thông phát của tất cả các nút nhờ đó tăng

độ tin cậy, giảm thiểu chi phí đầu tư vào nguồn phát ban đầu Mô hình đào tạo này còn có tính tiện dụng và xã hội hóa cao, người học và giáo viên có thể ở bất

kỳ đâu chỉ cần sử dụng máy tính cá nhân có giao tiếp mạng, người học có thể xem/ nghe bất cứ lớp học nào mà họ thích, ngoài ra hệ thống còn có tính năng cho phép người học đặt câu hỏi trực tiếp đến giáo viên hoặc trao đổi với những người học khác đang cùng tham gia lớp

- Ứng dụng thoại qua Internet: một số ứng dụng sử dụng mạng Internet như mạng nền cấu thành hệ thống, tiêu biểu là mạng Skype Skype là một mạng điện thoại Internet theo mô hình mạng ngang hàng được thành lập bởi Niklas Zennström và Janus Friis (những người sáng lập ra ứng dụng chia sẻ file KaZaA) Trong Skype thư mục người dùng được phân tán hoàn toàn trên các nút là các máy tính tham gia mạng vì vậy rất dễ dàng trong việc mở rộng mà không đòi hỏi

Trang 12

một cơ sở hạ tầng tập trung, phức tạp và đắt tiền (đã có trên 300 triệu người dùng trên toàn thế giới, số liệu thống kê từ Skype) Skype nổi bật nhờ các tính năng: hội thoại, hình ảnh miễn phí, tin nhắn Bên cạnh đó Skype còn sử dụng phương pháp “giao tiếp an toàn” gồm tập hợp những giải thuật má hóa mạnh mẽ, phổ biến

để mã hóa các thông điệp khiến ứng dụng này trở nên đáng tin cậy

1.3.1 Mạng ngang hàng không có cấu trúc

Là mô hình mạng có đặc điểm: liên kết giữa các nút trong mạng được thiết lập một cách ngẫu nhiên, không theo theo 1 luật nhất định nào, vì vậy cũng không

có mỗi liên quan nào giữa nút với dữ liệu mà nó đang lưu trữ, quản lý Một nút khi mới gia nhập mạng sẽ kết nối với nút đang ở trong mạng, nó sao chép các liên kết có sẵn của nút này, sau đó dần dần tự bản thân nó sẽ thêm vào các liên kết mới cho mình Chúng có thể đột ngột rời mạng mà không cần phải hoàn thiện bất cứ

1 thủ tục nào

Về cơ bản để tìm kiếm dữ liệu trong mô hình này, mỗi nút sẽ sử dụng một

kỹ thuật gửi yêu cầu tìm kiếm (ví dụ: gửi tràn, ) truyền lên cả mạng, vì vậy mà các yêu cầu tìm kiếm luôn lặp lại giữa các nút Khi nút nhận được 1 truy vấn, nó

sẽ gửi trả lại một danh sách các nội dung đúng hoặc phù hợp với truy vấn Hiệu quả truy vấn thành công phụ thuộc vào số lượng nút tham gia chia sẻ dữ liệu Các mạng ngang hàng không cấu trúc phổ biến trong thực tế: Napster, Gnutella,…

Gnutella [13] sử dụng kỹ thuật gửi tràn để quảng bá yêu cầu tìm file lên mạng Có 4 kiểu thông điệp trong Gnutella, Ping: gửi yêu cầu tới máy chủ nhất định, Pong: thông điệp trả lời ping trong đó có thông tin về địa chỉ IP/ số hiệu cổng và số lượng file chia sẻ của máy chủ, Query: thông điệp truy vấn chứa nội dung truy vấn có yêu cầu tốc độ chia sẻ tối thiểu, Query hit: thông điệp trả lời query có chứa thông tin về địa chỉ IP/ số hiệu cổng/ tốc độ đáp ứng tối thiểu từ máy chia sẻ và danh sách file chia sẻ có nội dung gần nhất với truy vấn yêu cầu Khi một nút đăng nhập Gnutella, nó sẽ gửi thông điệp ping tới các nút mà nó kết nối được, các nút này gửi lại pong trả lời đồng thời quảng bá thông điệp ping của nút mới tới các nút hàng xóm của nó Gnutella có sử dụng tham số TTL để duy trì thông điệp ping và query (truy vấn), gán định danh cho mỗi thông điệp để tránh đụng độ và trùng lặp Cuối cùng, khi nút nguồn nhận được thông điệp query hit

Trang 13

(hồi đáp), file yêu cầu sẽ được xác định trên 1 nút nào đó, nó sẽ kết nối với nút đó

và tải về thông tin Hình dưới đây mô tả quá trình gửi tràn tìm kiếm file

Truy vấn TTL = 2 Hồi đáp

Kết nối giữa các nút

Hình 1.2 Mô tả kỹ thuật tìm kiếm trong mạng Gnutella

Nhược điểm của mô hình mạng này là các mẫu dữ liệu được tìm kiếm, chia

sẻ nhiều thì tốc độ tìm kiếm nhanh và tỷ lệ thành công cao, ngược lại các mẫu dữ liệu ít được chia sẻ, chỉ luân chuyển qua 1 vài nút thì yêu cầu tìm kiếm đối với chúng ít có khả năng thành công

1.3.2 Mạng ngang hàng có cấu trúc

Khắc phục nhược điểm của mạng ngang hàng không có cấu trúc, mạng ngang hàng có cấu trúc sử dụng hệ thống bảng băm phân tán (DHT) Hệ thống này định nghĩa liên kết giữa các nút trong mạng phủ theo một thuật toán cụ thể: xác định khóa (key) cho mẫu dữ liệu, ánh xạ khóa vào nút mạng, đồng thời xác định chặt chẽ mỗi nút sẽ chịu trách nhiệm đối với một phần dữ liệu chia sẻ Với cấu trúc này, khi một nút cần tìm một mẫu dữ liệu, nó “băm” dữ liệu lấy khóa và

áp dụng một giao thức chung để xác định nút nào sẽ chịu trách nhiệm cho dữ liệu

đó, sau đó liên lạc trực tiếp đến nút đó để lấy kết quả Các mạng ngang hàng có cấu trúc phổ biến trong thực tế: CAN, Pastry, Chord, Tapestry, Phần dưới đây

sẽ xem xét một vài mô hình mạng ngang hàng có cấu trúc

- Mô hình mạng CAN [13]: là mô hình mạng được thiết kế cho khả năng chống chịu lỗi, tự tổ chức, khả mở CAN được xây dựng dựa trên kỹ thuật phân hoạch nhiều vùng nhỏ ảo có tính chất hợp tác qua lại lẫn nhau Không gian khóa được chia thành các vùng ảo và phân chia cho các nút quản lý Mỗi cặp (khóa, giá trị) được ánh xạ vào nút quản lý vùng khóa tương ứng bởi các hàm băm Các nút

sẽ duy trì thông tin định tuyến với các nút hàng xóm của nó, là các nút có vùng quản lý tiếp giáp với nhau Các nút hàng xóm này sẽ liên lạc với nhau để định

Trang 14

tuyến tìm tới các nút lưu giữ khóa ở xa hơn Mỗi thông điệp tìm kiếm chứa tọa độ điểm đích, một nút khi nhận được thông điệp truy vấn sẽ chuyển tiếp đến nút quản

lý vùng gần với tọa độ cần tìm nhất

Tiến trình 3 bước khi một nút mới tham gia mạng: nút mới tìm và kết nối với nút đã ở trong mạng; sử dụng cơ chế định tuyến CAN để tìm ra nút quản lý vùng sẽ phân chia, gán vùng đó cho nút; tập hàng xóm của vùng phân chia sau đó được cập nhật lại cho nút mới Hình 1.3.a dưới đây mô tả quá trình nút 1 định tuyến tìm nút có tọa độ (x,y) Nút 1 có tập hàng xóm là các nút {2, 3, 4, 5}, nút 1 qua nút 4 có vùng quản lý gần với nút có tọa độ (x,y) để chuyển truy vấn sang nút

4 Hình 1.3.b mô tả nút 7 gia nhập mạng CAN, vùng do nút 1 quản lý được chia đôi, tập tập hàng xóm của nút 1 sau khi phân chia gồm {2, 3, 4, 7} và nút 7 gồm {1, 2, 4, 5}

2 6

5 1

3

4

(x, y)

2 6

5 1

3

4 7

Hình 1.3 Tìm kiếm và gia nhập mạng CAN

- Mô hình mạng Pastry [12]: được thiết kế cho những ứng dụng mạng ngang hàng lớn có khả năng tự tổ chức, chống chịu lỗi, tin cậy và khả mở Mỗi nút trong Pastry được cấp một định danh số riêng không trùng lặp trong không gian định danh m-bit (m = 128) và được phân hoạch trên vòng tròn logic có giá trị tăng theo

chiều kim đồng hồ Khóa k là giá trị khi băm nội dung dữ liệu được ánh xạ vào

nút có định danh gần với định danh của khóa nhất Mỗi nút chịu trách nhiệm quản

lý môt hoặc một tập hợp các khóa Để định tuyến, mỗi nút lưu giữ các thông tin gồm: bảng định tuyến (routing table) chứa các tham chiếu tới nút khác trong không gian định danh; tập các nút cận (neightborhood set) và tập các lá (leaf set) chứa các định danh gần với định danh của nút nhất Bảng định tuyến tại một nút trong Pastry bao gồm L/b hàng, với 2b-1 mục trong mỗi hàng, thứ tự hàng trong bảng định tuyến được tính từ 0, hàng 0 là hàng trên cùng của bảng, trong bảng

định tuyến của nút n, mục ở hàng thứ i chứa các định danh của nút có i số đầu tiên

Trang 15

trong nodeID giống với i số đầu tiên trong nodeID của nút n, việc so sánh này

được tính lần lượt từng vị trí tương ứng với nhau của hai định danh và bắt đầu từ

số đầu tiên bên trái Nếu không có định danh của nút nào thỏa mãn tính chất trên

thì vị trí đó trong bảng định tuyến để trống Để định tuyến tìm khóa k, ban đầu nút

sẽ kiểm tra trong phạm vi tập lá, chuyển tới nút đánh số gần với khóa k nhất Nếu

khóa k không nằm trong tập lá, nút sẽ tìm kiếm trong bảng định tuyến chuyển truy vấn tới nút có số lượng chữ số đầu trong định danh giống với số đầu trong khóa k nhất

Hình dưới đây mô tả thông tin lưu tại nút có định danh nodeID = 10233102, tập nút lá lưu trữ các nút có tiền tố 10 Bảng định tuyến với tiền tố 3 để trống do không có nút nào thỏa mãn Tập các nút hàng xóm chứa tham chiếu đến nút gần với nút 10233102

Hình 1.4 Trạng thái nút có định danh 10233102 trong Pastry

- Mô hình mạng Chord: ra đời năm 2001, ứng dụng DHT trong việc xây dựng cấu trúc dữ liệu biểu diễn mối quan hệ giữa các nút trong mạng, gọi tắt là bảng chỉ mục phân tán (Finger table) Mỗi nút trong mạng Chord được gán 1 định danh duy nhất nhờ băm địa chỉ IP, định danh của khóa có được nhờ băm nội dung thông điệp/ dữ liệu Các nút được tổ chức trên vòng tròn modulo 2m (Chord ring)

có giá trị tăng theo chiều kim đồng hồ Khóa được gán cho nút có định danh gần

với giá trị khóa nhất Nút lưu giữ khóa k được gọi là successor(k) Quá trình định tuyến là quá trình tìm vị trí các successor(k) được mô tả tại phần dưới đây

Trang 16

1.4 Cấu trúc chỉ mục phân tán Chord

Bảng băm phân tán:được xem như là một cấu trúc dữ liệu phân tán, có khả năng cung cấp dịch vụ tra cứu/ tìm kiếm tương tự như một bảng băm, các cặp (khóa, giá trị) được lưu trữ trong DHT và ánh xạ vào các nút của hệ phân tán Bất

kỳ 1 nút nào trong hệ thống cũng có thể tìm và lấy được giá trị liên kết với một khóa cho trước một cách hiệu quả

DFCE3453

FFE2379E

46042841

Hình 1.5 Mô hình bảng băm phân tán (Wikipedia)

Mạng ngang hàng Chord: sử dụng hàm băm SHA-1 (hàm băm được giới thiệu năm 1995 bởi Cơ quan an ninh Quốc gia Mỹ, gồm 160 bit định danh) và kỹ thuật “consistent hashing” để gán khóa cho mỗi nút Trong đó, định danh của nút (identifier) có được nhờ “băm” địa chỉ IP, “băm” nội dung thông điệp, dữ liệu,

sẽ cho giá trị định danh của khóa (key)

Các định danh được tổ chức trên một mạng logic hình tròn modulo 2m (m

là số bit định danh) tăng theo chiều kim đồng hồ với m vị trí nút từ 0 đến 2m-1

Một khóa k được gán cho nút đầu tiên có giá trị định danh bằng hoặc lớn hơn gần nhất so với khóa k, nút đó được gọi là successor của khóa k, ký hiệu successor(k) Ngược lại, một nút có định danh liền sau khóa k được gọi là predecessor(k)

Hình dưới đây mô tả mạng Chord được tổ chức trên vòng tròn có m=6 bit

định danh Với 6 bít định danh sẽ có 32 vị trí nút tính từ vị trí 0, có 10 nút tham

gia lưu trữ 5 giá trị khóa Successor(10) - successor của key có giá trị bằng 10 -

là nút có định danh bằng 14 vì N14 là nút đầu tiên trên vòng tròn có giá trị định danh lớn hơn gần với K10 nhất, tương tự nút N32 lưu trữ 2 khóa có giá trị K24, K30 Như vậy trong mạng Chord cho phép một nút có thể lưu giữ nhiều giá trị khóa nhưng định danh mỗi nút là duy nhất

Trang 17

Hình 1.6 Mô tả mạng Chord có 6-bit định danh

Mỗi nút có lưu một cấu trúc dữ liệu dạng bảng chứa thông tin là vị trí các

nút lân cận, bảng này gồm có m mục gọi là bảng chỉ mục phân tán (finger table) Mục thứ i trong bảng chỉ mục phân tán của nút n trỏ tới định danh của nút s, là nút đầu tiên trên vòng Chord kế tiếp giá trị n + 2i-1, hay s = successor(n+2 i-1 ) (lấy

modulo 2m ) với 1 ≤ i ≤ m Node s được gọi là chỉ mục (finger) thứ i của node n,

ký hiệu n.finger[i] (chi tiết xem bảng 1.1 dưới đây):

Bảng 1.1 Định nghĩa bảng chỉ mục phân tán Chord

Ví dụ: tổ chức bảng chỉ mục phân tán của nút N8 trên vòng tròn định danh

có 6-bit, chỉ mục thứ nhất của N8 trỏ đến nút N14 vì N14 là nút đầu tiên kế tiếp sau (8 + 20) mod 26 = 9 Chỉ mục tiếp theo trỏ đến nút N14 vì N14 là nút gần nhất

so với giá trị (8 + 21) mod 26 = 10

Trang 18

Chỉ mục cuối cùng (8 + 24) mod 26 = 40 sẽ trỏ đến nút có định danh = 42

Hình 1.7 Mô tả bảng chỉ mục phân tán tại một nút trên Chord

Tìm kiếm: để tìm kiếm giá trị gắn với khóa k, nút tìm kiếm phải định vị được nút successor(k) trên vòng tròn, thuật toán dưới đây mô tả quá trình tìm kiếm/ định tuyến successor(k) tại một nút trong Chord

Hình 1.8 Mã giả thuật toán tìm successor(id)

Ví dụ, nút N8 cần tìm khóa K54, trên vòng Chord khóa K54 được lưu tại nút có định danh N56 (giá trị K54 nằm giữa giá trị N51 và N56, N56 là nút lớn hơn gần K54 nhất trên vòng tròn định danh)

Ban đầu N8 tìm successor(K54) trong khoảng (N8, N14], tuy nhiên giá trị

K54 > giá trị N14 nên nó sẽ chuyển sang tìm kiếm successor gần K54 nhất trong khoảng (N14:N42] Chỉ mục cuối của nút N8 trỏ đến nút N42 là nút có định danh gần với giá trị K54, N8 chuyển truy vấn đến N42 N42 tiếp tục tìm kiếm

successor(K54) trong khoảng (N42, N48], vì không có kết quả phù hợp, N42

Trang 19

chuyển truy vấn đến N51 N51 lặp lại quá trình trên và tìm được successor(K54)

= N56, kết quả được trả về cho N8 thông qua tuyến định tuyến đã đi qua Quá

trình cần 3 bước chuyển (hop) để tìm được nút đích

Hình 1.9 Mô tả quá trình tìm successor của khóa K54

Nút mới tham gia mạng: trong mạng thực, nút có thể vào/ ra ngẫu nhiên

Có 3 bước thủ tục cần cho các tình huống này, giải sử nút n tham gia mạng

- Thiết lập nút predecessor và bảng chỉ mục cho n,

- Cập nhật bảng chỉ mục và nút predecessor,

- Thông báo đến các tầng trên về việc gia nhập thành công và sẵn sàng hồi

đáp truy vấn đến khóa mà nó vừa được trao

Hình dưới đây mô tả quá trình nút N26 gia nhập mạng Nút N26 được đặt

vào khoảng giữa nút N21 và N32, N26 tìm nút successor của nó và trỏ tới N32,

N21 trở thành nút predecessor của N26 (hình 1.11.b) Tiếp theo N26 sao chép các

giá trị khóa nằm trong khoảng từ 26 đến 31 (hình 1.11.c) Cuối cùng nó khởi chạy

thủ tục ổn định để trở thành nút successor của N21 (hình 1.11.d)

Hình 1.10 Mô tả quá trình nút N26 gia nhập mạng Chord

Trang 20

CHƯƠNG 2: AN NINH CHO CẤU TRÚC CHỈ MỤC PHÂN TÁN

2.1 Giới thiệu

DHT cung cấp một cơ chế cho phép triển khai những hệ thống mạng ngang hàng phân tán không tập trung có khả năng mở rộng và chống chịu lỗi tốt Không thể phủ nhận những lợi điểm mà cơ chế DHT tạo ra.Tuy nhiên nó cũng luôn tồn tại những vấn đề an ninh, an toàn định tuyến nhất là với cấu trúc chỉ mục phân tán dựa trên DHT Dưới đây sẽ xem xét các cách thức mà kẻ tấn công có thể lợi dụng

và hậu quả mà chúng gây ra cho hệ thống cũng như các giải pháp phòng tránh

Dựa theo cách thức, hình thức tấn công, có thể chia thành các loại sau đây

- Tấn công dữ liệu [8]

- Tấn công lợi dụng quá trình cấp phát định danh [7], [16]

- Tấn công định tuyến [8]

2.2 Tấn công dữ liệu và phương pháp phòng chống

Đây là cách tấn công đơn giản nhất nhắm vào giao thức sử dụng DHT, kẻ tấn công có thể từ chối cung cấp dữ liệu liên kết với khóa được yêu cầu truy vấn, thay đổi dữ liệu hiện đang lưu trữ Tính toàn vẹn dữ liệu được coi như vấn đề an ninh mức ứng dụng Tuy nhiên sẽ ra sao nếu như một nút đã định vị đúng nút chứa

khóa k chịu trách nhiệm về dữ liệu gắn với khóa nhưng lại không được cung cấp

nội dung dữ liệu đó

Giải pháp khắc phục cuộc tấn công này dùng kỹ thuật “tạo bản sao” (replication) rất phổ biến trong hệ quản trị cơ sở dữ liệu, bằng cách kết hợp khóa với nhiều nút khác nhau

Nhiều giao thức dựa trên DHT có thiết kế sẵn cơ chế tạo bản sao Trong mạng Chord, cơ chế tạo bản sao được triển khai với một nhóm các nút cùng nắm giữ một khóa Pastry tổ chức các bản sao tới các nút xung quang nút gốc trên vòng tròn CAN sử dụng nhiều hàm băm khác nhau sinh khóa cho cùng một mẫu dữ liệu, các khóa này sẽ được phân phối ngẫu nhiên đến các định danh trong mạng

Tuy nhiên, khi kẻ tấn công từ chối cung cấp dữ liệu gắn với khóa tại nút nhiễm độc, việc tra cứu sẽ phải kiểm tra các bản sao của khóa để chắc chắn dữ liệu không tồn tại, nghĩa là sẽ phải sử dụng song song nhiều hàm băm, việc này tiêu tốn đáng kể thời gian truy vấn

Trang 21

2.3 Tấn công lợi dụng quá trình cấp phát định danh

Loại hình tấn công này nhắm vào các lỗ hổng của quá trình cấp phát định danh cho một nút mới tham gia mạng Dưới đây xem xét 2 loại hình tấn công phổ biến gồm

- Tấn công giả mạo (Sybil attack) [7],

- Tấn công che khuất (Eclipse attack) [16]

2.3.1 Tấn công giả mạo và phương pháp phòng chống

Tấn công giả mạo trong mạng ngang hàng là cuộc tấn công phá hoại dựa vào sự không an toàn của hệ thống cấp phát định danh, bằng cách tạo ra một lượng lớn các nút ảo và sử dụng chúng để gây ảnh hưởng đến hệ thống mạng

Lợi dụng đặc tính của mạng ngang hàng dựa trên DHT, mỗi nút trong mạng cần duy trì một cơ sở dữ liệu là các định danh của các nút mà nó liên kết đến Cấu trúc của tập này được hình thành theo quy tắc riêng đối với từng loại mạng cụ thể Khi một nút mới gia nhập mạng, hệ thống sẽ cấp phát cho nó 1 định danh Kẻ tấn công khi biết định danh của nút có thể sinh ra một tập các định danh ảo nhằm đưa các định danh ảo này vào tập các nút liên kết (tập nút hàng xóm), quá trình sẽ dần thành công và kẻ tấn công dựa vào các định danh ảo để kiểm soát lưu lượng, kiểm soát định tuyến, dữ liệu và các thông tin truyền trong mạng

Các loại tấn công giả mạo nhắm vào cấu trúc chỉ mục:

- Kẻ tấn công tạo ra hàng loạt nút Sybil có định danh nhất định, chúng sẽ chặn bắt các truy vấn sau đó trả lại thông tin sai hoặc vứt bỏ

- Kẻ tấn công nhắm vào 1 nút nào đó, để tiến hành tấn công, kẻ tấn công phỏng đoán định danh của nút sau đó tạo ra một loạt các nút có định danh gần giống định danh của nút nạn nhân và gây ảnh hưởng tới các truy vấn đến khóa

Nút nạn nhân Nút Sybil

Trang 22

Hình 2.1 Một kiểu tấn công Sybil

Giải pháp chống lại cuộc tấn công giả mạo là hệ thống phải đảm bảo mỗi định danh được cấp cho mỗi nút là duy nhất và hạn chế khả năng xác định danh tính bằng sự tin cậy từ trung tâm chứng thực ủy quyền [1] có đề xuất phương án dùng trung tâm chứng thực có thu phí để cấp định danh nhằm hạn chế việc sinh định danh Một số ý tưởng khác đề xuất buộc nút mới tham gia phải giải quyết các câu đố ngẫu nhiên Tuy nhiên đây là một thách thức không nhỏ khi câu đố phải đơn giản để máy gia nhập dễ dàng giải quyết nhưng cũng phải đủ mạnh để ngăn chặn kẻ tấn công

2.3.2 Tấn công che khuất và phương pháp phòng chống

Cũng như kiểu tấn công giả mạo, tấn công che khuất cũng lợi dụng quá trình cấp phát định danh ban đầu để thâm nhập mạng Kẻ tấn công sẽ cố gắng tìm cách điều khiển một lượng lớn các đối tượng là các nút thành viên trong tập hàng xóm của nút nạn nhân, các nút bị điều khiển gọi là các nút gây hại sẽ “che khuất” nút nạn nhân đối với các nút khác trong mạng, khi nút nạn nhân muốn gửi dữ liệu hoặc chuyển tiếp các thông tin định tuyến, nó sẽ phải liên lạc với các nút trong tập hàng xóm, trong trường hợp tồi nhất tất cả các nút của tập hàng xóm đều nhiễm

độc thì mọi thông tin vào ra từ nút nạn nhân sẽ bị kiểm soát và điều khiển, dữ liệu

hoặc các thông tin định tuyến có thể không bao giờ tới đích

Lỗ hổng an ninh trong hệ thống cấp phát định danh ban đầu khi nút mới tham gia mạng sẽ bị kẻ tấn công lợi dụng để đưa vào mạng một số lượng nút nhiễm độc ban đầu, các nút này lại có thể đưa thêm các nút nhiễm độc khác tham gia hệ thống

Một cách khác cũng có thể khiến nút nhiễm độc xâm nhập vào tập hàng xóm của nút nạn nhân đó là thực hiện theo chu kỳ quá trình duy trì liên kết mạng vốn là các đặc tính của loại mạng dựa trên DHT, quá trình sẽ tìm và loại bỏ các nút bị lỗi ra khỏi các tập hàng xóm đồng thời thay thế vào đó các nút khác đang hoạt động Các nút nhiễm độc sẽ lợi dụng thời điểm này này để làm tăng số lượng các nút nhiễm độc trong các tập hàng xóm của các nút nạn nhân

Tuy nhiên, cuộc tấn công che khuất cần 1 lượng nhất định các nút nhiễm độc thông đồng với nhau để đảm bảo “che khuất” làm cho các nút nạn nhân chỉ biết đến chúng, mọi liên hệ khác với mạng đều bị chi phối và khống chế bởi các nút nhiễm độc

Giải pháp khắc phục cuộc tấn công che khuất dựa vào các ràng buộc trong việc lựa chọn tập các nút hàng xóm, phải đảm bảo tập này luôn luôn an toàn trước

Trang 23

các nút gây hại như ràng buộc mạnh mẽ trong cấu trúc, ràng buộc gần hoặc cơ chế giới hạn bậc, kiểm tra ẩn danh

Hình 2.2 Mô tả kiểu tấn công che khuất Eclipse

2.4 Tấn công định tuyến và phương pháp phòng chống

Tìm kiếm và định tuyến trong cấu trúc chỉ mục tại mỗi nút phụ thuộc nhiều vào sự liên kết giữa các nút xung quanh vì vậy việc đảm bảo an toàn cho quá trình định tuyến là yếu tố quan trọng nhất, kẻ tấn công có thể điều khiển một lượng nhỏ các nút nhiễm độc nhưng có thể gây ảnh hướng lớn đến hệ thống, hình 3.3 dưới đây cho thấy chỉ tối đa 20% nút nhiễm độc đã gây ảnh hưởng đến 60% sự thành công của các truy vấn

Hình 2.3 Ảnh hưởng của nút nhiễm độc đến sự thành công truy vấn

Có 2 phương pháp định tuyến dựa vào bảng chỉ mục: phương pháp lặp và

đệ quy Đệ quy là phương pháp mà một yêu cầu tra cứu xuất phát từ 1 nút, theo

0 10 20 30 40 50 60 70 80 90 100

Trang 24

bảng chỉ mục nó gửi yêu cầu này tới nút hàng xóm, các nút này lại tiếp tục gửi đi yêu cầu tới các nút khác cho đến khi tìm được nút đích, nghĩa là truy vấn được chuyển tiếp từ nút này đến nút khác, nút đích theo đường định tuyến đã định sẽ gửi hồi đáp về nút nguồn, nút nguồn không điều khiển quá trình tìm đường đến nút đích Ngược lại, định tuyến lặp cho phép nút nguồn điều khiển quá trình tìm đường đến đích, khi phát ra yêu cầu truy vấn gửi tới 1 nút, nó sẽ đợi câu trả lời của nút đó về nút đến tiếp theo của truy vấn sau đó sẽ quyết định chuyển tiếp truy vấn Nhược điểm của phương pháp lặp là tiêu tốn gấp 2 lần thời gian so với định tuyến đệ quy

Cả 2 phương pháp định tuyến trên đều rất dễ bị tổn thương khi gặp phải nút nhiễm độc trên tuyến đường định tuyến Nút nhiễm độc có thể không hồi đáp truy vấn, hoặc chuyển tiếp truy vấn đến 1 đích sai hoặc đến 1 nút nhiễm độc khác, Nút bị nhiễm độc theo 1 cách tự nhiên, không cần nhắm đến lỗ hổng cấp phát định danh vì ban đầu chúng là các nút sạch nhưng bị kẻ tấn công lợi dụng biến chúng trở thành nút nhiễm độc

Hình 2.4 Mô tả một kiểu tấn công định tuyến nhắm vào bảng chỉ mục Giải pháp chống lại tấn công định tuyến của [8] và giải pháp cải tiến [12]

áp dụng trên mạng Chord đã chứng minh được sự hiệu quả khi sử dụng kết hợp các phương pháp theo mô hình:

- Định tuyến tương tác: giám sát quá trình định tuyến đến đích

- Xác thực mỗi bước chuyển tiếp truy vấn

- Quay lui khi xác thực thất bại

Fuction

Hash(Hanoi) Return 1665

130-295

296-203

504-667 668-800

801-111

122-195 110-255

Host 142.21.63.157

1665: Hanoi

11: Kline

99-150

Lookup(1665) Return 66.65.66.65

Host

66.65.66.65

1665: Hanoi

Trang 25

2.4.1 Định tuyến tương tác

Theo thiết kế định tuyến trong Chord, mỗi nút sẽ dựa vào bảng chỉ mục của mình để chuyển các yêu cầu tra cứu, một nút nào đó có định danh trong bảng chỉ mục sẽ nhận được yêu cầu tra cứu từ nút nguồn, chúng tiếp tục chuyển yêu cầu

đó tới các nút tiếp theo, quá trình được lặp lại cho đến khi gặp nút đích là successor

của khóa muốn tìm Như vậy nút nguồn chỉ trao yêu cầu tra cứu cho nút hàng xóm của mình, sau đó chờ kết quả mà không có bất cứ trao đổi hoặc điểu khiển nào với các nút hàng xóm Đây chính là lỗ hổng mà kẻ tấn công sẽ nhắm vào để thay đổi kết quả truy vấn

Để điều khiển, giám sát quá trình định tuyến thay vì việc trao truy vấn tới mỗi nút tham chiếu thì sử dụng phương pháp định tuyến có sự tương tác Nút nguồn sẽ chuyển yêu cầu định tuyến cho các nút hàng xóm của nó, sau đó nhận thông tin chuyển tiếp sang nút mới từ các nút này, nút nguồn sẽ tự quyết định chuyển tiếp hay không qua quá trình xác thực

2.4.2 Giá trị khoảng cách trung bình

Quá trình xác thực nút sẽ dựa trên sự tính toán giá trị khoảng cách trung bình giữa các nút liên tiếp nhau Để tính giá trị trung bình, bảng chỉ mục giờ đây

lưu thêm các thông tin định danh của các nút successor, predecessor Đồng thời

sử dụng cơ chế xén-tỉa để loại bỏ các khoảng cách tới những nút bị nhiễm độc (những nút bị nhiễm độc có xu hướng tạo ra các “khoảng cách” lớn hoặc nhỏ hơn khoảng cách trung bình) Trong suốt quá trình định tuyến sẽ sử dụng giá trị này

để xác thực nút đích của mỗi bước chuyển của tuyến đường định tuyến Nếu nút tiếp theo của tuyến đường định tuyến thất bại trong việc xác thực (có tỷ lệ cao là nút nhiễm độc) thì nút này sẽ được thêm vào danh sách đen, đồng thời tiến trình định tuyến sẽ lùi lại 1 nút trước nút hiện tại và tiếp tục định tuyến theo hướng mới

Nút khởi tạo truy vấn Khoảng cách giữa các nút liên tiếp Nút tham chiếu trong bảng chỉ mục

Trang 26

Hình 2.5 Mô tả khái niệm khoảng cách trung bình giữa các nút

2.4.3 Quá trình xác thực

Một tính chất quan trọng trong cấu trúc chỉ mục phân tán là: gọi p, q là 2 nút liên tiếp nhau trên vòng tròn định danh, f là đích của chỉ mục sẽ trỏ vào khoảng giữa p và q, nếu |p - q| là khoảng cách giữa p, q thì f phải thỏa mãn công thức sau:

| f i – f | ≤ E(id) + α×σ (3)

trong đó E(id) là giá trị trung bình giữa các nút liên tiếp

σ: độ lệch chuẩn khi tiến hành lấy mẫu khoảng cách giữa các nút liên tiếp α: trọng số cho độ lệch chuẩn

Ngược lại, f sẽ coi là thất bại khi xác thực và bị đưa vào danh sách đen

Việc xác thực này đã khiến kẻ tấn công không thể dễ dàng đánh lừa các nút nguồn,

cô lập những nút độc hại và không thể chuyển tiếp đến nút nào khác ngoài nút đúng trên tuyến đường định tuyến

Dưới đây là thủ tục xác thực mỗi nút là đích đến của quá trình chuyển tiếp truy vấn Các tham số vào:

firstNodeID – định danh của nút mà chỉ mục sẽ trỏ đến,

secondNodeID – định danh của nút cuối trên tuyến định tuyến,

AVG_DIST giá trị trung bình của các nút liên tiếp nhau

predecessor(p)

Trang 27

n.verify_hop(firstNodeID, secondNodeID, indexUsed)

fingerPointer=(firstNodeID+pow(2,indexUsed))mod 2 m dist=secondNodeID-fingerPointer mod 2 m

acceptDist=AVG_DIS+(SD_MOD*STD_DIS) if(dist > acceptDist) return false else return true

end

2.4.4 Thuật toán quay lui

Để tìm kiếm/ định tuyến, nút nguồn cần chuyển tiếp truy vấn của mình tới nút tham chiếu trong bảng chỉ mục để tìm nút có định danh gần nhất so với định

danh của khóa muốn tìm (nút successor) Nếu nút successor của khóa muốn tìm

là một trong các nút tham chiếu của bảng chỉ mục, định danh nút này sẽ được gửi lại nút đặt truy vấn và quá trình tìm kiếm kết thúc Ngược lại, truy vấn tiếp tục được gửi đi

Khi yêu cầu truy vấn xuất hiện tại một nút nào đó, nó sẽ tìm nút thích hợp

để chuyển yêu cầu truy vấn, nút sẽ nhận yêu cầu truy vấn này phải trải qua quá trình xác thực, kiểm tra Giả sử nút này không vượt qua quá trình xác thực (theo thuật toán tại mục 2.4.3), nút trao yêu cầu truy vấn sẽ tìm đến nút liền kề với nút này và có định danh gần với định danh của khóa muốn tìm nhất trong bảng chỉ mục của mình, quá trình này gọi là thuật toán quay lui Nút không vượt qua quá trình xác thực sẽ được thêm vào danh sách “đen” (black list) để tranh sử dụng lại

Hình 2.7 dưới đây minh họa thuật toán quay lui, nút nguồn đặt yêu cầu truy vấn tìm nút đích cho nút cuối cùng (nút này có định danh gần nhất so với định danh khóa muốn tìm) trong bảng chỉ mục của mình với bước chuyển 1 (BC1) Nút này vượt qua quá trình xác thực và chuyển tiếp yêu cầu truy vấn từ nút nguồn cho nút tiếp theo với BC2 Qua quá trình xác thực xác định nút nhận yêu cầu truy vấn cho BC2 là hợp lệ, nó chuyển tiếp yêu cầu truy vấn cho nút tiếp theo với BC3, tuy nhiên nút này cung cấp bước chuyển tiếp nữa lại không vượt qua quá trình xác thực, nút đặt yêu cầu truy vấn thực hiện thuật toán quay lui, lựa chọn nút gần nhất với khóa muốn tìm qua BC4 Nút nhận yêu cầu truy vấn qua BC4 cung cấp bước

Trang 28

chuyển tiếp không hợp lệ, tiến trình quay lại với nút nhận yêu cầu truy vấn qua BC5 Từ nút này qua tìm kiếm đã tìm được nút đích

BC 1

BC 2

Nút nguồn Nút đích Bước chuyển tiếp truy vấn (BC) Nút nhiễm độc

Hình 2.7 Mô tả thuật toán quay lui

Trang 29

CHƯƠNG 3: CẤU TRÚC CHỈ MỤC PHÂN TÁN CHORD KÉP

- Khả năng mở rộng: độ phức tạp của một truy vấn trong mạng Chord tăng lên ứng với log của số lượng các nút, do đó có thể đáp ứng cả với những hệ thống rất lớn

- Khả năng chịu lỗi: Chord có khả năng tự điều chỉnh các bảng định tuyến trên mỗi nút tương ứng với sự ra/ vào mạng của các nút, kể cả việc các nút đột ngột rời khỏi mạng Chord còn đảm bảo trong bất kỳ môi trường mạng nào với mỗi một khóa bất kỳ đều có một nút tương ứng, chịu trách nhiệm về khóa đó

- Khả năng đặt tên linh hoạt: giao thức Chord không có bất kỳ rằng buộc nào trên cấu trúc key mà nó tra cứu/ tìm kiếm Các ứng dụng sử dụng Chord có khả năng tùy biến trong việc gán tên với các khóa

Đã có những nghiên cứu nhằm mục đích cải tiến hiệu năng, nâng cao hiệu quả của giao thức Chord [14] [15], tuy nhiên các nghiên cứu này chỉ dựa trên cấu trúc chỉ mục cơ bản (đơn hướng, cùng chiều kim đồng hồ) của Chord

[5] đưa ra một đề xuất cải thiện việc truy vấn và định tuyến trong mô hình mạng Chord bằng cách xây dựng quy tắc sao cho mô hình mạng mới có khả năng định tuyến theo 2 chiều, mô hình mạng mới này gọi là Chord kép (Bi-Chord)

Cấu trúc chỉ mục Chord kép được xem là phần mở rộng của cấu trúc chỉ mục Chord khi thêm vào chiều ngược lại Với cấu trúc chỉ mục mới, các nút trên vòng Chord có thể định tuyến theo 2 chiều, cùng chiều kim đồng hồ và ngược chiều kim đồng hồ

3.2 Cấu trúc chỉ mục Chord kép

Trong không gian định danh m bit, nếu như cấu trúc chỉ mục Chord chứa

m chỉ mục có thứ tự từ 0 ÷ m-1 và mỗi nút cần viếng thăm O(logN) (N số nút tham

gia) với các nút trong mạng thì cấu trúc chỉ mục Chord sẽ có 2m-1 chỉ mục gồm:

Trang 30

m chỉ mục theo chiều thuận (cùng chiều kim đồng hồ),

m-1 chỉ mục theo chiều ngược (ngược chiều kim đồng hồ)

Và như vậy cấu trúc chỉ mục Chord kép có 2m-1 chỉ mục có giá trị từ 0 ÷

2m-2 Hình 3.1 và hình 3.2 mô tả cấu trúc chỉ mục Chord kép theo [5]

Hình 3.2 Cấu trúc chỉ mục theo chiều thuận

Trong đó phần thuận (clockwise) được ký hiệu dấu “+”, phần ngược clockwise) ký hiệu “ ˗ ”

(anti-Hình 3.3 dưới đây mô tả cấu trúc chỉ mục Chord kép tại nút N8 Theo chiều thuận, N8 có các nút tham chiếu theo bảng chỉ mục gồm {N14, N21, N32, N42}, còn theo chiều ngược N8 tham chiếu đến {N8, N56} Chi tiết như sau:

Trang 31

Hình 3.3 Mô tả cấu trúc chỉ mục Chord kép của nút N8

[5] đã đưa ra quy tắc cho cấu trúc chỉ mục Chord kép mà chưa xây dựng thủ tục định tuyến/ truy vấn cụ thể Việc đề xuất và xây dựng chi tiết thủ tục định tuyến cho Chord kép sẽ được đề cập tại chương 4 của luận văn

3.3 Định tuyến trong mạng Chord kép

Được xem như phần mở rộng của mạng Chord, mạng Chord kép kế thừa hoàn toàn các thuộc tính của giao thức Chord Nếu trong Chord các truy vấn định tuyến chỉ được thực hiện theo 1 chiều (cùng chiều kim đồng hồ) thì Chord kép các truy vấn có thể thực hiện theo cả 2 chiều (cùng chiều kim đồng hồ, chiều thuận

và ngược chiều kim đồng hồ, chiều ngược)

Để định tuyến thành công, các nút trong Chord kép phải xác định chính xác

vị trí nút successor của khóa k trên vòng tròn và phụ thuộc rất nhiều vào các nút

được tham chiếu đến trong bảng chỉ mục

Hình 3.4 dưới đây so sánh quá trình định tuyến tìm kiếm giá trị khóa K54 trong mô hình mạng Chord và Chord kép với 6-bit định danh (theo [5])

- Khóa có định danh K54 được lưu tại nút N56, N56 là successor của

K54

- Nút N8 muốn tìm giá trị khóa K54  N8 định vị được nút N56

- Chi tiết bảng chỉ mục của nút N8 với 2 mô hình Chord và Chord kép như sau:

+8

+16 +32

- 8

- 16

Ngày đăng: 11/07/2015, 10:24

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Castro, M., Druschel, P., Ganesh, A., Rowstron, A., Wallach, (2002): Security for Peer-to-Peer Routing Overlays, Proc. Of the Fifth Symposium on Operating Systems Design and Implementation (OSDI '02) Sách, tạp chí
Tiêu đề: Security for Peer-to-Peer Routing Overlays
Tác giả: Castro, M., Druschel, P., Ganesh, A., Rowstron, A., Wallach
Nhà XB: Proc. Of the Fifth Symposium on Operating Systems Design and Implementation (OSDI '02)
Năm: 2002
2. Dinger, J. and Hartenstein, H. (2006): Defending the Sybil Attack in P2P Networks: Taxonomy, Challengers, and a Proposal for Self-Registration.Proc. Of the First International Conference on Availability, Reliability, and Security Sách, tạp chí
Tiêu đề: Defending the Sybil Attack in P2P Networks: Taxonomy, Challengers, and a Proposal for Self-Registration
Tác giả: Dinger, J., Hartenstein, H
Nhà XB: Proc. Of the First International Conference on Availability, Reliability, and Security
Năm: 2006
4. Douceur, J. (2002): The Sybil Attack. Proc. of the First International Workshop on Peer-to-Peer Systems (IPTPS '02) Sách, tạp chí
Tiêu đề: The Sybil Attack
Tác giả: Douceur, J
Nhà XB: Proc. of the First International Workshop on Peer-to-Peer Systems (IPTPS '02)
Năm: 2002
5. Hongwei Chen, Zhiwei Ye. (2008), BChord: Bi-directional Routing DHT based on Chord, IEEE Sách, tạp chí
Tiêu đề: BChord: Bi-directional Routing DHT based on Chord
Tác giả: Hongwei Chen, Zhiwei Ye
Nhà XB: IEEE
Năm: 2008
7. J. R. Douceur (2002). The Sybil Attack. In Proceedings of 1st International Workshop on Peer-to-Peer Systems (IPTPS) Sách, tạp chí
Tiêu đề: The Sybil Attack
Tác giả: J. R. Douceur
Nhà XB: Proceedings of 1st International Workshop on Peer-to-Peer Systems (IPTPS)
Năm: 2002
8. Keith Needels. (2008), Detecting and Recovering from Overlay Routing Attacks in Peer-to-Peer Distributed Hash Tables, Department of Computer Science Rochester Institute of Technology Sách, tạp chí
Tiêu đề: Detecting and Recovering from Overlay Routing Attacks in Peer-to-Peer Distributed Hash Tables
Tác giả: Keith Needels
Nhà XB: Department of Computer Science Rochester Institute of Technology
Năm: 2008
9. K. Hildrum and J. Kubiatowicz (2003). Asymptotically ef_cient approaches to fault-tolerance in peer-to-peer networks. In Proceedings of 17thInternational Symposium on Distributed Computing, Sorrento, Italy Sách, tạp chí
Tiêu đề: Asymptotically ef_cient approaches to fault-tolerance in peer-to-peer networks
Tác giả: K. Hildrum, J. Kubiatowicz
Nhà XB: Proceedings of 17th International Symposium on Distributed Computing
Năm: 2003
10. Nguyen Minh Thang. (2013), Defending against Routing Attacks in Structured Peer-to-Peer Overlay Networks, Master thesis, Pôle Universitaire Franỗais University of Engineering and Technology Sách, tạp chí
Tiêu đề: Defending against Routing Attacks in Structured Peer-to-Peer Overlay Networks
Tác giả: Nguyen Minh Thang
Nhà XB: Pôle Universitaire Franỗais University of Engineering and Technology
Năm: 2013
11. Ratnasamy, S., Francis, P., Handley, M., Karp, R., Shenker, S. (2001): A Scalable Content Addressable Network, Proc. Of ACM SIGCOMM’01 Sách, tạp chí
Tiêu đề: A Scalable Content Addressable Network
Tác giả: Ratnasamy, S., Francis, P., Handley, M., Karp, R., Shenker, S
Nhà XB: Proc. Of ACM SIGCOMM’01
Năm: 2001
12. Rowstron, A., Druschel, P . (2001): Pastry: Scalable, distributed object location and routing for largescale peer-to-peer systems. In: Proc.IFIP/ACM Middleware 2001, Heidelberg, Germany Sách, tạp chí
Tiêu đề: Pastry: Scalable, distributed object location and routing for largescale peer-to-peer systems
Tác giả: Rowstron, A., Druschel, P
Năm: 2001
13. Wallach, D. (2002): A Survey of Peer-to-Peer Security Issues. Proc. Of International Symposium on Software Security Sách, tạp chí
Tiêu đề: A Survey of Peer-to-Peer Security Issues
Tác giả: D. Wallach
Nhà XB: Proc. Of International Symposium on Software Security
Năm: 2002
14. Cordasco G., Gargano L., Hammar M., Negro A., Scarano V. (2004), F- Chord:Improved Uniform rounting on Chord, In Proc. Of 11th Colloquium on structural information and communication complexity Sách, tạp chí
Tiêu đề: F- Chord:Improved Uniform rounting on Chord
Tác giả: Cordasco G., Gargano L., Hammar M., Negro A., Scarano V
Nhà XB: Proc. Of 11th Colloquium on structural information and communication complexity
Năm: 2004
15. Hazel, S.,Wiley, B. Achord: A variant of the chord lookup service for use in censorship resistant peer-to-peer publishing systems. In Proceedings of the 1st International Workshop on Peer-to-Peer Systems (IPTPS '02) Sách, tạp chí
Tiêu đề: Achord: A variant of the chord lookup service for use in censorship resistant peer-to-peer publishing systems
Tác giả: Hazel, S., Wiley, B
Nhà XB: Proceedings of the 1st International Workshop on Peer-to-Peer Systems (IPTPS '02)
Năm: 2002
16. Singh A. , Ngan T.-W. , Druschel P. , Wallach D.S (2006), Eclipse Attacks on Overlay Networks: Threats and Defenses, INFOCOM 2006. 25th IEEE International Conference on Computer Communications Sách, tạp chí
Tiêu đề: Eclipse Attacks on Overlay Networks: Threats and Defenses
Tác giả: Singh A., Ngan T.-W., Druschel P., Wallach D.S
Nhà XB: INFOCOM 2006. 25th IEEE International Conference on Computer Communications
Năm: 2006

HÌNH ẢNH LIÊN QUAN

Hình 1.6. Mô tả mạng Chord có 6-bit định danh - Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord kép
Hình 1.6. Mô tả mạng Chord có 6-bit định danh (Trang 17)
Hình dưới đây mô tả quá trình nút N26 gia nhập mạng. Nút N26 được đặt - Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord kép
Hình d ưới đây mô tả quá trình nút N26 gia nhập mạng. Nút N26 được đặt (Trang 19)
Hình 2.3. Ảnh hưởng của nút nhiễm độc đến sự thành công truy vấn - Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord kép
Hình 2.3. Ảnh hưởng của nút nhiễm độc đến sự thành công truy vấn (Trang 23)
Hình 3.3. Mô tả cấu trúc chỉ mục Chord kép của nút N8. - Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord kép
Hình 3.3. Mô tả cấu trúc chỉ mục Chord kép của nút N8 (Trang 31)
Hình 3.4. Mô tả quá trình định tuyến trong Chord so với Chord kép [5]. - Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord kép
Hình 3.4. Mô tả quá trình định tuyến trong Chord so với Chord kép [5] (Trang 32)
Hình 3.5. Mã giả thủ tục cho nút mới gia nhập mạng. - Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord kép
Hình 3.5. Mã giả thủ tục cho nút mới gia nhập mạng (Trang 34)
Hình 3.8. Thông điệp quảng bá trong mạng Chord với n=4 - Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord kép
Hình 3.8. Thông điệp quảng bá trong mạng Chord với n=4 (Trang 36)
Hình 4.1. Mô tả các tính chất của nút nhiễm độc - Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord kép
Hình 4.1. Mô tả các tính chất của nút nhiễm độc (Trang 38)
Hình 4.3. Sơ đồ khối thủ tục định tuyến trong mô hình mạng Chord kép - Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord kép
Hình 4.3. Sơ đồ khối thủ tục định tuyến trong mô hình mạng Chord kép (Trang 40)
Hình 4.5. Mô tả khái niệm khoảng cách trung bình giữa các nút trong mô  hình mạng Chord kép - Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord kép
Hình 4.5. Mô tả khái niệm khoảng cách trung bình giữa các nút trong mô hình mạng Chord kép (Trang 43)
Hình 4.6. Giao diện chính của chương trình mô phỏng - Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord kép
Hình 4.6. Giao diện chính của chương trình mô phỏng (Trang 44)
Hình 4.9. Giá trị trung bình bước nhảy khi áp dụng các giải pháp an ninh - Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord kép
Hình 4.9. Giá trị trung bình bước nhảy khi áp dụng các giải pháp an ninh (Trang 48)
Hình 4.8. Mô tả tỷ lệ truy vấn thành công trước và sau khi áp dụng các biện - Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord kép
Hình 4.8. Mô tả tỷ lệ truy vấn thành công trước và sau khi áp dụng các biện (Trang 48)
Hình 4.10. Mô tả tỷ lệ truy vấn thành công trong môi trường bị nhiễm độc - Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord kép
Hình 4.10. Mô tả tỷ lệ truy vấn thành công trong môi trường bị nhiễm độc (Trang 50)
Hình 4.12. Giá trị bước chuyển tiếp truy vấn trung bình dưới sự ảnh hưởng - Định tuyến an toàn trong cấu trúc bảng băm phân tán Chord kép
Hình 4.12. Giá trị bước chuyển tiếp truy vấn trung bình dưới sự ảnh hưởng (Trang 51)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w