Я пишу (в C # с .NET 3.5) административное приложение, которое будет опрашивать несколько систем Windows для различных битов данных. Во многих случаях он будет использовать WMI, но в некоторых случаях может потребоваться чтение удаленного реестра или удаленное выполнение некоторой команды или сценария в системе опроса. Этот опрос будет происходить с повторяющимися интервалами - обычно ночью, но его можно настроить так, чтобы он выполнялся чаще (или реже). Таким образом, опрос может проводиться каждые 10 минут или реже одного раза в месяц. Это должно происходить автоматически, без вмешательства человека.
Эти функции потребуют доступа уровня администратора к опрошенным системам. Теперь я ожидаю, что в большинстве случаев будет домен, и приложение опроса может работать как служба с привилегиями администратора домена (или эквивалентными), что означает, что мне не нужно беспокоиться о сохранении паролей - настройка администратора приложение определит имя пользователя и пароль службы через стандартные механизмы Windows.
Но там всегда есть несколько паршивых овец. Программа может работать в недоменных средах или в тех случаях, когда некоторые опрашиваемые системы не являются членами домена. В этих случаях нам нужно будет определить имя пользователя и пароль, надежно их сохранить, а затем вызвать эту пару пользователь / пароль во время опроса этой системы. Так что имейте в виду - в этом случае пишущая программа - это пользователь , который отправляет пароль в систему аутентификации.
Я не уверен, понадобится ли мне использовать обратимый хеш, который я затем расшифрую в виде открытого текста во время использования, или есть какой-то механизм Windows, который позволил бы мне сохранять и затем повторно использовать только хеш. Очевидно, что второй механизм предпочтительнее; Я бы хотел, чтобы моя программа либо никогда не знала открытого текста пароля, либо знала его как можно быстрее.
Мне нужны предложения для умных и безопасных способов сделать это.
Спасибо за внимание!