Tải bản đầy đủ (.pdf) (122 trang)

Ứng dụng blockchain vaf merkle tree để tăng cường bảo mật dữ liệu trong mô hình xác thực dựa trên thuộc tính người dùng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.69 MB, 122 trang )

ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-----------

NGUYỄN DUY MINH

BLOCKCHAIN AND MERKLE TREE UTILIZATION
TO ENHANCE DATA SECURITY IN
PROFILE-BASED AUTHENTICATION APPROACH
ỨNG DỤNG BLOCKCHAIN VÀ MERKLE TREE
ĐỂ TĂNG CƯỜNG BẢO MẬT DỮ LIỆU
TRONG MƠ HÌNH XÁC THỰC DỰA TRÊN
THUỘC TÍNH NGƯỜI DÙNG

Ngành: Khoa học Máy tính
Mã số: 8480101

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 12 năm 2019


CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI
TRƯỜNG ĐẠI HỌC BÁCH KHOA-ĐHQG-HCM

Cán bộ hướng dẫn khoa học: TS. Phạm Hoàng Anh
PGS. TS. Huỳnh Tường Nguyên
Cán bộ chấm nhận xét 1: PGS. TS. Huỳnh Trung Hiếu
Cán bộ chấm nhận xét 2: PGS. TS. Lê Trung Quân
Luận văn thạc sĩ được bảo vệ tại Trường Đại học Bách Khoa, ĐHQG Tp.HCM
ngày 30 tháng 12 năm 2019.


Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1. PGS. TS. Trần Văn Hoài
2. TS. Nguyễn Đức Dũng
3. PGS. TS. Huỳnh Trung Hiếu
4. PGS. TS. Lê Trung Quân
5. PGS. TS. Huỳnh Tường Nguyên
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên
ngành sau khi luận văn đã được sửa chữa (nếu có).
CHỦ TỊCH HỘI ĐỒNG

PGS. TS. Trần Văn Hồi

TRƯỞNG KHOA KH&KTMT


ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
—————————–

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
—————————–

NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: Nguyễn Duy Minh

MSHV: 1870042

Ngày, tháng, năm sinh: 21/11/1995


Nơi sinh: Bà Rịa, tỉnh BRVT

Ngành: Khoa học Máy tính

Mã số: 8 4 8 0 1 0 1

I. TÊN ĐỀ TÀI:
Ứng dụng Blockchain và Merkle Tree để tăng cường bảo mật dữ liệu trong mơ
hình xác thực dựa trên thuộc tính người dùng.
II. NHIỆM VỤ VÀ NỘI DUNG:
• Nghiên cứu về nền tảng cơng nghệ Blockchain.
• Khảo sát và tìm hiểu các giải pháp cho bài toán xác thực người dùng trong
giới hạn ứng dụng học tập trực tuyến.
• Đề xuất mơ hình ứng dụng Blockchain cho bài tốn xác thực người dùng.
• Hiện thực thử nghiệm và đánh giá giải pháp đề xuất.
III. NGÀY GIAO NHIỆM VỤ: 19/08/2019
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 12/2019
V. CÁN BỘ HƯỚNG DẪN:
• TS. Phạm Hoàng Anh, PGS. TS. Huỳnh Tường Nguyên

Tp. HCM, ngày .... tháng .... năm 20....
CÁN BỘ HƯỚNG DẪN

TRƯỞNG KHOA KH&KTMT

(Họ tên và chữ ký)

(Họ tên và chữ ký)

TS. Phạm Hoàng Anh



Lời cảm ơn
Để hoàn thành được đề tài luận văn tốt nghiệp này, em đã nhận được sự hỗ
trợ từ rất nhiều phía. Đầu tiên và quan trọng nhất, em xin gửi lời cảm ơn chân
thành đến giảng viên hướng dẫn trực tiếp, thầy TS. Phạm Hoàng Anh và thầy
PGS. TS. Huỳnh Tường Nguyên. Thầy là người định hướng chính, cung cấp tài
liệu cũng như theo dõi quá trình thực hiện đề tài và hỗ trợ khi em gặp khó khăn.
Bên cạnh đó, em cũng xin gửi lời cảm ơn chân thành đến ThS. Lưu Quang Huân
đã hỗ trợ tư vấn và góp ý nhiệt tình trong các vấn đề về bảo mật, xác thực và ứng
dụng công nghệ Blockchain.
Em vơ cùng biết ơn sự tận tình dạy dỗ, giúp đỡ của quý thầy cô trong khoa
Khoa học & Kỹ thuật Máy tính nói riêng cũng như trường Đại học Bách khoa Tp.
Hồ Chí Minh nói chung. Những kiến thức nhận được từ quý thầy cô là vô cùng quý
giá và bổ ích, hỗ trợ rất lớn cho em để hoàn thành đề tài luận văn tốt nghiệp này.
Em gửi lời cảm ơn đến gia đình, người thân, bạn bè, những người đã quan
tâm, động viên, giúp đỡ cả về thể chất lẫn tinh thần để em có đủ nghị lực, sức
khỏe hoàn thành tốt đề tài luận văn tốt nghiệp thạc sĩ này.
Với lòng biết ơn chân thành, em xin gửi lời chúc sức khỏe, lời biết ơn và
những lời chúc tốt đẹp nhất đến các quý thầy cô trong Khoa Khoa học & Kỹ thuật
Máy tính - Trường Đại Học Bách Khoa Đại Học Quốc Gia Thành phố Hồ Chí
Minh.
Sinh viên thực hiện đề tài
Nguyễn Duy Minh


