有一些工具,例如 gpg 或 ccrypt,使用 AES 算法对称加密文件,我读到过它非常安全,并且使用 128/256 位密钥。现在,也许我遗漏了或没有理解某些内容,但这些工具会根据您输入的密码短语生成该密钥。
那么加密数据是否像密码一样容易受到攻击?也就是说,如果您使用弱密码,是否容易受到暴力攻击?
我的意思是,如果您使用 6 个字符的密码,那么匹配密码的尝试次数将比猜测 128 位密钥的次数少得多。
如果是真的,那么常见的做法是什么?只需使用一个很长很难猜到的密码即可?
答案1
是的,当然。你说得对。每个仅依赖密码作为输入的系统都会像密码一样强大。有多种方法可以使加密更强大:
- 当然使用优质密码。强度取决于多种因素,例如:您的数据价值几何,潜在攻击者愿意为破解数据投入多少资金,数据在未来多久内能够保持不可破解等。
- 仅使用经过验证的函数来获取加密密钥的软件,该函数会消耗大量计算时间,例如PBKDF2。这使得字典和暴力破解密码变得更加困难。
- 如果可能的话,除了密码之外,还可以使用其他因素 - 例如受密码保护的加密密钥物理安全存储。这些设备称为智能卡或 USB 安全令牌。
- 如果上一点的解决方案不可行,并且加密数据存储在非常容易访问的环境中(如公共 Web 服务器),您可以通过将加密密钥存储到文件中来提高安全性 - 当然是用您的密码加密的(尊重前两点)。带有加密密钥的文件将存储在更安全的位置,例如您计算机上的个人目录。
答案2
简而言之,是的 - 无论何时使用对称加密,其强度都取决于您选择的密码,因此您需要选择一个较长且难以暴力破解的密码。没有明确的指导方针说明密码需要多长,但如果您追求最大安全性,则应该将密码长度控制在 20-30 个字符。