حالة الجهاز

تشير حالة الجهاز إلى مدى حرية تحميل البرامج إلى الجهاز وما إذا كان التحقق قد تم فرضه أم لا. حالات الجهاز LOCKED UNLOCKED . تمنعك الأجهزة LOCKED من إضافة برامج جديدة إلى الجهاز، بينما تسمح الأجهزة UNLOCKED بالتعديل.

عند تشغيل الجهاز، يتحقق برنامج تحميل التشغيل أولاً مما إذا كان الجهاز LOCKED أو UNLOCKED . إذا كان الجهاز UNLOCKED ، يعرض برنامج تحميل التشغيل تحذيرًا للمستخدم ثم يتابع عملية التمهيد حتى إذا لم يتم توقيع نظام التشغيل الذي تم تحميله بواسطة جذر الثقة.

إذا كان الجهاز LOCKED ، فإن أداة تحميل التشغيل تتبع الخطوات الواردة في التحقق من التمهيد للتحقق من برنامج الجهاز. يتم تشغيل الأجهزة LOCKED فقط إذا تم توقيع نظام التشغيل المحمل بشكل صحيح بواسطة جذر الثقة. لمزيد من التفاصيل، راجع تدفق التمهيد .

تغيير حالة الجهاز

لتغيير حالة الجهاز استخدم fastboot flashing [unlock | lock] الأمر. لحماية بيانات المستخدم، تقوم جميع انتقالات الحالة بمسح أقسام البيانات وتطلب تأكيد المستخدم قبل حذف البيانات.

يتم توقع الانتقال من UNLOCKED إلى LOCKED عندما يشتري المستخدم جهاز تطوير مستخدمًا. ونتيجة لقفل الجهاز، يجب أن يكون المستخدم واثقًا من أنه في الحالة التي تنتجها الشركة المصنعة للجهاز، طالما لم يكن هناك أي تحذير. من المتوقع أن يتم الانتقال LOCKED إلى UNLOCKED عندما يرغب المطور في تعطيل التحقق على الجهاز لأغراض التطوير.

جذر الثقة

جذر الثقة هو مفتاح التشفير المستخدم لتوقيع نسخة Android المخزنة على الجهاز. الجزء الخاص من جذر الثقة معروف فقط للشركة المصنعة للجهاز ويستخدم للتوقيع على كل إصدار من Android مخصص للتوزيع. يتم تضمين الجزء العام من جذر الثقة في الجهاز ويتم تخزينه في مكان بحيث لا يمكن التلاعب به (عادةً تخزين للقراءة فقط).

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

جذر الثقة القابل للتعيين من قبل المستخدم

يمكن للأجهزة أن تسمح للمستخدم اختياريًا بتكوين جذر الثقة (على سبيل المثال، مفتاح عام). يمكن للأجهزة استخدام جذر الثقة القابل للتعيين بواسطة المستخدم للتشغيل الذي تم التحقق منه بدلاً من جذر الثقة المضمن. يتيح ذلك للمستخدم تثبيت واستخدام الإصدارات المخصصة من Android دون التضحية بالتحسينات الأمنية التي يوفرها برنامج Verified Boot.

إذا تم تنفيذ جذر الثقة القابل للتعيين من قبل المستخدم، فيجب أن يتم ذلك بطريقة:

  • التأكيد الفعلي مطلوب لتعيين/مسح جذر الثقة القابل للتعيين بواسطة المستخدم.
  • لا يمكن تعيين جذر الثقة القابل للتعيين بواسطة المستخدم إلا بواسطة المستخدم النهائي. ولا يمكن ضبطه في المصنع أو في أي نقطة وسيطة قبل أن يحصل المستخدم النهائي على الجهاز.
  • يتم تخزين جذر الثقة القابل للتعيين من قبل المستخدم في مخزن واضح للتلاعب. تعني ميزة "العبث الواضح " أنه من الممكن اكتشاف ما إذا كان Android قد تلاعب بالبيانات، على سبيل المثال، إذا تم الكتابة فوقها أو تغييرها.
  • إذا تم تعيين جذر الثقة القابل للتعيين بواسطة المستخدم، فيجب أن يسمح الجهاز بإصدار Android موقع إما باستخدام جذر الثقة المدمج أو جذر الثقة القابل للتعيين بواسطة المستخدم للتمهيد.
  • في كل مرة يقوم فيها الجهاز بالتمهيد باستخدام جذر الثقة الذي يمكن تعيينه بواسطة المستخدم، يجب إعلام المستخدم بأن الجهاز يقوم بتحميل إصدار مخصص من Android. على سبيل المثال، شاشات التحذير، راجع الأجهزة LOCKED مع مجموعة مفاتيح مخصصة .

تتمثل إحدى طرق تنفيذ جذر الثقة القابل للتعيين بواسطة المستخدم في الحصول على قسم افتراضي لا يمكن وميضه أو مسحه إلا عندما يكون الجهاز في حالة UNLOCKED . تستخدم أجهزة Google Pixel 2 هذا الأسلوب ويسمى القسم الافتراضي avb_custom_key . تنسيق البيانات الموجودة في هذا القسم هو إخراج الأمر avbtool extract_public_key . فيما يلي مثال لكيفية تعيين جذر الثقة القابل للتعيين بواسطة المستخدم:

avbtool extract_public_key --key key.pem --output pkmd.bin
fastboot flash avb_custom_key pkmd.bin

يمكن مسح جذر الثقة القابل للتعيين بواسطة المستخدم عن طريق إصدار:

fastboot erase avb_custom_key