Первый вопрос здесь :)Что является недостатком безопасности в этом процессе аутентификации по незащищенному HTTP?
Я читал много вопросов о том, как защитить логин на сайтах без https. Все они очень интересны, и большинство ответов сводятся к «Использовать SSL, если вы заботитесь о безопасности!». Я согласен с этим, но я также задаюсь вопросом, какой недостаток в этой конкретной процедуре (один пользователь (= меня), без сеансов: пароль всегда отправляется с полным содержимым тега <html>, который заменяет текущий содержимое этого файла):.
- сервер посылает две переменные на страницу: случайного маркера а и в = derivedfrom (A).
- клиент отправляет обратно md5 (пароль + отметка времени + B) и A.
- Сервер выводит B из A, чтобы выполнить тот же md5hash, что и клиент, и сопоставляет хэши сервера и клиента.
- Сервер допускает не более 1 запроса в секунду на каждый IP-адрес.
Предполагая, что злоумышленник знает все допустимые пары А и В, есть ли способ для него/ее подлинности успешно, кроме атак воспроизведения (в течение 100мс периода времени, что хэш является действительным) и чистой случайности, что он догадывается правильный хеш для данного конкретного периода времени?
Конечно, злоумышленник все равно может попробовать все возможные пароли, но это не изменяется с помощью https.
Я не предлагаю, чтобы это была полезная стратегия для сайтов, которые не могут использовать https, просто интересно, есть ли теоретический недостаток, о котором я не думал.
Как вы введете свой путь, если на данный момент на сайте нет трафика?
Спасибо за ваш ответ. Просто для того, чтобы прояснить несколько моментов: на сервере есть только один пароль, открытый (мой). Если сервер захвачен, у меня есть более серьезная проблема, чем раздача моего пароля. Однако то, что вы говорите, очень важно для защиты паролей других людей, просто не относится к этому случаю только одного пользователя. Что касается отметки времени, она округляется до 100 мс (или до 10 мс, если это доказывает достаточно надежную). Как именно вы предполагаете, что HTML будет изменен в моем браузере? –
Однако, полагая, что часы клиента и сервера отлично синхронизированы, в 100 мс клиент должен вычислить хэш и отправить его на сервер по сети. Если ваше интернет-соединение не достаточно быстрое, это всегда будет терпеть неудачу. Изменение HTML, когда вы не используете SSL, очень просто при выполнении атаки MITM. Проверьте такие инструменты, как ettercap. Вот простой скрипт, например: https://www.irongeek.com/i.php?page=security/ettercapfilter Вместо изображения вы можете изменить любой контент HTML (скрипты и т. Д.). – jackgu1988
Если вас интересует более подробная информация о нападении MITM, пожалуйста, проверьте здесь: http://security.stackexchange.com/questions/72652/javascript-injection-using-man-in-the-middle-attack – jackgu1988