我的 .ssh 文件夹中有一个公钥和密钥对。密钥是如何存储在磁盘上的?我的意思是..是否有人可以侵入我的计算机,窃取密钥并用它来解密我所有用我的公钥加密的消息?
其次,gpg 需要密码才能使用密钥。这是否意味着有人可以暴力破解密码并使用密钥?毕竟,密码永远不会像密钥那样安全..
还是计算机在幕后做了一些魔术,以使暴力破解保护密钥的密码根本不可能?
我的 .ssh 文件夹中有一个公钥和密钥对。密钥是如何存储在磁盘上的?我的意思是..是否有人可以侵入我的计算机,窃取密钥并用它来解密我所有用我的公钥加密的消息?
其次,gpg 需要密码才能使用密钥。这是否意味着有人可以暴力破解密码并使用密钥?毕竟,密码永远不会像密钥那样安全..
还是计算机在幕后做了一些魔术,以使暴力破解保护密钥的密码根本不可能?
密钥是如何存储在磁盘上的?
像任何其他文件一样存储在磁盘上。
有人可以侵入我的计算机,窃取密钥并使用它来解密我所有用我的公钥加密的消息吗?
是的。因此,您的私钥非常重要。
这是否意味着有人可以暴力破解密码并使用密钥?
是的他们可以。如果您的私钥落入坏人之手,使用弱密码保护您的私钥并不能保证您的安全。
当谈到公钥/私钥加密时,没有低估你的私钥应该有多私密。
要添加 Matt 和 James 的答案,OpenSSL 允许您使用我强烈推荐的密码短语。这可以说比密码更安全,因为它理论上会增加更多的熵(存在多少可能性),请参阅http://xkcd.com/936/。
我说“可以说”和“理论上”,因为仍然完全有可能使用弱密码短语来解决这个问题。最近的一项研究表明,可以使用常用术语来暴力破解密码短语。http://www.jbonneau.com/doc/BS12-USEC-passphrase_linguistics.pdf
我目前的做法是生成大约 100 个字母数字和符号字符的长字符串,并将它们存储在 LastPass 中。这意味着我的私钥密码对我来说没有任何意义,或者根本不值得记住,但缺点是如果有人想出我的 LastPass 密码并获得我的私钥,他们就可以打开它.
在 James Mishra 的出色答案之上添加两件事:
密钥是如何存储在磁盘上的?我的意思是 ..
OpenSSH 支持选择性地使用密码加密您的私钥。使用足够好的密码,即使对手拥有该文件,也无法解密您的密钥。
有人可以侵入我的计算机,窃取密钥并使用它来解密我所有用我的公钥加密的消息吗?
SSH 使用前向保密,因此他们将无法解密您过去的通信。他们将能够冒充您,显然会造成许多其他麻烦。