frase de contraseña clara para el almacén de claves

1

¿Cómo es la frase de contraseña para almacenar un almacén de claves? tenemos todas las contraseñas cifradas y la clave para cifrar se almacena en el almacén de claves, así que, ¿cómo es la frase de contraseña para el almacenamiento de claves? en texto claro? Si está cifrado, ¿dónde deberíamos almacenar la clave para cifrar? es decir, parece un problema recursivo, cómo resolverlo sin usar el producto de seguridad de hardware HCM o cualquier otro método que sea para ese tipo de cosas. ¿Cuál es la mejor práctica en términos de almacenar las claves para el cifrado?

    
pregunta bliss 28.04.2014 - 12:04
fuente

3 respuestas

2

La mejor práctica es no cifrar las contraseñas en absoluto, sino en lugar de hacerlas al hash, precisamente por este motivo: si usted cifra, entonces debe tener la clave disponible en el servidor.

Si su sistema es tal que DEBE almacenar las contraseñas reales, por ejemplo, su servidor se conecta a algún otro servicio suplantando al usuario, entonces hay algunas cosas que puede hacer, como usar un HCM o almacenar la clave en un servidor diferente con la esperanza de que no se lo roben junto con el principal, o usar algo como OAuth para que las credenciales que almacenes solo puedan ser utilizadas por el servidor y, por lo tanto, sean menos útiles para un atacante.

Pero estas son solo mitigaciones parciales. Si almacena contraseñas en el servidor, entonces el servidor las conoce y si alguien compromete el servidor, también pueden aprenderlas.

    
respondido por el Graham Hill 28.04.2014 - 12:35
fuente
0

La mejor manera de hacer esto, a mi entender, es codificar las contraseñas y no cifrarlas. Sí, el hashing es un método de una sola vía, pero no es necesario recuperar las contraseñas de todos modos, por lo que ser una de ellas es prácticamente lo que quieres.

Imagina que un usuario te envía su nombre de usuario y su contraseña para autenticarse. En este caso, solo necesita hacer un hash de la contraseña entrante y compararla con la que ha almacenado, también hash, asociada con ese nombre de usuario. Si tiene una coincidencia, puede autenticar al usuario.

    
respondido por el Snox 28.04.2014 - 16:54
fuente
0

Deben almacenarse en texto plano o codificado en base64. Puede consultar cómo se configura Tomcat

<!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector
           protocol="org.apache.coyote.http11.Http11NioProtocol"
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           keystoreFile="${user.home}/.keystore" keystorePass="changeit"
           clientAuth="false" sslProtocol="TLS"/>

Si su texto cifrado está en la base de datos, este método solo puede protegerlo si el atacante se apodera de la base de datos pero no tiene acceso al sistema de archivos para descubrir la frase de contraseña. Si el atacante puede acceder al sistema de archivos, no tendrá suerte aquí.

El único otro método es hacer que el usuario lo introduzca cada vez que se ejecute la aplicación, lo cual es incómodo y no muy común.

    
respondido por el Phuah Yee Keat 06.03.2015 - 08:27
fuente

Lea otras preguntas en las etiquetas