商业

当前位置/ 首页/ 商业 正文

新的MongoDB字段级加密可以帮助防止数据泄露

MongoDB今天发布了一个新版本,其中包括字段级加密(FLE),这是一种新的机制,可以保护存储在数据库中的敏感信息,即使攻击者破坏数据库本身或运行它的服务器也是如此。

MongoDB 4.2的FLE实现不涉及在服务器上存储密钥或执行任何加密和解密操作。相反,这些操作由MongoDB客户端库(也称为驱动程序)执行,该库由应用程序使用。

从服务器的角度来看,客户端发送的密文加密数据只是存储在字段中的另一种数据。这意味着即使服务器受到威胁,或者数据库因使用弱或默认管理凭据而暴露于互联网,攻击者也无法窃取任何已加密的敏感信息。但是,如果攻击者获得对数据库的管理访问权限,则FLE不会阻止可能发生的数据破坏攻击。

过去,黑客已经破坏了成千上万公开暴露的MongoDB和其他类型的数据存储。其中一些攻击导致严重的数据泄露,而其他攻击则用于勒索软件式攻击。MongoDB和其他类型的数据库也经常成为暴力密码猜测攻击的目标,也称为凭证填充。

更改MongoDB驱动程序,而不是应用程序代码

在客户端,新的FLE对应用程序是透明的,因为它由MongoDB驱动程序处理,而不是实际的应用程序代码。这意味着在许多情况下甚至不需要更改应用程序代码以使用新功能,MongoDB的产品安全负责人Kenneth White告诉CSO。开发人员只需要更新驱动程序。

如果客户端应用程序尝试将明文数据写入标记为加密数据的字段,则服务器上也会引入一些更改以警告客户端应用程序,但最终客户端具有权威性。要从此通报功能中受益,用户最好同时更新MongoDB客户端库和服务器。

在许多方面,FLE的工作方式类似于端到端加密,其中两个端点是需要存储和处理敏感客户数据的不同应用程序。该实现实际上使用经过身份验证的加密来防止某些加密攻击。

怀特说:“我们已经为有意操纵或破坏数据之类的东西建立了一些防御措施,比如预先消息或填充oracle攻击。” “我们使用的是现代算法,可以抵抗这种操纵尝试。”

法规遵从性福利

FLE还可以帮助公司遵守监管要求,例如通用数据保护法规(GDPR)以及在欧盟被遗忘的权利。一旦与客户关联的密钥被销毁,服务器和所有应用程序中的数据就会变得无用。

新功能还允许公司更好地控制谁有权访问敏感信息。例如,在大多数情况下,服务器和数据库管理员可以不受限制地访问数据库,这可能代表隐私或安全风险。即使组织制定了禁止IT基础架构团队查看敏感客户数据的政策,也通常没有技术机制来阻止它。FLE可以帮助强制执行这种职责分离,让管理员管理数据库集群和服务器基础架构,而无需密钥来解密数据。

新的FLE功能针对医疗保健或金融等行业,这些行业具有监管要求以保护某些类型的客户记录。然而,作为核心隐私功能,它对任何公司都有用,White说。

还值得注意的是,因为加密是在客户端处理的,所以对服务器没有额外的性能影响。此外,密钥可以单独存储在外部密钥管理器中。

MongoDB的字段级加密工作流程

以下是MongoDB如何解释FLE加密工作流程:

收到查询后,MongoDB驱动程序会分析查询以确定过滤器中是否包含任何加密字段。

驱动程序从外部密钥管理器请求字段的加密密钥。

密钥管理器将密钥返回给驱动程序,然后驱动程序对敏感字段进行加密。

驱动程序将查询提交给MongoDB服务器,加密字段呈现为密文。

MongoDB将查询的加密结果返回给驱动程序。

查询结果由驱动程序持有的密钥解密并返回给客户端。