在GitHub上存储(加密)密码是否安全?


20

我正在使用pass来处理我的所有密码。它们使用带有4096位密钥的GPG加密,使用SHA256算法。我在密码存储区中的每次登录时都使用不同的密码。

pass的一个很酷的功能是,所有内容都保存在一个具有良好层次结构的文件夹中,这非常适合设置git repo(传递甚至提供该功能)。我想让我的密码存储在我的所有计算机上都是最新的。

将pass git存储库推送到私有GitHub存储库是否安全?如果没有,那么薄弱环节是什么?


我不建议这样做。一个原因是,您保留加密密码将受到离线暴力攻击。
2015年

考虑到它是一个私人回购,我会假设(和GitHub的客户一样)除了GitHub之外没有人可以访问回购。当然,除非我某天以某种方式承诺错误的回购。
Nicolas Mattia 2015年

1
此外,没有人会访问GPG关键,所以有人会需要打破4096位加密,这是不可能的,即使用于离线蛮力攻击
尼古拉斯·马蒂亚

1
除非他们搞砸了,私钥密码是Password1;)因为我今天已经把它提起了一次,我仍然在考虑使用它的公司名称作为密码(komodia)的superfish。它只是让它更容易破解,但仍然。愚蠢的错误使密码更容易解​​密。
dakre18 2015年

@ dakre18级别从“不太可能发生”变为“有趣的解密”
erm3nda

Answers:


13

Terse回答

放一个pass repo github是可以的。

详细答案

你的传递回购是使用你选择的任何私钥进行GPG加密的,因此它就像你选择的密钥一样是防弹。此外,您的私钥不会存储在您的传递回购中。这意味着加密密码文件的私有与公共位置不是密码管理器安全性中的薄弱环节。相反,它是你用它们加密的私钥,你必须担心。

确保它是一个好钥匙(就像你提到的那个)并且不要将它暴露给任何人,因为他们不必破解那个大钥匙使用它。他们只需要输入你的密码,而且,让我们面对现实,要确保你的密码足以阻止所有人,真的很难。

所以不要让别人看到你的钥匙。如果将私钥移动到使用pass的每台计算机上,则只需从github中提取pass repo并单独使用存储在这些计算机上的私钥即可。现在他们都会保持同步和安全。

还有两件事需要考虑

传递的关键是保持密码加密。如果你对他们在github.com上不好,那么你真正依赖的是他们的私人位置,而不是他们的加密状态。如果是这样的话,为什么要对它们进行加密呢?您可以使用通过使用的相同平面文件,而不必费心加密它们。那很方便!

另外,请记住,使密码管理器更易于使用意味着您不太可能想要/需要破坏它。任何时候你必须为它完成传递工作(例如,重置帐户上的密码,因为好的安全密码是在另一台计算机上生成的,而你还没有手动同步,但你现在必须进入)你是会降低它提供的安全性。


我认为你提出了三个非常好的观点:1)服务器上没有加密密钥2)有人看到我的密码就是为什么它首先被加密的原因3)我的笨拙的手指大部分被取出环。但正如@Jens所说,那么我必须相信这个软件。
Nicolas Mattia 2015年

1
通过很简单,你不是真的信任Pass,你相信PGP。话虽这么说,是的,你还是要相信PGP。我的想法是,如果你不相信它加密东西,为什么要使用PGP呢?
Tyler Abair 2015年

6

这样做是安全的,但与不将密码存储区放在公共场所相比,会使您面临更多风险。

  • 意外上传未加密的密码(您不会故意这样做,但确定可能不是偶然发生,或者是因为某些软件错误?)
  • RSA中的未知弱点或使用中的对称加密
  • 显示使用模式(统计功能强大)
  • 意外释放您的访问令牌会导致公共数据; 如果你另外保密,你会更安全
  • 最糟糕的情况是,只显示当前的密码存储历史记录

换句话说:如果你不犯错误,相信软件和加密算法背后的数学保持安全公开存储加密密码存储是没问题的。如果你对这些中的任何一个有疑问(并且个人而言,我的信任将完全按照这个顺序,对于我自己作为一个在数学背后具有高机密性的用户失去信任),保持商店私密。

曾经偶然在一些聊天窗口中发布了私人密码短语?我认识一群人,包括我自己。


3

这是一个很好的问题,因为过去有人将私人密码放在公共存储库中是一个问题。

以这种方式考虑,最好不要将该文件(以及任何其他敏感文件)存储在公共存储库中,即使它是私有的。最好将它备份到某个地方,但是如果我们以某种方式检索你的密码(例如第三方网站),他们就可以访问你的github并仍然检索密码。最坏的情况,但仍有可能。我通常建议将某种文件存储在外部硬盘驱动器上,并可能将硬盘驱动器存放在某处以防万一发生火灾。

如果您真的想使用存储库或云来存储它,只需尽一切可能保证它的安全。

总的来说,这不是最好的主意。这不是最糟糕的,但最好还是想到“如果会发生什么?” 场景。它可能永远不会发生在你身上,但如果真的发生了,那值得吗?

编辑:我正在考虑我的一些帖子中的程序,所以我为你更好地回答了你的问题。


0

pass的一个很酷的功能是,所有内容都保存在一个具有良好层次结构的文件夹中,这非常适合设置git repo

我认为这不安全。对于您的所有帐户(目录结构)未加密。只有密码受到gpg的保护。

(通过甚至提供这种能力)

如果使用pass的能力。也许它更安全。但是你需要使用“pass git init”重建你的商店。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.