APK-Transparenzprotokoll für Google-Systemdienste

Das APK-Transparenzprotokoll für Google-Systemdienste nutzt die Transparenzprotokolltechnologie.

Der Nutzen von Transparenz-Logs wurde durch Projekte wie Pixel Binary Transparency und Certificate Transparency unter Beweis gestellt.

Transparenz-Logs werden mit Merkle-Bäumen implementiert. Auf dieser Seite wird davon ausgegangen, dass Sie mit Merkle-Bäumen und binärer Transparenz vertraut sind. Einen Überblick über Merkle-Bäume finden Sie unter Verifiable Data Structures und einen Überblick über die Bemühungen um binäre Transparenz in Android auf der Hauptseite.

Log-Implementierung

Das APK-Transparenzprotokoll für Google-Systemdienste wird als kachelbasierter Merkle-Baum implementiert. Das Stammverzeichnis der Kachelinhalte wird unter https://developers.google.com/android/binary_transparency/google1p/tile/ bereitgestellt. Beachten Sie, dass es sich hierbei nicht um eine normale Webseite handelt. Die Logeinträge in den Unterverzeichnissen sollten programmatisch mit der Golang SumDB-Tlog-Bibliothek und nicht über einen Browser gelesen werden. Wir geben den Link hier zur Klarstellung an.

Eine Beschreibung der einzelnen Einträge finden Sie unter Log-Inhalte.

Der Merkle-Baum-Root-Hash eines Logs, der in einem Checkpoint enthalten ist, wird unter https://developers.google.com/android/binary_transparency/google1p/checkpoint.txt im Checkpoint-Format bereitgestellt. Die Blätter dieses Merkle-Baums werden unter https://developers.google.com/android/binary_transparency/google1p/package_info.txt bereitgestellt. Die Signatur des Checkpoints kann mit dem öffentlichen Schlüssel verifiziert werden, der im folgenden Zertifikat beschrieben ist.

-----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-Block für öffentliche Schlüssel von Android Security unter https://services.google.com/corporate/publickey.txt verfügbar. Dort wird er mit CFAB31BE8DD7AC42FC721980ECA5C68599F17322 gekennzeichnet.

Auf der Bestätigungsseite wird genauer beschrieben, wie die verschiedenen Komponenten des Logs verwendet werden, um die im Modell des Anspruchstellers gemachten Behauptungen zu bestätigen.

Ein unbeabsichtigter Proof of Concept

Der Eintrag mit dem Index 39 in diesem Log ist ein fehlerhafter Testeintrag. Sein Fortbestehen ist Ihre Garantie für die Integrität unseres Logs. Wir können sie nicht löschen, was beweist, dass auch niemand schädliche Einträge verbergen kann. Weitere Informationen finden Sie auf der Seite Errata.