Tóm tắt
Xác thực người dùng trong các hệ thống trực tuyến luôn là một thách thức
lớn trong việc xác định xem người dùng đã đăng nhập có phải là chủ sở hữu tài
khoản hợp pháp hay không. Thách thức này trở nên quan trọng trong các hệ thống

học tập trực tuyến vì nó ảnh hưởng đến việc đánh giá kết quả của người học một
cách chính xác. Xác thực dựa trên hồ sơ người dùng (PBA) đã cho thấy lợi thế của
nó so với các phương pháp hiện có khác. Hệ thống PBA sẽ tạo ra các câu hỏi ngẫu
nhiên và sau đó đánh giá câu trả lời của người dùng dựa trên thông tin được thu
thập khi người dùng đăng ký vào hệ thống. Tuy nhiên, phương pháp này có thể
tiết lộ dữ liệu của người dùng khi hệ thống bị xâm phạm và khai thác. Cơng trình
nghiên cứu đã sử dụng các tính năng vượt trội của cấu trúc dữ liệu cây Merkle
và hợp đồng thông minh trên Blockchain để cải thiện phương pháp PBA. Phương
pháp đề xuất giúp đơn giản hóa xác thực danh tính, bảo vệ thơng tin bí mật của
người dùng và tăng cường yếu tố bảo mật về tính tồn vẹn dữ liệu, tính minh bạch
của thơng tin người dùng và tính khả dụng của hệ thống. Các kết quả thực nghiệm
ban đầu đã cho thấy tiềm năng và tính khả thi của phương pháp xác thực được đề
xuất.
Các từ khóa: nhận dạng danh tính, hệ thống học tập trực tuyến, quyền
riêng tư dữ liệu, cây merkle, Blockchain

i


Abstract
User authentication in online systems is always a big challenge in determining
whether the logged-in user is the legitimate account owner. This challenge becomes
critical in E-learning systems since it affects the assessment result of learners
accurately. User profile-based authentication (PBA) has shown its advantages
compared with other existing approaches. The PBA system will generate random
questions and then evaluate the users’ answers based on the collected information
when the user registered into the system. However, this approach may reveal the
users’ data when the system is compromised and exploited. In this paper, we
utilize the dominant features of the Merkle tree data structure and smart contracts
on Blockchain to improve the PBA approach. The proposed method simplifies

identity authentication, protects user confidential information, and enhances the
security factor in terms of data integrity, user information transparency, and system
availability. Our preliminary experiments have shown the potential and feasibility
of the proposed authentication method.
Key words: authentication, e-learning, privacy, merkle tree, blockchain

ii


Lời cam đoan
Em cam đoan mọi điều được trình bày trong báo cáo, cũng như mã nguồn
là do em tự thực hiện - trừ các kiến thức tham khảo có trích dẫn cũng như mã
nguồn mẫu do chính nhà sản xuất cung cấp, hồn tồn khơng sao chép từ bất cứ
nguồn nào khác. Nếu lời cam đoan trái với sự thật, em xin chịu mọi trách nhiệm
trước Ban Chủ Nhiệm Khoa và Ban Giám Hiệu Nhà Trường.
Tp. Hồ Chí Minh, ngày 09 tháng 12 năm 2019

Nguyễn Duy Minh

iii


Mục lục
Lời cảm ơn
Tóm tắt

i

Abstract


ii

Lời cam đoan

iii

Danh Sách Hình Vẽ

ix

Danh Sách Bảng
Danh Sách Giải Thuật
Thuật ngữ & từ viết tắt
1 Giới thiệu đề tài

x
xi
xii
1

1.1

Lý do và động lực thực hiện đề tài . . . . . . . . . . . . . . . . . .

1

1.2

Mục tiêu, giới hạn và đối tượng nghiên cứu . . . . . . . . . . . . . .


2

1.2.1

