一种应用程序加密、解密方法及加密、解密装置的制作方法

文档序号:6401045阅读:346来源:国知局
专利名称:一种应用程序加密、解密方法及加密、解密装置的制作方法
技术领域
本发明属于移动终端技术领域,尤其涉及一种应用程序加密、解密方法及加密、解
山目-O
背景技术
随着移动终端智能化时代的到来,移动终端的配置越来越强大,功能越来越齐全,适用于移动终端的应用程序也是五花八门,日益增多,用户可以通过网络下载自己喜欢的应用程序的进行安装,也可以通过用户之间互相传播应用程序进行安装,以享受移动终端的智能化体验。然而,由于现有技术中缺乏对应用程序的任意传播的限制,导致应用程序的定制商和收费商蒙受损失,不利于应用程序行业的健康发展。为便于说明,以应用程序新安装包为安卓应用程序安装包(Android Package, APK)为例,由于Android是不支持apk加解密的,用户在安卓Android软件商店下载了软件,由于在线下可未经允许任意传播,从而给该软件的定制商和收费商造成了一定的损失,因此对于应用程序的任意传播存在的安全隐患不容忽视。

发明内容
本发明实施例的目的在于提供一种应用程序加密方法,旨在解决现有技术中缺乏对应用程序的任意传播的限制,导致应用程序的定制商和收费商蒙受损失的问题。本发明实施例是这样实现的,一种应用程序的解密方法,包括:获取应用程序安装包,所述应用程序安装包中包括加密的安装文件、移动终端标识以及密钥;获取移动终端标识;当获取的移动终端标识与所述密钥文件中的移动终端标识一致时,根据预设算法以及所述密钥解密所述应用程序安装包中加密的安装文件。本发明实施例的另一目的在于提供一种应用程序加密方法,包括:接收移动终端发送的应用程序获取请求,所述应用程序获取请求包括移动终端标识和应用程序标识;根据预设算法以及实时生成的密钥对所述应用程序标识对应的应用程序的安装文件进行加密,得到加密的安装文件;将加密的安装文件、所述移动终端标识以及所述密钥打包成应用程序安装包。本发明实施例的另一目的在于提供一种应用程序解密装置,包括:第一获取单元,用于获取应用程序安装包,所述应用程序安装包中包括加密的安装文件、移动终端标识以及密钥;第二获取单元,获取移动终端标识;解密单元,当获取的移动终端标识与所述密钥文件中的移动终端标识一致时,根据预设算法以及所述密钥解密所述应用程序安装包中加密的安装文件。本发明实施例的另一目的在于提供一种应用程序加密装置,包括:接收单元,用于接收移动终端发送的应用程序获取请求,所述应用程序获取请求包括移动终端标识和应用程序标识;加密单元,用于根据预设算法以及实时生成的密钥对所述应用程序标识对应的应用程序的安装文件进行加密,得到加密的安装文件;获取单元,用于将加密的安装文件、所述移动终端标识以及所述密钥打包成应用程序安装包。在本发明实施例中,获取移动终端标识,只有当获取的移动终端标识与密钥文件中的移动终端标识一致时,才根据预设算法以及密钥解密所述应用程序新安装包中的加密安装文件,即使其它移动终端获取到应用程序新安装包,由于自身的设备标识与加密密钥文件中的设备标识不一致,无法根据密钥解密应用程序安装包中的加密安装文件,不能完成对应用程序的安装,从而解决了应用程序的任意传播的问题,避免了应用程序的定制商和收费商蒙受损失的情况,杜绝了应用程序任意传播带来的安全隐患。


图1是本发明实施例提供的应用程序解密方法的实现流程图;图2是本发明实施例提供的应用程序加密方法的实现流程图;图3是本发明实施例提供的应用程序解密装置的结构框图;图4是本发明实施例提供的应用程序加密装置的结构框图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。在本发明实施例中,获取移动终端标识,只有当获取的移动终端标识与密钥文件中的移动终端标识一致时,才根据预设算法以及密钥解密所述应用程序新安装包中的加密安装文件,即使其它移动终端获取到应用程序新安装包,由于自身的设备标识与加密密钥文件中的设备标识不一致,无法根据密钥解密应用程序安装包中的加密安装文件,不能完成对应用程序的安装,从而解决了应用程序的任意传播的问题,避免了应用程序的定制商和收费商蒙受损失的情况,杜绝了应用程序任意传播带来的安全隐患。图1示出了本发明实施例提供的一种应用程序解密方法的实现流程,详述如下:在步骤SlOl中,获取应用程序安装包,所述应用程序安装包中包括加密的安装文件、移动终端标识以及密钥。在本实施例中,获取应用程序安装包,具体包括:向服务器发送应用程序获取请求,所述应用程序获取请求包含移动终端标识和应用程序标识,以使服务器根据实时生成的密钥对所述应用程序标识对应的应用程序的安装文件进行加密,得到加密的安装文件,将加密的安装文件、所述移动终端标识以及所述密钥打包成应用程序安装包。

