Я не считаю это приемлемым решением.
Назначение HMAC - проверить целостность и подлинность данных. Таким образом, вы можете использовать его, чтобы убедиться, что информация не изменилась, и вы можете использовать его, чтобы убедиться, что у пользователя есть секретный ключ (в вашем случае пароль).
Что он не может сделать, так это некоторые другие вещи, которые может делать SSL, например, защита от прослушивания путем шифрования канала и проверки подлинности сервера для конечного пользователя.
Подслушивание: ничто не может помешать посреднику (MITM) наблюдать за этой транзакцией, перехватывать ответный ответ (дайджест HMAC) и отправлять его как свой собственный запрос (даже останавливая ответ от другого пользователя). .
Проверка идентификатора сервера: Одна из наиболее важных частей, которую вам здесь не хватает, - это защита ваших пользователей от обманутых фишером. Имея действующий сертификат SSL, ваши пользователи не смогут проверить, является ли сайт вашим или самозванцем. Вы пытаетесь защитить себя, проверяя подлинность конечного пользователя, что прекрасно, но вы забываете защитить конечного пользователя.
Мне было бы любопытно узнать, почему у вас нет SSL. Я часто это слышу и считаю, что обычная причина в том, что кто-то не хочет платить 50 долларов за сертификат. Но сертификат того стоит, и в среде, где важна безопасность, действительно не должно быть никаких технических причин, по которым SSL был бы недоступен.
person
Jason Dean
schedule
06.09.2011