Предотвращение человека в средней атаке при использовании https - PullRequest
1 голос
/ 19 июня 2010

Я пишу небольшое приложение, похожее на omegle.У меня есть http-сервер, написанный на Java, и клиент, который является HTML-документом.Основным способом связи является http-запрос (длинный опрос).

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

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

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

Ответы [ 2 ]

3 голосов
/ 19 июня 2010

HTTPS не только выполняет шифрование, но и аутентификацию сервера.Когда клиент подключается, сервер показывает, что у него есть действительный и надежный сертификат для его домена.Этот сертификат не может быть просто подделан или воспроизведен человеком в середине.

1 голос

Простого включения HTTPS недостаточно, потому что в Интернете слишком много сложностей.

Прежде всего, убедитесь, что вы установили флажок безопасности на куки, иначе они могут быть украдены.

Также рекомендуется обеспечить пользователям доступ к сайту только путем ввода https://<yourdomain> в адресной строке. Это единственный способ убедиться, что сеанс HTTPS выполняется с действительным сертификатом. Когда вы набираете https://<yourdomain>, браузер откажется пускать вас на сайт, если только сервер не предоставит действительный сертификат для <yourdomain>.

Если вы просто наберете <yourdomain> без https: // перед браузером, браузеру все равно, что произойдет. Это имеет два значения, о которых я могу подумать: «1011 *»

  1. Злоумышленник перенаправляет на некоторый домен Unicode с похожим именем (то есть: выглядит одинаково, но имеет другую двоичную строку и, следовательно, является другим доменом), а затем злоумышленник предоставляет действительный сертификат для этого домена (так как он владеет ею), пользователь, вероятно, не заметит этого ...

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

...