Wallets y autocustodia

Hardware wallets: qué protegen y qué no

Una hardware wallet guarda la clave fuera del ordenador y firma dentro del aparato. Aquí se ve qué ataques frena, cuáles no toca y cómo verificar firmware, direcciones y compra.
En este artículo

Si la clave está en el aparato, ¿qué sigue pudiendo salir mal?

Una hardware wallet, o billetera de hardware, se vende con una promesa sencilla: la clave privada vive dentro del aparato y nunca sale. Es cierta, pero estrecha. Protege contra un tipo de ataque, el que llega por el ordenador, y deja intactos otros que causan más pérdidas en la práctica. Mejor saber cuáles son antes de fiarse de la caja.

Qué hace exactamente el aparato

El reparto de trabajo es este. El ordenador o el móvil funcionan como billetera vigía (watch-only): conocen las claves públicas extendidas (xpub), ven tu saldo, preparan la transacción y la difunden. El aparato guarda la seed, deriva las claves, enseña en su pantalla lo que va a firmar, firma y devuelve solo la firma. La clave no viaja nunca. El formato en que se pasa la transacción está en PSBT, y los canales sin cable en firma sin conexión.

La pantalla es la pieza clave. La documentación de Sparrow pide comprobar los datos en la pantalla del dispositivo y no solo en Sparrow, porque aunque el ordenador esté comprometido, el aparato muestra lo que realmente se firma (Sparrow Docs, consultado el 6 de octubre de 2026). Coldcard, por ejemplo, enseña dirección, importe, dirección de cambio y comisión antes de firmar (coldcard.com/learn, revisado el 5 de junio de 2026).

Lo que sí protege

Frena el malware que busca la clave en el ordenador, porque la clave no está ahí. Frena también al ordenador que miente sobre destino, importe o comisión, con una condición: que la persona lea la pantalla del aparato. Si firma sin mirar, el aparato no puede hacer nada. Y en muchos modelos dificulta el robo físico gracias al PIN, al límite de intentos y al elemento seguro, un chip diseñado para resistir la extracción de secretos.

Hay un matiz con la multifirma y los scripts complejos. Si el aparato no tiene registrada la política de la billetera, un ordenador comprometido puede mandar el cambio a un script que controla el atacante y robar o inutilizar esos fondos. BIP-388 (Salvatore Ingala, estado «Complete», número asignado el 26 de diciembre de 2023) estandariza ese registro. Cómo se describen esos scripts se explica en descriptores de salida.

Lo que no protege

Una seed mal guardada. Quien tenga las palabras no necesita el aparato. Las opciones de copia se comparan en estrategias de copia de la seed, y la seed phrase tiene su propia entrada.

El phishing. Ningún aparato impide teclear las palabras en otro sitio. En junio de 2021 llegaron por correo Ledger Nano X falsos con una carta que decía venir del director ejecutivo y pedía introducir las 24 palabras en una app falsa. Ledger lo calificó de estafa (Bitdefender HotForSecurity, junio de 2021, que cita a Ledger). Más en amenazas y estafas.

Una dirección mala. Si el destinatario te manda por un chat o un correo ya manipulados una dirección que no es la suya, el aparato firmará fielmente un pago al atacante. La pantalla confirma lo que el aparato recibe, no si esa dirección era la correcta. Por eso la dirección del destinatario se verifica por otro canal. La dirección de recepción propia sí se comprueba en el aparato, como se ve más abajo.

La coacción. Si alguien obliga a firmar, se firma. Jameson Lopp mantiene un registro público de ataques físicos contra poseedores de bitcoin (GitHub, consultado el 6 de octubre de 2026). Ayudan la discreción (OPSEC), la multifirma con claves en lugares distintos y, en algunos modelos, un PIN de coacción.

Tus datos de cliente. En julio de 2020 Ledger comunicó un acceso no autorizado a su base de datos de comercio electrónico y marketing (25 de junio, a través de una clave de API; aviso de un investigador el 14 de julio). Habló de cerca de 1 millón de correos y unos 9.500 clientes con nombre, dirección postal, teléfono o productos pedidos, y dijo que pagos y fondos estaban a salvo (Ledger, 29 de julio de 2020). Y no quedó ahí. El 20 de diciembre de 2020 la base robada se publicó entera en un foro, y Ledger admitió que se habían robado unos 272.000 registros de clientes con nombre, dirección postal y teléfono, además de más de un millón de correos (Ledger, 13 de enero de 2021). La carta falsa de 2021 mencionaba ese volcado (Bitdefender, junio de 2021). Los fondos no se tocaron, pero una lista de quién compra un aparato sirve para mandar paquetes trampa. Piensa con qué dirección y qué correo compras.

