安全的iBeacon蓝牙连接

时间:2015-07-11 15:29:31

标签: ios iphone bluetooth ibeacon rssi

我正在研究使用iBeacon在App中显示距离的iPhone应用程序,但我不希望该区域的其他用户看到iBeacon或其RSSI。只有用户连接的iPhone。它需要是安全的,并且仅针对特定的iPhone显示RSSI。这可以实现吗?

我可以这样做,以便RSSI可以突然向周围的其他人提供零星的RSSI读数,但用户连接到iBeacon的应用程序是否理解并显示真实值?

如果另一个运行App的用户要通过具有相同UUID和Major和Minor Value配置的iBeacon,App会连接吗?

2 个答案:

答案 0 :(得分:1)

  

我正在研究一款使用iBeacon显示的iPhone应用程序   应用程序中的距离

让我们抛开这个问题是否会按照您希望的方式运行的问题,但要明白使用iBeacon进行距离估算是非常接近的。看到 Understanding ibeacon distancing为某些背景。

  

我不希望该地区的其他用户看到iBeacon或其RSSI。

从表面上看,这是不可能的:iBeacon协议定义了一个完全公开的广告包。所有信标都是每秒发送10次这个数据包。任何人都可以听。

然而,我注意到你正在为iOS开发。 iOS不会在应用程序级别公开范围内的每个信标。也就是说,使用iOS ,你不能做任何类似于Wi-Fi“wardriving”的事情,只是将你接近的任何信标抽真空。应用程序需要为iOS提供一个正在监听的“区域”(其中一个区域由UUID,UUID +主要或UUID +主要+次要部分组成一个标识符)。可以想象,并且,再次,仅限于iOS,您可以将特定用户限制为信标的特定UUID,此时它就像您认为UUID可猜测的那样“安全”。 (此外,如果有人使用非iOS设备来嗅探您的iBeacon标识符,那么无论如何都是游戏。除非您使用特定于供应商的解决方案,例如Estimote's Secure UUID。)

  

我可以这样做,因此RSSI可能会突然发出零星的RSSI读数   对周围的其他人,但用户连接到iBeacon的应用程序,   了解这一点并显示真正的价值?

我无法想象你会怎么做。

  

如果另一个运行App的用户要通过iBeacon   应用程序将使用相同的UUID和主要和次要值配置   连接?

请记住,没有<​​em>连接正在进行中。只是一个灯塔广告,和设备听力。一般情况下,是的,如果您知道标识符的所有部分,那么您可以让iOS监视信标创建的区域,并对该信标进行范围调整。

答案 1 :(得分:0)

iBeacon技术在距离计算方面并不出色,这里有一些关于使用信标网络和映射技术来获得某种x和y估计的线索。

为了安全起见,您可以查看更加开放的解决方案,例如http://altbeacon.org/,您可以将自己的安全协议烘焙给自己。