
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-данных по последовательному интерфейсу, что позволяет другим инструментам создавать записи BLE OOB NFC для OOB-сопряжения.
Этот инструмент можно использовать с учебными модулями, находящимися в папке "Training", чтобы узнать о безопасности BLE.
ПРИМЕЧАНИЕ Это устройство предназначено для использования в целях обучения безопасности BLE. Не используйте код в защищённых приложениях. В коде используется несколько генераторов случайных чисел, которые не считаются криптографически безопасными. Более поздние версии Nordic SDK для NRF52 предоставляют безопасные RNG API, которые при необходимости можно использовать для этой цели.
Примечание: Для работы с моделями ассоциации OOB и Passkey Entry (когда код вводится на периферийном устройстве) необходимо подключить Micro-USB кабель к nRF52 Feather и прослушивать последовательный интерфейс (скорость 9600 бод). Это же последовательное соединение используется для вывода статуса и отладочной информации.
Все библиотеки можно установить из соответствующих источников, за исключением arduino-menusystem и Bluefruit52Lib, которые были изменены. Журнал изменений изменённых библиотек можно найти в 3rdPartyChanges.txt.
В качестве альтернативы пользователи могут использовать библиотеки, содержащиеся в папке "libraries" этого проекта, чтобы гарантировать использование той же версии библиотек, которая использовалась при разработке.
Ниже приведены инструкции по сборке BLEBoy с использованием требуемого оборудования, перечисленного в разделах выше:
Чтобы запрограммировать nRF52 Feather кодом BLEBoy, выполните следующие шаги:
ИЛИ