首页> 中国专利> 应用程序的授权方法、授权系统、激活装置及计算设备

应用程序的授权方法、授权系统、激活装置及计算设备

摘要

本发明公开了一种应用程序的授权方法,包括:接收终端基于访问标识码发送的访问请求,访问标识码是由待授权设备在无网环境下基于激活码、硬件信息和设备标识生成;基于硬件信息生成与待授权设备相对应的硬件标识,将硬件标识返回至终端,以便终端基于该硬件标识以待授权设备的身份与服务器通信;接收终端基于硬件标识发送的对应用程序的离线授权请求;基于设备标识进行加密生成相应的授权码;将授权码返回至所述终端,以便待授权设备获取授权码,基于授权码获得对应用程序的授权。本发明一并公开了相应的系统、激活装置和计算设备。根据本发明的技术方案,能实现在离线状态下对应用程序进行激活,而且能提高授权过程的安全性和可控性。

著录项

  • 公开/公告号CN112182550A

    专利类型发明专利

  • 公开/公告日2021-01-05

    原文格式PDF

  • 申请/专利权人 统信软件技术有限公司;

    申请/专利号CN202011367033.1

  • 发明设计人 金奇才;王锴;山成;

    申请日2020-11-30

  • 分类号G06F21/44(20130101);G06F21/73(20130101);

  • 代理机构11774 北京瀚方律师事务所;

  • 代理人周红力

  • 地址 100176 北京市大兴区经济技术开发区科谷一街10号院12号楼18层

  • 入库时间 2023-06-19 09:29:07

说明书

技术领域

本发明涉及网络通信技术领域,尤其涉及一种应用程序的授权方法、应用程序的授权系统、激活装置及计算设备。

背景技术

目前,一些应用程序通常需要获得授权才能正常使用。在计算设备中安装软件后,用户在客户端使用软件时,通常需要购买软件、获取激活码,基于激活码获得应用程序的授权,从而可以在客户端正常使用应用程序的功能。

然而,大部分应用程序的授权过程,并不能在离线状态下进行。需要计算设备在能够访问公网的情况下,计算设备通过网络与应用服务器建立通信连接,才能实现从应用服务器获取激活码,在计算设备上基于激活码对应用程序进行激活授权。

而针对离线环境下对应用程序的授权,现有技术中的方案,一般是先获取待授权的计算设备的硬件信息,导出包括相应硬件信息的配置文件,进而,进入应用程序对应的官网,并在官网页面导入硬件信息的配置文件,这样可以在网站生成一个软件的离线激活证书。进而,通过获取离线激活证书,并将离线激活证书导入到待授权的计算设备中,便可以对应用程序进行激活,获得授权。但,这种方案存在明显的缺陷,硬件信息的配置文件很容易被篡改,导致授权过程的安全性较低。

为此,需要一种应用程序的授权方法,以解决上述技术方案中存在的问题。

发明内容

为此,本发明提供一种应用程序的授权方法、应用程序的授权系统、激活装置及计算设备,以解决或至少缓解上面存在的问题。

根据本发明的一个方面,提供一种应用程序的授权方法,在服务器中执行,所述方法包括:接收终端基于访问标识码发送的访问请求,所述访问标识码是由待授权设备在无网环境下基于激活码、硬件信息和设备标识生成;基于所述硬件信息生成与待授权设备相对应的硬件标识,将硬件标识返回至终端,以便终端基于该硬件标识以待授权设备的身份与服务器通信;接收终端基于所述硬件标识以待授权设备的身份发送的对应用程序的离线授权请求;对待授权设备的设备标识进行加密,以生成相应的授权码;以及将所述授权码返回至所述终端,以便待授权设备获取授权码,基于授权码获得对应用程序的授权。

可选地,在根据本发明的应用程序的授权方法中,所述访问请求还包括应用程序对应的应用信息,在接收终端基于硬件标识发送的对应用程序的离线授权请求之后,包括步骤:基于硬件信息和应用信息确定有效激活码,以确定所述访问请求中的激活码是否有效;如果确定有效,则将所述激活码与硬件标识建立关联,并对待授权设备的设备标识进行加密生成相应的授权码。

可选地,在根据本发明的应用程序的授权方法中,确定所述激活码是否有效的步骤还包括:获取该激活码对应的时效信息,基于时效信息确定所述激活码当前是否在时效期限内。

