Saltar al contenido principal

Frase de Contraseña BIP-39 (Palabra 25): Seguridad Avanzada de Wallet

La frase de contraseña BIP-39, comúnmente llamada la "palabra 25", es una de las funciones de seguridad más potentes y a la vez más mal entendidas disponibles en wallets de criptomonedas. Añade una cadena elegida por el usuario al proceso de derivación de la semilla, haciendo que la misma frase mnemónica produzca un conjunto completamente distinto de claves y direcciones. Usada correctamente, proporciona defensa en profundidad frente al compromiso de la frase semilla. Usada con descuido, puede provocar la pérdida permanente de fondos.

Esta guía cubre exactamente cómo funciona la frase de contraseña, cuándo usarla, los riesgos que introduce y cómo implementarla de forma segura.

Cómo funciona la frase de contraseña

Mecanismo técnico

Como se describe en el estándar BIP-39, el proceso de derivación de la semilla usa PBKDF2-HMAC-SHA512:

Seed = PBKDF2(
password = mnemonic_words,
salt = "mnemonic" + passphrase,
iterations = 2048,
key_length = 512 bits
)

Cuando no se establece una frase de contraseña, la sal es simplemente la cadena "mnemonic". Cuando se proporciona una frase de contraseña, se concatena a la sal: "mnemonic" + "YourPassphrase". Como la sal es diferente, la salida de PBKDF2 es completamente distinta, produciendo una clave maestra completamente diferente y, por lo tanto, rutas de derivación, claves privadas, claves públicas y direcciones completamente diferentes.

Propiedades clave

Toda frase de contraseña es válida. No existe un checksum ni un mecanismo de validación para la frase de contraseña. Cualquier cadena, incluyendo una cadena vacía, un solo carácter o una oración de 500 caracteres, produce una wallet válida. Introducir una frase de contraseña incorrecta no produce un mensaje de error; abre silenciosamente una wallet diferente (normalmente vacía).

Misma mnemónica, wallets diferentes. Una mnemónica de 24 palabras con la frase de contraseña "alpha" produce una wallet completamente diferente que la misma mnemónica con la frase de contraseña "bravo". No hay relación criptográfica entre ambas wallets que un atacante pueda detectar.

Importan mayúsculas, minúsculas y codificación. "MyPassphrase" y "mypassphrase" producen wallets diferentes. Una frase de contraseña con espacios en blanco al final es distinta de una sin ellos. La frase de contraseña se normaliza usando UTF-8 NFKD antes del hashing, pero fuera de eso, se requiere coincidencia exacta de caracteres.

Por qué usar una frase de contraseña

Protección contra el robo de la frase semilla

Si un atacante roba tu frase semilla de 24 palabras (de una copia en papel, placa metálica o dispositivo comprometido), puede acceder a todos los fondos de la wallet, a menos que se haya configurado una frase de contraseña. Sin la frase de contraseña, solo verá la wallet "base" (la derivada con frase de contraseña vacía). Tus fondos reales, almacenados en la wallet protegida por frase de contraseña, permanecen inaccesibles.

Esto transforma tu seguridad de un solo factor (algo que tienes: la frase semilla) a dos factores (algo que tienes: la frase semilla, más algo que sabes: la frase de contraseña).

Negación plausible

Como cada frase de contraseña produce una wallet válida, puedes mantener múltiples wallets a partir de la misma frase semilla:

  • Sin frase de contraseña — Una wallet señuelo con una pequeña cantidad de fondos.
  • Frase de contraseña "alpha" — Tu wallet principal con fondos significativos.
  • Frase de contraseña "bravo" — Una wallet secundaria para protección adicional.

Si te coaccionan para revelar tu frase semilla (el "$5 wrench attack"), puedes proporcionar la frase semilla sin la frase de contraseña. El atacante ve una wallet real con algunos fondos, no tiene forma de saber si existen wallets adicionales protegidas por frase de contraseña y podría quedar satisfecho con lo que encuentra.

Esto suele llamarse estrategia de "wallet bajo coacción" o "wallet oculta".

Protección contra hardware comprometido

Si una hardware wallet tiene una vulnerabilidad en la cadena de suministro (por ejemplo, una puerta trasera en el generador de números aleatorios), el atacante podría conocer la frase semilla generada por el dispositivo. Una frase de contraseña elegida por el usuario que nunca se introdujo ni se generó en la hardware wallet añade entropía que el atacante no tiene.

