我有什么理由不应该让 GPG 加密的文件可以公开访问吗?

信息安全 pgp 文件加密
2021-09-03 02:07:39

我正在做一个项目,我们需要让一些特定文件易于访问,但要加密。我的想法是让项目的公共网站上的文件可用,并加密到所有成员的 PGP 密钥。我知道理论上,这意味着只有那些成员才能解密它,并且文件是安全的,但是我错过了风险吗?

4个回答

总是存在任何给定密码在某个时候被破解的风险,这样的数据将真正公开。所以是的,存在一些风险,但这并不意味着您没有做出合理的安全权衡。

您可能需要考虑以下几点:

数据公开的最坏情况是什么?这些数据公开是否有您可能不知道的影响?

该数据是否有任何基于时间的因素,例如数据仅对一年、一周等有用?

这些数据公开是否有任何监管、法律或道德影响?

您能否添加额外的安全控制,使其不仅仅是保护数据的一种控制?

您想与之共享此数据的人是否需要所有数据,或者他们是否可以使用较小的数据子集来满足他们的需求?

数据屏蔽(用已知的虚假数据替换敏感数据)是否可以提供额外的安全性?

它将在哪里解密,解密密钥将存储在哪里?

破解密码很容易暴力破解吗?

等等......数以百万计的其他问题都在这里。

没有什么是 100% 安全的,一切都是一个权衡,所以你需要先从几个不同的角度来看待这个决定。

一般来说,当我看到一个安全控制时,我的建议是告诉您您需要额外级别的安全控制,而不仅仅是一个。所以我不得不建议你考虑额外的控制,但即使那样我也不知道你在保护什么,如果它只是互联网猫照片的集合,那么嘿,也许只使用 GPG 就足够了......(无意冒犯GPG 当然,这是一个很棒的工具,但猫的照片无处不在)

我认为最大的风险之一是有人不小心将加密文件替换为其未加密版本。将文件保存在私人地方可以防止这种情况发生。这是其他人提到的多层安全概念的一部分:当一个层被绕过时,无论是恶意还是意外,当您意识到发生了什么时,您仍然有一些保护措施可以保护您。

永远不要忘记,最大的漏洞(几乎)总是人。

XKCD 538

如果你对加密有信心(你应该这样做),根据你的实现,你可能会泄漏某种元数据,例如:

  • “用户 A 正在使用该服务”,或
  • “用户 B 配置自 ... 以来未更新”,或
  • “最近创建了一个新用户 C”,或
  • “80% 的用户最近离开了该服务”。

假设正确实施加密,如果任何成员的密钥被暴露或被黑客入侵,那么您的数据很容易受到攻击。

你在这个分布中的人越多,信息泄露的风险就越大。

另请查看此链接, 加密和先前加密数据的“安全时间衰减”