CN107423584B - 应用软件的运行方法、装置、终端和计算机可读存储介质 - Google Patents
应用软件的运行方法、装置、终端和计算机可读存储介质 Download PDFInfo
- Publication number
- CN107423584B CN107423584B CN201710623315.5A CN201710623315A CN107423584B CN 107423584 B CN107423584 B CN 107423584B CN 201710623315 A CN201710623315 A CN 201710623315A CN 107423584 B CN107423584 B CN 107423584B
- Authority
- CN
- China
- Prior art keywords
- signature
- application software
- permission
- message
- field
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012795 verification Methods 0.000 claims abstract description 23
- 230000015654 memory Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 238000001629 sign test Methods 0.000 description 6
- 238000010200 validation analysis Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 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
-
- 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/125—Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
-
- 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/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种应用软件的运行方法,包括:获取许可字段;其中,所述许可字段包括记载了所述应用软件的运行权限的报文、第一签名以及第二签名;验证所述第一签名是否是根据所述报文按照第一签名算法计算得到的;如果所述第一签名验证成功,则将所述许可字段提供给所述应用软件,以使所述应用软件验证所述第二签名是否根据所述报文按照第二签名算法计算得到的,并在验证成功时按照所述运行权限运行。相应地,本发明还公开了另一种应用软件的运行方法、应用软件的运行装置、终端和计算机可读存储介质。实施本发明,实现确保应用软件在得到许可的状态下安全运行的效果。
Description
技术领域
本发明实施例涉及数字签名技术,尤其涉及一种应用软件的运行方法、装置、终端和计算机可读存储介质。
背景技术
由于软件产品数字化的特征,一直遭受盗版的困扰,因此,目前业内逐步开发为软件产品进行保护的加密产品。软件产品开发商将软件加密、权限分发和运行数据采集等工作交由从事对软件产品进行保护的第三方公司处理。由于软件产品被加密且需要权限验证才能运行,因此在软件产品启动前,需要安全组件获取到分发给用户的许可字段(包含运行权限信息对应的报文和对报文进行加密的签名字段),该许可字段的组成如图1所示。安全组件根据许可字段中的签名字段验证许可字段的合法性,验证成功后方可准许被保护的软件产品运行。
发明人在实施本发明的过程中,发现现有技术存在以下问题:由于软件产品启动前的签名验证必须由第三方公司开发的安全组件完成,软件产品的开发商无法完全确定许可字段在分发到使用过程中没有发生篡改,因此不能确认软件产品一定在得到许可的状态下运行。
发明内容
本发明提供一种应用软件的运行方法、装置、终端和计算机可读存储介质,以实现应用软件可根据开发商自行开发的验签方法验证许可字段的无篡改性,确保应用软件在得到许可的状态下运行。
第一方面,本发明实施例提供了一种应用软件的运行方法,包括:
获取许可字段;其中,所述许可字段包括记载了所述应用软件的运行权限的报文、第一签名以及第二签名;
验证所述第一签名是否是根据所述报文按照第一签名算法计算得到的;
如果所述第一签名验证成功,则将所述许可字段提供给所述应用软件,以使所述应用软件验证所述第二签名是否是根据所述报文按照第二签名算法计算得到的,并在验证成功时按照所述运行权限运行。
第二方面,本发明实施例还提供了一种应用软件的运行装置,包括:
获取模块,用于获取许可字段;其中,所述许可字段包括记载了运行权限的报文、第一签名以及第二签名;
第一验证模块,用于验证所述第一签名是否是根据所述报文按照第一签名算法计算得到的;
提供模块,用于如果所述第一签名验证成功,则将所述许可字段提供给所述应用软件,以使所述应用软件验证所述第二签名是否是根据所述报文按照第二签名算法计算得到的,并在验证成功时按照所述运行权限运行。
第三方面,本发明实施例还提供了另一种应用软件的运行装置,包括:
读取模块,用于读取许可字段;其中,所述许可字段包括记载了运行权限的报文、第一签名以及第二签名;所述许可字段是由安全组件获取,并在安全组件验证所述第一签名是根据所述报文按照第一签名算法计算得到后,提供给本应用软件的;
第二验证模块,用于验证所述第二签名是否是根据所述报文按照第二签名算法计算得到的;
运行模块,用于如果所述第二签名验证成功,则按照所述运行权限运行。
第四方面,本发明实施例还提供了一种终端,包括应用软件和安全组件;
所述安全组件用于获取许可字段;其中,所述许可字段包括记载了运行权限的报文、第一签名以及第二签名;
所述安全组件还用于验证所述第一签名是否是根据所述报文按照第一签名算法计算得到的;如果所述第一签名验证成功,则将所述许可字段提供给所述应用软件;
所述应用软件用于读取所述许可字段,验证所述第二签名是否根据所述报文按照第二签名算法计算得到的,并在验证成功时按照所述运行权限运行。
第五方面,本发明实施例还提供了一种终端,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的应用软件的运行方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的应用软件的运行方法。
本发明通过在许可字段中设置两个签名,使得安全组件在准许应用软件启动前验证第一签名,第一签名验证成功后交由应用软件验证第二签名,从而应用软件的开发商可以用自行开发的验签方法验证许可字段,解决现有技术应用软件的开发商无法完全确定许可字段在分发到使用的过程中没有发生篡改的问题,实现确保应用软件在得到许可的状态下安全运行的效果。
附图说明
图1是现有技术中的许可字段的数据结构示意图;
图2是本发明实施例一提供的应用软件的运行方法的流程图;
图3是本发明实施例一中的许可字段的数据结构示意图;
图4是本发明实施例二提供的应用软件的运行方法的流程图;
图5是本发明实施例三提供的应用软件的运行方法的流程图;
图6是本发明实施例四提供的应用软件的运行装置的结构示意图;
图7是本发明实施例五提供的应用软件的运行装置的结构示意图;
图8是本发明实施例六提供的终端的结构示意图;
图9是本发明实施例七提供的终端的结构示意图;
图10是本发明实施例八提供的终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图2为本发明实施例一提供的应用软件的运行方法的流程图,本实施例可适用于在应用软件启动之前由安全组件和应用软件共同验证许可字段的签名的情况,该方法可以由计算机终端上运行的安全组件来执行,具体包括如下步骤:
步骤110、获取许可字段;
其中,所述许可字段包括记载了所述应用软件的运行权限的报文、第一签名以及第二签名。
步骤120、验证所述第一签名是否是根据所述报文按照第一签名算法计算得到的。
步骤130、如果所述第一签名验证成功,则将所述许可字段提供给所述应用软件,以使所述应用软件验证所述第二签名是否是根据所述报文按照第二签名算法计算得到的,并在验证成功时按照所述运行权限运行。
许可字段是用户购买应用软件时分发的,一般地,用户购买应用软件获得相应的运行权限,如运行该应用软件的时长、运行该应用软件的功能类型或运行该应用软件的次数等,应用软件开发商或负责对应用软件进行保护的第三方公司会将许可字段分发给用户,用户启动应用软件时,安全组件会要求获得许可字段以验证用户身份的合法性,即执行步骤110和步骤120,在安全组件验证成功后,将所述许可字段提供给应用软件,应用软件也可以验证用户身份的合法性,从而使应用软件可用应用软件开发商自行开发的验签方法验证许可字段。即具体地,所述获取许可字段为:安全组件从云平台或者加密锁中读取所述许可字段;相应的,所述安全组件验证所述第一签名是否是根据所述报文按照第一签名算法计算得到的,并且在所述第一签名验证成功后,所述安全组件将所述许可字段提供给所述应用软件。
进一步地,参见图3所示的本实施例中的许可字段的数据结构示意图,所述第一签名为图3中的软件安全第三方签名,所述第二签名为图3中的软件开发商签名。其中,所述软件安全第三方签名是根据软件安全第三方签名算法(即负责验证应用软件的运行权限的第三方公司所设定的签名算法)计算得到的,软件开发商签名是根据应用软件的开发商设定的签名算法计算得到的。
分发许可字段有多种实施方式。在其中一种实施方式中,可将许可字段存储在硬件存储设备中,将该存储设备作为加密锁分发给用户。则步骤110可具体为,安全组件从加密锁中读取所述许可字段。
作为另一种实施方式,可将许可字段分发至安全组件可读取内容的云平台中用户的账户。具体地,可构建云平台负责分发权限,即用户可通过登录云平台购买开发商软件获得运行权限,云平台将许可字段分发至用户的账户。用户在启动软件时,输入用户的身份信息,即输入启动应用软件的请求信息,安全组件在接收到该信息时,从云平台获取该用户身份信息所对应的许可字段。云平台还可实现在应用软件运行过程中采集运行数据,并记录该运行数据与该用户对应,分析用户的运行***台获取所述用户身份信息所对应的许可字段。
在上述方案的基础上,还可以对签名算法的设置进行优化。一般地,在构建许可字段时,可使用所述记载了应用软件的运行权限的报文为待签名字段,使用第一签名算法对待签名字段执行计算得到第一签名,使用第二签名算法对待签名字段执行计算得到第二签名。作为优选的实施方式,第一签名算法可以是以报文和第二签名为待签名字段的签名算法,构建许可字段时,以报文为待签名字段,使用第二签名算法计算得到第二签名,进而以报文和第二签名的整体为待签名字段,使用第一签名算法计算得到第一签名;则在验证第一签名是否根据所述报文按照第一签名算法计算得到时,具体验证第一签名是否以所述报文和第二签名为待签名字段,执行第一签名算法计算得到的。或者,在构建许可字段时,先计算得第一签名,再以报文和第一签名的整体为待签名字段,使用第二签名算法计算得到第二签名。这种混合报文和签名字段为待签名字段的实施方式,可提高签名算法被破解的难度,降低许可字段被拦截后被破解的风险。
具体地,验证签名是否根据报文按照指定的签名算法得到的,可以是对包含报文的待签名字段执行签名算法计算得到签名,验证计算得到的签名是否与许可字段中的签名一致,也可以是预先存储记载报文以及与每一个报文对应的执行签名算法计算得到的签名的列表,通过查询该列表验证签名是否根据报文按照指定的签名算法得到的。还可以是其他验证方法。
需要说明的是,本发明的实施例所述安全组件,不限于为对应用软件进行软件加密或数据采集的组件,任何在应用软件的启动前,为应用软件验证权限许可的组件都可视为本发明的实施例所述安全组件。
本实施例的技术方案,通过在许可字段中设置两个签名,使得安全组件在准许应用软件启动前验证第一签名,第一签名验证成功后交由应用软件验证第二签名,从而应用软件的开发商可以用自行开发的验签方法验证许可字段,解决现有技术软件产品的开发商无法完全确定许可字段在分发到使用的过程中没有发生篡改的问题,实现确保应用软件在得到许可的状态下安全运行的效果。
实施例二
图4为本发明实施例二提供的应用软件的运行方法的流程图,本实施例可适用于在应用软件启动之前由安全组件和应用软件共同验证许可字段的签名的情况,该方法可以由运行在计算机终端上的安全组件来执行。该方法在实施例一提供的应用软件的运行方法的基础上,提供了另一种步骤110的具体实现方案,需要用解密算法对从云平台或加密锁获取的字段进行解密才可得到许可字段。具体地,在本实施例中,步骤110包括:
步骤111、在接收到启动应用软件的请求信息时,读取所述请求信息中的用户身份信息;
步骤112、根据所述用户身份信息,获取所述用户身份信息所对应的加密字段;
步骤113、按照预设的解密算法对所述加密字段进行解密,得到许可字段。
本实施例云平台对许可字段进行了加密才提供给安全组件,使得即使非法用户在许可字段的传输过程中拦截了该字段,也无法获得具体的许可字段,提高了许可字段被破解的难度。
需要说明的是,本实施例从云平台获取加密字段,进而解密,达到获取许可字段且提高安全性的效果,在其他实施例中,即使是从硬件存储设备或其他存储介质获取许可字段,也可以使存储在这些存储介质里的字段是加密字段,以提高安全性。
本实施例的技术方案,通过在许可字段中设置两个签名,使得安全组件在准许应用软件启动前验证第一签名,第一签名验证成功后交由应用软件验证第二签名,从而应用软件的开发商可以用自行开发的验签方法验证许可字段,解决现有技术软件产品的开发商无法完全确定许可字段在分发到使用的过程中没有发生篡改的问题,实现确保应用软件在得到许可的状态下安全运行的效果。且对许可字段进行加密后传输,提高了许可字段传输的安全性。
实施例三
图5为本发明实施例三提供的应用软件的运行方法的流程图,本实施例可适用于在应用软件启动之前由安全组件和应用软件共同验证许可字段的签名的情况,该方法可以由运行在计算机终端上的应用软件来执行。该方法包括:
步骤310、读取许可字段;其中,所述许可字段包括记载了本应用软件的运行权限的报文、第一签名以及第二签名;所述许可字段是由安全组件获取,并在安全组件验证所述第一签名是根据所述报文按照第一签名算法计算得到后,提供给本应用软件的;
步骤320、验证所述第二签名是否是根据所述报文按照第二签名算法计算得到的;
步骤330、如果所述第二签名验证成功,则本应用软件按照所述运行权限运行。
具体地,所述安全组件获取许可字段的具体步骤为:在接收到启动应用软件的请求信息时,读取所述请求信息中的用户身份信息;获取所述用户身份信息所对应的加密字段;按照预设的解密算法对所述加密字段进行解密,得到许可字段。
优选地,所述第一签名算法为以所述报文和第二签名为待签名字段的签名算法;或者,所述第二签名算法为以所述报文和第一签名为待签名字段的签名算法。
一般地,在构建许可字段时,是使用所述记载了应用软件的运行权限的报文为待签名字段,使用第一签名算法对待签名字段执行计算得到第一签名,使用第二签名算法对待签名字段执行计算得到第二签名。作为优选的实施方式,第一签名算法可以是以报文和第二签名为待签名字段的签名算法:构建许可字段时,以报文为待签名字段,使用第二签名算法计算得到第二签名,进而以报文和第二签名的整体为待签名字段,使用第一签名算法计算得到第一签名;则在验证第一签名是否根据所述报文按照第一签名算法计算得到时,具体验证第一签名是否以所述报文和第二签名为待签名字段,执行第一签名算法计算得到的。
或者,在构建许可字段时,先计算得第一签名,再以报文和第一签名的整体为待签名字段,使用第二签名算法计算得到第二签名。这种混合报文和签名字段为待签名字段的实施方式,可提高签名算法被破解的难度,降低许可字段被拦截后被破解的风险。
本实施例的技术方案,通过在许可字段中设置两个签名,使得安全组件在准许应用软件启动前验证第一签名,第一签名验证成功后交由应用软件验证第二签名,从而应用软件的开发商可以用自行开发的验签方法验证许可字段,解决现有技术软件产品的开发商无法完全确定许可字段在分发到使用的过程中没有发生篡改的问题,实现确保应用软件在得到许可的状态下安全运行的效果。
实施例四
图6为本发明实施例四提供的应用软件的运行装置的结构示意图,本实施例可适用于在应用软件启动之前由安全组件和应用软件共同验证许可字段的签名的情况。该应用软件的运行装置可集成在运行安全组件的计算机终端上,包括:
获取模块410,用于获取许可字段;其中,所述许可字段包括记载了运行权限的报文、第一签名以及第二签名;
第一验证模块420,用于验证所述第一签名是否根据所述报文按照第一签名算法计算得到的;
提供模块430,用于如果所述第一签名验证成功,则将所述许可字段提供给所述应用软件,以使所述应用软件验证所述第二签名是否根据所述报文按照第二签名算法计算得到的,并在验证成功时按照所述运行权限运行。
优选地,所述第一签名为软件安全第三方签名;
所述第二签名为软件开发商签名。
作为其中一种实施方式,所述获取模块410包括:
身份读取单元,用于在接收到启动应用软件的请求信息时,读取所述请求信息中的用户身份信息;
加密字段获取单元,用于根据所述用户身份信息,从云平台获取所述用户身份信息所对应的加密字段;
解密单元,用于按照预设的解密算法对所述加密字段进行解密,得到许可字段。
优选地,所述第一签名算法为以所述报文和第二签名为待签名字段的签名算法。
本发明实施例所提供的应用软件的运行装置可执行本发明实施例一或二所提供的应用软件的运行方法,具备执行方法相应的功能模块和有益效果。
实施例五
图7为本发明实施例五提供的应用软件的运行装置的结构示意图,本实施例可适用于在应用软件启动之前由安全组件和应用软件共同验证许可字段的签名的情况。该应用软件的运行装置可集成在运行应用软件的计算机终端上,包括:
读取模块510,用于读取许可字段;其中,所述许可字段包括记载了本应用软件的运行权限的报文、第一签名以及第二签名;所述许可字段是由安全组件获取,并在安全组件验证所述第一签名是根据所述报文按照第一签名算法计算得到后,提供给本应用软件的;
第二验证模块520,用于验证所述第二签名是否根据所述报文按照第二签名算法计算得到的;
运行模块530,用于如果所述第二签名验证成功,则本应用软件按照所述运行权限运行。
本发明实施例所提供的应用软件的运行装置可执行本发明实施例三所提供的应用软件的运行方法,具备执行方法相应的功能模块和有益效果。
实施例六
图8为本发明实施例六提供的终端的结构示意图,本实施例可适用于在应用软件启动之前由安全组件和应用软件共同验证许可字段的签名的情况。该终端包括运行在该终端上的安全组件610和应用软件620。
其中,安全组件610用于获取许可字段;具体在接收到启动应用软件的请求信息时,从存储介质获取分发给用户的许可字段;许可字段包括记载了运行权限的报文、第一签名以及第二签名。
安全组件610还用于验证所述第一签名是否是根据所述报文按照第一签名算法计算得到的;如果所述第一签名验证成功,则将所述许可字段提供给应用软件620。
应用软件620用于读取许可字段,验证许可字段中第二签名是否是根据所述报文按照第二签名算法计算得到的,并在验证成功时按照所述运行权限运行。
本实施例所述的应用软件和安全组件,可以是上述任一实施例所述的应用软件和安全组件,还可以是本发明任意实施例所提供的应用软件和安全组件,其能实现由安全组件和应用软件共同验证许可字段的签名,具备上述实施例相应的有益效果。
实施例七
图9为本发明实施例七提供的一种终端的结构示意图,如图9所示,该终端包括处理器710、存储器720、输入装置730和输出装置740;终端中处理器710的数量可以是一个或多个,图9中以一个处理器710为例;终端中的处理器710、存储器720、输入装置730和输出装置740可以通过总线或其他方式连接,图9中以通过总线连接为例。
存储器720作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,本发明实施例的终端的存储器720存储本发明实施例一或二中的应用软件的运行方法对应的程序指令/模块(即实施例四中的应用软件的运行装置中的获取模块410、第一验证模块420和提供模块430)。处理器710通过运行存储在存储器720中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的应用软件的运行方法。
存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器720可进一步包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置730可用于接收输入的数字或字符信息,以及产生与终端的用户设置以及功能控制有关的键信号输入。输出装置740可包括显示屏等显示设备。
实施例八
图10为本发明实施例八提供的一种终端的结构示意图,如图10所示,该终端包括处理器810、存储器820、输入装置830和输出装置840;终端中处理器810的数量可以是一个或多个,图10中以一个处理器810为例;终端中的处理器810、存储器820、输入装置830和输出装置840可以通过总线或其他方式连接,图10中以通过总线连接为例。
存储器820作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,本发明实施例的终端的存储器820存储本发明实施例三中的应用软件的运行方法对应的程序指令/模块(即实施例五中的应用软件的运行装置中的读取模块510、第二验证模块520和运行模块530)。处理器810通过运行存储在存储器820中的软件程序、指令以及模块,从而执行终端的各种功能应用以及数据处理,即实现上述的应用软件的运行方法。
存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器820可进一步包括相对于处理器810远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置830可用于接收输入的数字或字符信息,以及产生与终端的用户设置以及功能控制有关的键信号输入。输出装置840可包括显示屏等显示设备。
实施例九
本发明实施例九还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例一或二所述的应用软件的运行方法。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的由安全组件执行的所述应用软件的运行方法中的相关操作。
实施例十
本发明实施例十还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例三所述的应用软件的运行方法。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的由应用软件执行的所述应用软件的运行方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述应用软件的运行装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种应用软件的运行方法,其特征在于,包括:
获取许可字段;其中,所述许可字段包括记载了所述应用软件的运行权限的报文、第一签名以及第二签名;
所述第一签名为软件安全第三方签名;所述第二签名为软件开发商签名;
验证所述第一签名是否是根据所述报文按照第一签名算法计算得到的;
所述第一签名算法为以所述报文和第二签名为待签名字段的签名算法;
如果所述第一签名验证成功,则将所述许可字段提供给所述应用软件,以使所述应用软件验证所述第二签名是否是根据所述报文按照第二签名算法计算得到的,并在验证成功时按照所述运行权限运行。
2.如权利要求1所述的应用软件的运行方法,其特征在于,所述获取许可字段,具体包括:
在接收到启动应用软件的请求信息时,读取所述请求信息中的用户身份信息;
根据所述用户身份信息,获取所述用户身份信息所对应的加密字段;
按照预设的解密算法对所述加密字段进行解密,得到许可字段。
3.如权利要求1至2任一项所述的应用软件的运行方法,其特征在于,所述获取许可字段,包括:
安全组件从云平台或者加密锁中读取所述许可字段;
相应的,所述安全组件验证所述第一签名是否是根据所述报文按照第一签名算法计算得到的,并且在所述第一签名验证成功后,所述安全组件将所述许可字段提供给所述应用软件。
4.一种应用软件的运行装置,其特征在于,包括:
获取模块,用于获取许可字段;其中,所述许可字段包括记载了运行权限的报文、第一签名以及第二签名;
所述第一签名为软件安全第三方签名;所述第二签名为软件开发商签名;
第一验证模块,用于验证所述第一签名是否是根据所述报文按照第一签名算法计算得到的;所述第一签名算法为以所述报文和第二签名为待签名字段的签名算法;
提供模块,用于如果所述第一签名验证成功,则将所述许可字段提供给所述应用软件,以使所述应用软件验证所述第二签名是否是根据所述报文按照第二签名算法计算得到的,并在验证成功时按照所述运行权限运行。
5.如权利要求4所述的应用软件的运行装置,其特征在于,所述获取模块包括:
身份读取单元,用于在接收到启动应用软件的请求信息时,读取所述请求信息中的用户身份信息;
加密字段获取单元,用于根据所述用户身份信息,获取所述用户身份信息所对应的加密字段;
解密单元,用于按照预设的解密算法对所述加密字段进行解密,得到许可字段。
6.一种终端,其特征在于,包括应用软件和安全组件;
所述安全组件用于获取许可字段;其中,所述许可字段包括记载了运行权限的报文、第一签名以及第二签名;
所述第一签名为软件安全第三方签名;所述第二签名为软件开发商签名;
所述安全组件还用于验证所述第一签名是否是根据所述报文按照第一签名算法计算得到的;如果所述第一签名验证成功,则将所述许可字段提供给所述应用软件;所述第一签名算法为以所述报文和第二签名为待签名字段的签名算法;
所述应用软件用于读取所述许可字段,验证所述第二签名是否是根据所述报文按照第二签名算法计算得到的,并在验证成功时按照所述运行权限运行。
7.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-3中任一所述的应用软件的运行方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一所述的应用软件的运行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710623315.5A CN107423584B (zh) | 2017-07-27 | 2017-07-27 | 应用软件的运行方法、装置、终端和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710623315.5A CN107423584B (zh) | 2017-07-27 | 2017-07-27 | 应用软件的运行方法、装置、终端和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107423584A CN107423584A (zh) | 2017-12-01 |
CN107423584B true CN107423584B (zh) | 2019-06-11 |
Family
ID=60430437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710623315.5A Active CN107423584B (zh) | 2017-07-27 | 2017-07-27 | 应用软件的运行方法、装置、终端和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107423584B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109688158B (zh) * | 2019-01-23 | 2022-07-08 | 平安科技(深圳)有限公司 | 金融执行链认证方法、电子装置及存储介质 |
CN110348181A (zh) * | 2019-07-15 | 2019-10-18 | 广东名阳信息科技有限公司 | 一种校验软件使用权合法性的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103812857A (zh) * | 2013-11-08 | 2014-05-21 | 汉柏科技有限公司 | 一种实现唯一性许可的方法 |
CN103886260A (zh) * | 2014-04-16 | 2014-06-25 | 中国科学院信息工程研究所 | 一种基于二次签名验签技术的应用程序管控方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1315017C (zh) * | 2004-12-20 | 2007-05-09 | 四川大学 | 一种软件版权保护的方法 |
CN101158998A (zh) * | 2007-11-16 | 2008-04-09 | 北京握奇数据***有限公司 | Drm许可证的管理方法和装置 |
-
2017
- 2017-07-27 CN CN201710623315.5A patent/CN107423584B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103812857A (zh) * | 2013-11-08 | 2014-05-21 | 汉柏科技有限公司 | 一种实现唯一性许可的方法 |
CN103886260A (zh) * | 2014-04-16 | 2014-06-25 | 中国科学院信息工程研究所 | 一种基于二次签名验签技术的应用程序管控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107423584A (zh) | 2017-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2267628B1 (en) | Token passing technique for media playback devices | |
CN109074449A (zh) | 在安全飞地中灵活地供应证明密钥 | |
CN109040026A (zh) | 一种数字资产的授权方法、装置、设备及介质 | |
CN109075976A (zh) | 取决于密钥认证的证书发布 | |
CN101142599A (zh) | 基于硬件识别的数字权利管理*** | |
US20040088541A1 (en) | Digital-rights management system | |
CN101084482A (zh) | 电子软件分配方法及使用以硬件识别为基础的数字权利管理方法的*** | |
CN101512536A (zh) | 认证游戏装置的***和方法 | |
JP2004265026A (ja) | アプリケーション認証システムと装置 | |
JP2009038603A (ja) | ソフトウェア無線通信装置、及びソフトウェア更新方法、並びに、ソフトウェア無線通信システム | |
CN1921395B (zh) | 提高网络软件安全性的方法 | |
CN106304040A (zh) | 管理移动应用的方法、装置 | |
CN103390122B (zh) | 应用程序发送方法、应用程序运行方法、服务器和终端 | |
CN111914293A (zh) | 一种数据访问权限验证方法、装置、计算机设备及存储介质 | |
US20130173923A1 (en) | Method and system for digital content security cooperation | |
CN104185067A (zh) | 一种基于二维码的数字版权保护方法及其*** | |
CN110708162A (zh) | 资源的获取方法、装置、计算机可读介质及电子设备 | |
CN107423584B (zh) | 应用软件的运行方法、装置、终端和计算机可读存储介质 | |
KR101858562B1 (ko) | 이트레이닝 컨텐츠 사용을 위한 암호화 시스템 | |
CN106027254A (zh) | 一种身份证认证***中身份证读卡终端使用密钥的方法 | |
CN107919958A (zh) | 一种数据加密的处理方法、装置及设备 | |
CN114936365B (zh) | 一种机密数据的保护***、方法以及装置 | |
CN106027474A (zh) | 一种身份证认证***中的身份证读卡终端 | |
KR102055888B1 (ko) | 정보 보호를 위한 파일 암복호화 방법 | |
CN115225286A (zh) | 应用访问鉴权方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing Patentee after: Beijing Shendun Technology Co.,Ltd. Address before: 100193 5th floor 510, No. 5 Building, East Yard, No. 10 Wangdong Road, Northwest Haidian District, Beijing Patentee before: BEIJING SENSESHIELD TECHNOLOGY Co.,Ltd. |