Je travaille sur une application Windows .NET qui utilisera Process.Start pour lancer une autre application .NET développée en interne fonctionnant sur le même PC. Je dois transmettre des informations de connexion à la base de données, notamment un ID utilisateur et un mot de passe, à l'application cible. J'essaie de déterminer si j'ai besoin de crypter l'information avant de l'envoyer.Dois-je transmettre des données sensibles à un appel Process.Start dans .NET?
En supposant que le PC de l'utilisateur final ne soit pas compromis, les informations de connexion seront-elles exposées n'importe où si je les transmets non chiffrées dans les arguments?
Would quelque chose comme ça ... OK être
string myExecutable = "myApp.exe";
string server = "myServer";
string database = "top_secret_data";
string userID = "myUser";
string password = "ABC123";
string dbInfo = string.Format("server={0} database={1} userID={2} password={3}", server, database, userID, password);
ProcessStartInfo startInfo = new ProcessStartInfo(myExecutable, dbInfo);
Process.Start(startInfo);
Ou devrais-je utiliser quelque chose comme ça ...
var crypto = new MySymmetricCryptoLib.Crypto();
string myExecutable = "myApp.exe";
string server = crypto.Encrypt("myServer");
string database = crypto.Encrypt("top_secret_data");
string userID = crypto.Encrypt("myUser");
string password = crypto.Encrypt("ABC123");
string dbInfo = string.Format("server={0} database={1} userID={2} password={3}", server, database, userID, password);
ProcessStartInfo startInfo = new ProcessStartInfo(myExecutable, dbInfo);
Process.Start(startInfo);
Bon point. Pour clarifier, je n'avais pas de "qui" en tête. Je voulais juste jauger le risque général de transmettre ces données non cryptées, et voir dans quelles circonstances les données pourraient être exposées. –