Il log di trasparenza degli APK dei servizi di sistema di Google utilizza 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 gli alberi Merkle. Questa pagina presuppone una conoscenza generale degli alberi Merkle e della trasparenza binaria. Consulta Strutture di dati verificabili per una panoramica degli alberi Merkle e la pagina principale per una panoramica dell'impegno per la trasparenza binaria in Android.
Implementazione dei log
Il log di trasparenza degli APK dei servizi di sistema di Google viene implementato come un
albero Merkle basato su riquadri. La radice dei contenuti dei riquadri viene pubblicata all'indirizzo https://developers.google.com/android/binary_transparency/google1p/tile/. Tieni presente
che questa non è una normale pagina web: le voci di log contenute nelle relative
sottodirectory devono essere lette a livello di programmazione con la libreria Golang SumDB
Tlog
e non tramite un browser. Riportiamo il link qui per chiarezza.
Consulta Contenuti dei log per una descrizione di ciò che contiene ogni voce.
L'hash della radice dell'albero Merkle di un log, contenuto in un checkpoint, viene pubblicato all'indirizzo https://developers.google.com/android/binary_transparency/google1p/checkpoint.txt nel formato del checkpoint. 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 di chiavi pubbliche PGP di Android Security
all'indirizzo https://services.google.com/corporate/publickey.txt,
identificata da CFAB31BE8DD7AC42FC721980ECA5C68599F17322 se preferisci PGP.
Sharding dei log
A partire da aprile 2026, archivieremo questo log. Le nuove voci verranno scritte in un nuovo log con le seguenti proprietà:
- checkpoint: https://gstatic.com/android/binary_transparency/google1p/jwt/2026/01/checkpoint.txt
- leaves: https://gstatic.com/android/binary_transparency/google1p/jwt/2026/01/package_info.txt
- tiles directory:
https://gstatic.com/android/binary_transparency/google1p/jwt/2026/01/tile/
Verifica delle attestazioni dei log
La pagina di verifica descrive in modo più dettagliato come i vari componenti del log vengono utilizzati per verificare le attestazioni riportate nel modello del richiedente.
Un proof of concept non intenzionale
La voce all'indice 39 di questo log è una voce di test errata.
La sua esistenza continua è la garanzia dell'integrità del nostro log.
Non possiamo eliminarla, il che dimostra che nessuno può nascondere voci dannose.
Per dettagli specifici, consulta la pagina degli errata.