Надлежащее устройство хранения данных пароля и извлечение для сервисных учетных записей?

Большая часть информации, которую я нашел и считал о надлежащем хранении паролей в базе данных, говорит, что я должен Хешировать открытый текст пароля с уникальным соленым значением для каждого пользователя и затем сохранить тот хеш в базе данных. Но этот процесс не работает на мои потребности...

Мне записали сервис окон в C#, который должен соединиться с другими удаленными машинами в различных центрах обработки данных с помощью определенных сервисных учетных записей. Эти сервисные учетные записи похожи на учетные записи пользователя домена, но нет никаких настоящих людей позади них, и у них просто есть верные полномочия выполнить сервисную полезную нагрузку на каждом определенном сервере. Сервисная информация учетной записи хранится в таблице SQL Server включая пароль для каждой учетной записи. В настоящее время я использую симметричное шифрование (Rijndael) для запутывания паролей в Таблице базы данных. Ключ сохраняется в отдельном файле конфигурации, который имеет строгие права доступа.

Каждый раз сервис имеет запланированную полезную нагрузку, чтобы работать на удаленной машине, я поиск соответствующая информация о сервисной учетной записи о таблице и дешифровать его с помощью ключа. Существует также внутренний веб-сайт, который является в основном фронтендом для управления различными настройками для этого сервиса, и там администратор может просмотреть и изменить пароль сервисных учетных записей.

Действительно ли это - хороший подход к хранению безопасных вещей? Есть ли в этой схеме какие-либо очевидные дефекты?

7
задан λ Jonas Gorauskas 7 August 2010 в 22:17
поделиться