Имейте в виду, что если это в вашей программе, то это по сути небезопасно. Независимо от того, что вы делаете, если у приложения есть возможность установить безопасное соединение с информацией, которую оно содержит, эта информация может быть извлечена опытным хакером со временем и желанием.
Но вас беспокоит этот уровень угрозы? Очевидно, что просто выбросить его в файл app.config примерно так же мало, как и вы. Все, что должно произойти, это то, что кто-то открывает файл с помощью программы чтения текста и тада, у них есть ваши учетные данные.
Возможно, вы захотите сохранить зашифрованную версию в файле конфигурации и сохранить закрытый ключ в своем приложении. По крайней мере, читатель текста не может «сломать» его. Конечно, кто-то может использовать отражатель и декомпилировать ваше приложение, чтобы получить закрытый ключ.
Ну, вы могли бы запутать приложение. Это затруднит поиск этого закрытого ключа. Да, все еще не невозможно.
Возможно, вы хотите, чтобы этот закрытый ключ был удален с сервера через веб-сервис или что-то в этом роде. Затем, если у кого-то есть приложение, оно не может его получить, хотя всегда может перепроектировать способ вызова веб-службы. Или сделайте человека посередине и посмотрите на ключ в сети.
Возможно, вы могли бы использовать SSL для защиты передачи. Возможно, выполните фильтрацию MAC-адресов в службе, чтобы затруднить получение ключа неавторизованным устройством.
Вы можете увидеть прогресс здесь. Каждый уровень безопасности требует все больше и больше работы. Больше и больше обслуживания. Вы должны решить, какова будет отдача от инвестиций для вашего сценария, и выбрать уровень безопасности, который вам удобен, для количества усилий, которые вы готовы потратить на него.