Fallos del aparato mismo

Tres casos muestran que el propio aparato es una superficie de ataque.

Extracción física. Kraken Security Labs (31 de enero de 2020) sacó la seed cifrada de Trezor One y Model T, cuyo chip es un microcontrolador general, mediante voltage glitching (alterar el voltaje en el instante justo para que el chip se salte una comprobación). Hicieron falta unos 15 minutos de acceso físico y un PIN que se rompe por fuerza bruta. El fallo está en el chip y no se corrige sin cambiar el hardware. La defensa que recomendó Kraken fue activar una passphrase BIP-39, porque no se guarda en el aparato. Sus límites se ven más abajo.

Un error de programación. El fallo de entropía de Coldcard (commit b18723dd, 1 de marzo de 2021) pasó más de cinco años sin que nadie lo viera, con el código publicado y compilación reproducible. Está contado en fallo de entropía de Coldcard.

Firmware que filtra la clave por las firmas. El ataque Dark Skippy (Lloyd Fournier, Nick Farrow y Robin Linus; aviso privado a unos 15 fabricantes el 8 de marzo de 2024) esconde la seed en los nonces, el número de un solo uso que lleva cada firma, y bastan dos firmas para recuperar una seed de 12 palabras. Exige que el firmware del aparato esté corrupto. Aquí el aislamiento no ayuda, porque la fuga viaja dentro de transacciones válidas. La passphrase tampoco: el firmware puede filtrar la seed ya combinada con ella, y los autores dicen que no da una protección sustancial. Las defensas que citan son los protocolos anti-exfil, verificar el firmware abierto contra las claves del fabricante, evitar que manipulen el aparato y la multifirma, siempre que no uses el mismo aparato para todas las claves.

En anti-exfil el ordenador aporta aleatoriedad al nonce y el aparato ya no puede elegirlo a su antojo para esconder datos (Blockstream, febrero de 2021). El protocolo está en secp256k1-zkp, una bifurcación de libsecp256k1, la biblioteca criptográfica de Bitcoin Core. Según la página de mitigaciones de Dark Skippy (2024), lo ofrecían Blockstream Jade y BitBox, de Shift Crypto.

Tiene límites que cambian el consejo. Para tenerlo, el aparato tiene que firmar conectado a una aplicación que lo pida; por QR o por microSD no hay anti-exfil. Y ni siquiera conectado basta. En Jade solo lo usan las aplicaciones que firman con su orden sign_tx, como Blockstream App (antes Green), que se apoya en la biblioteca gdk de Blockstream. Las que le pasan un PSBT no lo usan: así firma el modo QR y también, por cable, Sparrow, a través de su versión de HWI (documentación del protocolo de Jade y controladores de Jade en HWI y en Lark, consultados el 7 de octubre de 2026). BitBox lo aplica al firmar con cualquiera de sus bibliotecas cliente, según Dark Skippy. Y solo cubre las firmas ECDSA, no las firmas Schnorr de Taproot, las de las direcciones que empiezan por bc1p. En octubre de 2026 la versión para Schnorr seguía sin incorporarse a libsecp256k1: la propuesta está abierta desde 2022 (GitHub, consultado el 7 de octubre de 2026). Si firmas por QR o por microSD, con una aplicación que no lo usa o desde direcciones Taproot, no cuentes con esa protección. Pregunta a tu aplicación si lo usa. Los autores de Dark Skippy añaden que se ha adoptado poco, en parte porque obliga a más idas y vueltas entre ordenador y aparato, algo incómodo cuando se firma por QR o por microSD.

Elemento seguro, microcontrolador y código abierto

Aquí hay un conflicto de confianza real. Un microcontrolador general se ataca con más facilidad en físico (caso Kraken). Un elemento seguro resiste mejor, pero parte de su código suele ser cerrado. Según Ledger, su sistema se puede revisar solo en parte: el código de bajo nivel que habla con el elemento seguro está cubierto por un acuerdo de confidencialidad (NDA) con el fabricante del chip, STMicroelectronics, y no se publica. Otras partes del sistema, las apps y el SDK sí se pueden revisar (Ledger Academy, actualizada el 19 de noviembre de 2025). No todos los chips lo exigen: Trezor eligió para la Safe 3 el Optiga Trust M precisamente porque no pide NDA. Aun así, la elección de fondo sigue ahí: resistencia física con código que no siempre se puede revisar, o código revisable en un chip más débil.

