Quản lý định danh bảo mật trong mạng ngang hàng có cấu trúc
Cùng với sự phát triển của mạng Internet và sự gia tăng các dịch vụ ứng
dụng, mạng ngang hàng P2P với các tính năng phân cấp, tự chủ và ẩn danh, đã
và đang được ứng dụng trong rất nhiều lĩnh vực như chia sẻ file, nhắn tin hợp
nhất, blockchain. Các mạng P2P được sử dụng rộng rãi bao gồm BitTorrent,
Gnutella, eDonkey,. Trong hệ thống mạng P2P tất cả các máy tham gia đều bình
đẳng, nó đóng vai trò của cả máy chủ và máy khách đối với các máy khác trong
mạng. Do thiếu xác thực tập trung nên mạng P2P có cấu trúc dễ bị tấn công bởi
các kiểu tấn công khác nhau. Vì vậy vấn đề bảo mật mạng P2P có cấu trúc gặp rất
nhiều khó khăn. Bài báo đưa ra giải pháp gán định bảo mật sử dụng khóa công
khai và giải câu đố xác thực, đồng thời xây dựng hệ thống kiểm soát truy nhập
phân cấp ACS. Mục đích để ngăn chặn tấn công Sybil sao cho mỗi nút gia nhập
mạng được cấp một định danh duy nhất và bảo mật, hạn chế tối đa việc sử dụng
định danh giả mạo tấn công vào Chord_DHT.

Trang 1

Trang 2

Trang 3

Trang 4

