Во-первых, прошу прощения за плохой английский. Я все еще изучаю это. Вот оно:
Когда я размещаю один веб-сайт на IP-адрес, я могу использовать «чистый» SSL (без SNI), и обмен ключами происходит еще до того, как пользователь сообщит мне имя хоста и путь, который он хочет получить. После обмена ключами можно безопасно обмениваться всеми данными. При этом, если кто-то обнаруживает сеть, утечка конфиденциальной информации не происходит * (см. Сноску).
С другой стороны, если я размещу несколько веб-сайтов на один IP-адрес, я, вероятно, буду использовать SNI, и поэтому посетитель моего веб-сайта должен сообщить мне имя целевого хоста, прежде чем я смогу предоставить ему правильный сертификат. В этом случае кто-то, прослушивающий его сеть, может отслеживать все домены веб-сайтов, к которым он обращается.
Есть ли ошибки в моих предположениях? Если нет, не представляет ли это проблему конфиденциальности, если пользователь также использует зашифрованный DNS?
Сноска: я также понимаю, что сниффер может выполнить обратный поиск по IP-адресу и выяснить, какие веб-сайты были посещены, но имя хоста, передаваемое в виде открытого текста через сетевые кабели, похоже, упрощает блокировку домена на основе ключевых слов для органов цензуры.
Ваш анализ неверен. С SNI вы в большей безопасности, чем без него.
Без SNI IP-адрес однозначно идентифицирует хост. Таким образом, любой, кто может определить IP-адрес, может определить хост.
При использовании SNI IP-адрес не однозначно идентифицирует хост. Кто-то должен будет фактически перехватить и просмотреть часть трафика, чтобы определить точный хост. Это сложнее, чем просто получить IP-адрес.
Таким образом, вы (немного) в большей безопасности с SNI, чем без него.
Любой, кто собирается блокировать на основе навязчивого анализа пакетных данных, также будет блокировать на основе IP-адреса. Они будут блокировать «плохие» на основании IP-адреса с SNI или без него.
Однако ответ на ваш вопрос - «да». SNI действительно представляет собой проблему конфиденциальности. С SNI тот, кто может перехватить трафик, получает имя хоста в дополнение к IP-адресу.
Ты прав. SNI представляет собой серьезную проблему конфиденциальности для ваших посетителей - он предоставляет точные веб-сайты, к которым ваши посетители подключаются, их интернет-провайдеру и другим сторонам пассивного прослушивания. Но потом, DNS ... ну ... привык: google исправляет это: -
https://thehackernews.com/2017/10/android-dns-over-tls.html
Знание IP-адреса НЕ сообщает интернет-провайдеру, какой веб-сайт находится на этом IP-адресе, если только они не выходят и не ищут самих себя, а это совсем другое дело, чем пассивное прослушивание клиентских пакетов.