Я хочу включить безопасный вход в систему на веб-сайте и, с учетом модели угрозы , мне интересно, смогу ли я безопасно вернуться к более быстрому простому соединению, как это:
- По безопасному соединению договоритесь о случайном токене
T
. Это хранится в куки.
- Сервер хранит
f(T)=hash(private_salt,T,username,password,$_SERVER['REMOTE_ADDR'])
T
предоставляется позже по незашифрованным соединениям. Сервер повторно вычисляет f(T)
для проверки подлинности соединения.
Идея состоит в том, что T не представляет никакой конкретной информации, и даже если она будет украдена, соединение с другим исходным IP-адресом приведет к вычислению другого f(T)
.
Очевидная слабость - кража сеанса за NAT. Допустим, мы можем отклонить это на практике. Вопрос сводится к следующему: насколько легко подделать соединение, сохранив $_SERVER['REMOTE_ADDR']
?
Этот сайт требует только умеренной безопасности. Там не будет чувствительного трафика. Модель угрозы в основном справляется с вандализмом. Мне нужно только сдерживать скучающих людей, а не русскую мафию. Учитывая это предположение, является ли вышеуказанный протокол достаточно безопасным?
Также давайте предположим, что это происходит с обычным веб-браузером и LAMP - для безопасной передачи пароля, https - единственная игра в городе? Похоже, что достаточно обмена ключами Диффи-Хеллмана или аналогичного (подражание серверу не входит в модель угроз) и не требует всей этой подписи. Существует ли для этого стандартный модуль apache / php, который поддерживается большинством браузеров?