Hay soluciones mixtas. Tres ejemplos, a fecha de octubre de 2026. En la Trezor Safe 3, el elemento seguro hace cumplir el PIN y libera un secreto que, junto con el PIN, cifra las claves guardadas en el chip general (trezor.io/learn). Blockstream Jade no lleva elemento seguro: usa un «blind oracle», un servidor de PIN, y para descifrar la seed hacen falta tres secretos, el PIN, uno guardado en el Jade y otro en el oráculo (help.blockstream.com). Puedes montar tu propio oráculo, y si el oráculo no responde puedes desbloquear el Jade con la propia seed, por ejemplo escaneando una SeedQR, que es la seed completa en forma de código QR y se guarda con el mismo cuidado que las palabras. Coldcard usa dos elementos seguros de fabricantes distintos y publica el código de su firmware, como se describe en Coldcard Q.

El código abierto, o al menos publicado, permite revisar qué hace el firmware. La compilación reproducible demuestra que el binario firmado sale de ese código: WalletScrutiny da su veredicto más alto cuando los binarios publicados se generan demostrablemente desde el código fuente (consultado el 6 de octubre de 2026). Reducen la confianza ciega, no la eliminan, como enseña el caso de Coldcard. Una passphrase larga y aleatoria protege contra la extracción física en cualquier arquitectura, porque no se guarda en el aparato. Si es corta o fácil de adivinar, quien saque la seed puede probar candidatas sin límite. No protege contra un firmware malicioso. Y si la olvidas, pierdes el acceso aunque tengas la seed: guárdala aparte y pruébala junto con ella (ver passphrase). La visión general del reparto de riesgos está en modelo de amenazas.

Verificar el firmware

En la mayoría de aparatos el firmware llega por la app del fabricante. Trezor, por ejemplo, lo instala y lo actualiza desde Trezor Suite (trezor.io, consultado el 7 de octubre de 2026). Así que lo primero que verificas es esa app: bájala solo del dominio oficial, porque por ella llegan las actualizaciones. Ledger lo recordaba en 2021, en una cita que recoge Bitdefender: su app solo se descarga desde la página oficial. En aparatos que se actualizan con un fichero, como Coldcard, bajas el fichero del dominio oficial y compruebas su hash y su firma PGP. Coldcard publica esas firmas en releases/signatures.txt y documenta cómo recompilar el firmware con Docker hasta obtener exactamente los mismos bytes (repositorio Coldcard/firmware, consultado el 7 de octubre de 2026). Un aparato legítimo comprueba además la firma del fabricante al instalar o al arrancar. Nunca actualices desde un enlace que te llegue por correo o por mensaje.

Un caso real enseña por qué importa. Kaspersky publicó el 10 de mayo de 2023 su análisis de una Trezor Model T falsa comprada en una web de anuncios clasificados. Las pegatinas holográficas de la caja y del aparato estaban intactas. Por dentro tenía otro microcontrolador (STM32F429 en vez de STM32F427), sin protección de lectura, y un bootloader, el programa de arranque que comprueba el firmware, modificado para saltarse las comprobaciones de firma. Sustituía la seed aleatoria por una de 20 preinstaladas y, si había passphrase, solo usaba su primer carácter, lo que dejaba 1.280 combinaciones. Se delató por una versión de bootloader que no existe, la 2.0.4.

Verificar direcciones

Para recibir, la billetera vigía te enseña una dirección y le pides al aparato que la muestre en su pantalla (en muchas apps, la opción de mostrar en el dispositivo). Las dos tienen que coincidir enteras. Si se hace largo, compara por lo menos el principio, el final y varios tramos del medio. Mirar solo los extremos no basta, porque un atacante puede buscar por fuerza bruta una dirección que coincida en ellos. En bech32 cada carácter lleva 5 bits: igualar cuatro caracteres tras el prefijo bc1q y los cuatro últimos son 40 bits, del orden de un billón de intentos (cálculo sobre BIP-173). Parece mucho y no lo es. VanitySearch, un buscador público de direcciones a medida, enseña en su documentación una tarjeta gráfica de gama baja, una GeForce GTX 1050 Ti, probando unos 236 millones de claves por segundo (ejemplo de enero de 2020). A ese ritmo, un billón de intentos es poco más de una hora. Cada carácter más que compares multiplica ese trabajo por 32. Trezor describe el engaño con direcciones «vanity» fabricadas para parecerse a la buena y pide revisar cada carácter antes de confirmar (trezor.io, consultado el 7 de octubre de 2026). En multifirma, el aparato solo puede confirmar que la dirección es tuya si tiene registrada la política de la billetera. De dónde sale cada dirección se cuenta en rutas de derivación.

Para enviar, manda la pantalla del aparato: destino, importe, comisión y que el cambio aparezca como cambio. Si algo no cuadra con lo que querías enviar, cancela.

Comprar sin trampas

Trezor y Kaspersky coinciden en la regla: compra solo al fabricante o a un distribuidor oficial. Nada de segunda mano ni de webs de anuncios. Un reseteo no arregla un hardware o un bootloader manipulados, y una caja precintada tampoco prueba nada: la Trezor falsa llegó con las pegatinas intactas. Al recibirlo, inicialízalo como aparato nuevo y deja que genere la seed delante de ti. Añadir entropía propia (generar entropía) protege de un generador de números defectuoso, como en el fallo de Coldcard, pero no de un aparato falso. Un firmware malicioso puede ignorar tus dados, y los autores de Dark Skippy lo dicen sin rodeos: tirar dados no protege de un aparato malicioso.

Hay señales de estafa que no admiten dudas. Ningún fabricante legítimo entrega una seed ya escrita en una tarjeta, ni un aparato «ya configurado». Tampoco te manda un aparato «de sustitución» que no has pedido, ni te pide que importes las palabras en una app. Si pasa, descarta el aparato.

Antes de meter fondos, prueba la copia. Apunta la huella (fingerprint), un código de 8 caracteres que identifica la seed y, si la usas, la passphrase, y la primera dirección de recepción, tal como salen en el aparato o en tu billetera vigía. Luego restaura la copia en una segunda hardware wallet vacía o, si solo tienes una, bórrala y restáurala mientras ninguna billetera de esa seed tenga fondos, tampoco las de passphrase. Si restauras en un Trezor Model One, elige la recuperación avanzada: en la estándar, las palabras se teclean en el ordenador (ver recuperar una billetera). Si usas passphrase, inclúyela. Comprueba que coinciden la huella y la primera dirección, y no teclees nunca las palabras en un ordenador o un móvil. Si ese segundo aparato no forma parte de tu plan, bórralo al terminar: con la seed dentro es otra copia completa. Después recibe una cantidad pequeña y gástala: así compruebas también que recibes y firmas bien.

Si tu aparato ya guarda fondos y nunca probaste la copia, pruébala ahora, pero no lo borres para probar: usa su comprobación de copia, si la tiene, o restaura en un segundo aparato. Si la prueba falla y no encuentras la errata, tampoco lo borres. Crea una billetera nueva en un segundo aparato, prueba su copia y mueve allí los fondos. Antes de borrar el primero, espera a que las transacciones estén confirmadas y comprueba que no queda saldo en ninguna de sus cuentas, tampoco en las que abres con passphrase. Si no tienes otro aparato, consigue uno y, mientras llega, no borres ni actualices el que tienes. El método completo está en estrategias de copia de la seed. La entrada errores de autocustodia recoge otros fallos habituales, y comparativa de wallets compara modelos concretos.

Qué significa esto para ti

Una hardware wallet es una buena herramienta contra el malware y contra un ordenador que miente, pero solo si lees la pantalla, si la compraste al fabricante y si la copia de la seed, y de la passphrase si la usas, está bien guardada y probada. Más allá de lo que el aparato impide, decide qué ataques son probables en tu caso: un robo en casa, un phishing, una coacción. Para saber si basta un aparato, o hace falta multifirma, passphrase o claves repartidas, parte de la amenaza que quieres cubrir y no de la marca.

