Documentación Técnica

Documento Técnico de Arquitectura de Seguridad

Una visión técnica detallada de la arquitectura de cifrado de Snugg para investigadores de seguridad, auditores y usuarios con conocimientos técnicos.

Resumen Ejecutivo

Snugg implementa cifrado de extremo a extremo para todo el contenido de los usuarios utilizando primitivas criptográficas modernas y bien auditadas. Este documento describe nuestra arquitectura de cifrado, el enfoque de gestión de claves y el modelo de amenazas contra el que protegemos.

Descripción General de la Arquitectura de Cifrado

Snugg utiliza un enfoque de cifrado híbrido que combina criptografía asimétrica y simétrica para proporcionar tanto seguridad como rendimiento.

Cifrado Asimétrico (Clave Pública)

Cada usuario tiene un par de claves único (X25519). La clave pública se comparte con nuestros servidores; la clave privada nunca sale del dispositivo del usuario. Se utiliza para el intercambio inicial de claves y para proteger las claves de grupo.

Cifrado Simétrico (Secreto Compartido)

Cada grupo tiene una clave simétrica (XSalsa20-Poly1305) compartida únicamente entre los miembros del grupo. Esta clave cifra todo el contenido dentro del grupo, proporcionando un cifrado/descifrado rápido.

Enfoque Híbrido

Cuando se une a un grupo, la clave del grupo se cifra con su clave pública y se le envía. Su dispositivo la descifra con su clave privada, dándole acceso al contenido del grupo. Esto combina la seguridad de la criptografía asimétrica con la eficiencia de la criptografía simétrica.

Gestión de Claves

La gestión segura de claves es fundamental para nuestra arquitectura de cifrado. Así es como se generan, almacenan y utilizan las claves:

1

Generación de Claves

Cuando crea una cuenta, su dispositivo genera un par de claves criptográficamente seguro utilizando la API Web Crypto o TweetNaCl.js. Las claves se generan localmente—nunca pasan por nuestros servidores.

2

Almacenamiento de Claves

Las claves privadas se almacenan en el almacenamiento local cifrado (IndexedDB) de su dispositivo, protegidas por una clave derivada de las credenciales de su cuenta utilizando PBKDF2 con 100.000 iteraciones.

3

Distribución de Claves

Cuando se une a un grupo, los miembros existentes cifran la clave del grupo con su clave pública. Este paquete cifrado se almacena en nuestros servidores y solo puede ser descifrado por su clave privada.

4

Rotación de Claves

Las claves de grupo se rotan cuando los miembros abandonan el grupo para garantizar el secreto hacia adelante. Los miembros que se han ido no pueden descifrar el nuevo contenido incluso si conservaron la clave antigua.

Primitivas Criptográficas

Utilizamos algoritmos criptográficos bien establecidos y auditados:

PropósitoAlgoritmoBiblioteca
Intercambio de ClavesX25519 (Curve25519 ECDH)TweetNaCl.js
Cifrado SimétricoXSalsa20-Poly1305TweetNaCl.js
Firmas DigitalesEd25519TweetNaCl.js
HashingSHA-256API Web Crypto
Derivación de ClavesPBKDF2 (100.000 iteraciones)API Web Crypto

Flujo de Datos: Cómo se Cifra el Contenido

Esto es lo que sucede cuando publica contenido en un grupo:

1
Redacta una publicación en su dispositivo (texto, fotos, etc.)
2
Su dispositivo recupera la clave simétrica del grupo del almacenamiento local cifrado
3
El contenido se cifra con la clave del grupo utilizando XSalsa20-Poly1305
4
El texto cifrado se envía a nuestros servidores y se almacena
5
Cuando los miembros del grupo abren Snugg, sus dispositivos descargan el texto cifrado y lo descifran localmente

Modelo de Amenazas

Comprender contra qué protegemos—y contra qué no—es esencial para que los usuarios tomen decisiones informadas.

Contra Qué Protegemos

  • Compromiso del servidor: Un atacante que obtiene acceso a nuestros servidores solo ve texto cifrado
  • Empleados deshonestos: El personal de Snugg no puede leer el contenido de los usuarios—no tenemos las claves
  • Demandas gubernamentales: Incluso si estamos legalmente obligados, solo podemos proporcionar datos cifrados
  • Interceptación de red: Todas las conexiones utilizan TLS 1.3; el contenido está además cifrado E2E

Contra Qué No Protegemos

  • Dispositivos comprometidos: Si un atacante controla su dispositivo, puede leer el contenido descifrado
  • Capturas de pantalla de miembros del grupo: Los miembros pueden hacer capturas de pantalla o copiar el contenido descifrado
  • Análisis de metadatos: Podemos ver quién está en qué grupos y cuándo publican (pero no el contenido)

Auditorías de Seguridad y Verificación

Creemos en la seguridad verificable, no en la seguridad por oscuridad:

Nuestro código de cifrado es de código abierto y está disponible para revisión pública
Encargamos auditorías de seguridad regulares de terceros a empresas de renombre
Los informes de auditoría se publican, incluyendo cualquier hallazgo y cómo lo abordamos

No confíe en nosotros—verifique. Nuestro código fuente está disponible en github.com/snugg-social

Referencias Técnicas

Para más información sobre los estándares criptográficos que utilizamos:

  • TweetNaCl.js: Un port de la biblioteca criptográfica NaCl bien auditada
  • Curve25519: Curva elíptica diseñada por Daniel J. Bernstein para intercambio de claves
  • XSalsa20-Poly1305: Cifrado autenticado de la familia NaCl
  • PBKDF2: Función de Derivación de Claves Basada en Contraseña 2 (RFC 8018)

¿Preguntas de Seguridad o Divulgación Responsable?

Si tiene preguntas sobre nuestra arquitectura de seguridad o desea reportar una vulnerabilidad, nos encantaría escucharle.

security@snugg.social

Última actualización: 1 de febrero de 2026