CN106599626A - 一种应用程序授权认证方法及系统 - Google Patents
一种应用程序授权认证方法及系统 Download PDFInfo
- Publication number
- CN106599626A CN106599626A CN201611209476.1A CN201611209476A CN106599626A CN 106599626 A CN106599626 A CN 106599626A CN 201611209476 A CN201611209476 A CN 201611209476A CN 106599626 A CN106599626 A CN 106599626A
- Authority
- CN
- China
- Prior art keywords
- terminal
- authorization
- application program
- information
- user
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000013475 authorization Methods 0.000 claims abstract description 215
- 239000000203 mixture Substances 0.000 claims description 19
- 230000008859 change Effects 0.000 abstract description 10
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 235000013399 edible fruits Nutrition 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 235000008429 bread Nutrition 0.000 description 1
- 238000013497 data interchange Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/123—Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Remote Sensing (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种应用程序授权认证方法及系统,其中,该方法包括:接收终端在启动应用程序时发送的授权认证信息,所述授权认证信息包括所述终端的中央处理器CPU信息;根据所述授权认证信息,认证所述终端是否为所述应用程序的授权终端。本发明根据终端的CPU信息来进行授权认证,CPU是终端中的核心芯片,不易修改或更换。根据CPU信息来进行授权认证的安全性很高,授权认证的准确率很高。
Description
技术领域
本发明涉及通信技术领域,具体而言,涉及一种应用程序授权认证方法及系统。
背景技术
目前,终端上都安装有很多应用程序,有的应用程序是与终端绑定的,这些应用程序只能在绑定的终端上使用,不能在其他终端上使用。与应用程序绑定的终端为该应用程序的授权终端,为了确保应用程序是在授权终端上运行,需要进行应用程序授权认证。
当前,相关技术中提供了一种应用程序授权认证方法,包括:当用户启动终端上的应用程序登录服务器时,终端获取用户提交的用户账号及密码,获取终端的MAC(MediaAccess Control,媒体访问控制)地址,发送用户账号、密码及MAC地址给服务器。服务器根据用户账号,验证终端发送的密码是否为正确密码,如果是,则再根据用户账号获取用户注册的MAC地址,将终端发送的MAC地址与用户注册的MAC地址进行比较,若两者一致,则确定该终端为已授权终端并允许用户登录到服务器。若两者不一致,则确定该终端为未授权终端,不允许用户登录到服务器。
由于终端的MAC地址可以很容易进行修改,若将未授权终端的MAC地址修改成授权终端的MAC地址,则未授权终端上也可以使用该应用程序了。因此通过MAC地址来进行应用程序授权认证的安全性很低,授权认证的出错率很高。
发明内容
有鉴于此,本发明实施例的目的在于提供一种应用程序授权认证方法及系统,根据终端的CPU信息来进行授权认证,CPU是终端中的核心芯片,不易修改或更换。根据CPU信息来进行授权认证的安全性很高,授权认证的准确率很高。
第一方面,本发明实施例提供了一种应用程序授权认证方法,所述方法包括:
接收终端在启动应用程序时发送的授权认证信息,所述授权认证信息包括所述终端的中央处理器CPU信息;
根据所述授权认证信息,认证所述终端是否为所述应用程序的授权终端。
结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,所述根据所述授权认证信息,认证所述终端是否为所述应用程序的授权终端,包括:
按照预设选取规则从所述授权认证信息包括的用户密码中,选取预设位字符组成密钥;
根据所述密钥,对所述授权认证信息包括的密文进行解密,得到所述终端的CPU信息和用户信息;
根据所述CPU信息和所述用户信息,认证所述终端是否为所述应用程序的授权终端。
结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,所述根据所述CPU信息和所述用户信息,认证所述终端是否为所述应用程序的授权终端,包括:
根据所述用户信息包括的用户账号,验证所述用户信息包括的用户密码是否为注册密码;
如果否,则认证所述终端不是所述应用程序的授权终端;如果是,则根据所述用户账号,获取对应的绑定设备信息;
比较所述绑定设备信息与所述CPU信息是否一致;如果是,则认证所述终端是所述应用程序的授权终端;如果否,则认证所述终端不是所述应用程序的授权终端。
结合第一方面,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,所述根据所述授权认证信息,认证所述终端是否为所述应用程序的授权终端,包括:
按照预设选取规则从所述授权认证信息包括的用户密码中,选取预设位字符组成密钥;
根据所述密钥,对所述授权认证信息包括的密文进行解密,得到所述终端的CPU信息、用户信息和消息摘要算法MD5编码;
根据所述CPU信息、所述用户信息和所述MD5编码,认证所述终端是否为所述应用程序的授权终端。
结合第一方面的第三种可能的实现方式,本发明实施例提供了上述第一方面的第四种可能的实现方式,其中,所述根据所述CPU信息、所述用户信息和所述MD5编码,认证所述终端是否为所述应用程序的授权终端,包括:
根据所述用户信息包括的用户账号,验证所述用户信息包括的用户密码是否为注册密码;
如果否,则认证所述终端不是所述应用程序的授权终端;如果是,则根据所述用户账号,获取对应的绑定编码;
比较所述绑定编码与所述MD5编码是否相同;如果是,则认证所述终端是所述应用程序的授权终端;如果否,则根据所述用户账号,获取对应的绑定设备信息;
比较所述绑定设备信息与所述CPU信息是否一致;如果是,则认证所述终端是所述应用程序的授权终端;如果否,则认证所述终端不是所述应用程序的授权终端。
第二方面,本发明实施例提供了一种应用程序授权认证方法,所述方法包括:
检测到应用程序启动时,获取CPU信息及用户信息;
根据所述CPU信息和所述用户信息,获得授权认证信息;
发送所述授权认证信息给服务器,以使所述服务器根据所述授权认证信息认证终端是否为所述应用程序的授权终端。
结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,所述根据所述CPU信息和所述用户信息,获得授权认证信息,包括:
按照预设选取规则从所述用户信息包括的用户密码中,选取预设位字符组成密钥;
通过所述密钥对所述CPU信息和所述用户信息进行加密得到密文;
将所述密文和所述用户密码组成授权认证信息。
结合第二方面,本发明实施例提供了上述第二方面的第二种可能的实现方式,其中,所述根据所述CPU信息和所述用户信息,获得授权认证信息,包括:
对所述CPU信息和所述用户信息进行哈希运算,转换为MD5编码;
按照预设选取规则从所述用户信息包括的用户密码中,选取预设位字符组成密钥;
通过所述密钥对所述CPU信息、所述用户信息和所述MD5编码进行加密得到密文;
将所述密文和所述用户密码组成授权认证信息。
第三方面,本发明实施例提供了一种应用程序授权认证系统,所述系统包括服务器和终端;
所述终端,用于检测到应用程序启动时,获取CPU信息及用户信息;根据所述CPU信息和所述用户信息,获得授权认证信息;发送所述授权认证信息给所述服务器;
所述服务器,用于接收所述终端发送的所述授权认证信息;根据所述授权认证信息,认证所述终端是否为所述应用程序的授权终端。
结合第三方面,本发明实施例提供了上述第三方面的第一种可能的实现方式,其中,所述服务器,用于根据所述用户信息包括的用户账号,验证所述用户信息包括的用户密码是否为注册密码;如果否,则认证所述终端不是所述应用程序的授权终端;如果是,则根据所述用户账号,获取对应的绑定编码;比较所述绑定编码与所述授权认证信息包括的MD5编码是否相同;如果是,则认证所述终端是所述应用程序的授权终端;如果否,则根据所述用户账号,获取对应的绑定设备信息;比较所述绑定设备信息与所述CPU信息是否一致;如果是,则认证所述终端是所述应用程序的授权终端;如果否,则认证所述终端不是所述应用程序的授权终端。
在本发明实施例提供的方法及系统中,接收终端在启动应用程序时发送的授权认证信息,所述授权认证信息包括所述终端的中央处理器CPU信息;根据所述授权认证信息,认证所述终端是否为所述应用程序的授权终端。本发明根据终端的CPU信息来进行授权认证,CPU是终端中的核心芯片,不易修改或更换。根据CPU信息来进行授权认证的安全性很高,授权认证的准确率很高。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例1所提供的一种应用程序授权认证方法的流程图;
图2示出了本发明实施例2所提供的一种应用程序授权认证方法的流程图;
图3示出了本发明实施例3所提供的一种应用程序授权认证方法的流程图;
图4示出了本发明实施例4所提供的一种一种应用程序授权认证系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
考虑到相关技术中根据终端的MAC地址进行授权认证,而终端的MAC地址可以很容易进行修改,若将未授权终端的MAC地址修改成授权终端的MAC地址,则未授权终端上也可以使用该应用程序了。因此通过MAC地址来进行应用程序授权认证的安全性很低,授权认证的出错率很高。基于此,本发明实施例提供了一种应用程序授权认证方法及系统,下面通过实施例进行描述。
实施例1
本发明实施例提供了一种应用程序授权认证方法。
由于每个终端只有一块CPU芯片,且CPU是终端中的核心芯片,CPU芯片不易轻易更换,因此本发明实施例根据CPU信息来锁定应用程序,达到用户使用应用程序时只能在绑定的终端上使用。
在本发明实施例中,对于需与终端进行绑定使用的应用程序,在用户购买应用程序后,将该应用程序安装在自己的手机或PAD(Portable Android Device,平板电脑)等终端上。用户通过安装了该应用程序的终端在服务器注册自己的用户账号和对应的用户密码。当用户通过该终端第一次登录服务器时,该终端获取自身的CPU信息,将用户账号和用户密码组成用户信息,将用户信息和获取的CPU信息上传给服务器。服务器验证该用户信息中包括的用户密码为已注册的密码时,将CPU信息作为绑定设备信息,存储用户账号与绑定设备信息的对应关系,从而实现该应用程序与该终端之间的绑定。通过上述方式将应用程序与终端绑定之后,该终端即为该应用程序对应的授权终端。
之后,用户每次通过终端登录服务器时,都按照本发明实施例提供的方法来认证终端是否为应用程序对应的授权终端。
参见图1,该方法具体包括以下步骤:
步骤101:终端检测到应用程序启动时,获取CPU(Central Processing Unit,中央处理器)信息及用户信息。
上述用户信息包括用户账号和用户密码。CPU信息为一个信息列表,包括CPU核心数、CPU序列号、CPU编码及CPU版本信息等。
当用户点击应用程序的图标来启动应用程序时,终端检测到该应用程序启动,使用安卓系统底层的linux操作系统来获取终端CPU芯片的CPU序列号。CPU序列号的获取方式是使用运行时刻函数Runtime()来执行一簇函数exec(),并向函数exec()中填入用于查看CPU信息的命令“cat/proc/cpuinfo”,以此来获取CPU的详细信息。执行函数exec()后,将返回一个Process(进程)对象,从该Process对象中获取流信息getInputStream,将流信息getInputStream放入到字符输入流InputStreamReader中,并将其转换为缓存流BufferedReader。此时缓存流BufferedReader中就包含着CPU中的所有信息。然后终端再调用字符缓存类StringBuffer将CPU信息从缓存流BufferedReader中获取出来。最终得到的字符缓存类StringBuffer则是最终获得的CPU的详细信息,其中包含着终端中CPU的所有信息。
通过上述方式获取到终端的CPU信息后,终端显示登录页面给用户,该登录页面包括账号输入框和密码输入框。终端通过账号输入框接收用户输入的用户账号,通过密码输入框接收用户输入的用户密码,将接收的用户账号和用户密码组成用户信息。
通过上述方式获取到用户信息和终端自身的CPU信息后,将获取的CPU信息和用户信息发送给服务器。
由于终端上安装有很多应用程序,有的应用程序并不需要与终端进行绑定。对于不需要与终端进行绑定的应用程序,不用进行授权认证。所以在本发明实施例中,终端可以为绑定的应用程序分配一个绑定标识,该绑定标识可以为0或1等字符。当终端检测到应用程序启动时,首先查看该应用程序中是否包含绑定标识,若包含,则确认该应用程序为绑定应用,后续通过本发明实施例提供的方法来进行授权认证。若查看出启动的应用程序中不包含绑定标识,则确认该应用程序不是绑定应用,则不需要通过本发明实施例提供的方法进行授权认证,直接获取用户信息,根据获取的用户信息登录服务器即可。
步骤102:终端根据CPU信息和用户信息,获得授权认证信息。
在本发明实施例中,终端可以通过如下操作来获得授权认证信息,包括:
按照预设选取规则从用户信息包括的用户密码中,选取预设位字符组成密钥;通过密钥对CPU信息和用户信息进行加密得到密文;将密文和用户密码组成授权认证信息。
上述预设选取规则可以为从用户密码的第一个字符开始从前往后进行选取,或者为从用户密码的最后一个字符开始从后往前选取等,上述预设位可以为小于或等于用户密码包括的字符数的数值。例如,假设预设选取规则为从用户密码的第一个字符开始从前往后选取,预设位为5,用户密码为abcd1234,则选取出的密钥为abcd1。
在终端和服务器中,上述预设选取规则和预设位的配置相同。可以由服务器确定预设选取规则和预设位,并将预设选取规则和预设位下发给终端。
本发明实施例中,终端可以根据选取的密钥,通过RSA(RSA algorithm,公钥加密算法)算法对CPU信息和用户信息进行加密运算,得到密文。
步骤103:终端发送该授权认证信息给服务器。
终端获得授权认证信息后,将该授权认证信息发送给服务器,以使服务器根据该授权认证信息认证该终端是否为该应用程序的授权终端。
步骤104:服务器接收终端发送的授权认证信息,根据该授权认证信息,认证该终端是否为应用程序的授权终端。
服务器接收到终端在启动应用程序时发送的授权认证信息后,按照预设选取规则从授权认证信息包括的用户密码中,选取预设位字符组成密钥;根据该密钥,对授权认证信息包括的密文进行解密,得到终端的CPU信息和用户信息;根据CPU信息和用户信息,认证终端是否为应用程序的授权终端。
在认证终端是否为应用程序的授权终端时,服务器首先根据用户信息包括的用户账号,验证用户信息包括的用户密码是否为注册密码。具体的,服务器根据用户信息包括的用户账号,获取该用户账号对应的注册密码。比较该注册密码与用户信息包括的用户密码是否相同。如果否,则认证该终端不是该应用程序的授权终端,发送用于指示未授权的认证结果信息给终端,拒绝用户通过该终端登录到服务器。如果比较出注册密码与用户密码相同,则再根据CPU信息进一步认证该终端是否为该应用程序的授权终端,具体包括:
服务器根据用户信息包括的用户账号,从用户账号与绑定设备信息的对应关系中,获取对应的绑定设备信息。比较绑定设备信息与CPU信息是否一致;如果是,则认证终端是应用程序的授权终端,发送指示已授权的认证结果信息给终端,接受用户通过该终端登录服务器。如果否,则认证该终端不是应用程序的授权终端,发送用于指示未授权的认证结果信息给终端,拒绝用户通过该终端登录到服务器。
上述比较绑定设备信息与CPU信息是否一致时,首先对比CPU序列号,判断绑定设备信息中的CPU序列号与CPU信息中的CPU序列号是否一致。如果否,则认证该终端不是应用程序的授权终端。如果是,则再判断绑定设备信息中的CPU核心数与CPU信息中的CPU核心数是否一致,如果否,则认证该终端不是应用程序的授权终端。如果是,对于每个CPU核心的数据,再分别判断绑定设备信息中的数据与CPU信息中的数据是否一致,具体判断CPU核心中BogoMIPS、Features(特征)和model name(型号名称)三个信息,如果每个核心这三个信息均分别相同,则认证该终端是应用程序的授权终端。如果存在一个CPU核心上述三个信息中任一个信息,在绑定设备信息与CPU信息中不相同,则认证该终端不是应用程序的授权终端。
由于CPU信息是一个字符串信息,因此在进行上述认证过程之前,先将需要的信息从CPU信息的字符串中解析出来。由于CPU信息中,每一行数据都是一组数据,每组数据中都用“:”作为分隔符,将数据的名称和具体数据分开。因此本发明实施例中截取“:”两端的数据,得到数据的名称和具体数据。
对于不同终端,CPU信息中总会有些地方是不一样的,因此根据CPU信息来认证终端是否为已授权终端的准确性很高。在认证时,主要是使用PHP(Hypertext Preprocessor,超文本预处理器)中的库函数strcmp()来比较绑定设备信息和终端发送的CPU信息两个字符串是否一致。经过库函数strcmp()比较之后,如果返回值是0,则代表两个字符串一致,即认证终端为已授权终端。如果返回值不是0,则认证终端不是已授权终端。
由于服务器比较绑定设备信息和CPU信息需要花费一定时间,为了进一步提高授权认证的效率,用户在第一次通过终端登录服务器时,终端还可以对CPU信息和用户信息进行哈希运算,转换为MD5(Message Digest Algorithm,消息摘要算法)编码,将CPU信息、用户信息和该MD5编码都发送给服务器。服务器验证该用户信息中包括的用户密码为已注册的密码时,将MD5编码作为绑定编码,将CPU信息作为绑定设备信息,并存储用户账号与绑定编码及绑定设备信息的对应关系。
当用户再次通过该终端登录服务器时,在步骤102中通过如下操作来获得授权认证信息,包括:
对CPU信息和用户信息进行哈希运算,转换为MD5编码;按照预设选取规则从用户信息包括的用户密码中,选取预设位字符组成密钥;通过密钥对CPU信息、用户信息和MD5编码进行加密得到密文;将密文和用户密码组成授权认证信息。
终端将上述授权认证信息发送给服务器。服务器通过如下方式,根据该授权认证信息来认证该终端是否为应用程序的授权终端,具体包括:
按照预设选取规则从授权认证信息包括的用户密码中,选取预设位字符组成密钥;根据密钥,对授权认证信息包括的密文进行解密,得到终端的CPU信息、用户信息和消息摘要算法MD5编码;根据CPU信息、用户信息和MD5编码,认证该终端是否为该应用程序的授权终端。
在认证该终端是否为该应用程序的授权终端时,根据用户信息包括的用户账号,验证用户信息包括的用户密码是否为注册密码。具体的,服务器根据用户信息包括的用户账号,获取该用户账号对应的注册密码。比较该注册密码与用户信息包括的用户密码是否相同。如果否,则认证终端不是应用程序的授权终端,发送用于指示未授权的认证结果信息给终端,拒绝用户通过该终端登录到服务器。如果是,则再根据CPU编码进一步认证该终端是否为该应用程序的授权终端,具体包括:
服务器根据用户信息包括的用户账号,从用户账号与绑定编码的对应关系中,获取对应的绑定编码。比较绑定编码与授权认证信息中的MD5编码是否相同;如果是,则认证终端是应用程序的授权终端,发送指示已授权的认证结果信息给终端,接受用户通过该终端登录服务器。如果否,则再根据CPU信息来进一步认证终端是否为应用程序的授权终端,具体包括:
根据用户账号,从用户账号与绑定设备信息的对应关系中,获取对应的绑定设备信息。比较绑定设备信息与CPU信息是否一致;如果是,则认证终端是应用程序的授权终端,发送指示已授权的认证结果信息给终端,接受用户通过该终端登录服务器。如果否,则认证该终端不是应用程序的授权终端,发送用于指示未授权的认证结果信息给终端,拒绝用户通过该终端登录到服务器。
上述进行授权认证时,先根据MD5编码来进行认证,MD5编码的字符串数据量很小,因此首先使用MD5编码来认证可以提高授权认证速度,缩短用户等待认证结果的等待时间。同时,只有在MD5编码不一致时,才会再去判断CPU信息,如此减轻了服务器的运算压力,可以将服务器的认证负荷降到最低。
在本发明实施例中,服务器认证终端是否为应用程序的授权终端后,返回认证结果信息给终端。在得到服务器返回的认证结果信息之后,终端解析返回的认证结果信息。返回的认证结果信息是以json(Javascript object notation,轻量级数据交换格式)格式展示的,其格式如下所示:
{“result”:“success”}
其中,result(结果)是服务器返回的认证结果信息的字符串,若该字符串是success(成功),则表示认证该终端是该应用程序的授权终端,该应用程序登录到服务器。若该字符串是除success外的其他字符串,则表示认证该终端不是该应用程序的授权终端,该应用程序退出。
在本发明实施例中,将应用程序授权认证放到服务器上处理,这样可以加大保护应用程序权益的问题。同时服务器也可以通过授权终端的数量及情况,获得应用程序的一些数据报表,如激活多少用户,授权用户的总量是多少等。
在本发明实施例中,接收终端在启动应用程序时发送的授权认证信息,所述授权认证信息包括所述终端的中央处理器CPU信息;根据所述授权认证信息,认证所述终端是否为所述应用程序的授权终端。本发明根据终端的CPU信息来进行授权认证,CPU是终端中的核心芯片,不易修改或更换。根据CPU信息来进行授权认证的安全性很高,授权认证的准确率很高。
实施例2
参见图2,本发明实施例提供了一种应用程序授权认证方法,该方法的执行主体为服务器。服务器的具体操作与实施例1所提供的应用程序授权认证方法中服务器的操作相同。该方法具体包括以下步骤:
步骤201:接收终端在启动应用程序时发送的授权认证信息,授权认证信息包括终端的中央处理器CPU信息。
步骤202:根据授权认证信息,认证终端是否为应用程序的授权终端。
上述根据授权认证信息,认证终端是否为应用程序的授权终端,包括:
按照预设选取规则从授权认证信息包括的用户密码中,选取预设位字符组成密钥;
根据密钥,对授权认证信息包括的密文进行解密,得到终端的CPU信息和用户信息;
根据CPU信息和用户信息,认证终端是否为应用程序的授权终端。
通过如下操作来认证终端是否为应用程序的授权终端,包括:
根据用户信息包括的用户账号,验证用户信息包括的用户密码是否为注册密码;
如果否,则认证终端不是应用程序的授权终端;如果是,则根据用户账号,获取对应的绑定设备信息;
比较绑定设备信息与CPU信息是否一致;如果是,则认证终端是应用程序的授权终端;如果否,则认证终端不是应用程序的授权终端。
在本发明实施例中,还可通过如下操作来根据授权认证信息,认证终端是否为应用程序的授权终端,包括:
按照预设选取规则从授权认证信息包括的用户密码中,选取预设位字符组成密钥;
根据密钥,对授权认证信息包括的密文进行解密,得到终端的CPU信息、用户信息和消息摘要算法MD5编码;
根据CPU信息、用户信息和MD5编码,认证终端是否为应用程序的授权终端。
上述认证终端是否为应用程序的授权终端,包括:
根据用户信息包括的用户账号,验证用户信息包括的用户密码是否为注册密码;
如果否,则认证终端不是应用程序的授权终端;如果是,则根据用户账号,获取对应的绑定编码;
比较绑定编码与MD5编码是否相同;如果是,则认证终端是应用程序的授权终端;如果否,则根据用户账号,获取对应的绑定设备信息;
比较绑定设备信息与CPU信息是否一致;如果是,则认证终端是应用程序的授权终端;如果否,则认证终端不是应用程序的授权终端。
在本发明实施例中,接收终端在启动应用程序时发送的授权认证信息,所述授权认证信息包括所述终端的中央处理器CPU信息;根据所述授权认证信息,认证所述终端是否为所述应用程序的授权终端。本发明根据终端的CPU信息来进行授权认证,CPU是终端中的核心芯片,不易修改或更换。根据CPU信息来进行授权认证的安全性很高,授权认证的准确率很高。
实施例3
参见图3,本发明实施例提供了一种应用程序授权认证方法,该方法的执行主体为终端。终端的操作与实施例1所提供的应用程序授权认证方法中终端的操作相同,该方法具体包括以下步骤:
步骤301:检测到应用程序启动时,获取CPU信息及用户信息。
步骤302:根据CPU信息和用户信息,获得授权认证信息。
步骤303:发送授权认证信息给服务器,以使服务器根据授权认证信息认证终端是否为应用程序的授权终端。
上述根据CPU信息和用户信息,获得授权认证信息,包括:
按照预设选取规则从用户信息包括的用户密码中,选取预设位字符组成密钥;
通过密钥对CPU信息和用户信息进行加密得到密文;
将密文和用户密码组成授权认证信息。
本发明实施例中,还可以通过如下操作来根据CPU信息和用户信息,获得授权认证信息,包括:
对CPU信息和用户信息进行哈希运算,转换为MD5编码;
按照预设选取规则从用户信息包括的用户密码中,选取预设位字符组成密钥;
通过密钥对CPU信息、用户信息和MD5编码进行加密得到密文;
将密文和用户密码组成授权认证信息。
在本发明实施例中,检测到应用程序启动时,获取CPU信息及用户信息。根据CPU信息和用户信息,获得授权认证信息。发送授权认证信息给服务器,以使服务器根据授权认证信息认证终端是否为应用程序的授权终端。本发明根据终端的CPU信息来进行授权认证,CPU是终端中的核心芯片,不易修改或更换。根据CPU信息来进行授权认证的安全性很高,授权认证的准确率很高。
实施例4
参见图4,本发明实施例提供了一种应用程序授权认证系统,该系统用于执行上述实施例1所提供的应用程序授权认证方法。该系统包括服务器401和终端402;
终端402,用于检测到应用程序启动时,获取CPU信息及用户信息;根据CPU信息和用户信息,获得授权认证信息;发送授权认证信息给服务器401;
服务器401,用于接收终端402发送的授权认证信息;根据授权认证信息,认证终端402是否为应用程序的授权终端402。
服务器401,用于根据用户信息包括的用户账号,验证用户信息包括的用户密码是否为注册密码;如果否,则认证终端402不是应用程序的授权终端402;如果是,则根据用户账号,获取对应的绑定编码;比较绑定编码与授权认证信息包括的MD5编码是否相同;如果是,则认证终端402是应用程序的授权终端402;如果否,则根据用户账号,获取对应的绑定设备信息;比较绑定设备信息与CPU信息是否一致;如果是,则认证终端402是应用程序的授权终端402;如果否,则认证所述终端402不是所述应用程序的授权终端402。
在本发明实施例中,服务器401的具体操作与实施例1中所提到的服务器的操作细节相同,在此不再赘述。终端402的具体操作与实施例1中所提到的终端的操作细节也相同,同样在此不再赘述。
在本发明实施例中,服务器接收终端在启动应用程序时发送的授权认证信息,所述授权认证信息包括所述终端的中央处理器CPU信息;根据所述授权认证信息,认证所述终端是否为所述应用程序的授权终端。本发明根据终端的CPU信息来进行授权认证,CPU是终端中的核心芯片,不易修改或更换。根据CPU信息来进行授权认证的安全性很高,授权认证的准确率很高。
本发明实施例所提供的系统,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,系统实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种应用程序授权认证方法,其特征在于,所述方法包括:
接收终端在启动应用程序时发送的授权认证信息,所述授权认证信息包括所述终端的中央处理器CPU信息;
根据所述授权认证信息,认证所述终端是否为所述应用程序的授权终端。
2.根据权利要求1所述的方法,其特征在于,所述根据所述授权认证信息,认证所述终端是否为所述应用程序的授权终端,包括:
按照预设选取规则从所述授权认证信息包括的用户密码中,选取预设位字符组成密钥;
根据所述密钥,对所述授权认证信息包括的密文进行解密,得到所述终端的CPU信息和用户信息;
根据所述CPU信息和所述用户信息,认证所述终端是否为所述应用程序的授权终端。
3.根据权利要求2所述的方法,其特征在于,所述根据所述CPU信息和所述用户信息,认证所述终端是否为所述应用程序的授权终端,包括:
根据所述用户信息包括的用户账号,验证所述用户信息包括的用户密码是否为注册密码;
如果否,则认证所述终端不是所述应用程序的授权终端;如果是,则根据所述用户账号,获取对应的绑定设备信息;
比较所述绑定设备信息与所述CPU信息是否一致;如果是,则认证所述终端是所述应用程序的授权终端;如果否,则认证所述终端不是所述应用程序的授权终端。
4.根据权利要求1所述的方法,其特征在于,所述根据所述授权认证信息,认证所述终端是否为所述应用程序的授权终端,包括:
按照预设选取规则从所述授权认证信息包括的用户密码中,选取预设位字符组成密钥;
根据所述密钥,对所述授权认证信息包括的密文进行解密,得到所述终端的CPU信息、用户信息和消息摘要算法MD5编码;
根据所述CPU信息、所述用户信息和所述MD5编码,认证所述终端是否为所述应用程序的授权终端。
5.根据权利要求4所述的方法,其特征在于,所述根据所述CPU信息、所述用户信息和所述MD5编码,认证所述终端是否为所述应用程序的授权终端,包括:
根据所述用户信息包括的用户账号,验证所述用户信息包括的用户密码是否为注册密码;
如果否,则认证所述终端不是所述应用程序的授权终端;如果是,则根据所述用户账号,获取对应的绑定编码;
比较所述绑定编码与所述MD5编码是否相同;如果是,则认证所述终端是所述应用程序的授权终端;如果否,则根据所述用户账号,获取对应的绑定设备信息;
比较所述绑定设备信息与所述CPU信息是否一致;如果是,则认证所述终端是所述应用程序的授权终端;如果否,则认证所述终端不是所述应用程序的授权终端。
6.一种应用程序授权认证方法,其特征在于,所述方法包括:
检测到应用程序启动时,获取CPU信息及用户信息;
根据所述CPU信息和所述用户信息,获得授权认证信息;
发送所述授权认证信息给服务器,以使所述服务器根据所述授权认证信息认证终端是否为所述应用程序的授权终端。
7.根据权利要求6所述的方法,其特征在于,所述根据所述CPU信息和所述用户信息,获得授权认证信息,包括:
按照预设选取规则从所述用户信息包括的用户密码中,选取预设位字符组成密钥;
通过所述密钥对所述CPU信息和所述用户信息进行加密得到密文;
将所述密文和所述用户密码组成授权认证信息。
8.根据权利要求6所述的方法,其特征在于,所述根据所述CPU信息和所述用户信息,获得授权认证信息,包括:
对所述CPU信息和所述用户信息进行哈希运算,转换为MD5编码;
按照预设选取规则从所述用户信息包括的用户密码中,选取预设位字符组成密钥;
通过所述密钥对所述CPU信息、所述用户信息和所述MD5编码进行加密得到密文;
将所述密文和所述用户密码组成授权认证信息。
9.一种应用程序授权认证系统,其特征在于,所述系统包括服务器和终端;
所述终端,用于检测到应用程序启动时,获取CPU信息及用户信息;根据所述CPU信息和所述用户信息,获得授权认证信息;发送所述授权认证信息给所述服务器;
所述服务器,用于接收所述终端发送的所述授权认证信息;根据所述授权认证信息,认证所述终端是否为所述应用程序的授权终端。
10.根据权利要求9所述的系统,其特征在于,
所述服务器,用于根据所述用户信息包括的用户账号,验证所述用户信息包括的用户密码是否为注册密码;如果否,则认证所述终端不是所述应用程序的授权终端;如果是,则根据所述用户账号,获取对应的绑定编码;比较所述绑定编码与所述授权认证信息包括的MD5编码是否相同;如果是,则认证所述终端是所述应用程序的授权终端;如果否,则根据所述用户账号,获取对应的绑定设备信息;比较所述绑定设备信息与所述CPU信息是否一致;如果是,则认证所述终端是所述应用程序的授权终端;如果否,则认证所述终端不是所述应用程序的授权终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611209476.1A CN106599626A (zh) | 2016-12-23 | 2016-12-23 | 一种应用程序授权认证方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611209476.1A CN106599626A (zh) | 2016-12-23 | 2016-12-23 | 一种应用程序授权认证方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106599626A true CN106599626A (zh) | 2017-04-26 |
Family
ID=58603609
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611209476.1A Pending CN106599626A (zh) | 2016-12-23 | 2016-12-23 | 一种应用程序授权认证方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106599626A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108062462A (zh) * | 2018-02-09 | 2018-05-22 | 成都新舟锐视科技有限公司 | 一种软件授权认证方法及系统 |
CN109194625A (zh) * | 2018-08-10 | 2019-01-11 | 厦门市美亚柏科信息股份有限公司 | 一种基于云端服务器的客户端应用保护方法、装置及存储介质 |
CN109684790A (zh) * | 2018-12-26 | 2019-04-26 | 佛山市瑞德物联科技有限公司 | 软件启动方法、软件授权验证方法、设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753305A (zh) * | 2008-12-22 | 2010-06-23 | 康佳集团股份有限公司 | 一种网络安全认证方法、装置及系统 |
CN103095457A (zh) * | 2013-01-11 | 2013-05-08 | 广东欧珀移动通信有限公司 | 一种应用程序的登录、验证方法 |
CN103188668A (zh) * | 2011-12-27 | 2013-07-03 | 方正国际软件(北京)有限公司 | 一种移动终端应用的安全保护方法及系统 |
CN105653902A (zh) * | 2016-02-01 | 2016-06-08 | 深圳市新产业生物医学工程股份有限公司 | 软件注册方法和装置,注册码生成方法和装置 |
CN105871915A (zh) * | 2016-06-07 | 2016-08-17 | 得理电子(上海)有限公司 | 软件的网络认证绑定方法和系统 |
-
2016
- 2016-12-23 CN CN201611209476.1A patent/CN106599626A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101753305A (zh) * | 2008-12-22 | 2010-06-23 | 康佳集团股份有限公司 | 一种网络安全认证方法、装置及系统 |
CN103188668A (zh) * | 2011-12-27 | 2013-07-03 | 方正国际软件(北京)有限公司 | 一种移动终端应用的安全保护方法及系统 |
CN103095457A (zh) * | 2013-01-11 | 2013-05-08 | 广东欧珀移动通信有限公司 | 一种应用程序的登录、验证方法 |
CN105653902A (zh) * | 2016-02-01 | 2016-06-08 | 深圳市新产业生物医学工程股份有限公司 | 软件注册方法和装置,注册码生成方法和装置 |
CN105871915A (zh) * | 2016-06-07 | 2016-08-17 | 得理电子(上海)有限公司 | 软件的网络认证绑定方法和系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108062462A (zh) * | 2018-02-09 | 2018-05-22 | 成都新舟锐视科技有限公司 | 一种软件授权认证方法及系统 |
CN108062462B (zh) * | 2018-02-09 | 2021-03-02 | 成都新舟锐视科技有限公司 | 一种软件授权认证方法及系统 |
CN109194625A (zh) * | 2018-08-10 | 2019-01-11 | 厦门市美亚柏科信息股份有限公司 | 一种基于云端服务器的客户端应用保护方法、装置及存储介质 |
CN109194625B (zh) * | 2018-08-10 | 2021-06-11 | 厦门市美亚柏科信息股份有限公司 | 一种基于云端服务器的客户端应用保护方法、装置及存储介质 |
CN109684790A (zh) * | 2018-12-26 | 2019-04-26 | 佛山市瑞德物联科技有限公司 | 软件启动方法、软件授权验证方法、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104104672B (zh) | 基于身份认证建立动态授权码的方法 | |
CN110149328B (zh) | 接口鉴权方法、装置、设备及计算机可读存储介质 | |
CN110400145A (zh) | 一种数字身份申请系统及方法、身份认证系统及方法 | |
CN108683667B (zh) | 账户保护方法、装置、系统和存储介质 | |
BR112015000980B1 (pt) | Método de verificação implementado por computador | |
JP2015515218A (ja) | 抽象化およびランダム化された取引認証用ワンタイム使用パスワードのための方法およびシステム | |
CN103455965A (zh) | 一种基于验证图片的验证方法、装置及服务器 | |
CN102238193A (zh) | 数据认证方法及使用该方法的系统 | |
CN104299146A (zh) | 一种产品防伪查询系统 | |
KR101741917B1 (ko) | 음성인식을 활용한 인증 장치 및 방법 | |
CN101291226B (zh) | 一种利用图片信息提高信息安全设备验证安全性的方法 | |
US20130191641A1 (en) | Captcha (completely automated public test to tell computers and humans apart) data generation methods and related data management systems and computer program products thereof | |
CN107707356A (zh) | 一种基于二维码识别的移动设备安全绑定方法及应用系统 | |
CN104104671B (zh) | 建立企业法人账户的统一动态授权码系统 | |
CN107995200A (zh) | 一种基于智能卡的证书签发方法、身份认证方法以及系统 | |
CN104426657B (zh) | 一种业务认证方法、系统及服务器 | |
CN106599626A (zh) | 一种应用程序授权认证方法及系统 | |
CN109005140A (zh) | 一种安全的账号注册和登录的方法 | |
CN110113329A (zh) | 一种验证码的验证方法及装置 | |
TW201239667A (en) | Content or application program providing system, control method of content or application program providing system, terminal apparatus, control method of terminal apparatus, authentication device, control method of authentication device | |
CN106656955A (zh) | 一种通信方法及系统、客户端 | |
KR20120087095A (ko) | 실시간 패스워드를 생성하는 장치 및 방법 및 저장 매체 | |
CN108460597A (zh) | 一种密钥管理系统及方法 | |
CN107241361A (zh) | 一种基于云环境的统一身份认证方法 | |
CN115039376A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170426 |
|
RJ01 | Rejection of invention patent application after publication |