一种嵌入式升级文件传输方法与流程

文档序号:12039050阅读:203来源:国知局
一种嵌入式升级文件传输方法与流程
本发明涉及嵌入式通信系统的安全升级技术,特别涉及一种安全高效的升级文件传输方法。

背景技术:
嵌入式远程通信设备在运行过程当中,由于程序运行故障、功能需求增加、性能更新改进等原因,需要对远程的设备进行软件升级。在升级的过程当中,首先需要实现文件从服务端到嵌入式设备的远程传输。在复杂的网络通信环境下,存在着重要文件传输内容泄密、通信过程被监听、核心技术被窃取的可能性,也可能会出现对嵌入式网络设备的恶意攻击,因此保证升级文件传输的安全性至关重要。由于远程网络传输存在速度不稳定、传送延迟等因素,也需要特别考虑文件传输的可靠性,并提高升级文件传输效率。目前大多数嵌入式远程升级技术,没有对升级文件传输的安全性引发足够的重视,现有嵌入式升级文件传输的安全机制大多数只是对升级文件进行加密或者编码,文件传输只涉及服务端与客户端,缺乏完善的身份认证机制,对升级文件信息泄露也没有防范机制。对于处于网络核心地位的嵌入式通信设备,特别需要实现一套完善的升级文件传输方式。

