我当时在看AltBeacon库,并打算使用它。但是在此之前,我一般没有几个问题(本质上是理论性的)。如果有人可以帮助我理解,那就太好了。
a)有没有办法确保AltBeacon广告是唯一的。从某种意义上说,没有人可以错误地在其信标中不使用相同的UUID,主要和次要ID。因为如果发生这种情况,我们的应用程序冒着识别另一家公司的信标和故障的风险,反之亦然。
b)据我所知,任何启用了BLE的设备都可以扫描并获取周围任何信标的代码。这会暴露信标的UUID,主要ID,次要ID,RSSI等,这给应用程序所有者带来安全隐患,例如,其他人的应用程序在我的信标上工作(各种劫持),修改整个信标广告代码等。
因此,我想知道在AltBeacon规范和库本身中是否有针对这些问题的解决方案(变通办法)?还是他们在排队?我不确定这是可以在库级别本身还是在Android级别完成,或者蓝牙LE规范是否需要将它们合并。我知道苹果公司和其他一些公司已经推出了其安全功能,例如将扫描限制在您自己的信标中,旋转信标ID等。在AltBeacon端是否有此类计划或计划进行?
最佳答案
请注意,这始终是事实。 Apple Universe中的信标是一种定位服务。 Alt信标实质上是基于此的,因此具有相同的局限性。信标ID不是,也永远不会是安全标识符。任何人都可以复制信标ID。没有握手,没有加密。
实际上,苹果移动设备正在尝试隐藏不扫描的信标。但是Android没有。即使Android确实开始隐藏ID,也总会有其他方法接收蓝牙信号并读取ID。因此,“隐藏”显然不是解决方案。
有几种方法可以克服此劫持攻击媒介。有些信标会通过以给定的时间间隔(即每天一次)更改它们的UUID,Major,Minor来更改,只有当您知道初始的共同机密时才可以预测这些信标。硬件安全令牌(即“ RSA SecurID”)使用相同的原理。但是据我所知,没有使用此功能出售的信标。
因此,不幸的是,AltBeacon规范和/或任何其他制造商或库(目前还不适用于iBeacon)目前没有解决方案。