
أمن عملية المصادقة
أمن عملية المصادقة
عندما يحدد تكوين ACME المفاتيح المرتبطة بالأجهزة، أو عندما تطلب خدمة إدارة الجهاز مصادقة DeviceInformation، يتبع الجهاز الخطوات التالية:
يطلب نظام التشغيل من Secure Enclave مفتاحًا من المفاتيح المرتبطة بالأجهزة، يسمى المفتاح المصادق عليه. بالنسبة لمصادقة ACME، يكون هذا المفتاح جزءًا من هوية الشهادة الصادرة. بالنسبة لـ مصادقة
DeviceInformation، يتم إنشاء المفتاح بواسطة نظام التشغيل ويُعاد استخدامه لجميع عمليات مصادقةDeviceInformationاللاحقة طوال مدة التسجيل.يطلب نظام التشغيل مصادقة الأجهزة من Secure Enclave. يحدد المفتاح المصادق عليه، ورمز التحديث، والخصائص التي يريد المصادقة عليها.
يقوم Secure Enclave بإنشاء وإرجاع مصادقة أجهزة جديدة.
يرسل نظام التشغيل مصادقة الأجهزة إلى خوادم مصادقة Apple.
تتحقق خوادم المصادقة من الطلب، وإما أن ترفض إصدار شهادة مصادقة أو تنشئ مصادقة تحتوي فقط على الخصائص والقيم التي تمكنت من تأكيدها. يطابق المفتاح العام لشهادة المصادقة المفتاح المصادق عليه.
يقدم نظام التشغيل شهادة المصادقة الناتجة إلى خدمة إدارة الجهاز أو حل ACME.
للحصول على مزيد من المعلومات حول التحقق من صحة شهادة المصادقة المقدمة، راجع قسم التحقق من صحة شهادة الجهاز المُدار على موقع الإلكتروني لـ Apple Developer.
حول مصادقة الأجهزة
عندما يقوم Secure Enclave بإنشاء مصادقة أجهزة، فإنه يتضمن العناصر التالية، من بين عناصر أخرى:
معرفات اللوحة المنطقية الرئيسية.
المفتاح العام للمفتاح المصادق عليه.
قيم التجزئة لمكونات البرامج التالية والتي يتم حسابها أثناء عملية التمهيد وتخزينها في سجلات الأجهزة (بشكل مشابه لحماية المفاتيح المؤمنة):
برنامج Secure Enclave الثابت (sepOS).
بيان Image4 الملحق بـ LLB والذي يحتوي أيضًا على قياس لجميع البرامج الثابتة الأخرى المقترنة بالنظام.
بيان Image4 الخاص بنظام التشغيل والذي يحتوي على قياسات لجميع البرامج الثابتة المقترنة بنظام التشغيل.
قيم أخرى خاصة بالجهاز مثل ECID و ChipID.
في أجهزة كمبيوتر Mac، تفاصيل LocalPolicy.
رمز التحديث.
إذا لم يتمكن Secure Enclave من فك تغليف المفتاح المصادق عليه، فإنه يرفض إنشاء مصادقة أجهزة. يضمن هذا ربط المفتاح المصادق عليه بـ Secure Enclave المحدد، واقتران جميع الخصائص الأخرى المصادق عليها بهذا المفتاح.
يتم تجميع كل هذه العناصر في هيكل ثنائي مخصص وتوقيعها باستخدام مفتاح هوية المستخدم (UIK). يربط هذا مصادقة الأجهزة بهوية محددة يمكن لمصادقات Apple التحقق منها، مما يسمح لها بربط الطلب بسجل تنشيط محدد، وبالتالي بسجل تصنيع محدد.
إنشاء شهادة المصادقة
عندما تتلقى خوادم المصادقة التابعة لـ Apple طلب مصادقة، فإنها تقوم بما يلي:
التحقق من صحة توقيع مفتاح هوية المستخدم (UIK) الخاص بمصادقة أجهزة. إذا كان التوقيع غير صالح، فلن يتم إنشاء أي مصادقة.
ابحث عن
ucrtفي سجلات تنشيط Apple والتي تتوافق مع المفتاح العام لـ UIK. إذا لم يتم العثور علىucrt، فلن يتم إنشاء أي مصادقة.ابحث عن
scrtالذي يتوافق معucrtالخاص بالجهاز. إنscrtهي شهادة تصدرها خوادم Apple أثناء التصنيع بناءً على مفتاح هوية السيليكون (SIK). يتم إنشاء SIK بواسطة Secure Enclave ويتم جمع مفتاحه العام أثناء التصنيع من الجهاز. يُستخدم SIK أثناء التنشيط للتحقق من أن Secure Enclave للجهاز الذي يتم تنشيطه بحوزته المفتاح الخاص. يستمر SIK طوال فترة عمر الجهاز ويعمل كمُعرِّف فريد. باستخدامscrt، يتم استرداد سجل تصنيع الجهاز. إذا لم يتم العثور على السجل، فلن يتم إنشاء أي مصادقة.التحقق من مطابقة مُعرِّفَات مكونات الأجهزة لسجلات التصنيع. إذا لم تتطابق مُعرِّفَات المكونات مع سجلات التصنيع، فلن يتم إنشاء أي مصادقة.
يتم نسخ رمز التحديث في المصادقة، إذا كان موجودًا.
إذا طُلِب بواسطة المصادقة:
مقارنة قيم التجزئة المحسوبة لمكونات البرامج مع قيم التجزئة المعروفة من سجلات البناء. إذا حدث تطابق، يتم إدراج رقم الإصدار الرسمي في المصادقة؛ وإذا لم يحدث، يتم حذف معرف الكائن (OID) أو تُترك قيمته فارغة.
عندما يتم بناء صور LLB، أو Secure Enclave، أو نظام التشغيل الرئيسي، يتم حساب قيم التجزئة وتسجيلها في قاعدة بيانات سجلات البناء، جنبًا إلى جنب مع أرقام الإصدارات الرسمية لتلك الصور.
حساب UDID من ECID و ChipID.
يتم نسخ قيم معرفات الكائنات (OIDs) المطلوبة من LocalPolicy في المصادقة إذا كان الجهاز من نوع Mac.
النتيجة العملية لهذه التحققات هي أنه لن يتم إنشاء أي مصادقة إذا لم تتمكن خادمات المصادقة من التعرف على الجهاز كجهازApple أصلي. يتم تضمين كل خاصية في شهادة المصادقة فقط إذا كانت خادمات المصادقة قادرة على التحقق من قيمة الخاصية، باستثناء رمز التحديث الذي يتم تضمينه دون أي تحقق.