Tengo un programa, donde la contraseña de una base de datos es establecida por un usuario remoto. El programa guarda el nombre de usuario y la contraseña en una cadena cifrada en un archivo xml que, de otro modo, debería ser legible para el ser humano. Ahora, esto funciona bien, utilizo el cifrado C# DES con una clave, y se cifra y descifra. Ahora, el problema es que cualquiera puede usar el reflector para ver la clave. Incluso con ofuscación, la clave debería ser evidente. Entonces, ¿cómo lidia uno con esto? Ahora, no necesito que esto sea seguro para la NSA, pero realmente me gustaría evitar que nadie mire. Gracias.Encriptación C# en la edad del reflector
EDIT: Gracias por todos los consejos hasta ahora, la información sobre este tipo de cosas no está muy extendida, y realmente aprecio consejos generales, así como respuestas específicas.
Usted está formulando una pregunta de seguridad. Usted ha identificado el recurso _vulnerable_ - la base de datos. Usted ha identificado la _vulnerabilidad_ - la falta de encriptación efectiva en el archivo de contraseña. No has identificado el _threat_. ¡Es peligrosamente contraproducente intentar descubrir las mitigaciones de la vulnerabilidad sin identificar primero la amenaza! ¿Quién está amenazando tu recurso y cómo? –
Bueno, nadie específicamente, me gustaría codificar mi aplicación para que sea segura y no cuáles son las mejores prácticas. – Steve
La mejor práctica n. ° 1 para codificar aplicaciones seguras es IDENTIFICAR LAS AMENAZAS. No puede estar seguro si ni siquiera sabe a qué amenazas le está protegiendo el código. Quiero decir, supongo que te pedí que diseñaras una casa segura.Probablemente comiences haciendo una lista de amenazas a los ocupantes de la casa como el primer paso, ¿verdad? –