防止文件在传输过程中被篡改的方法、系统、介质和装置与流程

文档序号:27436571发布日期:2021-11-17 22:59阅读:928来源:国知局
防止文件在传输过程中被篡改的方法、系统、介质和装置与流程

1.本发明涉及数据传输技术领域,具体提供一种防止文件在传输过程中被篡改的方法、系统、计算机可读存储介质和控制装置。


背景技术:

2.在多个系统之间进行文件传输的过程中,往往无法保证传输的数据文件是否完整,是否被他人截取篡改,进而可能导致系统被脏数据攻击。
3.在目前的加密方式中,常用的加密算法主要有:
4.对称加密算法,例如aes、3des、des等;
5.非对称加密算法,例如rsa、dsa、ecc等;
6.单向加密算法,例如md5、sha1、crc32等。
7.非对称加密算法固然可以实现文件加密解密且安全程度高,但是其在对大量文件加密解密过程中,耗时会很长。对称加密算法虽然耗时较短,但是安全程度没有非对称加密算法高。单向加密算法具有不可逆运算的特点,可检验数据的完整性。可见三种加密方法各有优缺点,但均不够完美。
8.相应地,本领域需要一种新的方法来防止文件在传输过程中被篡改。


技术实现要素:

9.本发明旨在解决上述技术问题,即,解决文件在传输过程中可能被篡改的问题。
10.在第一方面,本发明提供一种防止文件在传输过程中被篡改的方法。包括:
11.处理需要传输的数据,得到待传输数据的第一信息和第二信息;
12.分别对第一信息和第二信息进行加密处理;
13.将加密后的第一信息和第二信息组合成加密文件发送给接收端;
14.接收端对收到的加密文件进行解析,得到加密第一信息和加密第二信息;
15.对加密第二信息进行解密,得到解密的第二信息,并基于解密的第二信息生成接收端加密第一信息;
16.对比发送端和接收端分别生成的加密第一信息,并据此判断文件在传输过程中是否被篡改。
17.在第二方面,本发明提供一种防止文件在传输过程中被篡改的系统。
18.该系统包括发送端和接收端。
19.所述发送端包括:
20.预处理模块:其处理需传输的数据,得到待传输数据的第一信息和第二信息;
21.发送端加密模块:其分别对第一信息和第二信息进行加密处理;
22.传输模块:其将加密后的第一信息和第二信息组合成加密文件发送给接收端;
23.所述接收端包括:
24.接收模块:其接收所述传输模块发来的文件;
25.解析模块:其对所述接收模块收到的加密文件进行解析,得到加密第一信息和加密第二信息;
26.解密模块:其对加密第二信息进行解密,得到解密的第二信息;
27.接收端加密模块:其基于解密的第二信息生成接收端加密第一信息;
28.验证模块:其验证发送端和接收端分别生成的加密第一信息是否一致,并据此判断文件在传输过程中是否被篡改。
29.其中:第一信息为由文件名、当前行号、当前行文件内容组合成的摘要信息;
30.第二信息为由当前行文件内容组成的内容信息。
31.在第三方面,本发明提供一种计算机可读存储介质,其存储介质中存储有多条程序代码,该程序代码适于由处理器加载并运行如第一方面所述的防止文件在传输过程中被篡改的方法。
32.在第四方面,本发明提供一种控制装置,该控制装置包括处理器和存储器,所述存储器适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行第一方面所述的防止文件在传输过程中被篡改的方法。
33.有益技术效果:
34.根据本发明的技术方案,在文件传输过程中,无论是文件名被修改、文件名后缀被修改、文件内容所在的位置顺序被修改、还是文件内容被修改,通过本发明所提供的方法均能发现,从而确保了文件在传输过程中不会被篡改。
附图说明
35.下面结合附图来描述本发明的优选实施方式,附图中:
36.图1是防止文件在传输过程中被篡改的方法的主要步骤流程图;
37.图2是防止文件在传输过程中被篡改的系统结构示意图。
具体实施方式
38.在多个系统之间文件传输过程中,往往无法保证传输的数据文件是否完整,是否被他人截取篡改,进而可能导致系统被脏数据攻击。
39.针对以上问题,本技术提供一种防止文件在传输过程中被篡改的方法。
40.下面结合具体实施例详细描述本发明的实施方案。本领域技术人员应当理解的是,这些实施方式是示例性的,仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
41.在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器、通信端口、存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、图像处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“a和/或b”表示所有可能的a与b的组合,比如只是a、只是b或者a和b。术语“至少一个a或b”或者“a和b中的至少一个”含义与“a和/或b”类似,可以包括只是a、
只是b或者a和b。单数形式的术语“一个”、“这个”也可以包含复数形式。
42.这里对本发明中涉及的技术术语作如下解释:
43.对称加密:指采用对称加密算法进行加密处理。
44.非对称加密:指采用对称加密算法以外的加密方式进行加密处理。
45.对称加密算法:指加密和解密使用相同密钥的加密算法。
46.非对称加密算法:也称为公私钥加密,指加密和解密使用不同密钥的加密算法。
47.单向加密算法:也称为不可逆加密算法,即生成密文后无法反解的一种加密算法。
48.双向加密算法:也称为可逆加密算法,即生成密文后,在需要的时候可以反解为明文的一种加密算法。
49.md5(message digest algorithm 5):一种信息摘要算法,用于确保信息传输完整一致。
50.aes(advanced encryption standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;
51.本发明的技术方案的实现原理主要为:
52.对需要加密传输的数据进行处理,将文件内容作为文件第二信息,根据文件第二信息、第二信息在文件中所在的位置、顺序信息、以及文件名生成文件第一信息,利用当前不同加密算法各自的特点,分别对第一信息和第二信息采用不同的加密方式进行加密处理;将加密后的第一信息和第二信息组合成文件发送给接收端;接收端对收到的文件进行解析,解析出加密第一信息和加密第二信息;对加密第二信息解密,得到解密的第二信息,并基于解密的第二信息生成接收端加密第一信息;对比发送端和接收端分别生成的加密第一信息,判断文件是否在传输过程中被篡改。
53.在第一方面,本发明提供一种防止文件在传输过程中被篡改的方法。
54.实施例1:
55.附图1是防止文件在传输过程中被篡改的方法的主要步骤流程图。如图1所示,本发明保护一种防止文件在传输过程中被篡改的方法,包括以下步骤:
56.s1:处理需要传输的数据,得到待传输数据的第一信息和第二信息;
57.逐行读取需要传输文件的数据,该数据一般为文本数据。将当前行文件内容,待发送文件的文件名、当前文件内容所在的行号等可以确定文件、文件内容,以及文件内容在所传输文件中的位置、顺序等信息依照一定的顺序组合成第一信息。为了确保文件的类型,文件名为包括文件后缀的文件名。
58.并且,将当前行文件内容作为第二信息。
59.s2:分别对第一信息和第二信息进行加密处理;
60.对上述第二信息采用对称加密的方式进行加密。建议采用aes对称加密算法。该对称加密算法采用发送方和接收方事先约定的同一个秘钥来进行加密和解密。该对称加密算法具有计算量小,加密解密速度比较快,加密效率高的特点,尤其适合数据比较长时的使用。也可以根据需要采用其他对称加密算法对第二信息进行加密,例如des、3des等算法。本实施例采用aes对称加密算法,其加密秘钥为一个由16位任意字符组成的秘钥,空字符除外。
61.对上述第一信息采用对称加密方式以外的方式进行加密。由于单向加密算法具有
不可逆运算的特点,建议采用单向加密算法。优选采用md5加密算法对第一信息进行加密。采用md5算法加密后得到一个定长为32位字符组成的md5校验值。根据需要也可以采用其他单向加密算法进行加密,例如:sha1、crc32等。当然也可以采用非对称加密算法对第一信息进行加密,或者非对称加密算法和单向加密算法组合的方式对第一信息进行加密。本实施例采用md5加密算法对第一信息进行加密。
62.s3:将加密后的第一信息和第二信息组合成加密文件发送给接收端;
63.将s2中加密后的第一信息和第二信息组合成一行,按照加密前第二信息所在的行号写入文件。对需加密传输文件的内容逐行进行加密并写入文件后,将加密后的文件发送给接收端。
64.在将加密后的第一信息和第二信息组合成一行时,由于本实施例加密后的第一信息为由固定长度字符组成的信息,则把该信息放在每行的前部。加密后的第二信息跟在加密后的第一信息后面。加密后的第二信息由于原始内容长度不确定,所以加密后的第二信息长度也无法确定。每行数据采用第一信息在前,第二信息在后的方式进行组合。这样的组合方式有利于接收端快速识别出文件中的摘要部分和内容部分。
65.当然只要能便于接收端识别出文件中的第一信息和第二信息也可以根据需要采用其他的信息组合方式。例如:分别在第一信息和第二信息前增加识别标志;或者在第一信息和第二信息之间增加间隔符;或者根据数据特点采用固定数据位置的方式分别放置第一信息和第二信息等。s4:接收端对收到的加密文件进行解析,得到加密第一信息和加密第二信息;
66.接收端收到发来的加密文件后,逐行读取文件内容,根据数据的格式解析出每行的加密第一信息和加密第二信息。
67.s5:对加密第二信息解密,得到解密的第二信息,并基于解密的第二信息生成接收端加密第一信息;
68.首先,将上述解析出的加密第二信息进行解密处理,得到解密后的第二信息。由于内容部分在发送端采用的是对称加密的方式,解密使用的秘钥为发送方和接收方事先约定的同一个秘钥。
69.其次,将解密后的第二信息、文件的文件名、当前文件内容所在的行号等信息依照与发送端相同的排列顺序进行组合,组合后的信息即为接收端的第一信息。
70.最后,对接收端的第一信息进行加密处理。加密方式采用与发送端相同的加密方式。本实施例在接收端采用和发送端相同的md5单向加密算法对接收端的第一信息进行加密。加密后得到一个定长为32位字符组成的md5校验值,即为接收端加密第一信息。
71.s6:对比发送端和接收端分别生成的加密第一信息,并据此判断文件在传输过程中是否被篡改。
72.将s4中接收端收到的发送端加密第一信息与s5中接收端基于解密后的第二信息生成的接收端加密第一信息进行比对。
73.如果两者相同,则判断文件在传输过程中没有被篡改,保留解析后的第二信息。
74.如果两者不同,则判断文件在传输过程中有被篡改,在日志中记录异常信息,可根据需要丢弃或保留解析后的第二信息。
75.依照上述步骤逐行处理接收到的加密文件内容,得到解密后的文件。
76.在本实施例s1中,通过逐行读取的方式处理需加密传输文件的数据,这样的处理方式对每行第二信息较长时比较适合。
77.根据第二信息的特点,如果第二信息较短但行数较多时,可以将多行第二信息组合后一起处理。这样操作可以加快文件的处理速度。
78.本发明通过上述介绍的防止文件在传输过程中被篡改的方法,提供了一种文件安全传输的解决方案。在文件传输过程中,无论是文件名被修改、文件名后缀被修改、文件内容所在的位置顺序被修改、还是文件内容被修改,通过本发明所提供的方法均能发现,从而确保了文件在传输过程中不会被篡改。
79.在第二方面,本发明提供一种防止文件在传输过程中被篡改的系统。
80.实施例2:
81.相应于上述方法实施例,本发明还提供一种防止文件在传输过程中被篡改的系统。
82.附图2是防止文件在传输过程中被篡改的装置结构示意图。如图2所示,本发明保护一种防止文件在传输过程中被篡改的系统,主要包括:发送端设备和接收端设备。
83.发送端主要包括:预处理模块11、发送端加密模块12、传输模块13。
84.预处理模块11:用于处理需要传输的数据,处理后得到待传输数据的第一信息和第二信息;
85.其中,
86.第一信息为由文件名、当前行号、当前行文件内容组合成的摘要信息;
87.第二信息为由当前行文件内容组成的内容信息。
88.发送端加密模块12:用于分别对第一信息和第二信息进行加密处理;
89.传输模块13:用于将加密后的第一信息和第二信息组合成加密文件发送给接收端;
90.接收端主要包括:接收模块21、解析模块22、解密模块23、接收端加密模块24、验证模块25。
91.接收模块21:其接收所述传输模块发来的文件;
92.解析模块22:其对所述接收模块收到的加密文件进行解析,得到加密第一信息和加密第二信息;
93.解密模块23:其对加密第二信息进行解密,得到解密的第二信息;
94.接收端加密模块24:其基于解密的第二信息加密生成接收端加密第一信息;
95.验证模块25:其验证发送端和接收端分别生成的加密第一信息是否一致,并据此判断文件在传输过程中是否被篡改。
96.需要说明的是,上述实施例1中,对防止文件在传输过程中被篡改方法的解释说明也适用于本实施例2的防止文件在传输过程中被篡改的系统,其实现原理类似,此处不再赘述。
97.本技术实施例的防止文件在传输过程中被篡改的系统,具体实现流程如下:
98.在发送端:
99.首先,预处理模块11逐行读取需加密传输文件的数据,该数据一般为文本数据。将当前行文件内容,待发送文件的文件名、当前文件内容所在的行号等可以确定文件、文件内
容,以及文件内容在所传输文件中的位置、顺序等信息依照一定的顺序组合成第一信息。将当前行文件内容作为第二信息。将预处理后得到的第一信息和第二信息分别发送给发送端加密模块12。
100.发送端加密模块12接收到来自预处理模块11的第一信息和第二信息后,对第一信息采用md5算法进行加密,加密后得到加密第一信息。对第二信息采用aes对称加密算法进行加密,加密后得到加密第二信息。将加密第一信息和加密第二信息发送给传输模块13。
101.传输模块13将加密后的第一信息和第二信息组合成一行,按照加密前第二信息所在的行号写入文件。对需加密传输文件的内容逐行进行加密并写入文件后,将加密后的加密文件发送给接收端。
102.在接收端:
103.接收模块21接收来自发送端的加密文件,并将收到的加密文件发送给解析模块22进行解析。
104.解析模块22逐行读取加密文件内容,根据数据的格式解析出每行的加密第一信息和加密第二信息。将其中的加密第二信息发送给解密模块23进行解密。加密第一信息发送给验证模块25用于与接收端生成的加密第一信息进行比对验证。
105.解密模块23对上述加密第二信息进行解密处理,得到解密后的第二信息。
106.其后,解密模块23将解密后的第二信息,以及文件的文件名、当前文件内容所在的行号等信息,依照与发送端相同的排列顺序进行组合,得到接收端第一信息。并将组合得到的接收端第一信息发送给接收端加密模块24。
107.接收端加密模块24对接收端的第一信息采用与发送端相同的加密方式进行加密处理。加密后得到接收端加密第一信息。将接收端加密第一信息发送给验证模块25用于与收到的发送端生成的加密第一信息进行比对验证。
108.验证模块25中,将接收端加密第一信息与发送端加密第一信息进行比对。
109.如果两者相同,则判断文件在传输过程中没有被篡改,保留解析后的第二信息。
110.如果两者不同,则判断文件在传输过程中有被篡改,在日志中记录异常信息,可根据需要丢弃或保留解析后的第二信息。
111.依照上述步骤逐行处理接收到的加密文件内容,得到解密后的文件。
112.在第三方面,本发明提供一种计算机可读存储介质,其存储介质中存储有多条程序代码,该程序代码适于由处理器加载并运行如第一方面所述的防止文件在传输过程中被篡改的方法。
113.在第四方面,本发明提供一种控制装置,该控制装置包括处理器和存储器,所述存储器适于存储多条程序代码,所述程序代码适于由所述处理器加载并运行以执行第一方面所述的防止文件在传输过程中被篡改的方法。
114.至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1