1.本发明涉及文件传输技术领域,具体涉及一种文件摆渡方法及其系统。
背景技术:2.根据国家保密局颁布实施的《计算机信息系统国际联网保密管理规定》第二章保密制度第六条规定:“涉及国家秘密的计算机信息系统,不得直接或间接地与国际互联网或其他公共信息网络相连接,必须实行物理隔离。”针对工业信息系统不同安全等级的网络之间在数据共享和交换上的安全需求,如何实现工业信息数据之间的安全“摆渡”,成为工业企业使用场景亟需解决的一大“痛点”。所谓“摆渡”,字面意思是划船将物品从江河这一边运送到另一边,再从另一边运送到这一边,文件摆渡的过程也与之类似。为了防范网络攻击,通过物理隔离的思路,将两台完全不相连的载体,通过外接设备从一个载体向另一个载体拷贝文件,大家形象地称此过程为“文件摆渡”。
3.目前现有技术多采用如u盘或硬盘等外接设备或直接传输到云端来实现文件摆渡。然而,利用外接设备不仅效率低,实时性无法保证,而且还需要耗费人力和物力,同时外接设备还有损坏、丢失或被窃取的可能性;而传统的云端传输不仅存在存储安全性低和隐私性低的缺陷,还会出现存储文件内容不同步的问题,摆渡过程中可能会存在信息丢失或被篡改等现象,进而影响文件的完整性。文件存储量过大时,存储在本地终端设备易消耗本地存储空间,文件占用内存过大也会影响电脑运行速度,造成电脑卡顿,无法正常运行系统应用,某些应用无响应,还可能导致cpu使用率飙升,甚至造成系统崩溃、蓝屏。
4.本地终端设备内存设置地过大也是对资源的一种浪费:本地终端设备处理数据的速度
5.不单单依靠运行内存,还依靠处理器。如果运行内存与处理器不相匹配的话,那么本地终端设备的超大运行内存就是对资源的浪费。因此大可不必选用最大的运行内存,否则成本提高了却使得本地终端设备性能过剩。在合法用户端数量较多或共享文件的数量较多、文件容量较大时,共享文件的安全性和效率难以保证,影响用户体验,因此急需设计一种文件摆渡方法和系统。
技术实现要素:6.发明目的:本发明目的是提供一种文件摆渡方法及其系统,能够将文件安全地摆渡到另一载体,解决了目前的外接设备摆渡文件的技术方案不能够解决需要实时并安全调用文件的问题。本发明还能够解决本地终端设备存储空间占用多,文件摆渡过程中信息安全性和文件完整性的问题。该方法可以用于不同载体之间的文件摆渡过程,具有同样的安全性。
7.技术方案:本发明提供一种文件摆渡方法,所述文件摆渡方法包括以下步骤:
8.s1、初始用户端选定待摆渡的目标文件,确定目标文件的文件名,初始用户端通过预置的哈希函数对目标文件进行哈希计算,生成哈希值hash1;并通过种子密钥对目标文件
和hash1进行加密,形成密文,随后通过哈希函数对所形成的密文进行哈希计算,生成哈希值hash2;
9.s2、初始用户端将s1中形成的密文发送至摆渡载体并存储在摆渡载体中,记录摆渡载体中的密文存储位置,并将其与目标文件的文件名以及种子密钥和hash2在初始用户端中的存储位置一一对应,形成目标文件的索引;
10.s3、当初始用户端需要获取目标文件时,基于索引内的密文存储位置从摆渡载体中摆渡得到的密文,获取目标文件;
11.s4、当后续用户端需要获取目标文件时,后续用户端与初始用户端建立通信连接并共享量子加密密钥,初始用户端通过共享的量子加密密钥将目标文件的索引以及种子密钥和hash2加密之后传输给后续用户端,后续用户端收到后通过共享的量子加密密钥进行解密,得到目标文件的索引之后基于索引内的密文存储位置从摆渡载体中得到密文,基于hash2对密文进行校验,校验通过后基于种子密钥获取目标文件。
12.作为本发明的一种改进,在步骤s1中,所述通过种子密钥对目标文件和hash1进行加密,形成密文,具体为:
13.调用初始用户端中预设的至少128比特的量子随机数作为种子密钥,通过量子密钥扩充算法将种子密钥扩充为量子扩充密钥,利用量子扩充密钥对目标文件和hash1进行加密,得到密文后删除量子扩充密钥。
14.作为本发明的一种改进,在步骤s1中,所述哈希函数选用基于线性移位寄存器的托普利兹单向哈希函数。
15.作为本发明的一种改进,在步骤s3中,所述基于索引内的密文存储位置从摆渡载体中摆渡得到的密文,获取目标文件,具体为:
16.s3-1、首先初始用户端根据目标文件的文件名调取索引,基于索引找到摆渡载体中的密文存储位置,将其对应的密文从摆渡载体中摆渡回初始用户端,随后通过哈希函数对从摆渡载体中摆渡得到的密文进行哈希计算,得到哈希值hash
′2;
17.s3-2、初始用户端将hash
′2与hash2进行比较,如果hash
′2等于hash2,那么调用种子密钥,扩充为量子扩充密钥,对从摆渡载体中摆渡得到的密文进行解密,得到目标文件和hash1,否则,摆渡载体向初始用户端报错,重新进行摆渡操作;
18.s3-3、初始用户端通过哈希函数对s3-2得到的目标文件进行哈希计算,得到hash
′1;
19.s3-4、初始用户端将hash
′1与hash1进行比较,如果hash
′1等于hash1,那么在初始用户端中显示目标文件,否则初始用户端报错,重新进行摆渡操作。
20.作为本发明的一种改进,在步骤s4中,所述后续用户端与初始用户端建立通信连接并共享量子加密密钥,初始用户端通过共享的量子加密密钥将目标文件的索引以及种子密钥和hash2加密之后传输给后续用户端,具体为:
21.s4-1、初始用户端与后续用户端建立通信连接并共享量子加密密钥,其中共享量子加密密钥为共享第一量子加密密钥和第二量子加密密钥;初始用户端利用共享的第一量子加密密钥将目标文件的索引加密之后传输给后续用户端,并利用共享的第二量子加密密钥将种子密钥和hash2加密之后传输给后续用户端。
22.作为本发明的一种改进,在步骤s4中,所述后续用户端收到后通过共享的量子加
密密钥进行解密,得到目标文件的索引之后基于索引内的密文存储位置从摆渡载体中得到密文,基于hash2对密文进行校验,校验通过后基于种子密钥获取目标文件,具体为:
23.s4-2、后续用户端收到初始用户端加密传输而来的目标文件的索引以及种子密钥和hash2之后,利用共享的第一量子加密密钥将目标文件的索引的密文解密,调取索引,基于索引内的密文存储位置将目标文件对应的密文从摆渡载体中摆渡回后续用户端,随后通过预置的哈希函数对从摆渡载体中摆渡得到的密文进行哈希计算,得到哈希值hash
′2′
;
24.s4-3、后续用户端利用共享的第二量子加密密钥将种子密钥和hash2的密文解密,将hash
′2′
与hash2进行比较,如果hash
′2′
等于hash2,那么调用种子密钥,扩充为量子扩充密钥,对从摆渡载体摆渡得到的密文进行解密,得到目标文件和hash1,否则,摆渡载体向后续用户端报错,重新进行摆渡操作;
25.s4-4、后续用户端通过哈希函数对s4-3得到的目标文件进行哈希计算,得到hash
′1′
;
26.s4-5、后续用户端将hash
′1′
与hash1进行比较,如果hash
′1′
等于hash1,那么在后续用户端中显示目标文件,否则后续用户端报错,重新进行摆渡操作。
27.作为本发明的一种改进,所述后续用户端中预置的哈希函数与初始用户端中预置的哈希函数相同。
28.作为本发明的一种改进,所述初始用户端为移动端或pc端,所述后续用户端为移动端或pc端,所述摆渡载体为云端。
29.作为本发明的一种改进,还提供一种文件摆渡系统,所述文件摆渡系统包括基于网络通信的初始用户端、后续用户端和摆渡载体。
30.作为本发明的一种改进,所述初始用户端包括以下模块:
31.获取模块:用于获取目标文件、种子密钥;
32.第一扩充模块:用于将种子密钥扩充成量子扩充密钥;
33.第一哈希运算模块:用于通过预置的哈希函数对目标文件计算哈希值hash1、通过哈希函数对摆渡上摆渡载体之前的密文计算哈希值hash2、通过哈希函数对从摆渡载体摆渡回之后的密文计算哈希值hash
′2以及通过哈希函数对密文解密后的目标文件计算哈希值hash
′1;
34.加解密模块:用于利用量子扩充密钥对目标文件和hash1进行加密,得到密文;用于利用量子扩充密钥对密文进行解密,得到目标文件和hash1;用于利用第一量子加密密钥对目标文件的索引进行加密;用于利用第二量子加密密钥对种子密钥和hash2进行加密;
35.第一存储模块:用于存储目标文件的文件名、种子密钥和hash2以及索引;
36.第一缓存模块:用于缓存解密后的目标文件和hash1;
37.第一判断模块:用于判断hash2与hash
′2是否相等;用于判断hash1与hash
′1是否相等;
38.第一摆渡模块:用于将密文从初始用户端中摆渡到摆渡载体;
39.第一密钥共享模块:用于与后续用户端共享第一量子加密密钥和第二量子加密密钥;
40.第一传输模块:用于与后续用户端之间进行种子密钥和hash2以及索引的加密传输。
41.作为本发明的一种改进,所述后续用户端包括以下模块:
42.第二扩充模块:用于将种子密钥扩充成量子扩充密钥;
43.第二哈希运算模块:用于通过预置的哈希函数对从摆渡载体中摆渡得到的密文计算哈希值hash
′2′
、用于通过哈希函数对密文解密后的目标文件计算哈希值hash
′1′
;解密模块:用于利用第一量子加密密钥对目标文件的索引进行解密;用于利用第二量子加密密钥对种子密钥、hash2进行解密;用于利用量子扩充密钥对密文进行解密,得到目标文件和hash1;
44.第二存储模块:用于存储从初始用户端加密传输而来的种子密钥和hash2、索引;
45.第二缓存模块:用于缓存解密后的目标文件和hash1;
46.第二判断模块:用于判断hash2与hash
′2′
是否相等;用于判断hash1与hash
′1′
是否相等;
47.第二密钥共享模块:用于与初始用户端共享第一量子加密密钥和第二量子加密密钥;
48.第二传输模块:用于与初始用户端之间进行种子密钥、hash2以及索引的加密传输。
49.作为本发明的一种改进,所述摆渡载体包括以下模块:
50.第三存储模块:用于存储从初始用户端摆渡而来的密文;
51.第二摆渡模块:用于将密文从摆渡载体摆渡回初始用户端和/或后续用户端。
52.本发明的有益效果为:
53.1、本发明相较于现有技术,无需外接设备参与文件摆渡的过程,首先提高了摆渡效率,其次保证了文件摆渡的实时性,能够随时随地摆渡调用所需文件;
54.2、本发明采用一次一密的量子加密方式,保证加密摆渡的文件的安全性和隐私性,避免文件内容泄露导致的信息安全问题;
55.3、本发明通过哈希计算对加解密前后和摆渡前后的内容都进行哈希计算,得到的多次哈希值两两对比,在相等的情况下才能够解密并显示明文,能够避免摆渡过程中文件被篡改进而造成信息丢失,进一步保证文件的完整性;
56.4、本地仅保存文件名以及种子密钥和hash2、索引,明文内容删除,包含目标文件和hash1的密文存储到云端,通过索引调用密文回到本地解密,能够极大地节省本地存储空间,避免浪费资源;
57.5、本发明不仅提供单个用户端独立摆渡文件的方法和系统,还提供多个用户端摆渡并共享文件的方法和系统,拓宽实际应用场景,为多用户提供工作支持,有效提高便利性,大大提升用户的体验感和留存率。
附图说明
58.图1为文件摆渡方法的流程图;
59.图2为高安全性的文件摆渡系统的结构示意图。
具体实施方式
60.下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅
用于说明本发明而不用于限制本发明的范围。
61.如图1所示,本发明提供一种文件摆渡方法,所述文件摆渡方法应用于网络通信的初始用户端、后续用户端和摆渡载体,所述初始用户端和后续用户端为移动端或pc端,所述摆渡载体为云端。在本发明的实施例中,初始用户端和后续用户端包括手机、平板、便携式笔记本电脑和台式机等。
62.在本实施例的文件摆渡方法中,初始用户端与云端建立通信连接,由初始用户端进行文件的上传和下载。所述文件摆渡方法包括以下步骤:
63.s1、初始用户端选定待摆渡的目标文件,确定目标文件的文件名,并采用基于线性移位寄存器的托普利兹单向哈希函数对目标文件进行哈希计算,生成哈希值hash1;调用初始用户端中预设的至少128比特的量子随机数作为种子密钥,通过量子密钥扩充算法将种子密钥扩充为量子扩充密钥,利用量子扩充密钥对目标文件和hash1进行加密,得到密文后删除量子扩充密钥;随后通过托普利兹单向哈希函数对所形成的密文进行哈希计算,生成哈希值hash2;其中量子扩充密钥的长度与目标文件的大小可以设置呈比例,例如:目标文件的大小为100m,量子扩充密钥的长度为50m;
64.s2、初始用户端将s1中形成的密文发送至摆渡载体并存储在摆渡载体中,记录摆渡载体中的密文存储位置,并将其与目标文件的文件名以及种子密钥和hash2在初始用户端中的存储位置一一对应,形成目标文件的索引;
65.s3、当初始用户端需要获取目标文件时,根据以下步骤获取目标文件:
66.s3-1、首先初始用户端根据目标文件的文件名调取索引,基于索引找到摆渡载体中的密文存储位置,将其对应的密文从摆渡载体中摆渡回初始用户端,随后通过哈希函数对从摆渡载体中摆渡得到的密文进行哈希计算,得到哈希值hash
′2;
67.s3-2、初始用户端将hash
′2与hash2进行比较,如果hash
′2等于hash2,那么调用种子密钥,扩充为量子扩充密钥,对从摆渡载体中摆渡得到的密文进行解密,得到目标文件和hash1,否则,摆渡载体向初始用户端报错,重新进行摆渡操作;
68.s3-3、初始用户端通过与s1中相同的哈希函数对s3-2得到的目标文件进行哈希计算,得到hash
′1;
69.s3-4、初始用户端将hash
′1与hash1进行比较,如果hash
′1等于hash1,那么在初始用户端中显示目标文件,否则初始用户端报错,重新进行摆渡操作。
70.s4、当后续用户端需要获取目标文件时,后续用户端与初始用户端建立通信连接并共享量子加密密钥,初始用户端通过共享的量子加密密钥将目标文件的索引以及种子密钥和hash2加密之后传输给后续用户端,后续用户端收到后根据以下步骤获取目标文件:
71.s4-1、初始用户端与后续用户端建立通信连接并共享量子加密密钥,其中共享量子加密密钥为共享第一量子加密密钥和第二量子加密密钥;初始用户端利用共享的第一量子加密密钥将目标文件的索引加密之后传输给后续用户端,并利用共享的第二量子加密密钥将种子密钥和hash2加密之后传输给后续用户端;
72.s4-2、后续用户端收到初始用户端加密传输而来的目标文件的索引以及种子密钥和hash2之后,利用共享的第一量子加密密钥将目标文件的索引的密文解密,调取索引,基于索引内的密文存储位置将目标文件对应的密文从摆渡载体中摆渡回后续用户端,随后通过预置的哈希函数对从摆渡载体中摆渡得到的密文进行哈希计算,得到哈希值hash
″2;
73.s4-3、后续用户端利用共享的第二量子加密密钥将种子密钥和hash2的密文解密,将hash
″2与hash2进行比较,如果hash
″2等于hash2,那么调用种子密钥,扩充为量子扩充密钥,对从摆渡载体摆渡得到的密文进行解密,得到目标文件和hash1,否则,摆渡载体向后续用户端报错,重新进行摆渡操作;其中种子密钥扩充为量子扩充密钥的方式与步骤s1中的种子密钥扩充方式相同;
74.s4-4、后续用户端通过哈希函数对s4-3得到的目标文件进行哈希计算,得到hash
″1;
75.s4-5、后续用户端将hash
″1与hash1进行比较,如果hash
″1等于hash1,那么在后续用户端中显示目标文件,否则后续用户端报错,重新进行摆渡操作。
76.在步骤s1、s3和s4中,由于采用量子扩充密钥对文件进行加解密,能够利用量子密钥的抗量子攻击特性,有效防止通过暴力破解、撞库等方式获取摆渡载体存储的文件,有效保护摆渡载体存储的文件的安全性,防止信息的泄露。
77.在本发明的上述实施例中,根据量子密钥和加密算法对待摆渡的文件进行加密。对于每次待摆渡的文件的加密时,所采用的量子密钥均是不同的,能够保证每个存储到云端的加密文件的安全性。在本实施例中,将种子密钥在初始用户端中的存储位置与密文在摆渡载体中的存储位置进行关联存储,而非将种子密钥与密文进行直接的关联存储,能够保证种子密钥对应的量子扩充密钥的安全。在本实施例中,待上传文件的数据量越大,初始用户端和后续用户端中对应的模块获取的种子密钥和其对应的量子扩充密钥的长度就越长,能够为不同数据量的待上传文件提供更加安全的加密服务,满足用户对存储安全性的各种需求。用户可随时随地利用近距离的手持设备或电脑,查看需要加密保存的文件。
78.本发明还提供一种文件摆渡系统,所述文件摆渡系统包括基于网络通信的初始用户端、后续用户端和摆渡载体。所述初始用户端包括获取模块、第一扩充模块、第一哈希运算模块、加解密模块、第一存储模块、第一缓存模块、第一判断模块、第一摆渡模块、第一密钥共享模块、第一传输模块。其中获取模块用于获取目标文件、种子密钥。第一扩充模块用于将种子密钥扩充成量子扩充密钥。第一哈希运算模块用于通过预置的哈希函数对目标文件计算哈希值hash1、通过哈希函数对摆渡上摆渡载体之前的密文计算哈希值hash2、通过哈希函数对从摆渡载体摆渡回之后的密文计算哈希值hash
′2以及通过哈希函数对密文解密后的目标文件计算哈希值hash
′1。加解密模块用于利用量子扩充密钥对目标文件和hash1进行加密,得到密文;用于利用量子扩充密钥对密文进行解密,得到目标文件和hash1;用于利用第一量子加密密钥对目标文件的索引进行加密;用于利用第二量子加密密钥对种子密钥和hash2进行加密。第一存储模块用于存储目标文件的文件名、种子密钥和hash2以及索引。第一缓存模块用于缓存解密后的目标文件和hash1。第一判断模块用于判断hash2与hash
′2是否相等;用于判断hash1与hash
′1是否相等。第一摆渡模块用于将密文从初始用户端摆渡到摆渡载体。第一密钥共享模块用于与后续用户端共享第一量子加密密钥和第二量子加密密钥。第一传输模块用于与后续用户端之间进行种子密钥和hash2以及索引的加密传输。
79.在本发明的实施例中,所述后续用户端包括第二扩充模块、第二哈希运算模块、解密模块、第二存储模块、第二缓存模块、第二判断模块、第二密钥共享模块、第二传输模块。其中第二扩充模块用于将种子密钥扩充成量子扩充密钥。第二哈希运算模块用于通过预置的哈希函数对从摆渡载体中摆渡得到的密文计算哈希值hash
″2、用于通过哈希函数对密文
解密后的目标文件计算哈希值hash
″1。解密模块用于利用第一量子加密密钥对目标文件的索引进行解密;用于利用第二量子加密密钥对种子密钥、hash2进行解密;用于利用量子扩充密钥对密文进行解密,得到目标文件和hash1。第二存储模块用于存储从初始用户端加密传输而来的种子密钥和hash2、索引。第二缓存模块用于缓存解密后的目标文件和hash1。第二判断模块用于判断hash2与hash
″2是否相等;用于判断hash1与hash
″1是否相等。第二密钥共享模块用于与初始用户端共享第一量子加密密钥和第二量子加密密钥。用于与初始用户端之间进行种子密钥、hash2以及索引的加密传输。
80.在本发明的上述实施例中,初始用户端和后续用户端都拥有自己的加解密模块,能够防止非法用户端加解密设备占用资源,防止初始用户端和后续用户端的加解密模块接入到了非法的网络侧管理设备,被骗取关键信息。在本实施例中,加密算法和对应的解密算法预先存储在初始用户端和后续用户端的加解密模块上,对加密算法和对应的解密算法的类型不做限定,如可以为对称加密算法和解密算法。
81.在本发明的实施例中,所述摆渡载体包括第三存储模块、第二摆渡模块。其中第三存储模块用于存储从初始用户端摆渡而来的密文。第二摆渡模块用于将密文从摆渡载体摆渡回初始用户端和/或后续用户端。
82.如上所述,各个模块相辅相成,共同协助文件摆渡系统完成文件摆渡过程。
83.实施例一
84.在本实施例中,以初始用户端独自进行文件的摆渡为例:用户持有装有云端应用的初始用户端,在用户确定需要保存的目标文件后,通过初始用户端中预置的基于线性移位寄存器的托普利兹单向哈希函数先对目标文件进行一次哈希计算,得到哈希值hash1,然后初始用户端调用手机内预先分发的一个量子随机数作为种子密钥,通过量子密钥扩充算法,扩充为量子扩充密钥,用其对目标文件和hash1进行加密,得到密文。本实施例中对量子密钥扩充算法不做限定。应注意,本发明所选用的种子密钥的长度都非常小,所占存储空间也非常小,但最小不得短于128比特,而扩充密钥的长度视目标文件的大小而定,一般是呈比例设定的,这样就能以较长的扩充密钥对较大的文件进行加密,以较短的扩充密钥对较小的文件进行加密,保证加密安全性的同时提高加密效率。加密完成后,量子扩充密钥会自动删除,不占用本地存储空间的同时也对密文的安全性做进一步的保障。对未摆渡上云端的密文进行哈希计算,得到哈希值hash2。初始用户端对目标文件的文件元数据(包括文件名、文件大小、存储路径等)与种子密钥和hash2在初始用户端中的存储位置之间形成映射关系,此映射关系反映目标文件的文件名与种子密钥的存储位置一一对应,能够以文件名调取其所对应的种子密钥;随后初始用户端将上述形成的密文发送至云端并存储,记录云端中密文的存储位置,将此存储位置与上述映射关系形成索引,因此能够以文件名调取云端中相应存储位置的密文。此时初始用户端内保存有目标文件和其文件元数据(包括文件名、文件大小、存储路径等)、种子密钥和hash2,初始用户端会将目标文件删除,保留目标文件的文件名以用于后续的索引调用,并保留种子密钥和hash2,密文已发送至云端并存储在云端。密钥和哈希值在本地,密文在云端,隔离保存以增加需要保护的文件的安全性。当用户需要在用户端查看文件内容时,仅需点击文件名,后台就及时执行调取文件的命令:根据文件名调取索引从云端摆渡得到文件名对应的密文,将此密文摆渡回到本地之后首先要进行一次哈希计算,得到hash
′2。此步骤的目的是将hash
′2与hash2进行比较,如果相等,那么
说明发送至云端并存储的过程中没有出现信息丢失或被篡改等问题,可以进行解密工作;否则,则说明该文件的摆渡过程出现问题,需重新开始。解密过程与加密过程类似,需要首先利用索引调取对应的种子密钥,再通过与上文同样的方式扩充为量子扩充密钥进行解密。密文解密后的目标文件需要再次进行哈希计算,得到hash
′1,这是为了将hash
′1与hash1进行比较,如果相等,那么说明加密前后的文件内容一致,文件未被篡改过,可以在初始用户端上显示,否则,则系统报错,重新进行摆渡操作。如果对文件内容需要做出修改,那么用户在查看完文件内容后,直接在初始用户端上对文件进行修改,初始用户端对修改后的文件重复上述步骤,但调用新的种子密钥进行加密,并删除原文件对应的各个密钥、密文、哈希值以及索引。上述加解密过程以及多次的哈希计算和比较过程,保证了文件数据信息的完整性和安全性。这些加解密和数据摆渡的流程都是在手机的后台和云端共同处理的,过程迅速,用户无需等待。在点击文件名之前,初始用户端内未保存文件内容,用户也无法直接看见文件内容,如此以来为初始用户端的内存减轻负担,也为重要文件提供加密保护,使得文件信息更加安全可靠。
85.实施例二
86.在本实施例中,以后续用户端需要进行文件的摆渡为例。后续用户端不可独自进行文件的摆渡上云端,如若需要查看文件内容,需要首先确保已与初始用户端之间进行通信连接,这是为了保证多个后续用户端是合法用户端;随后要确保已与初始用户端共享第一量子加密密钥和第二量子加密密钥,为后续的请求命令作准备。在本实施例中,初始用户端与后续用户端之间共享量子加密密钥的方式如量子密钥分发、量子会议密钥协商等。在证明后续用户端合法后,初始用户端利用共享的第一量子加密密钥将目标文件的索引加密之后传输给后续用户端,并利用共享的第二量子加密密钥将种子密钥和hash2加密之后传输给后续用户端。目标文件的索引与种子密钥和hash2分开加密并传输,提高两者在传输中的安全性。后续用户端收到后通过第一量子加密密钥对目标文件的索引进行解密,从而能够通过索引调取云端对应存储位置的密文,从云端摆渡回本地,通过与实施例一中相同的哈希函数对从云端摆渡得到的密文进行哈希计算,得到哈希值hash
″2。初始用户端再通过第二量子加密密钥将种子密钥和hash2加密之后传输给后续用户端,后续用户端收到后通过共享的第二量子加密密钥进行解密之后,将上述hash
″2与hash2进行比较,当hash
″2等于hash2时才可以调用种子密钥,扩充为量子扩充密钥,对从云端中摆渡得到的密文进行解密,得到目标文件和hash1,否则,云端向后续用户端报错,重新进行摆渡操作;其中种子密钥扩充为量子扩充密钥的方式与实施例一中的种子密钥扩充方式相同。通过与实施例一中相同的哈希函数对得到的目标文件进行哈希计算,得到hash
″1,将hash
″1与hash1进行比较,当hash
″1等于hash1时才可以在后续用户端中显示目标文件,否则后续用户端报错,重新进行摆渡操作。在本实施例中,本实施例中后续用户端所采用的加密算法可以与初始用户端中的加解密模块中的加解密算法相同,将密文从云端摆渡回本地的操作也相同,并且哈希计算、种子密钥扩充的实现方式与实施例一中的步骤的实现方式也大致相同,不同之处仅在于将初始用户端置换为后续用户端,因此在此不再一一赘述。但文件加密后摆渡上云端的操作只可由初始用户端进行,后续用户端不具备将文件加密摆渡上云端的功能。
87.需要说明的是,以上内容仅仅说明了本发明的技术思想,不能以此限定本发明的保护范围,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做
出若干改进和润饰,这些改进和润饰均落入本发明权利要求书的保护范围之内。
技术特征:1.一种文件摆渡方法,其特征在于:所述文件摆渡方法包括以下步骤:s1、初始用户端选定待摆渡的目标文件,确定目标文件的文件名,初始用户端通过预置的哈希函数对目标文件进行哈希计算,生成哈希值hash1;并通过种子密钥对目标文件和hash1进行加密,形成密文,随后通过哈希函数对所形成的密文进行哈希计算,生成哈希值hash2;s2、初始用户端将s1中形成的密文发送至摆渡载体并存储在摆渡载体中,记录摆渡载体中的密文存储位置,并将其与目标文件的文件名以及种子密钥和hash2在初始用户端中的存储位置一一对应,形成目标文件的索引;s3、当初始用户端需要获取目标文件时,基于索引内的密文存储位置从摆渡载体中摆渡得到的密文,获取目标文件;s4、当后续用户端需要获取目标文件时,后续用户端与初始用户端建立通信连接并共享量子加密密钥,初始用户端通过共享的量子加密密钥将目标文件的索引以及种子密钥和hash2加密之后传输给后续用户端,后续用户端收到后通过共享的量子加密密钥进行解密,得到目标文件的索引之后基于索引内的密文存储位置从摆渡载体中得到密文,基于hash2对密文进行校验,校验通过后基于种子密钥获取目标文件。2.根据权利要求1所述的文件摆渡方法,其特征在于:在步骤s1中,所述通过种子密钥对目标文件和hash1进行加密,形成密文,具体为:调用初始用户端中预设的至少128比特的量子随机数作为种子密钥,通过量子密钥扩充算法将种子密钥扩充为量子扩充密钥,利用量子扩充密钥对目标文件和hash1进行加密,得到密文后删除量子扩充密钥。3.根据权利要求1所述的文件摆渡方法,其特征在于:在步骤s1中,所述哈希函数选用基于线性移位寄存器的托普利兹单向哈希函数。4.根据权利要求1所述的文件摆渡方法,其特征在于:在步骤s3中,所述基于索引内的密文存储位置从摆渡载体中摆渡得到的密文,获取目标文件,具体为:s3-1、首先初始用户端根据目标文件的文件名调取索引,基于索引找到摆渡载体中的密文存储位置,将其对应的密文从摆渡载体中摆渡回初始用户端,随后通过哈希函数对从摆渡载体中摆渡得到的密文进行哈希计算,得到哈希值hash
′2;s3-2、初始用户端将hash
′2与hash2进行比较,如果hash
′2等于hash2,那么调用种子密钥,扩充为量子扩充密钥,对从摆渡载体中摆渡得到的密文进行解密,得到目标文件和hash1,否则,摆渡载体向初始用户端报错,重新进行摆渡操作;s3-3、初始用户端通过哈希函数对s3-2得到的目标文件进行哈希计算,得到hash
′1;s3-4、初始用户端将hash
′1与hash1进行比较,如果hash
′1等于hash1,那么在初始用户端中显示目标文件,否则初始用户端报错,重新进行摆渡操作。5.根据权利要求1所述的文件摆渡方法,其特征在于:在步骤s4中,所述后续用户端与初始用户端建立通信连接并共享量子加密密钥,初始用户端通过共享的量子加密密钥将目标文件的索引以及种子密钥和hash2加密之后传输给后续用户端,具体为:s4-1、初始用户端与后续用户端建立通信连接并共享量子加密密钥,其中共享量子加密密钥为共享第一量子加密密钥和第二量子加密密钥;初始用户端利用共享的第一量子加密密钥将目标文件的索引加密之后传输给后续用户端,并利用共享的第二量子加密密钥将
种子密钥和hash2加密之后传输给后续用户端。6.根据权利要求5所述的文件摆渡方法,其特征在于:在步骤s4中,所述后续用户端收到后通过共享的量子加密密钥进行解密,得到目标文件的索引之后基于索引内的密文存储位置从摆渡载体中得到密文,基于hash2对密文进行校验,校验通过后基于种子密钥获取目标文件,具体为:s4-2、后续用户端收到初始用户端加密传输而来的目标文件的索引以及种子密钥和hash2之后,利用共享的第一量子加密密钥将目标文件的索引的密文解密,调取索引,基于索引内的密文存储位置将目标文件对应的密文从摆渡载体中摆渡回后续用户端,随后通过预置的哈希函数对从摆渡载体中摆渡得到的密文进行哈希计算,得到哈希值hash
′2′
;s4-3、后续用户端利用共享的第二量子加密密钥将种子密钥和hash2的密文解密,将hash
′2′
与hash2进行比较,如果hash
′2′
等于hash2,那么调用种子密钥,扩充为量子扩充密钥,对从摆渡载体摆渡得到的密文进行解密,得到目标文件和hash1,否则,摆渡载体向后续用户端报错,重新进行摆渡操作;s4-4、后续用户端通过哈希函数对s4-3得到的目标文件进行哈希计算,得到hash
′1′
;s4-5、后续用户端将hash
′1′
与hash1进行比较,如果hash
′1′
等于hash1,那么在后续用户端中显示目标文件,否则后续用户端报错,重新进行摆渡操作。7.根据权利要求6所述的文件摆渡方法,其特征在于:所述后续用户端中预置的哈希函数与初始用户端中预置的哈希函数相同。8.根据权利要求1所述的文件摆渡方法,其特征在于:所述初始用户端为移动端或pc端,所述后续用户端为移动端或pc端,所述摆渡载体为云端。9.一种文件摆渡系统,其特征在于:所述文件摆渡系统包括基于网络通信的初始用户端、后续用户端和摆渡载体。10.根据权利要求9所述的文件摆渡系统,其特征在于:所述初始用户端包括以下模块:获取模块:用于获取目标文件、种子密钥;第一扩充模块:用于将种子密钥扩充成量子扩充密钥;第一哈希运算模块:用于通过预置的哈希函数对目标文件计算哈希值hash1、通过哈希函数对摆渡上摆渡载体之前的密文计算哈希值hash2、通过哈希函数对从摆渡载体摆渡回之后的密文计算哈希值hash
′2以及通过哈希函数对密文解密后的目标文件计算哈希值hash
′1;加解密模块:用于利用量子扩充密钥对目标文件和hash1进行加密,得到密文;用于利用量子扩充密钥对密文进行解密,得到目标文件和hash1;用于利用第一量子加密密钥对目标文件的索引进行加密;用于利用第二量子加密密钥对种子密钥和hash2进行加密;第一存储模块:用于存储目标文件的文件名、种子密钥和hash2以及索引;第一缓存模块:用于缓存解密后的目标文件和hash1;第一判断模块:用于判断hash2与hash
′2是否相等;用于判断hash1与hash
′1是否相等;第一摆渡模块:用于将密文从初始用户端中摆渡到摆渡载体;第一密钥共享模块:用于与后续用户端共享第一量子加密密钥和第二量子加密密钥;第一传输模块:用于与后续用户端之间进行种子密钥和hash2以及索引的加密传输。11.根据权利要求9所述的文件摆渡系统,其特征在于:所述后续用户端包括以下模块:
第二扩充模块:用于将种子密钥扩充成量子扩充密钥;第二哈希运算模块:用于通过预置的哈希函数对从摆渡载体中摆渡得到的密文计算哈希值hash
′2′
、用于通过哈希函数对密文解密后的目标文件计算哈希值hash
′1′
;解密模块:用于利用第一量子加密密钥对目标文件的索引进行解密;用于利用第二量子加密密钥对种子密钥、hash2进行解密;用于利用量子扩充密钥对密文进行解密,得到目标文件和hash1;第二存储模块:用于存储从初始用户端加密传输而来的种子密钥和hash2、索引;第二缓存模块:用于缓存解密后的目标文件和hash1;第二判断模块:用于判断hash2与hash
′2′
是否相等;用于判断hash1与hash
′1′
是否相等;第二密钥共享模块:用于与初始用户端共享第一量子加密密钥和第二量子加密密钥;第二传输模块:用于与初始用户端之间进行种子密钥、hash2以及索引的加密传输。12.根据权利要求9所述的文件摆渡系统,其特征在于:所述摆渡载体包括以下模块:第三存储模块:用于存储从初始用户端摆渡而来的密文;第二摆渡模块:用于将密文从摆渡载体摆渡回初始用户端和/或后续用户端。
技术总结本发明公开了一种文件摆渡方法及其系统,所述文件摆渡方法应用于基于网络通信的初始用户端、后续用户端和摆渡载体,所述文件在初始用户端、后续用户端与摆渡载体之间进行摆渡,摆渡过程中通过加密对文件进行保护,通过多次哈希计算来保证文件在摆渡过程中的完整性。如此使得对需要提高隐私性和安全性的文件有了保障,避免用户对摆渡过程中信息丢失或被篡改不知情,同时用户能够随时随地远程调取文件,保证文件调取的实时性,提高工作效率。在本地空间保留文件名、种子密钥和哈希计算结果以及索引,不保留原文件,密文发送到其他存储空间,从而有效节省本地空间,节约设备资源。节约设备资源。节约设备资源。
技术研发人员:汪慧 傅波海 张能伟 张超
受保护的技术使用者:矩阵时光数字科技有限公司
技术研发日:2022.07.21
技术公布日:2022/11/1