Существует множество статей, объясняющих, как безопасно хранить пароль пользователя с помощью хеширования с солью: это хорошо для аутентификации, но не для хранения паролей.
Я хочу, чтобы мои пользователи могли сохранять учетные данные для веб-сайтов и служб в нашем программном обеспечении и позволяли им делиться этими учетными данными с коллегами. Очевидно, это невозможно сделать с помощью хеширования или использования их аутентификации Windows в качестве ключа, поскольку зашифрованное значение не будет расшифровано другими пользователями.
Какой у меня лучший вариант?
Обновлено: забыл упомянуть, что пользователи аутентифицируются в нашем программном обеспечении, используя свою личность Windows.
Если вы храните пароли, а затем хотите поделиться ими в другом месте, это означает, что вы хотите хранить их в незашифрованном виде; пользователями. Это редко бывает хорошей идеей. Если вы хотите хранить пароли и делиться ими, почему бы не использовать уже существующее приложение для паролей?
У меня может быть проблема XY @MitchWheat, вот в чем дело: у меня есть пользователи нашей системы бэк-офиса, которые записывают пароли в текстовые файлы на своем рабочем столе и делятся ими по электронной почте. Им нужно поделиться этими паролями, это сделано намеренно. Я хочу дать им более правильный способ сохранять организованность и делиться этими полномочиями. Я лично использую LastPass, но использование сторонних внешних сервисов невозможно. Моя первая мысль - добавить эту функциональность в уже используемое программное обеспечение для бэк-офиса.
Более чем одному человеку необходим доступ к внешним сервисам, которые мы используем, и у нас может быть только одна учетная запись на этих сервисах. Это вне нашего контроля: учетная запись для каждой компании.
Тогда используйте готовый "Сейф с паролем"
Хорошо, теперь вопрос в том, «Как в стандартном« Сейфе с паролями »хранятся пароли»?
В чем тогда ключ? Пароль? Сертификат?
«Я хочу, чтобы мои пользователи могли сохранять учетные данные для веб-сайтов и служб в нашем программном обеспечении и позволяли им делиться этими учетными данными с коллегами» - что скажете? Звучит как очень плохая идея и очень плохой дизайн. Не могли бы вы объяснить немного больше? Возможно, у вас проблема с XY?