¿Es seguro usar un almacén de claves que almacena la contraseña como una cadena codificada de manera reversible?

0

Recientemente estuve revisando documentación del proveedor de seguridad Merlin para Apache , y se dio cuenta de que almacenaban la contraseña del almacén de claves (org.apache.ws.security.crypto.merlin.keystore.password) como una cadena codificada de manera reversible.

Tenía la impresión de que nunca es una buena idea almacenar las contraseñas en una cadena porque no podemos borrarlas de la memoria de manera confiable. ¿Me falta algo sobre esta implementación en particular?

    
pregunta Daniel V 21.04.2018 - 00:17
fuente

2 respuestas

2

No estoy realmente seguro de cuál es el contexto de la documentación vinculada ... pero parece una interfaz para interactuar con un almacén de claves como Java Keystore.

Si la contraseña se utiliza para descifrar claves privadas, entonces deberá guardarla de alguna forma hasta que haya terminado de usarla. Eso significa almacenar la contraseña o descifrar todas las claves privadas que necesita y descartar la contraseña. De cualquier manera, mantendrás algo secreto en la memoria.

Esta es la tensión constante que enfrentamos en seguridad. La única clave o contraseña privada realmente segura es aquella a la que no puede acceder. Pero si la clave o la contraseña son útiles, es necesario que se guarden en la memoria en algún momento.

    
respondido por el nbering 21.04.2018 - 03:40
fuente
1

Así que la respuesta general a esto sería no. Esto es lo que llamaríamos "seguridad a través de la oscuridad". Lo que significa que espera que ocultarlo agregue una capa de protección. Sin embargo, ese ciertamente no es el caso. Todo lo que necesita es un poco de esfuerzo por parte de un atacante malintencionado para poder recuperar los datos originales. NUNCA debes confiar en que ocultar algo lo hace seguro.

Además, dado que esto es efectivamente almacenar las contraseñas en texto plano (ya que establecimos que la oscuridad es el equivalente a no hacer nada en absoluto), me gustaría reforzar lo terrible que es una idea. La mayoría de las personas en la industria de la seguridad estarían de acuerdo en que almacenar secretos en texto sin formato sería una ofensa. Hay mucho más interés con esto que simplemente eliminar de forma segura las contraseñas, como el robo por parte de un actor malintencionado o la falta de confianza o la necesidad de conocer a las personas que pueden leer los datos. Ya que hay muchas formas de explotar un servidor, cualquier pequeño error podría resultar en el robo de esos secretos, incluso si el atacante no puede obtener la raíz.

No estoy seguro de por qué Merlín decidió que los secretos reversibles es una buena idea, pero aconsejaría buscar en Vault la gestión de secretos. Es un gran servicio proporcionado por los creadores de vagrant.

    
respondido por el SuperAdmin 21.04.2018 - 03:49
fuente

Lea otras preguntas en las etiquetas