一种无线多用户防碰撞安全认证方法与系统的制作方法
【技术领域】
[0001]本发明实施例涉及信息技术领域,尤其涉及无线多用户防碰撞安全认证方法与系统。
【背景技术】
[0002]射频识别技术(RFID,Rad1 Frequency Identificat1n)是一项从上世纪八十年代开始逐步走向成熟的自动识别技术。与其它自动识别技术相比,RFID技术以其特有的无接触、抗干扰能力强等优点,逐渐成为自动识别技术中最受欢迎的技术之一,并被广泛地应用于各个领域。射频识别系统数据传输的完整性一直是研究的重点,主要是多卡识别问题。随着射频识别系统的推进和发展,它的安全性也逐渐引起了人们的关注,身份认证是系统安全的第一道屏障,对整个系统的安全性具有十分重要的作用。
[0003]用户与服务器之间利用无线信道实现相互通信来交换信息。由于无线信道的共享特性,当系统中有多个用户同时向服务器发送数据时,将会产生相互干扰,使服务器不能正确接收信息,这就是认证信息碰撞。防碰撞算法能够有效解决认证数据的碰撞问题。
[0004]目前无线环境中常用的防碰撞方法主要有基于随机时隙分配的ALOHA算法和基于二进制树搜索算法等。基于随机时隙分配的ALOHA算法主要包括:时隙ALOHA算法、分群时隙ALOHA算法和分组动态时隙算法等,这一类方法的特点是算法简单、便于实现;而基于二进制树搜索的算法主要包括:自适应四叉树搜索算法、自适应多叉树算法和基于识别码分组算法等,该类算法能够识别认证服务器通信范围内的所有用户。
[0005]在无线多用户认证的防碰撞方面,基于时隙随机分配的ALOHA算法具有简单、便于实现、成本低的优势,但是系统吞吐量小,而且随机时隙分配的信道接入机制容易发生碰撞,造成用户的认证请求无法被认证服务器响应;而基于二进制树搜索的算法能够遍历并识别认证服务器有效通信范围内的所有用户,但是计算复杂、搜索延时较长。
[0006]梁彪等提出的基于码分多址技术的多用户防碰撞算法,能够使用扩频码区分认证服务器周围同时存在的多个用户。
[0007]但是由于该算法没有明确指出用户选择扩频码的方法,还是会存在多个用户选择相同扩频码的可能性,会使多个用户的认证数据再次发生碰撞,降低了系统的效率。
【发明内容】
[0008]本发明实施例提供了无线多用户防碰撞安全认证方法与系统、客户端及服务器,用于避免多个用户发送的认证数据再次发生碰撞,有效提高系统效率。
[0009]本发明实施例提供了一种无线多用户防碰撞安全认证方法,包括:
[0010]客户端向服务器发送认证数据;
[0011]当所述服务器确定所述认证数据发生数据碰撞时,所述客户端接收所述服务器发送的重传请求;
[0012]所述客户端根据用户身份识别码选择第一扩频码;
[0013]所述客户端根据所述第一扩频码向所述服务器发送所述认证数据。
[0014]可选地,所述客户端向服务器发送认证数据之前包括:
[0015]所述客户端接收所述服务器发送认证请求,所述认证请求携带第一随机数;
[0016]所述客户端生成第二随机数;
[0017]所述客户端根据所述第一随机数及所述第二随机数选择第二扩频码;
[0018]所述客户端向服务器发送认证数据包括:
[0019]所述客户端根据所述第二扩频码向所述服务器发送所述认证数据。
[0020]可选地,所述重传请求携带第三随机数;
[0021]所述客户端根据所述用户身份识别码选择第一扩频码包括:
[0022]所述客户端根据所述第三随机数、所述客户端生成的第二随机数及所述用户身份识别码得到目标值;
[0023]所述客户端根据所述目标值对扩频码数量进行取模选择所述第一扩频码。
[0024]可选地,所述客户端向服务器发送认证数据之前包括:
[0025]所述客户端检验标志位是否发生变化;
[0026]若是,则所述客户端根据备用密钥生成所述认证数据,使得当所述认证数据不通过服务器认证时,所述服务器对所述备用密钥及所述用户身份识别码进行认证,当所述备用密钥及所述用户身份识别码通过认证时,所述服务器生成服务器认证数据,向客户端发送该服务器认证数据并更新动态密钥;
[0027]若否,则所述客户端根据动态密钥生成所述认证数据。
[0028]本发明实施例还提供一种无线多用户防碰撞安全认证方法,包括:
[0029]服务器接收客户端发送的认证数据;
[0030]所述服务器判断所述认证数据是否通过认证;
[0031]若所述认证数据不通过认证,则所述服务器判断所述客户端对应的备用密钥及用户身份识别码是否通过认证;
[0032]若所述备用密钥及用户身份识别码通过认证,则所述服务器生成服务器认证数据;
[0033]所述服务器向所述客户端发送所述服务器认证数据,并更新所述客户端对应的动态密钥。
[0034]本发明实施例还提供一种客户端,包括:
[0035]第一发送模块,用于向服务器发送认证数据;
[0036]第一接收模块,用于当所述服务器确定所述第一发送模块发送的认证数据发生数据碰撞时,接收所述服务器发送的重传请求;
[0037]第一选择模块,用于根据所述用户身份识别码选择第一扩频码;
[0038]第二发送模块,用于根据所述第一选择模块选择的第一扩频码向所述服务器发送所述认证数据。
[0039]可选地,所述客户端还包括:
[0040]第二接收模块,用于接收所述服务器发送认证请求,所述认证请求携带第一随机数;
[0041]第一生成模块,用于生成第二随机数;
[0042]第二选择模块,用于根据所述第二接收模块接收的第一随机数及所述第一生成模块生成的第二随机数选择第二扩频码;
[0043]所述第一发送模块包括:
[0044]发送单元,用于根据所述第二扩频码向所述服务器发送所述认证数据。
[0045]可选地,所述重传请求携带第三随机数;
[0046]所述第一选择模块包括:
[0047]计算单元,用于根据所述第一随机数、所述客户端生成的第二随机数及所述用户身份识别码得到目标值;
[0048]取模单元,用于根据所述计算单元得到的目标值对扩频码数进行取模选择所述第一扩频码。
[0049]可选地,所述客户端还包括:
[0050]检验模块,用于检验标志位是否发生变化;
[0051]第二生成模块,用于当所述检验模块确定所述标志位发生变化时,根据备用密钥生成所述认证数据,使得当所述认证数据不通过服务器认证时,所述服务器对所述备用密钥及所述用户身份识别码进行认证,当所述备用密钥及所述用户身份识别码通过认证时,所述服务器生成服务器认证数据,向客户端发送该服务器认证数据并更新动态密钥;
[0052]第三生成模块,用于当所述检验模块确定所述标识位没有发生变化时,根据动态密钥生成所述认证数据。
[0053]本发明实施例还提供一种服务器,包括:
[0054]接收模块,用于接收客户端发送的认证数据;
[0055]第一判断模块,用于判断所述接收模块接收的认证数据是否通过认证;
[0056]第二判断模块,用于当所述第一判断模块确定所述认证数据不通过认证时,判断所述客户端对应的备用密钥及用户身份识别码是否通过认证;
[0057]生成模块,用于当所述第二判断模块确定所述备用密钥及用户身份识别码通过认证时,生成服务器认证数据;
[0058]发送模块,用于向所述客户端发送所述生成模块生成的服务器认证数据,并更新所述客户端对应的动态密钥。
[0059]本发明实施例还提供一种无线多用户防碰撞安全认证系统,所述系统包括:客户端及服务器;
[0060]所述客户端接收所述服务器发送的第一随机数,生成第二随机数,根据所述第一随机数及第二随机数选择第二扩频码,根据所述第二扩频码向所述服务器发送认证数据,当所述认证数据发送数据碰撞时,接收所述服务器发送的重传请求,根据用户身份识别码选择第一扩频码,根据所述第一扩频码向所述服务器发送所述认证数据;
[0061]所述服务器用于向所述客户端发送认证请求,接收所述客户端根据第二扩频码发送的认证数据,判断所述客户端根据第二扩频码发送的认证数据是否发生数据碰撞,若是,则向所述客户端发送重传请求,并接收所述客户端根据第一扩频码发送的认证数据。
[0062]可选地,所述客户端还用于检验标志位是否发生变化,若是,则根据备用密钥生成所述认证数据,若否,则根据动态密钥生成所述认证数据;
[0063]所述服务器还用于判断接收的所述认证数据是否通过认证,若所述认证数据通过认证,则判断所述客户端对应的备用密钥及用户身份识别码是否通过认证,若所述备用密钥及用户身份识别码通过认证,则生成服务器认证数据,并向客户端发送所述服务器认证数据,并更新所述客户端对应的动态密钥。
[0064]从以上技术方案可以看出,本发明实施例具有以下优点:
[0065]本发明实施例中,当认证数据发生碰撞时,客户端可以根据用户身份识别码再次选择扩频码,再根据该扩频码向服务器重新发送认证数据。由于不同用户的用户身份识别码不一样,所以根据用户身份识别码选择扩频码,避免了多个用户选择相同扩频码的情况,从而避免了多个用户发送的认证数据再次碰撞,有效提高了系统的效率。
【附图说明】
[0066]图1为本发明实施例中无线多用户防碰撞安全认证方法的一个实施例示意图;
[0067]图2为本发明实施例中无线多用户防碰撞安全认证方法的另一实施例示意图;
[0068]图3为本发明实施例中无线多用户防碰撞安全认证方法的另一实施例示意图;
[0069]图4为本发明实施例中无线多用户防碰