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ı kullanır.

Şeffaflık günlüklerinin faydası, Pixel İkili Şeffaflık 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ılmaktadır. Merkle ağaçlarına genel bakış için Doğrulanabilir Veri Yapıları'na, Android'deki ikili şeffaflık çalışmalarına genel bakış için ise ana sayfaya bakın.

Günlük Uygulaması

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

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

Karo içeriklerinin kökü şu adreste sunulur: https://www.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 veya Golang SumDB Tlog kitaplığı gibi araçlar kullanılarak programatik olarak erişilmelidir.

  • Ağaç Parçaları: Merkle ağacı iç ve yaprak düğüm karmaları tile/<level>/<path> altında sunulur (ör. tile/0/000, tile/1/000).
  • Giriş Paketleri: Günlük yaprağı yükleri, tile/entries/<path> (ör. tile/entries/000, tile/entries/001) altında giriş paketleri halinde düzenlenir. Her pakette en fazla 256 birleştirilmiş giriş bulunur.

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

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

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

  • Not doğrulayıcı biçimi (<name>+<key_hash>+<public_key_bytes>):
android.transparency.goog/mainline/modules/2026/1+1a8e4064+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ını kullanan daha eski bir V1 uygulaması kapsamında çalışıyordu. V1 günlüğü arşivlenir ve salt okunur olur ancak geçmiş girişleri doğrulamak için herkese açık olarak erişilebilir durumda kalır:

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

Mainline modülleri APK'lara benzediği için Google APK'ları doğrulama sayfasında açıklanan doğrulama yöntemleri burada da geçerlidir. Hak Talebinde Bulunan Model'deki iddiaları doğrulamak için buradaki yöntemleri kullanabilirsiniz.