@Nwton

Порядок работы с паролем юзера?

Пытаюсь разобраться с элементарной авторизацией пользователя. Возник ряд вопросов про работу с паролем:
1) Т.к. соединение https, mid man не сможет перехватить пасс и его можно смело отправлять в чистом виде?
2) На сервере пасс шифруется: 3 итерации sha256(пароль + уникальная соль юзера + 'доп. соль строка') и кладется в бд.
-если кто-то получит доступ к чтению базы, то подобрать пасс не сможет, т.к. помимо уникальной соли, есть доп. соль в самом скрипте
-если кто-то получит доступ к ред. базы, то подмена уник. соли и хэша пароля не поможет по той же причине
Здесь мне не понятно, для чего все же используется уникальная соль, ведь у злоумышленника все равно нет доступа к дополнительной?
3) Каких средств защиты не хватает?
  • Вопрос задан
  • 301 просмотр
Решения вопроса 1
Jump
@Jump
Системный администратор со стажем.
1)Да, для этого https и создан, чтобы можно было обмениваться данными не боясь перехвата.
2)Ни в коем случае! Пароль на сервере не шифруется и никуда не записывается. он сразу же уничтожается.
Хранится только хэш пароля! На случай утечки хэшей, дабы усложнить подбор методом брутафорса, и радужных таблиц используется соль. Соль можно хранить в базе рядом с хэшем, можно генерировать динамически на основании каких-то данных. Используется соль следующим образом - соль добавляется к паролю, после чего получившуюся строку хэшируют.
3)Что касается паролей - вроде все, непонятно что еще может потребоваться, разве что у вас какая-то хитрая задача.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
1. Всё что проходит по сети - лучше шифровать даже, если это идёт внутри SSL.
2. Пасс не шифруется, а хешируется. (если кто-то получит доступ к БД, значит он 99% уже получил доступ к скрипту)
3. Понимания логики функционирования системы аутентификации + знаний.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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