NIP-104: Double Ratchet DMs
NIP-104 define mensajes directos cifrados de extremo a extremo utilizando un protocolo double ratchet (basado en la arquitectura de Signal), proporcionando forward secrecy y post-compromise security para las conversaciones en Nostr.
Por Qué Es Importante
Las soluciones existentes de DM en Nostr tienen limitaciones:
- NIP-04: Cifra el contenido pero filtra metadatos
- NIP-17 + NIP-59: Resuelve la filtración de metadatos mediante gift-wrapping pero carece de forward/backward secrecy
NIP-104 completa el panorama: si la clave privada de un usuario se ve comprometida, los atacantes no pueden leer mensajes pasados (forward secrecy) ni continuar leyendo mensajes futuros indefinidamente (post-compromise security).
Cómo Funciona
Configuración Inicial (X3DH)
Dos partes realizan un intercambio triple Diffie-Hellman extendido utilizando claves de identidad y prekeys para derivar una clave raíz compartida inicial.
El Double Ratchet
- DH Ratchet: Cada vez que las partes intercambian mensajes, se generan nuevas claves Diffie-Hellman, produciendo nuevas claves raíz y claves de cadena
- Symmetric Ratchet: Cadenas separadas de envío y recepción derivan claves de mensaje individuales para cada mensaje
Esta rotación continua de claves asegura que comprometer una clave revele un contenido mínimo de mensajes.
Event Kinds
- Kind 442: Publica prekeys del usuario para la inicialización X3DH
- Kind 443: Configuración inicial de conversación con el primer mensaje cifrado
- Kind 444: Mensajes cifrados subsecuentes en conversaciones establecidas
Todos los mensajes cifrados se envuelven en eventos GiftWrap kind 1059 para protección de metadatos.
Tags Clave
p- Clave pública del destinatarioprekey- Prekey del destinatario para cálculo DHdh_sending- Clave pública DH de envío actualcurrent_index- Número de mensaje en la cadenaprevious_length- Longitud de la cadena de mensajes anterior
Limitaciones
Los mensajes funcionan por par dispositivo-cliente. Sincronizar entre múltiples dispositivos requiere inicialización separada para cada dispositivo, un compromiso para mayor seguridad.
Fuentes primarias:
Mencionado en:
Ver también: