Los lanzamientos de dados mantienen las claves de bitcoin fuera de línea, pero no todos se molestarán

iconBitcoin.com
Compartir
AI summary iconResumen
Noticia exclusiva sobre bitcoin: Lanzar un dado de seis caras puede generar semillas de monederos bitcoin seguras sin conexión, ofreciendo protección contra vulnerabilidades electrónicas. Un dado justo proporciona aproximadamente 2,585 bits de entropía por lanzamiento, y 50 lanzamientos cumplen con el estándar de 128 bits. Sin embargo, la reciente explotación de Coldcard muestra que otras funciones del dispositivo aún pueden representar riesgos. El investigador de seguridad Kevin Loaec señaló que funciones como la creación de monederos de papel podrían seguir siendo vulnerables. Aunque la entropía basada en dados es segura en teoría, el proceso manual es propenso a errores e impráctico para la mayoría de los nuevos usuarios. Las noticias sobre bitcoin destacan el debate continuo entre seguridad y usabilidad en la generación de claves.

Un dado estándar de seis caras produce aproximadamente 2.6 bits de información impredecible con cada lanzamiento. Eso puede no parecer mucho, pero si se repite suficientes veces, esos lanzamientos pueden generar la aleatoriedad básica necesaria para asegurar un monedero de bitcoin sin depender de software ni de un componente electrónico.

Principales conclusiones

  • Un lanzamiento justo de un dado de seis caras proporciona aproximadamente 2.585 bits de entropía, según la fórmula de Claude Shannon.
  • La documentación de Coinkite indicó que 50 lanzamientos de dados cumplen con el estándar de 128 bits para una semilla de monedero de bitcoin.
  • El análisis de Wizard Sardine de Kevin Loaec detectó riesgos en las herramientas Coldcard más allá de la semilla principal.

Por qué es tan difícil predecir un lanzamiento de dado

Claude Shannon, el matemático que estableció la teoría de la información, usó la entropía para medir cuán incierto es un resultado. Con un dado justo de seis caras, cada cara tiene la misma probabilidad de uno en seis de aparecer. Eso otorga a cada lanzamiento aproximadamente 2,585 bits de entropía. Un lanzamiento de moneda produce 1 bit, mientras que un dado de ocho caras produce 3 bits.

Imagen de dados de diferentes colores

El reciente incidente de Coldcard ha impulsado la generación de semillas basada en dados a través de las redes sociales. Algunos usuarios ahora la consideran esencial, otros dicen que protegió sus fondos, mientras que los operadores experimentados señalan que la mayoría de los nuevos usuarios no tolerarán un proceso de configuración lento y propenso a errores.

La parte importante no es que un dado que rueda se comporte aleatoriamente a nivel atómico. No lo hace. El resultado está gobernado por la física, pero demasiadas variables pequeñas cambian al mismo tiempo como para que nadie pueda calcular confiablemente el resultado. El dado sale de la mano con una cierta velocidad, ángulo, altura y giro, luego golpea la mesa y cambia de dirección con cada rebote.

En la práctica, incluso un pequeño cambio en el lanzamiento puede producir un resultado completamente diferente. Una posición ligeramente distinta del dedo o un lanzamiento ligeramente más fuerte cambia la trayectoria lo suficiente como para que el número final no pueda predecirse observando el movimiento. El resultado puede ser determinista en teoría, pero para la generación de monederos, lo que importa es que un atacante no pueda reproducirlo ni calcularlo.

Convertir los lanzamientos de dados en datos utilizables

Una computadora no puede usar directamente una lista de resultados de dados. Los lanzamientos deben convertirse primero en datos binarios, y el método de conversión es importante.

Un método básico de impar o par es fácil de entender, pero desperdicia gran parte de la entropía disponible. Cada tirada se reduce a un solo bit, aunque el dado produce aproximadamente 2.6 bits de información. Métodos más eficientes recopilan una larga secuencia de tiradas y procesan toda la cadena, generalmente mediante una función de hash criptográfico. Esto preserva mucho más de la aleatoriedad.

El mismo principio aparece en Diceware, un método de larga data para crear contraseñas seguras, y en la generación manual de monederos de bitcoin. Una frase de recuperación de monedero típica de 12 palabras se construye a partir de 128 bits de entropía. Aproximadamente 2,6 bits por tirada, alrededor de 50 tiradas justas proporcionan suficiente información cruda para superar ese umbral.

Coinkite, el fabricante del monedero de hardware Coldcard, recomienda 99 o más rollos para los usuarios que buscan cerca de 256 bits de entropía. Esto no hace que el monedero sea el doble de difícil de usar, pero otorga al secreto generado un margen de seguridad matemática mucho mayor.

Una prueba del mundo real de semillas generadas por dados

Esa distinción se volvió importante después de que Coinkite revelara un problema de firmware que data de 2021. En algunos dispositivos Coldcard, el software podía omitir el generador de números aleatorios de hardware interno y en su lugar utilizar un proceso más débil vinculado a información del dispositivo no secreta.

Debido a que partes de ese proceso podrían ser reconstruidas, los atacantes pudieron reducir las claves posibles del monedero en lugar de buscar en todo el espacio de claves. La vulnerabilidad se relacionó con el robo de aproximadamente 1.128,6633 BTC de alrededor de 1100 direcciones, al 1 p.m. hora del Este.

X captura de pantalla
Fuente de la imagen: X

Las semillas de monedero creadas completamente a partir de un número suficiente de lanzamientos de dados independientes no se expusieron a través de la misma vía. Esos usuarios habían aportado su propia entropía, por lo que el generador de hardware defectuoso no fue responsable de crear el secreto principal del monedero.

