Восстановление пароля к хранилищу ключей Geth
Если вы запускали узел Ethereum или пользовались кошельком на основе хранилища ключей, ваш ключ хранится в файле с расширением UTC–, зашифрованном вашим паролем. Забыли его? Имея этот файл и несколько подсказок, ключ можно восстановить.
Geth (go-ethereum) хранит каждую учетную запись в виде JSON-файла keystore v3, шифруя закрытый ключ с помощью пароля с использованием алгоритмов scrypt (или PBKDF2) и AES-128-CTR. Восстановление доступа означает поиск этого пароля — ключ никогда не подвергается атаке методом перебора. Именно благодаря надежности алгоритма scrypt подсказки играют важную роль: целенаправленный поиск дает результат там, где слепой перебор никогда бы не увенчался успехом.
Найдите файл хранилища ключей
Хранилища ключей находятся в каталоге данных Ethereum в папке keystore:
- Linux: ~/.ethereum/keystore
- macOS: ~/Library/Ethereum/keystore
- Windows: %APPDATA%\Ethereum\keystore
Each UTC–<timestamp>–<address> file is one account. Open it in a text editor to confirm it contains a crypto block with cipher, kdf and ciphertext.
Как работает восстановление пароля в Geth
Мы извлекаем хеш из хранилища ключей (с помощью такого инструмента, как ethereum2john) и запускаем поиск на GPU с подсказками с помощью hashcat — конкретный режим зависит от того, используется ли в файле алгоритм scrypt или PBKDF2. Варианты паролей формируются на основе того, что вы помните: длины, фрагментов, особенностей в выборе символов и повторно использованных паролей. Попадание подтверждается в тот момент, когда происходит расшифровка хранилища ключей.
Когда пароль «должен» работать, но не работает
Как и в случае с Mist, многие неудачные попытки входа связаны с тем, что правильный пароль вводится с другой раскладкой клавиатуры, с символом в кавычках или из-за разницы в нормализации Unicode. Мы автоматически учитываем эти варианты, что позволяет восстановить доступ к учетным записям, для которых везде в других системах отображается сообщение об ошибке при вводе пароля.
Часто задаваемые вопросы
Нужен ли вам мой закрытый ключ для восстановления кошелька Geth?
Нет — мы работаем с зашифрованным файлом хранилища ключей, а не с ключом в открытом виде. Ваш пароль расшифровывает этот файл; мы проверяем этот пароль по файлу в автономном режиме.
Я помню только часть своего пароля. Это подойдет?
Это самый благоприятный вариант. Частичное восстановление и известные фрагменты позволяют нам создавать целевые маски и правила, благодаря чему восстановление хранилища ключей, защищенного алгоритмом scrypt, становится возможным.
Какие кошельки Ethereum используют этот формат хранилища ключей?
Geth, Mist, экспортированные файлы хранилища ключей MyEtherWallet, Parity/OpenEthereum и многие другие используют формат хранилища ключей v3, поэтому к ним применим один и тот же подход к восстановлению.
Сколько это стоит?
Оплата по результату: процент от взысканной суммы выплачивается только в случае успеха, в случае неудачи — ничего, а авансовых платежей нет.
Не можете получить доступ к хранилищу ключей Гет?
Пришлите нам файл в формате UTC– и то, что вы помните из пароля. Мы дадим честную оценку в течение 24 часов, а вы заплатите только в случае успеха.
