匹配过程与终端本地的匹配过程相同;
[0065]如果匹配成功,则表明下载的应用程序已通过第三方授权,否则,告知终端该应用程序未经授权。
[0066]进一步地,预存在终端内部的授权列表还可以包括对加密应用名与相应公钥的签名。
[0067]为了验证预存在终端内部的授权列表是否被篡改,可以在终端开机时对预存在终端内部的授权列表中的加密应用名与相应公钥进行签名验证。
[0068]具体地,在终端每次开机时,可以利用终端内部存储的加密密钥对整个授权列表中所有的加密应用名与相应公钥进行签名,将计算出的签名与附在授权列表最后的签名信息进行比较,如果两者相同,则表明授权列表中的加密应用名与相应公钥未被篡改,否则,表明授权列表中的加密应用名与相应公钥已被篡改,该授权列表不可信,不能再基于此对应用程序是否授权进行验证。
[0069]图2是本公开另一实施例的对应用程序安装进行管控的方法的流程示意图。
[0070]如图2所示,该实施例可以包括以下流程:
[0071]S202,用户请求安装一个未知应用;
[0072]S204,用户自应用服务器下载该待安装的应用程序,并自应用程序中提取该应用程序的名称和对该应用程序进行解密所需的公钥;
[0073]S206,终端对该应用名和公钥进行加密生成唯一的验证码;
[0074]S208,将生成的验证码与终端本地存储的授权列表进行比对;
[0075]S210,判断是否比对成功,即判断是否授权;
[0076]S212,如果比对上,则表明经过授权,准许安装;
[0077]S214,如果未比对上,则表明未经过授权,判断终端是否联网,如果未联网,则结束,不能安装此应用程序;
[0078]S216,如果联网,则可以再提交服务器判断;
[0079]S218,判断是否授权,如果经过授权,则发回消息准许安装,并转S212,如果未经过授权,则发回消息不准许安装,并结束。
[0080]图3是本公开对应用的授权列表进行校验的示意图。
[0081]如图3所示,可以将授权列表存放在终端内部的只读存储区内,在终端开机时,可以利用存放在Key Partit1n (即,终端中用于存放密钥的安全区域)的AES (AdvancedEncrypt1n Standard,高级加密标准)CBC KEY (密钥)进行校验,以验证授权列表是否被更改。
[0082]具体地,在终端开机时,可以利用存放在Key Partit1n内部的AES CBC KEY对授权列表中加密的应用名与公钥进行签名计算,将计算出的结果与附在授权列表最后的签名进行比较,如果两者相同,则表明授权列表未被更改,否则,表明授权列表已被篡改,不能再用于对下载的应用程序进行授权验证。
[0083]本领域普通技术人员可以理解,实现上述方法实施例的全部和部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算设备可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质可以包括ROM、RAM、磁碟和光盘等各种可以存储程序代码的介质。
[0084]图4是本公开一个实施例的终端的结构示意图。
[0085]如图4所示,该实施例中的终端40可以包括下载单元402、第一存储单元404、第二存储单元406、加密单元408和匹配单元410。其中,
[0086]下载单元402,用于下载待安装的应用程序,并自下载的应用程序中提取与应用程序对应的公钥;
[0087]第一存储单元404,用于存储加密密钥;
[0088]第二存储单元406,用于存储包含加密应用名和相应公钥的授权列表;
[0089]加密单元408,用于利用存储在第一存储单元内的密钥对应用程序的应用名与相应公钥进行加密;
[0090]匹配单元410,用于将应用名与相应公钥加密后的信息与存储在第二存储单元内的授权列表中的加密应用名和相应公钥进行匹配,如果匹配成功,则表明下载的应用程序已通过第三方授权。
[0091]在该实施例中,由于在安装下载的应用程序之前需要对该应用程序进行是否授权的检验,因此,避免了在安装非法应用程序时造成对用户信息的窃取、修改以及对终端操作系统的破坏。
[0092]其中,第一存储单元可以位于存放密码的安全区域内,即,终端内部的KeyPartit1n 区域。
[0093]由于第二存储单元用于存储授权列表,可以将第二存储单元设置为只读区域。
[0094]进一步地,除了加密的应用名与相应公钥之外,授权列表还可以包括对加密应用名与相应公钥的签名,以在终端开机时利用该签名对授权列表中加密的应用名与相应公钥是否被篡改进行验证。
[0095]图5是本公开另一实施例的终端的结构示意图。
[0096]如图5所示,与图4中的实施例相比,该实施例中的终端50还可以包括:
[0097]签名验证单元502,用于在终端开机时对授权列表中的加密应用名与相应公钥进行签名验证。
[0098]图6是本公开一个实施例对应用程序安装进行管控的系统的结构示意图。
[0099]如图6所示,该实施例中的系统60可以包括应用服务器602、第三方服务器604以及终端606。
[0100]其中,终端606可以通过前述实施例实现,应用服务器602为用户提供应用程序下载服务,第三方服务器604用于对用户下载的应用程序进行是否授权的验证。
[0101]进一步地,在终端本地匹配不成功的情况下,第三方服务器接收终端发送的对应用名与相应公钥加密后的信息,并与存储在第三方服务器中的授权列表中的加密应用名和相应公钥进行匹配,如果匹配成功,则表明下载的应用程序已通过第三方授权,否则,告知终端该应用程序未经授权。
[0102]本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同和相似的部分可以相互参见。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处可以参见方法实施例部分的说明。
[0103]虽然已参照示例性实施例描述了本公开,但应理解,本公开不限于上述的示例性实施例。对于本领域技术人员显然的是,可以在不背离本公开的范围和精神的条件下修改上述的示例性实施例。所附的权利要求的范围应被赋予最宽的解释,以包含所有这样的修改以及等同的结构和功能。
【主权项】
1.一种对应用程序安装进行管控的方法,其特征在于,包括: 下载待安装的应用程序,并自下载的应用程序中提取与所述应用程序对应的公钥; 利用存储在终端安全存储区域内的密钥对所述应用程序的应用名与相应公钥进行加密; 将应用名与相应公钥加密后的信息与预存在终端内部的授权列表中的加密应用名和相应公钥进行匹配; 如果匹配成功,则表明下载的应用程序已通过第三方授权。
2.根据权利要求1所述的对应用程序安装进行管控的方法,其特征在于,所述方法还包括: 如果匹配不成功,则将应用名与相应公钥加密后的信息发送至第三方服务器,以与存储在第三方服务器中的授权列表中的加密应用名和相应公钥进行匹配; 如果匹配成功,则表明下载的应用程序已通过第三方授权,否则,告知终端所述应用程序未经授权。
3.根据权利要求1所述的对应用程序安装进行管控的方法,其特征在于,所述预存在终端内部的授权列表还包括对加密应用名与相应公钥的签名。
4.根据权利要求3所述的对应用程序安装进行管控的方法,其特征在于,所述方法还包括: 在终端开机时对预存在终端内部的授权列表中的加密应用名与相应公钥进行签名验证。
5.一种终端,其特征在于,包括: 下载单元,用于下载待安装的应用程序,并自下载的应用程序中提取与所述应用程序对应的公钥; 第一存储单元,用于存储加密密钥; 第二存储单元,用于存储包含加密应用名和相应公钥的授权列表; 加密单元,用于利用存储在所述第一存储单元内的密钥对所述应用程序的应用名与相应公钥进行加密; 匹配单元,用于将应用名与相应公钥加密后的信息与存储在所述第二存储单元内的授权列表中的加密应用名和相应公钥进行匹配,如果匹配成功,则表明下载的应用程序已通过第三方授权。
6.根据权利要求5所述的终端,其特征在于,所述第一存储单元位于存放密码的安全区域内。
7.根据权利要求5所述的终端,其特征在于,所述授权列表还包括对加密应用名与相应公钥的签名。
8.根据权利要求7所述的终端,其特征在于,所述终端还包括: 签名验证单元,用于在终端开机时对所述授权列表中的加密应用名与相应公钥进行签名验证。
9.一种对应用程序安装进行管控的系统,其特征在于,应用服务器、第三方服务器以及权利要求5-8中任一项所述的终端。
10.根据权利要求9所述的对应用程序安装进行管控的系统,其特征在于,在所述终端本地匹配不成功的情况下,所述第三方服务器接收所述终端发送的对应用名与相应公钥加密后的信息,并与存储在所述第三方服务器中的授权列表中的加密应用名和相应公钥进行匹配,如果匹配成功,则表明下载的应用程序已通过第三方授权,否则,告知终端所述应用程序未经授权。
【专利摘要】本公开涉及一种对应用程序安装进行管控的方法、系统与终端。该方法包括下载待安装的应用程序,并自下载的应用程序中提取与应用程序对应的公钥;利用存储在终端安全存储区域内的密钥对应用程序的应用名与相应公钥进行加密;将应用名与相应公钥加密后的信息与预存在终端内部的授权列表中的加密应用名和相应公钥进行匹配;如果匹配成功,则表明下载的应用程序已通过第三方授权。本公开可以确保用户信息与终端的安全。
【IPC分类】H04L29-06
【公开号】CN104639506
【申请号】CN201310562518
【发明人】施唯佳, 马佰卿, 贾立鼎, 朱良杰
【申请人】中国电信股份有限公司
【公开日】2015年5月20日
【申请日】2013年11月13日