
BLEBoy is a training tool to teach users about BLE security by providing a single BLE peripheral that can be used to experiment with each BLE pairing method and demonstrates GATT security concepts.
إنشاء طرفي BLE يدعم جميع طرق الاقتران الخاصة بـ BLE التي يمكن استخدامها للتدريب والاختبار، بما في ذلك الاقتران خارج النطاق (OOB). يجب أن يكون الطرفي قابلاً للتهيئة و سهل إعادة إنشائه باستخدام مكونات استهلاكية.
BLEBoy هو طرفي BLE مُنفَّذ باستخدام لوحة Adafruit nRF52 Feather ، والتي تم تحديثها لدعم جميع طرق الاقتران في BLE الموضحة في مواصفات Bluetooth (https://www.bluetooth.com/specifications/bluetooth-core-specification). يتيح BLEBoy تحديث معلمات الأمان الخاصة بـ GAP أثناء التشغيل (LESC، OOB، MitM، إمكانيات IO، إلخ) للسماح للمستخدمين بتجربة طرق الاقتران المختلفة (ومستوى الأمان الذي توفره كل منها). كما يدعم إرسال بيانات OOB عبر المنفذ التسلسلي للسماح للأدوات الأخرى ببناء سجلات NFC الخاصة بـ BLE OOB للاقتران خارج النطاق.
يمكن استخدام هذه الأداة مع الوحدات التدريبية الموجودة في مجلد "Training" للتعلّم عن أمان BLE.
ملاحظة هذا الجهاز مخصص للاستخدام في التدريب على أمان BLE. لا تستخدم الكود في تطبيقات تتطلب أمانًا عاليًا. هناك عدة مولّدات أرقام عشوائية مستخدمة في الكود لا تُعتبر آمنة تشفيريًا. الإصدارات الأحدث من NRF52 Nordic SDK توفر واجهات برمجة تطبيقات RNG آمنة يمكن استخدامها لهذا الغرض إذا لزم الأمر.
ملاحظة: للتعامل مع نموذجي اقتران OOB وPasskey Entry (حيث يتم إدخال رمز المرور على الطرفي)، يجب توصيل كابل Micro-USB بـ nRF52 Feather والاستماع إلى الاتصالات التسلسلية (بمعدل 9600 باود). يُستخدم هذا الاتصال التسلسلي نفسه لطباعة معلومات الحالة والتصحيح.
يمكن تثبيت جميع المكتبات من مصادرها الخاصة، باستثناء arduino-menusystem و Bluefruit52Lib التي تم تعديلها. يمكن العثور على سجل التغييرات الخاص بالمكتبات المعدلة في 3rdPartyChanges.txt.
بدلاً من ذلك، يمكن للمستخدمين استخدام المكتبات الموجودة في مجلد "libraries" الخاص بهذا المشروع لضمان استخدام نفس إصدارات المكتبات المستخدمة أثناء التطوير.
فيما يلي تعليمات الإعداد لبناء BLEBoy باستخدام الأجهزة المطلوبة المذكورة في الأقسام أعلاه:
لبرمجة nRF52 Feather بكود BLEBoy، اتبع الخطوات التالية:
أو