Log Transparansi Modul Mainline Android

Log Transparansi Modul Mainline Android menggunakan struktur data yang dapat diverifikasi untuk memastikan integritas modul Mainline.

Utilitas log transparansi telah dibuktikan oleh project seperti Transparansi Biner Pixel dan Transparansi Sertifikat.

Log transparansi dibuat di Merkle tree. Halaman ini mengasumsikan pengetahuan umum tentang Merkle tree dan transparansi biner. Lihat Struktur Data yang Dapat Diverifikasi untuk ringkasan Merkle tree dan halaman utama untuk ringkasan upaya transparansi biner dalam Android.

Penerapan Log

Log Transparansi Modul Mainline Android diimplementasikan menggunakan Tessera dan mematuhi spesifikasi tlog-tiles dengan tinggi tile 8 (setiap tile atau paket berisi maksimal 28 = 256 item).

Root konten log disajikan di: https://www.gstatic.com/android/binary_transparency/mainline/2026/02/tile/entries/

Root konten kartu disajikan di: https://www.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 Tlog Golang SumDB.

  • Tree Tiles: Hash node interior dan leaf Merkle tree disajikan 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 menyimpan hingga 256 entri yang digabungkan.

Lihat Konten Log untuk mengetahui deskripsi isi setiap entri.

Hash root hierarki Merkle log, yang terdapat dalam checkpoint, disajikan di https://www.gstatic.com/android/binary_transparency/mainline/2026/02/checkpoint dalam format checkpoint. Asal checkpoint adalah android.transparency.goog/mainline/modules/2026/1.

Tanda tangan checkpoint dibuat menggunakan algoritma tanda tangan Ed25519. Tanda tangan checkpoint dapat diverifikasi dengan kunci publik berikut dalam format pemverifikasi catatan (seperti yang ditentukan dalam golang.org/x/mod/sumdb/note) atau format PEM standar:

  • Format verifikasi catatan (<name>+<key_hash>+<public_key_bytes>):
android.transparency.goog/mainline/modules/2026/1+1a8e4064+AfwnHm59rNQTJICchMd7a2W5PQa7nC5h2gTEfq3fhCEI
  • Format PEM (SubjectPublicKeyInfo):
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEA/Ccebn2s1BMkgJyEx3trZbk9BrucLmHaBMR+rd+EIQg=
-----END PUBLIC KEY-----

Log yang Diarsipkan (V1)

Sebelum update Q3 2026, log beroperasi berdasarkan 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:

-----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 di sana untuk memverifikasi klaim yang dibuat dalam Model Penggugat.