Перейти к содержимому
buybitcoinsmart

Глоссарий / Кошельки и хранение

Кодовая фраза (passphrase)

Другие названия: кодовая фраза, passphrase, 25-е слово.

Что такое кодовая фраза (passphrase)?
Кодовая фраза (passphrase) представляет собой дополнительный секрет, который добавляется к словам восстановления и создает совершенно другой кошелек, причем проверить, правильно ли введена эта фраза, невозможно.

Определено в BIP-39.

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

Как это работает

BIP-39 определяет кодовую фразу как необязательное расширение соли, используемой при преобразовании слов в сид. Соль представляет собой буквальный текст "mnemonic", к которому дописана ваша кодовая фраза, и эта пара проходит 2048 раундов PBKDF2 с HMAC-SHA512. Измените кодовую фразу, и каждый из 512 бит выходных данных изменится, что изменит мастер-ключ, что изменит каждый адрес, который кошелек когда-либо покажет.

Отсюда следуют три последствия, и все три удивляют людей.

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

Каждый символ имеет значение ровно в том виде, в каком он введен. Регистр, пробелы, знаки препинания и буквы с диакритическими знаками входят в секрет, включая пробел в конце, который вы не видите. Кошельки нормализуют текст до Unicode NFKD перед хешированием, что устраняет большинство различий в кодировке диакритических знаков, но ничто не спасет фразу, которую вы помните лишь приблизительно.

Растягивание слабое. Две тысячи сорок восемь итераций PBKDF2 были дешевы в 2013 году и сейчас почти ничего не стоят. Злоумышленник, у которого уже есть ваши записанные слова, может проверять кодовые фразы из словаря с огромной скоростью, поэтому "bitcoin2020" или кличка питомца добавляют часы защиты, а не годы. Кодовая фраза должна быть длинной и не поддающейся угадыванию, иначе это только видимость.

Прозвища тоже вводят в заблуждение. Название «25-е слово» наводит на мысль, что оно берется из списка слов BIP-39 и охватывается контрольной суммой. Ни то, ни другое не верно: это произвольный текст, не проверяемый, отсутствующий в списке и невосстановимый.

Почему это важно при покупке биткоина

Кодовая фраза существует для одной конкретной угрозы: когда кто-то физически завладел вашим устройством или вашими записанными словами. Все остальное в вашей настройке уже охватывает удаленных злоумышленников.

Для старого оборудования эта угроза не гипотетическая. Оба устройства Trezor, обзоры которых есть на этом сайте, Model One и Model T, не имеют Secure Element, и их производитель прямо заявляет, что злоумышленник с устройством в лаборатории может извлечь сохраненный сид. Кодовая фраза является задокументированной мерой защиты, потому что извлеченный секрет сам по себе открывает не тот кошелек. Те же рассуждения применимы к письменной резервной копии, найденной при краже со взломом или прочитанной гостем.

Цена этого в том, что восстановление теперь требует двух независимых секретов, и второй обычно существует только в вашей голове. Именно отсюда происходит большинство потерь кодовых фраз: не кража, а человек, который умер, забыл или переехал. Если вы используете кодовую фразу, запишите ее и храните в другом месте, отличном от места хранения слов, так, чтобы ни одно место не содержало оба секрета и никакой единичный случай не уничтожил оба. Trezor ограничивает ввод 50 символами, поэтому планируйте длину, которая укладывается в этот предел.

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

Кошелек на случай принуждения, который действительно работает

Функция скрытого кошелька помогает, только если видимый кошелек выглядит правдоподобно, и большинство людей понимает это наоборот.

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

Храните сбережения в кошельке с кодовой фразой и не трогайте его. На Trezor ввод кодовой фразы открывает скрытый кошелек как отдельный сеанс, а если оставить поле пустым, происходит возврат к приманке без каких-либо указаний на существование другого кошелька.

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

Кодовая фраза vs двухфакторная аутентификация

Кодовая фраза является вторым секретом, а не вторым фактором в том смысле, в каком банки используют этот термин. Двухфакторная аутентификация представляет собой проверку, выполняемую сервером, который может отклонить вас, ограничить число попыток, заблокировать учетную запись и позволить службе поддержки восстановить доступ. Кодовую фразу никто не проверяет, ее нельзя сбросить, она допускает бесконечные попытки подбора в автономном режиме со стороны любого, у кого есть ваши слова, и молча открывает другой кошелек, когда она неверна. Это сравнение льстит ей ровно в неверном направлении.

Кодовая фраза vs резервная копия Shamir

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

Не путать с

Часто задаваемые вопросы

Что произойдет, если я ошибусь при вводе кодовой фразы (passphrase)?

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

Стоит ли вообще использовать кодовую фразу?

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

Можно ли хранить кодовую фразу вместе со словами сид-фразы?

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

Является ли кодовая фраза тем же самым, что 25-е слово?

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

Читайте далее

Связанные термины

Еще в разделе «Кошельки и хранение»

Читать эту страницу на английском