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:
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.
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.
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.
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ósito | Algoritmo | Biblioteca |
|---|---|---|
| Intercambio de Claves | X25519 (Curve25519 ECDH) | TweetNaCl.js |
| Cifrado Simétrico | XSalsa20-Poly1305 | TweetNaCl.js |
| Firmas Digitales | Ed25519 | TweetNaCl.js |
| Hashing | SHA-256 | API Web Crypto |
| Derivación de Claves | PBKDF2 (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:
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:
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