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.