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

文档序号:7777043阅读:671来源:国知局
家庭网关软件远程自动升级的方法
【专利摘要】本发明公开了一种家庭网关软件远程自动升级的方法,通过OpenSSL产生私钥对,利用私钥对镜像文件进行签名并追加在尾部形成升级文件;服务器在升级文件的同一目录下存放升级条件验证文件;将证书授权中心CA颁发的包含有公钥的数字证书导入家庭网关中;家庭网关利用crond命令,定时触发升级功能模块,从服务器下载升级条件验证文件,并判断是否符合升级条件,符合则从服务器下载相应的升级文件并验证签名,验证通过进行升级,否则不升级。本发明,利用crond命令可以定时地自动从服务器下载升级文件,通过签名和验证签名确保镜像文件未被篡改,不需要人工手动升级,提高了工作效率。
【专利说明】家庭网关软件远程自动升级的方法
【技术领域】
[0001]本发明涉及嵌入式终端软件的远程自动升级技术,具体涉及家庭网关软件远程自动升级的方法。
【背景技术】
[0002]随着通信技术的不断发展,接入网的用户规模不断扩大。对于终端设备(家庭网关)的维护管理工作量也逐步上升,特别是家庭网关的升级管理。
[0003]目前,家庭网关的软件更新主要以手动升级为主,需要手动将升级文件上传到设备上完成升级。手动升级运营维护成本高,管理效率低。因此,远程升级的需求应运而生。
[0004]远程升级流程一般为:在服务器上存储升级文件,家庭网关可以访问到服务器,获取升级文件,并进行升级。这种远程升级的流程有以下两个缺陷:
[0005]( I)何时进行升级需要人为触发;
[0006](2)升级文件通过网络传输,增大了升级文件被篡改的风险,攻击者(例如黑客或恶意用户)可以截取并篡改升级文件,并将篡改后的升级文件发送至家庭网关,家庭网关不进行任何合法性的验证直接升级,将导致升级失败或者升级了被篡改的内容。

【发明内容】

