2008-10-09 2 views
407

При отправке данных через HTTPS я знаю, что содержимое зашифровано, однако я слышу смешанные ответы о том, зашифрованы ли заголовки или сколько зашифровано заголовка.Зашифрованы ли заголовки HTTPS?

Сколько HTTPS-заголовков : зашифровано?

В том числе GET запрос/POST URL, печенье и т.д.

+6

HTTP-заголовки по HTTPS зашифрованы, а также не HTTP-сжаты (даже если тело есть). Это делает их менее уязвимыми для атак, связанных с сжатием, таких как BEAST – 2015-03-18 18:11:28

ответ

382

Вся партия зашифрованного - все заголовки. Вот почему SSL на vhosts не работает слишком хорошо - вам нужен выделенный IP-адрес, потому что заголовок Host зашифрован.

Стандарт идентификации сервера (SNI) означает, что имя хоста не может быть зашифровано, если вы используете TLS. Кроме того, если вы используете SNI или нет, заголовки TCP и IP никогда не зашифровываются. (Если они были, ваши пакеты не будут маршрутизироваться.)

+2

@Greg. Поскольку разрешен шлюз vhost, не удалось ли их дешифровать, наблюдать за заголовком хоста, а затем определить, к какому хосту следует отправлять пакеты? – Pacerier 2014-12-12 03:31:43

+0

Сам URL-адрес Afaik не зашифрован. – Teddy 2015-11-16 07:54:34

+2

@Teddu, что вы подразумеваете под «сам URL-адрес не зашифрован». Он зашифрован, так как он является частью заголовка. – 2017-02-02 15:43:20

37

С SSL шифрование находится на уровне транспорта, поэтому оно имеет место до отправки запроса.

Так что все в запросе зашифровано.

+0

Поскольку SSL происходит на транспортном уровне, а назначение адреса назначения в пакетах (в заголовке) происходит на сетевом уровне (который ниже транспорта), то как шифруются заголовки? – 2017-02-10 09:26:55

76

Заголовки полностью зашифрованы. Единственная информация, проходящая через сеть «в ясности», связана с настройкой SSL и обменом ключами D/H. Этот обмен тщательно разработан, чтобы не давать какую-либо полезную информацию для подслушивающих устройств, и как только это произошло, все данные зашифрованы.

29

HTTPS (HTTP over SSL) отправляет весь HTTP-контент через SSL-туннель, поэтому HTTP-содержимое и заголовки также зашифровываются.

42

HTTP-версия 1.1 добавила специальный HTTP-метод CONNECT - предназначенный для создания SSL-туннеля, включая необходимые протокольные квитирование и криптографическую настройку.
Обычные запросы после этого все отправляются, завернутые в туннель SSL, заголовки и корпус включительно.

40

Новый ответ старый вопрос, извините. Я думал, что добавлю свои $ .02

ОП спросил, были ли заголовки зашифрованы.

Это: в пути.

Они НЕ: когда они не в пути.

Таким образом, URL вашего браузера (и название в некоторых случаях) может отображать запрос (который обычно содержит наиболее важные данные) и некоторые детали в заголовке; браузер знает некоторую информацию заголовка (тип контента, юникод и т. д.); история браузера, управление паролями, избранное/закладки и кешированные страницы будут содержать запрос. Журналы сервера на удаленном конце также могут содержать последовательность запросов, а также некоторые детали содержимого.

Также URL-адрес не всегда безопасен: домен, протокол и порт видны - в противном случае маршрутизаторы не знают, куда отправлять ваши запросы.

Кроме того, если у вас есть прокси-сервер HTTP, прокси-сервер знает адрес, обычно они не знают полного запроса.

Так что, если данные движутся, они, как правило, защищены. Если он не находится в пути, он не зашифрован.

Не забудьте выбрать, но данные в конце также дешифрованы и могут быть проанализированы, прочитаны, сохранены, переадресованы или отброшены по желанию. И вредоносная программа с обоих концов может принимать моментальные снимки данных, входящих (или выходящих) из протокола SSL, например (плохой) Javascript внутри страницы внутри HTTPS, которая может тайно совершать вызовы http (или https) для ведения журналов веб-сайтов (поскольку доступ к локальному жесткому диску часто ограничено и не полезно).

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

Что касается кеша, то большинство современных браузеров не будут кэшировать HTTPS-страницы, но этот факт не определяется протоколом HTTPS, он полностью зависит от разработчика браузера, чтобы не кэшировать страницы, полученные через HTTPS.

Так что если вы беспокоитесь об обнюхивании пакетов, вы, вероятно, все в порядке. Но если вы беспокоитесь о вредоносном ПО или о том, что кто-то просунул свою историю, закладки, куки или кеш, вы еще не вышли из воды.

5

URL-адрес также зашифрован, у вас действительно есть только IP-адрес, порт и SNI, имя узла, которое не зашифровано.

11

Да, заголовки шифруются. Написано here.

Все в сообщении HTTPS зашифровано, включая заголовки и загрузку запроса/ответа.

Смежные вопросы