יומן השקיפות של אפליקציות במוצרי Google מבוסס על טכנולוגיית יומן שקיפות.
התועלת של יומני שקיפות הוכחה בפרויקטים כמו שקיפות בינארית ב-Pixel וגם שקיפות אישורים.
יומני השקיפות מיושמים באמצעות עצי מרקל (Merkle trees). ההנחה היא שיש לכם ידע כללי על עצי מרקל ועל שקיפות בינארית. במאמר מבני נתונים שניתנים לאימות יש סקירה כללית של עצי Merkle, ובדף הראשי יש סקירה כללית של המאמצים לשקיפות בינארית ב-Android.
הטמעת יומן רישום
יומן השקיפות של אפליקציות המוצרים של Google מיושם באמצעות Tessera, והוא תואם למפרט tlog-tiles עם גובה משבצת של 8 (כל משבצת או חבילה מכילה לכל היותר 28 = 256 פריטים).
השורש של תוכן היומן מוצג בכתובת:
https://www.gstatic.com/android/binary_transparency/google1p/apk/2026/02/tile/entries/
התוכן של המשבצת הראשית מוצג בכתובת:
https://www.gstatic.com/android/binary_transparency/google1p/apk/2026/02/tile/
שימו לב שאלה לא דפי אינטרנט רגילים: צריך לקרוא את רשומות היומן שנמצאות בספריות המשנה באופן פרוגרמטי באמצעות ספריית לקוח של tlog-tiles (כמו Tessera או ספריית Tlog של Golang SumDB) ולא באמצעות דפדפן. אנחנו מציינים את הקישור כאן לשם הבהרה.
- אריחי עץ: ערכי הגיבוב של הצומת הפנימי וצומת העלה של עץ Merkle מוצגים בכתובת
tile/<level>/<path>(למשל,tile/0/000,tile/1/000). - חבילות של רשומות: המטענים הייעודיים של עלי היומן מאורגנים בחבילות של רשומות בנתיב
tile/entries/<path>(למשל,tile/entries/000,tile/entries/001), וכל חבילה מכילה עד 256 רשומות משורשרות.
במאמר תוכן היומן מוסבר מה מכילה כל רשומה.
הגיבוב של שורש עץ Merkle של היומן, שכלול בנקודת ביקורת, מוצג בכתובת https://www.gstatic.com/android/binary_transparency/google1p/apk/2026/02/checkpoint בפורמט של נקודת ביקורת.
מקור נקודת הבדיקה הוא android.transparency.goog/google1p/apk/2026/1.
החתימות של נקודות הבדיקה נוצרות באמצעות אלגוריתם החתימה Ed25519.
אפשר לאמת את החתימה של נקודת הבדיקה באמצעות המפתח הציבורי הבא, בפורמט של מאמת הערות (כפי שמוגדר ב-golang.org/x/mod/sumdb/note) או בפורמט PEM רגיל:
- פורמט של מאמת הערות (
<name>+<key_hash>+<public_key_bytes>):
android.transparency.goog/google1p/apk/2026/1+fc654374+ATr9NQE0gvOtVfj5cCStUzdlflEp3oZoNHD8pImzPj5O
- פורמט PEM (SubjectPublicKeyInfo):
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAOv01ATSC861V+PlwJK1TN2V+USnehmg0cPykibM+Pk4=
-----END PUBLIC KEY-----
יומן שהועבר לארכיון (גרסה 1)
לפני העדכון ברבעון השלישי של 2026, היומן פעל לפי הטמעה קודמת של גרסה 1 באמצעות חתימות ECDSA (NIST P-256 עם SHA-256). היומן של גרסה 1 הועבר לארכיון והוא במצב קריאה בלבד, אבל הוא עדיין נגיש לכולם כדי לאמת רשומות היסטוריות:
- גודל העץ: 1,797,152 רשומות (בזמן ההעברה לארכיון)
- Root Hash:
IkmuYB2xKKEOLiaQkIho1o9/uGjrKDbk8xa3xXaFeHY= - נקודת ביקורת: https://www.gstatic.com/android/binary_transparency/google1p/apk/2026/01/checkpoint.txt
- עלי נתונים: בגלל מגבלות על גודל הקובץ ועל נפח האחסון ב-
gstatic.com(שמגבילות קבצים סטטיים בודדים ל-200MiB), המטענים הייעודיים של העלים ביומן המלא שהועבר לארכיון מחולקים לשני קבצים עוקבים:- חלק 1 (רשומות 0 עד 1,714,860): https://www.gstatic.com/android/binary_transparency/google1p/apk/2026/01/package_info.txt
- חלק 2 (רשומות 1,714,861 עד 1,797,151): https://www.gstatic.com/android/binary_transparency/google1p/apk/2026/01/package_info2.txt
- שורש המשבצת:
https://www.gstatic.com/android/binary_transparency/google1p/apk/2026/01/tile/ - מפתח ציבורי (פורמט PEM, ECDSA P-256):
-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaP7xodTP5/teDOUYFAUHF0MqvOXt
+jamtcDYWxTjY99hyYczpB/cF2fxHhIqEznNpLcI2Vorl+iEchWhZ0y3Mg==
-----END PUBLIC KEY-----
אימות של תלונות ביומן
בדף האימות מוסבר בפירוט איך הרכיבים השונים של היומן משמשים לאימות הטענות שמועלות במודל התובע.