3.4.1. So sánh về lý thuyết Giải pháp đề xuất (EC-Schnorr-M) Lược đồ gốc (EC-Schnorr) Ghi chú An toàn chứng minh được Đã đưa ra chứng minh an toàn chi tiết, rõ ràng dựa trên phương pháp chứng minh an toàn của lược đồ Schnorr gốc Chưa có (chỉ mới có chứng minh an toàn cho lược đồ Schnorr gốc; việc áp dụng sang không là hiển nhiên) Luận án áp dụng lại phương pháp chứng minh an toàn của lược đồ Schnorr trên trường hữu hạn để chứng minh cho EC-Schnorr; sau đó chỉ ra sự tương đương về mặt an toàn chứng minh được giữa lược đồ này và phiên bản đề xuất; đây là cách tiếp cận mới và cần có sự hiểu biết sâu sắc về nguyên lý chứng minh dựa trên mô hình bộ tiên tri ngẫu nhiên ROM và Bổ đề Forking Chống tấn
công lặp khóa Có Không
Hiệu quả
Thêm một phép tính hàm băm so với EC- Schnorr gốc
Một phép tính hàm băm trong môi trường tính toán hạn chế (kích thước thông điệp nhỏ/trung bình) sẽ ảnh hưởng không đáng kể về hiệu năng so với lược đồ gốc
Tiêu chuẩn 3.1 (yêu cầu khóa bí mật không Áp dụng cho khóa bí mật dài hạn Áp dụng cho khóa bí mật dài hạn và khóa bí mật tức thời - Do sử dụng thêm phép tính hàm băm đối với khóa bí mật tức thời nên thuật toán
có liên tiếp hai khối t-bit với
� ≥ 7) EC-Schnorr-M do NCS đề xuất không cần áp dụng cho khóa bí mật tức thời - Việc áp dụng cho khóa bí mật dài hạn chỉ cần kiểm tra một lần trong quá trình sinh tham số - Khi áp dụng tiêu chuẩn này cho khóa bí mật tức thời sẽ làm cho hiệu năng của thuật toán giảm đi Tiêu chuẩn 3.2
(yêu cầu khóa bí mật không có liên tiếp 3 khối t-bit với 3 ≤ ≤ 6) Áp dụng cho khóa bí mật dài hạn Áp dụng cho khóa bí mật dài hạn và khóa bí mật tức thời Do sử dụng thêm phép tính hàm băm đối với khóa bí mật tức thời nên thuật toán EC-Schnorr-M do NCS đề xuất không cần áp dụng cho khóa bí mật tức thời Tiêu chuẩn 3.3 (an toàn cho khóa bí mật) Áp dụng cho khóa bí mật dài hạn Áp dụng cho khóa bí mật dài hạn và khóa bí mật tức thời 3.4.2. So sánh về thực hành
NCS đã thực nghiệm các thuật toán sinh khóa, ký và kiểm tra chữ ký của lược đồ chữ ký số EC-Schnorr và EC-Schnorr-M. Kết quả thực nghiệm được thực hiện trên phần mềm mã nguồn mở Sagemath trên máy tính với năng lực tính toán CPU Intel Core i7-6700 3.4 Ghz, 8Gb RAM. NCS sử dụng các tham số NIST với � có kích thước 256 bit cùng với đường cong elliptic
: �
�: = 1157920892103562487626974469494075735300861434152903141 95533631308867097853951 � ≔ -3 � ≔ 4105836372515214212932612978004726840911444101599372555 4835256314039467401291 �: = 1157920892103562487626974469494075735299969552241357603 42422259061068512044369
Trên mỗi thông điệp, NCS thực hiện 100 lần tính chữ ký sau đó lấy kết quả thời gian thực hiện trung bình nhằm đánh giá chính xác nhất thời gian thực hiện của các thuật toán. Do NCS sử dụng thuật toán ký ngẫu nhiên nên cùng một thông điệp khi ta thực hiện ký 100 lần thì sẽ sinh ra 100 chữ ký khác nhau. Hàm băm được sử dụng là hàm băm SHA256 được hỗ trợ trong thư viện Python.
Lược đồ chữ ký số Kích thước văn bản Thuật toán sinh khóa (giây) Thuật toán sinh khóa + kiểm tra điều kiện khóa bí mật dài hạn (giây) Thuật toán ký (giây) Thuật toán ký+kiểm tra điều kiện khóa bí mật tức thời (giây) Thuật toán kiểm tra chữ ký (giây) EC-Schnorr 0,65 M 0.01372 0.01420 0.01500 0.01668 0.03006 1,3 MB 0.01400 0.01499 0.01741 0.01818 0.03214 3,04 MB 0.01491 0.01467 0.02175 0.02267 0.03686 7,6 MB 0.01465 0.01488 0.03231 0.03370 0.04701 10,5 MB 0.01421 0.01432 0.03860 0.03944 0.05574 19,2 MB 0.01438 0.01483 0.06145 0.06281 0.07644 EC- Schnorr-M 0,65 M 0.01400 0.01412 0.01912 0.01949 0.03060 1,3 MB 0.01423 0.01434 0.02144 0.02172 0.03138 3,04 MB 0.01432 0.01485 0.03021 0.03064 0.03686 7,6 MB 0.01429 0.01438 0.05142 0.05282 0.04872 10,5 MB 0.01410 0.01431 0.06650 0.06942 0.05687 19,2 MB 0.01450 0.01475 0.10563 0.10851 0.07563
Qua kết quả thực nghiệm, ta có thể thấy rằng:
1. Thuật toán sinh khóa của lược đồ chữ ký số EC-Schnorr và EC- Schnorr-M có thời gian thực hiện xấp xỉ nhau và không phụ thuộc vào kích thước thông điệp. Sai số giữa các lần thực hiện (0,001 giây) là phép sai số thực hiện trên máy tính.
2. Việc thêm các điều kiện kiểm tra khóa bí mật dài hạn và khóa bí mật tức thời hầu như không ảnh hưởng đến tốc độ thực thi của thuật toán sinh khóa và ký.
3. Thuật toán ký của lược đồ chữ ký số EC-Schnorr và EC-Schnorr-M có thời gian thực hiện phụ thuộc vào kích thước thông điệp. Với các văn bản có kích thước nhỏ thì hai thuật toán ký của hai lược đồ có thời gian sấp xỉ nhau. Khi kích thước văn bản lớn hơn thì thời gian chênh lệch tăng lên. Điều này là do trong thuật toán ký của lược đồ chữ ký số EC-Schnorr-M sử dụng thêm một phép tính hàm băm so với thuật toán ký của lược đồ chữ ký EC-Schnoor.
4. Thuật toán kiểm tra chữ ký của lược đồ chữ ký EC-Schnorr và EC- Schnorr-M có thời gian thực hiện xấp xỉ nhau và phụ thuộc vào kích thước thông điệp. Cụ thể, kích thước thông điệp nhỏ thì ta có thời gian kiểm tra chữ ký nhanh hơn và ngược lại. Tuy nhiên, với kích thước văn bản khoảng 19,2MB thì thời gian kiểm tra chữ ký của hai thuật toán vẫn rất nhanh (xấp xỉ 0,085 giây)
3.5. Kết luận Chương 3
Các kết quả chính trong chương này bao gồm:
- Phân tích, đánh giá, tổng quát hóa tấn công khôi phục khóa ký dài hạn trong lược đồ chữ ký số kiểu EC-Schnorr và đề xuất tiêu chuẩn đối với thuật toán sinh khóa của lược đồ chữ ký số kiểu EC-Schnorr. (Khẳng định 3.6, Thuật toán 3.1, Khẳng định 3.11, Tiêu chuẩn 3.1, Tiêu chuẩn 3.2).
- Phân tích các tấn công và đề xuất tiêu chuẩn cho khóa bí mật tức thời, khóa bí mật dài hạn của lược đồ kiểu EC-Schnorr (Mệnh đề 3.15, Thuật
toán 3.2, Mệnh đề 3.17, Thuật toán 3.4, Tiêu chuẩn 3.3).
- Phân tích làm rõ ý nghĩa khoa học và thực tiễn của việc nghiên cứu, đề xuất lược đồ chữ ký số EC-Schnorr-M và các tiêu chuẩn an toàn cho khóa bí mật (mục 3.3 và mục 3.4).
Nội dung của chương này liên quan đến các bài báo số [3], [4] (Danh mục các công trình khoa học đã công bố).
Lược đồ chữ ký số đóng vai trò quan trọng trong bảo mật và an toàn thông tin phục vụ phát triển Chính phủ điện tử. Việc ứng dụng các lược đồ chữ ký số dựa trên đường cong elliptic một cách an toàn và hiệu quả là một lựa chọn phù hợp cho thế hệ Internet kết nối vạn vật, cho cuộc cách mạng công nghiệp lần thứ 4. Với mục tiêu như vậy, luận án đã có những đóng góp cụ thể như sau:
A. Các kết quả đạt được của luận án:
- Phân tích độ an toàn và đánh giá một số yêu cầu về hàm băm được sử dụng để đảm bảo độ an toàn cho lược đồ chữ ký số EC-Schnorr.
- Phân tích tính hiệu quả và khả năng ứng dụng của lược đồ chữ ký số EC-Schnorr.
- Phân tích tấn công với việc sử dụng lặp lại khóa bí mật tức thời và đánh giá các giải pháp đã có để chống tấn công này (Kết quả 2.1, Kết quả
2.2, Kết quả 2.3, Mệnh đề 2.1).
- Đề xuất lược đồ chữ ký số EC-Schnorr-M dựa trên lược đồ EC- Schnorr gốc (bổ sung thêm một phép tính hàm băm giữa khóa bí mật tức thời và thông điệp) cùng các phân tích, đánh giá và chứng minh an toàn trong mô hình bộ tiên tri ngẫu nhiên (Thuật toán 2.5, Mệnh đề 2.2, Hệ quả 2.4, Bổ đề
2.9, Bổ đề 2.10, Mệnh đề 2.11, Hệ quả 2.12).
- Phân tích, đánh giá, tổng quát hóa tấn công khôi phục khóa ký dài hạn trong lược đồ chữ ký số kiểu EC-Schnorr và đề xuất tiêu chuẩn đối với thuật toán sinh khóa của lược đồ chữ ký số kiểu EC-Schnorr, trong đó có EC- Schnorr-M (Khẳng định 3.6, Thuật toán 3.1, Khẳng định 3.11, Tiêu chuẩn
- Phân tích các tấn công và đề xuất tiêu chuẩn cho khóa bí mật tức thời, khóa bí mật dài hạn của lược đồ chữ ký số EC-Schnorr-M (Mệnh đề 3.15, Thuật toán 3.2, Mệnh đề 3.17, Thuật toán 3.4, Tiêu chuẩn 3.3).
- Phân tích làm rõ ý nghĩa khoa học và thực tiễn của việc nghiên cứu, đề xuất lược đồ chữ ký số EC-Schnorr-M và các tiêu chuẩn an toàn cho khóa bí mật dài hạn và tức thời.
B. Những đóng góp mới của luận án:
1) Phân tích chỉ ra điểm yếu của giải pháp sử dụng 2 khóa bí mật tức thời nhằm ngăn chặn sử dụng trùng khóa trong quá trình tạo chữ ký.
2) Đề xuất một lược đồ chữ ký số EC-Schnorr-M dựa trên lược đồ EC- Schnorr gốc nhằm giảm thiểu việc sử dụng trùng lặp khóa bí mật tức thời, với các phân tích, đánh giá và chứng minh an toàn trong mô hình bộ tiên tri ngẫu nhiên.
3) Đề xuất tiêu chuẩn đối với thuật toán sinh khóa của lược đồ chữ ký số kiểu EC-Schnorr, trong đó có EC-Schnorr-M nhằm tránh bị tấn công khi khóa bí mật tức thời có các khoảng bit lặp.
4) Đề xuất tiêu chuẩn cho khóa bí mật tức thời, khóa bí mật dài hạn của lược đồ chữ ký số EC-Schnorr-M nhằm chống tấn công kiểu Blake và Poulakis.
C. Hướng nghiên cứu tiếp theo:
- Nghiên cứu, đánh giá về khả năng ảnh hưởng của khóa bí mật dài hạn (về không gian, về các tấn công đối với hàm băm) của lược đồ chữ ký số EC- Schnorr-M.
- Nghiên cứu, đánh giá về lý thuyết và thực nghiệm các tấn công cài đặt đối với lược đồ chữ ký số EC-Schnorr-M trong các thiết bị IoT.
DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC ĐÃ CÔNG BỐ
[1]. Triệu Quang Phong, Nguyễn Quốc Toàn, Nguyễn Tiến Xuân, “Phân tích về hai lỗi của ECDSA và các biến thể so với GOST R 34.10- 2012”, Chuyên san Nghiên cứu khoa học và công nghệ trong lĩnh vực ATTT, Ban Cơ yếu Chính phủ, số 3.CS(04)-2016.
[2]. Đặng Minh Tuấn, Nguyễn Văn Căn, Nguyễn Ánh Việt, Nguyễn Tiến Xuân, “Đề xuất chữ ký số ủy nhiệm và ứng dụng cho ủy nhiệm chi trong hệ thống Bítcoin”, Kỷ yếu Hội nghị Khoa học công nghệ Quốc gia lần thứ X: Nghiên cứu cơ bản và ứng dụng Công Nghệ thông tin (FAIR); Đà Nẵng, ngày 17-18/8/2017, trang 131-137.
[3]. Nguyễn Tiến Xuân, Khúc Xuân Thành, Nguyễn Quốc Toàn, “Nghiên cứu về độ an toàn của khóa bí mật trong lược đồ chữ ký số EC- Schnorr”, Hội thảo quốc gia lần thứ XXI: Một số vấn đề chọn lọc của công nghệ thông tin và truyền thông; Thanh Hóa, ngày 27-28 tháng 7 năm 2018, trang 256-261.
[4]. Nguyễn Tiến Xuân, Khúc Xuân Thành và Nguyễn Quốc Toàn, “Về độ an toàn của lược đồ chữ ký số EC-Schnorr khi khóa bí mật tức thời có các khoảng bit lặp lại”, HNUE JOURNAL OF SCIENCE, Natural Sciences, 2018, Volume 63, Issue 11A, trang 3-16.
[5]. Nguyễn Tiến Xuân, Nguyễn Quốc Toàn, “Về một giải pháp đảm bảo an toàn khóa bí mật tức thời trong các lược đồ chữ ký số dựa trên ECDLP”, Tạp chí Nghiên cứu khoa học và Công nghệ quân sự, Số Đặc san, tháng 8 năm 2019, trang 52-61.
Tài liệu tham khảo tiếng Việt
[1]. Nguyễn Quốc Toàn, “Nghiên cứu xây dựng các tham số an toàn cho hệ mật Elliptic và ứng dụng”, Luận án TS, Viện KH&CN quân sự, 2012. [2]. Nguyễn Quốc Toàn và nhóm đề tài, “Xây dựng thuật toán và chương
trình sinh tham số an toàn cho lược đồ chữ ký số GOST R 34.10- 2012”, Ban Cơ yếu Chính phủ, Hà Nội, 2016.
[3]. Võ Tùng Linh và nhóm đề tài, “Nghiên cứu cơ sở lý thuyết và xây dựng chương trình chứng minh tính nguyên tố dựa trên đường cong elliptic và ứng dụng”, Ban Cơ yếu Chính phủ, Hà Nội, 2012.
Tài liệu tham khảo tiếng Anh
[4]. A Statistical Test Suite for the Validation of Random Number
Generators and Pseudorandom Number Generators for Cryptographic Applications, NIST Special Publication 800-22rev1a, April 2010. [5]. Amos Fiat and Adi Shamir, “How to prove yourself: Practical
solutions to identification and signature problems”, In Andrew M. Odlyzko, editor, CRYPTO 1986.
[6]. Arjen Klaas Lenstra, Hendrik Willem Lenstra, and László Lovász,“Factoring polynomials with rational coefficients”, Mathematische Annalen, Vol. 261, No. 4, pp. 515–534.
[7]. Arjen Klaas Lenstra, James P. Hughes, Maxime Augier, Joppe W. Bos, Thorsten Kleinjung, and Christophe Wachter. Public keys. In Reihaneh Safavi-Naini and Ran Canetti, editors, CRYPTO, volume 7417 of
Lecture Notes in Computer Science, pages 626-642. Springer, 2012. [8]. Barker, E. and J. Kelsey, NIST special publication 800-90A:
Recommendation for random number generation using deterministic random bit generators, 2012.
[9]. Brown, Daniel RL. "Sec 2: Recommended elliptic curve domain parameters." Standars for Efficient Cryptography (2010).
[10]. Cheon J., Security Analysis of the Strong Diffie-Hellman Problem, Annual International Conference on the Theory and Applications of Cryptographic Techniques, In: Eurocrypt 2006.
[11]. Claus-Peter Schnorr, “Efficient identification and signatures for smart cards”, CRYPTO’89, volume 435, Springer-Verlag, 1990. [12]. Daniel R. L. Brown, SEC1v2: Elliptic Curve Cryptography,
Standards for Efficient Cryptography, 2009.
[13]. Daniel J. Bernstein, Yun-An Chang, Chen-Mou Cheng, Li-Ping Chou, Nadia Heninger, Tanja Lange, and Nicko van Someren. Factoring RSA keys from certified smart cards: Coppersmith in the wild. Cryptology ePrint Archive, Report 2013/599, 2013.
http://eprint.iacr.org/.
[14]. David Pointcheval and Jacques Stern,“Security arguments for digital signatures and blind signatures”, Journal of Cryptology, 13(3):361- 396, 2000.
[15]. David Brumley and Dan Boneh. Remote timing attacks are practical. Computer Networks, 48(5):701–716, 2005.
[16]. Don Johnson, Alfred Menezes, and Scott Vanstone, “The Elliptic Curve Digital Signature Algorithm (ECDSA)”, 2001.
[17]. Dolmatov, A. Degtyarev, “GOST R 34.10-2012: Digital Signature Algorithm”, https://tools.ietf.org/html/rfc7091.
[18]. D. Boneh and G. Durfee, “Cryptanalysis of RSA with private key d less than N/sup 0.292”, IEEE trans. on Info. Theory, 46(4):1339– 1349, 2000.
[19]. D. Pointcheval and J. Stern, “Security Proofs for Signature Schemes”, Eurocrypt '96, LNCS1070, Springer-Verlag, Berlin, 1996.
[20]. D. Poddebniak, et al, “Attacking deterministic signature schemes using fault attacks”, (EuroS&P), IEEE, 2018.
[21]. D. Poulakis, “Some lattice attacks on DSA and ECDSA”, Applicable Algebra in Engineering, Comm. and Comp, 2011.
[22]. Ernest F. Brickell, David Pointcheval, Serge Vaudenay, and Moti Yung, “Design validations for discrete logarithm based signature schemes”, In Hideki Imai and Yuliang Zheng, editors, PKC 2000, volume 1751 of LNCS, pages 276-292. Springer-Verlag, 2000. [23]. G. Sarath, D. C. Jinwala, and S. Patel, “A Survey on Elliptic Curve
Digital Signature Algorithm and Its Variants”, CSE, DBDM, CCNET, AIFL, SCOM, CICS, 121-136, 2014.
[24]. G. Neven, Nigel P. Smart, and B. Warinschi, “Hash function
requirements for Schnorr signatures”, Journal of Mathematical Cryptology 3.1, 69-87, 2009.
[25]. Hakim Khali and Ahcene Farah, “DSA and ECDSA- based MultiSignature Schemes”, IJCSNS International Journal of Computer
Science and Network Security, 2007.
[26]. H.Z. Liao, Hung-Zih, and Y.Y. Shen, “On the Elliptic curve digital signature algorithm”, Tunghai Science 8: 109-126, 2006.
[27]. ISO/IEC 14888-3-2006/Amd 1-2010, “Elliptic Curve Russian Digital Signature Algorithm, Schnorr Digital Signature Algorithm, Elliptic Curve Schnorr Digital Signature Algorithm, and Elliptic Curve Full Schnorr Digital Signature Algorithm”, 2010.
[28]. ISO/IEC 11770-3:2008, “Information Technology-Security Techniques-Key Management-Part 3: Mechanisms Using Asymmetric Techniques”, 2008.
[29]. ISO/IEC 15946-5:2017, Information technology - Security techniques - Cryptographic techniques based on elliptic curves - Part 5: Elliptic curve generation, 2017.
[30]. I.F. Blake, and T. Garefalakis. “On the security of the digital signature algorithm”. Designs, Codes and Cryptography, 2002. [31]. J. Malone-Lee and N. P. Smart, “Modifications of ECDSA”. In
Proceedings of Selected Areas in Cryptography - SAC’02, 2002. [32]. Kai Michaelis, Christopher Meyer, and J¨org Schwenk. Randomly
failed! the state of randomness in current java implementations. In Ed Dawson, editor, CT-RSA, volume 7779 of Lecture Notes in
Computer Science, pages 129- 144. Springer, 2013.
[33]. K. A. Draziotis, “DSA lattice attacks based on Coppersmith’s method”, Information Processing Letters, 116(8):541–545, 2016. [34]. Kan. W, Analysis of Underlying Assumptions in NIST