الأجهزة المعتمَدة هي الأجهزة التي اجتازت Connectivity Standards Alliance (Alliance) Matter.
أثناء عملية الإعداد، يجب أن يثبت الجهاز المعتمَد صحة شهادة اعتماده. بمعنى آخر، يجب أن يثبت أنّه مطابق لما يدّعيه وأنّه منتج أصلي. وبالتالي، تحتوي جميع Matter الأجهزة على بيانات اعتماد تشمل زوج مفتاح المصادقة وسلسلة شهادات مرتبطة. شهادة إثبات صحة الجهاز (DAC) هي جزء من هذه السلسلة. بعد أن يعرض الجهاز المراد إعداده رمز الإعداد عبر القنوات الرقمية (DAC) على الجهاز المتحكّم، سيؤكّد الجهاز المتحكّم ما يلي:
- أنّها من صنع شركة مصنّعة معتمَدة
- أنّه جهاز أصلي.
- اجتازت Matter اختبارات امتثال.
أثناء مرحلة التطوير، يمكن للشركة المصنّعة اختبار الأجهزة بدون إكمال عملية "التصديق". يجب إبلاغ المختبِرين بشكل صريح بأنّ الجهاز قيد الاختبار ولم يتم اعتماده وإطلاقه بعد. بعد أن يدخل المصنّع مرحلة الإنتاج، يجب أن يفرض نظام المزوّد جميع متطلبات شهادة المصادقة.
تستخدم عملية إثبات صحة الجهاز البنية التحتية للمفاتيح العامة (PKI) التي تستفيد من هيئات إصدار شهادات الجذر والشهادات الوسيطة، وذلك بطريقة مشابهة لشهادات مصادقة الخادم المستخدَمة على نطاق واسع في SSL/TLS. وتُعرف هذه العملية باسم سلسلة شهادات إثبات صحة الجهاز.
البنية التحتية للمفاتيح العامة (PKI) للتحقّق من سلامة الجهاز
شهادة DAC هي شهادة X.509 الإصدار 3. نشر الاتحاد الدولي للاتصالات (ITU-T) الإصدار الأول من معيار X.509 في عام 1988. يتم تحديد شهادة X.509 الإصدار 3 مع شهادة البنية التحتية للمفتاح العام وقائمة الشهادات الباطلة (CRL) المستخدَمة من قِبل Matter بموجب RFC5280. ويحتوي على:
- مفتاح عام
- جهة الإصدار
- الموضوع
- الرقم التسلسلي للشهادة
- الصلاحية، حيث يمكن أن يكون تاريخ انتهاء الصلاحية غير محدّد
- التوقيع
معرّف المورّد ومعرّف المنتج هما سمتان من سمات MatterDACName في موضوع DAC.
يكون رمز DAC فريدًا لكل جهاز ومرتبطًا بزوج مفاتيح فريد لإثبات صحة الجهاز داخل المنتج، وتصدره هيئة إصدار شهادات مرتبطة بالشركة المصنّعة للجهاز.
يتم التحقّق من صحة توقيع DAC باستخدام شهادة وسيطة لتصديق المنتج (PAI) التي تصدرها أيضًا هيئة PAA، ولكن يمكن للمورّد اختيار إنشاء شهادة PAI واحدة لكل منتج (خاصة بمعرّف المنتج) أو مجموعة من المنتجات أو لجميع منتجاته.
في جذر سلسلة الثقة، يتحقّق المفتاح العام لهيئة إصدار الشهادات (CA) لهيئة إثبات صحة المنتج (PAA) من صحة التواقيع من PAI. يُرجى العِلم أنّ مخزن شهادات الجذر الموثوق بها Matter موحّد، ويتم الاحتفاظ بمجموعة شهادات PAA الموثوق بها من قِبل المفوضين في قاعدة بيانات مركزية موثوق بها (سجلّ الامتثال الموزّع). ويتطلّب إدخال PAA ضمن المجموعة الموثوق بها استيفاء سياسة الشهادات التي تديرها Alliance.
إنّ PAI هي أيضًا شهادة X.509 الإصدار 3 تتضمّن ما يلي:
- مفتاح عام
- جهة الإصدار
- الموضوع
- الرقم التسلسلي للشهادة
- الصلاحية، حيث يمكن أن يكون تاريخ انتهاء الصلاحية غير محدّد
- التوقيع
معرّف المورّد ومعرّف المنتج (اختياريًا) هما سمتان من سمات MatterDACName في موضوع DAC.
أخيرًا، PAA هي شهادة الجذر في السلسلة وهي موقَّعة ذاتيًا، وتتضمّن ما يلي:
- التوقيع
- مفتاح عام
- جهة الإصدار
- الموضوع
- الرقم التسلسلي للشهادة
- الصلاحية
المستندات والرسائل الإضافية المتعلقة بشهادة التصديق
تتضمّن عملية التصديق عدة مستندات ورسائل، وفي ما يلي نظرة عامة موجزة على وظيفتها وتركيبها، كما تساعد الصورة أدناه في فهم التسلسل الهرمي لها.
| مستند | الوصف |
|---|---|
| إقرار الشهادة (CD) | تسمح شهادة الجهاز
Matter للجهاز
بإثبات امتثاله لبروتوكول
Matter.
عند انتهاء
Matter
عمليات الحصول على الشهادة،
تنشئ Alliance قرصًا مضغوطًا
لنظام التشغيل الخاص بنوع الجهاز
ليتمكّن المورّد من تضمينه في
البرامج الثابتة. يتضمّن القرص المضغوط، من بين معلومات أخرى، ما يلي:
|
| معلومات البرامج الثابتة (اختيارية) <0x0 | تحتوي معلومات البرامج الثابتة على رقم إصدار القرص المضغوط وواحد أو أكثر من الملخّصات الخاصة بالمكوّنات في البرامج الثابتة، مثل نظام التشغيل ونظام الملفات وبرنامج التشغيل. وقد تكون الملخّصات عبارة عن تجزئة لمكوّنات البرامج أو تجزئة للبيانات الموقّعة لمكوّنات البرامج. يمكن للمورّد أيضًا اختيار تضمين "تجزئة التجزئات" الخاصة بمكوّناته فقط في معلومات البرامج الثابتة، بدلاً من مصفوفة من التجزئات الفردية. معلومات البرامج الثابتة هي عنصر اختياري في عملية إثبات صحة الجهاز، وهي تنطبق عندما يكون لدى المورّد بيئة تشغيل آمنة تتعامل مع زوج مفاتيح إثبات صحة الجهاز. |
| معلومات المصادقة | رسالة مُرسَلة من صاحب الشهادة إلى المدقّق. تجمع معلومات الشهادة بين حقل القيمة والنوع والطول الذي يحتوي على عناصر الشهادة وتوقيع الشهادة. |
| عناصر المصادقة | هذا هو TLV الذي يحتوي على:
|
| Attestation Challenge <0 | تحدٍّ خارج النطاق يتم استخراجه أثناء Passcode Authenticated Session Establishment (PASE)/ Certificate Authenticated Session Establishment (CASE) إنشاء الجلسة ويُستخدم لتعزيز أمان الإجراء وتجنُّب التوقيعات المعاد استخدامها. تأتي هذه البيانات من جلسة CASE أو جلسة PASE أو جلسة CASE تم استئنافها. |
| شهادة الإقرار TBS (يجب التوقيع عليها) | رسالة تحتوي على عناصر بيان صحة الجهاز وتحدّي بيان صحة الجهاز |
| توقيع شهادة التصديق | توقيع على بيانات Attestation TBS، تم توقيعه باستخدام المفتاح الخاص لشهادة الجهاز. |
إجراء الإقرار
يتحمّل المفوِّض مسؤولية التصديق على المفوَّض إليه. وينفِّذ الخطوات التالية:
- ينشئ المفوّض عددًا عشوائيًا من 32 بايت لشهادة المصادقة. وفي مصطلحات التشفير، يشير الرقم الخاص إلى رقم عشوائي يتم إنشاؤه في إجراء التشفير ويُفترض استخدامه مرة واحدة.
- يرسل جهاز Commissioner الرقم الخاص إلى جهاز DUT ويطلب معلومات المصادقة.
- تُنشئ DUT معلومات التصديق وتوقّعها باستخدام مفتاح التصديق الخاص.
- يستردّ "المفوّض" شهادة DAC وشهادة PAI من الجهاز، ويبحث عن شهادة PAA من Matter مخزن الشهادات الموثوقة.
- يتحقّق المفوض من صحة معلومات شهادة الإقرار. في ما يلي شروط التحقّق:
- يجب التحقّق من صحة سلسلة شهادات DAC، بما في ذلك عمليات التحقّق من الإبطال في PAI وPAA.
- يتطابق معرّف المورّد (VID) في DAC مع معرّف المورّد في PAI.
- توقيع شهادة الإثبات صالح.
- تتطابق القيمة العشوائية في "عناصر إثبات صحة الجهاز" مع القيمة العشوائية التي قدّمها المفوض.
- توقيع بيان الشهادة صالح باستخدام أحد مفاتيح توقيع بيان الشهادة المعروفة في Alliance.
- تتطابق معلومات البرامج الثابتة (إذا كانت متوفرة ومتاحة من قِبل "المفوّض") مع إدخال في سجلّ الامتثال الموزّع.
- يتم أيضًا إجراء عمليات تحقّق إضافية من VID/PID بين "مجموعة المعلومات الأساسية الخاصة بالجهاز" و"شهادة الاعتماد" وDAC.