技术实现要素:
本发明的目的在于提供一种基于差分文件编码、可靠校验机制及安全身份验证的升级文件传输方法。为了达到上述目的,本发明的技术方案为:一种嵌入式升级文件传输方法,其步骤包括:1)升级服务器生成升级文件信息和加密密钥同时向第三方网络管理服务器发送解密公钥;2)所述第三方网络管理服务器与所述升级客户端建立连接,将所述客户端升级文件信息、升级服务器地址以及解密公钥发送到所述升级客户端;3)所述升级客户端发送升级请求到升级服务器,根据所述升级服务器地址与所述升级服务器建立连接,根据所述客户端升级文件信息获取升级服务器上的差异文件,根据所述解密公钥解密出校验值,校验成功后传输文件完成升级。更进一步,所述升级客户端用接收到的差异文件与本地版本按照如下方法还原出更新版本文件:所述升级客户端首先读取差异文件的起始块的版本信息,如果是当前版本,则根据块的首地址和块长度从当前版本文件复制数据到还原文件;其次,如果是更新版本,则根据其块长度,从差异文件中复制数据到还原文件;最后,依次还原每一个块,直到差异文件结束。更进一步,按照如下方法比对所述还原文件的校验码和解密后的校验码:1)客户端利用公钥解密接收到的加密校验码,并选择散列函数计算还原文件的散列值;2)比对解密后的校验码与散列值是否一致,若相同,则文件传输信息完整,文件发送方身份为安全;3)如果不相同,说明文件传输有错误,文件重新传输。更进一步,所述散列函数为MD5、SHA。更进一步,所述差异文件的生成方法是:在升级服务器中将升级文件信息中更新版本文件以若干个字节为一块等分为若干块,并逐块与当前版本文件比较。更进一步,所述比对方法为:1)计算各个块的弱Hash值和强Hash值,并分别存为Hash表;2)比对当前版本字符块与更新版本字符块的前几个字符,如果匹配,则依次比对其弱Hash值和强Hash值,如果都匹配,则保存当前版本字符块在当前版本文件的首地址、块长度和版本标记到差异文件中;3)如果更新版本字符块找不到匹配的块,则保存更新版本字符块的长度、版本标记和该块的内容到差异文件中。更进一步,所述加密和/或解密密钥是通过随机方式产生的RSA或ECC私钥和/或公钥。更进一步,所述升级服务器地址与所述升级服务器建立TCP连接。更进一步,所述第三方网络管理服务器与所述升级客户端根据通过安全身份认证的网络管理系统建立通信连接并发送信息。更进一步,所述发送信息经过DES、AES加密算法加密。有益效果:本发明公开的嵌入式升级文件传输方法,解决了现有的嵌入式升级文件传输安全度低,容易受攻击,缺乏文件信息泄露防范等缺点,具有传输效率高,传输安全系数高,信息保密,身份认证机制较完善等优点。附图说明图1是本发明安全的嵌入式升级文件传输方法一实施例中流程示意图;图2是本发明安全的嵌入式升级文件传输方法一实施例中文件传输流程示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,可以理解的是,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图1所示是本发明安全的嵌入式升级文件传输方法一实施例中流程示意图;本发明的技术方案为一种安全传输方式涉及第三方网络管理服务器、升级主机服务器和升级客户端。本发明中,第三方网络管理服务器负责通知升级客户端所升级的文件信息、升级服务器地址信息和解密的公钥,方法如下:第三方网络管理服务器(凡是与客户端能进行安全身份认证的具有网络管理功能的服务器)与客户端之间通过具有安全身份认证的网络管理系统建立安全的通信渠道,所发送的信息需经过高安全级别加密算法加密,可以包括DES、AES加密算法。网络管理系统是一个软硬件结合以软件为主的分布式网络应用系统,其目的是管理网络,使网络高效正常运行。网络管理功能一般分为性能管理,配置管理,安全管理,计费管理和故障管理等五大管理功能。网络管理对象一般包括路由器,交换机,HUB等。近年来,网络管理对象有扩大化的趋势,即把网络中几乎所有的实体:网络设备,应用程序,服务器系统,辅助设备如UPS电源等都作为被管对象。给网络系统管理员提供一个全面系统的网络视图。升级服务器与第三方网络管理服务器同属管理中心,管理中心负责嵌入式客户端的网络管理和升级工作,管理中心工作人员可以同时管理升级服务器与第三方网络管理服务器,所发放的公钥由升级服务器生成并告知第三方网络管理服务器。本发明一实施例中,升级服务器收到客户端升级请求后,向其传输所升级文件的客户端当前版本与更新版本之间的差异部分文件,以及加密后的校验信息,其中需要将升级文件转换成二进制文件形式。本发明一实施例中,差异文件的生成方法是:在升级服务器中将更新版本文件以若干个字节为一块等分为若干块,并逐块与当前版本文件比较。所述比较方法如下:首先计算各个块的弱Hash值和强Hash值,并分别存为Hash表;弱Hash值指两个字符 块哈希值的碰撞概率较高,但计算速度较快。强Hash值指两个字符块哈希值的碰撞概率很低,但计算速度较慢。本发明一实施例中,比对当前版本字符块与更新版本字符块的前几个字符,如果匹配,依次比对其弱Hash值和强Hash值,如果都匹配,则保存当前版本字符块在当前版本文件的首地址、块长度和版本标记到差异文件中。如果更新版本字符块找不到匹配的块,则保存更新版本字符块的长度、版本标记和该块的内容到差异文件中。如此则生成了差异文件。本发明一实施例中,所述加密和解密密钥分别是通过随机方式产生的RSA或ECC(椭圆曲线加密算法)私钥和公钥,在升级服务器中用RSA或ECC私钥加密校验信息,并向第三方网络管理服务器发送RSA或ECC公钥。本发明一实施例中,校验信息是利用MD5、SHA等散列函数对更新版本文件计算其散列值,具体算法选择根据客户端计算速度而定。本发明一实施例中,客户端用接收到的差异文件与本地版本还原出更新版本文件,比对其校验码和解密后的校验码。本发明一实施例中,还原方法是客户端首先读取差异文件的起始块的版本信息,如果是当前版本,则根据块的首地址和块长度从当前版本文件复制数据到还原文件;如果是更新版本,则根据其块长度,从差异文件中复制数据到还原文件。如此依次还原每一个块,直到差异文件结束。本发明一实施例中,比对校验码方法是首先客户端利用公钥解密接收到的加密校验码,然后用所选择的散列函数计算还原文件的散列值,比对解密后的校验码与散列值是否一致。如果相同,则文件传输信息是完整的,文件发送方身份是安全的;如果不相同,说明文件传输有错误,需重新传输。实施例:图2是本发明安全的嵌入式升级文件传输方法一实施例中文件传输流程示意图。升级系统需要升级客户端的内核映像文件,升级服务器给第三方snmp网管系统服务器发送RSA公钥,以及内核映像文件信息;第三方snmp网管系统服务器调用客户端的snmp代理,通过snmp代理调用升级客户端程序,向其发送内核映像的更新文件名kernel_new,更新文件版本1,升级服务器IP地址,及RSA公钥,snmp协议会对其发送的信息进行安全加密。升级客户端被调用后,保存接收到的升级文件信息和RSA公钥,向升级服务器建立TCP连接,发出请求信息,包括升级的文件名kernel_new和升级文件版本1,当前文件版本0。服务器收到请求信息,找到该文件,获取其更新版本1和当前版本0的差异文件,计算更新版本内核的MD5散列函数值,并用RSA私钥加密,然后向客户端发送内核差异文件和加密后 的散列值(即校验码)。升级服务器在升级前就随机产生RSA密钥,并一直运行升级服务程序,其内核差异文件也可以在升级之前就预先生成。客户端接收到内核差异文件和加密校验码,首先还原出内核更新文件,计算其MD5散列值;然后客户端用RSA公钥,对收到的校验码解密,将解密后的校验码与本地计算的MD5散列值比较。如果相同,则向第三方网络管理服务器返回升级成功信号;如果不同,则重新传输内核文件,传输N次后仍然失败,则向第三方网络管理服务器返回升级失败信号。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1