Todas las entradas

11 min de lectura

Cómo guarda CardanoWall tu identidad

CardanoWall guarda tu identidad como texto cifrado en una bóveda, nunca como semillas en texto plano. Esto es exactamente lo que conserva el servidor, lo que solo tu passkey puede abrir y por qué tu semilla es la copia de seguridad de verdad.

CardanoWall nunca guarda tu semilla de identidad en texto plano. El servidor conserva una bóveda cifrada que solo tus propios passkeys pueden abrir, además de los datos públicos y no secretos que hacen falta para gestionar tu cuenta. La semilla en sí —lo que es tu identidad— se queda de tu lado.

El modelo mental cabe en una línea: tu semilla de identidad es la identidad portátil y la copia de seguridad de verdad; la bóveda alojada es una capa de comodidad que se desbloquea con un passkey, no custodia.

Este artículo recorre lo que CardanoWall guarda, lo que deliberadamente no puede leer y lo que eso significa cuando algo sale mal.

¿Qué es una semilla de identidad y por qué importa?

Una identidad de CardanoWall se construye a partir de una única semilla de identidad de 32 bytes. De esa semilla, una derivación determinista de claves produce las claves que realmente usas: una clave Ed25519 que firma registros y claves basadas en X25519 que reciben archivos sellados. Los mismos 32 bytes siempre reconstruyen la misma identidad, en cualquier lugar: la web, la herramienta de línea de comandos, los SDK o cualquier otro software que siga las reglas de derivación del estándar abierto Label 309.

Esa es la propiedad importante: la semilla es portátil y lo determina todo. Las claves derivan de ella. Así que la única pregunta que importa para el almacenamiento es dónde vive la semilla.

La respuesta es: contigo. CardanoWall puede conservar una copia cifrada por comodidad, pero guarda texto cifrado, no semillas legibles.

¿Qué guarda CardanoWall en realidad?

CardanoWall guarda los datos de servicio que hacen falta para gestionar tu cuenta. Eso incluye:

  • el estado de sesión de tu cuenta;
  • los registros de facturación y de saldo;
  • tus claves de identidad públicas;
  • los registros de pruebas públicos y las referencias de transacción de Cardano;
  • el texto cifrado de la bóveda de identidad;
  • las claves de API, conservadas solo como hashes;
  • ajustes de producto, como el estado del ciclo de vida de cada identidad;
  • las entradas de tu agenda de contactos y tus preferencias de Inbox.

Fíjate en lo que no está en esa lista. Tu semilla de identidad, tu clave privada de firma derivada, tus claves privadas de recepción derivadas y cualquier archivo sellado descifrado son secretos del lado del cliente. Nunca se guardan en una columna legible del servidor. La bóveda cifrada es el único sitio donde el servidor conserva algo relacionado con la semilla, y lo conserva como texto cifrado que no puede abrir.

Para ver el panorama completo de lo que es visible para el servicio frente a lo que se queda en tu dispositivo, consulta qué puede ver CardanoWall.

¿Qué es la bóveda de identidad?

La bóveda de identidad es un único paquete cifrado que contiene los secretos de las identidades de tu cuenta.

Dentro del texto plano de la bóveda, cada entrada contiene la semilla de 32 bytes de una identidad y la etiqueta privada que elegiste para mostrarla: «Personal», «Equipo de prensa», lo que hayas escrito. (Una cuenta puede contener varias identidades; cada una recibe su propia entrada.) La etiqueta vive dentro del cifrado también, así que nunca queda expuesta en el servidor.

Antes de guardar nada de esto, se cifra. CardanoWall conserva el resultado como una fila de bóveda vigente por cuenta, en el formato age v1. El servidor puede conservar ese texto cifrado y devolvértelo, pero no posee el material de claves necesario para abrirlo.

Ese es justo el punto: la bóveda no es custodia. Es una caché cifrada de comodidad. El artefacto canónico y portátil sigue siendo la semilla.

¿Qué desbloquea la bóveda?

Tu passkey registrado la desbloquea, y nada más puede hacerlo.

La bóveda se cifra exclusivamente a factores passkey de WebAuthn que admiten la extensión PRF (función pseudoaleatoria), con una stanza de destinatario por cada passkey. Deliberadamente no hay ninguna stanza derivada de contraseña ni ninguna stanza de clave pública en la bóveda alojada. Durante un desbloqueo, tu autenticador realiza la verificación de usuario y entrega al navegador el material de claves derivado por PRF; ese material abre la bóveda localmente.

