关于AltBeacon(Android beacon技术)的几个问题

关于AltBeacon(Android beacon技术)的几个问题,android,bluetooth,bluetooth-lowenergy,altbeacon,Android,Bluetooth,Bluetooth Lowenergy,Altbeacon,我在看AltBeacon图书馆,并计划使用它。但在做这件事之前,我有几个一般性的问题(更多的是理论性的)。如果有人能帮我理解,那就太好了 a) 有没有办法确保AltBeacon广告是独一无二的。从某种意义上说,其他任何人都不能错误地在其信标中使用相同的UUID、主ID和次ID。因为如果发生这种情况,我们的应用程序将面临识别另一家公司的信号灯和故障的风险,反之亦然 b) 据我所知,任何启用BLE的设备都可以扫描并获取周围任何信标的代码。这暴露了信标的UUID、主ID、次ID、RSSI等,对应用程序

我在看AltBeacon图书馆,并计划使用它。但在做这件事之前,我有几个一般性的问题(更多的是理论性的)。如果有人能帮我理解,那就太好了

a) 有没有办法确保AltBeacon广告是独一无二的。从某种意义上说,其他任何人都不能错误地在其信标中使用相同的UUID、主ID和次ID。因为如果发生这种情况,我们的应用程序将面临识别另一家公司的信号灯和故障的风险,反之亦然

b) 据我所知,任何启用BLE的设备都可以扫描并获取周围任何信标的代码。这暴露了信标的UUID、主ID、次ID、RSSI等,对应用程序所有者造成安全风险,例如,其他人的应用程序正在我的信标上工作(各种劫持),修改整个信标广告代码等


所以,我想知道在AltBeacon规范和库本身中是否有任何解决方案(变通方法)可供使用?还是他们在排队?我不确定,这是否是可以在库级本身完成的事情,还是Android级,或者可能是蓝牙规范需要合并这些。我知道苹果和其他一些公司已经推出了他们的安全功能,比如限制对自己的信标进行扫描、旋转信标ID等。AltBeacon end是否也有类似的功能?我过去几个月与信标合作的经验表明,广告包的广播(uuid、maj、min)是大多数信标(ibeacon)遵循的规范,是的,如果信标布局匹配,则应用程序(您自己的应用程序除外)可以检测到- 检查-

另一方面,您可以通过设置自定义区域来限制您的应用程序,该区域可配置为仅检测具有特定uuid/maj/min的信标,丢弃与区域不匹配的任何其他信标。以下是有关如何使用该区域的说明


希望您觉得它有用。

请注意,情况总是这样。Apple Universe中的信标是一种位置服务。Alt beacon基本上就是基于此,因此它具有相同的限制。信标ID不是也永远不会是安全标识符。任何人都可以复制信标ID。没有握手,也没有加密

事实上,苹果移动设备正试图隐藏你没有扫描到的信标。但Android没有。即使Android开始隐藏ID,也总会有其他方式接收蓝牙信号并读取ID。因此,“隐藏”显然不是一个解决方案

有几种方法可以克服这种劫持攻击向量。有信标可以改变它们的UUID、大调、小调,只要在给定的间隔(即一天一次)改变它们,只有当你知道一个初始的相互秘密时,它才是可预测的。同样的原理也可以用硬件安全令牌(例如“RSA SCORID”)来使用。.但据我所知,在野外没有任何信标能与此功能一起销售


不幸的是,在AltBeacon规范和/或任何其他制造商或库(也不适用于iBeacon)中,目前还没有现成的解决方案。

@hrskrs我想你不鼓励davidgyoung.lol。你有文件解释苹果是如何做到这一点的吗?