2012-09-13 36 views
11

Estoy creando una aplicación web con ASP.NET MVC, y quiero guardar algunas contraseñas en la base de datos.Dónde guardar la clave AES?

Las contraseñas deben ser recuperables. (No son para mí, necesito contraseñas para comunicarme con una API, que necesita la contraseña real). Así que no puedo usar algoritmos hash o similares.

He encontrado que AES es un buen algoritmo de encriptación para mí.

Pero, el problema es: dónde almacenar la clave AES? ¿Está almacenando en appsettings dentro de web.config suficiente? ¿Cómo hacer que la clave sea más difícil de encontrar (para los hackers)?

Y la siguiente pregunta: ¿Alguna idea para hacer que este sistema sea más seguro?

+0

Por supuesto, puede encriptar una clave con otra clave y luego encriptar esa clave con otra tecla ad nauseum. Pero vale la pena pensar lo que está tratando de lograr, y eso es restringir el acceso a la información. Hay muchos métodos para lograr esto, y la mayoría de ellos no se trata de encriptación. –

+0

Entonces, ¿De qué manera me recomienda? ¿Está almacenando la clave en web.config y encriptando lo suficiente la web.config? –

+0

Sí, eso podría ser parte de su esquema * key management * (de ahí el comentario). Solo me aseguraba de que no estuvieras solo mirando los mecanismos de encriptación. ¿A dónde vas a la clave que descifra 'web.config'? ¿Quién tiene acceso a eso? –

Respuesta

3

Es posible encriptar secciones de archivos .config. Here is the msdn documentation sobre el tema, aunque también encontrará otros tutoriales en línea.

+0

Gracias, pero ¿la encriptación 'web.config' proporciona suficiente seguridad? ¿Cómo hacer que este sistema sea más seguro? –

Cuestiones relacionadas