В Firefox 85 разработчики добавят функцию сетевого разделения для улучшения защиты от слежения за действиями пользователей. Релиз версии запланирован на январь 2021 года.
Сетевое разделение — развитие стандарта Client-Side Storage Partitioning (разделение хранилища на стороне клиента). Стандарт разрабатывает группа из Консорциума Всемирной паутины. Члены Консорциума во главе с Тимом Бернерс-Ли, создают и внедряют технологические стандарты для интернета.
Разработчики Mozilla в обновлении версии 85 для Firefox добавят разделение следующих типов данных:
- HTTP-кэш;
- Кэш изображений;
- Кэш для фавиконов;
- Пул соединений;
- DNS;
- Аутентификация HTTP;
- Заголовки Alt-Svc;
- Спекулятивные предварительные соединения;
- Кэширование шрифтов;
- HSTS;
- OCSP;
- Промежуточный кэш центра сертификации (CA);
- Клиентские сертификаты TLS;
- Идентификаторы сеансов TLS;
- CORS-кэш;
- Теги Prefetch и Preconnect.
Браузер после добавления сетевого разделения также сможет лучше блокировать суперкуки. Они используют общие хранилища для данных пользователей, с которыми рекламодатели отслеживают перемещения пользователей в сети.
Разработчики Firefox добавляют наибольшее количество категорий для разделения данных, развивая функцию, уже интегрированную в Safari и Chrome. Apple хранит HTTP-кэш отдельно с 2013 года и постепенно добавляет другие категории. Google в прошлом месяце выпустила обновление Chrome 86, в котором также отделила HTTP-кэш.
При внедрении сетевого разделения возникает проблема некорректной работы сервисов, работа которых выстроена на cookie. Так, в прошлом месяце возникла проблема с Google Fonts, теперь шрифты кэшируются по другому. Команда разработки Mozilla рассказала, что «готова принять удар только для того, чтобы улучшить конфиденциальность пользователей».
В браузерах, кроме файлов cookie, есть большое количество способов для хранения данных с веб-сайтов. Среди них есть различные виды кэширования: HTTP, изображений, фавиконов, шрифтов, CORS и многие другие механизмы, которые можно использовать для отслеживания действий пользователей на сайтах. К такому отслеживанию прибегает большинство популярных сайтов. Но добавление сетевого разделения в Firefox позволит сохранять эти данные раздельно для каждого ресурса, пока что они хранятся в общем пуле. Разделение усложнит работу по отслеживанию пользователей рекламным и аналитическим компаниям. Они не получат доступ к информации в общем пуле. Об этом рассказал исследователь конфиденциальности Зак Эдвардс в интервью изданию ZDNet.
devopg
какая разница иконка закэшировалась как обычно vs хранится в спец отделе?
ultrinfaern
С помощью иконок можно отслеживать пользователя. И теперь, если кешировать отдельно для каждого сайта, то это уже работать не будет.
Vest
Но тогда и иконки будут для каждого ресурса скачиваться.
Правильно ли я это понял? Я не смотрел деталей реализации, но быть может разделение происходит на уровне origin.
dartraiden
bugzilla.mozilla.org/show_bug.cgi?id=1590107
А вот так это реализовано в Chrome
Vest
Спасибо, да, выходит, что они будут качать с CDN каждый раз для разных сайтов, потому что в этом случае cache key будет другим.
Я думал, что процент будет повыше.Интересно вот что:
dumistoklus
Так иконки и сейчас у каждого ресурса разные.
Balling
Вот только иногда на android chrome выгруженные вкладки получают иконку другого сайта. Например, google получает иконку соседней вкладки wikipedia. Жутко багованная штука.
edogs
Интересно как поступят с cdn в таком случае. То что иконки с фейсбука будут отдельно каждый раз для каждого сайта грузиться — ну, ок, можно пережить. Хотя, имхо, абсурд. Но не убьют ли этим cdn для общих либ — jquery там допустим и так далее, ведь раньше загрузил либу и она на всех сайтах берется из кэша, а сейчас, когда для каждого сайта свой кэш?
Yuriy_krd
Ну, в списке в статье про библиотеки — ни слова. Ну и это было бы верхом идиотизма, если бы еще и библиотеки хранились для каждого сайта отдельно. Я уже не говорю об объеме такого хранилища.
leotsarev
Хранят-хранят.
mwizard
Условный фейсбук может загрузить фавиконку другого сайта и проверить, за сколько она загрузилась. Если мгновенно, значит, она была в кэше, и этот сайт вы посещали.
Так как у условного фейсбука и его аффилиатов будет теперь свой локальный кэш, то загрузка фавиконки другого сайта ничего не даст — она загрузится мгновенно только в том случае, если сам фейсбук ее до того загружал, независимо от того, посещал ли этот сайт человек.
DmitryKoterov
А искусственную задержку (с рандомизатором) нельзя разве добавлять? Запоминать, сколько картинка грузилась в самый первый раз, и в следующий примерно на столько же задерживать ее получение из кэша. Или так и работает?
Oplkill
Тогда смысл Кеша теряется
edogs
Лишь отчасти теряется.
При искусственной задержке все же не забивается канал (свободен для других картинок, которые реально надо скачать), не тратится траффик (на скачивание этой картинки, что тоже может быть важно).
Но на самом деле поможет такое разделение в принципе лишь частично. В тех же фейсбуках и прочих по одному и тому же адресу будет разный контент в зависимости от залогиненности юзера — недоступные картинки допустим, поэтому возможность косвенного определения все же сохраняется.
DaemonGloom
Можно, но это убивает легитимное использование кэша. Если ждать в любом случае придётся столько же, то зачем вообще хранить иконку — можно заново скачать.
Я буду обновлять комментарии перед отправкойmPolr
Чтобы снизить нагрузку на сеть. Хотя кого это сейчас волнует?