Saltar al contenido principal

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 servidorConocido solo por el cliente
Contraseñas y campos cifradosClaves de cifrado
Archivos adjuntos cifradosValores descifrados
Nombres de registros y carpetasContraseñ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.

tip

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ónPor qué no puede funcionar del lado del servidor
Rotación automática de contraseñasEl servidor carece de claves de cifrado
Verificaciones de calidad de contraseñasLos valores están cifrados
Integración incorporada con sistemas externosRequiere 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:

  1. Se autentica con Passwork (obtiene tokens).
  2. Obtiene y descifra secretos mediante CLI/SDK.
  3. Realiza acciones en los sistemas de destino (bases de datos, servicios).
  4. 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:

  1. Lista los registros en la carpeta infrastructure/production/databases.
  2. Para cada registro:
    • genera una nueva contraseña;
    • actualiza la contraseña en PostgreSQL/MySQL;
    • almacena la nueva contraseña en Passwork.
  3. Envía un resumen a Slack o correo electrónico.

Los ejemplos de implementación se pueden encontrar en: