offline-key-generation
TARGET_LOCALE: es
title: "Generación de Claves Offline: Guía de Seguridad Air-Gapped" description: "Guía paso a paso para generar claves de criptomonedas y frases semilla en computadoras offline y air-gapped. Seguridad máxima para almacenamiento en frío a largo plazo." keywords: [generación de claves offline, air-gapped, almacenamiento en frío, seguridad, generación de frase semilla, seguridad de criptomonedas] sidebar_position: 6
Generación de Claves Offline: Guía de Seguridad Air-Gapped
Generar claves de criptomonedas en una computadora conectada a internet las expone a malware, keyloggers, captura de pantalla, secuestro del portapapeles y exfiltración remota. Para wallets de alto valor destinadas al almacenamiento en frío a largo plazo, el estándar de oro es la generación offline air-gapped: crear claves en un dispositivo que nunca haya estado ni vaya a estar conectado a ninguna red.
Esta guía ofrece un proceso completo paso a paso para la generación de claves offline, cubriendo selección de hardware, configuración del sistema operativo, generación de claves, verificación y limpieza segura.
Por Qué Importa la Generación Air-Gapped
El Modelo de Amenaza
Cuando generas una frase semilla o clave privada en una computadora de uso cotidiano, el material de clave existe en:
- RAM — Accesible para cualquier proceso que se ejecute en el sistema.
- Disco — El sistema de memoria virtual del sistema operativo puede volcarla al disco.
- Portapapeles — Si se copia y pega, es accesible para todas las aplicaciones.
- Red — Si la máquina está conectada, el malware puede exfiltrar claves al instante.
- Pantalla — Malware de captura de pantalla o espionaje visual.
- Teclado — Los keyloggers (software o hardware) registran toda entrada.
Una computadora air-gapped elimina por completo el vector de red. Combinada con una seguridad operativa adecuada, también reduce significativamente o elimina los demás vectores.
¿Quién Necesita Generación Air-Gapped?
- Cualquiera que almacene más de lo que puede permitirse perder.
- Almacenamiento "ultrafrío" a largo plazo (años o décadas).
- Custodia institucional y gestión de tesorería.
- Cualquiera que quiera el estándar de seguridad más alto posible.
Para wallets de uso diario con saldos pequeños, una hardware wallet brinda seguridad suficiente sin la complejidad de los procedimientos air-gapped.
Selección de Hardware
Opción 1: Laptop Dedicada (Recomendado)
Compra una laptop nueva o restaurada de fábrica que se use exclusivamente para generar claves y que nunca se conecte a internet:
- Retira o desactiva todo el hardware de red. Retira físicamente la tarjeta Wi-Fi y el módulo Bluetooth si es posible. Como mínimo, desactívalos en el firmware BIOS/UEFI.
- Desactiva la cámara y el micrófono. Retíralos o cúbrelos/desconéctalos físicamente.
- Usa una laptop sin módem celular.
- Opciones económicas: ThinkPad usada (X230, T440) — barata, con buen soporte en Linux, fácil de modificar físicamente.
Opción 2: Raspberry Pi
Una Raspberry Pi (Modelo 3B+ o 4) es una computadora de placa única de bajo costo sin Wi-Fi si usas la Pi Zero sin módulo inalámbrico, o si desactivas la red:
- Arranque desde tarjeta microSD.
- Sin almacenamiento persistente más allá de la tarjeta SD (que destruirás después).
- Sin hardware inalámbrico si usas el modelo correcto.
- Menor costo ($35–$75 con accesorios incluidos).
Opción 3: Live USB en Hardware Existente
Arranca un Linux live USB dedicado en una computadora existente con toda la red desactivada:
- El entorno live se ejecuta completamente en RAM.
- No se escriben datos en la unidad interna (si se configura correctamente).
- Tras apagar, la RAM se limpia.
- Riesgo: La computadora existente puede tener compromisos a nivel de hardware (rootkits de firmware, keyloggers de hardware) que persisten entre arranques del SO. Un dispositivo dedicado elimina este riesgo.
Configuración del Sistema Operativo
Tails OS (Recomendado)
Tails es una distribución Linux enfocada en privacidad, diseñada para no dejar rastro:
- Arranca desde USB y se ejecuta completamente en RAM.
- Todo el tráfico de red se enruta por Tor por defecto, pero para uso air-gapped no habilitarás ninguna red.
- Diseñado para uso amnésico: sin estado persistente salvo configuración explícita.
- Incluye herramientas comunes y puede ejecutar Python para scripts de generación de claves.
Pasos de configuración:
- Descarga la ISO de Tails en tu computadora habitual.
- Verifica la firma de la ISO usando la clave de firma de Tails.
- Escribe la ISO en una unidad USB usando Tails Installer, Etcher o
dd. - Arranca la computadora air-gapped desde la USB.
- En Tails Greeter, no configures ninguna conexión de red.
- Verifica que no haya interfaces de red activas:
ip link showdebe mostrar todas las interfaces en DOWN.
Ubuntu Live USB (Alternativa)
Si Tails no es adecuado:
- Descarga la ISO de Ubuntu y verifica su checksum.
- Escríbela en una USB.
- Arranca con la red desactivada en BIOS.
- En el instalador de Ubuntu, selecciona "Try Ubuntu" (no instalar).
- Verifica que no haya conectividad de red.
Verificar la Integridad del Air-Gap
Después de arrancar, verifica el air gap:
# Check that no network interfaces are UP
ip link show
# Verify no IP addresses assigned
ip addr show
# Attempt to reach the internet (should fail)
ping -c 1 8.8.8.8
# Check for Wi-Fi and Bluetooth
rfkill list all
Todas las interfaces de red deben estar en DOWN, no debe haber direcciones IP asignadas y el ping debe fallar. Si alguna prueba sugiere conectividad, detente y soluciona el problema antes de continuar.
Proceso de Generación de Claves
Método 1: Usar Herramientas de SafeSeed Offline
Las herramientas de SafeSeed son aplicaciones web del lado del cliente que pueden ejecutarse en un navegador sin conexión a internet.
El SafeSeed Seed Phrase Generator y Paper Wallet Creator pueden guardarse para uso offline. Antes de desconectarte, guarda la página web completa (Ctrl+S / Cmd+S), transfiérela a la computadora air-gapped por USB y ábrela en un navegador. Todas las operaciones criptográficas se ejecutan localmente en JavaScript, sin comunicación con servidores.
Pasos:
- En tu computadora habitual (online), navega a la herramienta de SafeSeed.
- Guarda la página web completa en una unidad USB.
- Verifica la integridad del archivo (compara checksums si están disponibles).
- Transfiere la unidad USB a la computadora air-gapped.
- Abre el archivo HTML guardado en el navegador.
- Genera tu frase semilla.
- Escríbela en papel (no la guardes digitalmente en la máquina air-gapped).
- Verifica la frase semilla reingresándola y confirmando que se generan las mismas direcciones.
Método 2: Usar la Herramienta BIP-39 de Ian Coleman
La herramienta BIP-39 de Ian Coleman es una página HTML independiente y de código abierto, ampliamente usada para generación de claves offline:
- Descarga la versión más reciente desde GitHub en tu computadora online.
- Verifica la firma PGP.
- Transfiérela a la computadora air-gapped por USB.
- Abre
bip39-standalone.htmlen un navegador. - Genera o ingresa un mnemónico.
- Selecciona la moneda y la ruta de derivación.
- Registra la frase semilla y las direcciones.
Método 3: Entropía Basada en Dados
Para máxima desconfianza de todos los RNG de software, genera entropía manualmente usando dados:
- Usa dados de calidad casino (dados de precisión con aristas afiladas, no dados redondeados de consumo).
- Lanza un solo dado 99 veces para 256 bits de entropía (cada tirada aporta ~2.585 bits; 99 tiradas aportan ~255.9 bits).
- Convierte las tiradas de dado en una cadena binaria.
- Usa la herramienta BIP-39 (offline) para convertir la entropía binaria en un mnemónico.
- O lanza el dado 50 veces para 128 bits de entropía (frase de 12 palabras).
Métodos de conversión con dados:
- Método base-6: Registra cada tirada (1-6), convierte la secuencia a binario.
- Método binario con moneda: Usa una moneda (cara=1, cruz=0) 256 veces.
- Dado-a-binario: Lanza un dado; si sale 1-3, registra 0; si sale 4-6, registra 1. Repite 256 veces.
El tercer método desperdicia más entropía pero es el más simple. Para un tratamiento detallado sobre la calidad de la entropía, consulta nuestra guía de Entropía y Aleatoriedad.
Método 4: Línea de Comandos (Python)
Para usuarios cómodos con la línea de comandos, un script mínimo de Python puede generar mnemónicos BIP-39:
import hashlib
import os
# BIP-39 word list must be loaded from a file
with open('english.txt', 'r') as f:
wordlist = [w.strip() for w in f.readlines()]
# Generate 256 bits of entropy
entropy = os.urandom(32) # Uses OS CSPRNG
# Compute checksum
h = hashlib.sha256(entropy).digest()
checksum_bits = bin(h[0])[2:].zfill(8) # First 8 bits for 256-bit entropy
# Convert entropy to binary string
entropy_bits = bin(int.from_bytes(entropy, 'big'))[2:].zfill(256)
all_bits = entropy_bits + checksum_bits
# Split into 11-bit groups and map to words
words = []
for i in range(0, len(all_bits), 11):
index = int(all_bits[i:i+11], 2)
words.append(wordlist[index])
print(' '.join(words))
Importante: Este es un ejemplo simplificado con fines educativos. Para uso en producción, usa una librería bien auditada como mnemonic de python-mnemonic.
Verificación
Después de generar una frase semilla, verifícala antes de confiarle fondos:
1. Verificación de Checksum
Ingresa nuevamente la frase semilla en la herramienta de generación. Si la herramienta la acepta sin error, el checksum es válido.
2. Verificación de Derivación de Direcciones
Deriva las primeras direcciones para la criptomoneda objetivo y la ruta de derivación. Registra esas direcciones. Más tarde, en un dispositivo separado (o después de reiniciar la máquina air-gapped), vuelve a ingresar la frase semilla y verifica que se generen las mismas direcciones.
3. Verificación Cruzada entre Herramientas
Si es posible, verifica la frase semilla en dos herramientas diferentes (por ejemplo, generador de SafeSeed y herramienta de Ian Coleman). Ambas deben producir direcciones idénticas a partir de la misma frase semilla, ruta de derivación y passphrase.
4. Prueba con Transacción Pequeña
Antes de almacenar valor significativo:
- Envía una pequeña cantidad de criptomoneda a la primera dirección de recepción.
- En un dispositivo separado, restaura la wallet desde la frase semilla.
- Verifica que los fondos sean visibles y que puedas firmar una transacción para devolverlos.
Esto confirma toda la cadena: generación de entropía, codificación mnemónica, derivación de semilla, derivación de claves y generación de direcciones.
Registro de la Frase Semilla
Papel
- Escribe con claridad usando bolígrafo de tinta permanente sobre papel libre de ácido.
- Numera cada palabra (1-24).
- No escribas sobre una superficie que pueda dejar impresión (no escribir sobre un bloc donde se marque en las hojas inferiores).
- Guarda en un contenedor ignífugo e impermeable.
Metal
- Estampa o graba en placas de acero inoxidable.
- Prueba con la abreviación de las primeras cuatro letras si el espacio es limitado.
- Verifica la legibilidad inmediatamente después del grabado.
- El metal sobrevive al fuego y a inundaciones, recomendado para almacenamiento a largo plazo.
Qué No Hacer
- No fotografíes la frase semilla.
- No la escribas en ningún archivo en la máquina air-gapped.
- No la imprimas (las impresoras tienen memoria y capacidad de red).
- No la guardes en la unidad USB.
Limpieza Segura
Después de generar y registrar tu frase semilla, elimina todos los rastros del dispositivo air-gapped:
1. Limpiar Portapapeles y Pantalla
- Cierra todas las aplicaciones.
- Limpia el portapapeles (Ctrl+C con algún texto irrelevante).
2. Apagado
- Apaga la computadora. El contenido de la RAM se degrada en segundos o minutos tras perder energía.
- Para mayor seguridad, deja la máquina apagada al menos 15 minutos (la DRAM retiene datos por periodos más cortos a temperatura ambiente, más largos en entornos fríos).
3. Medios de Almacenamiento
- Si usaste Tails live USB, no se escribió nada en disco. La USB puede reutilizarse.
- Si usaste una SD de Raspberry Pi con un SO no amnésico, borra de forma segura la SD (
dd if=/dev/urandom of=/dev/sdX bs=1M) o destrúyela físicamente. - Si guardaste algo accidentalmente en la unidad interna de la máquina air-gapped, bórrala de forma segura.
4. Unidad USB
- La unidad USB usada para transferir la herramienta de generación no debería contener material de claves generado si seguiste las instrucciones correctamente.
- Verifica que la USB contenga solo los archivos originales de la herramienta, nada más.
- Para máxima seguridad, borra la USB después de usarla.
Avanzado: Firmar Transacciones en Air-Gap
Una computadora air-gapped no solo sirve para generar claves, también para firmar transacciones de forma continua:
Flujo de Trabajo
- Máquina online (solo observación): Construye una transacción sin firmar.
- Transferencia: Mueve la transacción sin firmar a la máquina air-gapped por USB o código QR.
- Máquina air-gapped: Firma la transacción con la clave privada.
- Transferencia: Mueve la transacción firmada de vuelta a la máquina online.
- Máquina online: Transmite la transacción firmada a la red.
Transferencia por Código QR (Preferida)
Usar códigos QR elimina por completo las unidades USB, cerrando un posible vector de malware (los dispositivos USB pueden llevar payloads de autoejecución):
- Muestra la transacción sin firmar como código QR en la máquina online.
- Escanea el código QR con una cámara conectada a la máquina air-gapped.
- Firma la transacción.
- Muestra la transacción firmada como código QR en la máquina air-gapped.
- Escanea con la máquina online.
Wallets que soportan firma air-gapped basada en QR incluyen Coldcard, Keystone y Sparrow Wallet (con configuración de webcam).
PSBTs (Partially Signed Bitcoin Transactions)
El formato PSBT de Bitcoin (BIP-174) fue diseñado específicamente para flujos de trabajo air-gapped. Un PSBT contiene toda la información necesaria para firmar una transacción sin requerir que el dispositivo firmante tenga datos de blockchain.
Configuración Multi-Firma Air-Gapped
Para la máxima seguridad, combina la generación de claves air-gapped con multi-firma:
- Genera tres frases semilla separadas en tres sesiones air-gapped distintas (idealmente en dispositivos diferentes).
- Configura una wallet multi-firma 2-de-3.
- Guarda cada frase semilla en una ubicación física distinta.
- Las transacciones requieren firma en dos de los tres dispositivos air-gapped.
Esto brinda protección contra:
- Un solo dispositivo comprometido (solo una clave expuesta).
- Una sola frase semilla perdida (las dos claves restantes aún pueden firmar).
- Una sola ubicación de almacenamiento comprometida.
Errores Comunes
Error 1: Usar una Computadora "Limpia" Pero Conectada Anteriormente
Borrar y reinstalar el SO en una computadora que antes estuvo conectada a internet no es suficiente. El malware a nivel de firmware (rootkits UEFI) puede sobrevivir la reinstalación del SO. Un dispositivo dedicado que nunca se conectó elimina este riesgo.
Error 2: Conectar la Máquina Air-Gapped "Solo un Momento"
Cualquier conexión de red, aunque sea breve, rompe el air gap. El malware puede exfiltrar una clave privada en milisegundos. Una vez conectada, la máquina ya no puede considerarse air-gapped.
Error 3: Usar una Impresora
Las impresoras suelen tener su propio almacenamiento (para cola de impresión) y muchas impresoras modernas tienen Wi-Fi o Bluetooth. Imprimir una frase semilla puede almacenarla en la memoria de la impresora y potencialmente transmitirla. Escribe a mano en su lugar.
Error 4: Transferir la Frase Semilla Digitalmente
La frase semilla nunca debería existir en formato digital fuera del breve momento en que se muestra en la pantalla air-gapped. No la copies a una unidad USB, no la guardes en un archivo ni la codifiques en un QR para transferirla. Escríbela en papel o grábala en metal directamente.
Error 5: No Verificar la Herramienta de Generación
La herramienta que transfieres a la máquina air-gapped debe verificarse antes de usarla. Revisa hashes de archivos, firmas PGP o al menos compara tamaños de archivo. Una herramienta manipulada podría generar claves deterministas que el atacante ya conoce.
FAQ
¿Por qué no usar simplemente una hardware wallet?
Las hardware wallets son excelentes y suficientes para la mayoría de usuarios. La generación air-gapped aporta un margen extra de seguridad para almacenamiento de muy alto valor porque elimina la confianza en el generador de números aleatorios y el firmware de la hardware wallet. El enfoque air-gapped también permite verificación con múltiples herramientas independientes, mientras que una hardware wallet es un punto único de confianza.
¿Cuánto tarda todo el proceso air-gapped?
Para una primera configuración, espera entre 2 y 4 horas incluyendo preparación del SO, verificación, generación de claves y limpieza. Las generaciones posteriores en un dispositivo ya preparado toman entre 30 y 60 minutos.
¿Puedo usar un smartphone como dispositivo air-gapped?
Los smartphones son difíciles de aislar por completo porque tienen múltiples radios (celular, Wi-Fi, Bluetooth, NFC) que no siempre pueden desactivarse físicamente. Una laptop con el hardware de red retirado es más confiable. Algunos dispositivos diseñados para este propósito (como Keystone wallet) están pensados como dispositivos de firma air-gapped.
¿Es necesaria la generación air-gapped para cada wallet?
No. Para wallets de gasto diario con montos pequeños, una hardware wallet de buena reputación o incluso una software wallet bien asegurada es suficiente. La generación air-gapped se recomienda para almacenamiento en frío a largo plazo de valor significativo.
¿Cómo actualizo el software en una máquina air-gapped?
No lo haces. La máquina air-gapped debe ejecutar el mismo software indefinidamente. Si necesitas una versión más nueva de una herramienta de generación, descárgala y verifícala en una máquina online, transfiérela por USB y verifica el checksum en la máquina air-gapped antes de usarla.
¿Qué pasa si el generador de números aleatorios de la máquina air-gapped está roto?
Por eso existe la entropía con dados como alternativa. Si desconfías de todos los RNG de hardware y software, genera entropía manualmente con dados e introdúcela en la herramienta BIP-39. La seguridad de la frase semilla resultante dependerá solo de la calidad de tus tiradas de dados, no de ningún componente electrónico.
¿Puede el malware saltar el air gap?
En teoría, atacantes estatales sofisticados han demostrado técnicas para saltar el air gap usando emisiones electromagnéticas, señales acústicas o patrones de parpadeo LED. En la práctica, estos ataques requieren proximidad física, equipo especializado y están muy por encima de la capacidad de los ladrones de criptomonedas comunes. Para la gran mayoría de usuarios, un air gap bien mantenido es prácticamente impenetrable.