Шифрование кошелька вручную вместо использования аппаратного кошелька

Я новичок в этом сообществе и хотел бы знать, почему для защиты криптокошельков следует предпочесть аппаратный кошелек вместо использования алгоритма шифрования, такого как AES-256, вместе с PKDF2? В настоящее время я держу биткойны в кошельке Trezor и планирую использовать AES для ручного шифрования закрытых ключей самостоятельно. Я играл с шифровальщиком криптокошелька,

https://github.com/sufiyanghori1/crypto-wallet-encryptor

что кажется довольно эффективным. он принимает закрытый ключ и пользовательский пароль в качестве входных данных и шифрует их с помощью AES-256.

Я читал на различных форумах, что люди используют его, но не уверен, что это лучше, чем настоящий аппаратный кошелек?

Ответы (5)

Преимущество аппаратных детерминированных кошельков заключается в том, что ваши ключи постоянно хранятся в автономном режиме и в секрете, пока вы не разглашаете свои исходные слова. Чтобы потратить биткойны, подпись транзакции выполняется на устройстве, сохраняя ваши ключи в безопасности.

Если вы сами шифруете ключи (я предполагаю, что вы говорите о закрытых ключах биткойнов, а не о семени HD-кошелька), это зависит от того, как вы их храните. Я вижу три риска:

  1. Если вы планируете хранить их в Интернете и шифровать их все с помощью одной и той же парольной фразы, то вы снижаете безопасность своих ключей до одной парольной фразы. Если вы утечете свою парольную фразу, любой, у кого есть доступ к вашим данным, сможет расшифровать и использовать ваши ключи. Однако, если вы не храните их в Интернете (в том числе в системе с доступом к Интернету), это менее рискованно.
  2. Подписание сделок. Чтобы подписывать транзакции, вам придется расшифровать свой ключ и запустить его через какое-то программное обеспечение. Если вы делаете это онлайн, это очень рискованно. Если вы делаете это в автономном режиме, вы все равно подвергаетесь риску кейлоггеров и другого вредоносного программного обеспечения, которое может присутствовать на вашем компьютере. Это также относится к тому, когда вы генерируете свои ключи в первую очередь.
  3. Потеря. Если вы потеряете зашифрованные данные или кодовую фразу, ваш биткойн будет потерян. С кошельком HD, если вы потеряете кошелек, вы можете восстановить его с помощью сид-слов. Если вы потеряете сид-слова, вы все равно сможете использовать кошелек для перевода на альтернативный адрес.

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

Генерация ключей на компьютере, который никогда (и никогда не будет) подключен к Интернету, намного безопаснее, чем генерация ключей на компьютере, который имеет (или будет) подключение к Интернету.

Аппаратные кошельки никогда не подключаются к Интернету. Они взаимодействуют с компьютером, но через чрезвычайно ограниченные каналы, которые гарантируют, что часть устройства, которая генерирует ваши ключи, остается изолированной.

Если вы создаете ключи на компьютере, который подключен (или был или будет) к Интернету, вы рискуете тем, что некоторые вредоносные программы украдут ваши ключи. Этого можно добиться многими способами, и тип шифрования, который вы используете для кошелька, становится неактуальным. Неважно, насколько надежно шифрование, если кейлоггер получает пароль заранее.

При желании вы можете зашифровать сид-фразу вашего аппаратного кошелька. Таким образом, если кто-то найдет вашу сид-фразу, он не сможет украсть ваш биткойн, если у него не будет пароля. Но это также означает, что вам придется хранить этот пароль в безопасном месте!

Не нужно тратиться на аппаратный кошелек. Вы можете сделать практически то же самое с Electrum. Это отдельное приложение, которое можно запустить на USB-накопителе или флэш-накопителе. Только не забудьте получить последнюю версию. (Версия 3.0.5) (исправили некоторые проблемы старой версии). Electrum бесплатен, и вы можете скопировать его на любой обычный USB-накопитель и запустить оттуда.

Electrum также генерирует адреса кошельков, используя одно семя (группу слов), так что вы можете просто распечатать семя и хранить его в своем сейфе или записать его в месте, где вы знаете, что люди не наткнутся на него случайно. Из исходного кода вы можете восстановить существующие адреса кошельков... и никогда не потерять свои биткойны.

При желании вы также можете зашифровать начальное число кошелька Electrum с помощью стороннего программного обеспечения для шифрования. Просто убедитесь, что вы не потеряете пароль!

Аппаратные кошельки предпочтительнее горячих кошельков и холодных хранилищ, поскольку они не могут подключаться к Интернету и не требуют ввода ключа в компьютер для подписания транзакций. Второй пункт важен, но тоже частично неверен. Аппаратный кошелек сам по себе представляет собой компьютер с очень специфическими задачами, в основном, с генерацией пары ключей/начальных чисел и подписанием транзакций. Начнем с того, что ключи никогда не должны покидать устройство и никогда не находились за его пределами. Вы не можете вручную вводить ключи в аппаратный кошелек. У них есть собственное оборудование генератора случайных чисел, которое подается в CSPRNG, а затем в генератор ключа/начального числа. Между прочим, это означает, что вам не нужен «аппаратный кошелек», чтобы иметь аппаратный кошелек. Компьютер с воздушным зазором, помещенный в темную комнату, со всем исходным кодом, проверенным вручную, в клетке Фарадея, и множество других мер безопасности — это также аппаратный кошелек. Гораздо проще иметь специальное устройство, разработанное специально для этой цели.

Онлайн-компьютеры рискуют получить закрытый ключ открытого текста (или даже зашифрованный закрытый ключ) с помощью вредоносных программ. Когда-то вне изолированной и анклавной среды, всегда вне изолированной и анклавной среды.

Единственные атаки на аппаратные кошельки требуют прямого взаимодействия, близости или какой-либо нулевой день, который использует компьютер зараженного пользователя для отправки команд в кошелек (например, загрузка пользовательской прошивки, которая делает возможным извлечение ключа). Прямой интерфейс требует, чтобы аппаратный кошелек был украден, но не обязательно будет выводить какие-либо ключи/начальные числа, поскольку ECDSA по большей части устойчив к выбранным атакам с зашифрованным текстом.. Это также потребует нулевого дня для прямого извлечения ключей. Эксплойт с близостью потребует доступа к среде, окружающей ключ, чтобы повлиять на генерацию случайных чисел, что сделает результат более предсказуемым и легким для атаки (даже это с натяжкой, поскольку они должны иметь радиочастотное экранирование). Учитывая, насколько ограничены эти атаки, если аппаратный кошелек не содержит состояние, злоумышленнику, как правило, не стоит тратить время на атаку аппаратного кошелька издалека. Им намного проще атаковать биржевые кошельки или горячие кошельки обычных пользователей.

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