CN111090850B - 一种认证系统、方法及装置 - Google Patents

一种认证系统、方法及装置 Download PDF

Info

Publication number
CN111090850B
CN111090850B CN201811245284.5A CN201811245284A CN111090850B CN 111090850 B CN111090850 B CN 111090850B CN 201811245284 A CN201811245284 A CN 201811245284A CN 111090850 B CN111090850 B CN 111090850B
Authority
CN
China
Prior art keywords
authentication
random number
period
software terminal
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811245284.5A
Other languages
English (en)
Other versions
CN111090850A (zh
Inventor
王根岭
张文垂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN201811245284.5A priority Critical patent/CN111090850B/zh
Publication of CN111090850A publication Critical patent/CN111090850A/zh
Application granted granted Critical
Publication of CN111090850B publication Critical patent/CN111090850B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例提供了一种认证系统,该系统包括:软件终端,用于在每个周期中生成该周期的随机数;将当前周期的随机数以及上一周期的随机数发送至认证服务器;认证服务器,用于在存储的认证记录中,查找所述软件终端的认证码;判断查找到的认证码与接收到的所述上一周期的随机数是否相匹配,如果相匹配,则向所述软件终端返回认证成功的信息,并根据接收到的所述当前周期的随机数,生成新的认证码,将所述新的认证码存储至所述认证记录。这样,软件终端的认证码即为上一周期的随机数,也就是说,本方案中的认证码是随机生成且周期变化的,因此不容易被盗用,从而可以提高认证的可靠性。

Description

一种认证系统、方法及装置
技术领域
本发明涉及网络应用技术领域,特别是涉及一种认证系统、方法及装置。
背景技术
一些场景中,服务器需要对终端的权限进行认证。举例来说,认证方案可以包括:终端将其对应的硬件信息发送至服务器,服务器根据硬件信息的唯一性,对终端进行认证,从而使得每一个授权认证书只能被唯一的硬件对应的终端拷贝使用。
但是,在这种方案中,由于硬件信息与授权认证书一一对应,而在虚拟化场景中,可能存在多个虚拟终端使用同一硬件的情况,这样,当某一虚拟终端认证成功后,就会导致与该虚拟终端使用同一硬件的其他虚拟终端认证失败。因此,上述认证方案可靠性较差。
发明内容
本申请实施例的目的在于提供一种认证系统、方法及装置,以提高认证的可靠性。具体技术方案如下:
本申请实施例提供了一种认证系统,所述系统包括:
软件终端,用于在每个周期中生成该周期的随机数;将当前周期的随机数以及上一周期的随机数发送至认证服务器;
所述认证服务器,用于在存储的认证记录中,查找所述软件终端的认证码;判断查找到的认证码与接收到的所述上一周期的随机数是否相匹配,如果相匹配,则向所述软件终端返回认证成功的信息,并根据接收到的所述当前周期的随机数,生成新的认证码,将所述新的认证码存储至所述认证记录。
可选的,所述软件终端,还用于获取授权码,将所述授权码发送至所述认证服务器;
所述认证服务器,还用于接收所述软件终端发送的授权码,作为授权码;在存储的认证记录中,查找所述授权码对应的认证码,作为所述软件终端的认证码;所述认证记录中包括授权码与认证码的对应关系。
可选的,所述系统还包括:授权许可服务器;
所述软件终端,还用于生成所述授权码的标识信息;将所述授权码及所述标识信息发送至所述授权许可服务器;
所述授权许可服务器,用于根据所述标识信息对所述授权码进行验证,若验证成功,则激活所述授权码,生成所述授权码对应的授权文件;将所述授权文件发送至所述软件终端;
所述软件终端,还用于在接收到所述认证服务器返回的认证成功的信息后,根据所述授权文件提供软件服务。
可选的,所述软件终端,还用于对所述当前周期的随机数以及上一周期的随机数进行加密,得到加密信息;将所述加密信息发送至所述认证服务器;
所述认证服务器,还用于对所述加密信息进行解密,得到所述当前周期的随机数以及上一周期的随机数。
可选的,所述软件终端,还用于在接收到取消认证指令后,向所述认证服务器发送取消认证指令及上一周期的随机数;
所述认证服务器,还用于在接收到所述取消认证指令后,在存储的认证记录中,查找所述软件终端的认证码;判断查找到的认证码与接收到的所述上一周期的随机数是否相匹配,如果相匹配,则清除所述软件终端的认证记录;向所述软件终端返回取消认证结果。
可选的,所述系统还包括:授权许可服务器;
所述软件终端,还用于在接收到取消认证结果后,向所述授权许可服务器发送反激活请求;
所述授权许可服务器,还用于在接收到所述反激活请求后,取消激活所述软件终端。
本申请实施例还提供了一种认证方法,应用于软件终端,所述方法包括:
在每个周期中生成该周期的随机数;
将当前周期的随机数以及上一周期的随机数发送至认证服务器,以使所述认证服务器根据所述当前周期的随机数以及上一周期的随机数对所述软件终端进行认证。
可选的,所述方法还包括:
若接收到认证成功的信息,则提供软件服务;若未接收到认证成功的信息,则暂停提供软件服务。
可选的,在所述将当前周期的随机数以及上一周期的随机数发送至认证服务器之前,所述方法还包括:获取授权码;
所述将当前周期的随机数以及上一周期的随机数发送至认证服务器,包括:
将所述授权码、所述当前周期的随机数以及上一周期的随机数发送至所述认证服务器,以使所述认证服务器根据所述授权码、所述当前周期的随机数以及上一周期的随机数对所述软件终端进行认证。
可选的,在所述获取授权码之后,还包括:
生成所述授权码的标识信息;
将所述授权码及所述标识信息发送至授权许可服务器;
判断是否接收到所述授权许可服务器返回的授权文件,所述授权文件为所述授权许可服务器根据所述标识信息对所述授权码激活成功后发送的;
如果接收到,执行所述在每个周期中生成该周期的随机数的步骤;并在接收到所述认证服务器返回的对所述软件终端认证成功的信息后,根据所述授权文件,向用户提供软件服务。
可选的,所述将当前周期的随机数以及上一周期的随机数发送至认证服务器,包括:
对所述当前周期的随机数以及上一周期的随机数进行加密,得到加密信息;
将所述加密信息发送至所述认证服务器。
可选的,所述方法还包括:
在第M周期,接收取消认证指令,向所述认证服务器发送取消认证指令及第M-1周期的随机数,以使所述认证服务器根据所述取消认证指令及所述第M-1周期的随机数对所述软件终端进行取消认证;其中,所述M为大于1的正整数;
向所述授权许可服务器发送反激活请求,以使所述授权许可服务器根据所述反激活请求对所述软件终端进行反激活。
本申请实施例还提供了一种认证方法,应用于认证服务器,所述方法包括:
接收软件终端发送的当前周期的随机数以及上一周期的随机数;
在存储的认证记录中,查找所述软件终端的认证码;
判断查找到的认证码与接收到的所述上一周期的随机数是否相匹配,如果相匹配,则向所述软件终端返回认证成功的信息,并根据接收到的所述当前周期的随机数,生成新的认证码,将所述新的认证码存储至所述认证记录。
可选的,所述接收软件终端发送的当前周期的随机数以及上一周期的随机数,包括:
接收软件终端发送的授权码、当前周期的随机数以及上一周期的随机数;
所述在存储的认证记录中,查找所述软件终端的认证码,包括:
在存储的认证记录中,查找所述授权码对应的认证码,作为所述软件终端的认证码;所述认证记录中包括授权码与认证码的对应关系。
可选的,所述方法还包括:
若在存储的认证记录中,未查找到所述授权码,则确定当前周期为第一周期;
根据所述第一周期的随机数生成认证码;
将所生成的认证码与所述授权码对应存储至所述认证记录。
可选的,所述接收软件终端发送的当前周期的随机数以及上一周期的随机数,包括:
接收所述软件终端发送的加密信息;
对所述加密信息进行解密,得到所述当前周期的随机数以及上一周期的随机数。
可选的,所述方法还包括:
在第M周期,接收所述软件终端发送的取消认证指令及第M-1周期的随机数;所述M为大于1的正整数;
在存储的认证记录中,查找所述软件终端的认证码;
判断查找到的认证码与接收到的所述第M-1周期的随机数是否相匹配;
如果相匹配,则清除所述软件终端的认证记录,向所述软件终端返回取消认证结果。
本申请实施例还提供了一种认证装置,应用于软件终端,所述装置包括:
随机数生成模块,用于在每个周期中生成该周期的随机数;
发送模块,用于将当前周期的随机数以及上一周期的随机数发送至认证服务器,以使所述认证服务器根据所述当前周期的随机数以及上一周期的随机数对所述软件终端进行认证。
本申请实施例还提供了一种认证装置,应用于认证服务器,所述装置包括:
接收模块,用于接收软件终端发送的当前周期的随机数以及上一周期的随机数;
查找模块,用于在存储的认证记录中,查找所述软件终端的认证码;
认证模块,用于判断查找到的认证码与接收到的所述上一周期的随机数是否相匹配,如果相匹配,则向所述软件终端返回认证成功的信息,并根据接收到的所述当前周期的随机数,生成新的认证码,将所述新的认证码存储至所述认证记录。
本申请实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一应用于软件终端或认证服务器的认证方法。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一应用于软件终端或认证服务器的认证方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的应用于软件终端或认证服务器的认证方法。
本申请实施例提供的认证方法及系统,通过软件终端在每个周期中生成该周期的随机数,将当前周期的随机数以及上一周期的随机数发送至认证服务器;再通过认证服务器在存储的认证记录中,查找所述软件终端的认证码;判断查找到的认证码与接收到的所述上一周期的随机数是否相匹配,如果相匹配,则向所述软件终端返回认证成功的信息,并根据接收到的所述当前周期的随机数,生成新的认证码;这样,软件终端的认证码即为上一周期的随机数,也就是说,本方案中的认证码是随机生成且周期变化的,因此不容易被盗用,从而可以提高认证的可靠性。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为为本申请实施例提供的一种认证系统的结构示意图;
图2为本申请实施例提供的认证系统的一种系统时序示意图;
图3为本申请实施例提供的另一种认证系统的结构示意图;
图4为本申请实施例提供的认证系统的另一种系统时序示意图;
图5为本申请实施例还提供的一种应用于软件终端的认证方法的流程示意图;
图6为本申请实施例还提供的一种应用于认证服务器的认证方法的流程示意图;
图7为本申请实施例还提供的一种应用于软件终端的认证装置的结构示意图;
图8为本申请实施例还提供的一种应用于认证服务器的认证装置的结构示意图;
图9为本申请实施例还提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一些场景中,服务器需要对终端的权限进行认证。举例来说,认证方案可以包括:终端将其对应的硬件信息发送至服务器,服务器根据硬件信息的唯一性,对终端进行认证,从而使得每一个授权认证书只能被唯一的硬件对应的终端拷贝使用。
但是,在这种方案中,由于硬件信息与授权认证书一一对应,而在虚拟化场景中,可能存在多个虚拟终端使用同一硬件的情况,这样,当某一虚拟终端认证成功后,就会导致与该虚拟终端使用同一硬件的其他虚拟终端认证失败。因此,上述认证方案可靠性较差。
为了解决上述技术问题,本申请实施例提供了一种认证系统、方法和装置。本方案可以应用于各种电子设备,如计算机、服务器、移动终端等,具体不做限定。
下面从总体上对本申请实施例提供的认证系统进行说明。
一种实现方式中,如图1所示,上述认证系统包括软件终端101和认证服务器102,其中:
软件终端101,用于在每个周期中生成该周期的随机数;将当前周期的随机数以及上一周期的随机数发送至认证服务器102;
所述认证服务器102,用于在存储的认证记录中,查找所述软件终端101的认证码;判断查找到的认证码与接收到的所述上一周期的随机数是否相匹配,如果相匹配,则向所述软件终端101返回认证成功的信息,并根据接收到的所述当前周期的随机数,生成新的认证码,将所述新的认证码存储至所述认证记录。
由以上可见,本申请实施例提供的认证系统中,软件终端的认证码即为上一周期的随机数,也就是说,认证码是随机生成且周期变化的,因此不容易被盗用,从而可以提高认证的可靠性。
下面将通过具体的实施例,对本申请实施例提供的认证系统进行详细描述。
如图2所示,为本申请实施例提供的认证系统的系统时序示意图,包括如下步骤:
S201:软件终端在每个周期中生成该周期的随机数。
本实施例中,软件终端每个周期生成一个随机数,周期的具体时长不做限定,比如,可以为5分钟、10分钟,也可以为24小时。
举例而言,每一周期的随机数可以为随机生成的预设数量个数字的随机排列,比如,在每一周期内,软件终端可以随机生成10个数字,然后对这10个数字进行随机排列,得到该周期的随机数;
或者,每一周期的随机数也可以为随机生成的预设位数的数字,比如,在每一周期内,软件终端可以直接随机生成一个10位的数字,作为该周期的随机数;
或者,每一周期的随机数还可以为随机生成的任一位数的数字,各个周期的随机数可以具有不同的位数,等等;具体不做限定。
S202:软件终端将当前周期的随机数以及上一周期的随机数发送至认证服务器。
软件终端可以记录各个周期内生成的随机数,或者,也可以仅记录当前周期及上一周期两个周期的随机数,这样,软件终端可以将当前周期的随机数以及上一周期的随机数发送至认证服务器进行认证。
一种情况下,软件终端可以将当前周期的随机数以及上一周期的随机数作为一条认证信息发送给认证服务器。
其中,如果当前周期为第一周期,则不存在上一周期的随机数,可将上一周期的随机数记为空,也就是说,可以只向认证服务器发送第一周期的随机数;或者,也可以预设一个默认值,将该默认值作为上一周期的随机数,将第一周期的随机数作为当前周期的随机数,向认证服务器发送该默认值和第一周期的随机数。
一种实施方式中,认证服务器接收到软件终端发送的随机数后,可以根据该软件终端的标识,在存储的认证记录中查找该软件终端的认证码。
或者,另一种实施方式中,软件终端还可以获取授权码,将授权码发送至认证服务器,认证服务器在接收到软件终端发送的授权码之后,可以将授权码作为授权码,在存储的认证记录中,查找授权码对应的认证码,作为软件终端的认证码,其中,认证记录中包括授权码与认证码的对应关系。
一种情况,软件终端可以将当前周期的随机数、上一周期的随机数以及该授权码作为一条认证信息发送给认证服务器。
有时,一个软件终端中可能会运行多个软件产品,而每个软件产品都需要分别向认证服务器进行认证,比如,不同的用户可能会使用同一软件终端,在该软件终端上使用不同的软件产品,可以理解,这些软件产品之间很可能不存在关联关系,认证时间也可能不同,因此需要分别向认证服务器进行认证。而每个授权码对应唯一的软件产品,因此,上述实施方式可以通过认证服务器实现针对每个授权码的认证,换句话说,可以实现对软件终端上的每个软件产品分别进行认证。
上述情况下,每个软件终端可以在每个周期仅生成一个随机数,这样,该软件终端的不同授权码对应的认证信息中的当前周期的随机数和上一周期的随机数是相同的;
或者,每个软件终端也可以在每个周期针对每个授权码分别生成该授权码对应的随机数,这样,该软件终端的不同授权码对应的认证信息中的当前周期的随机数和上一周期的随机数是不相同的,即使某一授权码对应的认证码被盗用了,也不影响对其他授权码的认证,从而可以进一步提高认证的可靠性。
一种实现方式中,软件终端在将当前周期的随机数以及上一周期的随机数发送至认证服务器之前,可以对这些信息进行加密,得到加密信息,然后将加密信息发送至认证服务器。其中,加密方式可以为HTTPS(Hyper Text TransferProtocol over Secure SocketLayer,基于安全套接字层的超文本传输协议)加密方式或私有认证加密方式等等,具体不做限定。这样,可以减少信息泄露,进一步提高认证的可靠性。
如果软件终端中存储的上一周期的随机数丢失,那么,需要由用户联系软件产品的管理员,重新将软件终端设置为未认证状态,否则,软件终端将无法认证成功。
S203:认证服务器在存储的认证记录中,查找软件终端的认证码;判断查找到的认证码与接收到的上一周期的随机数是否相匹配,如果相匹配,则执行S204和S205。
一种实现方式中,如果软件终端向认证服务器发送的是加密信息,那么,认证服务器在从存储的认证记录中,查找软件终端的认证码之前,需要对加密信息进行解密,得到当前周期的随机数以及上一周期的随机数,进而,可以在存储的认证记录中,查找软件终端的认证码。
进一步的,认证记录中可以包括授权码与认证码的对应关系,这样,如果认证服务器接收到了软件终端发送的授权码,就可以在存储的认证记录中,查找授权码对应的认证码,进而对授权码对应的认证码进行认证。
其中,判断查找到的认证码与接收到的上一周期的随机数是否相匹配的方式,可以是直接判断查找到的认证码与接收到的上一周期的随机数是否相等。
或者,判断查找到的认证码与接收到的上一周期的随机数是否相匹配的方式,也可以是根据认证码的生成规则,对上一周期的随机数进行相应的处理,再判断查找到的认证码与处理后的上一周期的随机数是否相等。
一种实现方式中,在从存储的认证记录中,查找软件终端的认证码之前,可以先判断软件终端是否为第一次认证,若是第一次认证,则直接判定认证成功,根据当前周期的随机数生成新的认证码;若不是第一次认证,再在存储的认证记录中,查找软件终端的认证码。
其中,可以通过在存储的认证记录中查找软件终端的标识信息,判断该软件终端是否为第一次认证,如果未查找到软件终端的标识信息,则确定该软件终端为第一次认证,也就是说,当前周期为第一周期;
进一步的,可以通过在存储的认证记录中查找授权码,判断该授权码是否为第一次认证,如果未查找到该授权码,则确定该授权码为第一次认证,也就是说,当前周期为第一周期。
S204:认证服务器根据接收到的当前周期的随机数,生成新的认证码,将新的认证码存储至认证记录。
本步骤中,可以直接将当前周期的随机数作为新的认证码。
或者,也可以根据预设的认证码的生成规则,对当前周期的随机数进行处理后得到新的认证码。举例而言,可以将当前周期的随机数中的各个位数均减一,作为认证码,比如,如果当前周期的随机数为1234567,则认证码为0123456,或者,也可以将当前周期的随机数中的首个数字移至末尾,作为认证码,比如,如果当前周期的随机数为1234567,则认证码为2345671,等等。
S205:认证服务器向软件终端返回认证成功的信息。
进一步的,如果软件终端接收到认证成功的信息,则可以提供软件服务;如果软件终端未接收到认证成功的信息,则可以暂停提供软件服务。
其中,在软件终端向用户提供软件服务之前,还可以根据每个软件产品的授权码对软件终端进行授权许可认证,在这种情况下,如图3所示,为本申请实施例提供的另一种认证系统,相比于图1所示的认证系统,在该系统中,还包括授权许可服务器303。
具体的,软件终端可以在获取授权码之后,生成授权码的标识信息,将授权码及标识信息发送至授权许可服务器,然后,授权许可服务器可以根据接收到的标识信息对授权码进行验证,若验证成功,则激活授权码,生成授权码对应的授权文件,将授权文件发送至软件终端,进而,软件终端可以根据授权文件,向用户提供软件服务。
其中,授权码的标识信息与该授权码是唯一对应的,授权码的标识信息可以根据软件终端的硬件设备信息生成,也可以为随机生成的一组随机数,相比于根据软件终端的硬件设备信息生成的标识信息,将随机数作为授权码的标识信息,可以进一步提高认证的可靠性,即使在硬件设备信息可以随意修改和配置的环境中,授权码对应的标识信息也不容易被盗用;另外,如果软件终端为能提供唯一码的虚拟机,那么,授权码的标识信息也可以是云厂商提供的虚拟机唯一码。
通常,授权许可服务器的通信状况比认证服务器差,在这种情况下,进一步的,软件终端可以在接收到授权许可服务器发送的授权文件之后,再通过认证服务器进行认证,也就是说,在接收到授权许可服务器发送的授权文件之后,生成第一周期的随机数,这样,在授权许可服务器与软件终端进行通信的过程中,认证服务器可以不对软件终端进行周期性的认证,从而减少认证服务器的认证次数。
有时,用户需要对已经认证成功的软件终端进行取消认证。一种实现方式中,取消认证的流程可以为:
在第M周期,软件终端接收到反激活指令后,向认证服务器发送取消认证指令及第M-1周期的随机数;然后,认证服务器在接收到取消认证指令后,在存储的认证记录中,查找软件终端的认证码,判断查找到的认证码与第M-1周期的随机数是否相匹配,如果相匹配,则清除软件终端的认证记录,向软件终端返回取消认证结果。其中,M为大于1的正整数。
进一步的,在认证系统中包括授权许可服务器的情况下,软件终端可以在接收到取消认证结果后,向授权许可服务器发送反激活请求。进而,授权许可服务器可以在接收到反激活请求后,取消激活所述软件终端。这样,软件终端将无法再向用户提供软件服务。
由以上可见,本申请实施例提供的认证系统,通过软件终端在每个周期中生成该周期的随机数,将当前周期的随机数以及上一周期的随机数发送至认证服务器;再通过认证服务器在存储的认证记录中,查找软件终端的认证码;判断查找到的认证码与接收到的上一周期的随机数是否相匹配,如果相匹配,则向软件终端返回认证成功的信息,并根据接收到的当前周期的随机数,生成新的认证码,将新的认证码存储至认证记录;这样,软件终端的认证码即为上一周期的随机数,也就是说,认证码是随机生成且周期变化的,因此不容易被盗用,从而可以提高认证的可靠性。
如图4所示,为本申请实施例提供的认证系统的系统时序示意图,包括如下步骤:
S401:软件终端获取授权码,生成授权码的标识信息。
其中,授权码的标识信息与该授权码是唯一对应的,授权码的标识信息可以根据软件终端的硬件设备信息生成,也可以为随机生成的一组随机数,相比于根据软件终端的硬件设备信息生成的标识信息,将随机数作为授权码的标识信息,可以进一步提高认证的可靠性,即使在硬件设备信息可以随意修改和配置的环境中,授权码对应的标识信息也不容易被盗用;另外,如果软件终端为能提供唯一码的虚拟机,那么,授权码的标识信息也可以是云厂商提供的虚拟机唯一码。
S402:软件终端将授权码及标识信息发送至授权许可服务器。
S403:授权许可服务器根据接收到的标识信息对授权码进行验证,若验证成功,则激活授权码,生成授权码对应的授权文件。
具体的,每个授权码只能与唯一的标识信息相对应,这样,如果授权许可服务器接收到的标识信息是与接收到的授权码唯一对应的,则验证成功,如果有其他的软件终端对同样的授权码进行验证,由于每个软件终端生成的该授权码的标识信息不同,授权许可服务器接收到的标识信息与其记录的该授权码对应的标识信息不一致,就会验证失败。
其中,授权文件中可以包括授权资源数量、有效期等关键信息。
S404:授权许可服务器将授权文件返回至软件终端。
S405:软件终端在每个周期中生成该周期的随机数。
本实施例中,软件终端每个周期生成一个随机数,周期的具体时长不做限定,比如,可以为5分钟、10分钟,也可以为24小时。
举例而言,每一周期的随机数可以为随机生成的预设数量个数字的随机排列,比如,在每一周期内,软件终端可以随机生成10个数字,然后对这10个数字进行随机排列,得到该周期的随机数;
或者,每一周期的随机数也可以为随机生成的预设位数的数字,比如,在每一周期内,软件终端可以直接随机生成一个10位的数字,作为该周期的随机数;
或者,每一周期的随机数还可以为随机生成的任一位数的数字,各个周期的随机数可以具有不同的位数,等等;具体不做限定。
S406:软件终端将授权码、当前周期的随机数以及上一周期的随机数发送至认证服务器。
在本步骤中,软件终端可以将当前周期的随机数、上一周期的随机数以及该授权码作为一条认证信息发送给认证服务器。
软件终端可以记录各个周期内生成的随机数,或者,也可以仅记录当前周期及上一周期两个周期的随机数,这样,软件终端可以将当前周期的随机数以及上一周期的随机数发送至认证服务器进行认证。
其中,如果当前周期为第一周期,则不存在上一周期的随机数,可将上一周期的随机数记为空,也就是说,可以只向认证服务器发送第一周期的随机数;或者,也可以预设一个默认值,将该默认值作为上一周期的随机数,将第一周期的随机数作为当前周期的随机数,向认证服务器发送该默认值和第一周期的随机数。
每个软件终端可以在每个周期仅生成一个随机数,这样,该软件终端的不同授权码对应的认证信息中的当前周期的随机数和上一周期的随机数是相同的;
或者,每个软件终端也可以在每个周期针对每个授权码分别生成该授权码对应的随机数,这样,该软件终端的不同授权码对应的认证信息中的当前周期的随机数和上一周期的随机数是不相同的,即使某一授权码对应的认证码被盗用了,也不影响对其他授权码的认证,从而可以进一步提高认证的可靠性。
一种实现方式中,软件终端在将当前周期的随机数以及上一周期的随机数发送至认证服务器之前,可以对这些信息进行加密,得到加密信息,然后将加密信息发送至认证服务器。其中,加密方式可以为HTTPS(Hyper Text Transfer Protocol over Secure SocketLayer,基于安全套接字层的超文本传输协议)加密方式或私有认证加密方式等等,具体不做限定。这样,可以减少信息泄露,进一步提高认证的可靠性。
如果软件终端中存储的上一周期的随机数丢失,那么,需要由用户联系软件产品的管理员,重新将软件终端设置为未认证状态,否则,软件终端将无法认证成功。
S407:认证服务器在存储的认证记录中,查找授权码对应的认证码;判断查找到的认证码与接收到的上一周期的随机数是否相匹配,如果相匹配,则执行S408和S409。
一种实现方式中,如果软件终端向认证服务器发送的是加密信息,那么,认证服务器在从存储的认证记录中,查找软件终端的认证码之前,需要对加密信息进行解密,得到当前周期的随机数以及上一周期的随机数,进而,可以在存储的认证记录中,查找软件终端的认证码。
进一步的,如果软件终端向认证服务器发送了授权码,那么,认证服务器也可以根据授权码,在存储的认证记录中,查找软件终端的认证码。
在认证记录中包括了授权码与认证码的对应关系,这样,认证服务器接收到软件终端发送的授权码之后,就可以在存储的认证记录中,查找授权码对应的认证码,进而对授权码对应的认证码进行认证。
其中,判断查找到的认证码与接收到的上一周期的随机数是否相匹配的方式,可以是直接判断查找到的认证码与接收到的上一周期的随机数是否相等。
或者,判断查找到的认证码与接收到的上一周期的随机数是否相匹配的方式,也可以是根据认证码的生成规则,对上一周期的随机数进行相应的处理,再判断查找到的认证码与处理后的上一周期的随机数是否相等。
一种实现方式中,在从存储的认证记录中,查找软件终端的认证码之前,可以先判断软件终端是否为第一次认证,若是第一次认证,则直接判定认证成功,根据当前周期的随机数生成新的认证码;若不是第一次认证,再在存储的认证记录中,查找软件终端的认证码。
其中,可以通过在存储的认证记录中查找授权码,判断该授权码是否为第一次认证,如果未查找到该授权码,则确定该授权码为第一次认证,也就是说,当前周期为第一周期。
S408:根据接收到的当前周期的随机数,生成新的认证码,将新的认证码存储至认证记录。
本步骤中,可以直接将当前周期的随机数作为新的认证码。
或者,也可以根据预设的认证码的生成规则,对当前周期的随机数进行处理后得到新的认证码。举例而言,可以将当前周期的随机数中的各个位数均减一,作为认证码,比如,如果当前周期的随机数为1234567,则认证码为0123456,或者,也可以将当前周期的随机数中的首个数字移至末尾,作为认证码,比如,如果当前周期的随机数为1234567,则认证码为2345671,等等。
S409:认证服务器向软件终端返回认证成功的信息。
S410:如果软件终端接收到认证成功的信息,则提供软件服务;如果软件终端未接收到认证成功的信息,则暂停提供软件服务。
有时,用户需要对已经认证成功的软件终端进行取消认证。一种实现方式中,取消认证的流程可以为:
在第M周期,软件终端接收到反激活指令后,向认证服务器发送取消认证指令及第M-1周期的随机数;然后,认证服务器在接收到取消认证指令后,在存储的认证记录中,查找软件终端的认证码,判断查找到的认证码与第M-1周期的随机数是否相匹配,如果相匹配,则清除软件终端的认证记录,向软件终端返回取消认证结果。其中,M为大于1的正整数。
进一步的,在认证系统中包括授权许可服务器的情况下,软件终端可以在接收到取消认证结果后,向授权许可服务器发送反激活请求。进而,授权许可服务器可以在接收到反激活请求后,取消激活所述软件终端。这样,软件终端将无法再向用户提供软件服务。
由以上可见,本申请实施例提供的认证系统,通过软件终端在每个周期中生成该周期的随机数,将当前周期的随机数以及上一周期的随机数发送至认证服务器;再通过认证服务器在存储的认证记录中,查找软件终端的认证码;判断查找到的认证码与接收到的上一周期的随机数是否相匹配,如果相匹配,则向软件终端返回认证成功的信息,并根据接收到的当前周期的随机数,生成新的认证码,将新的认证码存储至认证记录;这样,软件终端的认证码即为上一周期的随机数,也就是说,认证码是随机生成且周期变化的,因此不容易被盗用,从而可以提高认证的可靠性。
与上述认证系统相对应的,本申请实施例还提供了一种认证方法。
如图5所示,为本申请实施例还提供的一种应用于软件终端的认证方法的流程示意图。该方法包括如下步骤:
S501:在每个周期中生成该周期的随机数。
S502:将当前周期的随机数以及上一周期的随机数发送至认证服务器,以使所述认证服务器根据所述当前周期的随机数以及上一周期的随机数对所述软件终端进行认证。
一种实现方式中,所述方法还包括:
若接收到认证成功的信息,则提供软件服务;若未接收到认证成功的信息,则暂停提供软件服务。
一种实现方式中,在所述将当前周期的随机数以及上一周期的随机数发送至认证服务器之前,所述方法还包括:获取授权码;
所述将当前周期的随机数以及上一周期的随机数发送至认证服务器,包括:
将所述授权码、所述当前周期的随机数以及上一周期的随机数发送至所述认证服务器,以使所述认证服务器根据所述授权码、所述当前周期的随机数以及上一周期的随机数对所述软件终端进行认证。
一种实现方式中,在所述获取授权码之后,还包括:
生成所述授权码的标识信息;
将所述授权码及所述标识信息发送至授权许可服务器;
判断是否接收所述授权许可服务器返回的授权文件,所述授权文件为所述授权许可服务器根据所述标识信息对所述授权码激活成功后发送的;
如果接收到,执行所述在每个周期中生成该周期的随机数的步骤;并在接收到所述认证服务器返回的对所述软件终端认证成功的信息后,根据所述授权文件,向用户提供软件服务。
一种实现方式中,所述将当前周期的随机数以及上一周期的随机数发送至认证服务器,包括:
对所述当前周期的随机数以及上一周期的随机数进行加密,得到加密信息;
将所述加密信息发送至所述认证服务器。
一种实现方式中,所述方法还包括:
在第M周期,接收取消认证指令,向所述认证服务器发送取消认证指令及第M-1周期的随机数,以使所述认证服务器根据所述取消认证指令及所述第M-1周期的随机数对所述软件终端进行取消认证;其中,所述M为大于1的正整数;
向所述授权许可服务器发送反激活请求,以使所述授权许可服务器根据所述反激活请求对所述软件终端进行反激活。
由以上可见,本申请实施例提供的认证方法,通过软件终端在每个周期中生成该周期的随机数,将当前周期的随机数以及上一周期的随机数发送至认证服务器,以使认证服务器根据当前周期的随机数以及上一周期的随机数对软件终端进行认证;这样,软件终端的认证码即为上一周期的随机数,也就是说,认证码是随机生成且周期变化的,因此不容易被盗用,从而可以提高认证的可靠性。
与上述认证系统相对应的,本申请实施例还提供了另一种认证方法。
如图6所示,为本申请实施例还提供的一种应用于认证服务器的认证方法的流程示意图。该方法包括如下步骤:
S601:接收软件终端发送的当前周期的随机数以及上一周期的随机数;
S602:在存储的认证记录中,查找所述软件终端的认证码;
S603:判断查找到的认证码与接收到的所述上一周期的随机数是否相匹配;
S604:如果相匹配,则向所述软件终端返回认证成功的信息,并根据接收到的所述当前周期的随机数,生成新的认证码,将所述新的认证码存储至所述认证记录。
一种实现方式中,所述接收软件终端发送的当前周期的随机数以及上一周期的随机数,包括:
接收软件终端发送的授权码、当前周期的随机数以及上一周期的随机数;
所述在存储的认证记录中,查找所述软件终端的认证码,包括:
在存储的认证记录中,查找所述授权码对应的认证码,作为所述软件终端的认证码;所述认证记录中包括授权码与认证码的对应关系。
一种实现方式中,所述方法还包括:
若在存储的认证记录中,未查找到所述授权码,则确定当前周期为第一周期;
根据所述第一周期的随机数生成认证码;
将所生成的认证码与所述授权码对应存储至所述认证记录。
一种实现方式中,所述接收软件终端发送的当前周期的随机数以及上一周期的随机数,包括:
接收所述软件终端发送的加密信息;
对所述加密信息进行解密,得到所述当前周期的随机数以及上一周期的随机数。
一种实现方式中,所述方法还包括:
在第M周期,接收所述软件终端发送的取消认证指令及第M-1周期的随机数;所述M为大于1的正整数;
在存储的认证记录中,查找所述软件终端的认证码;
判断查找到的认证码与接收到的所述第M-1周期的随机数是否相匹配;
如果相匹配,则清除所述软件终端的认证记录,向所述软件终端返回取消认证结果。
由以上可见,本申请实施例提供的认证方法,通过认证服务器在存储的认证记录中,查找软件终端的认证码;判断查找到的认证码与接收到的上一周期的随机数是否相匹配,如果相匹配,则向软件终端返回认证成功的信息,并根据接收到的当前周期的随机数,生成新的认证码,将新的认证码存储至认证记录;这样,软件终端的认证码即为上一周期的随机数,也就是说,认证码是随机生成且周期变化的,因此不容易被盗用,从而可以提高认证的可靠性。
与上述认证系统相对应的,本申请实施例还提供了一种认证装置,应用于软件终端,如图7所示,该装置包括:
随机数生成模块701,用于在每个周期中生成该周期的随机数;
发送模块702,用于将当前周期的随机数以及上一周期的随机数发送至认证服务器,以使所述认证服务器根据所述当前周期的随机数以及上一周期的随机数对所述软件终端进行认证。
一种实现方式中,所述装置还包括:
服务模块(图中未示出),用于若接收到认证成功的信息,则提供软件服务;若未接收到认证成功的信息,则暂停提供软件服务。
一种实现方式中,所示装置还包括:
获取模块(图中未示出),用于获取授权码;
所述发送模块702还用于将所述授权码、所述当前周期的随机数以及上一周期的随机数发送至所述认证服务器,以使所述认证服务器根据所述授权码、所述当前周期的随机数以及上一周期的随机数对所述软件终端进行认证。
一种实现方式中,所述发送模块702还用于生成所述授权码的标识信息;将所述授权码及所述标识信息发送至授权许可服务器;
所述装置还包括:判断模块(图中未示出),用于判断是否接收所述授权许可服务器返回的授权文件,所述授权文件为所述授权许可服务器根据所述标识信息对所述授权码激活成功后发送的;如果接收到,触发随机数生成模块701及服务模块。
一种实现方式中,所述发送模块702还用于对所述当前周期的随机数以及上一周期的随机数进行加密,得到加密信息;将所述加密信息发送至所述认证服务器。
一种实现方式中,所述装置还包括:
接收模块(图中未示出),用于在第M周期,接收取消认证指令;
所述发送模块702,还用于向所述认证服务器发送取消认证指令及第M-1周期的随机数,以使所述认证服务器根据所述取消认证指令及所述第M-1周期的随机数对所述软件终端进行取消认证;其中,所述M为大于1的正整数;向所述授权许可服务器发送反激活请求,以使所述授权许可服务器根据所述反激活请求对所述软件终端进行反激活。
由以上可见,本申请实施例提供的认证装置,通过认证服务器在存储的认证记录中,查找软件终端的认证码;判断查找到的认证码与接收到的上一周期的随机数是否相匹配,如果相匹配,则向软件终端返回认证成功的信息,并根据接收到的当前周期的随机数,生成新的认证码,将新的认证码存储至认证记录;这样,软件终端的认证码即为上一周期的随机数,也就是说,认证码是随机生成且周期变化的,因此不容易被盗用,从而可以提高认证的可靠性。
与上述认证系统相对应的,本申请实施例还提供了一种认证装置,应用于认证服务器,如图8所示,该装置包括:
接收模块801,用于接收软件终端发送的当前周期的随机数以及上一周期的随机数;
查找模块802,用于在存储的认证记录中,查找所述软件终端的认证码;
认证模块803,用于判断查找到的认证码与接收到的所述上一周期的随机数是否相匹配,如果相匹配,则向所述软件终端返回认证成功的信息,并根据接收到的所述当前周期的随机数,生成新的认证码,将所述新的认证码存储至所述认证记录。
一种实现方式中,所述接收模块801,还用于接收软件终端发送的授权码、当前周期的随机数以及上一周期的随机数;
所述查找模块802,还用于在存储的认证记录中,查找所述授权码对应的认证码,作为所述软件终端的认证码;所述认证记录中包括授权码与认证码的对应关系。
一种实现方式中,所述认证模块803,还用于若在存储的认证记录中,未查找到所述授权码,则确定当前周期为第一周期;根据所述第一周期的随机数生成认证码;将所生成的认证码与所述授权码对应存储至所述认证记录。
一种实现方式中,所述接收模块801,还用于接收所述软件终端发送的加密信息;对所述加密信息进行解密,得到所述当前周期的随机数以及上一周期的随机数。
一种实现方式中,所述接收模块801,还用于在第M周期,接收所述软件终端发送的取消认证指令及第M-1周期的随机数;所述M为大于1的正整数;
所述认证模块803,还用于判断查找到的认证码与接收到的所述第M-1周期的随机数是否相匹配;如果相匹配,则清除所述软件终端的认证记录,向所述软件终端返回取消认证结果。
由以上可见,本申请实施例提供的认证装置,通过认证服务器在存储的认证记录中,查找软件终端的认证码;判断查找到的认证码与接收到的上一周期的随机数是否相匹配,如果相匹配,则向软件终端返回认证成功的信息,并根据接收到的当前周期的随机数,生成新的认证码,将新的认证码存储至认证记录;这样,软件终端的认证码即为上一周期的随机数,也就是说,认证码是随机生成且周期变化的,因此不容易被盗用,从而可以提高认证的可靠性。
本申请实施例还提供了一种电子设备,如图9所示,包括处理器901、通信接口902、存储器903和通信总线904,其中,处理器901,通信接口902,存储器903通过通信总线904完成相互间的通信,
存储器903,用于存放计算机程序;
处理器901,用于执行存储器903上所存放的程序。
在本申请实施例中,上述电子设备可以为软件终端,也可以为认证服务器。
当电子设备为软件终端时,处理器901执行存储器903上所存放的程序,可以实现如下步骤:
在每个周期中生成该周期的随机数。
将当前周期的随机数以及上一周期的随机数发送至认证服务器进行认证,以使所述认证服务器根据所述当前周期的随机数以及上一周期的随机数对所述软件终端进行认证。
当电子设备为认证服务器时,处理器901执行存储器903上所存放的程序,可以实现如下步骤:
接收软件终端发送的当前周期的随机数以及上一周期的随机数;
在存储的认证记录中,查找所述软件终端的认证码;
判断查找到的认证码与接收到的所述上一周期的随机数是否相匹配,如果相匹配,则向所述软件终端返回认证成功的信息,并根据接收到的所述当前周期的随机数,生成新的认证码,将所述新的认证码存储至所述认证记录。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
由以上可见,本申请实施例提供的认证系统中,软件终端的认证码即为上一周期的随机数,也就是说,认证码是随机生成的、而且每一周期变化一次,因此不容易被盗用,从而可以提高认证的可靠性。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的认证方法。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的认证方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例、装置实施例、电子设备实施例和存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (16)

1.一种认证系统,其特征在于,所述系统包括:
软件终端,用于在每个周期中生成该周期的随机数;将当前周期的随机数以及上一周期的随机数发送至认证服务器;
所述认证服务器,用于在存储的认证记录中,查找所述软件终端的认证码;判断查找到的认证码与接收到的所述上一周期的随机数是否相匹配,如果相匹配,则向所述软件终端返回认证成功的信息,并根据接收到的所述当前周期的随机数,生成新的认证码,将所述新的认证码存储至所述认证记录。
2.一种认证方法,应用于软件终端,其特征在于,所述方法包括:
在每个周期中生成该周期的随机数;
将当前周期的随机数以及上一周期的随机数发送至认证服务器,以使所述认证服务器根据所述当前周期的随机数以及上一周期的随机数对所述软件终端进行认证;
所述认证服务器根据所述当前周期的随机数以及上一周期的随机数对所述软件终端进行认证,包括:在存储的认证记录中,查找所述软件终端对应的认证码;判断查找到的认证码与接收到的所述上一周期的随机数是否相匹配,如果相匹配,则向所述软件终端返回认证成功的信息,并根据接收到的所述当前周期的随机数,生成新的认证码,将所述新的认证码存储至所述认证记录。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若接收到认证成功的信息,则提供软件服务;若未接收到认证成功的信息,则暂停提供软件服务。
4.根据权利要求2所述的方法,其特征在于,在所述将当前周期的随机数以及上一周期的随机数发送至认证服务器之前,所述方法还包括:获取授权码;
所述将当前周期的随机数以及上一周期的随机数发送至认证服务器,包括:
将所述授权码、所述当前周期的随机数以及上一周期的随机数发送至所述认证服务器,以使所述认证服务器根据所述授权码、所述当前周期的随机数以及上一周期的随机数对所述软件终端进行认证。
5.根据权利要求4所述的方法,其特征在于,在所述获取授权码之后,还包括:
生成所述授权码的标识信息;
将所述授权码及所述标识信息发送至授权许可服务器;
判断是否接收到所述授权许可服务器返回的授权文件,所述授权文件为所述授权许可服务器根据所述标识信息对所述授权码激活成功后发送的;
如果接收到,执行所述在每个周期中生成该周期的随机数的步骤;并在接收到所述认证服务器返回的对所述软件终端认证成功的信息后,根据所述授权文件,向用户提供软件服务。
6.根据权利要求2所述的方法,其特征在于,所述将当前周期的随机数以及上一周期的随机数发送至认证服务器,包括:
对所述当前周期的随机数以及上一周期的随机数进行加密,得到加密信息;
将所述加密信息发送至所述认证服务器。
7.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在第M周期,接收取消认证指令,向所述认证服务器发送取消认证指令及第M-1周期的随机数,以使所述认证服务器根据所述取消认证指令及所述第M-1周期的随机数对所述软件终端进行取消认证;其中,所述M为大于1的正整数;
向授权许可服务器发送反激活请求,以使所述授权许可服务器根据所述反激活请求对所述软件终端进行反激活。
8.一种认证方法,应用于认证服务器,其特征在于,所述方法包括:
接收软件终端发送的当前周期的随机数以及上一周期的随机数;
在存储的认证记录中,查找所述软件终端对应的认证码;
判断查找到的认证码与接收到的所述上一周期的随机数是否相匹配,如果相匹配,则向所述软件终端返回认证成功的信息,并根据接收到的所述当前周期的随机数,生成新的认证码,将所述新的认证码存储至所述认证记录。
9.根据权利要求8所述的方法,其特征在于,所述接收软件终端发送的当前周期的随机数以及上一周期的随机数,包括:
接收软件终端发送的授权码、当前周期的随机数以及上一周期的随机数;
所述在存储的认证记录中,查找所述软件终端的认证码,包括:
在存储的认证记录中,查找所述授权码对应的认证码,作为所述软件终端的认证码;所述认证记录中包括授权码与认证码的对应关系。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
若在存储的认证记录中,未查找到所述授权码,则确定当前周期为第一周期;
根据所述第一周期的随机数生成认证码;
将所生成的认证码与所述授权码对应存储至所述认证记录。
11.根据权利要求8所述的方法,其特征在于,所述接收软件终端发送的当前周期的随机数以及上一周期的随机数,包括:
接收所述软件终端发送的加密信息;
对所述加密信息进行解密,得到所述当前周期的随机数以及上一周期的随机数。
12.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在第M周期,接收所述软件终端发送的取消认证指令及第M-1周期的随机数;所述M为大于1的正整数;
在存储的认证记录中,查找所述软件终端的认证码;
判断查找到的认证码与接收到的所述第M-1周期的随机数是否相匹配;
如果相匹配,则清除所述软件终端的认证记录,向所述软件终端返回取消认证结果。
13.一种认证装置,应用于软件终端,其特征在于,所述装置包括:
随机数生成模块,用于在每个周期中生成该周期的随机数;
发送模块,用于将当前周期的随机数以及上一周期的随机数发送至认证服务器,以使所述认证服务器根据所述当前周期的随机数以及上一周期的随机数对所述软件终端进行认证;
所述认证服务器根据所述当前周期的随机数以及上一周期的随机数对所述软件终端进行认证,包括:在存储的认证记录中,查找所述软件终端对应的认证码;判断查找到的认证码与接收到的所述上一周期的随机数是否相匹配,如果相匹配,则向所述软件终端返回认证成功的信息,并根据接收到的所述当前周期的随机数,生成新的认证码,将所述新的认证码存储至所述认证记录。
14.一种认证装置,应用于认证服务器,其特征在于,所述装置包括:
接收模块,用于接收软件终端发送的当前周期的随机数以及上一周期的随机数;
查找模块,用于在存储的认证记录中,查找所述软件终端的认证码;
认证模块,用于判断查找到的认证码与接收到的所述上一周期的随机数是否相匹配,如果相匹配,则向所述软件终端返回认证成功的信息,并根据接收到的所述当前周期的随机数,生成新的认证码,将所述新的认证码存储至所述认证记录。
15.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求2-7或8-12任一所述的方法步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求2-7或8-12任一所述的方法步骤。
CN201811245284.5A 2018-10-24 2018-10-24 一种认证系统、方法及装置 Active CN111090850B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811245284.5A CN111090850B (zh) 2018-10-24 2018-10-24 一种认证系统、方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811245284.5A CN111090850B (zh) 2018-10-24 2018-10-24 一种认证系统、方法及装置

Publications (2)

Publication Number Publication Date
CN111090850A CN111090850A (zh) 2020-05-01
CN111090850B true CN111090850B (zh) 2022-05-03

Family

ID=70392221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811245284.5A Active CN111090850B (zh) 2018-10-24 2018-10-24 一种认证系统、方法及装置

Country Status (1)

Country Link
CN (1) CN111090850B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111859364A (zh) * 2020-07-29 2020-10-30 杭州安恒信息技术股份有限公司 一种权限认证方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102983968A (zh) * 2011-09-02 2013-03-20 深圳市快播科技有限公司 一种软件后台认证方法、认证服务器和终端
CN104579694A (zh) * 2015-02-09 2015-04-29 浙江大学 一种身份认证方法及系统
CN106850232A (zh) * 2017-02-28 2017-06-13 南方电网科学研究院有限责任公司 状态保持的授权管理方法和系统
CN106934437A (zh) * 2015-12-29 2017-07-07 成都英黎科技有限公司 一种动态二维码定位编码和验证的方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685139A (zh) * 2012-05-21 2012-09-19 中国联合网络通信集团有限公司 网络软件认证方法和装置
CN103051628B (zh) * 2012-12-21 2016-05-11 微梦创科网络科技(中国)有限公司 基于服务器获取认证令牌的方法及系统
AU2014200729A1 (en) * 2013-02-19 2014-09-04 ChannelPace Pty Ltd An improved authentication method
JP6270517B2 (ja) * 2014-02-05 2018-01-31 株式会社ぐるなび 認証処理システム,認証処理サーバ及び認証処理方法
CN104219244B (zh) * 2014-09-19 2017-09-01 深圳供电局有限公司 一种iBeacon防位置欺骗的方法和认证服务器、基站
CN107257334B (zh) * 2017-06-08 2020-07-14 中国电子科技集团公司第三十二研究所 用于Hadoop集群的身份认证方法
CN108650082B (zh) * 2018-05-08 2020-10-30 腾讯科技(深圳)有限公司 待验证信息的加密和验证方法、相关装置及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102983968A (zh) * 2011-09-02 2013-03-20 深圳市快播科技有限公司 一种软件后台认证方法、认证服务器和终端
CN104579694A (zh) * 2015-02-09 2015-04-29 浙江大学 一种身份认证方法及系统
CN106934437A (zh) * 2015-12-29 2017-07-07 成都英黎科技有限公司 一种动态二维码定位编码和验证的方法及系统
CN106850232A (zh) * 2017-02-28 2017-06-13 南方电网科学研究院有限责任公司 状态保持的授权管理方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A RFID Authentication Protocol Based on Infinite Dimension Pseudo Random Number Generator;Qiaoling Tong 等;《2009 International Joint Conference on Computational Sciences and Optimization》;20090807;第292-294页 *
基于USB技术的软件加密锁研究与实现;任立鹏;《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》;20100915(第09期);第I138-26页 *

Also Published As

Publication number Publication date
CN111090850A (zh) 2020-05-01

Similar Documents

Publication Publication Date Title
KR102307665B1 (ko) 신원 인증
CN110061846B (zh) 对区块链中用户节点进行身份认证和确认的方法、装置及计算机可读存储介质
EP3550783A1 (en) Internet of things device burning verification method and apparatus, and identity authentication method and apparatus
CN106790156B (zh) 一种智能设备绑定方法及装置
CN109510796B (zh) 一种设备绑定方法及系统
EP2963958B1 (en) Network device, terminal device and information security improving method
CN109409045B (zh) 浏览器自动登录账号安全保护方法和装置
AU2017295345A1 (en) Two-channel authentication proxy system capable of detecting application tampering, and method therefor
CN110213276B (zh) 一种微服务架构下的授权验证方法、服务器、终端及介质
CN110611569B (zh) 一种认证方法及相关设备
CN108471403B (zh) 一种账户迁移的方法、装置、终端设备及存储介质
JP6967449B2 (ja) セキュリティチェックのための方法、デバイス、端末およびサーバ
CN109981665B (zh) 资源提供方法及装置、资源访问方法及装置和系统
CN108156119B (zh) 登录验证方法及装置
CN106230832B (zh) 一种设备标识校准的方法
CN113761498A (zh) 一种第三方登录信息托管方法、系统、设备及存储介质
CN111090850B (zh) 一种认证系统、方法及装置
WO2016173174A1 (zh) 锁网数据升级方法和装置
CN112948857A (zh) 一种文档处理方法及装置
CN105100030B (zh) 访问控制方法、系统和装置
CN114584313B (zh) 一种设备物理身份认证方法、系统、装置及第一平台
CN112995096B (zh) 数据加密、解密方法、装置及设备
CN114239000A (zh) 密码处理方法、装置、计算机设备和存储介质
CN112865981A (zh) 一种令牌获取、验证方法及装置
JP6404928B2 (ja) ユーザ情報管理システム、及びユーザ情報管理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant