在 Linux 上加密文件并在 Windows 上解密的简单方法?

信息安全 密码学 加密 文件加密
2021-08-21 05:40:55

我们需要一个加密过程来备份非常有价值的数据。此数据将存储在分布式文件系统上,因此即使权限设置正确,复制或读取此数据也并非遥不可及。我正在寻找一种相当简单的方法来加密 tar 档案,并且只能让三个人读取它们。

经过大量搜索,我想知道是否可以使用具有合理密钥长度(pub/priv 密钥)的 GPG,或者对称加密方案是否同样安全。我倾向于使用公钥方法,因为我可以在不存储密码的情况下自动加密。

私钥或密码可以合理安全地带外传输,我希望如果没有用于长期存档的密钥,数据将无法读取。


编辑:我猜公开访问备份的最大问题是密钥长度。我不希望数据在五年内可读。即使去 2048 Bit 也不能​​保证聪明的研究人员不会提出新的攻击。

我想如果我需要至少 20 年,4096 甚至 8192 位是否合理?

生成的熵也是我正在考虑的一个因素,但我有一个相当好的随机源(不是 PRNG),我只是在检查 GPG 如何使用它。

还有什么我需要考虑的吗?


编辑二:目标受众是我和两个同事,所以我假设在查阅了我写的 HowTo 之后,另外两个将能够使用 GPG4Win。

当然,我试图防止用户阅读文件。这些文件将对更广泛的受众半可用(想象一个公司网络,其中每个工作站都是分布式复制文件系统(如 GlusterFS)的一部分)。我还需要保护文件的完整性,而不是它们的可用性(Gluster 会负责)。

2个回答

GnuPG确实是要走的路。Gpg4win中存在 Windows 版本

使用非对称密钥意味着加密数据(备份系统)不需要知道任何私有数据元素,因此它的妥协不允许攻击者解密过去的备份。此外,您可以相对于几个公钥加密存档(这不会使数据扩大太多),从而允许您潜在地“撤销”人员(如果您决定您的三个人中的一个人应该不再能够解密备份,您只需停止对他的公钥的备份进行加密,而无需为其他两个更改任何内容)。

对于三个人可以读取的文件,那么这三个人中的任何一个都可以

1)需要相同的密钥(这意味着您可以使用对称或非对称加密) 2)使用单独的密钥和为每个用户加密的文件的副本 - 注意另见 Thomas 的回答 - 似乎表明 GPG 支持多目标加密,尽管我'不熟悉。3) 使用相同的密钥,但三个副本使用不同的密码

或者,您可以使用仲裁加密算法(最小充分性为 1) - 但我不知道有任何产品实现了这一点,更不用说适用于不同平台的兼容软件了。

您可能还想查看SSL Certificates howto,它描述了使用 x509 证书加密/解密文件(类似于 GPG,但具有更好的密钥集中管理)。

高温高压