Esa protección, sin embargo, se aplicaba únicamente a la semilla generada por los dados. No protegía automáticamente cada otro secreto generado por el dispositivo.

Wizard Sardine examina la letra pequeña

El investigador de seguridad Kevin Loaec publicó una evaluación de la explotación de Coldcard en el sitio web de Wizard Sardine el 1 de agosto. Su observación más importante se refirió a las funciones de Coldcard que generaban sus propios secretos por separado de la semilla principal del monedero.

“Creo que es extremadamente importante destacar que incluso los usuarios que importaron o generaron una semilla con dados son vulnerables si utilizan las siguientes funciones,” Loaec escribió en X, antes de presentar un diagrama del sistema afectado.

El diagrama muestra el generador de números aleatorios defectuoso que alimenta varias funciones secundarias de Coldcard. Estas incluyen la creación de monederos de papel, la clonación del dispositivo, el cifrado de la sesión USB, la función de transferencia Secret Teleport, la creación de claves de firma conjunta, el generador de contraseñas integrado y los códigos de autenticación del módulo de seguridad de hardware.

Captura de pantalla de X
Fuente de la imagen: publicación en X a través del investigador de seguridad Kevin Loaec.

Un monedero principal creado con 99 lanzamientos de dados permaneció en una parte separada del sistema. El problema era que las otras herramientas aún podían solicitar aleatoriedad fresca desde el generador defectuoso. Como resultado, una semilla segura no garantizaba que cada contraseña, copia de seguridad, código de autenticación o clave secundaria creada en el mismo dispositivo fuera igualmente segura.

Por qué la mayoría de los nuevos usuarios no lanzarán los dados

La entropía generada por dados es técnicamente sólida cuando se realiza correctamente, pero no es una opción realista por defecto para la mayoría de los nuevos usuarios. Lanzar un dado 50 o 99 veces, ingresar cada resultado con precisión y confirmar que no se omitió ni duplicó ningún lanzamiento requiere paciencia y mucha concentración. Un solo número mal ingresado puede cambiar por completo el monedero final, y la mayoría de los dispositivos no pueden determinar si el error provino de un lanzamiento defectuoso, un error de entrada o una mala interpretación de las instrucciones.

X captura de pantalla
Fuente de la imagen: X

El proceso también introduce riesgos que no existen con un generador de hardware que funcione correctamente. Los usuarios pueden anotar los lanzamientos en papel, fotografiarlos, ingresarlos en una herramienta en línea o dejar la lista en algún lugar donde otra persona pueda encontrarla. Algunas personas lanzan el dado de manera repetitiva o controlada, usan un dado cargado o dañado, o se detienen antes porque el proceso les parece excesivo. Las matemáticas pueden ser sólidas, pero el resultado es tan seguro como el procedimiento del usuario.

Captura de pantalla de X
Fuente de la imagen: X

Por eso, lanzar dados no siempre se considera el mejor método para muchas personas, incluso entre usuarios experimentados de bitcoin. Reemplaza la confianza en un dispositivo con la confianza en un proceso manual. Para un usuario técnicamente cuidadoso que entiende la entropía, verifica el método y mantiene privada la secuencia de lanzamientos, ese intercambio puede tener sentido. Para un comprador promedio que configura un monedero por primera vez, añade varias oportunidades de cometer un error permanente, al mismo tiempo que es un proceso molesto.

Captura de pantalla de X
Fuente de la imagen: X

También es difícil imaginar una adopción generalizada del bitcoin dependiendo de que las personas se sienten en una mesa y registren 99 resultados de dados antes de poder recibir fondos de forma segura. Las prácticas de seguridad deben adaptarse a hogares reales, horarios ocupados, distracciones y usuarios que no desean estudiar criptografía. La entropía manual debe seguir disponible como opción avanzada, pero el objetivo a largo plazo es contar con hardware y software que generen aleatoriedad fuerte correctamente, expliquen claramente lo que está sucediendo y requieran el menor conocimiento especializado posible.

Qué deben verificar los propietarios de Coldcard

Los propietarios de los dispositivos Coldcard afectados deben primero verificar la versión del firmware instalada en el dispositivo. Luego, deben revisar qué funciones utilizaron mientras ejecutaban firmware anterior, en lugar de centrarse únicamente en cómo se generó la semilla principal del monedero.

Cualquiera que haya utilizado el dispositivo afectado para generar un monedero de papel, clonar un secreto, contraseña, clave de co-firma o código de autenticación puede necesitar reemplazar ese material inmediatamente. Instalar la actualización previene que el mismo problema afecte nuevos secretos, pero no repara nada creado anteriormente.

El incidente también fortalece el caso práctico de las configuraciones de monedero con múltiples proveedores. En un acuerdo de firma múltiple, se pueden requerir dispositivos de hardware separados de diferentes fabricantes para aprobar una transacción. Esa estructura no hace imposibles los errores de firmware, pero puede evitar que un solo generador de números aleatorios defectuoso exponga todo el monedero por sí solo.

Descargo de responsabilidad: La información contenida en esta página puede proceder de terceros y no refleja necesariamente los puntos de vista u opiniones de KuCoin. Este contenido se proporciona solo con fines informativos generales, sin ninguna representación o garantía de ningún tipo, y tampoco debe interpretarse como asesoramiento financiero o de inversión. KuCoin no es responsable de ningún error u omisión, ni de ningún resultado derivado del uso de esta información. Las inversiones en activos digitales pueden ser arriesgadas. Evalúa con cuidado los riesgos de un producto y tu tolerancia al riesgo en función de tus propias circunstancias financieras. Para más información, consulta nuestras Condiciones de uso y la Declaración de riesgos.