گزارش شفاف‌سازی برنامه محصول Google

«گزارش شفافیت برنامه محصول Google» از فناوری گزارش شفافیت بهره می‌برد.

کاربردهای گزارش‌های شفافیت توسط پروژه‌هایی مانند شفافیت دودویی Pixel و همچنین شفافیت گواهینامه اثبات شده است.

گزارش‌های شفاف‌سازی با درخت‌های مرکل پیاده‌سازی می‌شوند. این صفحه فرض می‌کند که شما دانش عمومی درباره درخت‌های مرکل و شفافیت دودویی دارید. برای نمای کلی درخت‌های Merkle، به ساختارهای داده قابل‌تأیید و برای نمای کلی تلاش‌های شفاف‌سازی دودویی در Android، به صفحه اصلی مراجعه کنید.

پیاده‌سازی گزارش

«گزارش شفاف‌سازی برنامه محصول Google» بااستفاده از Tessera پیاده‌سازی شده است و از مشخصات tlog-tiles با ارتفاع کاشی ۸ (هر کاشی یا بسته حداکثر حاوی ۲۸ = ۲۵۶ مورد است) پیروی می‌کند.

ریشه محتوای گزارش در اینجا ارائه می‌شود: 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 یا کتابخانه Golang SumDB Tlog) خوانده شوند و نه ازطریق مرورگر. برای روشن شدن مطلب، پیوند را در اینجا ذکر می‌کنیم.

  • کاشی‌های درختی: درهم‌سازی‌های گره برگ و داخلی درخت مرکل تحت tile/<level>/<path> (مثلاً tile/0/000، tile/1/000) ارائه می‌شوند.
  • دسته‌های ورودی: محموله‌های برگ گزارش در دسته‌های ورودی تحت tile/entries/<path> (مثلاً tile/entries/000،‏ tile/entries/001) سازمان‌دهی می‌شوند، و هر دسته حداکثر ۲۵۶ ورودی به‌هم‌پیوسته را نگه می‌دارد.

برای شرح محتوای هر ورودی، به محتوای گزارش مراجعه کنید.

درهم‌سازی ریشه درخت مرکل گزارش، که در نقطه بازرسی قرار دارد، در 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-----

گزارش بایگانی‌شده (نسخه ۱)

پیش‌از به‌روزرسانی سه‌ماهه سوم ۲۰۲۶، گزارش تحت پیاده‌سازی قبلی V1 بااستفاده از امضاهای ECDSA (NIST P-256 با SHA-256) کار می‌کرد. گزارش V1 بایگانی‌شده و فقط خواندنی است، اما برای تأیید ورودی‌های قدیمی همچنان به‌صورت عمومی دردسترس است:

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaP7xodTP5/teDOUYFAUHF0MqvOXt
+jamtcDYWxTjY99hyYczpB/cF2fxHhIqEznNpLcI2Vorl+iEchWhZ0y3Mg==
-----END PUBLIC KEY-----

درستی‌سنجی ادعاهای ثبت‌شده

صفحه درستی‌سنجی با جزئیات بیشتری شرح می‌دهد که چگونه از مؤلفه‌های مختلف گزارش برای درستی‌سنجی ادعاهای مطرح‌شده در مدل مدعی استفاده می‌شود.