软件升级系统及方法技术方案

技术编号:8387056 阅读:176 留言:0更新日期:2013-03-07 07:45
本发明专利技术涉及一种软件升级系统及方法。该方法包括以下步骤:客户端上报升级请求并发起鉴权请求;所述客户端根据所述鉴权请求从升级服务器得到第一验证内容,所述升级服务器将所述客户端发送的第一验证内容与所述升级服务器存储的第二验证内容进行比较验证,在通过验证后返回验证成功信息到所述客户端;所述升级服务器根据所述升级请求生成配置信息,并将所述配置信息进行数字签名且下发所述数字签名后的配置信息到所述客户端;所述客户端对所述配置信息进行签名验证,在所述配置信息被验证通过后从所述升级服务器下载升级数据包。上述软件升级系统及方法,通过双向身份验证,大大提高了软件升级的安全性。

【技术实现步骤摘要】

本专利技术涉及软件升级领域,特别涉及一种。
技术介绍
传统的网络架构是C/S (Client/Server,客户端/服务器),将客户端与服务器区分开。每一个客户端软件都可以向服务器或应用程序服务器发出请求。因大量的软件采用C/S架构,客户端的功能更新通常通过软件升级来实现。软件升级是指软件开发者在编写软件的时候,由于设计人员考虑不全面或程序功能不完善,在软件发行后,通过对程序的修改或加入新的功能后,以补丁的形式发布的方式。用户把这些补丁更新,即升级完成。软件升级是为了更好的满足用户的需求和防止病毒的入侵。软件升级通常分为手动升级和强制升级两种方式,手动升级是新版本发布后,客户端主动检查是否有新的版本,然后提示客户端是否需要升级;强制升级往往是服务商根据客户端版本分布和新版本的质量情况或者紧急漏洞修复,而进行的版本大规模升级。因为往往有些新的功能需要客户端配合升级到新的版本才使用,另外有些软件在发布后发现新的安全漏洞等原因,为了避免扩散造成更大的影响,需要客户端第一时间启动强制升级功能,将影响降低到最小的程度。升级只给合法的客户端使用。传统的软件升级过程是客户端启动时或获取用户主动发起升级请求,将本地软件配置等版本信息发送到服务器查询升级相关信息,并接收服务器返回的相关升级配置,根据升级配置下载升级数据包或补丁,并校验。由于软件的快速开发和迭代,版本更新和漏洞修复需要下载更新安装越来频繁。在软件升级过程中,下载升级的地址可能被劫持,即DNS (Domain Name System,域名系统)劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP (Internet Protocol,网络之间互连的协议)地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能反应或访问的是假网址。可能出现服务器身份不可靠,导致客户端在软件升级过程中受到攻击,软件升级安全性低。
技术实现思路
基于此,有必要提供一种软件升级系统,提高软件升级的安全性。—种软件升级系统,包括客户端和升级服务器,所述客户端用于上报升级请求到所述升级服务器;所述升级服务器用于根据所述升级请求生成配置信息,所述客户端还用于发起鉴权请求,根据所述鉴权请求从所述升级服务器得到第一验证内容,所述升级服务器还用于将所述第一验证内容与所述升级服务器上存储的第二验证内容进行比较验证,在通过验证后返回验证成功信息到所述客户端;所述升级服务器还用于将所述配置信息进行数字签名且下发所述数字签名后的配置信息到所述客户端;所述客户端还用于对所述配置信息进行签名验证,在所述配置信息被验证通过后从所述升级服务器下载升级数据包。优选地,所述客户端还用于在发起鉴权请求后,根据所述鉴权请求从所述升级服务器拉取命令脚本,执行所述命令脚本得到所述第一验证内容。优选地,所述客户端还用于存储返回的所述验证成功信息,以及在下次启动检测到所述验证成功信息时不上报本地信息到所述升级服务器进行验证,在下次启动未检测到所述验证成功信息时上报本地信息到所述升级服务器,所述升级服务器对所述本地信息进行验证,并在验证通过后将所述配置信息进行数字签名且下发所述数字签名后的配置信息到所述客户端。优选地,还包括统计服务器和升级配置服务器,所述统计服务器用于接收所述客户端上报的下载升级数据包的结果,并生成升级统计数据;所述升级配置服务器用于同步所述统计服务器的升级统计数据,并根据所述升级统计数据调整升级量的配置。优选地,所述升级服务器对所述配置信息进行数字签名是通过私钥对所述配置信息进行加密,所述客户端对所述配置信息进行签名验证前需通过公钥对所述配置信息进行解密。·此外,还有必要提供一种软件升级方法,提高软件升级的安全性。一种软件升级方法,包括以下步骤客户端上报升级请求并发起鉴权请求;所述客户端根据所述鉴权请求从升级服务器得到第一验证内容,所述升级服务器将所述客户端发送的第一验证内容与所述升级服务器存储的第二验证内容进行比较验证,在通过验证后返回验证成功信息到所述客户端;所述升级服务器根据所述升级请求生成配置信息,并将所述配置信息进行数字签名且下发所述数字签名后的配置信息到所述客户端;所述客户端对所述配置信息进行签名验证,在所述配置信息被验证通过后从所述升级服务器下载升级数据包。优选地,还包括步骤所述客户端在发起鉴权请求后,根据所述鉴权请求拉取命令脚本,执行所述命令脚本得到所述第一验证内容。优选地,还包括步骤所述客户端存储返回的所述验证成功信息;当下次启动检测是否存在所述验证成功信息,若是,则所述客户端不上报本地信息进行验证,若否,则所述客户端上报本地信息,所述升级服务器对所述本地信息进行验证,若验证通过,则将所述配置信息进行数字签名且下发所述数字签名后的配置信息到所述客户端,否则结束。优选地,还包括步骤统计服务器接收所述客户端上报下载升级数据包的结果,并生成升级统计数据;升级配置服务器同步所述升级统计数据,并根据所述升级统计数据调整升级量的配置。优选地,对所述配置信息进行数字签名的步骤为通过私钥对所述配置信息进行加密,对所述配置信息进行签名验证的步骤之前还包括步骤通过公钥对所述配置信息进行解密。上述,客户端发起鉴权请求,根据鉴权请求得到第一验证内容,升级服务器将第一验证内容与存储的第二验证内容进行比较验证,在通过验证后返回验证成功信息到客户端,实现了升级服务器对客户端身份的验证,升级服务器根据客户端的升级请求生成配置信息,并对配置信息进行数字签名,下发给客户端,客户端对配置信息进行签名验证,验证通过后才从升级服务器下载升级数据包,保证了升级服务器配置信息的合法性,实现了客户端对升级服务器身份的验证,通过双向身份验证,大大提高了软件升级的安全性。附图说明图I为一个实施例中软件升级系统的结构示意图;图2为另一个实施例中软件升级系统的结构示意图;图3为一个实施例中软件升级方法的流程图;图4为另一个实施例中软件升级方法的流程图。 具体实施方式下面结合具体的实施例及附图对的技术方案进行详细的描述。如图I所示,在一个实施例中,一种软件升级系统,包括客户端110和升级服务器120。客户端110用于上报升级请求到升级服务器120。为了保证客户端110的身份合法性,升级服务器120需对客户端110的身份合法性进行验证。客户端110还用于发起鉴权请求,根据该鉴权请求从升级服务器120得到第一验证内容。升级服务器120用于将该第一验证内容与升级服务器120上存储的第二验证内容进行比较验证,在通过验证后返回验证成功信息到客户端110。客户端110还用于在发起鉴权请求后,根据该鉴权请求从升级服务器120拉取命令脚本,执行该命令脚本得到第一验证内容,并将该第一验证内容发送给升级服务器120。其中,命令脚本为升级服务器120返回的内容,中间包含需要客户端110执行操作的具体定义,如要求客户端110将文件指定位置的偏移量发送给升级服务器120等。第一验证内容可为文件指定位置的偏移量。升级服务器120对第一验证内容与第二验证内容比较可通过计算两者的MD5值进行比较验证,若MD5值相符合,则验证成功。在优选的实施例中,客户端110还用于存储返回的该验证成功信息。在客户端110下次启本文档来自技高网
...

【技术保护点】
一种软件升级系统,包括客户端和升级服务器,所述客户端用于上报升级请求到所述升级服务器;所述升级服务器用于根据所述升级请求生成配置信息,其特征在于:所述客户端还用于发起鉴权请求,根据所述鉴权请求从所述升级服务器得到第一验证内容,所述升级服务器还用于将所述第一验证内容与所述升级服务器上存储的第二验证内容进行比较验证,在通过验证后返回验证成功信息到所述客户端;所述升级服务器还用于将所述配置信息进行数字签名且下发所述数字签名后的配置信息到所述客户端;所述客户端还用于对所述配置信息进行签名验证,在所述配置信息被验证通过后从所述升级服务器下载升级数据包。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘刚王福臣
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1