Ir para conteúdo principal

Noções básicas de segurança mnemônica

Ao usar o mnemônico para restaurar sua carteira, existe uma pequena possibilidade de que você insira uma palavra erroneamente (não no backup, mas no banco de dados de mnemônicos) e ainda consiga restaurá-la usando a carteira blockchain.

Aqui estão alguns exemplos e explicações desse cenário extremamente improvável.

Para começar, devemos primeiro compreender o processo de construção de um mnemônico para entender por que um mnemônico pode ser usado mesmo se for digitado incorretamente.

Criar mnemônico:

Usando o procedimento de normalização descrito no BIP-39, a carteira gera o mnemônico automaticamente. A carteira começa com uma fonte de entropia, depois adiciona uma soma de verificação antes de mapear números aleatórios para uma lista de palavras:
1. Crie um número aleatório de 128 a 256 bits.
2. Use a soma de verificação desse número aleatório como os primeiros bits do hash SHA256 (os primeiros quatro bits são retirados dos 12 bits auxiliares).
3. No final da sequência aleatória, adicione a soma de verificação.
4. Separe a sequência em partes de 11 bits.
5. Cada número contendo o componente de 11 bits corresponde a um dicionário que já possui 2048 palavras.
6. O mnemônico é a sequência resultante de palavras.

E quando a palavra errada é inserida, como no exemplo a seguir (apenas a primeira posição foi inserida incorretamente).

A carteira gera o mnemônico como:fita voz quadro preto opor galáxia dividir qualquer tubo máximo cansado óbvio

Hash de SHA256: 00101011 11111111

mceclip3.png

O mnemônico digitado incorretamente de forma artificial é:costela voz quadro preto opor galáxia dividir qualquer tubo máximo cansado óbvio

Hash de SHA256:00101011 11101010

mceclip4.png

Os primeiros quatro bits de cada par SHA256 são idênticos, indicando que a soma de verificação também é idêntica.

Porque ambos os pares de mnemônicos cumprem o BIP39, ambos podem ser recuperados usando carteiras blockchain.

Se fizermos uma explicação básica em termos de probabilidade: primeiro escolha uma palavra aleatória como a última palavra do mnemônico e, em seguida, escolha aleatoriamente as outras 11 palavras do mnemônico quando o mnemônico tem 12 palavras, podemos encontrar um conjunto correto 16 vezes, enquanto a palavra auxiliar de 24 bits é 256 vezes.

Portanto, é comum "digitar a palavra errada e obter um mnemônico funcional", mas isso não implica que a segurança do mnemônico seja imprecisa.

Os mnemônicos às vezes são confundidos com "carteiras mentais", embora não sejam a mesma coisa.

A principal diferença é que as carteiras mentais são compostas por palavras escolhidas pelo usuário, enquanto os mnemônicos são gerados aleatoriamente e apresentados ao usuário.

A diferença mais significativa entre os dois é o aspecto que torna o mnemônico mais seguro; afinal, os seres humanos têm uma capacidade limitada de gerar números aleatórios.

Isso significa que só porque um mnemônico compatível com BIP39 foi testado artificialmente não significa que usar um mnemônico gerado pela carteira seja inseguro; os dois tipos de mnemônicos são diferentes em termos de segurança; um mnemônico gerado pela carteira é mais aleatório (ou seja, mais seguro), enquanto uma carteira mental (com o mnemônico errado) é menos provável de ser gerada e usada de forma aleatória.

A carteira gera números verdadeiramente aleatórios usando métodos criptograficamente seguros (por exemplo, TRNG de hardware), portanto a qualidade da aleatoriedade não pode ser garantida pela escolha habitual de mnemônico pelo usuário.

Isto respondeu à sua pergunta?