CN111611577B - 鉴权方法、装置、系统、电子设备及计算机可读存储介质 - Google Patents

鉴权方法、装置、系统、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN111611577B
CN111611577B CN202010443770.9A CN202010443770A CN111611577B CN 111611577 B CN111611577 B CN 111611577B CN 202010443770 A CN202010443770 A CN 202010443770A CN 111611577 B CN111611577 B CN 111611577B
Authority
CN
China
Prior art keywords
key file
time
expiration time
target
target software
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
CN202010443770.9A
Other languages
English (en)
Other versions
CN111611577A (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202010443770.9A priority Critical patent/CN111611577B/zh
Publication of CN111611577A publication Critical patent/CN111611577A/zh
Application granted granted Critical
Publication of CN111611577B publication Critical patent/CN111611577B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

本申请实施例提供了一种鉴权方法、装置、系统、电子设备及计算机可读存储介质,客户端可以获取密钥文件,其中,密钥文件中记录有目标软件的过期时刻和密钥文件的生成时刻;判断生成时刻是否早于目标软件所在的目标设备当前的系统时间;如果是,基于密钥文件中记录的过期时刻和系统时间,确定目标设备是否具有运行目标软件的权限;如果否,确定目标设备不具有运行目标软件的权限。基于上述处理,能够提高鉴权的可靠性。

Description

鉴权方法、装置、系统、电子设备及计算机可读存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种鉴权方法、装置、系统、电子设备及计算机可读存储介质。
背景技术
随着计算机技术的快速发展,软件服务的提供商可以向客户提供软件服务,客户可以获取相应的软件,并安装在自身的设备中。为了保证提供商的合法利益,在设备启动软件时,可以对设备进行鉴权,以确定设备是否有运行该软件的权限。
相关技术中,客户在设备中安装该软件后,该软件可以在每次启动时,或者,在运行过程中定时向鉴权服务器发送鉴权请求,鉴权服务器可以向该软件发送该软件的过期时刻,进而,该软件可以根据该过期时刻和该设备当前的系统时间,确定该设备是否具有运行该软件的权限。例如,该软件的过期时刻不早于该设备当前的系统时间,可以确定该设备具有运行该软件的权限;该软件的过期时刻早于该设备当前的系统时间,可以确定该设备不具有运行该软件的权限。
然而,如果当前该设备并不具有运行该软件的权限,恶意使用者可能会对该设备的系统时间进行恶意修改,进而,根据修改后的系统时间,可能会确定该设备仍具有运行该软件的权限,导致鉴权的可靠性较低。
发明内容
本申请实施例的目的在于提供一种鉴权方法、装置、系统、电子设备及计算机可读存储介质,能够提高鉴权的可靠性。具体技术方案如下:
第一方面,为了达到上述目的,本申请实施例公开了一种鉴权方法,所述方法应用于客户端,所述方法包括:
获取密钥文件,其中,所述密钥文件中记录有目标软件的过期时刻和所述密钥文件的生成时刻;
判断所述生成时刻是否早于所述目标软件所在的目标设备当前的系统时间;
如果所述生成时刻早于所述系统时间,基于所述过期时刻和所述系统时间,确定所述目标设备是否具有运行所述目标软件的权限;
如果所述生成时刻不早于所述系统时间,确定所述目标设备不具有运行所述目标软件的权限。
可选的,所述方法还包括:
如果所述生成时刻不早于所述系统时间,向预设监控系统发送表示所述目标设备的系统时间被恶意修改的第一提醒消息。
可选的,所述获取密钥文件,包括:
获取本地的密钥文件。
可选的,所述获取密钥文件,包括:
向鉴权服务器发送针对所述目标软件的鉴权请求;
接收所述鉴权服务器根据所述鉴权请求发送的所述目标软件的过期时刻;
基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件,其中,生成所述密钥文件时使用的系统时间为所述密钥文件的生成时刻。
可选的,所述基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件,包括:
在所述鉴权服务器发送的过期时刻,不早于所述系统时间的情况下,基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件。
可选的,在所述基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件之前,所述方法还包括:
接收所述鉴权服务器根据所述鉴权请求发送的第一参数,其中,所述第一参数为所述鉴权服务器基于第一预设加密算法对所述过期时刻进行加密得到的;
基于所述第一预设加密算法对所述鉴权服务器发送的过期时刻进行加密,得到第二参数;
判断所述第二参数与所述第一参数是否相同;
所述基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件,包括:
如果所述第二参数与所述第一参数相同,基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件。
可选的,所述方法还包括:
如果所述第二参数与所述第一参数不同,向预设监控系统发送表示所述鉴权服务器发送的过期时刻被恶意修改的第二提醒消息。
可选的,所述向鉴权服务器发送针对所述目标软件的鉴权请求,包括:
在本地不存在密钥文件的情况下,向鉴权服务器发送针对所述目标软件的鉴权请求。
可选的,所述向鉴权服务器发送针对所述目标软件的鉴权请求,包括:
在本地存在密钥文件,且本地的密钥文件中记录的所述目标软件的过期时刻,早于所述系统时间的情况下,向鉴权服务器发送针对所述目标软件的鉴权请求。
可选的,所述获取密钥文件还包括:
在所述基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件之后,将新生成的密钥文件替换本地已有的密钥文件。
可选的,所述基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件,包括:
基于所述鉴权服务器发送的过期时刻和所述系统时间,更新本地已有的密钥文件中的过期时刻和生成时刻。
可选的,所述密钥文件中还记录有签名;
所述签名为基于第二预设加密算法,对所述鉴权服务器发送的过期时刻进行加密得到的;
或者,
所述签名为基于第二预设加密算法,对所述鉴权服务器发送的过期时刻和备选参数进行加密得到的;所述备选参数包括:所述目标设备的设备标识和/或所述密钥文件的生成时刻。
可选的,所述密钥文件中还记录有所述目标设备的设备标识。
可选的,在所述判断所述生成时刻是否早于所述目标软件所在的目标设备当前的系统时间之前,所述方法还包括:
若所述签名是通过对过期时刻进行加密得到的,则当检测到根据所述第二预设加密算法对获取的密钥文件中记录的过期时刻进行加密得到的第三参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改;
若所述签名是通过对过期时刻和生成时刻加密得到的,则当检测到根据所述第二预设加密算法对获取的密钥文件中记录的过期时刻和生成时刻进行加密得到的第四参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改;
若所述签名是通过对过期时刻和设备标识加密得到的,则当检测到根据所述第二预设加密算法对所述目标设备的设备标识和获取的密钥文件中记录的过期时刻进行加密得到的第五参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改;
若所述签名是通过对过期时刻、设备标识和生成时刻加密得到的,则当检测到根据所述第二预设加密算法对所述目标设备的设备标识、获取的密钥文件中记录的过期时刻和生成时刻进行加密得到的第六参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改;
所述判断所述生成时刻是否早于所述目标软件所在的目标设备当前的系统时间,包括:
在确定获取的密钥文件未被恶意修改的情况下,判断所述生成时刻是否早于所述目标软件所在的目标设备当前的系统时间。
可选的,所述基于所述过期时刻和所述系统时间,确定所述目标设备是否具有运行所述目标软件的权限,包括:
如果所述过期时刻不早于所述系统时间,确定所述目标设备具有运行所述目标软件的权限;
如果所述过期时刻早于所述系统时间,确定所述目标设备不具有运行所述目标软件的权限。
第二方面,为了达到上述目的,本申请实施例还公开了一种鉴权方法,所述方法应用于鉴权服务器,所述方法包括:
接收客户端发送的针对目标软件鉴权请求;
向所述客户端发送所述目标软件的过期时刻,以使所述客户端基于所述过期时刻生成密钥文件,其中,所述密钥文件中记录有所述密钥文件的生成时刻和所述过期时刻;判断所述密钥文件中记录的生成时刻,是否早于所述目标软件所在的目标设备当前的系统时间;如果是,基于所述密钥文件中记录的过期时刻和所述系统时间,确定所述目标设备是否具有运行所述目标软件的权限;否则,确定所述目标设备不具有运行所述目标软件的权限。
可选的,在所述接收客户端发送的针对目标软件鉴权请求之后,所述方法还包括:
向所述客户端发送第一参数;其中,所述第一参数为基于第一预设加密算法对所述过期时刻进行加密得到的;以使所述客户端在检测到基于所述第一预设加密算法对所述鉴权服务器发送的过期时刻进行加密得到的第二参数,与所述第一参数相同的情况下,基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件。
第三方面,为了达到上述目的,本申请实施例还公开了一种鉴权系统,所述鉴权系统包括鉴权服务器和客户端,其中:
所述客户端,用于向所述鉴权服务器发送针对所述目标软件的鉴权请求;
所述鉴权服务器,用于接收所述鉴权请求,并根据所述鉴权请求向所述客户端发送所述目标软件的过期时刻;
所述客户端,还用于基于所述过期时刻生成密钥文件;其中,所述密钥文件中记录有所述密钥文件的生成时刻和所述过期时刻;判断所述密钥文件中记录的生成时刻,是否早于所述目标软件所在的目标设备当前的系统时间;如果是,基于所述密钥文件中记录的过期时刻和所述系统时间,确定所述目标设备是否具有运行所述目标软件的权限;如果否,确定所述目标设备不具有运行所述目标软件的权限。
第四方面,为了达到上述目的,本申请实施例还公开了一种鉴权装置,所述装置应用于客户端,所述装置包括:
获取模块,用于获取密钥文件,其中,所述密钥文件中记录有目标软件的过期时刻和所述密钥文件的生成时刻;
判断模块,用于判断所述生成时刻是否早于所述目标软件所在的目标设备当前的系统时间;
第一处理模块,用于如果所述生成时刻早于所述系统时间,基于所述过期时刻和所述系统时间,确定所述目标设备是否具有运行所述目标软件的权限;
第二处理模块,用于如果所述生成时刻不早于所述系统时间,确定所述目标设备不具有运行所述目标软件的权限。
可选的,所述装置还包括:
第一提醒模块,用于如果所述生成时刻不早于所述系统时间,向预设监控系统发送表示所述目标设备的系统时间被恶意修改的第一提醒消息。
可选的,所述获取模块,具体用于获取本地的密钥文件。
可选的,所述获取模块,包括:
发送子模块,用于向鉴权服务器发送针对所述目标软件的鉴权请求;
接收子模块,用于接收所述鉴权服务器根据所述鉴权请求发送的所述目标软件的过期时刻;
生成子模块,用于基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件,其中,生成所述密钥文件时使用的系统时间为所述密钥文件的生成时刻。
可选的,所述生成子模块,具体用于在所述鉴权服务器发送的过期时刻,不早于所述系统时间的情况下,基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件。
可选的,所述装置还包括:
处理模块,用于在所述基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件之前,接收所述鉴权服务器根据所述鉴权请求发送的第一参数,其中,所述第一参数为所述鉴权服务器基于第一预设加密算法对所述过期时刻进行加密得到的;
基于所述第一预设加密算法对所述鉴权服务器发送的过期时刻进行加密,得到第二参数;
判断所述第二参数与所述第一参数是否相同;
所述生成子模块,具体用于如果所述第二参数与所述第一参数相同,基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件。
可选的,所述装置还包括:
第二提醒模块,用于如果所述第二参数与所述第一参数不同,向预设监控系统发送表示所述鉴权服务器发送的过期时刻被恶意修改的第二提醒消息。
可选的,所述发送子模块,具体用于在本地不存在密钥文件的情况下,向鉴权服务器发送针对所述目标软件的鉴权请求。
可选的,所述发送子模块,具体用于在本地存在密钥文件,且本地的密钥文件中记录的所述目标软件的过期时刻,早于所述系统时间的情况下,向鉴权服务器发送针对所述目标软件的鉴权请求。
可选的,所述获取模块,还包括:
更新子模块,用于在所述基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件之后,将新生成的密钥文件替换本地已有的密钥文件。
可选的,所述生成子模块,具体用于基于所述鉴权服务器发送的过期时刻和所述系统时间,更新本地已有的密钥文件中的过期时刻和生成时刻。
可选的,所述密钥文件中还记录有签名;
所述签名为基于第二预设加密算法,对所述鉴权服务器发送的过期时刻进行加密得到的;
或者,
所述签名为基于第二预设加密算法,对所述鉴权服务器发送的过期时刻和备选参数进行加密得到的;所述备选参数包括:所述目标设备的设备标识和/或所述密钥文件的生成时刻。
可选的,所述密钥文件中还记录有所述目标设备的设备标识。
可选的,所述装置还包括:
第一确定模块,用于在所述判断所述生成时刻是否早于所述目标软件所在的目标设备当前的系统时间之前,若所述签名是通过对过期时刻进行加密得到的,则当检测到根据所述第二预设加密算法对获取的密钥文件中记录的过期时刻进行加密得到的第三参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改;
第二确定模块,用于在所述判断所述生成时刻是否早于所述目标软件所在的目标设备当前的系统时间之前,若所述签名是通过对过期时刻和生成时刻加密得到的,则当检测到根据所述第二预设加密算法对获取的密钥文件中记录的过期时刻和生成时刻进行加密得到的第四参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改;
第三确定模块,用于在所述判断所述生成时刻是否早于所述目标软件所在的目标设备当前的系统时间之前,若所述签名是通过对过期时刻和设备标识加密得到的,则当检测到根据所述第二预设加密算法对所述目标设备的设备标识和获取的密钥文件中记录的过期时刻进行加密得到的第五参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改;
第四确定模块,用于在所述判断所述生成时刻是否早于所述目标软件所在的目标设备当前的系统时间之前,若所述签名是通过对过期时刻、设备标识和生成时刻加密得到的,则当检测到根据所述第二预设加密算法对所述目标设备的设备标识、获取的密钥文件中记录的过期时刻和生成时刻进行加密得到的第六参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改;
所述判断模块,具体用于在确定获取的密钥文件未被恶意修改的情况下,判断所述生成时刻是否早于所述目标软件所在的目标设备当前的系统时间。
可选的,所述第一处理模块,具体用于如果所述过期时刻不早于所述系统时间,确定所述目标设备具有运行所述目标软件的权限;
如果所述过期时刻早于所述系统时间,确定所述目标设备不具有运行所述目标软件的权限。
第五方面,为了达到上述目的,本申请实施例还公开了一种鉴权装置,所述装置应用于鉴权服务器,所述装置包括:
接收模块,用于接收客户端发送的针对目标软件鉴权请求;
发送模块,用于向所述客户端发送所述目标软件的过期时刻,以使所述客户端基于所述过期时刻生成密钥文件,其中,所述密钥文件中记录有所述密钥文件的生成时刻和所述过期时刻;判断所述密钥文件中记录的生成时刻,是否早于所述目标软件所在的目标设备当前的系统时间;如果是,基于所述密钥文件中记录的过期时刻和所述系统时间,确定所述目标设备是否具有运行所述目标软件的权限;否则,确定所述目标设备不具有运行所述目标软件的权限。
可选的,所述发送模块,还用于在所述接收客户端发送的针对目标软件鉴权请求之后,向所述客户端发送第一参数;其中,所述第一参数为基于第一预设加密算法对所述过期时刻进行加密得到的;以使所述客户端在检测到基于所述第一预设加密算法对所述鉴权服务器发送的过期时刻进行加密得到的第二参数,与所述第一参数相同的情况下,基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件。
另一方面,为了达到上述目的,本申请实施例还公开了一种电子设备,所述电子设备包括存储器和处理器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现如上述第一方面,或第二方面任一所述的鉴权方法。
另一方面,为了达到上述目的,本申请实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第一方面,或第二方面任一所述的鉴权方法。
另一方面,为了达到上述目的,本申请实施例还公开了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面,或第二方面任一所述的鉴权方法。
本申请实施例提供了一种鉴权方法、装置、系统、电子设备及计算机可读存储介质,客户端可以获取密钥文件,其中,密钥文件中记录有目标软件的过期时刻和密钥文件的生成时刻;判断生成时刻是否早于目标软件所在的目标设备当前的系统时间;如果是,基于密钥文件中记录的过期时刻和系统时间,确定目标设备是否具有运行目标软件的权限;如果否,确定目标设备不具有运行目标软件的权限。
密钥文件中记录的生成时刻不早于目标设备当前的系统时间,表明目标设备的系统时间被恶意修改,此时,确定目标设备不具有运行目标软件的权限,也就是说,只在密钥文件中记录的生成时刻早于目标设备当前的系统时间的情况下,基于密钥文件中记录的过期时刻和系统时间进行鉴权,能够避免现有技术中恶意使用者对目标设备的系统时间进行修改获取使用权限的情况,提高鉴权的可靠性。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种鉴权系统的结构图;
图2为本申请实施例提供的一种应用于客户端的鉴权方法的流程图;
图3为本申请实施例提供的另一种应用于客户端的鉴权方法的流程图;
图4为本申请实施例提供的另一种应用于客户端的鉴权方法的流程图;
图5为本申请实施例提供的另一种应用于客户端的鉴权方法的流程图;
图6为本申请实施例提供的一种应用于鉴权服务器的鉴权方法的流程图;
图7为本申请实施例提供的一种鉴权方法的信令交互图;
图8为本申请实施例提供的一种应用于客户端的鉴权装置的结构图;
图9为本申请实施例提供的一种应用于鉴权服务器的鉴权装置的结构图;
图10为本申请实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,如果当前目标设备并不具有运行目标软件的权限,恶意使用者可能会对目标设备的系统时间进行恶意修改,进而,根据修改后的系统时间,可能会确定目标设备仍具有运行目标软件的权限,导致鉴权的可靠性较低。
为了解决上述问题,本申请实施例提供了一种鉴权系统,参见图1,图1为本申请实施例提供的一种鉴权系统的结构图,该鉴权系统可以包括鉴权服务器和客户端,其中:
客户端,用于向鉴权服务器发送针对目标软件的鉴权请求;
鉴权服务器,用于接收鉴权请求,并根据鉴权请求向客户端发送目标软件的过期时刻;
客户端,还用于基于过期时刻生成密钥文件;其中,密钥文件中记录有密钥文件的生成时刻和过期时刻;判断密钥文件中记录的生成时刻,是否早于目标软件所在的目标设备当前的系统时间;如果是,基于密钥文件中记录的过期时刻和系统时间,确定目标设备是否具有运行目标软件的权限;如果否,确定目标设备不具有运行目标软件的权限。
密钥文件中记录的生成时刻不早于目标设备当前的系统时间,表明目标设备的系统时间被恶意修改,此时,确定目标设备不具有运行目标软件的权限,也就是说,只在密钥文件中记录的生成时刻早于目标设备当前的系统时间的情况下,基于密钥文件中记录的过期时刻和系统时间进行鉴权,能够避免现有技术中恶意使用者对目标设备的系统时间进行修改获取使用权限的情况,提高鉴权的可靠性。
关于上述鉴权系统的其他实施例,可以参考后续关于客户端和鉴权服务器的方法实施例的详细介绍。
参见图2,图2为本申请实施例提供的一种应用于客户端的鉴权方法的流程图,该客户端可以为上述鉴权系统中的客户端,该方法可以包括以下步骤:
S201:获取密钥文件。
其中,密钥文件中记录有目标软件的过期时刻和密钥文件的生成时刻。密钥文件的生成时刻包括密钥文件的创建时刻和更新时刻。
S202:判断生成时刻是否早于目标软件所在的目标设备当前的系统时间;如果是,执行S203,如果否,执行S204。
S203:基于过期时刻和系统时间,确定目标设备是否具有运行目标软件的权限。
S204:确定目标设备不具有运行目标软件的权限。
密钥文件中记录的生成时刻不早于目标设备当前的系统时间,表明目标设备的系统时间被恶意修改,此时,确定目标设备不具有运行目标软件的权限,也就是说,只在密钥文件中记录的生成时刻早于目标设备当前的系统时间的情况下,基于密钥文件中记录的过期时刻和系统时间进行鉴权,能够避免现有技术中恶意使用者对目标设备的系统时间进行修改获取使用权限的情况,提高鉴权的可靠性。
一种实现方式中,客户端可以以软件的形式运行于客户的主机设备(即目标设备)中。在目标设备中,该客户端可以独立于目标软件,或者,该客户端也可以集成在目标软件中。
在步骤S201中,目标软件可以为需要进行鉴权的软件,即,客户从提供商购买的软件。目标软件可以为一个软件,也可以为SDK(Software Development Kit,软件开发工具包)。
其中,密钥文件可以是客户端根据目标软件的过期时刻生成的。密钥文件可以为不同格式的文档,例如,可以为PEM(Privacy Enhanced Mail,失密邮件)格式、或者,也可以为CRT(Certificate,证明)格式。
客户端可以从本地获取过期时刻,或者,也可以从鉴权服务器获取过期时刻,且并不限于上述形式。
针对步骤S203,正常情况下如果存在密钥文件,则密钥文件的生成时刻会早于当前时刻,此时,客户端可以基于密钥文件中的过期时刻和系统时间,确定目标设备是否具有运行目标软件的权限。
在一个实施例中,步骤S203可以包括以下步骤:如果过期时刻不早于系统时间,确定目标设备具有运行目标软件的权限;如果过期时刻早于系统时间,确定目标设备不具有运行目标软件的权限。
针对步骤S204,正常情况下密钥文件的生成时刻会早于当前时刻,因此,如果密钥文件中记录的生成时刻不早于目标设备当前的系统时间,表明目标设备的系统时间被恶意修改,此时,客户端可以直接确定目标设备不具有运行目标软件的权限。
在一个实施例中,该方法还可以包括以下步骤:如果生成时刻不早于系统时间,向预设监控系统发送表示目标设备的系统时间被恶意修改的第一提醒消息。
预设监控系统可以安装在用户终端中,或者,也可以安装在其他设备中,例如,可以安装在企业内部的管理服务器中。
一个实施例中,步骤S201可以包括以下步骤:获取本地的密钥文件。
一种实现方式中,如果客户端本地已经存在密钥文件,表明当前并不是第一次进行鉴权,也就是说,本地的密钥文件可以为上一次进行鉴权时生成的,此时,客户端可以直接获取本地存储的密钥文件。
在一个实施例中,参见图3,步骤S201可以包括以下步骤:
S2011:向鉴权服务器发送针对目标软件的鉴权请求。
S2012:接收鉴权服务器根据鉴权请求发送的目标软件的过期时刻。
S2013:基于鉴权服务器发送的过期时刻和系统时间生成密钥文件。
其中,生成密钥文件时使用的系统时间为密钥文件的生成时刻。可以理解的是,当生成密钥文件时,客户端可以获取目标设备当前的系统时间,将该系统时间作为密钥文件的生成时刻。
在本申请实施例中,客户端也可以向鉴权服务器发送鉴权请求,以获取目标软件的过期时刻,并生成相应的密钥文件。
客户端可以在目标设备每次启动目标软件时,向鉴权服务器发送针对目标软件的鉴权请求,以获取目标软件的过期时刻。
或者,客户端也可以在目标设备运行目标软件的过程中,周期性地向鉴权服务器发送针对目标软件的鉴权请求,以获取目标软件的过期时刻。
在一个实施例中,步骤S2011可以包括以下步骤:在本地不存在密钥文件的情况下,向鉴权服务器发送针对目标软件的鉴权请求。
一种实现方式中,如果客户端本地不存在密钥文件,表明当前时刻之前并未进行鉴权,此时,客户端可以获取目标软件的过期时刻,以对目标设备进行鉴权。
另外,客户端还可以根据获取的过期时刻,生成密钥文件,并存储在本地。
在一个实施例中,步骤S2011可以包括以下步骤:在本地存在密钥文件,且本地的密钥文件中记录的目标软件的过期时刻,早于系统时间的情况下,向鉴权服务器发送针对目标软件的鉴权请求。
在本申请实施例中,如果客户端本地存在密钥文件,且本地的密钥文件中记录的目标软件的过期时刻早于系统时间,表明此时达到了目标软件的过期时刻,然而,由于客户可能会在目标软件到期时,继续向提供商购买目标软件,即,能够延长目标软件的过期时刻,因此,客户端可以向鉴权服务器发送针对目标软件的鉴权请求,以获取目标软件最新的过期时刻。
在一个实施例中,步骤S2013可以包括以下步骤:在鉴权服务器发送的过期时刻,不早于系统时间的情况下,基于鉴权服务器发送的过期时刻和系统时间生成密钥文件。
在本申请实施例中,如果鉴权服务器发送的过期时刻,不早于目标设备当前的系统时间,表明目标设备仍有可能具有运行目标软件的权限,此时,客户端可以基于鉴权服务器发送的过期时刻和系统时间生成密钥文件,后续,则可以根据该密钥文件进行鉴权。
在一个实施例中,在图3的基础上,参见图4,在步骤S2013之前,该方法还可以包括以下步骤:
S205:接收鉴权服务器根据鉴权请求发送的第一参数。
其中,第一参数为鉴权服务器基于第一预设加密算法对过期时刻进行加密得到的。
S206:基于第一预设加密算法对鉴权服务器发送的过期时刻进行加密,得到第二参数。
S207:判断第二参数与第一参数是否相同。
相应的,S2013可以包括以下步骤:
S20131:如果第二参数与第一参数相同,基于鉴权服务器发送的过期时刻和系统时间生成密钥文件。
第一预设加密算法可以为对称加密算法,也可以为非对称加密算法,例如,第一预设加密算法可以为MD5(Message Digest Algorithm MD5,消息摘要算法)、RSA(RonRivest-Adi Shamir-Leonard Adleman,罗纳德·李维斯特-阿迪·萨莫尔-伦纳德·阿德曼)算法。可以预先设置客户端与鉴权服务器使用相同的第一加密算法。
如果第一参数与第二参数一致,表明鉴权服务器发送的过期时刻并未被恶意修改,相应的,基于该过期时刻和系统时间生成的密钥文件的可靠性较高,能够提高鉴权的可靠性。
在一个实施例中,该方法还可以包括以下步骤:如果第二参数与第一参数不同,向预设监控系统发送表示鉴权服务器发送的过期时刻被恶意修改的第二提醒消息。
在本申请实施例中,如果第二参数与第一参数不同,表明鉴权服务器发送的过期时刻被恶意修改,此时,可以向预设监控系统发送相应的提醒消息。
在一个实施例中,客户端还可以对本地的密钥文件进行更新。如果客户端本地存在密钥文件,且本地的密钥文件中记录的目标软件的过期时刻,早于系统时间,则步骤S201还可以包括:在基于鉴权服务器发送的过期时刻和系统时间生成密钥文件之后,将新生成的密钥文件替换本地已有的密钥文件。
在本申请实施例中,客户端本地存在密钥文件,且本地的密钥文件中记录的目标软件的过期时刻早于系统时间,表明此时达到了目标软件的过期时刻,然而,由于客户可能会在目标软件到期时,继续向提供商购买目标软件,即,能够延长目标软件的过期时刻,因此,客户端可以向鉴权服务器发送针对目标软件的鉴权请求,以获取目标软件最新的过期时刻,进而,可以根据最新的过期时刻生成新的密钥文件,然后,可以将新生成的密钥文件替换本地已有的密钥文件。
也就是说,此时,客户端获取的密钥文件为新生成的密钥文件,根据新生成的密钥文件进行鉴权。
在一个实施例中,客户端还可以通过修改密钥文件中记录的数据,对本地的密钥文件进行更新,步骤S2013可以包括以下步骤:基于鉴权服务器发送的过期时刻和系统时间,更新本地已有的密钥文件中的过期时刻和生成时刻。
在本申请实施例中,客户端可以直接将本地的密钥文件中记录的过期时刻和生成时刻,对应地更新为从鉴权服务器获取的过期时刻和当前的系统时间。
可以理解的是,如果密钥文件中还记录有其他数据,例如,后续实施例中介绍的签名,则客户端也可以对其进行更新。
在一个实施例中,密钥文件中还可以记录有签名。签名为基于第二预设加密算法,对鉴权服务器发送的过期时刻进行加密得到的。或者,签名为基于第二预设加密算法,对鉴权服务器发送的过期时刻和备选参数进行加密得到的。备选参数包括:目标设备的设备标识和/或密钥文件的生成时刻。
其中,第二预设加密算法可以为对称加密算法,也可以为非对称加密算法,例如,第二预设加密算法可以为MD5、RSA算法。
设备标识可以根据目标设备的CPU、网卡等部件的标识确定,用于唯一的标识该目标设备。
客户端可以基于第二预设加密算法,对鉴权服务器发送的过期时刻进行加密,得到签名。
或者,客户端也可以基于第二预设加密算法,对鉴权服务器发送的过期时刻和目标设备的设备标识进行加密,得到签名。
或者,客户端也可以基于第二预设加密算法,对鉴权服务器发送的过期时刻和密钥文件的生成时刻进行加密,得到签名。
或者,客户端也可以基于第二预设加密算法,对鉴权服务器发送的过期时刻、目标设备的设备标识和密钥文件的生成时刻进行加密,得到签名。
进而,客户端可以在密钥文件中记录过期时刻、生成时刻和签名。
在一个实施例中,密钥文件中还可以记录有目标设备的设备标识。
基于上述处理,客户端也可以根据密钥文件中记录的设备标识进行鉴权。
在一个实施例中,该方法还可以包括以下步骤:如果密钥文件中记录的设备标识不是目标设备的设备标识,确定目标设备不具备运行目标软件的权限。
密钥文件中记录的设备标识不是目标设备的设备标识,表明该密钥文件可能是恶意使用者从其他设备拷贝至目标设备中的,此时,可以确定目标设备不具备运行目标软件的权限。
在一个实施例中,在步骤S202之前,该方法还可以包括以下步骤中的一项:
步骤一,若签名是通过对过期时刻进行加密得到的,则当检测到根据第二预设加密算法对获取的密钥文件中记录的过期时刻进行加密得到的第三参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改。
步骤二,若签名是通过对过期时刻和生成时刻加密得到的,则当检测到根据第二预设加密算法对获取的密钥文件中记录的过期时刻和生成时刻进行加密得到的第四参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改。
步骤三,若签名是通过对过期时刻和设备标识加密得到的,则当检测到根据第二预设加密算法对目标设备的设备标识和获取的密钥文件中记录的过期时刻进行加密得到的第五参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改。
步骤四,若签名是通过对过期时刻、设备标识和生成时刻加密得到的,则当检测到根据第二预设加密算法对目标设备的设备标识、获取的密钥文件中记录的过期时刻和生成时刻进行加密得到的第六参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改。
相应的,步骤S202可以包括:在确定获取的密钥文件未被恶意修改的情况下,判断生成时刻是否早于目标软件所在的目标设备当前的系统时间。
在本申请实施例中,基于上述步骤一至步骤四,客户端可以判定密钥文件中记录的数据是否被恶意修改,也就是说,如果客户端根据第二预设加密算法计算的参数与密钥文件中记录的签名不一致,表明密钥文件中记录的过期时刻、设备标识和生成时刻中的一项或者多项被恶意修改,即,客户端获取的密钥文件被恶意修改。
相应的,客户端在确定密钥文件未被恶意修改的情况下,可以判断生成时刻是否早于当前的系统时间,进而,可以确定目标设备是否具有运行目标软件的权限。
在一个实施例中,当确定获取的密钥文件被恶意修改时,客户端也可以直接确定目标设备不具有运行目标软件的权限。
或者,客户端也可以向预设监控系统发送表示密钥文件被恶意修改的提醒消息。
参见图5,图5为本申请实施例提供的另一种应用于客户端的鉴权方法的流程图,该方法可以包括以下步骤:
S501:判断本地是否存在密钥文件,如果存在,执行S502,如果不存在,执行S504。
S502:判断该密钥文件中记录的目标软件的过期时刻,是否早于目标软件所在的目标设备当前的系统时间,如果不早于,执行S503,如果早于,执行S504。
S503:确定目标设备具有运行目标软件的权限。
S504:确定目标设备不具有运行目标软件的权限,并向鉴权服务器发送鉴权请求,获取鉴权服务器发送的目标软件的过期时刻和第一参数。
其中,第一参数为基于第一预设加密算法对过期时刻进行加密得到的。
S505:基于第一预设加密算法对鉴权服务器发送的过期时刻进行加密,得到的第二参数。
S506:判断第二参数与第一参数是否相同,如果不相同,执行S507,如果相同,执行S508。
S507:向预设监控系统发送表示鉴权服务器发送的过期时刻被恶意修改的第二提醒消息。
S508:基于鉴权服务器发送的过期时刻和目标设备当前的系统时间生成密钥文件。
S509:判断密钥文件中的生成时刻是否早于目标设备当前的系统时间,如果是,执行S502,如果否,执行S504。
参见图6,图6为本申请实施例提供的一种应用于鉴权服务器的鉴权方法的流程图,该鉴权服务器可以为上述鉴权系统中的鉴权服务器,该方法可以包括以下步骤:
S601:接收客户端发送的针对目标软件鉴权请求。
S602:向客户端发送目标软件的过期时刻,以使客户端基于过期时刻生成密钥文件;判断密钥文件中记录的生成时刻,是否早于目标软件所在的目标设备当前的系统时间;如果是,基于密钥文件中记录的过期时刻和系统时间,确定目标设备是否具有运行目标软件的权限;否则,确定目标设备不具有运行目标软件的权限。
其中,密钥文件中记录有密钥文件的生成时刻和过期时刻。
基于上述处理,密钥文件中记录的生成时刻不早于目标设备当前的系统时间,表明目标设备的系统时间被恶意修改,此时,确定目标设备不具有运行目标软件的权限,也就是说,只在密钥文件中记录的生成时刻早于目标设备当前的系统时间的情况下,基于密钥文件中记录的过期时刻和系统时间进行鉴权,能够避免现有技术中恶意使用者对目标设备的系统时间进行修改获取使用权限的情况,提高鉴权的可靠性。
在步骤S601中,目标软件可以为需要进行鉴权的软件,即,客户从提供商购买的软件。
客户端可以在每次启动目标软件时,向鉴权服务器发送针对目标软件的鉴权请求,以获取目标软件的过期时刻。
或者,客户端也可以在运行目标软件的过程中,周期性地向鉴权服务器发送针对目标软件的鉴权请求,以获取目标软件的过期时刻。
相应的,鉴权服务器可以接收到客户端发送的鉴权请求,并向客户端发送目标软件的过期时刻。
客户端的处理方法可以参考上述实施例的详细介绍,此处不再赘述。
在一个实施例中,在步骤S601之前,该方法还可以包括以下步骤:
向客户端发送第一参数,以使客户端在检测到基于第一预设加密算法对鉴权服务器发送的过期时刻进行加密得到的第二参数,与第一参数相同的情况下,基于鉴权服务器发送的过期时刻和系统时间生成密钥文件。
其中,第一参数为基于第一预设加密算法对过期时刻进行加密得到的。
第一预设加密算法可以为对称加密算法,也可以为非对称加密算法,例如,第一预设加密算法可以为MD5、RSA算法。可以预先设置客户端与鉴权服务器使用相同的第一加密算法。
鉴权服务器可以获取目标软件的过期时刻,并基于第一预设加密算法对该过期时刻进行加密,得到第一参数,进而,可以在向客户端发送过期时刻的同时,向客户端发送第一参数。
客户端的处理方法可以参考上述实施例的详细介绍,此处不再赘述。
基于上述处理,如果第一参数与第二参数一致,表明鉴权服务器发送的过期时刻并未被恶意修改,相应的,客户端可以基于该过期时刻和系统时间生成的密钥文件的可靠性较高,能够提高鉴权的可靠性。
参见图7,图7为本申请实施例提供的一种鉴权方法的信令交互图,该方法可以应用于鉴权系统中的客户端和鉴权服务器,该方法可以包括以下步骤:
S701:当满足预设条件时,客户端向鉴权服务器发送针对目标软件的鉴权请求。
其中,预设条件包括以下之一:
本地不存在密钥文件;
本地的密钥文件中记录的目标软件的过期时刻早于目标软件所在的目标设备当前的系统时间。
S702:鉴权服务器向客户端发送目标软件的过期时刻和第一参数。
其中,第一参数为基于第一预设加密算法对过期时刻进行加密得到的。
S703:客户端基于第一预设加密算法对鉴权服务器发送的过期时刻进行加密,得到的第二参数。
S704:在第二参数与第一参数相同的情况下,客户端基于鉴权服务器发送的过期时刻和目标设备当前的系统时间生成密钥文件。
S705:在判定密钥文件中的生成时刻早于目标设备当前的系统时间的情况下,客户端基于密钥文件中的过期时刻和目标设备当前的系统时间,确定目标设备是否具有运行目标软件的权限。
基于相同的发明构思,参见图8,图8为本申请实施例提供的一种应用于客户端的鉴权装置的结构图,装置包括:
获取模块801,用于获取密钥文件,其中,密钥文件中记录有目标软件的过期时刻和密钥文件的生成时刻;
判断模块802,用于判断生成时刻是否早于目标软件所在的目标设备当前的系统时间;
第一处理模块803,用于如果生成时刻早于系统时间,基于过期时刻和系统时间,确定目标设备是否具有运行目标软件的权限;
第二处理模块804,用于如果生成时刻不早于系统时间,确定目标设备不具有运行目标软件的权限。
可选的,装置还包括:
第一提醒模块,用于如果生成时刻不早于系统时间,向预设监控系统发送表示目标设备的系统时间被恶意修改的第一提醒消息。
可选的,获取模块801,具体用于获取本地的密钥文件。
可选的,获取模块801,包括:
发送子模块,用于向鉴权服务器发送针对目标软件的鉴权请求;
接收子模块,用于接收鉴权服务器根据鉴权请求发送的目标软件的过期时刻;
生成子模块,用于基于鉴权服务器发送的过期时刻和系统时间生成密钥文件,其中,生成密钥文件时使用的系统时间为密钥文件的生成时刻。
可选的,生成子模块,具体用于在鉴权服务器发送的过期时刻,不早于系统时间的情况下,基于鉴权服务器发送的过期时刻和系统时间生成密钥文件。
可选的,装置还包括:
处理模块,用于在基于鉴权服务器发送的过期时刻和系统时间生成密钥文件之前,接收鉴权服务器根据鉴权请求发送的第一参数,其中,第一参数为鉴权服务器基于第一预设加密算法对过期时刻进行加密得到的;
基于第一预设加密算法对鉴权服务器发送的过期时刻进行加密,得到第二参数;
判断第二参数与第一参数是否相同;
生成子模块,具体用于如果第二参数与第一参数相同,基于鉴权服务器发送的过期时刻和系统时间生成密钥文件。
可选的,装置还包括:
第二提醒模块,用于如果第二参数与第一参数不同,向预设监控系统发送表示鉴权服务器发送的过期时刻被恶意修改的第二提醒消息。
可选的,发送子模块,具体用于在本地不存在密钥文件的情况下,向鉴权服务器发送针对目标软件的鉴权请求。
可选的,发送子模块,具体用于在本地存在密钥文件,且本地的密钥文件中记录的目标软件的过期时刻,早于系统时间的情况下,向鉴权服务器发送针对目标软件的鉴权请求。
可选的,获取模块801,还包括:
更新子模块,用于在基于鉴权服务器发送的过期时刻和系统时间生成密钥文件之后,将新生成的密钥文件替换本地已有的密钥文件。
可选的,生成子模块,具体用于基于鉴权服务器发送的过期时刻和系统时间,更新本地已有的密钥文件中的过期时刻和生成时刻。
可选的,密钥文件中还记录有签名;
签名为基于第二预设加密算法,对鉴权服务器发送的过期时刻进行加密得到的;
或者,
签名为基于第二预设加密算法,对鉴权服务器发送的过期时刻和备选参数进行加密得到的;备选参数包括:目标设备的设备标识和/或密钥文件的生成时刻。
可选的,密钥文件中还记录有目标设备的设备标识。
可选的,装置还包括:
第一确定模块,用于在判断生成时刻是否早于目标软件所在的目标设备当前的系统时间之前,若签名是通过对过期时刻进行加密得到的,则当检测到根据第二预设加密算法对获取的密钥文件中记录的过期时刻进行加密得到的第三参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改;
第二确定模块,用于在判断生成时刻是否早于目标软件所在的目标设备当前的系统时间之前,若签名是通过对过期时刻和生成时刻加密得到的,则当检测到根据第二预设加密算法对获取的密钥文件中记录的过期时刻和生成时刻进行加密得到的第四参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改;
第三确定模块,用于在判断生成时刻是否早于目标软件所在的目标设备当前的系统时间之前,若签名是通过对过期时刻和设备标识加密得到的,则当检测到根据第二预设加密算法对目标设备的设备标识和获取的密钥文件中记录的过期时刻进行加密得到的第五参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改;
第四确定模块,用于在判断生成时刻是否早于目标软件所在的目标设备当前的系统时间之前,若签名是通过对过期时刻、设备标识和生成时刻加密得到的,则当检测到根据第二预设加密算法对目标设备的设备标识、获取的密钥文件中记录的过期时刻和生成时刻进行加密得到的第六参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改;
判断模块,具体用于在确定获取的密钥文件未被恶意修改的情况下,判断生成时刻是否早于目标软件所在的目标设备当前的系统时间。
可选的,第一处理模块803,具体用于如果过期时刻不早于系统时间,确定目标设备具有运行目标软件的权限;
如果过期时刻早于系统时间,确定目标设备不具有运行目标软件的权限。
基于相同的发明构思,参见图9,图9为本申请实施例提供的一种应用于鉴权服务器的鉴权装置的结构图,装置包括:
接收模块901,用于接收客户端发送的针对目标软件鉴权请求;
发送模块902,用于向客户端发送目标软件的过期时刻,以使客户端基于过期时刻生成密钥文件,其中,密钥文件中记录有密钥文件的生成时刻和过期时刻;判断密钥文件中记录的生成时刻,是否早于目标软件所在的目标设备当前的系统时间;如果是,基于密钥文件中记录的过期时刻和系统时间,确定目标设备是否具有运行目标软件的权限;否则,确定目标设备不具有运行目标软件的权限。
可选的,发送模块902,还用于在接收客户端发送的针对目标软件鉴权请求之后,向客户端发送第一参数;其中,第一参数为基于第一预设加密算法对过期时刻进行加密得到的;以使客户端在检测到基于第一预设加密算法对鉴权服务器发送的过期时刻进行加密得到的第二参数,与第一参数相同的情况下,基于鉴权服务器发送的过期时刻和系统时间生成密钥文件。
本申请实施例还提供了一种电子设备,如图10所示,包括存储器1001和处理器1002;
存储器1001,用于存放计算机程序;
处理器1002,用于执行存储器1001上所存放的程序时,实现本申请实施例提供的鉴权方法。
上述电子设备可以具备有实现上述电子设备与其他设备之间通信的通信接口。
上述的处理器,通信接口,存储器通过通信总线完成相互间的通信,此处提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(Non-Volatile Memory,简称NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本申请实施例提供的鉴权方法。
需要说明的是,上述鉴权方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行本申请实施例提供的鉴权方法。
需要说明的是,上述鉴权方法的其他实现方式与前述方法实施例部分相同,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、系统、计算机可读存储介质以及计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (20)

1.一种鉴权方法,其特征在于,所述方法应用于客户端,所述方法包括:
获取密钥文件,其中,所述密钥文件中记录有目标软件的过期时刻和所述密钥文件的生成时刻;
判断所述生成时刻是否早于所述目标软件所在的目标设备当前的系统时间;
如果所述生成时刻早于所述系统时间,基于所述过期时刻和所述系统时间,确定所述目标设备是否具有运行所述目标软件的权限;
如果所述生成时刻不早于所述系统时间,确定所述目标设备不具有运行所述目标软件的权限;
所述获取密钥文件,包括:
向鉴权服务器发送针对所述目标软件的鉴权请求;
接收所述鉴权服务器根据所述鉴权请求发送的所述目标软件的过期时刻;
基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件,其中,生成所述密钥文件时使用的系统时间为所述密钥文件的生成时刻。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述生成时刻不早于所述系统时间,向预设监控系统发送表示所述目标设备的系统时间被恶意修改的第一提醒消息。
3.根据权利要求1所述的方法,其特征在于,所述基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件,包括:
在所述鉴权服务器发送的过期时刻,不早于所述系统时间的情况下,基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件。
4.根据权利要求1所述的方法,其特征在于,在所述基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件之前,所述方法还包括:
接收所述鉴权服务器根据所述鉴权请求发送的第一参数,其中,所述第一参数为所述鉴权服务器基于第一预设加密算法对所述过期时刻进行加密得到的;
基于所述第一预设加密算法对所述鉴权服务器发送的过期时刻进行加密,得到第二参数;
判断所述第二参数与所述第一参数是否相同;
所述基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件,包括:
如果所述第二参数与所述第一参数相同,基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
如果所述第二参数与所述第一参数不同,向预设监控系统发送表示所述鉴权服务器发送的过期时刻被恶意修改的第二提醒消息。
6.根据权利要求1所述的方法,其特征在于,所述向鉴权服务器发送针对所述目标软件的鉴权请求,包括:
在本地不存在密钥文件的情况下,向鉴权服务器发送针对所述目标软件的鉴权请求。
7.根据权利要求1所述的方法,其特征在于,所述向鉴权服务器发送针对所述目标软件的鉴权请求,包括:
在本地存在密钥文件,且本地的密钥文件中记录的所述目标软件的过期时刻,早于所述系统时间的情况下,向鉴权服务器发送针对所述目标软件的鉴权请求。
8.根据权利要求7所述的方法,其特征在于,所述获取密钥文件还包括:
在所述基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件之后,将新生成的密钥文件替换本地已有的密钥文件。
9.根据权利要求7所述的方法,其特征在于,所述基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件,包括:
基于所述鉴权服务器发送的过期时刻和所述系统时间,更新本地已有的密钥文件中的过期时刻和生成时刻。
10.根据权利要求1所述的方法,其特征在于,所述密钥文件中还记录有签名;
所述签名为基于第二预设加密算法,对所述鉴权服务器发送的过期时刻进行加密得到的;
或者,
所述签名为基于第二预设加密算法,对所述鉴权服务器发送的过期时刻和备选参数进行加密得到的;所述备选参数包括:所述目标设备的设备标识和/或所述密钥文件的生成时刻。
11.根据权利要求10所述的方法,其特征在于,所述密钥文件中还记录有所述目标设备的设备标识。
12.根据权利要求10所述的方法,其特征在于,在所述判断所述生成时刻是否早于所述目标软件所在的目标设备当前的系统时间之前,所述方法还包括:
若所述签名是通过对过期时刻进行加密得到的,则当检测到根据所述第二预设加密算法对获取的密钥文件中记录的过期时刻进行加密得到的第三参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改;
若所述签名是通过对过期时刻和生成时刻加密得到的,则当检测到根据所述第二预设加密算法对获取的密钥文件中记录的过期时刻和生成时刻进行加密得到的第四参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改;
若所述签名是通过对过期时刻和设备标识加密得到的,则当检测到根据所述第二预设加密算法对所述目标设备的设备标识和获取的密钥文件中记录的过期时刻进行加密得到的第五参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改;
若所述签名是通过对过期时刻、设备标识和生成时刻加密得到的,则当检测到根据所述第二预设加密算法对所述目标设备的设备标识、获取的密钥文件中记录的过期时刻和生成时刻进行加密得到的第六参数,与获取的密钥文件中记录的签名不一致时,确定获取的密钥文件被恶意修改;
所述判断所述生成时刻是否早于所述目标软件所在的目标设备当前的系统时间,包括:
在确定获取的密钥文件未被恶意修改的情况下,判断所述生成时刻是否早于所述目标软件所在的目标设备当前的系统时间。
13.根据权利要求1所述的方法,其特征在于,所述基于所述过期时刻和所述系统时间,确定所述目标设备是否具有运行所述目标软件的权限,包括:
如果所述过期时刻不早于所述系统时间,确定所述目标设备具有运行所述目标软件的权限;
如果所述过期时刻早于所述系统时间,确定所述目标设备不具有运行所述目标软件的权限。
14.一种鉴权方法,其特征在于,所述方法应用于鉴权服务器,所述方法包括:
接收客户端发送的针对目标软件鉴权请求;
向所述客户端发送所述目标软件的过期时刻,以使所述客户端基于所述过期时刻生成密钥文件,其中,所述密钥文件中记录有所述密钥文件的生成时刻和所述过期时刻;判断所述密钥文件中记录的生成时刻,是否早于所述目标软件所在的目标设备当前的系统时间;如果是,基于所述密钥文件中记录的过期时刻和所述系统时间,确定所述目标设备是否具有运行所述目标软件的权限;否则,确定所述目标设备不具有运行所述目标软件的权限。
15.根据权利要求14所述的方法,其特征在于,在所述接收客户端发送的针对目标软件鉴权请求之后,所述方法还包括:
向所述客户端发送第一参数;其中,所述第一参数为基于第一预设加密算法对所述过期时刻进行加密得到的;以使所述客户端在检测到基于所述第一预设加密算法对所述鉴权服务器发送的过期时刻进行加密得到的第二参数,与所述第一参数相同的情况下,基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件。
16.一种鉴权系统,其特征在于,所述鉴权系统包括鉴权服务器和客户端,其中:
所述客户端,用于向所述鉴权服务器发送针对目标软件的鉴权请求;
所述鉴权服务器,用于接收所述鉴权请求,并根据所述鉴权请求向所述客户端发送所述目标软件的过期时刻;
所述客户端,还用于基于所述过期时刻生成密钥文件;其中,所述密钥文件中记录有所述密钥文件的生成时刻和所述过期时刻;判断所述密钥文件中记录的生成时刻,是否早于所述目标软件所在的目标设备当前的系统时间;如果是,基于所述密钥文件中记录的过期时刻和所述系统时间,确定所述目标设备是否具有运行所述目标软件的权限;如果否,确定所述目标设备不具有运行所述目标软件的权限。
17.一种鉴权装置,其特征在于,所述装置应用于客户端,所述装置包括:
获取模块,用于获取密钥文件,其中,所述密钥文件中记录有目标软件的过期时刻和所述密钥文件的生成时刻;
判断模块,用于判断所述生成时刻是否早于所述目标软件所在的目标设备当前的系统时间;
第一处理模块,用于如果所述生成时刻早于所述系统时间,基于所述过期时刻和所述系统时间,确定所述目标设备是否具有运行所述目标软件的权限;
第二处理模块,用于如果所述生成时刻不早于所述系统时间,确定所述目标设备不具有运行所述目标软件的权限;
所述获取模块,包括:
发送子模块,用于向鉴权服务器发送针对所述目标软件的鉴权请求;
接收子模块,用于接收所述鉴权服务器根据所述鉴权请求发送的所述目标软件的过期时刻;
生成子模块,用于基于所述鉴权服务器发送的过期时刻和所述系统时间生成密钥文件,其中,生成所述密钥文件时使用的系统时间为所述密钥文件的生成时刻。
18.一种鉴权装置,其特征在于,所述装置应用于鉴权服务器,所述装置包括:
接收模块,用于接收客户端发送的针对目标软件鉴权请求;
发送模块,用于向所述客户端发送所述目标软件的过期时刻,以使所述客户端基于所述过期时刻生成密钥文件,其中,所述密钥文件中记录有所述密钥文件的生成时刻和所述过期时刻;判断所述密钥文件中记录的生成时刻,是否早于所述目标软件所在的目标设备当前的系统时间;如果是,基于所述密钥文件中记录的过期时刻和所述系统时间,确定所述目标设备是否具有运行所述目标软件的权限;否则,确定所述目标设备不具有运行所述目标软件的权限。
19.一种电子设备,其特征在于,包括存储器和处理器;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-13,或14-15任一所述的方法步骤。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-13,或14-15任一所述的方法步骤。
CN202010443770.9A 2020-05-22 2020-05-22 鉴权方法、装置、系统、电子设备及计算机可读存储介质 Active CN111611577B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010443770.9A CN111611577B (zh) 2020-05-22 2020-05-22 鉴权方法、装置、系统、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010443770.9A CN111611577B (zh) 2020-05-22 2020-05-22 鉴权方法、装置、系统、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111611577A CN111611577A (zh) 2020-09-01
CN111611577B true CN111611577B (zh) 2023-10-03

Family

ID=72202194

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010443770.9A Active CN111611577B (zh) 2020-05-22 2020-05-22 鉴权方法、装置、系统、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111611577B (zh)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1345497A (zh) * 1999-10-01 2002-04-17 因弗拉沃克斯公司 提供数据安全性的系统和方法
JP2005063268A (ja) * 2003-08-18 2005-03-10 National Institute Of Advanced Industrial & Technology 電子ファイル認証システムおよび電子ファイル認証サーバならびに電子ファイル認証方法
CN1617153A (zh) * 2003-11-10 2005-05-18 索尼株式会社 内容使用管理系统和方法、内容播放设备和方法、计算机程序
CN105279404A (zh) * 2015-10-23 2016-01-27 上海帝联信息科技股份有限公司 操作系统操作控制方法及装置
CN106650482A (zh) * 2015-11-04 2017-05-10 阿里巴巴集团控股有限公司 电子文件加密解密方法、装置和系统
CN107103210A (zh) * 2016-02-19 2017-08-29 佳能株式会社 许可证系统、许可证管理服务器和方法
WO2018014723A1 (zh) * 2016-07-20 2018-01-25 腾讯科技(深圳)有限公司 密钥管理方法、装置、设备及系统
CN108304698A (zh) * 2018-01-25 2018-07-20 深圳市广和通无线股份有限公司 产品授权使用方法、装置、计算机设备和存储介质
CN109344579A (zh) * 2018-11-01 2019-02-15 厦门市美亚柏科信息股份有限公司 一种时间可信度的判定方法及装置
CN109933957A (zh) * 2017-12-19 2019-06-25 镇江飞协软件开发有限公司 一种软件期限验证的方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4817153B2 (ja) * 2009-11-06 2011-11-16 Necインフロンティア株式会社 情報端末に組み込まれたソフトウェアの更新時の認証方法、そのシステム及びそのプログラム
US8800058B2 (en) * 2011-07-27 2014-08-05 Microsoft Corporation Licensing verification for application use

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1345497A (zh) * 1999-10-01 2002-04-17 因弗拉沃克斯公司 提供数据安全性的系统和方法
JP2005063268A (ja) * 2003-08-18 2005-03-10 National Institute Of Advanced Industrial & Technology 電子ファイル認証システムおよび電子ファイル認証サーバならびに電子ファイル認証方法
CN1617153A (zh) * 2003-11-10 2005-05-18 索尼株式会社 内容使用管理系统和方法、内容播放设备和方法、计算机程序
CN105279404A (zh) * 2015-10-23 2016-01-27 上海帝联信息科技股份有限公司 操作系统操作控制方法及装置
CN106650482A (zh) * 2015-11-04 2017-05-10 阿里巴巴集团控股有限公司 电子文件加密解密方法、装置和系统
CN107103210A (zh) * 2016-02-19 2017-08-29 佳能株式会社 许可证系统、许可证管理服务器和方法
WO2018014723A1 (zh) * 2016-07-20 2018-01-25 腾讯科技(深圳)有限公司 密钥管理方法、装置、设备及系统
CN109933957A (zh) * 2017-12-19 2019-06-25 镇江飞协软件开发有限公司 一种软件期限验证的方法及装置
CN108304698A (zh) * 2018-01-25 2018-07-20 深圳市广和通无线股份有限公司 产品授权使用方法、装置、计算机设备和存储介质
CN109344579A (zh) * 2018-11-01 2019-02-15 厦门市美亚柏科信息股份有限公司 一种时间可信度的判定方法及装置

Also Published As

Publication number Publication date
CN111611577A (zh) 2020-09-01

Similar Documents

Publication Publication Date Title
JP5522307B2 (ja) 仮想機械によるソフトウェアテストを用いた電子ネットワークにおけるクライアントシステムの遠隔保守のためのシステム及び方法
CN110213276B (zh) 一种微服务架构下的授权验证方法、服务器、终端及介质
CN107800678B (zh) 检测终端异常注册的方法及装置
US20160036796A1 (en) Method and system for facilitating terminal identifiers
CN110543448A (zh) 数据同步方法、装置、设备及计算机可读存储介质
CN106656455B (zh) 一种网站访问方法及装置
CN111371889B (zh) 消息处理方法、装置、物联网系统和存储介质
CN111294337A (zh) 一种基于令牌的鉴权方法及装置
CN109460182B (zh) 一种数据存储、读取方法及装置
WO2016173267A1 (zh) 一种完整性校验方法和装置
CN113326503A (zh) 一种证书管理方法及计算设备
EP3210158A1 (en) Secure transmission
CN111611577B (zh) 鉴权方法、装置、系统、电子设备及计算机可读存储介质
CN110083786B (zh) 一种链接验证方法及装置
CN111628987B (zh) 鉴权方法、装置、系统、电子设备及计算机可读存储介质
US20220353088A1 (en) Secure Transmission
CN113169906B (zh) 信息处理装置、信息处理方法和计算机能读取的存储介质
CN114091078A (zh) 测试报告处理方法、测试平台和用户终端
CN111917787A (zh) 请求检测方法、装置、电子设备和计算机可读存储介质
CN112367302A (zh) 一种适用于chrome浏览器的身份认证方法及系统
EP4174697B1 (en) System, device and method for enabling identification when a security sensitive function has been previously enabled
CN109583183B (zh) 客户端管理方法及装置
CN110209679B (zh) 一种用于提升访问效率的数据存储方法、终端设备
CN118215037A (zh) 二次号码识别方法、装置、设备、介质及程序产品
CN115913770A (zh) 数据动态更新的方法、装置、计算机设备、介质和产品

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