2012-02-16 5 views
-1

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

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

спасибо.

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

EDIT: Также обратите внимание на следующие рекомендации от OWASP.

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

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

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

Рекомендации: Соль Изоляция

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

ответ

2

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

+0

Идея заключается в том, что сложно найти соль только для предосторожности, пожалуйста, также обратите внимание, что мой вопрос начинается с «это имеет смысл», я не сказал, что на самом деле делаю это так, я просто хочу знать, будет ли это считаться хорошей оценкой, чтобы также скрыть соль, как описано выше. –

+0

Также обратите внимание на рекомендации OWASP i, включенные в вопрос, спасибо –

Смежные вопросы