Ср. Дек 18th, 2024

Многие участники криптовалютного сообщества уверены, что сид-фраза из 24 слов безопаснее, чем из 12. Даже известный биткоин-евангелист Андреас Антонопулос признался, что считал длинный сид более надежным.

Вместе с биткоин-миксером Mixer.money объясняем, почему 12 слов достаточно для обеспечения сохранности средств.

Как сид-фраза обеспечивает безопасность закрытого ключа

Программные и аппаратные биткоин-кошельки генерируют закрытые ключи размером 256 бит — длинные буквенно-цифровые последовательности вроде KxBacM22hLi3o8W8nQFk6gpWZ6c3C2N9VAr1e3buYGpBVNZaft2p. В таком формате их довольно сложно записывать и запоминать. 

В 2013 году разработчики включили в код биткоина предложение по улучшению BIP39, которое описывало механизм генерации из закрытых ключей мнемонического кода (сид-фразы) длиной от 12 до 24 слов.

«Пользователи хотят максимально обезопасить свои сбережения, поэтому интуитивно выбирают “надежные” бэкапы из 24 слов. Они надеются на более высокую энтропию сида, которая в реальности повышает безопасность закрытого ключа только теоретически», ― утверждают представители Mixer.money.

Злоумышленник может атаковать закрытый ключ двумя способами — попытаться восстановить его из биткоин-адреса или подобрать мнемоническую фразу.

Первая атака также известна как ECDLP (Elliptic Curve Discrete Logarithm Problem) — задача дискретного логарифмирования в группе точек эллиптической кривой. В теории злоумышленник может решить ее для адреса с большим количеством монет.

Протокол биткоина использует эллиптическую криптографию, а именно — кривую secp256k1. Она позволяет быстро сгенерировать открытые ключи и биткоин-адреса на их основе из закрытых. При этом обратный процесс — восстановление закрытых ключей из открытых — практически невозможен.

Решение ECDLP для secp256k1 с помощью ро-алгоритма Полларда уменьшает энтропию ключей вдвое и требует выполнения 2128 операций. Однако и этот процесс займет миллиарды лет работы на современных компьютерах.

Вторая атака ― брутфорс сид-фразы. Количество комбинаций из 12 слов составляет 204812. Отбросим сиды с неправильной контрольной суммой — останется 2128 действительных фраз. На полный перебор также уйдут миллиарды лет.

«Вероятность нахождения мнемонического кода современными техническими средствами ничтожно мала. Использование 24 слов, безусловно, увеличит и без того огромное время перебора на много порядков, но в этом нет практического смысла», — комментирует команда Mixer.money. 

Почему в длинных сид-фразах нет необходимости

12 слов достаточно для генерации закрытых ключей со 128 битами безопасности (security strength). При этом сокращение сида даже на два слова сделает возможной атаку путем перебора. 

Длинная мнемоническая фраза имеет больший уровень энтропии. Однако основой протокола биткоина остается secp256k1 с безопасностью 128 бит. 

Закрытый ключ, созданный из 24 слов, содержит все те же 128 бит безопасности. Его можно взломать, как и сид из 12 слов, — за 2128 операций.

«Сид из 12 слов более уязвимым только в случае, если злоумышленник уже знает набор слов и может быстро подобрать их порядок.

Но даже при таком сценарии длинная фраза вряд ли спасет владельца кошелька: при бэкапе пользователи уделяют одинаковое внимание словам и их последовательности. Если хакер получил доступ к мнемоническому коду, скорее всего он знает и то, и другое.

Вы можете усилить защиту сид-фразы от подобного брутфорса, но основой безопасности биткоина все равно останется закрытый ключ», ― заключают аналитики Mixer.money.

Выводы

12 слов достаточно для генерации надежного секрета и защиты от брутфорса. Сид-фразы такой длины обладают той же безопасностью, что и сам закрытый ключ.

Mixer.money отмечает, что причиной потери биткоинов может стать не только кража, но и ошибка при создании бэкапа. С этой точки зрения мнемоническая фраза из 12 слов является более безопасной: пользователь с большей вероятностью запишет ее правильно.