Errores habituales

  • Creer que los bitcoin están dentro del aparato. Dentro está la clave. Si el aparato se pierde o se rompe, los fondos se recuperan con la seed, y con la passphrase si la usas.
  • Pensar que la hardware wallet protege del phishing. Si las palabras se teclean en una app falsa, el aparato no interviene.
  • Dar por buena una dirección solo porque aparece en la pantalla. La pantalla confirma lo que el aparato recibe, no si el destinatario te dio la dirección correcta.
  • Creer que elemento seguro significa inviolable, o que tener el código a la vista significa sin fallos. Coldcard tenía el código publicado y compilación reproducible, y el fallo de entropía pasó más de cinco años sin detectarse.
  • Creer que firmar sin conexión impide que el firmware filtre la clave. Dark Skippy la filtra dentro de las propias firmas.
  • Creer que tirar dados para la seed protege de un aparato falso. La entropía propia corrige un generador defectuoso, no un firmware malicioso que puede ignorarla.
  • Activar una passphrase y guardarla solo en la memoria. Si se olvida, los fondos se pierden aunque la seed esté intacta.
  • Probar la copia borrando el único aparato que guarda fondos, o tecleando las palabras en un ordenador. Lo mejor es probarla antes de meter fondos. Si ya los hay, usa la comprobación de copia del propio aparato o restaura en un segundo aparato, sin borrar el primero.
  • Comprar de segunda mano porque basta con resetear el aparato. Un reseteo no corrige un hardware ni un bootloader manipulados.
  • Aceptar una seed que viene escrita en la caja como «la de fábrica». Ningún fabricante legítimo la entrega así: es una estafa.
  • Verificar una dirección comparando solo los primeros y los últimos caracteres. Se pueden fabricar direcciones que coincidan en los extremos.
  • Fiarse de una caja precintada. La Trezor falsa que analizó Kaspersky llegó con las pegatinas holográficas intactas.

Conceptos relacionados

Fuentes primarias

  1. Sparrow Docs, «Setup an airgapped hardware wallet with QR codes» (consultado 2026-10-06)
  2. Coldcard, «Air-gap signing methods» (revisado 2026-06-05)
  3. Coldcard/firmware, README y releases/signatures.txt (GitHub, consultado 2026-10-07)
  4. Salvatore Ingala, «BIP-388: Wallet Policies for Descriptor Wallets» (número asignado 2023-12-26, consultado 2026-10-07)
  5. Kraken Security Labs, «Kraken Identifies Critical Flaw in Trezor Hardware Wallets» (2020)
  6. Trezor, «Secure Element in Trezor Safe 3» (consultado 2026-10-07)
  7. Ledger Academy, «Is Ledger Open Source?» (actualizada 2025-11-19, consultado 2026-10-07)
  8. Blockstream, «Why doesn't Jade have a secure element?» (consultado 2026-10-06)
  9. Blockstream, «How does Jade protect my recovery phrase with a blind oracle?» (consultado 2026-10-07)
  10. Fournier, Farrow y Linus, «Dark Skippy» (consultado 2026-10-06)
  11. Dark Skippy, «Mitigations» (2024, consultado 2026-10-07)
  12. Dark Skippy, «FAQ» (consultado 2026-10-07)
  13. Blockstream, documentación del protocolo de Jade (sign_tx y sign_psbt; consultado 2026-10-07)
  14. HWI, controlador de Jade (hwilib/devices/jade.py, consultado 2026-10-07)
  15. Lark (Sparrow), controlador de Jade (JadeDevice.java, consultado 2026-10-07)
  16. Blockstream gdk, «Green C/C++ SDK» (ga_auth_handlers.cpp, consultado 2026-10-07)
  17. secp256k1-zkp (BlockstreamResearch, consultado 2026-10-07)
  18. libsecp256k1, PR #1140 «Schnorr sign-to-contract and anti-exfil» (abierta desde 2022-09-11, consultado 2026-10-07)
  19. Blockstream, «Anti-Exfil: Stopping Key Exfiltration» (2021-02-09, consultado 2026-10-07)
  20. WalletScrutiny (actualizado 2026-10-05)
  21. Trezor, «Update Trezor firmware» (consultado 2026-10-07)
  22. Trezor, «What are address poisoning attacks and how to avoid them?» (consultado 2026-10-07)
  23. VanitySearch, README (ejemplo con GeForce GTX 1050 Ti, 2020-01-31; consultado 2026-10-07)
  24. BIP-173: Base32 address format for native v0-16 witness outputs
  25. Coldcard/firmware, licencia COPYING-CC (MIT con «Commons Clause», consultado 2026-10-07)
  26. Kaspersky, «Case study: fake hardware cryptowallet» (2023-05-10)
  27. Ledger, «Addressing the July 2020 e-commerce and marketing data breach» (2020-07-29)
  28. Bitdefender HotForSecurity, Ledger Nano X falsos por correo (2021-06-17, secundaria que cita a Ledger; consultado 2026-10-07)
  29. Jameson Lopp, «physical-bitcoin-attacks» (GitHub, consultado 2026-10-06)
  30. Ledger, «Update: Efforts to Protect Your Data and Prosecute The Scammers» (13-01-2021)
  31. Blockstream, README de green_android: la aplicación se llama hoy Blockstream App (consultado el 2026-10-07)