Os fundamentos da segurança mnemônica

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 do mnemônico) e ainda assim ser capaz de 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:

Usando o procedimento de normalização descrito no BIP-39, a carteira gera automaticamente o mnemônico. A carteira começa com uma fonte de entropia, adiciona um checksum antes de mapear números aleatórios para uma lista de palavras:
1. Criar um número aleatório de 128 a 256 bits.
2. Usar o checksum deste número aleatório como os primeiros bits do hash SHA256 (os primeiros quatro bits são retirados dos 12 bits de assistência).
3. No final da sequência aleatória, adicionar o checksum.
4. Separar 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 2048 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: ribbon voice frame black oppose galaxy divide either tube maximum tired obvious

Hash do SHA256: 00101011 11111111

mceclip3.png

O mnemônico inserido incorretamente artificialmente é: rib voice frame black oppose galaxy divide either tube maximum tired obvious

Hash do SHA256: 00101011 11101010

mceclip4.png

Os primeiros quatro bits de cada par de SHA256 são idênticos, indicando que o checksum também é idêntico.

Porque 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 do mnemônico, e então escolha aleatoriamente as outras 11 palavras do mnemônico quando a palavra do mnemônico tem 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 significa que a segurança do mnemônico seja imprecisa.

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

A distinção principal é que as carteiras cerebrais são compostas por 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 apenas porque um mnemônico compatível com o 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 cerebral (com o mnemônico errado) é menos provável de ser gerada e usada aleatoriamente.

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 usual do mnemônico pelo usuário.

Esse artigo foi útil?
Usuários que acharam isso útil: 2 de 3