Ir al contenido principal

Los fundamentos de la seguridad mnemotécnica

U
Escrito por UKey Wallet

Al usar el mnemotécnico para restaurar su billetera, existe una pequeña posibilidad de que ingrese una palabra erróneamente (no en la copia de seguridad, sino en la base de datos mnemotécnica) y aún pueda restaurarla usando la billetera blockchain.

A continuación se muestran algunos ejemplos y explicaciones de este escenario extremadamente improbable.

Para comenzar, primero debemos comprender el proceso de construcción de un mnemónico para poder comprender por qué se puede utilizar un mnemónico incluso si se ingresa incorrectamente.

Crear mnemónico:

Utilizando el procedimiento de normalización descrito en BIP-39, la billetera genera el mnemotécnico automáticamente. La billetera comienza con una fuente de entropía, luego agrega una suma de verificación antes de asignar números aleatorios a una lista de palabras: 1. Cree un número aleatorio de 128 a 256 bits. 2. Utilice la suma de comprobación de este número aleatorio como los primeros bits del hash SHA256 (los primeros cuatro bits se toman de los bits de asistencia de 12 bits). 3. Al final de la secuencia aleatoria, agregue la suma de verificación. 4. Separe la secuencia en mitades de 11 bits. 5. Cada número que lleva el componente de 11 bits corresponde a un diccionario que ya tiene 2048 palabras. 6. La mnemónica es la secuencia resultante de sílabas.

Y cuando se ingresa una palabra incorrecta, como en el siguiente ejemplo (solo se ingresa incorrectamente la primera posición).

La billetera genera el mnemónico como: cinta de voz marco negro oponerse galaxia dividir cualquiera de los tubos máximo cansado obvio

Hash de SHA256: 00101011 11111111

mceclip3.png

El mnemotécnico ingresado artificialmente incorrectamente es: costilla voz marco negro oponerse galaxia dividir cualquiera de los tubos máximo cansado obvio

Hash de SHA256:00101011 11101010

mceclip4.png

Los primeros cuatro bits de cada par SHA256 son idénticos, lo que indica que la suma de comprobación también es idéntica.

Debido a que ambos pares de mnemotécnicos cumplen con BIP39, ambos pueden recuperarse utilizando billeteras blockchain.

Si hacemos una explicación básica en términos de probabilidad: primero seleccionamos una palabra aleatoria como la última palabra mnemotécnica, y luego seleccionamos aleatoriamente las otras 11 palabras mnemotécnicas cuando la palabra mnemotécnica tiene 12 bits, podemos encontrar un conjunto de palabras correctas 16 veces, mientras que la palabra auxiliar de 24 bits es 256 veces.

Por lo tanto, es típico "ingresar la palabra errónea y recibir un mnemotécnico funcional", pero esto no implica que la seguridad mnemotécnica sea inexacta.

Los mnemotécnicos a veces se confunden con "monederos cerebrales", aunque no son lo mismo.

La principal distinción es que las billeteras cerebrales se componen de palabras elegidas por el usuario, mientras que los mnemotécnicos se generan aleatoriamente y se presentan al usuario.

La distinción más significativa entre los dos es el aspecto que hace que la mnemónica sea más segura; después de todo, los humanos tenemos una capacidad limitada para generar números aleatorios.

Esto significa que el hecho de que un mnemónico compatible con BIP39 haya sido probado artificialmente no significa que usar un mnemónico generado por una billetera sea inseguro; los dos tipos de mnemónicos son diferentes en términos de seguridad; una mnemónica generada por una billetera es más aleatoria (es decir, más segura), mientras que es menos probable que una billetera cerebral (con la mnemónica incorrecta) se genere y utilice aleatoriamente.

La billetera genera números verdaderamente aleatorios utilizando métodos criptográficamente seguros (por ejemplo, TRNG de hardware), por lo que la calidad de la aleatoriedad no puede garantizarse mediante la elección habitual de mnemónicos por parte del usuario.

¿Ha quedado contestada tu pregunta?