bpq*_*fpn 3 encryption file-format
我有兴趣了解应用程序Data Guardian生成的加密文件的格式。据我所知,密码的某种转换存储在名为“hexIdentifier”的字段中。我觉得奇怪的是,如果两个文件使用相同的密码保存,那么它们都具有相同的“hexIdentifier”字符串。我没有为这个应用程序做广告,我也没有隶属于该公司。我正在评估该应用程序。
如果它确实将密码(编码或未编码)实际存储在加密文件中,我会感到非常惊讶,因为这样做会表明对密码学的基本缺乏了解,在这种情况下,如果您愿意,强烈建议跳过该软件需要加密的文件是安全的。没有实际的理由来存储密码。
即使是低价格是不是一个理由去使用它,如果它确实存储密码,因为有大量的其他方案是更安全的,甚至免费的(其实,即使标准的归档提供安全加密功能(不存储密码) .
至于数据卫士,我有一些坏消息。我做了一些测试,你和惊奇是正确的。似乎这个hexIdentifier字段不仅与密码有关,而且它甚至不是一个哈希值,它是实际的密码!(尽管已编码,但即使不是大字母表)。
如果您使用越来越大的密码(例如,一个字符、两个字符、三个...)一遍又一遍地保存同一个文件,它将导致字段发生变化,但大小保持不变(64 位),最多八个字符,然后从 9 到 16 个字符,该字段更改为 128 位,依此类推。换句话说,它分块(填充?)并以 8 个字符的块对密码进行编码。如果是散列,则无论密码长度如何,该字段的大小都将保持不变。因此,它实际上对密码本身进行编码和存储。
程序文件夹中有一个 DLL 表明它使用 Blowfish 块密码(使用 64 位块 - 还记得上面的 64 位块吗?),所以密码很可能用它和数据加密(尽管与数据分开,而不是作为同一流的一部分,这使得它更容易受到攻击)。
仅仅运行程序内测试(同时看电视),而无需在反汇编程序中打开它或查看一行代码,我已经在短短几分钟内找出了该算法的几个方面。我不认为对于有适当动机的人来说完全扭转它会太困难。
总之,如果您需要加密,Data Guardian 不够可靠(有点违背了名称的目的)。如果您不需要加密或数据不敏感,那么您可以使用它(它是一个专门的记录保存程序,而不是通用加密程序)。否则,如果需要安全性,那么您最好寻找另一个具有更强加密功能的记录管理程序,或者只使用普通程序(甚至 Data Guardian)并使用通用加密程序(或NTFS 加密)加密保存的文件。
您也可以联系开发人员并询问他们是否可以实现更强大的加密(即使是标准的 Microsoft 加密 API [1] [2] [3] [4]也会很好;Crypto++也很常见,因为 Boost 无法添加)。
| 归档时间: |
|
| 查看次数: |
1410 次 |
| 最近记录: |