传输信标数据的方法及装置
本申请是申请号为201410247157.4、申请日为2014年6月5日的中国发明专利申请《传输、获取信标数据的方法及装置》的分案申请。
技术领域
本申请涉及网络通信技术领域,尤其涉及一种传输信标数据的方法和装置。
背景技术
随着智能手机、平板电脑等便携式设备的普及,智能移动终端已经深深扎根在人们的生活中。以移动定位技术为基础,向用户提供个性化、本地化的服务成为新的发展方向。
GPS(Global Positioning System,全球定位系统)是目前应用最为广泛的定位技术。当GPS接收机在室内工作时,由于信号受建筑物的影响而大大衰减,定位精度也很低。室内定位技术应时而出,这些技术通常利用WiFi(Wireless Fidelity,无线保真)、ZigBee(紫蜂)、蓝牙和超宽带等无线通信网络进行定位,能够提供更精确的位置搜索,为更智能的移动服务打好基础。
无线信标是室内定位技术中前景最被看好的一种,如苹果公司的iBeacon和高通公司的Gimbal。放置在室内固定位置的信标以一定周期对外发送无线广播帧,发送的无线帧中携带有本信标的唯一标识。唯一标识可以是信标的识别码(ID),每个信标的识别码都与其他信标不同,如iBeacon信标的UUID(Universally Unique Identifier,通用唯一识别码)。当移动终端进入信标的信号区域,接收到信标的广播帧,移动终端上的软件根据其中的唯一标识来运行相应的业务逻辑。
例如,在店铺里设置iBeacon信标,当用户带着iPhone或iPad进入店铺时,iPhone和iPad上运行的应用软件接收到相应位置的信标的广播帧,从中解析出信标的唯一标识,然后将唯一标识通过移动通信告知服务器,服务器通过唯一标识得知用户在店铺附近,即可向移动终端发送折扣券、进店积分等,还可以支持用户的在线下单和在线支付功能。
对一些涉及用户敏感信息的应用,安全性是最重要的考虑因素,这也成为信标技术在大规模商用时需要解决的问题。
发明内容
有鉴于此,本说明书提供一种传输信标数据的方法,应用在发送无线信号的蓝牙信标上,包括:
根据蓝牙信标随时间变化的随机地址生成干扰量;
采用预置的算法、根据干扰量和所述蓝牙信标的唯一标识生成传输标识;所述传输标识随所述干扰量变化;
将所述传输标识通过无线帧发送。
本说明书还提供了一种传输信标数据的装置,应用于传输无线信号的蓝牙信标上,包括:
干扰量生成单元,用于根据蓝牙信标随时间变化的随机地址生成干扰量;
传输标识单元,用于采用预置的算法、根据干扰量和所述蓝牙信标的唯一标识生成传输标识;所述传输标识随所述干扰量变化;
发送单元,用于将所述传输标识通过无线帧发送。
本说明书提供的一种计算机设备,包括:存储器和处理器;所述存储器上存储有可由处理器运行的计算机程序;所述处理器运行所述计算机程序时,执行上述传输信标数据的方法所述的步骤。
本说明书还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行上述传输信标数据的方法所述的步骤。
由以上技术方案可见,本申请的实施例利用干扰量将蓝牙信标的唯一标识变换为随时间变化的传输标识后发送,使得未经授权的恶意软件无法得到真实而稳定的唯一标识,也就难以依据唯一标识伪造对应的服务来骗取用户的敏感信息,从而保护了用户的利益,提高了信标网络的使用安全性;基于蓝牙信标的随机地址随时间变化的属性来赋予干扰量随时间变化的特点,减少了生成干扰量时的计算量,减轻了信标的工作负荷。
附图说明
图1是一种本申请应用场景的网络结构图;
图2是本申请实施例中传输信标数据的方法的流程图;
图3是本申请实施例中获取信标数据的方法的流程图;
图4是本申请应用示例中无线帧的一种可能的结构图;
图5是信标、移动终端或服务器的一种硬件结构图;
图6是本申请实施例中一种传输信标数据的装置的逻辑结构图;
图7是本申请实施例中一种获取信标数据的装置的逻辑结构图。
具体实施方式
现有技术中,信标的唯一标识是通过明文发送的,所有移动终端上的应用程序都可以得知接收到的唯一标识,这就为恶意软件提供了可乘之机。在恶意软件的设计者获得信标唯一标识、得知该唯一标识所属的商户后,就可以通过移动终端里的恶意软件拦截信标的唯一标识,并将用户引导到钓鱼服务器上,利用虚假的订购和支付页面骗取用户的支付信息,从而造成用户的损失。
本申请的实施例提出一种新的传输信标数据的方法、一种对应的获取信标数据的方法来解决上述问题。本申请实施例所应用的一种网络环境如图1所示,在信标的信号范围内,移动终端与信标采用双方支持的无线协议进行数据传输;移动终端通过移动通信网络与远程的服务器进行数据交互。此外,信标也可以连接到移动通信网络,与网络管理服务器等设备进行数据交互(图1中未示出)。本申请的实施例中对移动终端的种类、信标所采用的无线通信协议、移动通信网络的协议和组网结构、服务器的具体实现方式均不做限定。
本实施例中,传输信标数据的方法的流程如图2所示,该方法应用在发送无线信号的信标上。
在步骤S210,生成随时间变化的干扰量。
在信标上,所生成的干扰量可以是数字,也可以是字符串;可以以某个固定周期随时间变化,也可以是不定期的变化;本申请实施例对生成干扰量的方式没有限制,只要所得到的干扰量是变化的即可;对生成干扰量的位数也没有限制,只要能够满足步骤S220中生成传输标识时所采用算法的要求即可。
在一种实施方式中,干扰量可以是随机量。例如,每小时生成一个随机数,将该随机数16进制的最后两位作为干扰量;再如,对由网络中的管理服务器进行管理的信标,可以在收到管理服务器的指令后生成一个固定位数的随机字符串,以该字符串作为干扰量。
根据蓝牙协议的规定,蓝牙设备可以产生一个随机地址,用来对外通信,同时不暴露自身的唯一标识,并且可以设置更换随机地址的周期。因此,对蓝牙信标而言,可以根据蓝牙信标随时间变化的随机地址生成干扰量,例如,将随机地址的某几位作为干扰量,或者将随机地址进行一定规则的数学运算或字符串变换后得到干扰量。
在步骤S220,采用预置的算法、根据干扰量和信标的唯一标识生成传输标识;所生成的传输标识随所述干扰量变化。
通过预先保存在信标中的算法,以干扰量为参数,将信标的唯一标识变换为传输标识,使得传输标识与干扰量无关的对应于唯一标识。该算法的逆向算法预先保存在解读无线帧信号的移动终端或者服务器中,由传输标识变换得出确定的唯一标识。换言之,在信标上,预置算法以干扰量为参数将唯一标识一对多的变换为传输标识,传输标识会因干扰量的不同而不同;而在移动终端或者服务器上,根据传输标识得到唯一标识的逆向算法与干扰量无关。也就是说,传输标识会随干扰量的变化而变化,但获知传输标识后,不需要知道干扰量是什么,就可以根据逆向算法得到唯一标识。
该算法可以由设备制造商在生产该设备时写入到芯片中,该算法的执行可以不依赖其它指令,在设备启动后自行执行,当然也可以通过其他方式,诸如设备开关,指令该设备执行或停止执行该算法。
在一种实施方式中,可以将M位的唯一标识和N位的干扰量合成为(M+N)位的传输标识(M、N为自然数):在(M+N)位的传输标识中将在预定的N个填充位填入干扰量,其他M位填入唯一标识。也就是说,在至少一个预定的填充位填入所述干扰量,在其他位填入所述信标的唯一标识,得到传输标识。其中,预定的N个填充位可以是前缀或后缀,也可以是一个整体或分散开夹杂在唯一标识的M位中间。例如,10个字节的传输标识由8个字节的唯一标识和2个字节的干扰量生成,则可以将干扰量填入预定的前2个字节,或者预定的最后2个字节,或者预定的第4个字节和第8个字节。在得到传输标识后,去掉留给干扰量的预定N位,就可以得到信标的唯一标识,而不需要知道干扰量的具体值是多少。
在另一种实施方式中,干扰量插入的填充位是变化的,比如,可以采用随时间变化的填充位。具体为,根据当前时间确定至少一位填充位;在所确定的填充位填入干扰量,在其他位填入所述信标的唯一标识,得到传输标识。例如,对将M位的唯一标识和N位的干扰量合成为(M+N)位的传输标识的情形,可以取当前的日期对(M+N)的模数,将模数作为N个填充位的起始位。这样,每天所采用的填充位都会发生变化,并且由当天的日期决定。再如,预设K种设置N个填充位的方式,以一定的周期轮询采用这K种方式。
也可以采用其他算法从传输标识得到唯一标识。本申请实施例对所采取的具体算法没有限制。
在步骤S230,将所述传输标识通过无线帧发送。
由于干扰量随时间变化,传输标识因干扰量的不同而不同,因此传输标识也随时间变化。将随时间变化的传输标识通过信标的无线帧发送给接收端。
在一种实施方式中,可以将传输标识加密后生成标识密文,将标识密文封装在无线帧中发送。
对传输标识按照预定的加密算法进行加密,生成标识密文。本申请实施例中对所采用的加密算法没有限制,只要解读信标信号的一方(移动终端或服务器)采用对应的解密算法可以得到正确的传输标识即可。例如,可以采用对称加密算法AES(AdvancedEncryption Standard,高级加密标准)、DES(Data Encryption Standard,数据加密标准)等,也可以采用非对称加密算法RSA(一种不对称加密算法)等。
在信标上,将传输标识加密后生成的标识密文,封装在无线帧中进行广播。由于传输标识随时间变化,这样无线帧中的标识密文也会随时间变化。
与上述运行在信标上的流程对应,本实施例中,获取信标数据的方法的流程如图3所示,该方法既可以应用在移动终端上,也可以应用在服务器上。
在步骤S310,获取信标发送的传输标识。
如果本流程应用在移动终端上,则从接收的信标无线帧中可以获得信标的传输标识。如果本流程应用在服务器上,在移动终端从信标接收到无线帧后,可以从中得到传输标识发送到服务器上,也可以将无线帧转发到服务器上,由服务器从中获取传输标识。
对应于信标对传输标识进行加密后发送的实施方式,在移动终端或者服务器上,可以先获取信标发送的标识密文;再将标识密文解密后得到传输标识。类似的,如果本流程应用在移动终端上,则从接收的信标无线帧中可以获得信标发送的标识密文。如果本流程应用在服务器上,在移动终端从信标接收到无线帧后,可以从中解析出标识密文发送到服务器上,也可以将无线帧转发到服务器上,由服务器从中解析出标识密文。
移动终端或服务器按照与信标所采用加密方法对应的解密方法对标识密文进行解密,得到传输标识。
在步骤S320,采用预置的逆向算法、根据所述传输标识获得所述信标的唯一标识。
如前所述,在信标上将信标的唯一标识变换为传输标识是通过预先保存在信标中的算法来实现的,而移动终端或服务器中则预先保存有上述算法的逆向算法,比如设备制造商将逆向算法预先保存在服务器中,或者移动终端在下载和安装相关应用时,同时下载并保存了逆向算法。当移动终端或服务器得到传输标识后,通过逆向算法从传输标识得到唯一标识。
在前述的一种实施方式中,可以将M位的唯一标识和N位的干扰量合成为(M+N)位的传输标识。在移动终端或者服务器上,在得到(M+N)位的传输标识后,可以去除其中的N个预定的填充位,将剩余部分(M位)作为信标的唯一标识。
对应于前述填充位随时间变化的实施方式,可以根据当前时间确定至少一位填充位;去除传输标识中所确定的填充位,将剩余部分作为所述信标的唯一标识。例如,对将M位的唯一标识和N位的干扰量合成为(M+N)位的传输标识的情形,可以取当前的日期对(M+N)的模数,将模数作为N个填充位的起始位。再如,预设K种设置N个填充位的方式,以一定的周期轮询采用这K种方式,从而确定应去除的填充位是哪N个。
根据信标的唯一标识,移动终端可以从服务器获取相应的近场业务;或者,服务器可以向移动终端提供相应的近场业务。
可见,本申请的实施例中根据唯一标识和干扰量生成随时间变化的传输标识后发送,即使恶意使用方能够通过移动终端得到传输标识,由于传输标识在不停变化,获得与传输标识对应的商户变得非常困难,这样恶意使用方极难成功骗取用户的敏感信息,从而有效的保护了用户。基于同样的原因,未经授权的移动终端应用软件只能得到变化的传输标识,也无法利用已部署的信标来进行相关业务,保护了部署信标一方的利益。另外,采用蓝牙信标的随机地址来生成干扰量,能够利用随机地址随时间变化的功能使得干扰量也随时间变化,减少了对蓝牙信标计算资源的占用。
进一步的,将传输标识加密后再发送可以增加破解出唯一标识的难度,为用户的安全和部署信标一方的利益提供了更好的保护。
在本申请的一个应用示例中,在商户的店铺中部署低功耗蓝牙信标。低功耗蓝牙4.0标准具有设备超快发现速度(通常几十毫秒)的特点,并允许广播不超过31字节的数据,可以应用于近距离发现、支付等场景。
在本应用示例中的蓝牙信标上,利用蓝牙的随机地址中的几位来作为干扰量,蓝牙的随机地址以一定周期自动变化,因此干扰量也随之变化。将干扰量作为后缀,和信标的唯一地址合并后生成传输标识,采用RSA算法用公钥加密后得到标识密文,封装在无线帧中发送。
无线帧可以采用图4所示的结构,其中:Major ID(主要识别码)字段、Minor ID(次要识别码)字段可以用来携带部署信标一方的标识信息,例如连锁店可在Major ID字段中写入区域信息,可在Minor ID字段中写入个别店铺的编号等;Encrypted MAC Address(加密媒体存取控制地址)字段用来携带标识密文;1.0Meter RSSI(1.0米接收信号强度指示)字段用来携带1.0米信号常量。
本应用示例中,当移动终端进入该信标的覆盖范围内时,会接收到该信标的无线帧。移动终端上的授权应用程序、或者授权服务器在收到由移动终端上的应用程序发送的标识密文后,可以利用私钥对其中的标识密文进行解码,得到传输标识,再去除其中的干扰量,得到信标的唯一标识,就可以向用户提供对应的近场业务。而未授权的应用程序、或未授权的服务器则无法解读随时间变化的标识密文,也就无法得知用户的位置,从而无法利用该信标为用户提供确定而可信的业务。
与上述流程实现对应,本申请的实施例还提供了一种应用在蓝牙信标上的传输信标数据的装置。该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过蓝牙信标的CPU将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图5所示的CPU、内存以及非易失性存储器之外,传输信标数据的装置所在的蓝牙信标通常还包括用于进行无线信号收发的芯片等其他硬件。
图6所示为本实施例提供的一种传输信标数据的装置,应用在传输无线信号的蓝牙信标上,包括干扰量生成单元、传输标识单元和发送单元,其中:干扰量生成单元用于根据蓝牙信标随时间变化的随机地址生成干扰量;传输标识单元用于采用预置的算法、根据干扰量和所述蓝牙信标的唯一标识生成传输标识;所述传输标识随所述干扰量变化;发送单元用于将所述传输标识通过无线帧发送。
发送单元可以进一步包括加密模块和封装模块,其中:加密模块用于将所述传输标识加密后生成标识密文;封装模块用于将所述标识密文封装在无线帧中发送。
在一种可选的实施方式中,所述传输标识单元具体用于:在至少一个预定的填充位填入所述干扰量,在其他位填入所述蓝牙信标的唯一标识,得到传输标识。
在另一种可选的实施方式中,传输标识单元可以进一步包括位模块和填充模块,其中:位模块用于根据当前时间确定至少一位填充位;填充模块用于在所述填充位填入所述干扰量,在其他位填入所述蓝牙信标的唯一标识,得到传输标识。
图7所示为本实施例提供的一种获取信标数据的装置,应用在移动终端或者服务器上,包括传输标识获取单元和唯一标识单元,其中:传输标识获取单元用于获取信标发送的传输标识;唯一标识单元用于采用预置的逆向算法、根据所述传输标识获得所述信标的唯一标识。
所述传输标识获取单元可以进一步包括密文获取模块和解密模块,其中:密文获取模块用于获取信标发送的标识密文;解密模块,用于将所述标识密文解密后得到传输标识。
在一种可选的实施方式中,所述唯一标识单元具体用于:去除传输标识中至少一个预定的填充位,将剩余部分作为所述信标的唯一标识。
在另一种可选的实施方式中,所述唯一标识单元包括位模块和去除模块,其中:位模块,用于根据当前时间确定至少一位填充位;去除模块,用于去除传输标识中的所述填充位,将剩余部分作为所述信标的唯一标识。
所述装置位于移动设备或服务器上。
从以上各种方法和装置的实施方式中可以看出,相对于现有技术信标以明文发送唯一标识,本申请的实施例将唯一标识利用干扰量生成随时间变化的传输标识后发送,未经部署信标一方授权的其他应用程序无法获取稳定的唯一标识,也就无法利用已部署信标完成未授权的业务。这样,一方面可以避免遭到恶意应用的欺骗而泄露用户的敏感信息,另一方面保护了部署信标一方的商业利益,避免信标信号被盗用。
本说明书的实施例提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中传输信标数据的方法的各个步骤。对传输信标数据的方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中传输信标数据的方法的各个步骤。对传输信标数据的方法的各个步骤的详细描述请参见之前的内容,不再重复。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。