可选地,在根据本发明的应用程序的授权方法中,所述访问请求还包括应用程序对应的应用标识,对待授权设备的设备标识进行加密包括:对待授权设备的设备标识、应用标识进行加密。

可选地,在根据本发明的应用程序的授权方法中,对待授权设备的设备标识进行加密的步骤包括:获取非对称加密算法,利用所述非对称加密算法对待授权设备的设备标识进行加密。

可选地,在根据本发明的应用程序的授权方法中,所述待授权设备中存储有设备标识,所述待授权设备在获取授权码后进一步适于:对授权码进行解密生成授权后的设备标识,并确定授权后的设备标识与其存储的设备标识是否相同,如果相同,则获得对应用程序的授权。

可选地,在根据本发明的应用程序的授权方法中,所述待授权设备适于在获取到激活码时,检测当前网络环境是有网环境还是无网环境,并在确定是无网环境时,基于激活码、硬件信息和设备标识生成访问标识码。

可选地,在根据本发明的应用程序的授权方法中,所述授权设备生成访问标识码的步骤包括:获取应用程序的激活码;获取待授权设备的硬件信息;基于所述硬件信息生成设备标识,并存储所述设备标识;基于所述激活码、硬件信息和设备标识生成访问标识码。

可选地,在根据本发明的应用程序的授权方法中,所述访问标识码为二维码。

根据本发明的一个方面,提供一种激活装置,驻留在待授权设备中,包括:获取模块,适于获取应用程序的激活码、硬件信息,并适于获取授权码;检测模块,适于检测当前网络环境,以确定是有网环境还是无网环境;生成模块,适于在无网环境时基于所述硬件信息生成设备标识,将该设备标识存储在待授权设备中;并适于基于激活码、硬件信息和设备标识生成访问标识码;以及激活模块,适于基于授权码获得对应用程序的授权。

可选地,在根据本发明的激活装置中,在有网环境时:所述获取模块适于获取所述待授权设备的硬件信息;所述生成模块适于基于硬件信息生成硬件标识,并将该硬件标识发送至服务器,以便请求服务器对应用程序进行授权。

可选地,在根据本发明的激活装置中,所述激活模块进一步适于:对授权码进行解密生成授权后的设备标识;确定授权后的设备标识与所述待授权设备中存储的设备标识是否相同,如果相同,则获得对应用程序的授权。

根据本发明的一个方面,提供一种应用程序的授权系统,包括:服务器,适于执行如上所述的方法;终端,与服务器通信连接,适于基于访问标识码向服务器发送访问请求,接收服务器返回的硬件标识,基于所述硬件标识以待授权设备的身份向服务器发送的对应用程序的离线授权请求,并适于接收所述服务器返回的授权码;以及待授权设备,包括如上所述的激活装置,所述激活装置适于在无网环境下基于激活码、硬件信息和设备标识生成访问标识码。

根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的应用程序的授权方法的指令。

根据本发明的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的应用程序的授权方法。

根据本发明的技术方案,在无网环境时,待授权设备中的激活装置可以生成设备标识存储在本地,并生成访问标识码。利用移动终端基于访问标识码与服务器通信,以请求获取与待授权设备的硬件标识相匹配的授权码,授权码是服务器对设备标识进行加密生成。移动终端在获取授权码后,通过将授权码输入待授权设备,待授权设备中的激活装置可以对授权码进行解密生成授权后的设备标识,并基于本地存储的设备标识来对授权后的设备标识进行验证,两者相同则可以对应用程序激活成功,获得授权。这样,本发明不仅能实现在离线状态下对应用程序进行激活,而且能够有效避免用户篡改授权信息、恶意激活授权的行为,提高了授权过程的安全性和可控性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。

图1示出了根据本发明一个实施例的应用程序的授权系统100的示意图;

图2示出了根据本发明一个实施例的计算设备200的示意图;

图3示出了根据本发明一个实施例的应用程序的授权方法300的流程图;

图4示出了根据本发明一个实施例的激活装置160的示意图;

图5示出了根据本发明一个实施例的待授权设备生成访问标识码的示意图;

图6示出了根据本发明一个实施例的服务器向终端返回包括硬件标识(机器ID)的激活页面的示意图;以及

