文档菜单
文档首页
/ / /
PyMongo
/

使用中加密

本页内容

  • 概述
  • 可查询加密
  • 客户端字段级加密

您可以使用PyMongo通过一组称为使用中加密的特性来加密特定文档字段。使用中加密允许您的应用程序在发送到MongoDB之前加密数据,并查询具有加密字段的文档。

使用中加密可以防止未授权用户在数据发送到MongoDB或在其加密数据库中时查看明文数据。为了在应用程序中启用使用中加密并授权其解密数据,您必须创建只有您的应用程序可以访问的加密密钥。只有有权访问您的加密密钥的应用程序才能访问解密后的明文数据。如果攻击者获取对数据库的访问权限,他们只能看到加密的密文数据,因为他们没有访问加密密钥。

您可能会使用使用中加密来加密包含以下类型敏感数据的MongoDB文档字段

  • 信用卡号码

  • 地址

  • 健康信息

  • 财务信息

  • 任何其他敏感或可识别的个人身份信息(PII)

MongoDB提供了以下功能来启用使用中加密

  • 可查询加密

  • 客户端字段级加密

可查询加密是下一代在使用中的加密功能,首次在MongoDB Server版本6.0中作为预览功能引入,并在MongoDB 7.0中作为一般可用(GA)功能提供。可查询加密支持在加密字段中进行等于性搜索,并为每个值提供唯一的加密。

重要

预览功能与MongoDB 7.0不兼容

MongoDB 6.0中可查询加密的实现与MongoDB 7.0中引入的GA版本不兼容。可查询加密预览功能不再受支持。

有关可查询加密的更多信息,请参阅服务器手册中的可查询加密

客户端字段级加密(CSFLE)自MongoDB Server版本4.2引入,支持对加密字段进行等于性搜索。CSFLE与可查询加密的不同之处在于,您可以选择确定性或随机加密算法来加密字段。在CSFLE中,您只能查询使用确定性加密算法加密的加密字段。当您使用随机加密算法在CSFLE中加密字段时,它们可以解密,但您不能对这些字段执行等于性查询。当使用可查询加密时,您不能指定加密算法,但可以查询所有加密字段。

当您确定性地加密一个值时,相同的输入值会产生相同的输出值。虽然确定性加密允许您对那些加密字段执行查询,但低基数加密数据容易受到频率分析破解。

提示

有关CSFLE的更多信息,请参阅服务器手册中的CSFLE

返回

企业身份验证