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