Dziennik przejrzystości plików APK usług systemowych Google

Dziennik przejrzystości plików APK w usługach systemowych Google korzysta z technologii dzienników przejrzystości.

Przydatność dzienników przejrzystości została potwierdzona w projektach takich jak Pixel Binary TransparencyCertificate Transparency.

Dzienniki przejrzystości są implementowane za pomocą drzew Merkla. Na tej stronie zakładamy, że znasz ogólnie drzewa Merkle’a i przejrzystość binarną. Aby zapoznać się z ogólnym opisem drzew Merkla, przejdź do sekcji Sprawdzalne struktury danych. Informacje o przejrzystości binarnych danych w Androidzie znajdziesz na stronie głównej.

Logowanie implementacji

Dziennik przejrzystości plików APK w usługach systemowych Google jest implementowany jako drzewo Merkle oparte na płytkach. Element główny treści karty jest wyświetlany pod adresem https://developers.google.com/android/binary_transparency/google1p/tile/. Pamiętaj, że ta strona nie jest zwykłą stroną internetową: wpisy dziennika zawarte w jej podkatalogach należy odczytywać programowo za pomocą biblioteki Tlog w Golangu SumDB, a nie za pomocą przeglądarki. W celu ułatwienia Ci odnalezienia linku podajemy go tutaj.

Aby dowiedzieć się, co zawiera każda pozycja, zapoznaj się z treścią pliku dziennika.

Hasz korzenia drzewa Merkla pliku dziennika zawartego w checkpoint jest dostępny pod adresem https://developers.google.com/android/binary_transparency/google1p/checkpoint.txtformacie punktu kontrolnego. Liście tego drzewa Merkla są wyświetlane pod adresem https://developers.google.com/android/binary_transparency/google1p/package_info.txt. Podpis punktu kontrolnego można zweryfikować za pomocą klucza publicznego opisanego w następującym certyfikacie.

-----BEGIN CERTIFICATE-----
MIICPzCCAeWgAwIBAgIUAV4UWNut89Vj0EIwMTUlOYclCMMwCgYIKoZIzj0EAwIw
dDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDU1v
dW50YWluIFZpZXcxFDASBgNVBAoMC0dvb2dsZSBJbmMuMRAwDgYDVQQLDAdBbmRy
b2lkMRAwDgYDVQQDDAdBbmRyb2lkMCAXDTI0MDkyNTIzNTYwOVoYDzIwNTQwOTE4
MjM1NjA5WjB0MQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQG
A1UEBwwNTW91bnRhaW4gVmlldzEUMBIGA1UECgwLR29vZ2xlIEluYy4xEDAOBgNV
BAsMB0FuZHJvaWQxEDAOBgNVBAMMB0FuZHJvaWQwWTATBgcqhkjOPQIBBggqhkjO
PQMBBwNCAASofcYuVig/lsWwIfwMfLk22mMltFDDd8k1IBNKajw6VdQynSh7XapH
Ace10/uT1ceUmwJinyOPR1Bpj431+18vo1MwUTAdBgNVHQ4EFgQUwHSDZ/iAB8Go
Rt1oDkVktxyizhYwHwYDVR0jBBgwFoAUwHSDZ/iAB8GoRt1oDkVktxyizhYwDwYD
VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAgNIADBFAiEAleFB+Arfv1KW0r6TbSEX
EfvBnJMPqRNAIVPd8LrVhw0CIAX56Txqs8H5XWdMoNF21w8Z0PmUNvLLtZtM+25O
wjq8
-----END CERTIFICATE-----

Ten sam klucz publiczny znajdziesz też w bloku kluczy publicznych PGP w Androidzie na stronie https://services.google.com/corporate/publickey.txt, oznaczonym jako CFAB31BE8DD7AC42FC721980ECA5C68599F17322, jeśli wolisz szyfrowanie PGP.

Na stronie weryfikacji znajdziesz szczegółowe informacje o tym, jak poszczególne komponenty logów są wykorzystywane do weryfikacji roszczeń zgłoszonych w modelu roszczeń.