Chương 1. TONG QUAN VE DE TÀII. Lý do chon để tai. Đối tượng nghiên cứu.------ 2 2 £+E+k£EE£EEEEEEEEEEE2E1211217171 2121 xe.
Pham vi nghiÊn CỨU. 5 c1 11x HH ng vờ 17 I Win o0 ốc .--2--2¿©+©++2+++E++2E++EE+vrx+zrxrrreees 22 2.---22-©2+SE2SEE2EEE22122112712112112711271211 11111.ccc-c ccQQ Q0 TY TS nen 26 “"hẩn. HỆ THONG LƯU TRU SỬ DUNG CÔNG NGHỆ CHUOI KHOI31 3. Khảo sát một số nền tảng chuỗi khối.
Sơ đồ hệ thong ecceccceccccccsssesssesssesssssseessesssessssssessussssessesssecsusesussseessecseesessecs 31 BQ. Cơ quan cấp chứng chỉ.--- ¿5£ +k+Sk+EE+EEEEEEEEEEEEEEerkerkerkeree 33 3. Dot liệu bí mật. Các quy trÌnh.
Tạo cuộc bầu chọn.------ + +++++Ek+EE+EE£EESEEerkerErrrrkerkerree 35 3.-- 2c C22 TT TE101211111 2111 11 1e cre. Đóng cuộc bầu chọn. Phát triển chuỗi mã.----- 2 £++k+EE+EE£+EE£EEEEEEEEEEEEEEEEEEEEEEEEErkrrkerreee 40 3. _ Định nghĩa đối tượng CBC.
Các hàm trong chuỗi mã.-¿--- 52 ©2+E+E££E+E+EEE£krEerrkrrerrrs 42 Chương 4. PHƯƠNG PHÁP BẢO MẬTT.--- + +2 +EE+EEeEEeEEErrkerkerrerex 52 AL. Khao Sat nh 5A. SC 9- 2L 1222 HH H222 rrrree 52 4.
Mã hóa đường cong €ÏI. Sử dụng EdDSA. Dinh danh BTC. Định danh định trƯỚC.
So sánh giữa các phương pháp bảo mật. Thur viện “ellIptiC”. SG n1 3S vn ng ng re62 4. Công cụ nội bộ của NodeJS .- - -- S1 vs ng ngư, 63 4.
Phương pháp mã hóa. Đánh giá hiệu suất. XÂY DUNG UNG DUNG oeeeecesceccessessesssesseeseesesssesseesesseessessesseeseees 68 5. COng ngh@ oo.
Nghiệp VU ceccecccssccssssssesssecssesssessesssecssessssssesssesssessuessesssesssessesssecssesssessessseessess 70 5. -- -- LG - c2 111111122230 11111 ng 1 ng ng ng y 71 5. Xác thực với CQOCCC. 2c 22H TH TT 2211212111111 tre.
_ Kiểm tra phiếu bầu.--- ¿2£ ©k+Sk+EESEEEEEEE2E2EEEEEEerkrrkrree 86 5. Đóng CBC vieecccscsssesssesssessssssesssecssessusssssssecssecsusssscssecsusssssesecasecsseeseceses 88 5. _ Tổng kết CBC. Kiểm tra lịch sử CBC.
Chức năng g1ao dIỆn. + 2c tt TT HH,95 5. _ Thay đổi ngôn ngữ. Chế độ sáng/tối.--cc©cccccccrkrrreerreerkeerxee 98 Chương 6.
Kết quả đạt được. Ưu và nhược điểm. Nhược điểm. Hướng phat tridn.eccecceccccccsesscsssssssssecsessessesscsussucsssessessessssessussessssessessesassneaneaneseess 102 DANH MỤC HÌNH Hình 1.1 Chuỗi khối 22 Hình 2.2 Hyperledger Fabric 23 Hình 2.1 So đồ hệ thống chuỗi khối Hyperledger Fabric 32 Hình 3.2 Quy trình tạo CBC 35 Hình 3.3 Quy trình bỏ phiếu 37 Hình 3.4 Quy trình đóng CBC 39 Hình 3.5 Tạo ID và ID rút gọn cho CBC 43 Hình 3.6 Tạo khóa bí mật cho CBC 43 Hình 3.7 Tạo các khóa bí mật cho CBC 44 Hình 3.8 Danh sách chữ ký mã hóa định danh được chỉ định 44 Hình 3.9 Xác thực danh tính phiếu bầu 45 Hình 3.10 ID của phiếu bầu 46 Hình 3.11 Lưu dữ liệu phiếu bầu lên số cái công khai 47 Hình 3.12 Đóng CBC 48 Hình 3.13 Lay đữ liệu phiếu bầu từ dữ liệu bí mật của tổ chức 49 Hình 3.14 Công khai đữ liệu bỏ phiếu sau khi đóng CBC 50 Hình 3.15 Lấy nội dung phiếu bầu 51 Hình 3.16 Lay lịch sử thay đổi của CBC 51 Hình 4.3 M6 ta ECDH [3] 55 Hình 4.4 Mã hóa định danh BTC 57 Hình 4.5 Kiểm tra định danh BTC khi tham gia CBC 58 Hình 4.6 Mã hóa thông tin bầu chọn 60 Hình 4.7 Mã hóa định danh định trước 61 Hình 4.8 Kiểm tra định danh của phiếu bầu có phải định danh định trước 62 Hình 5.1 Sơ đồ tông quát 69 Hình 5.2 Sơ dé use case 70 Hình 5.3 Sơ đồ luồng sự kiện nghiệp vu “Tao CBC” 72 Hình 5.4 Sơ đồ tuần tự nghiệp vụ “Tạo CBC” 72 Hình 5.5 Giao diện MainComponent 73 Hình 5.6 Giao diện CreateInfoComponent 74 Hình 5.7 Giao diện CreateOptionsComponent khi chọn ché độ don lựa chọn 75 Hình 5.8 Giao diện CreateOptionsComponent khi chọn chế độ đa lựa chọn 75 Hình 5.9 Giao diện CreateOptionsComponent khi chọn chế độ đa lựa chọn với giới hạn lựa chọn.10 Lựa chon CBC “Công khai” 76 Hình 5.11 Lựa chon CBC “Riêng tư” 77 Hình 5.12 Lựa chọn CBC “Bí mật” 78 Hình 5.13 Kết quả tạo CBC 78 Hình 5.14 Sơ đồ luồng sự kiện nghiệp vụ “Xác thực với CQCCC” 79 Hình 5.15 Sơ đồ tuần tự nghiệp vụ xác thực với CQCCC 80 Hình 5.16 Tham gia cuộc bầu chọn 80 Hình 5.17 Kiểm tra CBC tôn tại 81 Hình 5.18 Xác thực danh tinh CBC 82 Hình 5.19 Điền định danh 82 Hình 5.20 Giao diện quản lý CBC 83 Hình 5.21 Sơ đồ luồng sự kiện của nghiệp vụ “Bỏ phiếu” 84 Hình 5.22 Sơ đồ tuần tự của nghiệp vụ “Bỏ phiếu” 84 Hình 5.23 Giao diện bỏ phiếu 85 Hình 5.24 Sơ đồ luồng sự kiện của nghiệp vụ “Kiểm tra phiếu bầu” 86 Hình 5.25 Sơ đồ tuần tự của nghiệp vụ “Kiểm tra phiêu bầu” 86 Hình 5.26 Giao điện kiểm tra ID phiếu bầu 87 Hinh 5.27 Kiém tra phiéu bau 87 Hinh 5.28 Két qua kiém tra phiéu bau 88 Hình 5.29 So dé luéng sự kiện của nghiệp vu “Đóng CBC” 88 Hình 5.30 So đồ tuần tự của nghiệp vụ “Đóng CBC” 89 Hình 5.31 Sơ đồ luồng sự kiện của nghiệp vụ “Tổng kết CBC” 90 Hình 5.32 Sơ đồ tuần tự của nghiệp vụ “Tổng kết CBC” 91 Hinh 5.33 Téng két CBC 92 Hình 5.34 Sơ đồ luồng sự kiện của nghiệp vụ “Kiểm tra lịch sử CBC” 93 Hình 5.35 So đồ tuần tự của nghiệp vụ “Kiểm tra lịch sử CBC” 93 Hình 5.36 Giao điện nhập CBC dé kiểm tra lich sử 94 Hình 5.37 Giao diện kết quả lịch sử CBC 94 Hình 5.38 Lấy dữ liệu danh sách giao dịch 95 Hình 5.39 Nút đổi ngôn ngữ ứng dụng 96 Hình 5.40 Giao diện tạo CBC ở tiếng Việt 96 Hình 5.41 Giao diện tao CBC ở tiếng Anh 97 Hinh 5.42 Giao dién quan ly 6 tiéng Viét 97 Hình 5.43 Giao diện quản lý ở tiếng Anh 98 Hình 5.44 Nút đổi chế độ sáng/ tối 98 Hình 5.45 Giao diện kết quả tạo CBC ở chế độ sáng 99 Hình 5.46 Giao diện kết quả tao CBCở chế độ tối 99 Hình 5.47 Giao diện quan lý ở chế độ sáng 100 Hình 5.48 Giao điện quản lý ở chế độ tối 100 DANH MỤC BANG Bang 3.1 Bảng thuộc tính của CBC .- --- 5 5 + kg HH gi rưệt 41 Bang 3.2 Các hàm trong chuỗi MA .1 Các nhóm phương pháp dé đánh giá .2 Các hàm chuỗi mã dé đánh giá.
¿2-2 22522 EE£+E+E££EerEerxerxersrree 66 Bang 4.3 Kết qua do lường hiệu suất (đơn vị: mili-giây).1 Danh sach tac nhan 0N ä.2 Danh sách nghi€p VU. ceeccesceesseesnecesseeesceeeseeceseessaeceseeeeseeeesecesaeeneaeenaes 71 DANH MỤC TỪ VIET TAT STT Ký hiệu chữ viết tắt Chữ viết đầy đủ 1 BTC Ban tổ chức 2 CBC Cuộc bầu chọn 3 CK Chuỗi khối 4 CQCCC Co quan cap chimg chi 5 NTG Nguoi tham gia TÓM TẮT KHÓA LUẬN Nội dung đề tài: Bài khóa luận này sẽ tập trung vào việc áp dụng công nghệ chuỗi khối vào việc phát triên một ứng dụng bâu cử trực tuyên trên nên tảng trình duyệt và yêu tô bảo mật của công nghệ chuỗi khối trong việc lưu trữ thông tin dir liệu. Do công nghệ chuỗi khối là một công nghệ mới mẻ vả có tiêm năng trong ứng dụng các hệ thông bâu cử do tính bảo mật cao và lưu trữ dữ liệu an toàn. Ngoài ra hiện tại trên thị trường chưa có nhiêu các ứng dụng bâu cử đơn giản quy mô từ nhỏ đên vừa có áp dụng công nghệ chuỗi khôi trực tuyến và dễ tiếp cận và sử dung.
Mục tiêu đề tài: - Muc tiêu lý thuyết le) Tìm hiểu và năm vững kiến thức về công nghệ chuỗi khối, hiểu được cách làm/ xây dựng hệ thống với công nghệ chuỗi khối. Tìm hiểu cơ chế bảo mật được sử dụng khi ứng dụng công nghệ chuỗi khối trong phát triển ứng dụng có tính bảo mật cao Tìm hiểu một số kỹ thuật/cách thức/phương pháp, so sánh, đánh giá về khả năng bảo mật của công nghệ chuỗi khối Củng có kiến thức lập trình phát triển ứng dụng nền tảng trình duyệt trực tuyến. « Muc tiêu sản phầm le) Xây dựng hệ thông bỏ phiếu dựa trên công nghệ chuỗi khối với các tinh năng bảo mật, an toàn lưu trữ Xây dựng được ứng dụng bầu cử bầu cử trên nền tảng trình duyệt trực tiếp với day đủ các chức năng, giao diện thân thiện, dé sử dụng. Áp dụng được các phương pháp bảo mật cho quá trình lưu trữ, truy xuất dữ liệu bầu cử đã được lưu trên công nghệ chuỗi khối.
13 Phương pháp thực hiện: « Tim hiểu và triển khai hệ thống lưu trữ kết quả bầu cử sử dụng công nghệ chuỗi khối o Phương pháp thực hiện Tìm hiệu vê công nghệ chuỗi khôi Khảo sát một sô nên tảng công nghệ chuỗi khôi Đánh gia ưu điêm, nhược điêm của các nên tảng đó qua đó xác định nền tảng sẽ sử dụng chính. o_ Dự kiến kết quả Năm được sơ lược vê công nghệ chuỗi khối Khảo sát, đánh giá được một vài nên tảng chuỗi khối qua đó chọn được nên tảng sẽ sử dụng. Xây dựng được một hệ thống chuỗi khối đã được chọn ‹ Tim hiểu một số phương pháp bảo mật được sử dụng trong công nghệ chuỗi khối và hệ thống bầu cử dé áp dụng vào hệ thống. o Phương pháp thực hiện Tìm và đọc một số bài báo, công trình nghiên cứu khoa học có liên quan đến bảo mật trong công nghệ chuỗi khối và hệ thống bầu cử Đánh giá, so sánh ưu & nhược điểm để sàng lọc các phương pháp khả thi và hợp lý Tìm hiểu các phương án mà nền tảng đã cho, các thư viện hỗ trợ,.
dé xem xét phương án áp dụng các phương pháp bảo mật đã tìm hiéu. o_ Dự kiến kết quả Năm được các yêu tô ưu, nhược diém của một vài phương pháp bảo mật công nghệ chuỗi khối và hệ thống bầu cử đã chọn và tìm hiêu Ap dụng thành công những phương pháp được chon và tìm hiéu. 14 ‹ _ Xây dựng ứng dụng bau cử trực tuyến trên nền tảng trình duyệt o Phương pháp thực hiện « Tim hiểu các framework xây dựng ứng dụng trên nên tảng trình duyệt hiện có trên thị trường « Tìm hiểu các framework giao diện có thé sử dung dé tạo ra giao diện thân thiện, dễ sử dụng,. « _ Đánh giáưu & nhược điểm các lựa chọn về framework xây dựng ứng dung va giao diện dé đưa ra lựa chọn tối ưu nhất về mặt thời gian và công sức.
o_ Dự kiến kết quả « Chon được một framework xây dựng ứng dung và giao diện tối ưu nhất. « Xây dựng ứng dung bau cử trực tuyến trên nền tảng trình duyệt đáp ứng các nghiệp vụ cơ bản của một hệ thống bầu cử cơ bản. - _ So sánh, đánh giá kết quả đã đạt được của đề tài nghiên cứu. o Phương pháp thực hiện « Tìm hiểu một vài tiêu chí của một hệ thống chuỗi khối về yêu tô bảo mật, lưu trữ,.
» Tim hiểu một vai tiêu chí của một hệ thống bầu cử. « Áp dụng các tiêu chí tìm được dé đánh giá, nhận xét hệ thống bầu cử và chuỗi khối đã xây dựng o_ Dự kiến kết quả «= Xay dựng được một vài đồ thị/ bảng dé nhận xét các yếu tố về bảo mật, hiệu suất,. của hệ thống đã đạt được.