Journal de transparence de l'APK des services système Google

Le journal de transparence de l'APK des services système Google s'appuie sur la technologie de journal de transparence.

L'utilité des journaux de transparence a été prouvée par des projets tels que la transparence binaire des pixels et la transparence des certificats.

Les journaux de transparence sont implémentés avec des arbres de Merkle. Cette page part du principe que vous avez des connaissances générales sur les arbres Merkle et la transparence binaire. Consultez Structures de données vérifiables pour obtenir une présentation des arbres Merkle et la page principale pour obtenir une présentation des efforts de transparence binaire dans Android.

Implémentation des journaux

Le journal de transparence de l'APK des services système Google est implémenté en tant qu'arbre de Merkle basé sur des tuiles. La racine du contenu des cartes est diffusée à l'adresse https://developers.google.com/android/binary_transparency/google1p/tile/. Notez qu'il ne s'agit pas d'une page Web ordinaire: les entrées de journal contenues dans ses sous-répertoires doivent être lues de manière programmatique avec la bibliothèque Tlog de Golang SumDB et non via un navigateur. Nous indiquons le lien ici pour plus de clarté.

Consultez la section Contenu du journal pour obtenir une description de chaque entrée.

Le hachage racine de l'arbre Merkle d'un journal, contenu dans un checkpoint, est disponible sur https://developers.google.com/android/binary_transparency/google1p/checkpoint.txt au format checkpoint. Les feuilles de cet arbre Merkle sont diffusées à l'adresse https://developers.google.com/android/binary_transparency/google1p/package_info.txt. La signature du point de contrôle peut être validée avec la clé publique décrite dans le certificat suivant.

-----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 même clé publique se trouve également dans le bloc de clé publique PGP de la sécurité Android à l'adresse https://services.google.com/corporate/publickey.txt, identifiée par CFAB31BE8DD7AC42FC721980ECA5C68599F17322 si vous préférez PGP.

La page de validation décrit plus en détail comment les différents composants du journal sont utilisés pour valider les revendications formulées dans le modèle de demandeur.