家庭网关软件远程自动升级的方法技术

技术编号:9697148 阅读:144 留言:0更新日期:2014-02-21 05:56
本发明专利技术公开了一种家庭网关软件远程自动升级的方法,通过OpenSSL产生私钥对,利用私钥对镜像文件进行签名并追加在尾部形成升级文件;服务器在升级文件的同一目录下存放升级条件验证文件;将证书授权中心CA颁发的包含有公钥的数字证书导入家庭网关中;家庭网关利用crond命令,定时触发升级功能模块,从服务器下载升级条件验证文件,并判断是否符合升级条件,符合则从服务器下载相应的升级文件并验证签名,验证通过进行升级,否则不升级。本发明专利技术,利用crond命令可以定时地自动从服务器下载升级文件,通过签名和验证签名确保镜像文件未被篡改,不需要人工手动升级,提高了工作效率。

【技术实现步骤摘要】

本专利技术涉及嵌入式终端软件的远程自动升级技术,具体涉及。
技术介绍
随着通信技术的不断发展,接入网的用户规模不断扩大。对于终端设备(家庭网关)的维护管理工作量也逐步上升,特别是家庭网关的升级管理。目前,家庭网关的软件更新主要以手动升级为主,需要手动将升级文件上传到设备上完成升级。手动升级运营维护成本高,管理效率低。因此,远程升级的需求应运而生。远程升级流程一般为:在服务器上存储升级文件,家庭网关可以访问到服务器,获取升级文件,并进行升级。这种远程升级的流程有以下两个缺陷:( I)何时进行升级需要人为触发;(2)升级文件通过网络传输,增大了升级文件被篡改的风险,攻击者(例如黑客或恶意用户)可以截取并篡改升级文件,并将篡改后的升级文件发送至家庭网关,家庭网关不进行任何合法性的验证直接升级,将导致升级失败或者升级了被篡改的内容。
技术实现思路
本专利技术所要解决的技术问题是家庭网关远程升级需要人为触发,且存在升级文件被篡改的风险的问题。为了解决上述技术问题,本专利技术所采用的技术方案是提供一种,包括以下步骤:在主机上安装OpenSSL,通过OpenSSL相关命令产生私钥对;所述私钥对包括私钥和公钥,私钥用于对镜像文件进行签名,通过OpenSSL相关命令产生包含公钥的证书请求文件,CA对证书请求文件签名形成数字证书,将数字证书导入家庭网关用于验证签名;在服务器上根据不同地区、不同设备类型、不同硬件版本建立目录,分别存放相应的升级文件,利用所述私钥对相应的镜像文件进行签名,然后将所述签名追加在相应的镜像文件的尾部形成所述升级文件;在所述升级文件的同一目录下存放着写有该地区、该设备类型、该硬件版本、最新软件版本号信息及其文件名的升级条件验证文件;利用crond命令,家庭网关定时触发升级功能模块,所述升级功能模块通过ftp客户端从所述服务器下载相应目录下的升级条件验证文件,并根据升级条件验证文件内容与本地设备信息判断是否符合升级条件,符合则从服务器下载相应的升级文件,否则不下载升级文件;验证下载的升级文件的签名,验证通过则证明镜像文件未被篡改,可以解析镜像文件并进行升级,否则不解析不升级。在上述方法中,所述镜像文件分头部和镜像区两部分,头部包括:设备类型、硬件版本号、软件版本号、CPU文件长度、固件文件长度、CPU文件循环冗余校验码效验值、固件文件循环冗余校验码效验值、头部循环冗余校验码效验值信息,头部长度为定值;镜像区可以添加CPU文件内容或固件文件内容,可以包含一个或多个文件,根据头部信息可知镜像区包含的文件及各文件长度。在上述方法中,使用OpenSSL的非对称加密算法RSA来实现签名和验证签名,摘要算法使用SHAl。在上述方法中,通过在家庭网关上配置ftp服务器的公网IP地址、用户名、密码和升级文件存放的路径,从而使家庭网关可访问服务器。在上述方法中,对家庭网关进行校作为crond的参照时间,所述crond是Iinux操作系统用来定期执行程序的命令,crond配置文件格式为“分时日月周命令”,表示某月某日某时某分执行某命令,执行的命令即为升级的命令。在上述方法中,升级功能模块的工作流程包括以下步骤:步骤71:通过ftp客户端从ftp服务器下载升级文件同目录下的升级条件验证文件;步骤72:升级功能模块将升级条件验证文件与本地设备的地区信息、设备类型、硬件版本、软件版本号进行对比,获得是否符合升级条件的判断结果,如果地区信息、设备类型、硬件版本信息匹配,且软件版本号不匹配,则转步骤73 ;否则说明不符合升级条件,不下载升级文件;步骤73:按照升级条件验证文件中提供的文件名通过ftp客户端下载升级文件到本地,并分解出镜像文件和签名为单独的文件;步骤74:从本地的数字证书中获取公钥;步骤75:用公钥验证升级文件的签名,如果验证签名通过则执行步骤76,否则退出升级;步骤76:解析镜像文件,进行家庭网关的升级。在上述方法中,步骤76中,所述镜像文件分别或同时包含CPU升级文件和固件升级文件,在升级之前,所述升级功能模块,检查升级的镜像文件中包含哪些文件,并根据头部信息将镜像区的CPU文件和固件文件分解为单独的文件,单独进行升级。本专利技术,利用crond命令可以定时地自动从服务器下载升级文件,通过验证签名确保镜像文件未被篡改,仅需人工设置定时升级的时间,设置服务器相关信息,发布签名的升级文件,剩下的工作不需要人工参与,就可实现自动升级可信任文件的功能,当有软件版本更新时,不需要人工手动升级,提高了工作效率。【附图说明】图1为本专利技术的流程图;图2为本专利技术中升级功能模块的流程图;图3为本专利技术中升级文件的结构示意图。【具体实施方式】本专利技术提供的,是这样实现的。在Iinux操作系统的主机上安装OpenSSL,搭建证书授权中心(CA, CertificationAuthority)。CA为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。此CA暂且认为是权威的,所以由它颁发的数字证书是可信任的。在服务器上根据不同地区、不同设备类型、不同硬件版本建立目录,分别存放相应的升级文件。升级文件包括镜像文件和签名,需先封装头部和镜像区形成镜像文件,利用私钥对镜像文件进行签名,然后将签名追加在镜像文件的尾部形成最终的升级文件,签名的目的是防止攻击者恶意截取并篡改镜像文件。镜像文件分头部和镜像区两部分,头部包括:设备类型、硬件版本号、软件版本号、CPU文件长度、固件文件长度、CPU文件CRC (Cyclic Redundancy Check,循环冗余校验码)效验值、固件文件CRC效验值、头部CRC效验值等信息,头部长度为定值。如图3所示,镜像区则可以添加CPU文件内容或固件文件内容,可以包含一个或多个文件,镜像区长度不固定,根据头部信息可知镜像区包含的文件及各文件长度。在升级文件的同一目录下存放着写有该地区、该设备类型、该硬件版本、最新软件版本号信息及其文件名的升级条件txt文件。在服务器上开启ftp服务端程序,使得家庭网关能通过ftp客户端获取升级文件。家庭网关作为升级的客户端,定时触发升级功能模块,升级功能模块通过ftp客户端先从服务器下载某目录下的升级条件验证文件(txt格式文件),并根据升级条件验证文件内容与本地设备信息判断是否符合升级条件,符合则从服务器下载相应的升级文件,否则不下载升级文件;验证下载的升级文件的签名,验证通过则证明镜像文件未被篡改,解析镜像文件进行升级,否则不解析不升级。下面结合说明书附图和具体实施例对本专利技术做出详细的说明。如图1所示,本专利技术提供的,包括以下步骤:步骤1:在安装有OpenSSL的Iinux主机上,通过OpenSSL相关命令产生私钥对。私钥对包括私钥和公钥,私钥用于对镜像文件进行签名,公钥是提供给家庭网关用于验证签名。步骤2:先合成镜像文件,然后调用OpenSSL相应接口对镜像文件进行签名。签名使用步骤I产生的私钥,签名的内容追加在镜像文件后面,即镜像文件与签名合成升级文件。对数据签名,实际就是对数据的摘要进行私钥加密,先对原始数据计算摘要,再对摘要进行私钥加密。本专利技术使用OpenSSL的非对称加密算法RSA来实现签名和验证签名,摘要算法本文档来自技高网...

