Glosario / Billeteras y custodia
Billetera cerebral
- ¿Qué es una billetera cerebral?
- Las billeteras cerebrales convierten una frase memorizada directamente en una clave privada calculando el hash de la frase, un diseño que los investigadores vaciaron a gran escala y que ninguna billetera con mantenimiento activo sigue ofreciendo.
El atractivo era obvio: memorizar una frase, cruzar una frontera sin llevar nada, y recrear la billetera al otro lado. El fallo era igual de simple, porque la gente elige frases adivinables y un atacante puede probar candidatas sin conexión y de forma gratuita. Un estudio académico de 2016 identificó 884 billeteras cerebrales que contenían 1.806 bitcoin entre 2011 y 2015, y todas menos 21 habían sido vaciadas.
Cómo funciona
Estado: las billeteras cerebrales se abandonaron después de que en 2015 aparecieran herramientas públicas para romperlas, y ninguna billetera en mantenimiento actual ofrece esa opción. Las frases semilla generadas por el dispositivo las sustituyeron por completo.
La construcción es una línea de código. Se toma la frase, se le aplica SHA-256, y los 32 bytes resultantes se tratan como una clave privada. No hay sal, ni componente aleatorio, ni lentitud deliberada. La misma frase produce entonces la misma clave para cualquier persona en la tierra que alguna vez piense en ella, lo que convierte un secreto en un problema de búsqueda.
Los atacantes explotan eso directamente. Elaboran una lista de todas las direcciones que alguna vez han tenido saldo, la cargan en una estructura de pertenencia rápida, y luego calculan el hash de frases candidatas por millones: letras de canciones, versículos de las Escrituras, citas de películas, contraseñas de filtraciones antiguas, y cualquier cadena en la que esas fuentes puedan permutarse. Cada hash se comprueba contra la lista de direcciones en microsegundos. Ryan Castellucci hizo una demostración del ataque en la DEF CON 23, en agosto de 2015, y publicó brainflayer, la herramienta que convirtió la técnica en algo rutinario. El mismo equipo de investigación contó alrededor de una docena de vaciadores competidores vigilando nuevos depósitos, y esa es la razón por la que una billetera cerebral con fondos solía vaciarse en menos de un día, y a menudo en minutos.
La elección humana de la frase es la parte que no se puede arreglar. Incluso una frase que usted cree original ocupa un espacio de búsqueda muchísimo más pequeño que el 2 elevado a 256 que ocupa una clave aleatoria, y el atacante solo necesita las frases que la gente realmente elige.
Dónde aparece
Las billeteras cerebrales son un fenómeno histórico, pero la idea sigue regresando bajo nombres nuevos, por lo que vale la pena reconocerla. WarpWallet, publicada por Keybase en 2014, intentó rescatar el concepto con scrypt y PBKDF2 más una dirección de correo electrónico como sal, lo que eleva el costo por intento sin cambiar el hecho de que un humano eligió la entrada.
La confusión que persiste tiene que ver con memorizar una frase semilla genuina. Doce palabras generadas por una billetera de hardware llevan 128 bits de entropía generada por la máquina y siguen siendo fuertes, las memorice usted también o no. Una frase que usted inventó lleva la entropía que contenga su imaginación, que es mucho menor de lo que parece. Si un sitio, una aplicación o una herramienta de "semilla vanity personalizada" le pide escribir una frase que se le ocurrió a usted y le promete una billetera a cambio, ciérrela.
Billetera cerebral frente a frase de contraseña
Una billetera cerebral es todo el secreto; una frase de contraseña de BIP-39 es un factor adicional que se añade encima de palabras generadas por la máquina. Esa diferencia decide el ataque. Para forzar una billetera cerebral, un adversario no necesita más que una lista de palabras y electricidad, porque las direcciones son públicas. Para forzar una frase de contraseña, un adversario ya debe tener las palabras de su frase semilla, lo que significa que el ataque solo comienza después de una vulneración física. La entrada humana débil es peligrosa en ambos casos, pero solo uno de ellos queda expuesto a todo internet desde el momento en que recibe fondos.