一种文件下载方法及系统的制作方法

文档序号:7889132阅读:230来源:国知局
专利名称:一种文件下载方法及系统的制作方法
技术领域
本发明涉及通信领域,具体涉及一种文件下载方法及系统。
背景技术
通信网络管理中,文件传输协议(FTP协议:File Transfer Protocol)由于其传输速度快,效率高而得到较为广泛的应用。同大多数Internet服务一样,FTP也是一个客户/服务器系统。用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器,而连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。随着技术的进步,运营商对网络管理的安全性要求越来越高。虽然FTP协议的传输效率较高,但其安全性是很低,所以SFTP (Secure FTP),FTPS (FTP over SSL)等协议逐渐取代了传统的FTP协议。虽然SFTP、FTPS等协议在安全性上得到了提升,但是这类协议安全性的提升是以效率的降低为代价的,造成了速度降低,容量减小等问题,而传输效率的降低对于大网络管理来说往往是致命的。FTP服务器和FTP客户端的处理能力相 对于传输的速度是充足的,所以传输速度是一个瓶颈,如果使用SFTP、FTPS等安全协议,则无疑会加剧这个瓶颈的制约作用。另外,使用SFTP、FTPS等安全协议也并非绝对安全。对于版本文件这样的敏感信息,通过简单的中间人劫持会话,就可以将加密的数据文件存储,然后从容地通过暴力破解。综上所述,现有网络管理中,文件传输的效率和安全性都还有待进一步改进。

