SHARE THE PERSPECTIVE
Test offline powinien dawać konkretny wynik; hash ani demonstracja kryptograficzna nie są pełnym audytem produktu.

Sprawdzenie offline może wykazać, że określone obliczenie jest wykonywane bez odpowiedzi serwera na żywo. To cenne, ale nie oznacza dowodu bezpieczeństwa całego komunikatora. Aby wynik był przydatny, trzeba dokładnie zapisać, jaki plik, wersję, dane wejściowe i wyjściowe przetestowano.

Hash pliku, podpis wydania, wektor testowy, odtwarzalna kompilacja i audyt bezpieczeństwa odpowiadają na różne pytania. Łączenie dowodów jest bardziej przydatne niż robienie z jednego z nich „pieczęci pełnego bezpieczeństwa”.

Co pokazuje każdy rodzaj dowodu?

Dowód Ograniczony i poprawny wniosek Czego nie potwierdza automatycznie
SHA-256 pliku Plik odpowiada referencyjnemu skrótowi Źródło odniesienia jest uczciwe lub kod jest bezbłędny
Podpis APK Podpis jest prawidłowy dla pakietu i powiązany z kluczem podpisującym Klucz należy do zamierzonego wydawcy, chyba że sprawdzono to osobno
Wektor testowy Objęte testem przypadki dają oczekiwany wynik Uwzględniono wszystkie stany i błędy produktu
Odtwarzalna kompilacja Określony kod źródłowy i środowisko dają ten sam wynik Kod źródłowy nie zawiera podatności
Audyt Sprawdzono określony zakres i wersję Zatwierdzono także późniejsze zmiany i elementy spoza zakresu

Definicja odtwarzalnej kompilacji opiera się na określonych danych wejściowych i środowisku. Oficjalne narzędzie Androida apksigner służy natomiast do sprawdzania podpisu APK; nie jest to ta sama czynność co obliczanie hasha.

Jaki zakres ma obecnie Proof Lab Livary?

Strona Proof Lab przedstawia lokalne narzędzie do obliczania hasha APK oraz demonstracje operacji P-256, HKDF i AES-GCM, w tym zmianę jednego bitu pozwalającą zaobserwować niepowodzenie weryfikacji autentyczności. Sama strona wyraźnie stwierdza, że pełne połączenie LVR1/LGS1 nie mieści się w zakresie tego stanowiska testowego.

Poprawny wynik należy więc zapisać tak: „Ten plik odpowiadał referencyjnemu skrótowi” albo „Ta demonstracja kryptograficzna odrzuciła testowaną modyfikację”. Nie należy pisać: „Cały protokół hybrydowy i cała zainstalowana wersja zostały poddane niezależnemu audytowi”. Ten artykuł nie przedstawia nowego testu polegającego na uruchomieniu tego narzędzia.

Jak przygotować powtarzalny test offline?

  1. Określ cel. Chcesz sprawdzić tożsamość pliku czy zachowanie operacji kryptograficznej?
  2. Zapisz wersję i źródło. Nazwa APK, numer wersji, adres pobrania i skrót tego wydania muszą być ze sobą powiązane.
  3. Przygotuj narzędzie i dane wejściowe z zaufanego źródła. Odłączenie od sieci nie czyni wiarygodnym kodu, który od początku był złośliwy.
  4. Użyj niewrażliwych danych testowych. Demonstracja kryptograficzna nie wymaga prywatnych wiadomości ani prawdziwych sekretów.
  5. Odłącz sieć i powtórz test. Ten krok bada zależność od odpowiedzi na żywo, a nie zaufanie do wcześniej pobranego kodu.
  6. Zapisz wynik i błędy. Nie zastępuj różnic wersji, błędów ładowania ani niezgodnego wyniku wpisem „zaliczono”.

Jeśli hash jest inny, zatrzymaj instalację i najpierw sprawdź wersję, plik oraz źródło odniesienia. Różnica może wynikać z wybrania innego wydania; bez sprawdzenia nie uznawaj jej ani za pewny dowód złośliwego oprogramowania, ani za coś na pewno nieistotnego.

Czym wektor testowy różni się od oficjalnego certyfikatu?

Wektor testowy określa dane wejściowe i oczekiwany wynik określonego zachowania. Zbiory takie jak Wycheproof są przydatne do testowania bibliotek pod kątem przypadków związanych ze znanymi atakami. Przejście tych testów nie dowodzi uwzględnienia nieznanych przypadków.

NIST CAVP obejmuje proces walidacji algorytmów. Uruchomienie kilku publicznych wektorów w przeglądarce nie jest równoznaczne z uzyskaniem certyfikatu walidacji; użycie standardowego algorytmu także nie oznacza automatycznej certyfikacji produktu.

O co pytać przy porównywaniu komunikatorów?

W przypadku Livary, Signal, WhatsApp, Session czy Element zadawaj te same pytania: jaka jest dokładna wersja? Który plik jest oficjalny? Jak weryfikuje się klucz podpisujący lub referencyjny skrót? Jakie testy można uruchomić? Jaki kod i jakie elementy obejmował raport z audytu?

Ten artykuł nie jest rankingiem tych produktów opartym na testach. Brak jednostronicowego narzędzia nie dowodzi braku dowodów bezpieczeństwa; jego obecność również nie potwierdza przewagi całego produktu. Porównuj oficjalną dokumentację danej wersji i odtwarzalny raport.

Przydatna karta wyników

W krótkim raporcie zapisz: cel, wersję, źródło pliku, hash, narzędzie i jego wersję, stan sieci, niewrażliwe dane wejściowe, oczekiwany wynik, zaobserwowany wynik i ograniczenia. Jeżeli innego testu nie wykonano, oznacz go jako „nieprzetestowany”.

Weryfikacja klucza kontaktu jest również osobnym sprawdzeniem. Lokalne narzędzie może zademonstrować operację, ale nie potwierdza za ciebie tożsamości rozmówcy ani stanu bezpieczeństwa jego telefonu. Czytaj granice bezpieczeństwa Livary obok wyników, zamiast uznawać maksymalną ocenę w narzędziu za gwarancję obejmującą wszystkie te granice.

Uruchom test w Proof Lab
CONTINUE THE THREADAndroid & device security ↗Calls, sync & reliability ↗
YOU’VE REACHED THE ENDBack to the reading room ↗