人民网

人民网>>财经>>中日技术产业信息网

iOS7的关键技术“iBeacon”,分三级粗略测位【2】

2014年03月11日01:43    

UUID决定对应哪款App

使用iBeacon的前提条件,是用户开启支持BLE的iOS终端的蓝牙功能,并开启位置信息服务(注1)、(注2)。而且,接收UUID的App如果不在后台运行,就接收不到UUID。iOS在接收到iBeacon后,会将UUID告知使用iBeacon的App。在UUID的触发下,App会进入下一步处理(注3)。

(注1)支持BLE的iOS终端包括iPhone 4s之后的iPhone以及2012年3月上市的第三代iPad之后的iPad。

(注2)iBeacon虽然由苹果制定,但数据格式和工作原理已经公开,支持BLE的Android终端只要能够解读iBeacon,也可以实现相同的功能。现在已经有多家公司免费提供帮助Android接收iBeacon的帧数据、并进行解读的软件库。

(注3)因为是UUID服务的识别码,所以必须具备独特性。但也存在服务提供者不使用随机数产生程序和散列函数,随意设置“000000……”的情况。在这样的情况下,即使服务不同,UUID也有可能一致,无法对服务进行准确判断。

Major与Minor是App内部使用的数值。举例来说,连锁店使用iBeacon时,可以在Major中输入区域信息,在Minor中输入门店的ID等。在家电产品中嵌入Beacon模块时,如果把Major作为与产品型号挂钩的序号,把Minor作为错误代码,就可以向外部通知故障情况。

将距离分为三级

至于剩下的Measured Power,则是iOS用来向App传送距离的。有意思的是,向iOS发送的距离并不是精密推算的,而是将其分为约10厘米(immediate)、1米以内(near)、1米以外(far)的三级(图3)。这是因为,发送与接受设备之间的距离在1米之内时,RSSI值基本是按照理论值减少的,而在1米以外,受到反射波的影响,RSSI不会减少,而是会上下波动。也就是说,1米以外的距离无法推测,只能用“far”来概括。

图3:距离模块越远,误差越大

当距离约为1米时,根据实测值推测的模块距离与理论值基本一致,距离增大后误差变大,无法定位。因此,iOS把1米以内叫作near,1米以外叫作far,以此来区分距离,并且把10厘米以内定义为immediate。(图:《日经电子》根据Aplix的数据制作)

即使较为粗略,也大致可以判断当immediate时代表商品就在眼前,near代表身处货架附近,far代表在店门附近或是在外面等。

未考虑安全问题

从上述原理可知,iBeacon其实没有考虑安全性。iBeacon的格式基本是公开的,得到实际发送的iBeacon中包含的数据也轻而易举。也就是说,很简单就能制作出与正规模块发送相同信息的假冒Beacon模块(图4)。而且,接收到假冒Beacon模块发送的iBeacon信息的iOS终端无法判断真伪。

图4:iBeacon存在隐患

iBeacon几乎没有考虑安全性。比如,作为通告帧发送的iBeacon的内容可能直接被复制,从其他设备原封不动地发出。

因此,不法分子有可能钻商店积分服务的空子,利用假冒模块,发送与积分服务相同的信标,在不用到商店去的情况下,无限制地获得来店积分。

因此,现在已经出现了填补iBeacon安全漏洞的服务,采用的方式包括,在iBeacon以外的通告帧中添加iBeacon的认证信息并发送、利用信息进行认证的方式,利用接收到的iBeacon的位置信息进行认证的方式,以及直接向发送iBeacon的设备传输验证数据包进行认证的方式。

支付需要用其他手段

顺便一提,虽说现在能看到“可以使用iBeacon支付”的字样,但从前面介绍的原理可以看出,单靠iBeacon其实是不能支付的。iBeacon能够做到的,只是根据UUID、Major、Minor等信息,判断支付对象是哪家商店,并当场显示出准确的支付画面。实际支付还需使用NFC、贝宝等其他手段。(作者:中道 理,日经技术在线!供稿)

(责编:值班编辑、庄红韬)

新闻查询  

新闻回顾

      搜索

产业/经营更多>>

能源/环境更多>>

机械/汽车更多>>

数码/IT更多>>

电子/半导体更多>>

工业设计更多>>