CN108881132A - 应用授权方法、客户端、服务器和计算机可读介质 - Google Patents

应用授权方法、客户端、服务器和计算机可读介质 Download PDF

Info

Publication number
CN108881132A
CN108881132A CN201710610208.9A CN201710610208A CN108881132A CN 108881132 A CN108881132 A CN 108881132A CN 201710610208 A CN201710610208 A CN 201710610208A CN 108881132 A CN108881132 A CN 108881132A
Authority
CN
China
Prior art keywords
client application
identification code
heart
server
random identification
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.)
Granted
Application number
CN201710610208.9A
Other languages
English (en)
Other versions
CN108881132B (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 Megvii Technology Co Ltd
Beijing Maigewei Technology Co Ltd
Original Assignee
Beijing Megvii Technology Co Ltd
Beijing Maigewei 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 Megvii Technology Co Ltd, Beijing Maigewei Technology Co Ltd filed Critical Beijing Megvii Technology Co Ltd
Priority to CN201710610208.9A priority Critical patent/CN108881132B/zh
Publication of CN108881132A publication Critical patent/CN108881132A/zh
Application granted granted Critical
Publication of CN108881132B publication Critical patent/CN108881132B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供了一种应用授权方法、客户端、服务器和计算机可读介质,所述方法包括:由客户端应用生成与所述客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码;将所述随机标识码发送给服务器,以进行注册;以及周期性地向所述服务器发送带有所述随机标识码的心跳协议,以由所述服务器判断所述客户端应用的操作是否合法。根据本发明实施例的应用授权方法、客户端、服务器和计算机可读介质不基于不通用、易失效、易伪造的设备标识码来实施应用的授权机制,而是由应用本身随机生成标识码并且周期性心跳联系服务器,由服务器来判断应用的操作是否合法来实施应用的授权机制,通用性强,且不易失效、不易伪造。

Description

应用授权方法、客户端、服务器和计算机可读介质
技术领域
本发明涉及授权机制技术领域,更具体地涉及一种应用授权方法、客户端、服务器和计算机可读介质。
背景技术
目前的基于移动平台智能硬件的系统,比如给多个移动设备提供公有云业务的云服务的系统,再比如私有云环境下门禁机和后面的服务器系统等,这类系统一个共同的特点是,会拥有大量的客户端,其中的应用(App)会产生商业价值,所以会要求App进行授权、防止进行无节制的复制,造成开发者的利益流失。
一种传统的授权策略是,客户端获取某个本地唯一标识码供服务器鉴权,包括:手机捆绑ID、国际移动设备识别码(IMEI)、蓝牙地址、剪切板地址、关键链(Keychain)等,然后由服务器来控制唯一性,从而达到防止复制的目的。
然而,这种策略有三个弊端:(1)不通用:不同设备厂商提供的标识码并不通用,比如苹果系统(iOS)和安卓系统(Android)明显不同,即使同样是Android,不同厂商二次开发后的标识码也可能不尽相同;(2)容易失效:标识码往往随着平台版本升级往往会失效,比如出于隐私等考虑,iOS每一个大版本的升级都往往会屏蔽掉一种标识码,同样的,6.0版本以后的Android系统提供的IMEI都变成0000了;(3)容易伪造:由于是一个固定不变的标识码,所以很容易伪造以逃避服务器授权,一个最简单的例子是,如果所有的Android设备都返回同一个IMEI(不管是Android App破解,还是网络协议拦截),那么后端服务器只会认为前面只有一个App,整个授权机制就形同虚设了。
发明内容
为了解决上述问题提出了本发明。根据本发明一方面,提供了一种应用授权方法,所述方法包括:由客户端应用生成与所述客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码;将所述随机标识码发送给服务器,以进行注册;以及周期性地向所述服务器发送带有所述随机标识码的心跳协议,以由所述服务器判断所述客户端应用的操作是否合法。
在本发明的一个实施例中,所述判断所述客户端应用的操作是否合法包括:判断所述心跳协议中的随机标识码是否为经注册的随机标识码;以及判断发送所述心跳协议的客户端应用发送所述心跳协议的频率是否合法,当所述心跳协议中的随机标识码为经注册的随机标识码、且当发送所述心跳协议的频率合法时确定所述客户端应用的操作合法,否则不合法。
在本发明的一个实施例中,所述方法还包括:接收所述服务器发送的反馈数据,并根据所述反馈数据相应执行后续操作,其中,当判定所述客户端应用的操作合法时,所述反馈数据为正常处理数据,所述后续操作为执行所述应用的正常功能;当判定所述客户端应用的操作不合法时,所述反馈数据为关闭所述客户端应用的指示,所述后续操作为终止所述应用的运行。
在本发明的一个实施例中,所述随机标识码的生成是基于所述客户端应用和所述服务器预先约定的规则。
在本发明的一个实施例中,所述随机标识码的生成是基于预定的随机变量。
在本发明的一个实施例中,所述预定的随机变量包括时间变量。
根据本发明另一方面,提供了一种用于实现上述任一项所述的应用授权方法的客户端,所述客户端包括:随机标识码生成模块,用于生成与客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码,并将所述随机标识码发送给服务器,以进行注册;以及心跳发送模块,用于周期性地向所述服务器发送带有所述随机标识码的心跳协议,以由所述服务器判断所述客户端应用的操作是否合法。
根据本发明再一方面,提供了一种客户端,所述客户端包括存储装置和处理器,所述存储装置上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行上述任一项所述的应用授权方法。
根据本发明又一方面,提供了一种应用授权方法,所述方法包括:接收客户端应用发送的由所述客户端应用生成的与所述客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码,并进行所述客户端应用的注册;以及接收客户端应用周期性发送的带有随机标识码的心跳协议,并基于所述心跳协议判断发送所述心跳协议的客户端应用的操作是否合法。
在本发明的一个实施例中,所述进行所述客户端应用的注册包括:对所接收的随机标识码进行校验和记录,以完成所述客户端应用的注册。
在本发明的一个实施例中,所述基于所述心跳协议判断发送所述心跳协议的客户端应用的操作是否合法包括:判断所述心跳协议中的随机标识码是否为经注册的随机标识码;以及判断发送所述心跳协议的客户端应用发送所述心跳协议的频率是否合法,当所述心跳协议中的随机标识码为经注册的随机标识码、且当发送所述心跳协议的频率合法时确定所述客户端应用的操作合法,否则不合法。
在本发明的一个实施例中,所述方法还包括:当确定所述客户端应用的操作合法时,正常返回;以及当确定所述客户端应用的操作不合法时,通知所述客户端应用并终止服务。
根据本发明另一方面,提供了一种用于实现上述任一项所述的应用授权方法的服务器,所述服务器包括:注册模块,用于接收客户端应用发送的由所述客户端应用生成的与所述客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码,并进行所述客户端应用的注册;以及判断模块,用于接收客户端应用周期性发送的带有随机标识码的心跳协议,并基于所述心跳协议判断发送所述心跳协议的客户端应用的操作是否合法。
根据本发明再一方面,提供了一种服务器,所述服务器包括存储装置和处理器,所述存储装置上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行上述任一项所述的应用授权方法。
根据本发明又一方面,提供了一种计算机可读介质,所述计算机可读介质上存储有计算机程序,所述计算机程序在运行时执行上述任一项所述的应用授权方法。
根据本发明实施例的应用授权方法、客户端、服务器和计算机可读介质不基于不通用、易失效、易伪造的设备标识码来实施应用的授权机制,而是由应用本身随机生成标识码并且周期性心跳联系服务器,由服务器来判断应用的操作是否合法来实施应用的授权机制,通用性强,且不易失效、不易伪造。
附图说明
通过结合附图对本发明实施例进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明实施例一起用于解释本发明,并不构成对本发明的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1示出用于实现根据本发明实施例的应用授权方法、客户端、服务器和计算机可读介质的示例电子设备的示意性框图;
图2示出根据本发明实施例的应用授权方法的示意性流程图;
图3示出用于实现图2所示方法的客户端的示意性框图;
图4示出根据本发明实施例的客户端的示意性框图;
图5示出根据本发明另一实施例的应用授权方法的示意性流程图;
图6示出用于实现图5所示方法的服务器的示意性框图;
图7示出本发明实施例的服务器的示意性框图;以及
图8示出本发明实施例的客户端与服务器的交互示意图。
具体实施方式
为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。
首先,参照图1来描述用于实现本发明实施例的应用授权方法、客户端、服务器和计算机可读介质的示例电子设备100。
如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106以及输出装置108,这些组件通过总线系统110和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备可以不包括上述组件的全部,也可以具有其他组件和结构。
所述处理器102可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。
所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端/服务器功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。
所述输出装置108可以向外部(例如用户)输出各种信息(例如图像或声音),并且可以包括显示器、扬声器等中的一个或多个。
示例性地,用于实现根据本发明实施例的应用授权方法、客户端和计算机可读介质的示例电子设备可以被实现为诸如智能手机、平板电脑等,用于实现根据本发明实施例的应用授权方法、服务器和计算机可读介质可被实现为各种服务器。
本发明所提供的应用授权方法涉及客户端和服务器端。下面,首先参考图2描述根据本发明实施例的应用授权方法200,应用授权方法200是站在客户端的角度描述的应用授权方法。与此相对的,稍后将结合图5描述根据本发明另一实施例的应用授权方法500,应用授权方法500是站在服务器的角度描述的应用授权方法。
如图2所示的,应用授权方法200可以包括如下步骤:
在步骤S210,由客户端应用生成与所述客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码。
在步骤S220,将所述随机标识码发送给服务器,以进行注册。
在步骤S230,周期性地向所述服务器发送带有所述随机标识码的心跳协议,以由所述服务器判断所述客户端应用的操作是否合法。
在一个实施例中,由客户端应用在本地随机生成标识码,称为随机标识码。由于随机标识码是随机生成的且与客户端应用唯一对应的且与安装所述客户端应用的终端设备的设备标识码无关的,因此可以确保随机标识码的唯一性,使得服务器对客户端应用的授权具备唯一性,不会出现服务器将多个同款的被复制的客户端应用均授权的情况,可以有效防止客户端应用的复制。
示例性地,随机标识码的生成可以是基于客户端应用和服务器预先约定的规则(双向加密),这样,同款APP所生成的随机标识码的类别是一定的,便于服务器识别到是哪一款APP需要授权。此外,随机标识码的生成可以是基于预定的随机变量(比如时间变量)。这样,即使APP被复制多份,但由于随机变量可能发生的变化(比如时间上的不同)而无法生成一样的随机标识码。即使时间完全相同(伪造时间或者时间真的完全一致),随机性也大到极难重复,从而可以确保随机标识码的唯一性。
在一个实施例中,在将生成的随机标识码发送给服务器后,可以实现客户端应用的注册,即该随机标识码已经被记录下来成为经注册的随机标识码。基于此,在周期性向服务器发送带有随机标识码的心跳协议时,服务器可以判断心跳协议中的随机标识码是否为经注册的随机标识码并判断发送所述心跳协议的客户端应用发送所述心跳协议的频率是否合法,当所述心跳协议中的随机标识码为经注册的随机标识码、且当发送所述心跳协议的频率合法时,服务器可确定所述客户端应用的操作合法,否则可确定所述客户端应用的操作不合法,这部分将在下文中参照图5进行详细的描述。
进一步地,应用授权方法200还可以包括以下步骤(未在图2中示出):接收服务器发送的反馈数据,并根据所述反馈数据相应执行后续操作,其中,当判定所述客户端应用的操作合法时,所述反馈数据为正常处理数据,所述后续操作为执行所述应用的正常功能;当判定所述客户端应用的操作不合法时,所述反馈数据为关闭所述客户端应用的指示,所述后续操作为终止所述应用的运行。此处,应用的正常功能可以为应用本身正常运行时提供的功能,具体的功能可以取决于应用的类型。例如,当应用为人脸检测/识别相关的应用时,该应用的正常功能为人脸检测、人脸识别等服务。基于服务器发送的反馈数据执行相应的后续操作,可以确保合法应用的正常运行,并确保不合法应用被禁止运行,实现服务器对应用的准确授权。
下面参考图3描述用于实现图2所示方法的客户端。图3示出用于实现图2所示方法的客户端300的示意性框图。
如图3所示,客户端300包括随机标识码生成模块310和心跳发送模块320。所述各个模块可分别执行上文中结合图2描述的应用授权方法的各个步骤/功能。以下仅对客户端300的各单元的主要功能进行描述,而省略以上已经描述过的细节内容。
随机标识码生成模块310用于生成与客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码,并将所述随机标识码发送给服务器,以进行注册。心跳发送模块320用于周期性地向所述服务器发送带有所述随机标识码的心跳协议,以由所述服务器判断所述客户端应用的操作是否合法。随机标识码生成模块310和心跳模块320均可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
图4示出了根据本发明实施例的客户端400的示意性框图。客户端400包括存储装置410以及处理器420。
其中,存储装置410存储用于实现根据本发明实施例的应用授权方法200中的相应步骤的程序代码。处理器420用于运行存储装置410中存储的程序代码,以执行根据本发明实施例的应用授权方法200的相应步骤,并且用于实现根据本发明实施例的客户端300中的相应模块。
在一个实施例中,在所述程序代码被处理器420运行时使得客户端400执行以下操作:由客户端应用生成与所述客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码;将所述随机标识码发送给服务器,以进行注册;以及周期性地向所述服务器发送带有所述随机标识码的心跳协议,以由所述服务器判断所述客户端应用的操作是否合法。
在一个实施例中,在所述程序代码被处理器420运行时使得客户端400执行的所述判断所述客户端应用的操作是否合法包括:判断所述心跳协议中的随机标识码是否为经注册的随机标识码;以及判断发送所述心跳协议的客户端应用发送所述心跳协议的频率是否合法,当所述心跳协议中的随机标识码为经注册的随机标识码、且当发送所述心跳协议的频率合法时确定所述客户端应用的操作合法,否则不合法。
在一个实施例中,在所述程序代码被处理器420运行时还使得客户端400执行以下操作:接收所述服务器发送的反馈数据,并根据所述反馈数据相应执行后续操作,其中,当判定所述客户端应用的操作合法时,所述反馈数据为正常处理数据,所述后续操作为执行所述应用的正常功能;当判定所述客户端应用的操作不合法时,所述反馈数据为关闭所述客户端应用的指示,所述后续操作为终止所述应用的运行。
在一个实施例中,在所述程序代码被处理器420运行时使得客户端400执行的所述随机标识码的生成是基于所述客户端应用和所述服务器预先约定的规则。
在一个实施例中,在所述程序代码被处理器420运行时使得客户端400执行的所述随机标识码的生成是基于预定的随机变量。
在一个实施例中,所述预定的随机变量包括时间变量。
此外,根据本发明实施例,还提供了一种计算机可读介质,在所述计算机可读介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的应用授权方法200的相应步骤,并且用于实现根据本发明实施例的客户端300中的相应模块。所述计算机可读介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合,例如一个计算机可读存储介质包含生成与客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码的计算机可读的程序代码,另一个计算机可读存储介质包含将所述随机标识码发送给服务器的计算机可读的程序代码,再一个计算机可读存储介质包含周期性地向所述服务器发送带有所述随机标识码的心跳协议的计算机可读的程序代码。
在一个实施例中,所述计算机程序指令在被计算机运行时可以实现根据本发明实施例的客户端300的各个功能模块,并且/或者可以执行根据本发明实施例的应用授权方法200。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行以下操作:由客户端应用生成与所述客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码;将所述随机标识码发送给服务器,以进行注册;以及周期性地向所述服务器发送带有所述随机标识码的心跳协议,以由所述服务器判断所述客户端应用的操作是否合法。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行的所述判断所述客户端应用的操作是否合法包括:判断所述心跳协议中的随机标识码是否为经注册的随机标识码;以及判断发送所述心跳协议的客户端应用发送所述心跳协议的频率是否合法,当所述心跳协议中的随机标识码为经注册的随机标识码、且当发送所述心跳协议的频率合法时确定所述客户端应用的操作合法,否则不合法。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使还计算机或处理器执行以下操作:接收所述服务器发送的反馈数据,并根据所述反馈数据相应执行后续操作,其中,当判定所述客户端应用的操作合法时,所述反馈数据为正常处理数据,所述后续操作为执行所述应用的正常功能;当判定所述客户端应用的操作不合法时,所述反馈数据为关闭所述客户端应用的指示,所述后续操作为终止所述应用的运行。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行的所述随机标识码的生成是基于所述客户端应用和所述服务器预先约定的规则。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行的所述随机标识码的生成是基于预定的随机变量。
在一个实施例中,所述预定的随机变量包括时间变量。
基于上面的描述,根据本发明实施例的应用授权方法200、客户端300、客户端400以及计算机可读介质不基于不通用、易失效、易伪造的设备标识码来实施应用的授权机制,而是由应用本身随机生成标识码并且周期性心跳联系服务器,由服务器来判断应用的操作是否合法来实施应用的授权机制,通用性强,且不易失效、不易伪造。
下面参考图5描述根据本发明另一实施例的应用授权方法500,应用授权方法500是站在服务器的角度描述的应用授权方法。与此相对的,前面结合图2描述根据本发明实施例的应用授权方法200是站在客户端的角度描述的应用授权方法。
如图5所示的,应用授权方法500可以包括如下步骤:
在步骤S510,接收客户端应用发送的由所述客户端应用生成的与所述客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码,并进行所述客户端应用的注册。
在步骤S520,接收客户端应用周期性发送的带有随机标识码的心跳协议,并基于所述心跳协议判断发送所述心跳协议的客户端应用的操作是否合法。
在一个实施例中,在步骤S510所接收的随机标识码是由客户端应用生成并发送的与客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码,如前所述的,由于随机标识码是随机生成的且与客户端应用唯一对应的且与安装所述客户端应用的终端设备的设备标识码无关的,因此可以确保随机标识码的唯一性,使得服务器对客户端应用的授权具备唯一性。
示例性地,随机标识码的生成可以是基于客户端应用和服务器预先约定的规则。此外,随机标识码的生成可以是基于预定的随机变量(比如时间变量)。在上文中已经对此进行了详细描述,为了简洁,此处不再赘述。
在一个实施例中,步骤S510中的所述进行所述客户端应用的注册可以包括:对所接收的随机标识码进行校验和记录,以完成所述客户端应用的注册。在接收到客户端应用发送来的随机标识码后,可以依据事先约定的规则对随机标识码进行校验,以确定是哪一款APP,然后可将其记录下来,以作为经注册的随机标识码,从而使得客户端应用完成注册。
在一个实施例中,步骤S520中的所述基于所述心跳协议判断发送所述心跳协议的客户端应用是否合法(也可以称为判断心跳是否合法)可以包括:判断所述心跳协议中的随机标识码是否为经注册的随机标识码;以及判断发送所述心跳协议的客户端应用发送所述心跳协议的频率是否合法。其中,当所述心跳协议中的随机标识码为经注册的随机标识码、且当发送所述心跳协议的频率合法时确定所述客户端应用的操作合法,否则确定所述客户端应用的操作不合法。
此处应注意,步骤S520中的客户端应用可能不是步骤S510中提到的客户端应用(当然也可能是步骤S510中提到的客户端应用),如果步骤S520中的客户端应用是步骤S510中提到的客户端应用(即步骤S520中的客户端应用是完成了注册的应用),则其发送的随机标识码必定是经注册的随机标识码,那么,服务器只要判断其心跳频率合法,则确定该客户端应用的操作是合法的。反之,如果步骤S520中的客户端应用不是步骤S510中提到的客户端应用(即步骤S520中的客户端应用不是完成了注册的应用),则其发送的随机标识码必定不是经注册的随机标识码,即该客户端应用的操作可能是被复制的,这样,由于服务器确定其发送的心跳协议中的随机标识码不是经注册的随机标识码(甚至其心跳协议中可能没有随机标识码),从而无需确认其心跳频率是否合法即可判定该客户端应用的操作是不合法的。
在一个实施例中,确定心跳频率是否合法可以包括:确定一段时间之内心跳的次数是否合法。例如,如果心跳频率应该是5分钟一次,那么,服务器应确定在1秒到4分59秒内确定是否只接到了1次心跳协议,如果是,则确定心跳频率是合法的,反之则不合法。考虑到有网络波动等一些干扰因素存在,心跳频率(周期)可以不必那么严格,可以有一定的浮动空间。
在一个实施例中,方法500还可以包括:当确定所述客户端应用的操作合法时,正常返回(例如返回正常的数据使得客户端应用执行其正常的功能);以及当确定所述客户端应用的操作不合法时,通知所述客户端应用并终止服务(例如返回指示关闭客户端应用的数据,以使得客户端应用终止运行)。基于此,在客户端应用的操作不合法时,即可不对其授权,从而有效防止了客户端应用的复制。
下面参考图6描述用于实现图5所示方法的客户端。图6示出用于实现图5所示方法的服务器600的示意性框图。
如图6所示,服务器600包括注册模块610和判断模块620。所述各个模块可分别执行上文中结合图5描述的应用授权方法500的各个步骤/功能。以下仅对服务器600的各单元的主要功能进行描述,而省略以上已经描述过的细节内容。
注册模块610用于接收客户端应用发送的由所述客户端应用生成的与所述客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码,并进行所述客户端应用的注册。判断模块620用于接收客户端应用周期性发送的带有随机标识码的心跳协议,并基于所述心跳协议判断发送所述心跳协议的客户端应用的操作是否合法。注册模块610和判断模块620均可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。
图7示出了根据本发明实施例的服务器700的示意性框图。服务器700包括存储装置710以及处理器720。
其中,存储装置710存储用于实现根据本发明实施例的应用授权方法500中的相应步骤的程序代码。处理器720用于运行存储装置710中存储的程序代码,以执行根据本发明实施例的应用授权方法500的相应步骤,并且用于实现根据本发明实施例的服务器600中的相应模块。
在一个实施例中,在所述程序代码被处理器720运行时使得服务器700执行以下操作:接收客户端应用发送的由所述客户端应用生成的与所述客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码,并进行所述客户端应用的注册;以及接收客户端应用周期性发送的带有随机标识码的心跳协议,并基于所述心跳协议判断发送所述心跳协议的客户端应用的操作是否合法。
在一个实施例中,在所述程序代码被处理器720运行时使得服务器700执行的所述进行所述客户端应用的注册包括:对所接收的随机标识码进行校验和记录,以完成所述客户端应用的注册。
在一个实施例中,在所述程序代码被处理器720运行时使得服务器700执行的所述基于所述心跳协议判断发送所述心跳协议的客户端应用的操作是否合法包括:判断所述心跳协议中的随机标识码是否为经注册的随机标识码;以及判断发送所述心跳协议的客户端应用发送所述心跳协议的频率是否合法,当所述心跳协议中的随机标识码为经注册的随机标识码、且当发送所述心跳协议的频率合法时确定所述客户端应用的操作合法,否则不合法。
在一个实施例中,在所述程序代码被处理器720运行时还使得服务器700执行以下步骤:当确定所述客户端应用的操作合法时,正常返回;以及当确定所述客户端应用的操作不合法时,通知所述客户端应用并终止服务。
此外,根据本发明实施例,还提供了一种计算机可读介质,在所述计算机可读介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的应用授权方法500的相应步骤,并且用于实现根据本发明实施例的服务器600中的相应模块。所述计算机可读介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述计算机可读存储介质可以是一个或多个计算机可读存储介质的任意组合,例如一个计算机可读存储介质包含接收客户端应用发送的由所述客户端应用生成的与所述客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码并进行所述客户端应用的注册的计算机可读的程序代码,另一个计算机可读存储介质包含接收客户端应用周期性发送的带有随机标识码的心跳协议并基于所述心跳协议判断发送所述心跳协议的客户端应用的操作是否合法的计算机可读的程序代码。
在一个实施例中,所述计算机程序指令在被计算机运行时可以实现根据本发明实施例的服务器600的各个功能模块,并且/或者可以执行根据本发明实施例的应用授权方法500。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行以下操作:接收客户端应用发送的由所述客户端应用生成的与所述客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码,并进行所述客户端应用的注册;以及接收客户端应用周期性发送的带有随机标识码的心跳协议,并基于所述心跳协议判断发送所述心跳协议的客户端应用的操作是否合法。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行的所述进行所述客户端应用的注册包括:对所接收的随机标识码进行校验和记录,以完成所述客户端应用的注册。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时使计算机或处理器执行的所述基于所述心跳协议判断发送所述心跳协议的客户端应用的操作是否合法包括:判断所述心跳协议中的随机标识码是否为经注册的随机标识码;以及判断发送所述心跳协议的客户端应用发送所述心跳协议的频率是否合法,当所述心跳协议中的随机标识码为经注册的随机标识码、且当发送所述心跳协议的频率合法时确定所述客户端应用的操作合法,否则不合法。
在一个实施例中,所述计算机程序指令在被计算机或处理器运行时还使计算机或处理器执行以下步骤:当确定所述客户端应用的操作合法时,正常返回;以及当确定所述客户端应用的操作不合法时,通知所述客户端应用并终止服务。
基于上面的描述,根据本发明实施例的应用授权方法500、服务器600、服务器700以及计算机可读介质不基于不通用、易失效、易伪造的设备标识码来实施应用的授权机制,而是由应用本身随机生成标识码并且周期性心跳联系服务器,由服务器来判断应用的操作是否合法来实施应用的授权机制,通用性强,且不易失效、不易伪造。
为了更清楚地提供本发明的内容,下面参考图8描述本发明实施例的客户端与服务器的交互示意图。如图8所示,客户端应用生成随机标识码并发送给服务器;服务器对该随机标识码进行校验并记录;随后,客户端按照一定的周期发心跳协议给服务器;服务器判定心跳是否合法,如果合法,则正常返回,如果不合法,则通知客户端应用终止运行。
基于上面的描述,根据本发明实施例的应用授权方法、客户端、服务器以及计算机可读介质不基于不通用、易失效、易伪造的设备标识码来实施应用的授权机制,而是由应用本身随机生成标识码并且周期性心跳联系服务器,由服务器来判断应用的操作是否合法来实施应用的授权机制,通用性强,且不易失效、不易伪造。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者其他合适的处理器来实现根据本发明实施例的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。

Claims (15)

1.一种应用授权方法,其特征在于,所述方法包括:
由客户端应用生成与所述客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码;
将所述随机标识码发送给服务器,以进行注册;以及
周期性地向所述服务器发送带有所述随机标识码的心跳协议,以由所述服务器判断所述客户端应用的操作是否合法。
2.根据权利要求1所述的方法,其特征在于,所述判断所述客户端应用的操作是否合法包括:
判断所述心跳协议中的随机标识码是否为经注册的随机标识码;以及
判断发送所述心跳协议的客户端应用发送所述心跳协议的频率是否合法,
当所述心跳协议中的随机标识码为经注册的随机标识码、且当发送所述心跳协议的频率合法时确定所述客户端应用的操作合法,否则不合法。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述服务器发送的反馈数据,并根据所述反馈数据相应执行后续操作,
其中,当判定所述客户端应用的操作合法时,所述反馈数据为正常处理数据,所述后续操作为执行所述应用的正常功能;当判定所述客户端应用的操作不合法时,所述反馈数据为关闭所述客户端应用的指示,所述后续操作为终止所述应用的运行。
4.根据权利要求1所述的方法,其特征在于,所述随机标识码的生成是基于所述客户端应用和所述服务器预先约定的规则。
5.根据权利要求4所述的方法,其特征在于,所述随机标识码的生成是基于预定的随机变量。
6.根据权利要求5所述的方法,其特征在于,所述预定的随机变量包括时间变量。
7.一种用于实现如权利要求1-6中的任一项所述的应用授权方法的客户端,其特征在于,所述客户端包括:
随机标识码生成模块,用于生成与客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码,并将所述随机标识码发送给服务器,以进行注册;以及
心跳发送模块,用于周期性地向所述服务器发送带有所述随机标识码的心跳协议,以由所述服务器判断所述客户端应用的操作是否合法。
8.一种客户端,其特征在于,所述客户端包括存储装置和处理器,所述存储装置上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求1-6中的任一项所述的应用授权方法。
9.一种应用授权方法,其特征在于,所述方法包括:
接收客户端应用发送的由所述客户端应用生成的与所述客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码,并进行所述客户端应用的注册;以及
接收客户端应用周期性发送的带有随机标识码的心跳协议,并基于所述心跳协议判断发送所述心跳协议的客户端应用的操作是否合法。
10.根据权利要求9所述的方法,其特征在于,所述进行所述客户端应用的注册包括:
对所接收的随机标识码进行校验和记录,以完成所述客户端应用的注册。
11.根据权利要求9所述的方法,其特征在于,所述基于所述心跳协议判断发送所述心跳协议的客户端应用的操作是否合法包括:
判断所述心跳协议中的随机标识码是否为经注册的随机标识码;以及
判断发送所述心跳协议的客户端应用发送所述心跳协议的频率是否合法,
当所述心跳协议中的随机标识码为经注册的随机标识码、且当发送所述心跳协议的频率合法时确定所述客户端应用的操作合法,否则不合法。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
当确定所述客户端应用的操作合法时,正常返回;以及
当确定所述客户端应用的操作不合法时,通知所述客户端应用并终止服务。
13.一种用于实现如权利要求9-12中的任一项所述的应用授权方法的服务器,其特征在于,所述服务器包括:
注册模块,用于接收客户端应用发送的由所述客户端应用生成的与所述客户端应用唯一对应的、与安装所述客户端应用的终端设备的设备标识码无关的随机标识码,并进行所述客户端应用的注册;以及
判断模块,用于接收客户端应用周期性发送的带有随机标识码的心跳协议,并基于所述心跳协议判断发送所述心跳协议的客户端应用的操作是否合法。
14.一种服务器,其特征在于,所述服务器包括存储装置和处理器,所述存储装置上存储有由所述处理器运行的计算机程序,所述计算机程序在被所述处理器运行时执行如权利要求9-12中的任一项所述的应用授权方法。
15.一种计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机程序,所述计算机程序在运行时执行如权利要求1-6、9-12中的任一项所述的应用授权方法。
CN201710610208.9A 2017-07-25 2017-07-25 应用授权方法、客户端、服务器和计算机可读介质 Active CN108881132B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710610208.9A CN108881132B (zh) 2017-07-25 2017-07-25 应用授权方法、客户端、服务器和计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710610208.9A CN108881132B (zh) 2017-07-25 2017-07-25 应用授权方法、客户端、服务器和计算机可读介质

Publications (2)

Publication Number Publication Date
CN108881132A true CN108881132A (zh) 2018-11-23
CN108881132B CN108881132B (zh) 2021-03-23

Family

ID=64325387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710610208.9A Active CN108881132B (zh) 2017-07-25 2017-07-25 应用授权方法、客户端、服务器和计算机可读介质

Country Status (1)

Country Link
CN (1) CN108881132B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111343129A (zh) * 2018-12-19 2020-06-26 杭州萤石软件有限公司 一种防御协议组网被破解的方法和设备
WO2022127145A1 (zh) * 2020-12-15 2022-06-23 广州橙行智动汽车科技有限公司 车载服务授权防伪监控方法及车辆
CN115150145A (zh) * 2022-06-28 2022-10-04 腾讯科技(深圳)有限公司 众包设备通信方法、装置、计算机设备和存储介质

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 深圳市快播科技有限公司 一种软件后台认证方法、认证服务器和终端
US20130124292A1 (en) * 2010-07-29 2013-05-16 Nirmal Juthani System and method for generating a strong multi factor personalized server key from a simple user password
CN106682905A (zh) * 2015-11-09 2017-05-17 北京速通科技有限公司 一种应用解锁方法
WO2017084451A1 (zh) * 2015-11-18 2017-05-26 腾讯科技(深圳)有限公司 识别恶意软件的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130124292A1 (en) * 2010-07-29 2013-05-16 Nirmal Juthani System and method for generating a strong multi factor personalized server key from a simple user password
CN102983968A (zh) * 2011-09-02 2013-03-20 深圳市快播科技有限公司 一种软件后台认证方法、认证服务器和终端
CN106682905A (zh) * 2015-11-09 2017-05-17 北京速通科技有限公司 一种应用解锁方法
WO2017084451A1 (zh) * 2015-11-18 2017-05-26 腾讯科技(深圳)有限公司 识别恶意软件的方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111343129A (zh) * 2018-12-19 2020-06-26 杭州萤石软件有限公司 一种防御协议组网被破解的方法和设备
WO2022127145A1 (zh) * 2020-12-15 2022-06-23 广州橙行智动汽车科技有限公司 车载服务授权防伪监控方法及车辆
CN115150145A (zh) * 2022-06-28 2022-10-04 腾讯科技(深圳)有限公司 众包设备通信方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN108881132B (zh) 2021-03-23

Similar Documents

Publication Publication Date Title
TWI699720B (zh) 針對業務操作的風險控制方法及裝置
EP3602957B1 (en) Out-of-band challenge in a computer system
US20180293557A1 (en) Method of charging electronic currency automatically based on blockchain and system thereof
US9826400B2 (en) Method and apparatus that facilitates a wearable identity manager
CN102281286B (zh) 分布式混合企业的灵活端点顺从和强认证的方法和系统
Mellado et al. Applying a security requirements engineering process
CN108898389A (zh) 基于区块链的内容验证方法及装置、电子设备
CN108960825A (zh) 基于区块链的电子签名方法及装置、电子设备
CN105556919B (zh) 使用服务请求票据进行多因素认证
AU2015361023A1 (en) Provisioning platform for machine-to-machine devices
CN106796519A (zh) 用于在移动应用更新期间部分个性化的方法和系统
US10044727B2 (en) Authenticating a request for an electronic transaction
CN110832479A (zh) 用于软件激活和许可证跟踪的系统和方法
US20160142405A1 (en) Authenticating a device based on availability of other authentication methods
US10635820B1 (en) Update policy-based anti-rollback techniques
CN108881132A (zh) 应用授权方法、客户端、服务器和计算机可读介质
CN104753944A (zh) 账户安全验证方法和系统
CN102216935A (zh) 使用游戏输入密码的设备与方法
Shrestha et al. Towards decentralized data storage in general cloud platform for meta-products
CN109792446A (zh) 瞬态交易服务器
CN115668180A (zh) 移动操作系统中基于应用的销售点系统
CN110599144A (zh) 一种区块链节点的入网方法以及装置
CN109842616A (zh) 账号绑定方法、装置及服务器
US20170169433A1 (en) Dynamically generated payment token ratings
CN114207613A (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