Log di trasparenza degli APK dei servizi di sistema di Google

Il log di trasparenza degli APK dei servizi di sistema di Google sfrutta la tecnologia dei log di trasparenza.

L'utilità dei log di trasparenza è stata dimostrata da progetti come Pixel Binary Transparency e anche Certificate Transparency.

I log di trasparenza vengono implementati con alberi Merkle. Questa pagina presuppone una conoscenza generale degli alberi di Merkle e della trasparenza binaria. Consulta la sezione Strutture di dati verificabili per una panoramica degli alberi Merkle e la pagina principale per una panoramica dell'impegno per la trasparenza dei binari in Android.

Implementazione dei log

Il log di trasparenza degli APK dei servizi di sistema di Google è implementato come albero Merkle basato su riquadri. La radice degli elementi della scheda viene pubblicata su https://developers.google.com/android/binary_transparency/google1p/tile/. Tieni presente che non si tratta di una normale pagina web: le voci di log contenute nelle sue sottodirectory devono essere lette tramite programmazione con la libreria Tlog di SumDB Golang e non tramite un browser. Lo riportiamo qui per chiarezza.

Fai riferimento a Contenuti dei log per una descrizione del contenuto di ogni voce.

L'hash radice dell'albero Merkle di un log, contenuto in un checkpoint, viene fornito in https://developers.google.com/android/binary_transparency/google1p/checkpoint.txt nel formato del controllo. Le foglie di questo albero Merkle vengono pubblicate all'indirizzo https://developers.google.com/android/binary_transparency/google1p/package_info.txt. La firma del checkpoint può essere verificata con la chiave pubblica descritta nel seguente certificato.

-----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-----

La stessa chiave pubblica è disponibile anche nel blocco della chiave pubblica PGP di Android Security al seguente indirizzo: https://services.google.com/corporate/publickey.txt ed è identificata da CFAB31BE8DD7AC42FC721980ECA5C68599F17322 se preferisci PGP.

La pagina di verifica descrive in modo più dettagliato come i vari componenti del log vengono utilizzati per verificare le rivendicazioni effettuate nel modello di autore della rivendicazione.