Вопрос

у меня есть вопрос относительно следующего сценария:
Я хочу использовать jasypt для шифрования моего пароля и использовать определенную соль для шифрования.

Имеет ли это смысл (или есть ли какие-либо последствия для безопасности), если :
Я использую шифрование на основе пароля для шифрования соли паролем, который я получаю из переменной окружения, таким образом, я могу иметь зашифрованное значение соли в файле свойств, получить его оттуда, расшифровать его с помощью пароля, который я получаю из переменной окружения (на самом деле у меня будет объект EnvironmentStringPBEConfig, который, в свою очередь, получает переменную окружения из объекта EnvironmentStringPBEConfig и удаляет переменную окружения после создания EnvironmentStringPBEConfig) и, наконец, использовать соль.

Спасибо.

Редактировать:пожалуйста, обратите внимание, что я хотел бы знать, является ли "скрытие" соли, как описано выше, хорошей практикой, я не внедряю такое решение прямо сейчас.

Редактировать:Также, пожалуйста, обратите внимание на следующие рекомендации от OWASP ( ОВАСП ).

Рекомендация:Чтобы было трудно украсть всю соль целиком

Существует ряд дополнительных рекомендуемых усовершенствований базового механизма засолки для рассмотрения:

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

Рекомендация:Выделение соли

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

Нет правильного решения

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top