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

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

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

تلميح

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

فهم سلسلة شهادات X.509

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

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

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

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

شهادة الجذر

الشهادة الجذر هي شهادة X.509 موقعة ذاتيا تمثل مرجع مصدق (CA). وهي نهاية أو كيان الثقة لسلسلة الشهادات. من الممكن إصدار الشهادات الجذرية ذاتيا من قبل مؤسسة أو شراؤها من مرجع شهادة الجذر. يمكن أيضا استدعاء شهادة الجذر شهادة المرجع المصدق الجذر.

شهادة وسيطة

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

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

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

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

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

استخدام شهادات X.509 مع DPS

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

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

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

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

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

متطلبات خوارزمية تشفير DPS

تقبل خدمة تزويد الأجهزة فقط شهادات X.509 التي تستخدم إما خوارزمية Rivest-Shamir-Adleman (RSA) أو خوارزمية تشفير منحنى القطع الناقص (ECC) للتشفير. توفر ECC وRSA مستويات مكافئة من قوة التشفير، ولكن ECC يستخدم طول مفتاح أقصر.

إذا كنت تستخدم أساليب ECC لإنشاء شهادات X.509 لإثبات الجهاز، نوصي بالمنحنيات الناقصة التالية:

  • nistP256
  • nistP384
  • nistP521

متطلبات تسمية شهادة DPS

يجب أن يكون للشهادات الطرفية المستخدمة مع إدخالات التسجيل الفردية اسم الموضوع الشائع (CN) المعين إلى معرف التسجيل. يحدد معرف التسجيل تسجيل الجهاز باستخدام DPS ويجب أن يكون فريدا لمثيل DPS (نطاق المعرف) حيث يسجل الجهاز.

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

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

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

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

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

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

رسم تخطيطي يوضح مثالا لسلسلة شهادات الجهاز.

في هذا المثال، يتم التحقق من الشهادة الجذر باستخدام DPS، intermediate2 ويتم تحميل الشهادة على مجموعة التسجيل.

رسم تخطيطي يسلط الضوء على شهادات الجذر والشهادات المتوسطة 2 كما يتم تحميلها إلى DPS.

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

رسم تخطيطي يوضح فشل مصادقة سلسلة الشهادات لأنها لا تتسلسل إلى الجذر.

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

رسم تخطيطي يوضح سلسلة شهادات جهاز ناجحة.

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

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

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

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

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

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

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

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