Получите BLE MA C со случайного частного разрешаемого адреса - PullRequest
2 голосов
/ 07 мая 2020

Я хочу подключить устройство Android (клиент) к внешнему устройству BLE (серверу). У меня есть пара вопросов относительно механизма частных случайных разрешимых адресов.

  • Насколько я понял из BLE core spe c, ключ определения идентичности может использоваться, чтобы определить, был ли сгенерирован адрес с использованием этого ключа, однако его нельзя использовать для разрешения исходного адреса BLE MA C однорангового узла. Это правильно?
  • Есть ли способ получить исходный адрес BLE MA C, при этом все еще используя частные случайные разрешаемые адреса на стороне сервера ? Может быть, это часть информации о связывании?
  • Могу ли я решить проблему, если только сервер использует частные случайные разрешимые адреса, но не клиент? Не нарушит ли это защиту конфиденциальности, которую предлагает механизм частных случайных разрешимых адресов?

В конце концов, я бы хотел соединение BLE, которое использует частные случайные разрешимые адреса для обеспечения конфиденциальности и все еще может получать оригинальный BLE MA C клиента на моем сервере для внутренних целей.

Я был бы очень признателен, если бы кто-нибудь мог ответить на мои вопросы.

Best david

1 Ответ

2 голосов
/ 08 мая 2020

При связывании ноль, одно или оба устройства могут отправлять разрешающие ключи, если это согласовано. Для каждого устройства, которое отправляет ключ разрешения (IRK), также всегда отправляется идентификационный адрес. Он содержит исходный адрес устройства Bluetooth и может быть произвольным: publi c или stati c. Именно этот адрес знают только связанные устройства.

Идея функции конфиденциальности заключается в том, чтобы никогда не использовать исходный адрес устройства Bluetooth в пакетах канального уровня, а вместо этого использовать случайно сгенерированный адрес, который изменяется каждые x минут (обычно 15) . Таким образом, если он рекламируется регулярно, никто не сможет его отследить, так как он исчезает через 15 минут. Однако, если у вас есть соответствующий IRK, вы можете определить, совпадает ли IRK или нет. Если он совпадает, вы также знаете исходный адрес устройства Bluetooth, так как данные вашей облигации содержат как IRK, так и исходный адрес. Но если вы выбросите этот адрес, вы не сможете восстановить исходный адрес, даже если у вас есть IRK.

Если только одно из двух устройств использует случайный разрешимый адрес, то устройство с разрешимым адресом не сможет может отслеживаться непривязанным устройством, а устройство, которое не использует случайный разрешимый адрес, может быть отслежено.

...