Я читал о правильных процедурах для хранения и проверки паролей пользователей, и я немного озадачиваю солями.Соленые пароли
Я понимаю, что они должны избегать использования таких инструментов, как радужные таблицы, но для меня идея сохранения соли вместе с хешем кажется потенциальной проблемой безопасности. Слишком много данных в одном месте по моему вкусу.
Идея, которая у меня есть, что я хотел бы запускать люди, - использовать «счастливое число» для создания соли из части хеша пароля. В принципе, наряду с выбором пароля пользователь выбирает «счастливое число». Затем это число будет использоваться в качестве начального индекса для извлечения соли из хеширования.
Таким образом, очень простой пример был бы таким.
Pass = "Password"
Lucky Number = "4"
Pass Hash = "00003gebdksjh2h4"
Salt Length = "5"
Resulting Salt = "3gebd"
Мое мышление является то, что как «счастливый номер» не нужно будет хранить соль затем также принимать вычислительное время, чтобы работать и так делать любые атаки еще сложнее. Плюс означает сохранение немного меньше данных.
Это не добавило бы большей безопасности - самый подавляющий расчет на самом деле находит строковое сопоставление хэша. Ваши вычисления постоянны, что ничто по сравнению с этим. Достаточно иметь четкую (или практически отличную), но не тривиально простую («1», «2», ... и т. Д.) Соль для каждого хеша, который вы вычисляете. – lared
Спасибо за ответ. Это то, что я пытаюсь на самом деле опустить. Я думаю, если соль имеет фиксированную длину, то это всего лишь случай перехода через хэш, пока не найдете соль. Но что, если длина соли была переменной, основанной на «счастливом числе»? Будет ли это еще расчет по постоянному времени? – sidjames
Да, весь смысл хэширования состоит в том, что таблицы радуги предварительно вычисляются для заданного набора словарных комбинаций слов, и, используя какую-то тарабарщину в соли, вы не можете перевести хэш обратно на пароль (если только это не означает, что соль тоже) так как он также соединен с солью, поэтому с каждой новой солью нужно пересчитать радужный стол, что является чрезмерно дорогостоящим. Однако атаки на словарях все еще работают (и именно поэтому использование ников в одиночку, как соль, вообще не очень-то отличная идея - это часто слова, которые вы можете найти в словаре). – lared