2

我正在我的网络应用程序中实现 AES-256 位加密:

http://www.utoxin.name/2009/07/automatic-db-field-encryption-in-cakephp/

其中一个步骤是将使用的密码和密钥存储在 boostrap 文件中。但是是什么阻止某人使用 PS 或其他东西扫描文件系统并解密数据呢?

保护数据的最佳方法是什么?

4

3 回答 3

6

如果有人可以访问您服务器硬盘驱动器上的所有文件,那么所有的赌注都没有了。那时你无法保护你的数据,因为你的 webapp 仍然必须能够访问它。

这种加密只会保护您免受可以访问数据库而不是文件系统的攻击者的攻击,例如通过 SQL 注入。即使在这种情况下,他们也可能能够读取数据:根据特定的泄漏,webapp 可能会很乐意为他们解密!

于 2010-02-05T20:09:04.017 回答
1

(我意识到这是一个古老的问题,但作为链接博客文章的作者,我想添加一些评论)

公认的答案所说的都是正确的。一旦您的文件系统受到威胁,就没有任何保护措施。另外,是的,如果写得不好,就有可能以未加密的形式公开数据。该工具旨在简单地提供一种方法,使处理数据库中数据的加密变得更加容易。如果您不喜欢自动解密功能,那么删除该行为的 afterFind() 回调以使其不再触发以及任何数量的其他可以提高安全性的调整(以方便)。

我希望这可以帮助任何偶然发现这篇文章的人。有人有,因为我刚刚从这个问题中获得了一些点击我的博客。:)

于 2011-06-29T16:48:49.750 回答
-1

在 unix 机器上,您可以将其存储到一个文件中,该文件由 apache 的用户帐户创建,具有 0600 权限。这可以通过root访问,所以如果盒子是安全的就没有问题。在windows盒子上,我不知道。

于 2010-02-05T20:10:03.817 回答