System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种文件传输方法、文件下载方法、服务器及客户端。
技术介绍
1、随着信息技术的快速发展,越来越多的敏感数据通过网络进行传输,并在本地和云端存储,数据的安全传输和存储变得尤为重要。
2、基于传统对称加密算法的文件存储解决方案中,通过使用对称加密算法(如aes)对文件进行加密。然而对称加密算法依赖一个密钥对文件进行加密和解密,密钥泄露可能导致加密文件的安全性受到严重威胁。
技术实现思路
1、鉴于上述问题,本申请提供了一种文件传输方法、文件下载方法、服务器及客户端,以实现提高文件传输、下载安全性的目的。具体方案如下:
2、本申请第一方面提供一种文件传输方法,应用于服务器,所述文件传输方法包括:
3、接收客户端发送的携带有文件标识和客户端公钥的文件请求,根据所述文件标识确定客户端请求的目标文件;
4、生成第一随机数;
5、使用预设密钥交换算法,基于所述第一随机数、服务器私钥和所述客户端公钥生成第一共享密钥;
6、使用预设非对称加密算法和所述客户端公钥对所述第一随机数进行加密,生成第一加密随机数;
7、使用预设签名生成算法,基于所述目标文件的文件参数、所述第一随机数、所述第一加密随机数和所述第一共享密钥生成服务器签名;
8、将服务器公钥、所述第一加密随机数、所述服务器签名以及所述目标文件的文件参数和下载链接发送到所述客户端,以使所述客户端根据所述下载链接下载所述目标文件。
9、在一种可能的实现中,所述使用预设密钥交换算法,基于所述第一随机数、服务器私钥和所述客户端公钥生成第一共享密钥,包括:
10、根据所述第一随机数在预设椭圆曲线列表中选择第一椭圆曲线;
11、使用ecdh算法,基于所述第一椭圆曲线对所述服务器私钥和所述客户端公钥进行加密生成所述第一共享密钥。
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、若所述第一验证签名与所述服务器签名一致,则确定所述目标文件安全。
37、在一种可能的实现中,若所述第一验证签名与所述服务器签名一致,所述文件下载方法还包括:
38、向所述服务器发送所述目标文件、所述第一验证签名和所述第一加密随机数;
39、接收所述服务器发送的验证服务器签名;
40、判断所述验证服务器签名与所述第一验证签名是否一致;
41、若一致,则确定所述目标文件安全;
42、若不一致,则重新从所述下载链接下载所述目标文件。
43、在一种可能的实现中,在确定所述目标文件安全之后,所述文件下载方法还包括:
44、接收所述服务器发送的第二加密随机数;
45、使用所述预设非对称加密算法和所述客户端私钥对所述第二加密随机数进行解密,得到第二随机数;
46、使用所述预设密钥交换算法,基于所述第二随机数、所述服务器公钥和所述客户端私钥生成第二共享密钥;
47、使用所述预设签名生成算法,基于所述目标文件的文件参数中的文件标识和创建时间、所述第二随机数和所述第二共享密钥生成压缩包密码;
48、利用所述压缩包密码对所述目标文件进行解密和解压。
49、在一种可能的实现中,在利用所述压缩包密码对所述目标文件进行解密和解压之后,所述文件下载方法还包括:
50、将所述目标文件和所述目标文件的解压文件进行本地存储,得到所述目标文件的压缩包文件路径和文件路径;
51、将所述目标文件的文件参数、所述第一加密随机数、所述服务器签名进行本地存储。
52、在一种可能的实现中,所述文件下载方法还包括:
53、根据所述目标文件的文件标识在本地存储查询所述目标文件的文件参数、所述第一加密随机数、所述服务器签名、所述文件路径和所述压缩包文件路径;
54、从所述压缩包文件路径获取本地存储的所述目标文件;
55、使用所述预设非对称加密算法和所述服务器公钥对所述第一加密随机数进行解密,得到所述第一随机数;
56、使用所述预设密本文档来自技高网...
【技术保护点】
1.一种文件传输方法,其特征在于,应用于服务器,所述文件传输方法包括:
2.根据权利要求1所述的文件传输方法,其特征在于,所述使用预设密钥交换算法,基于所述第一随机数、服务器私钥和所述客户端公钥生成第一共享密钥,包括:
3.根据权利要求1所述的文件传输方法,其特征在于,所述使用预设签名生成算法,基于所述目标文件的文件参数、所述第一随机数、所述第一加密随机数和所述第一共享密钥生成服务器签名,包括:
4.根据权利要求1所述的文件传输方法,其特征在于,所述文件传输方法还包括:
5.根据权利要求1所述的文件传输方法,其特征在于,在接收客户端发送的携带有文件标识和客户端公钥的文件请求之前,所述文件传输方法还包括:
6.一种文件下载方法,其特征在于,应用于客户端,所述文件下载方法包括:
7.根据权利要求6所述的文件下载方法,其特征在于,若所述第一验证签名与所述服务器签名一致,所述文件下载方法还包括:
8.根据权利要求6或7所述的文件下载方法,其特征在于,在确定所述目标文件安全之后,所述文件下载方法还包括:
...【技术特征摘要】
1.一种文件传输方法,其特征在于,应用于服务器,所述文件传输方法包括:
2.根据权利要求1所述的文件传输方法,其特征在于,所述使用预设密钥交换算法,基于所述第一随机数、服务器私钥和所述客户端公钥生成第一共享密钥,包括:
3.根据权利要求1所述的文件传输方法,其特征在于,所述使用预设签名生成算法,基于所述目标文件的文件参数、所述第一随机数、所述第一加密随机数和所述第一共享密钥生成服务器签名,包括:
4.根据权利要求1所述的文件传输方法,其特征在于,所述文件传输方法还包括:
5.根据权利要求1所述的文件传输方法,其特征在于,在接收客户端发送的携带有文件标识和客户端公钥的文件请求之前,所述文件传输方法还包括:
6.一种文件下载方法,其特征在于,应...
【专利技术属性】
技术研发人员:王文杰,
申请(专利权)人:北京搜狐新动力信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。