Я выполняю авторизацию в своем приложении gwt, и в настоящий момент это делается следующим образом:
- Пользователь подписывается, вводя свои учетные данные в форме, и я отправляю их на ясный текст на сервер.
- Код сервера хэширует полученный пароль с помощью BCrypt и помещает хэш в базу данных.
- Когда пользователь входит в систему, его пароль отправляется с очисткой на сервер, который проверяет его на сохраненный хэш.
Теперь. Вещь, которая беспокоит меня об этом, заключается в том, что я отправляю пароль на сервер в ясном виде, я продолжаю думать, что я не буду очень доволен, если приложение, которое я использовал, делало это с моим (использование для- все-типа), но шифрование на клиенте не принесло бы мне ничего, поскольку злоумышленники могли просто использовать хешированный пароль, так как они были бы ясными.
Я был googling весь день для этого, и кажется, что Интернет вполне единодушно, когда дело доходит до этого - видимо, нет ничего получить от шифрования пароля на стороне клиента. Это, this и это - всего лишь несколько примеров обсуждений и страниц, которые я придумал, но есть много и много других, говорящих одно и то же.
Этот вопрос, в свете всего этого, может показаться немного ненужным, но я надеюсь, что у кого-то у меня будет другой ответ.
Что мне делать, , если ssl в данный момент не является опцией, чтобы облегчить мое мнение об этом? Есть ли что-нибудь, что можно сделать или будет внедрять какую-то схему шифрования-шифрования-сервера-сервера, просто будет трудоемкой слабой мертвой ногой?