Расположение соли , сокрытие соли
-
26-10-2019 - |
Вопрос
у меня есть вопрос относительно следующего сценария:
Я хочу использовать jasypt для шифрования моего пароля и использовать определенную соль для шифрования.
Имеет ли это смысл (или есть ли какие-либо последствия для безопасности), если :
Я использую шифрование на основе пароля для шифрования соли паролем, который я получаю из переменной окружения, таким образом, я могу иметь зашифрованное значение соли в файле свойств, получить его оттуда, расшифровать его с помощью пароля, который я получаю из переменной окружения (на самом деле у меня будет объект EnvironmentStringPBEConfig, который, в свою очередь, получает переменную окружения из объекта EnvironmentStringPBEConfig и удаляет переменную окружения после создания EnvironmentStringPBEConfig) и, наконец, использовать соль.
Спасибо.
Редактировать:пожалуйста, обратите внимание, что я хотел бы знать, является ли "скрытие" соли, как описано выше, хорошей практикой, я не внедряю такое решение прямо сейчас.
Редактировать:Также, пожалуйста, обратите внимание на следующие рекомендации от OWASP ( ОВАСП ).
Рекомендация:Чтобы было трудно украсть всю соль целиком
Существует ряд дополнительных рекомендуемых усовершенствований базового механизма засолки для рассмотрения:
Имейте дополнительную "системную" соль, которая является фиксированным значением для всей системы.Это должно быть сохранено где-нибудь в файле конфигурации.Это фиксированное значение не обязательно было бы включать в каждую резервную копию, что еще больше затрудняло бы злоумышленнику скомпрометировать все элементы, необходимые для правильного вычисления хэш-значения.Встраивание части системной соли в исходный код.Это было бы не так полезно для открытого исходного кода, но для пользовательских приложений наличие части вашей системной соли в коде было бы еще одним элементом, необходимым злоумышленнику для правильного вычисления значения хэша.Генерирует новую соль для учетной записи каждый раз, когда меняется пароль этого пользователя.
Рекомендация:Выделение соли
Дополнительный механизм защиты хранилища паролей включает хранение соли в месте, отличном от хэша пароля.Использование файловой системы сервера является одним из часто используемых механизмов изоляции salt, предполагая, что хэши паролей хранятся в другом расположении, таком как база данных или LDAP-сервер.Этот защитный механизм снижает риск кражи пароля при краже файла базы данных, поскольку соли не будут включены в данные базы данных.Будьте осторожны и убедитесь, что резервные копии хэшей паролей и солей не создаются вместе, они также должны создаваться изолированно.
Нет правильного решения
Другие советы
Почему вы хотите зашифровать соль?Соли обычно являются общедоступной информацией - они существуют только для предотвращения заранее вычисленных атак "радужной таблицы" в автономном режиме на базы данных паролей.Я думаю, вам нужно яснее представлять, что вы пытаетесь сделать и почему.