CN115795438A - 应用程序授权的方法、系统及可读存储介质 - Google Patents
应用程序授权的方法、系统及可读存储介质 Download PDFInfo
- Publication number
- CN115795438A CN115795438A CN202211639623.4A CN202211639623A CN115795438A CN 115795438 A CN115795438 A CN 115795438A CN 202211639623 A CN202211639623 A CN 202211639623A CN 115795438 A CN115795438 A CN 115795438A
- Authority
- CN
- China
- Prior art keywords
- application program
- authorization
- end interface
- user
- return result
- 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 41
- 238000013475 authorization Methods 0.000 claims abstract description 208
- 238000012795 verification Methods 0.000 claims abstract description 33
- 230000006870 function Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008676 import Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000008531 maintenance mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种应用程序授权的方法、系统及可读存储介质,方法包括:授权应用程序获取目标信息,通过私钥对目标信息和授权应用程序中的授权信息进行加密得到第一授权文件并发送第一授权文件和目标应用程序到前端界面;用户应用程序获取来自前端界面发送的第一校验请求,并校验第二授权文件是否存在得到第一返回结果并返回到前端界面;用户应用程序获取来自前端界面发送的第二授权文件,通过公钥对第二授权文件进行校验得到第二返回结果并返回到前端界面;目标应用程序获取来自前端界面发送的初始化信息进行初始化,得到第三返回结果并发送到前端界面。以提高本地部署中应用程序的安全性。可应用于本地部署中应用程序授权领域。
Description
技术领域
本发明涉及应用程序授权的领域,尤其是一种应用程序授权的方法、系统及可读存储介质。
背景技术
目前,本地部署被各大企业使用着,但是也存在诸多问题,比如本地部署之后无法控制应用程序使用有效期限、权限被篡改、程序被拷贝等问题,并且本地部署之后经常遇到通过反编译程序篡改系统权限,跳出授权范围等问题,因此,如何提高应用程序的安全性是一个急需解决的问题。
发明内容
有鉴于此,本发明实施例提供一种应用程序授权的方法、系统及可读存储介质,以提高本地部署中应用程序的安全性。
本发明的第一方面提供了一种应用程序授权的方法,包括:授权应用程序获取目标信息,通过私钥对目标信息和所述授权应用程序中的授权信息进行加密得到第一授权文件,并发送所述第一授权文件和目标应用程序到前端界面,其中,所述目标信息为用户通过前端界面提供的信息,包括部署的服务器的服务器物理信息以及身份信息,所述目标应用程序为要部署的应用程序;用户应用程序获取来自前端界面发送的第一校验请求,基于第一校验请求校验第二授权文件是否存在得到第一返回结果,返回所述第一返回结果到前端界面,其中,所述第一校验请求为用户安装并启动所述目标应用程序后,通过前端界面请求访问所述目标应用程序,所述第一返回结果用于提示所述第二授权文件是否已存在,所述第二授权文件为用户通过前端界面导入的文件;所述用户应用程序获取来自前端界面发送的第二授权文件,通过公钥对所述第二授权文件进行校验得到第二返回结果,返回所述第二返回结果到前端界面,所述第二返回结果用于提示用户所述第二授权文件是否合法;所述目标应用程序获取来自前端界面发送的初始化信息进行初始化,得到第三返回结果并发送到前端界面,其中,所述初始化信息为用户首次导入所述第一授权文件作为所述第二授权文件到所述用户应用程序,得到所述第二返回结果为校验合法后,用户在前端界面录入的身份信息,所述第三返回结果用于提示是否用户有权限访问所述目标应用程序;其中,所述授权应用程序中的私钥与所述用户应用程序中的公钥为一对公私钥。
根据本发明的一些实施例,所述授权应用程序获取目标信息,通过私钥对目标信息和所述授权应用程序中的授权信息进行加密,包括:所述授权应用程序通过MD5算法对授权功能点进行加密,其中,所述授权信息包括授权功能点;所述授权应用程序基于私钥对目标信息和所述授权信息进行签名得到第一签名值。
根据本发明的一些实施例,所述用户应用程序获取来自前端界面发送的第二授权文件,通过公钥对所述第二授权文件进行解析和校验得到第二返回结果,返回所述第二返回结果到前端界面,包括:所述用户应用程序基于公钥对第二授权文件对所述第一签名值进行验签得到第二返回结果。
根据本发明的一些实施例,所述用户应用程序获取来自前端界面发送的第二授权文件,通过公钥对所述第二授权文件进行校验得到第二返回结果,返回所述第二返回结果到前端界面,还包括:所述用户应用程序获取部署的服务器的服务器物理信息,对比所述第二授权文件中的服务器物理信息判断是否一致得到第一判断结果;所述用户应用程序获取部署的服务器的系统时间,对比所述第二授权文件中的有效期,判断是否在有效期内得到第二判断结果;根据第一判断结果和第二判断结果得到第二返回结果。
根据本发明的一些实施例,所述发送所述第一授权文件和目标应用程序到前端界面前,包括:所述授权应用程序对所述目标应用程序进行代码混淆。
根据本发明的一些实施例,所述授权应用程序对所述目标应用程序进行代码混淆,包括:所述授权应用程序基于所述目标应用程序的架构,通过配置项目对象模型对所述目标应用程序中的实现层、定时器、拦截器、流类文件进行混淆。
本发明的另一方面提供了一种应用程序授权的系统,包括:授权应用程序装置,用于获取目标信息,通过私钥对目标信息和所述授权应用程序中的授权信息进行加密得到第一授权文件,并发送所述第一授权文件和目标应用程序到前端界面,其中,所述目标信息为用户通过前端界面提供的信息,包括要部署的服务器的服务器物理信息以及身份信息,所述目标应用程序为要部署的应用程序;用户应用程序装置,用于获取来自前端界面发送的第一校验请求,基于第一校验请求校验第二授权文件是否存在得到第一返回结果,返回所述第一返回结果到前端界面,其中,所述第一校验请求为用户安装并启动所述目标应用程序后,通过前端界面请求访问所述目标应用程序,所述第一返回结果用于提示所述第二授权文件是否已存在;获取来自前端界面发送的第二授权文件,通过公钥对所述第二授权文件进行校验得到第二返回结果,返回所述第二返回结果到前端界面,其中,所述第二授权文件为用户确定第一返回结果为所述第二授权文件不存在时通过前端界面进行导入的文件,所述第二返回结果用于提示用户所述第二授权文件是否合法;目标应用程序装置,用于获取来自前端界面发送的初始化信息进行初始化,得到第三返回结果并发送到前端界面,其中,所述初始化信息为用户首次导入所述第一授权文件作为所述第二授权文件到所述用户应用程序,得到所述第二返回结果为校验合法后,用户在前端界面录入的身份信息,所述第三返回结果用于提示是否用户有权限访问所述目标应用程序;其中,所述授权应用程序中的私钥与所述用户应用程序中的公钥为一对公私钥。
本发明的另一方面提供了一种电子设备,包括处理器以及存储器;所述存储器用于存储程序;所述处理器执行所述程序实现如上所述的任一项所述的应用程序授权的方法。
根据本发明实施例的电子设备,至少具有与上述的应用程序授权的方法同样的有益效果。
本发明的另一方面提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如上所述的任一项所述的应用程序授权的方法。
根据本发明实施例的计算机可读存储介质,至少具有与上述的应用程序授权的方法同样的有益效果。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
本发明的实施例通过将授权的私钥验签的公钥分开在不同的应用程序,且不存在在目标应用程序中,使得本地部署时应用程序中不包含相关的工具包,避免应用程序被破解风险,提高了安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的应用程序授权的方法的步骤流程图;
图2为本发明具体实施例提供的授权文件的文件格式;
图3为本发明实施例提供的应用程序授权的系统的示意图;
图4为本发明实施例的设备的示意框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本地化部署是指将软件应用程序的服务器部署在企业内部的服务器,用户通过访问公司内的服务器即可操作软件,数据存储在公司自己的服务器上。基于客户自身的服务器部署,数据储存在本地服务,第三方无法获取。私密数据的安全性更有保障。另外,由于是通过内联网,集成相对容易。数据在系统之间的传输会更快。本地化部署将系统部署在企业本地的服务器上,数据存放在企业内部,归企业所有。但是本地部署后可能会被拷贝程序、授权过期后继续使用、程序破解、访问超过授权的功能权限等问题。本申请提出了一种应用程序授权的方法、系统及可读存储介,提高应用程序被使用的安全性。
参考图1,图1为本发明实施例提供的应用程序授权的方法的步骤流程图,包括步骤S110-步骤S140:
步骤S110,授权应用程序获取目标信息,通过私钥对目标信息和授权应用程序中的授权信息进行加密得到第一授权文件,并发送第一授权文件和目标应用程序到前端界面,其中,目标信息为用户通过前端界面提供的信息,包括部署的服务器的服务器物理信息以及身份信息,目标应用程序为要部署的应用程序。
具体地,授权应用程序获取用户通过前端界面提供的目标信息,具体的,目标信息为用户通过前端界面提供的信息,包括但不限于用户需要部署的服务器对应的服务器物理信息,例如:服务器IP、MAC、CPU等,同时还包括身份信息,例如企业基本信息、申请系统使用时长、业务边界等。用户通过前端界面将这些申请应用程序的相关目标信息发送给系统中的授权应用程序,授权应用程序获取到目标信息之后,授权应用程序获取授权信息,包括但不限于:License有效期、系统版本号、License种类、授权功能点,基于私钥对目标信息和授权信息进行加密生成了签名值,具体地,通过授权应用程序通过MD5算法对授权功能点进行加密,其中,授权信息包括授权功能点;授权应用程序基于私钥对目标信息和授权信息进行签名,并通过收取那SDK生成第一授权文件,其中第一授权文件包括有第一签名值。而通过授权SDK,利用加密和签名的数据生成授权文件,其中示例性地,授权文件为License授权文件。参考图2,提供了具体实施例当中License授权文件的文件格式,授权文件包括有第一授权文件和第二授权文件,根据图2可以看出,文件当中包括但不限于有供应商、使用者、生成时间、有效期、软件安装序列号、系统版本号、服务器信息包括:服务器IP地址、mac地址、cpu序列号,授权功能点、签名值等。要说明的是,授权SDK只存在在授权应用程序当中,只用于生成授权文件,授权应用程序提供数据库和加密机两种保存公私钥方式,根据实际需求采用一种保存方式,更具体地,签名算法:SM2.sign(私钥,有效期+供应商+使用方+MD5(授权功能点)+服务器信息)=签名值,先是通过MD5算法对授权功能点加密,得到加密结果,之后使用加密机或者数据库私钥通过SM2算法对整个数据进行加密,经过授权SDK生成第一授权文件,并显示第一授权文件以及用户需要部署的目标应用程序的相关用于安装启动的信息和数据到前端界面上。
在另一实施例中,发送第一授权文件和目标应用程序到前端界面前,包括:
授权应用程序对目标应用程序进行代码混淆。
具体地,为了辅助本地部署应用程序防止反编译,避免程序破解后篡改系统文件,跳过License验证,采用Allatori技术对代码混淆:基于应用程序SpringBoot架构,通过Maven配置文件POM,配置代码混淆内容及范围,本应用中对实现层、定时器、拦截器、流类文件进行混淆。代码混淆具有命名混淆,流混淆、字符串混淆以及水印技术等等强大的混淆功能,因此对混淆后的代码进行逆向工程几乎是不可能的,并且允许对需要混淆代码的应用程序添加有效期,对代码混淆效果非常强,而且操作简单。当应用程序基于JAVA进行编译时,因JAVA语言编译特性,应用程序需先编译后再部署,无法控制程序破解问题,通过代码混淆方式对应用程序进行处理,降低应用程序阅读性且程序无法逆向,解决应用程序破解问题;基于JAVA语言编译模式,通过代码混淆降低程序被反编译风险,提高应用程序安全性。要说明的是,用go,c,C#,.net,python等服务端编程语言开发也可以完成对应的操作
步骤S120,用户应用程序获取来自前端界面发送的第一校验请求,基于第一校验请求校验第二授权文件是否存在得到第一返回结果,返回第一返回结果到前端界面,其中,第一校验请求为用户安装并启动目标应用程序后,通过前端界面请求访问目标应用程序,第一返回结果用于提示第二授权文件是否已存在,第二授权文件为用户通过前端界面导入的文件。
具体地,用户在前端界面上输入目标信息后看到前端界面显示出第一授权文件和目标应用程序的相关信息,则立即安装目标应用程序并进行请求启动,请求启动的过程中前端界面会发送第一校验请求给系统中的用户应用程序,系统中的用户应用程序接收到前端界面发送的第一校验请求后,用户应用程序基于第一校验请求校验第二授权文件是否存在,其中第二授权文件即为用户通过前端界面上传的文件,根据是否存在得到第一返回结果,并将第一返回结果发送到前端界面。
步骤S130,用户应用程序获取来自前端界面发送的第二授权文件,通过公钥对第二授权文件进行校验得到第二返回结果,返回第二返回结果到前端界面,第二返回结果用于提示用户第二授权文件是否合法。
具体地,用户在前端界面上看到第一返回结果,如果第一返回结果为,授权文件不存在,则用户将第二授权文件通过前端界面上传到后台系统中,系统中的用户应用程序获取到前端界面发送的第二授权文件之后,通过公钥对第二授权文件进行校验得到第二返回结果,用户应用程序通过公钥对第二授权文件中的签名值进行校验,更具体地,SM2.verify(公钥,有效期+供应商+使用方+MD5(功能清单)+服务器信息),得到签名值并与授权文件内签名值比对是否一致得到第二返回结果。更进一步的,对于第二返回结果的判定还包括:验证服务器物理信息,与第二授权文件内的服务器物理信息比较是否一致;验证服务器系统时间,与第二授权文件中的有效期判断是否在有效期内;基于以上的判断,得到最终的第二返回结果,要求判断的结果全都符合条件,如签名值一致,服务器物理信息一致,在有效期内,此时第二返回结果为授权文件合法并显示到页面。要说明的是,用户应用程序通过验签SDK对授权文件进行验签,而验签SDK只存在在用户应用程序当中,生成用户系统文件时会过滤掉在授权应用文件中的授权SDK。可以看出,授权文件制作和验签封装成不同的SDK工具包,具备快速移植能力,用户只需扩展上层逻辑即可实现授权及保护;并且License签名采用公私钥方式实现,通过私钥生成授权文件,通过公钥验签,且生成和验签分为两个工具包,本地部署时应用程序中不包含生成工具包,避免应用程序被破解风险。适用于系统本地部署场景,通过根应用授权本地应用部署,多应用于管理类产品,根应用集成授权SDK,将访问权限、服务器物理信息、有效期等信息传入SDK后,生成授权文件,本地部署应用接入验签SDK,指定授权文件路径和验签频率,SDK将验签结果包含授权数据范围给应用程序。采用国密算法SM2对生成的License授权文件进行签名,通过私钥签名且私钥只存在根服务器中,公钥用来验签授权文件的合法性,授权文件内包含应用程序权限、有效期、授权服务器物理信息等,访问应用程序时系统校验授权文件合法性,通过应用程序内置公钥信息进行验签,验签通过后应用程序从授权文件中获取有效期、权限、服务器等信息,当授权文件被篡改时无法完成验签环节,从而解决有效期、访问权限、拷贝等问题。
步骤S140,目标应用程序获取来自前端界面发送的初始化信息进行初始化,得到第三返回结果并发送到前端界面,其中,初始化信息为用户首次导入第一授权文件作为第二授权文件到用户应用程序,得到第二返回结果为校验合法后,用户在前端界面录入的身份信息,第三返回结果用于提示是否用户有权限访问目标应用程序。
具体地,前端界面在判断后台系统对于授权文件的判断为合法后,会自动跳转页面到初始化界面,提示用户录入运维机构信息、用户信息、自动填充角色信息等初始化信息,页面发送初始化信息给目标应用程序,录入后系统会发送第三返回结果给前端界面,说明安全验证工作结束,提示用户有权限访问目标应用程序部署服务器。要说明的是,在第一返回结果为不存在,或者在第二返回结果为不合法的时候,页面除了将这些结果显示之外,还会自动跳转到初始化界面,或者授权文件更新界面,更新意味着重新生成授权文件。能理解的是,只有导入到用户应用程序的第二授权文件为授权应用程序生成的第一授权文件时候,才会得到用户有权限访问目标应用程序的结果。
参考图3,图3为本发明实施例提供的应用程序授权的系统的示意图,应用程序授权的系统包括:授权应用程序装置210、用户应用程序装置220和目标应用程序装置230:
授权应用程序装置210,用于获取目标信息,通过私钥对目标信息和授权应用程序中的授权信息进行加密得到第一授权文件,并发送第一授权文件和目标应用程序到前端界面,其中,目标信息为用户通过前端界面提供的信息,包括要部署的服务器的服务器物理信息以及身份信息,目标应用程序为要部署的应用程序;
用户应用程序装置220,用于获取来自前端界面发送的第一校验请求,基于第一校验请求校验第二授权文件是否存在得到第一返回结果,返回第一返回结果到前端界面,其中,第一校验请求为用户安装并启动目标应用程序后,通过前端界面请求访问目标应用程序,第一返回结果用于提示第二授权文件是否已存在;获取来自前端界面发送的第二授权文件,通过公钥对第二授权文件进行校验得到第二返回结果,返回第二返回结果到前端界面,其中,第二授权文件为用户确定第一返回结果为第二授权文件不存在时通过前端界面进行导入的文件,第二返回结果用于提示用户第二授权文件是否合法;
目标应用程序装置230,用于获取来自前端界面发送的初始化信息进行初始化,得到第三返回结果并发送到前端界面,其中,初始化信息为用户首次导入第一授权文件作为第二授权文件到用户应用程序,得到第二返回结果为校验合法后,用户在前端界面录入的身份信息,第三返回结果用于提示是否用户有权限访问目标应用程序;
要说明的是,还包括前端页面用于接收第一授权文件和目标应用程序,并供用户输入目标信息;发送第一校验请求,接收第一返回结果,发送第二授权文件,接收第二返回结果;发送初始化信息进行初始化,接收第三返回结果。能理解的是,前端页面是指用户通过前端页面部署自己企业服务器一侧,而目标应用程序装置230、授权应用程序装置210、用于应用程序装置都应用在被申请要用来部署的服务器一侧。
参照图4,本实施例提供一种电子设备,包括处理器以及与处理器耦接的存储器,存储器存储有可被处理器执行的程序指令,处理器执行存储器存储的程序指令时实现上述的目标风险网站检测方法。其中,处理器还可以称为CPU(Central Processing Unit,中央处理单元)。处理器可能是一种集成电路芯片,具有信号的处理能力。处理器还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器,或者,通用处理器还可以是任何常规的处理器等。存储器可包括各种组件(例如,机器可读介质),包括但不限于随机存取存储器组件、只读组件及其任意组合。存储器520还可包括:(例如,存储于一个或多个机器可读介质的)指令(例如,软件);该指令实现上述实施例中的目标风险网站检测方法。该电子设备具有搭载并运行本发明实施例提供的目标风险网站检测的软件系统的功能,例如,个人计算机(Personal Computer,PC)、手机、智能手机、个人数字助手(Personal Digital Assistant,PDA)、可穿戴设备、掌上电脑PPC(Pocket PC)、平板电脑等。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图1所示的方法。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种应用程序授权的方法,其特征在于,包括:
授权应用程序获取目标信息,通过私钥对目标信息和所述授权应用程序中的授权信息进行加密得到第一授权文件,并发送所述第一授权文件和目标应用程序到前端界面,其中,所述目标信息为用户通过前端界面提供的信息,包括部署的服务器的服务器物理信息以及身份信息,所述目标应用程序为要部署的应用程序;
用户应用程序获取来自前端界面发送的第一校验请求,基于第一校验请求校验第二授权文件是否存在得到第一返回结果,返回所述第一返回结果到前端界面,其中,所述第一校验请求为用户安装并启动所述目标应用程序后,通过前端界面请求访问所述目标应用程序,所述第一返回结果用于提示所述第二授权文件是否已存在,所述第二授权文件为用户通过前端界面导入的文件;
所述用户应用程序获取来自前端界面发送的第二授权文件,通过公钥对所述第二授权文件进行校验得到第二返回结果,返回所述第二返回结果到前端界面,所述第二返回结果用于提示用户所述第二授权文件是否合法;
所述目标应用程序获取来自前端界面发送的初始化信息进行初始化,得到第三返回结果并发送到前端界面,其中,所述初始化信息为用户导入所述第一授权文件作为所述第二授权文件到所述用户应用程序,得到所述第二返回结果为校验合法后,用户在前端界面录入的身份信息,所述第三返回结果用于提示是否用户有权限访问所述目标应用程序;
其中,所述授权应用程序中的私钥与所述用户应用程序中的公钥为一对公私钥。
2.根据权利要求1所述的应用程序授权的方法,所述授权应用程序获取目标信息,通过私钥对目标信息和所述授权应用程序中的授权信息进行加密,包括:
所述授权应用程序通过MD5算法对授权功能点进行加密,其中,所述授权信息包括授权功能点;
所述授权应用程序基于私钥对目标信息和所述授权信息进行签名得到第一签名值。
3.根据权利要求1所述的应用程序授权的方法,所述用户应用程序获取来自前端界面发送的第二授权文件,通过公钥对所述第二授权文件进行解析和校验得到第二返回结果,返回所述第二返回结果到前端界面,包括:
所述用户应用程序基于公钥对第二授权文件对所述第一签名值进行验签得到第二返回结果。
4.根据权利要求3所述的应用程序授权的方法,所述用户应用程序获取来自前端界面发送的第二授权文件,通过公钥对所述第二授权文件进行校验得到第二返回结果,返回所述第二返回结果到前端界面,还包括:
所述用户应用程序获取部署的服务器的服务器物理信息,对比所述第二授权文件中的服务器物理信息判断是否一致得到第一判断结果;
所述用户应用程序获取部署的服务器的系统时间,对比所述第二授权文件中的有效期,判断是否在有效期内得到第二判断结果;
根据第一判断结果和第二判断结果得到第二返回结果。
5.根据权利要求1所述的应用程序授权的方法,所述发送所述第一授权文件和目标应用程序到前端界面前,包括:
所述授权应用程序对所述目标应用程序进行代码混淆。
6.根据权利要求5所述的应用程序授权的方法,所述授权应用程序对所述目标应用程序进行代码混淆,包括:
所述授权应用程序基于所述目标应用程序的架构,通过配置项目对象模型对所述目标应用程序中的实现层、定时器、拦截器、流类文件进行混淆。
7.一种应用程序授权的系统,其特征在于,包括:
授权应用程序装置,用于获取目标信息,通过私钥对目标信息和所述授权应用程序中的授权信息进行加密得到第一授权文件,并发送所述第一授权文件和目标应用程序到前端界面,其中,所述目标信息为用户通过前端界面提供的信息,包括要部署的服务器的服务器物理信息以及身份信息,所述目标应用程序为要部署的应用程序;
用户应用程序装置,用于获取来自前端界面发送的第一校验请求,基于第一校验请求校验第二授权文件是否存在得到第一返回结果,返回所述第一返回结果到前端界面,其中,所述第一校验请求为用户安装并启动所述目标应用程序后,通过前端界面请求访问所述目标应用程序,所述第一返回结果用于提示所述第二授权文件是否已存在;获取来自前端界面发送的第二授权文件,通过公钥对所述第二授权文件进行校验得到第二返回结果,返回所述第二返回结果到前端界面,其中,所述第二授权文件为用户确定第一返回结果为所述第二授权文件不存在时通过前端界面进行导入的文件,所述第二返回结果用于提示用户所述第二授权文件是否合法;
目标应用程序装置,用于获取来自前端界面发送的初始化信息进行初始化,得到第三返回结果并发送到前端界面,其中,所述初始化信息为用户首次导入所述第一授权文件作为所述第二授权文件到所述用户应用程序,得到所述第二返回结果为校验合法后,用户在前端界面录入的身份信息,所述第三返回结果用于提示是否用户有权限访问所述目标应用程序;
其中,所述授权应用程序中的私钥与所述用户应用程序中的公钥为一对公私钥。
8.一种电子设备,其特征在于,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如权利要求1至6中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有程序,所述程序被处理器执行实现如权利要求1至6中任一项所述的方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211639623.4A CN115795438A (zh) | 2022-12-20 | 2022-12-20 | 应用程序授权的方法、系统及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211639623.4A CN115795438A (zh) | 2022-12-20 | 2022-12-20 | 应用程序授权的方法、系统及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115795438A true CN115795438A (zh) | 2023-03-14 |
Family
ID=85427284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211639623.4A Pending CN115795438A (zh) | 2022-12-20 | 2022-12-20 | 应用程序授权的方法、系统及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115795438A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541853A (zh) * | 2023-07-06 | 2023-08-04 | 苏州浪潮智能科技有限公司 | 基板管理控制器固件的管理方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624739A (zh) * | 2012-03-30 | 2012-08-01 | 奇智软件(北京)有限公司 | 一种适用于客户端平台的认证授权方法和系统 |
CN104850764A (zh) * | 2015-05-22 | 2015-08-19 | 东信和平科技股份有限公司 | 一种基于智能卡的软件保护方法及系统 |
US20150339482A1 (en) * | 2014-05-23 | 2015-11-26 | Blackberry Limited | Intra-application permissions on an electronic device |
CN105933358A (zh) * | 2016-07-11 | 2016-09-07 | 福建方维信息科技有限公司 | 一种应用程序互联网在线实时授权方法及系统 |
CN110968844A (zh) * | 2019-12-02 | 2020-04-07 | 卫盈联信息技术(深圳)有限公司 | 离线状态下的软件授权方法、服务器及可读存储介质 |
CN112699342A (zh) * | 2021-03-24 | 2021-04-23 | 统信软件技术有限公司 | 授权控制方法、授权方法、装置及计算设备 |
CN113626770A (zh) * | 2021-08-04 | 2021-11-09 | 北京锐安科技有限公司 | 一种对应用程序的授权控制方法、装置、设备及存储介质 |
CN115238248A (zh) * | 2022-08-15 | 2022-10-25 | 成都卫士通信息产业股份有限公司 | Sdk离线授权方法、装置、设备及介质 |
-
2022
- 2022-12-20 CN CN202211639623.4A patent/CN115795438A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102624739A (zh) * | 2012-03-30 | 2012-08-01 | 奇智软件(北京)有限公司 | 一种适用于客户端平台的认证授权方法和系统 |
US20150339482A1 (en) * | 2014-05-23 | 2015-11-26 | Blackberry Limited | Intra-application permissions on an electronic device |
CN104850764A (zh) * | 2015-05-22 | 2015-08-19 | 东信和平科技股份有限公司 | 一种基于智能卡的软件保护方法及系统 |
CN105933358A (zh) * | 2016-07-11 | 2016-09-07 | 福建方维信息科技有限公司 | 一种应用程序互联网在线实时授权方法及系统 |
CN110968844A (zh) * | 2019-12-02 | 2020-04-07 | 卫盈联信息技术(深圳)有限公司 | 离线状态下的软件授权方法、服务器及可读存储介质 |
CN112699342A (zh) * | 2021-03-24 | 2021-04-23 | 统信软件技术有限公司 | 授权控制方法、授权方法、装置及计算设备 |
CN113626770A (zh) * | 2021-08-04 | 2021-11-09 | 北京锐安科技有限公司 | 一种对应用程序的授权控制方法、装置、设备及存储介质 |
CN115238248A (zh) * | 2022-08-15 | 2022-10-25 | 成都卫士通信息产业股份有限公司 | Sdk离线授权方法、装置、设备及介质 |
Non-Patent Citations (3)
Title |
---|
JIAMENG SUN等: "Outsourced Decentralized Multi-Authority Attribute Based Signature and Its Application in IoT", IEEE TRANSACTIONS ON CLOUD COMPUTING, vol. 9, no. 3, 1 March 2019 (2019-03-01), XP011876411, DOI: 10.1109/TCC.2019.2902380 * |
吴俊军;余鹏飞;王同洋;张新访;: "基于用户授权的安全移动存储模型研究", 计算机工程与科学, vol. 31, no. 10, 15 October 2009 (2009-10-15) * |
李梁磊等: "一种基于FIDOUAF架构的开放授权方案", 信息网络安全, vol. 2017, no. 06, 10 June 2017 (2017-06-10) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116541853A (zh) * | 2023-07-06 | 2023-08-04 | 苏州浪潮智能科技有限公司 | 基板管理控制器固件的管理方法、装置、设备及存储介质 |
CN116541853B (zh) * | 2023-07-06 | 2023-09-19 | 苏州浪潮智能科技有限公司 | 基板管理控制器固件的管理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7886355B2 (en) | Subsidy lock enabled handset device with asymmetric verification unlocking control and method thereof | |
US8660964B2 (en) | Secure device licensing | |
EP3804213B1 (en) | Shared secret establishment | |
CN101872404B (zh) | 一种保护Java软件程序的方法 | |
US20070198434A1 (en) | Method and apparatus for generating rights object by means of delegation of authority | |
KR101509585B1 (ko) | 모바일 애플리케이션의 위변조 방지 장치, 사용자 디바이스, 방법 및 시스템 | |
WO2015042981A1 (zh) | 加解密处理方法、装置和设备 | |
CN108229144B (zh) | 一种应用程序的验证方法、终端设备及存储介质 | |
CN107534551B (zh) | 提供加密数据的方法、计算设备和计算机可读介质 | |
Cilardo et al. | Secure distribution infrastructure for hardware digital contents | |
CN115795438A (zh) | 应用程序授权的方法、系统及可读存储介质 | |
CN112000933B (zh) | 应用软件的激活方法、装置、电子设备及存储介质 | |
CN114598501A (zh) | 一种基于物联网的数据处理方法和装置 | |
US20050246285A1 (en) | Software licensing using mobile agents | |
GB2381087A (en) | Method for the secure distribution and use of electronic media | |
CN110619194B (zh) | 一种升级包加密、解密方法及装置 | |
KR101711024B1 (ko) | 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치 | |
Barbareschi et al. | Partial FPGA bitstream encryption enabling hardware DRM in mobile environments | |
CN111611551B (zh) | 一种基于国密算法的动态链接库保护方法及其系统 | |
KR101415786B1 (ko) | 온라인 실행 코드 기술과 암호화 기반 불법 복제 방지 시스템 및 그 방법 | |
KR101294866B1 (ko) | 개발환경 관리 시스템 및 이의 개발환경 관리 방법 | |
KR101282504B1 (ko) | 네트워크 환경에서 소프트웨어 사용 권한 인증 방법 | |
KR101265887B1 (ko) | 보호 컴퓨팅 환경을 제공하는 방법 및 장치 내에 보호 환경을 설정하는 방법 | |
EP2998895B1 (en) | Technique for enabling nominal flow of an executable file | |
CN116781424B (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 |