Защита парольной аутентификации без SSL - PullRequest
3 голосов
/ 29 ноября 2011

Я знаю, что это плохая идея, но мне нужно это сделать. У меня около 8 недель до получения нового сервера, на котором я могу иметь работающее приложение SSL. Поэтому в течение следующих 8 недель мне нужно, чтобы кому-то было трудно подслушивать мое приложение.

Одна из идей, которые у меня возникли, заключалась в том, что когда пользователь вводил свой адрес электронной почты и пароль и нажимал кнопку входа, я записывал в базу данных очень уникальный и случайный пароль (возможно, временную метку + IP-адрес) в столбец «lastAttempt» рядом с его именем входа. подробности. Когда запрос достигает страницы сценария входа, он проверяет, пытался ли этот IP-адрес выполнить вход в систему за последнюю 1 минуту. Это должно как минимум доказать, что данные для входа пришли со страницы входа.

Я знаю, что не могу это остановить, но я бы хотел усложнить это. Существуют ли какие-либо другие методы, которые могли бы временно отключить перехватчики, пока я жду своего нового сервера с SSL?

UPDATE

Я понимаю, почему это предложение не сработало, я не уверен, почему оно даже пришло мне в голову, если честно, это куча мусора!

Ответы [ 3 ]

6 голосов
/ 29 ноября 2011

Предложенное вами решение не поможет.Цель SSL - предотвратить подслушивание пароля, когда он отправляется по проводам от браузера на ваш сервер, и никакие временные метки / проверка повторных входов в систему не помогут остановить это.

В отсутствие SSL вы мало что можете сделать, что действительно безопасно, в прямом смысле этого слова.Что может помочь, по крайней мере, небольшим образом - это использовать javascript для шифрования пароля перед его отправкой на ваш сервер.Еще лучше, если вы найдете библиотеку javascript, которая реализует настоящий алгоритм шифрования, предпочтительно с использованием открытых / закрытых ключей, поскольку метод шифрования будет открытым.

2 голосов
/ 29 ноября 2011

Непонятно, что заставляет вас думать, что проверка того, что пользователь пришел с определенной предыдущей страницы, предотвратит атаки. Почему злоумышленник не сможет сделать это?

Если вы хотите что-то более безопасное (хотя и не идеальное), переключитесь с аутентификации на основе форм на аутентификацию по дайджесту HTTP. Это немного нарушит ваш пользовательский интерфейс, поскольку оно опирается на всплывающее окно, реализованное в браузере (и не позволяет легко выйти без закрытия браузера), но по крайней мере имя пользователя и пароль не будут передается в открытом виде.

1 голос
/ 29 ноября 2011

Предложенное вами решение не предотвратит атаку.Имя пользователя и пароль, которые я использовал для получения токена аутентификации, который мы часто называем значением cookie в контексте веб-приложения.Если этот токен аутентификации передается в виде простого текста, значит, вы нарушаете owasp a9 .Короче говоря, предлагаемая система безопасности является абсолютно бесполезной .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...