Files
system-docs/06_SEGURIDAD/cifrado.md
ARCHITECT 6ea70bd34f Update to Skynet v7 - Complete documentation restructure
- Nueva estructura de carpetas según Skynet v7
- Añadidos schemas SQL completos
- Documentación de entidades, componentes e integraciones
- Modelo de seguridad actualizado
- Infraestructura y operaciones reorganizadas
2025-12-29 18:23:41 +00:00

4.6 KiB

Cifrado

Estado: Especificación


Principio KEY VAULT

┌─────────────────────────────────────────────────────────────────┐
│                                                                 │
│    "Las llaves nunca viajan con los datos que protegen"        │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Envelope Encryption

Jerarquía de Llaves

              MASTER KEY (MK)
         (HSM / KMS externo)
                   │
       ┌───────────┼───────────┐
       │           │           │
       ▼           ▼           ▼
   KEK-DATA   KEK-SECRETS  KEK-SIGNING
   (Cifra     (Cifra API   (Firma
    datos)     keys)        tokens)
       │           │           │
       ▼           ▼           ▼
   DEK-1..n    API Keys    JWT Keys
   (Efímeras)  (Rotables)  (Rotables)

Niveles

1. MASTER KEY (MK)

Aspecto Valor
Almacenamiento HSM/KMS externo
Exposición Nunca se expone
Rotación Anual
Uso Deriva KEKs

2. Key Encryption Keys (KEK)

KEK Función Rotación
KEK-DATA Cifra datos 365 días
KEK-SECRETS Cifra API keys 365 días
KEK-SIGNING Firma tokens 180 días

3. Data Encryption Keys (DEK)

Aspecto Valor
Generación Por operación
Cifrado Con KEK correspondiente
Rotación Por uso (efímeras)

Ventajas de Envelope Encryption

Ventaja Descripción
Rotación eficiente Rotar KEKs sin re-cifrar todos los datos
Separación Diferentes KEKs para diferentes propósitos
Trazabilidad Cada nivel tiene su propio ciclo de vida
Seguridad en capas Compromiso de DEK no expone otras DEKs

Cifrado en Reposo

Base de Datos

Componente Cifrado
PostgreSQL Transparent Data Encryption (TDE)
Backups AES-256-GCM con KEK-DATA
Logs sensibles AES-256-GCM con KEK-DATA

Almacenamiento

Componente Cifrado
Cloudflare R2 SSE con llaves gestionadas
Backups locales AES-256-GCM
Archivos temporales Cifrado en memoria

Cifrado en Tránsito

Conexión Protocolo
HTTPS TLS 1.3
PostgreSQL SSL required
Redis TLS
SSH Ed25519

Gestión de Llaves

Ubicación

Llave Ubicación
MASTER KEY HSM / KMS externo
KEKs Infisical (cifradas)
DEKs Generadas en runtime
API Keys Infisical

Acceso

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   Servicio  │────▶│  Infisical  │────▶│   KEK/DEK   │
│             │     │   (API)     │     │             │
└─────────────┘     └─────────────┘     └─────────────┘
       │                                       │
       │         (nunca en mismo lugar)        │
       ▼                                       ▼
┌─────────────┐                         ┌─────────────┐
│   Datos     │                         │   Llaves    │
│  Cifrados   │                         │             │
└─────────────┘                         └─────────────┘

Algoritmos

Uso Algoritmo
Cifrado simétrico AES-256-GCM
Hashing SHA-256, SHA-512
Firmas Ed25519, ECDSA
KDF Argon2id
TLS TLS 1.3

Rotación de Llaves

Llave Proceso
MASTER KEY Re-derivar todas las KEKs, re-cifrar DEKs
KEK Re-cifrar DEKs asociadas
DEK Generar nueva, re-cifrar datos específicos

Auditoría

Evento Log
Acceso a KEK SENTINEL-LIGHT
Uso de DEK Trace en S-CONTRACT
Rotación Alerta + registro
Compromiso SENTINEL-DEEP + alerta crítica