Цитирование HTTPS RFC :
Когда рукопожатие TLS закончилось. Затем клиент может инициировать
первый HTTP-запрос. Все данные HTTP ДОЛЖНЫ быть отправлены как приложение TLS
данные».
По сути, сначала устанавливается безопасный канал SSL / TLS. Только тогда используется протокол HTTP. Это защитит весь трафик HTTP с помощью SSL, включая заголовки HTTP (которые содержат URL-адрес и файлы cookie).
Что может быть видно в рукопожатии, так это само имя хоста, так как оно содержится в сертификате сервера, которое будет ясно видно в рукопожатии (и зачастую легко угадать имя хоста, смотря на IP-адрес назначения в любом случае). ).
При использовании индикации имени сервера запрошенное имя хоста также должно отображаться в расширении server_name
в сообщении ClientHello
.
В противном случае может быть некоторая двусмысленность (для подслушивающего устройства), позволяющая угадать имя хоста из сертификата, если сертификат действителен для нескольких имен хостов (например, несколько дополнительных имен или подстановочных знаков субъекта). В этом случае прослушивание DNS-запроса от клиента может дать злоумышленнику ключ к разгадке.
Чтение ответов и комментариев других людей, некоторые упоминают проблемы с Referer
(потеряли r
в спецификации) и журналы.
Одним из оставшихся потенциальных слабых мест является как вы даете эту ссылку пользователю. Если он встроен в веб-страницу, обслуживаемую по обычному HTTP, любой, кто сможет прочитать эту страницу, сможет ее увидеть. Вы должны обслуживать такую страницу и по HTTPS. Если вы отправите эту ссылку по электронной почте, я бы сказал, что все ставки отключены, поскольку почтовые серверы редко шифруют соединения между собой и пользователями, а также часто получают доступ к своей учетной записи электронной почты без какого-либо шифрования.
EDIT:
Кроме того, если вы используете аутентификацию по сертификату клиента, сертификат клиента будет виден, если он был согласован во время первоначального рукопожатия. Это может привести к утечке имени пользователя, обращающегося к веб-сайту (часто DN субъекта содержат имя пользователя). Сертификат клиента не будет виден, если он будет отправлен во время повторного согласования рукопожатия.