发明内容
本发明要解决的主要技术问题是,提供一种可同时提高文件传输的效率及安全性能的文件下载方法及系统。为解决上述技术问题,本发明提供一种文件下载方法,包括:网管系统获取原始文件,对所述原始文件进行加密得到加密文件和相应的加密参数;所述网管系统将所述加密文件通过文件传输链路发送给设备系统,将所述加密参数通过安全链路发送给所述设备系统;所述设备系统获取到所述加密文件和加密参数后,根据所述加密参数对所述加密文件进行解密,得到所述原始文件。在本发明的一种实施例中,网管系统对其获取的原始文件进行加密的过程包括:网管系统将获取的原始文件按预设划分规则划分为N个片段,所述N为大于等于I的整数;网管系统对所述N个片段进行加密、重组,得到加密文件,并得到用于记录各加密后的片段在加密文件中的位置信息的片段标记集合以及用于记录各片段密钥的密钥集合;所述加密参数包括所述片段标记集合和所述密钥集合。在本发明的一种实施例中,所述预设划分规则为对原始文件进行随机划分,得到的每个片段的长度大于等于最小加密数据块的长度。在本发明的一种实施例中,所述网管系统对所述N个片段进行加密、重组包括:为每个片段生成密钥;采用与各片段对应的密钥对各片段进行加密;根据拆分前的顺序将加密后的各片段重新组合,得到加密文件。在本发明的一种实施例中,所述设备系统根据所述加密参数对所述加密文件进行解密包括:根据所述片段标记集合将所述加密文件划分成N个片段;根据所述密钥集合中各片段对应的密钥,对各片段进行解密;将解密后的各片段按拆分前的顺序进行重组,得到原始文件。在本发明的一种实施例中,所述网管系统通过文件传输协议将所述加密文件通过文件传输链路发送给设备系统;所述网管系统将加密文件的传输路径和文件传输协议相关参数通过所述安全链路发送给所述设备系统。本发明还提供了一种文件下载系统,包括:网管系统获:文件获取装置、加密装置和文件发送装置,所述文件获取装置用于取原始文件,所述加密装置用于对所述原始文件进行加密得到加密文件和相应的加密参数;所述文件发送装置 用于将所述加密文件通过文件传输链路发送给设备系统,将所述加密参数通过安全链路发送给所述设备系统;设备系统:包括文件接收装置、解密装置和至少一个客户端,所述客户端用于从所述网管系统下载所述加密文件;所述文件接收装置用于从所述网管系统获取所述加密参数;所述解密装置用于根据所述加密参数对所述加密文件进行解密,得到原始文件。在本发明的一种实施例中,所述加密装置包括划分模块、参数获取模块和加密模块:所述划分模块用于将获取的原始文件按预设划分规则划分为N个片段,所述N为大于等于I的整数;所述参数获取模块用于获取用于记录各加密后的片段在加密文件中的位置信息的片段标记集合以及用于记录各片段密钥的密钥集合;还用于根据各片段的密钥,得到密钥集合;所述加密参数包括所述片段标记集合和所述密钥集合;所述加密模块用于对所述N个片段进行加密、重组,得到加密文件。 在本发明的一种实施例中,所述加密模块对所述N个片段进行加密、重组包括:加密模块为每个片段生成密钥;加密模块采用与各片段对应的密钥对各片段进行加密;加密模块根据拆分前的顺序将加密后的各片段重新组合,得到加密文件。在本发明的一种实施例中,所述解密装置根据所述加密参数对所述加密文件进行解密包括:解密装置根据所述片段标记集合将所述加密文件划分成N个片段;解密装置根据所述密钥集合中各片段对应的密钥,对各片段进行解密;
解密装置将解密后的各片段按拆分前的顺序进行重组,得到原始文件。在本发明的一种实施例中,所述文件发送装置包括文件传输服务器,所述文件发送装置通过所述文件传输服务器将所述加密文件通过文件传输链路发送给设备系统。本发明的有益效果是:本发明中的网管系统获取原始文件,然后对获取的原始文件进行加密得到加密文件和相应的加密参数;并将得到加密文件通过文件传输链路发送给设备系统,将得到的加密参数通过安全链路发送给所述设备系统;设备系统获通过上述不同的路劲或取到加密文件和加密参数后,根据加密参数对加密文件进行解密,即可得到原始文件。采用该方案至少具备以下有益效果:1、传输效率得到明显的提升:现有的SFTP、FTPS等安全协议采用的是一边下载原始文件一边加密的方案,因此下载速度和系统容量等方面都受到了很大限制,再加上密钥协商的过程,建立FTP连接也需要较长的时间,进一步限制了文件传输的效率。本发明则是将对原始文件加密过程和传输过程分离,具体是先下载完原始文件,然后对其进行加密,并将加密文件和相关的加密参数通过不同的链路进行传送,使得文件下载可以脱离SFTP、FTPS等安全协议,而直接使用传输速度较快的协议(例如FTP协议),可提高文件传输的效率,而且在文件传输过程中不需要加密解密数据,可进一步提高文件传输的效率;在实际使用中,通常是对文件进行一次加密后,多个客户端同时下载,可进一步缩短传输时间,提高传输效率。2、传输的安全性能得到提升:安全通讯协议,应对的攻击主要有三类:窃密,篡改,假冒。(I)对于窃密,硬件设备的发展,使得原有的安全加密算法不断失效;应对此类攻击的最简单办法就是加长密钥。由于本发明不是在传输过程中加密/解密,而是在传输前和传输完成后分别进行加、解密,不受实时性限制,所以密钥长度可以比SFTP、FTPS等安全协议的密钥长。因此安全性 得到提高。(2)对于篡改,MD5等算法都支持不可逆哈希函数防篡改。(3)本发明通过将加密参数通过安全链路传输,且与加密文件的传输的时间没有严格关联限制,因此即便安全链路被攻克,加密文件的传输的安全性也有较好的保障。(4)进一步的,对于假冒,即中间人攻击。现有FTPS,SFTP等框架下,如果中间人截获了所有加密数据,再用暴力解密,系统是无法防范的。尤其是针对有效期限较长的版本软件,即使加长密钥,也不能有效防止在软件有效期内被破译。本发明通过进一步的将原始文件分成片段分别加密的方法,解密时是需要一个完整的数据文件的,但是因为每个片段长度是随机的,所以要解密出整个文件,就需要正确判断N个片段的长度,否则解密十分困难,因此可进一步提高文件传输的安全性。


