2012-05-02 3 views
1

Я новичок в iOS и Core Bluetooth. Я хотел бы знать, как создать защищенное соединение с устройством.Как создать защищенное соединение с периферийным устройством BLE через CBCentralManager?

Что я понимаю:

[manager connectPeripheral:peripheral options:nil] 

является API при условии подключения к BLE устройства. Из этого, как установить защищенное соединение?

ответ

1

Как вы можете определить «защищенное соединение»? В соответствии со спецификацией Bluetooth Low Energy, когда установлено одно соединение BLE между двумя различными устройствами BLE, соединение защищено, и для этого соединения создается поле AccessAddress в пакете Link-layer. Значение AccessAddress отличается от других. Если вы хотите узнать более подробную информацию, обратитесь к стр. 36 из 138, спецификация ядра Bluetooth 4.0 [vol. 6].

Если вы беспокоитесь, что кто-то понюхает данные, передаваемые через это соединение BLE, я должен увидеть, что это непросто. Только один ведомый BLE, подключенный к тому же Мастеру, что и ваш датчик BLE, может обладать способностью обнюхать ваши BLE-пакеты, а функциональность реализована на стороне контроллера, и только несколько компаний, которые могут получить доступ к коду встроенного программного обеспечения контроллера, могут включить функцию сниффера.

Кроме того, если вы все еще обеспокоены данными вашего сенсора, Bluetooth Low Energy также обеспечивает шифрование для пакетов BLE.

+1

Возможно, вы захотите просмотреть «когда установлено одно соединение BLE между двумя различными устройствами BLE, соединение защищено». Это просто неправильно. iOS не гарантирует, что все соединения должны быть безопасными. Обычно, когда характеристика помечена как зашифрованная, iOS инициирует только соединение после обнаружения недостаточной ошибки разрешения при чтении этого признака. – foresightyj

3

Все соединения BT4.0 защищены и управляются устройством/датчиком и iOS, у вас нет контроля над этим.

Устройства BT4.0 у вас также есть ограниченные и неограниченные соединения.

Ограниченные соединения в паре «подключены» к устройству iOS. Будучи ограниченными, они не будут связываться с каким-либо другим устройством. Это гарантирует, что устройство всегда будет иметь защищенное соединение с ограниченным устройством iOS. Ограничение контролируется операционной системой (iOS). Когда устройство, которое требует ограниченного соединения, обменивается данными с устройством iOS, устройство iOS представит представление предупреждения, спрашивающее, хотите ли вы подключиться к устройству.

Неограниченные устройства постоянно передают свои услуги и позволяют любому устройству iOS подключаться к нему. Операционная система не запоминает информацию об устройстве, обычно приложение будет хранить UUID, чтобы в следующий раз установить соединение с одним и тем же устройством. Это обычный/рекомендуемый метод для большинства датчиков BT4.0.

ПРИМЕЧАНИЕ. Несмотря на то, что неограниченные устройства не "спарены" с устройством iOS, они будут общаться только с одним устройством iOS в любой момент времени.

Смежные вопросы