加密上传目录中的文件

加密上传目录中的文件

我有一个文件传输网站,允许用户将数据上传到传入目录。上传的内容将被加密,然后从传入目录移出并移入档案不能从服务器应用程序直接访问的目录。

另外四个用户需要处理加密文件。他们将从档案目录并在他们的工作站上解密。

我认为:

如果使用密码(对称密码),并且四个人中有一人离开组织,他们可能仍然知道加密数据的密码。即使他们可能无法物理访问文件,攻击媒介仍然存在。为了缓解这种情况,可以解密所有当前存档文件,并使用新密码重新加密,但这仅在文件大小和数量接近有害处理时间时才有效。

如果使用共享密钥(非对称),则所有文件都需要加密四次(每个公钥一个文件)。这增加了工作流程的混乱,显然存储容量消耗现在增加了 4 倍。

加密文件并与多人共享的最佳方法是什么?

答案1

您对非对称加密的假设是错误的。

非对称加密几乎从未用于直接加密用户数据,因为它太慢且不切实际。

相反,大多数产品都实现了杂交种方案,其中使用随机选择的对称密钥加密数据,然后使用非对称算法加密随机密钥。

有了这样的系统,如果您有多个收件人,则只需为每个收件人加密一次随机对称密钥。

对于 RSA 和 ECC,开销与公钥的大小相对应,例如 2048 位 RSA 大约需要 256 个字节。Elgamal 的开销是这个的两倍。如果您的文件很大,这仍然无关紧要。

关于重新加密问题,请考虑您的安全模型:您能阻止用户未经授权复制数据吗?您可能做不到。那么,重新加密旧数据可能就毫无意义了;将它们从未来文件的收件人列表中删除可能就足够了。

答案2

为此,我会考虑使用类似 Hashicorp 的产品保险库。它既可以管理密钥,也可以提供加密和解密服务。这意味着您的任何用户(或文件服务器)都无法访问密钥 - 他们使用自己的凭据调用 Vault,Vault 代表他们执行加密操作。

当然,所有操作都会被记录下来以供审计目的。

相关内容