488 / 736BIP39-P

BIP39 passphrase

Um segredo adicional às palavras de recuperação

Ao acrescentar uma passphrase às mesmas palavras de recuperação, pode usar outra carteira. Que proteção oferece, por que pode um erro de escrita abrir uma carteira vazia e como evitar complicar a recuperação?

A BIP39 passphrase é um texto secreto opcional que a carteira usa juntamente com as palavras de recuperação, ou Seed Phrase. As duas partes determinam a que chaves consegue aceder. Se usou uma passphrase, também precisa dela para recuperar a carteira. O PIN do dispositivo não a substitui. É uma proteção adicional, mas também mais uma coisa que pode perder; não é obrigatória para usar Bitcoin.

Imagine uma carteira que criou sem passphrase e as respetivas palavras de recuperação. Essas palavras, por si só, bastam para derivar o mesmo conjunto de chaves. Ao introduzir uma passphrase, a carteira combina ambas as entradas para calcular outra base para as chaves, chamada seed. Passa assim a aceder a outra carteira. Não está a acrescentar uma fechadura à carteira original. O PIN normalmente desbloqueia o dispositivo; a passphrase participa na determinação das próprias chaves. Por vezes é chamada de “25.ª palavra”, mas não tem de ser uma única palavra nem constar da lista BIP39. [1] [2]

Numa conta habitual, um erro de escrita costuma provocar uma mensagem de “palavra-passe incorreta”. Aqui, o mesmo erro pode abrir outra carteira, normalmente vazia: o BIP39 não tem uma soma de verificação da passphrase. Os seus bitcoins originais não foram apagados. Comece por verificar a cópia de segurança, o texto exato introduzido, a conta correta e as definições de recuperação. As maiúsculas, minúsculas e os espaços também contam. Há uma exceção técnica: certas representações Unicode, como é e a letra e seguida de um acento combinante, tornam-se iguais com a normalização NFKD. Na prática, mantenha ainda assim um registo exato; não confie apenas no aspeto semelhante dos caracteres. A aplicação pode acrescentar as suas próprias confirmações ou verificações. [1] [2]

Se alguém obtiver as suas palavras de recuperação, uma passphrase suficientemente imprevisível pode dificultar muito o acesso à carteira certa. Mas tem de continuar secreta e ser difícil de adivinhar. Uma data de nascimento, uma citação conhecida ou uma palavra-passe reutilizada são escolhas fracas. Quem tem as palavras pode experimentar hipóteses offline, no seu próprio computador, sem consultar o seu dispositivo. Nem o PIN nem o limite de tentativas do dispositivo impedem esse ataque. Se ainda não domina a cópia de segurança e a recuperação normais, aprenda primeiro esses passos. Uma organização mais complexa não é automaticamente mais segura. [1] [2]

Ao começar a introduzir uma nova passphrase, os fundos da carteira original continuam sob o controlo das chaves originais. Para mudar, primeiro verifique a nova carteira e a sua recuperação; depois envie efetivamente os bitcoins para ela. O mesmo se aplica ao passar de uma carteira sem passphrase para uma com passphrase. Não confunda este passo com mudar o PIN: alterar o acesso ao dispositivo não cria, por si só, um novo conjunto de chaves de Bitcoin. [2] [3]

Registe a passphrase exata de forma segura e pense em quem a poderá encontrar quando houver uma necessidade legítima. Guardá-la separadamente das palavras de recuperação reduz o risco de ambas as partes ficarem expostas ao mesmo tempo, mas não deve impedir a recuperação ou a herança. Uma passphrase forte que foi esquecida e não tem cópia de segurança pode ser irrecuperável. Antes de depositar um valor maior, teste a recuperação através de um procedimento de confiança para essa carteira. Guarde também as definições necessárias, como o tipo de endereço e o caminho de derivação que indica onde a carteira deve procurar as contas. Um Output Descriptor é uma descrição dessas regras legível por máquinas; quando a carteira o suporta, pode ser uma parte importante da cópia de segurança. Não substitui uma passphrase em falta. [2] [3]

Pode usar passphrases diferentes para carteiras separadas. Por isso, algumas pessoas mantêm também uma carteira menor como chamariz. Contudo, não há garantia de que um agressor acredite que viu tudo. Registos de pagamentos, cópias de segurança ou outros vestígios podem revelar mais património. Resistir a tentativas de adivinhar uma palavra-passe e estar seguro perante coação física são problemas distintos. [1]

Não precisa de fazer este cálculo manualmente para usar uma carteira. O BIP39 fornece as palavras de recuperação como entrada password da função PBKDF2-HMAC-SHA512. A segunda entrada chama-se salt e tem a forma "mnemonic" + passphrase. Aqui, salt é o nome técnico de uma entrada adicional, não mais uma coisa que tenha de inventar ou guardar. As palavras de recuperação não são acrescentadas a essa entrada. Os dois textos passam pela normalização NFKD e pela codificação UTF-8. Após 2048 iterações, obtém-se uma seed de 512 bits, ou 64 bytes. Sem passphrase, essa frase está vazia, mas o salt continua a incluir "mnemonic". Um resultado longo ou um cálculo repetido não transforma uma passphrase fácil de adivinhar num segredo forte. [1]

Exemplo · BIP39-P

Maiúsculas podem mudar a carteira

As mesmas palavras mnemónicas com as passphrases «alpha» e «Alpha» derivam seeds diferentes segundo BIP 39. São exemplos curtos, não palavras-passe seguras. A especificação não tem soma de verificação da passphrase; um erro pode abrir outra carteira, geralmente vazia. Uma aplicação pode acrescentar a sua própria verificação.

Para ter uma visão mais completa, leia este verbete junto com BIP 39, PBKDF2, BIP39 checksum, Autocustódia. Também há referências a este verbete em Seed Phrase, BIP 39, Cold Storage, Gap Limit.

01Uma passphrase é o mesmo que as palavras de recuperação ou o PIN?

Não. O BIP 39 usa as palavras de recuperação juntamente com a passphrase opcional. Se definiu uma passphrase, as palavras por si só não bastam para aceder à carteira original, e o PIN não a substitui. A recuperação também pode exigir outras informações, como o tipo de endereço e o caminho de derivação que indica onde procurar as contas.

02Uma passphrase protege palavras mnemónicas divulgadas?

Uma passphrase suficientemente imprevisível, que não tenha sido divulgada com as palavras, pode dificultar a derivação do seed correto. Porém, um atacante com as palavras pode testar candidatos offline; uma passphrase curta ou previsível não é proteção fiável. Perder uma passphrase forte sem cópia de segurança pode significar perda irrecuperável de acesso.

DOC · 001BIP39 — Mnemonic generation and seed conversionEspecificação DOC · 002Trezor — What is a passphraseDocumentação DOC · 003BIP380 — Output Script DescriptorsEspecificação
Revisto em: Fontes em primeiro lugar · Não é recomendação de investimento