El servidor de CardanoWall nunca recibe la semilla en texto plano, la bóveda descifrada ni ninguna clave privada derivada de la semilla. Desde el lado del servidor, todo lo que sabe es que una cuenta está autenticada y que puede devolver un bloque de texto cifrado. Tu navegador, impulsado por la ceremonia de tu passkey, es lo que lo abre.

Para saber cómo proporcionan los passkeys este cierre y los compromisos de recuperación de los distintos tipos de passkey, consulta cómo protegen los passkeys tu bóveda de identidad.

¿Por qué no guardar simplemente la semilla en el servidor?

Porque eso convertiría a CardanoWall en custodio de tu identidad, y la custodia es exactamente el modo de fallo que el diseño evita.

Si un servicio guardara semillas en texto plano, o semillas que pudiera descifrar por sí mismo, entonces una brecha en el servidor podría convertirse en una brecha de las claves de los usuarios. Un atacante que robara la base de datos o las claves del servidor podría firmar haciéndose pasar por los usuarios o descifrar sus registros sellados. Eso es un único punto de fallo catastrófico.

CardanoWall se construye en torno a una promesa distinta: una fuga de la base de datos no debería revelar semillas de identidad, porque el servidor nunca posee el material que las abre. El diseño busca que una hipotética brecha sea grave pero no catastrófica para tus claves.

La opción de cifrar solo a passkeys tiene dos consecuencias concretas que vale la pena nombrar. Como no hay ninguna stanza derivada de contraseña, una bóveda robada no ofrece nada contra lo que aplicar fuerza bruta: no hay ninguna frase de paso elegida por una persona que machacar. Y como no hay ninguna stanza de clave pública, no existe ningún objetivo asimétrico al que pueda apuntar un futuro ataque cuántico (de tipo Shor); las claves que protegen la bóveda son valores simétricos de 256 bits que residen dentro de tus autenticadores, donde la amenaza cuántica relevante es la búsqueda de tipo Grover, lo que deja un margen de seguridad efectivo de unos 128 bits.

Esto no hace que desaparezca todo riesgo. Significa que el secreto más importante no está sentado en una columna legible del servidor esperando a que lo copien.

¿Es la bóveda una copia de seguridad?

No la copia de seguridad de último recurso. La copia de seguridad portátil de verdad es la semilla de identidad.

Si tienes la semilla, puedes reconstruir la misma identidad en CardanoWall, en la herramienta de línea de comandos, en los SDK, en la aplicación de escritorio o en cualquier software de Label 309 futuro que siga las mismas reglas de derivación. La semilla es lo único que viaja a todas partes.

La bóveda alojada te ayuda a no tener que reescribir la semilla cada día. También puede ayudarte a pasar a otro dispositivo con sesión iniciada cuando tu proveedor de passkeys sincroniza el passkey entre tus dispositivos. Pero la bóveda pertenece a la capa de servicio. Se puede borrar, puede quedar no disponible o puede eliminarse cuando quitas tu último passkey. La semilla es lo que hay que guardar. Por qué la semilla de identidad sigue importando profundiza en esto.

¿Qué pasa en el navegador cuando desbloqueas?

Cuando desbloqueas una identidad, el navegador necesita acceso temporal al material de claves privadas. Es inevitable: para firmar un registro, el cliente debe tener la clave de firma; para descifrar un archivo sellado, debe tener la clave de recepción. Esas claves se derivan de la semilla en el navegador, después de que desbloquees.

El diseño mantiene los secretos fuera del almacenamiento persistente habitual del navegador. La caché local del navegador (IndexedDB) puede contener el texto cifrado de la bóveda —los mismos bytes que tiene el servidor—, de modo que recargar la página solo necesita un toque de passkey en lugar de una ida y vuelta por la red. Nunca guarda en caché la semilla en texto plano. Las claves privadas activas viven en la memoria de la sesión, fuera del estado de la interfaz de la aplicación, y se ponen a cero al bloquear o cerrar sesión en la medida de lo posible.

