Ir al contenido principal

Los fundamentos de la seguridad mnemotécnica

Actualizado ayer

Al utilizar la mnemotecnia para restaurar su billetera, existe una probabilidad muy pequeña de que ingrese una palabra erróneamente (no en la copia de seguridad, sino en la base de datos mnemotécnica) y aún así pueda restaurarla utilizando la billetera de la cadena de bloques.

Aquí hay algunos ejemplos y explicaciones de este escenario extremadamente improbable.

Para empezar, primero debemos comprender el proceso de construcción de una mnemotecnia para así comprender por qué se puede utilizar una mnemotecnia incluso si se ingresa incorrectamente.

Crear mnemotecnia:

Utilizando el procedimiento de normalización descrito en BIP-39, la billetera genera la mnemotecnia automáticamente. La billetera comienza con una fuente de entropía, luego agrega una suma de verificación antes de mapear números aleatorios a una lista de palabras:
1. Cree un número aleatorio de 128 a 256 bits.
2. Utilice la suma de verificació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 porta el componente de 11 bits corresponde a un diccionario que ya tiene 2048 palabras.
6. La mnemotecnia es la secuencia resultante de sílabas.

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

La billetera genera la mnemotecnia como: ribbon voice frame black oppose galaxy divide either tube maximum tired obvious

Hash de SHA256: 00101011 11111111

mceclip3.png

La mnemotecnia ingresada artificialmente de forma incorrecta es: rib voice frame black oppose galaxy divide either tube maximum tired obvious

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 verificación también es idéntica.

Dado que ambos pares de mnemotecnias cumplen con BIP39, ambos pueden recuperarse utilizando billeteras de cadena de bloques.

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

Por lo tanto, es común "ingresar la palabra errónea y recibir una mnemotecnia que funciona", pero esto no implica que la seguridad mnemotécnica sea inexacta.

Las mnemotecnias a veces se confunden con "billeteras cerebrales", aunque no son lo mismo.

La principal diferencia es que las billeteras cerebrales están compuestas por palabras elegidas por el usuario, mientras que las mnemotecnias se generan aleatoriamente y se presentan al usuario.

La diferencia más significativa entre ambas es el aspecto que hace que la mnemotecnia sea más segura; después de todo, los humanos tienen una capacidad limitada para generar números aleatorios.

Esto significa que el simple hecho de que una mnemotecnia compatible con BIP39 haya sido probada artificialmente no significa que usar una mnemotecnia generada por la billetera sea insegura; los dos tipos de mnemotecnias son diferentes en términos de seguridad; una mnemotecnia generada por la billetera es más aleatoria (es decir, más segura), mientras que una billetera cerebral (con la mnemotecnia incorrecta) es menos probable que se genere y se utilice de forma aleatoria.

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

¿Ha quedado contestada tu pregunta?