مشاركة عبر


نموذج أمان Device Update

توفر خدمة Device Update لـ IoT Hub طريقة آمنة لتوزيع تحديثات البرامج الثابتة للجهاز والصور والتطبيقات على أجهزة IoT الخاصة بك. يوفر سير العمل قناة آمنة شاملة بنموذج سلسلة الحراسة الكامل الذي يمكن للجهاز استخدامه لإثبات أن التحديث موثوق به وغير معدل ومتعمد.

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

الملخص

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

بمجرد استيرادها إلى الخدمة وتخزينها في Azure، تقوم خدمة Azure Storage تلقائيا بتشفير الملفات الثنائية المحدثة وبيانات تعريف العميل المقترنة في حالة الثبات. لا توفر خدمة Device Update تشفيرًا إضافيًا تلقائيًا، ولكنها تسمح للمطورين بتشفير المحتوى بأنفسهم قبل وصول المحتوى إلى خدمة Device Update.

عند توزيع تحديث على الأجهزة من خدمة Device Update، يتم إرسال رسالة موقعة عبر قناة IoT Hub المحمية إلى الجهاز. يتحقق عامل Device Update من صحة التوقيع لتحديد ما إذا كان أصليا.

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

تفاصيل التنفيذ

للتأكد من أن خدمة Device Update تتدرج إلى أجهزة بسيطة منخفضة الأداء، يستخدم نموذج الأمان مفاتيح غير متماثلة خام وتوقيعات أولية. يستخدمون تنسيقات تستند إلى JSON مثل رموز ويب JSON المميزة ومفاتيح ويب JSON.

تأمين محتوى التحديث عبر بيان التحديث

يتم التحقق من صحة بيان التحديث باستخدام توقيعين. يتم إنشاء التواقيع باستخدام بنية تتكون من مفاتيح التوقيع ومفاتيح الجذر.

يحتوي عامل Device Update على مفاتيح عامة مضمنة تستخدم لجميع الأجهزة المتوافقة مع تحديث الجهاز. هذه المفاتيح العامة هي مفاتيح الجذر. تتحكم Microsoft في المفاتيح الخاصة المقابلة.

تقوم Microsoft أيضًا بإنشاء مفاتيح مزدوجة عامة/خاصة غير مضمنة في عامل Device Update أو مخزنة على الجهاز. هذا هو مفتاح التوقيع.

عند استيراد تحديث إلى Device Update ل IoT Hub، وإنشاء الخدمة لبيان التحديث، توقع الخدمة البيان باستخدام مفتاح التوقيع، وتتضمن مفتاح التوقيع نفسه، الذي تم توقيعه بواسطة مفتاح جذر. عند إرسال بيان التحديث إلى الجهاز، يتلقى عامل Device Update بيانات التوقيع التالية:

  1. قيمة التوقيع نفسها.
  2. الخوارزمية المستخدمة لإنشاء #1.
  3. معلومات المفتاح العام لمفتاح التوقيع المستخدم لإنشاء رقم 1.
  4. توقيع مفتاح التوقيع العام في #3.
  5. معرف المفتاح العام للمفتاح الجذر المستخدم لإنشاء #3.
  6. الخوارزمية المستخدمة لإنشاء #4.

يستخدم عامل Device Update هذه المعلومات للتحقق من أن توقيع مفتاح التوقيع العام موقع بواسطة المفتاح الجذر. ثم يتحقق عامل Device Update من أن توقيع بيان التحديث موقع بواسطة مفتاح التوقيع. إذا كانت جميع التواقيع صحيحة، يثق عامل Device Update في بيان التحديث. نظرًا لأن بيان التحديث يتضمن تجزئات الملف التي تتوافق مع ملفات التحديث نفسها، يمكن أيضا الوثوق بملفات التحديث إذا تطابقت التجزئة.

يتيح وجود مفاتيح الجذر والتوقيع لشركة Microsoft تشغيل مفتاح التوقيع بشكل دوري، وهي أفضل ممارسة للأمان.

