我应该加密整个数据库,还是只加密其中的字段?
Should I encrypt the entire database, or just fields within?
我们在确保遵守刚刚生效的新 GDPR 方面落后了,我目前正在考虑为我们的电子商务网站加密存储在我们数据库中的数据。我意识到加密不是强制性的,但至少我认为这将是一种有用的附加安全性。
我的问题是:是否有任何 advantages/disadvantages 来加密整个静态数据库,以及使用我自己的加密来存储值?这是您会做的事情,还是您认为这些方法中的一种足以为个人数据提供良好的安全性?
我的理论是,如果有人以某种方式获得了我们的数据库备份,那么使用我们的 PHP 脚本对存储和检索的值进行加密将保护我们 - table 加密将在有人获得对数据库本身的访问权限时保护我们。
我一直在调查这个:Innodb Tablespace Encryption
这应该用于加密整个数据库 table(s)。然后我会使用 PHP 的 openssl_encrypt 函数手动加密发送到数据库的任何个人数据。
如有任何建议,我们将不胜感激。
非常感谢!
我认为这里的一个好的经验法则是加密您知道以后不需要执行搜索的个人身份信息。这样可以在您的服务的可用性和保护用户信息安全的努力之间保持平衡。
例如,用户 ID 和他们的电子邮件加密起来很愚蠢。然而,用户的名字、姓氏和实际地址将是很好的候选者。您不太可能对此信息执行查找。
更高的安全性信息可能需要更深入的方法。为此,您可以从用户密码中导出加密密钥,并使用该密钥来加密信息。这样做的好处是,即使您的数据库服务器 和 您的 API 服务器都受到威胁,攻击者也无法检索此信息。缺点是您需要用户在任何需要使用此信息的时候输入他们的密码。
我们在确保遵守刚刚生效的新 GDPR 方面落后了,我目前正在考虑为我们的电子商务网站加密存储在我们数据库中的数据。我意识到加密不是强制性的,但至少我认为这将是一种有用的附加安全性。
我的问题是:是否有任何 advantages/disadvantages 来加密整个静态数据库,以及使用我自己的加密来存储值?这是您会做的事情,还是您认为这些方法中的一种足以为个人数据提供良好的安全性?
我的理论是,如果有人以某种方式获得了我们的数据库备份,那么使用我们的 PHP 脚本对存储和检索的值进行加密将保护我们 - table 加密将在有人获得对数据库本身的访问权限时保护我们。
我一直在调查这个:Innodb Tablespace Encryption
这应该用于加密整个数据库 table(s)。然后我会使用 PHP 的 openssl_encrypt 函数手动加密发送到数据库的任何个人数据。
如有任何建议,我们将不胜感激。 非常感谢!
我认为这里的一个好的经验法则是加密您知道以后不需要执行搜索的个人身份信息。这样可以在您的服务的可用性和保护用户信息安全的努力之间保持平衡。
例如,用户 ID 和他们的电子邮件加密起来很愚蠢。然而,用户的名字、姓氏和实际地址将是很好的候选者。您不太可能对此信息执行查找。
更高的安全性信息可能需要更深入的方法。为此,您可以从用户密码中导出加密密钥,并使用该密钥来加密信息。这样做的好处是,即使您的数据库服务器 和 您的 API 服务器都受到威胁,攻击者也无法检索此信息。缺点是您需要用户在任何需要使用此信息的时候输入他们的密码。