Google Ürün Uygulaması Şeffaflık Günlüğü

Google Product Application Transparency Log, şeffaflık günlüğü teknolojisinden yararlanır.

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

Şeffaflık günlükleri, Merkle ağaçları ile uygulanır. 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ı

Google Ürün Uygulaması Ş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/google1p/apk/2026/02/tile/entries/

Karo içeriklerinin kökü şu adreste sunulur: https://www.gstatic.com/android/binary_transparency/google1p/apk/2026/02/tile/

Bunların normal web sayfaları olmadığını unutmayın: Alt dizinlerde bulunan günlük girişleri, tarayıcı üzerinden değil, tlog-tiles istemci kitaplığı (ör. Tessera veya Golang SumDB Tlog kitaplığı) ile programatik olarak okunmalıdır. Bağlantıyı netlik sağlamak için burada belirtiyoruz.

  • 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/google1p/apk/2026/02/checkpoint adresinde kontrol noktası biçiminde sunulur. Kontrol noktası kaynağı: android.transparency.goog/google1p/apk/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 içinde 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/google1p/apk/2026/1+fc654374+ATr9NQE0gvOtVfj5cCStUzdlflEp3oZoNHD8pImzPj5O
  • PEM biçimi (SubjectPublicKeyInfo):
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAOv01ATSC861V+PlwJK1TN2V+USnehmg0cPykibM+Pk4=
-----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-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaP7xodTP5/teDOUYFAUHF0MqvOXt
+jamtcDYWxTjY99hyYczpB/cF2fxHhIqEznNpLcI2Vorl+iEchWhZ0y3Mg==
-----END PUBLIC KEY-----

Günlük Taleplerini Doğrulama

Doğrulama sayfasında, günlüğün çeşitli bileşenlerinin Hak Talebinde Bulunan Model'deki hak taleplerini doğrulamak için nasıl kullanıldığı daha ayrıntılı bir şekilde açıklanmaktadır.