CN106657137A - 一种软件产品合法性的验证方法、装置以及系统 - Google Patents
一种软件产品合法性的验证方法、装置以及系统 Download PDFInfo
- Publication number
- CN106657137A CN106657137A CN201710031187.5A CN201710031187A CN106657137A CN 106657137 A CN106657137 A CN 106657137A CN 201710031187 A CN201710031187 A CN 201710031187A CN 106657137 A CN106657137 A CN 106657137A
- Authority
- CN
- China
- Prior art keywords
- software product
- checking
- module
- certificate
- verification
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/101—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种软件产品合法性的验证方法、装置以及系统,所述方法包括:获取所述软件产品的证书;解密所述证书,获得所述证书中的验证数据;基于所述验证数据对所述软件产品的合法性进行第一验证;向后台服务器上报所述软件产品的使用信息,以使得后台服务器对所述上报内容进行第二验证,并返回第二验证结果。本发明从本地和后台服务器对软件产品进行两次合法性验证,能够有效验证对于软件产品的密钥的恶意破解,避免恶意使用者通过修改系统参数来获得对于软件产品的不当使用,保护软件不被篡改和非法、恶意使用。
Description
技术领域
本发明属于互联网技术领域,具体涉及一种软件产品合法性的验证方法、装置以及系统。
背景技术
随着互联网的迅速发展,不同种类的应用软件被开发,用以配合不同需求的使用者或系统设备。同时,伴随着硬件设备的快速升级、应用软件不断地更新,软件研发者需要搭配防破解的措施,用以授权使用者合法使用应用软件的权利,进而保护应用软件的知识产权,同时保护软件不被篡改和恶意利用。
然而,使用者除了遵循正当途径以添购新版的应用软件外,仍有部分的使用者通过未经授权的方式取得新版应用软件的使用权利,例如破解应用软件、破解应用软件的密钥,或是通过硬件设备的系统时间以避免当前使用的应用软件超过合法授权的使用时间。如此,对于开发应用软件的程序设计者,必定产生极大的负面冲击。
因此,如何有效防止恶意使用者任意破解应用软件的防破解密钥,或是避免使用者通过修改系统时间来延长应用软件的授权时间,保护软件不被篡改和恶意利用,已成为本领域重要的议题之一。
发明内容
为了解决现有技术中存在的技术问题,本发明实施例提供了一种软件产品合法性的验证方法、装置以及系统。所述技术方案如下:
本发明的第一方面,提供一种软件产品合法性的验证方法,包括如下步骤:获取所述软件产品的证书,所述证书通过非对称加密算法加密;解密所述证书,以获得所述证书中的验证数据;在接收到对所述软件产品第一功能模块的调用请求时,基于所述验证数据对所述软件产品的合法性进行第一验证;若所述软件产品的合法性未通过所述第一验证,禁止所述调用请求对所述第一功能模块的调用;若所述软件产品通过所述第一验证,向后台服务器上报所述软件产品的使用信息,以使得后台服务器对所述上报内容进行第二验证,并返回第二验证结果;接收所述第二验证结果,若未通过所述第二验证,禁止所述调用请求对所述第一功能模块的调用。
本发明的第二方面,提供一种软件产品合法性的验证装置,包含如下模块:证书获取模块,用于获取所述软件产品的证书,所述证书通过非对称加密算法加密;解密模块,用于解密所述证书,以获得所述证书中的验证数据;第一验证模块,用于在接收到对所述软件产品第一功能模块的调用请求时,基于所述验证数据对所述软件产品的合法性进行第一验证;第一功能禁用模块,用于在所述软件产品的合法性未通过所述第一验证时,禁止所述调用请求对所述第一功能模块的调用;第二验证发送模块,用于在所述软件产品通过所述第一验证时,向后台服务器上报所述软件产品的使用信息;所述后台服务器用于对所述上报内容进行第二验证,并返回第二验证结果;结果接收模块,用于接收所述后台服务器返回的第二验证结果;第二功能禁用模块,用于在未通过所述第二验证时,禁止所述调用请求对所述第一功能模块的调用。
本发明的第三方面,提供一种软件产品合法性的验证方法,包括如下步骤:软件合法性验证客户端获取所述软件产品的证书,所述证书通过非对称加密算法加密;软件合法性验证客户端解密所述证书,以获得所述证书中的验证数据;软件合法性验证客户端在接收到对所述软件产品第一功能模块的调用请求时,基于所述验证数据对所述软件产品的合法性进行第一验证;若所述软件产品的合法性未通过所述第一验证,软件合法性验证客户端禁止所述调用请求对所述第一功能模块的调用;若所述软件产品通过所述第一验证,软件合法性验证客户端向后台服务器上报所述软件产品的使用信息;后台服务器对所述上报内容进行第二验证,并返回第二验证结果;软件合法性验证客户端接收所述第二验证结果;若未通过所述第二验证,软件合法性验证客户端禁止所述调用请求对所述第一功能模块的调用。
本发明的第四方面,提供一种软件产品合法性的验证系统,所述系统包含软件产品合法性验证客户端和后台服务器;所述软件产品合法性验证客户端包括:证书获取模块,用于获取所述软件产品的证书,所述证书通过非对称加密算法加密;解密模块,用于解密所述证书,以获得所述证书中的验证数据;第一验证模块,用于在接收到对所述软件产品第一功能模块的调用请求时,基于所述验证数据对所述软件产品的合法性进行第一验证;第一功能禁用模块,用于在所述软件产品的合法性未通过所述第一验证时,禁止所述调用请求对所述第一功能模块的调用;第二验证发送模块,用于在所述软件产品通过所述第一验证时,向后台服务器上报所述软件产品的使用信息;第二验证结果接收模块,用于接收所述后台服务器返回的第二验证结果;第二功能禁用模块,用于在未通过所述第二验证时,禁止所述调用请求对所述第一功能模块的调用。所述后台服务器包括:第二验证接收模块,用于接收第二验证发送模块上报的所述软件产品的使用信息;第二验证模块,用于对所述上报内容进行第二验证,并返回第二验证结果;第二验证结果发送模块,用于向所述软件产品合法性验证客户端发送第二验证结果。
本发明能够达到的有益效果:本发明实施例提供的技术方案从本地和后台服务器对软件产品进行两次合法性验证,能够有效验证对于软件产品的密钥的恶意破解,避免恶意使用者通过修改系统参数来获得对于软件产品的不当使用,保护软件不被篡改和非法、恶意使用。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明;
图1是本发明实施例提供的一种实施环境的示意图。
图2是本发明实施例提供的非对称加密和解密方法流程图。
图3是本发明实施例提供的软件产品合法性的验证方法流程图。
图4是本发明实施例提供的软件产品合法性的验证方法流程图。
图5是本发明实施例提供的软件产品合法性的验证方法流程图。
图6是本发明实施例提供的软件产品合法性的验证方法流程图。
图7是本发明实施例提供的软件产品合法性的验证方法流程图。
图8是本发明实施例提供的软件产品合法性的验证装置原理框图。
图9是本发明实施例提供的软件产品合法性的验证装置原理框图。
图10是本发明一个实施例提供的终端的结构示意图。
图11是本发明一个实施例提供的服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种软件产品的合法性验证方法、装置以及系统。请参考图1,该图为本发明实施例所提供的软件产品的合法性验证系统的应用场景示意图,该应用场景中,请参考图1,其示出了本发明实施例提供的验证方法所涉及的实施环境的结构示意图。该实施环境包括配置有包含有用户设备101、用于验证的后台服务器102和数据库103。
所述用户设备101中安装有执行本发明提供的验证方法的客户端以及待验证的软件产品,客户端用于验证所述软件产品的合法性,其产生本地验证结果以及对于后续验证的请求信息。所述评测设备会将产生的本地验证结果以及后台验证的请求传送给所述后台服务器102。后台服务器102用于接收用户设备的后台验证的请求信息,进行验证处理,并将验证结果返回给用户设备101。数据库103用于存储验证信息,并在后台服务器接收到验证请求时,根据验证请求查询并输出对应的结果。
本实施例中记载的合法性是指软件产品是否经过软件发布者的合法授权,是否在合法的授权时间段内使用以及是否对按照合法的使用频率使用所述软件产品。
请参考图2,其示出了本发明一个实施例提供的软件产品的合法性验证方法。该方法可应用于图1所示实施环境中。该方法可以包括如下步骤:
S110,获取所述软件产品的加密证书,所述加密证书通过非对称加密。
首先,软件产品被安装在用户设备101中。在所述安装完成的软件产品被使用时,需要获得该软件产品的证书(license),证书是被加密的。示例性地,证书文件是通过非对称的方式进行加密。
非对称密钥,是指一对加密密钥与解密密钥,这两个密钥是数学相关,用某用户加密密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。
如图3所示,非对称的加密方式可以包含如下步骤:
S1101,对于待加密的字符串明文,通过Encoding指定不同的代码页,把字符串转成不同代码页对应的编码,变现为byte[]形式,此时,待加密的字符串明文转换为byte[]字节流明文。
S1102,然后使用加密算法对byte[]字节流明文进行加密,生成公钥和私钥,该公钥与解密端的私钥对应,此时待加密的字符串明文转换为byte[]形式的密文。
在一个示例中,步骤S1102使用加密算法对byte[]字节流明文进行加密,包括是通过如下步骤来实现的:
S11021,选择两个大素数p和q,计算其乘积n,n=p*q。
S11022,计算(p-1)和(q-1)的最小公倍数L,并选择与最小公倍数L互为素数且小于最小公倍数的任意整数作为公钥。
L=LCM((p-1),(q-1))
GCD(e,L)=1
1<e<L
上式中,LCM(X,Y)表示X与Y的最小公倍数,GCD(X,Y)表示X与Y的最大公约数。LCM是Least Comon Multiple,即最小公倍数的缩写,GCD是Greast Common Divisor,即最大公约数的缩写。
S11023,使用公开密钥e以及最小公倍数L来解算下式:
ed≡1(mod L)
在密钥生成过程中会对素数p、q以及公钥e进行预先存储,将素数p、q以及私钥e发送至解密装置。
在一个示例中,基于欧拉定理的明文计算过程下:
取大素数p,q值;
计算n=p*q;
计算(p-1)*(q-1);
加密过程中y为密文,x为明文。
y≡x^e mod n
以素数p=3,q=11为例:
N=p*q=3*11=33
(p-1)*(q-1)=(3-1)*(11-1)=20
在加密过程中:y为加密操作的密文,x为加密操作的明文,其值为5。
y≡x^e mod n=5^7 mod 33=14;
将素数p、q和密钥e进行存储,Mod表示同余函数。
在一个示例中,素数p、q是大素数,被存储在512位长的数据区,例如:
p=d322f3e7 2456a13 415024c7 58fcb123 cc889931 facda630 71f004f4b89752d0 2c21acf1 b8982d782 2f26a471 c11c520c 172efb80 ac7ca39d 71f281c7b72fe9a7
q=288b5d77 4765703a 2f1f1f11 0dd862b2 3c57cc21 24162519 00256abd24489329 acdef123 71f281c7 23490de 256eff14 d150a81b 2bed3f8d 3cade8907abf2807
p和q均采用16进制数字,为了方便查看,使用8位分开的方式进行表示。密钥则被保存到一个1024位长的数据区。
S120,解密所述加密证书,以获得所述加密证书中的验证数据。
对于安装在终端的软件产品,往往需要验证和激活操作,本实施例中使用加密的证书作为激活文件的载体,因此需要首先对证书进行解密操作。
在一个示例中,如图3所示,对应于加密方式,非对称的解密方式包括:
S1103,对于byte[]形式的密文,首先使用与加密时所产生公钥相对应的私钥进行解密,生成byte[]字节流明文。
S1104,对于所生成的byte[]字节流明文,使用加密时Encoding使用的代码页,把byte[]形式的明文转换为字符串明文。
在一个示例中,解密包括如下步骤:
x=y^d mod n;
d*e≡1[mod(p-1)*(q-1)]
以素数p=3,q=11为例,在加密过程中:
n=p*q=3*11=33
(p-1)*(q-1)=(3-1)*(11-1)=20
加密:y=密文x=明文=5;
y≡x^e mod n=5^7 mod 33=14;
将素数p、q和私钥e进行存储,Mod表示同余函数。
x≡y^d mod n;
d*e≡1[mod(p-1)*(q-1)];
7d≡1(mod 20);
d=3;
x≡y^d mod n=14^3 mod 33=5
上述过程以小素数简单地描述了密文为14,明文为5的解密过程,当p,q为大素数时,不依靠明文基本上无法解出密文。这种加密方式保证了证书中内容不会被暴力破解。
在一个示例中,为了缩减每次执行素性检测算法的时间,采用较为简单的费尔马(Fermat)小定理方法检测素性;而为了保证素性检测的正确性,在待测数据通过费尔马小定理方法的素性检测后,再使用较为通用的Miller-rabin算法检查素性,如此可以减少较为耗时的Miller-rabin算法检查素性次数,并可以保证素性检测的准确性。建立素数存储缓冲区,将待测数据存入该缓冲区,在系统空闲的时候对缓冲区中的数据进行素性检测,从而将需要数百甚至上千次执行的素性检测算法分散到系统空闲时间中完成。本实施例中“费尔马(Fermat)小定理”的内容是:若自然数n是素数,且a是任何满足1≤a≤n-1的整数,则an-1≡1(mod n)。根据该定理测试素性的算法为:首先生成随机数a,并使a是任何满足1≤a≤n-1的整数,然后计算an-1(mod n),若结果不等于1,则说明n不是素数,否则说明n有可能为素数。
经过解密后的证书文件包含有用于验证软件是否为合法软件的文件信息。这些文件信息至少包含有application ID和软件产品的合法使用区间。
S130,在接收到对所述软件产品第一功能模块的调用请求时,基于所述验证数据验证所述第一功能模块。
当用户使用软件产品时,会通过人机接口对软件产品的某个或者某一些功能进行操作。响应于所述操作,会产生对软件产品功能模块的调用请求。
对于某一类功能模块,例如软件产品的开放性功能、游客功能或者免费功能。在接收到调用请求后,即可以对调用请求进行响应。
对于另一类功能模块,例如软件产品的付费功能、限时使用功能或者注册用户才能使用的功能,则必须经过用户验证才能开放使用,此处将该类功能称为第一功能。
用户的是否进行过注册,用户是否处于有效使用期内,则必须借助验证数据才能够实现验证。
在一个示例中,验证数据是通过证书获得的,证书事先通过非对称的加密算法进行加密,私钥则是在软件产品的获取和安全过程中获得的。非对称的加密方式可以防止证书文件被暴力破解,保证软件产品的安全性,同时,私钥和公钥的配对也保证证书文件来源于原始发布者,保证证书文件没有被篡改,也保证了软件使用的安全性。
在一个示例中,解密后证书文件中至少包含有授权身份信息、合法时间区间和调用次数阈值。基于授权身份信息,运行的合法时间区间和正常的调用次数来限制软件产品的正常和正确使用。
在一个示例中,如图4所示,基于所述验证数据验证所述第一功能模块包括如下验证步骤:
S1301,基于所述验证数据验证所述第一功能模块应用身份信息的合法性。该步骤基于第一功能模块的应用身份信息与来自证书的验证数据中的授权身份信息比对来验证应用身份信息的合法性,该步骤可以包括如下步骤:
S13011,获取所述第一功能模块的本地应用身份信息。
本地身份信息可以是本地的Application ID信息,该信息在不同的系统对应不同的内容,例如对于IOS平台,本地应用身份信息指Bundle ID,即IOS系统中应用的唯一标识。对于Android平台,指的是Package Name,即Android系统中应用的唯一标识。
S13012,判断所述本地应用身份信息是否属于所述验证数据中的授权身份信息。在获取本地应用身份信息之后,需要根据该身份信息判断该本地应用身份是否获得授权,因此需要将本地应用身份信息与来自证书的授权身份信息进行比较。判断本地应用身份信息是否属于证书中的授权身份信息。
S13013,若是,则通过所述验证。
S13014,若否,则未通过所述验证。
在一个示例中,基于所述验证数据验证所述第一功能模块包括如下验证步骤:
S1302,基于所述验证数据验证所述第一功能模块使用时间的合法性。该步骤基于当前的系统时间与来自证书的验证数据中的合法时间区间比对来验证应用身份信息的合法性,该步骤可以包括如下步骤:
S13021,读取系统时间。
系统时间是系统获取的当前时间,包括年、月、日以及具体的小时、分钟和秒信息。
S13022,判断所述系统时间是否属于所述验证数据的合法时间区间。
判断所述系统时间是否属于所述验证数据的合法时间,是通过判断获得的系统时间是否处于来自证书的合法时间区间。
例如,证书的合法时间区间是固定的年份,例如,2016年1月1日至2016年12月31日,那么如果当前的系统时间属于该时间区间,则说明当前的系统时间属于合法的区间。
例如,证书的合法时间区间是一个固定的时间段,例如,自软件产品安装之日起的30天,而软件产品的安装时间是2016年1月1日,那么合法的时间区间为2016年1月1日至2016年1月30日。
例如,证书的合法时间区间是每天固定的时间段,例如,某类软件在晚上5:00至晚11:00属于限制登录时段,那么该软件的合法时间区间为晚12:00至次日的4:59:59。
在本实施例中,无论来自证书文件的合法时间区间是何种区间,最终目的都是要确定系统时间是否处于合法的时间区间内。
S13023,若是,则通过所述验证。
S13023,若否,则未通过所述验证。
在一个示例中,基于所述验证数据验证所述第一功能模块包括如下验证步骤:
S1303,基于所述验证数据验证第一功能模块的调用次数。该步骤基于第一功能模块被调用的次数来验证其合法性,该步骤可以包括如下步骤:
S13031,获取第一功能模块的调用次数信息。对于某个第一验证模块的调用次数可以通过例如计数器或者软件模块的历史调用文件获得。
S13032,判断所述第一验证模块的调用次数是否超过所述验证数据中的预设阈值。预设阈值是为了防止软件中的某个模块被过于频繁的调用,例如网络通信模块被频繁调用而向外部发送Flood信息,或者被以网络共享的方式在多个用户间通过账号切换的方式被多个用户操作和使用。当所获取的第一功能模块的调用次数信息超过阈值时,即时软件产品获得了其他验证的通过,也会在被认为是非法操作。
S13033,若是,则通过所述验证。
S13034,若否,则未通过所述验证。
S140,若所述第一功能模块未通过所述验证,禁止该功能模块的调用。
在对于第一功能模块的验证过程中,存在未通过所述验证的情况,此时,禁止对第一功能模块的调用。禁止对功能模块的调用是指不对本次请求做出响应。
S150,若所述第一功能模块通过所述验证,则向后台服务器上报所述软件产品使用信息,以使得后台服务器对所述上报内容进行后台验证,并返回后台验证结果。
后台服务器存储有软件产品的更新证书文件,对于软件产品的本地验证,可以通过例如伪造用户身份、篡改系统时间的方式欺骗过本地验证。但是无法绕过后台服务器的验证。当本地验证完成后,终端会收集软件产品的使用信息,并将信息上报到后台服务器以进行后台验证。后台验证至少包含应用身份信息的合法性、以及使用时间的合法性。
如图5所示,在一个示例中,S1510后台服务器进行的身份信息的合法性验证包括如下验证步骤:
S15101,后台服务器获取授权身份信息;
S15102,后台服务器判断所述软件产品的应用身份信息是否属于所述授权身份信息;
S15103,若是,则通过所述后台验证;
S15104,若否,则所述未通过所述后台验证。
后台服务器处获取的身份信息是通过服务器处的跟证书获取的,该步骤验证用于防止本地伪造证书以获取本地验证的通过。
如图5所示,在一个示例中,S1520后台服务器验证使用时间的合法性包括如下验证步骤:
S15201,后台服务器获取本地系统时间信息;
S15202,后台服务器判断所述本地系统时间信息是否与后台服务器的标准时间一致;
S15203,若是,则通过所述后台验证;
S15204,若否,则所述未通过所述后台验证。
该步骤验证用于防止篡改本地系统时间以获得授权时间外的使用期限。
S160,若未通过所述后台验证,禁止所述调用请求对所述第一功能模块的调用。
请参考图6,其示出了本发明一个实施例提供的软件产品的合法性验证方法,该方法可应用于图1所示实施环境中。该方法可以包括如下步骤:
S610,客户端中的软件产品的合法性验证装置获取所述软件产品的加密证书,所述加密证书通过非对称加密。
S620,客户端中的软件产品的合法性验证装置解密所述加密证书,以获得所述加密证书中的验证数据。
S630,客户端中的软件产品的合法性验证装置在接收到对所述软件产品第一功能模块的调用请求时,基于所述验证数据验证所述第一功能模块。
S6301,客户端中的软件产品的合法性验证装置基于所述验证数据验证所述第一功能模块应用身份信息的合法性。
S6302,客户端中的软件产品的合法性验证装置基于所述验证数据验证所述第一功能模块使用时间的合法性。
S6303,客户端中的软件产品的合法性验证装置基于所述验证数据验证第一功能模块的调用次数。
S640,若所述软件产品未通过所述验证,禁止该功能模块的调用。
S650,若所述软件通过所述验证,则向后台服务器上报所述软件产品使用信息。后台服务器对所述上报内容进行后台验证,并返回后台验证结果。
S6501后台服务器验证身份信息的合法性。
S6502后台服务器验证使用时间的合法性。
S660,若未通过所述后台验证,禁止所述调用请求对所述第一功能模块的调用。
请参考图7,其示出了本发明一个实施例提供的软件产品的合法性验证方法,该方法可应用于图1所示实施环境中。该方法可以包括如下步骤:
S710,客户端中的软件产品的合法性验证装置获取所述软件产品的加密证书,所述加密证书通过非对称加密。
S720,客户端中的软件产品的合法性验证装置解密所述加密证书,以获得所述加密证书中的验证数据。
S730,客户端中的软件产品的合法性验证装置在接收到对所述软件产品第一功能模块的调用请求时,基于所述验证数据验证所述第一功能模块。
S7301,客户端中的软件产品的合法性验证装置基于所述验证数据验证所述第一功能模块应用身份信息的合法性。
S7302,客户端中的软件产品的合法性验证装置基于所述验证数据验证所述第一功能模块使用时间的合法性。
S740,若所述软件产品未通过所述验证,禁止该功能模块的调用。
S750,若所述软件通过所述验证,判断所述第一模块的调用次数是否超过所述验证数据中的调用次数阈值。
S760,若第一模块的调用次数超过所述验证数据中的调用次数阈值,向后台服务器上报所述软件产品使用信息。后台服务器对所述上报内容进行后台验证,并返回后台验证结果。
S7601后台服务器验证身份信息的合法性。
S7602后台服务器验证使用时间的合法性。
S770,第一模块的调用次数超过所述验证数据中的调用次数阈值,向后台服务器上报所述软件产品使用信息
在步骤S750时,对第一模块的调用次数不作为本地验证是否通过的判断条件。而是作为是否进行后台二次验证的触发条件。因为在一些使用场景中,在第一模块调用次数较少且用户信息和授权时间正确时,无需开启第二次验证。
在步骤S750中,使用了第一模块的调用次数作为是否进行二次验证的触发条件,在其它实施方式中,该条件可以通过设备UUID被调用的次数与预设阈值的比较来代替。
请参考图8,其示出了本发明一个实施例提供的软件产品的合法性验证装置800,所述装置包括如下模块:
证书获取模块810,用于获取所述软件产品的证书,所述证书通过非对称加密算法加密;
解密模块820,用于解密所述证书,以获得所述证书中的验证数据;
第一验证模块830,用于在接收到对所述软件产品第一功能模块的调用请求时,基于所述验证数据对所述软件产品的合法性进行第一验证;
第一功能禁用模块840,用于在所述软件产品的合法性未通过所述第一验证时,禁止所述调用请求对所述第一功能模块的调用;
第二验证发送模块850,用于在所述软件产品通过所述第一验证时,向后台服务器上报所述软件产品的使用信息;所述后台服务器用于对所述上报内容进行第二验证,并返回第二验证结果;
结果接收模块860,用于接收所述后台服务器返回的第二验证结果;
第二功能禁用模块870,用于在未通过所述第二验证时,禁止所述调用请求对所述第一功能模块的调用。
相关细节可参考图3-5所示的方法实施例。
请参考图9,其示出了本发明一个实施例提供的软件产品的合法性验证装置900,所述装置包括如下模块:
证书获取模块910,用于获取所述软件产品的证书,所述证书通过非对称加密算法加密;
解密模块920,用于解密所述证书,以获得所述证书中的验证数据;
第一验证模块930,用于在接收到对所述软件产品第一功能模块的调用请求时,基于所述验证数据对所述软件产品的合法性进行第一验证。
第一验证模块930,包括如下子模块:
身份信息验证子模块9301,用于基于所述验证数据验证所述软件产品身份信息的合法性。该模块还进一步包含如下子模块:
身份信息获取子模块93011,用于获取所述软件产品的本地应用身份信息。
身份信息判断子模块93012,用于判断所述本地应用身份信息是否属于所述验证数据中的授权身份信息。
授权时间验证子模块9302,用于基于所述验证数据验证所述软件产品授权时间的合法性。该模块还进一步包含如下子模块:
系统时间获取子模块93021,用于读取系统时间;
授权时间判断子模块93022,用于判断所述系统时间是否属于所述验证数据的授权时间区间。
调用次数验证子模块9302,用于基于所述验证数据验证第一功能模块的调用次数。该模块还进一步包含如下子模块:
调用次数获取子模块93031,用于获取第一验证模块的调用次数信息;
调用次数判断子模块93032,用于判断所述第一验证模块的调用次数是否超过所述验证数据中的调用次数阈值。
第一功能禁用模块940,用于在所述软件产品的合法性未通过所述第一验证时,禁止所述调用请求对所述第一功能模块的调用;
第二验证发送模块950,用于在所述软件产品通过所述第一验证时,向后台服务器上报所述软件产品的使用信息;所述后台服务器用于对所述上报内容进行第二验证,并返回第二验证结果;
结果接收模块960,用于接收所述后台服务器返回的第二验证结果;
第二功能禁用模块970,用于在未通过所述第二验证时,禁止所述调用请求对所述第一功能模块的调用。
请参考图10,其示出了本发明一个实施例提供的终端的结构示意图。该终端用于实施上述实施例中提供的软件产品的合法性验证方法。具体来讲:
终端1000可以包括RF(Radio Frequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、视频传感器150、音频电路160、WiFi(wireless fidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、LNA(Low Noise Amplifier,低噪声放大器)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA(CodeDivision Multiple Access,码分多址)、WCDMA(Wideband Code Division MultipleAccess,宽带码分多址)、LTE(Long Term Evolution,长期演进)、电子邮件、SMS(ShortMessaging Service,短消息服务)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端1000的使用所创建的数据(比如视频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。
输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括图像输入设备131以及其他输入设备132。图像输入设备131可以是摄像头,也可以是光电扫描设备。除了图像输入设备131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端1000的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,15有机发光二极管)等形式来配置显示面板141。
终端1000可包括至少一种视频传感器150,视频传感器用于获取用户的视频信息。终端1000还可以包括其它传感器(未示出),比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端1000移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端1000还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
视频电路160、扬声器161,传声器162可提供用户与终端1000之间的视频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路11以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端1000的通信。
WiFi属于短距离无线传输技术,终端1000通过WiFi模块70可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了WiFi模块170,但是可以理解的是,其并不属于终端1000的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是终端1000的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端1000的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。
可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
终端1000还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端1000还可以包括蓝牙模块等,在此不再赘述。
具体在本实施例中,终端1000还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述发送方客户端侧或者接收方客户端侧的方法的指令。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述后台服务器侧的方法的指令。
请参考图11,其示出了本发明实施例提供的服务器的结构示意图。该服务器用于实施上述实施例中提供的服务器侧的种子人群扩散方法。具体来讲:
所述服务器900包括中央处理单元(CPU)901、包括随机存取存储器(RAM)902和只读存储器(ROM)903的系统存储器904,以及连接系统存储器904和中央处理单元901的系统总线905。所述服务器900还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)906,和用于存储操作系统913、应用程序914和其他程序模块915的大容量存储设备907。
所述基本输入/输出系统906包括有用于显示信息的显示器908和用于用户输入信息的诸如鼠标、键盘之类的输入设备909。其中所述显示器908和输入设备909都通过连接到系统总线905的输入输出控制器910连接到中央处理单元901。所述基本输入/输出系统906还可以包括输入输出控制器910以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器910还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备907通过连接到系统总线905的大容量存储控制器(未示出)连接到中央处理单元901。所述大容量存储设备907及其相关联的计算机可读介质为服务器900提供非易失性存储。也就是说,所述大容量存储设备907可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器904和大容量存储设备907可以统称为存储器。
根据本发明的各种实施例,所述服务器900还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器900可以通过连接在所述系统总线905上的网络接口单元911连接到网络912,或者说,也可以使用网络接口单元911来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述方法的指令。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由终端的处理器执行以完成上述方法实施例中发送方客户端或接收方客户端侧的各个步骤,或者上述指令由服务器的处理器执行以完成上述方法实施例中后台服务器侧的各个步骤。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (19)
1.一种软件产品合法性的验证方法,其特征在于,所述方法包括如下步骤:
获取所述软件产品的证书,所述证书通过非对称加密算法加密;
解密所述证书,以获得所述证书中的验证数据;
在接收到对所述软件产品第一功能模块的调用请求时,基于所述验证数据对所述软件产品的合法性进行第一验证;
若所述软件产品的合法性未通过所述第一验证,禁止所述调用请求对所述第一功能模块的调用;
若所述软件产品通过所述第一验证,向后台服务器上报所述软件产品的使用信息,以使得后台服务器对所述上报内容进行第二验证,并返回第二验证结果;
接收所述第二验证结果,若未通过所述第二验证,禁止所述调用请求对所述第一功能模块的调用。
2.根据权利要求1所述的方法,其特征在于,所述证书中的验证数据包括授权身份信息、授权时间区间和调用次数阈值。
3.根据权利要求1所述的方法,其特征在于,基于所述验证数据对所述软件产品的合法性进行第一验证,包括:
基于所述验证数据验证所述软件产品身份信息的合法性;
基于所述验证数据验证所述软件产品授权时间的合法性;
基于所述验证数据验证第一功能模块的调用次数。
4.根据权利要求3所述的方法,其特征在于,基于所述验证数据验证所述软件产品身份信息的合法性包括:
获取所述软件产品的本地应用身份信息;
判断所述本地应用身份信息是否属于所述验证数据中的授权身份信息;
若是,则通过所述验证;若否则未通过所述验证。
5.根据权利要求3所述的方法,其特征在于,基于所述验证数据验证所述软件产品授权时间的合法性包括:
读取系统时间;
判断所述系统时间是否属于所述验证数据的授权时间区间;
若是,则通过所述验证;若否则未通过所述验证。
6.根据权利要求3所述的方法,其特征在于,验证第一应用模块的调用次数包括:
获取第一验证模块的调用次数信息;
判断所述第一验证模块的调用次数是否超过所述验证数据中的调用次数阈值;
若是,则通过所述验证;若否则未通过所述验证。
7.根据权利要求1所述的方法,其特征在于,所述软件产品的使用信息包括所述软件产品的应用身份信息和本地系统时间信息。
8.根据权利要求7所述的方法,其特征在于,后台服务器对所述上报内容进行第二验证包括:
验证所述上报内容中应用身份信息的合法性;
验证所述上报内容中使用时间的合法性。
9.根据权利要求8所述的方法,其特征在于,验证所述上报内容中应用身份信息的合法性包括:
后台服务器获取授权身份信息;
后台服务器判断所述软件产品的应用身份信息是否属于所述授权身份信息;
若是,则通过所述后台验证;若否,则所述未通过所述后台验证。
10.根据权利要求8所述的方法,其特征在于,验证所述上报内容中使用时间的合法性包括:
后台服务器获取本地系统时间信息;
后台服务器判断所述本地系统时间信息是否与后台服务器的标准时间一致;
若是,则通过所述后台验证;若否,则所述未通过所述后台验证。
11.一种软件产品合法性的验证装置,其特征在于,所述装置包括如下模块:
证书获取模块,用于获取所述软件产品的证书,所述证书通过非对称加密算法加密;
解密模块,用于解密所述证书,以获得所述证书中的验证数据;
第一验证模块,用于在接收到对所述软件产品第一功能模块的调用请求时,基于所述验证数据对所述软件产品的合法性进行第一验证;
第一功能禁用模块,用于在所述软件产品的合法性未通过所述第一验证时,禁止所述调用请求对所述第一功能模块的调用;
第二验证发送模块,用于在所述软件产品通过所述第一验证时,向后台服务器上报所述软件产品的使用信息;所述后台服务器用于对所述上报内容进行第二验证,并返回第二验证结果;
结果接收模块,用于接收所述后台服务器返回的第二验证结果;
第二功能禁用模块,用于在未通过所述第二验证时,禁止所述调用请求对所述第一功能模块的调用。
12.根据权利要求11所述的装置,其特征在于,所述证书中的验证数据包括授权身份信息、授权时间区间和调用次数阈值。
13.根据权利要求11所述的装置,其特征在于,所述第一验证模块包括:
身份信息验证子模块,用于基于所述验证数据验证所述软件产品身份信息的合法性;
授权时间验证子模块,用于基于所述验证数据验证所述软件产品授权时间的合法性;
调用次数验证子模块,用于基于所述验证数据验证第一功能模块的调用次数。
14.根据权利要求13所述的装置,其特征在于,所述身份信息验证子模块包括:
身份信息获取子模块,用于获取所述软件产品的本地应用身份信息;
身份信息判断子模块,用于判断所述本地应用身份信息是否属于所述验证数据中的授权身份信息。
15.根据权利要求13所述的装置,其特征在于,授权时间验证子模块包括:
系统时间获取子模块,用于读取系统时间;
授权时间判断子模块,用于判断所述系统时间是否属于所述验证数据的授权时间区间。
16.根据权利要求13所述的装置,其特征在于,调用次数验证子模块包括:
调用次数获取子模块,用于获取第一验证模块的调用次数信息;
调用次数判断子模块,用于判断所述第一验证模块的调用次数是否超过所述验证数据中的调用次数阈值。
17.根据权利要求11所述的装置,其特征在于,所述软件产品的使用信息包括所述软件产品的应用身份信息和本地系统时间信息。
18.一种软件合法性验证方法,所述方法包括如下步骤:
软件合法性验证客户端获取所述软件产品的证书,所述证书通过非对称加密算法加密;
软件合法性验证客户端解密所述证书,以获得所述证书中的验证数据;
软件合法性验证客户端在接收到对所述软件产品第一功能模块的调用请求时,基于所述验证数据对所述软件产品的合法性进行第一验证;
若所述软件产品的合法性未通过所述第一验证,软件合法性验证客户端禁止所述调用请求对所述第一功能模块的调用;
若所述软件产品通过所述第一验证,软件合法性验证客户端向后台服务器上报所述软件产品的使用信息;
后台服务器对所述上报内容进行第二验证,并返回第二验证结果;
软件合法性验证客户端接收所述第二验证结果;
若未通过所述第二验证,软件合法性验证客户端禁止所述调用请求对所述第一功能模块的调用。
19.一种软件产品合法性的验证系统,其特征在于:所述系统包含软件产品合法性验证客户端和后台服务器;
所述软件产品合法性验证客户端包括:
证书获取模块,用于获取所述软件产品的证书,所述证书通过非对称加密算法加密;
解密模块,用于解密所述证书,以获得所述证书中的验证数据;
第一验证模块,用于在接收到对所述软件产品第一功能模块的调用请求时,基于所述验证数据对所述软件产品的合法性进行第一验证;
第一功能禁用模块,用于在所述软件产品的合法性未通过所述第一验证时,禁止所述调用请求对所述第一功能模块的调用;
第二验证发送模块,用于在所述软件产品通过所述第一验证时,向后台服务器上报所述软件产品的使用信息;
第二验证结果接收模块,用于接收所述后台服务器返回的第二验证结果;
第二功能禁用模块,用于在未通过所述第二验证时,禁止所述调用请求对所述第一功能模块的调用。
所述后台服务器包括:
第二验证接收模块,用于接收第二验证发送模块上报的所述软件产品的使用信息;
第二验证模块,用于对所述上报内容进行第二验证,并返回第二验证结果;
第二验证结果发送模块,用于向所述软件产品合法性验证客户端发送第二验证结果。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710031187.5A CN106657137A (zh) | 2017-01-17 | 2017-01-17 | 一种软件产品合法性的验证方法、装置以及系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710031187.5A CN106657137A (zh) | 2017-01-17 | 2017-01-17 | 一种软件产品合法性的验证方法、装置以及系统 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN106657137A true CN106657137A (zh) | 2017-05-10 |
Family
ID=58840565
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201710031187.5A Pending CN106657137A (zh) | 2017-01-17 | 2017-01-17 | 一种软件产品合法性的验证方法、装置以及系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN106657137A (zh) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107277794A (zh) * | 2017-06-09 | 2017-10-20 | 中国联合网络通信集团有限公司 | 建立通信连接的方法、装置及移动终端 |
| CN108304698A (zh) * | 2018-01-25 | 2018-07-20 | 深圳市广和通无线股份有限公司 | 产品授权使用方法、装置、计算机设备和存储介质 |
| CN108389057A (zh) * | 2018-02-11 | 2018-08-10 | 广东美的环境电器制造有限公司 | 滤网双重防伪方法及装置、电子设备及存储介质 |
| CN111240699A (zh) * | 2020-01-22 | 2020-06-05 | 上海商汤临港智能科技有限公司 | 软件产品处理方法和装置、源码解释器 |
| CN111625380A (zh) * | 2020-07-28 | 2020-09-04 | 上海海栎创微电子有限公司 | 标定程序远程调用的控制方法 |
| CN119645433A (zh) * | 2024-10-15 | 2025-03-18 | 深圳开鸿数字产业发展有限公司 | 一种应用程序的安装方法、装置、设备及存储介质 |
| WO2025077658A1 (zh) * | 2023-10-08 | 2025-04-17 | 支付宝(杭州)信息技术有限公司 | 一种业务执行方法、装置、存储介质及电子设备 |
| CN120431452A (zh) * | 2024-12-26 | 2025-08-05 | 荣耀终端股份有限公司 | 一种限制使用方法及电子设备 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20010011253A1 (en) * | 1998-08-04 | 2001-08-02 | Christopher D. Coley | Automated system for management of licensed software |
| US20030135467A1 (en) * | 2000-05-30 | 2003-07-17 | Akiyoshi Okamoto | Rental system of digital content |
| CN101106771A (zh) * | 2006-07-10 | 2008-01-16 | 王磊 | 手机软件加密和验证方法 |
| CN102222389A (zh) * | 2011-06-30 | 2011-10-19 | 北京天诚盛业科技有限公司 | 一种金融ic卡内指纹比对的实现方法及装置 |
| CN103390122A (zh) * | 2012-05-09 | 2013-11-13 | 中国移动通信集团公司 | 应用程序发送方法、应用程序运行方法、服务器和终端 |
| WO2014201830A1 (en) * | 2013-06-20 | 2014-12-24 | Tencent Technology (Shenzhen) Company Limited | Method and device for detecting software-tampering |
-
2017
- 2017-01-17 CN CN201710031187.5A patent/CN106657137A/zh active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20010011253A1 (en) * | 1998-08-04 | 2001-08-02 | Christopher D. Coley | Automated system for management of licensed software |
| US20030135467A1 (en) * | 2000-05-30 | 2003-07-17 | Akiyoshi Okamoto | Rental system of digital content |
| CN101106771A (zh) * | 2006-07-10 | 2008-01-16 | 王磊 | 手机软件加密和验证方法 |
| CN102222389A (zh) * | 2011-06-30 | 2011-10-19 | 北京天诚盛业科技有限公司 | 一种金融ic卡内指纹比对的实现方法及装置 |
| CN103390122A (zh) * | 2012-05-09 | 2013-11-13 | 中国移动通信集团公司 | 应用程序发送方法、应用程序运行方法、服务器和终端 |
| WO2014201830A1 (en) * | 2013-06-20 | 2014-12-24 | Tencent Technology (Shenzhen) Company Limited | Method and device for detecting software-tampering |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107277794A (zh) * | 2017-06-09 | 2017-10-20 | 中国联合网络通信集团有限公司 | 建立通信连接的方法、装置及移动终端 |
| CN108304698A (zh) * | 2018-01-25 | 2018-07-20 | 深圳市广和通无线股份有限公司 | 产品授权使用方法、装置、计算机设备和存储介质 |
| CN108304698B (zh) * | 2018-01-25 | 2021-04-06 | 深圳市广和通无线股份有限公司 | 产品授权使用方法、装置、计算机设备和存储介质 |
| CN108389057A (zh) * | 2018-02-11 | 2018-08-10 | 广东美的环境电器制造有限公司 | 滤网双重防伪方法及装置、电子设备及存储介质 |
| CN108389057B (zh) * | 2018-02-11 | 2020-11-27 | 广东美的环境电器制造有限公司 | 滤网双重防伪方法及装置、电子设备及存储介质 |
| CN111240699A (zh) * | 2020-01-22 | 2020-06-05 | 上海商汤临港智能科技有限公司 | 软件产品处理方法和装置、源码解释器 |
| CN111625380A (zh) * | 2020-07-28 | 2020-09-04 | 上海海栎创微电子有限公司 | 标定程序远程调用的控制方法 |
| WO2025077658A1 (zh) * | 2023-10-08 | 2025-04-17 | 支付宝(杭州)信息技术有限公司 | 一种业务执行方法、装置、存储介质及电子设备 |
| CN119645433A (zh) * | 2024-10-15 | 2025-03-18 | 深圳开鸿数字产业发展有限公司 | 一种应用程序的安装方法、装置、设备及存储介质 |
| CN120431452A (zh) * | 2024-12-26 | 2025-08-05 | 荣耀终端股份有限公司 | 一种限制使用方法及电子设备 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3605989B1 (en) | Information sending method, information receiving method, apparatus, and system | |
| CN109472166B (zh) | 一种电子签章方法、装置、设备及介质 | |
| CN106657137A (zh) | 一种软件产品合法性的验证方法、装置以及系统 | |
| CN112765684B (zh) | 区块链节点终端管理方法、装置、设备及存储介质 | |
| CN111193695B (zh) | 一种第三方账号登录的加密方法、装置及存储介质 | |
| US9843569B2 (en) | Method and apparatus for access credential provisioning | |
| CN111737366B (zh) | 区块链的隐私数据处理方法、装置、设备以及存储介质 | |
| WO2021022701A1 (zh) | 信息传输方法、装置、客户端、服务端及存储介质 | |
| CN108769027B (zh) | 安全通信方法、装置、移动终端和存储介质 | |
| CN112533202B (zh) | 身份鉴别方法及装置 | |
| US20120254622A1 (en) | Secure Access to Electronic Devices | |
| CN103095457A (zh) | 一种应用程序的登录、验证方法 | |
| CN105721413A (zh) | 业务处理方法及装置 | |
| US10454905B2 (en) | Method and apparatus for encrypting and decrypting picture, and device | |
| CN107733652B (zh) | 用于共享交通工具的开锁方法和系统及车锁 | |
| CN106845177A (zh) | 密码管理方法及系统 | |
| EP3029879B1 (en) | Information processing device, information processing method, and computer program | |
| KR20130031435A (ko) | 휴대용 단말의 암호화 키 생성 및 관리 방법 및 그 장치 | |
| US20110170689A1 (en) | Terminal and method for processing encrypted message | |
| CN108737341B (zh) | 业务处理方法、终端及服务器 | |
| CN103782304A (zh) | 用于制造期间预配置密钥的方法 | |
| CN115243269A (zh) | 确定风险信息的方法、装置、电子设备及存储介质 | |
| JP5993908B2 (ja) | 端末装置、検証方法及び検証プログラム | |
| KR20130041033A (ko) | 휴대용 단말의 암호화 키 생성 및 관리 방법 및 그 장치 | |
| KR100867560B1 (ko) | 휴대 단말기의 단문메시지의 보안 방법 |
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 | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |