加密数据库以符合 GDPR 是否有意义?

信息安全 加密 数据库 国内生产总值
2021-08-22 11:41:44

我很难说出这个问题。我宁愿问,“我如何遵守GDPR?” 但这可能是一个过于宽泛的问题。数据库加密最让我担心,因为这是客户想要的。

让我们考虑一些典型的站点:前端(Javascript)、后端(Ruby、Python、PHP,随便你)和数据库(例如 PostgreSQL)。它可能是单页应用程序,也可能是传统方法 (MPA)。最有可能的数据库和后端在同一台服务器上。

对我来说,这听起来不值得努力。一般来说,秘密只能保存在服务器上。如果有人获得对数据库的访问权,他很可能能够找到这个秘密。除非可能是通过 SQL 漏洞获得访问权限,而如今的框架大多没有这些漏洞。或者我相信。

那么,加密数据库以符合 GDPR 是否有意义?在哪里保守秘密?加密数据库有什么缺点?加密什么信息?有没有更好的方法?

1个回答

关于合规

我对立法的具体细节只是粗略熟悉,但据我了解,没有任何迹象表明需要数据库加密来保存个人信息并遵守通用数据保护条例 (GDPR)。

另一方面,使用适当的加密措施将在一定程度上减少隐私影响和通知要求,以防出现违规行为。

(3) 满足下列条件之一的,无需与第 1 款所述的数据主体进行通信:

a) 控制者实施了适当的技术和组织保护措施,并且这些措施适用于受个人数据泄露影响的个人数据,特别是那些使任何无权访问它的人无法理解个人数据的措施,例如作为加密;

摘自: https ://gdpr-info.eu/art-34-gdpr/

关于加密对数据库安全的好处

加密可以显着降低数据泄露的影响。例如,2015 年 Patreon 遭到破坏,失去了对 15GB 数据的控制权。值得称赞的是,Patreon 使用强大的 bcrypt 哈希来保护密码,并使用二级加密措施来保护敏感信息,如社会安全号码和税务信息。

如果他们没有对信息进行加密,那么对 Patreon 及其用户的破坏的影响将会大大增加。

关于密钥管理

如果您担心攻击者无论如何都能够访问密钥,那么您可以采取一些步骤来降低这种风险。

最终,除非您使用硬件安全模块 (HSM),否则保护密钥基本上就像与攻击者玩贝壳游戏。保护密钥的一种合理有效的方法是根本不将它们存储在服务器上。我最喜欢的解决方案之一是 Azure KeyVault 服务。

通过将密钥保留在服务器上的永久存储空间之外并仅从内存中检索它们以供使用,这使得攻击者检索密钥变得相当困难。您仍然需要存储密钥才能访问密钥......但是添加额外的间接层将使攻击者更难。