在本实施例中,移动终端通过现有的网络向应用程序服务器发送获取请求,获取请求包括移动终端标识和应用程序标识。在本实施例中,移动终端标识为具备运行该应用程序权限的移动终端的物理标识。移动终端标识包括但不限于国际移动设备身份码(International MobileEquipment Identity, IMEI)、国际移动用户识别码(International Mobile SubscriberIdentification Number, IMSI )、移动终端标识号(Mobile Equipment Identifier, MEID)。在本实施例中,应用程序标识包括但不限于应用程序名称、应用程序图标、以及应用程序名称和应用程序图标的结合。在本实施例中,获取应用程序的应用程序标识,可在移动终端的界面上显示移动终端上安装的应用程序,由于应用程序比较多,可以通过在界面上绘制一个图表,以应用程序的功能作为满足条件的应用程序的归类标识,根据归类标识可以查看满足同一功能的所有应用程序,以便用户进行选中的操作。在本实施例中,用户在该应用程序列表中指定的应用程序,指定的方式包括但不限于触摸或者按键,通过对用户的选中操作检测,接收用户的选中结果。在本实施例中,接收用户的选中结果后,监听系统中的广播信息,获取用户指定应用程序,同时通过应用程序的资源文件获取应用程序标识。在步骤S102中,获取移动终端标识。在本实施例中,获取移动终端标识,可通过移动终端系统的底层参数的接口获取,获取移动终端标识为现有技术,具体实施过程在此不做赘述。通过移动终端标识发送给应用程序服务器,以使应用程序服务器可通过移动终端标识来识别不同的移动设备。在步骤S103中,当获取的移动终端标识与所述密钥文件中的移动终端标识一致时,根据预设算法以及所述密钥解密所述应用程序安装包中加密的安装文件。

在本实施例中,根据预设算法以及密钥解密所述应用程序安装包中加密的安装文件,预设算法的方法包括但不限DES (Data Encryption Standard)算法、AES (AdvancedEncryption Standard)> RSA算法、四方密码、替换加密法、换位加密法、三分密码法等。优选地,采用与应用程序服务器预设算法的相对应的解密方法对加密密钥文件进行解密。为便于说明,以实际应用为例,当应用程序服务器采用对称加密算法中DES算法以及密钥,对应用程序安装包中的安装文件加密,生成加密的安装文件。移动终端接收到应用程序安装包后,对应用程序安装包进行解析,得到应用程序安装包中加密的安装文件,移动终端标识以及密钥,通过移动终端标识与获取自身的移动终端标识进行较验匹对,当较验通过时,采用DES算法的逆算法以及密钥,解密加密的安装文件,得到未加密的安装文件,以使移动终端可根据未加密的安装文件,完成对应用程序的安装,从而避免了出现应用程序的任意传播的情况,即使其它移动终端获取到应用程序安装包,由于自身的移动终端标识与应用程序安装包中的移动终端标识不一致,无法根据密钥解密应用程序安装包中的加密的安装文件,因此无法安装使用该应用程序,从而解决了应用程序的任意传播的问题,避免了应用程序的定制商和收费商蒙受损失的情况,杜绝了应用程序任意传播带来的安全隐患。作为本发明的一个优选实施例,所述根据预设算法以及所述密钥解密所述应用程序加密安装包中加密的安装文件,具体为:根据所述预设算法以及所述密钥解密所述应用程序安装包中加密的指定的安装文件。在本实施例中,加密的指定的安装文件由应用程序服务器加密指定的安装文件生成。当用户对应用程序进行安装时,由于应用程序服务器在应用程序安装包中只加密了指定的安装文件,因此移动终端只需对指定的安装文件进行解密。为便于说明,以移动终端采用的操作系统为安卓系统为例,当用户对应用程序进行安装时,安卓系统中的PackageManagerService会解析该应用程序的安卓应用程序安装包,由于应用程序服务器在该安卓应用程序安装包中只加密了 AndroidManifest.xml,因此安卓系统只需要对AndroidManifest.xml进行解密,以获取到未加密的AndroidManifest.xml。当获取到未加密的AndroidManifest.xml时,通过PackageManagerService解析出未加密的AndroidManifest.xml中的信息,将其内部的所有安卓信息,包括组件信息、权限信息等,按照安卓的正常流程读取保存,以供系统查询、调用等。由于上述过程在解析加密的AndroidManifest.xml时,只需要将其解密,并没有改变现有安卓系统解析安卓应用程序安装包的机制,因此该解密的方法在安卓系统中具有良好的兼容性,可按正常流程读取保存安卓应用程序安装包,保证加密安卓应用程序安装包的正常运行。图2示出了本发明实施例提供的一种应用程序加密方法的实现流程,详述如下:在步骤S201中,接收移动终端发送的应用程序获取请求,所述应用程序获取请求包括移动终端标识和应用程序标识。在本实施例中,应用程序服务器通过现有的网络接收移动终端发送的获取请求,对携带获取请求的信息进行解扰,解析出获取请求中移动终端标识和应用程序标识。

