管理移动应用的方法、装置制造方法及图纸

技术编号:14414974 阅读:75 留言:0更新日期:2017-01-12 03:01
本申请公开了管理移动应用的方法、装置,该方法运行于应用商店服务器,包括步骤:当收到客户端的下载请求时,将加密的应用程序包文件及加密的权限信息发送给所述客户端;所述应用程序包文件为所述移动应用的安装程序文件;所述权限信息包括使用所述客户端的用户相关的权限数据及解密信息,所述解密信息用于对加密的所述应用程序包文件进行解密。本申请能够保证移动应用的安全性。

【技术实现步骤摘要】

本申请涉及移动应用的安全验证技术,尤其涉及管理移动应用的方法、装置
技术介绍
目前的安卓Android应用市场没有严密的应用收费、应用版权保护的机制。以谷歌Google公司的应用平台为例,为了防止移动应用被破解和篡改,当应用开发者将APK(applicationpackagefile,应用程序包文件)上传到Android平台的应用商店时,应用商店会在APK的原始逻辑中插入额外的代码逻辑进行保护,所插入的代码逻辑称为LVL(LicenseVerificationLibrary,许可证验证库)。但由于LVL并非AndroidOS的一部分,而是使用该机制的应用将其集成在应用中的,从而造成LVL和APK的业务逻辑均容易被反汇编和破解,因此通过该方式管理移动应用缺乏安全性。
技术实现思路
本申请提供一种管理移动应用的方法及装置,能够保证移动应用的安全性。根据本申请实施例的第一方面,提供一种管理移动应用的方法,运行于应用商店服务器,包括步骤:当收到客户端的下载请求时,将加密的应用程序包文件及加密的权限信息发送给所述客户端;所述应用程序包文件为所述移动应用的安装程序文件;所述权限信息包括使用所述客户端的用户相关的权限数据及解密信息,所述解密信息用于对加密的所述应用程序包文件进行解密。根据本申请实施例的第二方面,提供一种管理移动应用的方法,包括步骤:在安装或运行所述移动应用时,获取第二密钥;利用第二密钥解密出权限信息,所述权限信息包括使用所述客户端的用户相关的权限数据;根据使用所述客户端的用户相关的权限数据对所述客户端进行授权认证。根据本申请实施例的第三方面,提供一种管理移动应用的装置,位于服务器端,包括:应用加密模块,用于加密应用程序包文件及权限信息,所述应用程序包文件为所述移动应用的安装程序文件;所述权限信息包括使用所述客户端的用户相关的权限数据及解密信息,所述解密信息用于对加密的所述应用程序包文件进行解密;当收到客户端的下载请求时,将加密的应用程序包文件及加密的权限信息发送给所述客户端;应用存储模块,用于将权限信息和加密/未加密的应用程序包文件在所述服务器端存储。根据本申请实施例的第四方面,提供一种管理移动应用的装置,位于客户端,包括:应用加密模块,用于在安装或运行所述移动应用时,获取第二密钥;利用第二密钥解密出权限信息,并发给应用权限管理模块,所述权限信息包括使用所述客户端的用户相关的权限数据;所述应用权限管理模块,用于根据使用所述客户端的用户相关的权限数据对所述客户端进行授权认证。本申请在服务器将APK发给客户端时,以加密的方式发送,另外,将对用户授权认证相关的权限数据以加密的方式发给客户端,以使得客户端能够利用收到的权限数据在本地对用户权限进行认证,由此看出,本申请首先在APK的下载过程中通过加密保证了传输的安全性,另外通过使客户端能够在本地进行授权认证,进一步避免了权限数据在传输过程中被截获篡改的风险,从而很好地保证了移动应用能够被安全下载。而针对客户端,只有当移动应用安装或运行时,加密的APK及权限信息中的内容才会被解密到临时的内存块中,在应用安装或运行结束时,内存中的相关明文数据会被立即清除,因此客户端在管理移动应用时也能够很好地保证移动应用的安全性。附图说明图1a为本申请实施例中一种网络图;图1b为本申请实施例中服务器侧管理移动应用的方法流程图;图2为本申请实施例中客户端侧管理移动应用的方法流程图;图3为本申请实施例中加密的流程图;图4为本申请一个应用实例中管理移动应用的方法的时序图;图5为本申请实施例中管理移动应用的装置的硬件架构图;图6为本申请一个实施例中管理移动应用的装置的软件逻辑框图;图7为本申请一个实施例中管理移动应用的装置的软件逻辑框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。如图1a所示,本申请所依赖的网络环境通常包括客户端10和服务器20,客户端可以是任何可以安装移动应用的终端设备,诸如移动手机、平板电脑(Pad)、个人数字助理(PDA)、MP3播放器的便携设备或者无机箱的一体机等。在客户端10上装有应用商店客户端11;服务器20上装有应用商店服务器21。移动应用的开发者通常通过应用商店服务器21提供的接口来上传应用程序安装包;需要使用移动应用的用户通常需要通过客户端10上所安装的应用商店客户端20向应用商店服务器21发送下载请求,从应用商店服务器21获取应用程序安装包,在客户端10上安装应用程序安装包后使用移动应用所提供的功能。图1b从服务器20侧来描述本申请管理移动应用的方法。S100,接收客户端10的下载请求,S101,将加密的应用程序包文件(以下简称为APK)及加密的权限信息发送给客户端10。应用程序包文件为移动应用的安装程序文件;权限信息包括使用所述客户端的用户相关的权限数据及解密信息,解密信息用于对加密的应用程序包文件进行解密。以下的各实施例,解密信息可以包括随机数、第一密钥。在本申请中可以为APK的开发者开放权限设置的接口,开发者在上传APK时,可以对该APK的权限进行定价设置,例如使用次数、使用时长及相应的费用等,本申请中将开发者设置的与APK定价相关的数据称为定价数据。定价数据在被上传到应用商店服务器后,保存在数据库中,当某个客户端请求下载APK时,根据使用该客户端的用户的购买请求生成与该用户相关的购买数据,本申请中将根据购买数据生成的与权限认证相关的数据称为权限数据,服务器将与该用户相关的权限数据发给客户端。例如,用户a购买的权限数据为1年,则根据该移动应用的某个期限内的定价标准,生成该用户a购买一年的价格以及购买期限,在一个实施例中,可以将允许该用户使用的次数或用于表示购买期限是否超期的定时器作为用户a相关的权限数据。从步骤S101可以看出,本申请中,将应用程序包文件和与用户相关的权限数据均以加密的形式发送给客户端。在本申请中,客户端10、服务器20、应用商店服务器21、应用商店客户端20其中的任何一个,在需要对数据进行加密时,加密的方式均可参照例如图2所示的流程:按照随机数算法生成随机数作为密钥种子(S201本文档来自技高网...
管理移动应用的方法、装置

【技术保护点】
一种管理移动应用的方法,运行于应用商店服务器,其特征在于,包括步骤:当收到客户端的下载请求时,将加密的应用程序包文件及加密的权限信息发送给所述客户端;所述应用程序包文件为所述移动应用的安装程序文件;所述权限信息包括使用所述客户端的用户相关的权限数据及解密信息,所述解密信息用于对加密的所述应用程序包文件进行解密。

【技术特征摘要】
1.一种管理移动应用的方法,运行于应用商店服务器,其特征在于,包括步骤:当收到客户端的下载请求时,将加密的应用程序包文件及加密的权限信息发送给所述客户端;所述应用程序包文件为所述移动应用的安装程序文件;所述权限信息包括使用所述客户端的用户相关的权限数据及解密信息,所述解密信息用于对加密的所述应用程序包文件进行解密。2.根据权利要求1所述的方法,其特征在于,收到客户端的下载请求之前还包括步骤:通过随机数算法生成随机数;根据所述随机数生成第一密钥;通过所述第一密钥加密所述应用程序包文件;将加密后的应用程序包文件进行存储。3.根据权利要求2所述的方法,其特征在于,所述解密信息包括随机数,所述随机数包括系统随机数,所述方法还包括步骤:将所述系统随机数进行存储;当收到客户端的下载请求时,将所述系统随机数加密后发送给所述客户端。4.根据权利要求2所述的方法,其特征在于,所述解密信息为第一密钥;所述随机数包括第一随机数,所述第一随机数的输入参数相同时,对于同一应用程序包文件通过同一随机数算法所获得的值相同;所述方法还包括步骤:当收到客户端的下载请求时,通过随机数算法生成第一随机数;根据第一随机数生成第一密钥;将所述第一密钥加密后发送给客户端。5.根据权利要求2所述的方法,其特征在于,所述解密信息为第一密
\t钥,所述方法还包括步骤:将所述第一密钥进行存储;当收到客户端的下载请求时,将所述第一密钥加密后发送给所述客户端。6.根据权利要求1所述的方法,其特征在于,对所述所述权限信息加密的过程包括:将所述解密信息和与使用所述客户端的用户相关的权限数据按照预定格式生成权限文件;通过第二密钥将所述权限文件加密后发送给所述客户端。7.根据权利要求6所述的方法,其特征在于,所述第二密钥的生成过程包括:通过随机数算法生成随机数;所述随机数的输入参数包括用户输入密码、登录账户、所述客户端所在设备的硬件标识中的一种或多种参数;根据所述随机数生成第二密钥。8.一种管理移动应用的方法,其特征在于,包括步骤:在安装或运行所述移动应用时,获取第二密钥;利用第二密钥解密出权限信息,所述权限信息包括使用所述客户端的用户相关的权限数据;根据使用所述客户端的用户相关的权限数据对所述客户端进行授权认证。9.根据权利要求8所述的方法,其特征在于,所述方法还包括步骤:将从服务器接收的加密的应用程序包文件及加密的权限信息保存;所述权限信息还包括解密信息,所述解密信息用于对加密的应用程序包文件进行解密,所述应用程序包文件为所述移动应用的安装程序文件。10.根据权利要求9所述的方法,其特征在于,所述方法还包括步骤:根据所述用户相关的权限数据对所述客户端进行授权认证后,刷新使用所述客户端的用户相关的权限数据;加密刷新后的使用所述客户端的用户相关的权限数据,并保存。11.根据权利要求9所述的方法,其特征在于,在安装所述移动应用时,所述方法还包括步骤:如果所述客户端通过授权认证,则根据所述解密信息解密加密的应用程序包文件,并安装解密后的应用程序包文件。12.根据权利要求8所述的方法,其特征在于,获取所述第二密钥的过程包括:当用户输入密码后,根据所述输入参数生成随机数;所述输入参数包括用户输入密码、登录账户、所述客户端所在设备的硬件标识中的一种或多种参数;根据所述随机数生成第二密钥。13.根据权利要求8所述的方法,其特征在于,获取所述第二密钥的过程包括:当用户输入密码后,获取预先存储的所述第二密钥。14.一种管理移动应用的装置,位于服务器端,其特征在于,包括:应用加密模块,用于加密应用程序包文件及权限信息,所述应用程序包文件为所述移动应用的安装程序文件;所述权限信息包括使用所述客户端的用户相关的权限数据及解密信息,所述解密信息用于对加密的所述应...

【专利技术属性】
技术研发人员:商海波
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1