静态加密

在本页面

静态加密与传输加密和保护相关帐户,密码和加密密钥的良好安全策略结合使用时,可以帮助确保符合 HIPAA,PCI-DSS 和 FERPA 等安全和隐私标准。

加密的存储引擎

3.2 版中的新功能。

Enterprise Feature

仅在 MongoDB Enterprise 中可用。

Important

仅适用于 WiredTiger 存储引擎。

MongoDB Enterprise 3.2 为 WiredTiger 存储引擎引入了本机加密选项。此功能允许 MongoDB 加密数据文件,以便只有具有解密密钥的各方才能解码和读取数据。

Encryption Process

如果启用了加密,则 MongoDB Enterprise 使用的默认加密模式是通过 OpenSSL 的AES256-CBC(或密码块链接模式下的 256 位高级加密标准)。 AES-256 使用对称密钥;即用于加密和解密文本的相同密钥。 MongoDB Enterprise 还支持经过身份验证的加密AES256-GCM(或 Galois/Counter 模式下的 256 位高级加密标准)。也可以使用 FIPS 模式加密。

Warning

如果您使用AES256-GCM认证的加密,请不要复制数据文件。 AES256-GCM要求每个进程都使用唯一的计数器块值和键。如果您使用复制的AES256-GCM加密数据文件启动第二个mongod实例,则mongod实例可能使用重复的计数器块值,从而使机密性和完整性保证无效。

数据加密过程包括:

加密在存储层中透明地进行;即,从文件系统的角度来看,所有数据文件都已完全加密,并且数据仅以未加密状态存在于内存中和传输过程中。

要加密 MongoDB 的所有网络流量,可以使用 TLS/SSL(传输层安全性/安全套接字层)。参见为 TLS/SSL 配置 mongod 和 mongosClient 端的 TLS/SSL 配置

Key Management

Important

加密密钥的安全 Management 至关重要。

数据库密钥在服务器内部,并且仅以加密格式分页到磁盘。在任何情况下,MongoDB 都不会将主密钥分页到磁盘。

只有主密钥在服务器外部(即,与数据和数据库密钥保持隔离),并且需要外部 Management。为了 Management 主密钥,MongoDB 的加密存储引擎支持两个密钥 Management 选项:

要配置 MongoDB 进行加密并使用两个密钥 Management 选项之一,请参阅Configure Encryption

加密和复制

加密不是复制的一部分:

尽管您可以为节点重用相同的密钥,但是 MongoDB 建议为每个节点使用单独的密钥以及使用传输加密。

有关详细信息,请参见旋转加密密钥

Logging

3.4 版中的新功能:仅在 MongoDB Enterprise 中可用

日志文件未作为 MongoDB 加密存储引擎的一部分进行加密。根据配置的log verbosity,以logging身份运行的mongod可能会将潜在敏感信息输出到日志文件,作为正常操作的一部分。

MongoDB 3.4 Enterprise 提供了security.redactClientLogData设置,以防止潜在的敏感信息进入mongod进程日志。 redactClientLogData会减少日志中的详细信息,并且可能会使日志诊断变得复杂。

有关更多信息,请参见log redaction手动 Importing。

应用程序级别加密

应用程序级别加密在应用程序层中按字段或按文档提供加密。要加密文档或字段级数据,请编写自定义加密和解密例程或使用商业解决方案。

有关 MongoDB 认证合作伙伴的列表,请参阅Partners List。要查看安全伙伴,请从“技术”过滤器中选择“安全”,然后从“认证”过滤器中选择“已认证”。

首页