在我公司的MySQL数据库中加密客户信息的最佳方法?

时间:2012-02-13 18:30:49

标签: php mysql security encryption

长话短说,我们公司最近发生了入侵,我们的MySQL数据库被丢弃和被盗。这些高管现在非常紧张,除了提高其他安全措施外,他们还打算加密数据库中的所有客户信息(电子邮件地址,家庭住址,姓名等)。

我不确定从哪里开始。我们运行PHP应用程序。显然,这会产生一些我们想要最小化的额外开销。另一个问题是在使用新加密字段的任何地方都难以更改代码。

这对我来说是一种不必要的预防措施,但管理层似乎坚定不移。

哪种加密算法/方法最适合此用例?

1 个答案:

答案 0 :(得分:55)

有关如何使用MySQL执行此操作的非常好的文章:http://thinkdiff.net/mysql/encrypt-mysql-data-using-aes-techniques/

您需要使用带有256位密钥的AES,因为这是目前流行的最佳实践/标准。 256位AES密钥被认为足够大,可以抵御现代计算能力。

加密数据库是一个好主意,无论你认为它是否过分。即使数据不是非常敏感,客户记录的丢失至少会让您的公司感到非常尴尬,并且可能会对客户信心产生负面影响,并且人们愿意在将来交付数据。加密数据库的全部内容可能不是现在的行业标准,但趋势正在以这种方式发展,并且它不会伤害您采取更强的安全态势。如果不出意外,请将其视为深度防御实施中的另一个条目。

我还建议您查看这篇文章 - http://www.symantec.com/connect/articles/secure-mysql-database-design - 因为它提供了一个很好的,相当基本的安全数据库系统设计介绍,应该为您提供一些指导,以便检查您的应用程序。< / p>