Компания eQualite опубликовала выпуск мобильного web-браузера CENO 1.4.0, предназначенного для организации доступа к информации в условиях цензуры, фильтрации трафика или отключения сегментов интернета от глобальной сети. В качестве основы используется Firefox for Android (Mozilla Fennec). Связанная с построением децентрализованной сети функциональность вынесена в отдельную библиотеку Ouinet, которая может быть использована для добавления средств обхода цензуры в произвольные приложения. Наработки проекта распространяются под лицензией MIT. Готовые сборки доступны в Google Play.
Браузер CENO и библиотека Ouinet позволяют получить доступ к информации в условиях активной блокировки прокси-серверов, VPN, шлюзов и прочих централизованных механизмов обхода фильтрации трафика, вплоть до полного отключения интернета в цензурируемых областях (при полной блокировке контент может раздаваться из кэша или локальных накопителей). Для обмена данными создаётся P2P-сеть, в которой пользователи участвуют в перенаправлении трафика к внешним шлюзам (injector), обеспечивающим доступ к информации в обход фильтров.
Проект также предусматривает кэширование контента на стороне каждого пользователя с поддержанием децентрализованного кэша популярного контента. При открытии пользователем сайта загруженное содержимое кэшируется и становится доступным участникам P2P-сети, которые не могут получить прямой доступ к ресурсу или к шлюзам для обхода блокировки. На каждом устройстве хранятся только данные, непосредственно запрошенные с этого устройства. Идентификация находящихся в кэше страниц осуществляется с использование хэша от URL, при этом все связанные со страницей дополнительные данные, такие как изображения, скрипты и стили, группируются и отдаются вместе по одному идентификатору.
Для получения доступа к новому контенту, прямой доступ к которому заблокирован, применяются специальные прокси-шлюзы (injector), которые размещаются во внешних частях сети, не подверженных цензуре. Информация между клиентом и шлюзом шифруется с использованием шифрования на базе открытых ключей. Для идентификации шлюзов и предотвращения внедрения вредоносных шлюзов применяются цифровые подписи, а ключи сопровождаемых проектом шлюзов включены в поставку браузера.
Для доступа к шлюзу в условиях его блокировки поддерживается подключение по цепочке через других пользователей, которые выступают в роли прокси для проброса трафика к шлюзу (данные шифруются ключом шлюза, что не позволяет транзитным пользователям, через системы которых передаётся запрос, вклиниться в трафик или определить содержимое). Клиентские системы внешние запросы от имени других пользователей не отправляют, а либо отдают данные из кэша, либо используются в качестве звена для установки туннеля к прокси-шлюзу.
При этом CENO не обеспечивает анонимность и информация о отправляемых запросах доступна для анализа на устройствах участников (злоумышленник может получить информацию о данных, запрашиваемых или отдаваемых из кэша другим пользователям, а также определить, что пользователь обращался к определённому сайту по хэшу). Обычные запросы вначале браузер пытается доставить напрямую, а если прямой запрос не проходит – выполняет поиск в распределённом кэше. При отсутствии URL в кэше информация запрашивается через подключение к прокси-шлюзу или обращение к шлюзу через другого пользователя. Конфиденциальные данные, такие как cookie, в кэше не сохраняются.
Для конфиденциальных запросов, например, требующих подключения к своей учётной записи в почте и социальных сетях, предлагается использовать отдельную приватную вкладку, при использовании которой данные запрашиваются только напрямую или через прокси-шлюз, но без обращения к кэшу и без оседания в кэше.
Каждая система в P2P-сети снабжается внутренним идентификатором, который используется при маршрутизации в P2P-сети, но не привязан к физическому местоположению пользователя. Достоверность передаваемой и сохраняемой в кэше информации обеспечивается через применение цифровых подписей (Ed25519). Передаваемый трафик шифруется при помощи TLS. Для доступа к информации о структуре сети, участниках и прокэшированном контенте применяется распределенная хэш-таблица (DHT). При необходимости в качестве транспорта помимо HTTP могут использоваться µTP или Tor.
Изменения в новом выпуске:
- Предоставлена возможность доступа к данным, хранящимся в локальном кэше текущей системы, что позволяет нескольким пользователям в локальной сети предоставлять друг другу доступ к ранее загруженному контенту в полностью изолированных сетях, не имеющих доступа к интернету. Обмен данными в том числе возможен на стадии до загрузки распределённой хэши-таблицы (DHT).
- В список узлов, используемых для подключения к сети, добавлен IP-адрес одного из узлов на случай сбоев в работе DNS.
- Расширены возможности для отладки сбоев.
- В состав включено браузерное дополнение “HTTPS by default”, по умолчанию включающее обращение по протоколу HTTPS.
- Диалог “no Wi-Fi” преобразован в “on mobile data” и теперь показывается при работе через сеть мобильного оператора, независимо от состояния Wi-Fi.
- Обновлены версии CENO Extension 1.4.2 и Ouinet client 0.18.2.