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
This commit is contained in:
170
06_SEGURIDAD/cifrado.md
Normal file
170
06_SEGURIDAD/cifrado.md
Normal file
@@ -0,0 +1,170 @@
|
||||
# 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 |
|
||||
Reference in New Issue
Block a user