[0007]本发明所要解决的技术问题是家庭网关远程升级需要人为触发,且存在升级文件被篡改的风险的问题。
[0008]为了解决上述技术问题,本发明所采用的技术方案是提供一种家庭网关软件远程自动升级的方法,包括以下步骤:
[0009]在主机上安装OpenSSL,通过OpenSSL相关命令产生私钥对;所述私钥对包括私钥和公钥,私钥用于对镜像文件进行签名,通过OpenSSL相关命令产生包含公钥的证书请求文件,CA对证书请求文件签名形成数字证书,将数字证书导入家庭网关用于验证签名;
[0010]在服务器上根据不同地区、不同设备类型、不同硬件版本建立目录,分别存放相应的升级文件,利用所述私钥对相应的镜像文件进行签名,然后将所述签名追加在相应的镜像文件的尾部形成所述升级文件;在所述升级文件的同一目录下存放着写有该地区、该设备类型、该硬件版本、最新软件版本号信息及其文件名的升级条件验证文件;
[0011]利用crond命令,家庭网关定时触发升级功能模块,所述升级功能模块通过ftp客户端从所述服务器下载相应目录下的升级条件验证文件,并根据升级条件验证文件内容与本地设备信息判断是否符合升级条件,符合则从服务器下载相应的升级文件,否则不下载升级文件;
[0012]验证下载的升级文件的签名,验证通过则证明镜像文件未被篡改,可以解析镜像文件并进行升级,否则不解析不升级。
[0013]在上述方法中,所述镜像文件分头部和镜像区两部分,头部包括:设备类型、硬件版本号、软件版本号、CPU文件长度、固件文件长度、CPU文件循环冗余校验码效验值、固件文件循环冗余校验码效验值、头部循环冗余校验码效验值信息,头部长度为定值;镜像区可以添加CPU文件内容或固件文件内容,可以包含一个或多个文件,根据头部信息可知镜像区包含的文件及各文件长度。
[0014]在上述方法中,使用OpenSSL的非对称加密算法RSA来实现签名和验证签名,摘要算法使用SHAl。
[0015]在上述方法中,通过在家庭网关上配置ftp服务器的公网IP地址、用户名、密码和升级文件存放的路径,从而使家庭网关可访问服务器。
[0016]在上述方法中,对家庭网关进行校作为crond的参照时间,所述crond是Iinux操作系统用来定期执行程序的命令,crond配置文件格式为“分时日月周命令”,表示某月某日某时某分执行某命令,执行的命令即为升级的命令。
[0017]在上述方法中,升级功能模块的工作流程包括以下步骤:
[0018]步骤71:通过ftp客户端从ftp服务器下载升级文件同目录下的升级条件验证文件;
[0019]步骤72:升级功能模块将升级条件验证文件与本地设备的地区信息、设备类型、硬件版本、软件版本号进行对比,获得是否符合升级条件的判断结果,如果地区信息、设备类型、硬件版本信息匹配,且软件版本号不匹配,则转步骤73 ;否则说明不符合升级条件,不下载升级文件;
[0020]步骤73:按照升级条件验证文件中提供的文件名通过ftp客户端下载升级文件到本地,并分解出镜像文件和签名为单独的文件;
[0021]步骤74:从本地的数字证书中获取公钥;
[0022]步骤75:用公钥验证升级文件的签名,如果验证签名通过则执行步骤76,否则退出升级;
[0023]步骤76:解析镜像文件,进行家庭网关的升级。
[0024]在上述方法中,步骤76中,所述镜像文件分别或同时包含CPU升级文件和固件升级文件,在升级之前,所述升级功能模块,检查升级的镜像文件中包含哪些文件,并根据头部信息将镜像区的CPU文件和固件文件分解为单独的文件,单独进行升级。
[0025]本发明,利用crond命令可以定时地自动从服务器下载升级文件,通过验证签名确保镜像文件未被篡改,仅需人工设置定时升级的时间,设置服务器相关信息,发布签名的升级文件,剩下的工作不需要人工参与,就可实现自动升级可信任文件的功能,当有软件版本更新时,不需要人工手动升级,提高了工作效率。
【专利附图】

