Luận văn thạc sĩ nghiên cứu chữ ký số ngưỡng và khả năng ứng dụng trong công nghệ blockchain

46 2 0
Luận văn thạc sĩ nghiên cứu chữ ký số ngưỡng và khả năng ứng dụng trong công nghệ blockchain

Đ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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - Lê Trọng Quý NGHIÊN CỨU CHỮ KÝ SỐ NGƯỠNG VÀ KHẢ NĂNG ỨNG DỤNG TRONG CÔNG NGHỆ BLOCKCHAIN LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) HÀ NỘI - 2022 HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - e Lê Trọng Quý NGHIÊN CỨU CHỮ KÝ SỐ NGƯỠNG VÀ KHẢ NĂNG ỨNG DỤNG TRONG CÔNG NGHỆ BLOCKCHAIN Chuyên ngành: Hệ thống thông tin Mã số: 8.48.01.04 LUẬN VĂN THẠC SĨ KỸ THUẬT (Theo định hướng ứng dụng) NGƯỜI HƯỚNG DẪN KHOA HỌC: TS ĐẶNG MINH TUẤN HÀ NỘI - 2022 e i LỜI CAM ĐOAN Tôi xin cam đoan Luận văn thạc sĩ với đề tài: “Nghiên cứu chữ ký số ngưỡng khả ứng dụng công nghệ Blockchain” hướng dẫn thầy giáo - TS Đặng Minh Tuấn cơng trình nghiên cứu riêng Các kết nghiên cứu luận văn trung thực, tài liệu tham khảo trích dẫn đầy đủ Hà Nội, ngày 12 tháng 05 năm 2022 Học viên Lê Trọng Quý e ii LỜI CẢM ƠN Đầu tiên, xin gửi lời cảm ơn sâu sắc đến Học viện cơng nghệ Bưu Viễn thơng nói chung Thầy/Cơ giảng dạy tơi nói riêng, Thầy/Cơ truyền đạt kiến thức kinh nghiệm q báu suốt q trình tơi học tập Học viện Tôi xin gửi lời tri ân sâu sắc đến thầy giáo - TS Đặng Minh Tuấn, người dìu dắt hướng dẫn tơi suốt trình thực luận văn Sự bảo định hướng thầy giúp nghiên cứu giải vấn đề cách khoa học đắn Tiếp theo, xin gửi lời cảm ơn tới bố mẹ, bạn gái anh chị em đồng nghiệp động viên, giúp đỡ tơi vượt qua khó khăn học tập, cơng việc sống Trong trình thực luận văn, dù cố gắng tránh khỏi thiếu sót, tơi mong nhận đóng góp ý kiến từ Thầy/Cơ bạn để luận văn tơi hồn thiện Tơi xin chân thành cảm ơn! Hà Nội, ngày 12 tháng 05 năm 2022 Học viên Lê Trọng Quý e iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT iv DANH SÁCH HÌNH VẼ v PHẦN MỞ ĐẦU vi Lý chọn đề tài Tổng quan vấn đề nghiên cứu Mục đích nghiên cứu Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu PHẦN NỘI DUNG CHƯƠNG 1: TỔNG QUAN VỀ CHỮ KÝ SỐ VÀ CÔNG NGHỆ BLOCKCHAIN 1.1 Tổng quan chữ ký số 1.1.1 Chữ ký số loại chữ ký số 1.1.2 Chữ ký số tập thể 1.1.3 Chữ ký số ngưỡng 1.1.4 Đa chữ ký 1.2 Công nghệ Blockchain 12 1.2.1 Những đặc điểm Blockchain 12 1.2.2 Cấu trúc chế hoạt động 13 1.2.3 Ứng dụng Blockchain thương mại điện tử 14 1.3 Một số thuật tốn đồng thuận cơng nghệ Blockchain 16 1.3.1 Thuật toán đồng thuận 16 1.3.2 Các loại thuật toán đồng thuận 17 e iv 1.4 Ứng dụng chữ ký số ngưỡng vào công nghệ Blockchain giao dịch tài 19 1.4.1 Ví ngưỡng 20 1.4.2 Hợp đồng thông minh 21 1.5 Kết luận chương 21 CHƯƠNG 2: XÂY DỰNG MƠ HÌNH CHỮ KÝ SỐ NGƯỠNG TRÊN CƠ SỞ HỆ MẬT TRÊN ĐƯỜNG CONG EDWARDS .23 2.1 Hệ mật đường cong Edwards 23 2.1.1 Đường cong Elliptic 23 2.1.2 Hệ mật đường cong Edwards (EdDSA) 27 2.2 Xây dựng mơ hình chữ ký số ngưỡng đường cong Edwards 29 2.3 Phân tích tính hiệu mơ hình 32 2.4 Kết luận chương 34 CHƯƠNG ỨNG DỤNG CHỮ KÝ SỐ NGƯỠNG TRONG CÔNG NGHỆ BLOCKCHAIN 35 3.1 Triển khai thử nghiệm mơ hình 35 3.2 Phân tích đánh giá ưu nhược điểm mơ hình 42 3.3 Kết luận chương 43 PHẦN KẾT LUẬN 44 TÀI LIỆU THAM KHẢO 45 e v DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT Viết tắt Tiếng Anh Tiếng Việt EdDSA Edwards-curve Digital Signature Algorithm Thuật toán sinh chữ ký số dựa đường cong Edwards ECDSA Elliptic Curve Digital Signature Algorithm Thuật toán sinh chữ ký số dựa đường cong Elliptic CA Certificate Authority TSS Threshold Signature Scheme Lược đồ chữ ký ngưỡng PKC Public Key Cryptography Khoá mã hoá cơng khai MPC Multi-party Computation Tính tốn nhiều bên an toàn DKG Distributed Key Generation Multisig Multi-Signature DLT Distributed Ledger Technology Sổ phân tán DSA Digital Signature Algorithm Giải thuật ký số Nhà cung cấp chứng thực số Tạo khóa phân tá Đa chữ ký e vi DANH SÁCH HÌNH VẼ Hình 2.1 Minh họa đường cong Elliptic 28 Hình 2.2 Mơ tả phép cộng tiến hành đường cong Elliptic 28 Hình 2.3 Mô tả phép nhân tiến hành đường cong Elliptic 29 Hình 2.4 Đường cong Edwards 30 Hình 2.5 So sánh đồ thị biểu diễn Edwads Elliptic 32 Hình 2.6 So sánh hiệu Edwads Elliptic 32 Hình 2.7.a) Luồng EdDSA b) Luồng ECDSA 33 Hình 2.8 So sánh tốc độ thuật tốn băm 33 Hình 2.9 Quy trình chữ ký số Edwards với BLAKE2 34 Hình 2.10 Hàm ký sử dụng thuật tốn BLAKE2 34 Hình 2.11 Xác minh chữ ký 35 Hình 2.12 So sánh thời gian ký xác minh giao dịch 36 Hình 2.13 So sánh thời gian luồng xử lý dung lượng cache giao dịch 36 Hình 3.1 Cấu hình số lượng node ngưỡng chữ ký giao dịch 38 Hình 3.2 Cấu trúc EdDSA key 39 Hình 3.3 Cấu hình ký giao dịch EdDSA 40 Hình 3.4 Tạo ví qua api Zilliqa 40 Hình 3.5 Thơng tin ví vừa tạo lưu client_db 41 Hình 3.6 Nạp ZIK token vào ví 42 Hình 3.7 Kiểm tra thơng tin ví qua Dev Wallet 42 Hình 3.8 Kiểm tra thơng tin địa số dư qua api Zilliqa 42 Hình 3.9 Start demo server 43 Hình 3.10 Mã code tạo giao dịch chuyển token 43 Hình 3.11 Tạo giao dịch gửi 1000 ZIL đến ví khác 44 Hình 3.12 Giao dịch pass qua ngưỡng chữ ký 45 Hình 3.13 Kiểm tra giao dịch viewblock qua mã transactionId 45 PHẦN MỞ ĐẦU e vi Lý chọn đề tài Blockchain xu công nghệ thời đại, áp dụng nhiều ngành nghề lĩnh vực khác Có quốc gia hay doanh nghiệp lớn bỏ nhiều tiền thời gian để đầu tư nghiên cứu công nghệ Blockchain tính ứng dụng cao độ bảo mật tuyệt vời Trong giao dịch tài chính, người thực quan sát trạng thái chuyển giao Blockchain theo thời gian thực, thay khơng biết tình trạng giao dịch giao dịch kết thúc, vấn đề thường xảy hệ thống hành Tính minh bạch không đổi áp dụng với giá trị ghi Blockchain Chữ ký số chế mật mã hóa sử dụng để kiểm tra độ chân thực tính tồn vẹn liệu số, xem phiên kỹ thuật số chữ ký tay thông thường, với mức độ phức tạp bảo mật cao Lược đồ Chữ ký Ngưỡng (Threshold Signature Scheme - TSS) thuật tốn mã hóa, sử dụng để tạo khóa phân tán chữ ký Sử dụng TSS máy người dùng (máy khách) Blockchain mơ hình mang đến nhiều lợi ích, đặc biệt lĩnh vực bảo mật Chữ ký ngưỡng nâng cao khả bảo mật hệ thống trì tính phân tán Blockchain Vì tơi xin chọn đề tài “Nghiên cứu chữ ký số ngưỡng khả ứng dụng công nghệ Blockchain” làm luận văn tốt nghiệp trình độ Thạc sĩ Tổng quan vấn đề nghiên cứu Thuật toán đồng thuận giúp bảo vệ Blockchain chứng minh hiệu Tuy nhiên với phát triển cơng nghệ, có số dạng cơng tiềm thực để nhắm vào mạng Blockchain Với việc ứng dụng chữ ký số ngưỡng vào, có tập hợp bên tham gia vào q trình tính tốn khóa cơng khai, bên nắm giữ phần bí mật khóa cá nhân (các phần thơng tin bí mật giữ kín với bên cịn lại) Từ khóa cơng khai, lấy địa công khai theo cách thức giống e hệ thống truyền thống, khiến cho Blockchain biết địa tạo Cơ chế có ưu điểm khóa cá nhân khơng cịn điểm lỗi nữa, bên nắm giữ phần Vì tăng tính an tồn cho bên tham gia Mục đích nghiên cứu Blockchain cơng nghệ lưu trữ truyền tải thông tin liệu khối (block) liên kết với mở rộng theo thời gian Từng khối chứa đựng thông tin thời gian khởi tạo liên kết với khối trước Bản chất Blockchain tính phi tập trung ý tưởng chia sẻ tin tưởng bên tham gia hệ thống Lược đồ chữ ký ngưỡng giải pháp cho vấn đề nói Mục tiêu nghiên cứu cụ thể trình bày luận văn sau: - Nghiên cứu chữ ký số ngưỡng, công nghệ Blockchain - Ứng dụng chữ ký số ngưỡng vào công nghệ Blockchain giao dịch tài - Đánh giá tính khả thi Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu: Chữ ký số ngưỡng công nghệ Blockchain Phạm vi nghiên cứu luận văn: Cơ sở lý thuyết liên quan tới chữ ký số, chữ ký số ngưỡng, công nghệ Blockchain ứng dụng chữ ký số ngưỡng công nghệ Blockchain Phương pháp nghiên cứu Phương pháp nghiên cứu lý thuyết Nghiên cứu chữ ký số, chữ ký số ngưỡng công nghệ Blockchain Một số thuật toán đồng thuận ứng dụng Blockchain ưu điểm, nhược điểm chúng Sử dụng báo, tạp chí khoa học công bố công nhận hội đồng khoa học e 24 Hình 2.8 So sánh tốc độ thuật tốn băm Hình 2.9 Quy trình chữ ký số Edwards với BLAKE2 Trong q trình ký, khóa cá nhân (pvtKey) khóa cơng khai (pubKey) tính tốn Khố bí mật message trở thành đầu vào cho chức ký Tôi sử dụng hàm băm BLAKE để đạt hiệu suất cao hàm ký, sau e 25 Hình 2.10 Hàm ký sử dụng thuật tốn BLAKE2 Trong đó: pC nén điểm, pM phép nhân, G đại diện cho điểm đường cong q nhóm tạo từ G Trong chức xác minh trình bày Thuật tốn 2.9, khóa cơng khai (pK), thơng điệp tổng hợp chữ ký tạo thành đầu vào Đầu hàm Boolean Do đó, Đúng trường hợp xác minh tích cực Sai trường hợp xác minh khơng thành cơng Hình 2.11 Xác minh chữ ký e 26 Trong đó: pK khóa cơng khai, pM phép nhân điểm, pE điểm nhau, G đại diện cho điểm đường cong q thứ tự nhóm tạo từ G, verifiedTime số lần xác minh chữ ký, threshold ngưỡng xác minh chữ ký 2.3 Phân tích tính hiệu mơ hình So sánh lược đồ Edwards với phương pháp chữ ký dựa tổng hợp biểu diễn đồ thị thời gian thực phương pháp để tính tốn chữ ký cho liệu Luồng liệu tăng tuyến tính khoảng thời gian cố định vẽ biểu đồ dựa thời gian xử lý TSign TSign = (TSC − TSS) + TTL Hình 2.12 So sánh thời gian ký xác minh giao dịch Hình 2.13 So sánh thời gian luồng xử lý dung lượng cache giao dịch Mơ hình trình bày lược đồ chữ ký tổng hợp dựa đường cong Edwards hiệu suất cao để đảm bảo hiệu tính tồn vẹn giao dịch So với sơ đồ chữ ký cá nhân, giảm 40% dung lượng lưu trữ, tác vụ ký xác minh đạt thời gian xử lý ngắn 10% 13%, tương ứng so với sơ đồ chữ ký số thông thường Những cải tiến có tác động đáng kể đến yếu tố khác, chẳng hạn đạt mức tăng 10% tốc độ dòng giao dịch cải thiện việc xác thực blockchain e 27 2.4 Kết luận chương Xác minh nhanh hơn: Thuật toán EdDSA đơn giản ECDSA hai dễ hiểu dễ tích hợp Chính đơn giản này, EdDSA có hiệu sử dụng nhỉnh ECDSA chút Khả bảo mật chứng minh [9]: Chữ ký EdDSA chứng minh an toàn Cụ thể hơn, thơng tin mã hóa vơ khó bị làm giả gần bất biến Mặc khác, chữ ký ECDSA bị thay đổi gây nên nhiều vấn đề Bitcoin Tính tuyến tính[9]: Chúng ta thêm vài chữ ký EdDSA kết chữ ký hợp lệ Điều giúp tiết kiệm lượng tính tốn hình thành block cho cấp độ xây dựng cao mà cải thiện hiệu lẫn tính bảo mật, giao dịch đa chữ ký, v.v e 28 CHƯƠNG ỨNG DỤNG CHỮ KÝ SỐ NGƯỠNG TRONG CÔNG NGHỆ BLOCKCHAIN 3.1 Triển khai thử nghiệm mơ hình Để triển khai mơ hình hệ thống blockchain, sử dụng thư viện: - TSS-BNB: https://github.com/bnb-chain/tss-lib - ZenGo-X: https://github.com/ZenGo-X - Zilliqa: https://dev.zilliqa.com/ Trong TSS-BNB hỗ trợ tạo public key EdDSA, ZenGo có hỗ trợ thuật tốn chữ ký số EdDSA Zilliqa dùng để test mơ hình hệ thống blockchain online Ngôn ngữ sử dụng golang, rust typescript Môi trường cài đặt: - nvm use 10.16.3 - rustup install nightly-2019-07-10 - rustup override set nightly-2019-07-10 - brew install golang Hình 3.14 Cấu hình số lượng node ngưỡng chữ ký giao dịch Genarate keys $go test -timeout 30s -run ^TestE2EConcurrentAndSaveFixtures$ github.com/bnb-chain/tss-lib/eddsa/keygen e 29 ok github.com/bnb-chain/tss-lib/eddsa/keygen 4.294s Theo cấu hình ban đầu với số lượng node tham gia thuật tốn tạo EdDSA key khác EdDSA public key giống Hình 3.15 Cấu trúc EdDSA key e 30 Hình 3.16 Cấu hình ký giao dịch EdDSA Để test trình TSS giao dịch blockchain, trước tiên ta cần tạo địa ví test Ta sử dụng api Zilliqa tạo trang: https://dev-wallet.zilliqa.com/generate Hình 3.17 Tạo ví qua api Zilliqa e 31 Hình 3.18 Thơng tin ví vừa tạo lưu client_db Dùng tính Faucet để deposit 1000 ZIL vào địa ví vừa tạo Ví cần có ZIL token để test giao dịch e 32 Hình 3.19 Nạp ZIK token vào ví Kiểm tra số dư địa ví vừa tạo Hình 3.20 Kiểm tra thơng tin ví qua Dev Wallet Hình 3.21 Kiểm tra thơng tin địa số dư qua api Zilliqa e 33 Hình 3.22 Start demo server Hình 3.23 Mã code tạo giao dịch chuyển token e 34 Hình 3.24 Tạo giao dịch gửi 1000 ZIL đến ví khác e 35 Hình 3.25 Giao dịch pass qua ngưỡng chữ ký Hình 3.26 Kiểm tra giao dịch viewblock qua mã transactionId 3.2 Phân tích đánh giá ưu nhược điểm mơ hình Qua thử nghiệm điểm ta thấy tính độc lập q trình tạo khố, áp dụng đa chữ ký khả bảo mật thuật toán cao Về tốc độ xử lý quy mơ thử nghiệm giao dịch thực khoảng 15 giây Vì giới hạn số lượng node chưa đủ hạ tầng phần cứng để thử nghiệm mạng lớn nên tốc độ hiệu suất thuật toán phạm vi luận văn chấp nhận Các đánh giá từ kỹ sư phát triển sàn Binance đánh giá thuật tốn EdDSA có ưu điểm e 36 3.3 Kết luận chương Trong năm gần đây, số lượng triển khai TSS tăng lên đáng kể Tuy nhiên, cơng nghệ mẻ, có hạn chế số vấn đề cần cân nhắc So với cơng nghệ mã hóa khóa cơng khai cổ điển, giao thức TSS phức tạp chưa “kiểm thử thực tế” So với chữ ký số đơn giản, TSS thường yêu cầu giả định mã hóa bổ sung yếu Do đó, vector cơng mã hóa khơng tồn thiết lập truyền thống khám phá Hội thảo Breaking Bitcoin Conference năm 2019[12] có tìm số lỗi điểm cải thiện thuật tốn Sàn Binance sàn blockchain lớn chuẩn bị ứng dụng công nghệ chữ ký ngưỡng dựa đường cong Edwards, giai đoạn Binance open source code phần TSS-EdDSA để cộng đồng thử nghiệm đánh giá Bên cạnh số nhà phát triển mạnh dạn áp dụng thuật toán EdDSA để làm token Cardano, NANO, Stellar Lumens, WAVES, Libra e 37 PHẦN KẾT LUẬN Trong phạm vi luận văn thực nghiên cứu loại chữ ký số, chữ ký ngưỡng Thực tìm hiểu số giải thuật áp dụng cho toán chữ ký ngưỡng Blockchain Luận văn thực nghiên cứu chữ ký ngưỡng áp dụng đường cong Edwards, xây dựng thử nghiệm để chứng minh tính khả thi thuật tốn Trong q trình nghiên cứu, nhiều hạn chế phát để giải đòi hỏi tảng tri thức sâu rộng Các hướng nghiên cứu đề xuất sau: - Nghiên cứu đa chữ ký số chữ ký số ngưỡng - Nghiên cứu vấn đề cần cải thiện từ Hội thảo Breaking Bitcoin Conference e 38 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Đặng Minh Tuấn, “Hệ mật mã hóa khóa cơng khai dựa đường cong elliptic,” p 41, 2016 Tiếng Anh [2] J.-P Aumasson, A Hamelink, O Shlomovits, and Z X Israel, “A Survey of ECDSA Threshold Signing.” [3] M S Hwang and T Y Chang, “Threshold signatures: Current status and key issues,” Int J Netw Secur., vol 1, no 3, pp 123–137, 2005 [4] D H Kim, R Ullah, and B S Kim, “RSP Consensus Algorithm for Blockchain,” 2019 20th Asia-Pacific Netw Oper Manag Symp Manag a Cyber-Physical World, APNOMS 2019, pp 1–4, 2019, doi: 10.23919/APNOMS.2019.8893063 [5] C Stathakopoulou and C Cachin, “Research Report: Threshold Signatures for Blockchain Systems,” pp 1–42, 2017 Website [6] https://pkg.go.dev/filippo.io/edwards25519 [7].https://zengo.com/wp-content/uploads/2019/06/breaking_bitcoin19_updated.pdf [8] https://datatracker.ietf.org/doc/html/rfc8032 [9] https://github.com/sipa/bips/blob/bip-taproot/bip-0340.mediawiki [10] https://github.com/ZenGo-X/ShareLock [11] https://academy.binance.com/vi/articles/what-are-nodes [12] https://academy.binance.com/en/glossary/satoshi-nakamoto [13] https://github.com/bnb-chain/tss-lib [14].https://www.sciencedirect.com/science/article/pii/S1319157821003359#b0115 e ... QUAN VỀ CHỮ KÝ SỐ VÀ CÔNG NGHỆ BLOCKCHAIN 1.1 Tổng quan chữ ký số 1.1.1 Chữ ký số loại chữ ký số Chữ ký số tập chữ ký điện tử Có thể dùng định nghĩa chữ ký điện tử cho chữ ký số Chữ ký điện tử... khả thi Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu: Chữ ký số ngưỡng công nghệ Blockchain Phạm vi nghiên cứu luận văn: Cơ sở lý thuyết liên quan tới chữ ký số, chữ ký số ngưỡng, công nghệ. .. nghệ Blockchain ứng dụng chữ ký số ngưỡng công nghệ Blockchain Phương pháp nghiên cứu Phương pháp nghiên cứu lý thuyết Nghiên cứu chữ ký số, chữ ký số ngưỡng công nghệ Blockchain Một số thuật toán

Ngày đăng: 27/03/2023, 06:43

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan