Ir para conteúdo principal

Os princípios básicos da segurança mnemônica

U
Escrito por UKey Wallet

Ao usar o mnemônico para restaurar sua carteira, há uma chance muito pequena de você inserir uma palavra erroneamente (não no backup, mas no banco de dados mnemônico) e ainda conseguir restaurá-la usando a carteira blockchain.

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

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

Criar mnemônico:

Utilizando 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 e 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 bits de assistência de 12 bits). 3, No final da sequência aleatória, adicione a soma de verificação. 4. Separe a sequência em metades de 11 bits. 5, Cada número com o componente de 11 bits corresponde a um dicionário que já possui 2.048 palavras. 6. O mnemônico é a sequência resultante de sílabas.

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

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

Hash de SHA256: 00101011 11111111

mceclip3.png

O mnemônico inserido artificialmente incorretamente é: costela quadro de voz 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.

Como ambos os pares de mnemônicos estão em conformidade com 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 mnemônica e, em seguida, escolha aleatoriamente as outras 11 palavras mnemônicas quando a palavra mnemônica tiver 12 bits, podemos encontrar um conjunto de palavras corretas 16 vezes, enquanto a palavra auxiliar de 24 bits é 256 vezes.

Portanto, é típico "inserir a palavra errada e receber um mnemônico funcional", mas isso não implica que a segurança mnemônica seja imprecisa.

Às vezes, os mnemônicos são confundidos com “carteiras cerebrais”, embora não sejam a mesma coisa.

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

A distinção mais significativa entre os dois é o aspecto que torna o mnemônico mais seguro; afinal, os 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 o uso de um mnemônico gerado por carteira seja inseguro; os dois tipos de mnemônicos são diferentes em termos de segurança; um mnemônico gerado por carteira é mais aleatório (ou seja, mais seguro), enquanto uma carteira cerebral (com o mnemônico errado) tem menos probabilidade de ser gerada e usada aleatoriamente.

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

Isto respondeu à sua pergunta?