G-Safe: Arquitectura de Seguridad Zero-Knowledge y Gestión Avanzada de Secretos
Sistema de gestión de identidades y secretos diseñado bajo un modelo de confianza cero donde la soberanía criptográfica reside íntegramente en el cliente. Utiliza un stack de última generación con Astro 5, React 19 y MongoDB para ofrecer una plataforma de alta disponibilidad con seguridad de grado militar.
Sobre el proyecto
Resumen general del proyecto
G-Safe es una plataforma de ingeniería de software de alto nivel diseñada para resolver la problemática de la custodia de información sensible en entornos de nube. A diferencia de los gestores de contraseñas tradicionales que dependen de la confianza en el proveedor, G-Safe implementa una arquitectura Zero-Knowledge (Conocimiento Cero). Este paradigma técnico garantiza que los datos en texto plano nunca toquen el servidor; solo el texto cifrado (ciphertext) es persistido, haciendo que la información sea ilegible incluso ante un compromiso total de la infraestructura de base de datos.
1. Fundamentos de la Arquitectura Criptográfica
El núcleo de G-Safe opera sobre la Web Crypto API nativa, eliminando dependencias de librerías externas para procesos críticos y reduciendo la superficie de ataque. El sistema de protección se divide en tres fases técnicas:
- Derivación de Clave Maestra (KDF): La Master Password del usuario no se almacena. En su lugar, se somete a un proceso de derivación utilizando PBKDF2 (Password-Based Key Derivation Function 2) con el algoritmo HMAC-SHA256. Se aplican 600,000 iteraciones junto con un salt único generado por el servidor, resultando en una clave AES-256 simétrica que solo existe en la memoria RAM del navegador mientras la sesión está activa.
- Cifrado de Secretos: El contenido del vault se cifra mediante AES-256-GCM (Galois/Counter Mode). Este algoritmo es un estándar de cifrado autenticado que proporciona confidencialidad y garantiza que el mensaje no ha sido alterado (integridad). Cada operación utiliza un Vector de Inicialización (IV) de 12 bytes único, asegurando que el mismo secreto cifrado dos veces genere ciphertexts distintos.
- Validación de Integridad Local (Canary): Para prevenir que una Master Password incorrecta corrompa los datos o genere errores ambiguos, se emplea un mecanismo de "canario". Al configurar el vault, se cifra una cadena estática conocida. En intentos de desbloqueo posteriores, el sistema intenta descifrar esta cadena; si la clave es errónea, el tag de autenticación de GCM fallará, permitiendo al sistema notificar al usuario de forma segura sin revelar información sobre la clave real.
2. Ecosistema de Autenticación y Autorización
La gestión de identidades en G-Safe ha sido construida para resistir vectores de ataque sofisticados mediante el uso de estándares industriales:
- Gestión de Sesiones (JWT): Se utiliza un esquema de tokens duales (Access y Refresh) gestionado por la librería Jose. Los Access Tokens tienen una vida corta de 15 minutos, mientras que los Refresh Tokens duran 7 días. Se implementa la rotación de Refresh Tokens (RTR), donde cada uso del token genera uno nuevo y el uso de un token antiguo dispara una alarma de seguridad que invalida todas las sesiones activas del usuario.
- Seguridad en Cookies: Los tokens se almacenan en el navegador mediante cookies con los flags HttpOnly, Secure y SameSite=Strict, lo que neutraliza ataques de Cross-Site Scripting (XSS) y Cross-Site Request Forgery (CSRF).
- Protección contra Fuerza Bruta: Se implementa un Rate Limiter por IP y por cuenta que bloquea temporalmente los intentos de acceso tras 10 fallos consecutivos en un lapso de 15 minutos, además de utilizar comparaciones de tiempo constante para evitar ataques de temporización (timing attacks).
3. Autenticación de Múltiples Factores (MFA)
G-Safe ofrece dos capas de verificación adicionales configurables desde el panel de seguridad del usuario:
- TOTP (Time-based One-Time Password): Integración con aplicaciones de autenticación estándar. El secreto TOTP generado se cifra en el servidor mediante AES-256-GCM antes de guardarse en la base de datos, utilizando una clave de cifrado de infraestructura (Server-Side Encryption) independiente de las claves de los usuarios.
- Email OTP: Envío de códigos de 6 dígitos mediante SMTP transaccional (Resend/Nodemailer) con una validez estricta de 10 minutos y un límite de 3 intentos de validación antes de la invalidación del desafío.
4. Gestión de Datos y Modelado de Software
El sistema organiza la información mediante el patrón de diseño Repository, asegurando una separación clara entre la lógica de negocio y la persistencia en MongoDB:
| Componente | Responsabilidad Técnica |
|---|---|
| Models (Mongoose) | Definición de esquemas con validación de tipos y políticas de retención de datos (TTL Indexes). |
| Repositories | Capa de abstracción para operaciones CRUD, permitiendo cambios en la lógica de persistencia sin afectar el resto del sistema. |
| Services | Lógica de negocio pesada, incluyendo el procesamiento de auditorías y la orquestación de la recuperación de cuentas. |
| Middleware | Intercepción de peticiones para la validación de estados de autenticación y verificación de dispositivos de confianza. |
5. Módulos de Usuario y Características Especiales
- Vault Polivalente: Capacidad para gestionar 14 tipos de información técnica, desde credenciales bancarias y tarjetas de crédito hasta llaves SSH y certificados TLS, cada uno con su propio esquema de datos cifrado.
- Historial de Sesiones y Auditoría: Registro exhaustivo de los últimos 50 accesos, incluyendo etiquetas de dispositivos, direcciones IP y fechas relativas. Los registros se eliminan automáticamente tras 6 meses gracias a los índices TTL de MongoDB.
- Trusted Devices: Sistema de reconocimiento de dispositivos que reduce la fricción en el login. El dispositivo se identifica mediante un hash SHA-256 del User-Agent y la IP, permitiendo al usuario "confiar" en el navegador actual por un periodo de 30 días.
- Compartición mediante QR: Implementación de un flujo de intercambio seguro donde un secreto puede ser encapsulado en una URL firmada y compartida visualmente, permitiendo el acceso temporal al contenido sin comprometer la Master Password del propietario.
6. Infraestructura y Operaciones (DevOps)
El despliegue está optimizado para la plataforma Vercel, aprovechando las Edge Functions para el procesamiento de middlewares de autenticación, lo que garantiza una latencia mínima global. El uso del runtime Bun permite un proceso de build y ejecución sumamente eficiente en comparación con los entornos Node.js tradicionales.
La plataforma cumple con los requisitos de seguridad de la guía OWASP Top 10, desde la prevención de inyecciones mediante el uso estricto de Zod para la validación de esquemas, hasta la protección de la integridad del software mediante auditorías constantes de dependencias y la eliminación de funciones criptográficas obsoletas.
Categoría
Desarrollo Web
Año
2026
Stack