BIP39 passphrase — это необязательный секретный текст, который кошелёк использует вместе со словами восстановления, то есть Seed Phrase. Обе части определяют, к каким ключам вы получите доступ. Если вы использовали passphrase, она понадобится и для восстановления. PIN устройства её не заменяет. Это дополнительная возможность защиты, но и ещё одна вещь, которую можно потерять. Для использования Bitcoin она не обязательна.
Представьте кошелёк, созданный без passphrase, и его слова восстановления. Одних этих слов достаточно, чтобы получить тот же набор ключей. Когда вы вводите passphrase, кошелёк на основе обоих входов вычисляет другую основу для ключей — seed. Так вы получаете доступ к другому кошельку. Это не дополнительный замок на прежнем кошельке. PIN обычно разблокирует устройство, а passphrase участвует в определении самих ключей. Иногда её называют «25-м словом», но это не обязательно одно слово или слово из списка BIP39. [1] [2]
В обычной учётной записи опечатка обычно вызывает сообщение «неверный пароль». Здесь та же ошибка может открыть другой, как правило пустой кошелёк: у BIP39 нет контрольной суммы passphrase. Ваши прежние биткоины от этого не удаляются. Сначала проверьте резервную копию, точность ввода, нужный аккаунт и настройки восстановления. Регистр букв и пробелы тоже имеют значение. Есть техническое исключение: некоторые записи Unicode, например символ é и буква e с отдельным комбинируемым акцентом, становятся одинаковыми после нормализации NFKD. На практике всё равно храните точную запись и не полагайтесь на похожий вид символов. Приложение может добавлять собственные подтверждения или проверки. [1] [2]
Если кто-то получит ваши слова восстановления, достаточно непредсказуемая passphrase может сильно затруднить доступ к нужному кошельку. Но она должна оставаться тайной, и её должно быть трудно угадать. Дата рождения, известная цитата или пароль от другого сервиса — слабые варианты. Зная слова, злоумышленник может проверять догадки offline: на своём компьютере, не обращаясь к вашему устройству. Ни его PIN, ни ограничение числа попыток этому не помешают. Если вы ещё не уверенно делаете обычную резервную копию и восстанавливаете кошелёк, сначала освойте эти действия. Более сложная схема не обязательно безопаснее. [1] [2]
Если начать вводить новую passphrase, средства в прежнем кошельке останутся под контролем прежних ключей. Для перехода сначала проверьте новый кошелёк и его восстановление, а затем действительно отправьте в него биткоины. То же относится к переходу с кошелька без passphrase. Не путайте это со сменой PIN: изменение доступа к устройству само по себе не создаёт новый набор ключей Bitcoin. [2] [3]
Надёжно запишите точную passphrase и подумайте, кто сможет найти её при законной необходимости. Хранение отдельно от слов восстановления снижает риск одновременной утечки обеих частей, но не должно мешать восстановлению или наследованию. Надёжную passphrase, которую забыли и не сохранили, может оказаться невозможно восстановить. Перед внесением крупной суммы проверьте восстановление доверенным способом, предусмотренным для этого кошелька. Сохраните и необходимые настройки: например, тип адресов и путь деривации, который указывает кошельку, где искать аккаунты. Output Descriptor — машиночитаемое описание этих правил; если кошелёк его поддерживает, оно может стать важной частью резервной копии. Отсутствующую passphrase оно не заменяет. [2] [3]
Разные passphrase можно использовать для отдельных кошельков. Поэтому некоторые люди держат и небольшой кошелёк-приманку. Но никто не может гарантировать, что нападающий поверит, будто ему показали всё. История платежей, резервные копии или другие следы могут выдать дополнительные средства. Защита от подбора пароля и безопасность при физическом принуждении — разные задачи. [1]
Чтобы пользоваться кошельком, вам не нужно выполнять эти вычисления вручную. BIP39 передаёт слова восстановления как вход password в функцию PBKDF2-HMAC-SHA512. Второй вход называется salt и имеет вид "mnemonic" + passphrase. Здесь salt — техническое название дополнительного входа, а не ещё одна вещь, которую нужно придумать или записать. Слова восстановления к нему не добавляются. Оба текстовых входа проходят нормализацию NFKD и кодирование UTF-8. После 2048 итераций получается seed длиной 512 битов, то есть 64 байта. Без passphrase эта фраза пустая, но salt всё равно содержит "mnemonic". Длинный результат или повторение вычислений не превращают легко угадываемую passphrase в надёжный секрет. [1]
Регистр букв может изменить кошелёк
Те же мнемонические слова с passphrase «alpha» и «Alpha» дают разные seed по BIP 39. Это короткие примеры, не безопасные пароли. В спецификации нет контрольной суммы passphrase; опечатка может открыть другой, обычно пустой кошелёк. Приложение может добавить собственную проверку.
Для полной картины прочитайте эту статью вместе с BIP 39, PBKDF2, BIP39 checksum, Самостоятельное хранение. На эту статью также ссылаются Seed Phrase, BIP 39, Cold Storage, Gap Limit.
01Passphrase — это то же самое, что слова восстановления или PIN?+
Нет. BIP 39 использует слова восстановления и необязательную passphrase вместе. Если вы задали passphrase, одних слов недостаточно для доступа к исходному кошельку, а PIN её не заменяет. Для восстановления могут понадобиться и другие сведения, например тип адресов и путь деривации, который указывает, где искать аккаунты.
02Защищает ли passphrase раскрытые мнемонические слова?+
Достаточно непредсказуемая passphrase, не утёкшая вместе со словами, может затруднить получение правильного seed. Но владеющий словами атакующий может перебирать варианты офлайн; короткая или предсказуемая passphrase — ненадёжная защита. Потеря сильной passphrase без резервной копии может означать невосстановимую потерю доступа.