Отправка паролей на сервер - PullRequest
4 голосов
/ 31 января 2012

Поскольку мой веб-сервер не позволяет использовать ключевые слова PHP_AUTH_USER и PHP_AUTH_PW из-за CGI ( Полковник Шрапнели в 'PHP_AUTH_USER не задан?' ) Я изучаю некоторые другие способы отправить пароль пользователя на сервер.

Отправка пароля в виде открытого текста с использованием POST не нужна: перехват пакетов и просмотр заголовка показывает пароль. Поэтому я мог бы сначала хэшировать пароль. Но кто-то, перехватив пакет и скопировав хэш и имя пользователя, может войти в систему, используя эту информацию, верно?

Создание динамического хэша с использованием временной метки может помешать копированию хеша. Отправка пароля как (timestamp + hash(password+timestamp)) (Last.FM использует что-то вроде этого). Затем сервер может вычесть метку времени (проверить, не истек ли он или что-то в этом роде), хэшировать известный пароль и проверить, совпадают ли они. Но тогда пароль должен быть известен серверу, поэтому остается вопрос:

как безопасно передать этот пароль на сервер при регистрации?

Тогда есть https, требующий SSL-сертификат, который мне недоступен (не стоит денег (пока?)).

Есть мысли?

p.s. В конце я хочу аутентифицировать приложение Android на своем веб-сервере

Ответы [ 2 ]

1 голос
/ 31 января 2012

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

0 голосов
/ 02 февраля 2012

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

Это хеширование с отметкой времени, и в конечном итоге это будет означать безопасность.сквозь мрак ( связанный вопрос ).

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

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