一种大文件安全传输方法及系统与流程

文档序号:39716650发布日期:2024-10-22 13:03阅读:36来源:国知局

本发明涉及边缘计算,特别指一种大文件安全传输方法及系统。


背景技术:

1、随着计算机技术的普及,产生了大量的电子文件,如拍摄的照片、视频等电子文件,为了共享这些电子文件需要在网络上进行传输,而传输过程中难免会存在被篡改的风险,或者电子文件在传输过程中可能出现丢包的情况,因此产生了校验电子文件是否完整的需求。

2、哈希算法用于把任意长度的输入(又叫预映射pre-image)变换成固定长度的输出,该输出就是散列值,即哈希值;由于哈希计算是不可逆的,因此只需要在电子文件传输前和传输后分别计算哈希值,通过比对计算的哈希值是否一致即可对电子文件进行完整性校验。

3、然而,在传输以gb为单位的大文件时,对大文件进行哈希计算需要耗费较长的时间,且发送前和接收后均要进行哈希计算,特别是应用于算力资源有限的边缘计算设备上时,严重影响大文件完整性校验的效率,进而影响大文件传输的及时性;此外,传统上是对整个大文件进行哈希计算,若截取大文件也可以轻松判断大文件是否完整,存在一定的安全隐患。

4、因此,如何提供一种大文件安全传输方法及系统,实现提升大文件传输的安全性以及完整性校验效率,成为一个亟待解决的技术问题。


技术实现思路

1、本发明要解决的技术问题,在于提供一种大文件安全传输方法及系统,实现提升大文件传输的安全性以及完整性校验效率。

2、第一方面,本发明提供了一种大文件安全传输方法,包括如下步骤:

3、步骤s1、设定一文件分割大小以及一数据提取规则,将所述文件分割大小以及数据提取规则预置到边缘计算设备;

4、步骤s2、获取待传输的大文件,基于所述文件分割大小将大文件分割为若干个小文件,依序为各所述小文件进行编号;

5、步骤s3、基于所述数据提取规则以及编号从各小文件中提取子数据,基于各所述编号将各子数据拼接为第一拼接数据;

6、步骤s4、对所述第一拼接数据进行mac计算得到第一mac值,将所述第一mac值加密为mac密文,将所述大文件以及mac密文发送给边缘计算设备;

7、步骤s5、边缘计算设备接收所述大文件以及mac密文,将所述大文件实时存储至内存中,将所述mac密文实时存储至硬件加密芯片中;

8、步骤s6、边缘计算设备基于所述文件分割大小以及数据提取规则计算大文件的第二拼接数据,对所述第二拼接数据进行mac计算得到第二mac值,通过硬件加密芯片解密所述mac密文得到第一mac值;

9、步骤s7、通过比对所述第一mac值和第二mac值以对大文件进行完整性校验,进而完成大文件的传输;

10、所述步骤s1中,所述数据提取规则具体为:

11、设定一数据提取长度以及一填充字符,所述数据提取长度短于小文件的数据长度;设定数据提取起始位为a×3-2,a为小文件的编号;

12、基于所述数据提取起始位从对应编号的小文件中提取子数据,当所述子数据的长度小于数据提取长度时,通过所述填充字符对子数据的末尾进行填充,直至长度满足所述数据提取长度。

13、进一步的,所述步骤s3具体为:

14、基于所述数据提取规则以及编号从各小文件中提取子数据,基于各所述编号以及预设的拼接规则将各子数据拼接为第一拼接数据;

15、所述拼接规则具体为:

16、设定一取值大于1的正整数b,将能对所述正整数b进行整除的编号对应的子数据依序拼接,再在末尾依序拼接剩余的所述编号对应的子数据。

17、进一步的,所述步骤s4具体为:

18、对所述第一拼接数据进行mac计算得到第一mac值,通过rsa算法对所述第一mac值进行加密得到一级加密数据,通过预设的映射规则对所述一级加密数据的各字符进行映射得到二级加密数据,通过预设的分割比例对所述二级加密数据进行分割并调换前后顺序得到三级加密数据,将所述三级加密数据中的字符a与z进行对调、字符q与p进行对调,得到四级加密数据,通过3des算法将所述四级加密数据加密为mac密文,将所述大文件以及mac密文通过tls协议实时发送给边缘计算设备。

19、进一步的,所述步骤s6具体为:

20、边缘计算设备通过gpu硬件加速技术,基于所述文件分割大小将内存中的大文件分割为若干个小文件,依序为各所述小文件进行编号,基于所述数据提取规则以及编号从各小文件中提取子数据,基于各所述编号以及预设的拼接规则将各子数据拼接为第二拼接数据,对所述第二拼接数据进行mac计算得到第二mac值;

21、边缘计算设备调用硬件加密芯片,通过3des算法将所述mac密文解密为四级加密数据,将所述四级加密数据中的字符a与z进行对调、字符q与p进行对调,得到三级加密数据,通过预设的分割比例的倒数对所述三级加密数据进行分割并调换前后顺序得到二级加密数据,通过预设的映射规则对二级加密数据的各字符进行映射得到一级加密数据,通过rsa算法将所述一级加密数据解密为第一mac值。

22、进一步的,所述步骤s7具体为:

23、边缘计算设备从硬件加密芯片读取解密得到的第一mac值,比对所述第一mac值和计算得到的第二mac值是否一致,若是,则完整性校验成功,完成大文件的传输;若否,则完整性校验失败,删除接收的所述大文件以及mac密文。

24、第二方面,本发明提供了一种大文件安全传输系统,包括如下模块:

25、规则设定模块,用于设定一文件分割大小以及一数据提取规则,将所述文件分割大小以及数据提取规则预置到边缘计算设备;

26、大文件分割模块,用于获取待传输的大文件,基于所述文件分割大小将大文件分割为若干个小文件,依序为各所述小文件进行编号;

27、子数据提取拼接模块,用于基于所述数据提取规则以及编号从各小文件中提取子数据,基于各所述编号将各子数据拼接为第一拼接数据;

28、第一mac值计算模块,用于对所述第一拼接数据进行mac计算得到第一mac值,将所述第一mac值加密为mac密文,将所述大文件以及mac密文发送给边缘计算设备;

29、文件接收存储模块,用于边缘计算设备接收所述大文件以及mac密文,将所述大文件实时存储至内存中,将所述mac密文实时存储至硬件加密芯片中;

30、第二mac值计算模块,用于边缘计算设备基于所述文件分割大小以及数据提取规则计算大文件的第二拼接数据,对所述第二拼接数据进行mac计算得到第二mac值,通过硬件加密芯片解密所述mac密文得到第一mac值;

31、完整性校验模块,用于通过比对所述第一mac值和第二mac值以对大文件进行完整性校验,进而完成大文件的传输;

32、所述规则设定模块中,所述数据提取规则具体为:

33、设定一数据提取长度以及一填充字符,所述数据提取长度短于小文件的数据长度;设定数据提取起始位为a×3-2,a为小文件的编号;

34、基于所述数据提取起始位从对应编号的小文件中提取子数据,当所述子数据的长度小于数据提取长度时,通过所述填充字符对子数据的末尾进行填充,直至长度满足所述数据提取长度。

35、进一步的,所述子数据提取拼接模块具体用于:

36、基于所述数据提取规则以及编号从各小文件中提取子数据,基于各所述编号以及预设的拼接规则将各子数据拼接为第一拼接数据;

37、所述拼接规则具体为:

38、设定一取值大于1的正整数b,将能对所述正整数b进行整除的编号对应的子数据依序拼接,再在末尾依序拼接剩余的所述编号对应的子数据。

39、进一步的,所述第一mac值计算模块具体用于:

40、对所述第一拼接数据进行mac计算得到第一mac值,通过rsa算法对所述第一mac值进行加密得到一级加密数据,通过预设的映射规则对所述一级加密数据的各字符进行映射得到二级加密数据,通过预设的分割比例对所述二级加密数据进行分割并调换前后顺序得到三级加密数据,将所述三级加密数据中的字符a与z进行对调、字符q与p进行对调,得到四级加密数据,通过3des算法将所述四级加密数据加密为mac密文,将所述大文件以及mac密文通过tls协议实时发送给边缘计算设备。

41、进一步的,所述第二mac值计算模块具体用于:

42、边缘计算设备通过gpu硬件加速技术,基于所述文件分割大小将内存中的大文件分割为若干个小文件,依序为各所述小文件进行编号,基于所述数据提取规则以及编号从各小文件中提取子数据,基于各所述编号以及预设的拼接规则将各子数据拼接为第二拼接数据,对所述第二拼接数据进行mac计算得到第二mac值;