图7示出了根据本发明一个实施例的服务器向终端返回授权码(离线激活码)的示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的应用程序的授权系统100的示意图。

如图1所示,应用程序的授权系统100包括一个或多个终端110、应用程序对应的服务器120以及一个或多个待授权设备150。其中,终端110与服务器120通信连接,例如通过有线或无线的方式网络连接。这里,本发明不限制终端110与服务器120的具体连接方式。

待授权设备150即用户所使用适于安装应用程序、并需要获得应用程序的授权的终端设备,其具体可以是桌面电脑、笔记本电脑等个人计算机,也可以是手机、平板电脑、多媒体设备、智能可穿戴设备等,但不限于此。

在一个实施例中,待授权设备150中驻留有激活装置160,利用激活装置160可以对应用程序进行激活,以获得对应用程序的授权。

终端110即用户所使用的可以与服务器120通信的终端设备,其具体可以是手机、平板电脑等移动终端,也可以是桌面电脑、笔记本电脑等个人计算机,还可以是多媒体设备、智能可穿戴设备等,但不限于此。

服务器120用于控制一个或多个待授权设备150中的应用程序的授权。其可以实现为为桌面电脑、笔记本电脑、处理器芯片、手机、平板电脑等计算设备,也可以实现为由多个计算设备组成的系统。

根据本发明的实施例,待授权设备150中的激活装置160在激活应用程序时需要获取应用程序的激活码,激活码例如是用户在购买应用程序时获得的激活码,且激活码与用户信息、应用程序信息建立了关联关系。

当待授权设备150接入网络处于有网环境时,待授权设备150可以通过网络与服务器120通信连接。在此情况下,待授权设备150中的激活装置160在获取激活码后,可以检测到当前网络环境是有网环境,进而会获取待授权设备150的硬件信息,基于硬件信息生成硬件标识,并将该硬件标识发送至服务器120。这样,服务器120可以将硬件标识与相应的激活码建立关联关系,这样,待授权设备150中的激活装置160便可以实现对应用程序的激活、获得对应用程序的授权。

根据本发明的实施例,当待授权设备150未接入网络而处于无网环境时,待授权设备150不能建立与服务器120的通信连接。在此情况下,需要利用终端110与服务器120进行通信来获取授权码,以便待授权设备150在离线状态下基于授权码实现对应用程序的激活、获得授权。

具体地,用户将激活码输入至待授权设备150,待授权设备150中的激活装置160在获取激活码后,会检测当前网络环境是有网环境还是无网环境,并在确定当前网络环境是无网环境时,获取待授权设备150的硬件信息,基于硬件信息生成硬件标识。并且,待授权设备150中的激活装置160可以基于硬件标识(通过获取硬件标识中的预定位数)来生成预定位数的设备标识,并将该设备标识存储在待授权设备150中。进而,待授权设备150中的激活装置160可以基于激活码、硬件信息和设备标识生成访问标识码。

在一个实施例中,硬件标识例如为UUID(Universally Unique Identifier,通用唯一识别码),由一组32位数的16进制数字所构成。具体而言,激活装置160通过调用操作系统中生成UUID的方法,例如QUuid createUuid(),利用该方法基于Mac地址、硬盘序列号以及CPU序列号来生成硬件标识。

根据本发明的实施例,当待授权设备150中的激活装置160生成访问标识码后,用户可以利用终端110来基于访问标识码向服务器120发送访问请求,以请求获取相应的激活页面。

应当指出,由于访问标识码是由待授权设备150中的激活装置160基于激活码、硬件信息和设备标识生成,相应地,终端110基于访问标识码发送的访问请求中包括激活码、待授权设备150的硬件信息和设备标识。服务器120在接收到终端110的访问请求后,可以获取访问请求中的激活码、硬件信息和设备标识。并且,服务器120可以基于硬件信息生成与待授权设备150唯一相对应的硬件标识,并将包括该硬件标识的激活页面返回至终端110,该硬件标识可以唯一地标识待授权设备150。需要说明的是,服务器120在生成与待授权设备150唯一相对应的硬件标识后,会将硬件标识存储在服务器120的缓存中,并将硬件标识返回至终端110,以便基于该硬件标识来标识待授权设备150的身份。这样,终端110可以基于硬件标识以待授权设备150的身份访问服务器120、与服务器120进行通信。当终端110再次与服务器120通信时携带该硬件标识,服务器120便可以基于硬件标识识别该终端110的身份,确定该终端110代表的待授权设备150(即是与硬件标识相对应的待授权设备)。

