Чи представляє SNI проблему конфіденційності для відвідувачів мого веб-сайту?


10

По-перше, мені шкода моєї поганої англійської мови. Я все ще вчуся цьому. Ось це іде:

Коли я розміщую один веб-сайт за IP-адресою, я можу використовувати "чистий" SSL (без SNI), і обмін ключами відбувається ще до того, як користувач навіть повідомить мені ім'я хоста та шлях, який він хоче отримати. Після обміну ключами всі дані можуть надійно обмінюватися. Однак, якщо хтось нюхає мережу, конфіденційна інформація не просочується * (див. Виноску).

З іншого боку, якщо я розміщую декілька веб-сайтів за IP-адресою, я, ймовірно, буду використовувати SNI, і тому мій відвідувач веб-сайту повинен повідомити мені цільове ім’я хоста, перш ніж я можу надати йому потрібний сертифікат. У цьому випадку хтось нюхаючи його мережу, може відслідковувати всі домени веб-сайту, до яких він отримує доступ.

Чи є помилки в моїх припущеннях? Якщо ні, це не означає проблему конфіденційності, якщо користувач також використовує зашифрований DNS?

Виноска: Я також розумію, що sniffer може зробити зворотний пошук по 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 залишаються постійно точними, знищуючи конфіденційність.).
cнд

@cnd Вам взагалі не потрібно "активно виходити на IP-адресу". Якщо ви можете пасивно нюхати SNI, ви можете пасивно нюхати IP-адресу. Або це у вашому списку сайтів, які ви переглядаєте, або це не так. І без SNI IP-адреса однозначно ідентифікує сайт. З SNI це не так.
Девід Шварц

0

Ти правий. SNI - це головне занепокоєння конфіденційності для ваших відвідувачів - він відкриває точні веб-сайти, з якими відвідувачі підключаються до своїх Інтернет-провайдерів та інших пасивних слухачів. Але тоді, як і DNS ... ну ... звик: google це виправляє: -

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

Знаючи IP-адресу, НЕ повідомляйте провайдеру, що таке веб-сайт за цією IP-адресою, якщо тільки вони активно не виходять і не виглядають самі, що зовсім інша річ, ніж пасивно нюхають клієнтські пакети.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.