Mục tiêu nghiên cứu . . . . . . . . . . . . . . . . . . . . . .

2

1.2.2

Giới hạn nghiên cứu . . . . . . . . . . . . . . . . . . . . . .

3

1.2.3

Đối tượng nghiên cứu . . . . . . . . . . . . . . . . . . . . . .

3

1.3

Kết quả dự kiến . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

1.4

Ý nghĩa của đề tài . . . . . . . . . . . . . . . . . . . . . . . . . . .


4
iv


Mục lục

1.5

1.4.1

Ý nghĩa khoa học . . . . . . . . . . . . . . . . . . . . . . . .

4

1.4.2

Ý nghĩa thực tiễn . . . . . . . . . . . . . . . . . . . . . . . .

4

Cấu trúc báo cáo luận văn . . . . . . . . . . . . . . . . . . . . . . .

4

2 Cơng trình nghiên cứu liên quan

6

2.1


Xác thực dựa trên kiến thức của người dùng . . . . . . . . . . . . .

2.2

Xác thực dựa trên đối tượng người dùng . . . . . . . . . . . . . . . 11

2.3

Xác thực dựa trên đặc trưng sinh trắc học người dùng . . . . . . . 13

2.4

Đánh giá các cơng trình nghiên cứu liên quan . . . . . . . . . . . . 16

3 Kiến thức nền tảng

6

20

3.1

Giải thuật băm (Hash algorithms) . . . . . . . . . . . . . . . . . . . 20

3.2

Merkle tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.3


Mật mã (Cryptography) . . . . . . . . . . . . . . . . . . . . . . . . 25

3.4

3.3.1

Mật mã khóa đối xứng . . . . . . . . . . . . . . . . . . . . . 25

3.3.2

Mật mã khóa bất đối xứng . . . . . . . . . . . . . . . . . . . 26

3.3.3

Chữ ký số . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

Blockchain (Chuỗi khối) . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4.1

Khái niệm Blockchain . . . . . . . . . . . . . . . . . . . . . 30

3.4.2

Phương thức hoạt động của Blockchain . . . . . . . . . . . . 32

3.4.3

Các loại Blockchain . . . . . . . . . . . . . . . . . . . . . . . 33

3.4.4


Các phiên bản Blockchain . . . . . . . . . . . . . . . . . . . 34

3.4.5

Cơ chế đồng thuận trong Blockchain . . . . . . . . . . . . . 35

3.5

Tiền mã hóa (Cryptocurrency) . . . . . . . . . . . . . . . . . . . . . 37

3.6

Hợp đồng thông minh (Smart Contracts) . . . . . . . . . . . . . . . 37

3.7

Ethereum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.7.1

Solidity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

v


Mục lục
3.7.2
3.8

Gas


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

IPFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4 Phương pháp tiếp cận

46

4.1

Xác thực người dùng thông qua bộ câu hỏi thử thách . . . . . . . . 47

4.2

Tổ chức hồ sơ người theo cấu trúc Merkle Tree

4.3

Lưu trữ bằng chứng thông tin trên Blockchain thông qua Smart
Contract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4.4

Quy trình xác thực minh bạch thông qua hợp đồng thông minh . . 57

5 Kiến trúc đề xuất

. . . . . . . . . . . 50


60

5.1

Kiến trúc tổng quan . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.2

Các thành phần chính của kiến trúc . . . . . . . . . . . . . . . . . . 64

5.3

5.2.1

Mô-đun xử lý hồ sơ người dùng . . . . . . . . . . . . . . . . 64

5.2.2

Mô-đun tương tác với Blockchain . . . . . . . . . . . . . . . 70

5.2.3

Mô-đun sinh bộ câu hỏi thử thách . . . . . . . . . . . . . . . 73

5.2.4

Mô-đun xác thực câu trả lời của người dùng . . . . . . . . . 75

Các tiến trình chính của hệ thống . . . . . . . . . . . . . . . . . . . 77
5.3.1


Tiến trình đăng ký tài khoản . . . . . . . . . . . . . . . . . 77

5.3.2

Tiến trình xác thực người dùng . . . . . . . . . . . . . . . . 79

6 Hiện thực và thực nghiệm
6.1

82

Hiện thực . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.1.1

Nút thử nghiệm cục bộ . . . . . . . . . . . . . . . . . . . . . 82

6.1.2

Tạo mới một hợp đồng thông minh . . . . . . . . . . . . . . 83

6.1.3

Người dùng đăng ký tài khoản . . . . . . . . . . . . . . . . . 83

6.1.4

Người dùng cập nhật hồ sơ cá nhân trên mạng lưới Blockchain 84

6.1.5


Xác thực người dùng thông qua câu hỏi thử thách . . . . . . 86

