zero-knowledge
path: secret-management/zero-knowledge.mdx title: Modelo de seguridad Zero-Knowledge slug: /secret-management/zero-knowledge pagination_next: secret-management/examples pagination_prev: secret-management/integrations sidebar_position: 7 description: >- Explicación del modelo Zero-Knowledge en Passwork y su impacto en la automatización y la rotación de secretos. keywords:
- Passwork
- Zero-Knowledge
- security
- encryption
- secrets
Qué es Zero-Knowledge
Zero-Knowledge (ZK) es un principio arquitectónico en el que el servidor no tiene acceso a los datos descifrados. Todo el cifrado y descifrado ocurre en el lado del cliente.
En términos prácticos: incluso si un atacante obtiene acceso completo al servidor de Passwork y su base de datos, solo encontrará blobs cifrados — sin las claves de usuario, leer los secretos es imposible.
Cómo funciona
┌─────────────────┐ ┌─────────────────┐
│ Client │ │ Passwork │
│ (browser/CLI) │ │ Server │
├─────────────────┤ ├─────────────────┤
│ Encryption keys │ ──── HTTPS ────► │ Encrypted │
│ Decryption │ ◄── HTTPS ──── │ data │
│ Encryption │ │ Metadata │
└─────────────────┘ └─────────────────┘
| Almacenado en el servidor | Conocido solo por el cliente |
|---|---|
| Contraseñas y campos cifrados | Claves de cifrado |
| Archivos adjuntos cifrados | Valores descifrados |
| Nombres de registros y carpetas | Contraseña maestra del usuario |
| Estructura de derechos de acceso | — |
| Registro de auditoría | — |
Beneficios de seguridad
Protección contra compromiso del servidor
Incluso con acceso completo al servidor, un atacante no puede:
- leer contraseñas o secretos;
- descifrar archivos adjuntos (claves, certificados);
- recuperar valores de copias de seguridad de la base de datos.
Protección contra amenazas internas
Los administradores de Passwork (administradores de sistemas, DBAs) no tienen medios técnicos para ver el contenido de los secretos — incluso con acceso directo a la base de datos.
Cumplimiento
Zero-Knowledge simplifica las auditorías de seguridad: puede demostrar que incluso los usuarios privilegiados de la infraestructura no pueden acceder a los secretos.
En la versión on-premise de Passwork, el modo Zero-Knowledge puede ser deshabilitado por el administrador. Consulte a su equipo de seguridad para conocer la configuración actual.
Impacto en la automatización
Zero-Knowledge limita lo que el servidor puede hacer por sí mismo.
Limitaciones del servidor
| Operación | Por qué no puede funcionar del lado del servidor |
|---|---|
| Rotación automática de contraseñas | El servidor carece de claves de cifrado |
| Verificaciones de calidad de contraseñas | Los valores están cifrados |
| Integración incorporada con sistemas externos | Requiere un cliente con claves |
La solución
Para la rotación y la automatización avanzada, utilice un cliente externo — un script o servicio que:
- Se autentica con Passwork (obtiene tokens).
- Obtiene y descifra secretos mediante CLI/SDK.
- Realiza acciones en los sistemas de destino (bases de datos, servicios).
- Cifra y escribe los nuevos valores de vuelta.
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Rotation │ │ Passwork │ │ Target │
│ script │ ───► │ (stores) │ │ system │
│ │ ◄─── │ │ │ (PostgreSQL)│
│ - CLI/SDK │ └──────────────┘ │ │
│ - keys │ ─────────────────────────► │ │
└──────────────┘ └──────────────┘
Configuración típica
# Cron job for rotation
0 3 * * 0 /opt/scripts/rotate-db-passwords.py
Qué hace rotate-db-passwords.py:
- Lista los registros en la carpeta
infrastructure/production/databases. - Para cada registro:
- genera una nueva contraseña;
- actualiza la contraseña en PostgreSQL/MySQL;
- almacena la nueva contraseña en Passwork.
- Envía un resumen a Slack o correo electrónico.
Los ejemplos de implementación se pueden encontrar en: