صفحة التفاصيل الفنية للشفافية الثنائية لهواتف Pixel

يستفيد سجلّ الشفافية الثنائية في Pixel من تكنولوجيا سجلّ الشفافية.

تم إثبات فائدة سجلات الشفافية من خلال شهادة الشفافية، شبكة إنترنت بروتوكول يتطلب من مراجع التصديق نشر الشهادات مشكلة في السجلات العامة لشهادة الشفافية. وقد قللت هذه العملية بشكل كبير سوء إصدار الشهادات، مما يؤدي إلى زيادة أمان الإنترنت يعتمد العديد من مشغلي سجلات شهادة الشفافية على عملية تنفيذ من سجلّات الشفافية التي تم العثور عليها على transparency.dev.

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

تنفيذ السجلّ

يتم تنفيذ سجلّ الشفافية الثنائية لجهاز Pixel شجرة Merkle المستندة إلى مربّعات الجذر يتم عرض محتوى المربع في https://developers.google.com/android/binary_transparency/tile. ملاحظة: هذه ليست صفحة ويب عادية؛ يجب أن تكون إدخالات السجل الموجودة في الأدلة الفرعية أن يتم قراءتها آليًا باستخدام منصة Golang SumDB مكتبة TLog وليس من خلال المتصفح.

يمكنك الاطّلاع على محتوى السجلّ للحصول على ووصفًا لما تحتويه الإدخالات.

يتم عرض تجزئة جذر شجرة Merkle من السجل، والمضمن في نقطة تفتيش، في https://developers.google.com/android/binary_transparency/checkpoint.txt. يتم عرضها في تنسيق نقطة التحقق. يتم تقديم أوراق شجرة Merkle هذه على الرابط https://developers.google.com/android/binary_transparency/image_info.txt. يمكن إثبات صحة توقيع نقطة التفتيش باستخدام المفتاح العام التالي:

-----BEGIN CERTIFICATE-----
MIICPDCCAeOgAwIBAgIVAPooxISw/nFF/dPwmCUaV36Z4s3hMAoGCCqGSM49BAMCMHQxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFpbiBWaWV3MRQwEgYD
VQQKEwtHb29nbGUgSW5jLjEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDAgFw0y
MTA3MTkyMjQxNDFaGA8yMDUxMDcxOTIyNDE0MVowdDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh
bGlmb3JuaWExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFDASBgNVBAoTC0dvb2dsZSBJbmMuMRAw
DgYDVQQLEwdBbmRyb2lkMRAwDgYDVQQDEwdBbmRyb2lkMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD
QgAEU83uXNUiTYE53c2TfdWmqpW20bBXy4KEf5Ff8dV8GLKlVAXKHyjw3Lp9J3E0yCRJ/39XKeuA
AMF7KzSvhD248KNQME4wDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUHRpvuNkzjtBY213BWgUyWWHm
3VYwHwYDVR0jBBgwFoAUHRpvuNkzjtBY213BWgUyWWHm3VYwCgYIKoZIzj0EAwIDRwAwRAIgZsZb
CNBXRkCKLS+LG/41VWj1cTszt9QCdJQNuy7aT94CIDPgn7v5b1ykBVUTuLgRSofxAzHg9R4dg1oA
7tTFAuDg
-----END CERTIFICATE-----

تقرأ عملية إثبات الهوية النقطة المرجعية والمربّعات. الذي يحتوي على إدخالات السجل من السجل.

عملية التحقّق من المعلنين

يتم تنفيذ سجل شفافية مع شجرة Merkle تتكون من تجزئات. حاسمة تحتوي العقدة الأساسية على بيانات، بينما تحتوي العقدة الأصلية على تجزئة عناصرها الثانوية.

