应用软件控制平台、 使用者终端、 分发系统及方法 技术领域 本发明涉及应用软件分发技术,尤其涉及一种应用软件控制平台、使用者终 端、分发系统及方法。
背景技术 随着智能终端 ( 例如,智能手机、电子书等 ) 的推广和应用,终端安全问题日益 重要。 安全问题主要包括用户数据 ( 例如,联系人、帐号、密码、照片等 ) 的安全、终端 资源 ( 例如,摄像设备、录音设备、用户身份卡、网络连接设备、存储设备等 ) 的安全、 网络资源 ( 例如,网络上存储的联系人、照片等资源 ) 的安全等。
智能终端的发展离不开智能终端上的应用软件的发展壮大。 通常应用软件由各 种各样的软件提供商,或软件设计人员设计,各种应用软件的功能不尽相同。 由于诸多 恶意应用软件的出现,用户对于选择应用软件无所适从,用户没有可信的应用软件下载 途径。
发明内容 本发明提供一种应用软件控制平台、使用者终端、分发系统及方法,以提高应 用软件分发的安全性。
本发明提供一种应用软件控制平台,包括 :
签名服务器,包括应用商城签名模块,用于当接受应用商城服务器的应用商城 签名请求时,接收应用商城证书,对所述应用商城证书进行签名,并向所述应用商城服 务器返回签名后的应用商城证书 ;
应用商城服务器,包括应用商城证书模块、身份审核模块、应用软件审核模 块、商品打包模块、授权许可模块和下载模块 ;
所述应用商城证书模块,用于将所述应用商城签名请求和所述应用商城证书提 供给所述应用商城签名模块,并接收所述签名后的应用商城证书 ;
所述身份审核模块,用于接收开发者服务器提交的身份信息,并对所述身份信 息进行审核 ;
所述应用软件审核模块,用于接收所述开发者服务器提交的应用软件,并对所 述应用软件进行审核 ;
所述商品打包模块,用于根据所述身份审核模块和所述应用软件审核模块的审 核结果,通过密钥对所述应用软件中的应用程序文件进行加密,根据所述签名后的应用 商城证书和加密后的应用程序文件生成安装软件包 ;
所述授权许可模块,用于根据购买信息和所述密钥生成授权许可文件 ;
所述下载模块,用于当接受使用者终端的下载请求时,将所述安装软件包和所 述授权许可文件提供给所述使用者终端,并指示所述使用者终端进行安装。
如上所述的应用软件控制平台,其中,
所述签名服务器还包括使用者签名模块,用于当接受所述应用商城服务器的使 用者签名请求时,接收使用者证书,对所述使用者证书进行签名,并向所述应用商城服 务器返回签名后的使用者证书 ;
所述应用商城服务器还包括使用者证书模块,用于当接受所述使用者终端的申 请请求时,接收使用者申请信息,根据所述使用者信息生成使用者证书,将所述使用者 签名请求和所述使用者证书提供给所述签名服务器,并将接收到的所述签名后的使用者 证书提供给提出所述申请请求的使用者终端。
如上所述的应用软件控制平台,其中,所述签名服务器和所述应用商城服务器 一体设置。
如上所述的应用软件控制平台,所述应用软件包括应用程序文件和签名文件, 所述签名文件包括根据所述应用程序文件生成的签名文件摘要,其中,所述应用软件审 核模块包括摘要审核单元,用于审核所述签名文件摘要的正确性,以确定所述应用程序 文件的正确性。
如上所述的应用软件控制平台,其中,所述商品打包模块包括 :
指示单元,用于根据所述审核结果产生打包指示信息 ; 加密单元,用于通过所述密钥对所述应用程序文件进行加密 ;
摘要生成单元,用于根据加密后的应用程序文件生成应用程序文件摘要,并根 据所述应用程序文件摘要生成安装签名文件摘要 ;
摘要签名单元,用于通过所述应用商城证书对所述安装签名文件摘要进行签 名;
软件包生成单元,用于根据签名后的安装签名文件和所述应用程序文件生成所 述安装软件包。
如上所述的应用软件控制平台,其中,所述授权许可模块包括 :
购买信息摘要生成单元,用于根据所述购买信息生成购买信息摘要 ;
购买信息摘要签名单元,用于通过所述应用商城证书对所述购买信息摘要进行 签名 ;
解密信封生成单元,用于通过所述使用者证书对所述密钥进行加密,以生成解 密信封 ;
授权许可单元,用于根据所述购买信息、签名后的购买信息摘要和解密信封生 成所述授权许可文件。
本发明提供一种使用者终端,包括 :
使用者申请模块,用于向应用商城服务器提出申请请求和使用者申请信息,并 接收所述应用商城服务器返回的使用者证书 ;
接收模块,用于接收所述应用商城服务器提供的安装软件包和授权许可文件 ;
安装引擎模块,用于根据所述应用商城服务器的指示对接收到的安装软件包和 授权许可文件进行安装。
如上所述的使用者终端,所述授权许可文件包括购买信息、签名后的购买信息 摘要和解密信封生成所述授权许可文件,所述安装软件包包括应用程序文件和安装签名 文件,其中,所述安装引擎模块包括 :
信息提取单元,用于提取所述授权许可文件中的所述购买信息、签名后的购买 信息摘要和解密信封 ;
软件提取单元,用于提取所述安装软件中的所述应用程序文件和所述安装签名 文件 ;
安全检验单元,用于通过所述应用商城证书分别对所述签名后的购买信息摘要 和签名后的应用程序文件摘要进行检验,通过所述购买信息摘要对所述购买信息进行检 验,通过所述安装签名文件对所述应用程序文件进行检验,并产生检验报告 ;
安装单元,用于根据所述检验报告,通过使用者证书对所述解密信封进行解 密,以得到密钥,通过所述密钥对所述应用程序文件进行解密,并通过所述购买信息安 装所述应用程序文件。
本发明提供一种应用软件分发系统,包括 :本发明提供的应用软件控制平台和 本发明提供的使用者终端。
本发明提供一种应用软件分发方法,包括 :
当签名服务器接受应用商城服务器的应用商城签名请求时,接收应用商城证 书,对所述应用商城证书进行签名,并向所述应用商城服务器返回签名后的应用商城证 书; 所述应用商城服务器对接收到的身份信息和应用软件进行审核 ;
所述应用商城服务器根据审核结果,通过密钥对所述应用软件中的应用程序文 件进行加密,并根据所述签名后的应用商城证书和加密后的应用程序文件生成安装软件 包;
所述应用商城服务器根据购买信息和所述密钥生成授权许可文件 ;
当所述应用商城服务器接受使用者终端的下载请求时,将所述安装软件包和所 述授权许可文件提供给使用者终端,并指示所述使用者终端进行安装。
如上所述的软件分发方法,其中,所述签名服务器向所述应用商城服务器返回 签名后的应用商城证书之后,还包括 :
当应用商城服务器接受使用者终端的申请请求时,接收使用者申请信息,根据 所述使用者信息生成使用者证书,将所述使用者签名请求和所述使用者证书提供给所述 签名服务器 ;
当所述签名服务器接受所述使用者签名请求时,接收使用者证书,对所述使用 者证书进行签名,并向所述应用商城服务器返回签名后的使用者证书。
如上所述的软件分发方法,所述应用软件包括应用程序文件和签名文件,所述 签名文件包括根据所述应用程序文件生成的签名文件摘要,其中,所述应用商城服务器 对接收到应用软件进行审核具体为 :
所述应用商城服务器通过审核所述签名文件摘要的正确性,以确定所述应用程 序文件的正确性。
如上所述的软件分发方法,其中,应用商城服务器通过密钥对所述应用软件中 的应用程序文件进行加密,并根据所述签名后的应用商城证书和加密后的应用程序文件 生成安装软件包包括 :
应用商城服务器通过所述密钥对所述应用软件中的应用程序文件进行加密 ;
应用商城服务器根据加密后的应用程序文件生成应用程序文件摘要,并根据所 述应用程序文件摘要生成安装签名文件摘要 ;
应用商城服务器通过所述应用商城证书对所述安装签名文件摘要进行签名 ;
应用商城服务器根据签名后的安装签名文件和所述应用程序文件生成所述安装 软件包。
如上所述的软件分发方法,其中,应用商城服务器所述根据购买信息和所述密 钥生成授权许可文件包括 :
应用商城服务器根据所述购买信息生成购买信息摘要 ;
应用商城服务器通过所述应用商城证书对所述购买信息摘要进行签名 ;
应用商城服务器通过所述使用者证书对所述密钥进行加密,以生成解密信封 ;
应用商城服务器根据所述购买信息、签名后的购买信息摘要和解密信封生成所 述授权许可文件。
如上所述的软件分发方法,其中,应用商城服务器指示所述使用者终端进行安 装包括 :
应用商城服务器指示所述使用者终端提取所述授权许可文件中的所述购买信 息、签名后的购买信息摘要和解密信封 ;
应用商城服务器指示所述使用者终端提取所述安装软件中的所述应用程序文件 和所述安装签名文件 ;
应用商城服务器指示所述使用者终端通过所述应用商城证书分别对所述签名后 的购买信息摘要和签名后的应用程序文件摘要进行检验,通过所述购买信息摘要对所述 购买信息进行检验,通过所述应用程序文件摘要对所述应用程序文件进行检验,并产生 检验报告 ;
应用商城服务器指示所述使用者终端根据所述检验报告,通过使用者证书对所 述解密信封进行解密,以得到密钥,通过所述密钥对所述应用程序文件进行解密,并通 过所述购买信息安装所述应用程序文件。
本发明提供的应用软件控制平台、使用者终端、分发系统及方法,通过对应用 软件提供者提供的身份信息和应用软件的双重审核,提高了应用软件来源的安全性和可 靠性,再通过将审核合格的应用程序文件重新打包处理以供使用者购买下载,提高了应 用软件分发的安全性。 附图说明
图 1 为本发明实施例一提供的应用软件控制平台结构示意图 ;
图 2 为本发明实施例二提供的商品打包模块结构示意图 ;
图 3 为本发明实施例二提供的授权许可模块结构示意图 ;
图 4 为本发明实施例三提供的使用者终端结构示意图 ;
图 5 为本发明实施例五提供的应用软件分发方法流程图 ;
图 6 为本发明实施例五提供的生成安装软件包流程图 ;
图 7 为本发明实施例五提供的生成授权许可文件流程图 ;
图 8 为本发明实施例五提供的指示使用者终端进行安装流程图。附图标记 : 11- 软件控制平台 ; 12- 签名服务器 ; 13- 应用商城服务器 ; 14- 使用者终端 ; 121- 使用者签名模块 ; 122- 应用商城签名模块 ; 131- 使用者证书模块 ; 132- 应用商城证书 ; 133- 身份审核模块 ; 134- 应用软件审核模块 ; 135- 商品打包模块 ; 136- 授权许可模块 ; 137- 下载模块 ; 1351- 指示单元 ; 1352- 加密单元 ; 1353- 摘要生成单元 ; 1354- 摘要签名单元 ; 1355- 软件包生成单元 ; 1361- 购买信息摘要生成单元 ; 1362- 购买信息摘要签名单元 ; 1363- 解密信封生成单元 ; 1364- 授权许可单元 ; 141- 使用者申请模块 ; 142- 接收模块 ; 143- 安装引擎模块 ; 1431- 信息提取单元 ; 1432- 软件提取单元 ; 1433- 安全检验单元 ; 1434- 安装单元。具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施 例,对本发明实施例中的技术方案进行清楚、完整地描述。 需要说明的是,在附图或说 明书中,相似或相同的元件皆使用相同的附图标记。
应用软件控制平台实施例一
图 1 为本发明实施例一提供的应用软件控制平台结构示意图,如图 1 所示,应用 软件控制平台 11 包括签名服务器 12 和应用商城服务器 13,签名服务器 12 提供安全控制 服务,签名服务器 12 包括应用商城签名模块 122,应用商城签名模块 122 用于当接受应用 商城服务器 13 的应用商城签名请求时,接收应用商城证书,对应用商城证书进行签名, 并向应用商城服务器 13 返回签名后的应用商城证书。 应用商城服务是应用软件发布的平 台,为使用者筛选并审核可信的应用软件,并为使用者提供购买下载服务。 应用商城服 务器 13 包括应用商城证书模块 132、身份审核模块 133、应用软件审核模块 134、商品打 包模块 135、授权许可模块 136 和下载模块 137。 应用商城证书模块 132 用于将应用商城 签名请求和应用商城证书提供给应用商城签名模块 122,并接收签名后的应用商城证书。 身份审核模块 133 用于接收开发者服务器提交的身份信息,并对身份信息进行审核。 应 用软件审核模块 134 用于接收开发者服务器提交的应用软件,并对应用软件进行审核。 商品打包模块 135 用于根据身份审核模块 133 和应用软件审核模块 134 的审核结果,通过 密钥对应用软件中的应用程序文件进行加密,根据签名后的应用商城证书和加密后的应 用程序文件生成安装软件包。 授权许可模块 136 用于根据购买信息和密钥生成授权许可 文件。 下载模块 137 用于当接受使用者终端的下载请求时,将安装软件包和授权许可文 件提供给使用者终端,并指示使用者终端进行安装。
本实施例提供的软件控制平台,当接收到开发者服务器发送的身份信息和应用软件时,既对身份信息进行审核,也对应用软件进行审核,通过对身份信息的审核,可 以确定该开发者服务器是否为应用商城服务器 13 可信任的开发者服务器。 在具体应用过 程中,可以有多个开发者服务器为应用商城服务器 13 提供应用软件,这些开发者服务器 中可能只有一部分是应用商城服务器 13 信任的,另一部分是没有通过应用商城服务器 13 安全认证的不受信的开发者服务器,当不受信的开发者服务器向应用商城服务器 13 提供 应用软件和身份信息时,身份信息无法通过应用商城的审核,应用商城服务器 13 则不会 继续对应用软件进行审核。 当受信的开发者服务器向应用商城服务器 13 提供应用软件和 身份信息时,身份信息通过应用商城的审核后,应用商城服务器 13 再继续对应用软件进 行审核,以确定应用软件在传递的过程中是否被篡改,以确保应用软件的正确性。 当身 份信息和应用软件都通过审核时,应用商城服务器 13 还可以根据应用软件中应用程序文 件的类型和内容,结合自身的需求来决定是否接受该应用程序文件,并将接收的应用程 序文件通过密钥对应用软件中的应用程序文件进行加密,根据签名后的应用商城证书和 加密后的应用程序文件生成安装软件包。 应用商城服务器 13 对身份信息和应用软件进行 双重审核,保证的应用程序文件来源的安全性,并将通过审核的应用软件重新打包后供 使用者终端进行下载,提高了使用者终端软件下载过程中的安全性。 在本实施例中,签名服务器 12 还包括使用者签名模块 121,使用者签名模块 121 用于当接受应用商城服务器 13 的使用者签名请求时,接收使用者证书,对使用者证书进 行签名,并向应用商城服务器 13 返回签名后的使用者证书。 应用商城服务器 13 还包括使 用者证书模块 131,使用者证书模块 131 用于当接受使用者终端的申请请求时,接收使用 者申请信息,根据使用者信息生成使用者证书,将使用者签名请求和使用者证书提供给 签名服务器 12,并将接收到的签名后的使用者证书提供给提出申请请求的使用者终端。 签名服务器 12 通过使用者签名模块 121 的设置,对使用者证书进行签名,为使用者身份 提供安全认证。 在本实施例中,签名服务器 12 和应用商城服务器 13 还可以一体设置。
应用软件控制平台 11 的工作过程具体可以为 :应用商城服务器 13 向签名服务器 12 的应用商城签名模块 122 提交应用商城签名请求和应用商城证书,当应用商城签名模 块 122 接受该应用商城签名请求时,接受应用商城证书,通过应用商城的根证书对应的 私钥对应用商城进行签名,并将签名后的应用商城证书返回给应用商城服务器 13。 签名 服务器 12 为应用商城服务器 13 的身份进行了认证,为签名服务器 12 和应用商城服务器 13 之间的信息交互提供安全基础。
使用者通过使用者终端向应用商城服务器 13 发送申请请求和使用者申请信息, 申请请求具体可以为注册申请请求,如果应用商城服务器 13 的使用者证书模块 131 检测 到该使用者终端已经为应用商城服务器 13 的注册使用者用户时,则可以拒绝使用者终端 的申请请求,并显示提示信息,使用者终端可以通过已经注册的使用者用户信息进行登 录。 如果使用者证书模块 131 检测该使用者终端为新用户时,则可以接收该注册申请请 求,并接收使用者申请信息。 使用者证书模块 131 根据使用者申请信息通过预定的证书 生成方法生成使用者证书,使用者证书通常对应使用者公钥和使用者私钥,使用者公钥 包含在使用者证书中,使用者公钥和使用者私钥可以通过预定非对称密钥算法生成,预 定非对称密钥算法可以采用 ECC、 RSA 等算法。 使用者公钥和使用者私钥可以由使用 者终端生成,也可以由应用商城服务器 13 生成,还可以由签名服务器 12 生成,当由应用
商城服务器 13 生成使用者公钥和使用者私钥时,需要将使用者公钥和使用者私提供给使 用者终端,当由签名服务器 12 生成使用者公钥和使用者私钥时,需要将使用者公钥和使 用者私钥分别提供给应用商城服务器 13 和使用者终端。 应用商城证书也包含应用商城服 务器公钥,应用商城服务器公钥和应用商城服务器私钥通过预定非对称密钥算法生成, 可以由应用商城服务器 13 生成,也可以由签名服务器 12 生成后再提供给应用商城服务器 13。
应用商城服务器 13 向签名服务器 12 的使用者签名模块 121 提交使用者签名请求 和使用者证书,使用者签名模块 121 可以检测该使用者证书是否已经签名过,以决定是 否接受该使用者签名请求。 当使用者签名模块 121 对使用者证书进行签名具体可以为使 用者签名模块 121 通过签名服务器 12 的根证书对应的私钥对使用者证书进行签名。 签名 服务器 12 也可以通过应用商城证书对应的应用商城服务器私钥对使用者证书进行签名。 使用者签名模块 121 将签名后的使用者证书返回给应用商城服务器 13,应用商城服务器 13 再将该签名后的使用者证书返回给使用者终端。
签名服务器 12 的应用商城签名模块 122 具体可以根据以下签名方法对应用商城 证书进行签名 :应用商城签名模块 122 把应用商城证书的内容作为输入源,按照预设摘 要算法 ( 例如,SHA-1 算法 ),计算应用商城证书的摘要,得到摘要 A ;通过签名服务器 12 的根证书对应的私钥,按照预设摘要签名算法 ( 例如, ECC 算法 ),对摘要 A 进行签 名得到摘要 B ;应用商城签名模块 122 把摘要 B 加入到应用商城证书 A 的预设的位置, 得到签名后的应用商城证书。 签名后的应用商城证书的内容具体可以包括 :证书格式,可以采用 X.509 格 式 ;证书编码方法,可以使用 BASE64 ;签名算法,可以使用 WAPI ECC 算法 ;摘要算 法,可以采用缩微图算法 (SHA-1) ;证书序列号,可以是随机数,具体可以由签名服务 器 12 生成 ;证书主题,可以包括国家标识、应用商城服务器类型 ;证书的签名机构标 识,也即签名服务器 12 的标识 ;证书摘要,用于作为应用商城证书的依据。
签名服务器 12 也可以采用上述签名方法对使用者证书进行签名。
身份审核模块 133 和应用软件审核模块 134 分别对接收到的身份信息和应用软件 进行审核。 商品打包模块 135 根据身份审核模块 133 和应用软件审核模块 134 的审核结 果,通过密钥对应用软件中的应用程序文件进行加密,根据签名后的应用商城证书和加 密后的应用程序文件生成安装软件包。 授权许可模块 136 用于根据购买信息和密钥生成 授权许可文件。 下载模块 137 用于当接受使用者终端的下载请求时,将安装软件包和授 权许可文件提供给使用者终端,并指示使用者终端进行安装。 使用者终端具体可以根据 应用商城服务器 13 的指示通过应用商城证书对安装软件包进行安全验证,再根据授权许 可文件中的密钥对安装软件包中的应用程序文件解密后安装。 根据应用商城证书生成安 装软件包以供使用者终端对安装软件包进行安全认证,提高了应用程序文件分发过程中 的安全性。
应用软件控制平台实施例二
实施例二提供的应用软件控制平台是以实施例一为基础的,应用软件包括应用 程序文件和签名文件,签名文件包括根据应用程序文件生成的签名文件摘要,应用软件 审核模块 134 包括摘要审核单元,用于审核签名文件摘要的正确性,以确定应用程序文
件的正确性。 应用软件应该由应用商城服务器与开发者服务器约定的内容和方法生成, 当开发者服务器为应用商城服务器可信的应用软件提供实体时,事先应对应用软件和身 份信息的内容及生成方法有所约定,基于此,如果开发者服务器为应用商城服务器不可 信的应用软件提供实体,也会因为约定不同而无法对身份信息和应用软件进行审核。 当 身份信息和应用软件都通过审核时,商品打包模块就可以对应用软件中的应用程序文件 进行打包处理了。
图 2 为本发明实施例二提供的商品打包模块结构示意图,如图 2 所示,在本实施 例中,商品打包模块 135 包括指示单元 1351、加密单元 1352、摘要生成单元 1353、摘要 签名单元 1354 和软件包生成单元 1355。 指示单元 1351 用于根据审核结果产生打包指示 信息。 加密单元 1352 用于通过密钥对应用程序文件进行加密。 摘要生成单元 1353 用于 根据加密后的应用程序文件生成应用程序文件摘要,并根据应用程序文件摘要生成安装 签名文件摘要。 摘要签名单元 1354 通过应用商城证书对安装签名文件摘要进行签名。 软 件包生成单元 1355 根据签名后的安装签名文件和应用程序文件生成安装软件包。
应用商城服务器生成应用软件的过程具体可以为 :加密单元 1352 使用对称密钥 应用预设对称加密算法对应用程序文件进行加密,对称加密算法可以为 DES 算法。 摘要 生成单元 1353 把整个或部分加密后的应用程序文件的内容作为输入源,按照预设摘要算 法,生成应用程序文件摘要。 摘要签名单元 1354 将应用程序文件摘要的部分或全部内容 作为输入源,生成应用安装签名文件摘要,再通过应用商城服务器私钥对安装签名文件 摘要进行签名。
安装签名文件的内容可以包括 :
安装程序文件摘要相关的内容 :应用程序摘要的编码方式、标识与摘要内容 ;
摘要算法相关的内容 :摘要算法标识 ;
安装签名文件摘要相关的内容 :签名文件摘要的编码方式和摘要内容 ;
应用商城证书。
安装签名文件具体可以使用 XML 文档格式,应用签名文件的描述方法具体可以 如下所示 :
安装签名文件使用 XML 文档格式, UTF-8 编码 ;
应用商城证书使用 X509 格式, BASE64 编码 ;
摘要算法使用 WAPI-SHA1 算法, BASE64 编码 ;
签名的加密算法使用 ECC 算法, BASE64 编码。
图 3 为本发明实施例二提供的授权许可模块 136 结构示意图,如图 3 所示,在本 实施例中,授权许可模块 136 可以包括购买信息摘要生成单元 1361、购买信息摘要签名 单元 1362、解密信封生成单元 1363 和授权许可单元 1364。 购买信息摘要生成单元 1361 用于根据购买信息生成购买信息摘要。 购买信息摘要签名单元 1362 用于通过应用商城证 书对购买信息摘要进行签名。 解密信封生成单元 1363 用于通过使用者证书对密钥进行加 密,以生成解密信封。 授权许可单元 1364 用于根据购买信息、签名后的购买信息摘要 和解密信封生成授权许可文件。 生成授权许可文件过程具体可以为 :购买信息摘要生成 单元 1361 根据购买信息的部分或全部内容作为输入源,按预定摘要算法生成购买信息摘 要,购买信息具体为使用者终端提出具体的购买请求时所产生的信息,因此授权许可文件根据购买需求不同而不同。 购买信息摘要签名单元 1362 按照预定摘要加密算法,使用 应用商城证书对应的应用商城服务器私钥签名购买信息摘要,并把签名后的购买信息摘 要作为购买信息摘要。 解密信封生成单元 1363 通过使用者证书对应的使用者公钥对加密 应用程序文件的密钥进行加密,形成解密信封。 使用者终端可以通过使用者证书私钥解 密被加密的解密密钥。 授权许可单元 1364 再用于根据购买信息、签名后的购买信息摘要 和解密信封按照预设授权许可文件生成算法生成授权许可文件。
授权许可文件的内容可以包括 :
应用商城证书相关的内容 :应用商城证书的类型、应用商城证书的编码方式、 应用商城证书内容,应用商城证书作为签名证书 ;
购买信息的摘要签名相关的内容 :购买信息摘要的编码方式、标识与摘要内 容;
摘要算法相关的内容 :摘要算法标识,签名文件中使用的摘要算法相同。
解密信封相关的内容 :解密算法标识、编码方式、被加密的解密密钥。
授权许可的签名文件可以使用 XML 文档格式。 在本实施例中,具体可以使用以 下描述方法 :
授权许可文件使用 XML 文档格式, UTF-8 编码 ;
证书使用 X509 格式, BASE64 编码 ;
摘要算法使用 WAPI-SHA1 算法, BASE64 编码 ;
签名的加密算法使用 ECC 算法, BASE64 编码 ;
对称加密算法使用 DES 算法, BASE64 编码。
使用者终端从应用商城服务器下载安装软件包和授权许可文件,从安装软件包 中提取签名文件,再从签名文件中提取签名文件摘要,使用者终端使用应用商城服务器 公钥及预设摘要加密算法 ( 例如, ECC) 解密签名文件摘要,得到解密后的签名文件摘 要,使用应用商城证书对应的应用商城服务器公钥对签名文件摘要进行签名验证。 根据 签名文件摘要使用预设摘要算法 ( 例如, SHA-1) 计算应用程序文件摘要。
使用者终端根据全部或部分应用程序数据,使用预定摘要算法和应用程序数据 使用方法,计算应用程序文件摘要。 如果计算得到应用程序文件摘要与从签名文件中得 到应用程序文件摘要不同,则认为应用程序文件被篡改,不对应用程序文件进行安装。 如果相同,通过使用者证书对应的使用者私钥对对称密钥进行解密,再使用对称密钥对 应用程序文件进行解密,就可以安装应用程序文件了。
使用者终端实施例三
图 4 为本发明实施例三提供的使用者终端结构示意图,如图 4 所示,该使用者终 端 14 包括使用者申请模块 141、接收模块 142 和安装引擎模块 143,使用者申请模块 141 用于向应用商城服务器 13 提出申请请求和使用者申请信息,并接收应用商城服务器 13 返 回的使用者证书。 接收模块 142 用于接收应用商城服务器 13 提供的安装软件包和授权许 可文件。 安装引擎模块 143 用于根据应用商城服务器 13 的指示对接收到的安装软件包和 授权许可文件进行安装。
在本实施例中,授权许可文件包括购买信息、签名后的购买信息摘要和解密信 封,安装软件包包括应用程序文件和安装签名文件,安装引擎模块 143 可以包括信息提取单元 1431、软件提取单元 1432、安全检验单元 1433 和安装单元 1434。 信息提取单元 1431 用于提取授权许可文件中的购买信息、签名后的购买信息摘要和解密信封。 软件提 取单元 1432 用于提取安装软件中的应用程序文件和安装签名文件。 安全检验单元 1433 用于通过应用商城证书分别对签名后的购买信息摘要和签名后的应用程序文件摘要进行 检验,通过购买信息摘要对购买信息进行检验,通过安装签名文件对应用程序文件进行 检验,并产生检验报告。 安装单元 1434 用于根据检验报告,通过使用者证书对应的使用 者私钥对解密信封进行解密,以得到密钥,通过密钥对应用程序文件进行解密,并通过 购买信息安装应用程序文件。 购买信息中具体可以包括最长使用时间、最大安装次数、 是否可升级等信息,使用者终端 14 通过获取的密钥对应用程序文件解密成功后对应用程 序文件进行本地安装。
应用软件分发系统实施例四
本实施例提供的应用软件分发系统包括本发明任意实施例提供的应用软件控制 平台和本发明任意实施例提供的使用者终端。
应用软件分发方法实施例五
图 5 为本发明实施例五提供的应用软件分发方法流程图,如图 5 所示,该应用软 件分发方法包括 : 步骤 10、当签名服务器接受应用商城服务器的应用商城签名请求时,接收应 用商城证书,对应用商城证书进行签名,并向应用商城服务器返回签名后的应用商城证 书;
步骤 20、应用商城服务器对接收到的身份信息和应用软件进行审核 ;
步骤 30、应用商城服务器根据审核结果,通过密钥对应用软件中的应用程序文 件进行加密,并根据签名后的应用商城证书和加密后的应用程序文件生成安装软件包 ;
步骤 40、应用商城服务器根据购买信息和密钥生成授权许可文件 ;
步骤 50、当应用商城服务器接受使用者终端的下载请求时,将安装软件包和授 权许可文件提供给使用者终端,并指示使用者终端进行安装。
在本实施例中,步骤 10、签名服务器向应用商城服务器返回签名后的应用商城 证书之后,还包括 :
步骤 60、当应用商城服务器接受使用者终端的申请请求时,接收使用者申请信 息,根据使用者信息生成使用者证书,将使用者签名请求和使用者证书提供给签名服务 器;
步骤 70、当签名服务器接受使用者签名请求时,接收使用者证书,对使用者证 书进行签名,并向应用商城服务器返回签名后的使用者证书。
在本实施例中,应用软件包括应用程序文件和签名文件,签名文件包括根据应 用程序文件生成的签名文件摘要,应用商城服务器对接收到应用软件进行审核具体可以 为 :应用商城服务器通过审核签名文件摘要的正确性,以确定应用程序文件的正确性。 审核结果具体为身份信息和应用软件都通过审核。
本实施例提供的应用软件分发方法,应用商城服务器接收开发者服务器发送的 身份信息和应用软件时,要对身份信息和应用软件进行双重审核,当两者都通过审核时 才接收应用软件,并对应用软件中的应用程序文件重新打包成安装软件包,根据购买信
息生成授权许可文件,以供使用者终端根据需要下载。 当使用者终端下载完毕后,在应 用商城服务器的指示下对应用程序文件进行安装。 应用商城服务器对身份信息和应用软 件的双重审核,以及对应用程序文件的重新打包处理,提高了软件分发过程的安全性。
在本实施例中,如图 6 所示,步骤 30、应用商城服务器通过密钥对应用软件中 的应用程序文件进行加密,并根据签名后的应用商城证书和加密后的应用程序文件生成 安装软件包包括 :
步骤 301、应用商城服务器通过密钥对应用软件中的应用程序文件进行加密 ;
步骤 302、应用商城服务器根据加密后的应用程序文件生成应用程序文件摘要, 并根据应用程序文件摘要生成安装签名文件摘要 ;
步骤 303、应用商城服务器通过应用商城证书对安装签名文件摘要进行签名 ;
步骤 304、应用商城服务器根据签名后的安装签名文件和应用程序文件生成安装 软件包。
在本实施例中,如图 7 所示,步骤 40、应用商城服务器根据购买信息和密钥生 成授权许可文件包括 :
步骤 401、应用商城服务器根据购买信息生成购买信息摘要 ;
步骤 402、应用商城服务器通过应用商城证书对购买信息摘要进行签名 ; 步骤 403、应用商城服务器通过使用者证书对密钥进行加密,以生成解密信封; 步骤 404、应用商城服务器根据购买信息、签名后的购买信息摘要和解密信封生 成授权许可文件。
在本实施例中,如图 8 所示,应用商城服务器指示使用者终端进行安装包括 :
步骤 501、应用商城服务器指示使用者终端提取授权许可文件中的购买信息、签 名后的购买信息摘要和解密信封 ;
步骤 502、应用商城服务器指示使用者终端提取安装软件中的应用程序文件、签 名后应用程序文件摘要和应用商城证书 ;
步骤 503、应用商城服务器指示使用者终端通过应用商城证书分别对签名后的购 买信息摘要和签名后的应用程序文件摘要进行检验,通过购买信息摘要对购买信息进行 检验,通过应用程序文件摘要对应用程序文件进行检验,并产生检验报告 ;
步骤 504、应用商城服务器指示使用者终端根据检验报告,通过使用者证书对解 密信封进行解密,以得到密钥,通过密钥对应用程序文件进行解密,并通过购买信息安 装应用程序文件。
本发明提供的应用软件控制平台、开发者终端、分发系统及方法,通过对开发 者服务器提供的身份信息和应用软件进行双重审核,保证了应用软件来源的可靠性和安 全性,并重新对审核通过的应用程序文件进行打包以供使用者终端进行下载,提高了应 用软件分发过程的安全性。
最后应说明的是 :以上实施例仅用以说明本发明的技术方案,而非对其限制 ; 尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解 :其 依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同 替换 ;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案
的精神和范围。