Wyszukiwanie w szyfrowanych czatach jest możliwe, ponieważ urządzenie uprawnione do odczytywania wiadomości może je również przeszukiwać. Typowy projekt tworzy lokalny indeks po odszyfrowaniu. Jednak samo szyfrowanie end-to-end nie dowodzi, że zapytania nigdy nie opuszczają urządzenia ani że każdy komunikator korzysta z tej samej architektury wyszukiwania.
To rozróżnienie ma znaczenie, gdy wyszukiwanie jest powolne, starsze wyniki znikają lub nowy telefon nie znajduje wiadomości widocznych na starym. Zakres wyszukiwania, dostępność kluczy i synchronizacja danych to odrębne kwestie.
Jak działa lokalny indeks wyszukiwania
Aplikacja może przekształcać czytelne wiadomości w indeks zapisujący, które terminy występują w których wiadomościach. Wyszukiwanie odwołuje się do tego indeksu zamiast przeglądać każdą wiadomość od początku do końca. Dokumentacja FTS5 SQLite przedstawia jeden przykład technologii indeksowania pełnotekstowego; jej przywołanie nie oznacza, że konkretny klient Livary korzysta z FTS5.
Typowy projekt lokalny obejmuje cztery etapy:
- Pobranie lub odebranie zaszyfrowanej wiadomości.
- Odszyfrowanie jej za pomocą kluczy uprawnionego urządzenia.
- Dodanie przeszukiwalnej treści do lokalnego indeksu.
- Zwrócenie wyników z danych aktualnie dostępnych na tym urządzeniu.
Indeks zawiera wrażliwe informacje. Nawet jeśli nie przechowuje pełnych zdań, terminy i odwołania mogą ujawniać treść rozmów. Jego przechowywanie, kopie zapasowe, zachowanie podczas usuwania i kontrola dostępu zasługują na taką samą uwagę jak baza danych czatu.
Czy wyszukiwanie po stronie serwera zawsze oznacza, że serwer czyta wszystko?
Nie. Zwykłe indeksowanie tekstu jawnego na serwerze daje usłudze dostęp do indeksowanej treści, lecz nie jest jedynym możliwym projektem wyszukiwania zdalnego. Badania kryptograficzne nad przeszukiwalnym szyfrowaniem symetrycznym opisują sposoby przeszukiwania zaszyfrowanych danych przechowywanych zewnętrznie w ramach określonych modeli bezpieczeństwa.
Techniki te mają własne założenia i potencjalne wycieki informacji. Przydatny przegląd pyta, czego serwer dowiaduje się o powtarzających się zapytaniach, pasujących rekordach, wzorcach dostępu i rozmiarach wyników. Ani „wyszukiwanie odbywa się w chmurze”, ani „dane są zaszyfrowane” samo w sobie nie rozstrzyga tych kwestii.
| Projekt | Praktyczna korzyść | Kwestia do zbadania |
|---|---|---|
| Lokalny indeks | Pozwala przeszukiwać dostępną historię bez zdalnego zapytania | Czy indeks jest szyfrowany w spoczynku i wyłączony z niebezpiecznych kopii zapasowych? |
| Serwerowy indeks tekstu jawnego | Scentralizowane indeksowanie i przeszukiwanie przechowywanych danych | Kto ma dostęp do treści, zapytań i dzienników? |
| Schemat szyfrowanego wyszukiwania zdalnego | Może obsługiwać określone zapytania na chronionych danych | Jakie wycieki informacji i założenia zaufania dopuszcza konstrukcja? |
| Mieszane wyszukiwanie publiczne/prywatne | Odmienne traktowanie treści publicznych i prywatnych | Czy zakres wyszukiwania jest jasny dla użytkownika? |
Na podstawie tej tabeli nie można uszeregować szybkości. Znaczenie mają sprzęt, jakość indeksu, liczba wiadomości, opóźnienia sieci i implementacja. Na potrzeby tego artykułu nie przeprowadzono pomiarów czasu.
Dlaczego wiadomości mogą nie pojawiać się w wyszukiwaniu
Zanim uznasz, że historia została utracona, sprawdź zakres problemu:
- Czy wiadomość jest widoczna w rozmowie? Jeśli nie, wyszukiwanie może odzwierciedlać niedostępność historii, a nie uszkodzony indeks.
- Czy wybrano właściwą rozmowę lub konto? Filtry dat, nadawców i multimediów mogą wykluczyć skądinąd prawidłowy wynik.
- Czy nowe urządzenie uzyskało historię i materiał do odszyfrowania? Przywrócenie klucza tożsamości nie oznacza automatycznie przywrócenia każdej wiadomości.
- Czy indeksowanie zostało zakończone? Duże importy i przerwana synchronizacja mogą wpływać na zakres indeksu.
- Czy wyszukiwanie rozpoznaje formę terminu? Dopasowywanie fraz, pisownia, interpunkcja i tokenizacja języka mogą się różnić.
Użyj nieszkodliwej, charakterystycznej frazy testowej w rozmowie, nad którą masz kontrolę. Sprawdź, czy pojawia się w wyszukiwaniu przed odłączeniem sieci i po nim. Pozwala to ustalić wąski fakt dotyczący lokalnej dostępności; nie dowodzi, że aplikacja nigdy nie wysyła telemetrii ani danych wyszukiwania, gdy jest online.
Co można powiedzieć o Livarze?
Strona bezpieczeństwa Livary podaje, że treść prywatnych wiadomości jest szyfrowana, a routing, członkostwo, stan dostarczenia i szyfrogram wspierają synchronizację. Publiczna dokumentacja nie stanowi wystarczającego dowodu, by deklarować konkretny lokalny silnik wyszukiwania, powszechne wyszukiwanie offline, brak telemetrii zapytań lub zmierzony wpływ na baterię.
Kanały publiczne mają inną granicę prywatności niż prywatne czaty. Usługa może indeksować treści publiczne, nie składając takiej samej deklaracji w odniesieniu do prywatnych rozmów. Zapoznaj się z modelem zagrożeń, zanim uznasz globalny wynik wyszukiwania za poufny.
Pytania, które warto zadać dostawcy
Zapytaj, które wiadomości są indeksowane, gdzie znajduje się indeks, czy tekst zapytań jest przesyłany lub zapisywany, co otrzymuje połączone urządzenie i jak usunięcie wiadomości wpływa na indeksy i kopie zapasowe. Jasna odpowiedź powinna wskazywać klienta i wersję, a nie opierać się na haśle „wyszukiwanie E2EE”.
Wyszukiwanie to funkcja z własnym przepływem danych. Oceń ten przepływ obok szyfrowania wiadomości, zamiast zakładać, że szyfrowanie odpowiada na wszystkie pytania na jego temat.