vi


Mục lục
6.2

Thực nghiệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.2.1

Thực nghiệm về tốc độ xử lý . . . . . . . . . . . . . . . . . . 88

6.2.2

Thực nghiệm về chi phí lưu trữ . . . . . . . . . . . . . . . . 89

6.2.3

Thực nghiệm các kịch bản tấn công . . . . . . . . . . . . . . 91

7 Đánh giá và Tổng kết
7.1

7.2

93

Đánh giá giải pháp đề xuất . . . . . . . . . . . . . . . . . . . . . . 93

7.1.1

Thời gian tính tốn . . . . . . . . . . . . . . . . . . . . . . . 93

7.1.2

Chi phí hoạt động

7.1.3

Khả năng tăng cường tính bảo mật . . . . . . . . . . . . . . 94

. . . . . . . . . . . . . . . . . . . . . . . 93

Tổng kết . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
7.2.1

Những kết quả và đóng góp chính . . . . . . . . . . . . . . . 95

7.2.2

Hướng phát triển . . . . . . . . . . . . . . . . . . . . . . . . 96

A Danh mục cơng trình khoa học

104

B Lý lịch trích ngang

105


vii


Danh sách hình vẽ
1

2.1

Giao thức xác thực phản hồi thử thách

2.2

Quy trình xác thực sinh trắc học . . . . . . . . . . . . . . . . . . . 13

3.1

Cây Merkle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2

Quy trình mã hóa và giải mã của mật mã khóa đối xứng

3.3

Quy trình mã hóa và giải mã của mật mã khóa bất đối xứng

3.4

Minh họa một mạng lưới Blockchain


3.5

Phương thức hoạt động của Blockchain

3.6

Các tính chất và ưu điểm của hợp đồng thơng minh

4.1

Kiến trúc của mơ hình xác thực PBA truyền thống7 . . . . . . . . 48

4.2

Audit Path (Merkle Proof) . . . . . . . . . . . . . . . . . . . . . . 51

4.3

Cây Merkle thưa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.4

Cây Merkle thưa nhỏ gọn với ba nút lá . . . . . . . . . . . . . . . 53

4.5

Quy trình xác thực câu trả lời . . . . . . . . . . . . . . . . . . . . 59

5.1


Kiến trúc của Merkle tree Blockchain Profile-based Authentication

5.2

Lược đồ hoạt động của MB-PBA . . . . . . . . . . . . . . . . . . . 62

5.3

Tiến trình xử lý hồ sơ người dùng . . . . . . . . . . . . . . . . . . 65

5.4

Cây Merkle được xây dựng từ hồ sơ người dùng . . . . . . . . . . . 68

5.5

Lưu trữ hồ sơ người dùng . . . . . . . . . . . . . . . . . . . . . . . 69

4

. . . . . . . . . . . . . .

2

8

. . . . . 26
3


. . 27

. . . . . . . . . . . . . . . . 31
5

. . . . . . . . . . . . . . 33
6

. . . . . . . 39

8

61

viii


Danh sách hình vẽ
5.6

Mơ-đun tương tác với Blockchain . . . . . . . . . . . . . . . . . . . 70

5.7

Mô-đun sinh bộ câu hỏi thử thách . . . . . . . . . . . . . . . . . . 74

5.8

Mô-đun xác thực câu trả lời của người dùng . . . . . . . . . . . . . 76


5.9

Tiến trình đăng ký tài khoản . . . . . . . . . . . . . . . . . . . . . 78

5.10

Tiến trình xác thực người dùng . . . . . . . . . . . . . . . . . . . . 80

6.1

Màn hình giao diện người dùng của Ganache . . . . . . . . . . . . 83

6.2

Đăng ký tài khoản . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

6.3

Xây dựng hồ sơ cá nhân . . . . . . . . . . . . . . . . . . . . . . . . 85

6.4

Bằng chứng dữ liệu hồ sơ người dùng . . . . . . . . . . . . . . . . 85

6.5

Giao dịch cập nhật thông tin hồ sơ thông qua Contract Account
trên mạng lưới Ethereum . . . . . . . . . . . . . . . . . . . . . . . 86

6.6


Màn hình đăng nhập . . . . . . . . . . . . . . . . . . . . . . . . . . 86

6.7

Màn hình xác thực người dùng bằng câu hỏi thử thách . . . . . . . 87

6.8

Màn hình yêu cầu người dùng ký vào câu trả lời . . . . . . . . . . 87

ix


Danh sách bảng
2.1

Một số phương pháp xác thực được phân loại theo nhóm . . . . . . 17

2.2

Một số điểm yếu và hạn chế của các nhóm phương pháp xác thực

2.3

Đánh giá một số phương pháp xác thực người dùng phổ biến

