Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 59 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
59
Dung lượng
5,79 MB
Nội dung
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 - 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 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 tơi 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ý 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 quý 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 q 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 đỡ 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ý 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 .2 Phương pháp nghiên cứu .2 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 toán đồng thuận công nghệ Blockchain 16 1.3.1 Thuật tốn đồng thuận 16 1.3.2 Các loại thuật toán đồng thuận 17 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 v DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT Viết tắt EdDSA ECDSA CA TSS Tiếng Anh Tiếng Việt Edwards-curve Digital Thuật toán sinh chữ ký số dựa Signature Algorithm Elliptic Curve Digital đường cong Edwards Thuật toán sinh chữ ký số dựa Signature Algorithm đường cong Elliptic Certificate Authority Nhà cung cấp chứng thực số Threshold Signature Scheme Lược đồ chữ ký ngưỡng PKC Public Key Cryptography Khố mã hố cơng khai MPC Multi-party Computation Tính tốn nhiều bên an tồn DKG Multisig DLT DSA Distributed Key Generation Tạo khóa phân tá Multi-Signature Distributed Ledger Technology Đa chữ ký Sổ phân tán Digital Signature Algorithm Giải thuật ký số 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 toá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 vi PHẦN MỞ ĐẦU 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 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 vi cịn lại) Từ khóa cơng khai, lấy địa công khai theo cách thức giống 36 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ý 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 37 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 toà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 38 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 39 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, tơi 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 40 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 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 41 Hình 3.15 Cấu trúc EdDSA key 42 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 43 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 44 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 45 Hình 3.22 Start demo server Hình 3.23 Mã code tạo giao dịch chuyển token 46 Hình 3.24 Tạo giao dịch gửi 1000 ZIL đến ví khác 47 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ử 48 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 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 toá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 49 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 50 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 CyberPhysical 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 ... 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. .. 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. .. 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ử thông tin kèm theo liệu (văn bản, hình ảnh,