将我的KeePass数据库存储在 S3、Dropbox 或更好的 SpiderOak 上肯定会更方便。我担心我的云存储帐户遭到破坏,然后通过暴力破解或其他攻击向量恢复凭据。这有多安全?我需要了解哪些风险?
将 KeePass 数据库存储在云中。有多安全?
在从密码获取数据库加密密钥时,您可以通过增加 PBKDF2 迭代次数来提高 KeePass 数据库的弹性。您可以在 KeePass 中的文件 > 数据库设置 > 安全性下执行此操作。就我个人而言,我使用了大约 5,000,000 发子弹(延迟 1 秒)。请记住,移动设备速度较慢。
很难准确量化,但是如果您在移动设备上拥有数据库,那么我不会说这特别不安全。KeePass 对数据库进行加密,因为保持安全的文件不能作为保证。数据库文件当然最好不要随意使用,但是如果您的安全性取决于加密文件的保密性,那么您将面临比是否使用云存储更大的问题。
一个足够强大的主密码应该可以防止暴力破解至少足够长的时间,以便检测到违规并让您更改其中的密码。通过这种方式,它甚至可能比在移动设备上拥有本地副本更可取,因为如果您暂时将视线从设备上移开,那么有人可能会破坏文件,并且更难识别是否发生了违规行为。
如果您想进一步保护它,您可以通过加密在线存储在云存储中的文件来增加另一层安全性。只要您选择一个难以破解的密码(长且真正随机),主密码就提供了相当好的安全性,但它仍然无法与实际的长加密密钥竞争。如果您对在线存储的文件进行加密,然后将该密钥与您一起使用类似的主密码保护,那么现在仅在线组件就很难解密(如果操作正确,可能不可能),并且如果您的密钥文件被泄露,您只需立即使用新密钥重新加密您的在线数据库。如果有人可以首先破坏您的云帐户并获取文件,您仍然会遇到麻烦,但这需要两个妥协点而不是一个。
就个人而言,我可能最终会使用我的 OwnCloud(它是自托管的),但我拥有拥有自己的个人网络服务器的优势,而且我意识到这不是每个人都可以利用的选择。(我没有这样做的唯一原因是我没有特别需要以这种方式协调关键数据库。)不过,基于公共云的解决方案应该是一个很好的第二选择。
我使用 KeePass-Dropbox 组合。密码数据库使用从强主密码派生的密钥进行加密。即使有人通过您的云帐户获取了您的加密密码数据库,一个足够强大的主密码也会使暴力攻击变得不可行。
简而言之:使用强大的主密码,不要担心这一点。
云本质上是不可信的,保存在上面的文件应该被认为是易受攻击的,所以你需要强大的加密来保护你。KeePass 提供了这一点。但是,您需要能够信任您输入密码的每个客户端。如果你在 iPhone 上阅读它们,你相信这个平台吗?每次输入密码时,您是否都会在地铁上屏蔽摄像头?你的笔记本电脑呢?
您还需要考虑所保护内容的价值。这是在保护您的退休金吗?你的梦幻保龄球联赛得分?在贵国非法的政治异议?在某些情况下,根本不值得冒犯错的风险。
所以是的,只要您信任 KeePass,信任您的设备,并信任您保护主密钥安全的能力,就不必担心将数据库保存在 Dropbox 中。