Log Transparansi Modul Mainline Android menggunakan struktur data yang dapat diverifikasi untuk memastikan integritas modul Mainline.
Kegunaan log transparansi telah terbukti oleh project seperti Transparansi Biner Pixel dan Transparansi Sertifikat.
Log transparansi dibuat berdasarkan pohon Merkle. Halaman ini mengasumsikan pengetahuan umum tentang pohon Merkle dan transparansi biner. Lihat Struktur Data yang Dapat Diverifikasi untuk mengetahui ringkasan pohon Merkle dan halaman utama untuk mengetahui ringkasan upaya transparansi biner dalam Android.
Implementasi Log
Log Transparansi Modul Mainline Android diimplementasikan menggunakan Tessera dan mematuhi spesifikasi tlog-tiles dengan tinggi petak 8 (setiap petak atau paket berisi maksimal 28 = 256 item).
Root konten log ditayangkan di:
https://gstatic.com/android/binary_transparency/mainline/2026/02/tile/entries/
Root konten petak ditayangkan di:
https://gstatic.com/android/binary_transparency/mainline/2026/02/tile/
Perhatikan bahwa URL ini bukan halaman web standar. Sebagai gantinya, entri log di subdirektorinya harus diakses secara terprogram menggunakan alat seperti Tessera atau library SumDB Tlog Golang.
- Petak Pohon: Hash node interior dan leaf pohon Merkle ditayangkan di bagian
tile/<level>/<path>(misalnya,tile/0/000,tile/1/000). - Paket Entri: Payload leaf log diatur ke dalam paket entri di bagian
tile/entries/<path>(misalnya,tile/entries/000,tile/entries/001), dengan setiap paket berisi hingga 256 entri yang digabungkan.
Lihat Konten Log untuk mengetahui deskripsi tentang isi setiap entri.
Hash root pohon Merkle log, yang terdapat dalam checkpoint, ditayangkan
di https://gstatic.com/android/binary_transparency/mainline/2026/02/checkpoint
dalam format checkpoint.
Asal checkpoint adalah gstatic.com/android/binary_transparency/mainline/modules/2026/1.
Tanda tangan checkpoint dibuat menggunakan algoritma tanda tangan Ed25519.
Tanda tangan checkpoint dapat diverifikasi dengan kunci publik berikut
dalam format verifikasi catatan (seperti yang ditentukan dalam golang.org/x/mod/sumdb/note)
atau format PEM standar:
- Format verifikasi catatan (
<name>+<key_hash>+<public_key_bytes>):
MainlineModulesLogV2+e490c9dd+AfwnHm59rNQTJICchMd7a2W5PQa7nC5h2gTEfq3fhCEI
- Format PEM (SubjectPublicKeyInfo):
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEA/Ccebn2s1BMkgJyEx3trZbk9BrucLmHaBMR+rd+EIQg=
-----END PUBLIC KEY-----
Log yang Diarsipkan (V1)
Sebelum update Q3 2026, log beroperasi di bawah implementasi V1 sebelumnya menggunakan tanda tangan ECDSA (NIST P-256 dengan SHA-256). Log V1 diarsipkan dan bersifat hanya baca, tetapi tetap dapat diakses secara publik untuk memverifikasi entri historis:
- Checkpoint: https://gstatic.com/android/binary_transparency/mainline/2026/01/checkpoint.txt
- Leaf Data: https://gstatic.com/android/binary_transparency/mainline/2026/01/module_info.txt
- Root Petak:
https://gstatic.com/android/binary_transparency/mainline/2026/01/tile/ - Kunci Publik (format PEM, ECDSA P-256):
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEr6nPds8eKCYU42avidXNM1GDCtQ/
66GjGuIpUcZjqQNngwRFVCFZDpWuvDnqXzhJRxqccL9lbeEVVZGpa4x6pg==
-----END PUBLIC KEY-----
Karena modul Mainline mirip dengan APK, metode verifikasi yang dijelaskan di halaman verifikasi APK Google juga berlaku di sini. Anda dapat menggunakan metode tersebut untuk memverifikasi klaim yang dibuat dalam Model Penggugat.