У меня есть вопрос о следующем:
Я хочу использовать jasypt для шифрования моего пароля и использования определенной соли для шифрования.Солевое сокрытие, скрытие
Имеет ли смысл (или есть ли безопасность импликация), если:
Я использую шифрование на основе пароля для шифрования соли с паролем, который я получаю от переменного окружения, таким образом я могу иметь шифрованное значение соль в файле свойств, получить его оттуда, расшифровать его с помощью пароля, который я получаю из переменной окружения (на самом деле у меня будет объект EnvironmentStringPBEConfig, который, в свою очередь, получает переменную окружения из объекта EnvironmentStringPBEConfig и удаляет переменную окружения после того, как EnvironmentStringPBEConfig) и, наконец, использовать соль.
спасибо.
Редактировать: обратите внимание, что я хотел бы знать, является ли «скрытие» соли, как описано выше, хорошей практикой, я не реализую такое решение прямо сейчас.
EDIT: Также обратите внимание на следующие рекомендации от OWASP.
Рекомендация: Сделать это трудно, чтобы украсть всю соль
Там целый ряд дополнительных рекомендуемых усовершенствований основного механизма посола для рассмотрения:
Have соли установлен дополнительный «система», которая является фиксированное значение для всей системы. Это должно храниться в файле конфигурации где-нибудь. Это фиксированное значение не обязательно должно включаться в каждую резервную копию, что еще более усложняет атакующему компрометацию всех элементов, необходимых для правильного вычисления значения хэш-функции. Внедрение части системной соли в исходный код. Это не было бы полезно для открытого исходного кода, но для пользовательских приложений часть части вашей системы в коде была бы еще одним элементом, требуемым злоумышленником для правильного вычисления хеш-значения. Создание новой соли для учетной записи при каждом изменении пароля пользователя.
Рекомендации: Соль Изоляция
Дополнительный защитный механизм хранения паролей включает в себя хранение соли в ином месте, чем хэш пароля. Использование файловой системы сервера является одним из широко используемых механизмов изоляции солей, предполагая, что хеши паролей хранятся в разных местах, таких как база данных или сервер LDAP. Этот защитный механизм снижает риск кражи пароля при краже файла базы данных, поскольку соли не будут включены в данные базы данных. Будьте осторожны, чтобы гарантировать, что и хеши паролей, и соли не будут скопированы вместе, они также должны быть скопированы изолированно.
Идея заключается в том, что сложно найти соль только для предосторожности, пожалуйста, также обратите внимание, что мой вопрос начинается с «это имеет смысл», я не сказал, что на самом деле делаю это так, я просто хочу знать, будет ли это считаться хорошей оценкой, чтобы также скрыть соль, как описано выше. –
Также обратите внимание на рекомендации OWASP i, включенные в вопрос, спасибо –