Ogólne informacje o przejrzystości binarnej Androida znajdziesz na głównej stronie Przejrzystość binarna.
Na tej stronie znajdziesz więcej informacji o formacie plików w różnych katalogach tile/.
Te pliki zawierają hashe węzłów drzewa Merkle’a reprezentujące dziennik przejrzystości binarnej obrazów fabrycznych Pixela. Ponadto te hashe są spakowane w kafelki. Omówienie sposobu dzielenia drzewa na kafelki znajdziesz w artykule Dzielenie dziennika na kafelki.
W tym dzienniku węzły są haszowane za pomocą algorytmu SHA256. Do zapisywania kafelków używamy biblioteki tlog, a wysokość kafelka wynosi 1. Oznacza to, że każdy kafelek zawiera maksymalnie 2^height = 2 hashe, z których każdy ma 32 bajty.
W przypadku kolejnych (nowszych) dzienników kafelki mają wysokość 8. Oznacza to, że każdy kafelek zawiera maksymalnie 2^8 = 256 hashy.
Szczegóły dotyczące tworzenia ścieżek do kafelków znajdziesz w dokumentacji tlog Tile.
Katalog główny kafelka dla każdego dziennika jest dostępny pod adresem:
- Dziennik przejrzystości Pixela
https://developers.google.com/android/binary_transparency/tile
- Dziennik przejrzystości kodu Google
https://gstatic.com/android/binary_transparency/google1p/jwt/2026/01/tile
- Dziennik przejrzystości aplikacji Google
https://gstatic.com/android/binary_transparency/google1p/apk/2026/01/tile
- Dziennik przejrzystości modułu Mainline
https://gstatic.com/android/binary_transparency/mainline/2026/01/tile
Przykład obliczeń z użyciem kafelków
Aby lepiej zrozumieć, jak działają kafelki, przeanalizujmy przykład z użyciem dziennika przejrzystości Pixela.
Załóżmy, że mamy drzewo o rozmiarze 8. Jeśli sprawdzasz wpis o indeksie 3, będzie to pierwszy hash w kafelku t(0, 1). Ścieżki do kafelków mają postać tile/H/L/NNN[.p/W]. Ścieżka do kafelka t(0, 1) to
https://developers.google.com/android/binary_transparency/tile/1/0/001.
Katalog główny drzewa będzie znajdować się w kafelku t(3, 0)/1, czyli pod ścieżką
https://developers.google.com/android/binary_transparency/tile/1/3/000.p/1.