Pregunta

Tengo una pregunta sobre el siguiente escenario:
Quiero usar Jasypt para cifrar mi contraseña y usar una cierta sal para el cifrado.

¿Tiene sentido (o hay alguna implicación de seguridad) si:
Utilizo el cifrado basado en contraseña para cifrar la sal con una contraseña que obtengo de una variable de entorno, de esa manera puedo tener el valor cifrado de la sal en un archivo de propiedad, obtenerlo desde allí, descifrarla a través de la contraseña que obtengo de la contraseña de la Variable de entorno (en realidad, voy a tener un entorno para el objeto de Pbeconfig que a su vez obtiene la variable de entorno de los entornos, el objeto de la parte del entorno y eliminar la variable de entorno una vez que se crea los entornos de los entornos que se crea) y finalmente usa la sal.

Gracias.

Editar: Tenga en cuenta que me gustaría saber si "ocultar" la sal como se describe anteriormente es una buena práctica, no estoy implementando dicha solución en este momento.

Editar: también tenga en cuenta las siguientes recomendaciones de Owasp.

Recomendación: Haga que sea difícil robar toda la sal

Hay una serie de mejoras recomendadas adicionales al mecanismo de salación básica para su consideración:

Tenga una sal de 'sistema' adicional que es un valor fijo para todo el sistema. Esto debe almacenarse en un archivo de configuración en algún lugar. Este valor fijo no tendría que incluirse cada copia de seguridad, lo que dificulta aún más que un atacante comprometa todos los elementos necesarios para calcular el valor hash correctamente. Incrustar una porción de la sal del sistema en el código fuente. Esto no sería tan útil para el código de código abierto, pero para las aplicaciones personalizadas, tener parte de la sal del sistema en el código sería un elemento más requerido por un atacante para calcular el valor hash correctamente. Generando una nueva sal para una cuenta cada vez que se cambia la contraseña del usuario.

Recomendación: aislamiento de sal

Un mecanismo adicional de defensa de almacenamiento de contraseña implica almacenar la sal en una ubicación diferente al hash de contraseña. El uso del sistema de archivos del servidor es un mecanismo de uso común para el aislamiento de sal, suponiendo que los hash de contraseña se almacenen en diferentes ubicaciones, como una base de datos o servidor LDAP. Este mecanismo de defensa reduce el riesgo de robo de contraseña cuando se roba el archivo de la base de datos, ya que las sales no se incluirán con los datos de la base de datos. Tenga cuidado de asegurarse de que tanto los hash de contraseña como las sales no estén respaldadas, también deben respaldarse de forma aislada.

No hay solución correcta

Otros consejos

¿Por qué quieres cifrar una sal? Las sales normalmente son información pública: solo existen para evitar ataques fuera de línea "de la mesa del arco iris" en bases de datos de las contraseñas. Creo que debes ser más claro sobre lo que estás intentando hacer y por qué.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top