应用程序保护方法和设备的制作方法

文档序号:6381752阅读:153来源:国知局
专利名称:应用程序保护方法和设备的制作方法
技术领域
本发明实施例涉及软件保护,尤其涉及一种应用程序保护方法和设备。
背景技术
随着移动互联网的迅猛发展,适用于移动终端的应用程序日益丰富,用户对于应用程序的使用越来越多。但是目前存在一些问题,如Android平台的移动终端,用户经常可以避开应用商店的收费渠道,通过其它各种渠道下载安装应用程序,从而造成开发者和应用商店的权益损失。其他类型的移动终端操作系统平台中同样也会遇到此类问题。因此,关于应用程序开发者经济利益保障和应用程序防破解保护的问题逐渐受到关注。针对上述问题,现有软件保护技术中,通常是开发者通过软件加密装置对应用程序进行加密,然后通过在终端上通过安全运行装置解密应用程序并运行,现有技术中的加密方法通常是固定的密码或者以固定规则设置的密码,当应用程序一次被破译成功之后,由于已经获取该密码,会被用户转移安装到其它终端中不受限制的运行使用时,仍然不利于应用程序的版权保护。

发明内容
本发明提供一种应用程序保护方法和设备,用以提高对应用程序的版权的保护。本发明的提供了一种应用程序保护方法,包括读取需要运行应用程序的第二移动终端的第二用户标识;将所述第二用户标识与已经存储的第一用户标识进行比对;其中,所述第一用户标识是购买所述应用程序的用户标识;如果比对结果为一致,则根据所述第一用户标识对所述应用程序进行解密,并允许所述第二移动终端运行所述应用程序;如果比对结果为不一致,则拒绝对所述应用程序进行解密。本发明还提供了一种应用程序保护设备,包括标识读取模块,用于读取需要运行应用程序的第二移动终端的第二用户标识;标识比对模块,与所述标识读取模块连接,用于将所述第二用户标识与已经存储的第一用户标识进行比对;其中,所述第一用户标识是购买所述应用程序的用户标识;解密模块,与所述标识对比模块连接,用于如果比对结果为一致,则根据所述第一用户标识对所述应用程序进行解密,并允许所述第二移动终端运行所述应用程序;处理模块,与所述标识对比模块连接,用于如果比对结果为不一致,则拒绝对所述应用程序进行解密。本发明提供的应用程序保护方法和设备,通过读取需要运行应用程序的第二移动终端的第二用户标识后,将所述第二用户标识与已经存储的第一用户标识进行比对;其中,所述第一用户标识是购买所述应用程序的用户标识;如果比对结果为一致,则根据所述第一用户标识对所述应用程序进行解密,并允许所述第二移动终端运行所述应用程序;如果比对结果为不一致,则拒绝对所述应用程序进行解密。本发明提供的技术方案,由于应用程序的解密与购买该应用程序的用户标识相关联,所以在应用程序被成功解密之后,也无法被用户转移安装到其它终端中使用,有利于应用程序的版权保护。


