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

Le journal de transparence de l'APK des services système de Google utilise la technologie des journaux de transparence.

L'utilité des journaux de transparence a été prouvée par des projets tels que Pixel Binary Transparency et Certificate Transparency.

Les journaux de transparence sont implémentés avec des arbres de Merkle. Cette page part du principe que vous avez une connaissance générale des arbres de Merkle et de la transparence binaire. Consultez Structures de données vérifiables pour obtenir une présentation des arbres de 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 de Google est implémenté sous la forme d'un arbre de Merkle basé sur des tuiles. La racine du contenu de la carte est diffusée sur 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 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 du contenu de chaque entrée.

Le hachage racine de l'arbre de Merkle d'un journal, contenu dans un point de contrôle, est fourni à l'adresse https://developers.google.com/android/binary_transparency/google1p/checkpoint.txt au format de point de contrôle. Les feuilles de cet arbre de Merkle sont disponibles à 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 est également disponible dans le bloc de clé publique PGP d'Android Security à 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 affirmations faites dans le modèle du demandeur.

Une démonstration de faisabilité non intentionnelle

L'entrée à l'index 39 de ce journal est une entrée de test erronée. Son existence continue est la garantie de l'intégrité de notre journal. Nous ne pouvons pas le supprimer, ce qui prouve que personne ne peut non plus masquer les entrées malveillantes. Pour en savoir plus, consultez la page Errata.