Przy wyprowadzaniu seedu BIP39 fraza słowna jest wejściem PBKDF2-HMAC-SHA512, a ciąg mnemonic połączony z passphrase stanowi sól. Nie jest to PIN urządzenia ani kolejne obowiązkowe słowo z listy; bez passphrase stosuje się pusty ciąg.
Fraza słowna i sól mnemonic + passphrase są przetwarzane jako UTF-8 z normalizacją NFKD. PBKDF2-HMAC-SHA512 wykonuje 2048 iteracji i zwraca seed długości 512 bitów, czyli 64 bajtów. Długość wyjścia nie oznacza 512 bitów pierwotnej tajnej losowości. [BIP39 — Mnemonic generation and seed conversion]
Wielkość liter i spacje mogą zmienić wynik. Różne zapisy Unicode mogą jednak po NFKD dać to samo wejście, na przykład é oraz e z następującym akcentem ostrym łączącym. Dlatego twierdzenie, że każdy inaczej zapisany tekst musi tworzyć inny portfel, jest nieścisłe. [BIP39 — Mnemonic generation and seed conversion]
BIP39 nie zawiera checksum passphrase. Literówka może wyprowadzić poprawny seed i pokazać inny, zwykle pusty portfel; nie oznacza to usunięcia pierwotnych środków. Aplikacja może zażądać ponownego wpisania lub porównać znane dane. PIN służący wyłącznie do odblokowania urządzenia nie zastępuje passphrase. [BIP39 — Mnemonic generation and seed conversion] [Trezor — What is a passphrase]
Atakujący posiadający słowną kopię może testować kandydatów passphrase offline i porównywać wyprowadzone dane ze znanym portfelem. Dostatecznie nieprzewidywalna passphrase, która nie wyciekła, może utrudnić atak. Krótki cytat, ponownie użyte hasło lub same 2048 iteracje nie gwarantują ochrony. [BIP39 — Mnemonic generation and seed conversion]
Jeśli zmiana passphrase wyprowadzi inny seed, nie zmienia to warunków podpisu istniejących wyjść. Przejście do nowego portfela wymaga więc rzeczywistej transakcji. Podobnie pusty stan konta sam w sobie nie dowodzi utraty: najpierw sprawdź poprawność wejścia i parametry odzyskiwania. [Trezor — What is a passphrase] [BIP380 — Output Script Descriptors]
Bezpiecznie zapisz kopię passphrase i sprawdź odzyskiwanie zaufaną procedurą. Oddzielenie jej od słów ogranicza wspólny wyciek, ale musi umożliwiać uprawnione odzyskanie i dziedziczenie. Silnej zapomnianej passphrase bez kopii może nie dać się odzyskać. Oprócz słów i passphrase mogą być potrzebne ścieżki wyprowadzania i opisy skryptów; Output Descriptor pomaga zachować te dane. [Trezor — What is a passphrase] [BIP380 — Output Script Descriptors]
Inna passphrase może służyć oddzielnemu portfelowi lub portfelowi przynęcie. Nie gwarantuje to, że atakujący uwierzy w pokazane saldo, ani nie usuwa śladów płatności i kopii. Rozdzielenie portfeli, odporność na zgadywanie i bezpieczeństwo pod przymusem to różne cechy. [BIP39 — Mnemonic generation and seed conversion]
Wielkość liter może zmienić portfel
Te same słowa mnemoniczne z passphrase „alpha” i „Alpha” wyprowadzają różne seedy według BIP 39. To krótkie przykłady, nie bezpieczne hasła. Specyfikacja nie przewiduje sumy kontrolnej passphrase; literówka może otworzyć inny, zwykle pusty portfel. Aplikacja może dodać własną kontrolę.
Pełniejszy obraz uzyskasz, czytając to hasło razem z BIP 39, PBKDF2, BIP39 checksum, Samodzielna opieka. Do tego hasła prowadzą również odsyłacze z Seed Phrase, BIP 39, Cold Storage, BIP85.
01Czy passphrase jest tym samym co słowa mnemoniczne lub PIN?+
Nie. Słowa i opcjonalna passphrase to dwa wejścia wyprowadzania seedu BIP 39, oba z normalizacją NFKD. Jeśli użyto passphrase, same słowa nie wystarczą. PIN urządzenia jej nie zastępuje. Pełne odtworzenie może wymagać też ścieżek wyprowadzania i danych skryptu.
02Czy passphrase chroni ujawnione słowa mnemoniczne?+
Dostatecznie nieprzewidywalna passphrase, która nie wyciekła wraz ze słowami, może utrudnić wyprowadzenie właściwego seedu. Napastnik mający słowa może jednak sprawdzać kandydatów offline; krótka lub przewidywalna passphrase nie daje niezawodnej ochrony. Utrata silnej passphrase bez kopii może oznaczać nieodwracalną utratę dostępu.