مصادقة شهادة X.509

تقدم هذه المقالة نظرة عامة على مفاهيم خدمة توفير الأجهزة (DPS) المتضمنة عند توفير الأجهزة باستخدام شهادة شهادة X.509. هذه المقالة ذات صلة بجميع الأشخاص المشاركين في إعداد جهاز للتوزيع.

يمكن تخزين شهادات X.509 في وحدة أمان الأجهزة HSM.

تلميح

نوصي بشدة باستخدام وحدة نمطية لأمان الأجهزة مع أجهزة لتخزين الأسرار بشكل آمن، مثل شهادة X.509، على أجهزتك قيد الإنتاج.

شَهادات X.509

يعد استخدام شهادات X.509 كآلية إثبات طريقة ممتازة لتوسيع نطاق الإنتاج وتبسيط تزويد الأجهزة. عادةً ما يتم ترتيب شهادات X.509 في سلسلة شهادات موثوقة يتم فيها توقيع كل شهادة في السلسلة بواسطة المفتاح الخاص للشهادة الأعلى التالية، ومن ثم، تنتهي بشهادة جذر موقعة ذاتيا. ينشئ هذا الترتيب سلسلة ثقة مفوَّضة من الشهادة الجذر التي تم إنشاؤها بواسطة مرجع مصدق جذر موثوق (CA) وصولاً إلى كل مرجع مصدق وسيط إلى شهادة "طرفية" للكيان النهائي مثبتة على الجهاز. لمعرفة المزيد، راجع مصادقة الجهاز باستخدام شهادات المرجع المصدق X.509.

غالبًا ما تمثل سلسلة الشهادات بعض التسلسل الهرمي المنطقي أو المادي المرتبط بالأجهزة. على سبيل المثال، يجوز للشركة المصنعة:

  • إصدار شهادة المرجع المصدق الجذر الموقعة ذاتيا
  • استخدام شهادة الجذر لإنشاء شهادة CA وسيطة فريدة لكل مصنع
  • استخدام شهادة كل مصنع لإنشاء شهادة CA وسيطة فريدة لكل خط إنتاج في المصنع
  • وأخيرا استخدم شهادة خط الإنتاج، لإنشاء شهادة جهاز فريد (كيان نهائي) لكل جهاز تم تصنيعه على الخط.

لمعرفة المزيد، راجع الفهم المفاهيمي لشهادات المرجع المصدق X.509 في صناعة IoT.

شهادة الجذر

الشهادة الجذر هي شهادة X.509 موقعة ذاتيا تمثّل مرجع مصدق (CA). وهي نهاية أو كيان الثقة لسلسلة الشهادات. من الممكن إصدار الشهادات الجذرية ذاتيا من قبل مؤسسة أو شراؤها من مرجع شهادة الجذر. لمعرفة المزيد، راجع الحصول على شهادات المرجع المصدق X.509. يُمكن أيضا الإشارة إلى الشهادة الجذر كشهادة المرجع المصدق الجذر.

شهادة وسيطة

الشهادة الوسيطة هي شهادة X.509، التي تم توقيعها بواسطة الشهادة الجذر (أو بواسطة شهادة وسيطة أخرى مع الشهادة الجذر في السلسلة الخاصة بها). يتم استخدام الشهادة الوسيطة الأخيرة في سلسلة لتوقيع الشهادة طرفية. يمكن أيضا الإشارة إلى شهادة وسيطة كشهادة مرجع مصدق وسيط.

لماذا تعتبر الشهادات المتوسطة مفيدة؟

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

تخيل أن Contoso هي شركة كبيرة لها البنية الأساسية للمفتاح العام (PKI) الخاصة بها باستخدام شهادة الجذر المسماة ContosoRootCert. كل شركة تابعة لشركة Contoso لديها شهادة وسيطة خاصة بها موقعة من قبل ContosoRootCert. ثم ستستخدم كل شركة فرعية شهادتها الوسيطة لتوقيع شهاداتها الطرفية لكل جهاز. في هذا السيناريو، يمكن ل Contoso استخدام مثيل DPS واحد حيث ContosoRootCert هي شهادة تم التحقق منها. يمكن أن يكون لديهم مجموعة تسجيل لكل شركة فرعية. بهذه الطريقة، لن تقلق كل شركة فرعية فردية بشأن التحقق من الشهادات.

شهادة "طرفيّة" للكيان النهائي

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

يجب أن تحتوي الشهادات الطرفية المستخدمة مع إدخالات التسجيل الفردي أو مجموعة التسجيل على الاسم الشائع للموضوع (CN) المعين إلى معرف التسجيل. يحدد معرف التسجيل تسجيل الجهاز باستخدام DPS ويجب أن يكون فريدا لمثيل DPS (نطاق المعرف) حيث يسجل الجهاز. معرف التسجيل هو سلسلة غير حساسة لحالة الأحرف الأبجدية الرقمية بالإضافة إلى الأحرف الخاصة: '-'، '.'، ، '_'. ':' يجب أن يكون الحرف الأخير أبجديا رقميا أو شرطة ('-'). يدعم DPS معرفات التسجيل التي يصل طولها إلى 128 حرفا؛ ومع ذلك، فإن الحد الأقصى لطول الاسم الشائع للموضوع في شهادة X.509 هو 64 حرفا. لذلك، يقتصر معرف التسجيل على 64 حرفا عند استخدام شهادات X.509.

