سجلّ شفافية وحدات Android Mainline

يستخدم سجلّ شفافية وحدات Android Mainline بنى بيانات يمكن التحقّق منها لضمان سلامة وحدات Mainline.

وقد أثبتت مشاريع مثل Pixel Binary Transparency و شهادة الشفافية فائدة سجلّات الشفافية.

تستند سجلّات الشفافية إلى أشجار Merkle. تفترض هذه الصفحة معرفة عامة بأشجار Merkle والشفافية الثنائية. يمكنك الاطّلاع على بِنى البيانات القابلة للتحقّق للحصول على نظرة عامة حول أشجار Merkle، وعلى الصفحة الرئيسية للحصول على نظرة عامة حول جهود الشفافية الثنائية في Android.

تنفيذ السجلّ

يتم تنفيذ سجلّ الشفافية الخاص بوحدات Android Mainline باستخدام Tessera، وهو يتوافق مع مواصفات tlog-tiles بارتفاع يبلغ 8 وحدات (تحتوي كل وحدة أو حزمة على 28 عنصر على الأكثر، أي 256 عنصرًا).

يتم عرض جذر محتوى السجلّ على الرابط: https://gstatic.com/android/binary_transparency/mainline/2026/02/tile/entries/

يتم عرض جذر محتوى المربّع على العنوان التالي: https://gstatic.com/android/binary_transparency/mainline/2026/02/tile/

يُرجى العِلم أنّ عناوين URL هذه ليست صفحات ويب عادية. بدلاً من ذلك، يجب الوصول إلى إدخالات السجلّ في الدلائل الفرعية بشكل آلي باستخدام أدوات مثل 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://gstatic.com/android/binary_transparency/mainline/2026/02/checkpoint بتنسيق نقطة التحقّق. أصل نقطة التفتيش هو gstatic.com/android/binary_transparency/mainline/modules/2026/1.

يتم إنشاء توقيعات نقاط التحقّق باستخدام خوارزمية التوقيع Ed25519. يمكن التحقّق من توقيع نقطة التحقّق باستخدام المفتاح العام التالي إما بتنسيق أداة التحقّق من الملاحظات (كما هو محدّد في golang.org/x/mod/sumdb/note) أو بتنسيق PEM العادي:

  • تنسيق أداة التحقق من الملاحظات (<name>+<key_hash>+<public_key_bytes>):
MainlineModulesLogV2+e490c9dd+AfwnHm59rNQTJICchMd7a2W5PQa7nC5h2gTEfq3fhCEI
  • تنسيق PEM (SubjectPublicKeyInfo):
-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEA/Ccebn2s1BMkgJyEx3trZbk9BrucLmHaBMR+rd+EIQg=
-----END PUBLIC KEY-----

سجلّ الأنشطة المؤرشف (الإصدار 1)

قبل طرح التحديث في الربع الثالث من عام 2026، كان السجلّ يعمل بموجب إصدار سابق من الإصدار 1 باستخدام توقيعات ECDSA (NIST P-256 مع SHA-256). يتم أرشفة سجلّ الإصدار 1 وهو متاح للقراءة فقط، ولكن يمكن للجميع الوصول إليه للتحقّق من الإدخالات السابقة:

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

بما أنّ وحدات Mainline تشبه حِزم APK، تنطبق عليها أيضًا طرق التحقّق الموضّحة في صفحة التحقّق من حِزم APK على Google. يمكنك استخدام الطرق الموضّحة هناك للتحقّق من المطالبات الواردة في نموذج المطالبة.