【问题标题】:Keeping Encrypted Strings Safe with Multiple Encrypts通过多重加密保持加密字符串的安全
【发布时间】:2012-01-07 01:11:51
【问题描述】:

我一直在研究的一个系统需要 DPA,并询问了一个有关保持数据密码安全的问题。因为他们想出了一个解决这个问题的想法,这涉及让数据解密存储在数据库中的数据库的密码,但是在不同类型的散列。

问题是,使用不同的密钥(至少 20 个字符长,可能有扩展名)对密码进行多次加密是否会在没有事先知道或密码信息的情况下更容易解密?

【问题讨论】:

  • 我已经直接回答了你的问题,但请注意,如果没有关于你的方案的更多信息,就无法判断你的具体方案是否易受攻击。密钥应该有位,而不是字符,并且应该使用安全密码(例如 AES)和可能​​的完整性/身份验证。此外,密码应具有最小熵,并且应使用众所周知的密钥派生方案(bcrypt,PBKDF2)从中派生密钥。
  • 对 md5 的响应检查此akkadia.org/drepper/SHA-crypt.txt

标签: security encryption data-protection data-security


【解决方案1】:

不,一般来说,一个好的密码应该具有即使您知道明文也无法检索数据的属性。对数据进行加密应该不会有太大的影响,即使是一个好的密码和足够大的密钥空间。

【讨论】:

  • 所以当你说好的密码时,有没有你会推荐的。我已经玩过 RC4 了。
【解决方案2】:

首先,MD5 不再被视为一种安全加密算法。详情请见http://www.kb.cert.org/vuls/id/836068

其次,数据的加密密钥不应存储在数据库本身中。应单独存放。这样,至少需要获得两件东西(数据库文件和密钥)来解密数据。如果密钥存储在数据库本身中,一旦有人拥有数据库文件,可能很快就可以找到它。

找到一种单独的方法来存储密钥。它应该被编码到应用程序中或存储在以某种方式混淆的文件中。

【讨论】:

  • 我没有意识到 md5 不再安全,但是如果我更改为其他一些散列方法,可能是我自己创造的一种,它可以保证它的安全。您可以建议 MD5 的替代品吗?
  • 你不能只创建一个安全的散列方法,它需要付出很多努力(多少?检查 SHA-3 竞争)。 SHA-1 仍然安全但易受攻击,最好使用 SHA-256 或 SHA-512(令人困惑的是,它们是 SHA-2 哈希算法,全名是 SHA-2 256,但没有人使用过)
猜你喜欢
  • 1970-01-01
  • 2013-08-05
  • 2018-02-06
  • 2017-03-17
  • 1970-01-01
  • 1970-01-01
  • 2011-04-07
  • 2023-03-10
  • 2011-03-11
相关资源
最近更新 更多