当前位置: 首页 > 面试题库 >

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

弘浩瀚
2023-03-14
问题内容

关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。

想改善这个问题吗? 更新问题,使其成为Stack Overflow
的主题。

5年前关闭。

这么长的话说来,我们公司最近发生了一次入侵,其中我们的MySQL
DB被丢弃并被盗了。高管们现在真的很紧张,除了提高其他安全性措施外,他们还打算对数据库中的所有客户信息(电子邮件地址,家庭住址,姓名等)进行加密。

我不确定从哪里开始。我们运行一个PHP应用程序。显然,这将增加一些我们想减少的额外开销。另一个问题将是无论在何处使用新的加密字段都很难更改代码。

这让我感到不必要的预防,但管理层对此表示坚决。

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


问题答案:

关于如何使用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-因为它提供了一个很好的,相当基础的安全数据库系统设计介绍,应该给出您会在其他方面找到一些指针来检查您的应用程序。



 类似资料:
  • 问题内容: 我们有一个实时的MySQL数据库,该数据库的插入率为99%,每秒约100个。我们希望每天都存档数据,以便我们可以在不影响主实时数据库的情况下对其进行查询。此外,归档完成后,我们要清除实时数据库。 没有(如果可能)锁定INSERT的最佳方法是什么?我们对查询使用INSERT DELAYED。 问题答案: http://www.maatkit.org/具有mk-archiver 将表中的行

  • 问题内容: 最近,我考虑了将历史数据存储在MySQL数据库中的最佳做法。目前,每个可版本控制的表都有两列-和,两者均为类型。具有当前数据的记录已充满了创建日期。当我更新此行时,我填写了更新日期,并添加了与上一行相同的新记录- 简单的东西。但是我知道表会非常快,因此获取数据可能会很慢。 我想知道您是否有任何存储历史数据的做法? 问题答案: 担心“大”表和性能是一个常见的错误。如果您可以使用索引来访问

  • 问题内容: 在MySQL数据库中存储IP地址的最佳字段类型和长度是什么? IPv6呢? 问题答案: 将IP存储为,然后使用和功能存储/检索IP地址。 样例代码:

  • 问题内容: 已关闭 。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗? 更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我想允许我的客户用户输入他们的信用卡信息,这样我就可以每月向他们收费。 我不知道应该如何保存此信息? 应该将其保存在MySQL数据库(“用户”表)中还是这种信息过于敏感而需要存储在其他位置? 我对此没有经验,如果有人可以建议我如何实现这一目标,我将感到非

  • 我开始创建一个系统,我(作为目前唯一的用户)将加载一个动态创建的PHP页面,该页面具有

  • 问题内容: 我有一个包含3列的表格- id(pk),pageId(fk),名称。我有一个PHP脚本,它将大约5000条记录转储到表中,其中大约一半是重复的,具有相同的pageId和名称。pageId和名称的组合应该是唯一的。当我遍历php中的脚本时,防止重复项被保存到表中的最佳方法是什么? 问题答案: 第一步是在表上设置唯一键: 然后,当有重复项时,您必须决定要做什么。你应该: 忽略它? 覆盖先前