2

我正在使用带有 LAMP 堆栈的 Zend Framework。客户要求保护敏感数据,包括电子邮件。在这个项目中,电子邮件将以两种方式使用:发送自动消息和发送新闻通讯。

有没有人用这个工作过?哪些算法快速、可靠并且可以与可变加密密钥一起使用?我应该在哪里存储加密密钥?数据库表应该使用什么引擎?

4

2 回答 2

4

好的,这是我的 2cent。

对于需要即时加密和解密的数据,我建议使用对称密钥算法,首先想到的是Blowfish。它既快速又相对安全。

至于变量键。通常,为需要加密和解密的每个条目使用不同的密钥几乎没有任何好处。因此,我建议使用在配置文件中某处设置的单个密钥。

如果您确实需要为每个用户/记录提供一个密钥,我建议不要将它们保存在数据库中。将它们保存到磁盘上的平面文件中。

至于表引擎,你选择哪一个并不重要,只要它不是基于内存的。


至于优点 - 我认为有优点,如果客户特别要求的话。即使在技术上几乎没有理由创建这种加密,这也将有助于客户感到安全。当然,这可能是错误的,但它确实有助于使数据更加安全,并让客户睡得更香。因此,如果客户要求,那就去吧!

于 2012-07-18T08:01:50.160 回答
1

如果您真的必须这样做,Janis Peisenieks 给出的答案是一个很好的起点。

据我所知,在 PHP 中存储密钥没有安全的方法——这意味着对您的系统有适度控制的攻击者可以从配置文件中检索密钥,并使用它来解密数据。

想要知道您用户的电子邮件地址的攻击者将有多种选择来检索该数据 - 正如 GordonM 所写,如果您的系统向这些用户发送电子邮件,则该电子邮件相对容易被拦截,而正文可能被加密,到“解决”不是。

只需检查您是否将对密码进行散列(而不是加密)密码(如果您的系统使用这些密码?)

于 2012-07-18T09:21:17.507 回答