在一个实施例中,终端110在接收到包括硬件标识的页面后,终端110可以基于该硬件标识、以待授权设备150的身份向服务器120发送对应用程序的离线授权请求。

需要说明的是,服务器120可以基于用户购买或申请获取到的激活码、用户信息、相应的应用程序的应用信息生成授权信息列表并存储,授权信息列表中的每一项包括用户信息、相应的应用程序的应用信息、与用户信息和应用信息相匹配的有效的激活码。另外,用户利用终端110发送的访问请求中还包括应用程序对应的应用信息、用户信息,服务器120在接收到访问请求时,便可以获取到相应的应用信息、用户信息。

在一个实施例中,服务器120在接收到终端110基于硬件标识发送的对应用程序的离线授权请求之后,服务器120可以基于授权信息列表确定与用户信息和应用信息相对应的有效的激活码,并基于该授权信息列表中的有效激活码来判断访问请求中的激活码是否有效。这里,访问请求中的激活码与授权信息列表中的激活码相同,则说明有效;访问请求中的激活码与授权信息列表中的激活码不相同,则说明无效。

在确定激活码有效后,服务器120可以将该激活码与待授权设备150的硬件标识建立关联关系(绑定),这样,基于激活码与硬件标识的绑定状态,以许可应用程序在与硬件标识相匹配的待授权设备150上被激活授权。并且,服务器120还对待授权设备的设备标识进行加密生成相应的授权码,并将授权码返回至终端110,以便待授权设备150基于该授权码获得对应用程序的授权。

这里,通过对设备标识进行加密生成授权码,并将授权码返回至终端110,用户可以将该授权码输入至待授权设备150。待授权设备150中的激活装置160在获取到该授权码后,可以对授权码进行解密,以生成经服务器授权后的设备标识。由于待授权设备150在无网环境下已将生成的设备标识存储在本地,这样,待授权设备150中的激活装置160通过判断本地存储的设备标识是否与经解密后生成的已授权的设备标识相同,如果相同,则允许待授权设备150获得对应用程序的授权。

在一个实施例中,上述基于设备标识进行加密生成授权码,所采用的加密方法是非对称加密算法,例如ECC椭圆加密算法、RSA加密算法。服务器120通过获取非对称加密算法,并利用非对称加密算法对待授权设备的设备标识进行加密,以生成授权码。非对称加密算法包括一对相匹配的公钥和私钥,例如,服务器120可以基于公钥对设备标识进行加密生成授权码,待授权设备150在获取到授权码时,可以基于与公钥相匹配的私钥对授权码进行解密,生成授权后的设备标识。

上述基于授权码获得授权的方式,可以有效避免用户篡改授权信息、恶意激活授权的行为,从而提高了授权过程的安全性以及可控性。

图4示出了根据本发明一个实施例的激活装置160的示意图。激活装置160驻留在待授权设备150中。

如图4所示,激活装置160包括获取模块161、检测模块162、生成模块163以及激活模块164。获取模块161可以获取应用程序的激活码、硬件信息。并且,在将授权码输入至待授权设备150中后,获取模块161可以获取授权码。

其中,当获取模块161获取激活码后,由检测模块162检测当前网络环境,并确定当前网络环境是有网环境还是无网环境。当检测模块162确定当前网络环境是无网环境时,由获取模块161获取硬件信息。

在无网环境下,当获取模块161获取硬件信息后,生成模块163可以基于硬件信息生成设备标识,将该设备标识存储在待授权设备150中。并且,生成模块163可以基于激活码、硬件信息和设备标识生成访问标识码。

当终端110基于访问标识码与服务器120通信并获取到授权码之后,通过将授权码输入至待授权设备150,获取模块161可以获取该授权码。进而,激活模块164可以基于授权码获得对应用程序的授权。

在一个实施例中,激活模块164可以对授权码进行解密生成授权后的设备标识。进而,激活模块164确定授权后的设备标识与待授权设备150中存储的设备标识是否相同,如果相同,则能够获得对应用程序的授权。

