SHARE THE PERSPECTIVE

Поиск в зашифрованных чатах возможен потому, что устройство, которому разрешено читать сообщения, может и искать в них. Распространённый подход — создание локального индекса после расшифрования. Но сквозное шифрование само по себе не доказывает, что поисковые запросы никогда не покидают устройство, или что все мессенджеры используют одинаковую архитектуру поиска.

Это различие важно, когда поиск работает медленно, старые результаты исчезают или новый телефон не находит сообщения, видимые на старом. Полнота поиска, доступность ключей и синхронизация данных — отдельные вопросы.

Как работает локальный поисковый индекс

Приложение может преобразовать читаемые сообщения в индекс, который фиксирует, какие термины встречаются в каких сообщениях. Поиск обращается к индексу, а не просматривает каждое сообщение от начала до конца. Документация FTS5 SQLite описывает один из примеров технологии полнотекстового индексирования; её упоминание здесь не означает, что конкретный клиент Livara использует FTS5.

Типичная локальная схема включает четыре этапа:

  • Скачать или получить зашифрованное сообщение.
  • Расшифровать его с помощью разрешённых ключей устройства.
  • Добавить доступное для поиска содержимое в локальный индекс.
  • Вернуть результаты из данных, доступных на этом устройстве в данный момент.

Индекс содержит чувствительные данные. Даже если он не хранит полные предложения, термины и ссылки могут раскрывать содержание переписки. Его хранение, резервные копии, поведение при удалении и средства контроля доступа заслуживают такого же внимания, как база данных чата.

Всегда ли серверный поиск означает, что сервер читает всё?

Нет. Обычное индексирование открытого текста на сервере даёт сервису доступ к индексируемому содержимому, но это не единственный возможный вариант удалённого поиска. Криптографические исследования симметричного шифрования с возможностью поиска описывают способы поиска по зашифрованным данным, размещённым у внешнего поставщика, в рамках определённых моделей безопасности.

У этих методов есть собственные допущения и потенциальные утечки. Полезная оценка выясняет, что сервер узнаёт о повторных запросах, совпавших записях, шаблонах доступа и размерах результатов. Ни «поиск выполняется в облаке», ни «данные зашифрованы» сами по себе не отвечают на эти вопросы.

Подход Практическая польза Что следует выяснить
Локальный индекс Поиск по доступной истории без удалённого запроса Зашифрован ли индекс при хранении и исключён ли из небезопасных резервных копий?
Серверный индекс открытого текста Централизованное индексирование и поиск по сохранённым данным Кто имеет доступ к содержимому, запросам и журналам?
Схема зашифрованного удалённого поиска Может поддерживать определённые запросы по защищённым данным Какие утечки и допущения доверия допускает конструкция?
Смешанный поиск по публичным и частным данным Разная обработка публичного и частного содержимого Понятна ли пользователю область поиска?

По этой таблице нельзя ранжировать скорость. Значение имеют оборудование, качество индекса, объём сообщений, задержка сети и реализация. Для этой статьи измерения времени выполнения не проводились.

Почему сообщения могут отсутствовать в поиске

Прежде чем заключить, что история потеряна, определите границы проблемы:

  1. Видно ли сообщение в беседе? Если нет, поиск может отражать недоступность истории, а не неисправность индекса.
  2. Выбрана ли нужная беседа или учётная запись? Фильтры по датам, отправителям и медиафайлам могут исключить подходящий результат.
  3. Получило ли новое устройство историю и материал для расшифрования? Восстановление ключа идентификации не означает автоматического восстановления всех сообщений.
  4. Завершено ли индексирование? Крупный импорт и прерванная синхронизация могут влиять на полноту поиска.
  5. Распознаёт ли поиск форму термина? Поиск фраз, написание, пунктуация и языковая токенизация могут различаться.

Используйте безобидную, характерную тестовую фразу в беседе, которую вы контролируете. Проверьте, появляется ли она в поиске до отключения сети и после него. Это может установить узкий факт о локальной доступности, но не доказывает, что приложение никогда не отправляет телеметрию или поисковые данные при подключении к сети.

Что можно сказать о Livara?

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

У публичных каналов и личных чатов разные границы конфиденциальности. Сервис может индексировать публичное содержимое, не делая такого же заявления о личной переписке. Изучите модель угроз, прежде чем считать результат глобального поиска конфиденциальным.

Вопросы, которые стоит задать поставщику

Спросите, какие сообщения индексируются, где находится индекс, передаётся ли текст запроса или записывается в журнал, что получает связанное устройство и как удаление сообщения влияет на индексы и резервные копии. Чёткий ответ должен называть клиент и версию, а не опираться на выражение «поиск с E2EE».

Поиск — функция со своим потоком данных. Оценивайте этот поток вместе с шифрованием сообщений, а не предполагайте, что шифрование отвечает на все связанные с ним вопросы.

Проверьте архитектуру Livara
CONTINUE THE THREADPrivate messaging ↗
YOU’VE REACHED THE ENDBack to the reading room ↗