Cómo configurar una frase de contraseña

Hardware Wallets

La mayoría de las hardware wallets principales admiten la frase de contraseña BIP-39:

Ledger:

  1. En Ledger Live, ve a Settings.
  2. Activa "Passphrase" en Advanced settings.
  3. Hay dos modos: "Attached to PIN" (guarda un hash en el dispositivo por conveniencia) y "Temporary" (debe introducirse cada vez).
  4. Elige tu frase de contraseña y confírmala.

Trezor:

  1. En Trezor Suite, activa la función de frase de contraseña.
  2. Cada vez que te conectes, Trezor pedirá la frase de contraseña.
  3. Puedes introducir cualquier frase de contraseña; no se guarda confirmación.

Coldcard:

  1. Navega a Passphrase en el menú.
  2. Introduce tu frase de contraseña en el dispositivo.
  3. Coldcard muestra la primera dirección derivada; verifica que coincida con lo esperado.

Software Wallets

Las software wallets que admiten frases de contraseña BIP-39 normalmente muestran la opción durante la configuración inicial o la importación de semilla. Busca "Advanced options", "Optional passphrase" o "25th word" en el flujo de configuración.

Elegir una frase de contraseña robusta

La frase de contraseña debe tener suficiente entropía para resistir ataques de fuerza bruta si la frase semilla se ve comprometida:

Tipo de frase de contraseñaEntropía aproximadaTiempo para fuerza bruta (ASIC)
Palabra común en inglés~10 bitsSegundos
Frase aleatoria de 4 palabras~50 bitsAños
Frase aleatoria de 6 palabras~75 bitsMillones de años
20+ caracteres aleatorios~120+ bitsMuerte térmica del universo

Recomendaciones:

  • Usa al menos 4-6 palabras elegidas aleatoriamente o 16+ caracteres aleatorios.
  • No uses información personal (nombres, fechas de cumpleaños, frases comunes).
  • No uses una sola palabra de diccionario.
  • Considera usar un generador de frases de contraseña (como diceware) en lugar de inventarla tú mismo.

Estrategias de backup de la frase de contraseña

La frase de contraseña ahora forma parte de tu secreto de recuperación. Si pierdes la frase semilla o la frase de contraseña, pierdes acceso a tus fondos. Esto crea un reto de backup: necesitas almacenar ambas, pero guardarlas juntas anula el propósito.

Estrategia 1: Ubicaciones de almacenamiento separadas

  • Guarda la frase semilla en la Ubicación A (por ejemplo, una caja fuerte ignífuga en casa).
  • Guarda la frase de contraseña en la Ubicación B (por ejemplo, una caja de seguridad en un banco).
  • Un atacante necesita comprometer ambas ubicaciones.

Estrategia 2: Memorización + backup físico

  • Memoriza la frase de contraseña.
  • Mantén un backup cifrado de la frase de contraseña en una ubicación separada de la frase semilla.
  • Si quedas incapacitado, el backup cifrado garantiza que tus herederos puedan recuperar los fondos.

Estrategia 3: Shamir's Secret Sharing para la frase de contraseña

  • Divide la frase de contraseña en partes usando Shamir's Secret Sharing.
  • Distribuye las partes entre múltiples partes de confianza.
  • Se requieren partes M-de-N para reconstruirla.

Lo que NO debes hacer

  • No guardes la frase de contraseña junto a la frase semilla. Esto elimina por completo el beneficio de seguridad.
  • No dependas solo de la memorización. La memoria falla, especialmente durante años o décadas.
  • No uses una frase de contraseña que no puedas reproducir de forma fiable. Recuerda que importan mayúsculas, espacios en blanco y caracteres exactos.
  • No guardes la frase de contraseña en un gestor de contraseñas que también contiene la frase semilla.

Riesgos y errores comunes

Riesgo 1: Pérdida permanente de fondos por olvidar la frase de contraseña

Este es el mayor riesgo de usar una frase de contraseña. A diferencia de una frase semilla con checksum, no existe mecanismo para verificar si una frase de contraseña es "correcta". Si la olvidas, la recuerdas mal aunque sea por un carácter o introduces un carácter oculto (espacio final, normalización Unicode incorrecta), abrirás una wallet diferente y vacía, y tus fondos quedarán permanentemente inaccesibles.

