文件传输加密

文件传输加密(原理)


背景介绍

一般的文件传输都是通过用户将文件上传到服务器,然后服务器传输到数据库中保存,当再次需要查阅该文件时只需要在数据库中查找,就可以将文件返回给查阅用户,下面是一般文件上传流程示意图:

在这里插入图片描述

文件传输示意图

但在此过程中,用户的文件容易受到窃听、篡改等攻击,如果是秘密文件受到攻击后造成的损失将难以预料,不单单是文件其他数据也是如此。目前信息时代数据就等于黄金,但是只要你连接网络,黑客攻击无时无刻不存在,如何保护数据安全就是首要考虑的任务,由此诞生出网络的数据加密方法。现如今数据在网络之间的加密传输变成重中之重。目前常用的加密方法由对称加密算法、非对称加密算法等。这些算法在网络文件传输中被广泛运用,本文就以这些加密算法来探讨如何对传输的文件进行加密保护。

加密算法

1、对称加密算法(Symmetric-key algorithm):对称加密算法是一种高效且简单的加密技术,其加密和解密过程使用相同的密钥。发送方使用密钥将明文转换为密文,接收方则使用相同的密钥解密密文以获取原始明文数据。尽管其操作简单直观,但对称加密的安全性高度依赖于密钥的安全管理。这种算法在数据传输和存储等各种场景中广泛应用,但密钥的安全性仍然是关键所在。

在这里插入图片描述

对称加密图示

常见的对称加密算法有AESChaCha203DESSalsa20DESBlowfishIDEARC5RC6Camellia

2、非对称加密算法(Asymmetric Encryption Algorithm):非对称加密算法(也称为公钥加密算法)是一种安全的加密技术,使用一对密钥来加密和解密数据,分别称为公钥和私钥。发送方使用接收方的公钥加密数据,而接收方使用其私钥解密数据。这种算法具有较高的安全性,因为加密和解密使用不同的密钥,同时简化了密钥管理,因为只需保密私钥即可。虽然计算成本较高,但非对称加密算法在数据传输和数字签名等领域广泛应用,为信息安全提供了重要保障。

在这里插入图片描述

非对称加密图示

常见的非对称加密算法有:RSAElGamal、Rabin(RSA的特例)、DSAECDSA。使用最广泛的是RSA算法(由发明者Rivest、Shmir和Adleman姓氏首字母缩写而来)是著名的公开秘钥加密算法。

运用算法(非对称加密算法)

1.所有我们能使用这些算法对文件进行加密操作,首先用户选择将文件上传到web端这个过程一般是点击按钮选择文件阶段所以无需加密,当用户选择文件后,web服务器端马上向后端服务器请求公钥,服务器接收到请求后将公钥发送给前端

在这里插入图片描述

用户上传文件以及公钥请求图示

2.然后前端web服务器接收到公钥之后对数据进行加密操作,加密完成后将文件发送到后端服务器,此即完成了文件的加密

在这里插入图片描述

公钥加密文件传输图示

​ 但是真的就如此简单吗,我们看非对称加密算法的过程便可知,非对称加密算法计算成本较高,因此不适合对文件进行加密因为文件对于该算法来说太大了,会出现加密报错。非对称加密算法适用于消息数据收发,密码传输加密或者较小文件等。那么我们传输大文件或者一般文件怎么办?---->对称加密算法就非常适合,但是传输不安全----->密钥一样,密钥管理困难,密钥分发困难,密钥传输容易遭受攻击。 因此解决对称加密密钥传输就可以用对称加密进行文件传输了。

​ 所以我们想到了使用非对称加密算法加密对称加密算法的密钥,对称加密算法加密文件,然后将加密后的文件和密钥同时传送到后端,后端使用私钥对对称加密算法密钥进行解密后,使用解密后的密钥对文件进行解密即可,这样即解决了文件不适合非对称加密算法加密,对称加密算法不安全的问题

算法进阶运用(对称加密+非对称加密算法)

第一步还是和之前一样,文件上传,然后web服务器向后端服务器请求公钥,后端服务器发送公钥文件

在这里插入图片描述

用户上传文件以及公钥请求图示

然后web端生成密钥(对称加密密钥),将文件进行对称加密,然后使用公钥对生成的密钥进行加密,然后将新的文件流(加密文件+加密密钥)传输到后端

在这里插入图片描述

web端生成密钥加密文件以及密钥加密传输图示

这样就完成了整个文件的加密传输流程,且能够安全的传输大文件

​ 在整个传输流程中,如果担心文件完整性被破坏,也可以引入MD5检测,MD5检测是一种无密钥检测,可以进行文件的完整性检测,此外还可以进行更加深入的加密,比如将传输流换成HTTPS传输也可以更加巩固传输加密。

  • 54
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值