توقيع ويب JSON (JWS)

updateManifestSignature يتم استخدام للتأكد من عدم تعديل المعلومات المضمنة updateManifest في . يتم إنتاج updateManifestSignature باستخدام توقيع ويب JSON مع مفاتيح ويب JSON، ما يسمح بالتحقق من المصدر. التوقيع عبارة عن سلسلة ترميز Base64Url مع ثلاثة أقسام تم تحديدها بواسطة ".". راجع أساليب المساعد jws_util.h لتحليل مفاتيح JSON والرموز المميزة والتحقق منها.

توقيع ويب JSON هو معيار IETF مقترح على نطاق واسع لتوقيع المحتوى باستخدام بنيات البيانات المستندة إلى JSON. إنها طريقة لضمان تكامل البيانات من خلال التحقق من توقيع البيانات. يمكن العثور على مزيد من المعلومات في توقيع ويب JSON (JWS) RFC 7515.

رمز JSON المميز على الويب

JSON Web Tokens هي أسلوب مفتوح للصناعة لتمثيل المطالبات بشكل آمن بين طرفين.

مفاتيح الجذر

يجب أن يحتوي كل جهاز Device Update على مجموعة من مفاتيح الجذر. هذه المفاتيح هي جذر الثقة لجميع تواقيع Device Update. يجب أن يكون أي توقيع متسلسلاً من خلال أحد هذه المفاتيح الجذر ليتم اعتباره شرعياً.

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

بدءا من الإصدار 1.1.0 من عامل Device Update، يتحقق العامل تلقائيا من أي تغييرات على مفاتيح الجذر في كل مرة يحدث فيها نشر تحديث لهذا الجهاز. التغييرات المحتملة:

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

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

التوقيعات

يصاحب مفتاح التوقيع (العام) الموقع بواسطة أحد مفاتيح الجذر جميع التواقيع. سيحدد التوقيع مفتاح الجذر الذي تم استخدامه لتوقيع مفتاح التوقيع.

يجب على عامل Device Update التحقق من صحة التوقيعات عن طريق التحقق أولاً من أن توقيع مفتاح التوقيع (العام) مناسبًا وصحيحًا وموقعًا من قبل أحد المفاتيح الجذر المعتمدة. بمجرد التحقق من صحة مفتاح التوقيع بنجاح، يمكن التحقق من صحة التوقيع نفسه باستخدام المفتاح العام للتوقيع الموثوق به الآن.

يتم تدوير مفاتيح التوقيع بوتيرة أسرع من مفاتيح الجذر، لذا توقع الرسائل الموقعة بواسطة مفاتيح توقيع مختلفة مختلفة.

تدير خدمة Device Update إبطال مفاتيح التوقيع إذا لزم الأمر، لذلك يجب ألا يحاول المستخدمون تخزين مفاتيح التوقيع مؤقتا. استخدم دائماً مفتاح التوقيع المصاحب للتوقيع.

تأمين الجهاز

من المهم التأكد من أن أصول الأمان المتعلقة بـ Device Update مؤمنة ومحمية بشكل صحيح على جهازك. يجب حماية الأصول، مثل مفاتيح الجذر من التعديل. هناك طرق مختلفة لحماية المفاتيح الجذر، مثل استخدام أجهزة الأمان (TPM أو SGX أو HSM أو أجهزة الأمان الأخرى) أو الترميز المضمن لها في عامل Device Update كما هو الحال اليوم في التنفيذ المرجعي. يتطلب هذا الأخير التوقيع الرقمي للتعليمات البرمجية لعامل Device Update وتمكين دعم تكامل التعليمات البرمجية للنظام للحماية من التعديل الضار للتعليمة البرمجية للعامل.

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

الخطوات التالية

تعرف على كيفية استخدام Device Update للتحكم في الوصول المستند إلى الدور في Azure