Trang 5
Tóm tắt nội dung tài liệu: Quản lý định danh bảo mật trong mạng ngang hàng có cấu trúc
hiếm là sử
Successor Nút tiếp theo trên vòng tròn định danh, là finger [1]
dụng hệ thống mã hóa khóa công khai trong lớp phủ.
Predecssor Nút trước đó trên vòng tròn định danh Thông thường, PK sử dụng chứng thực khóa công khai PKC
2.2. Quản lý định danh bảo mật trong Chord_DHT (Public Key Cryptosystems) để bảo vệ tính toàn vẹn của
Tạo định danh dùng số ngẫu nhiên [7]: để tạo một định chúng. Một chứng thực là một tài liệu điện tử dùng để xác
danh nút hệ thống sử dụng RNG (Random Number minh một khóa công khai là của ai. PKC chứa đầy đủ thông
Generator). Trong trường hợp này, kết quả các định danh tin cho những thực thể khác có thể xác nhận hoặc kiểm tra
được phân phối đồng đều trong không gian ảo và đảm bảo danh tính của chủ nhân sở hữu chứng thực số. Tuy nhiên,
tính ẩn danh của chủ sở hữu của chúng. Tuy nhiên, nếu cách mà các PKC được tạo ra rất quan trọng. Cụ thể, có ba
RNG được thực hiện trong ứng dụng khách, có thể dễ dàng khía cạnh quan trọng: (1) thông tin liên quan đến các nút
thao tác bởi người dùng cho phép kẻ tấn công chọn định được chứa trong PKC, (2) ai chọn mã hóa các cặp khóa và
danh của mình. Vấn đề là cách tạo nút ID tự động này cho (3) ai phát hành (và quản lý) các PKC này. Một mặt, PKC có
phép người dùng tạo nhiều hơn một định danh ID hợp lệ. thể chứa một số thông tin nhất định liên quan đến nút, ví
Ngoài ra, nó tránh các nút khác có thể xác minh xem định dụ, địa chỉ IP của nó hoặc thậm chí tên thật của người dùng
danh đã được tạo đúng hoặc nó thuộc về bất cứ ai đang sử đằng sau nút này. Rõ ràng, việc đưa thông tin này vào PKC
dụng nó, vì định danh không bị ràng buộc với chủ sở hữu có thể gây ra sự mất tính riêng tư của người dùng. Nếu
của họ trong bất kỳ cách nào. Trong bối cảnh này, nếu P2P người dùng chọn cặp khóa của họ, họ có thể có được một
không thực hiện một hệ thống kiểm soát truy cập, mạng sẽ định danh nút nằm trong một vùng mục tiêu của không
dễ bị tấn công Sybil, vì bất kỳ người dùng nào cũng có thể gian ảo. Mặt khác, nếu PK được chọn bởi một đối tác thứ 3
quản lý một tập hợp các định danh và thay đổi chúng trong tin cậy TTP (Trusted Third Party), người dùng không thể
một cách không kiểm soát. Do đó, BitTorrent và mạng Kad chọn định danh nút, nhưng TTP có thể tạo PK để xác định vị
[5] dễ bị ảnh hưởng bởi các cuộc tấn công. trí các nút trong các khu vực nhất định của lớp phủ. Trong
Tạo định danh dùng địa chỉ IP: Đây là một giải pháp tốt bối cảnh này, PKC có thể được cấp bởi tổ chức cung cấp
chứng thực số, một bên đáng tin cậy cho tất cả các thực thể
vì tất cả người dùng Internet đều có địa chỉ IP và việc tạo
Website: https://tapchikhcn.haui.edu.vn Vol. 56 - No. 1 (Feb 2020) ● Journal of SCIENCE & TECHNOLOGY 35
KHOA H ỌC CÔNG NGHỆ P - ISSN 1859 - 3585 E - ISSN 2615 - 961 9
của mạng. Tuy nhiên dùng khóa công khai kẻ tấn công vẫn Ví dụ kẻ tấn công muốn chặn truy vấn trên PKE (ID khóa
có thể tấn công vào bảng định tuyến vào một nút cụ thể 25), nó tạo ra nhiều nút sybil xung quanh khóa 25 và tăng
hoặc vào một khóa cụ thể trong quá trình một nút gia khả năng chặn truy vấn. Truy vấn trên PKE sẽ không bao giờ
nhập, rời mạng hoặc bị lỗi. được trả lời.
2.3. Tấn công vào định danh bảo mật trong Chord_DHT 3. MÔ HÌNH KIỂM SOÁT TRUY NHẬP MẠNG ACS
Tấn công vào bảng định tuyến (Attack on DHT (ADMISSION CONTROL SYSTEM)
routing): Nhằm mục tiêu vào định tuyến DHT bằng cách kẻ 3.1. Mô hình kiểm soát truy nhập ACS
tấn công tạo nhiều ID nút sybil sau đó không gửi lại truy Để tăng cường xác thực quá trình cấp định danh nút,
vấn phản hồi hoặc gửi thông tin sai lệch. nghiên cứu đưa hệ thống kiểm soát nhập truy nhập ACS
vào mạng Chord_DHT nhằm giảm thiểu ảnh hướng tấn
công Sybil. ACS yêu cầu duy trì một cây phân cấp, yêu cầu
các nút khi gia nhập mạng phải giải câu đố từ nút lá tới nút
gốc, nút gốc là một nút tin cậy (bootstrap). Sau khi được
xác thực, nút tham gia trở thành một nút lá. Quá trình giải
đố này là đệ quy và được lặp lại cho đến khi nút tham gia
đạt đến gốc. Nút gốc cấp cho nút tham gia một thẻ bài
token chứng nhận nút tham gia vào mạng hay còn được gọi
khóa công khai. Khóa công khai được sử dụng trong các
Hình 2. Tấn công vào bảng định tuyến hoạt động tiếp theo để chứng minh danh tính của nút. ACS
Tấn công theo cụm vào một nút cụ thể (Clustering mang lại một số các ưu điểm như: bảo mật; hiệu quả; tính
attack on specific node): Tấn công theo cụm vào một nút công bằng; chống tấn công Sybil; quyền riêng tư của người
cụ thể bằng cách dự đoán hàm băm h (key) -> ID, sau đó dùng, khả năng mở rộng.
chèn nhiều khóa bằng h (key) gần ID nút cụ thể dẫn tới nút
chuẩn bị tràn bộ nhớ.
Hình 3. Tấn công theo cụm vào một nút cụ thể
Hình 5. Tổ chức ACS X là nút bootstrap, A là nút gia nhập
Ví dụ mục tiêu của kẻ tấn công tại nút C, nó chèn n đối 0
tượng vào DHT, tất cả khóa được băm là 25. Các đối tượng Câu đố: h(PK, TS, R) = H
này được lưu trữ tại C điều này khiến bộ nhớ của nút C bị A muốn gia nhập ( join):
tràn và không hoạt động. 1) A yêu cầu nút lá (puzzle)
Tấn công theo cụm vào một khóa cụ thể (Clustering
2) A giải câu đố và nhận token từ Xi
attack on specific key): Tấn công cụm vào một khóa cụ thể
3) A yêu cầu một câu đố khác từ X
bằng cách đoán hàm băm h (key) -> ID sau đó tạo nhiều i-1
định danh ID nút sybil gần ID khóa điều này làm ảnh hưởng 4) A tiếp tục giải cho đến khi đạt đến gốc (root)
đến các truy vấn trên khóa. 5) Cuối cùng A được khai báo định danh ngẫu nhiên và
được chứng nhận bởi nút gốc
Quá trình thiết lập gia nhập của nút (Join Setup): Trước
khi tham gia mạng, một nút A phải tạo ra một cặp khóa
công khai / khóa riêng KA+ / KA-. Mã định danh nút được
băm mã hóa của khóa công khai của nút và giá trị ngẫu
nhiên RA do nút gốc tạo ra, ví dụ: bằng cách sử dụng SHA-1.
Điều này ngăn một nút chọn ID riêng của nó, phân phối
đồng nhất định danh. Tất cả các nút là được cấu hình với
khóa bí mật của nút gốc.
Quá trình gia nhập của nút (Join Protocol): Khi một nút A
Hình 4. Tấn công theo cụm vào một khóa cụ thể
muốn tham gia mạng, đầu tiên nó phải khám phá một nút
36 Tạp chí KHOA HỌC & CÔNG NGHỆ ● Tập 56 - Số 1 (02/2020) Website: https://tapchikhcn.haui.edu.vn
P-ISSN 1859-3585 E-ISSN 2615-9619 SCIENCE - TECHNOLOGY
lá Xi. Điều này được thực hiện bằng cách nó hỏi tư vấn một bảng định tuyến của mình tất cả các nút có tiền tố như vậy
nút bootstrap hoặc kết nối ngẫu nhiên với một nút lá. Tiếp trong đường dẫn của chúng.
theo, để được chấp nhận từ Xi, A yêu cầu một câu đố. Sau Kẻ tấn công không phải là thành viên của ACS có thể
khi A giải câu đố của Xi, nó sẽ được cấp một thẻ bài. Token đạt được định danh chậm hơn. Mỗi lần yêu cầu ID nó sẽ
này được sử dụng để chứng minh A được chấp nhận để được yêu cầu duyệt toàn bộ cây cho đến khi tới nút root.
tiếp tục với nút cha của Chi phí một nút bỏ ra để giải toàn bộ các câu đố trên toàn
+
Xi :A → Xi : KA (request) bộ cây dọc đường đi rất lớn, nhất là khi kích thước của
+
Xi → A : TS1, h(KA · TS1 · R1), (puzzle) mạng lên tới hàng 1.000.000 nút. Vì vậy việc tấn công để
+
MAC(KA · TS1 · R1, KXi ) làm chủ một phần ID của mạng là rất khó thậm chí là
+ + không thể.
A → Xi : KA · R1.TS1, MAC(KA · TS1 · R1, KXi) (solution)
+
Xi → A : IDxi, TS1, MAC(KA · TS1, Kxi, xi-1) (token) 3.2.2. Mô hình hóa đánh giá hiệu năng
Nếu A trả lời câu hỏi đúng A sẽ được Xi cấp thẻ bài Trong phần này, việc đánh giá hiệu năng của mô hình
(token) để cho phép A kết nối tiếp tới nút cha của nó. Quá ACS thông qua tham số chi phí (thời gian) để kẻ tấn công
trình được thực hiện đệ quy cho tới khi A đạt tới nút gốc, có được một phần nhỏ định danh của mạng P2P (10% số
lúc này nút gốc sẽ cấp token cuối cùng và cấp định danh nút trong mạng P2P). Qua phân tích cho thấy kẻ tấn công
cho nút A: phải tiêu tốn một khoảng thời gian đáng kể để làm chủ
+ - được một phần nhỏ định danh của mạng ngang hàng
Xi → A : IDA, TSj, Sig(IDA.KA · TSj, KX0 )
+
(KA khóa công khai của nút A; IDA định danh nút A; TS Mô hình hóa hệ thống: Mô hình giả định rằng các nút
dấu thời gian; R1 giá trị ngẫu nhiên được nút gốc tạo ra hợp pháp đến mạng theo phân phối Poisson với tốc độ đến
λg. Đây là một giả định phổ biến được sử dụng để mô hình
trong phiên cấp định danh, là khóa bí mật của nút gốc,
MAC(x, k) mã xác thực bản tin x với khóa k). Sau khi nhận hóa các yêu cầu trên máy chủ khác nhau. Thời gian sống
được token từ gốc, A cố gắng kết nối với mạng dùng định của nút được phân phối hàm mũ với giá trị trung bình μ ,
danh được root cấp ở vị trí được xác định bởi giao thức mạng có kích thươc N nút. Cuối cùng, độ khó của câu đố
định tuyến Chord_DHT. được đo bằng thời gian cần thiết để giải quyết nó t. Giả sử
rằng kẻ tấn công có năng lực tính toán bằng năng lực trung
Định danh của A: ID = h(K .R ), trong đó RA là giá
ngẫu nhiên được sinh bởi nút gốc. bình của người dùng hợp pháp. Để phân tích sức mạnh kẻ
tấn công, mô hình sử dụng khái niệm những kẻ thông
Để kết nối, A phải chứng minh với hàng xóm tương lai đồng với các nút tấn công. Ví dụ: nếu kẻ tấn công có khả
định danh của nó đã được chấp nhận bởi root X. năng tính toán nhanh gấp đôi người dùng trung bình, nó
3.2. Mô hình hóa đánh giá hiệu năng được xem xét như có hai kẻ thông đồng tấn công. Kẻ tấn
ACS được thiết kế để hạn chế các cuộc tấn công Sybil, công giữ lại định danh nút mà nó có được trong một thời
không phòng ngừa chúng. Các cuộc tấn công Sybil vẫn có gian vô hạn; bất cứ khi nào nó có được một ID, kẻ tấn công
thể xảy ra, nhưng rất tốn kém. Có hai kịch bản tấn công ngay lập tức sẽ cố gắng để có được một cái khác. Theo cách
đáng quan tâm: khi kẻ tấn công là thành viên của ACS và này, một kẻ tấn công có thể tích lũy nhiều ID theo thời gian.
khi nó không là thành viên. Ở trạng thái ổn định số lượng nút trong mạng:
3.2.1. Kịch bản tấn công ACS N = λ ∗ μ (1)
Nếu kẻ tấn công là thành viên của ACS, nó có thể lợi Để có thể kiểm soát f phần các nút trong mạng P2P, kẻ
dụng tính ưu việt của vị trí này. Thay vì yêu cầu định danh tấn công sẽ phải yêu cầu đạt được số định danh (ID): ( ).
mới phải duyệt qua toàn bộ cây, kẻ tấn công có thể phát ra Nếu thời gian để một nút tham gia được vào mạng là t (liên
các thẻ (token), làm giảm số câu đố cần phải giải. Một cuộc quan tới độ khó của câu đố) và có n kẻ tấn công, tốc độ đến
tấn công như vậy có thể dễ dàng bị phát hiện bởi cha mẹ của các nút tấn công sẽ là:
của kẻ tấn công bằng cách quan sát tỷ lệ yêu cầu thẻ token.
λ = (2)
Nếu tỷ lệ này vượt quá ngưỡng xác định trước, nút được
phát hiện bị cắt khỏi cây cùng toàn bộ nhánh. Bởi vì quá Thời gian cần thiết để khởi động một cuộc tấn công
trình gia nhập xảy ra tại một lá ngẫu nhiên, số lượng yêu thành công:
cầu tham gia trung bình khi quan sát tại nút phụ thuộc vào
t (3)
tỷ lệ gia nhập trung bình chung và độ cao của nút trong ấ ô
( )
cây. Biết được thông tin này giúp cho mọi nút trong hệ
thống xác định giá trị của ngưỡng này. Giải thuật loại bỏ Ví dụ nếu xét mạng có kích thước 9000 nút, độ khó câu
toàn bộ cây con vì không thể xác định được nút nào là hợp đố là 300s, với số nút tấn công là n = 1, nếu muốn quản lý
pháp. Sau khi loại bỏ các nút từ cây, nhiệm vụ tiếp theo là 10% ID của mạng thì nút phải mất khoảng thời gian 77 giờ
đẩy chúng ra khỏi mạng P2P, root đơn giản chỉ cần phát (nhiều hơn 3 ngày), nếu 4 kẻ tấn công muốn làm chủ 10%
quảng bá thông báo thu hồi các ID chứa tiền tố của cây của mạng thì mất khoảng 20 giờ. Nếu tăng số nút 1.000.000
con. Sau khi nhận được thông báo này, các nút loại bỏ khỏi nút và giảm thời gian giải câu đố xuống còn 3s thì thời gian
Website: https://tapchikhcn.haui.edu.vn Vol. 56 - No. 1 (Feb 2020) ● Journal of SCIENCE & TECHNOLOGY 37
KHOA H ỌC CÔNG NGHỆ P - ISSN 1859 - 3585 E - ISSN 2615 - 961 9
để hoàn thành tấn công tăng lên rất nhiều và thậm chí là
việc tấn công không xảy ra. TÀI LIỆU THAM KHẢO
[1]. Jiang, J., Wen, S., Yu, S., Xiang, Y., & Zhou, W., 2017. Identifying
propagation sources in networks: State-of-the-art and comparative studies. IEEE
Communications Surveys & Tutorials, 19(1), 465-481.
[2]. Luo, B., Jin, Y., Luo, S., & Sun, Z., 2016. A symmetric lookup-based secure
P2P routing algorithm. KSII Transactions on Internet and Information Systems
(TIIS), 10(5), 2203-2217.
[3]. Wang, F., 2017. Detecting Malicious nodes Using Failed Query Paths in
Structured P2P Networks. Boletín Técnico, ISSN: 0376-723X, 55(7).
[4]. SHAREH, Morteza Babazadeh, et al., 2019. Preventing Sybil attacks in
P2P file sharing networks based on the evolutionary game model. Information
Sciences, 470: 94-108.
[5]. WANG, Feng, 2017. Preventing Sybil Attacks in Structured P2P Networks
Hình 6. Thời gian tấn công vào mạng P2P using Social Network. Boletín Técnico, 55.5: 424-429.
4. KẾT LUẬN VÀ HƯỚNG NGHIÊN CỨU TIẾP THEO [6]. Rottondi, C., Panzeri, A., Yagne, C., & Verticale, G., 2014. Mitigation of
Qua phân tích lý thuyết cho thấy một số tấn công như: the eclipse attack in chord overlays. Procedia Computer Science, 32, 1115-1120.
Tấn công mạo nhận (Sybil Attack), tấn công che khuất [7]. Fernández, J. C., 2015. Secure identity management in structured peer-
(Eclipse Attack), tấn công từ chối dịch vụ, tấn công chuyển to-peer (P2P) networks. Doctoral dissertation, Technical University of Catalonia.
tiếp dữ liệu, tấn công định tuyến là các mối đe dọa nghiêm
trọng tới bảo mật hệ thống P2P có cấu trúc. Để tăng tính
bảo mật P2P, quan trọng nhất là phải chú ý cách thức gán
định danh ID cho nút khi tham gia lớp phủ P2P và cách AUTHOR INFORMATION
người dùng kiểm tra tính hợp lệ của các nodeID và xác thực Vu Thi Thuy Ha
chủ sở hữu của chúng. Mô hình cấp định danh phân cấp Posts and Telecommunications Institute of Technology
đưa ra với mục đích ngăn chặn tấn công Sybil sao cho mỗi
nút gia nhập mạng được cấp một định danh duy nhất và
bảo mật, hạn chế tối đa việc sử dụng định danh giả mạo
tấn công vào Chord_DHT. Qua phân tích cho thấy kẻ tấn
công muốn làm chủ một phần nhỏ của mạng cũng phải
mất khoảng thời gian rất dài và tiêu tốn rất nhiều công sức.
Trong trường hợp kích thước của mạng lớn thì việc tấn
công Sybil gần như là không thể.
Tuy nhiên hiện nghiên cứu đang để thời gian tiêu tốn
khi một nút gia nhập là như nhau, trong thực tế việc giải
câu đố để đạt được định danh của các nút là không đồng
nhất vì vậy việc mô hình hóa cần phải tính tới cả yếu tố đó.
Hơn nữa nếu sử dụng một máy chủ dẫn tới dễ xảy ra lỗi
điểm đơn vì vậy việc sao lưu dữ liệu từ root ra một số máy
chủ cũng là hướng nghiên cứu cần thiết để nâng cao độ tin
cậy và giúp cân bằng tải cho các máy chủ trong việc cấp
định danh.
38 Tạp chí KHOA HỌC & CÔNG NGHỆ ● Tập 56 - Số 1 (02/2020) Website: https://tapchikhcn.haui.edu.vn File đính kèm:
quan_ly_dinh_danh_bao_mat_trong_mang_ngang_hang_co_cau_truc.pdf