图1为本发明实施例一的文件下载系统的结构框图;图2为本发明实施例一的文件下载方法流程示意图;图3为本发明实施例二的文件下载方法流程示意图;图4为本发明实施例二的文件划分示意图;图5为本发明实施例二的文件重组示意图。
具体实施方式
下面通过具体实施方式
结合附图对本发明作进一步详细说明。实施例一:请参见图1,本例中的文件下载系统包括网管系统获和设备系统,其中,网管系统包括文件获取装置、加密装置和文件发送装置;文件获取装置用于取原始文件,值得注意的是,本例中的原始文件是指未经加密处理的文件,例如假设网管系统获取的是版本文件,则此处的原始文件则是指未经加密处理的版本文件;加密装置则用于对文件获取装置获取的原始文件进行加密得到加密文件和相应的加密参数;文件发送装置用于将从加密装置获取的加密文件通过文件传输链路发送给设备系统,将从加密装置获取的加密参数通过安全链路发送给设备系统;本例中的文件发送装置可包括文件传输服务器(即FTP服务器),文件发送装置具体可通过文件传输服务器将加密文件通过文件传输链路发送给设备系统。 即本例中的加密文件和加密参数是分开通过不同的通道进行发送的。设备系统包括文件接收装置、解密装置和至少一个客户端;客户端用于从网管系统下载加密文件,对应的,本例中的客户端可为FTP客户端;文件接收装置用于从网管系统获取相应的加密参数,具体为接收网管系统的文件发送装置发送的相关加密参数;解密装置则用于根据获取的加密参数对加密文件进行解密以得到原始文件。具体的,本例中网管系统的加密装置包括划分模块、参数获取模块和加密模块,其中:划分模块用于将文件获取装置获取的原始文件按预设划分规则划分为N个片段,所述N的值为大于等于I的整数;该预设划分规则可为按固定的长度进行划分,也可为随机划分,为了进一步提高传输的安全性能,本例中可优选为随机划分。参数获取模块用于获取用于记录各加密后的片段在加密文件中的位置信息的片段标记集合以及用于记录各片段密钥的密钥集合;还用于根据各片段的密钥,得到密钥集合;加密参数至少包括片段标记集合和密钥集合。加密模块用于对划分模块的N个片段进行加密、重组,得到加密文件。值得注意的是,本例中的加密模块采用同一加密算法对各片段进行加密,也可针对不同的片段采用不同的加密算法进行加密,具体可根据实际情况进行选择。加密模块对划分的N个片段进行加密、重组包括:加密模块为每个片段生成密钥,该密钥可以是加密模块生成的对称密钥,具体可根据加密模块所选择的加密算法决定;加密模块采用与各片段对应的对称密钥对各片段进行加密;加密模块根据拆分前的顺序(即各片段加密前在原始文件中的原顺序)将加密后的各片段重新组合,得到加密文件。对应的,设备系统的解密装置根据获取的加密参数对加密文件进行解密的过程包括:解密装置根据片段标记集合将加密文件划分成N个片段;解密装置根据密钥集合中各片段对应的密钥,对各片段进行解密;解密装置将解密后的各片段按拆分前的顺序(此处的拆分前的顺序可以是指对原始文件拆分前,各 未加密片段在原始文件中的原顺序;也可指对加密文件拆分前,各加密后的片段在加密文件中的原顺序)进行重组,得到原始文件。
请参考图2,图2所示为本例中文件下载方法的流程示意图,具体包括:网管系统获取原始文件,对获取的原始文件进行加密得到加密文件和相应的加密参数;网管系统将加密文件通过文件传输链路发送给设备系统,将加密参数通过安全链路发送给所述设备系统;设备系统获通过上述不同的链路获取到加密文件和加密参数后,根据获取的加密参数对加密文件进行解密,得到原始文件。具体的,本例中的网管系统对其获取的原始文件进行加密的过程包括:网管系统将获取的原始文件按预设划分规则划分为N个片段,N值为大于等于I的整数;网管系统对N个片段进行加密、重组,得到加密文件,并记录各片段的密钥,得到密钥集合;并得到用于记录各加密后的片段在加密文件中的位置信息的片段标记集合以及用于记录各片段密钥的密钥集合;加密参数至少包括片段标记集合和所述密钥集合。为了进一步提高文件传输的安全性,本例中的预设划分规则为对原始文件进行随机划分,但最终得到的每个片段的长度必须大于等于最小加密数据块的长度。具体的, 网管系统对N个片段进行加密、重组的过程包括:为每个片段生成密钥,该密钥的具体形式决定于加密算法,可以是对称密钥,支持完整性验证;采用与各片段对应的对称密钥对各片段进行加密;根据拆分前各片段原来的顺序将加密后的各片段重新组合,得到加密文件。对应的,设备系统根据获取的加密参数对加密文件进行解密的过程则包括:根据片段标记集合将所述加密文件划分成N个片段;由于是根据片段标记集合进行划分的,可保证解密是划分的片段与加密过程划分的片段一致;根据获取的密钥集合中各片段对应的密钥,对各片段进行解密;将解密后的各片段拆分前各片段原来的顺序进行重组,得到原始文件。由于是根据片段标记集合进行划分的,可保证解密后的各片段与原始文件中的位置的正确性。综上可知,与现有的SFTP、FTPS等安全协议相比。本例中将对原始文件加密过程和传输过程分离,具体是先下载完原始文件,然后对其进行加密,并将加密文件和相关的加密参数通过不同的链路进行传送,使得文件下载可以脱离SFTP、FTPS等安全协议,而直接使用传输速度较快的协议(例如FTP协议,当采用FTP协议时,网管系统还将加密文件的传输路径和FTP协议相关参数通过安全链路发送给设备系统),可提高文件传输的效率,而且在文件传输过程中不需要加密解密数据,可进一步提高文件传输的效率。同时,针对网络安全协议的窃密,篡改,假冒三类攻击,本例中的方案也都有更好的防范措施,具体如下:(I)对于窃密攻击,随着硬件设备的发展,使得原有的安全加密算法不断失效;而应对此类攻击的最简单办法就是加长密钥。由于本例中不是在传输过程中对文件进行加密/解密,而是在传输前和传输完成后分别进行加、解密,不受实时性限制,所以密钥长度可以比SFTP、FTPS等安全协议的密钥长,因此安全性自然就能得到显著的提高。(2)对于篡改攻击,加密时采用MD5等算法都支持不可逆哈希函数防篡改。(3)对于假冒,即中间人攻击。现有FTPS,SFTP等框架下,如果中间人截获了所有加密数据,再用暴力解密,系统是无法防范的。尤其是针对有效期限较长的版本软件,即使加长密钥,也不能有效防止在软件有效期内被破译。本例则将原始文件分成片段分别加密的方法,且可将原始文件随机划分成N个片段,只需要满足每个片段可加密的条件即可,因此在解密时是需要一个完整的数据文件的,但是因为每个片段长度是随机的,所以要解密出整个文件,就需要正确判断N个片段的长度,否则解密十分困难,因此可进一步提高文件传输的安全性。例如:假设一个版本软件长度为M个最小长度单位,那么可能的组合有MX (M-1) X…X (M-N+1)种。而M —般大于1000, N 一般大于10,这样可能的组合至少为(1000)'10种,要从这些组合里面选择出正确的一种,难度可想而知。(4)本例中的密钥集合及片段标记集合是通过安全链路传输,且与文件传输的时间没有关联,所以即便安全链路被攻克,文件传输也有相当高的保障。实施例二:为了更好的理解本发明,本例中以一个具体的实现流程为例,对本发明做进一步说明。本例中的设备系统下载的文件为版本文件,即本例中网管系统获取的原始文件为未加密的版本文件,且本例中的网管系统与设备系统之间采用FIP协议进行文件的传输,具体实现流程请参见图3:步骤0,网管系统收到版本下载指令;步骤1,网管系统获通过文件获取装置获取需要下载的版本文件,记为H);获取版本文件的步骤并非本发明的重点,因此在此不再赘述;步骤2,网管系统将版本文件H)随机的划分为N个片段,请参见图4,具体划分过程如下:步骤2.1,确定N的值。N的值是根据文件的大小(Size(FO))和最小加密数据块(U)的长度(Len(U))确定的,可以根据具体情况使用不同的算法。例如,N = max {Size (FO) /Len (U)/1000,10}; 步骤2.2,设M = Size(FO)/Len(U),即文件可以划分为M个最小加密数据块。按照顺序分别标号1,2,…,M。步骤3,网管系统为每个片段生成对称密钥,得到密钥集合记为K,K= {kl,…,kN};并从[1,M]中随机取出N-1个整数,作为除第一个以外的N-1个加密后的片段的起始数据块,即片段标记集合中的各元素为从[1,M]中随机取出N-1个整数,记片段标记集合为P,P= {pi,…,pN},各元素用于记录各加密后片段在加密后的版本文件中的位置信息,Pl,…,pN记录的是各个片段段首在H)中的位置;步骤4,网管系统为每个片段使用各自的密钥进行加密,本例中网管系统采取的加密算法支持完整性验证;步骤5,网管系统为将加密后的片段按照原顺序组合成一个新的版本文件F1,请参见图5,由图5可知,加密后的各片段在Fl中的顺序与加密前各片段在H)中的顺序保持
一致;步骤6,网管系统为通过安全链路,将集合P,K,以及Fl传输路径和FTP相关参数发送给设备系统,设备系认保存这些参数。本例中的安全链路可以有多种选择,例如支持TLS的TCP链路;并通过FTP服务器将加密后的版本文件发送给设备系统;步骤7,设备系统通过FTP客户端向网管系统的FTP服务器请求下载文件Fl ;
步骤8,文件Fl下载到设备系统;步骤9,设备系统利用步骤6获取的集合P,将Fl分成N个片段;步骤10,利用步骤6获取的集合K,分别对N个片段进行解密;步骤11,将解密后的N个片段根据集合P中各元素标记的位置组合成一个新的文件,即原文件H)。以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范 围。
权利要求
1.一种文件下载方法,其特征在于包括: 网管系统获取原始文件,对所述原始文件进行加密得到加密文件和相应的加密参数; 所述网管系统将所述加密文件通过文件传输链路发送给设备系统,将所述加密参数通过安全链路发送给所述设备系统; 所述设备系统获取到所述加密文件和加密参数后,根据所述加密参数对所述加密文件进行解密,得到所述原始文件。
2.如权利要求1所述的方法,其特征在于,网管系统对其获取的原始文件进行加密的过程包括: 网管系统将获取的原始文件按预设划分规则划分为N个片段,所述N为大于等于I的整数; 网管系统对所述N个片段进行加密、重组,得到加密文件,并得到用于记录各加密后的片段在加密文件中的位置信息的片段标记集合以及用于记录各片段密钥的密钥集合;所述加密参数包括所述片段标记集合和所述密钥集合。
3.如权利要求2所述的方法,其特征在于,所述预设划分规则为对原始文件进行随机划分,得到的每个片段的长度大于等于最小加密数据块的长度。
4.如权利要求2所述的方法,其特征在于,所述网管系统对所述N个片段进行加密、重组包括: 为每个片段生成密钥; 采用与各片段对应的密钥对各片段进行加密; 根据拆分前的顺序将加密后的各片段重新组合,得到加密文件。
5.如权利要求4所述的方法,其特征在于,所述设备系统根据所述加密参数对所述加密文件进行解密包括: 根据所述片段标记集合将所述加密文件划分成N个片段; 根据所述密钥集合中各片段对应的密钥,对各片段进行解密; 将解密后的各片段按拆分前的顺序进行重组,得到原始文件。
6.如权利要求1-5任一项所述的方法,其特征在于,所述网管系统通过文件传输协议将所述加密文件通过文件传输链路发送给设备系统;所述网管系统将加密文件的传输路径和文件传输协议相关参数通过所述安全链路发送给所述设备系统。
7.一种文件下载系统,其特征在于包括: 网管系统获:文件获取装置、加密装置和文件发送装置,所述文件获取装置用于取原始文件,所述加密装置用于对所述原始文件进行加密得到加密文件和相应的加密参数;所述文件发送装置用于将所述加密文件通过文件传输链路发送给设备系统,将所述加密参数通过安全链路发送给所述设备系统; 设备系统:包括文件接收装置、解密装置和至少一个客户端,所述客户端用于从所述网管系统下载所述加密文件;所述文件接收装置用于从所述网管系统获取所述加密参数;所述解密装置用于根据所述加密参数对所述加密文件进行解密,得到原始文件。
8.如权利要求7所述的下载系统,其特征在于,所述加密装置包括划分模块、参数获取模块和加密模块: 所述划分模块用于将获取的原始文件按预设划分规则划分为N个片段,所述N为大于等于I的整数; 所述参数获取模块用于获取用于记录各加密后的片段在加密文件中的位置信息的片段标记集合以及用于记录各片段密钥的密钥集合;还用于根据各片段的密钥,得到密钥集合;所述加密参数包括所述片段标记集合和所述密钥集合; 所述加密模块用于对所述N个片段进行加密、重组,得到加密文件。
9.如权利要求8所述的下载系统,其特征在于,所述加密模块对所述N个片段进行加密、重组包括: 加密模块为每个片段生成密钥; 加密模块采用与各片段对应的密钥对各片段进行加密; 加密模块根据拆分前的顺序将加密后的各片段重新组合,得到加密文件。
10.如权利要求9所述的下载系统,其特征在于,所述解密装置根据所述加密参数对所述加密文件进行解密包括: 解密装置根据所述片段标记集合将所述加密文件划分成N个片段; 解密装置根据所述密钥集合中各片段对应的密钥,对各片段进行解密; 解密装置将解密后的各片段按拆分前的顺序进行重组,得到原始文件。
11.如权利要求7-10任一项所述的下载系统,其特征在于,所述文件发送装置包括文件传输服务器,所述文件发送装置通过所述文件传输服务器将所述加密文件通过文件传输链路发送给设备系统。
全文摘要
本发明属于通信领域,公开了一种文件下载方法及装置,本发明中的网管系统获取原始文件,然后对获取的原始文件进行加密得到加密文件和相应的加密参数;并将得到加密文件通过文件传输链路发送给设备系统,将得到的加密参数通过安全链路发送给所述设备系统;设备系统获通过上述不同的路劲或取到加密文件和加密参数后,根据加密参数对加密文件进行解密,即可得到原始文件,提高了文件传输的效率和安全性。
文档编号H04L29/06GK103248650SQ20121002871
公开日2013年8月14日 申请日期2012年2月9日 优先权日2012年2月9日
发明者骆庆开 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1