书签 分享 收藏 举报 版权申诉 / 29

一种IBEACON防位置欺骗的方法和认证服务器、基站.pdf

  • 上传人:1***
  • 文档编号:667813
  • 上传时间:2018-03-02
  • 格式:PDF
  • 页数:29
  • 大小:1.16MB
  • 摘要
    申请专利号:

    CN201410478366.X

    申请日:

    2014.09.19

    公开号:

    CN104219244A

    公开日:

    2014.12.17

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):H04L 29/06申请日:20140919|||公开

    IPC分类号:

    H04L29/06

    主分类号:

    H04L29/06

    申请人:

    深圳供电局有限公司

    发明人:

    张云翔; 张华兵; 李厚恩; 黄安子; 冯斌; 赵铭

    地址:

    518000 广东省深圳市罗湖区深南东路4020号电力调度通信大楼

    优先权:

    专利代理机构:

    深圳汇智容达专利商标事务所(普通合伙) 44238

    代理人:

    潘中毅;熊贤卿

    PDF完整版下载: PDF下载
    内容摘要

    本发明提供一种iBeacon防位置欺骗的方法,所述方法包括:认证服务器将其当前动态随机数、Major初始值及Minor初始值发送给iBeacon基站;接收并解析手机APP得到iBeacon基站广播的通告帧数据后发送的数据报文,获得手机APP中的Major、Minor及用户ID,并将获得的Major及Minor分别与当前动态随机数进行异或运算后,得到Major及Minor的对比值;判断Major的对比值与其初始值以及Minor的对比值与其初始值两两之间是否均相等;如果是,则认证服务器发送许可和用户ID给应用服务器,实现手机APP获取到应用服务器中的应用服务。实施本发明实施例,无须修改iBeacon协议标准,可以安全有效地抵抗重放攻击,进而防止了iBeacon位置欺骗。

    权利要求书

    1.  一种iBeacon防位置欺骗的方法,其特征在于,其在包括认证服务器、应用服务器、iBeacon基站及手机APP互联的网络中实现,所述方法包括:
    所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站;
    接收并解析所述手机APP得到所述iBeacon基站广播的通告帧数据后发送的数据报文,获得所述手机APP所发送数据报文中的Major、Minor及用户ID,并将所述获得的手机APP数据报文中的Major及Minor分别与所述当前动态随机数进行异或运算后,得到相应的Major对比值及Minor对比值;其中,所述通告帧数据包括所述iBeacon基站的UUID、Major和Minor,所述iBeacon基站的Major与所述手机APP数据报文中的Major均为所述Major初始值与所述当前动态随机数异或运算得到的值,所述iBeacon基站的Minor与所述手机APP数据报文中的Minor均为所述Minor初始值与所述当前动态随机数异或运算得到的值;
    判断所述Major对比值与所述Major初始值以及所述Minor对比值与所述Minor初始值两两之间是否均相等;
    如果是,则所述认证服务器发送许可和所述用户ID给所述应用服务器,实现所述手机APP获取到所述应用服务器中的应用服务。

    2.
      如权利要求1所述的方法,其特征在于,在所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站的步骤之前还包括:
    所述认证服务器在开启时,预先设置所述Major初始值、Minor初始值及周期时刻。

    3.
      如权利要求1所述的方法,其特征在于,所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站的步骤进一步包括:
    待下一次所述预设的周期时刻到达时,所述认证服务器将其所产生另一动态随机数修订为所述当前动态随机数,并将所述修订后的当前动态随机数、预设的Major初始值及Minor初始值发送给所述iBeacon基站。

    4.
      如权利要求3所述的方法,其特征在于,所述方法进一步包括:
    所述认证服务器中预先设置有计时时刻;其中,所述预设的计时时刻小于所述预设的周期时刻;
    待下一次所述预设的周期时刻到达时,将修订前的动态随机数保存为原动态随机数,以及将所述修订后的当前动态随机数保存为当前动态随机数,并开启所述预设的计时时刻计时,所述当前动态随机数及原动态随机数将会同时与所述获得的手机APP数据报文中的Major及Minor进行异或运算,确定所述得到的Major对比值是否与所述Major初始值相等,以及所述得到的Minor对比值是否与所述Minor初始值相等,直至所述预设的计时时刻结束时,删除所述原动态随机数。

    5.
      如权利要求1所述的方法,其特征在于,所述方法进一步包括:
    当所述Major对比值与所述Major初始值不相等和/或所述Minor对比值与所述Minor初始值不相等时,则所述认证服务器不发送许可并拒绝相应用户ID的手机APP访问。

    6.
      如权利要求1所述的方法,其特征在于,所述认证服务器发送许可和所述用户ID给所述应用服务的具体步骤包括:
    所述认证服务器采用所述应用服务器的公钥加密所述用户ID,并同时发送许可及所述加密的用户ID给所述应用服务器。

    7.
      如权利要求1所述的方法,其特征在于,所述当前动态随机数、预设的Major初始值及Minor初始值均进行加密保存。

    8.
      一种iBeacon防位置欺骗的方法,其特征在于,其在包括认证服务器、应用服务器、iBeacon基站及手机APP互联的网络中实现,所述方法包括:
    检测所述iBeacon基站当前的工作模式,其中,所述工作模式包括设置模式和广播模式;
    当所述iBeacon基站当前的工作模式为所述设置模式时,接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并根据所述接收到的当前动态随机数、Major初始值和Minor初始值设置所述iBeacon基站的通告帧数据;其中,所述iBeacon基站的通告帧数据包括UUID、Major和Minor,所述Major为所述Major初始值与所述当前动态随机数异或运算得到的值,所述Minor为所述Minor初始值与所述当前动态随机数异或运算得到的值;
    当所述iBeacon基站当前的工作模式为所述广播模式时,中断接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并广播所述通告帧数据给所述手机APP。

    9.
      如权利要求8所述的方法,其特征在于,所述方法进一步包括:
    所述iBeacon基站在所述设置模式下,待完成所述通告帧数据的配置后,将自动切换至所述广播模式。

    10.
      如权利要求8所述的方法,其特征在于,所述方法进一步包括:
    所述iBeacon基站与所述认证服务器的时间同步,其在待所述认证服务器产生另一动态随机数作为所述当前动态随机数的时刻到达时,从所述广播模式切换至所述设置模式,接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并重新配置所述通告帧数据,直至所述重新配置的通告帧数据完成后,切换至所述广播模式,同时将所述重新配置的通告帧数据广播给所述手机APP。

    11.
      一种iBeacon防位置欺骗的方法,其特征在于,其在包括认证服务器、应用服务器、iBeacon基站及手机APP互联的网络中实现,所述方法包括:
    所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站;
    检测所述iBeacon基站当前的工作模式,其中,所述工作模式包括设置模式和广播模式;
    当所述iBeacon基站当前的工作模式为所述设置模式时,所述iBeacon基站接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并根据所述接收到的当前动态随机数、Major初始值和Minor初始值设置所述iBeacon基站的通告帧数据;其中,所述iBeacon基站的通告帧数据包括UUID、Major和Minor,所述Major为所述Major初始值与所述当前动态随机数异或运算得到的值,所述Minor为所述Minor初始值与所述当前动态随机数异或运算得到的值;
    当所述iBeacon基站当前的工作模式为所述广播模式时,所述iBeacon基站中断接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并广播所述通告帧数据给所述手机APP;
    所述认证服务器接收并解析所述手机APP得到所述iBeacon基站广播的通告帧数据后发送的数据报文,获得所述手机APP所发送数据报文中的Major、Minor及用户ID,并将所述获得的手机APP数据报文中的Major及Minor分别与所述当前动态随机数进行异或运算后,得到相应的Major对比值及Minor对比值;其中,所述iBeacon基站的Major与所述手机APP数据报文中的Major相同,所述iBeacon基站的Minor与所述手机APP数据报文中的Minor相同;以及
    所述认证服务器判断所述Major对比值与所述Major初始值以及所述Minor对比值与所述Minor初始值两两之间是否均相等;
    如果是,则所述认证服务器发送许可和所述用户ID给所述应用服务器,实现所述手机APP获取到所述应用服务器中的应用服务。

    12.
      如权利要求11所述的方法,其特征在于,在所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站的步骤之前还包括:
    所述认证服务器在开启时,预先设置所述Major初始值、Minor初始值及周期时刻。

    13.
      如权利要求11所述的方法,其特征在于,所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站的步骤进一步包括:
    待下一次所述预设的周期时刻到达时,所述认证服务器将其所产生另一动态随机数修订为所述当前动态随机数,并将所述修订后的当前动态随机数、预设的Major初始值及Minor初始值发送给所述iBeacon基站。

    14.
      如权利要求13所述的方法,其特征在于,所述方法进一步包括:
    所述认证服务器中预先设置有计时时刻;其中,所述预设的计时时刻小于所述预设的周期时刻;
    待下一次所述预设的周期时刻到达时,所述认证服务器将修订前的动态随机数保存为原动态随机数,以及将所述修订后的当前动态随机数保存为当前动态随机数,并开启所述预设的计时时刻计时,所述当前动态随机数及原动态随机数将会同时与所述获得的手机APP数据报文中的Major及Minor进行异或运算,确定所述得到的Major对比值是否与所述Major初始值相等,以及所述得到的Minor对比值是否与所述Minor初始值相等,直至所述预设的计时时刻结束时,删除所述原动态随机数。

    15.
      如权利要求11所述的方法,其特征在于,所述方法进一步包括:
    当所述Major对比值与所述Major初始值不相等和/或所述Minor对比值与所述Minor初始值不相等时,则所述认证服务器不发送许可并拒绝相应用户ID的手机APP访问。

    16.
      如权利要求11所述的方法,其特征在于,所述认证服务器发送许可和所述用户ID给所述应用服务的具体步骤包括:
    所述认证服务器采用所述应用服务器的公钥加密所述用户ID,并同时发送许可及所述加密的用户ID给所述应用服务器。

    17.
      如权利要求11所述的方法,其特征在于,所述当前动态随机数、预设的Major初始值及Minor初始值均进行加密保存。

    18.
      如权利要求11所述的方法,其特征在于,所述方法进一步包括:
    所述iBeacon基站在所述设置模式下,待完成所述通告帧数据的配置后,将自动切换至所述广播模式。

    19.
      如权利要求11所述的方法,其特征在于,所述方法进一步包括:
    所述iBeacon基站与所述认证服务器的时间同步,其在待所述认证服务器产生另一动态随机数作为所述当前动态随机数的时刻到达时,从所述广播模式切换至所述设置模式,接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并重新配置所述通告帧数据,直至所述重新配置的通告帧数据完成后,切换至所述广播模式,同时将所述重新配置的通告帧数据广播给所述手机APP。

    20.
      一种认证服务器,其特征在于,所述认证服务器包括:
    一动态随机数发送单元,用于所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站;
    一解析及计算单元,用于接收并解析所述手机APP得到所述iBeacon基站广播的通告帧数据后发送的数据报文,获得所述手机APP所发送数据报文中的Major、Minor及用户ID,并将所述获得的手机APP数据报文中的Major及Minor分别与所述当前动态随机数进行异或运算后,得到相应的Major对比值及Minor对比值;其中,所述通告帧数据包括所述iBeacon基站的UUID、Major和Minor,所述iBeacon基站的Major与所述手机APP数据报文中的Major均为所述Major初始值与所述当前动态随机数异或运算得到的值,所述iBeacon基站的Minor与所述手机APP数据报文中的Minor均为所述Minor初始值与所述当前动态随机数异或运算得到的值;
    一判断单元,用于判断所述Major对比值与所述Major初始值以及所述Minor对比值与所述Minor初始值两两之间是否均相等;
    一许可发送单元,用于所述认证服务器发送许可和所述用户ID给所述应用服务器,实现所述手机APP获取到所述应用服务器中的应用服务。

    21.
      如权利要求20所述的认证服务器,其特征在于,所述认证服务器还包括第一预设单元,所述第一预设单元用于所述认证服务器在开启时,预先设置所述Major初始值、Minor初始值及周期时刻。

    22.
      如权利要求20所述的认证服务器,其特征在于,所述认证服务器还包括动态随机数生成单元,所述动态随机数生成单元用于待下一次所述预设的周期时刻到达时,所述认证服务器将其所产生另一动态随机数修订为所述当前动态随机数,并将所述修订后的当前动态随机数、预设的Major初始值及Minor初始值发送给所述iBeacon基站。

    23.
      如权利要求20所述的认证服务器,其特征在于,所述认证服务器还包括第二预设单元和双动态随机数生成单元;其中,
    所述第二预设单元,用于所述认证服务器中预先设置有计时时刻;其中,所述预设的计时时刻小于所述预设的周期时刻;
    所述双动态随机数生成单元,用于待下一次所述预设的周期时刻到达时,将修订前的动态随机数保存为原动态随机数,以及将所述修订后的当前动态随机数保存为当前动态随机数,开启所述预设的计时时刻计时,所述当前动态随机数及原动态随机数将会同时与所述获得的手机APP数据报文中的Major及Minor进行异或运算,确定所述得到的Major对比值是否与所述Major初始值相等,以及所述得到的Minor对比值是否与所述Minor初始值相等,直至所述预设的计时时刻结束时,删除所述原动态随机数。

    24.
      如权利要求20所述的认证服务器,其特征在于,所述认证服务器还包括拒绝访问单元,所述拒绝访问单元用于当所述Major对比值与所述Major初始值不相等和/或所述Minor对比值与所述Minor初始值不相等时,则所述认证服务器不发送许可并拒绝相应用户ID的手机APP访问。

    25.
      如权利要求20所述的认证服务器,其特征在于,所述认证服务器还包括加密存储单元,所述加密存储单元用于所述当前动态随机数、预设的Major初始值及Minor初始值均进行加密保存。

    26.
      如权利要求20所述的认证服务器,其特征在于,所述许可发送单元还包括加密发送模块,所述加密发送模块用于所述认证服务器采用所述应用服务器的公钥加密所述用户ID,并同时发送许可及所述加密的用户ID给所述应用服务器。

    27.
      一种iBeacon基站,其特征在于,所述iBeacon基站包括:
    一检测单元,用于检测所述iBeacon基站当前的工作模式,其中,所述工作模式包括设置模式和广播模式;
    一设置单元,用于当所述iBeacon基站当前的工作模式为所述设置模式时,接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并根据所述接收到的当前动态随机数、Major初始值和Minor初始值设置所述iBeacon基站的通告帧数据;其中,所述iBeacon基站的通告帧数据包括UUID、Major和Minor,所述Major为所述Major初始值与所述当前动态随机数异或运算得到的值,所述Minor为所述Minor初始值与所述当前动态随机数异或运算得到的值;
    一广播单元,用于当所述iBeacon基站当前的工作模式为所述广播模式时,中断接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并广播所述通告帧数据给所述手机APP。

    28.
      如权利要求27所述的iBeacon基站,其特征在于,所述iBeacon基站还包括自动切换单元,所述自动切换单元用于所述iBeacon基站在所述设置模式下,待完成所述通告帧数据的配置后,将自动切换至所述广播模式。

    29.
      如权利要求27所述的iBeacon基站,其特征在于,所述iBeacon基站还包括重新设置单元,所述重新设置单元用于所述iBeacon基站与所述认证服务器的时间同步,其在待所述认证服务器产生另一动态随机数作为所述当前动态随机数的时刻到达时,从所述广播模式切换至所述设置模式,接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并重新配置所述通告帧数据,直至所述重新配置的通告帧数据完成后,切换至所述广播模式,同时将所述重新配置的通告帧数据广播给所述手机APP。

    30.
      一种基于iBeacon的通信网络,其特征在于,所述通信网络包括如权利要求20至26中任一项所述的认证服务器、如权利要求27至29中任一项所述的iBeacon基站、手机APP和应用服务器。

    说明书

    一种iBeacon防位置欺骗的方法和认证服务器、基站
    技术领域
    本发明涉及无线通信技术领域,尤其涉及一种iBeacon防位置欺骗的方法和认证服务器、iBeacon基站以及基于iBeacon的通信网络。
    背景技术
    iBeacon是苹果公司于2013年推出的一项基于蓝牙4.0精准微定位技术,当手持设备靠近一个 iBeacon 基站时,设备就能够感应到 iBeacon 信号,范围可以从几毫米到 50 米,并作为一项新特性集成到IOS 7中,大量基于iBeacon的新兴应用和服务应运而生。iBeacon目前已经应用在室内定位导航、商家信息推送、签到服务、移动支付等很多领域。。
    iBeacon 技术提供了一种方法来创建和监控 iBeacon 基站,其使用BLE(Bluetooth Low Energy,蓝牙低功耗)无线技术发送特定识别信息。蓝牙低功耗 iBeacon 基站发射相同的 UUID (Universally Unique Identifier,通用唯一识别码)形成一片 iBeacon 基站区域,并通过发射的其他附加信息把具有相同UUID的基站区分开来。当一个iBeacon基站在用户的设备范围内,APP也可以监视到距基站的相对距离。因此,可以使用由 iBeacon 基站发射的信息,来增强某一特定位置用户的体验。
    iBeacon 区域监测是使用 IOS 设备的机载无线电检测用户是否在发射着 iBeacon信息的。当用户进入或退出一个 iBeacon 区域时,您可以使用此功能来生成通知或提供其他相关信息。iBeacon 基站区域可以通过以下值被设备到蓝牙低能耗基站的接近度识别:
    UUID(全局惟一标识符),以一个128位的值唯一标识一个或多个iBeacon基站为特定类型或特定的组织;
    Major,一个16位的无符号整数,可以将具有相同proximity UUID的iBeacon基站组织联系起来;
    Minor,一个16位的无符号整数,区分proximity UUID和Major相同的iBeacon基站。
    由于iBeacon是简单开放的协议,没有定义安全规范,其开放的数据格式导致iBeacon存在严重的安全问题,尤其是利用重放攻击进行的iBeacon位置欺骗,直接威胁到部署iBeacon基站以及使用iBeacon技术的商家和个人的利益和安全。目前,国内外一些提供iBeacon基站以及基站部署服务的公司和研究机构提供了部分iBeacon安全解决方案,但是大多在修改iBeacon协议标准的基础上进行的,只适配自己制造的iBeacon基站等产品,不兼容市场上已存在的符合iBeacon协议标准的产品。                                                   
    发明内容
    本发明实施例所要解决的技术问题在于,提供一种一种iBeacon防位置欺骗的方法和认证服务器、iBeacon基站以及基于iBeacon的通信网络,无须修改iBeacon协议标准,可以安全有效地抵抗重放攻击,进而防止了iBeacon位置欺骗。
    为了解决上述技术问题,本发明实施例提供了一种iBeacon防位置欺骗的方法,其在包括认证服务器、应用服务器、iBeacon基站及手机APP互联的网络中实现,所述方法包括:
    所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站;
    接收并解析所述手机APP得到所述iBeacon基站广播的通告帧数据后发送的数据报文,获得所述手机APP所发送数据报文中的Major、Minor及用户ID,并将所述获得的手机APP数据报文中的Major及Minor分别与所述当前动态随机数进行异或运算后,得到相应的Major对比值及Minor对比值;其中,所述通告帧数据包括所述iBeacon基站的UUID、Major和Minor,所述iBeacon基站的Major与所述手机APP数据报文中的Major均为所述Major初始值与所述当前动态随机数异或运算得到的值,所述iBeacon基站的Minor与所述手机APP数据报文中的Minor均为所述Minor初始值与所述当前动态随机数异或运算得到的值;
    判断所述Major对比值与所述Major初始值以及所述Minor对比值与所述Minor初始值两两之间是否均相等;
    如果是,则所述认证服务器发送许可和所述用户ID给所述应用服务器,实现所述手机APP获取到所述应用服务器中的应用服务。
    其中,在所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站的步骤之前还包括:
    所述认证服务器在开启时,预先设置所述Major初始值、Minor初始值及周期时刻。
    其中,所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站的步骤进一步包括:
    待下一次所述预设的周期时刻到达时,所述认证服务器将其所产生另一动态随机数修订为所述当前动态随机数,并将所述修订后的当前动态随机数、预设的Major初始值及Minor初始值发送给所述iBeacon基站。
    其中,所述方法进一步包括:
    所述认证服务器中预先设置有计时时刻;其中,所述预设的计时时刻小于所述预设的周期时刻;
    待下一次所述预设的周期时刻到达时,将修订前的动态随机数保存为原动态随机数,以及将所述修订后的当前动态随机数保存为当前动态随机数,并开启所述预设的计时时刻计时,所述当前动态随机数及原动态随机数将会同时与所述获得的手机APP数据报文中的Major及Minor进行异或运算,确定所述得到的Major对比值是否与所述Major初始值相等,以及所述得到的Minor对比值是否与所述Minor初始值相等,直至所述预设的计时时刻结束时,删除所述原动态随机数。
    其中,所述方法进一步包括:
    当所述Major对比值与所述Major初始值不相等和/或所述Minor对比值与所述Minor初始值不相等时,则所述认证服务器不发送许可并拒绝相应用户ID的手机APP访问。
    其中,所述认证服务器发送许可和所述用户ID给所述应用服务的具体步骤包括:
    所述认证服务器采用所述应用服务器的公钥加密所述用户ID,并同时发送许可及所述加密的用户ID给所述应用服务器。
    其中,所述当前动态随机数、预设的Major初始值及Minor初始值均进行加密保存。
    本发明实施例又提供了一种iBeacon防位置欺骗的方法,其在包括认证服务器、应用服务器、iBeacon基站及手机APP互联的网络中实现,所述方法包括:
    检测所述iBeacon基站当前的工作模式,其中,所述工作模式包括设置模式和广播模式;
    当所述iBeacon基站当前的工作模式为所述设置模式时,接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并根据所述接收到的当前动态随机数、Major初始值和Minor初始值设置所述iBeacon基站的通告帧数据;其中,所述iBeacon基站的通告帧数据包括UUID、Major和Minor,所述Major为所述Major初始值与所述当前动态随机数异或运算得到的值,所述Minor为所述Minor初始值与所述当前动态随机数异或运算得到的值;
    当所述iBeacon基站当前的工作模式为所述广播模式时,中断接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并广播所述通告帧数据给所述手机APP。
    其中,所述方法进一步包括:
    所述iBeacon基站在所述设置模式下,待完成所述通告帧数据的配置后,将自动切换至所述广播模式。
    其中,所述方法进一步包括:
    所述iBeacon基站与所述认证服务器的时间同步,其在待所述认证服务器产生另一动态随机数作为所述当前动态随机数的时刻到达时,从所述广播模式切换至所述设置模式,接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并重新配置所述通告帧数据,直至所述重新配置的通告帧数据完成后,切换至所述广播模式,同时将所述重新配置的通告帧数据广播给所述手机APP。
    本发明实施例又提供了一种iBeacon防位置欺骗的方法,其在包括认证服务器、应用服务器、iBeacon基站及手机APP互联的网络中实现,所述方法包括:
    所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站;
    检测所述iBeacon基站当前的工作模式,其中,所述工作模式包括设置模式和广播模式;
    当所述iBeacon基站当前的工作模式为所述设置模式时,所述iBeacon基站接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并根据所述接收到的当前动态随机数、Major初始值和Minor初始值设置所述iBeacon基站的通告帧数据;其中,所述iBeacon基站的通告帧数据包括UUID、Major和Minor,所述Major为所述Major初始值与所述当前动态随机数异或运算得到的值,所述Minor为所述Minor初始值与所述当前动态随机数异或运算得到的值;
    当所述iBeacon基站当前的工作模式为所述广播模式时,所述iBeacon基站中断接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并广播所述通告帧数据给所述手机APP;
    所述认证服务器接收并解析所述手机APP得到所述iBeacon基站广播的通告帧数据后发送的数据报文,获得所述手机APP所发送数据报文中的Major、Minor及用户ID,并将所述获得的手机APP数据报文中的Major及Minor分别与所述当前动态随机数进行异或运算后,得到相应的Major对比值及Minor对比值;其中,所述iBeacon基站的Major与所述手机APP数据报文中的Major相同,所述iBeacon基站的Minor与所述手机APP数据报文中的Minor相同;以及
    所述认证服务器判断所述Major对比值与所述Major初始值以及所述Minor对比值与所述Minor初始值两两之间是否均相等;
    如果是,则所述认证服务器发送许可和所述用户ID给所述应用服务器,实现所述手机APP获取到所述应用服务器中的应用服务。
    其中,在所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站的步骤之前还包括:
    所述认证服务器在开启时,预先设置所述Major初始值、Minor初始值及周期时刻。
    其中,所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站的步骤进一步包括:
    待下一次所述预设的周期时刻到达时,所述认证服务器将其所产生另一动态随机数修订为所述当前动态随机数,并将所述修订后的当前动态随机数、预设的Major初始值及Minor初始值发送给所述iBeacon基站。
    其中,所述方法进一步包括:
    所述认证服务器中预先设置有计时时刻;其中,所述预设的计时时刻小于所述预设的周期时刻;
    待下一次所述预设的周期时刻到达时,所述认证服务器将修订前的动态随机数保存为原动态随机数,以及将所述修订后的当前动态随机数保存为当前动态随机数,并开启所述预设的计时时刻计时,所述当前动态随机数及原动态随机数将会同时与所述获得的手机APP数据报文中的Major及Minor进行异或运算,确定所述得到的Major对比值是否与所述Major初始值相等,以及所述得到的Minor对比值是否与所述Minor初始值相等,直至所述预设的计时时刻结束时,删除所述原动态随机数。
    其中,所述方法进一步包括:
    当所述Major对比值与所述Major初始值不相等和/或所述Minor对比值与所述Minor初始值不相等时,则所述认证服务器不发送许可并拒绝相应用户ID的手机APP访问。
    其中,所述认证服务器发送许可和所述用户ID给所述应用服务的具体步骤包括:
    所述认证服务器采用所述应用服务器的公钥加密所述用户ID,并同时发送许可及所述加密的用户ID给所述应用服务器。
    其中,所述当前动态随机数、预设的Major初始值及Minor初始值均进行加密保存。
    其中,所述方法进一步包括:
    所述iBeacon基站在所述设置模式下,待完成所述通告帧数据的配置后,将自动切换至所述广播模式。
    其中,所述方法进一步包括:
    所述iBeacon基站与所述认证服务器的时间同步,其在待所述认证服务器产生另一动态随机数作为所述当前动态随机数的时刻到达时,从所述广播模式切换至所述设置模式,接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并重新配置所述通告帧数据,直至所述重新配置的通告帧数据完成后,切换至所述广播模式,同时将所述重新配置的通告帧数据广播给所述手机APP。
    本发明实施例还提供了一种认证服务器,所述认证服务器包括:
    一动态随机数发送单元,用于所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站;
    一解析及计算单元,用于接收并解析所述手机APP得到所述iBeacon基站广播的通告帧数据后发送的数据报文,获得所述手机APP所发送数据报文中的Major、Minor及用户ID,并将所述获得的手机APP数据报文中的Major及Minor分别与所述当前动态随机数进行异或运算后,得到相应的Major对比值及Minor对比值;其中,所述通告帧数据包括所述iBeacon基站的UUID、Major和Minor,所述iBeacon基站的Major与所述手机APP数据报文中的Major均为所述Major初始值与所述当前动态随机数异或运算得到的值,所述iBeacon基站的Minor与所述手机APP数据报文中的Minor均为所述Minor初始值与所述当前动态随机数异或运算得到的值;
    一判断单元,用于判断所述Major对比值与所述Major初始值以及所述Minor对比值与所述Minor初始值两两之间是否均相等;
    一许可发送单元,用于所述认证服务器发送许可和所述用户ID给所述应用服务器,实现所述手机APP获取到所述应用服务器中的应用服务。
    其中,所述认证服务器还包括第一预设单元,所述第一预设单元用于所述认证服务器在开启时,预先设置所述Major初始值、Minor初始值及周期时刻。
    其中,所述认证服务器还包括动态随机数生成单元,所述动态随机数生成单元用于待下一次所述预设的周期时刻到达时,所述认证服务器将其所产生另一动态随机数修订为所述当前动态随机数,并将所述修订后的当前动态随机数、预设的Major初始值及Minor初始值发送给所述iBeacon基站。
    其中,所述认证服务器还包括第二预设单元和双动态随机数生成单元;其中,
    所述第二预设单元,用于所述认证服务器中预先设置有计时时刻;其中,所述预设的计时时刻小于所述预设的周期时刻;
    所述双动态随机数生成单元,用于待下一次所述预设的周期时刻到达时,将修订前的动态随机数保存为原动态随机数,以及将所述修订后的当前动态随机数保存为当前动态随机数,开启所述预设的计时时刻计时,所述当前动态随机数及原动态随机数将会同时与所述获得的手机APP数据报文中的Major及Minor进行异或运算,确定所述得到的Major对比值是否与所述Major初始值相等,以及所述得到的Minor对比值是否与所述Minor初始值相等,直至所述预设的计时时刻结束时,删除所述原动态随机数。
    其中,所述认证服务器还包括拒绝访问单元,所述拒绝访问单元用于当所述Major对比值与所述Major初始值不相等和/或所述Minor对比值与所述Minor初始值不相等时,则所述认证服务器不发送许可并拒绝相应用户ID的手机APP访问。
    其中,所述认证服务器还包括加密存储单元,所述加密存储单元用于所述当前动态随机数、预设的Major初始值及Minor初始值均进行加密保存。
    其中,所述许可发送单元还包括加密发送模块,所述加密发送模块用于所述认证服务器采用所述应用服务器的公钥加密所述用户ID,并同时发送许可及所述加密的用户ID给所述应用服务器。
    本发明实施例还提供了一种iBeacon基站,所述iBeacon基站包括:
    一检测单元,用于检测所述iBeacon基站当前的工作模式,其中,所述工作模式包括设置模式和广播模式;
    一设置单元,用于当所述iBeacon基站当前的工作模式为所述设置模式时,接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并根据所述接收到的当前动态随机数、Major初始值和Minor初始值设置所述iBeacon基站的通告帧数据;其中,所述iBeacon基站的通告帧数据包括UUID、Major和Minor,所述Major为所述Major初始值与所述当前动态随机数异或运算得到的值,所述Minor为所述Minor初始值与所述当前动态随机数异或运算得到的值;
    一广播单元,用于当所述iBeacon基站当前的工作模式为所述广播模式时,中断接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并广播所述通告帧数据给所述手机APP。
    其中,所述iBeacon基站还包括自动切换单元,所述自动切换单元用于所述iBeacon基站在所述设置模式下,待完成所述通告帧数据的配置后,将自动切换至所述广播模式。
    其中,所述iBeacon基站还包括重新设置单元,所述重新设置单元用于所述iBeacon基站与所述认证服务器的时间同步,其在待所述认证服务器产生另一动态随机数作为所述当前动态随机数的时刻到达时,从所述广播模式切换至所述设置模式,接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并重新配置所述通告帧数据,直至所述重新配置的通告帧数据完成后,切换至所述广播模式,同时将所述重新配置的通告帧数据广播给所述手机APP。
    本发明实施例还提供了一种基于iBeacon的通信网络,所述通信网络包括前述的认证服务器、前述的iBeacon基站、手机APP和应用服务器。
    实施本发明实施例,具有如下有益效果:
    1、在本发明实施例中,由于在认证服务器在每一预设的周期时刻到达时,均会产生一动态随机数,该动态随机数与预设的Major初始值和Minor初始值进行异或运算,生成新的Major和Minor加载至iBeacon通告帧数据中广播至手机APP,其无须改变iBeacon协议标准,从而兼容符合iBeacon标准的产品;同时通过将接收及解析到的手机APP数据报文中的Major和Minor分别与动态随机数进行异或运算,确定这两个运算值是否与预设的Major初始值和Minor初始值两两之间均相等,一旦确定均相等后才发送许可,从而实现抵抗重放攻击,避免位置欺骗的目的;
    2、在本发明实施例中,由于在认证服务器在每一预设的周期时刻到达时,均会启动计时时刻,并在该计时时刻内,保存上一预设的周期时刻产生的原动态随机数,且与当前预设的周期时刻产生的当前动态随机数同时验证手机APP反馈的数据报文,避免因信息传输延迟而导致该时段手机App合法的请求没有通过认证服务器的验证而被错误地拒绝,从而提升了通信网络的有效性,直至该计时时刻结束时,自动删除上一预设的周期时刻产生的原动态随机数,从而提升了通信网络的安全性;
    3、在本发明实施例中,由于iBeacon基站与认证服务器的时间同步,且当认证服务器在下一预设的周期时刻产生新的动态随机数时,iBeacon基站会自动进入设置模式,并在该设置模式下完成通告帧数据配置后切换至广播模式,从而实现iBeacon基站的定时切换设置模式和广播模式,保证动态随机数的合法性。
    附图说明
    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,根据这些附图获得其他的附图仍属于本发明的范畴。
    图1为本发明实施例提供的iBeacon防位置欺骗的方法的一个实施例的流程图;
    图2为本发明实施例提供的iBeacon防位置欺骗的方法的另一个实施例的流程图;
    图3为本发明实施例提供的iBeacon防位置欺骗的方法的又一个实施例的流程图;
    图4为本发明实施例提供的iBeacon防位置欺骗的方法的应用场景的网络结构拓扑示意图;
    图5为本发明实施例提供的iBeacon防位置欺骗的方法的应用场景的流程图;
    图6为为本发明实施例提供的iBeacon防位置欺骗的方法的应用场景的安全验证时间的示意图;
    图7为本发明实施例提供的认证服务器的一个实施例的结构示意图;
    图8为本发明实施例提供的iBeacon基站的一个实施例的结构示意图;
    图9为本发明实施例提供的基于iBeacon的通信网路的一个实施例的结构示意图。
    具体实施方式
    为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
    如图1所示,为本发明实施例提供的一种iBeacon防位置欺骗的方法的实施例,其在包括认证服务器、应用服务器、iBeacon基站及手机APP互联的网络中实现在该实施例中,所述方法示出了认证服务器侧的处理流程,具体包括:
    步骤S101、所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站;
    在本发明实施例中,步骤S101之前还包括步骤:认证服务器在开启时,预先设置Major初始值、Minor初始值及周期时刻。
    由于认证服务器会在每一次预设的周期时刻到达时,产生一新的动态随机数发送给iBeacon基站,用于提升通信网络的安全性,因此,步骤S101进一步包括步骤:待下一次预设的周期时刻到达时,认证服务器将其所产生另一动态随机数修订为当前动态随机数,并将修订后的当前动态随机数、预设的Major初始值及Minor初始值发送给iBeacon基站。作为一个例子,周期时刻预设为T,在认证服务器开启时,产生一动态随机数V为当前动态随机数,在周期时刻T达到时,产生另一动态随机数V1为当前动态随机数,以此类推,在下一个周期时刻T到达时,产生又一动态随机数V2为当前动态随机数,以及在第n个周期时刻T到达时,产生又一动态随机数Vn为当前动态随机数,其中,n为正整数。
    应当说明的是,当前动态随机数、预设的Major初始值及Minor初始值均进行加密保存在认证服务器上,动态随机数V、V1至Vn可能均不相同,或有一个或多个相同。
    步骤S102、接收并解析所述手机APP得到所述iBeacon基站广播的通告帧数据后发送的数据报文,获得所述手机APP所发送数据报文中的Major、Minor及用户ID,并将所述获得的手机APP数据报文中的Major及Minor分别与所述当前动态随机数进行异或运算后,得到相应的Major对比值及Minor对比值;其中,所述通告帧数据包括所述iBeacon基站的UUID、Major和Minor,所述iBeacon基站的Major与所述手机APP数据报文中的Major均为所述Major初始值与所述当前动态随机数异或运算得到的值,所述iBeacon基站的Minor与所述手机APP数据报文中的Minor均为所述Minor初始值与所述当前动态随机数异或运算得到的值;
    步骤S103、判断所述Major对比值与所述Major初始值以及所述Minor对比值与所述Minor初始值两两之间是否均相等;如果是,则执行步骤S104,如果否,则执行步骤S105;
    步骤S104、所述认证服务器发送许可和所述用户ID给所述应用服务器,实现所述手机APP获取到所述应用服务器中的应用服务。
    具体为,认证服务器采用应用服务器的公钥加密用户ID,并同时发送许可及加密的用户ID给应用服务器,此时,应用服务器通过私钥解密用户ID来验证认证服务器的许可,实现手机APP获取到应用服务器中的应用服务。作为一个例子,应用服务器验证通过后,发送积分优惠给手机APP。
    步骤S105、所述认证服务器不发送许可并拒绝相应用户ID的手机APP访问,可以理解的是,执行步骤S103后执行步骤S105的条件是,当Major对比值与Major初始值不相等和/或Minor对比值与Minor初始值不相等时。
    为了避免因信息传输延迟而导致该时段手机App合法的请求没有通过认证服务器的验证而被错误地拒绝,会在一定时间内保存上一周期时刻产生的动态随机数用于验证,从而提升通信网络的有效性,所述方法进一步包括:
    所述认证服务器中预先设置有计时时刻;其中,所述预设的计时时刻小于预设的周期时刻;
    待下一次所述预设的周期时刻到达时,将修订前的动态随机数保存为原动态随机数,以及将所述修订后的当前动态随机数保存为当前动态随机数,并开启所述预设的计时时刻计时,所述当前动态随机数及原动态随机数将会同时与所述获得的手机APP数据报文中的Major及Minor进行异或运算,确定所述得到的Major对比值是否与所述Major初始值相等,以及所述得到的Minor对比值是否与所述Minor初始值相等,直至所述预设的计时时刻结束时,删除所述原动态随机数。
    作为一个例子,预设的计时时刻为Ts其小于周期时刻T,当下一次周期时刻T到达时,将当前动态随机数为V作为原动态随机数保存,并且产生一动态随机数V1作为当前动态随机数,此时,在计时时刻Ts开启且在该计时时刻Ts内,同时使用原动态随机数V和当前动态随机数V1进行验证,直至该计时时刻Ts结束,删除原动态随机数V,只保留当前动态随机数V1进行验证;并在下一次周期时刻T(即2T)到达时,当前动态随机数为V1作为原动态随机数保存,并且产生一动态随机数V2作为当前动态随机数,同时使用原动态随机数V1和当前动态随机数V2进行验证,在2T+Ts时刻到达时,删除原动态随机数V1,只保留当前动态随机数V2进行验证;以此类推,在周期时刻第n*T到达时,同时使用动态随机数Vn-1和当前动态随机数Vn进行验证手机APP,在n*T+Ts时刻到达时,删除动态随机数Vn-1,只保留当前动态随机数Vn进行验证手机APP。
    如图2所示,为本发明实施例提供的另一种iBeacon防位置欺骗的方法的实施例,其在包括认证服务器、应用服务器、iBeacon基站及手机APP互联的网络中实现,在该实施例中,所述方法示出了iBeacon基站侧的处理流程,具体包括:
    步骤S201、检测所述iBeacon基站当前的工作模式,其中,所述工作模式包括设置模式和广播模式;
    步骤S202、当所述iBeacon基站当前的工作模式为所述设置模式时,接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并根据所述接收到的当前动态随机数、Major初始值和Minor初始值设置所述iBeacon基站的通告帧数据;其中,所述iBeacon基站的通告帧数据包括UUID、Major和Minor,所述Major为所述Major初始值与所述当前动态随机数异或运算得到的值,所述Minor为所述Minor初始值与所述当前动态随机数异或运算得到的值;
    步骤S203、当所述iBeacon基站当前的工作模式为所述广播模式时,中断接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并广播所述通告帧数据给所述手机APP。
    在本发明实施例中,iBeacon基站在设置模式下,待完成通告帧数据的配置后,将自动切换至广播模式。
    为了保证动态随机数的合法性,使得iBeacon基站能够同步获取认证服务器的动态随机数,因此,iBeacon基站与认证服务器的时间同步,其在待认证服务器产生另一动态随机数作为当前动态随机数的时刻到达时,从广播模式切换至设置模式,接收认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并重新配置通告帧数据,直至重新配置的通告帧数据完成后,切换至广播模式,同时将重新配置的通告帧数据广播给手机APP,实现iBeacon基站的定时切换设置模式和广播模式。
    如图3所示,为本发明实施例提供的又一种iBeacon防位置欺骗的方法的实施例,其在包括认证服务器、应用服务器、iBeacon基站及手机APP互联的网络中实现,在该实施例中,所述方法同时示出了认证服务器和iBeacon基站侧的处理流程,具体包括:
    步骤S301、所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站;
    在本发明实施例中,步骤S301之前还包括步骤:认证服务器在开启时,预先设置Major初始值、Minor初始值及周期时刻。
    由于认证服务器会在每一次预设的周期时刻到达时,产生一新的动态随机数发送给iBeacon基站,用于提升通信网络的安全性,因此,步骤S301进一步包括步骤:待下一次预设的周期时刻到达时,认证服务器将其所产生另一动态随机数修订为当前动态随机数,并将修订后的当前动态随机数、预设的Major初始值及Minor初始值发送给iBeacon基站。
    应当说明的是,当前动态随机数、预设的Major初始值及Minor初始值均进行加密保存在认证服务器上,动态随机数V、V1至Vn可能均不相同,或有一个或多个相同。
    步骤S302、检测所述iBeacon基站当前的工作模式,其中,所述工作模式包括设置模式和广播模式;
    步骤S303、当所述iBeacon基站当前的工作模式为所述设置模式时,接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并根据所述接收到的当前动态随机数、Major初始值和Minor初始值设置所述iBeacon基站的通告帧数据;其中,所述iBeacon基站的通告帧数据包括UUID、Major和Minor,所述Major为所述Major初始值与所述当前动态随机数异或运算得到的值,所述Minor为所述Minor初始值与所述当前动态随机数异或运算得到的值;
    步骤S304、当所述iBeacon基站当前的工作模式为所述广播模式时,中断接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并广播所述通告帧数据给所述手机APP。
    步骤S305、所述认证服务器接收并解析所述手机APP得到所述iBeacon基站广播的通告帧数据后发送的数据报文,获得所述手机APP所发送数据报文中的Major、Minor及用户ID,并将所述获得的手机APP数据报文中的Major及Minor分别与所述当前动态随机数进行异或运算后,得到相应的Major对比值及Minor对比值;其中,所述iBeacon基站的Major与所述手机APP数据报文中的Major相同,所述iBeacon基站的Minor与所述手机APP数据报文中的Minor相同;
    步骤S306、所述认证服务器判断所述Major对比值与所述Major初始值以及所述Minor对比值与所述Minor初始值两两之间是否均相等;如果是,则执行步骤S307,如果否,则执行步骤S308;
    步骤S307、所述认证服务器发送许可和所述用户ID给所述应用服务器,实现所述手机APP获取到所述应用服务器中的应用服务。
    具体为,认证服务器采用应用服务器的公钥加密用户ID,并同时发送许可及加密的用户ID给应用服务器,此时,应用服务器通过私钥解密用户ID来验证认证服务器的许可,实现手机APP获取到应用服务器中的应用服务。
    步骤S308、所述认证服务器不发送许可并拒绝相应用户ID的手机APP访问,可以理解的是,执行步骤S306后执行步骤S308的条件是,当Major对比值与Major初始值不相等和/或Minor对比值与Minor初始值不相等时。
    为了避免因信息传输延迟而导致该时段手机App合法的请求没有通过认证服务器的验证而被错误地拒绝,会在一定时间内保存上一周期时刻产生的动态随机数用于验证,从而提升通信网络的有效性,所述方法进一步包括:
    所述认证服务器中预先设置有计时时刻;其中,所述预设的计时时刻小于预设的周期时刻;
    待下一次所述预设的周期时刻到达时,将修订前的动态随机数保存为原动态随机数,以及将所述修订后的当前动态随机数保存为当前动态随机数,并开启所述预设的计时时刻计时,所述当前动态随机数及原动态随机数将会同时与所述获得的手机APP数据报文中的Major及Minor进行异或运算,确定所述得到的Major对比值是否与所述Major初始值相等,以及所述得到的Minor对比值是否与所述Minor初始值相等,直至所述预设的计时时刻结束时,删除所述原动态随机数。
    在本发明实施例中,iBeacon基站在设置模式下,待完成通告帧数据的配置后,将自动切换至广播模式。
    为了保证动态随机数的合法性,使得iBeacon基站能够同步获取认证服务器的动态随机数,因此,iBeacon基站与认证服务器的时间同步,其在待认证服务器产生另一动态随机数作为当前动态随机数的时刻到达时,从广播模式切换至设置模式,接收认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并重新配置通告帧数据,直至重新配置的通告帧数据完成后,切换至广播模式,同时将重新配置的通告帧数据广播给手机APP,实现iBeacon基站的定时切换设置模式和广播模式。
    如图4至图6所示,对本发明实施例提供的iBeacon防位置欺骗的方法的应用场景进一步说明,具体如下:
    1、商家部署应用服务器。
    2、在商店部署带蓝牙模块的认证服务器AS和iBeacon基站。
    3、认证服务器AS产生随机数V和Major初始值、Minor初始值,并加密保存在AS中,同时认证服务器AS中设置的计时器1(计时器1用于预设周期时刻T)开始计时;
    4、认证服务器AS的蓝牙模块和iBeacon基站通信,iBeacon基站进入设置模式,设置iBeacon通告帧数据为UUID||Major⊕V||Minor⊕V,通信遵守BLE加密协议;其中,⊕代表异或运算符号;
    5、待设置完成后,iBeacon基站切换到广播模式,广播通告帧数据,期间不接收数据;
    6、手机接收到iBeacon基站广播的通告帧数据,从而获取UUID,唤起该UUID对应的商家App;
    7、手机App发送Major⊕V’||Minor⊕V’||用户ID到认证服务器AS去验证;
    8、认证服务器AS用保存的随机数V、Major初始值、Minor初始值验证数据有效性,并判断Major对比值(即Major⊕V’⊕V)是否等于Major初始值以及Minor对比值(即Minor⊕V’⊕V)是否等于Minor;如果不相等,就拒绝请求;
    9、认证服务器AS验证通过,发送许可和用户ID给应用服务器,具体可以是用应用服务器公钥加密用户ID;
    10、应用服务器验证AS许可,具体可以是用私钥解密用户ID,当验证通过,向用户手机发送积分等优惠。
    11、当认证服务器AS计时器1计时到T时刻(即下一周期时刻T到达),产生随机数V1,与之前的Major初始值、Minor初始值及上一周期时刻产生的动态随机数V作为原动态随机数一起保存在认证服务器AS中,此时,计时器1归零,计时器2开始计时(即开启计时时刻Ts),返回步骤4,将上一周期时刻产生的动态随机数V替换为V1作为当前动态随机数,同时,iBeacon基站进入设置模式,设置iBeacon通告帧数据为UUID||Major⊕V1||Minor⊕V1后进行广播,认证服务器AS使用V和V1验证手机APP;
    12、当认证服务器AS计时器2计时结束,计时器2归零时(即计时时刻Ts达到),清除保存的上一周期时刻产生的动态随机数V,只保存Major初始值、Minor初始值和当前动态随机数V1;
    13、以此类推,在第n个周期时刻T达到时,认证服务器AS计时器1计时,保存上一周期时刻T产生的动态随机数Vn-1为原动态随机数,并将产生的一动态随机数Vn为当前动态随机数,计时器2开始计时(即开启计时时刻Ts),同时,iBeacon基站进入设置模式,设置iBeacon通告帧数据为UUID||Major⊕Vn||Minor⊕Vn后进行广播,认证服务器AS使用原动态随机数Vn-1和当前动态随机数Vn验证手机APP,直至计时时刻Ts结束时,删除原动态随机数Vn-1,至保留当前动态随机数Vn验证手机APP。
    如图7所示,为本发明提供的一种认证服务器的实施例,在该实施例中,所述认证服务器包括:
    一动态随机数发送单元710,用于所述认证服务器将其在当前预设的周期时刻内所产生的一动态随机数作为当前动态随机数,并将所述当前动态随机数、预设的主要数Major初始值及较少数Minor初始值发送给所述iBeacon基站;
    一解析及计算单元720,用于接收并解析所述手机APP得到所述iBeacon基站广播的通告帧数据后发送的数据报文,获得所述手机APP所发送数据报文中的Major、Minor及用户ID,并将所述获得的手机APP数据报文中的Major及Minor分别与所述当前动态随机数进行异或运算后,得到相应的Major对比值及Minor对比值;其中,所述通告帧数据包括所述iBeacon基站的UUID、Major和Minor,所述iBeacon基站的Major与所述手机APP数据报文中的Major均为所述Major初始值与所述当前动态随机数异或运算得到的值,所述iBeacon基站的Minor与所述手机APP数据报文中的Minor均为所述Minor初始值与所述当前动态随机数异或运算得到的值;
    一判断单元730,用于判断所述Major对比值与所述Major初始值以及所述Minor对比值与所述Minor初始值两两之间是否均相等;
    一许可发送单元740,用于所述认证服务器发送许可和所述用户ID给所述应用服务器,实现所述手机APP获取到所述应用服务器中的应用服务。
    其中,所述认证服务器还包括第一预设单元750,所述第一预设单元750用于所述认证服务器在开启时,预先设置所述Major初始值、Minor初始值及周期时刻。
    其中,所述认证服务器还包括动态随机数生成单元760,所述动态随机数生成单元760用于待下一次所述预设的周期时刻到达时,所述认证服务器将其所产生另一动态随机数修订为所述当前动态随机数,并将所述修订后的当前动态随机数、预设的Major初始值及Minor初始值发送给所述iBeacon基站。
    其中,所述认证服务器还包括第二预设单元770和双动态随机数生成单元780;其中,
    所述第二预设单元770,用于所述认证服务器中预先设置有计时时刻;其中,所述预设的计时时刻小于所述预设的周期时刻;
    所述双动态随机数生成单元780,用于待下一次所述预设的周期时刻到达时,将修订前的动态随机数保存为原动态随机数,以及将所述修订后的当前动态随机数保存为当前动态随机数,开启所述预设的计时时刻计时,所述当前动态随机数及原动态随机数将会同时与所述获得的手机APP数据报文中的Major及Minor进行异或运算,确定所述得到的Major对比值是否与所述Major初始值相等,以及所述得到的Minor对比值是否与所述Minor初始值相等,直至所述预设的计时时刻结束时,删除所述原动态随机数。
    其中,所述认证服务器还包括拒绝访问单元790,所述拒绝访问单元790用于当所述Major对比值与所述Major初始值不相等和/或所述Minor对比值与所述Minor初始值不相等时,则所述认证服务器不发送许可并拒绝相应用户ID的手机APP访问。
    其中,所述认证服务器还包括加密存储单元7100,所述加密存储单元7100用于所述当前动态随机数、预设的Major初始值及Minor初始值均进行加密保存。
    其中,所述许可发送单元740还包括加密发送模块7401,所述加密发送模块7401用于所述认证服务器采用所述应用服务器的公钥加密所述用户ID,并同时发送许可及所述加密的用户ID给所述应用服务器。
    如图8所示,为本发明实施例提供的一种iBeacon基站的实施例,在该实施例中,所述iBeacon基站包括:
    一检测单元810,用于检测所述iBeacon基站当前的工作模式,其中,所述工作模式包括设置模式和广播模式;
    一设置单元820,用于当所述iBeacon基站当前的工作模式为所述设置模式时,接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并根据所述接收到的当前动态随机数、Major初始值和Minor初始值设置所述iBeacon基站的通告帧数据;其中,所述iBeacon基站的通告帧数据包括UUID、Major和Minor,所述Major为所述Major初始值与所述当前动态随机数异或运算得到的值,所述Minor为所述Minor初始值与所述当前动态随机数异或运算得到的值;
    一广播单元830,用于当所述iBeacon基站当前的工作模式为所述广播模式时,中断接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并广播所述通告帧数据给所述手机APP。
    其中,所述iBeacon基站还包括自动切换单元840,所述自动切换单元840用于所述iBeacon基站在所述设置模式下,待完成所述通告帧数据的配置后,将自动切换至所述广播模式。
    其中,所述iBeacon基站还包括重新设置单元850,所述重新设置单元850用于所述iBeacon基站与所述认证服务器的时间同步,其在待所述认证服务器产生另一动态随机数作为所述当前动态随机数的时刻到达时,从所述广播模式切换至所述设置模式,接收所述认证服务器发送过来的当前动态随机数、Major初始值和Minor初始值,并重新配置所述通告帧数据,直至所述重新配置的通告帧数据完成后,切换至所述广播模式,同时将所述重新配置的通告帧数据广播给所述手机APP。
    如图9所示,为本发明实施例提供的一种基于iBeacon的通信网络的实施例,在该实施例中,该通信网络包括如图7中所示的认证服务器、如图8中所示的iBeacon基站、手机APP和应用服务器,其中,认证服务器的具体细节可以参照前述对图7的描述和iBeacon基站的具体细节可以参照前述对图8的描述。
    实施本发明实施例,具有如下有益效果:
    1、在本发明实施例中,由于在认证服务器在每一预设的周期时刻到达时,均会产生一动态随机数,该动态随机数与预设的Major初始值和Minor初始值进行异或运算,生成新的Major和Minor加载至iBeacon通告帧数据中广播至手机APP,其无须改变iBeacon协议标准,从而兼容符合iBeacon标准的产品;同时通过将接收及解析到的手机APP数据报文中的Major和Minor分别与动态随机数进行异或运算,确定这两个运算值是否与预设的Major初始值和Minor初始值两两之间均相等,一旦确定均相等后才发送许可,从而实现抵抗重放攻击,避免位置欺骗的目的;
    2、在本发明实施例中,由于在认证服务器在每一预设的周期时刻到达时,均会启动计时时刻,并在该计时时刻内,保存上一预设的周期时刻产生的原动态随机数,且与当前预设的周期时刻产生的当前动态随机数同时验证手机APP反馈的数据报文,避免因信息传输延迟而导致该时段手机App合法的请求没有通过认证服务器的验证而被错误地拒绝,从而提升了通信网络的有效性,直至该计时时刻结束时,自动删除上一预设的周期时刻产生的原动态随机数,从而提升了通信网络的安全性;
    3、在本发明实施例中,由于iBeacon基站与认证服务器的时间同步,且当认证服务器在下一预设的周期时刻产生新的动态随机数时,iBeacon基站会自动进入设置模式,并在该设置模式下完成通告帧数据配置后切换至广播模式,从而实现iBeacon基站的定时切换设置模式和广播模式,保证动态随机数的合法性。
    本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
    以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

    关 键  词:
    一种 IBEACON 位置 欺骗 方法 认证 服务器 基站
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种IBEACON防位置欺骗的方法和认证服务器、基站.pdf
    链接地址:https://www.zhuanlichaxun.net/p-667813.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1