2017-02-09 13 views
0

Я опишу свою установку:Изменен ли MAC-адрес в режиме Eddystone Beacon?

Я сделал приложение для Android, которое имитирует маяк Eddystone. Я смог обнаружить маяк Eddystone на своем телефоне с помощью приложения Beacon Toy от PlayStore. Но дело в том, что с последнего раза, когда я проверил, изменился идентификатор MAC ID. Я могу идентифицировать его тот же маяк из-за того, что пространство имен и идентификатор экземпляра совпадают, но под другим MacID. Может ли кто-нибудь предложить, что здесь происходит? У меня создалось впечатление, что MacID остается постоянным.

ответ

0

Да, передатчики Android рандомизируют свой MAC-адрес Bluetooth. Это ничего особенного для Eddystone, но для радиопередатчиков Android Beacon всех типов, а точнее для Android BLE-рекламы.

Чтобы доказать это, я провел несколько тестов на своем Nexus 5X. Используя приложение Locate Beacon для передачи маяка в формате iBeacon (те же результаты применяются и к Eddystone и другим форматам). Я вижу, что передаваемый MAC-адрес изменяется каждый раз, когда я останавливаюсь и начинаю рекламу.

My Nexus 5X показывает свой MAC-адрес Bluetooth в настройках -> О телефоне -> Статус -> Адрес Bluetooth. Это 64:bc:0c:xx:xx:xx (Примечание. Я зачеркнул последние три байта MAC-устройства, отображая только первые три байта, который является OUI компании, назначенным LG Electronics, изготовителю Nexus 5X.)

Для этот тест, я запускаю сканирование bluetooth LE на устройстве Linux, настроенном на BlueZ. Сканирование выводит MAC-адрес каждого нового устройства BLE, которое он находит. BlueZ не скремблирует этот MAC-адрес.

Далее я многократно запускаю и останавливаю передатчик на Nexus 5X. Каждый раз, когда я делаю новый MAC-адрес, отображается результат сканирования. На приведенном ниже рисунке я пару раз ударяю ключ возврата, чтобы сделать пустые строки после каждого обнаружения, чтобы показать, когда я выключу передатчик и снова включился.

$ sudo hcitool lescan 
LE Scan ... 


5C:62:56:18:DA:A5 (unknown) 
5C:62:56:18:DA:A5 (unknown) 


6A:E8:D1:90:CA:26 (unknown) 
6A:E8:D1:90:CA:26 (unknown) 


70:A8:86:F7:E9:68 (unknown) 
70:A8:86:F7:E9:68 (unknown) 


66:F6:B4:24:89:44 (unknown) 
66:F6:B4:24:89:44 (unknown) 

Как вы можете видеть, каждый раз, когда запускается передатчик, он разослать новый рандомизированный MAC-адрес, который не имеет ничего общего с физическим адресом MAC, сообщенных настройками.

+0

Спасибо за подробный анализ. Любая конкретная причина, почему это делается? Почему он не придерживается одного фиксированного адреса mac? Это еще более затрудняет обнаружение повторного присутствия устройств BLE, если MAC-код продолжает меняться. На самом деле, моя цель состоит в том, чтобы идентифицировать уникальное количество устройств, не зависимо от имени пространства/экземпляра в кадре eddystone. –

+0

Я считаю, что цель - защитить конфиденциальность владельца телефона. Существует несколько компаний, которые посвящают себя обнюхиванию радиосигналов, излучаемых с телефонов людей, и использованию MAC-адресов для отслеживания их для маркетинга или других целей. Правительства делают то же самое, иногда для более сомнительных целей. Через корреляционные методы эти организации могут затем связывать MAC с личностью человека. Рандомизация Android в MAC делает его сложнее идентифицировать человека. – davidgyoung

+0

О, я вижу! Спасибо за ответ. Но учитывая, что это не странно, что запросы на зондирование для wifi состоят из Mac ID, и если я не ошибаюсь, они также уникальны. В любом случае, я полагаю, что для внутреннего отслеживания пользователей на основе решения маяка не может зависеть от идентификатора Bluetooth Mac. Я предполагаю, что теперь единственный вариант - сделать так, чтобы телефонные кадры eddystone транслировали и отслеживали с помощью namspace и идентификатора экземпляра. Еще раз спасибо –