3.1

Số lượng băm cần thiết để đạt được xác suất va chạm nhất định


3.2

Tỷ lệ số lượng khóa trong hệ thống khóa đối xứng và khóa bất đối
xứng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.3

Mối quan hệ sức mạnh giữa RSA và ECDSA . . . . . . . . . . . . . 28

3.4

Kích thước khóa của các đường cong ECDSA khác nhau . . . . . . 28

3.5

So sánh một số nền tảng Blockchain

3.6

So sánh một số hệ thống tệp ngang hàng

6.1

Thời gian tính tốn thực nghiệm (giây) . . . . . . . . . . . . . . . . 89

6.2

Gas yêu cầu khi thực hiện một số Opcode phổ biến trong EVM


7.1

So sánh giữa phương pháp MB-PBA và PBA truyền thống . . . . . 94

12

10

9

17

. . 19
11

22

. . . . . . . . . . . . . . . . 41
13

. . . . . . . . . . . . . 45

14

. 89

x


Danh sách giải thuật

1

Merkle Tree Blockchain Profile based Authentication . . . . . . . . . 63

2

Insert a node into Compact Spare Merkle Tree . . . . . . . . . . . . 67

3

Delete a node of Compact Spare Merkle Tree . . . . . . . . . . . . . 68

4

Membership Proof of Compact Spare Merkle Tree . . . . . . . . . . . 69

5

Verify Users Signature . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6

Verify Users Answer . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

xi


Thuật ngữ & từ viết tắt
BC . . . . . . . . . . . . Blockchain: chuỗi khối
SC . . . . . . . . . . . . Smart contract: hợp đồng thông minh

ABI . . . . . . . . . . Contract Application Binary Interface: là chuẩn do Smart contract cung cấp để các ứng dụng giao tiếp với nó.
KBA . . . . . . . . . Knowledge Based authentication: xác thực dựa trên kiến thức
người dùng
PBA . . . . . . . . . . Profile based authentication: xác thực dựa trên hồ sơ người dùng
MB-PBA . . . . Merkle tree Blockchain Profile based authentication: xác thực
dựa trên hồ sơ người dùng áp dụng Merkle tree và Blockchain
IPFS . . . . . . . . . InterPlanetary File System: hệ thống tập tin liên hành tinh
PK . . . . . . . . . . . Public key: khóa cơng khai
PrK . . . . . . . . . . Private key: khóa bí mật
EOA . . . . . . . . . . Externally Owned Account: tài khoản Ethereum do người dùng
sở hữu.
CA . . . . . . . . . . . Contract account: tài khoản Ethereum tương ứng với smart
contract trên Ethereum.
ĐApp . . . . . . . . Ứng dụng phi tập trung.
EVM . . . . . . . . . Ethereum Virtual Machine: máy ảo Ethereum.


Node . . . . . . . . . Node là một phần tử trong mạng
P2P . . . . . . . . . . Mạng peer-to-peer: mà mạng khơng phân khách-chủ, các node
trong mạng có vai trị ngang nhau.
PoA . . . . . . . . . . Luật đồng thuận Proof of Authority.
PoS . . . . . . . . . . . Luật đồng thuận Proof of Stake.
PoW . . . . . . . . . . Luật đồng thuận Proof of Work.


1 Giới thiệu đề tài

1.1

Lý do và động lực thực hiện đề tài


Công nghệ đã thay đổi cách mọi người giao tiếp và cách mạng hóa giáo dục
và đào tạo trong thế kỷ XXI. Nhờ chi phí hợp lý và thời gian học tập linh động,
đào tạo trực tuyến đang ngày càng được xem như là một thay thế hấp dẫn so với
các mơ hình đào tạo tập trung tồn thời gian trong khuôn viên trường học. Nhiều
trường đại học hàng đầu như Viện Công nghệ Massachusetts, Đại học Harvard và
Đại học Pennsylvania đã ra mắt nhiều chương trình đào tạo trực tuyến lên tới cấp
thạc sĩ đối với nhiều chuyên ngành khác nhau. Với việc cộng tác với các hệ thống
đào tạo trực tuyến như Coursera, Edx các trường này đã lên chương trình mở các
khóa học hồn tồn tồn từ xa thơng qua mạng Internet.
Trong nước, ngày 19/11/2018, Quốc hội đã thông qua Luật sửa đổi, bổ
sung một số điều của Luật giáo dục đại học số 34/2018/QH14. Theo đó, kể từ
ngày 1/7/2019 Bằng Đại học từ xa chính thức được cơng nhận có giá trị tương
đương với bằng Đại học chính quy. Với các thế mạnh vốn có, trong thời gian tới,
thị trường học tập trực tuyến, đào tạo từ xa có thể sẽ phát triển vượt bậc.
Q trình đào tạo từ xa được thực hiện thơng qua hệ thống quản lý học
tập trực tuyến (hay còn gọi là hệ thống học tập từ xa, hệ thống E-Learning) là bộ
công cụ phần mềm để quản lý quá trình giảng dạy, học tập và thi cử [1].
Với nhu cầu hiện tại, các hệ thống quản lý học tập trực tuyến đã trở thành
một môi trường giảng dạy độc lập [2]. Học viên không cần phải lên giảng đường để
1