تم إجراء عمليتَي حاسوبيتين على شجرة Merkle للتحقق من عدم التلاعب خاصية سجلات الشفافية: إثبات التضمين وإثبات الاتساق. تشير رسالة الأشكال البيانية السابق أن يثبت أن السجل يتضمن إدخالاً يتوافق مع نسخة الصورة، هذا هو. يتضمن إدخال السجل VBMeta Summary، تجزئة تمثل صور نظام التشغيل، والتي يمكن إرجاعها من الجهاز. تشير رسالة الأشكال البيانية هذا الأخير يثبت أنه عند إضافة إدخالات جديدة إلى الشجرة، فإن النقطة المرجعية الجديدة متسقة مع النسخة السابقة للشجرة

لإثبات ملكية صورة Pixel، عليك تنفيذ إثبات التضمين. إجراء إنّ احتساب إثبات الاتساق هو إجراء اختياري، لأنّ الجهات الخارجية تستخدم القيام بذلك.

إذا أردت التعرّف على مفاهيم التحقّق في Pixel شفافية النظام الثنائي، يمكنك اتباع التعليمات أدناه لاستخدام الصورة يعمل حاليًا على جهاز Pixel في حال أردت تشغيل البرامج الثابتة من هواتف Pixel بأعلى مستوى درجة من الثقة، فاطّلع على عملية التحقق على التحقُّق الكامل من شفافية وحدات Pixel الثنائية

المتطلبات الأساسية

تأكَّد من توفُّر التبعيات التالية:

# Source code for the inclusion proof verifier is found at avb/tools/transparency/verify
git clone https://android.googlesource.com/platform/external/avb

أدلة التضمين

يمكن لمالك هاتف Pixel التأكّد من أنّ صورته في السجلّ من خلال استخراج البيانات الوصفية ذات الصلة، ثم مقارنة تجزئة الجذر المُعاد حسابها بتجزئة الجذر الواردة في نقطة التحقّق المنشورة. إذا تطابقا، يمكن لمالك Pixel ضمان بعض إجراءات الحماية. كما هو موضح في نموذج التهديد:

للتأكّد من أنّ الصورة المتوفّرة على جهاز Pixel محفوظة في سجلّ الشفافية، عليك اتّباع الخطوات التالية: الاتصال بالجهاز باستخدام adb ثم قم بتشغيل الأوامر التالية:

FINGERPRINT=$(adb shell getprop ro.build.fingerprint)
VBMETA_DIGEST=$(adb shell getprop ro.boot.vbmeta.digest)
LOG_ENTRY="${FINGERPRINT}\n${VBMETA_DIGEST}\n"
PAYLOAD_PATH="/tmp/log_payload.txt"
echo -e $LOG_ENTRY >> $PAYLOAD_PATH

cd avb/tools/transparency/verify/
go build cmd/verifier/verifier.go
./verifier --payload_path=$PAYLOAD_PATH

يسترد المقطع الأول البيانات الوصفية من جهاز Pixel بتنسيق السجل وحفظه في /tmp/log_payload.txt.

يُشغل المقطع الثاني أداة التحقق من إثبات التضمين والمنشورة في مستودع التشغيل المتحقَّق منه لنظام التشغيل Android تحتسب هذه الأداة تجزئة إدخال السجل المرشح وتسترد البيانات الأخرى التجزئات اللازمة لإعادة حساب النقطة المرجعية من السجل، وتقارنها النقطة المرجعية المنشور بواسطة السجل.

وتتم كتابة ناتج الأمر بتنسيق stdout:

  • OK إذا تم تضمين الصورة في السجل،
  • FAILURE إذا لم يكن كذلك.

إثبات الاتساق (اختياري)

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

يتم التحقق من سلوك "الملحق فقط" لسجل الشفافية بواسطة ثالث وبالتالي لا يحتاج معظم المستخدمين إلى إجراء ذلك بأنفسهم، بل ربما لأي شخص لمراقبة اتساق السجل. نشرت Google برنامجًا مفتوح المصدر إجراؤك لشهود في هذه القضية مستودع GitHub. من الضروري استخدام الضبط الخاص بسجل الشفافية الثنائية لجهاز Pixel (PixelBT).