在本实施例中,移动终端标识为具备运行该应用程序权限的移动终端的物理标识。移动终端标识包括但不限于国际移动设备身份码(International MobileEquipment Identity, IMEI)、国际移动用户识别码(International Mobile SubscriberIdentification Number, IMSI )、移动终端标识号(Mobile Equipment Identifier, MEID)。在步骤S202中,根据预设算法以及实时生成的密钥对所述应用程序标识对应的应用程序的安装文件进行加密,得到加密的安装文件。在本实施例中,密钥的生成方式,还可以采用现在技术提供的任意一种方法,如通过密钥生成器随机生成,也可以采用预设的更新策略对预设密钥进行更新生成密钥,更新策略包括每隔预设时间随机更换预设密钥,每隔预设时间,就从字符里随机抽取预定长度的字符串作为预设密钥。在本实施例中,根据预设算法以及实时生成的密钥对所述应用程序标识对应的应用程序的安装文件进行加密,得到加密的安装文件,预设算法的方法包括但不限数据加密标准算法(Data Encryption Standard, DES)、高级加密标准(Advanced EncryptionStandard, AES)、RSA算法、四方密码、替换加密法、换位加密法、三分密码法等。具体地,采用与应用程序服务器预设算法的相对应的加密方法对安装文件进行加密,得到加密的安装文件。在本实施例中,获取与应用程序标识相对应的应用程序的安装文件,应用程序服务器以应用程序标识为索引,在存储与应用程序标识相对应的应用程序安装包的数据库中,查询上报的获取请求中的应用程序标识相对应的应用程序安装包,以完成应用程序标识相对应的应用程序的安装文件的获取。
作为本发明的一个优选实施例,应用程序服务器根据应用程序标识,查询获取请求中的应用程序是否在预先建立的待加密应用程序列表中,待加密应用程序列表包括需要加密的应用程序。当查询到获取请求中的与应用程序标识相对应的应用程序在预先建立的待加密应用程序列表中时,对应用程序标识相对应的应用程序的安装文件进行加密。从而应用程序服务器可根据应用程序的标识,识别需要加密的应用程序的安装文件,避免了对所有应用程序的安装文件进行加密的情况,减少了应用程序服务器的执行线程,节省了应用程序服务器发送反馈信息至移动终端的时间,从而提高了对所述应用程序标识对应的应用程序的安装文件进行加密的运行效率。在步骤S203中,将加密的安装文件、所述移动终端标识以及所述密钥打包成应用程序安装包。在本实施例中,按预设的安装包格式,将加密的安装文件、所述移动终端标识以及所述密钥打包成应用程序安装包。安装包格式包括但不限于4 1(、313、313乂、从0、从1 ,狀1 、EXE, DEB, IPA、PXL 等。作为本发明的一个优选实施例,所述根据实时生成的密钥对所述应用程序标识对应的应用程序的安装文件进行加密,得到加密的安装文件,具体为:根据实时生成的密钥对所述应用程序标识对应的应用程序的指定的安装文件进行加密,得到加密的指定的安装文件。在本实施例中,根据实时生成的密钥对所述应用程 序标识对应的应用程序的指定的安装文件进行加密,可先提取指定的安装文件的字符,得到加密的字符,再以该安装文件的原格式重新对字符进行整合封装,生成加密的指定的安装文件。从而大大减少了加密时间,提高了生成加密的指定的安装文件的效率。为便于说明,以安卓应用程序安装包为例,安卓应用程序安装包中包括assets、res、META-1NF 目录、classes, dex、resources, arse、AndroidManifest.xml, 由于AndroidManifest.xml为安卓应用程序安装包中的核心文件,缺乏了 AndroidManifest.xml无法完成应用程序的安装,因此应用程序服务器可以只加密AndroidManifest.xml,应用程序服务器抽取安装包中指定的AndroidManifest.xml的字符串,根据实时生成的密钥加密字符串,再将加密的字符串重新打包,快速生成加密的AndroidManifest.xml。从而大大减少了加密时间,提高了生成加密的指定的安装文件的效率。作为本发明的一个优选实施例,根据所述移动终端标识以及实时生成的密钥生成密钥参数,具体地,可先提取移动终端标识以及实时生成的密钥,按预设规则将移动终端标识以及密钥中的字符组成新的字符串,预设规则包括但不限于奇数位为移动终端标识的字符以及偶数位为密钥中的字符、偶数位为移动终端标识的字符以及奇数位为密钥中的字符,在移动终端标识以及密钥中的字符之间增加预设的干扰码、在移动终端标识以及密钥中的字符之间增加预设的分隔符等。为便于说明,以实际应用为例,当移动终端标识号为013027007765728,采用的密钥为AA123,预设规则为奇数位为移动终端标识的字符以及偶数位为密钥中的字符时,组成新的字符串为OAlA 3102237 AOA 0172736 A 5 A 712283。从而,即使用户之间相互传播,也只能获取到密钥参数,即使用户获取得了密钥参数中的字符,由于并不清楚预设顺序,因此无法正确提取出应用程序安装包的密钥,无法完成应用程序的安装,从而进一步提高了应用程序的安全性,更好地解决了应用程序的任意传播的问题,避免了应用程序的定制商和收费商蒙受损失的情况,杜绝了应用程序任意传播带来的安全隐患。作为本发明的另一个实施例,应用程序服务器采用对称加密算法以及预先设定的公钥,对密钥加密生成加密密钥,从而在移动终端中只有运行了对称加密算法以及预先设定的公钥的客户端,才能完成对加密密钥的解密,提高了密钥的安全性,从而进一步提高了安装收费的应用程序的安全性。图3示出了本发明实施例提供的应用程序解密装置的结构框图,该装置可以运行于各种终端,包括但不限于移动电话、口袋计算机(Pocket Personal Computer, PPC)、掌上电脑、计算机、笔记本电脑、个人数字助理(Personal Digital Assistant,PDA)等。为了便于说明,仅示出了与本实施例相关的部分。参照图3,该应用程序解密装置,包括:第一获取单元31,用于获取应用 程序安装包,所述应用程序安装包中包括加密的安装文件、移动终端标识以及密钥。第二获取单元32,用于获取移动终端标识。解密单元33,用于当获取的移动终端标识与密钥文件中的移动终端标识一致时,根据预设算法以及所述密钥解密所述应用程序安装包中加密的安装文件。进一步地,在该装置中,还包括:发送单元34,用于向服务器发送应用程序获取请求,所述应用程序获取请求包含移动终端标识和应用程序标识,以使服务器根据实时生成的密钥对所述应用程序标识对应的应用程序的安装文件进行加密,得到加密的安装文件,将加密的安装文件、所述移动终端标识以及所述密钥打包成应用程序安装包。进一步地,在该装置中,所述解密单元还用于根据所述预设算法以及所述密钥解密所述应用程序安装包中加密的指定的安装文件。图4示出了本发明实施例提供的应用程序加密装置的结构框图,该装置可以运行于各种终端,包括但不限于移动电话、口袋计算机(Pocket Personal Computer, PPC)、掌上电脑、计算机、笔记本电脑、个人数字助理(Personal Digital Assistant,PDA)等。为了便于说明,仅示出了与本实施例相关的部分。参照图4,该应用程序加密装置,包括:接收单元41,用于接收移动终端发送的应用程序获取请求,所述应用程序获取请求包括移动终端标识和应用程序标识。加密单元42,用于根据预设算法以及实时生成的密钥对应用程序标识对应的应用程序的安装文件进行加密,得到加密的安装文件。获取单元43,用于将加密的安装文件、移动终端标识以及密钥打包成应用程序安装包。进一步地,在该装置中,所述解密单元还用于根据预设算法以及密钥解密应用程序安装包中加密的指定的安装文件。在本发明实施例中,获取移动终端标识,只有当获取的移动终端标识与密钥文件中的移动终端标识一致时,才根据预设算法以及密钥解密所述应用程序新安装包中的加密安装文件,即使其它移动终端获取到应用程序新安装包,由于自身的设备标识与加密密钥文件中的设备标识不一致,无法根据密钥解密应用程序安装包中的加密安装文件,不能完成对应用程序的安装,从而解决了应用程序的任意传播的问题,避免了应用程序的定制商和收费商蒙受损失的情况,杜绝了应用程序任意传播带来的安全隐患。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替 换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种应用程序解密方法,其特征在于,包括: 获取应用程序安装包,所述应用程序安装包中包括加密的安装文件、移动终端标识以及密钥; 获取移动终端标识; 当获取的移动终端标识与所述密钥文件中的移动终端标识一致时,根据预设算法以及所述密钥解密所述应用程序安装包中加密的安装文件。
2.如权利要求所述的方法,其特征在于,所述获取应用程序安装包,具体包括: 向服务器发送应用程序获取请求,所述应用程序获取请求包含移动终端标识和应用程序标识,以使服务器根据实时生成的密钥对所述应用程序标识对应的应用程序的安装文件进行加密,得到加密的安装文件,将加密的安装文件、所述移动终端标识以及所述密钥打包成应用程序安装包。
3.如权利要求1或2所述的方法,其特征在于,所述根据预设算法以及所述密钥解密所述应用程序加密安装包中加密的安装文件,具体为: 根据所述预设算法以及所述密钥解密所述应用程序安装包中加密的指定的安装文件。
4.一种应用程序加密方法,其特征在于,包括: 接收移动终端发送的应用程序获取请求,所述应用程序获取请求包括移动终端标识和应用程序标识; 根据实时生成的密钥·对所述应用程序标识对应的应用程序的安装文件进行加密,得到加密的安装文件; 将加密的安装文件、所述移动终端标识以及所述密钥打包成应用程序安装包。
5.如权利要求4所述的方法,其特征在于,所述根据实时生成的密钥对所述应用程序标识对应的应用程序的安装文件进行加密,得到加密的安装文件,具体为: 根据实时生成的密钥对所述应用程序标识对应的应用程序的指定的安装文件进行加密,得到加密的指定的安装文件。
6.一种应用程序解密装置,其特征在于,包括: 第一获取单元,用于获取应用程序安装包,所述应用程序安装包中包括加密的安装文件、移动终端标识以及密钥; 第二获取单元,用于获取移动终端标识; 解密单元,用于当获取的移动终端标识与所述密钥文件中的移动终端标识一致时,根据预设算法以及所述密钥解密所述应用程序安装包中加密的安装文件。
7.如权利要求6所述的装置,其特征在于,还包括: 发送单元,用于向服务器发送应用程序获取请求,所述应用程序获取请求包含移动终端标识和应用程序标识,以使服务器根据实时生成的密钥对所述应用程序标识对应的应用程序的安装文件进行加密,得到加密的安装文件,将加密的安装文件、所述移动终端标识以及所述密钥打包成应用程序安装包。
8.如权利要求6所述的装置,其特征在于,所述解密单元还用于根据所述预设算法以及所述密钥解密所述应用程序安装包中加密的指定的安装文件。
9.一种应用程序加密装置,其特征在于,包括: 接收单元,用于接收移动终端发送的应用程序获取请求,所述应用程序获取请求包括移动终端标识和应用程序标识; 加密单元,用于根据预设算法以及实时生成的密钥对所述应用程序标识对应的应用程序的安装文件进行加密,得到加密的安装文件; 获取单元,用于将加密的安装文件、所述移动终端标识以及所述密钥打包成应用程序安装包。
10.如权利要求9所述的装置,其特 征在于,所述加密单元还用于将加密的安装文件、所述移动终端标识以及所述密钥打包成应用程序安装包。
全文摘要
本发明适用于移动终端技术领域,提供了一种应用程序加密、解密方法及加密、解密装置,包括获取应用程序安装包,所述应用程序安装包中包括加密的安装文件、移动终端标识以及密钥;获取移动终端标识;当获取的移动终端标识与所述密钥文件中的移动终端标识一致时,根据预设算法以及所述密钥解密所述应用程序安装包中加密的安装文件。在本发明实施例中只有当获取的移动终端标识与密钥文件中的移动终端标识一致时,才根据预设算法以及密钥解密所述应用程序新安装包中的加密安装文件,从而解决了应用程序的任意传播的问题,避免了应用程序的定制商和收费商蒙受损失的情况,杜绝了应用程序任意传播带来的安全隐患。
文档编号G06F21/12GK103235906SQ20131010216
公开日2013年8月7日 申请日期2013年3月27日 优先权日2013年3月27日
发明者张寅祥 申请人:广东欧珀移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1