Может ли URL быть прочитан третьими лицами при просмотре через HTTPS?


32

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

Например, я посещаю

https://www.website.com/data/abc.html

Узнает ли интернет-провайдер, что я получил доступ к * / data / abc.html, или просто узнаю, что я посетил IP-адрес www.website.com?

Если они знают, то почему в Википедии и Google есть HTTPS, когда кто-то может просто прочитать интернет-логи и узнать точное содержимое, просмотренное пользователем?


7
Подсказка: если вы не зарегистрируете свою учетную запись, зайдите в это место с разных IP-адресов и не сохраните свой файл cookie, участие в Super User будет немного… фрагментированным, что означает, что вы даже не можете принимать ответы на свои собственные сообщения Или добавьте комментарии. Я настоятельно рекомендую вам зарегистрировать аккаунт здесь.
slhck

Ответы:


48

Слева направо:

Схема https: , очевидно, интерпретируется браузером.

Доменное имя www.website.com разрешается в IP - адрес с помощью DNS. Ваш провайдер увидит DNS-запрос для этого домена и ответ.

Путь /data/abc.html отправляется в запросе HTTP. Если вы используете HTTPS, он будет зашифрован вместе с остальной частью HTTP-запроса и ответа.

Строка запроса ?this=that , если он присутствует в URL, отправляется в запросе HTTP - вместе с пути. Так что это также зашифровано.

Фрагмент #there , если присутствует, не передается в любом месте - это интерпретируется браузером (иногда JavaScript на возвращаемой странице).


3
Вы забыли, что современные браузеры, поддерживающие SNI, объявляют имя хоста в виде обычного текста даже для запросов HTTPS.
Месье

9
@Kurian: Это мало что значит, так как имя хоста уже «объявлено» DNS.
grawity

2
@Kurian: IP-адрес может быть получен другими способами, но на практике это редко. А рассмотрение отдельного протокола без учета того, как он на самом деле используется, склонно пропускать важные части.
Иоахим Зауэр

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

13

Интернет-провайдер узнает только о том, что вы посетили связанный с ним IP-адрес www.website.com(и, возможно, URL-адрес, если вы используете их DNS и они специально ищут трафик - если DNS-запрос не проходит, он этого не увидит).

(Потерпи меня немного здесь - я получу ответ.)

Протокол HTTP работает, подключившись к порту (обычно к порту 80), а затем веб-браузер сообщает серверу, какую страницу он хочет. Простой запрос для поиска http://www.sitename.com/url/of/site.htmlбудет иметь следующие строки:

ПОЛУЧИТЕ /url/of/site.html HTTP / 1.1
хост: www.sitename.com

HTTPS делает то же самое, за исключением порта 443 - и он оборачивает весь сеанс TCP (т. Е. Все, что вы видите в приведенном выше бите, плюс ответ) в сеанс с шифрованием SSL - поэтому провайдер не видит никакого трафика ( но они могут быть в состоянии вывести что-то на основе размера сайта и поиска DNS для разрешения www.sitename.comIP-адреса в первом случае).

Конечно, если на странице есть «веб-ошибки», это может дать «партнерам» распространителей информации подсказки о том, что вы просматриваете и кем вы являетесь - аналогично, если ваша цепочка доверия нарушена, провайдер может выполнить эту задачу. атака "человек посередине". Теоретически, причина, по которой вы можете использовать частное сквозное шифрование, заключается в том, что сертификаты CA распространяются вместе с вашим браузером. Если интернет-провайдер или правительство могут добавить сертификат CA или поставить под угрозу CA - и то, и другое произошло в прошлом - вы потеряете свою безопасность. Я считаю, что Великий брандмауэр Китая эффективно проводит атаки «человек посередине» для чтения HTTPS-данных, но с тех пор, как я был там, прошло довольно много времени.

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


0

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

Ответы здесь показывают, что должно произойти. Вопрос в том, можно ли прочитать этот URL. Ответ на этот вопрос - да, хотя это относительно маловероятно.

Злоумышленник (сторонний) может абсолютно перехватить ваш https-трафик и прочитать все ваши запросы в определенных случаях. Чтобы узнать больше, я пригласил вас прочитать MITM, а также SSLStrip . Я могу вдаваться в подробности, если это необходимо для понимания.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.