1.2. Mục tiêu, giới hạn và đối tượng nghiên cứu
gặp trực tiếp giảng viên mà có thể học và thảo luận qua mạng Internet. Hơn thế
nữa, nhiều mơ hình học tập trực tuyến cho phép học viên không cần đến trường
để làm thủ tục nhập học hay làm bài thi mà có thể thực hiện mọi thứ từ xa thơng
qua mạng Internet. Phương pháp học tập mới này đòi hỏi sự nỗ lực, chủ động và
tin tưởng của học viên và những bên tham gia.
Quá trình xác thực cố gắng xác minh rằng người dùng chính là người mà họ

tuyên bố. Trong kịch bản kiểm tra trực tuyến, xác thực nhằm để xác minh danh
tính của học viên trên Internet và đóng vai trị quan trọng trong vấn đề an ninh.
Khơng giống như các kì thi truyền thống, xác thực trong thi cử trực tuyến không
được giám sát và đối mặt trực tiếp. Xác thực đảm bảo giá trị của kì thi trực tuyến,
xác minh chính xác danh tính của học viên tham gia bài thi và điều này làm tăng
tính tin cậy của kết quả học tập. Việc xác thực chủ yếu dựa trên kiến thức của
người dùng, đặc điểm đối tượng vật lý hay hành vi của người dùng.
Đã có nhiều phương pháp xác thực người dùng khác nhau, mỗi phương
pháp sẽ có ưu nhược điểm riêng và phù hợp cho từng loại hệ thống đặc thù (nội
dung chi tiết sẽ được trình bày ở Chương 2). Với những ưu điểm của mình như
thân thiện với người dùng, dễ sử dụng cũng như không yêu cầu bất cứ thiết bị
phần cứng chuyên dụng nào, phương pháp xác thực người dùng dựa trên hồ sơ
được đánh giá phù hợp và là lựa chọn hợp lý cho hệ thống E-learning. Tuy nhiên,
phương pháp này vẫn còn tồn đọng những vấn đề về bảo mật cũng như chính sách
về quyền riêng tư của người dùng. Từ đó, tác giả đề xuất mơ hình cải tiến trên
nền tảng mơ hình xác thực dựa trên hồ sơ người dùng để tăng cường các yếu tố
bảo mật còn hạn chế trên.

1.2
1.2.1

Mục tiêu, giới hạn và đối tượng nghiên cứu
Mục tiêu nghiên cứu

Như đã đề cập ở Phần 1.1, đề tài này đề xuất cải tiến mơ hình xác thực dựa
trên thuộc tính người dùng Profile-Based Authentication (PBA) để đảm bảo các
vấn đề bảo mật cũng như tăng cường tính riêng tư của thơng tin cá nhân người
dùng, cụ thể như sau:

2



1.3. Kết quả dự kiến
• Tính mật của thơng tin (Confidentiality): Thông tin hồ sơ của người dùng
cần được đảm bảo tính bí mật, đảm bảo khơng bị truy cập hoặc sử dụng trái
phép.
• Tính tồn vẹn thơng tin (Integrity): Hồ sơ người dùng cần được bảo vệ khỏi
bị xóa hoặc sửa đổi từ bất kỳ bên trái phép nào.
• Tính sẵn sàng của hệ thống (Availability): Hồ sơ người dùng cũng như các
thơng tin liên quan đến q trình xác thực phải ln trong trạng thái sẵn
sàng qua đó đảm bảo tiến trình xác thực người dùng ln ln trong trạng
thái sẵn sàng.

1.2.2

Giới hạn nghiên cứu

Mơ hình đề xuất sẽ được thiết kế kiến trúc hệ thống, phát triển, triển khai
một nguyên mẫu (hệ thống/các module phần mềm). Sau đó tiến hành thực nghiệm
và đánh giá kết quả của mơ hình đề xuất.

1.2.3

Đối tượng nghiên cứu

Các đối tượng nghiên cứu chính của đề tài bao gồm:
• Các mơ hình định danh xác thực người dùng
• Các cơng nghệ bảo mật tiên tiến
• Các cấu trúc lưu trữ dữ liệu
• Nền tảng cơng nghệ Blockchain

