Я заинтересован в вопросе обеспечения безопасности сеансов PHP без использования SSL.Защитить аутентифицированный сеанс PHP с сеанса Увлечение пакетом sniffing
Для моего удивления, если человек-в-середине обнюхивает пакеты, обмениваемые между пользователем и сервером, очень легко украсть сеанс, даже если он аутентифицирован. Я знаю, что есть некоторые тактики для ограничения ущерба, например, изменение сеанса при входе/выходе из системы, запись/проверка параметров пользовательской системы (например, ОС, браузер).
Однако, если во время сеанса, который уже прошел аутентификацию и не выходил из системы (также не было времени на тайм-аут), злоумышленник может получить идентификатор сеанса, тогда он может легко захватить сеанс (насколько это возможно Я понимаю проблему).
Я подумал о возможном решении, при котором во время аутентификации входа, который зашифрован, сервер может отправить случайный пароль сеанса клиенту. Пароль сеанса будет действителен только во время сеанса входа в систему. Поэтому каждое сообщение, обменянное во время этого сеанса, должно было быть подписано с использованием пароля сеанса (например, MD5 (сеанс-пароль + содержимое сообщения)).
Исправлена ли проблема? Каковы недостатки этого подхода, если атакующий не может криптоанализировать начальную регистрацию?
Не обижайтесь, но считайте, что используете только SSL ... это может стоить от $ 49 до $ 100 в год, но это намного дешевле, чем платить разработчикам за сохранение пользовательской «схемы безопасности» –
+1. Кроме того, @ João Salada, как будет отправлен случайный пароль сеанса без SSL? –
без обид! ;) Я просто хочу развить свой блог с нуля, чтобы понять, каковы основные проблемы, как этот. но использование ssl - огромный перебор, когда вам не нужно иметь конфиденциальность (мое мнение). Эта схема, хотя я и думаю, кажется очень простой, хотя ... Вот почему я хотел спросить, разрешает ли она проблему, или она ошибочна. – Leaurus