我有一个问题,它困扰我: 我有一些iBeacon设备(确切地说是标签),我想创建一个支持其功能的自定义新应用程序。
问题在于,标签偶尔会更改其mac地址(非常频繁)以及它们的UUID(经常但不太频繁)。我看到这个功能的方式已经实现,以保护用户免受跟踪。
现在这可以是硬件特定功能(我使用套索标签)或者是标准的标准功能(iBeacon规范,我没有)。
有人可以验证预期的功能,或至少指出iBeacon官方规范和/或其他文件吗?
此致
答案 0 :(得分:3)
最近,Apple在其iBeacon开发者页面上提供了iBeacon规范:https://developer.apple.com/ibeacon/(右侧边栏中的“下载图片和规范”链接)。您仍需要接受iBeacon许可协议。
有些供应商使用旋转UUID(和/或专业和未成年人)作为解决安全和隐私问题的方法,就像您所说的那样。这并不是苹果公司对iBeacon的意图(他们多次提到你应该计划信标被欺骗的可能性,b / c iBeacon并不是安全的),但它仍然与规范兼容。
最常见的是,在制造期间或启用此类安全功能时,会有一些已知的种子或密钥上传到信标。只有授权方知道种子/密钥,因此可以预测任何给定时间应该是信标的UUID /主要/次要,或解密它。最后,UUID + major + minor只是信标广播的20字节数据,您可以像其他任何数据一样对其进行加密。 (嗯,实际上,iBeacon的问题是在iOS端,你需要知道信标的UUID才能扫描它,所以至少UUID-即前16个字节 - 只需要是伪随机,并不能完全随机。)
就我个人而言,我认为这是市场验证iBeacon理念/规范的案例之一,并提出了Apple决定不解决的问题的解决方案。而且我不会责怪他们 - 他们几乎开创了信标技术(当然,它曾经存在,但现在比现在更不受欢迎),当时没有人使用iBeacon来标记个人物品。
当Google今年早些时候发布Eddystone(即替代信标协议)时,他们同时宣布加密Eddystone标识符将成为核心规范的一部分:
同时,隐私和安全性非常重要,因此我们构建了一个名为Ephemeral Identifiers(EID)的功能,该功能经常更改,并且只允许授权客户端对其进行解码。 EID可以让您安全地做一些事情,比如下飞机后找到行李或找到丢失的钥匙。我们很快就会发布这个设计的技术规格。
(来源:http://googledevelopers.blogspot.com/2015/07/lighting-way-with-ble-beacons.html)
对我来说,这几乎验证了确保信标安全的想法,而旋转UUID只是一个聪明的市场/社区“黑客”iBeacon规范就是这样做。
答案 1 :(得分:1)
蓝牙LE信标传输iBeacon格式,包括显示iBeacon认证徽标的那些,通常不会更改其mac地址。我根据两年来从各种供应商那里测试这些信标的经验来证明这一点。 iBeacon自动更改其ProximityUUID 也非常不寻常。这些似乎是特定于一个供应商的实现的特殊性。这些实施细节不寻常的事实并不一定意味着它是不允许的 - 这只是意味着它是不寻常的。
不幸的是,iBeacon规范是专有的,不能从Apple公开获得。您需要与Apple建立业务关系才能访问官方文档。也就是说,在逆向设计简单设备的人们所获得的公共领域中不存在关于iBeacons的信息。如果没有官方公开文档,您只需进行Google搜索并使用您对所发现信息质量的判断。