Descripción general
Dos niveles de protección de datos
Passwork protege sus contraseñas en dos niveles. El cifrado del lado del servidor siempre funciona: todos los datos de contraseñas se cifran automáticamente con el algoritmo AES-256-CFB antes de ser escritos en la base de datos. Este mecanismo no requiere ninguna acción por parte del administrador.
El cifrado del lado del cliente (CSE) añade una segunda capa de protección. Cuando está habilitado, los datos se cifran en el navegador del usuario, la aplicación móvil o las extensiones, y solo el texto cifrado llega al servidor. De forma predeterminada, este modo está deshabilitado, por lo que los usuarios trabajan sin contraseñas maestras, lo que simplifica el uso cotidiano del sistema.
Cómo funciona el cifrado del lado del cliente
Cuando el cifrado del lado del cliente está habilitado, se crea una cadena de claves para:
- Usuarios
- Bóvedas
- Entradas (contraseñas y etiquetas)
- Enlaces de contraseñas
El usuario establece una contraseña maestra, de la cual se deriva una clave maestra mediante el algoritmo PBKDF2. Esta clave descifra la clave privada RSA del usuario, que a su vez proporciona acceso a las claves maestras de las bóvedas. Usando la clave maestra de la bóveda, el sistema descifra la clave maestra de la entrada, y la clave maestra de la entrada permite descifrar los datos de la contraseña.
Los usuarios pueden compartir una contraseña dentro de Passwork sin añadir a otro usuario a la bóveda. En este caso, usando la clave privada RSA del usuario, el sistema descifra la clave maestra de la entrada específica.
Escenarios principales:
- A través de la bóveda: Contraseña maestra del usuario → Clave maestra del usuario → Clave privada RSA del usuario → Clave maestra de la bóveda → Clave maestra de la entrada → Datos de la contraseña;
- A través de la sección de entrada: Contraseña maestra del usuario → Clave maestra del usuario → Clave privada RSA del usuario → Clave maestra de la entrada → Datos de la contraseña.
Es importante destacar que todas las claves (RSA, clave maestra de la bóveda, clave maestra de la entrada) se generan del lado del cliente (en el navegador) utilizando algoritmos criptográficos y no se transmiten al servidor en texto plano, haciendo imposible el descifrado de datos del lado del servidor.
En el cliente, se cifran todos los campos de contraseñas, campos adicionales, secretos TOTP, archivos adjuntos y todas las revisiones de entradas. Al mismo tiempo, los nombres de las entradas, el login principal, las etiquetas, las URLs y los comentarios no se cifran en el cliente porque la búsqueda se realiza sobre estos campos.
El esquema con claves separadas para bóvedas y entradas permite implementar un esquema de Zero Knowledge y cifrado End-to-End tanto para contraseñas específicas como para bóvedas compartidas.
Cuándo usar el cifrado del lado del cliente
Se recomienda habilitar el cifrado del lado del cliente para garantizar un modelo Zero Knowledge cuando Passwork está alojado en la nube o cuando se requiere cumplimiento de estándares de seguridad (en su empresa o a nivel global). El cifrado del lado del cliente es especialmente importante cuando se almacenan datos críticamente importantes: cuentas root, claves SSH o frases semilla.
Si Passwork está desplegado en una red corporativa aislada bajo control organizacional completo, el cifrado del lado del servidor es generalmente suficiente. En este caso, la ausencia de contraseñas maestras simplifica el trabajo del usuario.
Configuración y recuperación de acceso
La contraseña maestra del usuario nunca se transmite al servidor. Por lo tanto, si un usuario olvida su contraseña maestra, esta no puede recuperarse. Sin la contraseña maestra, el usuario no podrá iniciar sesión en el sistema ni descifrar sus datos.
En tal caso, el administrador de Passwork puede restablecer la contraseña maestra del usuario, después de lo cual el usuario puede establecer una nueva contraseña maestra (y generar un nuevo par de claves RSA).
Los administradores de bóvedas o carpetas deben volver a aprobar a dicho usuario en las bóvedas, después de lo cual todos los derechos se restauran automáticamente.
Trabajo con grupos
El cifrado del lado del cliente es compatible con el sistema de grupos y la sincronización LDAP. Cuando un usuario se añade a un grupo, se crean solicitudes de acceso para todas las bóvedas relacionadas. El administrador de la bóveda aprueba la solicitud y la clave maestra de la bóveda se transmite de forma segura mediante cifrado RSA. Esto garantiza un esquema de Zero Knowledge manteniendo la automatización a través de grupos.
Implementación técnica
El sistema utiliza algoritmos criptográficos probados: PBKDF2-SHA-256 para la derivación de claves, AES-256-CFB para el cifrado de datos, RSA-2048 para la transmisión segura de claves de bóvedas. El cifrado del lado del cliente es compatible con todos los clientes oficiales de Passwork: interfaz web, extensiones de navegador y aplicaciones móviles. Para integraciones de servidor, está disponible un conector Python con la misma lógica de cifrado.