图I为本发明一实施例提供的一种应用程序保护方法的流程示意图;图2为本发明又一实施例提供的一种应用程序保护设备的流程示意图。
具体实施例方式现有技术中通常对于应用程序的加密通常在开发者侧完成,加密手段不一,加重了开发者的工作负担;同时利用现有技术加密的应用程序被破解成功一次后,就可以被转移安装到其它终端中使用,严重的侵犯了开发者的版权权益,且不利于应用商店对应用程序进行统一收费管理。图I为本发明一实施例提供的一种应用程序保护方法的流程示意图,如图I所示,本实施例提供了一种应用程序保护方法,包括步骤110 :读取需要运行应用程序的第二移动终端的第二用户标识。具体的,当某一个第二移动终端获取到该应用程序后,在需要运行该应用程序时,首先获取该第二移动终端的第二用户标识,例如第二移动终端是手机,则第二移动终端的第二用户标识可以为其手机号码如135*******49或者是第二移动终端的SIM(Subscriber Identity Module,客户识别模块)卡的 IMSI (International MobileSubscriberIdentification Number,国际移动用户识别码)信息等。第二移动终端对应用程序的获取方式既可以是从服务器下载得到也可以是从其他移动终端传送得到。步骤120 :将第二用户标识与已经存储的第一用户标识进行比对;其中,第一用户标识是购买应用程序的用户标识。如果比对结果为一致,则执行步骤130 ;如果比对结果为不一致,则执行步骤140。本实施例中使用购买应用程序的移动终端的用户标识对下载的应用程序进行加密,在第二移动终端需要运行该应用程序时,需要通过比对当前应用程序所在的第二移动终端的第二用户标识,与购买并下载该应用程序的用户标识是否相同。这样可以确保希望使用该应用程序的用户为购买该应用程序的用户。杜绝了其他移动终端的用户在不购买应用程序的情况下,使用该应用程序。例如购买该应用程序的第一移动终端为手机用户,其第一用户标识为该手机用户的手机号码如135*******49,将其与当前希望运行该应用程序的第二移动终端的第二用户标识进行比对。步骤130 :根据第一用户标识对应用程序进行解密,并允许第二移动终端运行应用程序;步骤140 :拒绝对应用程序进行解密。根据比对结果对应用程序进行相应的处理,具体的,如果希望使用该应用程序的第二移动终端的第二用户标识就是购买该应用程序的第一用户标识,例如经过比对,该第二移动终端的第二用户标识也为132*******49,与第一用户标识相同,则可以对该第二移动终端中的应用程序进行解密,从而允许该移动终端运行该应用程序。相反的,如果希望使用该应用程序的第二移动终端通过比对用户标识,例如,经过比对,该第二移动终端的第二用户标识为与购买该应用程序的第一用户标识132*******49并不相同,并不是购买该应用程序的第一用户标识,则拒绝对应用程序进行解密,防止第二移动终端运行该应用程序。本实施例提供的应用程序保护方法,通过读取需要运行应用程序的第二移动终端的第二用户标识后,将第二用户标识与已经存储的第一用户标识进行比对;其中,第一用户标识是购买应用程序的用户标识;如果比对结果为一致,则根据第一用户标识对应用程序进行解密,并允许第二移动终端运行应用程序;如果比对结果为不一致,则拒绝对应用程序进行解密。本发明提供的技术方案,由于应用程序的解密与购买该应用程序的用户标识相关联,所以在应用程序被成功解密之后,也无法被用户转移安装到其它未付费用户的终端中使用,有利于应用程序的版权保护。本实施例提出的应用程序保护方法适用于手机使用,同时通过开发者、应用商店联动加密,且可以通过使用用户唯一标识进行加密,使得用户购买该应用程序后,仅能凭其用户标识供其一个用户使用,即使进行转存也无法运行,该技术方案能够增强对软件知识产权的保护,阻止未付费用户对应用程序的使用,同时可以有效地防止应用程序被破解。实现了开发者、应用商店联动加密,商店对应用程序进行统一的收费管理。作为上述技术方案的优选,步骤110 :读取需要运行应用程序的第二移动终端的第二用户标识之前包括步骤101 :获取登录到应用商店购买应用程序的第一用户标识。步骤102 :根据第一用户标识对应用程序进行加密。对于在应用程序下载之前获取购买了该应用程序的第一用户标识,并根据该第一用户标识对应用程序进行自动加密,加密后被第一移动终端下载。下载后,比较加密的用户标识与当前的移动终端的用户标识是否相同,如果相同则表明该移动终端为已经购买了应用程序,遂进行解密操作并运行。如果经过下载或者复制传输等途径该应用程序传递到其他的移动终端中,例如,另一个移动终端,为一未购买应用程序的手机,直接通过蓝牙等接收其他终端发送来的应用程序时,则应该限制该手机对该应用程序的使用。作为上述技术方案的优选,步骤102根据第一用户标识对应用程序进行加密包括根据预设加密强度对应用程序进行分段形成多个应用程序片段,并使用预设密钥生成算法对第一用户标识进行处理生成加密密钥,根据加密密钥和预设加密算法对应用程序片段进行加密。上述加密强度是指将应用程序分为几段进行加密,如将应用程序分为n段,并需要分别为每段应用程序设置对应的预设密钥生成算法Fa(X) (a=l, 2. . n),在此处参数x为购买该应用程序的第一用户标识,而预设加密算法Ga (y) =Ga (Fa (x) )(a=l, 2. . n),在本实施例中,当第一用户标识为第一终端的手机号码时,参数X为移动终端的手机号码,而预设加密算法的参数y为根据该手机号码由预设密钥生成算法生成的密钥。预设加密算法和密钥生成算法可以是数据加密标准(DataEncryption Standard,简称DE S)、高级加密标准(Advanced EncryptionStandard,简称 AES)或 3-DES 等对称加密算法。由于选择的加密程度越高则加密段数越多,安全系数也越高,但会导致应用程序运行速度也降低,所以具体加密强度大小应结合该应用程序的复杂程度及运行效率进行恰当选择。作为上述技术方案的优选,步骤130中根据第一用户标识对应用程序进行解密具体包括根据预设密钥生成算法对第一用户标识进行处理生成密钥,根据加密算法及加密强度对应用程序片段进行解密。即,如果在加密过程中使用DES加密算法进行加密的话,则在解密过程中也应使用对应的DES加密算法进行解密。该解密过程为上述步骤102的加密过程的逆操作,加密解密过程均与购买该应用程序的第一用户标识相关。作为上述技术方案的优选,第一用户标识为手机号码;第二用户标识为第二移动终端的手机号码。由于目前大多时候移动终端通过网络在应用商店购买应用程序通常是与手机号码进行绑定,并通过手机号码相关账户进行付费,所以优选手机号码作为用户标识,对应用程序进行加密解密操作。作为上述技术方案的优选,本实施例提供的应用程序保护方法还包括在对应用程序进行解密后,清除第二移动终端的内存中为解密应用程序产生的临时片段。通过清除解密应用程序产生的临时片段可以进一步确保应用程序的安全性,避免非法程序通过读取临时片段信息对该应用程序进行密码破解,另外还可以大大提高应用程序的运行速度。同时在清除第二移动终端的内存中为解密应用程序产生的临时片段的同时,也可以对内存中其他的已经执行过的程序的临时片段进行清除,这样可以进一步提高应用程序运行速度。作为上述技术方案的优选,本实施例提供的应用程序保护方法还包括在对应用程序进行解密后,监视应用程序运行,如果有异常,则退出应用程序。通过监视应用程序的运行可以及时的发现存在安全隐患的异常进程,如果存在异常进程,会影响该应用程序的安全性的话,则应该及时的将该应用程序退出,以防止该应用程序被破解。开发者在开发完成应用程序后,提交到应用商店上,具体的可以通过应用商店的应用程序提交模块的管理模块中进行应用程序的提交。应用程序提交模块的管理模块为提交的应用程序分配服务器端的唯一编号,便于开发者的管理。用户在使用本实施例中应用商店的应用程序下载业务前必须注册账号,在注册时需要提交自己手机的用户标识,本实施例中手机的用户标识优选为手机号码,另外为便于管理,一个手机号码只能注册一个账号。用户登陆账号后,在应用商店下载并支付来购买所需的应用程序,当用户完成支付时应用商店自动在该应用程序中写入用户的手机号码信息,对应用程序执行体分段并根据用户的手机号码信息的生成密钥,再根据密钥结合加密算法对应用程序加密。当然用户手机的其它信息也可以作为用户标识,如手机的IMSI信息,应用商店可以通过其它方式获取用户手机的MSI信息。同样地,一个MSI信息只能对应注册一个账号。应用程序到手机后,安装并启动,启动时首先读取手机的用户标识即手机号码,并验证是否与购买该应用程序时写入的手机号码相同,如果一致,则通过验证,根据该手机号码进行解密;如果不一致,则拒绝解密,可以选择退出该应用程序或者给予相应的拒绝提
/Jn o图2为本发明又一实施例提供的一种应用程序保护设备的流程示意图,如图2所示,本发明实施例还提供了 一种应用程序保护设备,包括标识读取模块12,用于读取需要运行应用程序的第二移动终端的第二用户标识;标识比对模块13,与标识读取模块12连接,用于将标识读取模块12读取的第二用户标识与已经存储的第一用户标识进行比对;其中,第一用户标识是购买应用程序的用户标识;解密模块14,与标识比对模块13连接,用于如果标识比对模块13的比对结果为一致,则根据第一用户标识对应用程序进行解密,并允许第二移动终端运行应用程序;处理模块15,与标识比对模块13连接,用于如果标识比对模块13的比对结果为不一致,则拒绝对应用程序进行解密。本实施例提供的应用程序保护设备,通过标识读取模块12读取需要运行应用程序的第二移动终端的第二用户标识后,标识比对模块13将第二用户标识与已经存储的第一用户标识进行比对;其中,第一用户标识是购买应用程序的用户标识;如果比对结果为一致,则通过解密模块14根据第一用户标识对应用程序进行解密,并允许第二移动终端运行应用程序;如果比对结果为不一致,则通过处理模块15拒绝对应用程序进行解密。本发明提供的技术方案,由于应用程序的解密与购买该应用程序的用户标识相关联,所以在应用程序被成功解密之后,也无法被用户转移安装到其它终端中使用,有利于应用程序的版权保护。本设备实施例的具体实施过程与上述应用程序保护方法实施例的实施过程相同,详细请参见方法实施例,在此不再赘述。作为上述技术方案的优选,设备还包括标识获取模块10,用于获取登录到应用商店购买应用程序的第一用户标识;加密模块11,与标识获取模块10连接,用于根据第一用户标识对应用程序进行加
r I I O作为上述技术方案的优选,加密模块11具体用于根据预设加密强度对应用程序进行分段形成多个应用程序片段,并使用预设密钥生成算法对第一用户标识进行处理生成加密密钥,根据加密密钥和预设加密算法对应用程序片段进行加密。作为上述技术方案的优选,解密模块14具体用于根据预设密钥生成算法对所述第一用户标识进行处理生成密钥,根据加密算法及加密强度对所述应用程序片段进行解密。作为上述技术方案的优选,第一用户标识为手机号码;第二用户标识为第二移动终端的手机号码。作为上述技术方案的优选,本实施例的设备还包括冲洗模块16,与解密模块14连接,用于在对应用程序进行解密后,清除第二移动终端的内存中为解密应用程序产生的临时片段。本冲洗模块16,为可选的模块,在程序启动运行后开始运行,主要用于清除解密应用程序产生的临时片段,可以进一步确保应用程序的安全性,避免非法程序通过读取临时片段信息对该应用程序进行密码破解,另外还可以大大提高应用程序的运行速度。同时在清除第二移动终端的内存中为解密应用程序产生的临时片段的同时,也可以对内存中其他的已经执行过的程序的临时片段进行清除,这样可以进一步提高应用程序运行速度。作为上述技术方案的优选,本实施例的设备还包括攻击监视模块17,与解密模块14连接,用于在对应用程序进行解密后,监视应用程序运行,如果有异常,则退出应用程序。本攻击监视模块17为可选的模块,在程序启动运行后开始运行,通过监视应用程序的运行可以及时的发现存在安全隐患的异常进程,如果存在异常进程,会影响该应用程序的安全性的话,则应该及时的将该应用程序退出,以防止该应用程序被破解。具体的本实施例中应用程序的开发上传加密的具体步骤为开发者在开发完成应用程序后,在应用商店提供的一种软件提交装置中进行应用程序的提交。软件提交装置为提交的应用程序分配本地的唯一编号,便于开发者的管理;应用程序提交完成后,上述软件提交装置为应用程序写入一段代码,并植入该应用程序成为安全插件。该安全插件即为本实施例中提供的应用程序保护设备,包括标识读取模块12,标识比对模块13,解密模块14,处理模块15,标识获取模块10和加密模块11,及两个可选择性设置的冲洗模块16和攻击监视模块17。应用程序保护设备中包括的各模块可以在日后随软件提交装置的升级而进行扩展。对应用程序添加完上述应用程序保护设备后,使用软件提交装置的上传模块再将已写入应用程序保护设备的应用程序上传至应用商店服务器。而本实施例中用户从应用商店下载应用程序加密解密的过程为用户在使用本实施例中所提到的应用商店的应用程序下载业务前必须注册账号,在注册时需要提交自己的手机号码或其他类型的用户标识,一个手机号码只能注册一个账号;用户登陆账号后,使用应用商店下载模块的支付功能购买应用程序,完成支付时应用商店中该应用程序保护设备的标识获取模块10,获取登录到应用商店购买应用程序的第一用户标识;加密模块11,根据第一用户标识对应用程序进行加密。应用程序下载后在手机中安装并运行,运行时首先启动应用程序保护设备中的标识读取模块12,读取需要运行应用程序的第二移动终端的第二用户标识;标识比对模块13,将标识读取模块12读取的第二用户标识与已经存储的第一用户标识进行比对;解密模块14,如果标识比对模块13的比对结果为一致,则根据第一用户标识对应用程序进行解密,并允许第二移动终端运行应用程序;处理模块15,如果标识比对模块13的比对结果为不一致,则拒绝对应用程序进行解密。本领域普通技术人员可以理解实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。最后应说明的是以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
权利要求
1.一种应用程序保护方法,其特征在于,包括 读取需要运行应用程序的第二移动终端的第二用户标识; 将所述第二用户标识与已经存储的第一用户标识进行比对;其中,所述第一用户标识是购买所述应用程序的用户标识; 如果比对结果为一致,则根据所述第一用户标识对所述应用程序进行解密,并允许所述第二移动终端运行所述应用程序; 如果比对结果为不一致,则拒绝对所述应用程序进行解密。
2.根据权利要求I所述的应用程序保护方法,其特征在于,所述读取需要运行应用程序的第二移动终端的第二用户标识之前包括 获取登录到应用商店购买所述应用程序的所述第一用户标识; 根据所述第一用户标识对所述应用程序进行加密。
3.根据权利要求2所述的应用程序保护方法,其特征在于,所述根据所述第一用户标识对所述应用程序进行加密包括 根据预设加密强度对所述应用程序进行分段形成多个应用程序片段,并使用预设密钥生成算法对所述第一用户标识进行处理生成加密密钥,根据所述加密密钥和预设加密算法对所述应用程序片段进行加密。
4.根据权利要求3所述的应用程序保护方法,其特征在于,所述根据所述第一用户标识对所述应用程序进行解密具体包括 根据预设密钥生成算法对所述第一用户标识进行处理生成密钥,根据加密算法及加密强度对所述应用程序片段进行解密。
5.根据权利要求I至4中任一项所述的应用程序保护方法,其特征在于,所述第一用户标识为手机号码;所述第二用户标识为所述第二移动终端的手机号码。
6.根据权利要求I所述的应用程序保护方法,其特征在于,还包括 在对所述应用程序进行解密后,清除所述第二移动终端的内存中为解密所述应用程序产生的临时片段。
7.根据权利要求I所述的应用程序保护方法,其特征在于,还包括 在对所述应用程序进行解密后,监视所述应用程序运行,如果有异常,则退出所述应用程序。
8.一种应用程序保护设备,其特征在于,包括 标识读取模块,用于读取需要运行应用程序的第二移动终端的第二用户标识; 标识比对模块,与所述标识读取模块连接,用于将所述第二用户标识与已经存储的第ー用户标识进行比对;其中,所述第一用户标识是购买所述应用程序的用户标识; 解密模块,与所述标识对比模块连接,用于如果所述标识比对模块的比对结果为一致,则根据所述第一用户标识对所述应用程序进行解密,并允许所述第二移动终端运行所述应用程序; 处理模块,与所述标识对比模块连接,用于如果所述标识比对模块的比对结果为不一致,则拒绝对所述应用程序进行解密。
9.根据权利要求8所述的应用程序保护设备,其特征在于,还包括 标识获取模块,用于获取登录到应用商店购买所述应用程序的所述第一用户标识;加密模块,与所述标识获取模块连接,用于根据所述第一用户标识对所述应用程序进行加密。
10.根据权利要求9所述的应用程序保护设备,其特征在于,所述加密模块具体用于根据预设加密强度对所述应用程序进行分段形成多个应用程序片段,并使用预设密钥生成算法对所述第一用户标识进行处理生成加密密钥,根据所述加密密钥和预设加密算法对所述应用程序片段进行加密; 所述解密模块具体用于 根据预设密钥生成算法对所述第一用户标识进行处理生成密钥,根据加密算法及加密强度对所述应用程序片段进行解密; 所述设备还包括 冲洗模块,与所述解密模块连接,用于在对所述应用程序进行解密后,清除所述第二移动终端的内存中为解密所述应用程序产生的临时片段; 攻击监视模块,与所述解密模块连接,用于在对所述应用程序进行解密后,监视所述应用程序运行,如果有异常,则退出所述应用程序。
全文摘要
本发明提供了一种应用程序的保护方法和设备,该方法包括读取需要运行应用程序的第二移动终端的第二用户标识;将所述第二用户标识与已经存储的第一用户标识进行比对;其中,所述第一用户标识是购买所述应用程序的用户标识;如果比对结果为一致,则根据所述第一用户标识对所述应用程序进行解密,并允许所述第二移动终端运行所述应用程序;如果比对结果为不一致,则拒绝对所述应用程序进行解密。本发明提供的技术方案,由于应用程序的解密与购买该应用程序的用户标识相关联,所以在应用程序被成功解密之后,也无法被用户转移安装到其它终端中使用,有利于应用程序的版权保护。
文档编号G06F21/12GK102982263SQ20121046895
公开日2013年3月20日 申请日期2012年11月19日 优先权日2012年11月19日
发明者郑明 , 王志军, 王蓉, 张尼, 刘镝 申请人:中国联合网络通信集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1