Dziennik przejrzystości modułów Mainline na Androidzie korzysta z weryfikowalnych struktur danych, aby zapewnić integralność modułów Mainline.
Użyteczność dzienników przejrzystości została udowodniona w projektach takich jak Pixel Binary Transparency i Certificate Transparency.
Dzienniki przejrzystości są oparte na drzewach Merkle. Zakładamy, że użytkownik ma ogólną wiedzę na temat drzew Merkle i przejrzystości binarnej. Więcej informacji o drzewach Merkle’a znajdziesz w artykule Verifiable Data Structures, a o działaniach związanych z przejrzystością binarną w Androidzie – na stronie głównej.
Implementacja logowania
Dziennik przejrzystości modułów Mainline Androida jest zaimplementowany jako drzewo Merkle oparte na kafelkach o wysokości 8.
Główna część treści kafelka jest wyświetlana pod adresem https://gstatic.com/android/binary_transparency/mainline/2026/01/tile/.
Pamiętaj, że ten adres URL nie jest standardową stroną internetową. Zamiast tego do wpisów w dzienniku w jego podkatalogach należy uzyskiwać dostęp programowo za pomocą narzędzi takich jak biblioteka Tlog Golang SumDB.
Opis zawartości poszczególnych wpisów znajdziesz w sekcji Log Content (Zawartość dziennika).
Główny skrót drzewa Merkle dziennika, zawarty w punkcie kontrolnym, jest udostępniany pod adresem https://gstatic.com/android/binary_transparency/mainline/2026/01/checkpoint.txt w formacie punktu kontrolnego. Liście danych tego drzewa Merkle są udostępniane jako pojedynczy plik pod adresem https://gstatic.com/android/binary_transparency/mainline/2026/01/module_info.txt. Podpis punktu kontrolnego można zweryfikować za pomocą tego klucza publicznego:
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEr6nPds8eKCYU42avidXNM1GDCtQ/
66GjGuIpUcZjqQNngwRFVCFZDpWuvDnqXzhJRxqccL9lbeEVVZGpa4x6pg==
-----END PUBLIC KEY-----
Moduły Mainline są podobne do plików APK, więc metody weryfikacji opisane na stronie weryfikacji plików APK Google mają zastosowanie również w tym przypadku. Możesz użyć tych metod, aby zweryfikować roszczenia zawarte w modelu zgłaszającego roszczenie.