بالنسبة لمجموعات التسجيل، يعين الاسم الشائع للموضوع (CN) أيضا معرف الجهاز المسجل في IoT Hub. سيظهر معرف الجهاز في سجلات التسجيل للجهاز المصادق عليه في مجموعة التسجيل. بالنسبة للتسجيلات الفردية، يمكن تعيين معرف الجهاز في إدخال التسجيل. إذا لم يتم تعيينه في إدخال التسجيل، فسيتم استخدام الاسم الشائع للموضوع (CN).

لمعرفة المزيد، راجع مصادقة الأجهزة الموقعة باستخدام شهادات المرجع المصدق X.509.

التّحكم في وصول الجهاز إلى خدمة التزويد بشهادات X.509

تعرض خدمة التوفير نوعين من التسجيل يمكنك استخدامهما للتحكم في الوصول إلى الجهاز باستخدام آلية التصديق X.509:

  • يتم تكوين إدخالات التسجيل الفردية مع شهادة الجهاز المقترنة بجهاز معين. تتحكم هذه الإدخالات في التسجيلات الخاصة بأجهزة معينة.
  • ترتبط إدخالات مجموعة التسجيل بشهادة CA وسيطة أو جذر معينة. تتحكم هذه الإدخالات في عمليات التسجيل لجميع الأجهزة التي تحتوي على تلك الشهادة الوسيطة أو الجذر في سلسلة الشهادات الخاصة بها.

يمكن تحديد شهادة في إدخال تسجيل واحد فقط في مثيل DPS.

دعم TLS المتبادل

عند تكوين تسجيلات DPS لمصادقة X.509، يتم دعم TLS (mTLS) المتبادل من قبل DPS.

متطلبات سلسلة أجهزة DPS

عندما يحاول جهاز التسجيل من خلال DPS باستخدام مجموعة تسجيل، يجب على الجهاز إرسال سلسلة الشهادات من الشهادة الطرفية إلى شهادة تم التحقق منها. وإلا، ستفشل المصادقة.

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

على سبيل المثال، ضع في اعتبارك شركة تستخدم سلسلة الأجهزة التالية لجهاز.

Example device certificate chain

في هذا المثال، يتم التحقق من الشهادة الجذر فقط، ويتم تحميل الشهادة الوسيطة 2 على مجموعة التسجيل.

Example root verified

إذا أرسل الجهاز سلسلة الأجهزة التالية فقط أثناء التوفير، فستفشل المصادقة. لأن DPS لا يمكنه محاولة المصادقة بافتراض صلاحية الشهادة الوسيطة 1

Example failing certificate chain

إذا أرسل الجهاز سلسلة الأجهزة الكاملة كما يلي أثناء التوفير، فيمكن ل DPS محاولة مصادقة الجهاز.

Example device certificate chain

ترتيب عمليات DPS مع الشهادات

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

تطبق الخدمة الإدخال الأول الذي تجده، على النحو التالي:

  • إذا تم تمكين إدخال التّسجيل الأول الذي تم العثور عليه، فإن الخدمة تقوم بتزويد الجهاز.
  • إذا تم تعطيل إدخال التسجيل الأول الذي تم العثور عليه، فلن توفر الخدمة الجهاز.
  • إذا لم يتم العثور على إدخال تسجيل لأي من الشهادات في سلسلة شهادات الجهاز، فلن توفر الخدمة الجهاز.

لاحظ أنه يمكن تحديد كل شهادة في سلسلة شهادات الجهاز في إدخال التسجيل، ولكن يمكن تحديدها في إدخال واحد فقط في مثيل DPS.

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

  • الجهاز 1: شهادة الجذر -> الشهادة أ -> شهادة الجهاز 1
  • الجهاز 2: شهادة الجذر -> الشهادة أ -> شهادة الجهاز 2
  • الجهاز 3: شهادة الجذر -> الشهادة أ -> شهادة الجهاز 3
  • الجهاز 4: شهادة الجذر -> الشهادة ب -> شهادة الجهاز 4
  • الجهاز 5: شهادة الجذر -> الشهادة B -> شهادة الجهاز 5

في البداية، من الممكن إنشاء إدخال تسجيل مجموعة ممكن واحد لشهادة الجذر لتمكين الوصول لكافة الأجهزة الخمسة. إذا تم اختراق الشهادة B لاحقا، يمكنك إنشاء إدخال مجموعة تسجيل معطل للشهادة B لمنع الجهاز 4 والجهاز 5 من التسجيل. إذا تم اختراق الجهاز 3 لاحقا، يمكنك إنشاء إدخال تسجيل فردي معطل لشهادته. يؤدي هذا إلى إبطال الوصول إلى الجهاز 3، ولكنه لا يزال يسمح للجهاز 1 والجهاز 2 بالتسجيل.