(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.pdf

56 4 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.pdf

Đ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

Untitled 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 20[.]

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 2 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 .4 CHƯƠNG 1: TỔNG QUAN VỀ CHỮ KÝ SỐ VÀ CÔNG NGHỆ BLOCKCHAIN .4 1.1 Tổng quan chữ ký số .4 1.1.1 Chữ ký số loại chữ ký số 1.1.2 Chữ ký số tập thể .8 1.1.3 Chữ ký số ngưỡng .9 1.1.4 Đa chữ ký 12 1.2 Công nghệ Blockchain .15 1.2.1 Những đặc điểm Blockchain 15 1.2.2 Cấu trúc chế hoạt động 16 1.2.3 Ứng dụng Blockchain thương mại điện tử 17 1.3 Một số thuật toán đồng thuận công nghệ Blockchain 19 1.3.1 Thuật tốn đồng thuận .19 1.3.2 Các loại thuật toán đồng thuận 20 iv 1.4 Ứng dụng chữ ký số ngưỡng vào công nghệ Blockchain giao dịch tài 22 1.4.1 Ví ngưỡng 23 1.4.2 Hợp đồng thông minh .24 1.5 Kết luận chương 24 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 26 2.1 Hệ mật đường cong Edwards 26 2.1.1 Đường cong Elliptic 26 2.1.2 Hệ mật đường cong Edwards (EdDSA) 30 2.2 Xây dựng mơ hình chữ ký số ngưỡng đường cong Edwards .32 2.3 Phân tích tính hiệu mơ hình 35 2.4 Kết luận chương 37 CHƯƠNG ỨNG DỤNG CHỮ KÝ SỐ NGƯỠNG TRONG CÔNG NGHỆ BLOCKCHAIN 38 3.1 Triển khai thử nghiệm mơ hình 38 3.2 Phân tích đánh giá ưu nhược điểm mơ hình 45 3.3 Kết luận chương 46 PHẦN KẾT LUẬN 47 TÀI LIỆU THAM KHẢO 48 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 đường Signature Algorithm cong Edwards Elliptic Curve Digital Thuật toán sinh chữ ký số dựa đường Signature Algorithm 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 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 toá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 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 toá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ì 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 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 tố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 34 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 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 35 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 36 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 37 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 38 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 toá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.1 Cấu hình số lượng node ngưỡng chữ ký giao dịch 39 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 toán tạo EdDSA key khác EdDSA public key giống Hình 3.2 Cấu trúc EdDSA key 40 Hình 3.3 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.4 Tạo ví qua api Zilliqa 41 Hình 3.5 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 42 Hình 3.6 Nạp ZIK token vào ví Kiểm tra số dư địa ví vừa tạo Hình 3.7 Kiểm tra thơng tin ví qua Dev Wallet Hình 3.8 Kiểm tra thông tin địa số dư qua api Zilliqa 43 Hình 3.9 Start demo server Hình 3.10 Mã code tạo giao dịch chuyển token 44 Hình 3.11 Tạo giao dịch gửi 1000 ZIL đến ví khác 45 Hình 3.12 Giao dịch pass qua ngưỡng chữ ký Hình 3.13 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 tố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ử 46 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 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 47 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 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 48 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

Ngày đăng: 17/04/2023, 14:35

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

Tài liệu liên quan