"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > تأمين سلامة بيانات إنترنت الأشياء باستخدام منصة Go IoT

تأمين سلامة بيانات إنترنت الأشياء باستخدام منصة Go IoT

تم النشر بتاريخ 2024-11-08
تصفح:242

Securing IoT Data Integrity with Go IoT Platform

ترجمة:

Go IoT Development Platform عبارة عن حل مجاني وفعال وقابل للتطوير لإنترنت الأشياء (IoT) تم تطويره باستخدام لغة البرمجة Go. تدعم المنصة بروتوكولات نقل البيانات مثل MQTT وHTTP وWebSocket وCOAP وTCP/IP، وتوفر أدوات تكوين خفيفة الوزن لوظائف الإنذار وخدمات إحصاءات البيانات المستندة إلى JavaScript.

الموقع الرسمي: http://iot-dev-egi.pages.dev/

عنوان المستودع: https://github.com/iot-ecology/go-iot-platform

نحن نبحث عن مهندسي تطوير React؛ مشاركتك موضع ترحيب.

وصف الحدث

يمكن لـ EMQX تلقي تقارير بيانات المستوى الثاني من العديد من الأجهزة في أي وقت، ولكن هذا قد لا يتوافق مع عملية الأعمال العادية. على سبيل المثال، في ظل الظروف العادية، قد يقوم الجهاز بالإبلاغ عن البيانات مرة واحدة كل 5 دقائق. لتحديد ما إذا كان جهاز الإبلاغ شرعيًا، نحتاج إلى طريقة لاكتشاف ما إذا كان الجهاز قد يكون جهازًا ضارًا، أم لا، حيث يتم الإبلاغ عن البيانات بشكل متكرر بشكل متعمد للتأثير على استقرار EMQX.

حل Go IoT Development Platform

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

طريقة الحساب

لحساب ما إذا كان معدل الإبلاغ الخاص بالجهاز يقع ضمن فاصل الدفع والخطأ، وما إذا كان خارج الخطأ، نحتاج أولاً إلى تحديد بعض المتغيرات والشروط:

  1. يشار إلى الفاصل الزمني لدفع الجهاز بـ (T) (ثواني).
  2. يشار إلى خطأ وقت دفع الجهاز بالرمز ( E ) (ثواني).
  3. يشار إلى الفاصل الزمني الفعلي للدفع للجهاز على أنه ( T_{\text{actual}} ) (ثواني).

0. حساب فترة الدفع الفعلية

  1. الطابع الزمني للدفعة الأولى: الوقت الذي دفع فيه الجهاز البيانات لأول مرة ( T_{\text{1}} ).
  2. الطابع الزمني للدفع الثاني: الوقت الذي دفع فيه الجهاز البيانات للمرة الثانية ( T_{\text{2}} ).
  3. فاصل الدفع الفعلي: ( T_{\text{actual}} = T_2 - T_1 )

1. حساب ما إذا كان ضمن الفاصل الزمني للدفع والخطأ

يعتبر معدل الجهاز ضمن فترة الدفع ويحدث خطأ إذا كانت فترة الدفع الفعلية ( T_{\text{actual}} ) تستوفي الشرط التالي:
[ T - E \leq T_{\text{actual}} \leq T E ]

2. حساب ما إذا كان الخطأ الخارجي

يعتبر معدل الجهاز خارج الخطأ إذا كانت فترة الدفع الفعلية ( T_{\text{actual}} ) لا تستوفي الشرط أعلاه، أي:
[ T_ {\text{actual}} T E ]

حساب المثال

يفترض:

  • فاصل الدفع (T = 60) ثانية
  • خطأ في وقت الدفع ( E = 5 ) ثواني
  • أرسل الجهاز البيانات الأولى الساعة 10:00:00 يوم 20 سبتمبر 2024 (أي (T_1 ))
  • أرسل الجهاز البيانات الثانية الساعة 10:01:05 يوم 20 سبتمبر 2024 (أي (T_2 ))

حساب ( T_{\text{actual}} )

[ T_{\text{actual}} = (10:01:05 - 10:00:00) = 65 \text{ ثانية} ]

تحقق مما إذا كان ضمن الفاصل الزمني للدفع والخطأ:

[ 60 - 5 \leq 65 \leq 60 5 ]
[ 55 \leq 65 \leq 65 ]
بما أن ( 55 \leq 65 \leq 65 ) صحيح، فإن معدل الجهاز يقع ضمن الفاصل الزمني للدفع والخطأ.

تحقق مما إذا كان هناك خطأ خارجي:

بما أن ( 65 ) لا يقل عن ( 60 5 ) فإن معدل الجهاز ليس خارج الخطأ.

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

التعامل مع المشكلة

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

  1. تجاهل البيانات : تجاهل البيانات التي تتجاوز الفاصل الزمني للدفع ونطاق الخطأ مباشرة. عند استهلاك الرسائل الموجودة في قائمة انتظار الرسائل، قم مباشرة بإقرار ACK (الإقرار) بهذه البيانات دون تخزين مستمر.

  2. الصيانة من خلال أدوات إدارة خادم EMQX

1. استبعاد العملاء من خلال القائمة السوداء لـ EMQX

باستخدام ميزة القائمة السوداء لـ EMQX، يمكننا تقييد عملاء الإبلاغ الضارين أو غير الطبيعيين. فيما يلي تحليل تفصيلي لمزايا وعيوب تعطيل الكائنات وحالات استخدامها:

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

يجب على الثلاثة المذكورة أعلاه إعطاء الأولوية لمعرف العميل أولاً.

2. استبعاد العملاء من خلال واجهة API المقدمة من EMQX

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

المرجع: وثائق EMQX - استبعاد العميل

بيان الافراج تم إعادة نشر هذه المقالة على: https://dev.to/beck_moulton/securing-iot-data-integrity-with-go-iot-platform-42gf?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] للحذف هو - هي
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3