나는 Process.Start를 사용하여 동일한 PC에서 실행되는 내부적으로 개발 된 다른 .NET 응용 프로그램을 시작하는 .NET Windows 응용 프로그램을 만들고 있습니다. 사용자 ID와 암호를 포함한 데이터베이스 연결 정보를 대상 응용 프로그램에 전달해야합니다. 나는 그것을 보내기 전에 정보를 암호화 할 필요가 있는지 결정하려고합니다.중요한 데이터를 .NET 프로세스의 Process.Start 호출에 전달해야합니까?
최종 사용자의 PC가 손상되지 않는다고 가정하면 인수에 암호화되지 않은 상태로 전달하면 연결 정보가 어디서나 노출됩니까? 이 괜찮을 같은
겠습니까 뭔가 ...
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);
아니면 내가 이런 식으로 뭔가를 사용해야합니다 ...
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);
좋은 점. 명확히하기 위해 나는 특정한 "from"을 염두에 두지 않았다. 이 데이터를 암호화되지 않은 상태로 전달할 일반적인 위험을 파악하고 데이터가 노출 될 수있는 상황의 유형을 확인하려고했습니다. –