对应用程序安装进行管控的方法、系统与终端的制作方法

文档序号:8322216阅读:323来源:国知局
对应用程序安装进行管控的方法、系统与终端的制作方法
【技术领域】
[0001]本公开涉及移动互联网,特别地,涉及一种对应用程序安装进行管控的方法、系统与终端。
【背景技术】
[0002]安卓应用市场上存在大量的恶意虚假软件,如果用户安装可能造成用户信息被窃取。这些恶意软件对安卓系统安全以及用户隐私的保护构成了很大的威胁,所以,目前亟需一种技术实现对用户安装的应用程序进行管控,确保其为正规发行的安全版本,从而保证用户信息及安卓系统的安全。

【发明内容】

[0003]本公开鉴于以上问题中的至少一个提出了新的技术方案。
[0004]本公开在其一个方面提供了一种对应用程序安装进行管控的方法,其可以确保用户信息与终端的安全。
[0005]本公开在其另一方面提供了一种终端,其可以确保用户信息与终端的安全。
[0006]本公开在其又一方面提供了一种对应用程序安装进行管控的系统,其可以确保用户信息与终端的安全。
[0007]根据本公开,提供一种对应用程序安装进行管控的方法,包括:
[0008]下载待安装的应用程序,并自下载的应用程序中提取与应用程序对应的公钥;
[0009]利用存储在终端安全存储区域内的密钥对应用程序的应用名与相应公钥进行加密;
[0010]将应用名与相应公钥加密后的信息与预存在终端内部的授权列表中的加密应用名和相应公钥进行匹配;
[0011]如果匹配成功,则表明下载的应用程序已通过第三方授权。
[0012]在本公开的一些实施例中,该方法还包括:
[0013]如果匹配不成功,则将应用名与相应公钥加密后的信息发送至第三方服务器,以与存储在第三方服务器中的授权列表中的加密应用名和相应公钥进行匹配;
[0014]如果匹配成功,则表明下载的应用程序已通过第三方授权,否则,告知终端该应用程序未经授权。
[0015]在本公开的一些实施例中,预存在终端内部的授权列表还包括对加密应用名与相应公钥的签名。
[0016]在本公开的一些实施例中,该方法还包括:
[0017]在终端开机时对预存在终端内部的授权列表中的加密应用名与相应公钥进行签名验证。
[0018]根据本公开,还提供了一种终端,包括:
[0019]下载单元,用于下载待安装的应用程序,并自下载的应用程序中提取与应用程序对应的公钥;
[0020]第一存储单元,用于存储加密密钥;
[0021]第二存储单元,用于存储包含加密应用名和相应公钥的授权列表;
[0022]加密单元,用于利用存储在第一存储单元内的密钥对应用程序的应用名与相应公钥进行加密;
[0023]匹配单元,用于将应用名与相应公钥加密后的信息与存储在第二存储单元内的授权列表中的加密应用名和相应公钥进行匹配,如果匹配成功,则表明下载的应用程序已通过第三方授权。
[0024]在本公开的一些实施例中,第一存储单元位于存放密码的安全区域内。
[0025]在本公开的一些实施例中,授权列表还包括对加密应用名与相应公钥的签名。
[0026]在本公开的一些实施例中,终端还包括:
[0027]签名验证单元,用于在终端开机时对授权列表中的加密应用名与相应公钥进行签名验证。
[0028]根据本公开,还提供了一种对应用程序安装进行管控的系统,其特征在于,应用服务器、第三方服务器以及前述实施例的终端。
[0029]在本公开的一些实施例中,在终端本地匹配不成功的情况下,第三方服务器接收终端发送的对应用名与相应公钥加密后的信息,并与存储在第三方服务器中的授权列表中的加密应用名和相应公钥进行匹配,如果匹配成功,则表明下载的应用程序已通过第三方授权,否则,告知终端该应用程序未经授权。
[0030]在本公开的技术方案中,由于在安装下载的应用程序之前需要对该应用程序进行是否授权的检验,因此,避免了在安装非法应用程序时造成对用户信息的窃取、修改以及对终端操作系统的破坏。
【附图说明】
[0031]此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分。在附图中:
[0032]图1是本公开一个实施例的对应用程序安装进行管控的方法的流程示意图。
[0033]图2是本公开另一实施例的对应用程序安装进行管控的方法的流程示意图。
[0034]图3是本公开对应用的授权列表进行校验的示意图。
[0035]图4是本公开一个实施例的终端的结构示意图。
[0036]图5是本公开另一实施例的终端的结构示意图。
[0037]图6是本公开一个实施例对应用程序安装进行管控的系统的结构示意图。
【具体实施方式】
[0038]下面将参照附图描述本公开。要注意的是,以下的描述在本质上仅是解释性和示例性的,决不作为对本公开及其应用或使用的任何限制。除非另外特别说明,否则,在实施例中阐述的部件和步骤的相对布置以及数字表达式和数值并不限制本公开的范围。另外,本领域技术人员已知的技术、方法和装置可能不被详细讨论,但在适当的情况下意在成为说明书的一部分。
[0039]针对不能保证这些待安装的应用程序是正规发行的安全版本,为了避免这些不安全因素,本公开下述实施例通过加密实现只有经过第三方(例如,运营商等)验证的应用程序才能被安装到安卓系统上。
[0040]本公开中所下载应用程序是否授权的验证方式可以包括三种:第一种是在终端本地进行验证;第二种是在网络侧进行验证;第三种是前两种的结合,即,如果本地验证失败可以再在网络上进行验证。
[0041]接下来以安卓系统为例进行说明,但本公开的实施例并不限于安卓系统,其可以应用于任何终端可用的操作系统。
[0042](I)本地加密验证:
[0043]终端本地的安卓系统保存一份基于加密的应用名、加密的与应用名对应的公钥、以及对所有加密的应用名与相应公钥进行签名后的结果形成的授权列表,其中,加密密钥可以由第三方提供。应用程序安装时通过应用名和公钥来验证此应用程序是否经过第三方(运营商等)授权,并据此判断此应用是否可安装。
[0044](2)网络加密验证:
[0045]在安卓系统联网状态下,在本地进行应用安装之前,首先将应用名和其公钥进行加密(所用密钥是终端内部芯片中存储的CBC (Cipher Block Chain,码块链加密模式)密钥)传到第三方(运营商等)服务器进行验证,然后本地系统通过服务器返回的数据确定此应用是否通过授权,即是否可以安装。
[0046]( 3 )本地和网络综合验证:
[0047]S卩,将上述两种方法相结合,在本地验证不通过的情况下,提交网络进行验证。
[0048]图1是本公开一个实施例的对应用程序安装进行管控的方法的流程示意图。
[0049]如图1所示,该实施例可以包括以下步骤:
[0050]S102,下载待安装的应用程序,并自下载的应用程序中提取与应用程序对应的公钥;
[0051]具体地,当用户想在终端上安装应用程序时,其首先从应用服务器上下载待安装的应用程序,该应用程序可以是以APK (Android Package,安卓安装包)为后缀名的用于安卓系统的应用程序,也可以是应用于其他系统的应用程序。
[0052]在自应用服务器下载了应用程序后,从下载的内容中提取出与该应用程序对应的公钥,在该应用程序的合法性验证通过后,利用该公钥对应用程序进行解密以实现对应用程序的安装。
[0053]S104,利用存储在终端安全存储区域内的密钥对应用程序的应用名与相应公钥进行加密;
[0054]具体地,为了防止该加密密钥被篡改,可以将该密钥存储在终端内部的安全存储区域内。利用该加密密钥对下载的应用程序的名称和提取出的公钥进行加密,以将其与预存的信息进行匹配。
[0055]S106,将应用名与相应公钥加密后的信息与预存在终端内部的授权列表中的加密应用名和相应公钥进行匹配;
[0056]在下载应用程序之前,可以通过任意方式获取包含加密应用名和加密相应密钥的授权列表,用于实现对所下载应用程序的验证。例如,在终端出厂前直接固化在终端内部,或者可以自第三方服务器下载等。需要指出的是,该授权列表中的信息加密时所使用的密钥与对下载应用程序名称和相应公钥加密所使用的密钥相同。
[0057]在对下载的应用程序的应用名与其公钥进行加密后,将加密后的信息与预存在终端内部的授权列表中的信息进行匹配,根据匹配结果确定该下载的应用程序是否具有合法性,即是否为正规发行的安全版本。
[0058]S108,如果匹配成功,则表明下载的应用程序已通过第三方授权。
[0059]需要指出的是,如果仅在终端本地进行应用程序是否授权的检验,并且匹配不成功,则表明该下载的应用程序为非正式的版本,安装存在风险,提示用户不建议安装或直接拒绝安装。
[0060]在该实施例中,由于在安装下载的应用程序之前需要对该应用程序进行是否授权的检验,因此,避免了在安装非法应用程序时造成对用户信息的窃取、修改以及对终端操作系统的破坏。
[0061]此外,还需要指出的是,终端内部存储的授权列表也可以进行周期性地更新,SP,将一些最新的应用授权信息也更新到该授权列表中并反馈给终端,以使终端能够获得最新的应用程序授权信息。
[0062]进一步地,在终端本地对应用程序进行检验的基础上,为了进一步提升用户体验,防止部分最新的正版应用程序被拒绝安装,还可以在本地验证失败的情况下,对下载的应用程序进行网络检验。
[0063]由于每发布一个正版的应用程序,均对网络侧的授权列表进行更新,将最新的应用名与相应的公钥加密后存储在网络侧的授权列表中。
[0064]因此,如果在终端本地匹配不成功,则可以将终端下载的应用程序的名称与相应公钥加密后的信息发送至第三方服务器,以与存储在第三方服务器中的授权列表中的加密应用名和相应公钥进行匹配,具体
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1