【附图说明】
[0026]图1为本发明的流程图;
[0027]图2为本发明中升级功能模块的流程图;
[0028]图3为本发明中升级文件的结构示意图。
【具体实施方式】
[0029]本发明提供的家庭网关软件远程自动升级的方法,是这样实现的。
[0030]在Iinux操作系统的主机上安装OpenSSL,搭建证书授权中心(CA, CertificationAuthority)。CA为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥。此CA暂且认为是权威的,所以由它颁发的数字证书是可信任的。
[0031]在服务器上根据不同地区、不同设备类型、不同硬件版本建立目录,
[0032]分别存放相应的升级文件。升级文件包括镜像文件和签名,需先封装头部和镜像区形成镜像文件,利用私钥对镜像文件进行签名,然后将签名追加在镜像文件的尾部形成最终的升级文件,签名的目的是防止攻击者恶意截取并篡改镜像文件。镜像文件分头部和镜像区两部分,头部包括:设备类型、硬件版本号、软件版本号、CPU文件长度、固件文件长度、CPU文件CRC (Cyclic Redundancy Check,循环冗余校验码)效验值、固件文件CRC效验值、头部CRC效验值等信息,头部长度为定值。如图3所示,镜像区则可以添加CPU文件内容或固件文件内容,可以包含一个或多个文件,镜像区长度不固定,根据头部信息可知镜像区包含的文件及各文件长度。
[0033]在升级文件的同一目录下存放着写有该地区、该设备类型、该硬件版本、最新软件版本号信息及其文件名的升级条件txt文件。
[0034]在服务器上开启ftp服务端程序,使得家庭网关能通过ftp客户端获取升级文件。
[0035]家庭网关作为升级的客户端,定时触发升级功能模块,升级功能模块通过ftp客户端先从服务器下载某目录下的升级条件验证文件(txt格式文件),并根据升级条件验证文件内容与本地设备信息判断是否符合升级条件,符合则从服务器下载相应的升级文件,否则不下载升级文件;验证下载的升级文件的签名,验证通过则证明镜像文件未被篡改,解析镜像文件进行升级,否则不解析不升级。
[0036]下面结合说明书附图和具体实施例对本发明做出详细的说明。
[0037]如图1所示,本发明提供的家庭网关软件远程自动升级的方法,包括以下步骤:
[0038]步骤1:在安装有OpenSSL的Iinux主机上,通过OpenSSL相关命令产生私钥对。私钥对包括私钥和公钥,私钥用于对镜像文件进行签名,公钥是提供给家庭网关用于验证签名。
[0039]步骤2:先合成镜像文件,然后调用OpenSSL相应接口对镜像文件进行签名。签名使用步骤I产生的私钥,签名的内容追加在镜像文件后面,即镜像文件与签名合成升级文件。
[0040]对数据签名,实际就是对数据的摘要进行私钥加密,先对原始数据计算摘要,再对摘要进行私钥加密。本发明使用OpenSSL的非对称加密算法RSA来实现签名和验证签名,摘要算法使用SHAl。
[0041]步骤3:在安装有OpenSSL的Iinux主机上,通过OpenSSL相关命令产生包含有公钥的证书请求文件,并交给CA。
[0042]步骤4:CA对证书请求文件签名形成数字证书,并将数字证书导入家庭网关,即该数字证书是经过CA认证过的公钥。
[0043]步骤5:在家庭网关上配置ftp服务器的公网IP地址、用户名、密码和升级文件存放的路径,家庭网关也需要有公网IP,从而使家庭网关可访问服务器。
[0044]步骤6:将家庭网关连接到网络对家庭网关进行校时,使得家庭网关的当前时间和选择的地区时间一致,比如北京时间。打开远程自动升级功能的开关,设置crond的配置文件。crond是Iinux用来定期执行程序的命令,家庭网关上电需启动crond, crond命令会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。cixmd配置文件格式如“分时日月周命令”,表示某月某日某时某分执行某命令,执行的命令即为升级的命令,crond将在设置的时间启动升级功能模块。比如可以设定每月25号凌晨3点升级,定时文件格式为“O 3 25 * *命令”,其中命令即为启动升级功能模块的命令。
[0045]步骤7:根据设定的自动升级时间,自动触发升级功能模块对家庭网关进行远程自动升级。
[0046]升级功能模块的工作流程如图2所示,包括以下步骤:
[0047]步骤71:通过ftp客户端从ftp服务器下载升级文件同目录下的升级条件验证文件。
[0048]步骤72:升级功能模块分析该升级条件验证文件,将其和本地设备的地区信息、设备类型、硬件版本、软件版本号对比,判断是否符合升级条件,如果地区信息、设备类型、硬件版本信息匹配,且软件版本号不匹配,则说明符合升级条件,转步骤73 ;否则说明不符合升级条件,不下载升级文件。即允许硬件条件匹配的情况下,升级软件版本或倒退软件版本,其他情况不下载升级文件也不升级。
[0049]步骤73:按照升级条件验证文件提供的文件名继续通过ftp客户端下载升级文件到本地,升级文件结构如图3所示,升级功能模块会解析升级文件的头部,根据头部提供的信息,分解出镜像文件和签名为单独的文件。
[0050]步骤74:从本地的数字证书中获取公钥。
[0051]步骤75:用公钥验证镜像文件的签名,如果验证签名通过则执行步骤76,否则退出升级。
[0052]验证的过程是对原始消息计算摘要,解密签名值,解密签名值得到的摘要和计算的摘要对比是否一致。如果一致,说明签名有效;否则认为原文或签名值被篡改。
[0053]步骤76:镜像文件可以分别或同时包含CPU升级文件和固件升级文件,在升级之前,升级功能模块检查升级的镜像文件中包含哪些文件,并根据头部信息将镜像区的CPU文件和固件文件分解为单独的文件,单独进行升级。
[0054]本发明中,数据签名结合数字证书可以实现身份认证、防篡改、防抵赖的功能。
[0055]本发明不局限于上述最佳实施方式,任何人应该得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。
【权利要求】
1.家庭网关软件远程自动升级的方法,其特征在于,包括以下步骤: 在主机上安装OpenSSL,通过OpenSSL相关命令产生私钥对;所述私钥对包括私钥和公钥,私钥用于对镜像文件进行签名,通过OpenSSL相关命令产生包含公钥的证书请求文件,CA对证书请求文件签名形成数字证书,将数字证书导入家庭网关用于验证签名; 在服务器上根据不同地区、不同设备类型、不同硬件版本建立目录,分别存放相应的升级文件,利用所述私钥对相应的镜像文件进行签名,然后将所述签名追加在相应的镜像文件的尾部形成所述升级文件;在所述升级文件的同一目录下存放着写有该地区、该设备类型、该硬件版本、最新软件版本号信息及其文件名的升级条件验证文件; 利用crond命令,家庭网关定时触发升级功能模块,所述升级功能模块通过ftp客户端从所述服务器下载相应目录下的升级条件验证文件,并根据升级条件验证文件内容与本地设备信息判断是否符合升级条件,符合则从服务器下载相应的升级文件,否则不下载升级文件; 验证下载的升级文件的签名,验证通过则证明镜像文件未被篡改,可以解析镜像文件并进行升级,否则不解析不升级。
2.如权利要求1所述的方法,其特征在于,所述镜像文件分头部和镜像区两部分,头部包括:设备类型、硬件版本号、软件版本号、CPU文件长度、固件文件长度、CPU文件循环冗余校验码效验值、固件 文件循环冗余校验码效验值、头部循环冗余校验码效验值信息,头部长度为定值;镜像区可以添加CPU文件内容或固件文件内容,可以包含一个或多个文件,根据头部信息可知镜像区包含的文件及各文件长度。
3.如权利要求1所述的方法,其特征在于,使用OpenSSL的非对称加密算法RSA来实现签名和验证签名,摘要算法使用SHAl。
4.如权利要求1所述的方法,其特征在于,通过在家庭网关上配置ftp服务器的公网IP地址、用户名、密码和升级文件存放的路径,从而使家庭网关可访问服务器。
5.如权利要求1所述的方法,其特征在于,对家庭网关进行校作为crond的参照时间,所述crond是Iinux操作系统用来定期执行程序的命令,crond配置文件格式为“分时日月周命令”,表示某月某日某时某分执行某命令,执行的命令即为升级的命令。
6.如权利要求1所述的方法,其特征在于,升级功能模块的工作流程包括以下步骤: 步骤71:通过ftp客户端从ftp服务器下载升级文件同目录下的升级条件验证文件; 步骤72:升级功能模块将升级条件验证文件与本地设备的地区信息、设备类型、硬件版本、软件版本号进行对比,获得是否符合升级条件的判断结果,如果地区信息、设备类型、硬件版本信息匹配,且软件版本号不匹配,则转步骤73 ;否则说明不符合升级条件,不下载升级文件; 步骤73:按照升级条件验证文件中提供的文件名通过ftp客户端下载升级文件到本地,并分解出镜像文件和签名为单独的文件; 步骤74:从本地的数字证书中获取公钥; 步骤75:用公钥验证镜像文件的签名,如果验证签名通过则执行步骤76,否则退出升级; 步骤76:解析镜像文件,进行家庭网关的升级。
7.如权利要求6所述的方法,其特征在于,步骤76中,所述镜像文件分别或同时包含(PU 升级文件和固件升级文件,在升级之前,所述升级功能模块检查升级的镜像文件中包含哪些文件,并根据头部信息将镜像区的CPU文件和固件文件分解为单独的文件,单独进行升级。
【文档编号】H04L29/08GK103595802SQ201310582893
【公开日】2014年2月19日 申请日期:2013年11月19日 优先权日:2013年11月19日
【发明者】陈芳, 王志军, 曾斌 申请人:烽火通信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1