【技术保护点】
家庭网关软件远程自动升级的方法,其特征在于,包括以下步骤:在主机上安装OpenSSL,通过OpenSSL相关命令产生私钥对;所述私钥对包括私钥和公钥,私钥用于对镜像文件进行签名,通过OpenSSL相关命令产生包含公钥的证书请求文件,CA对证书请求文件签名形成数字证书,将数字证书导入家庭网关用于验证签名;在服务器上根据不同地区、不同设备类型、不同硬件版本建立目录,分别存放相应的升级文件,利用所述私钥对相应的镜像文件进行签名,然后将所述签名追加在相应的镜像文件的尾部形成所述升级文件;在所述升级文件的同一目录下存放着写有该地区、该设备类型、该硬件版本、最新软件版本号信息及其文件名的升级条件验证文件;利用crond命令,家庭网关定时触发升级功能模块,所述升级功能模块通过ftp客户端从所述服务器下载相应目录下的升级条件验证文件,并根据升级条件验证文件内容与本地设备信息判断是否符合升级条件,符合则从服务器下载相应的升级文件,否则不下载升级文件;验证下载的升级文件的签名,验证通过则证明镜像文件未被篡改,可以解析镜像文件并进行升级,否则不解析不升级。

【技术特征摘要】
1.家庭网关软件远程自动升级的方法,其特征在于,包括以下步骤: 在主机上安装OpenSSL,通过OpenSSL相关命令产生私钥对;所述私钥对包括私钥和公钥,私钥用于对镜像文件进行签名,通过OpenSSL相关命令产生包含公钥的证书请求文件,CA对证书请求文件签名形成数字证书,将数字证书导入家庭网关用于验证签名; 在服务器上根据不同地区、不同设备类型、不同硬件版本建立目录,分别存放相应的升级文件,利用所述私钥对相应的镜像文件进行签名,然后将所述签名追加在相应的镜像文件的尾部形成所述升级文件;在所述升级文件的同一目录下存放着写有该地区、该设备类型、该硬件版本、最新软件版本号信息及其文件名的升级条件验证文件; 利用crond命令,家庭网关定时触发升级功能模块,所述升级功能模块通过ftp客户端从所述服务器下载相应目录下的升级条件验证文件,并根据升级条件验证文件内容与本地设备信息判断是否符合升级条件,符合则从服务器下载相应的升级文件,否则不下载升级文件; 验证下载的升级文件的签名,验证通过则证明镜像文件未被篡改,可以解析镜像文件并进行升级,否则不解析不升级。2.如权利要求1所述的方法,其特征在于,所述镜像文件分头部和镜像区两部分,头部包括:设备类型、硬件版本号、软件版本号、CPU文件长度、固件文件长度、CPU文件循环冗余校验码效验值、固件 文件循环冗余校验码效验值、头部循环冗余校验码效验值信息,头部长度为定值;镜像区可以添加CPU文件内容或固件文件内容,可以包含一个或多个文件,根据头部信息可知镜像区包含的文件及各文件长度。3.如权利要求1所述的方法,其特征在于,使用OpenSSL的非对称加...

【专利技术属性】
技术研发人员:陈芳王志军曾斌
申请(专利权)人:烽火通信科技股份有限公司
类型:发明
国别省市:

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

1