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

eys*_*kal 38 php mysql security encryption

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

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

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

什么类型的加密算法/方法最适合此用例?

小智 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 - 因为它提供了一个很好的,相当基本的安全数据库系统设计介绍,应该给出你有一些关于其他东西的指针来检查你的应用程序.

  • 这种方法不是很安全,因为加密模式将通过这种方法下降回**无人值守的ECB模式**. (7认同)