我们开发了一种电子设备。
当信标靠近我们的设备时,我们检查uuid,如果它是正确的,我们运行设备。
但我们这里有一个问题。
我们只想让我们的信标与我们的设备配合使用。
有人可以通过收听信标信号来复制uuid。他可以通过手机上的虚拟信标应用程序制作广播节目。
如果我们在生产过程中将信标的mac地址写入设备的内存,问题就解决了。但我们不能这样做,因为用户可以随时购买信标。我们的设备不知道新信标的mac地址。
(用户可以在移动信标发射器应用程序上更改UUID,主要和次要ID。)
我们如何知道传入信号是来自我们的信标设备还是来自虚拟应用程序?
谢谢
答案 0 :(得分:0)
将标准BLE信标视为道路标志。它对于向看到它的人提供方向很有用,但是没有内置的安全机制来防止他人复制相同的路标并将其放在其他地方。对于大多数用例,人们满足于接受其他人不愿意这样做的事实。
对于必须确定信号属于您的用例,唯一可靠的策略是使用加密或散列的信标信号,只有您有解码密钥。两种流行的信标格式支持这一点:Eddystone-EID由Google赞助,采用开放格式。 Gimbal使用专有系统。
在使用其中一个系统之前,请务必了解其中的缺点:
系统有些脆弱。如果移动设备无法访问服务器来解码传输,或者用于生成/验证散列的时钟显着关闭,则检测将失败。
您的信标必须在第三方(Google或Gimbal)注册,因此他们了解有关它们的所有信息,并且您依赖于对您的系统继续工作的支持。谷歌可能不会很快破产,但其对支持Eddystone-EID的长期承诺值得怀疑。
使用这些系统设置信标要复杂得多。如果您的项目使用它们,请务必预算额外的工时。