Mitigación: Prueba tu frase de contraseña exhaustivamente antes de enviar fondos. Configura la wallet, verifica la primera dirección de recepción, envía una pequeña cantidad, restaura con frase semilla + frase de contraseña en otro dispositivo y confirma que puedes acceder a los fondos.

Riesgo 2: Keylogging durante la introducción de la frase de contraseña

La frase de contraseña debe introducirse en la wallet en algún momento. En una software wallet, esto significa escribirla en una computadora, donde keyloggers o grabadores de pantalla podrían capturarla. En una hardware wallet con entrada en el propio dispositivo (Coldcard, Trezor), la frase de contraseña se introduce en la pantalla del dispositivo, lo cual es significativamente más seguro.

Mitigación: Introduce la frase de contraseña solo en una hardware wallet con entrada en el dispositivo o en una computadora air-gapped.

Riesgo 3: Complicaciones de herencia

Usar una frase de contraseña añade complejidad a la planificación de herencia. Tus herederos necesitan:

  1. La frase semilla.
  2. La frase de contraseña.
  3. Saber que existe una frase de contraseña y que es necesaria.
  4. Instrucciones sobre cómo usarla.

Si falta cualquiera de estos elementos, la herencia falla. Consulta nuestra guía de frase semilla para estrategias de herencia que contemplan frases de contraseña.

Riesgo 4: Falsa sensación de seguridad

Una frase de contraseña débil (una sola palabra común, una fecha de cumpleaños, el nombre de una mascota) puede romperse por fuerza bruta si el atacante tiene la frase semilla. Un atacante con la frase semilla y un clúster de GPU puede probar miles de millones de candidatos de frase de contraseña contra la función PBKDF2 conocida. Usa una frase de contraseña robusta y generada aleatoriamente.

Riesgo 5: Errores tipográficos durante la configuración

Si configuras una wallet con una frase de contraseña que tiene un error tipográfico no detectado, la wallet funcionará con normalidad: recibirás fondos y harás transacciones con éxito. Pero la próxima vez que restaures desde la frase semilla e introduzcas la frase de contraseña sin ese error (o con otro distinto), obtendrás una wallet diferente. Tus fondos quedarán atrapados detrás del error tipográfico.

Mitigación: Tras la configuración, restaura inmediatamente la wallet en otro dispositivo usando frase semilla + frase de contraseña para verificar que aparezcan exactamente las mismas direcciones.

El malentendido de la "palabra 25"

El término "palabra 25" es una simplificación que puede inducir a error:

  • La frase de contraseña no está limitada a palabras de la lista BIP-39. Puede ser cualquier cadena UTF-8.
  • La frase de contraseña no se codifica como una palabra mnemónica adicional: se usa como parte de la sal de PBKDF2.
  • La frase de contraseña no tiene checksum, a diferencia de la palabra 24 de la mnemónica que sí incluye bits de checksum.
  • Una mnemónica de 12 palabras también puede tener frase de contraseña; según esta lógica sería la "palabra 13", pero el término "palabra 25" se usa de forma genérica.

El término técnicamente correcto es "frase de contraseña BIP-39" o "frase de contraseña mnemónica".

Herramienta de SafeSeed

Usa la SafeSeed Key Derivation Tool para ver cómo diferentes frases de contraseña generan direcciones completamente distintas a partir de la misma frase semilla. Introduce una mnemónica de prueba con y sin frase de contraseña para observar el efecto. Todo el cálculo se ejecuta en tu navegador; no se transmite ningún dato.

Frase de contraseña vs. PIN de wallet vs. contraseña

Estos tres conceptos suelen confundirse:

FunciónFrase de contraseña BIP-39PIN de walletContraseña de wallet
Qué protegeDerivación de semillaAcceso al dispositivoAcceso a la aplicación
Dónde se guardaEn ningún lugar (la memorizas)En el dispositivoEn dispositivo/servidor
Se puede cambiarNo (crea una nueva wallet)
Si se olvidaFondos inaccesiblesReinicio de dispositivo, restaurar desde semillaRestablecimiento de contraseña
Objetivo de fuerza brutaPBKDF2 con semillaBloqueo de dispositivoDepende de la implementación
AlcanceTodas las wallets de la semillaUn solo dispositivoUna sola aplicación

