Несколько вопросов по AltBeacon (технология Android beacon в целом)

Я смотрел библиотеку AltBeacon и планирую ее использовать. Но прежде, чем это сделать, у меня есть несколько общих вопросов (более теоретических по своему характеру). Если кто-то может помочь мне понять, было бы здорово.

а) Есть ли способ убедиться, что реклама AltBeacon УНИКАЛЬНА. В том смысле, что никто другой по ошибке не может не использовать один и тот же UUID, основной и второстепенный идентификаторы в своем маяке. Потому что, если это произойдет, наше приложение рискует идентифицировать маяк и неисправность другой компании, и наоборот.

б) Насколько мне известно, любое устройство с включенным BLE может сканировать и получать коды любого маяка в окрестностях. Это раскрывает UUID маяка, основной идентификатор, второстепенный идентификатор, RSSI и т. Д., Что создает риски для безопасности владельцев приложений, например, чужое приложение, работающее с моими маяками (своего рода захват), изменение всех рекламных кодов маяка и т. Д.

Итак, я хочу знать, есть ли какое-либо решение (обходные пути) для них, доступное прямо сейчас в спецификации AltBeacon и самой библиотеке? Или они в очереди? Я не уверен, можно ли это сделать на уровне самой библиотеки, или на уровне Android, или, возможно, спецификация Bluetooth LE должна их включить. Я знаю, что Apple и некоторые другие компании развернули свои функции безопасности, такие как ограничение сканирования вашими собственными маяками, ротация идентификаторов маяков и т. Д. Есть ли что-то в этом роде или запланировано на стороне AltBeacon?


person Jimmy    schedule 21.04.2015    source источник
comment
@hrskrs, я думаю, вы обескуражили Дэвидгёна. ржу не могу. У вас есть документы, объясняющие, как Apple это делает?   -  person dr.doom    schedule 29.02.2016


Ответы (2)


Имейте в виду, что это всегда так. Маяк во Вселенной Apple - это служба определения местоположения. Альтернативный маяк, по сути, основан на этом, поэтому он имеет те же ограничения. Идентификатор маяка не является и никогда не будет надежным идентификатором. Кто угодно может скопировать Beacon ID. Нет никакого рукопожатия, нет криптографии.

На самом деле мобильные устройства Apple пытаются скрыть маяки, которые вы не ищите. Но Android этого не делает. Даже если Android начнет скрывать идентификаторы, всегда будут другие средства для получения сигнала Bluetooth и считывания идентификатора. Так что «спрятаться» - это явно не выход.

Есть несколько способов преодолеть этот вектор атаки «Перехват». Существуют маяки, которые изменяют свои UUID, Major, Minor, изменяя их с заданными интервалами (например, один раз в день), что можно предсказать, только если вы знаете начальный общий секрет. Тот же принцип используется с аппаратными токенами безопасности (например, «RSA SecurID»). Но, насколько мне известно, в мире нет маяков, которые продаются с этой функцией.

Так что, к сожалению, сейчас нет готовых решений для этого в спецификации AltBeacon и / или у любого другого производителя или библиотеки (также не для iBeacon).

person Burak Özhan    schedule 12.05.2015

Мой опыт работы с маяками за последние несколько месяцев говорит о том, что широковещательная передача рекламного пакета (uuid, maj, min) - это спецификация, за которой следует большая часть маяка (ibeacon), и да, это может быть обнаружено приложениями (кроме ваших собственных ), если макет маяка совпадает - отметьте - Это правильный макет для обнаружения iBeacon с помощью библиотеки Android Beacon от AltBeacon?

С другой стороны, вы можете ограничить свое приложение, установив пользовательский регион, который можно настроить для обнаружения маяков только с определенным uuid / maj / min, отбрасывая любые другие маяки, которые не соответствуют региону. Вот описание того, как использовать регион Класс Altbeacon Region

Надеюсь, вы найдете ее полезной.

person rubikskube    schedule 03.05.2015