Guardar claves de acceso de forma segura
Hola a todos,
esto es más una duda teórica que un problema real, pero me gustaria comentarlo con vosotros a ver que opinais.
Se trata de guardar las claves de acceso (por ejemplo) a la base de datos de una aplicación, en un archivo .INI (o xml, CSV, o lo que sea). De forma tal que:
1.- Deben poder ser "modificables" por el usuario (a través del propio software).
2.- Deben ser guardadas de una forma segura en un archivo INI. Vamos que no sean directamente "leibles".
Quien más, quien menos, "encriptamos" esas claves de formas "propias" para que no se puedan leer. Luego, nuestro software desencripta el asunto y aplica las claves a la cadena de conexión de la base de datos. Voala.
Pero claro, esto es una solución "Security by Obscurity" y no me gusta mucho.
De qué modo debemos guardar una "clave de acceso" en un fichero de Texto ?
La primera solución que se viene a la mente es utilizar 3DES o DES o AES o cosas semejantes. Pero son encriptadores simétricos y, por tanto, la clave para desencriptar debe estar en algún sitio (dentro del programa, claro), con lo que volvemos al inicio de este pequeño dilema (donde guardar la clave que encripta/desencripta las claves).
La segunda solución, es utilizar una clave asimetrica (RSA o similar). Pero si queremos que el usuario pueda modificar esas claves, grabarlas y volver a leerlas, tendremos que proveer la clave PRIVADA en algún sitio de la aplicación. Así que volvemos al punto inicial.
No sé. Simplemente quería abrir este hilo para que me aporteis las ideas que se os ocurren a vosotros.
Salu2.
|