Выпускная квалификационная работа посвящена разработке алгоритма обеспечения отказоустойчивости системы хранения криптографических ключей на основе пороговой подписи tECDSA. В работе рассматриваются угрозы безопасности ключевой информации, анализируются существующие методы защиты, разрабатывается архитектура распределённой системы хранения ключей и алгоритм, позволяющий системе сохранять работоспособность даже при сбоях или компрометации отдельных узлов без необходимости полной перегенерации ключей. Реализован экспериментальный прототип, проведены испытания устойчивости к отказам и выполнено сравнение предложенного решения с традиционными подходами к хранению ключевой информации. Работа изложена на 89 страницах, содержит 8 рисунков и 3 таблицы, включает 3 приложения (код программы, тестовые сценарии и документацию).
ВВЕДЕНИЕ 4
1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ8
1.1 Основные угрозы и проблемы хранения криптографических ключей8
1.1.1 Структурное моделирование9
1.1.2 Функциональное моделирование 9
1.1.3 Сравнительная характеристика рассмотренных нотаций10
1.2 Методы обеспечения отказоустойчивости16
1.2.1 Показатель качества17
1.2.2 Определение методов и средств измерения параметров18
1.2.3 Существующие методы обеспечения отказоустойчивости18
1.3 Технология пороговой подписи tECDSA19
1.3.1 Виды подписей19
1.3.2 Пороговая подпись tECDSA21
1.3.3 Технология пороговой подписи tECDSA22
2 РАЗРАБОТКА АЛГОРИТМА24
2.1 Постановка задачи24
2.1.1 Основные задачи 24
2.1.2 Основные функции экспериментального образца25
2.1.3 Темы30
2.2 Архитектура системы хранения ключей33
2.2.1 Основные элементы архитектуры 33
2.2.2 Основные параметры, влияющие на работу системы34
2.3 Описание алгоритма отказоустойчивости36
2.3.1 Генерация ключей37
2.3.2 Подпись tECDSA с порогом t из n пользователей38
2.3.3 Обновление локальных теней агентов39
3 РЕАЛИЗАЦИЯ АЛГОРИТМА46
3.1 Выбор инструментов и языков программирования46
3.2 Разработка50
3.3 Определение метрик эффективности53
3.4 Проведение тестов и анализ полученных результатов54
3.5 Сравнение с существующими решениями56
ЗАКЛЮЧЕНИЕ59
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ63
ПРИЛОЖЕНИЕ А (код программы)66
ПРИЛОЖЕНИЕ Б (тестовые сценарии)88
ПРИЛОЖЕНИЕ В (документация)
1. Gennaro R., Goldfeder S. Fast Multiparty Threshold ECDSA with Fast Trustless Setup [Электронный ресурс] // Cryptology ePrint Archive. ‒ 2019. ‒ Report 2019/114. - URL: https://eprint.iacr.org/2019/114.pdf (дата обращения 13.05.2025).
2. Canetti R., Gennaro R., Goldfeder S., Makriyannis N., Peled U. UC Non-Interactive, Proactive, Threshold ECDSA with Identifiable Aborts [Электронный ресурс] // ResearchGate. - 2021. - URL: https://www.researchgate.net/publication/353900495_Dynamic_threshold_ECDSA_signature_and_application_to_asset_custody_in_blockchain (дата обращения 13.05.2025).
3. Краткий путеводитель по методологиям и нотациям [Электронный ресурс] // Инфостарт. - URL: https://infostart.ru/1c/articles/1426878/ (дата обращения 13.05.2025).
4. Fast Multiparty Threshold ECDSA with Fast Trustless Setup / Rosario Gennaro, Steven Goldfeder // Proc. of the 2018 ACM CCS. – 2018. – pp. 1179–1194.
5. UC Non‒Interactive, Proactive, Threshold ECDSA with Identifiable Aborts / Ran Canetti, Rosario Gennaro, Steven Goldfeder, Nikolaos Makriyannis, Udi Peled // ACM SIGSAC. – 2021
6. A Survey of ECDSA Threshold Signing / Jean‒Philippe Aumasson, Adrian Hamelink, Omer Shlomovits // ACM SIGSAC. – 2021
7. Романова Н.Н. Теория и практика разработки криптографических протоколов. ‒ М.: Издательство, 2015
8. How to share a secret / A. Shamir // Communications of the ACM. – 1979. – Vol. 22, No. 11. – pp. 612–613.
9. Threshold ECDSA for Decentralized Asset Custody / A. Gagol, J. Kula, D. Straszak, M. Swietek // IACR Cryptology ePrint Archive. – 2020. – Paper 2020/498.
10. A Survey of ECDSA Threshold Signing / J.‒P. Aumasson, A. Hamelink, O. Shlomovits // IACR Cryptology ePrint Archive. – 2020. – Paper 2020/1390.
11. Dynamic threshold ECDSA signature and application to asset custody in blockchain / H. Wang, W. Ma, F. Deng, H. Zheng, Q. Wu // Journal of Information Security and Applications. – 2021. – Vol. 61. – Art. 102805.
12. О применении криптографических примитивов, реализующих пороговую подпись / Береснеева А. В., Епишкина А. В. // Безопасность информационных технолгий. – 2015.
13. Strength in Numbers: Threshold ECDSA to Protect Keys in the Cloud / Marc Green, Thomas Eisenbarth // USENIX Security Symposium. ‒ 2014.
14. Threshold ECDSA for Decentralized Asset Custody / Adam Gadol, Jedrzej Kula, Damian Straszak, Michal Swietek // IACR Cryptology ePrint. – 2020.
15. Design and analysis of a distributed ECDSA signing service / Jens Groth, Victor Shoup // DFINITY. – 2022
16. Dynamic threshold ECDSA signature and application to asset custody in blockchain / Huili Wang, Wenping Ma, Fuyang Deng, Haibin Zheng,
Qianhong Wu // Journal of Information Security and Applications. – 2021.
17. Schneier B., Cryptography. Protocols, Algorithms and Source Code in C. ‒ М.: Триумф, 2002. ‒ С. 93‒96. ‒ 816 с.
18. To Keep Passwords Safe from Hackers, Just Break Them into Bits / Tom Simonite // MIT Technology Review. – 2012.
19. РАСПРЕДЕЛЕННАЯ ПОДПИСЬ RSA / Фомин А.Д. // Программные продукты и системы ‒ 2007.
20. Схемы электронной подписи, основанные на индикаторах / WayBackMachine. – 2017.
21. E. Bresson, J. Stern, M. Szydlo, Threshold ring signatures and applications to ad‒hocgroups // Advances in Cryptology: Crypto 2002: 465‒480 c.
22. Bitcoin is a financial platform with a variety of APIs / Andreas Antonopoulos // WayBackMachine. – 2014.
23. Bytecoin (BCN) is Now Armed With Multis // WayBackMachine. – 2014.
24. NXT Teases Voting System, 'Two Phase Transactions' and a Foundation / Jan DeMartino // WayBackMachine. – 2015.
25. Diffie W., Hellman M. E. New directions in Cryptography // IEEE Transactions on Information Theory / F. Krzyszang ‒ IEEE, 1976. ‒ Volume 22, Iss. 6. ‒ pp. 644‒654.
26. Gardner M. A new kind of cipher, which would take millions of years to decrypt (English) // Scientific American ‒ New York: NPG, 1977. ‒ Vol. 237, Issue 2. ‒ pp. 120‒124.
27. Bakhtiari M., Mauro M. A. Serious vulnerability in the RSA Cryptosystem security system // International Journal of Computer Science Issues ‒ 2012. ‒ Volume 9, Issue 1, No. 3. ‒ pp. 175‒178.
28. Rivest R., Shamir A., Adleman L. A method for obtaining digital signatures and public key cryptosystems // Communications ACM ‒ New York: Association for Computing Machinery, 1978. ‒ Volume 21, Iss. 2. ‒ pp. 120‒126.