43、边缘计算设备调用硬件加密芯片,通过3des算法将所述mac密文解密为四级加密数据,将所述四级加密数据中的字符a与z进行对调、字符q与p进行对调,得到三级加密数据,通过预设的分割比例的倒数对所述三级加密数据进行分割并调换前后顺序得到二级加密数据,通过预设的映射规则对二级加密数据的各字符进行映射得到一级加密数据,通过rsa算法将所述一级加密数据解密为第一mac值。

44、进一步的,所述完整性校验模块具体用于:

45、边缘计算设备从硬件加密芯片读取解密得到的第一mac值,比对所述第一mac值和计算得到的第二mac值是否一致,若是,则完整性校验成功,完成大文件的传输;若否,则完整性校验失败,删除接收的所述大文件以及mac密文。

46、本发明的优点在于:

47、1、通过设定文件分割大小以及数据提取规则并预置到边缘计算设备;接着获取待传输的大文件,基于文件分割大小将大文件分割为若干个小文件,依序为各小文件进行编号,接着基于数据提取规则以及编号从各小文件中提取子数据,基于各编号将各子数据拼接为第一拼接数据并进行mac计算得到第一mac值,将第一mac值加密为mac密文,将大文件以及mac密文发送给边缘计算设备;接着边缘计算设备将大文件实时存储至内存中,将mac密文实时存储至硬件加密芯片中,基于文件分割大小以及数据提取规则计算大文件的第二拼接数据,对第二拼接数据进行mac计算得到第二mac值,通过硬件加密芯片解密mac密文得到第一mac值,最后通过比对第一mac值和第二mac值以对大文件进行完整性校验,进而完成大文件的传输;即基于文件分割大小将大文件分割为若干个小文件,再从各小文件中提取部分数据作为子数据,接着将各子数据拼接为拼接数据(第一拼接数据/第二拼接数据),拼接数据的文件大小远小于大文件的大小,再对拼接文件进行mac计算能有效提升计算速度,且边缘计算设备将大文件存储至内存进行计算,结合gpu硬件加速技术,进一步提升第二mac值的计算速度,而硬件加密芯片具备很高的及时响应能力,能快速解密mac密文;通过将第一mac值加密为mac密文进行传输,避免第一mac值在传输过程中被明文窃取和篡改,通过将mac密文存储至硬件加密芯片进一步保障存储的安全性,基于设定数据提取规则以及拼接规则,若不知道相应规则将无法生成第二拼接数据,进而无法校验大文件的完整性,而mac计算基于带秘密密钥的hash函数,相对于普通的哈希计算拥有更高的安全性,最终极大的提升了大文件传输的安全性以及完整性校验效率。

48、2、通过设定数据提取长度以及填充字符,数据提取长度短于小文件的数据长度,设定数据提取起始位为a×3-2,a为小文件的编号,基于数据提取起始位从对应编号的小文件中提取子数据,当子数据的长度小于数据提取长度时,通过填充字符对子数据的末尾进行填充,若不知道数据提取长度、填充字符或者数据提取起始位计算规则,将无法正确提取子数据,进而无法校验大文件的完整性,有效提升安全性。

49、3、通过设定取值大于1的正整数b,将能对正整数b进行整除的编号对应的子数据依序拼接,再在末尾依序拼接剩余的编号对应的子数据,若不知道正整数b的取值或者排序规则,将无法得到正确的拼接数据,进而无法校验大文件的完整性,有效提升安全性。

50、4、通过rsa算法对第一mac值进行加密得到一级加密数据,通过预设的映射规则对一级加密数据的各字符进行映射得到二级加密数据,通过预设的分割比例对二级加密数据进行分割并调换前后顺序得到三级加密数据,将三级加密数据中的字符a与z进行对调、字符q与p进行对调,得到四级加密数据,通过3des算法将四级加密数据加密为mac密文,将大文件以及mac密文通过tls协议实时发送给边缘计算设备;即多第一mac值进行多重加密和数据变换,若不知道对应的加密算法或者数据变换规则将无法破解mac密文,且tls协议为安全传输协议,前后采取至少7重安全措施(rsa算法、映射规则、分割比例、字符a与z进行对调、字符q与p进行对调、3des算法、tls协议),极大的提升了第一mac值传输的安全性,避免被非法获取以校验大文件的完整性。

当前第1页1 2 
当前第1页1 2 
网友询问留言 留言:0条
  • 还没有人留言评论。精彩留言会获得点赞!
1