@greenTransistor

Нужно ли солить хеш длинного случайного сессионного ключа в БД?

Если сессионный ключ случайный и имеет длину 256 бит (или больше), то ни радужнык таблицы, ни брутфорс хеша (который, естественно, тоже должен иметь не меньшую длину) не кажутся реальными, поэтому предполагаю, что для достаточно просто хранить хеш от сессионного ключа. Так ли это, или всё же лучше посолить? Какие возможные уязвимости я не учел? О том, что SQL-инъекция - не единственный способ перехвата сессии, я знаю,есть еще как минимум XSS и фишишг, но я рассматриваю сейчас сценарий похищения базы данных.
  • Вопрос задан
  • 720 просмотров
Пригласить эксперта
Ответы на вопрос 4
@RidgeA
Не знаю что не учтено, но наличие соли позволит очень быстро инвалидировать все сессионные ключи.
Я бы предпочел добавить какую-то соль как минимум из-за этих соображений.
Ответ написан
teke_teke
@teke_teke
programador
сессионный ключ -- это временный ключ на 2 недели, который генерится случайным образом и не зависит от пароля пользователя ни как. так у вас? если да, то зачем там что-то инвалидировать и солить?
Ответ написан
vesper-bot
@vesper-bot
Любитель файрволлов
Зачем солить рандом? Соль нужна для рандомизации заведомо нерандомных величин, её наличие дает защиту от подбора исходного значения по хэшу через рандомные таблицы путем увеличения площади перебора в степени от длины. А если исходник и так длинный и случайный, его и так не подобрать. Не нужно.
Ответ написан
Комментировать
@Mercury13
Программист на «си с крестами» и не только
Для чего вообще солят хэши? Против сливов БД: если хэши ушли, по ним сложно восстановить пароли.
• Если при подозрении на слив мы можем перегенерировать ключи или объявить их просроченными;
• Если ключи держатся где угодно, только не в БД;
• Если ключи настолько длинны и случайны, что сложновато будет обратить алгоритм объединёнными хакерскими силами
— то зачем?

Впрочем, не забывайте, что хэшируя, вы автоматически снижаете криптостойкость вашего алгоритма до длины хэша. А может, проще изначально делать ключи такой длины?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы