diff --git a/README.md b/README.md index 5067d62..0952d43 100644 --- a/README.md +++ b/README.md @@ -290,13 +290,34 @@ Necesitas la tabla de las 2048 palabras impresa. BitBox publica una en [su docum > Vale la pena señalar la honestidad del propio fabricante en ese documento: abre diciendo que no necesitas hacerlo, y explica que la BitBox02 combina cinco fuentes de entropía. Y aun así ofrece el método, porque una hardware wallet debería ser una herramienta de soberanía personal. Es exactamente el planteamiento de esta guía: no se trata de asumir mala fe del fabricante, sino de no depender de que acierte. -### 3.5 Métodos que esta guía no recomienda +### 3.5 Otros métodos, y por qué esta guía elige los dados **El RNG del dispositivo, a secas.** Es lo que falló. Aunque el firmware esté parcheado hoy, es la capa que no puedes verificar. -**Generación por imagen** (SeedSigner y algún otro la ofrecen: fotografiar algo con la cámara y combinar los píxeles con fotogramas de previsualización, número de serie y tiempo de encendido). Es rápida y cómoda, pero tú no generas ni controlas esa entropía de forma externa: depositas confianza en el algoritmo del propio dispositivo para extraerla y combinarla correctamente. Con dados, la fuente es 100% externa y el software solo hace un cálculo determinista y verificable por terceros. +**Cualquier generador de aleatoriedad en un navegador o en el móvil.** Da igual lo bien hecho que esté o quién lo firme: no puedes auditar qué hace con tus bits, ni si el navegador los guarda en algún sitio. Los generadores de software son exactamente la capa que falló en 2026. Para aprender y practicar valen; para producir la seed que va a custodiar tu dinero, nunca. -**Cualquier generador de aleatoriedad en un navegador o en el móvil.** Da igual lo bien hecho que esté o quién lo firme: no puedes auditar qué hace con tus bits, ni si el navegador los guarda en algún sitio. Los generadores de software son exactamente la capa que falló en Coldcard. Para aprender y practicar valen; para producir la seed que va a custodiar tu dinero, nunca. +#### Generación por imagen: el caso que merece matices + +Algunos dispositivos ofrecen crear la seed **fotografiando algo con su cámara** y combinando los píxeles con fotogramas de previsualización. Merece una respuesta más cuidadosa que un "no", porque hay mediciones publicadas y son buenas. + +**No es un problema de cantidad.** Una escena iluminada aporta del orden de **millones de bits** frente a los 256 que necesitas. Y —esto sorprende a mucha gente— **una pared blanca vale prácticamente igual que una estantería llena de libros**: menos del 10% de diferencia. La entropía no está en lo que fotografías, está en el **ruido del propio sensor**, que cambia en cada lectura. Dos fotos consecutivas del mismo sitio, con el aparato inmóvil, difieren en el 80% de sus valores de color. Es el mismo principio que usa Cloudflare apuntando una cámara a una pared de lámparas de lava. + +**Entonces, ¿por qué dados?** Por una razón, y es la del pilar 2. Lo dice mejor que nosotros el desarrollador principal de SeedSigner en su propio análisis: + +> Con la imagen solo puedes verificar el **proceso**, no los resultados individuales. Los dados se diferencian exactamente en eso: las tiradas caben en un papel, así que un resultado concreto sigue siendo comprobable desde fuera para siempre, mientras que los datos de la cámara no existen en ningún sitio salvo en el aparato que los hasheó. + +No es un defecto de implementación, es estructural: son unos 12 MB de fotogramas, que no caben en un código QR, y escribirlos a la tarjeta sería guardar tu seed en disco. Con dados puedes coger tu secuencia y comprobar en tres herramientas distintas que dan lo mismo. Con una foto, nadie —ni tú— podrá comprobar nunca nada sobre esa seed concreta. + +#### Si aun así usas la cámara, cuatro reglas + +Salen de mediciones sobre cuatro aparatos físicos, y ninguna es evidente: + +1. **Fotografía algo iluminado. Es lo único que de verdad importa.** Cualquier escena vale; que llegue luz al sensor lo es todo. +2. **Nunca con el sensor a oscuras.** Boca abajo en la mesa, la lente tapada, dentro de una bolsa. En esas condiciones se midieron imágenes finales de **113, 177, 190 y 221 bits** — por debajo de los 256 que necesita una seed de 24 palabras. Y la capa de previsualización que debería cubrir eso **se cae a la vez**: a oscuras, casi todos sus fotogramas son un negro constante que un atacante puede calcular sin haber visto nada. +3. **Pulsa el botón, no lo mantengas.** Mantenerlo pulsado **se salta la capa de previsualización entera**, y nada te avisa. +4. **No te fíes de lo que veas en pantalla.** Una pantalla de revisión totalmente negra vino de capturas con cien veces lo necesario, y una imagen con ruido visible de capturas muy por debajo del mínimo. **Lo que ves no te dice cuánta entropía recogiste.** + +> **Sobre esas mediciones.** Vienen de un [análisis del propio proyecto](https://kdmukai-bot.github.io/seedsigner-ai-analysis/image-entropy/), hecho con asistencia de IA por su desarrollador principal, que publica los 340 MB de capturas en bruto para que cualquiera lo contradiga. Es transparencia ejemplar y aquí lo damos por bueno — pero conviene decir lo que ellos mismos dicen: **no es una auditoría independiente y nadie ha reproducido esas cifras todavía.** La sección 1.6 de esta guía se aplica también a esto. ### 3.6 Qué es responsabilidad tuya (y no de las matemáticas) @@ -853,6 +874,7 @@ Un historial limpio no significa que no haya fallos: puede significar que aún n - SeedSigner — [repositorio](https://github.com/SeedSigner/seedsigner), en particular [`docs/dice_verification.md`](https://github.com/SeedSigner/seedsigner/blob/dev/docs/dice_verification.md) (vectores de prueba de la Sección 3.3) y las instrucciones de verificación de releases. - SeedSigner — [Independent Custody Guide](https://github.com/SeedSigner/independent_custody_guide), del creador del proyecto. +- SeedSigner — [análisis de la entropía por imagen](https://kdmukai-bot.github.io/seedsigner-ai-analysis/image-entropy/) y sus [datos en bruto](https://kdmukai-bot.github.io/seedsigner-ai-analysis/image-entropy/evidence.html): mediciones sobre cuatro aparatos físicos, de donde salen las cifras de la Sección 3.5. Análisis asistido por IA del propio desarrollador principal; no es auditoría independiente. - Shift Crypto — [BitBox02: Seed generation with dice](https://bitbox.swiss/bitbox02/BitBox_Diceware_HowTo.pdf) (Método B de la Sección 3.4, e inspiración para la higiene operativa del Paso 0d y la verificación del backup del Paso 6b). - EFF — [eff_large_wordlist.txt](https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt). - [Sparrow Wallet](https://www.sparrowwallet.com/download/).