• Hệ quản trị giáo dục

1.3

Kết quả dự kiến

Cơng trình nghiên cứu dự kiến sẽ hồn thiện các nội dung như sau:
• Nghiên cứu về nền tảng công nghệ Blockchain.
3


1.4. Ý nghĩa của đề tài
• Khảo sát và tìm hiểu các giải pháp cho bài toán xác thực người dùng trong
giới hạn ứng dụng học tập trực tuyến.
• Đề xuất mơ hình ứng dụng Blockchain cho bài tốn xác thực người dùng.
Kiến trúc đề xuất cần được công bố dưới bản thiết kế, bài báo khoa học đăng
tại tạp chí/ hội nghị có phản biện uy tín.
• Hiện thực thử nghiệm và đánh giá giải pháp đề xuất.

1.4
1.4.1

Ý nghĩa của đề tài
Ý nghĩa khoa học

Đề tài nghiên cứu và cải tiến mơ hình xác thực dựa trên thuộc tính người
dùng với hướng tiếp cận tổ chức dữ liệu theo cấu trúc Compact Spare Merkle Tree
kết hợp với công nghệ Blockchain nhằm tăng cường khả năng bảo mật của hệ
thống cũng như tăng tính riêng tư của người dùng đối với các thông tin nhạy cảm
cá nhân.


1.4.2

Ý nghĩa thực tiễn

Đề tài đã hiện thực một nguyên mẫu và thí điểm thành công tại một hệ
thống hỗ trợ học tập. Kiến trúc đề xuất có tính ứng dụng rộng rãi, có thể áp dụng
cho nhiều mơ hình, loại hệ thống khác nhau. Góp phần nâng cao tính bảo mật
của hệ thống nhưng vẫn đảm bảo trải nghiệm của người dùng. Ngoài ra tính riêng
tư về thơng tin cá nhân của người dùng được đảm bảo, tăng mức độ tin cậy của
người dùng đối với hệ thống.

1.5

Cấu trúc báo cáo luận văn

Phần còn lại của báo cáo này được tổ chức như sau. Chương 2 trình bày các
cơng trình nghiên cứu liên quan về vấn đề xác thực hệ thống, phân tích những ưu
nhược điểm của các giải pháp hiện có. Chương 3 trình bày các kiến thức nền tảng
về mã hóa, cơng nghệ chuỗi khối (Blockchain) và những khó khăn thách thức khi
ứng dụng công nghệ chuỗi khối vào hệ thống xác thực. Chương 4 trình bày hướng
4


1.5. Cấu trúc báo cáo luận văn
tiếp cận cũng như giải pháp đề xuất. Chương 5 mô tả kiến trúc và các thành phần,
tiến trình chính của phương pháp đề xuất. Chương 6 đề cập đến việc hiện thực
và thực nghiệm. Cuối cùng, Chương 7 sẽ đánh giá ưu nhược điểm của giải pháp
đồng thời tổng kết những đóng góp chính của luận văn, kết quả đạt được cũng
như hướng phát triển của đề tài.


5


2 Cơng trình nghiên cứu liên quan

Xác thực là q trình kiểm tra danh tính một tài khoản truy cập vào hệ
thống là hợp lệ hay không. Đây là một trong những quy trình đầu tiên trong hầu
hết các hệ thống có yếu tố người dùng. Hay nói một cách đơn giản hơn, quá trình
xác thực là đi tìm câu trả lời cho câu hỏi "Bạn là ai?". Đã có nhiều nỗ lực nghiên
cứu được tiến hành để giải quyết các vấn đề xác thực trong một hệ thống trực
tuyến. Trong chương này sẽ đề cập và đánh giá một số phương pháp xác thực hiện
có, bao gồm cả các phương pháp truyền thống (xác thực dựa trên ID/Mật khẩu)
và các phương pháp hiện đại (xác thực dựa trên sinh trắc học, dựa trên hồ sơ người
dùng và xác thực dựa trên đa yếu tố).

2.1

Xác thực dựa trên kiến thức của người dùng

Xác thực dựa trên kiến thức của người dùng (Knowledge Based Authentication - KBA) là nhóm phương pháp xác minh định danh của người dùng trên cơ sở
những gì "người dùng biết" [3]. Nhóm phương pháp KBA xác định người dùng cuối
bằng cách yêu cầu họ trả lời các câu hỏi bảo mật cụ thể để cung cấp ủy quyền
chính xác cho các hoạt động trực tuyến hoặc kỹ thuật số. Xác thực dựa trên kiến
thức đã trở nên phổ biến trong nhiều loại hệ thống khác nhau trên Internet, nơi
các nhà cung cấp dịch vụ thường yêu cầu người dùng trả lời những câu hỏi này để
có quyền truy cập vào tài nguyên của hệ thống.
Xác thực dựa trên ID/Mật khẩu là phương pháp được sử dụng phổ biến
nhất [4]. Mật khẩu là một nhân tố xác thực dễ nhớ và rất dễ sử dụng đối với người
6