另外,当检测模块162确定当前网络环境是有网环境时(待授权设备150可以通过网络与服务器120建立通信连接),获取模块161也会获取待授权设备150的硬件信息,而生成模块163会基于硬件信息生成硬件标识,并将该硬件标识发送至服务器120,以便基于硬件标识与服务器120直接通信,并请求服务器120对应用程序进行授权。这里,服务器120可以将硬件标识与相应的激活码建立关联关系,这样,激活装置160的激活模块164便可以实现对应用程序的激活,使硬件标识对应的待授权设备150获得对应用程序的授权。

应当理解,在有网环境下,待激活模块160中的生成模块163不再生成用于授权验证的设备标识,也不会生成访问标识码。

在一个实施例中,本发明中的服务器120适于执行应用程序的授权方法。本发明的应用程序的授权方法300将在下文中详述。

在一个实施例中,本发明中的服务器120可以实现为一种计算设备,使得本发明的应用程序的授权方法可以在计算设备中执行。

图2示出了根据本发明一个实施例的计算设备200的结构图。如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。

取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(UP)、微控制器(UC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。

取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器106可以包括操作系统220、一个或者多个应用222以及程序数据224。应用222实际上是多条程序指令,其用于指示处理器204执行相应的操作。在一些实施方式中,应用222可以布置为在操作系统上使得处理器204利用程序数据224进行操作。

计算设备200还包括储存设备232,储存设备232包括可移除储存器236和不可移除储存器238。

计算设备200还可以包括储存接口总线234。储存接口总线234实现了从储存设备232(例如,可移除储存器236和不可移除储存器238)经由总线/接口控制器230到基本配置202的通信。操作系统220、应用222以及数据224的至少一部分可以存储在可移除储存器236和/或不可移除储存器238上,并且在计算设备200上电或者要执行应用222时,经由储存接口总线234而加载到系统存储器206中,并由一个或者多个处理器204来执行。

计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。

网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中以编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。

在根据本发明的计算设备200中,应用222包括执行应用程序的授权方法300的多条程序指令,这些程序指令可以指示处理器204执行本发明的应用程序的授权方法300,以便计算设备200通过执行本发明的应用程序的授权方法300来实现控制待授权设备获得应用程序的授权。

图3示出了根据本发明一个实施例的应用程序的授权方法300的流程图。方法300适于在服务器120(例如前述计算设备200)中执行。

需要说明的是,待授权设备150中安装有应用程序,并驻留有激活装置160,利用激活装置160可以对应用程序进行激活,以获得对应用程序的授权。激活装置160在激活应用程序时需要获取应用程序的激活码,激活码例如是用户在购买应用程序时获得的激活码,且激活码与用户信息、应用程序信息建立了关联关系。

待授权设备150、终端110可以通过网络与服务器120进行通信。

根据本发明的实施例,当待授权设备150未接入网络而处于无网环境时,待授权设备150不能建立与服务器120的通信连接。在此情况下,需要利用终端110与服务器120进行通信以请求获取授权码,以便待授权设备150在离线状态下基于授权码实现对应用程序的激活、获得授权。

具体而言,当用户将激活码输入至待授权设备150,待授权设备150中的激活装置160在获取激活码后,会检测当前网络环境是有网环境还是无网环境,并在确定当前网络环境是无网环境时,获取待授权设备150的硬件信息,基于硬件信息生成硬件标识。并且,待授权设备150中的激活装置160可以基于硬件标识(通过获取硬件标识中的预定位数)来生成预定位数的设备标识,并将该设备标识存储在待授权设备150中,该存储在本地的设备标识用于在后续获取授权码后进行验证。进而,待授权设备150中的激活装置160基于激活码、硬件信息和设备标识生成访问标识码。

也就是说,待授权设备150生成访问标识码的具体步骤如下:获取应用程序的激活码;获取待授权设备的硬件信息;基于硬件信息生成设备标识,并存储所述设备标识;基于激活码、硬件信息和设备标识生成访问标识码。

在一个实施例中,硬件标识例如为UUID(Universally Unique Identifier,通用唯一识别码),由一组32位数的16进制数字所构成。具体而言,激活装置160通过调用操作系统中生成UUID的方法,例如QUuid createUuid(),利用该方法基于Mac地址、硬盘序列号以及CPU序列号来生成硬件标识。

根据本发明的实施例,当待授权设备150中的激活装置160生成访问标识码后,用户可以利用终端110来基于访问标识码向服务器120发送访问请求,以请求获取相应的激活页面。

应当指出,在待授权设备150生成访问标识码之后,服务器120(计算设备200)可以执行本发明的应用程序的授权方法300。

如图3所示,方法300始于步骤S310。

在步骤S310中,服务器120接收终端110基于访问标识码发送的访问请求。这里,访问标识码是由待授权设备150(激活装置160)在无网环境下基于激活码、硬件信息和设备标识生成的。基于此,访问请求中包括激活码、待授权设备150的硬件信息和设备标识。服务器120可以从访问请求中获取到激活码、硬件信息和设备标识。应当指出,本发明对访问标识码的具体种类不做限制。

图5示出了根据本发明一个实施例的待授权设备生成访问标识码的示意图。

在一个实施例中,如图5所示,访问标识码可以是待授权设备150(激活装置160)在无网环境下基于激活码、硬件信息和设备标识生成的二维码。终端110可以实现为手机、平板等移动终端,终端110通过扫描二维码可以向服务器120发送访问请求。应当指出,图5中的“离线激活码”即是利用终端110与服务器120进行通信以请求获取的授权码。在终端110从服务器120获取到授权码之后,输入至待授权设备150。

随后,在步骤S320中,服务器120基于硬件信息生成与待授权设备相对应的硬件标识,该硬件标识可以唯一地标识待授权设备150。进而将硬件标识返回至终端110(即是将包括硬件标识的激活页面返回至终端),以便终端110基于该硬件标识以待授权设备150的身份与服务器120通信。

图6示出了根据本发明一个实施例的服务器向终端返回包括硬件标识(机器ID)的激活页面的示意图。应当指出,图6中的“机器ID”即是服务器120基于硬件信息生成的与待授权设备相对应的硬件标识,可以唯一地标识待授权设备150;图6中的“序列号”即是激活码。

需要说明的是,服务器120在生成与待授权设备150唯一相对应的硬件标识后,会将硬件标识存储在服务器120的缓存中,并将硬件标识返回至终端110,以便基于该硬件标识来标识待授权设备150的身份。这样,终端110可以基于硬件标识以待授权设备150的身份访问服务器120、与服务器120进行通信。当终端110再次与服务器120通信时携带该硬件标识,服务器120便可以基于硬件标识识别该终端110的身份,确定该终端110代表的待授权设备150(即是与硬件标识相对应的待授权设备)。

随后,在步骤S330中,接收终端110在激活页面基于硬件标识、以待授权设备的身份发送的对应用程序的离线授权请求。在一个实施例中,终端用户通过点击图6示出的激活页面上的“立即激活”控件,可以向服务器120发送离线激活请求。

根据一个实施例,终端110发送的访问请求中还包括应用程序对应的应用信息,服务器120在接收到终端110基于硬件标识发送的对应用程序的离线授权请求之后可以确定与硬件标识和应用信息相匹配的有效激活码,通过将访问请求中的激活码与有效激活码进行比对,来确定访问请求中的激活码是否有效。

需要说明的是,服务器120可以基于用户购买或申请获取到的激活码、用户信息、相应的应用程序的应用信息生成授权信息列表并存储,授权信息列表中的每一项包括用户信息、相应的应用程序的应用信息、与用户信息和应用信息相匹配的有效的激活码。另外,用户利用终端110发送的访问请求中还包括应用程序对应的应用信息、用户信息,服务器120在接收到访问请求时,便可以获取到相应的应用信息、用户信息。

这样,服务器120在接收到终端110基于硬件标识发送的对应用程序的离线授权请求之后,可以基于授权信息列表确定与用户信息和应用信息相对应的有效的激活码,并基于该授权信息列表中的有效激活码来判断访问请求中的激活码是否有效。这里,访问请求中的激活码与授权信息列表中的激活码相同,则说明有效;访问请求中的激活码与授权信息列表中的激活码不相同,则说明无效。

根据一个实施例,服务器120在确定激活码是否有效时,还获取激活码对应的时效信息,基于时效信息确定激活码当前是否在时效期限内。这里,当确定激活码当前在时效期限内时,确定激活码有效。如果激活码当前不在时效期限内,则确定激活码无效。

如果服务器120确定激活码有效,则将激活码与硬件标识建立关联(绑定),这样,基于激活码与硬件标识的绑定状态,以许可应用程序在与硬件标识相匹配的待授权设备150上被激活授权。进而,执行步骤S340。

在步骤S340中,服务器120对待授权设备的设备标识进行加密,以生成相应的授权码。

根据一个实施例,上述基于设备标识进行加密生成授权码,所采用的加密方法是非对称加密算法,例如ECC椭圆加密算法、RSA加密算法。具体地,服务器120通过获取非对称加密算法,并利用非对称加密算法对待授权设备的设备标识进行加密,以生成授权码。这里,非对称加密算法包括一对相匹配的公钥和私钥,例如,服务器120可以基于公钥对设备标识进行加密生成授权码,待授权设备150在获取到授权码时,可以基于与公钥相匹配的私钥对授权码进行解密,生成授权后的设备标识。

最后,在步骤S350中,服务器将生成的授权码返回至终端110,以便待授权设备获取授权码,基于授权码获得对应用程序的授权。

图7示出了根据本发明一个实施例的服务器向终端返回授权码(离线激活码)的示意图。应当指出,图7中的“离线激活码”即是服务器120生成的授权码。

需要说明的是,服务器120通过对设备标识进行加密生成授权码,并将授权码返回至终端110,用户可以将该授权码输入至待授权设备150。待授权设备150中的激活装置160在获取到该授权码后,可以对授权码进行解密生成经服务器授权后的设备标识。由于待授权设备150在无网环境下已将生成的设备标识存储在本地,这样,待授权设备150中的激活装置160可以判断本地存储的设备标识是否与经解密后生成的已授权的设备标识相同,如果相同,则允许待授权设备150获得对应用程序的授权。如果不相同,则不能获得对应用程序的授权。

可以理解,待授权设备150在无网环境下对应用程序进行激活时,会在获取激活码后基于硬件信息生成设备标识,该设备标识首先会存储在待授权设备150中,用于后续激活时的验证。而且,通过生成访问标识码,终端110基于访问标识码可以向服务器120发送访问请求,而该设备标识也会经由终端110发送至服务器120,进而,服务器120对该设备标识进行加密生成相应的授权码。服务器在将授权码返回至终端110,并由用户输入至待授权设备150后,待授权设备150中的激活装置160对授权码进行解密,可以生成经服务器授权后的设备标识。这样,激活装置160通过验证本地的设备标识是否与解密得到的授权后的设备标识是否相同,便可以确定待授权设备是否是获得授权的设备。

根据本发明的方法300,在无网环境时,利用终端基于访问标识码与服务器通信,以请求获取与待授权设备的硬件标识相匹配的授权码,授权码是服务器对设备标识进行加密生成,待授权设备中的激活装置需要基于本地存储的设备标识对授权码进行验证,验证通过后才能获得授权。这种基于授权码获得授权的方式,可以有效避免用户篡改授权信息、恶意激活授权的行为,从而提高了授权过程的安全性和可控性。

根据一个实施例,待授权设备150中的激活装置160在生成访问标识码时,还获取待授权的应用程序对应的应用标识,基于激活码、硬件信息、设备标识和应用标识生成访问标识码。并且,该应用标识也会存储在待授权设备150中。相应地,终端110基于访问标识码发送的访问请求中还包括应用程序对应的应用标识,在对待授权设备的设备标识进行加密时,可以是对待授权设备的设备标识、应用标识进行加密,来生成授权码。这样,生成的授权码与唯一的待授权设备、应用程序相匹配。

在将授权码返回至终端110,在待授权设备150获取授权码后,待授权设备150中的激活装置160对授权码解密后生成授权后的设备标识以及应用标识,需要将授权后的设备标识与本地存储的设备标识进行比对,并将解密得到的应用标识与本地存储的应用标识进行比对,即是对设备标识、应用标识分别进行验证,在设备标识、应用标识均验证通过后才能获得授权。也就是说,只有在与设备标识相对应的待授权设备上激活与应用标识相对应的应用程序时,才能基于该授权码激活成功。基于上述方案,进一步提高了对应用程序授权过程的安全性和可控性,能够有效避免用户篡改信息、恶意激活授权的行为。

这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。

在程序代码在可编程计算机上执行的情况下,移动终端一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的应用程序的授权方法。

以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。

在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。

如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。

尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的而非限制性的,本发明的范围由所附权利要求书限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号