La frase de contraseña es fundamentalmente diferente porque cambia las claves derivadas. Un PIN o una contraseña solo restringen el acceso a claves que ya existen en un dispositivo.

Casos de uso avanzados

Múltiples wallets ocultas

Los usuarios avanzados pueden mantener varias wallets a partir de una sola frase semilla:

  • Frase de contraseña vacía: Monto pequeño (señuelo)
  • Frase de contraseña A: Ahorros principales
  • Frase de contraseña B: Asignación para trading
  • Frase de contraseña C: Reserva de emergencia

Cada wallet es completamente independiente. No existe vínculo on-chain entre ellas. El riesgo escala con la cantidad de frases de contraseña que debes recordar y respaldar.

Combinación con multifirma

Para almacenamiento institucional o de muy alto valor, combina una frase de contraseña BIP-39 con multifirma:

  • La clave de cada firmante se deriva de una frase semilla + frase de contraseña única.
  • Un atacante necesita obtener múltiples frases semilla Y sus frases de contraseña correspondientes.
  • Esto proporciona múltiples capas independientes de seguridad.

Preguntas frecuentes

¿Qué es la frase de contraseña BIP-39 o "palabra 25"?

La frase de contraseña BIP-39 es una cadena opcional elegida por el usuario que se añade al proceso de derivación de semilla (sal de PBKDF2). Cuando se usa, hace que la misma frase semilla mnemónica genere un conjunto completamente distinto de claves y direcciones. Se llama comúnmente "palabra 25", aunque puede ser cualquier cadena de texto, no solo una palabra BIP-39.

¿Puedo cambiar mi frase de contraseña?

No en la forma en que se cambia una contraseña. Como la frase de contraseña determina qué claves se derivan, cambiarla significa abrir una wallet diferente con direcciones diferentes. Para "cambiar" tu frase de contraseña, debes crear una nueva wallet con la nueva frase de contraseña y transferir todos los fondos de la wallet antigua a la nueva.

¿Qué pasa si olvido mi frase de contraseña?

Tus fondos quedan permanentemente inaccesibles. No existe mecanismo de recuperación, opción de restablecimiento ni forma de romper por fuerza bruta una frase de contraseña robusta. Por eso es esencial hacer un backup adecuado de la frase de contraseña.

¿La frase de contraseña se guarda en mi hardware wallet?

Algunas hardware wallets ofrecen una opción para asociar una frase de contraseña con un PIN secundario (por ejemplo, el modo "Attached to PIN" de Ledger). En este caso, se guarda una pista o hash en el dispositivo por conveniencia. Sin embargo, el método canónico es el modo "temporary", donde la frase de contraseña debe introducirse cada vez y no se guarda nada en el dispositivo.

¿Todas las wallets soportan la frase de contraseña BIP-39?

La mayoría de las wallets compatibles con BIP-39 soportan la función de frase de contraseña, pero algunas no la exponen en su interfaz de usuario. Consulta la documentación de tu wallet. Las principales hardware wallets (Ledger, Trezor, Coldcard) sí la soportan.

¿Puede un atacante saber si uso una frase de contraseña?

No. Como el valor por defecto (frase de contraseña vacía) también produce una wallet válida, no hay forma de determinar solo con la frase semilla si existen wallets adicionales protegidas por frase de contraseña. Incluso si un atacante obtiene tu frase semilla y encuentra fondos en la wallet base, no puede saber si existen wallets protegidas por frase de contraseña.

¿La frase de contraseña distingue mayúsculas y minúsculas?

Sí. "MyPassphrase", "mypassphrase" y "MYPASSPHRASE" producen wallets diferentes. Los espacios en blanco también importan: "my pass" y "mypass" son diferentes. Sé extremadamente preciso al registrar tu frase de contraseña.

¿Puedo usar la frase de contraseña con una frase semilla de 12 palabras?

Sí. La función de frase de contraseña funciona con cualquier longitud de mnemónica BIP-39 (12, 15, 18, 21 o 24 palabras). El proceso PBKDF2 es el mismo independientemente de la longitud de la mnemónica.

Guías relacionadas