2.1. Xác thực dựa trên kiến thức của người dùng
dùng. Trong một kịch bản như ngân hàng, người dùng luôn nỗ lực để ngăn chặn
các truy cập bất hợp pháp vì đảm bảo lợi ít cho bản thân nên mơ hình này có thể
hiệu quả. Tuy nhiên, do tính chất của các kỳ thi trực tuyến, sinh viên có thể chia
sẻ thơng tin đăng nhập của mình với bên thứ ba nhằm mục đích đạt điểm cao.
Như trong nghiên cứu của Jiang [5], mật khẩu có entropy thấp rất dễ bị tấn công
theo phương pháp tấn công từ điển. Do đó, các bài kiểm tra trực tuyến dựa trên
ID/Mật khẩu người dùng là dễ bị thông đồng và tấn công.
Xác thực dựa trên mật khẩu đồ họa (Graphical Password Authentication) là
một hệ thống xác thực hoạt động bằng cách người dùng chọn từ hình ảnh, theo
một thứ tự cụ thể, được trình bày trong giao diện đồ họa người dùng. Mật khẩu đồ
họa cung cấp một sự thay thế đầy hứa hẹn cho mật khẩu chữ và số truyền thống.
Phương pháp này trở nên đầy hứa hẹn vì thơng thường mọi người nhớ hình ảnh
tốt hơn so với từ ngữ [6]. Trong nghiên cứu của mình, Gurav và cộng sự [7] đã đề
xuất phương pháp xác thực bằng cách sử dụng mật khẩu đồ họa cho hệ thống đám
mây. Ngoài ra, Bijoy và cộng sự [8] cũng đã đề xuất mơ hình xác thực mật khẩu
đồ họa để phân tích người dùng hợp pháp trong mạng xã hội trực tuyến và kho
lưu trữ hình ảnh xã hội an tồn với siêu dữ liệu.
W. Jansen [9] đã đề xuất cơ chế mật khẩu đồ họa cho thiết bị di động.
Trong giai đoạn đăng ký, người dùng được yêu cầu chọn chủ đề bao gồm hình thu
nhỏ và sau đó đăng ký một chuỗi hình ảnh làm mật khẩu. Trong suốt quá trình
xác thực, người dùng phải nhập các hình ảnh đã đăng ký theo đúng trình tự. Điểm
yếu của kỹ thuật này là do số lượng hình ảnh thu nhỏ bị giới hạn ở mức 30, nên
không gian mật khẩu rất nhỏ. Mỗi hình ảnh thu nhỏ được gán với một giá trị số
và tiến trình lựa chọn sẽ tạo ra một mật khẩu số bên dưới. Kết quả mô tả rằng độ
dài chuỗi hình ảnh thường ngắn hơn độ dài mật khẩu văn bản.
Bên cạnh đó, trong nghiên cứu của Ziran Zheng và cộng sự [10] đánh giá
rằng các lược đồ mật khẩu đồ họa đã được coi là lựa chọn thay thế cho mật khẩu

văn bản, nhưng nó có một số nhược điểm đối với các cuộc tấn công shoulder-surfing
và guessing attacks vì người dùng thao tác thẳng trên màn hình nhập.
Xác thực bằng câu hỏi thử thách là một trong những phương pháp thuộc
nhóm phương pháp xác thực dựa trên kiến thức người dùng. Mơ hình này thường
được sử dụng trong lĩnh vực ngân hàng [11] để xác thực và các nhà cung cấp dịch

7


2.1. Xác thực dựa trên kiến thức của người dùng
vụ email để phục hồi thơng tin định danh [12].

Hình 2.1: Giao thức xác thực phản hồi thử thách

1

Hình 2.1 mơ tả giao thức của mơ hình xác thực phản hồi thử thách. Cụ thể
như sau:
1. Người dùng mở một ứng dụng cần đăng nhập, sau đó cung cấp tên tài khoản
và mật khẩu.
2. Ứng dụng tính tốn một giá trị băm của mật khẩu.
3. Hủy mật khẩu thực tế.
4. Ứng dụng sẽ gửi tên tài khoản của người dùng lên máy chủ.
5. Máy chủ sẽ tạo ra một số ngẫu nhiên 16 byte được gọi là một thử thách.
6. Gửi thử thách cho ứng dụng khách.
1 Nipuna

Dilhara. Challenge Response Authentication Protocol, 2018.

8



×