Im Transparenzlogbuch für Android Mainline-Module werden überprüfbare Datenstrukturen verwendet, um die Integrität von Mainline-Modulen zu gewährleisten.
Der Nutzen von Transparenz-Logs wurde durch Projekte wie Pixel Binary Transparency und Certificate Transparency unter Beweis gestellt.
Transparenzlogs basieren auf Merkle-Bäumen. 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 Verifiable Data Structures. Eine Übersicht über die Bemühungen zur binären Transparenz in Android finden Sie auf der Hauptseite.
Log-Implementierung
Das Transparenzlog für Android Mainline-Module ist als kachelbasierter Merkle-Baum mit einer Höhe von 8 implementiert.
Das Stammverzeichnis des Kachelinhalts wird unter https://gstatic.com/android/binary_transparency/mainline/2026/01/tile/ bereitgestellt.
Diese URL ist keine Standardwebseite. Stattdessen sollte programmatisch über Tools wie die Golang SumDB-Tlog-Bibliothek auf die Logeinträge in den Unterverzeichnissen zugegriffen werden.
Eine Beschreibung der einzelnen Einträge finden Sie unter Log-Inhalte.
Der Merkle-Baum-Root-Hash des Logs, der in einem Prüfpunkt enthalten ist, wird im Prüfpunktformat unter https://gstatic.com/android/binary_transparency/mainline/2026/01/checkpoint.txt bereitgestellt. Die Datenblätter dieses Merkle-Baums werden als einzelne Datei unter https://gstatic.com/android/binary_transparency/mainline/2026/01/module_info.txt bereitgestellt. Die Signatur des Checkpoints kann mit dem folgenden öffentlichen Schlüssel verifiziert werden:
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEr6nPds8eKCYU42avidXNM1GDCtQ/
66GjGuIpUcZjqQNngwRFVCFZDpWuvDnqXzhJRxqccL9lbeEVVZGpa4x6pg==
-----END PUBLIC KEY-----
Da Mainline-Module APKs ähneln, gelten auch hier die auf der Seite zur Überprüfung von Google-APKs beschriebenen Überprüfungsmethoden. Mit den dort beschriebenen Methoden können Sie die im Claimant Model gemachten Behauptungen überprüfen.