Este es un modelo de criptografía en el navegador, no un aislamiento por hardware, y es honesto sobre sus límites. Una extensión de navegador maliciosa, un dispositivo comprometido o un script malicioso activo que se ejecute durante una sesión desbloqueada pueden leer lo que hay en memoria mientras estás desbloqueado. Una política estricta de seguridad de contenido, scripts mínimos y el desbloqueo solo mediante una acción explícita reducen esa superficie, pero no pueden eliminarla. CardanoWall elimina el riesgo de custodia del servidor; no puede hacer que un dispositivo en el que no se confía sea seguro. La mecánica se trata en el almacenamiento del navegador y las claves de sesión, y el principio más amplio en por qué las claves nunca salen del dispositivo.

¿Qué pasa cuando quitas un passkey?

La bóveda se reconstruye sin ese factor.

Cuando quitas un passkey, la bóveda vigente se vuelve a cifrar a los factores restantes y se escribe como una nueva fila única, que reemplaza el texto cifrado anterior en su sitio. El passkey eliminado ya no puede abrir la bóveda que existe. El servicio incluso lo impone en la frontera de almacenamiento: nunca puede escribirse una bóveda cifrada a una credencial que la cuenta ya haya eliminado.

Esto es una revocación real de la bóveda alojada vigente. Es un control de la capa de servicio, no un viaje en el tiempo. Si se abusó de un passkey mientras todavía era válido —por ejemplo, usándolo para abrir la bóveda y leer la semilla dentro de una sesión activa—, entonces el atacante puede tener ya la semilla, y volver a cifrar la bóveda después no recupera eso. En ese caso, la respuesta correcta no es un restablecimiento, sino empezar de cero: crea una identidad nueva, desactiva la antigua y publica las nuevas claves públicas donde la gente espera encontrarlas.

Qué pasa si quitas un passkey recorre la secuencia exacta.

¿Qué pasa si CardanoWall desaparece?

Tus pruebas publicadas siguen verificándose.

Una prueba de Label 309 está diseñada para ser verificable de forma autónoma. Verificar una depende de datos públicos de Cardano, del almacenamiento público direccionado por contenido cuando el registro apunta a él y de la propia copia que tenga el verificador del contenido original o del material de descifrado. Una prueba válida no requiere que CardanoWall siga en línea: cualquiera con la referencia de transacción y un explorador público de Cardano puede comprobarla.

Tu identidad también sobrevive si guardaste la semilla. Los mismos 32 bytes reconstruyen la misma identidad en cualquier herramienta conforme.

Lo que pierdes sin la semilla es el uso futuro de esa identidad: producir nuevas firmas y descifrar registros sellados dirigidos a ella. Las pruebas que ya publicaste siguen siendo verificables para siempre, pero ya no puedes actuar como esa identidad. Esta asimetría —las pruebas publicadas son permanentes, el uso futuro depende de tener la semilla— es el precio deliberado de no tener custodio.

¿Qué deberías hacer en realidad?

Guarda la semilla de identidad primero.

Ponla en algún sitio en el que confíes para secretos de alto valor: un gestor de contraseñas, un lugar seguro fuera de línea o el modelo que uses para las cosas que no te puedes permitir perder. Después añade un passkey para la comodidad del día a día.

Para el uso normal, esa combinación es un buen equilibrio: la semilla se mantiene portátil y el passkey mantiene ágil el acceso cotidiano. Para identidades de alto riesgo, añade controles operativos: una llave de seguridad por hardware, un dispositivo dedicado y una identidad aparte reservada para el trabajo sensible.

Una cosa más que conviene tener clara: una semilla perdida (sin ningún factor de desbloqueo restante) significa que el uso futuro de la identidad se acabó, pero sus pruebas siguen verificándose. Una semilla robada es un compromiso total de la identidad, y la respuesta es una identidad nueva más desactivar la antigua, nunca un restablecimiento de contraseña, porque no hay ninguna contraseña que restablecer.

La versión corta

CardanoWall guarda texto cifrado de la bóveda, no semillas de identidad en texto plano.

Tu semilla es la identidad. Tu passkey desbloquea la bóveda cifrada. El navegador usa las claves privadas solo después de que desbloqueas la identidad, y las borra al bloquear. El servidor puede ayudarte a publicar, sincronizar y recuperar el acceso con comodidad, pero por diseño no puede leer ni recrear tu identidad.

Guarda la semilla. Usa el passkey. Conoce la diferencia.

Para seguir leyendo

securityidentitypasskeys