Возможно ли будет взломать пароль с динамической солью которая нигде не хранится?
чем будет отличаться просто пароль от пароля с этой солью на клиенте? пароль с такой солью снова становится просто паролем. взламывается также, как и простой пароль.
Возможно: ловится хеш (hash(password+hash(слово))) через MiTM и авторизуется кто угодно дальше под этим хешем.
UDP: password+hash(слово) = пароль2, который также подбирается.
Чуть надёжнее, так:
1. На приветствие клиента, сервер генерирует случайную соль и отвечает ею: RSALT
2. Клиент хеширует пароль этой солью, добавив свой случайный параметр RANDOM и свою случайную соль SALT для получения парольного ключа: HKEY=hash(pass+SALT), затем отсылает на сервер 2 параметра:
HASH=hash(RSALT+RANDOM+HKEY), RANDOM
(SALT - также сохраняем на клиенте для последующих авторизаций!)
3. Сервер сохраняет (при установке/смене пароля): HKEY
4. Проверка при авторизации: HASH===hash(RSALT+RANDOM+HKEY)
Таким образом, соль - хранит у нас клиент, а сервер - генерит всегда уникальный запрос.