APK-Transparenzprotokoll für Google-Systemdienste

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

Der Nutzen von Transparenzprotokollen wurde durch Projekte wie Pixel Binary Transparency und Certificate Transparency nachgewiesen.

Transparenzlogs werden mit Merkle-Bäumen implementiert. Auf dieser Seite wird davon ausgegangen, dass Sie allgemeine Kenntnisse über Merkle-Bäume und binäre Transparenz haben. Eine Übersicht über Merkle-Bäume finden Sie unter Verifizierbare Datenstrukturen und eine Übersicht über die Bemühungen um binäre Transparenz in Android auf der Hauptseite.

Log-Implementierung

Das APK-Transparenzprotokoll für Google-Systemdienste ist als kachelbasierter Merkle-Baum implementiert. Das Stammverzeichnis des Kachelinhalts 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 in den Unterverzeichnissen enthaltenen Logeinträge sollten programmatisch mit der Golang SumDB-Tlog-Bibliothek und nicht über einen Browser gelesen werden. Der Link wird hier zur Klarstellung angegeben.

Eine Beschreibung der einzelnen Einträge finden Sie unter Protokollinhalt.

Der Merkle-Baum-Root-Hash eines Logs, der in einem Prüfpunkt 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 bereitgestellt. Die Signatur des Prüfpunkts 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 zu finden. Er ist mit CFAB31BE8DD7AC42FC721980ECA5C68599F17322 gekennzeichnet, falls du PGP bevorzugst.

Log-Fragmentierung und -Archivierung

Ab November 2026 werden sowohl der alte Log-Prüfpunkt von 2024 (checkpoint.txt) als auch der erneuerte Shard-Prüfpunkt von April 2026 (checkpoint.txt) archiviert und im Lesemodus versiegelt. Sie bleiben öffentlich zugänglich, um historische Einträge zu überprüfen.

Log-Ansprüche prüfen

Auf der Bestätigungsseite wird ausführlicher beschrieben, wie die verschiedenen Komponenten des Logs verwendet werden, um die im Antragstellermodell gemachten Angaben zu bestätigen.

Ein unbeabsichtigter Proof of Concept

Der Eintrag bei Index 39 dieses Logs ist ein fehlerhafter Testeintrag. Die Existenz des Logs ist Ihre Garantie für die Integrität unseres Logs. Wir können ihn nicht löschen, was beweist, dass auch niemand schädliche Einträge verbergen kann. Weitere Informationen finden Sie auf der Seite Errata.