一种基于时间校准数据进行身份认证的方法及系统
技术领域
本发明涉及网络通信领域,例如物联网通信领域,并且更具体地,涉及一种基于时间校准数据进行身份认证的方法及系统。
背景技术
目前,随着移动设备的便利性越来越受到用户的关注,诸如手机的移动设备的应用场景也越来越广泛,借助丰富的应用,移动设备可以具有微型计算机的功能。移动设备的操作系统所支持的各类应用程序,都可以通过操作系统所提供的日期、时间或者直接使用计时器所产生的日期、时间来实现相关数据或文件的处理和记录。
随着移动设备的智能化发展,移动设备的功能越来越强大,对移时间准确性的要求也越来越高。移动支付可能需要使用移动设备对资金业务进行处理,如果移动设备使用了错误的时间信息,则可能影响到使用者的用户体验。
当服务器准备对多个移动设备进行时间校准时,通常需要一段时间的数据交互或处理才能完成时间校准。然而,在服务器准备进行时间校准之后,无法对移动设备的认证请求进行及时响应,这是因为服务器针对认证请求的认证完成时间可能会在时间校准完成之后。在这种情况下,由于时间校准完成后可能会涉及移动设备的时间修改,通常会造成数据错误。为此,服务器通常会对认证请求进行延迟处理以等待时间校准完成。然而,这种方式会对通过移动设备请求认证的用户造成不好的用户体验,无法对用户的认证请求进行即时处理。
发明内容
根据本发明的一个方面,提供一种基于时间校准数据进行身份认证的方法,所述方法包括:
服务器生成用于对通信域内的多个用户终端进行时间校准的时间校准数据,其中所述时间校准数据包括时间信息和冗余信息,当对所述多个用户终端进行时间校准后还需要在所述多个用户终端中的任意两个用户终端间进行身份认证时,所述服务器在所述冗余信息中增加两个标识数据项,以生成经过修改的时间校准数据,其中每个标识数据项均为五元组<标志位、认证标识、处理类型、对向终端地址、随机自然数>;所述服务器将所述经过修改的时间校准数据发送给所述多个用户终端中的每个用户终端;
当所述多个用户终端中的每个用户终端接收到所述经过修改的时间校准数据后,每个用户终端基于各自的网络传输时间和所述经过修改的时间校准数据中的时间信息来确定服务器标准时间,利用所述服务器标准时间来更新本地时间以实现时间校准;
在所述每个用户终端完成时间校准后,每个用户终端通过识别标识数据项的标志位来确定所述经过修改的时间校准数据中的第一标识数据项和第二标识数据项,对所述第一标识数据项和第二标识数据项进行解析,当用户终端基于认证标识确定需要进行身份认证时,将第一标识数据项中处理类型为正向处理的用户终端确定为正向用户终端,并且将第二标识数据项中处理类型为反向处理的用户终端确定为反向用户终端;
所述正向用户终端和反向用户终端分别根据所述时间信息中的秒钟数据和所述随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块,其中多个预设数据块中的每个预设数据块包括位数均不同的多个数据位并且所有数据位的初始值为1;
所述正向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行正向处理的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第一数量,将所述第一数量的连续数据位中的每位均置为0,以生成正向认证数据块;
所述反向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行反向处理的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第二数量,将所述多个数据位中除所述第二数量的连续数据位之外的其它数据位中的每位均置为0,以生成反向认证数据块;
所述正向用户终端基于第一标识数据项中的对向终端地址将所述正向认证数据块发送给反向用户终端,并且所述反向用户终端基于第二标识数据项中的对向终端地址将所述反向认证数据块发送给正向用户终端;以及
正向用户终端将正向认证数据块和所接收的反向认证数据块按位进行异或运算,以生成第一认证数据块,当所述第一认证数据块与所述初始认证数据块相同时,则第一用户终端确定第二用户终端的身份认证结果为认证成功;反向用户终端将反向认证数据块和所接收的正向认证数据块按位进行异或运算,以生成第二认证数据块;当所述第二认证数据块与所述初始认证数据块相同时,则第二用户终端确定第一用户终端的身份认证结果为认证成功。
根据本发明的另一方面,提供一种基于时间校准数据进行身份认证的系统,所述系统包括:
服务器,生成用于对通信域内的多个用户终端进行时间校准的时间校准数据,其中所述时间校准数据包括时间信息和冗余信息,当对所述多个用户终端进行时间校准后还需要在所述多个用户终端中的任意两个用户终端间进行身份认证时,所述服务器在所述冗余信息中增加两个标识数据项,以生成经过修改的时间校准数据,其中每个标识数据项均为五元组<标志位、认证标识、处理类型、对向终端地址、随机自然数>;所述服务器将所述经过修改的时间校准数据发送给所述多个用户终端中的每个用户终端;
多个用户终端,当所述多个用户终端中的每个用户终端接收到所述经过修改的时间校准数据后,每个用户终端基于各自的网络传输时间和所述经过修改的时间校准数据中的时间信息来确定服务器标准时间,利用所述服务器标准时间来更新本地时间以实现时间校准;
在所述每个用户终端完成时间校准后,每个用户终端通过识别标识数据项的标志位来确定所述经过修改的时间校准数据中的第一标识数据项和第二标识数据项,对所述第一标识数据项和第二标识数据项进行解析,当用户终端基于认证标识确定需要进行身份认证时,将第一标识数据项中处理类型为正向处理的用户终端确定为正向用户终端,并且将第二标识数据项中处理类型为反向处理的用户终端确定为反向用户终端;
其中,所述正向用户终端和反向用户终端分别根据所述时间信息中的秒钟数据和所述随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块,其中多个预设数据块中的每个预设数据块包括位数均不同的多个数据位并且所有数据位的初始值为1;
所述正向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行正向处理的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第一数量,将所述第一数量的连续数据位中的每位均置为0,以生成正向认证数据块;
所述反向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行反向处理的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第二数量,将所述多个数据位中除所述第二数量的连续数据位之外的其它数据位中的每位均置为0,以生成反向认证数据块;
所述正向用户终端基于第一标识数据项中的对向终端地址将所述正向认证数据块发送给反向用户终端,并且所述反向用户终端基于第二标识数据项中的对向终端地址将所述反向认证数据块发送给正向用户终端;以及
正向用户终端将正向认证数据块和所接收的反向认证数据块按位进行异或运算,以生成第一认证数据块,当所述第一认证数据块与所述初始认证数据块相同时,则第一用户终端确定第二用户终端的身份认证结果为认证成功;反向用户终端将反向认证数据块和所接收的正向认证数据块按位进行异或运算,以生成第二认证数据块;当所述第二认证数据块与所述初始认证数据块相同时,则第二用户终端确定第一用户终端的身份认证结果为认证成功。
其中当所述服务器在进入时间校准准备状态后的预定时间内,在从所述多个用户终端中的任意两个用户终端接收到认证请求时,确定对所述多个用户终端进行时间校准后还需要在所述多个用户终端中的任意两个用户终端间进行身份认证。
当所述服务器在进入时间校准准备状态后的预定时间内,没有从所述多个用户终端中的任意两个用户终端接收到认证请求时,确定对所述多个用户终端进行时间校准后不需要在所述多个用户终端中的任意两个用户终端间进行身份认证,所述服务器不对所述冗余信息进行修改,其中所述冗余信息用于为服务器要传递的信息进行数据预留,并且所述冗余信息的初始值由服务器随机生成。
所述服务器在所述冗余信息中增加两个标识数据项包括:
在所述冗余信息中增加所述第一标识数据项,其中所述第一标识数据项的标志位为所述服务器的标识符、认证标识为第一用户终端的硬件地址、处理类型为正向处理、对向终端地址为第二用户终端的网络地址以及第一随机自然数;
在所述冗余信息中增加第二标识数据项,其中所述第二标识数据项的标志位为所述服务器的标识符、认证标识为第二用户终端的硬件地址、处理类型为反向处理、对向终端地址为第一用户终端的网络地址以及第二随机自然数;
其中所述第一随机自然数等于所述第二随机自然数。
所述服务器在时间信息中设置计时器,在所述服务器发送所述时间校准数据或所述经过修改的时间校准数据时,启动所述计时器以开始对网络传输时间进行计时。
所述每个用户终端接收到所述时间校准数据或所述经过修改的时间校准数据时,基于计数器所计时的值来确定各自的网络传输时间。
其中每个用户终端通过识别标识数据项的标志位来确定所述经过修改的时间校准数据中的第一标识数据项和第二标识数据项包括:每个用户终端对所述冗余信息进行识别,当识别到值为所述服务器的标识符的标志位时,确定所述冗余信息中存在第一标识数据项和第二标识数据项。
所述多个用户终端中的用户终端在确定认证标识为自身的硬件地址时,确定需要进行身份认证,以及将处理类型为正向处理的第一用户终端确定为正向用户终端,并且将处理类型为反向处理的第二用户终端确定为反向用户终端。
所述正向用户终端和反向用户终端分别根据所述时间信息中的秒钟数据和所述随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块包括:所述正向用户终端和反向用户终端分别将所述时间信息中的秒钟数据和所述随机自然数进行算术运算以得到数据块顺序号,并且将位于所述数据块顺序号处的预设数据块选择作为用于进行身份认证的初始认证数据块。
所述算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算。
其中所述正向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行正向处理的起始数据位包括:所述正向用户终端将所述时间信息中的时钟数据的数值和所述随机自然数的算术运算结果作为对所述初始认证数据块进行正向处理的起始数据位的序号;
其中利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第一数量包括:将所述时间信息中的分钟数据的数值和所述随机自然数的算术运算结果作为从起始数据位开始进行处理的连续数据位的第一数量。
所述反向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行反向处理的起始数据位包括:所述反向用户终端将所述时间信息中的时钟数据的数值和所述随机自然数的算术运算结果作为对所述初始认证数据块进行反向处理的起始数据位的序号;
利用随机自然数和所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第二数量包括:将所述时间信息中的分钟数据的数值和所述随机自然数的算术运算结果作为从起始数据位开始进行处理的连续数据位的第二数量。
根据本发明的再一方面,提供一种基于时间校准数据进行身份认证的方法,所述方法包括:
服务器生成用于对通信域内的多个用户终端进行时间校准的时间校准数据,其中所述时间校准数据包括时间信息和冗余信息,当对所述多个用户终端进行时间校准后还需要在所述多个用户终端中的任意两个用户终端间进行身份认证时,所述服务器在所述冗余信息中增加两个标识数据项,以生成经过修改的时间校准数据,其中每个标识数据项均为五元组<标志位、认证标识、处理类型、对向终端地址、随机自然数>;所述服务器将所述经过修改的时间校准数据发送给所述多个用户终端中的每个用户终端;
当所述多个用户终端中的每个用户终端接收到所述经过修改的时间校准数据后,每个用户终端基于各自的网络传输时间和所述经过修改的时间校准数据中的时间信息来确定服务器标准时间,利用所述服务器标准时间来更新本地时间以实现时间校准;
在所述每个用户终端完成时间校准后,每个用户终端通过识别标识数据项的标志位来确定所述经过修改的时间校准数据中的第一标识数据项和第二标识数据项,对所述第一标识数据项和第二标识数据项进行解析,当用户终端基于认证标识确定需要进行身份认证时,将第一标识数据项中处理类型为正向处理的用户终端确定为正向用户终端,并且将第二标识数据项中处理类型为反向处理的用户终端确定为反向用户终端;
所述正向用户终端和反向用户终端分别使用所述随机自然数和所述时间信息中的秒钟数据从多个预设数据块中选择用于进行身份认证的初始认证数据块,其中多个预设数据块中的每个预设数据块包括位数均不同的多个数据位并且所有数据位的初始值为随机生成的1或0;
所述正向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行正向处理的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第一数量,将所述第一数量的连续数据位中的每位均取反,以生成正向认证数据块;
所述反向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行反向处理的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第二数量,将所述多个数据位中除所述第二数量的连续数据位之外的其它数据位中的每位均取反,以生成反向认证数据块;
所述正向用户终端基于第一标识数据项中的对向终端地址将所述正向认证数据块发送给反向用户终端,并且所述反向用户终端基于第二标识数据项中的对向终端地址将所述反向认证数据块发送给正向用户终端;以及
正向用户终端将正向认证数据块和所接收的反向认证数据块按位进行异或运算,以生成第一认证数据块,当所述第一认证数据块与所述初始认证数据块的位数相同并且所述第一认证数据块的每个数据位均为1时,则第一用户终端确定第二用户终端的身份认证结果为认证成功;
反向用户终端将反向认证数据块和所接收的正向认证数据块按位进行异或运算,以生成第二认证数据块,当所述第二认证数据块与所述初始认证数据块的位数相同并且所述第二认证数据块的每个数据位均为1时,则第二用户终端确定第一用户终端的身份认证结果为认证成功。
根据本发明的再一方面,提供一种基于时间校准数据进行身份认证的系统,所述系统包括:
服务器,生成用于对通信域内的多个用户终端进行时间校准的时间校准数据,其中所述时间校准数据包括时间信息和冗余信息,当对所述多个用户终端进行时间校准后还需要在所述多个用户终端中的任意两个用户终端间进行身份认证时,所述服务器在所述冗余信息中增加两个标识数据项,以生成经过修改的时间校准数据,其中每个标识数据项均为五元组<标志位、认证标识、处理类型、对向终端地址、随机自然数>;所述服务器将所述经过修改的时间校准数据发送给所述多个用户终端中的每个用户终端;
多个用户终端,当所述多个用户终端中的每个用户终端接收到所述经过修改的时间校准数据后,每个用户终端基于各自的网络传输时间和所述经过修改的时间校准数据中的时间信息来确定服务器标准时间,利用所述服务器标准时间来更新本地时间以实现时间校准;
在所述每个用户终端完成时间校准后,每个用户终端通过识别标识数据项的标志位来确定所述经过修改的时间校准数据中的第一标识数据项和第二标识数据项,对所述第一标识数据项和第二标识数据项进行解析,当用户终端基于认证标识确定需要进行身份认证时,将第一标识数据项中处理类型为正向处理的用户终端确定为正向用户终端,并且将第二标识数据项中处理类型为反向处理的用户终端确定为反向用户终端;
所述正向用户终端和反向用户终端分别使用所述随机自然数和所述时间信息中的秒钟数据从多个预设数据块中选择用于进行身份认证的初始认证数据块,其中多个预设数据块中的每个预设数据块包括位数均不同的多个数据位并且所有数据位的初始值为随机生成的1或0;
所述正向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行正向处理的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第一数量,将所述第一数量的连续数据位中的每位均取反,以生成正向认证数据块;
所述反向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行反向处理的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第二数量,将所述多个数据位中除所述第二数量的连续数据位之外的其它数据位中的每位均取反,以生成反向认证数据块;
所述正向用户终端基于第一标识数据项中的对向终端地址将所述正向认证数据块发送给反向用户终端,并且所述反向用户终端基于第二标识数据项中的对向终端地址将所述反向认证数据块发送给正向用户终端;以及
正向用户终端将正向认证数据块和所接收的反向认证数据块按位进行异或运算,以生成第一认证数据块,当所述第一认证数据块与所述初始认证数据块的位数相同并且所述第一认证数据块的每个数据位均为1时,则第一用户终端确定第二用户终端的身份认证结果为认证成功;
反向用户终端将反向认证数据块和所接收的正向认证数据块按位进行异或运算,以生成第二认证数据块,当所述第二认证数据块与所述初始认证数据块的位数相同并且所述第二认证数据块的每个数据位均为1时,则第二用户终端确定第一用户终端的身份认证结果为认证成功。
其中当所述服务器在进入时间校准准备状态后的预定时间内,在从所述多个用户终端中的任意两个用户终端接收到认证请求时,确定对所述多个用户终端进行时间校准后还需要在所述多个用户终端中的任意两个用户终端间进行身份认证。
当所述服务器在进入时间校准准备状态后的预定时间内,没有从所述多个用户终端中的任意两个用户终端接收到认证请求时,确定对所述多个用户终端进行时间校准后不需要在所述多个用户终端中的任意两个用户终端间进行身份认证,所述服务器不对所述冗余信息进行修改,其中所述冗余信息用于为服务器要传递的信息进行数据预留,并且所述冗余信息的初始值由服务器随机生成。
所述服务器在所述冗余信息中增加两个标识数据项包括:
在所述冗余信息中增加所述第一标识数据项,其中所述第一标识数据项的标志位为所述服务器的标识符、认证标识为第一用户终端的硬件地址、处理类型为正向处理、对向终端地址为第二用户终端的网络地址以及第一随机自然数;
在所述冗余信息中增加第二标识数据项,其中所述第二标识数据项的标志位为所述服务器的标识符、认证标识为第二用户终端的硬件地址、处理类型为反向处理、对向终端地址为第一用户终端的网络地址以及第二随机自然数;
其中所述第一随机自然数等于所述第二随机自然数。
在所述时间信息中设置计时器,在所述服务器发送所述时间校准数据或所述经过修改的时间校准数据时,启动所述计时器以开始对网络传输时间进行计时。
所述每个用户终端接收到所述时间校准数据或所述经过修改的时间校准数据时,基于计数器所计时的值来确定各自的网络传输时间。
其中每个用户终端通过识别标识数据项的标志位来确定所述经过修改的时间校准数据中的第一标识数据项和第二标识数据项包括:每个用户终端对所述冗余信息进行识别,当识别到值为所述服务器的标识符的标志位时,确定所述冗余信息中存在第一标识数据项和第二标识数据项。
所述多个用户终端中的用户终端在确定认证标识为自身的硬件地址时,确定需要进行身份认证,以及将处理类型为正向处理的第一用户终端确定为正向用户终端,并且将处理类型为反向处理的第二用户终端确定为反向用户终端。
所述正向用户终端和反向用户终端分别根据所述时间信息中的秒钟数据和所述随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块包括:所述正向用户终端和反向用户终端分别将所述时间信息中的秒钟数据和所述随机自然数进行算术运算以得到数据块顺序号,并且将位于所述数据块顺序号处的预设数据块选择作为用于进行身份认证的初始认证数据块。
所述算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算。
其中所述正向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行正向处理的起始数据位包括:所述正向用户终端将所述时间信息中的时钟数据的数值和所述随机自然数的算术运算结果作为对所述初始认证数据块进行正向处理的起始数据位的序号;
其中利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第一数量包括:将所述时间信息中的分钟数据的数值和所述随机自然数的算术运算结果作为从起始数据位开始进行处理的连续数据位的第一数量。
所述反向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行反向处理的起始数据位包括:所述反向用户终端将所述时间信息中的时钟数据的数值和所述随机自然数的算术运算结果作为对所述初始认证数据块进行反向处理的起始数据位的序号;
利用随机自然数和所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第二数量包括:将所述时间信息中的分钟数据的数值和所述随机自然数的算术运算结果作为从起始数据位开始进行处理的连续数据位的第二数量。
根据本发明的再一方面,提供一种基于时间校准数据进行身份认证的方法,所述方法包括:
服务器生成用于对通信域内的多个用户终端进行时间校准的时间校准数据,其中所述时间校准数据包括时间信息和冗余信息,当对所述多个用户终端进行时间校准后还需要在所述多个用户终端中的任意两个用户终端间进行身份认证时,所述服务器在所述冗余信息中增加两个标识数据项,以生成经过修改的时间校准数据,其中每个标识数据项均为五元组<标志位、认证标识、处理类型、对向终端地址、随机自然数>;所述服务器将所述经过修改的时间校准数据发送给所述多个用户终端中的每个用户终端;
当所述多个用户终端中的每个用户终端接收到所述经过修改的时间校准数据后,每个用户终端基于各自的网络传输时间和所述经过修改的时间校准数据中的时间信息来确定服务器标准时间,利用所述服务器标准时间来更新本地时间以实现时间校准;
在所述每个用户终端完成时间校准后,每个用户终端通过识别标识数据项的标志位来确定所述经过修改的时间校准数据中的第一标识数据项和第二标识数据项,对所述第一标识数据项和第二标识数据项进行解析,当用户终端基于认证标识确定需要进行身份认证时,将第一标识数据项中处理类型为正向处理的用户终端确定为正向用户终端,并且将第二标识数据项中处理类型为反向处理的用户终端确定为反向用户终端;
所述正向用户终端和反向用户终端分别使用所述随机自然数和所述时间信息中的秒钟数据从多个预设数据块中选择用于进行身份认证的初始认证数据块,其中多个预设数据块中的每个预设数据块包括位数相同但初始值不同的多个数据位并且所有数据位的初始值为随机生成的1或0;
所述正向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行循环移位的第一移位方向,并且利用所述时间信息中的分钟数据和所述随机自然数确定对所述初始认证数据块进行循环移位的第一移位数量,基于所述第一移位方向和所述第一移位数量对所述初始认证数据块进行循环移位,以生成正向认证数据块;
所述反向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行循环移位的第二移位方向,并且利用所述时间信息中的分钟数据和所述随机自然数确定对所述初始认证数据块进行循环移位的第二移位数量,基于所述第二移位方向和所述第二移位数量对所述初始认证数据块进行循环移位,以生成反向认证数据块;
所述正向用户终端基于第一标识数据项中的对向终端地址将所述正向认证数据块发送给反向用户终端,并且所述反向用户终端基于第二标识数据项中的对向终端地址将所述反向认证数据块发送给正向用户终端;以及
当所述正向用户终端确定所述正向认证数据块和所接收的所述反向认证数据块相同,则第一用户终端确定第二用户终端的身份认证结果为认证成功,当所述反向用户终端确定所述反向认证数据块和所接收的正向认证数据块相同时,则第二用户终端确定第一用户终端的身份认证结果为认证成功。
根据本发明的再一方面,提供一种基于时间校准数据进行身份认证的系统,所述系统包括:
服务器,生成用于对通信域内的多个用户终端进行时间校准的时间校准数据,其中所述时间校准数据包括时间信息和冗余信息,当对所述多个用户终端进行时间校准后还需要在所述多个用户终端中的任意两个用户终端间进行身份认证时,所述服务器在所述冗余信息中增加两个标识数据项,以生成经过修改的时间校准数据,其中每个标识数据项均为五元组<标志位、认证标识、处理类型、对向终端地址、随机自然数>;所述服务器将所述经过修改的时间校准数据发送给所述多个用户终端中的每个用户终端;
多个用户终端,当所述多个用户终端中的每个用户终端接收到所述经过修改的时间校准数据后,每个用户终端基于各自的网络传输时间和所述经过修改的时间校准数据中的时间信息来确定服务器标准时间,利用所述服务器标准时间来更新本地时间以实现时间校准;
在所述每个用户终端完成时间校准后,每个用户终端通过识别标识数据项的标志位来确定所述经过修改的时间校准数据中的第一标识数据项和第二标识数据项,对所述第一标识数据项和第二标识数据项进行解析,当用户终端基于认证标识确定需要进行身份认证时,将第一标识数据项中处理类型为正向处理的用户终端确定为正向用户终端,并且将第二标识数据项中处理类型为反向处理的用户终端确定为反向用户终端;
所述正向用户终端和反向用户终端分别使用所述随机自然数和所述时间信息中的秒钟数据从多个预设数据块中选择用于进行身份认证的初始认证数据块,其中多个预设数据块中的每个预设数据块包括位数相同但初始值不同的多个数据位并且所有数据位的初始值为随机生成的1或0;
所述正向用户终端根据所述时间信息中的时钟数据确定对所述初始认证数据块进行循环移位的第一移位方向,并且利用所述时间信息中的分钟数据和所述随机自然数确定对所述初始认证数据块进行循环移位的第一移位数量,基于所述第一移位方向和所述第一移位数量对所述初始认证数据块进行循环移位,以生成正向认证数据块;
所述反向用户终端根据所述时间信息中的时钟数据确定对所述初始认证数据块进行循环移位的第二移位方向,并且利用所述时间信息中的分钟数据和所述随机自然数确定对所述初始认证数据块进行循环移位的第二移位数量,基于所述第二移位方向和所述第二移位数量对所述初始认证数据块进行循环移位,以生成反向认证数据块;
所述正向用户终端基于第一标识数据项中的对向终端地址将所述正向认证数据块发送给反向用户终端,并且所述反向用户终端基于第二标识数据项中的对向终端地址将所述反向认证数据块发送给正向用户终端;以及
当所述正向用户终端确定所述正向认证数据块和所接收的所述反向认证数据块相同,则第一用户终端确定第二用户终端的身份认证结果为认证成功,当所述反向用户终端确定所述反向认证数据块和所接收的正向认证数据块相同时,则第二用户终端确定第一用户终端的身份认证结果为认证成功。
其中当所述服务器在进入时间校准准备状态后的预定时间内,在从所述多个用户终端中的任意两个用户终端接收到认证请求时,确定对所述多个用户终端进行时间校准后还需要在所述多个用户终端中的任意两个用户终端间进行身份认证。
当所述服务器在进入时间校准准备状态后的预定时间内,没有从所述多个用户终端中的任意两个用户终端接收到认证请求时,确定对所述多个用户终端进行时间校准后不需要在所述多个用户终端中的任意两个用户终端间进行身份认证,所述服务器不对所述冗余信息进行修改,其中所述冗余信息用于为服务器要传递的信息进行数据预留,并且所述冗余信息的初始值由服务器随机生成。
所述服务器在所述冗余信息中增加两个标识数据项包括:
在所述冗余信息中增加所述第一标识数据项,其中所述第一标识数据项的标志位为所述服务器的标识符、认证标识为第一用户终端的硬件地址、处理类型为正向处理、对向终端地址为第二用户终端的网络地址以及第一随机自然数;
在所述冗余信息中增加第二标识数据项,其中所述第二标识数据项的标志位为所述服务器的标识符、认证标识为第二用户终端的硬件地址、处理类型为反向处理、对向终端地址为第一用户终端的网络地址以及第二随机自然数;
其中所述第一随机自然数等于所述第二随机自然数。
在所述时间信息中设置计时器,在所述服务器发送所述时间校准数据或所述经过修改的时间校准数据时,启动所述计时器以开始对网络传输时间进行计时。
所述每个用户终端接收到所述时间校准数据或所述经过修改的时间校准数据时,基于计数器所计时的值来确定各自的网络传输时间。
其中每个用户终端通过识别标识数据项的标志位来确定所述经过修改的时间校准数据中的第一标识数据项和第二标识数据项包括:每个用户终端对所述冗余信息进行识别,当识别到值为所述服务器的标识符的标志位时,确定所述冗余信息中存在第一标识数据项和第二标识数据项。
所述多个用户终端中的用户终端在确定认证标识为自身的硬件地址时,确定需要进行身份认证,以及将处理类型为正向处理的第一用户终端确定为正向用户终端,并且将处理类型为反向处理的第二用户终端确定为反向用户终端。
所述正向用户终端和反向用户终端分别根据所述时间信息中的秒钟数据和所述随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块包括:所述正向用户终端和反向用户终端分别将所述时间信息中的秒钟数据和所述随机自然数进行算术运算以得到数据块顺序号,并且将位于所述数据块顺序号处的预设数据块选择作为用于进行身份认证的初始认证数据块。
所述算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算。
所述正向用户终端根据所述时间信息中的时钟数据确定对所述初始认证数据块进行循环移位的第一移位方向包括:所述正向用户终端根据所述时间信息中的时钟数据的奇偶性确定对所述初始认证数据块进行循环移位的第一移位方向;以及
利用时间信息中的分钟数据和所述随机自然数确定对初始认证数据块进行循环移位的第一移位数量包括:将时间信息中的分钟数据的数值对10取模的余数和所述随机自然数的算术和作为对初始认证数据块进行循环移位的第一移位数量。
所述反向用户终端根据所述时间信息中的时钟数据确定对所述初始认证数据块进行循环移位的第二移位方向包括:所述反向用户终端根据所述时间信息中的时钟数据的奇偶性确定对所述初始认证数据块进行循环移位的第二移位方向;
利用时间信息中的分钟数据和所述随机自然数确定对初始认证数据块进行循环移位的第二移位数量包括:将初始认证数据块的数据位的位数与时间信息中的分钟数据的数值对10取模的余数和所述随机自然数的算术和的差值作为对初始认证数据块进行循环移位的第二移位数量。。
其中,当所述时间信息中的时钟数据为偶数时,将第一移位方向确定为向右;当所述时间信息中的时钟数据为偶数时,将第二移位方向确定为向左。
其中,当所述时间信息中的时钟数据为奇数时,将第一移位方向确定为向右;当所述时间信息中的时钟数据为奇数时,将第二移位方向确定为向左。
其中,第一移位数量和第二移位数量的和等于所述初始认证数据块的数据位的位数。其中,第一移位方向与第二移位方向的方向相反,并且第一移位数量和第二移位数量均不等于0。每个预设数据块的位数均大于或远大于(例如,例如,大于30个或以上)阈值,所述阈值是随机自然数和9的算术和。
根据本发明的再一方面,提供一种基于时间校准数据进行身份认证的方法,所述方法包括:
服务器生成用于对通信域内的多个用户终端进行时间校准的时间校准数据,其中所述时间校准数据包括时间信息和冗余信息,当对所述多个用户终端进行时间校准后还需要在所述多个用户终端中的任意两个用户终端间进行身份认证时,所述服务器在所述冗余信息中增加两个标识数据项,以生成经过修改的时间校准数据,其中每个标识数据项均为五元组<标志位、认证标识、处理类型、对向终端地址、随机自然数>;所述服务器将所述经过修改的时间校准数据发送给所述多个用户终端中的每个用户终端;
当所述多个用户终端中的每个用户终端接收到所述经过修改的时间校准数据后,每个用户终端基于各自的网络传输时间和所述经过修改的时间校准数据中的时间信息来确定服务器标准时间,利用所述服务器标准时间来更新本地时间以实现时间校准;
在所述每个用户终端完成时间校准后,每个用户终端通过识别标识数据项的标志位来确定所述经过修改的时间校准数据中的第一标识数据项和第二标识数据项,对所述第一标识数据项和第二标识数据项进行解析,当用户终端基于认证标识确定需要进行身份认证时,将第一标识数据项中处理类型为正向处理的用户终端确定为正向用户终端,并且将第二标识数据项中处理类型为反向处理的用户终端确定为反向用户终端;
所述正向用户终端和反向用户终端分别根据所述随机自然数和所述时间信息中的秒钟数据从多个预设数据块中选择用于进行身份认证的初始认证数据块,其中多个预设数据块中的每个预设数据块包括位数均不同的多个数据位并且所有数据位的初始值为随机生成的1或0;
所述正向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行数据提取的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行数据提取的连续数据位的第一数量,将所述第一数量的连续数据位作为正向认证数据块;
所述反向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行数据提取的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行数据提取的连续数据位的第二数量,将所述第二数量的连续数据位作为反向认证数据块;
所述正向用户终端基于第一标识数据项中的对向终端地址将所述正向认证数据块发送给反向用户终端,并且所述反向用户终端基于对第二标识数据项中的向终端地址将所述反向认证数据块发送给正向用户终端;以及
当所述正向用户终端确定所述正向认证数据块和所接收的所述反向认证数据块相同,则第一用户终端确定第二用户终端的身份认证结果为认证成功,当所述反向用户终端确定所述反向认证数据块和所接收的正向认证数据块相同时,则第二用户终端确定第一用户终端的身份认证结果为认证成功。
根据本发明的再一方面,提供一种基于时间校准数据进行身份认证的系统,所述系统包括:
服务器,生成用于对通信域内的多个用户终端进行时间校准的时间校准数据,其中所述时间校准数据包括时间信息和冗余信息,当对所述多个用户终端进行时间校准后还需要在所述多个用户终端中的任意两个用户终端间进行身份认证时,所述服务器在所述冗余信息中增加两个标识数据项,以生成经过修改的时间校准数据,其中每个标识数据项均为五元组<标志位、认证标识、处理类型、对向终端地址、随机自然数>;所述服务器将所述经过修改的时间校准数据发送给所述多个用户终端中的每个用户终端;
多个用户终端,当所述多个用户终端中的每个用户终端接收到所述经过修改的时间校准数据后,每个用户终端基于各自的网络传输时间和所述经过修改的时间校准数据中的时间信息来确定服务器标准时间,利用所述服务器标准时间来更新本地时间以实现时间校准;
在所述每个用户终端完成时间校准后,每个用户终端通过识别标识数据项的标志位来确定所述经过修改的时间校准数据中的第一标识数据项和第二标识数据项,对所述第一标识数据项和第二标识数据项进行解析,当用户终端基于认证标识确定需要进行身份认证时,将第一标识数据项中处理类型为正向处理的用户终端确定为正向用户终端,并且将第二标识数据项中处理类型为反向处理的用户终端确定为反向用户终端;
所述正向用户终端和反向用户终端分别根据所述随机自然数和所述时间信息中的秒钟数据从多个预设数据块中选择用于进行身份认证的初始认证数据块,其中多个预设数据块中的每个预设数据块包括位数均不同的多个数据位并且所有数据位的初始值为随机生成的1或0;
所述正向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行数据提取的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行数据提取的连续数据位的第一数量,将所述第一数量的连续数据位作为正向认证数据块;
所述反向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行数据提取的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行数据提取的连续数据位的第二数量,将所述第二数量的连续数据位作为反向认证数据块;
所述正向用户终端基于第一标识数据项中的对向终端地址将所述正向认证数据块发送给反向用户终端,并且所述反向用户终端基于对第二标识数据项中的向终端地址将所述反向认证数据块发送给正向用户终端;以及
当所述正向用户终端确定所述正向认证数据块和所接收的所述反向认证数据块相同,则第一用户终端确定第二用户终端的身份认证结果为认证成功,当所述反向用户终端确定所述反向认证数据块和所接收的正向认证数据块相同时,则第二用户终端确定第一用户终端的身份认证结果为认证成功。
其中当所述服务器在进入时间校准准备状态后的预定时间内,在从所述多个用户终端中的任意两个用户终端接收到认证请求时,确定对所述多个用户终端进行时间校准后还需要在所述多个用户终端中的任意两个用户终端间进行身份认证。
当所述服务器在进入时间校准准备状态后的预定时间内,没有从所述多个用户终端中的任意两个用户终端接收到认证请求时,确定对所述多个用户终端进行时间校准后不需要在所述多个用户终端中的任意两个用户终端间进行身份认证,所述服务器不对所述冗余信息进行修改,其中所述冗余信息用于为服务器要传递的信息进行数据预留,并且所述冗余信息的初始值由服务器随机生成。
所述服务器在所述冗余信息中增加两个标识数据项包括:
在所述冗余信息中增加所述第一标识数据项,其中所述第一标识数据项的标志位为所述服务器的标识符、认证标识为第一用户终端的硬件地址、处理类型为正向处理、对向终端地址为第二用户终端的网络地址以及第一随机自然数;
在所述冗余信息中增加第二标识数据项,其中所述第二标识数据项的标志位为所述服务器的标识符、认证标识为第二用户终端的硬件地址、处理类型为反向处理、对向终端地址为第一用户终端的网络地址以及第二随机自然数;
其中所述第一随机自然数等于所述第二随机自然数。
在所述时间信息中设置计时器,在所述服务器发送所述时间校准数据或所述经过修改的时间校准数据时,启动所述计时器以开始对网络传输时间进行计时。
所述每个用户终端接收到所述时间校准数据或所述经过修改的时间校准数据时,基于计数器所计时的值来确定各自的网络传输时间。
其中每个用户终端通过识别标识数据项的标志位来确定所述经过修改的时间校准数据中的第一标识数据项和第二标识数据项包括:每个用户终端对所述冗余信息进行识别,当识别到值为所述服务器的标识符的标志位时,确定所述冗余信息中存在第一标识数据项和第二标识数据项。
所述多个用户终端中的用户终端在确定认证标识为自身的硬件地址时,确定需要进行身份认证,以及将处理类型为正向处理的第一用户终端确定为正向用户终端,并且将处理类型为反向处理的第二用户终端确定为反向用户终端。
所述正向用户终端和反向用户终端分别根据所述时间信息中的秒钟数据和所述随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块包括:所述正向用户终端和反向用户终端分别将所述时间信息中的秒钟数据和所述随机自然数进行算术运算以得到数据块顺序号,并且将位于所述数据块顺序号处的预设数据块选择作为用于进行身份认证的初始认证数据块。
所述算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算。
其中所述正向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行正向处理的起始数据位包括:所述正向用户终端将所述时间信息中的时钟数据的数值和所述随机自然数的算术运算结果作为对所述初始认证数据块进行正向处理,即数据提取,的起始数据位的序号;
其中利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行数据提取的连续数据位的第一数量包括:将所述时间信息中的分钟数据的数值和所述随机自然数的算术运算结果作为从起始数据位开始进行数据提取的连续数据位的第一数量。
所述反向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行反向处理的起始数据位包括:所述反向用户终端将所述时间信息中的时钟数据的数值和所述随机自然数的算术运算结果作为对所述初始认证数据块进行反向处理,即数据提取,的起始数据位的序号;
利用随机自然数和所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行数据提取的连续数据位的第二数量包括:将所述时间信息中的分钟数据的数值和所述随机自然数的算术运算结果作为从起始数据位开始进行数据提取的连续数据位的第二数量。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为根据本发明实施方式的通信系统的结构示意图;
图2为根据本发明实施方式的在通信系统中进行身份认证的示意图;
图3为根据本发明实施方式的基于时间校准数据进行身份认证的系统的示意图;
图4为根据本发明实施方式的时间校准方法的流程图;
图5为根据本发明实施方式的基于时间校准数据进行身份认证的方法的流程图;
图6为根据本发明另一实施方式的基于时间校准数据进行身份认证的方法的流程图;
图7为根据本发明再一实施方式的基于时间校准数据进行身份认证的方法的流程图;以及
图8为根据本发明又一实施方式的基于时间校准数据进行身份认证的方法的流程图。
具体实施方式
图1为根据本发明优选实施方式的通信系统100的结构示意图。通信系统100包括:服务器、用户终端1、用户终端2、用户终端3、用户终端4、用户终端5、用户终端6、用户终端7、…、以及用户终端N。其中服务器与用户终端1-N中的任意用户终端进行无线连接以对用户终端提供服务。服务器通过时间校准数据对用户终端1-N进行时间校准,并且为用户终端1-N提供身份认证。例如,当用户终端2希望与用户终端5进行数据通信时,用户终端2向服务器发送携带身份信息和对端设备信息的通信请求。服务器根据身份信息对用户终端2进行身份认证并且根据对端设备信息向用户终端5发送通信请求。用户终端5向服务器发送携带身份信息的应答消息。服务器基于身份信息对用户终端5进行身份认证。当用户终端2和用户终端5均通过服务器的身份认证后,用户终端2能够与用户终端5进行数据通信。这个过程例如可以是通过用户识别模块实现手机通信的身份认证。
图2为根据本发明优选实施方式的在通信系统中进行身份认证的示意图。如图2所示,当用户终端2希望与用户终端5进行数据通信时,服务器可以使用如上所述的过程来完成身份认证并且进而促使用户终端2和5能够进行数据通信。然而,当服务器准备对用户终端1-N进行时间校准时,需要通过数据交互或处理才能完成时间校准。为此,在服务器准备进行时间校准后且在完成时间校准之前,无法对用户终端1-N的认证请求进行及时响应。这是因为服务器针对认证请求的认证完成时间可能会在时间校准完成之后,即在用户终端1-N对本地时间进行修改之后。在这种情况下,由于时间校准完成后可能会涉及用户终端的时间修改,通常会造成数据错误。为此,本申请使用基于时间校准数据进行身份认证的系统来实现在时间校准期间进行用户终端的身份认证。
图3为根据本发明优选实施方式的基于时间校准数据进行身份认证的系统300的示意图。系统300包括:服务器和用户终端1-N。服务器生成用于对通信域内的用户终端1-N进行时间校准的时间校准数据,其中所述时间校准数据包括时间信息和冗余信息。其中时间信息用于指示服务器的标准时间,并且这个标准时间可以通过卫星授时、时钟振荡器授时或任何其他方式来获得。时间信息包括年份数据、月份数据、日期数据、时钟数据、分钟数据以及秒钟数据。其中所述冗余信息用于为服务器要传递的信息进行数据预留,并且所述冗余信息的初始值由服务器随机生成。例如,冗余信息可以是全0或全1的多个数据位。
当服务器在进入时间校准准备状态后的预定时间内,没有从用户终端1-N中的任意两个用户终端接收到认证请求时,确定对用户终端1-N进行时间校准后不需要在任意两个用户终端间进行身份认证。其中预定时间例如是10秒钟、20秒钟、30秒钟、1分钟等。服务器在进入时间校准准备状态后,进行与时间校准相关的准备工作,例如生成时间校准数据、确定准备进行时间校准的用户终端。在不需要在任意两个用户终端间进行身份认证的情况下,服务器不对所述冗余信息进行修改。
当服务器在进入时间校准准备状态后的预定时间内,在从用户终端1-N中的任意两个用户终端,例如,用户终端2和5,接收到认证请求时,确定对用户终端1-N进行时间校准后还需要在用户终端2和5间进行身份认证。
当服务器对用户终端1-N进行时间校准后还需要在用户终端2和5间进行身份认证时,服务器在冗余信息中增加两个标识数据项,以生成经过修改的时间校准数据。每个标识数据项均为五元组<标志位、认证标识、处理类型、对向终端地址、随机自然数>。其中,标志位是用于表示每个标识数据项的起始的数据;认证标识用于标识用户终端1-N中的哪个用户终端需要进行身份认证;处理类型用于表示用户终端在身份认证过程中所需要进行处理的类型或角色,即进行何种处理;对向终端地址用于表示与特定用户终端进行身份认证的对方用户终端的网络地址(对方用户终端的对象终端地址是特定用户终端的网络地址);以及随机自然数是用于数据后续数据处理的随机数据。例如,随机数自然数是1-9中的任意自然数。
服务器在冗余信息中增加两个标识数据项可以包括:在冗余信息中增加第一标识数据项。其中第一标识数据项的标志位为服务器的标识符、网络地址或任何能够表示数据项起点的数据;认证标识为用户终端2的硬件地址、处理类型为正向处理、对向终端地址为用户终端5的网络地址以及第一随机自然数为例如6。
在冗余信息中增加第二标识数据项,其中第二标识数据项的标志位为所述服务器的标识符、网络地址或任何能够表示数据项起点的数据;认证标识为用户终端5的硬件地址、处理类型为反向处理、对向终端地址为用户终端2的网络地址以及第二随机自然数为例如6。其中第一随机自然数等于第二随机自然数。
随后,服务器将时间校准数据或经过修改的时间校准数据发送给用户终端1-N中的每个用户终端。当用户终端1-N中的每个用户终端接收到时间校准数据或经过修改的时间校准数据后,每个用户终端基于各自的网络传输时间和时间校准数据或经过修改的时间校准数据中的时间信息来确定服务器标准时间,利用所述服务器标准时间来更新本地时间以实现时间校准。
服务器在时间信息中设置计时器,并且计时器例如可以是程序模块或具有计时功能的代码或功能块。在服务器发送时间校准数据或经过修改的时间校准数据时,启动计时器以开始对网络传输时间进行计时。每个用户终端接收到所述时间校准数据或所述经过修改的时间校准数据时,基于计数器所计时的值来确定各自的网络传输时间。例如,当计时器所计时的值为3秒并且时间信息为2016年8月8日20点8分5秒时,那么可以确定服务器的当前标准时间是2016年8月8日20点8分8秒。
身份认证初始化
在用户终端1-N均完成时间校准后,每个用户终端通过识别标识数据项的标志位来确定经过修改的时间校准数据中的第一标识数据项和第二标识数据项。随后,每个用户终端均对所述第一标识数据项和第二标识数据项进行解析。当多个用户终端1-N中的任意用户终端基于认证标识确定需要进行身份认证时,将第一标识数据项中处理类型为正向处理的用户终端2确定为正向用户终端,并且将第二标识数据项中处理类型为反向处理的用户终端5确定为反向用户终端。即,当用户终端2确定第一标识数据项的认证标识为自身的硬件地址时,确定用户终端2需要进行身份认证;以及当用户终端5确定第二标识数据项的认证标识为自身的硬件地址时,确定用户终端5需要进行身份认证。用户终端1-N中的其它用户终端确定不需要进行身份认证。
其中用户终端1-N通过识别标识数据项的标志位来确定所述经过修改的时间校准数据中的第一标识数据项和第二标识数据项可以包括:每个用户终端对冗余信息进行识别,当识别到值为服务器的标识符、网络地址或任何能够表示数据项起点的数据的标志位时,确定冗余信息中存在标识数据项,例如,第一和第二标识数据项。用户终端1-N中的任意用户终端在确定认证标识为自身的硬件地址时,确定需要进行身份认证。确定需要进行身份认证的两个用户终端中,将处理类型为正向处理的第一用户终端(用户终端2)确定为正向用户终端,并且将处理类型为反向处理的第二用户终端(移动地址5)确定为反向用户终端。
优选地,在用户终端1-N加入通信域进行初始化时,服务器向通过初始化认证的用户终端发送多个预设数据块。或者在供应商将用户终端1-N提供给用户之前,在用户终端1-N中均预先存储多个预设数据块。每个预设数据块均可以用于进行用户终端之间的身份认证,并且每个预设数据块是由多个数据位或比特位组成的数据段。通常,多个预设数据块的数据位位数可以相同或不同,并且数据位的取值可以是1或0。
例如,多个预设数据块中的每个预设数据块包括位数均不同的多个数据位并且所有数据位的初始值相同,例如均为1(或均为0)。例如,预设数据块的位数为100、115、120、150等。例如,预设数据块为1111111....111111。多个预设数据块中的每个预设数据块包括位数均不同的多个数据位并且所有数据位的初始值为随机生成的1或0。例如,预设数据块为101110100...01101。多个预设数据块中的每个预设数据块包括位数相同但初始值不同的多个数据位并且所有数据位的初始值为随机生成的1或0。例如,预设数据块的位数均为150。
身份认证实施方式一
正向用户终端(用户终端2)根据时间信息中的秒钟数据和(第一)随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块。反向用户终端(用户终端5)根据时间信息中的秒钟数据和(第二)随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块。其中多个预设数据块中的每个预设数据块包括位数均不同的多个数据位并且所有数据位的初始值为1。其中,第一随机自然数和第二随机自然数相同。
正向用户终端和反向用户终端分别根据时间信息中的秒钟数据和相应的随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块的方式包括:正向用户终端和反向用户终端分别将秒钟数据和(第一或第二)随机自然数进行算术运算以得到预设数据块顺序号,并且将位于所述预设数据块顺序号处的预设数据块选择作为用于进行身份认证的初始认证数据块。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。例如,秒钟数据为15秒并且(第一或第二)随机自然数为9。按照上述方式确定的预设数据块顺序号可以是:15+9=24、15 mod 9=6、|15-9|=6以及(15+9)/2=12。此外,当求平均数运算的结果不是整数时,可以对结果进行向上取整或向下取整。
正向用户终端根据时间信息中的时钟数据和所述随机自然数确定对初始认证数据块进行正向处理的起始数据位,并且利用时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第一数量,将所述第一数量的连续数据位中的每位均置为0,以生成正向认证数据块。
其中正向用户终端根据时间信息中的时钟数据和所述随机自然数确定对初始认证数据块进行正向处理的起始数据位包括:正向用户终端将时间信息中的时钟数据和所述随机自然数的算术运算结果,例如算术和,作为对所述初始认证数据块进行正向处理的起始数据位的序号。可替换地,可以将算术运算结果,例如算术和,与特定数值进行算术运算并且将计算结果作为对初始认证数据块进行正向处理的起始数据位的序号。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。
其中利用时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第一数量包括:将时间信息中的分钟数据和所述随机自然数的算术运算结果,例如算术和,作为从起始数据位开始进行处理的连续数据位的第一数量。可替换地,可以将算术运算结果,例如算术和,与特定数值进行算术运算并且将计算结果作为对初始认证数据块进行正向处理的起始数据位的序号。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。
例如,在时钟数据为5并且随机自然数为6的情况下,可以将进行正向处理的起始数据位的序号设置为5和6的算术和11。在算术和为11并且特定数值为9的情况下,按照上述方式确定的起始数据位的序号可以是:11+9=20、11 mod 9=2、|11-9|=2以及(11+9)/2=10。
例如,在分钟数据为1并且随机自然数为4的情况下,进行处理的连续数据位的第一数量被设置为1和4的算术和5。在算术和为5并且特定数值为3的情况下,按照上述方式确定的进行处理的连续数据位的第一数量可以是:5+3=8、5 mod 3=2、|5-3|=2以及(5+3)/2=4。
在这种情况下,例如,正向用户终端在初始认证数据块的第11数据位位开始将5个连续数据位中的每位均置为0。例如,初始认证数据块为20位并且每位均为1,由此可知正向用户终端将初始认证数据块1111 1111 1111 1111 1111修改为1111 1111 1100 00011111(正向认证数据块)。
反向用户终端根据时间信息中的时钟数据和所述随机自然数确定对初始认证数据块进行反向处理的起始数据位,并且利用时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第二数量,将多个数据位中除所述第二数量的连续数据位之外的其它数据位中的每位均置为0,以生成反向认证数据块。
反向用户终端根据时间信息中的时钟数据和所述随机自然数确定对初始认证数据块进行反向处理的起始数据位包括:反向用户终端将所述时间信息中的时钟数据和所述随机自然数的算术运算结果,例如算术和,作为对初始认证数据块进行反向处理的起始数据位的序号。可替换地,可以将算术运算结果,例如算术和,与特定数值进行算术运算并且将计算结果作为对初始认证数据块进行反向处理的起始数据位的序号。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。
其中利用时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第二数量包括:将时间信息中的分钟数据和所述随机自然数的算术运算结果,例如算术和,作为从起始数据位开始进行处理的连续数据位的第二数量。可替换地,可以将算术运算结果,例如算术和,与特定数值进行算术运算并且将计算结果作为对初始认证数据块进行反向处理的起始数据位的序号。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。
例如,在时钟数据为5并且随机自然数为6的情况下,可以将进行反向处理的起始数据位的序号设置为5和6的算术和11。在算术和为11并且特定数值为9的情况下,按照上述方式确定的起始数据位的序号可以是:11+9=20、11 mod 9=2、|11-9|=2以及(11+9)/2=10。
例如,在分钟数据为1并且随机自然数为4的情况下,进行处理的连续数据位的第二数量被设置为1和4的算术和5。在算术和为5并且特定数值为3的情况下,按照上述方式确定的进行处理的连续数据位的第二数量可以是:5+3=8、5 mod 3=2、|5-3|=2以及(5+3)/2=4。
在这种情况下,例如,反向用户终端在初始认证数据块的第11数据位位开始将5个连续数据位中的每位均保持为1并且将这5个连续数据位之外的每位均设置为零。例如,初始认证数据块为20位并且每位均为1,由此可知反向用户终端将1111 1111 1111 11111111修改为0000 0000 0011 1110 0000(反向认证数据块)。
应当了解的是,进行正向处理的起始数据位和进行反向处理的起始数据位均大于零。其中第一数量和第二数量均大于零。每个预设数据块的位数均大于或远大于(例如,大于30个或以上)阈值,所述阈值是不同情况下中正向处理的起始数据位的序号和第一数量的多个算术和中的最大值。此外,每个预设数据块的位数均大于或远大于(例如,大于30个或以上)阈值,所述阈值是不同情况下中反向处理的起始数据位的序号和第二数量的多个算术和中的最大值。
正向用户终端基于第一标识数据项中的对向终端地址(反向用户终端的网络地址,例如IP地址)将正向认证数据块发送给反向用户终端,并且所述反向用户终端基于第二标识数据项中的对向终端地址(正向用户终端的网络地址,例如IP地址)将反向认证数据块发送给正向用户终端。
正向用户终端将正向认证数据块和所接收的反向认证数据块按位进行异或运算,以生成第一认证数据块。即将正向认证数据块1111 1111 1100 0001 1111与反向认证数据块0000 0000 0011 1110 0000进行异或运算,以生成第一认证数据块1111 1111 11111111 1111。将当所述第一认证数据块1111 1111 1111 1111 1111与所述初始认证数据块1111 1111 1111 1111 1111相同时,则第一用户终端确定第二用户终端的身份认证结果为认证成功。
反向用户终端将反向认证数据块和所接收的正向认证数据块按位进行异或运算,以生成第二认证数据块。即将反向认证数据块0000 0000 0011 1110 0000与正向认证数据块1111 1111 1100 0001 1111进行异或运算,以生成第二认证数据块1111 1111 11111111 1111。当所述第二认证数据块1111 1111 1111 1111 1111与初始认证数据块11111111 1111 1111 1111相同时,则第二用户终端确定第一用户终端的身份认证结果为认证成功。
身份认证实施方式二
正向用户终端(用户终端2)根据时间信息中的秒钟数据和(第一)随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块。反向用户终端(用户终端5)根据时间信息中的秒钟数据和(第二)随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块。其中多个预设数据块中的每个预设数据块包括位数均不同的多个数据位并且所有数据位的初始值为随机生成的1或0。其中,第一随机自然数和第二随机自然数相同。
正向用户终端和反向用户终端分别根据时间信息中的秒钟数据和相应的随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块的方式包括:正向用户终端和反向用户终端分别将秒钟数据和(第一或第二)随机自然数进行算术运算以得到预设数据块顺序号,并且将位于所述预设数据块顺序号处的预设数据块选择作为用于进行身份认证的初始认证数据块。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。例如,秒钟数据为15秒并且(第一或第二)随机自然数为9。按照上述方式确定的预设数据块顺序号可以是:15+9=24、15 mod 9=6、|15-9|=6以及(15+9)/2=12。此外,当求平均数运算的结果不是整数时,可以对结果进行向上取整或向下取整。
正向用户终端根据时间信息中的时钟数据和随机自然数确定对初始认证数据块进行正向处理的起始数据位,并且利用时间信息中的分钟数据和随机自然数确定从起始数据位开始进行处理的连续数据位的第一数量,将所述第一数量的连续数据位中的每位均取反,以生成正向认证数据块。
其中正向用户终端根据时间信息中的时钟数据和随机自然数确定对初始认证数据块进行正向处理的起始数据位包括:正向用户终端将时间信息中的时钟数据和随机自然数的算术运算结果,例如算术和,作为对所述初始认证数据块进行正向处理的起始数据位的序号。可替换地,可以将算术运算结果,例如算术和,与特定数值进行算术运算并且将计算结果作为对初始认证数据块进行正向处理的起始数据位的序号。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。
其中利用时间信息中的分钟数据和随机自然数确定从起始数据位开始进行处理的连续数据位的第一数量包括:将时间信息中的分钟数据和所述随机自然数的算术运算结果,例如算术和,作为从起始数据位开始进行处理的连续数据位的第一数量。可替换地,可以将算术运算结果,例如算术和,与特定数值进行算术运算并且将计算结果作为对初始认证数据块进行正向处理的起始数据位的序号。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。
例如,在时钟数据为5并且随机自然数为6的情况下,可以将进行正向处理的起始数据位的序号设置为5和6的算术和11。在算术和为11并且特定数值为9的情况下,按照上述方式确定的起始数据位的序号可以是:11+9=20、11 mod 9=2、|11-9|=2以及(11+9)/2=10。
例如,在分钟数据为1并且随机自然数为4的情况下,进行处理的连续数据位的第一数量被设置为1和4的算术和5。在算术和为5并且特定数值为3的情况下,按照上述方式确定的进行处理的连续数据位的第一数量可以是:5+3=8、5 mod 3=2、|5-3|=2以及(5+3)/2=4。
在这种情况下,例如,正向用户终端在初始认证数据块的第11数据位位开始将5个连续数据位中的每位均取反。例如,初始认证数据块为20位的数据1011 1101 1000 01010111,由此可知正向用户终端将初始认证数据块1011 1101 1000 0101 0111修改为10111101 1011 1011 0111(正向认证数据块)。
反向用户终端根据时间信息中的时钟数据和随机自然数确定对初始认证数据块进行反向处理的起始数据位,并且利用所述时间信息中的分钟数据和随机自然数确定从起始数据位开始进行处理的连续数据位的第二数量,将多个数据位中除所述第二数量的连续数据位之外的其它数据位中的每位均取反,以生成反向认证数据块。
反向用户终端根据时间信息中的时钟数据和随机自然数确定对初始认证数据块进行反向处理的起始数据位包括:反向用户终端将所述时间信息中的时钟数据和随机自然数的算术运算结果,例如算术和,作为对初始认证数据块进行反向处理的起始数据位的序号。可替换地,可以将算术运算结果,例如算术和,与特定数值进行算术运算并且将计算结果作为对初始认证数据块进行反向处理的起始数据位的序号。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。
其中利用时间信息中的分钟数据和随机自然数确定从起始数据位开始进行处理的连续数据位的第二数量包括:将时间信息中的分钟数据和所述随机自然数的算术运算结果,例如算术和,作为从起始数据位开始进行处理的连续数据位的第二数量。可替换地,可以将算术运算结果,例如算术和,与特定数值进行算术运算并且将计算结果作为对初始认证数据块进行反向处理的起始数据位的序号。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。
例如,在时钟数据为5并且随机自然数为6的情况下,可以将进行反向处理的起始数据位的序号设置为5和6的算术和11。在算术和为11并且特定数值为9的情况下,按照上述方式确定的起始数据位的序号可以是:11+9=20、11 mod 9=2、|11-9|=2以及(11+9)/2=10。
例如,在分钟数据为1并且随机自然数为4的情况下,进行处理的连续数据位的第二数量被设置为1和4的算术和5。在算术和为5并且特定数值为3的情况下,按照上述方式确定的进行处理的连续数据位的第二数量可以是:5+3=8、5 mod 3=2、|5-3|=2以及(5+3)/2=4。
在这种情况下,例如,反向用户终端在初始认证数据块的第11数据位位开始将5个连续数据位中的每位均保持不变并且将这5个连续数据位之外的每位均取反。例如,初始认证数据块为20位的数据1011 1101 1000 0101 0111,由此可知正向用户终端初始认证数据块1011 1101 1000 0101 0111修改为0100 0010 0100 0100 1000(反向认证数据块)。
应当了解的是,进行正向处理的起始数据位和进行反向处理的起始数据位均大于零。其中第一数量和第二数量均大于零。每个预设数据块的位数均大于或远大于(例如,大于30个或以上)阈值,所述阈值是不同情况下中正向处理的起始数据位的序号和第一数量的多个算术和中的最大值。此外,每个预设数据块的位数均大于或远大于(例如,大于30个或以上)阈值,所述阈值是不同情况下中反向处理的起始数据位的序号和第二数量的多个算术和中的最大值。
正向用户终端基于第一标识数据项中的对向终端地址(反向用户终端的网络地址,例如IP地址)将所述正向认证数据块发送给反向用户终端,并且所述反向用户终端基于第二标识数据项中的对向终端地址向终端地址(正向用户终端的网络地址,例如IP地址)将所述反向认证数据块发送给正向用户终端。
正向用户终端将正向认证数据块和所接收的反向认证数据块按位进行异或运算,以生成第一认证数据块。例如,正向用户终端将正向认证数据块1011 1101 1011 10110111和反向认证数据块0100 0010 0100 0100 1000按位进行异或运算以得到第一认证数据块1111 1111 1111 1111 1111(20位)。当第一认证数据块(20位)与初始认证数据块(20位)的位数相同并且所述第一认证数据块的每个数据位均为1时,则第一用户终端确定第二用户终端的身份认证结果为认证成功。
反向用户终端将反向认证数据块和所接收的正向认证数据块按位进行异或运算,以生成第二认证数据块。例如,反向用户终端将反向认证数据块0100 0010 0100 01001000和正向认证数据块1011 1101 1011 1011 0111按位进行异或运算以得到第二认证数据块1111 1111 1111 1111 1111(20位)。当第二认证数据块(20位)与初始认证数据块(20位)的位数相同并且第二认证数据块的每个数据位均为1时,则第二用户终端确定第一用户终端的身份认证结果为认证成功。
身份认证实施方式三
正向用户终端(用户终端2)根据时间信息中的秒钟数据和(第一)随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块。反向用户终端(用户终端5)根据时间信息中的秒钟数据和(第二)随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块。其中多个预设数据块中的每个预设数据块包括位数相同但初始值不同的多个数据位并且所有数据位的初始值为随机生成的1或0。其中,第一随机自然数和第二随机自然数相同。
正向用户终端和反向用户终端分别根据时间信息中的秒钟数据和相应的随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块的方式包括:正向用户终端和反向用户终端分别将秒钟数据和(第一或第二)随机自然数进行算术运算以得到预设数据块顺序号,并且将位于所述预设数据块顺序号处的预设数据块选择作为用于进行身份认证的初始认证数据块。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。例如,秒钟数据为15秒并且(第一或第二)随机自然数为9。按照上述方式确定的预设数据块顺序号可以是:15+9=24、15 mod 9=6、|15-9|=6以及(15+9)/2=12。此外,当求平均数运算的结果不是整数时,可以对结果进行向上取整或向下取整。
正向用户终端根据时间信息中的时钟数据确定对初始认证数据块进行循环移位的第一移位方向,并且利用时间信息中的分钟数据和所述随机自然数确定对初始认证数据块进行循环移位的第一移位数量,基于第一移位方向和第一移位数量对初始认证数据块进行循环移位,以生成正向认证数据块。
正向用户终端根据时间信息中的时钟数据确定对初始认证数据块进行循环移位的第一移位方向包括:正向用户终端根据时间信息中的时钟数据的奇偶性确定对初始认证数据块进行循环移位的第一移位方向。例如,当时钟数据为奇数时,第一移位方向为向右。或者,当时钟数据为奇数时,第一移位方向为向左;当时钟数据为偶数时,第一移位方向为向右;以及当时钟数据为偶数时,第一移位方向为向左。
利用时间信息中的分钟数据和所述随机自然数确定对初始认证数据块进行循环移位的第一移位数量包括:将时间信息中的分钟数据的数值对10取模的余数和所述随机自然数的算术和作为对初始认证数据块进行循环移位的第一移位数量。可替换地,可以将算术和与特定数值进行算术运算并且将计算结果作为对初始认证数据块进行循环移位的第一移位数量。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。
例如,在分钟数据为1并且随机数为4的情况下,对初始认证数据块进行循环移位的第一移位数量被设置为(1 mod 10)+4=5。在算术和为5并且特定数值为3的情况下,按照上述方式确定的第一移位数量可以是:5+3=8、5 mod 3=2、|5-3|=2以及(5+3)/2=4。
在这种情况下,例如,时钟数据为7指示第一移位方向为向右,并且在算术和为5的情况下,确定第一移位数量为5,那么当初始认证数据块为20位的数据1011 1101 10000101 0111 时,正向用户终端将初始认证数据块向右循环移位5位,以获得正向认证数据块10111 1011 1101 1000 010。
反向用户终端根据时间信息中的时钟数据确定对初始认证数据块进行循环移位的第二移位方向,并且利用时间信息中的分钟数据和所述随机自然数确定对初始认证数据块进行循环移位的第二移位数量,基于第二移位方向和第二移位数量对初始认证数据块进行循环移位,以生成反向认证数据块。
反向用户终端根据时间信息中的时钟数据确定对初始认证数据块进行循环移位的第二移位方向包括:反向用户终端根据时间信息中的时钟数据的奇偶性确定对初始认证数据块进行循环移位的第二移位方向。例如,当时钟数据为奇数时,第二移位方向为向左。或者,当时钟数据为奇数时,第二移位方向为向右;当时钟数据为偶数时,第二移位方向为向左;以及当时钟数据为偶数时,第二移位方向为向右。
利用时间信息中的分钟数据和所述随机自然数确定对初始认证数据块进行循环移位的第二移位数量包括:将[初始认证数据块的数据位的位数]与[时间信息中的分钟数据的数值对10取模的余数和所述随机自然数的算术和]的差值作为对初始认证数据块进行循环移位的第二移位数量。可替换地,可以将算术和与特定数值进行算术运算并且将初始认证数据块的数据位的位数与计算结果的差值作为对初始认证数据块进行循环移位的第二移位数量。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。
例如,在分钟数据为1并且随机数为4的情况下,对初始认证数据块进行循环移位的第二移位数量被设置为20-((1 mod 10)+4)=15,其中20是初始认证数据块的数据位的位数。在分钟数据为5并且特定数值为3的情况下,按照上述方式确定的第二移位数量可以是:20-(5+3)=12、20-(5 mod 3)=18、20-|5-3|=18以及20-(5+3)/2=16。
在这种情况下,例如,时钟数据为7指示第二移位方向为向左,并且在分钟数据为5的情况下,确定第二移位数量为15,那么当初始认证数据块为20位的数据1011 1101 10000101 0111时,反向用户终端将初始认证数据块向左循环移位15位,以获得反向认证数据块1 0111 1011 1101 1000 010。
其中,第一移位方向与第二移位方向的方向相反,并且第一移位数量和第二移位数量均不等于0。每个预设数据块的位数均大于或远大于(例如,例如,大于30个或以上)阈值,所述阈值是随机自然数和9的算术和。
所述正向用户终端基于第一标识数据项中的对向终端地址将所述正向认证数据块发送给反向用户终端,并且所述反向用户终端基于第二标识数据项中的对向终端地址将所述反向认证数据块发送给正向用户终端。
当正向用户终端确定正向认证数据块和所接收的反向认证数据块相同,则第一用户终端确定第二用户终端的身份认证结果为认证成功,当反向用户终端确定反向认证数据块和所接收的正向认证数据块相同时,则第二用户终端确定第一用户终端的身份认证结果为认证成功。
其中,当时间信息中的时钟数据为偶数时,将第一移位方向确定为向右;当时间信息中的时钟数据为偶数时,将第二移位方向确定为向左。其中,当时间信息中的时钟数据为奇数时,将第一移位方向确定为向右;当时间信息中的时钟数据为奇数时,将第二移位方向确定为向左。其中,第一移位数量和第二移位数量的和等于所述初始认证数据块的数据位的位数。
身份认证实施方式四
正向用户终端(用户终端2)根据时间信息中的秒钟数据和(第一)随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块。反向用户终端(用户终端5)根据时间信息中的秒钟数据和(第二)随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块。其中多个预设数据块中的每个预设数据块包括位数均不同的多个数据位并且所有数据位的初始值为随机生成的1或0。其中,第一随机自然数和第二随机自然数相同。
正向用户终端和反向用户终端分别根据时间信息中的秒钟数据和相应的随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块的方式包括:正向用户终端和反向用户终端分别将秒钟数据和(第一或第二)随机自然数进行算术运算以得到预设数据块顺序号,并且将位于所述预设数据块顺序号处的预设数据块选择作为用于进行身份认证的初始认证数据块。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。例如,秒钟数据为15秒并且(第一或第二)随机自然数为9。按照上述方式确定的预设数据块顺序号可以是:15+9=24、15 mod 9=6、|15-9|=6以及(15+9)/2=12。此外,当求平均数运算的结果不是整数时,可以对结果进行向上取整或向下取整。
正向用户终端根据所述时间信息中的时钟数据和随机自然数确定对初始认证数据块进行数据提取的起始数据位,并且利用时间信息中的分钟数据和随机自然数确定从起始数据位开始进行数据提取的连续数据位的第一数量,将第一数量的连续数据位作为正向认证数据块。
其中正向用户终端根据时间信息中的时钟数据和随机自然数确定对初始认证数据块进行正向处理,例如数据提取,的起始数据位包括:正向用户终端将时间信息中的时钟数据和随机自然数的算术运算结果,例如算术和,作为对所述初始认证数据块进行数据提取的起始数据位的序号。可替换地,可以将算术运算结果,例如算术和,与特定数值进行算术运算并且将计算结果作为对初始认证数据块进行数据提取的起始数据位的序号。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。
其中利用时间信息中的分钟数据和随机自然数确定从起始数据位开始进行数据提取的连续数据位的第一数量包括:将时间信息中的分钟数据和所述随机自然数的算术运算结果,例如算术和,作为从起始数据位开始进行数据提取的连续数据位的第一数量。可替换地,可以将算术运算结果,例如算术和,与特定数值进行算术运算并且将计算结果作为对初始认证数据块进行正向处理的起始数据位的序号。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。
例如,在时钟数据为5并且随机自然数为6的情况下,可以将进行数据提取的起始数据位的序号设置为5和6的算术和11。在算术和为11并且特定数值为9的情况下,按照上述方式确定的起始数据位的序号可以是:11+9=20、11 mod 9=2、|11-9|=2以及(11+9)/2=10。
例如,在分钟数据为1并且随机自然数为4的情况下,进行数据提取的连续数据位的第一数量被设置为1和4的算术和5。在算术和为5并且特定数值为3的情况下,按照上述方式确定的起始数据位的第一数量可以是:5+3=8、5 mod 3=2、|5-3|=2以及(5+3)/2=4。
在这种情况下,例如,正向用户终端在初始认证数据块的第11数据位位开始将5个连续数据位中的数据进行提取。例如,初始认证数据块为20位的数据1011 1101 1000 01010111,由此可知正向用户终端从初始认证数据块1011 1101 1000 0101 0111提取11 101(正向认证数据块)。
反向用户终端根据所述时间信息中的时钟数据和随机自然数确定对初始认证数据块进行提取的起始数据位,并且利用时间信息中的分钟数据和随机自然数确定从起始数据位开始进行提取的连续数据位的第二数量,将第二数量的连续数据位作为反向认证数据块。
其中反向用户终端根据时间信息中的时钟数据和随机自然数确定对初始认证数据块进行反向处理,例如数据提取,的起始数据位包括:反向用户终端将时间信息中的时钟数据和随机自然数的算术运算结果,例如算术和,作为对所述初始认证数据块进行数据提取的起始数据位的序号。可替换地,可以将算术运算结果,例如算术和,与特定数值进行算术运算并且将计算结果作为对初始认证数据块进行数据提取的起始数据位的序号。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。
其中利用时间信息中的分钟数据和随机自然数确定从起始数据位开始进行反向处理,例如数据提取,的连续数据位的第二数量包括:将时间信息中的分钟数据和所述随机自然数的算术运算结果,例如算术和,作为从起始数据位开始进行数据提取的连续数据位的第二数量。可替换地,可以将算术运算结果,例如算术和,与特定数值进行算术运算并且将计算结果作为对初始认证数据块进行反向处理的起始数据位的序号。其中算术运算包括:求和运算、取模运算、对差值取绝对值的运算以及求平均数运算等。
例如,在时钟数据为5并且随机自然数为6的情况下,可以将进行数据提取的起始数据位的序号设置为5和6的算术和11。在算术和为11并且特定数值为9的情况下,按照上述方式确定的起始数据位的序号可以是:11+9=20、11 mod 9=2、|11-9|=2以及(11+9)/2=10。
例如,在分钟数据为1并且随机自然数为4的情况下,进行数据提取的连续数据位的第二数量被设置为1和4的算术和5。在算术和为5并且特定数值为3的情况下,按照上述方式确定的起始数据位的第二数量可以是:5+3=8、5 mod 3=2、|5-3|=2以及(5+3)/2=4。
在这种情况下,例如,反向用户终端在初始认证数据块的第11数据位位开始将5个连续数据位中的数据进行提取。例如,初始认证数据块为20位的数据1011 1101 1000 01010111,由此可知反向用户终端从初始认证数据块1011 1101 1000 0101 0111提取11 101(反向认证数据块)。
正向用户终端基于第一标识数据项中的对向终端地址将正向认证数据块发送给反向用户终端,并且反向用户终端基于对第二标识数据项中的向终端地址将反向认证数据块发送给正向用户终端。
当正向用户终端确定正向认证数据块和所接收的反向认证数据块相同,则第一用户终端确定第二用户终端的身份认证结果为认证成功,当反向用户终端确定反向认证数据块和所接收的正向认证数据块相同时,则第二用户终端确定第一用户终端的身份认证结果为认证成功。
应当了解的是,进行正向处理的起始数据位和进行反向处理的起始数据位均大于零。其中第一数量和第二数量均大于零。每个预设数据块的位数均大于或远大于(例如,例如,大于30个或以上)阈值,所述阈值是进行正向处理的起始数据位的序号和第一数量的算术和,或者进行反向处理的起始数据位的序号和第二数量的算术和。
优选地,在第一用户终端确定第二用户终端的身份认证结果为认证成功,并且第二用户终端确定第一用户终端的身份认证结果为认证成功后,第一用户终端和第二用户终端能够进行各种类型的数据通信。
图4为根据本发明优选实施方式的时间校准方法400的流程图。时间校准方法400从步骤401处开始。在步骤401,服务器生成用于对通信域内的多个用户终端进行时间校准的时间校准数据,其中所述时间校准数据包括时间信息和冗余信息。
在步骤402,当对所述多个用户终端进行时间校准后还需要在所述多个用户终端中的任意两个用户终端间进行身份认证时,所述服务器在所述冗余信息中增加两个标识数据项,以生成经过修改的时间校准数据。
在步骤403,所述服务器将所述经过修改的时间校准数据发送给所述多个用户终端中的每个用户终端。
在步骤404,当所述多个用户终端中的每个用户终端接收到所述经过修改的时间校准数据后,每个用户终端基于各自的网络传输时间和所述经过修改的时间校准数据中的时间信息来确定服务器标准时间,利用所述服务器标准时间来更新本地时间以实现时间校准。以及
在步骤405,在所述每个用户终端完成时间校准后,每个用户终端通过识别标识数据项的标志位来确定所述经过修改的时间校准数据中的第一标识数据项和第二标识数据项,对所述第一标识数据项和第二标识数据项进行解析,当用户终端基于认证标识确定需要进行身份认证时,将第一标识数据项中处理类型为正向处理的用户终端确定为正向用户终端,并且将第二标识数据项中处理类型为反向处理的用户终端确定为反向用户终端。
图5为根据本发明优选实施方式的基于时间校准数据进行身份认证的方法500的流程图。方法500从步骤501处开始。在步骤501,所述正向用户终端和反向用户终端分别根据所述时间信息中的秒钟数据和所述随机自然数从多个预设数据块中选择用于进行身份认证的初始认证数据块,其中多个预设数据块中的每个预设数据块包括位数均不同的多个数据位并且所有数据位的初始值为1。
在步骤502,所述正向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行正向处理的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第一数量,将所述第一数量的连续数据位中的每位均置为0,以生成正向认证数据块。
在步骤503,所述反向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行反向处理的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第二数量,将所述多个数据位中除所述第二数量的连续数据位之外的其它数据位中的每位均置为0,以生成反向认证数据块。
在步骤504,所述正向用户终端基于第一标识数据项中的对向终端地址将所述正向认证数据块发送给反向用户终端,并且所述反向用户终端基于第二标识数据项中的对向终端地址将所述反向认证数据块发送给正向用户终端。
在步骤505,正向用户终端将正向认证数据块和所接收的反向认证数据块按位进行异或运算,以生成第一认证数据块,当所述第一认证数据块与所述初始认证数据块相同时,则第一用户终端确定第二用户终端的身份认证结果为认证成功。以及
在步骤506,反向用户终端将反向认证数据块和所接收的正向认证数据块按位进行异或运算,以生成第二认证数据块;当所述第二认证数据块与所述初始认证数据块相同时,则第二用户终端确定第一用户终端的身份认证结果为认证成功。
图6为根据本发明另一优选实施方式的基于时间校准数据进行身份认证的方法600的流程图。方法600从步骤601处开始。在步骤601,所述正向用户终端和反向用户终端分别使用所述随机自然数和所述时间信息中的秒钟数据从多个预设数据块中选择用于进行身份认证的初始认证数据块,其中多个预设数据块中的每个预设数据块包括位数均不同的多个数据位并且所有数据位的初始值为随机生成的1或0。
在步骤602,所述正向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行正向处理的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第一数量,将所述第一数量的连续数据位中的每位均取反,以生成正向认证数据块。
在步骤603,所述反向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行反向处理的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行处理的连续数据位的第二数量,将所述多个数据位中除所述第二数量的连续数据位之外的其它数据位中的每位均取反,以生成反向认证数据块。
在步骤604,所述正向用户终端基于第一标识数据项中的对向终端地址将所述正向认证数据块发送给反向用户终端,并且所述反向用户终端基于第二标识数据项中的对向终端地址将所述反向认证数据块发送给正向用户终端。
在步骤605,正向用户终端将正向认证数据块和所接收的反向认证数据块按位进行异或运算,以生成第一认证数据块,当所述第一认证数据块与所述初始认证数据块的位数相同并且所述第一认证数据块的每个数据位均为1时,则第一用户终端确定第二用户终端的身份认证结果为认证成功。以及
在步骤606,反向用户终端将反向认证数据块和所接收的正向认证数据块按位进行异或运算,以生成第二认证数据块,当所述第二认证数据块与所述初始认证数据块的位数相同并且所述第二认证数据块的每个数据位均为1时,则第二用户终端确定第一用户终端的身份认证结果为认证成功。
图7为根据本发明再一优选实施方式的基于时间校准数据进行身份认证的方法700的流程图。方法700从步骤701处开始。在步骤701,所述正向用户终端和反向用户终端分别使用所述随机自然数和所述时间信息中的秒钟数据从多个预设数据块中选择用于进行身份认证的初始认证数据块,其中多个预设数据块中的每个预设数据块包括位数相同但初始值不同的多个数据位并且所有数据位的初始值为随机生成的1或0。
在步骤702,所述正向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行循环移位的第一移位方向,并且利用所述时间信息中的分钟数据和所述随机自然数确定对所述初始认证数据块进行循环移位的第一移位数量,基于所述第一移位方向和所述第一移位数量对所述初始认证数据块进行循环移位,以生成正向认证数据块。
在步骤703,所述反向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行循环移位的第二移位方向,并且利用所述时间信息中的分钟数据和所述随机自然数确定对所述初始认证数据块进行循环移位的第二移位数量,基于所述第二移位方向和所述第二移位数量对所述初始认证数据块进行循环移位,以生成反向认证数据块。
在步骤704,所述正向用户终端基于第一标识数据项中的对向终端地址将所述正向认证数据块发送给反向用户终端,并且所述反向用户终端基于第二标识数据项中的对向终端地址将所述反向认证数据块发送给正向用户终端。
在步骤705,当所述正向用户终端确定所述正向认证数据块和所接收的所述反向认证数据块相同,则第一用户终端确定第二用户终端的身份认证结果为认证成功。
在步骤706,当所述反向用户终端确定所述反向认证数据块和所接收的正向认证数据块相同时,则第二用户终端确定第一用户终端的身份认证结果为认证成功。
图8为根据本发明又一优选实施方式的基于时间校准数据进行身份认证的方法800的流程图。方法800从步骤801处开始。在步骤801,所述正向用户终端和反向用户终端分别根据所述随机自然数和所述时间信息中的秒钟数据从多个预设数据块中选择用于进行身份认证的初始认证数据块,其中多个预设数据块中的每个预设数据块包括位数均不同的多个数据位并且所有数据位的初始值为随机生成的1或0。
在步骤802,所述正向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行数据提取的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行数据提取的连续数据位的第一数量,将所述第一数量的连续数据位作为正向认证数据块。
在步骤803,所述反向用户终端根据所述时间信息中的时钟数据和所述随机自然数确定对所述初始认证数据块进行数据提取的起始数据位,并且利用所述时间信息中的分钟数据和所述随机自然数确定从起始数据位开始进行数据提取的连续数据位的第二数量,将所述第二数量的连续数据位作为反向认证数据块。
在步骤804,所述正向用户终端基于第一标识数据项中的对向终端地址将所述正向认证数据块发送给反向用户终端,并且所述反向用户终端基于对第二标识数据项中的向终端地址将所述反向认证数据块发送给正向用户终端。
在步骤805,当所述正向用户终端确定所述正向认证数据块和所接收的所述反向认证数据块相同,则第一用户终端确定第二用户终端的身份认证结果为认证成功。
在步骤806,当所述反向用户终端确定所述反向认证数据块和所接收的正向认证数据块相同时,则第二用户终端确定第一用户终端的身份认证结果为认证成功。
虽然,本申请涉及在多个用户终端中的任意两个用户终端间进行身份认证,但是所属领域技术人员应当了解的是,通过本申请的技术方案,可以在多个用户终端中的多个用户终端对之间进行身份认证。其中每个用户终端对包括两个用户终端。