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 Certificate Transparency.
I log di trasparenza vengono implementati con alberi Merkle. Questa pagina presuppone una conoscenza generale degli alberi Merkle e della trasparenza binaria. Consulta la pagina 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
struttura ad albero Merkle basata su riquadri. La radice
dei contenuti del riquadro 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 in modo programmatico con la libreria
Tlog di Golang SumDB
e non tramite un browser. Per chiarezza, riportiamo qui il link.
Consulta Contenuto log per una descrizione di cosa contiene ogni voce.
L'hash 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 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 della chiave pubblica PGP di Android Security
all'indirizzo https://services.google.com/corporate/publickey.txt,
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 affermazioni contenute 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 tua garanzia dell'integrità del nostro log.
Non possiamo eliminarlo, il che dimostra che nessuno può nascondere voci dannose.
Per informazioni specifiche, consulta la pagina Errata.