ĐẠ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 HOÀ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.
Huỳnh Tường Nguyên Cán bộ chấm nhận xét 1: PGS. Huỳnh Trung Hiếu Cán bộ chấm nhận xét 2: PGS. 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.
Nguyễn Đức Dũng 3. Huỳnh Trung Hiếu 4. Lê Trung Quân 5. 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 TRƯỞNG KHOA KH&KTMT PGS. Trần Văn Hoài ĐẠI HỌC QUỐC GIA TP. HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC BÁCH KHOA Độ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.
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 toá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.
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.
Huỳnh Tường Nguyên Tp. 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. 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 toà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, hoàn toà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.
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 x Danh Sách Giải Thuật xi Thuật ngữ & từ viết tắt xii 1 Giới thiệu đề tài 1 1.1 Lý do và động lực thực hiện đề tài .2 Mục tiêu, giới hạn và đối tượng nghiên cứu .1 Mục tiêu nghiên cứu .2 Giới hạn nghiên cứu .3 Đối tượng nghiên cứu .3 Kết quả dự kiến .4 Ý nghĩa của đề tài. 4 iv Mục lục 1.1 Ý nghĩa khoa học .2 Ý nghĩa thực tiễn .5 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 Xác thực dựa trên đối tượng người dùng .3 Xác thực dựa trên đặc trưng sinh trắc học người dùng .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 20 3.1 Mật mã khóa đối xứng .2 Mật mã khóa bất đối xứng .1 Khái niệm Blockchain .2 Phương thức hoạt động của Blockchain .4 Các phiên bản Blockchain .5 Cơ chế đồng thuận trong Blockchain .6 Hợp đồng thông minh (Smart Contracts).
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 .2 Tổ chức hồ sơ người theo cấu trúc Merkle Tree .3 Lưu trữ bằng chứng thông tin trên Blockchain thông qua Smart Contract .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 60 5.1 Kiến trúc tổng quan .2 Các thành phần chính của kiến trúc .1 Mô-đun xử lý hồ sơ người dùng .2 Mô-đun tương tác với Blockchain .3 Mô-đun sinh bộ câu hỏi thử thách .4 Mô-đun xác thực câu trả lời của người dùng .3 Các tiến trình chính của hệ thống .1 Tiến trình đăng ký tài khoản .2 Tiến trình xác thực người dùng. 79 6 Hiện thực và thực nghiệm 82 6.1 Nút thử nghiệm cục bộ .2 Tạo mới một hợp đồng thông minh .3 Người dùng đăng ký tài khoản .4 Người dùng cập nhật hồ sơ cá nhân trên mạng lưới Blockchain 84 6.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.1 Thực nghiệm về tốc độ xử lý .2 Thực nghiệm về chi phí lưu trữ .3 Thực nghiệm các kịch bản tấn công.
91 7 Đánh giá và Tổng kết 93 7.1 Đánh giá giải pháp đề xuất .1 Thời gian tính toán .2 Chi phí hoạt động .3 Khả năng tăng cường tính bảo mật .1 Những kết quả và đóng góp chính .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ẽ 2.1 Giao thức xác thực phản hồi thử thách 1 .2 Quy trình xác thực sinh trắc học .2 Quy trình mã hóa và giải mã của mật mã khóa đối xứng 2 .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 4 .5 Phương thức hoạt động của Blockchain 5 .6 Các tính chất và ưu điểm của hợp đồng thông minh 6 .1 Kiến trúc của mô hình xác thực PBA truyền thống7 .3 Cây Merkle thưa .4 Cây Merkle thưa nhỏ gọn với ba nút lá .5 Quy trình xác thực câu trả lời .1 Kiến trúc của Merkle tree Blockchain Profile-based Authentication 8 61 5.2 Lược đồ hoạt động của MB-PBA .3 Tiến trình xử lý hồ sơ người dùng .4 Cây Merkle được xây dựng từ hồ sơ người dùng .5 Lưu trữ hồ sơ người dùng. 69 viii Danh sách hình vẽ 5.6 Mô-đun tương tác với Blockchain .7 Mô-đun sinh bộ câu hỏi thử thách .8 Mô-đun xác thực câu trả lời của người dùng .9 Tiến trình đăng ký tài khoản .10 Tiến trình xác thực người dùng .1 Màn hình giao diện người dùng của Ganache .2 Đăng ký tài khoản .3 Xây dựng hồ sơ cá nhân .4 Bằng chứng dữ liệu hồ sơ người dùng .