Android Ana Hat Modülleri Şeffaflık Günlüğü

Android Mainline Modülleri Şeffaflık Günlüğü, Mainline modüllerinin bütünlüğünü sağlamak için doğrulanabilir veri yapılarını kullanır.

Şeffaflık günlüklerinin faydası, Pixel Binary Transparency ve Sertifika Şeffaflığı gibi projelerle kanıtlanmıştır.

Şeffaflık günlükleri, Merkle ağaçları üzerine kuruludur. Bu sayfada, Merkle ağaçları ve ikili şeffaflık hakkında genel bilgi sahibi olduğunuz varsayılır. Merkle ağaçlarına genel bakış için Doğrulanabilir Veri Yapıları'nı, Android'deki ikili şeffaflık çalışmalarıyla ilgili genel bakış için ise ana sayfayı inceleyin.

Günlük Uygulaması

Android Mainline Modülleri Şeffaflık Günlüğü, Tessera kullanılarak uygulanır ve 8 karo yüksekliğinde tlog-tiles spesifikasyonuna uygundur (her karo veya paket en fazla 28 = 256 öğe içerir).

Günlük içeriklerinin kökü şu adreste sunulur: https://gstatic.com/android/binary_transparency/mainline/2026/02/tile/entries/

Kart içeriklerinin kökü şu adreste sunulur: https://gstatic.com/android/binary_transparency/mainline/2026/02/tile/

Bu URL'lerin standart web sayfaları olmadığını unutmayın. Bunun yerine, alt dizinlerindeki günlük girişlerine Tessera gibi araçlar veya Golang SumDB Tlog kitaplığı kullanılarak programatik olarak erişilmelidir.

  • Ağaç Döşemeleri: Merkle ağacının iç kısmı ve yaprak düğümü karma değerleri tile/<level>/<path> altında sunulur (ör. tile/0/000, tile/1/000).
  • Giriş paketleri: Günlük yaprağı yükleri, tile/entries/<path> altında giriş paketleri halinde düzenlenir (ör.tile/entries/000, tile/entries/001). Her paket, birleştirilmiş 256 girişe kadar tutar.

Her girişin içeriğiyle ilgili açıklama için Günlük İçeriği bölümüne bakın.

Kontrol noktasında bulunan günlüğün Merkle ağacı kök karması, kontrol noktası biçiminde https://gstatic.com/android/binary_transparency/mainline/2026/02/checkpoint adresinde sunulur. Kontrol noktası kaynağı gstatic.com/android/binary_transparency/mainline/modules/2026/1.

Kontrol noktası imzaları, Ed25519 imza algoritması kullanılarak oluşturulur. Kontrol noktasının imzası, aşağıdaki ortak anahtarla doğrulanabilir: not doğrulayıcı biçiminde (golang.org/x/mod/sumdb/note'de tanımlandığı gibi) veya standart PEM biçiminde:

  • Not doğrulayıcı biçimi (<name>+<key_hash>+<public_key_bytes>):
MainlineModulesLogV2+e490c9dd+AfwnHm59rNQTJICchMd7a2W5PQa7nC5h2gTEfq3fhCEI
  • PEM biçimi (SubjectPublicKeyInfo):
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEA/Ccebn2s1BMkgJyEx3trZbk9BrucLmHaBMR+rd+EIQg=
-----END PUBLIC KEY-----

Arşivlenmiş günlük (V1)

2026'nın 3. çeyreğindeki güncellemeden önce günlük, ECDSA (SHA-256 ile NIST P-256) imzaları kullanan daha önceki bir V1 uygulaması kapsamında çalışıyordu. V1 günlüğü arşivlenir ve salt okunur hale gelir ancak geçmiş girişleri doğrulamak için herkese açık olarak erişilebilir kalır:

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEr6nPds8eKCYU42avidXNM1GDCtQ/
66GjGuIpUcZjqQNngwRFVCFZDpWuvDnqXzhJRxqccL9lbeEVVZGpa4x6pg==
-----END PUBLIC KEY-----

Mainline modülleri APK'lara benzediğinden Google APK'ları doğrulama sayfasında açıklanan doğrulama yöntemleri burada da geçerlidir. Hak Sahibi Modelinde yapılan hak taleplerini doğrulamak için buradaki yöntemleri kullanabilirsiniz.