Das APK-Transparenzprotokoll für Google-Systemdienste nutzt die Technologie für Transparenzprotokolle.
Die Nützlichkeit von Transparenzprotokollen wurde durch Projekte wie Pixel Binary Transparency und Certificate Transparency bewiesen.
Transparenzprotokolle werden mit Merkle-Bäumen implementiert. Auf dieser Seite wird davon ausgegangen, dass Sie mit Merkle-Bäumen und binärer Transparenz vertraut sind. Eine Übersicht über Merkle-Bäume finden Sie unter Verifizierbare Datenstrukturen. Auf der Hauptseite finden Sie eine Übersicht über die Bemühungen zur Binärtransparenz bei Android.
Logimplementierung
Das APK Transparency Log für Google-Systemdienste wird als kachelnbasierter Merkle-Baum implementiert. Der Stamm des Kachelinhalts wird unter https://developers.google.com/android/binary_transparency/google1p/tile/
bereitgestellt. Hinweis: Dies ist keine normale Webseite. Die Protokolleinträge in den Unterverzeichnissen sollten programmatisch mit der Golang SumDB-Tlog-Bibliothek gelesen und nicht über einen Browser abgerufen werden. Zur Klarstellung geben wir den Link hier an.
Eine Beschreibung der einzelnen Einträge finden Sie unter Protokollinhalt.
Der Merkle-Baum-Stamm-Hash eines Logs, der in einem checkpoint enthalten ist, wird unter https://developers.google.com/android/binary_transparency/google1p/checkpoint.txt im Prüfpunktformat bereitgestellt. Die Blätter dieses Merkle-Baums werden unter https://developers.google.com/android/binary_transparency/google1p/package_info.txt ausgeliefert. Die Signatur des Checkpoints kann mit dem im folgenden Zertifikat beschriebenen öffentlichen Schlüssel verifiziert werden.
-----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-----
Derselbe öffentliche Schlüssel ist auch im PGP-öffentlichen Schlüsselblock von Android Security unter https://services.google.com/corporate/publickey.txt zu finden. Er wird durch CFAB31BE8DD7AC42FC721980ECA5C68599F17322
gekennzeichnet, wenn Sie PGP bevorzugen.
Auf der Bestätigungsseite wird ausführlicher beschrieben, wie die verschiedenen Komponenten des Logs verwendet werden, um die im Claimant Model gemachten Ansprüche zu überprüfen.