Dalam derivasi seed BIP39, frasa mnemonik menjadi masukan PBKDF2-HMAC-SHA512, sedangkan mnemonic yang digabungkan dengan passphrase membentuk salt. Ini bukan PIN perangkat atau kata wajib tambahan dari daftar; tanpa passphrase digunakan string kosong.
Frasa mnemonik dan salt mnemonic + passphrase diproses sebagai UTF-8 dengan normalisasi NFKD. PBKDF2-HMAC-SHA512 menjalankan 2048 iterasi dan mengembalikan seed 512 bit, atau 64 byte. Panjang keluaran tidak berarti ada 512 bit keacakan rahasia awal. [BIP39 — Mnemonic generation and seed conversion]
Huruf besar-kecil dan spasi dapat mengubah hasil. Namun, penulisan Unicode berbeda dapat menghasilkan masukan yang sama setelah NFKD: misalnya é dan e diikuti aksen akut gabungan. Karena itu, tidak tepat menyatakan setiap teks yang ditulis berbeda pasti menghasilkan dompet berbeda. [BIP39 — Mnemonic generation and seed conversion]
BIP39 tidak memiliki checksum passphrase. Salah ketik dapat menghasilkan seed valid dan menampilkan dompet lain yang biasanya kosong; ini bukan berarti dana awal dihapus. Aplikasi dapat meminta pengulangan masukan atau membandingkan data yang diketahui. PIN yang hanya membuka perangkat tidak menggantikan passphrase. [BIP39 — Mnemonic generation and seed conversion] [Trezor — What is a passphrase]
Penyerang yang memegang cadangan mnemonik dapat mencoba kandidat passphrase secara offline dan membandingkan data turunan dengan dompet yang diketahui. Passphrase yang cukup sulit diprediksi dan belum bocor dapat mempersulit serangan. Kutipan pendek, kata sandi yang dipakai ulang, atau 2048 iterasi saja tidak menjamin perlindungan. [BIP39 — Mnemonic generation and seed conversion]
Jika perubahan passphrase menghasilkan seed berbeda, hal itu tidak mengubah syarat tanda tangan output yang sudah ada. Karena itu, perpindahan ke dompet baru memerlukan transaksi nyata. Demikian pula, saldo kosong saja tidak membuktikan kehilangan: periksa dahulu masukan yang benar dan parameter pemulihan. [Trezor — What is a passphrase] [BIP380 — Output Script Descriptors]
Cadangkan passphrase dengan aman dan uji pemulihan melalui prosedur tepercaya. Penyimpanan terpisah dari kata mengurangi kebocoran bersama, tetapi harus tetap memungkinkan pemulihan berwenang dan pewarisan. Passphrase kuat yang terlupa tanpa cadangan mungkin mustahil diperoleh kembali. Selain kata dan passphrase, jalur derivasi serta deskripsi skrip mungkin diperlukan; Output Descriptor membantu menyimpan informasi ini. [Trezor — What is a passphrase] [BIP380 — Output Script Descriptors]
Passphrase lain dapat dipakai untuk dompet terpisah atau umpan. Ini tidak menjamin penyerang percaya pada saldo yang ditampilkan atau menghapus jejak pembayaran dan cadangan. Pemisahan dompet, ketahanan terhadap tebakan, dan keamanan saat dipaksa adalah sifat yang berbeda. [BIP39 — Mnemonic generation and seed conversion]
Huruf besar-kecil dapat mengubah dompet
Kata mnemonik yang sama dengan passphrase “alpha” dan “Alpha” menghasilkan seed berbeda menurut BIP 39. Ini contoh singkat, bukan kata sandi aman. Spesifikasi tidak memiliki checksum passphrase; salah ketik dapat membuka dompet lain yang biasanya kosong. Aplikasi boleh menambahkan pemeriksaan sendiri.
Untuk gambaran yang lebih utuh, baca entri ini bersama BIP 39, PBKDF2, BIP39 checksum, Kustodi mandiri. Entri ini juga dirujuk dari Seed Phrase, BIP 39, Cold Storage, BIP85.
01Apakah passphrase sama dengan kata mnemonik atau PIN?+
Tidak. Kata-kata dan passphrase opsional adalah dua input derivasi seed BIP 39, keduanya memakai normalisasi NFKD. Jika passphrase digunakan, kata-kata saja tidak cukup. PIN perangkat tidak menggantikannya. Pemulihan lengkap mungkin juga memerlukan jalur derivasi dan informasi skrip.
02Apakah passphrase melindungi kata mnemonik yang bocor?+
Passphrase yang cukup sulit diprediksi dan tidak bocor bersama kata-kata dapat mempersulit derivasi seed yang benar. Namun penyerang dengan kata-kata tetap dapat mencoba kandidat offline; passphrase singkat atau mudah ditebak bukan perlindungan andal. Kehilangan passphrase kuat tanpa cadangan dapat menyebabkan hilangnya akses yang tidak dapat dipulihkan.