Представляет ли SNI проблему конфиденциальности для посетителей моего сайта?

10

Во-первых, я извиняюсь за мой плохой английский. Я все еще учусь этому. Здесь это идет:

Когда я размещаю один веб-сайт на каждый IP-адрес, я могу использовать «чистый» SSL (без SNI), и обмен ключами происходит еще до того, как пользователь сообщает мне имя хоста и путь, который он хочет получить. После обмена ключами все данные могут быть безопасно обменены. Тем не менее, если кто-то обнаруживает, что нюхает сеть, конфиденциальная информация не пропускается * (см. Сноску).

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

Есть ли ошибки в моих предположениях? Если нет, не является ли это проблемой конфиденциальности, если пользователь также использует зашифрованный DNS?

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

Пальюка
источник
Что вы подразумеваете под "блокировкой домена на основе ключевых слов"? Как бы вы сопоставили домен с ключевым словом?
Дэвид Шварц
Примеры: сайты из определенного региона (* .com.br); от организации (* .google.com); *порно*; и т. д.
pagliuca

Ответы:

9

Ваш анализ неверен. С SNI вы в большей безопасности, чем без.

Без SNI IP-адрес однозначно идентифицирует хост. Таким образом, любой, кто может определить IP-адрес, может определить хост.

С SNI IP-адрес не уникально идентифицирует хост. Кто-то должен был бы фактически перехватить и просмотреть часть трафика, чтобы определить точный хост. Это сложнее, чем просто получить IP-адрес.

Таким образом, вы (немного) более защищены с SNI, чем без него.

Любой, кто собирается блокировать на основе навязчивого анализа пакетных данных, собирается также блокировать на основе IP-адреса. Они будут блокировать «плохие» на основе IP-адреса с SNI или без него.

Тем не менее, ответ на ваш вопрос "да". SNI действительно представляет проблему конфиденциальности. С SNI кто-то, кто может перехватить трафик, получает имя хоста в дополнение к IP-адресу.

Дэвид Шварц
источник
Спасибо за ответ. Так что SNI будет безопаснее только в тех случаях, когда злоумышленник начинает прослушивать только после того, как ключи уже обменены, я прав?
pagliuca
2
@pagliuca SSL на самом деле не предназначен для сокрытия того, с кем вы разговариваете, он предназначен для сокрытия того, что вы им говорите. Вы не собираетесь побеждать веб-фильтр, избегая отправки SNI; они хранят обширные базы данных IP-доменов. Вопрос в любом случае, так как клиентский браузер, поддерживающий SNI, всегда будет отправлять SNI независимо от того, нужен ли он вашему серверу.
Шейн Мэдден
@ShaneMadden Интересно. Зная это, теперь у меня нет причин не использовать SNI :), так как, скорее всего, у большинства пользователей уже есть браузеры, которые выставляют имя удаленного хоста в каждом запросе HTTPS.
pagliuca
1
Этот ответ неверен. Гораздо проще пассивно прослушать SNI (и точно знать, какой веб-сайт запрашивал посетитель), чем активно выходить на IP-адрес, чтобы угадать, что просматривал пользователь (на котором с подстановочными знаками может быть много веб-сайтов, и IP-адреса также меняются со временем, в то время как собранные данные SNI остаются постоянно точными для конфиденциальности.).
CND
@cnd Вам вообще не нужно «активно выходить на IP-адрес». Если вы можете пассивно прослушивать SNI, вы можете пассивно прослушивать IP-адрес. Либо это в вашем списке сайтов, которые вы смотрите, либо нет. А без SNI IP-адрес однозначно идентифицирует сайт. С SNI это не так.
Дэвид Шварц
0

Ты прав. SNI представляет собой серьезную проблему конфиденциальности для ваших посетителей - он предоставляет точные веб-сайты, с которыми ваши посетители связываются со своим интернет-провайдером и другими пассивными слушателями. Но затем, так что DNS ... ну ... привыкли: Google исправляет это: -

https://thehackernews.com/2017/10/android-dns-over-tls.html

Знание IP-адреса НЕ сообщает интернет-провайдеру, какой веб-сайт находится на этом IP-адресе, если только они не выходят активно и не смотрят сами, а это совсем не то, что они пассивно анализируют пакеты клиентов.

CND
источник